JP2007060690A - 動画像復号化方法及び装置 - Google Patents

動画像復号化方法及び装置 Download PDF

Info

Publication number
JP2007060690A
JP2007060690A JP2006281999A JP2006281999A JP2007060690A JP 2007060690 A JP2007060690 A JP 2007060690A JP 2006281999 A JP2006281999 A JP 2006281999A JP 2006281999 A JP2006281999 A JP 2006281999A JP 2007060690 A JP2007060690 A JP 2007060690A
Authority
JP
Japan
Prior art keywords
prediction
frame
motion vector
macroblock
encoded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
JP2006281999A
Other languages
English (en)
Inventor
Shinichiro Koto
晋一郎 古藤
Takeshi Nakajo
健 中條
Yoshihiro Kikuchi
義浩 菊池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006281999A priority Critical patent/JP2007060690A/ja
Publication of JP2007060690A publication Critical patent/JP2007060690A/ja
Abandoned legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】フェード画像について演算量や符号化データのオーバーヘッドの増加が少なく、かつ予測効率を大幅に向上することを可能とする。
【解決手段】動画像の復号化対象フレーム内の復号化対象ブロックに対して、所定の組み合わせの複数の参照フレーム及び該復号化対象ブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う際、予測ブロックと復号化対象ブロックとの予測誤差信号、参照フレーム、復号化対象フレーム毎に設定された2のべき乗の値となる分母を用いた有理数で表現された重み係数、直流オフセット値及び動きベクトルのそれぞれの情報を含む符号化データを復号化し、参照フレームから抽出した複数の参照ブロックについて重み係数を用いて線形和を計算しかつ直流オフセット値を加算することにより、予測ブロックを生成し、予測誤差信号及び予測ブロックの信号を用いて再生動画像信号を生成する。
【選択図】 図3

Description

