(57)【要約】【課題】従来のＭＰＥＧなどの動画像符号化方法が不得意としていた、フェード画像について、演算量や符号化データのオーバヘッドの増加が少なく、かつ予測効率を大幅に向上することが可能な動画像符号化方法を提供する。【解決手段】動画像の符号化において、複数の復号化された動画像信号を参照フレームとし、マクロブロック毎に複数の参照フレームの１つから予測マクロブロック画像を生成するか、複数の参照フレームから参照マクロブロックを切り出し、その平均値を予測マクロブロック画像とするか、あるいは複数の参照フレームから参照マクロブロックを切り出し、参照フレームと符号化フレームとのフレーム間距離に応じた線形外挿あるいは線形内挿によって予測マクロブロック画像を生成するかを適応的に切り替えて符号化を行う。【選択図】      図１
2007259484.tif 000002
【特許請求の範囲】
【請求項１】
マクロブロック毎に複数の動画像フレームを参照する動き補償予測フレーム間符号化データの復号化方法において、
符号化された動きベクトルデータ、予測モード情報及び予測誤差信号を受信するステップと、
前記動きベクトル及び前記予測モードに応じて、 
（ａ）前記複数の参照フレームのうち、特定の１フレームから予測マクロブロックを生成するか、
（ｂ）複数の参照フレームから複数の参照マクロブロックを生成して前記の複数の参照マクロブロックの平均値を予測マクロブロックとして生成するか、或いは
（ｃ）前記複数の参照マクロブロックからフレーム間の距離に基づく線形外挿予測または線形内挿予測のいずれかにより予測マクロブロックを生成するか、
を選択するステップと、
前記生成された予測マクロブロックと前記予測誤差信号を加算するステップと、
を含み、
前記予測モード情報は、
（１）特定の１つの参照フレームを利用した予測か、或いは複数の参照フレームを利用した予測のいずれかを示す第１のモード情報と、
（２）前記複数の参照フレームを利用した予測が、複数の参照マクロブロックの平均値による予測であるか、或いは複数の参照マクロブロックからフレーム間の距離に基づく線形外挿或いは線形内挿による予測であるかを示す第２のモード情報と、
を含んで構成され、
前記第１のモード情報は、マクロブロックのデータの一部として受信され、
前記第２のモード情報は、符号化フレームのヘッダデータの一部、または、複数の符号化フレームを含む符号化フレーム群に対するヘッダデータの一部、として受信されることを特徴とする動画像復号化方法。
【請求項２】
マクロブロック毎に複数の動画像フレームを参照する動き補償予測フレーム間符号化データの復号化装置において、
符号化された動きベクトルデータ、予測モード情報及び予測誤差信号を受信する受信部と、
前記動きベクトル及び前記予測モードに応じて、
（ａ）前記複数の参照フレームのうち、特定の１フレームから予測マクロブロックを生成するか、
（ｂ）複数の参照フレームから複数の参照マクロブロックを生成して前記の複数の参照マクロブロックの平均値を予測マクロブロックとして生成するか、或いは、
（ｃ）前記複数の参照マクロブロックからフレーム間の距離に基づく線形外挿予測または線形内挿予測のいずれかにより予測マクロブロックを生成するか、
を選択する選択部と、
前記生成された予測マクロブロックと前記予測誤差信号を加算する加算部と、
を具備し、
前記予測モード情報は、
（１）特定の１つの参照フレームを利用した予測か、或いは複数の参照フレームを利用した予測のいずれかを示す第１のモード情報と、
（２）前記複数の参照フレームを利用した予測が、複数の参照マクロブロックの平均値による予測であるか、或いは複数の参照マクロブロックからフレーム間の距離に基づく線形外挿或いは線形内挿による予測であるかを示す第２のモード情報と、
を含み、
前記第１のモード情報は、マクロブロックのデータの一部として受信され、
前記第２のモード情報は、符号化フレームのヘッダデータの一部、または、複数の符号化フレームを含む符号化フレーム群に対するヘッダデータの一部、として受信されることを特徴とする動画像復号化装置。
【請求項３】
マクロブロック毎に複数の動画像フレームを参照する動き補償予測フレーム間符号化データの復号化方法をコンピュータに実行させるためのプログラムであって、
符号化された動きベクトルデータ、予測モード情報及び予測誤差信号を受信する手段、
前記動きベクトル及び前記予測モードに応じて、
（ａ）前記複数の参照フレームのうち、特定の１フレームから予測マクロブロックを生成するか、
（ｂ）複数の参照フレームから複数の参照マクロブロックを生成して前記の複数の参照マクロブロックの平均値を予測マクロブロックとして生成するか、或いは
（ｃ）前記複数の参照マクロブロックからフレーム間の距離に基づく線形外挿予測または線形内挿予測のいずれかにより予測マクロブロックを生成するか
を選択する手段、
前記生成された予測マクロブロックと前記予測誤差信号を加算する手段
としてコンピュータを機能させ、
前記予測モード情報は、
（１）特定の１つの参照フレームを利用した予測か、或いは複数の参照フレームを利用した予測のいずれかを示す第１のモード情報と、
（２）前記複数の参照フレームを利用した予測が、複数の参照マクロブロックの平均値による予測であるか、或いは複数の参照マクロブロックのフレーム間の距離に基づく線形外挿或いは線形内挿による予測であるかを示す第２のモード情報とを含んで構成され、
前記第１のモード情報は、マクロブロックのデータの一部として受信され、
前記第２のモード情報は、符号化フレームのヘッダデータの一部、または、複数の符号化フレームを含む符号化フレーム群に対するヘッダデータの一部、として受信されることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の参照フレームを利用する動き補償予測フレーム間符号化方法と装置及び動き補償予測フレーム間復号化方法と装置に関する。
【背景技術】
【０００２】
動画像の動き補償予測フレーム間符号化方法として、ＭＰＥＧ１（ＩＳＯ/ＩＥＣ１１１７２−２）、ＭＰＥＧ２（ＩＳＯ/ＩＥＣ１３８１８−２），ＭＰＥＧ４（ＩＳＯ/ＩＥＣ１４４９６−２）などが広く実用化されている。これらの符号化方式では、フレーム内符号化ピクチャ（Ｉピクチャ）、前方予測フレーム間符号化ピクチャ（Pピクチャ）、及び両方向予測フレーム間符号化ピクチャ（Bピクチャ）の組み合わせによる符号化が行われる。
【０００３】
Ｐピクチャは、直前のＰまたはＩピクチャを参照画像として符号化され、Ｂピクチャは直前及び直後のＰまたはＩピクチャを参照画像として符号化される。ＭＰＥＧでは、１つの映像フレーム或いは複数の映像フレームから、マクロブロック毎に選択的に予測画像を生成することが可能である。Ｐピクチャの場合、通常は１つの参照フレームから、マクロブロック単位に予測画像を生成し、Ｂピクチャの場合、前方或いは後方の参照画像の何れか１つから予測画像を生成する場合と、前方及び後方の参照画像からそれぞれ参照マクロブロックを切り出し、その平均値から予測画像を生成する場合とがある。これらの予測モードの情報は、マクロブロック毎に符号化データに埋め込まれる。
【０００４】
しかし、何れの予測符号化も、マクロブロックのサイズ或いはそれよりも大きな領域で、同じ映像がフレーム間で時間的に平行移動した場合に予測が当たるというものであり、時間的な映像の拡大縮小や回転、或いはフェードイン・フェードアウトのような信号の振幅の時間変動に対しては、必ずしも予測効率がよいとは言えない。特に、固定ビットレートでの符号化では、これらの予測効率の悪い映像が入力されると、大幅な画質劣化を招くことがある。また、可変ビットレートの符号化では、画質劣化を抑制するため、これらの予測効率の悪い映像に対して、多くの符号量が費やされてしまい、総符号量の増加を招いてしまう。
【０００５】
一方、映像の時間的な拡大・縮小や回転、或いはフェードイン・フェードアウト等は、動画像信号のアフィン変換で近似できるため、アフィン変換を用いた予測を行えば、これらの映像に対する予測効率は大幅に向上する。しかし、アフィン変換のパラメータを推定するためには、符号化時に膨大なパラメータ推定演算が必要となる。
【０００６】
具体的には、複数の変換パラメータで参照画像を変換させ、予測残差が最小となるパラメータを決定することが必要となり、変換演算の演算量が膨大になる。その結果、符号化の演算量あるいはハードウエア規模等のコストが膨大になってしまう。また、残差信号だけでなく変換パラメータ自体を符号化する必要があり、符号化データのオーバヘッドが膨大になる。さらに、復号化時には、逆アフィン変換が必要となり、復号化の演算量あるいはハードウエア規模等のコストも膨大になってしまう。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したように、従来のＭＰＥＧなどの動画像符号化方法では、平行移動以外の動画像の時間変化に対して、十分な予測効率が得られないという問題があった。また、アフィン変換を用いた動画像符号化及び復号化方法では、予測効率自体は改善されるものの、符号化データのオーバヘッドの増加や、符号化及び復号化コストの大幅な増加を招くという問題があった。
【０００８】
本発明では、特に従来のＭＰＥＧなどの動画像符号化方法が不得意としていたフェード画像について、演算量や符号化データのオーバヘッドの増加が少なく、かつ予測効率を大幅に向上することが可能な動画像符号化方法と装置及び復号化方法と装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明では、マクロブロック毎に複数の動画像フレームを参照する動き補償予測フレーム間符号化において、前記複数の参照フレームから、複数の参照マクロブロックを生成し、前記複数の参照マクロブロックの１つ、或いは前記複数の参照マクロブロックの平均値、或いは前記複数の参照マクロブロックによる線形外挿予測あるいは線形内挿予測のいずれかを予測マクロブロックとして選択し、前記選択された予測マクロブロックと符号化マクロブロックとの予測誤差信号、予測モード情報、及び動きベクトルを符号化することを第１の特徴としている。
【００１０】
また、マクロブロック毎に複数の動画像フレームを参照する動き補償予測フレーム間符号化データの復号化において、符号化された動きベクトルデータ、予測モード情報及び予測誤差信号を受信し、前記動きベクトル及び前記予測モードに応じて、前記複数の参照フレームのうち、特定の１フレームから予測マクロブロックを生成するか、或いは複数の参照フレームから複数の参照マクロブロックを生成し、前記の複数の参照マクロブロックの平均値を予測マクロブロックとして生成するか、或いは前記複数の参照マクロブロックによる線形外挿予測あるいは線形内挿予測のいずれかから予測マクロブロックを生成するかを選択し、前記生成された予測マクロブロックと前記予測誤差信号を加算すること第２の特徴としている。
【００１１】
従来のＭＰＥＧなどの動画像符号化方式では、複数の参照フレームから予測マクロブロック画像を生成する場合、各参照フレームから参照マクロブロックを切り出し、その信号の平均値を用いていた。従って、フェードなどで映像信号の振幅が時間変動する場合、予測効率が低下する場合があった。しかし、本発明の第１あるいは第２の特徴によれば、複数のフレームからの線形予測で外挿或いは内挿する形で予測画像を生成することにより、映像信号の振幅が単調に時間変動する場合、予測効率を大幅に改善することが可能となり、高画質で高能率な符号化が可能となる。
【００１２】
フレーム間予測符号化では、符号化側では既に符号化された画像を復号化した画像を参照フレームとし、復号化側では、既に復号化された画像を参照フレームとして用いられることが一般的である。したがって、参照フレームにおける符号化ノイズの影響が、予測効率を低下される一因となる。複数の参照フレームから切り出した参照マクロブロックを平均化することは、ノイズ除去効果があり、符号化効率の向上に寄与することが知られている。これは、予測符号化におけるループフィルタとして知られている技術と等価な作用である。
【００１３】
本発明の第１あるいは第２の特徴によれば、ループフィルタ効果の高い複数の参照フレームからの平均化処理、或いはフェード画像等に効果のある線形内挿或いは線形内挿の、入力画像に応じて、最適な予測モードを選択することが可能となり、任意の入力画像に対して、符号化効率を向上させることが可能となる。
【００１４】
本発明では、マクロブロック毎に複数の動画像フレームを参照する動き補償予測フレーム間符号化において、前記複数の参照フレームが、符号化対象フレームの直前に符号化された２フレームであり、前記複数の参照マクロブロックによる線形外挿予測において、直前の参照フレームから生成した参照マクロブロック信号の振幅を２倍にした信号から、さらにその１フレーム前の参照フレームから生成した参照マクロブロック信号を減じることにより、前記予測マクロブロックを生成することを第３の特徴としている。
【００１５】
また、マクロブロック毎に複数の動画像フレームを参照する動き補償予測フレーム間符号化データの復号化において、前記複数の参照フレームが、符号化対象フレームの直前に復号化された２フレームであり、前記複数の参照マクロブロックによる線形外挿予測において、直前の参照フレームから生成した参照マクロブロック信号の振幅を２倍にした信号から、さらにその１フレーム前の参照フレームから生成した参照マクロブロック信号を減じることにより、前記予測マクロブロックを生成することを第４の特徴としている。
【００１６】
前述の通り、従来のＭＰＥＧなどの動画像符号化方式では、フェードなどで映像信号の振幅が時間変動する場合に、予測効率が悪いという問題がある。例えば、Ｖ(t)を時刻ｔの映像フレームとし、Ｖ’(t)をフェード処理された時刻ｔの映像フレームとすると、フェードイン及びフェードアウトはそれぞれ、数式（１）及び数式（２）で実現することが出来る。数式（１）では、（ａ）がフェード期間を示しており、時刻ｔ＝０からフィードインが開始され、時刻Ｔでフェードインが終了する。また、数式（２）では、（ｂ）がフェード期間を示しており、時刻Ｔ0からフェードアウト処理が、開始され時刻Ｔ0＋Ｔでフェードアウトが終了することを示している。
【００１７】
【数１】
2007259484.tif 000003
【００１８】
ここで、フェード処理された時刻ｔのフレームＹ’(t)が符号化対象フレームであり、時刻ｔ−１及び時刻ｔ−２の同フェード処理された２フレームＹ’(t-1)，Ｙ’(t-2)を参照フレームと仮定する。
【００１９】
まず、この２フレームの平均値から数式（３）で示すように、予測画像Ｐ（ｔ）を生成する場合を考える。
【００２０】
Ｐ(t)＝{Ｙ’(t-1)＋Ｙ’(t-2)}/２        （３）
ここで、数式（１）の(a)及び数式（２）の(b)のフェード期間を考えると、数式（３）の予測画像はそれぞれ、数式（４）及び数式（５）で示される。
【００２１】
Ｐ(t)＝｛Ｙ(t-1)×(t-1)
/Ｔ＋Ｙ(t-2)×(t-2)/Ｔ}/２          （４）
Ｐ(t)＝｛Ｙ(t-1)×(Ｔ-t+1+Ｔ0)
/Ｔ＋Ｙ(t-2)×(Ｔ-t+2+Ｔ0)/Ｔ}/２    （５）
いま、フェード前の原信号Ｙ(t)の時間変動が無い、すなわちＹ(t)がtによらず一定だと仮定し、Ｙ(t)＝Ｃ（一定）とすると、数式（４）及び数式（５）は、それぞれ数式（６）及び数式（７）となる。
【００２２】
Ｐ(t)＝Ｃ×(2t-3)/２Ｔ                  （６）
Ｐ(t)＝Ｃ×(2Ｔ-2t+3+2Ｔ0)/２Ｔ          （７）
一方、符号化すべき信号Ｙ’(t)は数式（８）及び数式（９）で示される。
【００２３】
Ｙ’(t)＝Ｃ×t/Ｔ                        （８）
Ｙ’(t)＝Ｃ×(Ｔ-t+Ｔ0)/Ｔ                （９）
数式（８）及び数式（９）のＹ’(t)から、数式（６）及び数式（７）の予測画像Ｐ(t)を減じた予測誤差信号Ｄ(t)は、それぞれ数式（１０）及び数式（１１）となる。
【００２４】
Ｄ(t)＝Ｃ×３/２Ｔ                      （１０）
Ｄ(t)＝−Ｃ×３/２Ｔ                    （１１）
一方、本発明の第３及び第４の特徴によると、数式（１２）で示す予測画像Ｐ(t)が、生成される。
【００２５】
Ｐ(t)＝２×Ｙ’(t-1)−Ｙ’(t-2)          （１２）
上記と同様にＹ(t)＝Ｃ（一定）を仮定すると、数式（１）のフェードイン及び数式（２）のフェードアウト時の予測画像はそれぞれ数式（１３）及び数式（１４）で示される。
【００２６】
Ｐ(t)＝Ｃ×t/Ｔ                          （１３）
Ｐ(t)＝Ｃ×(Ｔ-t+Ｔ0)/Ｔ                  （１４）
数式（１３）及び数式（１４）は、数式（８）及び数式（９）で示される符号化すべき画像と一致しており、符号化画像から予測画像を減じた予測誤差信号Ｄ(t)は何れの場合も０となる。上述のように、フェード画像では、ＭＰＥＧ等の従来の動き補償では残差信号が発生してしまうが、本発明の第３及び第４の特徴によれば、残差信号がなくなり、予測効率が大幅に改善することが分かる。
【００２７】
数式（１）及び数式（２）の１/Ｔは、フェードイン及びフェードアウトの時間変化の速さを示しており、数式（１０）及び数式（１１）から、従来の動き補償では、フェードの変化速度が速いほど、予測残差が大きくなり、符号化効率が低下することが分かる。一方、本発明の第３及び第４の特徴によれば、フェードの変化速度によらず、高い予測効率を得ることが可能となる。
【００２８】
本発明では、本発明の第１及び第３の特徴に加えて、前記符号化される動きベクトルが、前記複数の参照フレームのうち、特定の１つの参照フレームに関する動きベクトルであることを第５の特徴としている。
【００２９】
また、本発明の第２及び第４の特徴に加えて、前記受信した動きベクトルデータが、前記複数の参照フレームのうち、特定の１つの参照フレームに関する動きベクトルであり、前記動きベクトルデータを、復号化対象フレームと参照フレームとのフレーム間距離に応じてスケール変換して、他の参照フレームに対する動きベクトルを生成することを第６の特徴としている。
【００３０】
本発明の第１から第４の発明により、複数の参照画像を用いて、フェード画像等に対して、従来のより高い予測効率を得ることが可能となる。しかし、各符号化マクロブロックに対して、複数の参照画像に対する動きベクトルを個別に符号化データに多重化すると、符号化オーバーヘッドが大きくなる。ＩＴＵ−Ｔ Ｈ．２６３などの符号化方式では、Ｂピクチャに対する動きベクトルを送らず、Ｂピクチャを跨ぐＰピクチャの動きベクトルを、参照画像と符号化対象画像とのフレーム間距離に応じてスケーリングして、Ｂピクチャの動きベクトルとするダイレクトモードと呼ばれる符号化方法がある。これは、符号化対象の動画像が、数フレームの短時間で見て、動きの速度がほぼ一定または静止していると近似したモデルであり、多く場合、動きベクトル符号量削減の効果的がある。
【００３１】
本発明の第５及び第６の特徴によれば、Ｂピクチャのダイレクトモードと同じく、Ｐピクチャにおいても、複数の参照フレームに対する動きベクトルのうち、１つの動きベクトルのみを符号化し、復号化側では、参照画像とのフレーム間距離に応じて、受信した動きベクトルをスケーリングして用いることが可能となり、本発明の第１から第４の発明による符号化効率の向上を、符号化オーバヘッドの増加なしに実現することが可能となる。
【００３２】
本発明では、本発明の第５の特徴に加えて、前記特定の１つの参照フレームに関する動きベクトルが、前記参照フレームと符号化されるフレームとのフレーム間距離に応じて正規化された動きベクトルであることを第７の特徴としている。
【００３３】
また、本発明の第６の特徴に加えて、前記受信した特定の１つの参照フレームに関する動きベクトルが、前記参照フレームと符号化されるフレームとのフレーム間距離に応じて正規化された動きベクトルであることを第８の特徴としている。
【００３４】
本発明の第７及び第８の特徴により、フレーム間距離が変わっても符号化される動きベクトルの基準スケールが一定となり、複数の参照フレームそれぞれに対する動きベクトルのスケーリング処理が、参照フレームと符号化されるフレームとのフレーム間距離の情報だけで演算することが可能となる。また、任意のスケーリングを行うためには除算が必要となるが、符号化される動きベクトルがフレーム間距離で正規化されていることにより、スケーリング処理を乗算だけで実現することが可能となり、符号化及び符号化のコストを軽減することが可能となる。
【００３５】
本発明では、本発明の第１及び第３の特徴に加えて、前記符号化される動きベクトルが、前記複数の参照フレームのうち、特定の１つの参照フレームに関する第１の動きベクトルと、他の複数の参照フレームに対する複数の動きベクトルであり、前記複数の動きベクトルが、前記第１の動きベクトルを、符号化対象フレームと前記複数の参照フレームとのフレーム間距離に応じて、スケーリングした動きベクトルと、前記複数の動きベクトルとの差分ベクトルとして符号化されることを第９の特徴としている。
【００３６】
また、本発明の第２及び第４の特徴に加えて、前記受信した動きベクトルデータが、前記複数の参照フレームのうち、特定の１つの参照フレームに関する動きベクトルと、他の参照フレームに関する差分ベクトルであり、前記動きベクトルデータを、復号化対象フレームと参照フレームとのフレーム間距離に応じてスケール変換し、前記差分ベクトルと加算することで、前記複数の参照フレームのうち、前記特定の１フレーム以外の参照フレームに関する動きベクトルを生成することを第１０の特徴としている。
【００３７】
本発明の第５及び第６の特徴によれば、静止画像あるいは動きの速度が一定の映像の場合に対して、動きベクトル情報の符号化オーバヘッドの増加なしに、複数の参照フレームを用いて予測効率を向上させることが可能となる。しかし、動きの速度が一定ではない場合には、動きベクトルの単純なスケーリングだけでは、充分な予測効率が得られない場合がある。
【００３８】
一方、ＭＰＥＧ２動画像符号化の１つの予測モードである、dual-prime（デュアルプライム）予測では、２つの連続するフィールドを用いた動き予測で、一方のフィールドに対する動きベクトルと、前記動きベクトルをフィールド間距離に応じてスケーリングした動きベクトルと、他方のフィールドに対する動きベクトルとの差分ベクトルを符号化する構成となっている。動きベクトルは、1/2画素精度で表現され、これにより、２フィールドの参照マクロブロックの平均化により、適応的な時空間フィルタによるループフィルタ効果がもたらされ、且つ符号化オーバヘッドの増加を抑えることが可能となり、符号化効率の向上に大きく寄与している。
【００３９】
本発明の第９及び第１０の特徴によれば、dual-prime予測と同様の、符号化オーバヘッドの増加を抑えた、適応的な時空間フィルタによるループフィルタ効果に加えて、さらにフェード画像等に対する予測効率の改善を図ることが可能となり、従来よりも高い符号化効率を得ることが可能なる。
【００４０】
本発明では，本発明の第１、第３、第５、第７及び第９の特徴に加えて、前記予測モードが，特定の１つの参照フレームを利用した予測か，或いは複数の参照フレームを利用した予測のいずれかを示す第１のフラグと、前記複数の参照フレームを利用した予測が、複数の参照マクロブロックの平均値による予測か、或いは複数の参照マクロブロックの線形外挿或いは線形内挿による予測かを示す第２フラグから構成され、前記第２のフラグが符号化フレームのヘッダデータ、または複数の符号化フレーム群に対するヘッダデータに含まれることを第１１の特徴としている。
【００４１】
また、本発明の第２、第４、第６、第８及び第１０の特徴に加えて、前記受信した予測モードが、特定の１つの参照フレームを利用した予測か、或いは複数の参照フレームを利用した予測のいずれかを示す第１のフラグと、前記複数の参照フレームを利用した予測が、複数の参照マクロブロックの平均値による予測か、或いは複数の参照マクロブロックの線形外挿或いは線形内挿による予測かを示す第２フラグから構成され、前記第２フラグが符号化フレームのヘッダデータまたは複数の符号化フレーム群に対するヘッダデータの一部として受信されることを第１２の特徴としている。
【００４２】
上記説明した通り、本発明によれば、複数の参照フレームの中から、符号化フレームのマクロブロック毎に、特定の参照フレームだけから予測マクロブロック信号を生成すか、複数の参照画像の平均値から予測マクロブロック信号を生成するか、あるいは複数の参照画像の線形外挿あるいは線形内挿により予測マクロブロック信号を生成するかを適応的に切り替えることで、予測効率を向上させ高能率で高画質の符号化が可能となる。
【００４３】
例えば、同一フレーム内で時間的に背景が見え隠れするような映像部分では、複数の参照フレームの内、特定の参照フレームだけから予測すること（ここでは、予測モード１とする）が効果的であり、時間変動が少ない部分は、複数の参照画像の平均値から予測すること（ここでは、予測モード２とする）で、参照画像における符号化歪を除去するループフィルタ効果が得られ、また、フェード画像などの映像信号の振幅が時間変動する場合には、複数の参照画像の線形外挿あるいは線形内挿（ここでは、予測モード３とする）により、予測効率を向上させることが可能となる。
【００４４】
通常、従来の符号化方式では、このようにマクロブロック毎に最適な予測モードを選択的に切り替える場合は、各マクロブロック毎に予測モードを示すフラグを、各マクロブロック毎のヘッダデータに含めて符号化される。しかし、多くの予測モードを切り替えて使用すると、予測モードを示すフラグの符号化オーバヘッドが増加するという問題がある。
【００４５】
本発明の第１１及び第１２の特徴によれば、符号化フレーム毎に、上記予測モード１と予測モード２の組み合わせか、あるいは予測モード１と予測モード３の組み合わせかに制限する。上記組み合わせのどちらであるかを示す第２フラグと、予測モード１か、あるいは予測モード２または予測モード３であることを示す第１フラグを用意し、予測モードの組み合わせを示す第２フラグは、符号化フレームのヘッダデータに含め、予測モードを示す第１フラグは、マクロブロック毎に変更可能とし、マクロブロックのヘッダデータに含めることで、符号化データにおける予測モードに関するオーバヘッドを低減することが可能となる。
【００４６】
フェード画像のように映像信号の振幅が時間変化する場合は、フレーム内で一様に振幅が時間変化するため、マクロブロック毎に予測モード２と予測モード３を切り替える必要がなく、フレーム毎に固定で何ら予測効率の低下は招かない。
【００４７】
一方、背景の時間的な見え隠れ等は、映像信号の振幅の時間変化に無関係に、フレーム内に発生するため、フレーム毎に固定とすると、予測効率の低下をもたらす。よって、第１フラグにより、最適な予測モードをマクロブロック毎に切り替えることが必要となる。よって、上記のように、予測モードを示すフラグを、フレームのヘッダとマクロブロックのヘッダとに分離することで、予測効率を低下させずに、符号化オーバヘッドを低減させることが可能となる。
【００４８】
また、本発明では、マクロブロック毎に複数の動画像フレームを参照する動き補償予測フレーム間符号化において、前記複数の参照フレームからの線形予測により予測マクロブロックを生成し、前記予測マクロブロックと符号化マクロブロックとの予測誤差信号及び動きベクトルをマクロブロック毎に符号化し、前記線形予測の予測係数の組をフレーム毎に符号化することを第１３の特徴としている。
【００４９】
また、本発明の第１３の特徴に加えて、前記複数の参照フレームが、符号化対象フレームより時間的に過去のフレームであることを、本発明の第１４の特徴としている。
【００５０】
また、マクロブロック毎に複数の動画像フレームを参照する動き補償予測フレーム間符号化データの復号化において、マクロブロック毎に符号化された動きベクトルデータ及び予測誤差信号と、フレーム毎に符号化された予測係数の組を受信し、前記動きベクトル及び予測係数に応じて、前記複数の参照フレームから予測マクロブロックを生成し、前記生成された予測マクロブロックと前記予測誤差信号を加算することを、本発明の第１５の特徴としている。
【００５１】
また、本発明の第１５の特徴に加えて、前記複数の参照フレームが、符号化対象フレームより時間的に過去のフレームであることを、本発明の第１６の特徴としている。
【００５２】
本発明の第１３から第１６の特徴によれば、任意の時間方向の予測係数を設定できるため、フェード画像などで映像信号振幅の時間変化が一定の場合のみならず、映像信号振幅の任意の時間変動に対して、最適な予測係数の組を符号化側で用いることで、予測効率の向上が図れ、また、前記の予測係数を符号化データに多重化して伝送することで、復号化時にも符号化時と同一の線形予測が可能となり、高能率な予測符号化を行うことが可能となる。
【００５３】
本発明では、複数の参照フレームからの予測により、符号化効率の向上を得ることが可能であるが、参照フレームは、ＭＰＥＧにおけるＢピクチャのように、時間的に前後のフレームからの予測において、時間的に過去及び未来の複数のフレームを参照する構成としてもよい。また、ＭＰＥＧのＩピクチャ及びＰピクチャだけの場合と同様に、時間的に過去のフレームのみを参照する構成として、過去の複数のＰピクチャ及びＩピクチャを参照画像とする構成としてもよい。
【００５４】
このような構成とすることで、従来のＭＰＥＧ符号化よりも、さらに高画質な符号化が実現可能となる。特に、過去の画像のみを使うＰピクチャの符号化においても、従来とは異なり過去の複数の参照フレームを用いることで、従来よりも大幅に符号化効率を改善させることが可能となる。Ｂピクチャを用いない符号化では、符号化フレーム並べ替えのための遅延が不要となり、低遅延の符号化が可能であるため、本発明によれば、低遅延の符号化においても、従来よりも大きな符号化効率の改善得られるものとなる。
【００５５】
さらに、本発明は入力動画像の符号化対象フレームに含まれる符号化対象ブロック毎に、少なくとも一つの参照フレームを用いて動き補償予測フレーム間符号化を行う動画像符号化方法において、単一の参照フレームから予測ブロック信号を生成する第１の予測ブロック生成モード、及び複数の参照フレームから切り出した複数の参照ブロックの線形和予測により予測ブロック信号を生成する第２の予測ブロック生成モードのいずれかを符号化ブロック毎に選択するステップと、選択された予測ブロック信号と符号化対象ブロックの信号との差分信号を符号化するステップと、線形和予測を複数の参照ブロックの平均値予測とするか、あるいは複数の参照フレーム及び符号化対象フレームの表示時刻に基づく線形補間予測とするかを符号化対象フレーム内の複数の画素ブロック毎または符号化対象フレーム毎に選択するステップと、
予測ブロック信号の生成時に第１及び第２の予測ブロック生成モードのいずれが選択されたかを示す第１の符号化モード情報を符号化対象ブロック毎または複数の符号化対象ブロック毎に符号化するステップと、線形和予測に平均値予測及び線形補間予測のいずれが選択されたかを示す第２の符号化モード情報を符号化対象フレームの複数の画素ブロック毎あるいは符号化対象フレーム毎に符号化するステップとを具備することを特徴とする。
【００５６】
一方、動画像の復号化対象フレームに含まれる復号化対象ブロック毎に、少なくとも一つの参照フレームを用いて動き補償予測フレーム間復号化を行う動画像復号化方法において、予測ブロック信号に対する復号化対象ブロックの信号の予測誤差信号を復号化するステップと、符号化側における予測ブロック信号の生成時に、単一の参照フレームから予測ブロック信号を生成する第１の予測ブロック生成モード、及び複数の参照フレームから切り出した複数の参照ブロックの線形和予測により予測ブロック信号を生成する第２の予測ブロック生成モードのいずれが選択されたかを示す第１の符号化モード情報を復号化対象ブロック毎または複数の復号化対象ブロック毎に受信して復号化するステップと、線形和予測に複数の参照ブロックの平均値予測、あるいは複数の参照フレーム及び符号化対象フレームの表示時刻に基づく線形補間予測のいずれが選択されたかを示す第２の符号化モード情報を復号化対象フレームの複数の画素ブロック毎あるいは復号化対象フレーム毎に受信して復号化するステップと、復号化された第１の符号化モード情報及び第２の符号化モード情報に従って予測ブロック信号を生成するステップと、生成された予測ブロック信号及び復号された予測誤差信号を用いて再生動画像信号を生成するステップとを具備することを特徴とする。
【発明の効果】
【００５７】
以上説明したように、本発明によれば、従来のＭＰＥＧなどの動画像符号化方式が不得意としていた、フェードイン・フェードアウトなどの映像に対して、符号化及び復号化の演算量やコストの大幅な増加を必要とせずに、予測効率を大幅に向上することが可能となり、また、符号化データのオーバヘッドも小さく、高画質で高能率な動画像符号化及び復号化方式を提供することが可能となる。
【発明を実施するための最良の形態】
【００５８】
図１は、本発明の実施形態に係る動画像符号化方法のブロック図である。入力動画像信号１００に対して、第１の参照フレームメモリ１１７に保存されたフレームと、第２の参照フレームメモリ１１８に保存されたフレームとから、予測マクロブロック生成手段１１９により、予測画像を生成し、予測マクロブロック選択手段１２０で最適な予測マクロブロックを選択し、入力信号と予測信号との予測誤差信号１０１に対して、ＤＣＴ変換（離散コサイン変換）１１２、量子化１１３、及び可変長符号化１１４を行い、符号化データ１０２を出力する。出力される符号化データ１０２には、後述する動きベクトル情報は予測モードの情報も合わせて符号化されて出力される。量子化手段１１３で量子化された信号は、逆量子化手段１１５により逆量子化され、予測信号１０６と加算して、ローカルデコード画像１０３を生成し、参照フレームメモリ１１７へ書き込まれる。
【００５９】
本実施例では、予測誤差信号１０１は、ＤＣＴ変換、量子化、可変長符号化により符号化されるが、例えばＤＣＴ変換をウエーブレット変換に置き換えた構成としたり、あるいは可変長符号化を算術符号化に置き換えた構成としたりしてもよい。
【００６０】
本実施形態では、第１の参照フレームメモリ１１７には、直前に符号化されたフレームのローカルデコード画像が保存され、第２の参照フレームメモリ１１８には、さらにその前に符号化されたフレームのローカルデコード画像が保存される構成である。予測マクロブロック生成手段１１９では、第１の参照フレームメモリ１１７の画像だけから生成される予測マクロブロック信号１３０と、第２の参照フレームメモリ１１８の画像だけから生成される予測マクロブロック信号１３１と、第１及び第２の参照フレームメモリから切り出した参照マクロブロック信号を平均化した予測マクロブロック信号１３２と、第１の参照フレームメモリ１１７から切り出した参照マクロブロック信号の振幅を２倍にした信号から、第２の参照フレームメモリ１１８から切り出した参照マクロブロック信号を減じた予測マクロブロック信号１３３を生成する。これらの予測マクロブロック信号は、それぞれフレーム内の複数の位置から切り出して、複数の予測マクロブロック信号を生成する。
【００６１】
予測マクロブロック選択手段１２０では、予測マクロブロック生成手段１１９で生成された複数の予測マクロブロック信号に対し、入力動画像信号１００から切り出した符号化対象マクロブロック信号との差分を計算し、誤差が最小となる予測マクロブロックを、符号化マクロブロック毎に選択する。選択された予測マクロブロックの、符号化対象マクロブロックから見た相対的な位置を、動きベクトルとして、また、選択された予測マクロブロックの生成方法（図１では、１３０から１３３のいずれか）を、予測モードとして、それぞれマクロブロック毎に符号化する。
【００６２】
ここで、動画像信号が輝度及び色差信号で構成される場合、各マクロブロックのそれぞれの信号成分に対して、同一の動きベクトル及び予測モードを適用して、予測誤差信号の生成を行う。
【００６３】
図２は、本発明の実施形態に係る動画像復号化方法のブロック図である。図２の動画像復号化方法は、図１で示した本発明の実施形態に係る動画像符号化方法で符号化された符号化データを入力し、復号化するものである。
【００６４】
入力された符号化データ２００は、可変長符号復号化手段２１４で可変長符号が復号化され、予測誤差信号２０１、動きベクトル情報及び予測モード情報２０２が抽出される。予測誤差信号２０１は、逆量子化２１５、逆ＤＣＴ２１６が施され、予測信号２０６と加算して復号化画像２０３が生成される。
【００６５】
復号化画像２０３は第１の参照フレームメモリ２１７に書き込まれる。予測信号２０６は、第１の参照フレームメモリ２１７に記録された直前に復号化された画像信号と、さらにそれよりも前に復号化された動画像信号が記録された第２の参照フレームメモリ２１８の画像信号から、符号化データ２００から抽出した動きベクトル及び予測モードに応じて、予測マクロブロック生成手段２１９及び予測マクロブロック選択手段２２０により、符号化時に使用された予測マクロブロック信号と同じ予測信号が生成される。
【００６６】
図３は、本発明の実施形態に係るフレーム間予測の関係を模式的に示した例である。図中３０２が符号化対象フレームであり、３０１はその直前のフレーム、３００はさらにその前のフレームを示している。フレーム３０２を符号化、あるいは復号化しているとき、図１の１１７あるいは図２の２１７の第１の参照フレームメモリには、フレーム３０１の復号化画像が保存されており、また図１の１１８あるいは図２の２１８の第２の参照フレームメモリには、フレーム３００が保存されている。
【００６７】
図３の３０５が符号化対象マクロブロック示しており、参照フレーム３００の参照マクロブロック３０３及び参照フレーム３０１の参照マクロブロック３０４の、いずれか或いは両方を用いて予測マクロブロックが生成される。図中３０６及び３０７は、それぞれ参照マクロブロック３０３及び３０４の位置を示す動きベクトルである。符号化時は、符号化マクロブロック３０５に最適な動きベクトル及び予測モードの探索が行われる。また、復号化時は、符号化データに含まれる動きベクトル及び予測モードを用いて、予測マクロブロック信号が生成される。
【００６８】
図４及び図５は、本発明の実施形態に係わり、３フレーム以上の参照フレームを用いるフレーム間予測の関係を示す例である。図４では、過去の複数の参照フレームを用いる例であり、また図５は過去及び未来の複数の参照フレームを用いる例である。
【００６９】
図４において、４０４が符号化対象フレームを示し、４００から４０３が、フレーム４０４に対する参照フレームとなる。４１３は符号化マクロブロックを示しており、符号化においては、符号化マクロブロック毎に、各参照フレームから、各参照フレームに対する動きベクトル（図中４０５から４０８）に応じて、参照マクロブロック（図中４０９から４１２）を切り出し、複数の参照マクロブロックからの線形予測により予測マクロブロックを生成する。次に、複数の参照マクロブロックの中の１つ、或いは線形予測による予測マクロブロックの何れかの予測モードで、予測誤差が最小となる動きベクトル及び予測モードの組を選択する。線形予測係数は、例えはフレーム間の平均輝度の時間変化等から符号化フレーム毎に１組決定する。決定された予測係数の組は符号化フレームのヘッダデータとして符号化し、また、各マクロブロックの動きベクトル、予測モード、及び予測誤差信号は、マクロブロック毎に符号化される。
【００７０】
また、復号化時は、フレーム毎に受信した線形予測係数の組を用いて、マクロブロック毎に動きベクトル及び予測モードの情報から、複数の参照フレームより、予測マクロブロックを生成し、予測誤差信号と加算することで復号化を行う。
【００７１】
図５では、５０２が符号化対象フレームを示しており、５００、５０１、５０３、５０４が参照フレームを示している。図５の場合、符号化及び復号化時は、５００、５０１、５０３、５０４、５０２の順序となるように、フレームの並べ替えが行われ、符号化の場合は複数のローカルデコードフレーム、復号化の場合はすでに復号化された複数のフレームを、それぞれ参照フレームとして用いる。符号化対象マクロブロック５１１に対して、図４の例と同様に、参照マクロブロック５０９，５１０，５１２，５１３の１つ、またはそれらからの線形予測による予測信号の、何れか１つがマクロブロック毎に選択されて符号化される。
【００７２】
図６は、本発明の実施形態に係る動きベクトル情報の符号化方法及び復号化方法を示す図である。図３の例のように、複数の参照フレームを用いたフレーム間符号化において、符号化マクロブロック毎に複数の参照マクロブロック信号を用いて予測マクロブロック信号を生成する場合、マクロブロック毎に複数の動きベクトル情報を符号化する必要がある。したがって、参照するマクロブロックの数が増えるほど、符号化すべき動きベクトル情報のオーバヘッドが増加し、符号化効率を低下させる原因となる。図６の例では、２つの参照フレームからそれぞれ参照マクロブロック信号を切り出して、予測マクロブロック信号を生成する場合に、１つの動きベクトルとその動きベクトルをフレーム間距離に応じてスケーリングしたベクトルを用いる例を示したものである。
【００７３】
図中６０２が符号化対象フレームであり、６０１及び６００が参照フレームである。また、６１１及び６１０が、動きベクトルを示している。黒で示した点は垂直方向の画素位置を示しており、白で示した点は１/４画素精度の補間点を示している。図６は、動き補償予測を１/４画素精度で行う例を示している。動き補償の画素精度は、１画素、１/２画素、１/８画素など、符号化方式毎に定義される。通常は、動きベクトルを動き補償の精度で表現し、参照画像を参照フレームの画像データから、補間して生成するのが一般的である。
【００７４】
図６では、符号化対象の画素６０５に着目すると、参照フレーム６００からは、２．５画素垂直方向に離れた点６０３を参照するものとし、２．５画素のずれを示す動きベクトル６１０が符号化される。一方、同画素６０５に対する参照フレーム６０１からの予測は、フレーム間距離に応じて、前述の符号化された動きベクトル６１０をスケーリングすることにより生成する。ここでは、フレーム６０１に対する動きベクトルは、フレーム間距離を考慮し２．５/２＝１．２５画素となり、参照フレーム６０１における画素６０４が、符号化フレーム６０２の画素６０５の参照画素として用いられる。
【００７５】
符号化時及び復号化時に同一の精度で動きベクトルのスケーリングを行うことで、各マクロブロック毎に符号化すべき動きベクトルは、符号化対象マクロブロックが複数のフレームを参照する場合でも１つの動きベクトルで済み、符号化オーバヘッドの増加を防ぐことが可能となる。ここで、動きベクトルのスケーリング結果が、動き補償の精度のサンプル点上にない場合は、端数の四捨五入によりスケーリングされた動きベクトルを丸めるものとする。
【００７６】
図７は、本発明の実施形態に係る、図６とは異なる動きベクトル情報の符号化方法及び復号化方法を示す図である。図６の例では、動画像の時間的な動きの速さが一定の場合に、符号化データに占める動きベクトルのオーバヘッドを効率的に低減することが可能となる。一方、動画像の時間的な動きが単調ではあるが、動きの速さが一定ではない場合、単純にスケーリングした動きベクトルを用いると、予測効率の低下が発生して符号化効率の低下の原因となる場合がある。図７では図６と同様に、画素５０６の参照画素として、参照フレーム７００及び７０１の２フレームの参照画素から予測画素を生成する。ここでは、フレーム７００の画素７０３と、フレーム７０１の画素７０５が参照されるものとする。
【００７７】
図６の例と同様に、フレーム７００に対する動きベクトル７１０が符号化され、それに加えて、フレーム７０１に対する動きベクトル７１１が、動きベクトル７１０をスケーリングしたベクトルとの差分ベクトル７２０として符号化される。動きベクトル７１０を１/２にスケーリングすることにより、フレーム７０１における画素７０４の位置が示され、本来の予測画素７０５と画素７０４との差分量を示す差分ベクトル７２０が符号化される。通常、時間的に単調な動きに対して、前述の差分ベクトルの大きさは小さくなるため、動きの速度が一定でない場合も、予測効率を低下させずに、かつ動きベクトルのオーバヘッドの増加を抑えて、効率的な符号化行うことが可能となる。
【００７８】
図８は、本発明の実施形態に係る、さらに別の動きベクトル情報の符号化方法及び復号化方法を示す図である。図８の例では、フレーム８０３が符号化対象フレームであり、フレーム６０２を飛ばして、フレーム８０１及びフレーム８００が参照フレームとなっている例である。さらに、画素８０６に対して、参照フレーム８００の画素８０４及び参照フレーム８０１の画素８０５が予測画素を生成するための参照画素となっている。
【００７９】
図６或いは図７の例と同様に、参照フレーム８００に対する動きベクトル８１１を符号化し、動きベクトル８１１をスケーリングした動きベクトルを用いて、参照フレーム８０１に対する動きベクトルを生成することも可能であるが、図８の場合、参照フレームと符号化フレームのフレーム間距離の関係から、動きベクトル８１１に対して２/３倍のスケーリングが必要となる。図８の例に限らず、任意のスケーリングを行うためには、分母が２のべき乗でない任意の整数となり、除算が必要となる。動きベクトルのスケーリングは、符号化時及び復号化時のいずれでも必要であり、特に除算は、ハードウエア及びソフトウエアのいずれにおいても、コストや演算時間が多くかかるため、符号化及び復号化のコスト増をもたらしてしまう。
【００８０】
一方、図８では、符号化すべき動きベクトル８１１をフレーム間距離で正規化した動きベクトル８１０を符号化し、正規化された動きベクトル８１０を符号化フレームと各参照フレームとのフレーム間距離に応じて、スケーリングした動きベクトルと、本来の動きベクトルとの差分ベクトルを符号化するものである。つまり、参照画素８０４は、正規化された動きベクトル８１０を３倍した動きベクトルと、差分ベクトル８２０から生成され、参照画素８０５は、正規化された動きベクトル８１０を２倍した動きベクトルと、差分ベクトル８２１から生成される。図８の構成とすることで、予測効率を低下させずに、動きベクトルの符号化オーバヘッドの増加を防ぎ、さらに、動きベクトルのスケーリングが乗算のみで実現できるため、符号化及び復号化の演算コストも抑えることが可能となる。
【００８１】
図９は、本発明の第２の実施形態に係る動画像符号化方法のブロック図である。本発明の第２の実施形態では、前述の本発明の第１１及び第１２の特徴を用いた実施形態であり、図１で示した動画像符号化の実施形態に対して、入力画像９００に対するフェード検出手段９００が付加された構成である。フェード検出手段９００では、入力された動画像信号のフレーム毎の平均輝度値を計算し、輝度の時間変化に一定の傾きがある場合は、フェード画像であると判断し、その結果７０１を予測モード選択手段１２０に通知する。
【００８２】
フェード検出手段９００により、フェード画像だと判断された場合は、予測モードを１つ参照フレームからの予測または複数の参照フレームの線形外挿あるいは線形内挿による予測の何れかに限定して、マクロブロック毎に最適な動きベクトル及び予測モードを決定する。決定された動きベクトル、及び予測モードを示す第１のフラグをマクロブロックのヘッダに書き込み、予測誤差信号の符号化行う。また、とり得る予測モードの組を示す第２のフラグは、フレームのヘッダデータに書き込んで出力する。
【００８３】
フェード検出手段９００により、フェード画像でないと判断された場合は、予測モードを１つ参照フレームからの予測または複数の参照フレームの平均値による予測のいずれかに限定して、同様に最適な動きベクトル及び予測モードを決定し、動きベクトル、予測モード、及び予測信号の符号化を同様に行う。
【００８４】
図９の構成で符号化された符号化データを受信して復号化する場合は、予測モードを示す上記第１及び第２のフラグから、マクロブロック毎の予測モードを判断し、マクロブロック毎に送られる動きベクトル及び判断した予測モードから、予測マクロブロック信号を生成し、符号化された予測誤差信号を復号化して、予測信号と加算することで復号化を行う。このような構成とすることで、本発明の第１１及び第１２に記載した通り、予測モード情報の符号化オーバヘッドを低減させることが可能となる。
【００８５】
次に、図１０を用いて本発明の第３の実施形態における動画像符号化の手順について説明する。  
符号化対象の動画像フレームは１フレームずつ入力され、輝度値のフレーム内平均値の時間変化などに基づいてフレーム全体あるいはフレーム内の複数の画素ブロックで構成されるスライス毎に、フェード画像の検出が行われる（ステップＳ１）。フレーム内の画素ブロック毎に、複数の参照フレームの中から１つの最適な参照フレームを選択して予測画素ブロック信号を生成する（単一フレーム予測）か、あるいは２つの参照画素ブロック信号の線形和による予測によって予測画素ブロックを生成する（線形和予測）かが選択される。
【００８６】
線形和予測では、入力動画像がフェード画像であると検出された場合は、時間線形補間（フレーム間の時間距離に基づく内挿または外挿）予測とし、フェード画像でない場合は、２つの参照画素ブロック信号の平均値により予測画素ブロックを生成する。複数フレームを用いた線形和予測が平均値予測であるか、あるいは時間線形補間予測であるかを示す第２の符号化モード情報をフレーム（ピクチャ）あるいはスライスのヘッダデータとして符号化する（ステップＳ２）。
【００８７】
次に、ステップＳ１の検出結果をステップＳ３で調べ、入力動画像がフェード画像であるか否かを判定する。ここで、入力動画像がフェード画像と判定された場合には、画素ブロック毎に複数の参照フレームから単一の予測ブロックを選択する符号化モード（ステップＳ５）と時間線形補間予測による符号化モード（ステップＳ４）のうち、符号化効率の高い方、すなわち発生符号量が少なくなる方の符号化モードを決定する（ステップＳ８）。
【００８８】
この後、単一フレーム予測かあるいは線形和予測かを示す第１の符号化モード情報と、その他の選択された符号化モードに関する情報（予測に用いる参照フレームの識別情報、動きベクトル情報など）をマクロブロックヘッダ領域に符号化する（ステップＳ１０）。最後に、選択された予測ブロック信号と符号化対象ブロックの信号との差分信号（予測誤差信号）を符号化し（ステップＳ１１）、それぞれの符号化データを出力する。
【００８９】
一方、ステップＳ３での判定の結果、入力動画像がフェード画像でない場合には、単一フレーム予測モード（ステップＳ６）及び平均値予測モード（ステップＳ７）から最適な方の符号化モードを選択する（ステップＳ９）。以下、同様に符号化モードに関する情報の符号化（ステップＳ１０）と、差分信号の符号化（ステップＳ１１）を行う。
【００９０】
ステップＳ１のフェード検出結果に従って、フレーム内あるいはスライス内の各ブロックが上記の通り符号化され、１フレーム（ピクチャ）あるいは１スライス内の全ての画素ブロックの符号化が終了すると（ステップＳ１２）、次に符号化すべきフレームあるいはスライスのフェード検出を行い（ステップＳ１）、同様に符号化を進める。  
上記説明では、１フレームを１ピクチャとして符号化する例を示したが、１フィールドを１ピクチャとしてフィールド単位に符号化を行ってもよい。
【００９１】
図１１及び図１２は、本実施形態に係る動画像符号化データのデータ構造を示す図である。図１１はピクチャあるいはスライスのヘッダデータを含むデータ構造の一部を示し、図１２はマクロブロックデータの一部を示している。ピクチャあるいはスライスのヘッダ領域では、該符号化対象フレームの表示時刻に関する情報“time_info_to_be_displayed”や、上述した線形和予測が時間線形補間予測であるか、平均値予測であるかを示す第２の符号化モード情報であるフラグ“linear_weighted_prediction_flag”が符号化される。“linear_weighted_prediction_flag”が０の場合は平均値予測を表し、１の場合は時間線形補間予測を示す。
【００９２】
ピクチャあるいはスライスの符号化データ内には、複数のマクロブロック符号化データが包含されており、各マクロブロックデータは図１２で示すような構造となっている。マクロブロックデータのヘッダ領域には、参照フレームの選択情報や動きベクトル情報等とともに、選択された単一フレームからの単一フレーム予測かあるいは複数のフレームからの線形和による予測かを示す情報（第１の符号化モード情報）が、“macroblock_type”として符号化される。
【００９３】
図１３は、図１１及び図１２で示したデータ構造を含む動画像符号化データの時系列全体の構造を模式的に示したものである。符号化データの先頭には、画像サイズ等の１つの符号化シーケンス内全体で不変な複数の符号化パラメータの情報がシーケンスヘッダ（ＳＨ）として符号化される。
【００９４】
次に、各画像フレームあるいはフィールドがそれぞれピクチャとして符号化される。各ピクチャは、ピクチャヘッダ（ＰＨ）とピクチャデータ(Picture data)の組として順次符号化されている。ピクチャヘッダ（ＰＨ）には、図１１で示した符号化対象フレームの表示時刻に関する情報“time_info_to_be_displayed”及び第２の符号化モード情報“linear_weighted_prediction_flag”がそれぞれＤＴＩ，ＬＷＰとして符号化されている。ピクチャデータは、１つまたは複数のスライス（ＳＬＣ）に分割され、スライス毎に順次符号化される。
【００９５】
各スライスでＳＬＣは、まずスライス内の各画素ブロックに関する符号化パラメータがスライスヘッダ（ＳＨ）として符号化され、スライスヘッダＳＨに続けて、１つまたは複数のマクロブロックデータ（ＭＢ）が順次符号化されている。マクロブロックデータＭＢでは、図１２で示した第１の符号化モード情報である“macroblock_type”がＭＢＴとして符号化されており、また動きベクトル情報（ＭＶ）などの、マクロブロック内の各画素の符号化に関する情報が符号化され、最後に符号化すべき画素信号あるいは予測誤差信号に対して直交変換（例えば、離散コサイン変換）を施して符号化された直交変換係数（ＤＣＴ）が含まれている。
【００９６】
ここで、ピクチャヘッダＰＨに含まれている第２の符号化モード情報“linear_weighted_prediction_flag”は、スライスヘッダＳＨでスライス毎に符号化する構成としてもよい。
【００９７】
次に、図１４を用いて本実施形態における動画像復号化の手順について説明する。  
本実施形態では、図１０で示した動画像符号化方法により符号化され、図１１及び図１２で示したようなデータ構造を有する符号化データを入力し、復号化するものである。入力された符号化データから、ピクチャあるいはスライスのヘッダ情報の復号化を行い、符号化対象フレームの表示時刻に関する情報“time_info_to_be_displayed”や、第２の符号化モード情報“linear_weighted_prediction_flag”の 復号化を行う（ステップＳ３０）。
【００９８】
さらに、ピクチャあるいはスライス内のマクロブロック毎に、マクロブロックのヘッダ情報の復号化を行い、参照フレームの識別情報、動きベクトル情報、第１の符号化モード情報を含む“macroblock_type”などの復号化を行う（ステップＳ３１）。
【００９９】
復号化された第１の符号化モード情報が単一フレーム予測を示している場合、参照フレームの識別情報、動きベクトル情報などの予測モード情報に従って、予測ブロック信号を生成する（ステップＳ３４）。第１の符号化モード情報が複数フレームからの線形和による予測を示している場合、復号化された第２の符号化モード情報に従って（ステップＳ３３）、平均予測（ステップ３５）あるいは時間線形補間予測（ステップＳ３６）のいずれかの方法で予測信号を生成する。
【０１００】
次に、符号化された予測誤差信号の復号化を行い、生成した予測信号と加算することにより、復号化画像を生成する（ステップＳ３７）。ピクチャあるいはスライス内の各マクロブロックについては、各マクロブロックヘッダから順次復号化を行い、ピクチャあるいはスライス内の全てのマクロブロックの復号化を終了したら（ステップＳ３８）、引き続き次のピクチャあるいはスライスヘッダから復号化を進める。
【０１０１】
上述したように、本実施形態では符号化モードに関する情報を単一フレーム予測か複数フレームからの線形和による予測かを示す第１の符号化モード情報と、線形和による予測が時間線形内挿予測か平均予測を示す第２の符号化モード情報に分離し、第１の符号化モード情報をマクロブロック毎に、第２の符号化モード情報をピクチャあるいはスライス毎にそれぞれ符号化することで、符号化効率を維持しつつ、符号化モード情報を符号化するオーバヘッドを低減することが可能となる。
【０１０２】
すなわち、第２の符号化モード情報はフェード画像等のフレーム内の広域的な特性を示しているので、第２の符号化モード情報をスライスあるいはフレーム毎に符号化することで、マクロブロック毎に符号化する場合に比べて、符号化モード情報自体を符号化するための符号量を抑えることが可能となり、かつ符号化効率の大幅な低下は発生しない。
【０１０３】
一方、第１の符号化モード情報については、マクロブロック毎に符号化することで、各画素ブロックの個別の特性（例えば、時間的な見え隠れが部分的にある映像など）に応じて適切なモードを決定することが可能となり、符号化効率をより向上させることが可能となる。
【０１０４】
このように本実施形態は、動画像の持つ特性を考慮して第１及び第２の符号化モードの符号化頻度が決定されているため、高能率で高画質な符号化を行うことが可能となる。
【０１０５】
次に、図１５及び図１６を用いて、本実施形態における時間線形補間予測について詳しく説明する。  
図１５におけるＦ０，Ｆ１，Ｆ２及び図１６におけるＦ０，Ｆ２，Ｆ１は、それぞれ時間的に連続するフレームを示している。図１５及び図１６において、Ｆ２が符号化あるいは復号化対象フレーム、Ｆ０及びＦ１が参照フレームを示している。ここで、図１５及び図１６の例について、それぞれ符号化あるいは復号化対象フレーム内のある画素ブロックが２つの参照フレームの線形和による予測を行う場合を考える。
【０１０６】
線形和予測が平均値予測の場合は、各参照フレームから切り出された参照ブロックの単純平均により、予測画素ブロックが生成される。フレームＦ０及びＦ１から切り出し参照画素ブロック信号をそれぞれref0、ref1とすると、図１５及び図１６のそれぞれの予測画素ブロック信号pred2は、以下の数式（１５）に従って計算される。
【０１０７】
pred2＝( ref0 + ref1 ) / 2                （１５）
一方、時間線形補間予測の場合は、符号化あるいは復号化対象フレームと各参照フレームとの時間距離に応じて線形和が計算される。図１１で示したように、符号化対象フレーム毎にピクチャあるいはスライスヘッダ領域に表示時刻に関する情報“time_info_to_be_displayed”が符号化されており、復号化時にはこの情報に基づいて各フレームの表示時刻が算出される。ここで、フレームＦ０，Ｆ１，Ｆ２の表示時刻が、それぞれＤt0，Ｄt1，Ｄt2であるとする。
【０１０８】
図１５の例では、過去の２フレームから現在のフレームを予測するため線形外挿予測となり、図１６の例では、未来と過去のフレームからの線形内挿予測となる。図１５及び図１６について、２つの参照フレーム間の時間距離をＲｒ、符号化対象フレームに対する時間的に最も過去の参照フレームから、該符号化対象フレームまでの時間距離をＲcとすると、それぞれ以下のようになる。
【０１０９】
Ｒr＝Ｄt1−Ｄt0,  Ｒc＝Ｄt2−Ｄt0          （１６）
上記時間距離に基づく線形外挿予測及び線形内挿予測は、図１５及び図１６の場合のいずれにおいても、以下の数式（１７）で計算される。
【０１１０】
pred2＝{ (Ｒr−Ｒc)*ref0＋Ｒc*ref1 } / Ｒr  （１７）
また、数式（１７）は数式（１８）のように変形することも可能である。
【０１１１】
Pred2＝ref0 + (ref1-ref0)* Ｒc/ Ｒr        （１８）
フェード画像やクロスフェード画像のような信号振幅がフレーム間で単調に時間変動する画像では、非常に短時間（例えば、連続する３フレーム）内では、その信号振幅の時間変動を１次近似することが可能である。従って、本実施形態のように符号化対象フレームと２つの参照フレームとのフレーム間の時間距離に応じた時間線形補間（線形外挿または線形内挿）を行うことで、より的確な予測画像を生成することが可能となる。その結果、フレーム間予測の効率が向上し、画質を劣化させずに、より発生符号量を低減したり、あるいは同一ビットレートでより高画質な符号化をおこなったりすることが可能となる。
【０１１２】
上述した本発明の符号化及び復号化の処理は、ハードウェアにより実現してもよいし、処理の一部または全部をコンピュータを用いてソフトウェアにより実行することも可能である。従って、本発明によれば例えば以下に示すようなプログラムを提供することができる。
【０１１３】
（１）マクロブロック毎に複数の動画像フレームを参照する動き補償予測フレーム間符号化処理をコンピュータに行わせるためのプログラムにおいて、前記複数の参照フレームから複数の参照マクロブロックを生成する処理と、前記複数の参照マクロブロックの１つ、前記複数の参照マクロブロックの平均値、或いは前記複数の参照マクロブロックによる線形外挿予測または線形内挿予測のいずれかを予測マクロブロックとして選択する処理と、前記選択された予測マクロブロックと符号化マクロブロックとの予測誤差信号、予測モード情報及び動きベクトルを符号化する処理とを前記コンピュータに行わせるためのプログラム。
【０１１４】
（２）マクロブロック毎に複数の動画像フレームを参照する動き補償予測フレーム間符号化データの復号化処理をコンピュータに行わせるためのプログラムにおいて、
符号化された動きベクトルデータ、予測モード情報及び予測誤差信号を受信する処理と、前記受信された動きベクトル及び前記予測モードに応じて、（ａ）前記複数の参照フレームのうち特定の１フレームから予測マクロブロックを生成するか、（ｂ）複数の参照フレームから複数の参照マクロブロックを生成して前記複数の参照マクロブロックの平均値を予測マクロブロックとして生成するか、或いは（ｃ）前記複数の参照マクロブロックによる線形外挿予測または線形内挿予測のいずれかから予測マクロブロックを生成するかを選択する処理と、前記生成された予測マクロブロックと前記予測誤差信号を加算する処理とを前記コンピュータに行わせるためのプログラム。
【０１１５】
（３）マクロブロック毎に複数の動画像フレームを参照する動き補償予測フレーム間符号化処理をコンピュータに行わせるためのプログラムにおいて、前記複数の参照フレームからの線形予測により予測マクロブロックを生成する処理と、前記予測マクロブロックと符号化マクロブロックとの予測誤差信号及び動きベクトルをマクロブロック毎に符号化する処理と、前記線形予測の予測係数の組をフレーム毎に符号化する処理とを前記コンピュータに行わせるためのプログラム。
【０１１６】
（４）マクロブロック毎に複数の動画像フレームを参照する動き補償予測フレーム間符号化データの復号化処理をコンピュータに行わせるためのプログラムにおいて、マクロブロック毎に符号化された動きベクトルデータ及び予測誤差信号と、フレーム毎に符号化された予測係数の組を受信する処理と、前記受信された動きベクトル及び予測係数に応じて、前記複数の参照フレームから予測マクロブロックを生成する処理と、前記生成された予測マクロブロックと前記予測誤差信号を加算する処理とを前記コンピュータに行わせるためのプログラム。
【図面の簡単な説明】
【０１１７】
【図１】本発明の実施形態に係る動画像符号化方法のブロック図
【図２】本発明の実施形態に係る動画像復号化方法のブロック図
【図３】本発明の実施形態に係るフレーム間予測の関係を示す図
【図４】本発明の実施形態に係るフレーム間予測の関係を示す図
【図５】本発明の実施形態に係るフレーム間予測の関係を示す図
【図６】本発明の実施形態に係る動きベクトル情報の符号化方法及び復号化方法の例を示す図
【図７】本発明の実施形態に係る動きベクトル情報の符号化方法及び復号化方法の例を示す図
【図８】本発明の実施形態に係る動きベクトル情報の符号化方法及び復号化方法の例を示す図
【図９】本発明の実施形態に係る動画像符号化方法のブロック図
【図１０】本発明の実施形態に係る動画像符号化方法の手順を示すフローチャート
【図１１】同実施形態における動画像符号化データのピクチャヘッダ又はスライスヘッダのデータ構造の例を示す図
【図１２】同実施形態における動画像符号化データのマクロブロックのデータ構造の例を示す図
【図１３】本発明の実施形態に係る動画像符号化データ全体のデータ構造の例を示す図
【図１４】同実施形態に係る動画像復号化方法の手順を示すフローチャート
【図１５】同実施形態における時間線形補間を説明する図
【図１６】同実施形態における時間線形補間を説明する図
【符号の説明】
【０１１８】
１１２…ＤＣＴ手段  １１３…量子化手段  １１５、２１５…逆量子化手段  １１６、２１６…逆ＤＣＴ手段  １１７、２１７…第１の参照フレームメモリ  １１８、２１８…第２の参照フレームメモリ  １１９，２１９…予測マクロブロック生成手段  １２０，２２０…予測マクロブロック選択手段  ９００…フェード検出手段
【図１】
2007259484.tif 000004
【図２】
2007259484.tif 000005
【図３】
2007259484.tif 000006
【図４】
2007259484.tif 000007
【図５】
2007259484.tif 000008
【図６】
2007259484.tif 000009
【図７】
2007259484.tif 000010
【図８】
2007259484.tif 000011
【図９】
2007259484.tif 000012
【図１０】
2007259484.tif 000013
【図１１】
2007259484.tif 000014
【図１２】
2007259484.tif 000015
【図１３】
2007259484.tif 000016
【図１４】
2007259484.tif 000017
【図１５】
2007259484.tif 000018
【図１６】
2007259484.tif 000019