(57)【要約】      （修正有）【課題】符号化対象フレームから予測画像を生成する際の演算量およびメモリアクセスを削減し、動画像の符号化を高速化できる動画像符号化装置を提供する。【解決手段】符号化済みブロックに対応付けられた動き情報が格納される第１のバッファ１４から参照画像に対応付けられる動き情報の候補と参照画像とを用いて符号化対象ブロックの予測画像を生成する予測画像生成手段１２３と、符号化対象ブロックと予測画像とを用いて評価コストを算出する評価コスト算出手段１２１と、符号化対象ブロックに対応付ける候補となる動き情報をインデックスとして、動き情報と評価コストとを関連付けて格納する第２のバッファ１２４と、評価コストに基づいて第２のバッファに格納されたインデックスを更新し、符号化対象ブロックに対応付ける候補となる動き情報を評価コストに基づいて第２のバッファから選択するインデックス選択手段１２２を備える符号化装置とする。【選択図】図５
2018074182.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象フレームに含まれる符号化対象ブロックと、前記符号化対象ブロックに対応する参照画像とを入力とし、符号化済みブロックに対応付けられた動き情報が格納される第１のバッファから前記参照画像に対応付けられる前記動き情報の候補を取得し、前記動き情報の候補と前記参照画像とを用いて予測画像を生成する予測画像生成手段と、
前記符号化対象ブロックと前記予測画像とを入力とし、前記符号化対象ブロックと前記予測画像とを用いて前記符号化対象ブロックの評価コストを算出する評価コスト算出手段と、
前記符号化対象ブロックに対応付ける候補となる前記動き情報をインデックスとして、前記動き情報と前記評価コストとを関連付けて格納する第２のバッファと、
前記動き情報に関して算出された前記評価コストに基づいて前記第２のバッファに格納された前記インデックスを更新し、前記符号化対象ブロックに対応付ける候補となる前記動き情報を前記評価コストに基づいて前記第２のバッファから選択するインデックス選択手段とを有する選択手段を備える符号化装置。
【請求項２】
前記第１のバッファと、
前記選択手段と、
前記符号化対象ブロックと前記参照画像とを入力とし、前記動き情報を直接符号化するモードで前記符号化対象ブロックに対応付ける前記動き情報を決定する探索手段と、
前記符号化対象ブロックに関して、前記探索手段が決定した前記動き情報と、前記選択手段が選択した前記動き情報とを前記評価コストに基づいて比較し、いずれかの前記動き情報を選択する比較手段とを有する動き情報決定手段を備える請求項１に記載の符号化装置。
【請求項３】
前記インデックス選択手段は、
前記符号化対象ブロックに対応付ける前記動き情報の候補に関して算出された前記評価コストが、前記第２のバッファに格納された前記動き情報の前記評価コストよりも小さい場合、前記第２のバッファに格納された前記インデックスを更新する請求項２に記載の符号化装置。
【請求項４】
前記予測画像生成手段は、
共通の前記動き情報を候補とする複数の前記符号化対象ブロックに対応する前記予測画像を一括して生成する請求項２または３に記載の符号化装置。
【請求項５】
前記符号化対象フレームを構成する複数の前記符号化対象ブロックに対応する前記参照画像を格納するフレームバッファと、
前記動き情報決定手段によって決定された前記動き情報を入力とし、前記動き情報に対応する前記参照画像を前記フレームバッファから読み出し、前記動き情報に対応する前記符号化対象ブロックの前記予測画像を生成するインター予測手段と、
前記符号化対象ブロックと前記予測画像との差分である残差信号を算出する加算器と、
前記加算器から前記残差信号を入力し、前記残差信号を整数変換して量子化された変換係数を生成する変換・量子化手段と、
前記変換・量子化手段から量子化された前記変換係数を入力し、量子化された前記変換係数を逆変換して予測残差画像を生成する逆変換・逆量子化手段と、
前記変換・逆量子化手段から前記予測残差画像を入力するとともに、前記インター予測手段から前記予測画像を入力し、前記予測残差画像と前記予測画像とを合成して再構築画像を生成する合成器と、
前記合成器から前記再構築画像を入力し、イントラ予測に基づいて前記符号化対象ブロックの前記予測画像を前記再構築画像から生成するイントラ予測手段と、
前記合成器から前記再構築画像を入力し、前記再構築画像のブロック歪を除去し、ブロック歪が除去された前記再構築画像を前記参照画像として前記フレームバッファに格納するループフィルタと、
前記変換・量子化手段から量子化された前記変換係数を入力し、量子化された前記変換係数を符号化したビットストリームを出力する符号化手段とを備える請求項２乃至４のいずれか一項に記載の符号化装置。
【請求項６】
複数の前記選択手段を備え、
複数の前記選択手段は、互いに協調して動作する複数の演算装置に割り当てられ、複数の前記符号化対象ブロックのいずれかに対応付けられた前記評価コストの算出を割り当てられ、いずれかの前記符号化対象ブロックに対応付けられた前記動き情報を複製する複数の前記符号化対象ブロックの前記予測画像を並列して生成する請求項１乃至５のいずれか一項に記載の符号化装置。
【請求項７】
符号化対象フレームに含まれる符号化対象ブロックと、前記符号化対象ブロックに対応する参照画像とを入力し、
符号化済みブロックに対応付けられた動き情報が格納される第１のバッファから前記参照画像に対応付けられる前記動き情報を取得し、
前記参照画像と前記動き情報とを用いて予測画像を生成し、
前記符号化対象ブロックに関して評価コストを算出し、
前記符号化対象ブロックに対応付ける候補となる前記動き情報をインデックスとして、前記動き情報と前記評価コストとを関連付けて第２のバッファに格納し、
前記動き情報に関して算出された前記評価コストに基づいて前記第２のバッファに格納された前記インデックスを更新し、
前記符号化対象ブロックに対応付ける候補となる前記動き情報を前記評価コストに基づいて前記第２のバッファから選択する符号化方法。
【請求項８】
前記符号化対象ブロックの前記動き情報を複製元として選択し、
複製元として選択された前記動き情報を候補とする複数の前記符号化対象ブロックの前記予測画像を一括して生成し、
前記符号化対象ブロックに対応付ける候補となる前記動き情報に関して前記評価コストを算出し、
前記符号化対象ブロックに対応付ける候補となる前記動き情報に関して算出された前記評価コストが、前記第２のバッファに格納された前記評価コストよりも小さい場合、前記第２のバッファに格納された前記インデックスを更新する請求項７に記載の符号化方法。
【請求項９】
符号化対象フレームに含まれる符号化対象ブロックと、前記符号化対象ブロックに対応する参照画像とを入力する処理と、
符号化済みブロックに対応付けられた動き情報が格納される第１のバッファから前記参照画像に対応付けられる前記動き情報を取得する処理と、
前記参照画像と前記動き情報とを用いて予測画像を生成する処理と、
前記符号化対象ブロックに関して評価コストを算出する処理と、
前記符号化対象ブロックに対応付ける候補となる前記動き情報をインデックスとして、前記動き情報と前記評価コストとを関連付けて第２のバッファに格納する処理と、
前記動き情報に関して算出された前記評価コストに基づいて前記第２のバッファに格納された前記インデックスを更新する処理と、
前記符号化対象ブロックに対応付ける候補となる前記動き情報を前記評価コストに基づいて前記第２のバッファから選択する処理とをコンピュータに実行させる符号化プログラム。
【請求項１０】
前記符号化対象ブロックの前記動き情報を複製元として選択する処理と、
複製元として選択された前記動き情報を候補とする複数の前記符号化対象ブロックの前記予測画像を一括して生成する処理と、
前記符号化対象ブロックに対応付ける候補となる前記動き情報に関して前記評価コストを算出する処理と、
前記符号化対象ブロックに対応付ける候補となる前記動き情報に関して算出された前記評価コストが、前記第２のバッファに格納された前記評価コストよりも小さい場合、前記第２のバッファに格納された前記インデックスを更新する処理とをコンピュータに実行させる請求項９に記載の符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を符号化する符号化装置、符号化方法および符号化プログラムに関する。特に、本発明は、時間的・空間的な相関性を利用して動画像情報を圧縮して符号化する符号化装置、符号化方法および符号化プログラムに関する。
【背景技術】
【０００２】
Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（Moving Picture Experts Group-4 Advanced Video Coding：以下、Ｈ．２６４）は、動画像符号化の標準規格の一つである。また、Ｈ．２６４よりも新しいＨ．２６５／ＨＥＶＣ（High Efficiency Video Coding：以下、Ｈ．２６５）は、Ｈ．２６４に比べて小さいデータサイズで同等の画質を再現できる標準規格である。Ｈ．２６４およびＨ．２６５では、動画像を構成する符号化対象フレームを複数の画素ブロックに分割し、符号化対象フレームを構成するブロックごとに符号化を行う。
【０００３】
Ｈ．２６５では、時間的・空間的な相関性を利用して情報を圧縮する。時間的な相関性を用いて情報を圧縮するモードのことをインター予測と呼び、空間的な相関性を用いて情報を圧縮するモードのことをイントラ予測と呼ぶ。例えば、インター予測モードには、符号化済みの参照フレーム１枚を用いて予測画像を作成する単方向予測と、符号化済みの参照フレーム２枚を用いて予測画像を作成する双方向予測の２種類がある。
【０００４】
インター予測では、フレーム間の動きに対応するために動き補償予測が用いられる。動き補償予測は、インター予測における時間的な相関性を用いて情報を圧縮する手法の一つである。動き補償予測では、フレーム間の動き量（以下、動きベクトル）を推定し、動き分だけずらした位置の画像を予測画像とする。動き補償予測では、ブロックごとに近傍フレームから予測画像を生成し、入力画像と予測画像との差分を符号化する。動きベクトルは、ＭＶ（Motion Vector）とも略され、差分画像と同時に符号化される。
【０００５】
Ｈ．２６５の動き補償予測では、非特許文献１のように、４分の１画素精度の動きベクトルを使用することができる。小数画素精度の予測画像は、整数画素の間の画素を補間して生成する。図１８は、各画素における整数画素および小数画素の位置を示す概念図である。図１８において、大文字で示す位置が整数画素の位置であり、小文字で示す位置が小数画素の位置である。図１８の例では、小数画素の周辺に位置する複数の画素を用いたフィルタで補間する。
【０００６】
また、Ｈ．２６５では、非特許文献２のように、動きベクトルデータの圧縮ツールとしてマージモードを含む。マージモードは、符号化対象ブロックの近傍ブロックと動き情報を統合する方式である。マージモードでは、動き情報を統合するブロック位置の候補（以下、候補ブロック）のうち選択された候補ブロックの動きベクトル（マージ候補ベクトルとよぶ）のいずれかをコピーしてそのまま使用する。そして、コピー元の候補ブロックの位置を表すインデックスのみを符号化する。
【０００７】
特許文献１には、符号化対象フレームをブロックに分割し、分割された各ブロックを動き補償予測を用いて符号化する動画像符号化技術について開示されている。
【０００８】
特許文献１の技術では、符号化対象フレームにおける動きベクトルの予測対象となる予測対象ブロックに対して、同一画像内の予め定められた近傍位置にある複数個の符号化済み参照ブロックから動きベクトルを抽出する。そして、特許文献１の技術では、予め定められた符号化済み画像を参照画像とし、参照ブロックと同じ配置関係にある参照画像内のブロックの中で、動きベクトルの乖離度が最小となるブロックの領域を求める。さらに、特許文献１の技術では、求められた領域に対して割り当てられた動きベクトルを当該ブロックに対する予測ベクトルの候補として抽出する。
【０００９】
特許文献２には、マージモードを用いる動画像符号化装置について開示されている。特許文献２の装置は、符号化対象ブロックの周辺に位置する５個の候補ブロックのマージ候補ベクトルを所定の順序に従って選択する。特許文献２の装置は、各候補ブロックの動きベクトルをマージ候補ベクトルとして登録するか否かを順番に判定していく。特許文献２の装置によれば、マージモードを用いることによって、動きベクトルデータの符号量を削減することができる。
【００１０】
Ｈ．２６４の参照エンコーダＪＭ（Joint Model）では、動きベクトルの評価コストを算出するたびに小数画素を補間して予測画像を作成せずに、各フレームの動きベクトル決定を始める前に画面一括で補間画像を作成してメモリに保存しておく。
【００１１】
ＪＭでは、各小数画素位置に対して１枚の補間画像を作成する。予測画像は、予め作成された補間画像から画像をコピーすることにより作成される。すなわち、ＪＭでは、整数画素も含めると、図１８のＡからｒまでの小数画素それぞれについて計１６枚の補間画像を作成し、それらの補間画像から予測画像を作成する必要がある。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０１２−１２９７５６号公報
【特許文献２】特開２０１５−１７３４０４号公報
【非特許文献】
【００１３】
【非特許文献１】IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, "Overview of the High Efficiency Video Coding(HEVC) Standard" VOL. 22, NO.12, DECEMBER 2012, p.1649-1668
【非特許文献２】情報源符号化部、「Ｈ．２６５｜ＭＰＥＧ−Ｈ  ＨＥＶＣ規格の概要Ｖｅｒ．１．０」、社団法人  電波産業界、デジタル放送システム開発部会、映像符号化方式作業班、２０１３年５月、ｐ．１９−２０
【発明の概要】
【発明が解決しようとする課題】
【００１４】
非特許文献１のように、マージ候補ベクトルが小数精度の場合、予測画像を作成する際に小数画素補間処理が伴う。図１８に示すように、小数画素の補間には、処理ブロック外の整数画素、処理ブロック外の補間結果を参照する必要があるため、ブロック外の画素も含めてメモリアクセス・演算しなければならない。
【００１５】
Ｈ．２５６参照エンコーダＨＭにおける一般的なマージ選択では、各符号化対象ブロックに対するマージ候補ベクトルの予測画像をそれぞれ独立に生成する。一般的なマージ選択では、近接する符号化対象ブロックの予測画像生成時に、同じ画素に重複してアクセスし、同じ小数画素を重複して生成するため、無駄なメモリアクセスと演算量が多い。
【００１６】
また、Ｈ．２６４参照エンコーダＪＭのように小数補間画像を事前に作成しておく方式においても、マージ候補ベクトル選択時には、メモリアクセスの重複に加えて、メモリアクセス効率が不十分である。連続するメモリ領域には一括してアクセスすることによってメモリアクセス効率を向上できるが、一般的なマージ選択では、連続した小数補間画像の予測画像であってもそれぞれ独立してメモリアクセスする必要が生じる。
【００１７】
本発明の目的は、上述した課題を解決するために、符号化対象フレームから予測画像を生成する際の演算量およびメモリアクセスを削減し、動画像の符号化を高速化できる符号化装置を提供することにある。
【課題を解決するための手段】
【００１８】
本発明の一態様において、符号化装置は、符号化対象フレームに含まれる符号化対象ブロックと、符号化対象ブロックに対応する参照画像とを入力とし、符号化済みブロックに対応付けられた動き情報が格納される第１のバッファから参照画像に対応付けられる動き情報の候補を取得し、動き情報の候補と参照画像とを用いて予測画像を生成する予測画像生成手段と、符号化対象ブロックと予測画像とを入力とし、符号化対象ブロックと予測画像とを用いて符号化対象ブロックの評価コストを算出する評価コスト算出手段と、符号化対象ブロックに対応付ける候補となる動き情報をインデックスとして、動き情報と評価コストとを関連付けて格納する第２のバッファと、動き情報に関して算出された評価コストに基づいて第２のバッファに格納されたインデックスを更新し、符号化対象ブロックに対応付ける候補となる動き情報を評価コストに基づいて第２のバッファから選択するインデックス選択手段とを備える。
【００１９】
本発明の一態様において、符号化方法は、符号化対象フレームに含まれる符号化対象ブロックと、符号化対象ブロックに対応する参照画像とを入力し、符号化済みブロックに対応付けられた動き情報が格納される第１のバッファから参照画像に対応付けられる動き情報を取得し、参照画像と動き情報とを用いて予測画像を生成し、符号化対象ブロックに関して評価コストを算出し、符号化対象ブロックに対応付ける候補となる動き情報をインデックスとして、動き情報と評価コストとを関連付けて第２のバッファに格納し、動き情報に関して算出された評価コストに基づいて第２のバッファに格納されたインデックスを更新し、符号化対象ブロックに対応付ける候補となる動き情報を評価コストに基づいて第２のバッファから選択する。
【００２０】
本発明の一態様において、符号化プログラムは、符号化対象フレームに含まれる符号化対象ブロックと、符号化対象ブロックに対応する参照画像とを入力する処理と、符号化済みブロックに対応付けられた動き情報が格納される第１のバッファから参照画像に対応付けられる動き情報を取得する処理と、参照画像と動き情報とを用いて予測画像を生成する処理と、符号化対象ブロックに関して評価コストを算出する処理と、符号化対象ブロックに対応付ける候補となる動き情報をインデックスとして、動き情報と評価コストとを関連付けて第２のバッファに格納する処理と、動き情報に関して算出された評価コストに基づいて第２のバッファに格納されたインデックスを更新する処理と、符号化対象ブロックに対応付ける候補となる動き情報を評価コストに基づいて第２のバッファから選択する処理とをコンピュータに実行させる。
【発明の効果】
【００２１】
本発明によれば、符号化対象フレームから予測画像を生成する際の演算量およびメモリアクセスを削減し、動画像の符号化を高速化できる符号化装置を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施形態に係る動画像符号化装置の構成を示す概念図である。
【図２】本発明の第１の実施形態に係る動画像符号化装置における信号の流れの一例を示す概念図である。
【図３】本発明の第１の実施形態に係る動画像符号化装置が用いるマージモードについて説明するための概念図である。
【図４】本発明の第１の実施形態に係る動画像符号化装置が処理する符号化対象ブロックの候補ブロックを示す概念図である。
【図５】本発明の第１の実施形態に係る動画像符号化装置の動きベクトル決定手段の構成を示すブロック図である。
【図６】本発明の第１の実施形態に係る動画像符号化装置の動きベクトル決定手段における信号の流れの一例を示す概念図である。
【図７】本発明の第１の実施形態に係る動画像符号化装置の処理対象である符号化対象ブロックの分割例を示す概念図である。
【図８】本発明の第１の実施形態に係る動画像符号化装置の処理対象である符号化対象ブロックから予測画像を生成する際の参照画像の移動について説明するための概念図である。
【図９】動きベクトルを共通とする複数のマージ候補ベクトルの予測画像を生成する際に必要画素が重複していることを示す概念図である。
【図１０】本発明の第１の実施形態に係る動画像符号化装置の動きベクトル決定手段に含まれるマージ選択手段の動作を示すフローチャートである。
【図１１】関連技術の動画像符号化装置の動きベクトル決定手段の構成を示すブロック図である。
【図１２】関連技術の動画像符号化装置の動きベクトル決定手段に含まれるマージ選択手段の動作を説明するためのフローチャートである。
【図１３】一般的な動画像符号化方法について説明するための概念図である。
【図１４】本発明の第２の実施形態に係る動画像符号化方法における動作を示すフローチャートである。
【図１５】本発明の各実施形態に係る動画像符号化装置を実現するハードウェアの構成例を示すブロック図である。
【図１６】本発明の各実施形態に係る動画像符号化装置を実現するハードウェアの別の構成例を示すブロック図である。
【図１７】本発明の各実施形態に係る動画像符号化装置を実現するハードウェアに含まれるＧＰＵ（Graphic Processing Unit）の構成例を示す概念図である。
【図１８】符号化対象フレームにおける整数画素および小数画素について説明するための概念図である。
【発明を実施するための形態】
【００２３】
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。以下の実施形態の説明に用いる全図においては、特に理由がない限り、同様箇所には同一符号を付す。また、以下の実施形態において、同様の構成・動作に関しては繰り返しの説明を省略する場合がある。また、図面中の矢印の向きは、一例を示すものであり、構成要素間の信号の向きを限定するものではない。
【００２４】
（第１の実施形態）
（構成）
まず、本発明の第１の実施形態に係る動画像符号化装置（符号化装置ともよぶ）について図面を参照しながら詳細に説明する。
【００２５】
本実施形態に係る動画像符号化装置は、Ｈ．２６５規格に基づいた構成を有し、動画像に含まれる符号化対象画像（以下、符号化対象フレーム）を符号化する際に、該符号化対象フレームを複数のブロック（以下、符号化対象ブロック）に分割する。本実施形態では、複数の符号化対象ブロックに跨る空間的に連続した予測画像の生成をまとめて行うことによって、空間的に連続する符号化対象ブロック間で重複する処理やメモリアクセスを削減する。
【００２６】
図１は、本実施形態に係る動画像符号化装置１の構成を示す概念図である。図２は、本実施形態の動画像符号化装置１が動作する際の信号の流れを矢印で示した概念図である。なお、図２の信号の流れは一例であって、本実施形態の動画像符号化装置１における信号の流れを限定するものではない。
【００２７】
動画像符号化装置１は、動きベクトル決定手段１０、インター予測手段２１、イントラ予測手段２２、加算器２３、変換・量子化手段２４、符号化手段２５、逆変換・逆量子化手段２６、合成器２７、ループフィルタ２８、フレームバッファ２９を備える。特に、動画像符号化装置１は、動きベクトル決定手段１０に特徴を有する。なお、動きベクトルは、ＭＶ（Motion Vector）とも略される。
【００２８】
動きベクトル決定手段１０（動き情報決定手段とも呼ぶ）は、入力画像として符号化対象フレームを取得する。動きベクトル決定手段１０は、取得した符号化対象フレームを構成するいずれかの符号化対象ブロックに対応する符号化済みブロック（以下、参照画像とよぶ）をフレームバッファ２９から読み出す。
動きベクトル決定手段１０は、符号化対象ブロックに対して、符号化対象ブロックと参照画像との間の動きを示す動き情報（動きベクトル）を決定する。動きベクトル決定手段１０は、決定した動きベクトルに関する情報をインター予測手段２１に出力する。
【００２９】
動きベクトル決定手段１０は、符号化対象ブロックのフレーム間における動きを推定するために、空間的に連続する符号化済みブロックから動きベクトルの候補（以下、候補動きベクトルとよぶ）を複製する。動きベクトル決定手段１０は、複製した候補動きベクトルに対して評価コストを算出する。
【００３０】
そして、動きベクトル決定手段１０は、算出した評価コストに基づいて、候補動きベクトルの中から符号化対象ブロックの動きベクトルを選択する。本実施形態においては、例えば、動きベクトル決定手段１０は、評価コストが最小の動きベクトルを選択する。
【００３１】
例えば、動きベクトル決定手段１０は、符号化による画像歪コストと、符号化に必要な符号量コストとの和を評価コストとして算出する。例えば、動きベクトル決定手段１０は、入力画像ブロックと予測画像ブロックの類似度を表す画素の絶対値差分和ＳＡＤ（Sum of Absolute Difference）値を画像歪コストとして用いる。また、動きベクトル決定手段１０は、動きベクトルを符号化するための符号量を符号量コストとして用いる。ＳＡＤ値が小さいほど類似度が高いため、動きベクトル決定手段１０は、評価コストが最小になる動きベクトルを選択する。
【００３２】
インター予測手段２１は、動きベクトル決定手段１０によって決定された動きベクトルに対応する予測画像を生成する。インター予測手段２１は、生成した予測画像を加算器２３および合成器２７に出力する。
【００３３】
イントラ予測手段２２は、イントラ予測に基づいて予測画像を生成する。イントラ予測手段２２は、生成した予測画像を加算器２３および合成器２７に出力する。
【００３４】
加算器２３は、入力画像と予測画像とを入力とし、入力画像と予測画像との差分である残差信号を生成する。加算器２３は、生成した残差信号を変換・量子化手段２４に出力する。
【００３５】
変換・量子化手段２４は、加算器２３からの残差信号を入力とし、その残差信号を整数変換して量子化された変換係数を生成する。変換・量子化手段２４は、量子化された変換係数を符号化手段２５および逆変換・逆量子化手段に出力する。
【００３６】
符号化手段２５は、変換・量子化手段２４によって量子化された変換係数を符号化し、そのビットストリームを符号化ストリームとして出力する。
【００３７】
逆変換・逆量子化手段２６は、変換・量子化手段２４によって量子化された変換係数を入力とし、その変換係数を逆変換することによって予測残差画像を復号する。具体的には、逆変換・逆量子化手段２６は、量子化された変換係数を逆量子化した後に逆整数変換することによって予測残差画像を復号する。
【００３８】
合成器２７は、逆変換・逆量子化手段２６によって復号された予測残差画像と、インター予測手段２１によって生成された予測画像とを入力とする。合成器２７は、予測残差画像と予測画像とを合成し、再構築画像を生成する。合成器２７は、生成した再構築画像をイントラ予測手段２２およびループフィルタ２８に出力する。
【００３９】
合成器２７によって生成された再構築画像は、イントラ予測手段２２において同一フレームのイントラ予測に使用される。また、ループフィルタ２８によってフィルタリングされた画像は、フレームバッファ２９に格納され、後続フレームのインター予測に使用される。
【００４０】
ループフィルタ２８は、合成器２７によって生成された再構築画像からブロック歪を除去し、ブロック歪が除去された再構築画像をフレームバッファ２９に格納する。
【００４１】
フレームバッファ２９は、ループフィルタ２８によってブロック歪が除去された再構築画像（以下、参照画像とよぶ）を格納するためのバッファである。フレームバッファ２９に格納された参照画像は、後続フレームの符号化対象ブロックのインター予測を行う際に、動きベクトル決定手段１０から参照画像として読み出される。
【００４２】
〔マージモード〕
本実施形態の動画像符号化装置１は、時間的・空間的な相関性を利用して動画像情報を圧縮する。時間的な相関性を用いて動画像情報を圧縮するモードはインター予測と呼ばれ、空間的な相関性を用いて動画像情報を圧縮するモードはイントラ予測と呼ばれる。
【００４３】
インター予測は、動き探索モード（第１のモード）とマージモード（第２のモード）とを含む。動き探索モードでは、動きベクトルを直接符号化する。一方、マージモードでは、符号化対象ブロックに先行する符号化済みブロックの動きベクトルを複製し、複製した動きベクトルを符号化対象ブロックの動きベクトルとして用いる。すなわち、マージモードでは、符号化対象ブロックが参照するブロックの動きベクトルを複製する。
【００４４】
図３は、マージモードについて説明するための概念図である。図３の左上側のフレームは符号化対象フレーム１００である。図３の右上側のフレームは動きベクトルを算出するために参照される参照フレーム２００である。参照フレーム２００は、符号化済みフレームである。
【００４５】
図３の左下側の破線内部には、符号化対象フレーム１００に含まれる符号化対象ブロック１０１を拡大して図示している。図３の右下側の破線内部には、参照フレーム２００において符号化対象ブロック１０１と同一位置のブロック（以下、参照ブロック２０１）を拡大して図示している。図３の左下側および右下側の破線内部に示す符号化対象ブロック１０１および参照ブロック２０１の周辺や内部に示す７つのブロックは、動き情報を統合するブロック位置の候補（以下、候補ブロック）を示す。
【００４６】
マージモードでは、７つの候補ブロックのうち５つの候補ブロックの動きベクトル（マージ候補ベクトルとよぶ）が選択される。マージモードでは、選択された候補ブロックの動きベクトル（マージ候補ベクトルとよぶ）のいずれかを複製したものをそのまま使用し、コピー元の候補ブロックの位置を表すインデックス（マージインデックスともよぶ）のみを符号化する。以下の説明では、図４のように、符号化対象ブロック１０１の右上側（２）、上側（３）、左側（４）および左上側（５）に位置する４つの候補ブロック（Ｃａｎｄ２〜５）のみに着目する。なお、Ｃａｎｄは候補（Candidate）の略である。
【００４７】
〔動きベクトル決定手段〕
ここで、動きベクトル決定手段１０の詳細構成について図５を用いて説明する。図５は、動きベクトル決定手段１０の詳細構成を示すブロック図である。図６は、動きベクトル決定手段１０が動作する際の信号の流れを矢印で示した概念図である。なお、図６の信号の流れは一例であって、動きベクトル決定手段１０における信号の流れを限定するものではない。
【００４８】
動きベクトル決定手段１０は、一般的なＨＥＶＣ（High Efficiency Video Coding）の参照エンコーダＨＭ（HEVC Test Model）の動きベクトル決定機能を含む。動きベクトル決定手段１０は、マージ候補ベクトルに関する情報を記憶するバッファが追加されている点で、一般的なＨＥＶＣの参照エンコーダＨＭとは異なる。
【００４９】
図５のように、動きベクトル決定手段１０は、動き探索手段１１、マージ選択手段１２、動きベクトル比較手段１３、動きベクトルバッファ１４を有する。
【００５０】
動き探索手段１１（探索手段ともよぶ）は、符号化対象ブロックと、該符号化対象ブロックの参照画像とを取得し、動き探索モードで動きベクトルを決定する。動き探索手段１１は、決定した動きベクトルを動きベクトル比較手段１３に出力する。
【００５１】
マージ選択手段１２（選択手段ともよぶ）は、符号化対象ブロックと参照画像とを取得し、マージモードで動きベクトルを選択する。マージ選択手段１２は、動きベクトルバッファ１４に格納されているマージ候補ベクトルの中から、その符号化対象ブロックに隣接する符号化済みブロックの動きベクトルを選択する。
【００５２】
動きベクトル比較手段１３（比較手段ともよぶ）は、動き探索モードで決定された動きベクトルとマージモードで選択された動きベクトルとを比較し、評価コストの小さい方を符号化対象ブロックの動きベクトルとして選択する。動きベクトル比較手段１３は、選択した動きベクトルをインター予測手段２１に出力するとともに、動きベクトルバッファ１４に格納する。
【００５３】
動きベクトルバッファ１４（第１のバッファともよぶ）には、動きベクトル比較手段１３によって選択された動きベクトルが格納される。動きベクトルバッファ１４に格納された動きベクトルは、後続する符号化対象ブロックに隣接するブロックのマージ候補ベクトルとして使用される。言い換えると、動きベクトルバッファ１４には、符号化済みフレームおよび符号化対象フレームの符号化済みブロックの動きベクトルが格納される。
【００５４】
〔マージ選択手段〕
ここで、マージ選択手段１２の詳細な構成について説明する。図５および図６のように、マージ選択手段１２は、評価コスト算出手段１２１、マージインデックス選択手段１２２、マージ候補予測画像生成手段１２３、マージ候補バッファ１２４を含む。なお、図５および図６は、マージ選択手段１２の特徴的な構成のみを示しており、マージ選択手段１２の全てを示しているわけではない。
【００５５】
評価コスト算出手段１２１は、符号化対象ブロックと、その符号化対象ブロックに対応する参照画像から生成される予測画像とを入力とする。評価コスト算出手段１２１は、入力画像および予測画像を用いて、符号化対象ブロックの評価コストを算出する。
【００５６】
評価コスト算出手段１２１は、その符号化対象ブロックのフレーム間の動きを推定するために、様々な候補動きベクトルに対して評価コストを算出する。
【００５７】
例えば、評価コスト算出手段１２１は、符号化による画像歪コストと、符号化に必要な符号量コストとの和を評価コストとして算出する。例えば、評価コスト算出手段１２１は、入力画像ブロックと予測画像ブロックとの類似度を表す画素の絶対値差分和ＳＡＤ値を画像歪コストとして用いる。また、例えば、評価コスト算出手段１２１は、動きベクトルを符号化するための符号量を符号量コストとして用いる。
【００５８】
マージインデックス選択手段１２２（インデックス選択手段ともよぶ）は、動きベクトルに関して算出された評価コストに基づいて、マージ候補バッファ１２４に格納される最良マージインデックスを更新する。マージインデックスとは、マージ候補バッファ１２４に格納されたマージ候補ベクトルを同定するためのインデックスである。
【００５９】
マージインデックス選択手段１２２は、最良マージインデックスを更新すると、評価コストに基づいて、符号化対象ブロックに対応付ける動きベクトルをマージ候補バッファ１２４から選択する。マージインデックス選択手段１２２は、選択した動きベクトルを動きベクトル比較手段１３に出力する。
【００６０】
当該ブロックの評価コストがマージ候補バッファ１２４に格納されていない場合、マージインデックス選択手段１２２は、符号化対象ブロックの評価コストを最良マージインデックスとして、マージ候補ベクトルと関連付けてマージ候補バッファ１２４に格納する。
【００６１】
一方、当該ブロックの評価コストが既にマージ候補バッファ１２４に格納されている場合、マージインデックス選択手段１２２は、当該ブロックに関して、新たに算出された評価コストと、マージ候補バッファ１２４に格納されている評価コストとを比較する。そして、マージインデックス選択手段１２２は、当該ブロックに関して新たに算出された評価コストが最小である場合、マージ候補バッファ１２４に格納された最良マージインデックスを更新する。
【００６２】
マージ候補予測画像生成手段１２３（予測画像生成手段ともよぶ）は、符号化対象ブロックに対応する参照画像をフレームバッファ２９から読み出す。そして、マージ候補予測画像生成手段１２３は、入力した符号化対象ブロックに対応する動きベクトル（マージ候補ベクトル）を動きベクトルバッファ１４から取得する。マージ候補予測画像生成手段１２３は、参照画像とマージ候補ベクトルとを用いて予測画像を生成する。マージ候補ベクトルが小数精度ベクトルの場合、マージ候補予測画像生成手段１２３は、小数画素を補間することで予測画像を生成する。
【００６３】
マージ候補予測画像生成手段１２３は、共通の動きベクトルをマージ候補ベクトルとする符号化対象ブロックに対応する予測画像を一括して生成する。すなわち、マージ候補予測画像生成手段１２３は、複製元として選択された動きベクトルをマージ候補ベクトルとする複数の符号化対象ブロックの予測画像を一括して生成する。
【００６４】
マージ候補バッファ１２４（第２のバッファともよぶ）は、各符号化対象ブロックのマージ候補ベクトルとその評価コストとを関連付けて格納するバッファである。すなわち、マージ候補バッファ１２４は、符号化対象ブロックのマージ候補ベクトルをインデックスとし、符号化対象ブロックの動き情報と評価コストとを関連付けて格納する。
【００６５】
〔一般的なマージモード〕
ここで、図７〜図９を用いて、マージモードを選択する一般的な処理について説明する。図７は、１２個の符号化対象ブロック（Ｂ１〜Ｂ１２）に分割された符号化対象フレーム１００を示す。図８は、符号化対象ブロック１０１から予測画像３０１を生成する際の参照画像の移動について説明するための概念図である。図９は、動きベクトルを共通とする複数のマージ候補ベクトルの予測画像を生成する際に必要画素４０１が重複していることを示す概念図である。以下においては、図７の左上のブロックＢ１を基点とし、Ｂ２、Ｂ３、・・・、Ｂ１２の順番で処理する。
【００６６】
符号化対象ブロック１０１から予測画像３０１を生成する際には、まず、ブロックＢ１の処理を行う。ブロックＢ１は、符号化対象ブロック１０１の左上隅に位置しており、左側や上側に隣接するブロックが存在しないため、マージ選択処理は行われない。
【００６７】
次のブロックＢ２では、左側に隣接ブロック（ブロックＢ１）が存在するため、ブロックＢ１の動きベクトル（以下、Ｂ１＿ＭＶ）をコピーするマージ候補ベクトルＢ２＿Ｃａｎｄ４について処理を行う。ブロックＢ２のマージ候補ベクトルＢ２＿Ｃａｎｄ４（以下、Ｂ２＿Ｃａｎｄ４）は、Ｂ１＿ＭＶである。以下、ブロックＢ３〜Ｂ１２についてマージ選択処理が行われる。
【００６８】
ここで、一例として、図７のブロックＢ７、Ｂ９、Ｂ１０およびＢ１１のマージ選択処理について説明する。以下においては、ブロックＢ７のマージ候補ベクトルＣａｎｄ４（左側）をＢ７＿Ｃａｎｄ４、ブロックＢ９のマージ候補ベクトルＣａｎｄ２（右上側）をＢ９＿Ｃａｎｄ２と表記する。同様に、ブロックＢ１０のマージ候補ベクトルＣａｎｄ３（上側）をＢ１０＿Ｃａｎｄ３と表記し、ブロックＢ１１のマージ候補ベクトルＣａｎｄ５（左上側）をＢ１１＿Ｃａｎｄ５と表記する。
【００６９】
図８において、Ｂ７＿Ｃａｎｄ４、Ｂ９＿Ｃａｎｄ２、Ｂ１０＿Ｃａｎｄ３、Ｂ１１＿Ｃａｎｄ５は、いずれもブロック６の動きベクトルＢ６＿ＭＶをコピーしたものである。
【００７０】
よって、図８に示すように、Ｂ７＿Ｃａｎｄ４、Ｂ９＿Ｃａｎｄ２、Ｂ１０＿Ｃａｎｄ３、Ｂ１１＿Ｃａｎｄ５の予測画像は、参照画像をＢ６＿ＭＶ分移動したものであり、連続した領域となる。そのため、図９のように、Ｂ７＿Ｃａｎｄ４、Ｂ９＿Ｃａｎｄ２、Ｂ１０＿Ｃａｎｄ３、Ｂ１１＿Ｃａｎｄ５の予測画像生成に必要な画素（必要画素４０１）は重複している。
【００７１】
すなわち、一般的なマージ選択では、Ｂ７＿Ｃａｎｄ４、Ｂ９＿Ｃａｎｄ２、Ｂ１０＿Ｃａｎｄ３、Ｂ１１＿Ｃａｎｄ５の予測画像生成時に、同じ画素に重複してアクセスし、同じ小数画素を重複して生成するため、無駄なメモリアクセスと演算量が必要となる。
【００７２】
一方、本実施形態においては、同一の動きベクトルをコピーし、コピーした動きベクトルをマージ候補バッファ１２４に格納する。そして、マージ候補ベクトルを同一とする複数の符号化対象ブロックの予測画像をまとめて生成する。そのため、本実施形態によれば、小数画素補間処理における中間データの生成やメモリアクセスを削減できる。
【００７３】
（動作）
次に、本実施形態の動画像符号化装置１に含まれるマージ選択手段１２によるマージ選択動作に関して、図１０のフローチャートを用いて説明する。なお、以下の説明は、図７〜図９に示す符号化対象フレーム１００を構成する符号化対象ブロック１０１に関して、マージ選択手段１２を主体として説明する。
【００７４】
図１０において、まず、マージ選択手段１２は、ブロックＢ１の動きベクトルであるＢ１＿ＭＶをコピー元ＭＶとして選択する。Ｂ１＿ＭＶは、ブロックＢ２、Ｂ５、Ｂ６のマージ候補ベクトルＢ２＿Ｃａｎｄ４、Ｂ５＿Ｃａｎｄ３、Ｂ６＿Ｃａｎｄ５である。
【００７５】
マージ選択手段１２は、Ｂ１＿ＭＶを用いて、動きベクトルを共通とするマージ候補ベクトルＢ２＿Ｃａｎｄ４、Ｂ５＿Ｃａｎｄ３、Ｂ６＿Ｃａｎｄ５の予測画像をまとめて生成する（ステップＳ１１）。
【００７６】
ステップＳ１１の予測画像の生成については、Ｈ．２６５の参照エンコーダＨＭのように、動きベクトルごとにその場で小数画素補間をしてもよい。また、ステップＳ１１の予測画像の生成については、Ｈ．２６４の参照エンコーダＪＭ（Joint Model）のように、事前に作成してある補間画像から読み出してもよい。
【００７７】
次に、マージ選択手段１２は、マージ候補ベクトルごとにステップＳ１２〜Ｓ１３の処理を行う。ここでは、マージ選択手段１２は、マージ候補ベクトルＢ２＿Ｃａｎｄ４、Ｂ５＿Ｃａｎｄ３、Ｂ６＿Ｃａｎｄ５の順に処理を行う。
【００７８】
まず、マージ選択手段１２は、マージ候補ベクトルＢ２＿Ｃａｎｄ４について評価コストを算出する（ステップＳ１２）。
【００７９】
そして、マージ選択手段１２は、ブロックＢ２の最良マージインデックスとして、算出した評価コストをマージ候補ベクトルＢ２＿Ｃａｎｄ４に関連付けてマージ候補バッファ２０８に格納する（ステップＳ１３）。
【００８０】
同様に、マージ選択手段１２は、マージ候補ベクトルＢ５＿Ｃａｎｄ３、Ｂ６＿Ｃａｎｄ５についても、ステップＳ１２〜Ｓ１３の処理を行う。マージ候補ベクトルＢ６＿Ｃａｎｄ５の処理が終われば、Ｂ１＿ＭＶをコピー元ＭＶとする処理は終了である。
【００８１】
続いて、マージ選択手段１２は、コピー元ＭＶとして、ブロックＢ２の動きベクトルであるＢ２＿ＭＶを選択する。Ｂ２＿ＭＶは、ブロックＢ３、Ｂ５、Ｂ６、Ｂ７のマージ候補ベクトルＢ３＿Ｃａｎｄ４、Ｂ５＿Ｃａｎｄ２、Ｂ６＿Ｃａｎｄ３、Ｂ７＿Ｃａｎｄ５である。
【００８２】
マージ選択手段１２は、Ｂ１＿ＭＶと同様に、Ｂ２＿ＭＶを用いて、動きベクトルを共通とするマージ候補ベクトルＢ３＿Ｃａｎｄ４、Ｂ５＿Ｃａｎｄ２、Ｂ６＿Ｃａｎｄ３、Ｂ７＿Ｃａｎｄ５の予測画像をまとめて生成する（ステップＳ１１）。
【００８３】
次に、マージ選択手段１２は、マージ候補ベクトルごとにステップＳ１２〜Ｓ１３の処理を行う。ここでは、マージ選択手段１２は、マージ候補ベクトルＢ３＿Ｃａｎｄ４、Ｂ５＿Ｃａｎｄ２、Ｂ６＿Ｃａｎｄ３、Ｂ７＿Ｃａｎｄ５の順に処理を行う。
【００８４】
まず、マージ選択手段１２は、マージ候補ベクトルＢ３＿Ｃａｎｄ４について評価コストを算出する（ステップＳ１２）。
【００８５】
そして、マージ選択手段１２は、ブロックＢ３の最良マージインデックスとして評価コストをマージ候補ベクトルＢ３＿Ｃａｎｄ４に関連付けてマージ候補バッファに記憶する（ステップＳ１３）。
【００８６】
次に、マージ選択手段１２は、マージ候補ベクトルＢ５＿Ｃａｎｄ２について評価コストを算出する（ステップＳ１２）。
【００８７】
なお、ブロックＢ５に関しては、ブロックＢ１のマージ選択動作において、マージ候補ベクトルＢ５＿Ｃａｎｄ３と評価コストとが関連付けられてマージ候補バッファ２０８に格納されている。そのため、マージ選択手段１２は、マージ候補ベクトルＢ５＿Ｃａｎｄ２について算出した評価コストをマージ候補バッファ１２４に格納されたブロックＢ５の最良マージインデックスと比較する。
【００８８】
マージ選択手段１２は、マージ候補バッファ１２４に格納されている評価コストよりも、算出した評価コストの方が小さければ、マージ候補バッファ１２４に格納される最良マージインデックスを更新する。一方、マージ選択手段１２は、マージ候補バッファ１２４に格納されている評価コストよりも、算出した評価コストの方が大きい場合は、マージ候補バッファ１２４に格納される最良マージインデックスを更新しない。
【００８９】
同様に、マージ選択手段１２は、マージ候補ベクトルＢ６＿Ｃａｎｄ３、Ｂ７＿Ｃａｎｄ５についてもステップＳ１２〜Ｓ１３の処理を行う。なお、マージ選択手段１２は、マージ候補ベクトルＢ６＿Ｃａｎｄ３については、マージ候補ベクトルＢ５＿Ｃａｎｄ２と同様に処理する。一方、マージ候補ベクトルＢ７＿Ｃａｎｄ５については、マージ候補ベクトルＢ３＿Ｃａｎｄ４と同様に処理する。
【００９０】
以上のステップＳ１１〜Ｓ１３の処理は、ブロックＢ１〜Ｂ１２のＭＶの全てをコピー元ＭＶとするまで繰り返される。ブロックＢ１２のＭＶをコピー元ＭＶとした処理が終了すれば、図１０のフローチャートに沿った処理は終了である。
【００９１】
以上のように、本実施形態によれば、同一の動きベクトルをコピーしてマージ候補ベクトルとする複数のブロックの予測画像をまとめて生成するため、小数画素補間処理における中間データの生成やメモリアクセスを削減できる。すなわち、本実施形態によれば、マージ候補ベクトルのコスト評価における予測画像作成の演算量とメモリアクセスとを削減できる。その結果、本実施形態によれば、動きベクトル決定処理の処理時間を削減することができる。
【００９２】
本実施形態によれば、複数の符号化対象ブロックに跨る連続した予測画像の生成をまとめて行うことによって、ブロック間で重複する処理やメモリアクセスを削減して動きベクトルを効率的に決定できる。
【００９３】
（関連技術）
ここで、関連技術について図面を参照しながら説明する。図１１は、一般的なＨＥＶＣの参照エンコーダＨＭ（HEVC Test Model）である動きベクトル決定手段１０００の構成を示すブロック図である。
【００９４】
動きベクトル決定手段１０００は、マージ選択手段１２０がマージ候補バッファ１２４を含まない点で、第１の実施形態の動きベクトル決定手段１０と異なる。動きベクトル決定手段１０００の構成は、マージ候補バッファ１２４以外は、第１の実施形態の動きベクトル決定手段１０の構成と同様である。
【００９５】
図１２は、関連技術の参照エンコーダＨＭのマージ選択手段１２０における動作について説明するためのフローチャートである。
【００９６】
マージ選択手段１２０によるマージ選択処理は、各符号化対象ブロックに対して順に処理される。例えば、図７のようなブロックＢ１からＢ１２に分割されているフレームを符号化する場合、左上側のブロックＢ１から右下側のブロックＢ１２までを符号化対象ブロックとして順番に符号化する。各符号化対象ブロックにおいては、図４に示す４箇所のマージ候補ベクトルに対して、例えば、Ｃａｎｄ２、Ｃａｎｄ３、Ｃａｎｄ４、Ｃａｎｄ５の順に、図１２のステップＳ１０１〜Ｓ１０３の処理を行う。
【００９７】
図１２において、まず、マージ選択手段１２０は、ブロックＢ１の処理を行う。ブロックＢ１は、左上隅に位置するブロックであり、左側や上側に隣接するブロックが存在しないため、マージ選択の処理は行われない。
【００９８】
次のブロックＢ２には左側に隣接ブロック（ブロックＢ１）が存在する。そのため、マージ選択手段１２０は、ブロックＢ１の動きベクトル（Ｂ１＿ＭＶと表記する）をコピーするマージ候補ベクトルＣａｎｄ４について、ステップＳ１２〜Ｓ１３の処理を行う。ブロックＢ２のマージ候補ベクトルＣａｎｄ４（以下、Ｂ２＿Ｃａｎｄ４）は、Ｂ１＿ＭＶである。
【００９９】
次に、マージ選択手段１２０は、マージ候補ベクトルＢ２＿Ｃａｎｄ４の予測画像を生成する（ステップＳ１０１）。マージ候補ベクトルＢ２＿Ｃａｎｄ４（Ｂ１＿ＭＶ）が小数精度ベクトルの場合、マージ選択手段１２０は、小数画素を補間することで予測画像を生成する。
【０１００】
次に、マージ選択手段１２０は、マージ候補ベクトルＢ２＿Ｃａｎｄ４の予測画像とブロックＢ２の入力画像とから評価コストを算出する（ステップＳ１０２）。
【０１０１】
そして、マージ選択手段１２０は、算出した評価コストが当該ブロックのマージ候補ベクトルの中で最小であれば、最良マージインデックスを更新する（ステップＳ１０３）。なお、マージ候補ベクトルＢ２＿Ｃａｎｄ４は、ブロックＢ２について最初に評価したマージ候補ベクトルであるので、その時点ではＢ２＿Ｃａｎｄ４の評価コストが最小となる。
【０１０２】
マージ選択手段１２０は、ブロックＢ３、Ｂ４についても、ブロックＢ２と同様の処理を繰り返す。
【０１０３】
ブロックＢ５では、右上側と上側に隣接するブロックがあるので、マージ選択手段１２０は、Ｃａｎｄ２とＣａｎｄ３についてステップＳ１０１からステップＳ１０３までを繰り返す。
【０１０４】
以下同様にして、マージ選択手段１２０は、全ての符号化対象ブロック（ブロックＢ１〜Ｂ１２）について処理を行う。
【０１０５】
以上のように、関連技術の手法においては、符号化対象ブロックのループが最外になり、Ｂ７＿Ｃａｎｄ４、Ｂ９＿Ｃａｎｄ２、Ｂ１０＿Ｃａｎｄ３、Ｂ１１＿Ｃａｎｄ５の予測画像は、小数補間画像において連続している。それにもかかわらず、関連技術においては、各予測画像を生成する際にそれぞれ独立にメモリアクセスするため、効率的なメモリアクセスが成されない。
【０１０６】
一方、本実施形態の手法においては、マージ候補ベクトルとしてコピーされるＭＶを対象とするループが最外になり、小数補間画像において連続している予測画像の生成においてまとめてメモリアクセスする。そのため、本実施形態によれば、効率的なメモリアクセスが実現される。
【０１０７】
（第２の実施の形態）
次に、本発明の第２の実施形態に係る動画像符号化方法について図面を参照しながら説明する。
【０１０８】
本実施形態は、ＧＰＵ（Graphic Processing Unit）などの並列計算機を用いた並列処理に第１の実施形態の手法を適用するものである。ＣＵＤＡ(Compute Unified Device Architecture)を用いたＧＰＵプログラムでは、多数のスレッドが並列に動作するが、特定数のスレッドごとにｗａｒｐと呼ばれる処理単位にまとめられる。同一ｗａｒｐに含まれる複数のスレッドは、必ず同一演算をするという制限がある。
【０１０９】
図１３は、一般的な動画像符号化方法について説明するための概念図である。図１３において、ｗａｒｐは、スレッドｓ１〜ｓ８の８個のスレッドで構成される。
【０１１０】
図１３のステップＳ２１およびステップＳ２２では、同一ｗａｒｐ内の全てのスレッドで同一の演算が同時に処理される。
【０１１１】
ステップＳ２３の条件分岐において、スレッドｓ１、ｓ２、ｓ４およびｓ６と、スレッドｓ３、ｓ５、ｓ７およびｓ８とでは異なる演算をするように分岐する。この場合、スレッドｓ１、ｓ２、ｓ４およびｓ６の演算はステップＳ２４で行われ、スレッドｓ３、ｓ５、ｓ７およびｓ８の演算はステップＳ２５で行われる。すわわち、同一ｗａｒｐ内のスレッドが異なる演算をする場合は、ステップＳ２４の演算とステップＳ２５の演算とが逐次的に実行される。つまり、一般的な動画像符号化方法では、ｗａｒｐ内の全てのスレッドが同一演算をしないと、十分な並列処理性能が引き出せない。
【０１１２】
ＧＰＵなどを用いてマージインデックス選択を並列処理する場合、図１２のループである符号化対象ブロックとマージ候補ベクトルとを並列処理単位にするのが一般的である。つまり、各ｗａｒｐがそれぞれ別の符号化対象ブロックを処理し、ｗａｒｐ内の各スレッドがそれぞれ別々のマージ候補ベクトルを処理することが一般的である。
【０１１３】
例えば、図７の例において、あるｗａｒｐがブロックＢ６を担当し、ｗａｒｐ内のスレッドがマージ候補ベクトルＢ６＿Ｃａｎｄ２、Ｂ６＿Ｃａｎｄ３、Ｂ６＿Ｃａｎｄ４、Ｂ６＿Ｃａｎｄ５を並列に処理するものとする。このとき、各マージ候補ベクトルのコピー元ベクトルはＢ３＿ＭＶ、Ｂ２＿ＭＶ、Ｂ５＿ＭＶ、Ｂ１＿ＭＶである。このように、マージ候補ベクトルの予測画像生成処理が異なる処理の場合、並列処理の効率が低下する。
【０１１４】
例えば、動きベクトルＢ３＿ＭＶ、Ｂ２＿ＭＶが単方向予測であり、Ｂ５＿ＭＶ、Ｂ１＿ＭＶが双方向予測の場合、単方向予測と双方向予測で予測画像生成の処理が異なる。よって、単方向予測と双方向予測を同一ｗａｒｐで並列処理する場合、図１３のステップＳ２３における分岐処理のように、単方向予測の処理と双方向予測の処理両方を実行することになるため、演算量が増加する。
【０１１５】
図１４は、本実施形態の動画像符号化方法の動作を示すフローチャートである。図１４のフローチャートは、コピー元ＭＶおよびマージ候補ベクトルのループを並列処理する以外は、図１０のフローチャートと同様であるため、詳細な説明は省略する。
【０１１６】
本実施形態では、第１の実施形態の動作を並列処理に適用する。すなわち、本実施形態では、図１４に示すように、コピー元ＭＶおよびマージ候補ベクトルのループを並列処理単位とする。つまり、本実施形態では、各ｗａｒｐがそれぞれ別のコピー元ＭＶを処理し、ｗａｒｐ内の各スレッドがそれぞれ別々のマージ候補ベクトルを処理する。
【０１１７】
例えば、あるｗａｒｐがコピー元ＭＶとしてブロックＢ６の動きベクトルＢ６＿ＭＶを担当し、ｗａｒｐ内のスレッドがマージ候補ベクトルＢ９＿Ｃａｎｄ２、Ｂ１０＿Ｃａｎｄ３、Ｂ１１＿Ｃａｎｄ５、Ｂ７＿Ｃａｎｄ４を並列に処理する。これらのマージ候補ベクトルは、全てＢ６＿ＭＶのコピーなので、Ｂ９＿Ｃａｎｄ２、Ｂ１０＿Ｃａｎｄ３、Ｂ１１＿Ｃａｎｄ５、Ｂ７＿Ｃａｎｄ４の予測画像作成処理は全て同一処理となる。
【０１１８】
すなわち、本実施形態の動符号化装置は、複数のマージ選択手段１２（選択手段ともよぶ）を備える（図５）。複数のマージ選択手段１２は、互いに協調して動作する複数の演算装置に割り当てられる。複数のマージ選択手段１２は、複数の前記符号化対象ブロックのいずれかに対応付けられた評価コストの算出を割り当てられ、いずれかの符号化対象ブロックに対応付けられた動きベクトルを複製する複数の符号化対象ブロックの予測画像を並列して生成する。
【０１１９】
本実施形態の手法によれば、ｗａｒｐ内のスレッドが全て同一演算をすることとなるため、十分な並列処理性能を引き出すことが可能となる。
【０１２０】
さらに、本実施形態によれば、第１の実施形態における逐次処理の効果であるブロック間のメモリアクセスや中間データ生成の重複の削減も同時に行うことができる。
【０１２１】
なお、本実施形態では、１スレッドで１候補ベクトル、１ｗａｒｐで１つのコピー元ＭＶを処理するとしたが、スレッドと処理との対応はこれに限らない。本実施形態の手法は、１ｗａｒｐ内の複数のスレッドで同時に処理するマージ候補ベクトルのコピー元ＭＶが１つであればよく、複数スレッドで１候補ベクトル処理するようなバリエーションを持たせてもよい。
【０１２２】
（ハードウェア）
ここで、図１５を用いて、本発明の実施形態に係る動画像符号化装置を実現するためのハードウェア９０について説明する。なお、ハードウェア９０は、本実施形態の動画像符号化装置を実現するための一例であって、本発明の範囲を限定するものではない。
【０１２３】
図１５のように、ハードウェア９０は、プロセッサ９１、主記憶装置９２、補助記憶装置９３、入出力インターフェース９５およびネットワークアダプター９６を備える。プロセッサ９１、主記憶装置９２、補助記憶装置９３、入出力インターフェース９５およびネットワークアダプター９６は、バス９９を介して互いに接続される。また、プロセッサ９１、主記憶装置９２、補助記憶装置９３および入出力インターフェース９５は、ネットワークアダプター９６を介して、イントラネットやインターネットなどのネットワークに接続される。なお、ハードウェア９０の構成要素のそれぞれは、単一であってもよいし、複数であってもよい。
【０１２４】
プロセッサ９１は、補助記憶装置９３等に格納されたプログラムを主記憶装置９２に展開し、展開されたプログラムを実行する演算装置である。本実施形態においては、ハードウェア９０にインストールされたソフトウェアプログラムを用いる構成とすればよい。プロセッサ９１は、種々の演算処理や制御処理を実行する。例えば、プロセッサ９１は、ＣＰＵ（Central Processing Unit）によって実現される。また、ＧＰＵ（Graphics Processing Unit）にプロセッサ９１の機能の一部を負わせてもよい。例えば、図１６のハードウェア９０−２のように、ＣＰＵ９１１とＧＰＵ９１２とを含む構成にすることができる。
【０１２５】
主記憶装置９２は、プログラムが展開される領域を有する。主記憶装置９２は、例えばＤＲＡＭ（Dynamic Random Access Memory）などの揮発性メモリとすればよい。また、ＭＲＡＭ（Magnetoresistive Random Access Memory）などの不揮発性メモリを主記憶装置９２として構成・追加してもよい。
【０１２６】
補助記憶装置９３は、種々のデータを記憶させるための記憶装置である。補助記憶装置９３は、ハードディスクやフラッシュメモリなどのローカルディスクとして構成される。
【０１２７】
入出力インターフェース９５は、ハードウェア９０と周辺機器とを接続規格に基づいて接続するインターフェース（Ｉ／Ｆ：Interface）である。
【０１２８】
ハードウェア９０には、必要に応じて、キーボードやマウス、タッチパネルなどの入力機器、ディスプレイや印刷機器などの出力機器を接続してもよい。それらの入力機器や出力機器は、情報や設定の入力や動画像情報の出力などに使用できる。プロセッサ９１と入力機器との間のデータ授受は、入出力インターフェース９５に仲介させればよい。
【０１２９】
ネットワークアダプター９６は、規格や仕様に基づいてネットワークに接続するためのインターフェースである。入出力インターフェース９５およびネットワークアダプター９６は、外部機器と接続するインターフェースとして共通化してもよい。
【０１３０】
また、ハードウェア９０には、必要に応じて、リーダライタを備え付けてもよい。リーダライタは、バス９９に接続される。リーダライタは、プロセッサ９１と図示しない記録媒体（プログラム記録媒体）との間で、記録媒体からのデータ・プログラムの読み出し、ハードウェア９０の処理結果の記録媒体への書き込みなどを仲介する。記録媒体は、例えばＳＤ（Secure Digital）カードやＵＳＢ（Universal Serial Bus）メモリなどの半導体記録媒体などで実現できる。また、記録媒体は、フレキシブルディスクなどの磁気記録媒体、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光学記録媒体やその他の記録媒体によって実現してもよい。
【０１３１】
本発明の実施形態に係る動画像符号化装置は、並列処理を実行できることが好ましい。図１７は、本実施形態に係る動画像符号化装置によって並列処理を実行するＧＰＵ９１２の構成例である。
【０１３２】
図１７のＧＰＵ９１２は、インターフェース９２１、キャッシュ９２２および複数のストリーミングマルチプロセッサ９２３（以下、ＳＭ：Streaming Multiprocessor）を含む。なお、図１７の構成は概念的な構成例であり、実際のＧＰＵ９１２は、インターフェース９２１、キャッシュ９２２およびＳＭ９２３以外の構成要素を含む。
【０１３３】
インターフェース９２１は、ＤＲＡＭなどで実現される主記憶装置９２やＣＰＵ９１１などとデータをやり取りするための接続部である。
【０１３４】
キャッシュ９２２は、ＳＭ間で共有される高速のメモリである。
【０１３５】
ＳＭ９２３は、動画像符号化処理を処理するための演算部である。例えば、ＳＭ９２３は、ストリーミングプロセッサと呼ばれる複数のコア（演算装置）や、シェアードメモリ、レジスタなどのメモリを含む。
【０１３６】
以上が、本発明の実施形態に係る動画像符号化装置を実現するためのハードウェアの一例である。本発明の各実施形態の構成要素は、図１５〜図１７のハードウェアに含まれる構成要素のうち少なくともいずれかを含む回路として実現できる。また、本発明の各実施形態の構成要素は、図１５〜図１７のハードウェアの構成を有するコンピュータ上で動作するソフトウェアとして実現できる。
【０１３７】
なお、図１５〜図１７のハードウェア構成は、本実施形態の動画像符号化装置を可能とするためのハードウェア構成の一例であって、本発明の範囲を限定するものではない。また、本実施形態の動画像符号化装置による処理をコンピュータに実行させるプログラムも本発明の範囲に含まれる。さらに、本発明の実施形態に係るプログラムを記録したプログラム記録媒体も本発明の範囲に含まれる。
【０１３８】
以上、実施形態を参照して本発明を説明してきたが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【０１３９】
本発明によれば、動画像符号化において演算量とメモリアクセスを削減することができるため、高解像度映像の高速処理を実現することができる。例えば、本発明は、高解像度処理を要求する動画像符号化システムや撮像システム、トランスコードシステムなどにも利用できる。
【符号の説明】
【０１４０】
１    動画像符号化装置
１０    動きベクトル決定手段
１１    動き探索手段
１２    マージ選択手段
１３    動きベクトル比較手段
１４    動きベクトルバッファ
２１    インター予測手段
２２    イントラ予測手段
２３    加算器
２４    変換・量子化手段
２５    符号化手段
２６    逆変換・逆量子化手段
２７    合成器
２８    ループフィルタ
２９    フレームバッファ
１２０    マージ選択手段
１２１    評価コスト算出手段
１２２    マージインデックス選択手段
１２３    マージ候補予測画像生成手段
１２４    マージ候補バッファ
【図１】
2018074182.tif 000003
【図２】
2018074182.tif 000004
【図３】
2018074182.tif 000005
【図４】
2018074182.tif 000006
【図５】
2018074182.tif 000007
【図６】
2018074182.tif 000008
【図７】
2018074182.tif 000009
【図８】
2018074182.tif 000010
【図９】
2018074182.tif 000011
【図１０】
2018074182.tif 000012
【図１１】
2018074182.tif 000013
【図１２】
2018074182.tif 000014
【図１３】
2018074182.tif 000015
【図１４】
2018074182.tif 000016
【図１５】
2018074182.tif 000017
【図１６】
2018074182.tif 000018
【図１７】
2018074182.tif 000019
【図１８】
2018074182.tif 000020