本発明は、動き補償予測フレーム間復号化を用いた動画像復号化方法及び装置に関する。
動画像の圧縮符号化技術として、MPEG1(ISO/IEC11172-2),MPEG2(ISO/IEC13818-2),MPEG4(ISO/IEC14496-2)などが広く実用化されている。これらの動画像符号化方式では、フレーム内符号化(イントラ符号化)、前方予測フレーム間符号化及び両方向予測フレーム間符号化の組み合わせによる符号化が行われ、これらの符号化モードで符号化されるフレームはそれぞれIピクチャ、Pピクチャ及びBピクチャと呼ばれる。Pピクチャは直前のPまたはIピクチャを参照フレームとして符号化され、Bピクチャは直前及び直後のPまたはIピクチャを参照フレームとして符号化される。前方予測フレーム間符号化及び両方向予測フレーム間符号化は、動き補償予測フレーム間符号化と呼ばれる。
MPEG方式の動画像符号化においては、一つまたは複数の動画像フレームからマクロブロック毎に選択的に予測画像を生成することが可能である。Pピクチャでは、通常は一つの参照フレームからマクロブロック単位に予測画像を生成する。Bピクチャでは、前方または後方の参照フレームの何れか一方から予測画像を生成する場合と、前方及び後方の参照フレームからそれぞれ参照マクロブロックを抽出し、それらの参照ブロックの平均値から予測画像を生成する場合とがある。これらの予測モードの情報は、マクロブロック毎に符号化データに埋め込まれる。
このような動き補償予測フレーム間符号化では、マクロブロックのサイズまたはそれよりも大きな領域で、同じ映像がフレーム間で時間的に平行移動した場合には良好な予測結果が得られる。しかし、映像の時間的な拡大・縮小や回転、あるいはフェードイン・フェードアウトのような信号振幅の時間変動に対しては、必ずしも高い予測効率は得られない。固定ビットレートでの符号化では、このような高い予測効率が得られない映像が入力されると、大幅な画質劣化を招くことがある。一方、可変ビットレートの符号化では、画質劣化を抑制するために予測効率の悪い映像に対して多くの符号量が費やされてしまい、総符号量を増加させてしまう。
映像の時間的な拡大・縮小や回転、及びフェードイン・フェードアウトは、動画像信号のアフィン変換で近似できるため、アフィン変換を用いた予測を行えば予測効率は大幅に向上する。しかし、アフィン変換のパラメータを推定するためには、符号化時に膨大なパラメータ推定演算が必要となる。具体的には、複数の変換パラメータで参照画像を変換させ、予測残差が最小となるパラメータを決定することが必要となり、変換演算の演算量が膨大になる。その結果、符号化の演算量あるいはハードウエア規模等のコストが膨大になってしまう。また、予測残差信号だけでなく変換パラメータ自体を符号化する必要があり、符号化データのオーバーヘッドが膨大になる。さらに、復号化時には逆アフィン変換が必要となり、復号化の演算量あるいはハードウエア規模のコストが膨大なものになってしまう。
上述したように、従来のMPEGなどの動画像符号化方法では、平行移動以外の動画像の時間変化に対して十分な予測効率が得られないという問題があり、また、アフィン変換を用いた動画像符号化及び復号化方法では、予測効率自体は改善されるものの、符号化データのオーバーヘッドの増加や、符号化及び復号化コストの大幅な増加を招くという問題があった。
本発明は、動画像の符号化及び復号化において、特に従来のMPEGなどの動画像符号化方法が不得意としていたフェード画像について、演算量や符号化データのオーバーヘッドの増加を小さくし、かつ予測効率を大幅に向上させることを目的とする。
上記の課題を解決するため、本発明の第1の態様では動画像の符号化対象マクロブロックに対して、所定の組み合わせの複数の参照フレーム及び該符号化対象マクロブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間符号化を行う動画像符号化において、前記複数の参照フレームから少なくとも一つの参照マクロブロックをそれぞれ抽出し、抽出した複数の参照マクロブロックについて所定の重み係数の組を用いて線形和を計算することにより予測マクロブロックを生成し、前記予測マクロブロックと符号化対象マクロブロックとの予測誤差信号を生成し、前記予測誤差信号、前記複数の参照フレームの組み合わせを示す第1インデックス、前記重み係数の組を示す第2インデックス、及び前記動きベクトルの情報を符号化する。
本発明の第2の態様では、動画像の符号化対象マクロブロックに対して、所定の組み合わせの複数の参照フレーム及び該符号化対象マクロブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間符号化を行う動画像符号化方法または装置において、第1参照フレームから前記動きベクトルの候補に対応した第1参照マクロブロックを抽出し、前記動きベクトルの候補を少なくとも一つの第2参照フレームと符号化対象フレームとのフレーム間距離に応じてスケーリングし、前記第2参照フレームからスケーリングされた動きベクトルの候補に対応した少なくとも一つの第2参照マクロブロックを抽出し、前記第1及び第2参照マクロブロックについて所定の重み係数の組を用いて線形和を計算することにより予測マクロブロックを生成し、前記予測マクロブロックと符号化対象マクロブロックとの予測誤差信号を生成し、前記第1及び第2参照マクロブロックの線形和と前記符号化対象マクロブロックとの予測誤差信号の大きさに基づいて前記動きベクトルを決定し、前記予測誤差信号、前記第1及び第2参照フレームを示す第1インデックス、前記重み係数の組を示す第2インデックス、及び決定された前記動きベクトルの情報を符号化する
本発明の第3の態様では、動画像の符号化対象マクロブロックに対して、時間的に過去の少なくとも一つの参照フレーム及び該符号化対象マクロブロックと該参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間符号化を行う動画像符号化方法または装置において、前記符号化対象マクロブロックを含む符号化対象フレームの直前の前記符号化済みフレームにおける該符号化対象マクロブロックとフレーム内位置が同一の復号化対象マクロブロックの動きベクトルを用いるか、新たに前記動きベクトルを決定して符号化するかを符号化対象マクロブロック毎に切り替えて前記動き補償予測フレーム間符号化を行う。
本発明の第4の態様では、動画像の符号化対象マクロブロックに対して、少なくとも一つの参照フレーム及び該符号化対象マクロブロックと該参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間符号化を行う動画像符号化方法または装置において、時間的に過去の少なくとも一つの符号化済みフレームを前記参照フレームとする第1予測モード、時間的に未来の符号化済みフレームを前記参照フレームとする第2予測モード、該時間的に過去及び未来の符号化済みフレームの線形和を前記参照フレームとする第3予測モード、及び該時間的に過去の複数の符号化済みフレームの線形和を前記参照フレームとする第4予測モードを前記符号化対象マクロブロック毎に切り替えて前記動き補償予測フレーム間符号化を行う。
本発明の第5の態様では、動画像の復号化対象マクロブロックに対して、所定の組み合わせの複数の参照フレーム及び該復号化対象マクロブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う動画像復号化方法または装置において、前記復号化対象マクロブロック毎の予測誤差信号、前記複数の参照フレームの組み合わせを示す第1インデックス、参照マクロブロックに対する線形和の重み係数の組を示す第2インデックス及び前記動きベクトルの情報を含む符号化データを復号化し、復号化された前記動きベクトル及び前記第1インデックスの情報に従って前記複数の参照フレームから複数の参照マクロブロックを抽出し、復号化された前記第2インデックスの情報によって示される前記重み係数の組を用いて、抽出した前記複数の参照マクロブロックの線形和を計算することにより予測マクロブロックを生成し、前記予測マクロブロックと復号化された前記復号化対象マクロブロック毎の予測誤差信号を加算することにより動画像信号を復号化する。
本発明の第6の態様では、動画像の復号化対象マクロブロックに対して、所定の組み合わせの複数の参照フレーム及び該復号化対象マクロブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う動画像復号化方法または装置において、前記復号化対象マクロブロック毎の予測誤差信号、前記複数の参照フレームの組み合わせを示す第1インデックス、符号化済みフレームのフレーム番号を示す第2インデックス及び前記動きベクトルの情報を含む符号化データを復号化し、復号化された前記動きベクトル及び前記第1インデックスの情報に従って前記複数の参照フレームから複数の参照マクロブロックを抽出し、復号化された前記第2インデックスの情報に従って前記複数の参照フレームと前記符号化済みフレームとのフレーム間距離を算出し、算出された前記フレーム間距離に応じて決定される重み係数の組を用いて、抽出した前記複数の参照マクロブロックの線形和を計算することにより予測マクロブロックを生成し、前記予測マクロブロックと復号化された前記予測誤差信号を加算することにより動画像信号を復号化する。
本発明の第7の態様では、動画像の復号化対象マクロブロックに対して、時間的に過去の少なくとも一つの参照フレーム及び該復号化対象マクロブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う動画像復号化方法または装置において、前記復号化対象マクロブロック毎の予測誤差信号と、符号化された第1動きベクトルまたは直前の符号化済みフレームにおけるフレーム内同一位置のマクロブロックの第2動きベクトルを用いることを示すフラグの何れかの情報を含む符号化データを受信して復号化し、前記第1動きベクトルの情報を受信した復号化対象マクロブロックに対しては復号化された前記第1動きベクトル、前記フラグを受信した復号化対象マクロブロックに対しては前記第2動きベクトルをそれぞれ用いて予測マクロブロック信号を生成し、前記予測マクロブロックと復号化された前記予測誤差信号を加算することにより動画像信号を復号化する。
本発明の第8の態様では、動画像の復号化対象マクロブロックに対して、復号化対象マクロブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う動画像復号化方法または装置において、前記復号化対象マクロブロック毎の予測誤差信号の情報と、時間的に過去の少なくとも一つの符号化対象フレームを前記参照フレームとする第1予測モード、時間的に未来の符号化対象フレームを前記参照フレームとする第2予測モード、該時間的に過去及び未来の符号化対象フレームの線形和を前記参照フレームとする第3予測モード、及び該時間的に過去の複数の符号化対象フレームの線形和を前記参照フレームとする第4予測モードのいずれかを示す予測モード情報及び前記動きベクトルの情報を含む符号化データを受信して復号化し、前記予測モード情報及び前記動きベクトルの情報を用いて予測マクロブロック信号を生成し、前記予測マクロブロック信号と復号化された前記予測誤差信号を加算することより動画像信号を復号化する。
本発明の第9の態様では、動画像の符号化対象マクロブロックに対して、複数の参照フレームから選択された少なくとも一つの参照フレーム、及び該符号化対象マクロブロックと該少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間符号化を行う動画像符号化方法または装置において、前記動きベクトルが前記動画像の前記符号化対象マクロブロックに隣接する複数のマクロブロックに対する動きベクトルから選択された予測ベクトルと一致し、かつ前記符号化対象マクロブロックに対して選択された少なくとも一つの参照フレームが前記予測ベクトルが選択されたマクロブロックに対する参照フレームと一致し、前記動き補償予測フレーム間符号化における符号化すべき予測誤差信号が全て0である符号化対象マクロブロックに対して、前記動き補償予測フレーム間符号化をスキップし、次の符号化対象マクロブロックの動き補償予測フレーム間符号化に際して該動き補償予測フレーム間符号化をスキップしたマクロブロックの個数を符号化する。
本発明の第10の態様では、動画像の符号化対象マクロブロックに対して、複数の参照フレームから選択された少なくとも一つの第1参照フレーム、及び該符号化対象マクロブロックと該第1参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間符号化を行う動画像符号化方法または装置において、前記動き補償予測フレーム間符号化により得られる予測誤差信号、前記動き補償予測フレーム間符号化に用いる動きベクトルと前記符号化対象マクロブロックに隣接する複数のマクロブロックと第2参照フレームとの間の動きベクトルから選択された予測ベクトルとの差分ベクトル、及び前記第1参照フレームを示すインデックスと前記第2参照フレームを示すインデックスとの差分値を符号化する。
本発明の第11の態様では、動画像の復号化対象マクロブロックに対して、該復号化対象マクロブロックと複数の参照フレームの中から選択された少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う動画像復号化方法または装置において、動き補償予測フレーム間符号化により得られた前記復号化対象マクロブロック毎の予測誤差信号、直前にスキップしたマクロブロックの個数及び前記選択された少なくとも一つの参照フレームを示すインデックスの情報を含む符号化データを受信して復号化し、前記スキップしたマクロブロックにおいて該スキップしたマクロブロックに隣接する複数のマクロブロックの動きベクトルから一つの予測ベクトルを選択し、前記予測ベクトルが選択されたマクロブロックに対する少なくとも一つの参照フレーム及び前記予測ベクトルに従って予測マクロブロックを生成し、前記予測マクロブロックを前記スキップしたマクロブロックの復号化画像信号として出力する。
本発明の第12の態様では、動画像の復号化対象マクロブロックに対して、該復号化対象マクロブロックと複数の参照フレームの中から選択された少なくとも一つの第1参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う動画像復号化方法または装置において、動き補償予測フレーム間符号化により得られた予測誤差信号、該動き補償予測フレーム間符号化に用いた動きベクトルと前記復号化対象マクロブロックに隣接する複数のマクロブロックと第2参照フレームとの間の動きベクトルから選択された予測ベクトルとの差分ベクトル、及び前記第1参照フレームを示す第1インデックスと前記第2参照フレームを示す第2インデックスとの差分値を含む符号化データを受信して復号化し、前記復号化対象マクロブロックに隣接する複数のマクロブロックから前記予測ベクトルを選択し、選択された予測ベクトルと復号化された前記差分ベクトルとを加算することにより前記動きベクトルを再生し、前記予測ベクトルが選択されたマクロブロックにおける参照フレームのインデックスと前記復号化した差分値とを加算することにより前記第1インデックスを再生し、前記再生された動きベクトル及び再生された第1インデックスに従って予測マクロブロックを生成し、生成された前記予測マクロブロックと前記復号化された予測誤差信号とを加算することにより前記復号化対象マクロブロックの復号化再生画像信号を生成する。
本発明の第13の態様では、動画像の符号化対象フレーム内の符号化対象ブロックに対して、所定の組み合わせの複数の参照フレーム及び該符号化対象ブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間符号化を行う動画像符号化方法において、前記符号化対象フレーム内の交流成分値と前記参照フレームの交流成分値との比から少なくとも一つの重み係数を決定するステップと、前記符号化対象フレーム内の直流成分値と前記参照フレームの直流成分値との差から少なくとも一つの直流オフセット値を決定するステップと、前記参照フレームから抽出した複数の参照ブロックについて前記重み係数を用いて線形和を計算しかつ前記直流オフセット値を加算することにより、予測ブロックを生成するステップと、前記予測ブロックと符号化対象ブロックとの予測誤差信号を生成するステップと、前記予測誤差信号、前記参照フレーム、前記重み係数、前記直流オフセット値及び前記動きベクトルのそれぞれの情報を符号化するステップとを具備する。
一方、動画像の復号化対象フレーム内の復号化対象ブロックに対して、所定の組み合わせの複数の参照フレーム及び該復号化対象ブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う動画像復号化方法において、予測ブロックと前記復号化対象ブロックとの予測誤差信号、前記参照フレーム、重み係数、直流オフセット値及び前記動きベクトルのそれぞれの情報を含む符号化データを復号化するステップと、前記参照フレームから抽出した複数の参照ブロックについて前記重み係数を用いて線形和を計算しかつ前記直流オフセット値を加算することにより、前記予測ブロックを生成するステップと、前記予測誤差信号及び予測ブロックの信号を用いて再生動画像信号を生成するステップとを具備する。
以上説明したように、本発明によれば、従来のMPEGなどの動画像符号化方式が不得意としていた、フェードイン・フェードアウトなどの映像に対して、符号化及び復号化の演算量やコストの大幅な増加を必要とせずに、予測効率を大幅に向上することが可能となり、また符号化データのオーバーヘッドも小さく、高画質で高能率な動画像符号化及び復号化を行うことが可能となる。
(第1の実施形態)
図1に、本発明の第1の実施形態に係る動画像符号化装置の構成を示す。図1に示す動画像符号化装置は、ハードウエアで実現してもよいし、コンピュータを用いてソフトウエアにより実行してもよい。一部の処理をハードウエアで実現し、他の処理をソフトウエアにより行ってもよい。この点は、後で説明する他の実施形態に係る動画像符号化装置においても同様である。
図1においては、フレーム毎に入力される動画像信号100(符号化対象フレーム)に対して、第1参照フレームメモリ117に保存された符号化済みフレームと第2参照フレームメモリ118に保存された符号化済みフレームとから予測マクロブロック生成器119により予測マクロブロック信号130〜133が生成される。予測マクロブロック選択器120では、予測マクロブロック信号130〜133から最適な予測マクロブロック信号が選択され、選択された予測マクロブロック信号によって予測画像信号106が生成される。
予測画像信号106は減算器110に入力され、入力動画像信号100に対する予測画像信号106の誤差を示す予測誤差信号101が生成される。予測誤差信号101は、DCT変換器112により離散コサイン変換され、これによって得られたDCT係数データが量子化器113により量子化されることにより量子化DCT係数データ102が生成される。量子化DCT係数データ102は二分岐され、一方で可変長符号化器114により符号化される。
量子化DCT係数データ102は、他方において逆量子化器115及び逆DCT変換器116を経て予測誤差信号として再生される。この再生された予測誤差信号が予測画像信号106と加算されることにより、局部復号化画像信号103が生成される。局部復号化画像信号103は、第1参照フレームメモリ117に入力される。第1参照フレームメモリ117には、入力動画像信号100である現在の符号化対象フレームの直前に符号化された符号化済みフレームの局部復号化画像信号103が参照フレームとして保存され、第1参照フレームメモリ117の出力に接続された第2参照フレームメモリ118には、さらにその前に符号化された符号化済みフレームの局部復号化画像信号が参照フレームとして保存される。
予測マクロブロック生成器119では、第1参照フレームメモリ117に保存された参照フレームから抽出した参照マクロブロック信号104のみから生成される予測マクロブロック信号130、第2参照フレームメモリ118に保存された参照フレームから抽出した参照マクロブロック信号105のみから生成される予測マクロブロック信号131、第1及び第2参照フレームメモリ117,118からそれぞれ抽出した参照マクロブロック信号104,105を平均化して生成される予測マクロブロック信号132、及び第1参照フレームメモリ117から抽出した参照マクロブロック信号104の振幅を2倍にした信号から、第2参照フレームメモリ118から抽出した参照マクロブロック信号105を減じて生成される予測マクロブロック信号133をそれぞれ生成する。
予測マクロブロック選択器120では、予測マクロブロック生成器119で生成された複数の予測マクロブロック信号130〜133に対し、入力動画像信号100から抽出した符号化対象マクロブロック信号との差分を計算し、誤差が最小となる予測マクロブロック信号を符号化対象マクロブロック毎に選択する。
さらに、予測マクロブロック選択器120は符号化対象マクロブロック毎に、選択した予測マクロブロック信号の符号化対象マクロブロック信号から見た相対的な位置を動きベクトル情報として、また選択した予測マクロブロック信号の生成方法(予測マクロブロック信号130〜133の生成方法)を予測モード情報として出力する。予測モード情報の詳細については、後に詳しく説明する。このような動きベクトルと予測モードの適用により、予測画像信号106が生成され、これに基づき予測誤差信号101が生成される。
入力動画像信号100の信号成分が輝度信号及び二つの色差信号で構成される場合、予測マクロブロック選択器120は各マクロブロックのそれぞれの信号成分に対して同一の動きベクトル及び予測モードを適用する。
予測誤差信号101をDCT変換器112及び量子化器113を通して得られた量子化DCT係数データ102と、予測マクロブロック選択器120から出力される動きベクトル情報及び予測モード情報を含むサイド情報107は、可変長符号化器114により符号化され、符号化データ108として出力される。符号化データ108は、図示しない蓄積系や伝送系へ送出される。
本実施形態では、予測誤差信号101はDCT変換器112、量子化器113及び可変長符号化器114を経て符号化されるが、例えばDCT変換をウエーブレット変換に置き換えた構成としたり、あるいは可変長符号化を算術符号化に置き換えた構成としてもよい。
(第2の実施形態)
図2には、本発明の第2の実施形態に係る動画像符号化装置の構成を示す。本実施形態では、図1に示した第1の実施形態の動画像符号化装置に対して、入力動画像信号100に対するフェード検出器140が付加されている。フェード検出器140では、入力動画像信号100のフレーム毎の平均輝度値を計算し、輝度の時間変化に一定の傾きがある場合は、入力動画像信号100の画像はフェード画像であると判定し、その判定結果をフェード検出信号141として予測モード選択器120に通知する。
予測モード選択器120では、フェード検出器140によって入力動画像信号100の画像がフェード画像と判定された場合は、予測モードを一つの参照フレームからの予測または複数の参照フレームの線形外挿あるいは線形内挿による予測の何れかに限定して、マクロブロック毎に最適な動きベクトル及び予測モードを決定する。決定された動きベクトル及び予測モードを示す第1フラグをマクロブロックのヘッダに書き込み、予測誤差信号101の符号化を行う。一方、予測モードの組を示す第2フラグをフレームのヘッダデータに書き込んで出力する。
さらに予測モード選択器120は、フェード検出器140によって入力動画像信号100の画像がフェード画像でないと判定された場合は、予測モードを一つの参照フレームからの予測または複数の参照フレームの平均値による予測のいずれかに限定して、同様に最適な動きベクトル及び予測モードを決定し、動きベクトル、予測モード及び予測誤差信号101の符号化を同様に行う。
図2の動画像符号化装置から出力される符号化データ108を受信して復号化する場合は、予測モードを示す第1及び第2フラグからマクロブロック毎の予測モードを判断し、マクロブロック毎に送られる動きベクトル及び判断した予測モードから予測マクロブロック信号を生成し、符号化された予測誤差信号を復号化して予測信号と加算することで復号化を行う。
このような構成とすることで、予測モード情報の符号化オーバーヘッドを低減させることが可能となる。
図3には、本発明の第1及び第2の実施形態に係る動画像復号化装置の構成を示す。図3に示す動画像復号化装置は、ハードウエアで実現してもよいし、コンピュータを用いてソフトウエアにより実行してもよい。一部の処理をハードウエアで実現し、他の処理をソフトウエアにより行ってもよい。この点は、後で説明する他の実施形態に係る動画像復号化装置においても同様である。
本実施形態の動画像復号化装置は、図1または図2に示した動画像符号化装置に対応した構成となっている。すなわち、図3の動画像復号化装置には、図1あるいは図2に示した動画像符号化装置から出力される符号化データ108が伝送系または蓄積系を経て、符号化データ200として入力される。
動画像復号化装置に入力された符号化データ200は、まず可変長符号復号化器214で可変長符号が復号化され、量子化DCT係数データ201と、動きベクトル情報及び予測モード情報を含むサイド情報202が抽出される。量子化DCT係数データ201は、逆量子化器215及び逆DCT変換器216を経て復号化されることにより予測誤差信号が再生される。予測誤差信号は予測画像信号206と加算され、復号化画像信号203が生成される。
第1参照フレームメモリ217には、符号化データ200である現在の動画像フレームの直前に復号化されたフレームの復号化画像信号203が参照フレームとして保存され、第1参照フレームメモリ217の出力に接続された第2参照フレームメモリ218には、さらにその前に復号化されたフレームの復号化画像信号が参照フレームとして保存される。
予測マクロブロック生成器219では、第1参照フレームメモリ217に保存された参照フレームから抽出した参照マクロブロック信号のみから生成される予測マクロブロック信号、第2参照フレームメモリ218に保存された参照フレームから抽出した参照マクロブロック信号のみから生成される予測マクロブロック信号、第1及び第2参照フレームメモリ217,218からそれぞれ抽出した参照マクロブロック信号を平均化して生成される予測マクロブロック信号、及び第1参照フレームメモリ217から抽出した参照マクロブロック信号の振幅を2倍にした信号から、第2参照フレームメモリ218から抽出した参照マクロブロック信号を減じて生成される予測マクロブロック信号が生成される。これらの予測マクロブロック信号は、予測マクロブロック選択器220に入力される。
予測マクロブロック選択器220には、さらに可変長復号化器214からのサイド情報202が入力される。予測マクロブロック選択器220では、サイド情報202に含まれる動きベクトル情報及び予測モード情報に応じて、予測マクロブロック生成器219から出力される予測マクロブロック信号のうち、符号化時に使用された予測マクロブロック信号と同じ信号が選択されることにより、予測画像信号206が生成される。
(動き補償予測フレーム間符号化について)
図4は、第1及び第2の実施形態におけるフレーム間予測の関係を模式的に示した例であり、符号化/復号化対象フレーム302、その直前のフレーム301、さらにその前のフレーム300を示している。
フレーム302を符号化あるいは復号化しているとき、図1及び図2の第1参照メモリ117あるいは図3の第1参照フレーム217には、フレーム301の復号化画像信号が保存されており、また図1及び図2の第2参照フレームメモリ118あるいは図3の第2参照フレームメモリ218には、フレーム300の復号化画像信号が保存されている。
符号化/復号化対象マクロブロック305に対して、参照フレーム300の参照マクロブロック303及び参照フレーム301の参照マクロブロック304のいずれか一方あるいは両方を用いて予測マクロブロックが生成される。動きベクトル306及び307は、それぞれ参照マクロブロック303及び304の位置を示すベクトルである。
符号化時には、符号化対象マクロブロック305に最適な動きベクトル及び予測モードの探索が行われる。復号化時には、サイド情報202に含まれる動きベクトル及び予測モードの情報を用いて、復号化対象マクロブロック305に対して予測マクロブロック信号が生成される。
図5及び図6は、第1及び第2の実施形態における予測モードのうち、複数の参照フレームの線形和による予測モードで用いる予測係数テーブルの例を示している。予測係数は、第1の実施形態ではマクロブロック毎、第2の実施形態ではフレーム毎にそれぞれ変化し、平均及び線形外挿の2つの係数の組が存在する。
図5あるいは図6中に示すインデックス(Code_number)をマクロブロック毎あるいはフレーム毎のヘッダデータとして符号化する。第2の実施形態では線形予測係数はフレーム毎に固定となるので、フレームのヘッダデータのみで符号化すればよい。図5に示す予測係数テーブルでは係数の数値を明示的に定義しており、図6に示す予測係数テーブルでは平均または線形予測(内挿または外挿)を示している。このようなインデックスを符号化することにより、線形予測係数を直接符号化する場合に比べて、符号化すべき情報量が削減でき、符号化オーバーヘッドを低減させることが可能となる。
図7は、本発明の第1及び第2の実施形態における種々の予測モードに関わる参照フレーム(Reference_frame)の組み合わせを示すテーブルである。図7において、Code_numbe=0は直前のフレーム(1フレーム前)からの予測モード、Code_numbe=1は2フレーム前からの予測モード、Code_numbe=3は1フレーム前及び2フレーム前からの線形和による予測モードの場合の参照フレームの組み合わせをそれぞれ示している。Code_number=3の場合には、上述の線形予測係数を用いた予測モードが用いられる。
第1及び第2の実施形態においては、参照フレームの組み合わせはマクロブロック毎に変化可能であり、図7のテーブルのインデックスはマクロブロック毎に符号化が行われる。
(第3の実施形態)
図8及び図9は、本発明の第3の実施形態に係る動画像符号化装置及び動画像復号化装置の構成をそれぞれ示している。第1及び第2の実施形態では、最大2フレームの参照フレームからの線形和による予測を行うのに対して、第3の実施形態では3フレーム以上の参照フレームを用いて、マクロブロック毎の特定の1フレームを選択するか、あるいは複数の参照フレームの線形和のいずれかによる予測を可能としている。
図8の動画像符号化装置では最大参照フレーム数(n)分の参照フレームメモリ117,118及び152を備え、図9の動画像復号化装置においても同様に最大参照フレーム数(n)分の参照フレームメモリ217,218及び252備えている。本実施形態では、線形和による予測の際は予測マクロブロック生成器151及び251において予測係数W1〜Wnと各参照フレームから抽出された参照マクロブロックとの積和演算を行い、その結果をWdビットだけ右シフトして予測画像信号を生成する。参照フレームの選択はマクロブロック毎に変更可能とし、線形予測係数はフレーム毎に変更可能とする。従って、線形予測係数の組をフレームのヘッダデータとして符号化し、参照フレームの選択はマクロブロック毎のヘッダデータとして符号化を行う。
図10に、本実施形態に関わる線形予測係数をフレームのヘッダとして符号化するためのデータシンタックスを示す。線形予測係数の符号化では、まず参照フレームの最大数をNumber_Of_Max_Referencesとして符号化し、次に線形予測係数の演算精度を示すWeightingFactorDenominatorExponent(図8及び図9におけるWd)を符号化し、さらにNumber_Of_Max_Referencesの数だけの各参照フレームに対する係数WeightingFactorNumerator[i](図8及び図9におけるW1〜Wn)を符号化する。i番目の参照フレームに対する線形予測係数は、以下の式で示される。
Figure 2007060690
図11に、本実施形態に関わるマクロブロック毎に符号化される参照フレームの組み合わせテーブルを示す。Code_number=0は全ての参照フレームの線形和による予測を示し、Code_number=1以降は参照フレームが特定の1フレームであり、何フレーム前のフレームを参照フレームとするか示す。全ての参照フレームの線形和による予測を行う場合、図10に示した予測係数を用いた予測を行う。ここで、予測係数の一部を0とすることで、線形予測モードでは任意の参照フレームの組み合わせによる線形予測をフレーム単位に切り替えることが可能である。
図12及び図13は、本実施形態に関わる3フレーム以上の参照フレームを用いるフレーム間予測の関係を示している。図12は過去の複数の参照フレームを用いる例であり、また図13は過去及び未来の複数の参照フレームを用いる例である。図12においては、符号化対象フレーム804に対して参照フレーム800〜803が用いられる。
符号化時には、符号化対象マクロブロック813毎に、各参照フレームから各参照フレームに対する動きベクトル805〜808に応じて参照マクロブロック809〜812を抽出し、抽出した参照マクロブロック809〜812からの線形予測により予測マクロブロックを生成する。次に、複数の参照マクロブロック809〜812の中の一つ、あるいは線形予測による予測マクロブロックの何れかの予測モードで、予測誤差が最小となる動きベクトル及び予測モードの組を選択する。線形予測係数は、例えはフレーム間の平均輝度の時間変化等から符号化対象フレーム毎に1組決定される。決定された予測係数の組は符号化対象フレームのヘッダデータとして符号化され、また各マクロブロックの動きベクトル、予測モード及び予測誤差信号は、マクロブロック毎に符号化される。
復号化時はフレーム毎に受信した線形予測係数の組を用いて、マクロブロック毎に動きベクトル及び予測モードの情報から、複数の参照フレームより、予測マクロブロックを生成し、予測誤差信号と加算することで復号化を行う。
図13では、符号化対象フレーム902に対して参照フレーム900,901,903,904が用いられる。図13の場合、符号化時及び復号化時は符号化対象フレーム902及び参照フレーム900,901,903,904は900、901、903、904、902の順序となるようにフレームの並べ替えが行われ、符号化の場合は複数の局部復号化画像フレーム、復号化の場合は複数の符号化済みフレームをそれぞれ参照フレームとして用いる。
符号化対象マクロブロック911に対して、図12の例と同様に参照マクロブロック909,910,912,913の一つ、またはそれらからの線形予測による予測信号の何れかがマクロブロック毎に選択されて符号化される。
図14は、本発明の実施形態に係る動きベクトル情報の符号化方法及び復号化方法を示す図である。図4の例のように、複数の参照フレームを用いたフレーム間符号化において、符号化対象マクロブロック毎に複数の参照マクロブロック信号を用いて予測マクロブロック信号を生成する場合、マクロブロック毎に複数の動きベクトル情報を符号化する必要がある。したがって、参照するマクロブロックの数が増えるほど、符号化すべき動きベクトル情報のオーバーヘッドが増加し、符号化効率を低下させる原因となる。
図14の例では、2つの参照フレームからそれぞれ参照マクロブロック信号を抽出して、予測マクロブロック信号を生成する場合に、一つの動きベクトルとその動きベクトルをフレーム間距離に応じてスケーリングした動きベクトルを用いる。符号化対象フレーム402に対して参照フレーム401及び400が用いられ、動きベクトル411及び410が検出される。黒で示した点は垂直方向の画素位置を示しており、白で示した点は1/4画素精度の補間点を示している。
図14は、動き補償予測フレーム間符号化を1/4画素精度で行う例を示している。動き補償の画素精度は1画素、1/2画素及び1/8画素など、符号化方式毎に定義される。通常は、動きベクトルを動き補償の精度で表現し、参照画像を参照フレームの画像データから、補間して生成するのが一般的である。
図14では、符号化対象の画素405に着目すると、参照フレーム400からは2.5画素垂直方向に離れた点403を参照するものとし、2.5画素のずれを示す動きベクトル410が符号化される。一方、同画素405に対する参照フレーム401からの予測は、フレーム間距離に応じて前述の符号化された動きベクトル410をスケーリングすることにより生成する。ここでは、フレーム401に対する動きベクトルは、フレーム間距離を考慮し2.5/2=1.25画素となり、参照フレーム401における画素404が符号化対象フレーム402の画素405の参照画素として用いられる。
符号化時及び復号化時に同一の精度で動きベクトルのスケーリングを行うことで、各マクロブロック毎に符号化すべき動きベクトルは、符号化対象マクロブロックが複数のフレームを参照する場合でも一つの動きベクトルで済み、符号化オーバーヘッドの増加を防ぐことが可能となる。ここで、動きベクトルのスケーリング結果が、動き補償の精度のサンプル点上にない場合は、端数の四捨五入によりスケーリングされた動きベクトルを丸めるものとする。
図15は、本発明の実施形態に係る、図14とは異なる動きベクトル情報の符号化方法及び復号化方法を示す図である。図14の例では、動画像の時間的な動きの速さが一定の場合に、符号化データに占める動きベクトルのオーバーヘッドを効率的に低減することが可能となる。一方、動画像の時間的な動きが単調ではあるが、動きの速さが一定ではない場合、単純にスケーリングした動きベクトルを用いると、予測効率の低下が発生して符号化効率の低下の原因となる場合がある。
図15では図14と同様に、画素506の参照画素として、参照フレーム500及び501の2フレームの参照画素から予測画素を生成する。ここでは、フレーム500の画素503と、フレーム501の画素505が参照されるものとする。図14の例と同様に、フレーム500に対する動きベクトル510が符号化され、それに加えてフレーム501に対する動きベクトル511が、動きベクトル510をスケーリングしたベクトルとの差分ベクトル520として符号化される。動きベクトル510を1/2にスケーリングすることにより、フレーム501における画素504の位置が示され、本来の予測画素505と画素504との差分量を示す差分ベクトル520が符号化される。
通常、時間的に単調な動きに対して前述の差分ベクトルの大きさは小さくなるため、動きの速度が一定でない場合も、予測効率を低下させずに、かつ動きベクトルのオーバーヘッドの増加を抑えて、効率的な符号化行うことが可能となる。
図16は、本発明の実施形態に係るさらに別の動きベクトル情報の符号化方法及び復号化方法を示す図である。図16の例では、フレーム603が符号化対象フレームであり、フレーム602を飛ばして、フレーム601及びフレーム600が参照フレームとなっている例である。さらに、画素606に対して、参照フレーム600の画素604及び参照フレーム601の画素605が予測画素を生成するための参照画素となっている。図14あるいは図15の例と同様に、参照フレーム600に対する動きベクトル611を符号化し、動きベクトル611をスケーリングした動きベクトルを用いて、参照フレーム601に対する動きベクトルを生成することも可能であるが、図16の場合は参照フレームと符号化対象フレームのフレーム間距離の関係から、動きベクトル611に対して2/3倍のスケーリングが必要となる。
図16の例に限らず、任意のスケーリングを行うためには、分母が2のべき乗でない任意の整数となり、除算が必要となる。動きベクトルのスケーリングは、符号化時及び復号化時のいずれでも必要であり、特に除算は、ハードウエア及びソフトウエアのいずれにおいても、コストや演算時間が多くかかるため、符号化及び復号化のコスト増をもたらしてしまう。図16では、符号化すべき動きベクトル611をフレーム間距離で正規化した動きベクトル610を符号化し、正規化された動きベクトル610を符号化対象フレームと各参照フレームとのフレーム間距離に応じて、スケーリングした動きベクトルと、本来の動きベクトルとの差分ベクトルを符号化する。つまり、参照画素604は、正規化された動きベクトル610を3倍した動きベクトルと、差分ベクトル620から生成され、参照画素605は、正規化された動きベクトル610を2倍した動きベクトルと、差分ベクトル621から生成される。
このように図16の構成とすることで、予測効率を低下させずに、動きベクトルの符号化オーバーヘッドの増加を防ぎ、さらに、動きベクトルのスケーリングが乗算のみで実現できるため、符号化及び復号化の演算コストも抑えることが可能となる。
本発明の実施形態における動きベクトルあるいは差分ベクトルの符号化では、以下のように動きベクトルの空間相関あるいは時間相関を利用することで、動きベクトル符号量の一層の削減を実現する。
まず、図17を用いて空間相関を利用した動きベクトルの圧縮方法の例を説明する。図17中に示すA,B,C,D,Eは、1フレーム内の隣接するマクロブロックを示している。マクロブロックAの動きベクトルあるいは差分ベクトルを符号化する際、隣接するマクロブロックB,C,D,Eの動きベクトルから予測ベクトルを生成し、予測ベクトルと符号化すべきマクロブロックAの動きベクトルとの誤差のみを符号化し、復号側では符号化時と同様に予測ベクトルを計算し、符号化された誤算信号と加算することで、マクロブロックAの動きベクトルあるいは差分ベクトルの生成を行う。
動きベクトルの誤差の符号化は、可変長符号や算術符号を用いることで、高能率に圧縮することが可能である。動きベクトルの予測は、例えば、マクロブロックB,C,D,Eの動きベクトルの中央値あるいは平均値を予測ベクトルとして用いることで実現出来る。
次に、図18を用いて時間相関を利用した動きベクトルの圧縮方法の例を説明する。図18では、連続する2フレーム(F0、F1)を示している。図中、A,B,C,D,EはフレームF1内において隣接するマクロブロック、また、a,b,c,d,eはフレームF0におけるA,B,C,D,Eと同じ位置のマクロブロックをそれぞれ示している。ここで、マクロブロックAにおける動きベクトルあるいは差分ベクトルを符号化する際に、直前のフレームF0の同一位置のマクロブロックaの動きベクトルを予測ベクトルとし、予測ベクトルとマクロブロックAにおける符号化すべきベクトルとの誤差のみを符号化することで、動きベクトル情報を圧縮することが可能となる。
さらに、時空間相関を利用し、フレームF1のマクロブロックB,C,D,E及びフレームF0のマクロブロックa,b,c,d,eの動きベクトルを用いて、マクロブロックAの動きベクトルを3次元予測し、予測ベクトルと符号化すべきベクトルとの誤差のみを符号化することで、さらに動きベクトルを高能率に圧縮することが可能となる。
動きベクトルの3次元予測は、例えば、時空間に隣接する複数の動きベクトルの中央値あるいは平均値等から、予測ベクトル生成することで実現可能である。
次に、本発明に関わるマクロブロックスキップの実施形態について説明する。動き補償予測符号化において、符号化すべき予測誤差信号がDCT及び量子化により全て0になったマクロブロックにおいて、符号化オーバヘッドを削減するため、予め定義された所定の条件を満たすマクロブロックにおいては、予想モードや動きベクトル等のマクロブロックのヘッダデータも含めて、一切のデータ符号化せず、次に符号化されるマクロブロックのヘッダにおいて、連続してスキップしたマクロブロックの数だけを符号化し、復号化時はスキップしたマクロブロックに関しては、予め定義された所定のモードでの復号化を行うものとする。
本発明の実施形態に関わるマクロブロックスキップの第1の態様では、予測に用いる参照フレームが予め定められたもの、動きベクトルの要素が全て0、符号化すべき予測誤差信号が全て0、の全ての条件を満たすものをマクロブロックスキップとして定義し、復号時は予め定められた参照フレームから、動きベクトルが0である場合と同様に予測マクロブロックを生成し、生成された予測マクロブロックを復号化されたマクロブロック信号として再生する。
ここで、直前の2フレームの線形和を参照フレームとするということを参照フレームのスキップ条件とすることで、フェード画像等の信号強度が時間的に変化する映像においても、マクロブロックスキップを発生させることが可能となり、符号化効率を向上させることが可能となる。また、各フレームのヘッダデータとして、スキップ条件となる参照フレームのインデックスを送り、フレーム毎にスキップ条件を可変とする構成でもよい。フレームスキップ条件を、フレーム毎に可変にすることで、入力画像の性質に合わせて最適なスキップ条件を設定し、符号化オーバーヘッドを削減することが可能となる。
本発明の実施形態に関わるマクロブロックスキップの第2の態様では、動きベクトルは予測符号化するものとし、動きベクトルの誤差信号が0の場合をマクロブロックスキップ条件とする。その他の条件は、マクロブロックスキップの上述した第1の態様と同様である。この第2の態様では、スキップしたマクロブロックの復号時は、まず予測動きベクトルを生成して、生成された予測動きベクトルを用いて、所定の参照フレームから予測画像を生成し、マクロブロックの復号化信号とする。
本発明の実施形態に関わるマクロブロックスキップの第3の態様では、符号化すべき動きベクトル情報が直前のマクロブロックで符号化された動きベクトル情報と同一であることをスキップ条件とする。ここで、符号化すべき動きベクトル情報とは、動きベクトルの予測符号化を行う場合は、予測誤差ベクトルであり、予測符号化をしない場合は、動きベクトルそのものである。その他の条件は、上述した第1の態様と同様である。
この第3の態様では、スキップしたマクロブロックの復号時は、まず、符号化されるべき動きベクトル情報が0であるとして、動きベクトルの再生を行い、再生された動きベクトルに従って、所定の参照フレームから予測画像を生成し、マクロブロックの復号化信号とする。
本発明の実施形態に関わるマクロブロックスキップの第4の態様では、予測に用いる参照フレームの組み合わせが、直前に符号化されたマクロブロックと同一であり、他のスキップ条件は、上述した第1の態様と同じ構成とする。
本発明の実施形態に関わるマクロブロックスキップの第5の態様では、予測に用いる参照フレームの組み合わせが、直前に符号化されたマクロブロックと同一であり、他のスキップ条件は、上述した第2の態様と同じ構成とする。
本発明に関わるマクロブロックスキップの第6の態様では、予測に用いる参照フレームの組み合わせが、直前に符号化されたマクロブロックと同一であり、他のスキップ条件は、上述した第3の態様と同じ構成とする。
上記第1から第6の態様のいずれのスキップ条件においても、隣接マクロブロック間の動きや信号強度の時間変化の相関が高いという性質を利用し、効率的にマクロブロックスキップを発生させ、符号化オーバヘッドを低減し、高能率な符号化を実現することが可能となる。
(第4の実施形態)
図19に、本発明の第4の実施形態に係る動画像符号化装置の構成を示す。本実施形態では、図8で示した第3の実施形態に係る動画像符号化装置に線形予測係数推定器701が付加された構成となっている。線形予測係数推定器701では、参照フレームと符号化対象フレームとのフレーム間距離や、入力フレームのフレーム内DC成分の時間変化などに応じて、複数参照フレームからの線形予測における予測係数の決定を行う。以下、具体的な予測係数決定に関する、複数の実施形態について説明する。
図20は、過去2フレームからの線形和により予測する場合を示しており、符号化対象フレームF2に対して、参照フレームF0,F1が用いられる。Ra,Rbは、各参照フレームF0,F1と符号化対象フレームF2とのフレーム間距離を示している。参照フレームF0、F1に対する線形予測係数をそれぞれW0,W1とする。第1線形予測係数の組は(0.5,0.5)とし、すなわち2つの参照フレームの単純平均とする。第2線形予測係数は、フレーム間距離に応じた線形外挿により決定される。図20の例では、式(2)のようになる。例えば、フレーム間隔が一定の場合は、Rb=2*Raとなり、式(2)より線形予測係数は(W0,W1)=(−1,2)となる。
Figure 2007060690
式(2)より、各参照フレームと符号化対象フレームとのフレーム間距離が任意に変化した場合でも、適切な線形予測が可能となる。例えばフレームスキップ等を用いた可変フレームレートの符号化や、参照フレームを過去の任意の2フレームを選択した場合でも、高い予測効率を維持することが可能となる。符号化時に、第1予測係数または第2予測係数の何れか一方を固定的に使用してもよいし、また適応的に選択しても良い。予測係数を適応的に選択する具体的な方法については、例えば各フレームのフレーム内の平均輝度値(DC値)を用いて決定することも可能である。
各フレームF0,F1,F2のフレーム内の平均輝度値をそれぞれDC(F0),DC(F1),DC(F2)とし、フレーム内DC成分について、各線形予測係数を用いた場合の予測誤差の大きさを、式(3)及び(4)のように計算する。
Figure 2007060690
式(3)の値が式(4)の値より小さければ第1予測係数を選択し、式(4)の値が式(3)の値より小さければ第2予測係数を選択する。これらの予測係数は、符号化対象フレーム毎に変化させることで、映像信号の特性に応じて最適な、線形予測が可能となる。フレーム内DC値の比を用いて、第3及び第4予測係数を式(5)または(6)に示すようにフレーム毎に決定しても、効率的な線形予測が可能である。
Figure 2007060690
式(5)に示す第3線形予測係数は、フレーム内DC値の比を加味した重みつき平均であり、式(6)に示す第4線形予測係数は、フレーム内DC値の比とフレーム間距離を加味した線形予測である。上記した第2から第6線形予測係数では、線形予測の際に除算を必要とするが、演算精度を符号化時と復号化時に一致させることで、除算を用いず乗算とビットシフトによる線形予測が可能となる。
具体的なシンタックスとしては、図10に示した例のように、2のべき乗の分母と整数の分子で、各線形予測係数を表現すればよい。図21は、時間的に前後の2フレームからの線形和により予測する場合を示しており、図中のF1が符号化対象フレーム、F0,F2がそれぞれ参照フレーム示す。またRa,Rbは各参照フレームと符号化対象フレームとのフレーム間距離を示している。また、参照フレームF0、F2に対する線形予測係数をそれぞれW0,W2とする。また、各フレームの輝度値のフレーム内平均値をDC(F0),DC(F1),DC(F2)とする。図20の場合と同様の4種類の予測係数の組の例を、式(7)〜式(10)に示す。
Figure 2007060690
式(7)は単純平均予測、式(8)はフレーム間距離の重みつき平均予測、式(9)はDC値の比に基づく重みつき予測、式(10)はDC値の比とフレーム間距離に基づく重みつき予測である。
図22は、過去3フレームからの線形和による予測を行う場合を示しており、F0,F1,F2が参照フレーム、F3が符号化対象フレームである。各参照フレームF0,F1,F2と符号化対象フレームF3とのフレーム間距離は、それぞれRc,Rb,Raで示される。図22においても、複数の線形予測係数の組が考えられる。その具体例を以下に示す。ここで、各参照フレームに対する線形予測係数をW0、W1,W2とする。
第1予測係数の組を式(11)に示す。第1予測係数は、3つの参照フレームからの単純平均予測である。第1予測係数の組による予測画像aF3 012 は、式(12)で示される。
Figure 2007060690
第2、第3及び第4予測係数は、3つの参照フレームから2フレームを選択して、式(2)と同様に線形外挿による外挿予測を行うための係数であり、参照フレームF2及びF1から予測した符号化対象フレームF3の予測画像をeF3 12 とし、参照フレームF2及びF0から予測した符号化対象フレームF3の予測画像をeF3 02,参照フレームF1及びF0から予測した符号化対象フレームF3の予測画像をeF3 01 とすると、それぞれ式(13)(14)(15)で示される。
Figure 2007060690
また、式(13)〜(15)を平均化した予測値をeF3 012 とすると、eF3 012 は式(16)で示され、これを第5予測係数とする。
Figure 2007060690
上記第1から第5線形予測係数のどれか一つを用いても良いし、また、各フレームF0,F1,F2,F3それぞれのフレーム内平均輝度値DC(F0),DC(F1),DC(F2),DC(F3)を計算し、符号化対象フレームF3のフレーム内平均輝度値を上記5種類の線形予測で予測し、その予測誤差が最も小さい線形予測係数を符号化対象フレーム毎に切り替えて用いる構成でもよい。後者の構成を用いれば、入力画像の性質に合わせて最適な線形予測がフレーム単位に自動的に選択され、高能率な符号化が実現できる。
また、各フレームの平均輝度の比を上記第1から第5各線形予測係数に乗じた予測係数を用いる構成でもよい。例えば、第1予測係数に平均輝度値の比を乗じた場合は、予測係数は式(17)となる。上記他の予測係数についても同様である。
Figure 2007060690
図23は、過去2フレームと未来1フレームからの線形和による予測を行う場合を示しており、F0,F1,F3が参照フレーム、F2が符号化対象フレームである。各参照フレームと符号化対象フレームとのフレーム間距離は、それぞれRc,Rb,Raで示される。この場合も、図22の例と同様に、フレーム間距離の比や、フレーム内DC値の比を用いて、複数の予測係数の組を決定することが可能であり、フレーム内DC値の予測誤差から、最適な予測係数の組をフレーム単位に決定することが可能である。
図23の予測構造における式(12)〜(17)に相当する線形予測式または予測係数を式(18)〜(23)にそれぞれ示す。
Figure 2007060690
図24には、本発明の実施形態に関わる動画像符号化における、動きベクトル探索の第1の例を示す。図24は、図14で示したように連続する2フレームを参照フレームとして予測し、代表する一つの動きベクトルを符号化する場合の動きベクトル探索方法を示している。図中のF2が符号化対象フレームであり、F0及びF1が参照フレームを示している。また、10は符号化対象のマクロブロック示し、12、14,16,18は参照フレームにおける参照マクロブロックの候補の一部を示している。
マクロブロック10に対して最適な動きベクトルを求めるため、動きベクトル探索範囲内で参照フレームF1に対する動きベクトル候補(図24では、動きベクトル候補11,15)と、それをフレーム間距離に応じてスケーリングした動きベクトル(図24では、動きベクトル候補11をスケーリングした動きベクトル13、動きベクトル候補15をスケーリングした動きベクトル17)を参照フレームF0に対する動きベクトルとして用い、2つの参照フレームF0、F1から抽出した参照マクロブロック14と12または16と18の線形和から予測マクロブロックを生成し、予測マクロブロックと符号化対象マクロブロック10との差分値を計算し、その差分値が最も小さくなる動きベクトルを動きベクトル探索結果としてマクロブロック毎に決定し、決定された動きベクトルを用いて、マクロブロック毎の動き補償予測符号化を行う。
動きベクトル決定の評価方法としては、上記以外にも差分値だけでなく、動きベクトル自体の符号化オーバーヘッドも加味して決定しても良いし、あるいは、差分信号と動きベクトルを実際に符号化したときの符号量が最小となる動きベクトルを選択する構成でもよい。上記のように動きベクトルを探索することで、F0及びF1に対する最適な動きベクトルを個別に探索する場合よりも、より少ない演算量で、正確な動きベクトルを得ることが可能となる。
図25は、本発明の実施形態に関わる動画像符号化における動きベクトル探索の第2の例を示している。図25は、図24の例と同様に図14で示したように、連続する2フレームを参照フレームとして予測し、代表する一つの動きベクトルを符号化する場合、あるいは代表する一つの動きベクトルと差分ベクトルを符号化する場合の、動きベクトル探索方法を示す。図中のF2が符号化対象フレームであり、F0及びF1が参照フレームを示している。また、10は符号化対象のマクロブロック示し、12、14,16,18は参照フレームにおける参照マクロブロックの候補の一部を示している。
第2動きベクトル探索では、まず第1動きベクトルと同様に、2つの参照フレーム対する一つの動きベクトルの探索を行う。図25において、動きベクトル11及びそれをスケーリングした動きベクトル13が、最適な動きベクトルとして選択されたものとする。次に、動きベクトル13の近傍領域で、フレームF0からの参照マクロブロックに対する動きベクトルの再探索を行う。再探索の際は、フレームF1から動きベクトル11を用いて抽出す参照マクロブロック12は固定とし、参照マクロブロック12と、フレームF0の動きベクトル13の近傍から抽出した参照マクロブロック14との線形和により予測マクロブロックを生成し、予測マクロブロックと符号化対象マクロブロックの差分が最小になるように、フレームF0に対する動きベクトルの再探索を行う。
動画像信号が固定フレームレートで、フレームF2とF1、及びF1とF0の間隔が等間隔である場合を例にとると、一定の動きを探索するためには、参照フレームF0に対する探索範囲は、参照フレームF1に対する探索範囲に対して、面積比で4倍の領域を探索する必要があり、F0、F1の両参照フレームに対して、同じ精度の動きベクトル探索を行うと、F1だけからの予測における動きベクトル探索に比べて、4倍の演算量を必要とする。
一方、第2動きベクトル探索方法によれば、まず、参照フレームF1に対するフルの精度での動きベクトル探索と、その動きベクトルを2倍にスケーリングした動きベクトルによる参照フレームF0に対する探索をおこない、次に参照フレームF0に対するフルの精度の再探索を行う2段階の構成とすることにより、動きベクトル探索の演算量をほぼ1/4に削減することが可能となる。
第2動きベクトル探索方法では、参照フレームF0及びF1に対する動きベクトルが別々に求まることになる。これらの動きベクトルの符号化は、まず、参照フレームF1に対する動きベクトル11を符号化し、次に動きベクトル11をスケーリングした動きベクトル13と、参照フレームF0に対して再探索の結果得られた動きベクトルとの差分ベクトルをそれぞれ符号化することで、動きベクトルの符号化オーバーヘッドを低減することが出来る。
また、再探索範囲が±1、つまり、動きベクトル11をスケーリングした動きベクトル13が1/2の粗い精度であるため、それをフルの精度にするための再探索のみの場合は、再探索された参照フレームF0に対する動きベクトルを1/2にスケーリングすることで、参照フレームF1に対する動きベクトル11は、再探索結果の如何によらず一意に再生することができるため、参照フレームF0に対する動きベクトルだけを符号化すればよい。復号化時は受信した動きベクトルを1/2にスケーリングすれば、参照フレームF1に対する動きベクトル11を得ることが出来る。
図26は、本発明の実施形態に関わる動画像符号化における、動きベクトル探索の第3の例を示している。図26は、図24の例と同様に図14で示したように、連続する2フレームを参照フレームとして予測し、代表する一つの動きベクトルを符号化する場合、あるいは代表する一つの動きベクトルと差分ベクトルを符号化する場合の、動きベクトル探索方法を示すものである。図中のF2が符号化対象フレームであり、F0及びF1が参照フレームを示している。また、10は符号化対象のマクロブロック示し、12、14,16,18は参照フレームにおける参照マクロブロックの候補の一部を示している。
第3動きベクトル探索では、第1の例あるいは第2の例と同様に、参照フレームF0及びF1に対する動きベクトルを探索し、さらに参照フレームF1に対する動きベクトルを再探索するという構成である。一般に動画像では、時間的に近いフレーム間の相関が強いという性質を利用し、第3動きベクトル探索では、符号化対象フレームF2に時間的に最も近い参照フレームF1に対する動きベクトルをより高精度に求めることで、予測効率を向上させることが可能となる。
図27は、本発明の実施形態に関わる動きベクトル符号化方法を示している。図中F2は符号化対象フレーム、F1は直前に符号化されたフレームを示し、30、31はそれぞれ符号化すべきマクロブロックであり、32,33はフレームF1におけるマクロブロック30及び31とフレーム内の同じ位置のマクロブロックを示している。また、34,35はそれぞれマクロブロック30、31の符号化すべき動きベクトルを示しており、36,37はマクロブロック32及び33の符号化された動きベクトルを示す。
本実施形態では、符号化すべき動きベクトルが直前の符号化対象フレームの同じ位置のマクロブロックにおける動きベクトルと同一である場合、動きベクトルは符号化せずに、動きベクトルが直前の符号化対象フレームにおける同一位置のマクロブロックと同一であることを示すフラグを予測モードとして符号化する。また、動きベクトルが直前の符号化対象フレームにおける同一位置のマクロブロックと同一でなければ、動きベクトル情報の符号化を行う。図27の例では、動きベクトル34と36が同一であり、従って動きベクトル34は符号化せず、また動きベクトル35と動きベクトル37は異なるため、動きベクトル35の情報は符号化を行う。
上記のように動きベクトル情報の符号化を行うことで、静止画像や時間的に一様な動きをしている場合に、動きベクトル情報の冗長性が低減され、符号化効率を向上させることが可能である。
図28は、本発明の実施形態に関わる他の動きベクトル符号化方法を示している。図28の例は、図27の例と同様に直前の符号化対象フレームにおける、同一位置のマクロブロックの動きベクトルと、符号化すべきマクロブロックの動きベクトルが同一の場合は、動きベクトルを符号化しないものであるが、動きベクトルの同一性の判断は、動きの角度が同一かどうかの判断を行うものである。図28において、F3が符号化対象フレームであり、フレームF3におけるマクロブロック40及び41は、直前の符号化対象フレームF2を参照フレームとし、動きベクトル44及び45を用いた動き補償予測を行う。フレームF1の直前の符号化対象フレームF2における、マクロブロック40同一位置のマクロブロック42では、フレームF2から2フレーム前のフレームF0を参照フレームとし、動きベクトル46を用いた動き補償予測を行うものとする。
動きベクトル46と動きベクトル44は同一の角度を示しており、参照フレームとの距離が2倍違うため、ベクトルの大きさが2倍になっている。従って、動きベクトル44は、動きベクトル46をフレーム間距離に応じてスケーリングすることで再生可能であるため、動きベクトル44は符号化せずに、直前のフレームの動きベクトルを使うモードであることを示す予測モード情報を設定する。
また、マクロブロック41における動きベクトル45と、その直前フレームの同一位置のマクロブロック43における動きベクトル47とは、動きベクトルが同一角度を示しており、マクロブロック40と同様に動きベクトル45は符号化されない。上記のように動きベクトルが符号化されなかったマクロブロックについては、直前の符号化対象フレームの同一位置の動きベクトルを符号化対象フレームと参照フレームとのフレーム間距離に応じてスケーリングした動きベクトルを用いて、動き補償予測フレーム間符号化及び復号化を行う。
図29は、本発明の実施形態に関わる、マクロブロックスキップ及び参照フレームを示すインデックスの予測符号化を説明する図である。図中F3が符号化対象フレームであり、Aが符号化対象マクロブロック、B,C,D,Eが既に符号化された隣接マクロブロックを示す。また、F0,F1,F2は参照フレームであり、マクロブロック毎に一つまたは複数の参照フレームが選択されて動き補償予測符号化が行われる。マクロブロックAでは、フレームF1を参照フレームとして動きベクトル50による予測が行われ、マクロブロックB、C、Eでは、フレームF2、F1,F0をそれぞれ参照フレームとして、動きベクトル51、52,55による予測がそれぞれ行われる。また、マクロブロックDについては、F1及びF2の2つの参照フレームを用いた予測が行われる。マクロブロックAの動きベクトル50の符号化は、隣接マクロブロックB,C,D,Eの動きベクトルから予測ベクトルを選択し、予測ベクトルとマクロブロックAの動きベクトル50との差分ベクトルが符号化される。
予測ベクトルの決定は、例えば、隣接マクロブロックB,C,Eの動きベクトルの中央値となる動きベクトルを選択する方法や、あるいは、隣接マクロブロックB,C,D,Eの中で残差信号の大きさが最も小さいマクロブロックの動きベクトルを予測ベクトルとする等の方法で行う。
ここで、予測ベクトルと符号化すべきマクロブロックの動きベクトルとの差分が0となり、また、予測ベクトルが選択されたマクロブロックの参照フレームと、符号化すべきマクロブロックの参照フレームとが一致し、さらに符号化すべき予測誤差信号がすべて0となった場合は、マクロブロックの符号化はせずにスキップさせ、連続してスキップしたマクロブロックの数を次にスキップされずに符号化されるマクロブロックのヘッダ情報として符号化する。例えば、マクロブロックAに対する予測ベクトルがマクロブロックCの動きベクトル52となった場合、マクロブロックAとマクロブロックCとでは参照フレームは一致しており、また、動きベクトル50と動きベクトル52が一致しており、マクロブロックAの予測誤差信号が全て0である場合、マクロブロックAは符号化されずスキップされる。復号化時は、符号化時と同様の方法で予測ベクトルを選択し、予測ベクトルが選択されたマクロブロックの参照フレームを用いて予測画像を生成し、生成された予測画像をスキップしたマクロブロックの復号化画像とする。
上記マクロブロックスキップの少なくとも一つ以上の条件が満たされない場合は、予測ベクトルと符号化すべきマクロブックの動きベクトルとの差分ベクトルと、予測誤差信号と、参照フレームを示すインデックスを符号化する。
参照フレームを示すインデックスは、予測ベクトルが選択された隣接マクロブロックの参照フレームインデックスと、符号化対象フレームの参照フレームインデックスの差分値を符号化する。
上記の例のように、マクロブロックCの動きベクトル52がマクロブロックAの予測ベクトルとして選択された場合、動きベクトル50と動きベクトル52の差分ベクトルと、マクロブロックAの予測誤差信号が符号化され、また、例えば図11のテーブルに従って、参照フレームをインデックス(Code_number)で表現し、マクロブロックCの2フレーム前の参照フレームを示すインデックス2と、マクロブロックAの同インデックス2との差分値、すなわち0を参照フレームインデックス差分値として符号化する。
図30は、本発明の実施形態に関わる他の動きベクトル符号化方法を示してている。図30において、フレームF2が符号化対象フレームを示しており、フレームF2は時間的に前後のフレームから動き補償予測を行うBピクチャであり、フレームF2におけるマクロブロック61では、フレームF3を後方予測の参照フレームとし、フレームF1を前方予測の参照フレームとしている。従って、フレームF3の符号化あるいは復号化は、F2の符号化あるいは復号化に先立って行われる。
ここで、符号化対象マクロブロック61における後方予測の参照フレームF3において、符号化対象マクロブロック61とフレーム内の同一位置のマクロブロック60に着目する。マクロブロック60が、フレームF0及びフレームF1の2フレームからの線形和による動き補償予測が用いられている場合、符号化対象マクロブロック61の前方予測の参照フレームF1に対するマクロブロック60の動きベクトル(図中62)をフレーム間距離に応じてスケーリングし、符号化対象マクロブロック61の前方予測及び後方予測の動きベクトルとして用いる。
すなわち、フレームF1からフレームF2までのフレーム間距離をR1、フレームF2からフレームF3までのフレーム間距離をR2とすると、動きベクトル62に対してR1/(R1+R2)倍したものがマクロブロック61の前方予測の動きベクトル64となり、−R2/(R1+R2)倍したものがマクロブロック61の後方予測の動きベクトル65となる。
符号化対象マクロブロック61では、上記動きベクトル情報は符号化せずに、上記の予測モード、すなわち、動きベクトルのスケーリングによる両方向予測を行うことを示すフラグのみを符号化する。
復号化時は、まずフレームF3が復号化され、フレームF3における復号化された各マクロブロックの動きベクトルが一時的に保存される。次にフレームF2において、上記の予測モードを示すフラグが設定されているマクロブロックにおいては、一時保存されているフレームF3における同一位置のマクロブロックの動きベクトルをスケーリングすることで、マクロブロック60における前方予測及び後方予測それぞれの動きベクトルを算出し、両方向予測復号化を行う。
図31は、図30で示した両方向予測の別の例であり、図31では、フレームF2の符号化対象マクロブロック71の前方予測の参照フレームがF0であり、その他は図30と同様である。この場合、符号化対象マクロブロック71の前方及び後方の動きベクトルは、フレームF3の符号化対象マクロブロック71と同一位置のマクロブロック70の、フレームF0に対する動きベクトル73をフレーム間距離に応じてスケーリングして求める。
すなわち、フレームF0からフレームF2までのフレーム間距離をR1,フレームF3からフレームF2までのフレーム間距離をR2,フレームF0からフレームF3までのフレーム間距離をR3とすると、動きベクトル73をR1/R3倍したものを符号化対象マクロブロック71の前方動きベクトル74とし、また、動きベクトル73を−R2/R3倍したものを符号化対象マクロブロック71の後方動きベクトル75とし、動きベクトル74及び動きベクトル75を用いて、符号化対象マクロブロック71の両方向予測符号化及び復号化を行う。
図30及び図31の例では、符号化対象の両方向予測マクロブロックにおける後方予測の参照フレームにおいて、符号化対象マクロブロックとフレーム内の同一位置のマクロブロックに着目し、そのマクロブロックが複数の前方参照フレームを使用する場合、符号化対象の両方向予測マクロブロックにおける前方参照フレームと同一の参照フレームに対する動きベクトルをスケーリングすることで、符号化対象マクロブロックの前方及び後方動きベクトルを生成する。
以上のように、スケーリングにより動きベクトルを生成することで、動きベクトルを符号化する符号化オーバーヘッドを低減し、符号化効率を向上させることが可能となる。さらに、スケーリングのもととなる動きベクトルが複数存在する場合に、前方参照フレームが一致した動きベクトルを選択してスケーリングすることで、予測効率を向上させることが可能となり、高能率な符号化を実現することが可能となる。
図32は、図30及び図31で示した両方向予測の別の例であり、図32では、フレームF3が符号化対象フレームであり、符号化化対象マクロブロック81が、フレームF4を後方参照フレームとし、フレームF2を前方参照フレームとする両方向予測を行う場合の例である。また、フレームF4におけるマクロブロック81と同一位置のマクロブロック80は、前方の2フレームF0及びF1からの線形和による予測を行っている。従って、図30及び図31と異なり、マクロブロック80と符号化対象マクロブロック81とでは、同一の前方参照フレームが用いられない。
この場合、マクロブロック80の前方参照フレームF0,F1のうち、符号化対象マクロブロック81の前方参照フレームF2に最も時間的に近いフレームに対する動きベクトルをフレーム間距離に応じてスケーリングすることで、符号化対象マクロブロック81の前方及び後方ベクトルの生成を行う。すなわち、フレームF2からフレームF3までのフレーム間距離をR1、フレームF4からフレームF3までのフレーム間距離をR2、フレームF1からフレームF4までのフレーム間距離をR3とすると、符号化対象マクロブロック81の前方動きベクトル84は、マクロブロック80のフレームF1に対する動きベクトル82をR1/R3倍することにより得られ、また、符号化対象マクロブロック81の後方動きベクトル85は、動きベクトル82を−R2/R3倍することにより得られる。符号化対象マクロブロック81では、スケーリングにより得られた動きベクトル84及び85を用いて、両方向予測を行う。
以上のように、スケーリングにより動きベクトルを生成することで、動きベクトルを符号化する符号化オーバーヘッドを低減し、符号化効率を向上させることが可能となる。さらに、スケーリングのもととなる動きベクトルが複数存在し、且つ前方参照フレームが一致する動きベクトルが無い場合に、符号化対象マクロブロックの前方参照フレームに時間的に最も近い参照フレームに対する動きベクトルを選択してスケーリングすることで、予測効率を向上させることが可能となり、高能率な符号化を実現することが可能となる。
図33は、本発明の実施形態に関する動画像符号化方法のフローチャートを示す図である。また、図34は、本発明の実施形態に関する重み付き予測を説明する図である。まず、図34を用いて、実施形態に関する重み付き予測を説明を行い、次に図33による重み係数の決定方法について説明する。
図34において、F0,F1,F2,F3は時間的に連続するフレームを示しており、F3が符号化対象フレームを示している。フレームF0,F1,F2は、符号化対象フレームF3に対する参照フレームである。
符号化対象フレームF3内の符号化対象画素ブロックA,B,C,Dのうち、ブロックA,B,CではそれぞれフレームF1,F0,F2から動き補償を伴う参照画素ブロック信号が生成される。これらの参照画素ブロック信号に対して、重み係数の乗算と直流オフセット値の加算により予測画素ブロック信号が生成される。さらに、予測画素ブロック信号と符号化対象画素ブロック信号との差分が計算され、参照フレームの識別情報、動きベクトル情報ともに差分信号が符号化される。
ブロックDでは、フレームF0及びフレームF1から、それぞれ動き補償を伴って参照ブロック信号が生成され、これらの参照画素ブロック信号の線形結合に直流オフセット値を加算することで予測画素ブロック信号が生成される。符号化対象画素ブロックの信号と予測画素ブロック信号との差分信号が参照フレームの識別情報、動きベクトル情報とともに符号化される。
一方、復号化時は参照フレームの識別情報及び動きベクトル情報の復号化が行われ、それらに基づいて上記参照画素ブロック信号が生成される。生成された参照画素ブロック信号に対して、重み係数の乗算及び直流オフセット値の加算を行うことで、予測画素ブロック信号が生成される。符号化された差分信号が復号化され、復号化された差分信号と予測画素ブロック信号を加算することにより、動画像の復号化が行われる。
符号化時及び復号化時における予測画素ブロック信号の生成は、以下の計算により行われる。例えば、画素ブロックAの予測信号をpredAとし、フレームF1から切り出された参照画素ブロック信号をref[1]とすると、predAは以下のように計算される。
Figure 2007060690
ここで、w[1]は参照画素ブロックに対する重み係数、d[1]は直流オフセット値であり、これらの値は係数テーブルとして、符号化フレーム或いはスライス毎にヘッダデータとして符号化される。重み係数及び直流オフセット値は、符号化フレーム毎に対応する複数の参照フレームに対して個別に決定される。例えば、図34における画素ブロックBでは、参照画素ブロックref[0]がフレームF0から切り出されるため、予測信号predBは次式となる。
Figure 2007060690
画素ブロックDでは、フレームF0及びF1からそれぞれ参照画素ブロックを切り出し、以下に示すように各々の参照画素ブロックに対して重み係数を乗じて直流オフセット値を加算した信号を平均化することにより、予測信号predDを生成する。
Figure 2007060690
このようにして、本実施形態では各参照フレーム毎に重み係数と直流オフセット値が決定される。
次に、図33を用いて本実施形態に係る符号化時における上記重み係数及び直流オフセット値の決定方法について説明する。図34に示したフレーム間予測関係、すなわちフレームF3が符号化対象フレームであり、フレームF0,F1,F2が参照フレームである場合を例にとって、図33のフローチャートに沿って説明する。
重み係数及び直流オフセット値は、複数の参照フレームに対してそれぞれ独立な値とし、符号化フレーム毎に或いはスライス毎に重み係数及び直流オフセット値のテーブルが符号化される。例えば、図34の符号化フレームF3では、フレームF0,F1,F2に対する重み係数及び直流オフセット値(w[0],d[0]), (w[1],d[1]), (w[2],d[2])がそれぞれ符号化される。また、これらの値を符号化フレーム内のスライス毎に変更してもよい。
まず、符号化対象フレームF3のフレーム内全体或いはフレーム内のスライス毎の画素値の平均値DCcur(直流成分の大きさ、以下、直流成分値という)を以下のように計算する(ステップS10)。
Figure 2007060690
ここで、F3(x,y)は、フレームF3の座標(x,y)の位置の画素値を表し、Nはフレーム或いはスライス内の画素数を示す。次に、以下の数式により符号化対象フレームF3のフレーム内全体或いはフレーム内のスライス毎の交流成分の大きさ(以下、交流成分値という)を計算する(ステップS11)。
Figure 2007060690
交流成分値の測定においては、以下に示すような標準偏差を用いてもよいが、この場合、交流成分値を求める際の演算量が増加する。
Figure 2007060690
数式(28)と(29)を比較して明らかなように、数式(28)による交流成分値の測定方法は、交流成分値を求める際の演算量を削減する効果がある。
次に、参照フレーム番号を示すインデックスを“ref_id”とし、ref_idx番目の参照フレームについて、数式(27)及び数式(28)と同様に、参照フレームの直流成分値DCref[ref_idx], 及び交流成分値ACref[ref_idx]を計算する(ステップS13〜S14)。
以上の計算結果から、ref_idx番目の参照フレームに対する直流オフセット値d[ref_idx]は、以下のように直流成分の差分として決定される(ステップS15)。
Figure 2007060690
重み係数w[ref_idx]は、以下のように交流成分の利得として決定される(ステップS16)。
Figure 2007060690
上記の計算を全ての参照フレーム(ref_idx=0からMAX_REF_IDXまで)について行う(ステップS17,S18)。ここで、MAX_REF_IDXは参照フレームの数を示している。全ての重み係数及び直流オフセット値が決定されたら、それらをテーブルデータとして符号化フレームまたはスライス毎に符号化し、符号化した重み係数及び直流オフセット値に従って各画素ブロックの重み付き予測符号化を行う。符号化及び復号化における予測画素ブロック信号の生成は、前述の数式(24)〜(26)のように計算される。
以上のように、参照フレーム毎に異なる重み係数及び直流オフセット値を用いて予測信号を生成し、予測符号化を行うことで、フレーム毎或いはスライス毎の信号振幅が時間変動したり、直流オフセット値が変動するような動画像信号に対しても、複数の参照フレームから適切に予測信号を生成することが可能となり、予測効率の高い、より高能率で高画質な符号化を実現することができる。
次に、重み係数及び直流オフセット値の情報の符号化方法の具体例について説明する。図35、図36及び図37は、重み係数及び直流オフセット値の情報の符号化に関連するデータ構造を示している。
図35は、符号化フレーム或いはスライスのヘッダデータ構造の一部を示しており、該符号化フレーム或いはスライスに対する参照フレームを指し示すインデックスの最大数“number_of_max_ref_idx”と、重み係数及び直流オフセット値の情報を示すデータテーブル “weighting_table()”が符号化される。“number_of_max_ref_idx”は、図33におけるMAX_REF_IDXと等価である。
図36は、重み係数及び直流オフセットデータテーブルに関する符号化データ構造の第1の例を示している。この例では、フレーム或いはスライスのヘッダデータとして送られる最大参照フレームインデックス数“number_of_max_ref_idx”に従って、各参照フレームに対応する重み係数及び直流オフセット値のデータが符号化される。i番目の参照フレームに関する直流オフセット値d[i]は、整数画素値としてそのまま符号化される。
一方、i番目の参照フレームに関する重み係数w[i]は、一般に整数とはならない。そこで、重み係数w[i]を数式(32)で示すように、分母が2のべき乗となる有理数w’[i]で近似して、整数表現された分子w_numerator[i]、及び分母の2のべき数w_exponential_denominaotrに分けて符号化を行う。
Figure 2007060690
分子の値及び分母の2のべき数は、例えば数式(33)のように求めることが出来る。
Figure 2007060690
符号化及び復号化の際は、上記符号化される近似値w’[i]を用いて、予測画像の生成を行う。数式(32)(33)に従うと、以下に示す利点がある。
数式(32)の重み係数表現では、符号化フレーム毎に重み係数の分母が固定であり、分子が参照フレーム毎に異なるものとしている。このようにすることで、各参照フレームに対する重み係数をそれぞれ独立に分母及び分子に分けて符号化する場合に比べて、符号化すべき重み係数のデータ量を削減することが可能となり、符号化オーバヘッドを削減して、符号化効率を向上させることが可能となる。
また、分母を2のべき乗とすると、参照画素ブロック信号への重み係数の乗算が整数の乗算とビットシフトで実現できるため、浮動小数点演算や除算といった処理が不要となり、符号化及び復号化のハード規模や演算量を削減することが可能となる。
上記演算について、より具体的に説明する。数式(34)は、数式(24)(25)で示した予測式を一般化し、参照フレーム番号がiである画素ブロックに対する予測画像ブロック信号生成の予測式を示している。ここで、Prediが予測信号であり、ref[i]がi番目の参照フレームから切り出した参照画素ブロック信号、w[i]及びd[i]は、それぞれi番目の参照フレームから切り出された参照画素ブロックに対する重み係数と直流オフセット値を示している。
Figure 2007060690
数式(35)は、数式(34)における重み係数w[i]を数式(32)で示す有理数表現した場合の予測式である。ここで、wn[i]は数式(32)におけるw_numerator[i]を示しており、wedはw_exponential_denominatorを示している。
Figure 2007060690
一般に、任意のフェード画像等で有効な重み係数w[i]は整数とはならないため、数式(34)では浮動小数点の乗算が必要となる。さらに、w[i]を任意の有理数表現すると、整数の乗算と除算が必要になる。一方、数式(32)で示した分母が2のべき乗である有理数表現を行うことで、数式(35)に示すように整数係数wn[i]を用いた整数の乗算、四捨五入を考慮したオフセットを加算、wedビットの右ビットシフト、及び直流オフセット値の整数加算で重みつきの予測演算を行うことが可能となり、浮動小数点の乗算が不要となる。
また、参照フレーム番号iによらず、分母の大きさを示す2のべき数が符号化フレーム或いはスライス毎に共通化されており、符号化フレーム毎に参照フレーム番号iがとり得る値が複数ある場合でも、重み係数を符号化する際の符号量の増加を抑えることが出来る。
数式(36)は、数式(35)と同様に数式で示した2つの参照フレームからの線形和による予測において、数式(32)の重み係数表現を適用した場合を示している。
Figure 2007060690
上記の2つの参照フレームからの線形和による予測においても、重み係数は一般に整数とはならないため、数式(26)では2回の浮動小数点の乗算が必要であるが、数式(36)では整数乗算、ビットシフト及び整数加算のみで、2つの参照フレームからの線形和による予測信号を生成することが可能なる。また、分母の大きさに関する情報wedも共通化されており、重み係数を符号化する際の符号量の増加を抑えることが可能となる。
また、数式(36)に従えば、重み係数の分子が8ビットで表現されるため、例えば画素信号値が8ビット表現されている場合は、16ビット固定の演算精度で、符号化及び復号化を行うことが可能となる。
さらに、同一符号化フレーム内では、参照フレームによらず分母、すなわちシフト量が固定となるため、符号化或いは復号化において画素ブロック毎に参照フレームが切り替わる場合でも、シフト量を変更する必要が無くなり、演算量或いはハード規模を削減することが可能となる。
一方、全ての参照フレームに対する重み係数が
Figure 2007060690
の条件を満たすときは、数式(36)で計算される符号化すべき重み係数の分母及び分子を以下のように変換してもよい。
Figure 2007060690
数式(38)は、有理数表現された各重み係数を既約分数に約分する作用がある。このように、変換して符号化することで、重み係数の精度を落とさずに、重み係数の符号化データのダイナミックレンジを小さくすることが可能となり、重み係数を符号化する符号量をさらに削減することが可能となる。
図37は、重み係数及び直流オフセットデータテーブルに関する符号化データ構造の第2の例を示している。図37に示す実施形態では、直流オフセット値の符号化については、図36の実施形態と同様であるが、重み係数の符号化に関しては、図36で示した実施形態とは異なり、分母を示す2のべき数の符号化は行わず、分母を固定値として有理数表現した重み係数の分子のみを符号化するものである。図37の実施形態では、例えば以下のように重み係数を有理数表現して、その分子w_numerator[i]のみを符号化すればよい。
Figure 2007060690
本実施形態では、重み係数の分母を表す2のべき数が固定であるため、分母のべき数に関する情報を符号化フレーム毎に符号化する必要がなく、重み係数テーブルを符号化するための符号量をより削減することが可能となる。
また、固定化した分子(上記例では、“16”)の下で有理数表現する際に、分子の値を8ビットにクリッピングすることで、例えば、画素信号が8ビット表現されている場合は、16ビット固定の演算精度で符号化及び復号化を行うことが可能となる。
さらに、本実施形態では重み係数の乗算に関するシフト量が固定化されているため、符号化及び復号化においてシフト量をフレーム毎にロードする機能の実装が不要となり、符号化或いは復号化装置またはソフトウエアの実装コストやハード規模を削減することが可能となる。
図38は、図35乃至図37で示したデータ構造を含む、動画像符号化データの時系列全体の構造を模式的に示したものである。符号化データの先頭には、画像サイズ等の1つの符号化シーケンス内全体で不変な複数の符号化パラメータの情報がシーケンスヘッダ(SH)として符号化される。次に、各画像フレーム或いはフィールドがそれぞれピクチャとして符号化され、各ピクチャはピクチャヘッダ(PH)とピクチャデータ(Picture data)の組として順次符号化される。
ピクチャヘッダ(PH)には、図35で示した参照フレームを指し示すインデックスの最大数“number_of_max_ref_idx”と、重み係数及び直流オフセットデータのテーブル“weighting_table()”が、それぞれMRI, WTとして符号化されている。“weighting_table()”(WT)では、図36に示すように各重み係数の共通の分母の大きさを示す2のべき数w_exponential_denominaotrがWEDとして符号化され、それに続けて各重み係数の分子の大きさを示すw_numerator[i]と直流オフセット値d[i]の組がそれぞれWN及びDとして符号化されている。
重み係数の分子および直流オフセット値の組は、ピクチャヘッダに含まれている“number_of_max_ref_idx”(MRI)の数に基づいて、複数のWNとDの組が符号化される。各ピクチャデータ(Picture data)は1つまたは複数のスライス(SLC)に分割され、スライス毎に順次符号化される。各スライスでは、まずスライス内の各画素ブロックに関する符号化パラメータがスライスヘッダ(SH)として符号化され、スライスヘッダに続けて、1つまたは複数のマクロブロックデータ(MB)が順次符号化される。
マクロブロックデータでは、該マクロブロック内の画素ブロックの予測モード情報(MBT)や動きベクトル情報(MV)などのマクロブロック内の各画素の符号化に関する情報が符号化され、最後に符号化すべき画素信号或いは予測誤差信号に対して、直交変換(例えば、離散コサイン変換)を施して符号化された直交変換係数(DCT)が含まれている。ここで、ピクチャヘッダに含まれている“number_of_max_ref_idx”(MRI)及び“weighting_table()”(WT)の両方或いはどちらか一方が、スライスヘッダ(SH)内で符号化される構成としてもよい。
また、図37で示した重み係数テーブルデータの構成の場合、重み係数の分母の大きさを示すデータの符号化は省略可能であるため、図38におけるWEDの符号化は省略が可能である。
図39は、本発明の実施形態に関する動画像復号化手順を示すフローチャートである。ここでは、図33を用いて説明した実施形態に係る動画像符号化装置で符号化された符号化データを入力して復号化を行う手順について説明する。
入力される符号化データから、図35〜図37で説明した重み係数及び直流オフセットデータのテーブルを含む符号化フレームまたはスライスのヘッダデータの復号化を行い(ステップS30)、符号化ブロック毎の参照フレームを識別するための参照フレームインデックスを含む符号化ブロックのヘッダデータの復号化を行う(ステップS31)。
画素ブロック毎に、参照フレームインデックスが指し示す参照フレームから参照画素ブロック信号の切り出しを行う(ステップS32)。該符号化ブロックの参照フレームインデックスに基づいて、復号化された重み係数及び直流オフセットデータのテーブルを参照することで、重み係数及び直流オフセット値が決定される。
こうして決定された重み係数及び直流オフセット値を用いて、参照画素ブロック信号から予測画素ブロック信号を生成し(ステップS33)、符号化された予測誤差信号の復号化を行い、復号化された予測誤差信号と予測画素ブロック信号を加算することで、復号化画像を生成する(ステップS34)。
符号化された各画素ブロックの復号化を順次行い、符号化フレーム内或いはスライス内の画素ブロックが全て復号化されたら、次のピクチャヘッダ或いはスライスヘッダの復号化を続けて行う。
上述した手順で符号化方法及び復号化方法によって、信号振幅の時間変動や直流オフセット値の時間変動のある動画像信号に対しても、適切な予測画像を符号化及び復号化時に生成でき、より予測効率の高い、高能率で高画質な動画像符号化及び復号化を行うことが可能となる。
次に、上述した実施形態で開示した本発明の好ましい実施の態様を以下に列挙する。
(1) 動画像の符号化対象マクロブロックに対して、所定の組み合わせの複数の参照フレーム及び該符号化対象マクロブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間符号化を行う動画像符号化方法において、(a)前記複数の参照フレームから少なくとも一つの参照マクロブロックをそれぞれ抽出し、(b)抽出した複数の参照マクロブロックについて所定の重み係数の組を用いて線形和を計算することにより予測マクロブロックを生成し、(c)前記予測マクロブロックと符号化対象マクロブロックとの予測誤差信号を生成し、前記予測誤差信号、前記複数の参照フレームの組み合わせを示す第1インデックス、前記重み係数の組を示す第2インデックス、及び前記動きベクトルの情報を符号化する。
<効果> このように複数の参照フレームの線形和による予測を行い、且つ線形和の係数を可変とすることで、フェードなどの時間的な信号強度の変化に対して、適切な予測が可能となり、符号化における予測効率を向上させることが可能となる。また、参照するフレームを適切に選択することにより、時間的にオクルージョン(見え隠れ)が発生する部分等で、適切な参照フレームを選択することで、予測効率を向上させることが可能となる。これらの、線形予測係数及び参照フレームの組み合わせを、インデックスとして符号化することで、符号化オーバーヘッドを抑制することが可能となる。
(2) (1)において、前記線形和の重み係数の組を示すインデックスをフレーム毎あるいは複数のフレーム毎のヘッダデータとして符号化し、前記予測誤差信号、前記複数の参照フレームの組み合わせを示すインデックス及び動きベクトルをマクロブロック毎に符号化する。
<効果> 一般に、フェードなどの時間的な信号強度の変化は、フレーム全体に渡って一様に発生し、また、オクルージョン等はフレーム内に局所的に発生する。(2)によれば信号強度の時間変化に対応させる線形予測係数は、フレーム毎に1組符号化し、また参照フレームの組み合わせを示すインデックスは、マクロブロック毎に可変とすることで、符号化効率の向上と符号化オーバーヘッドの削減を両立することが可能となり、オーバーヘッドを含めた符号化効率の向上を得ることが可能となる。
(3) (1)または(2)において、前記符号化される動きベクトルが、前記複数の参照フレームのうち、特定の一つの参照フレームに関する動きベクトルである。
<効果> マクロブロック毎に複数の参照フレームを用いて動き補償予測符号化を行う場合、各参照フレームに対する動きベクトルを個別に符号化すると、符号化オーバーヘッドの増大を招いてしまう。しかし、(3)によれば、特定の参照フレームに対する動きベクトルを送り、他のフレームに対する動きベクトルは、送信した動きベクトルを符号化対象フレームと各参照フレームとのフレーム間距離に応じてスケーリングした動きベクトルを用いることで、符号化オーバーヘッドの増加を防ぎ、符号化効率を向上させることが可能となる。
(4) (3)において、前記特定の一つの参照フレームに関する動きベクトルは、前記参照フレームと符号化されるフレームとのフレーム間距離に応じて正規化された動きベクトルである。
<効果> このように符号化すべき動きベクトルを、単位フレーム間距離で正規化した動きベクトルとすることで、任意の参照フレームに対する動きベクトルスケーリングを乗算あるいはシフト演算と加算処理により、低コストで生成することが可能となる。また、時間的に一様な動きを仮定すると、単位フレーム間距離で正規化することで、符号化すべき動きベクトルの大きさが最小となり、動きベクトルの情報量を軽減することが可能となり、符号化オーバーヘッドの削減効果が得られる。
(5) (3)において、前記特定の一つの参照フレームに関する動きベクトルは、前記複数の参照フレームのうち符号化されるフレームとのフレーム間距離が最も遠い参照フレームに対する動きベクトルである。
<効果> (3)によると動きベクトル符号量を軽減し、また動きベクトルのスケーリングを低コストで実現出来るが、一方で、参照フレームと符号化対象フレームとのフレーム間距離が大きくなるに従って、動き補償の精度の低下が発生する。これに対して(5)によれば、複数の参照フレームのうち、最もフレーム間距離の遠い参照フレームに対する動きベクトルを符号化し、他の参照フレームに対する動きベクトルは、符号化した動きベクトルをフレーム間距離に応じて内分して生成することが可能となり、各参照フレームに対する動き補償の精度の低下を抑えることが出来る。これにより、より予測効率が向上し、高能率な符号化を行うことが可能となる。
(6) (1)または(2)において、前記符号化される動きベクトルが、前記複数の参照フレームのうち、特定の一つの参照フレームに関する第1動きベクトルと、他の一つまたは複数の参照フレームに対する動きベクトルであり、他の一つまたは複数の参照フレームに対する動きベクトルが、前記第1動きベクトルを符号化対象フレームと前記一つまたは複数の参照フレームとのフレーム間距離に応じて、スケーリングした動きベクトルと前記一つまたは複数の動きベクトルとの差分ベクトルとして符号化される。
<効果> 局所的な映像の時間変化が平行移動で近似できる場合は、一つの動きベクトルとそれをフレーム間距離に応じてスケーリングした動きベクトルで、複数の参照フレームからの予測を行うことが可能である。しかし、時間的に一定の速度で変化しない場合は、必ずしもスケーリングのみでは適切な動き補償が困難となる。(6)によれば、複数の参照フレームに対する動きベクトルを一つの代表ベクトルと、それをスケーリングした動きベクトルと各参照フレームに対する最適な動きベクトルとの差分ベクトルを符号化することで、複数の動きベクトルを符号化する場合と比べて、動きベクトルの符号量を軽減することが可能となり、符号化オーバーヘッドの低減と予測効率の向上を両立させることが可能となる。
(7) (6)において、前記第1動きベクトルは前記参照フレームと符号化されるフレームとのフレーム間距離に応じて正規化された動きベクトルである。
(8) (6)において、前記第1動きベクトルは前記複数の参照フレームのうち、符号化されるフレームとのフレーム間距離が最も遠い参照フレームに対する動きベクトルである。
(9) (1)〜(8)のいずれかおいて、前記複数の参照フレームの組み合わせを示すインデックスが予め定められた値であり、且つ前記符号化すべき動きベクトルの全ての要素が0であり、且つ前記符号化すべき予測誤差信号がすべて0であるマクロブロックにおいて、何ら符号化データを出力せずに符号化をスキップし、次に符号化されるマクロブロックにおいて、スキップしたマクロブロックの個数を符号化する。
<効果> マクロブロックをスキップする条件として、上記の条件を送受信側で一致させておけば、マクロブロック毎の符号化情報である参照フレームの組み合わせを示すインデックスや、大きさ0の動きベクトルや、0の残差信号を符号化して送ることなく、受信側で映像を再生することが可能となり、これらの符号化データ量を削減して符号化効率を向上させることが可能となる。さらに、信号強度の時間変化に応じた予測係数は、フレーム毎に符号化することで、映像信号の性質に合わせて、適応的なマクロブロックスキップを、符号化オーバーヘッドの増加なしに実現することが可能となる。
(10) (1)〜(8)のいずれかにおいて前記複数の参照フレームの組み合わせを示すインデックスが予め定められた値であり、且つ前記符号化すべき動きベクトルが、直前に符号化されたマクロブロックの動きベクトルと一致し、且つ前記符号化すべき予測誤差信号がすべて0であるマクロブロックにおいて、何ら符号化データを出力せずに符号化をスキップし、次に符号化されるマクロブロックにおいて、スキップしたマクロブロックの個数を符号化する。
<効果> フレーム内のマクロブロックよりも大きな領域が時間的に平行移動する場合などに、動きベクトル情報を送らずスキップマクロブロックとして符号化することが可能となり、符号化オーバーヘッドを削減して符号化効率を向上させることが可能となる。
(11) (9)または(10)において、前記予め定められた参照フレームの組み合わせを示すインデックスは、直前に符号化された2フレームを参照フレームとして用いることを示す。
<効果> 直前に符号化された2フレームを参照画像とすることを、マクロブロックのスキップ条件とすることで、フェード等で信号強度が時間的に変化する場合においても、線形外挿等の線形予測により、容易に正確な予測画像が生成され、信号強度が時間変化しているにも関わらず、マクロブロックの符号化をスキップさせることが可能となり、予測効率向上と符号化オーバーヘッド低減の2つの効果により、より符号化効率を向上させることが可能となる。
(12) (9)または(10)において、前記予め定められた参照フレームの組み合わせを示すインデックスを符号化対象フレーム毎に変更可能とし、前記予め定められた参照フレームの組み合わせを示すインデックスを符号化対象フレームのヘッダデータとして符号化する。
<効果> 映像信号の時間変化に応じて、柔軟にマクロブロックスキップの条件を変更することが可能となる。符号化時にマクロブロックスキップが発生しやすいように、映像に応じてフレーム毎に適切にスキップ条件を変更することで、符号化オーバーヘッドを削減し高能率な符号化を実現することが可能となる。
(13) (1)〜(8)のいずれかにおいて、前記複数の参照フレームの組み合わせを示すインデックスが直前に符号化されたマクロブロックと同一であり、且つ前記符号化すべき動きベクトルの全ての要素が0であり、且つ前記符号化すべき予測誤差信号がすべて0であるマクロブロックにおいて、何ら符号化データを出力せずに符号化をスキップし、次に符号化されるマクロブロックにおいて、スキップしたマクロブロックの個数を符号化する。
<効果> 直前のマクロブロックと同様の参照フレームの組み合わせを用いることを、マクロブロックのスキップ条件とすることで、動画像信号における近傍領域の時空間特性の相関を利用して、効率的にマクロブロックをスキップさせて、符号化効率を向上させることが可能となる。
(14) (1)〜(8)のいずれかにおいて、前記複数の参照フレームの組み合わせを示すインデックスが直前に符号化されたマクロブロックと同一であり、且つ前記符号化すべき動きベクトルが、直前に符号化されたマクロブロックの動きベクトルと一致し、且つ前記符号化すべき予測誤差信号がすべて0であるマクロブロックにおいて、何ら符号化データを出力せずに符号化をスキップし、次に符号化されるマクロブロックにおいて、スキップしたマクロブロックの個数を符号化する。
<効果> (13)に加えて(14)の構成を兼ね備えることで、より符号化オーバーヘッドを削減して、符号化効率を向上させることが可能となる。
(15) (1)〜(8)のいずれかにおいて、前記符号化すべき動きベクトルを、フレーム内で隣接する一つまたは複数のマクロブロックの動きベクトルから予測し、前記符号化すべき動きベクトルと前記予測された動きベクトルとの差分ベクトルを符号化する。
<効果> (1)〜(8)による符号化効率の向上に加えて、動きベクトルの空間的な相関に着目し、符号化すべき動きベクトルをフレーム内の隣接するマクロブロックから予測して、差分ベクトルだけを符号化することで、動きベクトルの符号化オーバーヘッドを低減し、より符号化効率を向上させることが可能となる。
(16) (1)〜(8)のいずれかにおいて、前記符号化すべき動きベクトルを、直前に符号化されたフレーム内の同一位置のマクロブロックにおける動きベクトルから予測し、前記符号化すべき動きベクトルと前記予測された動きベクトルとの差分ベクトルを符号化する。
<効果> 動きベクトルの時間的な相関に着目し、符号化すべき動きベクトルを直前に符号化されたフレーム内の同一位置におけるマクロブロックの動きベクトルから予測して、差分ベクトルだけを符号化することで、動きベクトルの符号化オーバーヘッドを低減し、より符号化効率を向上させることが可能となる。
(17) (1)〜(8)のいずれかにおいて、前記符号化すべき動きベクトルを、フレーム内で隣接する一つまたは複数のマクロブロックの動きベクトル、及び直前に符号化されたフレーム内の同一位置のマクロブロックにおける動きベクトルから予測し、前記符号化すべき動きベクトルと前記予測された動きベクトルとの差分ベクトルを符号化する。
<効果> 動きベクトルの時空間的な相関に着目し、動きベクトルの予測をフレーム内及びフレーム間で行うことで、(15)及び(16)の両特徴を兼ね備えることが可能となり、より動きベクトルの符号化効率を向上させることが可能となる。
(18) (15)〜(17)のいずれかにおいて、前記複数の参照フレームの組み合わせを示すインデックスが予め定められた値であり、且つ前記符号化すべき動きベクトルの差分ベクトルが0であり、且つ前記符号化すべき予測誤差信号がすべて0であるマクロブロックにおいて、何ら符号化データを出力せずに符号化をスキップし、次に符号化されるマクロブロックにおいて、スキップしたマクロブロックの個数を符号化する。
<効果> (15)〜(17)のいずれかの構成との相乗効果により、より符号化オーバーヘッドを低減させて符号化効率を向上させることが可能となる。
(19) (15)〜(17)のいずれかにおいて、前記複数の参照フレームの組み合わせを示すインデックスが予め定められた値であり、且つ前記符号化すべき動きベクトルの差分ベクトルが、直前に符号化されたマクロブロックの差分ベクトルと一致し、且つ前記符号化すべき予測誤差信号がすべて0であるマクロブロックにおいて、何ら符号化データを出力せずに符号化をスキップし、次に符号化されるマクロブロックにおいて、スキップしたマクロブロックの個数を符号化する。
<効果> (15)〜(17)のいずれかの構成と(10)の構成との相乗効果により、より符号化オーバーヘッドを低減させて符号化効率を向上させることが可能となる。
(20) (18)〜(19)のいずれかにおいて、前記予め定められた参照フレームの組み合わせを示すインデックスが直前に符号化された2フレームを参照フレームとして用いることを示す。
<効果> (18)〜(19)の構成と(11)の構成との相乗効果により、より符号化オーバーヘッドを低減させて符号化効率を向上させることが可能となる。
(21) (18)〜(19)のいずれかにおいて、前記予め定められた参照フレームの組み合わせを示すインデックスを符号化対象フレーム毎に変更可能とし、前記予め定められた参照フレームの組み合わせを示すインデックスを符号化対象フレームのヘッダデータとして符号化する。
<効果> (18)〜(19)の構成と(12)の構成との相乗効果により、より符号化オーバーヘッドを低減させて符号化効率を向上させることが可能となる。
(22) (15)〜(17)のいずれかにおいて、前記複数の参照フレームの組み合わせを示すインデックスが直前に符号化されたマクロブロックと同一であり、且つ前記符号化すべき動きベクトルの差分ベクトルの全ての要素が0であり、且つ前記符号化すべき予測誤差信号がすべて0であるマクロブロックにおいて、何ら符号化データを出力せずに符号化をスキップし、次に符号化されるマクロブロックにおいて、スキップしたマクロブロックの個数を符号化する。
<効果>(15)〜(17)のいずれかの構成と(13)の構成との相乗効果により、より符号化オーバーヘッドを低減させて符号化効率を向上させることが可能となる。
(23) (15)〜(17)のいずれかにおいて、前記複数の参照フレームの組み合わせを示すインデックスが直前に符号化されたマクロブロックと同一であり、且つ前記符号化すべき動きベクトルの差分ベクトルが、直前に符号化されたマクロブロックの差分ベクトルと一致し、且つ前記符号化すべき予測誤差信号がすべて0であるマクロブロックにおいて、何ら符号化データを出力せずに符号化をスキップし、次に符号化されるマクロブロックにおいて、スキップしたマクロブロックの個数を符号化する。
<効果> (15)〜(17)のいずれかの構成と(14)の構成との相乗効果により、より符号化オーバーヘッドを低減させて符号化効率を向上させることが可能となる。
(24) (1)〜(2)のいずれかにおいて、符号化対象フレームと複数の参照フレームとのフレーム間距離に応じて、前記線形和の重み係数の組を決定する。
<効果> フェードなどの信号強度の線形な時間変動に対して、符号化対象フレームと複数の参照フレームとのフレーム間距離に応じた線形内挿あるいは線形外挿予測により、適切な予測画像を容易に低コストで生成することが可能となり、予測効率の高い高能率な符号化を実現することが可能となる。
(25) (1)〜(2)のいずれかにおいて、入力される動画像信号におけるフレームまたはフィールド内の平均DC値を計算し、複数の参照フレーム及び符号化対象フレームにおける前記DC値に基づいて、前記線形和の重み係数の組を決定する。
<効果> 符号化対象フレーム及び複数の参照フレームのフレーム内のDC値の時間変化から線形予測係数を算出することで、信号強度の時間変化が一定である場合のみならず、任意の信号強度の時間変動に対して、適切な予測画像を生成することが可能となり、より予測効率の高い高能率な符号化を実現することが可能となる。
(26) (1)〜(2)のいずれかにおいて、入力される動画像信号が可変フレームレートであるか、あるいは入力された動画像信号の任意のフレームを間引き可変フレームレート化する符号化器を有し、前記可変フレームレートの動画像信号を符号化する際、符号化対象フレームと複数の参照フレームとのフレーム間距離の変化に応じて、前記線形和の重み係数の組を決定する。
<効果> 符号化対象フレームと複数の参照フレームとのフレーム間距離が動的に変化するフレームレート可変の符号化に対しても、フレーム間距離に応じた適切な線形予測係数を用いることで、高い予測効率を維持して高能率な符号化を行うことが可能となる。
(27) 動画像の符号化対象マクロブロックに対して、所定の組み合わせの複数の参照フレーム及び該符号化対象マクロブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間符号化を行う動画像符号化方法において、(a)第1参照フレームから前記動きベクトルの候補に対応した第1参照マクロブロックを抽出し、(b)前記動きベクトルの候補を少なくとも一つの第2参照フレームと符号化対象フレームとのフレーム間距離に応じてスケーリングし、(c)前記第2参照フレームからスケーリングされた動きベクトルの候補に対応した少なくとも一つの第2参照マクロブロックを抽出し、(d)前記第1及び第2参照マクロブロックについて所定の重み係数の組を用いて線形和を計算することにより予測マクロブロックを生成し、(e)前記予測マクロブロックと符号化対象マクロブロックとの予測誤差信号を生成し、(f)前記第1及び第2参照マクロブロックの線形和と前記符号化対象マクロブロックとの予測誤差信号の大きさに基づいて前記動きベクトルを決定し、(g)前記予測誤差信号、前記第1及び第2参照フレームを示す第1インデックス、前記重み係数の組を示す第2インデックス、及び決定された前記動きベクトルの情報を符号化する。
<効果> 一つの符号化対象マクロブロックに対して、複数の参照フレームから複数参照マクロブロックを抽出し、その線形和から予測マクロブロックを生成する場合、各参照フレームに対して個別に最適な動きベクトルを決定すると、演算量が膨大となってしまう。(27)の構成によれば、第1参照フレームに対する動きベクトル候補をスケーリングして、他の参照フレームに対する動きベクトル候補とすることで、最適な複数の動きベクトルを非常に少ない演算量で探索することが可能となり、符号化のコストを大幅に低減することが可能となる。
(28) (27)において、前記決定された動きベクトルを、各参照フレームと符号化対象フレームとの距離に応じてスケーリングし、前記スケーリングした動きベクトル近傍で、前記予測誤差信号が小さくなるように、少なくとも一つの参照フレームに対応する参照マクロブロックを個別に再探索し、前記再探索の結果得られた動きベクトルを用いて、動き補償予測を行う。
<効果> スケーリングした動きベクトル候補の周辺でさらに動きベクトルの再探索を行うことで、より精度の高い動きベクトル探索を、少ない演算量で実現することが可能となり、僅かな演算量の増加で精度の高い動き補償予測を実現し、高能率な符号化を行うことが可能となる。
(29) 動画像の符号化対象マクロブロックに対して、時間的に過去の少なくとも一つの参照フレーム及び該符号化対象マクロブロックと該参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間符号化を行う動画像符号化方法において、前記符号化対象マクロブロックを含む符号化対象フレームの直前の前記符号化済みフレームにおける該符号化対象マクロブロックとフレーム内位置が同一の復号化対象マクロブロックの動きベクトルを用いるか、新たに前記動きベクトルを決定して符号化するかを符号化対象マクロブロック毎に切り替えて前記動き補償予測フレーム間符号化を行う。
<効果> これまで説明した通り、動き補償予測符号化では、動きベクトル符号化のためのオーバーヘッドが符号化効率に影響する。特に、予測効率の高い映像の符号化時や、マクロブロックのサイズが小さく符号化すべき動きベクトルの数が多い符号化を行う場合には、動きベクトルの符号量が支配的になる場合がある。(29)の構成によれば、映像の動きの時間相関を利用して、直前のフレームの符号化対象マクロブロックと同じ位置のマクロブロックの動きベクトルを、そのまま利用可能なマクロブロックでは、動きベクトルを符号化せず、また、直前のフレームの動きベクトルを利用すると予測効率が低下するマクロブロックだけ、新たに動きベクトルを符号化することで、動きベクトル符号化のオーバーヘッドを削減し、高能率な符号化を実現することが可能となる。
(30) 動画像の符号化対象マクロブロックに対して、少なくとも一つの参照フレーム及び該符号化対象マクロブロックと該参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間符号化を行う動画像符号化方法において、(a)時間的に過去の少なくとも一つの符号化済みフレームを前記参照フレームとする第1予測モード、(b)時間的に未来の符号化済みフレームを前記参照フレームとする第2予測モード、(c)該時間的に過去及び未来の符号化済みフレームの線形和を前記参照フレームとする第3予測モード、及び(d)該時間的に過去の複数の符号化済みフレームの線形和を前記参照フレームとする第4予測モードを前記符号化対象マクロブロック毎に切り替えて前記動き補償予測フレーム間符号化を行う。
<効果> MPEG2ビデオ符号化で用いられているBピクチャ(両方向予測符号化)では、前方1フレームからの予測、後方1フレームからの予測、及び前後フレームからの平均予測のいずれかがマクログロック単位に切り替えられる。平均予測では、平均化処理がループフィルタとして機能し、参照画像における原画のノイズや符号化ノイズを除去して、予測効率を向上させる効果がある。ただし、シーンチェンジの前後では、両方向予測は困難となり、前方または後方の1フレームからの予測となり、ループフィルタ効果が作用せず、予測効率の低下を招いていしまう。(30)の構成によれば、前方のみの予測においても、複数の参照フレームからの線形和により予測画像を生成するため、ループフィルタ効果による予測効率の改善を得ることが可能となる。
(31) (30)において、前記線形和による予測が、フレーム間距離に応じた線形内挿及び線形外挿である。
<効果> フェード等で信号強度が時間変化する場合でも、複数のフレームからの線形内挿あるいは線形外挿予測により、容易に適切な予測画像を生成することが可能となり、高い予測効率を得ることが可能となる。
(32) 動画像の復号化対象マクロブロックに対して、所定の組み合わせの複数の参照フレーム及び該復号化対象マクロブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う動画像復号化方法において、(a)前記復号化対象マクロブロック毎の予測誤差信号、前記複数の参照フレームの組み合わせを示す第1インデックス、参照マクロブロックに対する線形和の重み係数の組を示す第2インデックス及び前記動きベクトルの情報を含む符号化データを復号化し、(b)復号化された前記動きベクトル及び前記第1インデックスの情報に従って前記複数の参照フレームから複数の参照マクロブロックを抽出し、(c)復号化された前記第2インデックスの情報によって示される前記重み係数の組を用いて、抽出した前記複数の参照マクロブロックの線形和を計算することにより予測マクロブロックを生成し、(d)前記予測マクロブロックと復号化された前記復号化対象マクロブロック毎の予測誤差信号を加算することにより動画像信号を復号化する。
<効果> (1)により符号化された符号化データを復号化することが可能であり、(1)と同様の符号化効率改善効果を有する。
(33) (32)において、前記線形和の重み係数の組を示すインデックスを、フレーム毎あるいは複数のフレーム毎のヘッダデータとし受信し、前記予測誤差信号、前記複数の参照フレームの組み合わせを示すインデックス、及び動きベクトルをマクロブロック毎に受信して復号化する。
<効果> (2)により符号化された符号化データを復号化することが可能であり、(2)と同様の符号化効率改善効果を有する。
(34) (32)または(33)において、前記受信した動きベクトルが、前記複数の参照フレームのうち、特定の一つの参照フレームに関する動きベクトルであり、前記受信した動きベクトルを復号化フレームと参照フレームとのフレーム間距離に応じてスケーリングし、前記スケーリングした動きベクトルを用いて、他の一つまたは複数の参照フレームに対する動きベクトルを生成する。
<効果> (3)により符号化された符号化データを復号化することが可能であり、(3)と同様の符号化効率改善効果を有する。
(35) (34)において、前記特定の一つの参照フレームに関する動きベクトルが、前記参照フレームと符号化されるフレームとのフレーム間距離に応じて正規化された動きベクトルである。
<効果> (4)により符号化された符号化データを復号化することが可能であり、(4)と同様の符号化効率改善効果を有する。
(36) (34)において、前記特定の一つの参照フレームに関する動きベクトルが、前記複数の参照フレームのうち、符号化されるフレームとのフレーム間距離が最も遠い参照フレームに対する動きベクトルである。
<効果> (5)により符号化された符号化データを復号化することが可能であり、(5)と同様の符号化効率改善効果を有する。
(37) (32)または(33)において、前記受信した動きベクトルが、前記複数の参照フレームのうち、特定の一つの参照フレームに関する第1動きベクトルと、他の一つまたは複数の参照フレームに対する差分ベクトルであり、前記第1動きベクトルを、符号化対象フレームと前記一つまたは複数の参照フレームとのフレーム間距離に応じてスケーリングし、前記スケーリングされた動きベクトルと、前記受信した一つまたは複数の参照フレームに対する差分ベクトルとを加算することで、前記他の一つまたは複数の参照フレームに対する動きベクトルを生成する。
<効果> (6)により符号化された符号化データを復号化することが可能であり、(6)と同様の符号化効率改善効果を有する。
(38) (37)において、前記受信した第1動きベクトルが、前記参照フレームと符号化されるフレームとのフレーム間距離に応じて正規化された動きベクトルである。
<効果> (7)により符号化された符号化データを復号化することが可能であり、(7)と同様の符号化効率改善効果を有する。
(39) (37)において、前記受信した第1動きベクトルが、前記複数の参照フレームのうち、符号化されるフレームとのフレーム間距離が最も遠い参照フレームに対する動きベクトルである。
<効果> (8)により符号化された符号化データを復号化することが可能であり、(8)と同様の符号化効率改善効果を有する。
(40) (32)〜(39)のいずれかにおいて、マクロブロック毎にスキップしたマクロブロック数に関する情報を受信し、一つ以上のマクロブロックがスキップされている場合は、スキップされたそれぞれのマクロブロックについて、マクロブロックを復号化するのに必要な全ての動きベクトルの要素が0であるものとして、予め定められた複数の参照フレームの組み合わせを用いて、前記複数の参照フレームから参照マクロブロックを抽出し、前記複数の参照マクロブロックから、前記受信した線形和の重み係数の組を示すインデックスに基づいた線形和により予測マクロブロックを生成し、前記予測マクロブロックを復号化画像として用いる。
<効果> (9)により符号化された符号化データを復号化することが可能であり、(9)と同様の符号化効率改善効果を有する。
(41) (32)〜(39)のいずれかにおいて、マクロブロック毎にスキップしたマクロブロック数に関する情報を受信し、一つ以上のマクロブロックがスキップされている場合は、スキップされたそれぞれのマクロブロックについて、直前のスキップされずに符号化されたマクロブロックの動きベクトルと、予め定められた複数の参照フレームの組み合わせを用いて、前記複数の参照フレームから参照マクロブロックを抽出し、前記複数の参照マクロブロックから、前記受信した線形和の重み係数の組を示すインデックスに基づいた線形和により予測マクロブロックを生成し、前記予測マクロブロックを復号化画像として用いる。
<効果> (10)により符号化された符号化データを復号化することが可能であり、(10)と同様の符号化効率改善効果を有する。
(42) (40)または(41)において、前記予め定められた参照フレームの組み合わせが、直前に復号化された2フレームである。
<効果> (11)により符号化された符号化データを復号化することが可能であり、(11)と同様の符号化効率改善効果を有する。
(43) (40)または(41)において、前記予め定められた参照フレームの組み合わせを示すインデックスを符号化されたフレームのヘッダデータとして受信し、前記受信したインデックスに従って、スキップしたマクロブロックの復号を行う。
<効果> (12)により符号化された符号化データを復号化することが可能であり、(12)と同様の符号化効率改善効果を有する。
(44) (32)〜(39)のいずれかにおいて、マクロブロック毎にスキップしたマクロブロック数に関する情報を受信し、一つ以上のマクロブロックがスキップされている場合は、スキップされたそれぞれのマクロブロックについて、マクロブロックを復号化するのに必要な全ての動きベクトルの要素が0であるものとして、直前のスキップされずに符号化されたマクロブロックにおける複数の参照フレームの組み合わせを示すインデックス用いて、前記複数の参照フレームから参照マクロブロックを抽出し、前記複数の参照マクロブロックから前記受信した線形和の重み係数の組を示すインデックスに基づいた線形和により予測マクロブロックを生成し、前記予測マクロブロックを復号化画像として用いる。
<効果> (13)により符号化された符号化データを復号化することが可能であり、(13)と同様の符号化効率改善効果を有する。
(45) (32)〜(39)のいずれかにおいて、マクロブロック毎にスキップしたマクロブロック数に関する情報を受信し、一つ以上のマクロブロックがスキップされている場合は、スキップされたそれぞれのマクロブロックについて、直前のスキップされずに符号化されたマクロブロックの動きベクトルと、前記直前のスキップされずに符号化されたマクロブロックにおける複数の参照フレームの組み合わせを示すインデックス用いて、前記複数の参照フレームから参照マクロブロックを抽出し、前記複数の参照マクロブロックから、前記受信した線形和の重み係数の組を示すインデックスに基づいた線形和により予測マクロブロックを生成し、前記予測マクロブロックを復号化画像として用いる。
<効果> (14)により符号化された符号化データを復号化することが可能であり、(14)と同様の符号化効率改善効果を有する。
(46) (32)〜(39)のいずれかにおいて、前記受信した動きベクトルが、フレーム内で隣接する一つまたは複数のマクロブロックの動きベクトルから予測した動きベクトルとの差分ベクトルとして符号化されており、前記隣接する複数のマクロブロックの復号化された動きベクトルから予測動きベクトルを生成し、前記受信した動きベクトルと加算することで、該当するマクロブロックの動きベクトルを復号化する。
<効果> (15)により符号化された符号化データを復号化することが可能であり、(15)と同様の符号化効率改善効果を有する。
(47) (32)〜(39)のいずれかにおいて、前記受信した動きベクトルが、直前のフレーム内の同一位置のマクロブロックにおける動きベクトルから予測した動きベクトルとの差分動きベクトルとして符号化されており、直前に復号化したフレームの同一位置のマクロブロックにおける復号化された動きベクトルから予測した動きベクトルと、前記受信した動きベクトルとを加算することにより、該当するマクロブロックの動きベクトルを復号化することを第47の特徴とする。
<効果> (16)により符号化された符号化データを復号化することが可能であり、(16)と同様の符号化効率改善効果を有する。
(48) (32)〜(39)のいずれかにおいて、前記受信した動きベクトルが、フレーム内で隣接する一つまたは複数のマクロブロック、及び直前のフレーム内の同一位置のマクロブロックにおける動きベクトルから予測した動きベクトルとの差分動きベクトルとして符号化されており、前記隣接する複数のマクロブロックの復号化された動きベクトルと、直前に復号化したフレームの同一位置のマクロブロックにおける復号化された動きベクトルから予測動きベクトルを生成し、前記予測動きベクトルと前記受信した動きベクトルとを加算することにより、該当するマクロブロックの動きベクトルを復号化する。
<効果> (17)により符号化された符号化データを復号化することが可能であり、(17)と同様の符号化効率改善効果を有する。
(49) (46)〜(48)のいずれかにおいて、マクロブロック毎にスキップしたマクロブロック数に関する情報を受信し、一つ以上のマクロブロックがスキップされている場合は、スキップされたそれぞれのマクロブロックについて、前記予測動きベクトルをスキップしたマクロブロックの動きベクトルとして、予め定められた複数の参照フレームの組み合わせを用いて、前記複数の参照フレームから参照マクロブロックを抽出し、前記複数の参照マクロブロックから、前記受信した線形和の重み係数の組を示すインデックスに基づいた線形和により予測マクロブロックを生成し、前記予測マクロブロックを復号化画像として用いる。
<効果> (18)により符号化された符号化データを復号化することが可能であり、(18)と同様の符号化効率改善効果を有する。
(50) (46)〜(48)のいずれかにおいて、マクロブロック毎にスキップしたマクロブロック数に関する情報を受信し、一つ以上のマクロブロックがスキップされている場合は、スキップされたそれぞれのマクロブロックについて、直前のスキップされずに符号化されたマクロブロックの動きベクトルを前記予測動きベクトルに加算した動きベクトルと、予め定められた複数の参照フレームの組み合わせを用いて、前記複数の参照フレームから参照マクロブロックを抽出し、前記複数の参照マクロブロックから、前記受信した線形和の重み係数の組を示すインデックスに基づいた線形和により予測マクロブロックを生成し、前記予測マクロブロックを復号化画像として用いる。
<効果> (19)により符号化された符号化データを復号化することが可能であり、(19)と同様の符号化効率改善効果を有する。
(51) (49)または(50)において、前記予め定められた参照フレームの組み合わせが、直前に復号化された2フレームである。
<効果> (20)により符号化された符号化データを復号化することが可能であり、(20)と同様の符号化効率改善効果を有する。
(52) (49)または(50)において、前記予め定められた参照フレームの組み合わせを示すインデックスを符号化されたフレームのヘッダデータとして受信し、前記受信したインデックスに従って、スキップしたマクロブロックの復号を行う。
<効果> (21)により符号化された符号化データを復号化することが可能であり、(21)と同様の符号化効率改善効果を有する。
(53) (46)〜(48)のいずれかにおいて、マクロブロック毎にスキップしたマクロブロック数に関する情報を受信し、一つ以上のマクロブロックがスキップされている場合は、スキップされたそれぞれのマクロブロックについて、前記予測動きベクトルをスキップしたマクロブロックの動きベクトルとして、直前のスキップされずに符号化されたマクロブロックにおける複数の参照フレームの組み合わせを示すインデックス用いて、前記複数の参照フレームから参照マクロブロックを抽出し、前記複数の参照マクロブロックから、前記受信した線形和の重み係数の組を示すインデックスに基づいた線形和により予測マクロブロックを生成し、前記予測マクロブロックを復号化画像として用いる。
<効果> (22)により符号化された符号化データを復号化することが可能であり、(22)と同様の符号化効率改善効果を有する。
(54) (46)〜(48)のいずれかにおいて、マクロブロック毎にスキップしたマクロブロック数に関する情報を受信し、一つ以上のマクロブロックがスキップされている場合は、スキップされたそれぞれのマクロブロックについて、直前のスキップされずに符号化されたマクロブロックの差分動きベクトルを、前記予測動きベクトルに加算して動きベクトル生成し、前記直前のスキップされずに符号化されたマクロブロックにおける複数の参照フレームの組み合わせを示すインデックス用いて、前記複数の参照フレームから参照マクロブロックを抽出し、前記複数の参照マクロブロックから、前記受信した線形和の重み係数の組を示すインデックスに基づいた線形和により予測マクロブロックを生成し、前記予測マクロブロックを復号化画像として用いる。
<効果> (23)により符号化された符号化データを復号化することが可能であり、(23)と同様の符号化効率改善効果を有する。
(55) 動画像の復号化対象マクロブロックに対して、所定の組み合わせの複数の参照フレーム及び該復号化対象マクロブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う動画像復号化方法において、(a)前記復号化対象マクロブロック毎の予測誤差信号、前記複数の参照フレームの組み合わせを示す第1インデックス、符号化済みフレームのフレーム番号を示す第2インデックス及び前記動きベクトルの情報を含む符号化データを復号化し、(b)復号化された前記動きベクトル及び前記第1インデックスの情報に従って前記複数の参照フレームから複数の参照マクロブロックを抽出し、(c)復号化された前記第2インデックスの情報に従って前記複数の参照フレームと前記符号化済みフレームとのフレーム間距離を算出し、(d)算出された前記フレーム間距離に応じて決定される重み係数の組を用いて、抽出した前記複数の参照マクロブロックの線形和を計算することにより予測マクロブロックを生成し、(e)前記予測マクロブロックと復号化された前記予測誤差信号を加算することにより動画像信号を復号化する。
<効果> (24)により符号化された符号化データを復号化することが可能であり、(24)と同様の符号化効率改善効果を有する。
(56) 動画像の復号化対象マクロブロックに対して、時間的に過去の少なくとも一つの参照フレーム及び該復号化対象マクロブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う動画像復号化方法において、(a)前記復号化対象マクロブロック毎の予測誤差信号と、符号化された第1動きベクトルまたは直前の符号化済みフレームにおけるフレーム内同一位置のマクロブロックの第2動きベクトルを用いることを示すフラグの何れかの情報を含む符号化データを受信して復号化し、(b)前記第1動きベクトルの情報を受信した復号化対象マクロブロックに対しては復号化された前記第1動きベクトル、前記フラグを受信した復号化対象マクロブロックに対しては前記第2動きベクトルをそれぞれ用いて予測マクロブロック信号を生成し、(c)前記予測マクロブロックと復号化された前記予測誤差信号を加算することにより動画像信号を復号化する。
<効果> (29)により符号化された符号化データを復号化することが可能であり、(29)と同様の符号化効率改善効果を有する。
(57) 動画像の復号化対象マクロブロックに対して、復号化対象マクロブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う動画像復号化方法において、(a)前記復号化対象マクロブロック毎の予測誤差信号の情報と、時間的に過去の少なくとも一つの符号化対象フレームを前記参照フレームとする第1予測モード、時間的に未来の符号化対象フレームを前記参照フレームとする第2予測モード、該時間的に過去及び未来の符号化対象フレームの線形和を前記参照フレームとする第3予測モード、及び該時間的に過去の複数の符号化対象フレームの線形和を前記参照フレームとする第4予測モードのいずれかを示す予測モード情報及び前記動きベクトルの情報を含む符号化データを受信して復号化し、(b)前記予測モード情報及び前記動きベクトルの情報を用いて予測マクロブロック信号を生成し、(c)前記予測マクロブロック信号と復号化された前記予測誤差信号を加算することより動画像信号を復号化する。
<効果> (30)により符号化された符号化データを復号化することが可能であり、(30)と同様の符号化効率改善効果を有する。
(58) (57)において、前記線形和による予測がフレーム間距離に応じた線形内挿及び線形外挿である。
<効果> (31)により符号化された符号化データを復号化することが可能であり、(31)と同様の符号化効率改善効果を有する。
(59) 動画像の符号化対象マクロブロックに対して、複数の参照フレームから選択された少なくとも一つの参照フレーム、及び該符号化対象マクロブロックと該少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間符号化を行う動画像符号化方法において、前記動きベクトルが前記動画像の前記符号化対象マクロブロックに隣接する複数のマクロブロックに対する動きベクトルから選択された予測ベクトルと一致し、かつ前記符号化対象マクロブロックに対して選択された少なくとも一つの参照フレームが前記予測ベクトルが選択されたマクロブロックに対する参照フレームと一致し、前記動き補償予測フレーム間符号化における符号化すべき予測誤差信号が全て0である符号化対象マクロブロックに対して、前記動き補償予測フレーム間符号化をスキップし、次の符号化対象マクロブロックの動き補償予測フレーム間符号化に際して該動き補償予測フレーム間符号化をスキップしたマクロブロックの個数を符号化する。
<効果> (22)と同様に、隣接するマクロブロック間のフレーム間予測における動きベクトル及び参照フレーム選択の相関を利用して、効率的にマクロブロックスキップを発生させて、符号化オーバーヘッドを低減して符号化効率を向上させることが可能であるとともに、動きベクトルの予測で用いられた隣接マクロブロックと同一の参照フレームを用いることをスキップ条件とすることで、動きベクトルと参照フレームとの組みによる隣接マクロブロック間相関を利用して、さらに効率的にマクロブロックスキップを発生させることが可能となる。
(60) 動画像の符号化対象マクロブロックに対して、複数の参照フレームから選択された少なくとも一つの第1参照フレーム、及び該符号化対象マクロブロックと該第1参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間符号化を行う動画像符号化方法において、前記動き補償予測フレーム間符号化により得られる予測誤差信号、前記動き補償予測フレーム間符号化に用いる動きベクトルと前記符号化対象マクロブロックに隣接する複数のマクロブロックと第2参照フレームとの間の動きベクトルから選択された予測ベクトルとの差分ベクトル、及び前記第1参照フレームを示すインデックスと前記第2参照フレームを示すインデックスとの差分値を符号化する。
<効果> (15)〜(17)と同様に、隣接するマクロブロック間の動きベクトルの相関を利用して、動きベクトル情報を効率的に符号化するとともに、複数の参照フレームの中から各マクロブロックが参照するフレームに関するインデックスについて、予測ベクトルが選択された隣接マクロブロックにおける参照フレームを示すインデックスと、符号化対象マクロブロックにおける参照フレームを示すインデックスとの差分値を符号化することにより、動きベクトルと参照フレームとの組みによる隣接マクロブロック間相関を利用して、参照フレームを示すインデックスの符号化効率を向上させることが可能となり、符号化オーバーヘッドを低減して高能率な動画像符号化を行うことが可能となる。
(61) 動画像の復号化対象マクロブロックに対して、該復号化対象マクロブロックと複数の参照フレームの中から選択された少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う動画像復号化方法において、(a)動き補償予測フレーム間符号化により得られた前記復号化対象マクロブロック毎の予測誤差信号、直前にスキップしたマクロブロックの個数及び前記選択された少なくとも一つの参照フレームを示すインデックスの情報を含む符号化データを受信して復号化し、(b)前記スキップしたマクロブロックにおいて該スキップしたマクロブロックに隣接する複数のマクロブロックの動きベクトルから一つの予測ベクトルを選択し、(c)前記予測ベクトルが選択されたマクロブロックに対する少なくとも一つの参照フレーム及び前記予測ベクトルに従って予測マクロブロックを生成し、(d)前記予測マクロブロックを前記スキップしたマクロブロックの復号化画像信号として出力する。
<効果> (59)により符号化された符号化データを復号化することが可能となり、(59)と同様の符号化効率改善効果を有する。
(62) 動画像の復号化対象マクロブロックに対して、該復号化対象マクロブロックと複数の参照フレームの中から選択された少なくとも一つの第1参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う動画像復号化方法において、(a)動き補償予測フレーム間符号化により得られた予測誤差信号、該動き補償予測フレーム間符号化に用いた動きベクトルと前記復号化対象マクロブロックに隣接する複数のマクロブロックと第2参照フレームとの間の動きベクトルから選択された予測ベクトルとの差分ベクトル、及び前記第1参照フレームを示す第1インデックスと前記第2参照フレームを示す第2インデックスとの差分値を含む符号化データを受信して復号化し、(b)前記復号化対象マクロブロックに隣接する複数のマクロブロックから前記予測ベクトルを選択し、(c)選択された予測ベクトルと復号化された前記差分ベクトルとを加算することにより前記動きベクトルを再生し、(d)前記予測ベクトルが選択されたマクロブロックにおける参照フレームのインデックスと前記復号化した差分値とを加算することにより前記第1インデックスを再生し、(e)前記再生された動きベクトル及び再生された第1インデックスに従って予測マクロブロックを生成し、(f)生成された前記予測マクロブロックと前記復号化された予測誤差信号とを加算することにより前記復号化対象マクロブロックの復号化再生画像信号を生成する。
<効果> (60)により符号化された符号化データを復号化することが可能となり、(60)と同様の符号化効率改善効果を有する。
前述したように、本発明に係る動画像符号化及び復号化の処理は、ハードウエア(装置)として実現してもよいし、コンピュータを用いてソフトウエアにより実行してもよい。一部の処理をハードウエアで実現し、他の処理をソフトウエアにより行ってもよい。従って、本発明によると(1)〜(62)で説明した動画像符号化または復号化処理をコンピュータに行わせるためのプログラムを提供することも可能である。
本発明の第1の実施形態に係る動画像符号化装置の構成を示すブロック図 本発明の第2の実施形態に係る動画像符号化装置の構成を示すブロック図 本発明の第1及び第2の実施形態に係る動画像復号化装置の構成を示すブロック図 本発明の実施形態に係るフレーム間予測の関係を示す図 本発明の実施形態に係る線形予測係数テーブルの例を示す図 本発明の実施形態に係る線形予測係数テーブルの例を示す図 本発明の実施形態に係る参照フレームを示すテーブルの例を示す図 本発明の第3の実施形態に係る動画像符号化装置の構成を示すブロック図 本発明の第3の実施形態に係る動画像復号化装置の構成を示すブロック図 本発明の実施形態に係る線形予測係数を示すシンタックスの例を示す図 本発明の実施形態に係る参照フレームを示すテーブルの例を示す図 本発明の実施形態に係るフレーム間予測の関係を示す図 本発明の実施形態に係るフレーム間予測の関係を示す図 本発明の実施形態に係る動きベクトル情報の符号化方法及び復号化方法の例を示す図 本発明の実施形態に係る動きベクトル情報の符号化方法及び復号化方法の例を示す図 本発明の実施形態に係る動きベクトル情報の符号化方法及び復号化方法の例を示す図 本発明の実施形態に係る動きベクトル情報の予測符号化方法を説明する図 本発明の実施形態に係る動きベクトル情報の予測符号化方法を説明する図 本発明の第4の実施形態に係る動画像符号化装置の構成を示すブロック図 本発明の実施形態に係る線形予測係数の決定方法の例を説明する図 本発明の実施形態に係る線形予測係数の決定方法の例を説明する図 本発明の実施形態に係る線形予測係数の決定方法の例を説明する図 本発明の実施形態に係る線形予測係数の決定方法の例を説明する図 本発明の実施形態に係る線形予測係数の決定方法の例を説明する図 本発明の実施形態に係る動きベクトル探索方法を説明する図 本発明の実施形態に係る動きベクトル探索方法を説明する図 本発明の実施形態に係る動きベクトル符号化方法を説明する図 本発明の実施形態に係る動きベクトル符号化方法を説明する図 本発明の実施形態に係るフレーム間予測の関係を示す図 本発明の実施形態に係る動きベクトル符号化方法を説明する図 本発明の実施形態に係る動きベクトル符号化方法を説明する図 本発明の実施形態に係る動きベクトル符号化方法を説明する図 本発明の実施形態に関する動画像符号化の手順を示すフローチャート 本発明の実施形態に関する重み付き予測を説明する図 本発明の実施形態に関するピクチャヘッダまたはスライスヘッダのデータ構造を示す図 本発明の実施形態に関する重み付き予測の係数テーブルのデータ構造の第1の例を示す図 本発明の実施形態に関する重み付き予測の係数テーブルのデータ構造の第2の例を示す図 本発明の実施形態に係る動画像符号化データのデータ構造を示す図 本発明の実施形態に関する動画像復号化の手順を示すフローチャート
符号の説明
100…入力動画像信号(符号化対象フレーム)
101…予測誤差信号
102…量子化DCT係数データ
103…局部復号化画像信号
104,105…参照マクロブロック信号
106…予測画像信号
107…サイド情報
108…符号化データ
111…減算器
112…DCT変換器
113…量子化器
114…可変長符号化器
115…逆量子化器
116…逆DCT変換器
117,118,152…参照フレームメモリ
119…予測マクロブロック生成器
120…予測マクロブロック選択器
140…フェード検出器
150…予測マクロブロック選択器
151…線形予測器
200…符号化データ
201…量子化DCT係数データ
202…サイド情報
203…復号化画像信号
204,205…参照マクロブロック信号
206…予測画像信号
214…可変長復号化器
215…逆量子化器
216…逆DCT変換器
217,218,252…参照フレームメモリ
219…予測マクロブロック生成器
220…予測マクロブロック選択器
250…予測マクロブロック選択器
251…線形予測器

