(57)【要約】本発明は、第１メモリ（１２）に結合された処理ユニット（１１）を有し、さらに第２メモリ（１３）を具えたビデオ処理装置において、複数の画像（Ａ、Ｂ、Ｃ）を含むビデオストリームの符号化／復号化する方法に関するものであり、この方法は：第２メモリ（１３）に格納されている画像データの部分集合を第１メモリ（１２）に提供するステップと；前記部分集合にアクセスすることによって、前記ビデオストリームの２つ以上の画像（Ｂ、Ｃ）を同時に符号化／復号化するステップとを具え、この同時の符号化／復号化は、少なくとも１つの画像（Ａ）へのアクセスの共用によって実行する。第２メモリ（１３）へのトラフィックまたはアクセス回数を低減するために、ビデオデータの符号化／復号化プロセスを実行するための処理ユニット（１１）；処理ユニット（１１）に結合され、ビデオデータの符号化／復号化に必要な画像データを格納するために第１メモリ（１２）；第２メモリ（１３）を含み、前記ビデオストリームは複数の画像（Ａ、Ｂ、Ｃ）を含み；第１メモリ（１２）は、第２メモリ（１３）の画像データの部分集合を格納するように構成され、処理ユニット（１１）は、第１メモリ（１２）内の前記画像データの部分集合にアクセスすることによって前記ビデオストリームの１つ以上の画像（Ｂ、Ｃ）を同時に符号化／復号化するように構成され、この同時の符号化／復号化は、少なくとも１つの画像へのアクセスを共用することによって実行される。
2009505549.tif 000002
【特許請求の範囲】
【請求項１】
第１メモリに結合された処理ユニットを有し、さらに第２メモリを備えたビデオ処理装置において、複数の画像を含むビデオストリームを符号化／復号化する方法において：
前記第２メモリに格納された画像データの部分集合を前記第１メモリに提供するステップと；
前記部分集合にアクセスすることによって、前記ビデオストリームの２つ以上の画像を同時に符号化／復号化するステップとを具え、
前記同時の符号化／復号化は、前記第１メモリ内の少なくとも１つの画像へのアクセスを共用することによって実行することを特徴とするビデオストリームの符号化／復号化方法。
【請求項２】
さらに、前記共用されるアクセスが、前記少なくとも１つの画像中のほぼ同じ画像位置において生じることが保証されるように、前記第１メモリへのアクセスを同期させるステップを具えていることを特徴とする請求項１に記載の方法。
【請求項３】
前記同時に符号化／復号化される画像の少なくとも１つが、他の同時に符号化／復号化される画像を符号化／復号化するための参照画像として使用されることを特徴とする請求項１または２に記載の方法。
【請求項４】
前記同時に符号化／復号化される画像が、共通参照画像を共用することを特徴とする請求項１または２に記載の方法。
【請求項５】
さらに、前記同時に符号化／復号化される画像の第１画像の復号化／符号化が、前記第１画像に依存する第２画像の読出し位置に先行することが保証されるように、前記第１メモリへのアクセスを同期させるステップを具えていることを特徴とする請求項１〜４のいずれかに記載の方法。
【請求項６】
前記同期が、それぞれの画像中の垂直位置に基づくことを特徴とする請求項２または５に記載の方法。
【請求項７】
前記同期における同期オフセットが動きベクトルの最大垂直成分に基づくことを特徴とする請求項６に記載の方法。
【請求項８】
請求項１〜７のいずれかに記載のビデオストリームの復号化方法において、さらに、前記ビデオストリーム中の現在の画像をまだ復号化していないままで、前記ビデオストリーム中を検索して次の画像の始点を見出すステップを具えていることを特徴とする方法。
【請求項９】
請求項１〜７のいずれかに記載のビデオストリームの符号化方法において、前記同時に符号化される画像のデータを連結して画像の連続ビットストリームを生成することを特徴とする方法。
【請求項１０】
ビデオストリーム中のビデオデータの符号化／復号化プロセスを実行するための処理ユニットと；
前記処理ユニットに結合され、前記ビデオデータの符号化／復号化に必要な画像データを格納する第１メモリと；
複数の画像を含む前記ビデオストリームを格納する第２メモリとを含み、
前記第１メモリは、前記第２メモリ内の画像データの部分集合を格納するように構成され、前記処理ユニットは、前記第１メモリ内の前記画像データの部分集合にアクセスすることによって前記ビデオストリームの２つ以上の画像を同時に符号化／復号化するように構成され、前記同時の符号化／復号化は、少なくとも１つの画像へのアクセスを共用することによって実行されることを特徴とするビデオ処理装置。
【請求項１１】
前記処理ユニットが複数の処理ユニット部分で構成され、前記処理ユニット部分の各々が同時に動作して単一画像を処理し、さらに、前記第１メモリが複数の第１メモリ部分で構成され、前記第１メモリ部分の各々が前記処理ユニット部分のそれぞれ関連し、前記第１メモリ部分の相互間に通信ユニットが設けられ、前記通信ユニットは、前記処理ユニット部分が直接関連しない前記第１メモリ部分へのデータアクセスを、当該データを必要とする当該処理ユニット部分に提供することを特徴とする請求項１０に記載のビデオ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオデータを符号化／復号化するための方法に関する。さらに本発明は、ビデオデータを符号化／復号化するための装置に関する。
【背景技術】
【０００２】
ビデオ符号化／復号化には、参照フレームを使用する。このような符号化の代表例には、ＭＰＥＧ２やＨ．２６４などの標準規格がある。しかしながら、例えばウェブカメラに使用する独自のアルゴリズムにおいても参照フレームが使用されている。
【０００３】
ビデオ処理装置は一般的に、非圧縮の／または符号化したビデオデータをもとに符号化／復号化計算を実行するための例えばデジタル信号プロセッサなどのプロセッサを含んでいる。プロセッサには異なる種類のメモリが接続されている。通常、ビデオデータは、高画質のビデオ用の処理を行うべき大量のデータが存在するので、大容量のメモリに格納されている。これに加えて、一時バッファとして働くより小さいサイズのメモリがプロセッサに結合されている。ビデオを格納する大きいサイズのメモリは、帯域幅の限定された接続部を経てプロセッサに結合されている。一時バッファとして使用されるメモリは、上記大きいメモリの接続部よりも広い帯域幅を有する接続部を経て接続されている。ほとんどの場合、上記大きいメモリは、プロセッサを含むチップの外部に配置され、従ってオフチップ（チップ外）メモリとして設計され、上記一時バッファは同一チップ上に配置される。このため一時バッファはオンチップ（チップ上）メモリと呼ばれる。
【０００４】
符号化／復号化に使用する参照画像は、一般にオンチップメモリ内に完全に収めるには大きすぎる。ＳＤ  ＭＰＥＧ復号化については、１．２Ｍｂｙｔｅの参照画像データを格納する必要がある。ＨＤ  ＭＰＥＧ復号化については、６Ｍｂｙｔｅまでとり得る。ＭＰＥＧ符号化については、画像の並べ替え（リオーダ）用にさらに大きな画像メモリが必要となる。それ故、このような参照画像を使用するためにはオフチップメモリへのアクセスが必要となる。
【０００５】
しかしながら、長期にわたる技術の進歩の結果、メモリの形状は小さくなっていくため、両メモリは単一チップ上に置くことができる。またこの場合には、キャッシング（キャッシュ記憶）のいくつかのレベルが形成される。第１キャッシュレベルは、処理ユニットの“近く”にあり、次のキャッシュレベルは“より長距離”にあり、より大きなメモリサイズを有する。次のキャッシュレベルの帯域幅は第１キャッシュレベルの帯域幅よりも大幅に小さい、という推論はまだ成り立つ。それ故、メモリのボトルネックは、将来のシステムにおいても重要な問題のままである。
【０００６】
画像の解像度が増加する傾向により、参照フレームのサイズもより大きくなり、従って格納するためにより大きなメモリを必要とする。これにより、参照フレームは将来にもオフチップメモリに格納されると思われる。またこれによりオフチップメモリの帯域幅も大きくなる。
【０００７】
さらに、処理または計算能力とメモリ通信との間の性能ギャップが、半導体技術の進歩によって増加していく。従って帯域幅の考慮およびメモリアクセスのレイテンシは共に、より支配的な設計パラメータとなる。これらはデータが足りないことによりチップ上の効率的な処理能力の利用を危険にさらす。
【０００８】
ますます多くの信号処理機能がモバイルアプリケーション向けに、明らかに電力消費を重視して設計されている。大きい帯域幅でのチップ外通信は相当の電力を必要とするので、このことはチップ外通信を低減するよう、さらに圧力を加える。
【０００９】
標準的なメモリ構成部品は、通常、所定の帯域幅に制限されたインターフェイス規格に準拠する。このようなボトルネックまたは制限された帯域幅容量は、ビデオ処理システムに非常に強い制限を課す。このような制限を緩和するためには、大幅なコストの増加を必要とする。それゆえ、オフチップのメモリチップ数を倍増させてバス帯域幅を倍増させることが可能である。このことはシステムコストおよびシリコン面積およびチップのピン数を増加させる。
【００１０】
これらの傾向の結果、メモリのボトルネックは将来より顕著になる。
【００１１】
【特許文献１】米国特許第６２６３１１２号明細書
【００１２】
米国特許第６２６３１１２号明細書は、動きベクトル検索装置および動画像符号化装置を記載している。この明細書は、ビデオ処理用の帯域幅要求を低減することを記載している。ビデオデータの符号化／復号化には参照フレームが使用される。なお、Ｂ−フレームの符号化には一般にＩ−フレームとＰ−フレームの２つの参照フレームを必要とするので、Ｂ−フレームが参照フレームへの帯域幅に最大の負荷をかける。この明細書は、Ｂ−フレームの符号化に１つの参照フレームのみ使用し、これにより予め計算した動きベクトルを利用することを開示している。動きベクトルは、動きベクトルデータ格納メモリに格納されている。帯域幅要求の低減は、画質の低下を生じさせる。さらに、この発明はエンコーダにのみ適用可能である。加えて、規格の必ずしも全ての特徴を活用することができないので、この発明はビットレートを増加させる。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
従って、本発明の目的は、画質を低下させたりビットレートを増加させたりすることなく、ビデオ符号化／復号化用のオフチップメモリのトラフィックを低減する方法および装置を提供することにある。
【課題を解決するための手段】
【００１４】
本発明の目的は、独立請求項に記載の特徴により解決される。
【００１５】
本発明は、連続する画像を処理するために１つの参照画像に複数回アクセスしているという観察に基づいている。このことは符号化並びに復号化にあてはまる。従来技術においては、これらのアクセスは時間的に比較的離れており、オフチップメモリ内の同じ画像データへ別個にアクセスすることが必要であるか、あるいは完結した参照画像列をオンチップの第１メモリ内に格納することが必要であった。
【００１６】
本発明は、チップ上に完結した参照画像列を格納することなしに、画像データの部分集合への単一回のアクセスを複数回利用して複数の画像の処理することを提案する。このことは連続した画像を同時に処理することによって行う。
【００１７】
大部分の圧縮規格は、予測に動き補償を使用している。複数の動きベクトルにおける因果関係の制約および差異は、同時に処理される画像用に全く同じデータを全く同じ瞬時に要求することの防げとなる。この相反を克服するために、小型のオンチップバッファがなお必要である。このオンチップバッファを以下では第１メモリと呼ぶ。第１メモリは、最大ベクトル範囲程度の参照画像のウィンドウまたは部分集合を含む。完結した参照画像列は大きな第２メモリに格納され、これは一般的にチップ外に配置されている。
【００１８】
第１メモリは、参照画像の関連部分を含むので、第２メモリの長いレイテンシを補償するためにも使用することができる。
【００１９】
この思想は、ビデオエンコーダおよびデコーダの両方に独立して適用可能である。その例はＭＰＥＧおよびＨ．２６４である。これはソフトウェアおよびハードウェアの符号化／復号化実現に共に有用である。
【００２０】
有利な好適例では、同時に符号化／復号化される画像の少なくとも１つを、他の同時に符号化／復号化される画像の少なくとも１つを符号化／復号化するための参照画像として使用する。こうしてオフチップメモリのアクセス回数はさらに低減され、および処理時間および電力消費も低減される。
【００２１】
他の好適例では、同時に符号化／復号化される画像が共通参照画像へのアクセスを共用することが好ましい。第１メモリに格納された部分集合は、同時に符号化／復号化される画像の両方を符号化／復号化するために使用する共通参照画像のデータを含む。
【００２２】
好適例では、第１メモリへのデータ書込みと第１メモリからのデータ読出しとが同期し、これにより、縦続的な画像またはその一部分を復号化するために必要な参照画像の部分が、縦続的な画像の復号化を開始する前に既に復号化されている。こうして、２つの同時に符号化／復号化される画像間で書込みが読出しに先行することが保証される。
【００２３】
第１メモリにおけるアクセスを同期させて、同時に符号化／復号化される画像の第１画像の復号化／符号化が第２画像のほぼ同じ画像位置で生じることを保証することがさらに有利である。こうして、第１メモリに格納されるデータ量が小さく保たれる。
【００２４】
第１メモリにおけるアクセスの同期は、第１および第２画像を同時に符号化／復号化している間に、共用される共通参照画像のアクセスが共通参照画像のほぼ同じ画像位置で生じることを保証する。この同期は、２つの共有画像への読込みアクセスがほぼ同じ位置であることを保証する。
【００２５】
別な好適例では、上記アクセスの同期が、共通参照画像として使用するそれぞれの画像の垂直位置に基づく。
【００２６】
アクセス間の同期オフセットが、動きベクトルの最大垂直成分に基づくことが好ましい。同期オフセットとは、第１画像が書込まれる画像位置と第２画像が処理されている画像位置との垂直方向の差を称する。第２画像を復号化するためには、第１画像からのデータが必要である。このデータは最初に書込む必要がある。第１画像中の読出しアクセスの正確な位置は、動きベクトルに依存する。この動きベクトルは、第２画像のビットストリームから得られる。従来技術によれば、このことは第１画像中の読出し動作毎のチェックおよび同期を必要とする。このことは多数回のチェックおよび同期動作を生じさせ、多大な追加的操作および複雑性を生じさせる。しかしながら、動きベクトルには通常最大値がある。同期の基準に最大値を使用することによって、あり得る全てのベクトル値にアクセスすることができ、同期はもはや特定のベクトル値に依存しない。
【００２７】
さらに、最大ベクトルの垂直成分のみを使用することによって、チェックおよび同期は、画像上を垂直方向に進むときにのみ行えばよい。
【００２８】
別な好適例では、圧縮データ内の次の画像の始点を検索する検索プロセスを実行することが好ましい。こうして複数の画像を同時に復号化することが可能になる。
【００２９】
符号化プロセスの別な好適例では、符号化ストリームを並列的に符号化する。異なる符号化画像を連結して、規格に準拠した画像の連続ビットストリームを生成する。
【００３０】
符号化中にはさらに、動きベクトルのサイズを制限することが可能である。これにより、作業用データの集合が第１メモリのサイズを超えないように、第１メモリのサイズを考慮することができる。
【００３１】
本発明の目的は、ビデオデータの符号化／復号化プロセスを実行する処理ユニット；この処理ユニットに結合され、前記ビデオデータを符号化／復号化するために必要な画像データを格納するための第１メモリ、および第２メモリを含むビデオ処理装置によっても解決され、前記第２メモリ内ではビデオストリームが複数の画像を含み、前記第１メモリは前記第２メモリ内の画像データの部分集合を格納するように構成され、前記処理ユニットは前記第１メモリ内の前記画像データの部分集合にアクセスすることによって前記ビデオストリームの２つ以上の画像を同時に符号化／復号化するように構成され、この同時の符号化／復号化は、少なくとも１つの画像へのアクセスを共用することによって行う。
【００３２】
別な好適例では、複数の処理ユニットを配置し、各処理ユニットは同時に動作して単一の画像を処理する。この方法では、タスクレベルの並列処理を有効に利用して単一のビデオストリームを符号化／復号化する。これら複数のプロセッサは１つの第１メモリにアクセスする。
【００３３】
さらに他の好適例では、複数の第１メモリが利用可能であり、各第１メモリはそれぞれの処理ユニットの近くに配置されている。この場合には、これらの第１メモリ間で画像データを複製するために、追加的な通信手段が第１メモリ間に必要となる。このようなシステムの例は、各プロセッサが自前のレベル０のキャッシュを備えたマルチプロセッサシステムである。キャッシュコヒーレントなハードウェアが種々のキャッシュ間での画像データの複製を行う。
【００３４】
本発明の他の目的や利点は、以下の図面を伴う説明により明らかになる。以下、本発明の好適な実施例について図面を参照しながら以下に詳細に説明し、この実施例は一例に過ぎない。これらの図面は例示目的で提供するに過ぎず、本発明の実際的な例を必ずしも一定寸法比で表現するものではない。
【発明を実施するための最良の形態】
【００３５】
以下に本発明の種々の実施例を説明する。
【００３６】
本発明は幅広い応用に適用することができるが、ＭＰＥＧ符号化／復号化の応用に焦点を合わせて説明する。本発明のさらなる応用分野は、Ｈ．２６４／ＡＶＣアルゴリズムまたは参照画像を使用する他の符号化／復号化アルゴリズムとすることもできる。
【００３７】
図１に、本発明に使用するビデオ処理装置の構造を示す。このビデオ処理装置には、例えばデジタル信号プロセッサまたは固定関数ブロックなどの処理ユニット１１があり、符号化／復号化プロセスを実行する。第１メモリ１２は、帯域幅の大きな接続部を有する処理ユニット１１に結合されている。メモリ管理は、処理ユニット１１によって直接制御することができる。メモリ管理は、別な制御ユニット（図示せず）によって、例えばダイレクトメモリアクセス（ＤＭＡ）を用いて実行することができる。別な代案として、第１メモリ１２は、第２メモリ１３のデータキャッシュとして挙動することができ、どのデータが第１メモリ１２において利用可能であるかは、一般的なキャッシュ方策によって決定することができる。
【００３８】
第２メモリ１３は、チップ１０の外側に配置することができる。第２メモリ１３は、第１メモリ１２より大きい記憶容量を有する。第２メモリから処理ユニット１１への接続は、その帯域幅が限定されている。別なメモリ制御ユニットを使用する場合には、処理ユニット１１を使用せずに第２メモリ１３から第１メモリ１２に直接データを書き込むことができる。図１は復号化方向を示し、単にデータの入力と出力を交換することによって、同じ装置は符号化にも使用される。
【００３９】
図２に、ＭＰＥＧ２符号化の場合の画像の依存関係を示す。Ｉ−画像、Ｂ−画像およびＰ−画像が存在する。Ｉ−画像Ａは参照画像を使用せずに復号化される。Ｐ−画像Ｂは、Ｉ−画像Ａを参照画像として使用することによって復号化される。Ｂ−画像Ｃを復号化するためには、復号化したＰ−画像Ｂおよび復号化したＩ−画像Ａを参照画像として使用する。このような画像のシーケンスをＧＯＰ(Ｇｒｏｕｐ  ｏｆ  ｐｉｃｔｕｒｅｓ：画像グループ)と呼ぶ。ＩＰＢＰＢＰＢ．．．のシーケンスがＧＯＰ構造として知られている。例えばＩＰＢＢＰＢＢＰＢＢ．．．のような異なるＧＯＰ構造を使用することもでき、これにも本発明を適用することができる。Ｐ−画像は先行するＩ−画像に依存し、Ｂ−画像は先行するＩ−画像およびＰ−画像に依存する。
【００４０】
フレームとも呼ばれる周知の画像の依存関係から始め、図２に示すフレームシーケンスを復号化するための書込み／読出しアクセスについて図３を参照しながら説明する。ビデオストリームは画像のシーケンスとして符号化される。通常、画像は、データを受け取った順に復号化する。参照画像Ａを用いて画像Ｂを復号化する際には、前に復号化した参照画像Ａを再使用する。オンチップメモリまたは第１メモリ１２は参照画像Ａを保持するには大きさが不順分であるので、一般に、参照画像Ａはオフチップメモリまたは第２メモリ１３から再読込みしなければならない。図３に示すように、参照画像Ａは１回書き込まれ、画像Ｂおよび画像Ｃを復号化するための参照画像とする目的で２回再読込みされる。このことは多数回のオフチップメモリまたは第２メモリ１３へのアクセスが要求される。
【００４１】
図４に、図３の一部分を拡大して示す。図４は、マクロブロックＭの計算を示す。このようなマクロブロックを計算するために、参照画像Ａの領域または一部分が必要となる。このアクセス領域または部分集合のサイズは、マクロブロックについての動きベクトルＶの最大サイズに依存する。参照画像毎に、このような“検索領域”を認識することができる。マクロブロックの位置が画像中の下方へと進むとき、検索領域も下方へとスライドする。現在技術のシステムでは、これらの検索領域ウィンドウからのデータは通常、本発明の第１メモリと同様のローカルバッファまたはキャッシュにおいて利用可能である。図４は、画像Ａからのデータが、画像Ｂを生成するために一度読み出され、画像Ｃを生成するために再度読み出されることを示す。さらに、およそ同じ出力画像位置において、それぞれのアクセス領域の内容は相当量のオーバーラップ（重複）を示す。本発明は、図５に示すようにこの特徴を利用する。
【００４２】
図５に、本発明による画像ＢおよびＣの同時復号化のための、オーバーラップしている画像ウィンドウを示す。画像ＢおよびＣは共に画像Ａからのデータを必要とする。これらの画像を同時に復号化する際に、この画像データの部分集合は、第２メモリ１３から第１メモリ１２に１回だけ読み出される。そして復号化プロセスは、第１メモリ１２からのこの画像データの部分集合を２回使用する。それぞれの画像中の復号化位置は幾分異なり得るので、結合したアクセス領域は、単一の復号化画像のアクセス領域に比べて少し大きくなる。図５は、オーバーラップしている２つのアクセス領域を灰色の濃淡付けで示す。濃い灰色部分が両領域のオーバーラップを示す。この方法の明らかな結果は、画像Ａデータのための第２メモリのトラフィックの５０％低減である。
【００４３】
画像ＢおよびＣは同時に復号化される。しかし、画像Ｂは画像Ｃの参照画像でもある。本発明では、計算した画像Ｂのデータを第１メモリ１２に格納すると共に第２メモリ１３にコピーする。こうして、画像Ｃの復号化のための画像Ｂのアクセス領域は、第１メモリ１２において直ちに利用可能である。
【００４４】
従来のデコーダは、画像Ｂを第２メモリ１３に書き込み、その後画像Ｃを復号化する際に画像Ｂを第２メモリ１３から再度読み出す必要がある。本発明は、第２メモリ１３からの読出しを回避し、画像Ｂのデータのための第２メモリのトラフィックの５０％低減を生み出す。
【００４５】
２つの画像ＢおよびＣを同時に復号化するプロセスを図３の例に適用する。本発明による結果を図６に示す。この画像では、ブロックの横方向の幅が第２メモリ１３内の画像の帯域幅を示す。ブロックの高さは演算の継続時間を示す。第２メモリ１３へのアクセス回数は大幅に低減されている。
【００４６】
図３に示す標準的な場合には、画像ＢおよびＣを復号化するために、第２メモリへの５回のフルアクセス（Ａ読出し、Ｂ書込み、Ａ読出し、Ｂ読出し、Ｃ書込み）が必要となる。図６に示す本発明による状況では、必要となる第２メモリへのフルアクセスは３回（Ａ読出し、Ｂ書込み、Ｃ書込み）のみである。従って、２／５＝４０％のチップ外帯域幅消費の低減が実現されている。この特定例では、画像ＢおよびＣを同時に処理することを選択している。ＧＯＰ構造およびオンチップ・バッファメモリまたは第１メモリ１２の利用可能性次第では他の選択も可能である。こうして、２つのＢ−画像を同時に処理することができる。Ｉ−画像およびＰ−画像を同時に処理することも可能である。さらに、３つ以上の画像を同時に処理することも可能である。
【００４７】
なお、帯域幅の低減は帯域幅のピークにおいて生じる。Ｂ−画像Ｃを復号化する際には、単一の画像を復号化するために３回のアクセス（２回の読出し、１回の書込み）が必要である。Ｐ−フレームＢについては２回のアクセスが必要であり、Ｉ−フレームＡについては、単一回のアクセスしか必要としない。従って、追加的な利点として、本発明は長い時間で見れば帯域幅消費を平滑化する。システムは最悪の場合の帯域幅消費をサポートしなければならないので、このことはチップ外帯域幅の設計目標を緩和する。さらに、ビデオエンコーダ／デコーダの帯域幅消費がより一定になるため、このことはよりよいスケジューリングおよびバス利用を可能にする。
【００４８】
この思想の実現は標準的な復号化アルゴリズムを使用する。通常の実現に比べれば、この実現は、画像Ｂの復号化が、この参照画像Ｂに依存する画像Ｃの計算に先行することを保証するための追加的な同期プロセスを必要とするに過ぎない。さらに、参照画像Ｂの復号化を先行させ過ぎないで、参照画像Ｂに依存する画像Ｃを復号化する際に参照画像Ｂのデータが第１メモリ１２内にまだ残っていることを保証する。
【００４９】
さらに、圧縮されたビデオストリームを効率的に走査して、現在の画像をまず復号化しなければならないことなしに、次の画像の始点を見出すことが必要である。実現におけるこれらの追加的事項は共に、実現が比較的単純である。
【００５０】
以下に、第１メモリ１２内にあるデータを示す：
１・同時に復号化される全ての画像ＢおよびＣの動きベクトル。動きベクトルは全てのマクロブロックについて利用可能であるので、これは画像格納容量の一部しか必要としない。
２．同時に復号化される画像ＢおよびＣについての圧縮ビデオデータ。（これは圧縮領域内にあるデータであるので、これも画像格納容量の一部しか必要としない）
３．図５に示すように、参照画像の一部の格納。第１メモリ１２の必要量は最大ベクトルサイズに依存する。
【００５１】
ＳＤ ＭＰＥＧを例として取り上げ：参照として使用されるＰ−画像と同時にＢ−画像を計算する。Ｐ−画像の動きベクトルは最大６４画素分であるものと仮定する。必要なＩ−画像データをチップ上に保持するために、１２８×７２０×１．５＝１３５Ｋバイトが必要である。Ｂ−画像を計算するためには、参照としてＰ−画像を必要とする。さらに、Ｐ−画像の参照データを収めるために１３５Ｋバイト、およびＢ−画像の復号化は一般にＰ−画像の後になるのでＩ−画像上の追加的データ用に６５Ｋバイトが必要であるものと仮定する。合計で３３５Ｋバイトが必要である。２つ以上のＢ−画像を持つことは、必要な第１メモリの量を増加させない。３つ以上の参照画像（例えばＨ．２６４）を持つことは、必要な第１メモリの量を増加させる。
【００５２】
以下に、符号化のプロセスを説明する。ビデオ符号化には、復号化と同じ原理を用いることができる。参照画像と、この参照画像に依存する画像とを同時に符号化することができる。符号化は復号化に比べて、次のような多くの利点がある：標準画像または参照画像を符号化する時点を自由に決定することができる。
【００５３】
符号化ストリームは並列的に生成される。異なる画像の符号化ストリームは正しい順序に連結しなければならない。このことは復号化に必要な構文解析よりも単純であり、大きな計算能力を必要としない。符号化中には、基準にあり得る特徴の必ずしも全てを使用しないことを選択することができる。このことは、ハードウェア・アーキテクチャの特性を考慮に入れた最適化を可能にする。
【００５４】
いくつかの例を挙げる：
作業用の画像データの集合がチップ上のバッファサイズを超えないように、動きベクトルを制限することを選択することができる。
【００５５】
さらに、単一の画像のみを参照してＢ−画像を符号化することを選択することができる（従って、このＢ−画像はＰ−画像に類似した参照画像を使用する）。Ｂ−画像は書き込まれるだけであり、Ｐ−画像は読み出されるだけであるので、このことはローカルメモリメモリ上のアクセス回数を低減する。これによりローカルバッファの帯域幅が節約される。
【００５６】
一部の場合には、追加的メモリが必要となる（帯域幅をメモリ消費に引き換え、このことはコストの観点からまだ有利である）。
【００５７】
いくらかの追加的レイテンシがデコーダに加わる；多くの応用では、このことは全く問題ではない（例えばＤＶＤ復号化、放送、等）。
【００５８】
さらに他の実施例では、複数の処理ユニット１１ｘ、１１ｙ、１１ｚ、および各処理ユニット１１ｘ、１１ｙ、１１ｚの付近に配置したそれぞれ第１メモリ１２ｘ、１２ｙ、１２ｚが利用可能である。この場合には、第１メモリ１２ｘ、１２ｙ、１２ｚ相互間の追加的な通信手段１４が、第１メモリ上での画像データの複製を行う。このようなシステムの例はマルチプロセッサシステムであり、ここでは各処理ユニット１１ｘ、１１ｙ、１１ｚが自前のレベル０のキャッシュを備えている。キャッシュコヒーレントなハードウェアが、複数のキャッシュ間で画像データの複製を行う。
【００５９】
図７は複数の処理ユニット１１ｘ、１１ｙ、１１ｚを示し、それぞれが第１オンチップメモリ１２ｘ、１２ｙ、１２ｚに接続されている。第１メモリは通信ネットワーク１４に接続され、通信ネットワーク１４はチップ外の第２メモリ１３にも接続されている。通信ネットワーク１４は、第１メモリ１２ｘ、１２ｙ、１２ｚから第２メモリ１３へのデータ転送、および第１メモリ１２ｘ、１２ｙ、１２ｚ相互間のデータ転送を共にサポートする。第１メモリ１２ｘ、１２ｙ、１２ｚは、データキャッシュとしてＣＰＵ１１ｘ、１１ｙ、１１ｚの付近に置くことができる。このようなシステムでは、複数の画像を同時に処理することができ、単一の処理ユニット１１ｘ、１１ｙ、１１ｚは各画像を処理する。例えば、プロセッサ１１ｙが画像Ｃを復号化している間に、プロセッサ１１ｘは画像Ｂを復号化することができる。このシステムでは、キャッシュコヒーレンシを扱う必要がある。純粋な階層メモリシステムでは、第１メモリにおけるキャッシュミスは常に第２メモリへのアクセスを生じさせる。しかしながら、キャッシュコヒーレンシによれば、他のオンチップキャッシュのいずれかにおいて当該データが既に利用可能であるか否かのチェックをまず行う。データが既に利用可能である場合には、他のオンチップキャッシュをオフチップメモリの代わりに使用する。このようにして、帯域幅制限されたオフチップメモリへのデータアクセス回数をさらに低減することができる。例えば、画像Ｃがプロセッサ１１ｙによって処理される際に、画像Ａからのデータを参照画像として使用し、第１メモリ１２ｙにロードする。その間に、プロセッサ１１ｘは画像Ｂを処理しており、プロセッサ１１ｘも画像Ａから画像データを読み出す。キャッシュコヒーレンシの機能性は、このデータを第１メモリ１２ｙから取得して第１メモリ１２ｘにロードし、プロセッサ１１ｘにとって利用可能にすることを行う。この方法でも、画像Ａの画像データは、画像Ｂおよび画像Ｃの同時復号化に使用されている間に、チップ外の第２メモリ１３から一度だけ読み出される。
【００６０】
本発明の使用によって、次の利点が提供される：
第２メモリへのアクセスが５回必要であった従来の方法に比べて、第２メモリへのフルアクセスは３回しか必要としないので、一般的なＭＰＥＧ符号化／復号化（ＩＢＰＢＰＢＰ）において約４０％の帯域幅低減が達成される。
【００６１】
より多くのＢ−画像が画像グループ（ＧＯＰ）内に含まれる場合には（例えばＩＢＢＰＢＢＰＢＢＰのＧＯＰ構造）、同時に処理する画像数を増加させることによって、より大きな低減が可能である。
【００６２】
第２メモリへのアクセス回数の低減により、符号化／復号化用の電力消費が減少し、このことはモバイル符号化にとって非常に有利である。
【００６３】
帯域幅のピークが低減され、より連続的な帯域幅の使用が達成される。
【００６４】
本発明は、ＭＰＥＧ、Ｈ．２６４のような規格に適用することができる。しかしながら、本発明はデータを符号化したエンコーダに依存しないデコーダに適用することができ、逆もまた同様である。さらに、本発明はＳＤからＨＤまでのビデオに適用可能である。
【００６５】
復号化アルゴリズムは影響を受けない。符号化アルゴリズムに対する影響はないかごくわずかである。本発明を実施するために、エンコーダまたはデコーダの実現に対する影響は非常に小さい必要があり：参照画像の「生産者」と「消費者」との間の同期プロセスを追加する必要がある。さらに、複数の画像の同時復号化を開始するために、圧縮データ内の次の画像の始点の検索を追加する必要がある。符号化の際に、同時に生成したビットストリームの各部分を正しい順序に連結する必要がある。これらの操作はすべて、比較的容易である。
【００６６】
本発明では、本発明の範囲を逸脱することなしに広範な異なる符号化または復号化方法を使用することができることは明らかである。本発明は、請求項によって限定されること以外は、その特定の符号化／復号化方法によって限定されるものではない。
【００６７】
本明細書に記載した方法は、専用のハードウェアユニットから成る装置、または必要な機能用のソフトウェアコードを備えたプログラム可能な処理ユニット、または必要な機能向けに構成されたプログラム可能なハードウェア、あるいはこれらの組み合わせに適用することができる。
【図面の簡単な説明】
【００６８】
【図１】本発明によるビデオ処理装置の構造の概略図である。
【図２】画像（ＧＯＰ）の依存関係を示している。
【図３】従来技術による、図２に示す画像シーケンスを復号化するための画像への読出しおよび書込みアクセスを示す図である。
【図４】従来技術による、ある画像ウィンドウに限定した図３の一部分の読出しおよび書込みアクセスを示す図である。
【図５】本発明による２つの画像の同時計算／復号化のための、オーバーラップする画像ウィンドウを示す図である。
【図６】２つの画像を並列的に復号化した際の、本発明による読出しアクセス回数低減を示す図である。
【図７】複数の第１メモリを有するマルチプロセッサの構成を提示する図である。
【図１】
2009505549.tif 000003
【図２】
2009505549.tif 000004
【図３】
2009505549.tif 000005
【図４】
2009505549.tif 000006
【図５】
2009505549.tif 000007
【図６】
2009505549.tif 000008
【図７】
2009505549.tif 000009
【国際調査報告】
2009505549.tif 000010
2009505549.tif 000011
2009505549.tif 000012
2009505549.tif 000013