(57)【要約】【課題】動き補償予測で参照される参照バッファメモリの記憶容量削減に資することが可能な画像処理装置【解決手段】一定の画素数のデータブロックを単位として処理対象データブロックを一方向に順次切り替えながらフレーム間の動き補償予測を行う場合に、動き補償予測の処理対象データブロックに対して一定の探索範囲のデータブロックの参照画像データを用いる。このとき、フレームバッファメモリに保持された参照画像データの一部が転送される参照バッファメモリに対する書き込み制御において、処理対象データブロックが次のデータブロックに切り替えられるのに同期して、切り替え前の前記一定の探索範囲のデータブロックのうち切り替え方向に対して最も後方のデータブロックの参照画像データを参照バッファメモリから解放し、同じく最も先方のデータブロックの次のデータブロックの参照画像データを前記参照バッファメモリに追加するバッファ制御を採用する。【選択図】図１
2009152710.tif 000002
【特許請求の範囲】
【請求項１】
フレーム間の動き補償予測を用いて動画像の符号化処理、復号処理、又は符号化及び復号処理を行なう画像処理部と、
前記画像処理部で生成されその後の動き補償予測で参照される参照画像データが格納されるフレームバッファメモリと、
前記フレームバッファメモリに保持された参照画像データの一部が転送される参照バッファメモリと、
前記画像処理部による動き補償予測の処理に応じて、前記フレームバッファメモリから前記参照バッファメモリへの参照画像データの書き込みと前記参照バッファメモリから画像処理部への参照画像データの読み出しとを制御するバッファ制御部とを有し、
前記画像処理部は、一定データ量のデータブロックを単位として処理対象データブロックを一方向に順次切り替えながらフレーム間の動き補償予測を行い、その際に動き補償予測の処理対象データブロックに対して一定の探索範囲のデータブロックの参照画像データを用い、
前記バッファ制御部は前記書き込み制御において、処理対象データブロックが次のデータブロックに切り替えられるのに同期して、切り替え前の前記一定の探索範囲のデータブロックのうち切り替え方向に対して最も後方のデータブロックの参照画像データを参照バッファメモリから解放し、同じく最も先方のデータブロックの更に先のデータブロックの参照画像データを前記参照バッファメモリに追加する、画像処理装置。
【請求項２】
前記バッファ制御部は、動き補償予測の対象がフレームの先頭のデータブロックであるとき、前記先頭データブロックから当該先頭データブロックに対する前記探索範囲の前記切り替え方向の最も先方のデータブロックの更に先のデータブロックの参照画像データまでを参照バッファメモリに書き込む制御を行う、請求項１記載の画像処理装置。
【請求項３】
前記バッファ制御部は、探索範囲が前記一定の探索範囲の大きさを満足してから前記参照画像データを参照バッファメモリから解放する処理を開始する、請求項２記載の画像処理装置。
【請求項４】
前記バッファ制御部は、前記一定の探索範囲における前記切り替え方向の最も先方のデータブロックがフレームの終端データブロックに到達したとき、参照バッファメモリに追加する前記更に先のデータブロックの参照画像データを次のフレームから取得する、請求項３記載の画像処理装置。
【請求項５】
前記バッファ制御部は一つのフレーム対する処理中に参照バッファメモリに読み込む画像データを１データブロックにつき１回だけとする、請求項１記載の画像処理装置。
【請求項６】
前記バッファ制御部は、前記フレームのサイズ、前記一定の探索範囲の大きさ、及び前記フレームバッファメモリ上での前記参照画像データが格納されるアドレスの情報が夫々プログラマブルに設定される制御レジスタを有する、請求項１記載の画像処理装置。
【請求項７】
前記画像処理部は前記処理対象データブロックを複数データブロックとし、
前記バッファ制御部は前記処理対象データブロックに応ずる複数データブロック単位で前記参照画像データの解放と追加を行う、請求項１記載の画像処理装置。
【請求項８】
フレームバッファメモリに対してリニアに割り当てられた参照画像データのアドレスを、データブロック単位でリニアなアドレスに変換するアドレス変換部を有し、
前記アドレス変換部は画像処理部から参照画像データと共に出力される参照画像データのアドレスに対して前記変換を行って、フレームバッファメモリに供給する、請求項１記載の画像処理装置。
【請求項９】
前記参照バッファメモリはＦＩＦＯメモリである、請求項１記載の画像処理装置。
【請求項１０】
フレーム間の動き補償予測を用いて動画像の符号化処理、復号処理、又は符号化及び復号処理を行なう画像処理部を利用した画像処理方法であって、
前記画像処理部で生成されその後の動き補償予測で参照される参照画像データをフレームバッファメモリに格納する第１処理と、
前記動き補償予測の処理に応じて、前記フレームバッファメモリから参照バッファメモリへの参照画像データの書き込みと前記参照バッファメモリから画像処理部への参照画像データの読み出しとを制御する第２処理と、
前記画像処理部が前記第２処理で読み出された参照画像データを用いて、一定データ量のデータブロックを単位として処理対象データブロックを一方向に順次切り替えながらフレーム間の動き補償予測を行い、その際に動き補償予測の処理対象データブロックに対して一定の探索範囲のデータブロックの参照画像データを用いる第３処理とを含み、
前記第２処理の前記書き込み制御において、処理対象データブロックが次のデータブロックに切り替えられるのに同期して、切り替え前の前記一定の探索範囲のデータブロックのうち切り替え方向に対して最も後方のデータブロックの参照画像データを参照バッファメモリから解放し、同じく最も先方のデータブロックの更に先のデータブロックの参照画像データを前記参照バッファメモリに追加する、画像処理方法。
【請求項１１】
前記第２処理の前記書き込み制御において、動き補償予測の対象がフレームの先頭のデータブロックであるとき、前記先頭データブロックから当該先頭データブロックに対する前記探索範囲の前記切り替え方向の最も先方のデータブロックの参照画像データまでを参照バッファメモリに書き込む制御を行う、請求項１０記載の画像処理方法。
【請求項１２】
前記第２処理の前記書き込み制御において、探索範囲が前記一定の探索範囲の大きさを満足してから前記参照画像データを参照バッファメモリから解放する処理を開始する、請求項１１記載の画像処理方法。
【請求項１３】
前記第２処理の前記書き込み制御において、前記一定の探索範囲における前記切り替え方向の最も先方のデータブロックがフレームの終端データブロックに到達したとき、参照バッファメモリに追加する前記更に先のデータブロックの参照画像データを次のフレームから取得する、請求項１２記載の画像処理方法。
【請求項１４】
前記第１処理において、画像処理部から参照画像データと共に出力される参照画像データのアドレスを、フレームバッファメモリに対してリニアなアドレスから、データブロック単位でリニアなアドレスに変換して、フレームバッファメモリに供給する、請求項１０記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フレーム間の動き補償予測を用いて動画像の符号化処理、復号処理、又は符号化及び復号処理を行なう画像処理技術、特に動き補償予測で参照される参照画像データのバッファリングに関し、例えばＭＰＥＧ（Moving Picture Experts Group）２の動作を処理する画像処理ＣＯＤＥＣ（Coder_Decoder）に適用して有効な技術に関するものである。
【背景技術】
【０００２】
ブロードバンドネットワークの発達による動画配信コンテンツの増加や、ＤＶＤ等の大容量記憶媒体と大画面映像表示機器の普及等により、動画符号化技術は必要不可欠な技術となっている。例えば動画符号化技術の一つとして、国際標準であるH.264/AVC等がある。H.264/AVC方式の符号化処理は、入力画像である原画像から、より少ないデータ量のストリームに変換する処理であり、H.264/AVC方式の復号処理は、符号化の処理結果であるストリームから、画像を復元する処理である。H.264/AVC符号化方式では予測を用いた符号化を行う。具体的な予測方式には、画面内予測と画面間予測の二つがある。画面間予測はフレーム間の動き補償予測とも称され、前後の複数フレーム間での画像の相違を抽出しなければならない。したがって、処理対象画像に対して予測参照画像データが必要になり、そのような予測参照画像データは予めフレームバッファに用意され、予測処理に際して逐次フレームバッファから読み込まれることによって動き補償予測が行われる。特に、一定の画素数のブロック単位で順次予測処理を行なうときに必要とされる参照画像データは処理対象データブロックの周囲の複数データブロックの範囲（探索範囲）とされる。そこで、そのような探索範囲の参照画像データを予めフレームバッファから参照バッファに書込んでおき、処理対象データブロックの切換えに応じて必要な探索範囲の画像データを容易に取得できるように考慮することが必要になる。特許文献１，２には参照画像をフレームバッファから先読みして保持するためにＳＲＡＭ等の参照バッファを設けることについて記載がある。特に探索範囲の複数のデータブロックに対応する予測参照画像データを参照バッファに読み込んで、複数ブロックの動き検出を連続して行うことについて言及される。更に参照バッファに格納するデータを更新することが記載される。
【０００３】
【特許文献１】特開２００６−２７０６８３号公報
【特許文献２】特開２００７−８８９２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１では、参照画像データをフレームバッファから探索範囲をカバーするデータブロックライン単位で参照画像用バッファに読み出す事で、フレームバッファへのアクセス効率を改善している。例えば一つの探索範囲のデータブロックの垂直方向の大きさが３本のデータブロックラインに相当する場合には、３本のデータブロックライン全部の画像データを参照バッファに格納することになる。しかしながら、特許文献１に記載の如く、データブロックライン単位でバッファ管理を行うと、参照画像用バッファに今後使用しないデータを記憶している領域が生じ、参照画像用バッファの使用効率が悪く、大容量の参照画像用バッファを必要とする課題のあることが本発明者によって見出された。参照画像用バッファに記憶されていて今後使用しないデータとは、探索範囲中の最も後方のデータブロックが属するデータブロックラインにおける当該データブロックよりも後方に位置するデータブロックの参照画像データである。
【０００５】
本発明の目的は、動き補償予測で参照される参照バッファメモリの記憶容量削減に資することが可能な画像処理装置、更には画像処理方法を提供することにある。
【０００６】
本発明の別の目的は、動き補償予測で参照される参照バッファメモリの使用効率を向上させることが可能な画像処理装置、更には画像処理方法を提供することにある。
【０００７】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００９】
すなわち、一定の画素数のデータブロックを単位として処理対象データブロックを一方向に順次切り替えながらフレーム間の動き補償予測を行う場合に、動き補償予測の処理対象データブロックに対して一定の探索範囲のデータブロックの参照画像データを用いる。このとき、フレームバッファメモリに保持された参照画像データの一部が転送される参照バッファメモリに対する書き込み制御において、処理対象データブロックが次のデータブロックに切り替えられるのに同期して、切り替え前の前記一定の探索範囲のデータブロックのうち切り替え方向に対して最も後方のデータブロックの参照画像データを参照バッファメモリから解放し、同じく最も先方のデータブロックの次のデータブロックの参照画像データを前記参照バッファメモリに追加するバッファ制御を採用する。このバッファ制御により、現に動き補償予測に用いられる探索範囲のデータブロックのうち切り替え方向に対して最も後方のデータブロックを基点に同じく最も先方のデータブロックまでのデータブロックラインに沿って連続する参照画像データを保持できる記憶容量を参照バッファメモリは持てばよい。しかも、参照バッファメモリに対する画像データの追加と解放は、ほとんどの場合、データブロック単位で行えばよい。
【発明の効果】
【００１０】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１１】
すなわち、動き補償予測で参照される参照バッファメモリの記憶容量削減に資することが可能になる。動き補償予測で参照される参照バッファメモリへのアクセス効率を向上させることが可能になる。
【発明を実施するための最良の形態】
【００１２】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１３】
〔１〕画像処理装置（５９０）は、画像処理部（５１０）、フレームバッファメモリ（５２０）、参照バッファメモリ（６４０）、及びバッファ制御部（６００）を有する。画像処理部は、フレーム間の動き補償予測を用いて動画像の符号化処理、復号処理、又は符号化及び復号処理を行なう。フレームバッファメモリは前記画像処理部で生成されその後の動き補償予測で参照される参照画像データが格納される。参照バッファメモリは前記フレームバッファメモリに保持された参照画像データの一部が転送される。バッファ制御部は前記画像処理部による動き補償予測の処理に応じて、前記フレームバッファメモリから前記参照バッファメモリへの参照画像データの書き込みと前記参照バッファメモリから画像処理部への参照画像データの読み出しとを制御する。このとき、前記画像処理部は、一定データ量のデータブロックを単位として処理対象データブロックを一方向に順次切り替えながらフレーム間の動き補償予測を行い、その際に動き補償予測の処理対象データブロックに対して一定の探索範囲のデータブロックの参照画像データを用いる。更に、前記バッファ制御部は前記書き込み制御において、処理対象データブロックが次のデータブロックに切り替えられるのに同期して、切り替え前の前記一定の探索範囲のデータブロックのうち切り替え方向に対して最も後方のデータブロックの参照画像データを参照バッファメモリから解放し、同じく最も先方のデータブロックの更に先のデータブロックの参照画像データを前記参照バッファメモリに追加する。
【００１４】
上記バッファ制御により、現に動き補償予測に用いられる前記一定の探索範囲のデータブロック内のデータブロックのうち切り替え方向に対して最も後方のデータブロックを基点に同じく最も先方のデータブロックまでのデータブロックラインに沿って連続する画像データを保持できる記憶容量を参照バッファメモリは持てばよい。したがって、参照バッファメモリの記憶容量削減が可能になる。また、参照バッファメモリに対する画像データの追加と解放は、ほとんどの場合、データブロック単位で行えばよい。これにより、参照バッファメモリへのアクセス効率が向上する。
【００１５】
〔２〕項１において、前記バッファ制御部は、動き補償予測の対象がフレームの先頭のデータブロックであるとき、前記先頭データブロックから当該先頭データブロックに対する前記探索範囲の前記切り替え方向の最も先方のデータブロックの更に先のデータブロックの参照画像データまでを参照バッファメモリに書き込む制御を行う。
【００１６】
〔３〕項２において、前記バッファ制御部は、探索範囲が前記一定の探索範囲の大きさを満足してから前記参照画像データを参照バッファメモリから解放する処理を開始する。
【００１７】
〔４〕項３において、前記バッファ制御部は、前記一定の探索範囲における前記切り替え方向の最も先方のデータブロックがフレームの終端データブロックに到達したとき、参照バッファメモリに追加する前記更に先のデータブロックの参照画像データを次のフレームから取得する。
【００１８】
〔５〕項１において、前記バッファ制御部は一つのフレーム対する処理中に参照バッファメモリに読み込む画像データを１データブロックにつき１回だけとする。これにより、フレームバッファメモリに対するアクセス効率が最も向上する。
【００１９】
〔６〕項１において、前記バッファ制御部は、前記フレームのサイズ、前記一定の探索範囲の大きさ、及び前記フレームバッファメモリ上での前記参照画像データが格納されるアドレスの情報が夫々プログラマブルに設定される制御レジスタを有する。対応可能な表示サイズ並びにマクロデータブロックサイズに対して融通性が増す。
【００２０】
〔７〕項１において、前記画像処理部は前記処理対象データブロックを複数データブロックとするとき、前記バッファ制御部は前記処理対象データブロックに応ずる複数データブロック単位で前記参照画像データの解放と追加を行ってもよい。
【００２１】
〔８〕項１において、フレームバッファメモリに対してリニアに割り当てられた参照画像データのアドレスを、データブロック単位でリニアなアドレスに変換するアドレス変換部を更に有し、前記アドレス変換部は画像処理部から参照画像データと共に出力される参照画像データのアドレスに対して前記変換を行って、フレームバッファメモリに供給する。アドレス変換を介してフレームバッファに書き込まれた参照画像データをデータブロック単位で読み出すのにリニアなアドレスを用いることができ、バーストアクセスによって効率的にデータブロック単位で参照画像データの読出しを行うことができる。要ずるに、参照バッファメモリに対する画像データの追加と解放をデータブロック単位で行う操作を、バーストアクセスによって効率的に行うことができる。
【００２２】
〔９〕項1において前記参照バッファメモリは例えばＦＩＦＯメモリとして実現すればよい。
【００２３】
〔１０〕画像処理方法は、フレーム間の動き補償予測を用いて動画像の符号化処理、復号処理、又は符号化及び復号処理を行なう方法であって、第１処理乃至第３処理を含む。第１処理は、前記画像処理部で生成されその後の動き補償予測で参照される参照画像データをフレームバッファメモリに格納する処理である。第２処理は、前記動き補償予測の処理に応じて、前記フレームバッファメモリから参照バッファメモリへの参照画像データの書き込みと前記参照バッファメモリから画像処理部への参照画像データの読み出しとを制御する処理である。第３処理は、前記画像処理部が前記第２処理で読み出された参照画像データを用いて、一定の画素数のデータブロックを単位として処理対象データブロックを一方向に順次切り替えながらフレーム間の動き補償予測を行い、その際に動き補償予測の処理対象データブロックに対して一定の探索範囲のデータブロックの参照画像データを用いる処理である。このとき、前記第２処理の前記書き込み制御において、処理対象データブロックが次のデータブロックに切り替えられるのに同期して、切り替え前の前記一定の探索範囲のデータブロックのうち切り替え方向に対して最も後方のデータブロックの参照画像データを参照バッファメモリから解放し、同じく最も先方のデータブロックの更に先のデータブロックの参照画像データを前記参照バッファメモリに追加する処理を行なう。
【００２４】
〔１１〕項１０の前記第２処理の前記書き込み制御において、動き補償予測の対象がフレームの先頭のデータブロックであるときは、例えば前記先頭データブロックから当該先頭データブロックに対する前記探索範囲の前記切り替え方向の最も先方のデータブロックの更に先のデータブロックの参照画像データまでを参照バッファメモリに書き込む制御を行う。
【００２５】
〔１２〕項１１の前記第２処理の前記書き込み制御において、例えば探索範囲が前記一定の探索範囲の大きさを満足してから前記参照画像データを参照バッファメモリから解放する処理を開始する。
【００２６】
〔１３〕項１２の前記第２処理の前記書き込み制御において、前記一定の探索範囲における前記切り替え方向の最も先方のデータブロックがフレームの終端データブロックに到達したとき、参照バッファメモリに追加する前記更に先のデータブロックの参照画像データを次のフレームから取得する。
【００２７】
〔１４〕項１０の前記第１処理において、例えば画像処理部から参照画像データと共に出力される参照画像データのアドレスを、フレームバッファメモリに対してリニアなアドレスから、データブロック単位でリニアなアドレスに変換して、フレームバッファメモリに供給する。
【００２８】
２．実施の形態の詳細
実施の形態について更に詳述する。以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。なお、発明を実施するための最良の形態を説明するための全図において、同一の機能を有する部材には同一の符号を付し、その繰り返しの説明は省略する。
【００２９】
《画像符号化復号装置》
図５には本発明に係る画像処理装置の一例として画像符号化復号装置５９０が例示される。画像符号化復号装置５９０は、画像符号化復号部５１０、参照画像バッファ部５００、及び参照画像バッファ部５００にバス５３０を介して接続されるフレームバッファメモリ５２０から成る。
【００３０】
画像符号化復号部５１０は、画像データの符号化処理並びに復号処理を行う。符号化処理は、入力画像である原画像から、より少ないデータ量のストリームに変換する処理である。一方、復号処理は、符号化の処理結果であるストリームから、画像を復元する処理である。画像データの符号化処理及び復号処理の具体例としてH.264/AVC方式の符号化処理及び復号処理ではフレーム間の動き補償予測を用いて動画像の符号化処理、復号処理を行う。その具体的な予測方式には、画面内予測と画面間予測の２方式である。ここで先ず、図２と図３を用いて、H.264/AVC符号化処理と復号処理の概要を説明する。
【００３１】
図２にはH.264/AVC符号化処理の概要が例示される。画面内予測を使用した符号化は、画面内予測処理２０、直交変換処理３０、量子化処理４０、逆量子化処理６０、逆直交変換処理７０、可変長符号化処理５０を行うことにより、ストリーム１５０を得る。一方、画面間予測では、動き探索処理８０、動き補償処理９０、直交変換処理３０、量子化処理４０、逆量子化処理６０、逆直交変換処理７０、可変長符号化処理５０によりストリーム１５０を得る。
【００３２】
画面内予測処理２０は、入力画像である原画像１０から、画面内予測情報１１０と、原画像を予測する予測画像１２０を生成する。直交変換処理３０は、予測画像１２０と原画像１０の差分である差分画像１４０から、直交変換によって周波数成分を生成する。量子化処理４０は、周波数成分を量子化し情報量を削減する。逆量子化処理６０は、量子化された周波数成分に対して、逆量子化を行い、周波数成分の復元を行う。逆直交変換処理７０は、復元された周波数成分に対して、逆直交変換を行い、差分画像を復元する。復元された差分画像と予測画像１２０は、和が採られて参照画像データ１００として記憶される。参照画像データ１００は画像参照バッファ部（ＲＢＣＮＴ）５００の制御を介してフレームバッファメモリ（ＦＢＭ）５２０に記憶される。
【００３３】
一方、動き探索処理８０は、過去または未来の原画像から生成された参照画像データ１００内で、原画像１０内の各領域と類似した領域を探索し、類似した領域の位置を表す動きベクトル１３０を生成する。動き補償処理９０は、動きベクトル１３０で示す位置を元に、参照画像データ１００を参照し、フィルタ処理によって、予測画像１２０を生成する。動き探索処理８０及び動き補償処理に用いる参照画像データ１００は画像参照バッファ部（ＲＢＣＮＴ）５００の制御を介してフレームバッファメモリ（ＦＢＭ）５２０から参照される。
【００３４】
可変長符号処理５０は、量子化された周波数成分と画面内予測情報１１０と動きベクトル１３０を、より少ないデータ量のデータ列に符号化し、ストリーム１５０として記憶する。
【００３５】
図３にはH.264/AVC復号化処理の概要が例示される。ストリーム２１０が画面内予測符号化されたデータの場合、可変長復号化処理２２０、画面内予測処理２５０、逆直交変換処理２４０、及び逆量子化処理２３０により表示画像データ２６０を得る。ストリーム２１０が画面間予測符号化されたデータの場合、可変長復号化処理２００、動き補償処理２７０、逆直交変換処理２４０、及び逆量子化処理２３０が行われる。
【００３６】
可変長復号化処理２２０は、ストリーム２１０の復号化を行い、画面内予測情報３１０、動きベクトル３００、並びに量子化された周波数成分を復元する。逆量子化処理２３０と逆直交変換処理２４０は符号化処理と同一の処理内容であり、差分画像３２０を生成する。画面内予測処理２５０は、画面内予測情報３１０から予測画像２８０を生成する。復元された差分画像３２０と予測画像データ２８０は、和が採られて表示画像データ２６０として記憶される。表示画像データは画像参照バッファ部（ＲＢＣＮＴ）５００の制御を介してフレームバッファメモリ（ＦＢＭ）５２０に記憶される。
【００３７】
一方、動き補償処理２７０は、表示画像データ２６０を参照画像データ２９０として使用し、動きベクトル３００と参照画像データ２９０から、原画像を予測する予測画像データ２８０を生成する。参照画像データ２９０は画像参照バッファ部（ＲＢＣＮＴ）５００の制御を介してフレームバッファメモリ（ＦＢＭ）５２０から参照される。
【００３８】
図４はH.264/AVC方式における画像内でのデータの処理位置を説明するための図である。H.264/AVCでの符号化及び復号処理では、上記の処理を１６×１６画素のデータで構成されるデータブロック（以下単にマクロブロックとも記す）４１０と呼ばれる処理単位で行う。符号化及び復号処理の動作は、処理対象画像４００の画像左上から処理を開始し、1つのマクロブロックの処理が終了すると、右隣のマクロブロックに処理対象を移動する。図４の矢印で示すとおり、処理対象が画像右端まで移動した場合は、１マクロブロック下の列の画像左端のマクロブロックに処理対象を移動する。また、画面間予測で処理対象となっているマクロブロック４１０を中心とした矩形を探索範囲４２０と呼び、符号化処理時は探索範囲４２０を動き探索の範囲とし、復号処理時は探索範囲４２０内の画像データをマクロブロック単位で動き補償処理に使用する。
【００３９】
動画像の符号化及び復号処理では、フレームバッファメモリ５２０に参照画像を蓄積し、その参照画像の探索範囲内の画像データをマクロブロック単位で読み込み、処理対象マクロブロックの動き補償が行われる。従って、探索範囲内の画像データに対して参照画像を格納しているフレームバッファメモリ５２０からマクロブロック単位のアクセスが頻繁に行われる。マクロブロック単位のアクセスは、アドレス切り替えが頻繁に発生する為、待ち時間が発生し、フレームバッファメモリ５２０へのアクセス時間が大きい。このアクセス時間の増大により、メモリ帯域が圧迫される。従って、フレームバッファメモリ５２０のメモリ帯域幅が処理性能のボトルネックとなり易い。図５に示される前記参照画像バッファ部５００は動き補償予測処理において、フレームバッファメモリ５２０から参照画像データの二度読みを無くすために参照バッファメモリを備え且つ参照バッファメモリへのアクセス効率を向上させて、フレームバッファメモリ５２０へのアクセス効率を改善するために設けられている。
【００４０】
図５に示される画像符号化復号部５１０は例えば積和演算器及び積和演算用メモリを備えたディジタル信号処理プロセッサなどによって構成され、図２及び図３で説明した動画像の動き補償予測処理を用いた符号化処理及び復号処理を行う。画像符号化復号部５１０はフレームバッファメモリ５２０をアクセスするため、参照画像バッファ部５００に要求アドレス５６０と参照画像の書き込みデータ５５０を発行し、また、参照画像の読み出しデータ５７０を受け取る。参照画像バッファ部５００は、画像符号化復号装置５９０の外部、例えば画像符号化復号装置５９０と接続される外部のＣＰＵ（中央処理装置）から、参照画像の画像サイズ、探索範囲の大きさ、フレームバッファメモリ５２０における参照画像の格納アドレス等の情報５４０が初期
設定される。参照画像バッファ部５００は、情報５４０による初期設定にしたがって、バス５３０に接続する通信経路５８０を介して、画像符号化復号部５１０が必要とする参照画像データの先読み等を行い、画像符号化復号部５１０へのデータ転送を制御する。通信経路５８０には、フレームバッファメモリ５２０への参照画像データ書き込みアドレス及び参照画像データ読み込みアドレス、参照画像書き出しデータ、及び参照画像データ読み込みに対する参照画像先読みデータが伝達される。
【００４１】
《参照画像バッファ部》
図１には参照画像バッファ部５００の詳細な構成が例示される。参照画像バッファ部５００の主動作は以下の３種類である。第１は、画像符号化復号部５１０より受け取った参照画像データをフレームバッファ５２０に書き出す操作を行う参照画像書込み動作、第２は、参照画像データをフレームバッファ５２０から先読みして記憶する操作を行う参照画像先読み動作、第３は、画像符号化復号部５１０からの参照画像データ読み込み要求に対して、先読み済みの参照画像データを返送する操作を行う参照画像読み出し動作である。
【００４２】
参照画像バッファ部５００は、バッファ制御部６００、参照バッファメモリ６４０、アドレス変換部６３０、ライトアドレスキュー６５０、及びライトデータキュー６６０を有する。参照バッファメモリ６４０は例えばＦＩＦＯ（First In−First Out）メモリによって構成される。バッファ制御部６００は、レスポンス生成部６１０、リクエスト生成部６２０、制御レジスタ７５０によって構成される。要求アドレス５６０の伝達経路はスイッチ７２０，７３０の状態に従ってライトアドレスキュー６５０を通る経路とバッファ制御部６００を通る経路の何れかが選択される。前者は前記参照画像書込み動作のための経路とされ、後者は前記参照画像読出し動作のための経路とされる。リクエスト生成部６２０は参照画像先読み動作のために必要なフレームバッファメモリ５２０の読み込みアドレス７７０等を生成すると共に、それによってフレームバッファから出力される参照画像データを参照バッファメモリ６４０に書き込むための入力ポインタアドレス（プッシュアドレス）６７０を生成する。レスポンス生成部６１０は参照画像読出し要求アドレス５６０ａに従って参照バッファメモリ６４０から参照画像データを読み出すための出力ポインタアドレス（ポップアドレス）６８０を生成する。
【００４３】
前記参照画像書込み動作に係る構成について説明する。参照画像書き込み動作では、スイッチ７２０、ライトアドレスキュー６５０、スイッチ７３０、アドレス変換部６３０、及びライトデータキュー６６０が動作される。スイッチ７２０は、画像符号化復号部５１０から発行された要求アドレス５６０が参照画像書き込み要求アドレス５６０bの場合、ライトアドレスキュー６５０に参照画像書き込み要求アドレス５６０bを渡す。ライトアドレスキュー６５０は、スイッチ７２０から受け取った、参照画像書き込み要求のアドレス５６０bを蓄え、スイッチ７３０がライトアドレスキュー６５０側に倒れた場合に、書き込みアドレス７８０をアドレス変換部６３０へ出力する。スイッチ７３０は、リクエスト生成部６２０が参照画像データの読み込みアドレス７７０を生成していない場合は、ライトアドレスキュー６５０から書き込みアドレス７８０をアドレス変換部６３０に渡す。アドレス変換部６３０は、スイッチ７３０から書き込みアドレス７８０が渡された場合は、書き込みアドレス７８０をアドレス変換し、アドレス変換済みアドレス５８０bを生成し、書き込み要求と共にバス５３０を通してフレームバッファ５２０に供給する。ライトデータキュー６６０は、画像符号化復号部５１０から発行された、参照画像書き込みデータ５５０を一時的に蓄え、アドレス変換部６３０が発行する書き込み要求に同期して、バス５３０へ参照画像書き出しデータ５８０aを発行する。なお、アドレス変換部６３０の動作については後述する。
【００４４】
前記参照画像先読み動作に係る構成について説明する。参照画像読み込み動作では、バッファ制御部６００、スイッチ７３０、アドレス変換部６３０、及び参照バッファメモリ６４０が動作される。バッファ制御部６００は、制御レジスタ７５０に格納される参照画像の画像サイズ、探索範囲の大きさ、フレームバッファ５２０上での参照画像の格納アドレス等、参照画像データの読み込みに必要な情報５４０と、画像符号化復号部５１０の処理の進行状況より、参照バッファメモリ６４０の読み込み位置を示す入力ポインタアドレス６７０と参照画像データの読み込みアドレス７７０を生成する。スイッチ７３０は、バッファ制御部６００が参照画像データの読み込みアドレス７７０を生成した場合は、リクエスト生成部６２０から読み込みアドレス７７０がアドレス変換部６３０に渡される。アドレス変換部６３０は、スイッチ７３０から読み込みアドレス７７０が渡された場合は、読み込みアドレス７７０のアドレス変換を行い、アドレス変換済みアドレス５８０bを生成し、読み込み要求と共にバス５３０を通してフレームバッファ５２０へ供給される。参照バッファメモリ６４０は、リクエスト生成部６２０が生成した入力ポインタアドレス６７０の示す位置に参照画像データ５８０ｃを先読みする。
【００４５】
参照画像読み出し動作に係る構成について説明する。参照画像読み出し動作では、スイッチ７２０、バッファ制御部６００、及び参照バッファメモリ６４０が動作される。スイッチ７２０は、画像符号化復号部５１０から発行された要求アドレス５６０が参照画像読み出し要求アドレス５６０aの場合、バッファ制御部６００へ参照画像読み出し要求アドレス５６０aを渡す。レスポンス生成部６１０は、スイッチ７２０より参照画像読み出し要求アドレス５６０aを受け取り、制御レジスタ７５０に格納される参照画像の画像サイズ、探索範囲の大きさ、フレームバッファ５２０上での参照画像の格納アドレス等、参照画像データの転送に必要な情報５４０に基づいて、参照バッファメモリ６４０の読み出し位置を示す出力ポインタアドレス６８０を生成する。参照バッファメモリ６４０はレスポンス生成部６１０が生成した出力ポインタアドレス６８０の示す位置から参照画像データ５７０を読み出して画像符号化復号部５１０に返送する。
【００４６】
《バッファ制御部》
バッファ制御部６００について更に詳述する。
【００４７】
制御レジスタ７５０は、参照画像の画像サイズ、探索範囲の大きさ、フレームバッファ５２０上での参照画像の格納アドレス等、参照画像データの転送に必要な情報５４０を、参照画像バッファ部５００の外部より受け受取って記憶する。
【００４８】
リクエスト生成部６２０は、制御レジスタ７５０に記憶されている参照画像の画像サイズ等の設定値７００を読み出し、画像符号化復号部５１０による処理の進行状態に同期して、参照画像データの読み込みアドレス７７０を生成する。さらに、バス５３０より受け取った参照画像先読みデータ５８０cを、参照バッファメモリ６４０の読み込み位置を示す入力ポインタアドレス６７０を生成する。
【００４９】
レスポンス生成部６１０は、制御レジスタ７５０に格納されている画像サイズ等の設定値７１０に基づいて、スイッチ７２０より渡された参照画像読み出し要求アドレス５６０aに応ずる参照画像データを参照バッファメモリ６４０から読み出すための出力ポインタアドレス６８０を生成する。
【００５０】
図６を用いて、参照バッファメモリ６４０で記憶する参照画像データの範囲について説明する。ここでは参照画像８００は、フレームバッファ５２０に格納されている参照画像データ全体を表す。参照バッファメモリ６４０は、画像符号化復号部５１０の処理の進行に合わせて、参照画像８００の内、処理対象のマクロブロック８１０を中心とする探索範囲８２０を含む、記憶範囲８３０の画像データを記憶する。また、処理が次の処理対象に移動した場合に備え、読み込み領域８４０に該当するブロックの画像データを先読みする。
【００５１】
画像符号化復号部５１０による処理の進行に従ってバッファ管理の制御内容を図７乃至図１１を参照しながら説明する。
【００５２】
図７には処理対象が移動した際の参照画像データの記憶領域の変化が例示される。画像符号化復号部５１０の処理対象がマクロブロック９１０からマクロブロック９２０に移動した場合、画像符号化復号部５１０が処理に必要とする画像データを含む探索範囲は、旧探索範囲９３０から新探索範囲９４０に移動する。この時、画像符号化復号部５１０は、新探索範囲９４０から外れたマクロブロック９５０の画像データを、現在の画像を処理している間は二度と読込む事は無い。そこで、バッファ制御部６００は、このマクロブロック９５０を未使用領域とし、次の処理対象移動時に新規に探索範囲内に入る読み込み領域９６０用の記憶領域として再利用する。要するに、ＦＩＦＯバッファとして機能する参照バッファメモリ６４０のライトポインタアドレスを進めることにより、マクロブロック９５０の参照画像データが格納されているバッファ領域にマクロブロック９６０の参照画像データが格納される。
【００５３】
バッファ制御部６００はこの制御を画像符号化復号部５１０の処理対象が移動する毎に繰り返す。 これによって、参照バッファメモリ６４０に、常に最新の探索範囲を含む画像データを記憶する事ができる。
【００５４】
画像符号化復号部５１０の処理対象の移動に合わせて、参照バッファメモリ６４０で記憶する画像の範囲も移動する。この移動パターンには、図７に示すパターン以外に特殊なパターンが存在する。そのバリエーションについて以下で説明する。
【００５５】
図８には処理対象マクロブロックが参照画像の上端のマクロブロックライン上を移動している場合の参照画像データの記憶領域の移動状態が示される。処理対象がマクロブロック１０００からマクロブロック１０１０に移動するのに合わせて、探索範囲は旧探索範囲１０２０から新探索範囲１０３０に移動する。この際、参照バッファメモリ６４０の未使用の領域に、次の処理対象移動時に新規に探索範囲内に入るマクロブロック１０５０の読み込みを行う。また、画像符号化復号部５１０の処理対象がマクロブロックラインの上端にある場合は、探索範囲上部は参照画像の外に出ており記憶する必要が無い。その為、記憶範囲１０４０で使用する容量は、参照バッファメモリ６４０の容量より少なくなり、参照バッファメモリ６４０に未使用の領域が生じる。この場合は、前述の参照バッファメモリ６４０の未使用領域を使用して、今後読み込み対象となるマクロブロック１０６０等への先読み進める事で、以後の処理性能を安定させる事ができる。
【００５６】
図９には処理対象マクロブロックが参照画像の上端のマクロブロックラインの先頭にある場合の参照画像データの記憶状態が示される。１００１は処理対象マクロブロックである。この場合には、少なくとも１０５１のマクロブロックの参照画像データを参照バッファメモリ６４０に格納しておくことが望ましい。図８と同様に空き領域に更に先のマクロブロック１０６１の参照画像データを先読みすることも可能である。参照バッファメモリ６４０上における参照画像データの解放は、情報５４０で指定された最大サイズの探索領域の上端が第１行目のマクロブロックラインに達し且つ処理対象マクロブロックがマクロブロックラインの先頭から２番目の位置に達した後とされる。
【００５７】
図１０には探索範囲が参照画像の右端まで到達した場合の参照画像データの記憶状態が示される。画像符号化復号部５１０が、処理対象をマクロブロック１１００からマクロブロック１１１０に移した場合、探索範囲は旧探索範囲１１２０から新探索範囲１１３０に移動する。この場合、使用しなくなったマクロブロック１１５０の記憶領域を未使用領域とし、一つ下のマクロブロックラインのマクロブロック１１６０の画像データを上書きする。
【００５８】
画像符号化復号部５１０では、フレーム単位で処理を行う。図１１には次のフレームの処理に遷移する場合の参照画像データの記憶状態が示される。処理対象が画像下端のマクロブロックライン上を移動している場合、処理対象となっているマクロブロックがマクロブロック１２００からマクロブロック１２１０に移動するのに合わせて、探索範囲は旧探索範囲１２２０から新探索範囲１２３０に移動する。この際、マクロブロック１２４０の記憶領域は使用しなくなる為、参照バッファメモリ６４０には未使用領域が発生する。この時、もし次のフレームでも参照画像１２５０の読み込みを必要としているならば、前述の参照バッファメモリ６４０に生じた未使用領域に参照画像データ１２７０を読み込む。この場合は、使用しなくなったマクロブロック１２４０の記憶領域に、次フレームの参照画像１２５０のマクロブロック１２６０のデータを読み込む。
【００５９】
上記参照バッファメモリ６４０に対するマクロブロックデータのバッファリング制御で必要とされる参照バッファメモリ６４０の記憶領域について説明する。比較例として、マクロブロックライン単位で参照画像データをバッファリングする制御をする場合を考える。参照画像のサイズを１９２０×１０８８とする。簡単の為に１画素を１バイトとする。まず、マクロブロックサイズは便宜上１６×１６画素の規模とする。探索範囲は一つの処理対象マクロブロックに対して縦横夫々±３２画素（８０×８０画素）の大きさとする。この条件に従って参照バッファメモリ６４０に必要な記憶容量を比較する。
【００６０】
比較例の場合、探索範囲を含む夫々のマクロブロックライン領域と、データ入れ替えのための余裕代としての読み込み領域に分けて計算を行う。探索範囲を含むマクロブロックライン領域の参照バッファメモリ容量は、１９２０×（３２×２＋１６）＝１５３６００バイトであり、読み込み領域の参照バッファメモリ６４０の容量はマクロブロックライン単位の入れ替えを行うから１９２０×１６＝３０７２０バイトになる。従って、マクロブロックライン単位でバッファリングする比較例の場合、参照バッファメモリに必要な容量は両者の合計である１８４３２０バイトになる。
【００６１】
これに対し上述の本発明手法の場合には、図１２にも例示されるように、探索範囲を含む５本のマクロブロックラインから１本のマクロブロックラインを除いた領域の記憶容量と、読み込み領域に分けて計算を行う。探索範囲を含む参照バッファメモリ６４０から１マクロブロックラインを除いた領域の参照バッファメモリ６４０の記憶容量は、１９２０×（３２×２＋１６−１６））＝１２２８８０バイトとされる。探索範囲内にける１マクロブロックラインの領域の記憶容量は、１６×（３２×２＋１６）＝１２８０バイトとされる。先読みするための読み込み領域の参照バッファメモリ６４０の記憶容量は、１６×１６＝２５６バイトになる。従って、本発明手法による参照バッファメモリ６４０の記憶容量のそれらの合計である１２４４１６バイトになる。
【００６２】
この結果より、本発明手法による参照バッファメモリ６４０の記憶容量は比較例に比べて５９９０４バイトの記憶容量を削減することができる。比較例の参照バッファメモリの記憶容量を１００％とすると、３３％の記憶容量削減の効果を得ることができる。
【００６３】
また、探索範囲を縦横±１２８画素とした場合、必要とする参照バッファメモリ６４０の容量は、比較例方式では５５２９６０バイト、本発明方式では４９６１２８バイトとなる。従って、本方式は比較例に比べて５６８３２バイトの参照バッファメモリ６４０の容量削減を実現でき、比較例方式の参照バッファメモリの容量を１００%とすると、１０％の参照バッファメモリ６４０の容量削減の効果となる。
【００６４】
上記説明は、画像に対し処理対象が横方向に移動する処理を想定した動作だが、本方式では処理対象が縦方向に移動する場合でも、リクエスト生成部６２０の制御を変えることで容易に対応可能である。
【００６５】
また、処理対象となるマクロブロックは１個としたが、図１３に例示するように、縦方向に近接する複数のマクロブロックを同時に処理する場合にも有効である。H.264/AVCでは、マクロブロック適応型フレーム−フィールド符号化方式時や複数マクロブロックに対して同時に動き探索を行う等の場合である。この場合は、参照画像８００に対して、複数マクロブロックを１つの処理単位１３００とし、その処理対象の探索範囲を合わせた範囲を探索範囲１３１０とする。 そして、記憶しておく必要がある参照画像の範囲は領域１３２０となり、読み込み領域１３３０も複数マクロブロック単位となる。
【００６６】
複数マクロブロックを同時に処理した場合に、前述と同様の計算方法で比較例方式と本発明方式とにおける参照バッファメモリ６４０の容量を比較する。なお、比較条件は画像サイズを１９２０×１０８８画素、探索範囲を縦横夫々±３２画素とする。尚、２個のマクロブロック同時処理はマクロブロック適応型フレーム−フィールド符号方式等、３マクロブロック同時処理は複数マクロブロック同時動き探索、を想定した条件である。２マクロブロック同時処理の場合は、比較例方式では参照バッファメモリ６４０の容量に２４５７６０バイト必要であるのに対して、本発明方式では１２５９５２バイト必要となる。従って、本発明方式は、比較例に対して１１９８０８バイト、４９％の参照バッファメモリ６４０の容量削減の効果がある。一方、３マクロブロック同時処理の場合は、比較例方式では参照バッファメモリ６４０の容量が３０７２００バイト必要であるのに対して、本発明方式では１２７４８８バイト必要となる。従って、本発明方式は比較例方式に対して、１７９７１２バイト、５９％の参照バッファメモリ６４０の容量削減の効果がある。
【００６７】
さらに、画像サイズを１９２０×１０８８画素、探索範囲を縦横夫々±１２８画素とした場合に、前述と同様の計算方法で比較する。２マクロブロック同時処理の場合は、比較例方式では参照バッファメモリの容量に６１４４００バイト必要であるのに対して、本発明方式では５００７３６バイト必要になる。従って本発明方式は、比較例方式に対して１１３６６４バイト、１９％のバッファ容量削減の効果がある。一方、３マクロブロック同時処理の場合は、比較例方式では参照バッファメモリの容量に６７５８４０バイト必要であるのに対して、本発明方式では５０５３４４バイト必要となる。従って本発明方式は比較例方式に対して１７０４９６バイト、２５％の参照バッファメモリ６４０の容量削減の効果がある。
【００６８】
以上に示される通り、本発明方式は比較例方式よりも、同時処理数が多ければ多いほど、参照バッファメモリ６４０の容量削減効果が高くなる。
【００６９】
通常参照バッファメモリ６４０の容量は、必要容量が最大となる最大画像サイズを想定し、十分な容量を用意する。その為、最大画像サイズより小さい画像を処理している場合には、使用していない記憶領域が発生してしまう。この場合は、未使用の記憶領域を読み込み用バッファとして使用する事で、さらに先読みを進め、処理性能をより安定させる事が可能となる。
【００７０】
《アドレス変換部》
次に、アドレス変換部６３０について説明する。アドレス変換部６３０は、一つのマクロブロック内で分散したアドレスを連続アドレスに変換する為に、アドレスの並び替えを行う回路である。
【００７１】
ここでは特に、本アドレス変換を容易に行う為に、画像左端の画素データは２のべき乗のアドレスになる様に配置する。この場合、アドレス変換部６３０では、図１４に示すアドレスの入れ替えのみで、一つのマクロブロック内でのアドレス連続性を保証するアドレス変換を実現する。変換前のアドレス信号は、下位１１ビットが画面内の横方向画素座標を示し、上位１０ビットが画面内の縦方向画素座標を示す。縦方向及び横方向夫々の画素座標は、上位側が対応するマクロブロックのブロック座標を示し、下位側がマクロブロック内のブロック内座標を示す。変換後のアドレスは上位側より順次、ブロック縦座標、ブロック横座標、ブロック内縦座標、ブロック内横座標に並べ替えられる。アドレス変換を行った場合の、アドレス変換前後のアドレス順の変化は図１５に示される。アドレス変換部６３０は、アドレス変換によって、変換前画像１５１０の従来のアドレス順１５３０から、変換後画像１５２０のマクロブロック内でのアドレス連続性を保ったアドレス順１５４０に変換する。この変換方法を使用した場合、画像横幅が２のべき乗画素数でなかった場合は、画像右端の領域１５００aと領域１５００bが、フレームバッファ５２０上では使用されない領域となる。ただし、参照画像バッファ部５００内部の参照バッファメモリ６４０は、この使用しない領域１５００aと領域１５００bに関してはデータ記憶を行わない為、参照バッファメモリ６４０の容量には影響しない。
【００７２】
一般に、シンクロナスＤＲＡＭ等で構成するフレームバッファ５２０は、離散的なアクセスと比較し、連続アドレス空間に対するバーストアクセスが高速である。これは、シンクロナスＤＲＡＭのページミスを削減できるためである。アドレス変換部６３０を有する参照画像バッファ部５００は、アドレス変換を行う事で、各マクロブロック内でのアドレス連続性を保証する為、マクロブロック単位の画像データ転送を高速なバーストアクセスで行うことができる。従って、参照画像バッファ部５００は、フレームバッファ５２０へのアクセス効率を悪化させる事なく、マクロブロック単位のバッファ管理を実現することができる。
【００７３】
以上説明したことから明らかなように、参照画像バッファ部５００を採用してマクロブロック単位のバッファ管理と、アドレス変換を行うことによって、マクロブロック単位の高速なアクセスによるバッファ管理を実現できるから、フレームバッファメモリへのアクセス効率を悪化させること無く、参照画像バッファ部のバッファ容量削減を実現でき、更に、画像符号化復号装置を半導体集積回路で構成する場合にはその回路規模の削減若しくはチップサイズの縮小が可能になる。更に、アドレス変換６３０を用いたアドレス変換によってマクロブロック単位のアクセスでもフレームバッファメモリへのアクセス効率を悪化させる事がない。
【００７４】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００７５】
例えば、アドレス変換部の実装は、一つのマクロブロック内でアドレスの連続性を保証する物であれば、その実現方法は限定されない。マクロブロックのサイズ、参照画像のサイズ、探索領域の大きさ、参照画像データを先読みするマクロブロックの数は１マクロブロックに限定されない。
【図面の簡単な説明】
【００７６】
【図１】図１は参照画像バッファ部の詳細な構成を例示するブロック図である。
【図２】図２はH.264/AVC符号化処理の概要を例示する機能説明図である。
【図３】図３にはH.264/AVC復号処理の概要を例示する機能説明図である。
【図４】図４はH.264/AVC方式における画像内でのデータの処理位置を説明するための説明図である。
【図５】図５には本発明に係る画像処理装置の一例である画像符号化復号装置を示すブロック図である。
【図６】図６は参照バッファメモリで記憶する参照画像データの範囲について説明するための説明図である。
【図７】図７は処理対象が移動した際の参照画像データの記憶領域の変化を例示する説明図である。
【図８】図８は処理対象マクロブロックが参照画像の上端のマクロブロックライン上を移動している場合の参照画像データの記憶領域の移動状態を示す説明図である。
【図９】図９は処理対象マクロブロックが参照画像の上端のマクロブロックラインの先頭にある場合の参照画像データの記憶状態を示す説明図である。
【図１０】図１０は探索範囲が参照画像の右端まで到達した場合の参照画像データの記憶状態を示す説明図である。
【図１１】図１１は次のフレームの処理に遷移する場合の参照画像データの記憶状態を示す説明図である。
【図１２】図１２は参照バッファメモリに対するマクロブロックデータのバッファリング制御で必要とされる参照バッファメモリの記憶容量を具体的に計算するときの条件を例示する説明図である。
【図１３】図１３は縦方向に近接する複数のマクロブロックを同時に処理する場合の探索領域の範囲の例示する説明図である。
【図１４】図１４はアドレス変換部によるアドレスの並べ替えの一例を示す説明図である。
【図１５】図１５はアドレス変換を行った場合におけるアドレス変換前後のアドレス順の変化を示すアドレスマッピング図である。
【符号の説明】
【００７７】
１０  原画像
２０  画面内予測処理
３０  直交変換処理
４０  量子化処理
５０  可変長符号化処理
６０  逆量子化処理
７０  逆直交変換処理
８０  動き探索処理
９０  動き補償処理
１００  参照画像
１１０  画面内予測情報
１２０  予測画像
１３０  動きベクトル
１４０  差分画像
２２０  可変長復号化処理
２３０  逆量子化処理
２４０  逆直交変換処理
２５０  画面内予測処理
２６０  表示画像
２７０  動き補償処理
２８０  予測画像
２９０  参照画像
３００  動きベクトル
３１０  画面内予測情報
３２０  差分画像
４００  参照画像
４１０  マクロブロック
４２０  探索範囲
５００  参照画像バッファ部
５１０  画像符号化復号部
５２０  フレームバッファ
５５０  参照画像書き込みデータ
５６０  要求アドレス
５６０a  参照画像読み出し要求アドレス
５６０b  参照画像書き込み要求アドレス
５７０  参照画像読み出しデータ
５８０a  参照画像書き出しデータ
５８０b  アドレス
５８０c  参照画像先読みデータ
５９０  画像符号化復号装置
６００  バッファ制御部
６１０  レスポンス生成部
６２０  リクエスト生成部
６３０  アドレス変換部
６４０  参照バッファメモリ
６５０  ライトアドレスキュー
６６０  ライトデータキュー
６７０  入力ポインタアドレス
６８０  出力ポインタアドレス
７５０  制御レジスタ
７７０  読み込みアドレス
７８０  書き込みアドレス
８００  参照画像
８１０  処理対象
８２０  探索範囲
８３０  記憶範囲
８４０  読み込み領域
９１０，９２０  マクロブロック
９３０  旧探索範囲
９４０  新探索範囲
９５０  マクロブロック
９６０  読み込み領域
１０００，１０１０  マクロブロック
１０２０  旧探索範囲
１０３０  新探索範囲
１０４０  記憶範囲
１０５０、１０６０，１１００，１１２０  マクロブロック
１１２０  旧探索範囲
１１３０  新探索範囲
１１５０，１１６０，１２００，１２１０，１２２０  マクロブロック
１２２０  旧探索範囲
１２３０  新探索範囲
１２４０，１２６０  マクロブロック
１２５０  参照画像
１２７０  参照画像データ
１３００  処理単位
１３１０  探索範囲
１３３０  読み込み領域
１５１０  変換前画像
１５２０  変換後画像
【図１】
2009152710.tif 000003
【図２】
2009152710.tif 000004
【図３】
2009152710.tif 000005
【図４】
2009152710.tif 000006
【図５】
2009152710.tif 000007
【図６】
2009152710.tif 000008
【図７】
2009152710.tif 000009
【図８】
2009152710.tif 000010
【図９】
2009152710.tif 000011
【図１０】
2009152710.tif 000012
【図１１】
2009152710.tif 000013
【図１２】
2009152710.tif 000014
【図１３】
2009152710.tif 000015
【図１４】
2009152710.tif 000016
【図１５】
2009152710.tif 000017