(57)【要約】【課題】動きベクトルの符号量を削減及び符号化ブロック内のブロック数の増大による動き予測誤差情報の削減する。【解決手段】動画像の動き補償符号化/復号化であって、符号化ブロック内の動きベクトルを隣接位置の動きベクトルから予測し、符号化すべき動きベクトルとその予測動きベクトルより算出される差分動きベクトルを符号化する場合に、（１）差分動きベクトルの符号化精度又は（２）予測動きベクトルと符号化動きベクトルの符号化精度をブロック毎に切り替えて符号化する。また、上記符号化によって符号化された差分動きベクトルから、動きベクトルを復号する場合は、符号化と逆の処理によって行う。【選択図】図１
2006187025.tif 000002
【特許請求の範囲】
【請求項１】
画像を複数の符号化ブロックに分割し、符号化ブロックの動きベクトルを隣接ブロックの動きベクトルから予測して予測動きベクトルとし、符号化すべき動きベクトルとその予測動きベクトルより算出される差分動きベクトルをブロック単位で符号化する手順を含む動画像の符号化方法であって、
差分動きベクトルの精度を数種類用意し、符号化ブロック毎に差分動きベクトルの精度を選定し、選定した精度の情報及びその精度の差分動きベクトルとを符号化する手順を有する。
【請求項２】
画像を複数の符号化ブロックに分割し、符号化ブロックの動きベクトルを隣接ブロックの動きベクトルから予測して予測動きベクトルとし、符号化すべき動きベクトルとその予測動きベクトルより算出される差分動きベクトルをブロック単位で符号化する手順を含む動画像の符号化方法であって、
動きベクトルの精度を数種類用意し、符号化ブロック毎に動きベクトルの精度を選定し、上記選定した精度の情報及び上記選定した精度に修正した予測動きベクトルと選定した精度の動きベクトルより算出される差分動きベクトルとを符号化する手順を有する。
【請求項３】
画像を複数の復号ブロックに分割し、復号ブロックの動きベクトルを隣接ブロックの復号動きベクトルから予測し、復号差分動きベクトルと予測動きベクトルより復号動きベクトルを算出する手段を含む動画像復号化方法であって、
差分動きベクトルの精度を数種類用意し、復号ブロック毎に差分動きベクトルの精度情報とその精度の差分動きベクトルを復号化し、復号差分動きベクトルの精度を予測動きベクトルと同じ精度に修正した後、精度修正した復号差分動きベクトルと予測動きベクトルから復号ブロックの動きベクトルを算出する手順を有する。
【請求項４】
画像を複数の復号ブロックに分割し、復号ブロックの動きベクトルを隣接ブロックの復号動きベクトルから予測し、復号差分動きベクトルと予測動きベクトルより復号動きベクトルを算出する手段を含む動画像復号化方法であって、動きベクトルの精度を数種類用意し、復号ブロック毎に動きベクトルの精度情報とその精度の差分動きベクトルを復号化し、予測動きベクトルの精度を復号精度情報と同じ精度に修正した後、復号差分動きベクトルと精度修正した予測動きベクトルから復号ブロックの動きベクトルを算出する手順をもつ。
【請求項５】
請求項１の動画像の符号化方法であって、更に、差分動きベクトルの精度を付加情報として符号化するか、或いは固定の精度に規定するかを示す識別情報を含み、かつ符号化ブロックの種類として符号化すべき動きベクトルの数が異なる複数のブロックタイプを用意し、差分動きベクトルの精度と符号化ブロック内の動きベクトル数とこの組み合わせに該当するブロックタイプとを選定する手順を含み、符号化ブロックのブロックタイプが付加情報として差分動きベクトルの精度を符号化することを示す場合にはブロックタイプと選定した精度の情報とその精度の差分動きベクトルとを符号化し、符号化ブロックのブロックタイプが規定の精度で差分動きベクトルを符号化することを示す場合にはブロックタイプと規定精度の差分動きベクトルとを符号化する。
【請求項６】
請求項２記載の動画像の符号化方法であって、更に、  動きベクトルの精度を付加情報として符号化するか、或いは固定の精度に規定するかを示す識別情報を含み、かつ符号化ブロックの種類として符号化すべき動きベクトルの数が異なる複数のブロックタイプを用意し、動きベクトルの精度と符号化ブロック内の動きベクトル数とこの組み合わせに該当するブロックタイプとを選定する手順を含み、
ブロックタイプが付加情報として動きベクトルの精度を符号化することを示す場合には、ブロックタイプと、選定した精度の情報と、選定した精度に修正した予測動きベクトルと選定した精度の動きベクトルより算出される差分動きベクトルとを符号化し、
ブロックタイプが規定の精度で動きベクトルを符号化することを示す場合には、ブロックタイプと、規定精度に修正した予測動きベクトルと規定精度の動きベクトルより算出される差分動きベクトルを符号化する手順を有する。
【請求項７】
請求項３記載の動画像の復号化方法であって、さらに、差分動きベクトルの精度を付加情報として復号するか、或いは固定の精度に規定するかを示す識別情報を含み、かつ復号ブロックの種類として復号すべき動きベクトルの数が異なる複数のブロックタイプを用意し、復号すべきブロックのブロックタイプを復号する手順を有し、
復号ブロックタイプが付加情報として差分動きベクトルの精度を復号することを示す場合には精度の情報とその精度の差分動きベクトルとを復号し、
復号ブロックタイプが規定の精度で差分動きベクトルを復号することを示す場合には規定精度の差分動きベクトルを復号し、
復号差分動きベクトルの精度を予測動きベクトルと同じ精度に修正した後、精度修正した復号差分動きベクトルと予測動きベクトルから復号ブロックの動きベクトルを算出する手順を有する。
【請求項８】
請求項４記載の動画像の復号化方法であって、さらに、動きベクトルの精度を付加情報として復号するか、或いは固定の精度に規定するかを示す識別情報を含み、かつ復号ブロックの種類として復号すべき動きベクトルの数が異なる複数のブロックタイプを用意し、ブロックタイプを復号する手順を有し、
復号ブロックタイプが付加情報として動きベクトルの精度を復号することを示す場合には精度の情報とその精度の差分動きベクトルとを復号し、
復号ブロックタイプが規定の精度で動きベクトルを復号することを示す場合には規定精度の差分動きベクトルを復号し、復号差分動きベクトルと精度修正した予測動きベクトルから復号ブロックの動きベクトルを算出する手順を有する。
【請求項９】
請求項１記載の動画像の符号化方法であって、さらに、
ブロック内で符号化すべき動きベクトルの数が異なる複数種の小ブロック形状を用意し、前記差分動きベクトルの精度、小ブロック形状種及び前記差分動きベクトルの精度を付加情報として符号化するか否かを決定し、前記決定に応じて一意に定まる識別情報をブロック毎に符号化して出力する手順を有する。
【請求項１０】
請求項２記載の動画像の符号化方法であって、さらに、ブロック内で符号化すべき動きベクトルの数が異なる複数種の小ブロック形状を用意し、前記動きベクトルの精度、小ブロック形状種、及び、前記動きベクトルの精度を付加情報として符号化するか否かを決定  各ブロックについて、付加情報として動きベクトルの精度を符号化する場合は、前記決定に応じて一意に定まる識別情報、選定した精度の情報及び選定した精度に修正した予測動きベクトルと選定した精度の動きベクトルより算出される差分動きベクトルとを符号化して出力し、
付加情報として動きベクトルの精度を符号化しない場合は、前記決定に応じて一意に定まる識別情報、該識別情報に応じた精度に修正した予測動きベクトルと該精度の動きベクトルより算出される差分動きベクトルとを符号化して出力する手順を有する。
【請求項１１】
画像を複数のブロックに分割し、該ブロックの動きベクトルを隣接する復号動きベクトルから予測し、復号差分動きベクトルと予測した動きベクトルより該ブロックの動きベクトルを算出する手順を含む動画像の復号化方法であって、
前記復号差分動きベクトルの精度を複数用意し、ブロック内で復号化すべき動きベクトルの数が異なる複数種の小ブロック形状を用意し、前記復号差分動きベクトルの精度、小ブロック形状種、及び、前記復号差分動きベクトルの精度を付加情報として復号化するか否かに応じて一意に定まるブロック毎に符号化された識別情報を受け取り、復号化した該識別情報に従って復号化を行う手順を有する。
【請求項１２】
請求項１記載の動画像符号化方法であって、さらに、
ブロック内で符号化すべき動きベクトルの数が異なる複数種の小ブロック形状タイプを用意し、前記各小ブロック形状について、差分動きベクトル精度をデフォルト値で固定するか可変値とするかが規定されており、前記差分動きベクトルの精度、小ブロック形状種及び差分動きベクトルの精度を付加情報として符号化するか否かを決定する手順、前記デフォルト値と前記決定に応じて一意に定まる識別情報をコード化し、符号化データに含めて出力する手順を有する。
【請求項１３】
画像を複数の復号ブロックに分割し、該ブロックの動きベクトルを隣接位置の復号動きベクトルから予測し、前記ブロックの動きベクトルを復号し、復号差分動きベクトルと予測動きベクトルより復号動きベクトルを算出する手順を含む動画像復号化方法であって、
差分動きベクトルの精度を複数用意し、ブロック内で復号すべき動きベクトル数が異なる複数種の小ブロック形状タイプを用意し、前記各小ブロック形状について、差分動きベクトル精度をデフォルト値で固定するか可変値とするかが規定されており、前記デフォルト値と、前記差分動きベクトルの精度情報或いは差分動きベクトルの精度を付加情報として復号するかデフォルト値とするかを示す情報と小ブロック形状種とを一意に定める識別情報を符号化データから解読する手順を有する。
【請求項１４】
画像を複数の符号化ブロックに分割し、符号化ブロック内の動きベクトルを隣接位置の動きベクトルから予測し、符号化すべき動きベクトルとその予測動きベクトルより算出される差分動きベクトルをブロック単位で符号化する手順を含む動画像符号化方法であって、
動きベクトルの精度を数種類用意し、上記動きベクトルと上記予測動きベクトルのビット列のデータ長は用意されている精度のうち最も高い精度のベクトル値を表現できる長さであり、動きベクトル精度を選定し、上記動きベクトルと上記予測動きベクトルのビット列を選定した精度より高い精度の数値を表すためのビット分だけ右に算術シフトした修正動きベクトルと修正予測動きベクトルのビット列をそれぞれ算出し、上記修正予測動きベクトル並びに上記修正動きベクトルから算出される差分動きベクトルを符号化する手順を有する。
【請求項１５】
画像を複数の符号化ブロックに分割し、符号化ブロック内の動きベクトルを隣接位置の動きベクトルから予測し、符号化すべき動きベクトルとその予測動きベクトルより算出される差分動きベクトルをブロック単位で符号化する手順を含む動画像符号化方法であって、動きベクトルの精度を数種類用意し、上記動きベクトルと上記予測動きベクトルのビット列のデータ長は用意されている精度のうち最も高い精度のベクトル値を表現できる長さであり、符号化ブロックの種類として符号化すべき動きベクトル数が異なる複数のブロックタイプを用意し、さらに各ブロックタイプは動きベクトルの精度を規定する識別情報を含んでおり、動きベクトル精度とブロック内の動きベクトル数の組み合わせに該当するブロックタイプを選定し、上記動きベクトルと上記予測動きベクトルのビット列を選定した精度より高い精度の数値を表すためのビット分だけ右に算術シフトした修正動きベクトルと修正予測動きベクトルのビット列をそれぞれ算出し、ブロックタイプと、上記修正予測動きベクトル並びに上記修正動きベクトルより算出される差分動きベクトルとを符号化する手順を有する。
【請求項１６】
画像を複数の復号ブロックに分割し、復号ブロック内の動きベクトルを隣接位置の復号動きベクトルから予測し、復号差分動きベクトルと予測動きベクトルより復号動きベクトルを算出する手段を含む動画像復号化方法であって、動きベクトルの精度を数種類用意し、上記動きベクトルと上記予測動きベクトルのビット列のデータ長は用意されている精度のうち最も高い精度のベクトル値を表現できる長さであり、差分動きベクトルを復号化し、上記予測動きベクトルのビット列を上記規定精度より高い精度の数値を表すためのビット分だけ右に算術シフトした修正予測動きベクトルのビット列を算出し、上記復号差分動きベクトルと修正予測動きベクトルから規定精度のベクトル値を表現できるデータ長の動きベクトルを算出し、該動きベクトルを上記復号動きベクトルのデータ長に変換する手順を有する。
【請求項１７】
画像を複数の復号ブロックに分割し、復号ブロック内の動きベクトルを隣接位置の復号動きベクトルから予測し、復号差分動きベクトルと予測動きベクトルより復号動きベクトルを算出する手段を含む動画像復号化方法であって、動きベクトルの精度を数種類用意し、上記動きベクトルと上記予測動きベクトルのビット列のデータ長は用意されている精度のうち最も高い精度のベクトル値を表現できる長さであり、復号ブロックの種類として復号すべき動きベクトル数が異なる複数のブロックタイプを用意し、さらに各ブロックタイプは、動きベクトルの精度を規定する識別情報を含んでおり、ブロックタイプを復号し、復号ブロックタイプにより規定される精度の差分動きベクトルを復号化し、上記予測動きベクトルのビット列から上記規定精度を高い精度の数値を表すためのビット分だけ右に算術シフトした修正予測動きベクトルのビット列を算出し、上記復号差分動きベクトルと該修正予測動きベクトルから復号ブロックタイプにより規定される精度のベクトル値を表現できるデータ長の動きベクトルを算出し、該動きベクトルを上記復号動きベクトルのデータ長に変換する手順を有する。
【請求項１８】
画像を複数の符号化ブロックに分割し、符号化ブロック内の動きベクトルを隣接位置の動きベクトルから予測し、符号化すべき動きベクトルとその予測動きベクトルより算出される差分動きベクトルをブロック単位で符号化する手順を含む動画像の符号化方法であって、
動きベクトルの精度を複数用意し、動きベクトルの水平成分と垂直成分で異なる精度を割り当て、上記予測ベクトルの各成分を該割り当てられた精度に修正し、上記修正された予測動きベクトルと割り当てられた精度の動きベクトルから算出される差分動きベクトルを符号化する手順を有する。
【請求項１９】
請求項１８記載の動画像符号化方法であって、上記画像は飛び越し走査された画像であり、上記動きベクトルの精度は３種類以上であり、上記動きベクトルの水平成分と垂直成分で異なる精度を割り当て、動きベクトルの水平成分に第１の精度、フィールド構造の符号化ブロックにおける動きベクトルの垂直成分に第１の精度より低い第２の精度、フレーム構造の符号化ブロックにおける動きベクトルの垂直成分に第２の精度より低い第３の精度を割り当てる。
【請求項２０】
画像を複数の復号ブロックに分割し、復号ブロック内の動きベクトルを隣接位置の復号動きベクトルから予測し、復号差分動きベクトルと予測動きベクトルより復号動きベクトルを算出する手段を含む動画像復号化方法であって、
動きベクトルの精度を数種類用意し、動きベクトルの水平成分と、垂直成分に異なる精度が割り当てられており、差分動きベクトルを復号化し、上記予測動きベクトルの各成分を割り当てられた精度に修正し、上記復号差分動きベクトルと修正予測動きベクトルから割り当てられた精度で動きベクトルの各成分を算出し、該動きベクトルの各成分を上記復号動きベクトルの精度に変換するものであって、前記水平成分の精度は前記垂直成分より高い。
【請求項２１】
請求項２０記載の動画像復号化方法であって、上記画像は飛び越し走査された画像であり、上記動きベクトルの精度を３種類以上であり、動きベクトルの水平成分と、垂直成分に異なる精度を割り当て、動きベクトルの水平成分に第１の精度、フィールド構造の復号ブロックにおける動きベクトルの垂直成分に第１の精度より低い第２の精度、フレーム構造の復号ブロックにおける動きベクトルの垂直成分に第２の精度より低い第３の精度を割り当て、差分動きベクトルを復号化し、上記予測動きベクトルの各成分を割り当てられた精度に修正し、上記復号差分動きベクトルと修正予測動きベクトルから割り当てられた精度で動きベクトルの各成分を算出し、該動きベクトルの各成分を上記復号動きベクトルの精度に変換する手順を有する。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像信号の符号化方法、復号化方法、符号化装置及び復号化装置、特に、動きベクトルの符号化及び復号化技術に関するものである。
【背景技術】
【０００２】
動画像の符号化・復号化処理の概要について説明する。動画像の符号化は、一般的に、図13の符号化装置で行われる。符号化の対象となる動画像の１フレームは、図３に示すように、１個の輝度信号(Y信号：61)と２個の色差信号(Cr信号：62, Cb信号：63)で構成されており、色差信号の画像サイズは縦横とも輝度信号の1/2となる。一般のビデオ規格では、動画像の各フレームを小ブロックに分割し、マクロブロックと呼ばれるブロック単位で再生処理を行う。
【０００３】
上記マクロブロックは、図５に示ように、16x16画素の１個のY信号ブロック30と、それと空間的に一致する8x8画素のCr信号ブロック31並びにCb信号ブロック31で構成されている。画像信号の符号化は、上記マクロブロック単位で処理される。符号化には、大きく分けて、イントラ符号化(イントラモード)、と予測符号化(インターモード)とがある。
【０００４】
図１３の画像信号の符号化装置において、イントラ符号化の場合は、符号化対象の入力マクロブロック画像201は、DCT符号化ブロックに分割されDCT変換器203で直接DCT203を行い、DCT係数に変換される。各変換係数は量子化器で204され、多重化器206で符号化される。
【０００５】
DCT符号化ブロックサイズは従来の符号化方式では8×8画素が一般的であるが、最近ではMPEG-4 Part 10 (Advanced Video Coding)等で4x4画素サイズによるDCT変換も検討されている。
【０００６】
図６に示すように、各マクロブロックは24個の4x4画素ブロックに分割され、DCT変換器203でそれぞれ16個のDCT係数に変換される。量子化されたDCT係数はの一部は、局部復号器220の逆量子化器207と逆DCT器208で、入力マクロブロックに復号され、フレームメモリ210に合成される。局部復号器220は、後述の復号装置と同様の復号画像を作成する。フレームメモリ210に蓄積された画像は後述の時間方向の予測に用いられる。このイントラ符号化は、前フレームに似通った部分がないマクロブロック(第１符号化フレームも含む)や、DCTに伴う蓄積演算誤差を解消したい部分等に配置される。
【０００７】
インター（予測符号化）符号化の場合は、入力マクロブロック画像201とフレームメモリ210に蓄積されている符号化済みフレームの復号画像(参照フレーム)間の動き補償処理が、動き補償器211で行われる。動き補償とは、参照フレームから対象マクロブロックの内容と似通った部分(一般的には、ブロック内の予測誤差信号の絶対値和あるいは２乗誤差和が小さい部分を選択する)を検索し、その動き量(動きベクトル)を符号化する時間方向の圧縮技術である。
【０００８】
図４に動き補償の処理構造を示す。図４は、太枠で囲んだ現フレーム71の輝度信号ブロック72について、前フレーム73(参照フレーム)上の予測ブロック75と動きベクトル76を示した図である。動きベクトル76は、現フレームの太枠ブロックに対して空間的に同位置に相当する前フレーム上のブロック74(破線)から、前フレーム上の予測ブロック75領域までの移動分を示す (色差信号用の動きベクトル長は、輝度信号の半分とし、符号化はしない)。検出された動きベクトルは、MV予測器215から得られる予測動きベクトル(隣接ブロックの動きベクトルから予測)との間で差分処理された後、多重化器206で符号化される。動き補償により前フレームから抜き出された予測マクロブロック画像213は、現フレームの入力マクロブロック画像201との間で差分器202にて差分処理され、差分マクロブロック画像が生成される。
【０００９】
差分マクロブロック画像は、図６に示すように、24個の4x4画素ブロックに分割され、DCT変換器203でそれぞれ16個のDCT係数に変換される。各DCT係数は、量子化器204にて量子化され、多重化器206で符号化される。インター符号化の場合も、量子化DCT係数を局部復号器220の逆量子化器207と逆DCT器208で、差分マクロブロック画像に復号し、加算器209にて予測マクロブロック画像と加算した後、フレームメモリ210に合成する。なお、ここでは、１マクロブロックで符号化する動きベクトルの数を１本としているが、マクロブロックを更に小ブロックに分割し、小ブロック毎に動きベクトルを算出し符号化する方法が一般的である。例えば、MPEG-4 Part 10 (Advanced Video Coding)では、動き補償を行う際のマクロブロック分割タイプ(輝度成分)を図７として考える。基本はタイプ51〜タイプ54の４種類である。タイプ54は、４個の8×8ブロック54-0〜54-3それぞれについて、更にタイプ54a, 54b, 54c, 54dとイントラ符号化の５種類から選択する。
【００１０】
更に、予測符号化の動き補償方法としては、時間的に過去のフレームの情報を用いて動き補償を行う前方向予測符号化と、時間的に過去と未来のフレームの情報を用いて動き補償を行う双方向予測符号化に分けられる。上記前方向予測符号化の動き補償では、前方予測のみを扱うが、双方向符号化の動き補償では、前方予測の他に、後方予測、双方向予測並びに時間的に未来のフレームにおける動きベクトル情報を利用して双方向から予測を行う直接予測を扱う。
【００１１】
動きベクトルの符号化精度は、整数画素以下の精度まで扱うことが一般的である。例えば、MPEG-4 Part 2のAdvanced Simple Profileでは、1/2画素精度と1/4画素精度がビットデータ毎に選択することが可能となっている。整数画素精度以下の予測値の算出方法については、説明を省くが、1/2画素精度では2タップの線形フィルタ、1/4画素精度では8タップフィルタと2タップフィルタを画素位置に応じて適応的に用いている。また、MPEG-4 Part 10でも1/4画素精度で動きベクトルを表現することが検討されており、6タップフィルタと2タップフィルタを用いて予測値を算出する。このように、長いタップ数のフィルタを用いることにより予測性能が向上する。
【００１２】
全てのマクロブロックに対してイントラ符号化を適用したフレームをI-Picture、前方向予測符号化あるいはイントラ符号化にて構成されるフレームをP-Picture、双方向符号化符号化あるいはイントラ符号化にて構成されるフレームをB-Pictureと呼ぶ。P-PictureあるいはB-Pictureでは、図１３のINTRA/INTER判定器214にて、各マクロブロックを予測符号化とイントラ符号化のいずれで行うかを判定し、判定結果218を多重化器206で符号化する。
【００１３】
動画像の符号化信号の復号化は、符号化と逆の手順で行われる。一般的に、図1４の動画像復号装置で行われる。
【００１４】
符号解読部501では、入力された符号化データを解析し、動きベクトル関連情報とマクロブロックタイプ情報をMV予測器508に、量子化DCT係数情報を逆量子化器502に振り分ける。マクロブロックタイプがイントラ符号化であった場合には、復号した量子化DCT係数情報を、逆量子化器502と逆DCT器503において、4×4画素ブロック毎に逆量子化・逆DCT処理し、マクロブロック画像を再生する。マクロブロックの予測モードが予測符号化であった場合には、MV予測器508にて復号差分動きベクトルと予測動きベクトルから復号動きベクトルが算出され、動き補償器504に入力される。動き補償器504では、動き量に従って、前フレームの復号画像が蓄積されているフレームメモリ507から予測マクロブロック画像を抜き出す。
【００１５】
次に、予測誤差信号に関する符号化データを、逆量子化器502と逆DCT器503において、4×4画素ブロック毎に、逆量子化・逆DCT処理し、差分マクロブロック画像を再生する。そして、予測マクロブロック画像と差分マクロブロック画像を加算器505にて加算処理し、マクロブロック画像を再生する。再生されたマクロブロック画像は、合成器506にて復号フレーム画像に合成される。また、復号フレーム画像は、次フレームの予測用にフレームメモリ507に蓄積される。
【００１６】
本発明に関連する文献として、特許公開公報（特開平１１−４６３６４号公報）がある。この文献では、ブロック単位で符号化・復号化処理を行う動画像の符号化・復号化方法において、数種類の動きベクトル精度を用意し、複数個束ねたブロック単位で動きベクトルの符号化精度を切り換える手段が、記載されている。
【００１７】
従来知られている動画像信号の動き補償符号化では、ブロックに含まれる動きベクトル数が複数種類用意されており、動きベクトルの符号化精度が1/8画素精度のように高い符号化方式が検討されている。しかしながら、動きベクトルの符号量の関係から、ブロックに複数の動きが含まれる場合でも、少ない動きベクトル数で符号化する方法が選択される傾向がある。また、整数画素精度以下の予測画素を長いタップ数のフィルタを用いて生成する場合には、１個の予測ブロックを生成するために用いる参照画像内の画素数が大きくなるというメモリアクセスの問題が発生する。この問題は、特に動き補償を行う際に問題となる。
【発明の開示】
【発明が解決しようとする課題】
【００１８】
従って、本発明の目的は、動きベクトルの符号量を削減及び符号化ブロック内のブロック数の増大による動き予測誤差情報の削減ができる動画像信号の符号化方法、復号化方法、符号化装置及び復号化装置を提供することである。
【００１９】
本発明の他の目的は、符号化装置及び復号化装置において、動き補償時メモリアクセス範囲を低減することである。
【課題を解決するための手段】
【００２０】
上記目的を達成するため、本発明は、画像を複数の符号化ブロックに分割し、符号化ブロック内の動きベクトルを隣接位置の動きベクトルから予測し、符号化すべき動きベクトルとその予測動きベクトルより算出される差分動きベクトルをブロック単位で符号化する手順を含む動画像符号化方法において、
動きベクトルを符号化が、（１）差分動きベクトルの精度を数種類用意し、符号化ブロック毎に差分動きベクトルの精度を選定し、選定した精度の情報及びその精度の差分動きベクトルとを符号化する手順をもつ。又は（２）動きベクトルの精度を数種類用意し、符号化ブロック毎に動きベクトルの精度を選定し、選定した精度の情報と、選定した精度に修正した予測動きベクトルと選定した精度の動きベクトルより算出される差分動きベクトルとを符号化する手順をもつ。
【００２１】
ここで、上記（1）及び（2）の場合において、差分動きベクトルの符号化に伴う精度値（以下、mv_shift値とも略称）の決定及び符号化処理は、全てのマクロブロックで行う他、マクロブロックのタイプ（例えば、符号化動きベクトルの数の大小）や周囲の状況（例えば、隣接マクロブロックの状況  ）を利用し、特定マクロブロックのmv_shift値の符号化を省略する場合を含む。
【００２２】
上記（2）の場合、動きベクトルの水平成分と垂直成分で異なる精度を割り当て、各成分は割り当てられた精度の動きベクトルから算出された差分ベクトルを符号化するようにしてもよい。
本発明の動画像の復号化は、本発明の動画像符号化による符号を用いて、符号化の手順と逆の手順によって、符号化ブロックの画像再生を行う。即ち、動きベクトルの精度を複数用意し、動きベクトルの水平成分と垂直成分で異なる精度を割り当てる。各成分は該割り当てられた精度に修正し、該修正予測動きベクトルと割り当てられた精度の動きベクトルから算出される差分動きベクトルを符号化する。
【００２３】
さらに、復号化の場合にも、mv_shift値の設定は、復号すべき符号が符号化された処理に対応して行われる。例えば、符号化において、マクロブロックのタイプ、あるいは周囲の状況でmv_shift値が符号化されていない符号の再生においては、復号マクロブロックのタイプ、あるいは周囲の状況でmv_shift値が決定、処理される。
【００２４】
本発明の目的、特徴、符号化装置及び復号化装置の構成は以下の図面を伴う実施例の説明によってさらに明確にされる。
【発明を実施するための最良の形態】
【００２５】
本発明の実施例を説明する前に、以下の説明の理解を容易にするため、符号化装置の多重化器で作成される符号データのデータシンタックスについて説明する。
図１がP-Pictureのデータシンタックス、図２がB-Pictureデータシンタックスの一部(CBP15以降は図１と同じであるため省略)を示す。なお、ここでは、データ（動きベクトル精度情報）13は、データシンタックス内に現れないものとして説明する。また、I-pictureについては、本発明の特徴に含まれないため説明を省略する。
【００２６】
picture header10には画像サイズ、再生時刻等フレームの再生情報に関するデータが含まれる。picture type11は、フレームタイプ情報で、I-Picture, P-Picture, B-Pictureの種別がここで符号化される。MB type12からTcoeff chroma17がマクロブロックデータにあたり、フレーム内のマクロブロック数だけ繰り返される。MB type12では図15の表95 (P-picture)又は表96 (B-Picture)に示されるマクロブロックモードからマクロブロック毎に１つのモードが選択され、符号化される。
【００２７】
SKIPモードは、前フレームの復号画像から空間的に同一位置に相当するマクロブロック画像を切り出しコピーすることを意味する。表内のIntraM×NのM, Nは空間予測を行う際の小ブロックサイズを示す。M×Nは動き補償を行う際の小ブロック単位を示しており、それぞれ図７のモード1〜モード4に対応している。
【００２８】
Directは、直接予測を意味する。Block 1並びにBlock 2は、図７のモード2又はモード3における２個の小ブロックを識別しており、各小ブロックの予測方向がForward (前方予測)、Backward (後方予測)、Bi-directional (双方向予測)のいずれであるかを示す。MB type12で8x8(split)を選択したマクロブロックについては、8x8 Partition 18が発生する。それ以外のマクロブロックモードでは、8x8 Partition 18は発生しない。8x8 Partition 18では、図11の表92 (P-picture)又は図12の表94 (B-Picture)に示される8x8パーティションモードから8x8パーティション毎に１つのモードが選択され、符号化される。表内のIntraは空間予測を示す。M×Nは動き補償を行う際の小ブロック単位を示しており、それぞれ図７のパーティション1〜パーティション4に対応している。Directは、直接予測を意味する。
【００２９】
Predictionは、各小ブロックの予測方向がForward (前方予測)、Backward (後方予測)、Bi-directional (双方向予測)のいずれであるかを示す。MVD14は、P-Pictureにおける差分動きベクトルの符号化データを示す。従って、MB type12がIntraM×Nの場合には、このデータは発生しない。MB type12がM×Nの場合には、MVD14は、MB typeと8×8  Partitionが示すベクトル数だけ繰り返し符号化される。例えば、16×8の場合には、符号化すべき差分動きベクトル数が２個であり、各動きベクトルは水平、垂直の２成分から構成されるため、４個のMVDが連続して符号化される。MVDFW23とMVDBW24は、B-Pictureにおける差分動きベクトルの符号化データを示す。MVDFW23は、MB type 12と8x8 Partition 18が示す前方予測（双方向予測も含む）に伴う動きベクトルを含むマクロブロックである場合に発生する。同様に、MVDBW24は、MB type 12と8x8 Partition 18が示す後方予測（双方向予測も含む）に伴う動きベクトルを含むマクロブロックである場合に発生する。従って、MB type12がIntraM×NあるいはDirectの場合の場合には、このデータは発生しない。MB type12がM×Nであり、前方予測（双方向予測も含む）に伴う動きベクトルが存在する場合には、MVDFW23は、MB typeと8×8 Partitionが示す前方予測（双方向予測も含む）に伴うベクトル数(差分動きベクトル数×２、水平・垂直成分)だけ繰り返し符号化される。同様に、MB type12がM×Nであり、後方予測（双方向予測も含む）に伴う動きベクトルが存在する場合には、MVDBW24は、MB typeと8×8 Partitionが示す後方予測（双方向予測も含む）に伴うベクトル数(差分動きベクトル数×２、水平・垂直成分)だけ繰り返し符号化される。
【００３０】
CBP15は、図６に示される24個のDCTブロックについて、０以外の量子化DCT係数(有意係数)が16個係数に含まれているか否かを示す符号化データである。但し、24個の各DCTブロックについてそれぞれ有意係数の有無情報を符号化すると付加情報が大きくなるため、ここでは、図６に示すように４個のDCTブロックをまとめた8×8ブロック単位で有意係数の有無を符号化するものとする。
【００３１】
Tcoeff luma16は、輝度ブロック40における量子化DCT係数の符号化データを示す。符号化は、4×4ブロック40-0から4x4ブロック40-15まで、番号の小さい順にそれぞれ16個の量子化係数が符号化される。但し、CBPにて有意係数が無いことが示されている8×8ブロックについては、符号化処理が省略される。
【００３２】
Tcoeff chroma17は、輝度ブロック40における量子化DCT係数の符号化データを示す。符号化は、4×4ブロック41-0, 41-2, 41-3, 41-4, 42-0, 42-1, 42-3, 42-4の順にそれぞれ16個の量子化係数が符号化される。但し、CBP15で有意係数が無いことが示されている信号成分については、符号化処理が省略される。
【００３３】
図１と２に示したマクロブロックレベルの符号化データの符号化方法については、１種類の可変長符号表のみを用いるUniversal VLC(UVLC)、固定長符号化と可変長符号化(各符号化要素に異なる符号表を用意)を組み合わせた符号化方法並びに、算術符号化（例えば、非特許文献１参照）等が考えられる。図１６の表83がUVLCの構成を示しており、Xnの値は‘0’又は‘1’となる。表84に、実際の可変長符号表の例を示す。算術符号化の具体的な方法としては、各符号の意味を数ビットのバイナリーデータに置き換え、各ビットを各々の0と1の発生確率を示す生起確率モデルに応じて符号化する方法を考える。この方法は、CABAC(Context-based Adaptive Binary Arithmetic Coding)と呼ばれている（Witten et al., ”Arithmetic Coding for Data Compression”, Comm. of the ACM, 30(6), 1987, pp.520-541）。
【００３４】
本発明は、特に、動きベクトルの符号化部/復号化部に特徴をもつ。即ち、図1及び図2のデータＭＶＤシンタックスでＭＶＤprecision13部の処理、図13の符号化装置のＭＶ予測部部215、動き補償部２１１部、及び図1４の復号化装置のＭＶ部508、動き補償部５０４部の構成並び信号処理方法にの特徴をもつ。他の部分の構成及び信号処理方法は従来の装置、方法と実質的に同じであり、以下本発明の特徴部の実施例について説明する。
＜実施例１＞
本実施は、動きベクトルの符号化部は、画像を複数の符号化ブロックに分割し、上記符号化ブロックの画像信号及び上記符号化ブロック内の動きベクトルを隣接位置の動きベクトルから予測し、符号化すべき動きベクトルとその予測動きベクトルより算出される差分動きベクトルをブロック単位で符号化する動画像符号化（以下動画像の動き補償符号化と略称）において、差分動きベクトルの精度を数種類用意し、復号化ブロック毎に差分動きベクトルの精度を選定し、選定した精度の情報及びその精度の情報の差分動きベクトルを符号化する方法である。
【００３５】
まず、上記予測動きベクトルの生成を図８を用いて説明する。ここで、動きベクトルを符号化する対象の小ブロックを50とする。小ブロック50では、動きベクトルの水平・垂直成分それぞれについて、隣接位置A, B, Cに位置する３ブロックの動きベクトルを候補としてその中間値を計算し、中間値の動きベクトルを予測動きベクトルとする。但し、符号化順序やマクロブロック位置の関係で位置Cのブロックが符号化前の場合や画像の外に位置する場合には、位置Cの代わりに位置Dに位置するブロックの動きベクトルを候補動きベクトルの１つとして用いる。なお、位置A, B, C, Dのブロックが動きベクトルを持たない場合には、その動きベクトルを０ベクトルとして予測処理を行う。この際、３個の候補ブロックのうち２個が動きベクトルを持たない場合には、残りの１つの候補動きベクトルを予測動きベクトルとする。上述の予測方法は、図７のモード１(51)のブロック51-0, モード４(54)の小ブロック54a-0、54b-0、54b-1、54c-0、54c-2並びに54d-0〜54d-3については、同じ予測方法を用いる。
【００３６】
モード２(52)の２個の小ブロック(52-0, 52-1)、モード３(53)の２個の小ブロック(53-0, 53-1)については、図８に示す矢印の根元に位置するブロックの動きベクトルを予測値とする。なお、いずれのモードにおいても、色差成分用の動きベクトルは符号化せず、輝度成分の動きベクトルを２で割る等して使用する。
【００３７】
本実施例１では、まず、差分動きベクトルの精度の候補を、1/4画素精度、1/2画素精度、1画素精度の３種類とする。MVを1/4画素精度表現の動きベクトル成分を４倍した値、PMVを1/4画素精度表現の予測動きベクトル成分を４倍した値とすると、この表現で、各精度候補に対す
るMVの値は以下のように制限される。
１画素精度：マクロブロック内の全小ブロックにおける(MV-PMV)の値が水平・垂直成分とも４の倍数となるMV。
1/2画素精度：マクロブロック内の全小ブロックにおける(MV-PMV)の値が水平・垂直成分とも２の倍数となるMV。
1/4画素精度：マクロブロック内の全小ブロックにおける(MV-PMV)の値が水平・垂直成分とも１の倍数となるMV。
【００３８】
従って、本方式の効果を符号化特性に反映させるためには動きベクトル推定において、予測誤差信号の絶対値和或いは２乗誤差和に、動きベクトルの符号量の影響を加えた評価関数を用意する。この際、各小ブロックの最適評価値を(MV-PMV)の各精度について算出し、マクロブロック内の全小ブロックの動きベクトル推定処理が終了した後、各精度について小ブロックの評価値の加算値を計算することにより、評価値の総和が小さい精度を差分動きベクトルの精度と決定する。符号化する差分動きベクトルMVDは式（１）で算出される。
MVD = (MV - PMV)>>mv_shift………（１）
式（１）中のmv_shiftは、図９の表81に示す値である。式（１）は、動きベクトル成分MVから予測動きベクトル成分PMVを引いた値を、mv_shiftで示す数だけ右に算術ビットシフトした値が差分動きベクトル成分MVDであることを示す。ここで、動きベクトル成分MVから予測動きベクトル成分PMVを引いた値は1<<mv_shiftの倍数であり、算術右ビットシフト処理した差分動きベクトル成分MVDが１の倍数の値となる。
【００３９】
Picture typeがP-Pictureの場合には、mv_shiftが図1のデータMVD precision13に示す符号化データ要素、MVDがデータMVD14に示す符号化要素として符号化される。Picture typeがB-Pictureの場合には、mv_shiftが図２のデータMVD precision13に示す符号化データ要素、MVDがデータMVDFW23（MVDが前方予測の差分動きベクトルの場合）又はデータMVDBW24（MVDが後方予測の差分動きベクトルの場合）に示す符号化データ要素として符号化される。なお、MVD precisionの符号化は差分動きベクトルの符号化データ(MVD14又は、MVDFW23とMVDBW24)が発生しないマクロブロックでは省略される。具体的には、P-Picture: MB typeがIntraM×N又は、MB typeが8x8 (split)で４個の小ブロックの8x8 partitionが全てintraの場合、B-Picture: MB typeがIntraM×N又はDirectの場合、さらにMB typeが8x8(split)で４個の小ブロックの8x8 partitionが全てintra又はdirectの場合である。
【００４０】
従来例に示したように、符号化方法としては、UVLCや算術符号化等を採用する。図9の表81に示すコードは、UVLCを使用した場合の符号化コードの例である。算術符号化の場合には、例えば符号化MB(図10の7C)の予測動きベクトルの生成値は、直左MB(図10の7A)と直上MB(図10の7B)のmv_shift値から算出される発生確率テーブルに従って符号化する。
【００４１】
復号化側では、復号mv_shift値と復号MVD並びにPMVから、以下の式、
MV = (MVD<<mv_shift) + PMV………（２）
に従って、各動きベクトル成分の復号、即ちMV値を再生（復号化）する。式（２）は、差分動きベクトル成分MVDをmv_shiftで示す数だけ左に算術ビットシフトした値に予測動きベクトル成分PMVを加えた値が復号動きベクトル成分MVになることを示す。この算術左ビットシフト処理により、復号された差分動きベクトル成分MVDは１の倍数から1<<mv_shiftの倍数(符号化側のMV-PMVに対応)となる。この値にPMVを加えることで復号動きベクトル成分MVは元の精度の値に復元される。
【００４２】
次に、差分動きベクトルの精度の候補が、1/8画素精度、1/4画素精度、1/2画素精度、1画素精度の４種類の場合について述べる。MVを1/8画素精度表現の動きベクトル成分を８倍した値、PMVを1/8画素精度表現の予測動きベクトル成分を８倍した値とすると、この表現で、各精度候補に対するMVの値は以下のように制限される。
１画素精度：マクロブロック内の全小ブロックにおける(MV-PMV)の値が水平・垂直成分とも８の倍数となるMV。
1/2画素精度：マクロブロック内の全小ブロックにおける(MV-PMV)の値が水平・垂直成分とも４の倍数となるMV。
1/4画素精度：マクロブロック内の全小ブロックにおける(MV-PMV)の値が水平・垂直成分とも２の倍数となるMV。
1/8画素精度：マクロブロック内の全小ブロックにおける(MV-PMV)の値が水平・垂直成分とも１の倍数となるMV。
動き推定の方法については、1/4画素精度、1/2画素精度、1画素精度の３種類の場合と同じであるため、説明を省略する。差分動きベクトルMVDは式（１）で算出される。ここで、動きベクトル成分MVから予測動きベクトル成分PMVを引いた値は1<<mv_shiftの倍数であり、算術右ビットシフト処理した差分動きベクトル成分MVDが１の倍数の値となり、前述の式（１）で算出される。式（１）中のmv_shiftは、図９の表82に示す値である。
【００４３】
mv_shiftとMVDの符号化方法ついては、差分動きベクトルの精度の候補が、1/4画素精度、1/2画素精度、1画素精度の３種類の場合と同じであるため、説明を省略するが、UVLCを使用した場合の符号化コードは、表81ではなく表82に従うことなる。
【００４４】
復号化側の処理も、差分動きベクトルの精度の候補が、1/4画素精度、1/2画素精度、1画素精度の３種類の場合と同じであり、復号mv_shift値と復号MVD並びにPMVから、前述の式（２）に従って、各動きベクトル成分の復号MV値が再生される。式（２）は、差分動きベクトル成分MVDをmv_shiftで示す数だけ左に算術ビットシフトした値に予測動きベクトル成分PMVを加えた値が復号動きベクトル成分MVになることを示す。この算術左ビットシフト処理により、復号された差分動きベクトル成分MVDは１の倍数から1<<mv_shiftの倍数(符号化側のMV-PMVに対応)となる。この値にPMVを加えることで復号動きベクトル成分MVは元の精度の値に復元される。
＜実施例2＞
本実施２は、動画像の動き補償符号化において、動きベクトルの精度を複数種類用意し、マクロブロック毎に動きベクトルの精度を選定し、選定した精度情報と、その選定した精度に修正した予測動きベクトルとその選定した精度に修正した符号化動きベクトルから算出される差分動きベクトルを符号化する方法である。
【００４５】
まず、予測動きベクトルと符号化動きベクトルの精度の候補を、1/4画素精度、1/2画素精度、1画素精度の３種類とする。MVを1/4画素精度表現の動きベクトル成分を４倍した値、PMVを1/4画素精度表現の予測動きベクトル成分を４倍した値とすると、この表現で、各精度候補に対するMVの値は以下のように制限される。
１画素精度：マクロブロック内の全小ブロックにおけるMVの値が水平・垂直成分とも４の倍数となるMV。
1/2画素精度：マクロブロック内の全小ブロックにおけるMVの値が水平・垂直成分とも２の倍数となるMV。
1/4画素精度：マクロブロック内の全小ブロックにおけるMVの値が水平・垂直成分とも１の倍数となるMV。
【００４６】
従って、本方式の効果を符号化特性に反映されるためには動きベクトル推定において、予測誤差信号の絶対値和或いは２乗誤差和に、動きベクトルの符号量の影響を加えた評価関数を用意する。この際、各小ブロックの最適評価値をMVの各精度について算出してき、マクロブロック内の全小ブロックの動きベクトル推定処理が終了した後、各精度について小ブロックの評価値の加算値を計算することにより、評価値の総和が小さい精度を差分動きベクトルの精度を決定できる。符号化する差分動きベクトルMVDは以下の式、
MVD = (MV- ((PMV>>mv_shift)<<mv_shift))>>mv_shift………（３）
で算出される。式（３）中のmv_shiftは、図９の表８１に示す値である。式（３）は、動きベクトル成分MVから、予測動きベクトル成分PMVをmv_shiftで示す数だけ右に算術ビットシフトのち直ちに左に算術ビットシフトした値を引いた値に対して、さらにmv_shiftで示す数だけ第２の算術右ビットシフトを実施した値が差分動きベクトル成分MVDになることを示す。ここで、予測動きベクトル成分に対する連続する右ビットシフト処理並びに左ビットシフト処理は、予測動きベクトル成分PMVの値をMVと同じ1<<mv_shiftの倍数の値に変換する役割を果たす。また、第２の算術右ビットシフト処理により、差分動きベクトル成分MVDが１の倍数の値となる。
【００４７】
このように、符号化動きベクトルの精度を切り換える方法では、動き推定の際にPMVの精度を考慮する必要はないが、MVDの生成処理の際に、PMV予測動きベクトルの精度をmv_shiftの精度に落とす処理を行う必要がある。但し、式（３）は下記のように簡略化することにより、演算ステップ数を削減できる。回路設計等の実装時に有効である。この式では、動きベクトル成分MVと予測動きベクトル成分PMVを１の倍数の値に変換してから差分処理を実施している。「１の倍数に変換した予測ベクトル成分を1<<mv_shift倍した値」は上式における「1<<mv_shift倍の値に変換した予測動きベクトル成分」と同等であり、また動きベクトル成分MVは1<<mv_shiftの倍数であるため、下記の式を用いることによる情報の欠落は発生しない。
MVD = (MV>>mv_shift)-(PMV>>mv_shift)。………（４）
mv_shiftとMVDのデータシンタックス図１と図２への割り当てと符号化方法については、差分動きベクトルの精度を切り換える方法と同じであるため説明を省略する。
【００４８】
復号化側では、復号mv_shift値と復号MVD並びにPMVから、以下の式、
MV = (MVD<<mv_shift) + ((PMV>>mv_shift)<<mv_shift)………（５）
に従って、各動きベクトル成分の復号MV値を再生する。この式（５）は、差分動きベクトル成分MVDをmv_shiftで示す数だけ左に算術ビットシフトした値に、予測動きベクトル成分PMVをmv_shiftで示す数だけ右に算術ビットシフトのち直ちに左に算術ビットシフトした値を加えた値が復号動きベクトル成分MVになることを示す。ここで、予測動きベクトル成分に対する連続する右ビットシフト処理並びに左ビットシフト処理と、MVDを差分動きベクトル成分mv_shiftで示す数だけ左に算術ビットシフトする処理は、各成分を1<<mv_shiftの倍数の値に変換する役割を果たしている。従って、復号動きベクトル成分MVは元の1<<mv_shiftの倍数となる。なお、式（５）は下記のように簡略化することにより、演算ステップ数を削減できる。回路設計等の実装時に有効である。式（５）では、１の倍数の値に変換した予測動きベクトル成分PMVに復号した差分動きベクトルDMVを加算した値に対して、mv_shiftで示す数だけ左算術ビットシフトを施した値が復号動きベクトル成分MVになることを示す。「１の倍数に変換した予測ベクトル成分を1<<mv_shift倍した値」は上式における「1<<mv_shiftの倍数に変換した予測動きベクトル成分」と同等であり、また差分動きベクトル成分DMVは１の倍数であるため、下記式（６）を用いることによる情報の欠落は発生しない。
MV = (MVD + (PMV>>mv_shift))<<mv_shift………（６）
次に、差分動きベクトルの精度の候補が、1/8画素精度、1/4画素精度、1/2画素精度、1画素精度の４種類の場合について述べる。MVを1/8画素精度表現の動きベクトル成分を８倍した値、PMVを1/8画素精度表現の予測動きベクトル成分を８倍した値とすると、この表現で、各精度候補に対するMVの値は以下のように制限される。
１画素精度：マクロブロック内の全小ブロックにおけるMVの値が水平・垂直成分とも８の倍数となるMV。
1/2画素精度：マクロブロック内の全小ブロックにおけるMVの値が水平・垂直成分とも４の倍数となるMV。
1/4画素精度：マクロブロック内の全小ブロックにおけるMVの値が水平・垂直成分とも２の倍数となるMV。
1/8画素精度：マクロブロック内の全小ブロックにおけるMVの値が水平・垂直成分とも１の倍数となるMV。
動き推定の方法については、1/4画素精度、1/2画素精度、1画素精度の３種類の場合と同じであるため、説明を省略する符号化する。符号化する差分動きベクトルMVDは以下の式、
MVD = (MV- ((PMV>>mv_shift)<<mv_shift))>>mv_shift………（３）
で算出される。式中のmv_shiftは、図９の表82に示す値である。この式は、動きベクトル成分MVから予測動きベクトル成分PMVをmv_shiftで示す数だけ右に算術ビットシフトのち直ちに左に算術ビッビットシフトした値を引いた値に対して、さらにmv_shiftで示す数だけ第２の算術右ビットシフトを実施した値が差分動きベクトル成分MVDになることを示す。ここで、予測動きベクトル成分に対する連続する右ビットシフト処理並びに左ビットシフト処理は、予測動きベクトル成分PMVの値をMVと同じ1<<mv_shiftの倍数の値に変換する役割を果たす。
また、第２の算術右ビットシフト処理により、差分動きベクトル成分MVDが１の倍数の値となる。
mv_shiftとMVDの符号化方法ついては、差分動きベクトルの精度の候補が、1/4画素精度、1/2画素精度、1画素精度の３種類の場合と同じであるため、説明を省略するが、UVLCを使用した場合の符号化コードは、表８１ではなく表８２に従うことなる。但し、上式は下記のように簡略化することにより、演算ステップ数を削減できる。回路設計等の実装時に有効である。この式では、動きベクトル成分MVと予測動きベクトル成分PMVを１の倍数の値に変換してから差分処理を実施している。「１の倍数に変換した予測ベクトル成分を1<<mv_shift倍した値」は上式における「1<<mv_shiftの倍数に変換した予測動きベクトル成分」と同等であり、また動きベクトル成分MVは1<<mv_shiftの倍数であるため、下記の式を用いることによる情報の欠落は発生しない。
MVD = (MV>>mv_shift)-(PMV>>mv_shift)………（４）
復号化側の処理も、差分動きベクトルの精度の候補が、1/4画素精度、1/2画素精度、1画素精度の３種類の場合と同じであり、復号mv_shift値と復号MVD並びにPMVから、以下の式、
MV = (MVD<<mv_shift) + ((PMV>>mv_shift)<<mv_shift)………（５）
に従って、各動きベクトル成分の復号MV値が再生される。この式は、差分動きベクトル成分MVDをmv_shiftで示す数だけ左に算術ビットシフトした値に、予測動きベクトル成分PMVをmv_shiftで示す数だけ右に算術ビットシフトのち直ちに左に算術ビットシフトした値を加えた値が復号動きベクトル成分MVになることを示す。ここで、予測動きベクトル成分に対する連続する右ビットシフト処理並びに左ビットシフト処理と、MVDを差分動きベクトル成分mv_shiftで示す数だけ左に算術ビットシフトする処理は、各成分を1<<mv_shiftの倍数の値に変換する役割を果たしている。従って、復号動きベクトル成分MVは元の1<<mv_shiftの倍数となる。なお、この式は下記のように簡略化することにより、演算ステップ数を削減できる。回路設計等の実装時に有効である。この式では、１の倍数の値に変換した予測動きベクトル成分PMVに復号した差分動きベクトルDMVを加算した値に対して、mv_shiftで示す数だけ左算術ビットシフトを施した値が復号動きベクトル成分MVになることを示す。「１の倍数に変換した予測ベクトル成分をmv_shift倍した値」は上式における「mv_shiftの倍数に変換した予測動きベクトル成分」と同等であり、また差分動きベクトル成分DMVは１の倍数であるため、下記の式を用いることによる情報の欠落は発生しない。
MV = (MVD + (PMV>>mv_shift))<<mv_shift………（６）
上記実施例1及び２を比較すると、実施例１は実際に符号化する差分動きベクトルの精度を調整するため、実施例２に比較して演算が簡単である。これに対して、実施例２は、符号化すべき動きベクトルの精度を調整するため、各精度を想定した場合の探索画素が予測ベクトルに依存しない。従って、符号化性能のみを追求する場合には実施例１が有効であるが、後述するメモリアクセス削減方法では、実施例２が有効である。
<実施例３＞
本実施例３は、mv_shift値の符号化を極力行わずに、ブロックモードに応じて予め決めておく符号化方法及び復号化方法で、マクロブロックの選択率が高い領域での、mv_shift値の符号量の増大防止する方法である。即ち、マクロブロックに伴う動きベクトル数が少ないモードでは、予め規定したデフォルトの動きベクトル精度で差分動きベクトルの符号化並びに復号化処理を行う。この処理により、動きベクトル精度情報の符号化並びに復号化処理を省略する。
【００４９】
例えば、MB typeが16×16のマクロブロックでは、1/4画素精度或いは1/8画素精度で符号化並びに復号化処理を行うように符号化側と復号側で設定し、これらのモードのマクロブロックでは精度情報の符号化・復号化処理を省略する。ここでは、MB typeが16x16のマクロブロックのみを精度情報の符号化・復号化処理を省略するモードとして設定しているが、その対象をさらに拡張できる。例えば、MB typeが16x16, 16x8並びに8x16のマクロブロックを1/4画素精度或いは1/8画素精度で符号化並びに復号化処理を行うように符号化側と復号側で設定することも有効である。また、P-Pictureでは、MB typeが16x16のマクロブロックのみを精度情報の符号化・復号化処理を省略するモードとして設定し、符号化する動きベクトル数が多いB-Pictureでは、MB typeが16x16, 16x8並びに8x16のマクロブロックまでを精度情報の符号化・復号化処理を省略するモードとして設定してもよい。
【００５０】
なお、上記動きベクトル精度のdefault値は、mv_shift値と同様に0-3(1/4 MC typeのときには0-2)の範囲で設定可能であり、ビットストリーム単位或いはフレーム単位で切り換える。この際、default値の符号は、ビットストリーム単位の場合にはデータの始めのヘッダ部、フレーム単位の場合にはpicture headerデータに含まれるものとする。なお、ビットストリーム単位の場合においては、符号化側と復号化側で予め定めておけば、符号化データに含める必要はない。
【００５１】
さらに、図１５の表95と表96の替わりに、図１１の表91と図１２の表93に示すようなmv_shiftの値を規定したマクロブロックタイプを用意することにより、mv_shift値の符号化に伴う付加情報を削減することができる。また、mv_shift値を算術符号化する際に、マクロブロックに含まれる動きベクトル数の基づいて、符号化に用いる確率モデルを適応的に切り換えることで、符号化効率を向上させることができる。なお、ここでは、mv_shiftの切り換え単位をマクロブロック単位としているが、8×8毎に切り換える場合も考えられる。このような処理は、MB_typeに8×8毎に処理するモードと16×16毎に処理するモードを設けることにより実現できる。また、表81又は表82に8x8毎に切り換えるモードを設け、更に４個のmv_shift値を8x8毎に符号化する方法でも実現できる。
【００５２】
またさらに、差分動きベクトル或いは動きベクトルの精度の選択切り換え単位として、フレーム全体で固定にする場合やシーケンス全体で固定にするようにしてもよい。精度の選択切り換え単位を固定することは、符号化/復号化処理を簡略化することになる。従って、実装コストを考慮したシンプルな符号化/復号化方式では、精度の切り換え単位をフレーム単位やシーケンス単位で固定することが有効である。
<実施例４＞
、本実施例４は、周囲の状況からシフト値を一意に判定する方法である。即ち、隣接マクロブロックから符号化対象マクロブロックのmv_shift値を予測することにより、mv_shift値の符号量を削減する。例えば、符号化対象マクロブロック(図１０のマクロブロック7C)のmv_shift値を、直左のマクロブロック(7A)、直上のマクロブロック(7B)のmv_shift値から予測する。予測方法としては、7Aと7Bのmv_shift値の加算値から予測する方法がある。具体的な利用手段としては、加算値が０であり、7CのMB typeが16x16の場合には、mv_shift値(MVD precision)の符号化を省略し規定値として1/8画素精度或いは1/4画素精度を符号化・復号化側の両者で用い、それ以外の加算値とMB typeの組み合わせの場合には、mv_shift値の符号化を行制御手段がある。なお、この具体例は一例であり、予測に用いる隣接マクロブロックの種類、予測方法、制御を行うMB typeの種類、制御時の場合分け種類等の組み合わせは多種ある。例えば、制御を行うMB typeを２個以下の差分動きベクトルまで拡張したり、加算値の制御ポイントを２以下に拡張したりすることで、mv_shift値の符号量の削減量は大きくなる。また、動きベクトルの予測のような方法で隣接MBのmv_shift値から現MBのmv_shift値を予測し、その差分値を符号化する方法等がある。
【００５３】
上述の実施例の動きベクトルの符号化精度切り換える手段には次のような変形も含まれる。
【００５４】
本実施例では、動きベクトルの符号化精度の候補を1/8画素精度、1/4画素精度、1/2画素精度、1画素精度としているが、これに限定されない。例えば1/16画素精度まで含める場合や、1/2画素精度、1画素精度の２種類とする場合。
また、上記実施例では、動きベクトルの符号化精度情報の符号化をマクロブロック単位で行っているが、複数のマクロブロックグループ毎に動きベクトルの符号化精度情報を切り換える方法。
さらに、上記実施例では、マクロブロックにおける動き補償ブロックの分割モードを図７に示した４種類としているが、本明細書の動きベクトル符号化方法は、動き補償ブロックの分割モードの種類と数が変更されても実施できるため、動きベクトルの符号化ブロック構成は限定されない。
【００５５】
また、上記実施例では、符号化データの符号化方式としてUVLCや算術符号化を説明した、本明細書の動きベクトル符号化方法は、エントロピー符号化の種類に限定されず実施できる。また、UVLCの符号表の構成や算術符号化/復号化の構成の方法も実施例の表には限定されない。
またさらに、本実施例では、16x16, 16x8並びに8x16モードについてmv_shift値のdefault値を利用しているが、このdefault値を8x8(split)の一部のPartitionモードに適用できる。また、実施例では、default値の設定をビットストリーム単位又はフレーム単位としているが、各マクロブロック単位について、異なる値を割り当てもよい。例えば、16x16モードでは、default値を1と設定し、16x8と8x16モードでは、default値を0と設定する方法がある。総括的に言えば、マクロブロックモードや8x8 Partitionモードについて、それぞれ適用する差分動きベクトル(或いは動きベクトル)の符号化精度をフレーム単位或いはシーケンス単位で規定し、符号化伝送すればよい(シーケンス単位の場合には、予め符号化側と復号化側で各モードにおける符号化精度を決めておけば、精度情報の符号化は必要ない)。前述のように、符号化精度の選択切り換え単位を固定することは、符号化/復号化処理を簡略化することになる。default値を規定するモードを増やすことにより、実装コストはさらに低減される。よりシンプルな構成を必要とする符号化/復号化方式では、より多くのモードに対して、符号化精度の切り換え単位を固定することが有効である。
【００５６】
以上は本発明による動画像の符号化方法及び復号化方法の実施例について説明した。本発明による動画像の符号化装置及び復号化装置は、実施例の方法図１３の符号化装置については、まず、動き補償器211にMB typeと8x8 Partitionの組み合わせに応じてmv_shift値の符号化をON/OFFする判定処理、mv_shift値を考慮した動き推定処理、mv_shiftを伴うMVD, MVDFW, MVDBWの算出処理並びにmv_shift値を多重化器206に伝える処理が追加される。また、多重化器206にmv_shift値をMVD precisionとして符号化する処理を追加する。図１４の復号化装置については、符号解読器501にMB typeと8x8 Partitionの復号値に応じてmv_shift値の復号化をON/OFFする判定処理、MVD precisionをmv_shift値として復号する処理並びにmv_shift値をMV予測器508に伝える処理を加える処理部を設ける。また、MV予測器508にmv_shiftを伴うMVD, MVDFW, MVDBWをMVに再生する処理部を設ける。
図２５、図２７、図２９、図３１、図３３、図３５、図３７、図３９及び図４１は、何れも本発明による動画像の符号化装置の実施例の要部（動きベクトルの符号化部）構成を示すブロック図である。図２６、図２８、図３０、図３２、図３４、図３６、図３８、図４０及び図４２は、それぞれ図２５、図２７、図２９、図３１、図３３、図３５、図３７、図３９及び図４１の符号化装置に対応する本発明による動画像の復号化装置の実施例の要部（動きベクトルの復号化部）構成を示すブロック図である。の実施例の要部（動きベクトルの符号化部）構成を示すブロック図である。
各図において、実質的に同じ機能ブロックについては同一番号を付している。各図の装置の構成、動作は、上記実施例１ないし４の説明によって、容易に実現できるので、上記各実施例との対応のみ示し、詳細な説明は省く。
図２５と図２６の装置は、それぞれ実施例１の式（１）及び（２）を実行する回路で構成され、シフト(mv_shift)値の決定が外部入力（動きベクトル検出時に求まる）のみによって制御される。ＭＶ予測部215は各ブロックの動きベクトルＭＶを記憶したメモリ101を利用し、予測動きベクトルＰＭＶを作る。減算器102は、これらの差分MV-PMVをえる。右シフト処理部103はMV-PMVを右シフトする。復号側では、符号側の逆処理を行うため、動きベクトルＭＶを記憶したメモリ101、左シフト処理部11３及び加算器１１２が設けられる。
図２７と図２８の装置は、それぞれ実施例１の式（１）及び（２）を実行する回路で構成され、シフト(mv_shift)値の決定が外部入力（動きベクトル検出時に求まる）とマクロブロックのタイプ等の条件のいずれかによって決定され、制御される。シフト値選択部104は特定のブロックタイプを選択した場合、mv_shift値を選択し、制御回路１０５で、該部からのmv_shift値から、ブロックタイプに対応したmv_shift値で右シフト処理部103を処理する。
図２９と図３０の装置は、それぞれ実施例１のそれぞれ式（１）及び（２）を実行する回路で構成され、シフト(mv_shift)値の決定がマクロブロックのタイプ等の条件のみによって決定され、制御される。
図３１と図３２の装置は、それぞれ実施例２の式（３）及び（５）を実行する回路で構成され、シフト(mv_shift)値の決定が外部入力（動きベクトル検出時に求まる）のみによって制御される。精度修正処理部106は、式（３）の(PMV>>mv_shift)<<mv_shiftの処理を行う。
図３３と図３４の装置は、それぞれ実施例２の式（３）及び（５）を実行する回路で構成され、シフト(mv_shift)値の決定が外部入力（動きベクトル検出時に求まる）とマクロブロックのタイプ等の条件のいずれかのよって決定され、制御される。
図３５と図３６の装置は、それぞれ実施例２の式（３）及び（５）を実行する回路で構成され、シフト(mv_shift)値の決定がマクロブロックのタイプ等のみによって制御される。
図３７と図３８の装置は、それぞれ実施例２の式（４）及び（６）を実行する回路で構成され、シフト(mv_shift)値の決定が外部入力（動きベクトル検出時に求まる）のみによって制御される。
図３９と図４０の装置は、それぞれ実施例２の式（４）及び（６）を実行する回路で構成され、シフト(mv_shift)値の決定が外部入力（動きベクトル検出時に求まる）とマクロブロックのタイプ等の条件のいずれかのよって決定され、制御される。
図４１と図４２の装置は、それぞれ実施例２のそれぞれ式（４）及び（６）を実行する回路で構成され、シフト(mv_shift)値の決定がマクロブロックのタイプ等の条件のいずれかのよって決定され、制御される。
<実施例５＞
図18は、実施例５の符号化方法の処理フロー図である。
【００５７】
本実施例５は長いタップ数のフィルタを用いた動き補償でメモリアクセス領域が拡大する問題を解決するため、符号化動きベクトルの精度を切り換える符号化・復号化方法である。
【００５８】
長いフィルタを用いて生成する予測値は、画素精度以下の予測画素のみである。従って、動きベクトルの符号化精度を整数画素に限定することにより、メモリアクセス領域は削減できる。しかし、動きベクトルの符号化精度を整数画素に限定することは、予測性能を低減させる。そこで、本実施例５では、メモリアクセス範囲の拡大が装置実装或いはソフトウェア実装に影響する程度に応じて、画素精度を制限する。特に、動き補償時のブロックサイズが小さい場合についてのみ、動きベクトルの符号化精度を制限する。
【００５９】
メモリアクセス領域の拡大に伴う影響は、ブロックサイズが小さいほど大きくなる。サイズの小さいブロックは本来アクセスする画素数が少ない。そのため、サイズの大きいブロックと小さいブロックを比較すると、元のアクセス範囲に対する拡大アクセス領域の比率は、ブロックサイズが小さいほど大きい。
【００６０】
本実施例の符号化装置方法は、1/4画素精度の動き補償を図７のブロック分割に対して行う場合、図１８のように、まずブロックサイズ判別し（処理801）、mv_shift値を選択する。本実施例の場合には、8x8 Partition 2(8x4)と8x8 Partition 3(4x8)では1/2画素精度（処理８１１）、8x8 Partition 3(4x4)では整数画素精度（処理812）、8x8画素並びにそれ以上の大きなサイズのブロックでは、1/4画素精度（図１８ 処理813）を選択し、選択されたmv_shiftで、右シフト処理分103、を駆動して動き補償を行う。動きベクトルの符号化時には、8x4と4x8画素サイズのブロックではmv_shiftを1、4x4画素サイズのブロックではmv_shiftを2、それ以外の画素サイズのブロックではmv_shiftを0とする。
【００６１】
また、P-pictureとB-pictureを用いた方式では、B-pictureのみに上記精度切り換えを適用し、P-pictureでは、ブロックサイズに関わらず1/4画素精度で動き補償を行うようにしてもよい。なお、ここでは、整数画素精度で動き補償を行うブロックサイズを4x4のみとしているが、これを、8x4と4x8まで拡張してもよい。この場合、8x4と4x8と4x4画素サイズのブロックではmv_shiftを2、それ以外の画素サイズのブロックではmv_shiftを0とする。
【００６２】
本実施例による動画像の符号化装置及び復号化装置における動きベクトルの符号化部及び復号化部は、それぞれ前記図４１及び図４２と同様に構成される。
<実施例６＞
図1９,図４５及び図４６は,それぞれ本発明の実施例６の符号化方法処理フロー図、符号化装置の要部構成図及び復号装置の要部構成図である。本実施例も長いタップ数のフィルタを用いた動き補償でメモリアクセス領域が拡大する問題を解決するため、動きベクトルの垂直・水平各成分を異なる符号化精度で符号化することにより、メモリアクセス範囲を制限する。
【００６３】
符号化装置のシフト選択部124は、図１９のように、動きベクトルが垂直成分か否かをし（処理801）、mv_shiftを選択する。タイプ適応部124は、選択されたmv_shiftで、右シフト処理部103を駆動して動き補償を行う。本実施例では、1/4画素精度の動き補償で、動きベクトルの垂直成分を整数画素精度（処理812）、水平成分を1/4画素精度（処理813）とし、垂直成分を符号化/復号化する際のmv_shiftを2、水平成分を符号化/復号化する際のmv_shiftを0とする。
【００６４】
本実施例のメモリアクセス範囲拡大の影響が大きい動きベクトルの垂直成分の符号化精度を制限する方法は効果が大きい。画像データは、左上から右下に向けてラスタスキャン順でメモリに保存されているのが一般的である。そのため、ある画素から隣接画素にアクセス範囲を広げる場合、水平方向の１画素は１画素分を意味するが、垂直方向の１画素は１ライン分を意味する。従って、垂直方向へのメモリアクセスに伴う工数は、水平方向のそれよりも大きい。さらに、１画素1byteの画素データを、byte単位(１画素)ではなく、word単位(２画素毎)やdword単位(４画素毎)で保存する実装方法では、水平方向へのメモリアクセス範囲の拡大は、word単位或いはdword単位で発生するため、その影響はあまり大きくない。これに対して、垂直方向では１画素分のアクセスであっても、メモリアクセス範囲は必ず拡大される。従って、垂直方向の動きベクトルの符号化精度を制限する方法は、メモリアクセス範囲の縮小という観点で効果的である。
【００６５】
また、実施例５及び実施例６の方法を綜合して、図２３のような処理を行うようにしてもよい。即ち、シフト選択部124は、8x4, 4x8並びに4x4画素サイズのブロックについてのみ、動きベクトルの垂直成分を整数画素に制限する。さらに、ブロックサイズに応じて、範囲を制限するベクトル成分を切り替える手段も有効である。
【００６６】
上述のように、メモリアクセス領域の拡大に伴う影響は、ブロックサイズが小さいほど大きいが、これは、ブロックの縦横比率にも言える。つまり、ブロックの縦横サイズの比率が異なる場合には、サイズの小さい成分ほどアクセス範囲拡大の影響は大きくなる。図７のブロック分割で考えると、サイズが４画素の成分に対して制限をかけることが有効と言える。
＜実施例７＞
図２４、図４３及び図４４は、それぞれ、本発明の実施例７の符号化方法の処理フロー図、符号化装置の要部構成図及び復号装置の要部構成図である。
【００６７】
本実施例は、符号化装置（図４３）、復号化装置（図４４）のシフト値選択部124は図２４の処理フローに示すように、ブロックサイズが8x4(縦x横)のときは水平成分を整数画素精度(mv_shift=2)で垂直成分を1/4画素精度(mv_shift=0)、ブロックサイズが4x8(縦x横)のときは水平成分を1/4画素精度(mv_shift=0)で垂直成分を整数画素精度(mv_shift=2)、ブロックサイズが4x4(縦x横)のときは水平・垂直成分とも整数画素精度(mv_shift=2)とする。なお、予測性能の観点から、8x4と4x8モードの水平・垂直成分の扱いを入れ替えてもよい。これは、サイズが小さい成分ほど精度の高い予測方法が有効という概念に起因する。いずれの方法を適用するかは、メモリアクセス制限の必要性、符号化性能、ビットレート等のアプリケーションによって決定される。
<実施例８＞
図２０、図４７及び図４８は、それぞれ、本発明の実施例８の符号化方法処理フロー図、符号化装置の要部構成図及び復号装置の要部構成図である。本実施例は、実施例７において、入力画像がインタレース信号であり、マクロブロックがフレーム構造の場合に、動きベクトルの垂直成分を偶数画素精度に制限する方法である。
【００６８】
図１７は、インタレース信号をフレーム構造で符号化/復号化する場合のマクロブロックを示す。図上の実線は奇数フィールド(top field)、破線は偶数フィールド(bottom field)を意味する。図１７から、奇数値の動きベクトルは、奇数フィールド上の予測値を参照画像上の偶数フィールドから生成され、偶数フィールド上の予測値を参照画像上の奇数フィールドから生成される。インタレース信号では、奇数フィールドと偶数フィールドは表示時刻が異なるため、奇数値の垂直成分ベクトルは、実際には発生しない。
【００６９】
そこで、本実施例では、入力画像がインタレース信号で、マクロブロックがフレーム構造の場合について動きベクトルの垂直成分を偶数画素精度に制限する。符号化/復号化装置において、垂直成分を符号化/復号化する際のmv_shiftを3（図２０ 処理803、814）、水平成分を符号化/復号化する際のmv_shiftを0（図２０ 処理813）とする。このインタレース信号のフレーム構造場合も、図21及び図22の流れ図に示すように、実施例７の方法と組み合わせて、8x4, 4x8並びに4x4画素サイズのブロックについてのみ（図２１ 処理801）、動きベクトルの垂直成分を整数画素に制限するするようにしてもよい。さらに、インタレース信号の符号化方式としては、フレーム構造、フィールド構造並びにフレーム構造とフィールド構造をマクロブロック毎に切り換える適応方式があり、その方法に応じて動きベクトルの符号化精度の選定方法を変えるようにしてもよい。例えば、インタレース信号とプログレッシブ信号を扱う符号化規格では、フレーム構造の符号化方式は信号走査に関わらず同じ場合がある。この場合には、フレーム構造並びにフィールド構造では、小さいサイズのブロックについて、垂直方向の動きベクトルの符号化精度を整数画素精度に限定して符号化/復号化（図２０と図２１並びに図２２ 処理812）し、フレーム構造とフィールド構造をマクロブロック毎に切り換える適応方式では、小さいサイズのブロックについて、フレーム構造では垂直方向の動きベクトルの符号化精度を偶数画素精度に限定し（図２０と図２１の処理814）、フィールド構造では整数画素精度に限定して符号化/復号化する（図２０と図２１の処理812）という方法でもよい。なお、この際、フレーム構造ではブロックのサイズに関わらず垂直方向の動きベクトルの符号化精度を偶数画素精度に限定し（図２２の処理814）、フィールド構造では小さいサイズのブロックについて整数画素精度に限定して符号化/復号化する（図２２ 処理801と処理812）という方法でもよい。
実施例7及び８のメモリアクセス範囲低減方式では、mv_shift値の符号化/復号化処理は必要ない。従って、図１、図２におけるMVD Prediction13と図１１と図１２におけるmv_shiftは必要ない。また、図１３において、mv_shift値を動き補償器211から多重化器206に伝える処理は必要ない。さらに、図１４において、mv_shift値を符号解読器501からMV予測器508に伝える処理は必要ない。mv_shift値は、予測モードに従ってMV予測器508で決められる。
【００７０】
なお、本実施例８のメモリアクセス範囲低減方式は、符号化動きベクトルと予測動きベクトルの精度を切り換える手段を用いて「ブロックサイズに応じて動きベクトルの符号化精度を整数画素に限定すること」、「動きベクトルの垂直成分の符号化精度を整数画素或いは偶数画素に限定すること」であり、動き補償の精度、用意する動きベクトル符号化精度の種類並びに動きベクトルの符号化精度を切り換えるブロックサイズについては、上記実施例に限定されるものではない。また、動きベクトルの精度を1/2画素精度に限定することでメモリアクセス範囲が低減される動き補償方式では、動きベクトルを整数画素精度ではなく、1/2画素精度に限定する方法も本発明で実現できる。
【図面の簡単な説明】
【００７１】
【図１】図１は、前方向予測フレームのデータシンタックスの例を示した図である。
【図２】図２は、双方向予測フレームのデータシンタックスの例を示した図である。
【図３】図３は、マクロフロック分割を説明する図である。
【図４】図４は、動き補償の原理を説明する図である。
【図５】図５は、マクロブロックに含まれる有意DCT係数の有無を符号化する際に利用するブロック構成を示す図である。
【図６】図６は、DCT処理並びに符号化処理を行うブロック単位を示すマクロブロック構成を示す図である。
【図７】図７は、動き補償を行うブロック単位を示す輝度ブロックの構成を示す図である。
【図８】図８は、予測動きベクトルの生成を説明する図である。
【図９】図９は、動きベクトル精度の符号表の例を示した図である。
【図１０】図１０は、動きベクトル精度の予測方法を説明する図である。
【図１１】図１１は、本発明の実施例によるP-Pictureにおけるマクロブロックタイプの符号表と8x8パーティションタイプの符号表を示す図である。
【図１２】図１２は、本発明の実施例によるB-Pictureにおけるマクロブロックタイプの符号表と8x8パーティションタイプの符号表を示す図である。
【図１３】図１３は、動画像符号化装置の一般的構成を示すブロック図である。
【図１４】図１４は、本動画像復号化装置の一般的構成を示すブロック図である。
【図１５】図１５は、従来法におけるマクロブロックタイプの符号表の例を説明した図である。
【図１６】図１６は、ユニバーサル符号化表の構成例を示した図である。
【図１７】図１７は、フィールド信号におけるフレーム構造のマクロブロックの構成例を示した図である。
【図１８】図１８は、ブロックサイズで動きベクトルの符号化精度を切り換える処理の流れ図である。
【図１９】図１９は、本発明の実施例における動きベクトルの成分で動きベクトルの符号化精度を切り換える処理の流れ図である。
【図２０】図２０は、本発明の実施例における動きベクトルの成分とマクロブロック構成で動きベクトルの符号化精度を切り換える処理の流れ図である。
【図２１】図２１は、本発明の実施例におけるブロックサイズと動きベクトルの成分とマクロブロック構成で動きベクトルの符号化精度を切り換える処理の流れ図である。
【図２２】図２２は、本発明の実施例におけるブロックサイズと動きベクトルの成分とマクロブロック構成で動きベクトルの符号化精度を切り換える処理の流れ図の別例である。
【図２３】図２３は、本発明の実施例におけるブロックサイズと動きベクトルの成分で動きベクトルの符号化精度を切り換える処理の流れ図の例である。
【図２４】図２４は、本発明の実施例におけるブロックサイズと動きベクトルの成分で動きベクトルの符号化精度を切り換える処理の流れ図の別例である。
【図２５】図２５は、本発明による動画像符号化装置の動きベクトルの符号化部の実施例の構成図である。
【図２６】図２６は、本発明による動画像復号化装置の動きベクトルの復号化部の実施例の構成図である。
【図２７】図２７は、本発明による動画像符号化装置の動きベクトルの符号化部の実施例の構成図である。
【図２８】図２８は、本発明による動画像復号化装置の動きベクトルの復号化部の実施例の構成図である。
【図２９】図２９は、本発明による動画像符号化装置の動きベクトルの符号化部の実施例の構成図である。
【図３０】図３０は本発明による動画像復号化装置の動きベクトルの復号号化部の実施例の構成図である。
【図３１】図３１は、本発明による動画像符号化装置の動きベクトルの符号化部の実施例の構成図である。
【図３２】図３２は、本発明による動画像復号化装置の動きベクトルの復号化部の実施例の構成図である。
【図３３】図３３は、本発明による動画像符号化装置の動きベクトルの符号化部の実施例の構成図である。
【図３４】図３４は、本発明による動画像復号化装置の動きベクトルの復号化部の実施例の構成図である。
【図３５】図３５は、本発明による動画像符号化装置の動きベクトルの符号化部の実施例の構成図である。
【図３６】図３６は、本発明による動画像復号化装置の動きベクトルの復号化部の実施例の構成図である。
【図３７】図３７は、本発明による動画像符号化装置の動きベクトルの符号化部の実施例の構成図である。
【図３８】図３８は、本発明による動画像復号化装置の動きベクトルの復号化部の実施例の構成図である。
【図３９】図３９は、本発明による動画像符号化装置の動きベクトルの符号化部の実施例の構成図である。
【図４０】図４０は、本発明による動画像復号化装置の動きベクトルの復号化部の実施例の構成図である。
【図４１】図４１は、本発明による動画像符号化装置の動きベクトルの符号化部の実施例の構成図である。
【図４２】図４２は、本発明による動画像復号化装置の動きベクトルの復号化部の実施例の構成図である。
【図４３】図４３は、本発明による動画像符号化装置の動きベクトルの符号化部の実施例の構成図である。
【図４４】図４４は、本発明による動画像復号化装置の動きベクトルの復号化部の実施例の構成図である。
【図４５】図４５は、本発明による動画像符号化装置の動きベクトルの符号化部の実施例の構成図である。
【図４６】図４６は、本発明による動画像復号化装置の動きベクトルの復号化部の実施例の構成図である。
【図４７】図４７は、本発明による動画像符号化装置の動きベクトルの符号化部の実施例の構成図である。
【図４８】図４８は、本発明による動画像復号化装置の動きベクトルの復号化部の実施例の構成図である。
【符号の説明】
【００７２】
１０：ピクチャーヘッダー、１１：ピクチャータイプ、  １２：ＭＢタイプ、
１３：動きベクトル精度情報、１４：差分動きベクトルの符号化データ、
１５：ＣＢＰ、１６：量子化ＤＣＴ係数の符号化データ、１７：マクロブロックデータ、、１８：パーティション。
【図１】
2006187025.tif 000003
【図２】
2006187025.tif 000004
【図３】
2006187025.tif 000005
【図４】
2006187025.tif 000006
【図５】
2006187025.tif 000007
【図６】
2006187025.tif 000008
【図７】
2006187025.tif 000009
【図８】
2006187025.tif 000010
【図９】
2006187025.tif 000011
【図１０】
2006187025.tif 000012
【図１１】
2006187025.tif 000013
【図１２】
2006187025.tif 000014
【図１３】
2006187025.tif 000015
【図１４】
2006187025.tif 000016
【図１５】
2006187025.tif 000017
【図１６】
2006187025.tif 000018
【図１７】
2006187025.tif 000019
【図１８】
2006187025.tif 000020
【図１９】
2006187025.tif 000021
【図２０】
2006187025.tif 000022
【図２１】
2006187025.tif 000023
【図２２】
2006187025.tif 000024
【図２３】
2006187025.tif 000025
【図２４】
2006187025.tif 000026
【図２５】
2006187025.tif 000027
【図２６】
2006187025.tif 000028
【図２７】
2006187025.tif 000029
【図２８】
2006187025.tif 000030
【図２９】
2006187025.tif 000031
【図３０】
2006187025.tif 000032
【図３１】
2006187025.tif 000033
【図３２】
2006187025.tif 000034
【図３３】
2006187025.tif 000035
【図３４】
2006187025.tif 000036
【図３５】
2006187025.tif 000037
【図３６】
2006187025.tif 000038
【図３７】
2006187025.tif 000039
【図３８】
2006187025.tif 000040
【図３９】
2006187025.tif 000041
【図４０】
2006187025.tif 000042
【図４１】
2006187025.tif 000043
【図４２】
2006187025.tif 000044
【図４３】
2006187025.tif 000045
【図４４】
2006187025.tif 000046
【図４５】
2006187025.tif 000047
【図４６】
2006187025.tif 000048
【図４７】
2006187025.tif 000049
【図４８】
2006187025.tif 000050
【手続補正書】
【提出日】平成18年2月21日(2006.2.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像を複数の符号化ブロックに分割し、符号化ブロックの動きベクトルを隣接ブロックの動きベクトルから予測して予測動きベクトルとし、符号化すべき動きベクトルとその予測動きベクトルより算出される差分動きベクトルをブロック単位で符号化する手順を含む動画像の符号化方法であって、
差分動きベクトルの精度を数種類用意し、符号化ブロック毎に差分動きベクトルの精度を選定し、選定した精度の情報及びその精度の差分動きベクトルとを符号化する手順を有することを特徴とする動きベクトルの符号化方法。
【手続補正書】
【提出日】平成18年3月6日(2006.3.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像を複数の復号ブロックに分割し、復号ブロックの動きベクトルを隣接ブロックの復号動きベクトルから予測し、復号差分動きベクトルと予測動きベクトルより復号動きベクトルを算出する手段を含む動画像復号化方法であって、
差分動きベクトルの精度を数種類用意し、復号ブロック毎に差分動きベクトルの精度情報とその精度の差分動きベクトルを復号化し、復号差分動きベクトルの精度を予測動きベクトルと同じ精度に修正した後、精度修正した復号差分動きベクトルと予測動きベクトルから復号ブロックの動きベクトルを算出する手順を有する。
【請求項２】
画像を複数の復号ブロックに分割し、復号ブロックの動きベクトルを隣接ブロックの復号動きベクトルから予測し、復号差分動きベクトルと予測動きベクトルより復号動きベクトルを算出する手段を含む動画像復号化方法であって、動きベクトルの精度を数種類用意し、復号ブロック毎に動きベクトルの精度情報とその精度の差分動きベクトルを復号化し、予測動きベクトルの精度を復号精度情報と同じ精度に修正した後、復号差分動きベクトルと精度修正した予測動きベクトルから復号ブロックの動きベクトルを算出する手順をもつ。
【請求項３】
画像を複数の符号化ブロックに分割し、符号化ブロックの動きベクトルを隣接ブロックの動きベクトルから予測して予測動きベクトルとし、符号化すべき動きベクトルとその予測動きベクトルより算出される差分動きベクトルをブロック単位で符号化する手順を含む動画像の符号化方法。