(57)【要約】【課題】動きベクトルの予測値の予測能力を高めることで符号化効率を向上した動きベクトル符号化方法を提供する。【解決手段】動きベクトル符号化方法は、周辺ブロック特定ステップ（Ｓ３００）と、参照ピクチャ判断ステップ（Ｓ３０６，Ｓ３０８）と、予測動きベクトル導出ステップ（Ｓ３０２，Ｓ３０４，Ｓ３１０，Ｓ３１２，Ｓ３１４）と、動きベクトル符号化ステップ（Ｓ３１６）とを包含し、予測動きベクトル導出ステップにおいて、他のブロックの動きベクトルを用いて求められた、予測符号化する際に使用される動きベクトルを、周辺ブロックの動きベクトルとして用い、３つの周辺ブロックのうち、符号化対象ブロックの参照ピクチャと異なる参照ピクチャを参照する周辺ブロックの動きベクトルの大きさを０とし、３つの周辺ブロックの３つの動きベクトルの中央値を符号化対象ブロックの予測動きベクトルとする。【選択図】図８
2010283874.tif 000002
【特許請求の範囲】
【請求項１】
動画像のピクチャを構成するブロックの動きベクトルを符号化する動きベクトル符号化方法であって、
符号化の対象となる前記ブロックの周辺にあって既に符号化済みである３つの周辺ブロックを特定する周辺ブロック特定ステップと、
前記３つの周辺ブロックの符号化で用いたそれぞれの参照ピクチャと、符号化の対象となる前記ブロックの符号化で用いる参照ピクチャが同じであるか否かを判断する参照ピクチャ判断ステップと、
前記３つの周辺ブロックの動きベクトルを用いて、符号化の対象となる前記ブロックの予測動きベクトルを導出する予測動きベクトル導出ステップと、
前記予測動きベクトルを用いて、符号化の対象となる前記ブロックの前記動きベクトルを符号化する動きベクトル符号化ステップと、を包含し、
ここで、前記周辺ブロックが前記周辺ブロックの周辺に位置する他のブロックの動きベクトルを用いて予測符号化されている場合には、前記他のブロックの動きベクトルを用いて求められた動きベクトルであって、前記周辺ブロックを予測符号化する際に使用される動きベクトルを、前記予測動きベクトル導出ステップにおいて、前記周辺ブロックの動きベクトルとして用い、
更に、前記参照ピクチャ判断ステップで、同じ参照ピクチャであると判断された参照ピクチャを参照する周辺ブロックの数が２又は３の場合は、異なる参照ピクチャを参照する周辺ブロックの動きベクトルの大きさを０とし、前記３つの周辺ブロックの３つの動きベクトルの中央値を、符号化の対象となる前記ブロックの予測動きベクトルとする、
ことを特徴とする動きベクトル符号化方法。
【請求項２】
動画像のピクチャを構成するブロックの動きベクトルを符号化する動きベクトル符号化装置であって、
符号化の対象となる前記ブロックの周辺にあって既に符号化済みの３つの周辺ブロックを特定する周辺ブロック特定手段と、
前記３つの周辺ブロックの符号化で用いたそれぞれの参照ピクチャと、符号化の対象となる前記ブロックの符号化で用いる参照ピクチャが同じであるか否かを判断する参照ピクチャ判断手段と、
前記３つの周辺ブロックの動きベクトルを用いて、符号化の対象となる前記ブロックの予測動きベクトルを導出する予測動きベクトル導出手段と、
前記予測動きベクトルを用いて、符号化の対象となる前記ブロックの前記動きベクトルを符号化する動きベクトル符号化手段と、を包含し、
ここで、前記周辺ブロックが前記周辺ブロックの周辺に位置する他のブロックの動きベクトルを用いて予測符号化されている場合には、前記他のブロックの動きベクトルを用いて求められた動きベクトルであって、前記周辺ブロックを予測符号化する際に使用される動きベクトルを、前記予測動きベクトル導出手段において、前記周辺ブロックの動きベクトルとして用い、
更に、前記参照ピクチャ判断手段によって、同じ参照ピクチャであると判断された参照ピクチャを参照する周辺ブロックの数が２又は３の場合は、異なる参照ピクチャを参照する周辺ブロックの動きベクトルの大きさを０とし、前記３つの周辺ブロックの３つの動きベクトルの中央値を、符号化の対象となる前記ブロックの予測動きベクトルとする、
ことを特徴とする動きベクトル符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピクチャ間予測符号化を用いる動きベクトル符号化方法および動きベクトル復号化方法に関する。
【背景技術】
【０００２】
近年、音声，画像，その他のデータを統合的に扱うマルチメディア時代を迎え、従来からの情報メディア，つまり新聞，雑誌，テレビ，ラジオ，電話等の情報を人に伝達する手段がマルチメディアの対象として取り上げられるようになってきた。一般に、マルチメディアとは、文字だけでなく、図形、音声、特に画像等を同時に関連づけて表すことをいうが、上記従来の情報メディアをマルチメディアの対象とするには、その情報をディジタル形式にして表すことが必須条件となる。
【０００３】
ところが、上記各情報メディアの持つ情報量をディジタル情報量として見積もってみると、文字の場合１文字当たりの情報量は１〜２バイトであるのに対し、音声の場合１秒当たり64Kbits（電話品質）、さらに動画については１秒当たり100Mbits（現行テレビ受信品質）以上の情報量が必要となり、上記情報メディアでその膨大な情報をディジタル形式でそのまま扱うことは現実的では無い。例えば、テレビ電話は、64Kbit/s〜1.5Mbits/sの伝送速度を持つサービス総合ディジタル網（ISDN : Integrated Services Digital Network）によってすでに実用化されているが、テレビ・カメラの映像をそのままISDNで送ることは不可能である。
【０００４】
そこで、必要となってくるのが情報の圧縮技術であり、例えば、テレビ電話の場合、ITU-T（国際電気通信連合  電気通信標準化部門）で国際標準化されたH.261やH.263規格の動画圧縮技術が用いられている（例えば、非特許文献１参照。）。また、MPEG-１規格の情報圧縮技術によると、通常の音楽用CD（コンパクト・ディスク）に音声情報とともに画像情報を入れることも可能となる。
【０００５】
ここで、MPEG（Moving Picture Experts Group）とは、動画像信号圧縮の国際規格であり、MPEG-１は、動画像信号を１．５Mbpsまで、つまりテレビ信号の情報を約１００分の１にまで圧縮する規格である。また、MPEG-１規格を対象とする伝送速度が主として約１．５Mbpsに制限されていることから、さらなる高画質化の要求をみたすべく規格化されたMPEG-２では、動画像信号が２〜１５Mbpsに圧縮される。さらに現状では、MPEG-１，MPEG-２と標準化を進めてきた作業グループ（ISO/IEC JTC1/SC29/WG11） によって、MPEG-１，MPEG-２を上回る圧縮率を達成し、更に物体単位で符号化・復号化・操作を可能とし、マルチメディア時代に必要な新しい機能を実現するMPEG-４が規格化された。MPEG-４では、当初、低ビットレートの符号化方法の標準化を目指して進められたが、現在はインタレース画像も含む高ビットレートも含む、より汎用的な符号化に拡張されている。
【０００６】
上記の動画像符号化においては、一般に動画像が有する空間方向および時間方向の冗長性を利用して情報量の圧縮を行う。ここで、時間方向の冗長性を利用する方法として、ピクチャ間予測符号化が用いられる。ピクチャ間予測符号化では、あるピクチャを符号化する際に、時間的に前方または後方にあるピクチャを参照ピクチャとする。そして、その参照ピクチャからの動き量（動きベクトル）を検出し、動き補償を行ったピクチャと符号化対象のピクチャとの差分値に対して空間方向の冗長度を取り除くことにより情報量の圧縮を行う。
【０００７】
ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６３、Ｈ．２６Ｌ等の動画像符号化方式では、ピクチャ間予測符号化を行わない、すなわちピクチャ内符号化を行うピクチャをＩピクチャと呼ぶ。ここでピクチャとは、フレームおよびフィールドの両者を包含する１つの符号化の単位を意味する。また、１つのピクチャを参照してピクチャ間予測符号化するピクチャをＰピクチャと呼び、処理済みの２つのピクチャを参照してピクチャ間予測符号化するピクチャをＢピクチャと呼ぶ。
【０００８】
図１８は、上記の動画像符号化方式における各ピクチャの予測関係を示す関係表示図である。
【０００９】
この図１８において、縦線は１枚のピクチャを示しており、各ピクチャの右下にピクチャタイプ（Ｉ、Ｐ、Ｂ）を示している。また図１８中の矢印は、矢印の終端にあるピクチャが、矢印の始端にあるピクチャを参照ピクチャとして用いてピクチャ間予測符号化することを示している。例えば、先頭から２枚目のＢピクチャは、先頭のＩピクチャと先頭から４枚目のＰピクチャを参照ピクチャとして用いることにより符号化される。
【００１０】
ＭＰＥＧ−４やＨ．２６Ｌ等の動画像符号化方式では、Ｂピクチャの符号化において、ダイレクトモードという符号化モードを選択することができる。
【００１１】
ダイレクトモードにおけるピクチャ間予測符号化方法を、図１９を用いて説明する。
【００１２】
図１９は、ダイレクトモードにおけるピクチャ間予測符号化方法を説明するための説明図である。
【００１３】
今、ピクチャＢ３のブロックＣをダイレクトモードで符号化するとする。この場合、ピクチャＢ３の直前に符号化された参照ピクチャ（この場合には、後方参照ピクチャであるピクチャＰ４）中の、ブロックＣと同じ位置にあるブロックＸの動きベクトルＭＶｐを利用する。動きベクトルＭＶｐは、ブロックＸが符号化された際に用いられた動きベクトルであり、ピクチャＰ１を参照している。ブロックＣに対しては、動きベクトルＭＶｐと平行な動きベクトルを用いて、参照ピクチャであるピクチャＰ１とピクチャＰ４から双方向予測が行われる。この場合のブロックＣを符号化する際に用いられる動きベクトルは、ピクチャＰ１に対しては動きベクトルＭＶＦｃ、ピクチャＰ４に対しては動きベクトルＭＶＢｃとなる。
【００１４】
また、ＭＰＥＧ−４やＨ．２６Ｌ等の動画像符号化方式では、動きベクトルの符号化の際に、周辺ブロックの動きベクトルからの予測値と符号化対象ブロックの動きベクトルとの差分値を符号化する。以下、単に「予測値」と呼ぶ場合は、動きベクトルの予測値であることを示す。多くの場合には、近傍のブロックの動きベクトルは同じような方向および大きさを有するので、周辺ブロックの動きベクトルからの予測値との差分値を符号化することにより、動きベクトルの符号量の削減を図ることができる。
【００１５】
ここで、ＭＰＥＧ−４における動きベクトルの符号化方法について、図２０を用いて説明する。
【００１６】
図２０は、ＭＰＥＧ−４における符号化対象ブロックＡの動きベクトルＭＶの符号化方法を説明するための説明図である。
【００１７】
この図２０中の（ａ）〜（ｄ）において、太枠で示したブロックは１６×１６画素のマクロブロックを示しており、その中に８×８画素のブロックが４つ存在する。ここでは、８×８画素のブロックを単位として、動きベクトルが求められているとする。
【００１８】
図２０の（ａ）に示すように、マクロブロック内の左上に位置する符号化対象ブロックＡに対しては、その左側にある周辺ブロックＢの動きベクトルＭＶｂ、上側にある周辺ブロックＣの動きベクトルＭＶｃ、及び右上側にある周辺ブロックＤの動きベクトルＭＶｄから求められた予測値と、符号化対象ブロックＡの動きベクトルＭＶとの差分値が符号化される。
【００１９】
これと同様、図２０の（ｂ）に示すように、マクロブロック内の右上に位置する符号化対象ブロックＡに対しては、その左側にある周辺ブロックＢの動きベクトルＭＶｂ、上側にある周辺ブロックＣの動きベクトルＭＶｃ、及び右上側にある周辺ブロックＤの動きベクトルＭＶｄから求められた予測値と、符号化対象ブロックＡの動きベクトルＭＶとの差分値が符号化される。
【００２０】
また、図２０の（ｃ）に示すように、マクロブロック内の左下に位置する符号化対象ブロックＡに対しては、その左側にある周辺ブロックＢの動きベクトルＭＶｂ、上側にある周辺ブロックＣの動きベクトルＭＶｃ、及び右上側にある周辺ブロックＤの動きベクトルＭＶｄから求められた予測値と、符号化対象ブロックＡの動きベクトルＭＶとの差分値が符号化される。
【００２１】
そして、図２０の（ｄ）に示すように、マクロブロック内の右下に位置する符号化対象ブロックＡに対しては、その左側にある周辺ブロックＢの動きベクトルＭＶｂ、左上側にある周辺ブロックＣの動きベクトルＭＶｃ、及び上側にある周辺ブロックＤの動きベクトルＭＶｄから求められた予測値と、符号化対象ブロックＡの動きベクトルＭＶとの差分値が符号化される。ここで、予測値は、３つの動きベクトルＭＶｂ，ＭＶｃ，ＭＶｄの水平成分、垂直成分毎に中央値（メディアン）を取って求められる。
【００２２】
次に、現在規格策定中のＨ．２６Ｌにおける動きベクトルの符号化方法について、図２１を用いて説明する。
【００２３】
図２１は、Ｈ．２６Ｌにおける符号化対象ブロックＡの動きベクトルＭＶの符号化方法を説明するための説明図である。
【００２４】
符号化対象ブロックＡは、４×４画素、８×８画素又は１６×１６画素のブロックであって、この符号化対象ブロックＡの動きベクトルを符号化するときには、その符号化対象ブロックＡの左側に位置する画素ｂを含む周辺ブロックＢの動きベクトルと、符号化対象ブロックＡの上側に位置する画素ｃを含む周辺ブロックＣの動きベクトルと、符号化対象ブロックＡの右上側に位置する画素ｄを含む周辺ブロックＤの動きベクトルとが用いられる。なお、周辺ブロックＢ，Ｃ，Ｄのサイズは、図２１の点線で示すサイズに限定されない。
【００２５】
図２２は、このような周辺ブロックＢ，Ｃ，Ｄの動きベクトルを用いて符号化対象ブロックＡの動きベクトルＭＶが符号化される手順を示すフロー図である。
【００２６】
まず、周辺ブロックＢ，Ｃ，Ｄのうち符号化対象ブロックＡと同じピクチャを参照している周辺ブロックを特定し（ステップＳ５０２）、その特定された周辺ブロックの数を判別する（ステップＳ５０４）。
【００２７】
そして、ステップＳ５０４で判別された周辺ブロックの数が１個であれば、同じピクチャを参照しているその１つの周辺ブロックの動きベクトルを、符号化対象ブロックＡの動きベクトルＭＶの予測値とする（ステップＳ５０６）。
【００２８】
また、ステップＳ５０４で判別された周辺ブロックの数が１個以外であれば、周辺ブロックＢ，Ｃ，Ｄのうち符号化対象ブロックＡと異なるピクチャを参照している周辺ブロックの動きベクトルを０とする（ステップＳ５０７）。そして、周辺ブロックＢ，Ｃ，Ｄの動きベクトルの中央値を、符号化対象ブロックＡの動きベクトルＭＶの予測値とする（ステップＳ５０８）。
【００２９】
このようにステップＳ５０６又はステップＳ５０８で導出された予測値を用い、その予測値と符号化対象ブロックＡの動きベクトルＭＶとの差分値を求め、その差分値を符号化する（ステップＳ５１０）。
【００３０】
以上のように、ＭＰＥＧ−４及びＨ．２６Ｌの動きベクトル符号化方法では、符号化対象ブロックの動きベクトルを符号化するときには、周辺ブロックの動きベクトルを利用する。
【００３１】
しかし、周辺ブロックに対して、動きベクトルが符号化されていない場合がある。例えば、その周辺ブロックがピクチャ内符号化で処理されている場合や、Ｂピクチャにおいてダイレクトモードとして処理されている場合や、Ｐピクチャにおいてスキップモードとして処理されている場合である。このような場合には、その周辺ブロックは、ピクチャ内符号化されている場合を除いて、他のブロックの動きベクトルを用いて符号化されており、その他の場合には、周辺ブロックは動き検出結果に基づく自らの動きベクトルを用いて符号化されている。
【００３２】
そこで上記従来の動きベクトル符号化方法は、３つの周辺ブロックに上述のような動き検出結果に基づく動きベクトルを有さず、他のブロックの動きベクトルを用いて符号化された周辺ブロックが１つ存在する場合には、その周辺ブロックの動きベクトルを０として処理し、２つ存在する場合には、残りの１つの周辺ブロックの動きベクトルを予測値として用い、３つ存在する場合には、予測値は０として動きベクトル符号化の処理を行う。
【先行技術文献】
【非特許文献】
【００３３】
【非特許文献１】Information technology -Coding of audio-visual objects -Part2:video (ISO/IEC 14496-2), pp.146-148, 1999.12.1
【発明の概要】
【発明が解決しようとする課題】
【００３４】
しかしながら、ダイレクトモードやスキップモードでは、動きベクトル情報は符号化されていないものの、実際には検出結果に基づく自らの動きベクトルを使用した場合と同等の動き補償処理が行われている。したがって、上記従来の方法では、周辺ブロックがダイレクトモードやスキップモードで符号化されている場合に、それら周辺ブロックの動きベクトルを予測値の候補として用いないため、動きベクトルの符号化の際に、動きベクトルの予測値の予測能力が低くなり、それに伴い符号化効率が低下するという問題点がある。
【００３５】
本発明は上記問題点を解決するものであり、動きベクトルの予測値の予測能力を高めることで符号化効率を向上した動きベクトル符号化方法および動きベクトル復号化方法を提供することを目的とする。
【課題を解決するための手段】
【００３６】
上記目的を達成するために、本発明に係る動きベクトル符号化方法は、動画像のピクチャを構成するブロックの動きベクトルを符号化する動きベクトル符号化方法であって、符号化の対象となる前記ブロックの周辺にあって既に符号化済みである３つの周辺ブロックを特定する周辺ブロック特定ステップと、前記３つの周辺ブロックの符号化で用いたそれぞれの参照ピクチャと、符号化の対象となる前記ブロックの符号化で用いる参照ピクチャが同じであるか否かを判断する参照ピクチャ判断ステップと、前記３つの周辺ブロックの動きベクトルを用いて、符号化の対象となる前記ブロックの予測動きベクトルを導出する予測動きベクトル導出ステップと、前記予測動きベクトルを用いて、符号化の対象となる前記ブロックの前記動きベクトルを符号化する動きベクトル符号化ステップと、を包含し、ここで、前記周辺ブロックが前記周辺ブロックの周辺に位置する他のブロックの動きベクトルを用いて予測符号化されている場合には、前記他のブロックの動きベクトルを用いて求められた動きベクトルであって、前記周辺ブロックを予測符号化する際に使用される動きベクトルを、前記予測動きベクトル導出ステップにおいて、前記周辺ブロックの動きベクトルとして用い、更に、前記参照ピクチャ判断ステップで、同じ参照ピクチャであると判断された参照ピクチャを参照する周辺ブロックの数が２又は３の場合は、異なる参照ピクチャを参照する周辺ブロックの動きベクトルの大きさを０とし、前記３つの周辺ブロックの３つの動きベクトルの中央値を、符号化の対象となる前記ブロックの予測動きベクトルとすることを特徴とする。
【００３７】
また、上記目的を達成するために、本発明に係る動きベクトル符号化方法は、動画像のピクチャを構成するブロックの動きベクトルを符号化する動きベクトル符号化方法であって、符号化の対象となる前記ブロックの周辺にあって既に符号化済みである周辺ブロックを特定する周辺ブロック特定ステップと、前記周辺ブロックそれぞれが有する２つの動きベクトルを用いて、符号化の対象となる前記ブロックの２つの予測動きベクトルを導出する予測動きベクトル導出ステップと、前記２つの予測動きベクトルを用いて、符号化の対象となる前記ブロックの２つの動きベクトルを符号化する動きベクトル符号化ステップと、を包含し、ここで、符号化の対象となる前記ブロックが時間的に前方を特定する前方動きベクトルと時間的に後方を特定する後方動きベクトルとの２つの動きベクトルを用いて予測符号化されている場合であって、且つ、前記周辺ブロックが他のブロックの動きベクトルを用いて予測符号化されている場合は、前記予測動きベクトル導出ステップにおいて、前記他のブロックの動きベクトルを用いて求められた動きベクトルであって、前記周辺ブロックを予測符号化する際に使用された時間的に前方を特定する前方動きベクトルと時間的に後方を特定する後方動きベクトルとの２つの動きベクトルを、それぞれ、前記周辺ブロックが有する前方動きベクトルと後方動きベクトルとしての２つの動きベクトルとして特定し、前記周辺ブロックの該特定された２つの動きベクトルを前記周辺ブロックの動きベクトルとして用いて、符号化の対象となる前記ブロックの予測動きベクトルを前方動きベクトルと後方動きベクトルのそれぞれに対して導出することを特徴とする。
【００３８】
また、上記目的を達成するために、本発明に係る動きベクトル符号化方法は、動画像のピクチャを構成するブロックの動きベクトルを符号化する動きベクトル符号化方法であって、符号化の対象となる前記ブロックの周辺にあって既に符号化済みの周辺ブロックを特定する周辺ブロック特定ステップと、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されているか否かを判別する判別ステップと、前記判別ステップで、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されていると判別されたときには、前記他のブロックの動きベクトルから求められた動きベクトルを前記周辺ブロックの動きベクトルとして用い、前記符号化対象ブロックの動きベクトルの予測値を導出する予測ステップと、前記符号化対象ブロックの動きベクトルを、前記予測値を用いて符号化する符号化ステップとを含むことを特徴とする。
【００３９】
また、本発明に係る動きベクトル復号化方法は、動画像のピクチャを構成するブロックの符号化された動きベクトルを復号化する動きベクトル復号化方法であって、復号化の対象となる前記ブロックの周辺にあって既に復号化済みの周辺ブロックを特定する周辺ブロック特定ステップと、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されていたか否かを判別する判別ステップと、前記判別ステップで、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されていたと判別されたときには、前記他のブロックの動きベクトルから求められた動きベクトルを前記周辺ブロックの動きベクトルとして用い、前記復号化対象ブロックの動きベクトルの予測値を導出する予測ステップと、前記復号化対象ブロックの符号化された動きベクトルを、前記予測値を用いて復号化する復号化ステップとを含むことを特徴とする。
【００４０】
なお、本発明は、上記動きベクトル符号化方法を用いる動画像符号化装置及びプログラム並びにそのプログラムを格納する記憶媒体や、上記動きベクトル復号化方法を用いる動画像復号化装置及びプログラム並びにそのプログラムを格納する記憶媒体としても実現することができる。
【発明の効果】
【００４１】
以上の説明から明らかなように、本発明に係る動きベクトル符号化方法によれば、動画像のピクチャを構成するブロックの動きベクトルを符号化する動きベクトル符号化方法であって、符号化の対象となる前記ブロックの周辺にあって既に符号化済みの周辺ブロックを特定する周辺ブロック特定ステップと、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されているか否かを判別する判別ステップと、前記判別ステップで、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されていると判別されたときには、前記他のブロックの動きベクトルから求められた動きベクトルを前記周辺ブロックの動きベクトルとして用い、前記符号化対象ブロックの動きベクトルの予測値を導出する予測ステップと、前記符号化対象ブロックの動きベクトルを、前記予測値を用いて符号化する符号化ステップとを含むことを特徴とする。
【００４２】
これにより、符号化対象ブロックの動きベクトルを、周辺ブロックの動きベクトルから導出された予測値を用いて符号化するときに、その周辺ブロックが他のブロックの動きベクトルを用いて符号化されている場合、その周辺ブロックの動きベクトルを、０とすることなく、上記他のブロックの動きベクトルから求められた動きベクトルとするため、上記予測値の予測能力を高めることができ、その結果、動きベクトルの符号化効率を向上することができる。
【００４３】
また、本発明に係る動きベクトル復号化方法によれば、動画像のピクチャを構成するブロックの符号化された動きベクトルを復号化する動きベクトル復号化方法であって、復号化の対象となる前記ブロックの周辺にあって既に復号化済みの周辺ブロックを特定する周辺ブロック特定ステップと、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されていたか否かを判別する判別ステップと、前記判別ステップで、前記周辺ブロックが他のブロックの動きベクトルを用いて符号化されていたと判別されたときには、前記他のブロックの動きベクトルから求められた動きベクトルを前記周辺ブロックの動きベクトルとして用い、前記復号化対象ブロックの動きベクトルの予測値を導出する予測ステップと、前記復号化対象ブロックの符号化された動きベクトルを、前記予測値を用いて復号化する復号化ステップとを含むことを特徴とする。
【００４４】
これにより、本発明に係る動きベクトル符号化方法により符号化された動きベクトルを正しく復号化することができ、その実用的価値が高い。
【図面の簡単な説明】
【００４５】
【図１】図１は、本発明の第１の実施の形態における動画像符号化装置の構成を示すブロック図である。
【図２】図２は、同上のフレームメモリにおけるピクチャの入出力関係を示すピクチャ表示図である。
【図３】図３は、同上の動きベクトル符号化部の動作を示すフロー図である。
【図４】図４は、同上の周辺ブロックがスキップモードで符号化される様子を説明するための説明図である。
【図５】図５は、同上の双方向動きベクトルによるピクチャ間予測符号化を説明するための説明図である。
【図６】図６は、同上の周辺ブロックが時間的なダイレクトモードで符号化されている様子を説明するための説明図である。
【図７】図７は、同上の周辺ブロックが空間的なダイレクトモードで符号化されている様子を説明するための説明図である。
【図８】図８は、同上の動きベクトル符号化部の他の動作を示すフロー図である。
【図９】図９は、本発明の第２の実施の形態における動画像復号化装置の構成を示すブロック図である。
【図１０】図１０は、同上の動きベクトル復号化部の動作を示すフロー図である。
【図１１】図１１は、同上の動画像復号化装置の入出力関係を説明するための説明図である。
【図１２】図１２は、同上の動きベクトル復号化部の他の動作を示すフロー図である。
【図１３】図１３は、本発明の第３の実施の形態における記録媒体についての説明図である。
【図１４】図１４は、本発明の第４の実施の形態におけるコンテンツ供給システムの全体構成を示すブロック図である。
【図１５】図１５は、同上の携帯電話の正面図である。
【図１６】図１６は、同上の携帯電話のブロック図である。
【図１７】図１７は、同上のディジタル放送用システムの全体構成を示すブロック図である。
【図１８】図１８は、動画像符号化方式における各ピクチャの予測関係を示す関係表示図である。
【図１９】図１９は、ダイレクトモードにおけるフレーム間予測方法を説明するための説明図である。
【図２０】図２０は、ＭＰＥＧ−４における符号化対象ブロックの動きベクトルの符号化方法を説明するための説明図である。
【図２１】図２１は、Ｈ．２６Ｌにおける符号化対象ブロックの動きベクトルの符号化方法を説明するための説明図である。
【図２２】図２２は、同上の符号化手順を示すフロー図である。
【発明を実施するための形態】
【００４６】
（実施の形態１）
以下、本発明の第１の実施の形態における動画像符号化装置について図面を参照しながら説明する。
【００４７】
図１は、本発明の第１の実施の形態における動画像符号化装置１００のブロック図である。
【００４８】
この動画像符号化装置１００は、動きベクトルの予測値の予測能力を高めることで符号化効率を向上したものであって、フレームメモリ１０１、差分演算部１０２、予測誤差符号化部１０３、符号列生成部１０４、予測誤差復号化部１０５、加算演算部１０６、フレームメモリ１０７、動きベクトル検出部１０８、モード選択部１０９、符号化制御部１１０、スイッチ１１１〜１１５、動きベクトル記憶部１１６、及び動きベクトル符号化部１１７を備える。
【００４９】
フレームメモリ１０１は、入力画像をピクチャ単位で保持する画像メモリであって、ピクチャ単位で時間順に取得された入力画像を符号化順に並び替えて出力する。その並び替えは、符号化制御部１１０により制御される。
【００５０】
図２の（ａ）は、フレームメモリ１０１に入力されるピクチャの様子を示す。
【００５１】
この図２の（ａ）において、縦線はピクチャを示し、各ピクチャの右下に示す記号のうち、１文字目のアルファベットがピクチャタイプ（Ｉ、ＰまたはＢ）を示し、２文字目以降の数字が時間順のピクチャ番号を示している。フレームメモリ１０１に入力された各ピクチャは、符号化順に並び替えられる。符号化順への並び替えは、ピクチャ間予測符号化における参照関係に基づいて行われ、参照ピクチャとして用いられるピクチャが、そのピクチャを参照ピクチャとして用いるピクチャよりも先に符号化されるように並び替えられる。例えば、ピクチャＰ７〜Ｐ１３の各ピクチャの参照関係は、図２の（ａ）に示す矢印の通りとなる。図２の（ａ）において、矢印の始点は参照されるピクチャを示し、矢印の終点は参照するピクチャを示している。この場合、図２の（ａ）のピクチャを並び替えた結果は図２の（ｂ）に示すようになる。
【００５２】
図２の（ｂ）は、（ａ）のように入力されたピクチャが並び替えられた様子を示す。このようにフレームメモリ１０１で並び替えが行われた各ピクチャは、マクロブロックの単位で読み出される。ここでは、マクロブロックは水平１６×垂直１６画素の大きさである。
【００５３】
差分演算部１０２は、フレームメモリ１０１から、スイッチ１１１を介してマクロブロック単位で画像データを取得するとともに、モード選択部１０９から動き補償画像を取得する。そして差分演算部１０２は、マクロブロック単位の画像データと動き補償画像との差分を演算し、予測誤差画像を生成して出力する。
【００５４】
予測誤差符号化部１０３は、スイッチ１１２を介して、フレームメモリ１０１から取得した画像データ、または差分演算部１０２で求められた予測誤差画像に離散コサイン変換などの周波数変換や量子化などの符号化処理を施すことにより、符号化データを作成する。例えば、周波数変換や量子化の処理は、水平８×垂直８画素の単位で行われる。そして予測誤差符号化部１０３は、符号化データを符号列生成部１０４と予測誤差復号化部１０５に出力する。
【００５５】
符号列生成部１０４は、予測誤差符号化部１０３からの符号化データに対して可変長符号化を施して、出力用の符号化ビットストリームのフォーマットに変換して、さらに動きベクトル符号化部１１７から入力された動きベクトルの情報、モード選択部１０９から入力された符号化モードの情報、その他のヘッダ情報等を付加することにより符号列を生成する。
【００５６】
予測誤差復号化部１０５は、予測誤差符号化部１０３からの符号化データを、逆量子化した後、逆離散コサイン変換などの逆周波数変換を施し、予測誤差画像に復号化する。
【００５７】
加算演算部１０６は、復号化結果である予測誤差画像に前記動き補償画像を加算して、符号化および復号化を経た画像データであって１ピクチャの画像を示す復号化画像を出力する。
【００５８】
フレームメモリ１０７は、加算演算部１０６から出力された復号化画像のうち、他のピクチャの符号化時に参照ピクチャとして用いられるピクチャをピクチャ単位で保持する画像メモリである。
【００５９】
動きベクトル検出部１０８は、フレームメモリ１０７に蓄積された復号化画像を参照ピクチャとして用いて、符号化対象のマクロブロック内の各ブロックに対して、動きベクトルの検出を行う。検出された動きベクトルは、モード選択部１０９に対して出力される。
【００６０】
モード選択部１０９は、動きベクトル検出部１０８で検出された動きベクトルを用いて、マクロブロックの符号化モードを決定する。ここで符号化モードとは、マクロブロックをどのような方法で符号化するかを示すものである。例えば、モード選択部１０９は、符号化対象ピクチャがＰピクチャの場合には、ピクチャ内符号化、動きベクトルを用いたピクチャ間予測符号化、及びスキップモード（他のブロックの動きベクトルから求めた動きベクトルを用いて予測符号化を行うことにより、動きベクトルを符号化せず、かつ予測誤差符号化の結果、係数値がすべて０となり、係数値を符号化しないピクチャ間予測符号化）の中から、いずれかを符号化モードとして決める。また、一般的には、所定のビット量で符号化誤差が最小となるような符号化モードが決定される。
【００６１】
そしてモード選択部１０９は、決定された符号化モードを符号列生成部１０４に、その符号化モードにおいて用いる動きベクトルを動きベクトル符号化部１１７に対して出力する。さらに、モード選択部１０９は、決定された符号化モードが動きベクトルを用いたピクチャ間予測符号化であるときには、そのピクチャ間予測符号化で用いられる動きベクトルと符号化モードを動きベクトル記憶部１１６に記憶させる。
【００６２】
また、モード選択部１０９は、決定された符号化モードと、動きベクトル検出部１０８で検出された動きベクトルとに基づいて動き補償を行って動き補償画像を作成し、その動き補償画像を差分演算部１０２と加算演算部１０６とに出力する。ただし、ピクチャ内符号化が選択された場合には、動き補償画像は出力されない。さらに、モード選択部１０９でピクチャ内符号化が選択された場合には、モード選択部１０９は、スイッチ１１１が端子ａに接続するように、スイッチ１１２が端子ｃに接続するように両スイッチ１１１，１１２を制御し、ピクチャ間予測符号化が選択された場合には、スイッチ１１１が端子ｂに接続するように、スイッチ１１２が端子ｄに接続するように両スイッチ１１１，１１２を制御する。また、上述の動き補償はブロック単位（ここでは８×８画素の大きさとする）で行われる。
【００６３】
符号化制御部１１０は、入力されたピクチャをどのタイプのピクチャ（Ｉ、ＰまたはＢピクチャ）で符号化するかを決定し、そのピクチャタイプにより、スイッチ１１３，１１４，１１５を制御する。ここで、ピクチャタイプの決定には、例えば、周期的にピクチャタイプを割り当てる方法が一般的に用いられる。
【００６４】
動きベクトル記憶部１１６は、ピクチャ間予測符号化で用いられる動きベクトルと符号化モードとをモード選択部１０９から取得してこれを記憶しておく。
【００６５】
動きベクトル符号化部１１７は、モード選択部１０９で動きベクトルを用いたピクチャ間予測符号化が選択されたときには、図２０や図２１を参照して説明した方法により、符号化対象ブロックの動きベクトルの符号化を行う。すなわち、動きベクトル符号化部１１７は、符号化対象ブロックの周辺にある３つの周辺ブロックを特定し、これらの周辺ブロックの動きベクトルから予測値を決定し、その予測値と符号化の対象となる現在のブロックの動きベクトルとの差分値を符号化する。
【００６６】
また、本実施の形態における動きベクトル符号化部１１７は、符号化対象ブロックの動きベクトルを符号化するときに、周辺ブロックがスキップモードやダイレクトモードなど、他のブロックの動きベクトルを用いて符号化されている場合には、その周辺ブロックの動きベクトルを従来例のように０とすることなく、その周辺ブロックの符号化の際に上記他のブロックの動きベクトルから求められた動きベクトルを、その周辺ブロックの動きベクトルとして扱う。
【００６７】
図３は、本実施の形態における動きベクトル符号化部１１７の一般的な動作を示すフロー図である。
【００６８】
まず、動きベクトル符号化部１１７は、符号化対象ブロックの周辺にある既に符号化済みの３つの周辺ブロックを特定する（ステップＳ１００）。
【００６９】
そして動きベクトル符号化部１１７は、その特定された周辺ブロックのそれぞれが、他のブロックの動きベクトルを用いて符号化された周辺ブロックＢａか、他のブロックの動きベクトルを用いずに符号化された周辺ブロックＢｂかを判別する（ステップＳ１０２）。
【００７０】
その結果、動きベクトル符号化部１１７は、特定された３つの周辺ブロックの中に周辺ブロックＢａが含まれているか否かを判別する（ステップＳ１０４）。
【００７１】
ステップＳ１０４で周辺ブロックＢａが含まれていると判別されたときには（ステップＳ１０４のＹ）、動きベクトル符号化部１１７は、周辺ブロックＢａを符号化するために他のブロックの動きベクトルから求められた動きベクトルをその周辺ブロックＢａの動きベクトルとして扱い、上述のように３つの周辺ブロックの動きベクトルから予測値を導出する（ステップＳ１０６）。
【００７２】
一方、ステップＳ１０４で周辺ブロックＢａが含まれていないと判別されたときには（ステップＳ１０４のＮ）、動きベクトル符号化部１１７は、３つの周辺ブロックＢｂのそれぞれの動き検出およびモード選択結果に基づく動きベクトルから予測値を導出する（ステップＳ１０８）。
【００７３】
そして動きベクトル符号化部１１７は、符号化対象ブロックの動きベクトルと、ステップＳ１０６，Ｓ１０８で導出された予測値との差分を符号化する（ステップＳ１１０）。また、動きベクトル符号化部１１７は、このように符号化された動きベクトルを符号列生成部１０４に対して出力する。
【００７４】
ここで、上述のような動画像符号化装置１００の符号化処理について、具体的に図２に示すピクチャＰ１３及びピクチャＢ１１の符号化を例に挙げて説明する。
【００７５】
＜ピクチャＰ１３の符号化処理＞
ピクチャＰ１３はＰピクチャであるので、動画像符号化装置１００は、ピクチャＰ１３に対して符号化処理するときには、他の１つのピクチャを参照ピクチャとして用いるピクチャ間予測符号化を行う。この場合の参照ピクチャはピクチャＰ１０となる。このピクチャＰ１０に対しては、既に符号化が終了しており、そのピクチャＰ１０の復号化画像がフレームメモリ１０７に蓄積されている。
【００７６】
符号化制御部１１０は、Ｐピクチャの符号化においては、スイッチ１１３、１１４、１１５がオンになるように各スイッチを制御する。したがって、フレームメモリ１０１から読み出されたピクチャＰ１３のマクロブロックは、動きベクトル検出部１０８、モード選択部１０９、及び差分演算部１０２に取得される。
【００７７】
動きベクトル検出部１０８は、フレームメモリ１０７に蓄積されたピクチャＰ１０の復号化画像を参照ピクチャとして用い、マクロブロック内の各ブロックに対して、動きベクトルの検出を行い、検出された動きベクトルをモード選択部１０９に対して出力する。
【００７８】
モード選択部１０９は、動きベクトル検出部１０８で検出された動きベクトルを用いて、ピクチャＰ１３のマクロブロックの符号化モードを決定する。即ち、ピクチャＰ１３はＰピクチャであるので、モード選択部１０９は、上述のように、ピクチャ内符号化、動きベクトルを用いたピクチャ間予測符号化、及びスキップモード（他のブロックの動きベクトルから求めた動きベクトルを用いて動き補償を行うことにより、動きベクトルを符号化せず、かつ予測誤差符号化の結果、すべての係数値が０となり係数値を符号化しないピクチャ間予測符号化）の中から符号化モードを決める。
【００７９】
そして本実施の形態における動きベクトル符号化部１１７は、上述のようにモード選択部１０９で動きベクトルを用いたピクチャ間予測符号化が選択されたときには、図２０を参照して説明した方法によりピクチャＰ１３の符号化対象ブロックの動きベクトルを符号化するが、その符号化対象ブロックの周辺にある周辺ブロックがスキップモードで符号化されている場合には、その周辺ブロックの動きベクトルを０とはせずに、その周辺ブロックを符号化するために他のブロックから求められた動きベクトルを、その周辺ブロックの動きベクトルとして扱う。
【００８０】
このような周辺ブロックがスキップモードで符号化されている場合における符号化対象ブロックの動きベクトルの符号化方法を説明する。
【００８１】
図４は、周辺ブロックＣがスキップモードで符号化される様子を説明するための説明図である。
【００８２】
この図４に示すように、ピクチャＰ１３の周辺ブロックＣがスキップモードで符号化されるときには、その周辺ブロックＣの周りに位置する、ブロックＥの動きベクトルＭＶｅと、ブロックＦの動きベクトルＭＶｆと、ブロックＧの動きベクトルＭＶｇとの中央値が求められ、その中央値を示す動きベクトルＭＶｃｍを用いて周辺ブロックＣが符号化されている。ここで、動きベクトルの中央値は、例えば水平成分と、垂直成分のそれぞれに対して中央値を求めることにより得られる。
【００８３】
動きベクトル符号化部１１７は、図４に示す符号化対象ブロックＡの動きベクトルを符号化するときには、符号化対象ブロックＡの周辺にある３つの周辺ブロックＢ，Ｃ，Ｄを特定し（ブロックＢ，Ｃ，Ｄの位置関係は、図２０、図２１を参照）、周辺ブロックＢ，Ｃ，Ｄのそれぞれが、他のブロックの動きベクトルを用いて符号化されたブロックか否かを判別する。その結果、動きベクトル符号化部１１７は、周辺ブロックＣのみがスキップモードで符号化、つまり他のブロックを用いて符号化されたと判別すると、上述のように周辺ブロックＣを符号化するために他のブロックであるブロックＥ，Ｆ，Ｇの動きベクトルから求められた中央値（動きベクトルＭＶｃｍ）を周辺ブロックＣの動きベクトルとして扱い、その動きベクトルＭＶｃｍと周辺ブロックＢ，Ｄのそれぞれの動きベクトルとの中央値を求め、この中央値を符号化対象ブロックＡの動きベクトルの予測値とする。そして、動きベクトル符号化部１１７は、その予測値と符号化対象ブロックＡの動きベクトルとの差分値を符号化する。
【００８４】
また、動きベクトル記憶部１１６は、符号化されたブロックの符号化モードを記憶しており、この動きベクトル記憶部１１６が記憶する符号化モードに基づき、動きベクトル符号化部１１７は、周辺ブロックＢ，Ｃ，Ｄのそれぞれが他のブロックの動きベクトルを用いて符号化されたブロックか否かを判別する。さらに、動きベクトル記憶部１１６は、他のブロックの動きベクトルを用いずに、参照ピクチャから検出された自らの動きベクトルを用いて符号化されたブロックに対しては、そのブロックの動きベクトルを記憶している。即ち、動きベクトル記憶部１１６は、ブロックＥ，Ｆ，Ｇのそれぞれの動きベクトルＭＶｅ，ＭＶｆ，ＭＶｇを記憶しており、動きベクトル符号化部１１７は、符号化対象ブロックＡの動きベクトルを符号化するときには、動きベクトル記憶部１１６が記憶するこれらの動きベクトルを用いて周辺ブロックＣに対して上述の動きベクトルＭＶｃｍを求める。なお、動きベクトル記憶部１１６が、他のブロックの動きベクトルを用いて符号化されたブロックに対して、そのブロックを符号化するために中央値を取って求められた動きベクトルを予め記憶しておいても良い。この場合、動きベクトル記憶部１１６は、動きベクトルＭＶｃｍを予め記憶しているため、動きベクトル符号化部１１７は符号化対象ブロックＡの動きベクトルを符号化するときに、周辺ブロックＣに対して動きベクトルＭＶｃｍを求める必要がなく、動きベクトル記憶部１１６が予め記憶する動きベクトルＭＶｃｍをそのまま周辺ブロックＣの動きベクトルとして用いることができる。
【００８５】
一方、ピクチャＰ１３の符号化対象のマクロブロックと動き補償画像との差分を示す予測誤差画像が、予測誤差符号化部１０３及び符号列生成部１０４で符号化されて符号化データとして生成されており、上述のように符号化された動きベクトルの情報は、符号列生成部１０４でその符号化データに付加される。但し、スキップモードで符号化されたマクロブロックについては、マクロブロックと動き補償画像との差分が０であり、動きベクトルの情報も符号化データに付加されない。
【００８６】
以後、同様の処理により、ピクチャＰ１３の残りのマクロブロックに対して、符号化処理が行われる。そして、ピクチャＰ１３のすべてのマクロブロックについて処理が終わると、次にピクチャＢ１１の符号化処理が行われる。
【００８７】
＜ピクチャＢ１１の符号化処理＞
ピクチャＢ１１はＢピクチャであるので、動画像符号化装置１００は、ピクチャＢ１１に対して符号化処理するときには、他の２つのピクチャを参照ピクチャとして用いるピクチャ間予測符号化を行う。この場合の参照ピクチャは、図２に示すように、ピクチャＢ１１の前方にあるピクチャＰ１０と、ピクチャＢ１１の後方にあるピクチャＰ１３とである。これらのピクチャＰ１０，Ｐ１３に対しては、既に符号化が終了しており、そのピクチャＰ１０，Ｐ１３の復号化画像がフレームメモリ１０７に蓄積されている。
【００８８】
符号化制御部１１０は、Ｂピクチャの符号化においては、スイッチ１１３がオン、スイッチ１１４、１１５がオフになるように各スイッチを制御する。したがって、フレームメモリ１０１から読み出されたピクチャＢ１１のマクロブロックは、動きベクトル検出部１０８、モード選択部１０９、及び差分演算部１０２に取得される。
【００８９】
動きベクトル検出部１０８は、フレームメモリ１０７に蓄積されたピクチャＰ１０の復号化画像を前方参照ピクチャとして用い、ピクチャＰ１３の復号化画像を後方参照ピクチャとして用いることにより、マクロブロック内の各ブロックに対して、前方動きベクトルと後方動きベクトルの検出を行い、検出された前方動きベクトル及び後方動きベクトルをモード選択部１０９に対して出力する。
【００９０】
モード選択部１０９は、動きベクトル検出部１０８で検出した前方動きベクトル及び後方動きベクトルを用いて、ピクチャＢ１１のマクロブロックの符号化モードを決定する。即ち、ピクチャＢ１１はＢピクチャであるので、モード選択部１０９は、例えば、ピクチャ内符号化、前方動きベクトルを用いたピクチャ間予測符号化、後方動きベクトルを用いたピクチャ間予測符号化、双方向動きベクトルを用いたピクチャ間予測符号化、及びダイレクトモード（他のブロックの動きベクトルから求めた動きベクトルを用いて動き補償を行い、動きベクトルを符号化しないピクチャ間予測符号化）の中から符号化モードを決める。
【００９１】
そして本実施の形態における動きベクトル符号化部１１７は、上述のようにモード選択部１０９で動きベクトルを用いたピクチャ間予測符号化が選択されたときには、図２０を参照して説明した方法によりピクチャＢ１３の符号化対象ブロックの動きベクトルを符号化する。
【００９２】
具体的に、モード選択部１０９で双方向動きベクトルを用いたピクチャ間予測符号化が選択されたときには、動きベクトル符号化部１１７は、以下のようにして符号化対象ブロックの動きベクトルを符号化する。
【００９３】
図５は、双方向動きベクトルを用いたピクチャ間予測符号化を説明するための説明図である。
【００９４】
動きベクトル符号化部１１７は、符号化対象ブロックＡの動きベクトルを符号化するときには、前方動きベクトルＭＶＦと後方動きベクトルＭＶＢとに対して符号化を行う。
【００９５】
つまり、動きベクトル符号化部１１７は、周辺ブロックＢ，Ｃ，Ｄのそれぞれの前方動きベクトルＭＶＦ１，ＭＶＦ２，ＭＶＦ３の中央値を、前方動きベクトルＭＶＦの予測値とし、前方動きベクトルＭＶＦとその予測値との差分値を符号化する。そして、動きベクトル符号化部１１７は、周辺ブロックＢ，Ｃ，Ｄのそれぞれの後方動きベクトルＭＶＢ１，ＭＶＢ２，ＭＶＢ３の中央値を、後方動きベクトルＭＶＢの予測値とし、後方動きベクトルＭＶＢとその予測値との差分値を符号化する。ここで動きベクトルの中央値は、例えば、水平成分、垂直成分の各成分ごとに中央値を取って求められる。
【００９６】
ここで本実施の形態における動きベクトル符号化部１１７は、Ｂピクチャの符号化対象ブロックの動きベクトルを符号化するときに、その周辺ブロックがダイレクトモードで符号化されている場合、その周辺ブロックの動きベクトルを０とはせずに、その周辺ブロックを符号化するために他のブロックから求められた動きベクトルを、その周辺ブロックの動きベクトルとする。また、ダイレクトモードには、時間的なダイレクトモードと空間的なダイレクトモードの２種類がある。
【００９７】
まず、周辺ブロックが時間的なダイレクトモードで符号化されている場合における符号化対象ブロックの動きベクトルの符号化方法について説明する。
【００９８】
図６は、周辺ブロックＣが時間的なダイレクトモードで符号化される様子を説明するための説明図である。
【００９９】
この図６に示すように、ピクチャＢ１１の周辺ブロックＣがダイレクトモードで符号化されるときには、直前に符号化された後方参照ピクチャであるピクチャＰ１３中の、周辺ブロックＣと同じ位置にあるブロックＸの動きベクトルＭＶｐを利用する。動きベクトルＭＶｐは、ブロックＸが符号化された際に用いられた動きベクトルであり、動きベクトル記憶部１１６に記憶されている。この動きベクトルＭＶｐは、ピクチャＰ１０を参照している。周辺ブロックＣの符号化に対しては、動きベクトルＭＶｐと平行な動きベクトルを用いて、参照ピクチャであるピクチャＰ１０とピクチャＰ１３とから双方向予測が行われる。この場合の周辺ブロックＣを符号化する際に用いられる動きベクトルは、ピクチャＰ１０に対しては動きベクトルＭＶＦｃ、ピクチャＰ１３に対しては動きベクトルＭＶＢｃとなる。
【０１００】
ここで、前方向動きベクトルである動きベクトルＭＶＦｃの大きさをｍｖｆ、後方向動きベクトルである動きベクトルＭＶＢｃの大きさをｍｖｂ、動きベクトルＭＶｐの大きさをｍｖｐ、符号化対象のピクチャ（ピクチャＢ１１）の後方参照ピクチャ（ピクチャＰ１３）と、その後方参照ピクチャのブロックが参照しているピクチャ（ピクチャＰ１０）との時間的距離をＴＲＤ、符号化対象のピクチャ（ピクチャＢ１１）と後方参照ピクチャのブロックが参照しているピクチャ（ピクチャＰ１０）との時間的距離をＴＲＢとすると、ｍｖｆ、ｍｖｂは、それぞれ以下に示す（式１）及び（式２）で求められる。
【０１０１】
ｍｖｆ＝ｍｖｐ×ＴＲＢ／ＴＲＤ----（式１）
ｍｖｂ＝（ＴＲＢ−ＴＲＤ）×ｍｖｐ／ＴＲＤ----（式２）
【０１０２】
ここで、ｍｖｆ、ｍｖｂは、動きベクトルの水平成分、垂直成分のそれぞれを表現しているものとする。また、動きベクトルＭＶｐの方向を正の値で示し、動きベクトルＭＶｐと逆の方向を負の値で示すものとする。
【０１０３】
周辺ブロックＣはこのように求められた動きベクトルＭＶＦｃ，ＭＶＢｃを用いて符号化されている。
【０１０４】
動きベクトル符号化部１１７は、図５に示す符号化対象ブロックＡの動きベクトルＭＶＦ，ＭＶＢを符号化するときには、符号化対象ブロックＡの周辺にある３つの周辺ブロックＢ，Ｃ，Ｄを特定し、周辺ブロックＢ，Ｃ，Ｄのそれぞれが、他のブロックの動きベクトルを用いて符号化されたブロックか否かを判別する。その結果、動きベクトル符号化部１１７は、周辺ブロックＣのみが時間的なダイレクトモードで符号化、つまり他のブロックの動きベクトルを用いて符号化されていると判別すると、図６に示すように周辺ブロックＣを符号化するために他のブロックであるブロックＸの動きベクトルＭＶｐから求められた動きベクトルＭＶＦｃ，ＭＶＢｃを周辺ブロックＣの動きベクトルとして扱い、これらの動きベクトルＭＶＦｃ，ＭＶＢｃと周辺ブロックＢ，Ｄのそれぞれの動きベクトルとの中央値を求めることで、符号化対象ブロックＡの動きベクトルの予測値を導出する。なお、このような予測値の導出は、前方向と後方向とに分けて行われる。そして、動きベクトル符号化部１１７は、その予測値と符号化対象ブロックＡの動きベクトルＭＶＦ，ＭＶＢとの差分値を符号化する。
【０１０５】
また、動きベクトル記憶部１１６は、符号化されたブロックの符号化モードを記憶しており、この動きベクトル記憶部１１６が記憶する符号化モードに基づき、動きベクトル符号化部１１７は、周辺ブロックＢ，Ｃ，Ｄのそれぞれが他のブロックの動きベクトルを用いて符号化されたブロックか否かを判別する。さらに、動きベクトル記憶部１１６は、他のブロックの動きベクトルを用いずに、参照ピクチャから検出された自らの動きベクトルを用いて符号化されたブロックに対しては、そのブロックの動きベクトルを記憶している。即ち、動きベクトル符号化部１１７は、符号化対象ブロックＡの動きベクトルを符号化するときには、周辺ブロックＢ，Ｄに対しては、動きベクトル記憶部１１６が記憶する動きベクトルをそのまま用いるが、周辺ブロックＣに対しては、動きベクトル記憶部１１６に記憶されているブロックＸの動きベクトルＭＶｐを読み出して動きベクトルＭＶＦｃ，ＭＶＢｃを求める。なお、動きベクトル記憶部１１６が、他のブロックの動きベクトルを用いて符号化されたブロックに対して、そのブロックを符号化するために他のブロックの動きベクトルから求められた動きベクトルを予め記憶しておいても良い。この場合、動きベクトル記憶部１１６は、動きベクトルＭＶＦｃ，ＭＶＢｃを予め記憶しているため、動きベクトル符号化部１１７は符号化対象ブロックＡの動きベクトルを符号化するときに、周辺ブロックＣに対して、ブロックＸの動きベクトルＭＶｐを読み出して（式１）および（式２）を用いて動きベクトルＭＶＦｃ，ＭＶＢｃを求める必要がなく、動きベクトル記憶部１１６が記憶する動きベクトルＭＶＦｃ，ＭＶＢｃをそのまま周辺ブロックＣの動きベクトルとして用いることができる。
【０１０６】
次に、周辺ブロックが空間的なダイレクトモードで符号化されている場合における符号化対象ブロックの動きベクトルの符号化方法について説明する。
【０１０７】
図７は、周辺ブロックが空間的なダイレクトモードで符号化される様子を説明するための説明図である。
【０１０８】
この図７に示すように、ピクチャＢ１１の周辺ブロックＣが空間的なダイレクトモードで符号化されるときには、周辺ブロックＣの周辺にあるブロックＥの動きベクトルＭＶＦｅ，ＭＶＢｅと、ブロックＦの動きベクトルＭＶＦｆ，ＭＶＢｆと、ブロックＧの動きベクトルＭＶＦｇ，ＭＶＢｇとからそれぞれ前後方向に分けて中央値を取って求められる動きベクトルＭＶＦｃ，ＭＶＢｃを用いて符号化される。
【０１０９】
動きベクトル符号化部１１７は、図５に示す符号化対象ブロックＡの動きベクトルＭＶＦ，ＭＶＢを符号化するときには、符号化対象ブロックＡの周辺にある３つの周辺ブロックＢ，Ｃ，Ｄを特定し、周辺ブロックＢ，Ｃ，Ｄのそれぞれが、他のブロックの動きベクトルを用いて符号化されたブロックか否かを判別する。その結果、動きベクトル符号化部１１７は、周辺ブロックＣのみが空間的なダイレクトモードで符号化、つまり他のブロックの動きベクトルを用いて符号化されていると判別すると、図７に示すように周辺ブロックＣを符号化するために他のブロックであるブロックＥ，Ｆ，Ｃの動きベクトルから求められた動きベクトルＭＶＦｃ，ＭＶＢｃを周辺ブロックＣの動きベクトルとして扱い、これらの動きベクトルと周辺ブロックＢ，Ｄのそれぞれの動きベクトルとの中央値を求めることで、符号化対象ブロックＡの動きベクトルの予測値を導出する。そして、動きベクトル符号化部１１７は、その予測値と符号化対象ブロックＡの動きベクトルＭＶＦ，ＭＶＢとの差分値を符号化する。
【０１１０】
また、動きベクトル記憶部１１６は、他のブロックの動きベクトルを用いずに、参照ピクチャから検出された自らの動きベクトルを用いて符号化されたブロックに対しては、そのブロックの動きベクトルを記憶しているので、ブロックＥ，Ｆ，Ｇのそれぞれに対して前後方向の２つの動きベクトルを記憶しており、動きベクトル符号化部１１７は、符号化対象ブロックＡの動きベクトルを符号化するときには、動きベクトル記憶部１１６が記憶するこれらの動きベクトルを用いて周辺ブロックＣに対して動きベクトルＭＶＦｃ，ＭＶＢｃを求める。なお、動きベクトル記憶部１１６が、他のブロックの動きベクトルを用いて符号化されたブロックに対して、そのブロックを符号化するために中央値を取って求められた前後方向の２つの動きベクトルを予め記憶しておいても良い。この場合、動きベクトル記憶部１１６は、動きベクトルＭＶＦｃ，ＭＶＢｃを予め記憶しているため、動きベクトル符号化部１１７は、符号化対象ブロックＡの動きベクトルを符号化するときに、周辺ブロックＣに対して動きベクトルＭＶＦｃ，ＭＶＢｃを求める必要がなく、動きベクトル記憶部１１６が記憶する動きベクトルＭＶＦｃ，ＭＶＢｃをそのまま周辺ブロックＣの動きベクトルとして用いることができる。
【０１１１】
このように、前述の時間的なダイレクトモードで周辺ブロックＣが符号化されているときには、符号化対象ピクチャの後方参照ピクチャ（上述の例では、ピクチャＰ１３）の動きベクトルを動きベクトル記憶部１１６に記憶させておく必要があったが、空間的なダイレクトモードで周辺ブロックＣが符号化されているときには、その記憶を省くことができる。
【０１１２】
ここで、動画像符号化装置１００は、符号化対象ブロックの動きベクトルを符号化するときに、その周辺にある周辺ブロックが上述のようなピクチャ間予測符号化ではなく、ピクチャ内符号化で処理されている場合には、例外的な処理を行う。
【０１１３】
例えば、３つの周辺ブロック中にピクチャ内符号化で符号化されたブロックが１つ存在する場合には、動画像符号化装置１００の動きベクトル符号化部１１７は、そのブロックの動きベクトルを０として処理を行う。また、ピクチャ内符号化で符号化された周辺ブロックが２つ存在する場合には、動きベクトル符号化部１１７は残りの１つの周辺ブロックの動きベクトルを、符号化対象ブロックの動きベクトルの予測値として用いる。さらに、３つの周辺ブロックの全てがピクチャ内符号化で符号化されている場合には、動きベクトル符号化部１１７は、符号化対象ブロックの動きベクトルの予測値を０としてその動きベクトルの符号化処理を行う。
【０１１４】
一方、ピクチャＢ１１の符号化対象のマクロブロックと動き補償画像との差分を示す予測誤差画像が、予測誤差符号化部１０３及び符号列生成部１０４で符号化されて符号化データとして生成されており、上述のように符号化された動きベクトルの情報は、符号列生成部１０４でその符号化データに付加される。ただし、ダイレクトモードで符号化されたマクロブロックについては、動きベクトルの情報は符号化データに付加されない。
【０１１５】
以後、同様の処理により、ピクチャＢ１１の残りのマクロブロックに対して、符号化処理が行われる。そして、ピクチャＢ１１のすべてのマクロブロックについて処理が終わると、次にピクチャＢ１２の符号化処理が行われる。
【０１１６】
以上のように、本発明の動きベクトル符号化方法は、各ブロックの動きベクトルを符号化するときには、既に符号化済みの周辺ブロックの動きベクトルから予測値を導出し、その予測値と符号化対象ブロックの動きベクトルとを用いてその動きベクトルの符号化を行う。そして、周辺ブロックがスキップモードやダイレクトモードのように、他のブロックの動きベクトルから求められた動きベクトルを用いて符号化されているような場合には、その周辺ブロックの符号化の際に上記他のブロックの動きベクトルから求められた動きベクトルを、その周辺ブロックの動きベクトルとして用いて予測値を導出する。
【０１１７】
これにより、符号化対象ブロックの動きベクトルを、周辺ブロックの動きベクトルから導出された予測値を用いて符号化するときに、その周辺ブロックが他のブロックの動きベクトルを用いて符号化されている場合、その周辺ブロックの動きベクトルを、従来例のように０とすることなく、上記他のブロックの動きベクトルから求められた動きベクトルとするため、上記予測値の予測能力を高めることができ、その結果、動きベクトルの符号化効率を向上することができる。
【０１１８】
なお、本実施の形態においては、マクロブロックは水平１６×垂直１６画素の単位で、動き補償は水平８×垂直８画素のブロック単位で、ブロック予測誤差画像の符号化は水平８×垂直８画素の単位で処理する場合について説明したが、これらの単位は別の画素数でも良い。
【０１１９】
また、本実施の形態においては、符号化済みの３つの周辺ブロックの動きベクトルから求められた中央値を動きベクトル符号化の際の予測値として用いる場合について説明したが、この周辺ブロック数は３つ以外の他の数であっても良く、予測値の決定方法は他の方法であっても良い。例えば、左隣のブロックの動きベクトルを予測値として用いる方法であっても良く、中央値ではなく平均値を用いる方法などであっても良い。
【０１２０】
また、本実施の形態においては、図２０、図２１を用いて、動きベクトルの符号化における周辺ブロックの位置を説明したが、これは他の位置であっても良い。
【０１２１】
また、本実施の形態においては、他のブロックの動きベクトルを利用して符号化対象のブロックを符号化する方法として、スキップモードや時間的及び空間的なダイレクトモードを例に挙げて説明したが、他の方法であっても良い。
【０１２２】
また、本実施の形態においては、符号化対象ブロックの動きベクトルと、周辺ブロックの動きベクトルから得られた予測値との差分を取ることにより動きベクトルの符号化を行う場合について説明したが、これは差分以外の方法により動きベクトルの符号化を行っても良い。
【０１２３】
また、本実施の形態においては、空間的なダイレクトモードで周辺ブロックが符号化されている場合、その周辺ブロックの周辺にある符号化済みの３つのブロックの動きベクトルの中央値を求め、その中央値を周辺ブロックの動きベクトルとして扱う場合について説明したが、そのブロック数は３つ以外の他の数であっても良く、動きベクトルの決定方法は他の方法であっても良い。例えば、左隣のブロックの動きベクトルを周辺ブロックの動きベクトルとして用いる方法であっても良く、中央値ではなく平均値を用いる方法などであっても良い。
【０１２４】
また、本実施の形態においては、空間的なダイレクトモードでＢピクチャのブロックを符号化するときには、そのブロックに対して前後方向の２つの動きベクトルを求めたが、前方向又は後方向の一方向の２つの動きベクトルを求めても良い。この場合、Ｂピクチャは、そのピクチャに対して前方又は後方の一方向にある２枚のピクチャを参照している。
【０１２５】
また、本実施の形態においては、Ｐピクチャの符号化においては、予め定められた１つのピクチャを参照し（例えばピクチャＰ１３の符号化においては、ピクチャＰ１０を参照）、Ｂピクチャの符号化においては、予め定められた２つのピクチャを参照し（例えばピクチャＢ１１の符号化においては、ピクチャＰ１０とＰ１３を参照）、符号化する場合について説明したが、これらは、複数のピクチャからマクロブロックやブロック毎に参照するピクチャを選択して符号化しても良い。このような場合に、動きベクトルの予測値を生成するには、図８に示すようにすればよい。
【０１２６】
図８は、ブロック毎に参照ピクチャが選択される場合において、動きベクトル符号化部１１７が符号化対象ブロックの動きベクトルの予測値を導出してその動きベクトルを符号化する動作を示すフロー図である。
【０１２７】
まず、動きベクトル符号化部１１７は、符号化対象ブロックの周辺にある既に符号化済みの３つの周辺ブロックを特定する（ステップＳ３００）。
【０１２８】
そして動きベクトル符号化部１１７は、その特定された周辺ブロックのそれぞれが、他のブロックの動きベクトルを用いて符号化された周辺ブロックＢａか、他のブロックの動きベクトルを用いずに符号化された周辺ブロックＢｂかを判別する（ステップＳ３０２）。
【０１２９】
ここで動きベクトル符号化部１１７は、周辺ブロックＢａに対しては、その符号化で用いた動きベクトルと、その周辺ブロックＢａがどの参照ピクチャを参照しているかを示す情報とを取得して、その符号化で用いた動きベクトルを周辺ブロックＢａの動きベクトルとして扱い、周辺ブロックＢｂに対しては、その周辺ブロックＢｂの動きベクトルと、その周辺ブロックＢｂがどの参照ピクチャを参照しているかを示す情報とを取得する（ステップＳ３０４）。
【０１３０】
次に動きベクトル符号化部１１７は、ステップＳ３０４で取得した情報に基づき、３つの周辺ブロックのうち符号化対象ブロックと同じピクチャを参照している周辺ブロックを特定し（ステップＳ３０６）、その特定された周辺ブロックの数を判別する（ステップＳ３０８）。
【０１３１】
そして、動きベクトル符号化部１１７は、ステップＳ３０８で判別された周辺ブロックの数が１個であれば、同じピクチャを参照しているその１つの周辺ブロックの動きベクトルを、符号化対象ブロックの動きベクトルＭＶの予測値とする（ステップＳ３１０）。
【０１３２】
また、ステップＳ３０８で判別された周辺ブロックの数が１個以外であれば、動きベクトル符号化部１１７は、３つの周辺ブロックのうち符号化対象ブロックと異なるピクチャを参照している周辺ブロックの動きベクトルを０として（ステップＳ３１２）、３つの周辺ブロックの動きベクトルの中央値を、符号化対象ブロックの動きベクトルＭＶの予測値とする（ステップＳ３１４）。
【０１３３】
動きベクトル符号化部１１７は、このようにステップＳ３１０又はステップＳ３１４で導出された予測値を用い、その予測値と符号化対象ブロックの動きベクトルＭＶとの差分値を求め、その差分値を符号化する（ステップＳ３１６）。
【０１３４】
また、本実施の形態のように、動きベクトルの符号化を空間的に隣接するブロックの動きベクトルを予測値として用いて行う場合、動きベクトルの符号化のために動きベクトル記憶部１１６に保持しておく動きベクトルの量は、動きベクトル記憶部１１６にスキップモードやダイレクトモードで実際に動き補償に利用した動きベクトルを保持しておく場合には、１マクロブロックライン（高さが１マクロブロックで横幅が画面の横幅に等しい領域）分のブロックの動きベクトルを保持しておけば良い。これは、動きベクトル記憶部１１６にスキップモードやダイレクトモードで実際に動き補償に利用した動きベクトルを保持しておく場合で、本実施の形態において図２０や図２１を用いて説明したような周辺ブロックを用いる場合、動きベクトルの符号化の際に周辺ブロックとして参照されるブロックは、現在のマクロブロックを起点として、過去１マクロブロックスライス分であるからである。
【０１３５】
（実施の形態２）
以下、本発明の第２の実施の形態における動画像復号化装置７００について図面を参照しながら説明する。
【０１３６】
図９は、本発明の第２の実施の形態における動画像復号化装置７００のブロック図である。
【０１３７】
この図９に示す動画像復号化装置７００は、実施の形態１の動画像符号化装置１００により符号化された動画像を復号化するものであって、符号列解析部７０１、予測誤差復号化部７０２、モード復号部７０３、動き補償復号部７０５、動きベクトル記憶部７０６、フレームメモリ７０７、加算演算部７０８、スイッチ７０９，７１０及び動きベクトル復号化部７１１を備えている。
【０１３８】
符号列解析部７０１は、入力された符号列から各種データを抽出する。ここでいう各種データとは、符号化モードの情報および動きベクトルに関する情報などである。抽出された符号化モードの情報は、モード復号部７０３に出力される。また、抽出された動きベクトルの情報は、動きベクトル復号化部７１１に出力される。さらに、抽出された予測誤差符号化データは、予測誤差復号化部７０２に対して出力される。
【０１３９】
予測誤差復号化部７０２は、入力された予測誤差符号化データの復号化を行い、予測誤差画像を生成する。生成された予測誤差画像はスイッチ７０９に対して出力される。そして、スイッチ７０９が端子ｂに接続されているときには、予測誤差画像は加算演算部７０８に対して出力される。
【０１４０】
モード復号部７０３は、符号列から抽出された符号化モードの情報を参照し、スイッチ７０９とスイッチ７１０との制御を行う。符号化モードがピクチャ内符号化である場合には、スイッチ７０９を端子ａに接続するとともに、スイッチ７１０を端子ｃに接続するように制御し、符号化モードがピクチャ間符号化である場合には、スイッチ７０９を端子ｂに接続するとともに、スイッチ７１０を端子ｄに接続するように制御する。さらに、モード復号部７０３は、符号化モードの情報を動きベクトル復号化部７１１に対して出力する。
【０１４１】
動きベクトル復号化部７１１は、符号列解析部７０１から出力された動きベクトルの情報に対して、復号化処理を行う。
【０１４２】
即ち、動きベクトル復号化部７１１は、符号化モード情報が動きベクトルを用いたピクチャ間予測符号化を示す場合には、図２０、図２１を用いて説明したのと同様、復号化対象のブロックに対して、既に復号化された周辺ブロックの動きベクトルを用いて予測値を導出する。例えば図２０に示すように、動きベクトル復号化部７１１は、復号化対象ブロックＡに対して、周辺ブロックＢの動きベクトルＭＶｂ、周辺ブロックＣの動きベクトルＭＶｃ、及び周辺ブロックＤの動きベクトルＭＶｄから予測値を導出する。ここで予測値は、３つの復号化済みの動きベクトルＭＶｂ，ＭＶｃ，ＭＶｄの水平成分、垂直成分毎に求めた中央値（メディアン）を取って求められる。そして、動きベクトル復号化部７１１は、符号列解析部７０１から出力された動きベクトルの情報である差分値に、その予測値を足し合わせて、復号化対象ブロックＡの動きベクトルＭＶを決定する。
【０１４３】
また、動きベクトル復号化部７１１は、符号化モード情報が例えば上述のスキップモードや時間的又は空間的なダイレクトモードの何れかである場合には、既に復号化された周辺ブロックの動きベクトルのみを用いて動きベクトルを決定する。
【０１４４】
図１０は、本実施の形態における動きベクトル復号化部７１１の一般的な動作を示すフロー図である。まず、動きベクトル符号化部７１１は、復号化対象ブロックの周辺にある既に復号化済みの３つの周辺ブロックを特定する（ステップＳ２００）。
【０１４５】
そして動きベクトル復号化部７１１は、その特定された周辺ブロックのそれぞれが、他の動きベクトルを用いて符号化されていた周辺ブロックＢａか、他の動きベクトルを用いずに符号化されていた周辺ブロックＢｂかを判別する（ステップＳ２０２）。
【０１４６】
その結果、動きベクトル復号化部７１１は、特定された３つの周辺ブロックの中に周辺ブロックＢａが含まれているか否かを判別する（ステップＳ２０４）。
【０１４７】
ステップＳ２０４で周辺ブロックＢａが含まれていると判別されたときには（ステップＳ２０４のＹ）、動きベクトル復号化部７１１は、周辺ブロックＢａを復号化するために他のブロックの動きベクトルから求められた動きベクトルをその周辺ブロックＢｂの動きベクトルとして扱い、上述のように３つの周辺ブロックの動きベクトルから予測値を導出する（ステップＳ２０６）。
【０１４８】
一方、ステップＳ２０６で周辺ブロックＢａが含まれていないと判別されたときには（ステップＳ２０４のＮ）、動きベクトル復号化部７１１は、３つの周辺ブロックＢｂのそれぞれの検出結果に基づく動きベクトルから予測値を導出する（ステップＳ２０８）。
【０１４９】
そして動きベクトル復号化部７１１は、符号列解析部７０１から出力された動きベクトルの情報である差分値に、ステップＳ２０６，Ｓ２０８で導出された予測値を加算することで、復号化対象ブロックの符号化された動きベクトルを復号化する（ステップＳ２１０）。また、動きベクトル復号化部７１１は、このように復号化された動きベクトルを動き補償復号部７０５に対して出力する。
【０１５０】
動きベクトル記憶部７０６は、動きベクトル復号化部７１１で復号化された動きベクトルとモード復号部７０３で得られた符号化モードを記憶しておく。
【０１５１】
動き補償復号部７０５は、動きベクトル復号化部７１１で復号化された動きベクトルに基づいて、フレームメモリ７０７からマクロブロックごとに動き補償画像を取得する。そして動き補償復号部７０５は、その動き補償画像を加算演算部７０８に出力する。
【０１５２】
加算演算部７０８は、入力された予測誤差画像と動き補償画像とを加算し、復号化画像を生成し、その生成された復号化画像をフレームメモリ７０７に対して出力する。
【０１５３】
また、フレームメモリ７０７は、加算演算部７０８により生成された復号化画像をフレームごとに保持する。
【０１５４】
このような動画像復号化装置７００の動作について、まず一般的な概略動作から説明する。
【０１５５】
図１１は、動画像復号化装置７００の入出力関係を説明するための説明図である。
【０１５６】
動画像復号化装置７００は、この図１１の（ａ）に示すように、実施の形態１の動画像符号化装置１００から出力された符号列をその出力順に取得して、その符号列中に含まれるピクチャを順に復号化する。そして動画像復号化装置７００は、図１１中の（ｂ）に示すように、復号化されたピクチャを表示順に並び替えて出力する。
【０１５７】
ここで、上述のような動画像復号化装置７００の復号化処理について、具体的に図１１に示すピクチャＰ１３及びピクチャＢ１１の復号化を例に挙げて説明する。
【０１５８】
＜ピクチャＰ１３の復号化処理＞
まず、動画像復号化装置７００の符号列解析部７０１は、ピクチャＰ１３の符号列を取得して、その符号列からモード選択情報及び動きベクトル情報並びに予測誤差符号化データを抽出する。
【０１５９】
モード復号部７０３は、ピクチャＰ１３の符号列から抽出されたモード選択情報を参照し、スイッチ７０９と７１０の制御を行う。
【０１６０】
以下、モード選択情報がピクチャ間予測符号化を示す場合について説明する。
【０１６１】
動きベクトル復号化部７１１は、モード復号部７０３からのピクチャ間予測符号化を示すモード選択情報に基づき、ピクチャＰ１３の符号列から抽出された動きベクトルの情報に対して、ブロック毎に上述のような復号化処理を行う。
【０１６２】
ここで、動きベクトル復号化部７１１は、ピクチャＰ１３の復号化対象ブロックの動きベクトルを復号化するときに、その復号化対象ブロックの周辺にある既に復号化済みの３つの周辺ブロックを特定し、これらの周辺ブロックが他のブロックの動きベクトルを用いて符号化されていたか否かを判別した結果、何れかの周辺ブロックが他の動きベクトルを用いて符号化されていたブロック、つまりスキップモードで符号化されていたブロックの場合には、実施の形態１の動きベクトル符号化部１１７と同様、その周辺ブロックを復号化するために他のブロックの動きベクトルから求められた動きベクトルをその周辺ブロックの動きベクトルとして扱う。即ち、動きベクトル復号化部７１１は、その周辺ブロックの周辺にある既に復号化された３つのブロックの動きベクトルから中央値を求め、これをその周辺ブロックの動きベクトルとして扱う。
【０１６３】
また、動きベクトル記憶部７０６は、モード復号部７０３からのモード選択情報を記憶しており、この動きベクトル記憶部７０６が記憶するモード選択情報に基づき、動きベクトル復号化部７１１は、周辺ブロックのそれぞれが他のブロックの動きベクトルを用いて符号化されていたブロックか否かを判別する。さらに、動きベクトル記憶部７０６は、周辺ブロックの復号化に用いられる他のブロックの動きベクトルを記憶している。即ち、動きベクトル記憶部７０６は、スキップモードで符号化されていた周辺ブロックの周辺にある３つのブロックのそれぞれの動きベクトルを記憶しており、動きベクトル復号化部７１１は、復号化対象ブロックの動きベクトルを復号化するときには、その周辺ブロックに対して、動きベクトル記憶部７０６が記憶する上記３つのブロックの動きベクトルから中央値を求める。なお、動きベクトル記憶部７０６が、他のブロックの動きベクトルを用いて符号化されていたブロックに対して、そのブロックを復号化するために中央値を取って求められた動きベクトルを予め記憶しておいても良い。この場合、動きベクトル復号化部７１１は、復号化対象ブロックの動きベクトルを復号化するときに、スキップモードで符号化されていた周辺ブロックに対して動きベクトルを求める必要がなく、動きベクトル記憶部７０６が記憶する動きベクトルをそのままその周辺ブロックの動きベクトルとして用いることができる。
【０１６４】
一方、ピクチャＰ１３の復号化対象のマクロブロックに対する予測誤差符号化データが予測誤差復号化部７０２で復号化されて予測誤差画像として生成されており、スイッチ７０９，７１０が加算演算部７０８に接続されているため、動きベクトル復号化部７１１で復号化された動きベクトルに基づいて生成された動き補償画像は、その予測誤差画像に加算されて、フレームメモリ７０７に対して出力される。
【０１６５】
また、動きベクトル復号化部７１１は、Ｐピクチャに対して動きベクトルの復号化を行うときには、後のピクチャやブロックの復号化のため、その動きベクトルとモード復号部７０３から得られた符号化モードを動きベクトル記憶部７０６に記憶させている。
【０１６６】
以後、同様の処理により、ピクチャＰ１３の残りのマクロブロックが順に復号化される。そして、ピクチャＰ１３のマクロブロックがすべて復号化されると、ピクチャＢ１１の復号化が行われる。
【０１６７】
＜ピクチャＢ１１の復号化処理＞
まず、動画像復号化装置７００の符号列解析部７０１は、ピクチャＢ１１の符号列を取得して、その符号列からモード選択情報及び動きベクトル情報並びに予測誤差符号化データを抽出する。
【０１６８】
モード復号部７０３は、ピクチャＢ１１の符号列から抽出されたモード選択情報を参照し、スイッチ７０９と７１０の制御を行う。
【０１６９】
以下、モード選択情報がピクチャ間予測符号化を示す場合について説明する。
【０１７０】
動きベクトル復号化部７１１は、モード復号部７０３からのピクチャ間予測符号化を示すモード選択情報に基づき、ピクチャＢ１１の符号列から抽出された動きベクトルの情報に対して、ブロック毎に上述のような復号化処理を行う。
【０１７１】
ここで、動きベクトル復号化部７１１は、ピクチャＢ１１の復号化対象ブロックの動きベクトルを復号化するときに、その復号化対象ブロックの周辺にある既に復号化済みの３つの周辺ブロックを特定し、これらの周辺ブロックが他のブロックの動きベクトルを用いて符号化されていたか否かを判別した結果、何れかの周辺ブロックが他のブロックの動きベクトルを用いて符号化されていたブロック、つまり時間的や空間的なダイレクトモードで符号化されていたブロックの場合には、実施の形態１の動きベクトル符号化部１１７と同様、その周辺ブロックを復号化するために他のブロックの動きベクトルを用いて求められた動きベクトルをその周辺ブロックの動きベクトルとして扱う。
【０１７２】
具体的に、動きベクトル復号化部７１１は、周辺ブロックが時間的なダイレクトモードで符号化されていた場合、動きベクトル記憶部７０６から、直前に復号化された参照ピクチャ（ピクチャＰ１３）中の、ダイレクトモードで符号化された周辺ブロックと同じ位置にあるブロックの動きベクトルを読み出す。例えば図６に示すように、周辺ブロックＣが時間的なダイレクトモードで符号化されていたとすると、動きベクトル復号化部７１１は、動きベクトル記憶部７０６からピクチャＰ１３のブロックＸの復号化後の動きベクトルを読み出す。そして、（式１）および（式２）を用いて、周辺ブロックＣを符号化するために用いる前方動きベクトルＭＶＦｃおよび後方動きベクトルＭＶＢｃを求め、この動きベクトルＭＶＦｃ，ＭＶＢｃを周辺ブロックＣの動きベクトルとして用いる。
【０１７３】
なお、上述の場合では、動きベクトル復号化部７１１は、ピクチャＰ１３中の、ダイレクトモードで符号化されていた周辺ブロックＣと同じ位置にあるブロックＸの動きベクトルＭＶｐを動きベクトル記憶部７０６から読み出したが、動きベクトル記憶部７０６が、他のブロックの動きベクトルを用いて符号化されていたブロックに対して、そのブロックを復号化するために他のブロックの動きベクトルから求められた動きベクトルを予め記憶しておいても良い。この場合、動きベクトル記憶部７０６は、動きベクトルＭＶＦｃ，ＭＶＢｃを予め記憶しているため、動きベクトル復号化部７１１は、符号化対象ブロックＡの動きベクトルを符号化するときに、周辺ブロックＣに対して、ブロックＸの動きベクトルＭＶｐを読み出して（式１）および（式２）を用いて動きベクトルＭＶＦｃ，ＭＶＢｃを求める必要がなく、動きベクトル記憶部７０６が記憶する動きベクトルＭＶＦｃ，ＭＶＢｃをそのまま周辺ブロックＣの動きベクトルとして用いることができる。
【０１７４】
一方、周辺ブロックが空間的なダイレクトモードで符号化されていた場合、動きベクトル復号化部７１１は、その周辺ブロックの周辺にある他のブロックの動きベクトルを用いて求められた動きベクトルを、その周辺ブロックの動きベクトルとして扱う。例えば、図７に示すような状況では、動きベクトル復号化部７１１は、空間的なダイレクトモードで符号化されていた周辺ブロックＣに対して、その周辺にある既に復号化された３つのブロックＥ，Ｆ，Ｇの動きベクトルから中央値を求め、この中央値が示す前方動きベクトルＭＶＦｃと後方動きベクトルＭＶＢｃをその周辺ブロックＣの動きベクトルとして扱う。
【０１７５】
また、動きベクトル記憶部７０６は、他のブロックの動きベクトルを用いずに符号化されていたブロックに対しては、そのブロックの復号化に用いた動きベクトルを記憶しているため、図７に示すような状況では、空間的なダイレクトモードで符号化されていた周辺ブロックＣの周辺にある３つのブロックＥ，Ｆ，Ｇのそれぞれの動きベクトルを記憶しており、動きベクトル復号化部７１１は、復号化対象のブロックＡの動きベクトルを復号化するときには、その周辺ブロックＣに対して、動きベクトル記憶部７０６が記憶する上記３つのブロックＥ，Ｆ，Ｇの動きベクトルから動きベクトルＭＶＦｃ，ＭＶＢｃを求める。
【０１７６】
なお、動きベクトル記憶部７０６が、他のブロックの動きベクトルを用いて符号化されていたブロックに対して、そのブロックを復号化するために中央値を取って求められた動きベクトルを予め記憶しておいても良い。この場合には、図７に示すような状況において、動きベクトル記憶部７０６は、動きベクトルＭＶＦｃ，ＭＶＢｃを予め記憶しており、動きベクトル復号化部７１１は、復号化対象のブロックＡの動きベクトルを復号化するときに、空間的なダイレクトモードで符号化されていた周辺ブロックＣに対して動きベクトルを求める必要がなく、動きベクトル記憶部７０６が記憶する動きベクトルＭＶＦｃ，ＭＶＢｃをそのままその周辺ブロックＣの動きベクトルとして用いることができる。
【０１７７】
ここで、動画像復号化装置７００は、復号化対象ブロックの動きベクトルを復号化するときに、その周辺にある既に復号化済みの周辺ブロックが上述のようなピクチャ間予測符号化ではなく、ピクチャ内符号化で処理されていた場合には、例外的な処理を行う。
【０１７８】
例えば、３つの周辺ブロック中にピクチャ内符号化で符号化されていた周辺ブロックが１つ存在する場合には、動画像復号化装置７００の動きベクトル復号化部７１１は、その周辺ブロックの動きベクトルを０として処理を行う。また、ピクチャ内符号化で符号化された周辺ブロックが２つ存在する場合には、動きベクトル復号化部７１１は残りの１つの周辺ブロックの動きベクトルを、復号化対象ブロックの動きベクトルの予測値として用いる。さらに、３つの周辺ブロックの全てがピクチャ内符号化で符号化されていた場合には、動きベクトル復号化部７１１は、復号化対象ブロックの動きベクトルの予測値を０としてその動きベクトルの復号化処理を行う。
【０１７９】
一方、ピクチャＢ１１の復号化対象のマクロブロックに対する予測誤差符号化データが予測誤差復号化部７０２で復号化されて予測誤差画像として生成されており、スイッチ７０９，７１０が加算演算部７０８に接続されているため、動きベクトル復号化部７１１で復号化された動きベクトルに基づいて生成された動き補償画像は、その予測誤差画像に加算されて、フレームメモリ７０７に対して出力される。
【０１８０】
以後、同様の処理により、ピクチャＢ１１の残りのマクロブロックが順に復号化される。そして、ピクチャＢ１１のマクロブロックがすべて復号化されると、ピクチャＢ１２の復号化が行われる。
【０１８１】
以上のように、本発明の動きベクトル復号化方法は、各ブロックの動きベクトルを復号化するときには、既に復号化済みの周辺ブロックの動きベクトルから予測値を導出し、その予測値と差分値とを用いることにより、動きベクトルの復号化を行う。そして、周辺ブロックがスキップモードやダイレクトモードのように、他のブロックの動きベクトルを用いて符号化されていたような場合には、その周辺ブロックの復号化のために他のブロックの動きベクトルから求められた動きベクトルを、その周辺ブロックの動きベクトルとして用いて予測値を導出する。
【０１８２】
これにより、実施の形態１のような方法で符号化が行われた動きベクトルを正しく復号化することができる。
【０１８３】
なお、本実施の形態においては、復号化済みである３つの周辺ブロックの動きベクトルから求められた中央値を動きベクトル復号化の際の予測値として用いる場合について説明したが、この周辺ブロック数は３つ以外の他の数であっても良く、予測値の決定方法は他の方法であっても良い。例えば、左隣のブロックの動きベクトルを予測値として用いる方法であっても良く、中央値でなく平均値を用いる方法などであっても良い。
【０１８４】
また、本実施の形態においては、図２０、図２１を用いて、動きベクトルの復号化における周辺ブロックの位置を説明したが、これは他の位置であっても良い。
【０１８５】
また、本実施の形態においては、他のブロックの動きベクトルを利用してブロックを符号化する方法として、スキップモードや時間方法及び空間的なダイレクトモードを例に挙げて説明したが、これは他の方法であっても良い。
【０１８６】
また、本実施の形態においては、周辺ブロックの動きベクトルから得られた予測値と、符号列により示される差分値との加算を行うことにより動きベクトルの復号化を行う場合について説明したが、これは加算以外の方法により動きベクトルの復号化を行っても良い。
【０１８７】
また、本実施の形態においては、空間的なダイレクトモードで周辺ブロックが符号化されていた場合おいて、その周辺ブロックの周辺にある復号化済みの３つのブロックの動きベクトルの中央値を求め、その中央値を周辺ブロックの動きベクトルとして扱う場合について説明したが、そのブロック数は３つ以外の他の数であっても良く、動きベクトルの決定方法は他の方法であっても良い。例えば、左隣のブロックの動きベクトルを周辺ブロックの動きベクトルとして用いる方法であっても良く、中央値ではなく平均値を用いる方法などであっても良い。
【０１８８】
また、本実施の形態においては、空間的なダイレクトモードで符号化されていた周辺ブロックがある場合、その周辺ブロックに対して前後方向の２つの動きベクトルを求めたが、前方向又は後方向の一方向の２つの動きベクトルを求めても良い。この場合、復号化対象のＢピクチャは、そのピクチャに対して前方又は後方の一方向にある２枚のピクチャを参照している。
【０１８９】
また、本実施の形態においては、Ｐピクチャの復号化においては、予め定められた１つのピクチャを参照し（例えばピクチャＰ１３の復号化においては、ピクチャＰ１０を参照）、Ｂピクチャの復号化においては、予め定められた２つのピクチャを参照し（例えばピクチャＢ１１の復号化においては、ピクチャＰ１０とＰ１３を参照）、復号化する場合について説明したが、これらは、複数のピクチャからマクロブロックやブロック毎に参照するピクチャを選択して復号化しても良い。このような場合に、動きベクトルの予測値を生成するには、図１２に示すようにすればよい。
【０１９０】
図１２は、ブロック毎に参照ピクチャが選択される場合において、動きベクトル復号化部７１１が復号化対象ブロックの動きベクトルの予測値を導出し、その予測値を用いて復号化する動作を示すフロー図である。
【０１９１】
まず、動きベクトル復号化部７１１は、復号化対象ブロックの周辺にある既に復号化済みの３つの周辺ブロックを特定する（ステップＳ４００）。
【０１９２】
そして動きベクトル復号化部７１１は、その特定された周辺ブロックのそれぞれが、他のブロックの動きベクトルを用いて符号化されていた周辺ブロックＢａか、他のブロックの動きベクトルを用いずに符号化されていた周辺ブロックＢｂかを判別する（ステップＳ４０２）。
【０１９３】
ここで動きベクトル復号化部７１１は、周辺ブロックＢａに対しては、その復号化で用いた動きベクトルと、その周辺ブロックＢａがどの参照ピクチャを参照しているかを示す情報とを取得して、その復号化で用いた動きベクトルを周辺ブロックＢａの動きベクトルとして扱い、周辺ブロックＢｂに対しては、その周辺ブロックＢｂの動きベクトルと、その周辺ブロックＢｂがどの参照ピクチャを参照しているかを示す情報とを取得する（ステップＳ４０４）。
【０１９４】
次に動きベクトル復号化部７１１は、ステップＳ４０４で取得した情報に基づき、３つの周辺ブロックのうち復号化対象ブロックと同じピクチャを参照している周辺ブロックを特定し（ステップＳ４０６）、その特定された周辺ブロックの数を判別する（ステップＳ４０８）。
【０１９５】
そして、動きベクトル復号化部７１１は、ステップＳ４０８で判別された周辺ブロックの数が１個であれば、同じピクチャを参照しているその１つの周辺ブロックの動きベクトルを、復号化対象ブロックの動きベクトルの予測値とする（ステップＳ４１０）。
【０１９６】
また、ステップＳ４０８で判別された周辺ブロックの数が１個以外であれば、動きベクトル復号化部７１１は、３つの周辺ブロックのうち復号化対象ブロックと異なるピクチャを参照している周辺ブロックの動きベクトルを０として（ステップＳ４１２）、３つの周辺ブロックの動きベクトルの中央値を、復号化対象ブロックの動きベクトルの予測値とする（ステップＳ４１４）。
【０１９７】
このようにステップＳ４１０又はステップＳ４１４で導出された予測値を用い、その予測値に差分値を加算してこれを復号化対象ブロックの動きベクトルに復号化する（ステップＳ４１６）。
【０１９８】
また、本実施の形態のように、動きベクトルの復号化を空間的に隣接するブロックの動きベクトルを予測値として用いて行う場合、動きベクトルの復号化のために動きベクトル記憶部７０６に保持しておく動きベクトルの量は、動きベクトル記憶部７０６にスキップモードやダイレクトモードで実際に動き補償に利用した動きベクトルを保持しておく場合には、１マクロブロックライン（高さが１マクロブロックで横幅が画面の横幅に等しい領域）分のブロックの動きベクトルを保持しておけば良い。これは、動きベクトル記憶部７０６にスキップモードやダイレクトモードで実際に動き補償に利用した動きベクトルを保持しておく場合で、本実施の形態において図２０や図２１を用いて説明したような周辺ブロックを用いる場合、動きベクトルの復号化の際に周辺ブロックとして参照されるブロックは、現在のマクロブロックを起点として、過去１マクロブロックスライス分であるからである。
【０１９９】
（実施の形態３）
さらに、上記各実施の形態で示した動きベクトル符号化方法または動きベクトル復号化方法を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【０２００】
図１３は、実施の形態１及び実施の形態２の動画像符号化装置１００及び動画像復号化装置２００が実行する動きベクトル符号化方法および動きベクトル復号化方法をコンピュータシステムにより実現するためのプログラムを格納する記憶媒体についての説明図である。
【０２０１】
図１３中の（ｂ）は、フレキシブルディスクＦＤの正面からみた外観、断面構造、及びディスク本体ＦＤ１を示し、図１３中の（ａ）は、記録媒体の本体であるディスク本体ＦＤ１の物理フォーマットの例を示している。
【０２０２】
ディスク本体ＦＤ１はケースＦ内に内蔵され、ディスク本体ＦＤ１の表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成され、各トラックは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクＦＤでは、上記ディスク本体ＦＤ１上に割り当てられた領域に、上記プログラムとしての動きベクトル符号化方法や動きベクトル復号化方法が記録されている。
【０２０３】
また、図１３中の（ｃ）は、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。
【０２０４】
上記プログラムをフレキシブルディスクＦＤに記録する場合は、コンピュータシステムＣｓが上記プログラムとしての動きベクトル符号化方法または動きベクトル復号化方法をフレキシブルディスクドライブＦＤＤを介して書き込む。また、フレキシブルディスクＦＤ内のプログラムにより上記動きベクトル符号化方法又は動きベクトル復号化方法をコンピュータシステムＣｓ中に構築する場合は、フレキシブルディスクドライブＦＤＤによりプログラムがフレキシブルディスクＦＤから読み出され、コンピュータシステムＣｓに転送される。
【０２０５】
なお、上記説明では、記録媒体としてフレキシブルディスクＦＤを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【０２０６】
（実施の形態４）
さらにここで、上記実施の形態で示した動きベクトル符号化方法や動きベクトル復号化方法の応用例とそれを用いたシステムを説明する。
【０２０７】
図１４は、コンテンツ配信サービスを実現するコンテンツ供給システムex１００の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex１０７〜ex１１０が設置されている。
【０２０８】
このコンテンツ供給システムex１００は、例えば、インターネットex１０１にインターネットサービスプロバイダex１０２および電話網ex１０４、および基地局ｅｘ１０７〜ｅｘ１１０を介して、コンピュータex１１１、ＰＤＡ（personal digital assistant）ex１１２、カメラex１１３、携帯電話ex１１４、カメラ付きの携帯電話ｅｘ１１５などの各機器が接続される。
【０２０９】
しかし、コンテンツ供給システムex１００は図１４のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex１０７〜ex１１０を介さずに、各機器が電話網ex１０４に直接接続されてもよい。
【０２１０】
カメラex１１３はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、ＰＤＣ（Personal Digital Communications）方式、ＣＤＭＡ（Code Division Multiple Access）方式、Ｗ−ＣＤＭＡ（Wideband-Code Division Multiple Access）方式、若しくはＧＳＭ（Global System for Mobile Communications）方式の携帯電話機、またはＰＨＳ（Personal Handyphone System）等であり、いずれでも構わない。
【０２１１】
また、ストリーミングサーバex１０３は、カメラex１１３から基地局ex１０９、電話網ex１０４を通じて接続されており、カメラex１１３を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex１１３で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラex１１６で撮影した動画データはコンピュータex１１１を介してストリーミングサーバex１０３に送信されてもよい。カメラex１１６はデジタルカメラ等の静止画、動画が撮影可能な機器である。
【０２１２】
この場合、動画データの符号化はカメラex１１６で行ってもコンピュータex１１１で行ってもどちらでもよい。また、符号化処理はコンピュータex１１１やカメラex１１６が有するＬＳＩex１１７において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータex１１１等で読み取り可能な記録媒体である何らかの蓄積メディア（ＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスクなど）に組み込んでもよい。さらに、カメラ付きの携帯電話ex１１５で動画データを送信してもよい。このときの動画データは携帯電話ex１１５が有するＬＳＩで符号化処理されたデータである。
【０２１３】
このコンテンツ供給システムex１００では、ユーザがカメラex１１３、カメラex１１６等で撮影しているコンテンツ（例えば、音楽ライブを撮影した映像等）を上記実施の形態同様に符号化処理してストリーミングサーバex１０３に送信する一方で、ストリーミングサーバex１０３は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex１１１、ＰＤＡex１１２、カメラex１１３、携帯電話ex１１４等がある。このようにすることでコンテンツ供給システムex１００は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
【０２１４】
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した動画像符号化装置あるいは動画像復号化装置を用いるようにすればよい。
【０２１５】
その一例として携帯電話について説明する。
【０２１６】
図１５は、上記実施の形態で説明した動きベクトル符号化方法と動きベクトル復号化方法を用いた携帯電話ex１１５を示す図である。携帯電話ex１１５は、基地局ex１１０との間で電波を送受信するためのアンテナex２０１、ＣＣＤカメラ等の映像、静止画を撮ることが可能なカメラ部ex２０３、カメラ部ex２０３で撮影した映像、アンテナex２０１で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex２０２、操作キーｅｘ２０４群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex２０８、音声入力をするためのマイク等の音声入力部ex２０５、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex２０７、携帯電話ex１１５に記録メディアex２０７を装着可能とするためのスロット部ex２０６を有している。記録メディアex２０７はＳＤカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）の一種であるフラッシュメモリ素子を格納したものである。
【０２１７】
さらに、携帯電話ex１１５について図１６を用いて説明する。携帯電話ex１１５は表示部ex２０２及び操作キーｅｘ２０４を備えた本体部の各部を統括的に制御するようになされた主制御部ex３１１に対して、電源回路部ex３１０、操作入力制御部ex３０４、画像符号化部ex３１２、カメラインターフェース部ex３０３、ＬＣＤ（Liquid Crystal Display）制御部ex３０２、画像復号化部ex３０９、多重分離部ex３０８、記録再生部ex３０７、変復調回路部ex３０６及び音声処理部ex３０５が同期バスex３１３を介して互いに接続されている。
【０２１８】
電源回路部ex３１０は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex１１５を動作可能な状態に起動する。
【０２１９】
携帯電話ex１１５は、ＣＰＵ、ＲＯＭ及びＲＡＭ等でなる主制御部ex３１１の制御に基づいて、音声通話モード時に音声入力部ex２０５で集音した音声信号を音声処理部ex３０５によってディジタル音声データに変換し、これを変復調回路部ex３０６でスペクトラム拡散処理し、送受信回路部ex３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex２０１を介して送信する。また携帯電話機ex１１５は、音声通話モード時にアンテナex２０１で受信した受信信号を増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex３０６でスペクトラム逆拡散処理し、音声処理部ex３０５によってアナログ音声信号に変換した後、これを音声出力部ｅｘ２０８を介して出力する。
【０２２０】
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーｅｘ２０４の操作によって入力された電子メールのテキストデータは操作入力制御部ex３０４を介して主制御部ex３１１に送出される。主制御部ex３１１は、テキストデータを変復調回路部ex３０６でスペクトラム拡散処理し、送受信回路部ex３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex２０１を介して基地局ex１１０へ送信する。
【０２２１】
データ通信モード時に画像データを送信する場合、カメラ部ex２０３で撮像された画像データをカメラインターフェース部ex３０３を介して画像符号化部ex３１２に供給する。また、画像データを送信しない場合には、カメラ部ex２０３で撮像した画像データをカメラインターフェース部ex３０３及びＬＣＤ制御部ex３０２を介して表示部ex２０２に直接表示することも可能である。
【０２２２】
画像符号化部ex３１２は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex２０３から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex３０８に送出する。また、このとき同時に携帯電話機ex１１５は、カメラ部ex２０３で撮像中に音声入力部ex２０５で集音した音声を音声処理部ex３０５を介してディジタルの音声データとして多重分離部ex３０８に送出する。
【０２２３】
多重分離部ex３０８は、画像符号化部ex３１２から供給された符号化画像データと音声処理部ex３０５から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex３０６でスペクトラム拡散処理し、送受信回路部ex３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex２０１を介して送信する。
【０２２４】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex２０１を介して基地局ex１１０から受信した受信信号を変復調回路部ex３０６でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex３０８に送出する。
【０２２５】
また、アンテナex２０１を介して受信された多重化データを復号化するには、多重分離部ex３０８は、多重化データを分離することにより画像データの符号化ビットストリームと音声データの符号化ビットストリームとに分け、同期バスex３１３を介して当該符号化画像データを画像復号化部ex３０９に供給すると共に当該音声データを音声処理部ex３０５に供給する。
【０２２６】
次に、画像復号化部ex３０９は、本願発明で説明した画像復号化装置を備えた構成であり、画像データの符号化ビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをＬＣＤ制御部ex３０２を介して表示部ex２０２に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex３０５は、音声データをアナログ音声信号に変換した後、これを音声出力部ex２０８に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
【０２２７】
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図１７に示すようにディジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex４０９では映像情報の符号化ビットストリームが電波を介して通信または放送衛星ex４１０に伝送される。これを受けた放送衛星ex４１０は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex４０６で受信し、テレビ（受信機）ex４０１またはセットトップボックス（ＳＴＢ）ex４０７などの装置により符号化ビットストリームを復号化してこれを再生する。
【０２２８】
また、記録媒体であるCDやDVD等の蓄積メディアex４０２に記録した符号化ビットスト
リームを読み取り、復号化する再生装置ex４０３にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex４０４に表示される。また、ケーブルテレビ用のケーブルex４０５または衛星／地上波放送のアンテナex４０６に接続されたセットトップボックスex４０７内に画像復号化装置を実装し、これをテレビのモニタex４０８で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex４１１を有する車ex４１２で衛星ex４１０からまたは基地局ex１０７等から信号を受信し、車ex４１２が有するカーナビゲーションex４１３等の表示装置に動画を再生することも可能である。
【０２２９】
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクｅｘ４２１に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダｅx４２０がある。更にSDカードｅｘ４２２に記録することもできる。レコーダｅｘ４２０が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクｅｘ４２１やSDカードｅｘ４２２に記録した画像信号を再生し、モニタｅｘ４０８で表示することができる。
【０２３０】
なお、カーナビゲーションex４１３の構成は例えば図１６に示す構成のうち、カメラ部ex２０３とカメラインターフェース部ex３０３、画像符号化部ｅｘ３１２を除いた構成が考えられ、同様なことがコンピュータex１１１やテレビ（受信機）ex４０１等でも考えられる。
【０２３１】
また、上記携帯電話ex１１４等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の３通りの実装形式が考えられる。
【０２３２】
このように、上記実施の形態で示した動きベクトル符号化方法あるいは動きベクトル復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
【産業上の利用可能性】
【０２３３】
本発明の動きベクトル符号化方法および動きベクトル復号化方法は、動きベクトルの予測値の予測能力を高めることで符号化効率を向上することができるという効果を奏し、例えば画像符号化装置および画像復号化装置などに適用することができる。
【符号の説明】
【０２３４】
１０１、１０７  フレームメモリ
１０２  差分演算部
１０３  予測誤差符号化部
１０４  符号列生成部
１０５  予測誤差復号化部
１０６  加算演算部
１０８  動きベクトル検出部
１０９  モード選択部
１１６  動きベクトル記憶部
１１７  動きベクトル符号化部
Ｃｓ    コンピュータシステム
ＦＤ    フレキシブルディスク
ＦＤＤ    フレキシブルディスクドライブ
【図１】
2010283874.tif 000003
【図２】
2010283874.tif 000004
【図３】
2010283874.tif 000005
【図４】
2010283874.tif 000006
【図５】
2010283874.tif 000007
【図６】
2010283874.tif 000008
【図７】
2010283874.tif 000009
【図８】
2010283874.tif 000010
【図９】
2010283874.tif 000011
【図１０】
2010283874.tif 000012
【図１１】
2010283874.tif 000013
【図１２】
2010283874.tif 000014
【図１３】
2010283874.tif 000015
【図１４】
2010283874.tif 000016
【図１５】
2010283874.tif 000017
【図１６】
2010283874.tif 000018
【図１７】
2010283874.tif 000019
【図１８】
2010283874.tif 000020
【図１９】
2010283874.tif 000021
【図２０】
2010283874.tif 000022
【図２１】
2010283874.tif 000023
【図２２】
2010283874.tif 000024