説明

メモリ帯域幅要求が低いビデオ処理装置

本発明は、予測ブロックベースコード化技術に従って一連の画像に対応するデータを処理するためのビデオ処理装置に関する。前記装置は、デコードされたデータから画像を復元するための復元回路(16)を有する処理ユニット(20)と、前記復元回路によって供給された基準画像を記憶するための外部メモリ(1)と、を備えている。前記処理ユニットは、前記処理ユニットと前記外部メモリとの間におけるデータ交換を制御するためのメモリコントローラ(1)と、予測領域に対応し且つ前記メモリコントローラを介して前記外部メモリから読み出されるデータを一時的に記憶するためのキャッシュメモリ(17)と、前記キャッシュメモリから読み出された予測領域に基づいて、動き補償されたデータを前記復元回路に対して供給するための動き補償回路(14)と、を備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、予測ブロックベースコード化技術に従って一連の画像に対応するデータを処理するためのビデオ処理装置に関する。
【0002】
この発明は、特に、MPEG規格又は等価な規格に基づくビデオエンコーダ、デコーダ、トランスコーダに関する。
【背景技術】
【0003】
予測ブロックベースコード化技術に基づくビデオデコーダ又はエンコーダ、例えばMPEG−2又はH.264は、送信される情報の量を低減するために、基本的に、動き推定/補償を連続的に使用する。
【0004】
図1は、これらのコード化技術に係る従来のビデオデコーダを示している。そのような従来のビデオデコーダは、例えば、「MPEGビデオエンコーディング:基礎個別指導概論(MPEG video encoding:basic tutorial introduction」BBCリサーチ・アンド・ディベロップメント・リポート、S.R.エリ著、1996年3月(BBC Research and Development Report, by S.R.Ely 1996/3)(非特許文献1)に記載されている。
【0005】
上記ビデオデコーダ(100)は、一連のコード化された画像に対応するコード化されたデータストリームESをデコードするためのデコーディングユニット(10)を備えている。MPEG規格においては、三つのタイプの画像、即ち、他の画像に対する参照が全く無くコード化されたI(即ち、イントラ)画像、過去の画像(I又はP)を参照してコード化されたP(即ち、予測)画像、過去及びその後の画像(I又はP)を参照してコード化されたB(即ち、双方向予測)画像が表示順位において考慮される。以下、これらのI画像及びP画像を基準画像と称する。また、MPEGシーケンスの各画像は、マクロブロックと呼ばれる動き補償領域に分割される。
【0006】
従来の技術に係るデコーディングユニットは、
−コード化されたデータストリームを解析するためのパーサ(PARSER)(12)と、
−動きベクトルV(n)及び可変長デコードデータを計算するためのマクロブロック処理ユニットMBPU(13)と、
−可変長デコードデータから残差データR’(n)を供給するための逆量子化・逆離散コサイン変換IQ/IDCT回路(15)と、
−動きベクトルV(n)を使用して動き補償されたデータを供給するための動き補償回路MC(14)と、
−動き補償されたデータ及び残差データの合計から画像を復元するための復元回路REC(16)と、
を有している。
【0007】
この公知のビデオデコーダは、復元回路によって供給された復元画像を記憶するための外部メモリEMEM(1)を備えている。記憶される画像は、イントラ又は予測タイプの基準画像F0,F1である。
【0008】
また、デコーディングユニットは、上記デコーディングユニットと外部メモリとの間のデータバス(2)を介したデータ交換を制御するためのメモリコントローラMMI(11)も備えている。上記データ交換は、例えば、復元回路から外部メモリへ基準画像を記憶すること、又は、基準画像内の動き補償されたデータを外部メモリから読み出してそれらを動き補償回路へと取り出すことである。
【0009】
従来の技術の第1の欠点は、動き補償がマクロブロックを基本として行われ、それにより、連続的なマクロブロックにおいて、動き補償されたデータが一般に外部メモリの異なる領域から読み出されるという点である。その結果、外部メモリからのデータ読み出しが不規則な態様で行われ、従来の技術に係るビデオデコーダは、読み出されるデータ量とメモリコントローラを用いた外部メモリへのアクセスの最適化の困難性とに起因して重要なメモリ帯域幅を必要とする。結局、読み取られるデータがメモリデータバンク内においてアラインメントされるとは限らない。この欠点は、ムーアの法則に従ってプロセッサ周波数が増大する速度ほど速くは帯域幅リソースが増大しないという事実によって増強される。
【0010】
以下の例は、MPEG−2デコーディングの場合のこの点を示している。ここで、外部メモリが64ビットのワードで編成されると仮定する。このとき、ワードは、ピクセルの八つの値(輝度又はクロミナンス)を含むことができる。動き補償回路は、少なくとも16×8ピクセルの領域を読み取らなければならない。MPEG2規格において、動き補償は、半ピクセルの精度を有している。その結果、動き補償ユニットは、補間されたピクセル値を計算するために、17×9ピクセルの領域を読み取らなければならない。ワードにおけるメモリ編成に起因して、動き補償回路は、実際に、9個のラインからなる三つのワードを読み取り、又は、他のワードでは24×9バイトを読み取る。これは、30%の帯域幅損失に対応する(MPEG−2高鮮明度HD画像においては、17×9が約180Mbytes/sの帯域幅に対応し、24×9が約270Mbytes/sの帯域幅に対応する)。
【0011】
他の問題は、メモリコントローラの最適化に関するものである。これは、例えばSDRAM等の外部メモリが、データの不規則な読み出しに適合されていないバーストモードで動作するという事実に起因している。バーストは、メモリの各ライン毎に生成される。バーストは、少なくとも7又は8個のサイクルを含んでいる。これに対し、我々の例では、1ラインの3ワードを読み出すのに3サイクルで十分であった。その結果、従来の技術に係るビデオデコーダにおいて必要な帯域幅は、デコーディングプロセスにおいて理論的に必要な帯域幅の2倍を超える。
【0012】
また、基準画像を外部メモリの代わりに内蔵メモリ内に記憶することは容易には行うことができない。これは、上記メモリが依然として非常に高価だからである。我々の例では、高鮮明度HD形式においては6メガバイトの内蔵メモリが必要であり、そのようなメモリは、CMOS0.12ミクロン技術においては、非常に重要な回路表面に相当する約50mmサイズの回路に対応する。
【非特許文献1】「MPEGビデオエンコーディング:基礎個別指導概論(MPEG video encoding:basic tutorial introduction」BBCリサーチ・アンド・ディベロップメント・リポート、S.R.エリ著、1996年3月(BBC Research and Development Report, by S.R.Ely 1996/3)
【発明の開示】
【発明が解決しようとする課題】
【0013】
本発明の目的は、必要とするメモリ帯域幅が従来のビデオ処理装置よりも低いビデオ処理装置を提供することである。
【課題を解決するための手段】
【0014】
そのために、本発明に従うビデオ処理装置は、
−デコードされたデータから画像を復元するための復元回路を有する処理ユニットと、
−前記復元回路によって供給された復元画像を記憶するための外部メモリと、
を備え、
前記処理ユニットは、
−前記処理ユニットと前記外部メモリとの間におけるデータ交換を制御するためのメモリコントローラと、
−予測領域に対応し且つ前記メモリコントローラを介して前記外部メモリから読み出されるデータを一時的に記憶するためのキャッシュメモリと、
−前記キャッシュメモリから読み出された予測領域に基づいて、動き補償されたデータを前記復元回路に対して供給するための動き補償回路と、
を更に備えている。
【0015】
本発明は、解凍プロセス中に処理ユニットが基準画像の所定の領域に対応する外部メモリの所定の領域を再帰的に読み取る必要があるという事実に基づいている。尚、以下では、上記所定の領域を予測領域と称する。上記予測領域は、現在の画像をブロック毎に復元するための基準として機能する。
【0016】
そのような予測領域は、当該領域が画像全体よりも十分に小さいため、非常に高いコスト又は回路表面を要することなく、組み込まれたメモリ(内蔵メモリ)内、即ち、キャッシュメモリ内にロードすることができる。
【0017】
その結果、本発明に係る処理装置によって必要とされるメモリ帯域幅は、キャッシュメモリが無い解決策に比べて減少される。
【0018】
また、外部メモリからキャッシュメモリ内へのデータの読み出しが定期的に行われるため、メモリコントローラレベルでは帯域幅の損失がない。
【発明を実施するための最良の形態】
【0019】
以下、添付図面を参照しながら、一例として、本発明を更に詳細に説明する。
【0020】
ここで、ビデオデコーダ及びビデオエンコーダを例にとって本発明を説明するが、当業者であれば理解できるように、本発明は、予測ブロックベースコード化技術に従って一連の画像に対応するデータを処理するための任意のビデオ処理装置、例えば一連のコード化された画像に対応する第1のコード化されたデータストリームを第2のコード化されたデータストリームへとトランスコードするためのトランスコーダ、又は、ビデオスケーリングを行うための装置に適用することができる。
【0021】
MPEG2規格の場合について本発明を説明するが、本発明は、予測領域が例えばH.264等の限られた形式を有する他のコード化形式にも適用することができる。
【0022】
また、本発明は、(先に規定されたように)17×9ピクセル領域が見出されなければならない予測領域のサイズが予め決定されるという事実に基づいている。MPEG2規格の実施の形態において、予測領域は、デコードするために256個のラインに限定される。
【0023】
図2は、本発明に係るビデオデコーダを示している。このビデオデコーダ(200)は、一連のコード化された画像に対応するコード化されたデータストリームESをデコードするためのデコーディングユニット(20)を備えている。上記デコーディングユニットは、
−コード化されたデータストリームを解析するためのパーサ(PARSER)(12)と、
−動きベクトルV(n)及び可変長デコードデータを計算するためのマクロブロック処理ユニットMBPU(13)と、
−可変長デコードデータから残差データを供給するための逆量子化・逆離散コサイン変換IQ/IDCT回路(15)と、
−動きベクトルV(n)を使用して動き補償されたデータを供給するための動き補償回路MC(14)と、
−動き補償されたデータ及び残差データの合計から画像を復元するための復元回路REC(16)と、
を有している。
【0024】
ビデオデコーダは、復元回路によって供給された基準画像F0,F1を記憶するための外部メモリEMEM(1)を備えている。
【0025】
また、デコーディングユニットは、上記デコーディングユニットと外部メモリとの間のデータバス(2)を介したデータ交換を制御するためのメモリコントローラMMI(11)も備えている。
【0026】
本発明に係るビデオデコーダは、メモリコントローラを介して外部メモリから読み出されたデータを一時的に記憶するためのキャッシュメモリCM(17)を更に備えている。上記キャッシュメモリは、MPEG2の場合には、256個のラインを備えているとともに、予測領域を受けるようになっている。キャッシュメモリの内容は、様々な方法により更新することができる。
【0027】
第1の方法においては、デコーディングプロセス中に、通常の方法により、予測領域に対応するデータが外部メモリから読み出される。マクロブロックの横列が処理される度に、キャッシュメモリの内容が横列毎に変えられる。その後、上記キャッシュメモリの内容を直接に使用して動き補償が行われる。データの不規則な読み出しは、キャッシュメモリのレベルでは行われるが、外部メモリのレベルでは行われず、従って、更なるメモリ帯域幅を要しない。その結果、本発明に係るデコーディング装置によって必要とされる帯域幅は、固定されて約180Mbyte/sに等しい。
【0028】
他の方法においては、キャッシュメモリの256個のラインが等しい領域に分割される。デコーディングユニットが一つの領域の特定のピクセルにアクセスする必要がある場合には、キャッシュメモリによって要求、例えばキャッシュミスが生成され、その場合にだけ、メモリコントローラの機能により、対応する領域が外部メモリからキャッシュメモリへと取り出される(フェッチされる)。そのため、デコーディング中に一つの領域からのピクセルが必要とされない場合には、画像の対応する部分を取り出すための帯域幅が節約される。その結果、本発明に係るデコーディング装置によって必要とされる帯域幅は、デコードされたストリームに応じて変えることができるとともに0乃至180MByte/sの間において構成される。
【0029】
本発明の第1の実施の形態においては、二つの基準画像の予測領域がキャッシュメモリに記憶される。従って、組み込まれたメモリのサイズは、HD形式では、フレーム全体が組み込まれた解決策に比べて4より多く分割される。
【0030】
本発明の第2の実施の形態においては、過去の基準画像の予測領域だけがキャッシュメモリに記憶され、一方、その後の基準画像が外部メモリから読み出される。この場合、組み込まれたメモリのサイズは減少されるが、本発明に係るビデオデコーダによって必要とされるメモリ帯域幅は、第1の実施の形態と比べて僅かに増加される。
【0031】
本発明の第3の実施の形態においては、基準画像の輝度成分の予測領域がキャッシュメモリに記憶され、一方、上記基準画像のクロミナンス成分の予測領域が外部メモリから直接に読み出される。同様に、組み込まれたメモリのサイズは減少されるが、ビデオデコーダによって必要とされる帯域幅は、第1の実施の形態と比べて僅かに増加される。
【0032】
また、本発明は、ビデオエンコーダにも適用することができる。図3は、本発明に係るビデオエンコーダを示している。このビデオエンコーダ(300)は、一連の画像に対応する入力データストリームをコード化するためのエンコーディングユニット(30)を備えている。上記エンコーディングユニットは、
−第1の残差データR(n)を供給するための減算器SUB(32)と、
−第1の残差データR(n)を連続的に変換して量子化するための離散コサイン変換・量子化DCT/Q回路(33)と、
−量子化されたデータから可変長コード化データを供給するための可変長コーダVLC(34)と、
−量子化されたデータから第2の残差データR’(n)を供給するための逆量子化・逆離散コサイン変換IQ/IDCT回路(35)と、
−動きベクトルV(n)を使用して、動き補償されたデータP(I’(n−1);V(n))を復元回路REC(36)及び減算器に供給するための動き補償回路MC(37)と(減算器は、動き補償されたデータを入力データI(n)から差し引くようになっている)、
−動き補償されたデータ及び第2の残差データR’の合計から画像を復元するための復元回路REC(36)と、
−コード化される現在のマクロブロックに関連する基準マクロブロック及びその対応する動きベクトルV(n)を基準画像内において見出すための動き推定回路ME(38)と、
を有している。
【0033】
動き推定回路は、例えば絶対差SADの合計の計算に基づいている。SADの式は以下の通りである。
【数1】

ここで、B(i)及びA(i)はそれぞれ、サイズがk×k(例えばMPEG2規格の16×16ピクセル)の現在のマクロブロック及び基準画像内の基準マクロブロックを示している。SADを最小にする基準マクロブロックが最良のマッチングマクロブロックとみなされ、対応するデータ及び動きベクトルが得られる。
【0034】
ビデオデコーダは、復元回路によって供給される基準画像F0,F1及びコード化される現在の画像を記憶するための外部メモリEMEM(1)を備えている。
【0035】
エンコーディングユニットは、上記エンコーディングユニットと外部メモリとの間のデータバス(2)を介したデータ交換を制御するためのメモリコントローラMMI(31)を備えている。
【0036】
本発明に係るビデオデコーダは、予測領域に対応し且つメモリコントローラを介して外部メモリから読み出されたデータを一時的に記憶するためのキャッシュメモリCM(39)を更に備えている。その後、上記キャッシュメモリを直接に使用して、動き推定及び動き補償が行われる。
【0037】
ビデオエンコーダの場合、帯域幅に関する利得は、ビデオデコーダと比べて更に向上することが可能であり、コード化において予測領域のサイズは規範的でないため、128個のラインまで、又は、更には64個のラインまで減少することが可能であるが、無論、その代償として、ビデオの質が低下する。
【0038】
図面及びその前述した説明は、単なる例示であり、本発明を限定するものではない。添付の請求項の範囲内に入る多数の変形例が存在することは言うまでもない。この点において、以下のことが言える。
【0039】
ハードウェアのアイテムによって機能を実施する多数の方法が存在する。この点において、図面は非常に概略的であり、各図は、本発明の単なる一つの考えられる実施の形態を示している。従って、図面は、異なる機能を異なるブロックとして示しているが、これは、ハードウェアの一つのアイテムが複数の機能を実行することを排除するものでは決してない。また、ハードウェアのアイテムの集合体が一つの機能を実行することを排除するものでもない。
【0040】
添付の請求項の任意の参照符号がその請求項を限定するものと解釈すべきではない。動詞「備える」及びその活用形の使用は、任意の請求項に規定されたステップ又は要素以外のステップ又は要素の存在を排除するものではない。要素又はステップに先行する用語「a」又は「an」は、そのような要素又はステップが複数あることを排除するものではない。
【図面の簡単な説明】
【0041】
【図1】従来のビデオデコーダの概略図である。
【図2】本発明に係るビデオデコーダの概略図である。
【図3】本発明に係るビデオデコーダの概略図である。

【特許請求の範囲】
【請求項1】
予測ブロックベースコード化技術に従って一連の画像に対応するデータを処理するためのビデオ処理装置であって、
−デコードされたデータから画像を復元するための復元回路を有する処理ユニットと、
−前記復元回路によって供給された基準画像を記憶するための外部メモリと、
を備え、
前記処理ユニットは、
−前記処理ユニットと前記外部メモリとの間におけるデータ交換を制御するためのメモリコントローラと、
−予測領域に対応し且つ前記メモリコントローラを介して前記外部メモリから読み出されるデータを一時的に記憶するためのキャッシュメモリと、
−前記キャッシュメモリから読み出された予測領域に基づいて、動き補償されたデータを前記復元回路に対して供給するための動き補償回路と、
を更に備えていることを特徴とするビデオ処理装置。
【請求項2】
前記処理ユニットは、一連のコード化された画像に対応するコード化されたデータストリームをデコードするためのデコーディングユニットであることを特徴とする請求項1に記載のビデオ処理装置。
【請求項3】
前記処理ユニットは、一連の画像に対応する入力データストリームをコード化するためのエンコーディングユニットであることを特徴とする請求項1に記載のビデオ処理装置。
【請求項4】
前記処理ユニットは、一連のコード化された画像に対応する第1のコード化されたデータストリームを第2のコード化されたデータストリームへトランスコードするためのトランスコーディングユニットであることを特徴とする請求項1に記載のビデオ処理装置。
【請求項5】
前記メモリコントローラは、予測領域全体に対応するデータを前記外部メモリから前記キャッシュメモリへと自動的に取り出すことができることを特徴とする請求項1に記載のビデオ処理装置。
【請求項6】
前記キャッシュメモリが等しい領域に分割され、前記メモリコントローラは、前記処理ユニットの要求時に、一つの領域に対応するデータを、前記外部メモリから前記キャッシュメモリへと取り出すことができることを特徴とする請求項1に記載のビデオ処理装置。
【請求項7】
前記キャッシュメモリは、二つの基準画像の予測領域を受けるようになっていることを特徴とする請求項1に記載のビデオ処理装置。
【請求項8】
前記キャッシュメモリは、過去の基準画像の予測領域を受けるようになっており、その後の基準画像の予測領域が前記外部メモリから読み出されることを特徴とする請求項1に記載のビデオ処理装置。
【請求項9】
前記キャッシュメモリは、少なくとも一つの基準画像の予測領域の輝度成分を受けるようになっていることを特徴とする請求項1に記載のビデオ処理装置。
【請求項10】
予測ブロックベースコード化技術に従って一連の画像に対応するデータを処理するための方法であって、
−デコードされたデータから画像を復元する復元ステップと、
−前記復元ステップによって供給された基準画像を外部メモリに記憶するステップと、
−予測領域に対応し且つメモリコントローラを介して前記外部メモリから読み出されるデータを一時的にキャッシュメモリに記憶するステップと、
−前記キャッシュメモリから読み出された予測領域に基づいて、動き補償されたデータを前記復元ステップに対して供給することができる動き補償ステップと、
を含むことを特徴とする方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公表番号】特表2007−503787(P2007−503787A)
【公表日】平成19年2月22日(2007.2.22)
【国際特許分類】
【出願番号】特願2006−530662(P2006−530662)
【出願日】平成16年5月6日(2004.5.6)
【国際出願番号】PCT/IB2004/001608
【国際公開番号】WO2004/102971
【国際公開日】平成16年11月25日(2004.11.25)
【出願人】(590000248)コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (12,071)
【氏名又は名称原語表記】Koninklijke Philips Electronics N.V.
【住所又は居所原語表記】Groenewoudseweg 1,5621 BA Eindhoven, The Netherlands
【Fターム(参考)】