ゴロム符号化は、 1960年代にソロモン・W・ゴロムによって発明されたデータ圧縮符号のファミリーを使用した可逆データ圧縮方式です。幾何分布に従うアルファベットは、最適な接頭符号としてゴロム符号を持ちます[ 1 ]。そのため、ゴロム符号化は、入力ストリームで小さな値が大きな値よりも出現する可能性が著しく高い状況に非常に適しています。
ライス符号化(ロバート・F・ライスによって考案)とは、ゴロム符号のサブセットを用いて、より単純な(ただし最適ではない可能性のある)接頭符号を生成することを指します。ライスはこの符号セットを適応符号化方式で使用しました。「ライス符号化」とは、その適応符号化方式、あるいはゴロム符号のサブセットの使用のいずれを指す場合もあります。ゴロム符号は任意の正の整数値をとることができる調整可能なパラメータを持ちますが、ライス符号は調整可能なパラメータが2のべき乗である符号です。これにより、ライス符号はコンピュータでの使用に便利になります。なぜなら、2による乗算と除算は、2進演算でより効率的に実装できるからです。
ライス氏がこのより単純な部分集合を提案した動機は、幾何分布は時間とともに変化したり、正確には分かっていなかったり、あるいはその両方である場合が多く、そのため一見最適に見えるコードを選択してもあまり有利ではない可能性があるという事実に基づいていた。
ライス符号化は、多くの可逆画像圧縮および音声データ圧縮方式において、エントロピー符号化段階として使用される。

ゴロム符号化では、調整可能なパラメータMを使用して入力値x を2 つの部分、つまりMによる除算結果qと余りrに分割します。商は単項符号化で送信され、その後に切り捨てバイナリ符号化で余りが送信されます。ゴロム符号化は単項符号化と同等である。
ゴロム・ライス符号は、ビンの位置( q ) とビン内のオフセット( r ) によって数値を表す符号と考えることができます。図の例は、ゴロム・ライス符号のパラメータM = 3を使用して整数xを符号化したときの位置qとオフセットrを示しており、ソース確率はp (0) = 0.2の幾何分布に従います。
形式的には、2つの部分は次の式で表されます。ここで、xはエンコードされる非負整数です。
そして

