(57)【要約】【課題】オーバーラップブロックベース動き補償において，ブロック境界部の誤差成分の大きな信号を参照信号とすることを回避し，予測誤差の低減を図る。【解決手段】符号化対象ブロックの信号と参照信号とから動き推定により動きベクトルを算出し（Ｓ１），動きベクトルが指す参照信号の位置に応じて，オーバーラップブロックベース動き補償における窓関数のサポート領域を決定し（Ｓ２），サポート領域のサイズに応じて窓関数を決める（Ｓ３）。決定されたサポート領域について隣接ブロックとの間で重複する参照信号にそれぞれの窓関数を適用し，オーバーラップブロックベース動き補償に基づくフレーム間予測を行う（Ｓ４）。【選択図】図１１
2006191220.tif 000002
【特許請求の範囲】
【請求項１】
オーバーラップブロックベース動き補償を行い，動画像を予測符号化する動画像符号化方法において，
符号化対象ブロックの信号と参照信号とから動き推定により動きベクトルを算出するステップと，
該動きベクトルが指す参照信号の位置に応じて，オーバーラップブロックベース動き補償における窓関数のサポート領域を決定するステップと，
該サポート領域内で隣接ブロック間に重複を許してフレーム間予測を行うステップとを有する
ことを特徴とする動画像符号化方法。
【請求項２】
請求項１記載の動画像符号化方法において，
前記サポート領域を決定するステップでは，前記サポート領域の重複部分がブロック境界を含まないようにサポート領域を縮小させる
ことを特徴とする動画像符号化方法。
【請求項３】
請求項２記載の動画像符号化方法において，
前記サポート領域の重複部分がブロック境界を含まないようにサポート領域を縮小させる場合に，重複部分に下限値を設け，サポート領域の縮小量を制限する
ことを特徴とする動画像符号化方法。
【請求項４】
請求項１，請求項２または請求項３記載の動画像符号化方法において，
前記サポート領域に応じて，オーバーラップブロックベース動き補償における窓関数を変更し，
該窓関数を用いてフレーム間予測信号を生成する
ことを特徴とする動画像符号化方法。
【請求項５】
オーバーラップブロックベース動き補償を行い，動画像を予測符号化する動画像符号化装置において，
符号化対象ブロックの信号と参照信号とから動き推定により動きベクトルを算出する手段と，
該動きベクトルが指す参照信号の位置に応じて，オーバーラップブロックベース動き補償における窓関数のサポート領域を決定する手段と，
該サポート領域内で隣接ブロック間に重複を許してフレーム間予測を行う手段とを備える
ことを特徴とする動画像符号化装置。
【請求項６】
請求項１から請求項４までのいずれかに記載の動画像符号化方法を，コンピュータに実行させるための動画像符号化プログラム。
【請求項７】
請求項１から請求項４までのいずれかに記載の動画像符号化方法を，コンピュータに実行させるための動画像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，高能率画像信号符号化技術に関し，特に，オーバーラップブロックベース動き補償においてブロックサイズを適応的に設定することにより予測誤差の低減を図った動画像符号化方法，動画像符号化装置，動画像符号化プログラムおよびそのプログラム記録媒体に関するものである。
【背景技術】
【０００２】
動画像符号化における重要な技術の一つに，動き補償（ＭＣ）ブロック直交変換がある。この方法では，まず，符号化対象フレームｆt （ｐ）（ｐ∈｛（ｘ，ｙ）｜０≦ｘ≦Ｘ−１，０≦ｙ≦Ｙ−１｝）（画面サイズＸ×Ｙ）をいくつかの矩形領域に分割し，領域毎に動き補償（ＭＣ）を用いた次のようなフレーム間予測が行われる。
【０００３】
【数１】
2006191220.tif 000003
ここで，ｖ（ｂ）は，左上角の座標をｂとするサイズＳ×Ｓの矩形領域に対する動きベクトルである。以下，動き補償（ＭＣ）の基準になるこの矩形領域をブロックと呼ぶ。ブロックベースの動き補償（ＭＣ）では，ブロック境界での不連続性に起因するブロック歪みが問題となる。
【０００４】
図１に通常のブロックベースの動き補償の例を示す。参照フレーム１の中から符号化対象ブロックとの画素差分値の和が最も小さいブロックを探索し，被予測フレーム２における被予測ブロックの予測に用いる。このとき，ブロック境界では参照信号が不連続となるため，ブロック歪みが生じる。
【０００５】
このブロック歪みを低減する目的で，オーバーラップブロックベース動き補償（ＯＢＭＣ：Overlapped Block based Motion Compensation）が提案されている（非特許文献１参照）。このオーバーラップブロックベース動き補償（ＯＢＭＣ）は，図２に示すように隣接ブロックとの重複を許した次のようなフレーム間予測の手法である。
【０００６】
【数２】
2006191220.tif 000004
ここで，ｂは，被予測ブロックの左上角の座標である。また，ｗ（）は重畳される信号に乗じる窓関数である。この窓関数が非零値をとる領域をサポート領域と呼ぶ。
【０００７】
オーバーラップブロックベース動き補償（ＯＢＭＣ）に関しては，隣接ブロック間で依存関係を考慮した最適な動きベクトルの設定（非特許文献２参照），画像信号の局所的な性質に応じた関数形の最適化（非特許文献３参照）等が検討されている。
【非特許文献１】H.Watanabe and S.Singhal,"Windowed motion compensation", SPIE Conference on Visual Communications and Image Processing, Boston, Massachusetts, pp.582-589, November l991.
【非特許文献２】"Rate-distortion optimized mode selection for very low bit rate video coding and the emerging H.263 standard", T.Wiegand, M.Lightstone, D.Mukherjee, G.Campbell, S.Mitra, Circuits and Systems for Video Technology, IEEE Transactions on, Vol.6, No.2,pp.182-190, April 1996.
【非特許文献３】"Overlapped block motion compensation: an estimation-theoretic approach", M.Orchard and G.Sullivan, Image Processing, IEEE Transactions on, Vol.3, No.5, pp.693-699, Sept.1994.
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来のＯＢＭＣにおける問題は，サポート領域のサイズが画像の局所的な性質によらず固定されている点にある。これに伴い発生する問題を１次元信号を例にとり説明する。
【０００９】
図３に１次元信号に対するＯＢＭＣの例を示す。ここで，太線部は被予測信号中の被予測ブロックを表わし，網掛け部は参照信号中のサポート領域を表わし，Ｓ［サンプル］の被参照信号を２Ｓ［サンプル］の参照信号により予測する例を示している。この例では，サポート領域のサイズは２Ｓとなる。
【００１０】
本例の場合，動きベクトルがＳ／２を越えると，図４に示すように，参照信号の右端近くにブロック境界を含む。しかし，ブロック境界付近の信号は，隣接ブロックの不連続性により不連続な波形となり，画質を劣化させる要因となる。このため，参照信号としては望ましいものではない。
【００１１】
本発明はかかる事情に鑑みてなされたものであって，サポート領域のサイズを画像の局所的な性質に応じて適応的に変化させるＯＢＭＣを確立することを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係わるＯＢＭＣは，参照信号の位置に応じてサポート領域のサイズを変化させる。つまり，動きベクトルの大きさに応じて，サポート領域のサイズを変化させることになる。具体的には，不連続なブロック境界の信号を参照信号から除去する。
【００１３】
図５に，適応的にサポート領域を変更したＯＢＭＣの例を示す。例えば，前述した図４の例に対しては，図５に示すように，参照信号の右端近くのブロック境界を含む部分を取り除く。
【００１４】
本発明の特徴は，以下のとおりである。
（１）オーバーラップブロックベース動き補償を行う際，動き推定により得られる動きベクトルを外部から受取る手段を持ち，該動きベクトルが指す参照信号の位置に応じて，オーバーラップブロックベース動き補償における窓関数のサポート領域を変更し，該サポート領域内で隣接ブロック間に重複を許してフレーム間予測を行う。
（２）オーバーラップブロックベース動き補償において，サポート領域の重複部分がブロック境界を含まないように，サポート領域を縮小させる。
（３）オーバーラップブロックベース動き補償において，サポート領域の重複部分がブロック境界を含まないように，サポート領域を縮小させる場合，重複部分に下限値を設け，サポート領域縮小を制限する。
（４）オーバーラップブロックベース動き補償を行う際，上記（１）〜（３）におけるサポート領域に応じて，オーバーラップブロックベース動き補償における窓関数を変更し，該窓関数を用いてフレーム間予測信号を生成する。
【発明の効果】
【００１５】
動きベクトルが指す参照信号の位置により，窓関数のサポート領域を変化させることで，ブロック境界部の誤差成分の大きな信号を参照信号とすることを回避でき，その結果，ＯＢＭＣの予測誤差を低減することが可能になる。
【発明を実施するための最良の形態】
【００１６】
〔サポート領域のサイズの適応変化〕
図６は，動きベクトルの変化に伴う参照信号の参照位置の変化を示す図である。図６において，動きベクトルｖ（０≦ｖ＜Ｓ）をＳ／４刻みで変化させた場合の参照信号中のサポート領域を網掛け部として表わす。なお，太線の長方形は被予測ブロックを表わす。
【００１７】
図６に示されるように，（１／２）・Ｓ≦ｖ＜Ｓの場合，参照信号の右端近くにブロック境界を含む。そこで，この範囲のうちｖが，例えば（１／２）・Ｓ≦ｖ≦（３／４）・Ｓのときには，サポート領域を［−Ｓ＋ｖ，Ｓ＋ｖ］から［−Ｓ＋ｖ，（３／２）・Ｓ］へ変更する。また，０≦ｖ≦（１／２）・Ｓの場合，参照信号の左端近くにブロック境界を含む。そこで，例えば（１／４）・Ｓ≦ｖ≦（１／２）・Ｓのときには，サポート領域を［−Ｓ＋ｖ，Ｓ＋ｖ］から［−（１／２）・Ｓ，Ｓ＋ｖ］へ変更する。つまり，図６に示す破線で囲まれた範囲の外に出たサポート領域は，参照信号として用いないようにする。
【００１８】
しかし，同様にして，（３／４）・Ｓ≦ｖ＜Ｓの場合および０≦ｖ≦（１／４）・Ｓの場合を処理すると，サポート領域におけるオーバーラップ部分が非常に少なくなり，本来のＯＢＭＣの目的を果たすことが不可能になる。そこで，サポート領域に対して，最低サイズをＳ＋Ｓ／２＋α，すなわち（３／２）・Ｓ＋αとする。
【００１９】
図７に，重複部分の下限値を設けた場合の動きベクトルの変化に伴う参照信号の参照位置の変化を示す。サポート領域に対して，最低サイズを（３／２）・Ｓ＋αとすることは，図７に示すように，破線で囲んだ範囲の外に出たサポート領域であっても，濃い網掛け部分であれば除去しないという制約を付加することになる。これにより，動きベクトルｖが指すサポート領域［−Ｓ＋ｖ，Ｓ＋ｖ］のうち，［−α−Ｓ／２＋ｖ，α＋Ｓ／２＋ｖ］は常に参照信号として用いられる。なお，パラメータαを定める手段は別途用意されるものとする。例えばパラメータαは，実験などにより０＜α≦Ｓ／２の範囲で適当な値を定め，外部から設定するようにしてもよい。
【００２０】
−Ｓ≦ｖ＜０の場合，図７に対応する図を描くと図８のようになり，同図をもとに，−Ｓ≦ｖ＜０の場合も同様にサポート領域を考えることができる。この結果，動きベクトルｖを持つ第ｉ番目のブロックに対するサポート領域［Ｌ（ｖ，ｉ），Ｒ（ｖ，ｉ）］は，以下のように設定される。
【００２１】
【数３】
2006191220.tif 000005
〔サポート領域のサイズに応じた窓関数の設計〕
サポート領域のサイズを可変とする場合，同サイズに応じた窓関数の変更が必要となる。ここでは，窓関数の基本形として，図９に示すような三角窓関数を用いる。
【００２２】
図１０は，隣接ブロックとの間の窓関数の位置関係を示す図である。適応処理がない場合で，サポート領域が［−Ｓ，Ｓ］に固定されている場合，隣接ブロックの窓関数の位置関係は，図１０（Ａ）に示すようになる。ここで，実線は符号化対象ブロック（第ｉブロック）の窓関数を表わしており，破線および一点破線は，各々，第ｉ−１ブロックの窓関数，第ｉ＋１ブロックの窓関数を表わしている。
【００２３】
一方，図１０（Ｂ）は，適応処理によりサポート領域が変化した場合の例を示している。ＯＢＭＣにおいては，２つの窓関数の重複部分の和が１となるように窓関数を設計する必要がある。これは，隣接ブロックが同じ動きベクトルを持つ場合，ＯＢＭＣのフレーム間予測値を，対応する参照信号中の隣接ブロックを平行移動させた信号と一致させるためである。
【００２４】
この制約条件のもとで，窓関数を設計すると以下のようになる。
【００２５】
【数４】
2006191220.tif 000006
ただし，γr （ｉ），γl （ｉ）は次のとおりとした。
【００２６】
γr （ｉ）＝｜Ｒ（ｖ，ｉ）｜＋｜Ｌ（ｖ，ｉ＋１）｜−Ｓ
γl （ｉ）＝｜Ｌ（ｖ，ｉ）｜＋｜Ｒ（ｖ，ｉ＋１）｜−Ｓ
【実施例１】
【００２７】
図１１に，本発明の一実施例に係る処理フローを示す。ステップＳ１では，ブロックのサイズＳ，動きベクトルの探索範囲，符号化対象ブロックの信号，参照信号を入力とし，動き推定処理を行い，動きベクトルを出力する。
【００２８】
ステップＳ２では，ブロックのサイズＳ，ステップＳ２で出力された動きベクトルを入力とし，サポート領域がブロック内に閉じるように同領域を決定する処理を行い，サポート領域の左右両端を表わす２つの値を出力する。より具体的には，式（１），（２）により，サポート領域［Ｌ（ｖ，ｉ），Ｒ（ｖ，ｉ）］を定める左右両端のＬ（ｖ，ｉ），Ｒ（ｖ，ｉ）の値を導出する。
【００２９】
ステップＳ３では，ブロックのサイズＳ，ステップＳ２で出力されたサポート領域の左右両端の位置情報を入力とし，２つの窓関数の重複部分の和が１となるように窓関数を設計する処理を行い，該サポート領域に対応する窓関数を出力する。より具体的には，式（３）により，窓関数ｗ（ｐ）を導出する。
【００３０】
ステップＳ４では，ブロックのサイズＳ，符号化対象ブロックの信号，参照信号，ステップＳ３で出力された窓関数を入力とし，オーバーラップブロックベース動き補償（ＯＢＭＣ）に基づくフレーム間予測処理を行い，予測信号を出力する。ＯＢＭＣの処理については，非特許文献１（H.Watanabe and S.Singhal,"Windowed motion compensation", SPIE Conference on Visual Communications and Image Processing, Boston, Massachusetts, pp.582-589, November 1991. ）などにより知られている技術であるので，ここでのさらに詳しい説明は省略する。
【００３１】
ステップＳ５では，符号化対象フレームのすべてのブロックに対して，上記ステップＳ１〜Ｓ４の処理を行ったかを判定し，未処理のブロックがある場合には，ステップＳ６により，処理の対象を次のブロックに移し，すべてのブロックについての処理が終了するまで，ステップＳ１〜Ｓ４を繰り返す。
【００３２】
図１２は，本発明の一実施例に係る符号化装置の構成図である。図１２において，１０は動き推定処理を行う動き推定部，１１は推定された動きベクトルを記憶する動きベクトル記憶部，１２はサポート領域のサイズに応じて窓関数を設計する適応的窓関数設計部，１３はサポート領域の右端と左端の座標を決定しサポート領域を定める右端／左端座標決定部，１４はサポート領域の右端の座標を記憶する右端座標記憶部，１５はサポート領域の左端の座標を記憶する左端座標記憶部，１６はサポート領域に応じた窓関数を決定する窓関数決定部，１７は決定された窓関数を記憶する窓関数記憶部，１８はオーバーラップブロックベース動き補償（ＯＢＭＣ）に基づくフレーム間予測処理を行うＯＢＭＣ処理部，１９はＯＢＭＣ処理部１８の出力である予測信号を記憶する予測信号記憶部，２０は符号化対象ブロックおよび動きベクトルの探索範囲の制御を行う右端／左端座標制御部である。
【００３３】
動き推定部１０は，ブロックのサイズＳ，動きベクトルの探索範囲，符号化対象ブロックの信号，参照信号を入力とし，動き推定処理を行い，動きベクトルを動きベクトル記憶部１１に書き込む。適応的窓関数設計部１２において，右端／左端座標決定部１３は，ブロックのサイズＳ，動きベクトル記憶部１１から読み込まれた動きベクトルを入力とし，動きベクトルの参照位置に応じて，サポート領域がブロック内に閉じるように同領域を決定する処理を行い，サポート領域の左右両端を表わす２つの座標値を，各々右端座標記憶部１４，左端座標記憶部１５に書き込む。より具体的には，左右両端座標Ｌ（ｖ，ｉ），Ｒ（ｖ，ｉ）を，式（１），（２）により導出する。
【００３４】
窓関数決定部１６は，右端座標記憶部１４，左端座標記憶部１５から読み込まれた座標値を入力とし，該サポート領域のサイズに応じて，隣接ブロック間の２つの窓関数の重複部分の和が１となるように窓関数を設計する処理を行い，該サポート領域に対応する窓関数を窓関数記憶部１７に書き込む。より具体的には，窓関数ｗ（ｐ）を，式（３）により導出する。
【００３５】
ＯＢＭＣ処理部１８は，ブロックのサイズＳ，符号化対象ブロックの信号，参照信号，窓関数記憶部１７から読み込まれた窓関数を入力とし，ＯＢＭＣによるフレーム間予測処理を行い，予測信号を予測信号記憶部１９に書き込む。右端／左端座標制御部２０の制御により，以上の処理を符号化対象のすべてのブロックに対して繰り返す。
【００３６】
説明を分かりやすくするために，１次元信号に対するＯＢＭＣの処理を例にして説明したが，左右だけでなく上下のオーバーラップを含む２次元信号に容易に拡張できることは明らかである。
【００３７】
以上のオーバーラップブロックベース動き補償（ＯＢＭＣ）におけるブロックサイズの適応設定の処理は，コンピュータとソフトウェアプログラムとによっても実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも，ネットワークを通して提供することも可能である。
【図面の簡単な説明】
【００３８】
【図１】通常のブロックベースの動き補償の例を示す図である。
【図２】オーバーラップブロックベース動き補償の例を示す図である。
【図３】本発明の課題を説明するための１次元信号に対するＯＢＭＣの例を示す図である。
【図４】本発明の課題を説明するための参照信号の右端近くにブロック境界を含むＯＢＭＣの例を示す図である。
【図５】適応的にサポート領域を変更したＯＢＭＣの例を示す図である。
【図６】動きベクトルの変化に伴う参照信号の参照位置の変化を示す図である。
【図７】重複部分の下限値を設けた場合の動きベクトルの変化に伴う参照信号の参照位置の変化の変化を示す図である。
【図８】重複部分の下限値を設けた場合の動きベクトルの変化に伴う参照信号の参照位置の変化（動きベクトルが負値の場合）を示す図である。
【図９】窓関数の例を示す図である。
【図１０】隣接ブロックとの間の窓関数の位置関係を示す図である。
【図１１】本発明の一実施例に係る処理フローを示す図である。
【図１２】本発明の一実施例に係る符号化装置の構成図である。
【符号の説明】
【００３９】
１  参照フレーム
２  被予測フレーム
１０  動き推定部
１１  動きベクトル記憶部
１２  適応的窓関数設計部
１３  右端／左端座標決定部
１４  右端座標記憶部
１５  左端座標記憶部
１６  窓関数決定部
１７  窓関数記憶部
１８  ＯＢＭＣ処理部
１９  予測信号記憶部
２０  右端／左端座標制御部
【図１】
2006191220.tif 000007
【図２】
2006191220.tif 000008
【図３】
2006191220.tif 000009
【図４】
2006191220.tif 000010
【図５】
2006191220.tif 000011
【図６】
2006191220.tif 000012
【図７】
2006191220.tif 000013
【図８】
2006191220.tif 000014
【図９】
2006191220.tif 000015
【図１０】
2006191220.tif 000016
【図１１】
2006191220.tif 000017
【図１２】
2006191220.tif 000018