(57)【要約】【課題】  動き補償のダイレクトモードは、線形動きモデルから外れた場合に符号化効率が悪化する。【解決手段】  動きベクトル線形予測部６４は、動画像の対象Ｂフレームの対象マクロブロックと空間的な位置が一致する後方参照Ｐフレームの参照マクロブロックの動きベクトルを対象Ｂフレームの対象マクロブロックの動きベクトルと想定する。動きベクトル線形予測部６４は、想定された動きベクトルから対象マクロブロックの順方向動きベクトルと逆方向動きベクトルを線形予測する。差分ベクトル探索部６６は、順方向動きベクトルを補正するための差分ベクトルと、逆方向動きベクトルを補正するための差分ベクトルをそれぞれ独立に求める。動き補償予測部６８は、順方向差分ベクトルと逆方向差分ベクトルによりそれぞれ補正された順方向動きベクトルと逆方向動きベクトルを用いて対象マクロブロックを動き補償して、予測画像を生成する。【選択図】        図３
2006279573.tif 000002
【特許請求の範囲】
【請求項１】
動画像のフレームを符号化する符号化装置であって、
符号化対象フレームの対象ブロックと対応する他のフレームのブロックの動きベクトルを利用して、第１参照フレームに対する前記対象ブロックの動きを示す第１動きベクトルと、第２参照フレームに対する前記対象ブロックの動きを示す第２動きベクトルとを線形予測する動きベクトル線形予測部と、
前記第１動きベクトルを補正するための第１差分ベクトルと、前記第２動きベクトルを補正するための第２差分ベクトルとをそれぞれ独立に探索する差分ベクトル探索部と、
前記第１差分ベクトルにより補正された前記第１動きベクトルと、前記第２差分ベクトルにより補正された前記第２動きベクトルとを用いて、前記対象ブロックの動き補償予測を行う動き補償予測部とを含むことを特徴とする符号化装置。
【請求項２】
前記第１および第２参照フレームは、前記動画像のフレームの表示順序において前記対象フレームの前後のフレームであることを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記第１差分ベクトルと前記第２差分ベクトルとを動きベクトル情報として前記符号化対象フレームともに可変長符号化する可変長符号化部をさらに含むことを特徴とする請求項１に記載の符号化装置。
【請求項４】
動画像のフレームが符号化された動画像ストリームのデータ構造であって、
符号化対象フレームの対象ブロックと対応する他のフレームのブロックの動きベクトルを利用して線形予測された第１参照フレームに対する前記対象ブロックの動きを示す第１動きベクトルおよび第２参照フレームに対する前記対象ブロックの動きを示す第２動きベクトルのそれぞれを独立に補正するための第１差分ベクトルおよび第２差分ベクトルとが、動きベクトル情報として前記符号化対象フレームともに可変長符号化されてなることを特徴とする動画像ストリームのデータ構造。
【請求項５】
動画像のフレームが符号化された動画像ストリームを復号する復号装置であって、
復号対象フレームの対象ブロックと対応する他のフレームのブロックの動きベクトルを利用して、第１参照フレームに対する前記対象ブロックの動きを示す第１動きベクトルと、第２参照フレームに対する前記対象ブロックの動きを示す第２動きベクトルとを線形予測する動きベクトル線形予測部と、
前記第１動きベクトルを補正するための第１差分ベクトルと、前記第２動きベクトルを補正するための第２差分ベクトルとを前記動画像ストリームから取得し、前記第１差分ベクトルを前記第１動きベクトルに合成し、前記第２差分ベクトルを前記第２動きベクトルに合成する差分ベクトル合成部と、
前記第１差分ベクトルにより補正された前記第１動きベクトルと、前記第２差分ベクトルにより補正された前記第２動きベクトルとを用いて、前記対象ブロックの動き補償予測を行う動き補償予測部とを含むことを特徴とする復号装置。
【請求項６】
動画像のフレームをＭＰＥＧ規格もしくはＨ．２６４／ＡＶＣ規格に準拠して符号化する符号化装置であって、
符号化対象Ｂフレームの対象ブロックと対応する位置にある後方参照Ｐフレームのブロックの動きベクトルを利用して、前方参照Ｐフレームに対する前記対象ブロックの順方向の動きを示す順方向動きベクトルと、前記後方参照Ｐフレームに対する前記対象ブロックの逆方向の動きを示す逆方向動きベクトルとを線形予測する動きベクトル線形予測部と、
前記順方向動きベクトルを補正するための順方向差分ベクトルと、前記逆方向動きベクトルを補正するための逆方向差分ベクトルとをそれぞれ独立に探索する差分ベクトル探索部と、
前記順方向差分ベクトルにより補正された前記順方向動きベクトルと、前記逆方向差分ベクトルにより補正された前記逆方向動きベクトルとを用いて、前記対象ブロックの動き補償予測を行う動き補償予測部とを含むことを特徴とする符号化装置。
【請求項７】
動画像のフレームが符号化された動画像ストリームをＭＰＥＧ規格もしくはＨ．２６４／ＡＶＣ規格に準拠して復号する復号装置であって、
復号対象Ｂフレームの対象ブロックと対応する位置にある後方参照Ｐフレームのブロックの動きベクトルを利用して、前方参照Ｐフレームに対する前記対象ブロックの順方向の動きを示す順方向動きベクトルと、前記後方参照Ｐフレームに対する前記対象ブロックの逆方向の動きを示す逆方向動きベクトルとを線形予測する動きベクトル線形予測部と、
前記順方向動きベクトルを補正するための順方向差分ベクトルと、前記逆方向動きベクトルを補正するための逆方向差分ベクトルとを前記動画像ストリームから取得し、前記順方向差分ベクトルを前記順方向動きベクトルに合成し、前記逆方向差分ベクトルを前記逆方向動きベクトルに合成する差分ベクトル合成部と、
前記順方向差分ベクトルにより補正された前記順方向動きベクトルと、前記逆方向差分ベクトルにより補正された前記逆方向動きベクトルとを用いて、前記対象ブロックの動き補償予測を行う動き補償予測部とを含むことを特徴とする復号装置。
【請求項８】
ＭＰＥＧ規格もしくはＨ．２６４／ＡＶＣ規格のダイレクトモードにより動画像の符号化対象フレームを双方向予測符号化する際に、後方参照フレームの動きベクトルにもとづいて線形予測された順方向動きベクトルと逆方向動きベクトルのそれぞれを独立に補正するための順方向差分ベクトルと逆方向差分ベクトルを求め、前記順方向差分ベクトルにより補正された前記順方向動きベクトルと、前記逆方向差分ベクトルにより補正された前記逆方向動きベクトルとを用いて、前記対象ブロックの動き補償予測を行うことを特徴とする符号化方法。
【請求項９】
ＭＰＥＧ規格もしくはＨ．２６４／ＡＶＣ規格のダイレクトモードにより動画像の符号化フレームを双方向予測により復号する際に、後方参照フレームの動きベクトルにもとづいて線形予測された順方向動きベクトルと逆方向動きベクトルのそれぞれを独立に補正するための順方向差分ベクトルと逆方向差分ベクトルを前記符号化ストリームから取得し、取得した前記順方向差分ベクトルと前記逆方向差分ベクトルをそれぞれ順方向動きベクトルと逆方向動きベクトルに合成することで補正し、補正された前記順方向動きベクトルと補正された前記逆方向動きベクトルとを用いて、前記対象ブロックの動き補償予測を行うことを特徴とする復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を符号化する符号化装置と方法、ならびに符号化された動画像を復号する復号装置と方法に関する。
【背景技術】
【０００２】
ブロードバンドネットワークが急速に発展しており、高品質な動画像を利用したサービスに期待が集まっている。また、ＤＶＤなど大容量の記録媒体が利用されており、高画質の画像を楽しむユーザ層が広がっている。動画像を通信回線で伝送したり、記録媒体に蓄積するために不可欠な技術として圧縮符号化がある。動画像圧縮符号化技術の国際標準として、ＭＰＥＧ４の規格やＨ．２６４／ＡＶＣ規格がある。また、１つのストリームにおいて高画質のストリームと低画質のストリームを併せもつＳＶＣ（Scalable Video Codec）のような次世代画像圧縮技術がある。
【０００３】
動画像の圧縮符号化では、動き補償が行われる。特許文献１には、双方向動き補償を利用して動画像を符号するビデオ画像符号化装置が開示されている。
【特許文献１】特開平９−１８２０８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
高解像度の動画像をストリーム配信したり、記録媒体に蓄積する場合、通信帯域を圧迫しないように、あるいは、記憶容量が大きくならないように、動画ストリームの圧縮率を高める必要がある。しかし、高い画質を維持するために、より細かい画素単位で動き補償をする必要があり、たとえば、１／４画素精度での動きベクトルの探索などが行われ、動きベクトルに関する符号量が非常に多くなる。動きベクトルに関する情報量が増えると、動画ストリームの圧縮率を高める上で一つの障害となる。そこで、動きベクトル情報に起因する符号量を減らす技術が求められている。
【０００５】
本発明はこうした状況に鑑みてなされたもので、その目的は、符号化効率が高く、また、精度の高い動き予測を行うことのできる動画像の符号化技術および復号技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の符号化装置は、動画像のフレームを符号化する符号化装置であって、符号化対象フレームの対象ブロックと対応する他のフレームのブロックの動きベクトルを利用して、第１参照フレームに対する前記対象ブロックの動きを示す第１動きベクトルと、第２参照フレームに対する前記対象ブロックの動きを示す第２動きベクトルとを線形予測する動きベクトル線形予測部と、前記第１動きベクトルを補正するための第１差分ベクトルと、前記第２動きベクトルを補正するための第２差分ベクトルとをそれぞれ独立に探索する差分ベクトル探索部と、前記第１差分ベクトルにより補正された前記第１動きベクトルと、前記第２差分ベクトルにより補正された前記第２動きベクトルとを用いて、前記対象ブロックの動き補償予測を行う動き補償予測部とを含む。
【０００７】
「符号化対象フレームの対象ブロックと対応する他のフレームのブロック」とは、符号化対象フレームの対象ブロックと他のフレームのブロックとが画像上で同一位置にある場合やほぼ同一の位置にある場合の他、画面のスクロールなどにより、両ブロックが画像上の位置は異なっていても、対応関係がある場合なども含む。
【０００８】
この態様によると、動き補償の精度を高め、また、動きベクトル情報の符号量を減らすことができる。
【０００９】
本発明の別の態様は、動画像ストリームのデータ構造である。この動画像ストリームのデータ構造は、動画像のフレームが符号化された動画像ストリームのデータ構造であって、符号化対象フレームの対象ブロックと対応する他のフレームのブロックの動きベクトルを利用して線形予測された第１参照フレームに対する前記対象ブロックの動きを示す第１動きベクトルおよび第２参照フレームに対する前記対象ブロックの動きを示す第２動きベクトルのそれぞれを独立に補正するための第１差分ベクトルおよび第２差分ベクトルとが、動きベクトル情報として前記符号化対象フレームともに可変長符号化されてなる。
【００１０】
本発明のさらに別の態様は、復号装置である。この装置は、動画像のフレームが符号化された動画像ストリームを復号する復号装置であって、復号対象フレームの対象ブロックと対応する他のフレームのブロックの動きベクトルを利用して、第１参照フレームに対する前記対象ブロックの動きを示す第１動きベクトルと、第２参照フレームに対する前記対象ブロックの動きを示す第２動きベクトルとを線形予測する動きベクトル線形予測部と、前記第１動きベクトルを補正するための第１差分ベクトルと、前記第２動きベクトルを補正するための第２差分ベクトルとを前記動画像ストリームから取得し、前記第１差分ベクトルを前記第１動きベクトルに合成し、前記第２差分ベクトルを前記第２動きベクトルに合成する差分ベクトル合成部と、前記第１差分ベクトルにより補正された前記第１動きベクトルと、前記第２差分ベクトルにより補正された前記第２動きベクトルとを用いて、前記対象ブロックの動き補償予測を行う動き補償予測部とを含む。
【００１１】
この態様によると、動き補償の精度を高め、高画質で動画を再生することができる。
【００１２】
本発明のさらに別の態様は、符号化装置である。この装置は、動画像のフレームをＭＰＥＧ規格もしくはＨ．２６４／ＡＶＣ規格に準拠して符号化する符号化装置であって、符号化対象Ｂフレームの対象ブロックと対応する位置にある後方参照Ｐフレームのブロックの動きベクトルを利用して、前方参照Ｐフレームに対する前記対象ブロックの順方向の動きを示す順方向動きベクトルと、前記後方参照Ｐフレームに対する前記対象ブロックの逆方向の動きを示す逆方向動きベクトルとを線形予測する動きベクトル線形予測部と、前記順方向動きベクトルを補正するための順方向差分ベクトルと、前記逆方向動きベクトルを補正するための逆方向差分ベクトルとをそれぞれ独立に探索する差分ベクトル探索部と、前記順方向差分ベクトルにより補正された前記順方向動きベクトルと、前記逆方向差分ベクトルにより補正された前記逆方向動きベクトルとを用いて、前記対象ブロックの動き補償予測を行う動き補償予測部とを含む。
【００１３】
本発明のさらに別の態様は、復号装置である。この装置は、動画像のフレームが符号化された動画像ストリームをＭＰＥＧ規格もしくはＨ．２６４／ＡＶＣ規格に準拠して復号する復号装置であって、復号対象Ｂフレームの対象ブロックと対応する位置にある後方参照Ｐフレームのブロックの動きベクトルを利用して、前方参照Ｐフレームに対する前記対象ブロックの順方向の動きを示す順方向動きベクトルと、前記後方参照Ｐフレームに対する前記対象ブロックの逆方向の動きを示す逆方向動きベクトルとを線形予測する動きベクトル線形予測部と、前記順方向動きベクトルを補正するための順方向差分ベクトルと、前記逆方向動きベクトルを補正するための逆方向差分ベクトルとを前記動画像ストリームから取得し、前記順方向差分ベクトルを前記順方向動きベクトルに合成し、前記逆方向差分ベクトルを前記逆方向動きベクトルに合成する差分ベクトル合成部と、前記順方向差分ベクトルにより補正された前記順方向動きベクトルと、前記逆方向差分ベクトルにより補正された前記逆方向動きベクトルとを用いて、前記対象ブロックの動き補償予測を行う動き補償予測部とを含む。
【００１４】
本発明のさらに別の態様は、符号化方法である。この方法は、ＭＰＥＧ規格もしくはＨ．２６４／ＡＶＣ規格のダイレクトモードにより動画像の符号化対象フレームを双方向予測符号化する際に、後方参照フレームの動きベクトルにもとづいて線形予測された順方向動きベクトルと逆方向動きベクトルのそれぞれを独立に補正するための順方向差分ベクトルと逆方向差分ベクトルを求め、前記順方向差分ベクトルにより補正された前記順方向動きベクトルと、前記逆方向差分ベクトルにより補正された前記逆方向動きベクトルとを用いて、前記対象ブロックの動き補償予測を行う。
【００１５】
本発明のさらに別の態様は、復号方法である。この方法は、ＭＰＥＧ規格もしくはＨ．２６４／ＡＶＣ規格のダイレクトモードにより動画像の符号化フレームを双方向予測により復号する際に、後方参照フレームの動きベクトルにもとづいて線形予測された順方向動きベクトルと逆方向動きベクトルのそれぞれを独立に補正するための順方向差分ベクトルと逆方向差分ベクトルを前記符号化ストリームから取得し、取得した前記順方向差分ベクトルと前記逆方向差分ベクトルをそれぞれ順方向動きベクトルと逆方向動きベクトルに合成することで補正し、補正された前記順方向動きベクトルと補正された前記逆方向動きベクトルとを用いて、前記対象ブロックの動き補償予測を行う。
【００１６】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１７】
本発明によれば、動画像の符号化効率を向上し、また、高い精度の動き予測を行うことできる。
【発明を実施するための最良の形態】
【００１８】
図１は、実施の形態に係る符号化装置１００の構成図である。これらの構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされた画像符号化機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【００１９】
本実施の形態の符号化装置１００は、国際標準化機関であるＩＳＯ（International Organization for Standardization）／ＩＥＣ（International Electrotechnical Commission）によって標準化されたＭＰＥＧ（Moving Picture Experts Group）シリーズの規格（ＭＰＥＧ−１、ＭＰＥＧ−２およびＭＰＥＧ−４）、電気通信に関する国際標準機関であるＩＴＵ−Ｔ（International Telecommunication Union-Telecommunication Standardization Sector）によって標準化されたＨ．２６ｘシリーズの規格（Ｈ．２６１、Ｈ．２６２およびＨ．２６３）、もしくは両方の標準化機関によって合同で標準化された最新の動画像圧縮符号化標準規格であるＨ．２６４／ＡＶＣ（両機関における正式勧告名はそれぞれMPEG-4 Part 10: Advanced Video CodingとH.264）に準拠して動画像の符号化を行う。
【００２０】
ＭＰＥＧシリーズの規格では、フレーム内符号化を行う画像フレームをＩ（Intra）フレーム、過去のフレームを参照画像として順方向のフレーム間予測符号化を行う画像フレームをＰ（Predictive）フレーム、過去と未来のフレームを参照画像として双方向のフレーム間予測符号化を行う画像フレームをＢフレームという。
【００２１】
一方、Ｈ．２６４／ＡＶＣでは、参照画像として利用できるフレームは、時間の先後を問わず、過去の２枚のフレームを参照画像としてもよく、未来の２枚のフレームを参照画像としてもよい。また、参照画像として利用できるフレームの枚数も問わず、３枚以上のフレームを参照画像として用いることもできる。したがって、ＭＰＥＧ−１／２／４では、Ｂフレームは双方向予測（Bi-directional prediction）フレームのことを指していたが、Ｈ．２６４／ＡＶＣでは、Ｂフレームは、参照画像の時間の先後は問わないため、双予測（Bi-predictive prediction）フレームのことを指すことに留意する。
【００２２】
なお、本願明細書では、フレームとピクチャを同じ意味で用いており、Ｉフレーム、Ｐフレーム、Ｂフレームは、それぞれＩピクチャ、Ｐピクチャ、Ｂピクチャとも呼ばれている。
【００２３】
符号化装置１００は、フレーム単位で動画像の入力を受け取り、動画像を符号化し、符号化ストリームを出力する。
【００２４】
ブロック生成部１０は、入力された画像フレームをマクロブロックに分割する。画像フレームの左上から右下方向の順にマクロブロックが形成される。ブロック生成部１０は生成したマクロブロックを差分器１２と動き補償部６０に供給する。
【００２５】
差分器１２は、ブロック生成部１０から供給される画像フレームがＩフレームであれば、そのままＤＣＴ部２０に出力するが、ＰフレームまたはＢフレームであれば、動き補償部６０から供給される予測画像との差分を計算してＤＣＴ部２０に供給する。
【００２６】
動き補償部６０は、フレームバッファ８０に格納されている過去または未来の画像フレームを参照画像として利用し、ブロック生成部１０から入力されたＰフレームまたはＢフレームのマクロブロック毎に動き補償を行い、動きベクトルと予測画像を生成する。動き補償部６０は、生成した動きベクトルを可変長符号化部９０に供給し、予測画像を差分器１２と加算器１４に供給する。
【００２７】
差分器１２は、ブロック生成部１０から出力される現在の画像と、動き補償部６０から出力される予測画像との差分を求め、ＤＣＴ部２０に出力する。ＤＣＴ部２０は、差分器１２から与えられた差分画像を離散コサイン変換（ＤＣＴ）し、ＤＣＴ係数を量子化部３０に与える。
【００２８】
量子化部３０は、ＤＣＴ係数を量子化し、可変長符号化部９０に与える。可変長符号化部９０は、動き補償部６０から与えられた動きベクトルとともに差分画像の量子化されたＤＣＴ係数を可変長符号化し、符号化ストリームを生成する。可変長符号化部９０は、符号化ストリームを生成する際、符号化されたフレームを時間順序に並べ替える処理を行う。
【００２９】
量子化部３０は、画像フレームの量子化されたＤＣＴ係数を逆量子化部４０に供給する。逆量子化部４０は、与えられた量子化データを逆量子化し、逆ＤＣＴ部５０に与え、逆ＤＣＴ部５０は、与えられた逆量子化データを逆離散コサイン変換する。これにより、符号化された画像フレームが復元される。復元された画像フレームは加算器１４に入力される。
【００３０】
加算器１４は、逆ＤＣＴ部５０から供給される画像フレームがＩフレームであれば、そのままフレームバッファ８０に格納する。加算器１４は、逆ＤＣＴ部５０から供給される画像フレームがＰフレームまたはＢフレームであれば、それは差分画像であるため、逆ＤＣＴ部５０から供給された差分画像と動き補償部６０から供給される予測画像とを加算することにより、元の画像フレームを再構成し、フレームバッファ８０に格納する。
【００３１】
ＰフレームもしくはＢフレームの符号化処理の場合は、上述のように動き補償部６０が動作するが、Ｉフレームの符号化処理の場合は、動き補償部６０は動作せず、ここでは図示しないが、フレーム内予測が行われる。
【００３２】
動き補償部６０は、Ｂフレームの動き補償をする際、改良ダイレクトモードで動作する。ＭＰＥＧ−４やＨ．２６４／ＡＶＣの規格には、Ｂフレームの動き補償にダイレクトモードがあるが、改良ダイレクトモードはこのダイレクトモードを改良したものである。
【００３３】
まず、比較のために通常のダイレクトモードを説明し、その後、本実施の形態の改良ダイレクトモードを説明する。
【００３４】
図２は、通常のダイレクトモードによる動き補償の手順を説明する図である。ダイレクトモードでは、線形動きモデルにしたがって、一つの動きベクトルを順方向、逆方向に線形補間することで双方向予測の効果をもたせる。
【００３５】
同図は左から右を時間の流れとして、４枚のフレームを表示時間順に図示しており、Ｐフレーム２０１、Ｂフレーム２０２、Ｂフレーム２０３、Ｐフレーム２０４の順に表示がなされる。符号化の順序はこの表示順序とは異なり、まず同図の１番目のＰフレーム２０１が符号化され、次に、４番目のＰフレーム２０４が、１番目のＰフレーム２０１を参照画像として動き補償が行われて符号化される。その後、Ｂフレーム２０２、Ｂフレーム２０３が、前後の２枚のＰフレーム２０１、２０４を参照画像として動き補償が行われて符号化される。なお、同図の１番目のＰフレームはＩフレームであってもよい。また、同図の４番目のＰフレームはＩフレームであってもよい。その際、Ｉフレーム内の対応するブロックにおける動きベクトルは（０，０）として扱われる。
【００３６】
今、２枚のＰフレーム２０１、２０４の符号化が完了し、Ｂフレーム２０３を符号化する段階であるとする。このＢフレーム２０３を対象Ｂフレームと呼び、対象Ｂフレームより後に表示されるＰフレーム２０４を後方参照Ｐフレーム、対象Ｂフレームより前に表示されるＰフレーム２０１を前方参照Ｐフレームと呼ぶ。
【００３７】
双方向予測モードでは、対象Ｂフレーム２０３を前方参照Ｐフレーム２０１、後方参照Ｐフレーム２０４の２枚のフレームによって双方向に予測して、前方参照Ｐフレーム２０１に対する動きを示す順方向動きベクトルＭＶＦと、後方参照Ｐフレーム２０４に対する動きを示す逆方向動きベクトルＭＶＢをそれぞれ独立に求め、２つの動きベクトルを生成する。それに対して、ダイレクトモードでは、対象Ｂフレーム２０３を前方参照Ｐフレーム２０１、後方参照Ｐフレーム２０４の２枚のフレームによって双方向に予測する点は同じであるが、生成する動きベクトルは１つであり、１つの動きベクトルから順方向、逆方向の動きベクトルを線形予測する点が異なる。
【００３８】
ダイレクトモードでは、対象Ｂフレーム２０３の対象マクロブロック２１３と空間的な位置が一致する後方参照Ｐフレーム２０４の参照マクロブロック２１４について既に求められた動きベクトル（符号２２４）が、対象Ｂフレーム２０３の対象マクロブロック２１３の動きベクトルＭＶ（符号２２３）であると想定する。そして、この動きベクトルＭＶを、次式のようにフレーム間の時間間隔の比で内分することにより、対象Ｂフレーム２０３の対象マクロブロック２１３の順方向動きベクトルＭＶＦと、逆方向動きベクトルＭＶＢを求める。
【００３９】
ＭＶＦ＝（ＴＲＢ×ＭＶ）／ＴＲＤ
ＭＶＢ＝（ＴＲＢ−ＴＲＤ）×ＭＶ／ＴＲＤ
【００４０】
ＴＲＢは、前方参照Ｐフレーム２０１から対象Ｂフレーム２０３までの時間間隔であり、ＴＲＤは、前方参照Ｐフレーム２０１から後方参照Ｐフレーム２０４までの時間間隔である。
【００４１】
ダイレクトモードは、動きの速度が一定であるという線形動きモデルにもとづくものであるが、実際は動きの速度が一定であるとは限らないため、対象マクロブロック２１３の線形予測された移動位置と実際の移動位置との差分ベクトルΔＶを用いて、順方向動きベクトルＭＶＦと、逆方向動きベクトルＭＶＢを次式のように補正する。
【００４２】
ＭＶＦ’＝（ＴＲＢ×ＭＶ）／ＴＲＤ＋ΔＶ
ＭＶＢ’＝（ＴＲＢ−ＴＲＤ）×ＭＶ／ＴＲＤ−ΔＶ
【００４３】
同図では、２次元画像を１次元的に図示しているが、動きベクトルが画像の水平方向と垂直方向の２次元成分をもつのに対応して、差分ベクトルΔＶも水平方向と垂直方向の２次元成分をもつ。
【００４４】
ダイレクトモードでは、順方向動きベクトルＭＶＦ’と、逆方向動きベクトルＭＶＢ’で共通の差分ベクトルΔＶを用いている。したがって、逆方向動きベクトルＭＶＢ’による後方参照Ｐフレーム２０４の参照位置から順方向動きベクトルＭＶＦ’による前方参照Ｐフレーム２０１の参照位置への動きを示す動きベクトル（符号２２５）は、後方参照Ｐフレーム２０４の参照マクロブロック２１４の動きベクトル（符号２２４）すなわち対象Ｂフレーム２０３の対象マクロブロック２１３の想定された動きベクトルＭＶ（符号２２３）と平行であり、動きベクトルの傾きに変化がないことに留意する。
【００４５】
ダイレクトモードでは、共通の差分ベクトルΔＶにより補正された順方向動きベクトルＭＶＦ’と逆方向動きベクトルＭＶＢ’を用いて対象マクロブロック２１３を動き補償し、予測画像を生成する。ダイレクトモードの動きベクトル情報は、動きベクトルＭＶと差分ベクトルΔＶである。双方向予測と比べると、双方向予測の動きベクトル情報は、順方向動きベクトルＭＶＦと逆方向動きベクトルＭＶＢという互いに独立した２つのベクトルである。
【００４６】
動きベクトルの符号量を考えた場合、双方向予測では、順方向と逆方向で独立した動きベクトルを検出するため、参照画像との差分誤差は小さくなるが、２つの独立した動きベクトルの情報を符号化するため、動きベクトル情報の符号量が多くなる。最近の高画質の圧縮符号化では、１／４画素精度での動きベクトルの探索が行われることが多く、動きベクトル情報の符号量が一層増大することになる。
【００４７】
一方、ダイレクトモードでは、後方参照Ｐフレーム２０４の動きベクトルを利用して順方向と逆方向の動きベクトルを線形予測するため、動きベクトルの符号化は不要であり、差分ベクトルΔＶの情報だけを符号化すればよい。しかも、差分ベクトルΔＶは、実際の動きが線形動きに近いほど小さい値になる。線形動きモデルで近似できる場合は、差分ベクトルΔＶの符号量は十分に小さい。
【００４８】
しかしながら、図２で説明したように、逆方向動きベクトルＭＶＢ’による後方参照Ｐフレーム２０４の参照位置から順方向動きベクトルＭＶＦ’による前方参照Ｐフレーム２０１の参照位置への動きを示す動きベクトル（符号２２５）は、対象Ｂフレーム２０３の対象マクロブロック２１３の想定された動きベクトルＭＶ（符号２２３）の傾きと同じであるため、線形動きモデルの近似から外れると、前方参照Ｐフレーム２０１、後方参照Ｐフレーム２０４との差分誤差が大きくなり、符号量が増えてしまう。ダイレクトモードは、双方向予測画像であるＢフレーム２０３と後方参照画像であるＰフレーム２０４の間に相関がある場合に、符号化効率が高いが、そうでない場合は、差分誤差により符号化効率が悪くなる傾向がある。
【００４９】
このように、ダイレクトモードは、双方向予測モードに比べて符号化効率の面では優れているものの、線形動きモデルの近似からずれた場合の差分誤差による影響によって符号量が大きくなることがあり、改良の余地があることを本出願人は認識するに至った。以下、ダイレクトモードを改良した「改良ダイレクトモード」を説明する。
【００５０】
図３は、動き補償部６０の構成を説明する図である。図４も合わせて参照しながら、動き補償部６０により改良ダイレクトモードを実行する手順を説明する。図４は、通常のダイレクトモードによる動き補償を説明した図２と同符号を用いて、改良ダイレクトモードによる動き補償を説明した図であり、図２と共通する説明は省略する。
【００５１】
動き補償部６０は、後方参照Ｐフレーム２０４の動き補償を行ったときに、後方参照Ｐフレーム２０４の各マクロブロックの動きベクトルを検出しており、既に検出した後方参照Ｐフレーム２０４の動きベクトル情報を動きベクトル保持部６１に保持する。
【００５２】
動きベクトル線形予測部６４は、後方参照Ｐフレーム２０４の動きベクトルの情報を動きベクトル保持部６１から参照して、対象Ｂフレーム２０３の対象マクロブロック２１３と空間的な位置が一致する後方参照Ｐフレーム２０４の参照マクロブロック２１４の動きベクトル（符号２２４）を取得し、それを対象Ｂフレーム２０３の対象マクロブロック２１３の動きベクトルＭＶ（符号２２３）と想定する。
【００５３】
動きベクトル線形予測部６４は、ダイレクトモードと同様に、対象Ｂフレーム２０３の対象マクロブロック２１３の想定された動きベクトルＭＶから対象Ｂフレーム２０３の対象マクロブロック２１３の順方向動きベクトルＭＶＦと逆方向動きベクトルＭＶＢを線形予測する。
【００５４】
後方参照Ｐフレーム２０４の参照マクロブロック２１４の動きベクトルＭＶは、後方参照Ｐフレーム２０４と前方参照Ｐフレーム２０１の時間差ＴＲＤの間に、参照マクロブロック２１４が動く量と方向を示すものであるから、線形動きモデルにしたがえば、対象Ｂフレーム２０３の対象マクロブロック２１３は、対象Ｂフレーム２０３と前方参照Ｐフレーム２０１の時間差ＴＲＢの間に、ＭＶ×（ＴＲＢ／ＴＲＤ）の動きを示すことが予測される。したがって、動きベクトル線形予測部６４は、順方向動きベクトルＭＶＦを次式により求める。
ＭＶＦ＝（ＴＲＢ×ＭＶ）／ＴＲＤ
【００５５】
同様に、対象Ｂフレーム２０３の対象マクロブロック２１３は、対象Ｂフレーム２０３と後方参照Ｐフレーム２０４の時間差（ＴＲＤ−ＴＲＢ）の間に、−ＭＶ×（ＴＲＤ−ＴＲＢ）／ＴＲＤの動きを示すことが予測される。したがって、動きベクトル線形予測部６４は、逆方向動きベクトルＭＶＢを次式により求める。
ＭＶＢ＝（ＴＲＢ−ＴＲＤ）×ＭＶ／ＴＲＤ
【００５６】
動きベクトル線形予測部６４は、求めた順方向動きベクトルＭＶＦと逆方向動きベクトルＭＶＢを差分ベクトル探索部６６に与える。
【００５７】
次に、差分ベクトル探索部６６は、動きベクトル線形予測部６４により求めた順方向動きベクトルＭＶＦを補正するための差分ベクトルΔＶ１と、逆方向動きベクトルＭＶＢを補正するための差分ベクトルΔＶ２とをそれぞれ独立に求める。
【００５８】
対象Ｂフレーム２０３の対象マクロブロック２１３の実際の動きは、後方参照Ｐフレーム２０４の参照マクロブロック２１４の動きから線形予測したものからずれるため、差分ベクトル探索部６６は、対象マクロブロック２１３の順方向の実際の動きと、逆方向の実際の動きを探索する。
【００５９】
差分ベクトル探索部６６は、順方向動きベクトルＭＶＦにより線形予測された対象マクロブロック２１３の順方向の予測マクロブロックと実際の順方向の移動位置との差分を示す順方向差分ベクトルΔＶ１を求める。同様に、差分ベクトル探索部６６は、逆方向動きベクトルＭＶＢにより線形予測された対象マクロブロック２１３の逆方向の予測マクロブロックと実際の逆方向の移動位置との差分を示す逆方向差分ベクトルΔＶ２を求める。
【００６０】
差分ベクトル探索部６６は、次式のように、順方向差分ベクトルΔＶ１により順方向動きベクトルＭＶＦを補正し、逆方向差分ベクトルΔＶ２により逆方向動きベクトルＭＶＢを補正する。差分ベクトル探索部６６は、補正後の順方向動きベクトルＭＶＦ’と逆方向動きベクトルＭＶＢ’を動き補償予測部６８に与える。
ＭＶＦ’＝（ＴＲＢ×ＭＶ）／ＴＲＤ＋ΔＶ１
ＭＶＢ’＝（ＴＲＢ−ＴＲＤ）×ＭＶ／ＴＲＤ−ΔＶ２
【００６１】
動き補償予測部６８は、順方向差分ベクトルΔＶ１と逆方向差分ベクトルΔＶ２によりそれぞれ補正された順方向動きベクトルＭＶＦ’と逆方向動きベクトルＭＶＢ’を用いて対象マクロブロック２１３を動き補償して、予測画像を生成し、差分器１２と加算器１４に出力する。
【００６２】
改良ダイレクトモードの動きベクトル情報は、動きベクトルＭＶ、順方向差分ベクトルΔＶ１と逆方向差分ベクトルΔＶ２であり、そのうち、符号化される順方向差分ベクトルΔＶ１と逆方向差分ベクトルΔＶ２は、差分ベクトル探索部６６から可変長符号化部９０に出力される。
【００６３】
図４に示すように、改良ダイレクトモードでは、順方向動きベクトルＭＶＦを補正するための順方向差分ベクトルΔＶ１と、逆方向動きベクトルＭＶＢを補正するための逆方向差分ベクトルΔＶ２とを独立に定めるため、補正された逆方向動きベクトルＭＶＢ’による後方参照Ｐフレーム２０４の参照位置から、補正された順方向動きベクトルＭＶＦ’による前方参照Ｐフレーム２０１の参照位置への動きを示す動きベクトル（符号２２５）を、対象Ｂフレーム２０３の対象マクロブロック２１３の想定された動きベクトルＭＶ（符号２２３）の傾きとは異ならせることができる。したがって、改良ダイレクトモードでは、線形動きモデルの近似からずれても、順方向動きベクトルＭＶＦと逆方向動きベクトルＭＶＢを独立に補正して、前方参照Ｐフレーム２０１、後方参照Ｐフレーム２０４との差分誤差が大きくなるのを避けることができる。
【００６４】
このように、本実施の形態の符号化装置１００による改良ダイレクトモードでは、通常のダイレクトモードで利用する後方参照Ｐフレーム２０４の動きベクトルＭＶに対し、２つの差分ベクトルΔＶ１、ΔＶ２をもたせる。このため、通常のダイレクトモードに比べて、動きベクトル情報が差分ベクトル１つ分だけ増えることになるが、２つの差分ベクトルを用いたことで参照画像との差分誤差は少なくなるため、全体の符号量は少なくすることができる。
【００６５】
また、双方向予測モードと比べても、改良ダイレクトモードでは、参照画像との差分誤差による符号量は理論上は同じになるが、動きベクトル情報の符号量は同等かそれ以下になる。双方向予測では、動きベクトル情報は、順方向および逆方向の独立した２つの動きベクトルであるが、改良ダイレクトモードでは、動きベクトル情報は、後方参照フレームの動きベクトルと２つの差分ベクトルである。改良ダイレクトモードでは、双方向予測画像と後方参照画像との間に強い相関がある場合には、線形動きモデルの近似精度が高くなり、２つの差分ベクトルは小さい値になる。
【００６６】
また、画像の解像度が高くなるほど、動きベクトルの大きさが大きくなるため、符号全体に占める動きベクトル情報の符号量の割合が高くなる。したがって、改良ダイレクトモードの動きベクトル情報の符号量が少ないことの効果が大きくなり、他のモードと比較して符号化効率が一層向上する。
【００６７】
また、符号化された動画の画質の面から見れば、本実施の形態の符号化装置１００によれば、対象Ｂフレームの順方向動きベクトルＭＶＦと逆方向動きベクトルＭＶＢをそれぞれ独立に前方差分ベクトルΔＶ１、後方差分ベクトルΔＶ２により補正するため、精度の高い動き補償を行うことができ、画質を高めることができる。対象Ｂフレームと後方参照Ｐフレームとが相関が高い、すなわち、時間軸方向の変化を見た場合の線形性が高い場合は、線形動きモデルが有効に働くが、時間線形性から多少ずれていても、順方向動きベクトルＭＶＦと逆方向動きベクトルＭＶＢをそれぞれ独立に補正することにより、精度を高めることができ、時間線形性からのずれによる画質の劣化を防ぐことができる。
【００６８】
図５は、実施の形態に係る復号装置３００の構成図である。これらの機能ブロックもハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現することができる。
【００６９】
復号装置３００は、符号化ストリームの入力を受け取り、符号化ストリームを復号して出力画像を生成する。
【００７０】
可変長復号部３１０は、入力された符号化ストリームを可変長復号し、復号された画像データを逆量子化部３２０に供給し、動きベクトル情報を動き補償部３６０に供給する。
【００７１】
逆量子化部３２０は、可変長復号部３１０により復号された画像データを逆量子化し、逆ＤＣＴ部３３０に供給する。逆量子化部３２０により逆量子化された画像データはＤＣＴ係数である。逆ＤＣＴ部３３０は、逆量子化部３２０により逆量子化されたＤＣＴ係数を逆離散コサイン変換（ＩＤＣＴ）することにより、元の画像データを復元する。逆ＤＣＴ部３３０により復元された画像データは、加算器３１２に供給される。
【００７２】
加算器３１２は、逆ＤＣＴ部３３０から供給された画像データが、Ｉフレームである場合、そのＩフレームの画像データをそのまま出力するとともに、ＰフレームやＢフレームの予測画像を生成するための参照画像として、フレームバッファ３８０に格納する。
【００７３】
加算器３１２は、逆ＤＣＴ部３３０から供給された画像データが、Ｐフレームである場合、その画像データは差分画像であるから、逆ＤＣＴ部３３０から供給された差分画像と動き補償部３６０から供給される予測画像を加算することにより、元の画像データを復元し、出力する。
【００７４】
動き補償部３６０は、可変長復号部３１０から供給される動きベクトル情報と、フレームバッファ３８０に格納された参照画像を用いて、ＰフレームまたはＢフレームの予測画像を生成し、加算器３１２に供給する。改良ダイレクトモードで符号化されたＢフレームを復号するための動き補償部３６０の構成と動作を説明する。
【００７５】
図６は、動き補償部３６０の構成図である。動き補償部３６０は、後方参照Ｐフレームの動き補償を行ったときに、後方参照Ｐフレームの各マクロブロックの動きベクトルを検出しており、既に検出した後方参照Ｐフレームの動きベクトル情報を動きベクトル保持部３６１に保持する。
【００７６】
動きベクトル取得部３６２は、可変長復号部３１０から動きベクトル情報を取得する。この動きベクトル情報には、前方差分ベクトルΔＶ１と後方差分ベクトルΔＶ２が含まれている。動きベクトル取得部３６２は、２つの差分ベクトルΔＶ１、ΔＶ２を差分ベクトル合成部３６６に与える。
【００７７】
動きベクトル線形予測部３６４は、後方参照Ｐフレームの動きベクトルの情報を動きベクトル保持部３６１から参照して、対象Ｂフレームの対象マクロブロックと空間的な位置が一致する後方参照Ｐフレームの参照マクロブロックの動きベクトルを取得し、それを対象Ｂフレームの対象マクロブロックの動きベクトルＭＶと想定する。
【００７８】
動きベクトル線形予測部３６４は、動きベクトルＭＶを線形補間することにより、対象Ｂフレームのマクロブロックの順方向動きベクトルＭＶＦと逆方向動きベクトルＭＶＢを線形予測する。
【００７９】
差分ベクトル合成部３６６は、線形予測された順方向動きベクトルＭＶＦに前方差分ベクトルΔＶ１を合成することにより、補正後の順方向動きベクトルＭＶＦ’を生成する。同様に、差分ベクトル合成部３６６は、線形予測された逆方向動きベクトルＭＶＢに後方差分ベクトルΔＶ２を合成することにより、補正後の逆方向動きベクトルＭＶＢ’を生成する。差分ベクトル合成部３６６は、補正後の順方向動きベクトルＭＶＦ’と逆方向動きベクトルＭＶＢ’を動き補償予測部３６８に与える。
【００８０】
動き補償予測部３６８は、補正後の順方向動きベクトルＭＶＦ’と逆方向動きベクトルＭＶＢ’を用いて、Ｂフレームの予測画像を生成して加算器３１２に出力する。
【００８１】
本実施の形態の復号装置３００によれば、対象Ｂフレームの順方向動きベクトルＭＶＦと逆方向動きベクトルＭＶＢをそれぞれ独立に前方差分ベクトルΔＶ１、後方差分ベクトルΔＶ２により補正することにより、動き補償の精度を高め、高画質で動画を再生することができる。
【００８２】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００８３】
上記の説明では、表示時間の前後のＰフレームを用いた双方向予測によりＢフレームを動き補償する場合のダイレクトモードを改良した改良ダイレクトモードを説明したが、本実施の形態の符号化装置１００の動き補償部６０による改良ダイレクトモードは、必ずしも時間前後の参照画像を用いる場合に限定されない。過去の２枚のＰフレーム、未来の２枚のＰフレームを用いた線形予測において、同様に、２つの差分ベクトルを用いて補正を行うようにしてもよい。
【００８４】
また、上記の説明では、対象Ｂフレームの対象マクロブロックと同一位置にある後方参照Ｐフレーム２０４の参照マクロブロックの動きベクトルを利用して線形予測を行ったが、対象マクロブロックと参照マクロブロックが、必ずしも画像上で同一位置になくてもよい。たとえば、画面のスクロールなどにより、画素の位置が変わることもあるため、対象マクロブロックと参照マクロブロックが画像上の位置は異なっていても、対応関係にあることもある。参照ブロックの動きベクトルを対象マクロブロックの動きベクトルと想定する上で、対象マクロブロックと参照マクロブロックとの間に何らかの対応関係があればよい。
【図面の簡単な説明】
【００８５】
【図１】実施の形態に係る符号化装置の構成図である。
【図２】通常のダイレクトモードによる動き補償の手順を説明する図である。
【図３】図１の動き補償部の構成を説明する図である。
【図４】改良ダイレクトモードによる動き補償の手順を説明する図である。
【図５】実施の形態に係る復号装置の構成図である。
【図６】図５の動き補償部の構成図である。
【符号の説明】
【００８６】
１０  ブロック生成部、  １２  差分器、  １４  加算器、  ２０  ＤＣＴ部、  ３０  量子化部、  ４０  逆量子化部、  ５０  逆ＤＣＴ部、  ６０  動き補償部、  ６１  動きベクトル保持部、  ６４  動きベクトル線形予測部、  ６６  差分ベクトル探索部、  ６８  動き補償予測部、  ８０  フレームバッファ、  ９０  可変長符号化部、  １００  符号化装置、  ２０１  前方参照Ｐフレーム、  ２０３  対象Ｂフレーム、  ２０４  後方参照Ｐフレーム。
【図１】
2006279573.tif 000003
【図２】
2006279573.tif 000004
【図３】
2006279573.tif 000005
【図４】
2006279573.tif 000006
【図５】
2006279573.tif 000007
【図６】
2006279573.tif 000008