(57)【要約】画像を複数のブロックに分割してブロックごとに動きベクトルを含む動き情報を推定する動き推定器（１０８）に、無依存処理部（１２４ａ、１２４ｂ、１２４ｃ）、依存処理部（１２５）、動きベクトルバッファ（１２６）を備え、無依存処理部（１２４ａ、１２４ｂ、１２４ｃ）は、並列動作が可能であり、かつ、近傍ブロックの動き情報を用いることなく、参照画像と現画像とにより各ブロックの動きベクトルを探索して、動きベクトルバッファ（１２６）に記録し、依存処理部（１２５）は、動きベクトルバッファ（１２６）に保持された近傍ブロックの動き情報を参照して、処理対象のブロックの動き情報の変更の是非を判定し、動き情報を変更する必要があると判定した場合、変更した動き情報を動きベクトルバッファ（１２６）に記録するとともに外部に出力する処理を行う。
2015083300.tif 000002
【特許請求の範囲】
【請求項１】
画像を複数のブロックに分割し、分割されたブロックごとに動きベクトルを含む動き情報を推定する動き推定処理手段を備えた動画像符号化装置であって、
前記動き推定処理手段は、
近傍ブロックの動き情報を用いることなくブロックごとの処理を行う無依存処理手段と、
近傍ブロックの動き情報を用いてブロックごとの処理を行う依存処理手段と、
各ブロックの処理結果である動き情報を保持する動き情報バッファと
を備え、
前記無依存処理手段は、
任意に設定したブロック数ずつ全てのブロックに対して並列に処理することが可能な構成からなるとともに、参照画像と現画像とを入力として、各ブロックの動きベクトルを探索して、前記動き情報バッファに記録する動きベクトル探索手段を含んで構成され、
前記依存処理手段は、
前記動き情報バッファに保持された近傍ブロックの動き情報を参照して、処理対象のブロックの動き情報の変更の是非を判定し、動き情報を変更する必要があると判定した場合、変更した動き情報を前記動き情報バッファに記録するとともに外部に出力する動作を行う
ことを特徴とする動画像符号化装置。
【請求項２】
前記依存処理手段は、
前記動き情報バッファに保持された近傍ブロックの動き情報を参照し、参照結果に基づいて、処理対象のブロックの動き情報を更新して前記動き情報バッファに記録するとともに外部に出力する際に、前記処理対象のブロックの動き情報のうち動きベクトルをも含んで更新することができる第１依存処理手段と、
前記動き情報バッファに保持された近傍ブロックの動き情報を参照し、参照結果に基づいて、処理対象のブロックの動き情報を更新して前記動き情報バッファに記録するとともに外部に出力する際に、前記処理対象のブロックの動き情報のうち動きベクトルについては更新しない第２依存処理手段と
を備えることを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記動き推定処理手段の処理対象画像の全ブロックを第１のブロック群と第２のブロック群とに分類し、
前記第１依存処理手段は、処理対象のブロックを処理する際に、近傍ブロックのうち前記第２のブロック群に含まれるブロックのみを参照して、前記第１のブロック群に含まれる各ブロックを並列に処理する動作を行い、
前記第２依存処理手段は、処理対象のブロックを処理する際に、近傍ブロックのうち前記第１のブロック群と前記第２のブロック群とに含まれるブロックを参照して、前記第２のブロック群に含まれる各ブロックを並列に処理する動作を行う
ことを特徴とする請求項２に記載の動画像符号化装置。
【請求項４】
前記第１依存処理手段は、
前記第１のブロック群に含まれるブロックの近傍ブロックとして当該ブロックの周辺を囲む８個のブロックが全て前記第２のブロック群に含まれるブロックからなっているように分類される場合には、処理対象のブロックの近傍ブロックとして当該ブロックの周辺を囲む前記第２のブロック群に含まれるブロックのみを選択して参照するか、
または、
前記第１のブロック群に含まれるブロックの近傍ブロックとして当該ブロックの周辺を囲む８個のブロックが全て前記第２のブロック群に含まれるブロックからなっているように分類されるか否かに関わらず、処理対象のブロックの近傍ブロックとして前記第２のブロック群に含まれるブロックのみを任意に選択して参照する
ことを特徴とする請求項３に記載の動画像符号化装置。
【請求項５】
前記動き推定処理手段の処理対象画像の全ブロックを第１のブロック群と第２のブロック群とに分類し、
前記第１依存処理手段は、処理対象のブロックを処理する際に、近傍ブロックのうち前記第２のブロック群に含まれるブロックを参照して、前記第１のブロック群に含まれる各ブロックを並列に処理する動作を行い、
前記第２依存処理手段は、処理対象のブロックを処理する際に、近傍ブロックのうち前記第２のブロック群に含まれるブロックを参照して、前記第２のブロック群に含まれる各ブロックを並列に処理する動作を行う
ことにより、前記第１依存処理手段と前記第２依存処理手段とが並列に動作することを特徴とする請求項２に記載の動画像符号化装置。
【請求項６】
前記動き推定処理手段の処理対象画像の全ブロックを第１のブロック群と第２のブロック群とに分類し、
前記第１依存処理手段は、処理対象のブロックを処理する際に、近傍ブロックのうち前記第１のブロック群と前記第２のブロック群とに含まれるブロックを参照して、前記第１のブロック群に含まれる各ブロックを並列に処理する動作を行った後、さらに、近傍ブロックのうち前記第１のブロック群に含まれるブロックを参照して、前記第２のブロック群に含まれる各ブロックを並列に処理する動作を行い、
しかる後、前記第２依存処理手段が、処理対象のブロックを処理する際に、近傍ブロックのうち前記第１のブロック群と前記第２のブロック群とに含まれるブロックを参照して、前記第１のブロック群に含まれる各ブロックを並列に処理する動作を行う
ことを特徴とする請求項２に記載の動画像符号化装置。
【請求項７】
前記依存処理手段は、
前記動きベクトルバッファに保持された近傍ブロックの動きベクトルから各ブロックにおける動き情報符号量を最小化することができる予測ベクトルを選択し、選択結果に基づいて、レート歪みコストを算出してＡＭＶＰ（Adaptive  Motion  Vector  Prediction）コストとして出力する予測ベクトル選択処理手段と、
前記動きベクトルバッファに保持された近傍ブロックの動きベクトルから得られるマージベクトル候補それぞれのレート歪みコストを算出し、最小となるレート歪みコストをマージコストとして出力するマージコスト算出手段と、
前記マージコストと前記ＡＭＶＰコストとの比較結果に基づいて、処理対象のブロックをマージモードとするか否かを決定する動き情報決定手段と
を含んで構成されていることを特徴とする請求項１ないし６のいずれかに記載の動画像符号化装置。
【請求項８】
画像を複数のブロックに分割し、分割されたブロックごとに動きベクトルを含む動き情報を推定する動画像符号化方法であって、
前記動き情報の推定は、
近傍ブロックの動き情報を用いることなくブロックごとの処理を行うこと、
近傍ブロックの動き情報を用いてブロックごとの処理を行うこと、
各ブロックの処理結果である動き情報を保持すること、
を有し、
前記近傍ブロックの動き情報を用いることなくブロックごとの処理を行うことにおいては、
任意に設定したブロック数ずつ全てのブロックに対して並列に処理することが可能な構成からなるとともに、参照画像と現画像とを入力として、各ブロックの動きベクトルを探索して、前記動き情報を保持することにより保持し、
前記近傍ブロックの動き情報を用いてブロックごとの処理を行うことにおいては、
前記各ブロックの処理結果である前記動き情報を保持することによって保持された近傍ブロックの動き情報を参照して、処理対象のブロックの動き情報の変更の是非を判定し、動き情報を変更する必要があると判定した場合、変更した動き情報を前記動き情報バッファに記録するとともに外部に出力する処理を行う
ことを特徴とする動画像符号化方法。
【請求項９】
前記近傍ブロックの動き情報を用いてブロックごとの処理を行うことは、
前記動き情報バッファに保持された近傍ブロックの動き情報を参照し、参照結果に基づいて、処理対象のブロックの動き情報を更新して前記動き情報バッファに記録するとともに外部に出力する際に、前記処理対象のブロックの動き情報のうち動きベクトルをも含んで更新可能とし、
前記動き情報バッファに保持された近傍ブロックの動き情報を参照し、参照結果に基づいて、処理対象のブロックの動き情報を更新して前記動き情報バッファに記録するとともに外部に出力する際に、前記処理対象のブロックの動き情報のうち動きベクトルについては更新しないこと
を有することを特徴とする請求項８に記載の動画像符号化方法。
【請求項１０】
請求項８または９のいずれかに記載の動画像符号化方法を、コンピュータによって実行せしめる動画像符号化用プログラムが格納された非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化装置、動画像符号化方法および動画像符号化用プログラムに関し、特に、符号化効率を低下させずに高い並列処理効率で動作する動画像符号化装置、動画像符号化方法および動画像符号化用プログラムに関する。
【背景技術】
【０００２】
近年、動画像の解像度向上の要求が年々高まっており、それに伴って、符号化技術に関しても、ＭＰＥＧ（Moving  Picture  Experts  Group）−２、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下Ｈ．２６４と略記する）、Ｈ．２６５／ＨＥＶＣ（High Efficiency  Video  Coding）（以下Ｈ．２６５と略記する）、と圧縮効率を向上させる技術が次々に開発されてきた。これらの符号化方式は、フレーム間の動き補償予測を用いて情報を圧縮することによって高い符号化効率を達成している。Ｈ．２６５規格に基づいた動画像符号化装置の一例を図１９に示す。【０００３】
図１９に示すように、Ｈ．２６５規格に基づく動画像符号化装置は、通常、動き補償予測器００１、直交変換器００２、量子化器００３、符号化器００４、逆量子化器００５、逆直交変換器００６、画面内予測器００７、動き推定器００８、ループフィルタ００９、フレームバッファ０１０を備えて構成される。なお、非特許文献１のＩＴＵ−Ｔ(International  Telecommunication  Union  Telecommunication Standardization  Sector)  Recommendation  Ｈ．２６５“High  efficiency  video   coding”には、Ｈ．２６５規格に基づく処理内容が詳細に記載されているので、ここでの各構成要素の詳細な説明は割愛する。【０００４】
Ｈ．２６５規格による動画像符号化処理は、ＣＴＢ（Coding  Tree  Brock）と呼ばれる最大６４×６４画素のブロック単位で行われる。Ｈ．２６５規格における動き補償予測は、次の通りの技術である。入力画像として入力されてくる符号化対象フレームとフレームバッファ０１０に格納された符号化済みの参照フレームとの間の動き情報を用いて、動き補償予測器００１において参照フレームの画像を補正する。そして、補正された画像（予測画像）と符号化対象となる現画像との差分情報であるフレーム間の動きを表す情報のみを符号化することによって、動画像情報を圧縮する。【０００５】
フレーム間の動きは、移動量を表す動きベクトルによって表現される。参照フレームと符号化対象フレーム間の動き情報を動き推定器００８において算出する処理を動き推定と称している。動き推定の処理に当たっては、デコード画像に発生するノイズ量を抑えつつ、符号化する情報量も最小化することができる動き情報を算出することが重要である。このため、近年の動画像符号化装置においては、ＲＤ（Rate-Distortion）最適化と呼ばれる手法が広く用いられている。【０００６】
ＲＤ最適化手法においては、多数の動きベクトル候補に対して、Ｊ＝Ｄ＋λＲで表されるレート歪みコストを算出し、該レート歪みコストが最小になるものを動きベクトルとして採用する。ここで、Ｄは差分画像に発生する歪み量、Ｒは動き情報の符号化で発生する符号量、λは画像の複雑さなどに依存する重み係数である。なお、動き情報には、後述する予測ベクトル情報とその動きベクトルとの差分、マージ情報を含む。【０００７】
空間的・時間的に近傍のブロック同士は、動き情報の相関が高いことから、Ｈ．２６５規格においては、動きベクトルの予測値（予測ベクトル）を近傍の動きベクトルから適応的に選択するＡＭＶＰ（Adaptive  Motion  Vector  Prediction）や、動き情報を近傍ブロックからコピーするマージモードを用いることによって、動き情報に必要な符号量Ｒを削減することができる。ここで、近傍ブロックとは、具体的には、図２０に示すような符号化対象ブロックの空間近傍ブロック（Ａ０、Ａ１、Ｂ０、Ｂ１、Ｂ２）や時間近傍フレームの同位置ブロックなどであり、マージモードやＡＭＶＰに用いるブロックは、近傍ブロックのリストの中からエンコーダが任意に選択することができる。なお、図２０は、符号化対象ブロックの空間的な近傍ブロックを説明するための模式図である。【０００８】
ただし、図２０の左下の近傍ブロックＡ０のＣＴＢは符号化対象ＣＴＢよりも後続の処理であるため、近傍ブロックＡ０の動き情報すなわち処理結果は、ＣＴＢ内サブブロックの符号化時においてのみ参照される。そこで、以降の説明を簡単にするため、符号化処理対象の各ブロックは、左の近傍ブロックＡ１・左上の近傍ブロックＢ２・上の近傍ブロックＢ１・右上の近傍ブロックＢ０の各ブロックを参照するものとする。【０００９】
ここで、近傍ブロックの動き情報は、デコーダにおいて得られる情報と同一であることから、近傍ブロックリストのインデックスのみを符号化することによって動き情報を伝送することができ、符号量Ｒを削減することができる。動き情報には、マージモードを使用する場合はマージモードであるというフラグと参照ブロックのインデックスのみを含み、それ以外の場合は予測ベクトルで参照するブロックのインデックスと、予測ベクトルと動きベクトルとの差分情報とを含む。【００１０】
図１９に示した動画像符号化装置の動き推定器００８の構成例を図２１に示す。図２１に示す動き推定器００８は、動きベクトル探索部０２０、ＡＭＶＰ選択部０２１、マージコスト算出部０２２および動き情報決定部０２３から構成されている。動きベクトル探索部０２０は、多数の動きベクトル候補についてブロックマッチングを行ってコストが最小となる暫定動きベクトルを決定する。ＡＭＶＰ選択部０２１は、動きベクトル符号量Ｒが最小となるように近傍ブロックの動きベクトルから予測ベクトルを選択する。マージコスト算出部０２２は、近傍ブロックの動き情報を用いてマージモードのレート歪みコストＪを算出する。動き情報決定部０２３は、最終的な動き情報としてマージモードを用いるか否かを決定する。【００１１】
マージモードを用いる場合は、近傍ブロックの動きベクトルをコピーしたマージベクトルが符号化対象ブロックの動きベクトルとなり、マージモード以外の場合は、動き探索の結果である暫定動きベクトルがそのまま用いられる。符号化処理対象の或るブロックで決定された動き情報は他のブロックのＡＭＶＰ選択やマージコスト算出に用いられる。ＡＭＶＰやマージモードは、符号量削減に大きな効果があり、高符号化効率を得るためには適切に使用することが重要である。【００１２】
多数のベクトルのコストを比較する動き推定処理は、非常に演算量が多く、高速化が求められる。高速化には、多数のプロセッサコアを持つＧＰＵ（Graphic  Processing  Unit）などのメニ−コアプロセッサを用いた並列処理が特に有望である。【００１３】
関連する並列処理手法の一つにＷＰＰ（Wavefront  Parallel  Processing）がある。ＷＰＰによる並列処理の具体例が、非特許文献２のCheungらによる“Video  coding  on  multicore  graphics  processors”に記載されている。ＷＰＰによる並列処理においては、図２２に示すように、符号化対象フレームの各行において一つ上の上行から２ブロックずつ左にずれたブロックを符号化対象ブロックとして並列に処理することによって、左の近傍ブロックや上の近傍ブロックや右上の近傍ブロックの処理結果を参照ブロックとして参照可能としている。ここで、図２２は、前記非特許文献２に記載のＷＰＰによる並列処理の具体例を説明するための模式図である。【００１４】
また、特許文献１の特開２０１２−１７５４２４号公報「符号化処理装置および符号化処理方法」には、画像を複数の領域に分割し、分割された領域の境界に接しているブロックについては、当該ブロックの属する領域内のブロックの情報のみを用いることによって、各領域を並列処理するという技術が記載されている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２０１２−１７５４２４号公報（第９−１４頁）
【非特許文献】
【００１６】
【非特許文献１】ＩＴＵ−Ｔ  Recommendation  Ｈ．２６５“High  efficiency  video   coding”，Apr．２０１３．
【非特許文献２】Cheung，Nagai-Man，et al．“Video  coding  on  multicore  graphics  processors”，Signal  Processing  Magazine，ＩＥＥＥ  ２７．２（２０１０）：７９−８９．
【発明の開示】
【発明が解決しようとする課題】
【００１７】
動画像符号化時の並列処理においては、複数のプロセッサコアそれぞれを十分に稼働させるために多数のタスクを並列に処理可能な状態とすることが重要である。ここで、タスクとは、ＷＰＰのような並列処理の場合は各ブロックの処理を指し、前記特許文献１に記載の技術の場合は分割された各領域の処理を指す。複数のプロセッサコアを稼働させるためには、少なくともプロセッサコア数のタスクが必要である。また、各タスクの処理量が異なる場合には、タスク数がより多い方が各プロセッサコアへの処理量の配分を均等にし易い。したがって、ＧＰＵのような数千以上のプロセッサコアを持つメニ−コアプロセッサによる並列処理を行う場合には、非常に多くのタスクを並列に処理可能とすることが必要である。【００１８】
一方、動き推定の処理においては、前述のように、空間的相関性を利用して動き情報を圧縮することから、ブロック間には空間的なデータ依存関係があり、多数のブロックすなわち多数のタスクを並列処理することが難しいという課題がある。ＷＰＰによる並列処理の場合は、最大の並列処理数であっても、ブロック行数（４Ｋ解像度の場合でも３４個）のタスク数しか並列に処理することができない。また、前記特許文献１に記載の技術の場合は、多数の領域（タスク）に分割すると、領域外のブロックを参照することができない、すなわち、マージモードやＡＭＶＰを適用することができないブロックが多くなり、符号化効率が低下するという課題がある。【００１９】
（本発明の目的）
本発明の目的は、前述のような問題を解決し、符号化効率を低下させることなく、多数のタスクを並列処理することが可能な動画像符号化装置、動画像符号化方法および動画像符号化用プログラムを提供することである。
【課題を解決するための手段】
【００２０】
前述の課題を解決するため、本発明による動画像符号化装置、動画像符号化方法および動画像符号化用プログラムは、主に、次のような特徴的な構成を採用している。【００２１】
（１）本発明による動画像符号化装置は、画像を複数のブロックに分割し、分割されたブロックごとに動きベクトルを含む動き情報を推定する動き推定処理手段を備えた動画像符号化装置であって、
前記動き推定処理手段は、
近傍ブロックの動き情報を用いることなくブロックごとの処理を行う無依存処理手段と、
近傍ブロックの動き情報を用いてブロックごとの処理を行う依存処理手段と、
各ブロックの処理結果である動き情報を保持する動き情報バッファと
を備え、
前記無依存処理手段は、
任意に設定したブロック数ずつ全てのブロックに対して並列に処理することが可能な構成からなるとともに、参照画像と現画像とを入力として、各ブロックの動きベクトルを探索して、前記動き情報バッファに記録する動きベクトル探索手段を含んで構成され、
前記依存処理手段は、
前記動き情報バッファに保持された近傍ブロックの動き情報を参照して、処理対象のブロックの動き情報の変更の是非を判定し、動き情報を変更する必要があると判定した場合、変更した動き情報を前記動き情報バッファに記録するとともに外部に出力する動作を行う
ことを特徴とする。【００２２】
（２）本発明による動画像符号化方法は、画像を複数のブロックに分割し、分割されたブロックごとに動きベクトルを含む動き情報を推定する動き推定処理ステップを有する動画像符号化方法であって、
前記動き推定処理ステップとして、
近傍ブロックの動き情報を用いることなくブロックごとの処理を行う無依存処理ステップと、
近傍ブロックの動き情報を用いてブロックごとの処理を行う依存処理ステップと、
各ブロックの処理結果である動き情報を保持する動き情報バッファリングステップと
を有し、
前記無依存処理ステップは、
任意に設定したブロック数ずつ全てのブロックに対して並列に処理することが可能な構成からなるとともに、参照画像と現画像とを入力として、各ブロックの動きベクトルを探索して、前記動き情報バッファリングステップによって保持する動きベクトル探索ステップを有し、
前記依存処理ステップは、
前記動き情報バッファリングステップによって保持された近傍ブロックの動き情報を参照して、処理対象のブロックの動き情報の変更の是非を判定し、動き情報を変更する必要があると判定した場合、変更した動き情報を前記動き情報バッファに記録するとともに外部に出力する処理を行う
ことを特徴とする。【００２３】
（３）本発明による動画像符号化用プログラムは、前記（２）に記載の動画像符号化方法を、コンピュータによって実行可能なプログラムとして実施していることを特徴とする。
【発明の効果】
【００２４】
本発明の動画像符号化装置、動画像符号化方法および動画像符号化用プログラムによれば、以下のような効果を奏することができる。【００２５】
動画像符号化の処理において、符号化効率の低下を抑えつつ、多数のタスクを並列処理することが可能になるので、処理を高速化することができる。【００２６】
さらに、既存の動画像処理装置に本発明の手法を適用するに当たって、エンコーダへの影響は、参照する近傍ブロックを任意に選択するための選択肢を一部限定するのみであり、デコーダについては変更する必要が一切なく、適用範囲を拡大することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明による動画像符号化装置の第１の実施の形態における動き推定器の構成例を示すブロック構成図である。
【図２】図１に示した動き推定器における動き推定処理概要の一例を示すフローチャートである。
【図３】図１に示した動き推定器の無依存処理部における無依存処理の一例を示すフローチャートである。
【図４】図１に示した動き推定器の依存処理部における依存処理の一例を示すフローチャートである。
【図５】本発明による動画像符号化装置の第２の実施の形態において符号化対象のブロックを第１のブロックと第２のブロックとに分類する例を説明するための模式図である。
【図６】本発明による動画像符号化装置の第２の実施の形態における動き推定器の構成例を示すブロック構成図である。
【図７】図６に示した動き推定器における動き推定処理概要の一例を示すフローチャートである。
【図８】図６に示した動き推定器の第２依存処理部における依存処理の一例を示すフローチャートである。
【図９】本発明による動画像符号化装置の第３の実施の形態において符号化対象のブロックを第１のブロックと第２のブロックとに分類する一例を説明するための模式図である。
【図１０】本発明による動画像符号化装置の第３の実施の形態において符号化対象のブロックを第１のブロックと第２のブロックとに分類する他の例を説明するための模式図である。
【図１１】本発明による動画像符号化装置の第３の実施の形態において符号化対象のブロックを第１のブロックと第２のブロックとに分類する図９、図１０とは異なる例を説明するための模式図である。
【図１２】本発明による動画像符号化装置の第３の実施の形態において符号化対象のブロックを第１のブロックと第２のブロックとに分類するさらに異なる例を説明するための模式図である。
【図１３】本発明による動画像符号化装置の第４の実施の形態における動き推定器の構成例を示すブロック構成図である。
【図１４】図１３に示した動き推定器における動き推定処理概要の一例を示すフローチャートである。
【図１５】図１３に示した動き推定器の第１依存処理部における依存処理の一例を示すフローチャートである。
【図１６】本発明による動画像符号化装置の第５の実施の形態における動き推定器における動き推定処理概要の一例を示すフローチャートである。
【図１７】本発明による動画像符号化装置の第６の実施の形態において符号化対象のブロックを複数種類のブロックに分類する一例を説明するための模式図である。
【図１８】本発明による動画像符号化装置の第６の実施の形態における動き推定器における動き推定処理概要の一例を示すフローチャートである。
【図１９】Ｈ．２６５規格に基づいた動画像符号化装置の一例を示すブロック構成図である。
【図２０】符号化対象ブロックの空間的な近傍ブロックを説明するための模式図である。
【図２１】図１９に示した動画像符号化装置の動き推定器の構成例を示すブロック構成図である。
【図２２】非特許文献２に記載のＷＰＰによる並列処理の具体例を説明するための模式図である。
【発明を実施するための形態】
【００２８】
以下、本発明による動画像符号化装置、動画像符号化方法および動画像符号化用プログラムの好適な実施形態について添付図を参照して説明する。なお、以下の説明においては、本発明による動画像符号化装置および動画像符号化方法について説明するが、かかる動画像符号化方法をコンピュータにより実行可能な動画像符号化用プログラムとして実施するようにしても良いし、あるいは、動画像符号化用プログラムをコンピュータにより読み取り可能な記録媒体に記録するようにしても良いことは言うまでもない。換言すれば、本発明は、ハードウェアの構成に限定されるものではなく、本発明の処理を、ＣＰＵ（Central Processing Unit）に動画像符号化用プログラムを実行させることにより実現することも可能である。
【００２９】
動画像符号化用プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００３０】
また、以下の各図面に付した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではないことも言うまでもない。
【００３１】
（本発明の特徴）
本発明の実施形態の説明に先立って、本発明の特徴についてその概要をまず説明する。本発明は、動画像符号化時において、近傍ブロックの処理結果を必須としない処理、つまり、ブロック間依存のない処理である動きベクトル探索などの処理と、近傍ブロックの動き情報を必須とする処理、つまり、ブロック間依存のある処理であるマージコスト算出・ＡＭＶＰ選択などの処理とを分離する。これによって、動き推定の中でも特に演算量が多い動きベクトル探索を高い並列性を有する並列処理とすることを可能にしていることを主要な特徴とする。
【００３２】
［第１の実施の形態］
本第１の実施の形態においては、前述のように、近傍ブロックの処理結果を必須としない処理、つまり、ブロック間依存のない処理である動きベクトル探索処理を少なくとも含む無依存処理と、近傍ブロックの動き情報を必須とする処理、つまり、ブロック間依存のある処理であるマージコスト算出・ＡＭＶＰ選択などの処理を含む依存処理とを分離する。これによって、動き推定の中でも特に演算量が多い動きベクトル探索を高い並列性を有する並列処理とすることを可能にしていることを特徴とする。
【００３３】
（第１の実施の形態の構成の説明）
次に、本発明による動画像符号化装置の構成例として第１の実施の形態の構成について図面を参照して詳細に説明する。第１の実施の形態の動画像符号化装置は、入力画像として入力されてくる符号化対象フレームと符号化済みの参照フレームとの間の動き情報を算出する動き推定器の内部構成を除いて、図１９に示したＨ．２６５規格準拠の動画像符号化装置における各構成要素と全く同様の構成からなる。すなわち、第１の実施の形態の動画像符号化装置は、動き補償予測器００１、直交変換器００２、量子化器００３、符号化器００４、逆量子化器００５、逆直交変換器００６、画面内予測器００７、ループフィルタ００９、フレームバッファ０１０を備える。かつ、この画像符号化装置は、入力画像を複数のブロックに分割し、分割されたブロックごとに動きベクトルを含む動き情報を推定する動き推定処理手段として、動き推定器００８の代わりに、動き推定器１０８を備えて構成される。
【００３４】
本第１の実施の形態における動き推定器１０８の構成例を図１に示す。動き推定器１０８は、前述のように、図１９に示す動画像符号化装置の動き推定部００８を代替することができるものであるが、無依存処理部１２４ａ、１２４ｂ、１２４ｃ、依存処理部１２５、動きベクトルバッファ１２６を少なくとも備えて構成される。図１には、無依存処理部１２４ａ、１２４ｂ、１２４ｃの個数を３個とする場合を示しているが、かかる場合に限るものではなく、２個以上の複数個から構成されていれば良い。
【００３５】
無依存処理部１２４ａ、１２４ｂ、１２４ｃそれぞれは、近傍にある他のブロック（近傍ブロック）の動き情報を用いることなくブロックごとの処理を行う無依存処理手段である。無依存処理手段は、任意に設定したブロック数ずつ全てのブロックに対して並列に処理することが可能な構成からなっており、図１に示す無依存処理部１２４ａ、１２４ｂ、１２４ｃの３つの無依存処理手段からなる構成例においては、３つのブロックごとに並列処理が可能な場合を示している。一方、依存処理部１２５は、近傍にある他のブロックの動き情報（近傍ブロック）を用いてブロックごとの処理を行う依存処理手段である。また、動きベクトルバッファ１２６は、各ブロックごとの処理結果である動きベクトルを含む動き情報を保持する動き情報バッファすなわち動き情報保持手段である。
【００３６】
また、無依存処理部１２４ａ、１２４ｂ、１２４ｃそれぞれには、動きベクトル探索部１２０ａ、１２０ｂ、１２０ｃが含まれて構成されている。動きベクトル探索部１２０ａ、１２０ｂ、１２０ｃそれぞれは、参照画像と現画像とを入力として、例えばブロックマッチングにより各ブロックの動きベクトル探索を実施する動きベクトル探索手段である。図１に示す構成例においては、動きベクトル探索部１２０ａ、１２０ｂ、１２０ｃの３つの動きベクトル探索手段は、３ブロックの動きベクトル探索を並列に処理することができ、処理結果を各ブロックの暫定動きベクトルとして出力する。動きベクトル探索部１２０ａ、１２０ｂ、１２０ｃそれぞれが出力する各ブロックの暫定動きベクトルは動きベクトルバッファ１２６に保持される。
【００３７】
依存処理部１２５は、動きベクトルバッファ１２６に保持された近傍ブロックの動き情報を参照して、符号化処理対象のブロックの動き情報の変更の是非を判定し、動き情報を変更する必要があると判定した場合には、変更した動き情報を動きベクトルバッファ１２６に記録する動作を行うものである。依存処理部１２５は、ＡＭＶＰ選択部１２１、マージコスト算出部１２２、動き情報決定部１２３を少なくとも含んで構成される。ＡＭＶＰ選択部１２１は、動きベクトルバッファ１２６に保持された近傍ブロックの動きベクトルから、各ブロックにおける動き情報符号量Ｒを最小化することができる予測ベクトルを選択し、選択した結果に基づいてＡＭＶＰのレート歪みコストＪ１を算出してＡＭＶＰコストとして出力する予測ベクトル選択手段である。
【００３８】
マージコスト算出部１２２は、動きベクトルバッファ１２６に保持された近傍ブロックの動きベクトルから、マージベクトル候補を算出し、さらに、参照画像と現画像とを用いて、各マージベクトル候補のレート歪みコストＪ２を算出し、算出したレート歪みコストＪ２が最小になるマージベクトル候補を選択し、最小となったレート歪みコストＪ２をマージコストとして出力するマージコスト算出手段である。動き情報決定部１２３は、マージコスト算出部１２２が算出したマージベクトル候補のレート歪みコストＪ２（マージコスト）とＡＭＶＰ選択部１２１の算出結果のＡＭＶＰのレート歪みコストＪ１（ＡＭＶＰコスト）とを比較した結果に基づいて、符号化処理対象ブロックをマージモードに設定するか否かを決定する動き情報決定手段である。動き情報決定部１２３は、マージコストがＡＭＶＰコストよりも小さければ、当該ブロックをマージモードと決定し、動きベクトルバッファ１２６の内容をマージモードに更新する。
【００３９】
（第１の実施の形態の動作の説明）
次に、本第１の実施の形態として図１に示した動き推定器１０８の動作について図２から図４に示すフローチャートを参照しながら詳細に説明する。図２は、図１に示した動き推定器１０８における動き推定処理概要の一例を示すフローチャートである。図２のフローチャートに示すように、まず、全てのブロックについて並列に無依存処理を行い（ステップＳ１０１、ステップＳ１０３）、しかる後、全てのブロックについてステップＳ１０１の処理結果を用いて依存処理を行う（ステップＳ１０２、ステップＳ１０４）。
【００４０】
次に、図２のステップＳ１０１とステップＳ１０２とのそれぞれの動作について、図３のフローチャートと図４のフローチャートとを用いて詳細に説明する。図３は、図１に示した動き推定器１０８の無依存処理部１２４ａ、１２４ｂ、１２４ｃにおける無依存処理（図２のステップＳ１０１）の一例を示すフローチャートであり、図４は、図１に示した動き推定器１０８の依存処理部１２５における依存処理（図２のステップＳ１０２）の一例を示すフローチャートである。
【００４１】
図２のステップＳ１０１の無依存処理については、図３のフローチャートに示すように、まず、動きベクトル探索部１２０ａ、１２０ｂ、１２０ｃそれぞれが各ブロックの動きベクトル探索を並列に行う（ステップＳ２０１）。動きベクトル探索の結果として得られる暫定動きベクトルは、動きベクトルバッファ１２６に書き込まれる。
【００４２】
次に、図２のステップＳ１０２の依存処理の詳細について説明する。依存処理については、図４のフローチャートに示す各ブロックの処理が逐次処理で実行される。各ブロックにおいて、まず、ＡＭＶＰ選択部１２１が動きベクトルバッファ１２６に保持されている近傍ブロックの動きベクトルを用いてＡＭＶＰ候補を列挙し、動き情報符号量Ｒを最も少なくすることができる予測ベクトルを選択する（ステップＳ３０１）。動き情報符号量Ｒが最も少なくなる予測ベクトルを用いたレート歪みコストＪ１がＡＭＶＰコストとなる。次に、マージコスト算出部１２２がマージコストを算出する（ステップＳ３０２）。マージコストの算出においては、動きベクトルバッファ１２６に保持されている近傍ブロックの動きベクトルからマージベクトル候補を列挙し、列挙した各マージベクトル候補のレート歪みコストＪ２を算出して、最小となるレート歪みコストＪ２（マージコスト）を求める。
【００４３】
次いで、ステップＳ３０１およびステップＳ３０２それぞれにおいて求めたＡＭＶＰコストとマージコストとを動き情報決定部１２３にて比較する（ステップＳ３０３）。動き情報決定部１２３は、マージコストの方が小さければ（ステップＳ３０３のｙｅｓ）、動き情報としてマージモードであることを設定し（ステップＳ３０４）、マージベクトルを当該ブロックの動きベクトルとして動きベクトルバッファ１２６の内容を更新する（ステップＳ３０５）。逆に、ＡＭＶＰコストの方が小さければ（ステップＳ３０３のｎｏ）、動き情報決定部１２３は、動き情報として予測ベクトルを設定する（ステップＳ３０６）。つまり、ＡＭＶＰコストの方が小さい場合は、動きベクトルバッファ１２６の内容の更新は行われない。
【００４４】
なお、以上の説明においては、依存処理部１２５における依存処理を逐次的に実施する場合について一例として説明したが、近傍ブロックとの依存制約を守れば、前述したＷＰＰのように、複数の依存処理部を用いて並列処理を行うことも可能である。
【００４５】
（第１の実施の形態の効果の説明）
次に、本第１の実施の形態の効果について説明する。本第１の実施の形態においては、動き推定の中でも演算量の多い動きベクトル探索を、無依存処理として並列に配置した複数個の動きベクトル探索部１２０ａ、１２０ｂ、１２０ｃにおいて全ブロックについて並列に処理することができる。これにより、メニーコアプロセッサを用いた場合に、より多くのプロセッサコアを有効に活用することができ、処理時間を短縮することができる。また、動きベクトル探索の結果、近傍ブロックのマージ判定の結果を用いてＡＭＶＰ選択、マージ選択を行うことができるため、符号化効率の低下を抑えることができる。
【００４６】
［第２の実施の形態］
本第２の実施の形態においては、符号化対象のブロックを２種類に分類し、第１のブロックに対する依存処理を行う場合には、前述した第１の実施の形態と同様に、動きベクトルの更新を行うが、第２のブロックに対する依存処理を行う場合には、動きベクトルの更新を実施しない。これによって、依存処理であるＡＭＶＰ選択、マージコスト算出も並列処理を行うことを可能にすることを特徴とする。
【００４７】
つまり、本第２の実施の形態においては、全ブロックの無依存処理が終了した後、無依存処理の結果を用いて、第１のブロックに分類したブロックに関する依存処理を行い、続いて、無依存処理の結果と第１のブロックの依存処理の結果とを用いて、第２のブロックに分類したブロックに関する依存処理を行う。
【００４８】
例えば、図５に示すように、互いのブロックの配置関係が左・左上・上・右上のいずれのブロックにもならないブロックからなる第１のブロック０５１の群とそれ以外の残りのブロックからなる第２のブロック０５２の群との２つの群に符号化対象画像の全ブロックを分類する。ここで、図５は、第２の実施の形態において符号化対象のブロックを第１のブロックと第２のブロックとに分類する例を説明するための模式図である。図５は、第１のブロック０５１の群に含まれるブロックの近傍ブロックである、当該ブロックの周辺（上下左右斜め）を囲む合計８個のブロックが、全て第２のブロック０５２の群に含まれるブロックによって構成されている例を示している。
【００４９】
処理対象のブロックに関する依存処理であるＡＭＶＰ選択・マージコスト算出の処理に当たっては、当該ブロックの近傍ブロックのうち左・左上・上・右上の各ブロックの動きベクトルを参照する。従って、図５における第１のブロック０５１は、近傍ブロックのうち第２のブロック０５２の動きベクトルのみを参照することが分かる。そのため、第１のブロック０５１の依存処理による動きベクトルの更新は、他の第１のブロック０５１の依存処理には影響を与えない。よって、第１のブロック０５１の依存処理は全て並列に実施することができる。さらに、図５における第２のブロック０５２の依存処理については、動きベクトルを更新しないようにすることによって、近傍ブロックとして第１ブロック０５１および第２のブロック０５２の区別なく参照しても、他の第２のブロック０５２の依存処理に影響を与えることがない。よって、第２のブロック０５２の依存処理も全て並列に実行することができる。
【００５０】
（第２の実施の形態の構成の説明）
次に、本発明による動画像符号化装置の第２の実施の形態の構成について詳細に説明する。第２の実施の形態の動画像符号化装置についても、第１の実施の形態における動画像符号化装置と同様、動き推定器の内部構成を除いて、図１９に示したＨ．２６５規格準拠の動画像符号化装置における各構成要素と全く同様の構成からなる。すなわち、第２の実施の形態の動画像符号化装置は、動き補償予測器００１、直交変換器００２、量子化器００３、符号化器００４、逆量子化器００５、逆直交変換器００６、画面内予測器００７、ループフィルタ００９、フレームバッファ０１０を備え、かつ、動き推定器００８の代わりに動き推定器２０８を備えて構成される。
【００５１】
本第２の実施の形態における動き推定器２０８の構成例を図６に示す。動き推定器２０８は、無依存処理部１２４ａ、１２４ｂ、１２４ｃ、第１依存処理部２２７ａ、２２７ｂ、第２依存処理部２２８ａ、２２８ｂ、動きベクトルバッファ１２６を少なくとも備えて構成される。無依存処理部１２４ａ、１２４ｂ、１２４ｃおよび動きベクトルバッファ１２６は第１の実施の形態として図１に示した動き推定器１０８と全く同様であり、以下では、図１に示した動き推定器１０８の依存処理部１２５とは異なる構成要素である第１依存処理部２２７ａ、２２７ｂ、第２依存処理部２２８ａ、２２８ｂについて説明する。
【００５２】
つまり、図６に示す動き推定器２０８は、図１に示した動き推定器１０８の依存処理部１２５の代わりに、第１のブロック０５１の依存処理を行う第１依存処理部２２７ａ、２２７ｂと第２のブロック０５２の依存処理を行う第２依存処理部２２８ａ、２２８ｂとを配置して構成される。なお、図６には、第１依存処理部２２７ａ、２２７ｂ、第２依存処理部２２８ａ、２２８ｂそれぞれの個数を２個ずつ備えた場合を示しているが、かかる場合に限るものではなく、それぞれが任意の個数であって良い。第１依存処理部２２７ａ、２２７ｂ、第２依存処理部２２８ａ、２２８ｂそれぞれの内部構成は、図１の依存処理部１２５の場合と同様、ＡＭＶＰ選択部１２１、マージコスト算出部１２２、動き情報決定部１２３を少なくとも含んでそれぞれ構成されている。
【００５３】
第１依存処理部２２７ａ、２２７ｂ（第１依存処理手段）における第１依存処理と第２依存処理部２２８ａ、２２８ｂ（第２依存処理手段）における第２依存処理とは、無依存処理部１２４ａ、１２４ｂ、１２４ｃにおける無依存処理の結果である動きベクトルを変更することが可能であるか否かが異なっている。第１依存処理部２２７ａ、２２７ｂにおける第１依存処理は、動きベクトルバッファ１２６に保持された近傍ブロックの動き情報の参照結果に基づいて、処理対象のブロックの動き情報を更新して動きベクトルバッファ１２６に記録するとともに外部に出力する際に、当該処理対象のブロックの動き情報のうち動きベクトルをも含んで更新することができる。そのため、第１依存処理では、無依存処理部１２４ａ、１２４ｂ、１２４ｃにおける動きベクトル探索の結果とは異なる動きベクトルを動き情報として出力することができる。一方、第２依存処理部２２８ａ、２２８ｂにおける第２依存処理は、動きベクトルバッファ１２６に保持された近傍ブロックの動き情報の参照結果に基づいて、処理対象のブロックの動き情報を更新して動きベクトルバッファ１２６に記録するとともに外部に出力する際に、当該処理対象のブロックの動き情報のうち動きベクトルについては更新しない。そのため、第２依存処理では、無依存処理部１２４ａ、１２４ｂ、１２４ｃにおける動きベクトル探索の結果と同一の動きベクトルを動き情報として出力する。
【００５４】
（第２の実施の形態の動作の説明）
次に、本第２の実施の形態として図６に示した動き推定器２０８の動作について図７に示すフローチャートを参照しながら詳細に説明する。図７は、図６に示した動き推定器２０８における動き推定処理概要の一例を示すフローチャートである。図７のフローチャートに示すように、まず、図２のフローチャートのステップＳ１０１、Ｓ１０３と同様、全てのブロックについて並列に無依存処理を行い（ステップＳ４０１、ステップＳ４０３）、しかる後、全ての第１のブロック０５１についてステップＳ４０１の処理結果を用いて第１依存処理を行う（ステップＳ４０２、ステップＳ４０４）。
【００５５】
次いで、第１のブロックに関する第１依存処理を全て終了すると（ステップＳ４０４のｙｅｓ）、全ての第２のブロック０５２について第２依存処理を行う（ステップＳ４０５、Ｓ４０６）。第２のブロック０５２に関する第２依存処理を全て終了すると（ステップＳ４０６のｙｅｓ）、動き推定処理が完了になる。ここで、ステップＳ４０２の第１依存処理とステップＳ４０５の第２依存処理とのそれぞれは、複数個配置されている第１依存処理部２２７ａ、２２７ｂ、第２依存処理部２２８ａ、２２８ｂそれぞれを用いて、複数個のブロックを並列に処理することができる。
【００５６】
第１依存処理部２２７ａ、２２７ｂの第１依存処理については、第１の実施の形態として図４に示した依存処理のフローチャートと全く同一の動作を全てのブロックではなく第１のブロック０５１に対して行う。ただし、第１のブロック０５１の処理において近傍ブロックとして参照されるブロックは、図５に例示したように、動き情報の変更がない第２のブロック０５２のみであり、第１依存処理部２２７ａ、２２７ｂは、並列に動作することが可能である。
【００５７】
次に、図７のステップＳ４０５の第２依存処理の動作について、図８のフローチャートを用いて詳細に説明する。図８は、図６に示した動き推定器２０８の第２依存処理部２２８ａ、２２８ｂにおける第２依存処理（図７のステップＳ４０５）の一例を示すフローチャートである。なお、前述のように、第２依存処理部２２８ａ、２２８ｂそれぞれにおける第２依存処理においては第２のブロック０５２に関する依存処理を行う。
【００５８】
各第２のブロックについて、まず、ＡＭＶＰ選択部１２１が、第１の実施の形態として図４に示したステップＳ３０１の場合と同様、動きベクトルバッファ１２６に保持されている近傍ブロックの動きベクトルを用いてＡＭＶＰ候補を列挙し、動き情報符号量Ｒを最も少なくすることができる予測ベクトルを選択する（ステップＳ５０１）。動き情報符号量Ｒが最も少なくなる予測ベクトルを用いたレート歪みコストＪ１がＡＭＶＰコストとなる。
【００５９】
次に、マージコスト算出部１２２は、動きベクトルバッファ１２６に保持されている該当の第２のブロック０５２の暫定動きベクトルが、マージモードにおけるマージベクトルと同一であるか否かを判断する（ステップＳ５０２）。当該第２のブロック０５２の暫定動きベクトルがマージベクトルと同一であった場合には（ステップＳ５０２のｙｅｓ）、マージコストを算出する（ステップＳ５０３）。マージコストの算出においては、第１の実施の形態として図４に示したステップＳ３０２の場合と同様、動きベクトルバッファ１２６に保持されている近傍ブロックの動きベクトルからマージベクトル候補を列挙し、列挙した各マージベクトル候補のレート歪みコストＪ２を算出して、最小となるレート歪みコストＪ２（マージコスト）を求める。
【００６０】
次いで、ステップＳ５０１およびステップＳ５０３それぞれにおいて求めたＡＭＶＰコストとマージコストとを動き情報決定部１２３にて比較して（ステップＳ５０４）、マージコストの方が小さければ（ステップＳ５０４のｙｅｓ）、第１の実施の形態として図４に示したステップＳ３０４の場合と同様、動き情報としてマージモードであることを設定する（ステップＳ５０５）。ただし、第１の実施の形態の図４の場合とは異なり、第２のブロック０５２における第２依存処理の結果は他のブロックから参照されないため、動きベクトルバッファ１２６を更新する処理は行わない。
【００６１】
また、ステップＳ５０２において、当該第２のブロック０５２の暫定動きベクトルがマージベクトルと同一ではなかった場合には（ステップＳ５０２のｎｏ）、ステップＳ５０４においてＡＭＶＰコストの方が小さかった場合（ステップＳ５０４のｎｏ）と同様、マージコストは算出されず、動き情報にマージモードが設定されることはない。さらに、暫定動きベクトルから変更することもないので、動きベクトルバッファ１２６に対する動きベクトルの更新も行われない。つまり、第１の実施の形態として図４に示したステップＳ３０６の場合と同様、動き情報として予測ベクトルを設定する動作のみを行う（ステップＳ５０７）。
【００６２】
（第２の実施の形態の効果の説明）
本第２の実施の形態においては、符号化対象のブロックを第１のブロック０５１と第２のブロック０５２との２種類のブロックに分類して、それぞれ、複数個配置した第１依存処理部２２７ａ、２２７ｂと、第２依存処理部２２８ａ、２２８ｂとにより、並列に処理する。これにより、無依存処理のみならず、依存処理も並列に処理することが可能になり、処理時間を第１の実施の形態の場合よりも短縮することができる。
【００６３】
［第３の実施の形態］
Ｈ．２６５規格においては、前述のように、動画像符号化装置（エンコーダ）が、マージモード判定・ＡＭＶＰ（予測ベクトル）選択に用いる近傍ブロックを候補内から任意に選択することができる。そのため、第１のブロック群において参照するブロックを一部制限することによって、並列処理を可能としながら、マージモードによる動きベクトルの変更が可能な第１のブロックの個数を増加することができる。つまり、例えば、第２の実施の形態として図６に示した動き推定器２０８の第１依存処理部２２７ａ、２２７ｂの第１依存処理手段は、処理対象のブロックの近傍ブロックとして、図５に例示したような第２のブロック０５２の群に含まれるブロックのみを任意に選択して参照するように設定して、第１のブロック０５１の群に含まれるブロックの処理を並列に行う構成とする。これによって、第１のブロック０５１に含まれるブロックの個数を増加させることができる。
【００６４】
例えば、マージモード判定・ＡＭＶＰ選択において、参照を制限するブロックとして、第１のブロック０５１のそれぞれにおける左上ブロックの参照を禁止することにより、第１のブロック０５１と第２のブロック０５２とを図９に示すように設定することも可能である。ここで、図９は、第３の実施の形態において符号化対象のブロックを第１のブロック０５１と第２のブロック０５２とに分類する一例を説明するための模式図である。図９に示すように、第１のブロック０５１の参照ブロックは、左上のブロックを除くと第２のブロック０５２のみとなる。これにより、第２の実施の形態における図５の場合に比して、第１のブロック０５１の個数を増加させることができる。
【００６５】
さらに、第１のブロック０５１の群において、左上に加えて、右上のブロックの参照も禁止することにより、図１０に示すように第１のブロック０５１と第２のブロック０５２とを設定することもできる。あるいは、第１のブロック０５１の群において、左ブロックの参照を禁止することによって、図１１に示すように第１のブロック０５１と第２のブロック０５２とを設定することもできる。また、図１２に示すように第１のブロック０５１と第２のブロック０５２とを設定して、第１のブロック０５１の一部については左上・上・右上のブロックの参照を禁止、他の一部については左・左上・右上のブロックの参照を禁止、さらに他の一部については左・上のブロックの参照を禁止というように、第１のブロック０５１ごとに参照を禁止するブロックを変更することもできる。
【００６６】
なお、本第３の実施の形態における動画像符号化装置の構成や動作については、第２の実施の形態の場合と同様であり、動き推定処理を行う動き推定器も図６に示した動き推定器２０８と同様の構成を用いて構わない。ただし、本第３の実施の形態においては、第２のブロック０５２に関するＡＭＶＰ選択・マージコスト算出の処理において、第２の実施の形態の場合とは異なり、近傍ブロックのうち参照禁止ブロックとしてあらかじめ設定された特定のブロックを参照することはない。ここで、特定のブロックとは、例えば図９に示した第１のブロック０５１、第２のブロック０５２の分類例の場合について説明すると、第１のブロック０５１の左上のブロックを意味している。
【００６７】
（第３の実施の形態の効果の説明）
本第３の実施の形態においては、第１のブロック０５１が近傍ブロックに関して参照することが可能なブロックに制限を設定することによって、第２の実施の形態の場合に比べて、マージモード判定により動きベクトルを変更することができるブロック（第１のブロック０５１）の個数を増加することが可能になる。このため、符号化効率を向上することができる。また、第１のブロック０５１、第２のブロック０５２のいずれも並列処理が可能であるため、処理時間の増加を抑えることができる。
【００６８】
［第４の実施の形態］
本第４の実施の形態においては、第２・第３の実施の形態における第１のブロック０５１のみならず、第２のブロック０５２についても、参照可能なブロックを制限することにより、第１のブロック０５１と第２のブロック０５２とをさらに並列に処理することを可能とすることを特徴とする。つまり、本第４の実施の形態においては、第２のブロック０５２を処理する第２依存処理において、第１のブロック０５１の参照を禁止し、動きベクトルが変化しない第２のブロック０５２のみの参照を許可するようにする。例えば、図１０に示したブロック分類例の場合、第２のブロック０５２を処理する第２依存処理においては、第２のブロック０５２すなわち動きベクトルが変化しない左上と右上のブロックのみを参照可能とする。
【００６９】
（第４の実施の形態の構成の説明）
本第４の実施の形態の動画像符号化装置についても、第１の実施の形態における動画像符号化装置と同様、動き推定器の内部構成を除いて、図１９に示したＨ．２６５規格準拠の動画像符号化装置における各構成要素と全く同様の構成からなる。すなわち、第４の実施の形態の動画像符号化装置は、動き補償予測器００１、直交変換器００２、量子化器００３、符号化器００４、逆量子化器００５、逆直交変換器００６、画面内予測器００７、ループフィルタ００９、フレームバッファ０１０を備え、かつ、動き推定器００８の代わりに動き推定器３０８を備えて構成される。
【００７０】
本第４の実施の形態における動き推定器３０８の構成例を図１３に示す。動き推定器３０８は、第２の実施形態として図６に示した動き推定器２０８の場合と同様の機能をそれぞれに有する無依存処理部１２４ａ、１２４ｂ、１２４ｃ、第２依存処理部２２８ａ、２２８ｂおよび動きベクトルバッファ１２６を備える。さらに、動き推定器３０８は、図６に示した動き推定器２０８の場合の第１依存処理部２２７ａ、２２７ｂとは異なる動作を行う第１依存処理部３２７ａ、３２７ｂを少なくとも備えて構成される。ここで、第１依存処理部３２７ａ、３２７ｂの第１依存処理手段は、処理対象のブロックを処理する際に、図６における第１依存処理部２２７ａ、２２７ｂの場合と同様、近傍ブロックのうち第２のブロック０５２の群に含まれるブロックのみを参照して、第１のブロック０５１の群に含まれる各ブロックを並列に処理する動作を行う。一方、第２依存処理部２２８ａ、２２８ｂの第２依存処理手段は、処理対象のブロックを処理する際に、図６における第２依存処理部２２８ａ、２２８ｂの場合とは異なり、近傍ブロックのうち第２のブロック０５２の群に含まれるブロックを参照して、第２のブロック０５２の群に含まれる各ブロックを並列に処理する動作を行う。而して、第１依存処理部３２７ａ、３２７ｂの第１依存処理手段と第２依存処理部２２８ａ、２２８ｂの第２依存処理手段とが並列に動作することを可能にしている。
【００７１】
（第４の実施の形態の動作の説明）
次に、本第４の実施の形態として図１３に示した動き推定器３０８の動作について図１４に示すフローチャートを参照しながら詳細に説明する。図１４は、図１３に示した動き推定器３０８における動き推定処理概要の一例を示すフローチャートである。図１４のフローチャートに示すように、まず、図２のフローチャートのステップＳ１０１、Ｓ１０３と同様、全てのブロックについて並列に無依存処理を行う（ステップＳ７０１、ステップＳ７０３）。しかる後、全ての第１のブロック０５１についてステップＳ１０１の処理結果を用いて第１依存処理を行うとともに（ステップＳ７０２、ステップＳ７０４）、並行して、全ての第２のブロック０５２について図７のフローチャートのステップＳ４０１、Ｓ４０６と同様の第２依存処理を行う（ステップＳ７０５、ステップＳ７０６）。ただし、ステップＳ７０５の第２依存処理において、近傍ブロックとして参照されるブロックは、前述のように、第２ブロック０５２の群に含まれるブロックのみに制限されている。
【００７２】
つまり、無依存処理および第２依存処理における動作は、第２依存処理の参照ブロックが第２のブロック０５２のみに制限されている以外は、第２の実施の形態として図８に示した処理と全く同一である。しかし、第１依存処理における動作は、第１のブロック０５１に関する第１依存処理の結果が他のブロックからは参照されることがない。そのため、第２の実施の形態として図８に示した処理とは異なり、動きベクトルバッファ１２６を更新する必要はない。
【００７３】
次に、図１４のステップＳ７０２の第１依存処理の動作について、図１５のフローチャートを用いて詳細に説明する。図１５は、図１３に示した動き推定器３０８の第１依存処理部３２７ａ、３２７ｂにおける第１依存処理（図１４のステップＳ７０２）の一例を示すフローチャートである。第１依存処理部３２７ａ、３２７ｂそれぞれにおける第１依存処理においては、前述のように、第１のブロック０５１に関する依存処理を行う。
【００７４】
各第１のブロックについて、まず、ＡＭＶＰ選択部１２１が、第１の実施の形態として図４に示したステップＳ３０１の場合と同様、動きベクトルバッファ１２６に保持されている近傍ブロックの動きベクトルを用いてＡＭＶＰ候補を列挙し、動き情報符号量Ｒを最も少なくすることができる予測ベクトルを選択する（ステップＳ８０１）。動き情報符号量Ｒが最も少なくなる予測ベクトルを用いたレート歪みコストＪ１がＡＭＶＰコストとなる。
【００７５】
次に、マージコスト算出部１２２が、マージコストを算出する（ステップＳ８０２）。マージコストの算出においては、第１の実施の形態として図４に示したステップＳ３０２の場合と同様、動きベクトルバッファ１２６に保持されている近傍ブロックの動きベクトルからマージベクトル候補を列挙し、列挙した各マージベクトル候補のレート歪みコストを算出して、最小となるレート歪みコストＪ２（マージコスト）を求める。
【００７６】
次いで、ステップＳ８０１およびステップＳ８０２それぞれにおいて求めたＡＭＶＰコストとマージコストとを動き情報決定部１２３にて比較する（ステップＳ８０３）。動き情報決定部１２３は、マージコストの方が小さければ（ステップＳ８０３のｙｅｓ）、第１の実施の形態として図４に示したステップＳ３０４の場合と同様、動き情報としてマージモードであることを設定する（ステップＳ８０４）。ただし、第１の実施の形態とは異なり、第１のブロック０５１における第１依存処理の結果は他のブロックから参照されないため、動きベクトルバッファ１２６を更新する必要はない。
【００７７】
また、ステップＳ８０３においてＡＭＶＰコストの方が小さかった場合（ステップＳ８０３のｎｏ）には、第１の実施の形態として図４に示したステップＳ３０６の場合と同様、動き情報として予測ベクトルを設定する（ステップＳ８０５）。
【００７８】
以上のように、本第４の実施の形態においては、第２のブロック０５２に対する第２依存処理の動作は、近傍ブロックとしての参照ブロックに制限がある以外は、第２の実施の形態として図８のフローチャートに示した場合と全く同一である。しかし、第１のブロック０５１に対する第１依存処理の動作は、第２の実施の形態として図８のフローチャートに示した場合とは異なり、第１のブロック０５１に対する第１依存処理の結果が他のブロックからは参照されることがない。そのため、図１３のブロック構成図、図１５のフローチャートに示したように、第１依存処理結果によって動きベクトルバッファ１２６の内容を更新する必要がない。また、図１４のフローチャートに示したように、本第４の実施の形態においては、第１依存処理と第２依存処理とを並列に実行することが可能である。
【００７９】
（第４の実施の形態の効果の説明）
本第４の実施の形態においては、第１のブロックと第２のブロックとのそれぞれの依存処理を並列に処理することが可能となるため、第１・第２・第３の実施の形態の場合と比較して、処理時間をさらに短縮することができる。
【００８０】
［第５の実施の形態］
本第５の実施の形態においては、第２・第３の実施の形態の場合に加えて、第１のブロックのみならず、第２のブロックについても、動きベクトルを変更可能とし、さらに、第２のブロックの依存処理結果を参照して、再び、第１のブロックの依存処理を実行することを特徴としている。なお、本第５の実施の形態における動き推定器の構成例は、第２の実施の形態として図６に示した動き推定器２０８と全く同一の構成で構わない。
【００８１】
（第５の実施の形態の動作の説明）
本第５の実施の形態における動き推定器２０８の動作概要の一例を図１６のフローチャートに示す。図１６のフローチャートに示すように、まず、図２のフローチャートのステップＳ１０１、Ｓ１０３と同様、全てのブロックについて並列に無依存処理を行い（ステップＳ９０１、ステップＳ９０３）、しかる後、全ての第１のブロック０５１について動きベクトルの変更が可能な第１依存処理を並列に行う（ステップＳ９０２、ステップＳ９０４）。ここで、ステップＳ９０２においては、近傍ブロックとして第１のブロック０５１と第２のブロック０５２との両方の動きベクトルを参照可能とする。なお、第１のブロック０５１の動きベクトルは、ステップＳ９０２の結果ではなく、ステップＳ９０１における無依存処理の結果を用いる。
【００８２】
次いで、第１のブロックに関する第１依存処理を全て終了すると（ステップＳ９０４のｙｅｓ）、全ての第２のブロック０５２について、動きベクトルを変更しない第２依存処理ではなく、動きベクトルの変更が可能な第１依存処理を並列に行う（ステップＳ９０５、Ｓ９０６）。ここで、ステップＳ９０５においては、近傍ブロックとして、ステップＳ９０２の第１のブロック０５１に関する第１依存処理の処理結果である動きベクトルのみを用いる。しかる後、再度、全ての第１のブロック０５１に関する処理に戻り、第１のブロック０５１について、第１のブロック０５１に関するステップＳ９０２の処理結果と第２のブロック０５１に関するステップＳ９０５の処理結果とを参照して、第２依存処理を行う（ステップＳ９０７、ステップＳ９０８）。すなわち、ステップＳ９０７においては、全ての第１のブロック０５１に関し、第１依存処理ではなく、第２依存処理を行うこととし、第１のブロック０５１に関する動きベクトルの変更は行わない。
【００８３】
第１のブロック０５２に関する第２依存処理を全て終了すると（ステップＳ９０８のｙｅｓ）、動き推定処理が完了になる。なお、図１６のフローチャートにおいては、第１のブロック０５１・第２のブロック０５２に関する第１依存処理を１回行った後、第１のブロックに関する第２依存処理を行う場合を例示したが、かくのごとき処理の繰り返し回数をさらに増やして繰り返すようにしても良い。
【００８４】
（第５の実施の形態の効果の説明）
本第５の実施の形態においては、第１のブロック０５１、第２のブロック０５２のいずれに対しても、少なくとも一度は動きベクトルを変更することを可能とすることによって、第２・第３の実施の形態の場合に比して、符号化効率をさらに向上させることができる。
【００８５】
［第６の実施の形態］
本第６の実施の形態においては、図１７に示すように、符号化対象のブロックを、第２ないし第５の実施の形態の場合のように、２種類のみのブロックに分類するのではなく、３種類以上のブロックに分類することを特徴とする。ここで、図１７は、第６の実施の形態において符号化対象のブロックを複数種類のブロックに分類する一例を説明するための模式図であり、図１７においては、第１のブロック０５１、第２のブロック０５２、第３のブロック０５３の３種類に分類した場合を例示している。なお、本第６の実施の形態における動き推定器の構成例は、第２の実施の形態として図６に示した動き推定器２０８と全く同一の構成であっても構わない。例えば図６に示した動き推定器２０８を用いる場合には、第１依存処理部２２７ａ、２２７ｂが、第１のブロック０５１と第２のブロック０５２とに関する依存処理を行い、第２依存処理部２２８ａ、２２８ｂが、第３のブロック０５３に関する依存処理を行うようにすれば良い。
【００８６】
（第６の実施の形態の動作の説明）
本第６の実施の形態における動き推定器２０８の動作概要の一例を図１８のフローチャートに示す。図１８のフローチャートに示すように、まず、図２のフローチャートのステップＳ１０１、Ｓ１０３と同様、全てのブロックについて並列に無依存処理を行い（ステップＳ１００１、ステップＳ１００３）、しかる後、全ての第１のブロック０５１について動きベクトルの変更が可能な第１依存処理を行う（ステップＳ１００２、ステップＳ１００４）。ここで、ステップＳ１００２においては、第３のブロック０５３を参照して、第１のブロック０５１の第１依存処理を行う。
【００８７】
次いで、第１のブロックに関する第１依存処理を全て終了すると（ステップＳ１００４のｙｅｓ）、全ての第２のブロック０５２について動きベクトルの変更が可能な第１依存処理を行う（ステップＳ１００５、Ｓ１００６）。ここで、ステップＳ１００５においては、第１のブロック０５１および第３のブロック０５３を参照して、第２のブロック０５２の第１依存処理を行う。
【００８８】
しかる後、全ての第３のブロック０５３について動きベクトルの変更を行わない第２依存処理を行う（ステップＳ１００７、Ｓ１００８）。ここで、ステップ１００７においては、第１のブロック０５１、第２のブロック０５２および第３のブロック０５３を参照して、第３のブロック０５３の第２依存処理を行う。なお、図１７の模式図および図１８のフローチャートにおいては、第１のブロック０５１・第２のブロック０５２・第３のブロック０５３の３種類に分類した例を示したが、前述のように、かくのごとき分類数に限るものではなく、分類数をさらに増やしても同様の処理を行うことができる。
【００８９】
（第６の実施の形態の効果の説明）
本第６の実施の形態においては、第２ないし第５の実施の形態の場合に比して、動きベクトルを変更可能とするブロック数を増加することができるため、第２ないし第５の実施の形態の場合よりも符号化効率をさらに向上させることができる。
【００９０】
（その他の実施の形態）
前述したＡＭＶＰ選択処理においては、動き情報の符号化コストのみを算出して動きベクトルとの差分が最も小さい近傍ブロックのベクトルを選択する場合について説明したが、さらに、予測ベクトル周辺の候補ベクトルについて改めてレート歪みコストを計算し直すことにすれば、符号化効率の向上を見込むことができる。また、かくのごとき処理を繰り返すことにより、すなわち、近傍ブロックのベクトルを使用した動きベクトル探索を複数回繰り返す処理を行うことにより、さらに符号化効率を向上させることが可能である。
【００９１】
また、動きベクトルバッファ１２６に保持するデータとして動きベクトルのみを対象として示しているが、符号化モード情報等の他の情報をさらに加えて保持するようにしても良い。かくのごとき多彩な情報を用いることにより、ＲＤコストの精度をさらに上げて、符号化効率を向上させることが可能になる。
【００９２】
また、前述した各実施の形態においては、依存処理の例として、Ｈ．２６５規格に準拠のコーデックにおけるＡＭＶＰ選択処理とマージモード判定処理とを示したが、例えばＨ．２６４規格準拠のコーデックにおいては、さらに、スキップモード判定処理が依存処理の対象となる。
【産業上の利用可能性】
【００９３】
本発明によれば、符号化効率を保ちつつ高性能の並列処理が可能であるので、高解像度映像の高速処理を実現することができ、本発明を高解像度処理が要求される撮像システムやトランスコードシステムなどに有用に適用することができる。【００９４】
以上、本発明の好適な実施形態の構成を説明した。しかし、かかる実施形態は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることが、当業者には容易に理解できよう。【００９５】
この出願は、２０１３年１２月４日に出願された日本出願特願２０１３−２５０９２６を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００９６】
００１      動き補償予測器
００２      直交変換器
００３      量子化器
００４      符号化器
００５      逆量子化器
００６      逆直交変換器
００７      画面内予測器
００８      動き推定器
００９      ループフィルタ
０１０      フレームバッファ
０２０      動きベクトル探索部
０２１      ＡＭＶＰ選択部
０２２      マージコスト算出部
０２３      動き情報決定部
０５１      第１のブロック
０５２      第２のブロック
０５３      第３のブロック
１０８      動き推定器
１２０ａ    動きベクトル探索部
１２０ｂ    動きベクトル探索部
１２０ｃ    動きベクトル探索部
１２１      ＡＭＶＰ選択部
１２２      マージコスト算出部
１２３      動き情報決定部
１２４ａ    無依存処理部
１２４ｂ    無依存処理部
１２４ｃ    無依存処理部
１２５      依存処理部
１２６      動きベクトルバッファ
２０８      動き推定器
２２７ａ    第１依存処理部
２２７ｂ    第１依存処理部
２２８ａ    第２依存処理部
２２８ｂ    第２依存処理部
３０８      動き推定器
３２７ａ    第１依存処理部
３２７ｂ    第１依存処理部
【図１】
2015083300.tif 000003
【図２】
2015083300.tif 000004
【図３】
2015083300.tif 000005
【図４】
2015083300.tif 000006
【図５】
2015083300.tif 000007
【図６】
2015083300.tif 000008
【図７】
2015083300.tif 000009
【図８】
2015083300.tif 000010
【図９】
2015083300.tif 000011
【図１０】
2015083300.tif 000012
【図１１】
2015083300.tif 000013
【図１２】
2015083300.tif 000014
【図１３】
2015083300.tif 000015
【図１４】
2015083300.tif 000016
【図１５】
2015083300.tif 000017
【図１６】
2015083300.tif 000018
【図１７】
2015083300.tif 000019
【図１８】
2015083300.tif 000020
【図１９】
2015083300.tif 000021
【図２０】
2015083300.tif 000022
【図２１】
2015083300.tif 000023
【図２２】
2015083300.tif 000024
【手続補正書】
【提出日】平成28年5月24日(2016.5.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像を複数のブロックに分割し、分割されたブロックごとに動きベクトルを含む動き情報を推定する動き推定処理手段を備えた動画像符号化装置であって、
前記動き推定処理手段は、
近傍ブロックの動き情報を用いることなくブロックごとの処理を行う無依存処理手段と、
近傍ブロックの動き情報を用いてブロックごとの処理を行う依存処理手段と、
各ブロックの処理結果である動き情報を保持する動き情報バッファと
を備え、
前記無依存処理手段は、
任意に設定したブロック数ずつ全てのブロックに対して並列に処理することが可能な構成からなるとともに、参照画像と現画像とを入力として、各ブロックの動きベクトルを探索して、前記動き情報バッファに記録する動きベクトル探索手段を含んで構成され、
前記依存処理手段は、
前記動き情報バッファに保持された近傍ブロックの動き情報を参照して、処理対象のブロックの動き情報の変更の是非を判定し、動き情報を変更する必要があると判定した場合、変更した動き情報を前記動き情報バッファに記録するとともに外部に出力する動作を行う
ことを特徴とする動画像符号化装置。
【請求項２】
前記依存処理手段は、
前記動き情報バッファに保持された近傍ブロックの動き情報を参照し、参照結果に基づいて、処理対象のブロックの動き情報を更新して前記動き情報バッファに記録するとともに外部に出力する際に、前記処理対象のブロックの動き情報のうち動きベクトルをも含んで更新することができる第１依存処理手段と、
前記動き情報バッファに保持された近傍ブロックの動き情報を参照し、参照結果に基づいて、処理対象のブロックの動き情報を更新して前記動き情報バッファに記録するとともに外部に出力する際に、前記処理対象のブロックの動き情報のうち動きベクトルについては更新しない第２依存処理手段と
を備えることを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記動き推定処理手段の処理対象画像の全ブロックを第１のブロック群と第２のブロック群とに分類し、
前記第１依存処理手段は、処理対象のブロックを処理する際に、近傍ブロックのうち前記第２のブロック群に含まれるブロックのみを参照して、前記第１のブロック群に含まれる各ブロックを並列に処理する動作を行い、
前記第２依存処理手段は、処理対象のブロックを処理する際に、近傍ブロックのうち前記第１のブロック群と前記第２のブロック群とに含まれるブロックを参照して、前記第２のブロック群に含まれる各ブロックを並列に処理する動作を行う
ことを特徴とする請求項２に記載の動画像符号化装置。
【請求項４】
前記第１依存処理手段は、
前記第１のブロック群に含まれるブロックの近傍ブロックとして当該ブロックの周辺を囲む８個のブロックが全て前記第２のブロック群に含まれるブロックからなっているように分類される場合には、処理対象のブロックの近傍ブロックとして当該ブロックの周辺を囲む前記第２のブロック群に含まれるブロックのみを選択して参照するか、
または、
前記第１のブロック群に含まれるブロックの近傍ブロックとして当該ブロックの周辺を囲む８個のブロックが全て前記第２のブロック群に含まれるブロックからなっているように分類されるか否かに関わらず、処理対象のブロックの近傍ブロックとして前記第２のブロック群に含まれるブロックのみを任意に選択して参照する
ことを特徴とする請求項３に記載の動画像符号化装置。
【請求項５】
前記動き推定処理手段の処理対象画像の全ブロックを第１のブロック群と第２のブロック群とに分類し、
前記第１依存処理手段は、処理対象のブロックを処理する際に、近傍ブロックのうち前記第２のブロック群に含まれるブロックを参照して、前記第１のブロック群に含まれる各ブロックを並列に処理する動作を行い、
前記第２依存処理手段は、処理対象のブロックを処理する際に、近傍ブロックのうち前記第２のブロック群に含まれるブロックを参照して、前記第２のブロック群に含まれる各ブロックを並列に処理する動作を行う
ことにより、前記第１依存処理手段と前記第２依存処理手段とが並列に動作することを特徴とする請求項２に記載の動画像符号化装置。
【請求項６】
前記動き推定処理手段の処理対象画像の全ブロックを第１のブロック群と第２のブロック群とに分類し、
前記第１依存処理手段は、処理対象のブロックを処理する際に、近傍ブロックのうち前記第１のブロック群と前記第２のブロック群とに含まれるブロックを参照して、前記第１のブロック群に含まれる各ブロックを並列に処理する動作を行った後、さらに、近傍ブロックのうち前記第１のブロック群に含まれるブロックを参照して、前記第２のブロック群に含まれる各ブロックを並列に処理する動作を行い、
しかる後、前記第２依存処理手段が、処理対象のブロックを処理する際に、近傍ブロックのうち前記第１のブロック群と前記第２のブロック群とに含まれるブロックを参照して、前記第１のブロック群に含まれる各ブロックを並列に処理する動作を行う
ことを特徴とする請求項２に記載の動画像符号化装置。
【請求項７】
前記依存処理手段は、
前記動きベクトルバッファに保持された近傍ブロックの動きベクトルから各ブロックにおける動き情報符号量を最小化することができる予測ベクトルを選択し、選択結果に基づいて、レート歪みコストを算出してＡＭＶＰ（Adaptive  Motion  Vector  Prediction）コストとして出力する予測ベクトル選択処理手段と、
前記動きベクトルバッファに保持された近傍ブロックの動きベクトルから得られるマージベクトル候補それぞれのレート歪みコストを算出し、最小となるレート歪みコストをマージコストとして出力するマージコスト算出手段と、
前記マージコストと前記ＡＭＶＰコストとの比較結果に基づいて、処理対象のブロックをマージモードとするか否かを決定する動き情報決定手段と
を含んで構成されていることを特徴とする請求項１ないし６のいずれかに記載の動画像符号化装置。
【請求項８】
画像を複数のブロックに分割し、分割されたブロックごとに動きベクトルを含む動き情報を推定する動画像符号化方法であって、
前記動き情報の推定は、
近傍ブロックの動き情報を用いることなくブロックごとの処理を行うステップと、
近傍ブロックの動き情報を用いてブロックごとの処理を行うステップと、
各ブロックの処理結果である動き情報を、動き情報バッファに保持するステップと、
を有し、
前記近傍ブロックの動き情報を用いることなくブロックごとの処理を行うステップにおいては、
任意に設定したブロック数ずつ全てのブロックに対して並列に、参照画像と現画像とを対象として、各ブロックの動きベクトルを探索して、その探索結果を前記動き情報バッファに保持し、
前記近傍ブロックの動き情報を用いてブロックごとの処理を行うステップにおいては、
前記動き情報バッファによって保持された近傍ブロックの動き情報を参照して、処理対象のブロックの動き情報の変更の是非を判定し、動き情報を変更する必要があると判定した場合、変更した動き情報を前記動き情報バッファに保持するとともに外部に出力する
ことを特徴とする動画像符号化方法。
【請求項９】
前記近傍ブロックの動き情報を用いてブロックごとの処理を行うステップは、
前記動き情報バッファに保持された近傍ブロックの動き情報を参照し、参照結果に基づいて、処理対象のブロックの動き情報を更新して前記動き情報バッファに保持するとともに外部に出力する際に、前記処理対象のブロックの動き情報のうち動きベクトルをも含んで更新可能とする第１のステップと、
前記動き情報バッファに保持された近傍ブロックの動き情報を参照し、参照結果に基づいて、処理対象のブロックの動き情報を更新して前記動き情報バッファに保持するとともに外部に出力する際に、前記処理対象のブロックの動き情報のうち動きベクトルについては更新しない第２のステップと
を有することを特徴とする請求項８に記載の動画像符号化方法。
【請求項１０】
請求項８または９のいずれかに記載の動画像符号化方法を、コンピュータによって実行せしめる動画像符号化用プログラム。
【国際調査報告】
2015083300.tif 000025
2015083300.tif 000026
2015083300.tif 000027
2015083300.tif 000028