Claims (3)

  1. 動画像の復号化対象フレーム内の復号化対象ブロックに対して、所定の組み合わせの複数の参照フレーム及び該復号化対象ブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う動画像復号化方法において、
    予測ブロックと前記復号化対象ブロックとの予測誤差信号、前記参照フレーム、前記復号化対象フレーム毎に設定された2のべき乗の値となる分母を用いた有理数で表現された重み係数、直流オフセット値及び前記動きベクトルのそれぞれの情報を含む符号化データを復号化するステップであって、前記重み係数の情報については前記分母と前記有理数の分子の情報を受けて復号化するステップと、
    前記参照フレームから抽出した複数の参照ブロックについて前記重み係数を用いて線形和を計算しかつ前記直流オフセット値を加算することにより、前記予測ブロックを生成するステップと、
    前記予測誤差信号及び予測ブロックの信号を用いて再生動画像信号を生成するステップと、を具備する動画像復号化方法。
  2. 動画像の復号化対象フレーム内の復号化対象ブロックに対して、所定の組み合わせの複数の参照フレーム及び該復号化対象ブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う動画像復号化装置において、
    予測ブロックと前記復号化対象ブロックとの予測誤差信号、前記参照フレーム、前記復号化対象フレーム毎に設定された2のべき乗の値となる分母を用いた有理数で表現された重み係数、直流オフセット値及び前記動きベクトルのそれぞれの情報を含む符号化データを復号化する手段であって、前記重み係数の情報については前記分母と前記有理数の分子の情報を受けて復号化する手段と、
    前記参照フレームから抽出した複数の参照ブロックについて前記重み係数を用いて線形和を計算しかつ前記直流オフセット値を加算することにより、前記予測ブロックを生成する手段と、
    前記予測誤差信号及び予測ブロックの信号を用いて再生動画像信号を生成する手段と、を具備する動画像復号化装置。
  3. 動画像の復号化対象フレーム内の復号化対象ブロックに対して、所定の組み合わせの複数の参照フレーム及び該復号化対象ブロックと少なくとも一つの参照フレームとの間の動きベクトルを用いて動き補償予測フレーム間復号化を行う動画像復号化処理をコンピュータに行わせるためのプログラムにおいて、
    予測ブロックと前記復号化対象ブロックとの予測誤差信号、前記参照フレーム、前記復号化対象フレーム毎に設定された2のべき乗の値となる分母を用いた有理数で表現された重み係数、直流オフセット値及び前記動きベクトルのそれぞれの情報を含む符号化データを復号化する処理であって、前記重み係数の情報については前記分母と前記有理数の分子の情報を受けて復号化する処理と、
    前記参照フレームから抽出した複数の参照ブロックについて前記重み係数を用いて線形和を計算しかつ前記直流オフセット値を加算することにより、前記予測ブロックを生成する処理と、
    前記予測誤差信号及び予測ブロックの信号を用いて再生動画像信号を生成する処理と、を含む動画像復号化処理をコンピュータに行わせるためのプログラム。
