(57)【要約】【課題】探索処理量が削減された場合でも、符号化効率の低下を抑止することが可能である符号化装置及びプログラムを提供する。【解決手段】符号化装置は、画像をブロックに分割して符号化を実行する符号化装置であって、符号化対象のブロックにおける複数の仮動きベクトル候補を取得する候補取得部と、取得された仮動きベクトル候補の方向及び大きさと同一の方向及び大きさのベクトルである対応ベクトルと、符号化済みのブロックにおける対応ベクトルが示す探索中心の評価情報とを取得する評価情報取得部と、評価情報に基づいて、複数の仮動きベクトル候補のうちから動きベクトル候補を、複数の仮動きベクトル候補の数よりも少なくなるように選択する選択部とを備える。【選択図】図１
2020102669.tif 000002
【特許請求の範囲】
【請求項１】
画像をブロックに分割して符号化を実行する符号化装置であって、
符号化対象のブロックにおける複数の仮動きベクトル候補を取得する候補取得部と、
取得された仮動きベクトル候補の方向及び大きさと同一の方向及び大きさのベクトルである対応ベクトルと、符号化済みのブロックにおける前記対応ベクトルが示す探索中心の評価情報とを取得する評価情報取得部と、
前記評価情報に基づいて、前記複数の仮動きベクトル候補のうちから動きベクトル候補を、前記複数の仮動きベクトル候補の数よりも少なくなるように選択する選択部と
を備える符号化装置。
【請求項２】
前記対応ベクトルは、前記符号化済みのブロックが前記符号化対象のブロックであった際の前記仮動きベクトル候補である、
請求項１に記載の符号化装置。
【請求項３】
前記評価情報取得部は、
前記符号化済みのブロックの探索領域に前記探索中心が含まれている前記対応ベクトルの前記仮動きベクトル候補の前記評価情報を、前記対応ベクトルの前記評価情報と等しくし、
前記符号化済みのブロックの探索領域に前記探索中心が含まれていない前記対応ベクトルの前記仮動きベクトル候補の前記評価情報を、符号化された前記仮動きベクトル候補の符号量と固定値とが加算された結果と等しくする、
請求項１又は請求項２に記載の符号化装置。
【請求項４】
前記対応ベクトルの前記評価情報は、符号化された前記仮動きベクトル候補の符号量と画素値の差分絶対値和とが加算された結果の値である、
請求項３に記載の符号化装置。
【請求項５】
前記符号化済みのブロックは、
前記符号化対象のブロックが前記画像の左端のブロックでない場合、前記符号化対象のブロックの左方向のブロックであり、
前記符号化対象のブロックが前記画像の左端のブロックである場合、前記符号化対象のブロックの上方向のブロックである、
請求項１から請求項４のいずれか一項に記載の符号化装置。
【請求項６】
請求項１から請求項５のいずれか一項に記載の符号化装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置及びプログラムに関する。
【背景技術】
【０００２】
ＭＰＥＧ（Moving Picture Experts Group）−２、ＭＰＥＧ−４、ＭＰＥＧ−４／ＡＶＣ（Advanced Video Coding）等の動画像符号化規格がある。ＨＥＶＣ（High Efficiency Video Coding）は、今後の普及が見込まれている次世代の動画像符号化規格である。
【０００３】
動画像符号化規格では、１枚の画像のフレームに閉じた情報を用いて符号化処理が実行されるフレーム内符号化と、時系列の複数の画像のフレームの情報を用いて符号化処理が実行されるフレーム間符号化とが規定されている。フレーム間符号化では、符号化装置は、符号化対象画像及び参照画像を用いて、動きベクトルを探索する処理（以下「動き探索処理」という。）を実行する。動きベクトルは、符号化対象画像及び参照画像の画素単位の差分（フレーム間差分値）の累積値等が最も小さくなる参照画像の座標を示すベクトルである。
【０００４】
符号化装置は、動きベクトル及びフレーム間差分値を符号化することによって、符号化結果の情報量を削減する。符号化される動きベクトル及びフレーム間差分値の情報量を削減するためには、符号化装置は、精度のよい動きベクトルを探索する必要がある。精度のよい動きベクトルを探索する動き探索処理には、膨大な演算量が必要である。動き探索処理では、符号化装置は、符号化対象画像及び参照画像のフレーム間差分値を、整数又は小数の画素単位で導出する。このため、動き探索処理には、さらに膨大な演算量が必要である。
【０００５】
符号化装置では、動き探索処理が実行される参照画像内の探索領域（探索中心を含む領域）が、正式の動き探索処理（本番の動き探索処理）の前に決定される場合がある。この場合、符号化装置は、正式の動き探索処理の前に探索領域に対して動きベクトルを探索する処理（事前探索処理）を実行する。
【０００６】
事前探索処理では、符号化装置は、縮小された符号化対象画像を用いて、縮小された参照画像内の探索領域を決定する。符号化装置は、符号化対象画像及び参照画像を、例えば８分の１画素の長さのサイズに縮小する。符号化装置は、縮小された符号化対象画像及び参照画像内の探索領域について、例えば８分の１画素の長さの画素単位（小数の画素単位）で事前探索処理を実行する。
【０００７】
事前探索処理では、符号化装置は、縮小された符号化対象画像について、精度の粗い動きベクトルを導出する。符号化装置は、事前探索処理によって探索された複数の動きベクトルのうちでフレーム間差分値が最も小さい動きベクトルが示す位置を、正式の動き探索処理における参照画像内の探索中心と決定する。符号化装置は、事前探索処理において決定された探索中心を含む領域（探索領域）に対して、正式の動き探索処理を実行する。
【０００８】
「ＭＰＥＧ−４／ＡＶＣ」及びＨＥＶＣでは、動きベクトル予測（Motion Vector Prediction: MVP）が規定されている。動きベクトル予測では、符号化装置は、符号化の対象ブロックの周囲のブロックにおける動きベクトルに基づいて、対象ブロックにおける動きベクトル予測（ＭＶＰ）の結果のベクトルである予測ベクトルを導出する。符号化装置は、対象ブロックにおける最終的な動きベクトルが示す位置の画素値と、動きベクトル予測の予測ベクトルが示す位置の画素値との差分（予測残差）を符号化する。このため、符号化装置は、動きベクトル予測の予測ベクトルが示す位置に近く且つ予測残差の小さい位置を効率よく探索することで、符号化効率を向上させることが可能である。
【０００９】
このため、符号化装置は、動きベクトル予測の予測ベクトルが示す位置を探索中心として、その探索中心を含む探索領域に対して動き探索処理を実行する場合がある。ＨＥＶＣでは、符号化の対象ブロックの左方向に位置するブロックに基づいて決定される左予測ベクトル（左ＭＶＰ）と、その対象ブロックの上方向に位置するブロックに基づいて決定される上予測ベクトル（上ＭＶＰ）との２種類の予測ベクトルがある。
【００１０】
符号化装置は、符号化効率を高くすることが可能となる予測ベクトルを、これら２種類の予測ベクトルのうちから選択する。各予測ベクトルが示す探索中心を含む探索領域を符号化装置が探索するので、ＨＥＶＣにおける動き探索処理の処理量（探索処理量）は、ＭＰＥＧ−４／ＡＶＣにおける動き探索処理の処理量と比較して増大する場合がある。
【００１１】
このため、ＨＥＶＣにおける動き探索処理では、事前探索処理の結果のベクトルである事前探索ベクトル「ＭＶｐｒｅ」と、動きベクトル予測の予測ベクトルとに由来する複数の探索中心候補が用いられる。動き探索処理の処理量をさらに削減するために、符号化装置は、複数の探索中心候補のうちから探索中心候補を選択し（絞り込み）、選択された少ない個数の探索中心候補を含む小さい探索領域に対して正式の動き探索処理を実行することが必要である。特に、ＬＳＩ（Large Scale Integration）又はＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて符号化装置が実現される場合、各ブロックに対する動き探索処理の処理量が一定以下であれば、回路規模は削減される。
【００１２】
ハードウェアの回路規模を削減するため、各ブロックの探索中心候補の個数が一定数以下となるように、探索中心候補が選択される場合がある。特許文献１では、符号化装置は、縮小された画像に対する事前探索処理において精度のよい動きベクトルを導出する際に、その縮小された画像に対する動きベクトル予測の各予測ベクトルのコスト値を比較する（特許文献１参照）。
【００１３】
事前探索処理における探索領域が広いので、動きベクトル予測の予測ベクトルが示す探索中心候補は、事前探索処理における探索領域に含まれている場合が多い。このため、符号化装置は、事前探索処理を追加実行しなくても、事前探索処理において動きベクトルを導出した際に、その縮小された画像に対する動きベクトル予測の各予測ベクトルのコスト値を取得可能である。
【００１４】
特許文献1では、符号化装置は、縮小された画像に対する事前探索処理において導出された精度のよい動きベクトル及びコスト値と、その縮小された画像に対する動きベクトル予測の２本の予測ベクトルのコスト値とを、事前探索処理において動きベクトルを導出する際に導出する。符号化装置は、これら３個のコスト値と閾値との比較結果に基づいて、３個の探索中心候補から２個の探索中心候補を選択する。符号化装置は、選択された２個の探索中心候補に基づいて、正式の動き探索処理を実行する。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特許第６２５９２７２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、特許文献１では、事前探索処理における動きベクトル予測の各予測ベクトルと、事前探索処理後の正式の動き探索処理における動きベクトル予測の各予測ベクトルとは異なっている。「ＭＰＥＧ−４／ＡＶＣ」及びＨＥＶＣでは、小さい画素単位の動きベクトルにも対応するため、符号化装置は、正式の動き探索処理を小さいブロック単位で実行する。特にＨＥＶＣでは、例えば８×８画素のように小さいブロックが動きベクトルを持つことが可能である。
【００１７】
従来の符号化装置は、縮小された画像に対して事前探索処理を実行するので、縮小される前では大きいブロック単位の探索領域に対して事前探索処理を実行する。例えば、従来の符号化装置は、３２×３２画素のブロックを４×４画素のブロックまで８分の１の長さのサイズに縮小してから、縮小された画像のブロック単位の探索領域に対して事前探索処理を実行する。仮に、事前探索処理において未だ縮小されていない画像におけるブロックと、正式の動き探索処理における画像のブロックとが、同様の小さいブロックである場合、事前探索処理における縮小された画像におけるブロックは、例えば２×２画素のように小さすぎるブロックとなる。従来の符号化装置は、このように小さすぎるブロックを用いて、フレーム間の大まかな動きを捉えることが難しい。このため、フレーム間の大まかな動きを符号化装置が捉えるには、事前探索処理と正式の動き探索処理とで、探索領域のブロックのサイズが異なる必要がある。
【００１８】
動きベクトル予測の予測ベクトルは、対象ブロックとの相対的な位置（例えば、対象ブロックの左又は上の位置）のブロックにおける動きベクトルである。このため、事前探索処理と正式の動き探索処理とで探索領域のブロックのサイズが異なっている場合には、事前探索処理と正式の動き探索処理とで動きベクトル予測の予測ベクトルも異なる。仮に、事前探索処理が３２×３２画素のブロック単位で実行され、正式の動き探索処理が８×８画素のブロック単位で実行される場合、事前探索処理では３２×３２画素のブロックは、左予測ベクトル及び上予測ベクトルの１組の予測ベクトルを持つ。
【００１９】
３２×３２画素のブロックは、８×８画素の１６個のブロックから構成される。正式の動き探索処理では、３２×３２画素の各ブロックは、動きベクトル予測の１組の予測ベクトルを持つ。これに対して、事前探索処理では、３２×３２画素の各ブロックは、１６組の異なる左予測ベクトル及び上予測ベクトルを持つ場合がある。動きベクトル予測の各予測ベクトルが示す探索中心候補を、事前探索処理において符号化装置が選択した場合でも、正式の動き探索処理における動きベクトル予測の各予測ベクトルと、事前探索処理においてコスト値が比較される動きベクトル予測の各予測ベクトルとが異なるので、符号化効率は低下してしまう。
【００２０】
このように、従来の符号化装置は、事前探索処理における画像のブロック単位で、探索中心候補を選択する。事前探索処理における画像のブロックのサイズは、正式の動き探索処理における画像のブロックのサイズよりも大きいことが多い。このため、正式の動き探索処理における画像のブロック単位で探索中心候補に対する処理を従来の符号化装置が切り替えることができないので、符号化効率は低下してしまう。このように、従来の符号化装置は、探索処理量が削減された場合、符号化効率の低下を抑止することができないという問題がある。
【００２１】
上記事情に鑑み、本発明は、探索処理量が削減された場合でも、符号化効率の低下を抑止することが可能である符号化装置及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【００２２】
本発明の一態様は、画像をブロックに分割して符号化を実行する符号化装置であって、符号化対象のブロックにおける複数の仮動きベクトル候補を取得する候補取得部と、取得された仮動きベクトル候補の方向及び大きさと同一の方向及び大きさのベクトルである対応ベクトルと、符号化済みのブロックにおける前記対応ベクトルが示す探索中心の評価情報とを取得する評価情報取得部と、前記評価情報に基づいて、前記複数の仮動きベクトル候補のうちから動きベクトル候補を、前記複数の仮動きベクトル候補の数よりも少なくなるように選択する選択部とを備える符号化装置である。
【００２３】
本発明の一態様は、上記の符号化装置であって、前記対応ベクトルは、前記符号化済みのブロックが前記符号化対象のブロックであった際の前記仮動きベクトル候補である。
【００２４】
本発明の一態様は、上記の符号化装置であって、前記評価情報取得部は、前記符号化済みのブロックの探索領域に前記探索中心が含まれている前記対応ベクトルの前記仮動きベクトル候補の前記評価情報を、前記対応ベクトルの前記評価情報と等しくし、前記符号化済みのブロックの探索領域に前記探索中心が含まれていない前記対応ベクトルの前記仮動きベクトル候補の前記評価情報を、符号化された前記仮動きベクトル候補の符号量と固定値とが加算された結果と等しくする。
【００２５】
本発明の一態様は、上記の符号化装置であって、前記対応ベクトルの前記評価情報は、符号化された前記仮動きベクトル候補の符号量と画素値の差分絶対値和とが加算された結果の値である。
【００２６】
本発明の一態様は、上記の符号化装置であって、前記符号化済みのブロックは、前記符号化対象のブロックが前記画像の左端のブロックでない場合、前記符号化対象のブロックの左方向のブロックであり、前記符号化対象のブロックが前記画像の左端のブロックである場合、前記符号化対象のブロックの上方向のブロックである。
【００２７】
本発明の一態様は、上記の符号化装置としてコンピュータを機能させるためのプログラムである。
【発明の効果】
【００２８】
本発明により、探索処理量が削減された場合でも、符号化効率の低下を抑止することが可能である。
【図面の簡単な説明】
【００２９】
【図１】実施形態における、符号化装置の構成例を示す図である。
【図２】実施形態における、インター予測処理部の構成例を示す図である。
【図３】実施形態における、符号化処理の対象ブロックに隣接する各画素の例を示す図である。
【図４】実施形態における、コーディング・ツリー・ユニットと、事前探索単位と、プレディクション・ユニットとの例を示す図である。
【図５】実施形態における、各探索範囲を含む探索領域の例を示す図である。
【図６】実施形態における、事前探索ベクトル及び予測ベクトルの例を示す図である。
【図７】実施形態における、対応ベクトルの例を示す図である。
【図８】実施形態における、探索領域の外を示す対応ベクトルの例を示す図である。
【図９】実施形態における、符号化装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【００３０】
本発明の実施形態について、図面を参照して詳細に説明する。
（第１実施形態）
図１は、符号化装置１の構成例を示す図である。符号化装置１は、動画像等の信号を符号化する装置である。符号化装置１は、指定されたパラメータに基づいて、例えば動画像のフレーム（原画像）を符号化する。以下では、符号化装置１は、一例として、Ｈ.２６４／ＡＶＣ又はＨＥＶＣ等の動画像符号化処理を実行する。符号化装置１は、符号化処理を対象ブロック単位で実行する。ＨＥＶＣでは、対象ブロック（符号化ブロック）は、コーディング・ユニット（Coding Unit: CU）である。コーディング・ユニットは、コーディング・ツリー・ユニット（Coding Tree Unit: CTU）を構成する。
【００３１】
符号化装置１は、原画像整形部１０１と、イントラ予測処理部１０２と、インター予測処理部１０３と、予測残差信号生成部１０４と、変換・量子化処理部１０５と、エントロピー符号化部１０６と、逆量子化・逆変換処理部１０７と、復号信号生成部１０８と、ループフィルタ処理部１０９とを備える。
【００３２】
符号化装置１の各機能部のうち一部又は全部は、例えば、ＬＳＩ等のハードウェアを用いて実現される。符号化装置１の各機能部のうちの一部又は全部は、ＣＰＵ（Central Processing Unit）等のプロセッサが、記憶部に記憶されたプログラムを実行することにより、ソフトウェアとして実現されてもよい。記憶部は、例えばフラッシュメモリ、ＨＤＤ（Hard Disk Drive）などの不揮発性の記録媒体（非一時的な記録媒体）が好ましい。記憶部は、ＲＡＭ（Random Access Memory）などの揮発性の記録媒体を備えてもよい。記憶部は、例えばプログラム、画像データを記憶する。
【００３３】
原画像整形部１０１は、原画像信号（動画像のフレーム）を、ラスタスキャン順で取得する。原画像整形部１０１は、原画像データを対象ブロック単位に整形する。原画像整形部１０１は、対象ブロック単位の原画像データを、予測残差信号生成部１０４及びインター予測処理部１０３に出力する。
【００３４】
イントラ予測処理部１０２は、復号信号を復号信号生成部１０８から取得する。イントラ予測処理部１０２は、復号信号の対象フレームに対して、イントラ予測を実行する。
【００３５】
インター予測処理部１０３は、対象ブロック単位の原画像信号を、原画像整形部１０１から取得する。インター予測処理部１０３は、フィルタリング処理後の復号信号を、参照画像信号として、ループフィルタ処理部１０９から取得する。
【００３６】
予測残差信号生成部１０４は、対象ブロック単位の原画像信号を、原画像整形部１０１から取得する。予測残差信号生成部１０４は、予測信号をイントラ予測処理部１０２又はインター予測処理部１０３から取得する。予測信号は、予測残差信号生成部１０４が予測信号をイントラ予測処理部１０２から取得する場合、イントラ予測の結果を表す情報を含む。予測信号は、予測残差信号生成部１０４が予測信号をインター予測処理部１０３から取得する場合、インター予測の結果を表す情報を含む。予測残差信号生成部１０４は、原画像信号と予測信号との差分を、予測残差信号として変換・量子化処理部１０５に出力する。
【００３７】
変換・量子化処理部１０５は、離散コサイン変換等の直交変換を予測残差信号に対して実行する。変換・量子化処理部１０５は、変換係数を量子化する。変換・量子化処理部１０５は、量子化された変換係数を、エントロピー符号化部１０６と逆量子化・逆変換処理部１０７とに出力する。
【００３８】
エントロピー符号化部１０６は、量子化された変換係数をエントロピー符号化する。エントロピー符号化部１０６は、エントロピー符号化された変換係数のビットストリームを、復号装置等である外部装置に出力する。このように、符号化装置１は、動き探索処理における探索結果を、復号装置等である外部装置に送信する。
【００３９】
逆量子化・逆変換処理部１０７は、量子化された変換係数を、変換・量子化処理部１０５から取得する。逆量子化・逆変換処理部１０７は、量子化された変換係数に対して、逆量子化及び逆直交変換処理を実行する。逆量子化・逆変換処理部１０７は、逆量子化及び逆直交変換処理の結果である予測残差復号信号を、復号信号生成部１０８に出力する。
【００４０】
復号信号生成部１０８は、予測信号をイントラ予測処理部１０２又はインター予測処理部１０３から取得する。復号信号生成部１０８は、予測残差復号信号と予測信号とを加算することによって、符号化された対象ブロックの復号信号を生成する。
【００４１】
ループフィルタ処理部１０９は、符号化歪みが低減されるフィルタリング処理を、復号信号に対して実行する。ループフィルタ処理部１０９は、フィルタリング処理後の復号信号を、参照画像信号として、インター予測処理部１０３に出力する。
【００４２】
次に、インター予測処理部１０３の構成例の詳細を説明する。
図２は、インター予測処理部１０３の構成例を示す図である。インター予測処理部１０３は、縮小画像生成部２０１と、事前探索処理処理部２０２と、予測ベクトル生成部２０３と、探索中心決定部２０４と、動き探索処理部２０５と、動き探索結果格納部２０６とを備える。
【００４３】
縮小画像生成部２０１は、原画像及び参照画像を取得する。縮小画像生成部２０１は、原画像に対して縮小処理を実行する。縮小画像生成部２０１は、原画像の縮小率と同じ縮小率で、参照画像に対して縮小処理を実行する。縮小画像生成部２０１は、縮小された原画像及び参照画像を、事前探索処理処理部２０２に出力する。
【００４４】
事前探索処理処理部２０２は、縮小された原画像及び参照画像を用いて、事前探索処理を実行する。事前探索処理処理部２０２は、事前探索処理の結果である精度のよい動きベクトルを、予測ブロックごとの１本の事前探索ベクトルとして、探索中心決定部２０４に出力する。ＨＥＶＣでは、予測ブロック（動き補償ブロック）は、プレディクション・ユニット（Prediction Unit: PU）である。
【００４５】
予測ベクトル生成部２０３は、対象ブロックの周囲のブロックの動きベクトルに基づいて動きベクトル予測を実行することによって、対象ブロックにおける動きベクトル予測の予測ベクトルを、予測ブロックごとに導出する。ＨＥＶＣでは２種類の動きベクトル予測が規定されているので、予測ベクトル生成部２０３は、２本の予測ベクトルを予測ブロックごとに探索中心決定部２０４に出力する。
【００４６】
ＨＥＶＣの規格において、符号化処理の対象ブロックごとに予測ベクトルが導出される動きベクトル予測の２通りの方法が規定されている。ＨＥＶＣでは、符号化効率の良い予測ベクトルを符号化装置が選択することが可能である。このため、予測ベクトル生成部２０３は、２本の予測ベクトルを導出する。
【００４７】
探索中心決定部２０４（ベクトル取得部）は、予測ブロックごとの１本の事前探索ベクトルを、１個の探索中心候補を示すベクトル（以下「探索中心候補ベクトル」という。）として、事前探索処理処理部２０２から取得する。探索中心決定部２０４は、予測ブロックごとの２本の予測ベクトルを、２個の探索中心候補を示すベクトル（探索中心候補ベクトル）として、予測ベクトル生成部２０３から取得する。
【００４８】
探索中心決定部２０４は、現在の予測ブロックに対する動き探索処理よりも時間的に前（過去）の予測ブロックに対する動き探索処理の結果を、動き探索結果格納部２０６から取得する。すなわち、探索中心決定部２０４は、現在の予測ブロックの直前（過去）の予測ブロックの探索中心候補ベクトルのうちから、現在の予測ブロックの１本の事前探索ベクトルに対応するベクトルを、現在の予測ブロックの探索中心候補ベクトルとして、動き探索結果格納部２０６から取得する。探索中心決定部２０４は、現在の予測ブロックの直前（過去）の予測ブロックの探索中心候補ベクトルのうちから、現在の予測ブロックの２本の予測ベクトルに対応するベクトルを、現在の予測ブロックの探索中心候補ベクトルとして、動き探索結果格納部２０６から取得する。
【００４９】
以下、探索中心候補ベクトルに対応するベクトルを「対応ベクトル」という。すなわち、対応ベクトルは、符号化済みの対象ブロックが符号化の対象ブロックであった際の過去の探索中心候補ベクトル（仮動きベクトル候補）である。探索中心候補ベクトルの対応ベクトルの方向及び大きさは、その探索中心候補ベクトルの方向及び大きさと同じである。
【００５０】
探索中心決定部２０４は、過去の予測ブロックに対する動き探索処理の結果に基づいて、２本の探索中心候補ベクトルを３本の探索中心候補ベクトルのうちから選択する。探索中心決定部２０４は、選択された２本の探索中心候補ベクトルを動き探索処理部２０５に出力する。
【００５１】
探索中心決定部２０４は、現在の予測ブロックの直前の１個の予測ブロックにおける、１本の事前探索ベクトルと２本の予測ベクトルとのうちから、最適な探索中心候補ベクトルを選択する。これによって、探索中心決定部２０４は、符号化効率を低下させずに、動き探索処理の処理量を削減することが可能である。
【００５２】
動き探索処理部２０５は、原画像及び参照画像を取得する。動き探索処理部２０５は、探索中心決定部２０４によって選択された探索中心候補ベクトルが示す探索中心を含む領域に対して、動き探索処理を予測ブロックごとに実行する。動き探索処理部２０５は、選択された動きベクトル（確定された動きベクトル）と、予測差分画像（予測差分信号）とを、予測残差信号生成部１０４に出力する。
【００５３】
動き探索結果格納部２０６は、現在の１個の予測ブロックにおける１本の事前探索ベクトルと２本の予測ベクトルとを、動き探索処理の結果として、一定期間格納する。格納されている１本の事前探索ベクトルと２本の予測ベクトルとは、現在の１個の予測ブロックの次の予測ブロックにおける最適な探索中心候補ベクトルが選択される処理において、探索中心決定部２０４によって使用される。
【００５４】
次に、予測ベクトル生成部２０３の詳細を説明する。
図３は、符号化処理の対象ブロック３０１に隣接する各画素の例を示す図である。対象ブロック３０１の左下の画素３０２「Ａ０」を含む符号化済みの対象ブロック（周辺ブロック）の符号化モードが、動きベクトルを持つ符号化モードである場合、予測ベクトル生成部２０３は、画素３０２「Ａ０」を含む符号化済みの対象ブロックの動きベクトルを予測ベクトル「ＭＶＰ１」とする。対象ブロック３０１の左下の画素３０２「Ａ０」を含む符号化済みの対象ブロックの符号化モードが、動きベクトルを持つ符号化モードでない場合、予測ベクトル生成部２０３は、画素３０３「Ａ１」を含む符号化済みの対象ブロックの動きベクトルを予測ベクトル「ＭＶＰ１」とする。
【００５５】
対象ブロック３０１の上方向の画素についても同様に、予測ベクトル生成部２０３は、予測ベクトルを定める。対象ブロック３０１の右上の画素３０４「Ｂ０」を含む符号化済みの対象ブロック（周辺ブロック）の符号化モードが、動きベクトルを持つ符号化モードである場合、予測ベクトル生成部２０３は、画素３０４「Ｂ０」を含む符号化済みの対象ブロックの動きベクトルを予測ベクトル「ＭＶＰ２」とする。対象ブロック３０１の右上の画素３０４「Ｂ０」を含む符号化済みの対象ブロックの符号化モードが、動きベクトルを持つ符号化モードでない場合、対象ブロック３０１の右上の画素３０５「Ｂ１」を含む符号化済みの対象ブロックの符号化モードが、動きベクトルを持つ符号化モードであるか否かを判定する。対象ブロック３０１の右上の画素３０５「Ｂ１」を含む符号化済みの対象ブロックの符号化モードが、動きベクトルを持つ符号化モードである場合、画素３０５「Ｂ１」を含む符号化済みの対象ブロックの動きベクトルを予測ベクトル「ＭＶＰ２」とする。対象ブロック３０１の右上の画素３０５「Ｂ１」を含む符号化済みの対象ブロックの符号化モードが、動きベクトルを持つ符号化モードでない場合、予測ベクトル生成部２０３は、画素３０６「Ｂ２」を含む符号化済みの対象ブロックの動きベクトルを予測ベクトル「ＭＶＰ２」とする。
【００５６】
このように、予測ベクトル生成部２０３は、動きベクトル予測の１本の予測ベクトル「ＭＶＰ１」を、画素３０２又は画素３０３に基づいて生成する。予測ベクトル生成部２０３は、動きベクトル予測の１本の予測ベクトル「ＭＶＰ２」を、画素３０４、画素３０５又は画素３０６に基づいて生成する。予測ベクトル生成部２０３は、動きベクトル予測の予測ベクトル「ＭＶＰ１」及び「ＭＶＰ２」を、探索中心決定部２０４に出力する。なお、予測ベクトル生成部２０３は、符号化途中の対象ブロック（周辺ブロック）の動きベクトルを、予測ベクトルとしてもよい。
【００５７】
ＨＥＶＣでは、符号化装置は、動きベクトル予測及び動き補償処理を、予測ブロック（プレディクション・ユニット）単位で実行する。予測ブロックのサイズは、８×８画素から６４×６４画素までである。正式の動き探索処理が実行される予測ブロックのサイズが８×８画素のような小さいサイズである場合、縮小画像生成部２０１が原画像を縮小することによって、予測ブロックが２×２画素のような非常に小さいサイズになってしまう。このため、事前探索処理における動きベクトルの精度が低下してしまう。
【００５８】
事前探索処理後の正式の動き探索処理が実行される予測ブロックのサイズが８×８画素のような小さいサイズである場合でも、事前探索処理における動きベクトルの精度が低下させないようにするため、事前探索処理処理部２０２は、３２×３２画素のような大きいサイズの予測ブロックに対して事前探索処理を実行する場合がある。この場合、事前探索処理処理部２０２によって実行される事前探索処理における予測ブロックのサイズと、動き探索処理部２０５によって実行される正式の動き探索処理における予測ブロックのサイズは異なる。事前探索ベクトル「ＭＶｐｒｅ」は、３２×３２画素のような大きいサイズの予測ブロックごとに、事前探索処理処理部２０２によって生成される。
【００５９】
図４は、コーディング・ツリー・ユニット（ＣＴＵ）と、事前探索単位と、プレディクション・ユニット（ＰＵ）との例を示す図である。図４では、対象ブロック（符号化ブロック）である複数のコーディング・ユニットから構成されるコーディング・ツリー・ユニット４００のサイズは、６４×６４画素である。事前探索処理処理部２０２によって実行される事前探索処理の単位である事前探索単位４０１のサイズは、３２×３２画素である。動き探索処理部２０５によって実行される動き探索処理の単位であるプレディクション・ユニット５００のサイズは、８×８画素である。
【００６０】
予測ベクトル「ＭＶＰ１」及び「ＭＶＰ２」が示す探索中心候補は、８×８画素サイズのプレディクション・ユニット５００ごとに異なる。このため、コーディング・ツリー・ユニット４００には、６４組の予測ベクトル「ＭＶＰ１」及び「ＭＶＰ２」が存在する。事前探索ベクトル「ＭＶｐｒｅ」が示す探索中心候補は、３２×３２画素サイズの事前探索単位ごとに異なる。このため、コーディング・ツリー・ユニット４００には、事前探索単位４０１〜４０４に、計４本の事前探索ベクトル「ＭＶｐｒｅ」が存在する。
【００６１】
したがって、各プレディクション・ユニットは、１個の探索中心候補を示す事前探索ベクトルと、２個の探索中心候補を示す予測ベクトルとを有する。これら３個の探索中心候補を共有するプレディクション・ユニットと事前探索単位とコーディング・ツリー・ユニットとの各サイズは互いに異なる。事前探索処理処理部２０２によって生成された事前探索ベクトル「ＭＶｐｒｅ」と予測ベクトル生成部２０３によって生成された予測ベクトル「ＭＶＰ１」及び「ＭＶＰ２」の３本の探索中心候補ベクトルのうちから、最適な探索中心候補ベクトルを探索中心決定部２０４が選択する例について説明する。
【００６２】
図５は、各探索範囲を含む探索領域の例を示す図である。事前探索ベクトル７００「ＭＶｐｒｅ＿１」が示す探索中心候補を含む探索範囲６０１の形状と、予測ベクトル７０１「ＭＶＰ１＿１」が示す探索中心候補を含む探索範囲６０２の形状と、予測ベクトル７０２「ＭＶＰ２＿１」が示す探索中心候補を含む探索範囲６０３の形状とは、いずれも「横の画素数×縦の画素数＝Ｗ×Ｈ」サイズの矩形である。プレディクション・ユニット５００に対して、事前探索ベクトル７００「ＭＶｐｒｅ＿１」と予測ベクトル７０１「ＭＶＰ１＿１」とが２本の探索中心候補ベクトルとして選択された場合、探索領域６００は、２本の探索中心候補ベクトルが示す各探索中心候補を含む。プレディクション・ユニット５００に対して、探索領域６００は、選択されなかった予測ベクトル７０２「ＭＶＰ２＿１」が示す探索中心候補を含む探索範囲６０３を含まない。
【００６３】
以下では、コスト値は、評価を表す情報（評価情報）である。コスト値が小さいほど、評価は高い。コスト値が小さい（評価が高い）探索中心候補ベクトルは、適した探索中心候補ベクトルであり、探索中心決定部２０４によって選択され易い。コスト値は、一例として、動きベクトルが符号化された際に簡易的に見積もられた動きベクトルの符号量（以下「動きベクトルコスト値」という。）と差分絶対値和との和（加算結果）である。この差分絶対値和は、原画像の画素値と動きベクトルが示す参照画像の画素値との差分絶対値和（Sum of Absolute Difference: SAD）でもよいし、原画像の画素値と動きベクトルが示す参照画像の画素値との差分絶対値に対して２次元アダマール変換が実行された結果の差分絶対値和（Sum of Absolute Transformed Difference: SATD）でもよい。
【００６４】
動き探索結果格納部２０６は、各プレディクション・ユニットに対する正式の動き探索処理のうち、直前に実行された正式の動き探索処理について、探索領域６００における動き探索処理の結果を表すコスト値を、探索点（探索領域６００における画素）ごとに格納する。図５では、動き探索結果格納部２０６は、プレディクション・ユニット５００について、探索領域６００における動き探索処理の結果を表すコスト値を、探索点ごとに格納する。探索範囲６０１及び探索範囲６０２の少なくとも一部が重なっている場合、探索範囲６０１及び探索範囲６０２が全く重なっていない場合と比較して、実質的な探索点数は少ない。動き探索結果格納部２０６は、最大「２×Ｗ×Ｈ」個の探索点について、各コスト値を格納する。
【００６５】
図６は、事前探索ベクトル及び予測ベクトルの例を示す図である。プレディクション・ユニット５００（符号化済みのブロック）に対する動き探索処理の次にプレディクション・ユニット５０１（符号化対象のブロック）に対する動き探索処理が実行される場合、探索中心決定部２０４は、プレディクション・ユニット５０１の３本の探索中心候補ベクトルとして、事前探索ベクトル７０３「ＭＶｐｒｅ＿２」と予測ベクトル７０４「ＭＶＰ１＿２」と予測ベクトル７０５「ＭＶＰ２＿２」とを取得する。
【００６６】
図７は、対応ベクトルの例を示す図である。探索中心決定部２０４は、直前に実行されたプレディクション・ユニット５００に対する正式の動き探索処理の結果について、プレディクション・ユニット５０１の３本の探索中心候補ベクトルにそれぞれ対応するベクトル（対応ベクトル）ごとのコスト値を、動き探索結果格納部２０６から取得する。
【００６７】
対応ベクトル７０６は、図６に示された事前探索ベクトル７０３に対応するベクトルである。対応ベクトル７０６は、探索領域６００内の探索中心候補８０３を示す。対応ベクトル７０７は、図６に示された予測ベクトル７０４に対応するベクトルである。対応ベクトル７０７は、探索領域６００内の探索中心候補８０４を示す。対応ベクトル７０８は、図６に示された予測ベクトル７０５に対応するベクトルである。対応ベクトル７０８は、探索領域６００内の探索中心候補８０５を示す。
【００６８】
探索中心決定部２０４（評価情報取得部）は、直前に実行されたプレディクション・ユニット５００に対する正式の動き探索処理における対応ベクトル７０６〜７０８の各コスト値を、現在のプレディクション・ユニット５０１に対する正式の動き探索処理における各探索中心候補ベクトル（事前探索ベクトル７０３、予測ベクトル７０４、予測ベクトル７０５）の各コスト値とする。
【００６９】
探索中心決定部２０４は、現在のプレディクション・ユニット５０１に対する正式の動き探索処理における探索中心候補ベクトルの各コスト値を比較する。探索中心決定部２０４は、３本の探索中心候補ベクトルのうちから、コスト値の小さい順に２本の探索中心候補ベクトルを選択する。探索中心決定部２０４は、選択された２本の探索中心候補ベクトルを、プレディクション・ユニット５０１に対する正式の動き探索処理における２本の探索中心候補ベクトルとする。
【００７０】
このようにして、探索中心決定部２０４は、プレディクション・ユニット５０１の３本の探索中心候補ベクトルのうちから、２本の探索中心候補ベクトルを選択する。探索中心決定部２０４は、選択された２本の探索中心候補ベクトルが示す２個の探索中心候補を、プレディクション・ユニット５０１の正式の動き探索処理における２個の探索中心として選択する。
【００７１】
図８は、探索領域６００の外を示す対応ベクトルの例を示す図である。対応ベクトルのいずれかは、探索領域６００の外を示す場合がある。対応ベクトル７０６が示す探索中心候補８０３は、プレディクション・ユニット５００の探索領域６００に含まれている。対応ベクトル７０８が示す探索中心候補８０５は、プレディクション・ユニット５００の探索領域６００に含まれている。このため、動き探索結果格納部２０６は、対応ベクトル７０６のコスト値と、対応ベクトル７０８のコスト値とを格納している。
【００７２】
対応ベクトル７０７が示す探索中心候補８０４は、プレディクション・ユニット５００の探索領域６００に含まれていない。このため、動き探索結果格納部２０６は、対応ベクトル７０７のコスト値を格納していない。したがって、探索中心決定部２０４は、対応ベクトル７０７のコスト値を参照することができず、対応ベクトル７０７のコスト値と対応ベクトル７０６又は７０７のコスト値とを比較することができない。
【００７３】
このように、１本以上の対応ベクトルのコスト値を探索中心決定部２０４が参照することができない場合、探索中心決定部２０４は、ユーザ等によって予め定められたパラメータ値（固定値）と動きベクトルコスト値との和を、参照不可である対応ベクトルのコスト値と定める。これによって、探索中心決定部２０４は、参照可である対応ベクトルのコスト値と、参照不可である対応ベクトルのコスト値とを比較することが可能である。
【００７４】
次に、符号化装置１の動作例を、一例として図６〜図８を参照しながら説明する。
図９は、符号化装置１の動作例を示すフローチャートである。探索中心決定部２０４は、対象のプレディクション・ユニット５０１の探索中心を選択する処理を開始する（ステップＳ１０１）。
【００７５】
探索中心決定部２０４は、図６に示された事前探索ベクトル７０３「ＭＶｐｒｅ＿２」を、事前探索処理処理部２０２から取得する。探索中心決定部２０４は、事前探索ベクトル７０３「ＭＶｐｒｅ＿２」を、探索中心候補ベクトル「ＳＣ＿１」と定める。探索中心決定部２０４は、予測ベクトル７０４「ＭＶＰ１＿２」及び予測ベクトル７０５「ＭＶＰ２＿２」を、予測ベクトル生成部２０３から取得する。探索中心決定部２０４は、予測ベクトル７０４「ＭＶＰ１＿２」を、探索中心候補ベクトル「ＳＣ＿２」と定める。探索中心決定部２０４は、予測ベクトル７０５「ＭＶＰ２＿２」を、探索中心候補ベクトル「ＳＣ＿３」と定める（ステップＳ１０２）。
【００７６】
ステップＳ１０３からステップＳ１１０までにおいて探索中心候補ベクトル「ＳＣ＿１」、「ＳＣ＿２」及び「ＳＣ＿３」に対してコスト値を設定するため、探索中心決定部２０４は、インデックス「ｉ」に１を代入する（ステップＳ１０３）。
【００７７】
探索中心候補ベクトル「ＳＣ＿ｉ」の探索中心が、プレディクション・ユニット５００（プレディクション・ユニット５０１の直前）における探索領域６００内であるか否かを、探索中心決定部２０４は判定する（ステップＳ１０４）。
【００７８】
探索中心候補ベクトル「ＳＣ＿ｉ」の探索中心がプレディクション・ユニット５００における探索領域６００内である場合（ステップＳ１０４：ＹＥＳ）、探索中心決定部２０４は、探索中心候補ベクトル「ＳＣ＿ｉ」の対応ベクトル（探索中心候補ベクトル「ＳＣ＿ｉ」に相当するベクトル）のコスト値を、動き探索結果格納部２０６から取得する（ステップＳ１０５）。
【００７９】
探索中心決定部２０４は、取得された対応ベクトルのコスト値を、プレディクション・ユニット５０１の探索中心候補ベクトル「ＳＣ＿ｉ」のコスト値「Ｃ＿ｉ」と等しくする（ステップＳ１０６）。
【００８０】
探索中心候補ベクトル「ＳＣ＿ｉ」の探索中心がプレディクション・ユニット５００における探索領域６００の外である場合（ステップＳ１０４：ＮＯ）、対応ベクトルのコスト値が動き探索結果格納部２０６に格納されていないので、探索中心決定部２０４は、探索中心候補ベクトル「ＳＣ＿ｉ」が符号化された際の探索中心候補ベクトル「ＳＣ＿ｉ」の符号量を、動きベクトルコスト値として簡易的に導出する。例えば、探索中心決定部２０４による動きベクトルコスト値の導出方法は、動き探索処理部２０５による動きベクトルの符号量（動きベクトルコスト値）の導出方法と同じでよい（ステップＳ１０７）。
【００８１】
探索中心決定部２０４は、ユーザ等によって予め定められたパラメータ値「Ｐ」（固定値）と、動きベクトルコスト値とを加算した結果（合計値）を、探索中心候補ベクトル「ＳＣ＿ｉ」のコスト値「Ｃ＿ｉ」と等しくする（ステップＳ１０８）。
【００８２】
探索中心決定部２０４は、インデックス「ｉ」に１を加算する（ステップＳ１０９）。探索中心決定部２０４は、インデックスの値が探索中心候補ベクトルの本数「３」よりも大きいか否かを判定する（ステップＳ１０９）。インデックス「ｉ」の値が探索中心候補ベクトルの本数「３」以下である場合（ステップＳ１０９：ＮＯ）、探索中心決定部２０４は、ステップＳ１０４に処理を戻す。
【００８３】
インデックス「ｉ」の値が探索中心候補ベクトルの本数「３」よりも大きい場合（ステップＳ１０９：ＹＥＳ）、探索中心決定部２０４は、探索中心候補ベクトル「ＳＣ＿１」、「ＳＣ＿２」及び「ＳＣ＿３」の各コスト値を比較する。探索中心決定部２０４は、コスト値が小さい順に、２本の探索中心候補ベクトルを選択する。探索中心決定部２０４は、選択された２本の探索中心候補ベクトルが示す各探索中心候補を、対象のプレディクション・ユニット５０１（現ＰＵ）の各探索中心として選択する（ステップＳ１１１）。
【００８４】
ステップＳ１０８のパラメータ値「Ｐ」は、差分コスト値を表す差分絶対値和（ＳＡＤ又はＳＡＴＤ）に相当する値であり、差分コスト値以外のコスト値（動きベクトルコスト値）に対する閾値のように機能する。図８に示されているように、３個の探索中心候補８０３〜８０５のうち１個の探索中心候補８０４のみがプレディクション・ユニット５００の探索領域６００の外である場合について説明する。
【００８５】
探索領域６００内の２個の探索中心候補８０３及び８０５を示す各探索中心候補ベクトルのコスト値が、探索中心候補８０４を示す探索中心候補ベクトルのコスト値「パラメータＰ＋動きベクトルコスト値」よりも小さい場合、探索中心決定部２０４は、これら２個の探索中心候補８０３及び８０５を、プレディクション・ユニット５０１の探索中心とする。
【００８６】
探索領域６００内の２個の探索中心候補８０３及び８０５を示す各探索中心候補ベクトルのコスト値、探索中心候補８０４を示す探索中心候補ベクトルのコスト値「パラメータＰ＋動きベクトルコスト値」よりも大きい場合、探索中心決定部２０４は、これら２個の探索中心候補８０３及び８０５を、プレディクション・ユニット５０１の探索中心として選択しない。
【００８７】
探索領域６００内の２個の探索中心候補８０３及び８０５を示す各探索中心候補ベクトルのコスト値と、探索中心候補８０４を示す探索中心候補ベクトルのコスト値とが等しい場合、パラメータ値「Ｐ」は、動きベクトルコスト値に対する閾値として機能する。
【００８８】
仮に、３個の探索中心候補のうち２個以上の探索中心候補がプレディクション・ユニット５００（直前のＰＵ）の探索領域６００の外にある場合、探索領域６００の外の各探索中心候補を示す探索中心候補ベクトルの各コスト値が比較されることによって、パラメータ「Ｐ」が打ち消されるので、探索中心決定部２０４は、動きベクトルコスト値が小さい探索中心候補ベクトルが示す探索中心候補を、プレディクション・ユニット５０１の探索中心として選択する。
【００８９】
以上のように、実施形態の符号化装置１は、画像を対象ブロックに分割（整形）して符号化を実行する。実施形態の符号化装置１は、探索中心決定部２０４（候補取得部、評価情報取得部、選択部）を備える。探索中心決定部２０４は、符号化の対象ブロックにおける複数の探索中心候補ベクトル（仮動きベクトル候補）を取得する。探索中心決定部２０４は、取得された探索中心候補ベクトルの方向及び大きさと同一の方向及び大きさのベクトルである対応ベクトルを取得する。探索中心決定部２０４は、符号化済みの対象ブロックにおける対応ベクトルが示す探索中心の評価情報を取得する。探索中心決定部２０４は、評価情報に基づいて、複数の探索中心候補ベクトルのうちから探索中心候補ベクトル（動きベクトル候補）を、それら複数の探索中心候補ベクトルの数よりも少なくなるように選択する。
【００９０】
これにより、実施形態の符号化装置１は、既に符号化されたブロックに係る動き探索の結果を利用して、動きベクトルの候補を絞り込む。実施形態の符号化装置１は、画素値の読み込みをしなくても、対象ブロックの周囲のブロックにおける正式の動き探索処理の結果に基づいて、探索中心候補を決定する。すなわち、実施形態の符号化装置１は、事前探索処理（追加コスト）を追加実行しなくても、動きベクトル予測（ＭＶＰ）の精度のよい各予測ベクトルの対応ベクトルが示す各探索中心候補のコスト値（評価情報）を比較し、比較結果に基づいて、現在の予測ブロックの探索中心候補ベクトルを選択する。このようにして、実施形態の符号化装置１は、探索処理量が削減された場合でも、符号化効率の低下を抑止することが可能である。
【００９１】
実施形態の符号化装置１は、過去の探索結果に基づいて探索中心候補の絞り込みを実行することで、追加の探索処理等を実行しなくてもよいので、探索処理量を大幅に削減することが可能である。実施形態の符号化装置１は、正式の動き探索処理におけるプレディクション・ユニットごとに対応ベクトルの絞り込みを実行することで、事前探索処理におけるブロックのサイズと正式の動き探索処理におけるブロックのサイズとが異なることによって符号化性能が劣化することを抑止することが可能である。実施形態の符号化装置１は、事前探索処理と正式の動き探索処理とで、動きベクトル予測の予測ベクトルに齟齬が生じないようにすることが可能である。特に、プレディクション・ユニットのブロックサイズが例えば８×８画素のように小さい場合、プレディクション・ユニットが１個ずれても探索中心候補の優劣に大きな違いは生じにくい。このため、直前のプレディクション・ユニット（直前ＰＵ）の探索結果に基づいて、現在のプレディクション・ユニット（現ＰＵ）の探索中心候補ベクトルのコスト値が評価されることは、対応ベクトルの選択結果に大きな影響を与えない。
【００９２】
上記の実施形態では、動き探索結果格納部２０６は、一例として、直前のプレディクション・ユニットの探索結果のみを格納している。現在のプレディクション・ユニット（現ＰＵ）がフレームの左端に位置する場合では、直前のプレディクション・ユニット（直前ＰＵ）はフレーム右端に位置するため、現在のプレディクション・ユニットと直前のプレディクション・ユニットとの距離が離れているために、探索結果の相関が低く、対応ベクトルの選択結果に応じて、符号化性能が劣化する場合がある。動き探索結果格納部２０６は、直前のプレディクション・ユニットの探索結果だけでなく、原画像のフレームの左端に位置する現在のプレディクション・ユニットの直近のプレディクション・ユニットの探索結果も格納してもよい。その場合、フレームの左端のプレディクション・ユニットの探索中心候補が選択される場合、探索中心決定部２０４は、直前のプレディクション・ユニットの探索結果を使用するのではなく、フレームの左端の直近のプレディクション・ユニットの探索結果を使用してもよい。このように、直近のプレディクション・ユニットは、符号化対象のブロック（プレディクション・ユニット）が原画像のフレームの左端のブロックでない場合、符号化対象のブロックの例えば左方向のブロックである。直近のプレディクション・ユニットは、符号化対象のブロックが原画像のフレームの左端のブロックである場合、符号化対象のブロックの例えば上方向のブロックである。探索中心決定部２０４は、フレームにおいて現在のプレディクション・ユニットの直上のプレディクション・ユニットの過去の探索結果（現ＰＵとの相関が高い探索結果）を利用できるので、符号化性能が劣化することを抑止することが可能である。
【００９３】
上記の実施形態では、探索中心決定部２０４は、直前のプレディクション・ユニットの１本の対応ベクトルのコスト値（１個の探索中心のコスト値）を、動き探索結果格納部２０６から取得している。コスト値は、複数の探索中心候補ベクトルのコスト値（複数の探索中心のコスト値）の合計値でもよい。例えば、探索中心決定部２０４は、現在のプレディクション・ユニットの探索中心候補ベクトルが示す探索中心候補を中心として上下左右に±１点で計９点の探索中心候補について、直前のプレディクション・ユニットに対する正式の動き探索処理の結果における対応ベクトルのコスト値を取得する。探索中心決定部２０４は、取得されたコスト値を比較することで、探索中心候補ベクトルを選択してもよい。コスト値は、複数の探索中心候補ベクトルのコスト値（複数の探索中心のコスト値）の中央値でもよい。これによって、探索中心決定部２０４は、画像のノイズ等に影響されずに、コスト値をより正確に比較し、探索中心候補ベクトルを選択することが可能である。
【００９４】
以上をまとめると、一例として以下のようになる。
実施形態の符号化装置１は、入力画像に対し参照画像との時間的相関を利用して、動き探索処理及び画素値予測を実行する。実施形態の符号化装置１は、縮小画像生成部と、事前動き探索処理部と、予測ベクトル生成部と、予測ベクトル生成部と、探索中心決定部と、動き探索処理部と、動き探索結果格納部とを備える。縮小画像生成部は、入力画像と参照画像を縮小処理する。事前動き探索処理部は、縮小画像生成部により同比率で縮小された縮小済み入力画像の符号化対象ブロックと縮小済み参照画像の事前動き探索用探索領域とを用いて、事前動き探索処理を実行することにより第一の動きベクトルを決定する。予測ベクトル生成部は、対象符号化ブロックの周辺ブロックから、ＭＶＰの２本予測ベクトルを導出し、第二の動きベクトル及び第三の動きベクトルとして決定する。探索中心決定部は、動き探索結果格納部に格納された過去のブロックの動き探索結果を用いて、第一の動きベクトルと第二の動きベクトルと第三の動きベクトルとの３本のベクトルから、２本以下のベクトルを選択し、符号化の対象ブロックの探索中心を示すベクトルとして決定する。
【００９５】
動き探索処理部は、探索中心決定部により決定された２本のベクトルが示す探索中心に基づいて、本動き探索用探索領域を決定し、本動き探索用探索領域の内の各点に対して動き探索処理を実行する。ここで、動き探索処理部は、原画像と動きベクトルが指し示す参照画像との差分絶対値和（SAD）、又は、差分値に２次元アダマール変換を行った値の差分絶対値和（SATD）と、動きベクトルを符号化した際に生ずる符号量を簡易的に見積もった動きベクトルコスト値との和を、本動き探索用探索領域の内の各点における探索コスト値と定める。動き探索処理部は、探索コスト値が最小の点を探索する。動き探索結果格納部は、動き探索処理部によって導出された、本動き探索用探索領域の内の各点における動きベクトル結果と対応する探索コスト値とを、１個の符号化の対象ブロックの分だけ保存する。探索中心決定部は、第一の動きベクトルと第二の動きベクトルと第三の動きベクトルとの３本の動きベクトルを、探索中心候補とする。
【００９６】
探索中心決定部は、探索中心候補と同一のベクトルが動き探索処理部に格納された複数の動きベクトルのうちに存在するか否かを判定する。探索中心決定部は、探索中心候補と同一のベクトルが存在する場合、同一のベクトルに対応する動き探索処理部に格納された探索コスト値を、探索中心候補の探索中心コストと設定する。
【００９７】
探索中心決定部は、探索中心候補と同一のベクトルが存在しない場合、探索中心候補のベクトルを符号化した際の符号量を、動き探索処理部における動きベクトルコスト値の導出方法と同一の方法で導出して探索中心ベクトルコスト値とする。探索中心決定部は、探索中心候補と同一のベクトルが存在しない場合、任意の値に設定可能な差分値パラメータと探索中心ベクトルコスト値の和を、探索中心候補の探索中心のコスト値とする。これによって、探索中心決定部は、第一の動きベクトルと第二の動きベクトルと第三の動きベクトルとの３本の動きベクトルの探索中心候補のそれぞれの探索中心のコスト値を決定する。探索中心決定部は、３個の探索中心のコスト値のうち、値の小さい２個の探索中心を決定する。探索中心決定部は、それぞれのコスト値に相当する２個の探索中心候補を、符号化対象ブロックの探索中心として決定する。
【００９８】
動き探索結果格納部は、本動き探索用探索領域の内の各点における動きベクトル結果と、対応する探索コスト値とを、直近に導出した１個のブロック（第１ブロック）として保存する。動き探索結果格納部は、直近に導出された画面左端の１個のブロックについても、第２ブロックとして保存する。探索中心決定部は、符号化の対象ブロックが画面左端のブロックでない場合、直近に導出した１個のブロックである第１ブロックについて、動き探索処理部に格納された動きベクトル結果の中に探索中心候補と同一のベクトルが存在するか否かを判定する。探索中心決定部は、符号化の対象ブロックが画面左端のブロックである場合、直近に導出した画面左端の１個のブロックである第２ブロックについて、動き探索処理部に格納された動きベクトル結果の中に探索中心候補と同一のベクトル（対応ベクトル）が存在するかを判定する。探索中心決定部は、探索中心候補と同一のベクトルが存在する場合、同一のベクトル（対応ベクトル）に対応する探索コスト値であって動き探索処理部に格納された探索コスト値を、探索中心候補の探索中心のコスト値と設定する。
【００９９】
上述した実施形態における符号化装置をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【０１００】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【０１０１】
例えば、復号装置は、符号化装置１の機能部の少なくとも一部を備えてもよい。上述した実施形態では、動き探索処理における探索結果を符号化装置１が復号装置に送信しているが、動き探索処理における探索結果を符号化装置１が復号装置に送信する代わりに、復号装置は、符号化装置１が実行する動き探索処理と同様の処理を実行することによって、動き探索処理における探索結果を取得してもよい。
【産業上の利用可能性】
【０１０２】
本発明は、動画像等を符号化する符号化装置に適用可能である。
【符号の説明】
【０１０３】
１…符号化装置、１０１…原画像整形部、１０２…イントラ予測処理部、１０３…インター予測処理部、１０４…予測残差信号生成部、１０５…変換・量子化処理部、１０６…エントロピー符号化部、１０７…逆量子化・逆変換処理部、１０８…復号信号生成部、１０９…ループフィルタ処理部、２０１…縮小画像生成部、２０２…事前探索処理処理部、２０３…予測ベクトル生成部、２０４…探索中心決定部、２０５…動き探索処理部、２０６…動き探索結果格納部、３０１…対象ブロック、３０２〜３０６…画素、４００…コーディング・ツリー・ユニット、４０１〜４０４…事前探索単位、５００〜５０１…プレディクション・ユニット、６００…探索領域、６０１〜６０３…探索範囲、７００…事前探索ベクトル、７０１…予測ベクトル、７０２…予測ベクトル、７０３…事前探索ベクトル、７０４…予測ベクトル、７０５…予測ベクトル、７０６〜７０８…対応ベクトル、８０３〜８０５…探索中心候補
【図１】
2020102669.tif 000003
【図２】
2020102669.tif 000004
【図３】
2020102669.tif 000005
【図４】
2020102669.tif 000006
【図５】
2020102669.tif 000007
【図６】
2020102669.tif 000008
【図７】
2020102669.tif 000009
【図８】
2020102669.tif 000010
【図９】
2020102669.tif 000011