Exponential-Golomb coding: Difference between revisions

Content deleted Content added
mNo edit summary
cites
Line 1:
{{Unreferenced|date=December 2009}}
An '''exponential-Golomb code''' (or just '''Exp-Golomb code''') of order ''k'' is a type of [[Universal code (data compression)|universal code]], parameterized by a [[nonnegative integer]] ''k''. To encode a nonnegative integer in an order-''k'' exp-Golomb code, one can use the following method:
# Take the number in binary except for the last ''k'' digits and add 1 to it (arithmetically). Write this down.
Line 15 ⟶ 14:
7 => 1000 => 0001000
8 => 1001 => 0001001
...<ref name="richardson"/>
...
 
Exp-Golomb coding for ''k''&nbsp;=&nbsp;0 is used in the [[H.264/MPEG-4 AVC]] video compression standard, in which there is also a variation for the coding of signed numbers by assigning the value 0 to the binary codeword '0' and assigning subsequent codewords to input values of increasing magnitude (and alternating sign, if the field can contain a negative number).<ref name="richardson">{{cite book|last=Richardson|first=Iain|title=The H.264 Advanced Video Compression Standard|year=2010|publisher=Wiley|isbn=978-0470516928|pages=208,221|url=http://books.google.com/books?id=LJoDiPnBzQ8C&lpg=PA208&dq=Exponential-Golomb%20coding&pg=PA221#v=onepage&q=Exponential-Golomb%20coding&f=false}}</ref>
 
Exp-Golomb coding is also used in the [[Dirac (video compression format)|Dirac video codec]].<ref>{{cite web|title=Dirac Specification|url=http://diracvideo.org/download/specification/dirac-spec-latest.pdf|publisher=BBC|accessdate=9 March 2011}}</ref>
 
The ''k''&nbsp;=&nbsp;0 exp-Golomb code is identical to the [[Elias gamma coding|Elias gamma code]] of the same number plus one.<ref>{{cite book|last=Rupp|first=Markus|title=Video and Multimedia Transmissions over Cellular Networks: Analysis, Modelling and Optimization in Live 3G Mobile Networks|year=2009|publisher=Wiley|pages=149|url=http://books.google.com/books?id=H9hUBT-JvUoC&lpg=PA149&dq=Exponential-Golomb%20coding&pg=PA149#v=onepage&q=Exponential-Golomb%20coding&f=false}}</ref> Thus it can encode zero, whereas Elias gamma can only encode numbers greater than zero.
 
Despite the similar name, exp-Golomb is only somewhat similar to [[Golomb coding]], which is a type of entropy coding but not a universal code.
Line 30 ⟶ 29:
*[[Elias omega coding]]
*[[Universal code (data compression)|Universal code]]
 
==References==
{{Reflist}}
 
{{Compression Methods}}