(57)【要約】【課題】  動画像の符号化処理において、データ転送量を削減しつつ、適切な符号化処理を行うこと。【解決手段】  動画像処理装置１においては、動画像の符号化あるいは復号化処理全般を管理するプロセッサ１０に対し、演算量の多い処理である動き検出処理を行うコプロセッサである動き検出／動き補償処理部８０を付加し、インターリーブによって複数のメモリバンクにアドレッシングされた構成のバッファを備えることとする。また、動き検出処理時に画像データを読み込む手順が所定の方式とされていると共に、読み込まれる画像データを間引く場合にも、適切に対応可能な手段を備えている。このような構成により、本発明に係る動画像処理装置においては、動画像の符号化処理において、データ転送量を削減しつつ、適切な符号化処理を行うことが可能となる。【選択図】  図４
2005244844.tif 000002
【特許請求の範囲】
【請求項１】
動画像データに対して動き検出処理を含む符号化処理を行う動画像符号化装置であって、
動画像を構成するフレームの符号化対象となるマクロブロック１つを記憶する符号化画像用バッファと、前記動画像データの参照フレームにおいて動き検出の探索領域となる所定範囲の動画像データを記憶する検索画像用バッファと、符号化された前記参照フレームを復号化して得られる再構成画像フレームの、探索領域となる所定範囲の動画像データを記憶する再構成画像用バッファとを有し、前記動き検出処理を行う動き検出処理手段を備え、
前記動き検出処理手段は、前記動画像を構成するフレーム、前記参照フレームおよび前記再構成画像フレームを構成するデータのうち、処理対象とする所定データを前記バッファそれぞれに順次読み込んで動き検出処理を行うことを特徴とする動画像符号化装置。
【請求項２】
前記符号化画像用バッファ、検索画像用バッファおよび再構成画像用バッファの少なくともいずれかは、その記憶領域を、複数のメモリバンクにインターリーブされていることを特徴とする請求項１記載の動画像符号化装置。
【請求項３】
前記記憶領域は、所定幅を有する複数の領域に分割され、該所定幅は、前記動き検出処理手段がデータを読み出す際の読み出しデータ幅と、前記メモリバンクにおいて取り扱いの単位となるアクセスデータ幅とに基づいて設定され、該複数の領域それぞれが、前記複数のメモリバンクにインターリーブされていることを特徴とする請求項２記載の動画像符号化装置。
【請求項４】
前記動き検出処理手段は、前記読み出しデータ幅以下のデータ幅で、動き検出処理における差分絶対値和の算出処理を並列的に行うことを特徴とする請求項３記載の動画像符号化装置。
【請求項５】
前記記憶領域は、４バイト幅を有する２つの領域に分割され、該２つの領域それぞれが、２つの前記メモリバンクにインターリーブされ、
前記動き検出手段は、動き検出処理における差分絶対値和の処理を４画素ずつ並列的に行うことを特徴とする請求項３または４記載の動画像符号化装置。
【請求項６】
前記動画像データの参照フレームにおいて動き検出の探索領域となる所定範囲の動画像データを間引くことにより生成される間引き画像を、前記検索画像用バッファに記憶することを特徴とする請求項１から５のいずれか１項に記載の動画像符号化装置。
【請求項７】
前記動画像データの参照フレームにおいて動き検出の探索領域となる所定範囲の動画像データを１／２のサイズに間引くことにより生成される第１の間引き画像と、該第１の間引き画像を生成する際に間引かれた動画像データからなる第２の間引き画像とを、前記検索画像用バッファに記憶することを特徴とする請求項１から６のいずれか１項に記載の動画像符号化装置。
【請求項８】
前記検索画像用バッファおよび前記再構成画像用バッファの記憶領域それぞれが、同一の複数のメモリバンクにインターリーブされていることを特徴とする請求項１から７のいずれか１項に記載の動画像符号化装置。
【請求項９】
前記検索画像用バッファは、探索の中心に位置するマクロブロックを囲む所定数のマクロブロックを記憶可能であり、
前記動き検出処理手段は、該検索画像用バッファに記憶されたマクロブロックを対象として動きベクトルの検出を行うと共に、前記探索の中心を隣接するマクロブロックに移行する際に、前記探索の中心に位置するマクロブロックを囲む所定数のマクロブロックのうち、前記探索の中心が移行することにより新たに探索領域に属するマクロブロックを読み込むと共に、他のマクロブロックを保持することを特徴とする請求項１から８のいずれか１項に記載の動画像符号化装置。
【請求項１０】
前記検索対象画像用バッファは、探索の中心に位置するマクロブロックを囲む３行３列のマクロブロックを記憶し、
前記動き検出処理手段は、該３行３列のマクロブロックを対象として動きベクトルの検出を行うと共に、前記探索の中心を隣接するマクロブロックに移行する際に、前記３行３列のマクロブロックのうち、探索の中心が移行することにより新たに探索領域に属する３行あるいは３列分のマクロブロックを読み込むと共に、他のマクロブロックを保持することを特徴とする請求項１から９のいずれか１項に記載の動画像符号化装置。
【請求項１１】
前記動き検出処理手段は、前記探索の中心に位置するマクロブロックを囲む所定数のマクロブロックの範囲が、前記動画像データの参照フレームの境界外を含む場合に、参照フレームの境界外となる範囲については、該参照フレームの境界に位置するマクロブロックを拡張して補間することを特徴とする請求項９または１０記載の動画像符号化装置。
【請求項１２】
前記動き検出処理手段は、前記動き検出処理において、前記動画像データの参照フレームにおいて動き検出の探索領域となる所定範囲の動画像データを間引くことにより生成される間引き画像を対象として、おおよその動きを示す広域動きベクトルを検出した後、該広域動きベクトルに基づいて、前記間引き画像に対応する間引きが行われていない画像を対象として、より正確な動きベクトルを検出することを特徴とする請求項１から１１のいずれか１項に記載の動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を符号化処理する動画像符号化装置に関する。
【背景技術】
【０００２】
近年、ネットワークを介した動画像の配信や地上デジタル放送あるいは動画像をデジタルデータとして蓄積する場合等において、動画像の符号化／復号化技術が用いられるようになっている。
このような動画像の符号化処理を行う場合、負荷の高い処理を多く行う必要があり、特に、動き検出におけるブロックマッチングおよびそれに伴うフレームメモリからのデータ転送を如何に行うかが問題となる。
【０００３】
これに対し、従来、種々の技術が提案されており、例えば、特開平６−１１３２９０号公報には、動き検出処理において、演算量を削減するために、符号化対象の画像と参照される画像との差分絶対値和を取得する演算を全ての画素について行うのではなく、１／２等に縮小した画像について行う技術が開示されている。
本号公報に記載された技術によれば、差分絶対値和を取得する演算量が画像の縮小率に応じて減少するため、演算処理量および演算処理時間を削減することが可能となる。
【特許文献１】特開平６−１１３２９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の公報に記載された技術においては、差分絶対値和を取得する画像を縮小することから、動画像が復号化された場合に画質が低下する可能性があった。
また、従来知られている他の技術においても、動画像の符号化処理において、データ転送量を削減しつつ、適切な符号化処理（即ち、画質の低下を防ぎながら効率的に処理すること）を行うことは困難であった。
【０００５】
本発明の課題は、動画像の符号化処理において、データ転送量を削減しつつ、適切な符号化処理を行うことである。
【課題を解決するための手段】
【０００６】
以上の課題を解決するため、本発明は、
動画像データに対して動き検出処理を含む符号化処理を行う動画像符号化装置であって、動画像を構成するフレームの符号化対象となるマクロブロック１つを記憶する符号化画像用バッファ（例えば、図２の符号化対象オリジナル画像バッファ２０８）と、前記動画像データの参照フレームにおいて動き検出の探索領域となる所定範囲の動画像データを記憶する検索画像用バッファ（例えば、図２の検索対象オリジナル画像バッファ２０７）と、符号化された前記参照フレームを復号化して得られる再構成画像フレーム（例えば、図２のフレームメモリ１１０に記憶される再構成画像）の、探索領域となる所定範囲の動画像データを記憶する再構成画像用バッファ（例えば、図２の再構成画像バッファ２０３）とを有し、前記動き検出処理を行う動き検出処理手段（例えば、図１の動き検出／動き補償処理部８０）を備え、前記動き検出処理手段は、前記動画像を構成するフレーム、前記参照フレームおよび前記再構成画像フレームを構成するデータのうち、処理対象とする所定データを前記バッファそれぞれに順次読み込んで動き検出処理を行うことを特徴としている。
【０００７】
これにより、動き検出処理専用のバッファとして、符号化画像用バッファ、検索画像用バッファおよび再構成画像用バッファを備えることができ、必要なデータを適宜読み込んで使用できるため、動画像の符号化処理において、データ転送量を削減しつつ、適切な符号化処理を行うことが可能となる。
【０００８】
また、前記符号化画像用バッファ、検索画像用バッファおよび再構成画像用バッファの少なくともいずれかは、その記憶領域を、複数のメモリバンク（例えば、図４のＳＲＡＭ３０１〜３０３）にインターリーブされていることを特徴としている。
【０００９】
これにより、動き検出処理において、所定数の画素を並列的に演算（差分絶対値和の算出等）することが可能となり、処理の高速化を図ることが可能となる。
また、前記記憶領域（即ち、前記符号化画像用バッファ、検索画像用バッファおよび再構成画像用バッファの記憶領域）は、所定幅を有する複数の領域に分割され、該所定幅は、前記動き検出処理手段がデータを読み出す際の読み出しデータ幅（例えば、図２の差分絶対値和処理部２１１が、図６に示すように間引いた画像を用いて半画素精度で差分絶対値和を算出する場合の５画素のデータ幅）と、前記メモリバンクにおいて取り扱いの単位となるアクセスデータ幅（例えば、図４のＳＲＡＭ３０１〜３０３が取り扱うデータ幅）とに基づいて設定され、該複数の領域それぞれが、前記複数のメモリバンクにインターリーブされていることを特徴としている。
【００１０】
即ち、同時にアクセスできる複数のメモリバンクにおけるアクセスデータ幅の合計が、動き検出手段の読み出しデータ幅以上となるように構成することが可能である。
これにより、各バッファから動き検出処理手段がデータを読み出す際、各メモリバンクに対する並列的な一度のアクセスで、処理対象となる画素を全て読み出すことができるため、処理を高速化することが可能となる。
【００１１】
また、前記動き検出処理手段は、前記読み出しデータ幅以下のデータ幅で、動き検出処理における差分絶対値和の算出処理を並列的に行うことを特徴としている。
また、前記記憶領域は、４バイト幅を有する２つの領域に分割され、該２つの領域それぞれが、２つの前記メモリバンク（例えば、図６のＳＲＡＭ３０１，３０２）にインターリーブされ、前記動き検出手段は、動き検出処理における差分絶対値和の処理を４画素ずつ並列的に行うことを特徴としている。
【００１２】
これにより、差分絶対値和の算出処理における並列処理データ幅と、読み出しデータ幅との関係を適切なものとすることができ、インターリーブされた構成に適する処理を行うことが可能となる。
また、前記動画像データの参照フレームにおいて動き検出の探索領域となる所定範囲の動画像データを間引くことにより生成される間引き画像を、前記検索画像用バッファに記憶することを特徴としている。
【００１３】
これにより、検索対象画像用バッファの記憶容量を低減できると共に、高速に動き検出処理を行うことが可能となる。
また、前記動画像データの参照フレームにおいて動き検出の探索領域となる所定範囲の動画像データを１／２のサイズに間引くことにより生成される第１の間引き画像（例えば、図７における間引き後の一方のマクロブロック）と、該第１の間引き画像を生成する際に間引かれた動画像データからなる第２の間引き画像（例えば、図７における間引き後の他方のマクロブロック）とを、前記検索画像用バッファに記憶することを特徴としている。
【００１４】
これにより、第１および第２の間引き画像を用いて、高速に動き検出処理を行ったり、正確な動き検出処理を行ったりすることが可能となる。
また、前記検索画像用バッファおよび前記再構成画像用バッファの記憶領域それぞれが、同一の複数のメモリバンクにインターリーブされていることを特徴としている。
これにより、動き検出処理手段に備えるメモリバンクの数を低減することが可能となり、製造コストの低減や、集積回路化する際の集積度を向上させること等が可能となる。
【００１５】
また、前記検索画像用バッファは、探索の中心に位置するマクロブロックを囲む所定数のマクロブロック（例えば、図４の検索対象オリジナル画像バッファ２０７に記憶された９個のマクロブロック）を記憶可能であり、前記動き検出処理手段は、該検索画像用バッファに記憶されたマクロブロックを対象として動きベクトルの検出を行うと共に、前記探索の中心を隣接するマクロブロックに移行する際に、前記探索の中心に位置するマクロブロックを囲む所定数のマクロブロックのうち、前記探索の中心が移行することにより新たに探索領域に属するマクロブロックを読み込むと共に、他のマクロブロックを保持すること（例えば、図１０のような手順とすること）を特徴としている。
【００１６】
また、前記検索対象画像用バッファは、探索の中心に位置するマクロブロックを囲む３行３列のマクロブロックを記憶し、前記動き検出処理手段は、該３行３列のマクロブロックを対象として動きベクトルの検出を行うと共に、前記探索の中心を隣接するマクロブロックに移行する際に、前記３行３列のマクロブロックのうち、探索の中心が移行することにより新たに探索領域に属する３行あるいは３列分のマクロブロックを読み込むと共に、他のマクロブロックを保持することを特徴としている。
【００１７】
これにより、検索画像用バッファに効率的にデータを転送することが可能となる。
また、前記動き検出処理手段は、前記探索の中心に位置するマクロブロックを囲む所定数のマクロブロックの範囲が、前記動画像データの参照フレームの境界外を含む場合に、参照フレームの境界外となる範囲については、該参照フレームの境界に位置するマクロブロックを拡張して補間することを特徴としている。
【００１８】
これにより、参照フレームの境界外が動き検出の探索範囲とされた場合にも、適切に動き検出を行うことが可能となる。
また、前記動き検出処理手段は、前記動き検出処理において、前記動画像データの参照フレームにおいて動き検出の探索領域となる所定範囲の動画像データを間引くことにより生成される間引き画像を対象として、おおよその動きを示す広域動きベクトルを検出した後、該広域動きベクトルに基づいて、前記間引き画像に対応する間引きが行われていない画像を対象として、より正確な動きベクトルを検出することを特徴としている。
【００１９】
これにより、間引くことにより縮小された画像（間引き画像）と、正確な情報を有する間引かれない画像（再構成画像等）を用いて、柔軟かつ適切な符号化処理を行うことが可能となる。
このように、本発明によれば、動画像の符号化処理において、データ転送量を削減しつつ、適切な符号化処理を行うことが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、図を参照して本発明に係る動画像処理装置の実施の形態を説明する。
本発明に係る動画像処理装置においては、動画像の符号化あるいは復号化処理全般を管理するプロセッサに対し、演算量の多い処理である動き検出処理を行うコプロセッサを付加し、そのコプロセッサに、インターリーブによって複数のメモリバンクにアドレッシングされた構成のバッファを備えることとする。また、動き検出処理時に画像データを読み込む手順が所定の方式とされていると共に、読み込まれる画像データを間引く場合にも、適切に対応可能な手段を備えている。
【００２１】
このような構成により、本発明に係る動画像処理装置においては、動画像の符号化処理において、データ転送量を削減しつつ、適切な符号化処理を行うことを可能としている。
まず、構成を説明する。
図１は、本発明に係る動画像処理装置１の機能構成を示すブロック図である。
図１において、動画像処理装置１は、プロセッサコア１０と、命令メモリ２０と、命令キャッシュ３０と、ローカルメモリ４０と、データキャッシュ５０と、内部バス調停部６０と、ＤＭＡ制御部７０と、動き検出／動き補償処理部８０と、コプロセッサ９０と、外部メモリインターフェース（以下、「外部メモリＩ／Ｆ」という。）１００と、フレームメモリ１１０とを含んで構成される。
【００２２】
プロセッサコア１０は、動画像処理装置１全体を制御するものであり、命令メモリの所定アドレスに記憶された命令コードを、命令キャッシュ３０を介して取得しつつ、動画像の符号化処理全般を管理する。具体的には、動き検出／動き補償処理部８０の各部やＤＭＡ制御部７０に指示信号（起動制御信号あるいはモード設定信号等）を出力したり、ＤＣＴ（Discrete Cosine Transform）や量子化といった、動き検出に続く符号化処理を行ったりする。また、プロセッサコア１０は、動画像の符号化処理全体を管理する際に、符号化関数実行処理プログラム（図９参照）を実行する。
【００２３】
ここで、起動制御信号とは、動き検出／動き補償処理部８０の各部を所定タイミングで起動させる指示信号であり、モード設定信号とは、フレーム毎に、動きベクトル検出処理における探索範囲（探索の中心となるマクロブロックの周囲８画素あるいは１６画素のいずれまで探索範囲とするか）、４ＭＶモード（４つの動きベクトルによる符号化を行うか）、非制限動きベクトル（動きベクトルの参照先としてフレーム境界を超えた範囲を許容するか）、丸め制御、フレームの圧縮タイプ（Ｐ，Ｂ，Ｉ）、圧縮モード（ＭＰＥＧ１，２，４）等、プロセッサコア１０が動き検出／動き補償処理部８０に対する種々の指定を行う指示信号である。
【００２４】
命令メモリ２０は、プロセッサコア１０に対して入力される種々の命令コードを記憶しており、プロセッサコア１０からの読み出しに応じて、指定されたアドレスの命令コードを命令キャッシュ３０に出力する。
命令キャッシュ３０は、命令メモリ２０から入力された命令コードを一時的に記憶し、所定タイミングでプロセッサコア１０に出力する。
【００２５】
ローカルメモリ４０は、符号化処理において生成される各種データを記憶する２次元アクセスメモリであり、例えば、符号化処理において生成される予測画像や差分画像を、６ブロックからなるマクロブロック単位で記憶する。
２次元アクセスメモリとは、特開２００２−２２２１１７号公報に記載された方式のメモリであり、例えば、「１バイト（８ビット）の記憶が可能な最小単位の仮想の記憶素子２が、縦方向と横方向にそれぞれ４個ずつ合計１６個配置された仮想最小２次元メモリ空間１」（同公報の図１参照）が想定され、この仮想最小２次元メモリ空間１は、「物理的には、４つの物理的なメモリ４Ａ〜４Ｃに予め分割されてマッピングされている。すなわち、１つの仮想最小２次元メモリ空間１は、４つの物理的なメモリ４Ａ〜４Ｃの同一のアドレスから始まる４バイトの連続領域に対応している。」（同公報の図２参照）。そして、このような仮想最小２次元メモリ空間１において、同公報の図４に示すようなアクセスが可能とされている。
【００２６】
データキャッシュ５０は、プロセッサコア１０と内部バス調停部６０との間で入出力されるデータを一時的に保持し、所定タイミングで出力する。
内部バス調停部６０は、動画像処理装置１内部におけるバスの調停を行うものであり、各部からバスを介してデータが出力される場合に、各部間の出力タイミングを調整する。
ＤＭＡ（Direct Memory Access）制御部７０は、プロセッサコア１０を介さずに各部間においてデータを入出力する際の制御を行うものであり、例えば、動き検出／動き補償処理部８０とローカルメモリ４０とにおいてデータを入出力する場合に、プロセッサコア１０に代わって通信を制御し、データの入出力が終了した場合には、終了をプロセッサコア１０に通知する。
【００２７】
動き検出／動き補償処理部８０は、動き検出処理および動き補償処理を行うコプロセッサとして機能する。
図２は、動き検出／動き補償処理部８０の内部構成を示すブロック図である。
図２において、動き検出／動き補償処理部８０は、外部メモリインターフェース（Ｉ／Ｆ）２０１と、補間処理部２０２，２０５と、再構成画像バッファ２０３と、半画素生成部２０４と、間引き処理部２０６，２０９と、検索対象オリジナル画像バッファ２０７と、符号化対象オリジナル画像バッファ２０８と、動き検出制御部２１０と、差分絶対値和処理部２１１と、予測画像生成部２１２と、差分画像生成部２１３と、再構成画像転送部２１４と、周辺画素生成部２１５と、ホストインターフェース（Ｉ／Ｆ）２１６と、ローカルメモリインターフェース（Ｉ／Ｆ）２１７と、ローカルメモリアドレス生成部２１８と、マクロブロック（ＭＢ）管理部２１９と、フレームメモリアドレス生成部２２０とを含んで構成される。
【００２８】
外部メモリＩ／Ｆ２０１は、動き検出／動き補償処理部８０が外部メモリであるフレームメモリ１１０とデータを送受信するための入出力インターフェースである。
補間処理部２０２には、外部メモリＩ／Ｆ２０１を介して、フレームメモリ１１０から再構成画像（復号されたフレーム）における所定マクロブロックのＹ，Ｃｂ，Ｃｒ成分が入力される。具体的には、補間処理部２０２には、動き検出が行われる場合には、再構成画像のＹ成分が入力され、この場合、補間処理部２０２は、入力されたＹ成分を再構成画像バッファ２０３にそのまま出力する。一方、動き検出に続く符号化処理（予測画像の生成等）が行われる場合には、補間処理部２０２には、再構成画像のＹ，Ｃｂ，Ｃｒ成分が入力され、この場合、補間処理部２０２は、Ｃｂ，Ｃｒ成分を補間処理し、再構成画像バッファ２０３に出力する。
【００２９】
再構成画像バッファ２０３は、周辺画素生成部２１５の指示に基づいて、補間処理部２０２から入力された１６×１６画素の再構成画像（マクロブロック）に対し、縦横８画素分（周囲４画素分）を補間し、２４×２４画素のデータ（以下、「再構成マクロブロック」という。）としたものを記憶する。なお、再構成画像バッファ２０３については後述する（図４参照）。
【００３０】
半画素生成部２０４は、再構成画像バッファ２０３に記憶された再構成マクロブロックから半画素精度のデータを生成する。なお、半画素生成部２０４は、動きベクトルの参照先が半画素精度で示されている場合等、必要な場合にのみ処理を行い、それ以外の場合には、再構成マクロブロックのデータをそのまま通過させる。
補間処理部２０５は、半画素生成部２０４によって生成された半画素精度のデータを用いて、再構成マクロブロックを補間し、半画素精度の再構成マクロブロックを生成する。なお、補間処理部２０５は、半画素生成部２０４と同様に、必要な場合にのみ処理を行い、それ以外の場合には、再構成マクロブロックのデータをそのまま通過させる。
【００３１】
間引き処理部２０６は、外部メモリＩ／Ｆ２０１を介して入力された検索対象オリジナル画像（参照フレーム）における所定の複数マクロブロック（１回の探索領域）のＹ成分を間引きし、４８×４８画素の小画像ブロックを生成する。
図３は、間引き処理部２０６が、フレームメモリから読み込んだ１つのマクロブロックを間引いた状態を示す図である。
【００３２】
図３において、間引き処理部２０６は、マクロブロックに含まれる画素を縦横１画素おきに間引いている。即ち、このような間引き処理を行うことにより、マクロブロックのサイズが１／２に縮小される。
また、間引き処理部２０６は、縦横１画素おきに間引き処理を行うことにより、２つに分離されたマクロブロック（小画像ブロック）のいずれも、間引き後のマクロブロックとして検索対象オリジナル画像バッファ２０７に出力する。
【００３３】
このように、間引き処理によって生成される２つの小画像ブロックを保持しておくことにより、動き検出処理においては、１つの小画像ブロックを用いて効率的に処理を行いつつ、高精度な画素位置の検出や間引かれて欠落している部分が必要な処理を行う場合においては、２つの小画像ブロックを用いて適切な処理を行うことが可能となる。
検索対象オリジナル画像バッファ２０７は、間引き処理部２０６によって生成された４８×４８画素の小画像ブロックを記憶する。
【００３４】
なお、検索対象オリジナル画像バッファ２０７の構成については後述する（図４参照）。
符号化対象オリジナル画像バッファ２０８には、外部メモリＩ／Ｆ２０１を介してフレームメモリ１１０から入力された、符号化対象オリジナル画像（符号化対象フレーム）における所定マクロブロックのＹ，Ｃｂ，Ｃｒ成分を記憶する。具体的には、符号化対象オリジナル画像バッファ２０８には、動き検出が行われる場合には、符号化対象オリジナル画像のＹ成分が入力される。一方、動き検出に続く符号化処理（差分画像の生成等）が行われる場合には、符号化対象オリジナル画像バッファ２０８には、符号化対象オリジナル画像のＹ，Ｃｂ，Ｃｒ成分が入力される。
【００３５】
ここで、再構成画像バッファ２０３、検索対象オリジナル画像バッファ２０７および符号化対象オリジナル画像バッファ２０８の構成について具体的に説明する。
図４は、再構成画像バッファ２０３、検索対象オリジナル画像バッファ２０７および符号化対象オリジナル画像バッファ２０８のメモリ割り当てを示す図である。
図４において、検索対象オリジナル画像バッファ２０７には、探索の中心となるマクロブロックの周囲を含めて３×３の合計９マクロブロックが記憶される。また、検索対象オリジナル画像バッファ２０７は、ＳＲＡＭ（Static Random Access Memory）３０１〜３０３の３つのメモリバンクによって構成されていると共に、３２ビット幅（４画素幅）の短冊状の記憶領域をそれぞれのメモリバンクに割り当て、さらに、各メモリバンクによって構成される短冊状の記憶領域を順に並べた構成とされている。
【００３６】
また、再構成画像バッファ２０３には、図５に示すように、２４×２４画素、即ち、１つのマクロブロックの周囲４画素が１周分拡張して記憶される。さらに、再構成画像バッファ２０３は、検索対象オリジナル画像バッファ２０７と同様に、ＳＲＡＭ３０１〜３０３の３つのメモリバンクによって構成されていると共に、３２ビット幅（４画素幅）の短冊状の記憶領域をそれぞれのメモリバンクに割り当て、さらに、各メモリバンクによって構成される短冊状の記憶領域を順に並べた構成とされている。
【００３７】
このような構成とすることにより、差分絶対値和処理部２１１が８画素を並列的に処理対象として動きベクトルの検出を行う際に、いずれの画素を先頭として８画素分を読み出す場合であっても、各メモリバンク（ＳＲＡＭ３０１〜３０３）に対する並列的な一度のアクセスで、処理対象となる８画素を全て読み出すことができる。
したがって、差分絶対値和処理部２１１が動きベクトルの検出を行う処理を効率的かつ高速なものとすることが可能となる。
【００３８】
また、図４において、符号化対象オリジナル画像バッファ２０８には、処理対象となる１つのマクロブロックが記憶される。さらに、符号化対象オリジナル画像バッファ２０８は、ＳＲＡＭ３０１〜３０３のいずれか１つによって構成されている。
このように、再構成画像バッファ２０３、検索対象オリジナル画像バッファ２０７および符号化対象オリジナル画像バッファ２０８を共通のメモリバンクによって構成することにより、動き検出／動き補償処理部８０に必要となるメモリの個数を削減できる。そのため、動画像処理装置１の製造コストを低減できる。
【００３９】
なお、検索対象オリジナル画像バッファ２０７には、画像データを間引いて記憶することが可能であるが、この場合には、さらに、必要となるメモリ容量を削減することが可能となる。
図６は、画像データの間引きを行い、横方向に１／２に縮小した画像データを検索対象オリジナル画像バッファ２０７に記憶する場合のメモリ割り当てを示す図である。
【００４０】
図６において、検索対象オリジナル画像バッファ２０７には、探索の中心となるマクロブロックの周囲を含めて３×３の合計９マクロブロックが、横方向に１／２に縮小されて記憶される。また、検索対象オリジナル画像バッファ２０７は、ＳＲＡＭ３０１，３０２の２つのメモリバンクによって構成されていると共に、３２ビット幅（４画素幅）の短冊状の記憶領域をそれぞれのメモリバンクに割り当て、さらに、各メモリバンクによって構成される短冊状の記憶領域を順に並べた構成とされている。即ち、図４においては、３つのメモリバンクにメモリ割り当てを行っている一方、図６の場合には、２つのメモリバンクにメモリ割り当てを行えば足りることとなる。なお、符号化対象オリジナル画像バッファ２０８は、ＳＲＡＭ３０３によって構成されている。
【００４１】
また、図６の場合においても、図４の場合と同様に、再構成画像バッファ２０３および符号化対象オリジナル画像バッファ２０８を共通のメモリバンクによって構成することが可能である。
図７は、画像データの間引きを行った場合における再構成画像バッファ２０３および符号化対象オリジナル画像バッファ２０８のメモリ割り当てを示す図である。
【００４２】
なお、図７においては、間引き処理部２０６によって出力される間引き後の２つのマクロブロックが共に記憶された状態を示している。
図２に戻り、間引き処理部２０９は、符号化対象オリジナル画像バッファ２０８に記憶された符号化対象オリジナル画像のマクロブロックを、必要な場合に間引く処理を行う。具体的には、間引き処理部２０９は、動き検出が行われる場合には、符号化対象オリジナル画像のマクロブロックを間引いた後、差分絶対値和処理部２１１に出力し、動き検出に続く符号化処理（差分画像の生成等）が行われる場合には、間引きを行うことなく、符号化対象オリジナル画像のマクロブロックをそのまま差分画像生成部２１３に出力する。
【００４３】
動き検出制御部２１０は、プロセッサコア１０からの指示に従って、各マクロブロックの処理について、動き検出／動き補償処理部８０の各部を管理する。例えば、動き検出制御部２１０は、１つのマクロブロックを処理する際に、差分絶対値和処理部２１１、予測画像生成部２１２および差分画像生成部２１３における処理の開始あるいは停止を指示したり、１つのマクロブロックについての処理が終了したことをＭＢ管理部２１９に通知したり、差分絶対値和処理部２１１による処理結果をホストインターフェース２１６に出力する。
【００４４】
さらに、動き検出制御部２１０は、差分絶対値和処理部２１１によって検出された動きベクトルに基づいて、各マクロブロックについて、ブロック毎に４つの動きベクトルを設定して符号化する場合とマクロブロック全体に１つの動きベクトルを設定して符号化する場合とのいずれが適しているかを判定する。
即ち、動き検出制御部２１０は、各ブロックの動きベクトルが近似している場合には、１つのマクロブロックが適すると判定し、各ブロックの動きベクトルが近似していない場合には、ブロック毎に４つの動きベクトルが適すると判定する。
【００４５】
差分絶対値和処理部２１１は、動き検出制御部２１０からの指示に従って、動きベクトルの検出を行う。具体的には、差分絶対値和処理部２１１は、検索対象オリジナル画像バッファ２０７に記憶されている小画像ブロックに含まれる画像（Ｙ成分）と、間引き処理部２０９から入力された符号化対象であるマクロブロックとの差分絶対値和を算出し、おおよその動きベクトル（以下、「広域動きベクトル」という。）を取得する。すると、広域動きベクトルが取得されることに対応して再構成画像バッファ２０３に記憶される再構成マクロブロックを対象として、差分絶対値和処理部２１１は、差分絶対値和がより小さいマクロブロックを探索することにより、さらに正確な動きベクトルを検出し、正式な動きベクトルとする。
【００４６】
このような処理を行う際に、差分絶対値和処理部２１１は、マクロブロックを構成する４ブロックそれぞれのＹ成分についての差分絶対値和、１ブロックずつのＣｂ，Ｃｒ成分それぞれについての差分絶対値和、マクロブロックを構成する４ブロックそれぞれについての動きベクトルを算出し、これらのデータを出力結果として動き検出制御部２１０に出力する。
【００４７】
予測画像生成部２１２は、動き検出制御部２１０からの指示に従って、補間処理部２０５から入力される再構成マクロブロックと、動き検出制御部２１０から入力される動きベクトルとに基づいて予測画像（動きベクトルの参照先を用いて構成される画像）を生成し、ローカルメモリインターフェース２１７を介してローカルメモリ４０の所定領域（以下、「予測画像メモリ領域」という。）に格納する。なお、予測画像生成部２１２は、符号化処理対象のマクロブロックがフレーム間符号化される場合に上述の処理を行い、符号化対象のマクロブロックがフレーム内符号化される場合には、予測画像メモリ領域を“０”クリア（リセット）する。
【００４８】
差分画像生成部２１３は、動き検出制御部２１０からの指示に従って、ローカルメモリ４０の予測画像メモリ領域から読み出した予測画像と、間引き処理部２０９から入力された符号化対象であるマクロブロックとの差分をとることにより差分画像を生成し、ローカルメモリ４０の所定領域（以下、「差分画像メモリ領域」という。）に格納する。なお、符号化処理対象であるマクロブロックがフレーム内符号化されるものである場合には、予測画像は“０”クリアされたものとなるため、差分画像生成部２１３は、符号化対象であるマクロブロックを、そのまま差分画像とする。
【００４９】
再構成画像転送部２１４は、動き検出制御部２１０からの指示に従って、プロセッサコア１０による復号化処理結果である再構成画像をローカルメモリ４０から読み出し、外部メモリＩ／Ｆ２０１を介して、フレームメモリ１１０に出力する。即ち、再構成画像転送部２１４は、一種のＤＭＡＣ（Direct Memory Access Controller）として機能する。
周辺画素生成部２１５は、再構成画像バッファ２０３および検索対象オリジナル画像バッファ２０７に対し、それぞれに入力された画像の周囲を所定画素分、境界の画素で補間する旨の指示を行う。
【００５０】
ホストＩ／Ｆ２１６は、プロセッサコア１０と動き検出／動き補償処理部８０との入出力インターフェースの機能を有し、プロセッサコア１０から入力された起動制御信号やモード設定信号を動き検出制御部２１０およびＭＢ管理部２１９に出力したり、動き検出制御部２１０から入力された演算結果（動きベクトル等）を一時的に記憶し、プロセッサコア１０からの読み出し要求に応じて、プロセッサコア１０に出力したりする。
【００５１】
ローカルメモリＩ／Ｆ２１７は、動き検出／動き補償処理部８０がローカルメモリ４０とデータを送受信するための入出力インターフェースである。
ローカルメモリアドレス生成部２１８は、ローカルメモリ４０における種々のアドレスを設定する。具体的には、ローカルメモリアドレス生成部２１８は、ローカルメモリ４０における、差分画像用ブロック（差分画像生成部２１３において生成された差分画像の記憶領域）の先頭アドレス、予測画像用ブロック（予測画像生成部２１２において生成された予測画像の記憶領域）の先頭アドレスおよび復号再構成画像（プロセッサコア１０によって復号処理された再構成画像）の記憶領域の先頭アドレスを設定する。また、ローカルメモリアドレス生成部２１８は、ローカルメモリ４０（２次元アクセスメモリ）の幅および高さを設定する。そして、ローカルメモリアドレス生成部２１８は、ＭＢ管理部２１９からローカルメモリ４０に対するアクセスが指示されると、その指示に従って、マクロブロック等を記憶したり読み出したりするための、ローカルメモリ４０におけるアドレスを生成し、ローカルメモリＩ／Ｆ２１７に出力する。
【００５２】
ＭＢ管理部２１９は、動き検出制御部２１０が行う制御に対して、より上位の制御を行うものであり、マクロブロックを単位とする各種制御を行う。具体的には、ＭＢ管理部２１９は、ホストＩ／Ｆ２１６を介して入力されるプロセッサコア１０からの指示や、動き検出制御部２１０から入力される動き検出処理結果に基づいて、ローカルメモリアドレス生成部２１８に対し、ローカルメモリ４０にアクセスするためのアドレスの生成を指示したり、フレームメモリアドレス生成部２２０に対し、フレームメモリ１１０にアクセスするためのアドレスの生成を指示したりする。
【００５３】
フレームメモリアドレス生成部２２０は、フレームメモリ１１０における種々のアドレスを設定する。具体的には、フレームメモリアドレス生成部２２０は、フレームメモリ１１０における、検索対象オリジナル画像に関するＹ成分の記憶領域の先頭アドレス、参照用の再構成画像に関するＹ，Ｃｂ，Ｃｒ成分それぞれの記憶領域の先頭アドレス、符号化対象オリジナル画像に関するＹ，Ｃｂ，Ｃｒ成分それぞれの記憶領域の先頭アドレス、出力用再構成画像（動き検出／動き補償処理部８０に出力される再構成画像）に関するＹ，Ｃｂ，Ｃｒ成分それぞれの記憶領域の先頭アドレスを設定する。また、フレームメモリアドレス生成部２２０は、フレームメモリ１１０に記憶されるフレームの幅および高さを設定する。そして、フレームメモリアドレス生成部２２０は、ＭＢ管理部２１９からフレームメモリ１１０に対するアクセスが指示されると、その指示に従って、フレームメモリ１１０に記憶されたフレームのデータを記憶したり読み出したりするための、フレームメモリ１１０におけるアドレスを生成し、外部メモリＩ／Ｆ２０１に出力する。
【００５４】
図１に戻り、コプロセッサ９０は、動き検出処理および動き補償処理以外の処理を行うコプロセッサであり、例えば、浮動小数点演算等を行う。
外部メモリＩ／Ｆ１００は、動画像処理装置１が外部メモリであるフレームメモリ１１０とデータを送受信するための入出力インターフェースである。
フレームメモリ１１０は、動画像処理装置１が各種処理を行う際に生成される画像データ等を記憶するメモリであり、検索対象オリジナル画像に関するＹ成分の記憶領域、参照用の再構成画像に関するＹ，Ｃｂ，Ｃｒ成分それぞれの記憶領域、符号化対象オリジナル画像に関するＹ，Ｃｂ，Ｃｒ成分それぞれの記憶領域、出力用再構成画像に関するＹ，Ｃｂ，Ｃｒ成分それぞれの記憶領域を有している。これらの記憶領域のアドレスとその幅および高さは、フレームメモリアドレス生成部２２０によって設定される。
【００５５】
図８は、フレームメモリ１１０の記憶内容を示す概略的な模式図であり、図８（ａ）は、現在のフレームの動き検出処理時の状態、図８（ｂ）は、局部復号処理時（再構成画像生成時）の状態、図８（ｃ）は、次のフレームの動き検出処理時の状態を示している。
図８（ａ）〜（ｃ）において、検索対象オリジナル画像および符号化対象オリジナル画像は同サイズの記憶領域であり、検索対象の再構成画像の記憶領域は、さらにマクロブロックの２列（１６画素）分が加えて確保されている。これは、動画像処理装置１の符号化処理方法に基づくものである。即ち、動画像処理装置１がマクロブロック単位で符号化処理を行う方式であるため、そのマクロブロックが符号化処理を終えた後も、そのフレーム（再構成画像）を直ちには更新できないものである。一方、探索の中心となるマクロブロックの周囲最大１６画素までが探索範囲とされることから、マクロブロックの２列分を１フレームに加えて確保する。なお、探索範囲を１６画素以上、例えば２４画素まで対応する場合には、マクロブロックの３列分を１フレームに加えて確保する必要がある。
【００５６】
これにより、フレームメモリ１１０の必要な記憶容量の増大を抑えつつ、マクロブロック単位で本発明に係る符号化処理を行うことが可能となる。
なお、参照される再構成画像の記憶領域と、次に参照される再構成画像を記憶していく領域とを個別に確保する場合には、記憶容量がやや増大するものの、上述のような不都合は生じないことから、それぞれの記憶領域は、１フレーム分とすれば良い。
【００５７】
次に、動作を説明する。
初めに、動画像処理装置１全体に関する動作を説明する。
図９は、プロセッサコア１０が実行する符号化関数実行処理（符号化関数実行処理プログラムに基づく処理）を示すフローチャートである。図９に示す処理は、動画像処理装置１において動画像の符号化が行われる際に常時実行される処理であり、１フレームについての符号化を行う処理である。動画像処理装置１が動画像の符号化を行う場合、図９に示す符号化関数実行処理が適宜繰り返される。なお、図９において、ステップＳ３，６ａ，８，１２は、コプロセッサ８０が実行する処理であり、その他は、プロセッサコア１０が実行する処理である。
【００５８】
図９において、符号化関数実行処理が開始されると、そのフレームに関するモード設定を行い（ステップＳ１）、動き検出／動き補償処理部８０に対し、１フレームの符号化処理のスタートコマンド（最初のマクロブロックのスタートコマンドを含む）を発行する（ステップＳ２）。
すると、動き検出／動き補償処理部８０が初期化（各種パラメータが設定）されると共に、１マクロブロックの動き検出処理、予測画像の生成および差分画像の生成処理を実行し（ステップＳ３）、プロセッサコア１０は、１マクロブロックの動き検出処理が終了したか否かの判定を行う（ステップＳ４）。
【００５９】
ステップＳ４において、１マクロブロックの動き検出処理が終了していないと判定した場合、プロセッサコア１０は、ステップＳ４の処理を繰り返し、１マクロブロックの動き検出処理が終了したと判定した場合、引き続く１マクロブロックの動き検出処理のスタートコマンドを発行する（ステップＳ５）。
続いて、動き検出／動き補償処理部８０が引き続く１マクロブロックの動き検出処理、予測画像の生成および差分画像の生成処理を実行すると共に（ステップＳ６ａ）、これと並行して、プロセッサコア１０は、ＤＣＴ変換から可変長符号化および逆ＤＣＴ変換、さらに動き補償処理までの符号化処理を実行する（ステップＳ６ｂ）。
【００６０】
次に、プロセッサコア１０は、動き検出／動き補償処理部８０に対し、ステップＳ６ｂにおいて生成された再構成画像をローカルメモリ４０からフレームメモリ１１０に転送させるコマンド（以下、「再構成画像転送コマンド」という。）を発行する（ステップＳ７）。
すると、動き検出／動き補償処理部８０の再構成画像転送部２１４が、ステップＳ６ｂにおいて生成された再構成画像をローカルメモリ４０からフレームメモリ１１０に転送し（ステップＳ８）、プロセッサコア１０は、１フレームの符号化処理が終了したか否かの判定を行う（ステップＳ９）。
【００６１】
ステップＳ９において、１フレームの符号化処理が終了していないと判定した場合、プロセッサコア１０は、ステップＳ４の処理に移行し、一方、１フレームの符号化処理が終了したと判定した場合、プロセッサコア１０は、動き検出／動き補償処理部８０において最後に処理されたマクロブロックに対し、ＤＣＴ変換から可変長符号化および逆ＤＣＴ変換、さらに動き補償処理までの符号化処理を実行する（ステップＳ１０）。
【００６２】
そして、プロセッサコア１０は、動き検出／動き補償処理部８０に対し、ステップＳ１０において生成された再構成画像についての再構成画像転送コマンドを発行する（ステップＳ１１）。
すると、動き検出／動き補償処理部８０の再構成画像転送部２１４が、ステップＳ１０において生成された再構成画像をローカルメモリ４０からフレームメモリ１１０に転送し（ステップＳ１２）、プロセッサコア１０は、符号化関数実行処理を終了する。
【００６３】
なお、ステップＳ３，Ｓ６ａにおいてコプロセッサ８０が動き検出処理、予測画像の生成および差分画像の生成処理を行う際には、上述した通り、ＳＲＡＭ３０１〜３０３に一度に並列的にアクセスすることによりマクロブロックを読み出すことができる。
続いて、動き検出／動き補償処理部８０の検索対象オリジナル画像バッファ２０７における状態遷移について説明する。
【００６４】
動画像処理装置１において符号化処理が行われる場合、探索の中心となるマクロブロックを中心として、周囲８画素分（１マクロブロック分）の領域が検索対象オリジナル画像バッファ２０７に順次読み込まれる。
図１０は、検索対象オリジナル画像バッファ２０７に検索対象となる画像データが順次読み込まれる場合の状態遷移を示す図である。
【００６５】
図１０において、１フレームの始めのマクロブロック（左上）が探索の中心として記憶される場合、検索対象オリジナル画像バッファ２０７には、その左上のマクロブロックの周囲、即ち、右隣、右下および下に位置するマクロブロックが読み込まれる（図１０（ａ）参照）。なお、フレームの境界を超えた領域のデータについては、後述するように、周辺画素生成部２１５によって補間される。
【００６６】
そして、探索の中心が次のマクロブロックに移行すると、検索対象オリジナル画像バッファ２０７には、図１０（ａ）において読み込まれていたマクロブロックの右隣の２つのマクロブロックのみが新たに読み込まれ、図１０（ａ）における探索領域と重複するマクロブロックについては、そのまま読み込まれていたものが使用される（図１０（ｂ）参照）。
【００６７】
その後、探索の中心が次のマクロブロックに移行する毎に、同様に、右隣の２つのマクロブロックのみが新たに読み込まれながら、フレームの最上行で最右端に位置するマクロブロックに探索の中心が到達する（図１０（ｃ）参照）。このとき、右隣から新たに読み込むマクロブロックが存在しないため、マクロブロックの読み込みは行われず、それに代えて、上述のように周辺画素の補間が行われる。
【００６８】
続いて、探索の中心は、フレームの第２行に移行する。このとき、検索対象オリジナル画像バッファ２０７には、図１０（ｃ）における探索領域と重複するマクロブロックが存在しないため、全てのマクロブロックが新たに読み込まれる（図１０（ｄ）参照）。
そして、探索の中心が次のマクロブロックに移行すると、検索対象オリジナル画像バッファ２０７には、図１０（ｄ）において読み込まれていたマクロブロックの右隣の３つのマクロブロックのみが新たに読み込まれ、図１０（ｄ）における探索領域と重複するマクロブロックについては、そのまま読み込まれていたものが使用される（図１０（ｅ）参照）。
【００６９】
その後、探索の中心が次のマクロブロックに移行する毎に、同様に、右隣の３つのマクロブロックのみが新たに読み込まれながら、フレームの第２行で最右端に位置するマクロブロックに探索の中心が到達する（図１０（ｆ）参照）。このとき、右隣から新たに読み込むマクロブロックが存在しないため、マクロブロックの読み込みは行われず、それに代えて、上述のように周辺画素の補間が行われる。
【００７０】
この後、フレームにおける各行において同様の処理が行われ、フレームにおける最下行においても同様の処理が行われる。なお、フレームにおける最下行の場合には、探索の中心となるマクロブロックの下側は、フレームの境界を超えるため、上述のように周辺画素の補間が行われる。
検索対象オリジナル画像バッファ２０７に読み込まれるマクロブロックが、このように遷移していくことにより、既に読み込まれているマクロブロックを重複して読み込むことなく、効率的に処理を行うことが可能となる。
【００７１】
続いて、周辺画素生成部２１５がフレームの境界を超えた探索範囲を補間する処理について説明する。
上述のように、フレームの境界に位置するマクロブロックが探索の中心とされる場合、探索領域の一部は、読み込むマクロブロックが存在しない状態となる。
図１１は、探索領域がフレームの境界を超える態様を示す模式図である。
【００７２】
図１１（ａ）〜（ｉ）に示すように探索領域がフレーム境界を超えた場合、周辺画素生成部２１５は、フレーム境界に位置するマクロブロックを用いて、フレーム境界を超えた領域の画像データ（周辺画素）を生成する。
図１２は、図１１（ａ）の態様で探索領域がフレーム境界を超えた場合に行われる周辺画素の補間の一例を示す図である。なお、図１２においては、画素の間引きが行われない場合の補間の例を示しており、同一模様の周辺画素は、同一の画素（フレーム境界に位置する画素）で補間されていることを示している。
【００７３】
図１２においては、フレーム境界に位置するマクロブロックがそのままフレーム外に拡張され、フレームの左上に位置するマクロブロックが、フレームの左上方の領域に拡張されている。
このように周辺画素の補間を行うことにより、非制限動きベクトル（フレーム境界を超えた指定を認める動きベクトル）を符号化処理に用いることが可能となる。また、本発明に係る動画像処理装置１のように、マクロブロック単位で画像データを動き検出／動き補償処理部８０に読み込み、符号化処理を行う場合にも、読み込まれたマクロブロックのみを用いて周辺画素を補間することができるため、効率的に処理を行うことが可能となる。
【００７４】
また、図１３および図１４は、画素の間引きが行われる場合の補間の例を示す図であり、図１３は、間引かれた後に残っている画素データのみを用いて周辺画素の補間を行う例を示す図、図１４は、間引かれた後に残っている画素データに加え、間引かれて欠落した部分を間引き前の画素を用いて補間する例を示す図である。
なお、画素を補間する形態としては、図１３あるいは図１４に示す例の他、種々の形態とすることが可能である。
【００７５】
以上のように、本実施の形態に係る動画像処理装置１は、動き検出／動き補償処理部８０に備えられる再構成画像バッファ２０３、検索対象オリジナル画像バッファ２０７および符号化対象オリジナル画像バッファ２０８を複数のメモリバンクによって構成すると共に、３２ビット幅（４画素幅）の短冊状の記憶領域をそれぞれのメモリバンクに割り当て、さらに、各メモリバンクによって構成される短冊状の記憶領域を順に並べた構成としている。
【００７６】
したがって、動き検出処理において、各メモリバンクに対する並列的な一度のアクセスで処理対象となる画素を全て読み出すことができるため、処理の高速化を図ることができる。
また、各バッファを共通のメモリバンクによって構成しているため、動き検出／動き補償処理部８０に備えるメモリの個数を削減することができる。
【図面の簡単な説明】
【００７７】
【図１】本発明に係る動画像処理装置１の機能構成を示すブロック図である。
【図２】動き検出／動き補償処理部８０の内部構成を示すブロック図である。
【図３】間引き処理部２０６が、フレームメモリから読み込んだ１つのマクロブロックを間引いた状態を示す図である。
【図４】再構成画像バッファ２０３、検索対象オリジナル画像バッファ２０７および符号化対象オリジナル画像バッファ２０８のメモリ割り当てを示す図である。
【図５】再構成画像バッファ２０３に記憶されるデータ内容を示す模式図である。
【図６】画像データの間引きを行い、横方向に１／２に縮小した画像データを検索対象オリジナル画像バッファ２０７に記憶する場合のメモリ割り当てを示す図である。
【図７】画像データの間引きを行った場合における再構成画像バッファ２０３および符号化対象オリジナル画像バッファ２０８のメモリ割り当てを示す図である。
【図８】フレームメモリ１１０の記憶内容を示す概略的な模式図である。
【図９】プロセッサコア１０が実行する符号化関数実行処理を示すフローチャートである。
【図１０】検索対象オリジナル画像バッファ２０７に検索対象となる画像データが順次読み込まれる場合の状態遷移を示す図である。
【図１１】探索領域がフレームの境界を超える態様を示す模式図である。
【図１２】図１１（ａ）の態様で探索領域がフレーム境界を超えた場合に行われる周辺画素の補間の一例を示す図である。
【図１３】画素の間引きが行われる場合の補間の一例を示す図である。
【図１４】画素の間引きが行われる場合の補間の他の例を示す図である。
【符号の説明】
【００７８】
１  動画像処理装置、１０  プロセッサコア、２０  命令メモリ、３０  命令キャッシュ、４０  ローカルメモリ、５０  データキャッシュ、６０  内部バス調停部、７０  ＤＭＡ制御部、８０  動き検出／動き補償処理部、９０  コプロセッサ、１００，２０１  外部メモリＩ／Ｆ、１１０  フレームメモリ、２０２  ，２０５  補間処理部、２０３  再構成画像バッファ、２０４  半画素生成部、２０６，２０９  間引き処理部、２０７  検索対象オリジナル画像バッファ、２０８  符号化対象オリジナル画像バッファ、２１０  動き検出制御部、２１１  差分絶対値和処理部、２１２  予測画像生成部、２１３  差分画像生成部、２１４  再構成画像転送部、２１５  周辺画素生成部、２１６  ホストＩ／Ｆ、２１７  ローカルメモリＩ／Ｆ、２１８  ローカルメモリアドレス生成部、２１９  ＭＢ管理部、２２０  フレームメモリアドレス生成部、３０１〜３０３  ＳＲＡＭ
【図１】
2005244844.tif 000003
【図２】
2005244844.tif 000004
【図３】
2005244844.tif 000005
【図４】
2005244844.tif 000006
【図５】
2005244844.tif 000007
【図６】
2005244844.tif 000008
【図７】
2005244844.tif 000009
【図８】
2005244844.tif 000010
【図９】
2005244844.tif 000011
【図１０】
2005244844.tif 000012
【図１１】
2005244844.tif 000013
【図１２】
2005244844.tif 000014
【図１３】
2005244844.tif 000015
【図１４】
2005244844.tif 000016