(57)【要約】  既に符号化済みの複数のフレームから、参照ベクトル対象フレーム及び参照フレームを選択し、各フレームを指定する情報を符号化し、符号化対象領域に対して、前記参照ベクトル対象フレーム上の領域を示す参照ベクトルを設定し、該参照ベクトルを符号化し、前記参照ベクトルによって示される参照ベクトル対象フレーム上の参照ベクトル対象領域の画像情報と前記参照フレームとを用いて対応領域の探索を行い、その結果に基づいて前記参照フレーム上の参照領域を設定し、前記参照領域に対応する参照フレームの画像情報を用いて予測画像を生成し、符号化対象領域の画像情報と前記予測画像との差分情報を符号化する動画像符号化方法。
2008053758.tif 000002
【特許請求の範囲】
【請求項１】
画像全体を領域分割して、領域毎に、既に符号化済みの複数のフレームの画像情報から予測画像を生成して、符号化対象フレーム内の符号化対象領域の画像と予測画像との差分情報を符号化することで動画像を符号化する動画像符号化方法であって、
既に符号化済みの複数のフレームから、参照ベクトル対象フレームを選択する参照ベクトル対象フレーム選択ステップと、
前記参照ベクトル対象フレームを指定する情報を符号化する参照ベクトル対象フレーム指定情報符号化ステップと、
符号化対象領域に対して、前記参照ベクトル対象フレーム上の領域を示す参照ベクトルを設定する参照ベクトル設定ステップと、
前記参照ベクトルを符号化する参照ベクトル符号化ステップと、
既に符号化済みの複数のフレームから、参照フレームを選択する参照フレーム選択ステップと、
前記参照フレームを指定する情報を符号化する参照フレーム指定情報符号化ステップと、
前記参照ベクトルによって示される参照ベクトル対象フレーム上の参照ベクトル対象領域の画像情報と前記参照フレームとを用いて対応領域の探索を行い、その探索結果に基づいて前記参照フレーム上の参照領域を設定する参照フレーム領域設定ステップと、
前記参照領域に対応する参照フレームの画像情報を用いて、予測画像を生成する予測画像生成ステップと、
符号化対象領域の画像情報と前記生成した予測画像との差分情報を符号化する差分情報符号化ステップと
を有する動画像符号化方法。
【請求項２】
請求項１に記載の動画像符号化方法において、
前記予測画像生成ステップでは、前記参照領域の画像情報と前記参照ベクトル対象領域の画像情報とから、予測画像を生成する動画像符号化方法。
【請求項３】
請求項１に記載の動画像符号化方法において、
前記予測画像生成ステップでは、前記参照領域の画像情報から予測画像を生成するのか、前記参照領域の画像情報と前記参照ベクトル対象領域の画像情報とから予測画像を生成するのかを選択して、その選択した生成法を用いて予測画像を生成し、
さらに、前記選択した生成法を指定する情報を符号化する予測画像生成法指定情報符号化ステップを有する動画像符号化方法。
【請求項４】
請求項１に記載の動画像符号化方法において、
前記参照フレーム選択ステップにおいて前記参照ベクトル対象領域を符号化する際に用いた参照フレームを前記参照フレームとして選択する場合には、前記参照フレーム領域設定ステップでは、前記参照ベクトル対象領域を符号化する際に用いた参照領域を、前記参照領域として設定する動画像符号化方法。
【請求項５】
請求項１に記載の動画像符号化方法において、
前記参照フレーム選択ステップにおいて前記参照ベクトル対象領域を符号化する際に用いた参照ベクトル対象フレームを前記参照フレームとして選択する場合には、前記参照フレーム領域設定ステップでは、前記参照ベクトル対象領域を符号化する際に用いた参照ベクトル対象領域を、前記参照領域として設定する動画像符号化方法。
【請求項６】
請求項１に記載の動画像符号化方法において、
前記参照フレーム選択ステップにおいて、符号化対象フレームとの間に、前記参照ベクトル対象領域を符号化する際に用いた参照ベクトル対象フレームと符号化対象領域に対して設定した参照ベクトル対象フレームとの時刻情報及び視点情報の関係に等しい関係を持つ既に符号化済みのフレームを前記参照フレームとして選択する場合には、前記参照フレーム領域設定ステップでは、前記符号化対象領域を始点として、前記参照ベクトル対象領域を符号化する際に用いた参照ベクトルと同じ向きと大きさとを持つベクトルによって示される前記選択した参照フレーム上の領域を、前記参照領域として設定する動画像符号化方法。
【請求項７】
請求項１に記載の動画像符号化方法において、
前記参照フレーム選択ステップにおいて、符号化対象フレームとの間に、前記参照ベクトル対象領域を符号化する際に用いた参照フレームと符号化対象領域に対して設定した参照ベクトル対象フレームとの時刻情報及び視点情報の関係に等しい関係を持つ既に符号化済みのフレームを前記参照フレームとして選択する場合には、前記参照フレーム領域設定ステップでは、前記符号化対象領域を始点として、前記参照ベクトル対象領域と前記参照ベクトル対象領域を符号化する際に用いた参照領域との対応関係を示すベクトルと同じ向きと大きさとを持つベクトルによって示される前記選択した参照フレーム上の領域を、前記参照領域として設定する動画像符号化方法。
【請求項８】
請求項１に記載の動画像符号化方法において、
前記参照ベクトル対象フレームや前記参照フレームとは異なる既に符号化済みのフレームを中間フレームとして設定する中間フレーム設定ステップを有し、
前記参照フレーム領域設定ステップでは、前記参照ベクトル対象領域の情報を用いて前記中間フレーム上の領域であるところの中間領域を設定し、その中間領域の情報、あるいは、その中間領域の情報及び前記参照ベクトル対象領域の情報を用いて前記参照領域を設定する動画像符号化方法。
【請求項９】
請求項８に記載の動画像符号化方法において、
前記中間フレーム設定ステップでは、前記参照ベクトル対象フレームとの時刻及び視点情報の関係が、前記符号化対象フレームと前記参照フレームとの時刻及び視点情報の関係と同じである既に符号化済みのフレームを中間フレームとして設定し、
前記予測画像生成ステップでは、前記参照領域の画像情報と前記中間領域の画像情報と前記参照ベクトル対象領域の画像情報とから、予測画像を生成する動画像符号化方法。
【請求項１０】
請求項８に記載の動画像符号化方法において、
前記中間フレーム設定ステップでは、前記参照ベクトル対象フレームとの時刻及び視点情報の関係が、前記符号化対象フレームと前記参照フレームとの時刻及び視点情報の関係と同じである既に符号化済みのフレームを中間フレームとして設定し、
前記予測画像生成ステップでは、前記参照領域の画像情報から予測画像を生成するのか、前記参照領域の画像情報と前記参照ベクトル対象領域の画像情報とから予測画像を生成するのか、前記参照領域の画像情報と前記中間領域の画像情報と前記参照ベクトル対象領域の画像情報とから予測画像を生成するのかを選択して、その選択した生成法を用いて予測画像を生成し、
さらに、前記選択した生成法を指定する情報を符号化する予測画像生成法指定情報符号化ステップを有する動画像符号化方法。
【請求項１１】
請求項３又は１０に記載の動画像符号化方法において、
前記参照フレーム指定情報符号化ステップでは、前記参照ベクトル対象領域の符号化データを用いて、参照フレーム指定情報を符号化する際の符号語テーブルを切り替え、
前記予測画像生成法指定情報符号化ステップでは、前記参照ベクトル対象領域の符号化データ、前記参照フレーム、及び前記参照ベクトル対象フレームの少なくとも１つに応じて、予測画像生成法指定情報を符号化する際の符号語テーブルを切り替える動画像符号化方法。
【請求項１２】
画像全体を領域分割して、領域毎に、既に復号済みの複数のフレームの画像情報から予測画像を生成して、予測画像と復号対象フレーム内の復号対象領域の画像との差分情報を復号することで動画像を復号する動画像復号方法であって、
符号化データから、既に復号済みの複数のフレームの中から選択される参照ベクトル対象フレームを指定する情報を復号する参照ベクトル対象フレーム指定情報復号ステップと、
符号化データから、復号対象領域に対して設定される前記参照ベクトル対象フレーム上の領域を示す参照ベクトルを復号する参照ベクトル復号ステップと、
符号化データから、既に復号済みの複数のフレームの中から選択される参照フレームを指定する情報を復号する参照フレーム指定情報復号ステップと、
前記参照ベクトルによって示される参照ベクトル対象フレーム上の参照ベクトル対象領域の画像情報と前記参照フレームとを用いて対応領域の探索を行い、その探索結果に基づいて前記参照フレーム上の参照領域を設定する参照フレーム領域設定ステップと、
前記参照領域に対応する参照フレームの画像情報を用いて、予測画像を生成する予測画像生成ステップと
を有する動画像復号方法。
【請求項１３】
請求項１２に記載の動画像復号方法において、
前記予測画像生成ステップでは、前記参照領域の画像情報と前記参照ベクトル対象領域の画像情報とから、予測画像を生成する動画像復号方法。
【請求項１４】
請求項１２に記載の動画像復号方法において、
符号化データから、前記参照領域の画像情報から予測画像を生成するのか、前記参照領域の画像情報と前記参照ベクトル対象領域の画像情報とから予測画像を生成するのかを指定する情報を復号する予測画像生成法指定情報復号ステップを有し、
前記予測画像生成ステップでは、前記復号した情報の指定する生成法を用いて予測画像を生成する動画像復号方法。
【請求項１５】
請求項１２に記載の動画像復号方法において、
前記参照ベクトル対象領域を復号する際に復号された参照フレーム指定情報の示すフレームが、前記参照フレームと等しい場合、前記参照フレーム領域設定ステップでは、前記参照ベクトル対象領域を復号する際に用いた参照領域を、前記参照領域として設定する動画像復号方法。
【請求項１６】
請求項１２に記載の動画像復号方法において、
前記参照ベクトル対象領域を復号する際に復号された参照ベクトル対象フレーム指定情報の示すフレームが前記参照フレームと等しい場合、前記参照フレーム領域設定ステップでは、前記参照ベクトル対象領域を復号する際に用いた参照ベクトル対象領域を、前記参照領域として設定する動画像復号方法。
【請求項１７】
請求項１２に記載の動画像復号方法において、
前記参照ベクトル対象フレームと前記参照ベクトル対象領域を復号する際に復号された参照ベクトル対象フレーム指定情報の示すフレームとの時刻情報及び視点情報の関係が、前記復号対象フレームと前記参照フレームとの時刻情報及び視点情報の関係に等しい場合、前記参照フレーム領域設定ステップでは、前記復号対象領域を始点として、前記参照ベクトル対象領域を復号する際に用いた参照ベクトルと同じ向きと大きさとを持つベクトルによって示される参照フレーム上の領域を、前記参照領域として設定する動画像復号方法。
【請求項１８】
請求項１２に記載の動画像復号方法において、
前記参照ベクトル対象フレームと前記参照ベクトル対象領域を復号する際に復号された参照フレーム指定情報の示すフレームとの時刻情報及び視点情報の関係が、前記復号対象フレームと前記参照フレームとの時刻情報及び視点情報の関係に等しい場合、前記参照フレーム領域設定ステップでは、前記復号対象領域を始点として、前記参照ベクトル対象領域と前記参照ベクトル対象領域を復号する際に用いた参照領域との対応関係を示すベクトルと同じ向きと大きさとを持つベクトルによって示される参照フレーム上の領域を、前記参照領域として設定する動画像復号方法。
【請求項１９】
請求項１２に記載の動画像復号方法において、
前記参照ベクトル対象フレームや前記参照フレームとは異なる既に復号済みのフレームを中間フレームとして設定する中間フレーム設定ステップを有し、
前記参照フレーム領域設定ステップでは、前記参照ベクトル対象領域の情報を用いて前記中間フレーム上の領域であるところの中間領域を設定し、その中間領域の情報、あるいは、その中間領域の情報及び前記参照ベクトル対象領域の情報を用いて前記参照領域を設定する動画像復号方法。
【請求項２０】
請求項１９に記載の動画像復号方法において、
前記中間フレーム設定ステップでは、前記参照ベクトル対象フレームとの時刻及び視点情報の関係が、前記復号対象フレームと前記参照フレームとの時刻及び視点情報の関係と同じである既に復号済のフレームを中間フレームとして設定し、
前記予測画像生成ステップでは、前記参照領域の画像情報と前記中間領域の画像情報と前記参照ベクトル対象領域の画像情報とから、予測画像を生成する動画像復号方法。
【請求項２１】
請求項１９に記載の動画像復号方法において、
前記中間フレーム設定ステップでは、前記参照ベクトル対象フレームとの時刻及び視点情報の関係が、前記復号対象フレームと前記参照フレームとの時刻及び視点情報の関係と同じである既に復号済のフレームを中間フレームとして設定し、
符号化データから、前記参照領域の画像情報から予測画像を生成するのか、前記参照領域の画像情報と前記参照ベクトル対象領域の画像情報とから予測画像を生成するのか、前記参照領域の画像情報と前記中間領域の画像情報と前記参照ベクトル対象領域の画像情報とから予測画像を生成するのかを指定する情報を復号する予測画像生成法指定情報復号ステップを有し、
前記予測画像生成ステップでは、前記復号した情報の指定する生成法を用いて予測画像を生成する動画像復号方法。
【請求項２２】
請求項１４又は２１に記載の動画像復号方法において、
前記参照フレーム指定情報復号ステップでは、前記参照ベクトル対象領域の復号データを用いて、参照フレーム指定情報を復号する際の符号語テーブルを切り替え、
前記予測画像生成法指定情報復号ステップでは、前記参照ベクトル対象領域の復号データ、前記参照フレーム、及び前記参照ベクトル対象フレームの少なくとも１つに応じて、予測画像生成法指定情報を復号する際の符号語テーブルを切り替える動画像復号方法。
【請求項２３】
請求項１に記載の動画像符号化方法における各ステップを実現する手段を備える動画像符号化装置。
【請求項２４】
請求項１に記載の動画像符号化方法における各ステップをコンピュータに実行させるための動画像符号化プログラム。
【請求項２５】
請求項１に記載の動画像符号化方法における各ステップをコンピュータに実行させるための動画像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２６】
請求項１２に記載の動画像復号方法における各ステップを実現する手段を備える動画像復号装置。
【請求項２７】
請求項１２に記載の動画像復号方法における各ステップをコンピュータに実行させるための動画像復号プログラム。
【請求項２８】
請求項１２に記載の動画像復号方法における各ステップをコンピュータに実行させるための動画像復号プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フレーム間予測符号化方式を使って動画像を符号化する動画像符号化方法及びその装置と、その動画像符号化方法により生成された符号化データを復号する動画像復号方法及びその装置と、その動画像符号化方法の実現に用いられる動画像符号化プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体と、その動画像復号方法の実現に用いられる動画像復号プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体とに関する。
本願は、２００６年１０月３０日に出願された特願２００６−２９３９０１号に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【０００２】
多視点動画像（多視点映像）とは、複数のカメラで同じ被写体と背景を撮影した複数の動画像のことである。以下では、１つのカメラで撮影された動画像を“２次元動画像" と呼び、同じ被写体と背景を撮影した２次元動画像群を“多視点動画像”と呼ぶ。【０００３】
多視点動画像に含まれる各カメラの２次元動画像は、時間方向に関して強い相関がある。一方、各カメラが同期されていた場合、同じ時刻に撮影した各カメラの映像は全く同じ状態の被写体と背景を別の位置から撮影したものなので、カメラ間で強い相関がある。動画像の符号化においては、これらの相関を利用することによって符号化効率を高めている。【０００４】
まず、２次元動画像の符号化技術に関する従来技術を述べる。【０００５】
国際標準動画像符号化規格であるＭＰＥＧ−２やＨ.264などをはじめとした従来の多くの２次元動画像符号化方式では、フレーム間予測符号化と呼ばれる方法によって、時間方向の相関を利用して高い符号化効率を実現している。
２次元動画像符号化におけるフレーム間予測符号化で用いる方法は、時間による映像の変化つまり動きを利用したものであるため、一般に動き補償と呼ばれる。以下では、その例に倣い時間方向のフレーム間予測符号化を動き補償と呼ぶ。なお、フレームとは動画像を構成するある時刻に撮影された１枚の画像を表す。【０００６】
一般的な２次元動画像符号化における各フレームの符号化モードには、フレーム間の相関を使わずに符号化するＩフレームと、過去に符号化した１枚のフレームから動き補償を行いながら符号化するＰフレームと、過去に符号化した２枚のフレームから動き補償を行いながら符号化するＢフレームとがある。【０００７】
さらに、映像予測の効率を向上させるために、映像符号化方式Ｈ.263とＨ.264では、参照画像メモリに２フレーム以上の複数フレーム分の復号画像を蓄積しておき、そのメモリから参照画像を選択して予測をすることができる。
参照画像はブロック毎に選択することができ、参照画像を指定する参照画像指定情報を符号化することで復号処理を可能としている。
Ｐフレームでは１つの参照画像指定情報がブロック毎に符号化され、Ｂフレームでは２つの参照画像指定情報がブロック毎に符号化される。【０００８】
動き補償では、参照画像指定情報のほかに、参照画像内のどの位置を用いて符号化対象ブロックの予測を行うのかを示すためのベクトルが符号化される。このベクトルは動きベクトルと呼ばれる。参照画像指定情報と同様に、Ｐフレームでは１つの動きベクトルが符号化され、Ｂフレームでは２つの動きベクトルが符号化される。【０００９】
動きベクトルの符号化においては、ＭＰＥＧ−４やＨ.264では、符号化対象ブロックの隣接ブロックの動きベクトルから予測ベクトルを生成し、符号化対象ブロックの動き補償で用いる動きベクトルとこの予測ベクトルとの差分ベクトルのみを符号化する。この方法によれば、隣接ブロック間に動きの連続性がある場合に、動きベクトルを符号化効率よく符号化することができる。【００１０】
Ｈ.264における予測ベクトルの生成手順の詳細については、下記に示す非特許文献１に記載されているが、以下で概要を説明する。【００１１】
Ｈ.264では、図１３Ａに示すように、符号化対象ブロックの左のブロック（図中のａ）、上のブロック（図中のｂ）、右上のブロック（図中のｃ）で用いた動きベクトル（ｍｖ＿ａ，ｍｖ＿ｂ，ｍｖ＿ｃ）から、水平成分及び垂直成分を個々に中央値をとって求める。【００１２】
Ｈ.264では、可変ブロックサイズ動き補償を採用しているため、符号化対象ブロックと周辺ブロックの動き補償ブロックサイズが同一でない場合があるが、その場合は、図１３Ｂのように、ブロックａは左に隣接するブロックのうち最も上のブロックとし、ブロックｂは上に隣接するブロックのうち最も左のブロックとし、ブロックｃは右上に存在する最も近いブロックとする。
例外として、符号化対象ブロックのサイズが８×１６画素の場合は、図１３Ｃに示すように、中央値の代わりに、左のブロックはブロックａを、右のブロックはブロックｃを予測に用い、符号化対象ブロックのサイズが１６×８画素の場合は、図１３Ｄに示すように、中央値の代わりに、下のブロックはブロックａを、上のブロックはブロックｂを予測に用いる。【００１３】
また、前述の通り、Ｈ.264では、過去に符号化した複数のフレームの中から、ブロック毎に参照フレームを選択し、その参照フレームを用いて動き補償を行う。【００１４】
一般的に、被写体の動きは参照フレームによって変化するため、符号化対象ブロックの参照フレームと異なる参照フレームを用いて動き補償をしている場合の動きベクトルより、同じ参照フレームを用いて動き補償をしている場合の動きベクトルのほうが、符号化対象ブロックで用いる動きベクトルに近いベクトルであると考えられる。
そのため、Ｈ.264では、ブロックａ，ｂ，ｃの内、符号化対象ブロックと参照フレームが等しいブロックがひとつだけある場合は、中央値の代わりに、そのブロックの動きベクトルを予測ベクトルとして用いることで、より信頼度の高い予測ベクトルを生成している。【００１５】
次に、従来の多視点動画像の符号化方式について説明する。【００１６】
一般的な多視点動画像の符号化では、カメラ間の相関を利用するために、同じ時刻に異なるカメラで撮影されたフレーム間に動き補償を適用した“視差補償" を用いることで高い符号化効率を実現している。【００１７】
この手法が使われている例としては、ＭＰＥＧ−２  Ｍｕｌｔｉｖｉｅｗ  ｐｒｏｆｉｌｅや非特許文献２に記載される方法などがある。【００１８】
非特許文献２の方法では、ブロック毎に動き補償と視差補償のどちらか一方を選択して符号化を行っている。ブロック毎に符号化効率のよいほうを選ぶことによって、時間方向の相関とカメラ間の相関の両方を利用することができ、どちらか一方しか使わない場合に比べて高い符号化効率を達成している。【００１９】
視差補償では、予測残差のほかに視差ベクトルが符号化される。視差ベクトルとは、フレーム間の時間変化である動きベクトルに対応するものであり、異なる位置に配置されたカメラで撮影された画像平面上で、被写体上の同じ位置が投影されている位置の差を表す。【００２０】
図１４に、このカメラ間で生じる視差ベクトルの概念図を示す。この概念図では、光軸が平行なカメラの画像平面を垂直に見下ろしたものとなっている。【００２１】
視差ベクトルの符号化においては、動きベクトルの符号化と同様に、符号化対象ブロックの隣接ブロックの視差ベクトルから予測ベクトルを生成し、符号化対象ブロックの視差補償で用いる視差ベクトルとこの予測ベクトルとの差分ベクトルのみを符号化する方法を用いることができる。この方法によれば、隣接ブロック間に視差の連続性がある場合に、視差ベクトルを符号化効率よく符号化することができる。【００２２】
多視点動画像の各フレームには、時間方向の冗長性とカメラ間の冗長性が同時に存在することから、同時に両方の冗長性を取り除く方法として、下記に示す非特許文献３の手法がある。【００２３】
この手法では、原画像と視差補償画像との差分画像を時間方向で予測して符号化を行う。つまり、視差補償後の差分画像における動き補償残差を符号化している。
この方法によると、カメラ間の冗長性を取り除く視差補償では取り除くことのできなかった時間方向の冗長性を、動き補償によって取り除くことができるため、最終的に符号化する予測残差が小さくなり、高い符号化効率を達成することが可能である。    
【非特許文献１】ITU-T Rec.H.264/ISO/IEC 11496-10, "Editor's Proposed Draft Text Modifications for Joint Video Specification (ITU-T Rec. H.264 / ISO/IEC 14496-10 AVC), Draft 7", Final Committee Draft, Document JVT-E022, pp. 63-64, September 2002.
【非特許文献２】Hideaki Kimata and Masaki Kitahara, "Preliminary results on multiple view video coding（3DAV)", document M10976 MPEG Redmond Meeting，July, 2004.
【非特許文献３】Shinya Shimizu, Masaki Kitahara,Kazuto Kamikura and Yoshiyuki Yashima, "Multi-view Video Coding based on 3-D Warping with Depth Map", In Proceedings of Picture Coding Symposium 2006, SS3-6, April, 2006.
【発明の開示】
【発明が解決しようとする課題】
【００２４】
符号化対象ブロックで実際に用いる動きベクトルや視差ベクトルを、隣接ブロックで使用された動きベクトルや視差ベクトルを用いて生成した予測ベクトルとの差分で符号化するという従来の方法は、実空間上で被写体は連続して存在し、被写体の動きは同じ被写体内では大きくは変化しない確率が高いという事実に基づいているため、符号化対象ブロックで用いる動きベクトルや視差ベクトルを、より少ない符号量で符号化することが可能である。【００２５】
しかしながら、符号化対象ブロックの画像を予測するのに最適な参照フレームが、隣接ブロックで使われていないような場合、実際に用いる動きベクトルと予測ベクトルとの差は大きくなり、符号量を十分に削減することが出来ない。【００２６】
特に、ブロック毎に動き補償と視差補償とを適応的に選択して符号化を行う場合、動きベクトルと視差ベクトルとでは性質が大きく異なるため、動きベクトルから視差ベクトルの予測ベクトルを生成したり、視差ベクトルから動きベクトルの予測ベクトルを生成したりすることは不可能であり、動きベクトルや視差ベクトルを効率的に符号化することが出来ない。【００２７】
一方、Ｂフレームや、非特許文献３の方法では、より正確に映像を予測し、最終的な符号化の対象となる残差信号を小さくすることで、映像を少ない符号量で符号化することが可能である。【００２８】
しかしながら、Ｂフレームでは、２つの参照画像指定情報と２つのベクトル情報とを符号化しなければならないため、これらの予測画像生成のための付加情報の符号量が増えてしまう。
また、非特許文献３の方法でも、視差補償画像を生成するための奥行き（Ｄepth）情報と、視差補償差分画像上での動き補償を行うための動きベクトルとを符号化する必要があり、映像予測のための情報は増加してしまう。【００２９】
本発明はかかる事情に鑑みてなされたものであって、動画像符号化において、符号化を施す領域とその隣接する領域とでフレーム間予測符号化を行う際に用いる参照フレームが異なる場合においても、符号化対象となるフレーム間予測符号化のためのベクトル情報を効率よく符号化できるようにする新たな技術の提供を目的とする。
【課題を解決するための手段】
【００３０】
この目的を達成するために、本発明は、画像全体を領域分割して、領域毎に、既に符号化済みの複数のフレームの画像情報から予測画像を生成して、符号化対象フレーム内の符号化対象領域の画像と予測画像との差分情報を符号化することで動画像を符号化する動画像符号化方法であって、
既に符号化済みの複数のフレームから、参照ベクトル対象フレームを選択する参照ベクトル対象フレーム選択ステップと、
前記参照ベクトル対象フレームを指定する情報を符号化する参照ベクトル対象フレーム指定情報符号化ステップと、
符号化対象領域に対して、前記参照ベクトル対象フレーム上の領域を示す参照ベクトルを設定する参照ベクトル設定ステップと、
前記参照ベクトルを符号化する参照ベクトル符号化ステップと、
既に符号化済みの複数のフレームから、参照フレームを選択する参照フレーム選択ステップと、
前記参照フレームを指定する情報を符号化する参照フレーム指定情報符号化ステップと、
前記参照ベクトルによって示される参照ベクトル対象フレーム上の参照ベクトル対象領域の画像情報と前記参照フレームとを用いて対応領域の探索を行い、その探索結果に基づいて前記参照フレーム上の参照領域を設定する参照フレーム領域設定ステップと、
前記参照領域に対応する参照フレームの画像情報を用いて、予測画像を生成する予測画像生成ステップと、
符号化対象領域の画像情報と前記生成した予測画像との差分情報を符号化する差分情報符号化ステップと
を有する動画像符号化方法を提供する。【００３１】
典型例として、前記予測画像生成ステップでは、前記参照領域の画像情報と前記参照ベクトル対象領域の画像情報とから、予測画像を生成する。【００３２】
別の典型例として、
前記予測画像生成ステップでは、前記参照領域の画像情報から予測画像を生成するのか、前記参照領域の画像情報と前記参照ベクトル対象領域の画像情報とから予測画像を生成するのかを選択して、その選択した生成法を用いて予測画像を生成し、
さらに、前記選択した生成法を指定する情報を符号化する予測画像生成法指定情報符号化ステップを有する。【００３３】
別の典型例として、前記参照フレーム選択ステップにおいて前記参照ベクトル対象領域を符号化する際に用いた参照フレームを前記参照フレームとして選択する場合には、前記参照フレーム領域設定ステップでは、前記参照ベクトル対象領域を符号化する際に用いた参照領域を、前記参照領域として設定する。【００３４】
別の典型例として、前記参照フレーム選択ステップにおいて前記参照ベクトル対象領域を符号化する際に用いた参照ベクトル対象フレームを前記参照フレームとして選択する場合には、前記参照フレーム領域設定ステップでは、前記参照ベクトル対象領域を符号化する際に用いた参照ベクトル対象領域を、前記参照領域として設定する。【００３５】
別の典型例として、前記参照フレーム選択ステップにおいて、符号化対象フレームとの間に、前記参照ベクトル対象領域を符号化する際に用いた参照ベクトル対象フレームと符号化対象領域に対して設定した参照ベクトル対象フレームとの時刻情報及び視点情報の関係に等しい関係を持つ既に符号化済みのフレームを前記参照フレームとして選択する場合には、前記参照フレーム領域設定ステップでは、前記符号化対象領域を始点として、前記参照ベクトル対象領域を符号化する際に用いた参照ベクトルと同じ向きと大きさとを持つベクトルによって示される前記選択した参照フレーム上の領域を、前記参照領域として設定する。【００３６】
別の典型例として、前記参照フレーム選択ステップにおいて、符号化対象フレームとの間に、前記参照ベクトル対象領域を符号化する際に用いた参照フレームと符号化対象領域に対して設定した参照ベクトル対象フレームとの時刻情報及び視点情報の関係に等しい関係を持つ既に符号化済みのフレームを前記参照フレームとして選択する場合には、前記参照フレーム領域設定ステップでは、前記符号化対象領域を始点として、前記参照ベクトル対象領域と前記参照ベクトル対象領域を符号化する際に用いた参照領域との対応関係を示すベクトルと同じ向きと大きさとを持つベクトルによって示される前記選択した参照フレーム上の領域を、前記参照領域として設定する。【００３７】
好適例として、
前記参照ベクトル対象フレームや前記参照フレームとは異なる既に符号化済みのフレームを中間フレームとして設定する中間フレーム設定ステップを有し、
前記参照フレーム領域設定ステップでは、前記参照ベクトル対象領域の情報を用いて前記中間フレーム上の領域であるところの中間領域を設定し、その中間領域の情報、あるいは、その中間領域の情報及び前記参照ベクトル対象領域の情報を用いて前記参照領域を設定する。【００３８】
この場合、
前記中間フレーム設定ステップでは、前記参照ベクトル対象フレームとの時刻及び視点情報の関係が、前記符号化対象フレームと前記参照フレームとの時刻及び視点情報の関係と同じである既に符号化済みのフレームを中間フレームとして設定し、
前記予測画像生成ステップでは、前記参照領域の画像情報と前記中間領域の画像情報と前記参照ベクトル対象領域の画像情報とから、予測画像を生成する
ようにしても良い。【００３９】
同様に、上記の場合、
前記中間フレーム設定ステップでは、前記参照ベクトル対象フレームとの時刻及び視点情報の関係が、前記符号化対象フレームと前記参照フレームとの時刻及び視点情報の関係と同じである既に符号化済みのフレームを中間フレームとして設定し、
前記予測画像生成ステップでは、前記参照領域の画像情報から予測画像を生成するのか、前記参照領域の画像情報と前記参照ベクトル対象領域の画像情報とから予測画像を生成するのか、前記参照領域の画像情報と前記中間領域の画像情報と前記参照ベクトル対象領域の画像情報とから予測画像を生成するのかを選択して、その選択した生成法を用いて予測画像を生成し、
さらに、前記選択した生成法を指定する情報を符号化する予測画像生成法指定情報符号化ステップを有するようにしても良い。【００４０】
前記予測画像生成法指定情報符号化ステップを有する場合、
前記参照フレーム指定情報符号化ステップでは、前記参照ベクトル対象領域の符号化データを用いて、参照フレーム指定情報を符号化する際の符号語テーブルを切り替え、
前記予測画像生成法指定情報符号化ステップでは、前記参照ベクトル対象領域の符号化データ、前記参照フレーム、及び前記参照ベクトル対象フレームの少なくとも１つに応じて、予測画像生成法指定情報を符号化する際の符号語テーブルを切り替える
ようにしても良い。【００４１】
本発明はまた、画像全体を領域分割して、領域毎に、既に復号済みの複数のフレームの画像情報から予測画像を生成して、予測画像と復号対象フレーム内の復号対象領域の画像との差分情報を復号することで動画像を復号する動画像復号方法であって、
符号化データから、既に復号済みの複数のフレームの中から選択される参照ベクトル対象フレームを指定する情報を復号する参照ベクトル対象フレーム指定情報復号ステップと、
符号化データから、復号対象領域に対して設定される前記参照ベクトル対象フレーム上の領域を示す参照ベクトルを復号する参照ベクトル復号ステップと、
符号化データから、既に復号済みの複数のフレームの中から選択される参照フレームを指定する情報を復号する参照フレーム指定情報復号ステップと、
前記参照ベクトルによって示される参照ベクトル対象フレーム上の参照ベクトル対象領域の画像情報と前記参照フレームとを用いて対応領域の探索を行い、その探索結果に基づいて前記参照フレーム上の参照領域を設定する参照フレーム領域設定ステップと、
前記参照領域に対応する参照フレームの画像情報を用いて、予測画像を生成する予測画像生成ステップと
を有する動画像復号方法を提供する。【００４２】
典型例として、前記予測画像生成ステップでは、前記参照領域の画像情報と前記参照ベクトル対象領域の画像情報とから、予測画像を生成する。【００４３】
別の典型例として、
符号化データから、前記参照領域の画像情報から予測画像を生成するのか、前記参照領域の画像情報と前記参照ベクトル対象領域の画像情報とから予測画像を生成するのかを指定する情報を復号する予測画像生成法指定情報復号ステップを有し、
前記予測画像生成ステップでは、前記復号した情報の指定する生成法を用いて予測画像を生成する。【００４４】
別の典型例として、前記参照ベクトル対象領域を復号する際に復号された参照フレーム指定情報の示すフレームが、前記参照フレームと等しい場合、前記参照フレーム領域設定ステップでは、前記参照ベクトル対象領域を復号する際に用いた参照領域を、前記参照領域として設定する。【００４５】
別の典型例として、前記参照ベクトル対象領域を復号する際に復号された参照ベクトル対象フレーム指定情報の示すフレームが前記参照フレームと等しい場合、前記参照フレーム領域設定ステップでは、前記参照ベクトル対象領域を復号する際に用いた参照ベクトル対象領域を、前記参照領域として設定する。【００４６】
別の典型例として、前記参照ベクトル対象フレームと前記参照ベクトル対象領域を復号する際に復号された参照ベクトル対象フレーム指定情報の示すフレームとの時刻情報及び視点情報の関係が、前記復号対象フレームと前記参照フレームとの時刻情報及び視点情報の関係に等しい場合、前記参照フレーム領域設定ステップでは、前記復号対象領域を始点として、前記参照ベクトル対象領域を復号する際に用いた参照ベクトルと同じ向きと大きさとを持つベクトルによって示される参照フレーム上の領域を、前記参照領域として設定する。【００４７】
別の典型例として、前記参照ベクトル対象フレームと前記参照ベクトル対象領域を復号する際に復号された参照フレーム指定情報の示すフレームとの時刻情報及び視点情報の関係が、前記復号対象フレームと前記参照フレームとの時刻情報及び視点情報の関係に等しい場合、前記参照フレーム領域設定ステップでは、前記復号対象領域を始点として、前記参照ベクトル対象領域と前記参照ベクトル対象領域を復号する際に用いた参照領域との対応関係を示すベクトルと同じ向きと大きさとを持つベクトルによって示される参照フレーム上の領域を、前記参照領域として設定する。【００４８】
好適例として、
前記参照ベクトル対象フレームや前記参照フレームとは異なる既に復号済みのフレームを中間フレームとして設定する中間フレーム設定ステップを有し、
前記参照フレーム領域設定ステップでは、前記参照ベクトル対象領域の情報を用いて前記中間フレーム上の領域であるところの中間領域を設定し、その中間領域の情報、あるいは、その中間領域の情報及び前記参照ベクトル対象領域の情報を用いて前記参照領域を設定する。【００４９】
この場合、
前記中間フレーム設定ステップでは、前記参照ベクトル対象フレームとの時刻及び視点情報の関係が、前記復号対象フレームと前記参照フレームとの時刻及び視点情報の関係と同じである既に復号済のフレームを中間フレームとして設定し、
前記予測画像生成ステップでは、前記参照領域の画像情報と前記中間領域の画像情報と前記参照ベクトル対象領域の画像情報とから、予測画像を生成する
ようにしても良い。【００５０】
同様に、上記の場合、
前記中間フレーム設定ステップでは、前記参照ベクトル対象フレームとの時刻及び視点情報の関係が、前記復号対象フレームと前記参照フレームとの時刻及び視点情報の関係と同じである既に復号済のフレームを中間フレームとして設定し、
符号化データから、前記参照領域の画像情報から予測画像を生成するのか、前記参照領域の画像情報と前記参照ベクトル対象領域の画像情報とから予測画像を生成するのか、前記参照領域の画像情報と前記中間領域の画像情報と前記参照ベクトル対象領域の画像情報とから予測画像を生成するのかを指定する情報を復号する予測画像生成法指定情報復号ステップを有し、
前記予測画像生成ステップでは、前記復号した情報の指定する生成法を用いて予測画像を生成する
ようにしても良い。【００５１】
前記予測画像生成法指定情報復号ステップを有する場合、
前記参照フレーム指定情報復号ステップでは、前記参照ベクトル対象領域の復号データを用いて、参照フレーム指定情報を復号する際の符号語テーブルを切り替え、
前記予測画像生成法指定情報復号ステップでは、前記参照ベクトル対象領域の復号データ、前記参照フレーム、及び前記参照ベクトル対象フレームの少なくとも１つに応じて、予測画像生成法指定情報を復号する際の符号語テーブルを切り替える
ようにしても良い。【００５２】
本発明はまた、上記動画像符号化方法における各ステップを実現する手段を備える動画像符号化装置、当該各ステップをコンピュータに実行させるための動画像符号化プログラム、当該プログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
本発明はまた、上記動画像復号方法における各ステップを実現する手段を備える動画像復号装置、当該各ステップをコンピュータに実行させるための動画像復号プログラム、当該プログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【発明の効果】
【００５３】
本発明によれば、隣接領域で予測画像を生成する際の参照フレームが異なる場合においても、同じ参照ベクトル対象フレームを用いることで、ベクトルで表現しなければならない時間や視差といった映像変化の要因が統一され、隣接領域で符号化されたベクトルから、符号化すべきベクトルに近い予測ベクトルを生成できるようになり、これにより、より少ない符号量でフレーム間予測符号化のためのベクトル情報を符号化することができるようになる。
【図面の簡単な説明】
【００５４】
【図１】参照ベクトル対象領域符号化時の参照フレームを用いた参照領域決定法の一例を示す図である。
【図２】参照ベクトル対象領域符号化時の参照ベクトル対象フレームを用いた参照領域決定法の一例を示す図である。
【図３】参照ベクトル対象領域符号化時の参照ベクトルを用いた参照領域決定法の一例を示す図である。
【図４】参照ベクトル対象領域符号化時のベクトルを用いた参照領域決定法の一例を示す図である。
【図５】参照ベクトル対象領域符号化時の参照ベクトルを用いた参照領域決定法の一例を示す図である。
【図６】本発明の動画像符号化装置の一実施形態例である。
【図７】本実施形態例の動画像符号化装置が実行する動画像符号化処理のフローチャートの一例である。
【図８】本実施形態例における中間フレームを用いない場合の参照領域決定処理のフローチャートの一例である。
【図９】本実施形態例における中間フレームを用いる場合の参照領域決定処理のフローチャートの一例である。
【図１０】本実施形態例における対応領域探索処理のフローチャートの一例である。
【図１１】本発明の動画像復号装置の一実施形態例である。
【図１２】本実施形態例の動画像復号装置が実行する動画像復号処理のフローチャートの一例である。
【図１３Ａ】Ｈ.264における動きベクトル予測の説明図である。
【図１３Ｂ】同様に、Ｈ.264における動きベクトル予測の説明図である。
【図１３Ｃ】同様に、Ｈ.264における動きベクトル予測の説明図である。
【図１３Ｄ】同様に、Ｈ.264における動きベクトル予測の説明図である。
【図１４】カメラ間で生ずる視差の説明図である。
【符号の説明】
【００５５】
１００  動画像符号化装置
１０１  画像入力部
１０２  予測画像作成部
１０３  差分画像符号化部
１０４  差分画像復号部
１０５  参照フレームメモリ
１０６  参照フレーム設定部
１０７  参照ベクトル対象フレーム設定部
１０８  予測画像生成法設定部
１０９  付加情報符号化部
１１０  参照ベクトル対象領域探索部
１１１  参照領域探索部
１１２  対応関係情報蓄積メモリ
１１３  予測参照ベクトル生成部
１１４  差分参照ベクトル符号化部
【発明を実施するための最良の形態】
【００５６】
本発明においては、符号化対象領域の画像情報を符号化する際のフレーム間予測符号化のためのベクトル情報を設定するにあたり、予測画像を生成するための参照フレーム上の領域を示すベクトルではなくて、ベクトルを表すために用いられるフレームであるところの参照ベクトル対象フレームを設定し、その参照ベクトル対象フレーム上の領域を示す参照ベクトルを求めて符号化し、参照ベクトルによって示される参照ベクトル対象フレーム上の参照ベクトル対象領域の画像情報と参照フレームとを用いて、ブロックマッチングなどの対応点探索を行い、その結果得られる参照フレーム上の参照領域の画像情報を用いて予測画像を生成する。
これにより、隣接領域間で参照フレームが異なる場合においても、効率的にフレーム間予測符号化のためのベクトル情報を符号化することができる。【００５７】
従来の方法では、符号化対象領域（符号化の単位領域）毎に符号化するフレーム間予測符号化のためのベクトル情報は、各符号化対象領域に対して設定された参照フレームから符号化対象フレームへの映像変化を表すベクトルで表されていた。【００５８】
そのため、従来の方法では、隣接領域で参照フレームが異なる場合には、ベクトルが表している映像変化が発生している要因（時間であるのか、カメラであるのか、長時間であるのか、短時間であるのか）が異なり、予測ベクトルによって表される映像変化が、符号化しようとしているベクトルによって表したい映像変化と異なる場合がある。
その場合、生成された予測ベクトルは符号化したいベクトルを精度よく予測できない。それどころか、符号化したいベクトルと予測ベクトルとの差分ベクトルを符号化するのにかかる符号量が、符号化したいベクトルをそのまま符号化した場合にかかる符号量よりも多くなってしまう場合もある。【００５９】
これに対して、本発明によれば、隣接領域で予測画像を生成する際の参照フレームが異なる場合においても、同じ参照ベクトル対象フレームを用いることで、ベクトルで表現される映像変化の要因が統一され、符号化すべきベクトルに近い予測ベクトルを生成できるようになり、これにより、より少ない符号量でフレーム間予測符号化のためのベクトル情報を符号化することが可能である。【００６０】
ここで、参照ベクトル対象フレームを指定する参照ベクトル対象フレーム指定情報と、参照フレームを指定する参照フレーム指定情報とは別々に符号化しても構わないし、両者を指定できる情報としてまとめて符号化しても構わない。
つまり、符号化済みフレームが２枚ある場合、参照ベクトル対象フレーム指定情報と参照フレーム指定情報とを別々に符号化するとは、それぞれに対して０〜１の数字を符号化することであり、両者を指定できる情報として符号化するとは、（０，０）、（０，１）、（１，０）、（１，１）の４種類の内のいずれかを示す情報を符号化するようにできる。【００６１】
また、本発明では、符号化対象領域に対して一つの参照ベクトルを符号化することによって、参照ベクトル対象フレーム上と参照フレーム上とに１つずつ、つまり合計２つの対応領域が得られるため、Ｂフレームのように２つの領域の画像情報を用いて予測画像を生成することも可能である。【００６２】
さらに、２つの対応領域が得られた場合に、両方の対応領域の画像情報を用いて予測画像を生成するのか、参照フレーム上の対応領域（参照領域）の画像情報だけを用いて予測画像を生成するのかを選択して符号化を行うことも可能である。
ただし、その場合は、どちらの方法を用いて予測画像を生成したのかを示す情報を符号化する必要がある。【００６３】
ここで、予測画像の生成法を選択する基準としては、それぞれの予測画像でその領域を符号化してみた際のレート歪コストを用いる方法や、入力画像と予測画像との差分絶対値和や、入力画像と予測画像との差で生成される予測残差画像の画素値の分散値を用いる方法などがあるが、どのような基準を用いても構わない。【００６４】
予測画像の生成法を指定する情報を符号化する場合、そのまま符号化しても構わないし、別の符号化すべき情報と共に符号化しても構わない。例えば、参照ベクトル対象フレーム指定情報や参照フレーム指定情報などと一緒に符号化しても構わない。
つまり、参照フレーム指定情報として０または１を符号化し、予測画像の生成法を指定する情報として０または１を符号化しても構わないし、両者の組で（０，０）、（０，１）、（１，０）、（１，１）の４種類の内のいずれかを示す情報を符号化しても構わない。【００６５】
参照フレームとして、参照ベクトル対象領域を符号化する際に用いた参照フレームを選択したり、参照ベクトル対象領域を符号化する際に用いた参照ベクトル対象フレームを選択して良い。
この場合、参照フレーム上の参照領域として、それぞれの場合に対応して、参照ベクトル対象領域を符号化する際に参照領域として用いた領域を設定したり、参照ベクトル対象領域を符号化する際に参照ベクトル対象領域として用いた領域を設定しても構わない。【００６６】
図１および図２に、このような方法によって設定される参照領域の一例を示す。【００６７】
図１は、参照フレームとして、参照ベクトル対象領域を符号化する際に用いた参照フレームを選択し、参照フレーム上の参照領域として、参照ベクトル対象領域を符号化する際に参照領域として用いた領域を設定する場合の処理例を示す。
また、図２は、参照フレームとして、参照ベクトル対象領域を符号化する際に用いた参照ベクトル対象フレームを選択し、参照フレーム上の参照領域として、参照ベクトル対象領域を符号化する際に参照ベクトル対象領域として用いた領域を設定する場合の処理例を示す。【００６８】
参照ベクトル対象領域を符号化する際に参照ベクトル対象領域や参照領域として選ばれた領域は、参照ベクトル対象領域の画像情報を予測するために用いられた領域であるため、参照ベクトル対象領域の画像情報に類似した画像情報を有する参照ベクトル対象領域を符号化する際に利用した参照ベクトル対象フレーム上の領域であったり、参照ベクトル対象領域を符号化する際に利用した参照フレーム上の領域であると言える。
つまり、参照ベクトル対象領域に対する参照フレーム上の領域を求めたとしても、この参照フレームと上記それぞれの場合で利用したフレーム（参照ベクトル対象フレームもしくは参照フレーム）とが一致する場合は、前記の参照ベクトル対象領域を符号化する際に参照ベクトル対象領域や参照領域として選ばれた領域が選択されることになる。【００６９】
このようにして、参照ベクトル対象領域の符号化情報から、参照フレーム上の参照領域を設定することで、予測画像の品質を保ったまま、符号化／復号において実施すべき対応領域探索の回数を削減することが可能となる。【００７０】
参照フレームとして、符号化対象フレームとの間に、
(i)参照ベクトル対象領域を符号化する際に用いた参照ベクトル対象フレームと、符号化対象領域に対して設定した参照ベクトル対象フレームとの時刻情報及び視点情報の関係に等しい関係を持つ既に符号化済みのフレームを選択したり、
(ii)参照ベクトル対象領域を符号化する際に用いた参照フレームと符号化対象領域に対して設定した参照ベクトル対象フレームとの時刻情報及び視点情報の関係に等しい関係を持つ既に符号化済みのフレームを選択することができる。
上記それぞれの場合に対して、参照領域として、
(i)符号化対象領域を始点として、参照ベクトル対象領域を符号化する際に用いた参照ベクトルと同じ向きと大きさとを持つベクトルによって示される（選択した）参照フレーム上の領域を設定したり、
(ii)符号化対象領域を始点として、参照ベクトル対象領域と参照ベクトル対象領域を符号化する際に用いた参照領域との対応関係を示すベクトルと同じ向きと大きさとを持つベクトルによって示される（選択した）参照フレーム上の領域を設定しても構わない。【００７１】
図３〜５に、この方法によって設定される参照領域の一例を示す。【００７２】
図３や図４のように、与えられるいくつかの対応領域関係が、カメラ（視点）もしくは時刻のどちらか一方が同じ場合でも、また、図５のようにどちらも異なっている場合でも、この方法を用いて符号化対象領域に対して唯一の参照領域を設定することが可能である。【００７３】
この方法では、図３や図４のように対応領域においてカメラもしくは時刻のどちらか一方が同じである場合には、時刻によらず、視差を生み出す各カメラから被写体までの距離に大きな差がないことを仮定して、符号化対象領域に適した参照領域を指定する。
また、図５の場合では、それに加えて各時刻間で被写体の動きが連続であることを仮定して、符号化対象領域に適した参照領域を指定する。【００７４】
１つ目の仮定は、ある注目対象を撮影した多視点映像や、風景のようなものを撮影した多視点映像など、通常よく目にする映像はこのような状態にあるといえるため、ほとんどの場合で成立する。
２つ目の仮定は、一般には成り立たないが、フレーム間の時間が短い場合には、物体は一般的に等速直線運動をしていると仮定できるため、多くの場合で成立するとすることができる。
しかし、後者の仮説はフレーム間の時間が長くなると成立しなくなる可能性が高いため、この方法は、図３や図４のように対応領域においてカメラもしくは時刻のどちらか一方が同じである場合にのみ適用してもよいし、対応関係のフレーム間の時間が長くなった場合にのみ適用するのをやめても構わない。【００７５】
上記のような動画像復号方法では、参照ベクトル対象領域を符号化するときの情報を用いて参照領域を設定することで、対応領域探索の回数を削減している。
しかしながら、レート歪最適化の影響や、仮定した状態が成り立たない場合には、これらの方法で設定した参照領域は、符号化対象領域の予測画像を生成するのに最適ではなくなってしまう場合がある。【００７６】
そこで、最適な領域とズレが発生していたとしてもそれほど大きくはないという特性があることを考慮して、これらの方法で設定された参照領域を一時的な参照領域として、その周辺のみを探索対象として対応領域探索をすることで予測画像を生成するのにより最適な可能性を高めてもよい。
この方法では、単純に対応領域探索するよりも少ない演算コストで、ほぼ同等の品質の対応点が見つけられる。【００７７】
また、参照ベクトル対象領域の画像情報や符号化情報を用いて、参照フレーム上の参照領域を直接設定するのではなく、参照ベクトル対象フレームや参照フレームとは異なる既に符号化済みのフレームを中間フレームとして設定して、まず、参照ベクトル対象領域の画像情報や符号化情報を用いて中間フレーム上の対応領域であるところの中間領域を設定し、その後で、中間領域の画像情報や符号化情報を用いて参照フレーム上の対応領域を設定し、その領域を参照領域としてもよい。【００７８】
一般に、フレーム間の映像の視差変化による対応領域を見つけるためには、時間変化による対応領域を見つける場合よりも、狭い範囲の探索範囲でよい。なぜならば、映像の視差変化はカメラ配置によるものなので、一定の方向にしか生じず、その変化量もある程度限られた範囲であるからである。
特に画像を撮影したカメラパラメータが既知の場合は、エピポーラ幾何制約が成り立つため、一方のカメラで撮影された画像上のある領域は、他方のカメラで撮影された画像上に存在する直線上に存在することになり、カメラパラメータの誤差の影響も含め、その直線の周辺の領域のみを探索すれば十分である。【００７９】
しかしながら、フレーム間の視差変化と時間変化の両方が含まれている場合には、この性質を使えないだけでなく、時間変化のみを見つける場合よりも多くの範囲を探索する必要が生じる。【００８０】
そこで、中間フレームを設定するというこの方法によると、中間領域を設定することで、１段階目と２段階目の探索で、それぞれ時間とカメラ間のどちらか一方の要因による映像変化による対応領域を探索すればよいようにすることができる。このようにすることで、直接参照領域を求めるよりも、少ない演算回数で対応領域を求めることができる。【００８１】
また、中間フレームとして、参照ベクトル対象領域を符号化する際に使用した参照ベクトル対象フレームを設定したり、あるいは、参照ベクトル対象領域を符号化する際に使用した参照フレームを設定して、それぞれの場合で、参照ベクトル対象領域を符号化する際に使用した参照ベクトル対象領域を中間領域に設定したり、参照ベクトル対象領域を符号化する際に使用した参照領域を中間領域に設定してもよい。
このとき、中間フレームが参照ベクトル対象フレームよりも参照フレームに近接する場合、中間領域から参照領域を求める探索は、参照ベクトル対象領域から参照領域を求める探索より楽になり、演算量を削減することが可能となる。【００８２】
なお、中間領域から参照領域を設定する際に、中間領域の画像情報と符号化情報だけでなく、参照ベクトル対象領域の画像情報と符号化情報を合わせて用いてもよい。【００８３】
中間フレームとして、参照ベクトル対象フレームとの時刻及び視点情報の関係が、符号化対象フレームと参照フレームとの時刻及び視点情報の関係と同じである既に符号化済みのフレームを設定した場合、符号化対象領域に対して与えられる３つの対応領域の画像情報、すなわち、参照ベクトル対象領域の画像情報、中間領域の画像情報、参照領域の画像情報とを用いて、予測画像を生成してもよい。【００８４】
３つの対応領域の画像情報から予測画像を生成する方法としては、画素ごとに平均値をとる方法や、中間値を取る方法がある。
また、参照フレームと符号化対象フレームとの関係と、中間フレームと参照ベクトル対象フレームとの関係が等しいことから、中間領域と参照ベクトル対象領域との間の変化が、参照領域と符号化対象領域との間に起こると仮定して、次の式に従って予測画像を生成してもよい。【００８５】
【数１】
2008053758.tif 000003
【００８６】
ここで、pix は領域内での画素位置を示し、Ｐred は予測画像を示し、Ｒefは参照領域の画像情報を示し、ＲＶecは参照ベクトル対象領域の画像情報を示し、Ｍidは中間領域の画像情報を示す。【００８７】
これらの方法では、符号化の必要な予測画像生成のための情報を増やすことなく、より多くの対応領域の情報を用いることで、符号化対象領域の画像情報に近い予測画像を生成することが可能となる。
なお、どのような方法で予測画像を生成してもよいが、符号化側と復号側とで、どの方法で予測画像を生成するかを一致させなければならない。【００８８】
また、参照領域の画像情報から予測画像を生成するのか、参照領域の画像情報と参照ベクトル対象領域の画像情報とから予測画像を生成するのか、参照領域の画像情報と参照ベクトル対象領域の画像情報と中間領域の画像情報とから予測画像を生成するのかを、選択しながら符号化を行ってもよい。
ただし、この場合は、どの領域の画像情報を予測画像生成に使用したかを示す情報を符号化する必要がある。【００８９】
上記に挙げた以外の領域の組合せで予測画像を作る方法に対しても情報を割り当てて使用することも可能であるし、上記に挙げた３つの領域を使う場合の予測画像の生成法それぞれに対して情報を割り当てて予測画像の生成法を選択できるようにしてもよい。【００９０】
さらに、これらの予測画像生成法を示す情報を符号化する際に、その情報のみを独立して符号化してもよいし、別の符号化すべき情報と共に符号化しても構わない。例えば、参照フレーム指定情報などと一緒に符号化してもよい。
つまり、参照フレーム指定情報として０または１を符号化して、予測画像の生成法を指定する情報として０または１または２を符号化しても構わないし、両者の組で（０，０）、（０，１）、（０，２）、（１，０）、（１，１）、（１，２）の６種類の内のいずれかを示す情報を符号化してもよい。【００９１】
参照ベクトル対象領域がフレーム間の映像予測を行わずに符号化されている場合、その参照ベクトル対象領域の画像情報を予測するのに適した既に符号化済みのフレーム及びそのフレーム上の領域が見つからないことを示す。
そのため、そのような参照ベクトル対象領域に対応している符号化対象領域においても、予測画像を生成するための領域として、参照ベクトル対象フレーム以外のフレーム上の領域が選ばれることは少ないと考えられる。【００９２】
そこで、参照フレーム指定情報を符号化する際に、参・BR>ニベクトル対象フレームと同じフレームを指定する情報に対する符号語を短くすることで、より少ない符号量で参照フレーム指定情報を符号化することができる。【００９３】
また、対応関係があるとされた参照ベクトル対象領域を符号化する際に用いられている参照フレームや参照ベクトル対象フレームに対応したフレームを指定する情報に対する符号語を短くすることで、より少ない符号量で参照フレーム指定情報を符号化することができる。【００９４】
つまり、参照ベクトル対象領域における符号化情報を用いて、参照フレーム指定情報を符号化する際の符号語テーブルを切り替えることで、より少ない符号量で参照フレーム指定情報を符号化することができる。
また、同様に、予測画像生成法指定情報を符号化する際にも、参照ベクトル対象領域における符号化情報を用いて、符号語テーブルを切り替えてもよい。【００９５】
以下、実施の形態に従って本発明を詳細に説明する。【００９６】
図６に、本発明の動画像符号化装置１００の一実施形態例を示す。【００９７】
この動画像符号化装置１００は、符号化対象となる画像を入力する画像入力部１０１と、符号化対象画像を分割した領域毎に、既に符号化済みの画像から予測画像を作成する予測画像作成部１０２と、入力画像と予測画像との差分画像を符号化する差分画像符号化部１０３と、差分画像の符号化データを復号する差分画像復号部１０４と、復号された差分画像と予測画像との和によって生成される符号化対象領域の復号画像を蓄積する参照フレームメモリ１０５と、参照フレームメモリ１０５の中から、予測画像を生成するための参照フレームを設定する参照フレーム設定部１０６と、参照フレームメモリ１０５の中から、符号化するベクトル情報の参照対象としてのフレームとなる参照ベクトル対象フレームを設定する参照ベクトル対象フレーム設定部１０７と、得られた対応領域に対して予測画像を生成する方法を設定する予測画像生成法設定部１０８と、参照フレーム指定情報と参照ベクトル対象フレーム指定情報と予測画像生成法指定情報とからなる付加情報を符号化する付加情報符号化部１０９と、入力画像と参照ベクトル対象フレームとを用いて参照ベクトルを求める参照ベクトル対象領域探索部１１０と、参照ベクトル対象領域の画像情報と参照フレームとを用いて参照領域を探索する参照領域探索部１１１と、符号化に用いた参照ベクトルと参照領域と参照ベクトル対象フレームと参照フレームとの組を、符号化対象フレーム及び符号化対象領域に関係付けて蓄積する対応関係情報蓄積メモリ１１２と、符号化対象領域の隣接領域を符号化する際に用いた参照ベクトルから、符号化対象領域の参照ベクトルに対する予測参照ベクトルを生成する予測参照ベクトル生成部１１３と、参照ベクトルと予測参照ベクトルとの差分の差分参照ベクトルを符号化する差分参照ベクトル符号化部１１４とを備える。【００９８】
図７に、このように構成される動画像符号化装置１００の実行する動画像符号化処理のフローチャートを示す。
なお、以下の各クローチャートにおいて、インデックスが付されたブロックやフレームは、そのインデックスが示すブロックやフレームを指す。【００９９】
このフローチャートに従って、このように構成される動画像符号化装置１００の実行する動画像符号化処理について詳細に説明する。ただし、既に複数フレームの画像を符号化済みであり、その結果が参照フレームメモリ１０５、対応関係情報蓄積メモリ１１２に蓄積されているものとする。【０１００】
まず、画像入力部１０１より符号化対象となる画像が入力される［Ｓ１０１］。入力された符号化対象画像は画像全体を領域分割され領域毎に符号化を行う［Ｓ１０２〜Ｓ１３１］。【０１０１】
このフローチャートでは、ブロック（領域）のインデックスをblk と表し、一つの画像に対する総ブロック数をMaxBlkと表す。
つまり、インデックスblk を１に初期化した後［Ｓ１０２］、blk がMaxBlkになるまで［Ｓ１３０］、blk に１を加算しながら［Ｓ１３１］、以下の処理［Ｓ１０３〜Ｓ１２９］を繰り返し実行することになる。【０１０２】
ブロック毎に行う処理では、そのブロックを符号化するために用いる参照ベクトル対象フレームbest＿ref＿vec と、参照フレームbest＿ref と、参照ベクトルbest＿mv＿ref と、参照フレーム上の参照領域を示すベクトルbest＿mvと、予測画像生成法best＿pmode と、予測参照ベクトルbest＿pmv とを求め［Ｓ１１３〜Ｓ１２６］、これらの情報を用いて符号化対象領域の画像情報に対する予測画像を生成し［Ｓ１２７］、best＿ref＿vec とbest＿ref とbest＿pmode とからなる付加情報を付加情報符号化部１０９で符号化し、“best＿mv＿ref −best＿pmv ”を差分参照ベクトル符号化部１１４で符号化し、入力画像と予測画像との差分画像を差分画像符号化部１０３で符号化し、これらの符号化データを出力する［Ｓ１２８］。【０１０３】
そして、以後の符号化処理のために、符号化データを復号して復号画像を参照フレームメモリ１０５に格納し、予測画像生成のために用いた対応領域（best＿mv＿ref の指す参照ベクトル対象領域と、best＿mvの指す参照領域という２つの領域）に関する情報については、符号化対象フレームの番号とブロックblk の画像上の位置とに対応付けて対応関係情報蓄積メモリ１１２に格納する［Ｓ１２９］。【０１０４】
つまり、対応関係情報蓄積メモリ１１２には、符号化対象フレームを示すインデックス値をcur とし、画像上の、ブロックblk の位置をpos とすると、
｛cur, pos, best＿ref, best＿ref＿vec, best＿mv＿ref, best＿mv｝
の組を格納することになる。
なお、Ｓ１２７の予測画像生成処理とＳ１２８の付加情報符号化処理とに関しては、後で詳しく説明する。【０１０５】
符号化時に用いる予測画像を生成するための情報は、参照ベクトル対象フレームとして利用可能な全ての参照フレームメモリ１０５上の符号化済みフレームに対して、以下の処理［Ｓ１０４〜Ｓ１２４］を繰り返し実行することで求める。【０１０６】
つまり、参照ベクトル対象フレームインデックス ref＿vec を１に初期化し、ブロックblk に対する最小レート歪コストbestCostを絶対に取りえない最大値MaxCost に初期化し、pos にブロックblk の画像上の位置を設定した後［Ｓ１０３］、 ref＿vec が参照フレームメモリ１０５に蓄えられている参照可能なフレームの数NumOfRefになるまで［Ｓ１２５］、 ref＿vec に１を加算しながら［Ｓ１２６］、ブロックblk に隣接する既に符号化済みのブロックにおける参照ベクトルから予測参照ベクトルpmv を生成し［Ｓ１０４］、参照ベクトル対象フレームを ref＿vec が示すフレームとしたときに、レート歪コストが最小となるような、参照ベクトルと参照フレームと参照領域と予測画像生成法との組合せを求める処理［Ｓ１０５〜Ｓ１２４］を繰り返す。
当該処理においては、参照フレームとして利用可能な全ての参照フレームメモリ１０５上の符号化済みフレームに対して、以下の処理［Ｓ１０６〜Ｓ１２２］を繰り返し実行する。【０１０７】
つまり、参照フレームインデックスref を１に初期化した後［Ｓ１０５］、ref がNumOfRefになるまで［Ｓ１２３］、ref に１を加算しながら［Ｓ１２４］、 ref＿vec とref とが一致するかどうかを判定し［Ｓ１０６］、一致すると判定された場合、すなわち、参照ベクトル対象フレームが実質的に存在しない状態となる場合（従来と同じ状態になる場合）には、参照フレームおよび参照ベクトル対象フレームをref が示すフレームとしたときに、レート歪コストが最小となるような参照ベクトルを求める処理［Ｓ１０７〜Ｓ１１４］を繰り返し実行する。【０１０８】
当該処理においては、参照ベクトル候補インデックスmv＿ref＿idx を１に初期化した後［Ｓ１０７］、mv＿ref＿idx が予め設定されている参照ベクトル候補数NumOfListMvRefに等しくなるまで［Ｓ１１３］、mv＿ref＿idx に１を加算しながら［Ｓ１１４］、mv＿ref＿idx に対応する参照ベクトルをmv＿ref に設定し［Ｓ１０８］、フレームref 上の位置 pos＋mv＿ref の領域の画像情報を予測画像Ｐred[] とし［Ｓ１０９］、レート歪コストcostを計算して［Ｓ１１０］、costがbestCostよりも小さいかどうか判定する［Ｓ１１１］。【０１０９】
costのほうが小さいと判定された場合、bestCostをcostに書き換え、best＿ref をref に書き換え、best＿ref＿vec をref に書き換え、best＿ref＿mid をref に書き換え、best＿mvを０（ゼロベクトル）に書き換え、best＿mv＿ref をmv＿ref に書き換え、best＿pmode を１に書き換え、best＿pmv をpmv に書き換える［Ｓ１１２］、という処理［Ｓ１０８〜Ｓ１１２］を繰り返し実行する。【０１１０】
ここで、Ｓ１１０の処理で計算されるレート歪コストについては、実際に、差分画像と差分参照ベクトル“mv＿ref −pmv ”と付加情報とを符号化して符号量を計算し、それらを復号して品質劣化を計算して下記の〔数２〕式に基づいて計算してもよいし、下記の〔数３〕式に基づいて簡易レート歪コストを用いて計算してもよい。
ただし、１つのブロックblk を符号化する際の処理では、用いる式を統一しなければならない。【０１１１】
【数２】
2008053758.tif 000004
【０１１２】
ここで、λ1 はラグランジュの未定乗数であり、予め設定された値が利用される。pix は画素位置を示し、Ｏrg［］は入力画像の符号化対象領域の画像情報を示し、Ｄec［］は復号画像の画像情報を示す。bit(vector,ref1,ref2,mode)は、差分参照ベクトルとしてvectorを符号化し、参照ベクトル対象フレーム指定情報としてref1を符号化し、参照フレーム指定情報としてref2を符号化し、予測画像生成法指定情報としてmodeを符号化した際に必要だった符号量を返す関数を表す。ＢＩＴＳは差分画像Ｒes［］(＝Ｏrg［］−Ｐred[])を符号化した際に必要だった符号量を示す。【０１１３】
【数３】
2008053758.tif 000005
【０１１４】
ここで、λ2 はラグランジュの未定乗数であり、予め設定された値が利用される。pbit(vector,ref1,ref2,mode) は、差分参照ベクトルとしてvectorを符号化し、参照ベクトル対象フレーム指定情報としてref1を符号化し、参照フレーム指定情報としてref2を符号化し、予測画像生成法指定情報としてmodeを符号化した際に必要だった符号量を返す関数を表す。【０１１５】
一方、Ｓ１０６の判定処理で、 ref＿vec とref とが一致しないと判定された場合（参照ベクトル対象フレームと参照フレームとが一致しないと判定された場合）は、参照フレームをref が示すフレームとし、参照ベクトル対象フレームを ref＿vec が示すフレームとしたときに、最小のレート歪コストmcost を与える参照ベクトル b＿mv＿ref と、参照領域を示すベクトル b＿mvと、予測画像生成法インデックス b＿pmode とを求める［Ｓ１１７］。
このＳ１１７における処理については後で詳細に説明する。【０１１６】
そして、mcost がbestCostよりも小さいかどうかを判定し［Ｓ１１８］、mcost の方が小さい場合には、bestCostをmcost に書き換え、best＿ref をref に書き換え、best＿ref＿vec を ref＿vec に書き換え、best＿mvを b＿mvに書き換え、best＿mv＿ref を b＿mv＿ref に書き換え、best＿pmode を b＿pmode に書き換え、best＿pmv をpmv に書き換える［Ｓ１１９］。
一方、mcost の方が大きい場合には、このＳ１１９の処理を省略する。【０１１７】
続いて、ref＿vec が示すフレームとの時刻関係及び視点関係が、符号化対象フレームとref が示すフレームとの時刻関係及び視点関係に一致するような既に符号化済みのフレーム（中間フレーム）を見つけて、それを示すインデックスを ref＿mid とする［Ｓ１１５］。
なお、前述の条件を満たす符号化済みフレームが参照フレームメモリ１０５内に存在しない場合、 ref＿mid はref に設定する。【０１１８】
そして、 ref＿mid がref 又は ref＿vec に一致するかどうかを判定する［Ｓ１１６］。【０１１９】
このＳ１１６の判定処理で、 ref＿mid がref とも ref＿vec とも異なると判定された場合は、参照フレームをref が示すフレームとし、参照ベクトル対象フレームを ref＿vec が示すフレームとし、中間フレームを ref＿mid が示すフレームとしたときに、最小のレート歪コストmcost を与える、参照ベクトル b＿mv＿ref と、中間領域を示すベクトル b＿mv＿mid と、参照領域を示すベクトル b＿mvと、予測画像生成法インデックス b＿pmode とを求める［Ｓ１２０］。
このＳ１２０における処理については後で詳細に説明する。【０１２０】
そして、mcost がbestCostよりも小さいかどうかを判定し［Ｓ１２１］、mcost の方が小さい場合には、bestCostをmcost に書き換え、best＿ref をref に書き換え、best＿ref＿vec を ref＿vec に書き換え、best＿ref＿mid を ref＿mid に書き換え、best＿mvを b＿mvに書き換え、best＿mv＿ref を b＿mv＿ref に書き換え、best＿mv＿mid を b＿mv＿mid に書き換え、best＿pmode を b＿pmode に書き換え、best＿pmv をpmv に書き換える［Ｓ１２２］。【０１２１】
一方、Ｓ１２１の判定処理で、mcost の方が大きい場合には、このＳ１２２の処理を省略する。
また、Ｓ１１６の判定処理で、 ref＿mid がref に一致するか、 ref＿mid が ref＿vec に一致する場合にも、このＳ１２２を含むＳ１２０〜Ｓ１２２の処理を省略する。【０１２２】
ここで、Ｓ１１７の処理を行ってからＳ１２０の処理を行うのは、中間フレームを作成した方がレート歪コストが低くなる場合があるからである。【０１２３】
次に、図８に示すフローチャートに従って、Ｓ１１７で行われる処理について詳細に説明する。【０１２４】
この処理では、参照ベクトルを変化させながら、そのとき設定された参照ベクトルに対して、参照領域を求め、そのときに最適なレート歪コストを与える予測画像の生成法を求めるという処理を行う。【０１２５】
つまり、参照ベクトル候補インデックスmv＿ref＿idx を１に初期化し、最小レート歪コストmcost を絶対に取りえない最大値maxCost に初期化した後［Ｓ２０１］、mv＿ref＿idx が割り当てられた参照ベクトル候補数NumOfListMvRefになるまで［Ｓ２１２］、mv＿ref＿idx に１を加算しながら［Ｓ２１３］、以下の処理［Ｓ２０２〜Ｓ２１１］を繰り返し実行する。【０１２６】
この繰り返し実行する処理［Ｓ２０２〜Ｓ２１１］では、まず、mv＿ref＿idx に対応付けられた参照ベクトルを求めて、それをmv＿ref とする［Ｓ２０２］。
ここで、入力画像上のブロックblk の画像情報と、フレーム ref＿vec 上の位置 pos＋mv＿ref の領域の画像情報との相違度を求め、それが予め設定された閾値ＴＨよりも小さいかどうかを判定する［Ｓ２０３］。
２つの画像情報の相違度は、２つの領域内で対応する画素の画素値を用いて計算された差分絶対値和や差分二乗和や差分分散値など、どの計算法を用いても構わない。ただし、その計算方法に対応付けられた閾値ＴＨを用いる必要がある。【０１２７】
相違度が閾値以上の場合は、mv＿ref で示される参照ベクトル対象領域の画像情報が符号化対象領域の画像情報と大きく異なっており、その領域は符号化対象領域と対応しないことを示しているため、そのときのmv＿ref＿idx に対する処理を終了する。【０１２８】
一方、Ｓ２０３の判定処理で、相違度が閾値より小さいと判定された場合は、まず、フレーム ref＿vec 上の位置 pos＋mv＿ref の領域に対応するフレームref 上の領域を求め、その位置を pos＋mv＿ref ＋mvとしたときのmvを求める［Ｓ２０４］。このＳ２０４における処理については後で詳細に説明する。【０１２９】
そして、ここまでに得られたフレーム ref＿vec 上の位置 pos＋mv＿ref の領域の画像情報ＲＶec［］と、フレームref 上の位置 pos＋mv＿ref ＋mvの領域の画像情報Ｒef［］とを用いて、最小のレート歪コストが得られるような予測画像が生成できるかどうかを調べる［Ｓ２０５〜Ｓ２１１］。【０１３０】
つまり、予測画像生成法インデックスpmode を１に初期化した後［Ｓ２０５］、pmode が２になるまで［Ｓ２１０］、pmode に１を加算しながら［Ｓ２１１］、pmode に対応付けられた予測画像の生成法で予測画像を生成し［Ｓ２０６］、そのときのレート歪コストcostを計算し［Ｓ２０７］、costがmcost よりも小さいかどうかを判定し［Ｓ２０８］、costのほうが小さいと判定された場合には、mcost をcostに書き換え、 b＿mv＿ref をmv＿ref に書き換え、 b＿mvをmvに書き換え、 b＿pmode をpmode に書き換える［Ｓ２０９］、という処理［Ｓ２０６〜Ｓ２０９］を繰り返し実行する。
このときＳ２０７で行うレート歪コストの計算は前述のＳ１１０での方法と同様の方法を用いて行う。【０１３１】
ここでは、２つの画像情報（参照ベクトル対象フレーム上の画像情報と、参照フレーム上の画像情報という２つの画像情報）が得られたときに利用できる予測画像の生成法として、参照フレーム上の画像情報だけを用いて予測画像を生成する方法と、対応する画素ごとに２つの画像情報の平均値を求めて予測画像を生成する方法という２つの方法のみを考えたためpmode の最大値を２と設定した。
この最大値を増やして、それ以外の２つの画像情報の重み付け和を求める方法などを用いても構わない。【０１３２】
すなわち、ここでは、説明のために、ｐｍｏｄｅ＝１と２の予測画像生成法を次の〔数４〕式のように定義したが、それ以外の予測画像生成法を用いたり追加することも可能である。【０１３３】
【数４】
2008053758.tif 000006
【０１３４】
なお、参照ベクトル対象フレーム上の画像情報だけを用いて予測画像を生成する方法を予測画像生成法に入れなかったのは、参照ベクトル対象フレームと参照フレームとが等しい場合の予測画像生成法がそれに対応するからである。【０１３５】
次に、図９に示すフローチャートに従って、Ｓ１２０で行われる処理について詳細に説明する。【０１３６】
この処理では、参照ベクトルを変化させながら、そのとき設定された参照ベクトルに対して、中間領域と参照領域とを求め、そのときに最適なレート歪コストを与える予測画像生成法を求めるという処理を行う。【０１３７】
つまり、参照ベクトル候補インデックスmv＿ref＿idx を１に初期化し、最小レート歪コストmcost を絶対に取りえない最大値maxCost に初期化した後［Ｓ３０１］、mv＿ref＿idx が割り当てられた参照ベクトル候補数NumOfListMvRefになるまで［Ｓ３１３］、mv＿ref＿idx に１を加算しながら［Ｓ３１４］、以下の処理［Ｓ３０２〜Ｓ３１２］を繰り返し実行する。【０１３８】
この繰り返し実行する［Ｓ３０２〜Ｓ３１２］では、まず、mv＿ref＿idx に対応付けられた参照ベクトルを求めて、それをmv＿ref とする［Ｓ３０２］。
ここで、入力画像上のブロックblk の画像情報と、フレーム ref＿vec 上の位置 pos＋mv＿ref の領域の画像情報との相違度を求め、それが予め設定された閾値ＴＨよりも小さいかどうかを判定する［Ｓ３０３］。
ここでの処理は前述のＳ２０３で行われる処理と同じであり、相違度もＳ２０３のときと同様にして求められる。【０１３９】
相違度が閾値以上の場合は、mv＿ref で示される参照ベクトル対象領域の画像情報が符号化対象領域の画像情報と大きく異なっており、その領域は符号化対象領域と対応しないことを示しているため、そのときのmv＿ref＿idx に対する処理を終了する。【０１４０】
一方、Ｓ３０３の判定処理で、相違度が閾値より小さいと判定された場合は、まず、フレーム ref＿vec 上の位置 pos＋mv＿ref の領域に対応するフレーム ref＿mid(中間フレーム）上の領域を求め、その位置を pos＋mv＿ref ＋mv＿mid としたときのmv＿mid を求める［Ｓ３０４］。【０１４１】
次に、フレーム ref＿mid 上の位置 pos＋mv＿ref ＋mv＿mid の領域に対応するフレームref 上の領域を求め、その位置を pos＋mv＿ref ＋mvとしたときのmvを求める［Ｓ３０５］。このＳ３０４とＳ３０５における処理については後で詳細に説明を行う。【０１４２】
なお、Ｓ３０５の処理でフレームref 上の領域を求める際に、対応元として、フレーム ref＿mid 上の位置 pos＋mv＿ref ＋mv＿mid の領域の代わりに、フレーム ref＿vec 上の位置 pos＋mv＿ref の領域を用いても構わない。
この方法では、テンプレートとして用いる画像情報が変化しないため、対応領域を求める際に誤差が累積して符号化対象領域の画像情報に近くない画像情報を持つ領域が対応領域として求められてしまうのを防ぐことができる。【０１４３】
そして、ここまでに得られたフレーム ref＿vec 上の位置 pos＋mv＿ref の領域の画像情報ＲＶec［］と、フレーム ref＿mid 上の位置 pos＋mv＿ref ＋mv＿mid の領域の画像情報Ｍid［］と、フレームref 上の位置 pos＋mv＿ref ＋mvの領域の画像情報Ｒef［］とを用いて、最小のレート歪コストが得られるような予測画像が生成できるかどうかを調べる［Ｓ３０６〜Ｓ３１２］。【０１４４】
つまり、予測画像生成法インデックスpmode を１に初期化した後［Ｓ３０６］、pmode が予測画像生成法の数MaxPmodeになるまで［Ｓ３１１］、pmode に１を加算しながら［Ｓ３１２］、pmode に対応付けられた予測画像の生成法で予測画像を生成し［Ｓ３０７］、そのときのレート歪コストcostを計算し［Ｓ３０８］、costがmcost よりも小さいかどうかを判定し［Ｓ３０９］、costのほうが小さいと判定された場合には、mcost をcostに書き換え、 b＿mv＿ref をmv＿ref に書き換え、 b＿mv＿mid をmv＿mid に書き換え、 b＿mvをmvに書き換え、 b＿pmode をpmode に書き換える［Ｓ３１０］、という処理［Ｓ３０７〜Ｓ３１０］を繰り返し実行する。
このときＳ３０８で行うレート歪コストの計算は前述のＳ１１０での方法と同様の方法を用いて行う。【０１４５】
ここでは、３つの画像情報（参照ベクトル対象フレーム上の画像情報と、参照フレーム上の画像情報と、中間フレーム上の画像情報という３つの画像情報）が得られたときに利用できる予測画像の生成法として、前述の〔数４〕式で示した方法に加えて、対応する画素ごとに３つの画像情報の平均値を求めて予測画像を作る方法と、対応する画素ごとに３つの画像情報の中間値を求めて予測画像を作る方法と、中間領域と参照ベクトル対象領域との間の変化が参照領域と符号化対象領域との間に起こると仮定して予測画像を生成する方法を挙げる。【０１４６】
これらの予測画像生成法は、式で表すと下記の〔数５〕式のようになる。ここでは、説明のために、それぞれを pmode＝3,4,5 に対応させている。なお、これ以外の方法にpmode を割り当てても構わないし、pmode の割り当てる順番を変更しても構わない。【０１４７】
【数５】
2008053758.tif 000007
【０１４８】
なお、 pmode＝５の予測はＳ３０５の処理を、フローチャートに記述の通りに実行した場合のほうが、仮定した情報を実現しやすくなるため予測精度が良くなる。
一方、 pmode＝４の予測はＳ３０５の処理を記述通りではなく、フレームref 上の領域を求める際に、上述したように、対応元として、フレーム ref＿mid 上の位置 pos＋mv＿ref ＋mv＿mid の領域の代わりに、フレーム ref＿vec 上の位置 pos＋mv＿ref の領域を用いたほうが、誤差の累積が少なくなり予測精度がよくなる。
そのため、pmode に応じて、フローチャートのＳ３０５において、フレーム ref＿mid 上の位置 pos＋mv＿ref ＋mv＿mid の領域を使うか、フレーム ref＿vec 上の位置 pos＋mv＿ref の領域を使うかを切り替える方法をとることができる。【０１４９】
次に、図１０に示すフローチャートに従って、前述のＳ２０４，Ｓ３０４，Ｓ３０５で行われる処理について詳細に説明する。【０１５０】
このフローチャートでは、Ｓ２０４，Ｓ３０４，Ｓ３０５の処理を一般化し、フレームＡ上の位置Ｘの領域に対応するフレームＢ上の領域Ｙを求める処理を示す。
ただし、Ｓ２０４，Ｓ３０４，Ｓ３０５で求めるmvやmv＿mid は、それぞれＹの位置を用いて必要なものを計算することとする。なお、以下では、フレームＡ上の位置Ｘの領域を単に領域ＡＸと表す。【０１５１】
まず、領域ＡＸを符号化する際に利用された参照ベクトル対象フレームのインデックスを対応関係情報蓄積メモリ１１２から取得し、 ref＿vec＿t とする［Ｓ４０１］。【０１５２】
このとき、領域ＡＸが、符号化処理の単位ブロックに一致していない場合などには、領域ＡＸが符号化する際に利用された参照ベクトル対象フレームは１つに定まらない。
その場合は、複数の参照ベクトル対象フレームのうち、領域ＡＸ内で最も広い領域に対して用いられている参照ベクトル対象フレームのインデックスを ref＿vec＿t とする。
また、１つも参照ベクトル対象フレームを持たない場合は、絶対に取り得ない値を ref＿vec＿t に設定することとする。【０１５３】
次に、こうして求められた ref＿vec＿t とＢとが等しいかどうかを判定する［Ｓ４０２］。
等しいと判定された場合は、領域ＡＸを符号化する際に利用された参照ベクトルmv＿vec＿t を求める［Ｓ４０３］。【０１５４】
このとき、領域ＡＸが符号化処理の単位ブロックに一致していない場合などには、領域ＡＸが符号化する際に利用された参照ベクトルは１つに定まらない。
その場合は、領域ＡＸ内で、参照ベクトル対象フレームが ref＿vec＿t の領域の持つ参照ベクトルのうち最も大きな領域で用いられているものをmv＿vec＿t とする。
なお、単純に最も大きな領域で用いられているものではなく、領域の大きさごとに重み付けした平均値や中間値、領域の大きさによって重み付けをしないで求めた平均値や中間値などを用いても構わない。【０１５５】
mv＿vec＿t が求められたら、フレームＢ上の位置Ｘ＋mv＿vec＿t の周辺で、領域ＡＸの画像情報に近い画像情報を持つ領域Ｙを求める［Ｓ４０４］。
なお、探索のための演算量を削減するために、位置Ｘ＋mv＿vec＿t をＹにしてしまっても構わない。なぜなら、Ｘ＋mv＿vec＿t で示される領域は領域ＡＸを符号化する際に参照された領域であるため、ある程度領域ＡＸの画像情報に近い画像情報を持つ領域となり、対応関係の適合度を大きく低下させないからである。【０１５６】
一方、Ｓ４０２の判定処理で、 ref＿vec ＿t とＢとが等しくないと判定された場合、領域ＡＸを符号化する際に利用された参照フレームのインデックスを対応関係情報蓄積メモリ１１２から取得し、 ref＿t とする［Ｓ４０５］。
このときも、Ｓ４０１の処理のときと同様に、複数の参照フレームが得られる場合があるが、そのときにはＳ４０１の処理で説明した方法と同様の方法を用いて、１つの ref＿t を決定する。【０１５７】
そして、今度は、 ref＿t とＢとが等しいかどうか判定する［Ｓ４０６］。【０１５８】
等しいと判定された場合は、領域ＡＸを符号化する際に利用された位置Ｘから参照領域までのベクトルmv＿t を対応関係情報蓄積メモリ１１２から取得する［Ｓ４０７］。
領域ＡＸに対して複数のmv＿t が得られる場合は、Ｓ４０３の処理で説明した方法に従い１つのmv＿t を得る。
mv＿t が求められたら、フレームＢ上の位置Ｘ＋mv＿t の周辺で、領域ＡＸの画像情報に近い画像情報を持つ領域Ｙを求める［Ｓ４０８］。
このとき、Ｓ４０４の処理のところで説明した通り、探索のための演算量削減のために、位置Ｘ＋mv＿t をＹにしてしまっても構わない。【０１５９】
一方、Ｓ４０６の判定処理で、 ref＿t とＢとが等しくないと判定された場合、領域ＡＸの画像情報に近い画像情報を持つフレームＢ上の領域Ｙを、通常のブロックマッチング等の探索を行うことで求める［Ｓ４０９］。【０１６０】
次に、Ｓ１２７で行われる予測画像生成処理の詳細について説明する。【０１６１】
予測画像は、Ｓ１２７の処理に到達するまでに行われる処理によって求められた、pos, best＿ref, best＿ref＿vec, best＿ref＿mid, best＿mv, best＿mv＿ref, best＿mv＿mid, best＿pmode に従って、以下の手順１で生成される。【０１６２】
手順１
１．フレームbest＿ref＿vec 上の位置 pos＋best＿mv＿ref の領域の画像情報ＲＶec［］を参照フレームメモリ１０５から取得する
２．best＿ref とbest＿ref＿vec とが等しければ６へ進む
３．フレームbest＿ref 上の位置 pos＋best＿mv＿ref ＋best＿mvの領域の画像情報Ｒef[] を参照フレームメモリ１０５から取得する
４．best＿ref＿mid がbest＿ref とが等しければ６へ進む
５．フレームbest＿ref＿mid 上の位置 pos＋best＿mv＿ref ＋best＿mv＿mid の領域の画像情報Ｍid[]を参照フレームメモリ１０５から取得する
６．pmode の値に従い、前述の〔数４〕式及び〔数５〕式を用いて予測画像Ｐred[] を生成する
なお、ここに挙げた以外の予測画像の生成法をpmode に対応付けて利用しても構わない。【０１６３】
次に、Ｓ１２８で行われる付加情報符号化処理の詳細について説明する。【０１６４】
ここで言う付加情報とは、best＿ref, best＿ref＿vec, best＿pmode のことである。なお、これらの情報を符号化するのに先立って差分参照ベクトルが符号化されているものとする。【０１６５】
まず、参照ベクトル対象フレームbest＿ref＿vec を符号化する。
best＿ref＿vec は、ブロックblk の隣接領域においてbest＿ref＿vec として符号化されているフレームや、符号化対象フレームに隣接するフレームに対応したフレームが選択される可能性が高いと考えられるため、それらのフレームに対応するフレームインデックスを符号化する場合に、それ以外のフレームに対応するフレームインデックスを符号化する場合よりも少ない符号量で符号化できるように符号語テーブルを切り替える。
そうすることで、どのフレームにも同じ符号量が必要な場合に比べて、少ない符号量で符号化を行うことができる。【０１６６】
次に、参照フレームbest＿ref を符号化する。
先に符号化したbest＿ref＿vec と、別に符号化されている差分参照ベクトルから生成できる参照ベクトルとを用いて符号語テーブルを切り替える。
つまり、参照ベクトル対象フレームbest＿ref＿vec 上の参照ベクトルによって示される参照ベクトル対象領域の符号化情報を用いて、発生確率の高いと思われるフレームインデックスに対して短い符号語を割り当てるように符号語テーブルを切り替える。【０１６７】
例えば、参照ベクトル対象フレームbest＿ref＿vec がＩフレームでないのに参照ベクトル対象領域でイントラ符号化が最も多く使われている場合、その参照ベクトル対象領域と画像情報の似た別のフレームの領域が無いということを示していることから、best＿ref はbest＿ref＿vec と同じになる可能性が高いため、best＿ref＿vec と同じフレームインデックスに短い符号語を割り当てる。
また、同様に、参照ベクトル対象領域を符号化する際に参照フレームや参照ベクトル対象フレームとして用いられているフレームは、用いられている領域が大きければ大きいほどbest＿ref に選ばれている可能性が高いため、その確率の順に従って符号語を割り当てる。
このようにすることで、全てのインデックスに対して同じ長さの符号語を割り当てるよりも、少ない符号量で符号化をすることができる。【０１６８】
最後に、best＿pmode を符号化する。先に符号化したbest＿ref＿vec とbest＿ref と参照フレームメモリ１０５内のフレーム情報とを用いて符号語テーブルを切り替える。【０１６９】
例えば、best＿ref＿vec とbest＿ref とが等しい場合、ブロックblk に対して対応領域が１つしか得られないことになることから、pmode が１以外であっても意味がないため、pmode の符号化自体を省略する符号語テーブルを設定することで符号量を削減することができる。【０１７０】
また、逆に、best＿ref＿vec とbest＿ref とが異なる場合は、pmode として１が選ばれる可能性は極めて低いと考えられるため、１以外のものの符号語が短くなるように符号語テーブルを切り替えることで、全ての予測画像生成法に同じ長さの符号語を割り当てるよりも、少ない符号量で符号化することができる。
また、参照フレーム上に２つのフレームしかない場合や、best＿ref＿vec とbest＿ref との組合せを考えた際に、適切な中間フレームが参照フレームメモリ１０５上にない場合には、対応領域を３つ必要とする予測画像生成法は取り得ないため、それ以外の予測画像生成法の符号語が短くなるような符号語テーブルに切り替えることで、全ての予測画像生成法に同じ長さの符号語を割り当てるよりも、少ない符号量で符号化することができる。【０１７１】
なお、前述したように、付加情報はそれぞれを個別に符号化しても構わないし、組合せに対して番号を割り当てて符号化を行っても構わない。【０１７２】
つまり、参照フレームメモリに２枚の画像（インデックスを１と２とする）があり、予測画像生成法がこれまでに挙げた５種類の場合、｛best＿ref, best＿ref＿vec, best＿pmode｝の組は、｛１，１，１｝、｛１，１，２｝、｛１，１，３｝、｛１，１，４｝、｛１，１，５｝、｛１，２，１｝、｛１，２，２｝、｛１，２，３｝、｛１，２，４｝、｛１，２，５｝、｛２，１，１｝、｛２，１，２｝、｛２，１，３｝、｛２，１，４｝、｛２，１，５｝、｛２，２，１｝、｛２，２，２｝、｛２，２，３｝、｛２，２，４｝、｛２，２，５｝の２０種類存在する。
この２０種類の組合せに対して１〜２０の番号を割り当てて、その番号を符号化しても構わない。【０１７３】
しかし、これらの組合せの中には、意味の無い組合せがいくつか存在する。
例えば、best＿ref とbest＿ref＿vec とが同じものは、符号化対象領域に対して対応領域が１つしか得られないため、 pmode＝２〜５はありえない。
つまり、有効な組合せは、｛１，１，１｝、｛１，２，１｝、｛１，２，２｝、｛１，２，３｝、｛１，２，４｝、｛１，２，５｝、｛２，１，１｝、｛２，１，２｝、｛２，１，３｝、｛２，１，４｝、｛２，１，５｝、｛２，２，１｝の１２種類だけであり、１〜１２の番号のうち１つを符号化すればよい。【０１７４】
また、参照フレームメモリに２枚の画像しかない場合は、中間フレームとして選択できるフレームがないため、３つの対応領域を必要とするpmode も意味がない。したがって、有効な組合せはさらに減少し、｛１，１，１｝、｛１，２，１｝、｛１，２，２｝、｛２，１，１｝、｛２，１，２｝、｛２，２，１｝の６種類のみが有効なものとなり１〜６の番号のうち１つを符号化すればよい。【０１７５】
参照フレームメモリに３枚以上の画像がある場合においても、本実施形態例の場合、best＿ref とbest＿ref＿vec との組合せによっては、適切な中間フレームが存在せず、３つの対応領域を必要とする予測画像生成が出来ない状況がありえる。そのような場合においても、有効でない組合せに対しては符号を割り当てないという方法をとることができる。【０１７６】
さらに、３つ全ての情報を組み合わせて符号化せずに、特定の２つのみを組み合わせて符号化しても構わない。
例えば、best＿ref＿vec は個別に符号化し、best＿ref とpmode とは組み合わせて１つの符号語で符号化しても構わない。このとき、best＿ref＿vec と別途符号化されている参照ベクトルとを用いることで得られる参照ベクトル対象領域における符号化データによって｛best＿ref, pmode｝の符号語テーブルを切り替えて符号化する方法も、前述の関連例により容易に類推可能である。【０１７７】
図１１に、本発明の動画像復号装置２００の一実施形態例を示す。【０１７８】
この動画像復号装置２００は、復号対象
となる画像の予測画像に対する差分であるところの差分画像の符号化データを復号する差分画像復号部２０１と、予測画像を生成する際に必要な参照ベクトルの予測参照ベクトルに対する差分であるところの差分参照ベクトルの符号化データを復号する差分参照ベクトル復号部２０２と、予測画像を生成する際に必要な参照ベクトル対象フレーム指定情報と参照フレーム指定情報と予測画像生成法指定情報とからなる付加情報の符号化データを復号する付加情報復号部２０３と、与えられた情報に従い復号対象領域の予測画像を作成する予測画像作成部２０４と、予測画像と復号された差分画像との和で求められる復号画像を蓄積する参照フレームメモリ２０５と、復号対象領域の隣接領域で使われていたベクトル情報から復号対象領域で用いる参照ベクトルの予測ベクトルとなる予測参照ベクトルを生成する予測参照ベクトル生成部２０６と、復号に用いた参照ベクトルと参照領域と参照ベクトル対象フレームと参照フレームとの組を、復号対象フレーム及び復号対象領域に関係付けて蓄積する対応関係情報蓄積メモリ２０７と、予測参照ベクトルと復号された差分参照ベクトルとの和で求められる参照ベクトルによって示される、参照ベクトル対象フレーム上の参照ベクトル対象領域を設定する参照ベクトル対象領域設定部２０８と、参照ベクトル対象領域の画像情報と参照フレームとを用いて参照領域を探索する参照領域探索部２０９とを備える。【０１７９】
図１２に、このように構成される動画像復号装置２００の実行する動画像復号処理のフローチートを示す。【０１８０】
このフローチャートに従って、このように構成される動画像復号装置２００の実行する動画像復号処理について詳細に説明する。ただし、既に複数フレームの画像を復号済みであり、その結果が参照フレームメモリ２０５、対応関係情報蓄積メモリ２０７に蓄積されているものとする。【０１８１】
まず、差分画像の符号化データと、差分参照ベクトルの符号化データと、付加情報の符号化データとが、動画像復号装置２００へ入力され、それぞれ、差分画像復号部２０１と、差分参照ベクトル復号部２０２と、付加情報復号部２０３へ送られる［Ｓ５０１］。【０１８２】
復号対象画像は画像全体を領域分割し、領域毎に復号を行う［Ｓ５０２〜Ｓ５１７］。
このフローチャートでは、ブロック（領域）のインデックスをblk と表し、一つの画像に含まれる総ブロック数をMaxBlkと表す。つまり、インデックスblk を１に初期化した後［Ｓ５０２］、blk がMaxBlkになるまで［Ｓ５１６］、blk に１を加算しながら［Ｓ５１７］、以下の処理［Ｓ５０３〜Ｓ５１５］を繰り返し実行することで画像を復号する。【０１８３】
ブロック毎に行う処理では、まず、ブロックblk の位置をpos に格納し［Ｓ５０３］、対応関係情報蓄積メモリ２０７に格納されている、ブロックblk の周辺ブロックで使用された参照ベクトル等から、予測参照ベクトルpmv を生成する［Ｓ５０４］。【０１８４】
次に、符号化データから、ブロックblk に対する参照ベクトル対象フレームインデックス dec＿ref＿vec と、参照フレームインデックス dec＿ref と、予測画像生成法インデックス dec＿pmode と、差分参照ベクトル dec＿sub＿mv＿ref と、予測残差画像の画像情報Ｒes[]とを復号し、参照ベクトル dec＿mv＿ref を pmv＋ dec＿sub＿mv＿ref を計算することで取得し、mvをゼロベクトルで初期化する［Ｓ５０５］。【０１８５】
そして、 dec＿ref と dec＿ref＿vec とが等しいかどうか判定を行う［Ｓ５０６］。等しいと判定された場合は、予測画像Ｐred[] を生成する［Ｓ５１２］。
ここで行われる予測画像生成処理は、best＿ref をdec＿ref に、best＿ref ＿vec を dec＿ref＿vec に、best＿mv＿ref を dec＿mv＿ref に、best＿pmode を dec＿pmode に、best＿ref＿mid を ref＿mid に、best＿mv＿mid をmv＿mid に、best＿mvをmvに読み替えた前述の手順１に従って行われる。【０１８６】
一方、Ｓ５０６の判定処理で、 dec＿ref と dec＿ref＿vec とが等しくないと判定された場合は、 dec＿ref＿vec が示すフレームとの時刻関係及び視点関係が、復号対象フレームと dec＿ref が示すフレームとの時刻関係及び視点関係に一致するような既に復号済みのフレームを見つけ、それを ref＿mid とする［Ｓ５０７］。
なお、この条件を満たす復号済みフレームが参照フレームメモリ２０５内に存在しない場合には、 ref＿mid は dec＿ref に設定する。【０１８７】
そして、 ref＿mid が dec＿ref 又は dec＿ref＿vec に一致するかどうかを判定する［Ｓ５０８］。【０１８８】
一致すると判定された場合は、フレーム dec＿ref＿vec 上の位置 pos＋ dec＿mv＿ref の領域に対応するフレーム dec＿ref 上の領域を求め、その位置を pos＋ dec＿mv＿ref ＋mvとしたときのmvを求める［Ｓ５０９］。
この処理は一部の変数名が異なるだけで、既に説明したＳ２０４で行われる処理と等しい。【０１８９】
また、Ｓ５０８の判定処理で、 ref＿mid が dec＿ref と dec＿ref＿vec のどちらとも等しくないと判定された場合、まず、フレーム dec＿ref＿vec 上の位置 pos＋ dec＿mv＿ref の領域に対応するフレーム ref＿mid 上の領域を求め、その位置を pos＋ dec＿mv＿ref ＋mv＿mid としたときのmv＿mid を求める［Ｓ５１０］。【０１９０】
次に、フレーム ref＿mid 上の位置 pos＋ dec＿mv＿ref ＋mv＿mid の領域に対応するフレーム dec＿ref 上の領域を求め、その位置を pos＋ dec＿mv＿ref ＋mvとしたときのmvを求める［Ｓ５１１］。
この処理は一部の変数名が異なるだけで、それぞれ、既に説明したＳ３０４とＳ３０５で行われる処理と等しい。【０１９１】
Ｓ５０９，Ｓ５１１の処理が終了したら、求められた情報を用いて予測画像Ｐred[] を生成する［Ｓ５１２］。
ここで行われる予測画像生成処理は、前述のように、best＿ref を dec＿ref に、best＿ref ＿vec を dec＿ref＿vec に、best＿mv＿ref を dec＿mv＿ref に、best＿pmode を dec＿pmode に、best＿ref＿mid を ref＿mid に、best＿mv＿mid をmv＿mid に、best＿mvをmvに読み替えた前述の手順１に従って行われる。【０１９２】
予測画像Ｐred[] が生成されたら、Ｐred[] とＲes[]の画素値を画素ごとに加えて、復号画像Ｄec[]を生成する［Ｓ５１３］。生成されたＤec[]は出力されるとともに、参照フレームメモリ２０５へ格納される［Ｓ５１４］。
また、復号に用いた dec＿ref＿vec, dec＿ref, dec＿mv＿ref, dec＿pmode, mvを復号対象フレームのインデックスとpos(若しくはblk)に対応付けて、対応関係情報蓄積メモリ２０７に格納する［Ｓ５１５］。【０１９３】
ここで、Ｓ５０５の処理で行われる付加情報の符号化データを復号する際には、前述した符号化時の方法と同様に符号語テーブルを切り替えながら復号を行う。
なお、付加情報の符号化データを復号する前に、差分参照ベクトルの符号化データを復号し、ブロックblk で用いる参照ベクトルが得られているものとする。【０１９４】
まず、 dec＿ref＿vec を復号する。 
dec＿ref＿vec の示すフレームは、ブロックblk の隣接領域において参照ベクトル対象フレームとして用いられたフレームや、符号化対象フレームに隣接するフレームに対応したフレームである可能性が高いため、それらのフレームに対応するフレームインデックスが符号化されている可能性が高いとして、それらのフレームインデックスに対してそれ以外のフレームに対応するフレームインデックスよりも短い符号語の割り当てられた符号語テーブルに切り替える。【０１９５】
次に、 dec＿ref を復号する。ここでは、先に復号したbest＿ref＿vec と参照ベクトルとを用いて符号語テーブルを切り替える。
つまり、フレーム dec＿ref＿vec上の参照ベクトルによって示される参照ベクトル対象領域の符号化情報を用いて、発生確率の高いと思われるフレームインデックスに対して短い符号語が割り当てられているような符号語テーブルに切り替える。【０１９６】
例えば、フレーム dec＿ref＿vec がＩフレームでないのに参照ベクトル対象領域でイントラ符号化が最も多く使われている場合、その参照ベクトル対象領域と画像情報の似た別のフレームの領域が無いということを示していることから、 dec＿ref は dec＿ref＿vec と同じになる可能性が高いため、 dec＿ref＿vec と同じフレームインデックスに短い符号語が割り当てられた符号語テーブルを用いる。
また、同様に、参照ベクトル対象領域を復号する際に参照フレームや参照フレーム対象フレームとして用いられているフレームは、用いられている領域が大きければ大きいほど dec＿ref に選ばれている可能性が高いため、その確率の順に従って符号語を割り当てた符号語テーブルを用いる。【０１９７】
最後に、 dec＿pmode を復号する。先に復号した dec＿ref＿vec と dec＿ref と参照フレームメモリ１０５内のフレーム情報とを用いて符号語テーブルを切り替える。
例えば、 dec＿ref＿vec と dec＿ref とが等しい場合、ブロックblk に対して対応領域が１つしか得られないことになるため、 dec＿pmode が１以外であっても意味がないため、 dec＿pmode は符号化データに含まれていないと判断し、 dec＿pmode を１と復号する。【０１９８】
また、逆に、 dec＿ref＿vec と dec＿ref とが異なる場合は、 dec＿pmode として１が選ばれる可能性は極めて低いと考えられるため、１以外のものの符号語が短い符号語テーブルを用いる。
また、参照フレーム上に２つのフレームしかない場合や、 dec＿ref＿vec と dec＿ref との組合せを考えた際に、適切な中間フレームが参照フレームメモリ２０５上にない場合には、対応領域を３つ必要とする予測画像生成法は取り得ないため、それ以外の予測画像生成法の符号語が短い符号語テーブルに切り替える。【０１９９】
ただし、ここで用いる符号語テーブルとその切替基準は、符号化時のものと同様のものを用いる必要がある。【０２００】
また、前述した動画像符号化装置１００の実施形態例で説明した通り、付加情報を個別に符号化せずに、組合せに対して番号を割り当てて符号化されていても構わない。その場合、復号も同様に、組合せに対して番号が割り当てられているものとして復号処理を行うことで復号処理を行う。【０２０１】
図示実施形態例に従って本発明を説明したが、本発明は、この実施形態例に限られるものではない。【０２０２】
例えば、実施形態例では、中間フレームを、参照ベクトル対象フレームとの時刻関係及び視点関係が、符号化及び復号対象フレームと参照フレームとの時刻関係及び視点関係に一致するようなフレームに固定している。
しかし、符号化側と復号側とで同じルールに基づいて選ぶのであれば、別のルールで決定されるフレームを用いても構わない。【０２０３】
例えば、「表示時刻が参照ベクトル対象フレームの表示時刻と等しく視点情報が参照フレームの視点情報と等しいフレームか、表示時刻が参照フレームの表示時刻と等しく視点情報が参照ベクトル対象フレームの視点情報と等しいフレームのうち、表示時刻及び視点情報が、符号化及び復号対象フレームの表示時刻及び視点情報に近いほうのフレーム」という基準で中間フレームを選択することにしても構わない。【０２０４】
この選択の方法で選択した中間フレームを用いることで、参照ベクトル対象フレームから中間フレーム、中間フレームから参照フレーム、それぞれの間に含まれる映像変化の要因が時間若しくはカメラ間のどちらか一方になるため対応領域探索に必要な演算量を減らすことができる。【０２０５】
また、この選択の方法の中間フレームを用いた場合には、前述の pmode＝５の予測画像生成法によって生成された画像の画像情報が符号化（復号）対象領域の画像情報に近くなる可能性が低くなる。これは、上記の予測画像生成法で仮定している状況が成り立たなくなるためである。
その場合には、この選択の方法で選ばれた中間フレームが、上記の予測画像生成法で仮定している状況、つまり、参照フレームと符号化対象フレームとの関係と、中間フレームと参照ベクトル対象フレームとの関係が等しい状況が成立する場合にのみ上記の予測画像生成法の選択を可能にするとか、そのような仮定状況が成り立つときと成り立たないときとで符号語テーブルを切り替えて、選ばれやすい予測画像生成法により短い符号語を割り当てるようにする、ということを行っても構わない。【０２０６】
また、実施形態例では、フレーム内符号化については述べていないが、予測画像を作る方法の１つとして、例えば、予測画像生成法として別の番号を割り当てることで容易に追加することができる。
また、予測画像生成法として扱わず、Ｈ.264のように別途符号化モードを用意して実現した動画像符号化装置や動画像復号装置も本発明から容易に類推可能である。【０２０７】
以上説明した動画像符号化及び復号の処理は、コンピュータとソフトウェアプログラムとによっても実現することができ、そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも、ネットワークを通して提供することも可能である。【０２０８】
また、以上の実施形態例では、動画像符号化装置及び動画像復号装置を中心に説明したが、これら動画像符号化装置及び動画像復号装置の各部の動作に対応したステップによって本発明の動画像符号化方法及び動画像復号方法を実現することができる。【０２０９】
以上、図面を参照して本発明の実施形態例を説明してきたが、以上に説明した実施形態例は本発明の例示に過ぎず、本発明が以上に説明した実施形態例に限定されるものでないことは明らかである。
したがって、本発明の精神及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行っても良い。
【産業上の利用可能性】
【０２１０】
本発明によれば、隣接領域で予測画像を生成する際の参照フレームが異なる場合においても、同じ参照ベクトル対象フレームを用いることで、ベクトルで表現しなければならない時間や視差といった映像変化の要因が統一され、隣接領域で符号化されたベクトルから、符号化すべきベクトルに近い予測ベクトルを生成できるようになり、これにより、より少ない符号量でフレーム間予測符号化のためのベクトル情報を符号化することができるようになる。
【図１】
2008053758.tif 000008
【図２】
2008053758.tif 000009
【図３】
2008053758.tif 000010
【図４】
2008053758.tif 000011
【図５】
2008053758.tif 000012
【図６】
2008053758.tif 000013
【図７】
2008053758.tif 000014
【図８】
2008053758.tif 000015
【図９】
2008053758.tif 000016
【図１０】
2008053758.tif 000017
【図１１】
2008053758.tif 000018
【図１２】
2008053758.tif 000019
【図１３Ａ】
2008053758.tif 000020
【図１３Ｂ】
2008053758.tif 000021
【図１３Ｃ】
2008053758.tif 000022
【図１３Ｄ】
2008053758.tif 000023
【図１４】
2008053758.tif 000024
【国際調査報告】
2008053758.tif 000025
2008053758.tif 000026
2008053758.tif 000027
2008053758.tif 000028