(57)【要約】【課題】双方向予測における動きベクトルの予測効率を向上させ，動きベクトルの符号量を従来技術よりも削減する。【解決手段】予測ベクトル生成処理部１１０により，双方向予測における予測方向ごとに，符号化済み画像を参照画像として，予測対象ブロックの近傍にあるブロック群の動きベクトルをテンプレートとするテンプレートマッチングにより，動きベクトルの乖離度が最小となる領域を求め，それをもとに時間方向の相関を利用した予測ベクトルを算出し，予測モード判定処理部１２０では，乖離度と閾値との比較により，算出した予測ベクトルを予測対象ブロックの予測ベクトルとして用いるか否かを適応的に決定する。【選択図】図３
2011166207.tif 000002
【特許請求の範囲】
【請求項１】
符号化または復号対象画像をブロックに分割し，各ブロックごとに動き補償を用いて画像を符号化または復号する動画像符号化方式における動きベクトル予測方法において，
双方向予測における予測方向ごとに，符号化または復号済み画像を参照画像として，符号化または復号対象画像における動きベクトルの予測対象となる予測対象ブロックの近傍にある複数個の符号化または復号済みブロックの動きベクトルをテンプレートとするテンプレートマッチングにより，前記参照画像における動きベクトルの乖離度が最小となる領域を求め，その領域から定まる動きベクトルを用いて予測ベクトルを生成するとともに，前記動きベクトルの乖離度を出力する予測ベクトル生成処理過程と，
双方向予測における予測方向ごとに，前記乖離度と所定の閾値との大小比較により，前記予測ベクトルを，前記予測対象ブロックの予測ベクトルとして用いるか否かを適応的に決定する予測モード判定処理過程とを有する
ことを特徴とする動きベクトル予測方法。
【請求項２】
請求項１記載の動きベクトル予測方法において，
前記動きベクトルの乖離度として，前記複数個の符号化または復号済みブロックの動きベクトルと，前記参照画像内の配置関係が対応する複数個のブロックの動きベクトルとの，ベクトル成分ごとの差分絶対値和もしくは二乗誤差和，またはメディアンベクトルに対する誤差，または平均ベクトルに対する誤差を用いる
ことを特徴とする動きベクトル予測方法。
【請求項３】
請求項１または請求項２記載の動きベクトル予測方法において，
前記予測ベクトル生成処理過程では，
前記参照画像における動きベクトルの乖離度が最小となる領域によって定められる位置にある１または複数個のブロックを時間方向動きベクトル参照ブロックとして該参照ブロックの動きベクトルから予測ベクトルを生成する，
または，さらに前記複数個の符号化または復号済みブロックの中の所定の位置にある１または複数個のブロックを空間方向動きベクトル参照ブロックとして抽出し，前記時間方向動きベクトル参照ブロックの動きベクトルと前記空間方向動きベクトル参照ブロックの動きベクトルとから，各ベクトル成分ごとの中央値を算出し，算出した中央値によって予測ベクトルを生成する
ことを特徴とする動きベクトル予測方法。
【請求項４】
請求項１，請求項２または請求項３記載の動きベクトル予測方法において，
現在の量子化パラメータもしくはフレーム間隔，またはその双方の値に応じて閾値を設定する閾値生成過程を有し，
前記予測モード判定処理過程では，前記閾値生成過程において設定された閾値を，前記乖離度との大小比較に用いる閾値とする
ことを特徴とする動きベクトル予測方法。
【請求項５】
請求項１から請求項４までのいずれか１項に記載の動きベクトル予測方法において，
前記予測ベクトル生成処理過程では，前記符号化または復号済み画像の参照画像として，予め定められた参照画像の選択規則に基づいて選択された複数枚の参照画像を用い，前記複数枚の参照画像において前記動きベクトルの乖離度が最小となる領域を持つ参照画像を求める
ことを特徴とする動きベクトル予測方法。
【請求項６】
請求項１から請求項５までのいずれか１項に記載の動きベクトル予測方法において，
符号化時における前記予測ベクトル生成処理過程では，前記符号化または復号済み画像の参照画像として複数枚の参照画像を用い，その中でテンプレートマッチングの対象とする参照画像を指定する情報を付加情報として符号化情報に付加し，
復号時における前記予測ベクトル生成処理過程では，前記付加情報で指定された参照画像において前記動きベクトルの乖離度が最小となる領域を求める
ことを特徴とする動きベクトル予測方法。
【請求項７】
符号化または復号対象画像をブロックに分割し，各ブロックごとに動き補償を用いて画像を符号化または復号する動画像符号化方式における動きベクトル予測装置において，
双方向予測における予測方向ごとに，符号化または復号済み画像を参照画像として，符号化または復号対象画像における動きベクトルの予測対象となる予測対象ブロックの近傍にある複数個の符号化または復号済みブロックの動きベクトルをテンプレートとするテンプレートマッチングにより，前記参照画像における動きベクトルの乖離度が最小となる領域を求め，その領域から定まる動きベクトルを用いて予測ベクトルを生成するとともに，前記動きベクトルの乖離度を出力する予測ベクトル生成処理部と，
双方向予測における予測方向ごとに，前記乖離度と所定の閾値との大小比較により，前記予測ベクトルを，前記予測対象ブロックの予測ベクトルとして用いるか否かを適応的に決定する予測モード判定処理部とを有する
ことを特徴とする動きベクトル予測装置。
【請求項８】
請求項７記載の動きベクトル予測装置において，
前記動きベクトルの乖離度として，前記複数個の符号化または復号済みブロックの動きベクトルと，前記参照画像内の配置関係が対応する複数個のブロックの動きベクトルとの，ベクトル成分ごとの差分絶対値和もしくは二乗誤差和，またはメディアンベクトルに対する誤差，または平均ベクトルに対する誤差を用いる
ことを特徴とする動きベクトル予測装置。
【請求項９】
請求項７または請求項８記載の動きベクトル予測装置において，
前記予測ベクトル生成処理部は，
前記参照画像における動きベクトルの乖離度が最小となる領域によって定められる位置にある１または複数個のブロックを時間方向動きベクトル参照ブロックとして該参照ブロックの動きベクトルから予測ベクトルを生成する，
または，さらに前記複数個の符号化または復号済みブロックの中の所定の位置にある１または複数個のブロックを空間方向動きベクトル参照ブロックとして抽出し，前記時間方向動きベクトル参照ブロックの動きベクトルと前記空間方向動きベクトル参照ブロックの動きベクトルとから，各ベクトル成分ごとの中央値を算出し，算出した中央値によって予測ベクトルを生成する
ことを特徴とする動きベクトル予測装置。
【請求項１０】
請求項７，請求項８または請求項９記載の動きベクトル予測装置において，
現在の量子化パラメータもしくはフレーム間隔，またはその双方の値に応じて閾値を設定する閾値生成部を備え，
前記予測モード判定処理部は，前記閾値生成部により設定された閾値を，前記乖離度との大小比較に用いる閾値とする
ことを特徴とする動きベクトル予測装置。
【請求項１１】
請求項７から請求項１０までのいずれか１項に記載の動きベクトル予測装置において，
前記予測ベクトル生成処理部は，前記符号化または復号済み画像の参照画像として，予め定められた参照画像の選択規則に基づいて選択された複数枚の参照画像を用い，前記複数枚の参照画像において前記動きベクトルの乖離度が最小となる領域を持つ参照画像を求める
ことを特徴とする動きベクトル予測装置。
【請求項１２】
請求項７から請求項１１までのいずれか１項に記載の動きベクトル予測装置において，
符号化の際に，前記予測ベクトル生成処理部は，前記符号化または復号済み画像の参照画像として複数枚の参照画像を用い，その中でテンプレートマッチングの対象とする参照画像を指定する情報を付加情報として符号化情報に付加し，
復号の際に，前記予測ベクトル生成処理部は，前記付加情報で指定された参照画像において前記動きベクトルの乖離度が最小となる領域を求める
ことを特徴とする動きベクトル予測装置。
【請求項１３】
請求項１から請求項６までのいずれか１項に記載の動きベクトル予測方法を，コンピュータに実行させるための動きベクトル予測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，動き補償を用いる動画像符号化技術に関し，特に動きベクトルの予測効率を向上させ，動画像の符号化効率を向上させるための動きベクトル予測技術に関するものである。
【背景技術】
【０００２】
Ｈ．２６４に代表されるような，動き補償を用いた動画像符号化方式では，動きベクトルを効率的に符号化するために，動きベクトルの予測符号化を行う（非特許文献１参照）。
【０００３】
図１９（Ａ）は，従来の動き補償を用いた動画像符号化装置の例を示す。図中，３００は動き補償による符号化部，３１０は動き探索により画像の動きを推定する動き推定部，３２０は動き推定によって算出された動きベクトルを記憶する動きベクトル記憶部，３３０は動きベクトルの予測符号化のために符号化済み情報から動きベクトルを予測する動きベクトル予測処理部，３３１は動きベクトルの予測に用いる参照ブロックの動きベクトルを抽出する参照ブロック動きベクトル抽出処理部，３３２は参照ブロックから抽出した動きベクトルの中央値を算出する中央値算出処理部，３４０は動きベクトルと予測した動きベクトル（以下，予測ベクトルという）の差分を算出する予測残差算出部，３５０は量子化された変換係数や動きベクトルの予測残差信号（予測誤差ベクトルという）に可変長符号を割り当てて符号化ストリームを出力する符号割当て部である。
【０００４】
動き推定部３１０は，符号化対象ブロックの映像信号を入力すると，符号化済みの参照画像の復号信号と照合することにより動き探索を行い，動きベクトルを算出する。算出された動きベクトルは，動き補償による符号化部３００に入力され，動き補償による符号化部３００では，動きベクトルを用いた動き補償によって映像信号と予測信号との残差信号を求め，これを直交変換，量子化などによって符号化処理する。処理結果の量子化値などが符号割当て部３５０で符号化されて符号化ストリームとして出力される。
【０００５】
一方，動きベクトルについても符号量削減のために予測符号化を行う。このため，動き推定部３１０が算出した動きベクトルは，後の参照のために動きベクトル記憶部３２０に記憶される。動きベクトル予測処理部３３０は，符号化済みの動きベクトルを用いて予測ベクトルを算出する。
【０００６】
動きベクトル予測処理部３３０における動きベクトルの予測では，まず，参照ブロック動きベクトル抽出処理部３３１が，図１９（Ｂ）に示すような符号化対象画像（符号化対象ピクチャまたはフレームともいう）の予測対象ブロック（符号化対象ブロック）Ｂ０の近傍にある符号化済みブロックを参照ブロックＢ１〜Ｂ３として，これらの動きベクトルを，動きベクトル記憶部３２０から抽出する。
【０００７】
次に，中央値算出処理部３３２は，参照ブロックＢ１〜Ｂ３の各動きベクトル成分の中央値を算出し，算出した中央値から予測ベクトルを生成する。
【０００８】
予測残差算出部３４０は，動きベクトルと予測ベクトルとの差分（予測誤差ベクトル）を算出し，その予測誤差ベクトルを符号割当て部３５０へ送る。予測誤差ベクトルは，符号割当て部３５０で可変長符号化されて，符号化ストリームとして出力される。
【０００９】
図２０は，従来の動き補償を用いた動画像復号装置の例を示す。図中，４００は符号化ストリーム中の可変長符号を復号する可変長復号部，４１０は予測誤差ベクトルと予測ベクトルを加算する動きベクトル算出部，４２０は動きベクトルを記憶する動きベクトル記憶部，４３０は動きベクトルを復号済みの情報を用いて予測する動きベクトル予測処理部，４３１は動きベクトルの予測に用いる参照ブロックの動きベクトルを抽出する参照ブロック動きベクトル抽出処理部，４３２は参照ブロックから抽出した動きベクトル成分の中央値を算出する中央値算出処理部，４４０は算出された動きベクトルを用いて動き補償を行い，復号対象ブロックを復号して，復号された映像信号を出力する動き補償による復号部である。
【００１０】
符号化ストリームを入力すると，可変長復号部４００は，符号化ストリーム中の可変長符号を復号し，復号対象ブロックの量子化変換係数を動き補償による復号部４４０へ送り，予測誤差ベクトルを動きベクトル算出部４１０へ送る。動きベクトル算出部４１０は，予測誤差ベクトルと，復号済みの動きベクトルから求めた予測ベクトルとを加算し，動きベクトルを算出する。算出された動きベクトルは，動き補償による復号部４４０へ送られるとともに，動きベクトル記憶部４２０に格納される。動き補償による復号部４４０は，算出された動きベクトルを用いて動き補償を行い，復号対象ブロックを復号して，復号された映像信号を出力する。
【００１１】
動画像復号装置における動きベクトル予測処理部４３０の動きベクトルの予測処理は，図１９に示す動画像符号化装置における動きベクトル予測処理部３３０の処理と同様である。
【００１２】
図２１は，従来の他の動きベクトル予測処理部の例を示している。Ｈ．２６４符号化では，Ｂピクチャの符号化における符号化モードの一つとして，動き情報を符号化済みブロックの動き情報から予測生成し，動き情報の符号化を省略するダイレクト・モードと呼ばれる符号化モードが用いられている（非特許文献１，２参照）。
【００１３】
ダイレクト・モードには，主として空間方向の動き情報を利用する空間ダイレクト・モードと，主として時間方向の動き情報を利用する時間ダイレクト・モードがある。この時間ダイレクト・モードにおける動きベクトルの予測では，動きベクトル予測処理部５００は，次のように予測ベクトルを算出する。
【００１４】
アンカーブロック動きベクトル抽出処理部５０１が，アンカーピクチャで予測対象ブロックと同じ位置にあるブロック（これをアンカーブロックという）の動きベクトルｍｖＣｏｌを動きベクトル記憶部５１０から抽出する。アンカーピクチャとは，ダイレクト・モードの動きベクトルを求める際の動きベクトルを持つピクチャのことであり，通常は，表示順序で符号化対象ピクチャの後方の一番近い参照ピクチャである。
【００１５】
次に，外挿予測処理部５０２は，動きベクトルｍｖＣｏｌからＬ０の動きベクトルｍｖＬ０と，Ｌ１の動きベクトルｍｖＬ１を，Ｌ０の参照ピクチャと符号化対象ピクチャとアンカーピクチャとの時間間隔に応じて比例配分することにより算出する。なお，Ｂピクチャでは，任意の参照ピクチャから最大２枚のピクチャを選択できるので，この２枚をＬ０，Ｌ１として区別し，主として前方向予測に用いる予測をＬ０予測，主として後方向予測に用いる予測をＬ１予測と呼んでいる。
【００１６】
動きベクトル予測処理部５００は，外挿予測処理部５０２が算出した動きベクトルｍｖＬ０，ｍｖＬ１を予測ベクトルとして出力する。
【先行技術文献】
【非特許文献】
【００１７】
【非特許文献１】国際標準ＡＶＣ／Ｈ．２６４規格書，ISO/SC 29/WG 11 (MPEG) 14496-10:2004. Coding of audio visual objects.  Part 10: Advanced Video Coding 3rd Ed. International Standard, Nov. 2007.
【非特許文献２】角野，菊池，鈴木，“改訂三版Ｈ．２６４／ＡＶＣ教科書”，インプレスＲ＆Ｄ発行，2009, pp.128-130．
【発明の概要】
【発明が解決しようとする課題】
【００１８】
図１９で説明したような，従来の動きベクトルの符号化では，空間的な近傍ブロックの動きベクトルから予測ベクトルを生成し，その予測ベクトルと，符号化対象ブロックの動きベクトルとの差分ベクトルを符号化対象としている。
【００１９】
しかし，空間的な予測に限定しているため，時間方向の相関を利用できていない。そのため，時間方向の相関の観点から符号化効率が十分とは言えず，符号化効率の改善の余地が残っていると考えられる。
【００２０】
また，図２１で説明したＨ．２６４における時間ダイレクト・モードにおける符号化でも，符号化済みピクチャの特定のブロック（アンカーブロック）の動きベクトルｍｖＣｏｌから予測ベクトルを生成しているため，時間的な相関の利用が限定的であり，符号化効率の向上に改善の余地がある。すなわち，従来の時間ダイレクト・モードでは，あるブロックの動きベクトルを予測する場合に，他のフレームの同一空間位置（真裏にあたる位置）のブロック（ｃｏ−ｌｏｃａｔｅｄ  ｂｌｏｃｋ）の動きベクトルを利用している。しかし，ｃｏ−ｌｏｃａｔｅｄ  ｂｌｏｃｋの動きベクトルは，必ずしも予測対象ブロックの良い動きベクトルになる保証はないため，動きベクトルの予測性能に改善の余地を残している。
【００２１】
本発明は，上記課題の解決を図り，動きベクトルの予測効率を向上させ，動きベクトルの符号量を従来技術よりも削減することを目的とする。
【課題を解決するための手段】
【００２２】
本発明は，上記課題を解決するため，空間的な近傍ブロックの動きベクトルによる空間方向の相関だけではなく，時間方向の相関も利用して，双方向予測の予測方向ごとに予測ベクトルを生成し，生成した予測ベクトルの信頼度（動きベクトルの乖離度の逆数）に応じて，予測ベクトルとして使用するか否かを適応的に決める。
【００２３】
すなわち，本発明は，符号化または復号対象画像をブロックに分割し，各ブロックごとに動き補償を用いて画像を符号化または復号する動画像符号化方式における動きベクトル予測方法において，双方向予測における予測方向ごとに，符号化または復号済み画像を参照画像として，符号化または復号対象画像（フレームまたはピクチャともいう）における動きベクトルの予測対象となる予測対象ブロックの近傍にある複数個の符号化または復号済みブロックの動きベクトルをテンプレートとするテンプレートマッチングにより，前記参照画像における動きベクトルの乖離度が最小となる領域を求め，その領域から定まる動きベクトルを用いて予測ベクトルを生成するとともに，前記動きベクトルの乖離度を出力し，また，双方向予測における予測方向ごとに，前記乖離度と所定の閾値との大小比較により，前記予測ベクトルを，前記予測対象ブロックの予測ベクトルとして用いるか否かを適応的に決定することを特徴とする。
【００２４】
また，上記発明において，動きベクトルの乖離度として，前記複数個の符号化または復号済みブロックの動きベクトルと，前記参照画像内の配置関係が対応する複数個のブロックの動きベクトルとの，ベクトル成分ごとの差分絶対値和もしくは二乗誤差和，またはメディアンベクトルに対する誤差，または平均ベクトルに対する誤差を用いることを特徴とする。
【００２５】
また，上記発明において，予測ベクトルを生成する処理では，前記参照画像における動きベクトルの乖離度が最小となる領域によって定められる位置にある時間方向動きベクトル参照ブロックの動きベクトルを，予測ベクトルとして生成する，または，さらに前記複数個の符号化または復号済みブロックの中の所定の位置にある１または複数個のブロックを空間方向動きベクトル参照ブロックとして抽出し，前記時間方向動きベクトル参照ブロックの動きベクトルと前記空間方向動きベクトル参照ブロックの動きベクトルとから，各ベクトル成分ごとの中央値を算出し，算出した中央値によって予測ベクトルを生成することを特徴とする。
【００２６】
また，上記発明において，現在の量子化パラメータもしくはフレーム間隔，またはその双方の値に応じて閾値を設定する手段を設け，予測ベクトルを使用するか否かを閾値を用いて判定することを特徴とする。
【００２７】
また，上記発明において，予測ベクトルを生成する処理では，前記符号化または復号済み画像の参照画像として，予め定められた参照画像の選択規則に基づいて選択された複数枚の参照画像を用い，前記複数枚の参照画像において前記動きベクトルの乖離度が最小となる領域を持つ参照画像を求めることを特徴とする。
【００２８】
また，上記発明において，符号化時において予測ベクトルを生成する処理では，前記符号化または復号済み画像の参照画像として複数枚の参照画像を用い，その中でテンプレートマッチングの対象とする参照画像を指定する情報を付加情報として符号化情報に付加し，復号時において予測ベクトルを生成する処理では，前記付加情報で指定された参照画像において前記動きベクトルの乖離度が最小となる領域を求めることを特徴とする。
【００２９】
基本的な処理の概要は，以下のとおりである。
１．指定された符号化済みフレーム（以下，ＭＶ参照フレームという）内の符号化済み動きベクトルを用いて，予測ベクトルとしての有効性の尺度となる信頼度に基づき，符号化対象フレーム内の符号化対象ブロック（予測対象ブロック）の動きベクトルを予測し，さらにその予測ベクトルの信頼度に応じて，予測ベクトルとして使用するか否かを適応的に設定する。ここで，ＭＶ参照フレームは，動きベクトルのフレーム間予測において参照する予め定められたフレームであり，動き補償のための画素値のフレーム間予測において参照するフレームと同じフレームであっても，違うフレームであってもどちらでもよい。
【００３０】
以上の１．の処理は，例えば以下のように行われる。
１．１  予測対象ブロックに対して同一フレーム内の空間的な近傍ブロックの動きベクトルを抽出する。
１．２  上記近傍ブロックの動きベクトルを用いて，ＭＶ参照フレーム中の乖離度が最小となる領域を探索によって求める。
１．２．１  上記領域の探索において，空間的な近傍ブロック内の動きベクトルに基づくテンプレートマッチングを行う。
１．２．１．１  上記乖離度として，ベクトル成分ごとの差分絶対値和を用いる。
１．２．１．２  上記乖離度として，ベクトル成分ごとの二乗誤差和を用いる。
１．２．１．３  上記乖離度として，メディアンベクトルに対する誤差を用いる。
１．２．１．４  上記乖離度として，平均ベクトルに対する誤差を用いる。
１．３  上記領域内のブロックまたは領域に近接するブロックを予測に用いるＭＶ参照ブロック（時間方向ＭＶ参照ブロック）として抽出し，その動きベクトルから予測ベクトルを生成する。
１．３．１  時間方向ＭＶ参照ブロックの動きベクトルを予測ベクトルとする。
１．３．２  さらに，符号化対象フレーム内の上記近傍ブロック内のブロックから，その一部を予測に用いるＭＶ参照ブロック（空間方向ＭＶ参照ブロック）として抽出し，時間方向ＭＶ参照ブロックの動きベクトルと空間方向ＭＶ参照ブロックの動きベクトルのベクトル成分ごとの中央値から，予測ベクトルを生成する。
１．４  時間方向ＭＶ参照ブロックにおける動きベクトルの乖離度を，最小乖離度として抽出する。
１．５  最小乖離度が所定の閾値以下の場合にだけ，予測ベクトルを使用する。
１．６  以上の処理を双方向予測におるけ予測方向ごとに行い，各予測方向の予測ベクトルを生成する。
２．復号の場合にも同様に，復号済みフレーム（ＭＶ参照フレーム）内の復号済み動きベクトルを用いて，信頼度に基づき，復号対象フレーム内の復号対象ブロックの予測ベクトルを求める。
【００３１】
上記ＭＶ参照フレームとして，複数枚の参照フレームを利用することもできる。この場合に，符号化側でどの参照フレームを用いたかの情報を復号側で知り得ないようなケースでは，参照フレームを指定する情報を付加情報として符号化情報に付加する。
【発明の効果】
【００３２】
本発明によれば，双方向予測において符号化対象ブロックの動きベクトルを予測するにあたって，空間的な相関だけでなく，複数の参照ブロックの動きベクトルについて時間的な相関も利用して予測ベクトルを算出するので，動きベクトルの予測精度が向上し，その符号量を削減することができるようになり，動画像の符号化効率が向上する。
【図面の簡単な説明】
【００３３】
【図１】本発明を適用する動画像符号化装置の一構成例を示す図である。
【図２】本発明を適用する動画像復号装置の一構成例を示す図である。
【図３】動きベクトル予測処理部の構成例を示す図である。
【図４】予測モード判定処理部の処理フローチャートである。
【図５】第２の動きベクトル予測処理部の構成例を示す図である。
【図６】第２の予測モード判定処理部の処理フローチャートである。
【図７】予測ベクトル生成処理部の構成例を示す図である。
【図８】予測ベクトル使用判定処理部の処理フローチャートである。
【図９】閾値生成部の構成例を示す図である。
【図１０】時間方向動きベクトル予測処理部の構成例を示す図である。
【図１１】時間方向動きベクトル予測処理部の処理フローチャートである。
【図１２】参照ブロックの配置例を示す図である。
【図１３】参照ブロックの配置例を示す図である。
【図１４】参照ブロックの配置例３を用いた場合の探索の例を示す図である。
【図１５】参照ブロックの配置例１を用いた場合の予測ベクトル算出方法の例を説明する図である。
【図１６】参照ブロックの配置例２を用いた場合の予測ベクトル算出方法の例を説明する図である。
【図１７】参照ブロックの配置例３を用いた場合の予測ベクトル算出方法の例を説明する図である。
【図１８】ソフトウェアプログラムにより実現するときのハードウェア構成例を示す図である。
【図１９】従来の動画像符号化装置の例を示す図である。
【図２０】従来の動画像復号装置の例を示す図である。
【図２１】従来の動きベクトル予測処理部の一例を示す図である。
【発明を実施するための形態】
【００３４】
以下，図面を用いて，本発明の実施形態を詳細に説明する。
【００３５】
図１は，本発明を適用する動画像符号化装置の一構成例を示す図である。動画像符号化装置１において，本実施形態は，特に動きベクトル予測処理部１００の部分が従来技術と異なる部分であり，他の部分は，Ｈ．２６４その他のエンコーダとして用いられている従来の一般的な動画像符号化装置の構成と同様である。
【００３６】
動画像符号化装置１は，符号化対象の映像信号を入力し，入力映像信号のフレームをブロックに分割してブロックごとに符号化し，そのビットストリームを符号化ストリームとして出力する。
【００３７】
この符号化のため，予測残差信号算出部１０は，入力映像信号と動き補償部１９の出力である予測信号との差分を求め，それを予測残差信号として出力する。直交変換部１１は，予測残差信号に対して離散コサイン変換（ＤＣＴ）等の直交変換を行い，変換係数を出力する。量子化部１２は，変換係数を量子化し，その量子化された変換係数を出力する。符号割当て部１３は，量子化された変換係数をエントロピー符号化し，符号化ストリームとして出力する。
【００３８】
一方，量子化された変換係数は，逆量子化部１４にも入力され，ここで逆量子化される。逆直交変換部１５は，逆量子化部１４の出力である変換係数を逆直交変換し，予測残差復号信号を出力する。復号信号算出部１６では，この予測残差復号信号と動き補償部１９の出力である予測信号とを加算し，符号化した符号化対象ブロックの復号信号を生成する。この復号信号は，動き補償部１９における動き補償の参照画像として用いるために，フレームメモリ１７に格納される。
【００３９】
動き推定部１８は，符号化対象ブロックの映像信号について，フレームメモリ１７に格納された参照画像を参照して動き探索を行い，動きベクトルを算出する。この動きベクトルは，動き補償部１９および予測誤差ベクトル算出部１０２に出力され，また，動きベクトル記憶部１０１に格納される。動き補償部１９は，動き推定部１８が求めた動きベクトルを用いて，フレームメモリ１７内の画像を参照することにより，符号化対象ブロックの予測信号を出力する。
【００４０】
動き補償に用いた動きベクトルについても予測符号化するために，動きベクトル予測処理部１００によって符号化済みの情報を用いて動きベクトルの予測を行い，動き補償に用いた動きベクトルと，予測された動きベクトル（これを予測ベクトルという）との差分を，予測誤差ベクトル算出部１０２により算出して，結果を予測誤差ベクトルとして符号割当て部１３へ出力する。符号割当て部１３は，予測誤差ベクトルについてもエントロピ符号化により符号を割り当て符号化ストリームとして出力する。
【００４１】
図２は，本発明を適用する動画像復号装置の一構成例を示す図である。動画像復号装置２において，本実施形態は，特に動きベクトル予測処理部２００の部分が従来技術と異なる部分であり，他の部分は，Ｈ．２６４その他のデコーダとして用いられている従来の一般的な動画像復号装置の構成と同様である。
【００４２】
動画像復号装置２は，図１に示す動画像符号化装置１により符号化された符号化ストリームを入力して復号することにより復号画像の映像信号を出力する。
【００４３】
この復号のため，復号部２０は，符号化ストリームを入力し，復号対象ブロックの量子化変換係数をエントロピー復号するとともに，予測誤差ベクトルを復号する。逆量子化部２１は，量子化変換係数を入力し，それを逆量子化して復号変換係数を出力する。逆直交変換部２２は，復号変換係数に逆直交変換を施し，復号予測残差信号を出力する。復号信号算出部２３では，動き補償部２７で生成されたフレーム間予測信号と復号予測残差信号とを加算することで，復号対象ブロックの復号信号を生成する。この復号信号は，表示装置等の外部の装置に出力されるとともに，動き補償部２７における動き補償の参照画像として用いるために，フレームメモリ２４に格納される。
【００４４】
動きベクトル算出部２５は，復号部２０が復号した予測誤差ベクトルと，動きベクトル予測処理部２００が算出した予測ベクトルとを加算し，動き補償に用いる動きベクトルを算出する。この動きベクトルは，動きベクトル記憶部２６に記憶され，動き補償部２７に通知される。
【００４５】
動き補償部２７は，入力した動きベクトルをもとに動き補償を行い，フレームメモリ２４の参照画像を参照して，復号対象ブロックのフレーム間予測信号を生成する。このフレーム間予測信号は，復号信号算出部２３で復号予測残差信号に加算される。
【００４６】
動きベクトル予測処理部２００は，動きベクトル記憶部２６に記憶された復号済みの動きベクトルを用いて，動きベクトルの予測を行い，求めた予測ベクトルを動きベクトル算出部２５に出力する。
【００４７】
図３は，動きベクトル予測処理部の構成例を示す図である。図１に示す動画像符号化装置１における動きベクトル予測処理部１００と，図２に示す動画像復号装置２における動きベクトル予測処理部２００の内部構成は同様であり，例えば図３に示すように構成される。
【００４８】
動きベクトル予測処理部１００（または２００）は，第０予測ベクトル用の予測ベクトル生成処理部１１０−０と，第１予測ベクトル用の予測ベクトル生成処理部１１０−１と，予測モード判定処理部１２０とを有している。ここで，第０予測ベクトルとは，Ｈ．２６４符号化における，主として前方向予測に用いるＬ０の動きベクトルｍｖＬ０に相当するベクトルであり，第１予測ベクトルとは，Ｈ．２６４符号化における，主として後方向予測に用いるＬ１の動きベクトルｍｖＬ１に相当するベクトルである。
【００４９】
第０予測ベクトル用の予測ベクトル生成処理部１１０−０は，前方の第０参照フレームに対する動きベクトルを入力し，第０予測ベクトルまたはＮｕｌｌベクトルを出力する。第１予測ベクトル用の予測ベクトル生成処理部１１０−１は，後方の第１参照フレームに対する動きベクトルを入力し，第１予測ベクトルまたはＮｕｌｌベクトルを出力する。なお，Ｎｕｌｌベクトルは，ベクトルが無効であることを示す。
【００５０】
予測モード判定処理部１２０は，予測ベクトル生成処理部１１０−０の出力が第０予測ベクトルであるかＮｕｌｌベクトルであるかを判定するＮｕｌｌベクトル判定部１２１−０と，予測ベクトル生成処理部１１０−１の出力が第１予測ベクトルであるかＮｕｌｌベクトルであるかを判定するＮｕｌｌベクトル判定部１２１−１とを有している。
【００５１】
閾値生成部１３０は，Ｎｕｌｌベクトル判定部１２１で使用する閾値を生成して，予測モード判定処理部１２０に設定するものである。ここで，Ｎｕｌｌベクトル判定部１２１で使用する閾値を，所定の固定値とする場合には，閾値生成部１３０は不要である。
【００５２】
動きベクトル予測処理部１００（または２００）は，予測モード判定処理部１２０の判定結果に応じて，第０予測ベクトルもしくは第１予測ベクトル，またはその双方を出力する。なお，動きベクトル予測処理部１００（または２００）における動きベクトルの予測は，少なくとも第０予測ベクトルまたは第１予測ベクトルのいずれかがＮｕｌｌベクトルではないという保証を得て実施する。第０予測ベクトルおよび第１予測ベクトルの双方がＮｕｌｌベクトルの場合には，本モードによる処理は行わず，従来技術と同様な動きベクトルの予測方法を用いる。
【００５３】
図４は，図３に示す予測モード判定処理部の処理フローチャートである。予測モード判定処理部１２０は，まず予測ベクトル生成処理部１１０−１の出力がＮｕｌｌベクトルかどうかを判定する（ステップＳ１０）。Ｎｕｌｌベクトルの場合，第０予測ベクトルを用いた片方向予測のための動きベクトルとして，第０予測ベクトルを出力する（ステップＳ１１）。
【００５４】
予測ベクトル生成処理部１１０−１の出力がＮｕｌｌベクトルでない場合，次に，予測ベクトル生成処理部１１０−０の出力がＮｕｌｌベクトルかどうかを判定する（ステップＳ１２）。Ｎｕｌｌベクトルの場合，第１予測ベクトルを用いた片方向予測のための動きベクトルとして，第１予測ベクトルを出力する（ステップＳ１３）。それ以外の場合には，第０予測ベクトルおよび第１予測ベクトルを用いた両方向予測のための動きベクトルとして，第０予測ベクトルおよび第１予測ベクトルを出力する（ステップＳ１４）。
【００５５】
図５は，第２の動きベクトル予測処理部の構成例を示す図である。前述した図３の例では，動きベクトル予測処理部１００（または２００）が入力する第０参照フレームおよび第１参照フレームは，それぞれ１枚としているが，図５の例では，それぞれ複数枚の参照フレームを入力するものとしている。
【００５６】
第２の動きベクトル予測処理部１００（または２００）は，第０予測ベクトルもしくは第１予測ベクトル，またはその双方を出力する他に，それぞれの予測ベクトルの生成に用いた参照フレームを示す参照ピクチャ番号（Ｈ．２６４におけるＲｅｆ＿Ｉｄｘに相当）も出力する。
【００５７】
図６は，図５に示す予測モード判定処理部の処理フローチャートである。予測モード判定処理部１２０は，まず予測ベクトル生成処理部１１０−１の出力がＮｕｌｌベクトルかどうかを判定する（ステップＳ２０）。Ｎｕｌｌベクトルの場合，第０予測ベクトルを用いた片方向予測のための動きベクトルとして，第０予測ベクトルを出力するとともに，その第０予測ベクトルの生成時に参照したフレームの参照ピクチャ番号を出力する（ステップＳ２１）。
【００５８】
予測ベクトル生成処理部１１０−１の出力がＮｕｌｌベクトルでない場合，次に，予測ベクトル生成処理部１１０−０の出力がＮｕｌｌベクトルかどうかを判定する（ステップＳ２２）。Ｎｕｌｌベクトルの場合，第１予測ベクトルを用いた片方向予測のための動きベクトルとして，第１予測ベクトルを出力するとともに，その参照ピクチャ番号を出力する（ステップＳ２３）。それ以外の場合には，第０予測ベクトルおよび第１予測ベクトルを用いた両方向予測のための動きベクトルとして，第０予測ベクトルおよび第１予測ベクトルを出力し，さらにそれぞれの参照ピクチャ番号を出力する（ステップＳ２４）。
【００５９】
図７は，図３または図５に示す予測ベクトル生成処理部の構成例を示している。なお，第０予測ベクトル用も第１予測ベクトル用も同様に構成される。
【００６０】
予測ベクトル生成処理部１１０は，時間方向動きベクトル予測処理部１４０と，予測ベクトル使用判定処理部１５０を備えている。
【００６１】
時間方向動きベクトル予測処理部１４０は，参照フレームの動きベクトルの中で信頼度の高いものを探索し，その結果から予測ベクトルを出力するとともに，予測ベクトルとしての信頼性の尺度となる最小乖離度（詳しくは後述）を出力する。予測ベクトル使用判定処理部１５０は，乖離度判定処理部１５１によって時間方向動きベクトル予測処理部１４０の出力する最小乖離度を判定し，予測ベクトルを出力するかＮｕｌｌベクトルを出力するかを決定する。
【００６２】
図８は，予測ベクトル使用判定処理部１５０の処理フローチャートである。予測ベクトル使用判定処理部１５０では，乖離度判定処理部１５１によって時間方向動きベクトル予測処理部１４０の出力する最小乖離度が，設定された閾値より小さいかを判定する（ステップＳ３０）。最小乖離度が閾値より小さい場合には，時間方向動きベクトル予測処理部１４０の出力する予測ベクトルの信頼度が高いものとして，予測ベクトルを出力する（ステップＳ３１）。閾値より小さくない場合には，時間方向動きベクトル予測処理部１４０の出力する予測ベクトルの信頼度が高くないとして，Ｎｕｌｌベクトルを出力する（ステップＳ３２）。
【００６３】
図９は，閾値生成部の構成例を示す図である。図３または図５に示したＮｕｌｌベクトル判定部１２１では，閾値生成部１３０の設定した閾値によって最小乖離度の大小を判定する。この閾値は固定値としてもよいが，符号化の状況に応じて適応的に変更することもできる。
【００６４】
図９（Ａ）の例の場合，閾値生成部１３０における閾値算出部１３１は，予め量子化パラメータと閾値との関係を格納したルックアップテーブルを用い，現在の符号化時における量子化パラメータを入力して，その量子化パラメータからルックアップテーブルを参照することにより，Ｎｕｌｌベクトル判定部１２１で用いる閾値を決定し，Ｎｕｌｌベクトル判定部１２１に設定する。
【００６５】
図９（Ｂ）の例の場合，閾値生成部１３０における閾値算出部１３２は，予めフレーム間隔と閾値との関係を格納したルックアップテーブルを用い，フレーム間隔の情報を入力して，そのフレーム間隔からルックアップテーブルを参照することにより，Ｎｕｌｌベクトル判定部１２１で用いる閾値を決定し，Ｎｕｌｌベクトル判定部１２１に設定する。
【００６６】
図９（Ｃ）の例の場合，閾値生成部１３０における閾値算出部１３３は，予め量子化パラメータおよびフレーム間隔と，閾値との関係を格納したルックアップテーブルを用い，現在の符号化時における量子化パラメータとフレーム間隔の情報を入力して，その量子化パラメータおよびフレーム間隔からルックアップテーブルを参照することにより，Ｎｕｌｌベクトル判定部１２１で用いる閾値を決定し，Ｎｕｌｌベクトル判定部１２１に設定する。
【００６７】
図１０は，時間方向動きベクトル予測処理部の構成例を示す図である。
【００６８】
複製処理部１４１は，動きベクトル予測処理部１００（または２００）において，後続フレームの動きベクトルを予測する際に参照するために，動きベクトル記憶部１０１（または２６）に格納された動きベクトルを，参照フレーム動きベクトル記憶部１４２にコピーする処理を行う。このコピーは，各フレームの全ブロックに対する処理が終了したタイミングで行う。
【００６９】
参照ブロック動きベクトル抽出処理部１４３は，予測対象ブロックに対する参照ブロックを，予測対象ブロックの空間的近傍ブロックから抽出する処理を行う。どの位置の参照ブロックを抽出するかについては予め定めておく。あるいは，映像単位，フレーム単位またはスライス単位で適応的に定めることもできる。その具体例については，後述する。
【００７０】
乖離度最小化領域探索処理部１４４は，参照ブロックの動きベクトルに対して，最も類似している領域を符号化・復号済みフレーム（参照フレームと呼ぶ）内から探索する処理を行う。このための手段として，乖離度算出部１４４１，最小乖離度更新処理部１４４２，時間方向参照ブロック抽出処理部１４４３を備える。
【００７１】
乖離度算出部１４４１は，参照フレーム中の領域内の動きベクトルと参照ブロックの動きベクトルとの乖離度を算出する。乖離度が大きいほど，予測ベクトルとして用いる動きベクトルの信頼度が小さいことになる。乖離度の例としては，次のようなものがあるが，これらに限らず，符号化対象ブロックでの動きベクトル予測における有効性を定量的に表すことができるものであれば乖離度として他の尺度を用いてもよい。
〔乖離度の例１〕乖離度として，ベクトル成分ごとの差分絶対値和を用いる。
〔乖離度の例２〕乖離度として，ベクトル成分ごとの二乗誤差和を用いる。
〔乖離度の例３〕乖離度として，メディアンベクトルに対する差分絶対値または二乗誤差を用いる。
〔乖離度の例４〕乖離度として，平均ベクトルに対する差分絶対値または二乗誤差を用いる。
【００７２】
最小乖離度更新処理部１４４２は，乖離度算出部１４４１による乖離度の算出を，参照フレーム中の探索範囲内で行ったときに，それまでの探索で最小となる乖離度を与える領域を最小乖離度を更新しながら記憶し，最終的にその探索範囲において最小の乖離度を与える領域を求める。
【００７３】
時間方向参照ブロック抽出処理部１４４３は，最小乖離度更新処理部１４４２によって求めた参照フレームにおける最小の乖離度を与える領域に近接するブロックを，時間方向の参照ブロック（中央値算出用参照ブロックと呼ぶ）として抽出する処理を行う。
【００７４】
中央値算出処理部１４８は，参照ブロック動きベクトル抽出処理部１４３が動きベクトルを抽出した参照ブロック（乖離度算出に使用した参照ブロック）のうち，例えば予測対象ブロックの上端に接するブロックと，左端に接するブロックとを中央値算出用参照ブロックとして，これらの動きベクトルと，時間方向参照ブロック抽出処理部１４４３が抽出した中央値算出用参照ブロックの動きベクトルとの中央値を算出し，結果を予測ベクトルとして出力する。
【００７５】
動きベクトル判定部１４５は，乖離度最小化領域探索処理部１４４の処理を実施するか実施しないかを判定する。中央値算出処理部１４８では，例えば，同一フレーム内の２つの中央値算出用参照ブロックから抽出した２つの動きベクトルと，時間方向の参照ブロックから抽出した中央値算出用参照ブロック内の１つの動きベクトルに対して，成分ごとに中央値を算出し，予測ベクトルとすることから，もし，同一フレーム内の中央値算出用参照ブロックから抽出した２つの動きベクトルが同一の場合，予測ベクトルは，同一フレーム内の中央値算出用参照ブロックにおける動きベクトルとして，一意に定まる。このため，同一フレーム内の中央値算出用参照ブロック内の動きベクトルが同一という条件を満たす場合，乖離度最小化領域探索処理部１４４の処理は省略することができる。
【００７６】
そこで，動きベクトル判定部１４５が上記条件が満たされることを検出すると，スイッチ部１４６を操作することにより，乖離度最小化領域探索処理部１４４の処理は省略し，参照ブロック動きベクトル抽出処理部１４３で抽出した参照ブロックの動きベクトルだけを中央値算出処理部１４８の入力とする。また，スイッチ部１４７についても，最小乖離度として出力する値を，例えば０または予め定めた特定の値を出力するように切り替える。
【００７７】
図１１は，時間方向動きベクトル予測処理部の処理フローチャートである。
【００７８】
［ステップＳ４０の処理］
ステップＳ４０では，参照ブロック動きベクトル抽出処理部１４３が，予測対象ブロックに対する参照ブロックの動きベクトルを，予測対象ブロックの空間的近傍ブロックから抽出する。
【００７９】
予測対象ブロックの空間的近傍ブロックである参照ブロックの配置例を，図１２に示す。この例では，参照ブロックの配置例として，図１２（Ａ）に示す配置例１と，図１２（Ｂ）に示す配置例２と，図１２（Ｃ）に示す配置例３があり，このいずれかを，所定の設定値に従って用いるものとする。なお，これらの配置例のどれを用いるかを，適応的に選択するようにしてもよく，その場合には，映像単位，フレーム単位，スライス単位というような符号化単位ごとに，どの配置例を用いて符号化するかを示す情報を，符号化付加情報として付加する。
【００８０】
参照ブロックの配置例１は，予測対象ブロックの上端に接するブロックと，右斜め上のブロックと，左端に接するブロックの計３個の符号化済みブロックを参照ブロックとする。ただし，予測対象ブロックがフレームの右端に存在する場合には，右斜め上のブロックは選べないので，例外として，代わりに左斜め上のブロックを参照ブロックとする。すなわち，配置例３に変更する。
【００８１】
参照ブロックの配置例２は，予測対象ブロックの左斜め上のブロックと，上端に接するブロックと，右斜め上のブロックと，左端に接するブロックの計４個の符号化済みブロックを参照ブロックとする。ただし，予測対象ブロックがフレームの右端に存在する場合には，右斜め上のブロックは選べないので，例外として，右斜め上のブロックを加えない３ブロックとする。すなわち，配置例３に変更する。
【００８２】
参照ブロックの配置例３は，予測対象ブロックの左斜め上のブロックと，上端に接するブロックと，左端に接するブロックの計３個の符号化済みブロックを参照ブロックとする。
【００８３】
これらの参照ブロックの配置例１〜３には，さらに符号化状況に応じて例外がある。例えば，参照ブロックの候補がイントラマクロブロックの場合等には，動きベクトルを持たないため，参照できないからである。その例を，図１３に示す。
【００８４】
図１３（Ａ）は，参照ブロックの配置例１において，右斜め上のブロックＢ３が参照不可で，左斜め上のブロックＢ１が参照可能な場合の例であり，この場合には，ブロックＢ３の代わりにブロックＢ１を参照ブロックとする。
【００８５】
また，図１３（Ｂ）に示す参照ブロックの配置例２において，例えばブロックＢ１が参照不可の場合，参照ブロックとして配置例１の配置を採用する。また，ブロックＢ３が参照不可の場合，配置例３の配置を採用する。
【００８６】
また，図１３（Ｃ）に示す参照ブロックの配置例３において，例えばブロックＢ１が参照不可で，ブロックＢ３が参照可能な場合には，ブロックＢ１の代わりにブロックＢ３を参照ブロックに加え，配置例１の配置を採用する。
【００８７】
なお，例えば，複数の参照ブロックが参照不可であるような場合には，本モードによる動きベクトルの予測は行わないで，従来技術と同様な動きベクトルの符号化を行う。
【００８８】
［ステップＳ４１］
ステップＳ４１では，動きベクトル判定部１４５により，ステップＳ４２のテンプレートマッチングによる動きベクトル予測処理をスキップするかどうかの判定を行う。例えば，後述する図１５〜図１７に示す例において，もし２個の空間方向の中央値算出用参照ブロックＢS1，ＢS2の動きベクトルが同一であれば，中央値算出処理部１４８での算出結果の中央値は，この空間方向の中央値算出用参照ブロックＢS1，ＢS2の動きベクトルとなる。したがって，ステップＳ４２の処理によって時間方向の中央値算出用参照ブロックを求める必要はなくなるので，ステップＳ４２の処理をスキップする。これにより，処理が高速化されることになる。
【００８９】
［ステップＳ４２の処理］
ステップＳ４２では，乖離度最小化領域探索処理部１４４は，テンプレートマッチングによる動きベクトル予測処理を行う。すなわち，ステップＳ４０で抽出した参照ブロックの動きベクトルに対して，最も類似している領域を参照フレーム内から探索する処理を行う。具体的には，以下のステップＳ４２１〜Ｓ４２３を実行する。
【００９０】
［ステップＳ４２１の処理］
ステップＳ４２１では，乖離度算出部１４４１および最小乖離度更新処理部１４４２が，参照ブロック（予測対象ブロックの近傍ブロック）の動きベクトルを用いて，参照フレーム中の乖離度が最小となる領域Ｒを求める。
【００９１】
図１４は，参照ブロックの配置例３を用いた場合の探索の例を示している。符号化対象フレームを第ｔフレームとする。参照フレームは，予測方向に応じて第ｔ−１フレームまたは第ｔ＋１フレームである。最小乖離度の動きベクトルの探索では，第ｔフレームの３個の参照ブロックの位置関係を保ったまま，第ｔ−１フレームまたは第ｔ＋１フレームにおける３ブロックの動きベクトルの乖離度が最小となる領域Ｒを探索する。
【００９２】
例えば，第ｔフレームの３個の参照ブロックの動きベクトルを，
ｍｖ1 ＝（ｘ1 ，ｙ1 ）
ｍｖ2 ＝（ｘ2 ，ｙ2 ）
ｍｖ3 ＝（ｘ3 ，ｙ3 ）
とし，第ｔ−１フレームまたは第ｔ＋１フレームの探索範囲における３個のブロックの動きベクトルを，
ｍｖj1＝（ｘj1，ｙj1）
ｍｖj2＝（ｘj2，ｙj2）
ｍｖj3＝（ｘj3，ｙj3）
とする。
【００９３】
乖離度として，例えばベクトル成分ごとの差分絶対値和を用いるものとすると，乖離度は，次式によって算出される。
【００９４】
乖離度＝｜ｘ1 −ｘj1｜＋｜ｘ2 −ｘj2｜＋｜ｘ3 −ｘj3｜
＋｜ｙ1 −ｙj1｜＋｜ｙ2 −ｙj2｜＋｜ｙ3 −ｙj3｜
また，乖離度として，例えばベクトル成分ごとの二乗誤差和を用いるものとすると，乖離度は，次式によって算出される。
【００９５】
乖離度＝（ｘ1 −ｘj1）2 ＋（ｘ2 −ｘj2）2 ＋（ｘ3 −ｘj3）2 
＋（ｙ1 −ｙj1）2 ＋（ｙ2 −ｙj2）2 ＋（ｙ3 −ｙj3）2 
他にも，乖離度として，メディアンベクトルや平均ベクトルに対する差分絶対値または二乗誤差等を用いることができる。
【００９６】
この乖離度の算出を，第ｔ−１フレームまたは第ｔ＋１フレームにおいて３個のブロック全体を１ブロックずつずらしながら繰り返し，最終的に乖離度が最小となる領域Ｒを求める。
【００９７】
なお，複数枚のフレームを参照フレームとする場合には，各参照フレームについて同様に乖離度が最小となる領域Ｒを求めて，それらの中でさらに乖離度が最小となる参照フレームを求める。そのときの乖離度とその参照ピクチャ番号を記憶しておく。
【００９８】
［ステップＳ４２２の処理］
ステップＳ４２２では，時間方向参照ブロック抽出処理部１４４３が，ステップＳ４２１で求めた領域Ｒの近傍ブロック，詳しくは参照フレーム（第ｔ−１または第ｔ＋１フレーム）における領域Ｒに対して，符号化対象フレーム（第ｔフレーム）の参照ブロックに対する予測対象ブロックの位置と相対的に同じ位置にあるブロックを，時間方向の参照ブロック（中央値算出用参照ブロックと呼ぶ）として抽出する。
【００９９】
図１５，図１６，図１７は，それぞれ参照ブロックの配置例１，配置例２，配置例３を用いた場合の予測ベクトル算出方法の例を示している。
【０１００】
例えば参照ブロックの配置例１において，第ｔ−１フレーム（または第ｔ＋１フレーム）中で乖離度が最小となる領域Ｒが，図１５（Ａ）に示すように求まったとすると，図１５（Ｂ）に示すブロックＢt が，この時間方向の中央値算出用参照ブロックとなる。
【０１０１】
参照ブロックの配置例２，３の場合にも，それぞれ図１６，図１７に示すように，時間方向の中央値算出用参照ブロックＢt が決定される。
【０１０２】
［ステップＳ４２３の処理］
ステップＳ４２３では，参照ブロック動きベクトル抽出処理部１４３が動きベクトルを抽出した参照ブロック（乖離度算出に使用した参照ブロック）のうち，予測対象ブロックの上端に接するブロックと，左端に接するブロックとを空間方向の中央値算出用参照ブロックとして抽出する。
【０１０３】
この例では，図１５〜図１７の（Ｂ）に示す第ｔフレームの２つのブロックＢS1，ＢS2が，空間方向の中央値算出用参照ブロックとして選ばれることになる。
【０１０４】
［ステップＳ４３の処理］
ステップＳ４３では，中央値算出処理部１４８が，１個の時間方向の中央値算出用参照ブロックＢt と，２個の空間方向の中央値算出用参照ブロックＢS1，ＢS2の動きベクトルの各成分ごとの中央値から，予測ベクトルを算出する。なお，ステップＳ４２の処理をスキップした場合には，空間方向の中央値算出用参照ブロックＢS1，ＢS2の動きベクトルを予測ベクトルとする。
【０１０５】
［ステップＳ４４の処理］
ステップＳ４４では，中央値算出処理部１４８が算出した予測ベクトルを出力するとともに，動きベクトルの最小乖離度を出力する。
【０１０６】
以上の例では，時間方向の中央値算出用参照ブロックとして１個，空間方向の中央値算出用参照ブロックとして２個を用いる例を説明したが，それ以上の個数のブロックを中央値算出用参照ブロックとして用いるように定めてもよい。
【０１０７】
この例では，第ｔフレームの符号化対象フレームに対して，符号化済みフレームの参照フレームとして，１フレーム前の第ｔ−１フレームまたは１フレーム後の第ｔ＋１フレームを用いる例を説明した。しかし，これに限らず，参照フレームとして用いるフレームが，符号化装置側と復号装置側とで，予め定められた規則に基づき共通に決定できるフレームであれば，参照フレームを指定するための新たな符号化付加情報の追加なしに本方式を用いることができる。例えば，Ｈ．２６４符号化における双方向予測のフレーム間予測で参照したフレームを，本実施例で動きベクトルの予測に用いる参照フレームとして定めてもよい。
【０１０８】
エンコーダの定めた参照フレームの選択の規則に基づく例としては，次のようなケースがある。例えばＩフレーム，Ｂ１フレーム，Ｂ２フレーム，ＰフレームのＧＯＰ構造で，Ｉ→Ｐ→Ｂ１→Ｂ２の順に符号化される場合，Ｂ１のフレームに対しては，参照フレームとしてＩフレームとＰフレームが選択される。Ｂ２のフレームに対しては，参照フレームとしてＩフレームとＰフレームが選択される場合もあるし，Ｂ１フレームとＰフレームが選択される場合もある。
【０１０９】
また，予め定められた複数枚の符号化済みフレームを，前方向および後方向についてそれぞれ参照フレームリストとして保存しておき，複数の参照フレームのそれぞれに対して乖離度最小化領域探索処理部１４４による処理を行い，その中で乖離度が最小となる領域を持つ参照フレームから，時間方向の中央値算出用参照ブロックを抽出するようにしてもよい。
【０１１０】
また，予め定められた複数枚の符号化済みフレームでなく，任意の複数枚の符号化済みフレームの中から時間方向の中央値算出用参照ブロックを抽出する場合には，図５および図６で説明したように，参照ピクチャ番号を参照フレームを指定する付加情報として符号化して，符号化装置側から復号装置側へ通知する。復号装置では，参照フレームを指定する情報が付加された場合には，その参照フレームについてだけ，乖離度が最小となる領域を探索する。
【０１１１】
また，複数枚の符号化済みフレームの中から時間方向の中央値算出用参照ブロックを抽出する場合であって，例えば処理の高速化のために特定の符号化済みフレームだけをテンプレートマッチングの対象とする場合に，その符号化済みフレームを指定する情報を符号化付加情報としてもよい。
【０１１２】
図１０の時間方向動きベクトル予測処理部１４０では，乖離度最小化領域探索処理部１４４で求めた時間方向の予測ベクトルと，参照ブロック動きベクトル抽出処理部１４３で抽出した空間方向の予測ベクトルとのベクトル成分ごとの中央値によって最終的に出力する予測ベクトルを算出した。
【０１１３】
ここで，時間方向動きベクトル予測処理部１４０の構成を次のように変更することもできる。最終的に出力する予測ベクトルを，時間方向の予測ベクトルと空間方向の予測ベクトルとのベクトル成分ごとの中央値で決定する代わりに，空間方向の予測ベクトルを用いないで，乖離度最小化領域探索処理部１４４で算出した時間方向の予測ベクトルとする。この構成例の場合，図１０に示す時間方向動きベクトル予測処理部１４０において，動きベクトル判定部１４５，スイッチ部１４６，１４７および中央値算出処理部１４８が省略された構成となり，最小乖離度と予測ベクトルは，乖離度最小化領域探索処理部１４４から出力される。
【０１１４】
また，この構成例の場合の処理フローチャートは，図１１において，ステップＳ４１と，ステップＳ４２３と，ステップＳ４３が省かれたものとなる。
【０１１５】
以上の処理によって算出された予測ベクトルは，図１に示す動画像符号化装置１において，動き推定部１８によって算出された符号化対象ブロックの実際の動きベクトルとの差分である予測誤差ベクトルを算出するために用いられる。
【０１１６】
また，このようにして算出された予測ベクトルを，動き補償部１９における動き補償で用いる動きベクトルとすることもできる。すなわち，予測誤差ベクトルを０として処理することもできる。この場合，予測誤差ベクトルの符号化のための符号量は発生しない。本例で算出した予測ベクトルにより動き補償を行ったことを示すモード情報を符号化情報として付加してもよい。
【０１１７】
以上の動きベクトル予測を用いる動画像符号化または動画像復号の処理は，コンピュータとソフトウェアプログラムとによっても実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも，ネットワークを通して提供することも可能である。
【０１１８】
図１８は，動画像符号化装置をソフトウェアプログラムを用いて実現するときのハードウェア構成例を示している。
【０１１９】
本システムは，プログラムを実行するＣＰＵ５０と，ＣＰＵ５０がアクセスするプログラムやデータが格納されるＲＡＭ等のメモリ５１と，カメラ等からの符号化対象の映像信号を入力する映像信号入力部５２（ディスク装置等による映像信号を記憶する記憶部でもよい）と，図１等で説明した処理をＣＰＵ５０に実行させるソフトウェアプログラムである動画像符号化プログラム５３１が格納されたプログラム記憶装置５３と，ＣＰＵ５０がメモリ５１にロードされた動画像符号化プログラム５３１を実行することにより生成された符号化ストリームを，例えばネットワークを介して出力する符号化ストリーム出力部５４（ディスク装置等による符号化ストリームを記憶する記憶部でもよい）とが，バスで接続された構成になっている。
【０１２０】
動画像符号化プログラム５３１は，本実施例で説明した処理によって動きベクトルを予測する動きベクトル予測プログラム５３２を含んでいる。
【０１２１】
動画像復号装置をソフトウェアプログラムを用いて実現する場合にも，同様なハードウェア構成によって実現することができる。
【符号の説明】
【０１２２】
１    動画像符号化装置
２    動画像復号装置
１０  予測残差信号算出部
１１  直交変換部
１２  量子化部
１３  符号割当て部
１４，２１  逆量子化部
１５，２２  逆直交変換部
１６  復号信号算出部
１７，２４  フレームメモリ
１８  動き推定部
１９，２７  動き補償部
１００，２００  動きベクトル予測処理部
１０１，２６  動きベクトル記憶部
１０２  予測誤差ベクトル算出部
２０  復号部
２３  復号信号算出部
２５  動きベクトル算出部
１１０  予測ベクトル生成処理部
１２０  予測モード判定処理部
１２１  Ｎｕｌｌベクトル判定部
１３０  閾値生成部
１４０  時間方向動きベクトル予測処理部
１４１  複製処理部
１４２  参照フレーム動きベクトル記憶部
１４３  参照ブロック動きベクトル抽出処理部
１４４  乖離度最小化領域探索処理部
１４４１  乖離度算出部
１４４２  最小乖離度更新処理部
１４４３  時間方向参照ブロック抽出処理部
１４５  動きベクトル判定部
１４６，１４７  スイッチ部
１４８  中央値算出処理部
【図１】
2011166207.tif 000003
【図２】
2011166207.tif 000004
【図３】
2011166207.tif 000005
【図４】
2011166207.tif 000006
【図５】
2011166207.tif 000007
【図６】
2011166207.tif 000008
【図７】
2011166207.tif 000009
【図８】
2011166207.tif 000010
【図９】
2011166207.tif 000011
【図１０】
2011166207.tif 000012
【図１１】
2011166207.tif 000013
【図１２】
2011166207.tif 000014
【図１３】
2011166207.tif 000015
【図１４】
2011166207.tif 000016
【図１５】
2011166207.tif 000017
【図１６】
2011166207.tif 000018
【図１７】
2011166207.tif 000019
【図１８】
2011166207.tif 000020
【図１９】
2011166207.tif 000021
【図２０】
2011166207.tif 000022
【図２１】
2011166207.tif 000023