(57)【要約】【目的】インタレース映像に対するダイレクトモードにおいて、非常に小さなオーバーヘッドで従来方法と比較して符号化効率を大きく改善する。【解決手段】フィールドＢ３１のブロックａをダイレクトモードで処理する場合に、後方参照フィールドであるＰ４１のブロックｂを処理する際に用いた動きベクトルＡを参照動きベクトルとする。この参照動きベクトルＡがフィールドＰ１１とＰ１２のいずれを参照するかにより、スケーリング時の係数を切り替える。また、スケーリング時の複数の係数間に所定の関係がある場合には、一部の係数のみを関連情報として記述する。【選択図】　図７
2004048632.tif 000002
【特許請求の範囲】
【請求項１】
動画像をフレーム構造またはフィールド構造を有するピクチャの列として符号化し、得られた符号列を出力する方法であって、
ピクチャを構成するブロックごとに動きベクトルを算出する動きベクトル算出ステップと、
算出された動きベクトルを参照動きベクトルとして、係数を用いたスケーリング処理を行うことによって処理対象ブロックの動きベクトルを予測して生成する動きベクトル予測ステップと、
前記係数を前記符号列とともに出力する係数出力ステップと
を含むことを特徴とする動画像符号化方法。
【請求項２】
前記係数出力ステップでは、前記係数を前記ピクチャの関連情報に含ませて出力する
ことを特徴とする請求項１記載の動画像符号化方法。
【請求項３】
前記動きベクトル予測ステップでは、１つの符号化対象ピクチャについて複数の係数を生成し、
前記係数出力ステップでは、生成された複数の係数のうち、一部の係数のみを前記関連情報に含ませて出力する
ことを特徴とする請求項２記載の動画像符号化方法。
【請求項４】
前記動きベクトル予測ステップでは、予め保持している複数の係数の中から、前記処理対象ブロックが参照しているピクチャに対応する１つの係数を選択し、選択した係数を用いて前記動きベクトルを生成する
ことを特徴とする請求項１記載の動画像符号化方法。
【請求項５】
前記動きベクトル予測ステップでは、前記処理対象ブロックが属するピクチャと参照先のピクチャとの時間的距離に基づいて前記係数を算出し、生成する
ことを特徴とする請求項１記載の動画像符号化方法。
【請求項６】
前記動きベクトル予測ステップでは、整数と２のべき乗との比を前記係数として生成する
ことを特徴とする請求項１記載の動画像符号化方法。
【請求項７】
請求項１記載の動画像符号化方法によって出力された符号列を復号化する方法であって、
前記符号列から前記係数を取り出し、取り出した係数を用いてスケーリング処理を行うことによって処理対象ブロックの動きベクトルを算出する動きベクトル算出ステップと、
算出された動きベクトルを用いて前記処理対象ブロックの復号化を行う復号化ステップと
を含むことを特徴とする動画像復号化方法。
【請求項８】
前記符号列には、１つのピクチャを構成するブロックについての複数の係数のうち、一部の係数のみが含まれ、
前記動きベクトル算出ステップでは、前記符号列から前記一部の係数を取り出しとともに、複数の係数のうちの残る係数については、前記一部の係数から所定の方法によって求める
を含むことを特徴とする請求項７記載の動画像復号化方法。
【請求項９】
ピクチャ列からなる動画像を符号化し、得られた符号列を出力する装置であって、
ピクチャを構成するブロックごとに動きベクトルを算出する動きベクトル算出手段と、
算出された動きベクトルを参照動きベクトルとして、係数を用いたスケーリング処理を行うことによって処理対象ブロックの動きベクトルを予測して生成する動きベクトル予測手段と、
前記係数を前記符号列とともに出力する係数出力手段と
を備えることを特徴とする動画像符号化装置。
【請求項１０】
請求項９記載の動画像符号化装置によって出力された符号列を復号化する装置であって、
前記符号列から前記係数を取り出し、取り出した係数を用いてスケーリング処理を行うことによって処理対象ブロックの動きベクトルを算出する動きベクトル算出手段と、
算出された動きベクトルを用いて前記処理対象ブロックの復号化を行う復号化手段と
を備えることを特徴とする動画像復号化装置。
【請求項１１】
ピクチャ列からなる動画像を符号化し、得られた符号列を出力するためのプログラムであって、
請求項１〜６のいずれか１項に記載の動画像符号化方法に含まれるステップをコンピュータに実行させる
ことを特徴とするプログラム。
【請求項１２】
請求項１記載の動画像符号化方法によって出力された符号列を復号化するためのプログラムであって、
請求項７又は８記載の動画像復号化方法に含まれるステップをコンピュータに実行させる
ことを特徴とするプログラム。
【請求項１３】
ピクチャ列からなる動画像が符号化された符号列が記録されたコンピュータ読み取り可能な記録媒体であって、
ピクチャを構成するブロックについて既に算出された動きベクトルを参照動きベクトルとしてスケーリング処理を行うことによって処理対象ブロックの動きベクトルを予測して生成するのに用いられる係数が前記符号列に含まれている
ことを特徴とする記録媒体。
【請求項１４】
前記係数は、当該係数に係るブロックが属するピクチャの関連情報に含まれている
ことを特徴とする請求項１３記載の記録媒体。
【請求項１５】
前記符号列には、１つのピクチャを構成するブロックについての複数の係数のうち、一部の係数のみが含まれている
ことを特徴とする請求項１３記載の記録媒体。
【請求項１６】
前記係数は、整数と２のべき乗との比である
ことを特徴とする請求項１３記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フレーム間予測符号化を用いて符号化および復号化を行う動画像符号化方法および動画像復号化方法、動画像符号化装置、動画像復号化装置、並びにそれをソフトウェアで実施するためのプログラム、およびプログラムを格納した記録媒体に関する。
【０００２】
【従来の技術】
動画像符号化においては、一般に動画像が有する空間方向および時間方向の冗長性を利用して情報量の圧縮を行う。ここで、時間方向の冗長性を利用する方法として、フレーム間予測符号化が用いられる。フレーム間予測符号化では、あるフレームを符号化する際に、表示時間順で前方または後方にあるフレームを参照フレームとする。そして、その参照フレームからの動き量を検出し、動き補償を行ったフレームと符号化対象のフレームとの差分値に対して空間方向の冗長度を取り除くことにより情報量の圧縮を行う。
【０００３】
ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６３等の動画像符号化方式では、ピクチャ間予測符号化を行わない、すなわちピクチャ内符号化を行うフレームをＩピクチャと呼ぶ。ここでピクチャとは、フレームおよびフィールドの両者を包含する１つの符号化の単位を意味する。また、表示時間順で前方にあるピクチャを参照してピクチャ間予測符号化するピクチャをＰピクチャと呼び、表示時間順で前方および後方にある既に処理済みのピクチャを参照してピクチャ間予測符号化するピクチャをＢピクチャと呼ぶ。図１９に上記の動画像符号化方式における、各フレームの予測関係を示す。図１９において、縦線は１枚のフレームを示しており、各フレームの右下にフレームタイプ（Ｉ、Ｐ、Ｂ）を示している。また図１９中の矢印は、矢印の終端にあるフレームが、矢印の始端にあるフレームを参照フレームとして用いてフレーム間予測符号化することを示している。例えば、先頭から２枚目のＢフレームは、先頭のＩフレームと先頭から４枚目のＰフレームを参照画像として用いることにより符号化する。
【０００４】
ＭＰＥＧ−４方式では、Ｂピクチャの符号化において、ダイレクトモードという符号化モードを選択することができる（例えば、非特許文献１参照）。ダイレクトモードにおける従来のフレーム間予測方法を図２０を用いて説明する（例えば、特許文献１参照）。今、フレームＢ３のブロックａをダイレクトモードで符号化するとする。この場合、フレームＢ３の後方参照フレームであるフレームＰ４中の、ブロックａと同じ位置にあるブロックｂの動きベクトルＡを利用する。
動きベクトルＡは、ブロックｂが符号化または復号化された際に用いられた動きベクトルであり、フレームＰ１を参照している。ブロックａは、動きベクトルＡから所定の方法により計算して得られる動きベクトルを用いて、参照フレームであるフレームＰ１とフレームＰ４から動き補償を行う。この場合のブロックａを符号化する際に用いる動きベクトルは、フレームＰ１に対しては動きベクトルＢ、フレームＰ４に対しては動きベクトルＣとなる。この際、動きベクトルＡの大きさをＭＶ、動きベクトルＢの大きさをＭＶｆ、動きベクトルＣの大きさをＭＶｂとすると、ＭＶｆ、ＭＶｂはそれぞれ式１、式２によって得られる。
（式１）　ＭＶｆ＝Ｎ×ＭＶ／Ｄ
（式２）　ＭＶｂ＝−Ｍ×ＭＶ／Ｄ
【０００５】
ここで、Ｎ、Ｍ、Ｄはフレーム単位で定められた１組の値であり、以下ではこれらの値をスケーリング係数と呼ぶことにする。スケーリング係数の値は、符号化時に決定すれば良い。一例としては、各フレーム間の時間的距離を用いて設定することができる。今、フレームＰ１からＰ４の時間的距離をＤ、フレームＰ１からＢ３の時間的距離をＮ、フレームＢ３からＰ４の時間的距離をＭと設定すれば、ＭＶｆとＭＶｂはＭＶに平行な動きベクトルとなる。
【０００６】
【非特許文献１】
ＩＮＴＥＲＮＡＴＩＯＮＡＬ　ＳＴＡＮＤＡＲＤ　ＩＳＯ／ＩＥＣ１４４９６−２：１９９９／ａｍｄ．１：２０００（Ｅ）
【０００７】
【特許文献１】
特開平１１−７５１９１号公報
【０００８】
【発明が解決しようとする課題】
上記従来の方法をインタレース画像に適用する場合を考える。ここで、インタレース画像とは、１つのフレームが２つのフィールドから構成される画像である。インタレース画像の符号化や復号化処理においては、１つのフレームをフレームのまま処理したり、２つのフィールドとして処理したり、フレーム内のブロック毎にフレーム構造またはフィールド構造として処理したりすることができる。
インタレース映像をフィールド単位で処理する場合、同一フィールド内のブロックを処理する場合であっても、ブロックによって、ダイレクトモードにおける参照ピクチャとして第１フィールドと第２フィールドのいずれを用いるかが異なる。これは、例えばダイレクトモードにおける前方参照フィールドが、後方参照フィールドが参照するフィールドとなるためである。このように、ブロックによってダイレクトモードにおける前方参照フィールドが異なるため、動きベクトルに対するスケーリング係数の最適な値も異なる。したがって、符号化や復号化対象のフレームやフィールド単位でスケーリング係数を１組だけ定めると符号化効率が低下するという問題が生じる。
【０００９】
本発明は上記問題点を鑑みてなされたものであり、インタレース映像に対するダイレクトモードにおいて、非常に小さなオーバーヘッドで従来方法と比較して符号化効率を大きく改善することができる、動きベクトル計算方法および動画像符号化方法および動画像復号化方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、本発明に係る動画像符号化方法は、ピクチャ列からなる動画像を符号化し、得られた符号列を出力する方法であって、ピクチャを構成するブロックごとに動きベクトルを算出する動きベクトル算出ステップと、算出された動きベクトルを参照動きベクトルとして、係数を用いたスケーリング処理を行うことによって処理対象ブロックの動きベクトルを予測して生成する動きベクトル予測ステップと、前記係数を前記符号列とともに出力する係数出力ステップとを含むことを特徴とする。
【００１１】
また、本発明に係る動画像復号化方法は、請求項１記載の動画像符号化方法によって出力された符号列を復号化する方法であって、前記符号列から前記係数を取り出し、取り出した係数を用いてスケーリング処理を行うことによって処理対象ブロックの動きベクトルを算出する動きベクトル算出ステップと、算出された動きベクトルを用いて前記処理対象ブロックの復号化を行う復号化ステップとを含むことを特徴とする。
【００１２】
また、本発明に係る動画像符号化装置は、ピクチャ列からなる動画像を符号化し、得られた符号列を出力する装置であって、ピクチャを構成するブロックごとに動きベクトルを算出する動きベクトル算出手段と、算出された動きベクトルを参照動きベクトルとして、係数を用いたスケーリング処理を行うことによって処理対象ブロックの動きベクトルを予測して生成する動きベクトル予測手段と、前記係数を前記符号列とともに出力する係数出力手段とを備えることを特徴とする。
【００１３】
また、本発明に係る動画像復号化装置は、請求項９記載の動画像符号化装置によって出力された符号列を復号化する装置であって、前記符号列から前記係数を取り出し、取り出した係数を用いてスケーリング処理を行うことによって処理対象ブロックの動きベクトルを算出する動きベクトル算出手段と、算出された動きベクトルを用いて前記処理対象ブロックの復号化を行う復号化手段とを備えることを特徴とする。
【００１４】
さらに、本発明は、前記動画像符号化方法および動画像復号化方法におけるステップをコンピュータに実行させるプログラムとして実現し、ＣＤ−ＲＯＭや通信ネットワーク等の記録媒体や伝送媒体を介して流通させたりすることもできる。
【００１５】
【発明の実施の形態】
本発明の実施の形態について、図面を参照して説明する。
【００１６】
（実施の形態１）
図１は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。
【００１７】
動画像符号化装置は、フレームメモリ１０１、差分演算部１０２、予測誤差符号化部１０３、符号列生成部１０４、予測誤差復号化部１０５、加算演算部１０６、フレームメモリ１０７、動きベクトル検出部１０８、モード選択部１０９、符号化制御部１１０、スイッチ１１１〜１１５、および動きベクトル記憶部１１６を備えている。
【００１８】
フレームメモリ１０１は、表示時間順にピクチャ単位で入力された動画像を格納する。符号化制御部１１０は、フレームメモリ１０１に格納された各ピクチャを符号化が行われる順に並び替えを行う。また、符号化制御部１１０は、動きベクトル記憶部１１６への動きベクトルの記憶動作を制御する。さらに、符号化制御部１１０は、後で詳細に説明するスケーリング係数を決定し、符号列生成部１０４およびモード選択部１０９へ出力する。
【００１９】
動きベクトル検出部１０８は、符号化済みの復号化画像データを参照ピクチャとして用いて、そのピクチャ内の探索領域において最適と予測される位置を示す動きベクトルの検出を行う。モード選択部１０９は、動きベクトル検出部１０８で検出された動きベクトルを用いて、マクロブロックの符号化モードを決定する。差分演算部１０２は、フレームメモリ１０１より読み出された画像データと、モード選択部１０９より入力された参照画像データとの差分を演算し、予測誤差画像データを生成する。
【００２０】
予測誤差符号化部１０３は、入力された予測誤差画像データに対して周波数変換や量子化等の符号化処理を行い、符号化データを生成する。符号列生成部１０４は、入力された符号化データに対して可変長符号化等を行い、さらにモード選択部１０９から入力された動きベクトルの情報、符号化モードの情報、およびその他の関連情報等を付加することにより符号列を生成する。
【００２１】
予測誤差復号化部１０５は、入力された符号化データに対して逆量子化や逆周波数変換等の復号化処理を行い、復号化差分画像データを生成する。加算演算部１０６は、予測誤差復号化部１０５より入力された復号化差分画像データと、モード選択部１０９より入力された参照画像データとを加算し、復号化画像データを生成する。フレームメモリ１０７は、生成された復号化画像データを格納する。
【００２２】
次に、上記のように構成された動画像符号化装置の動作について説明する。
図２は、フレームメモリ１０１におけるピクチャの順序を示す説明図であり、（ａ）　入力された順序、（ｂ）　並び替えられた順序を示す説明図である。ここで、縦線はピクチャを示し、各ピクチャの右下に示す記号は１文字目のアルファベットがピクチャタイプ（Ｉ、Ｐ、またはＢ）を、２文字目以降の数字が表示時間順のピクチャ番号を示している。また、Ｐピクチャは、表示時間順で前方にある近傍３枚のＩピクチャまたはＰピクチャを参照ピクチャとし、Ｂピクチャは、表示時間順で前方にある近傍３枚のＩピクチャまたはＰピクチャと、表示時間順で後方にある近傍１枚のＩピクチャまたはＰピクチャとを参照ピクチャとして用いるものとしている。
【００２３】
入力画像は、例えば図２（ａ）　に示すように表示時間順にピクチャ単位でフレームメモリ１０１に入力される。フレームメモリ１０１にピクチャが入力されると、符号化制御部１１０は、入力されたピクチャをどのタイプのピクチャ（Ｉ、Ｐ、またはＢピクチャ）で符号化するかを決定し、決定したピクチャタイプによりスイッチ１１３〜１１５を制御する。なお、ピクチャタイプの決定は、例えば周期的にピクチャタイプを割り当てる方法が一般的に用いられている。
【００２４】
符号化制御部１１０は、ピクチャタイプを決定すると、フレームメモリ１０１内で入力された各ピクチャを、例えば図２（ｂ）　に示すように符号化が行われる順に並び替える。この符号化順への並び替えは、ピクチャ間予測符号化における参照関係に基づいて行われ、参照ピクチャとして用いられるピクチャが、参照ピクチャとして用いるピクチャよりも先に符号化されるように並び替えられる。
【００２５】
フレームメモリ１０１で並び替えが行われた各ピクチャは、例えば水平１６×垂直１６画素のグループに分割されたマクロブロック単位で読み出される。また、動き補償は、例えば水平８×垂直８画素のグループに分割されたブロック単位で行っている。
【００２６】
以降の動作については、符号化対象のピクチャがＰピクチャの場合とＢピクチャの場合に分けてそれぞれ説明する。
【００２７】
＜Ｐピクチャの場合＞
Ｐピクチャでは、前方参照を用いたピクチャ間予測符号化を行っている。例えば、図２（ａ）　に示す例でピクチャＰ１３の符号化処理を行う場合、参照ピクチャはピクチャＰ１０、Ｐ７、Ｐ４となる。これら参照ピクチャは、既に符号化が終了しており、復号化画像データがフレームメモリ１０７に格納されている。
【００２８】
Ｐピクチャの符号化時には、符号化制御部１１０は、スイッチ１１３〜１１５がオンになるように各スイッチを制御する。これにより、フレームメモリ１０１より読み出されたピクチャＰ１３のマクロブロックは、動きベクトル検出部１０８、モード選択部１０９、および差分演算部１０２に入力される。
【００２９】
動きベクトル検出部１０８は、マクロブロック内の各ブロックに対して、フレームメモリ１０７に格納された復号化画像データを参照ピクチャとして用いて、動きベクトルの検出を行う。動きベクトル検出部１０８は、検出した動きベクトルをモード選択部１０９に対して出力する。
【００３０】
モード選択部１０９は、動きベクトル検出部１０８で検出された動きベクトルを用いて、マクロブロックの符号化モードを決定する。ここで、符号化モードとはマクロブロックをどのような方法で符号化するかを示すものである。例えば、Ｐピクチャの場合には、ピクチャ内符号化、動きベクトルを用いたピクチャ間予測符号化、動きベクトルを用いない（動きを０として扱う、または周囲ブロックの動きベクトルから選択する）ピクチャ間予測符号化の中から、いずれの方法で符号化するかを選択することができるものとする。符号化モードの決定においては、一般的には少ないビット量でより符号化誤差が小さくなる方法を選択する。
【００３１】
モード選択部１０９は、決定した符号化モードを符号列生成部１０４に対して出力する。このとき、符号化対象のピクチャが、他のピクチャの符号化時に参照ピクチャとして用いられるピクチャであり、モード選択部１０９で決定した符号化モードがピクチャ間予測符号化である場合には、そのピクチャ間予測符号化で用いられる動きベクトルおよび参照ピクチャ番号を示す情報を動きベクトル記憶部１１６に記憶する。また、この場合にはモード選択部１０９は、動きベクトルおよび参照ピクチャ番号を示す情報を符号列生成部１０４に対して出力する。
【００３２】
モード選択部１０９は、決定した符号化モードに基づいた参照画像データを、差分演算部１０２と加算演算部１０６とに出力する。なお、モード選択部１０９がピクチャ内符号化を選択した場合には、参照画像データは出力しない。また、モード選択部１０９は、ピクチャ内符号化を選択した場合には、スイッチ１１１をａ側に、スイッチ１１２をｃ側に接続し、ピクチャ間予測符号化を選択した場合には、スイッチ１１１をｂ側に、スイッチ１１２をｄ側に接続するように制御する。
【００３３】
以下では、モード選択部１０９でピクチャ間予測符号化が選択された場合について説明する。
差分演算部１０２は、フレームメモリ１０１より読み出されたピクチャＰ１３のマクロブロックの画像データと、モード選択部１０９より入力された参照画像データとの差分を演算し、予測誤差画像データを生成して予測誤差符号化部１０３へ出力する。予測誤差画像データが入力された予測誤差符号化部１０３は、この予測誤差画像データに対して周波数変換や量子化等の符号化処理を行い、符号化データを生成して符号列生成部１０４および予測誤差復号化部１０５へ出力する。ここで、周波数変換や量子化の処理は、例えば水平８×垂直８画素の単位で行うことができる。
【００３４】
符号化データが入力された符号列生成部１０４は、この符号化データに対して可変長符号化等を行い、さらにモード選択部１０９から入力された動きベクトルの情報、参照ピクチャの情報を示す情報、符号化モードの情報、およびその他の関連情報等を付加することにより符号列を生成し、出力する。参照ピクチャ番号についての詳細は後述する。
【００３５】
一方、符号化データが入力された予測誤差復号化部１０５は、この符号化データに対して逆量子化や逆周波数変換等の復号化処理を行い、復号化差分画像データを生成して加算演算部１０６へ出力する。復号化差分画像データが入力された加算演算部１０６は、この復号化差分画像データと、モード選択部１０９より入力された参照画像データとを加算し、復号化画像データを生成してフレームメモリ１０７に格納する。
【００３６】
以降同様の処理により、ピクチャＰ１３の残りのマクロブロックについても符号化処理を行う。そして、図２（ａ）　に示す例では、ピクチャＰ１３のすべてのマクロブロックについて処理が終了すると、次にピクチャＢ１１の符号化処理を行う。
【００３７】
＜Ｂピクチャの場合＞
Ｂピクチャでは、２方向参照を用いたピクチャ間予測符号化を行っている。例えば、図２（ａ）　に示す例でピクチャＢ１１の符号化処理を行う場合、表示時間順で前方にある参照ピクチャはピクチャＰ１０、Ｐ７、Ｐ４、表示時間順で後方にある参照ピクチャはピクチャＰ１３となる。
【００３８】
ここではＢピクチャが他のピクチャの符号化時に、参照ピクチャとして用いられない場合を考える。よって、Ｂピクチャの符号化時には、符号化制御部１１０は、スイッチ１１３がオンに、スイッチ１１４〜１１５がオフになるように各スイッチを制御する。これにより、フレームメモリ１０１より読み出されたピクチャＢ１１のマクロブロックは、動きベクトル検出部１０８、モード選択部１０９、および差分演算部１０２に入力される。
【００３９】
動きベクトル検出部１０８は、フレームメモリ１０７に格納されたピクチャＰ１０、Ｐ７、Ｐ４の復号化画像データを前方参照ピクチャとして、ピクチャＰ１３の復号化画像データを後方参照ピクチャとして用いて、マクロブロック内の各ブロックに対して、前方動きベクトルと後方動きベクトルとの検出を行う。動きベクトル検出部１０８は、検出した動きベクトルをモード選択部１０９に対して出力する。
【００４０】
モード選択部１０９は、動きベクトル検出部１０８で検出された動きベクトルを用いて、マクロブロックの符号化モードを決定する。ここで、Ｂピクチャの符号化モードは、例えばピクチャ内符号化、前方動きベクトルを用いたピクチャ間予測符号化、後方動きベクトルを用いたピクチャ間予測符号化、双方向動きベクトルを用いたピクチャ間予測符号化、ダイレクトモードの中から、いずれの方法で符号化するかを選択することができるものとする。
【００４１】
ここでは、ダイレクトモードで符号化を行う場合について説明する。
図３は、ダイレクトモードにおける動きベクトルを示す説明図である。ここで、符号化対象のブロックがピクチャＢ１１のブロックａであるとする。
【００４２】
ブロックａをダイレクトモードで符号化を行う場合には、後方参照ピクチャの中のブロックａと同じ位置にあるブロックの動きベクトルを利用する。すなわち、図３に示すようにピクチャＰ１３のブロックｂの動きベクトルｃを利用することになる。動きベクトルｃは、ブロックｂが符号化された際に用いられた動きベクトルであり、ピクチャＰ１０を参照している。なお、動きベクトルｃは、動きベクトル記憶部１１６に記憶されている。
【００４３】
モード選択部１０９は、符号化制御部１１０で決定されたスケーリング係数を用いて、動きベクトルｃからピクチャＰ１０に基づく動きベクトルｄ、およびピクチャＰ１３に基づく動きベクトルｅを生成する。ブロックａは、動きベクトルｃから生成された２つの動きベクトルｄ、ｅを用いて、参照ピクチャであるピクチャＰ１０およびピクチャＰ１３から２方向予測が行われる。なお、参照ピクチャとして第１フィールドと第２フィールドのいずれを用いるかに応じたスケーリング係数の選択については、後で詳細に説明する。
【００４４】
さて、モード選択部１０９は、決定した符号化モードを符号列生成部１０４に対して出力する。また、モード選択部１０９は、決定した符号化モードに基づいた参照画像データを、差分演算部１０２と加算演算部１０６とに出力する。なお、モード選択部１０９がピクチャ内符号化を選択した場合には、参照画像データは出力しない。また、モード選択部１０９は、ピクチャ内符号化を選択した場合には、スイッチ１１１をａ側に、スイッチ１１２をｃ側に接続し、ピクチャ間予測符号化を選択した場合には、スイッチ１１１をｂ側に、スイッチ１１２をｄ側に接続するように制御する。
【００４５】
以下では、モード選択部１０９でピクチャ間予測符号化が選択された場合について説明する。
差分演算部１０２は、フレームメモリ１０１より読み出されたピクチャＰ１３のマクロブロックの画像データと、モード選択部１０９より入力された参照画像データとの差分を演算し、予測誤差画像データを生成して予測誤差符号化部１０３へ出力する。
【００４６】
予測誤差画像データが入力されたデータ予測誤差符号化部１０３は、この予測誤差画像データに対して周波数変換や量子化等の符号化処理を行い、符号化データを生成して符号列生成部１０４へ出力する。符号化データが入力された符号列生成部１０４は、この符号化データに対して可変長符号化等を行い、さらにモード選択部１０９から入力された動きベクトルの情報、符号化モードの情報、およびその他の関連情報等を付加することにより符号列を生成し、出力する。なお、ピクチャの関連情報には、ダイレクトモードで用いるために符号化制御部１１０で決定されたスケーリング係数が含まれる。また、ダイレクトモードで符号化されたマクロブロックについては、動きベクトルの情報は符号化列には付加しない。
【００４７】
以降同様の処理により、ピクチャＢ１１の残りのマクロブロックについても符号化処理を行う。そして、図２（ａ）　に示す例では、ピクチャＢ１１のすべてのマクロブロックについて処理が終了すると、次にピクチャＢ１２の符号化処理を行う。
【００４８】
図６は、前記動画像符号化装置による画像符号化信号フォーマットの概念図である。Ｐｉｃｔｕｒｅは１フレーム分の符号化信号、Ｈｅａｄｅｒはフレーム先頭に含まれる関連符号化信号、Ｂｌｏｃｋ１はダイレクトモードによるブロックの符号化信号、Ｂｌｏｃｋ２はダイレクトモード以外の補間予測によるブロックの符号化信号、ＲＩｄｘ１　、ＲＩｄｘ２　は相対インデックス、ＭＶ１　、ＭＶ２　は動きベクトルを示す。ここでは、関連情報であるＨｅａｄｅｒ部は、同一の符号列中に含まれる場合について示しているが、関連情報が他の符号列に含まれていても構わない。Ｈｅａｄｅｒには、ダイレクトモードで用いるために符号化制御部１１０で決定されたスケーリング係数が含まれる。補間予測ブロックＢｌｏｃｋ２では、補間に使用する２つの参照フレームを示すため２つの相対インデックスＲＩｄｘ１　、ＲＩｄｘ２　を符号化信号中にこの順で有する。相対インデックスは上記で説明した参照ピクチャ番号と同じである。相対インデックスＲＩｄｘ１　、ＲＩｄｘ２　のいずれを使用するかはＰｒｅｄＴｙｐｅにより判断することができる。例えば、２方向でピクチャを参照することが示される場合はＲＩｄｘ１　とＲＩｄｘ２　が用いられ、１方向でピクチャを参照することが示される場合はＲＩｄｘ１　またはＲＩｄｘ２　が用いられ、ダイレクトモードが示されている場合はＲＩｄｘ１　、ＲＩｄｘ２　ともに用いられない。第１参照フレームを示す相対インデックスＲＩｄｘ１　を第１相対インデックス、第２参照フレームを示す相対インデックスＲＩｄｘ２　を第２相対インデックスと呼ぶ。第１参照フレームか第２参照フレームかは符号化ストリーム中のデータ位置で決まる。
【００４９】
図４は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。
【００５０】
動画像復号化装置は、符号列解析部７０１、予測誤差復号化部７０２、モード復号部７０３、動き補償復号部７０５、動きベクトル記憶部７０６、フレームメモリ７０７、加算演算部７０８、およびスイッチ７０９、７１０を備えている。
【００５１】
符号列解析部７０１は、入力された符号列より符号化モードの情報、動きベクトルの情報、およびスケーリング係数等の各種データの抽出を行う。予測誤差復号化部７０２は、入力された予測誤差符号化データの復号化を行い、予測誤差画像データを生成する。モード復号部７０３は、符号列より抽出された符号化モードの情報を参照し、スイッチ７０９、７１０の制御を行う。
【００５２】
動き補償復号部７０５は、参照ピクチャ番号と動きベクトルの情報の復号化処理を行い、復号化した参照ピクチャ番号と動きベクトルとに基づいて、フレームメモリ７０７より動き補償画像データを取得する。動きベクトル記憶部７０６は、動きベクトルを記憶する。
【００５３】
加算演算部７０８は、予測誤差復号化部７０２より入力された予測誤差符号化データと、動き補償復号部７０５より入力された動き補償画像データとを加算し、復号化画像データを生成する。フレームメモリ７０７は、生成された復号化画像データを格納する。
【００５４】
次に、上記のように構成された動画像復号化装置の動作について説明する。
図５は、ピクチャの順序を示す説明図であり、（ａ）　入力される符号列中のピクチャの順序、（ｂ）　出力画像として出力されるピクチャの順序を示す説明図である。ここで、Ｐピクチャは、表示時間順で前方にある近傍３枚のＩピクチャまたはＰピクチャを参照ピクチャとし、Ｂピクチャは、表示時間順で前方にある近傍３枚のＩピクチャまたはＰピクチャと、表示時間順で後方にある近傍１枚のＩピクチャまたはＰピクチャとを参照ピクチャとして用いて符号化されているものとする。
【００５５】
符号列は、図６（ａ）　に示すようなピクチャ順で符号列解析部７０１に入力される。符号列解析部７０１は、入力された符号列より符号化モードの情報、動きベクトルの情報、およびスケーリング係数等の各種データの抽出を行う。符号列解析部７０１は、抽出した符号化モードの情報をモード復号部７０３へ、動きベクトルの情報およびスケーリング係数を動き補償復号部７０５へそれぞれ出力する。また、符号列解析部７０１は、抽出した予測誤差符号化データを予測誤差復号化部７０２へ出力する。
【００５６】
モード復号部７０３は、符号列より抽出された符号化モードの情報を参照し、スイッチ７０９、７１０の制御を行う。このとき、符号化モードがピクチャ内符号化である場合には、スイッチ７０９をａ側に、スイッチ７１０をｃ側に接続し、符号化モードがピクチャ間予測符号化である場合には、スイッチ７０９をｂ側に、スイッチ７１０をｄ側に接続するように制御する。また、モード復号部７０３は、符号化モードの情報を動き補償復号部７０５に対しても出力する。
【００５７】
以下では、符号化モードがピクチャ間予測符号化である場合について説明する。
予測誤差復号化部７０２は、入力された予測誤差符号化データの復号化を行い、予測誤差画像データを生成し、加算演算部７０８へ出力する。
【００５８】
以降の動作については、符号化対象のピクチャがＰピクチャの場合とＢピクチャの場合に分けてそれぞれ説明する。
【００５９】
＜Ｐピクチャの場合＞
動きベクトルの情報が入力された動き補償復号部７０５は、この動きベクトルの情報の復号化処理を行う。そして、動き補償復号部７０５は、復号化した参照ピクチャ番号と動きベクトルとに基づいて、フレームメモリ７０７より動き補償画像データ（ブロック）を取得し、この動き補償画像データを加算演算部７０８へ出力する。
【００６０】
また、動き補償復号部７０５は、復号化対象のピクチャが、他のピクチャの復号化時に参照ピクチャとして用いられるピクチャである場合には、動きベクトルと参照ピクチャ番号とを動きベクトル記憶部７０６に記憶する。ここでは、Ｐピクチャが参照ピクチャとして用いられるので、ピクチャＰ１３を復号化する際に得られた動きベクトルと参照ピクチャ番号とは動きベクトル記憶部７０６に記憶される。なお、動きベクトル記憶部７０６への動きベクトルの記憶は、符号列の関連情報により制御される。
【００６１】
加算演算部７０８は、予測誤差復号化部７０２より入力された予測誤差符号化データと、動き補償復号部７０５より入力された動き補償画像データとを加算し、復号化画像データを生成してフレームメモリ７０７に格納する。
【００６２】
以降同様の処理により、ピクチャＰ１３の残りのマクロブロックについても復号化処理を行う。そして、図６（ａ）　に示す例では、ピクチャＰ１３のすべてのマクロブロックについて処理が終了すると、次にピクチャＢ１１の復号化処理を行う。
【００６３】
＜Ｂピクチャの場合＞
ここでは、モード復号部７０３で抽出された符号化モードがダイレクトモードである場合について説明する。図３に示すピクチャＢ１１のブロックａが復号化対象のブロックであるとする。
【００６４】
ブロックａをダイレクトモードで復号化を行う場合には、後方参照ピクチャの中のブロックａと同じ位置にあるブロックの動きベクトルを利用する。すなわち、図３に示すようにピクチャＰ１３のブロックｂの動きベクトルｃを利用することになる。動きベクトルｃは、ブロックｂが符号化された際に用いられた動きベクトルであり、ピクチャＰ１０を参照している。
【００６５】
動き補償復号部７０５は、符号列解析部７０１より入力されたスケーリング係数を用いて、動きベクトルｃからピクチャＰ１０に基づく動きベクトルｄ、およびピクチャＰ１３に基づく動きベクトルｅを生成する。ブロックａは、動きベクトルｃから生成された２つの動きベクトルｄ、ｅを用いて、参照ピクチャであるピクチャＰ１０およびピクチャＰ１３から２方向予測が行われる。なお、参照ピクチャとして第１フィールドと第２フィールドのいずれを用いるかに応じたスケーリング係数の選択については、後で詳細に説明する。
【００６６】
動き補償復号部７０５は、生成した動きベクトルに基づいて、フレームメモリ７０７より動き補償画像データ（ブロック）を取得し、加算演算部７０８へ出力する。加算演算部７０８は、動き補償画像データと、予測誤差復号化部７０２より入力された予測誤差符号化データとを加算し、復号化画像データを生成してフレームメモリ７０７に格納する。
【００６７】
以降同様の処理により、ピクチャＢ１１の残りのマクロブロックについても復号化処理を行う。そして、図６（ａ）　に示す例では、ピクチャＢ１１のすべてのマクロブロックについて処理が終了すると、次にピクチャＢ１２の復号化処理を行う。以上のように復号化処理されたピクチャは、図６（ｂ）　に示すように順次出力画像としてフレームメモリ７０７から出力される。
【００６８】
以上のように、ピクチャの関連情報に、ダイレクトモードで用いるために符号化制御部１１０で決定されたスケーリング係数を含め、符号列を生成して出力し、復号化時に関連情報よりスケーリング係数を取り出し、このスケーリング係数を用いて、参照動きベクトルから処理対象ブロックの２つの動きベクトルの生成している。これによって、復号化時にスケーリング係数を、例えば各フィールド間の時間的距離等から求める必要がなく、処理付加が軽減でき、効率のよい処理を行うことが可能である。
【００６９】
次に、符号化制御部１１０で決定されたスケーリング係数を用いた、参照動きベクトルから処理対象ブロックの２つの動きベクトルの生成、および参照ピクチャとして第１フィールドと第２フィールドのいずれを用いるかに応じたスケーリング係数の選択について、詳細に説明する。
【００７０】
各ピクチャをフレーム構造で符号化するか、またはフィールド構造で符号化するかは、符号化制御部１１０により適応的に決定されるものとする。フレーム構造とフィールド構造のいずれで符号化するかは、例えば、ピクチャ内の画素値の分散をフレーム構造とフィールド構造とで求め、分散の小さい方を選択する方法がある。また、各ピクチャをブロック単位でフレーム構造またはフィールド構造のいずれかで符号化する方法も考えられるが、ここではピクチャ単位でフレーム構造またはフィールド構造を切り替える場合について説明する。
【００７１】
図７は、動画像を符号化または復号化する際の、各フレームの時間的並びを示している。図７において、フレームＰ１、Ｐ４はＰピクチャとして処理され、フレームＢ２、Ｂ３はＢピクチャとして処理される。また、１つのフレームは２つのフィールドとして扱うことができる。例えば、フレームＰ１はフィールドＰ１１、Ｐ１２として、フレームＢ２はフィールドＢ２１、Ｂ２２として、フレームＢ３はフィールドＢ３１、Ｂ３２として、フレームＰ４はフィールドＰ４１、Ｐ４２として扱うことができる。さらに、各フレームは、フレーム構造またはフィールド構造のいずれかの形式で適応的に符号化、復号化処理がなされるものとする。
図７〜図１１において、ピクチャを示す記号のうち、上段の記号が振られている単位で符号化と復号化の処理が行われる。例えば、図７においては、すべてのピクチャがフィールド単位で処理される。
【００７２】
現在の処理対象ピクチャが、フィールドＢ３１であるとする。すなわち、フレームＢ３はフィールド構造で処理される。またフィールドＢ３１は前方参照ピクチャとしてフィールドＰ１１またはＰ１２を、後方参照ピクチャとしてフィールドＰ４１またはＰ４２を用いるとする。これらの参照ピクチャは、すでに符号化または復号化処理が完了している。また、フレームＰ１、Ｐ４はフィールド単位で処理がなされているものとする。
【００７３】
今、フィールドＢ３１のブロックａをダイレクトモードで処理する場合を考える。この場合、後方参照ピクチャであり、ブロックａが属するフィールドと同一パリティ（第１フィールド、第２フィールドのいずれであるかを示す値）を有するフィールド（すなわち第１フィールド）であるフィールドＰ４１中の、ブロックａと同一位置にあるブロックｂの動きベクトルを利用する。以下では、この動きベクトルを参照動きベクトルと呼ぶ。
【００７４】
ここではまず、図７（ａ）のように、ブロックｂが、動きベクトルＡを用いて処理されており、この動きベクトルＡは、フィールドＰ１１を参照している場合について説明する。この場合、ブロックａは、参照動きベクトルＡから所定の方法により計算して得られる動きベクトルを用いて、前方参照フィールドであるフィールドＰ１１（参照動きベクトルＡが指しているフィールド）と後方参照フィールドであるフィールドＰ４１（ブロックｂが属するフィールド）とから動き補償を行う。この場合にブロックａを処理する際に用いる動きベクトルは、フィールドＰ１１に対しては動きベクトルＢ、フィールドＰ４１に対しては動きベクトルＣとなるとする。この際、動きベクトルＡの大きさをＭＶ１、動きベクトルＢの大きさをＭＶｆ１、動きベクトルＣの大きさをＭＶｂ１とすると、ＭＶｆ１、ＭＶｂ１はそれぞれ式３、式４によって得られる。
（式３）　ＭＶｆ１＝Ｎ１×ＭＶ１／Ｄ１
（式４）　ＭＶｂ１＝―Ｍ１×ＭＶ１／Ｄ１
【００７５】
以下ではこれらＮ１、Ｍ１、Ｄ１の値をスケーリング係数と呼ぶとする。スケーリング係数は、フィールド単位で設定された値であるとする。例えばこの場合、スケーリング係数は、各フィールド間の時間的距離から設定することができる。例えばフィールドＰ１１からＰ４１の時間的距離をＤ１、フィールドＰ１１からＢ３１の時間的距離をＮ１、フィールドＢ３１からＰ４１の時間的距離をＭ１と設定すれば、ＭＶｆ１とＭＶｂ１はＭＶに平行な動きベクトルとなる。ここで、スケーリング係数の値は、符号化時に設定されるものとし、関連情報等として符号列中または符号列の付属情報として記述されるものとする。復号化時には、スケーリング係数を符号列中または符号列の付属情報から取得する。そしてダイレクトモードにより符号化されているブロックを復号化する際には、式３、式４を用いてＭＶｆ１、ＭＶｂ１を計算すれば良い。
【００７６】
次に、図７（ｂ）のように、ブロックｂが、動きベクトルＤを用いて処理されており、この動きベクトルＤがフィールドＰ１２を参照している場合について説明する。この場合、ブロックａは、参照動きベクトルＤから所定の方法により計算して得られる動きベクトルを用いて、前方参照フィールドであるフィールドＰ１２（動きベクトルＤが指しているフィールド）と後方参照フィールドであるフィールドＰ４１（ブロックｂが属するフィールド）から動き補償を行う。この場合にブロックａを処理する際に用いる動きベクトルは、フィールドＰ１２に対しては動きベクトルＥ、フィールドＰ４１に対しては動きベクトルＦとなるとする。この際、動きベクトルＤの大きさをＭＶ２、動きベクトルＥの大きさをＭＶｆ２、動きベクトルＦの大きさをＭＶｂ２とすると、ＭＶｆ２、ＭＶｂ２はそれぞれ式５、式６によって得られる。
（式５）　ＭＶｆ２＝Ｎ２×ＭＶ２／Ｄ２
（式６）　ＭＶｂ２＝Ｍ２×ＭＶ２／Ｄ２
【００７７】
ここでスケーリング係数（Ｎ２、Ｍ２、Ｄ２）は、ピクチャ単位で設定された値であるとする。例えばスケーリング係数（Ｎ２、Ｍ２、Ｄ２）の値は、各フィールド間の時間的距離から設定することができる。例えばフィールドＰ１２からＰ４１の時間的距離をＤ２、フィールドＰ１２からＢ３１の時間的距離をＮ２、フィールドＢ３１からＰ４１の時間的距離をＭ２と設定すれば、ＭＶｆ２とＭＶｂ２はＭＶ２に平行な動きベクトルとなる。ここで、スケーリング係数の値は、符号化時に設定されるとし、関連情報等として符号列中または符号列の付属情報として記述されるものとする。復号化時には、これらの値を符号列中または符号列の付属情報から取得し、それにより式５、式６を用いてＭＶｆ２、ＭＶｂ２を計算すれば良い。
【００７８】
ここで、スケーリング係数（Ｎ１、Ｍ１、Ｄ１）および（Ｎ２、Ｍ２、Ｄ２）を符号列中または符号列の付属情報として記述する方法としては、上記のように２組とも記述する方法以外に、例えばスケーリング係数を１組だけ記述し、その記述する（された）スケーリング係数を用いて、もう一方の組のスケーリング係数を求めるようにしても良い。例えば、スケーリング係数を上述のようにフィールド間の時間的距離から決定する場合、スケーリング係数（Ｎ１、Ｍ１、Ｄ１）と（Ｎ２、Ｍ２、Ｄ２）との間には、
（式７）　Ｎ２＝Ｎ１−１
（式８）　Ｍ２＝Ｍ１
（式９）　Ｄ２＝Ｄ１−１
の関係が成立する。したがって、スケーリング係数（Ｎ２、Ｍ２、Ｄ２）は、スケーリング係数（Ｎ１、Ｍ１、Ｄ１）から求めることができる。
【００７９】
以上の説明では、前方参照ピクチャとして図７におけるフィールドＰ１１、Ｐ１２を用い、後方参照ピクチャとして図７におけるフィールドＰ４１、Ｐ４２を用いる場合について説明したが、これらの参照ピクチャの数はさらに多くても良い。例えば、図１１に示すように、フィールドＢ６１のブロックａを処理する場合に、前方参照ピクチャとしてフィールドＰ１１、Ｐ１２、Ｐ４１、Ｐ４２、後方参照ピクチャとしてＰ７１、Ｐ７２を用いるような場合がある。図１１（ａ）はブロックａをダイレクトモードで処理する場合の参照動きベクトルＡが、フレームＰ１の第１フィールドを参照している場合を示し、図１１（ｂ）はブロックａをダイレクトモードで処理する場合の参照動きベクトルＡが、フレームＰ１の第２フィールドを参照している場合を示している。このような場合、図７で示した場合と合わせると、参照動きベクトルが参照するフィールドは４通りあることになる。したがって、スケーリング係数も４通りあることなる。ただし、同一フレームに属するフィールドのスケーリング係数は、一方から他方を容易に求めることが出来るため、すべてのスケーリング係数を関連情報として記述する必要はない。また、参照ピクチャ（ここではＰピクチャ）の間隔が一定であったり、他の方法により検出できる場合には、１組だけのスケーリング係数を記述し、他のスケーリング係数はこの記述されたスケーリング係数から求めることができる。
【００８０】
さて、以上の説明においては、図７におけるフィールドＢ３１に属するブロックをダイレクトモードで処理する場合について説明したが、フレームＢ３の第２フィールドである、フィールドＢ３２に属するブロックを処理する場合についても、同様に処理することができる。以下ではこの場合について説明する。
【００８１】
処理の様子を図８を用いて説明する。フィールドＢ３２に属するブロックａをダイレクトモードで処理する場合に、ピクチャＰ４２に属しかつブロックａと同一位置にあるブロックｂの動きベクトルが参照動きベクトルとなる。図８（ａ）は、参照動きベクトルがフィールドＰ１１を参照する場合を示し、図８（ｂ）は、参照動きベクトルがフィールドＰ１２を参照する場合を示す。これらの場合における処理の概要は、上述の場合とほぼ同様であるので、ここでは説明は割愛する。ただし、この場合のスケーリング係数の値は、図７におけるフィールドＢ３１を処理する場合に用いたスケーリング係数とは一般に異なる。
【００８２】
ここで第２フィールドを処理する場合には、その参照ピクチャとして同一フレーム内の第１フィールドを参照することが可能となる。したがって、ブロックｂがフィールドＰ４１を参照して処理されている場合には、上記の処理とは異なる処理となる。その様子を図９を用いて説明する。
【００８３】
図９では、ブロックｂが、動きベクトルＧを用いて処理されており、この動きベクトルＧは、フィールドＰ４１を参照している場合について示している。この場合、ブロックａは、参照動きベクトルＧから所定の方法により計算して得られる動きベクトルを用いて、後方参照フィールドであるフィールドＰ４１（動きベクトルＧが指しているフィールド）と後方参照フィールドであるフィールドＰ４２（ブロックｂが属するフィールド）から動き補償を行う。この場合にブロックａを符号化する際に用いる動きベクトルは、フィールドＰ４１に対しては動きベクトルＨ、フィールドＰ４２に対しては動きベクトルＩとなるとする。この際、動きベクトルＧの大きさをＭＶ３、動きベクトルＨの大きさをＭＶｆ３、動きベクトルＩの大きさをＭＶｂ３とすると、ＭＶｆ３、ＭＶｂ３はそれぞれ式１０、式１１によって得られる。
（式１０）　ＭＶｆ３＝―Ｎ３×ＭＶ３／Ｄ３
（式１１）　ＭＶｂ３＝―Ｍ３×ＭＶ３／Ｄ３
【００８４】
ここで例えば、これらＮ３、Ｍ３、Ｄ３の値は、各フィールド間の時間的距離から設定することができる。例えばフィールドＰ４１からＰ４２の時間的距離をＤ３、フィールドＢ３２からＰ４１の時間的距離をＮ３、フィールドＢ３１からＰ４２の時間的距離をＭ３と設定すれば、ＭＶｆ３とＭＶｂ３はＭＶ３に平行な動きベクトルとなる。ここで、これらＮ３、Ｍ３、Ｄ３の値は、符号化時にフィールド単位で設定されるとし、これらの値は関連情報等として符号列中または符号列の付属情報として記述される。復号化時には、これらの値を符号列中または符号列の付属情報から取得し、それにより式１０、式１１を用いてＭＶｆ３、ＭＶｂ３を計算すれば良い。
【００８５】
次に、以上の動きベクトル計算方法を用いた動画像符号化方法における処理方法のフローチャートを図１２に示す。ここでは、図７を用いて説明した動きベクトル計算方法に対応する動画像符号化方法について説明する。まず、Ｓ６０１において、ピクチャ（フレームまたはフィールド）単位でスケーリング係数を決定し、それを関連情報として記述する。ここでスケーリング係数の決定方法としては、上記のように参照フィールド間の時間間隔等によって決めても良いし、他の方法によって決めても良い。また、スケーリング係数の記述方法は、すべてのスケーリング係数を記述しても良いし、一部のスケーリング係数を記述し、残りのスケーリング係数は記述されたスケーリング係数から求めても良い。そして、Ｓ６０２において、処理対象ブロックをダイレクトモードで処理するか否かを決定する。ダイレクトモードで処理しない場合には、Ｓ６０６において、他のモードに応じた処理で処理対象ブロックを処理する。ダイレクトモードで処理する場合には、Ｓ６０３で参照動きベクトルが、第１フィールドに対する動きベクトルであるか、第２フィールドに対する動きベクトルであるかを判定する。この判定は、参照ピクチャ番号の値を用いて決定することができる。参照動きベクトルが第１フィールドを参照する動きベクトルである場合には、Ｓ６０４において、第１フィールド用のスケーリング係数（Ｎ１、Ｍ１、Ｄ１）を用いて参照動きベクトルのスケーリングを行う。また、参照動きベクトルが第２フィールドを参照する動きベクトルである場合には、Ｓ６０５において、第２フィールド用のスケーリング係数（Ｎ２、Ｍ２、Ｄ２）を用いて参照動きベクトルのスケーリングを行う。そして、Ｓ６０７において、Ｓ６０４またはＳ６０５において得られた動きベクトルを用いて動き補償を行う。
【００８６】
次に、以上の動きベクトル計算方法を用いた動画像復号化方法における処理方法のフローチャートを図１３に示す。ここでは、図１３を用いて説明した動きベクトル計算方法に対応する動画像復号化方法について説明する。まず、Ｓ７０１において、スケーリング係数を関連情報から取得する。そして例えば、一部のスケーリング係数のみが関連情報として記述されている場合には、他のスケーリング係数を記述されているスケーリング係数から所定の方法により計算する。そして、Ｓ７０２において、処理対象ブロックをダイレクトモードで処理するか否かを決定する。ダイレクトモードで処理しない場合には、Ｓ７０６において、他のモードに応じた処理で処理対象ブロックを処理する。ダイレクトモードで処理する場合には、Ｓ７０３で参照動きベクトルが、第１フィールドに対する動きベクトルであるか、第２フィールドに対する動きベクトルであるかを判定する。この判定は、参照ピクチャ番号の値を用いて決定することができる。参照動きベクトルが第１フィールドを参照する動きベクトルである場合には、Ｓ７０４において、第１フィールド用のスケーリング係数（Ｎ１、Ｍ１、Ｄ１）を用いて参照動きベクトルのスケーリングを行う。また、参照動きベクトルが第２フィールドを参照する動きベクトルである場合には、Ｓ７０５において、第２フィールド用のスケーリング係数（Ｎ２、Ｍ２、Ｄ２）を用いて参照動きベクトルのスケーリングを行う。そして、Ｓ７０７において、Ｓ７０４またはＳ７０５において得られた動きベクトルを用いて動き補償を行う。
【００８７】
以上のように、本発明の動きベクトル計算方法および動画像符号化方法および動画像復号化方法は、ダイレクトモードにおいて用いる参照動きベクトルがフィールド構造に対応した動きベクトルである場合、参照動きベクトルが指し示すフィールドにより、ダイレクトモードの際に用いるスケーリング係数を切り替える。このスケーリング係数は、処理フィールド単位で設定し、符号化時には関連情報として記述し、復号化時には関連情報から取得する。また、スケーリング係数の記述方法としては、すべてのスケーリング係数を記述しても良いし、一部のスケーリング係数のみを記述し、残りのスケーリング係数は記述されたスケーリング係数から所定の方法により求めても良い。
【００８８】
このように本発明の動きベクトル計算方法および動画像符号化方法および動画像復号化方法を用いることにより、ダイレクトモードにおいて参照するフィールドに応じて最適なスケーリング係数を用いることができ、符号化効率の向上を図ることができる。またこの際にスケーリング係数を記述するオーバーヘッドはほとんど無視できる。さらに一部のスケーリング係数のみを関連情報として記述し、他のスケーリング係数は記述されたスケーリング係数から計算する方法を用いると、スケーリング係数を記述するための関連情報の符号量は、従来例と全く同じとなる。
【００８９】
なお、本実施の形態においては、スケーリング係数を時間的距離から設定する場合について説明したが、これは他の方法で決定しても良い。
【００９０】
また、本実施の形態においては、各フレームは、フレーム構造またはフィールド構造のいずれかを用いて適応的に符号化、復号化処理されるとして説明したが、これは例えばブロック単位でフレーム構造またはフィールド構造のいずれかを用いて適応的に符号化、復号化処理されるとしても、本発明と同様の処理により実施することが可能であり、同様の効果が得られる。
【００９１】
図１０は、動画像を符号化または復号化する際の、各フレームの表示時間順の並びを示している。図１０においては、実線はフレーム構造のピクチャを示し、破線はフィールド構造のピクチャを示す。例えば、実線で示すフレームＰ１は、破線で示すフィールドＰ１１とＰ１２を合成したものとなる。また、フレームＰ１、Ｐ４はＰピクチャとして処理され、フレームＢ２、Ｂ３はＢピクチャとして処理される。また、１つのフレームは２つのフィールドとして扱うことができる。例えば、フレームＰ１はフィールドＰ１１とＰ１２として、フレームＢ２はフィールドＢ２１とＢ２２として、フレームＢ３はフィールドＢ３１とＢ３２として、フレームＰ４はフィールドＰ４１とＰ４２として扱うことができる。ここでは、各フレームは、フレーム構造またはフィールド構造のいずれかの形式で適応的に符号化、復号化処理されるものとする。
【００９２】
現在の処理対象はフレームＢ３であるとする。すなわち、フレームＢ３はフレーム構造で処理されるものとする。またフレームＢ３は、前方参照ピクチャとしてフレームＰ１を、後方参照ピクチャとしてフレームＰ４を用いるとする。これらの参照ピクチャは、すでに符号化または復号化処理が完了している。ここで、フレームＰ４はフィールド単位で処理されているものとする。すなわち、フレームＰ４を参照する場合には、フィールド構造として処理されたＰ４１、Ｐ４２を合成してフレーム構造として参照することになる。
【００９３】
今、フレームＢ３のブロックａをダイレクトモードで処理する場合を考える。この場合、後方参照ピクチャであるフレームＰ４中の、ブロックａと同一位置にあるブロックを処理する際に用いた動きベクトルを利用する。ただしここでは、フレームＰ４はフィールド構造として、フィールドＰ４１、Ｐ４２として扱われている。そこでここでは、フレームＰ４の第１フィールドである、フィールドＰ４１中に属するブロックｂの動きベクトルを参照動きベクトルとする。
【００９４】
ここではまず、図１０（ａ）のように、ブロックｂが、動きベクトルＡを用いて処理されており、この動きベクトルＡは、フィールドＰ１１を参照している場合について説明する。この場合、ブロックａは、参照動きベクトルＡから所定の方法により計算して得られる動きベクトルを用いて、前方参照フレームであるフレームＰ１（動きベクトルＡが指しているフィールドを含むフレーム）と後方参照フレームであるフレームＰ４（ブロックｂが属するフィールドを含むフレーム）から動き補償を行う。この場合にブロックａを符号化する際に用いる動きベクトルは、フレームＰ１に対しては動きベクトルＢ、フレームＰ４に対しては動きベクトルＣとなるとする。この際、動きベクトルＡの大きさをＭＶ４、動きベクトルＢの大きさをＭＶｆ４、動きベクトルＣの大きさをＭＶｂ４とすると、ＭＶｆ４、ＭＶｂ４はそれぞれ式１２、式１３によって得られる。
（式１２）　ＭＶｆ４＝Ｎ４×ＭＶ４／Ｄ４
（式１３）　ＭＶｂ４＝―Ｍ４×ＭＶ４／Ｄ４
【００９５】
ここで、スケーリング係数（Ｎ４、Ｍ４、Ｄ４）の値は、一例として、各ピクチャ間の時間的距離から設定することができる。例えばフィールドＰ１１からＰ４１の時間的距離をＤ４、フレームＰ１からフレームＢ３の時間的距離をＮ４、フレームＢ３からフレームＰ４の時間的距離をＭ４と設定すれば、ＭＶｆ４とＭＶｂ４はＭＶ４に平行な動きベクトルとなる。ここで、スケーリング係数（Ｎ４、Ｍ４、Ｄ４）の値は、符号化時にフレーム単位で設定されるとし、これらの値はフレームＢ３の関連情報として符号列中または符号列の付属情報として記述される。復号化時には、これらの値を符号列中または符号列の付属情報から取得し、それにより式１２、式１３を用いてＭＶｆ４、ＭＶｂ４を計算すれば良い。
【００９６】
次に、図１０（ｂ）のように、ブロックｂが、動きベクトルＤを用いて処理されており、この動きベクトルＤは、フィールドＰ１２を参照している場合について説明する。この場合、ブロックａは、参照動きベクトルＤから所定の方法により計算して得られる動きベクトルを用いて、前方参照フレームであるフレームＰ１（動きベクトルＤが指しているフィールドを含むフレーム）と後方参照フレームであるフレームＰ４（ブロックｂが属するフィールドを含むフレーム）から動き補償を行う。この場合にブロックａを符号化する際に用いる動きベクトルは、フレームＰ１に対しては動きベクトルＥ、フレームＰ４に対しては動きベクトルＦとなるとする。この際、動きベクトルＤの大きさをＭＶ５、動きベクトルＥの大きさをＭＶｆ５、動きベクトルＦの大きさをＭＶｂ５とすると、ＭＶｆ５、ＭＶｂ５はそれぞれ式１４、式１５によって得られる。
（式１４）　ＭＶｆ５＝Ｎ５×ＭＶ５／Ｄ５
（式１５）　ＭＶｂ５＝―Ｍ５×ＭＶ５／Ｄ５
【００９７】
ここで例えば、スケーリング係数（Ｎ５、Ｍ５、Ｄ５）の値は、一例として各ピクチャ間の時間的距離から設定することができる。例えばフィールドＰ１２からフィールドＰ４１の時間的距離をＤ５、フレームＰ１からフレームＢ３の時間的距離をＮ５、フレームＢ３からフレームＰ４の時間的距離をＭ５と設定すれば、ＭＶｆ５とＭＶｂ５はＭＶ５に平行な動きベクトルとなる。ここで、スケーリング係数（Ｎ５、Ｍ５、Ｄ５）の値は、符号化時にピクチャ単位で設定されるとし、これらの値は関連情報等として符号列中または符号列の付属情報として記述される。復号化時には、これらの値を符号列中または符号列の付属情報から取得し、それにより式１４、式１５を用いてＭＶｆ５、ＭＶｂ５を計算すれば良い。
【００９８】
ここで、スケーリング係数（Ｎ４、Ｍ４、Ｄ４）および（Ｎ５、Ｍ５、Ｄ５）を符号列中または符号列の付属情報として記述する方法としては、上記のように２組とも記述する方法以外に、例えばスケーリング係数を１組だけ記述し、もう一方の組のスケーリング係数は記述されたスケーリング係数から求めるようにしても良い。例えば、スケーリング係数を上述のようにフィールド間の時間的距離から決定する場合、
（式１６）　Ｎ５＝Ｎ４
（式１７）　Ｍ５＝Ｍ４
（式１８）　Ｄ５＝Ｄ４−１
の関係が成立する。したがって、スケーリング係数（Ｎ５、Ｍ５、Ｄ５）は、スケーリング係数（Ｎ４、Ｍ４、Ｄ４）から求めることができる。
【００９９】
また、第１の実施の形態においては、図７の参照関係に加えて、図１１に示すように、複数の参照フレームを用いる場合について説明した。これは第２の実施の形態においても同様のことが可能となる。
【０１００】
また、第１の実施の形態においては、図７を用いて説明した動きベクトル計算方法を用いた場合の、動画像符号化方法および動画像復号化方法について説明した。ここで、図１０を用いて説明した動きベクトル計算方法を用いた場合の、動画像符号化方法および動画像復号化方法は、第１の実施の形態において説明した動画像符号化方法および動画像復号化方法と同様であるので、説明は割愛する。
【０１０１】
このように本発明の動きベクトル計算方法および動画像符号化方法および動画像復号化方法を用いることにより、ダイレクトモードにおいて参照するフィールドに応じて最適なスケーリング係数を用いることができ、符号化効率の向上を図ることができる。またこの際にスケーリング係数を記述するオーバーヘッドはほとんど無視できる。さらに一部のスケーリング係数のみを関連情報として記述し、他のスケーリング係数は記述されたスケーリング係数から計算する方法を用いると、スケーリング係数を記述するための関連情報の符号量は、従来例と全く同じとなる。
【０１０２】
なお、本実施の形態においては、スケーリング係数を時間的距離から設定する場合について説明したが、これは他の方法で決定しても良い。
【０１０３】
また、本実施の形態においては、各フレームは、フレーム構造またはフィールド構造のいずれかを用いて適応的に符号化、復号化処理されるとして説明したが、これは例えばブロック単位でフレーム構造またはフィールド構造のいずれかを用いて適応的に符号化、復号化処理されるとしても、本発明と同様の処理により実施することが可能であり、同様の効果が得られる。
【０１０４】
なお、本実施の形態においては、Ｐピクチャは前方１方向のピクチャを参照して処理され、Ｂピクチャは前方および後方の２方向のピクチャを参照して処理されるピクチャとして説明したが、これらはＰピクチャは後方１方向のピクチャを参照して処理され、Ｂピクチャは前方２方向または後方２方向のピクチャを参照して処理されるとしても、同様の効果が得られる。
【０１０５】
次に、符号化制御部１１０でのスケーリング係数を決定について説明する。
上記のようにスケーリング係数を用いて、参照動きベクトルから処理対象ブロックの２つの動きベクトルを生成する際には、スケーリング係数の除算演算処理が発生する。このため、スケーリング係数の決定について、以下のような方法で行うこともできる。
【０１０６】
（方法１）
上記式３、式４、式５、式６に示すスケーリング係数Ｎ１、Ｍ１、Ｄ１、Ｎ２、Ｍ２、Ｄ２では、参照動きベクトルから処理対象ブロックの２つの動きベクトルを生成する際に、Ｎ１／Ｄ１、Ｍ１／Ｄ１、Ｎ２／Ｄ２、Ｍ２／Ｄ２という除算演算処理が必要である。このとき、分母が２のべき乗となるようにそれぞれ近似を行う。図７（ａ）　に示すようにＮ１／Ｄ１が４／６である場合、例えば、分母を１６と固定して通分すると、分子は１０．６６…となる。次に、分子１０．６６…の少数点以下を切り捨て１０／１６、すなわち１０／２＾４（ここで＾はべき乗を示す）を得る。このように分母を２のべき乗とすれば、シフト演算によって演算処理することができる。例えば１０を２進数で表示すれば、「１０１０」であり、４桁シフトすると「．１０１０」となる。このようにして、１０／１６の演算処理することができる。
【０１０７】
一方、分母の異なるＮ２／Ｄ２についても、Ｎ１／Ｄ１と同じ２のべき乗の分母に共通化する。図７（ｂ）　に示すようにＮ２／Ｄ２が３／５である場合、例えば、分母を１６と固定して通分すると、分子は９．６となる。次に、分子９．６の少数点以下を切り捨て９／１６、すなわち９／２＾４を得る。
【０１０８】
（方法２）
Ｎ１／Ｄ１については上記同様に求めて１０／２＾４を得た上で、Ｎ２／Ｄ２については、分母はＮ１／Ｄ１と同じ２のべき乗に共通化する。そして、Ｎ２は１０より所定の値（ここでは１）を減算し、９／２＾４を得る。
【０１０９】
（方法３）
Ｎ１／Ｄ１については上記同様に求める。一方、Ｎ２／Ｄ２についてＮ１／Ｄ１と分母が同じ２のべき乗に共通化せずに、できるだけ元のＮ２／Ｄ２に近似できるような２のべき乗の分母に変更する。
【０１１０】
以上のように、スケーリング係数について分母が２のべき乗となるようにそれぞれ近似を行っているので、例えば除算演算処理を行う機能がない画像処理用のＤＳＰ（信号処理用ＬＳＩ）であっても、スケーリング係数の除算演算処理をシフト演算によって演算処理することができる。
【０１１１】
（実施の形態２）
さらに、上記各実施の形態で示した画像符号化方法または画像復号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【０１１２】
図１４は、上記実施の形態１の画像符号化方法または画像復号化方法を格納したフレキシブルディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
【０１１３】
図１４（ｂ）は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図１４（ａ）は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクＦＤはケースＦ内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成され、各トラックは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクＦＤ上に割り当てられた領域に、上記プログラムとしての画像符号化方法が記録されている。
【０１１４】
また、図１４（ｃ）は、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムとしての画像符号化方法または画像復号化方法をフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記画像符号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
【０１１５】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【０１１６】
図１５から図１８は、上記実施の形態で示した符号化処理または復号化処理を行う機器、およびこの機器を用いたシステムを説明する図である。
【０１１７】
図１５は、コンテンツ配信サービスを実現するコンテンツ供給システムｅｘ１００の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ｅｘ１０７〜ｅｘ１１０が設置されている。このコンテンツ供給システムｅｘ１００は、例えば、インターネットｅｘ１０１にインターネットサービスプロバイダｅｘ１０２および電話網ｅｘ１０４を介して、コンピュータｅｘ１１１、ＰＤＡ（ｐｅｒｓｏｎａｌ　ｄｉｇｉｔａｌ　ａｓｓｉｓｔａｎｔ）ｅｘ１１２、カメラｅｘ１１３、携帯電話ｅｘ１１４が接続される。しかし、コンテンツ供給システムｅｘ１００は図１５のような組み合わせに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ｅｘ１０７〜ｅｘ１１０を介さずに、電話網ｅｘ１０４に直接接続されてもよい。
【０１１８】
カメラｅｘ１１３はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、ＰＤＣ（Ｐｅｒｓｏｎａｌ　Ｄｉｇｉｔａｌ　Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）方式、ＣＤＭＡ（Ｃｏｄｅ　Ｄｉｖｉｓｉｏｎ　Ｍｕｌｔｉｐｌｅ　Ａｃｃｅｓｓ）方式、Ｗ−ＣＤＭＡ（Ｗｉｄｅｂａｎｄ−Ｃｏｄｅ　Ｄｉｖｉｓｉｏｎ　Ｍｕｌｔｉｐｌｅ　Ａｃｃｅｓｓ）方式、若しくはＧＳＭ（Ｇｌｏｂａｌ　Ｓｙｓｔｅｍ　ｆｏｒ　Ｍｏｂｉｌｅ　Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）方式の携帯電話機、またはＰＨＳ（Ｐｅｒｓｏｎａｌ　Ｈａｎｄｙｐｈｏｎｅ　Ｓｙｓｔｅｍ）等であり、いずれでも構わない。
【０１１９】
また、ストリーミングサーバｅｘ１０３は、カメラｅｘ１１３から基地局ｅｘ１０９、電話網ｅｘ１０４を通じて接続されており、カメラｅｘ１１３を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラｅｘ１１３で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラ１１６で撮影した動画データはコンピュータｅｘ１１１を介してストリーミングサーバｅｘ１０３に送信されてもよい。カメラｅｘ１１６はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラｅｘ１１６で行ってもコンピュータｅｘ１１１で行ってもどちらでもよい。また、符号化処理はコンピュータｅｘ１１１やカメラｅｘ１１６が有するＬＳＩｅｘ１１７において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータｅｘ１１１等で読み取り可能な記録媒体である何らかの蓄積メディア（ＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスクなど）に組み込んでもよい。さらに、カメラ付きの携帯電話ｅｘ１１５で動画データを送信してもよい。このときの動画データは携帯電話ｅｘ１１５が有するＬＳＩで符号化処理されたデータである。
【０１２０】
図１６は、携帯電話ｅｘ１１５の一例を示す図である。携帯電話ｅｘ１１５は、基地局ｅｘ１１０との間で電波を送受信するためのアンテナｅｘ２０１、ＣＣＤカメラ等の映像、静止画を撮ることが可能なカメラ部ｅｘ２０３、カメラ部ｅｘ２０３で撮影した映像、アンテナｅｘ２０１で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ｅｘ２０２、操作キー群から構成される本体部ｅｘ２０４、音声出力をするためのスピーカ等の音声出力部ｅｘ２０８、音声入力をするためのマイク等の音声入力部ｅｘ２０５、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記憶メディアｅｘ２０７、携帯電話ｅｘ１１５に記憶メディアｅｘ２０７を装着可能とするためのスロット部ｅｘ２０６を有している。記憶メディアｅｘ２０７はＳＤカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ　Ｅｒａｓａｂｌｅ　ａｎｄ　Ｐｒｏｇｒａｍｍａｂｌｅ　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）の一種であるフラッシュメモリ素子を格納したものである。
【０１２１】
このコンテンツ供給システムｅｘ１００では、ユーザがカメラｅｘ１１３、カメラｅｘ１１６等で撮影しているコンテンツ（例えば、音楽ライブを撮影した映像等）を上記実施の形態同様に符号化処理してストリーミングサーバｅｘ１０３に送信する一方で、ストリーミングサーバｅｘ１０３は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータｅｘ１１１、ＰＤＡｅｘ１１２、カメラｅｘ１１３、携帯電話ｅｘ１１４等がある。このようにすることでコンテンツ供給システムｅｘ１００は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
【０１２２】
さらに、携帯電話ｅｘ１１５について図１７を用いて説明する。携帯電話ｅｘ１１５は表示部ｅｘ２０２及び本体部ｅｘ２０４の各部を統括的に制御するようになされた主制御部ｅｘ３１１に対して、電源回路部ｅｘ３１０、操作入力制御部ｅｘ３０４、画像符号化部ｅｘ３１２、カメラインターフェース部ｅｘ３０３、ＬＣＤ（Ｌｉｑｕｉｄ　Ｃｒｙｓｔａｌ　Ｄｉｓｐｌａｙ）制御部ｅｘ３０２、画像復号化部ｅｘ３０９、多重分離部ｅｘ３０８、記録再生部ｅｘ３０７、変復調回路部ｅｘ３０６及び音声処理部ｅｘ３０５が同期バスｅｘ３１３を介して互いに接続されている。電源回路部ｅｘ３１０は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ｅｘ１１５を動作可能な状態に起動する。携帯電話ｅｘ１１５は、ＣＰＵ、ＲＯＭ及びＲＡＭ等でなる主制御部ｅｘ３１１の制御に基づいて、音声通話モード時に音声入力部ｅｘ２０５で集音した音声データを音声処理部ｅｘ３０５によってディジタル音声データに変換し、これを変復調回路部ｅｘ３０６でスペクトラム拡散処理し、送受信回路部ｅｘ３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナｅｘ２０１を介して送信する。また携帯電話機ｅｘ１１５は、音声通話モード時にアンテナｅｘ２０１で受信した受信データを増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ｅｘ３０６でスペクトラム逆拡散処理し、音声処理部ｅｘ３０５によってアナログ音声データに変換した後、これを音声出力部２０８を介して出力する。さらに、データ通信モード時に電子メールを送信する場合、本体部ｅｘ２０４の操作キーの操作によって入力された電子メールのテキストデータは操作入力制御部ｅｘ３０４を介して主制御部ｅｘ３１１に送出される。主制御部ｅｘ３１１は、テキストデータを変復調回路部ｅｘ３０６でスペクトラム拡散処理し、送受信回路部ｅｘ３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナｅｘ２０１を介して基地局ｅｘ１１０へ送信する。
【０１２３】
データ通信モード時に画像データを送信する場合、カメラ部ｅｘ２０３で撮像された画像データをカメラインターフェース部ｅｘ３０３を介して画像符号化部ｅｘ３１２に供給する。また、画像データを送信しない場合には、カメラ部ｅｘ２０３で撮像した画像データをカメラインターフェース部ｅｘ３０３及びＬＣＤ制御部ｅｘ３０２を介して表示部ｅｘ２０２に直接表示することも可能である。
【０１２４】
画像符号化部ｅｘ３１２は、カメラ部ｅｘ２０３から供給された画像データを上記実施の形態で示した符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ｅｘ３０８に送出する。また、このとき同時に携帯電話機ｅｘ１１５は、カメラ部ｅｘ２０３で撮像中に音声入力部ｅｘ２０５で集音した音声を音声処理部ｅｘ３０５を介してディジタルの音声データとして多重分離部ｅｘ３０８に送出する。
【０１２５】
多重分離部ｅｘ３０８は、画像符号化部ｅｘ３１２から供給された符号化画像データと音声処理部ｅｘ３０５から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ｅｘ３０６でスペクトラム拡散処理し、送受信回路部ｅｘ３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナｅｘ２０１を介して送信する。
【０１２６】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナｅｘ２０１を介して基地局ｅｘ１１０から受信した受信データを変復調回路部ｅｘ３０６でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ｅｘ３０８に送出する。
【０１２７】
また、アンテナｅｘ２０１を介して受信された多重化データを復号化するには、多重分離部ｅｘ３０８は、多重化データを分離することにより符号化画像データと音声データとに分け、同期バスｅｘ３１３を介して当該符号化画像データを画像復号化部ｅｘ３０９に供給すると共に当該音声データを音声処理部ｅｘ３０５に供給する。
【０１２８】
次に、画像復号化部ｅｘ３０９は、符号化画像データを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをＬＣＤ制御部ｅｘ３０２を介して表示部ｅｘ２０２に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ｅｘ３０５は、音声データをアナログ音声データに変換した後、これを音声出力部ｅｘ２０８に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図１８に示すようにディジタル放送用システムにも上記実施の形態の少なくとも符号化方法または復号化方法いずれかを組み込むことができる。具体的には、放送局ｅｘ４０９では映像情報の符号化ビットストリームが電波を介して通信または放送衛星ｅｘ４１０に伝送される。これを受けた放送衛星ｅｘ４１０は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナｅｘ４０６で受信し、テレビ（受信機）ｅｘ４０１またはセットトップボックス（ＳＴＢ）ｅｘ４０７などの装置により符号化ビットストリームを復号化してこれを再生する。また、記録媒体であるＣＤやＤＶＤ等の蓄積メディアｅｘ４０２に記録した符号化ビットストリームを読み取り、復号化する再生装置ｅｘ４０３にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタｅｘ４０４に表示される。また、ケーブルテレビ用のケーブルｅｘ４０５または衛星／地上波放送のアンテナｅｘ４０６に接続されたセットトップボックスｅｘ４０７内に画像復号化装置を実装し、これをテレビのモニタｅｘ４０８で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナｅｘ４１１を有する車ｅｘ４１２で衛星ｅｘ４１０からまたは基地局ｅｘ１０７等から信号を受信し、車ｅｘ４１２が有するカーナビゲーションｅｘ４１３等の表示装置に動画を再生することも可能である。
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、ＤＶＤディスクｅｘ４２１に画像信号を記録するＤＶＤレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダｅｘ４２０がある。更にＳＤカードｅｘ４２２に記録することもできる。
レコーダｅｘ４２０が上記実施の形態で示した画像復号化装置を備えていれば、ＤＶＤディスクｅｘ４２１やＳＤカードｅｘ４２２に記録した画像信号を再生し、モニタｅｘ４０８で表示することができる。
なお、カーナビゲーションｅｘ４１３の構成は例えば図１７に示す携帯電話機ｅｘ１１５と同様であるが、図１７に示した構成のうち、カメラ部ｅｘ２０３とカメラインターフェース部ｅｘ３０３、画像符号化部ｅｘ３１２を除いた構成が考えられる。同様なことがコンピュータｅｘ１１１やテレビ（受信機）ｅｘ４０１等でも考えられる。
また、上記携帯電話ｅｘ１１４等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の３通りの実装形式が考えられる。
【０１２９】
このように、本明細書に示した符号化方法、復号化方法を実装することにより本実施の形態で示したいずれの装置・システムに関しても実現可能になる。
【０１３０】
【発明の効果】
以上の説明から明らかなように、本発明に係る動画像符号化方法は、ピクチャ列からなる動画像を符号化し、得られた符号列を出力する方法であって、ピクチャを構成するブロックごとに動きベクトルを算出する動きベクトル算出ステップと、算出された動きベクトルを参照動きベクトルとして、係数を用いたスケーリング処理を行うことによって処理対象ブロックの動きベクトルを予測して生成する動きベクトル予測ステップと、前記係数を前記符号列とともに出力する係数出力ステップとを含むことを特徴とする。
【０１３１】
これによって、ピクチャの関連情報等にダイレクトモードで用いるためのスケーリング係数を含めて、符号列を生成して出力しているので、復号化時に関連情報よりスケーリング係数を取り出すことができる。
【０１３２】
また、本発明に係る動画像復号化方法は、請求項１記載の動画像符号化方法によって出力された符号列を復号化する方法であって、前記符号列から前記係数を取り出し、取り出した係数を用いてスケーリング処理を行うことによって処理対象ブロックの動きベクトルを算出する動きベクトル算出ステップと、算出された動きベクトルを用いて前記処理対象ブロックの復号化を行う復号化ステップとを含むことを特徴とする。
【０１３３】
これによって、符号列より取り出したスケーリング係数を用いて、参照動きベクトルから処理対象ブロックの２つの動きベクトルの生成することができるので、復号化時にスケーリング係数を、例えば各フィールド間の時間的距離等から求める必要がなく、処理付加が軽減でき、効率のよい処理を行うことが可能である。
【０１３４】
また、本発明の動画像符号化方法および動画像復号化方法を用いることにより、ダイレクトモードにおいて参照するフィールドに応じて最適なスケーリング係数を用いることができ、符号化効率の向上を図ることができる。またこの際にスケーリング係数を記述するオーバーヘッドはほとんど無視できる。さらに一部のスケーリング係数のみを関連情報として記述し、他のスケーリング係数は記述されたスケーリング係数から計算する方法を用いると、スケーリング係数を記述するための関連情報の符号量は、従来例と全く同じとなる。
【図面の簡単な説明】
【図１】本発明に係る動画像符号化装置の一実施の形態の構成を示すブロック図である。
【図２】フレームメモリにおけるピクチャの順序を示す説明図であり、（ａ）　入力された順序、（ｂ）　並び替えられた順序を示す説明図である。
【図３】ダイレクトモードにおける動きベクトルを示す説明図である。
【図４】動画像符号化装置による画像符号化信号フォーマットの概念図である。
【図５】本発明に係る動画像復号化装置の一実施の形態の構成を示すブロック図である。
【図６】ピクチャの順序を示す説明図であり、（ａ）　入力される符号列中のピクチャの順序、（ｂ）　出力画像として出力されるピクチャの順序を示す説明図である。
【図７】本発明の実施の形態を説明するための模式図である。
【図８】本発明の実施の形態を説明するための模式図である。
【図９】本発明の実施の形態を説明するための模式図である。
【図１０】本発明の実施の形態を説明するための模式図である。
【図１１】本発明の実施の形態を説明するための模式図である。
【図１２】本発明の実施の形態を説明するためのフローチャートである。
【図１３】本発明の実施の形態を説明するためのフローチャートである。
【図１４】実施の形態１の動画像符号化方法および動画像復号化方法をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての説明図であり、（ａ）　記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示した説明図、（ｂ）　フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示した説明図、（ｃ）　フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示した説明図である。
【図１５】コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成を示すブロック図である。
【図１６】携帯電話の一例を示す図である。
【図１７】携帯電話の内部構成を示すブロック図である。
【図１８】ディジタル放送用システムの全体構成を示すブロック図である。
【図１９】従来例を説明するための模式図である。
【図２０】従来例を説明するための模式図である。
【符号の説明】
１０１、１０７、７０７　フレームメモリ
１０２　差分演算部
１０３　予測誤差符号化部
１０４　符号列生成部
１０５　予測誤差復号化部
１０６　加算演算部
１０８　動きベクトル検出部
１０９　モード選択部
１１０　符号化制御部
１１１〜１１５、７０９、７１０　スイッチ
１１６　動きベクトル記憶部
７０１　符号列解析部
７０２　予測誤差復号化部
７０３　モード復号部
７０５　動き補償復号部
７０６　動きベクトル記憶部
７０８　加算演算部
Ｐ１、Ｂ２、Ｂ３、Ｂ４　フレーム
Ｐ１１、Ｐ１２、Ｂ２１、Ｂ２１、Ｂ３１、Ｂ３２、Ｂ４１、Ｂ４２　フィールド
【図１】
2004048632.tif 000003
【図２】
2004048632.tif 000004
【図３】
2004048632.tif 000005
【図４】
2004048632.tif 000006
【図５】
2004048632.tif 000007
【図６】
2004048632.tif 000008
【図７】
2004048632.tif 000009
【図８】
2004048632.tif 000010
【図９】
2004048632.tif 000011
【図１０】
2004048632.tif 000012
【図１１】
2004048632.tif 000013
【図１２】
2004048632.tif 000014
【図１３】
2004048632.tif 000015
【図１４】
2004048632.tif 000016
【図１５】
2004048632.tif 000017
【図１６】
2004048632.tif 000018
【図１７】
2004048632.tif 000019
【図１８】
2004048632.tif 000020
【図１９】
2004048632.tif 000021
【図２０】
2004048632.tif 000022