(57)【特許請求の範囲】
【請求項１】
画像情報を表す画素データ・ブロックと、複数の画素データ値とを含むデジタル・データ・ストリームを処理する方法であって、
画素データブロックを走査して、該ブロックのブロック・パラメータであって最小画素値、最大画素値、画素値の範囲、または参照画素値の少なくとも一つであるブロック・パラメータを識別するステップと、
所定の値の組から、該ブロック・パラメータを表す一つの値を選択する選択ステップと、
該選択された値の関数として該ブロック・パラメータを符号化する符号化ステップと、
該選択され符号化された値を記憶するステップと
を含むことを特徴とする方法。
【請求項２】
請求項１において、
前記ブロック・パラメータは各画素ブロック内の画素値の範囲であって、
前記選択ステップで、前記選択された値として、量子化された範囲を表す値を選択して、前記画素値の範囲を表すことを特徴とする方法。
【請求項３】
請求項１において、
画素値は、ルミナンス値またはクロミナンス値であることを特徴とする方法。
【請求項４】
請求項１において、
前記選択ステップと前記符号化ステップとを繰り返して、前記選択され符号化された値を、反復して導出することを特徴とする方法。
【請求項５】
請求項１において、
前記符号化ステップで、前記ブロック・パラメータを量子化して、前記選択され符号化された値を導出することを特徴とする方法。
【請求項６】
請求項１において、
前記符号化ステップで、一定の値から前記ブロック・パラメータを差し引いて導出された量子化された限界値を選択することによって、前記選択された値の関数として、前記ブロック・パラメータを符号化することを特徴とする方法。
【請求項７】
請求項１において、
前記符号化ステップで、関数（（Ｋ１−量子化された範囲値）／Ｋ２）、（ここでＫ１、Ｋ２は定数）として導出された量子化された値の組から選択された量子化された限界値として、前記ブロック・パラメータを符号化することを特徴とする方法。
【請求項８】
画像フレームを構成し、複数の画素データ値を含む画素ブロックを表すMPEG圧縮された画像を処理する方法であって、
該圧縮された画素ブロックをデコンプレスしてデコンプレスされた画素ブロックを生成するステップと、
該デコンプレスされた画素ブロックを走査して、該ブロックのブロック・パラメータであって最小画素値、最大画素値、画素値の範囲、または参照画素値の少なくとも一つであるブロック・パラメータを識別するステップと、
所定の値の組から、該ブロック・パラメータのための一つの値を選択する選択ステップと、
該選択された値の関数として該ブロック・パラメータを符号化する符号化ステップと、
前記デコンプレスされた画素ブロックを再圧縮するステップと、
該選択され符号化された値および該再圧縮されたデータ・ブロックをビデオ・フレームメモリに格納するステップと
を含むことを特徴とする方法。
【請求項９】
請求項８において、
前記ブロック・パラメータは各画素ブロック内の画素値の範囲であって、
前記選択ステップで、前記選択された値として、量子化された範囲を表す値を選択して、前記画素値の範囲を表すことを特徴とする方法。
【請求項１０】
請求項８において、
前記選択ステップと前記符号化ステップとを繰り返して、前記選択され符号化された値を、反復して導出することを特徴とする方法。
【請求項１１】
請求項８において、
前記符号化ステップで、前記ブロック・パラメータを表す値を量子化して、前記選択され符号化された値を導出することを特徴とする方法。
【請求項１２】
請求項８において、
前記符号化ステップで、一定の値から前記ブロック・パラメータを差し引いて導出された量子化された限界値を選択することによって、前記選択された値の関数として、前記ブロック・パラメータを符号化することを特徴とする方法。
【請求項１３】
請求項８において、
前記符号化ステップで、関数（（Ｋ１−量子化された範囲値）／Ｋ２）、（ここでＫ１、Ｋ２は定数）として導出された量子化された値の組から選択された量子化された限界値として、前記ブロック・パラメータを符号化することを特徴とする方法。
【発明の詳細な説明】
本発明はデジタル・ビデオプロセッサに関し、特に、圧縮ビデオデータに関連するオーバーヘッド・データを効率的に転送するためのシステムに関する。
メモリを有効利用することは、イメージ・プロセッサの設計と動作に重要である。例えば、テレビジョン・システムなどの消費者向け製品は、ＭＰＥＧ−２信号処理を含むイメージ・プロセッサを使用する場合がある。ＭＰＥＧ（Motion Picture Experts Group）信号圧縮規格（ＩＳＯ／ＩＥＣ  １３１８１−２、１９９４年５月１０日）は広く受け入れられている画像処理規格であり、画像処理の中でも特に高精細度テレビジョン（ＨＤＴＶ）処理を使用する衛星放送、ケーブル放送および地上波放送のシステムと共に使用するために特に魅力的である。高精細度ディスプレイを使用する製品は、復号されたＭＰＥＧフレームを表示する前に一時的に格納するために９６Ｍビット以上のメモリを必要とする。ＭＰＥＧプロセッサは、表示用の正確な画像を再構成するために、動き推定および動き補償のためにこれらのフレームを必要とする。
ＭＰＥＧ符号化された画素から画像を再構成するシステムは、通常は差分パルスコード変調（Differential Pulse Coded Modulation、ＤＰＣＭ）を使用する。ＤＰＣＭ処理では、プロセッサが次の画素値を予想する予測を生成する。和ネットワーク（summation network）が、実際の画素値から予測を減算して、次の画素値を予想する差分をもたらす。この差分は予測誤差（prediction error）と称し、一般に元の画素値または予測値より小さく、元の画素値ではなく差分を処理することによりシステム帯域幅要件が軽減される。Ａｎｇ他著、「Ｖｉｄｅｏ  Ｃｏｍｐｒｅｓｓｉｏｎ  Ｍａｋｅｓ  Ｂｉｇ  Ｇａｉｎｓ」、ＩＥＥＥ  Ｓｐｅｃｔｒｕｍ、１９９１年１０月に、ＭＰＥＧエンコーダおよびデコーダが記載されている。
高メモリ効率のイメージ・プロセッサは、格納する前にブロック・データを再符号化（再圧縮）することにより、より少ないメモリを使用して画像フレームを格納する。空間領域では、画像フレームの格納に使用される画素あたりビット数を減少すると、画素を元のビット・サイズに正確に再構成できない場合に画質に悪影響を及ぼす。特に画像の滑らかなエリアに、アーチファクトが発生する可能性がある。メモリ削減イメージ・プロセッサは、できる限り効率的かつ経済的に、ＭＰＥＧ復号された信号を正確に量子化し、逆量子化しなければならない。
本願発明者は、再構成されるデータにシステムが導入するアーチファクトを最小にする、最小限のハードウェアおよびソフトウェアを使用する効率的なデータ削減システムを提供することが望まれているのを認識している。
本発明の原理によれば、イメージ・プロセッサはイメージ・ブロックの最小画素値と画素値の範囲を判定する。当該プロセッサは、当該範囲と所定範囲の組の間での最適一致を選択する。所定範囲のそれぞれは所定の最小値の関連する組を有し、当該プロセッサは、画素ブロックの最小値と選択された所定範囲に関連する所定の最小値間の最適一致を選択する。当該プロセッサは、選択された所定範囲および選択された所定の最小値をビット数を減少されたコードを用いて符号化し、符号化された値を圧縮されたブロック・データと共にメモリに格納する。
【図面の簡単な説明】
図１は本発明に係るシステムを含む画素ブロック・プロセッサのブロック図である。
図２は図１のシステムの圧縮部分を詳細に示す図である。
図３は本発明に係るシステムによる使用に適したパケット化されたデータ・フォーマットを示す図である。
図４は本発明に係るインデクシング処理を示すフローチャートである。
図５は図１のシステムのデコンプレッション部分を詳細に示す図である。
図６は本発明を含む処理方法のフローチャートである。
図７は本発明を使用するＭＰＥＧ互換テレビジョン・システムのブロック図である。
本発明の実施例では、テレビジョン受像機にＭＰＥＧデコーダが含まれる。データ削減ネットワークが、画像ブロックを表す、復号されデコンプレスされたＭＰＥＧ信号をフレームメモリへ記憶する前に量子化し、画像表示のために必要になった時には画像ブロックを再構成する。表示装置は、フレームメモリから導出された画像情報を表示する。
データ削減ネットワークを介してデータの一貫性を維持するために、このネットワークは画素ブロックを走査し、画像画素値の範囲と最小画素値を判定する。このネットワークは、当該範囲と所定範囲の組との間の最適一致分析を実行する。最小と最大の所定範囲を除いて、所定範囲のそれぞれは１組の所定の最小値を有する。ネットワークは、画素ブロックの最小値と選択された所定範囲に関連する所定の最小値との間の最適一致分析を実行する。選択された所定範囲および選択された所定の最小値は、それを表わす３ビットコードを用いてそれぞれインデクシングされる（indexed）。最小の所定範囲の場合、ネットワークは実際の８ビット最小値を保持し、最大の所定範囲の場合、ネットワークはビットを必要としない値０を選択する。
範囲および最小値のインデックス表現は、量子化された画素ブロックと共にフレームメモリに記憶される。実際の８ビット値ではなくそれを表す値を記憶することにより、量子化された画素値を記憶するためにメモリを使用できるようになる。量子化された画素値は、ブロック固有の範囲および最小値の値が再構成を促進するので、１表現あたり８ビット未満で効率的に表現される。
図１では、ＭＰＥＧデコーダが、コンプレッサ１２を含むメモリ削減プロセッサの入力１０にＭＰＥＧ復号された画素データのブロックを供給する。コンプレッサ１２は、予測器（predictor）１８、量子化器２０および結合器（combiner）２２を含む。画素ブロックは空間領域内にあり、例えば画像画素の８×８ブロックを構成する。予測器１８は周知の原理を使用し、例えばＪａｉｎ，Ａ．，著「Ｆｕｎｄａｍｅｎｔａｌｓ  ｏｆ  Ｄｉｇｉｔａｌ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ」、Ｐｒｅｎｔｉｃｅ−Ｈａｌｌ，Ｉｎｃ．，第４８４ページ、（１９８９年）に記載された種類のものとすることができる。
量子化器２０は、データを減少された画素ブロックをメモリ１４に供給する。ディスプレイ・プロセッサ（図示せず）がメモリ１４内の減少されたデータ・ブロックにアクセスして画像を表示する時には、デコンプレッサ１６は、元のデータ・ブロックを再構成する。デコンプレッサ１６は予測器２４と逆量子化器（dequantizer）２６を含み、メモリ１４から減少されたデータを取り出し、減少されたデータ・ブロックを再構成する。量子化器２０と逆量子化器２６は、以下で説明する本発明の原理にしたがって配置される。予測器２４は、予測器１８に類似する。
コンプレッサ１２の入力１０は、ＭＰＥＧデコーダ（図７に図示）から画素ブロックを受け取る。入力１０は、画素ブロック・データを結合器２２の非反転入力と量子化器２０に供給する。予測器１８は、画素予測データを結合器２２の反転入力と量子化器２０に供給する。結合器２２は、反転入力と非反転入力からの信号を組み合わせ、差分を量子化器２０に供給する。量子化器２０は再構成レベル値を予測器１８に出力し、符号化された画素差分値をメモリ１４に出力して記憶する。
図２に、図１の量子化器２０を詳細に示す。本明細書全体を通じて、同一の符号は複数の図面に共通する要素を示す。具体的に言うと、量子化器２０は、予測誤差プロセッサ２７、量子化マッパ（quantizer mapper）２８、符号化コントローラ２９、最小最大範囲プロセッサ（ＭＭＲＰ）３０、第１画素（参照画素）プロセッサ３１およびマルチプレクサ３２を含む。入力１０はブロック画素データをＭＭＲＰ３０に供給し、ＭＭＲＰ３０は画素ブロックを走査し、最小画素値、最大画素値およびそのブロックの範囲を判定する。ＭＭＲＰ３０は、実際の範囲の関数として、所定範囲の組から所定範囲を１つ選択し、ネットワーク内での後続の使用のために、選択された所定範囲を実際の範囲と交換する。またＭＭＲＰ３０は、実際の最小画素値の代わりに画素ブロックを表現するために、選択された所定範囲からの情報を使用して所定の最小画素値を識別する。ＭＭＲＰ３０は所定の最小画素および範囲のブロック・パラメータ値を圧縮し、マルチプレクサ３２に転送する。
選択された所定の最小画素値および範囲は、第１画素プロセッサ３１にも転送され、所定範囲は後述するように予測誤差プロセッサ２７に転送される。予測誤差プロセッサ２７は結合器２２から予測誤差データを受け取り、選択された所定範囲を用いて負の値にバイアスをかける。量子化マッパ２８は、バイアス付きとバイアスなしの予測誤差値を予測誤差プロセッサ２７から受け取る。これらの値は量子化され、符号化され、マルチプレクサ３２に送られる。また、量子化マッパ２８は再構成レベル値を予測器１８に送り、予測器１８は、この値を使用して予測データを計算する。マルチプレクサ３２は、ブロック・パラメータ（圧縮された最小画素値、範囲および基準ピクセル値）と量子化されたデータを、後で説明するタイミングと制御の下でメモリ１４に送る。このブロック・パラメータはオーバーヘッド・データを表し、メモリ１４内で、量子化された画素ブロックに関連するパラメータ・フィールドに記憶される。このパラメータ・フィールドと量子化されたデータが一緒になって、適当な逆量子化テーブルにアクセスし、画素ブロックを再構成するためにデコンプレッサ１６が必要とする情報のすべてを統合したパケットを形成する。符号化コントローラ２９は、ブロック・パラメータおよび圧縮データの転送、ならびに個々の画素を表す値の量子化テーブルの選択を監視する。
第１画素プロセッサ３１は入力１０から画素ブロックを受け取り、所定の参照画素値を識別する。ＭＭＲＰ３０から受け取るブロックの最小画素値は、他のブロック画素から独立した参照画素の圧縮を促進する。圧縮された参照画素は、逆量子化器２６が可逆（lossless）または可逆に近い形で元の値を再構成するのに十分なビットによって表現される。第１画素プロセッサ３１は、圧縮された参照画素値をブロック・パラメータとしてマルチプレクサ３２に渡し、マルチプレクサ３２は、参照画素値を含むブロック・パラメータと量子化されたデータをメモリ１４に転送する。逆量子化器２６は、画素再構成中に参照画素を量子化されたブロック画素の予測値として使用する。デコンプレス中に予測ネットワークで使用される最初の値（参照画素値）が独立なので、所与の画素ブロックを他の画素ブロックからの情報なしでデコンプレスすることができる。この値はまた正確であり、これにより、再構成されたデータから伝播する予測誤差データが除去される。
参照画素は、圧縮値を導出するための予測器として画素ブロックの最小値を使用して圧縮される。選択された所定の最小値が基準値から減算され、その差が２で除算される。その結果は、所定範囲の２進表現に必要なビット数より１ビット少ないビットを用いてメモリ１４に記憶される。同一画素ブロック内の他の値の予測器としてブロック画素値を使用する時に、参照画素値と最小画素値など、２つのブロック画素値間の差がその範囲の領域に含まれるために、所定範囲により、圧縮された参照画素値を記憶するのに使用されるビット数を定義する。圧縮された基準値は、範囲を表現するのに必要なビット数より１ビット少ないビット数を使用する。この理由は、この差が２で除算された正の値であり、これにより２進表現に必要なビット数が１ビットだけ減少するからである。
量子化器２０および逆量子化器２６は、それぞれが各ブロックに対して最適化される量子化テーブルおよび逆量子化テーブルにアクセスする。量子化テーブルおよび逆量子化テーブルは、画素ブロックの所定範囲に基づく値を含む。ＭＭＲＰ３０は入力データ・ブロックを受け取り、走査して、最小画素値と最大画素値を判定する。ＭＭＲＰ３０はその後、最大値から最小値を減算し、１を加算して（最大−最小＋１）、その画素ブロックの範囲を計算する。
量子化器２０と逆量子化器２６は計算された範囲を所定範囲の組（少なくとも１つが計算された範囲以上である）と比較し、所定範囲を１つ選択し、予測された範囲から導出される量子化テーブルまたは逆量子化テーブルにアクセスする。所定範囲は、どの所定範囲が実際に計算された範囲以上の組のうちの最小の範囲であるかを判定する最適一致分析によって選択される。量子化テーブルと逆量子化テーブルは、選択された所定範囲の領域に含まれる値を含み、したがって、実際の範囲全体の値を含むようにカスタマイズされる。量子化器２８はＤＰＣＭ処理を使用し、予測誤差である差分値を生成し、これらの予測誤差は実際の範囲の領域内にある。実際の範囲は、しばしば、２５６（８ビット画素値の最大値）よりかなり小さい。この範囲から導出されるテーブル・レベルは、選択された所定範囲の値が一般に実際の範囲に近く８ビット未満で表現できるために、２５６から導出されるテーブル・レベルよりもよい分解能を提供する。したがって、システムの精度と効率は、範囲に合わせてテーブル・レベルをカスタマイズすることで向上する。
入力ブロック・データを再構成するために、逆量子化器２６は、量子化器２８がその画素ブロックを量子化する時に使用した量子化テーブルのアクセスに使用された所定範囲を知らなければならない。範囲および他の画素ブロック・パラメータの表現は、ペイロードとしての量子化された画素ブロックと共にメモリ１４のパラメータ・フィールドに記憶される。パラメータ・フィールドとペイロードが一緒になって、圧縮データ・パケットを形成する。量子化された画素ブロックと共にメモリ１４にブロック・パラメータ表現を記憶することにより、逆量子化器２６は正しい逆量子化テーブルにアクセスでき、画素ブロックを効率的かつ正確に再構成できるようになる。図３に、パラメータ・フィールド３３と圧縮データ・ペイロード３５の可能な構成の１つを示す。本実施例において、パラメータ・フィールド３３は圧縮データ・ペイロード３５を含むデータ・パケットのヘッダとして配置されている。
本実施例では、ディスプレイ・プロセッサが必要とする画像フレームを記憶するメモリ１４は、約５０％そのサイズを削減される。本実施例の目的と仮定される８ビット画素の場合、５０％の削減により、圧縮後の各画素表現を記憶するためのメモリ１４の平均ビット数は４ビットになる。パラメータ・フィールド３３のブロック・パラメータによって表現されるオーバーヘッド情報は、メモリ１４内の空間を必要とする。パラメータ・フィールドの記憶に使用されるビットのすべてが、量子化された画素の記憶に使用できるメモリを減少させる。全体的な効果は、メモリ容量が所定の削減されたサイズで一定に保たれるので、量子化されたデータに使用可能な分解能が減少する。オーバーヘッド情報分を補償するようにメモリ・サイズを増やすと、メモリは通常固定されたブロック・サイズでのみ製造業者から入手できるので、製造コストの望ましくない増加が発生する。グランド・アライアンス・スペシフィケーション（Grand Alliance specification）の指定によれば、ＨＤＴＶ画像フレームに３２，６４０個の８×８画素ブロックがあることを考慮すると、これはかなりのコストである。３つの８ビット・ワードにより、このシステムを使用するテレビジョン受像機のそれぞれのメモリ要求に７８３，３６０ビット毎フレームが追加される。また、余分なメモリは追加のハードワイヤ接続を必要とし、そのそれぞれが故障ポイントになる可能性があるためシステムの信頼性が低下する。
本発明を使用するシステムでは、ブロック・パラメータのうちの２つ、すなわち範囲と最小値を記憶するのに必要なビット数が、ほとんどの場合にパラメータ毎に８ビットから３ビットに減少する。これにより、画素ブロックあたりメモリ内で１０ビットが節約され、メモリに記憶される画像フレームのそれぞれについて３２６，４００ビットが節約される。量子化器２０が実際の範囲と最小画素値を判定した後に、これらの値は以下のように量子化され、インデクシングされる。
実際の範囲は、最適一致を判定するために所定範囲の組と比較される。この所定範囲は、その後に処理される画素ブロックの範囲を表すのに使用される値になる。所定範囲は、図４に関連して説明するように、画素ブロック内のすべての画素値が表現されることを保証するために実際の範囲より大きい。所定範囲の組には、７つの値が含まれる。この組は、量子化器２０と逆量子化器２６の両方から使用できるので、所定範囲を１つのインデックス値によってパラメータ・フィールド内で表現することができる。表現すべき所定範囲は７つだけなので、インデックスは２進表現に３ビットだけ必要とする。
このシステムは、最小画素値を同様の形で扱う。７つの所定範囲のうちの５つについて、システムは選択された所定範囲に特有の８つの最小画素値の所定の組にアクセスする。量子化器２０は、実際の最小画素値を所定の組と比較し、実際の最小値以下で最大の所定の最小値を選択する。その後、この所定の最小値が、処理される画素ブロックの最小画素の表現に使用される値になる。この組は量子化器２０と逆量子化器２６の両方から使用できるので、所定の最小値はパラメータ・フィールド内で１つのインデックス値によって表現することができる。このインデックスも、表現すべき所定の最小画素値が８つしかないので、２進表現には３ビットを必要とする。
前述したように、各インデックス値は３ビットを必要とするので、１６ビットではなく６ビットが各パラメータ・フィールドに格納されることになる。こうして節約されたビットが、量子化された画素の記憶のためのメモリを保存する。これにより、ブロック・パラメータを符号化することによってビットが節約されて、画素データのより微細な量子化（分解能）が可能となるために、量子化された画素データの分解能が高まる。
次式により、所定範囲の組とその選択が定義される。Ｒsは組から選択される所定範囲であり、Ｒiはインデックス値ｉによって表現される範囲であり、ｉはパラメータ・フィールドの３ビットによって表現される、選択された範囲のインデックス値である。Ｒは画素ブロックの実際の範囲値である。
Rs=MINi{Ri|Ri>=R,Ri=16,32,64,96,128,192,256;0<=i<=6}    (1)
ＭＩＮ｛ｆ（ｘ）｝は、選択された範囲Ｒsが、条件Ｒi＞＝Ｒを満足する組のうちの最小値であることを示す。中括弧内の式ｆ（ｘ）は、式（１）に含まれるものなど、関数ＭＩＮによって演算される任意の式を表す。例えば、Ｒが７３の場合、式（１）はＲｓの結果の値として９６をもたらす。６５から９６までのＲの値は、同一の結果をもたらす。
式（１）の７つの所定範囲は、一般的に数の２進数列から、圧縮された画素とデコンプレスされた画素を表現するために特定のシステムで使用可能な所定の平均ビット数によって導出される。メモリは５０％削減されるので、８ビット画素（この例では最大）は平均して４ビットに圧縮される。したがって、１６（４ビット）と２５６（８ビット）が、所定範囲の組のうちの最小値と最大値である。ここで示したものなどの２nの増分で発生する値は、所定範囲の組の自然な選択の区切りである。この理由は、ｎの増分または減分のそれぞれが範囲の２進表現に１つ余分の、または１つ少ないビットを必要とするからである。指数表現２nは５つの値、１６、３２、６４、１２８および２５６をもたらす。３ビットのインデックスは８つまでの範囲を提供し、分解能を高めるためにギャップ内に他の所定範囲を追加することができる。本実施例でギャップに追加される所定範囲は、９６および１９２である。
７つの範囲のうちの５つに関する８つの所定の最小画素値の組は、下の式（２）によって定義される。式（２）が適用される５つの範囲は、３２、６４、９６、１２８および１９２である。この式は、０から始まる一定の線形ステップをもたらす。
Qmin(Rs,i)=INT{i((256-Rs)/7)};0<=i<=7.    (2)
この式でｉは、パラメータ・フィールドの３ビットによって表現される選択された最小画素値のインデックス値である。ＩＮＴ｛ｆ（ｘ）｝は、結果の値の整数部分だけが使用されることを示す。中括弧内の式ｆ（ｘ）は、式（２）に含まれるものなど、関数ＩＮＴによって演算される任意の式を表す。
下の式（３）により、実際の最小画素ブロック値のために置換される組からの所定の最小画素値が選択される。ＭＡＸi｛ｆ（ｘ）｝は、中括弧内の条件を満足するｉの最大値がＱminの生成に使用されることを示す。
Qmin=MAXi{Qmin(Rs,i)|Qmin(Rs,i)<=Xmin;0<=i<=7}    (3)
式（４）は、量子化中に正確な表現を可能にするために有効なブロック・パラメータを選択するための必要十分条件を表す。選択された所定範囲および最小値は、共に式（４）の条件を満たさなければならない。そうでない場合には、後述するように、この条件を満たす別の値の組を選択しなければならない。Ｑmin（Ｒｓ）は、上の式（３）の結果である。
Rs+Qmin(Rs)>Xmax    (4)
２つの範囲、１６および２５６は特殊な場合であり、異なる形で扱われる。２５６の範囲は、８ビットを表現することができる最大値を表すので特殊である。範囲が２５６の場合、正の８ビット値のすべてが０から２５６の範囲内で発生するために、最小画素値のデフォルトは０になる。パラメータ・フィールドでこの値を表現するために必要な、またはそれに使用されるビットは存在せず、これにより、量子化されたデータを記憶するためにもう３ビットが提供される。
所定範囲１６も、式（２）によって定義される最小値の関連する組の間の線形ステップより小さいために特殊な場合である。この範囲に対して８つの所定の最小値の組を使用する場合、各最小値間の定数ステップは約３４になる。値３４は、１６という範囲の２倍以上である。１６という所定範囲について所定の最小画素値を選択し、選択された最小値に所定範囲を加算し、なおかつ実際の最小値を有しないことが可能である。例えば、１６という所定範囲が選択され、実際のブロック最小画素値が９０の場合、式（３）は６８という選択された最小画素値を生成する。実際の画素値が９０から１０２までとなるのに対し、このシステムは再構成時に６８から８４までの画素値を生成する。この例から生じる誤差は、表示される画像に顕著なゆがみを生じるはずである。これは、逆量子化器２６の予測ネットワークがすべての再構成される画素ブロック値の定数オフセットとしてこの最小画素値を使用するので、量子化された画素ブロックの再構成時に発生する。さらに、量子化器２０は実際の値が表現されないことを認識し、すべての実際の値を表現する次に大きい範囲を選択する。したがって、１６という所定範囲が選択された時には、実際の８ビット最小画素値はパラメータ・フィールドに記憶される。
１６は、本実施例ではメモリが５０％削減されるために、この組の最小の所定範囲である。この削減では、８ビット・ワードを平均４ビットで表現することが必要になる。１６という範囲を用いると、値０から１５までだけを表現する必要があり、４ビットを用いて可逆量子化が可能になる。したがって、１６より狭い範囲は追加の利益を有しない。例えば雲のない空など、動きのないフラットな画像の場合、わずかな量子化誤差によって再構成時に顕著なアーチファクトを生じる。しかし、フラットな画像は色また動きの変動がほとんどないか全くないので、１６の範囲が正確に発生する可能性が高い。
特定のシステムのためにどの最小の所定範囲の値を選択するかに関するこの分析は、任意のメモリ削減比率に使用することができる。例えば、メモリの２５％の削減では、平均して量子化される画素毎に６ビットが必要になる。関連する最小の所定範囲は、したがって６４になる。
元の画素ブロック・データを再構成するためには、逆量子化器２８は、量子化器３０が画素ブロックを量子化する時に使用した量子化テーブルを構成するために使用した範囲を知らなければならない。所定範囲および最小画素値の符号化表現は、量子化された圧縮データ・ペイロード３５（図３）に関連するパラメータ・フィールド３３の形でメモリ１４内に記憶される。パラメータ・フィールドに含まれる他の画素ブロック・パラメータは、例えば最大画素ブロック値や参照画素ブロック値とすることができる。やはり、図３は、圧縮データ・ペイロード３５の前に置かれるヘッダとしてのパラメータ・フィールド３３の１つの可能な構成を示す図である。
式（１）および式（３）により、選択される所定の最小値が実際の最小値より小さいために、式（４）を満足しないブロック・パラメータが選択される場合がある。例えば、所与の画素ブロック内の最小画素値が１００であり、最大画素値が１４０の場合には、選択される所定範囲は６４になる。式（２）からもたらされる選択される所定の最小画素値は８２になる。選択された最小値を選択された範囲に加算した結果は１４６になるが、これは実際の最大画素値より大きい。したがって、この画素ブロックの値のすべてが、選択された所定の値によって表現される。しかし最大画素ブロック値が１６０の場合には、選択される所定の値は同一だが、その画素ブロックの領域を完全には表現できない。この場合、量子化器２８がこの問題を検出し、次に大きい所定範囲の９６と所定の最小値９１を選択する。９１と所定範囲９６の合計は１８７になり、実際の最大画素ブロック値である１６０より大きい。したがって、この範囲から選択される量子化テーブルおよび逆量子化テーブルは、このブロックの画素のすべてのレベルを提供する。
図４は、選択された範囲が所定の最小値に対してすべての画素値を含むことを保証するためのインデックス選択処理を示すフローチャートである。この処理は、上で説明したように所定範囲１６および２５６には使用されない。ステップ７４で、入力画素値ＸＭＩＮおよびＸＭＡＸの実際の範囲を計算し、その後、上の式（１）による記述にしたがって実際の範囲が収まるように所定範囲を選択する。ステップ７６で、式（２）によって所定の最小ブロック画素値ＱＭＩＮを選択する。ステップ７８で、範囲と最小ブロック画素について選択された２つの所定の値を加算し、実際の最大ブロック画素値と比較する。ステップ７８の合計が実際の最大ブロック画素値より大きい場合には、選択された所定の値に処理中の画素ブロックの実際の画素の値が含まれ、処理は終了する。ステップ７８の合計が実際の最大画素ブロック値以下の場合には、所定範囲と最小ブロック画素値を破棄し、次に大きい所定範囲値を選択する。新しい所定範囲に関連する新しい所定の最小ブロック画素値を判定する。正しい所定範囲および最小画素値が選択された後に、それらのインデックスをパラメータ・フィールド３３（図３）に格納し、所定範囲値を使用して量子化テーブルを選択する。
図５は、逆量子化器２６内の最小最大範囲デコーダ（ＭＭＲＤ）３８、逆量子化プロセッサ３６、およびデマルチプレクサ３４の配置を示す図である。デマルチプレクサ３４はメモリ１４から量子化されたデータとパラメータ・フィールドを含むパケットを受け取り、パラメータ・フィールドをＭＭＲＤ３８に送る。ＭＭＲＤ３８は量子化された最小ブロック画素値と範囲を合計し、最大ブロック画素値を計算し、量子化されたデータと共にすべてのブロック・パラメータを逆量子化プロセッサ３６に送る。逆量子化プロセッサ３６は、予測器２４（図１）から予測データも受け取る。逆量子化プロセッサ３６は入力１０に対する相対的な元々のビット毎画素サイズに一致するように画素ブロックを再構成し、再構成されたデータを出力ネットワーク（図７）に出力する。
図１に戻って、メモリ１４は、量子化された画素ブロックとパラメータ・フィールドを、これらが画素の再構成および表示のために必要でなくなるまで記憶する。これらのデータがメモリ１４に常駐している間は、共通のデータバスを使用するマイクロプロセッサの制御の下で、デコンプレッサ１６を介して後続のディスプレイ・プロセッサがこれらのデータにアクセスし、復号することができる。コンプレッサ１２およびデコンプレッサ１６は共通の集積回路に存在し、集積回路設計を単純にするために類似の設計と構造を示す。メモリ１４は、有利なことにこの集積回路の外部に存在し、これにより、特定のシステムの信号処理要件に対処する必要に応じてメモリ１４のサイズを選択できるようになっている。これは、製造コストの節約、例えば、コスト削減の場合、ＭＰＥＧデコーダ用のフレームメモリの必要量が少ない低解像度ディスプレイを使用する消費者向けテレビジョン受像機などをもたらす。また、節約された記憶領域は、通常は他のシステム構成要素によって使用可能であり、総合的なシステム性能が高まる。
図６に、本発明に係るデータ量子化／逆量子化ネットワークのフローチャートの例を示す。ステップ８０で、ＭＰＥＧ互換受像機はネットワークに画素ブロックを供給する。この画素ブロックはデコンプレスされており、例えば８ビットのクロマ（chroma）またはルマ（luma）データである。ステップ８２で、ネットワークはデータを評価し、範囲とブロック内の最小（ＭＩＮ）画素値を判定する。実際の範囲を判定した後に、ネットワークはステップ８４で、実際の範囲と所定範囲の組との間での最適一致分析を実行する。組のうちで、実際の範囲以上で最小の所定範囲が、処理の残りに関して実際の範囲と置換される。所定の最小値の組が、選択された所定範囲に関して存在する。ブロックの実際の最小画素値と組の間でも最適一致分析を実行して、表現値を選択する。ステップ８６で、実際のブロック画素値のすべてが選択された所定範囲および最小画素値によって定義される領域内に含まれることを確認する。この領域の上限は、所定範囲と最小画素値の合計である。この結果が実際の最大画素値以下の場合には処理はステップ８４に戻り、次に大きい所定範囲を選択し、新しい所定の最小値についても同様に選択する。ステップ８８で、選択された所定範囲と最小画素値を３ビットの２進インデックス表現に符号化する。ステップ９０で、このインデックス表現を、量子化された画素ブロックと共にメモリに記憶する。その後、ネットワークの量子化処理部分は、次にデコンプレスされる画素ブロックを取り出し、ステップ８０からの処理と同一の形でそれを処理する。
出力ネットワークがデータを要求した時には、ステップ９２で、量子化された画素ブロックと共に３ビット・インデックス表現がメモリから取り出される。ネットワークはステップ９４で、選択された所定範囲および最小画素値の３ビット・インデックス表現を復号する。その後、ネットワークはステップ９６で、これらの値を使用して、量子化された画素ブロックの再構成を促進する。再構成されたデータは、ステップ９８で出力ネットワークに送られる。ステップ９２で、ネットワークの逆量子化処理部分をもう一度開始して、同じ形でインデックス表現を復号し、後続画素ブロックを再構成する。
図７に、前述した本発明に係る装置を含む、テレビジョン受像機内の実用的なデジタル信号処理システムの一部の例を示す。図７のデジタル・テレビジョン受像機は、詳細を過剰に描かないように簡略化されている。図示されていないものとして例えば、様々な要素に関連するＦＩＦＯ入出力バッファ、読み書き制御、クロック・ジェネレータ・ネットワーク、および外部メモリとインタフェースするための制御信号があり、当該メモリは拡張データ出力型（ＥＤＯ）、シンクロナス型（ＳＤＲＡＭ）、ラムバス  ＤＲＡＭ（rambus DRAM）または他の任意の種類のＲＡＭとすることができる。
図１と図７に共通する要素には同一符号を付す。ユニット７０を除くシグナル・プロセッサ７２の諸要素は、ＳＧＳ−Ｔｈｏｍｓｏｎ  Ｍｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ社が市販するＳＴｉ  ３５００Ａ  ＭＰＥＧ−２／ＣＣＩＲ  ６００  ビデオ・デコーダ集積回路に見られる要素に対応する。
簡潔に言うと図７のシステムは、マイクロプロセッサ４０と、内部制御バス４６に結合されたバス・インタフェース・ユニット４２およびコントローラ４４を含む。この例でマイクロプロセッサ４０は、ＭＰＥＧデコーダ７２を含む集積回路の外部に配置されている。１９２ビット幅の内部メモリバス４８は、コンプレッサ１２と、類似のデコンプレッサ１６および５０と、外部のフレームメモリ１４との間のデータの通路である。ユニット１２、１６および５０は、マイクロプロセッサ４０からコントローラ４４を介して、イネーブル制御信号と共に圧縮係数制御信号または圧縮解除係数（decompression factor）制御信号を受け取る。さらに、リクエスト入力を受け取り、アクノリッジ出力ならびにメモリのアドレス出力、リード・イネーブル出力およびライト・イネーブル出力を供給するローカル・メモリ制御ユニット５２も含まれる。メモリ制御ユニット５２は、メモリ１４を制御するためのアドレス信号と制御信号をリアルタイムで生成する。メモリ制御ユニット５２は、ローカル・クロック・ジェネレータ（図示せず）からの入力クロック信号Ｃｌｏｃｋ  Ｉｎに応答して出力クロック信号Ｃｌｏｃｋ  Ｏｕｔも供給する。マイクロプロセッサ４０は、ＭＰＥＧ復号、表示処理およびオンスクリーン表示マップのために、メモリ１４をビット・バッファ、ビデオ・フレーム記憶セクションおよびフレーム記憶バッファに区分する。
ディスプレイ・プロセッサ５４は、デコンプレスされた画像フォーマットを画像再生表示装置５６による表示のための所定の共通フォーマットに変換する必要に応じて、水平および垂直の再サンプリング・フィルタを含む。このシステムは例えば、５２５ライン・インタレース方式、１１２５ライン・インタレース方式、７２０ライン・プログレッシブ・スキャンなどのフォーマットに対応する画像シーケンスを受信し、復号する可能性がある。テレビジョン受像機は、すべての受像機フォーマットに対して共通の表示フォーマットを使用する可能性が高い。
外部インタフェース・ネットワーク５８は、ＭＰＥＧデコーダによる処理のための入力圧縮ビデオデータの他に、ＭＰＥＧデコーダと外部のマイクロプロセッサ４０の間で制御情報および構成情報を運ぶ。ＭＰＥＧデコーダ・システムは、補助プロセッサ、すなわちマイクロプロセッサ４０に用いるプロセッサに類似する。例えばマイクロプロセッサ４０は、復号するフレーム毎にＭＰＥＧデコーダに復号コマンドを発行する。デコーダが関連するヘッダ情報を突き止め、これをマイクロプロセッサ４０が読み取る。この情報を用いてマイクロプロセッサ４０は、デコーダを設定するためのデータ、例えばフレームの種類、量子化マトリックスなどに関するデータを発行し、その後、デコーダが適当な復号コマンドを発行する。上述したＳＧＳ−Ｔｈｏｍｓｏｎ社のＳＴｉ  ３５００Ａ集積回路デバイスの技術仕様資料に、この様な形のＭＰＥＧデコーダ動作に関する追加情報が記載されている。
マイクロプロセッサ４０は受像機製造業者によってプログラムされるモード制御データをローカル・メモリ制御ユニット５２に渡し、マルチプレクサ３２（図２）およびデマルチプレクサ３６（図５）の動作を制御し、必要に応じてユニット１２、１６および５０の圧縮係数／圧縮解除係数（compression／decompression factors）を確立する。開示されたシステムは、例えば地上波放送、ケーブル・システムおよび衛星送信システムに関連するものなど、様々なデジタル・データ処理方式に関連するＭＰＥＧ仕様のすべてのプロファイルおよびレベルと共に使用することができる。
図７は、シグナル・プロセッサ７２のうちで、入力高精細度ビデオ信号を処理するための、テレビジョン受像機に見られるものなどのデジタル・ビデオ部分も示す。シグナル・プロセッサ７２は、アナログ・チャネル（図示せず）を介して標準精細度ビデオ信号を受け取り、処理するための備えを有する集積回路に含めることができる。シグナル・プロセッサ７２は、ブロック６０、６２、６４、６６、６８、７０によって構成され、フレーム・メモリ１４を含む通常のＭＰＥＧデコーダを有する。例えば、上述したＡｎｇ他著、「Ｖｉｄｅｏ  Ｃｏｍｐｒｅｓｓｉｏｎ  Ｍａｋｅｓ  Ｂｉｇ  Ｇａｉｎｓ」に、ＭＰＥＧエンコーダおよびＭＰＥＧデコーダの動作が記載されている。
シグナル・プロセッサ７２は、前段の入力プロセッサ（図示せず）、例えば入力信号復調の後にデータ・パケットを分離するトランスポート・デコーダから、ＭＰＥＧ符号化データの制御されたデータ・ストリームを受け取る。この例では、受け取られた入力データ・ストリームは米国高精細度地上波テレビジョン放送システム用のグランド・アライアンス・スペシフィケーションで指定された高精細度画像素材（１９２０×１０８８画素）を表す。この入力データ・ストリームは、ＭＰＥＧ圧縮規格を使用して圧縮された画像のシーケンスを表す階層型データ・ストリームの形式である。これらの画像は、イントラフレーム情報およびインタフレーム情報として周期的に圧縮され、符号化される。イントラフレーム情報は、１フレーム・アンカー・フレームを含む。インタフレーム情報は、隣接するピクチャ・フレーム間の画像の差分を表す予測動き符号化残差情報を含む。インタフレーム動き符号化には、処理中の現ブロックと前に再構成された画像のブロックとの間のオフセットを表す動きベクトルの生成が含まれる。現ブロックと前ブロックの間の最適一致を表す動きベクトルが符号化され、伝送される。また、動き補償された８×８ブロックのそれぞれと前に再構成されたブロックの間の差（残差）は伝送前に離散コサイン変換（ＤＣＴ）され、量子化され、可変長符号化（ＶＬＣ）される。上記のＡｎｇ他を含む様々な刊行物に、動き補償付き符号化処理が詳細に記載されている。
バッファ６０は、可変長デコーダ（ＶＬＤ）６２による可変長復号の前に、入力の圧縮画素データ・ブロックを受け入れる。バッファ６０は、メイン・レベル、メイン・プロファイルのＭＰＥＧデータ・ストリームの場合に１．７５Ｍビットの記憶容量を示す。逆量子化器６４と逆離散コサイン変換（ＩＤＣＴ）６６は、ＶＬＤ６２からの復号された圧縮データをデコンプレスする。ＩＤＣＴ６６からの出力データは、加算器６８の入力の１つに結合される。
バッファ６０からの信号は逆量子化器６４の量子化ステップ・サイズを制御し、滑らかなデータの流れを確実にする。ＶＬＤ６２は、既述のように復号された動きベクトルを動き補償ユニット７０に供給する。ＶＬＤ６２は、既知のとおり（簡略化のために図示せず）インタフレーム／イントラフレーム・モード選択制御信号も生成する。ユニット６２、６４および６６によって実行される動作は、送信器に配置されるエンコーダの対応する動作を逆転したものである。
ユニット６６からの残差画像データをユニット７０の出力から供給される予測画像データと合計することにより、加算器６８はビデオ・フレームメモリ１４の内容に基づいて再構成された画素を供給する。シグナル・プロセッサ７２が画素ブロックのフレーム全体を処理した時に、フレームメモリ１４は結果の再構成された画像を格納する。インタフレーム・モードでは、ＶＬＤ６２から得られた動きベクトルにより、ユニット７０からの予測されたブロックの位置が与えられる。
加算器６８、メモリ１４および動き補償ユニット７０を用いる画像再構成処理は、有利なことに、フレームメモリ１４へのデータ記憶の前のブロック・コンプレッサ１２の使用によって、かなり削減されたメモリ要求を示す。フレームメモリ１４のサイズは、例えば５０％圧縮率が使用される時に５０％まで削減することができる。ユニット５０はユニット１２と逆の機能を実行し、上述したデコンプレッサ１６に類似する。デコンプレッサ５０は画像ブロックを再構成し、したがって、動き補償ユニット７０は上述したように機能することができる。コンプレッサ１２とデコンプレッサ１６および５０は、本発明の原理にしたがって構成される。図１、図２および図５に、ユニット１２、１６および５０の詳細が示されている。
【図１】
0004201839.tif 000002
【図２】
0004201839.tif 000003
【図３】
0004201839.tif 000004
【図４】
0004201839.tif 000005
【図５】
0004201839.tif 000006
【図６】
0004201839.tif 000007
【図７】
0004201839.tif 000008