(57)【要約】  ビデオ復号化回路は、第１のビデオデータプロセッサ、第２のビデオデータプロセッサ、および、第１のビデオデータプロセッサと第２のビデオデータプロセッサを接続するコネクションを備え、第１のビデオデータプロセッサが符号化されたビデオデータを含む第１の信号を受信し、第２の信号を供給するため第１の信号を処理し、上記第２の信号を出力するように構成される。第１のビデオデータプロセッサは受信された第１の信号の少なくとも一部分に依存して第１の信号を処理するように構成される。第２のビデオデータプロセッサは、第２の信号の少なくとも一部分を受信し、第３の信号を供給するため第２の信号の少なくとも一部分を処理し、第３の信号を出力するように構成され、第２の信号および第３の信号は復号化されたビデオ画像ストリームを含む。第２のビデオデータプロセッサは、第２の信号の少なくとも一部分のうちの少なくとも一部分に依存して第２の信号の少なくとも一部分を処理するように構成される。
2007512749.tif 000002
【特許請求の範囲】
【請求項１】
第１のビデオデータプロセッサと、
第２のビデオデータプロセッサと、
前記第１のビデオデータプロセッサと前記第２のビデオデータプロセッサを接続するコネクションとを備え、
前記第１のビデオデータプロセッサが符号化されたビデオデータを含む第１の信号を受信し、第２の信号を供給するため第１の信号を処理し、前記第２の信号を出力するように構成され、
前記第１のビデオデータプロセッサが前記受信された第１の信号の少なくとも一部分に依存して前記第１の信号を処理するように構成され、
前記第２のビデオデータプロセッサが、前記第２の信号の少なくとも一部分を受信し、第３の信号を供給するため前記第２の信号の前記少なくとも一部分を処理し、前記第３の信号を出力するように構成され、
前記第２の信号および前記第３の信号が復号化されたビデオ画像ストリームを含み、
前記第２のビデオデータプロセッサが、前記第２の信号の少なくとも一部分のうちの少なくとも一部分に依存して前記第２の信号の少なくとも一部分を処理するように構成される、
ビデオ復号化回路。
【請求項２】
前記第１のビデオデータプロセッサが復号化された第１の信号を生成するため前記受信された第１の信号を可変長復号化するように構成される、請求項１に記載の回路。
【請求項３】
前記第１のビデオデータプロセッサが前記第１の信号データを少なくとも第１の部分および第２の部分に分離するように構成され、
前記第１の部分が画素データと、
残留データのうちの少なくとも一方を含み、
前記第２の部分が動きベクトルデータを含む、
請求項２に記載の回路。
【請求項４】
前記第１のビデオデータプロセッサが前記第１の信号の前記第１の部分を逆量子化するように構成される、請求項３に記載の回路。
【請求項５】
前記第１のビデオデータプロセッサが前記第１の信号の前記第１の部分を空間領域変換するように構成される、請求項３または４に記載の回路。
【請求項６】
前記第１のビデオデータプロセッサが前記第１の信号の空間領域変換および／または逆量子化された前記第１の部分を前記第１の信号の前記第２の部分と組み合わせるように構成される、請求項４または５に記載の回路。
【請求項７】
前記第２のビデオデータプロセッサが前記第２の信号の少なくとも第１の部分を補間するように構成される、請求項１から６のいずれか一項に記載の回路。
【請求項８】
前記第２のビデオデータプロセッサが水平補間と垂直補間のうちの一方を使用して前記第２の信号の少なくとも第１の部分を補間するように構成される、請求項７に記載の回路。
【請求項９】
メモリをさらに備え、前記第２のビデオデータプロセッサが前記第２の信号の前記補間された部分を前記メモリに格納するように構成される、請求項８に記載の回路。
【請求項１０】
前記第２のビデオデータプロセッサが、水平補間と垂直補間のうちのもう一方を使用して、前記第２の信号の、前記補間され格納された第１の部分を補間するように構成される、請求項８または９に記載の回路。
【請求項１１】
前記第２のビデオデータプロセッサが前記第２の信号の前記補間された部分と前記第２の信号のさらなる部分を組み合わせるように構成され、
前記第２の信号の前記補間された部分が推定されたマクロブロックを含み、前記第２の信号の前記さらなる部分が残留誤差データを含む、
請求項７から１０に記載の回路。
【請求項１２】
前記第２のビデオデータプロセッサが前記第２の信号の前記少なくとも一部分と前記第３の信号とのうちの少なくとも一方をフィルタ処理するように構成される、請求項１から１１のいずれか一項に記載の回路。
【請求項１３】
前記フィルタ処理がデリンギングフィルタとデブロッキングフィルタのうちの少なくとも一方を備える、請求項１２に記載の回路。
【請求項１４】
前記コネクションが前記第１のビデオデータプロセッサと前記第２のビデオデータプロセッサを接続するバスを備える、請求項１から１３のいずれか一項に記載の回路。
【請求項１５】
前記バスに接続されたメモリ装置をさらに備える、請求項１４に記載の回路。
【請求項１６】
前記第１のビデオデータプロセッサが前記バスを介して前記メモリ装置へ前記第２の信号を出力する出力を有する、請求項１５に記載の回路。
【請求項１７】
前記第２のビデオデータプロセッサが前記バスを介して前記メモリ装置から前記第２の信号の前記部分を受信する入力を有する、請求項１６に記載の回路。
【請求項１８】
前記コネクションが前記第１のビデオデータプロセッサと前記第２のビデオデータプロセッサを直接的に接続するデータ相互接続を備える、請求項１から１７に記載の回路。
【請求項１９】
前記第１のビデオデータプロセッサが前記第２の信号を前記データ相互接続へ出力する出力を有する、請求項１８に記載の回路。
【請求項２０】
前記第２のビデオデータプロセッサが前記データ相互接続から前記第２の信号の前記部分を受信する入力を有する、請求項１８および１９に記載の回路。
【請求項２１】
前記第２のビデオデータプロセッサが、前記データ相互接続から前記第２の信号の前記部分の一部分を受信し、前記バスから前記第２の信号の前記部分の一部分を受信する、請求項１５に従属する請求項２０に記載の回路。
【請求項２２】
前記第１の信号が、
ＭＰＥＧ２方式で符号化されたビデオストリームと、
Ｈ．２６３方式で符号化されたビデオストリームと、
ＲｅａｌＶｉｄｅｏ９方式で符号化されたビデオストリームと、
Ｗｉｎｄｏｗｓ  Ｍｅｄｉａ  Ｐｌａｙｅｒ方式で符号化されたビデオストリームと、
Ｈ．２６４方式で符号化されたビデオストリームと
のうちの少なくとも一つである、
請求項１から２１のいずれか一項に記載の回路。
【請求項２３】
前記第２の信号が、
バッファベースアドレスワードと、
ピクチャレベルパラメータヘッダワードと、
ピクチャレベルパラメータワードと、
マクロブロックヘッダワードと、
スライスパラメータワードと、
動きベクトル水平ルマワードと、
動きベクトル垂直ルマワードと、
動きベクトル水平クロマワードと、
動きベクトル垂直クロマワードと、
画素データ参照ワードと、
画素データ残留ワードと
のうちの少なくとも一つを含む、
請求項１から２２のいずれか一項に記載の回路。
【請求項２４】
前記第１のビデオデータプロセッサがデータパッカーを備える、請求項１から２３のいずれか一項に記載の回路。
【請求項２５】
前記第２のビデオデータプロセッサがデータパッカーを備える、請求項１から２３に記載の回路。
【請求項２６】
前記データパッカーが、
データワードを含む前記第２の信号を受信するように構成された入力と、
前記データワードを順序付ける手段と、
順序付けられたデータワードを含むデータパケットを送信するように構成された出力と、
を備える、
請求項２４または２５に記載の回路。
【請求項２７】
請求項１から２６のいずれか一項に記載の回路を備える、集積回路。
【請求項２８】
前記第１のビデオデータプロセッサが超長命令語プロセッサを備える、請求項１から２６に記載の回路。
【請求項２９】
前記超長命令語プロセッサがメモリに格納された命令のセットにさらに依存して前記第１の信号を処理するために適する、請求項２８に記載の回路。
【請求項３０】
前記第２のビデオデータプロセッサがプログラマブルプロセッサを備える、請求項１から２９に記載の回路。
【請求項３１】
符号化されたビデオデータを含む第１の信号を第１のビデオデータプロセッサで受信するステップと、
前記第１の信号の少なくとも一部分に依存して第２の信号を供給するため前記第１の信号を処理するステップと、
前記第２の信号を出力するステップと、
第２のビデオデータプロセッサで前記第２の信号の少なくとも一部分を受信するステップと、
前記第２の信号の少なくとも一部分に依存して第３の信号を供給するため前記第２の信号の前記少なくとも一部分を処理するステップと、
前記第３の信号を出力するステップと、
を備え、
前記第２の信号と前記第３の信号が復号化されたビデオ画像ストリームを含む、
ビデオ復号化方法。
【請求項３２】
前記第１の信号を処理するステップが前記第１の信号を可変長復号化するステップを備える、請求項３１に記載の方法。
【請求項３３】
前記第１の信号を処理するステップが前記第１の信号を少なくとも第１の部分と第２の部分に分離するステップを備え、
前記第１の部分が
画素データと、
残留データと
のうちの少なくとも一方を含み、
前記第２の部分が動きベクトルデータを含む、
請求項３１および３２に記載の方法。
【請求項３４】
前記第１の信号を処理するステップが前記第１の信号の前記第１の部分を逆量子化するステップをさらに備える、請求項３３に記載の方法。
【請求項３５】
前記第１の信号を処理するステップが前記第１の信号の前記第１の部分を空間領域変換するステップをさらに備える、請求項３３および３４に記載の方法。
【請求項３６】
前記第１の信号を処理するステップが前記第１の信号の空間領域変換および／または逆量子化された前記第１の部分を前記第１の信号の前記第２の部分と組み合わせるステップをさらに備える、請求項３４または３５に記載の方法。
【請求項３７】
前記第２の信号の少なくとも一部分を処理するステップが前記第２の信号の少なくとも第１の部分を補間するステップをさらに備える、請求項３１から３６に記載の方法。
【請求項３８】
前記第２の信号の少なくとも第１の部分を補間するステップが水平補間と垂直補間のうちの一方を使用して前記第２の信号の少なくとも第１の部分を補間するステップをさらに備える、請求項３７に記載の方法。
【請求項３９】
前記補間するステップが前記第２の信号の前記補間された部分を格納するステップをさらに備える、請求項３８に記載の方法。
【請求項４０】
前記補間するステップが水平補間と垂直補間のうちのもう一方を使用して前記第２の信号の前記補間された部分を補間するステップをさらに備える、請求項３８および３９に記載の方法。
【請求項４１】
前記第２の信号の少なくとも一部分を処理するステップが前記第２の信号の前記補間された部分と前記第２の信号のさらなる部分を組み合わせるステップをさらに備え、
前記第２の信号の前記補間された部分が推定されたマクロブロックを含み、前記第２の信号の前記さらなる部分が残留誤差データを含む、
請求項３７から４０に記載の方法。
【請求項４２】
前記第２の信号の少なくとも一部分を処理するステップがフィルタ処理するステップをさらに備え、
前記フィルタ処理するステップがデリンギングフィルタ処理するステップとデブロッキングフィルタ処理するステップのうちの少なくとも一方を備える、
請求項３１から４１に記載の方法。
【請求項４３】
前記第２の信号を出力するステップが前記第２の信号をメモリに格納するステップをさらに備える、請求項３１から４２に記載の方法。
【請求項４４】
前記第２の信号の少なくとも一部分を受信するステップが前記第１のビデオデータプロセッサから直接的に前記第２の信号の前記少なくとも一部分を受信するステップを備える、請求項３１から４３に記載の方法。
【請求項４５】
前記第２の信号の少なくとも一部分を受信するステップが前記第１のビデオデータプロセッサから直接的に前記第２の信号の前記少なくとも一部分のうちの第１の部分を受信し、前記メモリから前記第２の信号の前記少なくとも一部分のうちの第２の部分を受信するステップを備える、請求項４０に従属する請求項４４に記載の方法。
【請求項４６】
前記第１の信号を処理するステップが前記第２の信号をパケット化するステップをさらに備える、請求項３１から４５に記載の方法。
【請求項４７】
前記第２の信号を処理するステップが、
前記第２の信号の前記少なくとも一部分をパケット化するステップと、
前記第２の信号の前記少なくとも一部分をメモリに格納するステップと、
前記メモリから前記格納された第２の信号の前記少なくとも一部分を受信するステップと
をさらに備える、請求項３１から４５に記載の方法。
【請求項４８】
第１のビデオデータプロセッサ（５０９）と、
第２のビデオデータプロセッサ（５１９）と、
前記第１のビデオデータプロセッサと前記第２のビデオデータプロセッサを接続するコネクションとを備え、
前記第１のビデオデータプロセッサ（５０９）が符号化されたビデオデータを含む第１の信号を受信し、第２の信号を供給するため第１の信号を処理し、前記第２の信号を出力するように構成され、
前記第１のビデオデータプロセッサ（５０９）が前記受信された第１の信号の少なくとも一部分に依存して前記第１の信号を処理するように構成され、
前記第２のビデオデータプロセッサ（５１９）が予測子コンストラクタ４１９を備え、
前記第２のビデオデータプロセッサ（５１９）が、前記第２の信号の少なくとも一部分を受信し、第３の信号を供給するため前記第２の信号の前記少なくとも一部分を処理し、前記第３の信号を出力するように構成され、
前記第２の信号および前記第３の信号が復号化されたビデオ画像ストリームを含む、
ビデオ復号化回路であって、
前記第２の信号の一部分がデータのタイプの変動を定める符号化標準規格情報を含むピクチャレベルパラメータワードを備え、
前記第２のビデオデータプロセッサ（５１９）の予測子コンストラクタ（４５９）が受信されたデータのフォーマットに依存して前記第２の信号の前記少なくとも一部分を処理するように構成されることを特徴とする、
ビデオ復号化回路。
【請求項４９】
符号化されたビデオデータを含む第１の信号を第１のビデオデータプロセッサ（５０９）で受信するステップと、
前記第１の信号の少なくとも一部分に依存して第２の信号を供給するため前記第１の信号を処理するステップと、
前記第２の信号を出力するステップと、
第２のビデオデータプロセッサ（５１９）で前記第２の信号の少なくとも一部分を受信するステップと、
第３の信号を供給するため前記第２のビデオプロセッサ（５１９）の予測子コンストラクタ（４５９）内で前記第２の信号の前記少なくとも一部分を処理するステップと、
前記第３の信号を出力するステップと、
を備え、
前記第２の信号と前記第３の信号が復号化されたビデオ画像ストリームを含む、
ビデオ復号化方法であって、前記第２の信号を出力するステップがデータのタイプの変動を定める符号化標準規格情報を出力するステップを備え、前記第２の信号の前記少なくとも一部分を処理するステップが受信されたビデオデータのフォーマットに依存することを特徴とする、
ビデオ復号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ復号化装置、特に、動画像専門家グループ（ＭＰＥＧ）符号化ビデオタイプおよび付随した符号化ビデオタイプを復号化するビデオ復号化装置に関係するが、これらに限られない。
【背景技術】
【０００２】
デジタルビデオ圧縮は多種多様な環境で使用され、多種多様な状況における第１の選択肢となっている。このような３個の環境は、放送およびＤＶＢ（デジタルビデオ放送）の標準規格、ビデオデータおよびＤＶＤ（デジタル多用途ディスク）蓄積の標準規格、ならびに、ＭＰＥＧ−４符号化のような標準規格を使用するインターネットのノード対ノード通信である。
【０００３】
伝統的に、これらの環境と関連したコーダおよびデコーダ（コーデック）の殆どは、一般的にＭＰＥＧ２として知られている、当初のＭＰＥＧ（動画像専門家グループ−国際標準化機構／国際電気標準会議のビデオ復号化および符号化方法）標準規格に基づいている。コーデックと、コーデックのパワーを引き出す符号化／復号化アルゴリズムは、当初のアルゴリズムが標準規格として定められて以来改良されている。これらの改良は、ＭＰＥＧ標準規格ではなく、ＭＰＥＧタイプのセグメンテーションステップおよび圧縮ステップを使用し続ける一連のコーデックに組み込まれている。
【０００４】
ＭＰＥＧコーデックおよびＭＰＥＧタイプのコーデックは、ピクチャとして知られている画像からなる一連の画像により構成されたビデオデータを取り扱う。フレームピクチャとフィールドピクチャの２タイプのピクチャがある。フレームピクチャは１対のフィールドにさらに細分され、各フィールドが走査画像の交互の行を備える。フィールドピクチャは単一フィールドからの画像データの行を格納する。各ピクチャは、参照ピクチャとして、または、非参照ピクチャとして、コーデックによって取り扱われる。
【０００５】
これらのＭＰＥＧタイプのスキームのすべては、フレームまたはフィールドピクチャ、特に、特定の参照ピクチャまたは複数の参照ピクチャを参照して符号化および復号化を行う。最も基本的な形式において、このことは、初期参照ピクチャの符号化の後に一連の非参照ピクチャを符号化することを必要とする。しかし、実際には、参照ピクチャと非参照ピクチャの区別はそれほど簡単ではない。参照ピクチャは、イントラ（Ｉ）ピクチャ、および／または、Ｐピクチャの両方である。Ｉピクチャは、他のピクチャを参照することなく符号化されるピクチャである。しかしながら、ＰピクチャとＢピクチャの両方は、１個以上の他のピクチャからのデータを使用して符号化される。Ｂピクチャは他のピクチャを符号化するため使用されない。
【０００６】
Ｉピクチャは一連のマクロブロック（ＭＢ）に分解される。ブロックはその後に処理される。ＢピクチャおよびＰピクチャは、ＢピクチャおよびＰピクチャ内のマクロブロックと類似したブロックを見つけるため、ＰピクチャおよびＩピクチャからのマクロブロックを探索する。ＢピクチャおよびＰピクチャは、内容とさらに位置の点でＩピクチャおよびＰピクチャのマクロブロックと異なるマクロブロックに関してその後に符号化される。
【０００７】
復号化スキームは符号化スキームの逆を実行し、すなわち、元のＰピクチャおよびＩピクチャを再現し、その後に、元のＰピクチャおよびＢピクチャを再構成するためＩピクチャおよびＰピクチャと余分なＰピクチャおよびＢピクチャデータを使用する。
【０００８】
現在の市販されているビデオ復号化チップソリューションは、主として、ＭＰＥＧ２で符号化されたビデオストリームを復号化するため設計されている。これらの市販されているソリューションは、したがって、ＭＰＥＧ２に最適化され、他の標準規格を使用して符号化されたビデオストリームを復号化するため修正することが容易ではない。
【０００９】
従来のフレキシブルデコーダは利用可能であるが、パーソナルコンピュータ内で使用されるような汎用処理ユニット（ＧＰＵ）に基づいている。これらのフレキシブルデコーダは、プロセッサの外部にあるメモリに格納され、復号化のため必要とされるビデオ標準規格に依存して選択されロードされた命令を使用して、完全な復号化プロセスを実行する。これらのＧＰＵはビデオ復号化を実行するためには最適化されず、以前のＭＰＥＧ２方式ビデオ処理ユニットが使用される場合よりも大量の電力を消費し、大量の熱を生じる。ＧＰＵソリューションは、以前に使用されたＭＰＥＧ２方式ビデオ処理ユニットより高価でもあるので、フレキシブルビデオ復号化システムの製造コストを上昇させる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の実施形態の目的は上記の問題のうちの一つ以上を取り扱い、或いは、少なくとも部分的に緩和することである。
【００１１】
本発明の実施形態は、様々な標準規格を復号化するため十分にフレキシブルになる能力をもつ単一装置を提供することである。
【課題を解決するための手段】
【００１２】
本発明によれば、第１のビデオデータプロセッサ、第２のビデオデータプロセッサ、および、上記第１のビデオデータプロセッサと上記第２のビデオデータプロセッサを接続するコネクションを備え、上記第１のビデオデータプロセッサが符号化されたビデオデータを含む第１の信号を受信し、第２の信号を供給するため第１の信号を処理し、上記第２の信号を出力するように構成され、上記第１のビデオデータプロセッサが上記受信された第１の信号の少なくとも一部分に依存して上記第１の信号を処理するように構成され、上記第２のビデオデータプロセッサが、上記第２の信号の少なくとも一部分を受信し、第３の信号を供給するため上記第２の信号の上記少なくとも一部分を処理し、上記第３の信号を出力するように構成され、上記第２の信号および上記第３の信号が復号化されたビデオ画像ストリームを構成し、上記第２のビデオデータプロセッサが、上記第２の信号の少なくとも一部分のうちの少なくとも一部分に依存して上記第２の信号の少なくとも一部分を処理するように構成される、ビデオ復号化回路が提供される。
【００１３】
第１のビデオデータプロセッサが復号化された第１の信号を生成するため上記受信された第１の信号を可変長復号化するように構成される。
【００１４】
第１のビデオデータプロセッサが上記第１の信号データを少なくとも第１の部分および第２の部分に分離するように構成され、上記第１の部分が画素データと残留データのうちの少なくとも一方を含み、上記第２の部分が動きベクトルデータを含む。
【００１５】
第１のビデオデータプロセッサが上記第１の信号の上記第１の部分を逆量子化するように構成される。
【００１６】
第１のビデオデータプロセッサが上記第１の信号の上記第１の部分を空間領域変換するように構成される。
【００１７】
第１のビデオデータプロセッサが上記第１の信号の空間領域変換および／または逆量子化された上記第１の部分を上記第１の信号の上記第２の部分と組み合わせるように構成される。
【００１８】
第２のビデオデータプロセッサが上記第２の信号の少なくとも第１の部分を補間するように構成される。
【００１９】
第２のビデオデータプロセッサが水平補間と垂直補間の一方を使用して上記第２の信号の少なくとも第１の部分を補間するように構成される。
【００２０】
この回路はメモリをさらに備え、上記第２のビデオデータプロセッサが上記第２の信号の上記補間された部分を上記メモリに格納するように構成される。
【００２１】
第２のビデオデータプロセッサが、水平補間と垂直補間のもう一方を使用して、上記第２の信号の、上記補間され格納された第１の部分を補間するように構成される。
【００２２】
第２のビデオデータプロセッサが上記第２の信号の上記補間された部分と上記第２の信号のさらなる部分を組み合わせるように構成され、上記第２の信号の上記補間された部分が推定されたマクロブロックを含み、上記第２の信号の上記さらなる部分が残留誤差データを含む。
【００２３】
第２のビデオデータプロセッサが上記第２の信号の上記少なくとも一部分と上記第３の信号とのうちの少なくとも一方をフィルタ処理するように構成される。
【００２４】
上記フィルタがデリンギングフィルタとデブロッキングフィルタのうちの少なくとも一方を備える。
【００２５】
コネクションが上記第１のビデオデータプロセッサと上記第２のビデオデータプロセッサを接続するバスを備える。
【００２６】
この回路は上記バスに接続される可能性もあるメモリ装置をさらに備える。
【００２７】
第１のビデオデータプロセッサが上記第２の信号を、上記バスを介して、上記メモリ装置へ出力する出力を有する。
【００２８】
第２のビデオデータプロセッサが上記バスを介して上記メモリ装置から上記第２の信号の上記部分を受信する入力を有する。
【００２９】
コネクションが上記第１のビデオデータプロセッサと上記第２のビデオデータプロセッサを直接的に接続する可能性もあるデータ相互接続を備える。
【００３０】
第１のビデオデータプロセッサが上記第２の信号を上記データ相互接続へ出力する出力を有する。
【００３１】
第２のビデオデータプロセッサが上記データ相互接続から上記第２の信号の上記部分を受信する入力を有する。
【００３２】
第２のビデオデータプロセッサが、上記データ相互接続から上記第２の信号の上記部分の一部分を受信し、上記バスから上記第２の信号の上記部分の一部分を受信する。
【００３３】
第１の信号が、ＭＰＥＧ２方式で符号化されたビデオストリームと、Ｈ．２６３方式で符号化されたビデオストリーム、ＲｅａｌＶｉｄｅｏ９方式で符号化されたビデオストリーム、Ｗｉｎｄｏｗｓ  Ｍｅｄｉａ  Ｐｌａｙｅｒ方式で符号化されたビデオストリーム、Ｈ．２６４方式で符号化されたビデオストリームのうちの少なくとも一つである。
【００３４】
第２の信号が、バッファベースアドレスワード、ピクチャレベルパラメータヘッダワード、ピクチャレベルパラメータワード、マクロブロックヘッダワード、スライスパラメータワード、動きベクトル水平ルマワード、動きベクトル垂直ルマワード、動きベクトル水平クロマワード、動きベクトル垂直クロマワード、画素データ参照ワード、および、画素データ残留ワードのうちの少なくとも一つを含む。
【００３５】
第１のビデオデータプロセッサがデータパッカーを備える。
【００３６】
第２のビデオデータプロセッサがデータパッカーを備える。
【００３７】
データパッカーが、データワードを含む上記第２の信号を受信するように構成された入力と、上記データワードを順序付ける手段と、順序付けられたデータワードを含むデータパケットを送信するように構成された出力とを備える。
【００３８】
集積回路が上記の回路を備える。
【００３９】
第１のビデオデータプロセッサが超長命令語プロセッサを備える。
【００４０】
超長命令語プロセッサがメモリに格納された命令のセットにさらに依存して上記第１の信号を処理するために適する。
【００４１】
第２のビデオデータプロセッサがプログラマブルプロセッサを備える。
【００４２】
本発明の第２の態様によれば、符号化されたビデオデータを含む第１の信号を第１のビデオデータプロセッサで受信するステップと、上記第１の信号の少なくとも一部分に依存して第２の信号を供給するため上記第１の信号を処理するステップと、上記第２の信号を出力するステップと、第２のビデオデータプロセッサで上記第２の信号の少なくとも一部分を受信するステップと、上記第２の信号の少なくとも一部分に依存して第３の信号を供給するため上記第２の信号の上記少なくとも一部分を処理するステップと、上記第３の信号を出力するステップと、を備え、上記第２の信号と上記第３の信号が復号化されたビデオ画像ストリームを含む、ビデオ復号化方法が提供される。
【００４３】
上記第１の信号を処理するステップが上記第１の信号を可変長復号化するステップを備える。
【００４４】
上記第１の信号を処理するステップが上記第１の信号を少なくとも第１の部分と第２の部分に分離するステップを備え、上記第１の部分が画素データと残留データのうちの少なくとも一方を含み、上記第２の部分が動きベクトルデータを含む。
【００４５】
上記第１の信号を処理するステップが上記第１の信号の上記第１の部分を逆量子化するステップをさらに備える。
【００４６】
上記第１の信号を処理するステップが上記第１の信号の上記第１の部分を空間領域変換するステップをさらに備える。
【００４７】
上記第１の信号を処理するステップが上記第１の信号の空間領域変換および／または逆量子化された上記第１の部分を上記第１の信号の上記第２の部分と組み合わせるステップをさらに備える。
【００４８】
上記第２の信号の少なくとも一部分を処理するステップが上記第２の少なくとも第１の部分を補間するステップをさらに備える。
【００４９】
上記第２の信号の少なくとも第１の部分を補間するステップが水平補間と垂直補間の一方を使用して上記第２の信号の少なくとも第１の部分を補間するステップを備える。
【００５０】
補間するステップが上記第２の信号の上記補間された部分を格納するステップをさらに備える。
【００５１】
補間するステップが水平補間と垂直補間のもう一方を使用して上記第２の信号の上記補間された部分を補間するステップをさらに備える。
【００５２】
上記第２の信号の少なくとも一部分を処理するステップが上記第２の信号の上記補間された部分と上記第２の信号のさらなる部分を組み合わせるステップをさらに備え、上記第２の信号の上記補間された部分が推定されたマクロブロックを含み、上記第２の信号の上記さらなる部分が残留誤差データを含む。
【００５３】
上記第２の信号の少なくとも一部分を処理するステップがフィルタ処理するステップをさらに備え、上記フィルタ処理するステップがデリンギングフィルタ処理するステップとデブロッキングフィルタ処理するステップのうちの少なくとも一方を備える。
【００５４】
上記第２の信号を出力するステップが上記第２の信号をメモリに格納するステップをさらに備える。
【００５５】
上記第２の信号の少なくとも一部分を受信するステップが上記第１のビデオデータプロセッサから直接的に上記第２の信号の上記少なくとも一部分を受信するステップを備える。
【００５６】
上記第２の信号の少なくとも一部分を受信するステップが上記第１のビデオデータプロセッサから直接的に上記第２の信号の上記少なくとも一部分のうちの第１の部分を受信し、上記メモリから上記第２の信号の上記少なくとも一部分のうちの第２の部分を受信するステップを備える。
【００５７】
上記第１の信号を処理するステップが上記第２の信号をパケット化するステップをさらに備える。
【００５８】
上記第２の信号を処理するステップが、上記第２の信号の上記少なくとも一部分をパケット化するステップと、上記第２の信号の上記少なくとも一部分をメモリに格納するステップと、上記メモリから上記格納された第２の信号の上記少なくとも一部分を受信するステップとをさらに備える。
【００５９】
本発明と本発明がいかにして実施されるかをより良く理解するため、ここからほんの一例として添付図面が参照される。
【発明を実施するための最良の形態】
【００６０】
ＭＰＥＧタイプの符号化システムを明らかにする一対のフレームピクチャを示す図１を参照する。既に説明したように、汎用ＭＰＥＧタイプ圧縮システムは、一連のピクチャ１０１、１０３としてビデオをサンプリングする必要がある。これらのフレームピクチャは、本発明の実施形態では、フィールドピクチャ１５０、１５２にさらに分割される。本実施形態では、フレームピクチャは２枚のフィールドピクチャを有し、各フィールドピクチャはフレームピクチャの交互の行により構成される。
【００６１】
ピクチャは一連のマクロブロック（ＭＢ）にさらに分割され、一連のマクロブロックのうちの１個のマクロブロック１０５が示されている。マクロブロックは、サンプリングされたルマ（輝度）およびクロマ（色度）のデータを含む。典型的に、クロマデータはサブサンプリングされる。よって、マクロブロックが１６×１６画素の大きさである実施形態では、２５６個のルマサンプルと、より個数の少ないクロマサンプルが存在する。マクロブロックはより小さいブロックにさらに分解され、より小さいブロックの個数および構造は使用されるコーデックのタイプに依存する。たとえば、ＭＰＥＧ−２方式符号化では、各マクロブロックは６個のブロックに細分される。それぞれが８×８画素の大きさである４個のブロックはルマデータを収容する。２個のさらなるブロックは、同様に８×８画素の大きさであり、サブサンプリングされたクロマデータを収容する。その他の符号化標準規格は、たとえば、８×４画素の大きさ、または、４×８画素の大きさのブロックを使用する。したがって、７２０×４８０画素（ＮＴＳＣ  米国テレビジョンシステム委員会）または７２０×５７６画素（ＰＡＬ  位相反転ライン）のフルスクリーン画像ピクチャでは、ピクチャ毎に符号化されるべき多数のマクロブロックが存在する。
【００６２】
図２を参照すると、ＭＰＥＧタイプ圧縮システムのステップが発明をより良く理解するためさらに詳述される。ＭＰＥＧタイプのコーダは、ブロックエンコーダ２０１、周波数領域エンコーダ２０３、量子化器２０５、および、可変長エンコーダ２０７の要素を備える。
【００６３】
データのフローは、画像データが最初にブロックエンコーダ２０１へ送られるようなものである。ブロックエンコーダ２０１による処理後、データは周波数領域エンコーダ２０３へ送られる。周波数符号化２０３の後、データは次に量子化器２０５へ送られる。量子化後、データは次に可変長エンコーダ２０７へ送られる。可変長エンコーダ２０７の出力はＭＰＥＧタイプのビデオデータ符号である。
【００６４】
Ｉピクチャ１０１とＰ、Ｂピクチャ１０３は、それらの符号化方法において僅かに異なるプロセスを辿る。
【００６５】
ブロック２０１は、Ｉピクチャを符号化する際に、技術的に知られているようにルマ値およびクロマ値の各マクロブロック（ＭＢ）をサンプリングする。このサンプリングされたデータは周波数領域エンコーダ２０３へ送られる。サンプリングされたＩピクチャデータのコピーは同様にＰまたはＢピクチャ符号化のため保存される。
【００６６】
ブロックエンコーダ２０１は、ＰまたはＢピクチャを処理する際に、保存されたＩまたはＰピクチャデータを使用する。ＰまたはＢピクチャの一連のマクロブロックサンプルは、ＩまたはＰピクチャマクロブロックと対照して探索される。ＩまたはＰピクチャ内のマクロブロックがＰまたはＢピクチャ内のマクロブロックと類似しているならば、「マッチ」が検出される。マッチしたマクロブロックは二つの情報を使用して符号化される。
【００６７】
第１の情報は残留データとして知られている。残留データは、ＰまたはＢピクチャ内のマクロブロックとＩまたはＰピクチャ内のマッチしたマクロブロックである２個のマクロブロック（１０７，１０５）の間のルマとクロマの差である。
【００６８】
作成される第２の情報は、動きベクトルとしても知られているブロック動き予測子である。図１に概略的に示されるような動きベクトル１０９は、マッチしたマクロブロック間の空間差である。動きベクトル１０９を説明するため、ＰまたはＢピクチャのマクロブロック１０７がＩまたはＰピクチャにマップされる。マップされたマクロブロックは１１１によって参照される。動きベクトル１０９は、マップされたマクロブロック１１１とＩまたはＰマクロブロック１０５との間の位置の差を表す。これは単に例示の目的のためのものである。
【００６９】
Ｉピクチャデータは周波数領域エンコーダ２０３へ送られる。ＢまたはＰ残留データは同様に周波数領域エンコーダ２０３へ送られるが、動きベクトルデータは可変長エンコーダ２０７へ直接的に送られる。
【００７０】
周波数領域エンコーダ２０３は、マクロブロック内の各ブロックのデータを空間領域から周波数領域へ変化させる変換を適用する。技術的に知られているように、このような変換は離散コサイン変換（ＤＣＴ）であるが、その他の知られている周波数領域変換でもよい。周波数領域エンコーダ２０３からの周波数領域出力は次に量子化器２０５へ送られる。
【００７１】
量子化器２０５は、マクロブロックからブロックデータの周波数領域情報の再サンプリングを実行する。これは、最下位ビット値のいくつかを除去するため周波数領域エンコーダの結果を所定の数によって割り算することにより達成される。
【００７２】
量子化された周波数領域データストリームは次に可変長エンコーダ２０７へ送られ、そのために、予測されたマクロブロックデータが動きベクトルデータと再結合される。
【００７３】
可変長エンコーダ２０７は、０または１の系列を検出し、それらのより効率的な形式に符号化することによりビットストリームから冗長性を除去するプロセスを適用する。ホフマンまたはハフマン符号化系列のような可変長符号化系列は、技術的に知られているその他の符号化系列とともに使用される。
【００７４】
図３を参照すると、符号化プロセスの逆、すなわち、ＭＰＥＧタイプビデオストリームを復号化するプロセスが示されている。ＭＰＥＧタイプのデコーダは、データ入力３００、可変長デコーダ３０１、逆量子化器３０３、空間領域エンコーダ３０５、加算器３０７、マクロブロック参照画像選択器３０９、ループ内フィルタ３５１、後処理フィルタ３５３、および、画像出力３１１を備える。
【００７５】
デコーダは、デコーダの種々のコンポーネントを一つに接続する一連の相互接続３１３、３１５、３１７、３１９、３２１、３２３、３２５および３２７をさらに備える。
【００７６】
相互接続３１３は可変長デコーダ３０１を逆量子化器３０３に接続する。相互接続３１９は逆量子化器３０３を空間領域エンコーダ３０５に接続する。相互接続３２１は空間領域エンコーダ３０５を加算器３０７に接続する。相互接続３１５は可変長デコーダをマクロブロック参照画像選択器３０９に接続する。相互接続３１７はマクロブロック参照画像選択器３０９を加算器３０７に接続する。相互接続３２５は加算器３０７の出力をループ内フィルタ３５１に接続する。相互接続３２３は内部ループフィルタの出力をマクロブロック選択器３０９に接続する。相互接続３２７はループ内フィルタの出力を後処理フィルタ３５３の入力に接続する。
【００７７】
ＭＰＥＧタイプの圧縮された信号は可変長デコーダ３０１へ入力３００される。
【００７８】
可変長デコーダ（ＶＬＤ）は初期データストリームに二つの機能を実行する。第１の機能は可変長符号化アルゴリズムの逆をデータストリームに適用する。
【００７９】
可変長デコーダ３０１はピクチャタイプを、換言すれば、信号がＩピクチャであるか、Ｐピクチャであるか、または、Ｂピクチャであるかをさらに決定する。
【００８０】
現在のピクチャがＩピクチャであるならば、データのすべてが相互接続３１３を介して逆量子化器３０３へ送られる。現在のピクチャがＰまたはＢピクチャであるならば、残留データが相互接続３１３を介して逆量子化器３０３へ送られ、動きベクトルおよびマクロブロックの予測モードが相互接続３１５を介してマクロブロック選択器３０９へ送られる。
【００８１】
逆量子化器３０３は、量子化ユニットに対し逆の手続きを実行し、換言すれば、データストリームは受信された値に使用された所定の数を乗算することにより元のビット長に戻される。量子化プロセス中に最下位ビットから失われた値は復元されない。このデータは相互接続３１９を介して空間領域変換器３０５へ送られる。
【００８２】
空間領域エンコーダ３０５はデータに周波数領域から空間領域への変換を実行し、よって、データを最初に符号化された空間領域へ戻す。知られている空間領域変換には、逆離散コサイン変換が含まれる。
【００８３】
空間領域エンコーダ３０５からの出力は、最初に符号化されたようなマクロブロックのルマおよびクロマ情報であるが、最初に実行された量子化の値に依存した一部のデータ損失を伴う。イントラ（Ｉピクチャ）値の場合、データは絶対ルマおよびクロマ値であり、ＰまたはＢピクチャ値の場合、データは相対ルマおよびクロマ値である。
【００８４】
これらの値は相互接続３２１を介して加算器３０７の第１の入力へ出力される。
【００８５】
並列データフローパスでは、予測された動きベクトル情報がマクロブロック選択器３０９へ送られる。このデータは、前に復号化されたＩまたはＰピクチャに保存されたマッチした要素を特定するため使用される。このマッチした要素は次に相互接続３１７を介して加算器３０７の第２の入力へ送られる。
【００８６】
Ｉピクチャマクロブロックの加算器３０７は、空間領域変換器３０５からその加算器へ送られたデータだけを出力する。ＰまたはＢピクチャの加算器３０７は、選択された予測マクロブロック要素と空間領域変換器３０５によって出力された残留データの合成された値を出力する。
【００８７】
二つのタイプのフィルタが図３に示された復号化実施形態に表されている。第１のタイプはループ内フィルタ３５１である。ループ内フィルタはＭＰＥＧストリームのタイプによって規定される。よって、たとえば、ある種の標準規格Ｈ．２６３、ＷＭＶ、Ｒｅａｌ  ＶｉｄｅｏおよびＨ．２６４は、復号化の一部として実施されるデブロッキングフィルタを有する。
【００８８】
一部の標準規格では、ループ内フィルタリングは必要とされず、その場合に、ループ内フィルタはデータバッファとして機能する。
【００８９】
第２のタイプのフィルタは後処理フィルタ３５３である。後処理フィルタ３５３はいずれか一つの標準規格によって規定されるのではなく、画質を改善するため様々なフィルタリング機能を実行し得る。これらのフィルタは、デブロッキングフィルタ、デリンギングフィルタ、または、その他の画像強調フィルタ若しくは雑音除去フィルタである。さらに、これらのフィルタは、使用されると、画像蓄積ループの外部に適用される。
【００９０】
技術的に知られているようなデブロッキングフィルタは、ループ内フィルタと後処理フィルタの両方として使用される。フィルタは空間領域で動作する。フィルタは、マクロブロック間の画質が非常に異なるかどうかを決定するため、マクロブロック間の境界を検査する。マクロブロック間の量子化の差はブロック間に境界を生成し、そのため、同じ特徴またはラインがマクロブロック間で連続しない。デブロッキングフィルタは、非連続的な特徴が低周波数または高周波数成分を有するかどうかを検査することによって画像を改良しようとする。その特徴がゆっくり移動し、したがって、低周波数である場合、ライン間の差を平滑化し、マクロブロック間にあまり目に見えないアーティファクトを生成することが可能である。しかし、急速に移動する特徴は、特徴のぼけを生成するので平滑化されない。
【００９１】
デリンギングフィルタは、粗い量子化の影響を低減しようとするさらなる適応フィルタである。このタイプのフィルタは後処理フィルタだけによって使用される。マクロブロックの粗い量子化は大量の高周波情報を除去する。視覚的に、この高周波情報は、明確にされた特徴の付近に中心があるアーティファクトのリングの外観内に見られる。このタイプのアーティファクトは技術的にモスキートノイズとして知られている。このタイプのノイズは、現在のマクロブロックを既に計算されたマクロブロックと比較するデリンギングフィルタの適用によって緩和される。デリンギングフィルタは、ノイズを緩和しようとするため現在のマクロブロック内の画素値をさらに検査する。
【００９２】
よって、イントラピクチャデータと予測ピクチャデータの両方に対し、合成されたときに全体ピクチャを形成する一連のマクロブロックは、加算器３０７から出力される。イントラピクチャおよびＰピクチャは、その後に、保存のため相互接続３２３を介して送り戻され、引き続く予測ピクチャ再構成のため使用される。
【００９３】
上記の検討から分かるように、データが可変長復号化されると、データパスの間には潜在的なアルゴリズムの分割が存在する。動きベクトル情報と残留データは、加算器／合成器３０７によって受信されるまでＰピクチャおよびＢピクチャの再構成の際に相互に作用しない。したがって、データが二つの処理段の間で転送されることを必要とすることなく、これらの二つのデータパスの処理を分離することが可能である。
【００９４】
この動きベクトルと残留復号化の分離は、補間の動作が導入されると、より明らかにされる。動きベクトルは正確な画素値を示さないが、完全な行または列の値から離れる画素値の半分または四分の一のような端数位置を示すので、マクロブロック選択器は画像データの補間または再サンプリングを実行するために必要とされる。この補間プロセスを実行するため、ＩピクチャまたはＰピクチャデータがインポートされ、補間は各補間画像を計算すべく多数の数値計算を実行するために必要とされる。テストでは、汎用プロセッサユニット上でＭＰＥＧデータストリームの復号化の動き補償プロセス部分を実行するため使用された時間の割合は全実行時間の４０％にまで達する。
【００９５】
二つのタイプのビデオデコーダが本発明に関して記載される。両方のタイプは設定可能なビデオデコーダであり、したがって、様々な符号化されたビデオデータストリームを符号化するため十分にフレキシブルである。
【００９６】
第一に、２個の主要プロセスの分離が２台の別個のデータプロセッサによって実行される。第二に、２台の別個のプロセッサが２台の間の相互接続によって接続される。
【００９７】
図４ａを参照すると、第１のタイプのフレキシブルビデオデコーダ４９９が示されている。第１のタイプは、フレキシブルビデオデコーダ４９９においてフレキシビリティを可能にするためビデオコプロセッサの挿入を表現する。ビデオデコーダプロセッサとビデオコプロセッサとの間の通信は共通データバスを用いる。
【００９８】
フレキシブルビデオデコーダは、ビデオデコーダプロセッサ（ＶＤＰ）５０９、ビデオコプロセッサ（ＶＣＰ）５１９、共有メモリ５０１、共有データバス５０３、および、一連の相互接続５０５、５０７、５１７を備える。
【００９９】
共有データバス５０３は、相互接続５０５を介する共有メモリ５０１と、相互接続５０７を介するビデオデコーダプロセッサ（ＶＤＰ）５０９と、相互接続５１７を介するビデオコプロセッサ（ＶＣＰ）５１９を相互に接続する。
【０１００】
記載されたすべてのコンポーネントは単一集積回路上に作成される。本発明の一部の実施形態では、しかし、外部入力／出力装置およびデータコントローラのようなさらなるコンポーネントがフレキシブルビデオデコーダに接続されるか、または、フレキシブルビデオデコーダの一部として実施される。
【０１０１】
フレキシブルビデオデコーダシステムは共有データバス５０３上の圧縮されたビデオデータを受信する。データは、図示されない入力／出力装置を介して外部ソースから、または、共有メモリ５０１からフレキシブルビデオデコーダ４９９によって受信される。
【０１０２】
このデータはビデオデコーダプロセッサ（ＶＤＰ）５０９へ送られる。
【０１０３】
図５ａおよび６ａを参照すると、発明を具現化するビデオ復号化プロセッサおよびビデオコプロセッサが示されている。図５ａは、図４ａに示されたようなビデオ復号化プロセッサＶＤＰの概略図をさらに詳細に示す。ビデオ復号化プロセッサ５０９は、メモリ管理ユニット４０３、可変長デコーダ４０７、逆量子化器４１１、空間領域エンコーダ４１５、内部データ相互接続４１７、外部データ相互接続４０１、および、相互接続４０５、４０９、４１３を備える。
【０１０４】
本発明の一部の実施形態では、ビデオ復号化プロセッサは超長命令語（ＶＬＩＷ）プロセッサ上で実施されることが理解される。このような実施では、上記のデータ相互接続はソフトウェアで制御され実施される。
【０１０５】
外部データバス４０１は外部相互接続５０７をメモリ管理ユニット４０３へ接続する。メモリ管理ユニットは相互接続４０５を介して可変長デコーダ４０７へさらに接続される。可変長デコーダ４０７は相互接続４０９を介して逆量子化器４１１へ接続される。逆量子化器４１１は相互接続４１３を介して空間領域エンコーダ４１５へ接続される。内部データ相互接続４１７は可変長デコーダの出力および空間領域エンコーダの出力をメモリ管理ユニット４０３へ接続する。
【０１０６】
メモリ管理ユニット４０３は、データをバッファリングし、共有データバス５０３にアクセスするため、バスルーティングおよびアドレッシングシステムとメモリキャッシュとを備える。よって、メモリ管理ユニット４０３により受信されたデータは処理される前に最初にバッファリングされる。
【０１０７】
ビデオ復号化プロセッサがＶＬＩＷプロセッサ上で実施される本発明の実施形態では、メモリ管理ユニットは、ＶＬＩＷプロセッサに属するメモリ管理ユニットであり、命令およびデータキャッシュを格納する。
【０１０８】
メモリ管理ユニット４０３は、ビデオデータのフォーマットを決定するためにビデオ復号化プロセッサ５０９によって受信されたビデオデータを検出するように構成され、ビデオデータのフォーマットに依存してＶＤＰを設定する。
【０１０９】
ビデオ復号化プロセッサがＶＬＩＷプロセッサ上で実施される本発明のさらなる実施形態では、受信された圧縮ビデオデータの検出は、ＶＬＩＷプロセッサ上で動くソフトウェアプロセスによって実行される。ＶＬＩＷプロセッサはその後にコプロセッサを設定するためにコマンドをビデオコプロセッサへ送信するように構成される。
【０１１０】
受信されたデータはその後に可変長復号化のための可変長デコーダ４０７へ送信される。可変長デコーダ４０７は、上記されたような方法で符号化されたデータストリームを復号するように構成される。
【０１１１】
可変長デコーダは、データタイプおよび符号化フォーマットに依存してデータをセグメント化するようにさらに構成される。復号化されたデータがイントラピクチャの一部であるならば、データは相互接続４０９を介して逆量子化器へ送られる。復号化されたデータがＰまたはＢピクチャであるならば、データはその残留データおよび動きベクトルデータ成分にセグメント化される。動きベクトルデータ成分は内部データ相互接続４１７に出力され、残留データは相互接続４０９を介して逆量子化器４１１へ送られる。
【０１１２】
逆量子化器４１１は受信されたデータに逆量子化を実行するように構成される。逆量子化器４１１は残留データ成分、または、復号化されたマクロブロックデータを受信し、符号化されたデータのフォーマットに依存して逆量子化を実行する。データはその後に相互接続４１３を介して空間領域エンコーダ４１５へ送られる。
【０１１３】
空間領域エンコーダは空間領域符号化、換言すると、周波数領域から空間領域への変換を実行するように構成される。よって、空間領域エンコーダは受信されたデータのフォーマットに依存して周波数領域から空間領域への変換を実行する。処理されたデータはその後に内部データ相互接続４１７へ出力される。
【０１１４】
したがって、動きベクトルと、ＰまたはＢピクチャの残留データおよびＩピクチャの参照データとの両方が内部データ相互接続４１７を介してメモリ管理ユニット４０３へ送られ、データは相互接続５０７および共有データバス５０３を介して共有メモリ５０１へ送信される前にバッファリングされる。
【０１１５】
データがイントラピクチャであるならば、符号化されたデータは、他のＰピクチャおよびＢピクチャによって参照されるべきＩピクチャの一つとしてメモリに格納される。同様に、データがＰピクチャであるならば、符号化された動きベクトルおよび残留データは、Ｐピクチャとしてメモリに格納され、他のＢピクチャまたはＰピクチャによって参照される。しかし、データが真の画像を再構成するためにＢピクチャの一部であるならば、マクロブロックおよび残留誤差が動きベクトルおよび残留データ値から作成されるべきである。
【０１１６】
ビデオコプロセッサ（ＶＣＰ）５１９はデータを受信し画像構成を実行するように構成される。図６ａは図４ａに示されるようなビデオコプロセッサ５１９の実施形態の概略図である。
【０１１７】
ビデオコプロセッサは、メモリ管理ユニット４５３、予測子コンストラクタ４５９、外部データ相互接続４５１、および、内部データ相互接続４５５を備える。
【０１１８】
外部データ相互接続４５１は相互接続５１７をメモリ管理ユニット４５３へ接続する。メモリ管理ユニットは内部データ相互接続を介して予測子コンストラクタ４５９へ接続される。
【０１１９】
メモリ管理ユニット４５３は、データをバッファリングし、相互接続５１７を介して共有メモリ５０１との間でデータを送受信するように構成される。この情報は次に予測子コントラクタによる使用のため内部データ接続４５５に置かれる。
【０１２０】
本発明の一実施形態では、ビデオコプロセッサ５１９はプログラマブルプロセッサ上で実施される。このような実施形態では、メモリ管理ユニットはプログラマブルプロセッサによって制御される。
【０１２１】
メモリ管理ユニット４５３は受信されたビデオデータのフォーマットを検出するようにさらに構成される。メモリ管理ユニット４５３は受信されたデータのフォーマットに依存して予測子コンストラクタ４５９を設定するようにさらに構成される。
【０１２２】
予測子コンストラクタ４５９は内部データ相互接続４５５からデータを受信し、受信されたデータのフォーマットに依存して動きベクトルデータを処理するように構成される。予測子コンストラクタは、したがって、所要の参照マクロブロックを作成するため、参照データを要求し、受信された参照データに補間を実行することが可能である。
【０１２３】
予測子コンストラクタ４５９は完全予測子マクロブロックを生成するため、残留データと参照データを合成するようにさらに構成される。
【０１２４】
図７を参照すると、予測子コンストラクタの概略図が示されている。予測子コンストラクタ４５９は、アンパッカー６８３、予測子誤差記憶装置６８５、加算器／合成器６８７、予測子フェッチ６８１、および、予測子補間器６８９を備える。予測子コンストラクタ４５９は、入力／出力相互接続６７１、予測子相互接続６７３、および、相互接続６７２、６７７、６７５をさらに備える。
【０１２５】
ビデオコプロセッサ５１９がプログラマブルプロセッサ上で実施される本発明の実施形態では、図７を参照して説明したプロセスは、一連のソフトウェア命令または一連のソフトウェア命令とハードウェア実施との組み合わせによって実施される。ソフトウェアプロセスを伴うこのような実施では、用語「相互接続」は、ソフトウェアプロセス間、および、レジスタおよび／または内部メモリ間のデータの転送を組み入れる。
【０１２６】
入力／出力相互接続６７１は、ビデオコプロセッサ内部データ相互接続４５５を加算器／合成器６８７、予測子フェッチ６８１、および、アンパッカー６８３に接続する。予測子相互接続６７３はアンパッカーを予測子補間器６８９および予測子誤差記憶装置６８５に接続する。相互接続６７２は予測子フェッチ６８７を予測子補間器６８９に接続する。相互接続６７７は予測子補間器６８９を加算器／合成器６８７に接続する。相互接続６７５は予測子誤差記憶装置６８５を加算器／合成器６８７に接続する。
【０１２７】
アンパッカー６８３は、内部データ接続４５５を介してメモリ管理ユニット４５３からデータを受信し、残留誤差データから動きベクトルデータを分離するように構成される。残留データは相互接続６７３を介して予測子誤差記憶装置６８５へ送られ、動きベクトル予測子データは相互接続６７３を介して予測子補間器６８９へ送られる。
【０１２８】
予測子補間器６８９は予測子動きベクトルを受信し、所要の参照マクロブロックデータを計算する。予測子補間器６８９はその後に相互接続６７２を介して予測子フェッチ６８１からこのデータを要求する。
【０１２９】
予測子フェッチ６８１は、共有メモリ５０１から所要のＩまたはＰピクチャマクロブロックを要求し、ＩまたはＰピクチャマクロブロックを取り出し、予測子補間器６８９へ送る。
【０１３０】
予測子補間器はビデオデータのフォーマットに依存したコンフィギュレーション情報に基づいて補間を実行するように構成される。処理されたビデオデータは次に相互接続６７７を介して加算器／合成器６８７へ送られる。
【０１３１】
図１２には補間器の実施形態が示されている。補間器は、デュプリケータ１２０２、水平補間器１２０３、メモリアレイ、および、垂直補間器を備える。補間器は、入力１２０１および出力１２０９と、相互接続１２０４、１２０９、１２１１、１２１３および１２１５をさらに備える。
【０１３２】
入力１２０１は相互接続１２０４を介してデュプリケータ１２０２に接続される。デュプリケータ１２０２は相互接続１２０９を介して水平補間器１２０３に接続される。水平補間器１２０３は相互接続１２１１を介してメモリアレイ１２０５に接続される。メモリアレイは相互接続１２１３を介して垂直補間器１２０７に接続される。垂直補間器は相互接続１２１５を介して出力に接続される。
【０１３３】
入力は補間することが要求される画素データを受信する。この画素情報は水平行毎に補間器へ入力され、画素は各行において最も左側から最も右側へ入力される。画素はその後にデュプリケータへ送られる。
【０１３４】
デュプリケータは使用される参照マクロブロックが一部に限り利用可能である場合に使用される。たとえば、一部のビデオ符号化標準規格では、現在のマクロブロックに最も近い参照マクロブロックは参照画像に格納されているような完全マクロブロックではない。たとえば、ピクチャの隅に表示された特徴が後のピクチャまたは前のピクチャ内の画像の中心へ向かって移動するならば、最も近い参照画像は部分特徴を含む参照画像である。このような状況では、完全マクロブロックは部分的に取り出されたマクロブロックから再構成されることが必要である。この再構成は、ビデオ符号化フォーマットに応じて直前の部分マクロブロック画素値を繰り返すデュプリケータによって実行される。
【０１３５】
マクロブロックが共有メモリから完全に取り出される場合、デュプリケータは画素データを水平補間器１２０３へ送る。
【０１３６】
水平補間器は画素データを受信し、補間の程度およびビデオストリームのフォーマットに依存して水平補間を実行する。たとえば、半画素補間が必要とされる場合、この半画素補間はサンプル遅延および加算器を使用して実行される。画素データは、サンプル遅延と、加算器の入力の一方との両方に送られる。加算器の第２の入力はサンプル遅延の出力に接続される。よって加算器の出力は現在の画素と前の画素の合計である。２による割り算がその後に平均値を、すなわち、２個の画素の間で補間された値を生成するため実行される。水平方向に補間されたデータは次に、画素が補間された値の行のアレイを形成するようにメモリアレイへ送られる。
【０１３７】
メモリアレイが満杯状態になると、すなわち、すべての画素が水平方向に補間されると、メモリアレイは垂直補間器１２０７へ垂直方向に読み出される。
【０１３８】
垂直補間器は垂直面内で補間を実行する能力がある。垂直補間は、たとえば、簡単な半画素補間でもよく、値を作成し平均化するため、水平補間と類似した装置、すなわち、加算器、除算器、および、簡単な遅延素子を備える。
【０１３９】
垂直補間器の出力は次に、本発明の実施形態では加算器／合成器６８７の出力である出力１２０９へ送られる。
【０１４０】
本発明のさらなる実施形態では、水平補間器および垂直補間器は、水平度または垂直度のいずれにおいても補間が必要とされないならば、バイパスされる。補間器のさらなる実施形態は、最終補間段の後に一つの除算段だけを有する。本発明のさらなる実施形態は、最初に垂直方向に画素情報を読み出し、水平補間を実行する前に画素データに垂直補間を実行する。本発明のさらなる実施形態は一つの補間段だけを使用する。このような実施形態では、データは、所要の水平補間または垂直補間を実行するため、１番目の順番の補間段に読み込まれる。補間段はデータをメモリアレイへ出力する。データは次にメモリアレイから読み出され、他の所要の補間を実施するため２番目の異なる順番の同じ補間段へ戻される。
【０１４１】
予測子誤差記憶装置６８５は、予測子誤差データとしても知られるような残留データを格納するように構成され、一方、予測子補間器は動きベクトルデータに補間を実行する。予測子誤差記憶装置は予測子誤差データを相互接続６７５へ送信する。
【０１４２】
加算器／合成器６８７は、相互接続６７７および６７５から、それぞれ、補間された予測子マクロブロックを含む入力および予測子誤差データを含む入力を受信し、完成されたビデオ画像データを生成するためこれらの入力を合成する。画像データはデータ相互接続６７９を介して内部データ相互接続へ出力される。データは共有メモリへ送られるようにメモリ管理ユニット４５３へ送られる。
【０１４３】
本発明のさらなる実施形態では、ビデオコプロセッサ５１９はループ内フィルタ４６１をさらに備える。ループ内フィルタは内部データ相互接続４６５を介してメモリ管理ユニット４５３および予測子コンストラクタ４５９へ接続される。
【０１４４】
ループ内フィルタ４６１は、受信されたビデオデータに関して既に説明されたようなデブロッキングフィルタリングのようなループ内フィルタリングを実行するように構成される。
【０１４５】
ループ内フィルタ４６１はビデオデータフォーマットに依存して設定される。ループ内フィルタは、メモリ管理ユニット４５３または予測子コンストラクタ４５９のいずれかから画像データを受信する。ループ内フィルタは、参照画像データと非参照画像データの両方を処理する能力をもつ。ビデオデータフォーマットがループ内フィルタリングの使用を明示的に許可しない場合、インループフィルタリングへ送信された画像データは、フィルタリングの前と後の両方で格納されるので、フィルタリング前のデータがさらなる参照のため使用されるが、フィルタリング後のデータは改良された表示画像のため使用される。
【０１４６】
図５ｂおよび６ａを参照すると、本発明の第２の実施形態の概略図が示されている。
【０１４７】
ビデオ復号化プロセッサ５０９は、メモリ管理ユニット４０３、可変長デコーダ４０７、逆量子化器４１１、空間領域エンコーダ４１５、データパッカー４１９、内部データ相互接続４１７、外部データ相互接続４０１、および、相互接続４０５、４０９、４１３を備える。
【０１４８】
メモリ管理ユニット４０３、可変長デコーダ４０７、逆量子化器４１１、および、空間領域エンコーダ４１５は接続され、図５ａに関連して説明したように動作する。内部データ相互接続４１７は、データパッカー４１９をメモリ管理ユニット４０３、可変長デコーダ４０７および空間領域エンコーダ４１５へさらに接続する。
【０１４９】
データパッカー４１９は、可変長デコーダ４０７および空間領域デコーダ４１５によって出力されたデータを受信し、標準化されたビデオデータパケットを生成するようにデータを処理する。このようなデータパッキングの目的は、ビデオ復号化プロセッサからデータを転送する際に必要とされるメモリ帯域幅を削減することである。後で詳述されるように、予測誤差データとしても知られる残留ピクチャデータは９ビット長である。したがって、７個の残留ピクチャデータ要素を一つの６４ビットワードにパックすることが可能である。さらに、ビデオ復号化プロセッサ５０９がＶＬＩＷプロセッサで実施される本発明の実施形態では、データパッカーはソフトウェアプロセスによって実施される。
【０１５０】
データパッカーの役目を理解するために、ＶＤＰ５０９によって生成され、データパッカー４１９によって受信されるデータワードについて説明される。このことは図９に示されている。
【０１５１】
画像毎にＶＤＰによって生成される第１のワードは、図９ａに示されるようにバッファベースアドレス（ＢＢＡ）ワード９０１である。バッファベースアドレスワードは、後に続く画像データを収容するベースメモリロケーションを定義する。本発明の実施形態は、（最大で２３２（４，２９４，９６７，２９６）個のアドレス指定可能なロケーションを提供する）全３２ビットワードを使用するか、または、より少ないビット数を使用してアドレス指定可能であるより少ない個数のアドレス指定可能なロケーションを使用する。
【０１５２】
バッファベースアドレスワード９０１に続いて、ＶＤＰ５０３はピクチャレベルパラメータヘッダワード（ＰＬＰＨ）９０３を生成する。ピクチャレベルパラメータヘッダ９０３は、符号化標準規格ニブル９０５、ピクチャレベルパラメータビット９０７、および、パラメータワード長バイト９０９をさらに含む。
【０１５３】
符号化標準規格ニブル９０５は復号化されている現在のビデオ標準規格を指定する。本発明の一実施形態では、ニブル００００ｂ（ここで符号ｂは参照される数が２進数であることを示す）は、ＭＰＥＧ２ストリームを指示し、ニブル０００１ｂはＭＰＥＧ４ストリーム（動画像専門家グループによって提案され、参照によってここに引用され、ＤｉｖＸ符号化方法を含む標準規格）を指定する。ニブル００１０ｂは、Ｒｅａｌ  Ｎｅｔｗｏｒｋｓによって提案された独自の符号化システムであるＲｅａｌＶｉｄｅｏ９信号を指定する。ニブル００１１ｂは、低ビットレート通信上のビデオ符号化のためのＨ．２６３ストリームを指定する（Ｈ．２６３は、参照によってここに引用される国際電気通信連合−電気通信ＩＴＵ−Ｔ標準勧告である）。ニブル０１００ｂは、ビデオストリームが、参照によってここに引用された、Ｍｉｃｒｏｓｏｆｔによって作成された独自の標準規格であるＭｉｃｒｏｓｏｆｔ  ＷｉｎｄｏｗｓＭｅｄｉａ  Ｖｉｄｅｏ  ９であることを指定する。１０００ｂのニブルは、ビデオストリームがＨ．２６４標準規格ストリームであることを指定する（Ｈ．２６４は、参照によってここに引用されたＩＴＵ−Ｔ委員会による通信システム勧告上のさらなるビデオ符号化である）。
【０１５４】
異なるＭＰＥＧタイプの符号化システムはマクロブロックデータに収容されるデータのタイプに変動があるので、符号化標準規格情報が必要とされる。よって、この理由のため、ＤｉｖＸタイプおよびＭＰＥＧ４タイプは、これらの二つの標準規格のマクロブロックの記法が同一であるので、一つにグループ分けされる。
【０１５５】
ピクチャレベルパラメータビット９０７は、ピクチャレベルパラメータワード９１１内のあるタイプのデータの有無を予め指定する。
【０１５６】
ピクチャレベルパラメータワード長バイト９０９は、ピクチャレベルパラメータヘッダワード９０３の後に続くパラメータワードの個数を定義する。ピクチャレベルパラメータワード長がとり得る最大値は２８−１（２５５）である。
【０１５７】
よって、ピクチャレベルパラメータヘッダワード９０３の後に続くのは、いくらかの個数のピクチャレベルパラメータワードであり、そのうちの１個が、たとえば、図９（ｃ）に９１１によって示されている。ピクチャレベルパラメータは、ピクチャレベルパラメータビット９０７によって予め指定された変数を定義する。これらの変数は、ピクチャタイプ、ピクチャサイズ、補間モード、フィルタリングタイプ、および、フィルタ変数のような項目を定義する。
【０１５８】
ピクチャレベルパラメータが特定の画像に対してセットされると、ＶＤＵ５０９によってデータパッカー４１９へ送られた後に続くデータワードは、画像を構成するため進む多数のマクロブロックを定義する。本発明の実施形態では、データは同時に、そして、以下に説明する順序でマクロブロックを通される。
【０１５９】
各マクロブロックを定義する最初のワードはマクロブロックヘッダ第１ワード９１３である。図９（ｄ）を参照すると、マクロブロックヘッダ第１ワードがさらに詳細に記載されている。
【０１６０】
マクロブロックヘッダ第１ワード９１３は、標準規格固有マクロワード９１５、Ｅ（エンド）フラグ９１７、Ｌ（新スライス）フラグ９１９、Ｓ（スキップされたマクロブロック）フラグ９２１、Ｉ（イントラマクロブロック）フラグ９２３、および、動きベクトル長ワード９２５を含む。
【０１６１】
標準規格固有パラメータワード９１５は、（マクロブロック第１ヘッダワードの直ぐ後に続き、図９（ｅ）に関連して示されているような）マクロブロックヘッダ第２ワード９２７の全体と一緒に、標準規格固有マクロブロック予測モードに関係する情報を構成する。
【０１６２】
換言すると、標準規格固有パラメータワード９１５とマクロブロックヘッダ第２ワード９２７の両方は、復号化されるマクロブロックのタイプのようなパラメータと、現在のフレーム／フィールドを再構成するために使用する参照画像の個数および方向とを含む。
【０１６３】
たとえば、以下の表は、ＭＰＥＧ２方式で符号化されたストリームにおける種々のマクロブロックタイプを表現する種々の予測子符号値を示す。これらの値は符号化方法毎に意味が異なる。
【表１】
2007512749.tif 000003
【０１６４】
よって、第１のタイプのマクロブロックに対し、処理されるマクロブロックはイントラブロックである。第２および第３のタイプのマクロブロックは、現在処理されているフレームの前または後のいずれかに保存されたフレームを参照させられるフレームベースピクチャを定義する。第４および第５のタイプのマクロブロックは、現在ベースとされるフィールドの前または後のいずれかに保存されフィールドを参照させられるフィールドベースピクチャを定義する。第６のタイプのマクロブロックは、現在処理されているフレームの前と後の両方のフレームを参照させられるフレームベースピクチャを定義する。最後に、第７の画像は現在処理されているフィールドの前と後の両方を参照させられるフィールドベースピクチャを定義する。
【０１６５】
４個のフラグビット、すなわち、Ｉフラグ９２３、Ｓフラグ９２１、Ｌフラグ９１９、および、Ｅフラグ９１７は、パケットがパッキングプロセスをより効率的に実行することを可能にさせるためマクロブロックヘッダワードに挿入される。
【０１６６】
Ｉフラグ９２３は、現在のマクロブロックがイントラマクロブロックの一部であるかどうかを指定する。
【０１６７】
Ｓフラグ９２１は、現在のマクロブロックが符号化中にスキップされたかどうかを指定する。
【０１６８】
Ｓフラグ９２１は、Ｉフラグ９２３がアサートされていないときに限りアサートされ、換言すると、イントラマクロブロックはスキップされないので、２個のフラグは相互に排他的である。
【０１６９】
Ｌフラグ９１９は、現在のマクロブロックがスライスの最初のマクロブロックであるかどうかを指定する。
【０１７０】
Ｅフラグ９１７は、現在のマクロブロックが現在のピクチャの最後のマクロブロックであるかどうかを指定する。
【０１７１】
動きベクトル長ワード９２５は、現在のマクロブロック内の動きベクトルの個数を定義する。完成したマクロブロックを生成するため必要とされる動きベクトルの個数は、（動きベクトル長ワードの値）＋１に一致する。よって、０００００ｂの動きベクトル長ワードは処理すべき１個の動きベクトルが存在することを示し、１１１１１ｂの動きベクトル長ワードは処理すべき３２個の動きベクトルが存在することを示す。
【０１７２】
マクロブロック内に０個の動きベクトルが存在するという状況は、現在のマクロブロックがイントラ符号化されているので、動きベクトルがないということを示すＩフラグ９２３のアサートによって与えられる。
【０１７３】
ＰまたはＢピクチャマクロブロック内の動きベクトルワードの個数は、使用される符号化のタイプに依存する。
【０１７４】
たとえば、一例としてＭＰＥＧ２方式符号化を使用すると、後続の表は、必要とされる動きベクトルの個数を示す。
【表２】
2007512749.tif 000004
【０１７５】
Ｌフラグ９１９がアサートされるならば、マクロブロックヘッダワード９１３および９２７の後に続いて送信されたワードはスライスパラメータワードであり、そのうちの１個が図９（ｆ）の９２９を参照して表示される。Ｌマクロブロックフラグ１０２７がアサートされないならば、スライスパラメータは送信されず、パッカーはその代わりに次のデータワードのタイプを出力する。
【０１７６】
よって、換言すると、ビデオストリームがＨ．２６４方式で符号化されたストリームではなく、復号化されるマクロブロックがストリームの最初のマクロブロックではないならば、スライスパラメータワード９２９は存在しない。
【０１７７】
スライスパラメータワードは、Ｈ．２６４方式で復号化されたストリームの処理に使用される変数を定義する。
【０１７８】
アサートされているマクロブロックヘッダ第１ワード９１３内のＩフラグ９２３によって指定されるように、現在のマクロブロックがイントラマクロブロックであるならば、マクロブロックを再構築するために動きベクトル情報は必要とされず、パッカーは順番に送信するため次の一連のワードへ移動する。現在のマクロブロックがイントラマクロブロックではないならば、ＶＤＰ５０９はデータパッカー５１３に動きベクトル情報を定義する一連のワードを送る。既に検討したように、マクロブロック毎の動きベクトルワードの組成および個数は、使用された符号化スキームのタイプおよび変形に依存する。
【０１７９】
水平軸および垂直軸上でマクロブロックを見つけるため、各動きベクトルは水平成分および垂直成分を記述する。さらに、すべての符号化方法において、ルマ動きベクトルとクロマ動きベクトルが別々に送信される。よって、動きベクトル当たり、したがって、（非参照フレーム／フィールドの）マクロブロック当たりの動きベクトルワードの最小個数は、水平ルマ、垂直ルマ、水平クロマ、垂直クロマの４個である。
【０１８０】
本発明の実施形態で使用されるような単一の動きベクトルを表現する４個１組の動きベクトルワードは、図９（ｄ）−（ｊ）に示されている。これらの４個の動きベクトルワードは、たとえば、前向き予測タイプまたは後向き予測タイプのマクロブロックが復号化されるＭＰＥＧ２方式で符号化されたデータストリームで使用される基本的な４個の動きベクトルワードを表現する。
【０１８１】
本実施例では、ＶＤＰが動きベクトルワードを送る順序は、水平ルマワード、垂直ルマワード、水平クロマワード、垂直クロマワードの順序である。他の実施形態では、その他の組み合わせが可能であり、後述される。
【０１８２】
図９（ｇ）を参照して、動きベクトル水平ルマワード９３１が示されている。動きベクトル水平ルマワード９３１は、参照ピクチャインデックス値９３３および水平ルマ成分９３５を含む。
【０１８３】
参照ピクチャインデックス値９３３は、最大で１６個の保存されたピクチャのうちで基本画像を形成するピクチャを指定する４ビット数である。
【０１８４】
水平ルマ成分９３５は、半画素精度において−１０２４から１０２３．５までの範囲、または、精度が４分の１画素である場合に−５１２から５１１．７５までの範囲のオフセットを表現する能力をもつ１２ビット数である。したがって、水平ルマ成分は、現在のマクロブロックおよびイントラまたはＰマクロブロックからのこれらの数の間のある水平オフセットを記述する。
【０１８５】
図９（ｈ）を参照して、動きベクトル垂直ルマワード９３７が示されている。動きベクトル垂直ルマワード９３７は、フィールドインジケータビット９３９および垂直ルマ成分９４１を含む。
【０１８６】
フィールドインジケータビット９３９は、現在のマクロブロックが１対のフィールドのうちの上側フィールドと下側フィールドのどちらであるかを指定する。現在のマクロブロックがフレームベースである場合、フィールドインジケータは定義されず、０または１である。現在のマクロブロックがフィールドベースである場合、上側フィールドマクロブロックを定義する動きベクトルは第１の値を取り、下側フィールドを定義する動きベクトルは第２の、反対の値を取る。
【０１８７】
垂直ルマ成分９４１は、半画素精度において−１０２４から１０２３．５までの範囲、または、精度が４分の１画素である場合に−５１２から５１１．７５までの範囲のオフセットを表現する能力をもつ１２ビット数である。したがって、垂直ルマ成分は、現在のマクロブロックおよびイントラまたはＰマクロブロックからのこれらの数の間のある垂直オフセットを記述する。
【０１８８】
図９（ｉ）を参照して、動きベクトル水平クロマワード９４３が示されている。動きベクトル水平クロマワード９４３は水平クロマ成分９４５を含む。
【０１８９】
水平クロマ成分９４５は、半画素精度において−１０２４から１０２３．５までの範囲、または、精度が４分の１画素である場合に−５１２から５１１．７５までの範囲のオフセットを表現する能力をもつ１２ビット数である。したがって、水平クロマ成分は、現在のマクロブロックおよびイントラまたはＰマクロブロックからのこれらの数の間のある水平クロマオフセットを記述する。
【０１９０】
図９（ｊ）を参照して、動きベクトル垂直クロマワード９４７が示されている。動きベクトル垂直クロマワード９４７は垂直クロマ成分９４７を含む。
【０１９１】
垂直クロマ成分９４７は、半画素精度において−１０２４から１０２３．５までの範囲、または、精度が４分の１画素である場合に−５１２から５１１．７５までの範囲のオフセットを表現する能力をもつ１２ビット数である。したがって、垂直クロマ成分は、現在のマクロブロックおよびイントラまたはＰマクロブロックからのこれらの数の間のある垂直クロマオフセットを記述する。
【０１９２】
本発明のさらなる実施形態では、参照値およびフィールドインジケータは、４個１組の動きベクトルワードの組毎に２回以上保存される。
【０１９３】
既に説明したように、４個１組の動きベクトルワードは、双方向符号化の場合には２個以上のピクチャに対し、同様にインターレース方式画像符号化の場合には２個以上のフレーム／フィールドに対し、推定されたマクロブロックロケーションを決定するためにマクロブロック毎に２組以上必要とされる。
【０１９４】
同様に既に記載され、マクロブロックヘッダ第１ワード９１３および動きベクトル長９２５によって決定されたように、最大で３２個の動きベクトルが単一のマクロブロックに定義される。よって、たとえば、Ｈ．２６４方式では３２個の動きベクトルが必要とされるので、１２８個の動きベクトルワードが単一のマクロブロックのため必要とされる。
【０１９５】
マクロブロック毎に２個以上の動きベクトルを定義すべきである場合、本発明の実施形態は、クロマ動きベクトルワードのすべてを出力する前にＶＤＰ５０９がルマ動きベクトルワードのすべてを出力するように構成される。本発明のその他の実施形態は、ＶＤＰ５０９が同時に４個１組の各動きベクトルの１組ずつを出力するように構成される。
【０１９６】
ＶＤＰによって復号化されているマクロブロックがイントラマクロブロックであるならば、ＶＤＰによって出力される次のデータワードのタイプは画素データ参照ワードである。図９（ｋ）を参照すると、画素データ参照ワード９５１がより詳細に記載されている。画素データ参照ワード９５１は画素参照バイト９５３を含む。画素参照バイトは、８ビット値としてイントラマクロブロック復号化された画素データである。よって、画素は０から２５５までの範囲内の値を有する。
【０１９７】
ＶＤＰによって復号化されているマクロブロックが予測マクロブロックの一部分であるならば、ＶＤＰによって出力される次のデータワードのタイプは画素データ残留ワードである。図９（ｌ）を参照すると、画素データ残留ワード９５５がより詳細に記載されている。画素データ残留ワード９５５は画素残留値９５７を含む。画素残留値は既知参照値を基準とする画素残留値である。９ビット値は−２５６から２５５までの範囲の相対シフトを与える。
【０１９８】
マクロブロックヘッダ第１ワード９１３内のＳフラグ９２１によって指定されるように、現在のマクロブロックがスキップされないならば、ＶＤＰ５０９は、画素データ残留ワード９５５または画素データ参照ワード９５１からなる３８４個のワードを出力する。これは、６個の８×８ブロックを定義し、４個のブロックがルマ値を定義し、２個のブロックがクロマ値を定義する。これらのブロックのそれぞれの画素ワードの順序は１行ずつであり、すなわち、完全な第１の行は、第２の行が左から右へ再び開始するまえに左から右へ出力される。
【０１９９】
Ｈ．２６４を除くすべての標準規格によるフレーム画像、および、Ｈ．２６４方式適応フィールド／フレームピクチャ内で符号化されたフレームマクロブロックにおいて、行の順序は、インターレース型パターンを使用して常に送信され、すなわち、最初に画素データの奇数行がＶＤＰによって送信され、次に、画素データの偶数行が送信される。この順序付けは行をデータパッカーへ送信する前にＶＤＰによって実行される。
【０２００】
ＭＰＥＧ２方式またはＨ．２６４方式のフィールドピクチャ、および、適応フィールド／フレームピクチャにおけるＨ．２６４方式のフィールドマクロブロックでは、各ブロックは１フィールドだけからのデータを収容する。
【０２０１】
第２の実施形態で実施されるような図６ａを参照すると、ビデオコプロセッサ５１９は、本発明の第１の実施形態で実施されたビデオコプロセッサ５１９と同じ構成要素を備える。図７に示されるような第２の実施形態の予測子コンストラクタ４５９は、予測子コンストラクタ４５９のアンパッカー６８３がデータを残留および動きベクトル成分にセグメント化する前にビデオデータパケットをアンパッキングするように構成される点を除いて、第１の実施形態において実施された予測子コンストラクタと同じである。
【０２０２】
第２の実施形態の予測子補間器は、既に説明され、図１２に示されているように補間エンジンをさらに備える。
【０２０３】
したがって、第１のタイプの実施は図４ａに示され、最初の二つの実施形態において詳述され、第１の実施形態は図５ａと６ａの組み合わせによって示され、第２の実施家位置亜は図５ｂと６ａの組み合わせによって示され、図７〜１２によってさらに詳述されている。この第１のタイプは、ＧＰＵまたは現在のビデオ復号化システムよりフレキシブルであり、かつ、費用効率の高いソリューションを表現する。
【０２０４】
しかし、ＶＤＰからメモリと、その後のメモリからＶＣＰへの情報のすべての通過に対する依存は、効率的なメモリ帯域幅利用に関して本発明の一部の実施形態にＶＤＰ問題を生じさせる。第２の実施形態において詳述されるようなデータパッカーの追加は、ＶＤＰへおよびＶＤＰからのメモリ帯域幅の使用の効率を高ｓめるが、ビデオデータと、場合によってはオーディオデータの処理に関してＶＤＰの使用が非効率的になることを犠牲にしてメモリ帯域幅の使用の効率を高めている。
【０２０５】
したがって、図４ｂを参照して、第２のタイプのフレキシブルビデオデコーダの概略図が示されている。この実施形態は、上記の実施形態の問題の一部を改良することを試みる。
【０２０６】
要素は、第２のタイプおよびその実施形態において、図４ａに示されるような第１のタイプおよびその実施形態と実質的に同じタスクを実行し、参照図は同じである。
【０２０７】
フレキシブルビデオデコーダ５０９は、ビデオデコーダプロセッサ（ＶＤＰ）５０９、ビデオコプロセッサ（ＶＣＰ）５１９、共有メモリ５０１、共有データバス５０３、および、一連の相互接続５０５、５０７、５１７を備える。フレキシブルビデオデコーダはデータ相互接続５１１をさらに備える。
【０２０８】
共有データバス５０３は、相互接続５０５を介して共有メモリ５０１と、相互接続５０７を介してビデオデコーダプロセッサ（ＶＤＰ）５０９と、相互接続５１７を介してビデオコプロセッサ（ＶＣＰ）５１９と相互接続する。データ相互接続５１１は、ビデオ復号化プロセッサ５０９をビデオコプロセッサ５１９に接続する。
【０２０９】
よって、本発明のこの実施形態では、ビデオ復号化プロセッサ５０９とビデオコプロセッサ５１９との間に直接接続がある。
【０２１０】
この直接接続は「同期型」データ接続または「非同期型」データ接続の使用によって活用される。
【０２１１】
図１３は、「同期型」データ接続と「非同期型」データ接続との間の相異の概略図である。「同期型」データ接続は、図１３ａに示されるように、ビデオ復号化プロセッサによって処理されるデータがビデオコプロセッサに送られ、受信されると直ぐに処理されるデータ接続である。これは、ピクチャｎ、ｎ＋１、および、ｎ＋２が時刻ｔ１、ｔ２、および、ｔ３にＶＤＰで受信されることによって分かる。各ピクチャは、できるだけ早く、復号化され１３５１、１３５５、１３５９、復号化された情報がＶＣＰへ送られ、ピクチャが再構成される。各ピクチャの再構成は、復号化段より長い時間を要するので、ＶＣＰは、ＶＤＰ１３６７のストール時間として示されているように、ＶＤＰ内の処理を遅らせることを直ちに開始し、このストール時間はさらに領域１３６３および１３６５によって示されているようにＶＣＰを各ピクチャの再構成の際にオーバーランさせる。よって、換言すると、ＶＤＰおよびＶＣＰは、新しいピクチャがピクチャリフレッシュ周期内で表示されるようにデータがＶＤＰとＶＣＰのペアを滑らかに通過するために、同期させられなければならない。
【０２１２】
図１３ｂに示されているように「非同期」データ接続では、データは直接データ接続を介して送られるが、ビデオコプロセッサは、ビデオ復号化プロセッサ時間フレーム内のデータを受信し保存することだけが必要とされるので、よりフレキシブルな時間周期に亘ってデータを処理することが可能である。図１３ｂに示されているように、ＶＤＰにおける符号化されたデータの受信とピクチャの復号化１３０１、１３０７および１３１５から、ＶＣＰにおけるピクチャの再構成１３０３、１３０９および１３１３までに１時間周期の有効な遅延が存在するが、ＶＤＰがＶＣＰによる前のピクチャ再構成のクリアを待つようなＶＤＰのストールは存在しない。さらに、ＶＤＰはストール状態に保持されないので、周期１３０５および１３１１によって示されているように、受信されたピクチャを復号化していない時間周期の間に他のタスクを実行することが可能である。これらのタスクには、オーディオ復号化、または、サブタイトル表示のようなその他のデータに関連したイメージングが含まれる。
【０２１３】
図５ｃおよび図６ｂを参照して、「同期」データコネクションを利用する本発明の第３の実施形態の概略図が説明される。
【０２１４】
図５ｃに示されるようなＶＤＰ５０９は、メモリ管理ユニット４０３、可変長デコーダ４０７、逆量子化器４１１、空間領域エンコーダ４１５、内部データ相互接続４１７、外部データ相互接続４０１、および、相互接続４０５、４０９、４１３を備える。
【０２１５】
外部データバス４０１は外部相互接続５０７をメモリ管理ユニット４０３へ接続する。メモリ管理ユニットは相互接続４０５を介して可変長デコーダ４０７へさらに接続される。可変長デコーダ４０７は相互接続４０９を介して逆量子化器４１１へ接続される。逆量子化器４１１は相互接続４１３を介して空間領域エンコーダ４１５へ接続される。
【０２１６】
第３の実施形態における内部データ相互接続４１７は、可変長デコーダの出力および空間領域エンコーダの出力がメモリ管理ユニット４０３に接続されるのではなく、可変長デコーダおよび空間領域エンコーダの出力を相互接続５１１へ接続するので、前の実施形態において説明された内部相互接続と相異する。
【０２１７】
したがって、ＶＤＰは、可変長デコーダ４０７および空間領域エンコーダ４１５からの出力がメモリ管理ユニット４０３へ戻されるのではなく、相互接続５１１を介してビデオコプロセッサ５１９へ送られる点を除いて、最初の二つの実施形態において説明されたＶＤＰと同様に機能する。
【０２１８】
第３の実施形態のＶＣＰ５１９の概略図は図６ｂに示されている。第３の実施形態のＶＣＰ５１９は、メモリ管理ユニット４５３、予測子コンストラクタ４５９、外部データ相互接続４５１、ループ内フィルタ６１９、および、内部データ相互接続４５５を備える。ＶＣＰ５１９のさらなる実施形態はループ内フィルタ６１９を必要としないことが理解される。
【０２１９】
外部データ相互接続４５１は相互接続５１７をメモリ管理ユニット４５３に接続する。メモリ管理ユニットは内部データ相互接続を介して予測子コンストラクタ４５９およびループ内フィルタ６１９に接続される。図６ｂに示されるような第３の実施形態は、内部データ相互接続４５５がデータ相互接続５１１に接続され、よって、ＶＤＰ５０９をＶＣＰ５１９のコンポーネントに接続するので、第１および第２の実施形態のＶＣＰとは相異する。
【０２２０】
図６ｂに示されるようなＶＣＰが図５ｃに示されるようなＶＤＰからデータを受信する方法は別として、ＶＣＰの機能性は第１の実施形態に記載されたＶＣＰにおいて詳述された機能性と実質的に類似する。したがって、上述され、図７に示されるような予測子コンストラクタと、図１２に示されるような補間エンジンは共に第３の実施形態に適用可能である。
【０２２１】
このような「同期」データ接続では、ＶＤＰ５０９およびＶＣＰ５１９は、マスタ・スレーブ接続として知られているシステムに一緒に接続される。よって、ＶＤＰ５０９から送られるデータはＶＣＰ５１９によって受信され、受信されると直ぐに処理される。
【０２２２】
本発明の第４の実施形態は、図４ｂに示されているような実施に組み込まれるような図５ｄに示されているようなＶＤＰと図６ｂに示されているようなＶＣＰとの組み合わせによって示されている。
【０２２３】
この第４の実施形態では、ＶＤＰは、本発明の第２の実施形態において前に詳述された方法と同様に、可変長デコーダ４０９および空間領域エンコーダ４１５から送られたデータをデータパケットフォーマットに処理する。ＶＤＰ５０９のこのような実施形態の概略図は図５ｄに示されている。本発明の第４の実施形態で実施されたＶＤＰは、第２の実施形態において前に詳述されたデータパッカーと類似したデータパッカー４１９が内部データ相互接続４１７とデータ相互接続５１１との間に挿入されているので、第３の実施形態で実施されたＶＤＰとは相異する。同様に、ＶＣＰ予測子コンストラクタ４５９はアンパッカー６８３を備える。したがって、図６ｂに示されるようなＶＣＰは、第２の実施形態において上記されたＶＣＰと同様に、データパッカーによって処理されるようなパケットを受信し、処理されたデータをアンパッキングする。第４の実施形態は、したがって、ＶＤＰとＶＣＰとの間にある直接リンクをうまく利用し、このリンクを使用してデータを効率的にパッキングする。
【０２２４】
「同期」データ接続の実施形態、すなわち、第３および第４の実施形態は、様々なタイプのビデオデータを復号化するフレキシビリティを持ち続けるが、行単位で符号化されたデータを受信するためでもあり、さらに部分的に処理されたビデオデータを送信するために、ＶＤＰ５０９のメモリ管理ユニット４０３を使用することによって生じる効率の悪さを伴わない。「同期」データ接続の実施形態は、ＶＤＰ５０９とＶＣＰ５１９を直接リンクすることにより、比較的厳密なタイミング同期を必要とする。ＶＤＰとＶＣＰが両方ともにデータを効率的に処理するため、ＶＤＰとＶＣＰの両方は同じレートで各ピクチャを復号化する。もしこの同期が保たれないならば、ＶＤＰはＶＣＰが処理を終了し、ＶＤＰに追いつくのを待機するか、または、ＶＣＰはＶＤＰがマクロブロック若しくはデータパケットを処理し終えるのを待機する。データの内部バッファリングは遅延の一部を回避する。
【０２２５】
ＶＤＰが受信されたデータストリームのビデオ復号化にとどまらないことを実行することが要求されるならば、「同期」データ接続は、ＶＣＰが効率的に使用されないことを意味する。ＶＣＰはこの時間中、使用されていない状態のままにされる。
【０２２６】
本発明の第５および第６の実施形態によって示されるような「非同期」データ接続の実施形態は、ＶＤＰ５０９にさらなる要求を課すことなく、「同期」データ接続によって要求される潜在的な効率の悪さおよび厳しいデータ同期を緩和することを目的とする。
【０２２７】
本発明の第５の実施形態は、第２のタイプにおいて示されるような「非同期」データ接続を利用するＶＤＰ５０９およびＶＣＰ５１９の概略図を示す図４ｂ、５ｃおよび６ｃを参照して説明される。
【０２２８】
第５の実施形態で実施されるようなＶＤＰは、データが可変長デコーダ４０７および空間領域エンコーダ４１５の出力から相互接続５１１へ送られる本発明の第３の実施形態で実施されるＶＤＰと類似している。送られるデータはアンパッキングされ、相互接続を介してＶＣＰへ送信される。
【０２２９】
図６ｃの概略図に示されるようなＶＣＰ５１９は、メモリ管理ユニット４５３、予測子コンストラクタ４５９、外部データ相互接続４５１、ループ内フィルタ６１９および内部データ相互接続４５５を備える。ＶＣＰ５１９のさらなる実施形態はループ内フィルタ６１９を必要としないことが理解される。本発明の第５の実施形態に示されるようなＶＣＰ５１９は、ＶＣＰがデータパッカーユニット４５７をさらに備えるので、すべての上記の実施形態のＶＣＰ実施において記載されたＶＣＰと相異する。
【０２３０】
外部データ相互接続４５１は相互接続５１７をメモリ管理ユニット４５３へ接続する。メモリ管理ユニットは内部データ相互接続を介して予測子コンストラクタ４５９、ループ内フィルタ６１９、および、データ相互接続５１１へ接続される。図６ｃに示されるような実施形態は、データパッカーユニット４５７に接続された内部データ相互接続４５５をさらに有する。
【０２３１】
図８を参照して、データパッカー４５７およびデータパッカーの応用がさらに詳細に説明される。データパッカーは、パケットパッカー８０１とメモリバッファユニット８０３と相互接続８５１、８５３および８５５とを備える。第１の相互接続８５１はデータ相互接続５１１をパケットパッカー８０１の入力に接続する。第２の相互接続８５３はパケットパッカー８０１の出力をメモリバッファユニット８０３の入力に接続する。第３の相互接続８５５はメモリバッファユニット８０３の出力をデータ相互接続５１５に接続する。
【０２３２】
パケットパッカー８０１およびメモリバッファユニットの機能性は単一ユニットに結合してもよいことが理解される。
【０２３３】
上記のデータワードはデータパッカー４５７によって受信される。これらのワードは相互接続８５１を介してパケットパッカー８０１へ転送される。
【０２３４】
パケットパッカー８０１は、ワードのそれぞれを検査し、検査されたワードに依存してメモリバッファユニット８０３を制御する。パケットパッカー８０１およびメモリバッファユニットは、一緒に動作して、ＶＤＰ５０９の要素によって作成されたワードを、各パケットが単一ピクチャ（フレームまたはフィールドのいずれか）を復元するために要求されるデータを収容する、一連のデータの自己完結型パケットに変換する。
【０２３５】
図１０を参照して、データパッカーがＶＤＰ５０９の要素によって作成されたワードを処理するプロセスがさらに詳述される。左側の奇数番号が付されたステップはパケットパッカー８０１によって実行されるステップであり、右側の偶数番号が付されたステップはメモリバッファユニット８０３によって実行されるステップである。
【０２３６】
別個の画像毎に、画像ループが開始される。パケットパッカー（ＰＰ）８０１によって実行される第１のステップ１００１はバッファベースアドレスワード９０１を読み出す。このバッファベースアドレスワードはメモリバッファユニット（ＭＢＵ）８０３へ送られ、後で使用するためステップ１００２でＭＢＵに格納される。
【０２３７】
次のステップ１００３は、パケットパッカー８０１がピクチャレベルパラメータヘッダワード９１１を読み込む。このピクチャレベルパラメータヘッダワードは、後続のワードをピクチャレベルパラメータワードとして読むため、残りのピクチャレベルパラメータカウンタをパケットパッカー８０１にセットするために使用される。ピクチャレベルパラメータワードは、ピクチャレベルパラメータワードのためのメモリアロケーションに関してＭＢＵをセットアップし、マクロブロック内のピクチャレベル符号化標準規格の変動にＭＢＵをセットするためにも使用される。ピクチャレベルパラメータヘッダワードは、さらにＭＢＵに送られ、ステップ１００４において格納される。
【０２３８】
次のステップ１００５は、残りのピクチャレベルパラメータワードカウンタがゼロに達するまで後続のワードを読み込む。これらのワードはＭＢＵ８０３へ送られ、ステップ１００６において格納される。
【０２３９】
次のステップ１００７はマクロブロックループのスタートを形成する。マクロブロックループは、当該画像のための最後のマクロブロックが受信されるまでマクロブロック毎に繰り返される。マクロブロックヘッダワード９１３、９２７が最初に読まれる。パケットパッカー８０１はフラグ設定値９１７、９１９、９２１、９２３、標準規格固有パラメータワード９１５、および、動きベクトル長９２５をコピーし、これらの値に依存して、そのマクロブロックのためのメモリをＭＢＵ８０３に割り当てる。さらに、マクロブロックヘッダワードはＭＢＵへ送られ、ステップ１００８においてＭＢＵに格納される。
【０２４０】
次のステップ１００９は、Ｌ（スライス）フラグ９１９がアサートされたかどうかを決定し、Ｌフラグがアサートされているならば、パケットパッカー８０１はスライスパラメータワードを読み込む。これらのワードはその後にＭＢＵ８０３へ送られ、ステップ１０１０でＭＢＵに格納される。
【０２４１】
次のステップ１０１１は、Ｉ（イントラ）フラグ９２３がアサートされていないかどうかを判定し、Ｉフラグ９２３がアサートされていないならば、パケットパッカー８０１は動きベクトルワード９３１、９３７、９４３、９４７を読む。読まれるべき動きベクトルワードの個数は、標準規格固有パラメータワード９１５の値、および、マクロブロックヘッダワード９１３、９２７から集められた、上述されているような動きベクトル長値９２５によって決定される。動きベクトルワードはＭＢＵへ送られ、ステップ１２１２でＭＢＵに格納される。したがって、このステップは、復号化されているマクロブロックが予測マクロブロックの一部である場合に行われる。
【０２４２】
次のステップ１０１３は、Ｉフラグ９２３およびＳ（スキップ）フラグ９２１が両方ともにアサートされていないかどうかを決定する。ＩフラグおよびＳフラグが両方ともにアサートされていないならば、パケットパッカー８０１は画素データ残留ワード９５５を読む。マクロブロック当たりのワード数は当分野で周知であり、既に説明されている。画素データ残留ワード９５５はＭＢＵへ送られ、ステップ１２１４でＭＢＵに格納される。したがって、このステップは、復号化されているマクロブロックが、予測マクロブロックの一部と、さらにスキップされていないマクロブロックの一部の両方である場合に行われる。
【０２４３】
次のステップ１０１５は、Ｉフラグがアサートされているかどうかを検査する。Ｉフラグがアサートされているならば、換言すると、マクロブロックがイントラマクロブロックの一部であるならば、パケットパッカー８０１は画素データ参照ワード９５１を読む。マクロブロック当たりのワード数は当分野で周知であり、既に説明されている。画素データ参照ワード９５１はＭＢＵへ送られ、ステップ１２１６でＭＢＵに格納される。
【０２４４】
次のステップ１０１７は、Ｅ（エンド）フラグがアサートされているかどうかを検査する。Ｅフラグがアサートされていないならば、パケットパッカーはマクロブロックループのこの時点で終了し、プロセスをステップ１００７、かつ、次のマクロブロックループのスタートへ戻し、次のマクロブロックからのデータを待つ。
【０２４５】
Ｅフラグがアサートされるならば、ステップ１０１９が実行される。ステップ１０１９は画像ループのこの時点で終了し、プロセスをステップ１００１、かつ、次のピクチャパケットのスタートへ戻す。同時に、パケットパッカー８０１は、ＭＢＵにステップ１０２０を実行するよう命令する。このステップは、ＭＢＵにメモリ割り込み要求を発行させる。この要求が許可されると、メモリバッファユニットは格納されたパケットをメモリ管理ユニット４０３へ送り、パケットをバッファベースメモリアドレス９０１によって供給されたロケーションに格納する共有メモリ５０１への転送を待つ。最後に、ＭＢＵは、次の画像からのデータを待機する初期状態へ復帰する。
【０２４６】
図１１を参照して、データの最終的なパケットのデータ構造がさらに詳述される。パケット１１０１は、ピクチャレベルパラメータヘッダワード９０３と、（ピクチャレベルパラメータワード９１１を含む）ピクチャレベルパラメータブロック１１０３と、マクロブロックデータブロック１１０５とを含む。
【０２４７】
マクロブロックデータブロックは、一連のマクロブロックデータ要素１１０５ａ〜１１０５ｎを含み、各マクロブロックデータ要素が、それぞれ、マクロブロックＭＢ（０）〜ＭＢ（Ｎ−１）を定義する。マクロブロックデータ要素は図１１にもさらに詳細に示されている。
【０２４８】
典型的なデータ要素１１０５ｎは、記憶の順番に、マクロブロックヘッダ第１ワード９１３、マクロブロックヘッダ第２ワード９２７、スライスパラメータブロック１１１１、動きベクトルブロック１１１３、および、画素データブロック１１１５を含む。
【０２４９】
スライスパラメータブロック１１１１は、ステップ１０１０によって存在するとき、同じブロックに一緒に格納されたスライスパラメータワード９２９を含む。
【０２５０】
動きベクトルブロック１１１３は、ステップ１０１２によって存在するとき、動きベクトルワード９３１、９３７、９４３、９４７を含む。上記のこれらのワードの配置は、ルマ動きベクトルワード９３１、９３７が動きベクトルブロック１１１３の前半部分に現れ、クロマ動きベクトルワード９４３、９４７が動きベクトルブロック１１１３の後半部分に現れるような配置である。
【０２５１】
画素データブロック１１１５は、ステップ１０１４または１０１６によって存在するとき、（マクロブロックがイントラマクロブロックの一部の場合に）画素データ参照ワード９５１、または、（マクロブロックが予測マクロブロックの一部であり、かつ、マクロブロックがスキップされていない場合に）画素データ残留ワード９５５のいずれかを含む。
【０２５２】
データパケットはその後に内部データ相互接続４５５へ出力される。
【０２５３】
「同期」データ接続の実施形態では、本発明の第３および第４の実施形態によって詳述されるように、ビデオデータは、受信されると直ぐに（メモリ管理ユニット４５３によって、または、アンパッカー６８３に一時的にバッファリングされる可能性がある）、予測子コンストラクタ４５９によって処理されるが、「非同期」データ接続の実施形態は、共有メモリ５０１に格納されるように、処理されたパケットをメモリ管理ユニット４５３へ送る。
【０２５４】
第５の実施形態では、メモリ管理ユニットは、その結果、データパケット４５７からパケットデータを受信し、データパケットをデータパケットによって指定されるようなメモリロケーションで共有メモリ５０１へ送信する。
【０２５５】
これらのデータパケットは、その後に、ＶＣＰ５１９が予測マクロブロックを復元可能であるときに共有メモリ５０１から読み出される。ピクチャの復元と、必要に応じてその後に続くピクチャのフィルタリングは、本発明の第１の実施形態において既に詳述されたパケット化されたデータの取り扱いと同様に実行される。
【０２５６】
よって、このような実施形態は、ＶＤＰが共有メモリに格納された一連のピクチャ復号を実行することを可能にさせ、一方、ＶＣＰは、前に復号化されフェッチされたピクチャに関して、予測ピクチャ再構成と、可能なループ内フィルタリングとを実行する。したがって、ＶＣＰは復号化されたピクチャの処理に「追従」するので、ＶＤＰは、オーディオ復号化のようなその他の処理タスクを実行するように設定される。
【０２５７】
本発明の第６の実施形態は図４ｂを参照してさらに説明され、実施されたＶＤＰが図５ｃによって概略的に示され、実施されたＶＣＰが図６ｂによって概略的に示される。この第６の実施形態では、ＶＣＰ５１９はＶＤＰ５０９からデータを受信し、最初にデータをパケット化することなくデータを共有メモリ５０１へ送信する。よって、ＶＣＰは、ＶＤＰで処理されたデータを格納するタスクを実行するが、そのデータをパケット化しない。ＶＣＯはさらに、本発明の第１の実施形態において既に説明したようにＶＤＰで処理されたデータをその後に要求する。
【０２５８】
よって、第５および第６の実施形態の利点は、ＶＤＰとＶＣＰが、他の共有コンポーネントからアクセスできない直接相互接続によってリンクされているので、共有データ転送システムの性能に影響を与える範囲内で、データが直接的に送られることである。直接的に接続されているが、ＶＤＰとＶＣＰはピクチャ生成が同期させられたレートでデータを処理するため同期させられないので、ピクチャデータは共有メモリによってバッファリングされる。これは、ＶＣＰとＶＤＰの両方に、データをバッチ処理し、複数のピクチャを保存し、その後、ＶＣＰの都合のよい時点で予測ピクチャを再構成する能力といった処理能力の点である程度のフレキシビリティを与える。
【０２５９】
上記の発明の実施形態の種々な態様を組み合わせる発明のさらなる実施形態が提供されることが理解されるべきである。
【０２６０】
本発明の実施形態はＭＰＥＧとの関連で記載されている。しかし、本発明の実施例は他のタイプのビデオデータと共に使用され得ることが理解されるべきである。
【図面の簡単な説明】
【０２６１】
【図１】動画像を形成する一連の画像からの一対のフレームを表す図である。
【図２】ＭＰＥＧタイプのエンコーダの概略図である。
【図３】本発明の実施形態が実施されるＭＰＥＧタイプのデコーダの概略図である。
【図４ａ】ビデオ復号化システムの実施形態の概略図である。
【図４ｂ】ビデオ復号化システムのさらなる実施形態の概略図である。
【図５ａ】図４ａおよび４ｂに示されるようなビデオ復号化プロセッサの第１の配置の概略図である。
【図５ｂ】図４ａおよび４ｂに示されるようなビデオ復号化プロセッサの第２の配置の概略図である。
【図５ｃ】図４ａおよび４ｂに示されるようなビデオ復号化プロセッサの第３の配置の概略図である。
【図５ｄ】図４ａおよび４ｂに示されるようなビデオ復号化プロセッサの第４の配置の概略図である。
【図６ａ】図４ａおよび４ｂに示されるようなビデオコプロセッサの第１の配置の概略図である。
【図６ｂ】図４ａおよび４ｂに示されるようなビデオコプロセッサの第２の配置の概略図である。
【図６ｃ】図４ａおよび４ｂに示されるようなビデオコプロセッサの第３の配置の概略図である。
【図７】図６ａ、６ｂおよび６ｃに示されるような予測子コンストラクタの概略図である。
【図８】図５ｂ、５ｄおよび６ｃに示されるようなデータパッカーの概略図である。
【図９ａ】図８に示されるようなパッカーユニットへ送られる復号化されたデータワードを示す図である。
【図９ｂ】図８に示されるようなパッカーユニットへ送られる復号化されたデータワードを示す図である。
【図１０】図８に示されるようなデータパッカーのプロセスを詳述するブロック図である。
【図１１】図８に示されるようなデータパッカーから出力される画像データのデータ構造を示す図である。
【図１２】図７に示されるような予測子補間器で使用されるような補間エンジンの概略図である。
【図１３】図４ｂに示されるようなビデオ復号化プロセッサとビデオコプロセッサとの間の「同期」接続の実施形態および「非同期」接続の実施形態を説明するタイミングチャートである。
【図１】
2007512749.tif 000005
【図２】
2007512749.tif 000006
【図３】
2007512749.tif 000007
【図４ａ】
2007512749.tif 000008
【図４ｂ】
2007512749.tif 000009
【図５ａ】
2007512749.tif 000010
【図５ｂ】
2007512749.tif 000011
【図５ｃ】
2007512749.tif 000012
【図５ｄ】
2007512749.tif 000013
【図６ａ】
2007512749.tif 000014
【図６ｂ】
2007512749.tif 000015
【図６ｃ】
2007512749.tif 000016
【図７】
2007512749.tif 000017
【図８】
2007512749.tif 000018
【図９ａ】
2007512749.tif 000019
【図９ｂ】
2007512749.tif 000020
【図１０】
2007512749.tif 000021
【図１１】
2007512749.tif 000022
【図１２】
2007512749.tif 000023
【図１３】
2007512749.tif 000024
【手続補正書】
【提出日】平成18年8月1日(2006.8.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のビデオデータプロセッサ（５０９）と、
第２のビデオデータプロセッサ（５１９）と、
前記第１のビデオデータプロセッサと前記第２のビデオデータプロセッサを接続するコネクションとを備え、
前記第１のビデオデータプロセッサ（５０９）が符号化されたビデオデータを含む第１の信号を受信し、第２の信号を供給するため第１の信号を処理し、前記第２の信号を出力するように構成され、
前記第１のビデオデータプロセッサ（５０９）が前記受信された第１の信号の少なくとも一部分に依存して前記第１の信号を処理するように構成され、
前記第２のビデオデータプロセッサ（５１９）が予測子コンストラクタ４１９を備え、
前記第２のビデオデータプロセッサ（５１９）が、前記第２の信号の少なくとも一部分を受信し、第３の信号を供給するため前記第２の信号の前記少なくとも一部分を処理し、前記第３の信号を出力するように構成され、
前記第２の信号および前記第３の信号が復号化されたビデオ画像ストリームを含み、
前記第２の信号の一部分がデータのタイプの変動を定める符号化標準規格情報を含むピクチャレベルパラメータワードを備え、
前記第２のビデオデータプロセッサ（５１９）の予測子コンストラクタ（４５９）が受信されたデータのフォーマットに依存して前記第２の信号の前記少なくとも一部分を処理するように構成される、
ビデオ復号化回路。
【請求項２】
前記第１のビデオデータプロセッサ（５０９）が復号化された第１の信号を生成するため前記受信された第１の信号を可変長復号化するように構成される、請求項１に記載の回路。
【請求項３】
前記第１のビデオデータプロセッサ（５０９）が前記第１の信号データを少なくとも第１の部分および第２の部分に分離するように構成され、
前記第１の部分が画素データと
残留データのうちの少なくとも一方を含み、
前記第２の部分が動きベクトルデータを含む、
請求項２に記載の回路。
【請求項４】
前記第１のビデオデータプロセッサ（５０９）が前記第１の信号の前記第１の部分を逆量子化するように構成される、請求項３に記載の回路。
【請求項５】
前記第１のビデオデータプロセッサ（５０９）が前記第１の信号の前記第１の部分を空間領域変換するように構成される、請求項３または４に記載の回路。
【請求項６】
前記第１のビデオデータプロセッサ（５０９）が前記第１の信号の空間領域変換および／または逆量子化された前記第１の部分を前記第１の信号の前記第２の部分と組み合わせるように構成される、請求項４または５に記載の回路。
【請求項７】
前記第２のビデオデータプロセッサ（５１９）が前記第２の信号の少なくとも第１の部分を補間するように構成される、請求項１から６のいずれか一項に記載の回路。
【請求項８】
前記第２のビデオデータプロセッサ（５１９）が水平補間と垂直補間のうちの一方を使用して前記第２の信号の少なくとも第１の部分を補間するように構成される、請求項７に記載の回路。
【請求項９】
メモリ（５０１）をさらに備え、前記第２のビデオデータプロセッサが前記第２の信号の前記補間された部分を前記メモリ（５０１）に格納するように構成される、請求項８に記載の回路。
【請求項１０】
前記第２のビデオデータプロセッサ（５１９）が、水平補間と垂直補間のうちのもう一方を使用して、前記第２の信号の、前記補間され格納された第１の部分を補間するように構成される、請求項８または９に記載の回路。
【請求項１１】
前記第２のビデオデータプロセッサ（５１９）が前記第２の信号の前記補間された部分と前記第２の信号のさらなる部分を組み合わせるように構成され、
前記第２の信号の前記補間された部分が推定されたマクロブロックを含み、前記第２の信号の前記さらなる部分が残留誤差データを含む、
請求項７から１０に記載の回路。
【請求項１２】
前記第２のビデオデータプロセッサ（５１９）が前記第２の信号の前記少なくとも一部分と前記第３の信号とのうちの少なくとも一方をフィルタ処理するように構成される、請求項１から１１のいずれか一項に記載の回路。
【請求項１３】
前記フィルタ処理がデリンギングフィルタとデブロッキングフィルタのうちの少なくとも一方を備える、請求項１２に記載の回路。
【請求項１４】
前記コネクションが前記第１のビデオデータプロセッサと前記第２のビデオデータプロセッサを接続するバス（５０３）を備える、請求項１から１３のいずれか一項に記載の回路。
【請求項１５】
前記バス（５０３）に接続されたメモリ装置（５０１）をさらに備える、請求項１４に記載の回路。
【請求項１６】
前記第１のビデオデータプロセッサ（５０９）が前記バス（５０３）を介して前記メモリ装置（５０１）へ前記第２の信号を出力する出力を有する、請求項１５に記載の回路。
【請求項１７】
前記第２のビデオデータプロセッサ（５１９）が前記バスを介して前記メモリ装置（５０１）から前記第２の信号の前記部分を受信する入力を有する、請求項１６に記載の回路。
【請求項１８】
前記コネクションが前記第１のビデオデータプロセッサ（５０９）と前記第２のビデオデータプロセッサ（５１９）を直接的に接続するデータ相互接続（５１１）を備える、請求項１から１７に記載の回路。
【請求項１９】
前記第１のビデオデータプロセッサ（５０９）が前記第２の信号を前記データ相互接続（５１１）へ出力する出力を有する、請求項１８に記載の回路。
【請求項２０】
前記第２のビデオデータプロセッサ（５１９）が前記データ相互接続（５１１）から前記第２の信号の前記部分を受信する入力を有する、請求項１８および１９に記載の回路。
【請求項２１】
前記第２のビデオデータプロセッサ（５１９）が、前記データ相互接続（５１１）から前記第２の信号の前記部分の一部分を受信し、前記バス（５０３）から前記第２の信号の前記部分の一部分を受信する、請求項１５に従属する請求項２０に記載の回路。
【請求項２２】
前記第１の信号が、
ＭＰＥＧ２方式で符号化されたビデオストリームと、
Ｈ．２６３方式で符号化されたビデオストリームと、
ＲｅａｌＶｉｄｅｏ９方式で符号化されたビデオストリームと、
Ｗｉｎｄｏｗｓ  Ｍｅｄｉａ  Ｐｌａｙｅｒ方式で符号化されたビデオストリームと、
Ｈ．２６４方式で符号化されたビデオストリームと
のうちの少なくとも一つである、
請求項１から２１のいずれか一項に記載の回路。
【請求項２３】
前記第２の信号が、
バッファベースアドレスワードと、
ピクチャレベルパラメータヘッダワードと、
ピクチャレベルパラメータワードと、
マクロブロックヘッダワードと、
スライスパラメータワードと、
動きベクトル水平ルマワードと、
動きベクトル垂直ルマワードと、
動きベクトル水平クロマワードと、
動きベクトル垂直クロマワードと、
画素データ参照ワードと、
画素データ残留ワードと
のうちの少なくとも一つをさらに含む、
請求項１から２２のいずれか一項に記載の回路。
【請求項２４】
前記第１のビデオデータプロセッサ（５０９）がデータパッカーを備える、請求項１から２３のいずれか一項に記載の回路。
【請求項２５】
前記第２のビデオデータプロセッサ（５１９）がデータパッカー（４１９）を備える、請求項１から２３に記載の回路。
【請求項２６】
前記データパッカー（４１９）が、
データワードを含む前記第２の信号を受信するように構成された入力（８５１）と、
前記データワードを順序付ける手段（８０１）と、
順序付けられたデータワードを含むデータパケットを送信するように構成された出力（８５５）と、
を備える、
請求項２４または２５に記載の回路。
【請求項２７】
請求項１から２６のいずれか一項に記載の回路を備える集積回路。
【請求項２８】
前記第１のビデオデータプロセッサ（５０９）が超長命令語プロセッサを備える、請求項１から２６に記載の回路。
【請求項２９】
前記超長命令語プロセッサがメモリに格納された命令のセットにさらに依存して前記第１の信号を処理するために適する、請求項２８に記載の回路。
【請求項３０】
前記第２のビデオデータプロセッサ（５１９）がプログラマブルプロセッサを備える、請求項１から２９に記載の回路。
【請求項３１】
符号化されたビデオデータを含む第１の信号を第１のビデオデータプロセッサ（５０９）で受信するステップと、
前記第１の信号の少なくとも一部分に依存して第２の信号を供給するため前記第１の信号を処理するステップと、
前記第２の信号を出力するステップと、
第２のビデオデータプロセッサ（５１９）で前記第２の信号の少なくとも一部分を受信するステップと、
第３の信号を供給するため前記第２のビデオプロセッサ（５１９）の予測子コンストラクタ（４５９）内で前記第２の信号の前記少なくとも一部分を処理するステップと、
前記第３の信号を出力するステップと、
を備え、
前記第２の信号と前記第３の信号が復号化されたビデオ画像ストリームを含み、
前記第２の信号を出力するステップがデータのタイプの変動を定める符号化標準規格情報を出力するステップを備え、
前記第２の信号の前記少なくとも一部分を処理するステップが受信されたビデオデータのフォーマットに依存する、
ビデオ復号化方法。
【請求項３２】
前記第１の信号を処理するステップが前記第１の信号を可変長復号化するステップを備える、請求項３１に記載の方法。
【請求項３３】
前記第１の信号を処理するステップが前記第１の信号を少なくとも第１の部分と第２の部分に分離するステップを備え、
前記第１の部分が
画素データと、
残留データと
のうちの少なくとも一方を含み、
前記第２の部分が動きベクトルデータを含む、
請求項３１および３２に記載の方法。
【請求項３４】
前記第１の信号を処理するステップが前記第１の信号の前記第１の部分を逆量子化するステップをさらに備える、請求項３３に記載の方法。
【請求項３５】
前記第１の信号を処理するステップが前記第１の信号の前記第１の部分を空間領域変換するステップをさらに備える、請求項３３および３４に記載の方法。
【請求項３６】
前記第１の信号を処理するステップが前記第１の信号の空間領域変換および／または逆量子化された前記第１の部分を前記第１の信号の前記第２の部分と組み合わせるステップをさらに備える、請求項３４または３５に記載の方法。
【請求項３７】
前記第２の信号の少なくとも一部分を処理するステップが前記第２の信号の少なくとも第１の部分を補間するステップをさらに備える、請求項３１から３６に記載の方法。
【請求項３８】
前記第２の信号の少なくとも第１の部分を補間するステップが水平補間と垂直補間のうちの一方を使用して前記第２の信号の少なくとも第１の部分を補間するステップをさらに備える、請求項３７に記載の方法。
【請求項３９】
前記補間するステップが前記第２の信号の前記補間された部分を格納するステップをさらに備える、請求項３８に記載の方法。
【請求項４０】
前記補間するステップが水平補間と垂直補間のうちのもう一方を使用して前記第２の信号の前記補間された部分を補間するステップをさらに備える、請求項３８および３９に記載の方法。
【請求項４１】
前記第２の信号の少なくとも一部分を処理するステップが前記第２の信号の前記補間された部分と前記第２の信号のさらなる部分を組み合わせるステップをさらに備え、
前記第２の信号の前記補間された部分が推定されたマクロブロックを含み、前記第２の信号の前記さらなる部分が残留誤差データを含む、
請求項３７から４０に記載の方法。
【請求項４２】
前記第２の信号の少なくとも一部分をさらに処理するさらなるステップをさらに備え、
前記さらに処理するステップが前記フィルタ処理するステップを備え、
前記フィルタ処理するステップがデリンギングフィルタ処理するステップとデブロッキングフィルタ処理するステップのうちの少なくとも一方を備える、
請求項３１から４１に記載の方法。
【請求項４３】
前記第２の信号を出力するステップが前記第２の信号をメモリ（５０１）に格納するステップをさらに備える、請求項３１から４２に記載の方法。
【請求項４４】
前記第２の信号の少なくとも一部分を受信するステップが前記第１のビデオデータプロセッサ（５０９）から直接的に前記第２の信号の前記少なくとも一部分を受信するステップを備える、請求項３１から４３に記載の方法。
【請求項４５】
前記第２の信号の少なくとも一部分を受信するステップが前記第１のビデオデータプロセッサ（５０９）から直接的に前記第２の信号の前記少なくとも一部分のうちの第１の部分を受信し、前記メモリ（５０１）から前記第２の信号の前記少なくとも一部分のうちの第２の部分を受信するステップを備える、請求項４０に従属する請求項４４に記載の方法。
【請求項４６】
前記第１の信号を処理するステップが前記第２の信号をパケット化するステップをさらに備える、請求項３１から４５に記載の方法。
【請求項４７】
前記第２の信号の前記少なくとも一部分をパケット化するステップと、
前記第２の信号の前記少なくとも一部分をメモリに格納するステップと、
前記メモリから前記格納された第２の信号の前記少なくとも一部分を受信するステップと
をさらに備える、請求項３１から４５に記載の方法。
【手続補正書】
【提出日】平成18年8月3日(2006.8.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のビデオデータプロセッサ（５０９）と、
第２のビデオデータプロセッサ（５１９）と、
前記第１のビデオデータプロセッサと前記第２のビデオデータプロセッサを接続するコネクションとを備え、
前記第１のビデオデータプロセッサ（５０９）が符号化されたビデオデータを含む第１の信号を受信し、第２の信号を供給するため第１の信号を処理し、前記第２の信号を出力するように構成され、
前記第１のビデオデータプロセッサ（５０９）が前記受信された第１の信号の少なくとも一部分に依存して前記第１の信号を処理するように構成され、
前記第２のビデオデータプロセッサ（５１９）が予測子コンストラクタ４１９を備え、
前記第２のビデオデータプロセッサ（５１９）が、前記第２の信号の少なくとも一部分を受信し、第３の信号を供給するため前記第２の信号の前記少なくとも一部分を処理し、前記第３の信号を出力するように構成され、
前記第２の信号および前記第３の信号が復号化されたビデオ画像ストリームを含み、
前記第２の信号の一部分がデータのタイプの変動を定める符号化標準規格情報を含むピクチャレベルパラメータワードを備え、
前記第２のビデオデータプロセッサ（５１９）の予測子コンストラクタ（４５９）が受信されたデータのフォーマットに依存して前記第２の信号の前記少なくとも一部分を処理するように構成される、
ビデオ復号化回路。
【請求項２】
前記第１のビデオデータプロセッサ（５０９）が復号化された第１の信号を生成するため前記受信された第１の信号を可変長復号化するように構成される、請求項１に記載の回路。
【請求項３】
前記第１のビデオデータプロセッサ（５０９）が前記第１の信号データを少なくとも第１の部分および第２の部分に分離するように構成され、
前記第１の部分が画素データと、
残留データのうちの少なくとも一方を含み、
前記第２の部分が動きベクトルデータを含む、
請求項２に記載の回路。
【請求項４】
前記第１のビデオデータプロセッサ（５０９）が前記第１の信号の前記第１の部分を逆量子化するように構成される、請求項３に記載の回路。
【請求項５】
前記第１のビデオデータプロセッサ（５０９）が前記第１の信号の前記第１の部分を空間領域変換するように構成される、請求項３または４に記載の回路。
【請求項６】
前記第１のビデオデータプロセッサ（５０９）が前記第１の信号の空間領域変換および／または逆量子化された前記第１の部分を前記第１の信号の前記第２の部分と組み合わせるように構成される、請求項４または５に記載の回路。
【請求項７】
前記第２のビデオデータプロセッサ（５１９）が前記第２の信号の少なくとも第１の部分を補間するように構成される、請求項１から６のいずれか一項に記載の回路。
【請求項８】
前記第２のビデオデータプロセッサ（５１９）が水平補間と垂直補間のうちの一方を使用して前記第２の信号の少なくとも第１の部分を補間するように構成される、請求項７に記載の回路。
【請求項９】
メモリ（５０１）をさらに備え、前記第２のビデオデータプロセッサが前記第２の信号の前記補間された部分を前記メモリ（５０１）に格納するように構成される、請求項８に記載の回路。
【請求項１０】
前記第２のビデオデータプロセッサ（５１９）が、水平補間と垂直補間のうちのもう一方を使用して、前記第２の信号の、前記補間され格納された第１の部分を補間するように構成される、請求項８または９に記載の回路。
【請求項１１】
前記第２のビデオデータプロセッサ（５１９）が前記第２の信号の前記補間された部分と前記第２の信号のさらなる部分を組み合わせるように構成され、
前記第２の信号の前記補間された部分が推定されたマクロブロックを含み、前記第２の信号の前記さらなる部分が残留誤差データを含む、
請求項７から１０に記載の回路。
【請求項１２】
前記第２のビデオデータプロセッサ（５１９）が前記第２の信号の前記少なくとも一部分と前記第３の信号とのうちの少なくとも一方をフィルタ処理するように構成される、請求項１から１１のいずれか一項に記載の回路。
【請求項１３】
前記フィルタ処理がデリンギングフィルタとデブロッキングフィルタのうちの少なくとも一方を備える、請求項１２に記載の回路。
【請求項１４】
前記コネクションが前記第１のビデオデータプロセッサと前記第２のビデオデータプロセッサを接続するバス（５０３）を備える、請求項１から１３のいずれか一項に記載の回路。
【請求項１５】
前記バス（５０３）に接続されたメモリ装置（５０１）をさらに備える、請求項１４に記載の回路。
【請求項１６】
前記第１のビデオデータプロセッサ（５０９）が前記バス（５０３）を介して前記メモリ装置（５０１）へ前記第２の信号を出力する出力を有する、請求項１５に記載の回路。
【請求項１７】
前記第２のビデオデータプロセッサ（５１９）が前記バスを介して前記メモリ装置（５０１）から前記第２の信号の前記部分を受信する入力を有する、請求項１６に記載の回路。
【請求項１８】
前記コネクションが前記第１のビデオデータプロセッサ（５０９）と前記第２のビデオデータプロセッサ（５１９）を直接的に接続するデータ相互接続（５１１）を備える、請求項１から１７に記載の回路。
【請求項１９】
前記第１のビデオデータプロセッサ（５０９）が前記第２の信号を前記データ相互接続（５１１）へ出力する出力を有する、請求項１８に記載の回路。
【請求項２０】
前記第２のビデオデータプロセッサ（５１９）が前記データ相互接続（５１１）から前記第２の信号の前記部分を受信する入力を有する、請求項１８および１９に記載の回路。
【請求項２１】
前記第２のビデオデータプロセッサ（５１９）が、前記データ相互接続（５１１）から前記第２の信号の前記部分の一部分を受信し、前記バス（５０３）から前記第２の信号の前記部分の一部分を受信する、請求項１５に従属する請求項２０に記載の回路。
【請求項２２】
前記第１の信号が、
ＭＰＥＧ２方式で符号化されたビデオストリームと、
Ｈ．２６３方式で符号化されたビデオストリームと、
ＲｅａｌＶｉｄｅｏ９方式で符号化されたビデオストリームと、
Ｗｉｎｄｏｗｓ  Ｍｅｄｉａ  Ｐｌａｙｅｒ方式で符号化されたビデオストリームと、
Ｈ．２６４方式で符号化されたビデオストリームと
のうちの少なくとも一つである、
請求項１から２１のいずれか一項に記載の回路。
【請求項２３】
前記第２の信号が、
バッファベースアドレスワードと、
ピクチャレベルパラメータヘッダワードと、
マクロブロックヘッダワードと、
スライスパラメータワードと、
動きベクトル水平ルマワードと、
動きベクトル垂直ルマワードと、
動きベクトル水平クロマワードと、
動きベクトル垂直クロマワードと、
画素データ参照ワードと、
画素データ残留ワードと
のうちの少なくとも一つをさらに含む、
請求項１から２２のいずれか一項に記載の回路。
【請求項２４】
前記第１のビデオデータプロセッサ（５０９）がデータパッカーを備える、請求項１から２３のいずれか一項に記載の回路。
【請求項２５】
前記第２のビデオデータプロセッサ（５１９）がデータパッカー（４１９）を備える、請求項１から２３に記載の回路。
【請求項２６】
前記データパッカー（４１９）が、
データワードを含む前記第２の信号を受信するように構成された入力（８５１）と、
前記データワードを順序付ける手段（８０１）と、
順序付けられたデータワードを含むデータパケットを送信するように構成された出力（８５５）と、
を備える、
請求項２４または２５に記載の回路。
【請求項２７】
請求項１から２６のいずれか一項に記載の回路を備える、集積回路。
【請求項２８】
前記第１のビデオデータプロセッサ（５０９）が超長命令語プロセッサを備える、請求項１から２６に記載の回路。
【請求項２９】
前記超長命令語プロセッサがメモリに格納された命令のセットにさらに依存して前記第１の信号を処理するために適する、請求項２８に記載の回路。
【請求項３０】
前記第２のビデオデータプロセッサ（５１９）がプログラマブルプロセッサを備える、請求項１から２９に記載の回路。
【請求項３１】
符号化されたビデオデータを含む第１の信号を第１のビデオデータプロセッサ（５０９）で受信するステップと、
前記第１の信号の少なくとも一部分に依存して第２の信号を供給するため前記第１の信号を処理するステップと、
前記第２の信号を出力するステップと、
第２のビデオデータプロセッサ（５１９）で前記第２の信号の少なくとも一部分を受信するステップと、
第３の信号を供給するため前記第２のビデオプロセッサ（５１９）の予測子コンストラクタ（４５９）内で前記第２の信号の前記少なくとも一部分を処理するステップと、
前記第３の信号を出力するステップと、
を備え、
前記第２の信号と前記第３の信号が復号化されたビデオ画像ストリームを含み、
前記第２の信号を出力するステップがデータのタイプの変動を定める符号化標準規格情報を出力するステップを備え、
前記第２の信号の前記少なくとも一部分を処理するステップが受信されたビデオデータのフォーマットに依存する、
ビデオ復号化方法。
【請求項３２】
前記第１の信号を処理するステップが前記第１の信号を可変長復号化するステップを備える、請求項３１に記載の方法。
【請求項３３】
前記第１の信号を処理するステップが前記第１の信号を少なくとも第１の部分と第２の部分に分離するステップを備え、
前記第１の部分が
画素データと、
残留データと
のうちの少なくとも一方を含み、
前記第２の部分が動きベクトルデータを含む、
請求項３１および３２に記載の方法。
【請求項３４】
前記第１の信号を処理するステップが前記第１の信号の前記第１の部分を逆量子化するステップをさらに備える、請求項３３に記載の方法。
【請求項３５】
前記第１の信号を処理するステップが前記第１の信号の前記第１の部分を空間領域変換するステップをさらに備える、請求項３３および３４に記載の方法。
【請求項３６】
前記第１の信号を処理するステップが前記第１の信号の空間領域変換および／または逆量子化された前記第１の部分を前記第１の信号の前記第２の部分と組み合わせるステップをさらに備える、請求項３４または３５に記載の方法。
【請求項３７】
前記第２の信号の少なくとも一部分を処理するステップが前記第２の信号の少なくとも第１の部分を補間するステップをさらに備える、請求項３１から３６に記載の方法。
【請求項３８】
前記第２の信号の少なくとも第１の部分を補間するステップが水平補間と垂直補間のうちの一方を使用して前記第２の信号の少なくとも第１の部分を補間するステップをさらに備える、請求項３７に記載の方法。
【請求項３９】
前記補間するステップが前記第２の信号の前記補間された部分を格納するステップをさらに備える、請求項３８に記載の方法。
【請求項４０】
前記補間するステップが水平補間と垂直補間のうちのもう一方を使用して前記第２の信号の前記補間された部分を補間するステップをさらに備える、請求項３８および３９に記載の方法。
【請求項４１】
前記第２の信号の少なくとも一部分を処理するステップが前記第２の信号の前記補間された部分と前記第２の信号のさらなる部分を組み合わせるステップをさらに備え、
前記第２の信号の前記補間された部分が推定されたマクロブロックを含み、前記第２の信号の前記さらなる部分が残留誤差データを含む、
請求項３７から４０に記載の方法。
【請求項４２】
前記第２の信号の少なくとも一部分をさらに処理するさらなるステップをさらに備え、
前記さらに処理するステップが前記フィルタ処理するステップを備え、
前記フィルタ処理するステップがデリンギングフィルタ処理するステップとデブロッキングフィルタ処理するステップのうちの少なくとも一方を備える、
請求項３１から４１に記載の方法。
【請求項４３】
前記第２の信号を出力するステップが前記第２の信号をメモリ（５０１）に格納するステップをさらに備える、請求項３１から４２に記載の方法。
【請求項４４】
前記第２の信号の少なくとも一部分を受信するステップが前記第１のビデオデータプロセッサ（５０９）から直接的に前記第２の信号の前記少なくとも一部分を受信するステップを備える、請求項３１から４３に記載の方法。
【請求項４５】
前記第２の信号の少なくとも一部分を受信するステップが前記第１のビデオデータプロセッサ（５０９）から直接的に前記第２の信号の前記少なくとも一部分のうちの第１の部分を受信し、前記メモリ（５０１）から前記第２の信号の前記少なくとも一部分のうちの第２の部分を受信するステップを備える、請求項４０に従属する請求項４４に記載の方法。
【請求項４６】
前記第１の信号を処理するステップが前記第２の信号をパケット化するステップをさらに備える、請求項３１から４５に記載の方法。
【請求項４７】
前記第２の信号の前記少なくとも一部分をパケット化するステップと、
前記第２の信号の前記少なくとも一部分をメモリに格納するステップと、
前記メモリから前記格納された第２の信号の前記少なくとも一部分を受信するステップと
をさらに備える、請求項３１から４５に記載の方法。
【請求項４８】
請求項１から３０に記載の回路を備えるデジタル多用途ディスク装置。
【請求項４９】
請求項１から３０に記載の回路を備えるＭＰＥＧデコーダ。
【請求項５０】
請求項１から３０に記載の回路を備えるデジタルビデオ放送装置。
【請求項５１】
第１のビデオデータプロセッサおよび第２のデータプロセッサを備え、ビデオ復号化方法を実行するコンピュータ上で動くように構成されたコンピュータプログラムであって、
前記ビデオ復号化方法が、
符号化されたビデオデータを含む第１の信号を第１のビデオデータプロセッサ（５０９）で受信するステップと、
前記第１の信号の少なくとも一部分に依存して第２の信号を供給するため前記第１の信号を処理するステップと、
前記第２の信号を出力するステップと、
第２のビデオデータプロセッサ（５１９）で前記第２の信号の少なくとも一部分を受信するステップと、
第３の信号を供給するため前記第２のビデオプロセッサ（５１９）の予測子コンストラクタ（４５９）内で前記第２の信号の前記少なくとも一部分を処理するステップと、
前記第３の信号を出力するステップと、
を備え、
前記第２の信号と前記第３の信号が復号化されたビデオ画像ストリームを含み、
前記第２の信号を出力するステップがデータのタイプの変動を定める符号化標準規格情報を出力するステップを備え、
前記第２の信号の前記少なくとも一部分を処理するステップが受信されたビデオデータのフォーマットに依存する、
コンピュータプログラム。
【国際調査報告】
2007512749.tif 000025
2007512749.tif 000026
2007512749.tif 000027