(57)【要約】【課題】動きベクトル情報に起因する符号量を削減する。【解決手段】動き補償部６０は、既に検出した後方参照フレームの動きベクトル情報を動きベクトル保持部６１に保持する。動きベクトル計算部６３は、後方参照フレームの動きベクトルの情報を動きベクトル保持部６１から参照して、符号化対象フレーム内の各マクロブロックについて、異なる算出モードにしたがって複数の動きベクトルを計算する。動き補償予測部６４は、算出モード毎に求められた動きベクトルを使用して動き補償を行い予測画像を生成し、符号量推定部６５に出力する。符号量推定部６５は、算出モード毎に、予測画像と原画像との差分である差分画像を符号化したときの符号量を推定する。動きベクトル選択部６７は、差分画像の符号量を比較し、符号量が最小となる動きベクトルを選択する。【選択図】図３
2007110672.tif 000002
【特許請求の範囲】
【請求項１】
動画像のピクチャを符号化する方法であって、
符号化対象ピクチャ内の各ブロックに対して、参照ピクチャ内のブロックと符号化対象ピクチャ内のブロックとのマッチングによって求められる第１動きベクトルと、それ以外の方法で定義された少なくともひとつの第２動きベクトルとを含む複数の動きベクトルを準備し、該複数の動きベクトルの中から選択されたひとつの動きベクトルを定義する情報を動画像の符号化データに含めることを特徴とする符号化方法。
【請求項２】
第１の参照ピクチャを基準とする動きベクトルが求められている第２の参照ピクチャが存在する場合に、
前記第２動きベクトルは、前記第２の参照ピクチャ内のブロックの動きベクトルを利用して、前記符号化対象ピクチャ内のブロックについて求められるベクトルであることを特徴とする請求項１に記載の符号化方法。
【請求項３】
前記第２の参照ピクチャ内のブロックとそのブロックに対応する参照動きベクトルとにしたがって、前記符号化対象ピクチャ内で動き補償予測の対象となるブロックを特定し、
前記参照動きベクトルに、前記第２の参照ピクチャと前記符号化対象ピクチャ間の時間的距離に基づいた比例係数を乗じて、特定されたブロックの第２動きベクトルを算出することを特徴とする請求項２に記載の符号化方法。
【請求項４】
前記第１動きベクトルと前記第２動きベクトルの間のずれ量を推定した調整ベクトルを求め、
前記調整ベクトルと前記第２動きベクトルとを合成した合成ベクトルが、前記複数の動きベクトルの中に含まれることを特徴とする請求項２または３に記載の符号化方法。
【請求項５】
前記符号化対象ピクチャについて選択された動きベクトルを新たな参照動きベクトルとして、別の符号化対象ピクチャの動きベクトルの定義に利用することを特徴とする請求項３または４に記載の符号化方法。
【請求項６】
前記符号化データに、前記複数の動きベクトルのうちいずれを使用したかを示すモード情報を含めることを特徴とする請求項１ないし５のいずれかに記載の符号化方法。
【請求項７】
動画像のピクチャを符号化する方法であって、
参照ピクチャと符号化対象ピクチャとのマッチングによって求められる第１動きベクトルを定義する動きベクトル算出モードと、それ以外の方法で定義された少なくともひとつの第２動きベクトルを定義する動きベクトル算出モードとを含む複数の算出モードを準備し、該複数の算出モードの中からピクチャまたは複数のピクチャ単位でひとつの算出モードを選択し、選択した算出モードを表す情報を動画像の符号化データに含めることを特徴とする符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を符号化する符号化方法に関する。
【背景技術】
【０００２】
ブロードバンドネットワークが急速に発展しており、高品質な動画像を利用したサービスに期待が集まっている。また、ＤＶＤなど大容量の記録媒体が利用されており、高画質の画像を楽しむユーザ層が広がっている。動画像を通信回線で伝送したり、記録媒体に蓄積するために不可欠な技術として圧縮符号化がある。動画像圧縮符号化技術の国際標準として、ＭＰＥＧ４の規格やＨ．２６４／ＡＶＣ規格がある。また、ひとつのストリームにおいて高画質のストリームと低画質のストリームを併せもつＳＶＣ（Scalable Video Codecのような次世代画像圧縮技術がある。
【０００３】
高解像度の動画像をストリーム配信したり、記録媒体に蓄積する場合、通信帯域を圧迫しないように、あるいは、記憶容量が大きくならないように、動画ストリームの圧縮率を高める必要がある。動画像の圧縮効果を高めるために、動き補償フレーム間予測符号化が行われる。動き補償フレーム間予測符号化では、符号化対象フレームをブロックに分割し、既に符号化された参照フレームからの動きをブロック毎に予測して動きベクトルを検出し、差分画像とともに動きベクトル情報を符号化する。
【０００４】
特許文献１には、残差動きベクトルと残りフレーム数より予想される予測動きベクトルがフレーム間の動きベクトルの近傍に存在する場合、フレーム間の動きベクトルの近傍にある予測動きベクトルを動きベクトルとし、予測動きベクトルがフレーム間の動きベクトルの近傍に存在しないときは、フレーム間の動きベクトルを動きベクトルとする、動き補償予測符号化方式が記載されている。
【特許文献１】特開平２−２１９３９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
Ｈ．２６４／ＡＶＣ規格では、動き補償において、よりきめ細かな予測を行うために、動き補償のブロックサイズを可変にしたり、動き補償の画素精度を１／４画素精度まで細かくすることができるようになっており、動きベクトルに関する符号量が多くなる。また、次世代画像圧縮技術であるＳＶＣ（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：ＲＯＩ）について、複数の動きベクトルの算出モードの中から差分画像の符号量を最小とする算出モードを決定するようにしてもよい。この場合の算出モードは、図４で示したのと同じものを使用できる。
【００９４】
具体的には、動き補償部６０は、後方参照フレーム２０５内のスライスまたは注目領域について、前方参照フレーム２０１を基準とする動きベクトルを計算し、得られた動きベクトルを動きベクトル保持部６１に格納する。動きベクトル計算部６３は、動きベクトル保持部６１内の後方参照フレーム２０５内のスライスまたは注目領域の動きベクトルを利用して、符号化対象フレーム２０３の各スライスまたは注目領域について、算出モード指定部６２により指定された算出モードの動きベクトルを求める。動き補償予測部６４は、算出モード毎に、動きベクトル計算部６３で求めた動きベクトルを使用した場合の予測画像を計算する。符号量推定部６５は、動き補償予測部６４で計算された予測画像と原画像との差分である差分画像の符号量を推定する。推定された符号量は、算出モード毎に符号量保持部６６に格納される。
【００９５】
そして、動きベクトル選択部６７は、符号量保持部６６内の符号量を比較して符号量が最小である算出モードを決定し、当該算出モードにおいて計算された動きベクトルを選択する。動きベクトル選択部６７は、選択した動きベクトルの算出モードに加えて、存在する場合は、比例係数α０、α１、調整ベクトルβ０、β１を可変長符号化部９０に出力する。出力された算出モード、比例係数、調整ベクトルのデータは、スライスまたは注目領域毎に符号化ストリームに含められる。
【００９６】
さらに、符号化対象フレーム内のマクロブロック毎に動きベクトルの算出モードを決定する代わりに、フレーム単位またはＧＯＰ単位で動きベクトルの算出モードを決定してもよい。この場合、以下の２つの手順がある。
【００９７】
手順１．動き補償部６０は、候補となる動きベクトルの算出モード毎に、フレーム単位またはＧＯＰ単位で符号化を実行する。つまり、ひとつの算出モードの動きベクトルを全てのマクロブロックまたはフレーム内領域について適用して符号化を実行する。この段階では符号化データを出力せず、符号化データの符号量のみを符号量保持部６６に保持しておく。全ての動きベクトルの算出モードについて符号化データの符号量を計算した後、動きベクトル選択部６７は、符号量が最小となる算出モードを選択する。そして、動き補償予測部６４は、選択された動きベクトル算出モードにしたがって改めて符号化を実行し、この段階で符号化データが出力される。
【００９８】
手順２．動き補償部６０は、候補となる動きベクトルの算出モード毎に、フレーム単位またはＧＯＰ単位で符号化を実行する。つまり、ひとつの算出モードの動きベクトルを全てのマクロブロックまたはフレーム内領域について適用して符号化を実行する。この段階では符号化データを出力しないが、符号化データそのものと符号化データの符号量とを符号量保持部６６に保持しておく。全ての動きベクトルの算出モードについて符号化データの符号量を計算した後、動きベクトル選択部６７は、符号量が最小となる算出モードを選択する。そして、選択された動きベクトル算出モードに対応する符号化データが符号量保持部６６から出力される。
【００９９】
手順１、２のうち、動きベクトル算出モードの選択後に改めて符号化をし直す分だけ、手順１の方が手順２よりも符号化に要する計算量が多くなる。しかし、手順２の方は、動きベクトル算出モード毎に符号化データ自体と符号量とを保持しておく必要があるため、手順１より多くの記憶領域が必要となる。このように、手順１と手順２とはトレードオフの関係にあるので、状況に応じて適切な方を選択すればよい。
【０１００】
さらに、上述のＭＣＴＦ技術にしたがった符号化において、ＭＣＴＦにより生成される符号化階層に含まれる複数のフレーム間の動きベクトルについて本発明の方法を適用することができる。
【０１０１】
これについて、図１４を参照して説明する。図１４は、４つのフレーム１０１〜１０４をＭＣＴＦ技術にしたがって符号化する様子を表しており、各階層で出力される画像と動きベクトルとを示している。
【０１０２】
図示しないＭＣＴＦ処理部は、連続する二枚のフレーム１０１、１０２を順次取得して、高域フレーム１１１と低域フレーム１１２とを生成する。また、二枚のフレーム１０３、１０４を順次取得して高域フレーム１１３と低域フレーム１１４とを生成する。これらを階層１と称する。また、ＭＣＴＦ処理部は、二枚のフレーム１０１、１０２から動きベクトルＭＶ１ａを検出し、フレーム１０３、１０４から動きベクトルＭＶ１ｂを検出する。
【０１０３】
また、ＭＣＴＦ処理部は、階層１の低域フレーム１１２、１１４からさらに高域フレーム１２１と低域フレーム１２２とを生成する。これらを階層２と称する。ＭＣＴＦ処理部は、二枚の低域フレーム１１２、１１４から動きベクトルＭＶ０を検出する。
【０１０４】
なお、図１４では、説明を簡単にするためにフレーム単位で動きベクトルを検出しているが、マクロブロック単位で動きベクトルを検出してもよいし、ブロック（８×８画素または４×４画素）単位で動きベクトルを検出してもよい。
【０１０５】
図１４に示すようなＭＣＴＦの階層があるとき、階層１の動きベクトルＭＶ１ａとＭＶ１ｂの符号化に上記方法を適用する。階層１の動きベクトルＭＶ１ａとＭＶ１ｂとは、時間上の距離が階層０の動きベクトルＭＶ０の半分であるので、動きも半分と推定される。そこで、動きベクトルＭＶ１ａとＭＶ１ｂとを以下の計算式で算出する。
ＭＶ１ａ＝（１／２）・ＭＶ０＋βａ
ＭＶ１ｂ＝（１／２）・ＭＶ０＋βｂ
ここで、βａ、βｂは予測値とのずれを表す調整ベクトルである。したがって、階層１の動きベクトルＭＶ１ａとＭＶ１ｂを符号化する代わりに、階層０の動きベクトルＭＶ０と調整ベクトルβａ、βｂを符号化すればよい。
【０１０６】
なお、上記計算式から分かるように、階層０の動きベクトルＭＶ０が求められるまで階層１を符号化することはできない。そこで、階層０の動きベクトルＭＶ０を求めるまでの間、階層１の動きベクトル情報と差分情報とを保持しておく必要がある。
【０１０７】
ＭＣＴＦの階層が３段以上ある場合でも、階層０以外の階層における動きベクトルに対して本発明の方法を適用できる。
【図面の簡単な説明】
【０１０８】
【図１】実施の形態に係る符号化装置の構成図である。
【図２】従来の動きベクトルの計算順序を説明する図である。
【図３】図１の動き補償部の構成を説明する図である。
【図４】動きベクトルの算出モードの一例を示す図である。
【図５】動きベクトルの計算方法を説明する図である。
【図６】動きベクトルの計算方法を説明する図である。
【図７】動きベクトルの計算方法を説明する図である。
【図８】等速度運動時の比例係数αを説明する図である。
【図９】等加速度運動時の比例係数αを説明する図である。
【図１０】最適動きベクトルの選択方法を示すフローチャートである。
【図１１】所定の範囲内の比例係数αおよび調整ベクトルβの組み合わせた動きベクトルの符号量を求める方法を示すフローチャートである。
【図１２】実施の形態に係る復号装置の構成を示す図である。
【図１３】図１２の動き補償部の構成図である。
【図１４】４つのフレームをＭＣＴＦ技術にしたがって符号化する様子を示す図である。
【符号の説明】
【０１０９】
１０  ブロック生成部、  １２  差分器、  １４  加算器、  ２０  ＤＣＴ部、  ３０  量子化部、  ４０  逆量子化部、  ５０  逆ＤＣＴ部、  ６０  動き補償部、  ６１  動きベクトル保持部、  ６２  算出モード指定部、  ６３  動きベクトル計算部、  ６４  動き補償予測部、  ６５  符号量推定部、  ６６  符号量保持部、  ６７  動きベクトル選択部、  ８０  フレームメモリ、  ９０  可変長符号化部、  １００  符号化装置、  ２０１  Ｉフレーム（前方参照フレーム）、  ２０３  Ｂフレーム（符号化対象フレーム）、  ２０５  Ｐフレーム（後方参照フレーム）、  ３００  復号装置、  ３１０  可変長復号部、  ３１２  加算器、  ３２０  逆量子化部、  ３３０  逆ＤＣＴ部、  ３６０  動き補償部、  ３６１  動きベクトル取得部、  ３６２  動きベクトル計算部、  ３６４  動きベクトル保持部、  ３６６  動き補償予測部、  ３８０  フレームメモリ。
【図１】
2007110672.tif 000003
【図２】
2007110672.tif 000004
【図３】
2007110672.tif 000005
【図４】
2007110672.tif 000006
【図５】
2007110672.tif 000007
【図６】
2007110672.tif 000008
【図７】
2007110672.tif 000009
【図８】
2007110672.tif 000010
【図９】
2007110672.tif 000011
【図１０】
2007110672.tif 000012
【図１１】
2007110672.tif 000013
【図１２】
2007110672.tif 000014
【図１３】
2007110672.tif 000015
【図１４】
2007110672.tif 000016