(57)【特許請求の範囲】
【請求項１】
フレームメモリに記憶された参照画像データを用いて元画像データを符号化する画像符号化装置であって、
前記参照画像データの少なくとも一部を記憶する記憶領域と、前記記憶領域内の参照画像データを管理する管理情報を記憶する管理領域とを有する記憶部と、
前記フレームメモリに記憶された参照画像データの必要領域の始点座標及び終点座標を含む制御情報、および、前記記憶領域内の参照画像データが有効か否かを示す有効情報と、前記記憶領域内の参照画像データの前記フレームメモリ上の始点座標と、前記記憶領域内の参照画像データのサイズ情報と、を含む前記管理情報を生成する制御部と、
前記制御情報および前記管理情報に基づいて、前記必要領域が有効と判定した場合、前記必要領域が転送領域又は非転送領域であるかを判定し、前記転送領域の参照画像データを前記フレームメモリから前記記憶領域へ転送する動き制御部と、
前記記憶領域に記憶された参照画像データを用いて、予測画像データを生成する動き補償部と、を備える画像符号化装置。
【請求項２】
前記動き制御部は、
前記管理情報に基づいて前記フレームメモリ上のバッファ済み領域の終点座標を特定し、
前記必要領域の始点座標が前記バッファ済み領域の終点座標より大きいか、または前記必要領域の始点座標が前記バッファ済み領域の終点座標より大きい場合に、前記必要領域全体を転送領域として決定し、
前記必要領域の始点座標が前記バッファ済み領域の始点座標より小さく、且つ前記必要領域の終点座標が前記バッファ済み領域の終点座標より大きい場合に、前記必要領域の始点座標と前記バッファ済み領域の始点座標で囲まれた領域と、前記バッファ済み領域の終点座標と前記必要領域の終点座標で囲まれた領域と、を前記転送領域として決定し、
前記必要領域の始点座標が前記バッファ済み領域の始点座標より小さく、且つ前記必要領域の終点座標が前記バッファ済領域の始点座標と終点座標との間に含まれる場合に、前記バッファ済み領域の終点座標と前記必要領域の始点座標で囲まれた領域を前記転送領域として決定し、
前記必要領域の終点座標が前記バッファ済み領域の終点座標より大きく、且つ前記必要領域の始点座標が前記バッファ済領域の始点座標と終点座標との間に含まれる場合に、前記必要領域の始点座標と前記バッファ済み領域の始点座標で囲まれた領域を前記転送領域として決定し、
前記必要領域の始点座標及び終点座標が前記バッファ済み領域の始点座標と終点座標の間に含まれる場合に、前記必要領域全体を非転送領域として決定する、請求項１に記載の画像符号化装置。
【請求項３】
前記動き制御部は、前記予測画像データの生成に必要な参照画像データが前記記憶領域内に記憶されているか否か、および、前記記憶領域内の参照画像データが有効であるか否か、の判定結果に基づいて、前記管理情報を更新する請求項１または２に記載の画像符号化装置。
【請求項４】
前記元画像データから前記予測画像データを減算し、第１残差画像データを生成する減算器と、
前記第１残差画像データを直交変換し、第１係数データを生成する直交変換部と、
前記第１係数データを量子化し、量子化データを生成する量子化部と、
前記量子化データを符号化し、符号化データを生成する符号化部と、
前記量子化データを逆量子化し、第２係数データを生成する逆量子化部と、
前記第２係数データを逆直交変換し、第２残差画像データを生成する逆直交変換部と、
前記第２残差画像データに前記予測画像データを加算し、局部復号画像データを生成する加算器と、
前記局部復号画像データのブロック境界を平滑化し、前記参照画像データを生成するデブロッキングフィルタと、をさらに備え、
前記制御部は、前記参照画像データを前記フレームメモリへ転送する、請求項１乃至３の何れかに記載の画像符号化装置。
【請求項５】
フレームメモリに記憶された参照画像データを用いて符号化データを復号する画像復号装置であって、
前記参照画像データの少なくとも一部を記憶する記憶領域と、前記記憶領域内の参照画像データを管理する管理情報を記憶する管理領域とを有する記憶部と、
前記フレームメモリに記憶された参照画像データの必要領域の始点座標及び終点座標を含む制御情報、および、前記記憶領域内の参照画像データが有効か否かを示す有効情報と、前記記憶領域内の参照画像データの前記フレームメモリ上の始点座標と、前記記憶領域内の参照画像データのサイズ情報と、を含む前記管理情報を生成する制御部と、
前記制御情報および前記管理情報に基づいて、前記必要領域が有効と判定した場合、前記必要領域が転送領域又は非転送領域であるかを判定し、前記転送領域の参照画像データを前記フレームメモリから前記記憶領域へ転送する動き制御部と、
前記記憶領域に記憶された参照画像データを用いて、予測画像データを生成する動き補償部と、を備える画像復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像符号化装置及び画像復号装置に関する。
【背景技術】
【０００２】
近年、ＭＰＥＧ２（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ｐｈａｓｅ−２）又はＨ．２６４等の動き補償を用いたビデオコーデックをサポートする画像符号化装置及び画像復号装置が用いられている。
【０００３】
従来の画像符号化装置及び画像復号装置は、参照画像データを用いて動き補償処理を実行し、予測画像データを生成する。画像符号化装置は、予測画像データを用いて元画像データを符号化する。一方、画像復号装置は、予測画像データを用いて符号化データを復号する。このような画像符号化装置及び画像復号装置は、動き補償処理のために、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメインメモリに記憶された参照画像データをキャッシュメモリに記憶し、キャッシュメモリに記憶した参照画像データを用いて予測画像データを生成する。
【０００４】
一般的なキャッシュメモリは、管理情報を記憶する管理領域と、キャッシュデータを記憶する記憶領域と、を備える。このようなキャッシュメモリは、管理情報を用いて、キャッシュラインサイズ単位でキャッシュデータを管理する。管理情報は、例えば、データが有効か否かを示すフラグと、キャッシュデータのメインメモリ上のアドレスの一部を示すビット列に対応するタグと、を含む。
【０００５】
しかしながら、キャッシュラインサイズ単位でキャッシュデータが管理されるので、キャッシュラインサイズ未満のデータを読み出すことができない。従って、１キャッシュラインサイズのデータの一部を動き補償処理に用いる場合であっても、その一部のみを読み出すことはできない。その結果、データを読み出すときに占有されるメインメモリのバンド幅が増加する。
【０００６】
一方、占有されるバンド幅を低減するためにキャッシュラインサイズを小さくすると、管理情報の量が増える。その結果、キャッシュメモリの記憶領域に対する管理領域の比率が増加する（即ち、キャッシュメモリの利用効率が低下する）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−６１１５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明が解決しようとする課題は、メインメモリのバンド幅及びキャッシュメモリの利用効率を改善することができる画像符号化装置、画像復号装置及び画像符号化方法を提供することである。
【課題を解決するための手段】
【０００９】
本実施形態の画像符号化装置は、フレームメモリに記憶された参照画像データを用いて元画像データを符号化する。画像符号化装置は、制御部と、記憶部と、動き制御部と、動き補償部と、を備える。制御部は、前記フレームメモリに記憶された参照画像データの必要領域の始点座標及び終点座標を含む制御情報を生成する。記憶部は、前記参照画像データの少なくとも一部を記憶する記憶領域を有する。動き制御部は、前記制御情報に基づいて、前記必要領域が転送領域又は非転送領域であるかを判定し、前記転送領域の参照画像データを前記フレームメモリから前記記憶領域へ転送する。動き補償部は、前記記憶領域に記憶された参照画像データを用いて、予測画像データを生成する。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の画像処理システム１の構成図。
【図２】本実施形態のメインメモリ３０のブロック図。
【図３】本実施形態の画像符号化装置１０の機能ブロック図。
【図４】本実施形態のフレームメモリ３３のアドレッシング構造の説明図。
【図５】本実施形態の動き探索部１８の構成図。
【図６】本実施形態のプリフェッチバッファ１８２の構成図。
【図７】本実施形態の管理情報のデータ構造図。
【図８】本実施形態のマッピングの説明図。
【図９】本実施形態のプリフェッチ処理のフローチャート。
【図１０】本実施形態の参照画像データ転送処理のフローチャート。
【図１１】本実施形態の有効性判定のフローチャート。
【図１２】本実施形態の領域判定結果と条件式の説明図。
【図１３】本実施形態の領域判定結果の概念図。
【図１４】本実施形態の管理情報更新の説明図。
【図１５】本実施形態の参照画像転送処理の具体例の説明図。
【図１６】本実施形態の変形例の画像復号装置４０の機能ブロック図。
【発明を実施するための形態】
【００１１】
本実施形態について、図面を参照して説明する。図１は、本実施形態の画像処理システム１の構成図である。画像処理システム１は、画像符号化装置１０と、画像生成装置２０と、メインメモリ３０と、を備える。
【００１２】
画像生成装置２０は、符号化処理の対象となる元画像データを生成する。画像生成装置２０は、例えばＭＰＥＧ２又はＨ．２６４等の動き補償を用いたビデオコーデックをサポートするデジタルビデオカメラの撮像素子である。元画像データは、最大で１９２０×１０８８個の画素を含む。１画素は８ビットである。画像符号化装置１０は、メインメモリ３０に記憶された元画像データを符号化し、符号化データを生成する。より具体的には、画像符号化装置１０は、１６×１６画素のマクロブロック単位で符号化処理を実行する。符号化処理は、マクロブロック単位でブロックの始点から水平方向に実行され、１つのラインに含まれる全てのマクロブロックについて符号化処理が実行されると、垂直方向に１つシフトしたラインの始点から水平方向に実行されるというラスタスキャン順で行われる。１つのマクロブロックに対する符号化処理では、画像符号化装置１０は、２４×２４画素の参照画像データを用いて元画像データのマクロブロックを符号化する。なお、参照画像データ及びマクロブロックのサイズは、これに限られるものではなく、画像符号化装置１０が採用する符号化アルゴリズムに基づいてユーザが任意に定めることができる。メインメモリ３０は、元画像データと、符号化データと、参照画像データと、を記憶する。メインメモリ３０は、例えばＤＲＡＭである。
【００１３】
図２は、本実施形態のメインメモリ３０のブロック図である。メインメモリ３０は、複数の記憶領域（元画像メモリ３１、符号化データメモリ３２及びフレームメモリ３３）を備える。なお、各記憶領域は、１つのメモリ素子（例えば、ＤＲＡＭチップ）内に設けられても良いし、個別のメモリ素子内に設けられても良い。
【００１４】
元画像メモリ３１は、元画像データを記憶する。符号化データメモリ３２は、符号化データを記憶する。フレームメモリ３３は、８×２画素（即ち、１２８ビット）のワード単位で参照画像データを記憶する。２４×２４画素の参照画像データを１ワード分のマージンを伴って読み出す場合、フレームメモリ３３から読み出される参照画像データは、最大で３２（＝２４＋８）×２６（＝２４＋２）画素である。
【００１５】
図３は、本実施形態の画像符号化装置１０の機能ブロック図である。画像符号化装置１０は、減算器１１ａと、加算器１１ｂと、直交変換部１２と、量子化部１３と、エントロピー符号化部１４と、逆量子化部１５と、逆直交変換部１６と、デブロッキングフィルタ１７と、動き探索部１８と、制御部１９と、を備える。
【００１６】
減算器１１ａは、元画像データから動き探索部１８の出力である予測画像データを減算し、第１残差画像データを生成する。直交変換部１２は、第１残差画像データを直交変換し、第１係数データを生成する。直交変換部１２は、例えば離散コサイン変換（以下、「ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）」という）を第１残差画像データに対して実行する。量子化部１３は、第１係数データを量子化し、量子化データを生成する。エントロピー符号化部１４は、量子化データを符号化し、符号化データを生成する。エントロピー符号化部１４は、例えば可変長符号化方式を用いて量子化データを符号化する。
【００１７】
逆量子化部１５は、量子化データを逆量子化し、第２係数データを生成する。第２係数データは、第１係数データに対応した、量子化部１３及び逆量子化部１５における量子化誤差を含む値である。逆直交変換部１６は、第２係数データを逆直交変換し、第２残差画像データを生成する。第２残差画像データは、第１残差画像データに対応し、第２係数データと同様に、量子化誤差を含む値である。加算器１１ｂは、第２残差画像データに予測画像データを加算し、局部復号画像データを生成する。デブロッキングフィルタ１７は、局部復号画像データのブロック境界を平滑化し、参照画像データを生成する。制御部１９は、画像符号化装置１０全体を制御するとともに、元画像メモリ３１、符号化データメモリ３２、及びフレームメモリ３３へのメモリアクセスを制御する。これにより、フレームメモリ３３に参照画像データが記憶される。
【００１８】
図４は、本実施形態のフレームメモリ３３のアドレッシング構造の説明図である。フレームメモリ３３は、１つの画像データと同じサイズ（即ち、１９２０×１０８８画素）の参照画像データをワード単位で記憶することができる。１ワードは１２８ビットから構成される。各ワードには、参照画像データのフレームメモリ３３上の位置を示す座標（ｘ，ｙ）が割り当てられる。即ち、Ｘ方向の座標ｘは８画素毎に割り当てられ、Ｙ方向の座標ｙは２画素毎に割り当てられる。ｘは０〜２３９であり、ｙは０〜５４３である。なお、図４は、１画素が８ビットの単一の成分で表される場合について示してあるが、本発明の範囲はこれに限られるものではない。本発明は、輝度及び色差（ＹＣｂＣｒ）信号又はＲＧＢ信号などの、１画素が複数成分で表される場合であっても、成分毎に独立したフレームメモリを割り当てることにより、適用可能である。
【００１９】
動き探索部１８は、参照画像データに対して動き補償処理を実行し、予測画像データを生成する。図５は、本実施形態の動き探索部１８の構成図である。動き探索部１８は、動き制御部１８１と、プリフェッチバッファ１８２と、動き補償部１８３と、を備える。
【００２０】
動き制御部１８１は、動き探索部１８全体を制御する。プリフェッチバッファ１８２は、予測画像データの生成に必要な参照画像データを記憶する。プリフェッチバッファ１８２は、例えばＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。動き補償部１８３は、プリフェッチバッファ１８２に記憶された参照画像データを用いて予測画像データを生成し、予測画像データを減算器１１ａ及び加算器１１ｂへ出力する。
【００２１】
動き補償処理では、制御部１９は、予測画像データの生成に必要な参照画像データが記憶されたフレームメモリ３３上の記憶領域（以下、「必要領域」という）を特定するための制御情報を生成する。制御情報は、必要領域の始点座標（ｘｂ，ｙｂ）及び終点座標（ｘｅ，ｙｅ）を含む。必要領域は、始点座標（ｘｂ，ｙｂ）及び終点座標（ｘｅ，ｙｅ）により囲まれる矩形領域である。
【００２２】
動き制御部１８１は、制御情報に基づいて、フレームメモリ３３に記憶された参照画像データをプリフェッチバッファ１８２へ転送する。また、動き制御部１８１は、転送した参照画像データを管理するための管理情報をプリフェッチバッファ１８２に登録する。また、動き制御部１８１は、プリフェッチバッファ１８２に記憶された参照画像データに対して動き補償処理を実行するように、動き補償部１８３を制御する。これにより、予測画像データが生成される。
【００２３】
図６は、本実施形態のプリフェッチバッファ１８２の構成図である。プリフェッチバッファ１８２は、複数の記憶領域（図６では、第１〜第４記憶領域１８２ａ〜１８２ｄ）と、管理領域１８２ｅと、を備える。各記憶領域は、Ｘ方向に８画素且つＹ方向に３２画素分の参照画像データを記憶可能な容量（即ち、フレームメモリ３３上では１６ワード（２５６バイト）に相当する容量）を有する。つまり、複数の記憶領域は、Ｘ方向に３２画素且つＹ方向に３２画素分の容量（即ち、フレームメモリ３３上では６４ワード（１０２４バイト）に相当する容量）の参照画像データを記憶可能である。管理領域１８２ｅは、管理情報を記憶する。
【００２４】
各記憶領域には、固有情報Ｖｎ（ｎは０〜３の整数）と、インデックスＩｍ（ｍは０〜１５の整数）と、が割り当てられる。固有情報Ｖｎは、各記憶領域を特定する名称である。Ｖ０〜Ｖ３はそれぞれ、第１〜第４記憶領域１８２ａ〜１８２ｄに対応する。インデックスＩｍは、各記憶領域に記憶された参照画像データと、フレームメモリ３３に記憶された参照画像データを対応付ける情報である。
【００２５】
図７は、本実施形態の管理情報のデータ構造図である。管理情報は、固有情報Ｖ０〜Ｖ３毎に、有効情報（ＢＵＦＶ）と、第１タグ（ＢＵＦＸ）と、第２タグ（ＢＵＦＹ）と、サイズ情報（ＢＵＦＨ）と、を含む。有効情報は、各記憶領域に参照画像データが記憶されているか否かを示す２値データである。例えば、有効情報「１」は参照画像データが記憶されている（即ち、記憶領域が有効である）ことを示し、有効情報「０」は参照画像データが記憶されていない（即ち、記憶領域が無効である）ことを示す。第１タグは、参照画像データのフレームメモリ３３上の始点Ｘ座標（第１始点座標）を示す。第２タグは、参照画像データのフレームメモリ３３上の始点Ｙ座標（第２始点座標）を示す。即ち、第１及び第２タグは、各記憶領域に記憶された参照画像データがフレームメモリ３３のどこから読み出されたかを示す。サイズ情報は、参照画像データのサイズを示す。例えば、固有情報Ｖ０の管理情報“（ＢＵＦＶ，ＢＵＦＸ，ＢＵＦＹ，ＢＵＦＨ）＝（１，１，３，１３）”は、第１記憶領域１８２ａに記憶された参照画像データが、フレームメモリ３３上の（１，３）を始点とする１３ワード分の矩形領域から読み出されたことを意味する。なお、有効情報、第１及び第２タグ、並びにサイズ情報の初期値は０である。
【００２６】
図８は、本実施形態のマッピングの説明図である。Ｘ座標は８ビットのビット列で表現され、Ｙ座標は１０ビットのビット列で表現される。動き制御部１８１は、Ｘ座標の下位２ビットを固有情報Ｖｎに登録し、上位６ビットを第１タグに登録する。また、動き制御部１８１は、Ｙ座標の下位４ビットをインデックスＩｍに対応付け、全１０ビットを第２タグに登録する。即ち、動き制御部１８１は、フレームメモリ３３上の座標を用いて管理情報を生成する。これにより、プリフェッチバッファ１８２に記憶された参照画像データがフレームメモリ３３に記憶された参照画像データに対応付けられる。
【００２７】
本実施形態の動き制御部１８１の処理について説明する。図９は、本実施形態のプリフェッチ処理のフローチャートである。動き制御部１８１は、フレームメモリ３３に記憶された参照画像データをプリフェッチバッファ１８２へ転送するためにプリフェッチ処理を実行する。
【００２８】
動き制御部１８１は、制御部１９から制御情報を入力する（Ｓ９００）。動き制御部１８１は、始点座標（ｘｂ，ｙｂ）及び終点座標（ｘｅ，ｙｅ）により囲まれた矩形領域を必要領域として特定する。動き制御部１８１は、ループ変数ｊを設定する（Ｓ９０２）。
ループ変数ｊの初期値は０である。ループ変数ｊは、参照画像データの記憶先となる固有情報Ｖｎに対応する記憶領域を示す。例えば、ｊ＝０の場合、固有情報Ｖ０に対応する第１記憶領域１８２ａが参照画像データの記憶先となる。ループ変数ｊはＳ９０６が終了する度にインクリメントされ、Ｓ９０４及びＳ９０６は記憶領域の数（図９では、ｊ＝３）まで繰り返される。
【００２９】
動き制御部１８１は、プリフェッチ処理で取り扱われる変数ｘ及びＶｎを設定する（Ｓ９０４）。より具体的には、動き制御部１８１は、変数ｘに“（ｘｂ＋ｊ）＞＞２”を設定し、変数Ｖｎに“（ｘｂ＋ｊ）＆３”を設定する。“（ｘｂ＋ｊ）＞＞２”は、始点Ｘ座標ｘｂとループ変数ｊの和を４で除したときの商を意味する。“（ｘｂ＋ｊ）＆３”は、始点Ｘ座標ｘｂとループ変数ｊの和を４で除したときの剰余を意味する。
【００３０】
動き制御部１８１は、フレームメモリ３３に記憶された参照画像データをプリフェッチバッファ１８２へ転送するために、参照画像データ転送処理を実行する（Ｓ９０６）。図１０は、本実施形態の参照画像データ転送処理のフローチャートである。
【００３１】
動き制御部１８１は、制御情報及び管理情報に基づいて、参照画像データがプリフェッチバッファ１８２に記憶されているか否か（即ち、プリフェッチバッファ１８２の記憶領域が有効であるか否か）を判定する（Ｓ１０００）。図１１は、本実施形態の有効性判定のフローチャートである。
【００３２】
動き制御部１８１は、「管理情報の有効情報ＢＵＦＶ［Ｖｎ］が０である」という第１有効条件と、「管理情報の第１タグＢＵＦＸ［Ｖｎ］が変数ｘと異なる」という第２有効条件の両方を満たさない場合に（Ｓ１１００−ＮＯ且つＳ１１０２−ＮＯ）、固有情報Ｖｎに対応する記憶領域が有効であると判定する（Ｓ１１０４）。この場合、Ｓ１００２へ進む。一方、動き制御部１８１は、第１及び第２有効条件の少なくとも１つを満たす場合に（Ｓ１１００−ＹＥＳ又はＳ１１０２−ＹＥＳ）、固有情報Ｖｎに対応する記憶領域が無効であると判定する（Ｓ１１１４）。この場合、Ｓ１００４へ進む。
【００３３】
動き制御部１８１は、制御情報及び管理情報に基づいて、予測画像データの生成に必要な参照画像データがプリフェッチバッファ１８２に記憶されているか否かを判定する（Ｓ１００２）。図１２は、本実施形態の領域判定結果と条件式の説明図である。動き制御部１８１は、条件式（Ａ）〜（Ｅ）の順に、各条件式が成立するか否かを判定する。条件式が成立した場合の領域判定結果は、（Ａ）「必要領域全体が、バッファ済み領域に含まれない」と、（Ｂ）「必要領域が、バッファ済み領域全体を含む」と、（Ｃ）「必要領域の始点から所定点が、バッファ済み領域に含まれる」と、（Ｄ）「必要領域の所定点から終点が、バッファ済み領域に含まれる」と、（Ｅ）「必要領域全体が、バッファ済み領域に含まれる」と、に分類される。なお、バッファ済み領域とは、Ｓ１００２の前に既に参照画像データを記憶しているフレームメモリ３３上の領域である。図１３は、本実施形態の領域判定結果の概念図である。
【００３４】
領域判定結果（Ａ）は、必要領域全体が転送を要する転送領域であることを意味する。例えば、図１３（Ａ）に示すように、領域判定結果（Ａ）は、必要領域の始点Ｙ座標ｙｂがバッファ済み領域の終点Ｙ座標“ＢＵＦＹ＋ＢＵＦＨ−１”より大きい場合、又は必要領域の終点Ｙ座標ｙｅがバッファ済み領域の始点Ｙ座標ＢＵＦＹより小さい場合に対応する。
【００３５】
領域判定結果（Ｂ）は、必要領域が、２つの転送領域と、２つの転送領域に挟まれた転送を要しない非転送領域とに分割されることを意味する。例えば、図１３（Ｂ）に示すように、領域判定結果（Ｂ）は、必要領域の始点Ｙ座標ｙｂがバッファ済み領域の始点Ｙ座標ＢＵＦＹより小さく、且つ必要領域の終点Ｙ座標ｙｅがバッファ済み領域の終点Ｙ座標“ＢＵＦＹ＋ＢＵＦＨ−１”より大きい場合に対応する。転送領域は、必要領域の始点Ｙ座標ｙｂを含み、必要領域の始点Ｙ座標ｙｂからバッファ済み領域の始点Ｙ座標ＢＵＦＹの１ライン上までの領域と、バッファ済み領域の終点Ｙ座標“ＢＵＦＹ＋ＢＵＦＨ−１”の１ライン下から必要領域の終点Ｙ座標ｙｅまでの領域（境界を含む）である。非転送領域は、バッファ済み領域の始点Ｙ座標ＢＵＦＹ及び終点Ｙ座標“ＢＵＦＹ＋ＢＵＦＨ”で囲まれた領域である。
【００３６】
領域判定結果（Ｃ）は、必要領域が、Ｙ座標が大きい側の転送領域とＹ座標が小さい側の非転送領域に分割されることを意味する。例えば、図１３（Ｃ）に示すように、領域判定結果（Ｃ）は、必要領域の始点Ｙ座標ｙｂがバッファ済み領域の始点Ｙ座標ＢＵＦＹから終点Ｙ座標“ＢＵＦＹ＋ＢＵＦＨ−１”の範囲内にあり（境界を含む）、且つ必要領域の終点Ｙ座標ｙｅがバッファ済み領域の終点Ｙ座標“ＢＵＦＹ＋ＢＵＦＨ−１”より大きい場合に対応する。転送領域は、バッファ済み領域の終点Ｙ座標“ＢＵＦＹ＋ＢＵＦＨ−１”の１ライン下から必要領域の終点Ｙ座標ｙｅまでの領域（境界を含む）のみである。非転送領域は、必要領域の始点Ｙ座標ｙｂからバッファ済み領域の終点Ｙ座標“ＢＵＦＹ＋ＢＵＦＨ−１”までの領域（境界を含む）である。
【００３７】
領域判定結果（Ｄ）は、必要領域が、Ｙ座標が小さい側の転送領域とＹ座標が大きい側の非転送領域に分割されることを意味する。例えば、図１３（Ｄ）に示すように、領域判定結果（Ｄ）は、必要領域の始点Ｙ座標ｙｂが、バッファ済み領域の始点Ｙ座標“ＢＵＦＹ”より小さく、且つ必要領域の終点Ｙ座標ｙｅが、バッファ済み領域の始点Ｙ座標“ＢＵＦＹ”から終点Ｙ座標“ＢＵＦＹ＋ＢＵＦＨ−１”の範囲内にある（境界を含む）場合に対応する。転送領域は、必要領域の始点Ｙ座標ｙｂからバッファ済み領域の始点Ｙ座標ＢＵＦＹの１ライン上までの領域（境界を含む）のみである。非転送領域は、バッファ済み領域の始点Ｙ座標ＢＵＦＹから必要領域の終点Ｙ座標Ｙｅまでの領域（境界を含む）である。
【００３８】
領域判定結果（Ｅ）は、必要領域全体が非転送領域であることを意味する。例えば、図１３（Ｅ）に示すように、領域判定結果（Ｅ）は、必要領域の始点Ｙ座標ｙｂが、バッファ済み領域の始点Ｙ座標“ＢＵＦＹ”から終点Ｙ座標“ＢＵＦＹ＋ＢＵＦＨ−１”の範囲内にあり（境界を含む）、且つ必要領域の終点Ｙ座標ｙｅが、バッファ済み領域の終点Ｙ座標“ＢＵＦＹ＋ＢＵＦＨ−１”以下である場合に対応する。
【００３９】
動き制御部１８１は、領域判定結果に基づいて、フレームメモリ３３の転送領域に記憶された参照画像データを、プリフェッチバッファ１８２へ転送する（Ｓ１００４）。より具体的には、動き制御部１８１は、無効判定（Ｓ１１１４）又は領域判定結果（Ａ）の場合、必要領域全体を転送し、領域判定結果（Ｂ）〜（Ｄ）の場合、それぞれ、必要領域のうち転送領域を転送する。なお、領域判定結果（Ｅ）の場合、Ｓ１００４は省略される。即ち、動き制御部１８１は、必要領域全体を一様に転送するのではなく、有効性判定及び領域判定の結果に応じて、プリフェッチバッファ１８２に既に記憶されている非転送領域を転送することなく、プリフェッチバッファ１８２に記憶されていない転送領域を転送する。これにより、フレームメモリ３３からプリフェッチバッファ１８２へ転送される参照画像データのオーバーヘッドが解消する。
【００４０】
動き制御部１８１は、有効性判定及び領域判定の結果に基づいて、管理領域１８２ｅに記憶された管理情報を更新する（Ｓ１００６）。図１４は、本実施形態の管理情報更新の説明図である。有効性判定結果が無効の場合、動き制御部１８１は、有効情報ＢＵＦＶに１を、第１タグＢＵＦＸに変数ｘを、第２タグＢＵＦＹに必要領域の始点Ｙ座標ｙｂを、サイズ情報ＢＵＦＨに必要領域全体のサイズ“ｙｅ−ｙｂ＋１”を登録する。一方、有効性判定結果が有効の場合、動き制御部１８１は、領域判定結果に応じて管理情報を更新する。なお、有効性判定結果が有効の場合、有効情報ＢＵＦＶは既に「１」であるので、有効情報ＢＵＦＶと第１タグＢＵＦＸの更新は省略可能である。また、領域判定結果（Ｅ）の場合、参照画像データが転送されないので、管理情報の更新は省略可能である。
【００４１】
領域判定結果（Ａ）又は（Ｂ）の場合、動き制御部１８１は、必要領域の始点Ｙ座標ｙｂを第２タグＢＵＦＹに、転送領域全体のＹ方向のサイズ（以下、「転送領域サイズ」という）“ｙｅ−ｙｂ＋１”をサイズ情報ＢＵＦＨに登録する。
【００４２】
領域判定結果（Ｃ）の場合、動き制御部１８１は、非転送領域と転送領域のＹ方向の合計サイズ（以下、「合計領域サイズ」という）“ｙｅ−ＢＵＦＹ［Ｖｎ］＋１”に応じて管理情報を更新する。合計領域サイズ“ｙｅ−ＢＵＦＹ［Ｖｎ］＋１”が、第１〜第４記憶領域１８２ａ〜１８２ｄのＹ方向のサイズ（以下、「記憶領域サイズ」という）“１６”以下の場合（Ｃ１）、動き制御部１８１は、合計領域サイズ“ｙｅ−ＢＵＦＹ［Ｖｎ］＋１”をサイズ情報ＢＵＦＨに登録する。一方、合計領域サイズ“ｙｅ−ＢＵＦＹ［Ｖｎ］＋１”が記憶領域サイズ“１６”より大きい場合（Ｃ２）、動き制御部１８１は、必要領域の終点Ｙ座標と記憶領域サイズの差“ｙｅ−１５”を第２タグＢＵＦＹに、記憶領域サイズ“１６”をサイズ情報ＢＵＦＨに登録する。
【００４３】
領域判定結果（Ｄ）の場合、動き制御部１８１は、必要領域の始点Ｙ座標ｙｂを第２タグＢＵＦＹに、合計領域サイズ“ＢＵＦＹ［Ｖｎ］＋ＢＵＦＨ［Ｖｎ］−ｙｂ”と記憶領域サイズ“１６”のうち小さい方をサイズ情報ＢＵＦＨに登録する。合計領域サイズ“ＢＵＦＹ［Ｖｎ］＋ＢＵＦＨ［Ｖｎ］−ｙｂ”が記憶領域サイズ“１６”未満の場合、非転送領域と転送領域の全体が有効に維持される。一方、合計領域サイズ“ＢＵＦＹ［Ｖｎ］＋ＢＵＦＨ［Ｖｎ］−ｙｂ”が記憶領域サイズ“１６”以上の場合、非転送領域のうちＹ方向のサイズが１６を超える部分がＹ座標の大きい方から無効化される。
【００４４】
本実施形態の参照画像転送処理の具体例について説明する。図１５は、本実施形態の参照画像転送処理の具体例の説明図である。図１５では、（１）が領域判定結果（Ａ）に対応し、（２）及び（３）が領域判定結果（Ｃ）に対応する。
【００４５】
符号化処理（１）は、先頭マクロブロックに対して行われる。先頭マクロブロックに対する符号化処理が開始する前（初期状態）では、第１〜第４記憶領域１８２ａ〜１８２ｄには参照画像データが記憶されていない。はじめに、制御部１９は、必要領域の始点座標（０，０）及び終点座標（３，１２）を含む制御信号を生成する。動き制御部１８１は、必要領域（０，０）〜（３，１２）全体の参照画像データをフレームメモリ３３からプリフェッチバッファ１８２へ転送する。次いで、動き制御部１８１は、有効情報ＢＵＦＶ［Ｖ０］〜［Ｖ３］に“１”を登録し、サイズ情報ＢＵＦＨ［Ｖ０］〜［Ｖ３］に転送領域サイズ“１３”を登録する。
【００４６】
符号化処理（２）は、２番目のマクロブロックに対して行われる。はじめに、制御部１９は、始点座標（２，３）及び終点座標（５，１５）を含む制御信号を生成する。これにより、必要領域の始点が、Ｘ方向に１６画素且つＹ方向に６画素分シフトする。動き制御部１８１は、必要領域（２，３）〜（５，１５）の参照画像データの一部をフレームメモリ３３からプリフェッチバッファ１８２へ転送する。第１及び第２記憶領域１８２ａ、１８２ｂ用の転送領域は、必要領域全体（４，３）〜（５，１５）である。一方、第３及び第４記憶領域１８２ｃ、１８２ｄ用の転送領域は、必要領域から非転送領域を除いた領域（２，１３）〜（３，１５）である。次いで、動き制御部１８１は、第１タグＢＵＦＸ［Ｖ０］及び［Ｖ１］に“１”を登録し、第２タグＢＵＦＹ［Ｖ０］及び［Ｖ１］に“３”を登録し、サイズ情報ＢＵＦＨ［Ｖ０］及び［Ｖ１］に以前の符号化処理（１）と同じ値である“１３”を登録する。一方、動き制御部１８１は、サイズ情報ＢＵＦＨ［Ｖ２］及び［Ｖ３］へ合計領域サイズ“１６”を登録するが、第１タグＢＵＦＸ［Ｖ２］及び［Ｖ３］並びに第２タグＢＵＦＹ［Ｖ２］及び［Ｖ３］は更新しない。
【００４７】
符号化処理（３）は、３番目のマクロブロックに対して行われる。はじめに、制御部１９は、始点座標（３，６）及び終点座標（６，１７）を含む制御信号を生成する。これにより、必要領域の始点が、Ｘ方向に８画素且つＹ方向に６画素分シフトする。動き制御部１８１は、必要領域（３，６）〜（６，１７）の参照画像データの一部をフレームメモリ３３からプリフェッチバッファ１８２へ転送する。第４、第１及び第２記憶領域１８２ｄ、１８２ａ、１８２ｂ用の転送領域は、必要領域から非転送領域を除いた領域（３，１３）〜（５，１７）である。一方、第３記憶領域１８２ｃの転送領域は、必要領域全体（６，６）〜（６，１７）である。次いで、動き制御部１８１は、第２タグＢＵＦＹ［Ｖ３］に“２”を登録し、サイズ情報ＢＵＦＨ［Ｖ０］及び［Ｖ１］に合計領域サイズ“１５”を登録し、サイズ情報ＢＵＦＨ［Ｖ３］に以前の符号化処理（２）と同じ値“１６”を登録する 。一方、動き制御部１８１は、第１タグＢＵＦＸ［Ｖ２］に“１”を登録し、第２タグＢＵＦＹ［Ｖ２］に“６”を登録し、サイズ情報ＢＵＦＨ［Ｖ２］に転送領域サイズ“１２”を登録する。
【００４８】
一般的なキャッシュメモリでは、例えば、キャッシュメモリの容量が１０２４バイトであり、ラインサイズが１６バイトであり、キャッシュライン数が６４（＝１０２４÷１６）ラインである。この場合、１ラインあたりの管理領域が２ビットであったとしても、８０ビットを超える容量の管理領域が必要となる。即ち、キャッシュメモリの管理領域には、有効ビットとタグ情報が必要となるので、極めて大きな容量の管理領域が必要になる。
【００４９】
これに対して、本実施形態によれば、動き探索部１８は、ビデオコーデックで規定される一定の処理順に合わせて、フレームメモリ３３からプリフェッチバッファ１８２へ必要最小限の参照画像データを転送する。具体的には、一般的なキャッシュメモリのラインサイズを１６バイトとした場合と同じ転送量で済む。このとき、管理領域１８２ｅの容量を過剰に確保する必要はない。これにより、必要最小限の容量を有するプリフェッチバッファ１８２を用いて、メインメモリ３０のバンド幅の利用効率を改善することができる。例えば、第１〜第４記憶領域１８２ａ〜１８２ｄの容量が、それぞれ、１０２４バイトである場合、管理領域１８２ｅの容量は８０ビットで十分である。
【００５０】
本実施形態の変形例について説明する。図１６は、本実施形態の変形例の画像復号装置４０の機能ブロック図である。画像復号装置４０は、エントロピー復号部４１と、逆量子化部１５と、逆直交変換部１６と、加算器１１ｂと、デブロッキングフィルタ１７と、動き探索部１８と、制御部４２と、を備える。エントロピー復号部４１は、符号化データメモリ３２に記憶された符号化データを復号して、量子化データを生成する。制御部４２は、画像復号装置４０全体を制御するとともに、符号化データメモリ３２及びフレームメモリ３３へのメモリアクセスを制御する。エントロピー復号部４１及び制御部４２以外の構成（逆量子化部１５、逆直交変換部１６、加算器１１ｂ、デブロッキングフィルタ１７、及び動き探索部１８）は、符号化装置１０と同様である。
【００５１】
本実施形態の変形例によれば、画像復号装置４０が動き探索部１８を備える。これにより、画像復号装置４０においても、画像符号化装置１０と同様に、メインメモリ３０のバンド幅の利用効率を改善することができる。
【００５２】
本実施形態に係る画像処理システム１の少なくとも一部は、ハードウェアで構成しても良いし、ソフトウェアで構成しても良い。ソフトウェアで構成する場合には、画像処理システム１の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させても良い。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でも良い。
【００５３】
また、本実施形態に係る画像処理システム１の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布しても良い。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布しても良い。
【００５４】
なお、本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で構成要素を変形して具体化される。また、上述した実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明が形成可能である。例えば、上述した実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００５５】
１  画像処理システム
１０  画像符号化装置
１１ａ  減算器
１１ｂ  加算器
１２  直交変換部
１３  量子化部
１４  エントロピー符号化部
１５  逆量子化部
１６  逆直交変換部
１７  デブロッキングフィルタ
１８  動き探索部
１８１  動き制御部
１８２  プリフェッチバッファ
１８３  動き補償部
１９  制御部
２０  画像生成装置
３０  メインメモリ
３１  元画像メモリ
３２  符号化データメモリ
３３  フレームメモリ
４０  画像復号装置
４１  エントロピー復号部
４２  制御部
【図１】
0005662233.tif 000002
【図２】
0005662233.tif 000003
【図３】
0005662233.tif 000004
【図４】
0005662233.tif 000005
【図５】
0005662233.tif 000006
【図６】
0005662233.tif 000007
【図７】
0005662233.tif 000008
【図８】
0005662233.tif 000009
【図９】
0005662233.tif 000010
【図１０】
0005662233.tif 000011
【図１１】
0005662233.tif 000012
【図１２】
0005662233.tif 000013
【図１３】
0005662233.tif 000014
【図１４】
0005662233.tif 000015
【図１５】
0005662233.tif 000016
【図１６】
0005662233.tif 000017