(57)【要約】【課題】動きベクトル情報に起因する符号量を削減する。【解決手段】動き補償部６０は、後方参照フレーム内の各マクロブロックについて前方参照フレームを基準とする参照動きベクトルを計算し、動きベクトル保持部６２に格納する。ブロックマッチング部６１は、後方参照フレーム内のマクロブロックとのブロックマッチングによって、符号化対象フレーム内で動き補償予測の対象となるブロックを特定する。動きベクトル計算部６３は、特定された各ブロックに対して、前方参照フレームを基準とした符号化対象動きベクトルを求める。比率計算部６４は、符号化対象動きベクトルの成分と参照動きベクトルの成分との比率を求める。運動モード選択部６６は、前記比率を解析して複数の符号化対象フレーム間における各ブロックの運動状態を推定する運動モードを選択する。運動モードは、可変長符号化部９０に出力されて符号化される。【選択図】図３
2007124614.tif 000002
【特許請求の範囲】
【請求項１】
動画像のピクチャを符号化する方法であって、
複数の符号化対象ピクチャ間における各ブロックの運動状態を推定し、
推定した運動状態を表す運動モードの情報を動画像の符号化データに含めることを特徴とする符号化方法。
【請求項２】
第１の参照ピクチャを基準とした第２の参照ピクチャ内のブロックの動きベクトルである参照動きベクトルが求められている場合に、
符号化対象ピクチャ内のブロックに対して、第１の参照ピクチャを基準とした動きベクトルである符号化対象動きベクトルを求め、
複数の符号化対象ピクチャのそれぞれについて、前記符号化対象動きベクトルの成分と前記参照動きベクトルの成分との比率を求め、
前記比率を参照して、各ブロックの運動状態を推定することを特徴とする請求項１に記載の符号化方法。
【請求項３】
前記第２の参照ピクチャ内のブロックとのマッチングによって、複数の符号化対象ピクチャ内で動き補償予測の対象となるブロックをそれぞれ特定し、
特定されたブロックについて、前記符号化対象動きベクトルを求めることを特徴とする請求項２に記載の符号化方法。
【請求項４】
隣接する符号化対象ピクチャで求められた比率の差分を取ることによって、ブロックの運動状態を推定することを特徴とする請求項２または３に記載の符号化方法。
【請求項５】
前記運動モードにしたがって前記参照動きベクトルから前記符号化対象動きベクトルを求めるための係数を求め、該係数の情報を動画像の符号化データに含めることを特徴とする請求項２ないし４のいずれかに記載の符号化方法。
【請求項６】
前記運動モードには、符号化対象ピクチャ間でブロックが等速度運動すると推定される等速度運動モードが含まれ、
前記係数は、前記第１の参照ピクチャと前記符号化対象ピクチャ間の時間間隔に基づいて決定されることを特徴とする請求項５に記載の符号化方法。
【請求項７】
前記運動モードには、符号化対象ピクチャ間でブロックが等加速度運動すると推定される等加速度運動モードが含まれ、
前記係数は、前記第１の参照ピクチャと前記符号化対象ピクチャ間の時間間隔に基づいて決定されることを特徴とする請求項５に記載の符号化方法。
【請求項８】
前記係数を符号化する際、予め可変長符号が割り当てられている複数の定数のうち前記係数に最も近い定数を選択し、選択された定数に割り当てられている符号を動画像の符号化データに含めることを特徴とする請求項５に記載の符号化方法。
【請求項９】
前記符号化対象動きベクトルと、前記参照動きベクトルに前記係数を乗じて得られるベクトルとの誤差を表す調整ベクトルを求め、該調整ベクトルの情報を動画像の符号化データに含めることを特徴とする請求項５ないし８のいずれかに記載の符号化方法。
【請求項１０】
前記運動モードの情報は複数のピクチャに対してひとつ符号化され、前記係数と前記調整ベクトルの情報は前記符号化対象動きベクトル毎に符号化されることを特徴とする請求項１ないし９のいずれかに記載の符号化方法。
【請求項１１】
動画像のピクチャを符号化する方法であって、
複数の符号化対象ピクチャ間においてピクチャ単位でまたは複数のピクチャ単位で運動状態を推定し、
推定した運動状態を表す運動モードの情報を動画像の符号化データに含めることを特徴とする符号化方法。
【請求項１２】
動画像のピクチャに再帰的に動き補償時間フィルタリングを実施してフレームレートの異なる複数の階層を求める符号化方法において、
階層内に含まれる複数の符号化対象画像間の運動状態を推定し、
推定した運動状態を表す運動モードの情報を動画像の符号化データに含めることを特徴とする符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を符号化する符号化方法に関する。
【背景技術】
【０００２】
ブロードバンドネットワークが急速に発展しており、高品質な動画像を利用したサービスに期待が集まっている。また、ＤＶＤなど大容量の記録媒体が利用されており、高画質の画像を楽しむユーザ層が広がっている。動画像を通信回線で伝送したり、記録媒体に蓄積するために不可欠な技術として圧縮符号化がある。動画像圧縮符号化技術の国際標準として、ＭＰＥＧ４の規格やＨ．２６４／ＡＶＣ規格がある。また、ひとつのストリームにおいて高画質のストリームと低画質のストリームを併せもつＳＶＣ（Scalable Video Coding）のような次世代画像圧縮技術がある。
【０００３】
高解像度の動画像をストリーム配信したり、記録媒体に蓄積する場合、通信帯域を圧迫しないように、あるいは、記憶容量が大きくならないように、動画ストリームの圧縮率を高める必要がある。動画像の圧縮効果を高めるために、動き補償フレーム間予測符号化が行われる。動き補償フレーム間予測符号化では、符号化対象フレームをブロックに分割し、既に符号化された参照フレームからの動きをブロック毎に予測して動きベクトルを検出し、差分画像とともに動きベクトル情報を符号化する。
【０００４】
特許文献１には、残差動きベクトルと残りフレーム数より予想される予測動きベクトルがフレーム間の動きベクトルの近傍に存在する場合、フレーム間の動きベクトルの近傍にある予測動きベクトルを動きベクトルとし、予測動きベクトルがフレーム間の動きベクトルの近傍に存在しないときは、フレーム間の動きベクトルを動きベクトルとする、動き補償予測符号化方式が記載されている。
【特許文献１】特開平２−２１９３９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
Ｈ．２６４／ＡＶＣ規格では、動き補償において、よりきめ細かな予測を行うために、動き補償のブロックサイズを可変にしたり、動き補償の画素精度を１／４画素精度まで細かくすることができるようになっており、動きベクトルに関する符号量が多くなる。また、次世代画像圧縮技術であるＳＶＣでは、時間的スケーラビリティを高めるために、ＭＣＴＦ（Motion Compensated Temporal Filtering、動き補償時間方向フィルタ）技術が検討されている。これは、時間軸方向のサブバンド分割に動き補償を組み合わせたものであり、階層的な動き補償を行うため、動きベクトルの情報が非常に多くなる。このように最近の動画圧縮符号化技術では、動きベクトルに関する情報量が増えることにより動画ストリーム全体のデータ量が増大する傾向にあり、動きベクトル情報に起因する符号量を削減する技術が一層求められている。
【０００６】
本発明はこうした状況に鑑みてなされたもので、その目的は、符号化効率が高い動画像の符号化技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は、動画像のピクチャを符号化する方法である。この方法は、複数の符号化対象ピクチャ間における各ブロックの運動状態を推定し、推定した運動状態を表す運動モードの情報を動画像の符号化データに含めることを特徴とする。
【０００８】
「ピクチャ」は符号化の単位であり、その概念にはフレーム、フィールド、ＶＯＰ（Video Object Plane）などを含む。また、符号化対象ピクチャ内の「ブロック」は、マクロブロックやオブジェクトなど一定の範囲に含まれる複数の画素からなり、動き補償予測時のマッチング対象となりうるものをいう。
【０００９】
この態様によると、符号化対象ピクチャ内のブロックの運動状態を推定した運動モードを符号化データに含めるので、運動モードを利用した符号化または復号を実現することができる。
【００１０】
第１の参照ピクチャを基準とした第２の参照ピクチャ内のブロックの動きベクトルである参照動きベクトルが求められている場合に、符号化対象ピクチャ内のブロックに対して、第１の参照ピクチャを基準とした動きベクトルである符号化対象動きベクトルを求め、複数の符号化対象ピクチャについて、符号化対象動きベクトルの成分と参照動きベクトルの成分との比率を求め、この比率を参照して各ブロックの運動状態を推定してもよい。これによると、第２の参照ピクチャの動きベクトルを利用して、符号化対象ピクチャの動きベクトルを表現するとともにブロックの運動状態を推定するようにした。したがって、符号化対象動きベクトルそのものを符号化する必要がなくなるため、動きベクトルデータ全体の符号量が削減でき、動画像の符号化効率を向上させることができる。
【００１１】
なお、「第１の参照ピクチャ」は、一例では実施の形態における「前方参照フレーム」であり、「第２の参照ピクチャ」は、一例では実施の形態における「後方参照フレーム」であるが、第１の参照ピクチャが後方参照フレーム、第２の参照ピクチャが前方参照フレームであってもよい。また、「符号化対象ピクチャ」は一例では実施の形態におけるＢフレームである。
【００１２】
第２の参照ピクチャ内のブロックとのマッチングによって、複数の符号化対象ピクチャ内で動き補償予測の対象となるブロックをそれぞれ特定し、特定されたブロックについて符号化対象動きベクトルを求めるようにしてもよい。
【００１３】
隣接する符号化対象ピクチャで求められた比率の差分を取ることによって、ブロックの運動状態を推定してもよい。これによって、簡単な手法でブロックの運動状態を推定することができる。
【００１４】
運動モードにしたがって参照動きベクトルから符号化対象動きベクトルを求めるための係数を求め、該係数の情報を動画像の符号化データに含めてもよい。
【００１５】
運動モードには、符号化対象ピクチャ間でブロックが等速度運動すると推定される等速度運動モードが含まれ、係数は、第１の参照ピクチャと符号化対象ピクチャ間の時間間隔に基づいて決定されてもよい。これによって、係数を符号化する必要がなくなるため、動きベクトルデータ全体の符号量が削減でき、動画像の符号化効率を向上させることができる。
【００１６】
運動モードには、符号化対象ピクチャ間でブロックが等加速度運動すると推定される等加速度運動モードが含まれ、係数は、第１の参照ピクチャと符号化対象ピクチャ間の時間間隔に基づいて決定されてもよい。この場合も、係数を符号化する必要がなくなり、動きベクトルデータ全体の符号量が削減でき、動画像の符号化効率を向上させることができる。
【００１７】
係数を符号化する際、予め可変長符号が割り当てられている複数の定数のうち係数に最も近い定数を選択し、選択された定数に割り当てられている符号を動画像の符号化データに含めてもよい。これによって、係数そのものを符号化する必要がなく、予め割り当てられている符号のみを動画像の符号化データに含めればよいので、符号化データの符号量を抑えることができる。
【００１８】
符号化対象動きベクトルと、参照動きベクトルに係数を乗じて得られるベクトルとの誤差を表す調整ベクトルを求め、該調整ベクトルの情報を動画像の符号化データに含めてもよい。これによって、上述の定数で係数を近似した場合であっても、調整ベクトルを各マクロブロックについて計算しておけば、誤差は調整ベクトルで吸収されるため、動き補償予測の精度が低下しなくなる。調整ベクトルを符号化する際、その出現頻度に応じた可変長符号を付与してもよい。
【００１９】
また、運動モードの情報は複数のピクチャに対してひとつ符号化され、係数と調整ベクトルの情報は符号化対象動きベクトル毎に符号化されてもよい。
【００２０】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００２１】
本発明によれば、動きベクトルデータの符号量を削減することができる。
【発明を実施するための最良の形態】
【００２２】
図１は、実施の形態に係る符号化装置１００の構成図である。これらの構成は、ハードウェア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウェア的にはメモリにロードされた画像符号化機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【００２３】
本実施の形態の符号化装置１００は、国際標準化機関であるＩＳＯ（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）フレームのことを指すことに留意する。
【００２６】
なお、本願明細書では、フレームとピクチャを同じ意味で用いており、Ｉフレーム、Ｐフレーム、Ｂフレームは、それぞれＩピクチャ、Ｐピクチャ、Ｂピクチャとも呼ばれている。
また、本願明細書では、符号化の単位としてフレームを例に挙げて説明するが、符号化の単位はフィールドであってもよい。また、符号化の単位はＭＰＥＧ−４におけるＶＯＰであってもよい。
【００２７】
符号化装置１００は、フレーム単位で動画像の入力を受け取り、動画像を符号化し、符号化ストリームを出力する。
【００２８】
ブロック生成部１０は、入力された画像フレームをマクロブロックに分割する。画像フレームの左上から右下方向の順にマクロブロックが形成される。ブロック生成部１０は生成したマクロブロックを差分器１２と動き補償部６０に供給する。
【００２９】
差分器１２は、ブロック生成部１０から供給される画像フレームがＩフレームであれば、そのままＤＣＴ部２０に出力するが、ＰフレームまたはＢフレームであれば、動き補償部６０から供給される予測画像との差分を計算してＤＣＴ部２０に供給する。
【００３０】
動き補償部６０は、フレームメモリ８０に格納されている過去または未来の画像フレームを参照画像として利用し、ブロック生成部１０から入力されたＰフレームまたはＢフレームの各マクロブロックについて、誤差の最も小さい予測領域を参照画像から探索し、マクロブロックから予測領域へのずれを示す動きベクトルを求める。動き補償部６０は、動きベクトルを用いてマクロブロック毎に動き補償を行い、予測画像を生成する。動き補償部６０は、生成した動きベクトルを可変長符号化部９０に供給し、予測画像を差分器１２と加算器１４に供給する。
【００３１】
動き補償部６０では、双方向予測と片方向予測のいずれも適用可能である。動き補償部６０は、片方向予測では、前方参照フレームに対する動きを示す順方向動きベクトルを生成する。双方向予測では、順方向動きベクトルに加えて、後方参照フレームに対する動きを示す逆方向動きベクトルの２つの動きベクトルを生成する。
【００３２】
差分器１２は、ブロック生成部１０から出力される現在の画像（つまり、符号化対象の画像）と、動き補償部６０から出力される予測画像との差分を求め、ＤＣＴ部２０に出力する。ＤＣＴ部２０は、差分器１２から与えられた差分画像を離散コサイン変換（ＤＣＴ）し、ＤＣＴ係数を量子化部３０に与える。
【００３３】
量子化部３０は、ＤＣＴ係数を量子化し、可変長符号化部９０に与える。可変長符号化部９０は、動き補償部６０から与えられた動きベクトルとともに差分画像の量子化されたＤＣＴ係数を可変長符号化し、符号化ストリームを生成する。可変長符号化部９０は、符号化ストリームを生成する際、符号化されたフレームを時間順序に並べ替える処理を行う。
【００３４】
量子化部３０は、画像フレームの量子化されたＤＣＴ係数を逆量子化部４０に供給する。逆量子化部４０は、与えられた量子化データを逆量子化し、逆ＤＣＴ部５０に与え、逆ＤＣＴ部５０は、与えられた逆量子化データを逆離散コサイン変換する。これにより、符号化された画像フレームが復元される。復元された画像フレームは加算器１４に入力される。
【００３５】
加算器１４は、逆ＤＣＴ部５０から供給される画像フレームがＩフレームであれば、そのままフレームメモリ８０に格納する。加算器１４は、逆ＤＣＴ部５０から供給される画像フレームがＰフレームまたはＢフレームであれば、それは差分画像であるため、逆ＤＣＴ部５０から供給された差分画像と動き補償部６０から供給される予測画像とを加算することにより、元の画像フレームを再構成し、フレームメモリ８０に格納する。
【００３６】
ＰフレームもしくはＢフレームの符号化処理の場合は、上述のように動き補償部６０が動作するが、Ｉフレームの符号化処理の場合は、動き補償部６０は動作せず、ここでは図示しないが、Ｉフレームはフレーム内予測が行われた後、ＤＣＴ部２０に供給される。
【００３７】
次に、従来の動きベクトルの計算方法について説明し、その後、本発明の一実施形態による動きベクトルの計算方法について説明する。
【００３８】
図２は、従来の動きベクトルの計算を説明する図である。同図は、左から右を時間の流れとして５枚のフレームを表示時間順に示しており、Ｉフレーム２０１、Ｂ１フレーム２０２、Ｂ２フレーム２０３、Ｂ３フレーム２０４、Ｐフレーム２０５の順に表示がなされる。符号化の順序はこの表示順序とは異なり、まず同図のＩフレーム２０１が符号化され、次に５番目のＰフレーム２０５がＩフレーム２０１を参照画像として動き補償が行われて符号化される。その後、Ｂ２フレーム２０３が符号化され、Ｂ１フレーム２０２、Ｂ３フレーム２０４の順に動き補償が行われて符号化される。
【００３９】
Ｐフレームを符号化する際の参照フレームは、時間的に前のＩフレームまたはＰフレームを用いる。また、Ｂフレームを符号化する際の参照フレームは、前のＩフレーム、または時間的に前後のＰフレームを用いる。Ｐフレームの動き補償予測の場合、予測単位は例えば１６×１６のマクロブロックでありひとつの動きベクトルを利用する。また、Ｂフレームは、順方向、逆方向、双方向の予測のうち最適なものを選択して動き補償が行われる。なお、Ｉフレーム２０１はＰフレームであってもよい。また、Ｐフレーム２０５はＩフレームであってもよい。
【００４０】
現時点で、Ｉフレーム２０１、Ｐフレーム２０５の符号化が完了し、Ｂ１〜Ｂ３フレーム２０２〜２０４を符号化する段階であるとする。このＢ１〜Ｂ３フレーム２０２〜２０４を「符号化対象フレーム」と呼び、符号化対象フレームより前に表示されるＩフレーム２０１を「前方参照フレーム」と、符号化対象フレームより後に表示されるＰフレーム２０５を「後方参照フレーム」と呼ぶことにする。また、Ｐフレーム２０５の動きベクトルを「ＭＶＰ」、Ｂ１〜Ｂ３フレームの動きベクトルを「ＭＶＢ１〜ＭＶＢ３」と表記する。
なお、図２では、二次元画像を一次元的に示しているが、実際の動きベクトルは画像の水平方向と垂直方向の二次元成分を持つことに注意する。
【００４１】
図２に示すように、Ｐフレーム２０５内のマクロブロック２１５について、前方参照フレーム２０１のマクロブロック２１１を指し示す動きベクトルＭＶＰ２２５を求める。次に、符号化対象フレーム２０３内のマクロブロック２１３について、前方参照フレーム２０１または後方参照フレーム２０５のいずれかのマクロブロックを指し示す動きベクトルＭＶＢ２２２２を求める。図２では、前方参照フレーム２０１を指した場合を示す。続いて、符号化対象フレーム２０２内のマクロブロック２１２について、前方参照フレーム２０１または後方参照フレーム２０５のいずれかのマクロブロックを指し示す動きベクトルＭＶＢ１２２１を求める。
【００４２】
本実施の形態では、上記のようにして求められた符号化対象フレーム内の各マクロブロックの動きベクトル（以下、「符号化対象動きベクトル」という）をそのまま符号化する代わりに、後方参照フレームまたは前方参照フレームの動きベクトル（以下、「参照動きベクトル」という）に係数を乗じて符号化対象動きベクトルを表現し、参照動きベクトルと係数を符号化するようにした。これによって、動きベクトルデータの符号量を削減することができる。
【００４３】
以下では、既に動きベクトルが検出されている後方参照フレーム２０５の動きベクトルＭＶＰを利用した場合について説明するが、前方参照フレーム２０１の動きベクトルや他の動きベクトルを使用してもよい。
【００４４】
図３は、本実施の形態に係る動き補償部６０の構成を説明する図である。
動き補償部６０は、後方参照フレーム２０５の動き補償を行ったときに、後方参照フレーム２０５の各マクロブロックの動きベクトルＭＶＰを検出しており、既に検出した後方参照フレーム２０５の動きベクトル情報を動きベクトル保持部６２に保持する。
【００４５】
ブロックマッチング部６１は、後方参照フレーム２０５内のマクロブロックとのブロックマッチングによって、符号化対象フレーム２０２〜２０４内で動き補償予測の対象となるマクロブロックを特定する。
【００４６】
符号化対象フレーム内で動き補償予測の対象となるマクロブロックを特定するには、以下の手順で行う。まず、通常のブロックマッチングなどの手法により、符号化対象フレームのマクロブロックの動きベクトル（以下、この項において「通常動きベクトル」という）を求める。続いて、符号化対象フレーム上でこの通常動きベクトルが指している位置を含む一定の範囲を定める。そして、定めた範囲内を通過する、後方参照フレームの動きベクトルを抽出する。複数の動きベクトルが抽出された場合には、先に求めた通常動きベクトルが指している位置に最も近い位置を通過する動きベクトルを選択する。このようにして抽出または選択された動きベクトルが、符号化対象フレームのマクロブロックが参照すべき参照動きベクトルＭＶＰと考えることができる。
【００４７】
動きベクトル計算部６３は、符号化対象フレーム２０２〜２０４内の各マクロブロックについて、前方参照フレーム２０１のマクロブロックを指し示す動きベクトルＭＶＢ１〜ＭＶＢ３を求める。
【００４８】
比率計算部６４は、参照動きベクトルの情報を動きベクトル保持部６２から参照して、符号化対象フレーム２０２〜２０４について、参照動きベクトルＭＶＰの各成分と符号化対象動きベクトルＭＶＢ１〜ＭＶＢ３の各成分との比を求める。Ｂ１フレーム２０２、Ｂ２フレーム２０３、Ｂ３フレーム２０４についての比率をｃ１、ｃ２、ｃ３と表すと、次式のようになる。
ｃ１＝[ＭＶＢ１]／[ＭＶＰ]
ｃ２＝[ＭＶＢ２]／[ＭＶＰ]
ｃ３＝[ＭＶＢ３]／[ＭＶＰ]
ここで、[ＭＶＢ１]〜[ＭＶＢ３]、[ＭＶＰ]は、それぞれの動きベクトルの水平方向成分、または垂直方向の成分を表す。ここでは、簡単のためにひとつの方向の成分について述べているが、実際には全ての成分について計算する。
【００４９】
運動解析部６５は、各マクロブロックについて比率計算部６４で計算された比率ｃ１〜ｃ３を参照して、当該マクロブロックの運動状態を推定する。具体的には、まず、隣接する符号化対象フレーム間の各マクロブロックについて、比率の差分を取る。符号化対象フレームが３フレームであれば、（ｃ２−ｃ１）、（ｃ３−ｃ２）を計算する。そして、これら差分値の関係を検討する。
【００５０】
差分値が０の場合は、動きベクトルが符号化対象フレーム内で変化していないことを表すから、このマクロブロックは停止していると推定される。差分値が０でなく略等しい値であれば、マクロブロックは等速度運動していると推定される。差分値が一律に増加または減少していく関係にあれば、マクロブロックは等加速度運動していると判断される。差分値が上記いずれの関係でもない場合は、マクロブロックは不規則な運動をしていると推定される。
【００５１】
運動モード選択部６６は、上記推定に応じて運動モードを選択する。運動モードには、符号化対象フレーム間でマクロブロックが等速度運動すると推定する等速度運動モードと、符号化対象フレーム間でマクロブロックが等加速度運動すると推定する等加速度運動モードを含むことが好ましい。さらに、運動モード選択部６６は、選択した運動モードにしたがって、参照動きベクトルＭＶＰから符号化対象動きベクトルＭＶＢ１〜ＭＶＢ３を求めるための係数α１〜α３を計算する。この係数α１〜α３は、前方参照フレームと符号化対象フレームとの間の時間間隔に基づいて決定される。これについては、図４ないし図６を参照して後述する。
【００５２】
誤差計算部６７は、参照動きベクトルＭＶＰに運動モード選択部６６で計算された係数を乗じて求めた動きベクトルα１・ＭＶＰ〜α３・ＭＶＰと、符号化対象動きベクトルＭＶＢ１〜ＭＶＢ３との誤差を表す調整ベクトルβ１〜β３を計算する。調整ベクトルβの計算方法については後述する。
【００５３】
動き補償予測部６８は、係数αと調整ベクトルβにより表される各マクロブロックの動きベクトル（α・ＭＶＰ＋β）を使用して動き補償を行い、予測画像を生成し、差分器１２、加算器１４に出力する。
【００５４】
可変長符号化部９０は、運動モード選択部６６で選択された運動モードを表す情報、および各マクロブロックの係数α、調整ベクトルβを符号化して、符号化ストリームに含める。
【００５５】
次に、図４ないし図６を参照して、運動モード選択部６６により係数αを求める方法について説明する。なお、図４ないし図６は、従来の動きベクトルについて説明した図２と同じ符号を用いており、図２と共通する説明は省略する。
【００５６】
図４（ａ）、（ｂ）は、マクロブロックが等速度運動している場合を示す。運動モード選択部６６により等速度運動と推定されたとき、後方参照フレーム２０５の参照動きベクトルＭＶＰを、フレーム間の時間間隔に比例して配分することによって、符号化対象フレーム２０２〜２０４の係数α１〜α３を求めることができる。後方参照フレーム２０５の参照マクロブロック２１５の動きベクトルＭＶＰは、後方参照フレーム２０５と前方参照フレーム２０１との時間差ｔの間に、参照マクロブロック２１５が動く量と方向を示すものであるから、マクロブロックが等速度運動していると推定された場合、符号化対象フレーム２０２〜２０４において、各符号化対象フレームと前方参照フレーム２０１の時間差ｔｒの間に、ＭＶＰ×（ｔｒ／ｔ）の動きを示すことが予測される。したがって、図４（ａ）に示すように、符号化対象フレームが３枚の場合には、Ｂ１フレーム２０２ではα１＝０．２５、Ｂ２フレーム２０３ではα２＝０．５、Ｂ３フレーム２０４ではα３＝０．７５と計算される。
【００５７】
このように、等速度運動モードにおいては係数α１〜α３を計算で求めることができるので、動きベクトルＭＶＢ１〜ＭＶＢ３を符号化する代わりに、等速度運動モードについての情報と参照動きベクトルＭＶＰとを符号化すればよい。
【００５８】
図５（ａ）、（ｂ）は、マクロブロックが等加速度運動している場合を示す。運動モード選択部６６により等加速度運動と推定されたとき、後方参照フレーム２０５の参照動きベクトルＭＶＰを、フレーム間の時間間隔に基づいて配分することによって、符号化対象フレーム２０２〜２０４の係数α１〜α３を求めることができる。マクロブロックが等加速度運動していると推定された場合、符号化対象フレーム２０２〜２０４において、各符号化対象フレームと前方参照フレーム２０１の時間差ｔｒの間に、ＭＶＰ×（ｔｒ２／ｔ２）の動きを示すことが予測される。言い換えると、係数αはフレーム間の時間間隔の二乗に比例した値となる。したがって、図５（ａ）に示すように、符号化対象フレームが３枚の場合には、Ｂ１フレーム２０２ではα１＝０．０６２５、Ｂ２フレーム２０３ではα２＝０．２５、Ｂ３フレーム２０４ではα３＝０．５６２５と計算される。
【００５９】
このように、等加速運動モードにおいても係数α１〜α３を計算で求めることができるので、動きベクトルＭＶＢ１〜ＭＶＢ３を符号化する代わりに、等加速度運動モードについての情報と参照動きベクトルＭＶＰとを符号化すればよい。
【００６０】
図６（ａ）、（ｂ）は、マクロブロックが不規則運動している場合を示す。この場合は、係数α１〜α３を計算から求めることができないので、上述した比率ｃ１〜ｃ３を各符号化対象フレーム２０２〜２０４についての係数とみなす。すなわち、α１＝ｃ１、α２＝ｃ２、α３＝ｃ３である。不規則運動モードの場合には、動きベクトルＭＶＢ１〜ＭＶＢ３を符号化する代わりに、係数α１〜α３と参照動きベクトルＭＶＰを符号化する。
【００６１】
図７は、調整ベクトルβの計算方法を説明する図である。Ｂ２フレーム２０３を例とすると、調整ベクトルβ２は、通常の手法で求められる動きベクトルＭＶＢ２  ２２２と、参照動きベクトルＭＶＰに係数α２を乗じて得られるα２・ＭＶＰ  ２２３との誤差に相当する。すなわち、実際にはマクロブロックの動きの速度が複数フレーム間で一定であるとは限らないので、マクロブロックの予測された移動位置と実際の移動位置との差分を表すために、調整ベクトルβを求める。
【００６２】
図８は、本実施の形態にしたがった動きベクトルの符号化方法を示すフローチャートである。まず、動き補償部６０は、後方参照フレーム２０５内の各マクロブロックについて、前方参照フレーム２０１を基準とする参照動きベクトルＭＶＰを計算し、これらを動きベクトル保持部６２に格納する（Ｓ１０）。ブロックマッチング部６１は、後方参照フレーム２０５内のマクロブロックとのブロックマッチングによって、符号化対象フレーム２０２〜２０４内で動き補償予測の対象となるブロックをそれぞれ特定する（Ｓ１１）。動きベクトル計算部６３は、特定された各ブロックに対して、前方参照フレーム２０１を基準とした符号化対象動きベクトルＭＶＢ１〜ＭＶＢ３を求める（Ｓ１２）。比率計算部６４は、複数の符号化対象フレームのそれぞれについて、符号化対象動きベクトルＭＶＢ１〜ＭＶＢ３の成分と参照動きベクトルＭＶＰの成分との比率ｃ１〜ｃ３を求める（Ｓ１４）。運動解析部６５は、比率ｃ１〜ｃ３を解析して、複数の符号化対象フレーム間における各ブロックの運動状態を推定し、運動モード選択部６６は、推定された運動状態を表す運動モードを選択する（Ｓ１６）。運動モード選択部６６は、選択された運動モードにしたがって、参照動きベクトルＭＶＰから符号化対象動きベクトルＭＶＢ１〜ＭＶＢ３を求めるための係数α１〜α３を求める（Ｓ１８）。さらに、誤差計算部６７は、符号化対象動きベクトルＭＶＢ１〜ＭＶＢ３と、参照動きベクトルＭＶＰに係数α１〜α３を乗じて得られるベクトルとの誤差を表す調整ベクトルβ１〜β３を求める（Ｓ２０）。運動モード、係数α、調整ベクトルβは、可変長符号化部９０に出力されて、上述した手順にしたがって符号化され、それらの符号化情報は符号化ストリームに含められる（Ｓ２２）。
【００６３】
なお、上述したように、符号化対象動きベクトルの成分と参照動きベクトルの成分との比較は、水平方向と垂直方向の両方で行う。物体の運動が直線的な場合には、水平方向と垂直方向の比率はほぼ等しくなるので、運動モード、係数α、調整ベクトルβを同一のものとすることによって、さらに符号量を減らすことができる。物体の運動が直線的でない場合には、水平成分と垂直成分のそれぞれについて、運動モード、係数α、調整ベクトルβを符号化する。
【００６４】
図９は、運動モードと符号の対応関係の一例を示す。この例では、可変長符号化部９０は、各運動モードに対して２ビットの符号を与える。ここで、図中「通常」と表した運動モードは、従来の方法で検出される動きベクトルＭＶＢをそのまま使用するモードである。
【００６５】
可変長符号化部９０は、等速度運動モードおよび等加速度運動モードが選択されている場合には、係数αを符号化する必要はない。不規則運動モードの場合には、各符号化対象フレームについての係数αの全てを符号化する必要がある。
【００６６】
係数αは、そのまま符号化してもよいが、通常、係数αの値は小数となるため、符号化するとかえって符号量が増大してしまうおそれがある。そこで、係数αを符号化する際、可変長符号化部９０は、予め可変長符号が割り当てられている複数の定数のうち係数αに最も近い定数を選択し、選択された定数に割り当てられている符号を動画像の符号化データに含めるようにしてもよい。図１０は、その一例を示す。図示するように、係数αに近似させるための対数として、予め、「１」「１／２」「１／３」「１／４」「１／５」といった定数を準備しておき、それぞれに可変長符号を割り当てておく。そして、可変長符号化部９０は、動き補償部６０から受け取った係数αに最も近い定数を選択する。そして、その定数に割り当てられている可変長符号を符号化データに含めるようにする。これによって、係数αの符号量を削減することができる。
この場合、動きベクトルの精度は低下することになるが、調整ベクトルβを各マクロブロックについて計算しておけば、誤差は調整ベクトルβで吸収されるため、動き補償予測の精度が低下することはない。
【００６７】
可変長符号化部９０は、調整ベクトルβを符号化する際には、その出現頻度に応じた可変長符号を付与するようにしてもよいし、固定長符号化を用いてもよい。
【００６８】
可変長符号化部９０は、運動モードの情報は複数のフレームに対してひとつだけ符号化すればよい。つまり、ひとつのＧＯＰ内のフレームについて、ある参照フレームに基づいて動きベクトルを求めているので、運動モードについては、ＧＯＰ単位でひとつ定めれば十分である。係数αや調整ベクトルβについては、マクロブロック毎に符号化する必要がある。但し、マクロブロックの運動モードが等速度運動モードまたは等加速度運動モードの場合には、係数αを符号化する必要はない。
【００６９】
運動モードをまとめるのは、ＧＯＰ単位には限られない。例えば、不規則運動モードと判定されたときに、ＧＯＰ内で物体の運動状態が一定となる複数のフレームを選び出し、その複数フレーム内においてひとつの運動モードを定めるようにしてもよい。
【００７０】
図１１は、実施の形態に係る復号装置３００の構成図である。これらの機能ブロックもハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現することができる。
【００７１】
復号装置３００は、符号化ストリームの入力を受け取り、符号化ストリームを復号して出力画像を生成する。
【００７２】
可変長復号部３１０は、入力された符号化ストリームを可変長復号し、復号された画像データを逆量子化部３２０に供給し、動きベクトル情報を動き補償部３６０に供給する。
【００７３】
逆量子化部３２０は、可変長復号部３１０により復号された画像データを逆量子化し、逆ＤＣＴ部３３０に供給する。逆量子化部３２０により逆量子化された画像データはＤＣＴ係数である。逆ＤＣＴ部３３０は、逆量子化部３２０により逆量子化されたＤＣＴ係数を逆離散コサイン変換（ＩＤＣＴ）することにより、元の画像データを復元する。逆ＤＣＴ部３３０により復元された画像データは、加算器３１２に供給される。
【００７４】
加算器３１２は、逆ＤＣＴ部３３０から供給された画像データがＩフレームである場合、そのＩフレームの画像データをそのまま出力するとともに、ＰフレームやＢフレームの予測画像を生成するための参照画像として、フレームメモリ３８０に格納する。
【００７５】
加算器３１２は、逆ＤＣＴ部３３０から供給された画像データがＰフレームである場合、その画像データは差分画像であるから、逆ＤＣＴ部３３０から供給された差分画像と動き補償部３６０から供給される予測画像を加算することにより、元の画像データを復元し出力する。
【００７６】
動き補償部３６０は、可変長復号部３１０から供給される動きベクトル情報と、フレームメモリ３８０に格納された参照画像を用いて、ＰフレームまたはＢフレームの予測画像を生成し、加算器３１２に供給する。
【００７７】
図１２は、動き補償部３６０の構成図である。以下、本実施の形態で符号化されたＢフレームを復号するための動き補償部３６０の動作を説明する。動き補償部３６０は、後方参照フレームの動き補償を行ったときに、後方参照フレームの各マクロブロックの動きベクトルを検出しており、既に検出した後方参照フレームの動きベクトル情報やマクロブロックの情報を動きベクトル保持部３６４に保持しておく。
【００７８】
動きベクトル取得部３６１は、可変長復号部３１０から動きベクトル情報を取得する。この動きベクトル情報には、上述した運動モード、比例係数αおよび調整ベクトルβが含まれる。動きベクトル取得部３６１は、動きベクトル情報を動きベクトル計算部３６２に与える。運動モードを符号化ストリームに含めることによって、ひとつの符号化対象フレーム内に複数の運動モードが含まれていても、動き補償部３６０において、比例係数αおよび調整ベクトルβから元の動きベクトルを復元することができる。
【００７９】
動きベクトル計算部３６２は、動きベクトル保持部３６４から後方参照Ｐフレームのマクロブロックの動きベクトルを取得し、符号化対象フレームの動きベクトルを計算する。計算された動きベクトルは、動き補償予測部３６６に与えられるとともに、他のフレームの動きベクトルの計算に使用するために、動きベクトル保持部３６４に保持される。
【００８０】
動き補償予測部３６６は、受け取った動きベクトルを用いて符号化対象フレームの予測画像を生成して加算器３１２に出力する。
【００８１】
以上説明したように、本実施の形態によれば、後方参照フレーム（Ｐフレーム）の動きベクトルを利用して、符号化対象フレーム（Ｂフレーム）の動きベクトルを表現するようにした。したがって、Ｂフレームについては、動きベクトルそのものを符号化する必要がなく、係数αと調整ベクトルβ、および運動モードだけを符号化すればよい。しかも、等速度運動モードまたは等加速度運動モードの場合には、係数αの値はフレーム間隔の比率で求められることから、係数αについても符号化する必要がなく、調整ベクトルβと運動モードのみ符号化すれば十分である。
【００８２】
最近の高画質の圧縮符号化では、１／４画素精度での動きベクトルの探索が行われることが多く、動きベクトル情報の符号量が一層増大する。本実施の形態によって、符号化に要する計算処理量は増加するものの、動きベクトルデータの符号量が削減されるので、符号化ストリームのデータ量が削減され、動画像の符号化効率が向上する。
【００８３】
従来のダイレクトモードでは、等速度運動しか対応していないが、本実施の形態によれば、加速度運動または複雑な運動をしている場合にも対応でき、動きベクトルデータの符号量を削減することができる。
【００８４】
なお、以上の説明では、Ｂフレームの順方向予測の場合について述べたが、逆方向予測についても、同様の手順で本実施形態を適用することができる。また、片方向の動き予測のみならず、双方向予測の場合にも、前方参照フレーム、後方参照フレームのそれぞれに対する動きを示す２つの独立した動きベクトルの符号化について、本実施形態を適用することができる。すなわち、順方向予測、逆方向予測のそれぞれについて、実施の形態と同様にして複数の動きベクトルを用意してやればよい。
【００８５】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００８６】
上記の説明では、符号化装置１００および復号装置３００は、ＭＰＥＧシリーズの規格（ＭＰＥＧ−１、ＭＰＥＧ−２およびＭＰＥＧ−４）、Ｈ．２６ｘシリーズの規格（Ｈ．２６１、Ｈ．２６２およびＨ．２６３）、もしくはＨ．２６４／ＡＶＣに準拠して動画像の符号化および復号を行ったが、本発明は、時間的スケーラビリティをもつ階層的な動画像の符号化および復号を行う場合にも適用することができる。特にＭＣＴＦ技術を用いた場合の動きベクトルの符号化において、動きベクトルの符号量を削減するために本発明は有効である。
【００８７】
上述の実施形態では、比率ｃを解析することによって運動モードを推定することを説明した。しかしながら、複数の運動モードにしたがった複数の動きベクトルを利用して符号化対象フレームの動き補償を実行し予測画像を求め、予測画像と原画像との差分である差分画像の符号量が最小となる動きベクトルが得られた運動モードを選択するように構成してもよい。以下、この方法について説明する。
【００８８】
図示しない符号量推定部は、等速度運動モードまたは等加速度運動モードにおいて、予測画像と原画像との差分である差分画像を符号化したときの符号量を推定する。推定した符号量は、運動モードに対応づけて図示しない符号量保持部に保持される。
図示しない動きベクトル選択部は、符号量保持部に保持された差分画像の符号量を比較し、符号量が最小となる方の運動モードを選択する。これによって、動画像の符号化データの符号量を削減し、符号化効率を向上させることができる。
【００８９】
別の方法として、通常の手順で求められる動きベクトルＭＶＢよりも差分画像の符号量が減少する場合にのみ、上述した運動モードにしたがった動きベクトルの符号化を実行するようにしてもよい。
【００９０】
具体的には、まず、動き補償予測部６８は、通常の動きベクトルＭＶＢを計算し、図示しない符号量推定部は、動きベクトルＭＶＢを利用して予測画像を生成したときの差分画像の符号量を算出する。続いて、動き補償予測部６８は、等速度運動モードまたは等加速度運動モードにしたがって動きベクトルα・ＭＶＰを計算し、符号量推定部は、動きベクトルα・ＭＶＰを利用して予測画像を生成したときの差分画像の符号量を算出する。そして、２つの差分画像の符号量を比較して、等速度運動モードまたは等加速度運動モードの動きベクトルα・ＭＶＰの方が符号量が小さいときにのみ、等速度運動モードまたは等加速度運動モードのいずれかを選択する。
【００９１】
上述の実施形態では、マクロブロック単位で動きベクトルを検出する場合について説明したが、ブロック（８×８画素または４×４画素）単位で動きベクトルを検出する場合、およびオブジェクト単位で動きベクトルを検出する場合についても本発明を適用できる。
【００９２】
上記の説明では、後方参照フレームの動きベクトルを利用して、符号化対象フレーム内の各マクロブロックについて動きベクトルを表現することを述べた。しかしながら、マクロブロック単位でなくそれ以外のフレーム内の領域、例えば、符号化単位としてのスライスや、図示しないＲＯＩ領域設定部が動画像上に設定する注目領域（Region of Interest：ＲＯＩ）について、同様の手法により動きベクトルを求めてもよい。
【００９３】
具体的には、動き補償部６０は、後方参照フレーム２０５内の各スライスまたは注目領域について、前方参照フレーム２０１を基準とする参照動きベクトルＭＶＰを計算し、これらを動きベクトル保持部６２に格納する。ブロックマッチング部６１は、後方参照フレーム２０５内のスライスまたは注目領域とのマッチングによって、符号化対象フレーム２０２〜２０４内で動き補償予測の対象となるスライスまたは注目領域をそれぞれ特定する。動きベクトル計算部６３は、特定された各スライスまたは注目領域に対して、前方参照フレーム２０１を基準とした符号化対象動きベクトルＭＶＢ１〜ＭＶＢ３を求める。比率計算部６４は、複数の符号化対象フレームのそれぞれについて、符号化対象動きベクトルＭＶＢ１〜ＭＶＢ３の成分と参照動きベクトルＭＶＰの成分との比率ｃ１〜ｃ３を求める。運動解析部６５は、比率ｃ１〜ｃ３を解析して、複数の符号化対象フレーム間における各スライスまたは注目領域の運動状態を推定し、運動モード選択部６６は、推定された運動状態を表す運動モードを選択する。運動モード選択部６６は、選択された運動モードにしたがって、参照動きベクトルＭＶＰから符号化対象動きベクトルＭＶＢ１〜ＭＶＢ３を求めるための係数α１〜α３を求める。さらに、誤差計算部６７は、符号化対象動きベクトルＭＶＢ１〜ＭＶＢ３と、参照動きベクトルＭＶＰに係数α１〜α３を乗じて得られるベクトルとの誤差を表す調整ベクトルβ１〜β３を求める。運動モード、係数α、調整ベクトルβは、可変長符号化部９０に出力されて、上述した手順にしたがって符号化され、それらの符号化情報は、スライスまたは注目領域毎に符号化ストリームに含められる。
【００９４】
さらに、符号化対象フレーム内のマクロブロック毎に運動モードを決定する代わりに、フレーム単位またはＧＯＰ単位で運動モードを決定してもよい。この場合、以下の２つの手順がある。
【００９５】
手順１．動き補償部６０は、候補となる運動モード毎に、フレーム単位またはＧＯＰ単位で符号化を実行する。つまり、ひとつの運動モードを全てのマクロブロックまたはフレーム内領域について適用して符号化を実行する。この段階では符号化データを出力せず、符号化データの符号量のみを符号量保持部（図示せず）に保持しておく。全ての運動モードについて符号化データの符号量を計算した後、運動モード選択部６６は、符号量が最小となる運動モードを選択する。そして、動き補償予測部６８は、選択された運動モードにしたがって改めて符号化を実行し、この段階で符号化データが出力される。
【００９６】
手順２．動き補償部６０は、候補となる運動モード毎に、フレーム単位またはＧＯＰ単位で符号化を実行する。つまり、ひとつの運動モードを全てのマクロブロックまたはフレーム内領域について適用して符号化を実行する。この段階では符号化データを出力しないが、符号化データそのものと符号化データの符号量とを符号量保持部に保持しておく。全ての運動モードについて符号化データの符号量を計算した後、運動モード選択部６６は、符号量が最小となる運動モードを選択する。そして、選択された運動モードに対応する符号化データが符号量保持部から出力される。
【００９７】
手順１、２のうち、運動モードの選択後に改めて符号化をし直す分だけ、手順１の方が手順２よりも符号化に要する計算量が多くなる。しかし、手順２の方は、運動モード毎に符号化データ自体と符号量とを保持しておく必要があるため、手順１より多くの記憶領域が必要となる。このように、手順１と手順２とはトレードオフの関係にあるので、状況に応じて適切な方を選択すればよい。
【００９８】
さらに、上述のＭＣＴＦ技術にしたがった符号化において、ＭＣＴＦにより生成される符号化階層に含まれる複数のフレーム間の動きベクトルについて本発明の方法を適用することができる。
【００９９】
これについて、図１３を参照して説明する。図１３は、４つのフレーム１０１〜１０４をＭＣＴＦ技術にしたがって符号化する様子を表しており、各階層で出力される画像と動きベクトルとを示している。
【０１００】
図示しないＭＣＴＦ処理部は、連続する二枚のフレーム１０１、１０２を順次取得して、高域フレーム１１１と低域フレーム１１２とを生成する。また、二枚のフレーム１０３、１０４を順次取得して高域フレーム１１３と低域フレーム１１４とを生成する。これらを階層１と称する。また、ＭＣＴＦ処理部は、二枚のフレーム１０１、１０２から動きベクトルＭＶ１ａを検出し、フレーム１０３、１０４から動きベクトルＭＶ１ｂを検出する。
【０１０１】
また、ＭＣＴＦ処理部は、階層１の低域フレーム１１２、１１４からさらに高域フレーム１２１と低域フレーム１２２とを生成する。これらを階層２と称する。ＭＣＴＦ処理部は、二枚の低域フレーム１１２、１１４から動きベクトルＭＶ０を検出する。
【０１０２】
なお、図１３では、説明を簡単にするためにフレーム単位で動きベクトルを検出しているが、マクロブロック単位で動きベクトルを検出してもよいし、ブロック（８×８画素または４×４画素）単位で動きベクトルを検出してもよい。
【０１０３】
図１３に示すようなＭＣＴＦの階層があるとき、階層１の動きベクトルＭＶ１ａとＭＶ１ｂの符号化に上記方法を適用する。階層１の動きベクトルＭＶ１ａとＭＶ１ｂとは、時間上の距離が階層０の動きベクトルＭＶ０の半分であるので、動きも半分と推定される。そこで、動きベクトルＭＶ１ａとＭＶ１ｂとを以下の計算式で算出する。
ＭＶ１ａ＝（１／２）・ＭＶ０＋βａ
ＭＶ１ｂ＝（１／２）・ＭＶ０＋βｂ
ここで、βａ、βｂは予測値とのずれを表す調整ベクトルである。したがって、階層１の動きベクトルＭＶ１ａとＭＶ１ｂを符号化する代わりに、階層０の動きベクトルＭＶ０と調整ベクトルβａ、βｂを符号化すればよい。
【０１０４】
なお、上記計算式から分かるように、階層０の動きベクトルＭＶ０が求められるまで階層１を符号化することはできない。そこで、階層０の動きベクトルＭＶ０を求めるまでの間、階層１の動きベクトル情報と差分情報とを保持しておく必要がある。
【０１０５】
ＭＣＴＦの階層が３段以上ある場合でも、階層０以外の階層における動きベクトルに対して本発明の方法を適用できる。
【図面の簡単な説明】
【０１０６】
【図１】実施の形態に係る符号化装置の構成図である。
【図２】従来の動きベクトルの計算順序を説明する図である。
【図３】図１の動き補償部の構成を説明する図である。
【図４】（ａ）、（ｂ）は、等速度運動モードの係数αを説明する図である。
【図５】（ａ）、（ｂ）は、等加速度運動モードの係数αを説明する図である。
【図６】（ａ）、（ｂ）は、不規則運動モードの係数αを説明する図である。
【図７】調整ベクトルβの算出方法を説明する図である。
【図８】実施の形態に係る動きベクトルの符号化方法をフローチャートである。
【図９】動きベクトルの運動モードとその符号の一例を示すテーブルである。
【図１０】係数αを近似するための定数と、定数に割り当てられる符号の一例を示すテーブルである。
【図１１】実施の形態に係る復号装置の構成を示す図である。
【図１２】図１１の動き補償部の構成図である。
【図１３】４つのフレームをＭＣＴＦ技術にしたがって符号化する様子を示す図である。
【符号の説明】
【０１０７】
１０  ブロック生成部、  １２  差分器、  １４  加算器、  ２０  ＤＣＴ部、  ３０  量子化部、  ４０  逆量子化部、  ５０  逆ＤＣＴ部、  ６０  動き補償部、  ６１  ブロックマッチング部、  ６２  動きベクトル保持部、  ６３  動きベクトル計算部、  ６４  比率計算部、  ６５  運動解析部、  ６６  運動モード選択部、  ６７  誤差計算部、  ６８  動き補償予測部、  ８０  フレームメモリ、  ９０  可変長符号化部、  １００  符号化装置、  ２０１  Ｉフレーム（前方参照フレーム）、  ２０３  Ｂフレーム（符号化対象フレーム）、  ２０５  Ｐフレーム（後方参照フレーム）、  ３００  復号装置、  ３１０  可変長復号部、  ３１２  加算器、  ３２０  逆量子化部、  ３３０  逆ＤＣＴ部、  ３６０  動き補償部、  ３６１  動きベクトル取得部、  ３６２  動きベクトル計算部、  ３６４  動きベクトル保持部、  ３６６  動き補償予測部、  ３８０  フレームメモリ。
【図１】
2007124614.tif 000003
【図２】
2007124614.tif 000004
【図３】
2007124614.tif 000005
【図４】
2007124614.tif 000006
【図５】
2007124614.tif 000007
【図６】
2007124614.tif 000008
【図７】
2007124614.tif 000009
【図８】
2007124614.tif 000010
【図９】
2007124614.tif 000011
【図１０】
2007124614.tif 000012
【図１１】
2007124614.tif 000013
【図１２】
2007124614.tif 000014
【図１３】
2007124614.tif 000015