(57)【特許請求の範囲】
【請求項１】
処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて復号処理を行う動画像復号装置であって、
前記処理対象ブロックに対して過去に復号されたピクチャ内のブロックの動きベクトルを記憶する動きベクトル情報記憶部と、
前記処理対象ブロックに対して時間方向に隣接するブロックの動きベクトルから、前記予測ベクトル候補を生成する時間隣接予測ベクトル生成部とを備え、
前記時間隣接予測ベクトル生成部は、
前記処理対象ブロック内の第１座標に対し、時間方向に隣接するピクチャ内で前記第１座標に最も近いブロックを含む複数のブロックを決定するブロック決定部と、
決定された前記複数のブロックがそれぞれ有する動きベクトルの中から、少なくとも１つの動きベクトルを選択するベクトル選択部と、
を備え、
前記ベクトル選択部は、
前記複数のブロックがそれぞれ有する動きベクトルに対し、前記処理対象ブロックを含むピクチャを参照するようにスケーリングするスケーリング部と、
スケーリングされた各動きベクトルと、前記複数のブロックの各ブロック内の第２座標とを加算して第３座標を算出し、前記第１座標と前記第３座標との距離を算出する距離算出部と、
前記距離に基づき動きベクトルを比較して選択する比較部と、
を備える動画像復号装置。
【請求項２】
前記動きベクトル情報記憶部は、
所定範囲内のブロックから代表ブロックを決定し、前記所定範囲内のブロックに対して前記代表ブロックの動きベクトルを１つ記憶させるよう制御する動きベクトル圧縮部を備え、
前記ブロック決定部は、
前記代表ブロックの中から前記複数のブロックを決定する請求項１記載の動画像復号装置。
【請求項３】
前記第１座標は、前記処理対象ブロックの中心を含む右下領域にある請求項１又は２記載の動画像復号装置。
【請求項４】
入力画像が分割された処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて符号化処理を行う動画像符号化装置であって、
過去に符号化処理されたピクチャ内のブロックの動きベクトルを記憶する動きベクトル情報記憶部と、
前記処理対象ブロックに対して時間方向に隣接するブロックの動きベクトルから、前記予測ベクトル候補を生成する時間隣接予測ベクトル生成部とを備え、
前記時間隣接予測ベクトル生成部は、
前記処理対象ブロック内の第１座標に対し、時間方向に隣接するピクチャ内で前記第１座標に最も近いブロックを含む複数のブロックを決定するブロック決定部と、
決定された前記複数のブロックがそれぞれ有する動きベクトルの中から、少なくとも１つの動きベクトルを選択するベクトル選択部と、
を備え、
前記ベクトル選択部は、
前記複数のブロックがそれぞれ有する動きベクトルに対し、前記処理対象ブロックを含むピクチャを参照するようにスケーリングするスケーリング部と、
スケーリングされた各動きベクトルと、前記複数のブロックの各ブロック内の第２座標とを加算して第３座標を算出し、前記第１座標と前記第３座標との距離を算出する距離算出部と、
前記距離に基づき動きベクトルを比較して選択する比較部と、
を備える動画像符号化装置。
【請求項５】
処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて復号処理を行う動画像復号装置が実行する動画像復号方法であって、
前記処理対象ブロック内の第１座標に対し、時間方向に隣接するピクチャ内で前記第１座標に最も近いブロックを含む複数のブロックを決定し、
決定された前記複数のブロックがそれぞれ有する動きベクトルを、前記処理対象ブロックに対して過去に復号されたピクチャ内のブロックの動きベクトルを記憶する動きベクトル情報記憶部から取得し、
取得された複数の動きベクトルから、少なくとも１つの動きベクトルを選択し、
選択された動きベクトルを用いて、時間方向に隣接するブロックに対する前記予測ベクトル候補を生成し、
前記少なくとも１つの動きベクトルの選択は、
前記複数のブロックがそれぞれ有する動きベクトルに対し、前記処理対象ブロックを含むピクチャを参照するようにスケーリングし、
スケーリングされた各動きベクトルと、前記複数のブロックの各ブロック内の第２座標とを加算して第３座標を算出し、前記第１座標と前記第３座標との距離を算出し、
前記距離に基づき動きベクトルを比較して選択する動画像復号方法。
【請求項６】
入力画像が分割された処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて符号化処理を行う動画像符号化装置が実行する動画像符号化方法であって、
前記処理対象ブロック内の第１座標に対し、時間方向に隣接するピクチャ内で前記第１座標に最も近いブロックを含む複数のブロックを決定し、
決定された前記複数のブロックがそれぞれ有する動きベクトルを、過去に符号化処理されたピクチャ内のブロックの動きベクトルを記憶する動きベクトル情報記憶部から取得し、
取得された複数の動きベクトルから、少なくとも１つの動きベクトルを選択し、
選択された動きベクトルを用いて、時間方向に隣接するブロックに対する前記予測ベクトル候補を生成し、
前記少なくとも１つの動きベクトルの選択は、
前記複数のブロックがそれぞれ有する動きベクトルに対し、前記処理対象ブロックを含むピクチャを参照するようにスケーリングし、
スケーリングされた各動きベクトルと、前記複数のブロックの各ブロック内の第２座標とを加算して第３座標を算出し、前記第１座標と前記第３座標との距離を算出し、
前記距離に基づき動きベクトルを比較して選択する動画像符号化方法。
【請求項７】
処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて復号処理を行う動画像復号装置に実行させる動画像復号プログラムであって、
前記処理対象ブロック内の第１座標に対し、時間方向に隣接するピクチャ内で前記第１座標に最も近いブロックを含む複数のブロックを決定し、
決定された前記複数のブロックがそれぞれ有する動きベクトルを、前記処理対象ブロックに対して過去に復号されたピクチャ内のブロックの動きベクトルを記憶する動きベクトル情報記憶部から取得し、
取得された複数の動きベクトルから、少なくとも１つの動きベクトルを選択し、
選択された動きベクトルを用いて、時間方向に隣接するブロックに対する前記予測ベクトル候補を生成し、
前記少なくとも１つの動きベクトルの選択は、
前記複数のブロックがそれぞれ有する動きベクトルに対し、前記処理対象ブロックを含むピクチャを参照するようにスケーリングし、
スケーリングされた各動きベクトルと、前記複数のブロックの各ブロック内の第２座標とを加算して第３座標を算出し、前記第１座標と前記第３座標との距離を算出し、
前記距離に基づき動きベクトルを比較して選択する
処理を動画像復号装置に実行させる動画像復号プログラム。
【請求項８】
入力画像が分割された処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて符号化処理を行う動画像符号化装置に実行させる動画像符号化プログラムであって、
前記処理対象ブロック内の第１座標に対し、時間方向に隣接するピクチャ内で前記第１座標に最も近いブロックを含む複数のブロックを決定し、
決定された前記複数のブロックがそれぞれ有する動きベクトルを、過去に符号化処理されたピクチャ内のブロックの動きベクトルを記憶する動きベクトル情報記憶部から取得し、
取得された複数の動きベクトルから、少なくとも１つの動きベクトルを選択し、
選択された動きベクトルを用いて、時間方向に隣接するブロックに対する前記予測ベクトル候補を生成し、
前記少なくとも１つの動きベクトルの選択は、
前記複数のブロックがそれぞれ有する動きベクトルに対し、前記処理対象ブロックを含むピクチャを参照するようにスケーリングし、
スケーリングされた各動きベクトルと、前記複数のブロックの各ブロック内の第２座標とを加算して第３座標を算出し、前記第１座標と前記第３座標との距離を算出し、
前記距離に基づき動きベクトルを比較して選択する
処理を動画像符号化装置に実行させる動画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各ピクチャを複数のブロックに分割してブロックごとに動き補償する動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラムに関する。
【背景技術】
【０００２】
近年の動画像符号化では、画像をブロックに分割し、ブロックに含まれる画素を予測して予測差分を符号化することで高い圧縮率を達成している。符号化対象のピクチャ内の画素から予測画素を構成する予測モードをイントラ予測といい、動き補償と呼ばれる過去に符号化した参照画像から予測画素を構成する予測モードをインター予測という。
【０００３】
動画像符号化装置において、インター予測では、予測画素として参照する領域を動きベクトルという水平成分・垂直成分の２次元座標データで表現し、動きベクトルと画素の予測差分データを符号化する。動きベクトルは、その符号量を抑えるため、符号化対象ブロックに隣接するブロックの動きベクトルから予測ベクトルを生成し、動きベクトルと予測ベクトルとの差分ベクトルを符号化する。小さい差分ベクトルほど符号量を小さく割り当てることで、動きベクトルの符号量を削減することができ、符号効率を向上させることができる。
【０００４】
動画像復号装置においても、各ブロックで動画像符号化装置と同一の予測ベクトルを決定し、符号化された差分ベクトルと予測ベクトルを加算することによって動きベクトルを復元する。そのため、動画像符号化装置と動画像復号装置とは、同一の動きベクトル予測部を備える。
【０００５】
動画像復号装置において、各ブロックは、一般には画像の左上から右下に向かってラスタースキャンやｚスキャンの順序で復号される。そのため、動画像符号化装置及び動画像復号装置における動きベクトル予測部が、予測に利用できる周辺ブロックの動きベクトルは、動画像復号装置にて処理対象ブロックを復号するときに既に復号済みとなる左や上に隣接するブロックの動きベクトルとなる。
【０００６】
さらに、ＭＰＥＧ（Moving Picture Experts Group）−４ ＡＶＣ／Ｈ．２６４（以下、Ｈ．２６４ともいう）では、処理対象ピクチャではなく、過去に符号化、復号処理した参照ピクチャの動きベクトルを用いて予測ベクトルを決定することもある（非特許文献１）。
【０００７】
予測ベクトル決定方法の従来技術として、国際標準化団体ＩＳＯ／ＩＥＣとＩＴＵ−Ｔが共同に標準化を検討している動画像符号化方式ＨＥＶＣ（High Efficiency Video Coding）の技術が開示されている（非特許文献２）。また、参照ソフトウェアとしてはＨＭ Ｓｏｆｔｗａｒｅ（Version 3.0）が開示されている。
【０００８】
以下に、ＨＥＶＣに関する概要説明を行う。ＨＥＶＣでは、参照可能なピクチャのリスト（以下、参照ピクチャリストともいう）として、Ｌ０と、Ｌ１という２つのリストを持つ。各ブロックは、Ｌ０とＬ１それぞれに対応する動きベクトルによって、最大２つの参照ピクチャの領域をインター予測に使用することができる。
【０００９】
Ｌ０とＬ１とは一般には、表示時間の方向に対応し、Ｌ０は処理対象ピクチャに対して過去のピクチャの参照リストであり、Ｌ１は未来のピクチャの参照リストである。参照ピクチャリストの各エントリは、画素データの記憶位置、及びそのピクチャの表示時間情報ＰＯＣ（Picture Order Count）値を含む情報を有する。
【００１０】
ＰＯＣとは、各ピクチャの表示順序と相対的な表示時間を表す整数値である。ＰＯＣ値が０となるピクチャの表示時間を０としたときに、あるピクチャの表示時間は、そのピクチャのＰＯＣ値の定数倍で表すことができる。例えば、フレームの表示周期（Ｈｚ）をｆｒ、ＰＯＣ値がｐであるピクチャの表示時間は、式（１）で表すことができる。これにより、ＰＯＣはある定数（秒）を単位とした表示時間と見なすことができる。
表示時間＝p×（ｆｒ／２）  ・・・式（１）
１つの参照ピクチャリストのエントリ数が２以上であった場合、各動きベクトルは、参照ピクチャリスト内のインデックス番号（参照インデックス）によって、どの参照ピクチャを参照するかを指定する。特に参照ピクチャリストのエントリ数が１ピクチャしか含まない場合、そのリストに対応する動きベクトルの参照インデックスは自動的に０番となるため、明示的に参照インデックスを指定する必要はない。
【００１１】
すなわち、ブロックの動きベクトルは、Ｌ０／Ｌ１リスト識別子と、参照インデックスと、ベクトルデータ（Ｖｘ，Ｖｙ）とを含む。Ｌ０／Ｌ１リスト識別子と、参照インデックスとにより参照ピクチャが指定される。参照ピクチャ内の領域は、（Ｖｘ，Ｖｙ）で指定される。ＶｘとＶｙとは、それぞれ水平方向と垂直方向における参照領域の座標と処理対象ブロック（現ブロックともいう）の座標の差であり、例えば１／４画素単位で表現される。Ｌ０／Ｌ１リスト識別子と、参照インデックスとを参照ピクチャ識別子と呼び、（Ｖｘ，Ｖｙ）をベクトルデータと呼ぶ。
【００１２】
ＨＥＶＣにおける予測ベクトルの決定方法について説明する。予測ベクトルは、Ｌ０／Ｌ１リスト識別子と、参照インデックスとで指定された参照ピクチャごとに決定される。参照ピクチャリストがＬＸ、参照インデックスがｒｅｆｉｄｘで指定される参照ピクチャを参照する動きベクトルに対する予測ベクトルのベクトルデータｍｖｐを決定するとき、最大で３つのベクトルデータを予測ベクトル候補として算出する。
【００１３】
処理対象ブロックに対して空間方向と時間方向に隣接するブロックは、左方向に隣接したブロック、上方向に隣接したブロック、時間方向に隣接したブロックの３つに分類される。この３グループからそれぞれ最大で１本の予測ベクトル候補が選出される。
【００１４】
選出された予測ベクトル候補は、時間方向に隣接したグループ、左に隣接したグループ、上に隣接したグループの優先順序でリスト化される。このリストを配列ｍｖｐ＿ｃａｎｄとする。もし、全てのグループで予測ベクトル候補が１つも存在していなかった場合、０ベクトルをｍｖｐ＿ｃａｎｄに追加する。
【００１５】
また、候補リスト内のいずれの予測ベクトル候補を予測ベクトルとして使用するかの識別子として、予測候補インデックスｍｖｐ＿ｉｄｘを用いる。すなわち、ｍｖｐは、ｍｖｐ＿ｃａｎｄのｍｖｐ＿ｉｄｘ番目にエントリされた予測ベクトル候補のベクトルデータとなる。
【００１６】
動画像符号化装置において、符号化対象ブロックのＬＸのｒｅｆｉｄｘを参照する動きベクトルがｍｖであったとき、ｍｖｐ＿ｃａｎｄの中で、ｍｖと最も近い予測ベクトル候補を探し、そのインデックスをｍｖｐ＿ｉｄｘとする。さらに、動画像符号化装置は、差分ベクトルｍｖｄを式（２）で算出し、リストＬＸの動きベクトル情報として、ｒｅｆｉｄｘ、ｍｖｄ、ｍｖｐ＿ｉｄｘを符号化する。
ｍｖｄ＝ｍｖ−ｍｖｐ  ・・・式（２）
動画像復号装置は、ｒｅｆｉｄｘ、ｍｖｄ、ｍｖｐ＿ｉｄｘを復号し、ｒｅｆｉｄｘに基づき、ｍｖｐ＿ｃａｎｄを決定し、予測ベクトルｍｖｐを、ｍｖｐ＿ｃａｎｄのｍｖｐ＿ｉｄｘ番目の予測ベクトル候補とする。動画像復号装置は、式（３）に基づき、処理対象ブロックの動きベクトルｍｖを復元する。
ｍｖ＝ｍｖｄ＋ｍｖｐ  ・・・式（３）
次に、空間方向に隣接したブロックの説明をする。図１は、従来技術（その１）を説明するための図である。図１に示す例では、左隣接のブロックと、上隣接ブロックから予測ベクトル候補を選択する手順について説明する。
【００１７】
ここで、ＨＥＶＣやＨ．２６４においては、動き補償におけるブロックサイズは、最小のブロックが事前に決まっている。全てのブロックサイズは、最小ブロックサイズを基準に２のべき乗倍した数となっている。最小ブロックサイズがＭＩＮＸ、ＭＩＮＹとすれば、各ブロックの水平サイズと垂直サイズとは、ｎ、ｍをｎ≧０、ｍ≧０の整数として、
水平サイズ：ＭＩＮＸ×２ｎ
垂直サイズ：ＭＩＮＹ×２ｍ
で表せる。ＨＥＶＣやＨ．２６４では、ＭＩＮＸ＝４画素、ＭＩＮＹ＝4画素である。各ブロックは、最小ブロックサイズに分割することができる。図１に示すＡ０、Ａ１、Ｂ０〜Ｂ２が処理対象ブロックに隣接する最小ブロックとする。最小ブロックを一つ指定すれば、それを含むブロックは、一意に定まる。
【００１８】
次に、左隣接ブロックから予測ベクトル候補を選出する手順について説明する。処理対象ブロックの左側に隣接したブロックのうち、左下に位置する最小ブロックＡ０を含むブロックの動きべクトルで、参照ピクチャ識別子がＬＸでｒｅｆｉｄｘと等しい参照インデックスを持つ動きベクトル１が見つかれば、動きベクトル１が選択される。
【００１９】
動きベクトル１が見つからなければ、Ａ１を含むブロックの動きベクトルで、ＬＸでｒｅｆｉｄｘと等しい参照インデックスを持つ動きベクトル２が見つかれば、動きベクトル２が選択される。
【００２０】
動きベクトル２が見つからなければ、Ａ０を含むブロックで、ＬＸでない参照リストＬＹの中で、参照リストＬＸのｒｅｆｉｄｘが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトル３があれば、動きベクトル３が選択される。
【００２１】
動きベクトル３が見つからなければ、Ａ０を含むブロックで動きベクトルが存在すれば、その動きベクトルが選択される。さらに、動きベクトルが見つからなければ、Ａ１を含むブロックで、Ａ０の場合と同様に処理する。
【００２２】
上記手順で選択された動きベクトルに関して、参照リストＬＸのｒｅｆｉｄｘが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトルが選択されなかった場合、後述するスケーリング演算が行われる。
【００２３】
次に、上隣接ブロックから予測ベクトル候補を選出する手順について説明する。処理対象ブロックの上側に隣接した最小ブロックＢ０、Ｂ１、Ｂ２の順で、Ａ０、Ａ１の場合と同様の手順で動きベクトルを選択する。参照リストＬＸのｒｅｆｉｄｘが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトルが選択されなかった場合、後述するスケーリング処理が行われる。
【００２４】
次に、時間方向に隣接したブロックの説明をする。図２は、従来技術（その２）を説明するための図である。図２に示す例では、時間方向に隣接するブロックから予測ベクトル候補を選択する手順について説明する。
【００２５】
まず、時間方向に隣接するブロックを含むピクチャとしてＣｏｌｌｏｃａｔｅｄ Ｐｉｃｔｕｒｅ（以下、ＣｏｌＰｉｃともいう）と呼ばれる時間方向に隣接した参照ピクチャ２０が指定される。ＣｏｌＰｉｃ２０は、Ｌ０とＬ１とのどちらかの参照リストの参照インデックス０番の参照ピクチャである。通常はＬ１の参照インデックス０番がＣｏｌＰｉｃとなる。
【００２６】
ＣｏｌＰｉｃ２０の中で処理対象ブロック１１と同一位置のブロック（Ｃｏｌブロック）２１が有する動きベクトルをｍｖＣｏｌ２２とし、ｍｖＣｏｌ２２を後述するスケーリング方法にてスケーリングして、予測ベクトル候補が生成される。
【００２７】
ここで、処理対象ブロック１１とＣｏｌブロック２１の位置関係について説明する。図３は、処理対象ブロック１１とＣｏｌブロック２１の位置関係の一例を示す図である。ＣｏｌＰｉｃの中で、最小ブロックＴＲ又はＴＣを含むブロックがＣｏｌブロック２１となる。ＴＲとＴＣのうち、まずＴＲが優先され、ＴＲを含むブロックが、Ｉｎｔｒａ予測モードであったり、画面外であったりした場合、ＴＣを含むブロックがＣｏｌブロック２１となる。優先されるＴＲは、処理対象ブロックの右下に位置し、処理対象ブロックとずれた位置関係となっている。
【００２８】
次に、動きベクトルのスケーリング方法について記述する。入力の動きベクトルをｍｖ＝（ｍｖｘ、ｍｖｙ）とし、出力ベクトル（予測ベクトル候補）をｍｖ'＝（ｍｖｘ'、ｍｖｙ'）とする。次に、ｍｖがｍｖＣｏｌを例として説明する。
【００２９】
ｍｖが参照するピクチャをＣｏｌＲｅｆＰｉｃ２３とする。ｍｖを有するピクチャ２０のＰＯＣ値をＣｏｌＰｉｃＰｏｃ、ＣｏｌＲｅｆＰｉｃ２３のＰＯＣをＣｏｌＲｅｆＰｏｃとする。現在の処理対象ピクチャ１０のＰＯＣ値をＣｕｒＰｏｃ、ＲｅｆＰｉｃＬｉｓｔ ＬＸとＲｅｆＩｄｘとで指定されるピクチャ２５のＰＯＣ値をＣｕｒｒＲｅｆＰｏｃとする。
【００３０】
なお、スケーリング対象の動きベクトルが、空間方向に隣接するブロックの動きベクトルであった場合、ＣｏｌＰｉｃＰｏｃは、ＣｕｒｒＰＯＣと等しい。また、スケーリング対象の動きベクトルが、時間方向に隣接するブロックの動きベクトルであった場合、ＣｏｌＰｉｃＰｏｃはＣｏｌＰｉｃのＰＯＣ値と等しい。
【００３１】
ｍｖは、式（４）、式（５）に示すように、ピクチャの時間間隔の比に基づいてスケーリングされる。
ｍｖｘ'＝ｍｖｘ×（ＣｕｒｒＰｏｃ−ＣｕｒＲｅｆＰｏｃ）÷（ＣｏｌＰｉｃＰｏｃ−ＣｏｌＲｅｆＰｏｃ）  ・・・式（４）
ｍｖｙ'＝ｍｖｙ×（ＣｕｒｒＰｏｃ−ＣｕｒＲｅｆＰｏｃ）÷（ＣｏｌＰｉｃＰｏｃ−ＣｏｌＲｅｆＰｏｃ）  ・・・式（５）
ただし、除算は計算量が大きいため、例えば、以下のようにして、ｍｖ'は乗算とシフトで近似して算出される。
ＤｉｆｆＰｏｃＤ＝ＣｏｌＰｉｃＰＯＣ−ＣｏｌＲｅｆＰＯＣ  ・・・式（６）
ＤｉｆｆＰｏｃＢ＝ＣｕｒｒＰＯＣ−ＣｕｒｒＲｅｆＰＯＣ  ・・・式（７）
とすると、
ＴＤＢ＝Ｃｌｉｐ３（−１２８，１２７，ＤｉｆｆＰｏｃＢ）  ・・・式（８）
ＴＤＤ＝Ｃｌｉｐ３（−１２８，１２７，ＤｉｆｆＰｏｃＤ）  ・・・式（９）
ｉＸ＝（０ｘ４０００＋ａｂｓ（ＴＤＤ／２））／ＴＤＤ  ・・・式（１０）
Ｓｃａｌｅ＝Ｃｌｉｐ３（−１０２４，１０２３，（ＴＤＢ×ｉＸ＋３２）＞＞６）・・・式（１１）
ａｂｓ（・）：絶対値を返す関数
Ｃｌｉｐ３（ｘ，ｙ，ｚ）：ｘ、ｙ、ｚの中央値を返す関数
＞＞：算術右シフト
最終的に求まったＳｃａｌｅをスケーリング係数とする。この例では、Ｓｃａｌｅが２５６の場合、１倍の係数、すなわち、スケールしないことを意味する。
【００３２】
次に、スケーリング係数に基づいて行うスケーリング演算は、以下のようにして算出される。
ｍｖｘ'＝（Ｓｃａｌｅ×ｍｖｘ＋１２８）＞＞８  ・・・式（１２）
ｍｖｙ'＝（Ｓｃａｌｅ×ｍｖｙ＋１２８）＞＞８  ・・・式（１３）
過去に処理したブロックの動きベクトルは、一例として、ブロックが最小ブロックに分割可能であることを利用し、最小ブロックを単位として保存される。次のブロックが処理されるときに、最小ブロックの動きベクトルが、空間隣接予測ベクトルや時間隣接予測ベクトルの生成に使用される。
【００３３】
最小ブロック単位で動きベクトルを保存することで、最小ブロックのアドレスを指定することで、空間方向又は時間方向の隣接ブロックの動きベクトルにアクセスすることができ、処理が単純化できる。
【００３４】
さらに、非特許文献３によれば、最小ブロック単位に保存した場合、１ピクチャにおける動きベクトル情報の記憶容量が増大するため、１ピクチャの処理が終わった時に、動きベクトルの情報を削減することが行われる技術が開示されている。
【００３５】
Ｎを２のべき乗の整数値として、水平Ｎ最小ブロックごと、垂直Ｎ最小ブロックごとに、１つの最小ブロックを代表ブロックと定め、代表ブロックとして選択された最小ブロックの動きベクトル情報だけが保存される。
【００３６】
図４は、代表ブロックの一例を示す図である。図４に示す例では、Ｎ＝４とした場合、代表ブロックは、図４に示すように、４×４最小ブロックの左上の最小ブロック（ブロック０、ブロック１６）となる。
【００３７】
このようにして、動きベクトル情報を圧縮した場合、時間隣接の予測べクトル候補を生成する際に使用することができる動きベクトルは、代表ブロックの動きベクトルのみとなる。
【先行技術文献】
【非特許文献】
【００３８】
【非特許文献１】ISO/IEC 14496-10 (MPEG-4 Part 10) ／ ITU-T Rec.H.264
【非特許文献２】Thomas Wiegand、Woo-Jin Han、Benjamin Bross、Jens-Rainer Ohm、Gary J. Sullivan、"WD3: Working Draft 3 of High-Efficiency Video Coding" JCTVC-E603, JCT-VC 5th Meeting, 2011年3月
【非特許文献３】"CE9: Reduced resolution storage of motion vector data"、JCTVC-D072、2011-01 Daegu
【発明の概要】
【発明が解決しようとする課題】
【００３９】
ＨＥＶＣにおいて、画面内で動きが一様でなく、さらに動きがある程度大きい場合、時間方向の動きベクトルによる予測ベクトル候補の精度が低い場合がある。
【００４０】
図５は、従来技術の問題点を説明するための図である。図５を用いて説明すると、画像上の各物体が一定の速度で移動している場合、Ｃｏｌブロックに写る物体の動きがｍｖＣｏｌで表される。処理対象ブロックの動きベクトルの予測ベクトルは、ｍｖＣｏｌからスケーリングして得られる動きベクトルｍｖｐとなる。
【００４１】
図５に示すように、ｍｖＣｏｌが大きい場合、ｍｖＣｏｌは、処理対象ブロックと離れたブロックＡと交差する。すなわち、Ｃｏｌブロックに含まれていた物体は、処理対象ピクチャ上では、ブロックＡに含まれていると考えられる。このとき、処理対象ブロックとブロックＡが離れているほど、処理対象ブロックの真の動きが、ブロックＡと異なる可能性が高くなり、予測ベクトル候補の精度が低下する場合がある。
【００４２】
そこで、開示の技術は、時間方向における予測ベクトル候補の精度を向上させることを目的とする。
【課題を解決するための手段】
【００４３】
開示の一態様における動画像復号装置は、処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて復号処理を行う動画像復号装置であって、前記処理対象ブロックに対して過去に復号されたピクチャ内のブロックの動きベクトルを記憶する動きベクトル情報記憶部と、前記処理対象ブロックに対して時間方向に隣接するブロックの動きベクトルから、前記予測ベクトル候補を生成する時間隣接予測ベクトル生成部とを備え、前記時間隣接予測ベクトル生成部は、前記処理対象ブロック内の第１座標に対し、時間方向に隣接するピクチャ内で前記第１座標に最も近いブロックを含む複数のブロックを決定するブロック決定部と、決定された前記複数のブロックがそれぞれ有する動きベクトルの中から、少なくとも１つの動きベクトルを選択するベクトル選択部と、を備え、前記ベクトル選択部は、前記複数のブロックがそれぞれ有する動きベクトルに対し、前記処理対象ブロックを含むピクチャを参照するようにスケーリングするスケーリング部と、スケーリングされた各動きベクトルと、前記複数のブロックの各ブロック内の第２座標とを加算して第３座標を算出し、前記第１座標と前記第３座標との距離を算出する距離算出部と、前記距離に基づき動きベクトルを比較して選択する比較部と、を備える。
【００４４】
また、他の態様における動画像符号化装置は、入力画像が分割された処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて符号化処理を行う動画像符号化装置であって、過去に符号化処理されたピクチャ内のブロックの動きベクトルを記憶する動きベクトル情報記憶部と、前記処理対象ブロックに対して時間方向に隣接するブロックの動きベクトルから、前記予測ベクトル候補を生成する時間隣接予測ベクトル生成部とを備え、前記時間隣接予測ベクトル生成部は、前記処理対象ブロック内の第１座標に対し、時間方向に隣接するピクチャ内で前記第１座標に最も近いブロックを含む複数のブロックを決定するブロック決定部と、決定された前記複数のブロックがそれぞれ有する動きベクトルの中から、少なくとも１つの動きベクトルを選択するベクトル選択部と、を備え、前記ベクトル選択部は、前記複数のブロックがそれぞれ有する動きベクトルに対し、前記処理対象ブロックを含むピクチャを参照するようにスケーリングするスケーリング部と、スケーリングされた各動きベクトルと、前記複数のブロックの各ブロック内の第２座標とを加算して第３座標を算出し、前記第１座標と前記第３座標との距離を算出する距離算出部と、前記距離に基づき動きベクトルを比較して選択する比較部と、を備える。
【発明の効果】
【００４５】
開示の技術によれば、時間方向における予測ベクトル候補の精度を向上させることができる。
【図面の簡単な説明】
【００４６】
【図１】従来技術（その１）を説明するための図。
【図２】従来技術（その２）を説明するための図。
【図３】処理対象ブロックとＣｏｌブロックの位置関係の一例を示す図。
【図４】代表ブロックの一例を示す図。
【図５】従来技術の問題点を説明するための図。
【図６】実施例１における動画像復号装置の構成の一例を示すブロック図。
【図７】実施例１における予測ベクトル生成部の構成の一例を示すブロック図。
【図８】実施例１における時間隣接予測ベクトル生成部の構成の一例を示すブロック図。
【図９】実施例１におけるブロック決定部で決定されるブロックの位置の一例を示す図。
【図１０】実施例１におけるベクトル選択部の構成の一例を示すブロック図。
【図１１】第１〜３座標の位置関係（その１）の一例を示す図。
【図１２】第１〜３座標の位置関係（その２）の一例を示す図。
【図１３】実施例１の効果を説明するための図。
【図１４】実施例１における動画像復号装置の処理の一例を示すフローチャート。
【図１５】実施例１における時間隣接予測ベクトル生成部による処理の一例を示すフローチャート。
【図１６】従来技術の問題点を説明するための例１を示す図。
【図１７】従来技術の問題点を説明するための例２を示す図。
【図１８】実施例２における動きベクトル情報記憶部及び時間隣接予測ベクトル生成部の構成の一例を示すブロック図。
【図１９】実施例２における、決定される代表ブロックの例（その１）を示す図。
【図２０】実施例２における、決定される代表ブロックの例（その２）を示す図。
【図２１】実施例３における時間隣接予測ベクトル生成部の構成の一例を示すブロック図。
【図２２】実施例３における、決定される代表ブロックの例を示す図。
【図２３】実施例４における動画像符号化装置の構成の一例を示すブロック図。
【図２４】実施例４における動画像符号化装置の処理の一例を示すフローチャート。
【図２５】画像処理装置の構成の一例を示すブロック図。
【発明を実施するための形態】
【００４７】
以下、添付図面を参照しながら各実施例について詳細に説明する。
【００４８】
［実施例１］
＜構成＞
図６は、実施例１における動画像復号装置１００の構成の一例を示すブロック図である。図６に示す動画像復号装置１００は、エントロピー復号部１０１、参照ピクチャリスト記憶部１０２、動きベクトル情報記憶部１０３、予測ベクトル生成部１０４、動きベクトル復元部１０５、予測画素生成部１０６、逆量子化部１０７、逆直交変換部１０８、復号画素生成部１０９、復号画像記憶部１１０を有する。
【００４９】
エントロピー復号部１０１は、圧縮されたストリームに対してエントロピー復号を行い、処理対象ブロックのＬ０とＬ１の参照インデックス、差分ベクトル、予測候補インデックス、直交変換係数を復号する。
【００５０】
参照ピクチャリスト記憶部１０２は、処理対象ブロックが参照可能なピクチャのＰＯＣを含むピクチャ情報や画像データの記憶位置などを記憶する。
【００５１】
動きベクトル情報記憶部１０３は、過去に復号したピクチャ内のブロックの動きベクトルを記憶する。動きベクトル情報記憶部１０３は、例えば、処理対象ブロックの時間的及び空間的に隣接するブロックの動きベクトル、この動きベクトルが参照するピクチャを示す参照ピクチャ識別子を含む動きベクトル情報を記憶する。これらの動きベクトル情報は、動きベクトル復元部１０５に生成される。
【００５２】
予測ベクトル生成部１０４は、エントロピー復号部１０１からＬ０とＬ１との参照インデックス（参照ピクチャ識別子）を取得し、処理対象ブロックの動きベクトルに対する予測ベクトルの候補リストを生成する。予測ベクトル生成部１０４の詳細については後述する。
【００５３】
動きベクトル復元部１０５は、エントロピー復号部１０１からＬ０とＬ１との予測候補インデックス、差分ベクトルを取得し、予測候補参照インデックスが示す予測ベクトル候補と差分ベクトルとを加算して動きベクトルを復元する。
【００５４】
予測画素生成部１０６は、復元された動きベクトルと復号画像記憶部１１０に記憶される復号画像とを用いて予測画素信号を生成する。
【００５５】
逆量子化部１０７は、エントロピー復号部１０１から取得した直交変換係数に対して逆量子化処理を行う。逆直交変換部１０８は、逆量子化された出力信号に対して逆直交変換処理を行い、予測誤差信号を生成する。予測誤差信号は復号画素生成部１０９に出力される。
【００５６】
復号画素生成部１０９は、予測画素信号と予測誤差信号とを加算して復号画素を生成する。
【００５７】
復号画像記憶部１１０は、復号画素生成部１０９により生成された復号画素を含む復号画像を記憶する。復号画像記憶部１１０に記憶された復号画像は、ディスプレイなどの表示部に出力される。
【００５８】
次に、予測ベクトル生成部１０４について説明する。図７は、実施例１における予測ベクトル生成部１０４の構成の一例を示すブロック図である。図７に示す予測ベクトル生成部１０４は、時間隣接予測ベクトル生成部２０１、左隣接予測ベクトル生成部２０２、上隣接予測ベクトル生成部２０３を有する。
【００５９】
予測ベクトル生成部１０４は、処理対象ブロックの参照ピクチャ識別子、処理対象ピクチャのＰＯＣ情報を入力する。ここで、処理対象ブロックの参照リスト識別子をＬＸ、参照インデックスをｒｅｆｉｄｘとする。
【００６０】
動きベクトル情報記憶部１０３は、過去に処理したブロックを最小ブロックに分割し、最小ブロック単位で動きベクトル情報を保持している。１つのブロックに含まれる最小ブロックは、同じ動きベクトル情報を保持する。動きベクトル情報は、各最小ブロックが所属するピクチャの識別子と、予測モードの識別子と、動きベクトルの参照先となるピクチャの識別子と、動きベクトルの水平成分と垂直成分の値を保持する。
【００６１】
最小ブロックを指定すれば、その最小ブロックを含むブロックが一意に定まるため、最小ブロックを指定することは、特定のブロックを指定することと見なしてよい。以下に説明する実施例では説明の便宜上、処理ブロックと隣接するブロックを指定するのに最小ブロックを指定することとする。
【００６２】
左隣接予測ベクトル生成部２０２は、処理対象ブロックの左に隣接したブロックの動きベクトルから予測ベクトル候補を生成する。左隣接ブロックの予測ベクトル生成方法は、従来技術と同様であってもよい。
【００６３】
上隣接予測ベクトル生成部２０３は、処理対象ブロックの上に隣接したブロックの動きベクトルから予測ベクトル候補を生成する。上隣接ブロックの予測ベクトル生成方法も、従来技術と同様であってもよい。
【００６４】
時間隣接予測ベクトル生成部２０１は、時間方向に隣接したブロックから予測ベクトル候補を生成する。時間隣接予測ベクトル生成部２０１の詳細は、図８を用いて説明する。
【００６５】
図８は、実施例１における時間隣接予測ベクトル生成部２０１の構成の一例を示すブロック図である。図８に示す時間隣接予測ベクトル生成部２０１は、ブロック決定部３０１、ベクトル情報取得部３０２、ベクトル選択部３０３、スケーリング部３０４を有する。
【００６６】
ブロック決定部３０１は、処理対象ブロックの位置情報を取得すると、処理対象ブロックの中心ブロックとなる最小ブロックＣを決定する。この最小ブロックＣは、処理対象ブロックの中心位置（ｘ１，ｙ１）を含む。
【００６７】
このとき、処理対象ブロックの左上の座標を、画素を単位として（ｘ０，ｙ０）とし、画素を単位として水平サイズ、垂直サイズをそれぞれＮ、Ｍとすると、第１座標は次の式により表せられる。
ｘ１＝ｘ０＋（Ｎ／２）  ・・・式（１４）
ｙ１＝ｙ０＋（Ｍ／２）  ・・・式（１５）
また、第１座標を右下にシフトさせてもよい。例えば、最小ブロックの水平サイズ、垂直サイズをＭＩＮＸ、ＭＩＮＹとすれば、次の式により表せられる。
ｘ１＝ｘ０＋（Ｎ／２）＋（ＭＩＮＸ／２）  ・・・式（１６）
ｙ１＝ｙ０＋（Ｍ／２）＋（ＭＩＮＹ／２）  ・・・式（１７）
ブロック決定部３０１は、中心位置（ｘ１，ｙ１）が最小ブロックの境界である場合は、（ｘ１，ｙ１）の右下に位置する最小ブロックＣに決定する。ブロック決定部３０１は、時間方向に隣接する過去に処理されたピクチャの中で、第１座標（例えば処理対象ブロックの中心座標）に最も近いブロックを含む複数のブロックを決定する。
【００６８】
ブロック決定部３０１は、例えば、最小ブロックＣと同一位置の最小ブロックＣ'と、この最小ブロックＣ'から所定の距離離れた４つの最小ブロック１〜４を決定する。
【００６９】
図９は、ブロック決定部３０１で決定されるブロックの位置の一例を示す図である。図９に示すように、ブロック決定部３０１は、処理対象ブロックの中心ブロックとなる最小ブロックＣを決定し、この最小ブロックＣと同一位置となる最小ブロックＣ'をＣｏｐＬｉｃ内から決定する。ブロック決定部３０１は、最小ブロックＣ'から所定の距離離れた最小ブロック１〜４を決定する。
【００７０】
図８に戻り、ブロック決定部３０１は、決定したブロックの位置情報をベクトル情報取得部３０２、ベクトル選択部３０３に出力する。
【００７１】
ベクトル情報取得部３０２は、ブロック決定部３０１により決定されたブロックの動きベクトル情報を取得する。動きベクトル情報には、動きベクトル、動きベクトルを有するブロックが属するピクチャの識別子、動きベクトルの参照先の参照ピクチャ識別子が含まれる。ベクトル情報取得部３０２は、取得した動きベクトル情報をベクトル選択部３０３に出力する。
【００７２】
ベクトル選択部３０３は、ブロック決定部３０１により決定された複数のブロックが有する動きベクトルの中から、少なくとも１つの動きベクトルを選択する。ベクトル選択部３０３の詳細は、図１０を用いて後述する。ベクトル選択部３０３は、選択した動きベクトルをスケーリング部３０４に出力する。
【００７３】
スケーリング部３０４は、選択された動きベクトルに対して、式（４）、（５）又は式（１２）、（１３）を用いてスケーリングする。スケーリングされた動きベクトルは、時間方向における予測ベクトル候補となる。
【００７４】
図１０は、実施例１におけるベクトル選択部３０３の構成の一例を示すブロック図である。図１０に示すベクトル選択部３０３は、評価値計算部４００、評価値比較部４０５を有する。評価値計算部４００は、第１座標算出部４０１、第２座標算出部４０２、スケーリング部４０３、距離計算部４０４を有する。
【００７５】
第１座標算出部４０１は、処理対象ブロックの情報を取得し、処理対象ブロック内の第１座標を算出する。ここで、処理対象ブロックの左上の座標を、画素を単位として（ｘ０，ｙ０）とし、画素を単位として水平サイズ、垂直サイズをそれぞれＮ、Ｍとする。
【００７６】
このとき、処理対象ブロックの中心座標を第１座標とすると、第１座標算出部４０１は、第１座標（ｘ１、ｙ１）をブロック決定部３０１と同様に式（１４）（１５）により算出する。
【００７７】
また、第１座標算出部４０１は、第１座標を式（１６）、（１７）により算出し、右下にシフトさせてもよい。
【００７８】
一般に空間方向の予測ベクトル候補が左と上とに隣接するベクトルが使用されるため、処理対象ブロック内の左部と上部の領域は、空間方向の予測ベクトル候補の精度が高い。
【００７９】
したがって、中心座標（第１座標）を右下にずらすことは、空間方向の予測ベクトル候補の精度が低くなる右下領域の予測ベクトル候補の精度を上げることを目的とする。第１座標算出部４０１は、算出した第１座標を距離計算部４０４に出力する。
【００８０】
ここで、ブロック決定部３０１で決定され、評価値算出部４００で評価する対象となる最小ブロックをブロックＴとする。ブロック決定部３０１で決定された最小ブロックＣをブロックＴとして評価を開始し、順に最小ブロック１〜４までをブロックＴとして評価する。ただし、イントラ予測が使用され、動きベクトルが存在しないようなブロックは評価されず、次のブロックが評価されるとする。
【００８１】
第２座標算出部４０２は、処理対象ブロックに対して時間方向に隣接したブロックであって、ブロック決定部３０１で決定されたブロックＴの座標（第２座標）を算出する。第２座標を（ｘ２、ｙ２）、ブロックＴの左上の座標を（ｘ'０、ｙ'０）とする。
【００８２】
第２座標算出部４０２は、次の式により第２座標を算出する。
ｘ２＝ｘ'０  ・・・式（１８）
ｙ２＝ｙ'０  ・・・式（１９）
あるいは、第２座標算出部４０２は、最小ブロックの水平サイズ、垂直サイズをＭＩＮＸ、ＭＩＮＹとすれば、次の式により、最小ブロックの中心座標を第２座標としてもよい。
ｘ２＝ｘ'０＋ＭＩＮＸ／２  ・・・式（２０）
ｙ２＝ｙ'０＋ＭＩＮＹ／２  ・・・式（２１）
第２座標算出部４０２は、算出した第２座標を距離計算部４０４に出力する。
【００８３】
スケーリング部４０３は、ブロックＴが有する動きベクトルを第１動きベクトルとして、ＣｏｌＰｉｃから、処理対象ピクチャを参照するようにスケーリングして、第２動きベクトルを算出する。
【００８４】
例えば、処理対象ピクチャのＰＯＣをＣｕｒｒＰｏｃ、ＣｏｌＰｉｃのＰＯＣをＣｏｌＰｉｃＰｏｃ、ブロックＴの動きベクトルが参照するピクチャのＰＯＣをＣｏｌＲｅｆＰｏｃとする。
【００８５】
また、ブロックＴの第１動きベクトルの水平、垂直成分をそれぞれ、（ｍｖｃｘ、ｍｖｃｙ）とすれば、第２動きベクトル（ｍｖｃｘ'、ｍｖｃｙ'）は次の式により算出される。
ｍｖｃｘ'＝ｍｖｃｘ×（ＣｕｒｒＰｏｃ−ＣｏｌＰｉｃＰｏｃ）／（ＣｏｌＲｅｆＰｏｃ−ＣｏｌＰｉｃＰｏｃ）  ・・・式（２２）
ｍｖｃｙ'＝ｍｖｃｙ×（ＣｕｒｒＰｏｃ−ＣｏｌＰｉｃＰｏｃ）／（ＣｏｌＲｅｆＰｏｃ−ＣｏｌＰｉｃＰｏｃ）  ・・・式（２３）
また、スケーリング部４０３は、第２動きベクトルのスケーリング演算を、式（１２）、（１３）に示すように、乗算とシフトで算出するようにしてもよい。
【００８６】
距離算出部４０４は、第２座標（ｘ２，ｙ２）と、第２動きベクトル（ｍｖｃｘ'，ｍｖｃｙ'）とを加算して、第３座標（ｘ３，ｙ３）を算出する。これは、距離算出部４０４は、処理対象ピクチャと第２動きベクトルとの交点座標を算出することを表す。この交点座標が、第３座標（ｘ３，ｙ３）となる。
ｘ３＝ｘ２＋ｍｖｃｘ'  ・・・式（２４）
ｙ３＝ｙ２＋ｍｖｃｙ'  ・・・式（２５）
距離算出部４０４は、第１座標（ｘ１，ｙ１）と第３座標（ｘ３，ｙ３）との距離Ｄを、次の式により算出する。
Ｄ＝ａｂｓ（ｘ１―ｘ３）＋ａｂｓ（ｙ１−ｙ３）  ・・・式（２６）
ａｂｓ（・）：絶対値を返す関数
評価値Ｄは、式（２６）に限定されるものではなく、他の評価要素を加えてもよい。
【００８７】
また、第１座標として式（１６）、（１７）を用い、第２座標として式（２０）、（２１）を用いた場合、ＭＩＮＸ／２とＭＩＮＹ／２は、双方の式から消去しても、式（２６）の結果が変わらないことは自明である。よって、式（１４）、（１５）と式（１８）、（１９）の組み合わせと、式（１６）、（１７）と式（２０）、（２１）の組み合わせは、同一の結果となる。
【００８８】
ここで、第１〜３座標の位置関係について説明する。図１１は、第１〜３座標の位置関係（その１）の一例を示す図である。図１１に示す例では、第１動きベクトルが処理対象ピクチャと交差する場合を示す。
【００８９】
スケーリング部４０３は、第１動きベクトルをスケーリングして第２動きベクトルを生成する。距離算出部４０４は、ブロックＴの第２座標と、第２動きベクトルとを加算して第３座標を算出する。距離算出部４０４は、処理対象ブロックの第１座標と、第３座標との距離Ｄを算出する。この距離Ｄが、予測ベクトル候補となる動きベクトルの選択に用いられる。
【００９０】
図１２は、第１〜３座標の位置関係（その２）の一例を示す図である。図１２に示す例では、第１動きベクトルが、処理対象ピクチャと交差しない場合を示す。図１２に示す例でも、第１座標と、第３座標との距離Ｄが算出され、距離Ｄが、予測ベクトル候補となる動きベクトルの選択に用いられる。
【００９１】
図１０に戻り、評価値計算部４００は、ブロックＴが評価対象の最後の最小ブロックとなるまで、評価値の算出を繰り返す。評価値とは、例えば距離Ｄである。評価値計算部４００は、評価値（距離Ｄ）を評価値比較部４０５に出力する。
【００９２】
評価値比較部４０５は、評価値計算部４００から各評価対象となった最小ブロックの動きベクトル情報と評価値を取得し、保持する。最後の最小ブロックの動きベクトル情報と評価値を取得すれば、評価値比較部４０５は、保持している評価値の中で、最小の評価値を持つ動きベクトル（予測ベクトル候補）を選択し、出力する。
【００９３】
また、評価値比較部４０５は、全ての最小ブロックを評価するのではなく、距離Ｄが所定の閾値以下になった時点で、その距離Ｄを持つ動きベクトルを選択して評価処理を打ち切ってしまってもよい。
【００９４】
例えば、評価値比較部４０５は、処理対象ブロックのブロックサイズがＮ×Ｍであったとき、閾値をＮ＋Ｍとする。
【００９５】
また、別の打ち切り方法として、評価値比較部４０５は、ａｂｓ（ｘ１―ｘ３）＜Ｎかつａｂｓ（ｙ１―ｙ３）＜Ｍを満たしたときに、評価処理を打ち切ってもよい。
【００９６】
評価値比較部４０５で出力された動きベクトルは、スケーリング部３０４にてスケーリングされる。
【００９７】
これにより、第１座標と第３座標との距離を算出することで、処理対象ブロックを貫通する動きベクトルを選択することができるようになり、時間方向における予測ベクトル候補の予測精度を上げることができる。
【００９８】
なお、実施例１では、ブロック決定部３０１によるブロックの決定数を５つとしたが、ブロック決定方法は、本説明に限定されるもではなく、５つより少なくてもよいし、多くてもよい。
【００９９】
さらに、ベクトル選択部３０３は、決定された最小ブロックが有する動きベクトルとして、Ｌ０ベクトルとＬ１ベクトルとの２本あるが、どちらか一つだけを評価するように事前に選択しておいてもよい。どちらのベクトルを選択するかは、例えば、評価する動きベクトルが参照するピクチャをＣｏｌＲｅｆＰｉｃとしたときに、処理対象ピクチャをＣｏｌＲｅｆＰｉｃとＣｏｌＰｉｃで挟むような動きベクトルが存在すれば、ベクトル選択部３０３は、その動きベクトルを選択する。
【０１００】
図１３は、実施例１の効果を説明するための図である。図１に示すように、２つのブロックＡ、Ｂの候補があった場合、従来技術ではＣｏｌブロックがブロックＡであった場合、ｍｖＣｏｌＡが選択されていたが、実施例１によれば、評価値（距離Ｄ）の小さいｍｖＣｏｌＢが選択され、時間方向における予測ベクトル候補の精度が向上する。
【０１０１】
＜動作＞
次に、実施例１における動画像復号装置１００の動作について説明する。図１４は、実施例１における動画像復号装置の処理の一例を示すフローチャートである。図１４に示す処理は、１処理単位ブロックにおける復号処理である。
【０１０２】
ステップＳ１０１で、エントロピー復号部１０１で、入力されたストリームデータをエントロピー復号する。エントロピー復号部１０１は、処理対象ブロックのＬ０の参照インデックスと差分ベクトル、予測候補インデックス、Ｌ１の参照インデックスと差分ベクトル、予測候補インデックスと、直交変換係数を復号する。
【０１０３】
ステップＳ１０２で、予測ベクトル生成部１０４は、復号されたＬ０とＬ１との参照インデックス、動きベクトル情報などを用いて、Ｌ０とＬ１の予測ベクトル候補のリストを算出する。
【０１０４】
ステップＳ１０３で、動きベクトル復元部１０５は、エントロピー復号部１０１で復号されたＬ０とＬ１の予測候補インデックスと差分ベクトル情報を取得する。動きベクトル復元部１０５は、予測ベクトル候補リストの中から予測候補インデックスによって識別される予測ベクトルをＬ０とＬ１それぞれ算出する。動きベクトル復元部１０５は、予測ベクトルと差分ベクトルとを加算することによりＬ０とＬ１それぞれの動きベクトルを復元する。
【０１０５】
ステップＳ１０４で、動きベクトル復元部１０５は、復元したＬ０とＬ１の参照インデックスと、動きベクトル情報とを動きベクトル情報記憶部１０３に記憶する。これらの情報は、以降のブロックの復号処理で用いられる。
【０１０６】
ステップＳ１０５で、予測画素生成部１０６は、Ｌ０動きベクトルとＬ１動きベクトルを取得し、復号画像記憶部１１０から動きベクトルが参照する領域の画素データを取得し、予測画素信号を生成する。
【０１０７】
ステップＳ１０６で、逆量子化部１０７は、エントロピー復号部１０１で復号された直交変換係数を取得し、逆量子化処理を行う。
【０１０８】
ステップＳ１０７で、逆直行変換部１０８で、逆量子化された信号に対し、逆直交変換処理を行う。逆直交変換処理の決定、予測誤差信号が生成される。
【０１０９】
なお、ステップＳ１０２〜Ｓ１０４の処理と、ステップＳ１０６〜Ｓ０７の処理とは、並列で行われ、順序は問わない。
【０１１０】
ステップＳ１０８で、復号画素生成部１０９は、予測画素信号と予測誤差信号とを加算し、復号画素を生成する。
【０１１１】
ステップＳ１０９で、復号画像記憶部１１０は、復号画素を含む復号画像を記憶する。以上で、ブロックの復号処理が終了し、次のブロックの復号処理に移行する。
【０１１２】
（時間方向に隣接するブロックの予測ベクトル候補）
次に、処理対象ブロックと時間方向で隣接するブロックの予測ベクトル候補を生成する処理について説明する。図１５は、実施例１における時間隣接予測ベクトル生成部２０１による処理の一例を示すフローチャートである。
【０１１３】
図１５に示すステップＳ２０１で、第１座標算出部４０１は、処理対象ブロック内の第１座標を算出する。第１座標は、例えば処理対象ブロックの中心座標とする。
【０１１４】
ステップＳ２０２で、ブロック決定部３０１は、処理対象ブロックと時間方向で隣接するピクチャ内で、処理対象ブロックの中心座標と最も近いブロックを含む複数のブロックを決定する。ブロックの決定方法は、前述した通りである。
【０１１５】
ステップＳ２０３で、第２座標算出部４０２は、ブロック決定部３０１により決定された複数ブロックのうちの１つのブロック内の第２座標を算出する。
【０１１６】
ステップＳ２０４で、スケーリング部４０３は、決定されたブロックが有する第１動きベクトルを、処理対象ブロックを参照するようにスケーリングして第２動きベクトルを生成する。
【０１１７】
ステップＳ２０５で、距離計算部４０４は、第２動きベクトルと第２座標とを加算し、第３座標を算出する。
【０１１８】
ステップＳ２０６で、距離計算部４０４は、第１座標と、第３座標との距離Ｄを計算する。算出された距離Ｄなどの情報は、評価値比較部４０５に出力される。
【０１１９】
ステップＳ２０７で、評価値比較部４０５は、ブロック決定部３０１により決定された全てのブロックで、距離Ｄなどの情報を取得したか否かを判定する。評価値比較部４０５は、ブロック決定部３０１で決定されるブロック数を予め知っておけばよい。
【０１２０】
決定されたブロックの中で最後のブロックであれば（ステップＳ２０７−ＹＥＳ）ステップＳ２０８に進み、最後のブロックでなければ（ステップＳ２０７−ＮＯ）ステップＳ２０２に戻り、決定された他のブロックで以降の処理を行う。
【０１２１】
ステップＳ２０８で、評価値比較部４０５は、取得した距離Ｄを評価し、最小の距離Ｄとなる第１動きベクトルを選択し、第１動きベクトルを含む動きベクトル情報を出力する。選択された第１動きベクトルが、時間方向の予測ベクトル候補となる。
【０１２２】
以上、実施例１によれば、第１座標と第３座標との距離を算出することで、処理対象ブロックを貫通する動きベクトルを選択することができるようになり、時間方向における予測ベクトル候補の予測精度を上げることができる。予測ベクトル候補の精度を向上させれば、結果的に予測ベクトルの予測精度を向上させることができる。
【０１２３】
［実施例２］
次に、実施例２における動画像復号装置について説明する。実施例２では、図３、図４で説明した動きベクトル情報を圧縮するモードが存在する場合において、時間方向における予測ベクトル候補の予測精度を上げる。
【０１２４】
まず、ＨＥＶＣにおける、動きベクトル情報を圧縮するモードが存在する場合の問題点について説明する。図１６は、従来技術の問題点を説明するための例１を示す図である。図１６に示すように、ＴＲがＣｏｌブロックとなった場合、最小ブロック１に保存された動きベクトルが選択され、ＴＣがＣｏｌブロックとなった場合、最小ブロック２に保存された動きベクトルが選択される。
【０１２５】
このとき、処理対象ブロックが大きい場合、Ｃｏｌブロックが、最小ブロック１であっても、最小ブロック２であっても、Ｃｏｌブロックの位置と、処理対象ブロックの中心位置とが遠くなり、時間方向の予測ベクトル候補の予測精度が下がるという問題があった。
【０１２６】
図１７は、従来技術の問題点を説明するための例２を示す図である。図１７に示すように、ＴＲを含むブロックがＣｏｌブロックとなった場合、処理対象ブロックの中心位置とＣｏｌブロックとが離れてしまい、Ｃｏｌブロックの動きベクトルの予測精度が落ちていた。
【０１２７】
そこで、実施例２では、動きベクトル情報を圧縮するモードが存在する場合であっても、時間方向における予測ベクトルの精度を向上させることを目的とする。
【０１２８】
＜構成＞
実施例２における動画像復号装置の構成において、動きベクトル情報記憶部、時間隣接予測ベクトル生成部以外の構成は実施例１と同様であるため、以下、動きベクトル情報記憶部、時間隣接予測ベクトル生成部について説明する。
【０１２９】
図１８は、実施例２における動きベクトル情報記憶部５０１及び時間隣接予測ベクトル生成部５０３の構成の一例を示すブロック図である。図１８に示す構成で、実施例１と同様の構成のものは同じ符号を付し、その説明を省略する。
【０１３０】
動きベクトル情報記憶部５０１は、動きベクトル圧縮部５０２を備える。動きベクトル情報記憶部５０１は、各ブロックの動きベクトルを、最小ブロックを単位として記憶する。１ピクチャの処理が終わったときに、動きベクトル圧縮部５０２は、動きベクトル情報の削減を行う。
【０１３１】
例えば、動きベクトル圧縮部５０２は、最小ブロック毎に代表ブロックであるかどうかの判定をする。代表ブロックであれば、動きベクトル情報記憶部５０１は、代表ブロックの動きベクトルをそのまま記憶し、代表ブロックでなければ、動きベクトル圧縮部５０２は、その動きベクトルを削除する。
【０１３２】
よって、動きベクトル圧縮部５０２は、所定範囲内のブロックから代表ブロックを決定し、所定範囲内のブロックに対して代表ブロックの動きベクトルを１つ記憶させるようにする。
【０１３３】
所定範囲は、例えば、水平４最小ブロック、垂直４最小ブロックとする。代表ブロックを、この所定範囲の左上の最小ブロックとする方法がある。このとき、図４に示す最小ブロック１〜１５までの動きベクトル情報は、最小ブロック０の動きベクトル情報で代用すされる。同様に、最小ブロック１７〜３２までの動きベクトル情報は、最小ブロック１６の動きベクトル情報で代用される。
【０１３４】
時間隣接予測ベクトル生成部５０３は、ブロック決定部５０４を有する。ブロック決定部５０４は、代表ブロック決定部５０５を有する。
【０１３５】
ブロック決定部５０４は、実施例１と同様にして、処理対象ブロックの中心となる最小ブロックＣを決定する。ブロック決定部５０４は、まず、処理対象ブロック内の第１座標（ｘ１、ｙ１）を算出する。
【０１３６】
ブロック決定部５０４は、実施例１と同様にして、式（１４）、（１５）又は式（１６）、（１７）を用いて第１座標を算出する。処理対象ブロックの中心の最小ブロックＣは、第１座標（ｘ１、ｙ１）を含む最小ブロックとする。第１座標（ｘ１、ｙ１）が最小ブロックの境界である場合は、第１座標（ｘ１、ｙ１）の右下に位置する最小ブロックを最小ブロックＣとする。
【０１３７】
代表ブロック決定部５０５は、最小ブロックＣに近い順に、所定数の代表ブロック１〜４の位置を算出し、決定する。以下、４つの代表ブロックを決定する例を用いて説明する。
【０１３８】
図１９は、実施例２における、決定される代表ブロックの例（その１）を示す図である。図１９に示す例は、最小ブロックＣと代表ブロック１〜４が重ならない場合を示す。図１９に示すように、代表ブロック決定部５０５は、最小ブロックＣと同一位置にあるＣｏｌＰｉｃのブロックＣ'から近い順に、４つの代表ブロック１〜４を決定する。
【０１３９】
図２０は、実施例２における、決定される代表ブロックの例（その２）を示す図である。図２０に示す例は、最小ブロックＣと代表ブロックが重なる場合を示す。図２０に示すように、代表ブロック決定部５０５は、最小ブロックＣと重なる代表ブロック４を決定し、その他の代表ブロックについては、代表ブロック４に近い代表ブロック１〜３を決定する。
【０１４０】
実施例２では４つの代表ブロックとしたが、代表ブロックの決定方法は、本説明に限定されるもではなく、４つより少なくてもよいし、多くてもよい。
【０１４１】
動きベクトル情報記憶部５０１及び時間隣接予測ベクトル生成部５０３以外のその他の構成の動作は、実施例１と同様であるため、その説明を省略する。
【０１４２】
＜動作＞
次に、実施例２における動画像復号装置の処理について説明する。復号処理は、図１４に示す処理と同様であるため説明を省略する。また、実施例２における時間隣接予測ベクトル生成部による処理については、図１５に示すステップＳ２０２で、前述した通りの代表ブロックが決定される以外は、実施例１と同様である。
【０１４３】
以上、実施例２によれば、実施例１と同様に、動きベクトルを圧縮した場合であっても、時間方向の予測ベクトル候補の精度が向上する。
【０１４４】
［実施例３］
次に、実施例３における動画像復号装置について説明する。実施例３では、図３、図４で説明した動きベクトル情報を圧縮するモードが存在する場合において、実施例２とは異なる処理を用いて、時間方向における予測ベクトル候補の予測精度を上げる。
【０１４５】
＜構成＞
実施例３における動画像復号装置の構成は、時間隣接予測ベクトル生成部以外は実施例２と同様であるため、以下、時間隣接予測ベクトル生成部について説明する。
【０１４６】
図２１は、実施例３における時間隣接予測ベクトル生成部６００の構成の一例を示すブロック図である。
【０１４７】
時間隣接予測ベクトル生成部６００は、ブロック決定部６０１を有する。ブロック決定部６０１は、代表ブロック決定部６０２を有する。
【０１４８】
ブロック決定部６０１は、実施例１と同様にして、処理対象ブロックの中心となる最小ブロックＣを決定する。ブロック決定部６０１は、まず、処理対象ブロック内の第１座標（ｘ１、ｙ１）を算出する。
【０１４９】
ブロック決定部６０１は、実施例１と同様にして、式（１４）、（１５）又は式（１６）、（１７）を用いて第１座標を算出する。処理対象ブロックの中心の最小ブロックＣは、第１座標（ｘ１、ｙ１）を含む最小ブロックとする。第１座標（ｘ１、ｙ１）が最小ブロックの境界である場合は、第１座標（ｘ１、ｙ１）の右下に位置する最小ブロックを最小ブロックＣとする。
【０１５０】
代表ブロック決定部６０２は、最小ブロックＣの位置に最も近い代表ブロックを代表ブロック１として決定する。代表ブロック決定部６０２は、次に、代表ブロック１に近い代表ブロック２〜５を決定する。ここでは、代表ブロックを５つ決定することにしたが、代表ブロックの決定方法は、本説明に限るものではなく、５つより多くてもよいし、少なくてもよい。
【０１５１】
図２２は、実施例３における、決定される代表ブロックの例を示す図である。図２２に示す例は、最小ブロックＣの位置と最も近い代表ブロック１が決定され、代表ブロック１に近い代表ブロック２〜５が決定される。
【０１５２】
ベクトル選択部６０３は、代表ブロック決定部６０２で決定された代表ブロック１〜５を順に、代表ブロックの予測モードがＩｎｔｒａ予測モードか否かを評価し、Ｉｎｔｒａ予測モードではなく動きベクトルが存在すれば、その動きベクトルを選択する。ベクトル選択部６０３は、選択した動きベクトルを含む動きベクトル情報をスケーリング部３０４に出力する。
【０１５３】
時間隣接予測ベクトル生成部６００以外のその他の構成の動作は、実施例２と同様であるため、その説明を省略する。
【０１５４】
＜動作＞
次に、実施例３における動画像復号装置の処理について説明する。復号処理は、図１３に示す処理と同様であるため説明を省略する。
【０１５５】
実施例３における時間隣接予測ベクトル生成部による処理については、ブロック決定処理と、ベクトル選択処理とがある。ブロック決定処理は、最小ブロックＣの位置に最も近い代表ブロック１が決定され、その代表ブロック１に近い代表ブロック２〜５が決定される。
【０１５６】
ベクトル選択処理は、代表ブロック１〜５の順に、インター予測の動きベクトルがあれば、その動きベクトルを選択する。
【０１５７】
以上、実施例３によれば、実施例２と同様に、動きベクトルを圧縮した場合であっても、時間方向の予測ベクトル候補の精度が向上する。
【０１５８】
［実施例４］
次に、実施例４における動画像符号化装置について説明する。実施例４における動画像符号化装置は、実施例１〜３のいずれかの時間隣接予測ベクトル生成部を有する動画像符号化装置である。
【０１５９】
＜構成＞
図２３は、実施例４における動画像符号化装置７００の構成の一例を示すブロック図である。図２３に示す動画像符号化装置７００は、動き検出部７０１、参照ピクチャリスト記憶部７０２、復号画像記憶部７０３、動きベクトル情報記憶部７０４、予測ベクトル生成部７０５、差分ベクトル算出部７０６を有する。
【０１６０】
また、動画像符号化装置７００は、予測画素生成部７０７、予測誤差生成部７０８、直交変換部７０９、量子化部７１０、逆量子化部７１１、逆直交変換部７１２、復号画素生成部７１３、エントロピー符号化部７１４を有する。
【０１６１】
動き検出部７０１は、原画像を取得し、参照ピクチャリスト記憶部７０２から参照ピクチャの記憶位置を取得し、復号画像記憶部７０３から参照ピクチャの画素データを取得する。動き検出部７０１は、Ｌ０、Ｌ１の参照インデックスと動きベクトルを検出する。動き検出部７０１は、検出された動きベクトルが参照する参照画像の領域位置情報を予測画素生成部７０７に出力する。
【０１６２】
参照ピクチャリスト記憶部７０２は、参照ピクチャの記憶位置と、処理対象ブロックが参照可能なピクチャのＰＯＣ情報を含むピクチャ情報を記憶する。
【０１６３】
復号画像記憶部７０３は、動き補償の参照ピクチャとして利用するため、過去に符号化処理し、動画像符号化装置内で局所復号処理されたピクチャを記憶する。
【０１６４】
動きベクトル情報記憶部７０４は、動き検出部７０１で検出された動きベクトル及びＬ０とＬ１の参照インデックス情報を含む動きベクトル情報を記憶する。動きベクトル情報記憶部７０４は、例えば、処理対象ブロックに対して空間的及び時間的に隣接するブロックの動きベクトル、この動きベクトルが参照するピクチャを示す参照ピクチャ識別子を含む動きベクトル情報を記憶する。
【０１６５】
予測ベクトル生成部７０５は、Ｌ０とＬ１とで予測ベクトル候補リストを生成する。予測ベクトル候補を生成する処理は、実施例１〜３で説明した処理と同様である。
【０１６６】
差分ベクトル算出部７０６は、動きベクトル検出部７０１からＬ０とＬ１の動きベクトルを取得し、予測ベクトル生成部７０５からＬ０とＬ１の予測ベクトル候補リストを取得し、それぞれの差分ベクトルを算出する。
【０１６７】
例えば、差分ベクトル算出部７０６は、Ｌ０とＬ１の動きベクトルに最も近い予測ベクトルを予測ベクトル候補リストの中からそれぞれ選択し、Ｌ０とＬ１の予測ベクトルと予測候補インデックスをそれぞれ決定する。
【０１６８】
さらに、差分ベクトル算出部７０６は、Ｌ０の動きベクトルからＬ０の予測ベクトルを減算してＬ０の差分ベクトルを生成し、Ｌ１の動きベクトルからＬ１の予測ベクトルを減算してＬ１の差分ベクトルを生成する。
【０１６９】
予測画素生成部７０７は、入力された参照画像の領域位置情報に基づいて、復号画像記憶部７０３から参照画素を取得し、予測画素信号を生成する。
【０１７０】
予測誤差生成部７０８は、原画像と予測画素信号とを取得し、原画像と予測画素信号の差分を算出することで予測誤差信号を生成する。
【０１７１】
直交変換部７０９は、予測誤差信号に離散コサイン変換などの直交変換処理を行い、直交変換係数を量子化部７１０に出力する。量子化部７１０は、直交変換係数を量子化する。
【０１７２】
逆量子化部７１１は、量子化された直交変換係数に対し、逆量子化処理を行う。逆直交変換部７１２は、逆量子化された係数に対し、逆直交変換処理を行う。
【０１７３】
復号画素生成部７１３は、予測誤差信号と予測画素信号とを加算することで、復号画素を生成する。生成された復号画素を含む復号画像は、復号画像記憶部７０３に記憶される。
【０１７４】
エントロピー符号化部７１４は、差分ベクトル算出部７０６及び量子化部７１０から取得した、Ｌ０とＬ１との参照インデックスと差分ベクトルと予測候補インデックス、量子化された直交変換係数に対し、エントロピー符号化を行う。エントロピー符号化部７１４は、エントロピー符号化後のデータをストリームとして出力する。
【０１７５】
＜動作＞
次に、実施例４における動画像符号化装置７００の動作について説明する。図２４は、動画像符号化装置７００の処理の一例を示すフローチャートである。図２４に示す符号化処理は、１処理単位ブロックの符号化処理を示す。
【０１７６】
ステップＳ３０１で、動きベクトル検出部７０１は、原画像を取得し、参照ピクチャの画素データを取得し、Ｌ０、Ｌ１の参照インデックスと動きベクトルを検出する。
【０１７７】
ステップＳ３０２で、予測ベクトル生成部７０５は、Ｌ０とＬ１の予測ベクトル候補リストをそれぞれ算出する。このとき、予測ベクトル生成部７０５は、実施例１〜３のいずれか同様、時間方向の予測ベクトル候補の予測精度を上げる。
【０１７８】
ステップＳ９０３で、差分ベクトル算出部７０６は、Ｌ０とＬ１の動きベクトルに最も近い予測ベクトルを予測ベクトル候補リストの中からそれぞれ選択し、Ｌ０とＬ１の予測ベクトルと予測候補インデックスをそれぞれ決定する。
【０１７９】
さらに、差分ベクトル算出部３０６は、Ｌ０の動きベクトルからＬ０の予測ベクトルを減算してＬ０の差分ベクトルを生成し、Ｌ１の動きベクトルからＬ１の予測ベクトルを減算してＬ１の差分ベクトルを生成する。
【０１８０】
ステップＳ３０４で、予測画素生成部７０７は、入力された参照画像の領域位置情報に基づいて、復号画像記憶部７０３から参照画素を取得し、予測画素信号を生成する。
【０１８１】
ステップＳ３０５で、予測誤差生成部７０８は、原画像と予測画素信号が入力され、原画像と予測画素信号の差分を算出することで予測誤差信号を生成する。
【０１８２】
ステップＳ３０６で、直交変換部７０９は、予測誤差信号に対して直交変換処理を行い、直交変換係数を生成する。
【０１８３】
ステップＳ３０７で、量子化部７１０は、直交変換係数に対して、量子化処理を行い、量子化後の直交変換係数を生成する。
【０１８４】
ステップＳ３０８で、動きベクトル情報記憶部７０４は、動きベクトル検出部７０１から出力されたＬ０とＬ１の参照インデックス情報と動きベクトルを含む動きベクトル情報を記憶する。これらの情報は、次のブロックの符号化に利用される。
【０１８５】
なお、ステップＳ３０２〜Ｓ３０３、ステップＳ３０４〜Ｓ３０７、Ｓ３０８の各処理は、並列して行われ、順序は問わない。
【０１８６】
ステップＳ３０９で、逆量子化部７１１は、量子化された直交変換係数に対し、逆量子化処理を行い、直交変換係数を生成する。次に、逆直交変換部７１２は、直交変換係数に対し、逆直交変換処理を行い、予測誤差信号を生成する。
【０１８７】
ステップＳ３１０で、復号画素生成部７１３は、予測誤差信号と予測画素信号とを加算し、復号画素を生成する。
【０１８８】
ステップＳ３１１で、復号画像記憶部７０３は、復号画素を含む復号画像を記憶する。この復号画像は、以降のブロックの符号化処理に用いられる。
【０１８９】
ステップＳ３１２で、エントロピー符号化部７１４は、Ｌ０とＬ１との参照インデックスと差分ベクトルと予測候補インデックス、量子化された直交変換係数をエントロピー符号化し、ストリームとして出力する。
【０１９０】
以上、実施例４によれば、時間方向の予測ベクトルの精度を向上させることができ、符号化効率を上げた動画像符号化装置を提供することができる。なお、動画像符号化装置７００の予測ベクトル生成部７０５について、当該業者においては、各実施例１〜３のいずれかの予測ベクトル生成部を用いることができることは自明である。
【０１９１】
［変形例］
図２５は、画像処理装置８００の構成の一例を示すブロック図である。画像処理装置８００は、実施例で説明した動画像符号化装置、又は動画像復号装置の一例である。図２５に示すように、画像処理装置８００は、制御部８０１、主記憶部８０２、補助記憶部８０３、ドライブ装置８０４、ネットワークＩ／Ｆ部８０６、入力部８０７、表示部８０８を含む。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
【０１９２】
制御部８０１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵである。また、制御部８０１は、主記憶部８０２や補助記憶部８０３に記憶されたプログラムを実行する演算装置であり、入力部８０７や記憶装置からデータを受け取り、演算、加工した上で、表示部８０８や記憶装置などに出力する。
【０１９３】
主記憶部８０２は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などであり、制御部８０１が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【０１９４】
補助記憶部８０３は、ＨＤＤ（Hard Disk Drive）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【０１９５】
ドライブ装置８０４は、記録媒体８０５、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。
【０１９６】
また、記録媒体８０５は、所定のプログラムを格納する。この記録媒体８０５に格納されたプログラムは、ドライブ装置８０４を介して画像処理装置８００にインストールされる。インストールされた所定のプログラムは、画像処理装置８００により実行可能となる。
【０１９７】
ネットワークＩ／Ｆ部８０６は、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などのネットワークを介して接続された通信機能を有する周辺機器と画像処理装置８００とのインターフェースである。
【０１９８】
入力部８０７は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部８０８の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部８０７は、ユーザが制御部８０１に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。
【０１９９】
表示部８０８は、ＬＣＤ（Liquid Crystal Display）等を有し、制御部８０１から入力される表示データに応じた表示が行われる。なお、表示部８０８は、外部に設けられてもよく、その場合は、画像処理装置８００は、表示制御部を有する。
【０２００】
このように、前述した実施例で説明した動画像符号化処理又は動画像復号処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、前述した画像符号化処理又は画像復号処理を実現することができる。
【０２０１】
また、この動画像符号化プログラム又は動画像復号プログラムを記録媒体８０５に記録し、このプログラムが記録された記録媒体８０５をコンピュータや携帯端末に読み取らせて、前述した動画像符号化処理又は動画像復号処理を実現させることも可能である。
【０２０２】
なお、記録媒体８０５は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。また、前述した各実施例で説明した動画像符号化処理又は動画像復号処理は、１つ又は複数の集積回路に実装してもよい。
【０２０３】
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
【０２０４】
なお、以上の実施例に関し、さらに以下の付記を開示する。
（付記１）
処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて復号処理を行う動画像復号装置であって、
前記処理対象ブロックに対して過去に復号されたピクチャ内のブロックの動きベクトルを記憶する動きベクトル情報記憶部と、
前記処理対象ブロックに対して時間方向に隣接するブロックの動きベクトルから、前記予測ベクトル候補を生成する時間隣接予測ベクトル生成部とを備え、
前記時間隣接予測ベクトル生成部は、
前記処理対象ブロック内の第１座標に対し、時間方向に隣接するピクチャ内で前記第１座標に最も近いブロックを含む複数のブロックを決定するブロック決定部と、
決定された前記複数のブロックがそれぞれ有する動きベクトルの中から、少なくとも１つの動きベクトルを選択するベクトル選択部と、
を備える動画像復号装置。
（付記２）
前記ベクトル選択部は、
前記複数のブロックがそれぞれ有する動きベクトルに対し、前記処理対象ブロックを含むピクチャを参照するようにスケーリングするスケーリング部と、
スケーリングされた各動きベクトルと、前記複数のブロックの各ブロック内の第２座標とを加算して第３座標を算出し、前記第１座標と前記第３座標との距離を算出する距離算出部と、
前記距離に基づき動きベクトルを比較して選択する比較部と、
を備える付記１記載の動画像復号装置。
（付記３）
前記動きベクトル情報記憶部は、
所定範囲内のブロックから代表ブロックを決定し、前記所定範囲内のブロックに対して前記代表ブロックの動きベクトルを１つ記憶させる動きベクトル圧縮部を備え、
前記ブロック決定部は、
前記代表ブロックの中から前記複数のブロックを決定する付記１又は２記載の動画像復号装置。
（付記４）
前記第１座標は、前記処理対象ブロックの中心を含む右下領域にある付記１乃至３いずれか一項に記載の動画像復号装置。
（付記５）
入力画像が分割された処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて符号化処理を行う動画像符号化装置であって、
過去に符号化処理されたピクチャ内のブロックの動きベクトルを記憶する動きベクトル情報記憶部と、
前記処理対象ブロックに対して時間方向に隣接するブロックの動きベクトルから、前記予測ベクトル候補を生成する時間隣接予測ベクトル生成部とを備え、
前記時間隣接予測ベクトル生成部は、
前記処理対象ブロック内の第１座標に対し、時間方向に隣接するピクチャ内で前記第１座標に最も近いブロックを含む複数のブロックを決定するブロック決定部と、
決定された前記複数のブロックがそれぞれ有する動きベクトルの中から、少なくとも１つの動きベクトルを選択するベクトル選択部と、
を備える動画像符号化装置。
（付記６）
処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて復号処理を行う動画像復号装置が実行する動画像復号方法であって、
前記処理対象ブロック内の第１座標に対し、時間方向に隣接するピクチャ内で前記第１座標に最も近いブロックを含む複数のブロックを決定し、
決定された前記複数のブロックがそれぞれ有する動きベクトルを、前記処理対象ブロックに対して過去に復号されたピクチャ内のブロックの動きベクトルを記憶する動きベクトル情報記憶部から取得し、
取得された複数の動きベクトルから、少なくとも１つの動きベクトルを選択し、
選択された動きベクトルを用いて、時間方向に隣接するブロックに対する前記予測ベクトル候補を生成する動画像復号方法。
（付記７）
入力画像が分割された処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて符号化処理を行う動画像符号化装置で実行される動画像符号化方法であって、
前記処理対象ブロック内の第１座標に対し、時間方向に隣接するピクチャ内で前記第１座標に最も近いブロックを含む複数のブロックを決定し、
決定された前記複数のブロックがそれぞれ有する動きベクトルを、過去に符号化処理されたピクチャ内のブロックの動きベクトルを記憶する動きベクトル情報記憶部から取得し、
取得された複数の動きベクトルから、少なくとも１つの動きベクトルを選択し、
選択された動きベクトルを用いて、時間方向に隣接するブロックに対する前記予測ベクトル候補を生成する動画像符号化方法。
（付記８）
処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて復号処理を行う動画像復号装置に実行させる動画像復号プログラムであって、
前記処理対象ブロック内の第１座標に対し、時間方向に隣接するピクチャ内で前記第１座標に最も近いブロックを含む複数のブロックを決定し、
決定された前記複数のブロックがそれぞれ有する動きベクトルを、前記処理対象ブロックに対して過去に復号されたピクチャ内のブロックの動きベクトルを記憶する動きベクトル情報記憶部から取得し、
取得された複数の動きベクトルから、少なくとも１つの動きベクトルを選択し、
選択された動きベクトルを用いて、時間方向に隣接するブロックに対する前記予測ベクトル候補を生成する、
処理を動画像復号装置に実行させる動画像復号プログラム。
（付記９）
入力画像が分割された処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて符号化処理を行う動画像符号化装置に実行させる動画像符号化プログラムであって、
前記処理対象ブロック内の第１座標に対し、時間方向に隣接するピクチャ内で前記第１座標に最も近いブロックを含む複数のブロックを決定し、
決定された前記複数のブロックがそれぞれ有する動きベクトルを、過去に符号化処理されたピクチャ内のブロックの動きベクトルを記憶する動きベクトル情報記憶部から取得し、
取得された複数の動きベクトルから、少なくとも１つの動きベクトルを選択し、
選択された動きベクトルを用いて、時間方向に隣接するブロックに対する前記予測ベクトル候補を生成する、
処理を動画像符号化装置に実行させる動画像符号化プログラム。
【符号の説明】
【０２０５】
１００  動画像復号装置
１０１  エントロピー復号部
１０２  参照ピクチャリスト記憶部
１０３、５０１  動きベクトル情報記憶部
１０４  予測ベクトル生成部
１０５  動きベクトル復元部
１０６  予測画素生成部
１０７  逆量子化部
１０８  逆直交変換部
１０９  復号画素生成部
１１０  復号画像記憶部
２０１  時間隣接予測ベクトル生成部
３０１、５０４、６０１  ブロック決定部
３０２  ベクトル情報取得部
３０３  ベクトル選択部
３０４  スケーリング部
４０１  第１座標算出部
４０２  第２座標算出部
４０３  スケーリング部
４０４  距離計算部
４０５  評価値比較部
５０２  動き圧縮部
５０４、６０２  代表ブロック決定部
７００  動画像符号化装置
７０１  動き検出部
７０２  参照ピクチャリスト記憶部
７０３  復号画像記憶部
７０４  動きベクトル情報記憶部
７０５  予測ベクトル生成部
７０６  差分ベクトル算出部
７０７  予測画素生成部
７０８  予測誤差生成部
７０９  直交変換部
７１０  量子化部
７１１  逆量子化部
７１２  逆直交変換部
７１３  復号画素生成部
７１４  エントロピー符号化部
【図１】
0005807402.tif 000002
【図２】
0005807402.tif 000003
【図３】
0005807402.tif 000004
【図４】
0005807402.tif 000005
【図５】
0005807402.tif 000006
【図６】
0005807402.tif 000007
【図７】
0005807402.tif 000008
【図８】
0005807402.tif 000009
【図９】
0005807402.tif 000010
【図１０】
0005807402.tif 000011
【図１１】
0005807402.tif 000012
【図１２】
0005807402.tif 000013
【図１３】
0005807402.tif 000014
【図１４】
0005807402.tif 000015
【図１５】
0005807402.tif 000016
【図１６】
0005807402.tif 000017
【図１７】
0005807402.tif 000018
【図１８】
0005807402.tif 000019
【図１９】
0005807402.tif 000020
【図２０】
0005807402.tif 000021
【図２１】
0005807402.tif 000022
【図２２】
0005807402.tif 000023
【図２３】
0005807402.tif 000024
【図２４】
0005807402.tif 000025
【図２５】
0005807402.tif 000026