JP2006281999A 2002-04-10 2006-10-16 動画像復号化方法及び装置 Abandoned JP2007060690A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006281999A JP2007060690A (ja) 2002-04-10 2006-10-16 動画像復号化方法及び装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002108102 2002-04-10
JP2006281999A JP2007060690A (ja) 2002-04-10 2006-10-16 動画像復号化方法及び装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002341239A Division JP2004007379A (ja) 2002-01-18 2002-11-25 動画像符号化方法及び動画像復号化方法

Publications (1)

Publication Number Publication Date
JP2007060690A true JP2007060690A (ja) 2007-03-08

Family

ID=37852143

Family Applications (9)

Application Number Title Priority Date Filing Date
JP2006282001A Abandoned JP2007060692A (ja) 2002-04-10 2006-10-16 動画像符号化方法及び動画像復号化方法
JP2006282005A Abandoned JP2007060693A (ja) 2002-04-10 2006-10-16 動画像符号化、復号化方法及び装置
JP2006282000A Abandoned JP2007060691A (ja) 2002-04-10 2006-10-16 動画像符号化方法及び装置
JP2006281869A Abandoned JP2007060688A (ja) 2002-04-10 2006-10-16 動画像復号化方法及び装置
JP2006282003A Abandoned JP2007049743A (ja) 2002-04-10 2006-10-16 動画像符号化方法、復号化方法及び装置
JP2006282006A Abandoned JP2007060694A (ja) 2002-04-10 2006-10-16 動画像符号化、復号化方法及び装置
JP2006282002A Abandoned JP2007049742A (ja) 2002-04-10 2006-10-16 動画像符号化方法、復号化方法及び装置
JP2006282004A Abandoned JP2007049744A (ja) 2002-04-10 2006-10-16 動画像符号化方法及び動画像復号化方法
JP2006281999A Abandoned JP2007060690A (ja) 2002-04-10 2006-10-16 動画像復号化方法及び装置

