(57)【要約】【課題】動きベクトルの探索精度を高めること。【解決手段】第１の記憶部１０が記憶する動画像に含まれる複数の画像のうち、符号化の際に第１の記憶部１０から読み出された画像の画像領域を記憶する第２の記憶部２１と、画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域ＢＡに関する情報２２ａを記憶する第３の記憶部２２と、符号化の対象とする複数の画像領域について、対応する起点領域ＢＡの全体と第２の記憶部２１が記憶している画像領域ＡＰとが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第１の閾値Ｔｈ１を超えない範囲で起点領域ＢＡを拡大し、拡大後の重複しない範囲を第１の記憶部１０から読み出す対象とする演算部２３と、を有する、動画像符号化装置２０が提供される。【選択図】図１
2016025541.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に前記第１の記憶部から読み出された画像の画像領域を記憶する第２の記憶部と、
前記画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域に関する情報を記憶する第３の記憶部と、
符号化の対象とする複数の前記画像領域について、対応する前記起点領域の全体と前記第２の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第１の閾値を超えない範囲で前記起点領域を拡大し、拡大後の前記重複しない領域を前記第１の記憶部から読み出す対象とする演算部と、
を有する、動画像符号化装置。
【請求項２】
前記第３の記憶部は、前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を記憶し、
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第１の画像領域として特定し、当該第１の画像領域の周囲に位置する画像領域の中で前記符号化コストが最小となる画像領域を第２の画像領域として特定し、前記第１の画像領域を基準として前記第２の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
請求項１に記載の動画像符号化装置。
【請求項３】
前記演算部は、前記起点領域を追加した後、追加後の前記起点領域の全体と前記第２の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が前記第１の閾値を超えない場合、更に前記起点領域を拡大する
請求項２に記載の動画像符号化装置。
【請求項４】
前記第３の記憶部は、前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を記憶し、
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第１の画像領域として特定し、当該第１の画像領域の周囲に位置する画像領域の中で、前記第１の画像領域との間で前記符号化コストの差が、設定された第２の閾値より大きい画像領域を第２の画像領域として特定し、前記第１の画像領域を基準として前記第２の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
請求項１に記載の動画像符号化装置。
【請求項５】
前記第３の記憶部は、前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を記憶し、
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが、設定された第３の閾値より大きい画像領域を第１の画像領域として特定し、当該第１の画像領域の周囲に位置する画像領域の中で前記符号化コストが最小となる画像領域を第２の画像領域として特定し、前記第１の画像領域を基準として前記第２の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
請求項１に記載の動画像符号化装置。
【請求項６】
コンピュータが、
第１の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に前記第１の記憶部から読み出された画像の画像領域を第２の記憶部に記憶し、
前記画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域に関する情報を取得し、
符号化の対象とする複数の前記画像領域について、対応する前記起点領域の全体と前記第２の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第１の閾値を超えない範囲で前記起点領域を拡大し、拡大後の前記重複しない領域を前記第１の記憶部から読み出す対象とする
動画像符号化方法。
【請求項７】
コンピュータに、
第１の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に前記第１の記憶部から読み出された画像の画像領域を第２の記憶部に記憶し、
前記画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域に関する情報を取得し、
符号化の対象とする複数の前記画像領域について、対応する前記起点領域の全体と前記第２の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第１の閾値を超えない範囲で前記起点領域を拡大し、拡大後の前記重複しない領域を前記第１の記憶部から読み出す対象とする
処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化装置、動画像符号化方法、及びプログラムに関する。
【背景技術】
【０００２】
動画像の符号化には、例えば、ＩＴＵ−Ｔ（International Telecommunication Union Telecommunication Standardization Sector）により勧告されたＨ．２６４と呼ばれる符号化方式が広く利用されている。国際標準化機構（ＩＳＯ）及び国際電気標準会議（ＩＥＣ）では、同じ技術がＭＰＥＧ−４  ＡＶＣ（MPEG-4 Part 10 Advanced Video Coding）と呼ばれている。これらの呼称はまとめてＨ．２６４／ＡＶＣと表記されることがある。
【０００３】
Ｈ．２６４／ＡＶＣ方式の符号化には、異なる動画フレームを参照して現在の動画フレームを予測するフレーム間予測又はインター予測と呼ばれる技術が利用される。時間的に前の動画フレームを参照して現在の動画フレームを予測する方法は前方向予測（Forward Prediction）と呼ばれる。また、時間的に後の動画フレームを参照して現在の動画フレームを予測する方法は後方向予測（Backward Prediction）と呼ばれる。
【０００４】
また、Ｈ．２６４／ＡＶＣ方式では、時間的に前又は後にある複数の動画フレームを参照して現在の動画フレームを予測する双方向予測（Bi-directive Prediction）と呼ばれる技術も採用されている。Ｈ．２６４／ＡＶＣ方式の次世代規格であるＨ．２６５／ＨＥＶＣ（High Efficiency Video Coding）方式も動画像の符号化に利用され始めている。Ｈ．２６５／ＨＥＶＣ方式でもフレーム間予測の技術が採用されている。
【０００５】
フレーム間予測を行う際、複数の画素を含む画素ブロックを単位として、他の動画フレームから、符号化対象の画素ブロックに類似する画素ブロック（参照ブロック）を探索して動きベクトルを検出するＭＥ（Motion Estimation）が実行される。画素ブロックのサイズは、ＭＥの精度や方式の規定による上限がある。そのため、動画フレームの画素数が増えると探索範囲が広くなり、ＭＥの処理負荷は増大する。
【０００６】
上記の事情に鑑み、動画フレームの画像を縮小した画素数の少ない縮小画像を利用してＭＥを実行し、縮小画像から得た動きベクトルを利用して元の動画フレームにおける探索範囲を制限する方法（以下、提案方法）が提案されている。この提案方法によれば、探索範囲の画素数が抑制されるため、ＭＥの処理負荷が低減される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−１６７９７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
動画フレームの高画素化は、ＭＥにおける処理負荷の増大だけでなく、動画フレームのデータ量の増大にも関係する。読み出し速度の大きいメモリは単位容量当たりのコストが高く、一方で読み出し速度の小さいメモリは単位容量当たりのコストが低い。そのため、データ量の大きな動画フレームを読み出し速度の大きなメモリに全て格納しようとすると、ＭＥを実行する装置にかかるコストが増大する。一方、読み出し速度の小さいメモリに動画フレームを格納しておくと、参照ブロックを読み出す際に長い時間がかかり、ＭＥの処理速度が低下する。
【０００９】
そのため、本発明者は、動画フレーム全体は読み出し速度の小さい大容量のメモリに格納しておき、ＭＥの処理に利用する探索範囲のデータを読み出し速度の大きい小容量のメモリに格納して利用する方法（以下、検討方法）について検討を行った。メモリからデータを読み出す速度は、単位時間当たりに読み出せるデータ量（以下、帯域）で表現できる。この検討方法の場合、読み出し速度の小さい大容量のメモリからデータを読み出す際の帯域が検討の対象となる。
【００１０】
上述した提案方法を上記検討方法に適用する場合、元の大きさの動画フレームについて参照画像を探索する際に探索範囲のデータが読み出し速度の小さい大容量のメモリから読み出されることになる。上記の提案方法の場合、「帯域」について一切考察されておらず、利用可能な帯域が有効に活用されないことがある。なお、ここでは上記提案方法を例示したが、縮小画像を利用して探索範囲を制限する方法以外の方法を適用する場合でも、利用可能な帯域をＭＥの際に有効活用できれば予測精度の高い符号化の実現が期待できる。
【００１１】
そこで、１つの側面によれば、本発明の目的は、動きベクトルの探索精度を高めることが可能な動画像符号化装置、動画像符号化方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本開示の１つの側面によれば、第１の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に第１の記憶部から読み出された画像の画像領域を記憶する第２の記憶部と、画像に含まれる画像領域の符号化に用いる参照領域を他の画像から特定する際に行う探索の範囲を決める基準となる起点領域に関する情報を記憶する第３の記憶部と、符号化の対象とする複数の画像領域について、対応する起点領域の全体と第２の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第１の閾値を超えない範囲で起点領域を拡大し、拡大後の重複しない範囲を第１の記憶部から読み出す対象とする演算部と、を有する、動画像符号化装置が提供される。
【００１３】
また、本開示の他の１つの側面によれば、コンピュータが、第１の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に第１の記憶部から読み出された画像の画像領域を第２の記憶部に記憶し、画像に含まれる画像領域の符号化に用いる参照領域を他の画像から特定する際に行う探索の範囲を決める基準となる起点領域に関する情報を取得し、符号化の対象とする複数の画像領域について、対応する起点領域の全体と第２の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第１の閾値を超えない範囲で起点領域を拡大し、拡大後の重複しない範囲を第１の記憶部から読み出す対象とする動画像符号化方法が提供される。
【００１４】
また、本開示の他の１つの側面によれば、コンピュータに、第１の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に第１の記憶部から読み出された画像の画像領域を第２の記憶部に記憶し、画像に含まれる画像領域の符号化に用いる参照領域を他の画像から特定する際に行う探索の範囲を決める基準となる起点領域に関する情報を取得し、符号化の対象とする複数の画像領域について、対応する起点領域の全体と第２の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第１の閾値を超えない範囲で起点領域を拡大し、拡大後の重複しない範囲を第１の記憶部から読み出す対象とする処理を実行させる、プログラムが提供される。
【発明の効果】
【００１５】
本発明によれば、動きベクトルの探索精度を高めることが可能になる。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態に係る動画像符号化装置の一例を示した図である。
【図２】第２実施形態に係る動画像符号化装置の機能を実現可能な情報処理装置のハードウェアの一例を示した図である。
【図３】第２実施形態に係る動画像符号化装置の機能を実現可能なハードウェアの一例を示した図である。
【図４】第２実施形態に係る動画像符号化方法の一例を示した図である。
【図５】第２実施形態に係る動画像符号化装置が有する機能の一例を示したブロック図である。
【図６】第２実施形態に係る参照画像管理部が有する機能の一例を示したブロック図である。
【図７】第２実施形態に係る動画像符号化装置が実行する処理の流れを示した第１のフロー図である。
【図８】第２実施形態に係る動画像符号化装置が実行する処理の流れを示した第２のフロー図である。
【図９】第２実施形態に係る動画像符号化処理の中で縮小ＭＥ部から参照画像管理部に入力される情報の一例を示した図である。
【図１０】第２実施形態に係る動画像符号化処理のうち参照範囲の計算に関する処理について説明するための図である。
【図１１】第２実施形態に係る動画像符号化処理のうち使用帯域の計算に関する処理について説明するための図である。
【図１２】第２実施形態に係る動画像符号化処理のうち探索起点の追加に関する処理について説明するための図である。
【図１３】第２実施形態の一変形例（変形例＃１）に係る動画像符号化装置が実行する処理の流れを示したフロー図である。
【図１４】第２実施形態の一変形例（変形例＃２）に係る動画像符号化装置が実行する処理の流れを示した第１のフロー図である。
【図１５】第２実施形態の一変形例（変形例＃２）に係る動画像符号化装置が実行する処理の流れを示した第２のフロー図である。
【図１６】第２実施形態の一変形例（変形例＃３）に係る動画像符号化装置が実行する処理の流れを示した第１のフロー図である。
【図１７】第２実施形態の一変形例（変形例＃３）に係る動画像符号化装置が実行する処理の流れを示した第２のフロー図である。
【発明を実施するための形態】
【００１７】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１８】
＜１．第１実施形態＞
図１を参照しながら、第１実施形態について説明する。図１は、第１実施形態に係る動画像符号化装置の一例を示した図である。なお、図１に例示した動画像符号化装置２０は、第１実施形態に係る動画像符号化装置の一例である。
【００１９】
図１に示すように、動画像符号化装置２０は、第１の記憶部１０に接続されている。また、動画像符号化装置２０は、第２の記憶部２１、第３の記憶部２２、及び演算部２３を有する。
【００２０】
なお、第１の記憶部１０、第２の記憶部２１、第３の記憶部２２は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置である。演算部２３は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。但し、演算部２３は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの電子回路であってもよい。演算部２３は、例えば、第１の記憶部１０、第２の記憶部２１、第３の記憶部２２、又は他のメモリに記憶されたプログラムを実行する。
【００２１】
第１の記憶部１０は、動画像に含まれる複数の画像を記憶する。第２の記憶部２１は、符号化の際に第１の記憶部１０から読み出された画像の画像領域を記憶する。
図１の例では、画像Ｐ１、Ｐ２、Ｐ３、…が第１の記憶部１０により記憶されている。図１の例は、画像Ｐ１に含まれる画像領域を符号化する処理を示しており、この例では第２の記憶部２１に画像領域ＡＰ（格納済み画像領域）が格納されている。
【００２２】
第３の記憶部２２は、画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域ＢＡに関する情報２２ａを記憶する。
図１（Ａ）の例は、画像Ｐ１の画像領域Ａ１１、Ａ２１、…、Ａ２４、Ａ３１、…、Ａ３４、Ａ４１を符号化（フレーム間予測符号化）する処理を示している。この場合、図１（Ｂ）に示すように、画像Ｐ１の画像領域Ａ１１、Ａ２１、…、Ａ２４、Ａ３１、…、Ａ３４、Ａ４１の符号化には、他の画像（例えば、画像Ｐ２、Ｐ３）に含まれる画像領域が参照領域として利用される。例えば、画像領域Ａ１１の符号化に用いる参照領域は、画像領域Ａ１１に類似する画像領域である。
【００２３】
符号化方式の規定に従って参照可能な全ての画像領域から参照領域を探索する処理を避け、図１の例では、参照領域の探索範囲を絞り込むために、探索範囲を特定する際の基準となる起点領域ＢＡが利用される。なお、画像領域Ａ１１、Ａ２１、…、Ａ２４、Ａ３１、…、Ａ３４、Ａ４１に対応する起点領域ＢＡをそれぞれ起点領域ＢＡ１１、ＢＡ２１、…、ＢＡ２４、ＢＡ３１、…、ＢＡ３４、ＢＡ４１と表記する。
【００２４】
起点領域ＢＡは、例えば、動画像に含まれる画像Ｐ１、Ｐ２、Ｐ３、…をそれぞれ縮小した縮小画像の動き検出により得られた動きベクトルを用いて決めることができる。例えば、縮小画像から得られた動きベクトルを利用して画像Ｐ１、Ｐ２、Ｐ３、…で特定される画像領域を起点領域ＢＡとして利用することができる。
【００２５】
起点領域ＢＡに関する情報２２ａとしては、例えば、起点領域ＢＡを特定する動きベクトルＶを利用することができる。また、縮小画像を利用した動き検出の際に得られる符号化コストＳＣを起点領域ＢＡに関する情報２２ａとして利用することもできる。符号化コストＳＣとしては、例えば、画素毎の差分絶対値和であるＳＡＤ（Sum of Absolute Difference）などを適用することができる。
【００２６】
なお、図１の例では、起点領域ＢＡ１１、ＢＡ２１、…、ＢＡ２４、ＢＡ３１、…、ＢＡ３４、ＢＡ４１を特定するための動きベクトルＶを動きベクトルＶ１１、Ｖ２１、…、Ｖ２４、Ｖ３１、…、Ｖ３４、Ｖ４１と表記している。また、動きベクトルＶ１１、Ｖ２１、…、Ｖ２４、Ｖ３１、…、Ｖ３４、Ｖ４１の検出時に得られた符号化コストＳＣを符号化コストＳＣ１１、ＳＣ２１、…、ＳＣ２４、ＳＣ３１、…、ＳＣ３４、ＳＣ４１と表記する。
【００２７】
演算部２３は、符号化の対象とする複数の画像領域について、対応する起点領域ＢＡの全体と第２の記憶部２１が記憶している画像領域ＡＰとが重複しない領域を特定する。例えば、演算部２３は、動きベクトルＶを用いて起点領域ＢＡを特定する。図１（Ｃ）の例では、動きベクトルＶ１１、Ｖ２１、…に基づいて起点領域ＢＡ１１、ＢＡ２１、…が特定されている。なお、図１の中では、スペースの都合上、起点領域ＢＡ３１、ＢＡ３３、ＢＡ３４、ＢＡ４１の記載を省略している。
【００２８】
起点領域ＢＡ１１、ＢＡ２１、…を特定した演算部２３は、起点領域ＢＡ１１、ＢＡ２１、…と画像領域ＡＰとが重複しない領域を特定する。図１（Ｃ）の例では、ハッチングを施した領域が、当該重複しない領域として特定される。
【００２９】
上記重複しない領域を特定した演算部２３は、当該重複しない領域の大きさに基づく指標を計算する。指標としては、例えば、当該重複しない領域の画像データを読み出す際のデータ量、当該重複しない領域の面積、或いは、当該重複しない領域を第１の記憶部１０から読み出す際に利用される伝送帯域などが適用されうる。なお、この伝送帯域は、例えば、符号化の単位となる画像領域の集合について第１の記憶部１０から一度に読み出すデータ量に基づき評価できる。
【００３０】
演算部２３は、上記重複しない領域の大きさに基づく指標が、設定された第１の閾値Ｔｈ１を超えない範囲で起点領域ＢＡを拡大する。第１の閾値Ｔｈ１は、例えば、第１の記憶部１０から画像データを読み出す際に利用可能な伝送帯域に基づいて設定される。
【００３１】
起点領域ＢＡは、例えば、新たな起点領域ＢＡを追加することで拡大することができる。図１（Ｃ）の例では、符号化コストＳＣが最大（ＳＣ３２）の画像領域Ａ３２に隣接する、符号化コストＳＣが最小（ＳＣ３４）の動きベクトルＶ３４が特定され、画像領域Ａ３２を基準に動きベクトルＶ３４で特定される起点領域ＢＡ３２ａが追加されている。
【００３２】
演算部２３は、拡大後の重複しない範囲を第１の記憶部１０から読み出す対象とする。図１（Ｃ）の例では、起点領域ＢＡ３２ａを追加後に、画像領域ＡＰと重複しない範囲が特定され、当該重複しない範囲が読み出し対象とされる。このように読み出し対象を設定することで、第１の記憶部１０から画像データを読み出す際に利用可能な帯域に余裕がある場合に、起点領域ＢＡの拡大により探索範囲を拡大することができる。その結果、画像Ｐ１、Ｐ２、Ｐ３、…を利用した動き検出の際に、動きベクトルの探索精度をより高めることができる。
【００３３】
以上、第１実施形態について説明した。
＜２．第２実施形態＞
次に、第２実施形態について説明する。
【００３４】
［２−１．ハードウェア］
図２を参照しながら、第２実施形態に係る動画像符号化装置の一例として後述する動画像符号化装置１１０の機能を実現することが可能な情報処理装置１００のハードウェアについて説明する。図２は、第２実施形態に係る動画像符号化装置の機能を実現可能な情報処理装置のハードウェアの一例を示した図である。
【００３５】
動画像符号化装置１１０が有する機能は、図２に例示した情報処理装置１００のハードウェア資源を用いて実現することが可能である。つまり、動画像符号化装置１１０が有する機能は、コンピュータプログラムを用いて図２に示すハードウェアを制御することにより実現される。
【００３６】
図２に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（Read Only Memory）９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０とを有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６とを有する。
【００３７】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
【００３８】
これらの要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
【００３９】
出力部９１８としては、例えば、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、又はＥＬＤ（Electro-Luminescence Display）などのディスプレイ装置が用いられる。また、出力部９１８として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部９１８は、情報を視覚的又は聴覚的に出力することが可能な装置である。
【００４０】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ＨＤＤなどの磁気記憶デバイスが用いられる。また、記憶部９２０として、ＳＳＤ（Solid State Drive）やＲＡＭディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
【００４１】
ドライブ９２２は、着脱可能な記録媒体であるリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
【００４２】
接続ポート９２４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small Computer System Interface）、ＲＳ−２３２Ｃポート、又は光オーディオ端子など、外部接続機器９３０を接続するためのポートである。外部接続機器９３０としては、例えば、プリンタやカメラなどが用いられる。また、外部接続機器９３０として、外付けＨＤＤや、一又は複数のＲＡＭを搭載したメモリボードなどを用いることも可能である。
【００４３】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスである。通信部９２６としては、例えば、有線又は無線ＬＡＮ（Local Area Network）用の通信回路、ＷＵＳＢ（Wireless USB）用の通信回路、光通信用の通信回路やルータ、ＡＤＳＬ（Asymmetric Digital Subscriber Line）用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークであり、例えば、インターネット、ＬＡＮ、放送網、衛星通信回線などを含む。
【００４４】
以上、情報処理装置１００のハードウェアについて説明した。
次に、図３を参照しながら、第２実施形態に係る動画符号化装置の機能を集積回路（例えば、ＬＳＩ）により実現する場合のハードウェアについて説明する。図３は、第２実施形態に係る動画像符号化装置の機能を実現可能なハードウェアの一例を示した図である。
【００４５】
図３に示したハードウェアはトランスコーダＬＳＩである。また、図３に示した符号ＳＩＣの部分はシリコンであり、符号ＰＫＧの部分はパッケージである。後述する動画符号化装置１１０の機能は、H.264/MPEG-2 Transcoder/Encoderにより実現される。また、1Gbit FCRAM (Fast Cycle Random Access Memory)は後述する外部メモリ１５０に相当する。
【００４６】
なお、1Gbit FCRAMは、動画像符号化装置１１０だけでなく、Audio Transcoder/Encoderなど他の装置とも共有して使用されることがある。また、複数のシリコンを１つのパッケージに含めたハードウェアを適用することも可能である。また、シリコンと同じパッケージに含まれるメモリではなく、コンピュータのメインメモリなどに使用されるDDR3 SDRAMなどを外部メモリ１５０として利用してもよい。一方、H.264/MPEG-2 Transcoder/Encoderとして機能するCPU Coreが有するキャッシュメモリ（例えば、L3 Cache）などは、内部メモリとして利用される。
【００４７】
以上、ハードウェアについて説明した。
［２−２．動画像符号化装置１１０の機能］
次に、動画像符号化装置１１０の機能について説明する。
【００４８】
（２−２−１．階層型ＭＥ）
図４を参照しながら、階層型ＭＥについて説明する。図４は、第２実施形態に係る動画像符号化方法の一例を示した図である。ここで言う階層型ＭＥとは、符号化対象の動画フレーム（以下、原画像）を縮小した縮小画像でＭＥ（以下、縮小ＭＥ）を実行し、縮小ＭＥで得られた動きベクトルを用いて原画像で実行するＭＥ（以下、等倍ＭＥ）の探索範囲を決める探索方法である。
【００４９】
符号化対象の原画像をＯＰorg、参照される原画像をＯＰref、原画像ＯＰorgの縮小画像をＳＰorg、原画像ＯＰrefの縮小画像をＳＰrefと表記する。図４の例では、縮小画像ＳＰorgに被写体Ｖｈが含まれており、被写体Ｖｈの一部を含む画素ブロックＢＬSOが符号化対象の画素ブロックに設定されている。つまり、画素ブロックＢＬSOは、原画像ＯＰorgにおける符号化対象の画素ブロックＢＬOOに対応する画素ブロックである。
【００５０】
図４の例において、動画像符号化装置１１０は、縮小画像ＳＰrefを参照し、画素ブロックＢＬSOに類似する画素ブロックを探索する。例えば、動画像符号化装置１１０は、縮小画像ＳＰrefの中で探索範囲ＡＳを設定し、探索範囲ＡＳ内で画素ブロックＢＬSOに対する符号化コスト（例えば、ＳＡＤなど）が最小となる画素ブロックＢＬSRを探索する。なお、以下では、縮小ＭＥにより特定された画素ブロック（図４の例ではＢＬSR）を探索起点と呼ぶ場合がある。
【００５１】
動画像符号化装置１１０は、探索起点となる画素ブロックＢＬSRに対応する原画像ＯＰrefの画素ブロックＢＬORを特定し、画素ブロックＢＬORを基準に探索範囲ＡOを設定する。探索範囲ＡOは、例えば、画素ブロックＢＬORの周囲に予め設定された画素分のマージン（例えば、８画素など）を追加した範囲に設定される。動画像符号化装置１１０は、探索範囲ＡOの中で等倍ＭＥを実行し、原画像ＯＰorgの画素ブロックＢＬOOに対する符号化コストが最小となる画素ブロックＢＬORを特定する。
【００５２】
上記のように、動画像符号化装置１１０は、縮小ＭＥで求めた探索起点を基準に等倍ＭＥで用いる探索範囲ＡOを設定し、等倍ＭＥを実行して探索範囲ＡOの中から画素ブロックＢＬORを特定する。上記階層型ＭＥによれば、等倍ＭＥでの探索範囲が制限されることでＭＥの処理負荷が低減されると共に、原画像を用いて等倍ＭＥが実行されることで縮小ＭＥよりも精度の高い動きベクトルＭＶの検出が可能になる。以下では、上記の階層型ＭＥを例に、第２実施形態に係る動画像符号化装置１１０の機能について説明する。
【００５３】
（２−２−２．要素）
次に、図５を参照しながら、動画像符号化装置１１０が有する機能について、さらに説明する。なお、図５は、第２実施形態に係る動画像符号化装置が有する機能の一例を示したブロック図である。
【００５４】
図５に示すように、動画像符号化装置１１０は、縮小ＭＥ部１１１、参照画像管理部１１２、原画像管理部１１３、等倍ＭＥ部１１４、動き補償部１１５、フレーム内予測部１１６、予測画像選択部１１７を有する。さらに、動画像符号化装置１１０は、誤差画像生成部１１８、直交変換・量子化部１１９、逆量子化・逆変換部１２０、デブロッキングフィルタ１２１、及びエントロピー符号化部１２２を有する。
【００５５】
なお、縮小ＭＥ部１１１、等倍ＭＥ部１１４、動き補償部１１５、フレーム内予測部１１６、予測画像選択部１１７、及び誤差画像生成部１１８の機能は、上述したＣＰＵ９０２などを用いて実現できる。また、直交変換・量子化部１１９、逆量子化・逆変換部１２０、デブロッキングフィルタ１２１、及びエントロピー符号化部１２２の機能は、上述したＣＰＵ９０２などを用いて実現できる。また、参照画像管理部１１２、原画像管理部１１３の機能は、上述したＣＰＵ９０２及び上述したＲＡＭ９０６を用いて実現できる。
【００５６】
動画像符号化装置１１０は、メモリインターフェース１３０を介して外部メモリ１５０に接続されている。メモリインターフェース１３０は、例えば、上述したホストバス９０８、ブリッジ９１０、インターフェース９１４などである。また、外部メモリ１５０は、例えば、記憶部９２０などである。なお、ここでは説明の都合上、動画像符号化装置１１０が有する読み出し速度の速いメモリをＲＡＭ９０６とし、外部メモリ１５０を、ＲＡＭ９０６に比べて読み出し速度が遅く大容量の記憶部９２０としている。但し、第２実施形態に係る技術の適用範囲はこれに限定されない。
【００５７】
外部メモリ１５０には、例えば、動画像に含まれる複数の原画像Ｐ３、及び原画像Ｐ３の縮小画像Ｐ１が格納されている。なお、縮小ＭＥ部１１１が原画像Ｐ３から縮小画像Ｐ１を逐一生成する仕組みにしてもよい。縮小ＭＥ部１１１は、メモリインターフェース１３０を介して外部メモリ１５０から縮小画像Ｐ１を読み出して縮小ＭＥを実行する。縮小ＭＥにより得られた探索起点の情報Ｑ１（例えば、動きベクトル、符号化コストなど）は、参照画像管理部１１２に入力される。
【００５８】
参照画像管理部１１２は、縮小ＭＥ部１１１から入力された情報Ｑ１に基づき、等倍ＭＥに利用する探索範囲を特定し、探索範囲の画像データとして新たに外部メモリ１５０から読み出す画像データのデータ量を計算する。参照画像管理部１１２は、新たに読み出す画像データのデータ量が、予め設定された閾値（以下、目標帯域）より小さい場合、探索範囲が拡大されるように探索起点を追加する。
【００５９】
目標帯域は、外部メモリ１５０から画像データを読み出す際に占有する帯域として許容される帯域に基づいて設定される。例えば、符号化の単位として設定された画素ブロックを符号化する際に、探索範囲の画像データとして一度に読み出される画像データのデータ量の上限を予め設定しておき、上限の値が目標帯域に設定される。なお、参照画像管理部１１２の機能については後段において詳述する。
【００６０】
参照画像管理部１１２は、探索範囲として特定された参照画像Ｐ２の画像データを外部メモリ１５０から読み出す。そして、参照画像管理部１１２は、外部メモリ１５０から読み出した参照画像Ｐ２の画像データを保持する。また、参照画像管理部１１２は、参照画像Ｐ２の画像データ及び探索起点の情報Ｑ２を等倍ＭＥ部１１４に入力する。
【００６１】
原画像管理部１１３は、符号化の対象となる原画像Ｐ３を外部メモリ１５０から読み出す。そして、原画像管理部１１３は、外部メモリ１５０から読み出した原画像Ｐ３を保持する。また、原画像管理部１１３は、原画像Ｐ３を等倍ＭＥ部１１４、誤差画像生成部１１８、フレーム内予測部１１６に入力する。
【００６２】
等倍ＭＥ部１１４は、参照画像管理部１１２から入力された情報Ｑ２に基づいて等倍ＭＥを実行する。そして、等倍ＭＥ部１１４は、等倍ＭＥにより特定した動きベクトルを動き補償部１１５に入力する。動き補償部１１５は、等倍ＭＥ部１１４から入力された動きベクトルを利用してＭＣ（Motion Compensation）を実行する。そして、動き補償部１１５は、ＭＣにより生成したフレーム間予測画像Ｐ４を予測画像選択部１１７に入力する。
【００６３】
フレーム内予測部１１６は、原画像管理部１１３から入力された原画像についてフレーム内予測符号化を実行する。フレーム内予測符号化は、１枚の画像内で符号化対象の画素を、その画素の周囲にある画素から予測して符号化する方法である。フレーム内予測部１１６は、フレーム内予測符号化により生成したフレーム内予測画像Ｐ５を予測画像選択部１１７に入力する。
【００６４】
予測画像選択部１１７は、フレーム間予測画像Ｐ４又はフレーム内予測画像Ｐ５を選択する。例えば、予測画像選択部１１７は、符号化対象の画像がＩピクチャ又はこれに相当する画像である場合、フレーム内予測画像Ｐ５を選択する。一方、予測画像選択部１１７は、符号化対象の画像がＰピクチャ、Ｂピクチャ又はこれらに相当する画像である場合、フレーム間予測画像Ｐ４を選択する。そして、予測画像選択部１１７は、選択した画像を誤差画像生成部１１８、逆量子化・逆変換部１２０に入力する。
【００６５】
誤差画像生成部１１８は、原画像管理部１１３から入力された画像と、予測画像選択部１１７から入力された画像との差分である誤差画像を生成する。そして、誤差画像生成部１１８は、生成した誤差画像を直交変換・量子化部１１９に入力する。直交変換・量子化部１１９は、誤差画像生成部１１８から入力された誤差画像に対し、直交変換を施して周波数領域の信号に変換し、変換後の信号を量子化して量子化信号を生成する。
【００６６】
直交変換・量子化部１１９は、生成した量子化信号を逆量子化・逆変換部１２０、エントロピー符号化部１２２に入力する。逆量子化・逆変換部１２０は、直交変換・量子化部１１９から入力された量子化信号を逆量子化し、逆量子化した信号に対して逆変換を施して誤差画像を復元した再構成画像を生成する。そして、逆量子化・逆変換部１２０は、再構成画像をフレーム内予測部１１６、デブロッキングフィルタ１２１に入力する。
【００６７】
デブロッキングフィルタ１２１は、再構成画像に対し、整数変換のブロック境界を平滑化してブロックノイズの発生を抑制する処理を実行する。そして、デブロッキングフィルタ１２１は、処理後の再構成画像を参照画像Ｐ７として外部メモリ１５０に格納する。エントロピー符号化部１２２は、直交変換・量子化部１１９から入力された量子化信号をエントロピー符号化する。そして、エントロピー符号化部１２２は、エントロピー符号化により生成された符号化ストリームＱ３を外部メモリ１５０に格納する。
【００６８】
（２−２−３．参照画像管理部１１２の機能）
ここで、図６を参照しながら、参照画像管理部１１２の機能について、さらに説明する。図６は、第２実施形態に係る参照画像管理部が有する機能の一例を示したブロック図である。
【００６９】
図６に示すように、参照画像管理部１１２は、縮小ＭＥ結果記憶部１１２１、使用帯域計算部１１２２、サブ矩形抽出部１１２３、隣接探索起点決定部１１２４、及び参照画像記憶部１１２５を含む。
【００７０】
縮小ＭＥ結果記憶部１１２１は、縮小ＭＥ部１１１による縮小ＭＥの結果として得られた動きベクトル及び符号化コストの情報を記憶する。使用帯域計算部１１２２は、縮小ＭＥ結果記憶部１１２１が記憶している動きベクトルから探索起点となる画素ブロックを特定する。また、使用帯域計算部１１２２は、等倍ＭＥの実行時に外部メモリ１５０から探索起点として新たに読み出される画像データのデータ量を特定する。そして、使用帯域計算部１１２２は、特定したデータ量から使用帯域を計算する。
【００７１】
使用帯域計算部１１２２により計算された使用帯域の情報は、縮小ＭＥ結果記憶部１１２１に格納される。サブ矩形抽出部１１２３は、使用帯域計算部１１２２により計算された使用帯域と、予め設定された目標帯域とを比較する。使用帯域が目標帯域より小さい場合、サブ矩形抽出部１１２３は、縮小ＭＥ結果記憶部１１２１に格納された符号化コストに基づいて探索起点の追加時に参照する画素ブロック（以下、サブ矩形）を抽出する。サブ矩形抽出部１１２３は、サブ矩形の情報を隣接探索起点決定部１１２４に入力する。
【００７２】
隣接探索起点決定部１１２４は、サブ矩形抽出部１１２３が抽出したサブ矩形に隣接する他のサブ矩形（以下、隣接サブ矩形）を抽出する。また、隣接探索起点決定部１１２４は、符号化コストに基づいて隣接サブ矩形の中から、探索起点の追加時に参照する隣接サブ矩形を特定する。そして、隣接探索起点決定部１１２４は、追加する探索起点として、特定した隣接サブ矩形の動きベクトルを用いてサブ矩形を基準に特定される探索起点を決定する。
【００７３】
隣接探索起点決定部１１２４により決定された探索起点の情報は、縮小ＭＥ結果記憶部１１２１に格納される。探索起点が追加されると、使用帯域計算部１１２２により使用帯域が再び計算され、サブ矩形抽出部１１２３により使用帯域と目標帯域とが比較され、比較結果に応じて隣接探索起点決定部１１２４により探索起点が追加される。このように、使用帯域が目標帯域より小さくなる範囲内で探索起点の追加処理が実行される。
【００７４】
参照画像記憶部１１２５は、最終的に縮小ＭＥ結果記憶部１１２１に格納された探索起点のうち、既に参照画像記憶部１１２５に格納されている画素ブロックの画像データを除いた部分の画像データを外部メモリ１５０から読み出して記憶する。なお、参照画像記憶部１１２５に画像データが格納される期間は、記憶容量などに応じて任意に設定することができるが、例えば、１つの動画フレームについて処理が終了するまでの期間などに設定される。
【００７５】
以上、動画像符号化装置１１０の機能について説明した。
［２−３．動画像符号化装置１１０の動作］
次に、図７及び図８を参照しながら、動画像符号化装置１１０の動作について説明する。但し、動画像符号化装置１１０が実行する動作のうち参照画像管理部１１２の機能に関する処理の流れについて主に説明する。なお、図７は、第２実施形態に係る動画像符号化装置が実行する処理の流れを示した第１のフロー図である。図８は、第２実施形態に係る動画像符号化装置が実行する処理の流れを示した第２のフロー図である。
【００７６】
また、説明の中で、図９〜図１２を参照する。図９は、第２実施形態に係る動画像符号化処理の中で縮小ＭＥ部から参照画像管理部に入力される情報の一例を示した図である。図１０は、第２実施形態に係る動画像符号化処理のうち参照範囲の計算に関する処理について説明するための図である。図１１は、第２実施形態に係る動画像符号化処理のうち使用帯域の計算に関する処理について説明するための図である。図１２は、第２実施形態に係る動画像符号化処理のうち探索起点の追加に関する処理について説明するための図である。
【００７７】
（Ｓ１０１）縮小ＭＥ結果記憶部１１２１は、縮小ＭＥ部１１１から入力された情報（縮小ＭＥ結果）を記憶する。縮小ＭＥ部１１１から入力される情報としては、例えば、図９に示すように、符号化対象の画素ブロックを分割する際の分割方法の情報、符号化コストの情報、動きベクトルの情報などがある。
【００７８】
図９の例では、符号化の単位とする画素ブロックをＡ１１、Ａ２１、…、Ａ２４、Ａ３１、…、Ａ３４、Ａ４１のサブ矩形に分割する分割方法が示されている。符号化の単位は、例えば、ＭＢ（Macro Block）やＣＴＵ（Coding Tree Unit）などに設定される。一例として、符号化の単位をＣＴＵに設定した場合、サブ矩形は、ＣＵ（Coding Unit）になる。符号化コストは、例えば、ＳＡＤなどである。
【００７９】
上記の符号化コストは縮小ＭＥの際に得られたものである。また、図９には動きベクトルＶ１１、Ｖ２１、…、Ｖ２４、Ｖ３１、…、Ｖ３４、Ｖ４１が記載されているが、いずれも縮小ＭＥで得られた動きベクトルである。動きベクトルＶ１１、Ｖ２１、…、Ｖ２４、Ｖ３１、…、Ｖ３４、Ｖ４１は、それぞれサブ矩形Ａ１１、Ａ２１、…、Ａ２４、Ａ３１、…、Ａ３４、Ａ４１に対応する。
【００８０】
（Ｓ１０２）使用帯域計算部１１２２は、縮小ＭＥ結果記憶部１１２１が記憶している縮小ＭＥ結果に基づいて使用帯域を計算する。
例えば、使用帯域計算部１１２２は、図１０に示すような方法で使用帯域を計算する。使用帯域計算部１１２２は、縮小ＭＥ結果のうち動きベクトルＶ１１、Ｖ２１、…、Ｖ２４、Ｖ３１、…、Ｖ３４、Ｖ４１を用いて探索起点ＲＡ１１、ＲＡ２１、…、ＲＡ２４、ＲＡ３１、…、ＲＡ３４、ＲＡ４１を特定する。探索起点ＲＡ１１、ＲＡ２１、…は、それぞれ動きベクトルＶ１１、Ｖ２１、…により特定される画素ブロックである。
【００８１】
また、使用帯域計算部１１２２は、参照画像記憶部１１２５に既に格納済みの参照画像領域（既存の参照画像領域）を特定する。そして、使用帯域計算部１１２２は、探索起点ＲＡ１１、ＲＡ２１、…と、既存の参照画像領域とが重複しない範囲を特定する。図１０の例では、探索起点ＲＡ２１が原画像ＯＰref2に含まれる。この場合、使用帯域計算部１１２２は、参照画像領域として過去に外部メモリ１５０から読み出され、参照画像記憶部１１２５に格納済みの原画像ＯＰref2の領域を特定する。
【００８２】
図１０の例では、探索起点ＲＡ１１の一部が既存の参照画像領域と重複しているため、使用帯域計算部１１２２は、その重複部分を除いた部分を重複しない範囲として特定する。同様に、使用帯域計算部１１２２は、探索起点ＲＡ１１、ＲＡ２１、…、ＲＡ２４、ＲＡ３１、…、ＲＡ３４、ＲＡ４１について、既存の参照画像領域と重複しない範囲を特定する。使用帯域計算部１１２２により特定された「重複しない範囲」が、等倍ＭＥの際に新たに外部メモリ１５０から画像データを読み出す範囲となる。
【００８３】
図１０に例示した探索起点ＲＡ１１、ＲＡ２１、…、ＲＡ２４、ＲＡ３１、…、ＲＡ３４、ＲＡ４１の場合、図１１でハッチングを施して表示した範囲が、新たに外部メモリ１５０から読み出される範囲となる。使用帯域計算部１１２２は、上記の重複しない範囲のデータ量に基づく指標（例えば、該当範囲の面積）を計算する。
【００８４】
なお、面積が大きいほどデータ量は大きくなるため、該当範囲の面積は、重複しない範囲のデータ量に対応する。また、等倍ＭＥの際に符号化単位毎に外部メモリ１５０から上記重複しない範囲の画像データが一度に読み出されるとし、単位時間当たりに処理される符号化単位の量がある程度決まっているとすれば、符号化単位当たりのデータ量は、使用帯域に対応する。つまり、等倍ＭＥの際に外部メモリ１５０から画像データを読み出す際に占有される使用帯域は、上記重複しない範囲の面積により評価できる。
【００８５】
上記の理由により、使用帯域計算部１１２２は、上記重複しない範囲（例えば、図１１のハッチングを施した範囲）の面積を使用帯域として計算する。
（Ｓ１０３）サブ矩形抽出部１１２３は、インデックスＮを１に設定する。
【００８６】
（Ｓ１０４）サブ矩形抽出部１１２３は、処理対象として、符号化コストがＮ番目に大きいサブ矩形を選択する。図１２（Ａ）の例において、符号化コストが１番目に大きいサブ矩形は、符号化コストが８０のサブ矩形Ａ３２である。この場合、サブ矩形抽出部１１２３は、符号化対象としてサブ矩形Ａ３２を選択する。
【００８７】
（Ｓ１０５）隣接探索起点決定部１１２４は、Ｓ１０４で処理対象として選択されたサブ矩形を基準に隣接サブ矩形を抽出する。図１２（Ａ）の例において、サブ矩形Ａ３２に隣接するサブ矩形は、サブ矩形Ａ１１、Ａ２３、Ａ３１、Ａ３３、Ａ３４、Ａ４１である。この場合、隣接探索起点決定部１１２４は、隣接サブ矩形として、サブ矩形Ａ１１、Ａ２３、Ａ３１、Ａ３３、Ａ３４、Ａ４１を抽出する。
【００８８】
（Ｓ１０６）隣接探索起点決定部１１２４は、Ｓ１０５で抽出した隣接サブ矩形を符号化コストが小さい順にソートする。図１２の例では、符号化コストが小さい順に、サブ矩形Ａ３４、Ａ２３、Ａ４１、Ａ３３、Ａ１１、Ａ３１と並べられることになる。
【００８９】
（Ｓ１０７）隣接探索起点決定部１１２４は、Ｓ１０６でソートした隣接サブ矩形の中から符号化コストが最小の隣接サブ矩形を選択する。図１２の例では、（Ｂ）にハッチングを施して表現したサブ矩形Ａ３４が最小コストの隣接サブ矩形として選択される。Ｓ１０７の処理が完了すると、処理は、図８のＳ１０８へと進む。
【００９０】
（Ｓ１０８）隣接探索起点決定部１１２４は、Ｓ１０７で選択された隣接サブ矩形に対応する動きベクトルを縮小ＭＥ結果から抽出する。そして、隣接探索起点決定部１１２４は、抽出した動きベクトルに基づいて探索起点を特定する。例えば、隣接探索起点決定部１１２４は、図１２（Ｃ）に示すように、サブ矩形Ａ３２を基準とし、Ｓ１０７の処理で隣接サブ矩形として選択したサブ矩形Ａ３４の動きベクトルＶ３４が指し示す探索起点ＲＡ３２ｎを特定する。
【００９１】
（Ｓ１０９）隣接探索起点決定部１１２４は、Ｓ１０８で特定した探索起点を追加する。例えば、図１２（Ｃ）に示すように、Ｓ１０８の処理で探索起点Ａ３２ｎが特定された場合、隣接探索起点決定部１１２４は、探索起点Ａ３２ｎを処理対象に加える。この場合、サブ矩形Ａ３４に対応する探索起点は探索起点Ａ３２、Ａ３２ｎとなる。
【００９２】
（Ｓ１１０）使用帯域計算部１１２２は、Ｓ１０９で追加した探索起点を考慮して使用帯域を再計算する。例えば、Ｓ１０９の処理で探索起点Ａ３２ｎが加えられた場合、使用帯域計算部１１２２は、探索起点ＲＡ１１、ＲＡ２１、…、ＲＡ２４、ＲＡ３１、ＲＡ３２、ＲＡ３２ｎ、…、ＲＡ３４、ＲＡ４１を対象に、図１１に例示した方法と同様にして使用帯域を計算する。但し、使用帯域計算部１１２２は、図１２（Ｄ）に示すように、新たに追加した探索起点Ａ３２ｎについて、重複しない範囲として追加される範囲の使用帯域を計算し、探索起点Ａ３２ｎの追加前に計算した使用帯域に加算してもよい。
【００９３】
（Ｓ１１１）使用帯域計算部１１２２は、Ｓ１１０で計算した使用帯域が目標帯域以下であるか否かを判定する。目標帯域は、外部メモリ１５０の読み出し速度に基づいて予め設定された帯域である。Ｓ１１０で計算した使用帯域が目標帯域以下である場合、処理はＳ１１３へと進む。一方、Ｓ１１０で計算した使用帯域が目標帯域以下でない場合、処理はＳ１１２へと進む。
【００９４】
（Ｓ１１２）使用帯域計算部１１２２は、Ｓ１０９で追加された探索起点を削除する。例えば、探索起点Ａ３２ｎが追加されていた場合には、探索起点Ａ３２ｎが削除される。Ｓ１１２の処理が完了すると、処理はＳ１１３へと進む。
【００９５】
（Ｓ１１３）隣接探索起点決定部１１２４は、Ｓ１０４で選択したサブ矩形について、Ｓ１０５で抽出した隣接サブ矩形のうち未選択の隣接サブ矩形があるか否かを判定する。未選択の隣接サブ矩形がある場合、処理はＳ１１４へと進む。一方、未選択の隣接サブ矩形がない場合、処理はＳ１１５へと進む。
【００９６】
（Ｓ１１４）隣接探索起点決定部１１２４は、未選択の隣接サブ矩形のうち次に符号化コストが小さい隣接サブ矩形を選択する。図１２の例において、サブ矩形Ａ３４の次に符号化コストが小さい未選択の隣接サブ矩形はサブ矩形Ａ２３である。この場合、隣接探索起点決定部１１２４は、隣接サブ矩形としてサブ矩形Ａ２３を選択する。Ｓ１１４の処理が完了すると、処理はＳ１０８へと進む。
【００９７】
（Ｓ１１５）サブ矩形抽出部１１２３は、インデックスＮを１増加させる。
（Ｓ１１６）サブ矩形抽出部１１２３は、Ｎがサブ矩形数より大きいか否かを判定する。図９〜図１２の例において、サブ矩形数は１０である。この場合、サブ矩形抽出部１１２３は、Ｎが１０より大きいか否かを判定する。Ｎがサブ矩形数より大きい場合、処理はＳ１１７へと進む。一方、Ｎが１０より大きくない場合、処理は図７のＳ１０４へと進む。
【００９８】
（Ｓ１１７）縮小ＭＥ結果記憶部１１２１は、縮小ＭＥ結果に対応する探索起点の情報を等倍ＭＥ部１１４に出力する。Ｓ１１７の処理が完了すると、図７及び図８に示した一連の処理は終了する。
【００９９】
以上、動画像符号化装置１１０の動作について説明した。上記のように、使用帯域が目標帯域より小さい場合、探索起点を追加することで、等倍ＭＥの際に動きベクトルを探索する範囲を拡げることが可能になり、動きベクトルの探索精度が向上する。また、符号化コストが最大のサブ矩形から順に、最小コストの隣接サブ矩形の動きベクトルに基づく探索起点を追加することで、動きベクトルの探索精度を高めることができる。
【０１００】
［２−４．変形例］
次に、第２実施形態の変形例について説明する。
（２−４−１．変形例＃１）
図１３を参照しながら、第２実施形態の一変形例（変形例＃１）について説明する。変形例＃１は、１つのサブ矩形について追加する探索起点を最小コストの隣接サブ矩形に対応する探索起点に限定する変形例である。なお、図１３は、第２実施形態の一変形例（変形例＃１）に係る動画像符号化装置が実行する処理の流れを示したフロー図である。
【０１０１】
図７及び図８に示した処理と変形例＃１に係る処理との違いは、図８に示したＳ１０８〜Ｓ１１７の部分にある。つまり、図７に示したＳ１０１〜Ｓ１０７の処理は、変形例＃１においても同じである。そのため、図８に示した処理に対応する変形例＃１に係る処理だけを図１３に示した。従って、変形例＃１に係る動画像符号化装置１１０は、図７に示したＳ１０７の処理が完了した後、図１３に示した処理を実行する。
【０１０２】
図１３を参照する。
（Ｓ２０１）隣接探索起点決定部１１２４は、Ｓ１０７で選択された隣接サブ矩形に対応する動きベクトルを縮小ＭＥ結果から抽出する。そして、隣接探索起点決定部１１２４は、抽出した動きベクトルに基づいて探索起点を特定する。例えば、隣接探索起点決定部１１２４は、図１２（Ｃ）に示すように、サブ矩形Ａ３２を基準とし、Ｓ１０７の処理で隣接サブ矩形として選択したサブ矩形Ａ３４の動きベクトルＶ３４が指し示す探索起点ＲＡ３２ｎを特定する。
【０１０３】
（Ｓ２０２）隣接探索起点決定部１１２４は、Ｓ２０１で特定した探索起点を追加する。例えば、図１２（Ｃ）に示すように、Ｓ２０１の処理で探索起点Ａ３２ｎが特定された場合、隣接探索起点決定部１１２４は、探索起点Ａ３２ｎを処理対象に加える。この場合、サブ矩形Ａ３４に対応する探索起点は探索起点Ａ３２、Ａ３２ｎとなる。
【０１０４】
（Ｓ２０３）使用帯域計算部１１２２は、Ｓ２０２で追加した探索起点を考慮して使用帯域を再計算する。例えば、Ｓ２０２の処理で探索起点Ａ３２ｎが加えられた場合、使用帯域計算部１１２２は、探索起点ＲＡ１１、ＲＡ２１、…、ＲＡ２４、ＲＡ３１、ＲＡ３２、ＲＡ３２ｎ、…、ＲＡ３４、ＲＡ４１を対象に、図１１に例示した方法と同様にして使用帯域を計算する。但し、使用帯域計算部１１２２は、図１２（Ｄ）に示すように、新たに追加した探索起点Ａ３２ｎについて、重複しない範囲として追加される範囲の使用帯域を計算し、探索起点Ａ３２ｎの追加前に計算した使用帯域に加算してもよい。
【０１０５】
（Ｓ２０４）使用帯域計算部１１２２は、Ｓ２０３で計算した使用帯域が目標帯域以下であるか否かを判定する。目標帯域は、外部メモリ１５０の読み出し速度に基づいて予め設定された帯域である。Ｓ２０３で計算した使用帯域が目標帯域以下である場合、処理はＳ２０６へと進む。一方、Ｓ２０３で計算した使用帯域が目標帯域以下でない場合、処理はＳ２０５へと進む。
【０１０６】
（Ｓ２０５）使用帯域計算部１１２２は、Ｓ２０２で追加された探索起点を削除する。例えば、探索起点Ａ３２ｎが追加されていた場合には、探索起点Ａ３２ｎが削除される。Ｓ２０５の処理が完了すると、処理はＳ２０６へと進む。
【０１０７】
（Ｓ２０６）サブ矩形抽出部１１２３は、インデックスＮを１増加させる。
（Ｓ２０７）サブ矩形抽出部１１２３は、Ｎがサブ矩形数より大きいか否かを判定する。図９〜図１２の例において、サブ矩形数は１０である。この場合、サブ矩形抽出部１１２３は、Ｎが１０より大きいか否かを判定する。Ｎがサブ矩形数より大きい場合、処理はＳ２０８へと進む。一方、Ｎが１０より大きくない場合、処理は図７のＳ１０４へと進む。
【０１０８】
（Ｓ２０８）縮小ＭＥ結果記憶部１１２１は、縮小ＭＥ結果に対応する探索起点の情報を等倍ＭＥ部１１４に出力する。Ｓ２０８の処理が完了すると、図１３（及び図７）に示した一連の処理は終了する。
【０１０９】
以上、第２実施形態の一変形例（変形例＃１）について説明した。変形例＃１によれば、隣接サブ矩形の選択及び使用帯域の計算などにかかる処理負荷を低減することができ、探索起点の決定にかかる処理を高速化できる。
【０１１０】
（２−４−２．変形例＃２）
次に、図１４及び図１５を参照しながら、第２実施形態の一変形例（変形例＃２）について説明する。変形例＃２は、サブ矩形と隣接サブ矩形との間で符号化コストの差を求め、その差が閾値以上となる隣接サブ矩形を利用するものである。
【０１１１】
なお、図１４は、第２実施形態の一変形例（変形例＃２）に係る動画像符号化装置が実行する処理の流れを示した第１のフロー図である。また、図１５は、第２実施形態の一変形例（変形例＃２）に係る動画像符号化装置が実行する処理の流れを示した第２のフロー図である。
【０１１２】
図７及び図８に示した処理と変形例＃２に係る処理との違いは、図８に示したＳ１０８〜Ｓ１１７の部分にある。つまり、図７に示したＳ１０１〜Ｓ１０７の処理は、変形例＃２においても同じである。そのため、図８に示した処理に対応する変形例＃２に係る処理だけを図１４及び図１５に示した。従って、変形例＃２に係る動画像符号化装置１１０は、図７に示したＳ１０７の処理が完了した後、図１４及び図１５に示した処理を実行する。
【０１１３】
図１４を参照する。
（Ｓ２２１）隣接探索起点決定部１１２４は、Ｓ１０７で選択された隣接サブ矩形に対応する動きベクトルを縮小ＭＥ結果から抽出する。そして、隣接探索起点決定部１１２４は、抽出した動きベクトルに基づいて探索起点を特定する。例えば、隣接探索起点決定部１１２４は、図１２（Ｃ）に示すように、サブ矩形Ａ３２を基準とし、Ｓ１０７の処理で隣接サブ矩形として選択したサブ矩形Ａ３４の動きベクトルＶ３４が指し示す探索起点ＲＡ３２ｎを特定する。
【０１１４】
（Ｓ２２２）隣接探索起点決定部１１２４は、Ｓ２２１で特定した探索起点を追加する。例えば、図１２（Ｃ）に示すように、Ｓ２２１の処理で探索起点Ａ３２ｎが特定された場合、隣接探索起点決定部１１２４は、探索起点Ａ３２ｎを処理対象に加える。この場合、サブ矩形Ａ３４に対応する探索起点は探索起点Ａ３２、Ａ３２ｎとなる。
【０１１５】
（Ｓ２２３）使用帯域計算部１１２２は、Ｓ２２２で追加した探索起点を考慮して使用帯域を再計算する。例えば、Ｓ２２２の処理で探索起点Ａ３２ｎが加えられた場合、使用帯域計算部１１２２は、探索起点ＲＡ１１、ＲＡ２１、…、ＲＡ２４、ＲＡ３１、ＲＡ３２、ＲＡ３２ｎ、…、ＲＡ３４、ＲＡ４１を対象に、図１１に例示した方法と同様にして使用帯域を計算する。但し、使用帯域計算部１１２２は、図１２（Ｄ）に示すように、新たに追加した探索起点Ａ３２ｎについて、重複しない範囲として追加される範囲の使用帯域を計算し、探索起点Ａ３２ｎの追加前に計算した使用帯域に加算してもよい。
【０１１６】
（Ｓ２２４）使用帯域計算部１１２２は、Ｓ２２３で計算した使用帯域が目標帯域以下であるか否かを判定する。目標帯域は、外部メモリ１５０の読み出し速度に基づいて予め設定された帯域である。Ｓ２２３で計算した使用帯域が目標帯域以下である場合、処理は図１５のＳ２２６へと進む。一方、Ｓ２２３で計算した使用帯域が目標帯域以下でない場合、処理はＳ２２５へと進む。
【０１１７】
（Ｓ２２５）使用帯域計算部１１２２は、Ｓ２２２で追加された探索起点を削除する。例えば、探索起点Ａ３２ｎが追加されていた場合には、探索起点Ａ３２ｎが削除される。Ｓ２２５の処理が完了すると、処理は図１５のＳ２２６へと進む。
【０１１８】
（Ｓ２２６）隣接探索起点決定部１１２４は、Ｓ１０４で選択したサブ矩形について、Ｓ１０５で抽出した隣接サブ矩形のうち未選択の隣接サブ矩形があるか否かを判定する。未選択の隣接サブ矩形がある場合、処理はＳ２２７へと進む。一方、未選択の隣接サブ矩形がない場合、処理はＳ２３０へと進む。
【０１１９】
（Ｓ２２７）隣接探索起点決定部１１２４は、未選択の隣接サブ矩形のうち次に符号化コストが小さい隣接サブ矩形を選択する。図１２の例において、サブ矩形Ａ３４の次に符号化コストが小さい未選択の隣接サブ矩形はサブ矩形Ａ２３である。この場合、隣接探索起点決定部１１２４は、隣接サブ矩形としてサブ矩形Ａ２３を選択する。
【０１２０】
（Ｓ２２８）隣接探索起点決定部１１２４は、サブ矩形の符号化コストと、Ｓ２２７で選択した隣接サブ矩形の符号化コストとの差を計算する。なお、符号化コストの差が大きいほど、隣接サブ矩形の符号化コストが小さいことになる。
【０１２１】
（Ｓ２２９）隣接探索起点決定部１１２４は、Ｓ２２８で計算した符号化コストの差が予め設定された閾値以上であるか否かを判定する。この閾値は任意に設定可能である。符号化コストの差が閾値以上である場合、処理はＳ２３０へと進む。一方、符号化コストの差が閾値以上でない場合、処理は図１４のＳ２２１へと進む。
【０１２２】
（Ｓ２３０）サブ矩形抽出部１１２３は、インデックスＮを１増加させる。
（Ｓ２３１）サブ矩形抽出部１１２３は、Ｎがサブ矩形数より大きいか否かを判定する。図９〜図１２の例において、サブ矩形数は１０である。この場合、サブ矩形抽出部１１２３は、Ｎが１０より大きいか否かを判定する。Ｎがサブ矩形数より大きい場合、処理はＳ２３２へと進む。一方、Ｎが１０より大きくない場合、処理は図７のＳ１０４へと進む。
【０１２３】
（Ｓ２３２）縮小ＭＥ結果記憶部１１２１は、縮小ＭＥ結果に対応する探索起点の情報を等倍ＭＥ部１１４に出力する。Ｓ２３２の処理が完了すると、図１４及び図１５（及び図７）に示した一連の処理は終了する。
【０１２４】
以上、第２実施形態の一変形例（変形例＃２）について説明した。変形例＃２によれば、隣接サブ矩形のうち、サブ矩形より十分に符号化コストの小さい隣接サブ矩形の動きベクトルが探索起点の追加に利用される。そのため、ある程度高い精度で動きベクトルを検出できる探索起点に限って追加されることになる。その結果、等倍ＭＥにおける処理負荷の増大を抑制しつつ、より効果的に動きベクトルの探索精度を高めることができる。
【０１２５】
（２−４−３．変形例＃３）
次に、図１６及び図１７を参照しながら、第２実施形態の一変形例（変形例＃３）について説明する。変形例＃３は、符号化コストが閾値以上となるサブ矩形に限り隣接サブ矩形の動きベクトルに基づく探索起点を追加するものである。
【０１２６】
なお、図１６は、第２実施形態の一変形例（変形例＃３）に係る動画像符号化装置が実行する処理の流れを示した第１のフロー図である。また、図１７は、第２実施形態の一変形例（変形例＃３）に係る動画像符号化装置が実行する処理の流れを示した第２のフロー図である。
【０１２７】
（Ｓ３０１）縮小ＭＥ結果記憶部１１２１は、縮小ＭＥ部１１１から入力された情報（縮小ＭＥ結果）を記憶する。縮小ＭＥ部１１１から入力される情報としては、例えば、図９に示すように、符号化対象の画素ブロックを分割する際の分割方法の情報、符号化コストの情報、動きベクトルの情報などがある。
【０１２８】
図９の例では、符号化の単位とする画素ブロックをＡ１１、Ａ２１、…、Ａ２４、Ａ３１、…、Ａ３４、Ａ４１のサブ矩形に分割する分割方法が示されている。符号化の単位は、例えば、ＭＢやＣＴＵなどに設定される。一例として、符号化の単位をＣＴＵに設定した場合、サブ矩形は、ＣＵになる。符号化コストは、例えば、ＳＡＤなどである。
【０１２９】
上記の符号化コストは縮小ＭＥの際に得られたものである。また、図９には動きベクトルＶ１１、Ｖ２１、…、Ｖ２４、Ｖ３１、…、Ｖ３４、Ｖ４１が記載されているが、いずれも縮小ＭＥで得られた動きベクトルである。動きベクトルＶ１１、Ｖ２１、…、Ｖ２４、Ｖ３１、…、Ｖ３４、Ｖ４１は、それぞれサブ矩形Ａ１１、Ａ２１、…、Ａ２４、Ａ３１、…、Ａ３４、Ａ４１に対応する。
【０１３０】
（Ｓ３０２）使用帯域計算部１１２２は、縮小ＭＥ結果記憶部１１２１が記憶している縮小ＭＥ結果に基づいて使用帯域を計算する。
例えば、使用帯域計算部１１２２は、図１０に示すような方法で使用帯域を計算する。使用帯域計算部１１２２は、縮小ＭＥ結果のうち動きベクトルＶ１１、Ｖ２１、…、Ｖ２４、Ｖ３１、…、Ｖ３４、Ｖ４１を用いて探索起点ＲＡ１１、ＲＡ２１、…、ＲＡ２４、ＲＡ３１、…、ＲＡ３４、ＲＡ４１を特定する。探索起点ＲＡ１１、ＲＡ２１、…は、それぞれ動きベクトルＶ１１、Ｖ２１、…により特定される画素ブロックである。
【０１３１】
また、使用帯域計算部１１２２は、参照画像記憶部１１２５に既に格納済みの参照画像領域（既存の参照画像領域）を特定する。そして、使用帯域計算部１１２２は、探索起点ＲＡ１１、ＲＡ２１、…と、既存の参照画像領域とが重複しない範囲を特定する。図１０の例では、探索起点ＲＡ２１が原画像ＯＰref2に含まれる。この場合、使用帯域計算部１１２２は、参照画像領域として過去に外部メモリ１５０から読み出され、参照画像記憶部１１２５に格納済みの原画像ＯＰref2の領域を特定する。
【０１３２】
図１０の例では、探索起点ＲＡ１１の一部が既存の参照画像領域と重複しているため、使用帯域計算部１１２２は、その重複部分を除いた部分を重複しない範囲として特定する。同様に、使用帯域計算部１１２２は、探索起点ＲＡ１１、ＲＡ２１、…、ＲＡ２４、ＲＡ３１、…、ＲＡ３４、ＲＡ４１について、既存の参照画像領域と重複しない範囲を特定する。使用帯域計算部１１２２により特定された「重複しない範囲」が、等倍ＭＥの際に新たに外部メモリ１５０から画像データを読み出す範囲となる。
【０１３３】
図１０に例示した探索起点ＲＡ１１、ＲＡ２１、…、ＲＡ２４、ＲＡ３１、…、ＲＡ３４、ＲＡ４１の場合、図１１でハッチングを施して表示した範囲が、新たに外部メモリ１５０から読み出される範囲となる。使用帯域計算部１１２２は、上記の重複しない範囲のデータ量に基づく指標（例えば、該当範囲の面積）を計算する。
【０１３４】
なお、面積が大きいほどデータ量は大きくなるため、該当範囲の面積は、重複しない範囲のデータ量に対応する。また、等倍ＭＥの際に符号化単位毎に外部メモリ１５０から上記重複しない範囲の画像データが一度に読み出されるとし、単位時間当たりに処理される符号化単位の量がある程度決まっているとすれば、符号化単位当たりのデータ量は、使用帯域に対応する。つまり、等倍ＭＥの際に外部メモリ１５０から画像データを読み出す際に占有される使用帯域は、上記重複しない範囲の面積により評価できる。
【０１３５】
上記の理由により、使用帯域計算部１１２２は、上記重複しない範囲（例えば、図１１のハッチングを施した範囲）の面積を使用帯域として計算する。
（Ｓ３０３）サブ矩形抽出部１１２３は、インデックスＮを１に設定する。
【０１３６】
（Ｓ３０４）サブ矩形抽出部１１２３は、処理対象として、符号化コストがＮ番目に大きいサブ矩形を選択する。図１２（Ａ）の例において、符号化コストが１番目に大きいサブ矩形は、符号化コストが８０のサブ矩形Ａ３２である。この場合、サブ矩形抽出部１１２３は、符号化対象としてサブ矩形Ａ３２を選択する。
【０１３７】
（Ｓ３０５）サブ矩形抽出部１１２３は、Ｓ３０４で選択したサブ矩形の符号化コストが予め設定された閾値以上であるか否かを判定する。この閾値は任意に設定可能である。サブ矩形の符号化コストが閾値以上である場合、処理はＳ３０６へと進む。一方、サブ矩形の符号化コストが閾値以上でない場合、処理は図１７のＳ３１８へと進む。
【０１３８】
（Ｓ３０６）隣接探索起点決定部１１２４は、Ｓ３０４で処理対象として選択されたサブ矩形を基準に隣接サブ矩形を抽出する。図１２（Ａ）の例において、サブ矩形Ａ３２に隣接するサブ矩形は、サブ矩形Ａ１１、Ａ２３、Ａ３１、Ａ３３、Ａ３４、Ａ４１である。この場合、隣接探索起点決定部１１２４は、隣接サブ矩形として、サブ矩形Ａ１１、Ａ２３、Ａ３１、Ａ３３、Ａ３４、Ａ４１を抽出する。
【０１３９】
（Ｓ３０７）隣接探索起点決定部１１２４は、Ｓ３０６で抽出した隣接サブ矩形を符号化コストが小さい順にソートする。図１２の例では、符号化コストが小さい順に、サブ矩形Ａ３４、Ａ２３、Ａ４１、Ａ３３、Ａ１１、Ａ３１と並べられることになる。
【０１４０】
（Ｓ３０８）隣接探索起点決定部１１２４は、Ｓ３０７でソートした隣接サブ矩形の中から符号化コストが最小の隣接サブ矩形を選択する。図１２の例では、（Ｂ）にハッチングを施して表現したサブ矩形Ａ３４が最小コストの隣接サブ矩形として選択される。Ｓ３０８の処理が完了すると、処理は、図１７のＳ３０９へと進む。
【０１４１】
（Ｓ３０９）隣接探索起点決定部１１２４は、Ｓ３０８で選択された隣接サブ矩形に対応する動きベクトルを縮小ＭＥ結果から抽出する。そして、隣接探索起点決定部１１２４は、抽出した動きベクトルに基づいて探索起点を特定する。例えば、隣接探索起点決定部１１２４は、図１２（Ｃ）に示すように、サブ矩形Ａ３２を基準とし、Ｓ３０８の処理で隣接サブ矩形として選択したサブ矩形Ａ３４の動きベクトルＶ３４が指し示す探索起点ＲＡ３２ｎを特定する。
【０１４２】
（Ｓ３１０）隣接探索起点決定部１１２４は、Ｓ３０９で特定した探索起点を追加する。例えば、図１２（Ｃ）に示すように、Ｓ３０９の処理で探索起点Ａ３２ｎが特定された場合、隣接探索起点決定部１１２４は、探索起点Ａ３２ｎを処理対象に加える。この場合、サブ矩形Ａ３４に対応する探索起点は探索起点Ａ３２、Ａ３２ｎとなる。
【０１４３】
（Ｓ３１１）使用帯域計算部１１２２は、Ｓ３１０で追加した探索起点を考慮して使用帯域を再計算する。例えば、Ｓ３１０の処理で探索起点Ａ３２ｎが加えられた場合、使用帯域計算部１１２２は、探索起点ＲＡ１１、ＲＡ２１、…、ＲＡ２４、ＲＡ３１、ＲＡ３２、ＲＡ３２ｎ、…、ＲＡ３４、ＲＡ４１を対象に、図１１に例示した方法と同様にして使用帯域を計算する。但し、使用帯域計算部１１２２は、図１２（Ｄ）に示すように、新たに追加した探索起点Ａ３２ｎについて、重複しない範囲として追加される範囲の使用帯域を計算し、探索起点Ａ３２ｎの追加前に計算した使用帯域に加算してもよい。
【０１４４】
（Ｓ３１２）使用帯域計算部１１２２は、Ｓ３１１で計算した使用帯域が目標帯域以下であるか否かを判定する。目標帯域は、外部メモリ１５０の読み出し速度に基づいて予め設定された帯域である。Ｓ３１１で計算した使用帯域が目標帯域以下である場合、処理はＳ３１４へと進む。一方、Ｓ３１１で計算した使用帯域が目標帯域以下でない場合、処理はＳ３１３へと進む。
【０１４５】
（Ｓ３１３）使用帯域計算部１１２２は、Ｓ３１０で追加された探索起点を削除する。例えば、探索起点Ａ３２ｎが追加されていた場合には、探索起点Ａ３２ｎが削除される。Ｓ３１３の処理が完了すると、処理はＳ３１４へと進む。
【０１４６】
（Ｓ３１４）隣接探索起点決定部１１２４は、Ｓ３０４で選択したサブ矩形について、Ｓ３０６で抽出した隣接サブ矩形のうち未選択の隣接サブ矩形があるか否かを判定する。未選択の隣接サブ矩形がある場合、処理はＳ３１５へと進む。一方、未選択の隣接サブ矩形がない場合、処理はＳ３１６へと進む。
【０１４７】
（Ｓ３１５）隣接探索起点決定部１１２４は、未選択の隣接サブ矩形のうち次に符号化コストが小さい隣接サブ矩形を選択する。図１２の例において、サブ矩形Ａ３４の次に符号化コストが小さい未選択の隣接サブ矩形はサブ矩形Ａ２３である。この場合、隣接探索起点決定部１１２４は、隣接サブ矩形としてサブ矩形Ａ２３を選択する。Ｓ３１５の処理が完了すると、処理はＳ３０９へと進む。
【０１４８】
（Ｓ３１６）サブ矩形抽出部１１２３は、インデックスＮを１増加させる。
（Ｓ３１７）サブ矩形抽出部１１２３は、Ｎがサブ矩形数より大きいか否かを判定する。図９〜図１２の例において、サブ矩形数は１０である。この場合、サブ矩形抽出部１１２３は、Ｎが１０より大きいか否かを判定する。Ｎがサブ矩形数より大きい場合、処理はＳ３１８へと進む。一方、Ｎが１０より大きくない場合、処理は図１６のＳ３０４へと進む。
【０１４９】
（Ｓ３１８）縮小ＭＥ結果記憶部１１２１は、縮小ＭＥ結果に対応する探索起点の情報を等倍ＭＥ部１１４に出力する。Ｓ３１８の処理が完了すると、図１６及び図１７に示した一連の処理は終了する。
【０１５０】
以上、第２実施形態の一変形例（変形例＃３）について説明した。変形例＃３によれば、サブ矩形のうち十分に符号化コストの大きいサブ矩形について探索起点の追加が行われる。つまり、探索起点を追加することにより等倍ＭＥで動きベクトルの探索精度の向上効果が大きいと期待できるサブ矩形について探索起点の追加が行われる。その結果、探索起点の追加による等倍ＭＥの処理負荷の増大を抑制しつつ、より効果的に動きベクトルの探索精度を高めることができる。
【０１５１】
以上、第２実施形態の変形例について説明した。なお、上記の変形例＃１〜＃３は互いに組み合わせることも可能である。例えば、図１３に示した処理、又は図１４及び図１５に示した処理を図１７に示した処理と置き換えるなどの変形が可能であり、こうした組み合わせの変形についても第２実施形態に係る技術的範囲に属する。
【０１５２】
以上説明したように、第２実施形態に係る技術を適用すれば、外部メモリ１５０から画像データを読み出す際の利用帯域を有効に活用し、等倍ＭＥにおける動きベクトルの探索範囲を拡大して探索精度を高めることが可能になる。
【０１５３】
以上、第２実施形態について説明した。
＜３．付記＞
以上説明した実施形態に関し、さらに以下の付記を開示する。
【０１５４】
（付記１）  第１の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に前記第１の記憶部から読み出された画像の画像領域を記憶する第２の記憶部と、
前記画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域に関する情報を記憶する第３の記憶部と、
符号化の対象とする複数の前記画像領域について、対応する前記起点領域の全体と前記第２の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第１の閾値を超えない範囲で前記起点領域を拡大し、拡大後の前記重複しない領域を前記第１の記憶部から読み出す対象とする演算部と、
を有する、動画像符号化装置。
【０１５５】
（付記２）  前記第３の記憶部は、前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を記憶し、
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第１の画像領域として特定し、当該第１の画像領域の周囲に位置する画像領域の中で前記符号化コストが最小となる画像領域を第２の画像領域として特定し、前記第１の画像領域を基準として前記第２の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記１に記載の動画像符号化装置。
【０１５６】
（付記３）  前記演算部は、前記起点領域を追加した後、追加後の前記起点領域の全体と前記第２の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が前記第１の閾値を超えない場合、更に前記起点領域を拡大する
付記２に記載の動画像符号化装置。
【０１５７】
（付記４）  前記第３の記憶部は、前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を記憶し、
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第１の画像領域として特定し、当該第１の画像領域の周囲に位置する画像領域の中で、前記第１の画像領域との間で前記符号化コストの差が、設定された第２の閾値より大きい画像領域を第２の画像領域として特定し、前記第１の画像領域を基準として前記第２の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記１に記載の動画像符号化装置。
【０１５８】
（付記５）  前記第３の記憶部は、前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を記憶し、
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが、設定された第３の閾値より大きい画像領域を第１の画像領域として特定し、当該第１の画像領域の周囲に位置する画像領域の中で前記符号化コストが最小となる画像領域を第２の画像領域として特定し、前記第１の画像領域を基準として前記第２の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記１に記載の動画像符号化装置。
【０１５９】
（付記６）  コンピュータが、
第１の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に前記第１の記憶部から読み出された画像の画像領域を第２の記憶部に記憶し、
前記画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域に関する情報を取得し、
符号化の対象とする複数の前記画像領域について、対応する前記起点領域の全体と前記第２の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第１の閾値を超えない範囲で前記起点領域を拡大し、拡大後の前記重複しない領域を前記第１の記憶部から読み出す対象とする
動画像符号化方法。
【０１６０】
（付記７）  コンピュータに、
第１の記憶部が記憶する動画像に含まれる複数の画像のうち、符号化の際に前記第１の記憶部から読み出された画像の画像領域を第２の記憶部に記憶し、
前記画像に含まれる画像領域の符号化に用いる参照領域の探索範囲を特定する際の基準となる起点領域に関する情報を取得し、
符号化の対象とする複数の前記画像領域について、対応する前記起点領域の全体と前記第２の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が、設定された第１の閾値を超えない範囲で前記起点領域を拡大し、拡大後の前記重複しない領域を前記第１の記憶部から読み出す対象とする
処理を実行させる、プログラム。
【０１６１】
（付記８）  前記第３の記憶部は、前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を記憶し、
前記演算部は、前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第１の画像領域として特定し、当該第１の画像領域の周囲に位置する画像領域の中で前記符号化コストが小さい順に画像領域を第２の画像領域として順次特定し、前記第１の画像領域を基準として前記第２の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記１に記載の動画像符号化装置。
【０１６２】
（付記９）  前記演算部は、前記起点領域を追加した後、追加後の前記起点領域の全体と前記第２の記憶部が記憶している画像領域とが重複しない領域の大きさにかかわらず前記起点領域の拡大を抑止する
付記２に記載の動画像符号化装置。
【０１６３】
（付記１０）  付記７に記載のプログラムが格納された、コンピュータにより読み取り可能な記録媒体。
（付記１１）  前記コンピュータが、
前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を取得し、
前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第１の画像領域として特定し、当該第１の画像領域の周囲に位置する画像領域の中で前記符号化コストが最小となる画像領域を第２の画像領域として特定し、前記第１の画像領域を基準として前記第２の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記６に記載の動画像符号化方法。
【０１６４】
（付記１２）  前記コンピュータが、
前記起点領域を追加した後、追加後の前記起点領域の全体と前記第２の記憶部が記憶している画像領域とが重複しない領域を特定し、当該重複しない領域の大きさに基づく指標が前記第１の閾値を超えない場合、更に前記起点領域を拡大する
付記１１に記載の動画像符号化方法。
【０１６５】
（付記１３）  前記コンピュータが、
前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を取得し、
前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが最大となる画像領域を第１の画像領域として特定し、当該第１の画像領域の周囲に位置する画像領域の中で、前記第１の画像領域との間で前記符号化コストの差が、設定された第２の閾値より大きい画像領域を第２の画像領域として特定し、前記第１の画像領域を基準として前記第２の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記６に記載の動画像符号化方法。
【０１６６】
（付記１４）  前記コンピュータが、
前記起点領域に関する情報として、前記画像を縮小した縮小画像に基づく動き検出により得られた動きベクトル及び符号化コストの情報を取得し、
前記起点領域を拡大する際、前記符号化の対象とする前記複数の画像領域のうち、前記符号化コストが、設定された第３の閾値より大きい画像領域を第１の画像領域として特定し、当該第１の画像領域の周囲に位置する画像領域の中で前記符号化コストが最小となる画像領域を第２の画像領域として特定し、前記第１の画像領域を基準として前記第２の画像領域の前記動きベクトルにより特定される他の前記画像の画像領域を前記起点領域として追加する
付記６に記載の動画像符号化方法。
【符号の説明】
【０１６７】
１０  第１の記憶部
２０  動画像符号化装置
２１  第２の記憶部
２２  第３の記憶部
２２ａ  起点領域に関する情報
２３  演算部
ＡＰ、Ａ１１、Ａ２１、Ａ２２、Ａ２３、Ａ２４、Ａ３１、Ａ３２、Ａ３３、Ａ３４、Ａ４１  画像領域
ＢＡ、ＢＡ１１、ＢＡ２１、ＢＡ２２、ＢＡ２３、ＢＡ２４、ＢＡ３１、ＢＡ３２、ＢＡ３２ａ、ＢＡ３３、ＢＡ３４、ＢＡ４１  起点領域
Ｐ１、Ｐ２、Ｐ３  画像
Ｔｈ１  第１の閾値
ＳＣ、ＳＣ１１、ＳＣ２１、ＳＣ２２、ＳＣ２３、ＳＣ２４、ＳＣ３１、ＳＣ３２、ＳＣ３３、ＳＣ３４、ＳＣ４１  符号化コスト
Ｖ、Ｖ１１、Ｖ２１、Ｖ２２、Ｖ２３、Ｖ２４、Ｖ３１、Ｖ３２、Ｖ３３、Ｖ３４、Ｖ４１  動きベクトル
【図１】
2016025541.tif 000003
【図２】
2016025541.tif 000004
【図３】
2016025541.tif 000005
【図４】
2016025541.tif 000006
【図５】
2016025541.tif 000007
【図６】
2016025541.tif 000008
【図７】
2016025541.tif 000009
【図８】
2016025541.tif 000010
【図９】
2016025541.tif 000011
【図１０】
2016025541.tif 000012
【図１１】
2016025541.tif 000013
【図１２】
2016025541.tif 000014
【図１３】
2016025541.tif 000015
【図１４】
2016025541.tif 000016
【図１５】
2016025541.tif 000017
【図１６】
2016025541.tif 000018
【図１７】
2016025541.tif 000019