説明

動画像処理装置および動画像処理システム

【課題】 画像処理に必要な内部メモリの容量を削減する。
【解決手段】 動画像処理装置は、少なくとも一のマクロブロックラインを含む所定単位に含まれる画像データの輝度成分を符号化する輝度成分の画像符号化処理の後に所定単位に含まれる画像データの色差成分を符号化する色差成分の画像符号化処理を行うことで、第1符号化データを生成する画像符号化部と、メモリへのアクセスを制御し、第1符号化データをメモリに記憶するアクセス制御部と、アクセス制御部を介してメモリから第1符号化データを読み出し、第1符号化データの輝度成分を可変長符号化する輝度成分の可変長符号化処理と第1符号化データの色差成分を可変長符号化する色差成分の可変長符号化処理とをマクロブロック単位で切り替えて実施する可変長符号化部とを有している。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画像処理装置および動画像処理システムに関する。
【背景技術】
【0002】
MPEGやH.264等の動画像符号化装置は、16×16画素のマクロブロック単位で動画像データを符号化する。これにより、符号化ストリームが生成される。マクロブロックは、画面の明るさを示す輝度画素(輝度成分Y)と色を示す色差画素(色差成分Cb、Cr)とを有している。例えば、4:2:0フォーマットでは、マクロブロックは、8×8の輝度(Y)画素を含む4個の輝度(Y)ブロックと、8×8の色差(Cb)画素を含む1個の色差(Cb)ブロックと、8×8の色差(Cr)画素を含む1個の色差(Cr)ブロックとを有している(例えば、特許文献1参照。)。
【0003】
符号化ストリームでは、符号化されたデータが、マクロブロック毎に、輝度(Y)ブロック、色差(Cb)ブロックおよび色差(Cr)ブロックの順に並んでいる。一般に、動画像データの符号化処理は、符号化ストリームの構成順に合わせて実施される。例えば、動画像符号化装置は、輝度画素(Y)の符号化処理と色差画素(Cr、Cb)の符号化処理とをマクロブロック単位で切り替えて実施し、符号化ストリームを生成する。また、例えば、MPEGやH.264等の動画像復号装置は、輝度画素(Y)の復号処理と色差画素(Cr、Cb)の復号処理とをマクロブロック単位で切り替えて実施し、符号化ストリームを復号する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第3480067号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
輝度画素(Y)の符号化処理と色差画素(Cr、Cb)の符号化処理とをマクロブロック単位で切り替えて実施する動画像符号化装置では、符号化処理に必要な輝度画素および色差画素の両方のデータを同時に保持する必要がある。例えば、イントラ予測(以下、フレーム内予測とも称する)用の周辺画素やデブロッキングフィルタ処理用の周辺画素等のデータを一時的に記憶するバッファには、輝度画素および色差画素の両方のデータが記憶される。したがって、輝度画素および色差画素の両方のデータを記憶する容量のバッファが必要である。
【0006】
また、インター予測(以下、フレーム間予測とも称する)では、予測画像は、動きベクトルに応じて、参照画像から生成される。例えば、参照画像の読み出しにキャッシュメモリを使用する動画像符号化装置では、輝度画素用のキャッシュメモリと色差画素用のキャッシュメモリとが必要になる。このため、符号化処理に必要な内部メモリ(例えば、バッファやキャッシュメモリ)の容量が大きくなる。同様に、復号処理に必要な内部メモリの容量が大きくなる。
【0007】
本発明の目的は、符号化処理および復号処理の少なくとも一方の画像処理を実施する画像処理装置において、画像処理に必要な内部メモリの容量を削減することである。
【課題を解決するための手段】
【0008】
本発明の一形態では、動画像処理装置は、少なくとも一のマクロブロックラインを含む所定単位に含まれる画像データの輝度成分を符号化する輝度成分の画像符号化処理の後に所定単位に含まれる画像データの色差成分を符号化する色差成分の画像符号化処理を行うことで、第1符号化データを生成する画像符号化部と、メモリへのアクセスを制御し、第1符号化データをメモリに記憶するアクセス制御部と、アクセス制御部を介してメモリから第1符号化データを読み出し、第1符号化データの輝度成分を可変長符号化する輝度成分の可変長符号化処理と第1符号化データの色差成分を可変長符号化する色差成分の可変長符号化処理とをマクロブロック単位で切り替えて実施する可変長符号化部とを有している。
【発明の効果】
【0009】
符号化処理および復号処理の少なくとも一方の画像処理を実施する画像処理装置において、画像処理に必要な内部メモリの容量を削減できる。
【図面の簡単な説明】
【0010】
【図1】一実施形態における動画像処理システムの例を示している。
【図2】4:2:0フォーマットでのマクロブロックおよびピクチャの一例を示している。
【図3】図1に示したデータバッファの記憶領域の割り当ての一例を示している。
【図4】図1に示した動画像処理システムの動作の一例を示している。
【図5】スライス単位切り替えとピクチャ単位切り替えとの比較を示している。
【図6】図1に示した動画像処理システムの動作の別の例を示している。
【図7】別の実施形態における動画像処理システムの一例を示している。
【図8】図7に示した画像符号化部の動作の一例を示している。
【図9】フレーム内予測に使用される周辺画素の一例を示している。
【図10】デブロッキングフィルタ処理に使用される周辺画素の一例を示している。
【図11】図7に示したバッファの管理の一例を示している。
【図12】図7に示したフレーム内予測用のバッファの記憶領域の割り当ての一例を示している。
【図13】図7に示したデブロッキングフィルタ処理用のバッファの記憶領域の割り当ての一例を示している。
【図14】図7に示したキャッシュの動作の一例を示している。
【図15】別の実施形態における動画像処理システムの一例を示している。
【図16】図15に示した動画像処理システムの動作の一例を示している。
【図17】別の実施形態における動画像処理システムの一例を示している。
【図18】図17に示した動画像処理システムの動作の一例を示している。
【図19】スライス単位切り替えとピクチャ単位切り替えとの比較を示している。
【図20】図17に示した動画像処理システムの動作の別の例を示している。
【図21】別の実施形態における動画像処理システムの一例を示している。
【図22】図21に示した画像復号部の動作の一例を示している。
【図23】別の実施形態における動画像処理システムの一例を示している。
【発明を実施するための形態】
【0011】
以下、実施形態を図面を用いて説明する。
【0012】
図1は、一実施形態における動画像処理システムESYSの例を示している。
【0013】
動画像処理システムESYSは、例えば、MPEGやH.264等に準拠したエンコーダである。例えば、動画像処理システムESYSは、画像データIIMGをMPEGやH.264等に準拠した符号化方式で符号化する動画像処理装置10と、動画像処理装置10に接続されるメモリ80とを有している。例えば、動画像処理装置10は、メモリ80とは別のチップに形成される。なお、動画像処理システムESYSも画像処理装置の一態様を形成する。
【0014】
動画像処理装置10は、画像符号化部20、可変長符号化部40およびデータ転送部60を有している。画像符号化部20は、動きベクトル探索、フレーム間予測(インター予測)、フレーム内予測(イントラ予測)、直交変換および量子化等の画像符号化処理を実施する。
【0015】
例えば、画像符号化部20は、符号化対象の画像データIIMG(以下、入力画像データIIMGとも称する)を、データ転送部60を介してメモリ80のフレームメモリ82から受ける。そして、画像符号化部20は、画像データIIMGに対して画像符号化処理を実施し、符号化データCIMGを生成する。また、画像符号化部20は、画像データIIMGを符号化した符号化データCIMGを、データ転送部60を介してメモリ80のデータバッファ84に記憶する。なお、画像符号化部20は、輝度成分(以下、輝度画素とも称する)の画像符号化処理と色差成分(以下、色差画素とも称する)の画像符号化処理とを、所定単位(例えば、ピクチャ単位)で切り替えて実施する。
【0016】
可変長符号化部40は、MPEGやH.264等に準拠したCAVLCやCABAC等の可変長符号化処理を実施する。例えば、可変長符号化部40は、画像符号化部20により生成された符号化データCIMGを、データ転送部60を介してメモリ80のデータバッファ84から受ける。そして、可変長符号化部40は、符号化データCIMGを可変長符号化し、符号化ストリームSTRMを生成する。
【0017】
符号化ストリームSTRMは、データ転送部60を介してメモリ80に記憶されてもよいし、メモリ80に記憶されなくてもよい。なお、可変長符号化部40は、符号化データCIMGの輝度成分を可変長符号化する可変長符号化処理と符号化データCIMGの色差成分を可変長符号化する可変長符号化処理とを、マクロブロック単位で切り替えて実施する。これにより、MPEGやH.264等に準拠した符号化ストリームSTRMが生成される。ここで、マクロブロックは、16×16画素のブロックである。
【0018】
データ転送部60は、例えば、画像符号化部20および可変長符号化部40のメモリアクセス制御を実施する。例えば、データ転送部60は、画像符号化処理に必要なデータ(画像データIIMGや参照画像データRIMG等)をメモリ80から読み出し、読み出したデータを画像符号化部20に出力する。
【0019】
さらに、データ転送部60は、画像符号化部20により生成された符号化データCIMGをメモリ80のデータバッファ84に記憶する。また、データ転送部60は、可変長符号化対象の符号化データCIMGをメモリ80のデータバッファ84から読み出し、読み出した符号化データCIMGを可変長符号化部40に出力する。なお、データ転送部60は、画像符号化部20により生成されたローカルデコード画像データLIMGを、メモリ80に記憶する。このように、データ転送部60は、例えば、メモリ80へのアクセスを制御するアクセス制御部としての機能を有している。
【0020】
メモリ80は、例えば、SDRAMである。メモリ80は、フレームメモリ82およびデータバッファ84を有している。例えば、フレームメモリ82およびデータバッファ84は、SDRAM上に配置される。なお、メモリ80は、SDRAM以外のメモリでもよい。例えば、メモリ80は、DRAMでもよい。フレームメモリ82は、入力画像データIIMGや参照画像データRIMG等を記憶する。データバッファ84は、画像符号化部20により生成された符号化データCIMGを記憶する。例えば、データバッファ84は、画像符号化部20と可変長符号化部40との間で、符号化データCIMGを並び換えるために使用される。
【0021】
図2は、4:2:0フォーマットでのマクロブロックMBおよびピクチャPICの一例を示している。なお、図2は、1920×1088画素のピクチャPICを2つのスライスSL(SL0、SL1)に分割したときの例を示している。なお、ピクチャPICの画素数は、1920×1088画素に限定されない。また、スライスSLの数は、3つ以上でもよい。あるいは、ピクチャPICは、複数のスライスSLに分割されなくてもよい。
【0022】
1920×1088画素のピクチャPICでは、16×16画素のマクロブロックMBのライン数は、68である。以下、マクロブロックMBのラインMLをマクロブロックラインMLとも称する。すなわち、1マクロブロックラインMLは、16行の画素ラインを有している。図2の例では、マクロブロックラインML0−ML33は、スライスSL0を形成し、マクロブロックラインML34−ML67は、スライスSL1を形成する。
【0023】
マクロブロックMBは、輝度ブロックYおよび色差ブロックCb、Crを有している。輝度ブロックYは、画面の明るさを示す輝度画素(画像データIIMGの輝度成分)のブロックである。また、色差ブロックCb、Crは、色を示す色差画素(画像データIIMGの色差成分)のブロックである。例えば、4:2:0フォーマットでは、マクロブロックMBは、8×8の輝度画素を含む4個の輝度ブロックY0、Y1、Y2、Y3と、8×8の色差(Cb)画素を含む1個の色差ブロックCbと、8×8の色差(Cr)画素を含む1個の色差ブロックCrとを有している。
【0024】
すなわち、4:2:0フォーマットでは、輝度画素は、1画素毎に生成される。また、各色差(Cb、Cr)画素は、例えば、4つの画素(水平方向の2画素および垂直方向の2画素)を平均して算出され、4画素毎に生成される。なお、動画像処理システムESYSが扱うフォーマットは、4:2:0フォーマット以外でもよい。
【0025】
図3は、図1に示したデータバッファ84の記憶領域の割り当ての一例を示している。データバッファ84は、ヘッダ領域HRA、輝度データ領域YRAおよび色差データ領域CRAを有している。図の括弧内の符号MB(MB0・・・MNn)は、ヘッダ領域HRA、輝度データ領域YRAおよび色差データ領域CRAの各領域にデータがマクロブロックMB毎に記憶されることを示している。
【0026】
ヘッダ領域HRAには、輝度成分および色差成分の画像符号化処理で生成されるヘッダデータがマクロブロックMB毎に記憶される。ヘッダデータは、例えば、マクロブロックタイプ、動きベクトル、量子化スケール等のパラメータである。輝度データ領域YRAには、符号化データCIMGの輝度成分(符号化された輝度ブロックYの係数データ等)がマクロブロックMB毎に記憶される。色差データ領域CRAには、符号化データCIMGの色差成分(符号化された色差ブロックCb、Crの係数データ等)がマクロブロックMB毎に記憶される。
【0027】
例えば、画像符号化部20は、輝度成分の画像符号化処理時に、マクロブロックタイプ、動きベクトル、量子化スケール等の輝度成分および色差成分の両方の処理で使用されるパラメータを生成する。そして、データ転送部60は、画像符号化部20で生成されたマクロブロックタイプ等のパラメータを、データバッファ84のヘッダ領域HRAにヘッダデータとして書き込む。また、データ転送部60は、画像符号化部20で生成された符号化データCIMGの輝度成分を、データバッファ84の輝度データ領域YRAに書き込む。
【0028】
また、データ転送部60は、色差成分の画像符号化処理時に、マクロブロックタイプ等のパラメータ(ヘッダデータ)をヘッダ領域HRAから読み出す。そして、画像符号化部20は、データ転送部60を介してヘッダ領域HRAから読み出したパラメータに基づいて、色差ブロックCb、Crの画像符号化処理を実施する。データ転送部60は、画像符号化部20で生成された符号化データCIMGの色差成分を、データバッファ84の色差データ領域CRAに書き込む。この際、色差ブロックCb、Crの画像符号化処理により確定するCBP(Coded block pattern)の色差パラメータ等のヘッダデータは、確定した情報に書き換えられる。
【0029】
このように、画像符号化部20は、輝度成分の画像符号化処理により生成されたヘッダデータおよび符号化データCIMGの輝度成分を、ヘッダ領域HRAおよび輝度データ領域YRAにデータ転送部60を介してそれぞれ記憶する。また、画像符号化部20は、色差成分の画像符号化処理により更新されたヘッダデータおよび符号化データCIMGの色差成分を、ヘッダ領域HRAおよび色差データ領域CRAにデータ転送部60を介してそれぞれ記憶する。
【0030】
可変長符号化処理時には、データ転送部60は、符号化データCIMGのヘッダデータ、輝度成分および色差成分を、ヘッダ領域HRA、輝度データ領域YRAおよび色差データ領域CRAからそれぞれ読み出す。そして、可変長符号化部40は、データ転送部60を介して読み出した符号化データCIMGのヘッダデータ、輝度成分および色差成分を、符号化ストリームSTRMの構成順にマクロブロックMB単位で切り替えて可変長符号化する。
【0031】
このように、データ転送部60は、データバッファ84を、ヘッダデータを記憶するヘッダ領域HRA、符号化データCIMGの輝度成分を記憶する輝度データ領域YRAおよび符号化データCIMGの色差成分を記憶する色差データ領域CRAに分けて管理する。このため、例えば、データ転送部60は、ライトポインタおよびリードポインタを領域毎に用いて、データバッファ84を管理する。これにより、この実施形態では、動画像処理装置10の処理順序(例えば、図4に示す動作)に対して、ヘッダ領域HRA、輝度データ領域YRAおよび色差データ領域CRAの各領域を、各領域のライトポインタおよびリードポインタによって簡単に制御できる。例えば、輝度データ領域YRAおよび色差データ領域CRAに関しては、各領域内では、画像符号化処理で書き込んだ順に、可変長符号化処理で読み出せばよいので、FIFO(First-In First-Out)のように制御できる。
【0032】
また、ヘッダ領域HRAに関しては、輝度成分の画像符号化処理時に書き込んだヘッダデータを色差成分の画像符号化処理時に読み出すが、これは書き込んだ順番に読み出せばよいので、制御としてはFIFOと同様である。そして、色差成分の画像符号化処理時に確定する色差パラメータの部分を書き換えて、再度同じ位置に書き込みを行う。この色差成分の画像符号化処理時に書き込んだヘッダデータを可変長符号化処理で順番に読み出せばよいので、制御としてはFIFOと同様である。なお、ヘッダ領域HRA、輝度データ領域YRAおよび色差データ領域CRAの各領域は、マクロブロックMB単位でデータ量が可変である。
【0033】
図4は、図1に示した動画像処理システムESYSの動作の一例を示している。図中のマクロブロックMB0は、最初に処理されるマクロブロックMB(例えば、図2のマクロブロックラインML0の左端のマクロブロックMB)を示している。また、図中のマクロブロックMBnは、最後に処理されるマクロブロックMB(例えば、図2のマクロブロックラインML67の右端のマクロブロックMB)を示している。また、ピクチャPIC1は、ピクチャPIC0の次に処理されるピクチャPICを示している。なお、図4の括弧内の動作は、比較例の画像符号化処理を示している。
【0034】
時刻t10では、画像符号化部20は、ピクチャPIC0の輝度成分に対する画像符号化処理をマクロブロックMB毎に順次実施する(図のPIC0(Y))。例えば、画像符号化部20は、各マクロブロックMBに対して、画像符号化処理を輝度ブロックY0、Y1、Y2、Y3の順に実施する。
【0035】
これにより、符号化データCIMGの輝度成分およびヘッダデータが生成される。符号化データCIMGの輝度成分およびヘッダデータは、メモリ80のデータバッファ84に記憶される。例えば、符号化データCIMGの輝度成分は、データバッファ84の輝度データ領域YRAに記憶される。また、符号化データCIMGのヘッダデータは、データバッファ84のヘッダ領域HRAに記憶される。すなわち、輝度ブロックYの1ピクチャPIC分の画像符号化処理では、ヘッダデータおよび符号化データCIMGの輝度成分が、データバッファ84のヘッダ領域HRAおよび輝度データ領域YRAにそれぞれ書き込まれる。
【0036】
次に、画像符号化部20は、ピクチャPIC0の色差成分に対する画像符号化処理をマクロブロックMB毎に順次実施する(図のPIC0(Cb、Cr))。例えば、画像符号化部20は、輝度成分の画像符号化処理により生成されたヘッダデータを、データバッファ84のヘッダ領域HRAからデータ転送部60を介して読み出す。そして、画像符号化部20は、各マクロブロックMBに対して、画像符号化処理を色差ブロックCb、Crの順に実施する。
【0037】
これにより、符号化データCIMGの色差(Cb、Cr)成分が生成される。また、ヘッダデータの色差成分に関するパラメータが更新される。符号化データCIMGの色差成分およびヘッダデータは、メモリ80のデータバッファ84に記憶される。例えば、符号化データCIMGの色差成分は、データバッファ84の色差データ領域CRAに記憶される。また、符号化データCIMGのヘッダデータは、データバッファ84のヘッダ領域HRAに記憶される。ここまでの動作により、ピクチャPIC0の符号化データCIMGがデータバッファ84に記憶される。
【0038】
そして、画像符号化部20は、ピクチャPIC0の次のピクチャPIC1の輝度成分に対する画像符号化処理をマクロブロックMB毎に順次実施する(図のPIC1(Y))。その後、画像符号化部20は、ピクチャPIC1の色差成分に対する画像符号化処理をマクロブロックMB毎に順次実施する(図のPIC1(Cb、Cr))。
【0039】
このように、画像符号化部20は、先ず、輝度ブロックYの1ピクチャPIC分の画像符号化処理を実施し、次に、色差ブロックCb、Crの1ピクチャPIC分の画像符号化処理を実施する。すなわち、画像符号化部20は、画像データIIMGの輝度成分を符号化する輝度成分の画像符号化処理と画像データIIMGの色差成分を符号化する色差成分の画像符号化処理とを、ピクチャPIC単位で切り替えて実施する。
【0040】
符号化データCIMGの輝度成分および符号化データCIMGの色差成分の両方が生成された後、符号化データCIMGが可変長符号化される。例えば、ピクチャPIC0の輝度成分および色差成分に対する画像符号化処理が終了した後(時刻t20)、ピクチャPIC0の符号化データCIMGが可変長符号化される。すなわち、ピクチャPIC0の輝度成分および色差成分の符号化データCIMGが生成された後、ピクチャPIC0の符号化データCIMGが可変長符号化される。
【0041】
時刻t20では、可変長符号化部40は、画像符号化部20により生成されたピクチャPIC0の符号化データCIMGを、データ転送部60を介してメモリ80のデータバッファ84から読み出す。例えば、可変長符号化部40は、符号化データCIMGのヘッダデータ、輝度成分および色差成分を、データバッファ84のヘッダ領域HRA、輝度データ領域YRAおよび色差データ領域CRAからデータ転送部60を介してそれぞれ読み出す。
【0042】
そして、可変長符号化部40は、ピクチャPIC0のヘッダデータ、輝度成分および色差成分が符号化されたそれぞれの符号化データCIMGを、マクロブロックMB毎に可変長符号化する(図の可変長符号化処理のPIC0(Y、Cb、Cr))。例えば、可変長符号化部40は、各マクロブロックMBに対して、可変長符号化処理を輝度ブロックY0、Y1、Y2、Y3、色差ブロックCb、Crの順に実施する。
【0043】
時刻t30では、可変長符号化部40は、ピクチャPIC1の輝度成分および色差成分が符号化されたそれぞれの符号化データCIMGを、マクロブロックMB毎に可変長符号化する(図の可変長符号化処理のPIC1(Y、Cb、Cr))。このように、可変長符号化部40は、符号化データCIMGの輝度成分を可変長符号化する輝度成分の可変長符号化処理と符号化データCIMGの色差成分を可変長符号化する色差成分の可変長符号化処理とをマクロブロックMB単位で切り替えて実施する。すなわち、可変長符号化部40は、MPEGやH.264等に準拠したストリームの構成順に、可変長符号化処理を実施する。
【0044】
このように、この実施形態では、画像符号化処理と可変長符号化処理とでデータの処理順序が異なる制御を実施する。このため、符号化データCIMGは、画像符号化部20から可変長符号化部40にデータバッファ84を介して転送される。
【0045】
ここで、比較例(図の括弧内の動作)では、MPEGやH.264等に準拠したストリームの構成順に、画像符号化処理が実施される(図の比較例のPIC0(Y、Cb、Cr))。このため、比較例では、画像符号化処理に必要な周辺画素を一時的に記憶する内部メモリ等には、輝度画素および色差画素の両方のデータが記憶される。したがって、内部メモリの容量は、増加する。
【0046】
これに対し、この実施形態では、画像符号化部20は、輝度成分の画像符号化処理と色差成分の画像符号化処理とを、ピクチャPIC単位で切り替えて実施する。これにより、この実施形態では、例えば、画像符号化処理に必要な周辺画素を一時的に記憶する内部メモリを、輝度画素と色差画素とで兼用できる。この結果、画像処理に必要な内部メモリの容量を削減できる。ここで、内部メモリは、例えば、フレーム内予測用の周辺画素やデブロッキングフィルタ処理用の周辺画素等のデータを一時的に記憶するバッファ等である。なお、フレーム間予測の参照画像の読み出しにキャッシュメモリを使用する動画像処理装置では、キャッシュメモリも内部メモリに含まれる。
【0047】
なお、動画像処理システムESYSの動作は、この例に限定されない。例えば、輝度成分および色差成分に対するそれぞれの画像符号化処理の切り替え単位は、図5に示すようにスライスSL単位でもよいし、図6に示すように複数のマクロブロックラインMLを含むグループ(分割領域SG)単位でもよい。
【0048】
図5は、スライスSL単位切り替えとピクチャPIC単位切り替えとの比較を示している。なお、図5は、図2に示したピクチャPICを処理するときの動画像処理システムESYSの動作の一例を示している。ピクチャPIC単位切り替えの動作は、図4で説明しているため、詳細な説明を省略する。スライスSL単位切り替えでは、画像符号化部20は、先ず、輝度ブロックYの1スライスSL分の画像符号化処理を実施し、次に、色差ブロックCb、Crの1スライスSL分の画像符号化処理を実施する。
【0049】
例えば、時刻t10では、画像符号化部20は、スライスSL0(マクロブロックラインML0−ML33)の輝度成分に対する画像符号化処理をマクロブロックMB毎に順次実施する(図のSL0(Y))。これにより、符号化データCIMGの輝度成分およびヘッダデータが生成される。符号化データCIMGの輝度成分およびヘッダデータは、メモリ80のデータバッファ84に記憶される。
【0050】
次に、画像符号化部20は、スライスSL0の色差成分に対する画像符号化処理をマクロブロックMB毎に順次実施する(図のSL0(Cb、Cr))。これにより、符号化データCIMGの色差(Cb、Cr)成分およびヘッダデータが生成される。符号化データCIMGの色差成分およびヘッダデータは、メモリ80のデータバッファ84に記憶される。ここまでの動作により、スライスSL0の符号化データCIMGがデータバッファ84に記憶される。
【0051】
そして、画像符号化部20は、スライスSL0の次のスライスSL1(マクロブロックラインML34−ML67)の輝度成分に対する画像符号化処理をマクロブロックMB毎に順次実施する(図のSL1(Y))。その後、画像符号化部20は、スライスSL1の色差成分に対する画像符号化処理をマクロブロックMB毎に順次実施する(図のSL1(Cb、Cr))。ここまでの動作により、1ピクチャPIC分の符号化データCIMGがデータバッファ84に記憶される。
【0052】
このように、画像符号化部20は、画像データIIMGの輝度成分を符号化する輝度成分の画像符号化処理と画像データIIMGの色差成分を符号化する色差成分の画像符号化処理とを、スライスSL単位で切り替えて実施する。
【0053】
符号化データCIMGの輝度成分および符号化データCIMGの色差成分の両方が生成された後、符号化データCIMGが可変長符号化される。例えば、スライスSL0の輝度成分および色差成分に対する画像符号化処理が終了した後(時刻t12)、スライスSL0の符号化データCIMGが可変長符号化される。すなわち、スライスSL0の輝度成分および色差成分の符号化データCIMGが生成された後、スライスSL0の符号化データCIMGが可変長符号化される。
【0054】
時刻t12では、可変長符号化部40は、画像符号化部20により生成されたスライスSL0の符号化データCIMGを、データ転送部60を介してメモリ80のデータバッファ84から読み出す。そして、可変長符号化部40は、スライスSL0の輝度成分および色差成分が符号化されたそれぞれの符号化データCIMGを、マクロブロックMB毎に可変長符号化する(図のSL0(Y、Cb、Cr))。
【0055】
時刻t20aでは、可変長符号化部40は、スライスSL1の輝度成分および色差成分が符号化されたそれぞれの符号化データCIMGを、マクロブロックMB毎に可変長符号化する(図のSL1(Y、Cb、Cr))。
【0056】
スライスSL単位切り替えでは、スライスSL0の符号化データCIMGがデータバッファ84に記憶された時点で可変長符号化処理を開始できるため、ピクチャPIC単位切り替えに比べて、符号化遅延を抑制できる。例えば、ピクチャPIC単位切り替えでは、ピクチャPIC0の可変長符号化処理は、時刻t12より遅い時刻t20に開始され、時刻t24に終了する。これに対し、スライスSL単位切り替えでは、ピクチャPIC0の可変長符号化処理は、時刻t24より早い時刻t22に終了する。なお、スライスSL単位切り替えでは、輝度成分の画像符号化処理と色差成分の画像符号化処理とがピクチャPICの途中(スライスSLの境界)で切り替わるため、画像符号化処理に必要な周辺画素を一時的に記憶する内部メモリの読み直しが発生する場合がある。
【0057】
図6は、図1に示した動画像処理システムESYSの動作の別の例を示している。なお、図6は、図2に示したピクチャPICを4分割した分割領域SG(17行のマクロブロックラインML)単位で輝度成分の画像符号化処理と色差成分の画像符号化処理とを切り替えるときの動作を示している。なお、分割領域SGは、スライスSLより大きくてもよいし、小さくてもよい。画像符号化部20は、先ず、輝度ブロックYの1分割領域SG分の画像符号化処理を実施し、次に、色差ブロックCb、Crの1分割領域SG分の画像符号化処理を実施する。
【0058】
例えば、時刻t10では、画像符号化部20は、分割領域SG0(マクロブロックラインML0−ML16)の輝度成分に対する画像符号化処理をマクロブロックMB毎に順次実施する(図のSG0(Y))。これにより、符号化データCIMGの輝度成分およびヘッダデータが生成される。符号化データCIMGの輝度成分およびヘッダデータは、メモリ80のデータバッファ84に記憶される。
【0059】
次に、画像符号化部20は、分割領域SG0の色差成分に対する画像符号化処理をマクロブロックMB毎に順次実施する(図のSL0(Cb、Cr))。これにより、符号化データCIMGの色差(Cb、Cr)成分およびヘッダデータが生成される。符号化データCIMGの色差成分およびヘッダデータは、メモリ80のデータバッファ84に記憶される。ここまでの動作により、分割領域SG0の符号化データCIMGがデータバッファ84に記憶される。
【0060】
そして、画像符号化部20は、分割領域SG0の次の分割領域SG1(マクロブロックラインML17−ML33)の輝度成分に対する画像符号化処理をマクロブロックMB毎に順次実施する(図のSG1(Y))。その後、画像符号化部20は、分割領域SG1の色差成分に対する画像符号化処理をマクロブロックMB毎に順次実施する(図のSG1(Cb、Cr))。
【0061】
次に、画像符号化部20は、分割領域SG1の次の分割領域SG2(マクロブロックラインML34−ML50)の輝度成分に対する画像符号化処理をマクロブロックMB毎に順次実施する(図のSG2(Y))。その後、画像符号化部20は、分割領域SG2の色差成分に対する画像符号化処理をマクロブロックMB毎に順次実施する(図のSG2(Cb、Cr))。
【0062】
そして、画像符号化部20は、分割領域SG2の次の分割領域SG3(マクロブロックラインML51−ML67)の輝度成分に対する画像符号化処理をマクロブロックMB毎に順次実施する(図のSG3(Y))。その後、画像符号化部20は、分割領域SG3の色差成分に対する画像符号化処理をマクロブロックMB毎に順次実施する(図のSG3(Cb、Cr))。ここまでの動作により、1ピクチャPIC分の符号化データCIMGがデータバッファ84に記憶される。
【0063】
このように、画像符号化部20は、画像データIIMGの輝度成分を符号化する輝度成分の画像符号化処理と画像データIIMGの色差成分を符号化する色差成分の画像符号化処理とを、分割領域SG単位で切り替えて実施する。
【0064】
符号化データCIMGの輝度成分および符号化データCIMGの色差成分の両方が生成された後、符号化データCIMGが可変長符号化される。例えば、分割領域SG0の輝度成分および色差成分に対する画像符号化処理が終了した後(時刻t11)、分割領域SG0の符号化データCIMGが可変長符号化される。すなわち、分割領域SG0の輝度成分および色差成分の符号化データCIMGが生成された後、分割領域SG0の符号化データCIMGが可変長符号化される。
【0065】
時刻t11では、可変長符号化部40は、画像符号化部20により生成された分割領域SG0の符号化データCIMGを、データ転送部60を介してメモリ80のデータバッファ84から読み出す。そして、可変長符号化部40は、分割領域SG0のヘッダデータ、輝度成分および色差成分が符号化されたそれぞれの符号化データCIMGを、マクロブロックMB毎に可変長符号化する(図のSG0(Y、Cb、Cr))。その後、可変長符号化部40は、分割領域SG1−SG3の符号化データCIMGに対して、可変長符号化処理を順次実施する(図のSG1(Y、Cb、Cr)、SG2(Y、Cb、Cr)、SG3(Y、Cb、Cr))。
【0066】
例えば、時刻t20bでは、可変長符号化部40は、分割領域SG3のヘッダデータ、輝度成分および色差成分が符号化されたそれぞれの符号化データCIMGを、マクロブロックMB毎に可変長符号化する(図のSG3(Y、Cb、Cr))。
【0067】
スライスSLより小さい分割領域SGを切り替えの所定単位とした動作では、分割領域SG0の符号化データCIMGがデータバッファ84に記憶された時点で可変長符号化処理を開始できるため、スライスSL単位切り替えに比べて、符号化遅延を抑制できる。例えば、分割領域SG単位切り替えでは、ピクチャPIC0の可変長符号化処理は、図5に示した時刻t22より早い時刻t21に終了する。なお、分割領域SG単位切り替えでは、輝度成分の画像符号化処理と色差成分の画像符号化処理とがピクチャPICの途中(分割領域SGの境界)で切り替わるため、画像符号化処理に必要な周辺画素を一時的に記憶する内部メモリの読み直しが発生する。
【0068】
以上、この実施形態では、動画像処理装置10は、可変長符号化処理のデータ処理順序と異なる処理順序で画像符号化処理を実施する画像符号化部20を有している。なお、動画像処理装置10は、データバッファ84を用いて、画像符号化部20と可変長符号化部40との間で、符号化データCIMGを並び換える。これにより、この実施形態では、画像データIIMGの輝度成分および色差成分のそれぞれの画像符号化処理を、複数のマクロブロックラインMLを少なくとも含む所定単位で切り替えて実施できる。この結果、この実施形態では、画像処理に必要な内部メモリの容量を削減できる。これにより、この実施形態では、動画像処理装置10のチップサイズおよび製造コストを削減できる。
【0069】
また、この実施形態では、データ転送部60は、データバッファ84を、ヘッダ領域HRA、輝度データ領域YRAおよび色差データ領域CRAに分けて管理する。これにより、この実施形態では、ヘッダ領域HRA、輝度データ領域YRAおよび色差データ領域CRAの各領域を、各領域のライトポインタおよびリードポインタによって簡単に制御できる。輝度データ領域YRAおよび色差データ領域CRAはFIFOとして制御することができ、ヘッダ領域HRAに関しては、色差成分の画像符号化処理時に読み出し、書き込み処理が行われるが、基本的にはFIFOのように制御できる。したがって、この実施形態では、データ転送部60によるデータバッファ84の制御を簡易にできる。
【0070】
図7は、別の実施形態における動画像処理システムESYSの一例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の動画像処理システムESYSは、図1に示した動画像処理装置10の代わりに動画像処理装置10Aを有している。動画像処理システムESYSのその他の構成は、上述した実施形態と同じである。
【0071】
例えば、動画像処理システムESYSは、画像データIIMGをMPEGやH.264等に準拠した符号化方式で符号化する動画像処理装置10Aと、動画像処理装置10Aに接続されるメモリ80とを有している。動画像処理装置10Aは、例えば、メモリ80とは別のチップに形成される。
【0072】
動画像処理装置10Aは、画像符号化部20A、可変長符号化部40、データ転送部60、キャッシュ62およびバッファ64(64a、64b)を有している。画像符号化部20Aは、図4−図6で説明したように、輝度成分の画像符号化処理と色差成分の画像符号化処理とを、所定単位(例えば、ピクチャPIC単位)で切り替えて実施する。
【0073】
例えば、画像符号化部20Aは、動きベクトル探索部(ME)21、予測画像生成部22、差分算出部(DIFF)23、直交変換部(T)24、量子化部(Q)25、逆量子化部(IQ)26、逆直交変換部(IT)27、動き補償部(MC)28およびループフィルタ部(LF)29を有している。
【0074】
動きベクトル探索部21は、例えば、入力画像データIIMGおよび参照画像データRIMGをメモリ80からデータ転送部60を介して読み出し、各マクロブロックMBの動きベクトルを探索する。例えば、動きベクトルの探索は、画像データIIMG、RIMGの輝度成分を用いて実施される。すなわち、動きベクトル探索部21は、画像データIIMG、RIMGの色差成分を用いずに、動きベクトルを探索する。
【0075】
予測画像生成部22は、フレーム内予測用の予測画像やフレーム間予測用の予測画像を生成する。例えば、予測画像生成部22は、処理対象のマクロブロックMBの周辺画素をバッファ64aからデータ転送部60を介して読み出し、フレーム内予測用の予測画像を生成する。また、例えば、予測画像生成部22は、参照画像データRIMGをメモリ80等からデータ転送部60を介して読み出し、フレーム間予測用の予測画像を生成する。なお、例えば、参照画像データRIMGがキャッシュ62に記憶されているときには、参照画像データRIMGは、キャッシュ62から読み出される。
【0076】
差分算出部23は、入力画像データIIMGをメモリ80からデータ転送部60を介して受け、予測画像を予測画像生成部22から受ける。そして、差分算出部23は、入力画像データIIMGと予測画像との差分を算出する。直交変換部24は、差分算出部23から受けたデータ(差分画像)を直交変換する。
【0077】
量子化部25は、直交変換部24から受けたデータを量子化し、符号化データCIMGを生成する。そして、量子化部25は、符号化データCIMGを、逆量子化部26およびデータ転送部60に出力する。これにより、画像データIIMGを符号化した符号化データCIMGは、データ転送部60を介してメモリ80のデータバッファ84に記憶される。
【0078】
逆量子化部26は、量子化部25から受けた符号化データCIMGを逆量子化する。逆直交変換部27は、逆量子化部26から受けたデータを逆直交変換する。動き補償部28は、逆直交変換部27から受けたデータと予測画像生成部22から受けた予測画像とを加算して、復号画像をループフィルタ部29に出力する。
【0079】
ループフィルタ部29は、動き補償部28から受けた復号画像に対して、デブロッキングフィルタ処理等のループフィルタ処理を実施する。例えば、ループフィルタ部29は、処理対象のマクロブロックMBの周辺画素をバッファ64bからデータ転送部60を介して読み出し、ループフィルタ処理を実施する。これにより、ローカルデコード画像データLIMGが生成される。ローカルデコード画像データLIMGは、例えば、データ転送部60を介してメモリ80等に記憶される。
【0080】
なお、例えば、予測画像生成部22、差分算出部23、直交変換部24、量子化部25、逆量子化部26、逆直交変換部27、動き補償部28およびループフィルタ部29は、輝度成分の処理と色差成分の処理とを、所定単位(例えば、ピクチャPIC単位)で切り替えて実施する。
【0081】
可変長符号化部40の動作は、上述した実施形態と同じである。また、データ転送部60は、キャッシュ62およびバッファ64a、64bに接続され、キャッシュ62およびバッファ64a、64bに対するアクセスを制御する。データ転送部60のその他の動作は、上述した実施形態と同じである。
【0082】
キャッシュ62は、例えば、参照画像データRIMGを読み出すときに使用されるキャッシュメモリである。例えば、キャッシュ62は、数マクロブロックラインML分の容量を有している。そして、キャッシュ62は、例えば、処理中のマクロブロックMBで参照される可能性の高い領域の画像データ(候補画像データ)を自動的にプリフェッチする。
【0083】
なお、キャッシュ62は、フレーム間予測に使用される参照画像の候補となる候補画像データを記憶する領域が、輝度成分の画像符号化処理と色差成分の画像符号化処理とで兼用される。そして、キャッシュ62は、輝度成分の画像符号化処理時に、候補画像データの輝度成分を順次記憶し、色差成分の画像符号化処理時に、候補画像データの色差成分を順次記憶する。
【0084】
バッファ64は、フレーム内予測用の周辺画素やデブロッキングフィルタ処理用の周辺画素等のデータを一時的に記憶する。例えば、バッファ64aは、フレーム内予測用の周辺画素等のデータを一時的に記憶する。また、バッファ64bは、デブロッキングフィルタ処理用の周辺画素等のデータを一時的に記憶する。なお、バッファ64は、例えば、輝度成分の画像符号化処理と色差成分の画像符号化処理とで兼用される。
【0085】
図8は、図7に示した画像符号化部20Aの動作の一例を示している。なお、図8は、1ピクチャPIC分の画像符号化処理の一例を示している。図中のマクロブロックMB0は、最初に処理されるマクロブロックMB(例えば、図2のマクロブロックラインML0の左端のマクロブロックMB)を示している。また、図中のマクロブロックMBnは、最後に処理されるマクロブロックMB(例えば、図2のマクロブロックラインML67の右端のマクロブロックMB)を示している。
【0086】
輝度成分の画像符号化処理(図のPIC0(Y))では、先ず、動きベクトル探索部(ME)21は、各マクロブロックMBの動きベクトルの探索を順次実施する。マクロブロックMB0の動きベクトルの探索が終了した後、差分算出部(DIFF)23は、マクロブロックMB0の差分画像の輝度成分を生成する。例えば、差分算出部23は、画像データIIMGの輝度成分と予測画像の輝度成分との差分を算出する。
【0087】
そして、直交変換部(T)24は、マクロブロックMB0の差分画像の輝度成分を直交変換する。量子化部(Q)25は、直交変換部24から受けたデータを量子化し、マクロブロックMB0の符号化データCIMGの輝度成分を生成する。これにより、マクロブロックMB0の輝度成分を符号化した符号化データCIMGは、データバッファ84の輝度データ領域YRAに記憶される。また、マクロブロックタイプ、動きベクトル、量子化スケール等の輝度成分および色差成分の両方の処理で使用されるパラメータ(ヘッダデータ)は、データバッファ84のヘッダ領域HRAに記憶される。
【0088】
逆量子化部(IQ)26は、マクロブロックMB0の符号化データCIMGの輝度成分(量子化部25から受けた符号化データCIMG)を逆量子化する。逆直交変換部(IT)27は、逆量子化されたデータの輝度成分(逆量子化部26から受けたデータ)を逆直交変換する。動き補償部(MC)28は、逆直交変換部27から受けたデータと予測画像生成部22から受けた予測画像とを加算して、マクロブロックMB0の復号画像の輝度成分を生成する。
【0089】
ループフィルタ部(LF)29は、マクロブロックMB0の復号画像の輝度成分に対して、ループフィルタ処理を実施する。これにより、マクロブロックMB0のローカルデコード画像データLIMGの輝度成分が生成される。マクロブロックMB0のローカルデコード画像データLIMGの一部は、例えば、次のマクロブロックラインMLのループフィルタ処理に使用されるため、バッファ64bに記憶される。
【0090】
マクロブロックMB1・・・MBnに対しても、各マクロブロックMBの動きベクトルの探索が終了した後、上述の処理が実施される。なお、輝度成分の画像符号化処理では、例えば、差分算出部23、直交変換部24、量子化部25、逆量子化部26、逆直交変換部27、動き補償部28およびループフィルタ部29の各処理は、輝度ブロックY0、Y1、Y2、Y3の順に実施される。
【0091】
色差成分の画像符号化処理(図のPIC0(Cb、Cr))では、各マクロブロックMBの動きベクトルの探索が既に終了しているため、差分算出部23等の各処理がマクロブロックMB毎に順次実施される。差分算出部23、直交変換部24、量子化部25、逆量子化部26、逆直交変換部27、動き補償部28およびループフィルタ部29の各処理は、上述の輝度成分の画像符号化処理の動作説明における輝度成分を色差成分に読み替えることで説明される。
【0092】
例えば、色差成分の画像符号化処理では、差分算出部23、直交変換部24、量子化部25、逆量子化部26、逆直交変換部27、動き補償部28およびループフィルタ部29の各処理は、色差ブロックCb、Crの順に実施される。なお、色差成分の画像符号化処理では、例えば、輝度成分の画像符号化処理により生成されたヘッダデータがデータバッファ84のヘッダ領域HRAから読み出される。
【0093】
符号化データCIMGの可変長符号化処理は、図4で説明したように、符号化データCIMGの輝度成分および符号化データCIMGの色差成分の両方が生成された後に実施される。
【0094】
ここで、例えば、輝度成分の画像符号化処理では、キャッシュ62およびバッファ64は、色差成分のデータを記憶しなくてよい。また、色差成分の画像符号化処理では、キャッシュ62およびバッファ64は、輝度成分のデータを記憶しなくてよい。このため、この実施形態では、キャッシュ62およびバッファ64の容量を削減できる。
【0095】
図9は、フレーム内予測に使用される周辺画素P10、P20、P30の一例を示している。例えば、フレーム内予測では、予測モードに応じて、マクロブロックMBの上端および左端にそれぞれ隣接する周辺画素P10、P20、P30(図の網掛け)が必要である。
【0096】
例えば、輝度ブロックYでは、輝度ブロックYの上端に隣接する16×1画素P10y、輝度ブロックYの左端に隣接する1×16画素P20y、輝度ブロックYの左上の画素P30yが必要である。また、例えば、色差ブロックCbでは、色差ブロックCbの上端に隣接する8×1画素P10cb、色差ブロックCbの左端に隣接する1×8画素P20cb、色差ブロックCbの左上の画素P30cbが必要である。そして、色差ブロックCrでは、色差ブロックCrの上端に隣接する8×1画素P10cr、色差ブロックCrの左端に隣接する1×8画素P20cr、色差ブロックCrの左上の画素P30crが必要である。なお、フレーム内予測の予測モードによっては、図9に示した以外の画素が必要なときもある。
【0097】
図10は、デブロッキングフィルタ処理に使用される周辺画素P12、P22の一例を示している。デブロッキングフィルタ処理では、例えば、マクロブロックMBの水平エッジHEGおよび垂直エッジVEGに対して、複数画素分(輝度ブロックYで4画素、色差ブロックCr、Cbで2画素)の周辺画素P12、P22(図の網掛け)が必要である。
【0098】
例えば、輝度ブロックYでは、水平エッジHEGの上側の16×4画素P12yと垂直エッジVEGの左側の4×16画素P22yとが必要である。また、例えば、色差ブロックCbでは、水平エッジHEGの上側の8×2画素P12cbと垂直エッジVEGの左側の2×8画素P22cbとが必要である。そして、色差ブロックCrでは、水平エッジHEGの上側の8×2画素P12crと垂直エッジVEGの左側の2×8画素P22crとが必要である。
【0099】
図11は、図7に示したバッファ64の管理の一例を示している。なお、図11は、図2に示したピクチャPICを処理するときのバッファ64の管理の一例を示している。図のピクチャPICの上側に付した数字は、マクロブロックMBの列番号を示している。以下、例えば、列番号jのマクロブロックMBをj列目のマクロブロックMBとも称する。また、マクロブロックMBpr(図の網掛け)は、処理対象のマクロブロックMBを示している。
【0100】
バッファ64は、例えば、1マクロブロックラインMLの各マクロブロックMBに対応する領域AR0−AR119を有している。なお、図11では、バッファ64a、64bの管理の概要が互いに同じであるため、バッファ64a、64bを区別せずに、バッファ64と記載している。例えば、バッファ64aでは、領域AR0−AR119は、図12に示す領域ARa0−ARa119に対応する。また、バッファ64bでは、領域AR0−AR119は、図13に示す領域ARb0−ARb119に対応する。
【0101】
画像符号化部20Aは、例えば、マクロブロックラインML4のj列目のマクロブロックMBprを処理する前に、マクロブロックMBprの上側の周辺画素のデータを、バッファ64の領域ARj(図の太線で囲んだ領域)からデータ転送部60を介して読み出す。すなわち、マクロブロックMBprが処理される前に、マクロブロックラインML3のj列目のマクロブロックMB内の下側の画素のデータが、バッファ64の領域ARjから読み出される。
【0102】
そして、画像符号化部20Aは、読み出した周辺画素のデータを用いて、マクロブロックMBprに対する画像符号化処理を実施する。マクロブロックMBpr内の下側の画素のデータ(処理結果)は、例えば、マクロブロックラインML5のj列目のマクロブロックMBを処理するときに使用される。このため、画像符号化部20Aは、マクロブロックMBprを処理した後、マクロブロックMBpr内の下側の画素のデータを、バッファ64の領域ARj(図の太線で囲んだ領域)にデータ転送部60を介して書き込む。
【0103】
このように、画像符号化部20Aは、j列目のマクロブロックMBを処理する前に、j列目のマクロブロックMBの上側の周辺画素のデータをバッファ64の領域ARjからデータ転送部60を介して読み出す。そして、画像符号化部20Aは、j列目のマクロブロックMBの処理完了後に、j列目のマクロブロックMB内の下側の画素のデータ(処理結果)をバッファ64の領域ARjにデータ転送部60を介して書き込む。
【0104】
なお、マクロブロックMBpr内の右側の画素のデータ(処理結果)は、次のマクロブロックMB(マクロブロックラインML4のj+1列目のマクロブロックMB)を処理するときに使用される。このため、マクロブロックMBpr内の右側の画素のデータは、例えば、次のマクロブロックMBを処理するまで、予測画像生成部22やループフィルタ部29に保持される。
【0105】
ここで、画像符号化部20Aは、例えば、マクロブロックMBprの処理中に、マクロブロックMBprの次のマクロブロックMBの上側の周辺画素のデータを、バッファ64の領域ARj+1からデータ転送部60を介して読み出してもよい。これにより、j+1列目のマクロブロックMBが処理される前に、j+1列目のマクロブロックMBの上側の周辺画素のデータが、バッファ64の領域ARj+1から読み出される。
【0106】
例えば、画像符号化部20Aは、j列目のマクロブロックMBを処理しているときに、次に処理するj+1列目のマクロブロックMBの上側の周辺画素のデータをバッファ64の領域ARj+1からデータ転送部60を介して読み出す。そして、画像符号化部20Aは、j列目のマクロブロックMBの処理完了後に、j列目のマクロブロックMB内の下側の画素のデータ(処理結果)をバッファ64の領域ARjにデータ転送部60を介して書き込む。
【0107】
図12は、図7に示したフレーム内予測用のバッファ64aの記憶領域の割り当ての一例を示している。なお、図12は、図2に示したピクチャPICを処理するときのバッファ64aの記憶領域の割り当ての一例を示している。バッファ64aは、例えば、1マクロブロックラインMLの各マクロブロックMBに対応する領域ARa0−ARa119を有している。
【0108】
4:2:0フォーマットでは、色差成分の水平画素数は、輝度成分の水平画素数の半分である。なお、色差成分がCb面およびCr面の2つ分あるため、Cb面の水平画素数とCr面の水平画素数の合計は、輝度成分の水平画素数と同じである。したがって、マクロブロックMBの上端に隣接する画素を使用するフレーム内予測では、色差成分の処理に必要な水平画素数(図9に示した周辺画素P10cr、P10cbの数)は、輝度成分の処理に必要な水平画素数(図9に示した周辺画素P10yの数)と同じである。
【0109】
このため、例えば、バッファ64aは、水平画素数(図2では、1920)×1画素分の容量を有している。そして、バッファ64aは、輝度成分のフレーム内予測と色差成分のフレーム内予測とで兼用される。例えば、輝度成分のフレーム内予測では、処理対象の輝度ブロックYの上端に隣接する16×1画素P10yが各領域ARaに記憶される。また、例えば、色差成分のフレーム内予測では、処理対象の色差ブロックCbの上端に隣接する8×1画素P10cbと処理対象の色差ブロックCrの上端に隣接する8×1画素P10crとが、各領域ARaに記憶される。
【0110】
すなわち、バッファ64aでは、フレーム内予測に使用される周辺画素の少なくとも一部のデータを記憶する領域ARaが、輝度成分の画像符号化処理と色差成分の画像符号化処理とで兼用される。そして、バッファ64aは、輝度成分の画像符号化処理時に、一部のデータの輝度成分(図9に示した周辺画素P10y)を記憶し、色差成分の画像符号化処理時に、一部のデータの色差成分(図9に示した周辺画素P10cr、P10cb)を記憶する。
【0111】
図13は、図7に示したデブロッキングフィルタ処理用のバッファ64bの記憶領域の割り当ての一例を示している。なお、図13は、図2に示したピクチャPICを処理するときのバッファ64bの記憶領域の割り当ての一例を示している。バッファ64bは、例えば、1マクロブロックラインMLの各マクロブロックMBに対応する領域ARb0−ARb119を有している。なお、図中の網掛けは、色差成分の処理のときに使用されない領域を示している。
【0112】
4:2:0フォーマットでは、Cb面の水平画素数とCr面の水平画素数の合計は、輝度成分の水平画素数と同じである。また、デブロッキングフィルタ処理では、図10で説明したように、輝度ブロックYの水平エッジHEGに対して、4画素の周辺画素P12yが必要である。そして、色差ブロックCrの水平エッジHEGに対して、2画素の周辺画素P12crが必要であり、色差ブロックCbの水平エッジHEGに対して、2画素の周辺画素P12cbが必要である。
【0113】
したがって、デブロッキングフィルタ処理では、色差成分の処理に必要な水平画素数(図10に示した周辺画素P12cr、P12cbの数)は、輝度成分の処理に必要な水平画素数(図10に示した周辺画素P12yの数)の半分である。このため、バッファ64bは、輝度成分の処理に必要な水平画素のデータを記憶する容量を有している。そして、バッファ64bは、輝度成分のデブロッキングフィルタ処理と色差成分のデブロッキングフィルタ処理とで兼用される。例えば、バッファ64bは、水平画素数(図2では、1920)×4画素分の容量を有している。なお、輝度成分の処理では、バッファ64bの半分の容量が使用される。
【0114】
例えば、輝度成分のデブロッキングフィルタ処理では、処理対象の輝度ブロックYの水平エッジHEGの上側の16×4画素P12yが、各領域ARbに記憶される。また、例えば、色差成分のデブロッキングフィルタ処理では、処理対象の色差ブロックCbの水平エッジHEGの上側の8×2画素P12cbと処理対象の色差ブロックCrの水平エッジHEGの上側の8×2画素P12crとが、各領域ARbに記憶される。なお、図13では、色差成分の処理のときの未使用領域(図の網掛け)をまとめて示しているが、未使用領域は、各領域ARb内に割り当てられてもよい。
【0115】
このように、バッファ64bでは、デブロッキングフィルタ処理に使用される周辺画素の少なくとも一部のデータを記憶する領域ARbが、輝度成分の画像符号化処理と色差成分の画像符号化処理とで兼用される。そして、バッファ64bは、輝度成分の画像符号化処理時に、一部のデータの輝度成分(図10に示した周辺画素P12y)を記憶し、色差成分の画像符号化処理時に、一部のデータの色差成分(図10に示した周辺画素P12cr、P12cb)を記憶する。
【0116】
図14は、図7に示したキャッシュ62の動作の一例を示している。図のピクチャPICの下側に付した数字は、マクロブロックMBの列番号を示している。また、図の網掛けは、マクロブロックラインML4の3列目のマクロブロックMBの処理中に、キャッシュ62に記憶される参照画像のマクロブロックMBを示している。なお、マクロブロックMBpr(相対的に濃い網掛け)は、処理対象のマクロブロックMBの位置に対応する参照画像(参照フレーム)内のマクロブロックMBを示している。また、マクロブロックMBndは、次のマクロブロックMBの処理のときにキャッシュ62から削除されるマクロブロックMBを示している。そして、マクロブロックMBnfは、次のマクロブロックMBの処理のときにキャッシュ62に書き込まれるマクロブロックMBを示している。
【0117】
キャッシュ62は、例えば、数マクロブロックラインML分の容量を有している。そして、キャッシュ62は、参照される可能性の高い領域の画像データ(参照画像データRIMGの候補)を、処理中のマクロブロックMBの位置に合わせて自動的にプリフェッチする。例えば、キャッシュ62は、処理対象のマクロブロックMBの位置に対応する参照フレーム内のマクロブロックMBprの周辺の画像データを常に保持する。そして、キャッシュ62のデータは、例えば、1マクロブロックMBを処理する度に更新される。
【0118】
例えば、マクロブロックラインML4の4列目のマクロブロックMBの処理(マクロブロックMBprの次のマクロブロックMBに対応する処理)では、プリフェッチされている上端のマクロブロックラインML1から1つのマクロブロックMBndが削除される。そして、プリフェッチされている下端のマクロブロックラインML6に1つのマクロブロックMBnfが追加される。
【0119】
すなわち、キャッシュ62は、例えば、1マクロブロックMBが処理される度に、プリフェッチされている上端のマクロブロックラインMLから1マクロブロックMBを削除し、プリフェッチされている下端のマクロブロックラインMLに1マクロブロックMBを追加する。
【0120】
動画像処理では、処理対象のマクロブロックMBと空間的に近い領域が参照される確率が高い。このため、図14に示したように、処理対象のマクロブロックMBの周辺の画素データをキャッシュ62がプリフェッチすることにより、キャッシュ62のヒット率は高くなる。さらに、この実施形態では、輝度成分の画像符号化処理と色差成分の画像符号化処理とをピクチャPIC単位で切り替えるため、輝度成分の参照画像を読み出すときと色差成分の参照画像を読み出すときとでキャッシュ62を兼用できる。すなわち、キャッシュ62は、輝度成分の処理と色差成分の処理とで兼用される。
【0121】
例えば、キャッシュ62の容量が128Kbyte、1画素のデータ量が1byte、水平サイズが2Kbyteのとき、キャッシュ62は、64行分の参照画像の輝度成分を保持でき、128行分の参照画像の色差成分を保持できる。
【0122】
ここで、輝度成分の画像符号化処理と色差成分の画像符号化処理とをマクロブロックMB単位で切り替えて実施する方式では、参照画像の輝度成分および色差成分の両方を同時にキャッシュ62に記憶させる必要がある。したがって、輝度成分の画像符号化処理と色差成分の画像符号化処理とをマクロブロックMB単位で切り替えて実施する方式では、キャッシュメモリ62の容量が増加する。換言すれば、この実施形態では、キャッシュメモリ62の容量を削減できる。あるいは、この実施形態では、輝度成分の画像符号化処理と色差成分の画像符号化処理とをマクロブロックMB単位で切り替えて実施する方式と同じ容量のキャッシュメモリ62を有するときには、キャッシュ62のヒット率を高めることができる。
【0123】
なお、動画像処理システムESYSの構成および動作は、この例に限定されない。例えば、4:4:4フォーマットでは、バッファ64の容量は、色差成分の処理に必要な水平画素のデータを記憶する容量を有する。すなわち、バッファ64は、輝度成分の処理と色差成分の処理とのうち、処理に必要な水平画素のデータ量が大きい方のデータを記憶する容量を有する。また、例えば、ループフィルタ部29およびバッファ64bは、省かれてもよい。すなわち、バッファ64は、フレーム内予測に使用される周辺画素およびデブロッキングフィルタ処理に使用される周辺画素の少なくとも一方の少なくとも一部のデータを記憶する。
【0124】
また、例えば、輝度成分および色差成分に対するそれぞれの画像符号化処理の切り替え単位は、図5に示したようにスライスSL単位でもよいし、図6に示したように複数のマクロブロックラインMLを含む分割領域SG単位でもよい。なお、スライスSL単位や分割領域SG単位切り替えでは、輝度成分の画像符号化処理と色差成分の画像符号化処理とがピクチャPICの途中で切り替わるため、キャッシュ62およびバッファ64の読み直しが発生する。
【0125】
また、キャッシュ62は、例えば、キャッシュミスしたとき、メモリ80から読み出された参照画像データRIMGを記憶してもよい。この方式では、例えば、キャッシュ62は、プロッセサで使用されているキャッシュ管理(タグ管理)により制御される。
【0126】
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。例えば、この実施形態では、動画像処理装置10Aの内部メモリであるキャッシュ62やバッファ64の容量を削減できる。
【0127】
図15は、別の実施形態における動画像処理システムESYSの一例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の動画像処理システムESYSは、図7に示した動画像処理装置10Aの代わりに動画像処理装置10Bを有している。動画像処理システムESYSのその他の構成は、上述した実施形態と同じである。
【0128】
例えば、動画像処理システムESYSは、画像データIIMGをMPEGやH.264等に準拠した符号化方式で符号化する動画像処理装置10Bと、動画像処理装置10Bに接続されるメモリ80とを有している。動画像処理装置10Bは、例えば、メモリ80とは別のチップに形成される。
【0129】
動画像処理装置10Bは、図7に示した動画像処理装置10Aに画像前処理部32が追加され、画像符号化部20Aの代わりに画像符号化部20Bを有している。動画像処理装置10Bのその他の構成は、動画像処理装置10Aと同じである。例えば、動画像処理装置10Bは、画像符号化部20B、画像前処理部32、可変長符号化部40、データ転送部60、キャッシュ62およびバッファ64(64a、64b)を有している。
【0130】
画像前処理部32は、例えば、コスト算出部33、34を有し、データ転送部60に接続されている。コスト算出部33は、例えば、入力画像データをメモリ80からデータ転送部60を介して受ける。そして、コスト算出部33は、入力画像データの輝度成分および色差成分を用いて、フレーム内予測のモードおよびコスト(差分絶対値和等)をマクロブロックMB毎に算出する。すなわち、コスト算出部33は、フレーム内予測における輝度成分のコストおよび色差成分のコストをマクロブロックMB毎に算出する。
【0131】
コスト算出部33で算出されたフレーム内予測のモードおよびコストは、例えば、データ転送部60を介してメモリ80に記憶され、画像符号化部20Bで使用される。なお、コスト算出部33は、フレーム内予測のモードおよびコストを、メモリ80を介さずに、画像符号化部20Bに出力してもよい。例えば、コスト算出部33は、フレーム内予測のモードおよびコストを、データ転送部60を介して画像符号化部20Bに出力してもよい。この際、フレーム内予測のモードおよびコストは、画像符号化部20Bで使用されるまでコスト算出部33内に保持されてもよいし、画像符号化部20Bで使用されるまで画像符号化部20B内に保持されてもよい。
【0132】
コスト算出部34は、例えば、フレーム間予測における階層的動きベクトル探索処理の前段探索処理を実施する。例えば、コスト算出部34は、縮小画像データをメモリ80からデータ転送部60を介して受ける。そして、コスト算出部34は、縮小画像データの輝度成分および色差成分を用いて、粗い精度の動きベクトルおよびコストをマクロブロックMB毎に算出する。すなわち、コスト算出部34は、フレーム間予測における輝度成分のコストおよび色差成分のコストをマクロブロックMB毎に算出する。
【0133】
コスト算出部34で算出された動きベクトルおよびコストは、例えば、データ転送部60を介してメモリ80に記憶され、画像符号化部20Bで使用される。なお、コスト算出部34は、動きベクトルおよびコストを、メモリ80を介さずに、画像符号化部20Bに出力してもよい。例えば、コスト算出部34は、動きベクトルおよびコストを、データ転送部60を介して画像符号化部20Bに出力してもよい。この際、動きベクトルおよびコストは、画像符号化部20Bで使用されるまでコスト算出部34内に保持されてもよいし、画像符号化部20Bで使用されるまで画像符号化部20B内に保持されてもよい。
【0134】
画像符号化部20Bは、図7に示した画像符号化部20Aにスケール決定部30が追加されている。画像符号化部20Bのその他の構成は、画像符号化部20Aと同じである。例えば、画像符号化部20Bは、ピクチャPICの全ての輝度ブロックYに対して画像符号化処理を実施した後に、色差ブロックCb、Crに対して画像符号化処理を実施する。このため、例えば、画像符号化部20Bは、マクロブロックタイプ、動きベクトル、量子化スケール等の輝度成分および色差成分の処理で共通に使用されるパラメータを、輝度ブロックYの画像符号化処理時に確定する。
【0135】
最終的な動きベクトルは、例えば、輝度ブロックYの画像符号化処理時に、動きベクトル探索部21での後段探索処理により算出される。例えば、動きベクトル探索部21は、コスト算出部34で算出された粗い精度の動きベクトルを中心に、動きベクトル探索を実施する。これにより、最終的な動きベクトルやブロック分割が決定される。なお、動きベクトル探索部21による後段探索処理は、画像データIIMG、RIMGの輝度成分を用いて実施される。すなわち、動きベクトル探索部21は、画像データIIMG、RIMGの色差成分を用いずに、後段探索処理を実施する。
【0136】
マクロブロックタイプは、例えば、フレーム内予測のモードおよびコストと、フレーム間予測のモード、ベクトル値およびコストとに基づいて決定される。例えば、マクロブロックタイプは、動きベクトル探索部21での後段探索処理後に、決定される。画像符号化部20Bは、例えば、コスト算出部33で算出されたフレーム内予測のモードおよびコストと、コスト算出部34で算出されたフレーム間予測のモードおよびコストと、動きベクトル探索部21で算出されたブロック分割および動きベクトルとに基づいて、マクロブロックタイプを決定する。例えば、フレーム内予測およびフレーム間予測の各モードの中で最もコストが小さいものが選択され、マクロブロックタイプが決定される。
【0137】
量子化スケールは、例えば、符号量制御アルゴリズムにしたがって決定される。符号量制御アルゴリズムでは、ピクチャPICのターゲット符号量に収まるように、マクロブロックMB単位で量子化スケールを調整することにより、符号量が制御される。例えば、符号量制御アルゴリズムでは、マクロブロックMB毎に符号量を算出して累積し、処理済みのマクロブロックMBの累積符号量と各マクロブロックMBの処理時点での目標符号量とを比較する。なお、目標符号量は、例えば、ピクチャPICのターゲット符号量から算出される。
【0138】
符号量制御アルゴリズムでは、累積符号量が目標符号量より大きいとき、次のマクロブロックMBでの量子化スケールを大きくして符号量を減らすように制御する。また、符号量制御アルゴリズムでは、累積符号量が目標符号量より小さいとき、次のマクロブロックMBでの量子化スケールを小さくして符号量を増やす(画質を上げる)ように制御する。
【0139】
なお、この実施形態では、輝度成分の画像符号化処理が1ピクチャPIC分実施された後に、色差成分の画像符号化処理が1ピクチャPIC分実施されるため、マクロブロックMB単位の符号量制御に色差成分の符号量を利用できない。このため、この実施形態では、マクロブロックMB単位の符号量制御に、画像前処理部32で算出された輝度成分のコストおよび色差成分のコストを色差成分の符号量の代わりに利用する。なお、画像符号化処理をストリームの構成順に実施する一般的な動画像符号化装置(例えば、図4に示した比較例)では、マクロブロックMB単位の符号量制御に色差成分の符号量を利用できるため、量子化スケールをマクロブロックMB単位で決定する際に、輝度成分のコストおよび色差成分のコストは利用されない。
【0140】
これに対し、この実施形態では、輝度成分のコストと色差成分のコストとマクロブロックMBの輝度成分の符号量に応じた仮の量子化スケールとを利用して、量子化スケールを輝度ブロックYの画像符号化処理時に決定する。例えば、スケール決定部30は、マクロブロックMBの輝度成分(輝度ブロックY)の符号量に応じた仮の量子化スケールを、符号量制御アルゴリズムにしたがって算出する。以下、仮の量子化スケールを基準値とも称する。すなわち、基準値は、輝度成分の符号量に応じて算出される。
【0141】
そして、スケール決定部30は、画像前処理部32で算出された輝度成分のコストおよび色差成分のコストと基準値とに基づいて、量子化スケールをマクロブロックMB単位で決定する。例えば、スケール決定部30は、輝度成分のコストを色差成分のコストで除算した除算結果が第1閾値より小さいとき、量子化スケールを基準値より大きな値に決定する。また、スケール決定部30は、輝度成分のコストを色差成分のコストで除算した除算結果が第2閾値より大きいとき、量子化スケールを基準値より小さい値に決定する。なお、第2閾値は、第1閾値以上の値である。したがって、第2閾値は、第1閾値と同じでもよい。
【0142】
あるいは、スケール決定部30は、例えば、式(1)が成り立つとき、量子化スケールを基準値より大きくし、式(2)が成り立つとき、量子化スケールを基準値より小さくする。なお、式(1)、式(2)のa1、a2は、正の値である。また、式(1)のTH1は、任意の値である。式(2)のTH2は、式(1)のTH1以上の値である。したがって、式(2)のTH2は、式(1)のTH1と同じ値でもよい。
【0143】
輝度成分のコスト×a1−色差成分のコスト×a2<TH1 ‥‥(1)
輝度成分のコスト×a1−色差成分のコスト×a2>TH2 ‥‥(2)
このように、スケール決定部30は、色差ブロックCb、Crの符号量が想定よりも大きくなる可能性があるときに、量子化スケールを大きくする。また、スケール決定部30は、色差ブロックCb、Crの符号量が想定よりも小さくなる可能性があるときに、量子化スケールを小さくする。これにより、この実施形態では、輝度ブロックYのみで符号量制御を実施する方式に比べて、符号量制御を適切に実施できる。
【0144】
図16は、図15に示した動画像処理システムESYSの動作の一例を示している。なお、図16の画像前処理は、画像前処理部32で実施されるコスト算出等の処理である。動画像処理システムESYSは、例えば、画像前処理、画像符号化処理、可変長符号化処理の順に、1ピクチャPICの符号化処理を実施する。
【0145】
例えば、画像前処理部32は、ピクチャPIC毎に画像前処理を順次実施する(図16の画像前処理のPIC0(Y、Cb、Cr)、PIC1(Y、Cb、Cr))。そして、画像符号化部20Bは、図4および図5で説明したように、輝度成分の画像符号化処理と色差成分の画像符号化処理とを、ピクチャPIC単位で切り替えて実施する(図16のPIC0(Y)、PIC0(Cb、Cr)、PIC1(Y)、PIC1(Cb、Cr))。また、可変長符号化部40は、符号化データCIMGの輝度成分および符号化データCIMGの色差成分の両方が生成された後、可変長符号化処理を実施する(図16の可変長符号化処理のPIC0(Y、Cb、Cr)、PIC1(Y、Cb、Cr))。なお、可変長符号化部40は、図4で説明したように、輝度成分の可変長符号化処理と色差成分の可変長符号化処理とを、マクロブロックMB単位で切り替えて実施する。
【0146】
なお、動画像処理システムESYSの構成および動作は、この例に限定されない。例えば、スケール決定部30は、画像符号化部20Bの外部に設けられてもよい。あるいは、画像前処理部32は、画像符号化部20B内に設けられてもよい。また、例えば、輝度成分および色差成分に対するそれぞれの画像符号化処理の切り替え単位は、図5に示したようにスライスSL単位でもよいし、図6に示したように複数のマクロブロックラインMLを含む分割領域SG単位でもよい。
【0147】
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、この実施形態では、スケール決定部30は、画像前処理部32で算出された輝度成分のコストおよび色差成分のコストと、輝度成分の符号量に応じて算出される基準値とに基づいて、量子化スケールをマクロブロックMB単位で決定する。これにより、この実施形態では、符号量制御をマクロブロックMB毎に適切に実施できる。
【0148】
図17は、別の実施形態における動画像処理システムDSYSの一例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の動画像処理システムDSYSは、例えば、MPEGやH.264等に準拠したデコーダである。なお、動画像処理システムDSYSも画像処理装置の一態様を形成する。
【0149】
例えば、動画像処理システムDSYSは、MPEGやH.264等に準拠した符号化ストリームSTRMを復号する動画像処理装置100と、動画像処理装置100に接続されるメモリ80とを有している。符号化ストリームSTRMは、例えば、MPEGやH.264等に準拠した方式で可変長符号化された可変長符号化データである。
【0150】
動画像処理装置100は、画像復号部120、可変長復号部140およびデータ転送部160を有している。例えば、動画像処理装置100は、メモリ80とは別のチップに形成される。
【0151】
可変長復号部140は、MPEGやH.264等に準拠したCAVLCやCABAC等の可変長復号処理を実施する。例えば、可変長復号部140は、可変長符号化された符号化ストリームSTRMを受ける。なお、可変長復号部140は、符号化ストリームSTRMをメモリ80からデータ転送部160を介して受けてもよい。そして、可変長復号部140は、符号化ストリームSTRMを可変長復号し、符号化データCIMGを生成する。
【0152】
また、可変長復号部140は、符号化ストリームSTRMを可変長復号した符号化データCIMGを、データ転送部160を介してメモリ80のデータバッファ84に記憶する。なお、可変長復号部140は、符号化ストリームSTRMの輝度成分を可変長復号する輝度成分の可変長復号処理と符号化ストリームSTRMの色差成分を可変長復号する色差成分の可変長復号処理とを、符号化ストリームSTRMのデータ構成順通り、マクロブロックMB単位で切り替えて実施する。
【0153】
画像復号部120は、逆量子化、逆直交変換および動き補償等の画像復号処理を実施する。例えば、画像復号部120は、復号対象の符号化データCIMGを、データ転送部160を介してメモリ80のデータバッファ84から受ける。また、画像復号部120は、例えば、フレーム間予測の予測画像を生成するための参照画像データRIMGを、データ転送部160を介してメモリ80のフレームメモリ82から受ける。そして、画像復号部120は、符号化データCIMGに対して画像復号処理を実施し、デコード画像データDIMGを生成する。
【0154】
また、画像復号部120は、デコード画像データDIMGを、データ転送部60を介してメモリ80のフレームメモリ82に記憶する。なお、画像復号部120は、輝度成分の画像復号処理と色差成分の画像復号処理とを、所定単位(例えば、ピクチャPIC単位)で切り替えて実施する。画像復号処理においても、例えば、図9に示した周辺画素P10、P20、P30をフレーム内予測で使用する。また、デブロッキングフィルタ処理を実施する画像復号処理では、例えば、図10に示した周辺画素P12、P22、P32をデブロッキングフィルタ処理で使用する。フレーム内予測に使用される周辺画素およびデブロッキングフィルタ処理に使用される周辺画素の使い方は、上述した実施形態と同じである。
【0155】
データ転送部160は、上述した実施形態のデータ転送部60に対応する。すなわち、データ転送部160は、例えば、メモリ80へのアクセスを制御するアクセス制御部としての機能を有している。例えば、データ転送部160は、画像復号部120および可変長復号部140のメモリアクセス制御を実施する。また、例えば、データ転送部160は、図3で説明したように、データバッファ84を、ヘッダデータを記憶するヘッダ領域HRA、符号化データCIMGの輝度成分を記憶する輝度データ領域YRAおよび符号化データCIMGの色差成分を記憶する色差データ領域CRAに分けて管理する。
【0156】
これにより、この実施形態では、動画像処理装置100の処理順序(例えば、図18に示す動作)に対して、ヘッダ領域HRA、輝度データ領域YRAおよび色差データ領域CRAの各領域を、各領域のライトポインタおよびリードポインタによって簡単に制御できる。例えば、輝度データ領域YRAおよび色差データ領域CRAに関しては、各領域内では、可変長復号処理で書き込んだ順に、画像復号処理で読み出せばよいので、FIFOのように制御できる。
【0157】
また、ヘッダ領域HRAに関しては、輝度成分の画像復号処理と色差成分の画像復号処理で2度読み出すが、両方とも可変長復号処理で書き込んだ順番に読み出せばよいので、制御としては基本的にはFIFOと同様である。なお、ヘッダ領域HRA、輝度データ領域YRAおよび色差データ領域CRAの各領域は、マクロブロックMB単位でデータ量が可変である。このため、例えば、データ転送部160は、ライトポインタおよびリードポインタを領域毎に用いて、データバッファ84を管理する。
【0158】
メモリ80は、例えば、SDRAMである。メモリ80は、フレームメモリ82およびデータバッファ84を有している。例えば、フレームメモリ82およびデータバッファ84は、SDRAM上に配置される。なお、メモリ80は、SDRAM以外のメモリでもよい。例えば、メモリ80は、DRAMでもよい。フレームメモリ82は、デコード画像データDIMGや参照画像データRIMG等を記憶する。データバッファ84は、可変長復号部140により生成された符号化データCIMGを記憶する。例えば、データバッファ84は、可変長復号部140と画像復号部120との間で、符号化データCIMGを並び換えるために使用される。
【0159】
図18は、図17に示した動画像処理システムDSYSの動作の一例を示している。図中のマクロブロックMB0は、最初に処理されるマクロブロックMB(例えば、図2のマクロブロックラインML0の左端のマクロブロックMB)を示している。また、図中のマクロブロックMBnは、最後に処理されるマクロブロックMB(例えば、図2のマクロブロックラインML67の右端のマクロブロックMB)を示している。また、ピクチャPIC1は、ピクチャPIC0の次に処理されるピクチャPICを示している。なお、図18の括弧内の動作は、比較例の画像復号処理を示している。
【0160】
動画像処理システムDSYSは、例えば、可変長復号処理、画像復号処理の順に、1ピクチャPICの復号処理を実施する。なお、この実施形態では、可変長復号処理と画像復号処理とでデータの処理順序が異なる制御を実施する。例えば、可変長復号部140は、MPEGやH.264等に準拠したストリームの構成順に、可変長復号処理を実施する。そして、画像復号部120は、1ピクチャPIC分の輝度成分の画像復号処理を実施した後、色差成分の画像復号処理を実施する。このため、符号化ストリームSTRMを可変長復号した符号化データCIMGは、可変長復号部140から画像復号部120にデータバッファ84を介して転送される。
【0161】
時刻t100では、例えば、可変長復号部140は、ピクチャPIC0の符号化ストリームSTRMを、マクロブロックMB毎に可変長復号する(図の可変長復号処理のPIC0(Y、Cb、Cr))。例えば、可変長復号部140は、各マクロブロックMBに対して、可変長復号処理を輝度ブロックY0、Y1、Y2、Y3、色差ブロックCb、Crの順に実施する。
【0162】
これにより、ピクチャPIC0の符号化データCIMGが生成される。符号化ストリームSTRMを可変長復号した符号化データCIMGは、メモリ80のデータバッファ84に記憶される。例えば、可変長復号部140は、符号化データCIMGの輝度成分および色差成分を、データ転送部160を介してデータバッファ84の輝度データ領域YRAおよび色差データ領域CRAにそれぞれ書き込む。また、可変長復号部140は、符号化データCIMGのヘッダデータを、データ転送部160を介してデータバッファ84のヘッダ領域HRAに書き込む。ヘッダデータは、例えば、マクロブロックタイプ、動きベクトル、量子化スケール等のパラメータである。
【0163】
次に、可変長復号部140は、ピクチャPIC1の符号化ストリームSTRMを、マクロブロックMB毎に可変長復号する(図の可変長復号処理のPIC1(Y、Cb、Cr))。このように、可変長復号部140は、符号化ストリームSTRMの輝度成分を復号する輝度成分の可変長復号処理と符号化ストリームSTRMの色差成分を復号する色差成分の可変長復号処理とを、符号化ストリームSTRMのデータ構成順通り、マクロブロックMB単位で切り替えて実施する。
【0164】
なお、ピクチャPIC0の画像復号処理は、例えば、ピクチャPIC0の符号化データCIMGが生成された後(時刻t110)、実施される。また、ピクチャPIC1の画像復号処理は、ピクチャPIC1の符号化データCIMGが生成された後(時刻t120)、実施される。
【0165】
例えば、時刻t110では、画像復号部120は、ピクチャPIC0の符号化データCIMG(可変長復号部140により生成された符号化データCIMG)の輝度成分を、データバッファ84の輝度データ領域YRAからデータ転送部160を介して読み出す。この際、画像復号部120は、ヘッダデータをデータバッファ84のヘッダ領域HRAからデータ転送部160を介して読み出し、処理対象のマクロブロックMBのパラメータを取得する。そして、画像復号部120は、ピクチャPIC0の輝度成分に対する画像復号処理をマクロブロックMB毎に順次実施する(図のPIC0(Y))。例えば、画像復号部120は、各マクロブロックMBに対して、画像復号処理を輝度ブロックY0、Y1、Y2、Y3の順に実施する。これにより、デコード画像データDIMGの輝度成分が生成される。デコード画像データDIMGの輝度成分は、メモリ80のフレームメモリ82に記憶される。
【0166】
次に、画像復号部120は、例えば、ピクチャPIC0の符号化データCIMG(可変長復号部140により生成された符号化データCIMG)の色差成分を、データバッファ84の色差データ領域CRAからデータ転送部160を介して読み出す。この際、画像復号部120は、ヘッダデータをデータバッファ84のヘッダ領域HRAからデータ転送部160を介して再度読み出し、処理対象のマクロブロックMBのパラメータを取得する。
【0167】
そして、画像復号部120は、ピクチャPIC0の色差成分に対する画像復号処理をマクロブロックMB毎に順次実施する(図のPIC0(Cb、Cr))。例えば、画像復号部120は、各マクロブロックMBに対して、画像復号処理を色差ブロックCb、Crの順に実施する。これにより、デコード画像データDIMGの色差成分が生成される。デコード画像データDIMGの色差成分は、メモリ80のフレームメモリ82に記憶される。ここまでの動作により、ピクチャPIC0のデコード画像データDIMGがフレームメモリ82に記憶される。
【0168】
そして、画像復号部120は、ピクチャPIC0の次のピクチャPIC1の輝度成分に対する画像復号処理をマクロブロックMB毎に順次実施する(図のPIC1(Y))。その後、画像復号部120は、ピクチャPIC1の色差成分に対する画像復号処理をマクロブロックMB毎に順次実施する(図のPIC1(Cb、Cr))。
【0169】
このように、画像復号部120は、先ず、輝度ブロックYの1ピクチャPIC分の画像復号処理を実施し、次に、色差ブロックCb、Crの1ピクチャPIC分の画像復号処理を実施する。すなわち、画像復号部120は、符号化データCIMGの輝度成分を復号する輝度成分の画像復号処理と符号化データCIMGの色差成分を復号する色差成分の画像復号処理とを、ピクチャPIC単位で切り替えて実施する。
【0170】
ここで、比較例(図の括弧内の動作)では、MPEGやH.264等に準拠したストリームの構成順に、画像復号処理が実施される(図の比較例のPIC0(Y、Cb、Cr))。このため、比較例では、画像復号処理に必要な周辺画素を一時的に記憶する内部メモリ等には、輝度画素および色差画素の両方のデータが記憶される。したがって、内部メモリの容量は、増加する。
【0171】
これに対し、この実施形態では、画像復号部120は、輝度成分の画像復号処理と色差成分の画像復号処理とを、ピクチャPIC単位で切り替えて実施する。これにより、この実施形態では、例えば、画像復号処理に必要な周辺画素を一時的に記憶する内部メモリを、輝度画素と色差画素とで兼用できる。この結果、画像処理に必要な内部メモリの容量を削減できる。ここで、内部メモリは、例えば、図9に示したフレーム内予測用の周辺画素や図10に示したデブロッキングフィルタ処理用の周辺画素等のデータを一時的に記憶するバッファ等である。なお、フレーム間予測の参照画像の読み出しにキャッシュメモリを使用する動画像処理装置では、キャッシュメモリも内部メモリに含まれる。
【0172】
図19は、スライスSL単位切り替えとピクチャPIC単位切り替えとの比較を示している。なお、図19は、図2に示したピクチャPICを処理するときの動画像処理システムDSYSの動作の一例を示している。ピクチャPIC単位切り替えの動作は、図18で説明しているため、詳細な説明を省略する。スライスSL単位切り替えでは、動画像処理システムDSYSは、可変長復号処理、画像復号処理の順に、1スライスSLの復号処理を実施する。
【0173】
例えば、時刻t100では、可変長復号部140は、スライスSL0(マクロブロックラインML0−ML33)の符号化ストリームSTRMを、マクロブロックMB毎に可変長復号する(図のSL0(Y、Cb、Cr))。これにより、スライスSL0の符号化データCIMGが生成される。符号化データCIMGは、メモリ80のデータバッファ84に記憶される。次に、可変長復号部140は、スライスSL0の次のスライスSL1(マクロブロックラインML34−ML67)の符号化ストリームSTRMを、マクロブロックMB毎に可変長復号する(図のSL1(Y、Cb、Cr))。これにより、スライスSL1の符号化データCIMGが生成される。符号化データCIMGは、メモリ80のデータバッファ84に記憶される。ここまでの動作により、ピクチャPIC0の符号化データCIMGがデータバッファ84に記憶される。
【0174】
なお、スライスSL0の画像復号処理は、例えば、スライスSL0の符号化データCIMGが生成された後(時刻t102)、実施される。また、スライスSL1の画像復号処理は、スライスSL1の符号化データCIMGが生成された後(時刻t110a)、実施される。
【0175】
例えば、時刻t102では、画像復号部120は、スライスSL0の輝度成分の画像復号処理を実施する(図のSL0(Y))。これにより、デコード画像データDIMGの輝度成分が生成される。デコード画像データDIMGの輝度成分は、メモリ80のフレームメモリ82に記憶される。次に、画像復号部120は、スライスSL0の色差成分の画像復号処理を実施する(図のSL0(Cb、Cr))。これにより、デコード画像データDIMGの色差成分が生成される。デコード画像データDIMGの色差成分は、メモリ80のフレームメモリ82に記憶される。ここまでの動作により、スライスSL0のデコード画像データDIMGがフレームメモリ82に記憶される。
【0176】
そして、画像復号部120は、スライスSL0の次のスライスSL1の輝度成分の画像復号処理を実施する(図のSL1(Y))。その後、画像復号部120は、スライスSL1の色差成分の画像復号処理を実施する(図のSL1(Cb、Cr))。ここまでの動作により、ピクチャPIC0のデコード画像データDIMGがフレームメモリ82に記憶される。このように、画像復号部120は、符号化データCIMGの輝度成分を復号する輝度成分の画像復号処理と符号化データCIMGの色差成分を復号する色差成分の画像復号処理とを、スライスSL単位で切り替えて実施する。
【0177】
スライスSL単位切り替えでは、スライスSL0の符号化データCIMGがデータバッファ84に記憶された時点で画像復号処理を開始できるため、ピクチャPIC単位切り替えに比べて、復号遅延を抑制できる。例えば、ピクチャPIC単位切り替えでは、ピクチャPIC0の画像復号処理は、時刻t102より遅い時刻t110に開始され、時刻t114に終了する。これに対し、スライスSL単位切り替えでは、ピクチャPIC0の画像復号処理は、時刻t114より早い時刻t112に終了する。なお、スライスSL単位切り替えでは、輝度成分の画像復号処理と色差成分の画像復号処理とがピクチャPICの途中(スライスSLの境界)で切り替わるため、画像復号処理に必要な周辺画素を一時的に記憶する内部メモリの読み直しが発生する。
【0178】
図20は、図17に示した動画像処理システムDSYSの動作の別の例を示している。なお、図20は、図2に示したピクチャPICを4分割した分割領域SG(17行のマクロブロックラインML)単位で輝度成分の画像復号処理と色差成分の画像復号処理とを切り替えるときの動作を示している。なお、分割領域SGは、スライスSLより大きくてもよいし、小さくてもよい。分割領域SG単位切り替えでは、動画像処理システムDSYSは、可変長復号処理、画像復号処理の順に、1分割領域SGの復号処理を実施する。
【0179】
例えば、時刻t100では、可変長復号部140は、分割領域SG0(マクロブロックラインML0−ML16)の符号化ストリームSTRMを、マクロブロックMB毎に可変長復号する(図のSG0(Y、Cb、Cr))。次に、可変長復号部140は、分割領域SG0の次の分割領域SG1(マクロブロックラインML17−ML33)の符号化ストリームSTRMを、マクロブロックMB毎に可変長復号する(図のSG1(Y、Cb、Cr))。そして、可変長復号部140は、分割領域SG1の次の分割領域SG2(マクロブロックラインML34−ML50)の符号化ストリームSTRMを、マクロブロックMB毎に可変長復号する(図のSG2(Y、Cb、Cr))。その後、可変長復号部140は、分割領域SG2の次の分割領域SG3(マクロブロックラインML51−ML67)の符号化ストリームSTRMを、マクロブロックMB毎に可変長復号する(図のSG3(Y、Cb、Cr))。ここまでの動作により、ピクチャPIC0の符号化データCIMGがデータバッファ84に記憶される。
【0180】
なお、各分割領域SG0−SG3の画像復号処理は、例えば、各分割領域SGの符号化データCIMGが生成された後、実施される。例えば、時刻t101では、画像復号部120は、分割領域SG0の輝度成分の画像復号処理を実施する(図のSG0(Y))。その後、画像復号部120は、分割領域SG0の色差成分の画像復号処理を実施する(図のSG0(Cb、Cr))。以降、画像復号部120は、分割領域SG0の画像復号処理と同様の処理順序で、分割領域SG1−SG3の画像復号処理を順次実施する(図のSG1(Y)、SG1(Cb、Cr)、SG2(Y)、SG2(Cb、Cr)、SG3(Y)、SG3(Cb、Cr))。
【0181】
このように、画像復号部120は、符号化データCIMGの輝度成分を復号する輝度成分の画像復号処理と符号化データCIMGの色差成分を復号する色差成分の画像復号処理とを、分割領域SG単位で切り替えて実施する。
【0182】
スライスSLより小さい分割領域SGを切り替えの所定単位とした動作では、分割領域SG0の符号化データCIMGがデータバッファ84に記憶された時点で画像復号処理を開始できるため、スライスSL単位切り替えに比べて、復号遅延を抑制できる。例えば、分割領域SG単位切り替えでは、ピクチャPIC0の画像復号処理は、図19に示した時刻t112より早い時刻t111に終了する。なお、分割領域SG単位切り替えでは、輝度成分の画像復号処理と色差成分の画像復号処理とがピクチャPICの途中(分割領域SGの境界)で切り替わるため、画像復号処理に必要な周辺画素を一時的に記憶する内部メモリの読み直しが発生する。
【0183】
なお、動画像処理システムDSYSの構成および動作は、この例に限定されない。例えば、符号化データCIMGの輝度成分の画像復号処理と符号化データCIMGの色差成分の画像復号処理との処理順序は、図18等で説明した順序と逆でもよい。すなわち、画像復号部120は、符号化データCIMGの輝度成分の画像復号処理を実施する前に、符号化データCIMGの色差成分の画像復号処理を実施してもよい。
【0184】
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。
【0185】
図21は、別の実施形態における動画像処理システムDSYSの一例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の動画像処理システムDSYSは、図17に示した動画像処理装置100の代わりに動画像処理装置100Aを有している。動画像処理システムDSYSのその他の構成は、上述した実施形態と同じである。
【0186】
例えば、動画像処理システムDSYSは、MPEGやH.264等に準拠した符号化ストリームSTRMを復号する動画像処理装置100Aと、動画像処理装置100Aに接続されるメモリ80とを有している。例えば、動画像処理装置100Aは、メモリ80とは別のチップに形成される。動画像処理装置100Aは、画像復号部120A、可変長復号部140、データ転送部160、キャッシュ162およびバッファ164(164a、164b)を有している。可変長復号部140の動作は、図17−図20で説明した実施形態と同じである。
【0187】
画像復号部120Aは、図18−図20で説明したように、輝度成分の画像復号処理と色差成分の画像復号処理とを、所定単位(例えば、ピクチャPIC単位)で切り替えて実施する。例えば、画像復号部120Aは、予測画像生成部122、逆量子化部(IQ)126、逆直交変換部(IT)127、動き補償部(MC)128およびループフィルタ部(LF)129を有している。
【0188】
予測画像生成部122は、フレーム内予測用の予測画像やフレーム間予測用の予測画像を生成する。例えば、予測画像生成部122は、処理対象のマクロブロックMBの周辺画素をバッファ164aからデータ転送部160を介して読み出し、フレーム内予測用の予測画像を生成する。また、例えば、予測画像生成部122は、参照画像データRIMGをメモリ80等からデータ転送部160を介して読み出し、フレーム間予測用の予測画像を生成する。なお、例えば、参照画像データRIMGがキャッシュ162に記憶されているときには、参照画像データRIMGは、キャッシュ162から読み出される。
【0189】
逆量子化部126は、復号対象の符号化データCIMGを、データ転送部160を介してメモリ80のデータバッファ84から受ける。そして、逆量子化部126は、符号化データCIMGを逆量子化する。逆直交変換部127は、逆量子化部126から受けたデータを逆直交変換する。動き補償部128は、逆直交変換部127から受けたデータと予測画像生成部122から受けた予測画像とを加算して、復号画像をループフィルタ部129に出力する。
【0190】
ループフィルタ部129は、動き補償部128から受けた復号画像に対して、デブロッキングフィルタ処理等のループフィルタ処理を実施する。例えば、ループフィルタ部129は、処理対象のマクロブロックMBの周辺画素をバッファ164bからデータ転送部160を介して読み出し、ループフィルタ処理を実施する。これにより、デコード画像データDIMGが生成される。デコード画像データDIMGは、例えば、データ転送部60を介してメモリ80のフレームメモリ82に記憶される。
【0191】
なお、例えば、予測画像生成部122、逆量子化部126、逆直交変換部127、動き補償部128およびループフィルタ部129は、輝度成分の処理と色差成分の処理とを、所定単位(例えば、ピクチャPIC単位)で切り替えて実施する。
【0192】
データ転送部160は、キャッシュ162およびバッファ164a、164bに接続され、キャッシュ162およびバッファ164a、164bに対するアクセスを制御する。データ転送部160のその他の動作は、図17−図20で説明した実施形態と同じである。
【0193】
キャッシュ162の使い方は、例えば、図7−図14で説明した実施形態と同じである。例えば、キャッシュ162は、参照画像データRIMGを読み出すときに使用されるキャッシュメモリであり、数マクロブロックラインML分の容量を有している。そして、キャッシュ162は、例えば、処理中のマクロブロックMBで参照される可能性の高い領域の画像データ(候補画像データ)を自動的にプリフェッチする。
【0194】
バッファ164の使い方は、例えば、図7−図14で説明した実施形態と同じである。例えば、バッファ164aは、フレーム内予測用の周辺画素等のデータを一時的に記憶する。また、バッファ164bは、デブロッキングフィルタ処理用の周辺画素等のデータを一時的に記憶する。
【0195】
図22は、図21に示した画像復号部120Aの動作の一例を示している。なお、図22は、1ピクチャPIC分の画像復号処理の一例を示している。図中のマクロブロックMB0は、最初に処理されるマクロブロックMB(例えば、図2のマクロブロックラインML0の左端のマクロブロックMB)を示している。また、図中のマクロブロックMBnは、最後に処理されるマクロブロックMB(例えば、図2のマクロブロックラインML67の右端のマクロブロックMB)を示している。ピクチャPIC0の符号化データCIMGの画像復号処理は、図18で説明したように、ピクチャPIC0の符号化ストリームSTRMが可変長復号された後に実施される。
【0196】
輝度成分の画像復号処理(図のPIC0(Y))では、先ず、逆量子化部(IQ)126は、マクロブロックMB0の符号化データCIMGの輝度成分(データバッファ84から読み出した符号化データCIMG)を逆量子化する。そして、逆直交変換部(IT)127は、逆量子化されたデータの輝度成分(逆量子化部126から受けたデータ)を逆直交変換する。動き補償部(MC)128は、逆直交変換部127から受けたデータと予測画像生成部122から受けた予測画像とを加算して、マクロブロックMB0の復号画像の輝度成分を生成する。
【0197】
ループフィルタ部(LF)129は、マクロブロックMB0の復号画像の輝度成分に対して、ループフィルタ処理を実施する。これにより、マクロブロックMB0のデコード画像データDIMGが生成される。マクロブロックMB0のデコード画像データDIMGは、例えば、メモリ80のフレームメモリ82に記憶される。
【0198】
マクロブロックMB1・・・MBnに対しても、上述の処理が実施される。例えば、逆量子化部126は、マクロブロックMB0の符号化データCIMGの輝度成分を逆量子化した後、マクロブロックMB1・・・MBnの符号化データCIMGの輝度成分を逆量子化する処理を、順次実施する。そして、各マクロブロックMBの符号化データCIMGの輝度成分が逆量子化された後、逆直交変換部127、動き補償部128およびループフィルタ部129の各処理が順次実施される。
【0199】
なお、輝度成分の画像復号処理では、例えば、逆量子化部126、逆直交変換部127、動き補償部128およびループフィルタ部129の各処理は、輝度ブロックY0、Y1、Y2、Y3の順に実施される。
【0200】
色差成分の画像復号処理(図のPIC0(Cb、Cr))は、上述の輝度成分の画像復号処理の動作説明における輝度成分を色差成分に読み替えることで説明される。なお、色差成分の画像復号処理では、例えば、逆量子化部126、逆直交変換部127、動き補償部128およびループフィルタ部129の各処理は、色差ブロックCb、Crの順に実施される。
【0201】
ここで、例えば、輝度成分の画像復号処理では、キャッシュ162およびバッファ164は、色差成分のデータを記憶しなくてよい。また、色差成分の画像復号処理では、キャッシュ162およびバッファ164は、輝度成分のデータを記憶しなくてよい。このため、この実施形態では、キャッシュ162およびバッファ164の容量を削減できる。
【0202】
なお、動画像処理システムDSYSの構成および動作は、この例に限定されない。例えば、ループフィルタ部129およびバッファ164bは、省かれてもよい。また、例えば、符号化データCIMGの輝度成分の画像復号処理と符号化データCIMGの色差成分の画像復号処理との処理順序は、図22で説明した順序と逆でもよい。すなわち、画像復号部120Aは、符号化データCIMGの輝度成分の画像復号処理を実施する前に、符号化データCIMGの色差成分の画像復号処理を実施してもよい。また、例えば、輝度成分および色差成分に対するそれぞれの画像復号処理の切り替え単位は、図19に示したようにスライスSL単位でもよいし、図20に示したように複数のマクロブロックラインMLを含む分割領域SG単位でもよい。
【0203】
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。例えば、この実施形態では、動画像処理装置100Aの内部メモリであるキャッシュ162やバッファ164の容量を削減できる。
【0204】
図23は、別の実施形態における動画像処理システムCSYSの一例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の動画像処理システムCSYSは、例えば、MPEGやH.264等に準拠したコーデックである。なお、動画像処理システムCSYSも画像処理装置の一態様を形成する。
【0205】
例えば、動画像処理システムCSYSは、MPEGやH.264等に準拠したコーデックとして機能する動画像処理装置200と、動画像処理装置200に接続されるメモリ80とを有している。例えば、動画像処理装置200は、メモリ80とは別のチップに形成される。動画像処理装置200は、全体制御部220、コーデック部240、メモリ制御部260、ストリーム入出力部280および画像入出力部282を有している。
【0206】
全体制御部220は、動画像処理装置200全体の動作を制御する。例えば、全体制御部220は、コーデック部240等の各モジュールの動作モードの設定や同期制御等を実施する。
【0207】
コーデック部240は、例えば、コーデック制御部242およびコーデック処理部244を有している。コーデック制御部242は、コーデック部240内の各モジュールの動作を制御する。例えば、コーデック制御部242は、コーデック処理部244内の各モジュールの動作モードの設定や同期制御等を実施する。
【0208】
コーデック処理部244は、画像データをMPEGやH.264等に準拠した符号化処理および復号処理を実施する。例えば、コーデック処理部244は、図15に示した動画像処理装置10Bおよび図21に示した動画像処理装置100Aを有している。なお、動画像処理装置100Aは、動画像処理装置10Bと共用する設計としてもよい。例えば、画像復号部120A、可変長復号部140およびデータ転送部160は、画像符号化部20B、可変長符号化部40およびデータ転送部60とそれぞれ共用する設計としてもよい。また、動画像処理装置100Aは、例えば、キャッシュ162およびバッファ164をキャッシュ62およびバッファ64で代用してもよい。
【0209】
なお、コーデック処理部244は、図15に示した動画像処理装置10Bの代わりに、図1に示した動画像処理装置10を有してもよいし、図7に示した動画像処理装置10Aを有してもよい。また、コーデック処理部244は、図21に示した動画像処理装置100Aの代わりに、図17に示した動画像処理装置100を有してもよい。
【0210】
ストリーム入出力部280は、符号化ストリーム(例えば、図15および図21に示した符号化ストリームSTRM)の入出力処理を実施する。画像入出力部282は、例えば、画像入力デバイスから画像データ(例えば、図15に示した画像データIIMG)を取り込む処理および画像表示デバイスへ画像データ(例えば、図21に示した画像データDIMG)を出力する処理を実施する。
【0211】
メモリ制御部260は、コーデック部240等の各モジュールからの要求に応じて、メモリ80へのデータの書き込み制御およびメモリ80からのデータの読み出し制御を実施する。例えば、メモリ制御部260は、コーデック部240、ストリーム入出力部280および画像入出力部282に接続されている。なお、動画像処理装置10Bのデータ転送部60および動画像処理装置100Aのデータ転送部160は、メモリ制御部260内に設けられてもよい。
【0212】
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。
【0213】
以上の実施形態において説明した発明を整理して、付記として開示する。
(付記1)
少なくとも一のマクロブロックラインを含む所定単位に含まれる画像データの輝度成分を符号化する輝度成分の画像符号化処理の後に前記所定単位に含まれる前記画像データの色差成分を符号化する色差成分の画像符号化処理を行うことで、第1符号化データを生成する画像符号化部と、
メモリへのアクセスを制御し、前記第1符号化データを前記メモリに記憶するアクセス制御部と、
前記アクセス制御部を介して前記メモリから前記第1符号化データを読み出し、前記第1符号化データの輝度成分を可変長符号化する輝度成分の可変長符号化処理と前記第1符号化データの色差成分を可変長符号化する色差成分の可変長符号化処理とをマクロブロック単位で切り替えて実施する可変長符号化部と
を備えていることを特徴とする動画像処理装置。
(付記2)
前記所定単位は、ピクチャ単位およびスライス単位のいずれかであること
を特徴とする付記1記載の動画像処理装置。
(付記3)
フレーム内予測に使用される周辺画素およびデブロッキングフィルタ処理に使用される周辺画素の少なくとも一方の少なくとも一部のデータを記憶する領域が、前記輝度成分の画像符号化処理と前記色差成分の画像符号化処理とで兼用され、前記輝度成分の画像符号化処理時に、前記一部のデータの輝度成分を記憶し、前記色差成分の画像符号化処理時に、前記一部のデータの色差成分を記憶する第1記憶部を備えていること
を特徴とする付記1記載の動画像処理装置。
(付記4)
フレーム間予測に使用される参照画像の候補となる候補画像データを記憶する領域が、前記輝度成分の画像符号化処理と前記色差成分の画像符号化処理とで兼用され、前記輝度成分の画像符号化処理時に、前記候補画像データの輝度成分を順次記憶し、前記色差成分の画像符号化処理時に、前記候補画像データの色差成分を順次記憶する第2記憶部を備えていること
を特徴とする付記1記載の動画像処理装置。
(付記5)
前記アクセス制御部は、前記メモリを、前記第1符号化データのヘッダデータを記憶する第1領域、前記第1符号化データの輝度成分を記憶する第2領域および前記第1符号化データの色差成分を記憶する第3領域に分けて管理すること
を特徴とする付記1記載の動画像処理装置。
(付記6)
フレーム内予測およびフレーム間予測における輝度成分のコストおよび色差成分のコストをマクロブロック毎に算出するコスト算出部を備え、
前記画像符号化部は、
前記輝度成分の画像符号化処理時に、輝度成分の前記コストと、色差成分の前記コストと、輝度成分の符号量に応じて算出される基準値とに基づいて、量子化スケールを前記マクロブロック毎に決定するスケール決定部を有していること
を特徴とする付記1記載の動画像処理装置。
(付記7)
前記スケール決定部は、
輝度成分の前記コストを色差成分の前記コストで除算した除算結果が第1閾値より小さいとき、前記量子化スケールを、前記基準値より大きな値に決定し、前記第1閾値以上の第2閾値より前記除算結果が大きいとき、前記量子化スケールを、前記基準値より小さい値に決定すること
を特徴とする付記6記載の動画像処理装置。
(付記8)
前記第1符号化データが記憶される前記メモリを備えていること
を特徴とする付記1記載の動画像処理装置。
(付記9)
画像データを第1符号化データに符号化し、前記第1符号化データを可変長符号化する動画像処理装置と、前記動画像処理装置に接続されたメモリとを備え、
前記動画像処理装置は、
少なくとも一のマクロブロックラインを含む所定単位に含まれる前記画像データの輝度成分を符号化する輝度成分の画像符号化処理の後に前記所定単位に含まれる前記画像データの色差成分を符号化する色差成分の画像符号化処理を行うことで、前記第1符号化データを生成し、前記輝度成分の画像符号化処理および前記色差成分の画像符号化処理により生成された前記第1符号化データを前記メモリに記憶する画像符号化部と、
前記メモリから前記第1符号化データを読み出し、前記第1符号化データの輝度成分を可変長符号化する可変長符号化処理と前記第1符号化データの色差成分を可変長符号化する可変長符号化処理とをマクロブロック単位で切り替えて実施する可変長符号化部とを備えていること
を特徴とする動画像処理システム。
(付記10)
可変長符号化された可変長符号化データを第1符号化データに復号し、前記第1符号化データを画像データに復号する動画像処理装置において、
前記可変長符号化データの輝度成分を復号する輝度成分の可変長復号処理と前記可変長符号化データの色差成分を復号する色差成分の可変長復号処理とを、マクロブロック単位で切り替えて実施し、前記第1符号化データを生成する可変長復号部と、
メモリへのアクセスを制御し、前記第1符号化データを前記メモリに記憶するアクセス制御部と、
前記アクセス制御部を介して前記メモリから前記第1符号化データを読み出し、少なくとも一のマクロブロックラインを含む所定単位に含まれる前記第1符号化データの輝度成分を復号する輝度成分の画像復号処理の後に前記所定単位に含まれる前記第1符号化データの色差成分を復号する色差成分の画像復号処理を行う画像復号部と
を備えていることを特徴とする動画像処理装置。
(付記11)
前記所定単位は、ピクチャ単位およびスライス単位のいずれかであること
を特徴とする付記10記載の動画像処理装置。
(付記12)
フレーム内予測に使用される周辺画素およびデブロッキングフィルタ処理に使用される周辺画素の少なくとも一方の少なくとも一部のデータを記憶する領域が、前記輝度成分の画像復号処理と前記色差成分の画像復号処理とで兼用され、前記輝度成分の画像復号処理時に、前記一部のデータの輝度成分を記憶し、前記色差成分の画像復号処理時に、前記一部のデータの色差成分を記憶する第1記憶部を備えていること
を特徴とする付記10記載の動画像処理装置。
(付記13)
フレーム間予測に使用される参照画像の候補となる候補画像データを記憶する領域が、前記輝度成分の画像復号処理と前記色差成分の画像復号処理とで兼用され、前記輝度成分の画像復号処理時に、前記候補画像データの輝度成分を順次記憶し、前記色差成分の画像復号処理時に、前記候補画像データの色差成分を順次記憶する第2記憶部を備えていること
を特徴とする付記10記載の動画像処理装置。
(付記14)
前記アクセス制御部は、前記メモリを、前記第1符号化データのヘッダデータを記憶する第1領域、前記第1符号化データの輝度成分を記憶する第2領域および前記第1符号化データの色差成分を記憶する第3領域に分けて管理すること
を特徴とする付記10記載の動画像処理装置。
(付記15)
前記第1符号化データが記憶される前記メモリを備えていること
を特徴とする付記10記載の動画像処理装置。
(付記16)
可変長符号化された可変長符号化データを第1符号化データに復号し、前記第1符号化データを画像データに復号する動画像処理装置と、前記動画像処理装置に接続されたメモリとを備え、
前記動画像処理装置は、
前記可変長符号化データの輝度成分を復号する輝度成分の可変長復号処理と前記可変長符号化データの色差成分を復号する色差成分の可変長復号処理とを、マクロブロック単位で切り替えて実施し、前記輝度成分の可変長復号処理および前記色差成分の可変長復号処理により生成された前記第1符号化データを前記メモリに記憶する可変長復号部と、
前記メモリから前記第1符号化データを読み出し、少なくとも一のマクロブロックラインを含む所定単位に含まれる前記第1符号化データの輝度成分を復号する輝度成分の画像復号処理の後に前記所定単位に含まれる前記第1符号化データの色差成分を復号する色差成分の画像復号処理を行う画像復号部とを備えていること
を特徴とする動画像処理システム。
【0214】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【0215】
10、10A、10B、100、100A、200‥動画像処理装置;20、20A、20B‥画像符号化部;21‥動きベクトル探索部;22‥予測画像生成部;23‥差分算出部;24‥直交変換部;25‥量子化部;26、126‥逆量子化部;27、127‥逆直交変換部;28、128‥動き補償部;29、129‥ループフィルタ部;30‥スケール決定部;32‥画像前処理部;33、34‥コスト算出部;40‥可変長符号化部;60、160‥データ転送部;62、162‥キャッシュ;64、164‥バッファ;80‥メモリ;82‥フレームメモリ;84‥データバッファ;220‥全体制御部;240‥コーデック部;242‥コーデック制御部;244‥コーデック処理部;260‥メモリ制御部;280‥ストリーム入出力部;282‥画像入出力部;CSYS、DSYS、ESYS‥動画像処理システム

