(57)【要約】【課題】従来の動画像符号化／復号では、予め用意された形状パターンで動き補償予測をするため、最適な形状パターンを選択できず、符号化効率の向上に限界がある。【解決手段】可変長復号部２０１は、符号化ストリームより、復号対象ブロックに対する複数の動きベクトルを復号する。本領域分割・動き補償部２０３は、複数の動きベクトルを用いて、参照画像から復号対象ブロックに対応した複数の予測ブロックを生成し、複数の予測ブロックのアクティビティに基づいて境界を決定し、各予測ブロックを境界で分割して得た領域を各予測ブロック間で結合させることにより、合成予測ブロックを生成する。加算部２０９は、合成予測ブロックと、復号対象ブロックから復号した予測差分ブロックとを加算することにより、復号画像を生成する。【選択図】図２
2011234338.tif 000002
【特許請求の範囲】
【請求項１】
符号化ストリームより、復号対象ブロックに対する複数の動きベクトルを復号する復号部と、
複数の動きベクトルを用いて、参照画像から前記復号対象ブロックに対応した複数の予測ブロックを生成し、複数の予測ブロックのアクティビティに基づいて境界を決定し、前記各予測ブロックを前記境界で分割して得た領域を前記各予測ブロック間で結合させることにより、合成予測ブロックを生成する動き補償部と、
前記合成予測ブロックと、前記復号対象ブロックから復号した予測差分ブロックとを加算することにより、復号画像を生成する加算部とを備えることを特徴とする動画像復号装置。
【請求項２】
前記動き補償部は、複数の予測ブロックの各隣接画素間のアクティビティに基づいて境界候補に対応する評価値を算出し、前記評価値を用いて境界候補の中から境界を決定することを特徴とする請求項１に記載の動画像復号装置。
【請求項３】
前記境界候補は、２画素間隔以上の所定画素間隔毎に設けられており、前記動き補償部は、境界候補のアクティビティと、境界候補に隣接する境界候補に設定されていない境界のアクティビティとにもとづいて境界候補に対応する前記評価値を算出することを特徴とする請求項２に記載の動画像復号装置。
【請求項４】
前記予測ブロックのアクティビティは、前記予測ブロックが分割される境界をまたぐ画素値を評価した境界アクティビティであることを特徴とする請求項１から３のいずれかに記載の動画像復号装置。
【請求項５】
符号化ストリームより、復号対象ブロックに対する複数の動きベクトルを復号するステップと、
複数の動きベクトルを用いて、参照画像から前記復号対象ブロックに対応した複数の予測ブロックを生成し、複数の予測ブロックのアクティビティに基づいて境界を決定し、前記各予測ブロックを前記境界で分割して得た領域を前記各予測ブロック間で結合させることにより、合成予測ブロックを生成するステップと、
前記合成予測ブロックと、前記復号対象ブロックから復号した予測差分ブロックとを加算することにより、復号画像を生成するステップとを備えることを特徴とする動画像復号方法。
【請求項６】
符号化ストリームより、復号対象ブロックに対する複数の動きベクトルを復号する機能と、
複数の動きベクトルを用いて、参照画像から前記復号対象ブロックに対応した複数の予測ブロックを生成し、複数の予測ブロックのアクティビティに基づいて境界を決定し、前記各予測ブロックを前記境界で分割して得た領域を前記各予測ブロック間で結合させることにより、合成予測ブロックを生成する機能と、
前記合成予測ブロックと、前記復号対象ブロックから復号した予測差分ブロックとを加算することにより、復号画像を生成する機能とをコンピュータに実現させることを特徴とする動画像復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の復号技術に関し、特に動き補償予測を利用した動画像の復号技術に関する。
【背景技術】
【０００２】
ＭＰＥＧ（Moving Picture Experts Group）に代表される動画像の圧縮符号化では、画面間の相関を利用して符号量を圧縮する動き補償予測が多く用いられる。ＭＰＥＧ等で用いられる動き補償予測では、所定サイズのブロック毎に、既に復号済の参照画像から、符号化対象画像と参照画像の相対位置関係を示す動きベクトルを用いて予測画像を生成する。その後、符号化側では、符号化対象原画像と動き補償予測により生成された予測画像との差分である予測誤差を算出し、予測誤差のみを復号側に伝送する。これにより、動き補償予測を用いない場合と比較して伝送する符号量を大幅に削減できる。
【０００３】
一般に、符号化・復号処理はマクロブロック（所定ブロックサイズの画素群、例えば１６×１６）単位で行われる。動き補償予測もマクロブロック単位で行われることが多いが、この場合、マクロブロックよりも小さな物体等の動きを捉えることが難しく、結果として符号化効率が低下する。そこで、動き補償予測をさらに効率良く機能させる方法として、マルチブロックパターン動き補償予測が用いられる。
【０００４】
マルチブロックパターン動き補償予測では、マクロブロック内をさらにサブブロックに分割し、サブブロック毎に異なる動きベクトルを用いて動き補償予測を行うことが可能である。使用する動き補償予測ブロックの分割パターンは、符号化側と復号側の同一規則として予め定義しておく。符号化側では定義されたブロックパターンの中から動き補償予測のブロックパターンを選択し、ブロックパターンの選択情報を復号側に伝送する。復号側では、受信したブロックパターンの選択情報に基づき動き補償予測を行う。マルチブロックパターン動き補償予測では、符号化側で動き補償予測に最適なブロックパターンを選択すると、動き補償予測後の予測誤差が減少し、符号化効率が向上する。
【０００５】
具体的なブロックパターンの例として、ＩＳＯ／ＩＥＣとＩＴＵ−Ｔの合同ビデオチーム（ＪＶＴ）が国際標準化したＭＰＥＧ−４  ＡＶＣ(Advanced Video Coding)では、マクロブロック（１６×１６ブロック）内をさらに１６×８／８×１６／８×８／８×４／４×８／４×４のブロックパターンに分割して動き補償予測を行うことが可能である。符号化側では、ブロックパターンを選択し、ブロックパターンの選択情報をビットストリーム内に符号化する。復号側では、ビットストリーム内に符号化されているブロックパターンに応じてマクロブロックを領域分割し、分割された領域毎に動き補償予測を行う。
【０００６】
更に、特許文献１や特許文献２には、さまざまな動き補償予測形状パターンを定義し、より柔軟な形状で動き補償予測を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４０２５５７０号公報
【特許文献２】再公表特許第ＷＯ２００３−０２６３１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１や特許文献２に開示された方法では、定義する動き補償予測形状パターンを増やした場合、形状パターン数が増加するにつれ、伝送する形状パターンの選択情報に費やす符号量が多くなってしまう。つまり、形状パターンが増加したことによる予測誤差の減少と、形状パターン選択に関する符号量増加はトレードオフ関係にあるため、単に形状パターン数を増やすだけでは全体的な符号化効率を向上させることは難しい。
【０００９】
このように従来の動画像符号化／復号では、予め定義した形状パターンの動き補償予測しか行えないため、最適な形状で動き補償予測を行うことができず、符号化効率を向上させることができない。また、定義する動き補償予測形状パターンを増やした場合、動き補償予測形状パターンの選択に関する付加情報の符号量が増加するため、全体的な符号化効率が向上するとは限らない。
【００１０】
本発明はこうした状況に鑑みてなされたものであり、その目的は、動き補償予測のブロックパターンに関する付加情報の符号量を増加させることなく、さまざまなブロックパターンでの動き補償予測を可能にすることで、予測誤差を減少させて符号化効率を向上させる技術を提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明のある態様の動画像復号装置は、符号化ストリームより、復号対象ブロックに対する複数の動きベクトルを復号する復号部（２０１）と、複数の動きベクトルを用いて、参照画像から前記復号対象ブロックに対応した複数の予測ブロックを生成し、複数の予測ブロックのアクティビティに基づいて境界を決定し、前記各予測ブロックを前記境界で分割して得た領域を前記各予測ブロック間で結合させることにより、合成予測ブロックを生成する動き補償部（２０３）と、前記合成予測ブロックと、前記復号対象ブロックから復号した予測差分ブロックとを加算することにより、復号画像を生成する加算部（２０９）とを備える。
【００１２】
本発明の別の態様は、動画像復号方法である。この方法は、符号化ストリームより、復号対象ブロックに対する複数の動きベクトルを復号するステップと、複数の動きベクトルを用いて、参照画像から前記復号対象ブロックに対応した複数の予測ブロックを生成し、複数の予測ブロックのアクティビティに基づいて境界を決定し、前記各予測ブロックを前記境界で分割して得た領域を前記各予測ブロック間で結合させることにより、合成予測ブロックを生成するステップと、前記合成予測ブロックと、前記復号対象ブロックから復号した予測差分ブロックとを加算することにより、復号画像を生成するステップとを備える。
【００１３】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１４】
本発明によれば、動き補償予測のブロックパターンに関する付加情報の符号量を増加させることなく、さまざまなブロックパターンでの動き補償予測を可能にすることで、予測誤差を減少させて符号化効率を向上させることができる。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１の動画像符号化装置の構成を示すブロック図である。
【図２】実施の形態１の動画像復号装置の構成を示すブロック図である。
【図３】マクロブロックを水平方向に２分割するパターンを説明する図である。
【図４】マクロブロックを垂直方向に２分割するパターンを説明する図である。
【図５】マクロブロックの仮領域毎に検出される動きベクトルを示す図である。
【図６】仮領域毎に検出された動きベクトルから生成される動き補償予測画像を示す図である。
【図７】各仮領域の動きベクトルから生成される動き補償予測画像を合成して得られる合成動き補償予測画像を示す図である。
【図８】各仮領域の動きベクトルから生成される動き補償予測画像を合成して合成動き補償予測画像を生成する方法を説明する図である。
【図９】図１の本領域分割・動き補償部による本境界の決定手順を説明するフローチャートである。
【図１０】動き補償予測画像についての本境界決定に関するアクティビティを説明する図である。
【図１１】本境界候補を２画素間隔に定義する場合の第１アクティビティ及び第２アクティビティの算出の例を説明する図である。
【図１２】実施の形態２の動画像符号化装置による動きベクトルの調整手順を説明するフローチャートである。
【図１３】実施の形態３の動画像符号化装置による仮境界の調整手順を説明するフローチャートである。
【図１４】実施の形態１〜３の動画像符号化装置により符号化される動画像のビットストリームの第一のシンタックスパターンを示す図である。
【図１５】スライス単位で動き補償予測の形状を復号側で自動的に決定するかどうかを示す第１フラグがＯＮ／ＯＦＦそれぞれの場合のマクロブロックタイプmb_typeのセマンティックスを示す図である。
【図１６】マクロブロック単位で動き補償予測の形状を復号側で自動的に決定するかどうかを示す第２フラグを伝送する第二のシンタックスパターンを示す図である。
【図１７】スライスレベルで動き補償予測の形状を復号側で自動的に決定するアルゴリズムを切り替える第三のシンタックスパターンを示す図である。
【図１８】マクロブロックの分割方向をシンタックス上で区別しない第四のシンタックスパターンを示す図である。
【図１９】第四のシンタックスパターンのマクロブロックタイプのセマンティックスを示す図である。
【図２０】領域分割をマクロブロックタイプと連動させずに決定する第五のシンタックスパターンを示す図である。
【図２１】本発明の実施の形態を双方向予測に対して適用する場合について説明する図である。
【図２２】マクロブロックを２次元に領域分割する方法を示す図である。
【図２３】マクロブロックを２次元に分割して動き補償を行う手順を説明するフローチャートである。
【図２４】マクロブロックを３つの領域に分割する方法を示す図である。
【図２５】マクロブロックを３分割して動き補償を行う手順を説明するフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について図面を参照して説明する。
【００１７】
（実施の形態１）
図１は、実施の形態１の動画像符号化装置の構成を示すブロック図である。実施の形態１の動画像符号化装置は、仮領域分割部１０１、動きベクトル検出部１０２、本領域分割・動き補償部１０３、直交変換・量子化部１０４、可変長符号化部１０５、逆量子化・逆直交変換部１０６、参照画像メモリ１０７、減算部１０８、および加算部１０９を備える。
【００１８】
仮領域分割部１０１は、例えば１６×１６マクロブロックなどの符号化対象となっている画素群について、任意の境界で領域を分割する。この領域分割は動きベクトル検出のための符号化側の独自手法であり、どのような境界で領域分割しても構わないが、動き補償予測の効率が向上する境界で領域分割するのが望ましい。ここでは、最も単純な仮領域分割として、水平方向又は垂直方向にのみマクロブロックを２分割する場合を例として挙げて説明する。
【００１９】
図３（ａ）〜（ｃ）は、マクロブロックを水平方向に２分割するパターンを説明する図である。図３（ａ）は、上から４画素目の水平境界でマクロブロックを１６×４の上側領域と１６×１２の下側領域に２分割したパターンであり、図３（ｂ）は、上から８画素目の水平境界でマクロブロックを１６×８の上側領域と１６×８の下側領域に２分割したパターンであり、図３（ｃ）は、上から１２画素目の水平境界でマクロブロックを１６×１２の上側領域と１６×４の下側領域に２分割したパターンである。
【００２０】
図４（ａ）〜（ｃ）は、マクロブロックを垂直方向に２分割するパターンを説明する図である。図４（ａ）は、左から４画素目の垂直境界でマクロブロックを４×１６の左側領域と１２×１６の右側領域に２分割したパターンであり、図４（ｂ）は、左から８画素目の垂直境界でマクロブロックを８×１６の左側領域と８×１６の右側領域に２分割したパターンであり、図４（ｃ）は、左から１２画素目の垂直境界でマクロブロックを１２×１６の左側領域と４×１６の右側領域に２分割したパターンである。
【００２１】
仮領域分割部１０１により決められるマクロブロックの境界を「仮境界」（provisional boundary）と呼び、仮境界により分割されたマクロブロック内の各領域を「仮領域」（provisional region）と呼ぶ。
【００２２】
ここでは、水平方向または垂直方向に２分割するパターンを３つ示したが、水平境界または垂直境界の候補位置を増やして４以上の分割パターンを設けてもよい。また、斜め方向の境界で分割したり、折れ曲がった境界で分割してもよい。
【００２３】
仮領域分割部１０１は、符号化対象となる原画像信号について、各水平境界に関する水平アクティビティ、または各垂直境界に関する垂直アクティビティを計算する。後述のように、折れ曲がった境界でマクロブロックを分割した場合は、折れ曲がった境界に沿ってアクティビティを計算する。
【００２４】
画像信号のアクティビティとは、画素に対して何らかの演算を施した値のことである。マクロブロックを領域分割する境界に関するアクティビティとして、たとえば、境界をまたぐ２画素間の絶対差分和（ＳＡＤ）を用いることができる。例えば、マクロブロック内のX座標をｉ、Y座標をｊとして、点（ｉ，ｊ）における画素値をＡｉ，ｊとすると、上からｊ画素目の水平境界ｊの水平アクティビティは以下のように定義される。
水平アクティビティ＝Σｉ＝０１５｜Ａｉ，ｊ−Ａｉ，ｊー１｜
ここで、Σｉ＝０１５は、添え字ｉを０から１５まで動かした場合の総和である。
【００２５】
ただし、アクティビティは絶対差分和（ＳＡＤ）でなくてもよい。以下に示すような絶対二乗和（ＳＳＤ）であってもよい。
水平アクティビティ＝Σｉ＝０１５（Ａｉ，ｊ−Ａｉ，ｊー１）２
【００２６】
同様に、マクロブロックの左からｉ画素目の垂直境界ｉの垂直アクティビティは以下のように定義される。
垂直アクティビティ＝Σｊ＝０１５｜Ａｉ，ｊ−Ａｉー１，ｊ｜
【００２７】
アクティビティは物体のエッジなどで大きい値になる。仮領域分割部１０１は、アクティビティ値が最も大きい境界でマクロブロックの領域を仮分割する。
【００２８】
動きベクトル検出部１０２は、仮領域分割部１０１により分割された各仮領域について動きベクトルを検出する。
【００２９】
図５は、マクロブロックの仮領域毎に検出される動きベクトルを示す図である。仮領域分割部１０１が、マクロブロックを図３（ａ）のように上から４画素目の水平境界で仮分割した場合を例に取ると、動きベクトル検出部１０２は、図５に示すように、１６×４の上側領域と１６×１２の下側領域のそれぞれについて動きベクトルを検出する。
【００３０】
ここで、動きベクトルはブロックマッチング法を用いて検出する。動きベクトル検出のアルゴリズムは指定した探索領域内の候補ベクトルをすべて評価するフルサーチの他、さまざまな動き特性から探索する候補ベクトルを絞り込んで探索する高速サーチなどいろいろな方法が存在する。仮領域分割部１０１で分割したブロック毎に動きベクトルを検出することができるものであれば、どのような動きベクトル検出アルゴリズムを用いることも可能である。
【００３１】
本領域分割・動き補償部１０３は、動きベクトル検出部１０２で検出された各仮領域の動きベクトルを用いて、参照画像メモリ１０７に蓄積されている参照画像から動き補償予測を行う。本領域分割・動き補償部１０３は、後述の手順で、各仮領域の動きベクトルから生成される複数の動き補償予測画像を合成して合成動き補償予測画像を生成する。
【００３２】
図６（ａ）、（ｂ）は、仮領域毎に検出された動きベクトルから生成される動き補償予測画像を示す。図７（ａ）〜（ｃ）は、各仮領域の動きベクトルから生成される動き補償予測画像を合成して得られる合成動き補償予測画像を示す。
【００３３】
仮領域分割部１０１が、マクロブロックを図３（ａ）に示すように上から４画素目の水平境界で仮分割した場合を例に説明する。動きベクトル検出部１０２は、図５に示すように、１６×４の上側領域と１６×１２の下側領域のそれぞれについて動きベクトルを検出した結果、符号化対象マクロブロックには２つの動きベクトル（第１、第２動きベクトル）が存在する。本領域分割・動き補償部１０３は、図６（ａ）、（ｂ）に示すように、動きベクトル検出部１０２により検出された動きベクトル毎に、参照画像を用いて、仮に当該マクロブロックの大きさ（ここでは１６×１６）で動き補償予測した場合の画像を生成する。図６（ａ）は、１６×４の上側領域の第１動きベクトルを用いて生成された第１動き補償予測画像であり、図６（ｂ）は、１６×１２の下側領域の第２動きベクトルを用いて生成された第２動き補償予測画像である。
【００３４】
本領域分割・動き補償部１０３は、図６（ａ）、（ｂ）に示す第１、第２動き補償予測画像を、図７に示す（ａ）〜（ｃ）のいずれかのパターンに合成して合成動き補償予測画像を生成する。第１、第２動き補償予測画像は符号化対象マクロブロックと同一の大きさであり、合成動き補償予測画像を生成するために、ある境界で分割される。本領域分割・動き補償部１０３により決められるマクロブロックの境界を「本境界」（actual boundary）と呼び、本境界により分割されたマクロブロックの領域を「本領域」（actual region）と呼び、仮領域分割部１０１により決められる「仮境界」、「仮領域」と区別する。
【００３５】
図７（ａ）〜（ｃ）は、本領域分割・動き補償部１０３が決定する本境界の候補を示したものである。図７（ａ）は上から４画素目の水平境界を本境界とし、図７（ｂ）は上から８画素目の水平境界を本境界とし、図７（ｃ）は上から１２画素目の水平境界を本境界として、それぞれ、本境界より上側の本領域は第１動き補償予測画像の対応する領域、本境界より下側の本領域は第２動き補償予測画像の対応する領域で表したものである。
【００３６】
本領域分割・動き補償部１０３は、エッジ強度などを表す評価値にもとづいて、本境界を決定し、決定された本境界で第１、第２動き補償予測画像を分割して合成する。
【００３７】
図８（ａ）〜（ｃ）は、各仮領域の動きベクトルから生成される動き補償予測画像を合成して合成動き補償予測画像を生成する方法を説明する図である。本領域分割・動き補償部１０３は、本境界決定後、図８（ａ）の第１動きベクトルに対応する第１動き補償予測画像と図８（ｂ）の第２動きベクトルに対応する第２動き補償予測画像を用いて、本境界より上の領域を第１動き補償予測画像として動き補償予測し、本境界より下の領域を第２動き補償予測画像として動き補償予測する。この例では、本境界より上の１６×４の領域には、第１動き補償予測画像の対応する領域が複製され、本境界より下の１６×１２の領域には、第２動き補償予測画像の対応する領域が複製される。
【００３８】
ここでは水平方向の領域分割を例に説明したが垂直方向の領域分割の場合も同様の方法で実施可能である。また、今回は本境界候補を図７（ａ）〜（ｃ）の３通りとする場合を説明したが、本境界の候補をさらに増やしてもよい。ただし、後述するように、直交変換・量子化部１０４の直交変換サイズとの関係を十分に考慮しておく必要がある。
【００３９】
図１に戻り、減算部１０８は、符号化対象原画像と本領域分割・動き補償部１０３で算出した動き補償予測画像との差分により、予測残差成分を算出し、直交変換・量子化部１０４に与える。直交変換・量子化部１０４は、予測残差成分の直交変換・量子化を行う。
【００４０】
ここで、直交変換・量子化部１０４は、動き補償予測のサイズに対応した直交変換サイズを使用して直交変換を行う。つまり、動き補償予測のサイズとして１６×４／１６×８／１６×１２（垂直方向に４の倍数）が許容されている場合、少なくとも１６×４又は８×４又は４×４（垂直方向に４の倍数）の直交変換サイズを使用できるようにする。他の例として、動き補償予測のサイズとして１６×２／１６×４／１６×６／１６×８／１６×１０／１６×１２（垂直方向に２の倍数）が許容されている場合、少なくとも１６×２又は８×２又は４×２（垂直方向に２の倍数）の直交変換サイズを使用できるようにする。これにより、動き補償予測の予測誤差を直交変換する際に、直交変換する予測誤差集合の中に動き補償予測の境界が含まれることがなくなる。これにより、動き補償予測の境界をまたいだ画素を予測誤差として一緒に直交変換することによる直交変換効率の低下を防止することができ、符号化効率を一層向上させる効果を奏する。
【００４１】
可変長符号化部１０５は、直交変換・量子化部１０４で直交変換・量子化された予測残差成分を可変長符号化するとともに、動きベクトル検出部１０２で検出した動きベクトルを可変長符号化する。従来のようにマクロブロックを固定境界で分割する場合は、動きベクトルはラスタ順（すなわち、左上のブロックから右下のブロックへの順）で伝送する。本実施の形態のように動き補償予測の形状を復号側で自動的に決定する場合は、動き補償予測の各領域内の一番左上画素の位置がラスタ順で先のものから順に動きベクトルを伝送する。これにより、従来技術と同様、複数の動きベクトルを伝送する順序によって、動き補償予測の対象領域を一意的に表現することが可能である。
【００４２】
逆量子化・逆直交変換部１０６は、直交変換・量子化部１０４によって直交変換・量子化された予測残差成分に対して、逆直交変換及び逆量子化を行う。直交変換・量子化部１０４と同様に、動き補償予測のサイズに対応したサイズで逆直交変換できるようにしておく。
【００４３】
加算部１０９は、逆量子化・逆直交変換部１０６により復号された予測残差成分と、本領域分割・動き補償部１０３により算出された動き補償予測画像とを加算することで参照画像を生成し、参照画像メモリ１０７に格納する。
【００４４】
図２は、実施の形態１の動画像復号装置の構成を示すブロック図である。実施の形態１の動画像復号装置は、可変長復号部２０１、本領域分割・動き補償部２０３、逆量子化・逆直交変換部２０６、加算部２０９、および参照画像メモリ２０７を備える。
【００４５】
可変長復号部２０１は、直交変換・量子化されている予測残差成分信号及び動きベクトルを可変長復号する。図１の動画像符号化装置により符号化されたビットストリームでは、マクロブロックを分割した領域毎に動きベクトルが符号化されているため、可変長復号部２０１により、分割領域毎に動きベクトルが復号される。ここで、マクロブロック内の動きベクトルが復号された順序によって、動き補償予測の対象領域を一意に決定することができる。
【００４６】
本領域分割・動き補償部２０３は、図１の動画像符号化装置の本領域分割・動き補償部１０３と同一の機能を持ち、可変長復号部２０１で復号された動きベクトルを用いて参照画像メモリ２０７に蓄積されている参照画像から動き補償予測を行う。ここで、動きベクトルはマクロブロックの分割領域毎に取得されている。本領域分割・動き補償部２０３は、図１の動画像符号化装置の本領域分割・動き補償部１０３と同様の手順で、各分割領域の動きベクトルから生成される複数の動き補償予測画像を合成して合成動き補償予測画像を生成する。
【００４７】
逆量子化・逆直交変換部２０６は、図１の動画像符号化装置の逆量子化・逆直交変換部１０６と同一の機能を持ち、可変長復号部２０１で復号された予測残差成分に対して逆直交変換及び逆量子化を行う。
【００４８】
加算部２０９は、逆量子化・逆直交変換部２０６により復号された予測残差成分と、本領域分割・動き補償部２０３により算出された動き補償予測画像とを加算することにより、画像信号を復号する。参照画像メモリ２０７は、図１の動画像符号化装置の参照画像メモリ１０７と同一であり、復号された参照画像を蓄積する。
【００４９】
以上の構成による動画像符号化装置の動作、特に、本領域分割・動き補償部１０３の動作を説明する。
【００５０】
図９は、本領域分割・動き補償部１０３による本領域の決定手順を説明するフローチャートである。
【００５１】
まず、仮領域分割部１０１により分割されたＮ個（Ｎ≧２）の仮領域毎に動きベクトル検出部１０２は動きベクトルを検出する。ここではＮ＝２とする。動きベクトル検出部１０２で検出した第１動きベクトルを用いて、マクロブロックと同一の大きさで動き補償予測し、第１動き補償予測画像を生成する（Ｓ０１）。同様に、動きベクトル検出部１０２で検出した第２動きベクトルを用いて、マクロブロックと同一の大きさで動き補償予測し、第２動き補償予測画像を生成する（Ｓ０２）。
【００５２】
次に、本境界の各候補について、図１０（ａ）〜（ｄ）に示す第１〜第４アクティビティを算出する（Ｓ０３〜Ｓ０６）。ただし、ステップＳ０３〜Ｓ０６は順不同で行うことが可能である。また、ステップＳ０３〜Ｓ０６のすべてを行わずに、境界評価に使用したいアクティビティだけを算出することももちろん可能である。
【００５３】
まず、図１０（ａ）のように、第１動き補償予測画像について、本境界候補に関する境界アクティビティ（第１アクティビティ）を算出する（Ｓ０３）。ここで、アクティビティには本境界候補をまたぐ２画素間の絶対差分和（ＳＡＤ）を用いる。第１アクティビティは物体のエッジなどで値が大きくなるため、値が大きいほど該当境界で領域を分割した方が動き補償予測の予測効率が向上する。同様に、図１０（ｂ）のように、第２動き補償予測画像について、本境界候補に関する境界アクティビティ（第２アクティビティ）を算出する（Ｓ０４）。第２アクティビティは第１アクティビティと同様に、値が大きいほど該当境界で領域を分割した方が動き補償予測の予測効率が向上する。
【００５４】
ここで、本境界候補を１画素間隔境界に定義しない場合の第１アクティビティ及び第２アクティビティの算出方法を説明する。本境界候補がｎ画素（ｎ≧２）間隔に定義されている場合、ある本境界候補に関する境界アクティビティを算出する際、当該本境界候補Ｙの周辺で本境界候補が定義されていない領域の境界アクティビティをフィルタリングして使用する。
【００５５】
図１１は、本境界候補を２画素間隔に定義する場合の第１アクティビティ及び第２アクティビティの算出の例を説明する図である。図１１は、１６×１６画素のマクロブロックについて本境界候補が２画素間隔（２，４，６，８，１０，１２，１４）に設定されている場合である。本境界候補の位置は実線で、本境界候補が設定されていない位置は点線で図示している。本境界位置Ｙにおける第１および第２アクティビティは、本境界候補が設定されていない周辺位置Ｙ−１、Ｙ＋１におけるアクティビティを考慮して、次式で求める。
新たなアクティビティ（Ｙ）＝（ＡＣＴ（Ｙ−１）＋２＊ＡＣＴ（Ｙ）＋ＡＣＴ（Ｙ＋１）＋２）／４
ここで、ＡＣＴ（Ｙ）、ＡＣＴ（Ｙ−１）、ＡＣＴ（Ｙ＋１）はそれぞれ位置Ｙ、Ｙ−１、Ｙ＋１における図１０（ａ）、（ｂ）で説明した境界アクティビティである。
【００５６】
このように、本境界が２画素間隔で設定された場合、本境界候補として使用しない位置（Ｙ−１）及び（Ｙ＋１）におけるアクティビティを、本境界候補として使用する位置Ｙのアクティビティに影響を与えるようにする。これにより、たとえば、急峻なエッジが境界候補でない位置に発生している場合であっても、急峻なエッジのある位置のアクティビティを境界候補位置のアクティビティに反映させることができる。１画素毎にすべての境界を境界候補に設定しなくても、候補に外れた位置のアクティビティを参酌することができるため、演算量を抑制しつつ適切な本境界判定に寄与することができる。
【００５７】
本例ではアクティビティ算出のフィルタリング係数を１：２：１としたが、他の係数でフィルタリングを施してももちろん構わない。また、本境界候補は、２画素間隔ではなく、３画素間隔以上にしてもよい。例えば、本境界候補を４画素間隔にした場合、本境界位置Ｙにおける第１および第２アクティビティは、本境界候補が設定されていない周辺位置Ｙ−２、Ｙ−１、Ｙ＋１、Ｙ＋２におけるアクティビティを考慮して、フィルタリング係数１：２：４：２：１のもと、次式で求める。
新たなアクティビティ（Ｙ）＝（ＡＣＴ（Ｙ−２）＋２＊ＡＣＴ（Ｙ−１）＋４＊ＡＣＴ（Ｙ）＋２＊ＡＣＴ（Ｙ＋１）＋ＡＣＴ（Ｙ＋２）＋５）／１０
【００５８】
続いて、図１０（ｃ）のように、マクロブロック内の本境界候補より上の領域を第１動き補償予測画像として動き補償予測し、本境界候補より下の領域を第２動き補償予測画像として合成した合成動き補償予測画像について、本境界候補に関する境界アクティビティ（第３アクティビティ）を算出する（Ｓ０５）。第３アクティビティは本境界候補をまたぐ２画素間の絶対差分和であるから、本境界候補の上下に位置する第１動き補償予測画像の画素と第２動き補償予測画像の画素の値の絶対差分の和になる。したがって、第３アクティビティは値が小さいほど、合成動き補償予測画像の境界が滑らかになり、予測誤差信号に高周波成分が発生しにくいため、動き補償予測の予測効率が向上する。
ここで、第３アクティビティに対して、ある本境界候補に関する境界アクティビティを算出する際、当該本境界候補Ｙの周辺で本境界候補が定義されていない領域の境界アクティビティをフィルタリングして使用することももちろん可能である。
【００５９】
最後に、図１０（ｄ）のように、第１動き補償予測画像と第２動き補償予測画像の差分画像について、本境界候補に関する境界アクティビティ（第４アクティビティ）を算出する（Ｓ０６）。第４アクティビティは、物体の境界などで値が大きくなるため、値が大きいほど該当境界で領域を分割した方が動き補償予測の予測効率が向上する。
ここで、第４アクティビティに対して、ある本境界候補に関する境界アクティビティを算出する際、当該本境界候補Ｙの周辺で本境界候補が定義されていない領域の境界アクティビティをフィルタリングして使用することももちろん可能である。
【００６０】
境界評価に使用するアクティビティをすべて算出した後に、予め定義した評価値を用いて本境界候補を評価する（Ｓ０７）。例えば、評価値は以下のように定義する。
評価値＝−Ａ＊ＡＣＴ１−Ｂ＊ＡＣＴ２＋Ｃ＊ＡＣＴ３−Ｄ＊ＡＣＴ４
ここで、ＡＣＴ１は第１アクティビティ値を表し、ＡＣＴ２は第２アクティビティ値を表し、ＡＣＴ３は第３アクティビティ値を表し、ＡＣＴ４は第４アクティビティ値を表す。また、Ａ，Ｂ，Ｃ，Ｄはそれぞれ０以上の定数である。
【００６１】
上記評価値をすべての本境界候補について算出し、最小値を持つ本境界候補を最終的な本境界に決定する（Ｓ０８）。
【００６２】
ここで、本境界と仮境界は同一になることが望ましいが、決定された本境界は必ずしも仮境界とは同一にならない。動きベクトル検出用の仮境界は、符号化側で最適な動きベクトルを求めるための境界であり、符号化側のみ利用可能な符号化対象原画像も使用して算出することができる。一方、本境界は符号化側・復号側共に一意的に算出可能でなければならず、算出した（復号側では伝送されてきた）複数の動きベクトルと、その動き補償予測画像（すなわち予測残差成分が加算される前の画像）で判断している。そのため、本境界と仮境界は同一でなくても符号化側と復号側のミスマッチなどは発生しない。
【００６３】
しかしながら、本境界と仮境界が異なることは、本境界決定後の合成動き補償予測画像に対して最適な動きベクトルを検出できていないことを意味し、予測効率が必ずしも向上しないことがある。そのため、仮領域分割部１０１により設定される仮領域を調整するか、動きベクトル検出部１０２により検出される動きベクトルを調整することで、最適な仮境界あるいは最適な動きベクトルと、最適な本境界との双方を同時に実現すれば、符号化効率を更に向上させることができる。
【００６４】
以下、動きベクトル検出部１０２により検出される動きベクトルを調整することで、本領域分割・動き補償部１０３により生成される合成動き補償予測画像の予測効率を最適化する構成を実施の形態２として説明する。また、仮領域分割部１０１により設定される仮境界を調整することで、本領域分割・動き補償部１０３により生成される合成動き補償予測画像の予測効率を最適化する構成を実施の形態３として説明する。
【００６５】
（実施の形態２）
実施の形態２の動画像符号化装置は、図１の動画像符号化装置と同一の構成であるが、実施の形態２では、本領域分割・動き補償部１０３から動きベクトル検出部１０２に動きベクトルの調整を指示するための信号を送る経路がさらに加わる。これにより、動きベクトル検出部１０２および本領域分割・動き補償部１０３の処理は、ループを形成し、本領域分割・動き補償部１０３が決定する本境界が、仮領域分割部１０１による仮境界と一致するか、十分に近いものとなるまで、動きベクトル検出部１０２が動きベクトルを調整する。
【００６６】
図１２は、実施の形態２の動画像符号化装置による動きベクトルの調整手順を説明するフローチャートである。動きベクトル検出部１０２は、仮境界に基づいて動きベクトルを検出し（Ｓ１１）、次に、本領域分割・動き補償部１０３が、動きベクトル検出部１０２により検出された動きベクトルのもとで本境界決定処理を行う（Ｓ１２）。本境界決定処理は、図９で述べたように、本境界候補の中から境界アクティビティの評価値が最良であるものを選択することで行われる。
【００６７】
本領域分割・動き補償部１０３により決定された本境界が仮境界と等しい場合、動きベクトル検出部１０２による動きベクトル検出を終了するが、決定された本境界が仮境界と異なる場合は、動きベクトル検出部１０２による動きベクトル検出を続行する（Ｓ１３）。本境界と仮境界が異なる場合には、動きベクトル検出部１０２は、例えば、２つの領域に仮分割されたどちらかの領域で動きベクトル検出をやり直す。やり直しの方法はどのような方法でも良いが、例えば動きベクトル探索時の誤差評価値の内、２番目に小さい値（第２最小値）を残しておき、第２最小値の位置から動きベクトル検出を続行するなどの手法が可能である。
【００６８】
動きベクトル検出部１０２によって再検出された動きベクトルを用いて、本領域分割・動き補償部１０３は、本境界決定処理を再度行う。本境界が仮境界に一致するか、十分に近いものとなるまで、動きベクトル検出部１０２による動きベクトル検出処理と本領域分割・動き補償部１０３による本境界決定処理を繰り返す。
【００６９】
（実施の形態３）
実施の形態３の動画像符号化装置は、図１の動画像符号化装置と同一の構成であるが、実施の形態３では、仮領域分割部１０１は複数の仮境界候補を設定し、動きベクトル検出部１０２は仮境界候補毎に動きベクトルを検出し、本領域分割・動き補償部１０３は仮境界毎に本境界決定処理を行う。そして、本領域分割・動き補償部１０３は、複数の仮境界の中で合成動き補償予測画像の予測効率が最も良いものを選ぶ。
【００７０】
図１３は、実施の形態３の動画像符号化装置による仮境界の調整手順を説明するフローチャートである。仮領域分割部１０１は、仮境界候補を複数設定し、動きベクトル検出部１０２は、それぞれの仮境界候補で分割される仮領域毎に動きベクトルを検出する（Ｓ２１）。本領域分割・動き補償部１０３は、各仮境界候補で分割される仮領域毎に検出された動きベクトルにもとづいて本境界決定処理を行い（Ｓ２２）、合成動き補償予測画像の予測効率を評価する（Ｓ２３）。予測効率の評価は、原画像と合成動き補償予測画像の差分に対するＳＡＤ等で評価する。この評価を複数の仮境界候補について行い（Ｓ２４）、仮境界候補の中で最も動き補償予測画像の予測効率が最も良い仮境界を選ぶ。本領域分割・動き補償部１０３は、選択された仮境界に対する動きベクトルに対して決定される本境界のもとで生成された合成動き補償予測画像を最終結果として出力する。
【００７１】
別の方法として、実施の形態２のように、本領域分割・動き補償部１０３から仮領域分割部１０１に仮境界の調整を指示するための信号を送る経路を加え、仮領域分割部１０１、動きベクトル検出部１０２および本領域分割・動き補償部１０３の処理が、ループを形成するように構成してもよい。本領域分割・動き補償部１０３が決定する本境界が、仮領域分割部１０１による仮境界と一致するか、十分に近いものとなるまで、仮領域分割部１０１は仮境界を調整する。本領域分割・動き補償部１０３により決定された本境界が仮境界と等しい場合、仮領域分割部１０１による仮境界の設定は終了するが、決定された本境界が仮境界と異なる場合は、仮領域分割部１０１は別の仮境界の候補を設定し、動きベクトル検出部１０２は、再設定された仮境界で分割される仮領域毎に動きベクトルを再検出し、本領域分割・動き補償部１０３は、本境界決定処理を再度行う。本境界が仮境界に一致するか、十分に近いものとなるまで、仮領域分割部１０１による仮境界設定処理と本領域分割・動き補償部１０３による本境界決定処理を繰り返す。
【００７２】
いずれの方法を取っても、結果的に、本領域分割・動き補償部１０３が最終決定する本境界は、仮領域分割部１０１が設定する仮境界と一致するか、十分に近いものとなり、予測効率が向上する。
【００７３】
次に、実施の形態１〜３の動画像符号化装置により符号化される動画像のビットストリームのシンタックスについて説明する。
【００７４】
図１４は、ＭＰＥＧ−４  ＡＶＣのシンタックスをベースとした第一のシンタックスパターンを示す。図１４（ａ）のように、まず、スライス単位で予測画像の特徴量を用いて動き補償予測の形状を復号側で自動的に決定するかどうかを示す第１フラグ（use_auto_mc_size）を伝送する。第１フラグuse_auto_mc_sizeがＯＦＦの場合は、従来通り図１４（ｂ）に示すマクロブロックタイプmb_typeに基づきマクロブロックを固定的に分割して動き補償予測を行う。第１フラグuse_auto_mc_sizeがＯＮの場合、予測画像の特徴量を用いて動き補償予測の形状を復号側で自動的に決定して動き補償予測を行う。マクロブロック単位では、ＭＰＥＧ−４  ＡＶＣと同様に、mb_typeを伝送して動き補償予測の形状を判断する。
【００７５】
図１５は、第１フラグuse_auto_mc_sizeがＯＮ／ＯＦＦそれぞれの場合のマクロブロックタイプmb_typeのセマンティックスを示す。マクロブロックタイプmb_type＝０の場合は１６×１６のマクロブロックを領域分割せずに動き補償予測を行う。マクロブロックタイプmb_type＝１の場合、第１フラグuse_auto_mc_sizeがＯＦＦの場合は１６×８で動き補償予測を行うが、第１フラグuse_auto_mc_sizeがＯＮの場合、マクロブロックを１６×Ａと１６×（１６−Ａ）の２つの領域に自動分割して動き補償予測を行う。同様に、マクロブロックタイプmb_type＝２の場合、第１フラグuse_auto_mc_sizeがＯＦＦの場合は８×１６ブロックで動き補償予測を行うが、第１フラグuse_auto_mc_sizeがＯＮの場合、マクロブロックをＡ×１６と（１６−Ａ）×１６の２つの領域に自動分割して動き補償予測を行う。マクロブロックタイプmb_type＝３の場合は８×８ブロックで動き補償予測を行う。
【００７６】
図１６は、スライスレベルだけでなく、マクロブロック単位でも動き補償予測の形状を復号側で自動的に決定するかどうかを示す第２フラグ（auto_mc_size_enable）を伝送する第二のシンタックスパターンを示す。第２フラグauto_mc_size_enableがＯＦＦの場合、スライスレベルで第１フラグuse_auto_mc_sizeがＯＦＦになった場合と同様に、従来通りマクロブロックタイプmb_typeに基づきマクロブロックを固定的に分割して動き補償予測を行う。第２フラグauto_mc_size_enableがＯＮの場合、予測画像の特徴量を用いて動き補償予測の形状を復号側で自動的に決定して動き補償予測を行う。第二のシンタックスを用いると、本境界を自動的に決定してしまうことで予測効率が低下する場合を排除できる。
【００７７】
図１７は、スライスレベルで動き補償予測の形状を復号側で自動的に決定するアルゴリズムを切り替える第三のシンタックスパターンを示す。スライス単位で第１フラグuse_auto_mc_sizeがＯＮの場合、動き補償予測の形状を復号側で自動的に決定するアルゴリズムタイプを示すアルゴリズムタイプauto_mc_algorithmを伝送する。例えば、アルゴリズムタイプauto_mc_algorithm＝０の場合、第１〜第４アクティビティＡＣＴ１〜ＡＣＴ４のすべてを用いた評価値に基づき動き補償予測の形状を決定する。アルゴリズムタイプauto_mc_algorithm＝１の場合、第４アクティビティＡＣＴ４を除いた第１〜第３アクティビティＡＣＴ１〜ＡＣＴ３だけを用いて評価値に基づき動き補償予測の形状を決定するなどである。このように、アルゴリズムタイプauto_mc_algorithmの値に使用するアクティビティの種類を対応づけることで、動き補償予測の形状を決定するアルゴリズムを切り替えることができる。第三のシンタックスを用いると、符号化側で最適なアルゴリズムタイプを判断して復号側で領域の自動分割を行わせることが可能になるため、符号化効率が更に向上する。
【００７８】
図１８は、マクロブロックを水平方向と垂直方向のどちらに領域を分割するか（分割方向）をシンタックス上で区別しない第四のシンタックスパターンを示す。マクロブロック単位でマクロブロックタイプmb_typeを伝送して動き補償予測の形状を判断することは第一のシンタックスパターンと同様だが、マクロブロックタイプmb_typeのセマンティックスが異なる。
【００７９】
図１９は、第四のシンタックスパターンのマクロブロックタイプmb_typeのセマンティックスを示す。第１フラグuse_auto_mc_sizeがＯＦＦの場合は、従来通りマクロブロックタイプmb_typeに基づきマクロブロックを固定的に分割して動き補償予測を行い、第１フラグuse_auto_mc_sizeがONの場合、予測画像の特徴量を用いて動き補償予測の形状を復号側で自動的に決定して動き補償予測を行うことは第一のシンタックスパターンと同様である。ただし、１６×Ａと１６×（１６−Ａ）の２つの領域に水平方向に分割することと、Ａ×１６と（１６−Ａ）×１６の２つの領域に垂直方向に分割することとが、マクロブロックタイプmb_type＝１として区別されずに扱われることが第一のシンタックスパターンとは異なる。マクロブロックタイプmb_type＝１の場合、水平方向本境界候補と垂直方向本境界候補のすべての境界評価値を算出し、最小の評価値を持つ境界候補を本境界に決定する。つまり、分割方向（水平方向・垂直方向）を含めて動き補償予測の形状を復号側で自動決定する。第四のシンタックスパターンを用いると、水平方向と垂直方向を区別する分割方向情報を伝送する必要がないため、マクロブロックタイプmb_typeの符号量が減少し、符号化効率が更に向上する。
【００８０】
図２０は、領域分割をマクロブロックタイプmb_typeと連動させずに決定する第五のシンタックスパターンを示す。マクロブロック単位でマクロブロックタイプmb_typeに代わって動きベクトル数motion_vector_num_minus1を伝送する。動きベクトル数motion_vector_num_minus1は（マクロブロック内の動きベクトルの本数−１）の値を表す。本発明の実施の形態では、伝送する動きベクトルの数だけ動き補償予測の領域が分割されるため、少なくとも動きベクトルの本数を伝送すれば、動き補償予測の形状を復号側で自動的に決定できる可能性がある。実施の形態１〜３では動きベクトルが２本の場合の例を説明したが、動きベクトルが２本より多い、たとえば３本の場合の例は実施の形態５で述べる。
【００８１】
ここまでは、ＭＰＥＧのＰピクチャなどで用いられる片方向予測について本発明の実施の形態を説明してきた。図２１を参照して、本発明の実施の形態をＢピクチャなどで用いられる双方向予測（通常は前方向予測と後方向予測）に対して適用した場合について説明する。ここで、マクロブロックを水平方向に２分割する場合を例に挙げて説明する。双方向予測とは、２つの参照画像から動き補償予測を行うことで得た２つの画像を平均化又は重みづけ平均化することにより、予測画像を得る技術である。
【００８２】
まず、仮領域毎に各予測方向（前方向、後方向）の動きベクトルが検出される。図２１（ａ）、（ｂ）は、第１仮領域に対する各予測方向（前方向、後方向）の第１動きベクトルを示す。図２１（ａ）、（ｂ）は、第２仮領域に対する各予測方向（前方向、後方向）の第２動きベクトルを示す。
【００８３】
図２１（ｅ）は、前方向および後方向の第１動きベクトルを用いて双方向予測した第１動き補償予測画像を示し、図２１（ｆ）は、前方向および後方向の第２動きベクトルを用いて双方向予測した第２動き補償予測画像を示す。
【００８４】
図２１（ｇ）は、本境界決定後、マクロブロックの本境界より上側の本領域を第１動き補償予測画像の対応する領域から複製し、本境界より下側の本領域を第２動き補償予測画像の対応する領域から複製して生成される合成動き補償予測画像を示す。
【００８５】
このように、双方向予測に対して本発明の実施の形態を適用することは容易であり、双方向予測により予測誤差を削減しつつ、適切な領域分割により更に予測誤差を削減可能である。
【００８６】
また、本発明の実施の形態は、動きベクトルを直接伝送するのではなく、周辺ブロックの動きベクトルや参照画像の動きベクトルを基に自動算出した動きベクトルを用いて動き補償予測の形状を自動的に決定することももちろん可能である。
【００８７】
また、ここまでは単一の画像コンポーネント（輝度）について説明したが、ＹＵＶ４：４：４／ＹＵＶ４：２：２／ＹＵＶ４：２：０などの複数コンポーネント（輝度及び色差）にも適用することが可能である。ただし、動き補償予測では輝度と色差を同時に行うため、ＹＵＶ４：２：２やＹＵＶ４：２：０などの輝度と色差のサンプル数が異なるフォーマットでは、サンプル数の多い輝度を基準に領域を分割した場合、色差の領域分割位置があいまいになる可能性がある。例えば、ＹＵＶ４：２：０フォーマットの時に、輝度を１６×５と１６×１１に分割する場合に色差の領域分割が８×２なのか８×３なのか不明になどである。このあいまいさを防止する対策としては、あらかじめサンプル数の少ない色差を基準にして領域を分割することや、あいまいな位置での色差の分割規則を予め決めておく（ブロックの中心を基準に切り捨てる）方法や、境界上の画素は両動き補償予測画像の平均値（フィルタリング）を用いる方法などがある。
【００８８】
（実施の形態４）
実施の形態４の動画像符号化装置および動画像復号装置は、実施の形態１〜３と同一の構成を取るが、実施の形態４の動画像符号化装置は、マクロブロックを２次元に分割して動き補償を行い、２つの動きベクトルを伝送し、動画像復号装置は、動き補償予測の形状を復号側で２次元に分割し、伝送された２つの動きベクトルを用いた動き補償を行う。
【００８９】
図２２（ａ）〜（ｆ）は、マクロブロックを２次元に領域分割する方法を示す。図２２（ａ）のように、実施の形態１〜３で説明した手順を実行することで、マクロブロックに対して水平方向境界と垂直方向境界をそれぞれ定める。水平方向境界より上または下、および、垂直方向境界より左または右の組み合わせにより、図２２（ｂ）〜（ｅ）の４通りの２次元分割パターンを定義することができる。
【００９０】
図２２（ｂ）の２次元分割パターンでは、水平方向境界より上、かつ、垂直方向境界より左の領域を第１領域とし、残りの領域（水平方向境界より下、または、垂直方向境界より左の領域）を第２領域とする。
【００９１】
図２２（ｃ）の２次元分割パターンでは、水平方向境界より下、または、垂直方向境界より左の領域を第１領域とし、残りの領域（水平方向境界より上、かつ、垂直方向境界より右の領域）を第２領域とする。
【００９２】
図２２（ｄ）の２次元分割パターンでは、水平方向境界より上、または、垂直方向境界より右の領域を第１領域とし、残りの領域（水平方向境界より下、かつ、垂直方向境界より左の領域）を第２領域とする。
【００９３】
図２２（ｅ）の２次元分割パターンでは、水平方向境界より上、または、垂直方向境界より左の領域を第１領域とし、残りの領域（水平方向境界より下、かつ、垂直方向境界より右の領域）を第２領域とする。
【００９４】
図２２（ｆ）は、これら４つの２次元分割パターンから一つを選んで、第１領域には第１動きベクトルによる動き補償予測画像の対応領域を、第２領域には第２動きベクトルによる動き補償予測画像の対応領域をそれぞれ複製することで得られる合成動き補償予測画像を示す。
【００９５】
図２３は、マクロブロックを２次元に分割して動き補償を行う手順を説明するフローチャートである。まず、実施の形態１と同様の方法で、水平方向境界と垂直方向境界の両境界を決定する（Ｓ３１）。次に、水平方向境界と垂直方向境界の組み合わせによって２つに分割されたマクロブロックの２次元分割領域について、境界アクティビティの評価値を算出する（Ｓ３２）。例えば、マクロブロック内のＸ座標をｉ、Ｙ座標をｊにおける画素値をＡｉ，ｊとすると、２次元分割領域に境界に沿って、水平方向境界ｊの水平アクティビティをｉ＝ａからｉ＝ｂまで適用し、垂直方向境界ｉの垂直アクティビティをｊ＝ｃからｊ＝ｄまで適用した場合の２次元平均アクティビティを以下のように定義することができる。
２次元平均アクティビティ＝Σｉ＝ａｂ｜Ａｉ，ｊ−Ａｉ，ｊー１｜／（ｂ−ａ）＋Σｊ＝ｃｄ｜Ａｉ，ｊ−Ａｉー１，ｊ｜／（ｄ−ｃ）
【００９６】
上記の２次元平均アクティビティを評価値に用いることで、アクティビティ算出に使用したサンプル数に依存せずに、２次元領域分割を評価することが可能である。ステップＳ３２をすべての２次元分割パターン（ここでは４パターン）で繰り返し（Ｓ３３）、最小評価値を持つ２次元分割候補を選択して、合成動き補償予測画像を生成する。
【００９７】
このように、実施の形態４では、実施の形態１より柔軟な形状で動き補償予測を行えるため、更に符号化効率が向上する。
【００９８】
（実施の形態５）
実施の形態５の動画像符号化装置および動画像復号装置は、実施の形態１〜３と同一の構成を取るが、実施の形態５の動画像符号化装置は、３つの動きベクトルを用いてマクロブロックを３分割して動き補償を行い、３つの動きベクトルを伝送し、動画像復号装置は、伝送された３つの動きベクトルを用いて、動き補償予測の形状を復号側で３分割して動き補償を行う。
【００９９】
図２４（ａ）、（ｂ）は、マクロブロックを３つの領域に分割する方法を示す。図２４（ａ）のように、まず、実施の形態１〜３で説明した手順を実行することで、水平方向境界または垂直方向境界により、マクロブロックを２分割する。次に、図２４（ｂ）のように、２分割された領域の内、大きい方の領域について、さらに水平方向境界または垂直方向境界を設定することにより、大きい方の領域を２分割する。これにより、マクロブロックは３分割され、各領域で動きベクトルが検出される。
【０１００】
図２５は、マクロブロックを３分割して動き補償を行う手順を説明するフローチャートである。マクロブロックを３領域に分割して動き補償を行うために、３本の動きベクトルを検出して伝送することが必要となる。まず、実施の形態１と同様の方法で、１本目の動きベクトルと２本目の動きベクトルを用いて、水平方向又は垂直方向に領域分割し、動き補償を行う（Ｓ４１）。次に、１本目の動きベクトルと２本目の動きベクトルによって分割された領域の大小を比較し、大きい方の領域を判断する（Ｓ４２）。これは、大きい領域の方が領域分割の影響が大きく、予測効率の向上がより大きく見込めるためである。また、領域の大きさが同一の場合は、予めどちらの領域が優先するかを決めておく。最後に、大きい方の領域について、その領域の動きベクトル（１本目の動きベクトル又は２本目の動きベクトル）と３本目の動きベクトルを用いて、水平方向又は垂直方向に領域分割し、動き補償を行う（Ｓ４３）。
【０１０１】
このように、実施の形態５では、３本の動きベクトルを用いて動き補償予測の領域を３分割できる。これにより、複数の小さな動き等にも対応できるため、更に符号化効率が向上する。同様にして領域の分割をさらに進めることにより、動き補償予測の領域を４分割以上にして、動きベクトルの数を４以上にすることもできる。
【０１０２】
以上述べたように、本発明の実施の形態によれば、複数の動きベクトルから得られる複数の予測画像の特徴量を用いて、動き補償予測の形状を復号側で自動的に決定することによって、動き補償予測形状パターンの情報を伝送せずに、動き補償予測の形状を可変にすることができる。したがって、さまざまな形状での柔軟な動き補償予測が可能となり、その結果、付加情報の符号量を増加させることなく、動き補償予測の予測誤差を減少させることができ、符号化効率が向上する。
【０１０３】
また、符号化側の動きベクトル検出過程において、復号側で決定される本境界を算出しながら動きベクトルを評価することで、最適な動きベクトルと最適な本境界の双方を同時に実現した。これにより、動き補償予測の予測効率が向上する。また、復号側では伝送されてきた動きベクトルから算出される本境界を用いて動き補償予測を行うだけで、動画像を復号することができる。
【０１０４】
以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ＲＯＭ（リード・オンリ・メモリ）やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
【０１０５】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【０１０６】
１０１  仮領域分割部、  １０２  動きベクトル検出部、  １０３  本領域分割・動き補償部、  １０４  直交変換・量子化部、  １０５  可変長符号化部、  １０６  逆量子化・逆直交変換部、  １０７  参照画像メモリ、  １０８  減算部、  １０９  加算部、  ２０１  可変長復号部、  ２０３  本領域分割・動き補償部、  ２０６  逆量子化・逆直交変換部、  ２０７  参照画像メモリ、  ２０９  加算部。
【図１】
2011234338.tif 000003
【図２】
2011234338.tif 000004
【図５】
2011234338.tif 000005
【図６】
2011234338.tif 000006
【図７】
2011234338.tif 000007
【図８】
2011234338.tif 000008
【図９】
2011234338.tif 000009
【図１０】
2011234338.tif 000010
【図１１】
2011234338.tif 000011
【図１２】
2011234338.tif 000012
【図１３】
2011234338.tif 000013
【図１４】
2011234338.tif 000014
【図１５】
2011234338.tif 000015
【図１６】
2011234338.tif 000016
【図１７】
2011234338.tif 000017
【図１８】
2011234338.tif 000018
【図１９】
2011234338.tif 000019
【図２０】
2011234338.tif 000020
【図２１】
2011234338.tif 000021
【図２２】
2011234338.tif 000022
【図２３】
2011234338.tif 000023
【図２４】
2011234338.tif 000024
【図２５】
2011234338.tif 000025
【図３】
2011234338.tif 000026
【図４】
2011234338.tif 000027