Exponential-Golomb Coding
   HOME





Exponential-Golomb Coding
An exponential-Golomb code (or just Exp-Golomb code) is a type of universal code. To encode any nonnegative integer ''x'' using the exp-Golomb code: # Write down ''x''+1 in binary # Count the bits written, subtract one, and write that number of starting zero bits preceding the previous bit string. The first few values of the code are: 0 ⇒ 1 ⇒ 1 1 ⇒ 10 ⇒ 010 2 ⇒ 11 ⇒ 011 3 ⇒ 100 ⇒ 00100 4 ⇒ 101 ⇒ 00101 5 ⇒ 110 ⇒ 00110 6 ⇒ 111 ⇒ 00111 7 ⇒ 1000 ⇒ 0001000 8 ⇒ 1001 ⇒ 0001001 ... In the above examples, consider the case 3. For 3, x+1 = 3 + 1 = 4. 4 in binary is '100'. '100' has 3 bits, and 3-1 = 2. Hence add 2 zeros before '100', which is '00100' Similarly, consider 8. '8 + 1' in binary is '1001'. '1001' has 4 bits, and 4-1 is 3. Hence add 3 zeros before 1001, which is '0001001'. This is identical to the Elias gamma code of ''x''+1, allowing it to encode 0. Extension to negative numbers Exp-Golomb coding is used in the H.2 ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon]


Universal Code (data Compression)
In data compression, a universal code for integers is a prefix code that maps the positive integers onto binary codewords, with the additional property that whatever the true probability distribution on integers, as long as the distribution is monotonic (i.e., ''p''(''i'') ≥ ''p''(''i'' + 1) for all positive ''i''), the expected lengths of the codewords are within a constant factor of the expected lengths that the optimal code for that probability distribution would have assigned. A universal code is ''asymptotically optimal'' if the ratio between actual and optimal expected lengths is bounded by a function of the information entropy of the code that, in addition to being bounded, approaches 1 as entropy approaches infinity. In general, most prefix codes for integers assign longer codewords to larger integers. Such a code can be used to efficiently communicate a message drawn from a set of possible messages, by simply ordering the set of messages ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon]


picture info

Nonnegative Integer
In mathematics, the natural numbers are the numbers 0, 1, 2, 3, and so on, possibly excluding 0. Some start counting with 0, defining the natural numbers as the non-negative integers , while others start with 1, defining them as the positive integers Some authors acknowledge both definitions whenever convenient. Sometimes, the whole numbers are the natural numbers as well as zero. In other cases, the ''whole numbers'' refer to all of the integers, including negative integers. The counting numbers are another term for the natural numbers, particularly in primary education, and are ambiguous as well although typically start at 1. The natural numbers are used for counting things, like "there are ''six'' coins on the table", in which case they are called ''cardinal numbers''. They are also used to put things in order, like "this is the ''third'' largest city in the country", which are called ''ordinal numbers''. Natural numbers are also used as labels, like jersey numbers on a ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon]


Elias Gamma Code
Elias ( ; ) is the hellenized version for the name of Elijah (; ; , or ), a prophet in the Northern Kingdom of Israel in the 9th century BC, mentioned in several holy books. Due to Elias' role in the scriptures and to many later associated traditions, the name is used as a personal name in numerous languages. Variants * Éilias Irish * Elia Italian, English * Elias Norwegian * Elías Icelandic * Éliás Hungarian * Elías Spanish * Eliáš, Elijáš Czech * Elijah, Elia, Ilyas, Elias Indonesian * Elias, Eelis, Eljas Finnish * Elias Danish, German, Swedish * Elias Portuguese * Elias, Iliya () Persian * Elias, Elis Swedish * Elias, Elyas (ኤሊያስ) Ethiopian * Elias, Elyas Philippines * Eliasz Polish * Élie French * Elija Slovene * Elijah English, Hebrew * Elis Welsh * Elisedd Welsh * Eliya (එලියා) Sinhala * Eliyas (Ілияс) Kazakh * Eliyahu, Eliya (אֵלִיָּהוּ, אליה) Biblical Hebrew, Hebrew * Elyās, Ilyās, Eliya (, ) Arabic * Elliot, Ellio ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon]



MORE