(57)【要約】ＭＰＥＧビデオデータの復号化に用いるための様々な二進数アドレスを生成するために方法及び装置が提供される。少なくとも一以上のｎビットカウンタとマルチプレクサがそのような二進数アドレスを生成するために用いられる。異なる二進数アドレスは、ｎビットカウンタのビットを交換することによって同じｎビットカウンタにより生成され得る。ｎビットカウンタが生成し得る異なる二進数アドレスの数はｎ階乗である。
2005538648.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ信号を復号化する方法であって、
別個のｎ（正数）階乗数のビットパターンシーケンスまで生成するためにｎビットカウンタを用いるステップと、
対応する少なくとも一以上のアドレス指定体系を生成するために別個の少なくとも一以上のｎ階乗数のビットパターンシーケンスを選択するステップと、
少なくとも一以上のアドレス指定体系を用いるビデオ信号と関連するデータを取り出し、保管するステップと
を含むことを特徴とする方法。
【請求項２】
前記用いるステップは、
それぞれがｎビットを含む別個の二進数値と関連する２n数の数列の第一シーケンスを生成するためにｎビットカウンタを用いるステップと、
２n数の非連続シーケンスの（ｍ＋１）番目（ｍは１〜（ｎ！−１）までの整数）のシーケンスを生成するために各二進数値におけるｍ番目のビット対を交換するステップと
をさらに含む請求項１に記載の方法。
【請求項３】
前記選択するステップは、少なくとも一以上のｎ階乗数の別個のビットパターンシーケンスを選択するための少なくとも一以上の対応するマルチプレクサを用いるステップをさらに含む請求項１に記載の方法。
【請求項４】
前記選択するステップは、ｎビットカウンタの少なくとも一以上のビットに組み合わせロジックを適用するステップをさらに含む請求項１に記載の方法。
【請求項５】
少なくとも一以上のアドレス指定体系は、ビデオ信号と関連する少なくとも一以上の対応するフラグや状態に基づく請求項１に記載の方法。
【請求項６】
ビデオ信号を復号化する方法であって、
ビデオ信号と関連する空間データと関連させるためにｎビットカウンタを用いて第一ビットパターンシーケンスを生成するステップと、
ビデオ信号と関連する時間データと関連させるためにｎビットカウンタを用いて第一ビットパターンシーケンスとは別個の第二ビットパターンシーケンスを生成するステップと、
空間データ及び時間データを含む組み合わせデータ組と関連させるためにｎビットカウンタを用いて第一及び第二ビットパターンシーケンスとは別個の第三ビットパターンシーケンスを生成するステップと
を含むことを特徴とする方法。
【請求項７】
コンピュータシステムにおいてビデオ信号を復号化するための命令の少なくとも一以上のシーケンスを運ぶコンピュータ読み取り可能な媒体であって、
少なくとも一以上のプロセッサによる命令の少なくとも一以上のシーケンスの実行は、該少なくとも一以上のプロセッサに、
別個のｎ（正数）階乗数のビットパターンシーケンスまで生成するためにｎビットカウンタを用いるステップと、
少なくとも一以上の対応するアドレス指定体系を生成するために別個の少なくとも一以上のｎ階乗数のビットパターンシーケンスを選択するステップと、
少なくとも一以上のアドレス指定体系を用いるビデオ信号と関連するデータを取り出し、保管するステップと
を実行させることを特徴とする媒体。
【請求項８】
ビデオ信号を復号化する装置であって、
それぞれが別個のｎ（正数）階乗数のビットパターンシーケンスまで生成することができる少なくとも一以上のｎビットカウンタと、
少なくとも一以上の対応するアドレス指定体系を生成するために別個の少なくとも一以上のｎ階乗数のビットパターンシーケンスを選択するための少なくとも一以上のｎビットカウンタに対応する少なくとも一以上のマルチプレクサと
を備えることを特徴とする装置。
【請求項９】
少なくとも一以上のｎビットカウンタ及び少なくとも一以上の対応するマルチプレクサと関連する少なくとも一以上のＭＣ（motion compensation）ユニットをさらに含む請求項８に記載の装置。
【請求項１０】
少なくとも一以上のｎビットカウンタ及び少なくとも一以上の対応するマルチプレクサと関連する少なくとも一以上のＭＳ（merge and store）ユニットをさらに含む請求項８に記載の装置。
【請求項１１】
少なくとも一以上のｎビットカウンタ及び少なくとも一以上の対応するマルチプレクサと関連する少なくとも一以上の内部直接コサイン（intracoded direct cosine）ユニットをさらに含む請求項８に記載の装置。
【請求項１２】
少なくとも一以上のマルチプレクサは、別個の少なくとも一以上のｎ階乗数のビットパターンシーケンスを選択するためのものである請求項８に記載の装置。
【請求項１３】
少なくとも一以上の対応するアドレス指定体系は、ビデオ信号と関連するデータを取り出し、保管するために用いられる請求項８に記載の装置。
【請求項１４】
少なくとも一以上の対応するアドレス指定体系は、ビデオ信号と関連する少なくとも一以上の対応するフラグや状態に基づく請求項８に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＰＥＧビデオ技術に関し、より詳しくは、ＭＰＥＧビデオビットストリームの復号化に関する。
【背景技術】
【０００２】
ＭＰＥＧ技術において、ビデオ部、オーディオ部及び他の情報部を含む圧縮されたデジタルシステム信号やビットストリームが受信器に送信される。送信は、テレビチャンネル、ケーブルテレビチャンネル、衛星通信チャンネル、その他同種のものに対してである。
【０００３】
デコーダ（decoder）は、与えられた圧縮アルゴリズムに従い、受信したシステム信号を非多重化、解凍及び復号化すべく受信器に提供される。復号化されたビデオ及びオーディオ情報は、ユーザに提供されるテレビモニタといったディスプレイ装置への出力である。
【０００４】
ビデオ及びオーディオの圧縮及び符号化は、デジタルビデオ信号の送信器と受信器との間で応じる規格や仕様に適合する選択されたデータ圧縮アルゴリズムを実行する適切なエンコーダ（encoder）によって実行される。高圧縮規格は、ＭＰＥＧ−１、ＭＰＥＧ−２を含むＭＰＥＧによって発展してきた。ＭＰＥＧ規格は、早送り、再生、低速早送り、高速早送り、高速巻き戻し、一時停止といったＶＣＲのようないくつかの視認を可能とする。
【０００５】
ＭＰＥＧ仕様は、ビットストリームのビデオ部における階層データ構造を画定する。ビデオシーケンス（sequence）は、シーケンスヘッダ、少なくとも一以上の像群、終端シーケンスコードを含む。像群は、シーケンスにランダムなアクセスを許す少なくとも一以上の像の組である。
【０００６】
像は、ビデオシーケンスの主要な暗号化ユニットである。像は、ルミナンス（luminance：Ｙ）値と二つのクロミナンス（chrominance：Ｃｂ，Ｃｒ）値を表す三つの長方形のマトリックスからなる。Ｙマトリックスは、等しい数の行と列を有する。Ｃｂ及びＣｒマトリックスは、各方向（水平方向及び垂直方向）においてＹマトリックスの半分のサイズである。このように、四つのルミナンス値毎に、二つの関連するクロミナンス値（一つのＣｂ値及び一つのＣｒ値）がある。
【０００７】
スライス（slice）は、少なくとも一以上の隣り合うマクロブロック（macroblock）である。スライスは、エラーを取り扱うのに重要である。もし、ビットストリームがエラーを含むなら、デコーダは、次のスライスから開始するためにスキップすることができる。
【０００８】
マクロブロックは、ルミナンス要素及び対応するクロミナンス要素の16×16ライン部である。ブロック（block）は、ルミナンスあるいはクロミナンス要素の８×８値である。
【０００９】
ＭＰＥＧ規格は、三つのタイプのビデオ像を画定する。
１．内部符号化（intracode)された像（I-picture）：他のどんな像を参照することなく符号化されたもの
２．予測的符号化（Predictive-code）された像（P-picture）：前回のI-pictureやP-pictureから先予測を用いて符号化されたもの
３．双方向予測的符号化（Bidirectional predictive-code）された像（B-picture）：前回あるいは将来のI-pictureやP-pictureから間に挿入された動作補正（motion compensation）を用いて符号化されたもの
【００１０】
I-pictureは、データ圧縮を達成する目的で時間及び空間領域を周波数及び振幅領域に変換するＤＣＴ（Discrete Cosine Transform）のみを用いて符号化される。
【００１１】
マクロブロックは、P-pictureやB-pictureのための基本動作補正ユニットである。各マクロブロックは、マクロブロックと、予測されるI-pictureやP-pictureにおける対応するマクロブロックとの間の置換を画定する動作補正ベクトルを計算することによって符号化される。もし、動作が少ししかあるいはなければ、動作補正ベクトルは伝達されない。
【００１２】
マクロブロックの比較は、間の相違に対応するエラー信号を生成するために符号化されたP-pictureやB-pictureのマクロブロックから差し引かれる動作補正ベクトルによって指示される量によって参照マクロブロックを取ってかえることにより生成される。エラー信号は、ＤＣＴ（内部符号化像に類似する）を用いて符号化され、動作ベクトルを備えて伝達される。しかしながら、もし、エラー信号が小さいあるいは０なら、エラー要素は伝達されない。
【００１３】
このように、予測的符号化されたマクロブロック（PあるいはB）は、たった一つの動作補正要素、たった一つの変化（ＤＣＴ）符号化要素、あるいは両方からなる。
【００１４】
動作補正とＤＣＴ符号化が実行された後、マクロブロックは量子化され、データビットストリームをさらに圧縮するためにＶＬＣ（Variable Length Coded）となる。マクロブロックは、スライス、像、像群及びビデオシーケンスに組み込まれ、関連するオーディオデータと多重化され、復号化のためにユーザに伝達される。
【００１５】
ＭＰＥＧビデオ圧縮の背後の基本的な考えは、ビデオフレーム内の空間冗長性とビデオフレーム間の時間冗長性とを取り除くことである。イメージ圧縮のための規格であるＪＰＥＧにおいて、ＤＣＴベースの圧縮は、空間冗長性を低減するために用いられる。動作補正は、時間冗長性を利用するために用いられる。ビデオストリームにおけるイメージは、少ない時間間隔で大きな変化を起こさない。動作補正の考えは、時間的に閉鎖された他のビデオフレームに基づくビデオフレームを符号化することである。
【００１６】
ビデオストリームは、ビデオフレームのシーケンスである。各フレームはまだイメージである。ビデオプレーヤーは、通常、１秒当たり30フレームの割合（23.976,24,25,29.97,30）で次々とフレームを表示する。
【００１７】
フレームは、１ピクセル当たり24ビット（赤、緑、青のそれぞれ８ビット）の標準ＲＧＢフォーマットでデジタル化される。ＭＰＥＧ−１は、1.5Mb/s以下のビットレートを生成するために設計され、１秒当たり24〜30フレームで352×288サイズのイメージを用いるよう意図されている。これは、55.7〜69.6Mb/sのデータレートとなる。
【００１８】
フレームは、16×16ピクセルのマクロブロックに分割される。各マクロブロックは、四つの８×８ルミナンスブロックと二つの８×８クロミナンスブロック（1U及び1V）からなる。マクロブロックは、動作補正圧縮のためのユニットである。ブロックは、ＤＣＴ圧縮のために用いられる。
【００１９】
フレームは、三つのタイプ、内部フレーム（intra-frame：I-frame）、先予測フレーム（forward predicted frame：P-frame）、双方向予測フレーム（bi-directional predicted frame：B-frame）で符号化され得る。
【００２０】
ＭＰＥＧ−１ビデオシーケンスは、ロジック部の最初と最後を作成する特別なビットパターンシーケンスを備えて、ビットストリームに指図される。
【００２１】
一般的に、セットトップボックスやＤＶＤプレーヤーで用いられるリアルタイムＭＰＥＧビデオデコーダにおいて、ＡＳＩＣ’ｓ（application-specific integrated circuits）における復号化アルゴリズムが実施される。そのようなケースにおいて、ＶＬＤ（Variable Length Decoding）、ＩＺＺ（Inverse Zig-Zag Scan）、ＩＱ（Inverse Quantization）、ＩＤＣＴ（Inverse Discrete Cosine Transform）、ＭＣ（Motion Compensation）、ＭＳ（Merge and Store）といったキー機能がハードウェアに専念すべく計画され、ＡＳＩＣ’ｓに参照される。一つのアプローチにおいて、復号化されるべきＭＰＥＧビットストリームは、デコーダシステムのＤＲＡＭバッファに保管される。復号化されるべきＭＰＥＧビットストリームは、ここで「ビットストリーム」として参照される。
【００２２】
図１は、一般的なＭＰＥＧ−２ビデオビットストリームデコーダの中心のいくつかの要素を示す簡素化されたブロック図である。図１において、再構成データ１０２は、復号化されるべきビットストリームであり、ＤＲＡＭ（dynamic random access memory）インターフェイス１０４への入力として示される。ＤＲＡＭインターフェイス１０４は、ＤＲＡＭバッファ１０６、ＭＣモジュール１０８、ＶＬＤ／ＩＺＺ／ＩＱモジュール１１４及びＭＳモジュール１１２に通信的に結合される。加えて、ＭＣモジュール１０８は、ＭＳモジュール１１２に通信的に結合されるＭＣバッファ１１０に通信的に結合される。ＶＬＤ／ＩＺＺ／ＩＱモジュール１１４は、ＩＤＣＴバッファ１１８に通信的に結合されるＩＤＣＴモジュール１１６に通信的に結合される。
【００２３】
ここで参照されるデータとデータパスは、再構成データ１０２と関連する。再構成データ１０２を復号化するための二つの主データパス、１）空間データ再構成のための一つのデータパス、２）時間データ再構成のための一つのデータパス、がある。空間データパスは、ＶＬＤ／ＩＺＺ／ＩＱモジュール１１４及びＩＤＣＴモジュール１１６を通り、生成データは、ＩＤＣＴバッファ１１８に書き込まれる。ＭＣモジュール１０８を含む時間データパスは、メモリに保管されている再構成データから参照データを得る。ＭＣモジュール１０８から出た生成データは、ＭＣバッファ１１０に書き込まれる。
【００２４】
データ再構成の最後のステップにおいて、ＭＳモジュール１１２は、１）ＩＤＣＴバッファからの空間データの読み取り、及びＭＣバッファからの時間データの読み取り、２）再構成データの組み合わせデータ対を生成するための、ＭＣバッファから読み取られたデータのＩＤＣＴバッファから読み取られたデータへの追加、３）再構成データが保管されているＤＲＡＭバッファへの組み合わせデータ対の書き込み、を実行する。
【００２５】
全ての上述したオペレーションは、異なるアドレス指定体系（adressing scheme）におけるデータ取り出し及びデータ保管を含む。この空間データパスは、ブロックベースあるいは８×８ベースであり、一方、時間データパスは、マクロブロックベースあるいは16×16ベースあるいは16×８ベースである。このように、ＭＳモジュールは、空間及び時間データを互いに加えた時に、ブロックベース及びマクロブロックベースのアドレス指定体系を取り扱う。加えて、ＩＤＣＴ／ＭＣバッファがかなり複雑な仕組みでアクセスするビットストリームにおける多くのフラグが存在する。
【００２６】
一つのアプローチにおいて、ＶＬＤ／ＩＺＺ／ＩＱ、ＩＤＣＴ、ＭＣ及びＭＳモジュールによって実行される復号化といったＭＰＥＧビデオ復号化のＡＳＩＣ実行は、情報ルート構造を用いて設計される。情報ルート構造において、ＩＤＣＴバッファとＭＣバッファは、異なる読み取り／書き込みアドレスパターンシーケンスを必要とする。伝統的に、各バッファは、同時にデータアクセスを円滑にするために独自の関連するアドレスジェネレータを有する。情報ルート構造の欠点は、電力の消費に繋がるより多くのハードウェア消費である。
【発明の開示】
【発明が解決しようとする課題】
【００２７】
従って、過去のアプローチにおいて、デコーダは、ゲートカウント及び電力消費の点で、多くのハードウェアを必要とする。ロジックの複雑さがかなり高いレベルのため、テスト及びデバッグのために必要な努力も多大である。また、復号化プロセスにおける各データパスの異なるアドレス指定体系が異なるタイプのアドレスジェネレータを必要とする。
【００２８】
以上に基づき、ＭＰＥＧ復号化で用いられるアドレス指定体系の統合のための方法及び仕組みが必要となる。
【課題を解決するための手段】
【００２９】
復号化されたビデオ信号が提供される仕組みである。本発明の一つの目的に従い、ｎビットカウンタが別個のｎ階乗（ｎ！）数のビットパターンシーケンスまで生成するために用いられる。少なくとも一以上の別個のｎ階乗数のビットパターンシーケンスは、対応する少なくとも一以上のアドレス指定体系を生成するために選択される。ビデオ信号と関連するデータは、少なくとも一以上のアドレス指定体系を用いて取り出され、保管される。少なくとも一以上のアドレス指定体系は、データと関連する少なくとも一以上の対応するフラグ（flag）や状態（condition）に基づく。
【００３０】
本発明の一つの特徴に従い、２n数列の第一シーケンスを生成するためにｎビットカウンタが用いられ、２n数列のそれぞれは、ｎビットを含む別個の二進数値と関連する。各二進数値におけるｍ（＝ｎ！−１）番目のビット対は、２n数の非連続のシーケンスの（ｍ＋１）番目のシーケンスを生成するために交換される。他の特徴に従い、少なくとも一以上のマルチプレクサが別個のｎ！数のビットパターンシーケンスを選択するために用いられる。
【００３１】
本発明の他の特徴に従い、各二進数値におけるｍ番目のビット対が交換される時、所定の組み合わせロジックが交換ビットに適用される。
【００３２】
本発明の一つの特徴に従い、アドレスジェネレータのロジックは、簡単なシーケンスジェネレータであるｎビットカウンタを用い、ビットを交換することにより簡素化される。このように、ハードウェアコストは低減される。
【発明を実施するための最良の形態】
【００３３】
ＭＰＥＧビデオビットストリームを復号化するための方法及びシステムが説明される。以下の説明において、説明を目的として、本発明を理解するための多数の具体的内容が示される。しかしながら、本発明がこれら具体的内容を伴わずに実施されることは当業者にとって明らかであろう。その他の例において、本発明が不必要にあいまいとならないよう、公知の構造及び装置がブロック図に示される。
【００３４】
＜機能上及び作用上の概略＞
ＩＤＣＴモジュール１１６、ＩＤＣＴバッファ１１８、ＭＣバッファ１１０、ＭＳモジュール１１２によって実行される復号化処理が図１〜４を参照して説明される。図１を参照して、ＤＲＡＭバッファが構成（ビットストリーム）データと再構成（復号化）データとに分割される。構成データ１０２は、ＤＲＡＭインターフェイス１０４を介してＤＲＡＭバッファ１０６に格納され、復号化のためにＤＲＡＭインターフェイス１０４を介してＶＬＤ／ＩＺＺ／ＩＱモジュール１１４及びＩＤＣＴモジュール１１６に入力される。ＩＤＣＴモジュール１１６は、構成データ１０２と関連するマクロブロックデータを処理する。処理後、ＩＤＣＴモジュールは１１６は、符号化されたブロックパターンに基づいてマクロブロックデータをＩＤＣＴバッファ１１８に書き込む。ＩＤＣＴバッファにおけるどんな現在の非符号化ブロックも前の符号化ブロック値が維持される。ＤＲＡＭバッファ１０６からの再構成データもまた、ＭＣモジュール１０８に入力される。もし、動作補正が構成データ１０２と関連するマクロブロックデータに存在するならば、ＭＣモジュール１０８は、ＤＲＡＭバッファ１１０に格納されている前の再構成データである参照データを取り出す。ＭＣモジュール１０８は、マクロブロックデータを処理し、ＭＣバッファ１１０にマクロブロックデータを書き込む。
【００３５】
ＭＳモジュール１１２は、ＩＤＣＴバッファ１１８とＭＣバッファ１１０からマクロブロックデータを読み取り、生成マクロブロックデータをＤＲＡＭバッファ１０６に戻す前にマクロブロックデータを計算する。
【００３６】
ＩＤＣＴバッファ１１８、ＭＣバッファ１１０及びＭＳモジュール１１２によって実行される復号化処理は、複数の読み取り／書き込みを含む。それぞれ読み取り／書き込みは、異なる動作補正モード及び構成データに与える残留モード（residue mode）に基づく識別可能なビットパターンシーケンスと関連する。加えて、読み取り／書き込みは、復号化されるべき構成データと関連する状態及び／又はフラグに基づく。そのような状態及びフラグは、各マクロブロックのデータが再構成される前に復号化される。一般的な動作補正モードの例は、１）フレーム（frame）、２）領域（field）、３）８×16、４）デュアルプライム（dual prime）である。一般的な残留モードは、１）フレーム、２）領域である。異なる読み取り／書き込みアドレスパターンシーケンスは、各モードと関連する。
【００３７】
本発明の確かな実施形態によれば、各モードと関連する異なる読み取り／書き込みアドレスパターンシーケンスを実行する様々なメカニズムを用いるというよりも、ＩＤＣＴバッファ１１８、ＭＣバッファ１１０及びＭＳモジュール１１２によって実行される異なる読み取り／書き込みシーケンスを実行するよう提供される単一に統一されたメカニズムを用いる。
【００３８】
本発明の確かな実施形態による、異なる読み取り／書き込みシーケンスを実行するための統一されたメカニズムの重要な内容のいくつかは、図２〜４を参照して説明される。確かな実施形態によれば、異なる読み取り／書き込みアドレスパターンシーケンスを実行するための統一されたメカニズムは、ＩＤＣＴ、ＭＣ及びＭＳモジュールにおけるアドレスジェネレータと同じタイプを用いることに基づく。アドレスジェネレータは、異なる読み取り／書き込みアドレスパターンシーケンスを生成するためのビットスワッピング技術を用い、さらに詳細に説明される。
【００３９】
図２は、図１のＩＤＣＴモジュール１１６とＩＤＣＴバッファ１１８を取り替えるいくつかのキー要素を表す簡素化されたブロック図である。図２において、ＶＬＤ／ＩＺＺ／ＩＱモジュールからのデータ２０２は、ＩＤＣＴコントローラ２０４に入力される。ＩＤＣＴコントローラ２０４は、ＩＤＣＴアドレスジェネレータ２０６と関連し、ＩＤＣＴアドレスジェネレータ２０６と通信的に結合されるコントローラである。ＩＤＣＴアドレスジェネレータ２０６は、ＩＤＣＴバッファ２０８と通信的に結合される。ＩＤＣＴバッファは、ＭＳモジュール（図２には図示しない）からビットパターンシーケンス２１２を受け取り、ＭＳモジュールへデータ２１０を送る。ＩＤＣＴアドレスジェネレータ２０６の機能は、さらに＜アドレスジェネレータ＞の項でより詳細に説明される。
【００４０】
図３は、図１のＭＣモジュール１０８とＭＣバッファ１１０を取り替えるいくつかのキー要素を表す簡素化されたブロック図である。図３において、ＤＲＡＭバッファからの再構成データ１０２は、ＭＣコントローラ３０２に入力される。ＭＣコントローラ３０２は、ＭＣアドレスジェネレータ３０４と関連し、ＭＣアドレスジェネレータ３０４と通信的に結合されるコントローラである。ＭＣアドレスジェネレータ３０４は、ＭＣバッファ３０６と通信的に結合される。ＭＣバッファ３０６は、ＭＳモジュール（図３では図示しない）からビットパターンシーケンス３１０を受け取り、ＭＳモジュールにデータ３０８を送る。ＭＣアドレスジェネレータ３０４の機能は、さらに＜アドレスジェネレータ＞の項でより詳細に説明される。
【００４１】
図４は、図１のＭＳモジュール１１２を取り替えるいくつかのキー要素を表す簡素化されたブロック図である。図４において、ＭＳモジュール４０２は、ＭＳアドレスジェネレータ４０６と通信的に結合されるＭＳコントローラ４０４を含む。ＭＳコントローラ４０４は、ＭＳアドレスジェネレータ４０６をコントロールする。ＭＳアドレスジェネレータ４０６は、ＭＣバッファ（図４では図示しない）にビットパターンシーケンス４１０を送る。また同様に、ＭＳアドレスジェネレータ４０６は、ＩＤＣＴバッファ（図４では図示しない）にビットパターンシーケンス４１０を送る。ＭＳアドレスジェネレータ４０６の機能は、さらに＜アドレスジェネレータ＞の項でより詳細に説明される。
【００４２】
さらに、ＭＳモジュール４０２は、ＭＳビットパターンシーケンス４１０に基づくＭＣバッファからのデータ４０８と、ＭＳビットパターンシーケンス４１２に基づくＩＤＣＴバッファからのデータ４１６とを受け取る。異なるビットパターンであるにも関わらずに同時にＭＳアドレスジェネレータによって生成されるビットパターンシーケンスを有するデータをＭＣバッファとＩＤＣＴバッファが送るので、ＭＳモジュールは、各バッファからのデータを扱うためのコントローラを一つだけ必要とする。ビットストリームから復号化される回数、状態（例えば、異なるモード）及びフラグに基づき、ＭＳアドレスジェネレータは、ＩＤＣＴバッファとＭＣバッファの両方のための異なるパターンを生成するためにビットをスワップ（交換）する。このように、ＭＳモジュール４０２は、ＭＣバッファとＩＤＣＴバッファの両方のためのデータを扱うためのＭＳアドレスジェネレータを一つだけ必要とする。
【００４３】
図４に示されるように、ＭＳモジュール４０２は、格納のためにＤＲＡＭバッファ（図４では図示しない）へ送られるデータ４１４を生成すべく、データ４０８とデータ４１６を計算する。
【００４４】
＜アドレスジェネレータ＞
図５は、本発明の確かな実施形態において用いられるアドレスジェネレータのブロック図である。図５に示されるアドレスジェネレータは、ｎビットカウンタ５０２とマルチプレクサ５０４を含む。ｎビットカウンタ５０２は、例えば増分１で０から２n−１というように、連続的に２n数まで生成し得る。２n数は、ビットを含む二進数値で表される。各ビットは、０か１の値を有する。ビットは、ｎ！数のビットパターンシーケンスまで生成するよう交換される。異なるビットパターンシーケンスは、ＩＤＣＴバッファかＭＣバッファのために必要なアドレスパターンシーケンスとして用いられる。
【００４５】
図５において、２n数のビットパターンシーケンスがPATTERN＿1（パターン＿1） ５０８、PATTERN＿2（パターン＿2） ５１０からPATTERN＿2n （パターン＿2n）５１２まで示される。関連するコントローラ（図５では図示しない）によってコントロールされるマルチプレクサ５０４を介して、図５の２n数のパターンシーケンスの一つがOUTPUT（出力）５０６として選ばれる。そのような選択は、再構成データに運び込まれ且つビデオ信号と関連する状態及び／又はフラグ情報に基づく。そのようなケースにおいて、OUTPUT５０６は、PATTERN＿1 ５０８からPATTERN＿2n ５１２までのビットパターンシーケンスの一つである。さらに、カウンタ値は、OUTPUT５０６としてPATTERN＿1 ５０８からPATTERN＿2n ５１２までのビットパターンシーケンスの一つを選択するためにマルチプレクサ５０４をコントロールする。そのようなケースにおいて、OUTPUTは、PATTERN＿1 ５０８からPATTERN＿2n ５１２までの二以上のビットパターンシーケンスの異なる範囲で構成される。
【００４６】
ビットが交換される時、生成出力は、もはや連続的に残らない。各時点でビットが交換され、新しいビットパターンシーケンスが生成される。ｎビットカウンタ５０２は、ｎビットを有し、各ビットはどんな位置でもあり得るので、可能なビットパターンシーケンスの総数は、ｎ！ビットパターンシーケンスである。このように、ビット交換は、ＩＤＣＴバッファかＭＣバッファを必要とするアドレス指定体系で用いられ得る異なるビットパターンシーケンスを生成するための個々の専用ハードウェアを必要とするのを防ぐ。
【００４７】
4:2:0クロミナンスモードを示すため、一つのマクロブロックに４８ワード（６ブロック×８ブロック＝48、各ワードは８ピクセル）がある。６ビットカウンタが０から４７の連続値で４８ビットを生成するために必要である。異なるビットパターンシーケンスは、ビットを交換することによってマルチプレクサを介して生成される。
【００４８】
図６は、確かな実施形態に従うその他のアドレスジェネレータのブロック図である。図６に示されるアドレスジェネレータは、ｎビットカウンタ６０２、二つのマルチプレクサ６０４，６０６を含む。ｎビットカウンタ６０２は、例えば増分１で０から２n−１というように、連続的に２n数まで生成し得る。ビットは、ｎ！数のビットパターンシーケンスまで生成するよう交換される。六つのビットパターンシーケンスが図６に示され、PATTERN1（パターン1） ６１２、PATTERN2（パターン2） ６１４、PATTERN3（パターン3） ６１６、PATTERN1'（パターン1'） ６１８、PATTERN2'（パターン2'） ６２０、PATTERN3'（パターン3'） ６２２によって示される。関連するコントローラ（図６では図示しない）によってコントロールされるマルチプレクサ６０４を介して、PATTERN1 ６１２、PATTERN2 ６１４、PATTERN3 ６１６の間からパターンシーケンスの一つがOUTPUT（出力）６０８として選ばれる。同様に、マルチプレクサ６０６を介して、PATTERN1' ６１８、PATTERN2' ６２０、PATTERN3' ６２２の間からビットパターンシーケンスの一つがOUTPUT（出力）６１０として選ばれる。そのような選択は、再構成データに運び込まれ且つビデオ信号と関連する状態及び／又はフラグ情報に基づく。
【００４９】
このように、図６のアドレスジェネレータは、一つのカウンタを用い、ビデオ信号を復号化するための異なるアドレス指定体系で用いるために二つの出力ビットパターンシーケンスを同時に生成するので、図６のアドレスジェネレータは、ＭＳアドレスジェネレータの例である。図６において、OUTPUT６０８は、ＩＤＣＴアドレス指定体系と関連するビットパターンシーケンスであり、OUTPUT６１０は、ＭＣアドレス指定体系と関連するビットパターンシーケンスである。
【００５０】
＜数学モデル＞
ｎ！パターンシーケンスまで生成するためにｎビットカウンタを用いることは、ここで説明されるように数学モデルに基づく。ｎビットカウンタは、ｎビット二進数値として表現される数列を生成し得る。ｎビットカウンタは、２nまでメモリアドレスを生成し得る。
【００５１】
カウンタによるｍ番目の数は、以下の式１として表現される。
【００５２】
【数１】
2005538648.tif 000003
尚、ｎは、カウンタのビット数、Ｎ＝２nは、カウンタが生成するメモリアドレス数、ｋ[0,1,2,...,n-1]は、カウンタにおけるビット位置インデックス、ｉ[0,1,2,...,N-1]は、メモリワードインデックス、ｋ＝[0,1,2,...,n-1]、ｉ＝[0,1,2,...,N-1]であるｂ（ｉ，ｋ）は、カウンタによって生成されるｉ番目の数を表す式（式１に類似する）において一組の計数を表す。
【００５３】
カウンタによって生成されるｍ番目の数は、以下の式２としてベクトルとして表現される。
【００５４】
【数２】
2005538648.tif 000004
【００５５】
このように、ｎビットカウンタによって生成され得る数列は、以下の式３，４としてベクトルＣとして表現される。
【００５６】
【数３】
2005538648.tif 000005
【００５７】
式４において、ベクトルＢは、ｎ数列に対応するビット値のマトリックスである。このように、ベクトルＢは、Ｎ×ｎマトリックスである。ビット値は、二進数であり、従って、０か１を含む。ベクトルＢマトリックスの各列は、Ｎ／２の０と、Ｎ／２の１を含む。このように、ベクトルＢマトリックス内で一つの列と他との交換によって、ベクトルＢ・ベクトルＥの時に非反復数列を生成する。ベクトルＢマトリックスにおける列の交換は、ｎビットカウンタにおける交換ビットと等しい。
【００５８】
ビット交換と関連する数学的表現は、さらに以下の式５〜８によって詳細となる。
【００５９】
【数４】
2005538648.tif 000006
【００６０】
ベクトルＣに類似して、式９，１０にベクトルＣが表現される。
【００６１】
【数５】
2005538648.tif 000007
【００６２】
ｎビットカウンタによって生成されたオリジナルの数列と、交換ビットによって生成された続く数列との間の関係は、以下の式１１，１２の通りである。
【００６３】
【数６】
2005538648.tif 000008
式８〜１０で、ベクトルＣとベクトルＣとに、三つのベクトルＣ1，Ｃ2，Ｃ3がある。これら二つのベクトルの違いを比べるため、式１１，１２を行う。
【００６４】
ここで止まって、ベクトルＢの各列を見てみよう。列ｋ（ｋは、列インデックス）に対し、値変化（0-1-0）は各２k行である。総行が２nであることが知られている。もし、連続した０’あるいは１’がグループと呼ばれるなら、一つの列におけるグループＧの数は、以下の式１３，１４を有する。
【００６５】
【数７】
2005538648.tif 000009
【００６６】
列ｓと列ｔ（ｓ＞ｔ）に対し、総行は等しく、グループ比率は、以下の式１５，１６から得られる。
【００６７】
【数８】
2005538648.tif 000010
言い換えると、各０グループあるいは列ｓの一つのグループにおいて、２s-1グループと列ｔにおける一つのグループとがあり、０グループの数と一つのグループの数は同じであり、それぞれ２s-t-1である。式１２から、マトリックスの内部は、列ｓから差し引かれた列ｔである。結果は、０，−１あるいは１である。だから、ベクトルＣ−ベクトルＣの各行は、｛０，（２s−２1），−（２s−２1）｝である。０’を有する行は、列ｓと列ｔとを交換した後を意味し、行は同じ値を維持する。（２s−２1）を有する行は、列を交換し、（２s−２1）が値に加えられた後を意味する。−（２s−２1）を有する行は、列を交換し、−（２s−２1）が値に加えられた後を意味する。
【００６８】
列ｓと列ｔをさらに詳しく見てみよう。
【００６９】
【数９】
2005538648.tif 000011
上述の列ｓと列ｔとの解析に基づき、以下の式１７において式１２が連続的に派生する。
【００７０】
【数１０】
2005538648.tif 000012
式１７から、−１と１の数は同じであり、２n-3＝Ｎ／４に等しい。０の数は、２n-2＝Ｎ／２であり、−１，１及び０は、Ｎを作成するために計算される。これら０の行に対応して、行は、列ｓ，ｔを交換した後に同じに維持する。これら−１の行に対応して、オフセット（２s−２1）が受け入れられ、これら１の行を補正する。全てが安定している。行の全ての値はまだ０〜Ｎ−１の範囲である。
【００７１】
この数学モデルの上述した立証に基づき、ベクトルＣ＝ベクトルＢ・ベクトルＥというマトリックスの結果が得られる。ベクトルＢマトリックスのどんな二つの列ｓ，ｔも交換し、ベクトルＣマトリックスの結果は、列のＮ／２は同じのまま、列のＮ／４は−（２s−２1）にオフセット、（２s−２1）は他のＮ／４の行を補正する、という特徴を有する。変化する行のパターンは、最初の２sの行であり、最初の２1の行を飛ばして他の各２1の行はマイナスのオフセット（２s−ｓ1）を有する。このパターンは、第２の２sに写し、しかし、マイナスのオフセットを有していた行は、プラスのオフセットを有するようになる。このパターンは、第３の２sに写し、言い換えれば、第３の２sの行は、第１の２sの行と同じである。それは、最後の行まで続けられる。
【００７２】
【数１１】
2005538648.tif 000013
上記から見て、ベクトルＢのどんな列の交換でも、他の新しいベクトルＣが上記特徴を備えて生成される。従って、新しいベクトルＣを生成するため、ベクトルＢの各列を位置させるｎ！通りがあるので、最大パターンはｎ！である。
【００７３】
＜ビット交換＞
説明の目的のため、４ビットカウンタを想定する。４ビットカウンタのためのベクトルＢマトリックスは、16×４のサイズであり、左から、col0,col,col2,col3として次のように表される。
【００７４】
【数１２】
2005538648.tif 000014
【００７５】
もし、ベクトルＣが４ビットカウンタによって生成される数列を表すなら、ベクトルＣ＝0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15である。ベクトルＢマトリックスにおける列０（col0）と列３（col3）を交換することは、既に説明したように、４ビットカウンタにおけるビットの交換と等しい。ベクトルＢマトリックスにおける列０と列３を交換することによって、新しい数列が生成される。もし、ベクトルＣ’が新しい数列を表すなら、ベクトルＣ’は、0,8,2,10,4,12,6,14,1,9,3,11,5,13,7,15である。このように、ベクトルＣ＝ベクトルＢ・ベクトルＥは、以下のように表される。
【００７６】
【数１３】
2005538648.tif 000015
【００７７】
もし、ベクトルＢ’がベクトルＢマトリックスにおいて列０と列３を交換した後のベクトルＢマトリックスを表すなら、ベクトルＣ’＝ベクトルＢ’・ベクトルＥ’が以下のように表される。
【００７８】
【数１４】
2005538648.tif 000016
【００７９】
＜メモリ内容及びアドレスパターンシーケンス＞
図７は、メモリにおけるデータフォーマットを示すブロック図である。特に、図７のフォーマットは、4:2:0クロミナンスフォーマットである。図において、ブロック７０４ａ，７０４ｂ，７０４ｃ及び７０４ｄは、ルミナンスブロックＹ０，Ｙ１，Ｙ２，Ｙ３を表す。ブロック７０４ｅ，７０４ｆは、クロミナンスブロックＣｂ，Ｃｒを表す。ブロック７０４ａ，７０４ｂ，７０４ｃ，７０４ｄ，７０４ｅ及び７０４ｆは、一つのマクロブロックを構成する。各ブロックにおいて、各ワードは一つのライン又は８ピクセルを有する。各ブロックは８ワードを含む。そのようなケースにおいて、マクロブロックは４８ワードを有する。このように、図７に示されるフォーマットは、４８アドレスを生成するために２6アドレスまで生成することができる６ビットカウンタを必要とする。さらに図７において、ビット位置ディスプレイ７１４は、６ビットカウンタの６ビットを示す。ビット位置ディスプレイ７１４において、最重要ビット（ＭＳＢ）３ビットは、ブロックインデックス（block＿index）に対応するビットを示し、最小重要ビット（ＬＳＢ）３ビットは、ワードインデックス（word＿index）に対応するビットを示す。
【００８０】
ブロックインデックスは、例えばカウンタ[5:3]のように、カウンタの３ＭＳＢの値を取る。4:4:4フォーマットにおいて、ブロックインデックスは、例えばカウンタ[6:4]のように、カウンタの４ＭＳＢの値を取る。それは、図７の両位置及びマクロブロック／ブロック位置に示される。
【００８１】
ワードインデックスは、例えばカウンタ[2:0]のように、カウンタの３ＬＳＢの値を取る。それは、図７の両位置及びマクロブロック／ブロック位置に示される。
【００８２】
ブロックインデックスとワードインデックスの記述は、図８〜図２０の全ての形態に関して同様である。さらにまた、ブロックインデックスとワードインデックスの記述は、交換カウンタビットから生成される非連続シーケンスに関して同様である。便宜上、ブロックインデックスとワードインデックスの記述は、全ての形態において繰り返されない。
【００８３】
図８は、マクロブロックの三つの異なるクロミナンスフォーマットを示すブロック図である。図８において、フォーマット８０２は、4:2:0クロミナンスフォーマットであり、フォーマット８１０は、4:2:2クロミナンスフォーマットであり、フォーマット８２０は、4:4:4クロミナンスフォーマットである。4:2:0クロミナンスフォーマットにおいて、ブロック８０４は、ルミナンスブロックであり、ブロック８０６は、クロミナンスブロックである。4:2:2クロミナンスフォーマットにおいて、ブロック８１２は、ルミナンスブロックであり、ブロック８１４は、クロミナンスブロックである。4:4:4クロミナンスフォーマットにおいて、ブロック８２２は、ルミナンスブロックであり、ブロック８２４は、クロミナンスブロックである。
【００８４】
図９は、4:2:0クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。ブロック９０６は、ルミナンスブロックであり、ブロック９０８は、クロミナンスブロックである。図９はまた、アドレスパターンシーケンス９０４を生成するために交換されるビット位置[5]からビット位置[0]までの六つのビットであるカウンタビット９０２を示す。このように、六つのカウンタビット９０２は、アドレスパターンシーケンス９０４を生成するために、[5],[4],[0],[3],[2],[1]に再整理される。ブロック９１０は、１０進数におけるシーケンス９０４のブロックインデックスとワードインデックスを示す。さらに、図９は以下を示す。
【００８５】
【数１５】
2005538648.tif 000017
【００８６】
図１０は、4:2:2クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示す。ブロック１００６は、ルミナンスブロックであり、ブロック１００８は、クロミナンスブロックである。図１０はまた、アドレスパターンシーケンス１００４を生成するために交換されるビット位置[5]からビット位置[0]までの六つのビットであるカウンタビット１００２を示す。このように、六つのカウンタビット１００２は、アドレスパターンシーケンス１００４を生成するために、[5],[4],[0],[3],[2],[1]に再整理される。ブロック１０１０は、１０進数におけるシーケンス１００４のブロックインデックスとワードインデックスを示す。さらに、図１０は以下を示す。
【００８７】
【数１６】
2005538648.tif 000018
【００８８】
図１１は、4:4:4クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示す。ブロック１１０６は、ルミナンスブロックであり、ブロック１１０８は、クロミナンスブロックである。図１１はまた、アドレスパターンシーケンス１１０４を生成するために交換されるビット位置[6]からビット位置[0]までの七つのビットであるカウンタビット１１０２を示す。このように、七つのカウンタビット１１０２は、アドレスパターンシーケンス１１０４を生成するために、[6],[5],[4],[0],[3],[2],[1]に再整理される。ブロック１１１０は、１０進数におけるシーケンス１１０４のブロックインデックスとワードインデックスを示す。さらに、図１１は以下を示す。
【００８９】
【数１７】
2005538648.tif 000019
【００９０】
異なるビット交換パターンの組み合わせは、新しい非連続シーケンスを生成するために異なるデータ列におけるシーケンスに適用され得る。図１２，１５，１７において、最初からカウンタによって生成されるデータ列は、ビデオ復号化適用におけるデータインデックスと呼ばれる。
【００９１】
図１２は、4:2:0クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。ブロック１２０６は、ルミナンスブロックであり、ブロック１２０８は、クロミナンスブロックである。図１２はまた、アドレスパターンシーケンス１２０４を生成するために交換されるカウントビット１２０２を示す。図１２において、四つの異なるビット交換パターンがカウンタによって生成される４列の数列に適用される。４列は、block＿index=3、block＿index=4、block＿index=5、そして残るblock＿index=1,2,6である。
【００９２】
カウントビット１２０２がblock＿index=3にある時、ビット位置[5]からビット位置[0]の六つのカウンタビット１２０２は、アドレスパターンシーケンス１２０４を生成するために交換される。続く組み合わせロジックは、アドレスパターンシーケンス１２０４を生成するために、非[4],非[3],[0],[2],[1],非[5]の六つのカウンタビット１２０２に適用される。
【００９３】
カウントビット１２０２がblock＿index=4にある時、ビット位置[5]からビット位置[0]の六つのカウンタビット１２０２は、アドレスパターンシーケンス１２０４を生成するために交換される。続く組み合わせロジックは、アドレスパターンシーケンス１２０４を生成するために、[4],非[3],[0],[2],[1],[5]の六つのカウンタビット１２０２に適用される。
【００９４】
カウントビット１２０２がblock＿index=5にある時、ビット位置[5]からビット位置[0]の六つのカウンタビット１２０２は、アドレスパターンシーケンス１２０４を生成するために交換される。続く組み合わせロジックは、アドレスパターンシーケンス１２０４を生成するために、非[4],非[3],[0],[2],[1],[5]の六つのカウンタビット１２０２に適用される。
【００９５】
カウントビット１２０２がblock＿index=1,2,6にある時、ビット位置[5]からビット位置[0]の六つのカウンタビット１２０２は、アドレスパターンシーケンス１２０４を生成するために交換される。六つのカウンタビット１２０２は、アドレスパターンシーケンス１２０４を生成するために、[4],[3],[0],[2],[1],[5]に再整理される。
【００９６】
ブロック１２１０は、１０進数におけるシーケンス１２０４のブロックインデックス及びワードインデックスを示す。このように、図１２に関し、以下の組み合わせロジックが適用される。
【００９７】
【数１８】
2005538648.tif 000020
【００９８】
図１３は、4:2:2クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。ブロック１３０６は、ルミナンスブロックであり、ブロック１３０８は、クロミナンスブロックである。図１３はまた、アドレスパターンシーケンス１３０４を生成するために交換されるビット位置[5]からビット位置[0]までの六つのビットであるカウンタビット１３０２を示す。このように、六つのカウンタビット１３０２は、アドレスパターンシーケンス１３０４を生成するために、[4],[3],[0],[2],[1],[5]に再整理される。ブロック１３１０は、１０進数におけるシーケンス１３０４のブロックインデックスとワードインデックスを示す。さらに、図１３は以下を示す。
【００９９】
【数１９】
2005538648.tif 000021
【０１００】
図１４は、4:2:4クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。ブロック１４０６は、ルミナンスブロックであり、ブロック１４０８は、クロミナンスブロックである。図１４はまた、アドレスパターンシーケンス１４０４を生成するために交換されるビット位置[6]からビット位置[0]までの七つのビットであるカウンタビット１４０２を示す。このように、七つのカウンタビット１４０２は、アドレスパターンシーケンス１４０４を生成するために、[5],[4],[3],[0],[2],[1],[6]に再整理される。ブロック１４１０は、１０進数におけるシーケンス１４０４のブロックインデックスとワードインデックスを示す。さらに、図１４は以下を示す。
【０１０１】
【数２０】
2005538648.tif 000022
【０１０２】
図１５は、4:2:0クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。ブロック１５０６は、ルミナンスブロックであり、ブロック１５０８は、クロミナンスブロックである。図１５はまた、アドレスパターンシーケンス１５０４を生成するために交換されるカウントビット１５０２を示す。図１５において、三つの異なるビット交換パターンがカウンタによって生成される３列の数列に適用される。３列は、block＿index=2、block＿index=3,4、そして残るｂlock＿index=1,5,6である。
【０１０３】
カウントビット１５０２がblock＿index=2にある時、ビット位置[5]からビット位置[0]の六つのカウンタビット１５０２は、アドレスパターンシーケンス１５０４を生成するために交換される。六つのカウンタビット１５０２は、アドレスパターンシーケンス１５０４を生成するために、[4],[5],[0],[3],[2],[1]に再整理される。
【０１０４】
カウントビット１５０２がblock＿index=3,4にある時、ビット位置[5]からビット位置[0]の六つのカウンタビット１５０２は、アドレスパターンシーケンス１５０４を生成するために交換される。続く組み合わせロジックは、アドレスパターンシーケンス１５０４を生成するために、[5],[4],[0],非[3],[2],[1]の六つのカウンタビット１５０２に適用される。
【０１０５】
カウントビット１５０２がblock＿index=1,5,6にある時、ビット位置[5]からビット位置[0]の六つのカウンタビット１５０２は、アドレスパターンシーケンス１５０４を生成するために交換される。六つのカウンタビット１５０２は、アドレスパターンシーケンス１５０４を生成するために、[5],[4],[0],[3],[2],[1]に再整理される。
【０１０６】
ブロック１５１０は、１０進数におけるシーケンス１５０４のブロックインデックス及びワードインデックスを示す。このように、図１５に関し、以下の組み合わせロジックが適用される。
【０１０７】
【数２１】
2005538648.tif 000023
【０１０８】
図１６は、4:2:2クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。ブロック１６０６は、ルミナンスブロックであり、ブロック１６０８は、クロミナンスブロックである。図１６はまた、アドレスパターンシーケンス１６０４を生成するために交換されるビット位置[5]からビット位置[0]までの六つのビットであるカウンタビット１６０２を示す。このように、六つのカウンタビット１６０２は、アドレスパターンシーケンス１６０４を生成するために、[4],[5],[0],[3],[2],[1]に再整理される。ブロック１６１０は、１０進数におけるシーケンス１６０４のブロックインデックスとワードインデックスを示す。さらに、図１６は以下を示す。
【０１０９】
【数２２】
2005538648.tif 000024
【０１１０】
図１７は、4:2:4クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。ブロック１７０６は、ルミナンスブロックであり、ブロック１７０８は、クロミナンスブロックである。図１７はまた、アドレスパターンシーケンス１７０４を生成するために交換されるカウントビット１７０２を示す。図１７において、三つの異なるビット交換パターンがカウンタによって生成される３列の数列に適用される。３列は、block＿index=6,7,8,9、block＿index=10,11、そして残るblock＿index=1,2,3,4,5である。
【０１１１】
カウントビット１７０２がblock＿index=6,7,8,9にある時、ビット位置[6]からビット位置[0]の七つのカウンタビット１７０２は、アドレスパターンシーケンス１７０４を生成するために交換される。続く組み合わせロジックは、アドレスパターンシーケンス１７０４を生成するために、非[6],非[5],非[4],[0],[3],[2],[1]の七つのカウンタビット１７０２に適用される。
【０１１２】
カウントビット１７０２がblock＿index=10,11にある時、ビット位置[6]からビット位置[0]の七つのカウンタビット１７０２は、アドレスパターンシーケンス１７０４を生成するために交換される。七つのカウンタビット１７０２は、アドレスパターンシーケンス１７０４を生成するために、[6],[5],[4],[0],[3],[2],[1]に再整理される。
【０１１３】
カウントビット１７０２がblock＿index=1,2,3,4,5にある時、ビット位置[6]からビット位置[0]の七つのカウンタビット１７０２は、アドレスパターンシーケンス１７０４を生成するために交換される。七つのカウンタビット１７０２は、アドレスパターンシーケンス１７０４を生成するために、[5],[4],[6],[0],[3],[2],[1]に再整理される。
【０１１４】
ブロック１７１０は、１０進数におけるシーケンス１７０４のブロックインデックス及びワードインデックスを示す。このように、図１７に関し、以下の組み合わせロジックが適用される。
【０１１５】
【数２３】
2005538648.tif 000025
【０１１６】
図１８は、4:2:0クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。ブロック１８０６は、ルミナンスブロックであり、ブロック１８０８は、クロミナンスブロックである。図１８はまた、アドレスパターンシーケンス１８０４を生成するために交換されるカウントビット１８０２を示す。図１８において、二つの異なるビット交換パターンがカウンタによって生成される２列の数列に適用される。２列は、block＿index=0,1,2,3、そして残るblock＿index=5,6である。
【０１１７】
カウントビット１８０２がblock＿index=0,1,2,3にある時、ビット位置[5]からビット位置[0]の六つのカウンタビット１８０２は、アドレスパターンシーケンス１８０４を生成するために交換される。六つのカウンタビット１８０２は、アドレスパターンシーケンス１８０４を生成するために、[5],[3],[0],[2],[1],[4]に再整理される。
【０１１８】
カウントビット１８０２がblock＿index=5,6にある時、ビット位置[5]からビット位置[0]の六つのカウンタビット１８０２は、アドレスパターンシーケンス１８０４を生成するために交換される。六つのカウンタビット１８０２は、アドレスパターンシーケンス１８０４を生成するために、[5],[4],[0],[3],[2],[1]に再整理される。
【０１１９】
ブロック１８１０は、１０進数におけるシーケンス１８０４のブロックインデックス及びワードインデックスを示す。このように、図１８に関し、以下の組み合わせロジックが適用される。
【０１２０】
【数２４】
2005538648.tif 000026
【０１２１】
図１９は、4:2:2クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。ブロック１９０６は、ルミナンスブロックであり、ブロック１９０８は、クロミナンスブロックである。図１９はまた、アドレスパターンシーケンス１９０４を生成するために交換されるビット位置[5]からビット位置[0]までの六つのビットであるカウンタビット１９０２を示す。このように、六つのカウンタビット１９０２は、アドレスパターンシーケンス１９０４を生成するために、[5],[3],[0],[2],[1],[4]に再整理される。ブロック１９１０は、１０進数におけるシーケンス１９０４のブロックインデックスとワードインデックスを示す。さらに、図１９は以下を示す。
【０１２２】
【数２５】
2005538648.tif 000027
【０１２３】
図２０は、4:4:4クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。ブロック２００６は、ルミナンスブロックであり、ブロック２００８は、クロミナンスブロックである。図２０はまた、アドレスパターンシーケンス２００４を生成するために交換されるビット位置[6]からビット位置[0]までの七つのビットであるカウンタビット２００２を示す。このように、七つのカウンタビット２００２は、アドレスパターンシーケンス２００４を生成するために、[6],[5],[3],[0],[2],[1],[4]に再整理される。ブロック２０１０は、１０進数におけるシーケンス２００４のブロックインデックスとワードインデックスを示す。さらに、図２０は以下を示す。
【０１２４】
【数２６】
2005538648.tif 000028
【図面の簡単な説明】
【０１２５】
【図１】一般的なＭＰＥＧ−２ビデオビットストリームデコーダの中心のいくつかの構成を示す簡素化されたブロック図である。
【図２】図１のＩＤＣＴモジュールとＩＤＣＴバッファを交換したいくつかのキー要素を示す簡素化されたブロック図である。
【図３】図１のＭＣモジュール及びＭＣバッファを交換したいくつかのキー要素を示す簡素化されたブロック図である。
【図４】図１のＭＳモジュールを交換したいくつかのキー要素を示す簡素化されたブロック図である。
【図５】本発明の確かな実施形態において用いられるアドレスジェネレータのブロック図である。
【図６】本発明の確かな実施形態に従うアドレスジェネレータの他のバリエーションのブロック図である。
【図７】メモリにおけるデータフォーマットを示すブロック図である。
【図８】マクロブロックのための異なるクロミナンスフォーマットを示すブロック図である。
【図９】4:2:0クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。
【図１０】4:2:2クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。
【図１１】4:4:4クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。
【図１２】4:2:0クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。
【図１３】4:2:2クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。
【図１４】4:4:4クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。
【図１５】4:2:0クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。
【図１６】4:2:2クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。
【図１７】4:4:4クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。
【図１８】4:2:0クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。
【図１９】4:2:2クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。
【図２０】4:4:4クロミナンスフォーマットのために用いられる一つのアドレスパターンシーケンスを示すブロック図である。
【図１】
2005538648.tif 000029
【図２】
2005538648.tif 000030
【図３】
2005538648.tif 000031
【図４】
2005538648.tif 000032
【図５】
2005538648.tif 000033
【図６】
2005538648.tif 000034
【図７】
2005538648.tif 000035
【図８】
2005538648.tif 000036
【図９】
2005538648.tif 000037
【図１０】
2005538648.tif 000038
【図１１】
2005538648.tif 000039
【図１２】
2005538648.tif 000040
【図１３】
2005538648.tif 000041
【図１４】
2005538648.tif 000042
【図１５】
2005538648.tif 000043
【図１６】
2005538648.tif 000044
【図１７】
2005538648.tif 000045
【図１８】
2005538648.tif 000046
【図１９】
2005538648.tif 000047
【図２０】
2005538648.tif 000048
【国際調査報告】
2005538648.tif 000049
2005538648.tif 000050