(57)【要約】  予測効率と符号化効率とを最適化することができる映像符号化方法及び映像符号化装置を提供する。  映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する映像符号化装置（１００）であって、適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定し、決定した複数のフィルタ係数を有する適応的補間フィルタを入力画像に適用することで、小数画素精度の動き補償を行う動き補償予測部（１６０）と、動き補償により生成された予測画像と、入力画像とを減算することで予測誤差を生成する減算器（１１０）と、予測誤差を符号化するエントロピー符号化部（１９０）とを備える。
2009047917.tif 000002
【特許請求の範囲】
【請求項１】
映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する映像符号化方法であって、
前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、
前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを前記入力画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、
前記動き補償ステップで生成された予測画像と、前記入力画像との差分を算出することで予測誤差を生成する減算ステップと、
前記減算ステップで生成された予測誤差を符号化する符号化ステップとを含む
映像符号化方法。
【請求項２】
前記符号化ステップでは、さらに、フィルタ決定ステップで設定されたフィルタ特性を符号化する
請求項１記載の映像符号化方法。
【請求項３】
前記フィルタ特性は、前記適応的補間フィルタのフィルタタイプを示す情報であり、
前記符号化ステップでは、さらに、前記フィルタ決定ステップで設定された適応的補間フィルタのフィルタタイプが、適応型又は非適応型、分離型又は非分離型、及び、対称又は非対称のうち少なくとも１つを示す情報を符号化する
請求項２記載の映像符号化方法。
【請求項４】
前記符号化ステップでは、さらに、フィルタ決定ステップで決定された複数のフィルタ係数を符号化する
請求項３記載の映像符号化方法。
【請求項５】
前記符号化ステップでは、前記複数のフィルタ係数間の対称性を利用することで、前記複数のフィルタ係数の冗長部分を除いて、前記複数のフィルタ係数を符号化する
請求項４記載の映像符号化方法。
【請求項６】
前記符号化ステップでは、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化する
請求項５記載の映像符号化方法。
【請求項７】
前記符号化ステップでは、互いに平行移動の対称関係を有する少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化する
請求項５記載の映像符号化方法。
【請求項８】
前記符号化ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数間での差分を符号化する
請求項５記載の映像符号化方法。
【請求項９】
前記符号化ステップでは、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素のうち、１つの小数画素の適応的補間フィルタの複数のフィルタ係数を符号化する
請求項５記載の映像符号化方法。
【請求項１０】
前記符号化ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数ごとに１つのフィルタ係数を符号化する
請求項５記載の映像符号化方法。
【請求項１１】
前記フィルタ特性は、前記適応的補間フィルタのサイズを示す情報であり、
前記符号化ステップでは、さらに、前記フィルタ決定ステップで設定された適応的補間フィルタのサイズを示す情報を符号化する
請求項２記載の映像符号化方法。
【請求項１２】
前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性をスライス単位で設定する
請求項１記載の映像符号化方法。
【請求項１３】
前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性を前記映像データ全体に１つのみ設定する
請求項１記載の映像符号化方法。
【請求項１４】
符号化ストリームから再構成された再構成画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記符号化ストリームを復号する映像復号方法であって、
前記符号化ストリームに含まれる符号化された予測誤差を復号する復号ステップと、
前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、
前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを、既に生成済みの再構成画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、
前記動き補償ステップで生成された予測画像と、前記復号ステップで復号された予測誤差とを加算することで、前記再構成画像を生成する加算ステップとを含む
映像復号方法。
【請求項１５】
前記復号ステップでは、さらに、前記符号化ストリームに含まれる前記適応的補間フィルタのフィルタ特性を復号し、
前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ特性に従って、複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定する
請求項１４記載の映像復号方法。
【請求項１６】
前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが、適応型又は非適応型、分離型又は非分離型、及び、対称又は非対称のうち少なくとも１つを示す情報を復号し、
前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタタイプに従って、前記複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定する
請求項１５記載の映像復号方法。
【請求項１７】
前記復号ステップでは、さらに、前記符号化ストリームに含まれる前記適応的補間フィルタの複数のフィルタ係数を復号し、
前記フィルタ決定ステップでは、前記復号ステップで復号された複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとのフィルタ係数として決定する
請求項１６記載の映像復号方法。
【請求項１８】
前記復号ステップでは、前記複数のフィルタ係数間の対称性を利用することで、前記複数のフィルタ係数の冗長部分を除いて前記複数のフィルタ係数が符号化された前記符号化ストリームから、当該複数のフィルタ係数を復号し、
前記フィルタ決定ステップでは、前記復号ステップで復号された複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとのフィルタ係数として決定する
請求項１７記載の映像復号方法。
【請求項１９】
前記復号ステップでは、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分と、前記少なくとも２つの小数画素のいずれか１つの小数画素の適応的補間フィルタのフィルタ係数とが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、
前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記所定の軸に対して対称の位置にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定する
請求項１８記載の映像復号方法。
【請求項２０】
前記復号ステップでは、互いに平行移動の対称関係を有する少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分と、前記少なくとも２つの小数画素のいずれか１つの適応的補間フィルタのフィルタ係数とが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、
前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記平行移動の関係にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定する
請求項１８記載の映像復号方法。
【請求項２１】
前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数間での差分と、前記少なくとも２つのフィルタ係数のいずれか１つとが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、
前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記対称関係にある残りのフィルタ係数を決定する
請求項１８記載の映像復号方法。
【請求項２２】
前記復号ステップでは、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素ごとに符号化されている１つの小数画素の適応的補間フィルタのフィルタ係数を復号し、
前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ係数から、前記所定の軸に対して対称の位置にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定する
請求項１８記載の映像復号方法。
【請求項２３】
前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数ごとに符号化されている１つのフィルタ係数を復号し、
前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ係数から、対称関係にある残りのフィルタ係数を決定する
請求項１８記載の映像復号方法。
【請求項２４】
前記フィルタ決定ステップでは、さらに、決定したフィルタ特性及びフィルタ係数をメモリに保持し、前記復号ステップで新たなフィルタ特性又はフィルタ係数が復号された場合に、新たに決定したフィルタ特性及びフィルタ係数に更新する
請求項１７記載の映像復号方法。
【請求項２５】
前記復号ステップでは、前記適応的補間フィルタのサイズを示す情報を復号し、
前記フィルタ決定ステップでは、前記適応的補間フィルタのサイズに従って、前記複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定する
請求項１５記載の映像復号方法。
【請求項２６】
前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性をスライス単位で設定する
請求項１４記載の映像復号方法。
【請求項２７】
前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性を前記符号化ストリームに含まれる映像データ全体に１つのみ設定する
請求項１４記載の映像復号方法。
【請求項２８】
映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する映像符号化装置であって、
前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定し、決定した複数のフィルタ係数を有する適応的補間フィルタを前記入力画像に適用することで、前記小数画素精度の動き補償を行う動き補償予測部と、
前記動き補償により生成された予測画像と、前記入力画像とを減算することで予測誤差を生成する減算部と、
前記減算部によって生成された予測誤差を符号化する符号化部とを備える
映像符号化装置。
【請求項２９】
符号化ストリームから再構成された再構成画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記符号化ストリームを復号する映像復号装置であって、
前記符号化ストリームに含まれる符号化された予測誤差を復号する復号部と、
前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定し、決定した複数のフィルタ係数を有する適応的補間フィルタを、既に生成済みの再構成画像に適用することで、前記小数画素精度の動き補償を行う動き補償部と、
前記動き補償部によって生成された予測画像と、前記復号部によって復号された予測誤差とを加算することで、前記再構成画像を生成する加算部とを備える
映像復号装置。
【請求項３０】
映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する映像符号化方法をコンピュータに実行させるプログラムであって、
前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、
前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを前記入力画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、
前記動き補償ステップで生成された予測画像を、前記入力画像から減算することで予測誤差を生成する減算ステップと、
前記減算ステップで生成された予測誤差を符号化する符号化ステップとを含む
プログラム。
【請求項３１】
符号化ストリームから再構成された再構成画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記符号化ストリームを復号する映像復号方法をコンピュータに実行させるプログラムであって、
前記符号化ストリームに含まれる符号化された予測誤差を復号する復号ステップと、
前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、
前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを、既に生成済みの再構成画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、
前記動き補償ステップで生成された予測画像と、前記復号ステップで復号された予測誤差とを加算することで、前記再構成画像を生成する加算ステップとを含む
プログラム。
【請求項３２】
映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する集積回路であって、
前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定し、決定した複数のフィルタ係数を有する適応的補間フィルタを前記入力画像に適用することで、前記小数画素精度の動き補償を行う動き補償予測部と、
前記動き補償により生成された予測画像と、前記入力画像とを減算することで予測誤差を生成する減算部と、
前記減算部によって生成された予測誤差を符号化する符号化部とを備える
集積回路。
【請求項３３】
符号化ストリームから再構成された再構成画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記符号化ストリームを復号する集積回路であって、
前記符号化ストリームに含まれる符号化された予測誤差を復号する復号部と、
前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定し、決定した複数のフィルタ係数を有する適応的補間フィルタを、既に生成済みの再構成画像に適用することで、前記小数画素精度の動き補償を行う動き補償部と、
前記動き補償部によって生成された予測画像と、前記復号部によって復号された予測誤差とを加算することで、前記再構成画像を生成する加算部とを備える
集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像符号化方法及び映像復号方法に関し、特に、適応的補間フィルタを用いて小数画素精度の動き補償予測に基づいた映像符号化方法及び映像復号方法に関する。
【背景技術】
【０００２】
ハイブリッド符号化技術では、予測誤差の変換符号化を伴う動き補償予測を適用している。特に小数画素精度の動きベクトルでは、エイリアシング、量子化誤差、間違った動き検出での誤差、及び、カメラノイズなどの影響は、予測効率を制限してしまう。適応的補間フィルタリングのコンセプトは、これらに対する解決策を提供しようとするものである。【０００３】
実験によれば、信号特性に応じて分離型又は非分離型の適応的補間フィルタを適用することが有用であると分かった。また、一方で、フィルタ係数の伝送のオーバーヘッドのデータ量を低減するためには、対称フィルタを適用することが有用であると考えられる。一方で、予測に用いる最適な補間信号を得て最もよい符号化効率ゲインを達成するためには、非対称フィルタを適用することが必要であると考えられる。【０００４】
図１は、従来の映像符号化装置の構成の一例を示すブロック図である。同図の映像符号化装置３００は、入力画像（入力信号）の対象ブロックと、メモリ１４０に格納されている先に符号化及び復号されたブロックに基づく対象ブロックの予測信号との差分を決定する減算器１１０を備える。具体的には、Ｈ．２６４／ＡＶＣ規格に従って、入力画像はマクロブロックに分割される。映像符号化装置３００は、入力画像である入力映像シーケンスの対象ブロックと、先に符号化及び復号されたブロック（ローカル復号画像）とに基づく予測信号との差分だけを伝送する差分パルス符号変調（ＤＰＣＭ：Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）手法を用いている。減算器１１０は、符号化の対象ブロックを受け取り、受け取った対象ブロックから予測信号を減算することで、差分（予測誤差とも記載する）を算出する。【０００５】
変換／量子化部１２０は、結果として生じる予測誤差を空間領域から周波数領域に変換し、得られた変換係数を量子化する。【０００６】
ローカル復号画像は、映像符号化装置３００に組み込まれた復号部（逆量子化／逆変換部１３０、加算器１３５及びデブロッキングフィルタ１３７）によって提供される。この復号部は、符号化ステップの逆の順序で実行する。つまり、逆量子化／逆変換部１３０は、量子化係数を逆量子化し、逆変換を逆量子化係数に適用する。加算器１３５は、復号された差分を予測信号に加算して、ローカル復号画像を形成する。さらに、デブロッキングフィルタ１３７は、復号画像のブロック歪み（ブロッキングアーティファクト）を低減する。【０００７】
映像符号化装置３００によって使用される予測タイプは、マクロブロックが「イントラ」モード又は「インター」モードで符号化されるかどうかに依存する。「イントラ」モードでは、映像符号化規格であるＨ．２６４／ＡＶＣは、次のマクロブロックを予測するために、同じ画像の中で既に符号化されたマクロブロックに基づく、予測の仕組みを用いる。「インター」モードでは、いくつかの連続するピクチャの対応するブロック間の動き補償予測が用いられる。【０００８】
イントラ符号化画像（Ｉ−タイプ画像）だけは、先に復号された画像を参照することなく、符号化される。このＩ−タイプ画像には、符号化映像シーケンスに対する誤り耐性（誤差の回復力）を持たしている。さらに、符号化映像シーケンスに含まれる画像の中でＩ−タイプ画像にアクセスするために、符号化データのビットストリームへのエントリーポイントを規定する。イントラモード（イントラフレーム予測部１５０による処理）とインターモード（動き補償予測部３６０による処理）との切換は、イントラ／インター切換スイッチ１８０によって制御される。【０００９】
「インター」モードでは、マクロブロックは、動き補償を使用することで、先のピクチャの対応するブロックから予測される。動き検出は、対象入力信号とローカル復号画像とを受信する動き検出部１７０によって達成される。動き検出により、対象ブロックと先のピクチャの対応するブロックとの間の画素の位置ずれ（動き）を表す２次元の動きベクトルが生成される。検出された動きに基づいて、動き補償予測部３６０は予測信号を出力する。【００１０】
予測精度を最適化するために、動きベクトルを小数画素精度で、例えば、１／２画素精度又は１／４画素精度で決定してもよい（特許文献１参照）。小数画素精度の動きベクトルは、画素値が利用できない先のピクチャ内の位置（すなわち、小数画素位置）を指してもよい。したがって、動き補償を行うには画素値の空間補間が必要である。Ｈ．２６４／ＡＶＣ規格では、小数画素位置の画素値を得るために、固定フィルタ係数の６タップウィナー補間フィルタ及び双線形フィルタが適用される。補間プロセスは、次のように行われる。【００１１】
１．１／２画素位置を、６タップフィルタを用いて水平及び垂直方向に算出する。【００１２】
２．１／４画素位置を、既存の整数画素位置の画素値だけでなく、すでに算出した１／２画素値を利用する双線形フィルタリングを用いて算出する。【００１３】
フィルタ係数は、固定であるため、映像復号装置は、フィルタ係数を識別することができる。このため、フィルタ係数を映像復号装置に伝送するためのオーバーヘッドデータは、必要ではない。【００１４】
「イントラ」及び「インター」符号化モードともに、対象信号と予測信号との差分は、変換／量子化部１２０によって変換係数へ変換される。通常、２次元の離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ）又はその整数バージョンなどの直交変換が使用される。【００１５】
変換係数は、符号化しなければならないデータ量を削減するために量子化される。量子化ステップは、精度と、各々の周波数係数を符号化するのに用いられるビット数とを記した量子化テーブルによって制御される。通常、画質にとって低周波成分が微細な内容より重要であり、その結果、低周波成分の符号化には高周波成分よりも多くのビットが費やされる。【００１６】
量子化の後、変換係数の２次元配列は、エントロピー符号化部３９０に通すために、１次元の列に変換される。この変換は、予め定められたシーケンスで、配列をスキャンすることによって行われる。こうして得られた量子化変換係数の１次元シーケンスは、ランレベルと呼ばれる数の組からなる列に圧縮される。そして、ランレベルシーケンスは、可変長の２値の符号語（ＶＬＣ：Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｅ）に符号化される。この符号は、より短い符号語が、典型的な映像において頻出するランレベルの組に割り当てられるように最適化される。その結果生じるビットストリームは、動き情報と多重化されて、記録媒体に保存されるか又は映像復号装置側に伝送される。【００１７】
映像復号装置は、映像符号化装置側から伝送されたビットストリームを基にして、符号化画像を再構成する場合、符号化プロセスと逆の方法で復号を行う。【００１８】
図２は、従来の映像復号装置の構成の一例を示すブロック図である。同図の映像復号装置４００において、まず、エントロピー復号部４９１によってエントロピー符号化された動きデータと変換係数とがエントロピー復号される。また、逆変換に必要なため、このステップには、復号済み変換係数のシーケンスを２次元データブロックに変換する逆スキャンが含まれる。そして、変換係数の復号済みブロックは、逆量子化／逆変換部２３０に出力され、復号済み動きデータは、動き補償予測部４６０に送られる。動きベクトルの実際の値に応じて、動き補償を行うために画素値の補間が必要になる可能性がある。逆量子化及び逆変換の結果には予測誤差が含まれ、加算器２３５は、この予測誤差と、インターモードの動き補償予測部４６０又はイントラモードのイントラフレーム予測部２５０によって生成される予測信号とを加算する。その結果、再構成された画像は、デブロッキングフィルタ２３７に出力され、デブロッキングフィルタ２３７によって処理された復号済みの信号は、イントラフレーム予測部１５０及び動き補償予測部４６０に用いられるメモリ１４０に格納される。【００１９】
以上のように、従来の映像符号化装置３００では、固定的なフィルタ係数を持つ補間フィルタを用いて、より精度の高い動き補償を行い、高精度な予測に基づいて入力画像を符号化することができる。また、従来の映像復号装置４００では、高精度な予測に基づいて符号化された画像を再構成することができる。【００２０】
さらに、Ｈ．２６４／ＡＶＣに続く規格では、予測精度と圧縮効率とを改善するために、予め定められた補間フィルタ（非適応的補間フィルタ）を、処理対象の映像の統計特性に応じて適応的に変更することができる適応的補間フィルタに置き換えることが検討されている。つまり、符号化効率は、予測精度にかなり依存し、予測精度は、動き検出及び動き補償の精度に依存する。動き補償予測部３６０が用いた固定補間フィルタを、映像に含まれる画像の統計特性に合わせた適応的補間フィルタで置き換えることにより、動き補償の精度を向上させてもよい。【００２１】
今のところ、適応的補間フィルタの主な実装方法には２つ、つまり、分離型フィルタ又は非分離型フィルタに基づいた実装方法がある。分離型フィルタは、２つの１次元の補間フィルタに分離可能である。この２つの１次元の補間フィルタを連続的に適用することで、非分離型フィルタを適用する場合と同じ効果が得られる。非分離型フィルタは、２次元の補間フィルタであり、１次元の補間フィルタには分離することができない。【００２２】
どちらのフィルタを実装する場合でも、不変な画像統計値に合わせたフィルタを適用することができるため、符号化効率は改善されるという長所がある。この長所に加え、各実装方法には、計算の複雑性及び符号化効率の点でそれ自身の長所及び短所がある。それらを以下にまとめる。【００２３】
分離型適応的補間フィルタの独立フィルタ係数の数は、非分離型適応的補間フィルタよりも少ないため、フィルタを利用し、かつ、符号化する際の計算の複雑性は軽減される。しかしながら、これはまた、非分離型フィルタと比べて自由度が減り、予測効率を改善する可能性が低くなることを意味している。非分離型フィルタよりも符号化効率が低いことにつながるかもしれない。【００２４】
非分離型適応的補間フィルタは、分離型適応的補間フィルタに比べて、自由度が高く、予測効率及び符号化効率をより改善することができる。しかしながら、分離型適応的補間フィルタに比べて、独立フィルタ係数の数が多いために、計算の複雑度が増加する。【００２５】
したがって、いずれのフィルタを適用するかをユーザが指定することで、どちらの実装方法もユーザの要求に応じて有益なものとなる。ある実装方法の計算が複雑でもよいのであれば、非分離型補間フィルタを適用することによって、最適な予測効率を得ることが可能である。逆に、ある実装方法の計算を複雑にできないのであれば、最適な予測効率をおそらくは得ることができない分離型フィルタを適用することで、計算を簡単化することができる。
【特許文献１】米国特許出願公開第２００６／０２９４１７１号明細書
【発明の開示】
【発明が解決しようとする課題】
【００２６】
しかしながら、上記従来技術では、予測効率及び符号化効率を最適化することができないという課題がある。【００２７】
上記従来技術では、フィルタ係数を適応的に設定することができても、フィルタのタイプが固定的である。逆に、適応的／非適応的、又は、分離型／非分離型などのフィルタタイプを適応的に設定することができても、フィルタのタップ数及びフィルタ係数は固定的である。したがって、上記従来技術では、予測効率と符号化効率とを最適化することができない。【００２８】
そこで、本発明は、予測効率と符号化効率とを最適化することができる映像符号化方法、映像復号方法及び対応する装置を提供することを目的とする。
【課題を解決するための手段】
【００２９】
上記課題を解決するため、本発明の映像符号化方法は、映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する映像符号化方法であって、前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを前記入力画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、前記動き補償ステップで生成された予測画像と、前記入力画像との差分を算出することで予測誤差を生成する減算ステップと、前記減算ステップで生成された予測誤差を符号化する符号化ステップとを含む。【００３０】
これにより、フィルタの特性とフィルタ係数とを同時に適応的に決定することができるので、予測効率と符号化効率とを最適化することができる。【００３１】
また、前記符号化ステップでは、さらに、フィルタ決定ステップで設定されたフィルタ特性を符号化してもよい。【００３２】
これにより、フィルタ特性を符号化ビットストリームに多重化することができ、当該符号化ビットストリームを受信した映像復号装置側で、符号化ビットストリームを正しく復号することができる。【００３３】
また、前記フィルタ特性は、前記適応的補間フィルタのフィルタタイプを示す情報であり、前記符号化ステップでは、さらに、前記フィルタ決定ステップで設定された適応的補間フィルタのフィルタタイプが、適応型又は非適応型、分離型又は非分離型、及び、対称又は非対称のうち少なくとも１つを示す情報を符号化してもよい。【００３４】
これにより、例えば、設定された補間フィルタが分離型補間フィルタである場合は、計算は複雑になる、すなわち、符号化効率は悪くなるが、高い精度で動き補償を行うことができる。また、設定された補間フィルタが非分離型補間フィルタである場合は、予測の自由度は制限されるが、計算を簡単にすることができ、すなわち、符号化しなければならないデータ量を削減することができる。また、設定された補間フィルタが非対称フィルタである場合は、計算は複雑になる、すなわち、符号化効率は悪くなるが、高い精度で動き補償を行うことができる。また、設定された補間フィルタが対称フィルタである場合は、符号化しなければならないデータ量を削減することができるので、符号化効率を高めることができる。【００３５】
また、前記符号化ステップでは、さらに、フィルタ決定ステップで決定された複数のフィルタ係数を符号化してもよい。【００３６】
これにより、フィルタ係数を符号化ビットストリームに多重化することができ、当該符号化ビットストリームを受信した映像復号装置側で、受信したフィルタ係数とフィルタ特性とに基づいてより正確な動き補償を行うことができる。したがって、符号化ビットストリームから元の映像を正しく復元することができる。【００３７】
また、前記符号化ステップでは、前記複数のフィルタ係数間の対称性を利用することで、前記複数のフィルタ係数の冗長部分を除いて、前記複数のフィルタ係数を符号化してもよい。【００３８】
これにより、より符号化効率を高めることができる。【００３９】
また、前記符号化ステップでは、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化してもよい。【００４０】
一般的に、小数画素の位置が対称関係にある場合、それぞれの小数画素の補間フィルタは互いにミラーの関係にあり、対応するフィルタ係数は同じ値、又は、類似した値になることが多い。このため、対応するフィルタ係数間で差分を算出し、算出した差分を符号化することで、符号化しなければならないデータ量を大幅に削減することができる。【００４１】
また、前記符号化ステップでは、互いに平行移動の対称関係を有する少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化してもよい。【００４２】
一般的に、小数画素の位置が平行移動の対称関係にある場合、それぞれの小数画素の補間フィルタは互いに同じである、又は、類似していることが多い。すなわち、それぞれの補間フィルタの対応するフィルタ係数は、同じ値、又は、類似した値になることが多い。このため、対応するフィルタ係数間で差分を算出し、算出した差分を符号化することで、符号化しなければならないデータ量を大幅に削減することができる。【００４３】
また、前記符号化ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数間での差分を符号化してもよい。【００４４】
これにより、補間フィルタがそれ自身で対称である場合、対称関係にある２つのフィルタ係数は、同じ値、又は、類似した値になるので、対称関係にあるフィルタ係数間で差分を算出し、算出した差分を符号化することで、符号化しなければならないデータ量を大幅に削減することができる。【００４５】
また、前記符号化ステップでは、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素のうち、１つの小数画素の適応的補間フィルタの複数のフィルタ係数を符号化してもよい。【００４６】
上述したように、小数画素の位置が対称関係にある場合、それぞれの小数画素の補間フィルタは互いにミラーの関係にあり、対応するフィルタ係数は同じ値、又は、類似した値になることが多い。したがって、対称関係にある補間フィルタのうち、１つのみの補間フィルタの複数のフィルタ係数だけを決定するだけでよいので、フィルタ係数の決定に関わる計算量を削減し、かつ、符号化しなければならないデータ量を大幅に削減することができる。対称関係にある補間フィルタは、フィルタ係数を決定した補間フィルタとミラー関係にある補間フィルタであるとみなすことができる。【００４７】
また、前記符号化ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数ごとに１つのフィルタ係数を符号化してもよい。【００４８】
上述したように、補間フィルタがそれ自身で対称である場合、対称関係にある２つのフィルタ係数は、同じ値、又は、類似した値になるので、対称関係にあるフィルタ係数のうち１つのフィルタ係数のみを決定するだけでよいので、フィルタ係数の決定に関わる計算量を削減し、かつ、符号化しなければならないデータ量を大幅に削減することができる。対称関係にあるフィルタ係数は、決定したフィルタ係数と同じであるとみなすことができる。【００４９】
また、前記フィルタ特性は、前記適応的補間フィルタのサイズを示す情報であり、前記符号化ステップでは、さらに、前記フィルタ決定ステップで設定された適応的補間フィルタのサイズを示す情報を符号化してもよい。【００５０】
これにより、補間フィルタのサイズを示す情報を符号化ビットストリームに多重化することができ、当該符号化ビットストリームを受信した映像復号装置側で、符号化ビットストリームを正しく復号することができる。【００５１】
また、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性をスライス単位で設定してもよい。【００５２】
また、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性を前記映像データ全体に１つのみ設定してもよい。【００５３】
また、本発明の映像復号方法は、符号化ストリームから再構成された再構成画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記符号化ストリームを復号する映像復号方法であって、前記符号化ストリームに含まれる符号化された予測誤差を復号する復号ステップと、前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを、既に生成済みの再構成画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、前記動き補償ステップで生成された予測画像と、前記復号ステップで復号された予測誤差とを加算することで、前記再構成画像を生成する加算ステップとを含む。【００５４】
これにより、小数画素精度の動き補償を行うことで、より精度の高い復元画像を生成することができる。【００５５】
また、前記復号ステップでは、さらに、前記符号化ストリームに含まれる前記適応的補間フィルタのフィルタ特性を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ特性に従って、複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定してもよい。【００５６】
これにより、符号化ストリームからフィルタ特性を復元することができるので、符号化された映像がどのようなフィルタ特性を有する補間フィルタを用いて動き補償を実行されたかに関する情報を得ることができるので、より精度の高い復元画像を生成することができる。【００５７】
また、前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが、適応型又は非適応型、分離型又は非分離型、及び、対称又は非対称のうち少なくとも１つを示す情報を復号し、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタタイプに従って、前記複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定してもよい。【００５８】
また、前記復号ステップでは、さらに、前記符号化ストリームに含まれる前記適応的補間フィルタの複数のフィルタ係数を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとのフィルタ係数として決定してもよい。【００５９】
これにより、符号化ストリームからフィルタ係数を復元することができるので、符号化される映像がどのようなフィルタ特性を有し、どういった値のフィルタ係数を有する補間フィルタを用いて動き補償を実行されたかに関する情報を得ることができるので、正確に復元画像を生成することができる。【００６０】
また、前記復号ステップでは、前記複数のフィルタ係数間の対称性を利用することで、前記複数のフィルタ係数の冗長部分を除いて前記複数のフィルタ係数が符号化された前記符号化ストリームから、当該複数のフィルタ係数を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとのフィルタ係数として決定してもよい。【００６１】
また、前記復号ステップでは、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分と、前記少なくとも２つの小数画素のいずれか１つの小数画素の適応的補間フィルタのフィルタ係数とが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記所定の軸に対して対称の位置にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定してもよい。【００６２】
また、前記復号ステップでは、互いに平行移動の対称関係を有する少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分と、前記少なくとも２つの小数画素のいずれか１つの適応的補間フィルタのフィルタ係数とが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記平行移動の関係にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定してもよい。【００６３】
また、前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数間での差分と、前記少なくとも２つのフィルタ係数のいずれか１つとが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記対称関係にある残りのフィルタ係数を決定してもよい。【００６４】
以上のように、符号量を削減するために対称性を利用して符号化された符号化ストリームから、正確に補間フィルタのフィルタ係数を復号及び決定することができる。【００６５】
また、前記復号ステップでは、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素ごとに符号化されている１つの小数画素の適応的補間フィルタのフィルタ係数を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ係数から、前記所定の軸に対して対称の位置にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定してもよい。【００６６】
また、前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数ごとに符号化されている１つのフィルタ係数を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ係数から、対称関係にある残りのフィルタ係数を決定してもよい。【００６７】
また、前記フィルタ決定ステップでは、さらに、決定したフィルタ特性及びフィルタ係数をメモリに保持し、前記復号ステップで新たなフィルタ特性又はフィルタ係数が復号された場合に、新たに決定したフィルタ特性及びフィルタ係数に更新してもよい。【００６８】
これにより、同じフィルタ係数を複数回使用することができるので、フィルタ係数の決定に関わる処理量を削減することができる。また、重複して使用するフィルタ係数を符号化ストリームに含める必要がなくなるため、符号量を削減することができる。【００６９】
また、前記復号ステップでは、前記適応的補間フィルタのサイズを示す情報を復号し、前記フィルタ決定ステップでは、前記適応的補間フィルタのサイズに従って、前記複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定してもよい。【００７０】
また、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性をスライス単位で設定してもよい。【００７１】
また、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性を前記符号化ストリームに含まれる映像データ全体に１つのみ設定してもよい。【００７２】
なお、本発明は、映像符号化方法及び映像復号方法として実現できるだけではなく、当該映像符号化方法及び映像復号方法に含まれるステップを処理部とする装置として実現することもできる。【００７３】
また、本発明の映像符号化方法及び映像復号方法に含まれるステップをコンピュータに実行させるプログラムとして実現してもよい。さらに、当該プログラムを記録したコンピュータ読み取り可能なＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの記録媒体、並びに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、それらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信してもよい。【００７４】
また、上記の各映像符号化装置及び映像復号装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されていてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを含んで構成されるコンピュータシステムである。
【発明の効果】
【００７５】
本発明の映像符号化方法、映像復号方法及びそれらの装置によれば、予測効率と符号化効率とを最適化することができる。
【図面の簡単な説明】
【００７６】
【図１】図１は、従来の映像符号化装置の構成の一例を示すブロック図である。
【図２】図２は、従来の映像復号装置の構成の一例を示すブロック図である。
【図３】図３は、本実施の形態の適応的フィルタリングの動き補償を適用する映像符号化装置の構成を示すブロック図である。
【図４】図４は、本実施の形態の適応的フィルタリングの動き補償を適用する映像復号装置の構成を示すブロック図である。
【図５】図５は、本実施の形態の映像符号化装置の処理を示すフローチャートである。
【図６Ａ】図６Ａは、本実施の形態の映像復号装置の処理を示すフローチャートである。
【図６Ｂ】図６Ｂは、映像復号装置が対称性を利用して補間フィルタを復号し、決定する場合のフローチャートである。
【図７】図７は、フィルタ係数が決定される小数画素位置を示す図である。
【図８】図８は、小数画素位置に対して決定されるフィルタ係数の具体例を示す図である。
【図９】図９は、小数画素位置に対して決定されるフィルタ係数の具体例を示す図である。
【図１０】図１０は、映像データに含まれる画像のブロックの概略図である。
【図１１】図１１は、対称なフィルタ係数を有する補間フィルタの一例を示す図である。
【図１２】図１２は、２つの小数画素位置の補間フィルタが対称となる一例を示す図である。
【図１３Ａ】図１３Ａは、垂直軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。
【図１３Ｂ】図１３Ｂは、水平軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。
【図１３Ｃ】図１３Ｃは、対角軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。
【図１３Ｄ】図１３Ｄは、垂直軸及び水平軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。
【図１３Ｅ】図１３Ｅは、垂直軸、水平軸及び対角軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。
【図１３Ｆ】図１３Ｆは、対称関係の一部のみを利用する場合の小数画素位置の対称関係を示す図である。
【図１４Ａ】図１４Ａは、分離型適応的補間フィルタの水平方向の補間フィルタを適用する場合の小数画素位置の一例を示す図である。
【図１４Ｂ】図１４Ｂは、分離型適応的補間フィルタの垂直方向の補間フィルタを適用する場合の小数画素位置の一例を示す図である。
【図１４Ｃ】図１４Ｃは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係の一例を示す図である。
【図１４Ｄ】図１４Ｄは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係の一例を示す図である。
【図１４Ｅ】図１４Ｅは、分離型適応的補間フィルタを適用する場合の小数画素位置の平行移動の関係の一例を示す図である。
【図１４Ｆ】図１４Ｆは、分離型適応的補間フィルタの対称関係と平行移動の関係の一例を示す図である。
【図１４Ｇ】図１４Ｇは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係と平行移動の関係との一例を示す図である。
【図１５】図１５は、本実施の形態のシグナリングを実行するための第１のシンタックスエレメントを示す図である。
【図１６Ａ】図１６Ａは、小数画素位置における対称性の一例を示す図である。
【図１６Ｂ】図１６Ｂは、フィルタＩＤが割り当てられた小数画素位置の補間フィルタの一例を示す図である。
【図１６Ｃ】図１６Ｃは、小数画素位置の補間フィルタごとに対称性の利用の可否を示す対称マスクの一例を示す図である。
【図１７】図１７は、本実施の形態のシグナリングを実行するための第２のシンタックスエレメントの抜粋を示す図である。
【図１８】図１８は、本実施の形態のシグナリングを実行するための第３のシンタックスエレメントの抜粋を示す図である。
【図１９】図１９は、本実施の形態のシグナリングを実行するための第４のシンタックスエレメントの抜粋を示す図である。
【図２０】図２０は、本実施の形態のシグナリングを実行するための第５のシンタックスエレメントの抜粋を示す図である。
【符号の説明】
【００７７】
１００、３００  映像符号化装置
１１０  減算器
１２０  変換／量子化部
１３０、２３０  逆量子化／逆変換部
１３５、２３５  加算器
１３７、２３７  デブロッキングフィルタ
１４０、１６１、２４０、２６１  メモリ
１５０、２５０  イントラフレーム予測部
１６０、２６０、３６０、４６０  動き補償予測部
１７０  動き検出部
１８０、２８０  イントラ／インター切換スイッチ
１９０、３９０  エントロピー符号化部
２００、４００  映像復号装置
２９１、４９１  エントロピー復号部
５０１、５０２、５０３  変位ベクトル
【発明を実施するための最良の形態】
【００７８】
以下では、本実施の形態の映像符号化装置及び映像復号装置について図面を用いて詳細に説明する。【００７９】
図３は、本実施の形態の適応的フィルタリングの動き補償を適用する映像符号化装置１００の構成を示すブロック図である。同図の映像符号化装置１００は、映像データ（入力映像シーケンス）に含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、映像データを符号化する装置である。図３のブロック図は、図１に対応する。図１に示す映像符号化装置３００と同じ構成要素には同じ参照符号を付している。【００８０】
図３に示す映像符号化装置１００は、減算器１１０と、変換／量子化部１２０と、逆量子化／逆変換部１３０と、加算器１３５と、デブロッキングフィルタ１３７と、メモリ１４０と、イントラフレーム予測部１５０と、動き補償予測部１６０と、動き検出部１７０と、イントラ／インター切換スイッチ１８０と、エントロピー符号化部１９０とを備える。映像符号化装置１００は、図１に示した従来の映像符号化装置３００と比較して、動き補償予測部３６０の代わりに動き補償予測部１６０を備え、エントロピー符号化部３９０の代わりにエントロピー符号化部１９０を備える点が異なっている。【００８１】
なお、本実施の形態の映像符号化装置１００は、Ｈ．２６４／ＡＶＣ規格、又は、当該規格に続く規格を採用する。Ｈ．２６４／ＡＶＣ規格では、入力映像シーケンスに含まれる入力画像は、マクロブロックなどのブロックに分割される。そして、入力画像のブロックと、先に符号化されたブロックから予測された予測ブロックとの差分だけを伝送する差分パルス符号変調（ＤＰＣＭ）が用いられる。【００８２】
減算器１１０は、入力信号（入力画像）と予測信号（予測画像）との差分を算出する。なお、この差分を予測誤差という。具体的には、減算器１１０は、入力信号に含まれる入力画像のブロック（符号化対象ブロック）から、イントラフレーム予測部１５０又は動き補償予測部１６０によって生成される予測ブロックを減算することで、予測誤差を算出する。【００８３】
変換／量子化部１２０は、減算器１１０によって算出された予測誤差を、空間領域から周波数領域に変換する。例えば、予測誤差に対して、２次元の離散コサイン変換（ＤＣＴ）又はその整数バージョンなどの直交変換処理を実行する。変換／量子化部１２０は、さらに、変換により得られた変換係数を量子化する。量子化によって得られた２次元の変換係数は、１次元に変換する必要がある。このため、予め定められたシーケンスに従って２次元配列をスキャンすることで、１次元の量子化変換係数のシーケンスをエントロピー符号化部１９０に供給する。このように量子化を行うことで、符号化する必要があるデータ量を削減することができる。【００８４】
なお、変換／量子化部１２０は、量子化ステップを用いて変換係数を量子化する。この量子化ステップは、量子化テーブルによって制御される。量子化テーブルは、精度と、各周波数係数を符号化するために用いられるビット数とを特定するテーブルである。通常、低周波成分は細部よりも画質にとってより重要であるために、低周波成分の符号化には高周波成分の符号化よりも多くのビットが費やされる。【００８５】
逆量子化／逆変換部１３０は、変換／量子化部１２０によって量子化された量子化係数を逆量子化する。さらに、逆量子化により得られる逆量子化係数を逆変換する。これにより、周波数領域に変換され、かつ、量子化されていた予測誤差を、空間領域に変換された予測誤差に復元することができる。【００８６】
加算器１３５は、逆量子化／逆変換部１３０によって復元された予測誤差と、イントラフレーム予測部１５０又は動き補償予測部１６０によって生成される予測信号（予測ブロック）とを加算することで、ローカル復号画像を生成する。【００８７】
デブロッキングフィルタ１３７は、加算器１３５によって生成されたローカル復号画像にデブロッキングフィルタ処理を実行する。これにより、ローカル復号画像に含まれるブロック歪み（ブロッキングアーティファクト）を低減することができる。なお、デブロッキングフィルタ１３７は、復号画像に適用されなくてもよい。【００８８】
メモリ１４０は、デブロッキングフィルタ１３７によってデブロッキングフィルタ処理が実行されたローカル復号画像を保持するフレームメモリである。【００８９】
イントラフレーム予測部１５０は、メモリ１４０からローカル復号画像を読み出し、読み出したローカル復号画像を基にして、「イントラ」モードで予測することで、予測ブロックを生成する。「イントラ」モードでは、予測ブロックを生成するために、同じ画像のすでに符号化されたブロックを利用した予測処理を行う。すなわち、「イントラ」モードでは、先に復号されたピクチャを参照することなく、自ピクチャのみを参照することで符号化対象ブロックの符号化を行うことができる。【００９０】
このように符号化されたイントラ符号化画像（Ｉ−タイプ画像）は、符号化映像シーケンスに誤り耐性を持たしている。また、Ｉ−タイプ画像は、ランダムアクセスを可能にするために、すなわち、符号化映像シーケンスに含まれる画像の中でＩ−タイプ画像にアクセスするために、符号化データのビットストリームへのエントリーポイントを規定する。【００９１】
動き補償予測部１６０は、小数精度の動き補償に必要な適応的補間フィルタのフィルタ特性を決定する。フィルタ特性は、例えば、適応的補間フィルタのフィルタタイプを示す情報、及び、適応的補間フィルタのサイズを示す情報などである。フィルタのサイズは、例えば、適応的補間フィルタのフィルタ係数の数であるタップ数などである。【００９２】
具体的には、動き補償予測部１６０は、適応的補間フィルタとして、分離型、及び、非分離型適応的フィルタのいずれかを決定し、さらに、決定した適応的補間フィルタのタップ数、及び、各フィルタ係数の値を決定する。フィルタ係数の値は、整数画素との相対的な小数画素の位置ごとに決定される。フィルタ係数の決定処理の詳細については後述する。なお、動き補償予測部１６０は、フィルタ係数が固定である非適応的補間フィルタを用いてもよい。【００９３】
さらに、動き補償予測部１６０は、決定した適応的補間フィルタが対称関係を有するか否か、すなわち、対称フィルタ、及び、非対称フィルタのいずれであるかを決定する。フィルタの対称性を利用する処理の詳細についても後述する。【００９４】
なお、動き補償予測部１６０は、補間フィルタの特性を所定の処理単位で設定する。例えば、小数画素単位、マクロブロック単位、スライス単位、ピクチャ単位、又は、シーケンス単位で設定する。なお、１つの映像データに対して、１つの特性を設定してもよい。したがって、所定の処理単位中は、同じフィルタ特性を利用するため、動き補償予測部１６０は、フィルタ特性を一時的に保持するメモリ１６１を備える。このメモリ１６１は、必要に応じて、フィルタ特性、及び、フィルタ係数などを保持する。例えば、動き補償予測部１６０は、Ｉピクチャごとにフィルタ特性を決定し、スライス単位でフィルタ係数を決定する。【００９５】
また、動き補償予測部１６０は、映像データ、映像データに含まれる画像内容、又は、映像データの画像解像度などに基づいて、適応的補間フィルタの特性を設定する。あるいは、所定の処理単位の符号化後の映像データのサイズが最小となるように適応的補間フィルタの特性を設定する。具体的には、フィルタ特性ごとに符号化を所定の処理単位ごとに行い、符号化後の映像データのサイズが最小となるフィルタ特性を選択する。【００９６】
このため、動き補償予測部１６０には、入力信号のコピーも入力される。さらに、決定された適応的補間フィルタのフィルタ係数は、エントロピー符号化部１９０に伝送され、エントロピー符号化部１９０によって出力ビットストリームに挿入される。【００９７】
さらに、動き補償予測部１６０は、メモリ１４０からローカル復号画像を読み出し、読み出したローカル復号画像に、決定した適応的補間フィルタを用いてフィルタ処理を適用することで、小数精度の参照画像を生成する。そして、生成した参照画像と、動き検出部１７０によって決定された動きベクトルとに基づいて小数画素精度の動き補償を行うことで、予測ブロックを生成する。【００９８】
動き検出部１７０は、メモリ１４０からローカル復号画像を読み出し、読み出したローカル復号画像と入力信号に含まれる入力画像とを用いて動き検出を行うことで、動きベクトルを決定する。動きベクトルは、符号化対象ブロックと、ローカル復号画像に含まれるブロックとの画素の変位を示す２次元のベクトルである。なお、決定された動きベクトルを示す動きデータは、エントロピー符号化部１９０に伝送され、エントロピー符号化部１９０によって出力ビットストリームに挿入される。【００９９】
なお、動き検出部１７０は、予測精度を最適化するために、小数画素精度、例えば、１／２又は１／４画素精度で動きベクトルを決定する。このため、動きベクトルが小数画素位置を示す場合に備える必要があり、動き補償予測部１６０は、小数画素位置の画素値を算出するために、補間フィルタをローカル復号画像に適用することで、整数画素位置の画素値から小数画素位置の画素値を算出する。【０１００】
イントラ／インター切換スイッチ１８０は、イントラフレーム予測部１５０と動き補償予測部１６０とのいずれで生成された予測ブロックを示す予測信号を減算器１１０と加算器１３５とに供給するかを切り換える。つまり、イントラフレーム予測部１５０と動き補償予測部１６０とのいずれの処理を実行するか、すなわち、符号化対象ブロックが「イントラ」モードで符号化されるのか、「インター」モードで符号化されるのかを切り換える。【０１０１】
エントロピー符号化部１９０は、変換／量子化部１２０によって量子化された量子化係数と、動き補償予測部１６０によって決定されたフィルタ係数と、動き検出部１７０によって生成された動きデータとを符号化し、得られた符号化信号を出力ビットストリームとして出力する。具体的には、エントロピー符号化部１９０は、１次元の量子化係数のシーケンスを、ランレベルと称される一連の数のペアに圧縮する。そして、ランレベルシーケンスを、可変長の２値の符号語（ＶＬＣ：Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｅ）に符号化する。典型的な映像に含まれる画像で最も多く頻出するランレベルのペアに、より短い符号語を割り当てることで、符号は最適化される。このようにして得られたビットストリームと、符号化した動きデータ及びフィルタ係数とを多重化し、出力ビットストリームとして他の映像復号装置などに伝送、又は、記録媒体に格納する。【０１０２】
なお、エントロピー符号化部１９０は、複数のフィルタ係数間の対称性を利用することで、複数のフィルタ係数の冗長部分を除いて、複数のフィルタ係数を符号化してもよい。例えば、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化してもよい。あるいは、互いに平行移動の対称関係を有する２つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化してもよい。これらの差分を符号化する処理の詳細については、後述する。【０１０３】
以上の構成により、本実施の形態の映像符号化装置１００では、従来、固定的なフィルタ係数を用いていた、又は、フィルタ係数は適応的であるが、補間フィルタそのものが固定的であったのに対して、小数画素精度の動き補償を行う際に使用する補間フィルタの特性、及び、フィルタ係数を適応的に決定する。そして、決定した補間フィルタの特性、及び、フィルタ係数を符号化し、出力ビットストリームとして他の映像復号装置に伝送する。【０１０４】
次に、上述したように映像符号化装置１００によって符号化されて得られた出力ビットストリーム（以下、符号化ビットストリームとも記載する）を復号する本実施の形態の映像復号装置について説明する。【０１０５】
図４は、本実施の形態の適応的フィルタリングの動き補償を適用する映像復号装置２００の構成を示すブロック図である。図４のブロック図は、図２に対応する。図２に示す映像復号装置４００と同じ構成要素には同じ参照符号を付している。【０１０６】
図４に示す映像復号装置２００は、エントロピー復号部２９１と、逆量子化／逆変換部２３０と、加算器２３５と、デブロッキングフィルタ２３７と、メモリ２４０と、イントラフレーム予測部２５０と、動き補償予測部２６０と、イントラ／インター切換スイッチ２８０とを備える。【０１０７】
エントロピー復号部２９１は、入力信号、例えば、映像符号化装置１００から伝送される符号化ビットストリームを復号することで、動きデータと、フィルタ係数と、量子化係数のシーケンスとに分離する。そして、エントロピー復号部２９１は、復号された動きデータとフィルタ係数とを動き補償予測部２６０に供給する。さらに、エントロピー復号部２９１は、逆変換に必要となるため、量子化係数の１次元のシーケンスを２次元配列の量子化係数に変換する。２次元配列に変換された量子化係数は、逆量子化／逆変換部２３０に供給される。【０１０８】
逆量子化／逆変換部２３０は、エントロピー復号部２９１によって復号された量子化係数を逆量子化する。さらに、逆量子化により得られる逆量子化係数を逆変換する。これにより、周波数領域に変換され、かつ、量子化されていた予測誤差を、空間領域に変換された予測誤差に復元することができる。なお、逆量子化／逆変換部２３０は、図３に示す逆量子化／逆変換部１３０と同様の処理を実行する。【０１０９】
加算器２３５は、逆量子化／逆変換部２３０によって復元された予測誤差と、イントラフレーム予測部２５０又は動き補償予測部２６０によって生成される予測信号（予測ブロック）とを加算することで、復号画像を生成する。なお、加算器２３５は、図３に示す加算器１３５と同様の処理を実行する。【０１１０】
デブロッキングフィルタ２３７は、加算器２３５によって生成された復号画像にデブロッキングフィルタ処理を実行する。これにより、復号画像に含まれるブロック歪みを低減することができる。なお、デブロッキングフィルタ２３７は、復号画像に適用されなくてもよい。また、デブロッキングフィルタ２３７は、図３に示すデブロッキングフィルタ１３７と同様の処理を実行する。【０１１１】
メモリ２４０は、デブロッキングフィルタ２３７によってデブロッキングフィルタ処理が実行されたローカル復号画像を保持するフレームメモリである。【０１１２】
イントラフレーム予測部２５０は、メモリ２４０から復号画像を読み出し、読み出した復号画像を基にして、「イントラ」モードで予測することで、予測ブロックを生成する。イントラフレーム予測部２５０は、イントラフレーム予測部１５０と同様に、先に復号されたピクチャを参照することなく、自ピクチャのみを参照することで復号対象ブロックを復号することができる。【０１１３】
動き補償予測部２６０は、メモリ２４０から復号画像を読み出し、読み出した復号画像に、小数精度の動き補償に必要な適応的補間フィルタを適用することで参照画像を生成する。ここで、どのような適応的補間フィルタを適用するかを特定するため、動き補償予測部２６０は、エントロピー復号部２９１から、復号されたフィルタ係数を受け取る。動き補償予測部２６０は、生成した参照画像と、エントロピー復号部２９１から受け取った動きデータとを基にして、予測ブロックを生成する。なお、動き補償予測部２６０は、適応的補間フィルタを復号画像に適用する理由は、受け取った動きデータが示す動きベクトルの値によっては、整数画素精度ではなく、小数画素精度が要求されるためである。【０１１４】
なお、所定の処理単位（スライス単位など）中は、同じフィルタ特性を利用するため、動き補償予測部２６０は、フィルタ特性を一時的に保持するメモリ２６１を備える。このメモリ２６１は、必要に応じて、フィルタ特性、及び、フィルタ係数などを保持する。【０１１５】
例えば、映像符号化装置１００からフィルタ特性がＩピクチャごとに送信される場合、フィルタ係数は、当該Ｉピクチャごと、又は、スライスごとに送信される。メモリ２６１は、次のフィルタ特性、又は、フィルタ係数が送信されるまで、フィルタ特性、及び、フィルタ係数を保持する。動き補償予測部２６０は、新たなフィルタ特性、又は、フィルタ係数が送信されると、メモリ２６１のフィルタ特性、又は、フィルタ係数を更新する。【０１１６】
なお、フィルタ特性が送信された場合、予め定められた非適応的フィルタでない限り、フィルタ係数も同時に送られるため、フィルタ特性が送信された場合は、フィルタ係数も更新することになる。また、メモリ２６１は、複数のフィルタ特性と、フィルタ係数とを記憶してもよい。すなわち、最新のフィルタ特性だけでなく、過去のフィルタ特性も複数個記憶してもよい。これにより、過去のフィルタ特性と同じ補間フィルタを利用する場合に、再度、映像符号化装置１００が送信しなくてもよい。【０１１７】
イントラ／インター切換スイッチ２８０は、イントラフレーム予測部２５０と動き補償予測部２６０とのいずれで生成された予測ブロックを示す予測信号を、加算器２３５に供するかを切り換える。【０１１８】
以上の構成により、本実施の形態の映像復号装置２００は、入力される符号化ビットストリームから、小数画素精度の動き補償に用いる補間フィルタの特性とフィルタ係数とに関する情報を受け取り、受け取った情報に基づいて小数精度の動き補償を行う。これにより、映像符号化装置１００によって、適応的に決定した補間フィルタを用いて符号化された映像データを正しく復元することができる。【０１１９】
次に、本実施の形態の映像符号化装置１００によって実行される映像符号化方法について説明する。図５は、本実施の形態の映像符号化装置１００の処理を示すフローチャートである。【０１２０】
まず、動き補償予測部１６０は、適応的補間フィルタのフィルタタイプを決定する（Ｓ１０１）。具体的には、動き補償予測部１６０は、入力される映像データに基づいて、分離型／非分離型、及び、対称／非対称などをスライス単位で決定する。【０１２１】
さらに、動き補償予測部１６０は、決定したフィルタタイプに応じて、適応的補間フィルタのタップ数を、小数画素位置ごとに決定する（Ｓ１０２）。具体的には、動き補償予測部１６０は、決定しなければならないフィルタ係数の数を決定する。例えば、決定した補間フィルタが、６×６タップの非分離型補間フィルタで、かつ、非対称である場合は、決定しなければならないフィルタ係数の数は３６個である。また、決定した補間フィルタが、６×６タップの非分離型補間フィルタで、かつ、対称である場合は、決定しなければならないフィルタ係数の数は、３６個のより少ない数となる。【０１２２】
また、対象となる小数画素の位置が、既に補間フィルタのフィルタ係数を決定した小数画素と、所定の軸に対して対称である場合は、動き補償予測部１６０は、決定しなければならないフィルタ係数の数を０としてもよい。すなわち、既に決定した補間フィルタをミラーリングすることで、対象となる小数画素の補間フィルタにも適用してもよい。【０１２３】
次に、動き補償予測部１６０は、小数画素位置ごとに、決定した補間フィルタのタップ数分のフィルタ係数を決定する（Ｓ１０３）。【０１２４】
そして、動き補償予測部１６０は、決定したフィルタ係数を有する補間フィルタを用いて、小数画素位置の画素値を算出し、これにより得られた小数画素精度の参照画像を用いて動き補償を行う（Ｓ１０４）。【０１２５】
減算器１１０は、入力信号から、動き補償により生成される予測信号を減算することで予測誤差信号を生成する（Ｓ１０５）。変換／量子化部１２０は、生成された予測誤差信号を周波数変換及び量子化することで、量子化係数を生成する（Ｓ１０６）。【０１２６】
エントロピー符号化部１９０は、変換／量子化部１２０によって生成された量子化係数と、動き補償予測部１６０によって決定されたフィルタ特性及びフィルタ係数と、動き検出部１７０で検出された動きベクトルを示す動きデータとを符号化する（Ｓ１０７）。エントロピー符号化部１９０は、符号化により得られた符号化信号（符号化ビットストリーム）を他の映像復号装置などに伝送する。【０１２７】
以上のようにして、本実施の形態の映像符号化装置１００は、適応的に補間フィルタのフィルタ特性とフィルタ係数とを決定し、決定した補間フィルタを用いて小数画素精度の動き補償を行う。これにより、補間フィルタの特性及び係数を非常に柔軟に決定することができるので、予測精度と符号化効率とを最適化することができる。【０１２８】
次に、本実施の形態の映像復号装置２００によって実行される映像復号方法について説明する。図６Ａは、本実施の形態の映像復号装置２００の処理を示すフローチャートである。【０１２９】
まず、エントロピー復号部２９１は、入力される符号化ビットストリームを復号する（Ｓ２０１）。復号により得られた量子化係数を逆量子化／逆変換部２３０に供給し、動きデータ及び補間フィルタを動き補償予測部２６０に供給する。【０１３０】
次に、逆量子化／逆変換部２３０は、復号により得られた量子化係数を逆量子化及び逆変換することで、予測誤差を生成する（Ｓ２０２）。また、動き補償予測部２６０は、復号により得られた補間フィルタと動きデータとに基づいて、小数画素位置の画素値を参照し、これにより得られた小数画素精度の参照画像を用いて動き補償を行う（Ｓ２０３）。なお、予測誤差の生成（Ｓ２０２）と動き補償（Ｓ２０３）とは、いずれが先に実行されてもよく、又は、同時に並行して実行されてもよい。【０１３１】
加算器２３５は、逆量子化／逆変換部２３０によって生成された予測誤差と、動き補償予測部２６０によって生成された予測信号とを加算することで、符号化された画像を復元する（Ｓ２０４）。なお、デブロッキングフィルタ２３７が、復元された画像にデブロッキングフィルタ処理を施してもよい。【０１３２】
図６Ｂは、対称性を利用して補間フィルタを復号し、決定する場合のフローチャートである。補間フィルタは、小数画素位置ごとに決定される。【０１３３】
まず、動き補償予測部２６０は、決定の対象となる補間フィルタ自体が対称であるか否かを判断する（Ｓ３０１）。補間フィルタ自体が対称である場合（Ｓ３０１でＹｅｓ）、当該補間フィルタのフィルタ係数のうち半分だけを復号し、復号したフィルタ係数をミラーリングすることで残りのフィルタ係数を決定する（Ｓ３０２）。補間フィルタ自体が対称ではない場合（Ｓ３０１でＮｏ）、補間フィルタを構成するフィルタ係数を復号する（Ｓ３０３）。【０１３４】
次に、動き補償予測部２６０は、復号及び決定した補間フィルタの小数画素位置と対称関係にある小数画素位置の補間フィルタを決定する（Ｓ３０４）。すなわち、復号及び決定した補間フィルタをミラーリングすることで、対称関係にある小数画素位置の補間フィルタを決定する。なお、このとき、水平方向の補間フィルタを垂直方向の補間フィルタにも兼用する場合は、補間フィルタを回転することで、該当する小数画素位置の補間フィルタを決定する。【０１３５】
最後に、動き補償予測部２６０は、全ての小数画素位置の補間フィルタを復号及び決定したか否かを判断する（Ｓ３０５）。補間フィルタが決定されていない小数画素位置がある場合（Ｓ３０５でＮｏ）、動き補償予測部２６０は、まだ決定されていない小数画素位置の補間フィルタを復号及び決定するために、上述の処理（Ｓ３０１〜Ｓ３０５）を繰り返す。全ての小数画素位置の補間フィルタが復号及び決定された場合（Ｓ３０５でＹｅｓ）、補間フィルタの復号及び決定処理は終了し、予測誤差の生成処理（Ｓ２０２）を実行する。【０１３６】
なお、どの小数画素位置が対称であるかを示す情報は、後述するように符号化ビットストリームに含まれる。【０１３７】
以上のようにして、本実施の形態の映像復号装置２００は、符号化ビットストリームに含まれる補間フィルタの情報を取得し、取得した情報に基づいて設定した補間フィルタのフィルタ特性及びフィルタ係数を利用して動き補償を行う。これにより、映像符号化装置側で、柔軟に設定された補間フィルタの情報を映像復号装置２００は得ることができるので、符号化された画像を正しく復号することができる。【０１３８】
（フィルタ係数の決定方法）
以下に、動き補償予測部１６０による適応的補間フィルタのフィルタ係数の決定方法について述べる。【０１３９】
図７は、フィルタ係数が決定される小数画素位置を示す図である。同図において、黒丸は整数画素位置を示し、白丸は小数画素位置を示す。また、ここでは、一例として、１／４画素精度の場合を説明する。【０１４０】
整数画素の位置と小数画素の位置とは、整数単位範囲ごとに位置（ｐ，ｑ）で示される。整数単位範囲は、１つの整数画素を含む所定の範囲であり、図７に示す例では、小数画素精度で４×４画素の範囲である。なお、ｐ＝０，１，２，３かつｑ＝０，１，２，３である。位置（ｐ，ｑ）は、整数単位範囲内の位置を示す局所的な座標（以下、局所座標と記載する）で表される。つまり、位置（ｐ，ｑ）は、画像上の各整数単位範囲内において共通の座標位置を示す。なお、図７に示す例では、１つの整数単位範囲には、位置（０，０）にある整数画素と、残りの１５ヶ所の小数画素位置（（０，１）、（０，２）、（０，３）、（１，０）、（１，１）、（１，２）、（１，３）、（２，０）、（２，１）、（２，２）、（２，３）、（３，０）、（３，１）、（３，２）、（３，３））にある小数画素とが含まれる。以上のように、小数画素位置は、整数画素位置との相対的な位置を示している。すなわち、位置（ｐ，ｑ）で、ある整数画素の位置を基準の位置としたときの、小数画素の位置を示している。【０１４１】
動き補償予測部１６０は、整数画素（黒丸）を基にして、小数画素（白丸）を算出するための補間フィルタを決定する。具体的には、動き補償予測部１６０は、補間フィルタの特性を設定し、設定した特性に基づいて、算出対象である小数画素に対する補間フィルタのフィルタ係数を決定する。フィルタ係数は、複数の整数画素の重み付け加算和を行う際の重み係数である。補間フィルタは、複数の整数画素のそれぞれに対するフィルタ係数の集合で表される。動き補償予測部１６０は、１つの整数単位範囲内の小数画素ごとに補間フィルタを決定し、他の整数単位範囲内の小数画素の補間フィルタにも兼用することで、全ての小数画素ごとに補間フィルタを決定する必要がなくなる。ただし、予測の精度を高めるために、全ての小数画素ごとに補間フィルタを決定してもよい。【０１４２】
補間フィルタの特性は、例えば、補間フィルタのフィルタタイプ、及び、フィルタサイズである。フィルタタイプは、例えば、適応的／非適応的、分離型／非分離型、及び、対称／非対称などのフィルタの種類である。フィルタサイズは、例えば、フィルタ係数の個数であるタップ数である。【０１４３】
動き補償予測部１６０は、補間フィルタの特性を所定の処理単位で設定する。例えば、小数画素単位、マクロブロック単位、スライス単位、ピクチャ単位、又は、シーケンス単位で設定する。なお、１つの映像データに対して、１つの特性を設定してもよい。【０１４４】
以下では、まず、フィルタタイプが非分離型である場合について説明する。非分離型補間フィルタの一例として、６×６タップフィルタの場合について説明する。【０１４５】
図８は、小数画素位置に対して決定されるフィルタ係数の具体例を示す図である。同図において、黒丸は整数画素位置を示し、白丸は小数画素位置を示す。ここで、位置（ｐ，ｑ）にある小数画素の画素値を算出するための補間フィルタｆ(p,q)を決定すると仮定する。【０１４６】
補間フィルタｆ(p,q)は、位置（ｐ，ｑ）にある小数画素をほぼ中心とする６×６の整数画素の画素値にそれぞれ重み付けられるフィルタ係数ｆi,j(p,q)（ｉ＝−２，−１，０，１，２，３かつｊ＝−２，−１，０，１，２，３）の集合である。図８に示す例では、対象となる小数画素を含む整数単位範囲に含まれる整数画素の画素値に重み付けるフィルタ係数をｆ0,0(p,q)（ｉ＝０，ｊ＝０）とし、水平方向にｉ軸、垂直方向にｊ軸を設定することで、各整数画素にフィルタ係数ｆi,j(p,q)を決定する。具体的なフィルタ係数の式を用いた算出方法については、後述する。【０１４７】
動き補償予測部１６０は、以上のように決定した非分離型適応的補間フィルタを適用することで、位置（ｐ，ｑ）の小数画素（図８の白丸）を算出する。補間の対象となる他の小数画素についても同様にして、フィルタ係数を決定し、決定したフィルタ係数の補間フィルタを適用することで、小数画素精度の動き補償を実行する。【０１４８】
次に、フィルタタイプが分離型である場合について説明する。ここでは一例として、水平方向の補間フィルタと垂直方向の補間フィルタとを有する分離型補間フィルタであり、各補間フィルタは、６つの整数画素を利用する６タップフィルタである場合について説明する。【０１４９】
図９は、小数画素位置に対して決定されるフィルタ係数の具体例を示す図である。同図において、黒丸は整数画素位置を示し、白丸は小数画素位置を示す。さらに、バツ印は、整数画素を用いて水平方向に補間することで得られた小数画素位置を示す。【０１５０】
動き補償予測部１６０は、まず、水平方向の補間フィルタｇ(p,q)を決定する。なお、水平方向の補間フィルタは、垂直方向の値には影響されないため、ｇ(p,q)＝ｇ(p)である。図８と同様に、対象となる小数画素を含む整数単位範囲に含まれる整数画素の画素値に重み付けるフィルタ係数をｇ0(p)とし、水平方向にｉ軸を設定することで、水平方向の整数画素にフィルタ係数ｇi(p)を決定する。【０１５１】
このように決定した水平方向の補間フィルタｇ(p)を用いて、動き補償予測部１６０は、位置（ｐ，０）の小数画素（図９のバツ印）を算出する。ここでは、垂直方向の補間フィルタも６タップフィルタであるため、位置（ｐ，０）に位置する６個の小数画素（バツ印）を算出する。【０１５２】
次に、動き補償予測部１６０は、垂直方向の補間フィルタｈ(p,q)を決定する。水平方向の場合と同様に、対象となる小数画素を含む整数単位範囲内の位置（ｐ，０）に位置する垂直方向の補間フィルタをｈ0(p,q)とし、垂直方向にｊ軸を設定することで、水平方向の補間により得られた位置（ｐ，０）の小数画素に重み付けるフィルタ係数ｈj(p,q)を決定する。【０１５３】
このように決定した垂直方向の補間フィルタｈ（ｐ，ｑ）を用いて、動き補償予測部１６０は、位置（ｐ，ｑ）の小数画素（図９の白丸）を算出する。補間の対象となる他の小数画素についても同様にして、フィルタ係数を決定し、決定したフィルタ係数の補間フィルタを適用することで、小数画素精度の動き補償を実行する。【０１５４】
なお、上記の例では、水平方向の補間を行った後に、垂直方向の補間を行う例について説明したが、垂直方向の補間を行った後に、水平方向の補間を行ってもよい。【０１５５】
以下では、さらに具体的な、適応的補間フィルタのフィルタ係数を決定する方法について、図面と数式とを用いて説明する。まず、非分離型適応的補間フィルタの場合について説明する。【０１５６】
図１０は、映像データに含まれる画像のブロックの概略図である。同図では、黒丸は整数画素の位置、つまり、原画像のサンプリングポイントを表している。白丸は、画素値の補間が必要な小数画素の位置を表している。以下の図には、１／４画素精度を図示しているが、本実施の形態では、例えば、１／２画素、１／４画素、若しくは、１／８画素など、いかなる小数画素精度を用いてもよい。あるいは、垂直方向と水平方向とで異なる小数画素精度であってもよい。【０１５７】
以下の式において、ｎは小数画素精度を、例えば、ｎ＝２は１／２画素精度を、ｎ＝４は１／４画素精度を表している。映像データに含まれる画像、及び、メモリ１４０に格納されるローカル復号画像（参照画像）上での位置は、整数画素精度又は小数画素精度で表される。（ｘ，ｙ）は、各画像上での座標位置を整数画素精度で示し、（ｎｘ＋ｐ，ｎｙ＋ｑ）は、各画像上での座標位置を小数画素精度で示す。つまり、小数画素精度で示される整数画素位置（ｎｘ，ｎｙ）は、整数画素精度で示される（ｘ，ｙ）に一致する。【０１５８】
さらに、Ｓx,yは、原画像（つまり、映像データのブロック）内の整数画素位置（ｘ，ｙ）での画素値を表す。対応する水平方向及び垂直方向への補間画像内の小数画素位置（ｎｘ＋ｐ，ｎｙ＋ｑ）の画素値は、Ｓ’nx+p,ny+qで示される。ここで、図１０に示すように、小数画素位置は、ｐ＝０，…，ｎ−１及びｑ＝０，…，ｎ−１で示される。【０１５９】
なお、（ｎｘ＋ｐ，ｎｙ＋ｑ）で表される位置は、画像上での特定の１点を示しているのに対して、（ｐ，ｑ）で表される位置は、画像の一部（すなわち、整数単位範囲）における局所座標上の１点、すなわち、整数画素との相対的な位置を示している。整数が外の相対的な位置とは、１つの整数画素を基準としたときの小数画素の位置である。具体的には、図１０に示すＳx,yは、整数画素精度では（５，２）で示される位置の画素値を表し、小数画素精度では（２０，８）（＝（４×５，４×２））で示される位置の画素値を表す。同様に、Ｓ’nx+p,ny+qは、小数画素精度では（２１，１１）（＝（４×５＋１，４×２＋３））で示される位置の画素値を示す。また、Ｓ’nx+p,ny+qは、局所座標上では、（１，３）で表される位置の画素値を示している。【０１６０】
本実施の形態の適応的補間フィルタは、原画像を、対応する水平方向及び垂直方向への補間画像へマッピングする線形演算子、つまり、（式１）で定義される。【０１６１】
【数１】
2009047917.tif 000003
【０１６２】
ここで、ｆi,j(p,q)は、補間フィルタの離散フィルタ係数であり、例えば、６×６タップフィルタの場合、ｉ＝−２，−１，０，１，２，３、及び、ｊ＝−２，−１，０，１，２，３である。また、このフィルタ係数は、局所座標上の特定の小数画素位置（ｐ，ｑ）によっても決まる。したがって、図１０に示すように、小数画素位置（ｐ，ｑ）ごとに、特定の補間フィルタｆ(p,q)が定義される。【０１６３】
さらに、補間フィルタは、整数画素位置（ｐ＝０かつｑ＝０）でオリジナル値を生成する必要がある。したがって、整数画素位置（０，０）に対する補間フィルタｆ(0,0)のフィルタ係数ｆi,j(0,0)は、（式２）に示されるように表される。【０１６４】
【数２】
2009047917.tif 000004
【０１６５】
ここで、δk,lはクロネッカーのデルタであって、例えば、ｋ＝ｌの場合はδk,l＝１、ｋ≠ｌの場合はδk,l＝０である。【０１６６】
変位ベクトル５０１、５０２及び５０３は、Ｖｅｃ＝（ｖx，ｖy）で表される。その成分であるｖxとｖyは、小数画素位置を参照している。ｖx  ｍｏｄ＝０である変位ベクトル５０３は、ｘ方向の整数画素位置を指し示す（つまり、ｘ方向の整数画素の平行移動を表す）。ｖx  ｍｏｄ＝１，…，（ｎ−１）である変位ベクトル５０１及び５０２は、ｘ方向の小数画素位置を指し示す（つまり、ｘ方向の小数画素の平行移動を表す）。同様の定義をｙ方向にも用いる。【０１６７】
任意の小数画素位置（ｐ，ｑ）のフィルタ係数ｆi,j(p,q)は、ここでは以下のように決められる。Ｐx,yが、先に復号された参照画像を表し、Ｖｅｃ＝（ｖx，ｖy）が、小数画素位置（ｐ，ｑ）を指し示す小数画素精度での変位ベクトルを表すとする。このとき、ｐ＝ｖx  ｍｏｄ  ｎ及びｑ＝ｖy  ｍｏｄ  ｎである。したがって、この変位に対する予測誤差ｅp,qは、（式３）のように表される。【０１６８】
【数３】
2009047917.tif 000005
【０１６９】
なお、［[…]］は、演算子の変数より小さい最大の整数値をとるフロア演算子（切り捨て演算子）を示す。変位ベクトルが有効な原画像の範囲にわたり、ｘ及びｙにわたって和をとる。この範囲は、変位ベクトルが決められたマクロブロックに対応していてもよい。また、その範囲は、同じ小数画素位置を指し示す変位ベクトル、つまりｖx  ｍｏｄ  ｎ＝ｐ及びｖy  ｍｏｄ  ｎ＝ｑの変位ベクトルを有する（１以上の映像に含まれる画像の）いくつか又は全てのマクロブロックをまとめたもの（ただし、連結されていない）であってもよい。【０１７０】
フィルタ係数ｆi,j(p,q)を、ここでは（式３）の予測誤差を最小にするように決定する。当該技術分野において周知の最適化アルゴリズム、例えば、勾配降下法又は焼きなまし法などで最適化を行ってもよい。しかしながら、この場合、フィルタ係数ｆi,j(p,q)に対し、（式４）に示されるような、（式３）の偏導関数を計算して得られる連立一次方程式を解くことによって最適フィルタ係数を決定してもよい。【０１７１】
【数４】
2009047917.tif 000006
【０１７２】
以上のように、非分離型適応的補間フィルタの場合、予測誤差を最小とするように、すなわち、予測の精度が高くなるように、フィルタ係数を決定することができる。【０１７３】
次に、分離型適応的補間フィルタの場合について説明する。【０１７４】
２次元補間フィルタｆ(p,q)が分離型であれば、２つの別個の１次元フィルタｇ(p,q)とｈ(p,q)との合成に書き換えてもよい。【０１７５】
【数５】
2009047917.tif 000007
【０１７６】
通常、水平補間フィルタｇ(p,q)は垂直小数画素位置ｑに依存しない、つまり、ｇ(p,q)＝ｇ(p)であり、さらに、垂直補間フィルタは整数画素行の補間結果に影響を及ぼさない、つまり、ｈj(p,0)＝δj,0と仮定する。【０１７７】
この場合、２次元補間は２ステッププロセスと考えることができる。第１ステップにおいて、「整数画素行」の小数画素位置における画素値を決定するように、水平補間が行われる。第２ステップでは、第１ステップで決定された画素値に垂直補間を行うことにより小数画素列の画素値が決定される。このように仮定すると、ｇ(p)とｈ(p,q)とのフィルタ係数は（式３）〜（式５）から容易に決定できる。【０１７８】
以上のように、適応的に補間フィルタの特性及びフィルタ係数を決定することで、予測精度を向上させることができる。これにより、映像符号化装置１００は、精度の高い動き補償に基づいて予測誤差を算出するので、予測誤差を小さくすることができ、符号化効率を向上させることもできる。【０１７９】
しかしながら、映像復号装置が正しく復号するためには、決定したフィルタの特性及びフィルタ係数を、映像復号装置側に伝送しなければならない。適応的補間フィルタの特性及びフィルタ係数を伝送するとビットレートが増加する。このため、特に、空間解像度が小さい映像シーケンスに非分離型補間フィルタを適用する場合には、全体的な符号化効率が、オーバーヘッド情報によって低減する恐れがある。【０１８０】
したがって、符号化効率を向上させる、すなわち、副次的なオーバーヘッド情報を低減するために、ある画像の統計特性に対称性があると仮定してもよい。【０１８１】
例えば、対応する整数画素位置から対象小数画素位置までの距離が等しい場合、フィルタ係数は等しいと考えられる。しかしながら、エイリアシングなどの信号歪みのため、又は、変位検出のエラーのため、全ての映像シーケンスに対して対称性を仮定することは有効でない可能性がある。それゆえ、このことは、このような信号統計へのフィルタの限定的な適用により、符号化効率ゲインの損失につながるかもしれない。【０１８２】
したがって、適応的補間フィルタを適用する普遍的かつ効果的な方法と、適応的補間フィルタの要素をシグナリングする効果的な方法とが必要である。【０１８３】
本実施の形態によると、異なるフィルタタイプ（分離型／非分離型）、フィルタ対称性、フィルタ長、及び、小数画素位置によるフィルタ係数の差分符号化（つまり、フィルタ係数の予測符号化）の使用を含めた適応的補間フィルタを適用する普遍的な方法が提供される。【０１８４】
（フィルタの対称性及び限定の活用）
以下に、動き補償予測部１６０がフィルタ特性を決定する際に、フィルタの対称性及び／又は限定を活用する処理について説明する。まず、対称性の利用の概略について、簡単のため、１次元の水平方向の補間フィルタを一例として説明する。【０１８５】
動き補償予測部１６０は、上述のように決定されたフィルタ特性に従ってフィルタ係数を決定する際に、対称性を利用する。対称性には、補間フィルタのフィルタ係数そのものが対称である場合と、２つの小数画素位置が互いに対称な補間フィルタを有する場合とがある。【０１８６】
例えば、動き補償予測部１６０は、補間フィルタのフィルタタイプが対称である、すなわち、補間フィルタのフィルタ係数そのものが対称である場合、補間フィルタの複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数を決定する（図１１参照）。あるいは、動き補償予測部１６０は、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素のうち、１つの小数画素の補間フィルタの複数のフィルタ係数を決定する（図１２参照）。【０１８７】
図１１は、対称なフィルタ係数を有する補間フィルタの一例を示す図である。同図は、１／２画素位置（バツ印）の画素値を算出するための１次元の６タップフィルタのフィルタ係数と、画素位置との関係を示す。なお、同図において、黒丸は、整数画素位置を示す。【０１８８】
図１１に示すように、１／２画素位置（ｐ，ｑ）＝（２，０）を中心として、周囲の６個の整数画素位置に重み付けるフィルタ係数は、左右に対称となる。すなわち、各画素位置（ｉ＝−２，−１，０，１，２，３）の画素値に重み付けるフィルタ係数ｇi(2,0)は、ｇ0(2,0)＝ｇ1(2,0)、ｇ-1(2,0)＝ｇ2(2,0)、ｇ-2(2,0)＝ｇ3(2,0)の関係を有する。【０１８９】
したがって、動き補償予測部１６０は、６個のフィルタ係数のうち３個のフィルタ係数（例えば、ｇ-2(2,0)、ｇ-1(2,0)、ｇ0(2,0)のみ）を決定するだけでよい。これにより、フィルタ係数の決定に関わる処理量を削減することができる。【０１９０】
さらに、対称性を利用しない場合は、映像復号装置２００に６個のフィルタ係数の値を送信しなければならなかったのに対して、対称性を利用する場合は、３個のフィルタ係数の値と、対称であることを示す情報とを送信するだけでよく、符号量を削減することができる。【０１９１】
図１２は、２つの小数画素位置の補間フィルタが対称となる一例を示す図である。図１２（ａ）は、１／４画素位置（バツ印）の画素値を算出するための１次元の６タップフィルタのフィルタ係数と、画素位置との関係を示す。図１２（ｂ）は、３／４画素位置（バツ印）の画素値を算出するための１次元の６タップフィルタのフィルタ係数と、画素位置との関係を示す。各図において、黒丸は、整数画素位置を示す。【０１９２】
図１２（ａ）と図１２（ｂ）とに示すように、１／４画素位置（ｐ，ｑ）＝（１，０）の画素値を算出するための補間フィルタｇ(1,0)と、３／４画素位置（ｐ，ｑ）＝（３，０）の画素値を算出するための補間フィルタｇ(3,0)とは、互いに水平方向対称である。すなわち、ｇ-2(1,0)＝ｇ3(3,0)、ｇ-1(1,0)＝ｇ2(3,0)、ｇ0(1,0)＝ｇ1(3,0)、ｇ1(1,0)＝ｇ0(3,0)、ｇ2(1,0)＝ｇ-1(3,0)、及び、ｇ3(1,0)＝ｇ-2(3,0)が成立する。【０１９３】
したがって、対称性を利用しない場合、動き補償予測部１６０は、２つの小数画素位置に対して１２個のフィルタ係数を決定しなければならないのに対して、対称性を利用する場合、動き補償予測部１６０は、６個のフィルタ係数（例えば、１／４画素位置の補間フィルタｇ(1,0)のフィルタ係数）を決定するだけでよい。これにより、フィルタ係数の決定に関わる処理量を削減することができる。また、映像復号装置２００に送信しなければならない符号量を削減することができる。【０１９４】
以上のように、動き補償予測部１６０は対称性を利用することで、係数の決定に関わる処理量を削減し、かつ、送信すべき符号量を削減することができる。【０１９５】
続いて、さらに詳細な対称性の利用の処理について図面と数式とを用いて説明する。【０１９６】
対称及び非対称補間フィルタを適用することにより、フィルタ係数を伝送することでビットストリームに付け加えられるオーバーヘッド情報量を制御することができる。例えば、高解像度シーケンスの場合、非対称フィルタを伝送することが、信号統計にフィルタを最適に適用するためには有益かもしれないが、低解像度シーケンスの場合、オーバーヘッド情報量を削減するために対称フィルタを適用する必要があるかもしれない。各時間対称性を活用し、異なる小数画素位置で、対応するフィルタが結合して最適化される。これは、入力信号にエイリアシングが含まれる場合、又は、間違った動き検出のために、予測効率を減少させるかもしれない。なお、シグナリングオーバーヘッドに対して、動き補償予測の精度を最適化するために、対称及び非対称フィルタの切換は小数画素位置に依存する方式で行うことができる。【０１９７】
図１３Ａ〜図１３Ｆは、ｎ＝４、つまり、１／４画素精度の場合の適応的補間フィルタの対称特性の概略図である。各図では、整数画素及び小数画素の位置をそれぞれ四角及び丸で示している。また、小数画素位置を文字ａ，ｂ，…，ｏで示す。網掛けを使用して、異なる小数画素位置における補間フィルタ間の対称性を図示する。網掛けされた小数画素位置におけるフィルタ係数は、以下のように適した対称演算を適用することによって得ることができる。【０１９８】
図１３Ａは、垂直軸（点線）に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。この場合、対称な補間フィルタのフィルタ係数は、（式６）で示される関係を有する。【０１９９】
【数６】
2009047917.tif 000008
【０２００】
つまり、小数画素位置（ｐ、ｑ）に固有の補間フィルタのフィルタ係数は、対称な小数画素位置（ｎ−ｐ，ｑ）に固有の補間フィルタのフィルタ係数から、適切な対称演算を適用することで得ることができる。ここでいう対称演算は、垂直軸に対する反転、つまり、図１２に示すように（ｉ，ｊ）→（１−ｉ，ｊ）である。【０２０１】
このようにして、図１３Ａに異なる網掛けで示すように、小数画素位置ａとｃ、ｅとｇ、ｉとｋ、ｍとｏがそれぞれ対称関係にあり、対称関係にある小数画素位置の一方のフィルタ係数を決定することで、他方のフィルタ係数も決定される。例えば、垂直軸を基準として小数画素位置ａの補間フィルタをミラーリングしたものが、小数画素位置ｃの補間フィルタである。【０２０２】
なお、ミラー軸（図１３Ａの点線）上の小数画素位置（図１３Ａのｂ，ｆ，ｊ，ｎ）に固有の補間フィルタのフィルタ係数は、図１１に示すように、それら自身に対して対称、つまり、ｆi,j(n/2,q)＝ｆ1-i,j(n/2,q)である。このようにして、決定しなければならない独立係数の数を減らしている。【０２０３】
図１３Ｂは、水平軸（点線）に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。この場合、対称な補間フィルタのフィルタ係数は、（式７）で示される関係を有する。【０２０４】
【数７】
2009047917.tif 000009
【０２０５】
つまり、小数画素位置（ｐ，ｑ）に固有の補間フィルタのフィルタ係数は、対称な小数画素位置（ｐ，ｎ−ｑ）に固有の補間フィルタのフィルタ係数から、適切な対称演算を適用することで得ることができる。ここでいう対称演算は、水平軸に対する反転、つまり、図１２に示すように、（ｉ，ｊ）→（ｉ，１−ｊ）である。【０２０６】
このようにして、図１３Ｂに異なる網掛けで示すように、小数画素位置ｄとｌ、ｅとｍ、ｆとｎ、ｇとｏがそれぞれ対称関係にあり、対称関係にある小数画素位置の一方のフィルタ係数を決定することで、他方のフィルタ係数も決定される。例えば、水平軸を基準として小数画素位置ｄの補間フィルタをミラーリングしたものが、小数画素位置ｌの補間フィルタである。【０２０７】
なお、ミラー軸（図１３Ｂの点線）上の小数画素位置（図１３Ｂのｈ，ｉ，ｊ，ｋ）に固有の補間フィルタのフィルタ係数は、図１１に示すように、それら自身に対して対称、つまり、ｆi,j(p,n/2)＝ｆi,1-j(p,n/2)である。このようにして、決定しなければならない独立係数の数を減らしている。【０２０８】
図１３Ｃは、対角軸（点線）に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。この場合、対称な補間フィルタのフィルタ係数は、（式８）で示される関係を有する。【０２０９】
【数８】
2009047917.tif 000010
【０２１０】
つまり、小数画素位置（ｐ，ｑ）に固有の補間フィルタのフィルタ係数は、対称な小数画素位置（ｑ，ｐ）に固有の補間フィルタのフィルタ係数から、適切な対称演算を適用することで得ることができる。ここでいう対称演算は、対角軸に対する反転、つまり、図１２に示すように、（ｉ，ｊ）→（ｊ，ｉ）である。【０２１１】
このようにして、図１３Ｃに異なる網掛けで示すように、小数画素位置ａとｄ、ｂとｈ、ｃとｌ、ｆとｉ、ｇとｍ、ｋとｎがそれぞれ対称関係にあり、対称関係にある小数画素位置の一方のフィルタ係数を決定することで、他方のフィルタ係数も決定される。例えば、対角軸を基準として小数画素位置ａの補間フィルタをミラーリングしたものが、小数画素位置ｄの補間フィルタである。【０２１２】
なお、ミラー軸上（図１３Ｃの点線）の小数画素位置（図１３Ｃのｅ，ｊ，ｏ）に固有の補間フィルタのフィルタ係数は、それら自身に対して対称、つまり、図１１に示すように、ｆi,j(p,p)＝ｆj,i(p,p)である。このようにして、決定しなければならない独立係数の数を減らしている。【０２１３】
図１３Ｄ及び図１３Ｅは、上述したミラー対称を組み合わせたものである。図１３Ｄは、垂直軸及び水平軸に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。図１３Ｄに異なる網掛けで示すように、小数画素位置ａとｃ、ｄとｌ、ｅとｇとｍとｏ、ｆとｎ、ｉとｋがそれぞれ対称関係にあり、対称関係にある小数画素位置のいずれか１つのフィルタ係数を決定することで、残りのフィルタ係数も決定される。【０２１４】
図１３Ｅは、垂直軸、水平軸及び対角軸に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。図１３Ｅに異なる網掛けで示すように、小数画素位置ａとｃとｄとｌ、ｂとｈ、ｅとｇとｍとｏ、ｆとｉとｋとｎがそれぞれ対称関係にあり、対称関係にある小数画素位置のいずれか１つのフィルタ係数を決定することで、残りのフィルタ係数も決定される。【０２１５】
決定され、かつ、シグナリングされなければならない独立フィルタ係数の数を減らすために、上述した各対称性、又は、それらの組み合わせを用いてもよい。このようにして、決定プロセスのロバスト性を改善し、シグナリングオーバーヘッドを低減する。【０２１６】
なお、上記いずれかの対称性を、必ずしも全ての小数画素の固有の補間フィルタに適用する必要はない。むしろ、上述した各対称性は、適応的補間フィルタの小数セットのみ、例えば、ｐ≠ｑである非対角位置などの特定の小数画素位置のみに適用される。さらに、小数画素の固有の補間フィルタの個々のペアのみが、上述した対称関係のいずれかに一致する対称関係にあるとみなしてもよい。図１３Ｆに、この一例を示す。【０２１７】
図１３Ｆは、対称関係の一部のみを利用する場合の小数画素位置の対称関係を示す図である。同図では、小数画素位置ａとｃの補間フィルタ、及び、小数画素位置ｋとｎの補間フィルタが、対称である。【０２１８】
対称性とは別に、適応的補間フィルタの独立フィルタ係数の数を減らすためにその他の限定を用いてもよい。例えば、２次元の適応的補間フィルタを整数画素列（ｐ＝０）及び／又は整数画素行（ｑ＝０）の１次元の適応的補間フィルタとしてもよい。この場合、適応的補間フィルタは（式９）及び／又は（式１０）となる。【０２１９】
【数９】
2009047917.tif 000011
【０２２０】
【数１０】
2009047917.tif 000012
【０２２１】
その他よく用いられる限定には、分離性の仮定、つまり、２つの１次元の補間フィルタに分解できる２次元の補間フィルタへの限定がある。分離型適応的補間フィルタは（式１１）で示される。【０２２２】
【数１１】
2009047917.tif 000013
【０２２３】
ここで、ｇi(p,q)及びｈj(p,q)は、それぞれ水平方向及び垂直方向の１次元補間フィルタのフィルタ係数である。６×６タップ適応的補間フィルタの場合、独立フィルタ係数の数は、非分離型フィルタの小数画素位置につき６×６＝３６個から、２つの１次元フィルタの小数画素位置につき６＋６＝１２個まで減少する。【０２２４】
また、水平方向及び／又は垂直方向の１次元補間フィルタが小数画素の平行移動に対して不変であるとみなすことによって、独立フィルタ係数の数を減らしてもよい。したがって、（式１２）及び／又は（式１３）となる。【０２２５】
【数１２】
2009047917.tif 000014
【０２２６】
【数１３】
2009047917.tif 000015
【０２２７】
ここで、ｇi(p)及びｈj(p)はそれぞれ、垂直方向及び水平方向の小数画素位置には関係しない、水平方向及び垂直方向の１次元補間フィルタのフィルタ係数である。【０２２８】
なお、上述した限定もまた、シグナリングオーバーヘッドを減少させるために、上述した対称特性だけでなく互いに組み合わせてもよい。特に好ましい上述の限定の組み合わせは、整数画素行及び列の１次元補間の分離型適応的補間フィルタと、垂直方向の平行移動に不変な水平補間フィルタとの組み合わせである。すなわち、（式１４）で示される補間フィルタである。【０２２９】
【数１４】
2009047917.tif 000016
【０２３０】
この形式のフィルタは、以下のようにして推定される。第１ステップで、入力映像データから水平方向の補間フィルタを決定し、決定された水平方向の補間フィルタを適用する。そして、第２ステップで水平方向の補間された映像データから垂直方向の補間フィルタを決定する。【０２３１】
この方法は、図１４Ａ及び図１４Ｂに示される。図１４Ａは、分離型適応的補間フィルタの水平方向の補間フィルタを適用する場合の小数画素位置の一例を示す図である。図１４Ａにおいて、八角形は小数画素位置ａ、ｂ、及びｃを示し、各位置のフィルタは、第１ステップで計算される。【０２３２】
図１４Ｂは、分離型適応的補間フィルタの垂直方向の補間フィルタを適用する場合の小数画素位置の一例を示す図である。図１４Ｂに示す丸は、その他の小数画素位置を示し、第２ステップで補間フィルタが決定される。【０２３３】
図１４Ｃは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係の一例を示す図である。同図では、小数画素位置ａ及びｃにおいて、水平方向に対称な対称フィルタを含む分離型適応的補間フィルタの一例を示す。すなわち、垂直軸を基準にして小数画素位置ａの補間フィルタをミラーリングしたものが、小数画素位置ｃの補間フィルタである。【０２３４】
図１４Ｄは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係の一例を示す図である。同図では、小数画素位置ｅ及びｍにおいて、垂直方向に対称な対称フィルタを含む分離型適応的補間フィルタの一例を示す。すなわち、水平軸を基準にして小数画素位置ｅの補間フィルタをミラーリングしたものが、小数画素位置ｍの補間フィルタである。【０２３５】
図１４Ｅは、分離型適応的補間フィルタを適用する場合の小数画素位置の平行移動の関係の一例を示す図である。同図では、例えば、小数画素位置ｄの垂直補間フィルタｈj(q)（式１２参照）を水平方向に平行移動させた、すなわち、小数画素位置ｄの垂直補間フィルタを小数画素位置ｅ、ｆ及びｇにも適用する例を示している。小数画素位置ｈ、ｉ、ｊ、ｋとｌ、ｍ、ｎ、ｏとの関係についても同様である。【０２３６】
図１４Ｆは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係と平行移動の関係との一例を示す図である。図１４Ｆは、図１４Ｃと図１４Ｄと図１４Ｅとの組み合わせであり、適応的補間フィルタは、４つの独立小数画素位置の固有１次元補間フィルタからのみ構成される。【０２３７】
図１４Ｇは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係と平行移動の関係との一例を示す図である。同図では、水平方向に対称な対称フィルタを、垂直方向に対称な対称フィルタにも兼用した場合を示す。すなわち、小数画素位置ａと小数画素位置ｄとは回転対称の関係にある場合を示す。小数画素位置ａとｄとは共に、整数画素から１／４画素の位置にあるため、補間フィルタを兼用することが可能になる。同様に、小数画素位置ｂとｈとは共に、整数画素から１／２画素の位置にあるため、補間フィルタを兼用することが可能になる。【０２３８】
さらに、図１４Ｅに示したように、小数画素位置ｄの補間フィルタを小数画素位置ｅ、ｆ及びｇにも適用することができる。小数画素位置ｈ、ｉ、ｊ、ｋと、ｌ、ｍ、ｎ、ｏとの関係についても同様である。【０２３９】
これにより、図１４Ｇに示す例では、例えば、小数画素位置ａとｂとの２つの小数画素位置の１次元補間フィルタを決定するだけでよい。【０２４０】
ここで、映像復号装置２００が図６Ｂに示すフローチャートに従って、図１４Ｇに示す例における補間フィルタを復号及び決定する場合について説明する。例えば、まず、小数画素位置ａの補間フィルタを決定する場合について説明する。【０２４１】
小数画素位置ａの補間フィルタは、図１２（ａ）に示すようにフィルタ係数が対称ではないので（Ｓ３０１でＮｏ）、動き補償予測部２６０は、補間フィルタの全フィルタ係数を復号及び決定する（Ｓ３０３）。【０２４２】
小数画素位置ａは、小数画素位置ｃと対称関係にあるので、小数画素位置ａの補間フィルタをミラーリングすることで、小数画素位置ｃの補間フィルタを決定する。さらに、小数画素位置ａは、小数画素位置ｄと回転対称の関係にあるので、小数画素位置ａの補間フィルタを回転することで、小数画素位置ｄの補間フィルタを決定する。小数画素位置ｃと小数画素位置ｌとも回転対称の関係にあるので、同様にして小数画素位置ｌの補間フィルタも決定される。さらに、小数画素位置ｄと小数画素位置ｅとは、平行移動の関係にあるので、小数画素位置ｄの補間フィルタを平行移動させることで、小数画素位置ｅの補間フィルタを決定する。同様にして、小数画素位置ｆ、ｇ、ｍ、ｎ及びｏの補間フィルタも決定する（Ｓ３０４）。【０２４３】
ここで、動き補償予測部１６０は、まだ小数画素位置ｂの補間フィルタが決定されていないので（Ｓ３０５でＮｏ）、小数画素位置ｂの補間フィルタを決定する。小数画素位置ｂの補間フィルタは、図１１に示すようにフィルタ係数が対称であるので（Ｓ３０１でＹｅｓ）、補間フィルタのフィルタ係数の半分のみを復号し、復号したフィルタ係数をミラーリングすることで残りのフィルタ係数を決定する（Ｓ３０２）。【０２４４】
小数画素位置ｂは、小数画素位置ｈと回転対称の関係にあるので、小数画素位置ｂの補間フィルタを回転することで、小数画素位置ｈの補間フィルタを決定する。さらに、小数画素位置ｈと小数画素位置ｉとは、平行移動の関係にあるので、小数画素位置ｈの補間フィルタを平行移動させることで、小数画素位置ｉの補間フィルタを決定する。同様にして、小数画素位置ｊ及びｋの補間フィルタも決定する（Ｓ３０４）。【０２４５】
以上のようにして、全部の補間フィルタの復号及び決定が完了したので（Ｓ３０５でＹｅｓ）、この補間フィルタを用いて小数画素精度の動き補償を実行する。【０２４６】
なお、図６Ｂのフローチャートでは、１つの小数画素位置の補間フィルタを決定した場合に、当該小数画素位置と対称関係にある補間フィルタを全て決定する手順を示したが、予め定められた小数画素位置の順（例、ａ→ｂ→…→ｏ）に従って補間フィルタを決定してもよい。【０２４７】
この場合、対象となる小数画素位置が他の小数画素位置と対称関係にあるかが判定され、対称関係がない場合は、補間フィルタのフィルタ係数を決定する。対称関係があり、かつ、対称関係を有する他の小数画素位置の補間フィルタが既に決定されている場合は、ミラーリング、平行移動、又は、回転移動によって補間フィルタを決定する。なお、フィルタ係数を決定する際に、補間フィルタ自体が対称であるか否かが判定され、対称である場合は、補間フィルタの半分のフィルタ係数のみを決定し、決定したフィルタ係数をミラーリングすることで残りのフィルタ係数を決定する。【０２４８】
以上の処理を、小数画素位置の順（例、ａ→ｂ→…→ｏ）に行うことで、各小数画素位置の補間フィルタが決定される。【０２４９】
以上のように、動き補償予測部１６０は、上述の対称性及び限定、又は、それらの組み合わせのいずれかを用いることにより、補間フィルタの特性を必要に応じて設定する。これにより、例えば、独立フィルタ係数の数を減らせる可能性を利用して、できる限り予測誤差を低減した正確な補間フィルタと、独立フィルタ係数を多数符号化することにより生じるシグナリングオーバーヘッドとの間のトレードオフを最適化することができる。【０２５０】
通常、フィルタタイプを適応的に設定し、さらに、フィルタ係数も適応的に決定する場合、映像復号装置に伝送しなければならない符号量が非常に多くなる。これに対して、上述したように、小数画素位置の対称性と、補間フィルタ自体のフィルタ係数の対称性との２つの対称性を利用することで、決定及び符号化しなければならないフィルタの数を大幅に削減することができる。これにより、符号量が大幅に減少するので、高い予測効率を保ちつつ、符号化効率を高めることができる。【０２５１】
そのために、例えば、フィルタ特性を、画像内容、特に画像内に存在する動きの量に従って設定してもよい。また、フィルタ特性を、空間画像解像度に従って、又は、達成される圧縮率に応じて設定してもよい。例えば、フィルタ特性の候補のうちのどれが最適な圧縮率を提供するかに応じて、有限数のフィルタ特性の候補からフィルタ特性を選択してもよい。【０２５２】
また、動き補償予測部１６０は、フィルタ特性を、上述したように自動的に、又は、ユーザに最も適切なフィルタ特性を選択させるように手動で、設定してもよい。フィルタ特性の設定は、１つの動画につき１回だけ、又は、スライスごと又はシーケンスごとに、繰り返し行ってもよい。しかしながら、本発明の範囲内で、フィルタ特性は、様々な程度で頻繁に設定されてもよい。【０２５３】
（シグナリング）
以下に、エントロピー符号化部１９０が生成する符号化信号、すなわち、出力ビットストリームを映像復号装置（デコーダ）に伝送する（シグナリングする）処理について説明する。【０２５４】
本実施の形態の映像符号化装置１００（エンコーダ）では、フィルタ特性（フィルタタイプ、タップ数など）とフィルタ係数とが固定的ではないので、デコーダが入力された符号化映像データを復号できるように、フィルタ係数をシグナリングしなければならない。フィルタ係数セット内にフィルタ特性を設定するため、冗長性を活用することによりフィルタ係数を符号化映像データとともに符号化すれば、符号化効率を最適化できる。【０２５５】
例えば、別個の小数画素位置に対する対称補間フィルタは一度だけ符号化すればよい。同様に、自分自身で対称性があるフィルタ係数を有する補間フィルタは、先に符号化されたフィルタ係数からは再構成できないフィルタ係数のみを符号化することによって効率よく符号化できる。より一般的には、独立フィルタ係数の数を減らす補間フィルタのどの限定も、当該限定に従って先に符号化された係数からは得られないそれらのフィルタ係数だけを符号化することによって活用できる。例えば、２次元補間フィルタ自身の多数の係数を符号化するよりも２つの１次元補間フィルタのフィルタ係数を符号化することによって、分離形補間フィルタを符号化することが好ましい。【０２５６】
いずれの場合でも、シグナリングオーバーヘッドの低減のために活用されるフィルタ特性は、デコーダにもシグナリングされる必要がある。これは、明示的又は暗示的なシグナリング方法のいずれか一方で実現されてもよい。【０２５７】
明示的なシグナリングとは、フィルタ特性が符号化映像データとともに明示的に符号化されることを意味する。これにより、シグナリングオーバーヘッドが増加する代償として、所望の特性を設定することに対する最も高い柔軟性が与えられる。【０２５８】
一方、暗示的なシグナリングとは、エンコーダがどのようにフィルタ特性を選択したのかに関する予備知識に基づいて、デコーダがフィルタ特性に関する情報を得なければならないということを意味する。例えば、エンコーダは、対称補間フィルタのペアそれぞれの１つのみの補間フィルタを伝送してもよい。また、デコーダは、伝送されなかった補間フィルタは全て、伝送されたフィルタのうち対応する１つと対称性があると判断してもよい。シグナリングの本形式ではエンコーダとデコーダとの間で実際に用いる可能性がある対称性について取り決めが必要なため、柔軟性が低いことは明らかである。しかしながら、シグナリングオーバーヘッドは最小に抑えられる。【０２５９】
以下に、具体的なシグナリングの例をスライスレベルの典型的なシンタックスエレメントとともに示す。これらの例は、説明のためであって、本発明の範囲を限定するものではない。【０２６０】
第１のシグナリング例によると、対称フィルタを適用するか否かをシグナリングするために、フィルタタイプごとに１つのフラグのみが必要とされる。フィルタタイプ（例えば、分離型又は非分離型）ごとに、エンコーダ及びデコーダによって確定かつ識別される１つの固有の対称パターンがサポートされる。１つの対称パターンしかサポートされないので、このアプローチは、フィルタ係数のオーバーヘッド・ビットレートと、結果として生じる予測効率とのトレードオフを制御するような限定された柔軟性を提供する。【０２６１】
図１５は、本実施の形態のシグナリングを実行するための第１のシンタックスエレメントを示す図である。同図は、一例として、１／４画素精度で、かつ、６タップフィルタ長での予測時において、非分離型及び分離型フィルタの対称性をシグナリングするための、スライスレベルの典型的なシンタックスエレメントを示し、フィルタの対称性とフィルタとを暗示的にシグナリングする場合を示している。【０２６２】
ここで、ａｐｐｌｙ＿ａｄａｐｔｉｖｅ＿ｆｉｌｔｅｒは、固定フィルタ（非適応的フィルタ）の場合は０で、適応的フィルタの場合は１である。ｓｌｉｃｅ＿ｆｉｌｔｅｒ＿ｔｙｐｅ（スライスレベルの適応的フィルタ）は、非分離型フィルタの場合は０で、分離型フィルタの場合は１である。ａｐｐｌｙ＿ｓｙｍｍｅｔｒｉｃ＿ｆｉｌｔｅｒは、非対称フィルタの場合は０で、対称フィルタの場合は１である。ｕｓｅ＿ａｌｌ＿ｓｕｂｐｅｌ＿ｐｏｓｉｔｉｏｎｓは、小数画素位置全てを適応的フィルタで算出しない場合は０で、小数画素位置全てを適応的フィルタで算出する場合は１である。ｐｏｓｉｔｉｏｎｓ＿ｐａｔｔｅｒｎは、小数画素位置をシグナリングするバイナリマスクであって、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４の固定フィルタの場合は０で、適応的フィルタの場合は１で適応的フィルタが適用される。【０２６３】
ｍａｘ＿ｓｕｂ＿ｐｅｌ＿ｐｏｓの値は、ａｐｐｌｙ＿ｓｙｍｍｅｔｒｉｃ＿ｆｉｌｔｅｒの値によって決まる。非対称フィルタ（すなわち、ａｐｐｌｙ＿ｓｙｍｍｅｔｒｉｃ＿ｆｉｌｔｅｒ＝０）の場合、ｍａｘ＿ｓｕｂ＿ｐｅｌ＿ｐｏｓは、小数画素位置の総数に等しい（例えば、１／４画素動きベクトル解像度の場合：ｍａｘ＿ｓｕｂ＿ｐｅｌ＿ｐｏｓ＝１５）。対称フィルタ（すなわち、ａｐｐｌｙ＿ｓｙｍｍｅｔｒｉｃ＿ｆｉｌｔｅｒ＝１）の場合、ｍａｘ＿ｓｕｂ＿ｐｅｌ＿ｐｏｓは、活用する対称量に応じて、小数画素位置の総数より少なくなる。【０２６４】
対象フィルタの場合、すなわち、ａｐｐｌｙ＿ｓｙｍｍｅｔｒｉｃ＿ｆｉｌｔｅｒが１であれば、デコーダは欠落しているフィルタ係数を伝送されたフィルタ係数から復元する。【０２６５】
以上のように、第１のシグナリングシンタックスによれば、補間フィルタのフィルタタイプが、適応的／非適応的、分離型／非分離型、及び、対称／非対称のいずれであるかをそれぞれ示すためのフラグが用意されている。さらに、フィルタタイプが適応的であるか非適応的であるかを小数画素位置ごとに定めることができる。【０２６６】
第２のシグナリング例は、フィルタ特性の明示的なシグナリングを参照する。この例では、フィルタ係数のオーバーヘッド・ビットレートと、結果として生じる予測効率とのトレードオフを制御するための高い柔軟性を提供するために、対称性の明示的なシグナリングを用いる。全種類の対称性がデコーダにシグナリングされる。この概念では、対応する対称性をシグナリングするためのオーバーヘッド・ビットレートが増加することになってもよい。【０２６７】
第２のシグナリング例によると、フィルタＩＤが各別個のフィルタに割り当てられる。これにより、全種類の対称性とシグナリングの効率的な方法とが可能になる。図１６Ａ〜図１６Ｃでは、選択した対称パターンに対して異なるフィルタを伝送する必要がある。【０２６８】
図１６Ａは、小数画素位置における対称性の一例を示す図である。同図には、同じ形状（八角形又は丸）かつ同じ網掛けの小数画素位置の補間フィルタは、対称フィルタであることを示している。【０２６９】
図１６Ｂは、フィルタＩＤが割り当てられた小数画素位置の補間フィルタの一例を示す図である。同図は、図１６Ａに示すような対称性を有する小数画素位置の補間フィルタに対して、フィルタＩＤを割り当てた例を示している。すなわち、図１６Ｂに示すように、ａからｏまでの各小数画素位置へ、対応するフィルタＩＤが伝送される（図１６Ｂでは、｛１，２，１，３，４，５，６，７，８，９，１０，３，４，５，６｝）。なお、０の値は、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４などの非適応的フィルタである。【０２７０】
例えば、フィルタＩＤ１は、フィルタ係数｛ｃｏｅｆｆ１，ｃｏｅｆｆ２，ｃｏｅｆｆ３，ｃｏｅｆｆ４，ｃｏｅｆｆ５，ｃｏｅｆｆ６｝で小数画素位置ａ及びｃに割り当てられる。小数画素位置ａではフィルタを直接適用する。一方で、小数画素位置ｃではフィルタをミラーして（＝｛ｃｏｅｆｆ６，ｃｏｅｆｆ５，ｃｏｅｆｆ４，ｃｏｅｆｆ３，ｃｏｅｆｆ２，ｃｏｅｆｆ１｝）適用する。【０２７１】
フィルタをミラーする必要があるか否かを判断するために、デコーダは、スキャン中に対称フィルタＩＤが初めて出現するところを見つけなければならない。例えば、小数画素位置ｌにフィルタＩＤ３を割り当て、フィルタＩＤ３が小数画素位置ｄに初めて出現したとする。次の整数画素位置（又は、第１ステップで算出された小数画素位置（八角形））までの距離に応じて、位置ｌにおけるフィルタは位置ｄにおけるフィルタをミラーしたフィルタでなければならないことは明らかである。【０２７２】
図１７は、本実施の形態のシグナリングを実行するための第２のシンタックスエレメントの抜粋を示す図である。同図には、一例として、第２のシグナリング例における、１／４画素精度で、かつ、６タップフィルタ長での予測時において、フィルタの対称性とフィルタとを明示的にシグナリングする場合の典型的なシンタックスエレメントを示す。なお、本例では、シグナリングはスライスレベルで行われるが、本シグナリングは、シーケンス又はピクチャレベルでも可能である。さらに、シーケンスレベルでフィルタＩＤを伝送すること（対称パターンはシーケンス全体を通して同じになる）、及び、割り当てられたフィルタをピクチャ又はスライスレベルで更新することも可能である。なお、本発明を逸脱しない範囲で、その他の組み合わせも考えられる。【０２７３】
ここで、ａｐｐｌｙ＿ａｄａｐｔｉｖｅ＿ｆｉｌｔｅｒは、固定フィルタの場合は０で、適応的フィルタの場合は１である。ｓｌｉｃｅ＿ｆｉｌｔｅｒ＿ｔｙｐｅ（スライスレベル適応的フィルタ）は、非分離型フィルタの場合は０で、分離型フィルタの場合は１である。ｆｉｌｔｅｒ＿ｉｄ［ｓｕｂ＿ｐｅｌ］は、対応するフィルタを各小数画素位置に割り当てる。ｆｉｌｔｅｒ＿ｌｅｎｇｔｈ［ｆｉｌｔｅｒ＿ｎｕｍ］は、フィルタ長をシグナリングし、上述したようなフィルタの対称性を処理する。ｍａｘ＿ｆｉｌｔｅｒ＿ｎｕｍは、伝送しなければならないフィルタの最大数（図１６Ｂでは１０）をシグナリングし、フィルタＩＤの最大値と等しくなる。【０２７４】
以上のように、第２のシンタックスエレメントによれば、小数画素位置ごとに割り当てられたフィルタＩＤをシグナリングすることができ、さらに、伝送しなければならないフィルタの最大数をシグナリングすることができる。【０２７５】
第３のシグナリング例によると、上述したシグナリングに加えて、さらに、図１６Ｃに示すように、各小数画素位置の対称又は非対称を示すビットマスク（対称マスク）を伝送することが可能である。図１６Ｃは、小数画素位置の補間フィルタごとに対称性の利用の可否を示す対称マスクの一例を示す図である。対称マスクの値が０であることは、その小数画素位置に対して、新たなフィルタが伝送されたことをシグナリングする。対称マスクの値が１であることは、その小数画素位置に対して新たなフィルタが伝送されなかったことをシグナリングする。【０２７６】
図１６Ｃに示す例では、対称マスク（｛０，０，１，０，０，０，０，０，０，０，０，１，１，１，１｝）に加えて、１０個のフィルタ（対称マスクが０である小数画素位置の個数のフィルタ）を伝送する必要がある。これらのフィルタは、小数画素位置ａから小数画素位置ｏへの昇順で伝送される。【０２７７】
例えば、図１６Ｃに示すように、対称マスクによって小数画素位置ｃにおいて値１がシグナリングされれば、デコーダは位置ａに割り当てられたフィルタのミラーバージョンを使用しなければならないと識別できる。位置ｌの場合は、位置ｄのフィルタのミラーバージョンを適用しなければならない。【０２７８】
本概念を実現するには、ある小数画素位置（例えば、ｃ→ａ，ｌ→ｄ，ｍ→ｅ，…）において対称性がシグナリングされるのであれば、エンコーダとデコーダと共に同じフィルタペアを使用しなければならない。このことにより、設計の柔軟性は定義済みの対称ペアに限定されるが、対称性の明示的なシグナリングと比較してオーバーヘッドは低減する。それであっても、第１のシグナリング例で説明した対称性の暗示的なシグナリングよりも柔軟性に優れている。【０２７９】
第３のシグナリング例の典型的なシンタックスを図１８に示す。図１８は、本実施の形態のシグナリングを実行するための第３のシンタックスエレメントの抜粋を示す図である。【０２８０】
ここで、ａｐｐｌｙ＿ａｄａｐｔｉｖｅ＿ｆｉｌｔｅｒは、固定フィルタの場合は０で、適応的フィルタの場合は１である。ｓｌｉｃｅ＿ｆｉｌｔｅｒ＿ｔｙｐｅ（スライスレベル適応的フィルタ）は、非分離型フィルタの場合は０で、分離型フィルタの場合は１である。ｓｙｍｍｅｔｒｙ＿ｍａｓｋは、対称性をシグナリングするバイナリパターンであり、そのバイナリパターンの最上位ビット（ＭＳＢ：Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）信号が小数画素位置ａを反映し、最下位ビット（ＬＳＢ：Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）信号が小数画素位置ｏを反映する。ｆｉｌｔｅｒ＿ｌｅｎｇｔｈ［ｆｉｌｔｅｒ＿ｎｕｍ］は、フィルタ長をシグナリングし、上述したようなフィルタの対称性を対処する。【０２８１】
ｍａｘ＿ｆｉｌｔｅｒ＿ｎｕｍの値は、伝送しなければならないフィルタ数（ここでは、１０）を指定し、ｍａｘ＿ｆｉｌｔｅｒ＿ｎｕｍは、１５からｓｙｍｍｅｔｒｙ＿ｍａｓｋのシグナリングされた対称の数（図１６Ｃでは、５）を引いたものと等しくなる。【０２８２】
以上のように、第３のシンタックスエレメントによれば、対称マスクを設定することで、どの小数画素位置の補間フィルタが対称フィルタであるかを容易に判別することができる。【０２８３】
第４のシグナリング例では、上述したフィルタ特性を（式６）〜（式１４）とともに参照する。本シグナリング例の典型的なシンタックスの抜粋を図１９に示す。【０２８４】
図１９は、本実施の形態のシグナリングを実行するための第４のシンタックスエレメントの抜粋を示す図である。【０２８５】
ここで、ａｐｐｌｙ＿ａｄａｐｔｉｖｅ＿ｆｉｌｔｅｒは、固定フィルタの場合は０で、適応的フィルタの場合は１である。ｆｉｌｔｅｒ＿ｔｙｐｅは、非分離型フィルタの場合は０、分離型フィルタの場合は１（式１１参照）。水平の平行移動に不変な垂直補間フィルタの分離型フィルタの場合は２（式１２参照）、垂直の平行移動に不変な水平補間フィルタの分離型フィルタの場合は３（式１３参照）、整数画素行／列の１次元補間かつ垂直の平行移動に不変な水平補間フィルタの分離型フィルタの場合は４（式１４参照）である。【０２８６】
ｓｙｍｍｅｔｒｙ  ｔｙｐｅは、非対称フィルタの場合は０、水平対称フィルタの場合は１（式６参照）、垂直対称フィルタの場合は２（式７参照）、対角対称フィルタの場合は３（式８参照）、ｐ≠ｑの対角対称フィルタの場合は４（ｐ≠ｑの場合の式８参照）である。ｆｕｌｌ＿ｐｅｌ＿ｒｏｗ＿ｃｏｌｕｍｎ＿ｉｎｔｅｒｐｏｌａｔｉｏｎ＿ｔｙｐｅは、２次元補間の場合は０、整数画素列の１次元補間の場合は１（式６参照）、整数画素行の１次元補間の場合は２（式７参照）、整数画素列及び整数画素行の１次元補間の場合は３である。ｆｉｌｔｅｒ＿ｌｅｎｇｔｈ［ｆｉｌｔｅｒ＿ｎｕｍ］は、フィルタ長をシグナリングする。ｆｉｌｔｅｒ＿ｃｏｅｆには、量子化されたフィルタ係数が含まれる。ｍａｘ＿ｆｉｌｔｅｒ＿ｎｕｍは、伝送されたフィルタタイプ及び対称性から決定されるフィルタの数である。【０２８７】
本発明の実施の形態によると、非分離型と分離型フィルタとの切換は、小数画素位置に依存して行うことが可能である。全体的な動きの場合、１つのピクチャ内の大部分の動きベクトルは、１つの特定の小数画素位置を指す。したがって、対称性を活用せずに非分離型フィルタを適用することによって、この小数画素位置に対して最も高い予測効率を得ることが有益である。その他の小数画素位置全てに対しては（ローカルな動きの場合）、低レベルでフィルタリングする複雑性だけでなくオーバーヘッド・ビットレートも維持するためだけに分離型フィルタを適用することが効果的であると考えられる。【０２８８】
このような分離型及び非分離型フィルタの小数画素位置に依存したシグナリングは、シーケンスレベル（ＳＰＳ）、ピクチャレベル（ＰＰＳ）、スライスレベル、マクロブロックレベルに至るまで行うことが可能である。【０２８９】
以下の第５のシグナリング例は、ひとつの非分離型フィルタ、いくつかの分離型フィルタ、及び非分離型フィルタの位置を含むシンタックスを示している。非分離型フィルタを２以上伝送することも可能である点に留意されたい。【０２９０】
図２０は、本実施の形態のシグナリングを実行するための第５のシンタックスエレメントの抜粋を示す図である。【０２９１】
ここで、ａｐｐｌｙ＿ａｄａｐｔｉｖｅ＿ｆｉｌｔｅｒは、固定フィルタの場合は０で、適応的フィルタの場合は１である。ｐｏｓ＿ｏｆ＿ｎｏｎ＿ｓｅｐ＿ｆｉｌｔｅｒは、非分離型フィルタを適用する小数画素位置をシグナリングし、つまり、小数画素位置ａの場合は０で、小数画素位置ｏの場合は１５であり、その一方で、分離型フィルタをその他の小数画素位置全てに適用する。ｆｉｌｔｅｒ＿ｃｏｅｆ＿ｎｏｎ＿ｓｅｐには非分離型フィルタひとつの係数が含まれる。ｆｉｌｔｅｒ＿ｃｏｅｆ＿ｓｅｐには、１／４画素予測精度の場合、分離型フィルタ１４個分の係数が含まれる。【０２９２】
（差分符号化）
非対称フィルタの場合、オーバーヘッドのデータ量を削減するため、小数画素位置に応じて、フィルタ係数の差分符号化を適用することができる。この考えでは、フィルタを信号統計へ最適化することを可能にするため非対称フィルタを算出するが、ある小数画素位置におけるフィルタ係数の類似性を活用し、それらの位置におけるフィルタ係数の差分符号化を適用して、オーバーヘッドのデータ量を削減する。このように、フィルタは同時に最適化されず、予測効率の損失もない。【０２９３】
例えば、動き補償予測部１６０は、内部のメモリ１６１に直前のスライス又はピクチャのフィルタ係数などを格納させる。そして、動き補償予測部１６０は、内部に備える差分算出部（図示せず）を用いて、メモリ１６１に保持されたフィルタ係数と、新たに決定したフィルタ係数との差分を算出し、算出した差分のみをエントロピー符号化部１９０に供給する。なお、差分の対象となるフィルタ係数は、同一画素位置の補間フィルタのフィルタ係数が望ましい。同一画素位置の補間フィルタの方が、相関が高いことが多いためである。【０２９４】
なお、メモリ１６１に保持させるフィルタ係数は、予め定められたデフォルトの補間フィルタのフィルタ係数でもよい。デフォルトの補間フィルタは、例えば、非適応補間フィルタとして用いられるフィルタである。【０２９５】
例えば、分離型フィルタの場合、シグナリングオーバーヘッド量は、垂直方向の補間フィルタのフィルタ係数ｈj(p,q)（（式１１）参照）を、（式１５）に示すように水平方向に隣接する補間フィルタへの偏差のみという観点で伝送することによって、削減されると考えられる。【０２９６】
【数１５】
2009047917.tif 000017
【０２９７】
または、（式１６）に示すように、対応する整数画素列の補間フィルタｈj(0,q)への偏差という観点で、垂直方向の補間フィルタのフィルタ係数ｈj(p,q)を伝送する。【０２９８】
【数１６】
2009047917.tif 000018
【０２９９】
このように、垂直方向の１次元補間フィルタは、水平小数画素の平行移動に対して「ほぼ」不変である可能性が高いという事実を活用する。ゆえに、整数画素行に対応するフィルタ係数のみをそのまま伝送する必要があり、小数画素行のフィルタ係数は差分法で符号化される。【０３００】
同様に、フィルタ係数の差分符号化を、上述した適応的補間フィルタの限定及び対称性のいずれかに適用する。図１２に示すような２つの「ほぼ」対称な小数画素固有補間フィルタの場合、それらのうち一方だけをそのまま符号化し、他方は、第１フィルタの対応係数に対する個々のフィルタ係数の差分のみを差分符号化する。例えば、垂直軸に対して垂直な場合（（式６）参照）は、フィルタ係数の差分は（式１７）となる。【０３０１】
【数１７】
2009047917.tif 000019
【０３０２】
また、同様に、図１１に示すような自分自身で「ほぼ」対称なフィルタ係数を有する小数画素固有補間フィルタは、係数の前半部分（つまり、垂直軸に対して対称な場合にはｉ≦０の係数、（式６）参照）はそのまま符号化し、（式１８）に示すように、係数の後半部分（つまり、ｉ＞０）は対称性からの偏差のみを伝送することによって符号化してもよい。【０３０３】
【数１８】
2009047917.tif 000020
【０３０４】
差分符号化に用いられる対称性は、デコーダへシグナリングされなければならない。これは、上記のシグナリング例に沿って暗示的又は明示的に実現できる。しかしながら、差分符号化に用いられる対称性は一連のフィルタ特性と別物でなければならないこと（そうでなければ、この対称性からの偏差全てが０になる）及び別々にシグナリングされなければならないことに留意されたい。【０３０５】
以上のように、フィルタ係数そのものの値ではなく、フィルタ係数の差分値を符号化することで、符号化しなければならないデータ量をさらに削減することができ、符号化効率を高めることができる。【０３０６】
以上のように、本発明は、小数画素精度の動き補償予測を用いるハイブリッド映像符号化装置及び映像復号装置に関し、予測精度とシグナリングオーバーヘッドとの間のトレードオフを最適化する適応的補間フィルタを用いる。この目的のために、適応的補間フィルタの対称性及びその他の限定などの特性を前もって設定する。これにより、独立フィルタ係数の数を制御できることができる。【０３０７】
さらに、適応的補間のフィルタ係数は設定したフィルタ特性により決定される。また、映像復号装置が全く同じ補間を動き補償予測に適用できるように、フィルタ係数は映像復号装置に送信される。シグナリングオーバーヘッドは、設定されたフィルタ特性に従って係数を符号化することによっても低減される。【０３０８】
以上、本発明の映像符号化方法、映像復号方法及びこれらの装置について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を当該実施の形態に施したものも、本発明の範囲内に含まれる。【０３０９】
上述した手法に加えて、いくつかの他のアプローチを適用することにより、オーバーヘッド情報のビットレートを、さらに、削減することが可能である。典型的な手法を以下に３つ述べる。【０３１０】
いくつかのピクチャに対してシーケンスの統計量及び特性が類似している場合、「上位レベル」のフィルタを参照してフィルタを差分符号化することにより、フィルタ係数の伝送ビットレートを低減することが可能である。例えば、各小数画素位置のフィルタをシーケンスレベル（ＳＰＳ）で伝送すると仮定する。この場合、前述のシーケンスレベルフィルタと対象フィルタ（ピクチャレベル、スライスレベル）との差分だけを伝送することが可能である。【０３１１】
このアプローチは、参照スライスレベルフィルタと予測マクロブロックレベルフィルタとなどにも適用することができる。さらに、ピクチャレベル、スライスレベル、又は、マクロブロックレベルで、シーケンスレベルで伝送された参照フィルタの使用をシグナリングするフラグ、又は、次に伝送される新たなフィルタの使用をシグナリングするフラグを伝送することも可能である。しかしながら、前述の手法にはエラーを起こしやすいという欠点がある。伝送エラーのために参照フィルタが失われれば、予測フィルタを復元することはできない。【０３１２】
さらに、フィルタ係数の時間予測を行うこと、つまり、あるピクチャ（スライス）から次のピクチャ（スライス）までのフィルタ係数の差分だけを符号化することができる。また、これを異なる参照ピクチャの動き検出と関連付けてもよい。つまり、動き検出中に参照ピクチャを決定するとすぐに、対応する参照ピクチャに使用されたフィルタを参照して予測に使用されたフィルタ係数を符号化する。しかしながら、この手法でもエラーは発生しやすい。伝送エラーのために参照フィルタが失われれば、予測フィルタを復元することはできない。【０３１３】
オーバーヘッド・ビットレートは、エンコーダ及びデコーダが識別できる参照テーブルを適用することによって最小限まで削減することが可能である。シーケンスを広範囲にわたって診断することにより、小数画素位置に依存するフィルタの固定的な設定を定義することができる。【０３１４】
映像符号化装置は、アプリケーション及び最適化基準（高予測効率、低複雑性）に応じて最もよいフィルタを選択し、対応するテーブルインデックスのみを伝送する。映像復号装置はフィルタ参照テーブルを識別できるので、伝送されたテーブルインデックスからフィルタを復元できる。しかしながら、このアプローチには、フィルタが信号統計に精度よく合わせることができないため、予測効率が低減するという欠点がある。また、参照テーブルのインデックスを伝送でき、さらに、参照テーブルから選ばれたフィルタと比較したフィルタ差分を伝送することができる。【０３１５】
また、固定フィルタと適応的フィルタとを切り替えることも可能である。固定フィルタの適用には、さらなるフィルタ情報を伝送する必要はないという利点がある。適応的フィルタの適用には、フィルタを信号統計に合わせられるという利点がある。固定フィルタと適応的フィルタの切換は、結果として生じるオーバーヘッド・ビットレートも考慮するレートひずみ基準を適用することによって行われてもよい。【０３１６】
このような切換は、シーケンスレベル（ＳＰＳ）、ピクチャレベル（ＰＰＳ）、スライスレベル、マクロブロックレベル又は小数画素位置依存で行うことが可能である。固定フィルタは、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４などの標準規格フィルタであってもよい。差分手法をフィルタ切換情報の符号化に適用してもよい。各ビットが、ある小数画素位置の固定フィルタ又は適応的フィルタをシグナリングする１５ビットマスクを考慮してもよい。【０３１７】
なお、本発明は、上述したように、映像符号化方法、映像復号方法及びそれらの装置として実現できるだけではなく、本実施の形態の映像符号化方法及び映像復号方法をコンピュータに実行させるためのプログラムとして実現してもよい。また、当該プログラムを記録するコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体として実現してもよい。さらに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、これらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信されてもよい。【０３１８】
また、本発明は、映像符号化装置及び映像復号装置を構成する構成要素の一部又は全部を、１個のシステムＬＳＩから構成してもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ及びＲＡＭなどを含んで構成されるコンピュータシステムである。
【産業上の利用可能性】
【０３１９】
本発明の映像符号化方法及び映像復号方法は、予測効率及び符号化効率を最適化できるという効果を奏し、例えば、映像符号化装置、映像復号装置、ビデオカメラ、及び、カメラ付携帯電話などに適用することができる。
【図１】
2009047917.tif 000021
【図２】
2009047917.tif 000022
【図３】
2009047917.tif 000023
【図４】
2009047917.tif 000024
【図５】
2009047917.tif 000025
【図６Ａ】
2009047917.tif 000026
【図６Ｂ】
2009047917.tif 000027
【図７】
2009047917.tif 000028
【図８】
2009047917.tif 000029
【図９】
2009047917.tif 000030
【図１０】
2009047917.tif 000031
【図１１】
2009047917.tif 000032
【図１２】
2009047917.tif 000033
【図１３Ａ】
2009047917.tif 000034
【図１３Ｂ】
2009047917.tif 000035
【図１３Ｃ】
2009047917.tif 000036
【図１３Ｄ】
2009047917.tif 000037
【図１３Ｅ】
2009047917.tif 000038
【図１３Ｆ】
2009047917.tif 000039
【図１４Ａ】
2009047917.tif 000040
【図１４Ｂ】
2009047917.tif 000041
【図１４Ｃ】
2009047917.tif 000042
【図１４Ｄ】
2009047917.tif 000043
【図１４Ｅ】
2009047917.tif 000044
【図１４Ｆ】
2009047917.tif 000045
【図１４Ｇ】
2009047917.tif 000046
【図１５】
2009047917.tif 000047
【図１６Ａ】
2009047917.tif 000048
【図１６Ｂ】
2009047917.tif 000049
【図１６Ｃ】
2009047917.tif 000050
【図１７】
2009047917.tif 000051
【図１８】
2009047917.tif 000052
【図１９】
2009047917.tif 000053
【図２０】
2009047917.tif 000054
【手続補正書】
【提出日】平成22年4月9日(2010.4.9)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像符号化方法及び映像復号方法に関し、特に、適応的補間フィルタを用いて小数画素精度の動き補償予測に基づいた映像符号化方法及び映像復号方法に関する。
【背景技術】
【０００２】
ハイブリッド符号化技術では、予測誤差の変換符号化を伴う動き補償予測を適用している。特に小数画素精度の動きベクトルでは、エイリアシング、量子化誤差、間違った動き検出での誤差、及び、カメラノイズなどの影響は、予測効率を制限してしまう。適応的補間フィルタリングのコンセプトは、これらに対する解決策を提供しようとするものである。
【０００３】
実験によれば、信号特性に応じて分離型又は非分離型の適応的補間フィルタを適用することが有用であると分かった。また、一方で、フィルタ係数の伝送のオーバーヘッドのデータ量を低減するためには、対称フィルタを適用することが有用であると考えられる。一方で、予測に用いる最適な補間信号を得て最もよい符号化効率ゲインを達成するためには、非対称フィルタを適用することが必要であると考えられる。
【０００４】
図１は、従来の映像符号化装置の構成の一例を示すブロック図である。同図の映像符号化装置３００は、入力画像（入力信号）の対象ブロックと、メモリ１４０に格納されている先に符号化及び復号されたブロックに基づく対象ブロックの予測信号との差分を決定する減算器１１０を備える。具体的には、Ｈ．２６４／ＡＶＣ規格に従って、入力画像はマクロブロックに分割される。映像符号化装置３００は、入力画像である入力映像シーケンスの対象ブロックと、先に符号化及び復号されたブロック（ローカル復号画像）とに基づく予測信号との差分だけを伝送する差分パルス符号変調（ＤＰＣＭ：Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）手法を用いている。減算器１１０は、符号化の対象ブロックを受け取り、受け取った対象ブロックから予測信号を減算することで、差分（予測誤差とも記載する）を算出する。
【０００５】
変換／量子化部１２０は、結果として生じる予測誤差を空間領域から周波数領域に変換し、得られた変換係数を量子化する。
【０００６】
ローカル復号画像は、映像符号化装置３００に組み込まれた復号部（逆量子化／逆変換部１３０、加算器１３５及びデブロッキングフィルタ１３７）によって提供される。この復号部は、符号化ステップの逆の順序で実行する。つまり、逆量子化／逆変換部１３０は、量子化係数を逆量子化し、逆変換を逆量子化係数に適用する。加算器１３５は、復号された差分を予測信号に加算して、ローカル復号画像を形成する。さらに、デブロッキングフィルタ１３７は、復号画像のブロック歪み（ブロッキングアーティファクト）を低減する。
【０００７】
映像符号化装置３００によって使用される予測タイプは、マクロブロックが「イントラ」モード又は「インター」モードで符号化されるかどうかに依存する。「イントラ」モードでは、映像符号化規格であるＨ．２６４／ＡＶＣは、次のマクロブロックを予測するために、同じ画像の中で既に符号化されたマクロブロックに基づく、予測の仕組みを用いる。「インター」モードでは、いくつかの連続するピクチャの対応するブロック間の動き補償予測が用いられる。
【０００８】
イントラ符号化画像（Ｉ−タイプ画像）だけは、先に復号された画像を参照することなく、符号化される。このＩ−タイプ画像には、符号化映像シーケンスに対する誤り耐性（誤差の回復力）を持たしている。さらに、符号化映像シーケンスに含まれる画像の中でＩ−タイプ画像にアクセスするために、符号化データのビットストリームへのエントリーポイントを規定する。イントラモード（イントラフレーム予測部１５０による処理）とインターモード（動き補償予測部３６０による処理）との切換は、イントラ／インター切換スイッチ１８０によって制御される。
【０００９】
「インター」モードでは、マクロブロックは、動き補償を使用することで、先のピクチャの対応するブロックから予測される。動き検出は、対象入力信号とローカル復号画像とを受信する動き検出部１７０によって達成される。動き検出により、対象ブロックと先のピクチャの対応するブロックとの間の画素の位置ずれ（動き）を表す２次元の動きベクトルが生成される。検出された動きに基づいて、動き補償予測部３６０は予測信号を出力する。
【００１０】
予測精度を最適化するために、動きベクトルを小数画素精度で、例えば、１／２画素精度又は１／４画素精度で決定してもよい（特許文献１参照）。小数画素精度の動きベクトルは、画素値が利用できない先のピクチャ内の位置（すなわち、小数画素位置）を指してもよい。したがって、動き補償を行うには画素値の空間補間が必要である。Ｈ．２６４／ＡＶＣ規格では、小数画素位置の画素値を得るために、固定フィルタ係数の６タップウィナー補間フィルタ及び双線形フィルタが適用される。補間プロセスは、次のように行われる。
【００１１】
１．１／２画素位置を、６タップフィルタを用いて水平及び垂直方向に算出する。
【００１２】
２．１／４画素位置を、既存の整数画素位置の画素値だけでなく、すでに算出した１／２画素値を利用する双線形フィルタリングを用いて算出する。
【００１３】
フィルタ係数は、固定であるため、映像復号装置は、フィルタ係数を識別することができる。このため、フィルタ係数を映像復号装置に伝送するためのオーバーヘッドデータは、必要ではない。
【００１４】
「イントラ」及び「インター」符号化モードともに、対象信号と予測信号との差分は、変換／量子化部１２０によって変換係数へ変換される。通常、２次元の離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ）又はその整数バージョンなどの直交変換が使用される。
【００１５】
変換係数は、符号化しなければならないデータ量を削減するために量子化される。量子化ステップは、精度と、各々の周波数係数を符号化するのに用いられるビット数とを記した量子化テーブルによって制御される。通常、画質にとって低周波成分が微細な内容より重要であり、その結果、低周波成分の符号化には高周波成分よりも多くのビットが費やされる。
【００１６】
量子化の後、変換係数の２次元配列は、エントロピー符号化部３９０に通すために、１次元の列に変換される。この変換は、予め定められたシーケンスで、配列をスキャンすることによって行われる。こうして得られた量子化変換係数の１次元シーケンスは、ランレベルと呼ばれる数の組からなる列に圧縮される。そして、ランレベルシーケンスは、可変長の２値の符号語（ＶＬＣ：Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｅ）に符号化される。この符号は、より短い符号語が、典型的な映像において頻出するランレベルの組に割り当てられるように最適化される。その結果生じるビットストリームは、動き情報と多重化されて、記録媒体に保存されるか又は映像復号装置側に伝送される。
【００１７】
映像復号装置は、映像符号化装置側から伝送されたビットストリームを基にして、符号化画像を再構成する場合、符号化プロセスと逆の方法で復号を行う。
【００１８】
図２は、従来の映像復号装置の構成の一例を示すブロック図である。同図の映像復号装置４００において、まず、エントロピー復号部４９１によってエントロピー符号化された動きデータと変換係数とがエントロピー復号される。また、逆変換に必要なため、このステップには、復号済み変換係数のシーケンスを２次元データブロックに変換する逆スキャンが含まれる。そして、変換係数の復号済みブロックは、逆量子化／逆変換部２３０に出力され、復号済み動きデータは、動き補償予測部４６０に送られる。動きベクトルの実際の値に応じて、動き補償を行うために画素値の補間が必要になる可能性がある。逆量子化及び逆変換の結果には予測誤差が含まれ、加算器２３５は、この予測誤差と、インターモードの動き補償予測部４６０又はイントラモードのイントラフレーム予測部２５０によって生成される予測信号とを加算する。その結果、再構成された画像は、デブロッキングフィルタ２３７に出力され、デブロッキングフィルタ２３７によって処理された復号済みの信号は、イントラフレーム予測部１５０及び動き補償予測部４６０に用いられるメモリ１４０に格納される。
【００１９】
以上のように、従来の映像符号化装置３００では、固定的なフィルタ係数を持つ補間フィルタを用いて、より精度の高い動き補償を行い、高精度な予測に基づいて入力画像を符号化することができる。また、従来の映像復号装置４００では、高精度な予測に基づいて符号化された画像を再構成することができる。
【００２０】
さらに、Ｈ．２６４／ＡＶＣに続く規格では、予測精度と圧縮効率とを改善するために、予め定められた補間フィルタ（非適応的補間フィルタ）を、処理対象の映像の統計特性に応じて適応的に変更することができる適応的補間フィルタに置き換えることが検討されている。つまり、符号化効率は、予測精度にかなり依存し、予測精度は、動き検出及び動き補償の精度に依存する。動き補償予測部３６０が用いた固定補間フィルタを、映像に含まれる画像の統計特性に合わせた適応的補間フィルタで置き換えることにより、動き補償の精度を向上させてもよい。
【００２１】
今のところ、適応的補間フィルタの主な実装方法には２つ、つまり、分離型フィルタ又は非分離型フィルタに基づいた実装方法がある。分離型フィルタは、２つの１次元の補間フィルタに分離可能である。この２つの１次元の補間フィルタを連続的に適用することで、非分離型フィルタを適用する場合と同じ効果が得られる。非分離型フィルタは、２次元の補間フィルタであり、１次元の補間フィルタには分離することができない。
【００２２】
どちらのフィルタを実装する場合でも、不変な画像統計値に合わせたフィルタを適用することができるため、符号化効率は改善されるという長所がある。この長所に加え、各実装方法には、計算の複雑性及び符号化効率の点でそれ自身の長所及び短所がある。それらを以下にまとめる。
【００２３】
分離型適応的補間フィルタの独立フィルタ係数の数は、非分離型適応的補間フィルタよりも少ないため、フィルタを利用し、かつ、符号化する際の計算の複雑性は軽減される。しかしながら、これはまた、非分離型フィルタと比べて自由度が減り、予測効率を改善する可能性が低くなることを意味している。非分離型フィルタよりも符号化効率が低いことにつながるかもしれない。
【００２４】
非分離型適応的補間フィルタは、分離型適応的補間フィルタに比べて、自由度が高く、予測効率及び符号化効率をより改善することができる。しかしながら、分離型適応的補間フィルタに比べて、独立フィルタ係数の数が多いために、計算の複雑度が増加する。
【００２５】
したがって、いずれのフィルタを適用するかをユーザが指定することで、どちらの実装方法もユーザの要求に応じて有益なものとなる。ある実装方法の計算が複雑でもよいのであれば、非分離型補間フィルタを適用することによって、最適な予測効率を得ることが可能である。逆に、ある実装方法の計算を複雑にできないのであれば、最適な予測効率をおそらくは得ることができない分離型フィルタを適用することで、計算を簡単化することができる。
【先行技術文献】
【特許文献】
【００２６】
【特許文献１】米国特許出願公開第２００６／０２９４１７１号明細書
【発明の概要】
【発明が解決しようとする課題】
【００２７】
しかしながら、上記従来技術では、予測効率及び符号化効率を最適化することができないという課題がある。
【００２８】
上記従来技術では、フィルタ係数を適応的に設定することができても、フィルタのタイプが固定的である。逆に、適応的／非適応的、又は、分離型／非分離型などのフィルタタイプを適応的に設定することができても、フィルタのタップ数及びフィルタ係数は固定的である。したがって、上記従来技術では、予測効率と符号化効率とを最適化することができない。
【００２９】
そこで、本発明は、予測効率と符号化効率とを最適化することができる映像符号化方法、映像復号方法及び対応する装置を提供することを目的とする。
【課題を解決するための手段】
【００３０】
上記課題を解決するため、本発明の映像符号化方法は、映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する映像符号化方法であって、前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを前記入力画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、前記動き補償ステップで生成された予測画像と、前記入力画像との差分を算出することで予測誤差を生成する減算ステップと、前記減算ステップで生成された予測誤差を符号化する符号化ステップとを含む。
【００３１】
これにより、フィルタの特性とフィルタ係数とを同時に適応的に決定することができるので、予測効率と符号化効率とを最適化することができる。
【００３２】
また、前記符号化ステップでは、さらに、フィルタ決定ステップで設定されたフィルタ特性を符号化してもよい。
【００３３】
これにより、フィルタ特性を符号化ビットストリームに多重化することができ、当該符号化ビットストリームを受信した映像復号装置側で、符号化ビットストリームを正しく復号することができる。
【００３４】
また、前記フィルタ特性は、前記適応的補間フィルタのフィルタタイプを示す情報であり、前記符号化ステップでは、さらに、前記フィルタ決定ステップで設定された適応的補間フィルタのフィルタタイプが、適応型又は非適応型、分離型又は非分離型、及び、対称又は非対称のうち少なくとも１つを示す情報を符号化してもよい。
【００３５】
これにより、例えば、設定された補間フィルタが分離型補間フィルタである場合は、計算は複雑になる、すなわち、符号化効率は悪くなるが、高い精度で動き補償を行うことができる。また、設定された補間フィルタが非分離型補間フィルタである場合は、予測の自由度は制限されるが、計算を簡単にすることができ、すなわち、符号化しなければならないデータ量を削減することができる。また、設定された補間フィルタが非対称フィルタである場合は、計算は複雑になる、すなわち、符号化効率は悪くなるが、高い精度で動き補償を行うことができる。また、設定された補間フィルタが対称フィルタである場合は、符号化しなければならないデータ量を削減することができるので、符号化効率を高めることができる。
【００３６】
また、前記符号化ステップでは、さらに、フィルタ決定ステップで決定された複数のフィルタ係数を符号化してもよい。
【００３７】
これにより、フィルタ係数を符号化ビットストリームに多重化することができ、当該符号化ビットストリームを受信した映像復号装置側で、受信したフィルタ係数とフィルタ特性とに基づいてより正確な動き補償を行うことができる。したがって、符号化ビットストリームから元の映像を正しく復元することができる。
【００３８】
また、前記符号化ステップでは、前記複数のフィルタ係数間の対称性を利用することで、前記複数のフィルタ係数の冗長部分を除いて、前記複数のフィルタ係数を符号化してもよい。
【００３９】
これにより、より符号化効率を高めることができる。
【００４０】
また、前記符号化ステップでは、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化してもよい。
【００４１】
一般的に、小数画素の位置が対称関係にある場合、それぞれの小数画素の補間フィルタは互いにミラーの関係にあり、対応するフィルタ係数は同じ値、又は、類似した値になることが多い。このため、対応するフィルタ係数間で差分を算出し、算出した差分を符号化することで、符号化しなければならないデータ量を大幅に削減することができる。
【００４２】
また、前記符号化ステップでは、互いに平行移動の対称関係を有する少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化してもよい。
【００４３】
一般的に、小数画素の位置が平行移動の対称関係にある場合、それぞれの小数画素の補間フィルタは互いに同じである、又は、類似していることが多い。すなわち、それぞれの補間フィルタの対応するフィルタ係数は、同じ値、又は、類似した値になることが多い。このため、対応するフィルタ係数間で差分を算出し、算出した差分を符号化することで、符号化しなければならないデータ量を大幅に削減することができる。
【００４４】
また、前記符号化ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数間での差分を符号化してもよい。
【００４５】
これにより、補間フィルタがそれ自身で対称である場合、対称関係にある２つのフィルタ係数は、同じ値、又は、類似した値になるので、対称関係にあるフィルタ係数間で差分を算出し、算出した差分を符号化することで、符号化しなければならないデータ量を大幅に削減することができる。
【００４６】
また、前記符号化ステップでは、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素のうち、１つの小数画素の適応的補間フィルタの複数のフィルタ係数を符号化してもよい。
【００４７】
上述したように、小数画素の位置が対称関係にある場合、それぞれの小数画素の補間フィルタは互いにミラーの関係にあり、対応するフィルタ係数は同じ値、又は、類似した値になることが多い。したがって、対称関係にある補間フィルタのうち、１つのみの補間フィルタの複数のフィルタ係数だけを決定するだけでよいので、フィルタ係数の決定に関わる計算量を削減し、かつ、符号化しなければならないデータ量を大幅に削減することができる。対称関係にある補間フィルタは、フィルタ係数を決定した補間フィルタとミラー関係にある補間フィルタであるとみなすことができる。
【００４８】
また、前記符号化ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数ごとに１つのフィルタ係数を符号化してもよい。
【００４９】
上述したように、補間フィルタがそれ自身で対称である場合、対称関係にある２つのフィルタ係数は、同じ値、又は、類似した値になるので、対称関係にあるフィルタ係数のうち１つのフィルタ係数のみを決定するだけでよいので、フィルタ係数の決定に関わる計算量を削減し、かつ、符号化しなければならないデータ量を大幅に削減することができる。対称関係にあるフィルタ係数は、決定したフィルタ係数と同じであるとみなすことができる。
【００５０】
また、前記フィルタ特性は、前記適応的補間フィルタのサイズを示す情報であり、前記符号化ステップでは、さらに、前記フィルタ決定ステップで設定された適応的補間フィルタのサイズを示す情報を符号化してもよい。
【００５１】
これにより、補間フィルタのサイズを示す情報を符号化ビットストリームに多重化することができ、当該符号化ビットストリームを受信した映像復号装置側で、符号化ビットストリームを正しく復号することができる。
【００５２】
また、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性をスライス単位で設定してもよい。
【００５３】
また、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性を前記映像データ全体に１つのみ設定してもよい。
【００５４】
また、本発明の映像復号方法は、符号化ストリームから再構成された再構成画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記符号化ストリームを復号する映像復号方法であって、前記符号化ストリームに含まれる符号化された予測誤差を復号する復号ステップと、前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを、既に生成済みの再構成画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、前記動き補償ステップで生成された予測画像と、前記復号ステップで復号された予測誤差とを加算することで、前記再構成画像を生成する加算ステップとを含む。
【００５５】
これにより、小数画素精度の動き補償を行うことで、より精度の高い復元画像を生成することができる。
【００５６】
また、前記復号ステップでは、さらに、前記符号化ストリームに含まれる前記適応的補間フィルタのフィルタ特性を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ特性に従って、複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定してもよい。
【００５７】
これにより、符号化ストリームからフィルタ特性を復元することができるので、符号化された映像がどのようなフィルタ特性を有する補間フィルタを用いて動き補償を実行されたかに関する情報を得ることができるので、より精度の高い復元画像を生成することができる。
【００５８】
また、前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが、適応型又は非適応型、分離型又は非分離型、及び、対称又は非対称のうち少なくとも１つを示す情報を復号し、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタタイプに従って、前記複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定してもよい。
【００５９】
また、前記復号ステップでは、さらに、前記符号化ストリームに含まれる前記適応的補間フィルタの複数のフィルタ係数を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとのフィルタ係数として決定してもよい。
【００６０】
これにより、符号化ストリームからフィルタ係数を復元することができるので、符号化される映像がどのようなフィルタ特性を有し、どういった値のフィルタ係数を有する補間フィルタを用いて動き補償を実行されたかに関する情報を得ることができるので、正確に復元画像を生成することができる。
【００６１】
また、前記復号ステップでは、前記複数のフィルタ係数間の対称性を利用することで、前記複数のフィルタ係数の冗長部分を除いて前記複数のフィルタ係数が符号化された前記符号化ストリームから、当該複数のフィルタ係数を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとのフィルタ係数として決定してもよい。
【００６２】
また、前記復号ステップでは、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分と、前記少なくとも２つの小数画素のいずれか１つの小数画素の適応的補間フィルタのフィルタ係数とが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記所定の軸に対して対称の位置にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定してもよい。
【００６３】
また、前記復号ステップでは、互いに平行移動の対称関係を有する少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分と、前記少なくとも２つの小数画素のいずれか１つの適応的補間フィルタのフィルタ係数とが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記平行移動の関係にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定してもよい。
【００６４】
また、前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数間での差分と、前記少なくとも２つのフィルタ係数のいずれか１つとが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記対称関係にある残りのフィルタ係数を決定してもよい。
【００６５】
以上のように、符号量を削減するために対称性を利用して符号化された符号化ストリームから、正確に補間フィルタのフィルタ係数を復号及び決定することができる。
【００６６】
また、前記復号ステップでは、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素ごとに符号化されている１つの小数画素の適応的補間フィルタのフィルタ係数を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ係数から、前記所定の軸に対して対称の位置にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定してもよい。
【００６７】
また、前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数ごとに符号化されている１つのフィルタ係数を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ係数から、対称関係にある残りのフィルタ係数を決定してもよい。
【００６８】
また、前記フィルタ決定ステップでは、さらに、決定したフィルタ特性及びフィルタ係数をメモリに保持し、前記復号ステップで新たなフィルタ特性又はフィルタ係数が復号された場合に、新たに決定したフィルタ特性及びフィルタ係数に更新してもよい。
【００６９】
これにより、同じフィルタ係数を複数回使用することができるので、フィルタ係数の決定に関わる処理量を削減することができる。また、重複して使用するフィルタ係数を符号化ストリームに含める必要がなくなるため、符号量を削減することができる。
【００７０】
また、前記復号ステップでは、前記適応的補間フィルタのサイズを示す情報を復号し、前記フィルタ決定ステップでは、前記適応的補間フィルタのサイズに従って、前記複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定してもよい。
【００７１】
また、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性をスライス単位で設定してもよい。
【００７２】
また、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性を前記符号化ストリームに含まれる映像データ全体に１つのみ設定してもよい。
【００７３】
なお、本発明は、映像符号化方法及び映像復号方法として実現できるだけではなく、当該映像符号化方法及び映像復号方法に含まれるステップを処理部とする装置として実現することもできる。
【００７４】
また、本発明の映像符号化方法及び映像復号方法に含まれるステップをコンピュータに実行させるプログラムとして実現してもよい。さらに、当該プログラムを記録したコンピュータ読み取り可能なＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの記録媒体、並びに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、それらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信してもよい。
【００７５】
また、上記の各映像符号化装置及び映像復号装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されていてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを含んで構成されるコンピュータシステムである。
【発明の効果】
【００７６】
本発明の映像符号化方法、映像復号方法及びそれらの装置によれば、予測効率と符号化効率とを最適化することができる。
【図面の簡単な説明】
【００７７】
【図１】図１は、従来の映像符号化装置の構成の一例を示すブロック図である。
【図２】図２は、従来の映像復号装置の構成の一例を示すブロック図である。
【図３】図３は、本実施の形態の適応的フィルタリングの動き補償を適用する映像符号化装置の構成を示すブロック図である。
【図４】図４は、本実施の形態の適応的フィルタリングの動き補償を適用する映像復号装置の構成を示すブロック図である。
【図５】図５は、本実施の形態の映像符号化装置の処理を示すフローチャートである。
【図６Ａ】図６Ａは、本実施の形態の映像復号装置の処理を示すフローチャートである。
【図６Ｂ】図６Ｂは、映像復号装置が対称性を利用して補間フィルタを復号し、決定する場合のフローチャートである。
【図７】図７は、フィルタ係数が決定される小数画素位置を示す図である。
【図８】図８は、小数画素位置に対して決定されるフィルタ係数の具体例を示す図である。
【図９】図９は、小数画素位置に対して決定されるフィルタ係数の具体例を示す図である。
【図１０】図１０は、映像データに含まれる画像のブロックの概略図である。
【図１１】図１１は、対称なフィルタ係数を有する補間フィルタの一例を示す図である。
【図１２】図１２は、２つの小数画素位置の補間フィルタが対称となる一例を示す図である。
【図１３Ａ】図１３Ａは、垂直軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。
【図１３Ｂ】図１３Ｂは、水平軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。
【図１３Ｃ】図１３Ｃは、対角軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。
【図１３Ｄ】図１３Ｄは、垂直軸及び水平軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。
【図１３Ｅ】図１３Ｅは、垂直軸、水平軸及び対角軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。
【図１３Ｆ】図１３Ｆは、対称関係の一部のみを利用する場合の小数画素位置の対称関係を示す図である。
【図１４Ａ】図１４Ａは、分離型適応的補間フィルタの水平方向の補間フィルタを適用する場合の小数画素位置の一例を示す図である。
【図１４Ｂ】図１４Ｂは、分離型適応的補間フィルタの垂直方向の補間フィルタを適用する場合の小数画素位置の一例を示す図である。
【図１４Ｃ】図１４Ｃは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係の一例を示す図である。
【図１４Ｄ】図１４Ｄは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係の一例を示す図である。
【図１４Ｅ】図１４Ｅは、分離型適応的補間フィルタを適用する場合の小数画素位置の平行移動の関係の一例を示す図である。
【図１４Ｆ】図１４Ｆは、分離型適応的補間フィルタの対称関係と平行移動の関係の一例を示す図である。
【図１４Ｇ】図１４Ｇは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係と平行移動の関係との一例を示す図である。
【図１５】図１５は、本実施の形態のシグナリングを実行するための第１のシンタックスエレメントを示す図である。
【図１６Ａ】図１６Ａは、小数画素位置における対称性の一例を示す図である。
【図１６Ｂ】図１６Ｂは、フィルタＩＤが割り当てられた小数画素位置の補間フィルタの一例を示す図である。
【図１６Ｃ】図１６Ｃは、小数画素位置の補間フィルタごとに対称性の利用の可否を示す対称マスクの一例を示す図である。
【図１７】図１７は、本実施の形態のシグナリングを実行するための第２のシンタックスエレメントの抜粋を示す図である。
【図１８】図１８は、本実施の形態のシグナリングを実行するための第３のシンタックスエレメントの抜粋を示す図である。
【図１９】図１９は、本実施の形態のシグナリングを実行するための第４のシンタックスエレメントの抜粋を示す図である。
【図２０】図２０は、本実施の形態のシグナリングを実行するための第５のシンタックスエレメントの抜粋を示す図である。
【発明を実施するための形態】
【００７８】
以下では、本実施の形態の映像符号化装置及び映像復号装置について図面を用いて詳細に説明する。
【００７９】
図３は、本実施の形態の適応的フィルタリングの動き補償を適用する映像符号化装置１００の構成を示すブロック図である。同図の映像符号化装置１００は、映像データ（入力映像シーケンス）に含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、映像データを符号化する装置である。図３のブロック図は、図１に対応する。図１に示す映像符号化装置３００と同じ構成要素には同じ参照符号を付している。
【００８０】
図３に示す映像符号化装置１００は、減算器１１０と、変換／量子化部１２０と、逆量子化／逆変換部１３０と、加算器１３５と、デブロッキングフィルタ１３７と、メモリ１４０と、イントラフレーム予測部１５０と、動き補償予測部１６０と、動き検出部１７０と、イントラ／インター切換スイッチ１８０と、エントロピー符号化部１９０とを備える。映像符号化装置１００は、図１に示した従来の映像符号化装置３００と比較して、動き補償予測部３６０の代わりに動き補償予測部１６０を備え、エントロピー符号化部３９０の代わりにエントロピー符号化部１９０を備える点が異なっている。
【００８１】
なお、本実施の形態の映像符号化装置１００は、Ｈ．２６４／ＡＶＣ規格、又は、当該規格に続く規格を採用する。Ｈ．２６４／ＡＶＣ規格では、入力映像シーケンスに含まれる入力画像は、マクロブロックなどのブロックに分割される。そして、入力画像のブロックと、先に符号化されたブロックから予測された予測ブロックとの差分だけを伝送する差分パルス符号変調（ＤＰＣＭ）が用いられる。
【００８２】
減算器１１０は、入力信号（入力画像）と予測信号（予測画像）との差分を算出する。なお、この差分を予測誤差という。具体的には、減算器１１０は、入力信号に含まれる入力画像のブロック（符号化対象ブロック）から、イントラフレーム予測部１５０又は動き補償予測部１６０によって生成される予測ブロックを減算することで、予測誤差を算出する。
【００８３】
変換／量子化部１２０は、減算器１１０によって算出された予測誤差を、空間領域から周波数領域に変換する。例えば、予測誤差に対して、２次元の離散コサイン変換（ＤＣＴ）又はその整数バージョンなどの直交変換処理を実行する。変換／量子化部１２０は、さらに、変換により得られた変換係数を量子化する。量子化によって得られた２次元の変換係数は、１次元に変換する必要がある。このため、予め定められたシーケンスに従って２次元配列をスキャンすることで、１次元の量子化変換係数のシーケンスをエントロピー符号化部１９０に供給する。このように量子化を行うことで、符号化する必要があるデータ量を削減することができる。
【００８４】
なお、変換／量子化部１２０は、量子化ステップを用いて変換係数を量子化する。この量子化ステップは、量子化テーブルによって制御される。量子化テーブルは、精度と、各周波数係数を符号化するために用いられるビット数とを特定するテーブルである。通常、低周波成分は細部よりも画質にとってより重要であるために、低周波成分の符号化には高周波成分の符号化よりも多くのビットが費やされる。
【００８５】
逆量子化／逆変換部１３０は、変換／量子化部１２０によって量子化された量子化係数を逆量子化する。さらに、逆量子化により得られる逆量子化係数を逆変換する。これにより、周波数領域に変換され、かつ、量子化されていた予測誤差を、空間領域に変換された予測誤差に復元することができる。
【００８６】
加算器１３５は、逆量子化／逆変換部１３０によって復元された予測誤差と、イントラフレーム予測部１５０又は動き補償予測部１６０によって生成される予測信号（予測ブロック）とを加算することで、ローカル復号画像を生成する。
【００８７】
デブロッキングフィルタ１３７は、加算器１３５によって生成されたローカル復号画像にデブロッキングフィルタ処理を実行する。これにより、ローカル復号画像に含まれるブロック歪み（ブロッキングアーティファクト）を低減することができる。なお、デブロッキングフィルタ１３７は、復号画像に適用されなくてもよい。
【００８８】
メモリ１４０は、デブロッキングフィルタ１３７によってデブロッキングフィルタ処理が実行されたローカル復号画像を保持するフレームメモリである。
【００８９】
イントラフレーム予測部１５０は、メモリ１４０からローカル復号画像を読み出し、読み出したローカル復号画像を基にして、「イントラ」モードで予測することで、予測ブロックを生成する。「イントラ」モードでは、予測ブロックを生成するために、同じ画像のすでに符号化されたブロックを利用した予測処理を行う。すなわち、「イントラ」モードでは、先に復号されたピクチャを参照することなく、自ピクチャのみを参照することで符号化対象ブロックの符号化を行うことができる。
【００９０】
このように符号化されたイントラ符号化画像（Ｉ−タイプ画像）は、符号化映像シーケンスに誤り耐性を持たしている。また、Ｉ−タイプ画像は、ランダムアクセスを可能にするために、すなわち、符号化映像シーケンスに含まれる画像の中でＩ−タイプ画像にアクセスするために、符号化データのビットストリームへのエントリーポイントを規定する。
【００９１】
動き補償予測部１６０は、小数精度の動き補償に必要な適応的補間フィルタのフィルタ特性を決定する。フィルタ特性は、例えば、適応的補間フィルタのフィルタタイプを示す情報、及び、適応的補間フィルタのサイズを示す情報などである。フィルタのサイズは、例えば、適応的補間フィルタのフィルタ係数の数であるタップ数などである。
【００９２】
具体的には、動き補償予測部１６０は、適応的補間フィルタとして、分離型、及び、非分離型適応的フィルタのいずれかを決定し、さらに、決定した適応的補間フィルタのタップ数、及び、各フィルタ係数の値を決定する。フィルタ係数の値は、整数画素との相対的な小数画素の位置ごとに決定される。フィルタ係数の決定処理の詳細については後述する。なお、動き補償予測部１６０は、フィルタ係数が固定である非適応的補間フィルタを用いてもよい。
【００９３】
さらに、動き補償予測部１６０は、決定した適応的補間フィルタが対称関係を有するか否か、すなわち、対称フィルタ、及び、非対称フィルタのいずれであるかを決定する。フィルタの対称性を利用する処理の詳細についても後述する。
【００９４】
なお、動き補償予測部１６０は、補間フィルタの特性を所定の処理単位で設定する。例えば、小数画素単位、マクロブロック単位、スライス単位、ピクチャ単位、又は、シーケンス単位で設定する。なお、１つの映像データに対して、１つの特性を設定してもよい。したがって、所定の処理単位中は、同じフィルタ特性を利用するため、動き補償予測部１６０は、フィルタ特性を一時的に保持するメモリ１６１を備える。このメモリ１６１は、必要に応じて、フィルタ特性、及び、フィルタ係数などを保持する。例えば、動き補償予測部１６０は、Ｉピクチャごとにフィルタ特性を決定し、スライス単位でフィルタ係数を決定する。
【００９５】
また、動き補償予測部１６０は、映像データ、映像データに含まれる画像内容、又は、映像データの画像解像度などに基づいて、適応的補間フィルタの特性を設定する。あるいは、所定の処理単位の符号化後の映像データのサイズが最小となるように適応的補間フィルタの特性を設定する。具体的には、フィルタ特性ごとに符号化を所定の処理単位ごとに行い、符号化後の映像データのサイズが最小となるフィルタ特性を選択する。
【００９６】
このため、動き補償予測部１６０には、入力信号のコピーも入力される。さらに、決定された適応的補間フィルタのフィルタ係数は、エントロピー符号化部１９０に伝送され、エントロピー符号化部１９０によって出力ビットストリームに挿入される。
【００９７】
さらに、動き補償予測部１６０は、メモリ１４０からローカル復号画像を読み出し、読み出したローカル復号画像に、決定した適応的補間フィルタを用いてフィルタ処理を適用することで、小数精度の参照画像を生成する。そして、生成した参照画像と、動き検出部１７０によって決定された動きベクトルとに基づいて小数画素精度の動き補償を行うことで、予測ブロックを生成する。
【００９８】
動き検出部１７０は、メモリ１４０からローカル復号画像を読み出し、読み出したローカル復号画像と入力信号に含まれる入力画像とを用いて動き検出を行うことで、動きベクトルを決定する。動きベクトルは、符号化対象ブロックと、ローカル復号画像に含まれるブロックとの画素の変位を示す２次元のベクトルである。なお、決定された動きベクトルを示す動きデータは、エントロピー符号化部１９０に伝送され、エントロピー符号化部１９０によって出力ビットストリームに挿入される。
【００９９】
なお、動き検出部１７０は、予測精度を最適化するために、小数画素精度、例えば、１／２又は１／４画素精度で動きベクトルを決定する。このため、動きベクトルが小数画素位置を示す場合に備える必要があり、動き補償予測部１６０は、小数画素位置の画素値を算出するために、補間フィルタをローカル復号画像に適用することで、整数画素位置の画素値から小数画素位置の画素値を算出する。
【０１００】
イントラ／インター切換スイッチ１８０は、イントラフレーム予測部１５０と動き補償予測部１６０とのいずれで生成された予測ブロックを示す予測信号を減算器１１０と加算器１３５とに供給するかを切り換える。つまり、イントラフレーム予測部１５０と動き補償予測部１６０とのいずれの処理を実行するか、すなわち、符号化対象ブロックが「イントラ」モードで符号化されるのか、「インター」モードで符号化されるのかを切り換える。
【０１０１】
エントロピー符号化部１９０は、変換／量子化部１２０によって量子化された量子化係数と、動き補償予測部１６０によって決定されたフィルタ係数と、動き検出部１７０によって生成された動きデータとを符号化し、得られた符号化信号を出力ビットストリームとして出力する。具体的には、エントロピー符号化部１９０は、１次元の量子化係数のシーケンスを、ランレベルと称される一連の数のペアに圧縮する。そして、ランレベルシーケンスを、可変長の２値の符号語（ＶＬＣ：Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｅ）に符号化する。典型的な映像に含まれる画像で最も多く頻出するランレベルのペアに、より短い符号語を割り当てることで、符号は最適化される。このようにして得られたビットストリームと、符号化した動きデータ及びフィルタ係数とを多重化し、出力ビットストリームとして他の映像復号装置などに伝送、又は、記録媒体に格納する。
【０１０２】
なお、エントロピー符号化部１９０は、複数のフィルタ係数間の対称性を利用することで、複数のフィルタ係数の冗長部分を除いて、複数のフィルタ係数を符号化してもよい。例えば、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化してもよい。あるいは、互いに平行移動の対称関係を有する２つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化してもよい。これらの差分を符号化する処理の詳細については、後述する。
【０１０３】
以上の構成により、本実施の形態の映像符号化装置１００では、従来、固定的なフィルタ係数を用いていた、又は、フィルタ係数は適応的であるが、補間フィルタそのものが固定的であったのに対して、小数画素精度の動き補償を行う際に使用する補間フィルタの特性、及び、フィルタ係数を適応的に決定する。そして、決定した補間フィルタの特性、及び、フィルタ係数を符号化し、出力ビットストリームとして他の映像復号装置に伝送する。
【０１０４】
次に、上述したように映像符号化装置１００によって符号化されて得られた出力ビットストリーム（以下、符号化ビットストリームとも記載する）を復号する本実施の形態の映像復号装置について説明する。
【０１０５】
図４は、本実施の形態の適応的フィルタリングの動き補償を適用する映像復号装置２００の構成を示すブロック図である。図４のブロック図は、図２に対応する。図２に示す映像復号装置４００と同じ構成要素には同じ参照符号を付している。
【０１０６】
図４に示す映像復号装置２００は、エントロピー復号部２９１と、逆量子化／逆変換部２３０と、加算器２３５と、デブロッキングフィルタ２３７と、メモリ２４０と、イントラフレーム予測部２５０と、動き補償予測部２６０と、イントラ／インター切換スイッチ２８０とを備える。
【０１０７】
エントロピー復号部２９１は、入力信号、例えば、映像符号化装置１００から伝送される符号化ビットストリームを復号することで、動きデータと、フィルタ係数と、量子化係数のシーケンスとに分離する。そして、エントロピー復号部２９１は、復号された動きデータとフィルタ係数とを動き補償予測部２６０に供給する。さらに、エントロピー復号部２９１は、逆変換に必要となるため、量子化係数の１次元のシーケンスを２次元配列の量子化係数に変換する。２次元配列に変換された量子化係数は、逆量子化／逆変換部２３０に供給される。
【０１０８】
逆量子化／逆変換部２３０は、エントロピー復号部２９１によって復号された量子化係数を逆量子化する。さらに、逆量子化により得られる逆量子化係数を逆変換する。これにより、周波数領域に変換され、かつ、量子化されていた予測誤差を、空間領域に変換された予測誤差に復元することができる。なお、逆量子化／逆変換部２３０は、図３に示す逆量子化／逆変換部１３０と同様の処理を実行する。
【０１０９】
加算器２３５は、逆量子化／逆変換部２３０によって復元された予測誤差と、イントラフレーム予測部２５０又は動き補償予測部２６０によって生成される予測信号（予測ブロック）とを加算することで、復号画像を生成する。なお、加算器２３５は、図３に示す加算器１３５と同様の処理を実行する。
【０１１０】
デブロッキングフィルタ２３７は、加算器２３５によって生成された復号画像にデブロッキングフィルタ処理を実行する。これにより、復号画像に含まれるブロック歪みを低減することができる。なお、デブロッキングフィルタ２３７は、復号画像に適用されなくてもよい。また、デブロッキングフィルタ２３７は、図３に示すデブロッキングフィルタ１３７と同様の処理を実行する。
【０１１１】
メモリ２４０は、デブロッキングフィルタ２３７によってデブロッキングフィルタ処理が実行されたローカル復号画像を保持するフレームメモリである。
【０１１２】
イントラフレーム予測部２５０は、メモリ２４０から復号画像を読み出し、読み出した復号画像を基にして、「イントラ」モードで予測することで、予測ブロックを生成する。イントラフレーム予測部２５０は、イントラフレーム予測部１５０と同様に、先に復号されたピクチャを参照することなく、自ピクチャのみを参照することで復号対象ブロックを復号することができる。
【０１１３】
動き補償予測部２６０は、メモリ２４０から復号画像を読み出し、読み出した復号画像に、小数精度の動き補償に必要な適応的補間フィルタを適用することで参照画像を生成する。ここで、どのような適応的補間フィルタを適用するかを特定するため、動き補償予測部２６０は、エントロピー復号部２９１から、復号されたフィルタ係数を受け取る。動き補償予測部２６０は、生成した参照画像と、エントロピー復号部２９１から受け取った動きデータとを基にして、予測ブロックを生成する。なお、動き補償予測部２６０は、適応的補間フィルタを復号画像に適用する理由は、受け取った動きデータが示す動きベクトルの値によっては、整数画素精度ではなく、小数画素精度が要求されるためである。
【０１１４】
なお、所定の処理単位（スライス単位など）中は、同じフィルタ特性を利用するため、動き補償予測部２６０は、フィルタ特性を一時的に保持するメモリ２６１を備える。このメモリ２６１は、必要に応じて、フィルタ特性、及び、フィルタ係数などを保持する。
【０１１５】
例えば、映像符号化装置１００からフィルタ特性がＩピクチャごとに送信される場合、フィルタ係数は、当該Ｉピクチャごと、又は、スライスごとに送信される。メモリ２６１は、次のフィルタ特性、又は、フィルタ係数が送信されるまで、フィルタ特性、及び、フィルタ係数を保持する。動き補償予測部２６０は、新たなフィルタ特性、又は、フィルタ係数が送信されると、メモリ２６１のフィルタ特性、又は、フィルタ係数を更新する。
【０１１６】
なお、フィルタ特性が送信された場合、予め定められた非適応的フィルタでない限り、フィルタ係数も同時に送られるため、フィルタ特性が送信された場合は、フィルタ係数も更新することになる。また、メモリ２６１は、複数のフィルタ特性と、フィルタ係数とを記憶してもよい。すなわち、最新のフィルタ特性だけでなく、過去のフィルタ特性も複数個記憶してもよい。これにより、過去のフィルタ特性と同じ補間フィルタを利用する場合に、再度、映像符号化装置１００が送信しなくてもよい。
【０１１７】
イントラ／インター切換スイッチ２８０は、イントラフレーム予測部２５０と動き補償予測部２６０とのいずれで生成された予測ブロックを示す予測信号を、加算器２３５に供するかを切り換える。
【０１１８】
以上の構成により、本実施の形態の映像復号装置２００は、入力される符号化ビットストリームから、小数画素精度の動き補償に用いる補間フィルタの特性とフィルタ係数とに関する情報を受け取り、受け取った情報に基づいて小数精度の動き補償を行う。これにより、映像符号化装置１００によって、適応的に決定した補間フィルタを用いて符号化された映像データを正しく復元することができる。
【０１１９】
次に、本実施の形態の映像符号化装置１００によって実行される映像符号化方法について説明する。図５は、本実施の形態の映像符号化装置１００の処理を示すフローチャートである。
【０１２０】
まず、動き補償予測部１６０は、適応的補間フィルタのフィルタタイプを決定する（Ｓ１０１）。具体的には、動き補償予測部１６０は、入力される映像データに基づいて、分離型／非分離型、及び、対称／非対称などをスライス単位で決定する。
【０１２１】
さらに、動き補償予測部１６０は、決定したフィルタタイプに応じて、適応的補間フィルタのタップ数を、小数画素位置ごとに決定する（Ｓ１０２）。具体的には、動き補償予測部１６０は、決定しなければならないフィルタ係数の数を決定する。例えば、決定した補間フィルタが、６×６タップの非分離型補間フィルタで、かつ、非対称である場合は、決定しなければならないフィルタ係数の数は３６個である。また、決定した補間フィルタが、６×６タップの非分離型補間フィルタで、かつ、対称である場合は、決定しなければならないフィルタ係数の数は、３６個のより少ない数となる。
【０１２２】
また、対象となる小数画素の位置が、既に補間フィルタのフィルタ係数を決定した小数画素と、所定の軸に対して対称である場合は、動き補償予測部１６０は、決定しなければならないフィルタ係数の数を０としてもよい。すなわち、既に決定した補間フィルタをミラーリングすることで、対象となる小数画素の補間フィルタにも適用してもよい。
【０１２３】
次に、動き補償予測部１６０は、小数画素位置ごとに、決定した補間フィルタのタップ数分のフィルタ係数を決定する（Ｓ１０３）。
【０１２４】
そして、動き補償予測部１６０は、決定したフィルタ係数を有する補間フィルタを用いて、小数画素位置の画素値を算出し、これにより得られた小数画素精度の参照画像を用いて動き補償を行う（Ｓ１０４）。
【０１２５】
減算器１１０は、入力信号から、動き補償により生成される予測信号を減算することで予測誤差信号を生成する（Ｓ１０５）。変換／量子化部１２０は、生成された予測誤差信号を周波数変換及び量子化することで、量子化係数を生成する（Ｓ１０６）。
【０１２６】
エントロピー符号化部１９０は、変換／量子化部１２０によって生成された量子化係数と、動き補償予測部１６０によって決定されたフィルタ特性及びフィルタ係数と、動き検出部１７０で検出された動きベクトルを示す動きデータとを符号化する（Ｓ１０７）。エントロピー符号化部１９０は、符号化により得られた符号化信号（符号化ビットストリーム）を他の映像復号装置などに伝送する。
【０１２７】
以上のようにして、本実施の形態の映像符号化装置１００は、適応的に補間フィルタのフィルタ特性とフィルタ係数とを決定し、決定した補間フィルタを用いて小数画素精度の動き補償を行う。これにより、補間フィルタの特性及び係数を非常に柔軟に決定することができるので、予測精度と符号化効率とを最適化することができる。
【０１２８】
次に、本実施の形態の映像復号装置２００によって実行される映像復号方法について説明する。図６Ａは、本実施の形態の映像復号装置２００の処理を示すフローチャートである。
【０１２９】
まず、エントロピー復号部２９１は、入力される符号化ビットストリームを復号する（Ｓ２０１）。復号により得られた量子化係数を逆量子化／逆変換部２３０に供給し、動きデータ及び補間フィルタを動き補償予測部２６０に供給する。
【０１３０】
次に、逆量子化／逆変換部２３０は、復号により得られた量子化係数を逆量子化及び逆変換することで、予測誤差を生成する（Ｓ２０２）。また、動き補償予測部２６０は、復号により得られた補間フィルタと動きデータとに基づいて、小数画素位置の画素値を参照し、これにより得られた小数画素精度の参照画像を用いて動き補償を行う（Ｓ２０３）。なお、予測誤差の生成（Ｓ２０２）と動き補償（Ｓ２０３）とは、いずれが先に実行されてもよく、又は、同時に並行して実行されてもよい。
【０１３１】
加算器２３５は、逆量子化／逆変換部２３０によって生成された予測誤差と、動き補償予測部２６０によって生成された予測信号とを加算することで、符号化された画像を復元する（Ｓ２０４）。なお、デブロッキングフィルタ２３７が、復元された画像にデブロッキングフィルタ処理を施してもよい。
【０１３２】
図６Ｂは、対称性を利用して補間フィルタを復号し、決定する場合のフローチャートである。補間フィルタは、小数画素位置ごとに決定される。
【０１３３】
まず、動き補償予測部２６０は、決定の対象となる補間フィルタ自体が対称であるか否かを判断する（Ｓ３０１）。補間フィルタ自体が対称である場合（Ｓ３０１でＹｅｓ）、当該補間フィルタのフィルタ係数のうち半分だけを復号し、復号したフィルタ係数をミラーリングすることで残りのフィルタ係数を決定する（Ｓ３０２）。補間フィルタ自体が対称ではない場合（Ｓ３０１でＮｏ）、補間フィルタを構成するフィルタ係数を復号する（Ｓ３０３）。
【０１３４】
次に、動き補償予測部２６０は、復号及び決定した補間フィルタの小数画素位置と対称関係にある小数画素位置の補間フィルタを決定する（Ｓ３０４）。すなわち、復号及び決定した補間フィルタをミラーリングすることで、対称関係にある小数画素位置の補間フィルタを決定する。なお、このとき、水平方向の補間フィルタを垂直方向の補間フィルタにも兼用する場合は、補間フィルタを回転することで、該当する小数画素位置の補間フィルタを決定する。
【０１３５】
最後に、動き補償予測部２６０は、全ての小数画素位置の補間フィルタを復号及び決定したか否かを判断する（Ｓ３０５）。補間フィルタが決定されていない小数画素位置がある場合（Ｓ３０５でＮｏ）、動き補償予測部２６０は、まだ決定されていない小数画素位置の補間フィルタを復号及び決定するために、上述の処理（Ｓ３０１〜Ｓ３０５）を繰り返す。全ての小数画素位置の補間フィルタが復号及び決定された場合（Ｓ３０５でＹｅｓ）、補間フィルタの復号及び決定処理は終了し、予測誤差の生成処理（Ｓ２０２）を実行する。
【０１３６】
なお、どの小数画素位置が対称であるかを示す情報は、後述するように符号化ビットストリームに含まれる。
【０１３７】
以上のようにして、本実施の形態の映像復号装置２００は、符号化ビットストリームに含まれる補間フィルタの情報を取得し、取得した情報に基づいて設定した補間フィルタのフィルタ特性及びフィルタ係数を利用して動き補償を行う。これにより、映像符号化装置側で、柔軟に設定された補間フィルタの情報を映像復号装置２００は得ることができるので、符号化された画像を正しく復号することができる。
【０１３８】
（フィルタ係数の決定方法）
以下に、動き補償予測部１６０による適応的補間フィルタのフィルタ係数の決定方法について述べる。
【０１３９】
図７は、フィルタ係数が決定される小数画素位置を示す図である。同図において、黒丸は整数画素位置を示し、白丸は小数画素位置を示す。また、ここでは、一例として、１／４画素精度の場合を説明する。
【０１４０】
整数画素の位置と小数画素の位置とは、整数単位範囲ごとに位置（ｐ，ｑ）で示される。整数単位範囲は、１つの整数画素を含む所定の範囲であり、図７に示す例では、小数画素精度で４×４画素の範囲である。なお、ｐ＝０，１，２，３かつｑ＝０，１，２，３である。位置（ｐ，ｑ）は、整数単位範囲内の位置を示す局所的な座標（以下、局所座標と記載する）で表される。つまり、位置（ｐ，ｑ）は、画像上の各整数単位範囲内において共通の座標位置を示す。なお、図７に示す例では、１つの整数単位範囲には、位置（０，０）にある整数画素と、残りの１５ヶ所の小数画素位置（（０，１）、（０，２）、（０，３）、（１，０）、（１，１）、（１，２）、（１，３）、（２，０）、（２，１）、（２，２）、（２，３）、（３，０）、（３，１）、（３，２）、（３，３））にある小数画素とが含まれる。以上のように、小数画素位置は、整数画素位置との相対的な位置を示している。すなわち、位置（ｐ，ｑ）で、ある整数画素の位置を基準の位置としたときの、小数画素の位置を示している。
【０１４１】
動き補償予測部１６０は、整数画素（黒丸）を基にして、小数画素（白丸）を算出するための補間フィルタを決定する。具体的には、動き補償予測部１６０は、補間フィルタの特性を設定し、設定した特性に基づいて、算出対象である小数画素に対する補間フィルタのフィルタ係数を決定する。フィルタ係数は、複数の整数画素の重み付け加算和を行う際の重み係数である。補間フィルタは、複数の整数画素のそれぞれに対するフィルタ係数の集合で表される。動き補償予測部１６０は、１つの整数単位範囲内の小数画素ごとに補間フィルタを決定し、他の整数単位範囲内の小数画素の補間フィルタにも兼用することで、全ての小数画素ごとに補間フィルタを決定する必要がなくなる。ただし、予測の精度を高めるために、全ての小数画素ごとに補間フィルタを決定してもよい。
【０１４２】
補間フィルタの特性は、例えば、補間フィルタのフィルタタイプ、及び、フィルタサイズである。フィルタタイプは、例えば、適応的／非適応的、分離型／非分離型、及び、対称／非対称などのフィルタの種類である。フィルタサイズは、例えば、フィルタ係数の個数であるタップ数である。
【０１４３】
動き補償予測部１６０は、補間フィルタの特性を所定の処理単位で設定する。例えば、小数画素単位、マクロブロック単位、スライス単位、ピクチャ単位、又は、シーケンス単位で設定する。なお、１つの映像データに対して、１つの特性を設定してもよい。
【０１４４】
以下では、まず、フィルタタイプが非分離型である場合について説明する。非分離型補間フィルタの一例として、６×６タップフィルタの場合について説明する。
【０１４５】
図８は、小数画素位置に対して決定されるフィルタ係数の具体例を示す図である。同図において、黒丸は整数画素位置を示し、白丸は小数画素位置を示す。ここで、位置（ｐ，ｑ）にある小数画素の画素値を算出するための補間フィルタｆ(p,q)を決定すると仮定する。
【０１４６】
補間フィルタｆ(p,q)は、位置（ｐ，ｑ）にある小数画素をほぼ中心とする６×６の整数画素の画素値にそれぞれ重み付けられるフィルタ係数ｆi,j(p,q)（ｉ＝−２，−１，０，１，２，３かつｊ＝−２，−１，０，１，２，３）の集合である。図８に示す例では、対象となる小数画素を含む整数単位範囲に含まれる整数画素の画素値に重み付けるフィルタ係数をｆ0,0(p,q)（ｉ＝０，ｊ＝０）とし、水平方向にｉ軸、垂直方向にｊ軸を設定することで、各整数画素にフィルタ係数ｆi,j(p,q)を決定する。具体的なフィルタ係数の式を用いた算出方法については、後述する。
【０１４７】
動き補償予測部１６０は、以上のように決定した非分離型適応的補間フィルタを適用することで、位置（ｐ，ｑ）の小数画素（図８の白丸）を算出する。補間の対象となる他の小数画素についても同様にして、フィルタ係数を決定し、決定したフィルタ係数の補間フィルタを適用することで、小数画素精度の動き補償を実行する。
【０１４８】
次に、フィルタタイプが分離型である場合について説明する。ここでは一例として、水平方向の補間フィルタと垂直方向の補間フィルタとを有する分離型補間フィルタであり、各補間フィルタは、６つの整数画素を利用する６タップフィルタである場合について説明する。
【０１４９】
図９は、小数画素位置に対して決定されるフィルタ係数の具体例を示す図である。同図において、黒丸は整数画素位置を示し、白丸は小数画素位置を示す。さらに、バツ印は、整数画素を用いて水平方向に補間することで得られた小数画素位置を示す。
【０１５０】
動き補償予測部１６０は、まず、水平方向の補間フィルタｇ(p,q)を決定する。なお、水平方向の補間フィルタは、垂直方向の値には影響されないため、ｇ(p,q)＝ｇ(p)である。図８と同様に、対象となる小数画素を含む整数単位範囲に含まれる整数画素の画素値に重み付けるフィルタ係数をｇ0(p)とし、水平方向にｉ軸を設定することで、水平方向の整数画素にフィルタ係数ｇi(p)を決定する。
【０１５１】
このように決定した水平方向の補間フィルタｇ(p)を用いて、動き補償予測部１６０は、位置（ｐ，０）の小数画素（図９のバツ印）を算出する。ここでは、垂直方向の補間フィルタも６タップフィルタであるため、位置（ｐ，０）に位置する６個の小数画素（バツ印）を算出する。
【０１５２】
次に、動き補償予測部１６０は、垂直方向の補間フィルタｈ(p,q)を決定する。水平方向の場合と同様に、対象となる小数画素を含む整数単位範囲内の位置（ｐ，０）に位置する垂直方向の補間フィルタをｈ0(p,q)とし、垂直方向にｊ軸を設定することで、水平方向の補間により得られた位置（ｐ，０）の小数画素に重み付けるフィルタ係数ｈj(p,q)を決定する。
【０１５３】
このように決定した垂直方向の補間フィルタｈ（ｐ，ｑ）を用いて、動き補償予測部１６０は、位置（ｐ，ｑ）の小数画素（図９の白丸）を算出する。補間の対象となる他の小数画素についても同様にして、フィルタ係数を決定し、決定したフィルタ係数の補間フィルタを適用することで、小数画素精度の動き補償を実行する。
【０１５４】
なお、上記の例では、水平方向の補間を行った後に、垂直方向の補間を行う例について説明したが、垂直方向の補間を行った後に、水平方向の補間を行ってもよい。
【０１５５】
以下では、さらに具体的な、適応的補間フィルタのフィルタ係数を決定する方法について、図面と数式とを用いて説明する。まず、非分離型適応的補間フィルタの場合について説明する。
【０１５６】
図１０は、映像データに含まれる画像のブロックの概略図である。同図では、黒丸は整数画素の位置、つまり、原画像のサンプリングポイントを表している。白丸は、画素値の補間が必要な小数画素の位置を表している。以下の図には、１／４画素精度を図示しているが、本実施の形態では、例えば、１／２画素、１／４画素、若しくは、１／８画素など、いかなる小数画素精度を用いてもよい。あるいは、垂直方向と水平方向とで異なる小数画素精度であってもよい。
【０１５７】
以下の式において、ｎは小数画素精度を、例えば、ｎ＝２は１／２画素精度を、ｎ＝４は１／４画素精度を表している。映像データに含まれる画像、及び、メモリ１４０に格納されるローカル復号画像（参照画像）上での位置は、整数画素精度又は小数画素精度で表される。（ｘ，ｙ）は、各画像上での座標位置を整数画素精度で示し、（ｎｘ＋ｐ，ｎｙ＋ｑ）は、各画像上での座標位置を小数画素精度で示す。つまり、小数画素精度で示される整数画素位置（ｎｘ，ｎｙ）は、整数画素精度で示される（ｘ，ｙ）に一致する。
【０１５８】
さらに、Ｓx,yは、原画像（つまり、映像データのブロック）内の整数画素位置（ｘ，ｙ）での画素値を表す。対応する水平方向及び垂直方向への補間画像内の小数画素位置（ｎｘ＋ｐ，ｎｙ＋ｑ）の画素値は、Ｓ’nx+p,ny+qで示される。ここで、図１０に示すように、小数画素位置は、ｐ＝０，…，ｎ−１及びｑ＝０，…，ｎ−１で示される。
【０１５９】
なお、（ｎｘ＋ｐ，ｎｙ＋ｑ）で表される位置は、画像上での特定の１点を示しているのに対して、（ｐ，ｑ）で表される位置は、画像の一部（すなわち、整数単位範囲）における局所座標上の１点、すなわち、整数画素との相対的な位置を示している。整数画素との相対的な位置とは、１つの整数画素を基準としたときの小数画素の位置である。具体的には、図１０に示すＳx,yは、整数画素精度では（５，２）で示される位置の画素値を表し、小数画素精度では（２０，８）（＝（４×５，４×２））で示される位置の画素値を表す。同様に、Ｓ’nx+p,ny+qは、小数画素精度では（２１，１１）（＝（４×５＋１，４×２＋３））で示される位置の画素値を示す。また、Ｓ’nx+p,ny+qは、局所座標上では、（１，３）で表される位置の画素値を示している。
【０１６０】
本実施の形態の適応的補間フィルタは、原画像を、対応する水平方向及び垂直方向への補間画像へマッピングする線形演算子、つまり、（式１）で定義される。
【０１６１】
【数１】
2009047917.tif 000055
【０１６２】
ここで、ｆi,j(p,q)は、補間フィルタの離散フィルタ係数であり、例えば、６×６タップフィルタの場合、ｉ＝−２，−１，０，１，２，３、及び、ｊ＝−２，−１，０，１，２，３である。また、このフィルタ係数は、局所座標上の特定の小数画素位置（ｐ，ｑ）によっても決まる。したがって、図１０に示すように、小数画素位置（ｐ，ｑ）ごとに、特定の補間フィルタｆ(p,q)が定義される。
【０１６３】
さらに、補間フィルタは、整数画素位置（ｐ＝０かつｑ＝０）でオリジナル値を生成する必要がある。したがって、整数画素位置（０，０）に対する補間フィルタｆ(0,0)のフィルタ係数ｆi,j(0,0)は、（式２）に示されるように表される。
【０１６４】
【数２】
2009047917.tif 000056
【０１６５】
ここで、δk,lはクロネッカーのデルタであって、例えば、ｋ＝ｌの場合はδk,l＝１、ｋ≠ｌの場合はδk,l＝０である。
【０１６６】
変位ベクトル５０１、５０２及び５０３は、Ｖｅｃ＝（ｖx，ｖy）で表される。その成分であるｖxとｖyは、小数画素位置を参照している。ｖx  ｍｏｄ＝０である変位ベクトル５０３は、ｘ方向の整数画素位置を指し示す（つまり、ｘ方向の整数画素の平行移動を表す）。ｖx  ｍｏｄ＝１，…，（ｎ−１）である変位ベクトル５０１及び５０２は、ｘ方向の小数画素位置を指し示す（つまり、ｘ方向の小数画素の平行移動を表す）。同様の定義をｙ方向にも用いる。
【０１６７】
任意の小数画素位置（ｐ，ｑ）のフィルタ係数ｆi,j(p,q)は、ここでは以下のように決められる。Ｐx,yが、先に復号された参照画像を表し、Ｖｅｃ＝（ｖx，ｖy）が、小数画素位置（ｐ，ｑ）を指し示す小数画素精度での変位ベクトルを表すとする。このとき、ｐ＝ｖx  ｍｏｄ  ｎ及びｑ＝ｖy  ｍｏｄ  ｎである。したがって、この変位に対する予測誤差ｅp,qは、（式３）のように表される。
【０１６８】
【数３】
2009047917.tif 000057
【０１６９】
なお、［[…]］は、演算子の変数より小さい最大の整数値をとるフロア演算子（切り捨て演算子）を示す。変位ベクトルが有効な原画像の範囲にわたり、ｘ及びｙにわたって和をとる。この範囲は、変位ベクトルが決められたマクロブロックに対応していてもよい。また、その範囲は、同じ小数画素位置を指し示す変位ベクトル、つまりｖx  ｍｏｄ  ｎ＝ｐ及びｖy  ｍｏｄ  ｎ＝ｑの変位ベクトルを有する（１以上の映像に含まれる画像の）いくつか又は全てのマクロブロックをまとめたもの（ただし、連結されていない）であってもよい。
【０１７０】
フィルタ係数ｆi,j(p,q)を、ここでは（式３）の予測誤差を最小にするように決定する。当該技術分野において周知の最適化アルゴリズム、例えば、勾配降下法又は焼きなまし法などで最適化を行ってもよい。しかしながら、この場合、フィルタ係数ｆi,j(p,q)に対し、（式４）に示されるような、（式３）の偏導関数を計算して得られる連立一次方程式を解くことによって最適フィルタ係数を決定してもよい。
【０１７１】
【数４】
2009047917.tif 000058
【０１７２】
以上のように、非分離型適応的補間フィルタの場合、予測誤差を最小とするように、すなわち、予測の精度が高くなるように、フィルタ係数を決定することができる。
【０１７３】
次に、分離型適応的補間フィルタの場合について説明する。
【０１７４】
２次元補間フィルタｆ(p,q)が分離型であれば、２つの別個の１次元フィルタｇ(p,q)とｈ(p,q)との合成に書き換えてもよい。
【０１７５】
【数５】
2009047917.tif 000059
【０１７６】
通常、水平補間フィルタｇ(p,q)は垂直小数画素位置ｑに依存しない、つまり、ｇ(p,q)＝ｇ(p)であり、さらに、垂直補間フィルタは整数画素行の補間結果に影響を及ぼさない、つまり、ｈj(p,0)＝δj,0と仮定する。
【０１７７】
この場合、２次元補間は２ステッププロセスと考えることができる。第１ステップにおいて、「整数画素行」の小数画素位置における画素値を決定するように、水平補間が行われる。第２ステップでは、第１ステップで決定された画素値に垂直補間を行うことにより小数画素列の画素値が決定される。このように仮定すると、ｇ(p)とｈ(p,q)とのフィルタ係数は（式３）〜（式５）から容易に決定できる。
【０１７８】
以上のように、適応的に補間フィルタの特性及びフィルタ係数を決定することで、予測精度を向上させることができる。これにより、映像符号化装置１００は、精度の高い動き補償に基づいて予測誤差を算出するので、予測誤差を小さくすることができ、符号化効率を向上させることもできる。
【０１７９】
しかしながら、映像復号装置が正しく復号するためには、決定したフィルタの特性及びフィルタ係数を、映像復号装置側に伝送しなければならない。適応的補間フィルタの特性及びフィルタ係数を伝送するとビットレートが増加する。このため、特に、空間解像度が小さい映像シーケンスに非分離型補間フィルタを適用する場合には、全体的な符号化効率が、オーバーヘッド情報によって低減する恐れがある。
【０１８０】
したがって、符号化効率を向上させる、すなわち、副次的なオーバーヘッド情報を低減するために、ある画像の統計特性に対称性があると仮定してもよい。
【０１８１】
例えば、対応する整数画素位置から対象小数画素位置までの距離が等しい場合、フィルタ係数は等しいと考えられる。しかしながら、エイリアシングなどの信号歪みのため、又は、変位検出のエラーのため、全ての映像シーケンスに対して対称性を仮定することは有効でない可能性がある。それゆえ、このことは、このような信号統計へのフィルタの限定的な適用により、符号化効率ゲインの損失につながるかもしれない。
【０１８２】
したがって、適応的補間フィルタを適用する普遍的かつ効果的な方法と、適応的補間フィルタの要素をシグナリングする効果的な方法とが必要である。
【０１８３】
本実施の形態によると、異なるフィルタタイプ（分離型／非分離型）、フィルタ対称性、フィルタ長、及び、小数画素位置によるフィルタ係数の差分符号化（つまり、フィルタ係数の予測符号化）の使用を含めた適応的補間フィルタを適用する普遍的な方法が提供される。
【０１８４】
（フィルタの対称性及び限定の活用）
以下に、動き補償予測部１６０がフィルタ特性を決定する際に、フィルタの対称性及び／又は限定を活用する処理について説明する。まず、対称性の利用の概略について、簡単のため、１次元の水平方向の補間フィルタを一例として説明する。
【０１８５】
動き補償予測部１６０は、上述のように決定されたフィルタ特性に従ってフィルタ係数を決定する際に、対称性を利用する。対称性には、補間フィルタのフィルタ係数そのものが対称である場合と、２つの小数画素位置が互いに対称な補間フィルタを有する場合とがある。
【０１８６】
例えば、動き補償予測部１６０は、補間フィルタのフィルタタイプが対称である、すなわち、補間フィルタのフィルタ係数そのものが対称である場合、補間フィルタの複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数を決定する（図１１参照）。あるいは、動き補償予測部１６０は、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素のうち、１つの小数画素の補間フィルタの複数のフィルタ係数を決定する（図１２参照）。
【０１８７】
図１１は、対称なフィルタ係数を有する補間フィルタの一例を示す図である。同図は、１／２画素位置（バツ印）の画素値を算出するための１次元の６タップフィルタのフィルタ係数と、画素位置との関係を示す。なお、同図において、黒丸は、整数画素位置を示す。
【０１８８】
図１１に示すように、１／２画素位置（ｐ，ｑ）＝（２，０）を中心として、周囲の６個の整数画素位置に重み付けるフィルタ係数は、左右に対称となる。すなわち、各画素位置（ｉ＝−２，−１，０，１，２，３）の画素値に重み付けるフィルタ係数ｇi(2,0)は、ｇ0(2,0)＝ｇ1(2,0)、ｇ-1(2,0)＝ｇ2(2,0)、ｇ-2(2,0)＝ｇ3(2,0)の関係を有する。
【０１８９】
したがって、動き補償予測部１６０は、６個のフィルタ係数のうち３個のフィルタ係数（例えば、ｇ-2(2,0)、ｇ-1(2,0)、ｇ0(2,0)のみ）を決定するだけでよい。これにより、フィルタ係数の決定に関わる処理量を削減することができる。
【０１９０】
さらに、対称性を利用しない場合は、映像復号装置２００に６個のフィルタ係数の値を送信しなければならなかったのに対して、対称性を利用する場合は、３個のフィルタ係数の値と、対称であることを示す情報とを送信するだけでよく、符号量を削減することができる。
【０１９１】
図１２は、２つの小数画素位置の補間フィルタが対称となる一例を示す図である。図１２（ａ）は、１／４画素位置（バツ印）の画素値を算出するための１次元の６タップフィルタのフィルタ係数と、画素位置との関係を示す。図１２（ｂ）は、３／４画素位置（バツ印）の画素値を算出するための１次元の６タップフィルタのフィルタ係数と、画素位置との関係を示す。各図において、黒丸は、整数画素位置を示す。
【０１９２】
図１２（ａ）と図１２（ｂ）とに示すように、１／４画素位置（ｐ，ｑ）＝（１，０）の画素値を算出するための補間フィルタｇ(1,0)と、３／４画素位置（ｐ，ｑ）＝（３，０）の画素値を算出するための補間フィルタｇ(3,0)とは、互いに水平方向対称である。すなわち、ｇ-2(1,0)＝ｇ3(3,0)、ｇ-1(1,0)＝ｇ2(3,0)、ｇ0(1,0)＝ｇ1(3,0)、ｇ1(1,0)＝ｇ0(3,0)、ｇ2(1,0)＝ｇ-1(3,0)、及び、ｇ3(1,0)＝ｇ-2(3,0)が成立する。
【０１９３】
したがって、対称性を利用しない場合、動き補償予測部１６０は、２つの小数画素位置に対して１２個のフィルタ係数を決定しなければならないのに対して、対称性を利用する場合、動き補償予測部１６０は、６個のフィルタ係数（例えば、１／４画素位置の補間フィルタｇ(1,0)のフィルタ係数）を決定するだけでよい。これにより、フィルタ係数の決定に関わる処理量を削減することができる。また、映像復号装置２００に送信しなければならない符号量を削減することができる。
【０１９４】
以上のように、動き補償予測部１６０は対称性を利用することで、係数の決定に関わる処理量を削減し、かつ、送信すべき符号量を削減することができる。
【０１９５】
続いて、さらに詳細な対称性の利用の処理について図面と数式とを用いて説明する。
【０１９６】
対称及び非対称補間フィルタを適用することにより、フィルタ係数を伝送することでビットストリームに付け加えられるオーバーヘッド情報量を制御することができる。例えば、高解像度シーケンスの場合、非対称フィルタを伝送することが、信号統計にフィルタを最適に適用するためには有益かもしれないが、低解像度シーケンスの場合、オーバーヘッド情報量を削減するために対称フィルタを適用する必要があるかもしれない。各時間対称性を活用し、異なる小数画素位置で、対応するフィルタが結合して最適化される。これは、入力信号にエイリアシングが含まれる場合、又は、間違った動き検出のために、予測効率を減少させるかもしれない。なお、シグナリングオーバーヘッドに対して、動き補償予測の精度を最適化するために、対称及び非対称フィルタの切換は小数画素位置に依存する方式で行うことができる。
【０１９７】
図１３Ａ〜図１３Ｆは、ｎ＝４、つまり、１／４画素精度の場合の適応的補間フィルタの対称特性の概略図である。各図では、整数画素及び小数画素の位置をそれぞれ四角及び丸で示している。また、小数画素位置を文字ａ，ｂ，…，ｏで示す。網掛けを使用して、異なる小数画素位置における補間フィルタ間の対称性を図示する。網掛けされた小数画素位置におけるフィルタ係数は、以下のように適した対称演算を適用することによって得ることができる。
【０１９８】
図１３Ａは、垂直軸（点線）に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。この場合、対称な補間フィルタのフィルタ係数は、（式６）で示される関係を有する。
【０１９９】
【数６】
2009047917.tif 000060
【０２００】
つまり、小数画素位置（ｐ、ｑ）に固有の補間フィルタのフィルタ係数は、対称な小数画素位置（ｎ−ｐ，ｑ）に固有の補間フィルタのフィルタ係数から、適切な対称演算を適用することで得ることができる。ここでいう対称演算は、垂直軸に対する反転、つまり、図１２に示すように（ｉ，ｊ）→（１−ｉ，ｊ）である。
【０２０１】
このようにして、図１３Ａに異なる網掛けで示すように、小数画素位置ａとｃ、ｅとｇ、ｉとｋ、ｍとｏがそれぞれ対称関係にあり、対称関係にある小数画素位置の一方のフィルタ係数を決定することで、他方のフィルタ係数も決定される。例えば、垂直軸を基準として小数画素位置ａの補間フィルタをミラーリングしたものが、小数画素位置ｃの補間フィルタである。
【０２０２】
なお、ミラー軸（図１３Ａの点線）上の小数画素位置（図１３Ａのｂ，ｆ，ｊ，ｎ）に固有の補間フィルタのフィルタ係数は、図１１に示すように、それら自身に対して対称、つまり、ｆi,j(n/2,q)＝ｆ1-i,j(n/2,q)である。このようにして、決定しなければならない独立係数の数を減らしている。
【０２０３】
図１３Ｂは、水平軸（点線）に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。この場合、対称な補間フィルタのフィルタ係数は、（式７）で示される関係を有する。
【０２０４】
【数７】
2009047917.tif 000061
【０２０５】
つまり、小数画素位置（ｐ，ｑ）に固有の補間フィルタのフィルタ係数は、対称な小数画素位置（ｐ，ｎ−ｑ）に固有の補間フィルタのフィルタ係数から、適切な対称演算を適用することで得ることができる。ここでいう対称演算は、水平軸に対する反転、つまり、図１２に示すように、（ｉ，ｊ）→（ｉ，１−ｊ）である。
【０２０６】
このようにして、図１３Ｂに異なる網掛けで示すように、小数画素位置ｄとｌ、ｅとｍ、ｆとｎ、ｇとｏがそれぞれ対称関係にあり、対称関係にある小数画素位置の一方のフィルタ係数を決定することで、他方のフィルタ係数も決定される。例えば、水平軸を基準として小数画素位置ｄの補間フィルタをミラーリングしたものが、小数画素位置ｌの補間フィルタである。
【０２０７】
なお、ミラー軸（図１３Ｂの点線）上の小数画素位置（図１３Ｂのｈ，ｉ，ｊ，ｋ）に固有の補間フィルタのフィルタ係数は、図１１に示すように、それら自身に対して対称、つまり、ｆi,j(p,n/2)＝ｆi,1-j(p,n/2)である。このようにして、決定しなければならない独立係数の数を減らしている。
【０２０８】
図１３Ｃは、対角軸（点線）に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。この場合、対称な補間フィルタのフィルタ係数は、（式８）で示される関係を有する。
【０２０９】
【数８】
2009047917.tif 000062
【０２１０】
つまり、小数画素位置（ｐ，ｑ）に固有の補間フィルタのフィルタ係数は、対称な小数画素位置（ｑ，ｐ）に固有の補間フィルタのフィルタ係数から、適切な対称演算を適用することで得ることができる。ここでいう対称演算は、対角軸に対する反転、つまり、図１２に示すように、（ｉ，ｊ）→（ｊ，ｉ）である。
【０２１１】
このようにして、図１３Ｃに異なる網掛けで示すように、小数画素位置ａとｄ、ｂとｈ、ｃとｌ、ｆとｉ、ｇとｍ、ｋとｎがそれぞれ対称関係にあり、対称関係にある小数画素位置の一方のフィルタ係数を決定することで、他方のフィルタ係数も決定される。例えば、対角軸を基準として小数画素位置ａの補間フィルタをミラーリングしたものが、小数画素位置ｄの補間フィルタである。
【０２１２】
なお、ミラー軸上（図１３Ｃの点線）の小数画素位置（図１３Ｃのｅ，ｊ，ｏ）に固有の補間フィルタのフィルタ係数は、それら自身に対して対称、つまり、図１１に示すように、ｆi,j(p,p)＝ｆj,i(p,p)である。このようにして、決定しなければならない独立係数の数を減らしている。
【０２１３】
図１３Ｄ及び図１３Ｅは、上述したミラー対称を組み合わせたものである。図１３Ｄは、垂直軸及び水平軸に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。図１３Ｄに異なる網掛けで示すように、小数画素位置ａとｃ、ｄとｌ、ｅとｇとｍとｏ、ｆとｎ、ｉとｋがそれぞれ対称関係にあり、対称関係にある小数画素位置のいずれか１つのフィルタ係数を決定することで、残りのフィルタ係数も決定される。
【０２１４】
図１３Ｅは、垂直軸、水平軸及び対角軸に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。図１３Ｅに異なる網掛けで示すように、小数画素位置ａとｃとｄとｌ、ｂとｈ、ｅとｇとｍとｏ、ｆとｉとｋとｎがそれぞれ対称関係にあり、対称関係にある小数画素位置のいずれか１つのフィルタ係数を決定することで、残りのフィルタ係数も決定される。
【０２１５】
決定され、かつ、シグナリングされなければならない独立フィルタ係数の数を減らすために、上述した各対称性、又は、それらの組み合わせを用いてもよい。このようにして、決定プロセスのロバスト性を改善し、シグナリングオーバーヘッドを低減する。
【０２１６】
なお、上記いずれかの対称性を、必ずしも全ての小数画素の固有の補間フィルタに適用する必要はない。むしろ、上述した各対称性は、適応的補間フィルタの小数セットのみ、例えば、ｐ≠ｑである非対角位置などの特定の小数画素位置のみに適用される。さらに、小数画素の固有の補間フィルタの個々のペアのみが、上述した対称関係のいずれかに一致する対称関係にあるとみなしてもよい。図１３Ｆに、この一例を示す。
【０２１７】
図１３Ｆは、対称関係の一部のみを利用する場合の小数画素位置の対称関係を示す図である。同図では、小数画素位置ａとｃの補間フィルタ、及び、小数画素位置ｋとｎの補間フィルタが、対称である。
【０２１８】
対称性とは別に、適応的補間フィルタの独立フィルタ係数の数を減らすためにその他の限定を用いてもよい。例えば、２次元の適応的補間フィルタを整数画素列（ｐ＝０）及び／又は整数画素行（ｑ＝０）の１次元の適応的補間フィルタとしてもよい。この場合、適応的補間フィルタは（式９）及び／又は（式１０）となる。
【０２１９】
【数９】
2009047917.tif 000063
【０２２０】
【数１０】
2009047917.tif 000064
【０２２１】
その他よく用いられる限定には、分離性の仮定、つまり、２つの１次元の補間フィルタに分解できる２次元の補間フィルタへの限定がある。分離型適応的補間フィルタは（式１１）で示される。
【０２２２】
【数１１】
2009047917.tif 000065
【０２２３】
ここで、ｇi(p,q)及びｈj(p,q)は、それぞれ水平方向及び垂直方向の１次元補間フィルタのフィルタ係数である。６×６タップ適応的補間フィルタの場合、独立フィルタ係数の数は、非分離型フィルタの小数画素位置につき６×６＝３６個から、２つの１次元フィルタの小数画素位置につき６＋６＝１２個まで減少する。
【０２２４】
また、水平方向及び／又は垂直方向の１次元補間フィルタが小数画素の平行移動に対して不変であるとみなすことによって、独立フィルタ係数の数を減らしてもよい。したがって、（式１２）及び／又は（式１３）となる。
【０２２５】
【数１２】
2009047917.tif 000066
【０２２６】
【数１３】
2009047917.tif 000067
【０２２７】
ここで、ｇi(p)及びｈj(p)はそれぞれ、垂直方向及び水平方向の小数画素位置には関係しない、水平方向及び垂直方向の１次元補間フィルタのフィルタ係数である。
【０２２８】
なお、上述した限定もまた、シグナリングオーバーヘッドを減少させるために、上述した対称特性だけでなく互いに組み合わせてもよい。特に好ましい上述の限定の組み合わせは、整数画素行及び列の１次元補間の分離型適応的補間フィルタと、垂直方向の平行移動に不変な水平補間フィルタとの組み合わせである。すなわち、（式１４）で示される補間フィルタである。
【０２２９】
【数１４】
2009047917.tif 000068
【０２３０】
この形式のフィルタは、以下のようにして推定される。第１ステップで、入力映像データから水平方向の補間フィルタを決定し、決定された水平方向の補間フィルタを適用する。そして、第２ステップで水平方向の補間された映像データから垂直方向の補間フィルタを決定する。
【０２３１】
この方法は、図１４Ａ及び図１４Ｂに示される。図１４Ａは、分離型適応的補間フィルタの水平方向の補間フィルタを適用する場合の小数画素位置の一例を示す図である。図１４Ａにおいて、八角形は小数画素位置ａ、ｂ、及びｃを示し、各位置のフィルタは、第１ステップで計算される。
【０２３２】
図１４Ｂは、分離型適応的補間フィルタの垂直方向の補間フィルタを適用する場合の小数画素位置の一例を示す図である。図１４Ｂに示す丸は、その他の小数画素位置を示し、第２ステップで補間フィルタが決定される。
【０２３３】
図１４Ｃは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係の一例を示す図である。同図では、小数画素位置ａ及びｃにおいて、水平方向に対称な対称フィルタを含む分離型適応的補間フィルタの一例を示す。すなわち、垂直軸を基準にして小数画素位置ａの補間フィルタをミラーリングしたものが、小数画素位置ｃの補間フィルタである。
【０２３４】
図１４Ｄは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係の一例を示す図である。同図では、小数画素位置ｅ及びｍにおいて、垂直方向に対称な対称フィルタを含む分離型適応的補間フィルタの一例を示す。すなわち、水平軸を基準にして小数画素位置ｅの補間フィルタをミラーリングしたものが、小数画素位置ｍの補間フィルタである。
【０２３５】
図１４Ｅは、分離型適応的補間フィルタを適用する場合の小数画素位置の平行移動の関係の一例を示す図である。同図では、例えば、小数画素位置ｄの垂直補間フィルタｈj(q)（式１２参照）を水平方向に平行移動させた、すなわち、小数画素位置ｄの垂直補間フィルタを小数画素位置ｅ、ｆ及びｇにも適用する例を示している。小数画素位置ｈ、ｉ、ｊ、ｋとｌ、ｍ、ｎ、ｏとの関係についても同様である。
【０２３６】
図１４Ｆは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係と平行移動の関係との一例を示す図である。図１４Ｆは、図１４Ｃと図１４Ｄと図１４Ｅとの組み合わせであり、適応的補間フィルタは、４つの独立小数画素位置の固有１次元補間フィルタからのみ構成される。
【０２３７】
図１４Ｇは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係と平行移動の関係との一例を示す図である。同図では、水平方向に対称な対称フィルタを、垂直方向に対称な対称フィルタにも兼用した場合を示す。すなわち、小数画素位置ａと小数画素位置ｄとは回転対称の関係にある場合を示す。小数画素位置ａとｄとは共に、整数画素から１／４画素の位置にあるため、補間フィルタを兼用することが可能になる。同様に、小数画素位置ｂとｈとは共に、整数画素から１／２画素の位置にあるため、補間フィルタを兼用することが可能になる。
【０２３８】
さらに、図１４Ｅに示したように、小数画素位置ｄの補間フィルタを小数画素位置ｅ、ｆ及びｇにも適用することができる。小数画素位置ｈ、ｉ、ｊ、ｋと、ｌ、ｍ、ｎ、ｏとの関係についても同様である。
【０２３９】
これにより、図１４Ｇに示す例では、例えば、小数画素位置ａとｂとの２つの小数画素位置の１次元補間フィルタを決定するだけでよい。
【０２４０】
ここで、映像復号装置２００が図６Ｂに示すフローチャートに従って、図１４Ｇに示す例における補間フィルタを復号及び決定する場合について説明する。例えば、まず、小数画素位置ａの補間フィルタを決定する場合について説明する。
【０２４１】
小数画素位置ａの補間フィルタは、図１２（ａ）に示すようにフィルタ係数が対称ではないので（Ｓ３０１でＮｏ）、動き補償予測部２６０は、補間フィルタの全フィルタ係数を復号及び決定する（Ｓ３０３）。
【０２４２】
小数画素位置ａは、小数画素位置ｃと対称関係にあるので、小数画素位置ａの補間フィルタをミラーリングすることで、小数画素位置ｃの補間フィルタを決定する。さらに、小数画素位置ａは、小数画素位置ｄと回転対称の関係にあるので、小数画素位置ａの補間フィルタを回転することで、小数画素位置ｄの補間フィルタを決定する。小数画素位置ｃと小数画素位置ｌとも回転対称の関係にあるので、同様にして小数画素位置ｌの補間フィルタも決定される。さらに、小数画素位置ｄと小数画素位置ｅとは、平行移動の関係にあるので、小数画素位置ｄの補間フィルタを平行移動させることで、小数画素位置ｅの補間フィルタを決定する。同様にして、小数画素位置ｆ、ｇ、ｍ、ｎ及びｏの補間フィルタも決定する（Ｓ３０４）。
【０２４３】
ここで、動き補償予測部１６０は、まだ小数画素位置ｂの補間フィルタが決定されていないので（Ｓ３０５でＮｏ）、小数画素位置ｂの補間フィルタを決定する。小数画素位置ｂの補間フィルタは、図１１に示すようにフィルタ係数が対称であるので（Ｓ３０１でＹｅｓ）、補間フィルタのフィルタ係数の半分のみを復号し、復号したフィルタ係数をミラーリングすることで残りのフィルタ係数を決定する（Ｓ３０２）。
【０２４４】
小数画素位置ｂは、小数画素位置ｈと回転対称の関係にあるので、小数画素位置ｂの補間フィルタを回転することで、小数画素位置ｈの補間フィルタを決定する。さらに、小数画素位置ｈと小数画素位置ｉとは、平行移動の関係にあるので、小数画素位置ｈの補間フィルタを平行移動させることで、小数画素位置ｉの補間フィルタを決定する。同様にして、小数画素位置ｊ及びｋの補間フィルタも決定する（Ｓ３０４）。
【０２４５】
以上のようにして、全部の補間フィルタの復号及び決定が完了したので（Ｓ３０５でＹｅｓ）、この補間フィルタを用いて小数画素精度の動き補償を実行する。
【０２４６】
なお、図６Ｂのフローチャートでは、１つの小数画素位置の補間フィルタを決定した場合に、当該小数画素位置と対称関係にある補間フィルタを全て決定する手順を示したが、予め定められた小数画素位置の順（例、ａ→ｂ→…→ｏ）に従って補間フィルタを決定してもよい。
【０２４７】
この場合、対象となる小数画素位置が他の小数画素位置と対称関係にあるかが判定され、対称関係がない場合は、補間フィルタのフィルタ係数を決定する。対称関係があり、かつ、対称関係を有する他の小数画素位置の補間フィルタが既に決定されている場合は、ミラーリング、平行移動、又は、回転移動によって補間フィルタを決定する。なお、フィルタ係数を決定する際に、補間フィルタ自体が対称であるか否かが判定され、対称である場合は、補間フィルタの半分のフィルタ係数のみを決定し、決定したフィルタ係数をミラーリングすることで残りのフィルタ係数を決定する。
【０２４８】
以上の処理を、小数画素位置の順（例、ａ→ｂ→…→ｏ）に行うことで、各小数画素位置の補間フィルタが決定される。
【０２４９】
以上のように、動き補償予測部１６０は、上述の対称性及び限定、又は、それらの組み合わせのいずれかを用いることにより、補間フィルタの特性を必要に応じて設定する。これにより、例えば、独立フィルタ係数の数を減らせる可能性を利用して、できる限り予測誤差を低減した正確な補間フィルタと、独立フィルタ係数を多数符号化することにより生じるシグナリングオーバーヘッドとの間のトレードオフを最適化することができる。
【０２５０】
通常、フィルタタイプを適応的に設定し、さらに、フィルタ係数も適応的に決定する場合、映像復号装置に伝送しなければならない符号量が非常に多くなる。これに対して、上述したように、小数画素位置の対称性と、補間フィルタ自体のフィルタ係数の対称性との２つの対称性を利用することで、決定及び符号化しなければならないフィルタの数を大幅に削減することができる。これにより、符号量が大幅に減少するので、高い予測効率を保ちつつ、符号化効率を高めることができる。
【０２５１】
そのために、例えば、フィルタ特性を、画像内容、特に画像内に存在する動きの量に従って設定してもよい。また、フィルタ特性を、空間画像解像度に従って、又は、達成される圧縮率に応じて設定してもよい。例えば、フィルタ特性の候補のうちのどれが最適な圧縮率を提供するかに応じて、有限数のフィルタ特性の候補からフィルタ特性を選択してもよい。
【０２５２】
また、動き補償予測部１６０は、フィルタ特性を、上述したように自動的に、又は、ユーザに最も適切なフィルタ特性を選択させるように手動で、設定してもよい。フィルタ特性の設定は、１つの動画につき１回だけ、又は、スライスごと又はシーケンスごとに、繰り返し行ってもよい。しかしながら、本発明の範囲内で、フィルタ特性は、様々な程度で頻繁に設定されてもよい。
【０２５３】
（シグナリング）
以下に、エントロピー符号化部１９０が生成する符号化信号、すなわち、出力ビットストリームを映像復号装置（デコーダ）に伝送する（シグナリングする）処理について説明する。
【０２５４】
本実施の形態の映像符号化装置１００（エンコーダ）では、フィルタ特性（フィルタタイプ、タップ数など）とフィルタ係数とが固定的ではないので、デコーダが入力された符号化映像データを復号できるように、フィルタ係数をシグナリングしなければならない。フィルタ係数セット内にフィルタ特性を設定するため、冗長性を活用することによりフィルタ係数を符号化映像データとともに符号化すれば、符号化効率を最適化できる。
【０２５５】
例えば、別個の小数画素位置に対する対称補間フィルタは一度だけ符号化すればよい。同様に、自分自身で対称性があるフィルタ係数を有する補間フィルタは、先に符号化されたフィルタ係数からは再構成できないフィルタ係数のみを符号化することによって効率よく符号化できる。より一般的には、独立フィルタ係数の数を減らす補間フィルタのどの限定も、当該限定に従って先に符号化された係数からは得られないそれらのフィルタ係数だけを符号化することによって活用できる。例えば、２次元補間フィルタ自身の多数の係数を符号化するよりも２つの１次元補間フィルタのフィルタ係数を符号化することによって、分離形補間フィルタを符号化することが好ましい。
【０２５６】
いずれの場合でも、シグナリングオーバーヘッドの低減のために活用されるフィルタ特性は、デコーダにもシグナリングされる必要がある。これは、明示的又は暗示的なシグナリング方法のいずれか一方で実現されてもよい。
【０２５７】
明示的なシグナリングとは、フィルタ特性が符号化映像データとともに明示的に符号化されることを意味する。これにより、シグナリングオーバーヘッドが増加する代償として、所望の特性を設定することに対する最も高い柔軟性が与えられる。
【０２５８】
一方、暗示的なシグナリングとは、エンコーダがどのようにフィルタ特性を選択したのかに関する予備知識に基づいて、デコーダがフィルタ特性に関する情報を得なければならないということを意味する。例えば、エンコーダは、対称補間フィルタのペアそれぞれの１つのみの補間フィルタを伝送してもよい。また、デコーダは、伝送されなかった補間フィルタは全て、伝送されたフィルタのうち対応する１つと対称性があると判断してもよい。シグナリングの本形式ではエンコーダとデコーダとの間で実際に用いる可能性がある対称性について取り決めが必要なため、柔軟性が低いことは明らかである。しかしながら、シグナリングオーバーヘッドは最小に抑えられる。
【０２５９】
以下に、具体的なシグナリングの例をスライスレベルの典型的なシンタックスエレメントとともに示す。これらの例は、説明のためであって、本発明の範囲を限定するものではない。
【０２６０】
第１のシグナリング例によると、対称フィルタを適用するか否かをシグナリングするために、フィルタタイプごとに１つのフラグのみが必要とされる。フィルタタイプ（例えば、分離型又は非分離型）ごとに、エンコーダ及びデコーダによって確定かつ識別される１つの固有の対称パターンがサポートされる。１つの対称パターンしかサポートされないので、このアプローチは、フィルタ係数のオーバーヘッド・ビットレートと、結果として生じる予測効率とのトレードオフを制御するような限定された柔軟性を提供する。
【０２６１】
図１５は、本実施の形態のシグナリングを実行するための第１のシンタックスエレメントを示す図である。同図は、一例として、１／４画素精度で、かつ、６タップフィルタ長での予測時において、非分離型及び分離型フィルタの対称性をシグナリングするための、スライスレベルの典型的なシンタックスエレメントを示し、フィルタの対称性とフィルタとを暗示的にシグナリングする場合を示している。
【０２６２】
ここで、ａｐｐｌｙ＿ａｄａｐｔｉｖｅ＿ｆｉｌｔｅｒは、固定フィルタ（非適応的フィルタ）の場合は０で、適応的フィルタの場合は１である。ｓｌｉｃｅ＿ｆｉｌｔｅｒ＿ｔｙｐｅ（スライスレベルの適応的フィルタ）は、非分離型フィルタの場合は０で、分離型フィルタの場合は１である。ａｐｐｌｙ＿ｓｙｍｍｅｔｒｉｃ＿ｆｉｌｔｅｒは、非対称フィルタの場合は０で、対称フィルタの場合は１である。ｕｓｅ＿ａｌｌ＿ｓｕｂｐｅｌ＿ｐｏｓｉｔｉｏｎｓは、小数画素位置全てを適応的フィルタで算出しない場合は０で、小数画素位置全てを適応的フィルタで算出する場合は１である。ｐｏｓｉｔｉｏｎｓ＿ｐａｔｔｅｒｎは、小数画素位置をシグナリングするバイナリマスクであって、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４の固定フィルタの場合は０で、適応的フィルタの場合は１で適応的フィルタが適用される。
【０２６３】
ｍａｘ＿ｓｕｂ＿ｐｅｌ＿ｐｏｓの値は、ａｐｐｌｙ＿ｓｙｍｍｅｔｒｉｃ＿ｆｉｌｔｅｒの値によって決まる。非対称フィルタ（すなわち、ａｐｐｌｙ＿ｓｙｍｍｅｔｒｉｃ＿ｆｉｌｔｅｒ＝０）の場合、ｍａｘ＿ｓｕｂ＿ｐｅｌ＿ｐｏｓは、小数画素位置の総数に等しい（例えば、１／４画素動きベクトル解像度の場合：ｍａｘ＿ｓｕｂ＿ｐｅｌ＿ｐｏｓ＝１５）。対称フィルタ（すなわち、ａｐｐｌｙ＿ｓｙｍｍｅｔｒｉｃ＿ｆｉｌｔｅｒ＝１）の場合、ｍａｘ＿ｓｕｂ＿ｐｅｌ＿ｐｏｓは、活用する対称量に応じて、小数画素位置の総数より少なくなる。
【０２６４】
対称フィルタの場合、すなわち、ａｐｐｌｙ＿ｓｙｍｍｅｔｒｉｃ＿ｆｉｌｔｅｒが１であれば、デコーダは欠落しているフィルタ係数を伝送されたフィルタ係数から復元する。
【０２６５】
以上のように、第１のシグナリングシンタックスによれば、補間フィルタのフィルタタイプが、適応的／非適応的、分離型／非分離型、及び、対称／非対称のいずれであるかをそれぞれ示すためのフラグが用意されている。さらに、フィルタタイプが適応的であるか非適応的であるかを小数画素位置ごとに定めることができる。
【０２６６】
第２のシグナリング例は、フィルタ特性の明示的なシグナリングを参照する。この例では、フィルタ係数のオーバーヘッド・ビットレートと、結果として生じる予測効率とのトレードオフを制御するための高い柔軟性を提供するために、対称性の明示的なシグナリングを用いる。全種類の対称性がデコーダにシグナリングされる。この概念では、対応する対称性をシグナリングするためのオーバーヘッド・ビットレートが増加することになってもよい。
【０２６７】
第２のシグナリング例によると、フィルタＩＤが各別個のフィルタに割り当てられる。これにより、全種類の対称性とシグナリングの効率的な方法とが可能になる。図１６Ａ〜図１６Ｃでは、選択した対称パターンに対して異なるフィルタを伝送する必要がある。
【０２６８】
図１６Ａは、小数画素位置における対称性の一例を示す図である。同図には、同じ形状（八角形又は丸）かつ同じ網掛けの小数画素位置の補間フィルタは、対称フィルタであることを示している。
【０２６９】
図１６Ｂは、フィルタＩＤが割り当てられた小数画素位置の補間フィルタの一例を示す図である。同図は、図１６Ａに示すような対称性を有する小数画素位置の補間フィルタに対して、フィルタＩＤを割り当てた例を示している。すなわち、図１６Ｂに示すように、ａからｏまでの各小数画素位置へ、対応するフィルタＩＤが伝送される（図１６Ｂでは、｛１，２，１，３，４，５，６，７，８，９，１０，３，４，５，６｝）。なお、０の値は、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４などの非適応的フィルタである。
【０２７０】
例えば、フィルタＩＤ１は、フィルタ係数｛ｃｏｅｆｆ１，ｃｏｅｆｆ２，ｃｏｅｆｆ３，ｃｏｅｆｆ４，ｃｏｅｆｆ５，ｃｏｅｆｆ６｝で小数画素位置ａ及びｃに割り当てられる。小数画素位置ａではフィルタを直接適用する。一方で、小数画素位置ｃではフィルタをミラーして（＝｛ｃｏｅｆｆ６，ｃｏｅｆｆ５，ｃｏｅｆｆ４，ｃｏｅｆｆ３，ｃｏｅｆｆ２，ｃｏｅｆｆ１｝）適用する。
【０２７１】
フィルタをミラーする必要があるか否かを判断するために、デコーダは、スキャン中に対称フィルタＩＤが初めて出現するところを見つけなければならない。例えば、小数画素位置ｌにフィルタＩＤ３を割り当て、フィルタＩＤ３が小数画素位置ｄに初めて出現したとする。次の整数画素位置（又は、第１ステップで算出された小数画素位置（八角形））までの距離に応じて、位置ｌにおけるフィルタは位置ｄにおけるフィルタをミラーしたフィルタでなければならないことは明らかである。
【０２７２】
図１７は、本実施の形態のシグナリングを実行するための第２のシンタックスエレメントの抜粋を示す図である。同図には、一例として、第２のシグナリング例における、１／４画素精度で、かつ、６タップフィルタ長での予測時において、フィルタの対称性とフィルタとを明示的にシグナリングする場合の典型的なシンタックスエレメントを示す。なお、本例では、シグナリングはスライスレベルで行われるが、本シグナリングは、シーケンス又はピクチャレベルでも可能である。さらに、シーケンスレベルでフィルタＩＤを伝送すること（対称パターンはシーケンス全体を通して同じになる）、及び、割り当てられたフィルタをピクチャ又はスライスレベルで更新することも可能である。なお、本発明を逸脱しない範囲で、その他の組み合わせも考えられる。
【０２７３】
ここで、ａｐｐｌｙ＿ａｄａｐｔｉｖｅ＿ｆｉｌｔｅｒは、固定フィルタの場合は０で、適応的フィルタの場合は１である。ｓｌｉｃｅ＿ｆｉｌｔｅｒ＿ｔｙｐｅ（スライスレベル適応的フィルタ）は、非分離型フィルタの場合は０で、分離型フィルタの場合は１である。ｆｉｌｔｅｒ＿ｉｄ［ｓｕｂ＿ｐｅｌ］は、対応するフィルタを各小数画素位置に割り当てる。ｆｉｌｔｅｒ＿ｌｅｎｇｔｈ［ｆｉｌｔｅｒ＿ｎｕｍ］は、フィルタ長をシグナリングし、上述したようなフィルタの対称性を処理する。ｍａｘ＿ｆｉｌｔｅｒ＿ｎｕｍは、伝送しなければならないフィルタの最大数（図１６Ｂでは１０）をシグナリングし、フィルタＩＤの最大値と等しくなる。
【０２７４】
以上のように、第２のシンタックスエレメントによれば、小数画素位置ごとに割り当てられたフィルタＩＤをシグナリングすることができ、さらに、伝送しなければならないフィルタの最大数をシグナリングすることができる。
【０２７５】
第３のシグナリング例によると、上述したシグナリングに加えて、さらに、図１６Ｃに示すように、各小数画素位置の対称又は非対称を示すビットマスク（対称マスク）を伝送することが可能である。図１６Ｃは、小数画素位置の補間フィルタごとに対称性の利用の可否を示す対称マスクの一例を示す図である。対称マスクの値が０であることは、その小数画素位置に対して、新たなフィルタが伝送されたことをシグナリングする。対称マスクの値が１であることは、その小数画素位置に対して新たなフィルタが伝送されなかったことをシグナリングする。
【０２７６】
図１６Ｃに示す例では、対称マスク（｛０，０，１，０，０，０，０，０，０，０，０，１，１，１，１｝）に加えて、１０個のフィルタ（対称マスクが０である小数画素位置の個数のフィルタ）を伝送する必要がある。これらのフィルタは、小数画素位置ａから小数画素位置ｏへの昇順で伝送される。
【０２７７】
例えば、図１６Ｃに示すように、対称マスクによって小数画素位置ｃにおいて値１がシグナリングされれば、デコーダは位置ａに割り当てられたフィルタのミラーバージョンを使用しなければならないと識別できる。位置ｌの場合は、位置ｄのフィルタのミラーバージョンを適用しなければならない。
【０２７８】
本概念を実現するには、ある小数画素位置（例えば、ｃ→ａ，ｌ→ｄ，ｍ→ｅ，…）において対称性がシグナリングされるのであれば、エンコーダとデコーダと共に同じフィルタペアを使用しなければならない。このことにより、設計の柔軟性は定義済みの対称ペアに限定されるが、対称性の明示的なシグナリングと比較してオーバーヘッドは低減する。それであっても、第１のシグナリング例で説明した対称性の暗示的なシグナリングよりも柔軟性に優れている。
【０２７９】
第３のシグナリング例の典型的なシンタックスを図１８に示す。図１８は、本実施の形態のシグナリングを実行するための第３のシンタックスエレメントの抜粋を示す図である。
【０２８０】
ここで、ａｐｐｌｙ＿ａｄａｐｔｉｖｅ＿ｆｉｌｔｅｒは、固定フィルタの場合は０で、適応的フィルタの場合は１である。ｓｌｉｃｅ＿ｆｉｌｔｅｒ＿ｔｙｐｅ（スライスレベル適応的フィルタ）は、非分離型フィルタの場合は０で、分離型フィルタの場合は１である。ｓｙｍｍｅｔｒｙ＿ｍａｓｋは、対称性をシグナリングするバイナリパターンであり、そのバイナリパターンの最上位ビット（ＭＳＢ：Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）信号が小数画素位置ａを反映し、最下位ビット（ＬＳＢ：Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）信号が小数画素位置ｏを反映する。ｆｉｌｔｅｒ＿ｌｅｎｇｔｈ［ｆｉｌｔｅｒ＿ｎｕｍ］は、フィルタ長をシグナリングし、上述したようなフィルタの対称性を対処する。
【０２８１】
ｍａｘ＿ｆｉｌｔｅｒ＿ｎｕｍの値は、伝送しなければならないフィルタ数（ここでは、１０）を指定し、ｍａｘ＿ｆｉｌｔｅｒ＿ｎｕｍは、１５からｓｙｍｍｅｔｒｙ＿ｍａｓｋのシグナリングされた対称の数（図１６Ｃでは、５）を引いたものと等しくなる。
【０２８２】
以上のように、第３のシンタックスエレメントによれば、対称マスクを設定することで、どの小数画素位置の補間フィルタが対称フィルタであるかを容易に判別することができる。
【０２８３】
第４のシグナリング例では、上述したフィルタ特性を（式６）〜（式１４）とともに参照する。本シグナリング例の典型的なシンタックスの抜粋を図１９に示す。
【０２８４】
図１９は、本実施の形態のシグナリングを実行するための第４のシンタックスエレメントの抜粋を示す図である。
【０２８５】
ここで、ａｐｐｌｙ＿ａｄａｐｔｉｖｅ＿ｆｉｌｔｅｒは、固定フィルタの場合は０で、適応的フィルタの場合は１である。ｆｉｌｔｅｒ＿ｔｙｐｅは、非分離型フィルタの場合は０、分離型フィルタの場合は１（式１１参照）。水平の平行移動に不変な垂直補間フィルタの分離型フィルタの場合は２（式１２参照）、垂直の平行移動に不変な水平補間フィルタの分離型フィルタの場合は３（式１３参照）、整数画素行／列の１次元補間かつ垂直の平行移動に不変な水平補間フィルタの分離型フィルタの場合は４（式１４参照）である。
【０２８６】
ｓｙｍｍｅｔｒｙ  ｔｙｐｅは、非対称フィルタの場合は０、水平対称フィルタの場合は１（式６参照）、垂直対称フィルタの場合は２（式７参照）、対角対称フィルタの場合は３（式８参照）、ｐ≠ｑの対角対称フィルタの場合は４（ｐ≠ｑの場合の式８参照）である。ｆｕｌｌ＿ｐｅｌ＿ｒｏｗ＿ｃｏｌｕｍｎ＿ｉｎｔｅｒｐｏｌａｔｉｏｎ＿ｔｙｐｅは、２次元補間の場合は０、整数画素列の１次元補間の場合は１（式６参照）、整数画素行の１次元補間の場合は２（式７参照）、整数画素列及び整数画素行の１次元補間の場合は３である。ｆｉｌｔｅｒ＿ｌｅｎｇｔｈ［ｆｉｌｔｅｒ＿ｎｕｍ］は、フィルタ長をシグナリングする。ｆｉｌｔｅｒ＿ｃｏｅｆには、量子化されたフィルタ係数が含まれる。ｍａｘ＿ｆｉｌｔｅｒ＿ｎｕｍは、伝送されたフィルタタイプ及び対称性から決定されるフィルタの数である。
【０２８７】
本発明の実施の形態によると、非分離型と分離型フィルタとの切換は、小数画素位置に依存して行うことが可能である。全体的な動きの場合、１つのピクチャ内の大部分の動きベクトルは、１つの特定の小数画素位置を指す。したがって、対称性を活用せずに非分離型フィルタを適用することによって、この小数画素位置に対して最も高い予測効率を得ることが有益である。その他の小数画素位置全てに対しては（ローカルな動きの場合）、低レベルでフィルタリングする複雑性だけでなくオーバーヘッド・ビットレートも維持するためだけに分離型フィルタを適用することが効果的であると考えられる。
【０２８８】
このような分離型及び非分離型フィルタの小数画素位置に依存したシグナリングは、シーケンスレベル（ＳＰＳ）、ピクチャレベル（ＰＰＳ）、スライスレベル、マクロブロックレベルに至るまで行うことが可能である。
【０２８９】
以下の第５のシグナリング例は、ひとつの非分離型フィルタ、いくつかの分離型フィルタ、及び非分離型フィルタの位置を含むシンタックスを示している。非分離型フィルタを２以上伝送することも可能である点に留意されたい。
【０２９０】
図２０は、本実施の形態のシグナリングを実行するための第５のシンタックスエレメントの抜粋を示す図である。
【０２９１】
ここで、ａｐｐｌｙ＿ａｄａｐｔｉｖｅ＿ｆｉｌｔｅｒは、固定フィルタの場合は０で、適応的フィルタの場合は１である。ｐｏｓ＿ｏｆ＿ｎｏｎ＿ｓｅｐ＿ｆｉｌｔｅｒは、非分離型フィルタを適用する小数画素位置をシグナリングし、つまり、小数画素位置ａの場合は０で、小数画素位置ｏの場合は１５であり、その一方で、分離型フィルタをその他の小数画素位置全てに適用する。ｆｉｌｔｅｒ＿ｃｏｅｆ＿ｎｏｎ＿ｓｅｐには非分離型フィルタひとつの係数が含まれる。ｆｉｌｔｅｒ＿ｃｏｅｆ＿ｓｅｐには、１／４画素予測精度の場合、分離型フィルタ１４個分の係数が含まれる。
【０２９２】
（差分符号化）
非対称フィルタの場合、オーバーヘッドのデータ量を削減するため、小数画素位置に応じて、フィルタ係数の差分符号化を適用することができる。この考えでは、フィルタを信号統計へ最適化することを可能にするため非対称フィルタを算出するが、ある小数画素位置におけるフィルタ係数の類似性を活用し、それらの位置におけるフィルタ係数の差分符号化を適用して、オーバーヘッドのデータ量を削減する。このように、フィルタは同時に最適化されず、予測効率の損失もない。
【０２９３】
例えば、動き補償予測部１６０は、内部のメモリ１６１に直前のスライス又はピクチャのフィルタ係数などを格納させる。そして、動き補償予測部１６０は、内部に備える差分算出部（図示せず）を用いて、メモリ１６１に保持されたフィルタ係数と、新たに決定したフィルタ係数との差分を算出し、算出した差分のみをエントロピー符号化部１９０に供給する。なお、差分の対象となるフィルタ係数は、同一画素位置の補間フィルタのフィルタ係数が望ましい。同一画素位置の補間フィルタの方が、相関が高いことが多いためである。
【０２９４】
なお、メモリ１６１に保持させるフィルタ係数は、予め定められたデフォルトの補間フィルタのフィルタ係数でもよい。デフォルトの補間フィルタは、例えば、非適応補間フィルタとして用いられるフィルタである。
【０２９５】
例えば、分離型フィルタの場合、シグナリングオーバーヘッド量は、垂直方向の補間フィルタのフィルタ係数ｈj(p,q)（（式１１）参照）を、（式１５）に示すように水平方向に隣接する補間フィルタへの偏差のみという観点で伝送することによって、削減されると考えられる。
【０２９６】
【数１５】
2009047917.tif 000069
【０２９７】
または、（式１６）に示すように、対応する整数画素列の補間フィルタｈj(0,q)への偏差という観点で、垂直方向の補間フィルタのフィルタ係数ｈj(p,q)を伝送する。
【０２９８】
【数１６】
2009047917.tif 000070
【０２９９】
このように、垂直方向の１次元補間フィルタは、水平小数画素の平行移動に対して「ほぼ」不変である可能性が高いという事実を活用する。ゆえに、整数画素行に対応するフィルタ係数のみをそのまま伝送する必要があり、小数画素行のフィルタ係数は差分法で符号化される。
【０３００】
同様に、フィルタ係数の差分符号化を、上述した適応的補間フィルタの限定及び対称性のいずれかに適用する。図１２に示すような２つの「ほぼ」対称な小数画素固有補間フィルタの場合、それらのうち一方だけをそのまま符号化し、他方は、第１フィルタの対応係数に対する個々のフィルタ係数の差分のみを差分符号化する。例えば、垂直軸に対して垂直な場合（（式６）参照）は、フィルタ係数の差分は（式１７）となる。
【０３０１】
【数１７】
2009047917.tif 000071
【０３０２】
また、同様に、図１１に示すような自分自身で「ほぼ」対称なフィルタ係数を有する小数画素固有補間フィルタは、係数の前半部分（つまり、垂直軸に対して対称な場合にはｉ≦０の係数、（式６）参照）はそのまま符号化し、（式１８）に示すように、係数の後半部分（つまり、ｉ＞０）は対称性からの偏差のみを伝送することによって符号化してもよい。
【０３０３】
【数１８】
2009047917.tif 000072
【０３０４】
差分符号化に用いられる対称性は、デコーダへシグナリングされなければならない。これは、上記のシグナリング例に沿って暗示的又は明示的に実現できる。しかしながら、差分符号化に用いられる対称性は一連のフィルタ特性と別物でなければならないこと（そうでなければ、この対称性からの偏差全てが０になる）及び別々にシグナリングされなければならないことに留意されたい。
【０３０５】
以上のように、フィルタ係数そのものの値ではなく、フィルタ係数の差分値を符号化することで、符号化しなければならないデータ量をさらに削減することができ、符号化効率を高めることができる。
【０３０６】
以上のように、本発明は、小数画素精度の動き補償予測を用いるハイブリッド映像符号化装置及び映像復号装置に関し、予測精度とシグナリングオーバーヘッドとの間のトレードオフを最適化する適応的補間フィルタを用いる。この目的のために、適応的補間フィルタの対称性及びその他の限定などの特性を前もって設定する。これにより、独立フィルタ係数の数を制御できることができる。
【０３０７】
さらに、適応的補間のフィルタ係数は設定したフィルタ特性により決定される。また、映像復号装置が全く同じ補間を動き補償予測に適用できるように、フィルタ係数は映像復号装置に送信される。シグナリングオーバーヘッドは、設定されたフィルタ特性に従って係数を符号化することによっても低減される。
【０３０８】
以上、本発明の映像符号化方法、映像復号方法及びこれらの装置について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を当該実施の形態に施したものも、本発明の範囲内に含まれる。
【０３０９】
上述した手法に加えて、いくつかの他のアプローチを適用することにより、オーバーヘッド情報のビットレートを、さらに、削減することが可能である。典型的な手法を以下に３つ述べる。
【０３１０】
いくつかのピクチャに対してシーケンスの統計量及び特性が類似している場合、「上位レベル」のフィルタを参照してフィルタを差分符号化することにより、フィルタ係数の伝送ビットレートを低減することが可能である。例えば、各小数画素位置のフィルタをシーケンスレベル（ＳＰＳ）で伝送すると仮定する。この場合、前述のシーケンスレベルフィルタと対象フィルタ（ピクチャレベル、スライスレベル）との差分だけを伝送することが可能である。
【０３１１】
このアプローチは、参照スライスレベルフィルタと予測マクロブロックレベルフィルタとなどにも適用することができる。さらに、ピクチャレベル、スライスレベル、又は、マクロブロックレベルで、シーケンスレベルで伝送された参照フィルタの使用をシグナリングするフラグ、又は、次に伝送される新たなフィルタの使用をシグナリングするフラグを伝送することも可能である。しかしながら、前述の手法にはエラーを起こしやすいという欠点がある。伝送エラーのために参照フィルタが失われれば、予測フィルタを復元することはできない。
【０３１２】
さらに、フィルタ係数の時間予測を行うこと、つまり、あるピクチャ（スライス）から次のピクチャ（スライス）までのフィルタ係数の差分だけを符号化することができる。また、これを異なる参照ピクチャの動き検出と関連付けてもよい。つまり、動き検出中に参照ピクチャを決定するとすぐに、対応する参照ピクチャに使用されたフィルタを参照して予測に使用されたフィルタ係数を符号化する。しかしながら、この手法でもエラーは発生しやすい。伝送エラーのために参照フィルタが失われれば、予測フィルタを復元することはできない。
【０３１３】
オーバーヘッド・ビットレートは、エンコーダ及びデコーダが識別できる参照テーブルを適用することによって最小限まで削減することが可能である。シーケンスを広範囲にわたって診断することにより、小数画素位置に依存するフィルタの固定的な設定を定義することができる。
【０３１４】
映像符号化装置は、アプリケーション及び最適化基準（高予測効率、低複雑性）に応じて最もよいフィルタを選択し、対応するテーブルインデックスのみを伝送する。映像復号装置はフィルタ参照テーブルを識別できるので、伝送されたテーブルインデックスからフィルタを復元できる。しかしながら、このアプローチには、フィルタが信号統計に精度よく合わせることができないため、予測効率が低減するという欠点がある。また、参照テーブルのインデックスを伝送でき、さらに、参照テーブルから選ばれたフィルタと比較したフィルタ差分を伝送することができる。
【０３１５】
また、固定フィルタと適応的フィルタとを切り替えることも可能である。固定フィルタの適用には、さらなるフィルタ情報を伝送する必要はないという利点がある。適応的フィルタの適用には、フィルタを信号統計に合わせられるという利点がある。固定フィルタと適応的フィルタの切換は、結果として生じるオーバーヘッド・ビットレートも考慮するレートひずみ基準を適用することによって行われてもよい。
【０３１６】
このような切換は、シーケンスレベル（ＳＰＳ）、ピクチャレベル（ＰＰＳ）、スライスレベル、マクロブロックレベル又は小数画素位置依存で行うことが可能である。固定フィルタは、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４などの標準規格フィルタであってもよい。差分手法をフィルタ切換情報の符号化に適用してもよい。各ビットが、ある小数画素位置の固定フィルタ又は適応的フィルタをシグナリングする１５ビットマスクを考慮してもよい。
【０３１７】
なお、本発明は、上述したように、映像符号化方法、映像復号方法及びそれらの装置として実現できるだけではなく、本実施の形態の映像符号化方法及び映像復号方法をコンピュータに実行させるためのプログラムとして実現してもよい。また、当該プログラムを記録するコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体として実現してもよい。さらに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、これらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信されてもよい。
【０３１８】
また、本発明は、映像符号化装置及び映像復号装置を構成する構成要素の一部又は全部を、１個のシステムＬＳＩから構成してもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ及びＲＡＭなどを含んで構成されるコンピュータシステムである。
【産業上の利用可能性】
【０３１９】
本発明の映像符号化方法及び映像復号方法は、予測効率及び符号化効率を最適化できるという効果を奏し、例えば、映像符号化装置、映像復号装置、ビデオカメラ、及び、カメラ付携帯電話などに適用することができる。
【符号の説明】
【０３２０】
１００、３００  映像符号化装置
１１０  減算器
１２０  変換／量子化部
１３０、２３０  逆量子化／逆変換部
１３５、２３５  加算器
１３７、２３７  デブロッキングフィルタ
１４０、１６１、２４０、２６１  メモリ
１５０、２５０  イントラフレーム予測部
１６０、２６０、３６０、４６０  動き補償予測部
１７０  動き検出部
１８０、２８０  イントラ／インター切換スイッチ
１９０、３９０  エントロピー符号化部
２００、４００  映像復号装置
２９１、４９１  エントロピー復号部
５０１、５０２、５０３  変位ベクトル
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する映像符号化方法であって、
前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、
前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを前記入力画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、
前記動き補償ステップで生成された予測画像と、前記入力画像との差分を算出することで予測誤差を生成する減算ステップと、
前記減算ステップで生成された予測誤差を符号化する符号化ステップとを含む
映像符号化方法。
【請求項２】
前記符号化ステップでは、さらに、フィルタ決定ステップで設定されたフィルタ特性を符号化する
請求項１記載の映像符号化方法。
【請求項３】
前記フィルタ特性は、前記適応的補間フィルタのフィルタタイプを示す情報であり、
前記符号化ステップでは、さらに、前記フィルタ決定ステップで設定された適応的補間フィルタのフィルタタイプが、適応型又は非適応型、分離型又は非分離型、及び、対称又は非対称のうち少なくとも１つを示す情報を符号化する
請求項２記載の映像符号化方法。
【請求項４】
前記符号化ステップでは、さらに、フィルタ決定ステップで決定された複数のフィルタ係数を符号化する
請求項３記載の映像符号化方法。
【請求項５】
前記符号化ステップでは、前記複数のフィルタ係数間の対称性を利用することで、前記複数のフィルタ係数の冗長部分を除いて、前記複数のフィルタ係数を符号化する
請求項４記載の映像符号化方法。
【請求項６】
前記符号化ステップでは、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化する
請求項５記載の映像符号化方法。
【請求項７】
前記符号化ステップでは、互いに平行移動の対称関係を有する少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化する
請求項５記載の映像符号化方法。
【請求項８】
前記符号化ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数間での差分を符号化する
請求項５記載の映像符号化方法。
【請求項９】
前記符号化ステップでは、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素のうち、１つの小数画素の適応的補間フィルタの複数のフィルタ係数を符号化する
請求項５記載の映像符号化方法。
【請求項１０】
前記符号化ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数ごとに１つのフィルタ係数を符号化する
請求項５記載の映像符号化方法。
【請求項１１】
前記フィルタ特性は、前記適応的補間フィルタのサイズを示す情報であり、
前記符号化ステップでは、さらに、前記フィルタ決定ステップで設定された適応的補間フィルタのサイズを示す情報を符号化する
請求項２記載の映像符号化方法。
【請求項１２】
前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性をスライス単位で設定する
請求項１記載の映像符号化方法。
【請求項１３】
前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性を前記映像データ全体に１つのみ設定する
請求項１記載の映像符号化方法。
【請求項１４】
符号化ストリームから再構成された再構成画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記符号化ストリームを復号する映像復号方法であって、
前記符号化ストリームに含まれる符号化された予測誤差を復号する復号ステップと、
前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、
前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを、既に生成済みの再構成画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、
前記動き補償ステップで生成された予測画像と、前記復号ステップで復号された予測誤差とを加算することで、前記再構成画像を生成する加算ステップとを含む
映像復号方法。
【請求項１５】
前記復号ステップでは、さらに、前記符号化ストリームに含まれる前記適応的補間フィルタのフィルタ特性を復号し、
前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ特性に従って、複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定する
請求項１４記載の映像復号方法。
【請求項１６】
前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが、適応型又は非適応型、分離型又は非分離型、及び、対称又は非対称のうち少なくとも１つを示す情報を復号し、
前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタタイプに従って、前記複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定する
請求項１５記載の映像復号方法。
【請求項１７】
前記復号ステップでは、さらに、前記符号化ストリームに含まれる前記適応的補間フィルタの複数のフィルタ係数を復号し、
前記フィルタ決定ステップでは、前記復号ステップで復号された複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとのフィルタ係数として決定する
請求項１６記載の映像復号方法。
【請求項１８】
前記復号ステップでは、前記複数のフィルタ係数間の対称性を利用することで、前記複数のフィルタ係数の冗長部分を除いて前記複数のフィルタ係数が符号化された前記符号化ストリームから、当該複数のフィルタ係数を復号し、
前記フィルタ決定ステップでは、前記復号ステップで復号された複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとのフィルタ係数として決定する
請求項１７記載の映像復号方法。
【請求項１９】
前記復号ステップでは、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分と、前記少なくとも２つの小数画素のいずれか１つの小数画素の適応的補間フィルタのフィルタ係数とが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、
前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記所定の軸に対して対称の位置にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定する
請求項１８記載の映像復号方法。
【請求項２０】
前記復号ステップでは、互いに平行移動の対称関係を有する少なくとも２つの小数画素の適応的補間フィルタのフィルタ係数間の差分と、前記少なくとも２つの小数画素のいずれか１つの適応的補間フィルタのフィルタ係数とが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、
前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記平行移動の関係にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定する
請求項１８記載の映像復号方法。
【請求項２１】
前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数間での差分と、前記少なくとも２つのフィルタ係数のいずれか１つとが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、
前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記対称関係にある残りのフィルタ係数を決定する
請求項１８記載の映像復号方法。
【請求項２２】
前記復号ステップでは、少なくとも１つの所定の軸に対して対称の位置にある少なくとも２つの小数画素ごとに符号化されている１つの小数画素の適応的補間フィルタのフィルタ係数を復号し、
前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ係数から、前記所定の軸に対して対称の位置にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定する
請求項１８記載の映像復号方法。
【請求項２３】
前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも２つのフィルタ係数ごとに符号化されている１つのフィルタ係数を復号し、
前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ係数から、対称関係にある残りのフィルタ係数を決定する
請求項１８記載の映像復号方法。
【請求項２４】
前記フィルタ決定ステップでは、さらに、決定したフィルタ特性及びフィルタ係数をメモリに保持し、前記復号ステップで新たなフィルタ特性又はフィルタ係数が復号された場合に、新たに決定したフィルタ特性及びフィルタ係数に更新する
請求項１７記載の映像復号方法。
【請求項２５】
前記復号ステップでは、前記適応的補間フィルタのサイズを示す情報を復号し、
前記フィルタ決定ステップでは、前記適応的補間フィルタのサイズに従って、前記複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定する
請求項１５記載の映像復号方法。
【請求項２６】
前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性をスライス単位で設定する
請求項１４記載の映像復号方法。
【請求項２７】
前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性を前記符号化ストリームに含まれる映像データ全体に１つのみ設定する
請求項１４記載の映像復号方法。
【請求項２８】
映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する映像符号化装置であって、
前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定し、決定した複数のフィルタ係数を有する適応的補間フィルタを前記入力画像に適用することで、前記小数画素精度の動き補償を行う動き補償予測部と、
前記動き補償により生成された予測画像と、前記入力画像とを減算することで予測誤差を生成する減算部と、
前記減算部によって生成された予測誤差を符号化する符号化部とを備える
映像符号化装置。
【請求項２９】
符号化ストリームから再構成された再構成画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記符号化ストリームを復号する映像復号装置であって、
前記符号化ストリームに含まれる符号化された予測誤差を復号する復号部と、
前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定し、決定した複数のフィルタ係数を有する適応的補間フィルタを、既に生成済みの再構成画像に適用することで、前記小数画素精度の動き補償を行う動き補償部と、
前記動き補償部によって生成された予測画像と、前記復号部によって復号された予測誤差とを加算することで、前記再構成画像を生成する加算部とを備える
映像復号装置。
【請求項３０】
映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する映像符号化方法をコンピュータに実行させるプログラムであって、
前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、
前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを前記入力画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、
前記動き補償ステップで生成された予測画像を、前記入力画像から減算することで予測誤差を生成する減算ステップと、
前記減算ステップで生成された予測誤差を符号化する符号化ステップとを含む
プログラム。
【請求項３１】
符号化ストリームから再構成された再構成画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記符号化ストリームを復号する映像復号方法をコンピュータに実行させるプログラムであって、
前記符号化ストリームに含まれる符号化された予測誤差を復号する復号ステップと、
前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、
前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを、既に生成済みの再構成画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、
前記動き補償ステップで生成された予測画像と、前記復号ステップで復号された予測誤差とを加算することで、前記再構成画像を生成する加算ステップとを含む
プログラム。
【請求項３２】
映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する集積回路であって、
前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定し、決定した複数のフィルタ係数を有する適応的補間フィルタを前記入力画像に適用することで、前記小数画素精度の動き補償を行う動き補償予測部と、
前記動き補償により生成された予測画像と、前記入力画像とを減算することで予測誤差を生成する減算部と、
前記減算部によって生成された予測誤差を符号化する符号化部とを備える
集積回路。
【請求項３３】
符号化ストリームから再構成された再構成画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記符号化ストリームを復号する集積回路であって、
前記符号化ストリームに含まれる符号化された予測誤差を復号する復号部と、
前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定し、決定した複数のフィルタ係数を有する適応的補間フィルタを、既に生成済みの再構成画像に適用することで、前記小数画素精度の動き補償を行う動き補償部と、
前記動き補償部によって生成された予測画像と、前記復号部によって復号された予測誤差とを加算することで、前記再構成画像を生成する加算部とを備える
集積回路。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009047917.tif 000073
【図２】
2009047917.tif 000074
【図３】
2009047917.tif 000075
【図４】
2009047917.tif 000076
【図５】
2009047917.tif 000077
【図６Ａ】
2009047917.tif 000078
【図６Ｂ】
2009047917.tif 000079
【図７】
2009047917.tif 000080
【図８】
2009047917.tif 000081
【図９】
2009047917.tif 000082
【図１０】
2009047917.tif 000083
【図１１】
2009047917.tif 000084
【図１２】
2009047917.tif 000085
【図１３Ａ】
2009047917.tif 000086
【図１３Ｂ】
2009047917.tif 000087
【図１３Ｃ】
2009047917.tif 000088
【図１３Ｄ】
2009047917.tif 000089
【図１３Ｅ】
2009047917.tif 000090
【図１３Ｆ】
2009047917.tif 000091
【図１４Ａ】
2009047917.tif 000092
【図１４Ｂ】
2009047917.tif 000093
【図１４Ｃ】
2009047917.tif 000094
【図１４Ｄ】
2009047917.tif 000095
【図１４Ｅ】
2009047917.tif 000096
【図１４Ｆ】
2009047917.tif 000097
【図１４Ｇ】
2009047917.tif 000098
【図１５】
2009047917.tif 000099
【図１６Ａ】
2009047917.tif 000100
【図１６Ｂ】
2009047917.tif 000101
【図１６Ｃ】
2009047917.tif 000102
【図１７】
2009047917.tif 000103
【図１８】
2009047917.tif 000104
【図１９】
2009047917.tif 000105
【図２０】
2009047917.tif 000106
【国際調査報告】
2009047917.tif 000107
2009047917.tif 000108
2009047917.tif 000109