(57)【要約】映像中の動き情報を少ないオーバヘッドで符号化又は復号する目的のため、動き補償予測を用いて動画像の圧縮符号化を行う符号化方法において、動画像のフレームを分割したマクロブロックの各々についてさらに分割したサブブロックの単位で、１つ又は複数の動きベクトル（例えば、最大２本の動きベクトル）を割り当てて動き補償予測を行う動き補償予測工程（動き検出部２、動き補償部５、空間予測部９等による処理工程）と、サブブロックに対する動きベクトルの割当状況に関する情報をビットストリームに多重して出力する割当情報符号化工程（可変長符号化部２３等による処理工程）とを備えた。
2003026315.tif 000002
【特許請求の範囲】
【請求項１】
動き補償予測を用いて動画像の圧縮符号化を行う符号化方法であって、
動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの単位で、１つ又は複数の動きベクトルを割り当てて動き補償予測を行う動き補償予測工程と、
前記第２のブロックに対する動きベクトルの割当状況に関する情報をビットストリームに多重して出力する割当情報符号化工程と、
を備えたことを特徴とする符号化方法。
【請求項２】
前記動き補償予測工程では、
第１のブロック内での第２のブロックの位置及び数に関わらず第２のブロックの単位で動きベクトルを割り当てて動き補償予測を行い、
前記割当情報符号化工程では、
第２のブロックの位置及び当該第２のブロックに割り当てられた動きベクトルについての情報を、動きベクトルの割当状況に関する情報として用いる、
ことを特徴とする請求項１記載の符号化方法。
【請求項３】
前記動き補償予測工程では、
１つ又は複数の第２のブロックをグループ化することにより予め定めた割当パターンに従って第２のブロックの単位で動きベクトルを割り当てて動き補償予測を行い、
前記割当情報符号化工程では、
前記割当パターンの識別情報を、動きベクトルの割当状況に関する情報として用いる、
ことを特徴とする請求項１記載の符号化方法。
【請求項４】
前記動き補償予測工程では、
第１のブロック単位に定まる第２のブロックへの動きベクトル割当パターンを予めグループ化した複数のパターングループのうちのいずれかを選択し、該選択されたパターングループに含まれる割当パターンに基づいて第２のブロックに対して動きベクトルを割り当てて動き補償予測を行い、
前記割当情報符号化工程では、
第１のブロック単位に符号化される動きベクトル割当状況に関する情報を、前記選択されたパターングループの中から特定される動きベクトル割当パターンの識別情報として出力する、
ことを特徴とする請求項３記載の符号化方法。
【請求項５】
前記割当情報符号化工程では、
符号化対象となる第１のブロックについての動きベクトル割当パターンの形状に応じて動きベクトルの予測値を定め、当該予測値による予測差分値を動きベクトル情報として符号化する、
ことを特徴とする請求項３記載の符号化方法。
【請求項６】
前記割当情報符号化工程では、
符号化対象となる第１のブロックについての動きベクトル割当パターンの形状に応じて動きベクトルの予測候補位置を定め、前記符号化対象となる第１のブロック近傍に位置する第１のブロックについての割当パターンの形状に応じて予測候補位置のうちのいずれかを予測値とし、当該予測値の予測差分値を動きベクトル情報として符号化する、
ことを特徴とする請求項５記載の符号化方法。
【請求項７】
前記動き補償予測工程では、
符号化対象となる第１のブロックについての動きベクトル割当パターンの形状に応じて動きベクトルの予測値を定め、当該予測値を中心とする動きベクトル探索窓を設けて動きベクトルを検出し、
前記割当情報符号化工程では、
前記検出された動きベクトルと前記動きベクトル予測値との予測差分値を動きベクトル情報として符号化する、
ことを特徴とする請求項３記載の符号化方法。
【請求項８】
前記動き補償予測工程では、
第２のブロック単位での割り当て可能な動きベクトル数を最大２本とするとともに、第１のブロック単位に定まる該第１のブロックに含まれる第２のブロックへの割当状態を表す予め定められた複数の割当パターンのいずれかに基づいて、第２のブロックに対し動きベクトルを割り当てて動き補償予測を行い、
前記割当情報符号化工程では、
第１のブロック単位に定まる動きベクトルの割当状況に関する情報を、前記割当パターンの識別情報として出力する、
ことを特徴とする請求項３〜７の何れか１項に記載の符号化方法。
【請求項９】
前記割当パターンは、
前記第１のブロックを水平方向又は垂直方向に不均一に分割するパターン、及び前記第１のブロックを斜め方向に分割するパターンを含むことを特徴とする請求項８記載の符号化方法。
【請求項１０】
前記割当情報符号化工程では、
各割当パターンの形状に基づいて、可変長の符号を各割当パターンに割り当てて前記割当パターンの識別情報を符号化することを特徴とする請求項８記載の符号化方法。
【請求項１１】
前記割当情報符号化工程では、
符号化対象となる第１のブロック近傍に位置する第１のブロックについての割当パターンの状況に基づいて、前記符号化対象となる第１のブロックについて、可変長の符号を各割当パターンに割り当てて前記割当パターンの識別情報を符号化することを特徴とする請求項８記載の符号化方法。
【請求項１２】
前記割当情報符号化工程では、
映像内容に基づいて、可変長の符号を各割当パターンに割り当てて前記割当パターンの識別情報を符号化することを特徴とする請求項８記載の符号化方法。
【請求項１３】
前記動き補償予測工程にて得られた予測残差信号を、前記第２のブロックのサイズと同一サイズのブロック単位で符号化する残差信号符号化工程をさらに備えたことを特徴とする請求項２又は３に記載の符号化方法。
【請求項１４】
前記割当情報符号化工程では、
前記動きベクトルの割当状況に基づき、１つ又は複数の第２のブロックから構成される動きベクトル割当領域において符号化すべき予測残差信号があるか否かを識別する情報を符号化する、
ことを特徴とする請求項２又は３に記載の符号化方法。
【請求項１５】
前記割当情報符号化工程では、
符号化対象となる第１のブロック及び隣接の第１のブロックにおける動きベクトルの割当状況に基づいて、当該割当状況における動きベクトル割当の変化点を表す情報を、前記動きベクトルの割当状況に関する情報としてビットストリームに多重して出力する、
ことを特徴とする請求項２に記載の符号化方法。
【請求項１６】
前記動き補償予測工程では、
第１のブロック単位でインター予測モード又はイントラ予測モードが設定された場合に加え、第２のブロックの１つ又は複数からなる単位でインター予測モード又はイントラ予測モードが設定された場合も含めて、動き補償予測を行う、
ことを特徴とする請求項２又は請求項３に記載の符号化方法。
【請求項１７】
動き補償予測を用いて動画像の圧縮符号化を行う符号化方法であって、
動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの１つ又は複数からなる単位で、動き補償予測のために保持された複数の参照フレームの中から一の参照フレームを選択して動き補償予測を行う補償予測工程と、
前記１つ又は複数の第２のブロックに対する参照フレームの選択状況に関する情報をビットストリームに多重して出力する参照フレーム情報符号化工程と、
を備えた符号化方法。
【請求項１８】
前記参照フレーム情報符号化工程では、
前記第１のブロックの単位で含まれる前記１つ又は複数の第２のブロックに対する参照フレームの選択状況の組み合わせ情報として符号化する、
ことを特徴とする請求項１７記載の符号化方法。
【請求項１９】
前記参照フレーム情報符号化工程では、
近傍に位置する前記第１もしくは１つ又は複数の前記第２のブロックにおける参照フレームの選択状況から、１つ又は複数の第２のブロックに対する参照フレームの予測値をそれぞれ求め、
該予測値と選択された参照フレームとの差分情報を、参照フレームの選択状況に関する情報として用いる、
ことを特徴とする請求項１７記載の符号化方法。
【請求項２０】
動き補償予測を用いて動画像の圧縮符号化を行う符号化方法であって、
動画像のフレームを分割した第１のブロックの各々についてさらに分割した１つ又は複数の第２のブロックからなる単位で、双方向インター予測に用いる予測方向を選択して動き補償予測を行う動き補償予測工程と、
前記１つ又は複数の第２のブロックに対する予測方向の選択状況に関する情報をビットストリームに多重して出力する予測情報符号化工程と、
を備えた符号化方法。
【請求項２１】
動き補償予測を用いて動画像の圧縮符号化を行う符号化方法であって、
動画像のフレームを分割した第１のブロックの各々についてさらに分割した１つ又は複数の第２のブロックからなる単位で、インター予測モードもしくはイントラ予測モードを選択してインター予測もしくはイントラ予測を行う予測工程と、
前記１つ又は複数の第２のブロックに対するインター予測モードもしくはイントラ予測モードの選択状況に関する情報をビットストリームに多重して出力する予測モード情報符号化工程と、
を備えた符号化方法。
【請求項２２】
前記予測情報符号化工程又は予測モード情報符号化工程では、
前記選択状況に関する情報を、前記第１のブロックの単位で含まれる前記第１のブロックに対する動きベクトルの割当状況に関する情報とともに組み合わせた情報として符号化してビットストリームへ多重し出力する、
ことを特徴とする請求項２０又は２１に記載の符号化方法。
【請求項２３】
前記予測情報符号化工程又は予測モード情報符号化工程では、
前記選択状況に関する情報を、前記１つ又は複数の第２のブロック単位で含まれる前記１つ又は複数の第２のブロックに対する複数参照フレームからの参照フレームの選択状況に関する情報とともに組み合わせた情報として符号化してビットストリームへ多重し出力する、
ことを特徴とする請求項２０又は２１に記載の符号化方法。
【請求項２４】
動き補償予測を用いて圧縮動画像データの伸長・復号を行う復号方法であって、
動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの単位で割り当てられた動きベクトルが、前記第１のブロックの単位で復号される１つ又は複数の動きベクトルのうちいずれに該当するか、を示す動きベクトル割当情報を復号する割当情報復号工程と、
該動きベクトル割当情報に基づいて前記第２のブロックの単位で特定された動きベクトルを用いて動き補償を行い予測画像を生成する動き補償工程と、
を備えたことを特徴とする復号方法。
【請求項２５】
前記割当情報復号工程では、
割り当て対象の第２のブロックの位置及び数に関わらず、当該第２のブロックの位置及び当該第２のブロックに割り当てられた動きベクトルについての情報として、前記動きベクトル割当情報を復号する、
ことを特徴とする請求項２４記載の復号方法。
【請求項２６】
前記割当情報復号工程では、
１つ又は複数の第２のブロックをグループ化することにより予め定めた割当パターンの識別情報として、前記動きベクトル割当情報を復号する、
ことを特徴とする請求項２４記載の復号方法。
【請求項２７】
前記割当情報復号工程では、
前記動きベクトル割当情報を、第１のブロック単位に予め定められた第２のブロックへの動きベクトル割当パターンを識別する情報として復号するものとし、該割当パターン識別情報から割当パターンを特定するに際して、該割当パターンが属するパターングループを識別する情報を復号し、該パターングループ識別情報によって特定されたパターングループの定義に従って前記割当パターン識別情報から第２のブロックへの動きベクトル割当を決定する、
ことを特徴とする請求項２６記載の復号方法。
【請求項２８】
前記割当情報復号工程では、
復号対象となる第１のブロックについての動きベクトル割当パターンの形状に応じて定めた動きベクトルの予測値、による予測差分値を符号化することで得られた動きベクトル情報を復号する、
ことを特徴とする請求項２６記載の復号方法。
【請求項２９】
前記割当情報復号工程では、
復号対象となる第１のブロックについての動きベクトル割当パターンの形状に応じて定めた動きベクトルの予測候補位置のうちのいずれかを、近傍に位置する第１のブロックについての割当パターンの形状に応じて予測値とし、当該予測値の予測差分値を符号化することで得られた動きベクトル情報を復号する、
ことを特徴とする請求項２８記載の復号方法。
【請求項３０】
第１のブロックの単位で復号される動きベクトルは最大２本とされ、
前記動きベクトル割当情報は、
第１のブロック単位に定まる該第１のブロックに含まれる第２のブロックへの動きベクトルの割当状態を表す予め定められた複数の割当パターンを識別する情報として復号される、
ことを特徴とする請求項２６〜２９の何れか１項に記載の復号方法。
【請求項３１】
前記割当パターンは、
前記第１のブロックを水平方向又は垂直方向に不均一に分割するパターン、及び前記第１のブロックを斜め方向に分割するパターンを含むことを特徴とする請求項３０記載の復号方法。
【請求項３２】
前記割当情報復号工程では、
各割当パターンの形状に基づいて各割当パターン毎に割り当てられた可変長の符号を、各割当パターンの識別情報として復号することを特徴とする請求項３０記載の復号方法。
【請求項３３】
前記割当情報復号工程では、
復号対象となる第１のブロック近傍に位置する第１のブロックについての割当パターンの状況に基づいて各割当パターン毎に割り当てられた可変長の符号を、前記復号対象となる第１のブロックについての各割当パターンの識別情報として復号することを特徴とする請求項３０記載の復号方法。
【請求項３４】
前記割当情報復号工程では、
映像内容に基づいて各割当パターン毎に割り当てられた可変長の符号を、各割当パターンの識別情報として復号することを特徴とする請求項３０記載の復号方法。
【請求項３５】
前記第２のブロックのサイズと同一サイズのブロック単位での符号化処理により得られた動き補償予測の予測残差信号を復号する残差信号復号工程をさらに備えたことを特徴とする請求項２５又は２６に記載の復号方法。
【請求項３６】
前記割当情報復号工程では、
復号対象となる第１のブロックについての動きベクトル割当パターンの形状に基づき、１つ又は複数の第２のブロックから構成される動きベクトル割当領域内に復号すべき予測残差信号があるか否かを識別する情報を復号する、
ことを特徴とする請求項２５又は２６に記載の復号方法。
【請求項３７】
前記割当情報復号工程では、
前記動きベクトルの割当状況に関する情報として出力される、動きベクトル割当の変化点を表す情報を復号する、
ことを特徴とする請求項２５に記載の復号方法。
【請求項３８】
前記動きベクトルは、
第１のブロック単位でインター予測モード又はイントラ予測モードが設定された場合に加え、第２のブロックの１つ又は複数からなる単位でインター予測モード又はイントラ予測モードが設定された場合も含めた動き補償予測により得られた動きベクトルである、
ことを特徴とする請求項２５又は２６に記載の復号方法。
【請求項３９】
動き補償予測を用いて圧縮動画像データの伸長・復号を行う復号方法であって、
動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの１つ又は複数からなる単位で割り当てられた、動き補償予測に用いる参照フレームの選択状況に関する情報を復号する参照フレーム情報復号工程と、
当該参照フレーム情報に基づいて、動き補償のために保持された複数の参照フレームの中から一の参照フレームを選択して動き補償を行い予測画像を生成する補償工程と、
を備えた復号方法。
【請求項４０】
前記参照フレーム情報復号工程では、
前記第１のブロックの単位で含まれる前記１つ又は複数の第２のブロックに対する参照フレームの選択状況の組み合わせ情報から、前記１つ又は複数の第２のブロックに対する参照フレーム情報を復号する、
ことを特徴とする請求項３９記載の復号方法。
【請求項４１】
前記参照フレーム情報復号工程では、
近傍に位置する前記第１もしくは１つ又は複数の前記第２のブロックにおける参照フレームの選択状況から、１つ又は複数の第２のブロックに対する参照フレームの予測値をそれぞれ求め、
参照フレームの選択状況に関する情報として出力される参照フレームの差分情報と前記求めた予測値とに基づいて復号を行う、
ことを特徴とする請求項３９記載の復号方法。
【請求項４２】
動き補償予測を用いて圧縮動画像データの伸長・復号を行う復号方法であって、
動画像のフレームを分割した第１のブロックの各々についてさらに分割した１つ又は複数の第２のブロックからなる単位で割り当てられた、双方向インター予測に用いる予測方向の選択状況に関する情報を復号する予測情報復号工程と、
当該予測情報に基づいて、双方向フレーム間動き補償に用いる予測方向を順方向と逆方向の双方について保持している参照フレームの中から選択して動き補償を行い予測画像を生成する動き補償工程と、
を備えた復号方法。
【請求項４３】
動き補償予測を用いて圧縮動画像データの伸長・復号を行う復号方法であって、
動画像のフレームを分割した第１のブロックの各々についてさらに分割した１つ又は複数の第２のブロックからなる単位で割り当てられたインター予測モードもしくはイントラ予測モードの選択状況に関する情報を復号する予測モード情報復号工程と、
当該予測情報に基づいて、インター予測モードもしくはイントラ予測モードを選択してインター予測もしくはイントラ予測を行い予測画像を生成する予測画像生成工程と、
を備えた復号方法。
【請求項４４】
前記予測情報復号工程又は予測モード情報復号工程では、
前記第１のブロックの単位で含まれる前記第１のブロックに対する動きベクトルの割り当て状況に関する情報と前記選択状況に関する情報とを組み合わせた情報から、前記１つ又は複数の第２のブロックに対する前記選択状況に関する情報を復号する、
ことを特徴とする請求項４２又は４３に記載の復号方法。
【請求項４５】
前記予測情報復号工程又は予測モード情報復号工程では、
前記１つ又は複数の第２のブロックからなる単位で含まれる前記１つ又は複数の第２のブロックからなる単位に対する複数参照フレームからの参照フレームの選択状況に関する情報と前記選択状況に関する情報とを組み合わせた情報から、前記１つ又は複数の第２のブロックからなる単位に対する前記選択状況に関する情報を復号する、
ことを特徴とする請求項４２又は４３に記載の復号方法。
【請求項４６】
動き補償予測を用いて動画像の圧縮符号化を行う符号化装置であって、
動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの単位で、１つ又は複数の動きベクトルを割り当てて動き補償予測を行う動き補償予測手段と、
前記第２のブロックに対する動きベクトルの割当状況に関する情報をビットストリームに多重して出力する割当情報符号化手段と、
を備えたことを特徴とする符号化装置。
【請求項４７】
前記動き補償予測手段は、
第１のブロック内での第２のブロックの位置及び数に関わらず第２のブロックの単位で動きベクトルを割り当てて動き補償予測を行い、
前記割当情報符号化手段は、
第２のブロックの位置及び当該第２のブロックに割り当てられた動きベクトルについての情報を、動きベクトルの割当状況に関する情報として用いる、
ことを特徴とする請求項４６記載の符号化装置。
【請求項４８】
前記動き補償予測手段は、
１つ又は複数の第２のブロックをグループ化することにより予め定めた割当パターンに従って第２のブロックの単位で動きベクトルを割り当てて動き補償予測を行い、
前記割当情報符号化手段は、
前記割当パターンの識別情報を、動きベクトルの割当状況に関する情報として用いる、
ことを特徴とする請求項４６記載の符号化装置。
【請求項４９】
動き補償予測を用いて圧縮動画像データの伸長・復号を行う復号装置であって、
動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの単位で割り当てられた動きベクトルが、前記第１のブロックの単位で復号される１つ又は複数の動きベクトルのうちいずれに該当するか、を示す動きベクトル割当情報を復号する割当情報復号手段と、
該動きベクトル割当情報に基づいて前記第２のブロックの単位で特定された動きベクトルを用いて動き補償を行い予測画像を生成する動き補償手段と、
を備えたことを特徴とする復号装置。
【請求項５０】
前記割当情報復号手段は、
割り当て対象の第２のブロックの位置及び当該第２のブロックに割り当てられた動きベクトルについての情報として、前記動きベクトル割当情報を復号する、
ことを特徴とする請求項４９記載の復号装置。
【請求項５１】
前記割当情報復号手段は、
１つ又は複数の第２のブロックをグループ化することにより予め定めた割当パターンの識別情報として、前記動きベクトル割当情報を復号する、
ことを特徴とする請求項４９記載の復号装置。
【請求項５２】
動き補償予測を用いて動画像の圧縮符号化を行う符号化装置と、動き補償予測を用いて圧縮動画像データの伸長・復号を行う復号装置とを含んで構成された画像処理システムであって、
前記符号化装置は、
動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの単位で、１つ又は複数の動きベクトルを割り当てて動き補償予測を行う動き補償予測手段と、
前記第２のブロックに対する動きベクトルの割当状況に関する情報をビットストリームに多重して出力する割当情報符号化手段と、
を備え、
前記復号装置は、
動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの単位で割り当てられた動きベクトルが、前記第１のブロックの単位で復号される１つ又は複数の動きベクトルのうちいずれに該当するか、を示す動きベクトル割当情報を復号する割当情報復号手段と、
該動きベクトル割当情報に基づいて前記第２のブロックの単位で特定された動きベクトルを用いて動き補償を行い予測画像を生成する動き補償手段と、
を備えたことを特徴とする画像処理システム。
【請求項５３】
前記符号化装置における動き補償予測手段は、第１のブロック内での第２のブロックの位置及び数に関わらず第２のブロックの単位で動きベクトルを割り当てて動き補償予測を行い、
前記割当情報符号化手段は、第２のブロックの位置及び当該第２のブロックに割り当てられた動きベクトルについての情報を、動きベクトルの割当状況に関する情報として用いることを特徴とし、
前記復号装置における割当情報復号手段は、割り当て対象の第２のブロックの位置及び当該第２のブロックに割り当てられた動きベクトルについての情報として、前記動きベクトル割当情報を復号することを特徴とする請求項５２記載の画像処理システム。
【請求項５４】
前記符号化装置における動き補償予測手段は、１つ又は複数の第２のブロックをグループ化することにより予め定めた割当パターンに従って第２のブロックの単位で動きベクトルを割り当てて動き補償予測を行い、
前記割当情報符号化手段は、前記割当パターンの識別情報を、動きベクトルの割当状況に関する情報として用いることを特徴とし、
前記復号装置における割当情報復号手段は、１つ又は複数の第２のブロックをグループ化することにより予め定めた割当パターンの識別情報として、前記動きベクトル割当情報を復号することを特徴とする請求項５２記載の画像処理システム。
【請求項５５】
動き補償予測を用いて動画像の圧縮符号化を行う符号化装置に内蔵されたコンピュータに、請求項１〜２３の何れか１つに記載した符号化方法の各工程を実行させるための符号化プログラム。
【請求項５６】
動き補償予測を用いて圧縮動画像データの伸長・復号を行う復号装置に内蔵されたコンピュータに、請求項２４〜４５の何れか１つに記載した復号方法の各工程を実行させるための復号プログラム。
【発明の詳細な説明】
技術分野
本発明は、動き補償予測を用いて動画像の圧縮符号化を行う符号化方法、符号化装置及び符号化プログラム、動き補償予測を用いて圧縮動画像データの伸長・復号を行う復号方法、復号装置及び復号プログラム、上記符号化装置と復号装置とを含んで構成された画像処理システムに関する。
背景技術
従来の映像符号化方式の事例として、国際標準化作業文書ＩＴＵ−Ｔ  ＳＧ１６  ＶＣＥＧ−Ｍ８１、“Ｈ．２６Ｌ  Ｔｅｓｔ  Ｍｏｄｅｌ  Ｌｏｎｇ  Ｔｅｒｍ  Ｎｕｍｂｅｒ７（ＴＭＬ−７）”ｄｒａｆｔ０（ｈｔｔｐ：／／ｓｔａｎｄａｒｄ．ｐｉｃｔｅｌ．ｃｏｍ／ｆｔｐ／ｖｉｄｅｏ−ｓｉｔｅ／０１０４＿Ａｕｓ／ＶＣＥＧ−Ｍ８１ｄ０．ｄｏｃ）に記載の、Ｈ．２６Ｌ符号化方式に基づく画像符号化・復号方式が知られている。
このＨ．２６Ｌ映像符号化では、インター予測モードとして精緻な動き補償が可能となるよう、図４Ａ〜図４Ｇに示す多くの動き分割パターンを用意している。この工夫によって、マクロブロックの内部で細かい動きが生じているようなケースで効率よく動きを捉えることができ、予測効率を向上させることができる、という効果を奏する。
しかしながら、インター予測モードとして多くの動き分割パターンを用意する方式では、動き分割の数が多くなるほど、より多くの動きベクトル情報を伝送する必要が生じ、オーバーヘッドが大きくなる、という問題がある。図５に、図４Ａ〜図４Ｇの各モードに対して必要な伝送情報量を示す。この図５に示す「モードビット」は予測モードを表現するための可変長符号の符号長を、「最小動きベクトルビット」はマクロブロック単位で伝送すべき動きベクトルに関する情報量としてとりうる最小の情報量を、「最小必要ビット数」はモードビットと最小動きベクトルビットとを総和した値を示している。動きベクトルビットは水平・垂直方向の２つの値の総ビット数であるが、最小になるケースは水平・垂直ともに動きベクトル予測値と同一ベクトルになる場合となる（動きベクトルは所定の規則で近傍の動きベクトルを予測値としてその差分値が符号化される）。しかし、通常このようなケースになることはまれであり、このビット数よりも多くの情報を伝送する必要が生じる。この図５から、モード４あるいは５以上ではオーバーヘッドが非常に多くなることがわかる。
一方で、一般の映像では、マクロブロック領域を４分割以上に細分化して動き検出を精緻化せずとも、大局的に２分割程度の動きの捉え方で十分な動き補償が行える場合が存在すると考えられる。しかし、Ｈ．２６Ｌ符号化方式に用意される１６×８画素単位、８×１６画素単位という固定的な動き割当では、マクロブロック内部の動き分割を正確に表現できないという問題があり、そのことが図４Ａ〜図４Ｇの７つのインター予測モードを用意する理由になっていた。
本発明は、上記課題を解決するために成されたものであり、映像中の動き情報を少ないオーバーヘッドで符号化又は復号することができる符号化方法、復号方法、符号化装置、復号装置、画像処理システム、符号化プログラム及び復号プログラムを提供することを目的とする。
発明の開示
上記目的を達成するために、本発明に係る符号化方法は、動き補償予測を用いて動画像の圧縮符号化を行う符号化方法であって、動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの単位で、１つ又は複数の動きベクトルを割り当てて動き補償予測を行う動き補償予測工程と、前記第２のブロックに対する動きベクトルの割当状況に関する情報をビットストリームに多重して出力する割当情報符号化工程とを備えたことを特徴とする。
ここでの第１のブロックとしては、例えば１６×１６画素のブロックを、第２のブロックとしては、例えば４×４画素のブロックを、採用することができる。この符号化方法では、動き補償予測工程にて、動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの単位で、１つ又は複数の動きベクトルを割り当てて動き補償予測を行い、割当情報符号化工程にて、第２のブロックに対する動きベクトルの割当状況に関する情報をビットストリームに多重して出力するため、第１のブロック内の様々な動きを少ないオーバーヘッドで的確に捉えることが可能となり、効率よく映像伝送・記録・再生を行うことが可能となる。
このとき、動き補償予測工程では、第２のブロックの位置及び数に関わらず動きベクトルを割り当ててもよい。即ち、動き補償予測工程では、第１のブロック内での第２のブロックの位置及び数に関わらず第２のブロックの単位で動きベクトルを割り当てて動き補償予測を行い、割当情報符号化工程では、第２のブロックの位置及び当該第２のブロックに割り当てられた動きベクトルについての情報を、動きベクトルの割当状況に関する情報として用いることができる。
また、動き補償予測工程では、予め定めた割当パターンに従って第２のブロックの単位で動きベクトルを割り当ててもよい。即ち、動き補償予測工程では、１つ又は複数の第２のブロックをグループ化することにより予め定めた割当パターンに従って第２のブロックの単位で動きベクトルを割り当てて動き補償予測を行い、割当情報符号化工程では、前記割当パターンの識別情報を、動きベクトルの割当状況に関する情報として用いることができる。
このように予め定めた割当パターンに従う態様として、動き補償予測工程では、第１のブロック単位に定まる第２のブロックへの動きベクトル割当パターンを予めグループ化した複数のパターングループのうちのいずれかを選択し、該選択されたパターングループに含まれる割当パターンに基づいて第２のブロックに対して動きベクトルを割り当てて動き補償予測を行い、割当情報符号化工程では、第１のブロック単位に符号化される動きベクトル割当状況に関する情報を、前記選択されたパターングループの中から特定される動きベクトル割当パターンの識別情報として出力する態様を採用することができる。
このように動きベクトル割当状況に関する情報を、データ量の少ない当該動きベクトル割当パターンの識別情報として出力するので、第１のブロック内の様々な動きを少ないオーバーヘッドで的確に捉えることが可能となり、効率よく映像伝送・記録・再生を行うことが可能となる。
また、割当情報符号化工程では、符号化対象となる第１のブロックについての動きベクトル割当パターンの形状に応じて動きベクトルの予測値を定め、当該予測値による予測差分値を動きベクトル情報として符号化する態様を採用することができる。
このように、動きベクトル割当パターンの形状に応じて動きベクトルの予測値を定め、データ量の少ない当該予測値による予測差分値を、動きベクトル情報として符号化するので、第１のブロック内の様々な動きを少ないオーバーヘッドで的確に捉えることが可能となり、効率よく映像伝送・記録・再生を行うことが可能となる。
なお、ここで割当情報符号化工程では、符号化対象となる第１のブロックについての動きベクトル割当パターンの形状に応じて動きベクトルの予測候補位置を定め、前記符号化対象となる第１のブロック近傍に位置する第１のブロックについての割当パターンの形状に応じて予測候補位置のうちのいずれかを予測値とし、当該予測値の予測差分値を動きベクトル情報として符号化することが望ましい。
また、予め定めた割当パターンに従う態様として、動き補償予測工程では、符号化対象となる第１のブロックについての動きベクトル割当パターンの形状に応じて動きベクトルの予測値を定め、当該予測値を中心とする動きベクトル探索窓を設けて動きベクトルを検出し、割当情報符号化工程では、前記検出された動きベクトルと前記動きベクトル予測値との予測差分値を動きベクトル情報として符号化する態様を採用することができる。
このように、データ量の少ない、検出された動きベクトルと動きベクトル予測値との予測差分値、が動きベクトル情報として符号化されるので、第１のブロック内の様々な動きを少ないオーバーヘッドで的確に捉えることが可能となり、効率よく映像伝送・記録・再生を行うことが可能となる。
上記の予め定めた割当パターンに従う各種態様において、動き補償予測工程では、第２のブロック単位での割り当て可能な動きベクトル数を最大２本とするとともに、第１のブロック単位に定まる該第１のブロックに含まれる第２のブロックへの割当状態を表す予め定められた複数の割当パターンのいずれかに基づいて、第２のブロックに対し動きベクトルを割り当てて動き補償予測を行い、割当情報符号化工程では、第１のブロック単位に定まる動きベクトルの割当状況に関する情報を、前記割当パターンの識別情報として出力する態様を採用することが望ましい。
このとき割当パターンは、前記第１のブロックを水平方向又は垂直方向に不均一に分割するパターン、及び前記第１のブロックを斜め方向に分割するパターンを含むよう構成とすることが望ましい。
また、割当情報符号化工程では、各割当パターンの形状に基づいて、可変長の符号を各割当パターンに割り当てて前記割当パターンの識別情報を符号化することが望ましい。
また、割当情報符号化工程では、符号化対象となる第１のブロック近傍に位置する第１のブロックについての割当パターンの状況に基づいて、前記符号化対象となる第１のブロックについて、可変長の符号を各割当パターンに割り当てて前記割当パターンの識別情報を符号化することが望ましい。
また、割当情報符号化工程では、映像内容に基づいて、可変長の符号を各割当パターンに割り当てて前記割当パターンの識別情報を符号化することが望ましい。
上記の予め定めた割当パターンに従う各種態様、並びに第２のブロックの位置及び数に関わらず割り当てる態様においては、動き補償予測工程にて得られた予測残差信号を、前記第２のブロックのサイズと同一サイズのブロック単位で符号化する残差信号符号化工程をさらに備えた構成とすることができる。
即ち、動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの単位で、１つ又は複数の動きベクトルを割り当てて動き補償予測を行う動き補償予測工程と、前記第２のブロックに対する動きベクトルの割当状況に関する情報をビットストリームに多重して出力する割当情報符号化工程と、動き補償予測工程にて得られた予測残差信号を、前記第２のブロックのサイズと同一サイズのブロック単位で符号化する残差信号符号化工程とを備えた態様を採用することができる。この場合、動き補償予測工程にて得られた予測残差信号を、第２のブロックのサイズと同一サイズのブロック単位で符号化するので、符号化されるデータ量を少なく抑えることができ、第１のブロック内の様々な動きを少ないオーバーヘッドで的確に捉えることが可能となり、効率よく映像伝送・記録・再生を行うことが可能となる。
また、予め定めた割当パターンに従う各種態様、並びに第２のブロックの位置及び数に関わらず割り当てる態様において、割当情報符号化工程では、前記動きベクトルの割当状況に基づき、１つ又は複数の第２のブロックから構成される動きベクトル割当領域において符号化すべき予測残差信号があるか否かを識別する情報を符号化する態様を採用することができる。この場合、動きベクトルの割当状況に基づき、１つ又は複数の第２のブロックから構成される動きベクトル割当領域において符号化すべき予測残差信号があるか否かを識別する情報を符号化するので、符号化されるデータ量を少なく抑えることができ、第１のブロック内の様々な動きを少ないオーバーヘッドで的確に捉えることが可能となり、効率よく映像伝送・記録・再生を行うことが可能となる。
また、第２のブロックの位置及び数に関わらず割り当てる態様において、割当情報符号化工程では、符号化対象となる第１のブロック及び隣接の第１のブロックにおける動きベクトルの割当状況に基づいて、当該割当状況における動きベクトル割当の変化点を表す情報を、前記動きベクトルの割当状況に関する情報としてビットストリームに多重して出力する態様を採用することができる。
また、予め定めた割当パターンに従う各種態様、並びに第２のブロックの位置及び数に関わらず割り当てる態様において、動き補償予測工程では、第１のブロック単位でインター予測モード又はイントラ予測モードが設定された場合に加え、第２のブロックの１つ又は複数からなる単位でインター予測モード又はイントラ予測モードが設定された場合も含めて、動き補償予測を行う態様を採用することができる。
上記目的を達成するために、本発明に係る符号化方法は、動き補償予測を用いて動画像の圧縮符号化を行う符号化方法であって、動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの１つ又は複数からなる単位で、動き補償予測のために保持された複数の参照フレームの中から一の参照フレームを選択して動き補償予測を行う補償予測工程と、前記１つ又は複数の第２のブロックに対する参照フレームの選択状況に関する情報をビットストリームに多重して出力する参照フレーム情報符号化工程とを備えたことを特徴とする。
この符号化方法によれば、１つ又は複数の第２のブロックに対する参照フレームの選択状況に関する情報はデータ量が少ないので、符号化されるデータ量を少なく抑えることができ、第１のブロック内の様々な動きを少ないオーバーヘッドで的確に捉えることが可能となり、効率よく映像伝送・記録・再生を行うことが可能となる。
なお、参照フレーム情報符号化工程では、前記第１のブロックの単位で含まれる前記１つ又は複数の第２のブロックに対する参照フレームの選択状況の組み合わせ情報として符号化する態様を採用することができる。
また、参照フレーム情報符号化工程では、近傍に位置する前記第１もしくは１つ又は複数の前記第２のブロックにおける参照フレームの選択状況から、１つ又は複数の第２のブロックに対する参照フレームの予測値をそれぞれ求め、該予測値と選択された参照フレームとの差分情報を、参照フレームの選択状況に関する情報として用いる態様を採用することができる。
上記目的を達成するために、本発明に係る符号化方法は、動き補償予測を用いて動画像の圧縮符号化を行う符号化方法であって、動画像のフレームを分割した第１のブロックの各々についてさらに分割した１つ又は複数の第２のブロックからなる単位で、双方向インター予測に用いる予測方向を選択して動き補償予測を行う動き補償予測工程と、前記１つ又は複数の第２のブロックに対する予測方向の選択状況に関する情報をビットストリームに多重して出力する予測情報符号化工程とを備えたことを特徴とする。
この符号化方法によれば、第１のブロック内の様々な動きを、少ないオーバーヘッドで的確に捉えることが可能になるとともに、それぞれ別の動きを捉えた１つ又は複数の第２のブロック毎に適切な双方向インター予測を適用することができ、効率よく映像伝送・記録・再生を行うことが可能となる。
上記目的を達成するために、本発明に係る符号化方法は、動き補償予測を用いて動画像の圧縮符号化を行う符号化方法であって、動画像のフレームを分割した第１のブロックの各々についてさらに分割した１つ又は複数の第２のブロックからなる単位で、インター予測モードもしくはイントラ予測モードを選択してインター予測もしくはイントラ予測を行う予測工程と、前記１つ又は複数の第２のブロックに対するインター予測モードもしくはイントラ予測モードの選択状況に関する情報をビットストリームに多重して出力する予測モード情報符号化工程とを備えたことを特徴とする。
この符号化方法によれば、第１のブロック内の様々な動きを、少ないオーバーヘッドで的確に捉えることが可能になるとともに、それぞれ別の動きを捉えた１つ又は複数の第２のブロック毎に適切なインター予測あるいはイントラ予測を適用することができ、効率よく映像伝送・記録・再生を行うことが可能となる。
なお、上記の予測情報符号化工程又は予測モード情報符号化工程では、前記選択状況に関する情報を、前記第１のブロックの単位で含まれる前記第１のブロックに対する動きベクトルの割当状況に関する情報とともに組み合わせた情報として符号化してビットストリームへ多重し出力する態様を採用することができる。
また、上記の予測情報符号化工程又は予測モード情報符号化工程では、前記選択状況に関する情報を、前記１つ又は複数の第２のブロック単位で含まれる前記１つ又は複数の第２のブロックに対する複数参照フレームからの参照フレームの選択状況に関する情報とともに組み合わせた情報として符号化してビットストリームへ多重し出力する態様を採用することができる。
上記目的を達成するために、本発明に係る復号方法は、動き補償予測を用いて圧縮動画像データの伸長・復号を行う復号方法であって、動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの単位で割り当てられた動きベクトルが、前記第１のブロックの単位で復号される１つ又は複数の動きベクトルのうちいずれに該当するか、を示す動きベクトル割当情報を復号する割当情報復号工程と、該動きベクトル割当情報に基づいて前記第２のブロックの単位で特定された動きベクトルを用いて動き補償を行い予測画像を生成する動き補償工程とを備えたことを特徴とする。
この復号方法では、割当情報復号工程にて、第２のブロックの単位で割り当てられた動きベクトルが、第１のブロックの単位で復号される１つ又は複数の動きベクトルのうちいずれに該当するか、を示す動きベクトル割当情報を復号し、動き補償工程にて、該動きベクトル割当情報に基づいて第２のブロックの単位で特定された動きベクトルを用いて動き補償を行い予測画像を生成する。よって、第２のブロックの単位で割り当てられた動きベクトルに関する動きベクトル割当情報が復号され、該動きベクトル割当情報に基づいて第２のブロックの単位で特定された動きベクトルを用いて動き補償が行われ予測画像が生成される。これにより、少ないオーバーヘッドで的確に復号することが可能となり、効率よく映像伝送・記録・再生を行うことが可能となる。
このとき、割当情報復号工程では、割り当て対象の第２のブロックの位置及び数に関わらず、当該第２のブロックの位置及び当該第２のブロックに割り当てられた動きベクトルについての情報として、前記動きベクトル割当情報を復号する態様を採用することができる。
また、割当情報復号工程では、１つ又は複数の第２のブロックをグループ化することにより予め定めた割当パターンの識別情報として、前記動きベクトル割当情報を復号する態様を採用することができる。
このように予め定めた割当パターンの識別情報として動きベクトル割当情報を復号する態様として、割当情報復号工程では、前記動きベクトル割当情報を、第１のブロック単位に予め定められた第２のブロックへの動きベクトル割当パターンを識別する情報として復号するものとし、該割当パターン識別情報から割当パターンを特定するに際して、該割当パターンが属するパターングループを識別する情報を復号し、該パターングループ識別情報によって特定されたパターングループの定義に従って前記割当パターン識別情報から第２のブロックへの動きベクトル割当を決定する態様を採用することができる。この場合、動きベクトル割当情報を、予め定められた第２のブロックへの動きベクトル割当パターンを識別する情報として、少ないオーバーヘッドで的確に復号することが可能となり、効率よく映像伝送・記録・再生を行うことが可能となる。
また、予め定めた割当パターンの識別情報として動きベクトル割当情報を復号する態様として、割当情報復号工程では、復号対象となる第１のブロックについての動きベクトル割当パターンの形状に応じて定めた動きベクトルの予測値、による予測差分値を符号化することで得られた動きベクトル情報を復号する態様を採用することができる。この場合、復号対象となる第１のブロックについての動きベクトル割当パターンの形状に応じて定めた動きベクトルの予測値、による予測差分値を符号化することで得られた動きベクトル情報を復号するので、データ量の少ない予測差分値を符号化することで得られた動きベクトル情報の復号が可能となり、効率よく映像伝送・記録・再生を行うことが可能となる。
このとき割当情報復号工程では、復号対象となる第１のブロックについての動きベクトル割当パターンの形状に応じて定めた動きベクトルの予測候補位置のうちのいずれかを、近傍に位置する第１のブロックについての割当パターンの形状に応じて予測値とし、当該予測値の予測差分値を符号化することで得られた動きベクトル情報を復号することが望ましい。
上記の予め定めた割当パターンの識別情報として復号する態様においては、第１のブロックの単位で復号される動きベクトルは最大２本とされ、動きベクトル割当情報は、第１のブロック単位に定まる該第１のブロックに含まれる第２のブロックへの動きベクトルの割当状態を表す予め定められた複数の割当パターンを識別する情報として復号されるよう構成とすることが望ましい。
このとき割当パターンは、前記第１のブロックを水平方向又は垂直方向に不均一に分割するパターン、及び前記第１のブロックを斜め方向に分割するパターンを含むよう構成することが望ましい。
また、割当情報復号工程では、各割当パターンの形状に基づいて各割当パターン毎に割り当てられた可変長の符号を、各割当パターンの識別情報として復号することが望ましい。
また、割当情報復号工程では、復号対象となる第１のブロック近傍に位置する第１のブロックについての割当パターンの状況に基づいて各割当パターン毎に割り当てられた可変長の符号を、前記復号対象となる第１のブロックについての各割当パターンの識別情報として復号することが望ましい。
また、割当情報復号工程では、映像内容に基づいて各割当パターン毎に割り当てられた可変長の符号を、各割当パターンの識別情報として復号することが望ましい。
上記の予め定めた割当パターンの識別情報として復号する態様、並びに、第２のブロックの位置及び数に関わらず動きベクトル割当情報を復号する態様においては、第２のブロックのサイズと同一サイズのブロック単位での符号化処理により得られた動き補償予測の予測残差信号を復号する残差信号復号工程をさらに備えた構成とすることができる。
即ち、動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの単位で割り当てられた動きベクトルが、前記第１のブロックの単位で復号される１つ又は複数の動きベクトルのうちいずれに該当するか、を示す動きベクトル割当情報を復号する割当情報復号工程と、該動きベクトル割当情報に基づいて前記第２のブロックの単位で特定された動きベクトルを用いて動き補償を行い予測画像を生成する動き補償工程と、第２のブロックのサイズと同一サイズのブロック単位での符号化処理により得られた動き補償予測の予測残差信号を復号する残差信号復号工程とを備えた構成とすることができる。この場合、第２のブロックのサイズと同一サイズのブロック単位での符号化処理により得られた動き補償予測の予測残差信号を復号するので、符号化すべきデータ量の少ない予測残差信号の復号が可能となり、効率よく映像伝送・記録・再生を行うことが可能となる。
また、上記の予め定めた割当パターンの識別情報として復号する態様、並びに、第２のブロックの位置及び数に関わらず動きベクトル割当情報を復号する態様においては、割当情報復号工程では、復号対象となる第１のブロックについての動きベクトル割当パターンの形状に基づき、１つ又は複数の第２のブロックから構成される動きベクトル割当領域内に復号すべき予測残差信号があるか否かを識別する情報を復号することが望ましい。この場合、符号化すべきデータ量の少ない予測残差信号の復号が可能となり、効率よく映像伝送・記録・再生を行うことが可能となる。
また、上記の第２のブロックの位置及び数に関わらず動きベクトル割当情報を復号する態様においては、割当情報復号工程では、動きベクトルの割当状況に関する情報として出力される、動きベクトル割当の変化点を表す情報を復号することが望ましい。
また、上記の予め定めた割当パターンの識別情報として復号する態様、並びに、第２のブロックの位置及び数に関わらず動きベクトル割当情報を復号する態様においては、動きベクトルは、第１のブロック単位でインター予測モード又はイントラ予測モードが設定された場合に加え、第２のブロックの１つ又は複数からなる単位でインター予測モード又はイントラ予測モードが設定された場合も含めた動き補償予測により得られた動きベクトルであることが望ましい。
上記目的を達成するために、本発明に係る復号方法は、動き補償予測を用いて圧縮動画像データの伸長・復号を行う復号方法であって、動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの１つ又は複数からなる単位で割り当てられた、動き補償予測に用いる参照フレームの選択状況に関する情報を復号する参照フレーム情報復号工程と、当該参照フレーム情報に基づいて、動き補償のために保持された複数の参照フレームの中から一の参照フレームを選択して動き補償を行い予測画像を生成する補償工程とを備えたことを特徴とする。
この態様によれば、上記１つ又は複数の第２のブロックに対する参照フレームの選択状況に関する情報はデータ量が少ないので、データ量の少ない当該参照フレームの選択状況に関する情報の復号が可能となり、効率よく映像伝送・記録・再生を行うことが可能となる。
このとき参照フレーム情報復号工程では、前記第１のブロックの単位で含まれる前記１つ又は複数の第２のブロックに対する参照フレームの選択状況の組み合わせ情報から、前記１つ又は複数の第２のブロックに対する参照フレーム情報を復号することが望ましい。
また、参照フレーム情報復号工程では、近傍に位置する前記第１もしくは１つ又は複数の前記第２のブロックにおける参照フレームの選択状況から、１つ又は複数の第２のブロックに対する参照フレームの予測値をそれぞれ求め、参照フレームの選択状況に関する情報として出力される参照フレームの差分情報と前記求めた予測値とに基づいて復号を行うことが望ましい。
上記目的を達成するために、本発明に係る復号方法は、動き補償予測を用いて圧縮動画像データの伸長・復号を行う復号方法であって、動画像のフレームを分割した第１のブロックの各々についてさらに分割した１つ又は複数の第２のブロックからなる単位で割り当てられた、双方向インター予測に用いる予測方向の選択状況に関する情報を復号する予測情報復号工程と、当該予測情報に基づいて、双方向フレーム間動き補償に用いる予測方向を順方向と逆方向の双方について保持している参照フレームの中から選択して動き補償を行い予測画像を生成する動き補償工程とを備えたことを特徴とする。
この態様によれば、第１のブロック内の様々な動きを、少ないオーバーヘッドで的確に捉えることが可能になるとともに、それぞれ別の動きを捉えた１つ又は複数の第２のブロック毎に適切な双方向インター予測を適用することができ、効率よく映像伝送・記録・再生を行うことが可能となる。
上記目的を達成するために、本発明に係る復号方法は、動き補償予測を用いて圧縮動画像データの伸長・復号を行う復号方法であって、動画像のフレームを分割した第１のブロックの各々についてさらに分割した１つ又は複数の第２のブロックからなる単位で割り当てられたインター予測モードもしくはイントラ予測モードの選択状況に関する情報を復号する予測モード情報復号工程と、当該予測情報に基づいて、インター予測モードもしくはイントラ予測モードを選択してインター予測もしくはイントラ予測を行い予測画像を生成する予測画像生成工程とを備えたことを特徴とする。
この態様によれば、第１のブロック内の様々な動きを、少ないオーバーヘッドで的確に捉えることが可能になるとともに、それぞれ別の動きを捉えた１つ又は複数の第２のブロック毎に適切なインター予測あるいはイントラ予測を適用することができ、効率よく映像伝送・記録・再生を行うことが可能となる。
なお、予測情報復号工程又は予測モード情報復号工程では、前記第１のブロックの単位で含まれる前記第１のブロックに対する動きベクトルの割り当て状況に関する情報と前記選択状況に関する情報とを組み合わせた情報から、前記１つ又は複数の第２のブロックに対する前記選択状況に関する情報を復号する態様を採用することができる。
また、予測情報復号工程又は予測モード情報復号工程では、前記１つ又は複数の第２のブロックの単位で含まれる前記１つ又は複数の第２のブロックに対する複数参照フレームからの参照フレームの選択状況に関する情報と前記選択状況に関する情報とを組み合わせた情報から、前記１つ又は複数の第２のブロックに対する前記選択状況に関する情報を復号する態様を採用することができる。
ところで、本発明は、符号化方法、復号方法としての発明以外に、符号化方法を使用する符号化装置、復号方法を使用する復号装置、これら符号化装置と復号装置とを含んで構成される画像処理システム、符号化装置にて実行される符号化プログラム、及び復号装置にて実行される復号プログラムの各々の発明としても捉えることができ、同様の作用・効果を奏する。即ち、以下のように記述することができる。
上記目的を達成するために、本発明に係る符号化装置は、動き補償予測を用いて動画像の圧縮符号化を行う符号化装置であって、動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの単位で、１つ又は複数の動きベクトルを割り当てて動き補償予測を行う動き補償予測手段と、前記第２のブロックに対する動きベクトルの割当状況に関する情報をビットストリームに多重して出力する割当情報符号化手段とを備えたことを特徴とする。
このとき動き補償予測手段は、第１のブロック内での第２のブロックの位置及び数に関わらず第２のブロックの単位で動きベクトルを割り当てて動き補償予測を行い、割当情報符号化手段は、第２のブロックの位置及び当該第２のブロックに割り当てられた動きベクトルについての情報を、動きベクトルの割当状況に関する情報として用いる態様を採用することができる。
また、動き補償予測手段は、１つ又は複数の第２のブロックをグループ化することにより予め定めた割当パターンに従って第２のブロックの単位で動きベクトルを割り当てて動き補償予測を行い、割当情報符号化手段は、前記割当パターンの識別情報を、動きベクトルの割当状況に関する情報として用いる態様を採用することができる。
上記目的を達成するために、本発明に係る復号装置は、動き補償予測を用いて圧縮動画像データの伸長・復号を行う復号装置であって、動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの単位で割り当てられた動きベクトルが、前記第１のブロックの単位で復号される１つ又は複数の動きベクトルのうちいずれに該当するか、を示す動きベクトル割当情報を復号する割当情報復号手段と、該動きベクトル割当情報に基づいて前記第２のブロックの単位で特定された動きベクトルを用いて動き補償を行い予測画像を生成する動き補償手段とを備えたことを特徴とする。
このとき割当情報復号手段は、割り当て対象の第２のブロックの位置及び当該第２のブロックに割り当てられた動きベクトルについての情報として、前記動きベクトル割当情報を復号する態様を採用することができる。
また、割当情報復号手段は、１つ又は複数の第２のブロックをグループ化することにより予め定めた割当パターンの識別情報として、前記動きベクトル割当情報を復号する態様を採用することができる。
上記目的を達成するために、本発明に係る画像処理システムは、動き補償予測を用いて動画像の圧縮符号化を行う符号化装置と、動き補償予測を用いて圧縮動画像データの伸長・復号を行う復号装置とを含んで構成された画像処理システムであって、符号化装置は、動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの単位で、１つ又は複数の動きベクトルを割り当てて動き補償予測を行う動き補償予測手段と、前記第２のブロックに対する動きベクトルの割当状況に関する情報をビットストリームに多重して出力する割当情報符号化手段とを備え、復号装置は、動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの単位で割り当てられた動きベクトルが、前記第１のブロックの単位で復号される１つ又は複数の動きベクトルのうちいずれに該当するか、を示す動きベクトル割当情報を復号する割当情報復号手段と、該動きベクトル割当情報に基づいて前記第２のブロックの単位で特定された動きベクトルを用いて動き補償を行い予測画像を生成する動き補償手段とを備えたことを特徴とする。
このとき、符号化装置における動き補償予測手段は、第１のブロック内での第２のブロックの位置及び数に関わらず第２のブロックの単位で動きベクトルを割り当てて動き補償予測を行い、割当情報符号化手段は、第２のブロックの位置及び当該第２のブロックに割り当てられた動きベクトルについての情報を、動きベクトルの割当状況に関する情報として用いることを特徴とし、復号装置における割当情報復号手段は、割り当て対象の第２のブロックの位置及び当該第２のブロックに割り当てられた動きベクトルについての情報として、動きベクトル割当情報を復号する態様を採用することができる。
また、符号化装置における動き補償予測手段は、１つ又は複数の第２のブロックをグループ化することにより予め定めた割当パターンに従って第２のブロックの単位で動きベクトルを割り当てて動き補償予測を行い、割当情報符号化手段は、前記割当パターンの識別情報を、動きベクトルの割当状況に関する情報として用いることを特徴とし、復号装置における割当情報復号手段は、１つ又は複数の第２のブロックをグループ化することにより予め定めた割当パターンの識別情報として、前記動きベクトル割当情報を復号する態様を採用することができる。
上記目的を達成するために、本発明に係る符号化プログラムは、動き補償予測を用いて動画像の圧縮符号化を行う符号化装置に内蔵されたコンピュータに、前述した符号化方法に係る発明の各々における各工程を実行させることを特徴とする。
上記目的を達成するために、本発明に係る復号プログラムは、動き補償予測を用いて圧縮動画像データの伸長・復号を行う復号装置に内蔵されたコンピュータに、前述した復号方法に係る発明の各々における各工程を実行させることを特徴とする。
本発明の上記目的及びその他の特徴や利点は、添付図面を参照して以下の詳細な説明を読むことで、当業者にとり明らかとなろう。
発明を実施するための最良の形態
以下、本発明に関する各種の実施形態を順に説明する。
まず、本発明に関する第１実施形態では、マクロブロック単位で符号化を行う映像符号化装置において、マクロブロックを４×４画素単位に分割したサブブロックごとに、最大２本の動きベクトルを割り当てて動き補償予測を行えるように構成した映像符号化装置および復号装置について述べる。
まず、本発明が適用されるＨ．２６Ｌ符号化方式に基づく画像符号化・復号装置の構成及び動作を説明する。
図１に符号化装置の構成、図２に復号装置の構成を示す。図１の符号化装置では、動き補償インター予測により時間方向に存在する冗長度を削減し、直交変換によりさらに空間方向に残る冗長度を削減することで映像信号の情報圧縮を行う。動き補償インター予測の説明図を図３Ａ、図３Ｂに、ブロックマッチング処理の概要を図４Ａ〜図４Ｇにそれぞれ示す。また、図４３には符号化装置の基本的な動作を示す流れ図を、図４４には復号装置の基本的な動作を示す流れ図を、それぞれ示す。
以下、これらの図を参照しながら、図１および図２の符号化・復号装置の動作を説明する。
図１における入力映像信号１はフレーム画像の時間系列であり、以後はフレーム画像単位の信号を表すものとする。また、符号化対象となるフレーム画像を、図３Ｂにおける現フレーム３０Ｂとする。現フレーム３０Ｂは、１６画素×１６ライン固定の正方矩形領域（マクロブロックと呼ぶ）に分割され、その単位で以下の符号化処理が行われる。
現フレーム３０Ｂの各マクロブロックはまず動き検出部２に送られ、ここで、予測モード３の決定とそれに対応した本数の動きベクトル４の検出が行われる。Ｈ．２６Ｌ符号化方式では、予測モード３として、同一空間上の符号化済み近傍画素を用いた空間予測を行うイントラ予測モードと、時間的に異なる符号化済みフレーム画像（図３Ａにおける前フレーム３０Ａ）を用いた動き補償予測を行うインター予測モードが複数用意され、これらを映像信号の局所的な性質に応じてマクロブロック単位で切り替え、効率的な情報圧縮を行うことができるよう構成されている。
即ち、図４３の流れ図において、符号化装置に入力映像信号１が入力され（Ｓ０１）、動き検出（Ｓ０２）及び動き補償（Ｓ０３）を行うとともに、空間予測部９による後述の空間予測（Ｓ０４）を行う。
動き補償予測とは、図３Ａ、図３Ｂに示すように現フレーム３０Ｂの入力映像に類似する信号パターン（予測値）を前フレーム３０Ａの復号画像から所定の探索範囲３２内で探し出して、空間的な変位量を動きベクトルとして検出し（例えばホイール３１の空間的な変位量を動きベクトル３３として検出し）、予測残差信号と動きベクトルとを符号化情報として伝送する技術である。Ｈ．２６Ｌでは図４Ａ〜図４Ｇに示すように７種類のインター予測モードがある。正確には、映像が静止している場合などで有用な、前フレームの同位置の画素をそのままコピーする予測モード（スキップモード）も用意されているがここでは説明の都合上割愛する。図４Ａのモード１では１６×１６画素単位、図４Ｂのモード２は８×１６画素単位、図４Ｃのモード３は１６×８画素単位、図４Ｄのモード４は８×８画素単位、図４Ｅのモード５は４×８画素単位、図４Ｆのモード６は８×４画素単位、図４Ｇのモード７は４×４画素単位に動きベクトルを検出する。つまり、これら７種類の予測モードは、マクロブロック内の動き検出単位を細分化できるようにしたものであり、マクロブロック内に存在しうる種々の動きを正確に捉えることを目的として設けられている。
動き検出部２では、マクロブロックごとに図４Ａ〜図４Ｇのすべてのインター予測モードについて評価を行い、もっとも符号化効率がよいと判断されるモードを選択する。イントラ予測モードも同様に符号化効率を評価して、インター予測モードよりも効率がよい場合にはイントラ予測モードが選択される。インター予測モードが選択される場合には、結果として、動きベクトル４は予測モード３で定められる本数分（最大でマクロブロックあたり１６本）検出・伝送されることになる。イントラ予測モードが選択される場合には動きベクトル４は伝送されない。
インター予測モードが選択される場合には、決定された予測モード３と動きベクトル４が動き補償部５に送られ、動きベクトル４を用いてフレームメモリ６中の前フレームの符号化済み画像信号７を参照して、各マクロブロックの動き補償予測画像８が取り出される。
イントラ予測モードが選択される場合は、空間予測部９において、近傍の符号化済み画像信号７を参照して予測値１０が生成される。最終的に使用される予測値１１は、予測モード３に基づいてスイッチ１２において動き補償予測画像８と予測値１０のいずれかとして選択される。
上記のような予測値１１と入力映像信号１との差分値を表す予測残差信号１３が生成され（図４３のＳ０５）、予測残差信号１３は直交変換部１４に送られ直交変換により直交変換係数１５となる（Ｓ０６）。直交変換係数１５は量子化部１６に送られ量子化処理によって量子化直交変換係数１７となり（Ｓ０７）、可変長符号化部２３に送られる。ここでエントロピー符号化が行われて圧縮ストリーム２４に多重される（Ｓ０８）。
一方、図４３では省略したが、量子化直交変換係数１７は逆量子化部１８、逆直交変換部１９を経て局所復号され、予測値１１と加算されて局所復号画像２０となる。局所復号画像２０は、直交変換ブロックの境界におけるブロックひずみなどの劣化を除去するためにループフィルタ２１にて境界画素に対してフィルタ処理が施され、フィルタ後局所復号画像２２となり、フレームメモリ６に格納される。フレームメモリ６に格納された画像データは以降のフレームの動き補償予測のための参照データ７として用いられる。
また、予測モード３も、マクロブロックの単位で可変長符号化部２３にてエントロピー符号化され、圧縮ストリーム２４に多重される（Ｓ０８）。このようにして得られた圧縮ストリーム２４は出力される（Ｓ０９）。
次に、図２及び図４４をもとに復号装置の動作を説明する。復号装置では、符号化データとしての圧縮ストリーム２４を受信した（図４４のＳ２１）のち、可変長復号部２５で各フレームの先頭を表す同期ワードを検出し、以後、マクロブロック単位に予測モード３、動きベクトル４、量子化直交変換係数１７が復元される（Ｓ２２）。
予測モード３がインター予測モードを示している場合（Ｓ２３で肯定判断の場合）は、動きベクトル４は動き補償部５に送られ、動き補償部５は符号化装置の動作と同様、フレームメモリ２６（フレームメモリ６と同じように使用される）から動きベクトル４だけ動いた画像部分を動き補償予測画像８として取り出す（Ｓ２４）。一方、予測モード３がイントラ予測モードを示している場合（Ｓ２３で否定判断の場合）は、空間予測部９において近傍の符号化済み画像信号７を参照して予測値１０が生成される（Ｓ２５）。
Ｓ２３〜Ｓ２５と並行して、予測残差信号に対し逆量子化部１８による逆量子化（Ｓ２６）、逆直交変換部１９による逆直交変換（Ｓ２７）が順に行われ、予測残差信号の復号値が生成される。
一方、予測モード３に応じて、スイッチ１２において最終的な予測値１１が決定され、これが上記生成された予測残差信号の復号値と加算され、復号画像２０となる（Ｓ２８）。さらにループフィルタ２１を介して最終的な復号再生画像２２が得られ（Ｓ２９）、所定の表示タイミングで表示デバイスへ出力され（Ｓ３０）、映像が再生される。復号再生画像２２は同時に以降のフレームの動き補償に用いられるため、フレームメモリ２６に格納される。ここで、画像データ２０、２２は符号化装置における同一番号のデータと同一の値となる。
以下、本実施形態の詳細な説明に移るが、本実施形態では、上述した図１および図２に示す符号化装置、復号装置において、圧縮ストリーム２４中に含まれる予測モード３（特にインター予測モード）および動きベクトル４の定義と、動き検出部２および動き補償部５の動作に特徴がある。そのため、以下では、符号化装置に関しては動き検出部２の動作、および予測モード３、動きベクトル４の定義を中心に説明を行い、復号装置に関しては予測モード３と動きベクトル４とから映像信号を復号する手順を中心に説明を行うこととする。
▲１▼固定的な動きベクトル割当パターンの定義
動き検出部２は用意されるすべての予測モードについて評価を行い、符号化効率がもっともよいモードと対応動きベクトルを検出する。従来例のＨ．２６Ｌ符号化方式では、インター予測モードとして図４に示すパターンが吟味されるが、本実施形態では、４×４ブロック（サブブロック）単位で最大２本の動きベクトルを割り当てる方法として、図６Ａ〜図６Ｄに示す固定の分割パターンをインター予測モードとして用意し、これらの中から最も符号化効率がよいものを選択する構成をとる。固定分割パターンとして図６Ａ〜図６Ｄのパターンを用いる理由は、マクロブロック内を２分割するにあたって、これらのパターンが分割ルールとして最も利用頻度が高いことが予測されるという点にある。例えば、中央部分と周辺部分とでベクトル割当が行われるパターンは、１６画素×１６ラインの内部という極めて局所的な動きがあるケースを示すが、このようなケースは映像中ではまれにしか発生しない。一方で、図６Ａ〜図６Ｄに用意した分割パターンは、水平・垂直・斜め方向の典型的な動きがマクロブロック外にもつながるパターンを示しており、利用頻度が高いと推察される。このうち図６Ｂ〜図６Ｄにおいて、白領域と灰色領域とが動きベクトル割当の区別を示しており、マクロブロック内をこれらのパターンに動き分割して動き補償予測することが可能となる。
図６Ａのモード０では、マクロブロック（１６×１６画素）領域を１本の動きベクトルで予測する。これはＨ．２６Ｌ符号化方式のインター予測モードのモード１と全く同じ定義である。また、図６Ｂのモード１、２はマクロブロックを１６×８、８×１６画素の領域に２分割しており、これも図４Ｂ、図４Ｃにおけるモード２、３と等価である。一方、図６Ｃ、図６Ｄのモード３以降は本実施形態特有のモード定義であり、図６Ｃのモード３〜６ではマクロブロックを水平・垂直方向に不均一に分割することを許可する。不均一な水平・垂直方向の分割は特に画面端のように新しい絵柄が徐々に現れるような箇所において利用価値が高い。さらに図６Ｄのモード７以降は、マクロブロック内を斜め方向に分割することを許可する。斜め方向の分割は物体の境界部分に沿った動きの不連続性を捉えたり、画面隅から現れる新しい絵柄に対する予測という点で利用価値が高い。以上、図６Ａのモード０を除くすべてのモードでは動きベクトルは２本のみであるが、様々な動き分割パターンをあらかじめ用意しておくことにより、図６Ｂのモード１、２のような均等分割では捉え切れないマクロブロック内の動きを、少ない動きベクトル数で的確に捉えることが可能となる。
図６Ａ〜図６Ｄのモード０〜１４に対する４つのグループ分け（図６ＡのグループＧ１、図６ＢのグループＧ２、図６ＣのグループＧ３、図６ＤのグループＧ４）は、各予測モードを伝送する場合の符号量の違いを示している。本実施形態では、図４Ａ〜図４ＧのＨ．２６Ｌ予測モード情報に比べて倍の数のモード数を有するため、そのオーバーヘッドを効率よく符号化するために、各モードにおける分割数、分割方向、あるいは分割された領域の面積比に応じて、可変符号長割当による可変長符号化を行う。まず、分割数という観点からは動きベクトルの数が少なくオーバーヘッドが少ないモード０に対して全モード中で最短の符号を割り当てる。一般に、映像信号は時間相関が非常に高いため、マクロブロック内を動きに応じて分割する必要性はマクロブロック単位で動き補償（Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ：ＭＣ）を行う場合に比べれば低いと考えられる。また、２分割パターンについては、映像信号の性質上、斜め分割パターンよりも水平・垂直分割の頻度が高いと考えられる。さらに、ブロックサイズが均一で両セグメントが同じ面積を単位としてＭＣを行うほうが平均的な予測残差電力を低減させやすいという観点から、均一分割の符号長を短く設定する。一方、不均一分割は、特に画面端など新しい絵柄が現れる場合、すでにフレーム内に存在する絵柄部分をよりよく予測する用途に適すると考えられる。斜め分割は、映像中の動物体の輪郭において、水平−垂直の動きだけでは捉え切れない動きを捉える用途で適するが、一般に他のモードよりは発生頻度は少ないと考えられる。
ただし、この可変長符号化方法は一意ではなく、あるマクロブロックの予測モードの可変長符号化を行うにあたって、その近傍の予測モードの状況（文脈、コンテクスト）を加味して符号長割当を行う方法も可能である。例えば、あるマクロブロックの予測モードを符号化する場合に、左のマクロブロックがモード０、左上のマクロブロックがモード９であった場合、現在のマクロブロックにはモード９のパターンを継承する動き分割が発生しやすい、と考えることができる。すなわち、このようなケースではモード９の符号長を短くするなど、左、上、右上などの近傍マクロブロックの予測モード状況（コンテクスト）をパラメータとして符号テーブルを変更するなどといった工夫が考えられる。映像の種類によらず汎用的なコンテクストを定めることによって効果的な符号割当が可能となる。同時に、このようなコンテクストを見出すことによって、固定的な符号割当の代わりに算術符号化を採用し、コンテクスト依存で算術符号化の確率テーブルを切り替えて符号化することによる冗長度削減効果も期待できる。
予測モード符号化のための可変長符号化テーブルは、映像の動きの内容に応じて切り替えてもよい。例えば、極めて動きの激しい映像やシーンチェンジを含むフレームでは、図６Ｃ、図６Ｄにおけるモード３〜１４のような斜め分割や不均等分割などのイレギュラーなパターンが多発すると考えられ、一方で静かな映像ではこれらの予測モードはあまり発生しないことが考えられる。つまり、フレームやシーケンスの単位で有効な予測モードの割合はかなり変動するのが自然であると考えられる。このような区別を行うために、例えばフレームもしくはフレーム群の先頭のヘッダ情報の一部に、当該フレームにて用いる予測モード符号化用の可変長符号化テーブルや、コンテクスト定義を決定するためのフラグ情報を多重しておくことが考えられる。また、予測モード値の分布は符号化圧縮率にも依存すると考えられ、フレーム単位の量子化パラメータ初期値にしたがって、複数用意した予測モード値の可変長符号化テーブルを切り替えて使用するように構成してもよい、
このように、映像信号の局所的性質に応じて予測モードのコンテクストの設定を行うことで、出現し得る予測モードをある程度限定できるため、図６Ｃ、図６Ｄに示したよりもさらに多くの予測モードを用意するようにしても、予測モード情報を符号化することによるオーバーヘッドを低く抑えることが可能となる。例えば、図６Ｃ、図６Ｄの予測モードバリエーションを図４Ａ〜図４Ｇのバリエーションに加えたものを使用するようにしてもよい。ただし、コンテクストを前提とする可変長符号化では近傍領域の圧縮データが伝送誤りなどによって正しく復号されなかった場合、現在の予測モード情報を独立に正しく復号することができないという問題がある、こういった問題を回避するためには、例えばＭＰＥＧ−２映像符号化方式などで用いられているようにフレーム画像内をより細かい独立符号化画像領域（スライス）の単位に区切り、スライスの境界ではスライスをまたがるコンテクストを使用しないようにすればよい。この方法ではスライスの境界で若干の符号化効率の低下があるが、そのトレードオフで誤りに対する耐性を高めることができる。
さらに、多くの予測モード情報を符号化条件に応じて切り替えるように構成してもよい。従来、従来例に述べたＨ．２６Ｌより以前の標準符号化方式（ＭＰＥＧ−１やＭＰＥＧ−２など）で見られる動き補償による予測符号化では、一つのマクロブロックに一つの動きベクトルを割り当て、符号量の調整は残差符号化の結果であるＤＣＴ係数の精度で行われていた。ところが、近年の符号化（Ｈ．２６３やＭＰＥＧ−４）からはひとつのマクロブロック内を複数ブロックに分割する予測モードが備えられ、符号量の調整はＤＣＴ係数だけではなく、予測に関する符号量のバランスで行われるようになった。その後のＨ．２６Ｌでは、さらに多くの予測モードを用意し、符号量の調整は用いられる動きベクトル数に応じた動き補償の精度で行われる傾向が強くなっている。Ｈ．２６Ｌでは、高レートでは図４Ａ〜図４Ｇのモードのうち多くの動きベクトル数を利用できるモードを用い動き補償の精緻化により符号量を調整している。しかし、低レートでは符号量の調整が動きベクトル数で行われるために、図４Ａ〜図４Ｇのモードのうち選択できるモードはほとんどが一つのマクロブロック当たり１又は２（モード１〜３）に限定され、動き補償精緻化による符号化効率の向上が望めないことが課題として考えられる。
符号量対誤差（Ｒａｔｅ−Ｄｉｓｔｏｒｔｉｏｎ）の最適化の観点からは、最適な動き補償モデルは与えられた符号化速度（符号量）に応じて異なるべきである。即ち低レートで用いられる動き補償モデルと高レートで用いられる動き補償モデルは異なるべきである。高い符号化レートでは多モード多数動きベクトルにより波形保存の意味で動き補償を精緻化する一方で、低い符号化レートでは、限られた動きベクトル数でより効率の良い動き補償を行うアプローチが必要となる。このようなレートに応じて動き補償モデルを切り替えるアプローチはこれまでの符号化標準では行われていない。
ここで、低レートでは図６Ａ〜図６Ｄのように、一つのマクロブロックに単一の動きが存在するか、単一の動きが存在しない場合でも動きの異なる物体の境界が一つ存在する（すなわちマクロブロックあたりの動きベクトル数が２に限定される）動き補償モデルを考える。一つのマクロブロック当たりの動きベクトルが２に限定された場合として、マクロブロックの２分割を単純な水平垂直分割ではなく、水平垂直斜めおよび位相を加えた分割に拡張することにより、一つのマクロブロック内に動きの異なる物体の境界が存在する場合に対処する。一方、高レートでは図４Ａ〜図４Ｇに示したような多くの動きベクトル本数を許容する動き補償モデルも許容する。つまり、このような動き補償モデルの変更を映像の符号化条件に応じて切り替えられるような仕組みが有用である。例えば、フレームもしくはフレーム群（例えばＭＰＥＧ−２映像符号化方式におけるシーケンスやＧＯＰ、ＭＰＥＧ−４映像符号化方式におけるビデオオブジェクトレイヤ、ビデオオブジェクトプレーンなどの単位に相当）単位で、その先頭のヘッダ情報の一部に、使用する動き補償モデル（すなわち、予測モードのセット定義）の動的変更を行うための識別情報を多重化するように構成する。
また、そのような動き補償モデルの変更は、スケーラブルな構成として実装上及び符号化データ利用上の利便性を向上させることができる。例えば、図３２Ａ〜図３２Ｃに示すように、３つの予測モードのセットを定義する。図３２Ａでは最小限の予測モードが用いられることとし、図３２Ｂではそれに加えて本実施形態にて提示している、少ない動きベクトルを用いた予測モードが用いられる。図３２Ｃではさらに、多数分割多数動きベクトルによる予測モードが加えられたセットとしている。
このようなセットを定義することにより、計算量負荷の低減が最優先される場合には図３２Ａの予測モードセットを用いることとし、高い符号化レートにおいて多モード多数動きベクトルによるより精緻な動き補償を追求することが求められる場合には図３２Ｃの予測モードセットを用いることとし、これら特別な要求がない場合では図３２Ｂの予測モードセットを用いることとすれば、符号化条件に応じて動き補償モデルを切り替えることができる。また、図３２Ａ〜図３２Ｃの構成では、それぞれの予測モードは、より予測モード数の多いセットのサブセットとなっている。例えば、図３２Ｂの予測モードセットは図３２Ｃのセットのサブセットとなっている。したがって、それぞれの予測モードセットに基づいて符号化された符号化データは、より上位のセットに基づいた実装において復号可能とすることができる。
このような動き補償モデルの変更は、映像符号化方式におけるプロファイルとして定義して用途別に利用可能な動き補償モデルを規定することも考えられる。プロファイルとは、多数の符号化機能を規定する符号化方式において、用途別に必須とする符号化機能のサブセットを定義することにより実装・計算量負荷と符号化効率とのバランスをとる仕組みである。図３２Ａ〜図３２Ｃに示した予測モードのセットは、それぞれを個別のプロファイルにおいて利用される予測モードセットとして扱うことができ、またそれぞれのプロファイルをより上位のプロファイルのサブセットとして、スケーラブルなプロファイル構造とすることができる。
このとき、動き補償のモデル変更と、残差符号化の単位を独立に扱うと符号化器、復号器の実装上都合が良い。Ｈ．２６Ｌの場合、残差符号化は４×４画素単位で行われるため、マクロブロックの分割モデルも４×４画素単位ブロックとする。これにより、動き補償モデルの変更は、残差符号化ブロックの各動きベクトルへの帰属の付け替えとして扱えるため、実装効率の観点での効果は大きい。
▲２▼動きベクトル情報の予測符号化
一般に低ビットレートでは、動きベクトル情報のオーバーヘッド比率が高まるため、検出された動きベクトル情報を効率よく符号化する必要がある。通常、マクロブロックの単位で動きが大きさ・方向ともにバラバラになることは考えにくく、その意味で、動きベクトルは近傍マクロブロックと似通った値をとるのが普通である。このような観点から、動きベクトルは近傍の動きベクトルから予測値を決定し、その予測残差データを符号化する。以下、本実施形態における動きベクトル符号化方法について説明する。
Ｈ．２６Ｌ符号化方式では、フレームメモリ６内に過去の複数の符号化済みフレーム画像を参照画像として格納しておき、それらのうちのいずれかを指定して動き補償予測を行う仕組みを備えている。これは特に、静止背景の前に動領域が存在して、動領域の動きによって背景が見え隠れするような映像において効果的な予測が期待できる。本実施形態においても動き検出部２においてこの仕組みを利用可能であり、かつ、マクロブロック内に２本の動きベクトルが存在する場合、個々に参照フレームを変更できるように構成することができる。
Ｈ．２６Ｌ映像符号化方式のインター予測モードではマクロブロック内を動き分割しているにも関わらず、動きベクトルの本数が多いために各動きベクトルは同一参照フレームから求める必要があったが、本実施形態では多数の動きベクトルを使用しないでオーバーヘッドを削減する分、各動きベクトルに参照フレーム切替情報を付与することを許可することで、さらに動き補償予測の効率を向上することができる。このとき参照フレーム切替情報は、同一マクロブロック内あるいは近隣のマクロブロックもしくはサブブロックにおける切替情報と似通った値をとることが多くなる。このことを利用して切替情報を予測したり、まとめて符号化することにより、参照フレーム切替情報に必要となる符号量を削減することもできる。
もちろん、参照フレーム切替情報自体は付加情報として伝送しなければならないため、そういった切替が必要ないシンプルな映像の場合は、マクロブロック内で参照フレームは同一にするというルールも選択できるように構成してもよい。この場合、例えば、フレームもしくはフレーム群の単位で、マクロブロック内の参照フレーム変更を許すか否かを識別するためのフラグ情報を多重することが考えられる。これにより、復号装置は、マクロブロック内で参照フレームが変更しない場合は、参照フレーム切替情報をマクロブロックにつき１つだけ復号するように動作すればよい。
一方で、参照フレームを動き検出の単位で変化させることが可能である場合、隣り合う動き検出単位間で参照フレームが異なるとそれらの動きベクトル間の相関が低くなるという問題がある。つまり、その場合には動きベクトルの予測の精度が低くなることになる。
例えば、図７Ａは現在のマクロブロックがモード１であり、その左、上、右上のマクロブロックがそれぞれモード０、１、８であるケースを示す。このような場合、近傍予測モードのコンテクストつまり動き分割の連続性から、同図中の矢印に示すように、左セグメントの動きベクトルは左、上ともに相関が高いことが予想され、右セグメントの動きベクトルは上、右上ともに相関が高いことが予想される。つまり、図７Ａで現在、左、上、右上がともに同じ参照フレームを参照している場合は、いずれの予測値でも精度よく予測できると考えられる。しかし、例えば上のマクロブロックの２つの動きベクトルが現在のマクロブロックの動きベクトルと異なる参照フレームを使用していて、左のマクロブロックは同一参照フレームを用いている場合は、左側のマクロブロックの動きベクトルの方がより予測精度が高いと考えられる。
一方、図７Ｂにおいて、上のマクロブロックが現在のマクロブロックと異なる参照フレームを使用しているものと考えると、上のマクロブロックとの動きの連続性はなくなり、かつ、コンテクスト上、左のマクロブロックのいずれの動きベクトルを予測に使用するべきかが定まらないばかりでなく、動きの連続性が期待できないため高い予測精度が期待できない。
このような問題を解決するために、本実施形態では、近傍予測モードのコンテクストに基づいた予測候補の優先度付けを行い、適応的に動きベクトル予測値を定める。近傍予測モード情報や参照フレーム切替情報自体はすでに復号済みの情報を用いるため、この動きベクトル予測値決定プロセスのための特別な付加情報は必要ない。以下、具体的な動きベクトル予測値決定処理の流れを説明する。
１）各セグメントごとに、予測値候補となる近傍動きベクトルを定める。図８Ａ〜図８Ｃにモード０、１、７の例を示す。図８Ａのモード０では動きベクトルが１本しかないため、斜線の網がけのブロック位置の動きベクトルを候補とする。図８Ｂのモード１では白領域、灰色領域（図８Ｂのマクロブロック内で斜線を付した領域）に対してそれぞれ動きベクトルが存在するため、白領域の動きベクトルについて斜線の網がけブロック、灰色領域の動きベクトルについて横縞の網がけブロック位置の動きベクトルを予測値候補とする。なお、このモード１の図８Ｂでは、マクロブロック上方の中央部にて、斜線の網がけブロックと横縞の網がけブロックとが重なっている。図８Ｃのモード７では、白領域は上部とは動きの連続性に欠けるため、左の斜線網がけブロック位置の動きベクトルのみを予測値候補とする。灰色領域では、横縞網がけブロック位置の動きベクトルを予測値候補とする。これらの予測候補位置を各モードに対してあらかじめ定めておき、符号化装置と復号装置の間で共有する。
２）予測値候補が含まれるマクロブロックのうち、同一参照フレームを使用する予測値を含んだマクロブロックを特定する。近傍が同一参照フレームを用いているか否かの判断は、すでに復号済みの近傍マクロブロックの情報を保持しておけば可能である。
３）２）で特定したマクロブロックのうち、予測モード情報に基づいて予測使用優先度の高いマクロブロックと動きベクトルを特定して、その動きベクトルを予測値とする。予測使用優先度は、図９のように近傍との動きの連続性を考慮し、各予測モードに対して固定的に定義しておき、符号化装置と復号装置とで共有する。図９において、例えばモード５を例にとって説明すると、現在動きベクトル予測の対象となっているマクロブロックの予測モードがモード５である場合、その上のマクロブロックでは、モード値にして０、６、２、８、９、１２、１３の順序で動きの連続性についての優先度が高いと定義する。また、左のマクロブロックのとるモード値は、５、０、２、８、１２の順序で優先度が高いと定義する。右上のマクロブロックについても同様に定義を行う。例えば上と左とで優先順位が同じになった場合は、いずれか一方を断定的に予測値とするように定める。つまり、この例では、自身の予測モードがモード５で灰色領域の動きベクトルの予測を行う場合、上、左の予測候補位置の動きベクトルが同一参照フレーム、右上が異なる参照フレームを用いていて、且つ上にモード１３が、左にモード５が現れた場合、左の動きベクトルを予測値として最優先する。
４）図８Ｃにおけるモード７の白領域のように、予測候補位置がひとつだけの場合は、同一参照フレームであればそれをそのまま予測値として用い、異なる参照フレームであれば所定の位置の複数の予測値候補を用いて予測値を決定する（例えばメディアン予測を用いる）。
５）複数の予測値候補位置があるにも関わらず、いずれの近傍マクロブロックも動きの連続性が期待できない場合（図９の優先順位に含まれていない予測モードである場合）は、すべての予測値候補を用いた予測値決定（例えばメディアン予測）を行う。
６）予測値候補のすべての動きベクトルが、予測しようとする動きベクトルとは異なる参照フレームを用いている場合は、すべての予測値候補を用いた予測値決定（例えばメディアン予測）を行う。
動きベクトルの符号化は以上の処理の結果得られる予測値を用いて予測残差データを可変長符号化する。
また、動きベクトルの予測値は図１０Ａ〜図１０Ｄのように固定的に与えてもよい。これらの図において、白矢印は白領域の動きベクトルに対する予測の方向、黒矢印は黒領域の動きベクトルに対する予測の方向を示している。図１０Ｃのモード４を例にとると、モード４の白領域の動きベクトルの予測には、白領域のうちの上から３番目のサブブロックと左隣の位置にあるサブブロックの動きベクトルを予測値とする。このルールでは、近傍との動きの連続性に対する考慮が十分になされないが、固定的に予測位置を割り当てるために動きベクトル予測処理に関する装置実装を軽くできるメリットがある。なお、図１０Ａ〜図１０Ｄにおいても、予測値として使用する予定のブロックが異なる参照フレームを使用している場合には、その連続性は絶たれるものとしてメディアン予測などの手法に切り替えることが望ましい。
▲３▼圧縮ストリームシンタックス
本実施形態の符号化装置から出力される圧縮ストリーム２４のマクロブロックデータのシンタックスを、図１１ＡのＨ．２６Ｌの現行シンタックスと比較して図１１Ｂに示す。
これらの図に示すラン情報（ＲＵＮ）とは、上述のスキップモードと判断されたマクロブロックの数を符号化するデータであり、第ｎ番目のマクロブロックから第ｎ＋５番目のマクロブロックまでの間がスキップで、第ｎ＋６番目のマクロブロックがスキップではない場合、ラン情報＝５という符号化データが第ｎ＋６番目のマクロブロックデータの先頭に付与される。マクロブロックタイプ情報（ＭＢ＿Ｔｙｐｅ）は図１の予測モード３を示す。
インター予測モードとしては図４Ａ〜図４Ｇに示す７種類がここで識別される。なお、図１１Ａのイントラ予測モード情報（Ｉｎｔｒａ＿ｐｒｅｄ＿ｍｏｄｅ）とは、イントラ予測モードにおいて複数の空間予測方法の識別のために用いる情報でありインター予測モードが選択される場合は省かれる（図１１Ａの矢印Ｐ１）。参照フレーム情報（Ｒｅｆ＿ｆｒａｍｅ）はインター予測モードが選択された場合に動きベクトルが指し示す参照フレームの番号を指定するデータであり、直前のフレーム１枚だけを参照フレームとして使用する場合には省かれる（矢印Ｐ２）。動きベクトル差分値（ＭＶＤ）は動きベクトルについての予測値との差分値であり、水平・垂直成分の順でそれぞれ多重される。ここで、図４Ｇに示すようにＨ．２６Ｌでは動きベクトルが最大１６本であるため、動きベクトル差分値のデータは最大で１６個多重されることになる（即ち、矢印Ｑ１は最大１６回のループを示す）。動きベクトル差分値の個数はマクロブロックタイプ情報によって決まる。なお、イントラ予測モードが選択される場合は省かれる（矢印Ｐ３）。以上のデータに引き続いて、予測残差信号の直交変換係数データ（Ｔｅｘｔｕｒｅ  Ｃｏｄｉｎｇ  Ｓｙｎｔａｘ）が多重される。
一方、図１１Ｂに示す本実施形態のシンタックスでは、マクロブロックタイプ情報において図６Ａ〜図６Ｄに示す１４種類のインター予測モードが識別される（イントラ予測モードはＨ．２６Ｌと同じとみなす）。また、１つの動きベクトルに対して１つの参照フレーム情報が対応づけられるため、参照フレーム情報と動きベクトル差分値とは常に組として多重される。参照フレーム情報と動きベクトル差分値の組の個数はマクロブロックタイプ情報によって決まる。最大個数は２個である（即ち、図１１Ｂの矢印Ｑ２は最大２回のループを示す）。なお、インター予測モードが選択される場合は矢印Ｐ４のようにイントラ予測モード情報が省略され、またイントラ予測モードが選択される場合は矢印Ｐ５のように参照フレーム情報および動きベクトル差分値が省略される。
このとき参照フレーム情報は、同一マクロブロック内あるいは近隣のマクロブロックもしくはサブブロックにおける参照フレーム情報と似通った値をとることが多くなることから、これを利用した符号化を行ってもよい。例えば、同一マクロブロック内での２つの参照フレーム情報の値の組み合わせに対して１つの符号を割り当てることとして、組み合わせパターンの発生確率をもとに符号を構成し、数多く発生する組み合わせについての符号量を低減することができる。
図３３ＡにＨ．２６Ｌにおける参照フレーム情報の符号構成を、図３３Ｂに参照フレーム情報の組み合わせに対して割り当てた符号の例を示す。例えば同一マクロブロック内での参照フレーム情報がどちらのブロックも０となることが多ければ、図３３Ａの符号では参照フレーム情報２つで２ビット必要になるのに対して、図３３Ｂの符号では１ビットで符号化することができ、符号量を低減することができる。この場合、参照フレーム情報に関する符号は図１１Ｂのシンタックスと異なり、図３３Ｃに示すように、動きベクトル差分値と組にはならずにマクロブロック毎に１つだけ多重されることとなる。なお、図３３Ｃの矢印Ｐ２６、Ｐ２７は該当の処理を省略してジャンプすることを表し、矢印Ｑ１１は最大２回のループを表す。
また、近隣のマクロブロックもしくはサブブロックにおける参照フレーム情報をもとに予測を行い、符号を切り替えるようにしても良い。例えば、前述の動きベクトルの予測と同様に図１０Ａ〜図１０Ｄのように固定的に予測位置を割り当て、予測位置に対応づけられている参照フレーム情報を予測値とすることができる。モード０のように固定的な予測位置が割り当てられていない場合や予測位置がイントラ予測モードである等により参照フレーム情報が対応づけられていない場合も存在するので、これらの場合には既定の予測値を用いることとする。この予測値が得られた場合の参照フレーム情報の値の発生確率をもとに符号を構成し、予測値に応じて符号を切り替える。
例えば、図３４Ａの符号を変更前もしくは予測値が０であった場合の符号とし、一例として予測値が４であった場合の符号として図３４Ｂのように構成された符号を使うものとする。参照フレーム情報が予測値と同じ値をとることが多く、予測値が４である場合に参照フレーム情報が４となる確率が、参照フレーム情報が２となる確率よりも高くなるのであれば、図３４Ａの符号をそのまま使う場合よりも図３４Ｂの符号を使うことにより参照フレーム情報の符号量を低減することができる。なお、この場合には、参照フレーム情報は図１１Ｂと同じく動きベクトル差分値とは常に組として多重化されることとなる。
図示はしていないが、直交変換係数データの中には、マクロブロック内の８×８ブロックの単位で符号化すべきデータが存在するか否かを示す有意係数存在識別情報（ＣＢＰ：Ｃｏｄｅｄ  Ｂｌｏｃｋ  Ｐａｔｔｅｒｎの略）があり、このデータを用いることによって、有意係数のない８×８ブロックでは一切情報伝送を省くことができ、直交変換係数データの符号化が効率化されている。図３５Ａ〜図３５Ｃにその例を示す。マクロブロックが図３５Ａのように分割されて符号化され、かつ各サブブロック（４×４ブロック）において、白で示されたブロックには有意係数が無かったものとする。この場合、図３５Ｂに示すように８×８ブロックの単位で有意係数の有無を符号化して伝送し、８×８ブロックに含まれる各４×４ブロックでの直交変換係数データの有無をあらかじめ指示することにより、各４×４ブロックでの情報伝送を省いて符号量を削減することができる。
本実施形態による予測モードを用いる場合、２本の動きベクトルを使用するパターンが選択されるケースでは、その分割により予測効率が向上しているため、分割境界に位置する予測残差信号では符号化すべき係数データが少なくなっていることが予想される・特に、モード３以降の不均一分割、斜め分割では８×８ブロックの内部に分割境界が存在することがあり、この部分については符号化を要する係数データが存在しない確率が高くなると考えられる。したがって、その状況に合わせて、予測モードに応じて有意係数存在識別情報の可変長符号化テーブルや算術符号化の確率テーブルを変更するように構成することができる。これによって、予測モードに応じて有意係数存在識別情報の符号化を効率化することが可能となる。
また、本実施形態による予測モードを用いる場合には、マクロブロックが変化の無い部分と変化の大きい部分とに分割されるなどして、有意係数の有無が各分割領域毎に一定となることも考えられる。このような場合には、Ｈ．２６Ｌにて用いられているように８×８ブロック毎に有意係数の有無を指示するのではなく、各分割領域について有意係数の有無を指示するように有意係数存在識別情報を構成して符号化することとして、有意係数存在識別情報に必要となる符号量を低減することもできる。図３５Ｃにその例を示す。図３５Ｂのように８×８ブロック単位で有意係数の有無を伝送する場合にはそのパターン数が多くなってしまうが、図３５Ｃのように分割領域について有意係数の有無を送る場合にはパターン数を小さくすることができ、有意係数存在識別情報に必要な符号量を削減することができる。
次いで、復号装置における復号処理手順について説明する。図１２に復号装置の処理フローを示す。
まず、可変長復号部２５において、ピクチャ（即ち、映像の個々のフレームの符号化データ）の先頭を表す同期ワードを検出し（Ｓ１０１）、ピクチャヘッダを復号する（Ｓ１０２）。ピクチャヘッダには、当該ピクチャがイントラ符号化されるピクチャ（すべてのマクロブロックをイントラ予測によって符号化するピクチャのこと。以下、Ｉピクチャと呼ぶ）か、インター予測を使用するピクチャ（以下、Ｐピクチャと呼ぶ）かを識別するピクチャタイプ情報や、直交変換係数データの量子化パラメータなどの値が含まれる。続いて、図１１Ｂのシンタックスで構成される個々のマクロブロックデータの復号に進む。マクロブロックのレイヤでははじめにラン情報を復号する（Ｓ１０３）。ラン情報のデータの定義は前述の通りであり、ラン情報の数分だけのスキップマクロブロックが発生する。スキップマクロブロックについては、フレームメモリ２６中に格納されている所定の参照フレーム上で同位置にある１６×１６画素領域をそのまま復号画像データとして獲得する（Ｓ１０４、Ｓ１０５）。復号画像を獲得する処理は、動き補償部５に対して動きベクトルゼロ、所定の参照フレーム番号を与えることによって行われる。ラン情報が当該ピクチャの最終マクロブロックを示す場合には（Ｓ１０６）、その時点で当該ピクチャの可変長復号処理を終了し、ループフィルタ２１においてブロック歪み除去処理を施した後（Ｓ１１８）、次のピクチャの可変長復号処理へ移る。
通常の符号化マクロブロックに関しては、ステップＳ１０７に進んでマクロブロックタイプ情報の復号を行う。これで予測モード３が確定する。予測モード３がイントラ予測モードを示す場合（Ｓ１０８で肯定判断の場合）は、イントラ予測モード情報の復号を行う（Ｓ１０９）。なお、正確にはＨ．２６Ｌには、サブブロック（４×４ブロック）単位でイントラ予測を行うイントラ４×４モードと、１６×１６画素の単位でイントラ予測を行うイントラ１６×１６モードの２種類のイントラ予測モードがあり、イントラ予測モード情報を必要とするのはイントラ４×４モードのみであるが、本実施形態の説明としては趣旨が異なるため、これらの処理の違いについての詳細説明は省略する。イントラ予測モード情報が確定すると、空間予測部９において近傍の画像データからイントラ予測値が生成される（Ｓ１１０）。
一方、予測モード３がインター予測モードを示す場合（Ｓ１０８で否定判断の場合）は、それは図６に示したいずれかのモードを示す値となっている。したがって、この時点で参照フレーム情報および動きベクトル差分値を何組復号すべきかが確定する（モード０では１組、それ以外では２組）。この情報にしたがって、参照フレーム情報と動きベクトル差分値の組を復号する。ただし、参照フレーム情報が多重されているかどうかは、前述のピクチャタイプの情報に統合されているため、ピクチャタイプの値で参照フレーム情報が存在するか否かの判断を行う必要がある（Ｓ１１１）。
また、図には記載していないが前述のように同一マクロブロック内あるいは近隣のマクロブロックもしくはサブブロックにおける参照フレーム情報の値を利用した参照フレーム情報の符号化が行われている場合には、それらに応じて参照フレーム情報の組み合わせ情報をもととして、あるいは予測値による符号の切り替えを行った上で、参照フレーム情報の復号を行う。
参照フレーム情報がある場合はその値を復号したあとで動きベクトル差分値を復号し（Ｓ１１２、１１３）、参照フレーム情報がない場合は動きベクトル差分値のみが復号される（Ｓ１１３）。こうして得られた参照フレーム情報、動きベクトル差分値、マクロブロックタイプ情報で示される予測モード、および近傍の予測モード情報、並びに、図８Ａ〜図８Ｃ、図９に示す符号化装置と同じ予測値候補位置、予測使用優先度に基づいて、動きベクトルの予測値が決定され、マクロブロック内のすべてのサブブロックに対応する各動きベクトル情報が復元される。この動きベクトル情報４が動き補償部５に送られ、動き補償部５は、指定された参照フレーム情報と動きベクトルとに基づいて、個々のサブブロックに対する動き補償予測値を生成する（Ｓ１１４）。
以上の処理が終了すると、可変長復号部２５では当該マクロブロックの予測残差信号の直交変換係数データ１７の復号を行い（Ｓ１１５）、逆量子化部１８、逆直交変換部１９にて予測残差信号の復元を行う（Ｓ１１６）。最後にＳ１１０又はＳ１１４で得られた予測値を加算することによって当該マクロブロックの復号画像を獲得する（Ｓ１１７）。その後、次のマクロブロックの復号処理に移る。
以上述べた符号化装置・復号装置によれば、マクロブロック内の様々な動きを少ないオーバーヘッドで的確に捉えることが可能となり、効率よく映像伝送・記録・再生を行うことが可能となる。また、本実施形態では、マクロブロック内を様々な形状で動き分割して予測効率を向上すると同時に、動き補償予測対象となる領域がサブブロックの組み合わせで構成されているため、Ｈ．２６Ｌ映像符号化方式のようにサブブロック単位の予測残差信号符号化を行う場合、サブブロックの内部には予測の分割境界が存在しないため、不連続波形が生じないというメリットがある。これは予測残差信号符号化にＤＣＴを用いる場合には余分な高周波係数を発生させなくて済むというメリットがあり、ベクトル量子化を用いる場合でも特異な信号波形が抑えられ、コードブックで規定される汎用的な波形での表現で済む、という意味で効率的な符号化を行うことができる。
次に、第２実施形態を説明する。本実施形態では、マクロブロック単位で符号化を行う映像符号化装置において、マクロブロックあたり最大２本の動きベクトルを使用し、マクロブロックを４×４画素単位に分割したサブブロックごとに、上記２本の動きベクトルを割り当てて動き補償予測を行えるように構成した映像符号化装置および復号装置について述べる。第１実施形態が、サブブロックに対する動きベクトル割当が固定パターンとして与えられていたのに対して、本実施形態ではサブブロックへの動きベクトル割当を任意に指定できるように構成された符号化装置・復号装置について述べる。
本実施形態では、従来例の図１および図２で示した符号化装置、復号装置において、圧縮ストリーム２４中に含まれる予測モード３（特にインター予測モード）、動きベクトル４の定義と、動き検出部２および動き補償部５の動作が異なること以外は同一の部材・動作にて説明できる。以下では符号化装置に関しては動き検出部２の動作、および予測モード３、動きベクトル４の定義を中心に説明を行い、復号装置に関しては予測モード３と動きベクトル４とから映像信号を復号する手順を中心に説明を行うこととする。
まず、本実施形態における予測モード３の構成とそれに伴う動きベクトル４の検出手順を中心に、符号化装置の処理ならびに復号装置に伝送される圧縮ストリームの構成について説明する。本実施形態における予測モード３は、図１３Ａ〜図１３Ｃに示すように、前述した図６Ａ〜図６Ｄの固定の動きベクトル割当だけでなく、任意の割当状況を指定できるように拡張された情報として定義される。すなわち、２本の動きベクトルのＩＤをそれぞれ０、１とすれば、図１３Ａ〜図１３Ｃのように４×４のバイナリマップ情報として表現される。ここで、ＩＤの割り振りは例えば圧縮ストリーム中の伝送順序としての意味を有する。
以下、図１３Ａ〜図１３Ｃのように割当が可能な動きベクトル４の決定方法（動き検出部２において実施）と、図１３Ａ〜図１３Ｃの表現による予測モード３の符号化方法について説明する。第１実施形態では固定的に動きベクトルの割当が定まっている複数のパターンを評価すればよかったため、動きベクトルの検出はそれぞれの領域で固定的に実施すればよかったが、本実施形態における動きベクトル検出は、動きベクトル割り当ての最適性を考慮しながら実施する必要がある。
図１４に検出の一例の手順を示す。まず、Ｓ２０１にて１６×１６画素を単位とする動きベクトル検出を実施する。これは図４Ａのモード１、図６Ａのモード０の場合と同様の動きベクトル検出でよい。この結果得られる動きベクトルを第１動きベクトルＶ１とする。次に、その結果得られる予測値を用いて、各４×４のサブブロックごとに予測評価値（ここでは差分絶対値和ＳＡＤ：Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅを用いることにしている）を求め、所定値よりも予測評価値が大きくなるサブブロックを例外サブブロック領域として抽出する（Ｓ２０２）。これにより、斜線部が例外サブブロック領域を示す動きベクトル割当マップ４０が得られる。この例外サブブロック領域は第１動きベクトルＶ１では十分な予測ができなかった領域を示しており、例外サブブロック領域を特定することで、予測効率に基づいた動きベクトル割当が可能となる。次いで例外サブブロック領域のみを対象とする動きベクトル検出を行い、第２動きベクトルＶ２を検出する（Ｓ２０３）。
以上の処理過程で、予測評価値だけでなく、動きベクトル値や例外サブブロック領域で決定される動きベクトル割当情報（即ち、図１の予測モード３）の符号量も考慮に入れて検出処理を行うように構成してもよい。また、第１実施形態のように、第１および第２動きベクトルの検出はそれぞれ個別に参照フレームを変更して検出するようにしてもよい。
図１５に別の検出例の手順を示す。この例ではまず、サブブロックを単位として動きベクトルの検出を行い、１６本のベクトルを求める（Ｓ２０４）。ついで、マクロブロック全体として、符号量と予測効率の観点で最適になるよう、１６本のベクトルを２本のベクトルＶ１、Ｖ２にクラスタリングする（Ｓ２０５）。特に、予測モード３の符号量を考慮してベクトル割当を行うことにより、マクロブロックを符号化するにあたって最適なレート歪みバランスとなるような動きベクトルを検出することが可能である。以上のような方法に基づいて動き検出部２において、予測モード３および動きベクトル４が決定される。
次に、予測モード３の情報の符号化方法について図１６Ａ、Ｂを用いて説明する。符号化の手順を図１７のフローチャートに示す。図１６Ａ、ＢのマクロブロックＣが符号化対象のマクロブロックであるとし、マクロブロックＡはＣの直上に位置するマクロブロック、マクロブロックＢはＣの左隣に位置するマクロブロックとする。各マクロブロックは４×４のサブブロック単位に分割して白色・灰色の違いで動きベクトル割当（図１の予測モード３）の様子を示している。符号化は、マクロブロックＡおよびＢの予測モードの状況に基づいて、サブブロックにおける動きベクトル割当の変化点を符号化していく。まず、マクロブロックＡおよびＢの予測モード状況から、Ａ又はＢのいずれの予測モードの状況を継承するか（予測優先コンテクスト）を定める（図１７のＳ２０６）。また、ラインカウンタＬをゼロにリセットする。図１６Ａでは、あきらかにマクロブロックＡからの動きの連続性が高いことがわかるため、矢印で示したように垂直方向の動きベクトル割当の変化を検出対象とする。以後、これを垂直予測優先コンテクストと呼ぶ。逆に、図１６Ｂのように、マクロブロックＢからの動きの連続性が高いと判断される場合は水平方向の動きベクトル割当の変化を検出対象とする。以後、これを水平予測優先コンテクストと呼ぶ。図１６Ａ、Ｂでは、マクロブロックＣがそれぞれの予測優先コンテクストで符号化されるとした場合の変化点を太線で示している。以下は図１６Ａの事例で説明する。
ラインＬの処理にあたって、まず残りラン数ｒ、ラン開始点ａ０、ラン終了点ａ１を確定する（Ｓ２０７）。ラン終了点ａ１とは、予測優先コンテクストで指定されるマクロブロック（図１６Ａの場合はマクロブロックＡ）の最隣接サブブロックで割り当てられている動きベクトルと異なる動きベクトルが割り当てられるサブブロック位置を示す。
ただし、実際にはマクロブロックＡとＣとで同一の動きベクトルを連続的に検出することは一般的ではないため、例えば予測優先コンテクストで指定されるマクロブロックの最隣接サブブロックの動きベクトル割当状況（０又は１）を、符号化対象のマクロブロックの初期ラン開始点ａ０の割当と同一であるとみなして処理を開始する、などの方法をとる必要がある。
別の方法としては、予測優先コンテクストをマクロブロックＣ内に閉じて適用する方法もある。つまり、１６個のサブブロックのうち、左上隅のサブブロックはその０又は１の値そのものを残し、最上ライン４つについては左隣のサブブロックからの変化点を１とし、最左列４つについては常に直上サブブロックからの変化点を１とする。このように決めることによって、残りのサブブロックの変化点は予測優先コンテクストに基づいて決定する。
ラインＬの先頭ではｒ＝４、ａ０＝０であり、図１６Ａの例ではＬ＝０におけるａ１は３であることがわかる。これにより、ラインＬにおける、同一動きベクトルが割り当てられ続けるサブブロック数はＲ＝ａ１−ａ０で与えられる。この値を、残りラン数ｒによって決まる符号長ＣＢ（ｒ）を用いて可変長符号化する（Ｓ２０８）。符号長ＣＢ（ｒ）の例を図１８Ａ〜図１８Ｃに示す。Ｒの符号化に際しては途中経過によって残りのＲの発生状況が制約をうけるため、このように残りラン数ｒに応じて符号長を切り替えることによって、符号化効率を高めることができる。例えば、図１６ＡのＬ＝０では、まずｒ＝４、Ｒ＝３が得られるため、ＣＢ（４）を用いてＲ＝３（符号１が割り当てられ、符号長は３ビット）の符号化を行う。次いで、残りラン数ｒを、ｒ＝ｒ−Ｒによって更新するとともに、ラン開始点ａ０をａ１に移す（Ｓ２０９）。これにより、ｒ＝１となるが、残りラン数が１というのはその時点でラインＬにおける動きベクトル割当がすべて確定したことを意味するため、特に符号を伝送する必要はない。これがＣＢ（１）が定義されない理由である。したがって、ｒ≦１の場合はＬをカウントアップして次のラインに処理を移行する（Ｓ２１０、Ｓ２１２）。逆にｒ＞１の場合は、新しい変化点を検出し（Ｓ２１１）、上記の処理を繰り返す。図１６ＡのマクロブロックＣの最終ラインＬ＝３においては、最初のサブブロックがいきなりラン終了点になっているため、ＣＢ（４）の「初期反転０」のコードを符号化し、以降、残りラン情報数ｒ＝３として処理を進める。ライン数Ｌが４になった時点で符号化処理を終了する。
以上、図１６ＡではＬ＝０で３ビット、Ｌ＝１で４ビット、Ｌ＝２、３で６ビット、さらに予測優先コンテクストの符号量分（ここでは水平・垂直いずれの場合でも３ビットとする）を加えて、１８ビットで予測モード３の符号化が行われる。図１６Ｂのケースでは、Ｌ＝０、１で４ビット、Ｌ＝２、３では各１ビットで符号化可能であり、コンテクスト分を加えて１３ビットで符号化できる。バイナリ情報のままでも１６ビットで表現可能であるため、１６ビット以上の表現になるケースはエスケープ符号などの工夫によって１６ビット固定長符号で符号化するように構成することができる。さらに、図１６Ａのケースのように、分割パターンとして出現頻度が高くなると予想されるパターン（図６Ｂ〜図６Ｄに示したようなケース）については、あらかじめ固定の短い符号を割り当て、それ以外の任意の分割パターンを表現する場合に、上記符号化による符号を使用するように構成してもよい。以上の符号化処理手順によれば、サブブロック単位での任意の動きベクトル割当状況を示す図１の予測モード３の情報を効率よく符号化・伝送することが可能となる。
上記説明を踏まえて、本実施形態の符号化装置から出力される圧縮ストリーム２４のマクロブロックデータのシンタックスを、Ｈ．２６Ｌのシンタックス（図１９Ａ）と比較して図１９Ｂ、Ｃに示す。図１９Ｂは本実施形態のもっともシンプルなシンタックス例で、マクロブロックタイプ情報は、イントラ予測かインター予測かの判別のみ含み、インター予測については、１６×１６画素単位動き補償の場合に最短符号を割当て、予測優先コンテクストの情報に対して次に短い符号を割り当てる。予測優先コンテクスト情報はすなわち、任意分割パターンによるインター予測モードであることを示す。
イントラ予測は一般にインター予測よりも出現頻度が低いので、予測優先コンテクスト情報よりも長い符号を割り当てる。例えば、Ｈ．２６Ｌの可変長符号定義に基づけば、１６×１６画素単位動き補償モードに符号”１”（１ビット）を、予測優先コンテクスト情報に符号”００１”、”０１１”（３ビット）を割り当てる。イントラ予測モードが選択される場合、Ｈ．２６Ｌと同様、イントラ予測モード情報が復号される（インター予測モードの場合は矢印Ｐ９のようにイントラ予測モード情報が省略される）。次に、上記の符号化方法で符号化されるサブブロック単位の動きベクトル割当情報動きベクトル割当情報を多重する。これは１６ビットの固定長符号であってもよい。なお、イントラ予測モードの場合はこの情報は、矢印Ｐ１０のように該当の処理が省略される。以降は、第１実施形態に述べた通りである。
図１９Ｃは別のシンタックス構成を示しており、マクロブロックタイプ情報で予測優先コンテクストを表現する代わりに、符号”００１”、”０１１”（３ビット）によって任意分割パターンでのインター予測のモード情報を可変長で送るか固定長（１６ビット）で送るかの識別情報として使用する。可変長であることが示された場合は、予測優先コンテクスト（ｐｒｅｄ＿ｃｔｘ）に続いて、動きベクトル割当情報（Ｐａｔｔｅｒｎ＿ｉｎｆｏ）を多重する。一方、固定長であることが示された場合は１６ビットの固定長符号で多重する。また、図１９Ｂにおいて、マクロブロックタイプ情報において、図６Ｂ〜図６Ｄに示されるような特定の出現頻度の高い分割パターンを示す情報と、それ以外のパターンであることを示すエスケープ符号とを表現できるように定義することも可能である。この場合、動きベクトル割当情報には予測優先コンテクストの値を含ませることになる。これにより、出現頻度の高い分割パターンは動きベクトル割当のための追加情報を必要とせず、より効率的な符号化が可能となる。なお、図１９Ａ〜図１９Ｃにおいて、矢印Ｐ６〜Ｐ１５は該当の情報が省略されることを表し、矢印Ｑ３は最大１６回のループを、矢印Ｑ４、Ｑ５は最大２回のループを表す。
復号装置の動作フローを図２０に示す。本実施形態における復号装置は、第１実施形態の復号装置と比べ、予測モード情報３の復号手順が異なる点を除いて同じ動作であるため、予測モード情報３の復号処理の部分についてのみ説明する。
図２０において、Ｓ１０１〜Ｓ１１８は図１２に示した第１実施形態の復号装置の処理ステップと同じ処理ステップである。図２０のＳ１０８において、インター予測モードであることが示された場合、Ｓ２１５にて図１９Ｂにおける動きベクトル割当情報を復号する。この際、予測優先コンテクスト情報はすでにマクロブロックタイプ情報に含まれており、ここではＳ２１４のプロセスで復号された予測優先コンテクスト情報に基づいてＣＢ（ｒ）を用いた復号処理を行う。これは一般の可変長復号処理にて実施可能であるため詳細説明は省略する。１６個すべてのサブブロック分の動きベクトル割当が確定した段階でＳ２１５の処理を終了し、参照フレーム情報、動きベクトル差分値の復号処理に移行する。以降は第１実施形態に述べた通りである。
また、図２０において、図１９Ｃのシンタックスに基づく復号処理も説明できる。この場合、ステップＳ２１４では、予測優先コンテクスト情報の代わりに、動きベクトル割当情報が可変長符号か、固定長符号かが示される。これに基づいて、ステップＳ２１５では図１９Ｃのシンタックスに基づいて動きベクトル割当情報の復号を実施する。可変長符号の場合は、予測優先コンテクスト情報の復号処理を先に実施する。さらに、マクロブロックタイプ情報がいくつかの出現頻度の高い分割パターン（例えば図６Ｂ〜図６Ｄのモード１〜１４）の識別情報を含む場合は、Ｓ２１４のステップですでに分割パターンが定まるので、任意分割パターンを示すエスケープ符号を検出したとき以外はＳ２１５のステップをスキップするように構成すればよい。
以上述べた符号化装置・復号装置によれば、マクロブロック内の様々な動きをサブブロックの単位で任意に分割して捉えることが可能となり、少ないオーバーヘッドで効率よく映像伝送・記録・再生を行うことが可能となる。
次に、第３の実施形態を説明する。本実施形態では、第２実施形態における任意の分割パターンを示す図１の予測モード３の別の符号化方法を説明する。図２１はその処理フローを、図１６Ａで用いた具体例とともに示したものであり、図２２はその処理の説明図である。まず、図２１のＳ３０１にて第２実施形態と同様の予測優先コンテクストを決定する。ここで、垂直予測優先コンテクストが選択されると、マクロブロックＡの最下端のサブブロックラインから見て、動きベクトル割当がどこで変化するかを変化点として検出する（Ｓ３０２）。例えば、図２２ＡのマクロブロックＡ、Ｃでは、太線部分が変化点として検出される。これにより、有変化点を１、無変化点を０とする図２２Ｂのバイナリマップが生成される。これを所定のスキャンテーブル（例えば図２２Ｃのスキャンテーブル）を用いてスキャニングしてゼロランを生成する（Ｓ３０３）。
例えば、ここでは垂直予測優先コンテクストが採用されていることから、図２２Ｃの垂直方向にスキャンを行うためのスキャンテーブルを用いて図２２Ｂのバイナリマップをスキャニングする。この結果、｛３、１、３、５｝というゼロランの組が生成される。この情報を可変長符号化する（Ｓ３０４〜Ｓ３０７）ことによって、予測モード３の符号化が行われる。スキャンの途中で変化点がなくなる場合（Ｓ３０５で肯定判断の場合）、以降のゼロラン情報は１つの終端符号（ＥＯＢ）のみで代替される（Ｓ３０６）。
逆にスキャンの終了時点まで変化点が存在する場合は、ゼロランと変化点の数の総計が１６であることを利用して最後のゼロランの符号が確定されるため、終端符号による符号化は行わない（Ｓ３０７で肯定判断されＳ３０６を実施しない）。
スキャンテーブルについては、例えば、図２３Ａのジグザグスキャン、図２３Ｂの水平スキャン、図２３Ｃのヒルベルトスキャンを使用するようにしてもよいし、これ以外にも任意のテーブルを使用可能である。予測優先コンテクストに基づいてスキャンを変更するようにしてもよいし（水平予測優先コンテクスト選択時には水平スキャンとする等）、ある特定の汎用的なスキャンルールを固定的に使用してもよい。また、スキャンテーブルを切り替えるための専用フラグを予測モード３の情報の一部として符号化するようにしてもよい。この場合は、符号化装置で複数のスキャン方法から最も符号化効率のよいスキャンテーブルを選択的に使用することができる。
以上述べた符号化方法によって得られる予測モード３のシンタックスは、図１９Ｂ、Ｃに示した動きベクトル割当情報を、第２実施形態の符号化方法とおきかえることによって実現できる。また、復号装置の構成も図２０におけるＳ２１５のステップが、本実施形態で述べた符号化方法による符号を復号して予測モード３を確定させる処理に該当する。
なお、本実施形態では、予測優先コンテクスト情報を使用する事例を説明したが、予測優先コンテクストに依存せず、変化点をある固定の規則で検出するようにして、予測優先コンテクストの情報を符号化しない様に構成することも可能である。このときスキャンテーブルは固定でもよいし、フラグを設けて効率のよいテーブルを切り替えるように構成してもよい。
以上述べた符号化装置・復号装置によれば、マクロブロック内の様々な動きをサブブロックの単位で任意に分割して捉えることが可能となり、少ないオーバーヘッドで効率よく映像伝送・記録・再生を行うことが可能となる。
次に、第４実施形態を説明する。本実施形態では、サブブロック単位に、動きベクトル割当を変更するだけでなくイントラ／インター予測の区別も行えるように図１の予測モード３を構成した符号化装置・復号装置について説明する。これにより、サブブロックごとにイントラ、インター（複数動きベクトルのうちのいずれか）を選択して符号化することができるため、マクロブロック単位にモード切替を行うよりも、実際の映像の性質に適応した効率的な符号化を行うことが可能となる。
まず、本実施形態における図１の予測モード３の定義について、図２４Ａ、Ｂの例を用いて説明する。Ｈ．２６Ｌ符号化方式では、イントラ予測として４×４のサブブロック単位でイントラ予測モード情報で識別される複数の予測方法を切り替えて空間予測を行うイントラ４×４モード（ＩＮＴＲＡ＿４×４）と、マクロブロックの単位で複数の予測方法を切り替えて空間予測を行うイントラ１６×１６モード（ＩＮＴＲＡ＿１６×１６）との２種類が用意されている。
イントラ予測モード情報には計６種類（１〜６）の空間予測方法が定義されており、これらをサブブロックの単位で指定することが可能である。そこで、これを拡張し、４×４サブブロックの予測モードとして動きベクトル割当情報を統合する。つまり、２本の動きベクトルが使用可能である場合、その予測方法のＩＤを７、８と定義する。この定義に基づいてサブブロックに予測方法１〜８が割り当てられた例が図２４Ａ、Ｂに示されている。図２４Ａでは対角方向にイントラ／インターの区別が行われ、インターの中でも２つの動きベクトルが使用されている。
図２４Ｂではマクロブロックが上下に分割され、上部がイントラで下部がインターで予測される例で、この例ではインター予測には１本の動きベクトルしか使用されない。以下、この多値の予測割当情報のことを、多値予測識別マップ情報と呼ぶ。
なお、イントラ１６×１６モードと、１６×１６画素単位動き補償モード（以下、インター１６×１６モード）との識別については、４×４サブブロック単位の予測割当情報を必要としないため、マクロブロックタイプ情報による識別だけで実現できる。すなわち、マクロブロックタイプ情報を、イントラ１６×１６モード、インター１６×１６モード、及びサブブロック単位任意予測割当の３種類に分類する。次いで、サブブロック単位任意予測割当のモードである場合には、上記の多値予測識別マップ情報を符号化することによってすべてのサブブロックの予測方法を確定する。
この例では、符号化装置の動き検出部２において、イントラ１６×１６モード、インター１６×１６モード、及びサブブロック単位任意予測割当のすべての可能性について評価を行い、もっとも符号化効率のよいモードを選択することができる。もちろん、いずれかのモードの組合せに固定して符号化するような装置を構成してもよい。サブブロック単位予測の最適な検出は様々な手法が考えられるが、例えば第２実施形態の図１４で示した方法を拡張し、例外サブブロック領域のうち、イントラ予測の予測評価値よりも大きな予測評価値を有するサブブロックはイントラ予測にする、などの方法でマップ情報を確定することができる。
以下では、図２４Ａ、Ｂに示した多値予測識別マップ情報の符号化方法について述べる。このマップ情報は、第２実施形態および第３実施形態で示した動きベクトル割当情報とほぼ同じ符号化方法で符号化できる。異なるのは、第２実施形態および第３実施形態の符号化対象の情報がバイナリマップであったのに対し、本実施形態の符号化対象がグレイスケールマップであることである。
（１）符号化方法１
第２実施形態の方法で実現するには、個々のモード情報をビットプレーンに展開する。例えば、イントラかインターかを示すプレーン、個々のイントラ予測方法についての使用の有無を示すプレーン（計６プレーン）、動きベクトルの割当のプレーンという分け方ができる。これらの各プレーンを第２実施形態に示す方法で符号化することができる。例えば、図２４Ａの多値予測識別マップ情報を上記のルールでビットプレーンに分解すると、図２５Ａ〜図２５Ｃのようになる。ここで、図２５Ａのイントラ／インター分類のプレーンと図２５Ｃの動きベクトル割当のプレーンはいずれも予測優先コンテクストを用いているが、イントラ予測方法のプレーンについてはその予測方法の有無のみでビットプレーンを構成している。
図２５Ａ〜図２５Ｃの計８つのプレーンのバイナリマップを第２実施形態の方法で所定の順序で符号化することにより、本実施形態の予測モード３の情報を表現できる。また、最初にイントラ／インターの区別を伝送しておくことにより、イントラ予測方法に関する図２５Ｂの６プレーンおよび図２５Ｃの動きベクトル割当のプレーンは、図２６Ｂ、Ｃのように、それぞれイントラ、インターに該当するサブブロック分だけをビットプレーンデータとするように構成してもよい（即ち、図２６Ｂ、Ｃの灰色部分は符号化対象としない）。これにより、符号化すべき情報量を効率よく低減することができる。以上のプレーン情報を、第３実施形態の符号化方式を使用して符号化するように構成してもよい。
（２）符号化方法２
また、第３実施形態の変形として符号化する方法として、予測方法の無変化点を０とし、同一予測方法が継続する無変化区間をラン表記する方法も考えられる。この方法による場合、図２４Ａのケースは図２７のように変換される（水平予測優先コンテクストにて変化点検出）。この情報を、ゼロランと変化点の予測方法ＩＤとの組で符号化する。この例では、図２３Ｂの水平スキャンを用いて、｛（５、７）、（０、１）、（２、７）、（３、８）、（１、７）｝という組に展開できる。これらの組に可変長符号を割り当てて符号化する。スキャンテーブルはフラグを用意して効率のよいテーブルを切り替えて使用できるように構成してもよい。
また、この時、インター予測である７、８の値による変化は予測方法の変化ではないものとみなして無変化点とし、動きベクトル割当情報のプレーンを別に符号化するように構成してもよい。
（３）符号化方法３
さらに、従来例のＨ．２６Ｌ符号化方式におけるイントラ予測モード情報に、インター予測のフラグを追加するように拡張し、インター予測部分だけを動きベクトル割当プレーンの形で伝送するように構成してもよい。
（４）符号化方法４
イントラ／インター分類パターンおよび動きベクトル割当パターンを、例えば図６Ａ〜図６Ｄのように固定的に割り振っておく。全てのイントラ／インター分割状況、動きベクトル割当状況は、固定パターンＩＤとして符号化器・復号器間で識別可能であるため、これらのパターンのＩＤを出現頻度の順で可変長符号化する。また、イントラ／インター分割パターン、動きベクトル割当パターン（第１実施形態相当）については、近傍のマクロブロックで選択されるパターンとの相関が高いことが考えられるので、イントラ／インターの分割パターンについても第１実施形態と同様に、近傍マクロブロックの状況によるコンテクストを定義し、コンテクストに応じてその可変長符号化テーブルもしくは算術符号化のための確率テーブルを切り替えるように構成してもよい。
以上の方法で符号化される予測モード３のシンタックスを図２８〜図３１に示す。図２８〜図３１は、上記符号化方法１〜４にそれぞれ対応する。符号化方法１では、図２８に示すように、動きベクトル割当情報をビットプレーンごとに符号化する。予測優先コンテクストについては第２実施形態に記載の通り、同一マクロブロック内で閉じた定義にしてもよいし、使用しないように構成してもよい。
符号化方法２では、図２９に示すように、予測優先コンテクストに続いてスキャンテーブルを識別するためのスキャンテーブルフラグ情報を多重している。これは予測優先コンテクストに依存してスキャンテーブルを決定する場合や固定的にスキャンテーブルを決めてしまう場合には必要ない。続いて、ゼロランと変化点の予測方法ＩＤの組をスキャンの結果得られる数分だけ伝送する。
符号化方法３では、図３０に示すように、イントラ予測モード情報にインター予測フラグを追加した拡張版情報によって、６種類のイントラ予測方法にインター予測方法を加えた計７種類の方法が指定できるように拡張を行い、この拡張版情報に、インター予測の場合の動きベクトル割当を指定するための動きベクトル割当情報を伝送する構成になる。
符号化方法４では、図３１に示すように、マクロブロックタイプ情報として、イントラ／インターの分類パターン、動きベクトル割当パターンを含む固定的なモード割当パターンが含まれており、非常に多くの予測モード値を一意に識別するデータとして拡張される。次いで、マクロブロックタイプ情報で指定されたイントラ予測を行う領域内の４×４サブブロックに対してのみ、イントラ予測モードの識別情報を別に伝送する構成になっている。このシンタックスのように、例えば、Ｈ．２６Ｌ符号化方式のイントラ４×４モードにおいて用いられる、サブブロック単位のイントラ予測モード識別情報（イントラ予測モード情報）をそのまま用いるように構成することができる。
なお、図２８〜図３１において、矢印Ｐ１６〜Ｐ２５は該当の情報が省略されることを表し、矢印Ｑ７は最大１６回のループを、矢印Ｑ６、Ｑ８〜Ｑ１０は最大２回のループを表す。
復号装置においては、図１２、図２０などの復号動作フローをもとに、以上の種々の構成のシンタックスを受信し、符号化方法に規定される手順と逆の手順をたどってマクロブロック内の予測モード割当を確定して、映像信号を復号する。
以上述べた符号化装置・復号装置によれば、マクロブロック内の様々な変化状況をサブブロックの単位で任意に分割して捉えることが可能となり、少ないオーバーヘッドで効率よく映像伝送・記録・再生を行うことが可能となる。
なお、本実施形態においては、予測モード定義において、動きベクトルの本数を３〜４本にして、それぞれに予測方法ＩＤを追加で割り当てるようにしてもよい。
次に、第５実施形態を説明する。本実施形態では、第１実施形態の符号化装置・復号装置に、動きベクトル検出処理および動きベクトル予測方法に関する別の実施態様を実装した例を説明する。
第１実施形態で述べた図６Ａ〜図６Ｄのインター予測モードを利用した場合、各モードの動きベクトルの検出方法は、第１実施形態の復号装置の動作で述べたように所定のシンタックスで解釈できる限りいかなる方法を採用してもよいが、本実施形態では、演算量の負荷をあまり増やさずに予測効率を向上させる動きベクトル検出手法と、それに伴う動きベクトル予測ルールを採用する符号化装置および復号装置について説明する。以下の説明において、動きベクトル検出処理は図１の動き検出部２において行われ、動きベクトル予測処理は図１の可変長符号化部２３（符号化装置側）、図２の可変長復号部２５（復号装置側）で行われるものであり、以降の説明では、これらの処理のフローチャートによる動作説明を行うものとする。
図６Ａ〜図６Ｄに示した第１実施形態のインター予測モードセットでは、マクロブロックあたり１本又は２本の動きベクトルを検出する必要がある。低レート符号化においては、動きベクトルの本数が増える分だけ直交変換係数の表現に使用できる符号量が少なくなるため、動きベクトルの符号量のコストと、検出した動きベクトルによる予測の精度とのトレードオフを考慮しながら動きベクトルの検出を行うことが望ましい。第１実施形態のベースとしているＨ．２６Ｌ映像符号化方式では、時間的にｉフレーム分だけ前の参照フレームＲＦｉ（ｉ≧１）において検出される動きベクトルをＭＶｉ（ｎ，ｊ）（ｎ：マクロブロック位置、ｊ：セグメント番号）、動きベクトルＭＶｉ（ｎ，ｊ）および参照フレーム識別情報ＲＦｉの符号化に要するビット量をＲｐで表し、その時に得られる予測残差電力Ｄｐと定数λを用いて、下の式（１）で決まるコストＣｐを最小化する動きベクトルＭＶｉ（ｎ，ｊ）、参照フレームＲＦｉ（ｉ≧１）を定める。定数λはターゲット符号化ビットレートが低くなるにつれ値が大きくなるように設定されるため、低レート符号化ではビット量Ｒｐによる制約が厳しくなる。
Ｃｐ＝Ｄｐ＋λＲｐ・・・（１）
動きベクトルは、第１実施形態に述べたように予測値を定めて予測差分値を符号化することから、検出される動きベクトルが予測値にできるだけ近い方が、ビット量Ｒｐは小さくなる。このため、Ｈ．２６Ｌ映像符号化方式では、動きベクトル探索範囲の中心点を動きベクトル予測値に設定し、動きベクトル探索窓の位置をセグメントごとに適応化することを推奨している。これにより少なくとも動きベクトルの符号量が削減され、上式のコストＣｐを最小化するにあたってビット量Ｒｐの制約が緩和され、予測残差電力Ｄｐの最小化により有利な条件で動きベクトル検出を行うことができる。近傍マクロブロックとの動きの連続性を考慮しても、探索窓位置を予測値に合わせて適応化することは予測残差電力Ｄｐの低下にもつながるものと期待される。その一方で、探索窓の適応化には予測残差電力の計算処理負荷が大きくなるという問題がある。
この問題を説明するため、図３６Ａに動きベクトル探索範囲の適応化を行う場合について、図３６Ｂに動きベクトル探索範囲の適応化を行わない場合について、それぞれ図式化した。図３６Ｂのように、探索範囲がセグメントによらず一定の場合、セグメントの形状が階層的になっていることを利用して予測残差電力の計算回数を削減することが可能である。
例えば、図６Ｄにおいて、モード１３の上部セグメント（白色セグメント）について一意に定められた探索窓ですべての動きベクトル候補に対して予測残差電力計算を行うことにより、モード９ではモード１３の上部セグメント内の３つのサブブロックに対する予測残差電力計算を再び行う必要はなくなり、残る３つのサブブロックについての予測残差電力計算を実施すればよいことになる。これに対して、図３６Ａでは、図１０Ｄの動きベクトル予測ルールを使用することを前提とすると、モード１３の上部セグメントはモード９の同一箇所とはもはや探索位置が共通化されないため、その予測残差電力計算結果を再利用することができない。
そこで、本実施形態では、演算量を抑えながら探索窓のセグメントごとの適応化を行って予測精度の向上を図る動きベクトル検出処理および動きベクトル予測ルールについて説明する。本実施形態の動きベクトル予測ルールは図３７Ａ〜図３７Ｄのように固定的に定める。このルールでは図１０Ａ〜図１０Ｄに比べて、使用する予測位置のバリエーションが少なく、大きく分けて４種類の動きベクトル予測のみを使用する。
１種類目は、モード０と、モード９、１０、１３、１４の上部セグメントの予測（ＭＶ予測▲１▼）であり、この場合、点線で囲んだ３ヶ所のサブブロック（４×４ブロック）位置の動きベクトルを使用したメディアン予測とする。
２種類目と３種類目はモード１〜８、１１、１２の予測であり、図３７Ｂ〜図３７Ｄに示すように、セグメントに応じて左又は上の固定位置のサブブロックの動きベクトルを使用した予測とする（ＭＶ予測▲２▼、▲３▼。左側からの予測を▲２▼、上側からの予測を▲３▼とする）。
４種類目はモード９、１０、１３、１４の下部セグメントの予測であり、この場合は、マクロブロックの右上隅のサブブロックに隣接する点線位置のサブブロックを使用して予測する（ＭＶ予測▲４▼）。
また、予測に使用する箇所の動きベクトルが、現在予測しようとする動きベクトルと異なる参照フレームを用いている場合や、イントラ符号化されていて動きベクトルが定義されていない場合には、モード０とモード９、１０、１３、１４の上部セグメントに用いるメディアン予測をそのまま適用する。図１０Ａ〜図１０Ｄでは、各モード、各セグメントに対して個別の予測ルールを適用していたが、本実施形態の予測ルールを適用することで、最大４種類の予測に集約される。このことによって、動きベクトルの探索時に、予測値に適応化した探索窓を設定しても、予測残差電力の計算回数を大幅に削減することが可能となる。
以上の動きベクトル予測ルールを利用して符号化装置の動き検出部２で実施される動きベクトル検出処理のフローチャートを図３８に示す。そこで、図３８を用いて、上記動きベクトル予測ルールを利用した動きベクトル検出処理を説明する。
まず、ＭＶ予測▲１▼を用いて動きベクトル予測値を求め、これを探索窓▲１▼の中心位置とする（ＳＡ１）。この探索窓▲１▼内で、まずモード０についてコストＣｐを最小化する動きベクトル（および参照フレーム）を検出する（ＳＡ２）。この時、マクロブロックの各サブブロックについて、探索窓▲１▼内の動きベクトル候補に対して得られる予測残差電力（予測評価値（ＳＡＤ）で算出）をすべてＳＡＤ値▲１▼として保持しておく（ＳＡ３）。ＳＡＤ値▲１▼は、同じＭＶ予測▲１▼を用いるモード９、１０、１３、１４の動きベクトルおよび参照フレーム決定の際に再利用することができる（ＳＡ４）。すなわち、モード９、１０、１３、１４に関するコストＣｐを最小化する動きベクトルおよび参照フレームを、ＳＡＤ値▲１▼として保持されている値から選択して加算するだけで決定することが可能であり、予測残差電力（ＳＡＤ）計算を行う必要がない。
次いで、ＳＡ５において、モード１〜８、１１、１２についてＭＶ予測▲２▼，▲３▼が使用可能であるか否かを判断する。ここで、ＭＶ予測▲２▼，▲３▼を使用するモード１〜８、１１、１２について、ＭＶ予測▲２▼，▲３▼に使用する予測位置の動きベクトルが異なる参照フレームを使用していたり、イントラ符号化であるような場合は、ＭＶ予測▲２▼，▲３▼が使用可能でないと判断し、ＳＡＤ値▲１▼を用いて動きベクトルと参照フレームを決定する（ＳＡ８）。一方、ＳＡ５においてＭＶ予測▲２▼，▲３▼が使用可能であると判断されれば、ＭＶ予測▲２▼，▲３▼を用いて求めた動きベクトル予測値を探索窓▲２▼，▲３▼の中心位置とし（ＳＡ６）、この探索窓▲２▼，▲３▼内で、モード１〜８、１１、１２についてそれぞれコストＣｐを最小化する動きベクトル（および参照フレーム）を検出する（ＳＡ７）。その後、モード９、１０、１３、１４の下部セグメントに対してもＳＡ５〜８と同様の処置をＳＡ９〜１２において実施する。そして、最後にＳＡ１３において、全モードのうち最小のコストＣｐを与えるモードを選択する。
以上の動きベクトル検出処理により、ＳＡ４，７，８，１１，１２の各プロセスでは、セグメントの大きさに応じて動きベクトル計算順序を定めることによって、ＳＡＤ演算量をさらに削減することが可能である。例えば、モード９、１０、１３、１４の関係では、上部セグメントに関し、モード１３⊂モード９⊂モード１０⊂モード１４なる関係がある。つまり、モード１３の上部セグメントのＳＡＤ計算の結果は、モード９の上部セグメントのＳＡＤ計算にそのまま流用可能であり、ＳＡＤ値▲１▼から直接的に加算を行うよりも加算回数を削減することができる。モード１〜８、１１、１２についても同様のことが言えるため、これらの階層性に従って動き検出処理を実装することによって、演算量を抑えることが可能である。
一方、復号装置では、可変長復号部２５における動きベクトルシンタックスの復号処理において、図１０Ａ〜図１０Ｄの動きベクトル予測ルールの代わりに、図３７Ａ〜図３７Ｄに示す動きベクトル予測ルールを導入して予測値を決定して、動きベクトルを復元すればよい。
次に、第６実施形態を説明する。本実施形態では、第１実施形態における動きベクトル分割パターンについて、順方向インター予測だけでなく逆方向インター予測も用いた双方向インター予測とともに用い、またマクロブロック内のそれぞれの分割セグメントについて、双方向予測の予測方向を選択することができる符号化及び復号方法を説明する。
本実施形態は、第１実施形態の場合と同様に、従来例の図１及び図２で示した符号化装置、復号装置において、圧縮ストリーム２４中に含まれる予測モード３、動きベクトル４についてのシンタックスと、動き検出部２及び動き補償部５の動作が異なること以外は同一の部材・動作にて説明できる。以下では、符号化装置に関しては動き検出部２の動作を中心に説明を行うとともにシンタックスを説明し、また復号装置に関しては動き補償部５において予測画像を生成する手順を中心に説明を行うこととする。
本実施形態における動き補償モデル、すなわち固定的な動きベクトル割り当ての定義については、第１実施形態において示したものと同一のものを用いる。すなわち図６Ａ〜図６Ｄに示すように、マクロブロックの２分割を単純な水平分割又は垂直分割ではなく、水平・垂直・斜め及び位相を加えた分割に拡張することとした動きベクトル割り当てを用いる。
本実施形態では、この動きベクトル割り当てにより分割されたセグメントについて、さらにセグメント毎に双方向インター予測の予測方向を選択することができることとする。これにより、一つのマクロブロック内に動きの異なる物体の境界が存在する場合などに、マクロブロック内の様々な動きを少ないオーバーヘッドで的確に捉えることが可能な当該セグメントについて、さらにセグメント毎に、より良い符号化効率を得ることのできる予測方向を、双方向予測における複数の予測方向の中から選択して割り当てることができ、予測効率を向上させることができる。
図３９に、本実施形態における双方向予測の例を示す。図３９では双方向予測フレームＢｔのマクロブロックＭにおいて図６のモード９の分割が用いられ、かつマクロブロック内の２つのセグメント毎にそれぞれ、時間的に前となる参照フレームＰｔ−１からの順方向予測Ｆ１、時間的に後となる参照フレームＰｔ＋１からの逆方向予測Ｂ１が用いられている場合を示す。
マクロブロックＭの符号化を行う場合、インター予測モードとしてまず図６Ａ〜図６Ｄにおけるそれぞれの予測モードの中から、より良い符号化効率を得ることのできる予測モードならびに動きベクトルが、図１における動き検出部２において評価・検出される。このとき本実施形態では、それぞれの予測モードにおいてさらに、２つのセグメント毎に双方向予測における複数の予測方向の中から、より良い符号化効率を得ることのできる予測方向が評価・検出される。図３９はこれらの評価・検出の結果、マクロブロックＭにおいて予測モードとしてモード９が選択され、かつそれぞれのセグメントについて異なる予測方向が選択された場合を示している。この選択結果は、以下に示す圧縮ストリーム中の情報として伝送される。
本実施形態の符号化装置から出力される圧縮ストリームのマクロブロックデータのシンタックスを、Ｈ．２６Ｌにおける双方向動き補償予測時のシンタックス（図４０Ａ）と比較して図４０Ｂに示す。
図４０Ａに示すＨ．２６Ｌのシンタックスにおいては、予測方向の情報は動きベクトル分割パターンを示す予測モードマクロブロックタイプ情報の中でマクロブロックにつき１つだけ伝送され、予測モードと合わせて識別される。本発明の動き補償モデルすなわち固定的な動きベクトル割り当てにおける双方向予測時のシンタックスを用いる場合においても同様な構成を採ることとし、セグメント毎の予測方向の選択状況に関する情報も含めて予測モードマクロブロックタイプ情報として構成し伝送することもできる。しかしながら本実施形態においては、Ｈ．２６Ｌにおける構成とは異なるものとして、予測モードの可変長符号化テーブルが長大となってしまうことを防ぐ構成とする。
図４０Ｂには本実施形態におけるシンタックスを示す。ここでは予測方向の情報は、双方向予測においてスキップマクロブロックに相当する予測モードとなるダイレクト（Ｄｉｒｅｃｔ）モードの識別についてのみマクロブロックタイプ情報に伝送されることとし、その他の予測方向の情報は参照フレーム情報としてとして伝送され、参照フレーム番号と合わせて識別されることとしている。またＨ．２６Ｌにおいて、双方向予測でのそれぞれの方向での予測モードを識別するために導入されているブロックサイズは用いないこととしている。なお、図４０Ａ、Ｂの矢印Ｐ２８〜Ｐ３６は該当の処理を省略してジャンプすることを表し、矢印Ｑ１２〜Ｑ１９はループを表す。
図４１には本実施形態におけるマクロブロックタイプ情報の符号表を示す。この符号表の構成は、符号表の先頭にダイレクトモードを置いたことを除けば、第１実施形態にて用いられるマクロブロックタイプ情報の構成と同様でよい。また、コード番号１７以降のイントラ１６×１６モードについての定義は省略しているが、これらはＨ．２６Ｌの符号表におけるイントラ１６×１６モードについての定義に準ずるものとする。マクロブロックタイプ情報の内容により後続のシンタックスが異なるものとなり、多くの予測モードではセグメント毎に参照フレーム情報が存在するため参照フレーム情報は２つ存在することとなるが、セグメント分割の無い予測モードであるモード０においては参照フレーム情報は１つだけとなり、またイントラ４×４モードでは参照フレーム情報は存在せずイントラ予測モード情報が存在することとなる。
図４２には本実施形態における参照フレーム情報の符号表を示す。Ｈ．２６Ｌにおける参照フレーム情報の構成では、順方向予測の参照フレーム番号を識別するための番号が順に並ぶ構成となるが、ここでは参照フレーム番号の他に、双方向予測における予測方向として、順方向（Ｆｏｒｗａｒｄ）、逆方向（Ｂａｃｋｗａｒｄ）、順方向と逆方向の予測値の平均値を用いる双方向（Ｂｉｄｉｒｅｃｔｉｏｎａｌ）についての情報が含まれた構成となり、またセグメント毎の参照フレーム情報が存在することとなる。順方向予測については複数の参照フレームの中から選択することができることから、順方向予測及び双方向予測についてはそれぞれ順方向での参照フレームを変更した場合についての符号が順に並ぶ構成となっている。参照フレーム情報にて予測方向が識別されることから、参照フレーム情報の内容により後続のシンタックスが異なるものとなり、順方向予測となる場合には順方向動きベクトル差分動きベクトル差分値ＦＷ、逆方向予測では逆方向動きベクトル差分動きベクトル差分値ＢＷ、双方向予測では動きベクトル差分値ＦＷと動きベクトル差分値ＢＷの両方が存在することとなる。また、それぞれの動きベクトル差分の数は、マクロブロックタイプ情報により識別された予測モードにより異なるものとなる。
図４２の参照フレーム情報符号は、Ｈ．２６Ｌにおける複数参照フレームの機能が用いられない場合、すなわち順方向予測の参照フレーム番号が１（１  ｆｒａｍｅｂａｃｋ  ｏｆ  Ｆｏｒｗａｒｄ）しか存在しない場合にもセグメント毎に存在し、この場合には双方向予測の予測方向のみが参照フレーム情報から識別されることとなる。
一方、復号装置では、圧縮ストリームから得られるこれらの情報から復号処理を行うが、その処理は第１実施形態において示した流れと同様であるので、ここでは詳細説明は省略する。本実施形態の復号装置が第１実施形態の復号装置と異なる点は、圧縮ストリームから得られる情報に予測モードのセグメント毎に異なる双方向予測の予測方向の選択状況に関する情報が含まれ、これに従い図２における動き補償部５が、セグメント毎に異なる双方向予測の予測方向を用いて動き補償ならびに予測画像の生成を行うことである。これにより、セグメント毎に、より良い予測効率を得ることのできる予測方向を割り当てて得られた予測画像が生成され、より符号化効率を向上させた復号映像を圧縮ストリームから得ることができる。
本実施形態においては動き補償モデルとして図６Ａ〜図６Ｄに示したものを用いることとしたが、さらに図４Ａ〜図４Ｇに示したような多くの動きベクトル本数を許容する動き補償モデルを同時にあるいは図６Ａ〜図６Ｄの補償モデルと切り替えて用いることとしてもよい。その場合にも分割されたブロック毎に予測の変更を行うことができるものとし、分割数が２以上となったものとみなして、本実施形態にて示したシンタックス及び符号化・復号方法を同じように適用し、マクロブロック内のブロック毎に、より良い符号化効率を得ることのできる予測方向を選択して割り当て、予測効率を向上させることができる。このとき分割数が２より大きくなる場合には、ブロック毎に予測方向の選択を行った場合の選択状況に関する情報のオーバーヘッドが大きくなってしまうことから、予測方向の選択は分割数が２の予測モードが使われる場合のみに許可されることとして、個々のマクロブロックにおいて使われる予測モードによって、ブロック毎の選択状況に関する情報が送付されるか否かが切り替えられる構成としてもよい。
セグメント毎の予測方向の選択状況に関する情報は付加的な情報として伝送されることとなるため、そういった切替が必要とされないようなシンプルな映像の場合は、マクロブロック内で予測方向は同一にするというルールも選択できるように構成してもよい。この場合、例えば、フレームもしくはフレーム群の単位で、マクロブロック内の予測方向変更を許すか否かを識別するためのフラグ情報を多重することが考えられる。これにより、復号装置は、マクロブロック内で予測方向が変更されない場合は、予測方向の選択状況を含んだシンタックスはマクロブロックにつき１つだけ存在するものとして動作すればよい。
また、本実施形態においては、マクロブロック内のセグメント毎に、双方向インター予測に用いる予測方向を選択して動き補償予測を行う符号化・復号方法を説明したが、まったく同じ方法にて、マクロブロック内のセグメント毎に、インター予測もしくはイントラ予測を選択してインター予測もしくはイントラ予測を行う符号化・復号方法を構成することもできる。そのような構成を採ることにより、インター予測によっては効率的な予測ができないセグメントに対してのみイントラ予測を選択して割り当てることができ、予測効率をさらに向上させることができる。
以上述べた本実施形態に係る符号化方法・復号方法によれば、マクロブロック内の様々な動きを少ないオーバーヘッドで的確に捉えることが可能になるとともに、それぞれ別の動きを捉えたセグメント毎に適切な双方向インター予測あるいはイントラ予測を適用することができ、効率よく映像伝送・記録・再生を行うことが可能となる。
ところで、上述した本発明の目的を達成するために、本発明に係る画像処理システムは、以下の各種の構成態様を採用することができる。
即ち、本発明に係る画像処理システムでは、符号化装置において動き補償予測手段が、第１のブロック単位に定まる第２のブロックへの動きベクトル割当パターンを予めグループ化した複数のパターングループのうちのいずれかを選択し、該選択されたパターングループに含まれる割当パターンに基づいて第２のブロックに対して動きベクトルを割り当てて動き補償予測を行い、割当情報符号化手段が、第１のブロック単位に符号化される動きベクトル割当状況に関する情報を、前記選択されたパターングループの中から特定される動きベクトル割当パターンの識別情報として出力する構成とされ、復号装置において割当情報復号手段が、動きベクトル割当情報を、第１のブロック単位に予め定められた第２のブロックへの動きベクトル割当パターンを識別する情報として復号するものとし、該割当パターン識別情報から割当パターンを特定するに際して、該割当パターンが属するパターングループを識別する情報を復号し、該パターングループ識別情報によって特定されたパターングループの定義に従って前記割当パターン識別情報から第２のブロックへの動きベクトル割当を決定する構成態様を採用することができる。
また、本発明に係る画像処理システムでは、符号化装置において割当情報符号化手段が、符号化対象となる第１のブロックについての動きベクトル割当パターンの形状に応じて動きベクトルの予測値を定め、当該予測値による予測差分値を動きベクトル情報として符号化する構成とされ、復号装置において割当情報復号手段が、復号対象となる第１のブロックについての動きベクトル割当パターンの形状に応じて定めた動きベクトルの予測値、による予測差分値を符号化することで得られた動きベクトル情報を復号する構成態様を採用することができる。
また、本発明に係る画像処理システムでは、符号化装置において割当情報符号化手段が、符号化対象となる第１のブロックについての動きベクトル割当パターンの形状に応じて動きベクトルの予測候補位置を定め、前記符号化対象となる第１のブロック近傍に位置する第１のブロックについての割当パターンの形状に応じて予測候補位置のうちのいずれかを予測値とし、当該予測値の予測差分値を動きベクトル情報として符号化する構成とされ、復号装置において割当情報復号手段が、復号対象となる第１のブロックについての動きベクトル割当パターンの形状に応じて定めた動きベクトルの予測候補位置のうちのいずれかを、近傍に位置する第１のブロックについての割当パターンの形状に応じて予測値とし、当該予測値の予測差分値を符号化することで得られた動きベクトル情報を復号する構成態様を採用することができる。
また、本発明に係る画像処理システムでは、符号化装置において動き補償予測手段が、第２のブロック単位での割り当て可能な動きベクトル数を最大２本とするとともに、第１のブロック単位に定まる該第１のブロックに含まれる第２のブロックへの割当状態を表す予め定められた複数の割当パターンのいずれかに基づいて、第２のブロックに対し動きベクトルを割り当てて動き補償予測を行い、割当情報符号化手段が、第１のブロック単位に定まる動きベクトルの割当状況に関する情報を、前記割当パターンの識別情報として出力する構成とされ、復号装置において第１のブロックの単位で復号される動きベクトルは最大２本とされ、動きベクトル割当情報は、第１のブロック単位に定まる該第１のブロックに含まれる第２のブロックへの動きベクトルの割当状態を表す予め定められた複数の割当パターンを識別する情報として復号される構成態様を採用することができる。
また、本発明に係る画像処理システムでは、符号化装置が、動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの１つ又は複数からなる単位で、動き補償予測のために保持された複数の参照フレームの中から一の参照フレームを選択して動き補償予測を行う補償予測手段と、１つ又は複数の第２のブロックに対する参照フレームの選択状況に関する情報をビットストリームに多重して出力する参照フレーム情報符号化手段とを備えた構成とされ、復号装置が、動画像のフレームを分割した第１のブロックの各々についてさらに分割した第２のブロックの１つ又は複数からなる単位で割り当てられた、動き補償予測に用いる参照フレームの選択状況に関する情報を復号する参照フレーム情報復号手段と、当該参照フレーム情報に基づいて、動き補償のために保持された複数の参照フレームの中から一の参照フレームを選択して動き補償を行い予測画像を生成する補償手段とを備えた構成態様を採用することができる。
また、本発明に係る画像処理システムでは、符号化装置が、動画像のフレームを分割した第１のブロックの各々についてさらに分割した１つ又は複数の第２のブロックからなる単位で、双方向インター予測に用いる予測方向を選択して動き補償予測を行う動き補償予測手段と、前記１つ又は複数の第２のブロックに対する予測方向の選択状況に関する情報をビットストリームに多重して出力する予測情報符号化手段とを備えた構成とされ、復号装置が、動画像のフレームを分割した第１のブロックの各々についてさらに分割した１つ又は複数の第２のブロックからなる単位で割り当てられた、双方向インター予測に用いる予測方向の選択状況に関する情報を復号する予測情報復号手段と、当該予測情報に基づいて、双方向フレーム間動き補償に用いる予測方向を順方向と逆方向の双方について保持している参照フレームの中から選択して動き補償を行い予測画像を生成する動き補償手段とを備えた構成態様を採用することができる。
また、本発明に係る画像処理システムでは、符号化装置が、動画像のフレームを分割した第１のブロックの各々についてさらに分割した１つ又は複数の第２のブロックからなる単位で、インター予測モードもしくはイントラ予測モードを選択してインター予測もしくはイントラ予測を行う予測手段と、前記１つ又は複数の第２のブロックに対するインター予測モードもしくはイントラ予測モードの選択状況に関する情報をビットストリームに多重して出力する予測モード情報符号化手段とを備えた構成とされ、復号装置が、動画像のフレームを分割した第１のブロックの各々についてさらに分割した１つ又は複数の第２のブロックからなる単位で割り当てられたインター予測モードもしくはイントラ予測モードの選択状況に関する情報を復号する予測モード情報復号手段と、当該予測情報に基づいて、インター予測モードもしくはイントラ予測モードを選択してインター予測もしくはイントラ予測を行い予測画像を生成する予測画像生成手段とを備えた構成態様を採用することができる。
産業上の利用可能性
以上説明したように、本発明によれば、第１のブロック内の様々な動きを少ないオーバーヘッドで的確に捉えることが可能となり、効率よく映像伝送・記録・再生を行うことが可能となる。
【図面の簡単な説明】
図１は、符号化装置の構成図である。
図２は、復号装置の構成図である。
図３Ａは、動き補償インター予測の説明に用いられる前フレームの内容を示す図である。
図３Ｂは、動き補償インター予測の説明に用いられる現フレームの内容を示す図である。
図４Ａは、Ｈ．２６Ｌにおけるインター予測モードのモード１を示す図である。
図４Ｂは、Ｈ．２６Ｌにおけるインター予測モードのモード２を示す図である。
図４Ｃは、Ｈ．２６Ｌにおけるインター予測モードのモード３を示す図である。
図４Ｄは、Ｈ．２６Ｌにおけるインター予測モードのモード４を示す図である。
図４Ｅは、Ｈ．２６Ｌにおけるインター予測モードのモード５を示す図である。
図４Ｆは、Ｈ．２６Ｌにおけるインター予測モードのモード６を示す図である。
図４Ｇは、Ｈ．２６Ｌにおけるインター予測モードのモード７を示す図である。
図５は、インター予測モードの各モードに対して必要な最小の伝送情報量を示す表である。
図６Ａは、発明の実施形態における固定分割パターンの第１グループを示す図である。
図６Ｂは、発明の実施形態における固定分割パターンの第２グループを示す図である。
図６Ｃは、発明の実施形態における固定分割パターンの第３グループを示す図である。
図６Ｄは、発明の実施形態における固定分割パターンの第４グループを示す図である。
図７Ａは、現在のマクロブロックがモード１で、その左、上、右上のマクロブロックがそれぞれモード０、１、８であるケースを示す図である。
図７Ｂは、上のマクロブロックが現在のマクロブロックと異なる参照フレームを使用しているケースを示す図である。
図８Ａは、モード０のケースでの動きベクトル予測値決定処理の流れを説明するための図である。
図８Ｂは、モード１のケースでの動きベクトル予測値決定処理の流れを説明するための図である。
図８Ｃは、モード７のケースでの動きベクトル予測値決定処理の流れを説明するための図である。
図９は、近傍のマクロブロックとの動きの連続性を考慮して各予測モードに対して定義された上部優先度及び左部優先度の一例を示す表である。
図１０Ａは、固定分割パターンの第１グループの各予測モードに対して固定的に与えられた動きベクトルの予測値を示す図である。
図１０Ｂは、固定分割パターンの第２グループの各予測モードに対して固定的に与えられた動きベクトルの予測値を示す図である。
図１０Ｃは、固定分割パターンの第３グループの各予測モードに対して固定的に与えられた動きベクトルの予測値を示す図である。
図１０Ｄは、固定分割パターンの第４グループの各予測モードに対して固定的に与えられた動きベクトルの予測値を示す図である。
図１１Ａは、Ｈ．２６Ｌにおける圧縮ストリームのマクロブロックデータのシンタックスを示す図である。
図１１Ｂは、第１実施形態における圧縮ストリームのマクロブロックデータのシンタックスを示す図である。
図１２は、第１実施形態における復号装置の処理内容を示す流れ図である。
図１３Ａは、任意の割当状況を指定するため４×４のバイナリマップ情報として表現された予測モードの第１の定義例を示す図である。
図１３Ｂは、任意の割当状況を指定するため４×４のバイナリマップ情報として表現された予測モードの第２の定義例を示す図である。
図１３Ｃは、任意の割当状況を指定するため４×４のバイナリマップ情報として表現された予測モードの第３の定義例を示す図である。
図１４は、第２実施形態における動きベクトル検出の手順を示す図である。
図１５は、動きベクトル検出の別の手順を示す図である。
図１６Ａは、第２実施形態における予測モード情報の符号化方法のうちマクロブロックＡからの動きの連続性が高い場合の例を説明するための図である。
図１６Ｂは、第２実施形態における予測モード情報の符号化方法のうちマクロブロックＢからの動きの連続性が高い場合の例を説明するための図である。
図１７は、第２実施形態における符号化処理の内容を示す流れ図である。
図１８Ａは、符号長ＣＢ（４）の例を示す表である。
図１８Ｂは、符号長ＣＢ（３）の例を示す表である。
図１８Ｃは、符号長ＣＢ（２）の例を示す表である。
図１９Ａは、Ｈ．２６Ｌにおける圧縮ストリームのマクロブロックデータのシンタックスを示す図である。
図１９Ｂは、第２実施形態における圧縮ストリームのマクロブロックデータの最もシンプルなシンタックス例を示す図である。
図１９Ｃは、第２実施形態における圧縮ストリームのマクロブロックデータの別のシンタックス例を示す図である。
図２０は、第２実施形態における復号装置の処理内容を示す流れ図である。
図２１は、第３実施形態における符号化装置の処理内容を示す流れ図である。
図２２は、第３実施形態における符号化装置の処理内容の説明図である。
図２３Ａは、スキャンテーブルのジグザグスキャンの例を示す図である。
図２３Ｂは、スキャンテーブルの水平スキャンの例を示す図である。
図２３Ｃは、スキャンテーブルのヒルベルトスキャンの例を示す図である。
図２４Ａは、第４実施形態における対角方向にイントラ／インターの区別が行われインターの中でも２つの動きベクトルが使用された予測モードの定義例を示す図である。
図２４Ｂは、第４実施形態におけるマクロブロックが上下に分割され上部がイントラで下部がインターで予測される予測モードの定義例を示す図である。
図２５Ａは、イントラ／インター分類のプレーンを示す図である。
図２５Ｂは、イントラ予測方法のプレーンを示す図である。
図２５Ｃは、動きベクトル割当のプレーンを示す図である。
図２６Ａは、イントラ／インター分類のプレーンを示す図である。
図２６Ｂは、イントラ、インターに該当するサブブロック分だけをビットプレーンデータとした場合のイントラ予測方法のプレーンを示す図である。
図２６Ｃは、イントラ、インターに該当するサブブロック分だけをビットプレーンデータとした場合の動きベクトル割当のプレーンを示す図である。
図２７は、図２４Ａのケースを第４実施形態の符号化方法２で変換した例を示す図である。
図２８は、第４実施形態の符号化方法１に対応する圧縮ストリームのマクロブロックデータのシンタックスを示す図である。
図２９は、第４実施形態の符号化方法２に対応する圧縮ストリームのマクロブロックデータのシンタックスを示す図である。
図３０は、第４実施形態の符号化方法３に対応する圧縮ストリームのマクロブロックデータのシンタックスを示す図である。
図３１は、第４実施形態の符号化方法４に対応する圧縮ストリームのマクロブロックデータのシンタックスを示す図である。
図３２Ａは、最小限の予測モードを用いた予測モードセットの定義例を示す図である。
図３２Ｂは、第１実施形態で提示した少ない動きベクトルを用いた予測モードセットの定義例を示す図である。
図３２Ｃは、多数分割多数動きベクトルによる予測モードセットの定義例を示す図である。
図３３Ａは、Ｈ．２６Ｌにおける参照フレーム情報の符号構成を示す表である。
図３３Ｂは、参照フレーム情報の組み合わせに対して割り当てた符号の例を示す表である。
図３３Ｃは、図３３Ｂに対応するマクロブロックデータのシンタックスを示す図である。
図３４Ａは、変更前もしくは予測値が０であった場合に予測値に応じて切り替えた符号を示す表である。
図３４Ｂは、予測値が４であった場合に予測値に応じて切り替えた符号を示す表である。
図３５Ａは、直交変換係数データの符号化の効率化を説明する上でマクロブロックの分割例を示す図である。
図３５Ｂは、８×８ブロック単位で有意係数の有無を伝送する例を示す図である。
図３５Ｃは、分割領域について有意係数の有無を送る例を示す図である。
図３６Ａは、第５実施形態における動きベクトル探索範囲の適応化を行う場合の動きベクトル検出処理を説明するための図である。
図３６Ｂは、第５実施形態における動きベクトル探索範囲の適応化を行わない場合の動きベクトル検出処理を説明するための図である。
図３７Ａは、第５実施形態の固定分割パターンの第１グループに関する動きベクトル予測ルールを説明するための図である。
図３７Ｂは、第５実施形態の固定分割パターンの第２グループに関する動きベクトル予測ルールを説明するための図である。
図３７Ｃは、第５実施形態の固定分割パターンの第３グループに関する動きベクトル予測ルールを説明するための図である。
図３７Ｄは、第５実施形態の固定分割パターンの第４グループに関する動きベクトル予測ルールを説明するための図である。
図３８は、第５実施形態の動きベクトル検出処理を示す流れ図である。
図３９は、第６実施形態における双方向予測の例を示す図である。
図４０Ａは、Ｈ．２６Ｌにおける双方向動き補償予測時のシンタックスを示す図である。
図４０Ｂは、第６実施形態での圧縮ストリームのマクロブロックデータのシンタックスを示す図である。
図４１は、第６実施形態におけるマクロブロックタイプ情報の符号表である。
図４２は、第６実施形態における参照フレーム情報の符号表である。
図４３は、符号化装置の基本的な動作を示す流れ図である。
図４４は、復号装置の基本的な動作を示す流れ図である。
【図１】
2003026315.tif 000003
【図２】
2003026315.tif 000004
【図３Ａ】
2003026315.tif 000005
【図３Ｂ】
2003026315.tif 000006
【図４Ａ】
2003026315.tif 000007
【図４Ｂ】
2003026315.tif 000008
【図４Ｃ】
2003026315.tif 000009
【図４Ｄ】
2003026315.tif 000010
【図４Ｅ】
2003026315.tif 000011
【図４Ｆ】
2003026315.tif 000012
【図４Ｇ】
2003026315.tif 000013
【図５】
2003026315.tif 000014
【図６Ａ】
2003026315.tif 000015
【図６Ｂ】
2003026315.tif 000016
【図６Ｃ】
2003026315.tif 000017
【図６Ｄ】
2003026315.tif 000018
【図７Ａ】
2003026315.tif 000019
【図７Ｂ】
2003026315.tif 000020
【図８Ａ】
2003026315.tif 000021
【図８Ｂ】
2003026315.tif 000022
【図８Ｃ】
2003026315.tif 000023
【図９】
2003026315.tif 000024
【図１０Ａ】
2003026315.tif 000025
【図１０Ｂ】
2003026315.tif 000026
【図１０Ｃ】
2003026315.tif 000027
【図１０Ｄ】
2003026315.tif 000028
【図１１Ａ】
2003026315.tif 000029
【図１１Ｂ】
2003026315.tif 000030
【図１２】
2003026315.tif 000031
【図１３Ａ】
2003026315.tif 000032
【図１３Ｂ】
2003026315.tif 000033
【図１３Ｃ】
2003026315.tif 000034
【図１４】
2003026315.tif 000035
【図１５】
2003026315.tif 000036
【図１６Ａ】
2003026315.tif 000037
【図１６Ｂ】
2003026315.tif 000038
【図１７】
2003026315.tif 000039
【図１８Ａ】
2003026315.tif 000040
【図１８Ｂ】
2003026315.tif 000041
【図１８Ｃ】
2003026315.tif 000042
【図１９Ａ】
2003026315.tif 000043
【図１９Ｂ】
2003026315.tif 000044
【図１９Ｃ】
2003026315.tif 000045
【図２０】
2003026315.tif 000046
【図２１】
2003026315.tif 000047
【図２２Ａ】
2003026315.tif 000048
【図２２Ｂ】
2003026315.tif 000049
【図２２Ｃ】
2003026315.tif 000050
【図２３Ａ】
2003026315.tif 000051
【図２３Ｂ】
2003026315.tif 000052
【図２３Ｃ】
2003026315.tif 000053
【図２４Ａ】
2003026315.tif 000054
【図２４Ｂ】
2003026315.tif 000055
【図２５Ａ】
2003026315.tif 000056
【図２５Ｂ】
2003026315.tif 000057
【図２５Ｃ】
2003026315.tif 000058
【図２６Ａ】
2003026315.tif 000059
【図２６Ｂ】
2003026315.tif 000060
【図２６Ｃ】
2003026315.tif 000061
【図２７】
2003026315.tif 000062
【図２８】
2003026315.tif 000063
【図２９】
2003026315.tif 000064
【図３０】
2003026315.tif 000065
【図３１】
2003026315.tif 000066
【図３２Ａ】
2003026315.tif 000067
【図３２Ｂ】
2003026315.tif 000068
【図３２Ｃ】
2003026315.tif 000069
【図３３Ａ】
2003026315.tif 000070
【図３３Ｂ】
2003026315.tif 000071
【図３３Ｃ】
2003026315.tif 000072
【図３４Ａ】
2003026315.tif 000073
【図３４Ｂ】
2003026315.tif 000074
【図３５Ａ】
2003026315.tif 000075
【図３５Ｂ】
2003026315.tif 000076
【図３５Ｃ】
2003026315.tif 000077
【図３６Ａ】
2003026315.tif 000078
【図３６Ｂ】
2003026315.tif 000079
【図３７Ａ】
2003026315.tif 000080
【図３７Ｂ】
2003026315.tif 000081
【図３７Ｃ】
2003026315.tif 000082
【図３７Ｄ】
2003026315.tif 000083
【図３８】
2003026315.tif 000084
【図３９】
2003026315.tif 000085
【図４０Ａ】
2003026315.tif 000086
【図４０Ｂ】
2003026315.tif 000087
【図４１】
2003026315.tif 000088
【図４２】
2003026315.tif 000089
【図４３】
2003026315.tif 000090
【図４４】
2003026315.tif 000091
【国際調査報告】
2003026315.tif 000092
2003026315.tif 000093
2003026315.tif 000094
2003026315.tif 000095
2003026315.tif 000096
2003026315.tif 000097
2003026315.tif 000098