(57)【要約】【課題】パイプライン処理により処理が低速になること（帯域幅の減少）を防ぐ。【解決手段】ＭＰＥＧデコーダ（１４，１８，２２）はＭＰＥＧ符号化されたデータを復号し、圧縮解除して圧縮解除されたイメージ画素ブロックを作成し、フレーム・メモリ６０に結合されて最終的に復号された画素データを表示用に作成する動き補償ネットワーク９０…を含む。圧縮解除ＭＰＥＧデータは、フレームメモリへの記憶前に、複数の並列の再圧縮機構（４０，４２）により再圧縮される。各再圧縮機構はインタリーブされた画素データのデータストリーム（２４，２７）を受け取り、各クロック・サイクル中にインタリーブされた画素値（ａ、ｃ）を予測し圧縮する。再圧縮機構の１つ（４２）は、削減データ処理モードにおいて画素データが再圧縮前にサブサンプリング（３６，３８）されるとき電力を断たれる。サブサンプリングされたデータは再圧縮前に並べ換えられる（４３）。【選択図】図１
2008271610.tif 000002
【特許請求の範囲】
【請求項１】
ＭＰＥＧ符号化データのデータストリームを受け取る入力ネットワーク（１２，１４，…）と、該データストリームに応答して、該データストリームから画像データの所定のシーケンスを導出するインタリーブ・ネットワーク（２４，２７）と、該画像データに応答して、復号された画像情報を作成する画像信号プロセッサ（３０，３２，４０，４２，３６，３８，…）とを含んだＭＰＥＧ互換ディジタル信号処理システムであって、
前記インタリーブ・ネットワークは前記ＭＰＥＧ符号化データのデータストリームに応答して該データストリームから少なくとも第１および第２のデータストリーム（Ｐ１，Ｐ２）を導出するためのインタリーブ手段を備え、
前記第１のデータストリームは、インタリーブされた第１および第２の空間的に隣接する画素ブロック成分の第１の所定のシーケンスによって構成され、並びに、
前記第２のデータストリームは、完全な画像の高精細度または低精細度の画像を再生することが選択可能な復号画像情報を作成するための、インタリーブされた第３および第４の空間的に隣接する画素ブロック成分の第２の所定のシーケンスによって構成される
ことを特徴とするＭＰＥＧ互換ディジタル信号処理システム。
【請求項２】
請求項１において、
インタリーブされた前記画素ブロック成分は、画素を表す情報を含んだＭＰＥＧ互換マクロブロックのデータ・ブロック成分を含むことを特徴とするシステム。
【請求項３】
請求項１において、
前記インタリーブ手段は、インタリーブされた空間的に隣接する第１および第２画素ブロック成分（Ａ，Ｃ）の第１データストリーム（Ｐ１）を前記ＭＰＥＧ符号化データの各マクロブロックから作成し、並びに、インタリーブされた空間的に隣接する第３および第４画素ブロック成分（Ｂ，Ｄ）の第２データストリーム（Ｐ２）を前記ＭＰＥＧ符号化データの各マクロブロックから作成することを特徴とするシステム。
【請求項４】
請求項３において、
前記第１，第２，第３および第４画素ブロック成分はＭＰＥＧ互換マクロブロックの空間的に隣接する成分であることを特徴とするシステム。
【請求項５】
請求項１において、
前記入力ネットワークは、
前記ＭＰＥＧ符号化データストリームを復号するデコーダ（１４）と、
前記デコーダからの出力信号を圧縮解除するデコンプレッサ（１８，２０）とを含み、
前記インタリーブ・ネットワークは、前記デコンプレッサからの出力信号に応答することを特徴とするシステム。
【請求項６】
請求項１において、
さらに、
画像を表すデータを記憶するメモリ（６０）と、
前記メモリに結合された動き補償ネットワーク（９０）とを含み、
前記画像信号プロセッサおよび前記動き補償ネットワークはＤＰＣＭループを含むことを特徴とするシステム。
【請求項７】
画像を表すＭＰＥＧ符号化データのデータ・スリームを処理する方法であって、
該データを復号して復号されたデータストリームを作成する作成ステップと、
前記復号されたデータストリームから、インタリーブされたイメージ画素を表すデータ・ブロックの第１の所定のシーケンスを作成する作成ステップと、
該データ・ブロックを処理する処理ステップと、
前記処理ステップからのデータ・ブロックを記憶する記憶ステップとを含み、
前記作成ステップにおいて複数のデータストリームを作成し、該データストリームの夫々が、完全な画像について高精細度または低精細度の画像再生モードを選択可能な相互にインタリーブされた画素ブロック成分の第２の所定のシーケンスを有していることを特徴とする方法。
【請求項８】
請求項７において、
前記作成ステップでは、インタリーブされた空間的に隣接する第１および第２画素ブロック成分の第１データストリームと、インタリーブされた空間的に隣接する第３および第４画素ブロック成分の第２データストリームを作成することを特徴とする方法。
【請求項９】
請求項８において、
前記インタリーブされたイメージ画素を表すデータ・ブロックはＭＰＥＧ互換マクロブロックを含むことを特徴とする方法。
【請求項１０】
請求項７において、
前記処理ステップは画素データをＤＰＣＭ処理するステップを含むことを特徴とする方法。
【請求項１１】
請求項１０において、
前記ＤＰＣＭ処理ステップはさらに、
前記記憶ステップで記憶されたデータ・ブロックを圧縮解除するステップと、
該圧縮解除ステップによって作られた圧縮解除されたデータ・ブロックを動き補償処理するステップとを含むことを特徴とする方法。
【請求項１２】
請求項９において、
前記処理するステップは、画素値を予測するステップと、画素値を圧縮するステップとを含むことを特徴とする方法。
【請求項１３】
画像を表すＭＰＥＧ符号化データのデータ・スリームを処理する方法であって、
ＭＰＥＧ符号化データの入力ストリームを受け取るステップと、
前記入力データストリームを復号して、画素を表す情報を含むデータ・ブロックの復号されたデータストリームを作成するステップと、
前記復号されたデータストリームを処理して、該データストリームから、第１の所定のシーケンスでインタリーブされた画素を表す情報を持ったデータ・ブロック成分の少なくとも第１および第２グループを含んだ第１データストリームと、第２の所定のシーケンスでインタリーブされた画素を表す情報を持ったデータ・ブロック成分の少なくとも第３および第４グループを含む第２データストリームとを作成するステップと、
前記第１および第２データストリームを復号して、完全な画像を高精細度画像または低精細度の画像再生モードで再生することを選択可能な復号された画像情報を作成するステップと
を含むことを特徴とする方法。
【請求項１４】
請求項１３において、
前記第１グループはＭＰＥＧ互換マクロブロックの第１および第２画素ブロックによって構成され、
前記第２グループはＭＰＥＧ互換マクロブロックの第３および第４画素ブロックによって構成される
ことを特徴とする方法。
【請求項１５】
請求項１４において、
前記第１，第２，第３および第４のグループは同一マクロブロックを含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル画像を表す情報の処理に関する。
【背景技術】
【０００２】
ディジタル技術の急速な進歩が、高精細度テレビジョン（ＨＤＴＶ）などの様々な分野でのディジタル画像信号処理の対応する進歩をもたらした。ＭＰＥＧ−２ビデオ処理（ＩＳＯ／IEC International Standard 13818-2，１９９５年１月２０日）のためのＭＰＥＧ信号圧縮規格が、関連する開発である。この広く受け入れられている画像処理規格は、ＨＤＴＶシステムを含む、衛星放送、ケーブル放送および地上波放送のシステムと共に使用するのに特に魅力的であることが判明している。
【０００３】
米国でグランド・アライアンス（Grand Alliance）ＨＤＴＶシステムとして最近採用されたディジタルＨＤＴＶ地上波放送システムでは、ＭＰＥＧ−２圧縮規格を使用して圧縮されたデータである高精細度（ＨＤ）プログラム素材のディジタル放送の標準規格が定義されている。グランド・アライアンスＨＤＴＶシステムの解説は、たとえば、the 1994 Proceedings of the National Association of Broadcasters,48th Annual Broadcast Engineering Conference Proceedings、１９９４年３月２０日〜２４日に記載されている。ＨＤ放送規格は、１ライン（水平）あたり１９２０画素×１０８０ライン（垂直）までの画像解像度を提供する。ＭＰＥＧ−２規格では、テレビジョン受像機などの表示装置による再生のためのＨＤ画像の圧縮解除（decompress）に必要な手順が定義されている。ＭＰＥＧデコーダがこの地上波放送規格で定義されたＨＤ画像を正しく復号するためには、約８０メガ・ビット（Ｍｂ）のメモリが必要である。コンシューマ用受像機では、約９６Ｍｂのメモリが必要になる。
【０００４】
テレビジョン信号受像機にみられるものなどのＭＰＥＧビデオ信号デコーダでは通常、既知のようにＩ、ＰおよびＢの画像フレームを表すＭＰＥＧ符号化されたディジタル・データストリームを復号するために、複数画像フレーム分のメモリが必要である。一般に、ＭＰＥＧデータストリームの復号には３フレーム分のメモリが必要である。２フレーム分のメモリが基準のＩフレームまたはＰフレームのデータを格納するために必要であり、追加のフレーム・メモリはＢフレーム・データの格納に使用される。
【０００５】
ＭＰＥＧデコーダには、既知のとおり、最終的に復号された画素サンプルを作成するために、動き補償機能に関連するＤＰＣＭ（Differential Pulse Code Modulation）ループが含まれる。同時係属米国特許出願シリアル番号第０８／５７９，１９２号明細書に開示されているように、ＤＰＣＭループは、データ圧縮ネットワークを組み込むことによって有利に変更される。この圧縮ネットワークは、圧縮解除されたＭＰＥＧデータをフレーム・メモリに移す前に再圧縮し、これによりＭＰＥＧデコーダのメモリ要件（memory requirement）を削減する。ＤＰＣＭループは、圧縮される画素の値が処理される画素の左隣、真上および左上の画素を評価するプレディクタ（predictor）回路の結果に依存するように配置される。プレディクタの動作は、リアルタイムの計算集中型直列演算である。複数の画素が使用されるためと、申し分のない圧縮には画素値の「憶測」ではなく正確な予測が必要なため、プレディクタの動作は重要である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の原理によれば、たとえばＭＰＥＧ互換デコーダなどのディジタル画像信号プロセッサは、インタリーブされた画像データの所定のシーケンスを含む複数のデータストリームを処理する。
【発明を実施するための最良の形態】
【０００７】
本発明が開示する実施例において、テレビジョン受像機内のＭＰＥＧデコーダは、デコーダと表示される画像情報を提供するデコーダ・フレーム・メモリとの間で再圧縮を含むデータ削減を使用する。このシステムは、所与の第４画素の値を予測するために３つの画素値を使用可能にしなければならないというプレディクタ・プロセッサ・タイミング要件（timing requirement）を考慮に入れたパイプライン処理を使用する。しかし、パイプライン処理によって処理は低速になる（帯域幅が減少する）。この問題は、ＭＰＥＧデコンプレッサ（decompressor）から供給する独立の８×８画素ブロックからの画素データをインタリーブすることによって解決される。インタリーブによって処理速度が高速化されるのは、これにより交番クロックに基づいて画素データを処理できるようになり、その結果、圧縮された画素値が常に生成されるようになるからである。再圧縮機能は、使用する圧縮動作の回数が減少し、共用機能を用いて集積回路の面積を節約するインタリーブ動作を示す。
【０００８】
図１は、入力高精細度ビデオ信号を処理するためのテレビジョン受像機内にみられるものなどのディジタル・ビデオ信号プロセッサの一部を示す図である。このビデオプロセッサには、通常のＭＰＥＧデコーダにみられる機能が含まれる。ＭＰＥＧデコーダおよびＭＰＥＧエンコーダは、たとえば、Ａｎｇ他著、「Video Compression Makes Big Gains」、IEEE Spectrum、１９９１年１０月に記載されている。これらの機能には、通常は、復号された出力サンプルを最終的に作成する関連する動き補償処理前の、入力バッファリング、可変長復号、逆量子化および逆ＤＣＴ変換が含まれる。これらに関する追加情報と関連するビデオ信号処理機能は、Ｗｅｉｓｓ著、「Issues in Advanced Television Technology」（米国ボストン州Focal Press刊）に記載されている。
【０００９】
図１のシステムは、入力信号復調後にデータ・パケットを分離するトランスポート・デコーダを含む装置によって表されるソース（source）１０から、ＭＰＥＧ符号化された圧縮データの制御されたデータストリームを受け取る。この例では、受け取られる入力データストリームは、米国高精細度地上波テレビジョン放送システム用のグランド・アライアンス仕様で指定された高精細度画像素材（１９２０画素／水平ライン×１０８８水平ライン）を表す。１９２０×１０８８高精細度情報のデータ・レートは、次式によって９４００３２００バイト／秒であると判定される。
【００１０】
（１９２０Ｈ×１０８８Ｖ×３０Ｆ×（８＋４）ＹＣ）／Ｂ
ただし、Ｈは水平方向の画素数、
Ｖは垂直方向のライン数、
Ｆはフレーム／秒を表し、
ＹＣは（輝度＋クロミナンス（chrominance））のビット数、
Ｂは８ビット／バイトを表す。
実際には、圧縮されたＭＰＥＧデータストリームは、内部メモリバス５５と、マイクロプロセッサ１２０の制御下の制御バス１１４からデータを受け取るインタフェース回路１２８に含まれる圧縮データ・インタフェースとを介して供給される。マイクロプロセッサ１２０は、圧縮データ入力を介してＭＰＥＧデータストリームを受け取る。
【００１１】
ソース１０からの入力データストリームは、８×８画素を表すデータ・ブロックの形式である。このデータは、圧縮され、符号化されたイントラフレーム情報およびインタフレーム情報を表す。イントラフレーム情報には、Ｉフレーム・アンカフレームが含まれる。インタフレーム情報には、隣接するピクチャ・フレーム間の画像の差を表す動き予測符号化された残差画像情報が含まれる。インタフレーム動き符号化では、処理中の現ブロックと前に再構成された画像のブロック間のオフセットを表す動きベクトルの生成が使用される。現ブロックと前ブロック間の最適一致を表す動きベクトルが符号化され、伝送される。また、動き補償された８×８ブロックのそれぞれと前に再構成されたブロック間の差（残差）はＤＣＴ変換され、量子化され、可変長符号化された後に伝送される。この動き補償符号化処理は、上述したＷｅｉｓｓおよびＡｎｇ他を含む様々な刊行物に詳細に記載されている。
【００１２】
ＭＰＥＧデコーダは削減されたメモリ要件を示し、これにより外部フレーム・メモリ量のかなりの削減が可能になる。後で説明するように、メモリに記憶される圧縮解除された（decompressed）ビデオ・フレームを再圧縮することと、デコーダの動作モードに応じてデコーダ・ループ内で画素データを選択的に水平フィルタリングし、デシメート（すなわち、サブサンプリングまたはダウンサンプリング）することによって、これが達成される。たとえばあるモードでは、システムはアンカフレーム圧縮を提供する。別のモードでシステムは、低域通過フィルタリングとダウンサンプリングによる水平ディテール削減の後の圧縮を提供する。
【００１３】
入力の圧縮された画素データ・ブロックは、バッファ１２によってバッファリングされた後に、既知のように動きベクトルＭＶも作成する可変長デコーダ１４によって可変長復号される。バッファ１２は、メイン・レベル、メイン・プロファイルＭＰＥＧデータストリームの場合に、１．７５Ｍビットの記憶容量を示す。復号された圧縮データ・ブロックは、可変長デコーダ１４からマルチプレクサ（ＭＵＸ）１５を介して出力され、ＭＵＸ１５は出力データストリームＰ１およびＰ２を作成する。出力Ｐ１およびＰ２は、以下でパイプ１（Ｐ１）およびパイプ２（Ｐ２）と呼称する二重データ・パイプラインを表す。パイプＰ１には、所与のマクロブロックの８×８画素ブロック「Ａ」のＤＣＴ係数のグループと、その後に、当該マクロブロックの８×８画素ブロック「Ｃ」のＤＣＴ係数のグループが含まれる。ＤＣＴ係数は、既知のように斜めに、すなわち「ジグザグ」走査フォーマットで配置される。パイプ１は、対応するマクロブロックのシーケンスのＡブロックおよびＣブロックのシーケンスを運ぶ。パイプ２には、同様に、所与のマクロブロックおよびそれと共にシーケンス化されるマクロブロックの「Ｂ」および「Ｄ」のＤＣＴ係数のグループが含まれる。このような画素ブロックおよびマクロブロックの画素データのパイプライン化されたシーケンスでの配置を図２ないし図１７に図示し、これらの図面と関連して説明する。
【００１４】
画素ブロックデータは、それぞれが逆量子化器（１８，２０）、逆離散コサイン変換（ＤＣＴ）ユニット（２２，２１）、出力ＦＩＦＯバッファ（２６，２８）、ブロック並べ換えユニット（２３，２５）、ブロック・インタリーブ・ユニット（２４，２７）および加算器（３０，３２）を含む並列データ処理経路内のそれぞれのパイプによって運ばれる。圧縮解除と変換復号は、それぞれ加算器３０または加算器３２の一入力に印加される前に、各パイプライン内の逆量子化ユニットおよび逆ＤＣＴユニットによって実行される。
【００１５】
並べ換えユニット（reordering unit）２３および２５は、逆ＤＣＴユニット２１および２２からの逆ＤＣＴ変換された画素データのジグザグ走査パターンを除去して、８×８ブロックのそれぞれの水平ラインごとの画素走査シーケンスを作成する。したがって、たとえばパイプ１では、ユニット２３の出力は、ａｌａ２  ａ３…ａ６３  ａ６４（ブロックＡ）、ｃ１  ｃ２  ｃ３…ｃ６３  ｃ６４（ブロックＣ）などの形式の画素値を表す。インタリーブ・ユニット２４は多重化手法を使用して、ａ１  ｃ１  ａ２  ｃ２  ａ３  ｃ３…ａ６４  ｃ６４の形式のパイプ１出力データを作成する。インタリーバ（interleaver）２７は、ブロックＢおよびＤに関する同様のシーケンスを作成する。
【００１６】
逆量子化器１８および２０の量子化ステップサイズはバッファ１２からの量子化制御信号によって制御されて、滑らかなデータの流れを保証する。復号された動きベクトルＭＶは、以下に説明するように可変長デコーダ１４から動き補償ユニット９０に供給される。可変長デコーダ１４は、図面を簡単にするために図示されていない、既知のインタフレーム／イントラフレームモード選択制御信号も作成する。ユニット１４，１８／２０，２１／２２，２３／２５によって実行される動作は、送信器側のＭＰＥＧエンコーダによって実行される対応動作と逆である。図１のＭＰＥＧデコーダは、以下で簡単に説明するＭＰＥＧ処理手法を使用して、受け取った画像を再構成する。
【００１７】
再構成された画素ブロックは、それぞれ、出力ＦＩＦＯバッファ２６および２８からの残差画像データと、ビデオ・フレーム・メモリ２０の内容に基づいて動き補償ユニット９０の出力に供給される予測画像データとを合計することによって、加算器３０および３２の出力に供給される。画素ブロックを表す再構成された画像のフレーム全体がフレーム・メモリ６０に格納される。インタフレームモードでは、可変長デコーダ１４から取得した動きベクトルＭＶを使用して、ユニット９０からの予測ブロックの位置を供給する。動き補償処理では、最終的に復号されたサンプルを回復するために係数データ（逆ＤＣＴユニット２１および２２の出力からの）と組み合わされる、前に復号されたピクチャから予測が形成される。動き補償ユニット９０は、たとえばＭＰＥＧ仕様および前述のＷｅｉｓｓおよびＡｎｇの参考文献などに記載の既知のＭＰＥＧ互換手法に従って動作する。ユニット９０のＡ，ＣおよびＢ，Ｄ出力は、ブロックデータＡ，Ｃの圧縮解除されたインタリーブ式画素ブロックデータＡ，Ｃと、圧縮解除されたインタリーブ式画素ブロックデータＢおよびＤを表す。これについて以下で説明する。
【００１８】
加算器３０および３２と、外部デコーダのフレーム・メモリ６０と、動き補償ユニット９０とを用いる画像再構成処理は、有利なことに、ブロックベースの並列のデータ・コンプレッサ（data compressor）４０および４２と、水平ディテールを減少する水平画素デシメーション（サブサンプリング）ユニット３６および３８の使用に起因して大幅に削減されたフレーム・メモリ要件を示す。フレーム・メモリ６０のサイズは、再圧縮ユニット（re-compression units）４０および４２によって達成されるデータ削減とユニット３６および３８によって達成されるデシメーションの関数として、２５％、５０％、またはそれ以上削減することができる。デシメーション・ユニット３６および３８からの出力データは、以下で説明するように水平デシメーションが使用される時の削減データ動作モードでコンプレッサ４０に運ばれる前に、ブロック並べ換えユニット４３によって処理される。並べ換え動作の効果は、図１２，図１４および関連図面に関連してみられる。モード制御信号とモードスイッチ４５は、後で説明するように、水平デシメーション・ユニット３６および３８がアクティベートされている時の削減データ動作モードでのコンプレッサの動作を変更する。コンプレッサ４２は、当該削減データモードではディスエーブルされる（たとえば電力供給を断たれる）。他の場合たとえば高精細度入力信号を処理する時には、コンプレッサ４０および４２の両方がアクティブとされる。
【００１９】
圧縮解除ユニット（decompression units）８０−８４は、ユニット４０および４２によって実行される圧縮の逆を実行する。ユニット８８は、ユニット３６および３８によって実行されるデシメーションの逆を実行する。これら動作の追加の詳細については、後で説明する。フォーマッティング・ユニット８６は、ユニット９０による動き補償プレディクタ処理のために圧縮解除された画素を含む必要なラインが得られるまで、圧縮解除された画素の不要なラインを破棄する。この選択処理によって不要データが累積しなくなり、当該選択処理は、すべての画素のためのメモリ内の一意のマッピングを提供しない圧縮システム（本明細書で開示されるシステムなど）に使用すると有利である。これに関して、たとえば３ビット、４ビットまたは５ビットを用いて画素値を圧縮または量子化することができ、当該画素値は、圧縮解除後まで未知であることに留意されたい。
【００２０】
ＭＰＥＧ復号化された入力高精細度データストリームの処理は、有利なことに、再圧縮前に入力データストリームをインタリーブすることと、インタリーブ式データ圧縮ネットワークを使用してインタリーブされたデータを処理することによって達成される。データ再圧縮ネットワークには、インタリーブされたデータストリームを演算する同様のコンプレッサ４０および４２が含まれる。これらのコンプレッサは、ユニット４４に含まれるいくつかの論理回路およびルックアップ・テーブルを共用し、クロック・ジェネレータ５０によって作られる、ローカルに生成される５４ＭＨｚ（２×２７ＭＨｚ）クロック信号ＣＬＫに応答して動作する。ＣＬＫ信号は、水平のアップサンプリング・ネットワーク８８にも印加される。やはりクロック・ジェネレータ５０によって作られる８１ＭＨｚ（３×２７ＭＨｚ）クロック信号は、デコンプレッサ６２，８０，８２および８４と、表示プロセッサ７０に印加される。
【００２１】
システム動作の説明に進む前に、図２から図１７に示されたインタリーブ式画素データ処理の性質を理解することが助けになる。図２は、輝度（Ｙ）およびクロミナンス（Ｕ、Ｖ）画素ブロック構成要素を含む既知のＭＰＥＧマクロブロック構成を示す図である。各マクロブロックの輝度成分は、４つの８×８画素輝度ブロックＹａ、Ｙｂ、ＹｃおよびＹｄによって構成される。クロミナンス成分には、図からわかるように４×４画素の「Ｕ」ブロックＵａ〜Ｕｄと、４×４画素の「Ｖ」ブロックＶａ〜Ｖｄが含まれる。インタリーバ２４および２７（図１）は、前述し、図３に示した通り、これらの画素ブロックをそれぞれデータ・パイプＰ１およびＰ２内でインタリーブする。図３は、輝度ブロックとクロミナンス・ブロックがＡ，ＣおよびＢ，Ｄのパイプライン処理のために配置される方法を示す。インタリーブ前のパイプライン化処理を、「Ｕ」クロミナンス成分を構成する４×４画素ブロックに関して図４に詳細に示す。図４には、ユニット２３および２５がクロミナンス画素ブロック（chrominance pixel blocks）ＵａおよびＵｃをデータ・パイプ１内に配置し、画素ブロックＵｂおよびＵｄをパイプ２内に配置した処理の結果を示す。この図では、Ａ１はブロックＡの第１画素値（８ビット）を表し、Ａ２はブロックＡの第２画素値（８ビット）を表し、Ｂ１はブロックＢの第１の８ビット画素値を表し、以下同様に、最後の値Ａ１６およびＢ１６からブロックＤに至る。類似した観察が、輝度画素データにも関連する。
【００２２】
図５から図７に、図１のユニット３６および３８によって水平デシメーションが実行されないことを前提とする画素データ配置を示す。このような動作モードでは、３６と３８は、所与のシステム構成に所望されるデータ削減（デシメーションと圧縮）の量に応じてバイパスされる。水平デシメーションをイネーブルされた状態の画素データ処理を、図１１から図１７に示す。
【００２３】
図５には、ユニット３６によるデシメーションなしで、インタリーバ２４の出力から出力ＦＩＦＯバッファ２６および加算器３０を介してコンプレッサ４０に運ばれる、パイプ１内のインタリーブされた画素データのＡ，Ｃのシーケンスが示されている。同様に、パイプ２内の画素データは、インタリーバ２７と加算器３２からコンプレッサ４２へ、Ｂ１，Ｄ１，Ｂ２，Ｄ２，…などのシーケンスで運ばれる。データグループＡ，Ｂ、Ｃ、およびＤによって表されるセクションへのマクロブロックの区分（partitioning）はクリティカルではない。たとえば、別のシステムでは、パイプＰ１はＡ，ＢのデータまたはＡ，Ｄのデータを運ぶことができる。同様にパイプ２は、ＢとＤ以外のデータの組み合わせを運ぶことができる。図示の実施例では、パイプ１によって運ばれるＡ，ＣのデータはＭＰＥＧ仕様による「偶数」データ・ブロックに対応し、パイプ２のＢ，ＤのデータはＭＰＥＧ仕様の「奇数」データ・ブロックに対応する。
【００２４】
図６に、ハフマン符号化後の第１パイプ内の第１コンプレッサ４０からの圧縮画素データ出力を示す。図６のデータストリームの各「Ｘ」は、クロッキング（clocking）処理を簡略化するために作られる「ドント・ケア（don’t care）」条件を表し、これにより各クロック・サイクルの８ビットデータを含む、連続するクロック（望ましくないストップ／スタート・クロックではなく）が使用される。書き込みイネーブル（Write Enable）信号（図示せず）によって、有効な圧縮データが存在する時に有効な圧縮データだけがメモリに書き込まれることが保証される。入力の１６個の８ビット（クロマ）画素（８バイト）ごとに、１６バイトの圧縮データが出力で作られる。図示されていないのが、パイプ２内のブロックＢ，Ｄに関する第２コンプレッサ４２からの同様の画素データ出力である。コンプレッサ４０および４２における使用に適した圧縮回路（compression circuit）の詳細を図２０に図示し、図２０に関連して説明する。
【００２５】
ユニット４０および４２による圧縮後に、画素データは、１２８ビット幅（すなわち、それぞれが１ビットを運ぶ１２８本の並列のデータ線）の内部メモリバス５５（図１）と６４ビット幅の外部メモリバス５７を介してフレーム・メモリ６０に運ばれる。フレーム・メモリ６０は、デインタリーブされた形式で画素ブロックデータを記憶する。デインタリーブ（de-interleaving）は、コンプレッサ４０および４２に関連する出力回路によるかフレーム・メモリ６０の前段回路により、ローカル・マイクロプロセッサ１２０の制御下で実行することができる。これらの回路は、既知の信号処理手法を使用して逆インタリーブ機能を実行し、図面の簡単化のために図示されていない。図７は、デインタリーブ後にフレーム・メモリ６０に送られる圧縮画素データの形式を示す図である。圧縮された画素のそれぞれは、３ビットから６ビットのデータによって表現される。圧縮されたＡのデータのブロックでは、「ａ１’」はこの位置の画素ａ１を表すのではなく、圧縮された画素とオーバーヘッド・データの組み合わせによって構成される８ビットを表す。１画素のデータ長はデータ自体と画素の位置によって決定される。このクロマブロック内でデータを圧縮するのに使用されるビット数は、６４ビットである。元のクロマデータは、１２８ビット（８×１６ビット）で構成されていた。同様の観察が、データ「Ｂ」から「Ｄ」についてもあてはまる。
【００２６】
図１に戻って、フレーム・メモリ６０に記憶された圧縮画素データは、デコンプレッサ６２，ＦＩＦＯ表示バッファ６４，マルチプレクサ６８，および表示プロセッサ７０を含む表示処理ネットワークによって、表示のために処理される。ＦＩＦＯ表示バッファ６４は１６画像ラインを保持し、１対の８ラインバッファに分割される。表示処理のために圧縮解除されたデータは、ラインバッファの一方からマルチプレクサ６８を介して読み取られ、他方のラインバッファには圧縮解除されたデータがユニット６２から書き込まれる。ＦＩＦＯ表示バッファ６４はフレーム・メモリ６０内に配置することができる。表示プロセッサ７０は、たとえば、ＮＴＳＣ符号化ネットワーク、表示のために画素を調整する回路、たとえば高精細度キネスコープ（kinescope）または他の適当な表示手段である画像再生装置７２にビデオ信号を供給するためのディスプレイ・ドライバ・ネットワークを含むことができる。
【００２７】
ユニット６２による圧縮解除前に、画素データは再インタリーブされ（re-interleaved）、図８に示される「ａｂ」ブロックシーケンスを示すようになる。このインタリーブは、フレーム・メモリ６０の読出動作を適当にアドレッシングすることにより、あるいは表示デコンプレッサ６２に関連する入力論理回路により実行することができる。同様に画素ｃおよびｄは、圧縮解除前に「ｃｄ」データ・シーケンス（図示せず）を作成するように再インタリーブされる。表示用の再インタリーブ・シーケンス、すなわちａｂおよびｃｄは、元の入力インタリーブ・シーケンス（ａｃおよびｂｄ）とは異なる。元のインタリーブでは、たとえば、画素データａおよびｂを最初にアクセスでき、データａおよびｂを並列に処理できた。再インタリーブされた表示シーケンスは、同一画像フレームからのデータが必要な（画素ａ，ｂおよび画素ｃ，ｄが同一画像フレーム内にある）場合の表示目的に適している。「ａｂ」シーケンスのインタリーブされ、圧縮解除された画素データのシーケンスを図９に示す。図示はされていないが、「ｃｄ」シーケンスのインタリーブされ、圧縮解除された画素データの同様のシーケンス（Ｃ１，Ｄ１，Ｃ２，Ｄ２，Ｃ３，Ｄ３…）も作られる。ＦＩＦＯ表示バッファ６４，マルチプレクサ６８，および表示プロセッサ７０による処理後に、所与のブロックの画素は図１０に示された表示フォーマットに再配置される。これは、４：２：２形式ではなく４：２：０形式の簡略化された一例である。
【００２８】
もう一度図１を参照すると、ＭＰＥＧデコーダ・ループには、ユニット８６および８８によって実行されるデータ・フォーマッティングおよび水平アップサンプリングと関連して複数のデコンプレッサ８０，８２および８４によって実行される圧縮解除機能も含まれる。図８および図９に関する上の解説は、この制御ループの圧縮解除機能にもあてはまり、圧縮解除前にデコンプレッサに関連する回路によって画素データがインタリーブされ、図８に示された「ａｂ」（および「ｃｄ」）データ・シーケンスを示すようになる。
【００２９】
図１１ないし図１７は、図１のユニット３６および３８による水平デシメーション（すなわちサブサンプリングまたはダウンサンプリング）を前提とする画素データ・シーケンス配置を示す図である。ユニット３６および３８による水平デシメーションの形のデータ削減がイネーブルされる時はデータ量が減少するので、コンプレッサ４２がディスエーブルされ、コンプレッサ４０だけがデータ圧縮に使用される。ネットワーク４４は、ユニット４０および４２によって使用される論理回路とルックアップ・テーブルを含む。これらの回路およびテーブルは、データ処理の需要が少ない時の削減データ動作モードにおいて一方のコンプレッサが非アクティベート（de-activate）されるときに、もう１つのコンプレッサだけによって使用される。高解像度モードではコンプレッサ４０および４２の両方が動作し、これらの回路およびテーブルの共用はインタリーブ式データ・パイプライン処理によって容易になる。具体的に言うと、ユニット４４には１つはコンプレッサ４０が使用するための、もう１つはコンプレッサ４２が使用するための２つのルックアップ・テーブルが含まれる。コンプレッサ４０用のＬＵＴは、インタリーブされたＡおよびＣのデータが上で示したように交番クロックなどに基づき種々の時間で圧縮されるので、インタリーブされたＡおよびＣのデータ圧縮用に共用される。コンプレッサ４２用のＬＵＴは、データＢおよびＤの圧縮中に同様に共用される。
【００３０】
図１１に、データ・パイプ１から図１のデシメーション・フィルタ３６の入力に印加される画素データのシーケンスを示す。フィルタ３６によるデシメーションによって図１２の画素データ・シーケンスが作られ、並べ換えネットワーク４３の入力に印加される。図１２において、「ｘ」を付された要素は「ドント・ケア」またはヌル（ｎｕｌｌ）データを表す。水平画素データが係数２によってサブサンプリングされるＨ／２モードでは、フィルタ３６が２つの隣接画素を平均し、その結果、
ａ１＊＝（Ａ１＋Ａ２）／２
ｃ１＊＝（Ｃ１＋Ｃ２）／２
ａ２＊＝（Ａ３＋Ａ４）／２
などになる。この処理を図１８に示し、以下で説明する。他のサブサンプリング係数を使用するデシメーションも使用可能である。図１３および図１４に、同様にデータ・パイプ２から図１のデシメーション・フィルタ３８に印加される画素データのシーケンスを示す。
【００３１】
図１５は、デシメーションと図１のユニット４３による並べ換え後の画素データのシーケンスを示す図である。具体的に言うと、画素データはユニット４３によって再整列されて、圧縮とフレーム・メモリ６０への格納のための正しいシーケンスに配置されている。図１５では、画素データａ１からｃ４までが、デシメーション後の一画像フレーム（２×４マトリックス）を表し、画素データｂ１からｄ４までがデシメーション後の第２の画像フレーム（２×４マトリックス）を表し、以下同様である。
【００３２】
図１では、ユニット４３からの並べ換えられた画素データのすべてが、モードスイッチ４５を介してコンプレッサ４０に印加される。というのは、デシメーション後の結果の量を減らされたデータを圧縮するのに、１つのコンプレッサだけが必要になるからである。デシメーション処理でのデータの平均により２画素から１画素が作られ、より少ないデータがもたらされ、それに対応してデータ処理帯域幅の必要が減少する。その結果、１つのコンプレッサだけで十分になり、コンプレッサ４２は非アクティベートされる。コンプレッサは、前に説明したモード制御信号に応答して、デシメーションの存在または不在の場合の必要に応じてイネーブルまたはディスエーブルされる。
【００３３】
並べ換えネットワーク４３で行われる並べ換えは、先入れ先出しバッファで行われるもののような単純な手順ではない。水平デシメーション、並べ換えおよび再圧縮を含む動き補償ループ処理の複雑さを最小にするために、ユニット３６および３８によって水平にデシメーションされなかったデータと実質的に同一のフォーマットで、コンプレッサ４０にデータが提示される。リコンプレッサ（recompressor）４０とは別に並べ換えネットワーク４３を設けると、リコンプレッサ４０はユニット３６および３８からの並べ換えを必要とするデータと加算器３０および３２からの並べ換えを必要としないデータとを区別する必要がなくなるため、回路が簡単になる。
【００３４】
図２９は、図１１から図１５までをまとめた図であり、画素タイミングに対する水平デシメーションと並べ換えを経由するデータフローを示す図である。図２９のデータストリーム１５−１は加算器３０から出てデシメータ・ネットワーク（decimator network）３６に入るデータを表し、データストリーム１５−２は加算器３２から出てデシメータ・ネットワーク３８に入るデータを表す。データストリーム１５−３は並べ換えネットワーク４３に入力されるデシメータ・ネットワーク３６からのデータを表し、データストリーム１５−４は並べ換えネットワーク４３に入力されるデシメータ・ネットワーク３８からのデータを表す。前述したように、データストリーム１５−１ないし１５−４からわかるように、画素はインタリーブされている。データストリーム１５−１および１５−３はパイプラインＰ１からのデータを表し、データストリーム１５−２および１５−４はパイプラインＰ２からのデータを表す。データストリーム１５−５は、並べ換えネットワーク４３からモードスイッチ４５を介してリコンプレッサ４０に入力されるデータを表す。図２９の最下部には、データ画素がこのシステムを通過する際のデータ画素のタイミングを示すために画素クロックＣＬＫが示されている。一例として、選択されたデータ画素を並べ換え処理を通じて追跡する。この処理は、どちらのパイプラインからのデータについても同一である。データストリーム１５−１および１５−２の画素は、クロミナンス画素マクロブロックを表す。この処理は輝度画素マクロブロックについても同一であるが、レンダリングが４つの４×４画素ブロックではなく４つの８×８画素ブロックにまたがるので、処理はより複雑である。マクロブロックが大きくなると、並べ換えにはデータ量の４倍のクロック・サイクル数を要するようになる。しかし、並べ換えの原理は、輝度データとクロミナンス・データの両方について同一である。
【００３５】
データストリーム１５−２からの画素Ｂ１は５０％にデシメートされ、画素Ｂ２と組み合わされて、１つの入力データ画素と同一サイズの出力データ画素を形成する。同一のことが、画素Ｄ１とＤ２についても発生する。デシメータ・ネットワーク３８は、画素Ｂ２およびＤ２が処理されるまで、画素Ｂ１およびＤ１からのデシメートされたデータをバッファリングする。これが、最初の２つのクロック・サイクル中にデシメーション・ネットワーク３８からの出力データが無効になる理由である。有効なデータは、第３クロック・サイクル中に画素ｂ１＊として発生する。画素Ｂ１からのデータは、第３クロック・サイクルの前半分のうちに出力され、画素Ｂ２からのデータは、第３クロック・サイクルの後半分のうちに出力される。第４クロック・サイクルには、同一の形で画素ｄ１＊が作られる。
【００３６】
パイプラインＰ１およびＰ２からのデータ出力は並べ換えネットワーク４３を通り、当該ネットワークは当該データをバッファリングし、正しい順序で特定の画素にアクセスしてコンプレッサ４０への連続的なデータフローを形成する。図２９のデータストリーム１５−４および１５−５からわかるように、画素ｂ１＊、ｂ２＊、ｂ３＊およびｂ４＊は、対応するａおよびｃの画素の後に画素ｄ１＊、ｄ２＊、ｄ３＊およびｄ４＊とインタリーブされなければならない。したがって、画素は不均一な時間にわたって並べ換えネットワーク４３内にとどまって、出力されるのを待つ。たとえば、画素ｂ１＊はクロック・サイクル３中に並べ換えネットワークに受け取られ、クロック・サイクル１２中に出力されるが、画素ｂ２＊はクロック・サイクル７中に並べ換えネットワークに受け取られ、クロック・サイクル１４中に出力される。画素は、マイクロプロセッサ１２０によって制御されるステータス・マシン（status machine）によってブロック並べ換えネットワーク４３内に導かれる。
【００３７】
データの流れを一定に維持するために、コンプレッサ４０は、データストリーム１５−１および１５−２に示されたインタリーブ式フォーマットでの入力画素データを期待する。デシメーション・ネットワーク３６および３８の後で、２つのパイプラインＰ１およびＰ２がそれぞれ２のオーダー（order）でダウンサンプリングされてデータストリーム１５−５のデータの半分を供給するため、画素の順序が変更される。しかし、Ｐ１およびＰ２からのダウンサンプリングされたデータは画像の垂直に隣接するブロックから発したものである。コンプレッサ４０は、水平に隣接するブロックからインタリーブされた画素データを期待する。したがって、並べ換えネットワーク４３はダウンサンプリングされたデータを組み合わせて、データストリーム１５−３および１５−４に示された順序からデータストリーム１５−５に示された順序にする。この順序は、デシメーション・ネットワーク内でダウンサンプリングの対象でないインタリーブされたデータと実質的に同一である。ダウンサンプリングされたデータとダウンサンプリングされないデータの両方からの画素ブロックは同一サイズで、すなわち、これらは水平と垂直の両方で同一の画素数を有する。唯一の相違は、ダウンサンプリングされた画素データ・ブロックに、前に説明したように、２つの水平に隣接する画素ブロックからの画素情報が含まれることである。この差はコンプレッサ４０には明白であり、これによって連続的なデータの流れが可能になる。このシステムは、水平に隣接する画素ブロックを組み合わせてダウンサンプリングされた画素ブロックにするために並べ換えを行うが、本発明の趣旨には、異なる空間的関係を有する画素ブロックを組み合わせるシステムも含まれる。
【００３８】
図２９からわかるように、並べ換えネットワーク４３は、デシメータ・ネットワーク３６（データストリーム１５−３）からの画素ａ２＊、ａ３＊、ａ４＊、ａ６＊、ａ７＊、およびａ８＊を、それらが使用可能になる前に出力（データストリーム１５−５）のために必要とするように見える。これは現実的には不可能であり、実際に発生しないが、並べ換えネットワーク４３が対処しなければならない異なるタイミングと遅延を示すために図示されている。並べ換えネットワーク４３が受け取る前に出力のためにデータが必要になることをなくすために、ユニット４３はすべてのデータが処理されるまで十分なデータを保持し、遅延させ、これによりデータストリーム１５−５に示される連続的なデータ出力をもたらす。遅延は、テレビジョン受像機が最初に電源を投入された時、チャンネルが変更された時、時間データ同期が確立された時に発生するものなど、最初のデータがパイプラインＰ１およびＰ２を介して流れて並べ換えネットワーク４３に達する時に発生する。初期遅延後に、データはクロック・サイクルを失うことなく連続的になる。
【００３９】
図１６は、コンプレッサ４０の出力からの圧縮画素データのシーケンスを示す図である。図１６では、圧縮データ「ｍ」はデシメーション後に画素ａおよびｂから導出されたデータによって構成される圧縮画素データ（すなわち、８×８画素ブロックのデシメーション後に作られる４×８画素ブロック）を表す。同様に、圧縮データ「ｎ」は、デシメーション後に画素ｃおよびｄから導出されたデータによって構成される圧縮データを表す。画素データａとｂは同一の画像フィールド内にあり、画素データｃとｄは同一の画像フィールド内にある。コンプレッサ４０によって実行される画素ブロック圧縮処理は、８×８画素ブロックに関して動作するように設計される。デシメーション後に、結果の４×８画素「ａ」ブロックと４×８画素「ｂ」ブロックを組み合わせて８×８画素ブロックを作り、この８×８画素ブロックを圧縮してブロック「ｍ」を作成する。同様の観察は、デシメートされた４×８ブロック「ｃ」および「ｄ」からの圧縮ブロック「ｎ」の形成にも関係がある。この形で、同一画像フレーム内のブロックが効率的なＭＰＥＧ復号のために正しく位置合せされる。フレーム・メモリ６０に運ばれ、記憶される、正しいフレームシーケンスを有する圧縮ブロックの配置を図１７に示す。
【００４０】
デシメーション・ネットワークによって作られる水平ディテール削減では、さらに、フレーム・メモリ６０に記憶される画素値の数を減少することによって、デコーダのメモリ要件力梢リ減される。デシメーション・ネットワーク３６，３８は、フレーム・メモリ６０にデータを供給する前に、水平空間低域フィルタとその後の２：１水平デシメーション（ダウンサンプリング）を使用する。ユニット８０，８２および８４による圧縮解除後、フレーム・メモリ６０からの画像情報の解像度は、画素繰り返しアップサンプリング（pixel repeat up-sampling）処理を使用してユニット８８によって再構成される。このアップサンプリング処理は、表示プロセッサ７０が必要な水平サンプルレート変換を提供するので、表示デコンプレッサ６２と表示プロセッサ７０の間では不要である。表示デコンプレッサ６２と表示プロセッサ７０は、低コスト受像機ではアップサンプリングを実行しない。というのは、そのような受像機は低表示解像度を提供するからである。そのような場合には、メモリを減らされたデコーダ・フレームは標準精細度ディスプレイより高い解像度を有する。たとえば、１９２０×１０８８画素のビデオ・シーケンスを復号し、７２０×４８０画素の表示装置に表示するためには、フレーム・メモリに記憶される画像が９６０×１０８８（水平デシメーション係数が２の場合）の解像度を有することが必要になる。したがって、表示デコンプレッサ６２は画像のアップサンプリングを行う必要はないが、表示プロセッサ７０は、９６０×１０８８解像度の画像を表示に適した７２０×４８０にダウンサンプリングしなければならない。
【００４１】
図１８に、図１のユニット３６および３８によって実行される画素サブサンプリング処理に関連する要素の全般的な配置を示し、図１９に、ユニット８８によって実行される画素アップサンプリングの全般的な配置を示す。ユニット３６および３８では、元の画素は、まず偶数次低域フィルタであるフィルタ１０２によって低域フィルタリングされた後に２でデシメートされ、１つおきの画素値がユニット１０４によって除去される。これらの画素はフレーム・メモリ６０に記憶される。その後、フレーム・メモリ６０からの画素データが周知の手法を使用してアップサンプリング・ユニット８８の要素１０６により繰り返される。
【００４２】
この例では、フィルタ１０２は８タップ対称ＦＩＲフィルタである。このフィルタは水平空間領域で動作し、ブロック境界にまたがってフィルタリングを行う。８タップフィルタは、図１８からわかるように、出力画素の相対位置を入力に対して１／２サンプル期間だけシフトする効果を有する。やはり図１８からわかるように、画素繰り返しアップサンプリングは、元の画素に対するダウンサンプリング／アップサンプリングされた画素の空間的位置が同一に保たれるという効果を有する。デシメーション・フィルタ・ユニット１０４は２タップフィルタとし、その結果、入力画素ｘおよびｙについてフィルタが（ｘ＋ｙ）／２を出力し、デシメーションが１つおきの画素を捨てることによって達成されるようにすることができる。このフィルタはブロック境界をまたがないが、実施が簡単であり、水平デシメーションにはよい選択である。
【００４３】
図１に示されたテレビジョン受像機システムは、ディテールを過度に描く負担をなくすために簡略化されている。たとえば、図示されていないものは、システムの様々な要素に関連するＦＩＦＯ入出力バッファ、読み書き制御、クロック・ジェネレータ回路、および、拡張データ出力型（ＥＤＯ）またはシンクロナス型（ＳＤＲＡＭ）とすることのできる外部メモリにインタフェースするための制御信号である。図１のシステムにはさらに、たとえばデータ、読み書きイネーブル情報およびアドレス情報を送受するためのマイクロプロセッサ１２０，内部の制御バス１１４に結合された外部バスインタフェース１２２およびコントローラ１２６が含まれる。この例では、マイクロプロセッサ１２０はＭＰＥＧデコーダを含む集積回路の外部に配置される。
【００４４】
表示プロセッサ７０には、復号された画像のフォーマットを画像再生装置７２による表示のための所定フォーマットに変換する必要に応じて、水平再サンプリングフィルタと垂直再サンプリングフィルタが含まれる。このシステムは、たとえば５２５ライン・インタレース方式、１１２５ライン・インタレース方式、または７２０ライン・プログレッシブ・スキャンなどのフォーマットに対応する画像シーケンスを受け取り、復号する可能性がある。表示プロセッサ７０は画像表示に関連するクロック、水平同期信号および垂直同期信号も作り、内部メモリバス５５を介してフレーム・メモリ６０と通信する。
【００４５】
外部バスインタフェース１２２はＭＰＥＧデコーダと外部のマイクロプロセッサ１２０間で制御情報と構成情報を運び、さらにＭＰＥＧデコーダによる処理のために入力の圧縮ビデオデータを運ぶ。ＭＰＥＧデコーダ・システムは、マイクロプロセッサ１２０の補助プロセッサに類似している。たとえば、マイクロプロセッサ１２０は復号するフレームごとにＭＰＥＧデコーダに復号コマンドを発行する。デコーダは関連するヘッダ情報を突き止め、マイクロプロセッサ１２０がそのヘッダ情報を読み取る。この情報を用いて、マイクロプロセッサ１２０はたとえばフレームの種類、量子化マトリックスなどに関するデコーダ構成のためのデータを発行し、その後、デコーダは適当な復号コマンドを発行する。可変長デコーダ１４は内部メモリバス５５を介して通信し、インタフェース回路１２８は内部メモリバス５５と制御バス１１４間の通信を容易にする。
【００４６】
受像機製造業者によってプログラムされるモード制御データは、ユニット４０，４２および８０〜８４の圧縮／圧縮解除係数を確立するためと、システム設計パラメータによつて要求される圧縮ネツトワーク(compression network)、圧縮解除ネットワーク(decompression network）、アップサンプリング・ネットワークおよびダウンサンプリング・ネットワークの状態を制御するために、メモリ・コントローラ１３４およびコントローラ１２６と関連してマイクロプロセッサ１２０によって運ばれる。マイクロプロセッサ１２０は、フレーム・メモリ６０を区分して、ＭＰＥＧ復号処理および表示処理のためにフレーム記憶セクション、フレーム記憶並びにビットバッファ、およびオンスクリーン表示ビットマップ・セクションに分ける。ローカル・メモリ・コントローラ１３４は、（たとえばユニット７０から）水平同期と垂直同期を受け取り、データ要求入力を受け取り、アクノリッジ信号（ＡＣＫＮ）ならびにメモリ・アドレス、読み出しイネーブル（Ｒｅｎ）、書き込みイネーブル出力（Ｗｅｎ）を、バッファ制御回路を含む様々なシステム回路に供給する。メモリ・コントローラ１３４は、フレーム・メモリ６０を制御するためのアドレス信号と制御信号をリアルタイムで生成する。出力クロック信号ＣＬＫＯＵＴは、クロック・ジェネレータ５０などのローカル・クロック・ジェネレータによって供給することのできる、入力クロックイン信号ＣＬＫＩＮに応答して供給される。図１のシステムは、たとえば地上波放送、ケーブル送信システム、衛星送信システムに関連するものなど、様々なディジタル・データ処理方式に関連するＭＰＥＧ仕様のすべてのプロファイルおよびレベルと共に使用することができる。
【００４７】
この実施例では、フレーム・メモリ６０は、ＭＰＥＧデコーダおよび図１の関連要素を含む集積回路の外部に配置される。表示プロセッサ７０には、ＭＰＥＧデコーダ集積回路上にないいくつかの要素を含めることができる。このような外部メモリデバイスを使用することによって、受像機の製造業者は、たとえば受像機が高精細度データストリームを受け取った時の完全な高精細度表示または低精細度表示のために、受像機の意図された用途との互換性を有するように、経済的なサイズを有するメモリ・デバイスを選択できるようになる。ＭＰＥＧ復号に通常に使用される大量のメモリは、現時点では実際的な問題としてメモリをデコーダ集積回路の外部に置くことを必要とする。将来の技術的進歩によって、メモリをＭＰＥＧデコーダ要素と同一の集積回路に配置できるようになる可能性がある。しかし、外部メモリ・デバイスの使用によって、製造業者は表示解像度および他の受像機の特徴と両立するメモリ・サイズを選択できるようになる。
【００４８】
実際には、受像機製造業者は、拡張機能を有する高価な高級モデルとして受像機を構成するか、低機能の経済的なモデルとして構成するかを決定する。重要な機能の１つが、表示される画像の解像度である。低コスト受像機では、より安価な低解像度画像表示装置とＭＰＥＧデコーダに関連するメモリの量が、コスト削減に寄与する要因に含まれる。
【００４９】
この例においてメモリ要件は、圧縮ネットワークでデータが２５％圧縮される時にメモリ要件が６４Ｍビットに低下し、データが５０％圧縮される時には、メモリ要件はさらに経済的な４８Ｍビットに低下する。２５％の圧縮率は完全なＨＤ画像表示に関連し、事実上、圧縮なしの完全なＭＰＥＧ復号と区別できない。５０％圧縮の場合、熟練した観察者ならかろうじて感知できるアーチファクトに気付く可能性がある。どちらの場合でも、復号された画像シーケンスは、完全なＨＤ解像度の画像表示装置による表示について、完全な１９２０×１０８８ＨＤ解像度を示す。
【００５０】
完全なＨＤ画像の解像度は、受像機モデルに完全なＨＤ解像度能力未満の安価な表示装置が使用される時など、いくつかの場合に不要である。そのような場合には、完全なＨＤ解像度画像を表示せずにＨＤ情報を受け取り、復号することが望ましい。そのような受像機では、デシメータ・ネットワーク３６，３８とコンプレッサ・ネットワーク４０を一緒に使用してデコーダのメモリ要件を大幅に削減することができる。たとえば、デシメータ・ネットワークは係数２で水平にデータをデシメートすることができ、圧縮ネットワークは、デシメートされたデータを５０％だけ圧縮することができる。これは、３２Ｍビットという大幅に削減されたデコーダ・メモリ要件をもたらす。この場合、表示用の画像は９６０×１０８８解像度を示し、これは１Ｈまたは２Ｈの受像機応用にとって十分である。したがって、３２ＭビットだけのＭＰＥＧデコーダ・メモリを使用して完全なＨＤ画像データストリームを復号することのできる低コスト受像機を構成することができる。上述した動作は、マイクロプロセッサ１２０によってモードスイッチ４５に供給されるモード制御（Mode Control）信号に応答して達成される。ＭＰＥＧデコーダが高精細度受像機内にあるか低解像度受信器内にあるかに応じて、マイクロプロセッサ１２０は、圧縮量と、デシメータ・ネットワークをイネーブルとしてデータをダウンサンプリングかまたは迂回するかを決定するようにプログラムされる。
【００５１】
図１のシステムは、高精細度表示装置による表示のための高精細度テレビジョン信号などの大量のデータを含む信号を処理するための第１データ処理モードと、少量のデータを処理するための第２モードを示す。第２モードは、たとえばデータ解像度機能の低い低コストデバイス（すなわち、非高精細度表示装置）を含む経済的な受像機に使用することができる。
【００５２】
図１のスイッチ４５の状態は、その受像機によって表示されるデータの種類、たとえば高精細度（第１モード）または高精細度未満（第２モード）などを示すために、受像機の製造業者がプログラムすることのできるモード制御（Mode Control）信号によって制御される。モードスイッチ４５は、受け取った高精細度信号を高精細度表示装置によって表示する場合には第１モード動作をもたらし、高精細度入力信号をユニット３６および１３８によってサブサンプリングして高精細度未満の解像度を有するより経済的な表示装置による再生のために高精細度未満の情報を作成する場合には、第２モード動作をもたらすように制御される。
【００５３】
第１モードでは、デシメータ・ユニット３６および３８が迂回され、圧縮されるデータ・ブロックは直接にコンプレッサ４２へ、モードスイッチ４５を介してコンプレッサ４０へ運ばれる。このモードでは、モード制御信号はコンプレッサ４２の制御入力に印加されてコンプレッサ４２をイネーブルにする。第２モードでは、モード制御信号の状態から、この実施例ではコンプレッサ４２から電力を除去してコンプレッサ４２がディスエーブルされると同時に、加算器３０からのデータはスイッチ４５を介してアクティブのコンプレッサ４０に運ばれるようになる。電力除去によるコンプレッサ４２のディスエーブルは、ＨＤＴＶ情報の処理目的の集積回路デバイスでは、高いクロック周波数、大きい表面積および集積された大量の能動要素に起因するそのような集積回路の電力（熱の方散）制限があるので、特に有利である。クロックがゲートされるシステム（gated clock system）では、電力除去は、効果的にコンプレッサのクロックを停止することによって達成される。そのような動作の追加の長所は、コンプレッサは、８×８や４×８など類似のブロック処理モードで動作するだけで十分なことである。すなわち、たとえばデシメーション処理によって作られる４×８画素ブロックを処理するためにコンプレッサ４０を再プログラムする必要はない。ブロック並べ換えユニット４３は、デシメーション後にブロックを再構築し、４×８画素ブロックからコンプレッサのブロック処理アルゴリズムとの互換性を有する８×８画素ブロックを作成する。
【００５４】
モード制御信号は、ユニット３６および３８によるデシメーションが使用されない時の動作モードでアップサンプリング機能を迂回するために、水平のアップサンプリング・ネットワーク８８の制御入力にも印加される。この目的のために、ユニット８８は、そのような迂回モードでユニット８６からの出力信号をユニット９０に直接に切り替えるための比較的簡単なスイッチング構成を使用することができる。
【００５５】
フレーム・メモリ６０にデータを記憶する前に圧縮を行うには、動き補償処理ループにおいてユニット９０の前でデータを圧縮解除することが必要になる。これは、コンプレッサ４０および４２の動作の逆を示すブロックベースのデコンプレッサ８０，８２および８４によって達成される。ブロックベースの表示デコンプレッサ６２では、コンプレッサ８０〜８４によって使用されるものに類似の圧縮解除手法が使用され、表示プロセッサ７０に運ぶ前に、記憶された画素データが圧縮解除される。ダウンサンプリング・ネットワーク３６，３８がフレーム・メモリ６０の前でイネーブルされている時には、動き補償ループ内のユニット９０の前でフレーム・メモリ６０からの出力データをユニット８８によってアップサンプリングし、当該ユニットはネットワーク３６，３８の動作の逆を示す。
【００５６】
図１のシステムは、有利なことに、動き補償ループにおいてユニット８０，８２および８４によって表される複数の並列ブロック・デコンプレッサを使用する。この例では、ユニット８０，８２および８４のそれぞれにおいて３つの、合計９つのデコンプレッサを使用して、すべての画素を個別に圧縮解除できるようになっている。これらのデコンプレッサのそれぞれが、関連するＦＩＦＯ入力バッファを有する。３つのデコンプレッサ（たとえばユニット８０内の）は、ＭＰＥＧ順方向予測モードで輝度画素データを圧縮解除するのに使用され、３つのデコンプレッサ（たとえばユニット８２内の）は、ＭＰＥＧ逆方向予測モードで輝度画素データを圧縮解除するのに使用される。クロミナンス情報は輝度情報の半分なので、３つのデコンプレッサ（たとえばユニット８４内の）だけがクロミナンス画素データの圧縮解除に使用される。９つすべてのデコンプレッサの使用は、両方向動き補償予測処理が必要なＭＰＥＧ  Ｂピクチャ復号の最悪条件のために必要である。したがって、Ｂピクチャ予測には２つの画像フレーム（順方向と逆方向）が必要であるが、ＭＰＥＧ  Ｐピクチャ予測には１つの画像フレームだけが必要である。
【００５７】
動き補償予測ブロックは、ブロック境界上で発生しない可能性がある（実際にそうであることがしばしばである）。その代わりに、複数のブロックをフレーム・メモリ６０から呼び出さなければならない場合がある。１／２画素解像度を用いるＭＰＥＧ−２システムでの最悪条件では、動き補償予測機構ブロックは６ブロックにまたがる可能性がある。したがって、６ブロックをメモリからアクセスしなければならない。本明細書で開示されるシステムなど、動き補償ループ内で再圧縮（ユニット４０，４２を介する）を用いるシステムでは、画素に直接アクセスすることができない。まず、ブロック画素のすべてを圧縮解除しなければならず、そのためには最悪条件で６ブロックのオーバーヘッドが必要であり、必要量をはるかに上回る量のデータが作られる。前述したように、不要な画素情報はフォーマッティグ・ユニット８６によって破棄されるが、これはすべての画素が圧縮解除された後に行われる。
【００５８】
上述した６ブロックの状況などの大量のデータを処理する状況では、記憶前の圧縮解除によって、圧縮解除された画素情報の処理に関連するバッファメモリ・サイズの必要量が大幅に増える。その代わりに、本明細書に開示されたシステムでは開示の通りに並列にデータを圧縮解除し、その後、プレディクタ・ブロックに関連しない不要な圧縮解除された画素データを破棄する（ユニット８６を介して）ことが好ましいことが判明した。この手順では、有利なことに必要なバッファ記憶容量が大幅に減少する。したがって、バッファメモリ帯域幅（データ容量）要件（buffer memory bandwidth(data capacity)requirement）が減少するが、より多くの集積回路表面積が必要になる。しかし、複数のデコンプレッサを並列に使用することによって、高速動作と、それに関連する動き補償プレディクタ処理に必要な画素データへの高速アクセスという追加の長所が得られる。
【００５９】
複数のデコンプレッサは、パイプライン化されない。各デコンプレッサとそれに関連するバッファは独立に動作してデータを配布し、その結果、速やかに画素データが配布される。あるデコンプレッサ／バッファ・ネットワークの動作遅延は、他の圧縮解除ネットワークの動作に影響しない。デコンプレッサは画素データに関するインタリーブ式の動作も示し、これにより各デコンプレッサの独立動作が容易になる。また、圧縮ネットワークと同様に、デコンプレッサ８０，８２および８４は、ユニット４４内の共通のルックアップ・テーブル（ＬＵＴ）を共用する。
【００６０】
量子化と変換を含む様々な種類の圧縮を、特定のシステムの要件に応じてネットワーク４０，４２によって使用することができる。本明細書で開示されるシステムでは固定長圧縮が使用されるが、可変長圧縮または適応式固定長圧縮もしくは適応式可変長圧縮も使用可能である。
【００６１】
使用される圧縮の種類はある特性を示すことが好ましい。各ブロックは所定の量だけ圧縮され、その結果、各圧縮ブロックの位置を容易に判定できなければならない。各ブロックは、他のブロックとは独立に圧縮／圧縮解除されなければならない。したがって、どのブロックにも他のブロックを読み取る必要なしにアクセスすることができる。この圧縮／圧縮解除処理は、再生された画像に不快なアーチファクトを生じてはならない。２５％の圧縮係数は、そのような圧縮なしの通常のデコーダ処理と比較して本質的に透過的である。５０％の圧縮では結果の透過性は低いが、視覚的な結果は許容可能であり、圧縮およびメモリ削減なしの通常のデコーダ処理と比較して大きな相違があるとはみなされない。
【００６２】
図２０に、図１のリコンプレッサ（recompressors）４０および４２のそれぞれで使用される固定された圧縮ネットワークを示す。この圧縮ネットワークでは、適応予測を用いる差分パルス符号変調（ＤＰＣＭ）ループが使用される。予測を用いるこのようなＤＰＣＭ処理の原理は、連続する画素間の相互の冗長性を除去し、差分情報だけを作成することである。この周知の処理は、全般的に、Ａ．Ｋ．Ｊａｉｎ著、「Fundamentals of Digital Image Processing」、Prentice-Hall International社刊、第４８３ページ以降に記載されている。
【００６３】
図２０の回路について説明する前に、図２２を参照する。図２２は、ＤＰＣＭネットワークの予測処理動作に関連する４つの画素ａ、ｂ、ｃおよびｘ（予測される画素）のグループの配置例を示す図である。この画素のグループは、図２２に示された８×８画素ブロックで参照される。各画素ブロックは、図２２に示されたラスタ形式で左から右の順に下向きに走査される。この例では、輝度情報の場合に、画素ｂは画素ｃに対して１画素間隔だけ遅延され、画素ａは画素ｂに対して７画素間隔だけ遅延され、画素ｘは画素ａに対して１画素間隔だけ遅延される。クロミナンス情報の場合、画素「ａ」は３画素間隔だけ遅延される。
【００６４】
ＤＰＣＭ予測処理では、符号化中の現画素がデコンプレッサ６２，８０，８２および８４（図１）に、既知の、前に符号化された画素を使用することによって予測される。図２２では、画素ｘが予測符号化される画素値であり、画素ａ，ｂおよびｃは前に予測符号化されており、圧縮解除ネットワークに既知である。ｘの予測Ｘｐｒｅｄでは、以下の擬似コードに従ってａ，ｂおよびｃの値を使用する。
この擬似コードは、使用されるアルゴリズム論理を示す。
【００６５】
if        （｜ａ−ｃ｜＜ｅ１＆＆｜ｂ−ｃ｜＞ｅ２），Ｘｐｒｅｄｂ
else if    （｜ｂ−ｃ｜＜ｅ１＆＆｜ａ−ｃ｜＞ｅ２），Ｘｐｒｅｄ＝ａ
else                                             Ｘｐｒｅｄ＝（ａ＋ｂ）／２
値ｅ１およびｅ２は、所定の閾値を表す定数である。このアルゴリズムは、処理中のブロックの第１行にも第１列にもない画素だけに使用される。いくつかの例外は次の形で処理される。ブロックの最初の画素は他の画素を参照せずに非常に微細に符号化され、第１行の画素は画素値ａをプレディクタとして使用し、第１列の画素は画素値ｂをプレディクタとして使用する。基本的に、このアルゴリズムはエッジを検出しようと試みる。第１の場合には、垂直エッジは画素ｃとｂの間および画素ａとｘの間にあると推測される。したがって、ｂが最適のプレディクタである。第２の場合には、水平エッジはａとｃの間およびｂとｘの間にあると推測される。したがって、ａが最適のプレディクタである。第３の場合には、明らかなエッジが見つかっていない。この場合、ａとｂの両方が同等によいプレディクタであるから、その平均値が使用される。
【００６６】
図２０の圧縮ネットワークは、ＤＰＣＭ処理の結果として作られる差分（残差）画素値を量子化する。図２０では、２つの所定の遅延を有するインタリーブ式ＤＰＣＭループと、直列処理ではなく並列処理が使用される。図２０の回路は、図５に示されたシーケンスのインタリーブされた画素データＡおよびＣを処理するために図１のリコンプレッサ４０によって使用された回路に対応する。類似の回路が、インタリーブされた画素データＢおよびＤの圧縮のために、コンプレッサ４２によって使用される。図２０のネットワークは残差値を圧縮するので、プレディクタ・ループは、対応する次のブロックの対応する同一位置の画素が現れる前に、所与のブロックの画素の処理を完了しなければならない。インタリーブされた画素ブロックデータは、この回路を介して独立に移動するが、これは異なるレートの入力データと出力データを有する可変長符号化システムに重要である。
【００６７】
図２０では、それぞれのインタリーブされた画素ブロックＡ、Ｃ…（図５）からのインタリーブされた画素データのシーケンスａ、ｃ、ａ、ｃ…が、ユニット２３０による１画素遅延の対象になる。圧縮される所与の画素値は、減算型の結合器（combiner）２１０の非反転入力（＋）に印加される。結合器２１０の反転入力（−）は、プレディクタ２１５から予測画素値を受け取る。結合器２１０からの残差（差分）画素値出力は、量子化器２２０による量子化と逆量子化器２２２による逆量子化の対象になる。量子化器２２０によって提供される量子化はこの例では固定式であり、所望の固定量のデータ圧縮が保証される。要素２３０，２３２，２３４，２３６，２３８，２４０および要素２４２は、５４ＭＨｚのＣＬＫ信号によってクロッキングされるレジスタ（たとえばフリップフロップ）である。要素２３０，２３２，２４０および２４２（Ｚ−１）は１クロック・サイクルの遅延を示す。データ・インタリーブがあるので、１画素進むためには２クロックを要する。ネットワークが２つのインタリーブされた画素ブロックのデータストリームを処理することの結果として、要素２３８は２クロック・サイクル、要素２３４は６クロック・サイクル、要素２３６は８クロック・サイクルの遅延を示す。逆量子化器２２２の出力は量子化器２２０への入力の近似値であるが、量子化誤差によって引き起こされる少量の直流オフセットだけ異なる。加算器２２８の出力であるＩｎｐｕｔ’は、これと同じ量だけ量子化器２２０への入力信号と異なる。複数のクロック・サイクルにわたるインタリーブされた入力画素ａ、ｃ…のシーケンスの、図２０の選択された回路要素に関するタイミング関係を図２７に示し、後で詳細に説明する。
【００６８】
図２０のネットワークには、図からわかるように、加算器２２８とマルチプレクサ（Ｍｕｘ）２２５および２３５も含まれる。これらのマルチプレクサは、プレディクタ２１５，画素遅延要素２３４，２３６および画素遅延要素２３８と共同して画素予測ネットワークを構成する。Ｍｕｘ２３５のスイッチング状態は、それに印加される輝度（Ｙ）制御信号とクロミナンス（Ｃ）制御信号によって決定される。Ｙ制御信号およびＣ制御信号は、図３に示した輝度およびクロミナンス・ブロック・インタリーブの機能として作られる。制御信号ＹおよびＣの出現は画素カウント／タイミング処理からもたらされ、その結果、シーケンス的にはクロミナンス画素がマクロブロックの輝度画素の後に処理されるようになる。Ｙ制御信号とＣ制御信号は、８×８輝度ブロック処理または４×８クロミナンス・ブロック処理に適した形で、プレディクタ回路内の遅延量を制御するのに使用される。クロミナンス画素の処理は、「１」論理レベル制御信号がＭｕｘ２３５に印加され、Ｍｕｘ２３５がその「１」入力に現れるデータを通す時にイネーブルされる。輝度画素データの処理は、「０」論理レベル制御信号がＭｕｘ２３５に印加され、Ｍｕｘ２３５がその「０」入力にユニット２３６の出力から印加されたデータを通す時にイネーブルされる。８×８輝度ブロックの場合、「ｘ」プレディクタ画素は８画素離れている。Ｍｕｘ２３５は入力遅延経路を切り替えて、この大きな遅延を作る。
【００６９】
圧縮（量子化）された残差画素出力データは、量子化器２２０の出力で作られる。この圧縮データ（図６）は、ハフマン符号化を含む次の処理の対象になる前に、ユニット２４２による１クロック・サイクルの遅延を受ける。
【００７０】
２つのフリップフロップ遅延要素である要素２３２と２４０は、特に注目される。要素２３２および２４０を使用することにより二重の遅延経路Δ１およびΔ２が作られ、１つおきの画素ではなく隣接画素の予測が可能になる。遅延経路Δ１には、ディレイ２３２の出力とディレイ２４０の入力間の回路構成要素が含まれる。遅延経路Δ２には、ディレイ・ユニット２４０の出力とディレイ・ユニット２３２の入力間の回路構成要素が含まれる。ディレイ・ユニット２３２と２４０のそれぞれが、約１８ナノ秒、すなわち５４ＭＨｚの１クロック・サイクルの１クロック遅延を表す。この構成を用いると、圧縮出力画素は、圧縮される画素が回路内へクロッキングされる（clocked）時に回路から外へクロッキングされる。したがって圧縮出力画素は、圧縮される入力画素があるたびに、リアルタイムで作られる。
【００７１】
他のシステムでは、上述した原理を４倍インタリーブ、すなわち、図２０のシステムの２つの遅延経路の代わりとなる４つの遅延経路および４つのデータ・パイプラインと共に使用することができる。この場合、クリティカルな処理ループを４つの部分に分割して同期を容易にすることができ、これによって、より高速のクロックを使用できるようになる。また、この場合には、共用ルックアップ・テーブルによって集積チップ面積が節約されるはずである。この例では入力画素ブロックがインタリーブされているが、すべてのシステムで入力データがインタリーブされる必要はない。
【００７２】
二重遅延経路Δ１およびΔ２を使用することによって、この場合はたとえば約１８ナノ秒の遅延など、必要に応じてネットワーク全体の遅延を調整することが容易になる。これに関して、各遅延経路に関連する広範囲の信号処理が遅延を調整するための様々な手段をもたらすことに留意されたい。２つの遅延経路によって示される遅延はクリティカルではない。回路はクロックに関して最適化され、その結果、各遅延は周期的な５４ＭＨｚクロックの約１クロック・サイクルを示すことが好ましい。しかし、他のシステムでは、所与の回路に関して、たとえば不規則または非周期的なクロック・サイクルを作成するために、クロック・サイクルを調整することが適当な場合がある。２つの遅延経路が等しい信号処理遅延を示す必要はないが、本明細書で開示するシステムでは、ほぼ等しい遅延が好ましい。
【００７３】
Δ１とΔ２などの２つの信号処理経路は、信号処理遅延に関して、要素２３２と２４０が存在しない場合のような１つの総合経路よりも簡単に最適化できる。要素２３２と要素２４０によって定義される２つの経路の場合、各経路は他方の経路からの結果を待たずに動作を開始することができる。単一経路システムの場合、各画素値（たとえば、要素２３４，２１５および２２５への入力のノードでの画素値）はプレディクタ論理、加算器、量子化器および逆量子化器を含む複数の機能によって処理されなければならず、次のクロック・サイクルが始まる前に経路の終点に現れなければならない。さらに、このような画素値はその時点で安定していなければならない。これは、より高い自由度を示す本明細書で開示される複数経路システムには存在しない、厳しい制約である。
【００７４】
図２０の配置は、集積回路などのハードウェアで実施される時に、５４ＭＨｚクロック・レートでリアルタイムに、画素入力ごとに圧縮された画素出力を作成することができる。図２０の配置は、信号処理遅延を調整するための自由度がより多く、同一の結果をもたらすために集積デバイス内で消費する表面積はかなり少ない。さらに、表面積の削減はキャパシタンスの減少を示し、より高速の動作速度能力とより少ない電力消費をもたらす。より高速のクロックを使用することも可能である。このような場合には、集積回路面積の削減（たとえばコンプレッサとそれに関連するサポート・ユニットの数が減少する）と、自動化設計ツールの使用に因るよりよいシステム最適化に関して、インタリーブが利益をもたらす。
【００７５】
１クロックで、すべての論理ゲートを一度で同期化しなければならない。上述した２つの遅延経路の使用によって、集積回路設計にＶＨＤＬ高水準言語コードの使用が含まれ、既知の通りそこからゲートが合成される時には圧縮ネットワークと圧縮解除ネットワークの両方の論理ゲートの合成が大幅に簡略化される。２つの遅延経路を用いると自動論理設計は速やかに集束し、その結果、ゲート合成の速度、精度および再現可能性が高まる。
【００７６】
再現可能性が高い（reproducible）設計が容易になるほかに、上で説明した図２０の二重処理経路では、帯域幅の長所と共用論理要素（たとえばルックアップ・テーブル）を利用するためのインタリーブの使用が促進される。このような二重処理経路を用いると、この実施例の予測機能および圧縮計算機能など、特定のシステムが必要とする機能セルまたは機能モジュールへの設計の分割も容易になる。このようなモジュールは、特定のシステム設計要件に合わせて必要に応じて調節することができる。
【００７７】
インタリーブ式のコンプレッサの動作に関して留意すべき点は、所与のクロックの半分でそれぞれクロッキングされる２つのコンプレッサを使用するよりも、所与の高速クロックの２サイクルを使用するインタリーブされたデータと共に１つのコンプレッサ使用することが好ましいと判明していることである。１クロックの２サイクルを使用することにより上述したインタリーブを介するタイミング最適化が容易になり、インタリーブにより２倍の量のデータを処理することが可能になる。開示されるシステムでは、所与の画素値の予測は１クロック・サイクル中に実行されるが、その画素に関する計算（量子化や逆量子化など）は次のクロック・サイクル中に実行される。たとえば、インタリーブされた画素ブロックＡおよびＣについて、ブロックＡからの画素データは、ブロックＣからの画素データに対して量子化計算が実行される５４ＭＨｚクロック・サイクル中に予測される。次のクロック・サイクル中には、ブロックＡの画素データが量子化計算の対象になり、ブロックＣの画素が予測される。したがって、このシステムは、異なるインタリーブされたブロックについて交互に予測と計算を行う。５４ＭＨｚクロックの２サイクルを使用することによって、ハードウェア回路製造のために使用可能な適当なツールを使用して回路遅延を最適化する機会がもたらされる。画素値の予測と圧縮値の計算を交互に行う処理を、図２７に示す。
【００７８】
図２７は、関連するインタリーブされた画素ブロックＡおよびＣのインタリーブされた画素「ａ」および「ｃ」を、５４ＭＨｚ圧縮クロックの複数サイクルにわたって処理するプロセスを示す図である。このプロセスは、第１画素ブロックＡ１の第１画素ａ１から始まると仮定する。図２７および図２０を検討すると、第１クロック・サイクルに、画素ａ１がレジスタ（フリップフロップ）２３０の入力から出力へクロッキングされ、これにより画素ａ１はユニット２２０によって量子化（圧縮）され、レジスタ２３２の入力に現れる前にユニット２２２によって逆量子化され、これらは第１クロック・サイクル中にすべてが行われる。この時点での画素ａ１は入力画素ａ１の近似値であり、量子化器２２０と逆量子化器２２２による処理に関連する量子化誤差に起因するわずかな直流オフセットを示すため、画素ａ１’と表す。
【００７９】
第２クロック・サイクルには、次の画素、すなわちインタリーブされた画素ブロックＣ１の最初のインタリーブされた画素ｃ１が現れ、画素ａ１について上で説明したものに類似した形で処理される。さらに、第２クロック・サイクルには画素ａ１’がレジスタ２３２の出力にクロッキングされ、これによってプレディクタ２１５およびＭｕｘ２２５を含む予測ネットワークにクロッキングされる。これは、レジスタ２４０の入力に現れる画素ａ１’の予測値をもたらす。したがって、第２クロック・サイクル中に画素ｃ１は圧縮（量子化）され、前に圧縮された画素ａ１’は予測処理の対象になる。
【００８０】
第３クロック・サイクル中には、予測処理された画素ａ１’がレジスタ２４０の出力に運ばれ、結合器２１０で減算的に組み合わされ、量子化器２２０によって圧縮され、出力レジスタ２４２の入力に圧縮出力値ａ１”として現れる。画素ａ１”は、次のクロック・サイクル中にこのレジスタから後続のハフマン符号化回路へクロッキングされる。また、この第３クロック・サイクル中に圧縮された画素値ａ１”が作られている間に、インタリーブされた画素ｃ１’はプレディクタ２１５による予測処理の対象になる。この処理はインタリーブされたブロックＡおよびＣの残りのａｎ，ｃｎ画素について継続され、これによって、各クロック・サイクル中に、インタリーブされた画素はそれぞれ予測処理または圧縮処理の対象になる。
【００８１】
データのインタリーブを行わない場合、画素値ａ１からたとえば圧縮された出力値ａ１”へ、１クロック・サイクルで処理が進行しなければならない。この要件からは、非常に厳しい速度とタイミングの制約が示されるが、これら制約は上で説明したインタリーブ式の処理によって回避される。インタリーブ式の処理では量子化論理と逆量子化論理を共用することもでき、集積回路の面積と電力消費が減少する。
【００８２】
上で説明したインタリーブ式の圧縮動作はＭＰＥＧ圧縮と独立に使用することができ、したがって、複雑で高価なＭＰＥＧ圧縮が不要な２５％〜５０％の予測圧縮を実現するコンシューマ用ビデオ応用製品（たとえば、ホームビデオデッキや一体型ビデオカメラ）で使用するための経済的な処理システムを表す。
【００８３】
２つではなく４つのインタリーブされた画素ブロックが、より高速のクロックと共に使用することができる。この場合、４つの８×８輝度画素ブロックのブロック全体を同時に処理することができる。
【００８４】
開示されるシステムでは、圧縮解除ネットワークのそれぞれが、図２１に示されるように配置される。このデコンプレッサ回路は、要素２１０が９ビット加算器であることと、要素２２０，２２２，２２８および２４２が削除されている点を除いて、図２０のコンプレッサ回路に類似している。経路Δ２では、経路Δ１よりも短い処理が行われる。しかし、経路Δ２に９ビットの加算器２３１を含めると約９ミリ秒の時間的制約が追加され、これによって圧縮解除ネットワークの設計が複雑になる。これに関して、加算器２３１は、Ｍｕｘ２２５が有効なデータを受け取るまでは計算を開始できないことに留意されたい。したがって、ループのタイミング制約を軽減することが有益である。二重遅延経路を使用するとこれが達成され、全体的な設計は大幅に簡単化される。
【００８５】
圧縮解除の場合、予測経路Δ１がより重要な経路であることが判明している。経路Δ２は、集中的なデータ演算のために低速の５４ＭＨｚクロックを使用しなければならない圧縮の場合に重要であることが判明している。
【００８６】
前に注記したように、ネットワーク８０，８２および８４の各デコンプレッサは独立に動作し、その結果、速やかに画素データが配布される。データ転送はしばしば、フリップフロップやレジスタなどのクロッキングされる装置により達成される。パイプライン化されるデータが複数のソース（source）から導出される時、たとえばインタリーブ式データの場合、どの時点においてもあるレジスタ内のデータはあるソースからのデータであり、他のレジスタのデータは他のソースからのデータである。これらのデータは共通のデータ・クロックに応答して一緒に流れるが、連続するレジスタのデータは相互に独立である。両方のデータ・ソースが同期して起動され、停止される時には、データストリーム（パイプライン）が同時に起動または停止されるならシステム動作の問題は回避できる。
【００８７】
問題が発生するのは、他のソースがデータ送出を継続している間にあるソースがデータ送出を停止した時である。ＨＤＴＶ信号プロセッサなどのデータ集中型パイプラインでは、表示のための正確な高品位の画像を作成するために秒あたりの大量の計算が必須である。このようなシステムは、１つまたは複数のデータ・ソースがデータ送出を停止した時であっても、データフローに割り込む余裕がない。そのような場合にはパイプラインのデータフローを制御し、その結果、他のデータ・ソースが中断した時に中断していないソースから供給される出力データの正しい位相同期が維持されるようにすることが重要である。
【００８８】
ＨＤＴＶシステムなどのデータ集中型画像処理システムでは、データ・クロックが停止しないことが重要である。そのようなシステムでは、圧縮サブシステムや圧縮解除サブシステムなどの一部の構成要素は、異なる入出力データ処理要件（input and output data processing requirements）と異なるデータ・レートを有する。たとえば、表示用の圧縮解除された出力画素データは連続的に出力されなければならず、連続的なクロックを必要とするが、圧縮解除される圧縮入力データは、クロックが存在しない時には空の間隔で散発的に到着する可能性がある。入力データが存在しない時に圧縮解除クロックが停止した場合、圧縮解除された画素データのクロッキングも停止するはずである。これは、データ集中型の高精細度画像処理および表示システムでは破壊的な現象になる。したがって、以下に説明するように、特に圧縮解除処理でハフマン復号が使用される時にいくつかの条件下でデータを繰り返すことが有利である。
【００８９】
開示されるシステムでは、圧縮ネットワーク（図２０）の出力がハフマン符号化の対象になる。ハフマン復号はデコーダ側の圧縮解除に関連する。ハフマン符号化／復号は、コードワード長の相違に起因して入力データ・レートと出力データ・レートが異なる統計的処理であるから、変動するデータ内容にバッファを使用して対処する。
【００９０】
図２３および図２４からわかるように、別々のソースからのデータがパイプライン化されたレジスタのシーケンスによって処理される時には、他のすべてのレジスタからのフィードバックを使用して、あるデータ構成要素（第１ソースからの）のパイプラインを通る流れを保ち、他のデータ構成要素（第２ソースからの）はそれ自体を繰り返し続ける。この手法を用いると、ソースからのデータがインタリーブされる場合に、データ・ソースのうちの１つがデータ供給を停止した時に所望の予測されたレートでパイプラインを介してデータを処理することができる。
【００９１】
データの繰り返しはデータ・クロックの停止と同等であるが、起動−停止の同期化の問題がない。繰り返しデータの使用は、回復中の遅延でデータサイクルが失われるためデータなし（たとえば空の語）の使用より好ましい。データの繰り返しはデータフローの一貫性を維持するために重要であり、データ非送出より破壊的でない。
【００９２】
データ繰り返し処理では、システムを複雑にすることなしに、８×８画素ブロックの持続時間（６４クロック・サイクル）にわたってデータを繰り返すことができる。これより長い繰り返しの遅延も、システムおよび関連処理の性質に応じて可能である。たとえば、画素予測処理の過程では６つまでのブロックがメモリに記憶される。この場合、１ブロックがソース破壊の存在下で効果的に定位置に保持（繰り返）され、他のブロックはメモリから獲得される。１つまたは２つのマクロブロック間隔にわたる繰り返し遅延を許容できることが期待される。
【００９３】
空データの処理は低効率のため、ソース破壊が発生した時は空データの追加よりもデータ繰り返しの方が好ましい。他のデータと同様に空データはメモリに記憶され、空データ状態からの回復には、たとえば空データを除去した後に有効なデータを再ロードするなど、クロック・サイクルが浪費される。高精細度テレビジョンシステムなどの、メモリ帯域幅が非常に重要であり、データ処理に必要なクロック・サイクル数をできる限り減らさなければならないデータ集中型システムでは、これが非常に重要な検討項目となる。
【００９４】
図２３では、入力パイプのそれぞれが別々のデータ・ソース、たとえば図１のフレーム・メモリ６０などのメモリ内の別々の位置からデータＸとＹを別々に運ぶ。データＸとＹは相互に独立であり、特定の順序ではない、すなわち、インタリーブされていてもいなくても構わず、要求されたメモリからの画素データを表す。この例では、ＸデータとＹデータは動き補償ネットワーク（図１）によって使用される順方向動き情報および逆方向動き情報を表す。Ｘデータは、Ｙデータがない場合でも処理されなければならず、逆も同様である。
【００９５】
図２３の回路はメモリ６０から図１のデコンプレッサ・ネットワー−ク８０，８２および８４にデータを運び、ＭＰＥＧ処理に十分に適する。ＭＰＥＧ符号化されたＰピクチャまたはＢピクチャを作成することもできるが、所与のマクロブロックは処理用の順方向データまたは逆方向データのうち一方または他方を有しない場合がある。図２３の配置は、この可能性を認識する。
【００９６】
入力ＦＩＦＯバッファ３３２および３３４は、１ブロックのデータの各入力に関連する。この例では、入力ＦＩＦＯバッファ３３２および３３４は、図１の各デコンプレッサ８０，８２および８４それぞれのための入力バッファを表す。各バッファは、適当な時にメモリ・コントローラ１３４を介してメモリからのデータを要求するリクエスト信号Ｒｅｑを送り（たとえば、単一方向予測対両方向予測を使用する処理に応答して）、データが送信のために使用可能であることを示す戻りのアクノリッジ信号Ａｃｋｎを受け取る。メモリ・ソースとバッファ間のデータの流れは、既知の通りリード／ライト制御信号Ｒｅａｄ／Ｗｒｉｔｅによって制御される。
【００９７】
入力データＸおよびＹは、ＣＬＫ／２データ・クロック信号に応答してマルチプレクサ（Ｍｕｘ）３３６により共通のデータ線上で多重化され、Ｍｕｘ３３６の出力でＸとＹが交番するデータのパイプラインが作られる。Ｍｕｘ３３６からのデータは、一連のフィードバック・レジスタ・セクション３６０および３６４によって処理される。使用されるセクション数は、インタリーブされるデータ要素数の関数であり、この例では２である。フィードバック・レジスタ・セクション３６０には、図示のように入力マルチプレクサ（Ｍｕｘ）３３８と、カスケード接続されたレジスタ（フリップフロップ）３４０および３４２が含まれる。各レジスタ要素はＣＬＫ信号によって８１ＭＨｚでクロッキングされる。フィードバック・レジスタ・セクション３６４は同様に配置される。最後のレジスタ３５０の出力は図１のデータ圧縮解除ネットワークに印加され、このデータ圧縮解除ネットワークは、順方向と逆方向の動き予測情報を含むデータを圧縮解除する。データは、デコンプレッサによって受け取られると直ぐに圧縮解除されなければならない。デコンプレッサは、Ｘの入力ＦＩＦＯバッファ３３２およびＹの入力ＦＩＦＯバッファ３３４が満たされるまで待つことはできない。各レジスタ・セクションでは、そのセクションの最後のレジスタ出力から関連するマルチプレクサのスイッチング制御入力へ、たとえばレジスタ３４２の出力からＭｕｘ３３８の「１」入力ヘフィードバックが設けられている。フィードバック・レジスタ・セクション３６０および３６４によって構成されるネットワークは、２つの動作モードを有する選択的ディジタル・サンプルアンドホールド・ネットワークとして動作する。１つのモードではデータがサンプリングされ、ホールドされて、データ繰り返し動作が生じる。もう１つのモードでは、データは繰り返しなしで普通に送出される。
【００９８】
たとえばディジタル・コンピュータであるユニット３５６は、Ｒｅｑ信号線およびＡｃｋｎ信号線の状態を感知する。ＦＩＦＯバッファはＲｅｑ信号を生成し、戻りのＡｃｋｎ信号がメモリ・ソースから受け取られない場合には、ユニット３５６は「１」レベル、すなわち「１」状態のデータＨａｌｔ信号を生成する。Ｈａｌｔ信号が「０」状態を示す時にデータはパイプラインを普通に流れるが、Ｈａｌｔ信号が「１」状態を示す時は、以下で説明するようにデータが繰り返される。所与の入力からＡｃｋｎ信号が受け取られない時は、Ｈａｌｔ信号は各レジスタ・セクションにおける最後の有効なデータ成分の繰り返し、または再循環を引き起こす。これを図２４の波形に示し、以下で説明する。ＸとＹの両方の入力データ・ソースからＡｃｋｎ信号が受け取られない場合はクロックが停止され、データは再循環されない。
【００９９】
したがって、Ｈａｌｔ信号が０レベルを示し、データが普通にパイプラインを流れる時には、入力データＸおよびＹは正しくインタリーブ（クロッキング）された位相関係に保たれ、その結果、出力データはクロッキングによりソースＸのデータとソースＹのデータの間で交番するようになる。この位相関係はデータの混合を防ぐために重要である。この場合、各レジスタ・セクションの出力データ（たとえば、レジスタ３４２およびレジスタ３５０の出力での）は、２クロック前の入力データに対応する（たとえば、出力＝入力（Ｚ−２））。Ｈａｌｔ信号が１レベルを示す時は、関連するＭｕｘ（Ｍｕｘ３３８またはＭｕｘ３４４）は出力から入力信号を切り離し、その結果、各レジスタ・セクションが単純にデータを再循環させるようになる。これらの動作条件を、図２５および図２６に示す。
【０１００】
図２４は、たとえばＹデータのソースからのいくつかのデータが停止した時に限ってＨａｌｔ信号が１レベルを示す状況を示す。Ｈａｌｔ信号がアクティブの時にＨａｌｔ信号は正常な０レベルに戻り、Ｙデータの流れが再開されるまで、Ｙデータが再循環（繰り返）される。この時間中は、ソースＸからのデータは中断なしに流れる。図２４において、入力波形はＸデータ成分とＹデータ成分のインタリーブされたシーケンスを含む。この例では、成分Ｘ２に続くＹ２成分に関してＡｃｋｎ信号が受け取られていない。したがって、正常時には「０」状態のユニット３５６からのＨａｌｔ信号は「１」状態に変化し、レジスタ・セクション３６０および３６４のそれぞれに、Ｈａｌｔ信号が「１」状態を示す限り最後に有効であったＹ成分を、この例ではＹ１を繰り返させる。Ｈａｌｔ信号はマルチプレクサ２３８および２４４の制御入力に結合され、Ｈａｌｔ信号の「１」状態により、各マルチプレクサにその「１」スイッチング入力に結合された信号を、この場合はＹデータ成分を運ばせる。
【０１０１】
入力信号波形の斜線付きの成分は、失われたＹ２成分、すなわち成分Ｙ１の後に第２ソースによってＹ成分が発行されなかったことを表す。Ｙ１成分は３つのＲｅｑ／Ａｃｋｎサイクルにわたって繰り返され、これにより３つのＨａｌｔ信号が生成され、図２４の出力波形からわかるように成分Ｙ１が３回繰り返される。その後、第２ソースが成分Ｙ２に関するＡｃｋｎ信号を生成し、これは出力波形シーケンス中でデータ成分Ｘ５の後に現れる。
【０１０２】
Ｈａｌｔ信号は、デコンプレッサにデータストリーム内で繰り返されるデータを無視するように指示するために、関連する圧縮解除ネットワークの制御入力にも供給される。前述したように、インタリーブされたＸおよびＹのデータ成分は独立であり、互いに特定の（数値的）シーケンスに従う必要はない。必要なのは、たとえばＸ５がＸ４に続き、Ｘ４がＸ３に続き、Ｘ３がＸ２に続くなど、所与の入力に関連するデータが所定のシーケンスに従うことだけである。たとえばＹ２がＸ５に続くことは全く重要ではない。
【０１０３】
図２８は、並列動作用に配置された図２３のネットワークを示す図である。Ｍｕｘ３３６（図２３）からのインタリーブされた入力データはマルチプレクサ２８５および２８６を介して並列のレジスタ２８０および２８２に供給され、これらのレジスタからの出力はマルチプレクサ２８４を介してデータ出力上で多重化される。マルチプレクサ２８４，２８５および２８６の動作は、Ｈａｌｔ１制御信号とＨａｌｔ２制御信号によって制御され、これら制御信号はそれぞれのソースに関連し、図２３に関連して説明した効果をもたらす。
【図面の簡単な説明】
【０１０４】
【図１】本発明の原理に従って配置されたＭＰＥＧデコーダおよび関連するディジタル信号処理ネットワークを使用するテレビジョン信号受像機の一部のブロック図である。
【図２】圧縮／圧縮解除と図１に示された関連ネットワークの動作の理解を助ける画素ブロック処理フォーマットを示す図である。
【図３】圧縮／圧縮解除と図１に示された関連ネットワークの動作の理解を助ける画素ブロック処理フォーマットを示す図である。
【図４】圧縮／圧縮解除と図１に示された関連ネットワークの動作の理解を助ける画素ブロック処理フォーマットを示す図である。
【図５】圧縮／圧縮解除と図１に示された関連ネットワークの動作の理解を助ける画素ブロック処理フォーマットを示す図である。
【図６】圧縮／圧縮解除と図１に示された関連ネットワークの動作の理解を助ける画素ブロック処理フォーマットを示す図である。
【図７】圧縮／圧縮解除と図１に示された関連ネットワークの動作の理解を助ける画素ブロック処理フォーマットを示す図である。
【図８】圧縮／圧縮解除と図１に示された関連ネットワークの動作の理解を助ける画素ブロック処理フォーマットを示す図である。
【図９】圧縮／圧縮解除と図１に示された関連ネットワークの動作の理解を助ける画素ブロック処理フォーマットを示す図である。
【図１０】圧縮／圧縮解除と図１に示された関連ネットワークの動作の理解を助ける画素ブロック処理フォーマットを示す図である。
【図１１】圧縮／圧縮解除と図１に示された関連ネットワークの動作の理解を助ける画素ブロック処理フォーマットを示す図である。
【図１２】圧縮／圧縮解除と図１に示された関連ネットワークの動作の理解を助ける画素ブロック処理フォーマットを示す図である。
【図１３】圧縮／圧縮解除と図１に示された関連ネットワークの動作の理解を助ける画素ブロック処理フォーマットを示す図である。
【図１４】圧縮／圧縮解除と図１に示された関連ネットワークの動作の理解を助ける画素ブロック処理フォーマットを示す図である。
【図１５】圧縮／圧縮解除と図１に示された関連ネットワークの動作の理解を助ける画素ブロック処理フォーマットを示す図である。
【図１６】圧縮／圧縮解除と図１に示された関連ネットワークの動作の理解を助ける画素ブロック処理フォーマットを示す図である。
【図１７】圧縮／圧縮解除と図１に示された関連ネットワークの動作の理解を助ける画素ブロック処理フォーマットを示す図である。
【図１８】画素のサブサンプリングとアップサンプリングを示す図である。
【図１９】図１８に示された処理を実行するための装置のブロック図である。
【図２０】図１の圧縮ネットワークの詳細を示す図である。
【図２１】図１の圧縮解除ネットワークの詳細を示す図である。
【図２２】図２０に示されたネットワークの動作の諸態様の理解を助ける画素配置を示す図である。
【図２３】図１のシステムのデータフロー制御動作を示す図である。
【図２４】図１のシステムのデータフロー制御動作を示す図である。
【図２５】図１のシステムのデータフロー制御動作を示す図である。
【図２６】図１のシステムのデータフロー制御動作を示す図である。
【図２７】図２０に示されたネットワークが動作中の画素の関係を示す表である。
【図２８】図２３に示されたネットワークの別の配置を示す図である。
【図２９】図１１から図１５までをまとめた図である。
【符号の説明】
【０１０５】
１０  ソース（source）
１２  バッファ
１４  可変長デコーダ
１５  マルチプレクサ（ＭＵＸ）
１８，２０  逆量子化器
２１，２２  逆離散コサイン変換（ＤＣＴ）ユニット
２３，２５  ブロック並べ換えユニット
２４，２７  ブロック・インタリーブ・ユニット
２６，２８  出力ＦＩＦＯバッファ
３０，３２  加算器
３６，３８  水平画素デシメーション（サブサンプリング）ユニット
４０，４２  コンプレッサ
５５  内部メモリバス
６０  フレーム・メモリ
７０  表示プロセッサ
８０−８４  圧縮解除ユニット（decompression units）
８６  フォーマッティング・ユニット
９０  動き補償ユニット
１１４  制御バス
１２０  マイクロプロセッサ
１２８  インタフェース回路
【図１】
2008271610.tif 000003
【図２】
2008271610.tif 000004
【図３】
2008271610.tif 000005
【図４】
2008271610.tif 000006
【図５】
2008271610.tif 000007
【図６】
2008271610.tif 000008
【図７】
2008271610.tif 000009
【図８】
2008271610.tif 000010
【図９】
2008271610.tif 000011
【図１０】
2008271610.tif 000012
【図１１】
2008271610.tif 000013
【図１２】
2008271610.tif 000014
【図１３】
2008271610.tif 000015
【図１４】
2008271610.tif 000016
【図１５】
2008271610.tif 000017
【図１６】
2008271610.tif 000018
【図１７】
2008271610.tif 000019
【図１８】
2008271610.tif 000020
【図１９】
2008271610.tif 000021
【図２０】
2008271610.tif 000022
【図２１】
2008271610.tif 000023
【図２２】
2008271610.tif 000024
【図２３】
2008271610.tif 000025
【図２４】
2008271610.tif 000026
【図２５】
2008271610.tif 000027
【図２６】
2008271610.tif 000028
【図２７】
2008271610.tif 000029
【図２８】
2008271610.tif 000030
【図２９】
2008271610.tif 000031