(57)【特許請求の範囲】
【請求項１】
イメージを表す情報を処理するシステムにおける、
イメージを表す圧縮されたデータのデータストリームを受信する入力ネットワークと、
前記入力ネットワークからの圧縮されたデータを圧縮解除するデコンプレッサと、
前記デコンプレッサからの圧縮解除されたデータを処理する動き情報処理ネットワークと、
前記動き情報処理ネットワークによって処理されたデータをストアするメモリ・ユニットと、
前記メモリ・ユニットにストアされたデータを処理する出力イメージ・プロセッサと、
前記メモリ・ユニットにストアされる前に前記動き情報処理ネットワークに処理されたデータを圧縮する圧縮器であって、
可変圧縮特性を示す、ブロック単位の第１圧縮器と、
固定圧縮特性を示し前記第１圧縮器と並列に動作する、ブロック単位の第２圧縮器とを有する圧縮器と、
イメージ・データのブロックを前記第１圧縮器と前記第２圧縮器とに同時に入力する手段と、
前記第１圧縮器に結合されていて、前記第１圧縮器によって処理されたデータ・ブロックが所望の圧縮係数を示しているかどうかを判断する手段と、
（ａ）前記可変圧縮データがあらかじめ決められた所望の圧縮係数以上を示しているときは前記第１圧縮器からの可変圧縮データを、（ｂ）前記可変圧縮データが前記圧縮係数未満を示しているときは前記第２圧縮器からの固定圧縮データを、選択的に前記メモリ・ユニットへ送る選択ネットワークと
を備えていることを特徴とする、ＭＰＥＧ互換復号器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はイメージ（画像、映像など）を表すディジタル信号を処理するシステムにおけるＭＰＥＧ互換のイメージ信号復号器（デコーダともいう）に関する。
【０００２】
なお、本明細書の記述は本件出願の優先権の基礎たる米国特許出願第０８／５７９，１９２号（１９９５年１２月２７日出願）の明細書の記載に基づくものであって、当該米国特許出願の番号を参照することによって当該米国特許出願の明細書の記載内容が本明細書の一部分を構成するものとする。
【０００３】
【従来の技術】
ディジタル信号処理技術の急速な進歩に伴って、例えば、直接放送衛星(direct broadcast satellite)および高精細（高品位）テレビジョン(high definition television - ＨＤＴＶ）を含む、種々の分野におけるディジタル・イメージ信号処理が進歩を遂げている。ＭＰＥＧ（Motion Picture Experts Group：動画専門家グループ）信号処理標準(ISO/IEC 13818-2、１９９４年５月１０日) はイメージ信号処理に関して開発されたものである。このイメージ処理標準は広く認められ、高精細（高品位）テレビジョン（ＨＤＴＶ) を含む、衛星、ケーブルおよび地上放送システムで使用する場合に特に魅力的であることが知られている。
【０００４】
【発明が解決しようとする課題】
ＭＰＥＧビデオ信号復号器では、ＭＰＥＧ符号化ディジタル・データストリームを復号化するためには、このデータストリームが公知のようにＩ、ＰおよびＢイメージ・フレームを表しているので、２以上のイメージ・フレームのメモリが必要になるのが代表的である。ＭＰＥＧデータストリームを復号化するために３フレームのメモリが必要であり、参照ＩまたはＰフレーム・データをストアするために２フレームのメモリが必要であり、Ｂフレーム・データをストアするために１フレームのメモリが必要であるのが一般である。例えば、直接放送衛星受信装置側の復号器での従来のＭＰＥＧ復号器は１６Ｍビットのランダムアクセスメモリ（ＲＡＭ）を搭載している場合があり、米国のGrand Allianceで提案されているようなＨＤＴＶシステムでのＭＰＥＧ復号器では、約８０ＭビットのＲＡＭを必要としている。現時点では、これだけの容量のＲＡＭのコストは大になっている。特に、ビデオ・システムやテレビジョン・システムなどのコンシューマ製品において、必要メモリ量を制限する必要性は、かかる製品のコストを妥当なレベルに抑える上で重要になっている。
【０００５】
【課題を解決するための手段】
本発明の原理によれば、ディジタル・イメージ処理システムの必要メモリ容量を効率的に管理することは、特に、コンシューマ製品で普及化する可能性をもっているＭＰＥＧ互換システムの場合には望ましいことが認められている。
【０００６】
本発明の原理を採用するイメージ信号復号器では、以前に圧縮解除(decompress)されていたイメージ・データは圧縮されてから、復号化プロセスで使用されるメモリに書かれるようになっている。開示されているＭＰＥＧ互換の復号器の実施例では、データはイメージ・フレーム・メモリに書かれる前に圧縮され、そこにストアされたデータは表示されるとき、あるいは動き補償(motion compensation) 処理などのＭＰＥＧ復号化機能（function：関数ともいう）で必要になったとき圧縮解除されるようになっている。
【０００７】
本発明の特徴によれば、圧縮は２つの異なる圧縮経路(compression path)の一方からの圧縮データを使用してブロック単位で行われる圧縮(block-based compression) である。
【０００８】
【発明の実施の形態】
図１は、テレビジョン受信装置または衛星受信装置に搭載されているようなビデオ信号プロセッサの一部を示す図である。ビデオ・プロセッサはブロック１０，１２，１４，１６，１８，２０および２２で構成された、従来のＭＰＥＧ復号器を装備している。ＭＰＥＧ符号器(encoder：エンコーダともいう）と復号器は、例えば、Ang 他著の「ビデオ圧縮は大きな利得をもたらす(Video Compression Makes Big Gains) 」(IEEE Spectrum、１９９１年１０月) に説明されている。本発明の原理によれば、ＭＰＥＧ復号器はさらにブロック圧縮ユニット(block compressor unit) ３０を含んでおり、データは圧縮されてからフレーム・メメリに書かれるようにしている。
【０００９】
図１のシステムはＭＰＥＧ符号化された圧縮データの制御されたデータストリームを、その前に置かれた入力プロセッサ、例えば、トランスポート復号器(transport decoder) から受信する。なお、この入力プロセッサは入力信号を復調したあとでデータ・パケットを分離している。受信データは８×８ピクセル（画素）を表すデータ・ブロックの形態になっている。このデータは符号化されたイントラフレーム（intraframe：フレーム内）情報と、隣接ピクチャ・フレーム間のイメージ差分を表しているインタフレーム（interframe：フレーム間）予測動き符号化残余イメージ情報(predictive motion coded residual image information)の両方を表している。インタフレーム動き符号化は、処理しようとしている現ブロックと先行の再構築イメージ中のブロック間のオフセットを表している動きベクトル(motion vector) を生成することにより行われる。現ブロックと先行ブロック間の最良一致(best match)を表している動きベクトルは符号化され、送信される。また、各動き補償８×８ブロックと先行再構築ブロックとの差分（残余）はＤＣＴ変換され、量子化され、可変長符号化(variable lenght coded) されてから送信される。この動き補償符号化プロセスは前記の Ang他著の論文に詳しく説明されている。
【００１０】
入力の圧縮ピクセル・データ・ブロックはユニット１０のバッファに置かれてから、ユニット１２によって可変長復号化(variable length decoded) される。バッファ１０は、メインレベルの、メインプロフィール(main level, main profile)ＭＰＥＧデータストリームの場合には、記憶容量が１．７５Ｍビットになっている。ユニット１２で復号化された圧縮データは逆量子化ユニット(inverse quantization unit) １４と逆離散コサイン変換(inverse discrete cosine transformation - ＤＣＴ）ユニット１６によって圧縮解除されてから、加算器(adder) １８の一方の入力に印加される。逆量子化器１４から得られたステップ・サイズ（step size)はバッファ１０からの信号によって制御され、円滑なデータフローを保証している。復号化された動きベクトルは、以下で説明するように、復号器１２から動き補償ユニット(motion compensation unit)２２へ渡される。復号器１２はインタフレーム／イントラフレーム・モード選択制御信号も出力するが、これは公知であるので、図面を簡略化するために図示されていない。ユニット 12、１４および１６によって行われるオペレーションは、例えば、送信装置側符号器で行われる対応するオペレーションの逆である。図１のＭＰＥＧ復号器は、以下で簡単に説明されている公知のＭＰＥＧ処理手法を用いて受信イメージを再構築する。
【００１１】
再構築されたピクセル・ブロックは、ユニット１６からの残余イメージ・データ(residual image data) を、フレーム・メモリ２０の内容に基づいて動き補償ユニット２２の出力から得られた予測イメージ・データ(predicted image data)と加算することによって加算器１８の出力から得られる。ピクセル・ブロックのフレーム全体が処理されると、その結果の再構築イメージはフレーム・メモリ２０にストアされる。インタフレーム・モードでは、復号器１２から得られた動きベクトルは、ユニット２２からの予測ブロックのロケーションを得るために使用される。
【００１２】
加算器１８、メモリ２０および動き補償ユニット２２を使用して行われるイメージ再構築プロセスは、本発明の原理によるブロック単位の圧縮器(compressor)３０を使用すると、必要メモリ量が大幅に削減されるという利点がある。具体的には、フレーム・メモリ２０用に必要なメモリ量は、ユニット３０によって行われる圧縮を関数として、あらかじめ決められた量だけ、例えば、５０％（またはそれ以上）削減される。圧縮器３０の詳細は図３を参照して以下で説明する。
【００１３】
図２は、メモリ・デバイス２０の必要メモリ量がどのように削減されているかを絵で表して示したものである。図２において、左側のメモリ・マップはフルサイズ・メモリ(full size memory)内のピクセル・ブロックのマップを示し、右側のメモリ・マップは５０％縮小メモリ(50% smaller memory)がどのように使用されて、ユニット３０で圧縮されたブロックをストアしているかを示している。図３に示す圧縮ネットワーク（回路網）の以下の説明で明らかにするように、各ブロック（例えば、ブロックＣ）は、フルサイズ・メモリ用に通常必要になるスペースの５０％またはそれ以下内に収まるように保証されている。つまり、ユニット３０から得られる圧縮は５０％またはそれ以下になっている。この例では、圧縮後に残っている未使用メモリ・スペースは、いずれかのブロックのデータの開始位置が既知ロケーション、つまり、開始アドレス(starting address)となるように未使用のままになっている。
【００１４】
フルサイズ・メモリでは、ビデオ・フレーム・ピクセルとメモリ・ピクセル・アドレス間のマッピング(mapping) は固定されているので、任意の特定ピクセルを探し出してアクセスすることができる。縮小サイズ・メモリ(reduced size memory) では、マッピングはピクセル単位(pixel-by-pixel)になっていない。その代わりに、ピクセル・ブロックがメモリにマッピングされる。特定のブロック内からの特定のピクセルが必要になったときは、そのブロック全体のデータをアクセスする必要がある。
【００１５】
従来のＭＰＥＧ２メインレベル、メインプロフィール・システム（７２０×４８０ピクセル）では、３つのビデオ・フレームをストアするためには１２，４４１，６００ビットのフレーム・メモリ容量が必要である。上述したように本発明に従ってこれらのフレームを５０％に圧縮してからストアするようにすると、ＭＰＥＧ復号化のために必要になるメモリはわずか７，９７０，８００ビットである。つまり、ユニット２０用のフレーム・メモリは６，２２０，８００ビットであり、ユニット１０用のバッファ・メモリは１，７５０，０００ビットである。従って、システムが代表的な１６Ｍビット外部メモリ・デバイスを採用していれば、ＭＰＥＧ復号化のために必要なメモリ・スペースは約８Ｍビットだけであるので、残りの外部メモリ容量は、例えば、オンスクリーン・ディスプレイ、マイクロプロセッサＲＡＭ、トランスポート・バッファ、その他の特殊バッファなどの他の目的で使用するように残しておくことができる。開発される集積回路が小型化されると、復号器メモリを他の復号器ネットワークと一緒に同一集積回路上に集積することが可能になる。ＨＤＴＶ復号化システムで必要メモリ量を削減することが、大幅節減をもたらすことになる。例えば、米国内のGrand Allianceで提案されているＨＤＴＶシステムでは、必要フレーム・メモリ量は次のようになっている。
【００１６】
【数１】
１９２０×１０８０×１２×３＝７５，２０２，５６０ビット
５０％圧縮すると、必要メモリ量は３７，６０１，２８０ビットに削減される。
【００１７】
データをメモリ２０にストアする前に圧縮器３０で圧縮を使用するためには、動き補償処理ループ内でユニット２２の以前にデータが圧縮解除されている必要がある。これは、ブロック単位のデコンプレッサ(decompressor)３２が圧縮器が行うオペレーションの逆を行うことによって行われる。ブロック単位のデコンプレッサ３４はユニット３２と類似しており、ストアされたピクセル・ブロックを圧縮解除してからディスプレイ・プロセッサ２６に渡される。プロセッサ２６には、例えば、ピクセル・データを表示するように条件づける回路、ディスプレイ・ドライバ・ネットワーク(display driver network)、およびイメージ再現デバイス(image reproducing device)を含めることができる。
【００１８】
上述したメモリ削減手法は、ＭＰＥＧ２データストリームを復号化する機能を備えていて、イメージ解像度が最大ＣＣＩＲ６０１（７２０×４８０ピクセル）であるＭＰＥＧ２メインレベル、メインプロフィール復号器で使用することができる。この手法はＭＰＥＧ1 データストリームにも、放送、ケーブルおよび衛星テレビジョン信号や他のタイプの情報伝達信号と関連づけられているような、高精細（高品位）フォーマットを含む他のイメージ解像度にも等しく応用可能である。
【００１９】
Ｉフレームなどの、ストアされたアンカ・フレーム(anchor frame)からのデータは、入力の圧縮データストリームの中で受信された動きベクトルに従ってランダム方式でアクセスされるのが一般的である。ブロック単位の圧縮方式によると、フレーム・メモリからのピクセル・データのアクセス可能性は妥当なレベルに保たれている。８×８ピクセル・ブロックは開示された圧縮方式と一緒に使用すると効率的であることが分かっている。ピクセル・ブロックを大きくすると、複雑化した圧縮手法(sophisticated compression technique) が使用できるが、ピクセル・アクセス可能性が低下するという犠牲を伴う。ブロックを小さくすると、ピクセルをきめ細かくアクセスすることができるが、圧縮オプションが少なくなるという犠牲を伴う。量子化と変換を含む、種々タイプの圧縮は、特定システムの要求条件に応じて圧縮器３０の機能を実現するために使用することができる。
【００２０】
使用するタイプの圧縮はある種の特性を備えていることが好ましいが、必ずしもそうである必要はない。各ブロックはあらかじめ決められた量だけまたはそれ以上に圧縮しておくと、各圧縮ブロックのロケーションは図２に示すメモリ・マッピングを参照して説明したように、突き止めることが容易化される。各ブロックは、他のブロックから独立して圧縮／圧縮解除されるべきである。このようにすると、どのブロックも、他のどのブロックを読み取らなくてもアクセスすることが可能になる。理想的には、圧縮／圧縮解除プロセスは無損失(lossless)であるべきであるが、これはどのサイズのブロックでも保証されるとは限らない。従って、圧縮／圧縮解除プロセスは、好ましくないアーティファクト(artifacts) を再現イメージの中に発生してはならない。
【００２１】
圧縮器３０で使用すると特に利点がある圧縮手法を示したのが図３である。この圧縮手法では、可変圧縮ネットワーク(variable compression network)を固定圧縮ネットワーク(fixed compression network) と並列に使用している。これらの圧縮ネットワークは同一ピクセル・ブロックに対して同時に作用する。可変圧縮ネットワークは無損失またはほぼ無損失であるという利点があるので、優先的に使用される(preferred) 圧縮ネットワークである。可変圧縮ネットワークがあらかじめ決められた、望ましいデータ圧縮量を得るのに失敗すると、固定圧縮ネットワークの出力の方が使用されることになる。固定圧縮ネットワークは望ましい圧縮量を得ることができるが、他方では、このネットワークには損失が多い(lossy) という欠点がある。
【００２２】
図３に示すように、ソース１８からのデータは並列の独立データ圧縮経路３１４と３２０を含んでいるデータ圧縮ネットワークの入力端３１２に入力される。経路３１４はほぼ無損失の経路であり、そこには、可変圧縮プロセッサ３１６が置かれている。このプロセッサは圧縮データを出力して、マルチプレクサ（ＭＵＸ）３２５の信号入力側の一方とビット・カウンタ３１８へ入力する。カウンタ３１８はユニット３１６によって圧縮された各データ・ブロックのビット・カウントをモニタし、スイッチング制御信号をＭＵＸ３２５の制御入力側に入力する。圧縮経路３１４の詳細は図４に示されているが、その詳しい説明は同図を参照して下述する。経路３２０は損失の多い経路であり、そこには、その詳細が図５に示されている固定圧縮プロセッサ３２２が置かれている。ユニット３２２からの圧縮出力データはＭＵＸ３２５の他方の信号入力側に入力される。ＭＵＸ３２５は、経路３１４からの圧縮データまたは経路３２０からの圧縮データのどちらかを圧縮ネットワークの出力端３２８へ送る。これについては、以下で詳しく説明する。出力の圧縮データは図１のフレーム・メモリ２０へ送られる。
【００２３】
ブロック単位の圧縮ネットワーク３１４，３２０は各ピクセル・ブロックを相互に独立して圧縮し、基本的には、各ブロックがあらかじめ決められた圧縮係数またはそれより大の係数だけ圧縮されることを保証する。圧縮経路３１４または圧縮経路３２０のどちらかが選択されてメモリ２０に入力され、十分なイメージ品質と所望の圧縮係数（この例では、５０％）が得られるようになる。５０％より大きい圧縮係数を使用することも可能である。なお、圧縮係数が５０％未満でも、良好な結果が得られることが確認されている。圧縮係数が２５％のときは、その圧縮係数は、そのような圧縮が行われない従来の復号器の処理に比べてほぼトランスペアレント(transparent) になっている。圧縮が５０％のときは、結果はトランスペアレントが低下するが、その結果は十分に良好であり、メモリ削減のない従来の符号器の処理に比べて大きな差異は認められない。
【００２４】
圧縮ネットワークは複数経路になっているので、高イメージ品質が達成され、少なくとも固定圧縮係数が達成されることが保証される。可変圧縮経路３１４は無損失または無損失に近い圧縮を示しているが、経路３１４から得られる出力ビットの数は可変になっている。経路３１４からの圧縮ブロック出力ビットの数はカウンタ３１８によってモニタされる。圧縮ブロック・ビット３１４の数があらかじめ決められた圧縮係数に関連する、あらかじめ決められたターゲット・ビットカウントと等しいか、それ以下であれば、経路３１４からの圧縮データ出力がＭＵＸ３２５によって選択され、メモリ２０へ送られる。そうでなければ、固定圧縮器３２２からの圧縮ブロック出力が使用される。固定圧縮器３２２は損失の多い圧縮ルーチンを量子化と共に使用して、固定ターゲット・ビット出力を出力する。圧縮解除を容易化するために、各圧縮ブロックごとに、各圧縮ネットワークは、どのタイプの圧縮がそのブロックで行われたかを示すためのシグナリング（通知）情報をデータストリームに挿入する。このシグナリング情報は１または２以上のビットにして、各圧縮データ・ブロックの先頭に、例えば、ヘッダに挿入することができる。シグナリング・ビットは圧縮解除ネットワーク３２と３４（図１）によって検出され、そこでは、与えられたシグナリング・ビットに関連するブロックを圧縮するために使用された圧縮とは逆のことが行われる。ヘッダには、例えば、量子化制御情報などの、他の制御情報を入れることも可能である。
【００２５】
可変圧縮はイメージの滑らかなエリアで使用することが好ましく、そうすれば煩わしい輪郭アーティファフト(contouring artifact) の発生が防止される。可変圧縮器３１６は量子化をほとんど、あるいはまったく使用せず、ほぼ無損失のプロセスが行われるので、上記のようなエリアでは高イメージ品質がほぼ保証される。これに対して、固定圧縮器３２２は重要なディテール情報を含んでいるイメージ・エリアで使用することができる。このようなエリアに量子化ノイズがあっても、目立った誤差が生じるおそれがないので、経路３２０で固定圧縮を受けるイメージ・エリアの目に見える品質は良好になる可能性が大である。しかし、多くのシステムでは、そうした方が好都合であるとしても、可変圧縮と固定圧縮を上記のように使い分ける必要はない。これらの２圧縮ブロックのどちらを選択して使用するかは、可変圧縮器３１６からの圧縮ブロックのビットカウントに基づくだけである。圧縮器３１６が所望の圧縮を達成したことをビットカウントが示していれば、圧縮器３１６が使用される。そうでなければ、圧縮器３２２が使用される。
【００２６】
圧縮ネットワーク３１４，３２０による圧縮はブロック単位で行われ、すべてのブロックは独立して圧縮されるので、復号器は他のブロックに関する情報を必要とすることなく、すべてのブロックを復号化することができる。各ブロックはあらかじめ決められた圧縮係数で圧縮されるので、各ブロックの最初のピクセルのメモリ・アドレスは事前に分かっている。従って、各ブロックは他のブロックに関する情報がなくてもメモリからアクセスすることができる。この点に関して注目すべきことは、エリアは各ブロックごとにメモリに予約されていることである。圧縮が５０％の場合には、各予約エリアはオリジナル・ブロックの半分のサイズになっている。このようにして、各圧縮ブロックはそのブロック用に予約されたメモリ・エリアに収まることになるが、これはビットがカウントされ、圧縮器３２２の出力は必要時に使用されることによるためである。好ましい方の圧縮器３１６がターゲット圧縮量以上を達成することに成功したときは、圧縮器３１６の出力が使用されるので、予約されたメモリ・スペースの一部は圧縮ブロック・データで使用されないことになる。つまり、各圧縮ブロックは、あらかじめ決められた開始アドレスからそのブロック・エリアを満たしていき、そのブロック用に予約された最後のアドレス以下のアドレスまで続けていく。このプロセスは図２を参照して説明されている。
【００２７】
ブロック単位の圧縮機能として望ましことは、圧縮効率を高めると同時に、ピクセル・ブロックの各ピクセルへのアクセスを容易化することであるが、これらの２つは結果的には、相互に矛盾する性格をもっている。つまり、圧縮効率を高めるには、ブロック・サイズを大きくする必要があり、ピクセルへのアクセスを容易化するには、ブロック・サイズを小さくする必要がある。これらの特性の両方は、ピクセル・ブロック・サイズを８×８ピクセルと１６×４ピクセルにすると、ほぼ達成できることが分かっている。これらのブロックは、前述したようにユニット１０において必要なＮ×Ｎピクセル・サイズに形成される。
【００２８】
この例では、各フィールド・ベースのピクセル・ブロックは図６に示すように左から右へ下方に向かってラスタ方式でスキャンされる。このスキャンは、それぞれ図４と５に示すようにディレイ・エレメント(delay element：遅延素子）４５２〜４５６とディレイ・エレメント５５２〜５５６を使用して両ユニット３１６と３２２で行われる。これについては、以下で説明する。可変圧縮ネットワークは図４に示されている。このネットワークは適応予測(adaptive prediction) 付きのＤＰＣＭループを使用して、公知手法を用いて差分信号（残余）を出力する。この差分は可変長符号化(variable length coded) され、その結果の符号化差分ビット数はモニタされ、所望の圧縮係数が現ブロックで得られたかどうかを示している。
【００２９】
図４に示すように、差分ネットワーク(differencing network)４４２はユニット４４２の非反転入力端（＋）に印加された入力ピクセル値とユニット４４２の反転入力端（−）に印加された予測ピクセル値との差分（残余）を表している出力を出力する。予測値は、差分器(differencer) ４４２、可変長符号器４４４、およびユニット４４４の符号化オペレーションの逆を行う可変長復号器４４６を含んでいるＤＰＣＭ処理ループを使用して得られる。可変長符号器にオプションの高解像度量子化器とエントロピ符号器(entropy encoder) （例えば、ハフマン符号器(Huffman coder) ）を含めておくと、無損失または無損失に近い圧縮を行うことができる。可変長復号器は逆量子化器とエントロピ復号器を含んでいる。ユニット４４６からの逆復号化出力は、予測器(predictor) ４５０および関連のピクセル・ディレイ・エレメント４５２，４５４および４５６を含んでいる予測ネットワークからの出力とユニット４４８で加算される。これらのエレメントからは、それぞれ１ピクセル、７ピクセルおよび１ピクセルの遅延が得られる。ユニット４５０から出力された予測ピクセル値は加算器４４８と差分器４４２の入力に印加される。
【００３０】
図７は、ＤＰＣＭネットワークの予測処理と符号化オペレーションに関連する４つのピクセルＡ、Ｂ、ＣおよびＸ（予測されるピクセル）のグループの構成例を示している。このピクセル・グループは図６に示すピクセル・ブロックの中でも参照されている。この例では、ピクセルＢはピクセルＣに対して１ピクセル・インターバルだけ遅延され、ピクセルＡはピクセルＢに対して７ピクセル・インターバルだけ遅延され、ピクセルＸはピクセルＡに対して１ピクセル・インターバルだけ遅延されている。ＤＰＣＭ予測プロセスは周知であるが、これについては後述する。可変長符号器４４４の出力からの圧縮ピクセル・データはユニット４６０でバッファされてから図３のＭＵＸ３２５へ送られる。バッファ４６０は、１つのブロック全体が処理されるまで可変圧縮プロセスの出力をストアしておき、その処理が完了した時点で、ターゲット圧縮係数まで達したかどうかが判断される。
【００３１】
符号器４４４からの各圧縮ブロック出力のビットカウントはビットカウンタ４１８によってモニタされるが、このビットカウンタはいくつかの公知手法のいずれによっても実現することが可能である。各ピクセル・ブロックが可変圧縮されたあと、圧縮ビットカウントがあらかじめ決められたしきい値まで達したか、あるいはそれ以下にあって、所望の圧縮量が可変圧縮器によって達成されたか、あるいは越えていたことを示していれば、カウンタ４１８から制御出力信号(Control output signal) が出力される。この制御信号はＭＵＸ３２５のスイッチング制御入力端に印加され、これを受けてＭＵＸ３２５は、可変長圧縮器からの出力を利用ネットワーク(utilization network) へ送る。そうでなければ、固定長圧縮器からの圧縮ブロック出力（同一ピクセル・ブロックに対する）が利用ネットワークへ送られる。
【００３２】
固定圧縮ネットワークは図５に示されている。このネットワークも、可変圧縮の場合と同じように、適応予測付きのＤＰＣＭループを使用している。図５において、エレメント５４８，５５０，５５２，５５４および５５６の働きは、図４に示す対応するエレメントのそれと同じである。差分ネットワーク５４２も図４のユニット４４２と同じ目的に使用され、残余ピクセル値を出力するが、以下で説明するように使用される状況が若干異なっている。
【００３３】
固定圧縮ネットワークでは、ＤＰＣＭによる処理の結果としてユニット５４２の出力から得られた差分（残余）ピクセル値を非線形的に量子化する。ユニット５４２の非反転入力端（＋）には、６４ピクセル・ディレイ・エレメント５５５によって６４ピクセル・インターバルだけ遅延された入力ピクセル値が入力される。ユニット５４２の反転入力端（−）には、予測器５５０からの予測ピクセル値が入力される。ユニット５４２からの残余ピクセル値の出力はそれぞれ、ユニット５５６と５５８によって量子化と逆量子化を受ける。ユニット５５６で行われる量子化は固定であり、所望のデータ圧縮量を保証する。例えば、８ビットのデータワードを５０％圧縮するためには、ユニット５５６は最後の下位有効４ビットを除去する。固定圧縮量は所望の圧縮量以下になることはない。ユニット５５６と５５８は、各ピクセル・ブロックの最小および最大ピクセル値を判断する、最小値／最大値（Ｍｉｎ／Ｍａｘ）比較ネットワーク５６０の制御の下で動作する。
【００３４】
量子化器５５６は、固定量子化ルール(fixed quantizer rule)を使用するように構成することも可能である。しかし、処理されるブロックに関連する最小および最大ピクセル値に応じて、量子化ルールを適応するようにした方が効率的である。最小値／最大値比較ユニット５６０はこれらの値を判断する。エレメント５５５は、検査される所与のブロックの全６４ピクセルの最小値と最大値に必要なタイムディレイを行ってからそのブロックの最初のピクセルが処理される。
【００３５】
図３に戻って説明すると、圧縮器３２２は固有のディレイをもっていないが、最小値／最大値比較ユニットとディレイ・エレメント５５５（図５）を組み合わせると、圧縮器３２２は１ブロック・ディレイを示すことになる。このディレイは、可変圧縮経路が示す１ブロック・ディレイに一致している。固定長圧縮ネットワークは各８×８ピクセル・ブロックの６４ピクセル値の各々を２回評価して、そのブロックの最小および最大ピクセル値を判断する。このプロセスはエレメント５５５で６４ピクセル（１ブロック）のディレイを引き起こすことにより容易化される。最小値と最大値は、処理される各ブロックごとに使用される非線形量子化ルールの中から１つを適応的に選択するために使用される。各ブロックを２回評価するために必要な２経路手法(two pass approach) によると、可変圧縮器が所望の圧縮を達成したかどうかを判断するときバッファ４６０で起こる可変圧縮のレイテンシ(latency) は１ブロック分であるので、余分のレイテンシがシステムに起こることはない。
【００３６】
上述したように、圧縮器３１６と３２２が並列に配置され、固定圧縮器が最小値／最大値比較を採用しているときは、圧縮器３２２に１ブロック・ディレイが起こることになる。可変圧縮器３１６は固有の１ブロック・ディレイをもっていないので、ビット・バッファ４６０はビットを１ブロック時間だけ長く保持し、圧縮器３２２の出力を待つことになる。固定圧縮器３２２が最小値／最大値を使用していなければ、圧縮器３２２に１ブロック・ディレイが起こることがない。可変圧縮器３１６には、バッファ４６０に起因する固有の１ブロック・ディレイが起こることがない。バッファ４６０は圧縮器３１６のビットをストアしておき、そのあとで可変または固定圧縮出力のどちらを使用すべきかの判断が行われる。ビットカウンタ３１８は、可変および固定圧縮ネットワークが並列に配置されているときどちらの出力を使用すべきかを判断する。
【００３７】
なお、圧縮器３１６と３２２は図８に示すように、並列に配列されている必要はない。この場合には、圧縮器３１６が最初にピクセル・ブロックを処理し、これと同時に、最小値／最大値比較ユニット５６０は前述したように、そのブロックの最小および最大ピクセル値を判断する。１ブロック・ディレイのあと、圧縮器３１６がターゲット圧縮を達成したかどうかが分かるので、固定圧縮器３２２がそのブロックを処理する必要があるかどうかが分かることになる。可変圧縮器３１６がターゲット圧縮係数を達成していれば、可変圧縮出力をフレーム・メモリに出力する。そうでなければ、ユニット３２２はそのブロックを圧縮することになる。圧縮器３１６と３２２には類似のアーキテクチャと機能エレメントを実装できるので、そのように実装すると、ユニット３１６で可変圧縮のために使用された類似エレメントをユニット３２２で固定長圧縮のために再び使用できるという利点がある。
【００３８】
図５の量子化器５５６に対して量子化ルールを適応的に変更することは重要ではない。単純な線形量子化を使用することも可能である。量子化ルールを最小／最大ピクセル値に応じて適応すると、損失量が減少する。各ブロックは最小ピクセル値と最大ピクセル値を見つけるためにスキャンされる。これらの値が分かっていると、該当する量子化ルールが選択されてから最初の（残余）値が量子化されることになる。エレメント５５５は量子化ルールが設定されるまで最初のピクセルを遅延するが、これは、このルールが逆量子化器５５８によっても使用されるからである。そのためには、シグナリング（通知）ビットをデータストリームに追加して、量子化ルールの圧縮解除機能が使用されることを通知する必要がある。
【００３９】
量子化器は、ユニット５４２からの出力ビットがアドレスを表しているルックアップ・テーブル(look-up table) と考えることができる。量子化器５５６は５０％圧縮の場合には４ビット・データを出力する。量子化器５５６の出力はインデックスとなっており、これはユニット５４２の出力に近似させるためにユニット５５８によって使用される。ユニット５５８への入力が４ビットだけのデータならば、可能とされるデータの組合せは１６通りだけであるのに対し、ユニット５４２から得られる出力は最大２５６個まで可能であるので、ここで損失が起こっているおそれがある。図５の固定圧縮ネットワークの場合は、出力バッファは不要である。
【００４０】
この実施例では、同じＤＰＣＭ予測符号化プロセスが図４と図５の圧縮ネットワークによって採用されている。符号化される現ピクセルはそれ以前に符号化されたピクセルを使用して予測されるが、これらのピクセルはデコンプレッサ３２と３４（図１）に知らされている。予測プロセスを理解しやすくするために、図７を参照して説明すると、図７において、ピクセルＸは予測符号化されるピクセル値である。ピクセルＡ、Ｂ、およびＣは以前に予測符号化されており、圧縮解除セクションに知らされている。Ｘ，Ｘpredの予測は、次の疑似コードに従ってＡ、ＢおよびＣの値を使用する。この疑似コードは使用されるアルゴリズムを記述したものである。
【００４１】
if      （|A−C|＜e1 && |B−C|＞e2），Xpred ＝B
else if （|B−C|＜e1 && |A−C|＞e2），Xpred ＝A
else                                  Xpred ＝(A＋B)/2
値ｅ1 とｅ2 はあらかじめ決められたしきい値を表す定数である。このアルゴリズムは、処理されるブロックの第１行または第１列に置かれていないピクセルに対してのみ使用される。いくつかの例外があるが、これらは次のように処理される。ブロック内の最初のピクセルは他のどのピクセルも参照することなく非常に良好に符号化され、第１行のピクセルはピクセル値Ａを予測参照値(predictor) として使用し、第１列のピクセルはピクセル値Ｂを予測参照値として使用する。基本的には、このアルゴリズムはエッジを検出することを試みる。第１のケースでは、ピクセルＣとＢ間とピクセルＡとＸ間に垂直エッジがあるものと想定される。従って、Ｂが最良予測参照値である。第２のケースでは、ＡとＣ間とＢとＸ間に水平エッジがあるものと想定される。従って、Ａが最良予測参照値である。第３のケースでは、明白なエッジは見つからない。このケースでは、ＡとＢが共に等しく良好予測参照値であるので、その平均値が使用される。
【００４２】
【発明の効果】
上述してきたブロック単位のデータ圧縮ネットワークを使用すると、ＭＰＥＧ準拠のデータワードを処理できるという利点がある。このネットワークによると、無損失に近い圧縮を行うことができるので、８×８輝度(luminance) データまたは４×４  Ｕ，Ｖ（クロミナンス）データをストアするために必要なメモリ量を削減することができる。圧縮量は選択可能であり、例えば２５％または５０％にすることができる。低コントラストの、低ディテール・イメージ・ブロックは無損失で圧縮されるのが通常であるのに対し、高コントラストの、高ディテール・イメージ・ブロックは特に５０％データ圧縮の場合には若干の損失を受けるが、その損失は許容し得るものである。ケースによっては、圧縮解除されたピクセル・ブロックはオリジナル・ピクセル・ブロックに比べて差異を示すことがあるが、水平ディテール低減を行うよりも、開示された圧縮システムを使用した方が必要メモリ量を削減することができる。図３に示す圧縮システムはＭＰＥＧ規格のすべてのプロフィールおよびすべてのレベルで使用できるだけでなく、他のディジタル・データ処理方式にも使用することができる。
【００４３】
圧縮器３０は図３と図８に示すようなデュアル圧縮ネットワークを採用すると有利であるが、圧縮ネットワークの一方を取り除いてシステムを単純化することも可能である。例えば、ハードウェア設計を単純化するために、システムによっては、固定長圧縮ネットワークを単独で使用するだけでも十分な場合もある。
【図面の簡単な説明】
【図１】本発明の原理を採用しているＭＰＥＧ復号器の部分を示すブロック図である。
【図２】メモリがフルの場合と削減された場合のメモリ・マッピングを示す図である。
【図３】図１のＭＰＥＧ復号器で使用すると便利な圧縮ネットワークを示すブロック図である。
【図４】図３のネットワークの詳細を示す図である。
【図５】図３のネットワークの詳細を示す図である。
【図６】図４と図５に示すネットワークをオペレーションの側面から見てその理解に役立つピクセル構成を示す図である。
【図７】図４と図５に示すネットワークをオペレーションの側面から見てその理解に役立つピクセル構成を示す図である。
【図８】別実施例のデュアル経路圧縮ネットワークを示す図である。
【符号の説明】
１２  デコンプレッサ
１４  デコンプレッサ
２０  メモリ
２６  入力ネットワーク
３０  圧縮器
３４  入力ネットワーク
【図１】
0004083832.tif 000002
【図２】
0004083832.tif 000003
【図３】
0004083832.tif 000004
【図４】
0004083832.tif 000005
【図５】
0004083832.tif 000006
【図６】
0004083832.tif 000007
【図７】
0004083832.tif 000008
【図８】
0004083832.tif 000009