qとrはどちらも可変ビット数でエンコードされます。qは単項コード、rはライスコードの場合はbビット、ゴロムコードの場合はbビットとb +1ビットのいずれかを選択します(つまり、 Mは2のべき乗ではありません)。。 もしの場合、bビットを使用してr をエンコードします。そうでない場合は、b +1 ビットを使用してr をエンコードします。明らかに、Mが2のべき乗であり、rのすべての値をbビットでエンコードできる場合。
ゴロムが扱った整数x は、0 から始まる幾何分布を持つベルヌーイ過程の実行長です。パラメータMの最適な選択は、対応するベルヌーイ過程の関数であり、次のようにパラメータ化されます。与えられたベルヌーイ試行における成功確率。Mは分布の中央値、または中央値±1のいずれかである。これは以下の不等式によって決定できる。 これらは解決されます
p (0) = 0.2の例では、次のようになります。
この分布に対するゴロム符号は、無限個のソース値に対してハフマン符号を計算できる場合、同じ確率に対するハフマン符号と等価である。
ゴロムの方式は、非負の数のシーケンスを符号化するために設計されました。しかし、オーバーラップとインターリーブ方式を使用することで、負の数を含むシーケンスを受け入れるように簡単に拡張できます。この方式では、すべての値が一意かつ可逆的な方法で何らかの正の数に再割り当てされます。シーケンスは、0、-1、1、-2、2、-3、3、-4、4、 ...から始まります。n番目の負の値 (つまり、 ) はn番目の奇数 ( )にマッピングされます )、 m番目の正の値はm番目の偶数 ( )にマッピングされます。 ) これは数学的に次のように表現できます。正の値xは ()、負の値yは (このようなコードは、最適ではない場合でも、簡便性のために使用されることがあります。両側幾何分布に対する真に最適なコードには、分布パラメータに応じて、このコードを含むゴロムコードの複数のバリアントが含まれます。[ 2 ]
以下はライス・ゴロム符号化です。剰余符号には、単純な切り捨てバイナリ符号化(「ライス符号化」とも呼ばれます)が使用されます(剰余符号の統計分布が一様でない場合、特に除算後のすべての可能な剰余が使用されない場合には、算術符号化やハフマン符号化など、他の可変長バイナリ符号化も剰余符号に使用できます)。このアルゴリズムでは、Mパラメータが2のべき乗の場合、より単純なライス符号化と同等になります。
デコード:
M = 10と設定します。したがってカットオフは。
例えば、パラメータM = 10を使用した Rice–Golomb エンコーディングでは、10 進数 42 はまずq = 4 とr = 2 に分割され、qcode( q ),rcode( r ) = qcode(4),rcode(2) = 11110,010のようにエンコードされます( qコードの末尾の 0 でq が終了しrが始まることがわかるため、出力ストリームで区切り文字のカンマをエンコードする必要はありません。qcode と rcode はどちらも自己区切りです)。
2 つの記号からなるアルファベット、または確率がそれぞれpと ( 1 − p )である 2 つのイベントPとQのセットが与えられた場合、 p ≥ 1/2であれば、ゴロム符号化を使用して、単一のQで区切られた0 個以上のP 'の連続を符号化できます。このアプリケーションでは、パラメータMの最適な設定は、最も近い整数です。p = 1/2の場合、 M = 1 となり、ゴロム符号は単項符号 ( n ≥ 0 P ′ s の後にQが続く場合、n 個の1 の後に 1が続くものとして符号化される) に対応します。より単純な符号が必要な場合は、ゴロム・ライス パラメータb (すなわち、ゴロム パラメータ)を割り当てることができます。) に最も近い整数に常に最適なパラメータとは限らないものの、通常は最適なライスパラメータであり、その圧縮性能は最適なゴロム符号に非常に近い。(ライス自身は、どの符号が最適かを判断するために、同じデータに対してさまざまな符号を使用することを提案した。後にJPLの研究者が、符号パラメータを最適化または推定するためのさまざまな方法を提案した。[ 3 ])
Pが確率pを持つシーケンスをランレングス符号化するために、bビットのバイナリ部分を持つライスコードを使用することを検討します。ビットがkビット連続の一部となる確率(P s と 1 つのQ ) およびその実行時の圧縮率が である場合、期待される圧縮率は
圧縮はしばしば次のように表現される。圧縮された割合。ランレングス符号化方式では、圧縮率がエントロピーに近い値になる。例えば、ライス符号を用いるとのために収量圧縮率は91.89%ですが、エントロピー限界は91.92 %
整数の確率分布が不明な場合、ゴロム・ライスエンコーダの最適パラメータを決定することはできません。そのため、多くのアプリケーションでは2段階のアプローチが用いられます。まず、データブロックをスキャンして、データの確率密度関数(PDF)を推定します。次に、推定されたPDFからゴロム・ライスパラメータを決定します。このアプローチのより単純なバリエーションとして、PDFがパラメータ化されたファミリーに属すると仮定し、データからPDFパラメータを推定し、最適なゴロム・ライスパラメータを計算する方法があります。以下で説明するほとんどのアプリケーションでは、このアプローチが用いられています。
PDFが不明または変動する整数データを効率的にエンコードする別のアプローチとして、後方適応型エンコーダを使用する方法がある。RLGRエンコーダは、RLGR は、最後にエンコードされたシンボルに応じて Golomb–Rice パラメータを上下に調整する非常にシンプルなアルゴリズムを使用してこれを実現します。デコーダは同じルールに従ってエンコード パラメータの変動を追跡できるため、付加情報を送信する必要はなく、エンコードされたデータのみを送信すれば済みます。マルチメディア コーデックの予測誤差や変換係数など、データに見られる幅広い統計量をカバーする一般化ガウス PDF を仮定すると、RLGR エンコード アルゴリズムはこのようなアプリケーションで非常に優れた性能を発揮します。

多くの信号コーデックは、予測残差にライス符号を使用します。予測アルゴリズムでは、このような残差は両側幾何分布に従う傾向があり、小さな残差が大きな残差よりも頻繁に現れます。ライス符号は、ハフマン表を送信するオーバーヘッドなしに、このような分布に対してハフマン符号を近似します。幾何分布に一致しない信号の1つは正弦波です。これは、差分残差によって生成される正弦波信号が幾何分布を形成しないためです(最高値と最低値の残差は同様に高い頻度で出現し、中央値の正と負の残差のみがそれよりも低い頻度で出現します)。
Shorten [ 4 ] FLAC [ 5 ] Apple Lossless、MPEG-4 ALSなどのいくつかのロスレスオーディオコーデックは、線形予測ステップの後にライスコードを使用します(Apple Lossless では「適応型 FIR フィルタ」と呼ばれます)。ライス符号化は、ロスレス画像コーデックであるFELICSでも使用されています。
ゴロム・ライス符号化器は、ライスアルゴリズムに基づく可逆画像コーデックのエントロピー符号化段階で使用されます。そのような実験の一例として、図に示す圧縮率グラフがあります。
JPEG -LS方式は、予測残差を符号化するためにライス・ゴロム法を使用する。
上記で述べたRLGR適応型ゴロム・ライス符号化これは、Microsoft Remote Desktop ProtocolのRemoteFXコンポーネントにおいて、仮想マシン内の画面コンテンツをエンコードするために使用されます。また、最近制定されたG-PCC MPEG規格ISO/IEC 23090-9においても、点群属性の圧縮に使用されています。