| Elias Omega Coding |
Article Index for Elias |
Shopping Coding |
Website Links For Elias |
Information AboutElias Omega Coding |
| CATEGORIES ABOUT ELIAS OMEGA CODING | |
| numeration | |
| lossless compression algorithms | |
|
To code a Number : #Put a 'group' of "0" at the end of the representation. #If the number to be encoded is 1, stop; if not, add the Binary representation of the number as a 'group' to the beginning of the representation. #Repeat the previous step, with the number of digits just written, minus 1, as the new number to be encoded. The code begins: 1 0 2 10 0 3 11 0 4 10 100 0 5 10 101 0 6 10 110 0 7 10 111 0 8 11 1000 0 9 11 1001 0 10 11 1010 0 11 11 1011 0 12 11 1100 0 13 11 1101 0 14 11 1110 0 15 11 1111 0 16 10 100 10000 0 17 10 100 10001 0 To decode an Elias omega-coded integer: #Start with a variable ''N'', set to a value of 1. #Read the first 'group', which will either be a single "0", or a "1" followed by ''N'' more digits. If it is a "0", it means the value of the integer is 1; if it starts with a "1", then ''N'' becomes the value of the group interpreted as a binary number. #Read each successive group; it will either be a single "0", or a "1" followed by ''N'' more digits. If it is a "0", it means the value of the integer is ''N''; if it starts with a "1", then ''N'' becomes the value of the group interpreted as a binary number. Omega coding is used in applications where the largest encoded value is not known ahead of time, or to Compress data in which small values are much more frequent than large values. SEE ALSO |
|
|