Family Applications Before (8)

Application Number Title Priority Date Filing Date
JP2006282001A Abandoned JP2007060692A (ja) 2002-04-10 2006-10-16 動画像符号化方法及び動画像復号化方法
JP2006282005A Abandoned JP2007060693A (ja) 2002-04-10 2006-10-16 動画像符号化、復号化方法及び装置
JP2006282000A Abandoned JP2007060691A (ja) 2002-04-10 2006-10-16 動画像符号化方法及び装置
JP2006281869A Abandoned JP2007060688A (ja) 2002-04-10 2006-10-16 動画像復号化方法及び装置
JP2006282003A Abandoned JP2007049743A (ja) 2002-04-10 2006-10-16 動画像符号化方法、復号化方法及び装置
JP2006282006A Abandoned JP2007060694A (ja) 2002-04-10 2006-10-16 動画像符号化、復号化方法及び装置
JP2006282002A Abandoned JP2007049742A (ja) 2002-04-10 2006-10-16 動画像符号化方法、復号化方法及び装置
JP2006282004A Abandoned JP2007049744A (ja) 2002-04-10 2006-10-16 動画像符号化方法及び動画像復号化方法

Country Status (1)

Country Link
JP (9) JP2007060692A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100919886B1 (ko) * 2006-12-06 2009-09-30 한국전자통신연구원 영상 복호기에서 움직임 벡터 특성을 이용한 움직임 보상스킵 제어 장치 및 그 방법
KR102231772B1 (ko) 2007-10-16 2021-03-23 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR101432775B1 (ko) 2008-09-08 2014-08-22 에스케이텔레콤 주식회사 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치
JP5184447B2 (ja) * 2009-06-22 2013-04-17 株式会社Kddi研究所 動画像符号化装置および復号装置
JP2012023634A (ja) * 2010-07-15 2012-02-02 Toshiba Corp ビデオカメラ、撮像方法
AU2016253586B2 (en) * 2010-10-06 2018-04-19 Ntt Docomo, Inc. Image predictive encoding device, image predictive encoding method, image predictive encoding program, image predictive decoding device, image predictive decoding method, and image predictive decoding program
KR102123960B1 (ko) * 2010-10-06 2020-06-17 가부시키가이샤 엔.티.티.도코모 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램
CN104081780A (zh) * 2012-01-31 2014-10-01 索尼公司 图像处理装置和图像处理方法
US10592064B2 (en) 2013-09-17 2020-03-17 Amazon Technologies, Inc. Approaches for three-dimensional object display used in content navigation

Also Published As

Publication number Publication date
JP2007060692A (ja) 2007-03-08
JP2007060688A (ja) 2007-03-08
JP2007060693A (ja) 2007-03-08
JP2007049744A (ja) 2007-02-22
JP2007049742A (ja) 2007-02-22
JP2007049743A (ja) 2007-02-22
JP2007060694A (ja) 2007-03-08
JP2007060691A (ja) 2007-03-08

Similar Documents

Publication Publication Date Title
JP2004007379A (ja) 動画像符号化方法及び動画像復号化方法
KR100746321B1 (ko) 동화상 부호화방법 및 장치와 동화상 복호화방법 및 장치
JP2007060690A (ja) 動画像復号化方法及び装置
JP2007060702A (ja) 動画像符号化方法、装置及びプログラム

Legal Events

Date Code Title Description
A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20090226