(57)【要約】  ビデオ信号ビットストリームから重畳ウィンドウ係数を抽出し、前記重畳ウィンドウ係数を用いて参照ピクチャ内の一つ以上の参照領域にウィンドウを適用し、前記ウィンドウが適用された一つ以上の参照領域を多重に重複させることによって参照ブロックを獲得し、前記参照ブロックを用いて現在のブロックの予測値を獲得することを含むビデオ信号処理方法が開示される。
2010524383.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ信号ビットストリームから重畳ウィンドウ係数を抽出し、
前記重畳ウィンドウ係数を用いて参照ピクチャ内の一つ以上の参照領域にウィンドウを適用し、
前記ウィンドウが適用された一つ以上の参照領域を多重に重畳させることによって参照ブロックを獲得し、
前記参照ブロックを用いて現在のブロックの予測値を獲得することを含むことを特徴とするビデオ信号処理方法。
【請求項２】
前記重畳ウィンドウ係数は、シークエンス、フレーム、スライス又はブロックごとに変わるものであることを特徴とする、請求項１に記載のビデオ信号処理方法。
【請求項３】
前記参照ブロックは、前記重畳された参照領域のうち共通領域に該当するものであることを特徴とする、請求項１に記載のビデオ信号処理方法。
【請求項４】
現在のブロックに対する動き推定を行って動きベクトルを獲得し、
前記動きベクトルを用いて参照領域を探し出し、
前記参照領域に対して一つ以上のウィンドウを重畳するよう適用することによって、予測誤差を最小化する重畳ウィンドウ係数を獲得し、
前記重畳ウィンドウ係数をエンコーディングすることを含むことを特徴とするビデオ信号処理方法。
【請求項５】
前記エンコーディングすることは、前記重畳ウィンドウ係数をシークエンスヘッダ、スライスヘッダ又はマクロブロックレイヤに含ませることであることを特徴とする、請求項４に記載のビデオ信号処理方法。
【請求項６】
ビデオ信号ビットストリームからＯＢＭＣ適用フラグ情報を抽出し、
前記ＯＢＭＣ適用フラグ情報によって現在のブロックの参照ブロックを獲得し、
前記参照ブロックを用いて前記現在のブロックの予測値を獲得することを含むことを特徴とするビデオ信号処理方法。
【請求項７】
前記参照ブロックを獲得することは、前記現在のブロックの動き情報を用いて行われることを特徴とする、請求項６に記載のビデオ信号処理方法。
【請求項８】
前記参照ブロックを獲得することは、前記ＯＢＭＣ適用フラグ情報が前記現在のブロック又は現在のスライスにＯＢＭＣ方式が適用されたことを意味する場合、前記参照ブロックを前記ＯＢＭＣ方式によって獲得することであることを特徴とする、請求項６に記載のビデオ信号処理方法。
【請求項９】
現在のブロックに対する動き推定を行うことによって動きベクトルを獲得し、
前記動きベクトルを用いて参照領域に対して第１の動き補償方式による第１のビット量及び第２の動き補償方式による第２のビット量を算出し、
前記第１のビット量及び第２のビット量に基づいて前記第１の動き補償方式を表す情報及び前記第２の動き補償方式を表す情報のうち一つをエンコーディングすることを含むことを特徴とするビデオ信号処理方法。
【請求項１０】
前記第１の動き補償方式は、ブロック基盤の動き補償方式であり、前記第２の動き補償方式は、重畳ブロック基盤の動き補償方式であることを特徴とする、請求項９に記載のビデオ信号処理方法。
【請求項１１】
ビデオ信号ビットストリームからワーピング情報及び動き情報を抽出し、
前記ワーピング情報を用いて参照ピクチャを変形し、
前記変形された参照ピクチャ及び前記動き情報を用いて現在のブロックの予測値を獲得することを含むことを特徴とするビデオ信号処理方法。
【請求項１２】
前記ワーピング情報は、アフィン変形情報及び射影変換行列情報のうち一つ以上を含むことを特徴とする、請求項１１に記載のビデオ信号処理方法。
【請求項１３】
前記ワーピング情報は、前記現在のピクチャ及び前記参照ピクチャ上に存在する対応ペアの位置情報を含むことを特徴とする、請求項１２に記載のビデオ信号処理方法。
【請求項１４】
前記対応ペアの位置情報は、第１の点の位置情報、及び該第１の点の位置情報と第２の点の位置情報との間の差分値であることを特徴とする、請求項１３に記載のビデオ信号処理方法。
【請求項１５】
現在のピクチャ及び参照ピクチャを用いてワーピング情報を生成し、
前記ワーピング情報を用いて前記参照ピクチャを変形し、
前記変形された参照ピクチャを用いて現在のブロックの動きベクトルを獲得し、
前記ワーピング情報及び前記動きベクトルをエンコーディングすることを含むことを特徴とするビデオ信号処理方法。
【請求項１６】
現在のピクチャ及び参照ピクチャを用いてワーピング情報を生成し、
前記ワーピング情報を用いて前記参照ピクチャを変形し、
前記変形された参照ピクチャを用いて現在のブロックのエンコーディングに要する第１のビット数を算出し、
前記参照ピクチャを用いて前記現在のブロックのエンコーディングに要する第２のビット数を算出し、
前記第１のビット数及び前記第２のビット数に基づいてワーピング適用フラグ情報をエンコーディングすることを含むことを特徴とするビデオ信号処理方法。
【請求項１７】
前記第１のビット数及び前記第２のビット数によって前記ワーピング情報を送信するかどうかを決定することをさらに含むことを特徴とする、請求項１６に記載のビデオ信号処理方法。
【請求項１８】
ビデオ信号ビットストリームからワーピング情報及び予測方式フラグ情報を抽出し、
前記予測方式フラグ情報によって、前記ワーピング情報を用いて現在のピクチャ内の一つ以上の第１の点がマッピングされる参照ピクチャ内の第２の点を獲得し、
前記第２の点に対応する動きベクトルを用いて現在のブロックの動きベクトルを予測することを含むことを特徴とするビデオ信号処理方法。
【請求項１９】
前記第１の点は、前記予測方式フラグ情報によって決定されることを特徴とする、請求項１８に記載のビデオ信号処理方法。
【請求項２０】
前記第１の点は、左上端点、右上端点、左下端点及び右下端点のうち一つ以上を含むことを特徴とする、請求項１８に記載のビデオ信号処理方法。
【請求項２１】
前記第１の点が二つ以上の点である場合、前記現在のブロックの動きベクトルを予測することは、前記二つ以上の点の平均値又は中央値を計算することによって行われることを特徴とする、請求項１８に記載のビデオ信号処理方法。
【請求項２２】
現在のピクチャ及び参照ピクチャを用いてワーピング情報を獲得し、
前記ワーピング情報を用いて前記現在のピクチャ内の一つ以上の第１の点がマッピングされる前記参照ピクチャ内の第２の点を獲得し、
前記第２の点に対応する動きベクトル及び現在のブロックの動きベクトルに基づいて予測方式フラグ情報をエンコーディングすることを含むことを特徴とするビデオ信号処理方法。
【請求項２３】
ビデオ信号ビットストリームからワーピング情報及びワーピングスキップモードフラグ情報を抽出し、
前記ワーピングスキップモードフラグ情報によって、前記ワーピング情報を用いて参照ピクチャをワーピング変形し、
前記ワーピング変形された参照ピクチャ内の現在のブロックと同一位置の参照ブロックを用いて該現在のブロックを獲得することを含むことを特徴とするビデオ信号処理方法。
【請求項２４】
現在のピクチャ及び参照ピクチャを用いてワーピング情報を獲得し、
前記ワーピング情報を用いて前記参照ピクチャをワーピング変形し、
前記ワーピング変形された参照ピクチャを用いて現在のブロックの動きベクトルを獲得し、
前記動きベクトルに基づいてワーピングスキップフラグ情報をエンコーディングすることを含むことを特徴とするビデオ信号処理方法。
【請求項２５】
整数画素を基準にして現在の１／８画素の位置を探索し、
前記現在の１／８画素の位置を用いて係数を獲得し、
前記係数及び前記整数画素を用いて前記現在の１／８画素を生成することをさらに含むことを特徴とするビデオ信号処理方法。
【請求項２６】
前記整数画素は、前記現在の１／８画素から近い３個の整数画素を含み、
前記係数は、第１の整数画素に適用される第１の係数と、第２の整数画素に適用される第２の係数と、第３の整数画素に適用される第３の係数とを含むことを特徴とする、請求項２５に記載のビデオ信号処理方法。
【請求項２７】
前記第１の係数、前記第２の係数及び前記第３の係数の間の相対的な大きさは、それぞれ、前記第１の整数画素、前記第２の整数画素及び前記第３の整数画素の相対的な位置によって決定されることを特徴とする、請求項２６に記載のビデオ信号処理方法。
【請求項２８】
前記第１の係数、前記第２の係数及び前記第３の係数の間の相対的な大きさは、それぞれ、前記現在の１／８画素と前記第１の整数画素との間の距離と、前記現在の１／８画素と前記第２の整数画素との間の距離と、前記現在の１／８画素と前記第３の整数画素との間の距離によって決定されることを特徴とする、請求項２６に記載のビデオ信号処理方法。
【請求項２９】
前記ビデオ信号は、放送信号を介して受信されることを特徴とする、請求項２５に記載のビデオ信号処理方法。
【請求項３０】
前記ビデオ信号は、デジタル媒体を介して受信されることを特徴とする、請求項２５に記載のビデオ信号処理方法。
【請求項３１】
請求項２５に記載の方法を実行するためのプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ信号の処理に関するもので、より詳細には、ビデオ信号をエンコーディング又はデコーディングするビデオ信号処理方法及び装置に関するものである。
【背景技術】
【０００２】
圧縮符号化は、デジタル化した情報を通信回線を介して送信したり、保存媒体に適した形態で保存したりするための一連の信号処理技術を意味する。圧縮符号化の対象は、音声、映像、文字などであり、特に、映像を対象にして圧縮符号化を行う技術をビデオ映像圧縮と称する。ビデオ映像の一般的な特徴は、空間的冗長性及び時間的冗長性を有することにある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、空間的冗長性及び時間的冗長性を充分に除去しなければ、ビデオ信号を符号化するにおいて圧縮率が低下し、空間的冗長性及び時間的冗長性を過度に除去すれば、ビデオ信号をデコーディングする際に必要な情報を生成することができないので、復元率が悪くなるという問題点があった。
【０００４】
したがって、本発明は、上述した当分野の制限や欠点による問題点を解決するビデオ信号処理方法及び装置を目的とする。
【０００５】
本発明の目的は、ウィンドウ係数を適応的に適用し、重畳ブロック基盤の動き補償を行うことができるビデオ信号処理方法及び装置を提供することである。
【０００６】
本発明の他の目的は、参照ピクチャをワーピング変形して動き補償を行うことができるビデオ信号処理方法及び装置を提供することである。
【０００７】
本発明の更に他の目的は、ワーピング変形された参照ピクチャの動きベクトルを用いて動き補償を行うことができるビデオ信号処理方法及び装置を提供することである。
【０００８】
本発明の更に他の目的は、整数画素を用いて１／８画素を生成して動き補償を行うことができるビデオ信号処理方法及び装置を提供することである。
【課題を解決するための手段】
【０００９】
上述した目的を達成するために、本発明に係るビデオ信号処理方法は、ビデオ信号ビットストリームから重畳ウィンドウ係数を抽出し、重畳ウィンドウ係数を用いて参照ピクチャ内の一つ以上の参照領域にウィンドウを適用し、ウィンドウが適用された一つ以上の参照領域を多重に重畳させることによって参照ブロックを獲得し、参照ブロックを用いて現在のブロックの予測値を獲得することを含む。
【００１０】
本発明によれば、重畳ウィンドウ係数は、シークエンス、フレーム、スライス又はブロックごとに変わることが好ましい。
【００１１】
本発明によれば、参照ブロックは、重畳された参照領域のうち共通領域に該当するものであることが好ましい。
【００１２】
本発明の他の側面によれば、現在のブロックに対する動き推定を行って動きベクトルを獲得し、動きベクトルを用いて参照領域を探し出し、参照領域に対して一つ以上のウィンドウを重畳するよう適用することによって、予測誤差を最小化する重畳ウィンドウ係数を獲得し、重畳ウィンドウ係数をエンコーディングすることを含むビデオ信号処理方法が提供される。
【００１３】
本発明によれば、エンコーディングすることは、重畳ウィンドウ係数をシークエンスヘッダ、スライスヘッダ又はマクロブロックレイヤに含ませることであることが好ましい。
【００１４】
本発明の更に他の側面によれば、ビデオ信号ビットストリームからＯＢＭＣ（Overlapped Block Motion Compensation：重畳ブロック動き補償）適用フラグ情報を抽出し、ＯＢＭＣ適用フラグ情報によって現在のブロックの参照ブロックを獲得し、参照ブロックを用いて現在のブロックの予測値を獲得することを含むビデオ信号処理方法が提供される。
【００１５】
参照ブロックを獲得することは、現在のブロックの動き情報を用いて行われることが好ましい。
【００１６】
本発明によれば、参照ブロックを獲得することは、ＯＢＭＣ適用フラグ情報が現在のブロック又は現在のスライスにＯＢＭＣ方式が適用されたことを意味する場合、参照ブロックをＯＢＭＣ方式によって獲得することであることが好ましい。
【００１７】
本発明の更に他の側面によれば、現在のブロックに対する動き推定を行うことによって動きベクトルを獲得し、動きベクトルを用いて参照領域に対して第１の動き補償方式による第１のビット量、及び第２の動き補償方式による第２のビット量を算出し、第１のビット量及び第２のビット量に基づいて第１の動き補償方式を表す情報及び第２の動き補償方式を表す情報のうち一つをエンコーディングすることを含むビデオ信号処理方法が提供される。
【００１８】
本発明によれば、第１の動き補償方式は、ブロック基盤の動き補償方式であり、第２の動き補償方式は、重畳ブロック基盤の動き補償方式であることが好ましい。
【００１９】
本発明の更に他の側面によれば、ビデオ信号ビットストリームからワーピング情報及び動き情報を抽出し、ワーピング情報を用いて参照ピクチャを変形し、変形された参照ピクチャ及び動き情報を用いて現在のブロックの予測値を獲得することを含むビデオ信号処理方法が提供される。
【００２０】
本発明によれば、ワーピング情報は、アフィン変形情報及び射影変換行列情報のうち一つ以上を含むことが好ましい。
【００２１】
本発明によれば、ワーピング情報は、現在のピクチャ及び参照ピクチャ上に存在する対応ペアの位置情報を含むことが好ましい。
【００２２】
この場合、本発明によれば、対応ペアの位置情報は、第１の点の位置情報及びこの第１の点の位置情報と第２の点の位置情報との間の差分値を含む。
【００２３】
本発明の更に他の側面によれば、現在のピクチャ及び参照ピクチャを用いてワーピング情報を生成し、ワーピング情報を用いて参照ピクチャを変形し、変形された参照ピクチャを用いて現在のブロックの動きベクトルを獲得し、ワーピング情報及び動きベクトルをエンコーディングすることを含むビデオ信号処理方法が提供される。
【００２４】
本発明の更に他の側面によれば、現在のピクチャ及び参照ピクチャを用いてワーピング情報を生成し、ワーピング情報を用いて参照ピクチャを変形し、変形された参照ピクチャを用いて現在のブロックのエンコーディングに要する第１のビット数を算出し、参照ピクチャを用いて現在のブロックのエンコーディングに要する第２のビット数を算出し、第１のビット数及び第２のビット数に基づいてワーピング適用フラグ情報をエンコーディングすることを含むビデオ信号処理方法が提供される。
【００２５】
本発明の更に他の側面によれば、第１のビット数及び第２のビット数によってワーピング情報を送信するかどうかを決定することをさらに含むことが好ましい。
【００２６】
本発明の更に他の側面によれば、ビデオ信号ビットストリームからワーピング情報及び予測方式フラグ情報を抽出し、予測方式フラグ情報によって、ワーピング情報を用いて現在のピクチャ内の一つ以上の第１の点がマッピングされる参照ピクチャ内の第２の点を獲得し、第２の点に対応する動きベクトルを用いて現在のブロックの動きベクトルを予測することを含むビデオ信号処理方法が提供される。
【００２７】
本発明によれば、第１の点は、予測方式フラグ情報によって決定されるものであることが好ましい。
【００２８】
本発明によれば、第１の点は、左上端点、右上端点、左下端点、右下端点のうち一つ以上を含むことができることが好ましい。
【００２９】
本発明によれば、第１の点が二つ以上である場合、現在のブロックの動きベクトルを予測することは、二つ以上の点の平均値又は中央値で現在のブロックの動きベクトルを予測することであることが好ましい。
【００３０】
本発明の更に他の側面によれば、現在のピクチャ及び参照ピクチャを用いてワーピング情報を獲得し、ワーピング情報を用いて現在のピクチャ内の一つ以上の第１の点がマッピングされる参照ピクチャ内の第２の点を獲得し、第２の点に対応する動きベクトル及び現在のブロックの動きベクトルに基づいて予測方式フラグ情報をエンコーディングすることを含むビデオ信号処理方法が提供される。
【００３１】
本発明の更に他の側面によれば、ビデオ信号ビットストリームからワーピング情報及びワーピングスキップモードフラグ情報を抽出し、ワーピングスキップモードフラグ情報によって、ワーピング情報を用いて参照ピクチャをワーピング変形し、ワーピング変形された参照ピクチャ内の現在のブロックと同一位置の参照ブロックを用いて現在のブロックを獲得することを含むビデオ信号処理方法が提供される。
【００３２】
本発明の更に他の側面によれば、現在のピクチャ及び参照ピクチャを用いてワーピング情報を獲得し、ワーピング情報を用いて参照ピクチャをワーピング変形し、ワーピング変形された参照ピクチャを用いて現在のブロックの動きベクトルを獲得し、動きベクトルに基づいてワーピングスキップフラグ情報をエンコーディングすることを含むビデオ信号処理方法が提供される。
【００３３】
本発明の更に他の側面によれば、整数画素を基準にして現在の１／８画素の位置を探索し、現在の１／８画素の位置を用いて係数を獲得し、係数及び整数画素を用いて現在の１／８画素を生成することをさらに含むビデオ信号処理方法が提供される。
【００３４】
本発明の更に他の側面によれば、整数画素は、現在の１／８画素から近い３個の整数画素を含み、係数は、第１の整数画素に適用される第１の係数と、第２の整数画素に適用される第２の係数と、第３の整数画素に適用される第３の係数とを含むビデオ信号処理方法が提供されることが好ましい。
【００３５】
本発明によれば、第１の係数、第２の係数及び第３の係数の間の相対的な大きさは、それぞれ、第１の整数画素、第２の整数画素、第３の整数画素の相対的な位置によって決定されることが好ましい。
【００３６】
本発明によれば、第１の係数、第２の係数及び第３の係数の間の相対的な大きさは、それぞれ、現在の１／８画素と第１の整数画素との間の距離、現在の１／８画素と第２の整数画素との間の距離、現在の１／８画素と第３の整数画素との間の距離によって決定されることが好ましい。
【００３７】
本発明によれば、ビデオ信号は、放送信号を介して受信されたものであることが好ましい。
【００３８】
本発明によれば、ビデオ信号は、デジタル媒体を介して受信されたものであることが好ましい。
【００３９】
本発明の更に他の側面によれば、整数画素を基準にして現在の１／８画素の位置を探索し、現在の１／８画素の位置を用いて係数を獲得し、係数及び整数画素を用いて現在の１／８画素を生成することを含むビデオ信号処理方法を実行するためのプログラムが記録されたコンピュータ読み取り可能な記録媒体が提供される。
【発明の効果】
【００４０】
本発明は、次のような効果及び利点を提供する。
【００４１】
第一に、適応的にウィンドウを適用するので、現在のブロックとほぼ類似した参照ブロックを獲得することができ、残差の大きさが減少し、コーディング効率が高くなる。
【００４２】
第二に、ワーピング変形された参照ピクチャを用いることによって、特に現在のピクチャが参照ピクチャに比べてより拡大／縮小したり、又は回転したりした場合、現在のピクチャの残差をエンコーディングするのに必要なビット数を著しく減少させることができる。
【００４３】
第三に、ワーピング変形された参照ピクチャの動きベクトルを用いることによって、現在のブロックの動きベクトルをコーディングするのに必要なビット数を減少させることができ、動きベクトルの送信を省略することができる。
【００４４】
第四に、１／２画素又は１／４画素でない整数画素を用いて１／８画素を生成する方式であるので、一つの補間ステップで１／８画素を生成することができ、複数の補間ステップを行うときに発生する複雑度を減少させることができる。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施例に係るビデオ信号エンコーディング装置の概略ブロック図である。
【図２】本発明の一実施例に係るビデオ信号デコーディング装置の概略ブロック図である。
【図３】ブロック基盤の動き補償技術を説明するための図である。
【図４】ＯＢＭＣ方式のうち参照ピクチャへのウィンドウ適用を説明するための図である。
【図５】図４でウィンドウが適用された各参照領域が多重に重畳された場合を示す図である。
【図６】本発明の第１の実施例に係るＯＢＭＣ方式を示すフローチャートである。
【図７】本発明の第１の実施例に係るＯＢＭＣ方式が適用された予測画面を示した図である。
【図８】本発明の第１の実施例に係るＯＢＭＣ方式を示すフローチャートである。
【図９】ＯＢＭＣ方式及び従来の方式（ＢＭＣ）による性能を比較したグラフである。
【図１０】本発明の他の実施例に係るビデオ信号エンコーディング装置の概略ブロック図である。
【図１１】本発明の他の実施例に係るビデオ信号デコーディング装置の概略ブロック図である。
【図１２】拡大された場合の参照ピクチャと現在のピクチャの一例を示す図である。
【図１３】図１２の例で特定の客体に対応するブロックを示した図である。
【図１４】回転した場合の参照ピクチャと現在のピクチャの一例を示す図である。
【図１５】図１４の例で特定の背景に対応するブロックを示した図である。
【図１６】アフィン変形情報の概念を説明するための図である。
【図１７】射影変換行列情報の概念を説明するための図である。
【図１８】ワーピング情報獲得処理及びワーピングされた参照ピクチャ獲得処理を示すフローチャートである。
【図１９】参照ピクチャ及び現在のピクチャの一例を示す図である。
【図２０】図１８に示した各ステップのうちステップＳ３１０（コーナ（特徴）探しステップ）を説明するための図である。
【図２１】図１８に示した各ステップのうちステップＳ３２０（コーナ追跡ステップ）を説明するための図である。
【図２２】図１８に示した各ステップのうちステップＳ３３０（コーナのグループ化ステップ）を説明するための図である。
【図２３】図１８に示した各ステップのうちステップＳ３４０（アウトライア削除ステップ）を説明するための図である。
【図２４】図１８に示した各ステップのうちステップＳ３６０（参照ピクチャ生成ステップ）を説明するための図である。
【図２５】ワーピング適用決定処理を示すフローチャートである。
【図２６】動きベクトル予測に対する概念を説明するための図である。
【図２７】ワーピング情報を用いた動きベクトル予測を説明するための図である。
【図２８】ワーピング情報のコーディング効率を高めるための第１の方法を説明するための図である。
【図２９】ワーピング情報のコーディング効率を高めるための第２の方法を説明するための図である。
【図３０】ワーピング情報のコーディング効率を高めるための第３の方法を説明するための図である。
【図３１】現在のピクチャの参照関係を示した図である。
【図３２】１／８画素の概念を説明するための図である。
【図３３】１／８画素動き補償方法の補間ステップを説明するための図である。
【図３４】整数、１／２画素、１／４画素、１／８画素の位置を２次元的に説明するための図である。
【図３５】本発明の実施例に係る１／８画素動き補償方法のうち第１のグループに該当する各画素の補償方法を説明するための図である。
【図３６】本発明の実施例に係る１／８画素動き補償方法のうち第２のグループに該当する各画素の補償方法を説明するための図である。
【図３７】本発明の実施例に係る１／８画素動き補償方法のうち第３のグループに該当する各画素の補償方法を説明するための図である。
【発明を実施するための形態】
【００４６】
以下、本発明をさらに理解するため添付された図面は、本明細書に組み込まれて本明細書の一部を構成する。これらの添付図面は、本発明の実施形態を例示し、明細書の記載と併せて本明細書の主旨を説明するためのものである。
【００４７】
本発明の他の特徴及び利点は、以下の記載で述べるが、その一部については、明細書の記載から明らかになるであろうし、或いは、本発明の実施によって習得されるであろう。本発明の目的及び他の利点は、明細書及び特許請求の範囲の書面並びに添付図面で特に示された構成によって、実現され達成されるであろう。
【００４８】
以下の例示及び説明のための概略記述及び詳細記述は、特許請求の範囲に記載された本発明をさらに説明するものであることに留意されたい。
【００４９】
以下、添付の図面に例示された本発明による好適な実施形態を参照しつつ詳細に説明する。
【００５０】
本発明におけるコーディングは、エンコーディング及びデコーディングを全て含む概念で理解しなければならない。
【００５１】
１．ＯＢＭＣ（Overlapped Block Motion Compensation：重畳ブロック動き補償）
図１は、本発明の一実施例に係るビデオ信号エンコーディング装置の概略ブロック図である。図１を参照すれば、本発明の一実施例に係るビデオ信号エンコーディング装置は、変換部１１０、量子化部１１５、コーディング制御部１２０、逆量子化部１３０、逆変換部１３５、フィルタリング部１４０、フレーム保存部１４５、動き推定部１６０、インター予測部１７０、イントラ予測部１７５及びエントロピコーディング部１８０を含む。
【００５２】
変換部１１０は、画素値を変換して変換係数値を獲得するが、このとき、離散コサイン変換（ＤＣＴ：Discrete Cosine Transform）又はウェーブレット変換方式が使用される。量子化部１１５は、変換部１１０から出力された変換係数値を量子化する。コーディング制御部１２０は、特定のブロック又はフレームに対して画面内符号化を行うか、それとも画面間符号化を行うかを制御する。逆量子化部１３０及び逆変換部１３５は、変換係数値を逆量子化し、逆量子化された変換係数値を用いて元の画素値を復元する。
【００５３】
フィルタリング部１４０は、ブロック歪曲現象を減少させるために、それぞれのコーディングされたマクロブロックに適用される。この場合、フィルタは、ブロックの縁部を滑らかにし、デコーディングされたピクチャの画質を向上させる。境界強度及び境界周囲のイメージサンプルの階調度に従って、フィルタリング処理を選択する。フィルタリングを経た各ピクチャは、出力されるか、または、参照ピクチャとして用いるためにフレーム保存部１４５に保存される。
【００５４】
動き推定部１６０は、フレーム保存部１４５に保存された参照ピクチャを用いて、参照ピクチャのうち現在のブロックに最も類似した参照ブロックを探索する。このとき、参照ピクチャは、重畳ウィンドウ１５０が適用されたピクチャである。このとき、重畳ウィンドウが適用されたピクチャを用いる方式を、重畳ブロック基盤の動き推定による動き補償（ＯＢＭＣ：Overlapped Block Motion Compensation）と称するが、本発明で提案する重畳ブロック基盤の動き補償の実施例については、後で図３〜図９を参照しながら説明することにする。一方、動き推定部１６０は、重畳ウィンドウを適用するのに使用されたウィンドウ係数などをエントロピコーディング部１８０に転送することによって、ウィンドウ係数などをビットストリームに含ませることができる。
【００５５】
インター予測部１７０は、重畳ウィンドウ１５０が適用された参照ピクチャを用いて現在のピクチャの予測を行い、画面間符号化情報は、エントロピコーディング部１８０に転送される。イントラ予測部１７０は、現在のピクチャ内のデコーディングされたサンプルから画面内予測を行い、画面内符号化情報をエントロピコーディング部１８０に転送する。
【００５６】
エントロピコーディング部１８０は、量子化された変換係数値、画面内符号化情報、画面間符号化情報をエントロピコーディングし、ビデオ信号ビットストリームを生成する。ここで、エントロピコーディング部１８０では、可変長コーディング（ＶＬＣ：Variable Length Coding）方式及び算術符号化が使用される。可変長コーディング（ＶＬＣ）方式は、入力される各シンボルを連続するコードワードに変換するが、コードワードの長さは可変的である。例えば、頻繁に発生する各シンボルを短いコードワードで表現し、頻繁に発生しない各シンボルを長いコードワードで表現する。可変長コーディング方式として、コンテキスト基盤の適応型可変長コーディング（ＣＡＶＬＣ：Context-based Adaptive Variable Length Coding）方式が使用される。算術符号化は、連続的なデータシンボルを一つの素数に変換する。そして、算術符号化によって、各シンボルを表現するために必要な最適の素数ビットを得ることができる。算術符号化として、コンテキスト基盤の適応型二値算術符号化（ＣＡＢＡＣ：Context-based Adaptive Binary Arithmetic Code）が用いられる。
【００５７】
図２は、本発明の一実施例に係るビデオ信号デコーディング装置の概略ブロック図である。図２を参照すれば、本発明の一実施例に係るビデオ信号デコーディング装置は、エントロピデコーディング部２１０、逆量子化部２２０、逆変換部２２５、フィルタリング部２３０、フレーム保存部２４０、インター予測部２６０及びイントラ予測部２６５を含む。
【００５８】
エントロピデコーディング部２１０は、ビデオ信号ビットストリームをエントロピデコーディングし、各マクロブロックの変換係数、動きベクトルなどを抽出する。逆量子化部２２０は、エントロピデコーディングされた変換係数を逆量子化し、逆変換部２２５は、逆量子化された変換係数を用いて元の画素値を復元する。一方、フィルタリング部２３０は、ブロック歪曲現象を減少させるためにそれぞれのコーディングされたマクロブロックに適用される。フィルタは、ブロックの縁部を滑らかにし、デコーディングされたピクチャの画質を向上させる。フィルタリングを経た各ピクチャは、出力されるか、または、参照ピクチャとして用いるためにフレーム保存部２４０に保存される。
【００５９】
インター予測部２６０は、フレーム保存部２４０に保存された参照ピクチャを用いて現在のピクチャを予測するが、このとき、図１を参照して説明したように、重畳ウィンドウ２５０が適用された参照ピクチャを用いる。一方、インター予測部２６０は、重畳ウィンドウ２５０を適用するのに必要なウィンドウ係数などをエントロピデコーディング部２１０から受け取ることができる。これについても、後で図３〜図９を参照して説明する。
【００６０】
イントラ予測部２６５では、現在のピクチャ内のデコーディングされた各サンプルから画面内予測を行う。イントラ予測部２６５又はインター予測部２６０から出力された予測値と、逆変換部２２５から出力された画素値とが加えられ、復元されたビデオフレームが生成される。
【００６１】
以下では、図３を参照してブロック基盤の動き補償技術を説明した後、図４〜図９を参照して本発明の実施例に係る重畳ブロック基盤の動き補償（ＯＢＭＣ）方式を説明する。
【００６２】
図３は、ブロック基盤の動き補償技術を説明するための図である。
まず、図３の（ａ）を参照すれば、現在のピクチャは、特定の大きさの各ブロックに分割される。それらの各ブロックのうち現在のブロックＡの動きを推定するために、図３の（ｂ）に示した参照ピクチャ内で現在のブロックＡと最も類似した参照ブロックＢを探索する。このとき、現在のブロックＡと同一の位置ＬAと参照ブロックＢの位置ＬBとのオフセットが動きベクトルである。この動きベクトルを用いて、現在のブロックと最も類似した参照ブロックＢを探して現在のブロックの予測値を獲得し、この予測値に残差信号を加えて現在のブロックを復元することができる。
【００６３】
このようにブロック基盤で動き補償を行う技術は、隣接した各フレーム間の冗長性を除去するのに効率的であるが、ブロックの境界でブロッキングアーチファクトを発生させるという短所を有する。このブロッキングアーチファクトによってコーディング効率が低下するだけでなく、画質が低下するという問題点がある。このような問題点を解決するための努力として、重畳ブロック基盤の動き補償（ＯＢＭＣ）方式が提案された。以下では、本発明の実施例に係る重畳ブロック基盤の動き補償（ＯＢＭＣ）方式のうち第１の実施例及び第２の実施例について説明する。
【００６４】
図４は、本発明の第１の実施例に係るＯＢＭＣ方式のうち参照ピクチャへのウィンドウ適用を説明するための図である。図４の（ａ）を参照すれば、現在のブロックＢ0と現在のブロックを取り囲む各隣接ブロックＢ1，…，Ｂ8とが存在することが分かる。
【００６５】
図４の（ｂ）を参照すれば、参照ピクチャ内で現在のブロックの各隣接ブロックＢ1，…，Ｂ8にそれぞれ対応する各参照ブロックＢ1，…，Ｂ8にそれぞれ重畳ウィンドウを適用し、図４の（ｃ）のようにウィンドウが適用された各参照ブロックを生成する。
【００６６】
ウィンドウは、中間部分には相対的に大きい加重値を与えて、周辺部分には相対的に小さい加重値を与える。このとき、参照ブロックＢ1に対応する領域のみにウィンドウを適用するのでなく、参照ブロックＢ1及びその周囲部分ｄまで含む領域にウィンドウを適用する。このとき、ウィンドウは、固定されているが、シークエンス、フレーム、スライス又はマクロブロックごとに適応的に異なるように定めることができる。例えば、次の数式１〜数式３のように定めることができる。
【００６７】
［数式１］
【数１】
2010524383.tif 000003
【００６８】
［数式２］
【数２】
2010524383.tif 000004
【００６９】
［数式３］
【数３】
2010524383.tif 000005
【００７０】
ここで、ｗは、重畳ウィンドウ係数を表し、Ｅは、予測誤差の二乗の和を表し、Ｉは、ピクチャでの画素強度を表し、ｐは、ピクセル位置ベクトルを表し、Ｓは、ブロックサイズを表し、ｍは、現在のブロックに対する相対的な位置（例えば、現在のブロックが（０、０）であるとき、上部ブロックは（−１、０）である。）を表す。
【００７１】
数式１〜数式３に示すように、重畳ウィンドウ係数ｗは、予測誤差Ｅによって異なるように定められるが、これについては、後で図６を参照して具体的に説明することにする。
【００７２】
図５は、図４でウィンドウが適用された各参照領域が多重に重畳された場合を示した図である。図５を参照すれば、ウィンドウが適用された複数の参照領域Ｂ1，…，Ｂ8が重畳されていることが分かる。このとき、共通に重畳された領域から現在のブロックに対応する参照ブロックＢ0を獲得することができる。例えば、１番目の参照領域Ｂ1は、現在のブロックに対応する参照ブロックＢ0の左側上部領域Ｂ0aと重畳され、８番目の参照領域Ｂ8は、現在のブロックに対応する参照ブロックＢ0の左側上部領域Ｂ0dと重畳される。このように重畳された領域から現在のブロックに対応する参照ブロックＢ0を獲得すると、ブロック境界のブロッキングアーチファクトを除去することができ、最も適した予測値を獲得することができるので、残差のビット量を最小化することができる。
【００７３】
図６は、本発明の第１の実施例に係るＯＢＭＣ方式に関するフローチャートである。図６を参照すれば、ステップＳ１１０〜ステップＳ１４０は、エンコーダが行う段階ステップであり、図１を参照して説明された本発明の第１の実施例に係るビデオ信号エンコーディング装置によって行われる。また、ステップＳ１５０〜ステップＳ１８０は、デコーダが行うステップであり、図２を参照して説明された本発明の第１の実施例に係るビデオ信号デコーディング装置によって行われる。
【００７４】
まず、エンコーダは、動きベクトルを獲得するために動き推定を行う（ステップＳ１１０）。動き補償は、量子化後の誤差変換係数のエネルギを最小化することを目標とするが、変換されたブロック内のエネルギは、変換される前の誤差ブロック内のエネルギによって左右される。したがって、動き推定は、動き補償された誤差（すなわち、現在のブロックと参照領域との間の差）内のエネルギが最小になる、現在のブロック又は領域と適合するブロック又は領域を探すことである。このとき、一般に多くの点で誤差エネルギを評価する処理が必要であるが、エネルギを測定する方法を選択することは、動き推定処理の演算上の複雑度及び正確性に影響に及ぼす。エネルギの測定方法としては、次のような三つの方法がある。
【００７５】
（１）平均二乗誤差（Mean Squared Error）：
【数４】
2010524383.tif 000006
【００７６】
ここで、Ｃijは、現在のブロックのサンプルを表し、Ｒijは、参照領域のサンプルを表す。
【００７７】
（２）平均絶対誤差（Mean Absolute Error）
【数５】
2010524383.tif 000007
【００７８】
（３）絶対誤差の和（Sum of Absolute Error）
【数６】
2010524383.tif 000008
【００７９】
さらに、他のエネルギ測定方法として、ＳＡ（Ｔ）Ｄ（the Sum of Absolute Differences of the Transformed Residual Data：変換済残差データの絶対差分の和）が使用される。
【００８０】
一方、動き推定を行うにおいて、完全探索（full search）方式及び高速探索（fast search）方式などが使用される。完全探索方式は、ウィンドウ内の各点でＳＡＥなどを計算する。まず、ウィンドウを中央の初期探索位置から螺旋形方向に外側に移動させながら完全探索を行うことができる。完全探索方式は、最小のＳＡＥなどを探し出すことができるが、全ての位置でエネルギを測定しなければならないので、非常に多くの演算量を必要とする。高速探索方式は、探索ウィンドウ内の位置のうち一部のみに対してエネルギを測定する方式として、３ステップ探索法（ＴＳＳ：Three Step Search、N-step search）、対数探索法（Logarithmic Search）、最近傍探索法（Nearest Neighbors Search）などの方式がある。
【００８１】
このようにステップＳ１１０で獲得された動きベクトルを用いて、全体の予測誤差Ｅを最小化する最適な重畳ウィンドウ係数ｗを獲得する（ステップＳ１２０）。重畳ウィンドウ係数ｗは、シークエンス、フレーム、スライス又はブロックによって変わり得る。
【００８２】
その後、次の数式４に示したＳＡＤなどを用いて、予測誤差Ｅがしきい値に収束するまで、ステップＳ１１０〜ステップＳ１２０を反復する（ステップＳ１３０）。
【００８３】
［数式４］
【数７】
2010524383.tif 000009
【００８４】
エンコーダは、最適な重畳ウィンドウ係数ｗをシンタックスエレメントに含ませ、これをビデオ信号ビットストリームを通して送信する（ステップＳ１４０）。
【００８５】
そうすると、デコーダは、ビデオ信号ビットストリームを受信し（ステップＳ１５０）、受信したビデオ信号ビットストリームから重畳ウィンドウ係数ｗを抽出する（ステップＳ１６０）。その後、デコーダは、重畳ウィンドウ係数ｗを用いて参照ピクチャの各参照領域にウィンドウを適用して参照領域を相互に多重に重複させる（ステップＳ１７０）。デコーダは、多重に重複させた参照領域から参照ブロックを獲得し、獲得された参照ブロックを用いて、現在のブロックの予測値を獲得する動き補償を行う（ステップＳ１８０）。
【００８６】
図７は、本発明の第１の実施例に係るＯＢＭＣ方式が適用された予測画面を示した図である。図７の（ａ）は、原本画面で、（ｂ）は、従来の動き補償（ＢＭＣ）方式を適用して獲得された予測で、（ｃ）は、本発明のＯＢＭＣ方式を適用して獲得された予測である。図７の（ｃ）では、図７の（ｂ）の場合よりもブロッキングアーチファクトが改善されたことが分かる。
【００８７】
図８は、本発明の第２の実施例に係るＯＢＭＣ方式に関する順序を示す図である。第１の実施例の場合と同様に、ステップＳ２１０〜ステップＳ２５５はエンコーダで行われるステップで、ステップＳ２６０〜ステップＳ２９５はデコーダで行われるステップである。
【００８８】
まず、エンコーダは、動きベクトルを獲得するために動き推定を行う（ステップＳ２１０）。その後、従来の動き補償方式（ＢＭＣ）を適用して現在のスライス又は現在のブロックの予測値を獲得した後、残差をコーディングするのに要するビット量を計算する（ステップＳ２２０）。そして、重畳ブロック基盤の動き補償方式（ＯＢＭＣ）を適用して現在のスライス又は現在のブロックの予測値を獲得した後、残差をコーディングするのに要するビット量を計算する（ステップＳ２３０）。
【００８９】
その後、ステップＳ２２０の結果とステップＳ２３０の結果とを比較し、ＯＢＭＣがビット量側面で有利であるかどうかを判断する（ステップＳ２４０）。図９は、ＯＢＭＣ方式及び従来の方式（ＢＭＣ）による性能を比較したグラフである。図９を参照すれば、ＯＢＭＣ方式がコーディング効率面では優れているが、部分的にはＢＭＣ方式の方が優れていることが分かる。例えば、フレームナンバーが１２〜１８、１１２〜１１８である領域などではＢＭＣ方式が効率的であることが分かる。このように、部分的にはＢＭＣ方式が有利であるので、フレーム別、スライス別、ブロック別にいずれの方式が有利であるかを判断する。
【００９０】
再び図８を参照すれば、ステップＳ２４０での判断結果、ＯＢＭＣが有利である場合（ステップＳ２４０の‘ｙｅｓ’）、ＯＢＭＣが適用されたことを表す識別子をセットする（ステップＳ２５０）。例えば、ＯＢＭＣ適用フラグ情報を１にセットすることができる。その反対に、ＢＭＣが有利である場合、ＢＭＣが適用されたことを表す識別子をセットする（ステップＳ２５５）。例えば、ＯＢＭＣ適用フラグ情報を０にセットする。次の表１及び表２には、ＯＢＭＣ適用フラグ情報及びその意味が示されている。
【００９１】
［表１］ＯＢＭＣ適用フラグ情報の意味
【表１】
2010524383.tif 000010
【００９２】
［表２］ＯＢＭＣ適用フラグ情報の意味２
【表２】
2010524383.tif 000011
【００９３】
表１に示すように、ＯＢＭＣ適用フラグ情報が、現在のスライス又は現在のフレームにＯＢＭＣが適用されたかどうかを知らせる情報である場合、ＯＢＭＣ適用フラグは、スライスヘッダ又はシークエンスヘッダなどに含まれる。
【００９４】
一方、表２に示すように、ＯＢＭＣ適用フラグ情報が現在のブロックに対する情報である場合、ＯＢＭＣ適用フラグ情報はマクロブロックレイヤに含まれるが、本発明がこれに限定されることはない。
【００９５】
２．ワーピング変形（Warping Transform）
図１０は、本発明の他の実施例に係るビデオ信号エンコーディング装置の概略ブロック図である。図１０を参照すれば、本発明の他の実施例に係るビデオ信号エンコーディング装置は、変換部３１０、量子化部３１５、コーディング制御部３２０、逆量子化部３３０、逆変換部３３５、フィルタリング部３４０、フレーム保存部３４５、参照ピクチャ変形部３５０、動き推定部３６０、インター予測部３７０、イントラ予測部３７５及びエントロピコーディング部３８０を含むが、参照ピクチャ変形部３５０及び動き推定部３６０を除いた各構成要素は、図１を参照して説明されたエンコーディング装置の構成要素のうち同一名称の構成要素とほぼ類似した機能を行うので、これに対する具体的な説明は省略する。
【００９６】
一方、参照ピクチャ変形部３５０は、参照ピクチャ及び現在のピクチャを用いてワーピング情報を獲得し、このワーピング情報によって参照ピクチャをワーピングし、変形された参照ピクチャを生成する。このワーピング情報は、動き推定部３６０を通してエントロピコーディング部３８０に転送されてビットストリームに含められる。ワーピング情報の概念及び種類については、後で図１２〜図１７を参照しながら説明し、ワーピング情報の獲得方法及びワーピングされた参照ピクチャ獲得方法については、後で図１８〜図２４を参照して説明する。
【００９７】
動き推定部３６０は、ワーピングされた参照ピクチャ及び／又は原本参照ピクチャを用いて現在のブロックの動きを推定する。１）ワーピングされた参照ピクチャを用いるか、それとも原本参照ピクチャを用いるかなどを決定する設定処理については図２５を参照しながら説明し、２）ワーピング情報を用いて現在の動きベクトルを予測する方法については図２６を参照しながら説明し、３）ワーピング情報を效率的に送信する方法については図２８〜図３０を参照しながら説明し、４）ワーピング情報を送信するので動きベクトルなどの送信をスキップするかどうかなどについては後述する。
【００９８】
図１１は、本発明の他の実施例に係るビデオ信号デコーディング装置の概略ブロック図である。図１１を参照すれば、本発明の他の実施例に係るビデオ信号デコーディング装置は、エントロピデコーディング部４１０、逆量子化部４２０、逆変換部４２５、フィルタリング部４３０、フレーム保存部４４０、参照ピクチャ変形部４５０、インター予測部４６０及びイントラ予測部４７０を含む。参照ピクチャ変形部４５０及びインター予測部４６０を除いた構成要素は、図２を参照して説明された本発明の一実施例に係るビデオ信号デコーディング装置の同一名称の構成要素と同一の機能を行うので、これに対する説明は省略する。
【００９９】
参照ピクチャ変形部４５０は、ビデオ信号ビットストリームから抽出されたワーピング情報を用いて、フレーム保存部４４０に保存されている参照ピクチャをワーピング変形する。これについては、図３１を参照して具体的に説明する。一方、インター予測部４６０は、ワーピング情報を用いて動きベクトルの予測を生成し、この動きベクトルの予測及び動きベクトルの残差を用いて動きベクトルを獲得する。これについても、後で具体的に説明することにする。
【０１００】
以下では、ワーピング情報の概念及びエンコーダでのワーピング情報の獲得処理を説明し、ワーピング情報の送信を説明した後、デコーダでワーピング情報を用いる方法を順次説明する。
【０１０１】
２．１  ワーピング情報獲得（エンコーダで）
図１２は、拡大された場合の参照ピクチャと現在のピクチャの一例を示した図で、図１３は、図１２の例で特定の客体に対応するブロックを示した図である。図１２を参照すれば、（ａ）には参照ピクチャが、（ｂ）には現在のピクチャが示されており、現在のピクチャと参照ピクチャとを比較すると、現在のピクチャにおいて背景（柱）及び客体（電車）が拡大された場合である。図１３を参照すれば、参照ピクチャ（ａ）での客体（電車）と現在のピクチャ（ｂ）での客体とを比較することができる。このように拡大された場合、現在のブロックＢｃと同一の大きさを有する参照ブロックを探索すると、最も類似した参照ブロックを探すのに失敗したり、現在のブロックと参照ブロックとの差分である残差が大きくなり、コーディング効率が低下したりしてしまう。
【０１０２】
図１４は、回転した場合の参照ピクチャと現在のピクチャの一例を示した図で、図１５は、図１４の例で特定の背景に対応するブロックを示した図である。図１４の（ａ）には参照ピクチャが、（ｂ）には現在のピクチャが示されており、現在のピクチャは、参照ピクチャを時計方向に回転した場合である。図１５を参照すれば、参照ピクチャでの特定の背景（岩の表面）と現在のピクチャでの特定の背景とを比較することができる。動き推定のためのエネルギの測定において、参照ブロック及び現在のブロック内でそれぞれ同一位置の画素間の誤差を算出する。したがって、この場合、拡大された場合と同様に、最も類似した参照ブロックを探せないか、または、残差のコーディング効率が非常に低くなる。
【０１０３】
（１）ワーピング情報の種類
このように参照ピクチャが拡大／縮小したり、又は回転したりした場合、参照ピクチャ全体を現在のピクチャと類似した形態で拡大／縮小又は回転させるためのワーピング情報を用いることができる。ワーピング情報には、アフィン変形情報及び射影変換情報などが存在しうる。
【０１０４】
まず、図１６は、アフィン変形情報の概念を説明するための図である。図１６を参照すれば、参照ピクチャ（ａ）には３個の点（（ｕ0、ｖ0），…，（ｕ2、ｖ2））が存在し、これらの点にそれぞれ対応する３個の点（（ｘ0、ｙ0），…，（ｘ2、ｙ2））が現在のピクチャ（ｂ）に存在することが分かる。参照ピクチャ及び現在のピクチャの３個の制御ポイント（総６個の制御ポイント）を用いて、次の数式のようにアフィン変形情報が定義される。
【０１０５】
［数式５］
【数８】
2010524383.tif 000012
【０１０６】
ここで、ａijは、アフィン変形情報のエレメントを表し、（ｕm、ｙm）は、参照ピクチャ上の点の位置を表し、（ｘn、ｙn）は、現在のピクチャ上の点の位置を表す。
【０１０７】
図１７は、射影変換行列情報の概念を説明するための図である。射影変換行列情報は、上述した射影変換情報の一種である。図１７を参照すれば、参照ピクチャ（ａ）における５個の点（（ｕ0、ｖ0），…（ｕ4、ｖ4））が現在のピクチャ（ｂ）における５個の点（（ｘ0、ｙ0），…（ｘ4、ｙ4））にそれぞれ対応することが分かる。一方、一般的に、射影変換行列情報は、次の数式のように定義される。
【０１０８】
［数式６］
ｘ’＝Ｈｘ
【０１０９】
ここで、ｘ’は、世界座標系での点を表し、ｘは、各視点のローカル座標系での点を表し、Ｈは、ホモジニアスマトリックスを表す。
【０１１０】
［数式７］
【数９】
2010524383.tif 000013
【０１１１】
図１７に示すように、５個の点を代入する場合、射影変換行列情報は、次の数式のように算出される。ここで、各点がどのような物理的な意義を有するのか、そして、どのように抽出されるかについては、ワーピング情報の獲得処理で説明する。
【０１１２】
［数式８］
【数１０】
2010524383.tif 000014
【０１１３】
（２）ワーピング情報及びワーピングされた参照ピクチャの獲得処理
図１８は、ワーピング情報獲得及びワーピングされた参照ピクチャ獲得処理に関するフローチャートである。一方、以下では、ワーピング情報が射影変換行列情報である場合、射影変換行列情報を獲得し、射影変換行列情報を用いてワーピング変形された参照ピクチャを生成する処理について、図１９〜図２４を参照しながら説明する。図１９は、参照ピクチャ及び現在のピクチャの一例である。図１９を参照すれば、参照ピクチャ（ａ）には背景として壁紙があり、客体としてカレンダー、ボール、汽車などがある。図１９の（ｂ）を参照すれば、現在のピクチャは、参照ピクチャ（ａ）に比べて、カレンダーは小さくなり、ボールは右側に移動し、汽車は近づいていることが分かる。以下では、図１９に示した例を用いて、ステップＳ３１０〜ステップＳ３６０を説明する。
【０１１４】
まず、コーナ検出方法を用いてコーナ（特徴）を探す（ステップＳ３１０）。図２０は、図１８に示した各ステップのうちステップＳ３１０（コーナ（特徴）を探すステップ）を説明するための図である。図２０を参照すれば、ピクチャ上の多様なコーナが検出されていることが分かる。コーナは、次のピクチャで追跡するのに有利な点を意味する。ここで、コーナ検出方法としては、例えば、ＫＬＴ（Kanade-Lucas_Tomasi feature tracker：カナデ−ルーカス−トマジ特徴追跡）方式が使用されるが、本発明がこれに限定されることはない。その後、ステップＳ３１０で特徴追跡アルゴリズム（例えば、ＫＬＴ方式）を用いて検出されたコーナについて追跡を行う（ステップＳ３２０）。図２１は、図１８に示した各ステップのうちステップＳ３２０（コーナ追跡ステップ）を説明するための図である。図２１を参照すれば、現在のピクチャ（ｂ）で各コーナを探索した後、現在のピクチャ（ｂ）のコーナに対応する各コーナが参照ピクチャ（ａ）上のどこに存在するかを追跡することが分かる。
【０１１５】
その後、動きセグメンテーション法を用いて各コーナをグループ化する（ステップＳ３３０）。互いに異なる動き、回転、ズーミング特徴を有する多様な領域が存在しうるが、同一の特性を有するコーナ同士がグループ化されると、効率的なワーピング変形を行うことができる。コーナのグループ化を通して、各コーナの動きすなわちアフィン関係が考慮される。図２２は、図１８に示した各ステップのうちステップＳ３３０（コーナグループ化ステップ）を説明するための図である。図２２を参照すれば、壁紙上に存在する各コーナがグループＡにグループ化され、カレンダー上にある各コーナがグループＢにグループ化され、ボール上の各コーナがグループＣにグループ化され、汽車上の各コーナがグループＤにグループ化されたことが分かる。その後、アウトライアアルゴリズムなどを用いて、ステップＳ３３０でグループ化された各コーナのうち一部のコーナを除去する（ステップＳ３４０）。ここで、アウトライアは、任意の数の集合に関するもので、他の値より著しく小さいか又は大きい値を意味する。例えば、｛３、５、４、４、６、２、２５、５、６、２｝のうち２５がアウトライアである。一方、アウトライアを除去する方法として、ＲＡＮＳＡＣ（RANdom SAmple Consensus：ランダムサンプルコンセンサス）アルゴリズムが用いられる。ＲＡＮＳＡＣアルゴリズムは、射影変換行列を表現するのに最適なコーナ以外のコーナを削除するアルゴリズムであり、最適な４個の対応ペアを用いて最適な射影変換行列情報を生成することができる。図２３は、図１８に示した各ステップのうちステップＳ３４０（アウトライア削除ステップ）を説明するための図である。図２３を参照すれば、グループＡに属する各コーナのうち４個のコーナが削除され、グループＢに属する各コーナのうち４個のコーナがアウトライアとして除去されたことが分かる。このように任意のグループに属する複数のコーナのうち４個を超えるコーナを削除することができる。上述したように、ＲＡＮＳＡＣアルゴリズムを用いてアウトライアを除去することもできるが、グループ化処理で既にアウトライアがフィルタリングされている場合、ＲＡＮＳＡＣアルゴリズムを省略することができる。
【０１１６】
その後、各グループに該当する各コーナのうちステップＳ３４０で削除されずに残された各コーナの位置を用いて、各グループ別射影変換行列情報を決定する（ステップＳ３５０）。射影変換行列情報は、数式８で定義された式に各コーナの位置をそれぞれ代入することによって算出することができる。射影変換行列情報は、二つのピクチャ間の特徴の関係として、第１のピクチャにおける一つの点は第２のピクチャにおける一つの点に対応し、その反対に、第２のピクチャにおける一つの点は第１のピクチャにおける一つの点に対応する。次に、ステップＳ３５０で獲得された射影変換行列情報を用いて、ワーピングされた参照ピクチャを生成する（ステップＳ３６０）。図２４は、図１８に示した各ステップのうちステップＳ３６０（参照ピクチャ生成ステップ）を説明するための図である。図２４を参照すれば、まず、原本参照ピクチャ（ａ）にグループ別射影変換行列情報ＨA、ＨB、ＨC、ＨD、…がそれぞれ適用された各イメージが（ｂ）に示されている。一方、図２４の（ｃ）には射影変換マップが示されているが、この射影変換マップを獲得するために、射影変換行列情報が適用された任意のイメージ（ｉｍａｇｅ  Ｘ）と現在のピクチャとの間の差を計算することができる。図２４の（ｂ）に示した各イメージは、（ｃ）に示した射影変換マップによって切り取られて付着される。この射影変換マップは、ピクセル、ブロック、マクロブロックなどの単位で構成されるが、射影変換マップの情報量と精度は互いに反比例する関係であるので、射影変換マップの単位は必要によって適切に選択される。このように図２４の（ｃ）の射影変換マップを用いて、（ｄ）に示すような参照ピクチャが生成される。もちろん、射影変換マップによって切り取って付着せずに、図２４の（ｂ）に示したイメージをそれぞれ使用することもできる。
【０１１７】
（３）ワーピング情報を用いた参照ピクチャ獲得
ワーピングの概念、ワーピング情報の種類及びワーピング情報の獲得処理については既に説明したので、以下では、参照ピクチャを獲得するにおいてワーピング変形を適用するかどうかを決定する処理について説明する。
【０１１８】
図２５は、ワーピング適用決定処理を示すフローチャートである。図２５のステップＳ４１０〜ステップＳ４９５は、現在のピクチャ（又は現在のスライス）がＢピクチャ（又はＢスライス）又はＰピクチャ（又はＰスライス）である場合に行われる。一方、ステップＳ４１０〜ステップＳ４９５は、図１０を参照して説明されたインター予測部３７０又は動き推定部３６０によって行われるが、本発明がこれに限定されることはない。
【０１１９】
まず、ワーピング適用変数（ｕｓｅＷａｒｐ）、ビット数変数（ｔｅｍｐＯｒｇＣｏｓｔ）およびワーピングビット数変数（ｔｅｍｐＷａｒｐＣｏｓｔ）を０にセットする（ステップＳ４１０）。その後、参照ピクチャリストを生成する（ステップＳ４２０）。ワーピング適用変数（ｕｓｅＷａｒｐ）が０である場合（ステップＳ４３０の’ｎｏ’）、ピクチャ全体に対して動き推定及び補償を行う（ステップＳ４４０）。その後、現在のピクチャ（又は現在のスライス）のコーディングに必要なビット数（ＲＤ  ＣＯＳＴ）を計算した後、これをビット数変数（ｔｅｍｐＯｒｇＣｏｓｔ）に保存し、ワーピング適用変数（ｕｓｅＷａｒｐ）を１にセットした後、ステップＳ４３０に移動する（ステップＳ４５０）。
【０１２０】
ステップＳ４３０でワーピング適用変数（ｕｓｅＷａｒｐ）が１である場合（ステップＳ４３０の‘ｙｅｓ’）、原本参照ピクチャは一時メモリに保存され、ワーピング情報を用いて参照ピクチャ全体をワーピング変形する（ステップＳ４６０）。このとき、上述したように６個の点を用いてアフィン変形情報を生成し、アフィン変形情報を用いて全ての参照ピクチャをアフィン変形させることができるが、本発明がこれに限定されることはない。その後、ワーピング変形された参照ピクチャを用いて現在のピクチャ（又は現在のスライス）のコーディングに必要なビット数（ＲＤ  ＣＯＳＴ）を計算した後、これをワーピングビット数変数（ｔｅｍｐＷａｒｐＣｏｓｔ）に保存する（ステップＳ４７０）。
【０１２１】
ステップＳ４７０でワーピングビット数変数（ｔｅｍｐＷａｒｐＣｏｓｔ）に保存された値がステップＳ４５０でビット数変数（ｔｅｍｐＯｒｇＣｏｓｔ）に保存された値より小さい場合（ステップＳ４８０の‘ｙｅｓ’）、ワーピング情報を保存し、ワーピング変形が使用されたかどうかを表すワーピング適用フラグ情報（ｕｓｅ＿ｗａｒｐ＿ｆｌａｇ）を１にセットする（ステップＳ４９０）。そうでない場合（ステップＳ４８０の‘ｎｏ’）には、ワーピング適用フラグ情報（ｕｓｅ＿ｗａｒｐ＿ｆｌａｇ）を０にセットする（ステップＳ４９５）。その後、参照ピクチャをワーピング変形される前の原本に復元する。
【０１２２】
（４）ワーピング情報を用いた動きベクトル予測
上述した方法で生成されたワーピング情報を用いて動きベクトルを予測することもできる。図２６は、動きベクトル予測に関する概念を説明するための図である。図２６の（ａ）を参照すれば、現在のブロックの近くに左側ブロックＡ、上部ブロックＢ、上部右側ブロックＣが存在するが、このような各隣接ブロックの動きベクトルを用いて現在のブロックの動きベクトルの予測値を生成することができる。現在のブロックの動きベクトルの予測値は、各隣接ブロックの動きベクトルの中央値になり得る。この場合、現在のブロックの動きベクトルは、隣接ブロックの動き情報に完全に左右される。したがって、図２６の（ｂ）に示すように、各隣接ブロックの動きベクトルと現在のブロックの動きベクトルがほぼ類似している場合には、現在のブロックの動きベクトルと類似した予測値を獲得することができる。その反面、図２６の（ｃ）に示すように、現在のブロックの動きベクトルと各隣接ブロックの動きベクトルが全く類似しておらず、方向も異なる場合には、隣接ブロックから適切な予測値を獲得することが難しくなり、動きベクトルの差分をコーディングするのに多くのビット数が必要となる。
【０１２３】
一方、ワーピング情報を用いて動きベクトルを予測することができるが、ここで、ワーピング情報は、図１８を参照して説明されたステップＳ３５０で生成された射影変換行列情報である。
【０１２４】
図２７は、ワーピング情報を用いた動きベクトル予測を説明するための図である。図２７を参照すれば、現在のピクチャ（ｂ）に属する全てのピクセルは、射影変換行列情報Ｈを通して原本参照ピクチャ（ａ）に属するピクセルにマッピングされうる。例えば、現在のブロックの左上端点、右上端点、左下端点、右下端点は、それぞれ原本参照ピクチャ（ａ）に属する４個のピクセルと連結される。
【０１２５】
したがって、次の数式９のように、２次元平面上の点である現在のピクチャ上の点（ｕ、ｖ）は、原本参照ピクチャ上の点（ｘ、ｙ）に変換される。ピクセル単位で一対一のマッピングが可能である。
【０１２６】
［数式９］
Ｘ＝ＨＵ
【数１１】
2010524383.tif 000015
【０１２７】
ここで、ｈijは、射影変換行列係数を表し、Ｕ（ｕ、ｖ）は、現在のピクチャ上の点を表し、Ｘ（ｘ、ｙ）は、原本参照ピクチャ上の点を表す。
【０１２８】
第一に、図２７の（ｃ）及び（ｄ）を参照すれば、現在のブロック（ｄ）の左上端点の位置（Ｕ（ｕ、ｖ））及びこれにマッピングされる参照ピクチャ（ｃ）の点（Ｘ（ｘ、ｙ））が存在することが分かる。これら二つの点を用いて、現在のブロックの動きベクトルを予測することができる。具体的に、現在のピクチャの左上端点Ｘと、この点にマッピングされる原本参照ピクチャ上のピクセルＹとの差を動きベクトル予測値（ｍｖｐ）として用いることができる。これは、次の数式で定義される。
【０１２９】
［数式１０］
ｍｖｐ＝Ｘ−Ｕ
【０１３０】
ｍｖｐは、動きベクトル予測値を表し、Ｘは、原本参照ピクチャ上の画素を表し、Ｕは、現在のピクチャ上の画素を表す。
【０１３１】
第二に、図２７の（ｅ）及び（ｆ）を参照すれば、現在のブロック（ｆ）の左上端点Ｕ１、右上端点Ｕ２、左下端点Ｕ３及び右下端点Ｕ４と、これにそれぞれマッピングされる参照ピクチャ（ｅ）上の各点Ｘ１、Ｘ２、Ｘ３、Ｘ４が存在することが分かる。これら８個の点を用いて現在のブロックの動きベクトルを予測することができる。具体的に、次の数式のようにマッピングされる各点間の差を平均して動きベクトル予測値（ｍｖｐ）を獲得することができる。
【０１３２】
［数式１１］
ｍｖｐ＝｛（Ｘ１−Ｕ１）＋（Ｘ２−Ｕ２）＋（Ｘ３−Ｕ３）＋（Ｘ４−Ｕ４）｝／４
【０１３３】
ここで、Ｕ１、Ｕ２、Ｕ３、Ｕ４は、現在のピクチャ上の各点を表し、Ｘ１、Ｘ２、Ｘ３、Ｘ４は、原本参照ピクチャ上の各点を表す。
【０１３４】
第三に、次の数式のように、総４個のペアのうち３個のペアの差値の中央値を動きベクトル予測値（ｍｖｐ）として決定することができる。
【０１３５】
［数式１２］
ｍｖｐ＝ｍｅｄｉａｎ｛（Ｘ１−Ｕ１），（Ｘ２−Ｕ２），（Ｘ３−Ｕ３）｝
ｏｒ  ｍｅｄｉａｎ｛（Ｘ１−Ｕ１），（Ｘ２−Ｕ２），（Ｘ４−Ｕ４）｝
ｏｒ  ｍｅｄｉａｎ｛（Ｘ２−Ｕ２），（Ｘ３−Ｕ３），（Ｘ４−Ｕ４）｝
【０１３６】
ここで、Ｕ１、Ｕ２、Ｕ３、Ｕ４は、現在のピクチャ上の各点を表し、Ｘ１、Ｘ２、Ｘ３、Ｘ４は、原本参照ピクチャ上の各点を表す。
【０１３７】
第四に、原本参照ピクチャではなくワーピング変形された参照ピクチャである場合、参照ピクチャに既に射影変換行列成分が反映されているので、現在のピクチャ上の各点とワーピングされた参照ピクチャ上の各点との差が０になる。したがって、ワーピング変形された参照ピクチャの場合、次の数式のように、動きベクトル予測値（ｍｖｐ）は０になる。この場合、動きベクトル差分値（ｍｖｄ）、すなわち、現在のブロックの動きベクトル（ｍｖ）になる。
【０１３８】
［数式１３］
ｍｖｐ＝０、ｍｖｄ＝ｍｖ
【０１３９】
ｍｖｐは、ワーピングされた参照ピクチャの場合の動きベクトル予測値を表す。
【０１４０】
上述の方法で動きベクトル予測値（ｍｖｐ）を獲得した場合、動きベクトル差分値（ｍｖｄ）は、次の数式のようにそれぞれ定義される。
【０１４１】
［数式１４］
ｍｖｄ＝ｍｖ−ｍｖｐ＝ｍｖ−（Ｘ−Ｕ）…（１）
ｍｖｄ＝｛（Ｘ１−Ｕ１）＋（Ｘ２−Ｕ２）＋（Ｘ３−Ｕ３）＋（Ｘ４−Ｕ４）｝／４…（２）
ｍｖｄ＝ｍｖ−ｍｅｄｉａｎ｛（Ｘ１−Ｕ１），（Ｘ２−Ｕ２），（Ｘ３−Ｕ３）｝
ｏｒ  ｍｖ−ｍｅｄｉａｎ｛（Ｘ１−Ｕ１），（Ｘ２−Ｕ２），（Ｘ４−Ｕ４）｝
ｏｒ  ｍｖ−ｍｅｄｉａｎ｛（Ｘ２−Ｕ２），（Ｘ３−Ｕ３），（Ｘ４−Ｕ４）｝
…（３）
ｍｖｄ＝ｍｖ…（４）（ワーピングされた参照ピクチャの場合）
【０１４２】
上記数式１４のようにワーピング情報を用いて算出された動きベクトル差分値と、図２６を参照して説明されたように、隣接ブロックの動きベクトルを用いて算出された動きベクトル差分値が存在しうる。これら二つの差分値を互いに比較した後、必要なビット数が少ない方式をブロック単位で選択することができる。どのような方式で予測されたかを表す予測方式フラグ情報（ｕｓｅ＿ｗａｒｐ＿ｍｖｐ＿ｆｌａｇ）は、次の表のようにブロック単位でセットすることができる。
【０１４３】
［表３］予測方式フラグ情報
【表３】
2010524383.tif 000016
【０１４４】
一方、ワーピング情報を用いる場合、１）左上端点を用いたのか、２）４点の平均値を用いたのか、３）４点の中央値を用いたのかについても、次の表のように詳細にセットすることができる。
【０１４５】
［表４］予測方式フラグ情報
【表４】
2010524383.tif 000017
【０１４６】
上述したように、エンコーダでは現在のピクチャ及び参照ピクチャを用いてワーピング情報を獲得し、ワーピング情報を参照ピクチャに適用してワーピング変形するか、またはワーピング情報を用いて動きベクトルを予測するかなどを決定した後、これに対する情報をビットストリームを通して送信することができる。
【０１４７】
２．２  ワーピング情報の送信
（１）ワーピング情報に関するシンタックス
以下では、ワーピング情報及びワーピング適用フラグ情報（ｕｓｅ＿ｗａｒｐ＿ｆｌａｇ）などのビットストリームを通した送信方法について説明する。
【０１４８】
まず、次の表のように、シークエンスパラメータセット（ｓｅｑ＿ｐａｒａｍｔｅｒ＿ｓｅｔ＿ｒｂｓｐ）を通して現在のシークエンスにワーピング情報が存在するスライスが１個以上存在するかどうかを示す情報である、ワーピングシークエンスフラグ情報（ｕｓｅ＿ｗａｒｐ＿ｓｅｑ＿ｆｌａｇ）を送信することができる。
【０１４９】
［表５］ワーピングシークエンスフラグ情報の送信方法の一例
【表５】
2010524383.tif 000018
【０１５０】
ワーピングシークエンスフラグ情報の意味は、次の表に示す通りである。すなわち、ワーピングシークエンスフラグ情報が０である場合、各スライスにワーピング情報が存在するかどうかを表すワーピング適用フラグ情報（ｕｓｅ＿ｗａｒｐ＿ｆｌａｇ）を抽出する必要がない。
【０１５１】
［表６］ワーピングシークエンスフラグ情報の意味
【表６】
2010524383.tif 000019
【０１５２】
一方、スライスレイヤでワーピング適用フラグ情報（ｕｓｅ＿ｗａｒｐ＿ｆｌａｇ）及びワーピング情報（ｗａｒｐｉｎｇ＿ｐａｒａｍｅｔｅｒ＿ａｍｎ＿ｌ０［ｉ］）を送信する方法の一例は、次の表に示されている。
【０１５３】
［表７］ワーピング適用フラグ情報及びワーピング情報の送信方法の一例
【表７】
2010524383.tif 000020
【０１５４】
上記表の右側の欄に（Ｂ）と表示された行を見ると、ワーピング適用フラグ情報（ｕｓｅ＿ｗａｒｐ＿ｆｌａｇ）は、ワーピングシークエンスフラグ情報（ｕｓｅ＿ｗａｒｐ＿ｓｅｑ＿ｆｌａｇ）が１で、現在のスライスがＢ又はＰスライスである場合に限って含まれることが分かる。ワーピング適用フラグ情報の意味は、次の表に示されている。
【０１５５】
［表８］ワーピング適用フラグ情報の意味
【表８】
2010524383.tif 000021
【０１５６】
一方、上記表７の右側の欄に（Ｃ1）〜（Ｃk）と表示された行を参照すれば、ワーピング適用フラグ情報（ｕｓｅ＿ｗａｒｐ＿ｆｌａｇ）が１である場合に限って、ワーピング情報（ｗａｒｐｉｎｇ＿ｐａｒａｍｔｅｒ＿ａｍｎ＿ｌ０［ｉ］）が含まれることが分かる。ワーピング情報の個数（ｋ）は、ワーピング情報がアフィン変形情報である場合には６個になり、ワーピング情報が射影変換行列情報の場合には８個になり得るが、本発明がこれに限定されることはない。
【０１５７】
（２）ワーピング情報のビット数節約方法
ワーピング情報は射影変換行列情報であるが、射影変換行列情報の一例は、次の数式１５に示されている。
【０１５８】
［数式１５］
【数１２】
2010524383.tif 000022
【０１５９】
前記数式１５を参照すれば、１番目の行の１番目の列の成分及び２番目の列の成分は１より小さい値である反面、３番目の列の成分は１８０を越える値であることが分かる。したがって、このようなワーピング情報の各係数を送信するには多くのビット数が必要である。ビット数を減少させるために各係数を量子化すると、ワーピング情報の正確性が著しく減少する。したがって、正確性を維持しながらワーピング情報のコーディング効率を高められる方法が必要である。
【０１６０】
第一に、射影変換行列の各係数をコーディングする代わりに、対応ペアの位置情報をコーディングすることができる。図２８は、ワーピング情報のコーディング効率を高めるための第１の方法を説明するための図である。図２８を参照すれば、射影変換行列情報を生成するために必要な対応ペアが示されている。対応ペアは、図２１を参照して説明した各対応点と同一の概念のものでもよい。このように、エンコーダは、射影変換行列情報を送信する代わりに、対応ペアの位置情報のみを送信することができるが、対応ペアのうち現在のピクチャ上の点の位置は整数単位で、参照ピクチャ上の点の位置は少数単位であるので、射影変換行列係数より遥かに単純な値になり得る。デコーダは、この対応ペアの位置情報を用いて射影変換行列情報を生成することができる。このように対応ペアの位置情報を送信する場合、マトリックスの正確性を低下せずにコーディング効率を著しく高めることができる。
【０１６１】
第二に、対応ペアの位置情報を送信するにおいて、位置情報をそのまま送信せずに、差分値を送信することができる。図２９は、ワーピング情報のコーディング効率を高めるための第２の方法を説明するための図である。図２９を参照すれば、参照ピクチャ（ａ）にＡ、Ｂ、Ｃ、Ｄが存在し、現在のピクチャ（ｂ）にＡ’、Ｂ’、Ｃ’、Ｄ’が存在することが分かる。ここで、ＡとＡ’は対応ペアで、ＢとＢ’も対応ペアである。一般的に、対応ペアのそれぞれの位置情報は類似した値を有するので、（Ａ、Ａ’）をコーディングする代わりに、（Ａ、Ａ−Ａ’）又は（Ａ、Ａ’−Ａ）などをコーディングすると、コーディング効率が増加するようになる。このとき、デコーダは、（Ａ、Ａ−Ａ’）を受信して（Ａ、Ａ’）を獲得することができる。
【０１６２】
第三に、対応ペアの位置情報を正規化した値を送信することができる。図３０は、ワーピング情報のコーディング効率を高めるための第３の方法を説明するための図である。図３０を参照すれば、現在のピクチャ（ａ）にはＡ、Ｂ、Ｃ、Ｄを含む各コーナが存在し、参照ピクチャ（ｂ）には、これに対応するＡ’、Ｂ’、Ｃ’、Ｄ’を含む各コーナが存在する。これら各コーナは、動きセグメンテーションを通してグループ化されたものである。一方、現在のピクチャ（ａ）で一つのグループに属する各コーナの中央位置（Ｘ、Ｙ）を算出することができる。この場合、各コーナの位置は平均値と同一である。中央（Ｘ、Ｙ）と各コーナＡ、Ｂ、Ｃ、Ｄとの間の距離を考慮するために、スケールファクタＳを算出することができる。この方法で、参照ピクチャ（ｂ）でも中央（Ｘ’、Ｙ’）及びスケールファクタＳ’を計算することができる。
【０１６３】
４個の点Ａ、Ｂ、Ｃ、Ｄの位置をそれぞれ（Ｘ−ｋ、Ｙ−ｋ）、（Ｘ＋ｋ、Ｙ−ｋ）、（Ｘ−ｋ、Ｙ＋ｋ）、（Ｘ＋ｋ、Ｙ＋ｋ）にセットすることができるが、ここで、ｋは小さい整数値である。また、既に生成された射影変換行列情報（Ｈ）を用いて、ワーピングされたポジションＡ’、Ｂ’、Ｃ’、Ｄ’を計算することができる。その後、スケールファクタＳ，Ｓ’、中央位置（Ｘ、Ｙ）、（Ｘ’、Ｙ’）及び４個の特徴位置Ａ’、Ｂ’、Ｃ’、Ｄ’のみを送信する。一方、ビット数をさらに減少させるために、４個の特徴位置Ａ’、Ｂ’、Ｃ’、Ｄ’はＡ−Ａ’、Ｂ−Ｂ’、Ｃ−Ｃ’、Ｄ−Ｄ’に代えてもよい。
【０１６４】
一方、上述したようにスケールファクタ及び中央位置を用いて正規化する場合でも、ビット数において非効率になることがある。この場合、上述のような正規化方法を適用せずに、スケールファクタ及び中央位置を送信しないことがビット数の節約に有利であることがある。
【０１６５】
（３）ワーピング情報を用いたワーピングスキップモード
現在のブロックは、ワーピングされた参照ピクチャを参照し、現在のブロックの各隣接ブロックはワーピングされていない原本参照ピクチャを参照する場合、各隣接ブロックの動きベクトルから予測された現在のブロックの動きベクトル予測値の類似度は、低くなることがある。
【０１６６】
一方、数式１３を参照して説明したように、現在のブロックがワーピングされた参照ピクチャを参照する場合、ワーピング情報を用いた動きベクトル予測値（ｍｖｐ）は０になり、現在のブロックの動きベクトルとの差分値（ｍｖｄ）もほぼ０になる。この場合、動きベクトル差分値（ｍｖｄ）も０に近くなるので、動きベクトル差分（ｍｖｄ）の送信をスキップすることができる。また、この場合、現在のピクチャとワーピングされた参照ピクチャは非常に高い類似度を有するので、現在のピクチャとワーピングされた参照ピクチャとの間の差分である残差まで送信しなくてよいことがある。このように動きベクトル差分値及び残差の送信を省略する場合、この事実を表すワーピングスキップモードフラグ情報（ｗａｒｐ＿ｓｋｉｐ＿ｆｌａｇ）を１にセットすることができる。次の表は、ワーピングスキップモードに対するシンタックスを表した表である。
【０１６７】
［表９］ワーピングスキップモードに関するシンタックス
【表９】
2010524383.tif 000023
【０１６８】
上記表で右側の欄に（Ｅ）と示された行を見ると、ワーピングスキップモードフラグ情報（ｗａｒｐｉｎｇ＿ｓｋｉｐ＿ｆｌａｇ）が含まれることが分かる。このフラグ情報の意味は、次のように定義される。
【０１６９】
［表１０］ワーピングスキップモードフラグ情報の意味
【表１０】
2010524383.tif 000024
【０１７０】
上記表９で右側の欄に（Ｆ１）と示された行を参照すれば、ワーピングスキップモードフラグ情報が０である場合に限って、動き情報及び残差情報が含まれることが分かる。一方、ワーピングスキップモードフラグ情報が１である場合、Ｐ又はＳＰスライスをデコーディングするとき、現在のブロックのマクロブロックタイプはＰ＿Ｗａｒｐｉｎｇ＿Ｓｋｉｐになり、マクロブロックタイプは全てＰマクロブロックとして参照される。また、Ｂスライスをデコーディングするとき、マクロブロックタイプはＢ＿Ｗａｒｐｉｎｇ＿Ｓｋｉｐになり、マクロブロックタイプは全てＢマクロブロックタイプとして参照される。
【０１７１】
ワーピングスキップモードの場合、デコーディングで行われる処理については、“２．３  ワーピング情報の利用”の節で説明することにする。
【０１７２】
２．３  ワーピング情報の利用（デコーダで）
（１）ワーピング情報を用いた参照ピクチャ獲得
デコーダは、送信されたワーピング情報を用いて参照ピクチャをワーピング変形することができる。具体的に、現在のスライス（又は現在のブロック）にワーピング情報が存在する場合（例えば、ワーピング適用フラグ情報（ｕｓｅ＿ｗａｒｐ＿ｆｌａｇ）が１である場合）、現在のスライス（又は現在のブロック）のワーピング情報を抽出し、このワーピング情報を用いて参照ピクチャをワーピング変形することができる。例えば、数式８のような射影変換行列情報（Ｈ）を受信した場合、これを用いると、参照ピクチャの各画素（ｘ）は、ワーピングされた参照ピクチャの各画素（ｘ’）に変換される。このようにワーピングされた参照ピクチャは、図２４の（ｄ）のようなピクチャになる。このようにワーピングされた参照ピクチャは、現在のピクチャ（の現在のブロック）の予測値を生成するために参照される。
【０１７３】
図３１は、現在のピクチャの参照関係を示した図である。図３１を参照すれば、第１の場合（ケース１）の現在のフレーム（又はピクチャ）（ａ）は、ワーピングされた参照ピクチャ（ｂ）のみを参照し、原本参照ピクチャ（ａ）を参照しないことが分かる。この場合、原本参照ピクチャ（ａ）は、ワーピングされた参照ピクチャ（ｂ）と入れ換えられるので、デコーディングされたピクチャバッファに保存すべきピクチャの容量は増加しない。一方、第２の場合（ケース２）には、ワーピングされた参照ピクチャ（ｂ）のみならず、原本参照ピクチャ（ａ）も同時に参照することが分かる。この場合、既存の参照ピクチャリストにワーピングされた参照ピクチャ（ｂ）が追加されるので、既存の参照ピクチャには含まれない付加的な情報が提供されるという利点がある。
【０１７４】
（２）ワーピング情報を用いた動きベクトル予測
動きベクトルがワーピング情報を用いて予測される場合（例えば、図２７を参照して説明したように、予測方式フラグ情報（ｕｓｅ＿ｗａｒｐ＿ｍｖｐ＿ｆｌａｇ）が０でない場合）、デコーダは、現在のピクチャの特定の点（Ｕ）が参照ピクチャ上のワーピング情報で規定された点（Ｘ）に対応することを見つける。その後、両点（Ｘ、Ｕ）を用いて現在のブロックの動きベクトル予測値（ｍｖｐ）を獲得する。その後、ビットストリームを通して受信された動きベクトル差分値（ｍｖｄ）を予測値（ｍｖｐ）に加えて、現在のブロックの動きベクトル（ｍｖ）を獲得する。
【０１７５】
（３）ワーピング情報を用いたワーピングスキップモード
上述したように、現在のブロックがワーピングスキップモードに該当する場合（例えば、ワーピングスキップモードフラグ情報（ｗａｒｐｉｎｇ＿ｓｋｉｐ＿ｆｌａｇ）が１である場合）、現在のブロックの動き情報及び残差は送信されない。この場合、デコーダでは、参照ピクチャとしてワーピングされた参照ピクチャを利用し、動きベクトルをゼロベクトルにセットして動き補償を行い、残差は０にセットする。
【０１７６】
３．１／８画素動き補償
参照ピクチャで現在のピクチャの現在のブロックと最も類似した領域を探索する動き推定処理において、参照ピクチャの補間されたサンプル位置で動き推定を行うことによって、より正確な結果を得ることができる。例えば、１／２サンプルの位置に補間された場合、補間された各ピクセルを探索することによって、現在のブロックとより一致する領域を探すことができる。さらに、１／４ピクセル動き推定の場合、最初のステップでは、最も一致する位置を探すために、整数サンプル位置に対して動き推定を行う。エンコーダは、最初のステップで探した最も一致する位置を中心とする１／２サンプル位置を探索し、より良い結果を得られるかを確認し、必要な場合、最も一致する１／２サンプル位置を中心にして１／４サンプル位置に対する探索を行う。最終的に一致する位置（整数、１／２又は１／４の位置）の各値について現在のブロック又は現在のマクロブロックからの引き算を行う。
【０１７７】
１／４サンプル補間法を使用した場合、１／２サンプル補間法を使用するときより少ない誤差エネルギを有する。一般的に、より細密な補間法がより良い動き補償の性能を有するが、複雑度はその分だけ増加する。補間ステップが増加するほど、性能上の利得が減少する傾向がある。
【０１７８】
図３２は、１／８画素の概念を説明するための図である。図３２を参照すれば、０から８までの位置に各画素が一次元的に配列されていることが分かる。０と８の位置には整数画素（円形）が配置され、４の位置には１／２画素（菱形）が配置され、２及び６の位置には１／４画素（三角形）が配置され、１、３、５、７の位置には１／８画素（十字架形）が配置されている。図３３は、１／８画素動き補償方法の補間ステップを説明するための図である。図３３を参照すれば、最初のステップ（ステップ１）で各整数画素を用いて８タップフィルタを通して４の位置にある１／２画素と、２、６の位置にある１／４画素が生成される。その後、２番目のステップ（ステップ２）では、最初のステップで得られた１／２画素、１／４画素を用いてバイリニアフィルタを通して１／８画素が生成されることが分かる。すなわち、１／８画素動き補償においては、１／８画素を生成するためには、必ず少なくとも二つのステップを通して１／８画素が生成されるので、複雑度が非常に増加するという問題点がある。したがって、１／８画素動き補償方式においては、単純化させることによって複雑性を低下させる必要がある。
【０１７９】
図３４は、整数、１／２画素、１／４画素、１／８画素の位置を２次元的に説明するための図である。図３４を参照すれば、ｐ（００）、ｐ（０８）、ｐ（８０）、ｐ（８８）の位置には整数画素が存在し、ｐ（ｍｎ）（ｍ：偶数、ｎ：偶数）には１／２画素又は１／４画素が存在することが分かる。また、ｐ（ｍｎ）（ｍ：奇数、ｎ：奇数）には１／８画素の位置が示されている。このように１／８画素を生成するために、１／２画素又は１／４画素を用いることができるが、整数画素（ｐ（００）、ｐ（０８）、ｐ（８０）、ｐ（８８））のみを用いることもできる。整数画素のみを使用して１／８画素を生成する一例は、次の数式１６に示す通りである。
【０１８０】
［数式１６］
ｐ（１１）＝（Ａ*ｐ（００）＋Ｂ*ｐ（０８）＋Ｃ*ｐ（８０）＋４）＞＞３…（１）
ｐ（１７）＝（Ａ*ｐ（０８）＋Ｂ*ｐ（００）＋Ｃ*ｐ（８８）＋４）＞＞３…（２）
ｐ（７７）＝（Ａ*ｐ（８８）＋Ｂ*ｐ（０８）＋Ｃ*ｐ（８０）＋４）＞＞３…（３）
ｐ（７１）＝（Ａ*ｐ（８０）＋Ｂ*ｐ（００）＋Ｃ*ｐ（８８）＋４）＞＞３…（４）
ｐ（３３）＝（Ｄ*ｐ（００）＋Ｅ*ｐ（０８）＋Ｆ*ｐ（８０）＋２）＞＞２…（５）
ｐ（５５）＝（Ｄ*ｐ（８８）＋Ｅ*ｐ（０８）＋Ｆ*ｐ（８０）＋２）＞＞２…（６）
ｐ（３５）＝（Ｄ*ｐ（０８）＋Ｅ*ｐ（００）＋Ｆ*ｐ（８８）＋２）＞＞２…（７）
ｐ（５３）＝（Ｄ*ｐ（８０）＋Ｅ*ｐ（００）＋Ｆ*ｐ（８８）＋２）＞＞２…（８）
ｐ（１３）＝（Ｇ*ｐ（００）＋Ｈ*ｐ（０８）＋Ｉ*ｐ（８０）＋４）＞＞３…（９）
ｐ（１５）＝（Ｇ*ｐ（０８）＋Ｈ*ｐ（００）＋Ｉ*ｐ（８８）＋４）＞＞３…（１０）
ｐ（３７）＝（Ｇ*ｐ（０８）＋Ｈ*ｐ（８８）＋Ｉ*ｐ（００）＋４）＞＞３…（１１）
ｐ（５７）＝（Ｇ*ｐ（８８）＋Ｈ*ｐ（０８）＋Ｉ*ｐ（８０）＋４）＞＞３…（１２）
ｐ（７５）＝（Ｇ*ｐ（８８）＋Ｈ*ｐ（８０）＋Ｉ*ｐ（０８）＋４）＞＞３…（１３）
ｐ（７３）＝（Ｇ*ｐ（８０）＋Ｈ*ｐ（８８）＋Ｉ*ｐ（００）＋４）＞＞３…（１４）
ｐ（５１）＝（Ｇ*ｐ（８０）＋Ｈ*ｐ（００）＋Ｉ*ｐ（８８）＋４）＞＞３…（１５）
ｐ（３１）＝（Ｇ*ｐ（００）＋Ｈ*ｐ（８０）＋Ｉ*ｐ（０８）＋４）＞＞３…（１６）
【０１８１】
ここで、（Ｘ＋４）＞＞３はＸ／８で、（Ｘ＋２）＞＞２はＸ／４である。
【０１８２】
上記式（１）〜（４）は第１のグループに属し、式（５）〜（８）は第２のグループに属し、式（９）〜（１６）は第３のグループに属するとすれば、各グループに属する式に使用される各係数（例えば、Ａ、Ｂ、Ｃ）は同一である。
【０１８３】
図３５は、本発明の実施例に係る１／８画素動き補償方法のうち第１のグループに該当する各画素の補償方法を説明するための図で、図３６は、本発明の実施例に係る１／８画素動き補償方法のうち第２のグループに該当する各画素の補償方法を説明するための図で、図３７は、本発明の実施例に係る１／８画素動き補償方法のうち第３のグループに該当する各画素の補償方法を説明するための図である。まず、図３５を参照すれば、第１のグループの各画素（ｐ（１１）、ｐ（１７）、ｐ（７１）、ｐ（７７））は、全て整数画素（ｐ（００）、ｐ（０８）、ｐ（８０）、ｐ（８８））との相対的な位置が類似した画素である。上記数式の式（１）に示すように、ｐ（１１）と最も近い画素であるｐ（００）には係数Ａが適用され、比較的遠い位置の画素であるｐ（０８）及びｐ（８０）にはそれぞれ係数Ｂ及び係数Ｃが適用されることが分かる。ここで、画素ｐ（０８）及び画素ｐ（８０）の相対的な位置が互いに類似しているので、係数Ｂ及び係数Ｃは同一の値になる。画素ｐ（１１）の場合と同様に、ｐ（７７）と最も近い整数画素ｐ（８８）には係数Ａが適用され、残りの整数画素には係数Ｂ及び係数Ｃが適用されることが分かる。
【０１８４】
図３６を参照すれば、第２のグループに属する各画素（ｐ（３３）、ｐ（３５）、ｐ（５３）、ｐ（５５））が示されている。画素ｐ（３３）及び画素ｐ（５５）の場合を見ると、画素ｐ（３３）に最も近い整数画素である画素ｐ（００）には係数Ｄが適用され、画素ｐ（５５）に最も近い整数画素である画素ｐ（８８）にも係数Ｄが適用され、残りの整数画素にはそれぞれ係数Ｆ及び係数Ｅが適用されることが分かる。この場合も、係数Ｆ及び係数Ｅは同一の値になる。
【０１８５】
図３７を参照すれば、第３のグループに属する８個の画素（ｐ（１３）、ｐ（１５）、ｐ（３７）、ｐ（５７）、ｐ（７５）、ｐ（７３）、ｐ（５１）、ｐ（３１））が示されている。画素ｐ（１３）の場合を見ると、最も近い整数画素である画素ｐ（００）には係数Ｇが適用され、その次に近い整数画素ｐ（０８）には係数Ｈが適用され、最も遠い整数画素ｐ（８０）には係数Ｉが適用されることが分かる。これは、ｐ（７５）をはじめとする他の第３のグループの画素の場合にも同様である。
【０１８６】
数式１６に特定の値が適用された一例は、次の数式１７に示される。
【０１８７】
［数式１７］
ｐ（１１）＝（６*ｐ（００）＋ｐ（０８）＋ｐ（８０）＋４）＞＞３…………（１）
ｐ（１７）＝（６*ｐ（０８）＋ｐ（００）＋ｐ（８８）＋４）＞＞３…………（２）
ｐ（７７）＝（６*ｐ（８８）＋ｐ（０８）＋ｐ（８０）＋４）＞＞３…………（３）
ｐ（７１）＝（６*ｐ（８０）＋ｐ（００）＋ｐ（８８）＋４）＞＞３…………（４）
ｐ（３３）＝（２*ｐ（００）＋ｐ（０８）＋ｐ（８０）＋２）＞＞２…………（５）
ｐ（５５）＝（２*ｐ（８８）＋ｐ（０８）＋ｐ（８０）＋２）＞＞２…………（６）
ｐ（３５）＝（２*ｐ（０８）＋ｐ（００）＋ｐ（８８）＋２）＞＞２…………（７）
ｐ（５３）＝（２*ｐ（８０）＋ｐ（００）＋ｐ（８８）＋２）＞＞２…………（８）
ｐ（１３）＝（４*ｐ（００）＋３*ｐ（０８）＋ｐ（８０）＋４）＞＞３……（９）
ｐ（１５）＝（４*ｐ（０８）＋３*ｐ（００）＋ｐ（８８）＋４）＞＞３…（１０）
ｐ（３７）＝（４*ｐ（０８）＋３*ｐ（８８）＋ｐ（００）＋４）＞＞３…（１１）
ｐ（５７）＝（４*ｐ（８８）＋３*ｐ（０８）＋ｐ（８０）＋４）＞＞３…（１２）
ｐ（７５）＝（４*ｐ（８８）＋３*ｐ（８０）＋ｐ（０８）＋４）＞＞３…（１３）
ｐ（７３）＝（４*ｐ（８０）＋３*ｐ（８８）＋ｐ（００）＋４）＞＞３…（１４）
ｐ（５１）＝（４*ｐ（８０）＋３*ｐ（００）＋ｐ（８８）＋４）＞＞３…（１５）
ｐ（３１）＝（４*ｐ（００）＋３*ｐ（８０）＋ｐ（０８）＋４）＞＞３…（１６）
【０１８８】
数式１７によれば、数式１６での第１のグループの場合（式（１）〜（４））、Ａ＝６、Ｂ＝Ｃ＝１で、第２のグループの場合（式（５）〜式（８））、Ｄ＝２、Ｅ＝Ｆ＝１で、第３のグループの場合（式（９）〜式（１６））、Ｇ＝４、Ｈ＝３、Ｉ＝１である。このように、各係数は、現在の画素と各整数画素との位置的な距離に比例するように決定される。すなわち、第１のグループの場合、整数画素との距離に比例するように、次の数式１８のように定義される。
【０１８９】
［数式１８］
Ａ＞Ｂ＝Ｃ
Ｄ＞Ｅ＝Ｆ
Ｇ＞Ｈ＞Ｉ
【０１９０】
上述したように１／２画素又は１／４画素を利用せず、整数画素を用いて１／８画素を生成する場合、多様なステップを経ずに直接生成されるので、複雑度が著しく減少するようになる。
【０１９１】
また、本発明のデコーディング／エンコーディング方法は、コンピュータ読み取り可能なコードとしてプログラム記録媒体に実装されうる。このコンピュータ読み取り可能な記録媒体には、コンピュータシステムによって読み取り可能なデータが保存される全ての種類の保存装置が含まれる。コンピュータ読み取り可能な記録媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ記憶装置などがあり、搬送波タイプの形態で具現されるもの（例えば、インターネットを介した伝送）も含む。また、上記エンコーディング方法によって生成されたビットストリームは、コンピュータ読み取り可能な記録媒体に保存されたり、有／無線通信網を介して伝送されたりする。
【０１９２】
以上のように、本発明の好適な実施例を参照しながら、本発明について説明及び図示したが、本発明の主旨及び範囲から逸脱しない限り多様な修正及び変形が可能であることは、当分野の技術者にとって明白であろう。したがって、本発明は、添付の特許請求の範囲及びこれと同等の範囲内での本発明の多様な修正及び変形を含むものである。
【産業上の利用可能性】
【０１９３】
本発明は、ビデオ信号のエンコーディング及びデコーディングに適用される。
【図１】
2010524383.tif 000025
【図２】
2010524383.tif 000026
【図３】
2010524383.tif 000027
【図４】
2010524383.tif 000028
【図５】
2010524383.tif 000029
【図６】
2010524383.tif 000030
【図７】
2010524383.tif 000031
【図８】
2010524383.tif 000032
【図９】
2010524383.tif 000033
【図１０】
2010524383.tif 000034
【図１１】
2010524383.tif 000035
【図１２】
2010524383.tif 000036
【図１３】
2010524383.tif 000037
【図１４】
2010524383.tif 000038
【図１５】
2010524383.tif 000039
【図１６】
2010524383.tif 000040
【図１７】
2010524383.tif 000041
【図１８】
2010524383.tif 000042
【図１９】
2010524383.tif 000043
【図２０】
2010524383.tif 000044
【図２１】
2010524383.tif 000045
【図２２】
2010524383.tif 000046
【図２３】
2010524383.tif 000047
【図２４】
2010524383.tif 000048
【図２５】
2010524383.tif 000049
【図２６】
2010524383.tif 000050
【図２７】
2010524383.tif 000051
【図２８】
2010524383.tif 000052
【図２９】
2010524383.tif 000053
【図３０】
2010524383.tif 000054
【図３１】
2010524383.tif 000055
【図３２】
2010524383.tif 000056
【図３３】
2010524383.tif 000057
【図３４】
2010524383.tif 000058
【図３５】
2010524383.tif 000059
【図３６】
2010524383.tif 000060
【図３７】
2010524383.tif 000061
【国際調査報告】
2010524383.tif 000062
2010524383.tif 000063