【特許請求の範囲】
【請求項1】
少なくとも一のマクロブロックラインを含む所定単位に含まれる画像データの輝度成分を符号化する輝度成分の画像符号化処理の後に前記所定単位に含まれる前記画像データの色差成分を符号化する色差成分の画像符号化処理を行うことで、第1符号化データを生成する画像符号化部と、
メモリへのアクセスを制御し、前記第1符号化データを前記メモリに記憶するアクセス制御部と、
前記アクセス制御部を介して前記メモリから前記第1符号化データを読み出し、前記第1符号化データの輝度成分を可変長符号化する輝度成分の可変長符号化処理と前記第1符号化データの色差成分を可変長符号化する色差成分の可変長符号化処理とをマクロブロック単位で切り替えて実施する可変長符号化部と
を備えていることを特徴とする動画像処理装置。
【請求項2】
前記所定単位は、ピクチャ単位およびスライス単位のいずれかであること
を特徴とする請求項1記載の動画像処理装置。
【請求項3】
フレーム内予測に使用される周辺画素およびデブロッキングフィルタ処理に使用される周辺画素の少なくとも一方の少なくとも一部のデータを記憶する領域が、前記輝度成分の画像符号化処理と前記色差成分の画像符号化処理とで兼用され、前記輝度成分の画像符号化処理時に、前記一部のデータの輝度成分を記憶し、前記色差成分の画像符号化処理時に、前記一部のデータの色差成分を記憶する第1記憶部を備えていること
を特徴とする請求項1記載の動画像処理装置。
【請求項4】
フレーム間予測に使用される参照画像の候補となる候補画像データを記憶する領域が、前記輝度成分の画像符号化処理と前記色差成分の画像符号化処理とで兼用され、前記輝度成分の画像符号化処理時に、前記候補画像データの輝度成分を順次記憶し、前記色差成分の画像符号化処理時に、前記候補画像データの色差成分を順次記憶する第2記憶部を備えていること
を特徴とする請求項1記載の動画像処理装置。
【請求項5】
前記アクセス制御部は、前記メモリを、前記第1符号化データのヘッダデータを記憶する第1領域、前記第1符号化データの輝度成分を記憶する第2領域および前記第1符号化データの色差成分を記憶する第3領域に分けて管理すること
を特徴とする請求項1記載の動画像処理装置。
【請求項6】
フレーム内予測およびフレーム間予測における輝度成分のコストおよび色差成分のコストをマクロブロック毎に算出するコスト算出部を備え、
前記画像符号化部は、
前記輝度成分の画像符号化処理時に、輝度成分の前記コストと、色差成分の前記コストと、輝度成分の符号量に応じて算出される基準値とに基づいて、量子化スケールを前記マクロブロック毎に決定するスケール決定部を有していること
を特徴とする請求項1記載の動画像処理装置。
【請求項7】
前記スケール決定部は、
輝度成分の前記コストを色差成分の前記コストで除算した除算結果が第1閾値より小さいとき、前記量子化スケールを、前記基準値より大きな値に決定し、前記第1閾値以上の第2閾値より前記除算結果が大きいとき、前記量子化スケールを、前記基準値より小さい値に決定すること
を特徴とする請求項6記載の動画像処理装置。
【請求項8】
画像データを第1符号化データに符号化し、前記第1符号化データを可変長符号化する動画像処理装置と、前記動画像処理装置に接続されたメモリとを備え、
前記動画像処理装置は、
少なくとも一のマクロブロックラインを含む所定単位に含まれる前記画像データの輝度成分を符号化する輝度成分の画像符号化処理の後に前記所定単位に含まれる前記画像データの色差成分を符号化する色差成分の画像符号化処理を行うことで、前記第1符号化データを生成し、前記輝度成分の画像符号化処理および前記色差成分の画像符号化処理により生成された前記第1符号化データを前記メモリに記憶する画像符号化部と、
前記メモリから前記第1符号化データを読み出し、前記第1符号化データの輝度成分を可変長符号化する可変長符号化処理と前記第1符号化データの色差成分を可変長符号化する可変長符号化処理とをマクロブロック単位で切り替えて実施する可変長符号化部とを備えていること
を特徴とする動画像処理システム。
【請求項9】
可変長符号化された可変長符号化データを第1符号化データに復号し、前記第1符号化データを画像データに復号する動画像処理装置において、
前記可変長符号化データの輝度成分を復号する輝度成分の可変長復号処理と前記可変長符号化データの色差成分を復号する色差成分の可変長復号処理とを、マクロブロック単位で切り替えて実施し、前記第1符号化データを生成する可変長復号部と、
メモリへのアクセスを制御し、前記第1符号化データを前記メモリに記憶するアクセス制御部と、
前記アクセス制御部を介して前記メモリから前記第1符号化データを読み出し、少なくとも一のマクロブロックラインを含む所定単位に含まれる前記第1符号化データの輝度成分を復号する輝度成分の画像復号処理の後に前記所定単位に含まれる前記第1符号化データの色差成分を復号する色差成分の画像復号処理を行う画像復号部と
を備えていることを特徴とする動画像処理装置。
【請求項10】
前記所定単位は、ピクチャ単位およびスライス単位のいずれかであること
を特徴とする請求項9記載の動画像処理装置。
【請求項11】
フレーム内予測に使用される周辺画素およびデブロッキングフィルタ処理に使用される周辺画素の少なくとも一方の少なくとも一部のデータを記憶する領域が、前記輝度成分の画像復号処理と前記色差成分の画像復号処理とで兼用され、前記輝度成分の画像復号処理時に、前記一部のデータの輝度成分を記憶し、前記色差成分の画像復号処理時に、前記一部のデータの色差成分を記憶する第1記憶部を備えていること
を特徴とする請求項9記載の動画像処理装置。
【請求項12】
フレーム間予測に使用される参照画像の候補となる候補画像データを記憶する領域が、前記輝度成分の画像復号処理と前記色差成分の画像復号処理とで兼用され、前記輝度成分の画像復号処理時に、前記候補画像データの輝度成分を順次記憶し、前記色差成分の画像復号処理時に、前記候補画像データの色差成分を順次記憶する第2記憶部を備えていること
を特徴とする請求項9記載の動画像処理装置。
【請求項13】
前記アクセス制御部は、前記メモリを、前記第1符号化データのヘッダデータを記憶する第1領域、前記第1符号化データの輝度成分を記憶する第2領域および前記第1符号化データの色差成分を記憶する第3領域に分けて管理すること
を特徴とする請求項9記載の動画像処理装置。
【請求項14】
可変長符号化された可変長符号化データを第1符号化データに復号し、前記第1符号化データを画像データに復号する動画像処理装置と、前記動画像処理装置に接続されたメモリとを備え、
前記動画像処理装置は、
前記可変長符号化データの輝度成分を復号する輝度成分の可変長復号処理と前記可変長符号化データの色差成分を復号する色差成分の可変長復号処理とを、マクロブロック単位で切り替えて実施し、前記輝度成分の可変長復号処理および前記色差成分の可変長復号処理により生成された前記第1符号化データを前記メモリに記憶する可変長復号部と、
前記メモリから前記第1符号化データを読み出し、少なくとも一のマクロブロックラインを含む所定単位に含まれる前記第1符号化データの輝度成分を復号する輝度成分の画像復号処理の後に前記所定単位に含まれる前記第1符号化データの色差成分を復号する色差成分の画像復号処理を行う画像復号部とを備えていること
を特徴とする動画像処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2013−74513(P2013−74513A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−212876(P2011−212876)
【出願日】平成23年9月28日(2011.9.28)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】