(57)【特許請求の範囲】
【請求項１】
画像を表す画素データを処理するためのデジタル信号処理システムにおいて、
前記画像を表す画素データを処理してＤＰＣＭ予測誤差値を生成する第１プロセッサと、
負の予測誤差値にバイアス値を加算して正の再バイアスされた予測誤差値を生成する第２プロセッサと、前記バイアス値は画素ブロックの最大画素値と最小画素値との間の差に基づいて生成されるものであり、
前記正の再びバイアスされた予測誤差値および前記バイアスされない予測誤差値を量子化して、量子化レベル符号語の共通の組を前記正の再びバイアスされた予測誤差値および前記バイアスされない予測誤差値の両方に割り当てることにより量子化されたデータを生成する量子化器と
を含む装置。
【発明の詳細な説明】
本発明は、デジタルビデオプロセッサに関する。具体的に言うと、本発明は、デジタルビデオプロセッサのメモリ要件（ｒｅｑｕｉｒｅｍｅｎｔｓ）を削減するための画像圧縮の方法および装置に関する。
メモリの効率的な使用は、イメージプロセッサの設計と動作に重要である。たとえば、テレビジョンシステムなどの消費者向け製品は、ＭＰＥＧ−２信号処理を含むイメージプロセッサを使用する場合がある。ＭＰＥＧ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）信号圧縮規格（ＩＳＯ／ＩＥＣ１３１８１−２、１９９４年５月１０日）は、広く受け入れられている画像処理規格であり、画像処理の中でも特に高精細度テレビジョン（ＨＤＴＶ）処理を使用する衛星放送、ケーブル放送および地上波放送のシステムと共に使用するために特に魅力的である。高精細度ディスプレイを使用する製品は、復号されたＭＰＥＧフレームを表示の前に一時的に記憶するために、９６Ｍビット以上のメモリを必要とすることがある。ＭＰＥＧプロセッサは、表示用の正確な画像を再構成するために、動き推定および動き補償のためにこれらのフレームを必要とする。
ＭＰＥＧ符号化された画素から画像を再構成するシステムは、通常は、差分パルスコード変調（Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｕｌｓｅ  Ｃｏｄｅｄ  Ｍｏｄｕｌａｔｉｏｎ、ＤＰＣＭ）を使用する。ＤＰＣＭの場合、プロセッサが、次の画素値を予想する予測値を作る。合計ネットワーク（ｓｕｍｍａｔｉｏｎ  ｎｅｔｗｏｒｋ）が、実際の画素値から予測を減算して、現画素値の表現ならびに次の画素値の予想に使用される差分をもたらす。この差分は、予測誤差（ｐｒｅｄｉｃｔｉｏｎ  ｅｒｒｏｒ）と称し、一般に、元の画素値または予測値より小さいので、元の画素値ではなく差分を処理することによって、システム帯域幅要件が軽減される。予測誤差は、正の値または負の値を有することがある。アング（Ａｎｇ）他著、「Ｖｉｄｅｏ  Ｃｏｍｐｒｅｓｓｉｏｎ  Ｍａｋｅｓ  Ｂｉｇ  Ｇａｉｎｓ」、ＩＥＥＥ  Ｓｐｅｃｔｒｕｍ、１９９１年１０月に、ＤＰＣＭ処理を使用するＭＰＥＧエンコーダおよびデコーダが全般的に記載されている。
メモリ効率のよいイメージプロセッサは、記憶の前にブロックデータを再符号化（再圧縮）することによって、より少ないメモリを使用して画像フレームを記憶する。空間領域では、画像フレームの記憶に使用される画素あたりビット数を減らすと、画素を元のビットサイズに正確に再構成できない場合に、画質に悪影響がおよぶ。特に画像の滑らかな区域に、アーチファクト（ａｒｔｉｆａｃｔｓ）が発生することがある。メモリ削減イメージプロセッサは、できる限り効率的かつ経済的に、ＭＰＥＧ復号された信号を正確に量子化し、逆量子化（ｄｅｑｕａｎｔｉｚｅ）しなければならない。ルミナンス・データとクロミナンス・データを違う形で処理することによって、人間の光学的生理機能を利用することが既知である。データのエネルギならびに人間の目が見ることのできるものを考慮に入れた各種のデータの圧縮法則の最適化が、米国特許第４，５７５，７４９号明細書に記載されている。米国特許第４，５７５，７４９号明細書では、伝送の前のテレビジョン信号の雑音を減らすための振幅圧縮が開示されている。
本発明者は、メモリを節約し、プロセッサの物理的サイズを減らすと同時に、再構成されたデータに導入されるアーチファクトを最小にする、最小限のハードウェアおよびソフトウェアを使用する効率的なデータ削減システムを提供することが望ましいことを理解している。
本発明の原理によれば、イメージプロセッサは、量子化されるＤＰＣＭ予測誤差値を作る。量子化の前に、プロセッサは、予測誤差が正負のどちらであるかを判定する。予測誤差値が正の場合、その値は無変更で量子化器に渡される。予測誤差値が負の場合、予測誤差値にバイアス値を加えて、量子化器の範囲内の正の数を作る。バイアスされた予測誤差値とバイアスされない予測誤差値が、量子化器に渡される。量子化器が受け取る値のすべてが、正であり、現在の量子化器の限界内にあるので、量子化器が使用する量子化テーブルに、負の予測誤差値のための量子化値を含める必要はない。これによって、予測誤差値の範囲が半分に減り、量子化分解能が２倍になる。
【図面の簡単な説明】
図１は、本発明によるシステムを含む画素ブロックプロセッサのブロック図である。
図２は、図１のシステムの圧縮部分の詳細を示す図である。
図３は、本発明に従うシステムによる使用に適したパケット化されたデータフォーマットを示す図である。
図４は、図１のシステムの圧縮解除部分の詳細を示す図である。
図５Ａは、図２の量子化マッパの詳細を示す図である。
図５Ｂは、図５Ａの選択ブロックの真理値表である。
図６Ａは、量子化テーブル再構成レベルに関する予測誤差値の正負の特性を示す図である。
図６Ｂは、本発明による３ビット量子化／逆量子化テーブルを示す図である。
図６Ｃは、本発明による４ビット量子化／逆量子化テーブルを示す図である。
図７は、本発明による量子化／逆量子化テーブルの設計とそのテーブルを使用するデータの処理の流れ図である。
図８は、本発明を使用するＭＰＥＧ互換テレビジョンシステムのブロック図である。
本発明の実施例では、テレビジョン受信機に、ＭＰＥＧデコーダが含まれる。データ削減ネットワークが、８×８画像ブロックを表す復号され圧縮解除されたＭＰＥＧ信号を、フレームメモリへの記憶の前に量子化し、画像表示のために必要になった時には画像ブロックを再構成する。表示装置は、フレームメモリから導出された画像情報を表示する。
データ削減ネットワークを介してデータの一貫性を維持するために、このネットワークは、画素ブロックを走査し、画像画素値の範囲を判定する。このネットワークは、実際の範囲と所定の範囲の組の間の最適一致を実行する。選択された所定の範囲を使用して、ネットワークは、所定の範囲の正の領域から導出された量子化レベルを含む量子化テーブルにアクセスする。量子化テーブルは、上で述べたようにＤＰＣＭ値を量子化するのに十分な範囲を有する。この例の場合、上で述べたバイアス値は、選択された所定の範囲になる。選択された所定の範囲は、一般に、そのシステムで可能な最大の画素値（８ビットの場合は２５６）より小さいので、また、量子化テーブル（および対応する逆量子化テーブル）には正の値だけが含まれるので、量子化分解能が２倍になる。所与の画素ブロックについて最小の所定の範囲が適当である場合には、量子化分解能を３２倍高めることが可能である。
図１では、たとえばＭＰＥＧデコーダ（図示せず）であるデコーダが、圧縮ユニット１２の入力１０にＭＰＥＧ復号された画素データのブロックを供給する。圧縮ユニット１２には、プレディクタ（ｐｒｅｄｉｃｔｏｒ）１８、量子化器（ｑｕａｎｔｉｚｅｒ）２０およびコンバイナ（ｃｏｍｂｉｎｅｒ）２２が含まれる。プレディクタ１８は、周知の原理を使用し、たとえばジェイン（Ｊａｉｎ，Ａ．，）著「Ｆｕｎｄａｍｅｎｔａｌｓ  ｏｆ  Ｄｉｇｉｔａｌ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ」、Ｐｒｅｎｔｉｃｅ−Ｈａｌｌ，Ｉｎｃ．，刊、第４８４ページ、（１９８９年）に記載された種類のものとすることができる。
量子化器２０は、データを減らされた画素ブロックをメモリ１４に供給する。ディスプレイプロセッサ（図示せず）が、画像を表示するために、メモリ１４内の減らされたデータブロックにアクセスする時には、圧縮解除ユニット１６が、元のデータブロックを再構成する。圧縮解除ユニット１６には、メモリ１４から減らされたデータを取り出し、減らされたデータブロックを再構成するために、プレディクタ２４と逆量子化器（ｄｅｑｕａｎｔｉｚｅｒ）２６が含まれる。量子化器２０と逆量子化器２６は、以下で説明する本発明の原理に従って配置される。プレディクタ２４は、プレディクタ１８に類似する。
圧縮ユニット１２の入力１０は、ＭＰＥＧデコーダから画素ブロックを受け取る。これは図８に関連して説明する。この画素ブロックは空間領域内にあり、たとえば画像画素の８×８ブロックを含む。入力１０は、画素ブロックデータをコンバイナ２２の非反転入力と量子化器２０に供給する。プレディクタ１８は、画素予測データをコンバイナ２２の反転入力と量子化器２０に供給する。コンバイナ２２は、反転入力と非反転入力からの信号を組み合わせ、差分を量子化器２０に供給する。量子化器２０は、量子化された画素値をプレディクタ１８に出力し、量子化された画素差分値を記憶のためにメモリ１４に出力する。
図２に、量子化器２０を詳細に示す。同一の符号は、図１と図２に共通する要素を示す。具体的に言うと、量子化器２０には、予測誤差プロセッサ２７、量子化マッパ２８、符号化コントローラ２９、最小最大範囲プロセッサ（ＭＭＲＰ）３０、第１画素プロセッサ３１およびマルチプレクサ３２が含まれる。入力１０は、ブロック画素データをＭＭＲＰ３０に供給し、ＭＭＲＰ３０は、画素ブロックを走査し、最小画素値、最大画素値およびその範囲を判定する。ＭＭＲＰ３０では、最大値から最小値を引き、１を加えた値として実際の範囲が定義されている。ＭＭＲＰ３０は、実際の範囲の関数として所定の範囲の組から所定の範囲を１つ選択し、ネットワーク内での後続の使用のために、選択された所定の範囲を実際の範囲と交換する。ＭＭＲＰ３０は、最大、最小および所定の範囲のブロックパラメータ値を圧縮し、マルチプレクサ３２に転送する。
最小画素値および範囲は、第１画素プロセッサ３１にも転送され、範囲は、下で述べるように予測誤差プロセッサ２７に転送される。予測誤差プロセッサ２７は、コンバイナ２２から予測誤差データを受け取り、選択された所定の範囲を用いて負の値にバイアスをかける。量子化マッパ２８は、バイアスされた予測誤差とバイアスなしの、すなわちバイアスされない予測誤差値を予測誤差プロセッサ２７から受け取る。これらの値は、量子化され、マルチプレクサ３２に送られる。また、量子化マッパ２８は、量子化された予測誤差値をプレディクタ１８に送り、プレディクタ１８は、この値を使用して予測データを計算する。マルチプレクサ３２は、ブロックパラメータと量子化されたデータを、後で説明するタイミングと制御の下でメモリ１４に送る。このブロックパラメータは、オーバーヘッドデータを表し、メモリ１４内で量子化された画素ブロックに関連するパラメータフィールド内に記憶される。このパラメータフィールドと量子化されたデータが一緒になって、適当な逆量子化テーブルにアクセスし、画素ブロックを再構成するために逆量子化マッパ３６が必要とする情報のすべてを統合したパケットを形成する。符号化コントローラ２９は、ブロックパラメータおよび圧縮データの転送ならびに、後で説明するように、個々の画素ブロックの量子化テーブルの選択を監視する。
第１画素プロセッサ３１は、入力１０から画素ブロックを受け取り、所定の基準画素値を識別する。ＭＭＲＰ３０から受け取るブロックの最小画素値が、他のブロック画素から独立した基準画素の比較を容易にする。圧縮された基準画素は、逆量子化器２６が無損失または無損失に近い形で元の値を再構成するのに十分なビットによって表現される。第１画素プロセッサ３１は、圧縮された基準画素値をブロックパラメータとしてマルチプレクサ３２に渡し、マルチプレクサ３２は、基準画素値を含むブロックパラメータと量子化されたデータをメモリ１４に転送する。逆量子化器２６は、画素再構成中に、量子化されたブロック画素の予測値として、基準画素を使用する。圧縮解除中に予測ネットワークで使用される最初の値（基準画素値）が独立なので、所与の画素ブロックを、他の画素ブロックからの情報なしで圧縮解除することができる。この値は、正確でもあり、これによって、再構成されたデータから伝播する予測誤差データが除去される。
基準画素は、圧縮値を導出するためのプレディクタとして画素ブロックの最小値を使用して圧縮される。最小値が、基準値から減算され、その差が、２で除算される。その結果は、ブロックの画素値の範囲の２進表現に必要なビット数より１ビット少ないビット数を用いてメモリ１４に記憶される。この範囲によって、圧縮された基準画素値の記憶に使用されるビット数が定義される。というのは、画素ブロック内の他の値のプレディクタとしてブロック画素値を使用する時に、基準画素値と最小画素値などの２つのブロック画素値の間の差が、その範囲の領域内に含まれるからである。この範囲の領域は、０から範囲値−１までである。圧縮された基準値では、範囲の表現に必要なビット数より１ビット少ないビット数が使用される。というのは、この差が２で除算され、これによって２進表現に必要なビット数が１ビット減るからである。
量子化器２０は量子化テーブルにアクセスし、逆量子化器２６は逆量子化テーブルにアクセスするが、これらのテーブルは、各ブロックに対して最適化される。量子化テーブルおよび逆量子化テーブルには、画素ブロックの近似範囲に基づく値が含まれる。この範囲は、そのブロックの最大画素値と最小画素値の間の差である。ＭＭＲ量子化器３０は、入力データブロックを受け取り、走査して、最小画素値と最大画素値を判定する。その後、量子化器２０は、最大値から最小値を減算し、１を加算し（最大−最小＋１）その画素ブロックの範囲を計算する。
量子化器２０は、計算された範囲を所定の範囲の組（少なくとも１つが計算された範囲以上である）と比較し、所定の範囲を１つ選択し、選択された所定の範囲から導出される量子化テーブルにアクセスする。所定の範囲は、組の中で、実際の計算された範囲以上で最も小さい値の所定の範囲を識別する最適一致分析によって選択される。量子化テーブルと逆量子化テーブルは、選択された所定の範囲の領域に含まれる値を含み、したがって実際の範囲全体の値を含むようにカスタマイズされる。量子化器２０は、ＤＰＣＭ処理を使用し、予測誤差である差分値を作る。これらの予測誤差は、プレディクタ１８に供給される画素値が、プレディクタ１８が現在予測値を生成している画素と同一の画素ブロックから来るものである場合に、実際の範囲の領域内にある。圧縮ユニット１２は、このパラメータに従い、これを維持する。実際の範囲は、しばしば、２５６（８ビット画素値の最大値）よりかなり小さく、この範囲から導出されるテーブルレベルは、２５６から導出されるテーブルレベルよりよい分解能をもたらす。というのは、選択された所定の範囲が、一般に、値において実際の範囲に近いからである。したがって、システムの精度および効率は、範囲に合わせてテーブルレベルをカスタマイズすることによって向上する。
入力ブロックデータを再構成するために、逆量子化器２６は、量子化器２０が、その画素ブロックを量子化する時に使用した量子化テーブルのアクセスに使用された所定の範囲を知らなければならない。範囲および他の画素ブロックパラメータの表現（ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ）は、量子化された画素ブロックと共にメモリ１４のパラメータフィールドに記憶される。量子化された画素ブロックと共にメモリ１４にブロックパラメータ表現を記憶することによって、圧縮解除ユニット１６が、正しい逆量子化テーブルにアクセスでき、画素ブロックを効率的かつ正確に再構成できるようになる。パラメータフィールドに含まれる他の画素ブロックパラメータは、たとえば、最小画素ブロック値や基準画素ブロック値とすることができる。図３に、パラメータフィールドと圧縮データの可能な構成の１つを示す。パラメータフィールドは、図３の破線に囲まれたブロックパラメータからなる。この実施例では、パラメータフィールドが、圧縮データペイロードを含むデータパケットのヘッダとして配置されている。
表示される画像を大きく劣化させずにフレームメモリの削減を最大にするために、パラメータフィールド内のブロックパラメータによって表現されるオーバーヘッド情報が、メモリ１４に記憶される。パラメータフィールドの記憶に使用されるビットのそれぞれが、量子化された画素の記憶に使用できるメモリを減らす。したがって、ブロックパラメータのうちの２つすなわち、範囲と最小値を記憶するのに必要なビット数が、ほとんどの場合にパラメータごとに８ビットから３ビットに減らされる。この処理は、下記の形で動作する。
実際の範囲は、最適一致を判定するために所定の範囲の組と比較される。この所定の範囲は、その後に処理される画素ブロックの範囲を表すのに使用される値になる。所定の範囲は、画素ブロック内のすべての画素値が表現されることを保証するために、実際の範囲より大きい。所定の範囲の組には、１６、３２、６４、９６、１２８、１９２および２５６の７つの値が含まれる。この組は、量子化器２０と逆量子化器２６の両方から使用できるので、所定の範囲は、１つのインデックス値によってパラメータフィールド内で表現することができる。表現すべき所定の範囲は７つだけなので、インデックスは、２進表現に３ビットだけを必要とする。
このシステムは、最小画素値を同様の形で扱う。７つの所定の範囲のうちの５つについて、システムは、選択された所定の範囲に特有の８つの最小画素値の所定の組にアクセスする。量子化器２０は、実際の最小画素値を所定の組と比較し、実際の最小値以下で最大の所定の最小値を選択する。その後、この所定の最小値が、処理される画素ブロックの最小画素の表現に使用される値になる。この組は、量子化器２０と逆量子化器２６の両方から使用できるので、所定の最小値は、パラメータフィールド内で１つのインデックス記号値によって表現することができる。このインデックス記号も、表現すべき所定の最小画素値が８つしかないので、２進表現には３ビットを必要とする。
７つの範囲のうちの５つに関する８つの所定の最小画素値の組は、下の式（１）によって定義される。この式は、０から始まる範囲の最小値のそれぞれについて、一定の線形ステップをもたらす。
Ｑmin（Ｒs，ｉ）＝ＩＮＴ｛ｉ（（２５６−Ｒs）／７）｝；  ０≦ｉ≦７       （１）
この式でｉは、オーバーヘッドパラメータフィールドで３ビットによって表現されるインデックス記号値である。ＩＮＴ｛ｆ（ｘ）｝は、結果の値の整数部分だけが使用されることを示す。式（１）が適用される５つの範囲は、３２、６４、９６、１２８および１９２である。中括弧内の式ｆ（ｘ）は、式（１）にある式など、関数ＩＮＴによって操作される任意の式を表す。１６の所定の範囲の場合、元々の８ビットの最小値が使用される。２５６の所定の範囲の場合、８ビット語に関して２５６の最小値が０であるから、最小値は使用されない。
下の式（２）によって、実際の最小画素ブロック値のために置換される組からの所定の最小画素値が選択される。ＭＡＸi｛ｆ（ｘ）｝は、中括弧内の条件を満足するｉの最大値がＱminの生成に使用されることを示す。
Ｑmin＝ＭＡＸi｛Ｑmin（Ｒs，ｉ）｜Ｑmin（Ｒs，ｉ）≦Ｘmin；  ０≦ｉ≦７｝ （２）
式（２）によって、量子化された画素ブロックを再構成する時に実際の画素ブロック値を包含するのに不十分な所定の範囲が選択される場合がある。というのは、所定の最小値が、実際の最小値未満になるからである。たとえば、所与の画素ブロックで最小画素値が１００であり、最大画素値が１４０である場合には、選択される所定の範囲は６４になる。式（１）からもたらされる選択される所定の最小画素値は８２になる。選択された最小値と選択された範囲の加算の結果は、１４６であり、これは、実際の最大画素値より大きい。したがって、この画素ブロックの値のすべてが、選択された所定の値によって表現される。しかし、最大画素ブロック値が１６０の場合には、選択される所定の値は同一であるが、画素ブロックの領域を完全には表現できない。この場合、次に大きい所定の範囲である９６が選択され、新たに選択される所定の最小値は９１になる。９１と所定の範囲の９６を合計すると１８７になり、これは、実際の最大画素ブロック値である１６０より大きい。したがって、この範囲から選択される量子化テーブルおよび逆量子化テーブルは、ブロック内の画素のすべてに対するレベルを提供する。量子化器２０は、上で説明した分析を実行して、所定の範囲および最小画素値の最初の選択が有効であるかどうかを判定する。有効でない場合、量子化器２０は、次に大きい所定の範囲を選択し、新しい最小画素値を選択する。
前に述べたように、予測ネットワークが同一のブロック内の画素値から予測値を導出する場合には、実際の画素値と予測画素値の間の差（Ｅ）は、以下の限界内になる。
−Ｒａｎｇｅ＜Ｅ＜Ｒａｎｇｅ                                              （３）
ただし、Ｒａｎｇｅ＝Ｘmax−Ｘmin＋１                                      （４）
式（３）のＥは、予測誤差である。式（４）のＸmaxは最大ブロック画素値、Ｘminは最小ブロック画素値である。したがって、ブロックからの画素データの範囲によって、量子化テーブルおよび逆量子化テーブルが受け取る値が定義され、その特定のブロックについてテーブルが提供しなければならない上限と下限が定義される。範囲が語サイズの最大値（８ビット語の場合は２５６）より小さい場合、量子化テーブルおよび逆量子化テーブルの分解能を高めることができる。
本発明の原理を使用する量子化テーブルと逆量子化テーブルは、画素ブロックの範囲だけに対して設計されたテーブルの２倍の分解能を有する。分解能が２倍になるのは、正負の範囲の間のすべての値ではなく、０から正の範囲値までの値を含むだけでよいからである。図６Ｂおよび図６Ｃは、６４の所定の範囲の、３ビットまたは４ビットのテーブルを示す図である。量子化の前に、予測誤差プロセッサ２７（図２）は、コンバイナ２２からの予測誤差が正負のどちらであるかを判定する。値が正の場合には、その値を無変更で量子化マッパ２８に渡す。値が負の場合には、予測誤差プロセッサ２７は、値を量子化マッパ２８に渡す前に、負の予測誤差値に範囲を加算する。負の予測誤差値は、負の範囲値の領域内にあるので、正の範囲値を負の予測誤差値に加算することによって、バイアスされた誤差値がもたらされる。このバイアスされた誤差値は、正（０より大きい）であり、正の範囲値未満である。量子化マッパ２８は、バイアスされた、およびバイアスされない両方の予測誤差値を受け取り、正の所定の範囲の領域に適合された量子化テーブルを用いてその値を量子化する。量子化された誤差値は、マルチプレクサ３２に渡され、その後、システムコントローラ（図示せず）の制御の下でメモリ１４に記憶される。
本発明の原理を使用する量子化テーブルでは、負の範囲値から正の範囲値までではなく、０から範囲−１までの値だけが量子化されるので、テーブルの分解能が２倍になる。たとえば、所与のブロックの画素値の所定の範囲が６４であり、テーブル内に１４個の量子化／逆量子化レベルがある場合には、本発明の原理を使用しないテーブルは、各レベル間に平均９．２（（６４×２）／１４を小数点以下第１位で四捨五入）の分解能を有する。本発明の原理に従って設計された同一のテーブルは、同一の所定の範囲について１４レベルの間で平均４．６（６４／１４を同様に四捨五入）という２倍の分解能を有する。
図６Ｃに示されたテーブルは、通常の４ビットテーブルで可能な最大の１６レベル（２4）に対して、１４個の可能な量子化レベルを有する。可能なレベルの数が減っているのは、記号のうちの２つ（０００および００１）に、３ビットだけが含まれるからである。この３ビット符号語記号は、それらが頻繁にアクセスされ、データ分解能の低下を上回るかなりの帯域幅およびメモリ要件の削減がもたらされるように、１４レベルのテーブル内に配置される。Ｎレベル（たとえば１４レベル）を有し、各レベルが支配的なＭビット（たとえば４ビット）の関連出力記号を有する量子化テーブルでは、少なくとも１つのレベル（たとえばレベル１とレベル１３）が、頻繁に発生する入力値と、それに対応するＭビット未満（たとえば３ビット）の一意の符号語記号とに関連する。
圧縮解除ネットワークは、圧縮解除のためにデータを取り出す時に、３ビット記号と４ビット記号を識別しなければならない。これは、３ビット記号のビットパターンを予約することによって容易になる。たとえば、図６Ｃでは、３ビットの短い記号だけが、パターン「０００」および「００１」を有する。短い記号のすべての３ビットは、８ビットデータ値の逆量子化と再構成の時に、どちらかのビットパターンが所定のビット位置で発生した時に、必ずネットワークがその３ビット記号を識別し、第４ビットを処理しないように予約される。すべての４ビットパターンについて、選択された３ビットパターンは２回発生する。これらの発生のうちの１つだけが、テーブル内の量子化レベルを表す。というのは、このネットワークが、他の情報がなければ３ビット記号に対して１つのレベルしか認識できないからである。４ビットテーブルの場合には、すべての３ビットパターンを使用することができ、３ビット記号だけが予約パターンを有することができる。
テーブルが使用される所与のシステムについて、設計者が、支配的な４ビットテーブルで２つではなく１つの３ビット記号を使用することが効率的であると判断した場合、量子化テーブルと逆量子化テーブルは、１４個以下のレベルを有する形で設計できる。
１つまたは複数の３ビット記号は、量子化中に頻繁に発生する入力データ値にこの記号が関連する可能性が最適化されるように配置される。したがって、特定のシステムを前もって評価して、短い３ビット記号を配置する位置を統計的に識別しなければならない。３ビット記号によって表現されるレベルの分解能は、３ビット記号の使用が最適化されるように調節することができる。図６Ｂでは、３ビット記号は、バイアスがこのテーブルから取り消された後にこのシステムについて予測誤差が発生する可能性が最も高い０の付近に配置されている。すなわち、小さい絶対値を有する負の入力予測誤差値は、バイアスを与えられ、テーブルの領域に対して相対的に大きい数として量子化テーブルに入力される。インデックスレベル１は、０予測誤差の正側の入力値のレベルである。インデックスレベル１３は、バイアスされた０予測誤差の負側の入力値のレベルである。逆量子化と再構成の際には、適当なレベル１３再構成値からバイアス値が除去される。２つの短い記号（「０００」と「００１」）をレベル０の両側に配置することによって、対称性が保たれ、レベル０に１つだけ短い記号を配置する場合と比較して、帯域幅およびメモリ要件が削減される。レベル１とレベル１３のそれぞれが、３（レベル１の場合は４から１まで）の分解能を有する。というのは、テーブルのレベル配置およびレベル分解能が、統計的発生に対して最適化されているからである。やはり、使用される圧縮ネットワークの種類に応じて、３ビット記号の配置は、量子化テーブルおよび逆量子化テーブルが受け取るデータ値の統計的発生に依存する。統計的に最適の配置は、短い符号語記号の実施に影響せずに、異なる種類のシステムの間で変更することができる。
図４は、図１の逆量子化器２６のブロック図である。システムマイクロプロセッサの制御の下で、デマルチプレクサ３４は、ヘッダのパラメータフィールドに含まれるデータパケットと、パケットのペイロード部分の量子化されたデータを受け取る。デマルチプレクサ３４は、最小画素値インデックスと所定の範囲インデックスを最小最大範囲デコーダ（ＭＭＲＤ）３８に送る。デマルチプレクサ３４は、圧縮された第１画素値を第１画素デコーダ３７に送り、第１画素デコーダ３７は、所定の再構成された範囲および最小画素値もＭＭＲＤ３８から受け取る。第１画素デコーダ３７は、この３つの値を使用して、基準画素を再構成し、これをプレディクタ２４に送る。逆量子化の際には、デマルチプレクサ３４が、量子化された値を逆量子化マッパ３６に送り、逆量子化マッパ３６は、予測誤差値を逆量子化して、加算器３９に渡す。加算器３９は、予測値を逆量子化された誤差値に加算し、その結果を予測誤差プロセッサ３５に渡し、予測誤差プロセッサ３５は、その結果を再構成された最大画素ブロック値と比較する。量子化の前に誤差値にバイアスが与えられていた場合には、この結果は、再構成された最大画素値より大きくなる。そうでない場合には、結果は、再構成された最大画素値以下になる。予測誤差プロセッサ３５が、誤差値にバイアスが与えられたと判定する場合には、所定の範囲値をその結果から減算し、これによって、この処理の量子化側で導入されたバイアスを補正する。予測誤差プロセッサ３５と第１画素デコーダ３７は、基準画素を含む再構成されたデータを、正しい順序で出力ネットワーク（たとえば図示されていないディスプレイプロセッサ）に渡す。
逆量子化器２６が使用可能な値は、量子化された値または符号化された値である。再構成された量子化された最小画素値は、実際の最小画素値以下でなければならず、再構成された量子化された最大画素値と再構成された量子化された範囲値は、実際の値以上でなければならない。ＭＭＲＰ３０は、前に述べたようにこの要件が確実に満たされるようにする。
以下の式（５）ないし式（１２）は、バイアスされた誤差値が再構成された量子化された最大ブロック画素値より大きく、これによって、再構成中にバイアスされたデータの正しい識別と補正が可能になることを示すものである。式（６）ないし式（１１）は、式（１２）の導出の理解を助けるために示されるものである。以下の式では、Ｑminは、量子化された最小ブロック画素値、Ｑmaxは、量子化された最大ブロック画素値である。Ｘは、所与の画素ブロックからの画素値であり、Ｐは、Ｘの予測画素値である。Ｅは、誤差値またはＸとＰの間の実際の差であり、Ｅは、正または負の数になることがある。Ｑ（Ｅ）は、Ｅの量子化された値であり、Ｅと量子化雑音Ｎqを加算した結果であるＮqは、正または負の数になることがある。Ｘrは、Ｘの再構成された画素値であり、Ｒqは、最適一致による所定の範囲である。以下の関係を検討する。
Ｑmax＝Ｑmin＋Ｒq−１                                                     （５）
Ｅ＝Ｘ−Ｐ                                                                （６）
Ｑ（Ｅ）＝Ｅ＋Ｎq                                                         （７）
Ｑmin≦Ｘ≦Ｑmax                                                          （８）
Ｅのすべての正の値について、以下の関係が存在する。
Ｘr＝Ｑ（Ｅ）＋Ｐ＝Ｅ＋Ｎq＋Ｐ＝Ｘ−Ｐ＋Ｎq＋Ｐ                           （９）
Ｘr＝Ｘ＋Ｎq                                                            （１０）
式（９）は、圧縮解除ユニット１６が画素値の再構成に使用する値を表す。式（１０）は、圧縮ユニット１２が使用可能な値を用いて式（９）を簡略化した式である。負の値のＥについて、以下の関係が存在する。
Ｘr＝Ｑ（Ｅ＋Ｒq）＋Ｐ＝Ｅ＋Ｒq＋Ｎq＋Ｐ＝Ｘ−Ｐ＋Ｒq＋Ｎq＋Ｐ          （１１）
Ｘr＝Ｘ＋Ｒq＋Ｎq                                                       （１２）
式（１１）は、圧縮解除ユニット１６が画素値の再構成に使用する値を表す。式（１２）は、圧縮ユニット１２が使用可能な値を用いて式（１１）を簡略化した式である。説明を単純にするために、式（１２）でＮqは０と等しいと仮定する。Ｘは、Ｑmin以上でなければならない（式（８））ので、Ｑmaxを定義する式（５）の関係から、所定の範囲を画素値に加算すると、少なくとも１だけＱmaxより大きい値がもたらされる。
本発明の実施態様では、Ｎqが０でない場合に、式（１０）と式（１２）の結果を検討しなければならない。Ｎqが正である場合には、式（１０）の結果がＱmaxを超える場合があり、予測誤差プロセッサ３５が、バイアスされた予測誤差を誤って識別することがある。同様に、Ｎqが負の場合には、式（１２）の結果がＱmaxより小さくなる場合があり、予測誤差プロセッサ３５が、バイアスされない予測誤差を誤って識別することがある。
図５Ａは、量子化マッパ２８が、その出力が量子化雑音に起因して誤って解釈されないようにする方法を示す図である。量子化器８０は、量子化される画素値ごとに３つの出力値を供給する。３つの値とは、量子化テーブルの決定点の最適再構成レベル（Ｉ）と、正しいレベルの両側の再構成レベル（Ｉ＋１，Ｉ−１）である。量子化テーブルの最初のレベルまたは最後のレベルが最適の時には、次に大きいか次に小さい量子化レベルが、最適レベルと共に供給される。その後、コンバイナ８４が、最適再構成値に関して再構成される画素値を計算（式（１０）または式（１２））し、その結果をコンバイナ８６によってＱmaxと比較する。予測誤差がバイアスされ（Ｓ２が負）、コンバイナ８６からの結果がＱmaxより小さい（Ｓ１が負）の場合には、再構成時に、予測誤差プロセッサ３５が、逆量子化された予測誤差値がバイアスされていないと誤って判定することがある。この問題を防ぐために、予測誤差の次に大きい再構成レベルに対応する符号語が、マルチプレクサ３２に送られる。予測誤差がバイアスなしであり（Ｓ２が正）、コンバイナ８６からの結果がＱmaxより大きい（Ｓ１が正）の場合には、再構成時に、予測誤差プロセッサ３５が、逆量子化された予測誤差値がバイアスされていると誤って判定することがある。この問題を防ぐために、予測誤差の次に小さい再構成レベルに対応する符号語が、マルチプレクサ３２に送られる。図５Ｂに、信号±Ｓ１および±Ｓ２に応答してユニット８２によって選択される、量子化マッパ２８の出力として使用可能な量子化器８０の出力を示す真理値表を示す。
図６Ａは、次に大きいまたは次に小さい再構成レベルを選択することによって、量子化された予測誤差がバイアスされているかどうかを判定する時に量子化雑音によって再構成レベルから誤った結果が引き起こされる時に発生する問題が訂正される理由の説明に役立つ。「Ｉ」は、テーブルのインデックス値を指す。決定点Ｉ以下であるが決定点Ｉ−１を超える予測誤差値は、量子化され、値Ｒに再構成される。図６Ｂの３ビット量子化テーブルおよび図６Ｃの４ビット量子化テーブルからわかるように、テーブルに入力される、決定点Ｉの中の予測誤差値は、予測誤差再構成レベル値Ｒより大きいか、これと等しいか、これより小さいことがある。たとえば、図６Ｃでは、インデックスレベル７は、レベル７の決定点値３６とレベル６の決定点値２７によって定義されるように、両端を含めて３６から２８までの入力値を受け入れる。この範囲内の入力値は、３２の再構成レベル値に逆量子化される。入力値が３４の場合、量子化誤差は−２になり、入力値が３２の場合、量子化誤差は０になり、入力値が２９の場合、量子化誤差は３になる。前に述べたように、これらの誤差は、量子化雑音として定義される。負の量子化雑音値は、図６Ａの−Ｅに対応する。正の量子化雑音値は、図６Ａの＋Ｅに対応する。予測誤差再構成レベルが、実際の予測誤差と等しくない場合には、その差が、正または負の量子化雑音になる。再構成時に、予測誤差がバイアスされているかどうかの誤った分析を量子化雑音が引き起こすと量子化マッパ２８が判定した場合、量子化雑音の極性の反対側のレベルを選択することによって、この問題が訂正される。上の説明を続けると、再構成レベル値３２が、−Ｅ＝−２を引き起こし、誤った分析を引き起こすことがある。場合に、バイアスが正しく認識され、処理されることを保証する＋＋Ｅに等しい量子化雑音値を有するＩ＋１再構成レベル値が選択される。バイアス補正の分析を不正にすることができるのは量子化雑音であるから、反対の符号の量子化雑音の値を選択しても、Ｑmaxと再構成された画素値の間の関係には影響しない。
Ｎqの絶対値は、一般に大きくはないので、量子化器８０は、通常は最適の量子化レベルを選択する。量子化器８０が次に大きいか次に小さいレベルを選択する時には、その選択が、再構成される画素に追加の誤差を引き起こす。しかし、その誤差は、既知のＤＰＣＭ量子化テーブルよりはるかによい分解能を有するテーブルでこの問題を訂正する最も近いレベルを選択することによって最小になる。一般に、この補正は、表示されるピクチャの質の顕著な低下を引き起こさない。
量子化分解能は、しばしば、２倍以上高まるが、これは負の予測誤差へのバイアスから発生する。所定の範囲の選択も、量子化分解能の向上につながる。たとえば、所与の画素ブロックについて、選択される所定の範囲が１６の場合、４ビットの１６レベルテーブル（図示せず）によって、予測誤差値が正確に量子化される。８ビット画素値の場合、分解能は、２５６の範囲の入力値を受け入れる量子化テーブルから１６の範囲の入力値を受け入れる量子化テーブルへ、１６倍（２５６／１６）高まる。同一の正の範囲値のための量子化テーブル／逆量子化テーブルの正の値だけが必要になるので、分解能はさらに２倍になり、合計３２倍になる。この処理は、所定の範囲値のいずれから導出される量子化テーブル／逆量子化テーブルの分解能の向上の計算にも使用することができる。
図７は、本発明の原理による量子化テーブルの設計と、そのテーブルを用いたデータの処理の設計を示す流れ図である。ステップ１００で、正と負の両方の入力値を受け入れるＮレベルの既知の量子化テーブルが、設計される。この例では、入力値はＤＰＣＭ予測誤差値であり、したがって、正負の入力値は、０を中心として対称である。ステップ１０２で、テーブルの中点、この例では０が判定される。ステップ１０４で、Ｎレベルのすべてが、中点から最大予測誤差値までに割り当てられる。結果の量子化テーブルは、最初のテーブルの２倍の分解能を有する。各量子化レベルの分解能は、入力値の統計的発生に従って調節することができる。
ステップ１０６で、中点値未満の入力値に、バイアス値を加算する。ＤＰＣＭ予測誤差値の場合、バイアス値は、関連するデータブロックの範囲とすることができる。ステップ１０８およびステップ１１０で、バイアスされた入力値とバイアスされない入力値を、高分解能量子化テーブルを用いて圧縮する。ステップ１１２で、圧縮データのすべてを、量子化されたままの状態で出力する。ステップ１１４で、高分解能テーブルを用いて圧縮データを圧縮解除して、圧縮解除された出力値を作る。ステップ１１６で、圧縮解除された出力値のすべてにバイアス値を加算する。ステップ１１８で、各出力値の結果を閾値と比較する。この閾値は、関連するデータブロックの最大入力データ値とすることができる。結果が閾値より大きい場合、圧縮解除された出力値にバイアスが含まれ、そのバイアス値はステップ１２０で減算され、ステップ１２２で、再構成された値が出力ネットワークに出力される。ステップ１１８で、結果が閾値より大きくない場合には、圧縮解除された出力値にバイアスが含まれず、結果は、再構成された値であり、ステップ１２２で出力ネットワークに出力される。
図１に戻って、メモリ１４は、量子化された画素ブロックとパラメータフィールドを、これらが画素の再構成および表示のために必要でなくなるまで記憶する。これらのデータがメモリ１４に常駐している間は、共通のデータバスを使用するマイクロプロセッサの制御の下で、圧縮解除ユニット１６を介して後続のディスプレイプロセッサがこれらのデータにアクセスし、復号することができる。圧縮ユニット１２および圧縮解除ユニット１６は、共通の集積回路に存在し、集積回路設計を単純にするために類似した設計と構造を示す。メモリ１４は、有利なことに、この集積回路の外部に存在し、これによって、特定のシステムの信号処理要件に対処する必要に応じてメモリ１４のサイズを選択できるようになっている。これは、製造コストの節約、たとえば、コスト削減の場合、ＭＰＥＧデコーダ用のフレームメモリの必要量が少ない低解像度ディスプレイを使用する消費者向けテレビジョン受信機などをもたらす。また、節約された記憶領域は、通常は、他のシステム構成要素によって使用可能であり、総合的なシステム性能が高まる。
図８に、前に述べた本発明による装置を含む、テレビジョン受信機内の実用的なデジタル信号処理システムの一部の例を示す。図８のデジタルテレビジョン受信機は、過剰な詳細を描かないように簡略化されている。たとえば、図示されていないのが、さまざまな要素に関連する先入れ先出しＦＩＦＯ入出力バッファ、読み書き制御、クロックジェネレータネットワーク、および、拡張データ出力型（ＥＤＯ）、シンクロナス型（ＳＤＲＡＭ）、ｒａｍｂｕｓ  ＤＲＡＭ（ＲＤＲＡＭ）または他の任意の種類のＲＡＭとすることができる外部メモリとインターフェースするための制御信号である。
図１と図８に共通する要素には、同一の符号を付す。動き補償ユニット７０を除く信号プロセッサ７２の諸要素は、ＳＧＳ−Ｔｈｏｍｓｏｎ  Ｍｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ社が市販するＳＴｉ  ３５００Ａ  ＭＰＥＧ−２／ＣＣＩＲ６００  Ｖｉｄｅｏ  Ｄｅｃｏｄｅｒ集積回路に見られる要素に対応する。
手短に言うと、図８のシステムには、マイクロプロセッサ４０と、内部制御バス４６に結合されたバスインターフェースユニット４２およびコントローラ４４とが含まれる。この例では、マイクロプロセッサ４０は、ＭＰＥＧデコーダである信号プロセッサ７２を含む集積回路の外部に配置されている。１９２ビット幅の内部メモリバス４８は、圧縮ユニット１２と、類似した圧縮解除ユニット１６および５０と、外部フレームメモリであるメモリ１４との間のデータの通路である。圧縮ユニット１２、圧縮解除ユニット１６および５０は、マイクロプロセッサ４０からコントローラ４４を介して、イネーブル制御信号と共に圧縮係数制御信号または圧縮解除係数制御信号を受け取る。さらに、Ｒｅｑｕｅｓｔ（要求）入力を受け取り、Ａｃｋｎｏｗｌｅｄｇｅ（肯定応答）出力ならびにメモリのＡｄｄｒｅｓｓ（アドレス）出力、Ｒｅａｄ  Ｅｎａｂｌｅ（読み取りイネーブル）出力およびＷｒｉｔｅ  Ｅｎａｂｌｅ（書き込みイネーブル）出力を供給するローカルメモリ制御ユニット５２も含まれる。ローカルメモリ制御ユニット５２は、メモリ１４を制御するためのアドレス信号と制御信号をリアルタイムで作る。ローカルメモリ制御ユニット５２は、ローカルクロックジェネレータ（図示せず）からの入力クロック信号Ｃｌｏｃｋ  Ｉｎに応答して、出力クロック信号Ｃｌｏｃｋ  Ｏｕｔも供給する。マイクロプロセッサ４０は、メモリ１４を、ＭＰＥＧ復号、表示処理およびオンスクリーン表示マップのために、ビットバッファ、ビデオフレーム記憶セクションおよびフレーム記憶バッファに区分する。
ディスプレイプロセッサ５４には、圧縮解除された画像フォーマットを、画像再生表示装置５６による表示のための所定の共通フォーマットに変換する必要に応じて、水平および垂直の再サンプリングフィルタが含まれる。たとえば、このシステムは、５２５ラインインターレース式、１１２５ラインインターレース式、７２０ラインプログレッシブスキャンなどのフォーマットに対応する画像シーケンスを受信し、復号することがある。テレビジョン受信機は、すべての受信機フォーマットに対して共通の表示フォーマットを使用する可能性が高い。
外部インターフェースネットワーク５８は、ＭＰＥＧデコーダによる処理のための入力圧縮ビデオデータのほかに、ＭＰＥＧデコーダと外部のマイクロプロセッサ４０の間で制御情報および構成情報を運ぶ。ＭＰＥＧデコーダシステムは、補助プロセッサすなわちマイクロプロセッサ４０用のプロセッサに類似する。たとえば、マイクロプロセッサ４０は、復号するフレームごとにＭＰＥＧデコーダに復号コマンドを発行する。デコーダは、関連するヘッダ情報を突き止め、これをマイクロプロセッサ４０が読み取る。この情報を用いて、マイクロプロセッサ４０は、デコーダを設定するためのデータ、たとえば、フレームの種類、量子化マトリックスなどに関するデータを発行し、その後、デコーダが、適当な復号コマンドを発行する。上で述べたＳＧＳ−Ｔｈｏｍｓｏｎ社のＳＴｉ  ３５００Ａ集積回路デバイスの技術仕様資料に、このような形のＭＰＥＧデコーダ動作に関する追加情報が記載されている。
マイクロプロセッサ４０は、受信機の製造業者によってプログラムされるモード制御データをローカルメモリ制御ユニット５２に渡して、マルチプレクサ３２（図２）およびデマルチプレクサ３４（図５）の動作を制御し、必要に応じて圧縮ユニット１２、圧縮解除ユニット１６および５０の圧縮係数／圧縮解除係数を確立する。開示されたシステムは、たとえば地上波放送、ケーブルシステムおよび衛星送信システムに関連するものなど、さまざまなデジタルデータ処理方式に関連するＭＰＥＧ仕様のすべてのプロファイルおよびすべてのレベルと共に使用することができる。
図８には、信号プロセッサ７２のうちで、入力高精細度ビデオ信号を処理するための、テレビジョン受信機に見られるものなどのデジタルビデオ部分も示されている。信号プロセッサ７２には、アナログチャネル（図示せず）を介して標準精細度ビデオ信号を受け取り、処理するための備えを含む集積回路を含めることができる。信号プロセッサ７２には、バッファ６０、可変長デコーダ（ＶＬＤ）６２、逆量子化ユニット６４、逆離散コサイン変換ユニット（ＩＤＣＴ）６６、加算器６８および動き補償ユニット７０によって構成され、フレームメモリとしてのメモリ１４を含む通常のＭＰＥＧデコーダが含まれる。たとえば、上で示したアング（Ａｎｇ）他著、「Ｖｉｄｅｏ  Ｃｏｍｐｒｅｓｓｉｏｎ  Ｍａｋｅｓ  Ｂｉｇ  Ｇａｉｎｓ」ＩＥＥＥ  Ｓｐｅｃｔｒｕｍ、１９９１年１０月に、ＭＰＥＧエンコーダおよびＭＰＥＧデコーダの動作が記載されている。
信号プロセッサ７２は、前の入力プロセッサ（図示せず）、たとえば入力信号復調の後にデータパケットを分離するトランスポートデコーダから、ＭＰＥＧ符号化データの制御されたデータストリームを受け取る。この例では、受け取られた入力データストリームは、米国高精細度地上波テレビジョン放送システム用のＧｒａｎｄ  Ａｌｌｉａｎｃｅ仕様で指定された高精細度画像素材（１９２０×１０８８画素）を表す。この入力データストリームは、ＭＰＥＧ圧縮規格を使用して圧縮された画像のシーケンスを表す階層型データストリームの形式である。これらの画像は、イントラフレーム情報およびインターフレーム情報として周期的に圧縮され、符号化される。イントラフレーム情報には、Ｉフレームアンカーフレームが含まれる。通常インターフレーム情報には、隣接するピクチャフレーム間の画像の差分を表す予測動き符号化残差情報が含まれる。インターフレーム動き符号化には、処理中の現ブロックと前に再構成された画像のブロックとの間のオフセットを表す動きベクトルの生成が含まれる。現ブロックと前ブロックの間の最適一致を表す動きベクトルが、符号化され、伝送される。また、動き補償された８×８ブロックのそれぞれと前に再構成されたブロックの間の差（残差）は、伝送の前に、離散コサイン変換（ＤＣＴ）され、量子化され、可変長符号化（ＶＬＣ）される。上記のアング他を含むさまざまな刊行物に、動き補償付き符号化処理が詳細に記載されている。
バッファ６０は、ＶＬＤ６２による可変長復号の前に、入力の圧縮画素データブロックを受け入れる。バッファ６０は、メインレベル、メインプロファイルのＭＰＥＧデータストリームの場合に１．７５Ｍビットの記憶容量を示す。逆量子化ユニット６４とＩＤＣＴ６６は、ＶＬＤ６２からの復号された圧縮データを圧縮解除する。ＩＤＣＴ６６からの出力データは、加算器６８の入力の１つに結合される。
バッファ６０からの信号は、逆量子化ユニット６４の量子化ステップサイズを制御して、滑らかなデータの流れを確実にする。ＶＬＤ６２は、すでに述べたように復号された動きベクトルを動き補償ユニット７０に供給する。ＶＬＤ６２は、既知のとおり（簡略化のために図示せず）インターフレーム／イントラフレームモード選択制御信号も作る。ＶＬＤ６２、逆量子化ユニット６４およびＩＤＣＴ６６によって実行される動作は、送信器に配置されるエンコーダの対応する動作を逆転したものである。
ＩＤＣＴ６６からの残差画像データを、動き補償ユニット７０の出力から供給される予測画像データと合計することによって、加算器６８は、ビデオフレームメモリ１４の内容に基づいて再構成された画素を供給する。信号プロセッサ７２が、画素ブロックのフレーム全体を処理した時に、フレームメモリ１４に、結果の再構成された画像が格納される。インターフレームモードでは、ＶＬＤ６２から得られた動きベクトルによって、動き補償ユニット７０からの予測されたブロックの位置が与えられる。
加算器６８、メモリ１４および動き補償ユニット７０を用いる画像再構成処理は、有利なことに、フレームメモリ１４へのデータ記憶の前の圧縮ユニット１２の使用に起因して、かなり削減されたメモリ要件を示す。フレームメモリ１４のサイズは、たとえば５０％圧縮率が使用される時に、５０％まで削減することができる。圧縮解除ユニット５０は、圧縮ユニット１２と逆の機能を実行し、上で説明した圧縮解除ユニット１６に類似する。圧縮解除ユニット５０は、画像ブロックを再構成し、したがって、動き補償ユニット７０が、上で述べたように機能することができる。圧縮ユニット１２と圧縮解除ユニット１６および５０は、本発明の原理に従って構成される。図１、図２、図４および図５Ａに、圧縮ユニット１２と圧縮解除ユニット１６および５０の詳細が示されている。
【図１】
0004260894.tif 000002
【図２】
0004260894.tif 000003
【図３】
0004260894.tif 000004
【図４】
0004260894.tif 000005
【図５Ａ】
0004260894.tif 000006
【図５Ｂ】
0004260894.tif 000007
【図６Ａ】
0004260894.tif 000008
【図６Ｂ】
0004260894.tif 000009
【図６Ｃ】
0004260894.tif 000010
【図７】
0004260894.tif 000011
【図８】
0004260894.tif 000012