(57)【特許請求の範囲】
【請求項１】
動画像符号化方法であって、
画像をブロック単位でフレーム間予測するフレーム間予測ステップと、
該ブロックのフレーム間予測で利用する参照フレームと動きベクトルとを計算する動きベクトル計算ステップと、
該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算ステップと、
該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算ステップと、
該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定ステップと
を有し、
前記スキップモード有効判定ステップは、前記スキップモード動きベクトルと前記スキップモードの参照フレームに対応する前記予測動きベクトルとの差分動きベクトルの符号量を該ブロックの量子化パラメータで重み付けした値と該ブロックの原画像からスキップモード動きベクトルの予測画像を減じた値との合計値をスキップモード有効判定に利用することを特徴とする動画像符号化方法。
【請求項２】
前記スキップモード有効判定ステップは、前記スキップモードの参照フレームと前記動きベクトル計算ステップで計算された参照フレームとが異なる場合、該ブロックの符号化モードとしてスキップモードを無効と判定することを特徴とする請求項１に記載の動画像符号化方法。
【請求項３】
前記スキップモード動きベクトル計算ステップは、該ブロックがピクチャもしくはスライス境界に存在する場合、スキップモード動きベクトルをゼロベクトルとし、
前記スキップモード有効判定ステップは、ピクチャもしくはスライスの境界に位置するブロックにおいて、スキップモードを無効と判定することを特徴とする請求項１に記載の動画像符号化方法。
【請求項４】
動画像符号化方法であって、
画像をブロック単位でフレーム間予測するフレーム間予測ステップと、
該ブロックのフレーム間予測で利用する参照フレームと動きベクトルとを計算する動きベクトル計算ステップと、
該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算ステップと、
該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算ステップと、
該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定ステップと
を有し、
前記スキップモード有効判定ステップは、前記スキップモード動きベクトルと、前記スキップモードの参照フレームに対応する前記動きベクトル計算ステップで計算された動きベクトルとの差分動きベクトルの符号量を、該ブロックの量子化パラメータで重み付けした値をスキップモード有効判定に利用し、前記スキップモードの参照フレームと前記動きベクトル計算ステップで計算された参照フレームとが異なる場合、該ブロックの符号化モードとしてスキップモードを無効と判定する
ことを特徴とする動画像符号化方法。
【請求項５】
動画像符号化方法であって、
画像をブロック単位でフレーム間予測するフレーム間予測ステップと、
該ブロックのフレーム間予測で利用する参照フレームと動きベクトルとを計算する動きベクトル計算ステップと、
該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算ステップと、
該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算ステップと、
該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定ステップと
を有し、
前記スキップモード有効判定ステップは、前記スキップモード動きベクトルと、前記スキップモードの参照フレームに対応する前記動きベクトル計算ステップで計算された動きベクトルとの差分動きベクトルの符号量を、該ブロックの量子化パラメータで重み付けした値をスキップモード有効判定に利用し、
前記スキップモード動きベクトル計算ステップは、該ブロックがピクチャもしくはスライス境界に存在する場合、スキップモード動きベクトルをゼロベクトルとし、
前記スキップモード有効判定ステップは、ピクチャもしくはスライスの境界に位置するブロックにおいて、スキップモードを無効と判定する
ことを特徴とする動画像符号化方法。
【請求項６】
動画像符号化装置であって、
画像をブロック単位でフレーム間予測するフレーム間予測手段と、
該ブロックのフレーム間予測で利用する参照フレームと動きベクトルを計算する動きベクトル計算手段と、
該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算手段と、
該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算手段と、
該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定手段と
を有し、
前記スキップモード有効判定手段は、前記スキップモード動きベクトルと前記スキップモードの参照フレームに対応する前記予測動きベクトルとの差分動きベクトルの符号量を該ブロックの量子化パラメータで重み付けした値と該ブロックの原画像からスキップモード動きベクトルの予測画像を減じた値との合計値をスキップモード有効判定に利用することを特徴とする動画像符号化装置。
【請求項７】
前記スキップモード有効判定手段は、前記スキップモードの参照フレームと前記動きベクトル計算手段が計算した参照フレームとが異なる場合、該ブロックの符号化モードとしてスキップモードを無効と判定することを特徴とする請求項６に記載の動画像符号化装置。
【請求項８】
前記スキップモード動きベクトル計算手段は、該ブロックがピクチャもしくはスライス境界に存在する場合、スキップモード動きベクトルをゼロベクトルとし、
前記スキップモード有効判定手段は、ピクチャもしくはスライスの境界に位置するブロックにおいて、スキップモードを無効と判定することを特徴とする請求項６に記載の動画像符号化装置。
【請求項９】
動画像符号化装置であって、
画像をブロック単位でフレーム間予測するフレーム間予測手段と、
該ブロックのフレーム間予測で利用する参照フレームと動きベクトルを計算する動きベクトル計算手段と、
該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算手段と、
該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算手段と、
該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定手段と
を有し、
前記スキップモード有効判定手段は、前記スキップモード動きベクトルと、前記スキップモードの参照フレームに対応する前記動きベクトル計算手段が計算した動きベクトルとの差分動きベクトルの符号量を、該ブロックの量子化パラメータで重み付けした値をスキップモード有効判定に利用し、前記スキップモードの参照フレームと前記動きベクトル計算手段が計算した参照フレームとが異なる場合、該ブロックの符号化モードとしてスキップモードを無効と判定することを特徴とする動画像符号化装置。
【請求項１０】
動画像符号化装置であって、
画像をブロック単位でフレーム間予測するフレーム間予測手段と、
該ブロックのフレーム間予測で利用する参照フレームと動きベクトルを計算する動きベクトル計算手段と、
該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算手段と、
該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算手段と、
該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定手段と
を有し、
前記スキップモード有効判定手段は、前記スキップモード動きベクトルと、前記スキップモードの参照フレームに対応する前記動きベクトル計算手段が計算した動きベクトルとの差分動きベクトルの符号量を、該ブロックの量子化パラメータで重み付けした値をスキップモード有効判定に利用し、
前記スキップモード動きベクトル計算手段は、該ブロックがピクチャもしくはスライス境界に存在する場合、スキップモード動きベクトルをゼロベクトルとし、
前記スキップモード有効判定手段は、ピクチャもしくはスライスの境界に位置するブロックにおいて、スキップモードを無効と判定する
ことを特徴とする動画像符号化装置。
【請求項１１】
動画像符号化装置のプログラムであって、前記プログラムは前記動画像符号化装置を、
画像をブロック単位でフレーム間予測するフレーム間予測手段と、
該ブロックのフレーム間予測で利用する参照フレームと動きベクトルを計算する動きベクトル計算手段と、
該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算手段と、
該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算手段と、
該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定手段と
して機能させ、
前記スキップモード有効判定手段を、前記スキップモード動きベクトルと前記スキップモードの参照フレームに対応する前記予測動きベクトルとの差分動きベクトルの符号量を該ブロックの量子化パラメータで重み付けした値と該ブロックの原画像からスキップモード動きベクトルの予測画像を減じた値との合計値をスキップモード有効判定に利用するように機能させることを特徴とするプログラム。
【請求項１２】
前記スキップモード有効判定手段は、前記スキップモードの参照フレームと前記動きベクトル計算手段が計算した参照フレームとが異なる場合、該ブロックの符号化モードとしてスキップモードを無効と判定することを特徴とする請求項１１に記載のプログラム。
【請求項１３】
前記スキップモード動きベクトル計算手段は、該ブロックがピクチャもしくはスライス境界に存在する場合、スキップモード動きベクトルをゼロベクトルとし、
前記スキップモード有効判定手段は、ピクチャもしくはスライスの境界に位置するブロックにおいて、スキップモードを無効と判定することを特徴とする請求項１１に記載のプログラム。
【請求項１４】
動画像符号化装置のプログラムであって、前記プログラムは前記動画像符号化装置を、
画像をブロック単位でフレーム間予測するフレーム間予測手段と、
該ブロックのフレーム間予測で利用する参照フレームと動きベクトルを計算する動きベクトル計算手段と、
該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算手段と、
該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算手段と、
該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定手段と
して機能させ、
前記スキップモード有効判定手段を、前記スキップモード動きベクトルと、前記スキップモードの参照フレームに対応する前記動きベクトル計算手段が計算した動きベクトルとの差分動きベクトルの符号量を該ブロックの量子化パラメータで重み付けした値を、スキップモード有効判定に利用し、前記スキップモードの参照フレームと前記動きベクトル計算手段が計算した参照フレームとが異なる場合、該ブロックの符号化モードとしてスキップモードを無効と判定するように機能させることを特徴とするプログラム。
【請求項１５】
動画像符号化装置のプログラムであって、前記プログラムは前記動画像符号化装置を、
画像をブロック単位でフレーム間予測するフレーム間予測手段と、
該ブロックのフレーム間予測で利用する参照フレームと動きベクトルを計算する動きベクトル計算手段と、
該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算手段と、
該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算手段と、
該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定手段と
して機能させ、
前記スキップモード有効判定手段を、前記スキップモード動きベクトルと、前記スキップモードの参照フレームに対応する前記動きベクトル計算手段が計算した動きベクトルとの差分動きベクトルの符号量を該ブロックの量子化パラメータで重み付けした値を、スキップモード有効判定に利用し、
前記スキップモード動きベクトル計算手段は、該ブロックがピクチャもしくはスライス境界に存在する場合、スキップモード動きベクトルをゼロベクトルとし、
前記スキップモード有効判定手段は、ピクチャもしくはスライスの境界に位置するブロックにおいて、スキップモードを無効と判定する
ように機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動き補償予測を用いた動画像符号化技術におけるスキップＭＢモードの有効判定方法に関し、これを利用した動画像符号化装置およびプログラムに適用して好適な発明である。 
【背景技術】
【０００２】
高圧縮率な動画像符号化方式としてISO/IEC 14496-10 Advanced Video Codingがあり（非特許文献１  ISO/IEC 14496-10 Advanced Video Coding）、その参照符号化方式としてJoint Model(ＪＭ)方式が知られている。以後、ＪＭ方式を用いた動画像符号化装置を、従来の動画像符号化装置と呼ぶ。【０００３】
従来の動画像符号化装置は、各入力画像フレームの各Macro Block(ＭＢ)を逐次符号化処理することで、符号化データすなわちビットストリームを生成する。ここで、ＭＢとは、入力された画像フレームを格子状に分割した16x16画素の輝度画素と8x8画素のCrとCbの色差画素である(図１)。また、入力素材がインタレースの場合では、画像フレームの構造は、第１フィールドと第２フィールドに分割されて、各フィールドが画像フレ−ムとして符号化処理される。【０００４】
図２を参照すると、各ＭＢを符号化処理する、従来の動画像符号化装置は、ＭＢバッファＥ１０１、変換装置Ｅ１０２、量子化装置Ｅ１０３、エントロピー符号化装置Ｅ１０４、逆量子化/逆変換装置Ｅ１０５、フレームバッファＥ１０６、予測装置Ｅ１０７、符号量制御装置Ｅ１０８、動きベクトル計算装置Ｅ１０９、ＭＢモード判定装置Ｅ１１０で構成される。【０００５】
ＭＢバッファＥ１０１は、符号化対象ＭＢの原画像を格納する。【０００６】
ＡＶＣでは、複数種類の予測の中から、符号化対象ＭＢを好適に符号化できる予測を選択して符号化する。予測は、大きく分類すると、フレ−ム内予測とフレーム間予測の２種類がある。フレ−ム内予測は、現在の符号化画像フレ−ムの再構築画像から予測値を生成する。【０００７】
これに対して、フレ−ム間予測は、過去に符号化した複数枚の画像フレ−ムのいずれかの画像フレームの再構築画像を用いて予測を行う。【０００８】
また、AVCのフレーム間予測においては、フレーム間予測に利用する再構築画像フレーム(参照フレーム)をインデックスref_idx（参照インデックス）によって指定し、前記指定した再構築画像フレームのどの位置の再構築画像から予測値を生成するかを動きベクトルmvによって指定する。【０００９】
さらに加えて、ＡＶＣのフレーム間予測では、フレーム間予測の種類を指定することで(フレーム間予測の種類に対応するＭＢモードmb_modeを選択することで)、ＭＢをさらに分割したブロックの単位でも、参照インデックスref_idxおよび動きベクトルmv を設定して、伝送することも可能である(詳細は非特許文献１  ISO/IEC 14496-10 Advanced Video Codingを参照)。【００１０】
一般に、フレーム内予測のみで符号化したＭＢの集合(スライス)のことをＩスライス、フレーム内予測だけでなくフレーム間予測も適用して符号化したスライスのことをＰスライスと呼ぶ。フレーム間予測において、複数の画像フレームの合成画像を利用して予測できるＭＢを含むスライスのことをＢスライスと呼ぶ。Ｉスライスのみで構成される画像フレームをＩピクチャ、ＩスライスまたはＰスライスを含む(Ｂスライスを含まない)画像フレームをＰピクチャ、Ｂスライスを含む画像フレームをＢピクチャと呼ぶ。【００１１】
動きベクトル計算装置Ｅ１０９は、ＭＢバッファＥ１０１に格納された原画像とフレームバッファＥ１０６に格納された再構築画像を参照して、前記複数種類の予測に係るパラメータ(候補参照インデックスcandidate_ref_idxおよび候補動きベクトルcandidate_mv)を検出する。【００１２】
ＭＢモード判定装置Ｅ１１０は、動きベクトル計算装置Ｅ１０９が検出した候補参照インデックスcandidate_ref_idxおよび候補動きベクトルcandidate_mvを利用して、対象ＭＢの符号化に好適な予測の種類(ＭＢモードmb_mode)を選択する。前記選択されたＭＢモードmb_modeと、これに対応する参照インデックスref_idxおよび動きベクトルmvは、エントロピー符号化装置E104によってエントロピー符号化される。【００１３】
予測装置Ｅ１０７は、ＭＢモード判定装置Ｅ１１０が選択したＭＢモードmb_mode、これに対応する参照インデックスref_idx、動きベクトルmvに対応する予測値を、フレームバッファＥ１０６に格納された再構築画像から生成する。【００１４】
ＭＢバッファＥ１０１に格納された原画像は、予測装置Ｅ１０７から供給される予測値が減じられて、予測誤差として変換装置Ｅ１０２に供給される。【００１５】
前記予測誤差は、変換装置Ｅ１０２によって周波数領域に変換される。周波数領域に変換された予測誤差は、符号量制御装置Ｅ１０８から供給される量子化パラメータＱＰに対応する量子化ステップで、量子化装置Ｅ１０３によって量子化される。量子化パラメータＱＰと量子化された予測誤差(量子化レベル)は、エントロピー符号化装置Ｅ１０４によってエントロピー符号化される(なお、AVCではＭＢの単位で量子化パラメータを設定できる)。【００１６】
前記量子化レベルは、逆量子化/逆変換装置Ｅ１０５によって、逆量子化および逆変換されて、元の空間領域に戻される。空間領域に戻された予測誤差には、予測装置Ｅ１０７から供給される予測値が加えられ、以後の符号化のために再構築画像としてフレームバッファＥ１０６に格納される。【００１７】
従来の動画像符号化装置は、上述した処理を、各入力画像フレームの各ＭＢに適用することで、符号化処理を行う。
【発明の開示】
【発明が解決しようとする課題】
【００１８】
ところで、上述したＭＢの動き補償予測モードの中には、符号化済みのブロックから参照インデックスおよび動きベクトルを生成し、その生成した参照インデックスおよび動きベクトルで画像の予測値を計算できる、スキップモードがある(ＡＶＣでは、ＭＢ単位でスキップモードを指定ができるので、以後はスキップＭＢモードと呼ぶ)。スキップＭＢモードは、参照インデックス、動きベクトル、および量子化レベルをエントロピー符号化して伝送する必要のないＭＢモードである。特に、Ｐスライスにおいて、空間的に隣接する符号化済みのブロックの状態(コンテキスト)を利用して、スキップＭＢの参照インデックスskip_ref_idxおよび動きベクトルskip_mvを生成するスキップＭＢモードを、ＰスキップＭＢモードと呼ぶ。【００１９】
ＰスキップＭＢモードは、参照インデックス、動きベクトル、および量子化レベルをエントロピー符号化して伝送する必要がない。このため、予測誤差が小さくなりやすい平坦な領域においては、ＰスキップＭＢモードが符号化に好適なＭＢモードとして選択される傾向がある。【００２０】
しかしながら、パンニングなどのシーンの平坦な領域において、パンニングの動きと異なる動きベクトルを持つＰスキップＭＢモードが選択されると、主観的に望ましくないベクトル場が形成されてしまう問題がある。【００２１】
この問題の原因は、動きベクトルのメディアン予測と、ＰスキップＭＢモードの参照インデックスおよび動きベクトルの生成ルールである。原因である、動きベクトルのメディアン予測、ＡＶＣにおけるＰスキップＭＢモードの参照インデックスおよび動きベクトルの生成ルールをそれぞれ以下で説明する(詳細は、非特許文献１  ISO/IEC 14496-10 Advanced Video Codingを参照)。【００２２】
動きベクトルのメディアン予測では、対象ブロックに隣接する３ブロックの動きベクトルを参照して、その中央の値の動きベクトルを予測動きベクトル(pmv)とする。隣接する３ブロックは、対象ブロックの左隣接ブロック(ブロックA)、上隣接ブロック(ブロックＢ)、そして右上もしくは左上の隣接ブロック(ブロックＣもしくはブロックＤ)である。図３を参照して、参照インデックスref_idxに対応する16x16ブロックサイズ(ＭＢ)に対する、動きベクトルのメディアン予測を説明する。なお、前記の予測動きベクトルは、動きベクトルの予測符号化に利用される。【００２３】
MEDIAN(a,b,c)を入力a,b,cの中央値を返す関数、p16mvを参照インデックスref_idxに対するＭＢの予測動きベクトル、ref_idx_Xを隣接ブロックXの参照インデックス、mv_Xを隣接ブロックXの動きベクトル、avail_flag_Xを隣接ブロックXのアベイラビリティフラグとして、擬似プログラムコードで予測動きベクトルp16mv の計算ステップを以下に示す。ただし、前記隣接ブロックXのアベイラビリティフラグavail_flag_Xは、ブロックXがピクチャの外側に出ている、あるいは、異なるスライスに属している場合に、Falseとなるものとする。そうでない場合、avail_flag_Xは、Trueとなるものとする。
if(avail_flag_A == True)
{
ref_idx_l = ref_idx_A;
mv_l = mv_A;
}
else
{
ref_idx_l = -1;
mv_l = 0;
}
if(avail_flag_B == True)
{
ref_idx_u = ref_idx_B;
mv_u= mv_B;
}
else
{
ref_idx_u = -1;
mv_u = 0;
}
if(avail_flag_C == True)
{
ref_idx_di = ref_idx_C;
mv_di = mv_C;
}
else if(avail_flag_D == True)
{
ref_idx_di = ref_idx_D;
mv_di = mv_D;
}
else
{
ref_idx_di = -1;
mv_di = 0;
}
if(ref_idx_l == ref_idx && ref_idx_u != ref_idx && ref_idx_di != ref_idx)
p16mv = mv_l;
else if(ref_idx_l != ref_idx && ref_idx_u == 0 && ref_idx_di != ref_idx)
p16mv = mv_u;
else if(ref_idx_l != ref_idx && ref_idx_u != ref_idx && ref_idx_di == ref_idx)
p16mv = mv_di;
else if(avail_flag_B == False && avail_flag_C == False)
p16mv = mv_l;
else
p16mv = MEDIAN(mv_l , mv_u , mv_di);
【００２４】
メディアン予測の性質によって、隣接する２つ以上のブロックの動きベクトルが同じである場合、対象ブロックの予測動きベクトルは、前記隣接する２つ以上のブロックの動きベクトルと同じになる。また、予測誤差が小さい平坦な領域においては、当該ＭＢで差分ベクトルが伝送されない傾向がある。これらの理由により、予測誤差が小さくなりやすい平坦な領域で、図４のように同じ動きベクトルを持つＭＢ水平に連続して発生すると、前記連続して発生したＭＢの動きベクトルが、画面の下方向に広がる(伝播する)傾向がある。【００２５】
続いて、ＡＶＣにおけるＰスキップＭＢモードの参照インデックスおよび動きベクトルの生成ルールを説明する。【００２６】
ＡＶＣのＰスキップＭＢモードでは、参照インデックスskip_ref_idxをゼロとする。一方、動きベクトルskip_mvは、隣接するブロックにゼロベクトル(水平および垂直成分の動きベクトルの値が零)が存在する場合、あるいは、符号化対象ＭＢがピクチャやスライスの境界(ただし、左端と上端)に位置する場合、重要な動きがないものとして、skip_mvをゼロベクトルとする。【００２７】
そうでない場合には、重要な動き(グローバルな動き、ローカルな動き)があるものとして、動きベクトルskip_mv vは、参照インデックスref_idx=0に対応する前記の予測動きベクトルp16mvとなる。具体的には、動きベクトルskip_mvは、隣接ブロックのコンテキスト(ブロックＡおよびＢのアベイラビリティフラグ、参照インデックス、および動きベクトル)が以下のいずれかの条件を満たした場合にはゼロベクトル、そうでない場合には参照インデックスref_idx=0に対応する予測動きベクトルp16mvとなる。
avail_flag_A == False
avail_flag_B == False
avail_flag_A == True && ref_idx_A == 0 && mv_A == 0
avail_flag_B == True && ref_idx_B == 0 && mv_B == 0【００２８】
このＰスキップＭＢモードの動きベクトルの生成ルールによって、ref_idx=0およびmv=0のＰスキップＭＢモードが発生すると、後続するＭＢのＰスキップＭＢモードの動きベクトルも無条件にゼロベクトルとなる。つまり、ＰスキップＭＢモードが選択されやすい平坦な領域では、ゼロベクトルのＰスキップＭＢモードが連続して発生し、ゼロベクトルの動きベクトルが画面の右方向および下方向に伝播する。特に、ピクチャやスライスの境界では、ＰスキップＭＢモードの動きベクトルが必ずゼロベクトルとなり、動きベクトルの予測に参照されるため、画面内のベクトル場に対する動きベクトルの影響が大きい。【００２９】
以上説明した、動きベクトルのメディアン予測と、ＡＶＣのＰスキップＭＢモードの参照インデックスおよび動きベクトルの生成ルールによって、パンニングなどのシーンの平坦な領域で、主観的に望ましくないベクトル場が形成されてしまう一例を、以下で説明する。【００３０】
図５の符号化対象フレームは、縦にパンニングし、尚且つ、ほとんどの画像領域が平坦(Flat-textured ＭＢ)であり、テクスチャのあるＭＢ(Highly textured ＭＢ)のみでパンニングに合致した動きベクトルが動きベクトル計算によって得られるものとする。【００３１】
このような場合、フレーム間予測に用いる動きベクトルが多少揺らいでも、平坦ＭＢの予測誤差は小さくなるため、ＰスキップＭＢモードが選ばれやすくなる。また、ピクチャおよびスライスの境界のＭＢにおいては、スキップＭＢモードの動きベクトルｓｋｉｐ＿ｍｖは、前述したＰスキップＭＢモードの生成ルールによって、ゼロベクトルとなる（図６、ＭＢ  ｗｉｔｈ  ＳｋｉｐＭＶ＝０）。【００３２】
このため、スライス境界に後続する平坦な画像領域では、画像全体が縦にパンニングしているにも関わらず、メディアン予測とＰスキップＭＢモードによる動きベクトルの伝播によって、殆どの平坦ＭＢの動きベクトルがゼロベクトルとして符号化が終了する（図７）。この結果、パンニングの動きと符号化された画像の動きが大きく異なり、主観的に望ましくないベクトル場が形成されてしまう。【００３３】
本発明は、上記の課題を鑑みてなされたものであり、主観的に望ましくないベクトル場の形成を回避する、高画質な符号化を可能とする動画像符号化方法、およびこれを用いた装置とコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【００３４】
上記課題を解決するための第１の発明は、動画像符号化方法であって、画像をブロック単位でフレーム間予測するフレーム間予測ステップと、該ブロックのフレーム間予測で利用する参照フレームと動きベクトルとを計算する動きベクトル計算ステップと、該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算ステップと、該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算ステップと、該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定ステップとを有し、前記スキップモード有効判定ステップは、前記スキップモード動きベクトルと前記スキップモードの参照フレームに対応する前記予測動きベクトルとの差分動きベクトルの符号量を該ブロックの量子化パラメータで重み付けした値と該ブロックの原画像からスキップモード動きベクトルの予測画像を減じた値との合計値をスキップモード有効判定に利用することを特徴とする。
【００３６】
上記課題を解決するための第２の発明は、上記第１の発明において、前記スキップモード有効判定ステップは、前記スキップモードの参照フレームと前記動きベクトル計算ステップで計算された参照フレームとが異なる場合、該ブロックの符号化モードとしてスキップモードを無効と判定することを特徴とする。
【００３７】
上記課題を解決するための第３の発明は、上記第１の発明において、前記スキップモード動きベクトル計算ステップは、該ブロックがピクチャもしくはスライス境界に存在する場合、スキップモード動きベクトルをゼロベクトルとし、前記スキップモード有効判定ステップは、ピクチャもしくはスライスの境界に位置するブロックにおいて、スキップモードを無効と判定することを特徴とする。
【００３９】
上記課題を解決するための第４の発明は、動画像符号化方法であって、画像をブロック単位でフレーム間予測するフレーム間予測ステップと、該ブロックのフレーム間予測で利用する参照フレームと動きベクトルとを計算する動きベクトル計算ステップと、該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算ステップと、該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算ステップと、該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定ステップとを有し、前記スキップモード有効判定ステップは、前記スキップモード動きベクトルと、前記スキップモードの参照フレームに対応する前記動きベクトル計算ステップで計算された動きベクトルとの差分動きベクトルの符号量を、該ブロックの量子化パラメータで重み付けした値をスキップモード有効判定に利用し、前記スキップモードの参照フレームと前記動きベクトル計算ステップで計算された参照フレームとが異なる場合、該ブロックの符号化モードとしてスキップモードを無効と判定することを特徴とする。
【００４０】
上記課題を解決するための第５の発明は、動画像符号化方法であって、画像をブロック単位でフレーム間予測するフレーム間予測ステップと、該ブロックのフレーム間予測で利用する参照フレームと動きベクトルとを計算する動きベクトル計算ステップと、該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算ステップと、該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算ステップと、該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定ステップとを有し、前記スキップモード有効判定ステップは、前記スキップモード動きベクトルと、前記スキップモードの参照フレームに対応する前記動きベクトル計算ステップで計算された動きベクトルとの差分動きベクトルの符号量を、該ブロックの量子化パラメータで重み付けした値をスキップモード有効判定に利用し、前記スキップモード動きベクトル計算ステップは、該ブロックがピクチャもしくはスライス境界に存在する場合、スキップモード動きベクトルをゼロベクトルとし、前記スキップモード有効判定ステップは、ピクチャもしくはスライスの境界に位置するブロックにおいて、スキップモードを無効と判定することを特徴とする。
【補正の内容】
【００４１】
上記課題を解決するための第６の発明は、動画像符号化装置であって、画像をブロック単位でフレーム間予測するフレーム間予測手段と、該ブロックのフレーム間予測で利用する参照フレームと動きベクトルを計算する動きベクトル計算手段と、該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算手段と、該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算手段と、該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定手段とを有し、前記スキップモード有効判定手段は、前記スキップモード動きベクトルと前記スキップモードの参照フレームに対応する前記予測動きベクトルとの差分動きベクトルの符号量を該ブロックの量子化パラメータで重み付けした値と該ブロックの原画像からスキップモード動きベクトルの予測画像を減じた値との合計値をスキップモード有効判定に利用することを特徴とする。
【００４３】
上記課題を解決するための第７の発明は、上記第６の発明において、前記スキップモード有効判定手段は、前記スキップモードの参照フレームと前記動きベクトル計算手段が計算した参照フレームとが異なる場合、該ブロックの符号化モードとしてスキップモードを無効と判定することを特徴とする。
【００４４】
上記課題を解決するための第８の発明は、上記第６の発明において、前記スキップモード動きベクトル計算手段は、該ブロックがピクチャもしくはスライス境界に存在する場合、スキップモード動きベクトルをゼロベクトルとし、前記スキップモード有効判定手段は、ピクチャもしくはスライスの境界に位置するブロックにおいて、スキップモードを無効と判定することを特徴とする。
【００４６】
上記課題を解決するための第９の発明は、動画像符号化装置であって、画像をブロック単位でフレーム間予測するフレーム間予測手段と、該ブロックのフレーム間予測で利用する参照フレームと動きベクトルを計算する動きベクトル計算手段と、該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算手段と、該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算手段と、該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定手段とを有し、前記スキップモード有効判定手段は、前記スキップモード動きベクトルと、前記スキップモードの参照フレームに対応する前記動きベクトル計算手段が計算した動きベクトルとの差分動きベクトルの符号量を、該ブロックの量子化パラメータで重み付けした値をスキップモード有効判定に利用し、前記スキップモードの参照フレームと前記動きベクトル計算手段が計算した参照フレームとが異なる場合、該ブロックの符号化モードとしてスキップモードを無効と判定することを特徴とする。
【００４７】
上記課題を解決するための第１０の発明は、動画像符号化装置であって、画像をブロック単位でフレーム間予測するフレーム間予測手段と、該ブロックのフレーム間予測で利用する参照フレームと動きベクトルを計算する動きベクトル計算手段と、該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算手段と、該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算手段と、該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定手段とを有し、前記スキップモード有効判定手段は、前記スキップモード動きベクトルと、前記スキップモードの参照フレームに対応する前記動きベクトル計算手段が計算した動きベクトルとの差分動きベクトルの符号量を、該ブロックの量子化パラメータで重み付けした値をスキップモード有効判定に利用し、前記スキップモード動きベクトル計算手段は、該ブロックがピクチャもしくはスライス境界に存在する場合、スキップモード動きベクトルをゼロベクトルとし、前記スキップモード有効判定手段は、ピクチャもしくはスライスの境界に位置するブロックにおいて、スキップモードを無効と判定することを特徴とする。
【００４８】
上記課題を解決するための第１１の発明は、動画像符号化装置のプログラムであって、前記プログラムは前記動画像符号化装置を、画像をブロック単位でフレーム間予測するフレーム間予測手段と、該ブロックのフレーム間予測で利用する参照フレームと動きベクトルを計算する動きベクトル計算手段と、該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算手段と、該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算手段と、該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定手段として機能させ、前記スキップモード有効判定手段を、前記スキップモード動きベクトルと前記スキップモードの参照フレームに対応する前記予測動きベクトルとの差分動きベクトルの符号量を該ブロックの量子化パラメータで重み付けした値と該ブロックの原画像からスキップモード動きベクトルの予測画像を減じた値との合計値をスキップモード有効判定に利用ように機能させることを特徴とする。
【００５０】
上記課題を解決するための第１２の発明は、上記第１１の発明において、前記スキップモード有効判定手段は、前記スキップモードの参照フレームと前記動きベクトル計算手段が計算した参照フレームとが異なる場合、該ブロックの符号化モードとしてスキップモードを無効と判定することを特徴とする。
【００５１】
上記課題を解決するための第１３の発明は、上記第１１の発明において、前記スキップモード動きベクトル計算手段は、該ブロックがピクチャもしくはスライス境界に存在する場合、スキップモード動きベクトルをゼロベクトルとし、前記スキップモード有効判定手段は、ピクチャもしくはスライスの境界に位置するブロックにおいて、スキップモードを無効と判定することを特徴とする。
【００５３】
上記課題を解決するための第１４の発明は、動画像符号化装置のプログラムであって、前記プログラムは前記動画像符号化装置を、画像をブロック単位でフレーム間予測するフレーム間予測手段と、該ブロックのフレーム間予測で利用する参照フレームと動きベクトルを計算する動きベクトル計算手段と、該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算手段と、該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算手段と、該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定手段として機能させ、前記スキップモード有効判定手段を、前記スキップモード動きベクトルと、前記スキップモードの参照フレームに対応する前記動きベクトル計算手段が計算した動きベクトルとの差分動きベクトルの符号量を該ブロックの量子化パラメータで重み付けした値を、スキップモード有効判定に利用し、前記スキップモードの参照フレームと前記動きベクトル計算手段が計算した参照フレームとが異なる場合、該ブロックの符号化モードとしてスキップモードを無効と判定するように機能させることを特徴とする。
【００５４】
上記課題を解決するための第１５の発明は、動画像符号化装置のプログラムであって、前記プログラムは前記動画像符号化装置を、画像をブロック単位でフレーム間予測するフレーム間予測手段と、該ブロックのフレーム間予測で利用する参照フレームと動きベクトルを計算する動きベクトル計算手段と、該ブロックの動きベクトルを予測符号化する予測動きベクトルを計算する予測動きベクトル計算手段と、該ブロックに空間的に隣接するブロックのコンテキストを利用してスキップモードのスキップモード動きベクトルを計算するスキップモード動きベクトル計算手段と、該ブロックの符号化モードとしてスキップモードが有効であるかを判定するスキップモード有効判定手段として機能させ、前記スキップモード有効判定手段を、前記スキップモード動きベクトルと、前記スキップモードの参照フレームに対応する前記動きベクトル計算手段が計算した動きベクトルとの差分動きベクトルの符号量を該ブロックの量子化パラメータで重み付けした値を、スキップモード有効判定に利用し、前記スキップモード動きベクトル計算手段は、該ブロックがピクチャもしくはスライス境界に存在する場合、スキップモード動きベクトルをゼロベクトルとし、
前記スキップモード有効判定手段は、ピクチャもしくはスライスの境界に位置するブロックにおいて、スキップモードを無効と判定するように機能させることを特徴とする。
【発明の効果】
【００５５】
本発明によれば、主観的に望ましくないベクトル場の形成を回避する、高画質な符号化を可能とする動画像符号化方法、およびこれを用いた装置とコンピュータプログラムを提供できる。
【図面の簡単な説明】
【００５６】
【図１】図１は、画像フレーム（４：２：０フォーマット）の構成である。
【図２】図２は、従来の動画像符号化装置の構成図である。
【図３】図３は、符号化対象ＭＢと参照隣接ブロックとの関係を説明するための図である。
【図４】図４は、平坦領域における予測動きベクトルの伝播を説明するための図である。
【図５】図５は、符号化対象画像フレームの一例（縦パン）である。
【図６】図６は、ピクチャ境界、及びスライス境界のＰスキップＭＢがゼロベクトルとなる様子である。
【図７】図７は、主観的に望ましくないベクトル場の形成である。
【図８】図８は、従来のＭＢモード判定装置である。
【図９】図９は、フレーム間予測画像の生成を説明するための図である。
【図１０】図１０は、第１の実施の形態の構成図である。
【図１１】図１１は、第１の実施の形態のフロー図である。
【図１２】図１２は、望ましいベクトル場の形成
【図１３】図１３は、第２の実施の形態の構成図である。
【図１４】図１４は、第３の実施の形態の構成図である。
【図１５】図１５は、第３の実施の形態のフロー図である。
【図１６】図１６は、第３の実施の形態の構成図である。
【図１７】図１７は、第４の実施の形態の構成図である。
【図１８】図１８は、第４の実施の形態のフロー図である。
【図１９】図１９は、第４の実施の形態の構成図である。
【図２０】図２０は、本発明を利用した情報処理装置の構成である。
【符号の説明】
【００５７】
Ｅ１１０００    仮想ベクトルコスト計算
Ｅ１１００１    動き補償予測
Ｅ１１００２    ＳＡＴＤ計算
Ｅ１１００３    スキップＭＢ動きベクトル計算
Ｅ１１００４    予測動きベクトル計算
Ｅ１１００５    ベクトルコスト計算
Ｅ１１００６    判定
【発明を実施するための最良の形態】
【００５８】
本発明は、動き補償予測を用いた動画像符号化技術におけるスキップＭＢモードの有効判定技術のみに関する。ゆえに、本発明を利用した動画像符号化装置では、図２の装置全体のうち、ＭＢモード判定装置Ｅ１１０の構成および動作のみが従来と異なる。以下では、ＭＢモード判定装置Ｅ１１０について、従来方式を詳細に説明した後、本発明の実施の形態について説明する。【００５９】
〈従来方式〉
図８を参照すると、従来のＭＢモード判定装置は、動き補償予測装置Ｅ１１００１、ＳＡＴＤ計算装置Ｅ１１００２、スキップＭＢ動きベクトル計算装置Ｅ１１００３、予測動きベクトル計算装置Ｅ１１００４、ベクトルコスト計算装置Ｅ１１００５、判定装置Ｅ１１００６、スイッチＳＷ１００１によって構成される。【００６０】
動き補償予測装置Ｅ１１００１は、外部の動きベクトル計算装置Ｅ１０９から供給される候補参照インデックスcandidate_ref_idxと候補動きベクトルcandidate_mv(candidate_mv_x, candidate_mv_y)、あるいは、スキップＭＢ動きベクトル計算装置Ｅ１１００３から供給されるスキップＭＢの参照インデックスskip_ref_idxおよび動きベクトルskip_mv(skip_mv_x, skip_mv_y)をスイッチＳＷ１００１で切り替えて、入力される参照インデックスおよび動きベクトルに対応するフレーム間予測画像を生成する。図９に、ref_idx=0のフレーム間予測画像の一例を示す。【００６１】
以後の説明のために、前記のフレーム間予測画像predを、定式的に以下のように定義する。
0005423948.tif 000002
（１）
ここで、MC(ref_idx,mv_x,_mv_y)は、供給される参照インデックスref_idxおよび動きベクトル (mv_x,_mv_y)に従い、参照インデックスref_idxの再構築画像フレームから、予測対象ブロックの左上角の座標(x,y)と動きベクトル (mv_x, mv_y)を利用して、フレーム間予測画像を計算する関数である。なお、ＡＶＣにおいては、動きベクトルmvの画素精度は１／４画素精度である。【００６２】
ＳＡＴＤ計算装置Ｅ１１００２は、動き補償予測装置Ｅ１１００１から供給されるフレーム間予測画像predを、原画像orgから減じた予測誤差peを利用して、式（２）のＳＡＴＤを計算する。
0005423948.tif 000003
（２）
0005423948.tif 000004
（３）
0005423948.tif 000005
（４）
0005423948.tif 000006
（５）【００６３】
ここで、idxは、図１に示すＭＢ内部での4x4ブロックの番号であり、
0005423948.tif 000007
は、idxに対応する4x4ブロックの左上角のＭＢ内部での座標を示す。上記のＳＡＴＤの計算には4x4ブロックサイズのアダマール変換を利用しているが、代わりに8x8ブロックサイズのアダマール変換を利用してもよいし、ＳＡＴＤの代わりにＳＡＤ(Sum of Absolute Differences)を利用しても良い。【００６４】
スキップＭＢ動きベクトル計算装置Ｅ１１００３は、スキップＭＢに対応する参照インデックスskip_ref_idxおよび動きベクトルskip_mv(skip_mv_x, skip_mv_y)を計算する。尚、詳細は、発明が解決しようとする課題での記述に従う。【００６５】
予測動きベクトル計算装置Ｅ１１００４は、候補参照インデックスcandidate_ref_idxに対応する予測動きベクトルpmv(pmv_x, pmv_y)を計算する。尚、詳細は、発明が解決しようとする課題での記述に従う。【００６６】
ベクトルコスト計算装置Ｅ１１００５は、候補動きベクトルcandidate_mv(candidate_mv_x, candidate_mv_y)から、予測動きベクトル計算装置Ｅ１１００４から供給される予測動きベクトルpmv(pmv_x, pmv_y)を減じて、差分動きベクトルdmv(dmv_x, dmv_y)を求め、前記差分動きベクトルdmvの符号量dmv_bitを求める。前記dmv_bitを、定式的に以下のように定義する。
0005423948.tif 000008
（６）【００６７】
ここで、Bit_length(x)は差分動きベクトルxのエントロピー符号化のビット数を返す関数である。【００６８】
さらに、ベクトルコスト計算装置Ｅ１１００５は、前記符号量dmv_bitを、外部の符号量制御装置Ｅ１０８から供給される量子化パラメータＱＰを利用して、式（７）のように重み付けし、その重み付け結果をベクトルコストmv_costとして、判定装置Ｅ１１００６に供給する。
0005423948.tif 000009
（７）【００６９】
判定装置Ｅ１１００６は、スキップＭＢモード以外のＭＢモードのコストmb_costを、候補参照インデックスcandidate_ref_idxと候補動きベクトルcandidate_mvに対応する、ＳＡＴＤ計算装置Ｅ１１００２から供給されるＳＡＴＤとベクトルコスト計算装置Ｅ１１００５から供給されるベクトルコストmv_costを利用して、式（８）で計算する。
0005423948.tif 000010
（８）【００７０】
これに対して、スキップＭＢモードでは動きベクトルをエントロピー符号化して伝送する必要がない。ゆえに、判定装置Ｅ１１００６は、スキップＭＢモードのコストsmb_costを、スキップＭＢの参照インデックスskip_ref_idxおよび動きベクトルskip_mvに対応するＳＡＴＤ計算装置Ｅ１１００２から供給されるＳＡＴＤのみを利用して、式（９）のように計算する。
0005423948.tif 000011
（９）【００７１】
判定装置Ｅ１１００６(スキップＭＢモードの有効判定装置)は、スキップＭＢモードのコストsmb_costが、スキップＭＢモード以外のＭＢモードのコストmb_costよりも小さければ、スキップＭＢが有効であると判断して、スキップＭＢモードに対応するmb_mode、参照インデックスref_idx、動きベクトルmvを外部に出力する。そうでない場合は、スキップＭＢモード以外のＭＢモードに対応するmb_mode、参照インデックスref_idx、動きベクトルmvを外部に出力する。【００７２】
上述したように、平坦なＭＢは、スキップＭＢモードの動きベクトル（skip_mv）が真の動きベクトルと異なる値であっても、そのＳＡＴＤの値が比較的小さく、さらに、動きベクトルコストmv_costが必要ないことから、他のＭＢモードよりも、スキップＭＢモードが有効と判定される。パンニングのシーンの平坦領域で、パンニングの動きと異なる動きベクトルを持つＰスキップＭＢモードが選択されて、主観的に望ましくないベクトル場が形成されてしまう。【００７３】
以上で、従来のＭＢモード判定の説明を終了する。【００７４】
従来技術に対して、本発明は、スキップＭＢモードの動きベクトルに基づいた補正値を利用してスキップＭＢモードの有効判定を行う。この補正値とは、スキップＭＢモードの動きベクトルと、推定した動きベクトルとの差分動きベクトルから計算した符号量を該ブロックの量子化パラメータで重み付けして得られる仮想ベクトルコストである。これによって、主観的に望ましくないベクトル場の形成を回避できる。以下では、本発明のスキップＭＢモードの有効判定を説明する。【００７５】
〈第１の実施の形態〉
本第１の実施の形態は、従来方式と比較すると、スキップＭＢモードの動きベクトルとスキップＭＢモードの参照フレーム(参照インデックス)に対応する予測動きベクトルの差分動きベクトルの符号量から、仮想ベクトルコストを求める手段を備える。前記仮想ベクトルコストをスキップＭＢモードの有効判定に利用することで、上述した課題を克服することができる。【００７６】
図１０を参照して、本実施の形態のＭＢモード判定装置の構成を説明する。【００７７】
図８の従来のＭＢモード判定装置と比較すると、新たに、仮想ベクトルコスト計算装置Ｐ１００００およびスイッチＳＷ１１００２を備えることが分かる。また、ベクトルコスト計算装置Ｅ１１００５から供給されるベクトルコストは、スイッチＳＷ１１００２を経由して、判定装置Ｅ１１００６に供給される。このため、判定装置Ｅ１１００６の動作は、従来のものと異なる。【００７８】
以下では、本発明の特徴部である、仮想ベクトルコスト計算装置Ｐ１００００、および判定装置Ｅ１１００６を説明する。【００７９】
仮想ベクトルコスト計算装置Ｐ１００００は、外部の符号量制御装置Ｅ１０８から供給される量子化パラメータＱＰ、スキップＭＢ動きベクトル計算装置Ｅ１１００３から供給されるスキップＭＢに対応する動きベクトルskip_mv、予測動きベクトル計算装置Ｅ１１００４から供給されるref_idx=0(スキップＭＢの参照インデックス)に対応するＭＢの予測動きベクトルpmv16を利用して、仮想ベクトルコストsmv_costを計算する。尚、詳細は、発明が解決しようとする課題での記述に従う。【００８０】
仮想ベクトルコスト計算装置Ｐ１００００は、スキップＭＢに対応する動きベクトルskip_mv(skip_mv_x, skip_mv_y)から、予測動きベクトル計算装置Ｅ１１００４から供給される予測動きベクトルpmv16(pm16v_x, pmv16_y) を減じて、仮想差分動きベクトルsdmv(sdmv_x,dmv_y)を求め、前記差分動きベクトルsdmvの仮想符号量sdmv_bitを求める。前記仮想符号量sdmv_bitを、式（１０）のように定義する。
0005423948.tif 000012
（１０）【００８１】
さらに、仮想ベクトルコスト計算装置Ｐ１００００は、前記量子化パラメータＱＰを利用して、前記仮想符号量sdmv_bitを式（１１）のように重み付けし、その重み付け結果を仮想ベクトルコストsmv_costとして、スイッチＳＷ１１００２に供給する。
0005423948.tif 000013
（１１）【００８２】
ここで、式（１１）の仮想ベクトルコストsmv_costは、スキップＭＢモードが選択されて、主観的に望ましくないベクトル場が形成されるのを回避するためのオフセットとして働く。また、スキップＭＢモードが有効と判断されたＭＢにおいて、非ゼロの量子化レベルが発生した場合には、参照インデックスref_idx=0で、かつ、動きベクトルmv=skip_mvの16x16画素サイズのフレーム間予測モードとして、参照インデックスと動きベクトルがエントロピー符号化されるので、この場合での動きベクトルコストとしても機能する。【００８３】
スキップＭＢモード以外のＭＢモードでは、従来と同様に、本発明の判定装置Ｅ１１００６は、候補参照インデックスcandidate_ref_idxと候補動きベクトルcandidate_mvに対応する、ＳＡＴＤ計算装置Ｅ１１００２から供給されるＳＡＴＤと、スイッチＳＷ１１００２を経由してベクトルコスト計算装置Ｅ１１００５から供給されるベクトルコストmv_costを利用して、当該ＭＢモードのコストmb_costを式（８）で計算する。
0005423948.tif 000014
（８）【００８４】
これに対して、スキップＭＢモードでは、従来とは異なり、本発明の判定装置Ｅ１１００６は、スキップＭＢの参照インデックスskip_ref_idxおよび動きベクトルskip_mvに対応する、ＳＡＴＤ計算装置Ｅ１１００２から供給されるＳＡＴＤと、スイッチＳＷ１１００２を経由して仮想ベクトルコスト計算装置Ｐ１００００から供給される仮想ベクトルコストsmv_costを利用して、スキップＭＢモードのコストsmb_costを式（１２）のように計算する。
0005423948.tif 000015
（１２）【００８５】
従来と同様に、判定装置Ｅ１１００６は、スキップＭＢモードのコストsmb_costが、スキップＭＢモード以外のＭＢモードのコストmb_costよりも小さければ、スキップＭＢが有効であると判断して、スキップＭＢモードに対応するmb_mode、参照インデックスref_idx、動きベクトルmvを外部に出力する。そうでない場合は、スキップＭＢモード以外のＭＢモードに対応するmb_mode、参照インデックスref_idx、動きベクトルmvを外部に出力する。【００８６】
続いて、図１１を参照して、本実施の形態におけるＭＢモード判定装置の動作を説明する。【００８７】
まず、ＭＢモード判定の開始に際して、最小コストMinCostに初期値(十分大きな値)を設定する。【００８８】
ステップＳ１０００では、判定対象がスキップＭＢであるか否かを判断する。スキップＭＢでなければステップＳ２０００、スキップＭＢであればスキップＳ３０００に進む。【００８９】
ステップＳ２０００では、判定対象ＭＢモードに対応する参照インデックスref_idxと動きベクトルmvを利用して、式（８）によってＭＢモードコストmb_costを計算し、ＭＢモードコストmb_costを変数curCostに代入して、ステップＳ４０００に進む。【００９０】
ステップＳ３０００では、スキップＭＢモードに対応する参照インデックスref_idxと動きベクトルmvを利用して、式（１２）によってスキップＭＢモードコストsmb_costを計算し、ＭＢモードコストsmb_costを変数curCostに代入して、ステップＳ４０００に進む。【００９１】
ステップＳ４０００では、変数curCostが最小コストMinCostよりも小さいかを判断する。小さければステップＳ５０００、大きければステップＳ６０００に進む。【００９２】
ステップＳ５０００では、最小コストMinCostを変数curCostによって更新し、当該判定対象ＭＢモードのmb_mode、これに対応する参照インデックスref_idxと動きベクトルmvを記憶する（選択する符号化ＭＢモードを更新する）。さらに、ステップＳ６０００に進む。【００９３】
ステップＳ６０００では、すべてのＭＢモードの比較が終了したか否かを判断する。すべてのＭＢモードの比較が終了していなければ、次の判定対象ＭＢモードのmb_modeをセットして、ステップＳ１０００に戻る。すべてのＭＢモードの比較が終了していれば、ＭＢモード判定を終了する。【００９４】
ＭＢモード判定を終了すると、ＭＢモード判定装置は、現在保持しているmb_mode、参照インデックスref_idx、動きベクトルmvを、当該ＭＢを符号化するパラメータとして外部に出力する。【００９５】
以上で、本実施の形態におけるＭＢモード判定装置の動作を終了する。【００９６】
上述した、本発明のＭＢモード判定装置を利用して動画像を符号化した場合、仮想ベクトルコストsmv_costの効果によって、図５のような、縦にパンニングし、尚且つ、ほとんどの画像領域が平坦(Flat-textured ＭＢ)であり、テクスチャのあるＭＢ(Highly textured ＭＢ)のみでパンニングに合致した動きベクトルが動きベクトル計算によって得られる画像を符号化したとしても、図１２のように、パンニングの動きと符号化された画像の動きが合致した主観的に望ましいベクトル場を形成できる。【００９７】
〈第２の実施の形態〉
本実施の形態は、第１の実施の形態と比較すると、スキップＭＢモードの動きベクトルとスキップＭＢモードの参照フレーム(参照インデックス)に対応する動きベクトル計算装置の計算した動きベクトルの差分動きベクトルの符号量から、仮想ベクトルコストを求める手段を備える。【００９８】
図１３を参照して、本実施の形態のＭＢモード判定装置の構成を説明する。【００９９】
図１０の第１の実施の形態のＭＢモード判定装置と比較すると、予測動きベクトルの代わりに、候補動きベクトルが仮想ベクトルコスト計算装置Ｐ１００００に供給されている点で異なる。このため、仮想ベクトルコスト計算装置Ｐ１００００の動作が第１の実施の形態のものと異なる。【０１００】
以下では、本実施の形態の特徴部である、仮想ベクトルコスト計算装置Ｐ１００００を説明する。【０１０１】
仮想ベクトルコスト計算装置Ｐ１００００は、外部の符号量制御装置Ｅ１０８から供給される量子化パラメータＱＰ、スキップＭＢ動きベクトル計算装置Ｅ１１００３から供給されるスキップＭＢに対応する動きベクトルskip_mv、外部の動きベクトル計算装置Ｅ１０９から供給される16x16ブロックサイズに対応するフレーム間予測モードの候補参照インデックスref_idx16と候補動きベクトルmv16を利用して、仮想ベクトルコストsmv_costを計算する。【０１０２】
仮想ベクトルコスト計算装置Ｐ１００００は、スキップＭＢに対応する動きベクトルskip_mv(skip_mv_x, skip_mv_y)から、動きベクトル計算装置Ｅ１０９から供給される動きベクトルmv16(pm16v_x, pmv16_y) を減じて、仮想差分動きベクトルpdmv(pdmv_x, pdmv_y)を求め、前記差分動きベクトルpdmvの仮想符号量pdmv_bitを求める。本実施の形態における前記仮想符号量pdmv_bitを、式（１３）のように定義する。
0005423948.tif 000016
（１３）【０１０３】
さらに、仮想ベクトルコスト計算装置Ｐ１００００は、前記量子化パラメータＱＰを利用して、前記仮想符号量pdmv_bitを式（１４）のように重み付けし、その重み付け結果を仮想ベクトルコストpmv_costとして、スイッチＳＷ１１００２に供給する。
0005423948.tif 000017
（１４）【０１０４】
式（１４）の仮想ベクトルコストpmv_costは、式（１２）の仮想ベクトルコストsmv_costと同様に、スキップＭＢモードが選択されて、主観的に望ましくないベクトル場が形成されるのを回避するためのオフセットとして働く。仮想ベクトルコストが第１の実施の形態と異なることにより、判定装置Ｅ１１００６が計算する、スキップＭＢモードのコストsmb_costは式（１５）となる。
0005423948.tif 000018
（１５）
以上で、本実施の形態における仮想ベクトルコスト計算装置Ｐ１００００の説明を終わる。【０１０５】
構成から明らかな様に、第１の実施の形態と本実施の形態とでは、ＭＢモード判定の動作フローは同様である。ただし、ステップＳ３０００の処理内容が異なるため、本実施の形態でのＭＢモード判定を以下にすべて記述する。【０１０６】
まず、ＭＢモード判定の開始に際して、最小コストMinCostに初期値(十分大きな値)を設定する。【０１０７】
ステップＳ１０００では、判定対象がスキップＭＢであるか否かを判断する。スキップＭＢでなければステップＳ２０００、スキップＭＢであればスキップＳ３０００に進む。【０１０８】
ステップＳ２０００では、判定対象ＭＢモードに対応する参照インデックスref_idxと動きベクトルmvを利用して、式（８）によってＭＢモードコストmb_costを計算し、ＭＢモードコストmb_costを変数curCostに代入して、ステップＳ４０００に進む。【０１０９】
ステップＳ３０００では、スキップＭＢモードに対応する参照インデックスref_idxと動きベクトルmvを利用して、式（１５）によってスキップＭＢモードコストsmb_costを計算し、ＭＢモードコストsmb_costを変数curCostに代入して、ステップＳ４０００に進む。【０１１０】
ステップＳ４０００では、変数curCostが最小コストMinCostよりも小さいかを判断する。小さければステップS5000、大きければステップS6000に進む。【０１１１】
ステップＳ５０００では、最小コストMinCostを変数curCostによって更新し、当該判定対象ＭＢモードのmb_mode、これに対応する参照インデックスref_idxと動きベクトルmvを記憶する（選択する符号化ＭＢモードを更新する）。さらに、ステップＳ６０００に進む。【０１１２】
ステップＳ６０００では、すべてのＭＢモードの比較が終了したか否かを判断する。すべてのＭＢモードの比較が終了していなければ、次の判定対象ＭＢモードのmb_modeをセットして、ステップＳ１０００に戻る。すべてのＭＢモードの比較が終了していれば、ＭＢモード判定を終了する。【０１１３】
ＭＢモード判定を終了すると、ＭＢモード判定装置は、現在保持しているmb_mode、参照インデックスref_idx、動きベクトルmvを、当該ＭＢを符号化するパラメータとして外部に出力する。【０１１４】
以上で、本実施の形態におけるＭＢモード判定装置の動作の説明を終了する。【０１１５】
上述した、本実施の形態のＭＢモード判定装置を利用して動画像を符号化した場合、仮想ベクトルコストpmv_costの効果によって、第１の実施の形態と同様に、パンニングの動きと符号化された画像の動きが合致した主観的に望ましいベクトル場を形成できる。なお、本実施の形態は、Ｂスライスのダイレクトモード(詳細は非特許文献１  ISO/IEC 14496-10 Advanced Video Codingを参照)の有効判定に応用しても、好適であることは言うまでもない。【０１１６】
〈第３の実施の形態〉
本実施の形態は、第１の実施の形態と比較すると、動きベクトル計算装置の計算した参照フレーム(参照インデックスref_idx16)とスキップＭＢモードの参照フレーム (スキップ参照インデックスskip_ref_idx)を比較し、スキップＭＢモードが有効であるか否かを判断する手段を備える。【０１１７】
図１４を参照して、本実施の形態のＭＢモード判定装置の構成を説明する。【０１１８】
図１０の第１の実施の形態のＭＢモード判定装置と比較すると、動きベクトル計算装置Ｅ１０９の計算した候補参照インデックスが判定装置Ｅ１１００６に供給されている点で異なる。このため、判定装置Ｅ１１００６の動作が第１の実施の形態のものと異なる。【０１１９】
以下では、本実施の形態の特徴部である判定装置Ｅ１１００６を説明する。【０１２０】
判定装置Ｅ１１００６は、第１の実施の形態のものと比較すると、外部の動きベクトル計算装置Ｅ１０９から供給される16x16ブロックサイズに対応するフレーム間予測モードの候補参照インデックスref_idx16とスキップＭＢモードの参照インデックス(skip_ref_idx=0)を比較して、前記ref_idx16が前記skip_ref_idxと異なる場合、スキップＭＢモードがＭＢの符号化モードmb_modeとならないように制御する。これによって、より高精度に、主観的に望ましくない動きベクトルのＰスキップＭＢモードを誤って選択しないようにできる。【０１２１】
以上で、本実施の形態の特徴部である判定装置Ｅ１１００６の説明を終了する。【０１２２】
続いて、図１５のフローチャートを参照して、本実施の形態におけるＭＢモード判定装置の動作を説明する。図１１のフローチャートと比較すると、新たに、ステップＳ７０００が追加される点で異なる。【０１２３】
まず、ＭＢモード判定の開始に際して、最小コストMinCostに初期値(十分大きな値)を設定する。【０１２４】
ステップＳ１０００では、判定対象がスキップＭＢであるか否かを判断する。スキップＭＢでなければステップＳ２０００、スキップＭＢであればスキップＳ７０００に進む。【０１２５】
ステップＳ２０００では、判定対象ＭＢモードに対応する参照インデックスref_idxと動きベクトルmvを利用して、式（８）によってＭＢモードコストmb_costを計算し、ＭＢモードコストmb_costを変数curCostに代入して、ステップＳ４０００に進む。【０１２６】
ステップＳ７０００では、外部の動きベクトル計算装置Ｅ１０９から供給される16x16ブロックサイズに対応するフレーム間予測モードの候補参照インデックスref_idx16が、スキップＭＢモードの参照インデックス(skip_ref_idx=0)と等しいか比較する。等しければステップＳ３０００、等しくなければ、ステップＳ６０００に進む。【０１２７】
ステップＳ３０００では、スキップＭＢモードに対応する参照インデックスref_idxと動きベクトルmvを利用して、式（１２）によってスキップＭＢモードコストsmb_costを計算し、ＭＢモードコストsmb_costを変数curCostに代入して、ステップＳ４０００に進む。【０１２８】
ステップＳ４０００では、変数curCostが最小コストMinCostよりも小さいかを判断する。小さければステップＳ５０００、大きければステップＳ６０００に進む。【０１２９】
ステップＳ５０００では、最小コストMinCostを変数curCostによって更新し、当該判定対象ＭＢモードのmb_mode、これに対応する参照インデックスref_idxと動きベクトルmvを記憶する（選択する符号化ＭＢモードを更新する）。さらに、ステップＳ６０００に進む。【０１３０】
ステップＳ６０００では、すべてのＭＢモードの比較が終了したか否かを判断する。すべてのＭＢモードの比較が終了していなければ、次の判定対象ＭＢモードのmb_modeをセットして、ステップＳ１０００に戻る。すべてのＭＢモードの比較が終了していれば、ＭＢモード判定を終了する。【０１３１】
ＭＢモード判定を終了すると、ＭＢモード判定装置は、現在保持しているmb_mode、参照インデックスref_idx、動きベクトルmvを、当該ＭＢを符号化するパラメータとして外部に出力する。【０１３２】
以上で、本実施の形態におけるＭＢモード判定装置の動作説明を終了する。【０１３３】
なお、本実施の形態は、第２の実施の形態でも利用することが可能である。この場合、ＭＢモード判定装置の構成は、図１６のようになる。なお、本実施の形態は、Ｂスライスのダイレクトモード(詳細は非特許文献１  ISO/IEC 14496-10 Advanced Video Codingを参照)の有効判定に応用しても、好適であることは言うまでもない。【０１３４】
〈第４の実施の形態〉
本実施の形態は、第１の実施の形態の発明方式と比較すると、当該ＭＢがピクチャもしくはスライス境界に存在するかをＭＢアドレスから判断し、スキップＭＢモードが有効であるか否かを判断する手段を備える。【０１３５】
図１７を参照して、本実施の形態のＭＢモード判定装置の構成を説明する。【０１３６】
図１０の第１の実施の形態のＭＢモード判定装置と比較すると、ＭＢアドレスが判定装置Ｅ１１００６に供給されている点で異なる。このため、判定装置Ｅ１１００６の動作が第１の実施の形態のものと異なる。【０１３７】
以下では、本実施の形態の特徴部である判定装置Ｅ１１００６を説明する。【０１３８】
判定装置Ｅ１１００６は、第１の実施の形態のものと比較すると、供給されるＭＢアドレスから、当該ＭＢがピクチャもしくはスライス境界に存在するかをＭＢアドレスから判断し、当該ＭＢがピクチャもしくはスライス境界に存在する場合スキップＭＢモードがＭＢの符号化モードmb_modeとならないように制御する。【０１３９】
ＡＶＣの符号化においては、ピクチャやスライスの境界位置のPスキップＭＢモードの動きベクトルは必ずゼロベクトルとなることと、ピクチャやスライスの境界のＭＢの動きベクトルは以降の符号化で動きベクトルの予測に参照されることから、ピクチャやスライスの境界のＭＢの動きベクトルは、画面内のベクトル場に対する影響が大きい。【０１４０】
本発明によって、ピクチャやスライスの境界で、主観的に望ましくない動きベクトルのPスキップＭＢモードを誤って選択しないように制御することで、より効果的に主観的に望ましくないベクトル場の形成を回避できる。【０１４１】
以上で、本実施の形態の特徴部である判定装置Ｅ１１００６の説明を終了する。【０１４２】
続いて、図１８のフローチャートを参照して、本実施の形態におけるＭＢモード判定装置の動作を説明する。図１１のフローチャートと比較すると、新たに、ステップＳ８０００が追加される点で異なる。【０１４３】
まず、ＭＢモード判定の開始に際して、最小コストMinCostに初期値(十分大きな値)を設定する。【０１４４】
ステップＳ１０００では、判定対象がスキップＭＢであるか否かを判断する。スキップＭＢでなければステップＳ２０００、スキップＭＢであればスキップＳ７０００に進む。【０１４５】
ステップＳ２０００では、判定対象ＭＢモードに対応する参照インデックスref_idxと動きベクトルmvを利用して、式（８）によってＭＢモードコストmb_costを計算し、ＭＢモードコストmb_costを変数curCostに代入して、ステップＳ４０００に進む。【０１４６】
ステップＳ８０００では、供給されるＭＢアドレスから、当該ＭＢがピクチャもしくはスライス境界に存在するかをＭＢアドレスから判断する。ピクチャもしくはスライス境界に、当該ＭＢが存在する場合はステップＳ６０００、存在しない場合はステップＳ３０００に進む。【０１４７】
ステップＳ３０００では、スキップＭＢモードに対応する参照インデックスref_idxと動きベクトルmvを利用して、式（１２）によってスキップＭＢモードコストsmb_costを計算し、ＭＢモードコストsmb_costを変数curCostに代入して、ステップＳ４０００に進む。【０１４８】
ステップＳ４０００では、変数curCostが最小コストMinCostよりも小さいかを判断する。小さければステップＳ５０００、大きければステップＳ６０００に進む。【０１４９】
ステップＳ５０００では、最小コストMinCostを変数curCostによって更新し、当該判定対象ＭＢモードのmb_mode、これに対応する参照インデックスref_idxと動きベクトルmvを記憶する（選択する符号化ＭＢモードを更新する）。さらに、ステップＳ６０００に進む。【０１５０】
ステップＳ６０００では、すべてのＭＢモードの比較が終了したか否かを判断する。すべてのＭＢモードの比較が終了していなければ、次の判定対象ＭＢモードのmb_modeをセットして、ステップＳ１０００に戻る。すべてのＭＢモードの比較が終了していれば、ＭＢモード判定を終了する。【０１５１】
ＭＢモード判定を終了すると、ＭＢモード判定装置は、現在保持しているmb_mode、参照インデックスref_idx、動きベクトルmvを、当該ＭＢを符号化するパラメータとして外部に出力する。【０１５２】
以上で、本実施の形態におけるＭＢモード判定装置の動作説明を終了する。【０１５３】
なお、本実施の形態は、第２の実施の形態でも利用することが可能である。この場合、ＭＢモード判定装置の構成は、図１９のようになる。【０１５４】
〈第５の実施の形態〉
さらには上述した実施の形態においては、上述した説明からも明らかなように、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。【０１５５】
図２０に示す情報処理システムは、プロセッサＡ１００１、プログラムメモリＡ１００２、記憶媒体Ａ１００３およびＡ１００４からなる。記憶媒体Ａ１００３およびＡ１００４は、別個の記憶媒体であってもよいし、同一の記憶媒体からなる記憶領域であってもよい。記憶媒体としては、ハードディスク等の磁気記憶媒体を用いることができる。
【図１】
0005423948.tif 000019
【図２】
0005423948.tif 000020
【図３】
0005423948.tif 000021
【図４】
0005423948.tif 000022
【図５】
0005423948.tif 000023
【図６】
0005423948.tif 000024
【図７】
0005423948.tif 000025
【図８】
0005423948.tif 000026
【図９】
0005423948.tif 000027
【図１０】
0005423948.tif 000028
【図１１】
0005423948.tif 000029
【図１２】
0005423948.tif 000030
【図１３】
0005423948.tif 000031
【図１４】
0005423948.tif 000032
【図１５】
0005423948.tif 000033
【図１６】
0005423948.tif 000034
【図１７】
0005423948.tif 000035
【図１８】
0005423948.tif 000036
【図１９】
0005423948.tif 000037
【図２０】
0005423948.tif 000038