【手続補正書】
【提出日】平成17年5月25日(2005.5.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
下記を具備する、量子化された周波数表示されたデータであってゼロデータおよび非ゼロデータを具備するデータを符号化する方法：
ゼロデータの場合：
ゼロランレングス(ｎ)を決定する；
ゼロランレングスの関数としてゴロンブ(Golomb)パラメータを決定する、ゴロンブパラメータ(ｍ)は式ｍ＝［ｌｏｇ2ｎ］を用いて決定される；
前記ゼロランレングスおよび前記ゴロンブパラメータの関数として商（Ｑ）を符号化する；
前記ゼロランレングス、前記ゴロンブパラメータ、および前記商の関数として剰余(Ｒ）を符号化する；
および
前記符号化された商および符号化された剰余を連結する；
および非ゼロデータの場合：
前記ノンゼロデータおよび前記ノンゼロデータの符号の関数として前記ノンゼロデータを符号化する。
【請求項２】
前記商(Ｑ）は、式Ｑ＝｜ｎ／２m｜を用いて決定される、請求項１に記載の方法。
【請求項３】
前記剰余(Ｒ）は式Ｒ＝ｎ−２mＱを用いて決定される請求項１に記載の方法。
【請求項４】
前記ノンゼロデータの符号化は、式
【数１】
2004531995.tif 000001
（但し、ｘは符号化される前記ノンゼロデータの振幅である)用いてｙの値であるように決定される、請求項１に記載の方法。
【請求項５】
下記を具備する、量子化された周波数表示されたデータであって、ゼロデータと非ゼロデータを具備するデータを符号化するための装置：
ゼロデータの場合；
ゼロランレングス(ｎ)を決定する手段；
前記ゼロランレングスの関数としてゴロンブ(Golomb)パラメータ（ｍ）を決定する手段、前記ゴロンブパラメータ（ｍ）は、式ｍ＝［ｌｏｇ2ｎ］を用いて決定される；
前記ゼロランレングスおよび前記ゴロンブパラメータの関数として商（Ｑ）を符号化する手段；
前記ゼロランレングス、前記ゴロンブパラメータ、および前記商の関数として剰余(Ｒ）を符号化する手段；
および
前記符号化された商と符号化された剰余を連結する手段；
および非ゼロデータの場合：
前記非ゼロデータの値および前記非ゼロデータの符号の関数として前記非ゼロデータを符号化する手段。
【請求項６】
前記商(Ｑ）は、式Ｑ＝｜ｎ／２m｜を用いて決定される、請求項５に記載の装置。
【請求項７】
前記剰余（Ｒ）は、式Ｒ＝ｎ−２mＱを用いて決定される、請求項５に記載の装置。
【請求項８】
前記非ゼロデータの符号化は、式
【数２】
2004531995.tif 000002
（但し、ｘは前記符号化される非ゼロデータの振幅である)
を用いてｙの値であるように決定される、請求項５に記載の装置。
【請求項９】
前記ゼロランレングスおよび非ゼロランレングス振幅値およびそのような値が生じる対応する回数をカウントする手段をさらに具備する、請求項５に記載の装置。
【請求項１０】
下記を具備する、量子化された周波数表示されたデータであって、ゼロデータと非ゼロデータを具備するデータを符号化するための装置：
ゼロデータの場合；
ゼロランレングス(ｎ)を決定するように構成された第１決定器；
前記ゼロランレングスの関数としてゴロンブ(Golomb)パラメータ(ｍ)を決定するように構成された第２決定器、前記ゴロンブパラメータは、式ｍ＝［ｌｏｇ2ｎ］を用いて決定される；
前記ランレングスおよび前記ゴロンブパラメータの関数として商(Ｑ）を符号化するように構成され、および前記ゼロランレングス、前記ゴロンブパラメータおよび前記商の関数として剰余(Ｒ）を符号化するように構成され、非ゼロデータの場合、前記非ゼロデータと前記非ゼロデータの符号の値の関数として前記非ゼロデータを符号化するエンコーダ；
および
前記符号化された商および符号化された剰余を連結するように構成された連結器。
【請求項１１】
前記商(Ｑ）は、式Ｑ＝［ｎ／２m］を用いて決定される、請求項１０に記載の装置。
【請求項１２】
前記剰余は、式Ｒ＝ｎ−２mＱを用いて決定される、請求項１０に記載の装置。
【請求項１３】
前記非ゼロデータの符号化は、式
【数３】
2004531995.tif 000003
（但し、ｘは符号化される前記非ゼロデータの振幅である)を用いてｙの値であるように決定される、請求項１０に記載の装置。
【請求項１４】
前記ゼロランレングスおよび非ゼロ振幅値およびそのような値が生じる対応する回数をカウントするように構成されたカウンタをさらに具備する、請求項１０に記載の装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【発明の名称】ＧＯＬＯＭＢ−ＲＩＣＥコーディングを使用するＤＣＴ圧縮
【技術分野】
【０００１】
本発明は画像処理及び圧縮に関する。さらに具体的には、本発明はＧｏｌｏｍｂ−Ｒｉｃｅを使用するＤＣＴ係数のコーディングに関する。
【背景技術】
【０００２】
デジタル画像処理は、デジタル信号処理の一般的な学科において傑出した位置を占めている。人間の視覚の重要性はデジタル画像処理の技術と科学における強大な関心と進展を促してきた。フィルムまたは映画を映写するために使用される信号などのビデオ信号の送信と受信の分野では、画像圧縮技法に対して多様な改善が加えられている。最新の提案されているビデオシステムの多くはデジタル符号化技法を利用している。この分野の態様は画像データ圧縮、画像復元、及び画像特徴選択を含む。画像データ圧縮は、同時に一定の範囲内に歪みを維持する一方で、必要とされる帯域幅を最小限に抑えるために可能な限り少ないビットを利用し、効率的にデジタル通信チャネルの映像を送信しようとする試みを表している。画像復元はオブジェクトの真の画像を回復する努力を表している。通信チャネル上を送信されているデータ圧縮された画像は多様な要因によって歪められた可能性がある。劣化の原因はオブジェクトから画像を作成する際に最初に発生した可能性がある。特徴選択は映像の特定の属性を選択することを指す。このような属性はさらに広い文脈での認識、分類及び決定において必要とされる場合がある。
【０００３】
デジタル映画における符号化のようなビデオのデジタル符号化は、画像圧縮技法の改善から恩恵を受ける分野である。一般的には、デジタル画像圧縮は無損失方法と損失のある方法の２つのカテゴリに分類されてよい。無損失画像は、情報を損失せずに回復される。損失のある方法は、圧縮率、圧縮アルゴリズムの質、及びアルゴリズムの実施に応じてなんらかの情報の回復し難い損失を含んでいる。通常、損失のある圧縮アプローチは、費用効率が高いデジタル映画アプローチに所望される圧縮率を取得するために考えられている。デジタル映画品質レベルを達成するためには、圧縮アプローチは視覚的に無損失レベルの性能を実現する必要がある。したがって、圧縮プロセスの結果数学的な情報の損失はあったとしても、この損失により引き起こされる画像の歪みは、通常の表示条件下での視聴者にとっては感知不能でなければならない。
【０００４】
既存のデジタル画像圧縮技術は他の用途、つまりテレビシステムのために開発されてきた。このような技術は意図された用途に適切な設計上の譲歩を行ってきたが、映画の提示に必要とされる品質要件を満たしていない。
【０００５】
デジタル映画圧縮技術は、映画ファンが過去に経験した視覚的な品質を実現しなければならない。理想的にはデジタル映画の視角品質は、高品質の公開版フィルムの視角品質を上回ろうと試みる必要がある。同時に、圧縮技法は実際的であるために高いコーディング効率を有さなければならない。ここに定義されるように、コーディング効率は一定の定性的なレベルを満たすために圧縮された画像品質に必要とされるビット転送速度を指している。さらに、システム及びコーディング技法は様々なフォーマットに対処するために内蔵された柔軟性を備え、費用効率が高くなくてはならない。すなわち小型且つ効率的なデコーダまたはエンコーダプロセスである。
【０００６】
使用可能な多くの圧縮技法はかなりのレベルの圧縮を提供しているが、ビデオ信号の品質の劣化を生じさせる。通常、圧縮済みの情報を転送する技法は、圧縮済みの情報が一定のビット転送速度で転送されることを必要とする。
【０００７】
ビデオ信号にとって所望されるレベルの品質を保ちながらも、かなりのレベルの圧縮を提供することができるある圧縮技法は、符号化された離散コサイン変換（ＤＣＴ）係数データの適応自在にサイズ設定されるブロックとサブブロックを活用する。この技法はこれ以降、適応ブロックサイズ離散コサイン変換（ＡＢＳＤＣＴ）法と呼ばれるだろう。この技法は本発明の譲受人に与えられ、参照してここに組み込まれる「適応ブロックサイズ画像圧縮方法及びシステム（Adaptive Block Size Image Compression Method And System）」と題される米国特許第５，０２１，８９１号に開示されている。ＤＣＴ技法は、本発明の譲受人に与えられ、参照してここに組み込まれる「適応ブロックサイズ画像圧縮方法及びシステム（Adaptive Block Size Image Compression Method And System）」と題される米国特許第５，１０７，３４５号にも開示されている。さらに、ＡＢＳＤＣＴ技法を微分４分木変換（Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｑｕａｄｔｒｅｅ  Ｔｒａｎｓｆｏｒｍ）技法と組み合わせて使用することは、やはり本発明の譲受人に与えられ、参照してここに組み込まれる「適応ブロックサイズ画像圧縮方法及びシステム（Adaptive Block Size Image Compression Method And System）」と題される米国特許第５，４５２５，１０４号に説明されている。これらの特許に開示されているシステムは、画像データの各フレームが他のフレームのコンテンツに関係なく符号化される「フレーム内」符号化と呼ばれているものを活用している。ＡＢＳＤＣＴ技法を使用すると、達成可能なデータ転送速度は、画像品質に認識できる劣化を与えずに毎秒約１５億ビットから毎秒約５０００万ビットに削減できる。
【０００８】
ＡＢＳＤＣＴ技法は白黒画像またはカラー画像のどちらかを圧縮するために使用されてよい。カラー入力信号はＹＩＱフォーマットでよく、Ｙはルミナンス、つまり輝度のサンプルであり、ＩとＱは４：４：４ごと、つまり代わりのフォーマットのクロミナンス、つまりカラーサンプルである。ＹＵＶフォーマット、ＹＣｂＣｒフォーマットまたはＲＧＢフォーマットなどの他の既知のフォーマットも使用してよい。目の色に対する低い空間感度のために、大部分の研究は、水平方向と垂直方向における４という係数によるカラー成分のサブサンプルが妥当であることを示している。したがって、ビデオ信号は４つのルミナンス成分と２つのクロミナンス成分によって表現されてよい。
【０００９】
ＡＢＳＤＣＴを使用すると、ビデオ信号は、通常処理のためにピクセルのブロックに分割される。ブロックごとに、ルミナンス成分とクロミナンス成分がブロックインタリーバに渡される。画像サンプルを各１６×１６ブロックの中で並べる、あるいは編成し、離散コサイン変換（ＤＣＴ）分析のためのデータのブロックと複合サブブロックを生成するブロックインタリーバには、例えば１６×１６（ピクセル）ブロックが提示されてよい。ＤＣＴ演算子は時間と空間サンプリング信号を同信号の周波数表記に変換する１つの方法である。量子化装置は画像の周波数分布特性を利用するように設計できるため、周波数表記に変換することによって、ＤＣＴ技法は非常に高いレベルの圧縮に対処することが示されている。好適実施形態においては、１つの１６×１６ＤＣＴが第１の秩序化に適用され、４つの８×８ＤＣＴが第２の秩序化に適用され、１６の４×４ＤＣＴが第３の秩序化に適用され、６４の２×２ＤＣＴが第４の秩序化に適用される。
【００１０】
ＤＣＴ演算はビデオソースに固有の空間冗長性を削減する。ＤＣＴが実行された後、ビデオ信号エネルギーの大部分は数個のＤＣＴ係数に凝縮される傾向がある。追加の変換、つまり微分４分木変換（ＤＱＴ）は、ＤＣＴ係数の間の冗長性を削減するために使用してよい。
【００１１】
１６×１６のブロック及び各サブブロックについて、ＤＣＴ係数値と（ＤＱＴが使用されている場合）ＤＱＴ値が分析され、該ブロックまたはサブブロックを符号化するために必要とされるビット数を求める。次に、画像セグメントを表現するために、符号化するのに最も少ないビット数を必要とするブロックまたはサブブロックの組み合わせが選ばれる。画像セグメントを表現するためには、例えば２つの８×８サブブロック、６つの４×４サブブロック、および８つの２×２サブブロックが選ばれてよい。
【００１２】
次に選ばれたブロックまたはサブブロックの組み合わせは、１６×１６ブロックに整然と適切に配列される。それからＤＣＴ／ＤＱＴ係数値は、送信に備えて周波数加重、量子化、及び（可変長符号化などの）符号化を受けてよい。前述されたＡＢＳＤＣＴ技法は著しくうまくいくが、それは計算機的に集約的である。したがって、技法のコンパクトなハードウェアの実施は困難である可能性がある。
【００１３】
可変長符号化はランレングス及びサイズという形で達成されてきた。ジェイペグ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）（ＪＰＥＧ）またはエムペグ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）（ＭＰＥＧ−２）などの他の圧縮方法は、処理済みの全体のブロックサイズに優る標準的なジグザグ走査方法を使用する。しかしながら、ＡＢＳＤＣＴを使用すると、異なるブロックサイズが、データのブロックの中の平方偏差に基づいて生成される。ハフマン符号などのいくつかのコーディング方法は、非ゼロ係数が後に続くゼロのランから成り立っている。しかしながら、ハフマン符号は、ソース記号の確率が２の負の累乗であるときにより最適である。ただし、ランレングス／サイズの対の場合、記号の確率はめったに２の負の累乗にはならない。
【００１４】
さらに、ハフマンコーディングは事前に計算された符号語のコードブックを記憶することを必要とする。コードブックのサイズは法外に大きいことがある。また、最長のコードワードは法外に長い可能性がある。したがって、ランレングス／サイズ対記号にハフマンコーディングを使用することはまったく効率的ではない。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
圧縮を達成するために無損失で量子化されたＤＣＴ係数のランレングス及び振幅を符号化するための装置及び方法が説明されている。具体的には、量子化の後にＤＣＴ係数のゼロランと非ゼロ振幅の両方を符号化するためにＧｏｌｏｍｂ−Ｒｉｃｅコーディングが使用される。Ｇｏｌｏｍｂｏ−Ｒｉｃｅコーディングなどのデータの指数分布を利用する方法を使用すると、代わりの方式よりさらに高いコーディング効率が可能になることが判明している。
【課題を解決するための手段】
【００１６】
本発明は、離散コサイン変換係数データ及び品質ベースの量子化スケールファクタの適応自在にサイズ設定されるブロック及びサブブロックを活用する画像圧縮の品質ベースのシステム及び方法である。ピクセルデータのブロックがエンコーダに入力される。エンコーダは処理のためにピクセルの入力ブロックを分割するブロックサイズ割り当て（ｂｌｏｃｋ  ｓｉｚｅ  ａｓｓｉｇｎｍｅｎｔ）（ＢＳＡ）要素を備える。ブロックサイズ割り当ては、入力ブロック及び追加の細分化されたブロックの平方偏差に基づいている。一般的には、ブロックとサブブロックの平均値が異なる所定の範囲に該当するという条件で、より大きな平方偏差のある領域がより小さなブロックに細分化され、より小さな平方偏差のある領域は細分化されない。したがって、最初に、ブロックの平方偏差閾値がその平均値に応じてその名目値から修正されてから、ブロックの平方偏差が閾値と比較され、平方偏差が閾値より大きい場合にブロックは細分化される。
【００１７】
ブロックサイズ割り当ては、ピクセルデータを周波数ドメインデータに変換する変換要素に提供される。変換は、ブロックサイズ割り当てを通して選択されるブロックとサブブロック上だけで実行される。変換データは、次に量子化及びシリアライゼーションを通してスケーリングを受ける。変換データの量子化は、コントラスト、係数カウント、速度ひずみ、ブロックサイズ割り当ての密度、及び／または過去のスケールファクタに関して調整するスケールファクタなどの画像品質測定基準に基づいて量子化される。ジグザグ走査などのシリアライゼーションは、同値の考えられる最長のランレングスを生成することに基づいている。それから、データのストリームが伝送に備えて可変長コーダによってコーディングされる。Ｇｏｌｏｍｂ−Ｒｉｃｅ符号化などの指数分布に基づいたコーディングが活用される。具体的には、ゼロ表現データの場合、ゼロランレングスが求められる。ゴロンブパラメータはゼロランレングスの関数として求められる。商はゼロランレングスとゴロンブパラメータの関数として符号化される。剰余は、ゼロランレングス、ゴロンブパラメータ及び商の関数として符号化される。コーディングされた商とコーディングされた剰余は連結される。非ゼロ表現データの場合、非ゼロデータは、非ゼロデータ値と非ゼロデータ値の符号の関数として符号化される。符号化されたデータは伝送チャネルを通して、ピクセルデータが表示に備えて再構築されるデコーダに送信される。
【００１８】
したがって、推測的なコード生成を必要としないことが実施形態の１つの態様である。
【００１９】
記憶される広範囲なコードブックの使用を必要としないことが、実施形態の別の態様である。
【００２０】
ハードウェアインプリメンテーションに必要とされるサイズを縮小することが、実施形態の別の態様である。
【００２１】
高いコーディング効率を達成することが、実施形態の別の態様である。
【００２２】
ＤＣＴデータの指数分布を利用することが、実施形態の別の態様である。
【００２３】
本発明の特徴及び優位点は、類似した参照文字が完全に相応して識別する図面に関して解釈されるときに後述される詳細な説明からさらに明らかになるだろう。
【発明を実施するための最長の形態】
【００２４】
デジタル信号のデジタル伝送を容易にし、対応する利点を享受するためには、一般的にはなんらかの形式の信号圧縮を利用することが必要である。結果として生じる画像において高い圧縮を達成するためには、画像の高品質を維持することも重要である。さらに、多くの用途で重要であるコンパクトなハードウェア実施には計算機による効率が所望される。
【００２５】
本発明のある実施形態を詳細に説明する前に、本発明がその用途において以下の説明に述べられる、あるいは図面に描かれる構成要素の構造及び配置の詳細に制限されないことが理解されるべきである。本発明は他の実施形態も可能にし、多様な方法で実施される。また、ここに使用される表現及び用語は説明のためであり、制限的と見なされるべきではないことが理解される。
【００２６】
ある実施形態の１つの態様で利用される画像圧縮は、本発明の譲受人に与えられ、参照してここに組み込まれる１９９９年１１月８日に提出された出願番号第０９／４３６，０８５号、同時係属の米国特許出願「コントラスト感応平方偏差に基づく適応ブロックサイズＤＣＴ画像圧縮（Contrast Sensitive Variance Based Adaptive Block Size DCT Image Compression）」に開示されている技法などの離散コサイン変換（ＤＣＴ）技法に基づいている。ＤＣＴを活用する画像圧縮及び解凍システムは、本発明の譲受人に与えられ、参照してここに組み込まれる２０００年１月２８日に提出された出願番号第０９／４９４，１９２号、同時係属の米国特許出願「品質に基づく画像圧縮（Quality Based Image Compression）」に説明されている。一般的には、デジタルドメインで処理される画像は、サイズがＮ×Ｎの非重複ブロックのアレイに分割されるピクセルデータから構成される。二次元ＤＣＴは各ブロックで実行されてよい。二次元ＤＣＴは、以下の関係によって定義される。
【数４】
2004531995.tif 000004
【００２７】
式中、kが０なら、α（ｋ），β（ｋ）＝１であり、kが０でないならばα（ｋ）、β（ｋ）＝
【数５】
2004531995.tif 000005
【００２８】
であり、
ｘ（ｍ，ｎ）はＮ×Ｍブロックの中のロケーション（ｍ，ｎ）にあるピクセルであり、
Ｘ（ｋ，ｌ）は対応するＤＣＴ係数である。
【００２９】
ピクセル値は非負であるため、ＤＣＴ成分Ｘ（０，０）はつねに正であり、通常最も多くのエネルギーを有する。実際に、典型的な画像の場合、変換エネルギーの大部分は成分Ｘ（０，０）の回りに集中している。このエネルギー圧密特性が、ＤＣＴ技法をこのように魅力的な圧縮方法にするのである。
【００３０】
画像圧縮技法は、追加のビット転送速度削減を達成するためにコントラスト適応コーディングを活用する。大部分の天然の画像が相対的にゆっくりと変化する平坦な領域、及びオブジェクト境界及び高コントラストテクスチャなどのビジーな領域から構成されていることが観察されている。コントラスト適応コーディング方式は、ビジー領域にさらに多くのビットを、あまりビジーではない領域に少ないビットを割り当てることによってこのファクタを利用している。
【００３１】
コントラスト適応方法は、フレーム間コーディング（空間−時間処理）の代わりにフレーム内コーディング（空間処理）を活用する。フレーム間コーディングは、本質的に、より複雑な処理回路に加えて複数のフレームバッファを必要とする。多くの用途では実際の実施のために複雑さの削減が必要とされる。フレーム内コーディングは、空間−時間コーディング方式を失敗させ、成績を悪くすることがある状況でも有効である。機械的なシャッターのために積分時間が非常に短いため、例えば、毎秒２４コマの映画がこのカテゴリに該当する。短い積分時間は、時間エイリアシングのより高い度合いを可能にする。フレーム対フレーム相関の仮定が、それがガタガタ動くにつれて素早い動作のために破綻する。フレーム間コーディングは、５０Ｈｚと６０Ｈｚ両方の電力系統周波数が関係するときにも標準化するのがより容易である。現在、テレビは５０Ｈｚまたは６０Ｈｚのどちらかで信号を送信している。デジタルアプローチであるフレーム内方式を使用すると、５０Ｈｚと６０Ｈｚの両方の動作に、あるいはフレームレート対空間解像度を引き換えにすることによって毎秒２４コマの映画にも適応できるようになる。
【００３２】
画像処理のために、ＤＣＴ演算は、非重複ブロックのアレイに分割されるピクセルデータに対して実行される。ここではブロックサイズがサイズＮ×Ｎであると説明されているが、多様なブロックサイズが使用されてよいと想定されていることに注意する。例えば、ＮとＭの両方とも整数であり、ＭがＮより大きいか、Ｎ未満であるかのどちらかのＮ×Ｍブロックサイズを活用してよい。別の重要な態様とは、ブロックが、ｉとｊが整数であるＮ／ｉｘＮ／Ｉ、Ｎ／ｉｘＮ／ｊ、Ｎ／ｉｘＭ／ｊ等の少なくとも１つのレベルのサブブロックに分割可能であるという点である。さらに、ここで説明されているような例示的なブロックサイズは、ＤＣＴ係数の対応するブロックとサブブロックを含んだ１６×１６ピクセルブロックである。さらに、例えば９×９などの偶数整数値または奇数整数値の両方ともなどの他の整数が使用されてよいことが想定される。
【００３３】
図１と図２は、構成可能な並直列変換器の概念を組み込んだ画像処理システム１００を描いている。該画像処理システム１００は、受信したビデオ信号を圧縮するエンコーダ１０４を備える。圧縮された信号は伝送チャネルまたは物理媒体１０８を使用して送信され、デコーダ１１２によって受信される。デコーダ１１２は受信された符号化済みのデータを、次に示されてよい画像サンプルに復号する。
【００３４】
一般的には、１つの画像は処理のためにピクセルの複数のブロックに分割される。カラー信号は、Ｙがルミナンス、つまり輝度成分であり、Ｃ１とＣ２がクロミナンス、つまりカラー成分であるＲＧＢ／ＹＣ１Ｃ２変換器１１６を使用してＲＧＢ空間からＹＣ１Ｃ２空間に変換されてよい。目の色に対する低い空間感度のため、多くのシステムは水平方向と垂直方向で４という係数でＣ１成分とＣ２成分を二段抽出する（ｓｕｂ−ｓａｍｐｌｅ）。しかしながら、二段抽出は不必要である。４：４：４フォーマットとして知られている完全解像度画像は、「デジタル映画」をカバーすると呼ばれている用途などのいくつかの用途では非常に有効であるか、または必要であるかのどちらかである可能性がある。２つの考えられるＹＣ１Ｃ２表現はＹＩＱ表現とＹＵＶ表現であり、両方とも技術では周知である。ＹＣｂＣｒとして知られているＹＵＶ表現の変形物を利用することも可能である。これは、さらに奇数成分と偶数成分に分割されてよい。したがって、ある実施形態では、表現Ｙ偶数、Ｙ奇数、Ｃｂ偶数、Ｃｂ奇数、Ｃｒ偶数、Ｃｒ奇数が使用される。
【００３５】
好適実施形態において、偶数と奇数のＹ成分、Ｃｂ成分及びＣｒ成分のそれぞれは二段抽出を行わずに処理される。したがって、ピクセルの１６×１６ブロックの６個の成分のそれぞれの入力がエンコーダ１０４に提供される。説明の目的で、Ｙ偶数成分のためのエンコーダ１０４が描かれている。類似したエンコーダはＹ奇数成分、偶数Ｃｂ成分と奇数Ｃｂ成分、偶数Ｃｒ成分と奇数Ｃｒ成分に使用される。エンコーダ１０４は、ビデオ圧縮に備えてブロックサイズ割り当てを実行するブロックサイズ割り当て要素１２０を備える。ブロックサイズ割り当て要素１２０は、ブロックの中の画像の知覚による特性に基づき１６×１６ブロックのブロック分解を決定する。ブロックサイズ割り当ては、１６×１６ブロックの中の活動に応じて、それぞれの１６×１６ブロックを、４分木様式で８×８、４×４、及び２×２などのさらに小さなブロックに細分化する。ブロックサイズ割り当て要素１２０は、長さが１ビットと２１ビットの間であるＰＱＲデータと呼ばれる４分木データを生成する。したがって、ブロックサイズ割り当てが、１６×１６ブロックが分割されなければならないと判断すると、ＰＱＲデータのＲビットが設定され、４個の分割された８×８ブロックに対応するＱデータの４個の追加ビットが後に続く。ブロックサイズ割り当てが、８×８ブロックのどれかが細分化されなければならないと判断すると、８×８ブロックごとにＰデータの４個の追加ビットが追加される。
【００３６】
ここで図３を参照すると、ブロックサイズ割り当て要素１２０の演算の詳細を示すフロー図が示されている。ブロックの平方偏差は、ブロックを細分化するという決定における測定基準として使用される。ステップ１０２で開始し、ピクセルの１６×１６ブロックが読み取られる。ステップ２０４では、１６×１６ブロックの平方偏差ｖ１６が計算される。平方偏差は、以下のように計算され、
【数６】
2004531995.tif 000006
【００３７】
式中、Ｎ＝１６であり、ｘｉｊはＮ×Ｎブロックの中のｉ番目の行、ｊ番目の列の中のピクセルである。ステップ２０６では、ブロックの平均値が２個の所定の値の間にある場合、最初に平方偏差閾値Ｔ１６が修正され、新しい閾値Ｔ’１６を提供し、次にブロック平方偏差が新しい閾値Ｔ’１６と比較される。
【００３８】
平方偏差ｖ１６が閾値Ｔ１６以下の場合には、ステップ２０８で１６×１６ブロックの開始アドレスが一時記憶装置に書き込まれ、ＰＱＲデータのＲビットが０に設定され、１６×１６ブロックが細分化されていないことを示す。それからアルゴリズムは、次のピクセルの１６×１６のブロックを読み取る。平方偏差ｖ１６が閾値Ｔ１６より大きい場合には、ステップ２１０で、ＰＱＲデータのＲビットが１に設定され、１６×１６ブロックが４個の８×８ブロックに細分化されなければならないことを示す。
【００３９】
４個の８×８ブロック、ｉ＝１：４は、ステップ２１２に図示されるように、追加細分化のために連続して考えられる。８×８ブロックごとに、ステップ２１４で平方偏差ｖ８ｉが計算される。ステップ２１６では、ブロックの平均値が２個の所定の値の間にある場合、最初に平方偏差閾値Ｔ８が修正され、新しい閾値Ｔ’８を提供し、次にブロック平方偏差がこの新しい閾値に比較される。
【００４０】
平方偏差ｖ８ｉが閾値Ｔ８以下の場合には、ステップ２１８で８×８ブロックの開始アドレスが一時記憶に書き込まれ、対応するＱビット、Ｑｉが０に設定される。それから、次の８×８ブロックが処理される。平方偏差ｖ８ｉが閾値Ｔ８より大きい場合には、ステップ２２０で、対応するＱビットＱｉが１に設定され、８×８ブロックが４個の４×４ブロックに細分化されなければならないことを示す。
【００４１】
４個の４×４ブロック、ｊｉ＝１：４は、ステップ２２２に図示されるように、追加細分化のために連続して考えられる。４×４ブロックごとに、ステップ２４で平方偏差ｖ４ｉｊが計算される。ステップ２２６では、ブロックの平均値が２個の所定の値の間にある場合、最初に平方偏差閾値Ｔ４が修正され、新しい閾値Ｔ’４を提供し、次にブロック平方偏差がこの新しい閾値に比較される。
【００４２】
平方偏差ｖ４ｉｊが閾値Ｔ４以下の場合には、ステップ２２８で４×４ブロックのアドレスが書き込まれ、対応するＰビットＰｉｊが０に設定される。それから次の４×４ブロックが処理される。平方偏差ｖ４ｉｊが閾値Ｔ４より大きい場合には、ステップ２３０で対応するＰビットＰｉｊが一に設定され、４×４ブロックが２×２ブロックに細分化されなければならないことを示す。さらに、４個の２×２ブロックのアドレスが一時記憶装置に書き込まれる。
【００４３】
閾値Ｔ１６、Ｔ８及びＴ４は所定の定数であってよい。これは厳しい決断として知られている。代わりに、適応的意思決定または軟判定が実現されてよい。例えば、軟判定は、Ｎが８、４または２である場合に２Ｎ×２Ｎブロックの平均ピクセル値に応じて平方偏差のための閾値を変える。このようにして平均ピクセル値の関数は閾値として使用されてよい。
【００４４】
説明のために、以下の例を考える。Ｙ成分の所定の平均偏差閾値が、それぞれ１６×１６、８×８、４×４のブロックの場合５０、１１００及び８００であるとする。言い換えると、Ｔ１６＝５０、Ｔ８＝１００、及びＴ４＝８８０である。平均値の範囲を８０と１００とする。１６×１６ブロックの計算された平方偏差が６０であると仮定する。６０はＴ１６より大きく、平均値９０は８０と１００の間であるため、１６×１６ブロックは４個の８×８サブブロックに細分化される。８×８ブロックの計算された平方偏差が１１８０、９３５、９８０及び１２１０であると仮定する。８×８ブロックの内の２つはＴ８を上回る平方偏差を有しているため、これらの２個のブロックはさらに細分化され、合計８個の４×４サブブロックを生成する。最後に、８個の４×４ブロックの平方偏差が６２０、６３０、６７０、６１０、５９０、５２５、９３０及び６９０であり、対応する平均値が９０、１２０、１１０、１１５であると仮定する。最初の４×４ブロックの平均値が範囲（８０、１００）に該当するため、その閾値は８８０未満であるＴ’４＝２００に引き下げられる。したがって、７番目の４×４ブロックだけではなくこの４×４ブロックも細分化される。
【００４５】
ルミナンス成分Ｙ奇数とカラー成分Ｃｂ−ｅｖｅｎ、Ｃｂ−ｏｄｄ、Ｃｒ−ｅｖｅｎ及びＣｒ−ｏｄｄのブロックサイズを割り当てるために類似する手順が使用されることに注意する。カラー成分は水平に、垂直に、あるいは両方で間引きされ（ｄｅｃｉｍａｔｅｄ）てよい。
【００４６】
さらに、ブロックサイズ割り当ては、最大のブロック（この例では１６×１６）が最初に評価される下降型アプローチと説明されてきたが、ボトムアップアプローチを代わりに使用してよいことに注意する。ボトムアップアプローチは最初に最小のブロック（本発明では２×２）を評価するだろう。
【００４７】
図１を参照し直すと、選択されたブロックのアドレスとともにＰＱＲデータがＤＣＴ要素１２４に提供される。ＤＣＴ要素１２４は選択されたブロックで適切なサイズの離散コサイン変換を実行するためにＰＱＲデータを使用する。選択されたブロックだけがＤＣＴ処理を受ける必要がある。
【００４８】
画像処理システム１００は、ＤＣＴのＤＣ係数の間の冗長性を削減するためにＤＱＴ要素１２８も備える。ＤＣ係数には各ＤＣＴブロックの左上角で遭遇する。一般的には、ＤＣ係数はＡＣ係数に比較して大きい。サイズの不一致により、効率的な可変長コーダを設計するのが困難になる。したがって、ＤＣ係数の間で冗長性を削減することが有利である。
【００４９】
ＤＣＴ要素１２８は、一度に２×２取られるＤＣ係数で２−Ｄ  ＤＣＴを実行する。４×４ブロックの中の２×２ブロックで開始し、２−Ｄ  ＤＣＴが４つのＤＣ係数で実行される。この２×２  ＤＣＴが４つのＤＣ係数の微分４分木変換、つまりＤＱＴと呼ばれる。次に８×８ブロックの中の３つの隣接するＤＣ係数とともにＤＱＴのＤＣ係数が次のレベルのＤＱＴを計算するために使用される。最後に、１つの１６×１６ブロックの中の４個の８×８ブロックのＤＣ係数がＤＱＴを計算するために使用される。このようにして、１つの１６×１６のブロックでは、１個の真のＤＣ係数があり、残りはＤＣＴとＤＱＴに対応するＡＣ係数である。
【００５０】
変換係数（ＤＣＴとＤＱＴの両方）は、量子化のために量子化装置に提供される。好適実施形態においては、ＤＣＴ係数は周波数加重マスク（ｆｒｅｑｕｅｎｃｙ  ｗｅｉｇｈｔｉｎｇ  ｍａｓｋｓ）（ＦＷＭ）と量子化スケールファクタを使用して量子化される。ＦＷＭは入力ＤＣＴ係数のブロックと同じ寸法の周波数重みのテーブルである。周波数重みは様々な重みを様々なＤＣＴ係数に適用する。重みは、人間の視覚系または光学系がより敏感である周波数コンテンツを有する入力サンプルを強調し、視覚系または光学系がより敏感ではない周波数コンテンツを有するサンプルの重視をやめるように作られている。重みは、視距離などのファクタに基づいて設計されてもよい。
【００５１】
重みは実験によって得られるデータに基づいて選択される。８×８ＤＣＴ係数のための加重マスクを設計する方法は、参照してここに組み込まれるＩＳＯ／ＩＥＣ  ＪＴＣ１  ＣＤ  １０９８１「連続階調静止画像のデジタル圧縮及び符号化−第１部：要件及び指針（Digital compression and encoding of continuous-tone still images - part 1: Requirements and guidelines）」、国際標準化機構、１９９４に開示されている。一般的には、１つはルミナンス成分のため、１つはクロミナンス成分のための２つのＦＷＭが設計される。ブロックサイズ２×２、４×４のＦＷＭテーブルは間引き（ｄｅｃｉｍａｔｉｏｎ）によって取得され、１６×１６は８×８ブロックのための間引きの補間によって取得される。スケールファクタは量子化された係数の品質及びビット転送速度を制御する。
【００５２】
したがって、各ＤＣＴ係数は、以下の関係に従って量子化され、
【数７】
2004531995.tif 000007
【００５３】
式中、ＤＣＴ（ｉ，ｊ）は入力ＤＣＴ係数であり、ｆｗｍ（ｉ，ｊ）は周波数加重マスクであり、ｑはスケールファクタであり、ＤＣＴｑ（ｉ，ｊ）は量子化された係数である。ＤＣＴ係数の符号によっては、角括弧の内側の第１項が切り上げられる、または切り下げられることに注意する。ＤＱＴ係数は適切な加重マスクを使用しても量子化される。ただし、複数のテーブルまたはマスクを使用することができ、Ｙ成分、Ｃｂ成分及びＣｒ成分のそれぞれに適用できる。
【００５４】
次にピクセルデータのブロック及び周波数加重マスクは、量子化装置１３０、つまりスケールファクタ要素によって倍数をかけられる。ＤＣＴ係数の量子化は、それらの大多数を、圧縮を生じさせるゼロに削減する。好適実施形態においては、平均ビット転送速度に対応する３２のスケールファクタがある。ＭＰＥＧ２などの他の圧縮方法とは異なり、平均ビット転送速度は、ターゲットビット転送速度とバッファステータスの代わりに処理された画像の品質に基づいて制御される。
【００５５】
さらに圧縮を強化するために、量子化された係数が走査並直列変換器１３４に提供される。該並直列変換器１３４は量子化された係数のブロックを走査し、量子化された係数の直列化されたストリームを生成する。ジグザグ走査、列走査、または行走査が利用されてよい。ジグザグ以外の多くの異なったジグザグ走査パターンも選んでよい。好適技法はジグザグ走査に８×８ブロックサイズを利用する。量子化された係数のジグザグ走査はゼロ値の大きなランに遭遇する確率を高める。このゼロランは本質的に減少する確率を有し、ハフマンコードを使用して効率的に符号化されてよい。
【００５６】
直列化され、量子化された係数のストリームは可変長コーダ１３８に提供される。ランレングスコーダは、非ゼロ係数から、ゼロの間の量子化された係数を分離し、図６に関して詳細に説明される。ある実施形態においては、Ｇｏｌｏｍｂ−Ｒｉｃｅコーディングが活用される。Ｇｏｌｏｍｂ−Ｒｉｃｅ符号化は、指数分布のある非負整数をコーディングする際に効率的である。ゴロンブコードを使用することは、指数分布された変数にさらに短い長さの符号を提供するという点で圧縮により最適である。
【００５７】
ランレングスをゴロンブ符号化する際には、ゴロンブコードは非負整数ｍでパラメータ化される。例えば、パラメータｍを考慮すると、正の整数ｎのゴロンブコーディングは、剰余が２［ｌｏｇ２ｍ］−ｍ未満である場合には長さ［ｌｏｇ２ｍ］ビットであり、それ以外の場合長さ［ｌｏｇ２ｍ］ビットである修正されたバイナリコードによって表現される剰余が後に続く単項コードの中のｎ／ｍという商によって表現される。Ｇｏｌｏｍｂ−Ｒｉｃｅコーディングは、パラメータｍがｍ＝２ｋとして表現されるＧｏｌｏｍｂコーディングの特殊なケースである。このようなケースでは、ｎ／ｍの商は整数ｎのバイナリ表現をｋビット分右にシフトすることによって取得され、ｎ／ｍの剰余はｎの最小ｋビットで表現される。このようにして、Ｇｌｏｍｂ−Ｒｉｃｅコードは２つの連結である。Ｇｏｌｏｍｂ−Ｒｉｃｅコーディングは、以下によって示されるように、正の整数と負の整数の両方を２辺の幾何（指数）文法で符号化するために使用できる。
【数８】
2004531995.tif 000008
【００５８】
（１）では、αはｘの確率の減少を特徴付けるパラメータであり、ｃは正規化定数である。ｐα（ｘ）は単調であるため、整数値のシーケンスが以下を満たす必要があることが分かる。
【数９】
2004531995.tif 000009
【００５９】
図４ａ、図４ｂ、図４ｃ、及び図５ａ、図５ｂ、図５ｃに描かれているように、量子化されたＤＣＴ係数行列の中のゼロランと振幅の両方とも指数分布を有する。これらの図に描かれている分布は実像からのデータに基づいている。図４ａはゼロランレングス対相対周波数のＹ成分分布４００を描いている。同様に、図４ｂと図４ｃは、それぞれゼロランレングス対相対周波数４１０と４２０のＣｂ成分とＣｒ成分の分布を描いている。図５ａは振幅サイズ対相対周波数のＹ成分分布５００を描いている。同様に、図５ｂと図５ｃはそれぞれ振幅サイズ対相対周波数５１０と５２０のＣｂ成分とＣｒ成分の分布を描いている。図５ａ、図５ｂ及び図５ｃでは、プロットがＤＣＴ係数のサイズの分布を表現していることに注意する。各サイズは係数値の範囲を表現している。例えば、４というサイズ値は範囲｛−１５，−１４，…−８，８，…１４，１５｝、合計１６個の値を有している。同様に１０というサイズ値は、範囲｛−１０２３，−１０２２，…，−５１２，５１２，…１０２２，１０２３｝、合計１０２４の値を有している。図４ａ、図４ｂ、図４ｃ、図５ａ、図５ｂ、及び図５ｃから、ランレングスと振幅サイズの両方ともが指数分布を有していることが分かる。振幅の実際の分布は以下の等式（３）に適合するように示すことができる。
【数１０】
2004531995.tif 000010
【００６０】
（３）では、Ｘｋ，ｌは、それぞれ垂直面と水平面の周波数ｋとｌに対応するＤＣＴ係数、及び平均
【数１１】
2004531995.tif 000011
【００６１】
平方絵偏差
【数１２】
2004531995.tif 000012
【００６２】
を表している。したがって、説明されたようにＧｏｌｏｍｂ−Ｒｉｃｅコーディングを使用することはＤＣＴでデータを処理する上でより最適である。
【００６３】
以下は画像データの圧縮に関して説明されているが、実施形態は音声データを圧縮する実施形態に等しく適用できる。画像データを圧縮する際には、画像信号またはビデオ信号は、例えば、線形または対数符号化ピクセル値を含むＲＧＢ成分またはＹＩＱ成分、あるいはＹＵＶ成分あるいはＹ成分、Ｃｂ成分、Ｃｒ成分であってよい。
【００６４】
図６はゼロ係数及び非ゼロ係数を符号化するプロセス６００を描いている。ＤＣＴ行列が走査されるにつれて、ゼロ係数と非ゼロ係数は別々に処理され、分離される６０４。ゼロデータの場合、ゼロランの長さが求められる６０８。ランレングスは正の整数であることに注意する。例えば、ランレングスがｎであることが判明すると、ゴロンブパラメータｍが求められる６１２。ある実施形態においては、ゴロンブパラメータはランレングスの関数として求められる。別の実施形態においては、ゴロンブパラメータ（ｍ）は以下の等式（４）で求められる。
【数１３】
2004531995.tif 000013
【００６５】
任意に、ランレングスの長さと関連するゴロンブパラメータはカウンタまたはレジスタによってカウントされる６１６。ゼロのランレングスｎを符号化するためには、商が符号化される６２０。ある実施形態においては、商はゼロのランレングスとゴロンブパラメータの関数として求められる。別の実施形態においては、商（Ｑ）は以下の等式（５）によって求められる。
【数１４】
2004531995.tif 000014
【００６６】
ある実施形態においては、商ＱはＱ＋１ビットを必要とする単項コードで符号化される。次に剰余が符号化される６２４。ある実施形態においては、剰余はランレングスと商の関数として符号化される。別の実施形態においては、剰余（Ｒ）は以下の等式（６）を使用して求められる。
【数１５】
2004531995.tif 000015
【００６７】
ある実施形態においては、剰余Ｒはｍビットバイナリコードで符号化される。商Ｑと剰余Ｒが求められた後、ＱとＲのコードが連結され６２８、ゼロのランレングスｎの全体的なコードを表す。
【００６８】
非ゼロ係数もＧｏｌｏｍｂ−Ｒｉｃｅを使用して符号化される。係数振幅は正または負である場合があるため、符号ビットを使用し、指定された振幅の絶対値を符号化することが必要である。非ゼロ係数の振幅がｘであることを考慮すると、振幅は振幅と符号の絶対値の関数として表現されてよい。したがって、振幅は以下の等式（７）を使用してｙとして表現されてよい。
【数１６】
2004531995.tif 000016
【００６９】
したがって、非ゼロ係数の値は任意にカウンタまたはレジスタによってカウントされる６３２。次に、振幅がゼロ以上であるのかが判断される６３６。ゼロ以上である場合、値は指定された値の２倍として符号化される６４０。以上ではない場合、値は絶対値の２倍未満の値として符号化される６４４。他のマッピング方式も利用されてよいことが考慮される。カギは、値の符号を区別するための余分なビットが必要とされないという点である。
【００７０】
振幅を等式（７）によって表現されるように符号化すると、偶数の整数であるｘの正の値が生じ、負の値は奇数の整数になる。さらに、このマッピングは（２）におけるようにｘの確率割り当てを維持する。等式（７）で描かれているような符号化の優位点によって、人は符号ビットを使用して正の数と負の数を表現するのを回避できるようになる。マッピングが行われた後、ｙはゼロランについて行われたのと同様に符号化される。該手順は、すべての係数が現在のブロックの中で走査されるまで続行される。
【００７１】
本発明の実施形態は係数の値とランレングスを等式（１）〜（７）の関数として求めるが、正確な等式（１）〜（７）が使用される必要はないことを認識することは重要である。画像及び音声データのより効率的な圧縮を可能にするのは、Ｇｏｌｏｍｂ−Ｒｉｃｅ符号化及びＤＣＴ係数の指数分布を利用することである。
【００７２】
符号化の後のゼロランは非ゼロ振幅から区別できないため、第１のゼロランの発生を記すために固定長の特殊な接頭辞コードを使用することが必要になる場合がある。非ゼロ振幅に遭遇した後にブロックの中のすべてのゼロに遭遇することは普通である。このようなケースでは、Ｇｏｌｏｍｂ−Ｒｉｃｅコードよりむしろブロック終結（ＥＯＢ）コードを参照するコードを使用する方がより効率的である可能性がある。再び任意に、ＥＯＢコードは特殊固定長コードである。
【００７３】
等式（１）または（３）に従って、ＤＣＴ係数行列の中の振幅またはランレングスの確率分布はαまたはλによってパラメータ化される。特定のＤＣＴ係数ブロックが生じるコンテキストにおいて、コーディング効率は高められる可能性があるという意味合いである。その結果、所定の量を符号化するためのＧｏｌｏｍｂ−Ｒｉｃｅパラメータが使用されてよい。ある実施形態においては、カウンタまたはレジスタはそれぞれの累積値及びこのような値が発生する対応する回数を計算するためにランレングスと振幅サイズごとに使用される。例えば、累積値及び蓄積される要素数を記憶するためのレジスタがそれぞれＲｒｌとＮｒｌである場合、以下の等式（６）がランレングスを符号化するためにＲｉｃｅ−Ｇｏｌｏｍｂパラメータとして使用されてよい。
【数１７】
2004531995.tif 000017
【００７４】
類似した手順が振幅について使用されてよい。
【００７５】
図１を参照し直すと、エンコーダ１０４によって生成される圧縮された画像信号は一時的にバッファ１４２を使用して記憶され、次に伝送チャネル１０８を使用してデコーダ１１２に送信されてよい。伝送チャネル１０８は、磁気デバイスまたは光記憶デバイス、あるいはワイヤレス伝達プロセスまたは装置、あるいはワイヤレス伝達プロセスまたは装置などの物理的な媒体であってよい。ブロックサイズ割り当て情報を含むＰＱＲデータもデコーダ１１２に提供される（図２）。デコーダ１１２はバッファ１６４及びランレングス値及び非ゼロ値を復号する可変長デコーダ１６８を備える。可変長デコーダ１６８は、図６に説明される方法と類似するが反対の方法で動作する。
【００７６】
可変長デコーダ１６８の出力は、利用される走査方式に従って係数を並べる逆並直列変換器１７２に提供される。例えば、ジグザグ走査、垂直走査、及び水平走査の混合物が使用される場合、逆並直列変換器１７２は利用される走査の種別を知っていることで係数を適切に並べ替えるだろう。逆並直列変換器１７２はＰＱＲデータを受信し、係数の１つの複合係数ブロックへの適切な配列を補助する。
【００７７】
該複合ブロックは、量子化装置スケールファクタ及び周波数加重マスクの使用のための処理を元に戻すために、逆量子化装置１７４に提供される。
【００７８】
係数ブロックは次に、微分４分木変換が適用された場合には、ＩＤＣＴ要素１９０が後に続くＩＤＱＴ要素１８６に提供される。それ以外の場合、係数ブロックはＩＤＣＴ要素１９０に直接提供される。ＩＤＱＴ要素１８６とＩＤＣＴ要素１９０は係数を逆変換し、ピクセルデータのブロックを生成する。該ピクセルデータは次に補間され、ＲＧＢ形式に変換され、将来の表示のために記憶されなければならない。
【００７９】
図７は、Ｇｏｌｏｍｂ−Ｒｉｃｅ符号化７００用の装置を描いている。図７の装置は、好ましくは図６に関して説明されるようなプロセスを実現する。意思決定装置（ｄｅｔｅｒｍｉｎｅｒ）７０４はランレングス（ｎ）とゴロンブパラメータ（ｍ）を決定する。任意に、カウンタまたはレジスタ７０８が、それぞれの累積値及びこのような値が発生する対応する回数を計算するために、各ランレングスと振幅サイズ値ごとに使用される。エンコーダ７１２はランレングスとゴロンブパラメータの関数として商（Ｑ）を符号化する。また、エンコーダ７１２はランレングス、ゴロンブパラメータ及び商の関数として剰余（Ｒ）を符号化する。代替実施形態においては、エンコーダ７１２は非ゼロデータ値と非ゼロデータ値の符号の関数として非ゼロデータも符号化する。連結装置（ｃｏｎｃａｔｅｎａｔｏｒ）７１６は、Ｑ値とＲ値を連結するために使用される。
【００８０】
例として、ここに開示されている実施形態に関連して説明された多様な例示的な論理ブロック、フローチャート及びステップが、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックデバイス、離散ゲートまたはトランジスタロジック、例えばレジスタとＦＩＦＯなどの離散ハードウェア構成要素、一式のファームウェア命令として実行するプロセッサ、任意の従来のプログラム可能ソフトウェア、及びプロセッサ、あるいはその組み合わせをもって、ハードウェアまたはソフトウェアの中で実現または実行されてよい。プロセッサは、有利にはマイクロプロセッサであってよいが、代替例ではプロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってよい。ソフトウェアはＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、レジスタ、ハードディスク、取り外し可能ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、または技術で既知である任意の他の形の記憶媒体に常駐する場合がある。
【００８１】
好適実施形態の前記説明は、当業者が本発明を作るあるいは使用できるようにするために提供される。これらの実施形態に対する多様な変型は、容易に当業者に明らかになり、ここに定義される一般的な原則は本発明の機能を使用しなくとも他の実施形態に適用されてよい。したがって、本発明はここに示されている実施形態に制限されるのではなく、ここに開示されている原則及び新規特徴と一貫する最も広い範囲を与えられることを目的とする。
【００８２】
本発明の他の特徴及び優位点は以下のクレームに述べられる。
【図面の簡単な説明】
【００８３】
【図１】図１は、画像圧縮及び処理システムのエンコーダ部分のブロック図である。
【図２】図２は、画像圧縮及び処理システムのデコーダ部分のブロック図である。
【図３】図３は、平方偏差に基づいたブロックサイズ割り当てで必要とされる処理工程を描くフロー図である。
【図４Ａ】図４Ａは、ＤＣＴ係数行列の中のゼロランレングスのＹ成分の指数分布を描く。
【図４Ｂ】図４Ｂは、ＤＣＴ係数行列の中のゼロランレングスのＣｂ成分の指数分布を描く。
【図４Ｃ】図４Ｃは、ＤＣＴ係数行列の中のゼロランレングスのＣｒ成分の指数分布を描く。
【図５Ａ】図５Ａは、ＤＣＴ係数行列の中の振幅サイズのＹ成分の指数分布を描く。
【図５Ｂ】図５Ｂは、ＤＣＴ係数行列の中の振幅サイズのＣｂ成分の指数分布を描く。
【図５Ｃ】図５Ｃは、ＤＣＴ係数行列の中の振幅サイズのＣｒ成分の指数分布を描く。
【図６】図６は、Ｇｏｌｏｍｂ−Ｒｉｃｅ符号化プロセスを描く。
【図７】図７は、Ｇｏｌｏｍｂ−Ｒｉｃｅ符号化の装置を描く。