(57)【要約】  少ない計算量で効率的に適切なフィルタ係数を決定し得る二次元適応内挿フィルタのフィルタ係数決定方法は、対象ピクチャを構成するブロックごとに、参照ピクチャからのそのブロックの画像の動きを動きベクトルとして小数画素精度で検出する動き検出ステップ（Ｓ１００）と、検出された小数画素精度の動きベクトルを有する複数のブロックの中から、参照ピクチャ上の小数画素位置（ｐ，ｑ）を示す動きベクトルを有する１つ以上のブロックを特定する特定ステップ（Ｓ１０２）と、特定ステップで特定された１つ以上のブロックの画像と、その１つ以上のブロックの動きベクトルにより示される参照ピクチャ上の１つ以上のブロックの画像とに基づいて、小数画素位置（ｐ，ｑ）のフィルタ係数を決定する決定ステップ（Ｓ１０４）とを含む。
2008132828.tif 000002
【特許請求の範囲】
【請求項１】
二次元に配置された整数画素の画素値に基づいて、整数画素間に内挿される小数画素の画素値を算出するための二次元適応内挿フィルタのフィルタ係数を決定する方法であって、
対象ピクチャを構成するブロックごとに、参照画像からの当該ブロックの画像の動きを動きベクトルとして小数画素精度で検出する動き検出ステップと、
前記動き検出ステップによって検出された小数画素精度の動きベクトルを有する複数のブロックの中から、近傍にある整数画素との間で予め定められた相対的位置関係にある前記参照画像上の小数画素位置を示す第１の動きベクトルを有する１つ以上のブロックを特定する第１の特定ステップと、
前記第１の特定ステップで特定された１つ以上のブロックの画像と、前記１つ以上のブロックの第１の動きベクトルにより示される参照画像上の１つ以上のブロックの画像とに基づいて、前記小数画素位置のフィルタ係数を決定する第１の決定ステップと
を含むことを特徴とする二次元適応内挿フィルタのフィルタ係数決定方法。
【請求項２】
前記二次元適応内挿フィルタは、
水平方向および垂直方向の何れか一方である第１の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第１の一次元内挿フィルタと、
前記第１の方向と異なる水平方向または垂直方向である第２の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第２の一次元内挿フィルタとに分離可能であり、
前記第１の特定ステップでは、
前記予め定められた相対的位置関係を満たし、前記第１の方向において小数画素位置にあって且つ第２の方向において整数画素位置にある第１の小数画素位置を示す前記第１の動きベクトルを有する１つ以上のブロックを特定し、
前記第１の決定ステップでは、
前記第１の小数画素位置における前記第１の一次元内挿フィルタのフィルタ係数を決定し、
前記フィルタ係数決定方法は、さらに、
前記動き検出ステップによって検出された小数画素精度の動きベクトルを有する複数のブロックの中から、近傍にある整数画素との間で他の予め定められた相対的位置関係にあって前記第２の方向において小数画素位置にある前記参照画像上の第２の小数画素位置を示す第２の動きベクトルを有する１つ以上のブロックを特定する第２の特定ステップと、
前記第２の特定ステップで特定された１つ以上のブロックの画像と、前記１つ以上のブロックの第２の動きベクトルにより示される参照画像上の１つ以上のブロックの画像とに基づいて、前記第２の小数画素位置における前記第２の一次元内挿フィルタのフィルタ係数を決定する第２の決定ステップとを含む
ことを特徴とする請求項１記載の二次元適応内挿フィルタのフィルタ係数決定方法。
【請求項３】
前記第２の特定ステップでは、
前記他の予め定められた相対的位置関係を満たし、前記第１の方向において整数画素位置にあって且つ第２の方向において小数画素位置にある前記第２の小数画素位置を示す前記第２の動きベクトルを有する１つ以上のブロックを特定する
ことを特徴とする請求項２記載の二次元適応内挿フィルタのフィルタ係数決定方法。
【請求項４】
前記第２の特定ステップでは、
前記他の予め定められた相対的位置関係を満たし、前記第１および第２の方向において小数画素位置にある前記第２の小数画素位置を示す前記第２の動きベクトルを有する１つ以上のブロックを特定し、
前記第２の決定ステップでは、
前記第１の決定ステップで決定された前記第１の一次元内挿フィルタのフィルタ係数を前記第１の小数画素位置に適用し、適用された結果を用いて、前記第２の小数画素位置におけるフィルタ係数を決定する
ことを特徴とする請求項２記載の二次元適応内挿フィルタのフィルタ係数決定方法。
【請求項５】
前記第１の決定ステップでは、
前記第１の特定ステップによって特定された１つ以上のブロックの画像と、前記１つ以上のブロックの第１の動きベクトルにより示される参照画像上の１つ以上のブロックの画像との差分が最小になるように、前記小数画素位置に対するフィルタ係数を決定する
ことを特徴とする請求項１記載の二次元適応内挿フィルタのフィルタ係数決定方法。
【請求項６】
前記第１の決定ステップでは、
前記差分を最小にする線形方程式を解くことにより、前記小数画素位置に対するフィルタ係数を決定する
ことを特徴とする請求項５記載の二次元適応内挿フィルタのフィルタ係数決定方法。
【請求項７】
動画像を圧縮する方法であって、
請求項１記載の二次元適応内挿フィルタのフィルタ係数決定方法に含まれる全てのステップを実行することにより前記二次元適応内挿フィルタのフィルタ係数を決定するフィルタ係数決定ステップと、
前記小数画素位置を示す動きベクトルを有するブロックを対象ブロックとし、前記対象ブロックに対して動き補償を行うことにより、前記対象ブロックの予測画像を生成する動き補償ステップと、
前記動き補償ステップにより生成された予測画像と前記対象ブロックの画像との差分と、前記フィルタ係数決定ステップで決定されたフィルタ係数とを符号化する符号化ステップとを含み、
前記動き補償ステップでは、
前記フィルタ係数決定ステップで決定されたフィルタ係数を前記小数画素位置に適用することにより前記小数画素位置に内挿される小数画素の画素値を算出し、算出された画素値の小数画素を有する前記予測画像を生成する
ことを特徴とする動画像圧縮方法。
【請求項８】
前記二次元適応内挿フィルタは、
水平方向および垂直方向の何れか一方である第１の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第１の一次元内挿フィルタと、
前記第１の方向と異なる水平方向または垂直方向である第２の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第２の一次元内挿フィルタとに分離可能であり、
前記フィルタ係数決定ステップでは、
近傍にある整数画素との間で予め定められた相対的位置関係を満たし、前記第１の方向において小数画素位置にあって且つ第２の方向において整数画素位置にある前記参照画像上の第１の小数画素位置に対する第１の一次元内挿フィルタのフィルタ係数を決定し、さらに、
近傍にある整数画素との間で他の予め定められた相対的位置関係にあって前記第１および第２の方向において小数画素位置にある前記参照画像上の第２の小数画素位置に対する第２の一次元内挿フィルタのフィルタ係数を決定し、
前記動き補償ステップでは、
前記第２の小数画素位置を示す動きベクトルを有するブロックを対象ブロックとして扱い、前記第１の一次元内挿フィルタのフィルタ係数を前記第１の小数画素位置に適用し、さらに、前記第２の一次元内挿フィルタのフィルタ係数を前記第２の小数画素位置に適用することにより、前記第２の小数画素位置に内挿される小数画素の画素値を算出し、算出された画素値の小数画素を有する前記予測画像を生成する
ことを特徴とする請求項７記載の動画像圧縮方法。
【請求項９】
前記動き補償ステップでは、
前記参照画像の整数画素の画素値を変化させることなく、前記第１の一次元内挿フィルタのフィルタ係数を前記第１の小数画素位置に適用する
ことを特徴とする請求項８記載の動画像圧縮方法。
【請求項１０】
前記動き補償ステップでは、
前記参照画像の整数画素の画素値と、前記第１の一次元内挿フィルタのフィルタ係数の適用によって定まる前記第１の小数画素位置の小数画素の画素値とを変化させることなく、前記第２の一次元内挿フィルタのフィルタ係数を前記第２の小数画素位置に適用する
ことを特徴とする請求項９記載の動画像圧縮方法。
【請求項１１】
前記フィルタ係数決定ステップでは、
小数画素位置ごとに、当該小数画素位置に対して特有の二次元適応内挿フィルタのフィルタ係数を決定し、
前記動き補償ステップでは、
所定の小数画素位置に内挿される小数画素の画素値を算出するときには、前記所定の小数画素位置に対して決定された二次元適応内挿フィルタのフィルタ係数を当該所定の小数画素位置に適用する
ことを特徴とする請求項７記載の動画像圧縮方法。
【請求項１２】
前記二次元適応内挿フィルタは、
水平方向および垂直方向の何れか一方である第１の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第１の一次元内挿フィルタと、
前記第１の方向と異なる水平方向または垂直方向である第２の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第２の一次元内挿フィルタとに分離可能であり、
前記フィルタ係数決定ステップでは、
前記第１の方向において小数画素位置にあって且つ第２の方向において整数画素位置にある第１の小数画素位置に対して、前記第１の一次元内挿フィルタのフィルタ係数を決定し、
前記動き補償ステップでは、
前記第１の一次元内挿フィルタのフィルタ係数のみを前記第１の小数画素位置に適用することにより前記第１の小数画素位置に内挿される小数画素の画素値を算出する
ことを特徴とする請求項１１記載の動画像圧縮方法。
【請求項１３】
前記二次元適応内挿フィルタは、
水平方向および垂直方向の何れか一方である第１の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第１の一次元内挿フィルタと、
前記第１の方向と異なる水平方向または垂直方向である第２の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第２の一次元内挿フィルタとに分離可能であり、
前記フィルタ係数決定ステップでは、
前記第１の方向において整数画素位置にあって且つ第２の方向において小数画素位置にある第２の小数画素位置に対して、前記第２の一次元内挿フィルタのフィルタ係数を決定し、
前記動き補償ステップでは、
前記第２の一次元内挿フィルタのフィルタ係数のみを前記第２の小数画素位置に適用することにより前記第２の小数画素位置に内挿される小数画素の画素値を算出する
ことを特徴とする請求項１１記載の動画像圧縮方法。
【請求項１４】
前記二次元適応内挿フィルタは、
水平方向および垂直方向の何れか一方である第１の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第１の一次元内挿フィルタと、
前記第１の方向と異なる水平方向または垂直方向である第２の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第２の一次元内挿フィルタとに分離可能であり、
前記フィルタ係数決定ステップでは、
前記第１の方向において小数画素位置にあって且つ第２の方向において小数画素位置にある第３の小数画素位置に対して、前記第２の一次元内挿フィルタのフィルタ係数を決定し、他の小数画素位置に対して、前記第１の一次元内挿フィルタのフィルタ係数を決定し、
前記動き補償ステップでは、
前記第１の一次元内挿フィルタのフィルタ係数を前記他の小数画素位置に適用するとともに、前記第２の一次元内挿フィルタのフィルタ係数を前記第３の小数画素位置に適用することにより、前記第３の小数画素位置に内挿される小数画素の画素値を算出する
ことを特徴とする請求項１１記載の動画像圧縮方法。
【請求項１５】
前記フィルタ係数決定ステップでは、
小数画素位置ごとに、当該小数画素位置に対するフィルタ係数を決定する際、
所定の小数画素位置と水平方向または垂直方向に対称な位置にある他の小数画素位置に対して、前記所定の小数画素位置に対して決定されたフィルタ係数と同一のフィルタ係数を決定する
ことを特徴とする請求項７記載の動画像圧縮方法。
【請求項１６】
小数画素位置に対する前記二次元適応内挿フィルタのフィルタ係数は、前記小数画素位置を水平方向または垂直方向に挟んで配置される複数の画素のそれぞれに対する係数からなり、
前記フィルタ係数決定ステップでは、
前記小数画素位置に対するフィルタ係数を決定する際、前記複数の画素の中で、所定の画素に対する係数と、前記小数画素位置を中心に前記所定の画素と水平方向または垂直方向に対称な位置にある他の画素に対する係数とが同一となるように、前記フィルタ係数を決定する
ことを特徴とする請求項７記載の動画像圧縮方法。
【請求項１７】
前記フィルタ係数決定ステップでは、
前記複数の画素のそれぞれに対する係数が水平方向または垂直方向に対称となるように、前記小数画素位置に対するフィルタ係数を決定する
ことを特徴とする請求項１６記載の動画像圧縮方法。
【請求項１８】
前記フィルタ係数決定ステップでは、
ピクチャ、ピクチャを構成するスライス、または複数のピクチャを含むシーケンスをフィルタ決定単位とし、前記フィルタ決定単位ごとに、当該フィルタ決定単位に含まれる前記小数画素位置に対する二次元適応内挿フィルタのフィルタ係数を決定する
ことを特徴とする請求項７記載の動画像圧縮方法。
【請求項１９】
二次元に配置された整数画素の画素値に基づいて、整数画素間に内挿される小数画素の画素値を算出するための二次元適応内挿フィルタのフィルタ係数を決定する装置であって、
対象ピクチャを構成するブロックごとに、参照画像からの当該ブロックの画像の動きを動きベクトルとして小数画素精度で検出する動き検出手段と、
前記動き検出手段によって検出された小数画素精度の動きベクトルを有する複数のブロックの中から、近傍にある整数画素との間で予め定められた相対的位置関係にある前記参照画像上の小数画素位置を示す動きベクトルを有する１つ以上のブロックを特定する特定手段と、
前記特定手段で特定された対象ピクチャの１つ以上のブロックの画像と、前記１つ以上のブロックの動きベクトルにより示される参照画像上の１つ以上のブロックの画像とに基づいて、前記小数画素位置のフィルタ係数を決定する決定手段と
を備えることを特徴とする二次元適応内挿フィルタのフィルタ係数決定装置。
【請求項２０】
二次元に配置された整数画素の画素値に基づいて、整数画素間に内挿される小数画素の画素値を算出するための二次元適応内挿フィルタのフィルタ係数を決定するためのプログラムであって、
対象ピクチャを構成するブロックごとに、参照画像からの当該ブロックの画像の動きを動きベクトルとして小数画素精度で検出する動き検出ステップと、
前記動き検出ステップによって検出された小数画素精度の動きベクトルを有する複数のブロックの中から、近傍にある整数画素との間で予め定められた相対的位置関係にある前記参照画像上の小数画素位置を示す動きベクトルを有する１つ以上のブロックを特定する特定ステップと、
前記特定ステップで特定された１つ以上のブロックの画像と、前記１つ以上のブロックの動きベクトルにより示される参照画像上の１つ以上のブロックの画像とに基づいて、前記小数画素位置のフィルタ係数を決定する決定ステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項２１】
二次元に配置された整数画素の画素値に基づいて、整数画素間に内挿される小数画素の画素値を算出するための二次元適応内挿フィルタのフィルタ係数を決定する集積回路であって、
対象ピクチャを構成するブロックごとに、参照画像からの当該ブロックの画像の動きを動きベクトルとして小数画素精度で検出する動き検出手段と、
前記動き検出手段によって検出された小数画素精度の動きベクトルを有する複数のブロックの中から、近傍にある整数画素との間で予め定められた相対的位置関係にある前記参照画像上の小数画素位置を示す動きベクトルを有する１つ以上のブロックを特定する特定手段と、
前記特定手段で特定された対象ピクチャの１つ以上のブロックの画像と、前記１つ以上のブロックの動きベクトルにより示される参照画像上の１つ以上のブロックの画像とに基づいて、前記小数画素位置のフィルタ係数を決定する決定手段と
を備えることを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像データを圧縮するための方法に関し、特に、動き補償のための適応内挿フィルタのフィルタ係数を決定する方法に関する。
【背景技術】
【０００２】
動画像データは、多くの増大するアプリケーション、つまりテレビ電話やテレビ会議からＤＶＤ（Digital Versatile Disk）やデジタルテレビジョンに至るまで採用されている。動画像データが送信されているときには、かなりのデータ量が、限られた周波数帯域の従来の伝送チャネルを通して送信されなければならず、動画像データが記録されているときには、かなりのデータ量が、限られた容量の従来の記憶媒体に記録されなければならない。従来のチャネルやメディアを用いて、デジタルデータを送信したり記録したりするためには、デジタルデータのボリュームを圧縮するか、減らすことが、必然的である。【０００３】
動画像データの圧縮のために、複数の動画像符号化規格が開発された。たとえば、その規格は、Ｈ．２６ｘで示されるＩＴＵ−Ｔ規格と、ＭＰＥＧ−ｘで示されるＩＳＯ／ＩＥＣ規格である。最新で最先進の動画像符号化規格は、現在Ｈ．２６４／ＭＰＥＧ−４ＡＶＣとして示される規格である。【０００４】
大部分のこれらの規格の基礎をなしている符号化のアプローチは、以下に示す（ａ）〜（ｄ）のメインステージから成る。
（ａ）各々のビデオフレームをブロックレベルでデータ圧縮するために、個々のビデオフレームをピクセルからなる二次元のブロックに分ける。
（ｂ）時間的予測技術を各々のブロックに適用し、残差予測誤差を空間領域から周波数領域に変えることにより、時空間の動画像情報を無相関化する。
（ｃ）その結果である変換係数を量子化することによってデータの全体的な量を減らす。
（ｄ）量子化された変換係数をエントロピー符号化することによって差分データを圧縮する。【０００５】
大部分の最新技術の動画像符号化規格によって使用される時間的予測技術は、動き補償である。この予測技術において、オブジェクトやカメラの動きによって生じる画像の動きを表現するために、動画像データの各ブロックに対して１以上の動きベクトルが決定される。決定された動きベクトルに基づいて、ブロックの画像内容は、少なくとも、前に符号化されたブロックの画像内容からの確かな延長として検出される。予測するものと、実際の画像内容との間に残留する矛盾は、予測誤差と呼ばれている。そして、実際の画像内容ではなくその予測誤差が動きベクトルと共に符号化される。このように、符号化される情報の量の相当な減少は、大部分の「自然な」動画像シーケンスに対して実現される。【０００６】
明らかなように、圧縮効率は動き予測の精度に大きく依存する。Ｈ．２６４／ＡＶＣのような現代の動画像符号化規格は、小数画素精度を有する動きベクトルが考慮される。すなわち、その動きベクトルは、画素位置に関連する整数値に制限されず、２つの画素の間の位置を示すことができる。通常、動きベクトルは１／２画素または１／４画素精度で決定される。この場合、動画像解像度は、最初の動画像解像度の２倍または４倍の解像度を有する。小数画素精度を有する動きベクトルは、参照画像内の各サンプルがとられた位置の間の位置を参照することができ、内挿は、予測された画像を計算するために必要である。通常、予め定められた内挿フィルタが、必須の小数画素の画素値を計算するために使用される。【０００７】
図１は、Ｈ．２６４／ＡＶＣにおける動画像符号化装置の一例を示すブロック図である。【０００８】
この動画像符号化装置３００は、固定されたフィルタ係数による二次元内挿フィルタを用い、小数画素精度で動き補償を行う。また、動画像符号化装置３００は、入力画像（入力信号）の対象ブロックと、メモリ３４０に格納されている先に符号化および復号化されたブロック（予測信号）とに基づき、対象ブロックと予測信号との差分を決定する減算器３１０を備える。具体的には、Ｈ．２６４／ＡＶＣ規格に従って、入力画像はマクロブロックに分けられる。動画像符号化装置３００は、入力画像である入力動画像シーケンスの対象ブロックと、先に符号化および復号化されたブロック（局所的に復号化された画像）に基づく予測信号との間の差分を伝送する差分パルス符号変調（ＤＰＣＭ）を使用する。これらの差分は減算器３１０で決定される。その減算器３１０は、符号化される対象ブロックを受け、そこから予測信号を減ずる。【０００９】
局所的に復号化された画像は、動画像符号化装置３００に組み込まれる復号化部（逆量子化／逆変換部３３０、加算器３３５およびデブロッキングフィルタ３３７）によって提供される。復号化部は、符号化ステップを逆の方法で実行する。つまり、逆量子化／逆変換部３３０は、量子化係数を逆量子化し、逆変換を逆量子化係数に適用する。加算器３３５は、復号化された差分を予測信号に加え、局所的に復号化された画像を生成する。さらに、デブロッキングフィルタ３３７は、復号化された画像のブロッキングアーチファクトを減らす。【００１０】
動画像符号化装置３００によって使用される予測のタイプは、マクロブロックが「イントラ」モードまたは「インター」モードで符号化されるかどうかに依存する。「イントラ」モードでは、Ｈ．２６４／ＡＶＣは、次のマクロブロックを予測するために、同じ画像の中で既に符号化されたマクロブロックに基づく、予測の仕組みを使用する。「インター」モードでは、連続的ないくつかのフレームの対応するブロック間の動き補償予測が、使用される。【００１１】
イントラ符号化画像（Ｉ−タイプ画像）だけは、いかなる前に復号化された画像にも関係なく復号化される。Ｉ−タイプ画像は、誤差回復力を符号化された動画像シーケンスに提供する。さらに、符号化されたデータであるビットストリームへのエントリーポイントは、ランダムアクセスを可能にするために、すなわち、符号化された動画像シーケンスの範囲内でＩ−タイプ画像にアクセスするために、Ｉ−タイプ画像によって提供される。イントラモード（イントラ予測部３５０による処理）と、インターモード（動き補償予測部３６０による処理）との間の切り換えは、切換スイッチ３８０によって制御される。【００１２】
「インター」モードにおいて、マクロブロックは、動き補償を使用することによって、先行フレームの対応するブロックから予測される。動き検出は、対象入力信号と局所復号画像を受信する動き検出部３７０によって達成される。この動き検出は、二次元の動きベクトルを検出する。そして、その動きベクトルは、対象ブロックと先行フレームの対応するブロックとの間の画素の動きを示す。検出された動きに基づいて、動き補償予測部３６０は予測信号を出力する。【００１３】
予測精度を最適化するために、動きベクトルは小数画素精度（例えば１／２画素または１／４画素精度）で決定される。小数画素精度を有する動きベクトルは、先行フレームの範囲内で画素値が利用できない位置（すなわち小数画素位置）を示している。したがって、画素値の空間内挿が、動き補償を実行するために必要である。Ｈ．２６４／ＡＶＣ規格によれば、固定フィルタ係数とバイリニア・フィルタを有する６−タップ・ウィーナー内挿フィルタが、小数画素位置の画素値を得るために適用される。【００１４】
内挿のプロセスは、次のように行われる。
１．１／２画素位置が、水平および垂直に６−タップ・フィルタを使用して算出される。
２．１／４画素位置が、既存の整数画素値と、すでに計算された１／２画素値とを用いたバイリニア・フィルタリングによって算出される。【００１５】
フィルタ係数は、固定されているため、動画像復号化装置によって公知とされている。したがって、オーバーヘッドデータは、フィルタ係数を動画像復号化装置に送信するためには必要でない。【００１６】
「イントラ」および「インター」の符号化モードにおいて、対象ブロックと予測信号との差分は、変換／量子化部３２０によって変換係数に変わる。通常、二次元の離散コサイン変換（ＤＣＴ）のような直交変換またはそれの整数バージョンが使用される。【００１７】
変換係数は、符号化データの量を減らすために量子化される。量子化ステップは、精度と、各々の周波数係数を符号化するために用いるビット数とを特定する量子化テーブルによって制御される。通常、低い周波数成分は、微細な内容よりも画質にとって重要であり、その結果、多くのビットが高周波数成分よりも低周波成分を符号化することに費やされる。【００１８】
量子化係数の二次元の配列は、エントロピー符号化部３９０に通すために一次元の列に変換される。この変換は、予め定められたシーケンスで、配列をスキャンすることによって行われる。このように得られた量子化係数の一次元のシーケンスは、ラン−レベルと呼ばれている数の組からなる列に圧縮される。最後に、ラン−レベル・シーケンスは、可変長（可変長符号化（ＶＬＣ））のバイナリーコード名に符号化される。このコードは、より短いコード名が、典型的な動画像に起こっている最も頻出するラン−レベルの組に割り当てられるように最適化される。結果として生じるビットストリームは、動き情報と共に多重化されて記録媒体に保存されるか、動画像復号化装置側に送信される。【００１９】
動画像復号化装置は、符号化された画像を再構成するために、符号化方法と逆の方法で復号化を行う。【００２０】
図２は、Ｈ．２６４／ＡＶＣにおける動画像復号化装置の一例を示すブロック図である。【００２１】
動画像復号化装置４００は、最初に、エントロピー符号化された量子化係数と動きベクトルとを、エントロピー復号化部４９０においてエントロピー復号化する。このステップは、逆変換に必要であって、エントロピー復号化された量子化係数のシーケンスを二次元のブロックに配置する逆スキャンを含む。復号化された量子化係数のブロックは、逆量子化／逆変換部４２０に出力され、復号化された動きベクトルは動き補償予測部４６０に出力される。動きベクトルの実際の値に従い、画素値の内挿が動き補償を実行するために必要となる。逆量子化および逆変換の結果は予測誤差を含み、加算器４３５は、その予測誤差を、インターモードでの動き補償予測部４６０によって生成される予測信号、またはイントラモードでのイントラ予測部４５０によって生成される予測信号に加える。その結果、再構成された画像はデブロッキングフィルタ４３７に出力され、デブロッキングフィルタ４３７で処理された信号は、イントラ予測部４５０および動き補償予測部４６０に用いられるメモリ４４０に保存される。【００２２】
さらに、Ｈ．２６４／ＡＶＣに続く規格では、予測精度と圧縮効率を改善するために、予め定められた内挿フィルタ（二次元固定内挿フィルタ）を、処理対象の動画像の統計特性に特に適している二次元適応内挿フィルタに取り替えることが検討されている。つまり、符号化効率は予測精度にかなり依存し、そして、その予測精度は動き検出と動き補償の精度に依存している。したがって、動き補償に使用される二次元固定内挿フィルタを、動画像の統計特性に適応した二次元適応内挿フィルタに取り替えることによって符号化効率を向上することができる。また、圧縮される動画像データに特有であるエイリアシング・アーチファクトとカメラ・ノイズを低減することができる。【００２３】
通常、画像処理のための二次元適応内挿フィルタは、分離可能であるか分離不可能であるかに分類される。分離可能な分離型二次元適応内挿フィルタは、２つの一次元フィルタに分離される。２つの一次元フィルタの連続的な使用は、元の二次元適応内挿フィルタを適用することに等しい。分離不可能な非分離型二次元内挿フィルタには、この種の一次元フィルタは存在しない。【００２４】
分離型二次元適応内挿フィルタは、非分離型二次元適応内挿フィルタと比べて、画像に対してそのフィルタを適用するための係数の数が少ないために、計算的負担が大きくないという点において有利である。例えば、非分離型の場合には、６×６−タップ二次元フィルタは、合計３６個の係数を有するのに対し、分離型の場合には、２つの一次元フィルタは合計６＋６個の係数だけを有する。【００２５】
例えば、非特許文献１および非特許文献２には、このような分離型二次元適応内挿フィルタのフィルタ係数を決定する方法が開示されている。非特許文献１および２の方法では、予測画像と対象画像との間の誤差が最小となるように、水平方向の１次元フィルタのフィルタ係数と、垂直方向の１次元フィルタのフィルタ係数とがそれぞれ決定される。
【非特許文献１】Kimata H. et al “3D adaptive motion vector coding integrated with block-based adaptive interpolation filter”
【非特許文献２】Wedi, Thomas “Advanced motion compensated prediction methods”
【発明の開示】
【発明が解決しようとする課題】
【００２６】
しかしながら、上記従来の分離型二次元適応内挿フィルタのフィルタ係数決定方法であっても、フィルタ係数を決定するための計算量が多いという問題がある。つまり、上記従来のフィルタ係数決定方法では、対象画像（対象ブロック）を含むピクチャ全体を考慮して、予測画像と対象画像との間の誤差が最小になるようにフィルタ係数を決定するため、計算量が膨大になってしまうのである。【００２７】
そこで、本発明は、かかる問題に鑑みてなされたものであって、少ない計算量で効率的に適切なフィルタ係数を決定し得る二次元適応内挿フィルタのフィルタ係数決定方法を提供することを目的とする。
【課題を解決するための手段】
【００２８】
上記目的を達成するために、本発明に係る二次元適応内挿フィルタのフィルタ係数決定方法は、二次元に配置された整数画素の画素値に基づいて、整数画素間に内挿される小数画素の画素値を算出するための二次元適応内挿フィルタのフィルタ係数を決定する方法であって、対象ピクチャを構成するブロックごとに、参照画像からの当該ブロックの画像の動きを動きベクトルとして小数画素精度で検出する動き検出ステップと、前記動き検出ステップによって検出された小数画素精度の動きベクトルを有する複数のブロックの中から、近傍にある整数画素との間で予め定められた相対的位置関係にある前記参照画像上の小数画素位置を示す第１の動きベクトルを有する１つ以上のブロックを特定する第１の特定ステップと、前記第１の特定ステップで特定された１つ以上のブロックの画像と、前記１つ以上のブロックの第１の動きベクトルにより示される参照画像上の１つ以上のブロックの画像とに基づいて、前記小数画素位置のフィルタ係数を決定する第１の決定ステップとを含むことを特徴とする。【００２９】
例えば、近傍にある整数画素との間で予め定められた相対的位置関係にある小数画素位置が位置（ｐ，ｑ）である場合、参照ピクチャ上の小数画素位置（ｐ，ｑ）を示す第１の動きベクトルを有する複数のブロックが対象ピクチャの中から特定される。なお、位置（ｐ，ｑ）は、互いに隣り合う４つの整数画素に囲われた範囲内における位置、つまり局所座標上の位置を示す。そして、その特定された複数のブロックに基づいて、その小数画素位置（ｐ，ｑ）のフィルタ係数が決定される。このように、本発明では、対象ピクチャを構成する全てのブロックの中から、小数画素位置（ｐ，ｑ）を示す動きベクトルを有するブロックを絞り込み、その絞り込まれた複数のブロックだけに基づいて、小数画素位置（ｐ，ｑ）のフィルタ係数を決定する。したがって、対象ピクチャを構成する全てのブロックの動きベクトルが参照ピクチャ上のあらゆる小数画素位置を示すことを想定し、その全てのブロックの画像に基づいて小数画素位置（ｐ，ｑ）のフィルタ係数を決定することが行われないため、フィルタ係数算出のための計算量を大幅に低減することができ、適切なフィルタ係数を効率的に決定することができる。また、本発明では、フィルタ係数を決定する前に小数画素精度で動きベクトルを検出しているため、フィルタ係数の決定後に改めて小数画素精度の動きベクトルを検出する必要がなく、処理負担を軽減することができる。なお、上述の参照画像は、１枚の参照ピクチャだけでなく、複数の参照ピクチャや、ピクチャを構成するスライスであってもよい。また、第１の決定ステップでは、例えば、対象ピクチャの特定された各ブロックの画像と、その各ブロックの動きベクトルにより指し示される参照画像上の各ブロックの画像とのそれぞれの差分の自乗和が最小になるように、小数画素位置のフィルタ係数が決定される。【００３０】
また、前記二次元適応内挿フィルタは、水平方向および垂直方向の何れか一方である第１の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第１の一次元内挿フィルタと、前記第１の方向と異なる水平方向または垂直方向である第２の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第２の一次元内挿フィルタとに分離可能であり、前記第１の特定ステップでは、前記予め定められた相対的位置関係を満たし、前記第１の方向において小数画素位置にあって且つ第２の方向において整数画素位置にある第１の小数画素位置を示す前記第１の動きベクトルを有する１つ以上のブロックを特定し、前記第１の決定ステップでは、前記第１の小数画素位置における前記第１の一次元内挿フィルタのフィルタ係数を決定し、前記フィルタ係数決定方法は、さらに、前記動き検出ステップによって検出された小数画素精度の動きベクトルを有する複数のブロックの中から、近傍にある整数画素との間で他の予め定められた相対的位置関係にあって前記第２の方向において小数画素位置にある前記参照画像上の第２の小数画素位置を示す第２の動きベクトルを有する１つ以上のブロックを特定する第２の特定ステップと、前記第２の特定ステップで特定された１つ以上のブロックの画像と、前記１つ以上のブロックの第２の動きベクトルにより示される参照画像上の１つ以上のブロックの画像とに基づいて、前記第２の小数画素位置における前記第２の一次元内挿フィルタのフィルタ係数を決定する第２の決定ステップとを含むことを特徴としてもよい。【００３１】
これにより、さらに、二次元適応内挿フィルタのフィルタ係数が、第１および第２の一次元内挿フィルタのフィルタ係数に分離して決定されるため、フィルタ係数算出のための計算量をさらに低減することができる。また、第１の特定ステップおよび第１の決定ステップにより、例えば第１の小数画素位置（ｐ，０）に対する一次元水平内挿フィルタのフィルタ係数が決定され、第２の特定ステップおよび第２の決定ステップにより、例えば第２の小数画素位置（ｐ，ｑ）（但しｑ≠０）に対する一次元垂直内挿フィルタのフィルタ係数が決定される。その結果、第１の小数画素位置（ｐ，０）および第２の小数画素位置（ｐ，ｑ）の適切なフィルタ係数を少ない計算量で効率的に決定することができる。なお、例えば、１／４画素精度の場合、ｐをｐ＝１，…，３に変化させることで、全ての第１の小数画素位置（ｐ，０）のフィルタ係数を算出することができ、ｐをｐ＝０，…，３に変化させてｑをｑ＝１，…，３に変化させることで、全ての第２の小数画素位置（ｐ，ｑ）のフィルタ係数を算出することができる。【００３２】
例えば、前記第２の特定ステップでは、前記他の予め定められた相対的位置関係を満たし、前記第１の方向において整数画素位置にあって且つ第２の方向において小数画素位置にある前記第２の小数画素位置を示す前記第２の動きベクトルを有する１つ以上のブロックを特定する。【００３３】
これにより、第２の小数画素位置（０，ｑ）（但しｑ≠０）のフィルタ係数を算出することができる。また、例えば、１／４画素精度の場合、ｑをｑ＝１，…，３に変化させることで、第１の方向において整数画素位置にある全ての第２の小数画素位置（０，ｑ）のフィルタ係数を算出することができる。【００３４】
また、前記第２の特定ステップでは、前記他の予め定められた相対的位置関係を満たし、前記第１および第２の方向において小数画素位置にある前記第２の小数画素位置を示す前記第２の動きベクトルを有する１つ以上のブロックを特定し、前記第２の決定ステップでは、前記第１の決定ステップで決定された前記第１の一次元内挿フィルタのフィルタ係数を前記第１の小数画素位置に適用し、適用された結果を用いて、前記第２の小数画素位置におけるフィルタ係数を決定する。【００３５】
これにより、第２の小数画素位置（ｐ，ｑ）（但しｐ≠０およびｑ≠０）のフィルタ係数を算出することができる。また、例えば、１／４画素精度の場合、ｐをｐ＝１，…，３に変化させてｑをｑ＝１，…，３に変化させることで、第１の方向および第２の方向において小数画素位置にある全ての第２の小数画素位置（ｐ，ｑ）のフィルタ係数を算出することができる。また、このときには、第１の一次元内挿フィルタのフィルタ係数を第１の小数画素位置に適用することにより、その第１の小数画素位置の小数画素の画素値が算出され、その小数画素の画素値を使って第２の小数画素位置におけるフィルタ係数が決定される。【００３６】
また、前記第１の決定ステップでは、前記第１の特定ステップによって特定された１つ以上のブロックの画像と、前記１つ以上のブロックの第１の動きベクトルにより示される参照画像上の１つ以上のブロックの画像との差分が最小になるように、前記小数画素位置に対するフィルタ係数を決定することを特徴としてもよい。例えば、前記１の決定ステップでは、前記差分を最小にする線形方程式を解くことにより、前記小数画素位置に対するフィルタ係数を決定する。【００３７】
これにより、参照ピクチャの画像に適したフィルタ係数、つまりその画像に適応的なフィルタ係数を適切に決定することができる。さらに、線形方程式を用いる場合には、計算量をさらに低減して適切なフィルタ係数を効率的に決定することができる。【００３８】
また、本発明に係る動画像圧縮方法は、動画像を圧縮する方法であって、上記本発明の二次元適応内挿フィルタのフィルタ係数決定方法に含まれる全てのステップを実行することにより前記二次元適応内挿フィルタのフィルタ係数を決定するフィルタ係数決定ステップと、前記小数画素位置を示す動きベクトルを有するブロックを対象ブロックとし、前記対象ブロックに対して動き補償を行うことにより、前記対象ブロックの予測画像を生成する動き補償ステップと、前記動き補償ステップにより生成された予測画像と前記対象ブロックの画像との差分と、前記フィルタ係数決定ステップで決定されたフィルタ係数とを符号化する符号化ステップとを含み、前記動き補償ステップでは、前記フィルタ係数決定ステップで決定されたフィルタ係数を前記小数画素位置に適用することにより前記小数画素位置に内挿される小数画素の画素値を算出し、算出された画素値の小数画素を有する前記予測画像を生成することを特徴としてもよい。【００３９】
これにより、上述のフィルタ係数決定方法により小数画素位置のフィルタ係数を決定し、そのフィルタ係数を用いて対象ブロックの予測画像を生成するため、少ない計算量で対象ブロックの画像に極めて近い予測画像を生成することができる。その結果、対象ブロックの画像と予測画像との差分の符号量を効率的に低減することができる。さらに、フィルタ係数も符号化されるため、その符号化されたフィルタ係数を復号化装置に出力すれば、その復号化装置は、その符号化されたフィルタ係数を復号化して用いることで、対象ブロックを適切に復号化することができる。【００４０】
また、前記フィルタ係数決定ステップでは、小数画素位置ごとに、当該小数画素位置に対するフィルタ係数を決定する際、所定の小数画素位置と水平方向または垂直方向に対称な位置にある他の小数画素位置に対して、前記所定の小数画素位置に対して決定されたフィルタ係数と同一のフィルタ係数を決定することを特徴としてもよい。【００４１】
これにより、所定の小数画素位置のフィルタ係数を決定すれば、他の小数画素位置のフィルタ係数も同時に決定することができる。さらに、他の小数画素位置は所定の小数画素位置と水平方向または垂直方向に対称な位置にあるため、他の小数画素位置に対しても適切なフィルタ係数を決定することができる。その結果、より少ない計算量で適切なフィルタ係数を決定することができる。また、例えば、フィルタ係数決定ステップで、フィルタ係数が決定されるべき決定対象の小数画素位置を示す動きベクトルが検出されなかった場合であっても、その決定対象の小数画素位置と水平方向または垂直方向に対称な位置にある他の小数画素位置のフィルタ係数を用いて、その決定対象の小数画素位置のフィルタ係数を適切に決定することができる。【００４２】
また、小数画素位置に対する前記二次元適応内挿フィルタのフィルタ係数は、前記小数画素位置を水平方向または垂直方向に挟んで配置される複数の画素のそれぞれに対する係数からなり、前記フィルタ係数決定ステップでは、前記小数画素位置に対するフィルタ係数を決定する際、前記複数の画素の中で、所定の画素に対する係数と、前記小数画素位置を中心に前記所定の画素と水平方向または垂直方向に対称な位置にある他の画素に対する係数とが同一となるように、前記フィルタ係数を決定することを特徴としても良い。例えば、前記フィルタ係数決定ステップでは、前記複数の画素のそれぞれに対する係数が水平方向または垂直方向に対称となるように、前記小数画素位置に対するフィルタ係数を決定する。【００４３】
これにより、複数の画素のそれぞれに対する係数が水平方向または垂直方向に対称となるため、適切なフィルタ係数をより少ない計算量で算出することができる。【００４４】
なお、本発明は、このようなフィルタ係数決定方法および動画像圧縮方法として実現することができるだけでなく、それらの方法によりフィルタ係数を決定したり動画像を圧縮する装置や集積回路、それらの方法に含まれる各ステップをコンピュータに実行させるためのプログラムや、そのプログラムを格納する記録媒体としても実現することができる。
【発明の効果】
【００４５】
本発明の二次元適応内挿フィルタは、少ない計算量で効率的に適切なフィルタ係数を決定することができるという作用効果を奏する。
【図面の簡単な説明】
【００４６】
【図１】図１は、従来の動画像符号化装置の構成の一例を示すブロック図である。
【図２】図２は、従来の動画像符号化装置の構成の一例を示すブロック図である。
【図３】図３は、本発明の実施の形態における動画像符号化装置の一例を示すブロック図である。
【図４】図４は、同上のフィルタ係数が算出される小数画素位置を示す図である。
【図５Ａ】図５Ａは、同上の小数画素位置に対して算出されるフィルタ係数の具体例を示す図である。
【図５Ｂ】図５Ｂは、同上の他の小数画素位置に対して算出されるフィルタ係数の具体例を示す図である。
【図６】図６は、同上の参照ピクチャ中の各小数画素位置と動きベクトルとを示す図である。
【図７】図７は、同上の対象ピクチャにおいて特定されるブロックを示す図である
【図８】図８は、同上の動き検出部および適応フィルタ付動き補償予測部の処理動作を示すフローチャートである。
【図９】図９は、同上の動画像復号化装置の一例を示すブロック図である。
【図１０】図１０は、同上の１／４画素精度の参照ピクチャの画素位置および画素値を示す図である。
【図１１】図１１は、同上の一次元水平内挿フィルタにより内挿される小数画素およびそのフィルタ係数を示す図である。
【図１２】図１２は、同上の一次元垂直内挿フィルタにより内挿される小数画素およびそのフィルタ係数を示す図である。
【図１３Ａ】図１３Ａは、所定の条件における本発明の符号化効率と従来例の符号化効率とを比較して示す図である。
【図１３Ｂ】図１３Ｂは、他の条件における本発明の符号化効率と従来例の符号化効率とを比較して示す図である。
【図１４】図１４は、本発明の分離型二次元適応内挿フィルタを適用したときの計算量と、従来の非分離型二次元適応内挿フィルタを適用したときの計算量とを比較して示す図である。
【符号の説明】
【００４７】
１００    動画像符号化装置
１２０    変換／量子化部
１３０    逆量子化／逆変換部
１５０    イントラ予測部
１６０    適応フィルタ付動き補償予測部
１７０    動き検出部
２００    動画像復号化装置
２２０    逆量子化／逆変換部
２５０    イントラ予測部
２６０    適応フィルタ付動き補償予測部
【発明を実施するための最良の形態】
【００４８】
以下、本発明の実施の形態における動画像符号化装置（動画像圧縮装置）について図面を参照しながら説明する。【００４９】
本実施の形態における動画像符号化装置は、分離型二次元適応内挿フィルタのフィルタ係数を、少ない計算量で効率的に且つ適切に算出することができる。そして、この動画像符号化装置は、算出されたフィルタ係数を用いて動き補償を行い、その結果、動画像を効率的に且つ適切に符号化することができる。【００５０】
図３は、本実施の形態における動画像符号化装置の一例を示すブロック図である。【００５１】
本実施の形態における動画像符号化装置１００は、減算器１１０、変換／量子化部１２０、逆量子化／逆変換部１３０、加算器１３５、デブロッキングフィルタ１３７、メモリ１４０、イントラ予測部１５０、適応フィルタ付動き補償予測部１６０、動き検出部１７０、切換スイッチ１８０、およびエントロピー符号化部１９０を備えている。【００５２】
なお、本実施の形態における動画像符号化装置１００は、動き検出部１７０および適応フィルタ付動き補償予測部１６０に特徴がある。つまり、減算器１１０、変換／量子化部１２０、逆量子化／逆変換部１３０、加算器１３５、デブロッキングフィルタ１３７、メモリ１４０、イントラ予測部１５０、および切換スイッチ１８０はそれぞれ、従来の動画像符号化装置３００の減算器３１０、変換／量子化部３２０、逆量子化／逆変換部３３０、加算器３３５、デブロッキングフィルタ３３７、メモリ３４０、イントラ予測部３５０、および切換スイッチ３８０のそれぞれの機能と同様の機能を有する。なお、本実施の形態では、動き検出部１７０と適応フィルタ付動き補償予測部１６０とからフィルタ係数決定装置が構成されている。【００５３】
減算器１１０は、動画像を示す入力信号を取得する。入力信号は複数のピクチャから構成され、そのピクチャは複数のブロック（マクロブロック）から構成されている。つまり、減算器１１０は、そのブロックを順次取得し、取得するごとに、そのブロックを対象ブロックとして扱う。さらに、減算器１１０は、対象ブロックごとに、イントラ予測部１５０または適応フィルタ付動き補償予測部１６０から出力された、その対象ブロックに対応する予測画像を示す予測信号を取得する。そして、減算器１１０は、対象ブロックから予測信号の示す予測画像を減算することにより、その対象ブロックに対する予測誤差を生成し、その予測誤差を変換／量子化部１２０に出力する。【００５４】
変換／量子化部１２０は、減算器１１０から予測誤差を取得し、その予測誤差に対して離散コサイン変換などの直交変換を行うことによって直交変換係数を生成する。さらに、変換／量子化部１２０は、その直交変換係数を量子化することによって量子化係数を生成し、逆量子化／逆変換部１３０およびエントロピー符号化部１９０に出力する。【００５５】
逆量子化／逆変換部１３０は、変換／量子化部１２０から量子化係数を取得すると、その量子化係数を逆量子化することによって直交変換係数を生成する。さらに、逆量子化／逆変換部１３０は、その直交変換係数に対して逆離散コサイン変換などの逆直交変換を行うことによって予測誤差を生成し、その予測誤差を加算器１３５に出力する。【００５６】
加算器１３５は、逆量子化／逆変換部１３０から出力された予測誤差と、イントラ予測部１５０または適応フィルタ付動き補償予測部１６０から出力された予測信号の示す予測画像とを加算する。そして、加算器１３５は、その加算結果を示す局所復号画像をデブロッキングフィルタ１３７に出力する。【００５７】
デブロッキングフィルタ１３７は、その局所復号画像に対してデブロッキングフィルタをかけることにより、その局所復号画像にある符号化歪みを除去し、符号化歪みが除去された局所復号画像をメモリ１４０に格納する。【００５８】
メモリ１４０には、デブロッキングフィルタ１３７によって局所復号画像が逐次格納される。その結果、後の対象ブロックに対する予測画像の生成に使用される参照ピクチャがメモリ１４０に格納されることとなる。【００５９】
イントラ予測部１５０は、対象ブロックに対して面内予測（イントラ予測）を行う。つまり、イントラ予測部１５０は、メモリ１４０に格納されている幾つかの局所復号画像に基づいて、対象ブロックに対する予測画像を生成し、その予測画像を示す予測信号を切換スイッチ１８０に出力する。【００６０】
切換スイッチ１８０は、対象ブロックに対して面内予測（イントラ予測）が行われるときには、イントラ予測部１５０から出力される予測信号を減算器１１０に出力し、対象ブロックに対して画面間予測（インター予測）が行われるときには、適応フィルタ付動き補償予測部１６０から出力される予測信号を減算器１１０に出力する。【００６１】
エントロピー符号化部１９０は、変換／量子化部１２０から出力される量子化係数と、適応フィルタ付動き補償予測部１６０から出力されるフィルタ係数と、動き検出部１７０から出力される動きベクトルとを取得し、それらに対してエントロピー符号化を行うことによって、ビットストリームたる符号化信号を生成して出力する。【００６２】
動き検出部１７０は、入力信号に含まれるブロックを順次取得し、取得するごとに、その取得したブロックを対象ブロックとして扱う。そして、動き検出部１７０は、その対象ブロックの示す画像に近似する画像を有するブロックを、メモリ１４０に格納されている参照ピクチャから検出する。つまり、動き検出部１７０は、参照ピクチャからの対象ブロックの画像の動きを動きベクトルとして検出し、その動きベクトルを適応フィルタ付動き補償予測部１６０およびエントロピー符号化部１９０に出力する。【００６３】
ここで、動き検出部１７０は小数画素精度で動き検出を行い、小数画素精度の動きベクトルを出力する。つまり、動き検出部１７０は、まず、参照ピクチャの画素精度を整数画素精度から小数画素精度に変換し、その小数画素精度の参照ピクチャを用いて動き検出を行う。このように画素精度を変換するために、動き検出部１７０は、予め定められたフィルタ係数を有する二次元固定内挿フィルタをその参照ピクチャに適用する。この二次元固定内挿フィルタは、例えば、Ｈ．２６４／ＡＶＣ規格に定められている、固定フィルタ係数とバイリニア・フィルタを有する６−タップ・ウィーナー内挿フィルタである。また、小数画素精度は、例えば１／２画素精度や１／４画素精度などである。【００６４】
適応フィルタ付動き補償予測部１６０は、入力信号により示される対象ピクチャに含まれる各ブロックを順次取得し、動き検出部１７０からその各ブロックに対応する小数画素精度の動きベクトルを順次取得する。そして、適応フィルタ付動き補償予測部１６０は、その取得した各ブロックおよび各動きベクトルに基づいて、参照ピクチャに適用される分離型二次元適応内挿フィルタのフィルタ係数を算出し、そのフィルタ係数をエントロピー符号化部１９０に出力する。【００６５】
さらに、適応フィルタ付動き補償予測部１６０は、算出されたフィルタ係数を用いて対象ブロックに対する動き補償を行う。つまり、適応フィルタ付動き補償予測部１６０は、対象ブロックが有する小数画素精度の動きベクトルにより指し示される参照ピクチャ中のブロックに対して、上述のように算出されたフィルタ係数を有する分離型二次元適応内挿フィルタを適用する。その結果、適応フィルタ付動き補償予測部１６０は、先に二次元固定内挿フィルタにより算出された、上記ブロックに含まれる小数画素の画素値を、分離型二次元適応内挿フィルタが適用された値に算出し直す。これによって、適応フィルタ付動き補償予測部１６０は、その算出し直された画素値の小数画素を有する、対象ブロックに対する予測画像を生成し、その予測画像を示す予測信号を切換スイッチ１８０に出力する。【００６６】
ここで、本実施の形態における適応フィルタ付動き補償予測部１６０によるフィルタ係数の算出処理および動き補償について詳細に説明する。【００６７】
図４は、フィルタ係数が算出される小数画素位置を示す図である。なお、図４中、黒丸が整数画素位置を示し、白丸が小数画素位置を示す。【００６８】
適応フィルタ付動き補償予測部１６０は、図４に示すように１／４画素精度の場合、（ｐ，ｑ）＝（１，０）、（２，０）、（３，０）、（０，１）、（０，２）、（０，３）、（１，１）、（１，２）、（１，３）、（２，１）、（２，２）、（２，３）、（３，１）、（３，２）および（３，３）により示される１５ヶ所の小数画素位置に対するフィルタ係数を算出する。ここで、位置（ｐ，ｑ）は、４つの整数画素によって囲われる最小の範囲を一つの整数単位範囲として、その整数単位範囲上の座標位置、つまり、ピクチャ上の各整数単位範囲内において共通の座標位置を示す。言い換えれば、位置（ｐ，ｑ）は、小数画素位置とその近傍の整数画素位置（０，０）との間での相対的位置関係を示す。具体的には、位置ｐは、水平方向に沿って配列する整数画素間の座標位置を示し、位置ｑは、垂直方向に沿って配列する整数画素間の座標位置を示す。なお、１つの整数単位範囲には、位置（ｐ，ｑ）＝（０，０）にある整数画素と、上記１５ヶ所の小数画素位置にある小数画素とが含まれる。また、上記１５ヶ所の位置に対して算出されるフィルタ係数は、例えば同一ピクチャにある全ての整数単位範囲に対して共通に算出される。つまり、複数の整数単位範囲のそれぞれには同一の小数画素位置（ｐ，ｑ）があり、その同一の小数画素位置（ｐ，ｑ）に対して同一のフィルタ係数が算出される。【００６９】
また、１つの小数画素位置に対するフィルタ係数は、例えば６つの整数画素の画素値のそれぞれに重み付けされる係数の集合によって表される。【００７０】
図５Ａおよび図５Ｂは、小数画素位置に対して算出されるフィルタ係数の具体例を示す図である。【００７１】
適応フィルタ付動き補償予測部１６０は、図５Ａに示すように、水平方向に配列する整数画素の間の位置（ｐ，０）（但し、ｐ≠０）に対する一次元水平内挿フィルタのフィルタ係数ｇ(p)を、例えば、その位置（ｐ，０）を略中心にして水平方向に配列する６つの整数画素の画素値に重み付けられる係数ｇi(p)（ｉ＝−２，−１，０，１，２，３）の集合として算出する。なお、上述の位置（ｐ，０）（但し、ｐ≠０）は、水平方向に小数画素位置で且つ垂直方向に整数画素位置にあり、以下、そのような位置（ｐ，０）を小数整数画素位置（第１の小数画素位置）ともいう。【００７２】
また、適応フィルタ付動き補償予測部１６０は、図５Ｂに示すように、垂直方向に配列する整数画素の間の位置（０，ｑ）に対する一次元垂直内挿フィルタのフィルタ係数ｈ(q)を、例えば、その位置（０，ｑ）（但し、ｑ≠０）を略中心にして垂直方向に配列する６つの整数画素の画素値に重み付けられる係数ｈj(q)（ｊ＝−２，−１，０，１，２，３）の集合として算出する。なお、上述の位置（０，ｑ）は、水平方向に整数画素位置で且つ垂直方向に小数画素位置にあり、以下、そのような位置（０，ｑ）（但し、ｑ≠０）を整数小数画素位置（第２の小数画素位置）ともいう。【００７３】
また、適応フィルタ付動き補償予測部１６０は、小数整数画素位置にもなく整数小数画素位置にもない位置（ｐ，ｑ）（但し、ｐ≠０かつｑ≠０）に対する一次元垂直内挿フィルタのフィルタ係数ｈ(p,q)を算出するときには、その小数画素位置に対するフィルタ係数ｈ(p,q)を、その小数画素位置を略中心にして垂直方向に配列する複数の小数画素の画素値に重み付けられる係数の集合として算出する。なお、その垂直方向に配列する複数の小数画素は小数整数画素位置にある。また、上述の位置（ｐ，ｑ）（但し、ｐ≠０かつｑ≠０）は、水平方向および垂直方向に小数画素位置にあり、以下、その位置（ｐ，ｑ）を小数小数画素位置（第２または第３の小数画素位置）ともいう。【００７４】
例えば、適応フィルタ付動き補償予測部１６０は、その位置（ｐ，ｑ）を略中心にして垂直方向に配列する小数整数画素位置の複数の小数画素の画素値に重み付けられる係数ｈj(p,q)（ｊ＝−２，−１，０，１，２，３）の集合として、位置（ｐ，ｑ）に対するフィルタ係数ｈ(p,q)を算出する。【００７５】
なお、上述の小数整数画素位置、整数小数画素位置および小数小数画素位置は、上述の整数単位範囲に含まれる小数画素位置であって、整数単位範囲のそれぞれにおいて、同一の小数画素位置、つまり同一の小数整数画素位置、同一の整数小数画素位置および同一の小数小数画素位置がある。【００７６】
つまり、本実施の形態における分離型二次元適応内挿フィルタは、一次元水平内挿フィルタと一次元垂直内挿フィルタとに分離される。適応フィルタ付動き補償予測部１６０は、小数整数画素位置にある小数画素の画素値を算出するときには、その小数整数画素位置（ｐ，０）に対して一次元水平内挿フィルタのフィルタ係数ｇ(p)を適用する。具体的には、適応フィルタ付動き補償予測部１６０は、小数整数画素位置（ｐ，０）を水平方向に挟んで配列する複数の整数画素の画素値のそれぞれに係数ｇi(p)を掛けて合計した結果を、その小数整数画素位置にある小数画素の画素値として算出する。また、適応フィルタ付動き補償予測部１６０は、整数小数画素位置（０，ｑ）にある小数画素の画素値を算出するときには、その整数小数画素位置（０，ｑ）に対して一次元垂直内挿フィルタのフィルタ係数ｈ(q)を適用する。具体的には、適応フィルタ付動き補償予測部１６０は、小数整数画素位置（０，ｑ）を垂直方向に挟んで配列する複数の整数画素の画素値のそれぞれに係数ｈj(q)を掛けて合計した結果を、その整数小数画素位置にある小数画素の画素値として算出する。【００７７】
また、適応フィルタ付動き補償予測部１６０は、小数小数画素位置（ｐ，ｑ）（但し、ｐ≠０かつｑ≠０）にある小数画素の画素値を算出するときには、例えば、まず、小数整数画素位置（ｐ，０）に対して一次元水平内挿フィルタのフィルタ係数ｇ(p)を適用することにより、小数整数画素位置（ｐ，０）にある小数画素の画素値を算出する。次に、適応フィルタ付動き補償予測部１６０は、小数小数画素位置（ｐ，ｑ）に対して一次元垂直内挿フィルタのフィルタ係数ｈ(p,q)を適用する。具体的には、適応フィルタ付動き補償予測部１６０は、小数小数画素位置（ｐ，ｑ）を垂直方向に挟んで配列する複数の小数整数画素位置（ｐ，０）の小数画素の画素値のそれぞれに係数ｈj(p,q)を掛けて合計した結果を、その小数小数画素位置にある小数画素の画素値として算出する。【００７８】
ここで、本実施の形態における適応フィルタ付動き補償予測部１６０は、分離型二次元適応内挿フィルタの上述のようなフィルタ係数を算出するときには、まず、対象ピクチャに含まれる各ブロックに対して検出された小数画素精度の動きベクトルを用い、参照ピクチャ中の所定の小数整数画素位置を示す動きベクトルを有する１つ以上のブロックを対象ピクチャの中から見つけ出す。これにより、その小数整数画素位置に対するフィルタ係数の算出に必要とされるブロックが、対象ピクチャの全体から絞り込まれる。【００７９】
図６は、参照ピクチャ中の各小数画素位置と動きベクトルとを示す図である。なお、図６中、バツ印が小数整数画素位置を示し、三角が整数小数画素位置を示し、白丸が小数小数画素位置を示す。【００８０】
例えば、適応フィルタ付動き補償予測部１６０は、小数整数画素位置（ｐ，ｑ）＝（１，０）を指し示す動きベクトルｍｖが検出された対象ピクチャ中の１つ以上のブロックを特定する。そして、適応フィルタ付動き補償予測部１６０は、対象ピクチャに含まれるその特定された１つ以上のブロックだけを用い、対象ピクチャのその他のブロックを用いることなく、その位置（ｐ，ｑ）＝（１，０）に対するフィルタ係数を算出する。【００８１】
図７は、対象ピクチャにおいて特定されるブロックを示す図である。【００８２】
例えば、適応フィルタ付動き補償予測部１６０は、対象ピクチャＰｃの中から、参照ピクチャＰｒ中の小数整数画素位置（ｐ，ｑ）＝（１，０）を指し示す３つの動きベクトルｍｖ１，ｍｖ２，ｍｖ３をそれぞれ有する３つのブロックＢｋ１，Ｂｋ２，Ｂｋ３を特定する。なお、動きベクトルｍｖ１，ｍｖ２，ｍｖ３により示される参照ピクチャＰｒ中のブロックＢｋｒ１，Ｂｋｒ２，Ｂｋｒ３はそれぞれ、整数画素位置から、上記小数整数画素位置の分だけ、つまり水平方向に１／４画素だけずれている。【００８３】
適応フィルタ付動き補償予測部１６０は、対象ピクチャＰｃのブロックＢｋ１と、そのブロックＢｋ１の動きベクトルｍｖ１により示される参照ピクチャＰｒ中のブロックＢｋｒ１との差分Ｄ１と、対象ピクチャＰｃのブロックＢｋ２と、そのブロックＢｋ２の動きベクトルｍｖ２により示される参照ピクチャＰｒ中のブロックＢｋｒ２との差分Ｄ２と、対象ピクチャＰｃのブロックＢｋ３と、そのブロックＢｋ３の動きベクトルｍｖ３により示される参照ピクチャＰｒ中のブロックＢｋｒ３との差分Ｄ３との和（Ｄ１＋Ｄ２＋Ｄ３）が最小になるように、小数整数画素位置（ｐ，ｑ）＝（１，０）に対する一次元水平内挿フィルタのフィルタ係数を算出する。言い換えれば、適応フィルタ付動き補償予測部１６０は、上述の和（Ｄ１＋Ｄ２＋Ｄ３）が最小になるように、フィルタ係数を最適化する。なお、上述の差分とは、例えば、対象ピクチャのブロックの各整数画素の画素値と、その各整数画素に対応する参照ピクチャのブロックの各小数画素の画素値との差分自乗和である。また、適応フィルタ付動き補償予測部１６０は、フィルタ係数を最適化するときには、例えば、フィルタ係数を適宜変化させて小数画素の画素値を算出しながら上記差分が最小となるようにフィルタ係数を決定する。または、適応フィルタ付動き補償予測部１６０は、後述する線形方程式を解くことによりフィルタ係数を決定する。【００８４】
このように適応フィルタ付動き補償予測部１６０は、位置（ｐ，ｑ）＝（１，０）に対するフィルタ係数を算出すると、残りの小数整数画素位置に対する一次元水平内挿フィルタのフィルタ係数も上述と同様の処理を繰り返すことにより算出する。つまり、適応フィルタ付動き補償予測部１６０は、位置（ｐ，ｑ）＝（２，０）および（３，０）に対するフィルタ係数を算出する。【００８５】
次に、本実施の形態における適応フィルタ付動き補償予測部１６０は、参照ピクチャ中の所定の整数小数画素位置を示す動きベクトルを有する１つ以上のブロックを対象ピクチャの中から見つけ出す。これにより、その整数小数画素位置に対するフィルタ係数の算出に必要とされるブロックが、対象ピクチャの全体から絞り込まれる。【００８６】
例えば、適応フィルタ付動き補償予測部１６０は、整数小数画素位置である位置（ｐ，ｑ）＝（０，１）、（０，２）および（０，３）に対する一次元垂直内挿フィルタのフィルタ係数を、上述と同様の最適化を行うことにより算出する。【００８７】
さらに、本実施の形態における適応フィルタ付動き補償予測部１６０は、参照ピクチャ中の所定の小数小数画素位置の小数画素を示す動きベクトルを有する１つ以上のブロックを対象ピクチャの中から見つけ出す。これにより、その小数小数画素位置に対するフィルタ係数の算出に必要とされるブロックが、対象ピクチャの全体から絞り込まれる。【００８８】
例えば、適応フィルタ付動き補償予測部１６０は、小数小数画素位置である位置（ｐ，ｑ）＝（１，１）、（１，２）、（２，１）、（２，２）、（２，３）、（３，１）、（３，２）および（３，３）に対する一次元垂直内挿フィルタのフィルタ係数を、上述と同様の最適化を行うことにより算出する。なお、このとき、適応フィルタ付動き補償予測部１６０は、先に算出された小数整数画素位置のフィルタ係数を用いて、その小数整数画素位置の画素値を算出し、その画素値を用いて小数小数画素位置に対するフィルタ係数の最適化を行う。【００８９】
図８は、本実施の形態における動き検出部１７０および適応フィルタ付動き補償予測部１６０の処理動作を示すフローチャートである。【００９０】
まず、動き検出部１７０は、対象ピクチャのブロックごとに、二次元固定内挿フィルタを用いて小数画素精度の動きベクトルを検出する（ステップＳ１００）。次に、適応フィルタ付動き補償予測部１６０は、参照ピクチャにおいて所定の小数整数画素位置を指し示す動きベクトルを有する１つ以上のブロックを、その対象ピクチャの中から特定する（ステップＳ１０２）。【００９１】
適応フィルタ付動き補償予測部１６０は、対象ピクチャに含まれるブロックのうち、そのステップＳ１０２で特定したブロックを用い、対象ピクチャのそれ以外のブロックを用いることなく、上記小数整数画素位置に対するフィルタ係数を算出する（ステップＳ１０４）。このように１つの小数整数画素位置に対するフィルタ係数が算出されると、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の小数整数画素位置があるか否かを判別する（ステップＳ１０６）。【００９２】
ここで、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の小数整数画素位置があると判別すると（ステップＳ１０６のＹ）、その小数整数画素位置に対してステップＳ１０２からの処理を繰り返し実行する。また、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の小数整数画素位置がないと判別すると（ステップＳ１０６のＮ）、参照ピクチャにおいて所定の整数小数画素位置を指し示す動きベクトルを有するブロックを、その対象ピクチャの中から特定する（ステップＳ１０８）。【００９３】
適応フィルタ付動き補償予測部１６０は、対象ピクチャに含まれるブロックのうち、そのステップＳ１０８で特定したブロックを用い、対象ピクチャのそれ以外のブロックを用いることなく、上記整数小数画素位置に対するフィルタ係数を算出する（ステップＳ１１０）。このように１つの整数小数画素位置に対するフィルタ係数が算出されると、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の整数小数画素位置があるか否かを判別する（ステップＳ１１２）。【００９４】
ここで、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の整数小数画素位置があると判別すると（ステップＳ１１２のＹ）、その整数小数画素位置に対してステップＳ１０８からの処理を繰り返し実行する。また、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の整数小数画素位置がないと判別すると（ステップＳ１１２のＮ）、参照ピクチャにおいて所定の小数小数画素位置を指し示す動きベクトルを有する１つ以上のブロックを、その対象ピクチャの中から特定する（ステップＳ１１４）。【００９５】
適応フィルタ付動き補償予測部１６０は、対象ピクチャに含まれるブロックのうち、そのステップＳ１１４で特定したブロックを用い、対象ピクチャのそれ以外のブロックを用いることなく、上記小数小数画素位置に対するフィルタ係数を算出する（ステップＳ１１６）。このように１つの小数小数画素位置に対するフィルタ係数が算出されると、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の小数小数画素位置があるか否かを判別する（ステップＳ１１８）。【００９６】
ここで、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の小数小数画素位置があると判別すると（ステップＳ１１８のＹ）、その小数小数画素位置に対してステップＳ１１４からの処理を繰り返し実行する。また、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の小数小数画素位置がないと判別すると（ステップＳ１１２のＮ）、分離型二次元適応内挿フィルタの全ての小数画素位置に対するフィルタ係数が算出されたと判断する。そして、適応フィルタ付動き補償予測部１６０は、ステップＳ１００で検出された動きベクトルと、算出されたフィルタ係数とを用いて対象ブロックに対する動き補償を行う（ステップＳ２２０）。【００９７】
このように本実施の形態では、対象ピクチャの各ブロックの動きベクトルが小数画素精度で検出され、参照ピクチャ上の小数画素位置（ｐ，ｑ）を示す動きベクトルを有する複数のブロックが対象ピクチャの中から特定される。そして、その特定された複数のブロックに基づいて、その小数画素位置（ｐ，ｑ）のフィルタ係数が決定される。つまり、本実施の形態では、対象ピクチャを構成する全てのブロックの中から、小数画素位置（ｐ，ｑ）を示す動きベクトルを有するブロックを絞り込み、その絞り込まれた複数のブロックだけに基づいて、小数画素位置（ｐ，ｑ）のフィルタ係数を決定する。したがって、対象ピクチャを構成する全てのブロックの動きベクトルが参照ピクチャ上のあらゆる小数画素位置を示すことを想定し、その全てのブロックの画像に基づいて小数画素位置（ｐ，ｑ）のフィルタ係数を決定することが行われないため、フィルタ係数算出のための計算量を大幅に低減することができ、適切なフィルタ係数を効率的に決定することができる。また、本実施の形態では、分離型二次元適応内挿フィルタのフィルタ係数を決定する前に検出された小数画素精度の動きベクトルが動き補償（ブロックの符号化）に利用されて符号化信号に含められる。つまり、本実施の形態では、フィルタ係数を決定する前に小数画素精度で動きベクトルを検出して動き補償に利用しているため、フィルタ係数の決定後に改めて、動き補償に利用されて符号化信号に含められるべき小数画素精度の動きベクトルを検出する必要がなく、処理負担を軽減することができる。なお、本発明は、分離型二次元適応内挿フィルタのフィルタ係数が決定された後に、さらに、そのフィルタ係数を用いて小数画素精度の動きベクトルを検出し、その動きベクトルを動き補償に利用することを妨げるものではない。【００９８】
図９は、本実施の形態における動画像復号化装置の一例を示すブロック図である。【００９９】
本実施の形態における動画像復号化装置２００は、逆量子化／逆変換部２２０、加算器２３５、デブロッキングフィルタ２３７、メモリ２４０、イントラ予測部２５０、適応フィルタ付動き補償予測部２６０、切換スイッチ２８０およびエントロピー復号化部２９０を備えている。【０１００】
エントロピー復号化部２９０は、動画像符号化装置１００から出力されたビットストリームたる符号化信号を取得して、その符号化信号に対してエントロピー復号化を行う。このエントロピー復号化により、エントロピー復号化部２９０は、量子化係数、動きベクトルおよびフィルタ係数を符号化信号から取り出して、その量子化係数を逆量子化／逆変換部２２０に出力し、動きベクトルおよびフィルタ係数を適応フィルタ付動き補償予測部２６０に出力する。【０１０１】
逆量子化／逆変換部２２０は、動画像符号化装置１００の逆量子化／逆変換部１３０と同様の機能および構成を有し、エントロピー復号化部２９０から取得した量子化係数を直交変換係数に逆量子化し、その直交変換係数を予測誤差に逆直交変換して加算器２３５に出力する。【０１０２】
加算器２３５は、動画像符号化装置１００の加算器１３５と同様の機能および構成を有する。つまり、加算器２３５は、逆量子化／逆変換部２２０から出力された予測誤差と、イントラ予測部２５０または適応フィルタ付動き補償予測部２６０から出力された予測信号の示す予測画像とを加算する。そして、加算器１３５は、その加算結果を示す復号画像をデブロッキングフィルタ２３７に出力する。【０１０３】
デブロッキングフィルタ２３７は、動画像符号化装置１００のデブロッキングフィルタ１３７と同様の機能および構成を有する。つまり、デブロッキングフィルタ２３７は、その復号画像に対してデブロッキングフィルタをかけることにより、その復号画像にある符号化歪みを除去し、符号化歪みが除去された復号画像をメモリ２４０に格納する。【０１０４】
メモリ２４０には、動画像符号化装置１００のメモリ１４０と同様、デブロッキングフィルタ２３７によって復号画像が逐次格納される。その結果、後の対象ブロックに対する予測画像の生成に使用される参照ピクチャがメモリ２４０に格納されることとなる。【０１０５】
イントラ予測部２５０は、動画像符号化装置１００のイントラ予測部１５０と同様の機能および構成を有する。つまり、イントラ予測部２５０は、対象ブロックに対して面内予測（イントラ予測）を行い、その対象ブロックに対する予測画像を示す予測信号を切換スイッチ２８０に出力する。【０１０６】
切換スイッチ２８０は、動画像符号化装置１００の切換スイッチ１８０と同様の機能および構成を有する。つまり、切換スイッチ２８０は、対象ブロックに対して面内予測（イントラ予測）が行われるときには、イントラ予測部２５０から出力される予測信号を加算器２３５に出力し、対象ブロックに対して画面間予測（インター予測）が行われるときには、適応フィルタ付動き補償予測部２６０から出力される予測信号を加算器２３５に出力する。【０１０７】
適応フィルタ付動き補償予測部２６０は、動画像符号化装置１００の適応フィルタ付動き補償予測部１６０と同様の機能および構成を有する。つまり、適応フィルタ付動き補償予測部２６０は、エントロピー復号化部２９０から出力された各ブロックに対応する小数画素精度の動きベクトルを取得すると、それらの動きベクトルを有するブロックに基づいて、分離型二次元適応内挿フィルタのフィルタ係数を算出する。さらに、適応フィルタ付動き補償予測部２６０は、算出されたフィルタ係数を用いて対象ブロックに対する動き補償を行い、その結果、その対象ブロックに対する予測画像を生成し、その予測画像を示す予測信号を切換スイッチ２８０に出力する。この適応フィルタ付動き補償予測部２６０によるフィルタ係数の算出および動き補償は、上述の適応フィルタ付動き補償予測部１６０によるフィルタ係数の算出および動き補償と同様に行われる。【０１０８】
以下、分離型二次元適応内挿フィルタのフィルタ係数を決定する方法について、具体的に説明する。【０１０９】
図１０は、１／４画素精度の参照ピクチャの画素位置および画素値を示す図である。【０１１０】
黒丸は整数画素位置（すなわち元の画像のサンプリング位置）を意味するのに対して、白丸は画素値が内挿されなければならない小数画素位置を示す。なお、本発明はいかなる小数画素精度（垂直および水平の方向に異なる小数画素精度を含む）にも適用可能である。【０１１１】
ここで、以下において、ｎを小数画素精度（すなわち１／２画素精度の場合にはｎ＝２、１／４画素精度の場合にはｎ＝４など）と定義する。参照ピクチャ上の位置は整数画素精度または小数画素精度により表される。（ｘ，ｙ）は参照ピクチャ上の座標位置を整数画素精度で示し、（ｎｘ＋ｐ，ｎｙ＋ｑ）は参照ピクチャ上の座標位置を小数画素精度で示す。つまり、小数画素精度で示される整数画素位置（ｎｘ，ｎｙ）は、整数画素精度で示される整数画素位置（ｘ，ｙ）に一致する。なお、小数画素精度で示される（ｎｘ＋ｐ，ｎｙ＋ｑ）は、上述の（ｐ，ｑ）のように各整数単位範囲に共通の位置を示さず、参照ピクチャ上の特定の１つの位置を示す。以下、（ｐ，ｑ）を、（ｎｘ＋ｐ，ｎｙ＋ｑ）と区別するために、局所座標上の位置という。さらに、Ｐx,yを元の参照ピクチャの整数画素位置（ｘ，ｙ）にある画素の画素値と定義する。さらに、Ｐａnx+p,0を、参照ピクチャ上の小数画素精度で示される１つの位置（ｎｘ＋ｐ，０）における画素の画素値と定義し、Ｐｂnx+p,ny+qを、参照ピクチャ上の小数画素精度で示される１つの位置（ｎｘ＋ｐ，ｎｙ＋ｑ）における画素の画素値と定義する（図１０参照）。【０１１２】
動きベクトルは、ｍｖ＝（ｖx，ｖy）によって表現される。つまり、動きベクトル５０１，５０２，５０３は、小数画素精度により示される水平方向および垂直方向の位置をそれぞれ成分ｖxおよびｖyに代入することによって表される。ｖx ｍｏｄ ｎ＝０を満たす動きベクトル５０３は、ｘ方向（水平方向）の整数画素位置を示している。ｖx ｍｏｄ ｎ＝１，…，（ｎ−１）を満たす動きベクトル５０１，５０２は、ｘ方向の小数画素位置を示している。ｙ方向（垂直方向）についても同様、動きベクトル５０１がｙ方向の整数画素位置を示し、動きベクトル５０２，５０３がｙ方向の小数画素位置を示している。【０１１３】
本実施の形態における分離型二次元適応内挿フィルタは、上述のように、一次元水平内挿フィルタと一次元垂直内挿フィルタに分けられることができる。具体的に、垂直方向において整数画素位置にある画素、つまり位置（ｎｘ＋ｐ，ｙ）にある画素の画素値Ｐａnx+p,yは、一次元水平内挿フィルタを用いて以下の（数１）によって示される。【０１１４】
【数１】
2008132828.tif 000003
【０１１５】
ここで、ｇi(p)は、局所座標上の位置（ｐ，０）に対する水平方向のフィルタ係数ｇ(p)に含まれる複数の係数あって、６−タップ・フィルタの場合、ｉ＝−２，−１，０，１，２，３を有する一次元水平内挿フィルタの離散的な係数である。つまり、局所座標上の位置（ｐ，０）に対する一次元水平内挿フィルタのフィルタ係数ｇ(p)は、６つの係数ｇ-2(p)、ｇ-1(p)、ｇ0(p)、ｇ1(p)、ｇ2(p)、ｇ3(p)からなる。また、Ｐx-i,yは、整数画素位置（ｘ−ｉ，ｙ）（ｉ＝−２，−１，０，１，２，３）にある整数画素の画素値である。このように、垂直方向において整数画素位置にある画素、つまり位置（ｎｘ＋ｐ，ｙ）にある画素の画素値Ｐａnx+p,yは、水平方向に沿って配列する６つの整数画素の画素値Ｐx-i,y（ｉ＝−２，−１，０，１，２，３）のそれぞれに対して係数ｇi(p)（ｉ＝−２，−１，０，１，２，３）を掛けて合計した結果として表される。このような水平方向のフィルタ係数ｇ(p)は、局所座標上の特定の位置ｐに依存する。それゆえに、一次元水平内挿フィルタのフィルタ係数ｇ(p)は、各々の位置ｐに対して決定される。【０１１６】
図１１は、一次元水平内挿フィルタにより内挿される小数画素およびそのフィルタ係数を示す図である。なお、図１０中、黒丸は既知の画素値を有する整数画素を示し、白丸は内挿されるべき小数画素を示す。【０１１７】
フィルタ係数ｇ(p)は、局所座標上の小数整数画素位置（ｐ，０）（ｐ＝１，…，（ｎ−１））のそれぞれに対して決定される。例えば、ｎ＝４の場合、小数整数画素位置（１，０）に対してフィルタ係数ｇ(1)が決定され、小数整数画素位置（２，０）に対してフィルタ係数ｇ(2)が決定され、小数整数画素位置（３，０）に対してフィルタ係数ｇ(3)が決定される。【０１１８】
このように一次元水平内挿フィルタのフィルタ係数ｇ(p)が決定されると、位置（ｎｘ＋ｐ，ｙ＋ｑ）にある画素の画素値Ｐｂnx+p,y+qは、一次元垂直内挿フィルタを用いて以下の（数２）によって定められる。【０１１９】
【数２】
2008132828.tif 000004
【０１２０】
ここで、ｈj(p,q)は、局所座標上の位置（ｐ，ｑ）に対する垂直方向のフィルタ係数ｈ(p,q)に含まれる複数の係数である。たとえば、６−タップ・フィルタの場合、ｈj(p,q)は、ｊ＝−２，−１，０，１，２，３を有する一次元垂直内挿フィルタの離散的な係数である。つまり、局所座標上の位置（ｐ，ｑ）に対する一次元垂直内挿フィルタのフィルタ係数ｈ(p,q)は、６つの係数ｈ-2(p,q)、ｈ-1(p,q)、ｈ0(p,q)、ｈ1(p,q)、ｈ2(p,q)、ｈ3(p,q)からなる。また、Ｐａnx+p,y-jは、垂直方向において整数画素位置にある画素、つまり位置（ｎｘ＋ｐ，ｙ−ｊ）（ｊ＝−２，−１，０，１，２，３）にある画素の画素値である。したがって、係数ｈj(p,q)は、水平方向に内挿された小数画素の画素値Ｐａnx+p,y-jに対しても掛け算される。このように、位置（ｎｘ＋ｐ，ｎｙ＋ｑ）にある画素の画素値Ｐｂnx+p,ny+qは、垂直方向に沿って配列する６つの画素の画素値Ｐａnx+p,y-j（ｊ＝−２，−１，０，１，２，３）のそれぞれに対して係数ｈj(p,q)（ｊ＝−２，−１，０，１，２，３）を掛けて合計した結果として表される。また、垂直方向のフィルタ係数ｈ(p,q)は、局所座標上の特定の位置（ｐ，ｑ）に依存する。それゆえに、一次元垂直内挿フィルタのフィルタ係数ｈ(p,q)は、各々の位置（ｐ，ｑ）の画素に対して決定される。【０１２１】
図１２は、一次元垂直内挿フィルタにより内挿される小数画素およびそのフィルタ係数を示す図である。なお、図１２中、黒丸は既知の画素値を有する整数画素および小数画素を示し、白丸は内挿されるべき小数画素を示す。【０１２２】
フィルタ係数ｈj(p,q)は、局所座標上の小数画素位置（ｐ，ｑ）（ｐ＝０，…，（ｎ−１）およびｑ＝１，…，（ｎ−１））のそれぞれに対して決定される。例えば、ｎ＝４の場合、１２個の小数画素のそれぞれに対してフィルタ係数ｈj(p,q)が決定される。具体的に、小数画素位置（０，１）に対してフィルタ係数ｈj(0,1)が決定され、小数画素位置（１，１）に対してフィルタ係数ｈj(1,1)が決定され、小数画素位置（１，２）に対してフィルタ係数ｈj(1,2)が決定される。【０１２３】
なお、本実施の形態では、一次元水平内挿フィルタおよび一次元垂直内挿フィルタの適用によって整数画素位置の画素の画素値が変化しないことが要請される。言い換えれば、一次元水平内挿フィルタおよび一次元垂直内挿フィルタが整数画素の画素値に影響を与えないことが要請される。それゆえに、ｐおよびｑがそれぞれ０となり得る場合、以下の（数３）に示す条件が満たされなければならない。【０１２４】
【数３】
2008132828.tif 000005
【０１２５】
ここで、δk,lはクロネッカーデルタであり、ｋ＝ｌであればδk,l＝１であり、ｋ≠ｌであればδk,l＝０である。更に、一次元垂直内挿フィルタの適用によって一次元水平内挿フィルタの結果（小数画素の画素値）が変化しないことも要請される。言い換えれば、一次元垂直内挿フィルタが一次元水平内挿フィルタの結果である小数画素の画素値に影響を与えないことが要請される。それゆえに、ｑが０となり得る場合、以下の（数４）に示す条件が満たされなければならない。【０１２６】
【数４】
2008132828.tif 000006
【０１２７】
従って、ｐおよびｑがそれぞれ０となり得る場合であっても、実質的には、（ｎ−１）個の小数整数画素位置に対する一次元水平適応内挿フィルタのフィルタ係数ｇ(1)，…，ｇ(n-1)と、ｎ（ｎ−１）個の小数画素位置（整数小数画素位置および小数小数画素位置）に対する一次元垂直内挿フィルタのフィルタ係数ｈ(0,1)，…，ｈ(0,n-1)，ｈ(1,1)，…，ｈ(n-1,n-1)とがある。【０１２８】
本実施の形態では、まず、対象ピクチャの中から、参照ピクチャにおける各局所座標で所定の小数整数画素位置（ｐ，０）（ｐ≠０）を指し示す小数画素精度の動きベクトルｍｖ＝（ｖx，ｖy）（ｖx ｍｏｄ ｎ≠０、ｖy ｍｏｄ ｎ＝０）を有する１つ以上のブロックが特定される。そして、本実施の形態では、一次元水平内挿フィルタのフィルタ係数ｇ(p)（係数ｇi(p)）は、以下の（数５）に示す予測誤差（ｅp）2が最小になるように最適化される。【０１２９】
【数５】
2008132828.tif 000007
【０１３０】
ここで、Ｓx,yは、対象ピクチャ上の整数画素精度により示される位置（ｘ，ｙ）にある整数画素の画素値であり、Ｐxd-i,ydは、前に復号化された参照ピクチャ上の整数画素位置（ｘｄ−ｉ，ｙｄ）にある画素の画素値である。また、ｘｄはｘｄ＝ｘ＋[[ｖx／ｎ]]によって定義され、ｙｄはｙｄ＝ｙ＋[[ｖy／ｎ]]によって定義され、ｐはｐ＝ｖx ｍｏｄ ｎにより示される。なお、[[Ａ]]は、引数Ａ以下の最大の整数を示すフロア演算子である。また、上述のように、ｖy ｍｏｄ ｎ＝０が満たされているため、ｙｄは、ｙｄ＝ｙ＋[[ｖy／ｎ]]＝ｙ＋ｖy／ｎにより示される。【０１３１】
つまり、位置（ｘｄ，ｙｄ）は、対象ピクチャ上の整数画素位置（ｘ，ｙ）と小数画素精度の動きベクトルｍｖ＝（ｖx，ｖy）とによって指し示される参照ピクチャ上の小数画素位置（ｘ＋ｖx／ｎ，ｙ＋ｖy／ｎ）から見て、水平方向に近傍にある整数画素位置である。そして、位置（ｘｄ−ｉ，ｙｄ）は、例えばｉ＝−２，−１，０，１，２，３によって、水平方向に連続して配列する６つの整数画素位置を示す。【０１３２】
ｘとｙの取り得る範囲は、各局所座標で所定の小数整数画素位置（ｐ，０）を指し示す動きベクトルを有する対象ピクチャ上の１つ以上のブロックからなる範囲であって、その１つ以上のブロック内の（ｘ，ｙ）に対して上記（数５）により示される予測誤差の最小化が行われる。なお、上記ブロックはマクロブロックに対応する。つまり、ｘとｙの取り得る範囲は、各局所座標で同一の小数画素位置を示している動きベクトル（すなわちｖx ｍｏｄ ｎ＝ｐとｖy ｍｏｄ ｎ＝０を満たす動きベクトル）を有する、（一つ以上の動画像の中の）いくつかまたは全てのマクロブロックの（不連続の）結合から成る。【０１３３】
上述のように、本実施の形態では、一次元水平内挿フィルタのフィルタ係数ｇ(p)は、（数５）に示す予測誤差を最小化するように決定される。このような最小化（最適化）のアルゴリズムには、公知技術のいかなるもの（例えば勾配降下法、シミュレイテッドアニーリング法など）が適用されてもよい。例えば、最適なフィルタ係数ｇ(p)は、（数５）の偏導関数によって導出される線形方程式を解くことによって決定される。その線形方程式は、以下の（数６）のように示される。【０１３４】
【数６】
2008132828.tif 000008
【０１３５】
このような最適化によって、局所座標上の１つの小数整数画素位置（ｐ，０）に対する一次元水平内挿フィルタのフィルタ係数ｇ(p)が決定される。そして、他の小数整数画素位置（ｐ，０）に対しても同様の最適化が繰り返し実行されて、その位置に対するフィルタ係数ｇ(p)が順次決定される。【０１３６】
このように決定された一次元水平内挿フィルタのフィルタ係数ｇ(p)を用いることによって、前に復号化された参照ピクチャ上の、水平方向において小数画素位置にあり垂直方向において整数画素位置にある小数画素の画素値Ｐａnx+p,yが、上記（数１）によって算出される。【０１３７】
次に本実施の形態では、対象ピクチャの中から、参照ピクチャにおける各局所座標で小数整数画素位置を除く同一の小数画素位置（ｐ，ｑ）（ｑ≠０）を指し示す小数画素精度の動きベクトルｍｖ＝（ｖx，ｖy）（ｖy ｍｏｄ ｎ≠０）を有する１つ以上のブロックが特定される。そして、本実施の形態では、一次元垂直内挿フィルタのフィルタ係数ｈ(p,q)（係数ｈj(p,q)）は、垂直方向における小数画素の動きを考慮に入れる予測誤差の最小化によって、第２のステップで決定される。つまり、このフィルタ係数ｈ(p,q)は、以下の（数７）に示す予測誤差（ｅp,q）2が最小になるように最適化される。【０１３８】
【数７】
2008132828.tif 000009
【０１３９】
ここで、Ｓx,yは、対象ピクチャ上の整数画素精度により示される位置（ｘ，ｙ）にある整数画素の画素値であり、Ｐａnx+vx,yd-jは、参照ピクチャ上の小数整数画素位置または整数画素位置である位置（ｎｘ＋ｖx，ｙｄ−ｊ）の画素の画素値である。また、ｐはｐ＝ｖx ｍｏｄ ｎにより示され、ｑはｑ＝ｖy ｍｏｄ ｎ≠０により示される。つまり、位置（ｎｘ＋ｖx，ｙｄ）は、対象ピクチャ上の整数画素位置（ｘ，ｙ）と小数画素精度の動きベクトルｍｖ＝（ｖx，ｖy）とによって指し示される参照ピクチャ上の小数画素位置（ｘ＋ｖx／ｎ，ｙ＋ｖy／ｎ）から見て、垂直方向に近傍にある小数整数画素位置または整数画素位置である。そして、位置（ｎｘ＋ｖx，ｙｄ−ｊ）は、例えばｊ＝−２，−１，０，１，２，３によって、垂直方向に連続して配列する６つの小数整数画素位置または６つの整数画素位置を示す。【０１４０】
ｘとｙの取り得る範囲は、各局所座標で所定の小数画素位置（ｐ，ｑ）（ｑ≠０）を指し示す動きベクトルを有する対象ピクチャ上の１つ以上のブロックからなる範囲であって、その１つ以上のブロック内の（ｘ，ｙ）に対して上記（数７）により示される予測誤差の最小化が行われる。なお、上記ブロックはマクロブロックに対応する。つまり、ｘとｙの取り得る範囲は、各局所座標で同一の小数画素位置を示している動きベクトル（すなわちｖx ｍｏｄ ｎ＝ｐとｖy ｍｏｄ ｎ＝ｑ≠０を満たす動きベクトル）を有する、いくつかまたは全てのマクロブロックの（不連続の）結合から成る。【０１４１】
上述のように、本実施の形態では、一次元垂直内挿フィルタのフィルタ係数ｈ(p,q)は、（数７）に示す予測誤差を最小化するように決定される。このような最小化（最適化）のアルゴリズムには、公知技術のいかなるもの（例えば勾配降下法、シミュレイテッドアニーリング法など）が適用されてもよい。例えば、最適なフィルタ係数ｈ(p,q)は、（数７）の偏導関数によって導出される線形方程式を解くことによって決定される。その線形方程式は、以下の（数８）のように示される。【０１４２】
【数８】
2008132828.tif 000010
【０１４３】
このような最適化によって、局所座標上の１つの小数画素位置（ｐ，ｑ）（ｑ≠０）に対する一次元垂直内挿フィルタのフィルタ係数ｈj(p,q)が決定される。そして、他の小数画素位置（ｐ，ｑ）（ｑ≠０）に対しても同様の最適化が繰り返し実行されて、その位置に対するフィルタ係数ｈ(p,q)が順次決定される。【０１４４】
このように決定された一次元垂直内挿フィルタのフィルタ係数ｈj(p,q)を用いることによって、前に復号化された参照ピクチャ上の、小数画素位置（ｐ，ｑ）（ｑ≠０）にある小数画素の画素値Ｐｂnx+p,ny+qが、上記（数２）によって算出される。【０１４５】
このように、本実施の形態における分離型二次元適応内挿フィルタは、一次元水平内挿フィルタと一次元垂直内挿フィルタに分けられる。そして、一次元水平内挿フィルタのフィルタ係数ｇ(p)と、一次元垂直内挿フィルタのフィルタ係数ｈ(p,q)とがそれぞれ算出される。さらに、動き補償では、算出されたフィルタ係数ｇ(p)を用いて、垂直方向において整数画素位置にあり水平方向において小数画素位置にある小数画素の画素値が算出され、算出されたフィルタ係数ｈ(p,q)を用いて、垂直方向において小数画素位置にある小数画素の画素値が算出される。なお、対象ブロックに対する動き補償では、その対象ブロックが有する小数画素精度の動きベクトルｍｖが示す局所座標上の位置（ｐ，ｑ）に対するフィルタ係数だけが用いられる。その結果、参照ピクチャ上の各局所座標における上記位置（ｐ，ｑ）の小数画素の画素値が算出され、位置（ｐ，ｑ）の小数画素からなる予測画像が生成される。【０１４６】
上記説明において、ｇ(p)およびｈ(p,q)は、それぞれ水平および垂直の一次元内挿フィルタのフィルタ係数として定義され、一次元水平内挿フィルタのフィルタ係数は一次元垂直内挿フィルタのフィルタ係数よりも前に決定された。しかしながら、一次元垂直内挿フィルタのフィルタ係数が一次元水平内挿フィルタのフィルタ係数よりも前に決定されるように、ｇ(p)およびｈ(p,q)の役割を変えてもよい。【０１４７】
また、上記説明において、一次元垂直内挿フィルタのフィルタ係数ｈ(p,q)は、水平方向の小数画素位置ｐに依存した。しかし、フィルタ係数ｈ(p,q)が、小数画素位置ｐに依存することなく、水平方向に不変であってもよい。この場合、フィルタ係数ｈ(p,q)はｈ(q)となり、この場合にも、ｈ(p,q)の場合と類似した効果が達成される。また、この場合には、一次元垂直内挿フィルタのフィルタ係数の数を（ｎ−１）に減らすことができ、その結果、シグナリング・オーバーヘッドを減らすことができる。【０１４８】
さらに、一次元水平内挿フィルタのフィルタ係数の算出を第１に実行せずに、一次元垂直内挿フィルタの水平方向に不変のフィルタ係数ｈ(q)を、ｇ(p)と同様に決定してもよい。この場合、フィルタ係数ｈ(q)（係数ｈj(q)）はｐに依存しないため、（数７）においてｐはｐ＝０に置き換えられる。その結果、フィルタ係数ｈ(q)は、以下の（数９）に示す予測誤差（ｅ0,q）2が最小になるように決定される。なお、（数９）では、ｘｄ＝ｘ＋[[ｖx／ｎ]]、ｖx ｍｏｄ ｎ＝０、ｙｄ＝ｙ＋[[ｖy／ｎ]]およびｖy ｍｏｄ ｎ＝ｑの関係が満たされている。【０１４９】
【数９】
2008132828.tif 000011
【０１５０】
この（数９）は（数５）と相似の関係にある。つまり、ｘとｙの取り得る範囲は、各局所座標で所定の整数小数画素位置（０，ｑ）を指し示す動きベクトルを有する対象ピクチャ上の１つ以上のブロックからなる範囲であって、その１つ以上のブロック内の（ｘ，ｙ）に対して上記（数９）により示される予測誤差の最小化が行われる。なお、上記ブロックはマクロブロックに対応する。つまり、ｘとｙの取り得る範囲は、各局所座標で同一の小数画素位置を示している動きベクトル（すなわちｖx ｍｏｄ ｎ＝０とｖy ｍｏｄ ｎ＝ｑを満たす動きベクトル）を有する、いくつかのまたは全てのマクロブロックの（不連続の）結合から成る。【０１５１】
また、本実施の形態ではフィルタ係数に含まれる各係数をそれぞれ独立に決定した。しかし、フィルタ係数が適用される小数画素位置を中心に、各係数が重み付けられる各画素が水平方向または垂直方向に対称的に配列している場合には、その対称性を利用して、その小数画素位置のフィルタ係数に含まれる係数のうち、互いに対称的な位置にある画素に重み付けられる係数を等しくしてもよい。これにより、フィルタ係数を送信するためのオーバーヘッドを更に減少することができる。つまり、上述のような場合には、小数画素位置のフィルタ係数に含まれる係数は、（数１０）のように、水平方向または垂直方向のミラーリングによって決定される。例えば、１／４画素精度（ｎ＝４）の場合には、ｐ＝２および／またはｑ＝２にある小数画素位置のフィルタ係数に対して（数１０）が適用される。【０１５２】
【数１０】
2008132828.tif 000012
【０１５３】
また、本実施の形態では各小数画素位置に対するフィルタ係数をそれぞれ独立に決定した。しかし、互いに隣り合う整数画素の中間点を中心に、その整数画素間の２つの小数画素位置が水平方向または垂直方向に対称的に配列している場合には、その対称性を利用して、その２つの小数画素位置のフィルタ係数を等しくしてもよい。これにより、フィルタ係数を送信するためのオーバーヘッドを更に減少することができる。つまり、上述のような場合には、対称的に配置された小数画素位置のフィルタ係数は、（数１１）のように、水平方向または垂直方向のミラーリングによって決定される。例えば、１／４画素精度（ｎ＝４）の場合には、ｐ＝３の小数画素位置のフィルタ係数は、ｐ＝１の小数画素位置のフィルタ係数と同一のフィルタ係数に決定される。【０１５４】
【数１１】
2008132828.tif 000013
【０１５５】
ここで、例えば、動き検出部１７０によって小数画素位置（３，０）を指し示す動きベクトルが検出されず、その動きベクトルｍｖを有するブロックが対象ピクチャに無いために、予測誤差を用いてその小数画素位置（３，０）のフィルタ係数を算出することができない場合がある。しかしながら、小数画素位置（１，０）のフィルタ係数が予測誤差を用いて算出できれば、上述の対称性（数１１）を利用することによって、その小数画素位置（３，０）のフィルタ係数を、小数画素位置（１，０）のフィルタ係数として決定することができる。【０１５６】
なお、上述のような対称性を利用すること以外にも、その小数画素位置（３，０）のフィルタ係数を、前のピクチャに対して算出されたその小数画素位置のフィルタ係数として決定してもよい。さらに、小数画素位置（３，０）のフィルタ係数をデフォルトのフィルタ係数に決定してもよい。また、その小数画素位置（３，０）のフィルタ係数を決定しなくてもよい。この場合、その小数画素位置のフィルタ係数は使用されることなく、動画像符号化装置１００は動画像復号化装置２００にその小数画素位置のフィルタ係数を送信しない。【０１５７】
さらに、（数１２）に示されるように、（数１０）および（数１１）の関係を満たすようにフィルタ係数を決定してもよい。【０１５８】
【数１２】
2008132828.tif 000014
【０１５９】
また、本発明では、上述のような対称性に限定されず、フィルタ係数を送信するためのオーバーヘッドを減らすために、回転対称を含む他の対称性を利用してもよい。【０１６０】
このように、動き検出部１７０によって所定の小数画素位置を指し示す動きベクトルが検出されず、その動きベクトルを有するブロックが対象ピクチャ上で特定されない場合には、適応フィルタ付動き補償予測部１６０は、上述のような画素位置の対称性や、他のピクチャのフィルタ係数、デフォルトのフィルタ係数などを利用することにより、その所定の小数画素位置のフィルタ係数を決定してもよい。または、適応フィルタ付動き補償予測部１６０は、上述のように、その所定の小数画素位置のフィルタ係数を決定しなくてもよい。【０１６１】
以下、本発明の効果について図１３Ａ、図１３Ｂおよび図１４を用いて説明する。【０１６２】
図１３Ａおよび図１３Ｂは、本実施の形態における動画像符号化装置１００の符号化効率と従来例の符号化効率との計測結果を比較して示す図である。なお、図１３Ａに示す符号化効率と図１３Ｂに示す符号化効率とでは、それらの効率が計測される条件である入力画像が異なっている。【０１６３】
このような図１３Ａおよび図１３Ｂでは、本実施の形態における分離型二次元適応内挿フィルタを用いて動き補償を行う動画像符号化装置１００の符号化効率が、従来のＨ．２６４／ＡＶＣの二次元固定内挿フィルタを用いて動き補償を行う動画像符号化装置の符号化効率と、従来の非分離型二次元適応内挿フィルタを用いて動き補償を行う動画像符号化装置の符号化効率と比較して示されている。これらの図に示すように、本実施の形態における分離型二次元適応内挿フィルタによる符号化効率は、従来の非分離型二次元適応内挿フィルタによる符号化効率と略等しく、従来の二次元固定内挿フィルタによる符号化効率よりも高い。【０１６４】
図１４は、本実施の形態における動画像符号化装置１００によるフィルタリングの計算量と従来のフィルタリングの計算量とを比較して示す図である。【０１６５】
この図１４に示すように、従来の非分離型二次元適応内挿フィルタ（６ｘ６−タップ・フィルタ）の適用に要する計算量は３６０である。一方、本実施の形態における動画像符号化装置１００によって行われる分離型二次元適応内挿フィルタ（６−タップ・フィルタ）の適用に要する計算量は９０である。このように、本実施の形態ではフィルタリングの計算量を低減することができる。【０１６６】
なお、本実施の形態では、１枚の参照ピクチャに対して１つの分離型二次元適応内挿フィルタを決定した。つまり、１枚の参照ピクチャ上で小数画素位置（ｐ，ｑ）が同じであれば、それらの位置に対して同じフィルタ係数を決定した。しかし、本発明はこれに限定されるものではなく、複数のピクチャ（シーケンス）やスライスに対して１つの分離型二次元適応内挿フィルタを決定してもよい。この場合、シーケンスやスライス上で小数画素位置（ｐ，ｑ）が同じであれば、それらの位置に対して同じフィルタ係数が決定される。つまり、本発明では、ピクチャ、スライス、またはシーケンスなどをフィルタ決定単位とし、そのフィルタ決定単位ごとに、そのフィルタ決定単位に含まれる小数画素位置（ｐ，ｑ）に対する分離型二次元適応内挿フィルタのフィルタ係数を決定してもよい。【０１６７】
また、ブロック図（図３および図９など）の各機能ブロックは典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。例えばメモリ以外の機能ブロックが１チップ化されていても良い。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。【０１６８】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【産業上の利用可能性】
【０１６９】
本発明の二次元適応内挿フィルタのフィルタ係数決定方法は、少ない計算量で効率的に適切なフィルタ係数を決定することができるという効果を奏し、例えば、動画像符号化装置やビデオカメラ、カメラ付携帯電話などに適用することができる。
【図１】
2008132828.tif 000015
【図２】
2008132828.tif 000016
【図３】
2008132828.tif 000017
【図４】
2008132828.tif 000018
【図５Ａ】
2008132828.tif 000019
【図５Ｂ】
2008132828.tif 000020
【図６】
2008132828.tif 000021
【図７】
2008132828.tif 000022
【図８】
2008132828.tif 000023
【図９】
2008132828.tif 000024
【図１０】
2008132828.tif 000025
【図１１】
2008132828.tif 000026
【図１２】
2008132828.tif 000027
【図１３Ａ】
2008132828.tif 000028
【図１３Ｂ】
2008132828.tif 000029
【図１４】
2008132828.tif 000030
【手続補正書】
【提出日】平成21年10月15日(2009.10.15)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像データを圧縮するための方法に関し、特に、動き補償のための適応内挿フィルタのフィルタ係数を決定する方法に関する。
【背景技術】
【０００２】
動画像データは、多くの増大するアプリケーション、つまりテレビ電話やテレビ会議からＤＶＤ（Digital Versatile Disk）やデジタルテレビジョンに至るまで採用されている。動画像データが送信されているときには、かなりのデータ量が、限られた周波数帯域の従来の伝送チャネルを通して送信されなければならず、動画像データが記録されているときには、かなりのデータ量が、限られた容量の従来の記憶媒体に記録されなければならない。従来のチャネルやメディアを用いて、デジタルデータを送信したり記録したりするためには、デジタルデータのボリュームを圧縮するか、減らすことが、必然的である。
【０００３】
動画像データの圧縮のために、複数の動画像符号化規格が開発された。たとえば、その規格は、Ｈ．２６ｘで示されるＩＴＵ−Ｔ規格と、ＭＰＥＧ−ｘで示されるＩＳＯ／ＩＥＣ規格である。最新で最先進の動画像符号化規格は、現在Ｈ．２６４／ＭＰＥＧ−４ＡＶＣとして示される規格である。
【０００４】
大部分のこれらの規格の基礎をなしている符号化のアプローチは、以下に示す（ａ）〜（ｄ）のメインステージから成る。
（ａ）各々のビデオフレームをブロックレベルでデータ圧縮するために、個々のビデオフレームをピクセルからなる二次元のブロックに分ける。
（ｂ）時間的予測技術を各々のブロックに適用し、残差予測誤差を空間領域から周波数領域に変えることにより、時空間の動画像情報を無相関化する。
（ｃ）その結果である変換係数を量子化することによってデータの全体的な量を減らす。
（ｄ）量子化された変換係数をエントロピー符号化することによって差分データを圧縮する。
【０００５】
大部分の最新技術の動画像符号化規格によって使用される時間的予測技術は、動き補償である。この予測技術において、オブジェクトやカメラの動きによって生じる画像の動きを表現するために、動画像データの各ブロックに対して１以上の動きベクトルが決定される。決定された動きベクトルに基づいて、ブロックの画像内容は、少なくとも、前に符号化されたブロックの画像内容からの確かな延長として検出される。予測するものと、実際の画像内容との間に残留する矛盾は、予測誤差と呼ばれている。そして、実際の画像内容ではなくその予測誤差が動きベクトルと共に符号化される。このように、符号化される情報の量の相当な減少は、大部分の「自然な」動画像シーケンスに対して実現される。
【０００６】
明らかなように、圧縮効率は動き予測の精度に大きく依存する。Ｈ．２６４／ＡＶＣのような現代の動画像符号化規格は、小数画素精度を有する動きベクトルが考慮される。すなわち、その動きベクトルは、画素位置に関連する整数値に制限されず、２つの画素の間の位置を示すことができる。通常、動きベクトルは１／２画素または１／４画素精度で決定される。この場合、動画像解像度は、最初の動画像解像度の２倍または４倍の解像度を有する。小数画素精度を有する動きベクトルは、参照画像内の各サンプルがとられた位置の間の位置を参照することができ、内挿は、予測された画像を計算するために必要である。通常、予め定められた内挿フィルタが、必須の小数画素の画素値を計算するために使用される。
【０００７】
図１は、Ｈ．２６４／ＡＶＣにおける動画像符号化装置の一例を示すブロック図である。
【０００８】
この動画像符号化装置３００は、固定されたフィルタ係数による二次元内挿フィルタを用い、小数画素精度で動き補償を行う。また、動画像符号化装置３００は、入力画像（入力信号）の対象ブロックと、メモリ３４０に格納されている先に符号化および復号化されたブロック（予測信号）とに基づき、対象ブロックと予測信号との差分を決定する減算器３１０を備える。具体的には、Ｈ．２６４／ＡＶＣ規格に従って、入力画像はマクロブロックに分けられる。動画像符号化装置３００は、入力画像である入力動画像シーケンスの対象ブロックと、先に符号化および復号化されたブロック（局所的に復号化された画像）に基づく予測信号との間の差分を伝送する差分パルス符号変調（ＤＰＣＭ）を使用する。これらの差分は減算器３１０で決定される。その減算器３１０は、符号化される対象ブロックを受け、そこから予測信号を減ずる。
【０００９】
局所的に復号化された画像は、動画像符号化装置３００に組み込まれる復号化部（逆量子化／逆変換部３３０、加算器３３５およびデブロッキングフィルタ３３７）によって提供される。復号化部は、符号化ステップを逆の方法で実行する。つまり、逆量子化／逆変換部３３０は、量子化係数を逆量子化し、逆変換を逆量子化係数に適用する。加算器３３５は、復号化された差分を予測信号に加え、局所的に復号化された画像を生成する。さらに、デブロッキングフィルタ３３７は、復号化された画像のブロッキングアーチファクトを減らす。
【００１０】
動画像符号化装置３００によって使用される予測のタイプは、マクロブロックが「イントラ」モードまたは「インター」モードで符号化されるかどうかに依存する。「イントラ」モードでは、Ｈ．２６４／ＡＶＣは、次のマクロブロックを予測するために、同じ画像の中で既に符号化されたマクロブロックに基づく、予測の仕組みを使用する。「インター」モードでは、連続的ないくつかのフレームの対応するブロック間の動き補償予測が、使用される。
【００１１】
イントラ符号化画像（Ｉ−タイプ画像）だけは、いかなる前に復号化された画像にも関係なく復号化される。Ｉ−タイプ画像は、誤差回復力を符号化された動画像シーケンスに提供する。さらに、符号化されたデータであるビットストリームへのエントリーポイントは、ランダムアクセスを可能にするために、すなわち、符号化された動画像シーケンスの範囲内でＩ−タイプ画像にアクセスするために、Ｉ−タイプ画像によって提供される。イントラモード（イントラ予測部３５０による処理）と、インターモード（動き補償予測部３６０による処理）との間の切り換えは、切換スイッチ３８０によって制御される。
【００１２】
「インター」モードにおいて、マクロブロックは、動き補償を使用することによって、先行フレームの対応するブロックから予測される。動き検出は、対象入力信号と局所復号画像を受信する動き検出部３７０によって達成される。この動き検出は、二次元の動きベクトルを検出する。そして、その動きベクトルは、対象ブロックと先行フレームの対応するブロックとの間の画素の動きを示す。検出された動きに基づいて、動き補償予測部３６０は予測信号を出力する。
【００１３】
予測精度を最適化するために、動きベクトルは小数画素精度（例えば１／２画素または１／４画素精度）で決定される。小数画素精度を有する動きベクトルは、先行フレームの範囲内で画素値が利用できない位置（すなわち小数画素位置）を示している。したがって、画素値の空間内挿が、動き補償を実行するために必要である。Ｈ．２６４／ＡＶＣ規格によれば、固定フィルタ係数とバイリニア・フィルタを有する６−タップ・ウィーナー内挿フィルタが、小数画素位置の画素値を得るために適用される。
【００１４】
内挿のプロセスは、次のように行われる。
１．１／２画素位置が、水平および垂直に６−タップ・フィルタを使用して算出される。
２．１／４画素位置が、既存の整数画素値と、すでに計算された１／２画素値とを用いたバイリニア・フィルタリングによって算出される。
【００１５】
フィルタ係数は、固定されているため、動画像復号化装置によって公知とされている。したがって、オーバーヘッドデータは、フィルタ係数を動画像復号化装置に送信するためには必要でない。
【００１６】
「イントラ」および「インター」の符号化モードにおいて、対象ブロックと予測信号との差分は、変換／量子化部３２０によって変換係数に変わる。通常、二次元の離散コサイン変換（ＤＣＴ）のような直交変換またはそれの整数バージョンが使用される。
【００１７】
変換係数は、符号化データの量を減らすために量子化される。量子化ステップは、精度と、各々の周波数係数を符号化するために用いるビット数とを特定する量子化テーブルによって制御される。通常、低い周波数成分は、微細な内容よりも画質にとって重要であり、その結果、多くのビットが高周波数成分よりも低周波成分を符号化することに費やされる。
【００１８】
量子化係数の二次元の配列は、エントロピー符号化部３９０に通すために一次元の列に変換される。この変換は、予め定められたシーケンスで、配列をスキャンすることによって行われる。このように得られた量子化係数の一次元のシーケンスは、ラン−レベルと呼ばれている数の組からなる列に圧縮される。最後に、ラン−レベル・シーケンスは、可変長（可変長符号化（ＶＬＣ））のバイナリーコード名に符号化される。このコードは、より短いコード名が、典型的な動画像に起こっている最も頻出するラン−レベルの組に割り当てられるように最適化される。結果として生じるビットストリームは、動き情報と共に多重化されて記録媒体に保存されるか、動画像復号化装置側に送信される。
【００１９】
動画像復号化装置は、符号化された画像を再構成するために、符号化方法と逆の方法で復号化を行う。
【００２０】
図２は、Ｈ．２６４／ＡＶＣにおける動画像復号化装置の一例を示すブロック図である。
【００２１】
動画像復号化装置４００は、最初に、エントロピー符号化された量子化係数と動きベクトルとを、エントロピー復号化部４９０においてエントロピー復号化する。このステップは、逆変換に必要であって、エントロピー復号化された量子化係数のシーケンスを二次元のブロックに配置する逆スキャンを含む。復号化された量子化係数のブロックは、逆量子化／逆変換部４２０に出力され、復号化された動きベクトルは動き補償予測部４６０に出力される。動きベクトルの実際の値に従い、画素値の内挿が動き補償を実行するために必要となる。逆量子化および逆変換の結果は予測誤差を含み、加算器４３５は、その予測誤差を、インターモードでの動き補償予測部４６０によって生成される予測信号、またはイントラモードでのイントラ予測部４５０によって生成される予測信号に加える。その結果、再構成された画像はデブロッキングフィルタ４３７に出力され、デブロッキングフィルタ４３７で処理された信号は、イントラ予測部４５０および動き補償予測部４６０に用いられるメモリ４４０に保存される。
【００２２】
さらに、Ｈ．２６４／ＡＶＣに続く規格では、予測精度と圧縮効率を改善するために、予め定められた内挿フィルタ（二次元固定内挿フィルタ）を、処理対象の動画像の統計特性に特に適している二次元適応内挿フィルタに取り替えることが検討されている。つまり、符号化効率は予測精度にかなり依存し、そして、その予測精度は動き検出と動き補償の精度に依存している。したがって、動き補償に使用される二次元固定内挿フィルタを、動画像の統計特性に適応した二次元適応内挿フィルタに取り替えることによって符号化効率を向上することができる。また、圧縮される動画像データに特有であるエイリアシング・アーチファクトとカメラ・ノイズを低減することができる。
【００２３】
通常、画像処理のための二次元適応内挿フィルタは、分離可能であるか分離不可能であるかに分類される。分離可能な分離型二次元適応内挿フィルタは、２つの一次元フィルタに分離される。２つの一次元フィルタの連続的な使用は、元の二次元適応内挿フィルタを適用することに等しい。分離不可能な非分離型二次元内挿フィルタには、この種の一次元フィルタは存在しない。
【００２４】
分離型二次元適応内挿フィルタは、非分離型二次元適応内挿フィルタと比べて、画像に対してそのフィルタを適用するための係数の数が少ないために、計算的負担が大きくないという点において有利である。例えば、非分離型の場合には、６×６−タップ二次元フィルタは、合計３６個の係数を有するのに対し、分離型の場合には、２つの一次元フィルタは合計６＋６個の係数だけを有する。
【００２５】
例えば、非特許文献１および非特許文献２には、このような分離型二次元適応内挿フィルタのフィルタ係数を決定する方法が開示されている。非特許文献１および２の方法では、予測画像と対象画像との間の誤差が最小となるように、水平方向の１次元フィルタのフィルタ係数と、垂直方向の１次元フィルタのフィルタ係数とがそれぞれ決定される。
【先行技術文献】
【非特許文献】
【００２６】
【非特許文献１】Kimata H. et al “3D adaptive motion vector coding integrated with block-based adaptive interpolation filter”
【非特許文献２】Wedi, Thomas “Advanced motion compensated prediction methods”
【発明の概要】
【発明が解決しようとする課題】
【００２７】
しかしながら、上記従来の分離型二次元適応内挿フィルタのフィルタ係数決定方法であっても、フィルタ係数を決定するための計算量が多いという問題がある。つまり、上記従来のフィルタ係数決定方法では、対象画像（対象ブロック）を含むピクチャ全体を考慮して、予測画像と対象画像との間の誤差が最小になるようにフィルタ係数を決定するため、計算量が膨大になってしまうのである。
【００２８】
そこで、本発明は、かかる問題に鑑みてなされたものであって、少ない計算量で効率的に適切なフィルタ係数を決定し得る二次元適応内挿フィルタのフィルタ係数決定方法を提供することを目的とする。
【課題を解決するための手段】
【００２９】
上記目的を達成するために、本発明に係る二次元適応内挿フィルタのフィルタ係数決定方法は、二次元に配置された整数画素の画素値に基づいて、整数画素間に内挿される小数画素の画素値を算出するための二次元適応内挿フィルタのフィルタ係数を決定する方法であって、対象ピクチャを構成するブロックごとに、参照画像からの当該ブロックの画像の動きを動きベクトルとして小数画素精度で検出する動き検出ステップと、前記動き検出ステップによって検出された小数画素精度の動きベクトルを有する複数のブロックの中から、近傍にある整数画素との間で予め定められた相対的位置関係にある前記参照画像上の小数画素位置を示す第１の動きベクトルを有する１つ以上のブロックを特定する第１の特定ステップと、前記第１の特定ステップで特定された１つ以上のブロックの画像と、前記１つ以上のブロックの第１の動きベクトルにより示される参照画像上の１つ以上のブロックの画像とに基づいて、前記小数画素位置のフィルタ係数を決定する第１の決定ステップとを含むことを特徴とする。
【００３０】
例えば、近傍にある整数画素との間で予め定められた相対的位置関係にある小数画素位置が位置（ｐ，ｑ）である場合、参照ピクチャ上の小数画素位置（ｐ，ｑ）を示す第１の動きベクトルを有する複数のブロックが対象ピクチャの中から特定される。なお、位置（ｐ，ｑ）は、互いに隣り合う４つの整数画素に囲われた範囲内における位置、つまり局所座標上の位置を示す。そして、その特定された複数のブロックに基づいて、その小数画素位置（ｐ，ｑ）のフィルタ係数が決定される。このように、本発明では、対象ピクチャを構成する全てのブロックの中から、小数画素位置（ｐ，ｑ）を示す動きベクトルを有するブロックを絞り込み、その絞り込まれた複数のブロックだけに基づいて、小数画素位置（ｐ，ｑ）のフィルタ係数を決定する。したがって、対象ピクチャを構成する全てのブロックの動きベクトルが参照ピクチャ上のあらゆる小数画素位置を示すことを想定し、その全てのブロックの画像に基づいて小数画素位置（ｐ，ｑ）のフィルタ係数を決定することが行われないため、フィルタ係数算出のための計算量を大幅に低減することができ、適切なフィルタ係数を効率的に決定することができる。また、本発明では、フィルタ係数を決定する前に小数画素精度で動きベクトルを検出しているため、フィルタ係数の決定後に改めて小数画素精度の動きベクトルを検出する必要がなく、処理負担を軽減することができる。なお、上述の参照画像は、１枚の参照ピクチャだけでなく、複数の参照ピクチャや、ピクチャを構成するスライスであってもよい。また、第１の決定ステップでは、例えば、対象ピクチャの特定された各ブロックの画像と、その各ブロックの動きベクトルにより指し示される参照画像上の各ブロックの画像とのそれぞれの差分の自乗和が最小になるように、小数画素位置のフィルタ係数が決定される。
【００３１】
また、前記二次元適応内挿フィルタは、水平方向および垂直方向の何れか一方である第１の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第１の一次元内挿フィルタと、前記第１の方向と異なる水平方向または垂直方向である第２の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第２の一次元内挿フィルタとに分離可能であり、前記第１の特定ステップでは、前記予め定められた相対的位置関係を満たし、前記第１の方向において小数画素位置にあって且つ第２の方向において整数画素位置にある第１の小数画素位置を示す前記第１の動きベクトルを有する１つ以上のブロックを特定し、前記第１の決定ステップでは、前記第１の小数画素位置における前記第１の一次元内挿フィルタのフィルタ係数を決定し、前記フィルタ係数決定方法は、さらに、前記動き検出ステップによって検出された小数画素精度の動きベクトルを有する複数のブロックの中から、近傍にある整数画素との間で他の予め定められた相対的位置関係にあって前記第２の方向において小数画素位置にある前記参照画像上の第２の小数画素位置を示す第２の動きベクトルを有する１つ以上のブロックを特定する第２の特定ステップと、前記第２の特定ステップで特定された１つ以上のブロックの画像と、前記１つ以上のブロックの第２の動きベクトルにより示される参照画像上の１つ以上のブロックの画像とに基づいて、前記第２の小数画素位置における前記第２の一次元内挿フィルタのフィルタ係数を決定する第２の決定ステップとを含むことを特徴としてもよい。
【００３２】
これにより、さらに、二次元適応内挿フィルタのフィルタ係数が、第１および第２の一次元内挿フィルタのフィルタ係数に分離して決定されるため、フィルタ係数算出のための計算量をさらに低減することができる。また、第１の特定ステップおよび第１の決定ステップにより、例えば第１の小数画素位置（ｐ，０）に対する一次元水平内挿フィルタのフィルタ係数が決定され、第２の特定ステップおよび第２の決定ステップにより、例えば第２の小数画素位置（ｐ，ｑ）（但しｑ≠０）に対する一次元垂直内挿フィルタのフィルタ係数が決定される。その結果、第１の小数画素位置（ｐ，０）および第２の小数画素位置（ｐ，ｑ）の適切なフィルタ係数を少ない計算量で効率的に決定することができる。なお、例えば、１／４画素精度の場合、ｐをｐ＝１，…，３に変化させることで、全ての第１の小数画素位置（ｐ，０）のフィルタ係数を算出することができ、ｐをｐ＝０，…，３に変化させてｑをｑ＝１，…，３に変化させることで、全ての第２の小数画素位置（ｐ，ｑ）のフィルタ係数を算出することができる。
【００３３】
例えば、前記第２の特定ステップでは、前記他の予め定められた相対的位置関係を満たし、前記第１の方向において整数画素位置にあって且つ第２の方向において小数画素位置にある前記第２の小数画素位置を示す前記第２の動きベクトルを有する１つ以上のブロックを特定する。
【００３４】
これにより、第２の小数画素位置（０，ｑ）（但しｑ≠０）のフィルタ係数を算出することができる。また、例えば、１／４画素精度の場合、ｑをｑ＝１，…，３に変化させることで、第１の方向において整数画素位置にある全ての第２の小数画素位置（０，ｑ）のフィルタ係数を算出することができる。
【００３５】
また、前記第２の特定ステップでは、前記他の予め定められた相対的位置関係を満たし、前記第１および第２の方向において小数画素位置にある前記第２の小数画素位置を示す前記第２の動きベクトルを有する１つ以上のブロックを特定し、前記第２の決定ステップでは、前記第１の決定ステップで決定された前記第１の一次元内挿フィルタのフィルタ係数を前記第１の小数画素位置に適用し、適用された結果を用いて、前記第２の小数画素位置におけるフィルタ係数を決定する。
【００３６】
これにより、第２の小数画素位置（ｐ，ｑ）（但しｐ≠０およびｑ≠０）のフィルタ係数を算出することができる。また、例えば、１／４画素精度の場合、ｐをｐ＝１，…，３に変化させてｑをｑ＝１，…，３に変化させることで、第１の方向および第２の方向において小数画素位置にある全ての第２の小数画素位置（ｐ，ｑ）のフィルタ係数を算出することができる。また、このときには、第１の一次元内挿フィルタのフィルタ係数を第１の小数画素位置に適用することにより、その第１の小数画素位置の小数画素の画素値が算出され、その小数画素の画素値を使って第２の小数画素位置におけるフィルタ係数が決定される。
【００３７】
また、前記第１の決定ステップでは、前記第１の特定ステップによって特定された１つ以上のブロックの画像と、前記１つ以上のブロックの第１の動きベクトルにより示される参照画像上の１つ以上のブロックの画像との差分が最小になるように、前記小数画素位置に対するフィルタ係数を決定することを特徴としてもよい。例えば、前記第１の決定ステップでは、前記差分を最小にする線形方程式を解くことにより、前記小数画素位置に対するフィルタ係数を決定する。
【００３８】
これにより、参照ピクチャの画像に適したフィルタ係数、つまりその画像に適応的なフィルタ係数を適切に決定することができる。さらに、線形方程式を用いる場合には、計算量をさらに低減して適切なフィルタ係数を効率的に決定することができる。
【００３９】
また、本発明に係る動画像圧縮方法は、動画像を圧縮する方法であって、上記本発明の二次元適応内挿フィルタのフィルタ係数決定方法に含まれる全てのステップを実行することにより前記二次元適応内挿フィルタのフィルタ係数を決定するフィルタ係数決定ステップと、前記小数画素位置を示す動きベクトルを有するブロックを対象ブロックとし、前記対象ブロックに対して動き補償を行うことにより、前記対象ブロックの予測画像を生成する動き補償ステップと、前記動き補償ステップにより生成された予測画像と前記対象ブロックの画像との差分と、前記フィルタ係数決定ステップで決定されたフィルタ係数とを符号化する符号化ステップとを含み、前記動き補償ステップでは、前記フィルタ係数決定ステップで決定されたフィルタ係数を前記小数画素位置に適用することにより前記小数画素位置に内挿される小数画素の画素値を算出し、算出された画素値の小数画素を有する前記予測画像を生成することを特徴としてもよい。
【００４０】
これにより、上述のフィルタ係数決定方法により小数画素位置のフィルタ係数を決定し、そのフィルタ係数を用いて対象ブロックの予測画像を生成するため、少ない計算量で対象ブロックの画像に極めて近い予測画像を生成することができる。その結果、対象ブロックの画像と予測画像との差分の符号量を効率的に低減することができる。さらに、フィルタ係数も符号化されるため、その符号化されたフィルタ係数を復号化装置に出力すれば、その復号化装置は、その符号化されたフィルタ係数を復号化して用いることで、対象ブロックを適切に復号化することができる。
【００４１】
また、前記フィルタ係数決定ステップでは、小数画素位置ごとに、当該小数画素位置に対するフィルタ係数を決定する際、所定の小数画素位置と水平方向または垂直方向に対称な位置にある他の小数画素位置に対して、前記所定の小数画素位置に対して決定されたフィルタ係数と同一のフィルタ係数を決定することを特徴としてもよい。
【００４２】
これにより、所定の小数画素位置のフィルタ係数を決定すれば、他の小数画素位置のフィルタ係数も同時に決定することができる。さらに、他の小数画素位置は所定の小数画素位置と水平方向または垂直方向に対称な位置にあるため、他の小数画素位置に対しても適切なフィルタ係数を決定することができる。その結果、より少ない計算量で適切なフィルタ係数を決定することができる。また、例えば、フィルタ係数決定ステップで、フィルタ係数が決定されるべき決定対象の小数画素位置を示す動きベクトルが検出されなかった場合であっても、その決定対象の小数画素位置と水平方向または垂直方向に対称な位置にある他の小数画素位置のフィルタ係数を用いて、その決定対象の小数画素位置のフィルタ係数を適切に決定することができる。
【００４３】
また、小数画素位置に対する前記二次元適応内挿フィルタのフィルタ係数は、前記小数画素位置を水平方向または垂直方向に挟んで配置される複数の画素のそれぞれに対する係数からなり、前記フィルタ係数決定ステップでは、前記小数画素位置に対するフィルタ係数を決定する際、前記複数の画素の中で、所定の画素に対する係数と、前記小数画素位置を中心に前記所定の画素と水平方向または垂直方向に対称な位置にある他の画素に対する係数とが同一となるように、前記フィルタ係数を決定することを特徴としても良い。例えば、前記フィルタ係数決定ステップでは、前記複数の画素のそれぞれに対する係数が水平方向または垂直方向に対称となるように、前記小数画素位置に対するフィルタ係数を決定する。
【００４４】
これにより、複数の画素のそれぞれに対する係数が水平方向または垂直方向に対称となるため、適切なフィルタ係数をより少ない計算量で算出することができる。
【００４５】
なお、本発明は、このようなフィルタ係数決定方法および動画像圧縮方法として実現することができるだけでなく、それらの方法によりフィルタ係数を決定したり動画像を圧縮する装置や集積回路、それらの方法に含まれる各ステップをコンピュータに実行させるためのプログラムや、そのプログラムを格納する記録媒体としても実現することができる。
【発明の効果】
【００４６】
本発明の二次元適応内挿フィルタは、少ない計算量で効率的に適切なフィルタ係数を決定することができるという作用効果を奏する。
【図面の簡単な説明】
【００４７】
【図１】図１は、従来の動画像符号化装置の構成の一例を示すブロック図である。
【図２】図２は、従来の動画像符号化装置の構成の一例を示すブロック図である。
【図３】図３は、本発明の実施の形態における動画像符号化装置の一例を示すブロック図である。
【図４】図４は、同上のフィルタ係数が算出される小数画素位置を示す図である。
【図５Ａ】図５Ａは、同上の小数画素位置に対して算出されるフィルタ係数の具体例を示す図である。
【図５Ｂ】図５Ｂは、同上の他の小数画素位置に対して算出されるフィルタ係数の具体例を示す図である。
【図６】図６は、同上の参照ピクチャ中の各小数画素位置と動きベクトルとを示す図である。
【図７】図７は、同上の対象ピクチャにおいて特定されるブロックを示す図である。
【図８】図８は、同上の動き検出部および適応フィルタ付動き補償予測部の処理動作を示すフローチャートである。
【図９】図９は、同上の動画像復号化装置の一例を示すブロック図である。
【図１０】図１０は、同上の１／４画素精度の参照ピクチャの画素位置および画素値を示す図である。
【図１１】図１１は、同上の一次元水平内挿フィルタにより内挿される小数画素およびそのフィルタ係数を示す図である。
【図１２】図１２は、同上の一次元垂直内挿フィルタにより内挿される小数画素およびそのフィルタ係数を示す図である。
【図１３Ａ】図１３Ａは、所定の条件における本発明の符号化効率と従来例の符号化効率とを比較して示す図である。
【図１３Ｂ】図１３Ｂは、他の条件における本発明の符号化効率と従来例の符号化効率とを比較して示す図である。
【図１４】図１４は、本発明の分離型二次元適応内挿フィルタを適用したときの計算量と、従来の非分離型二次元適応内挿フィルタを適用したときの計算量とを比較して示す図である。
【発明を実施するための形態】
【００４８】
以下、本発明の実施の形態における動画像符号化装置（動画像圧縮装置）について図面を参照しながら説明する。
【００４９】
本実施の形態における動画像符号化装置は、分離型二次元適応内挿フィルタのフィルタ係数を、少ない計算量で効率的に且つ適切に算出することができる。そして、この動画像符号化装置は、算出されたフィルタ係数を用いて動き補償を行い、その結果、動画像を効率的に且つ適切に符号化することができる。
【００５０】
図３は、本実施の形態における動画像符号化装置の一例を示すブロック図である。
【００５１】
本実施の形態における動画像符号化装置１００は、減算器１１０、変換／量子化部１２０、逆量子化／逆変換部１３０、加算器１３５、デブロッキングフィルタ１３７、メモリ１４０、イントラ予測部１５０、適応フィルタ付動き補償予測部１６０、動き検出部１７０、切換スイッチ１８０、およびエントロピー符号化部１９０を備えている。
【００５２】
なお、本実施の形態における動画像符号化装置１００は、動き検出部１７０および適応フィルタ付動き補償予測部１６０に特徴がある。つまり、減算器１１０、変換／量子化部１２０、逆量子化／逆変換部１３０、加算器１３５、デブロッキングフィルタ１３７、メモリ１４０、イントラ予測部１５０、および切換スイッチ１８０はそれぞれ、従来の動画像符号化装置３００の減算器３１０、変換／量子化部３２０、逆量子化／逆変換部３３０、加算器３３５、デブロッキングフィルタ３３７、メモリ３４０、イントラ予測部３５０、および切換スイッチ３８０のそれぞれの機能と同様の機能を有する。なお、本実施の形態では、動き検出部１７０と適応フィルタ付動き補償予測部１６０とからフィルタ係数決定装置が構成されている。
【００５３】
減算器１１０は、動画像を示す入力信号を取得する。入力信号は複数のピクチャから構成され、そのピクチャは複数のブロック（マクロブロック）から構成されている。つまり、減算器１１０は、そのブロックを順次取得し、取得するごとに、そのブロックを対象ブロックとして扱う。さらに、減算器１１０は、対象ブロックごとに、イントラ予測部１５０または適応フィルタ付動き補償予測部１６０から出力された、その対象ブロックに対応する予測画像を示す予測信号を取得する。そして、減算器１１０は、対象ブロックから予測信号の示す予測画像を減算することにより、その対象ブロックに対する予測誤差を生成し、その予測誤差を変換／量子化部１２０に出力する。
【００５４】
変換／量子化部１２０は、減算器１１０から予測誤差を取得し、その予測誤差に対して離散コサイン変換などの直交変換を行うことによって直交変換係数を生成する。さらに、変換／量子化部１２０は、その直交変換係数を量子化することによって量子化係数を生成し、逆量子化／逆変換部１３０およびエントロピー符号化部１９０に出力する。
【００５５】
逆量子化／逆変換部１３０は、変換／量子化部１２０から量子化係数を取得すると、その量子化係数を逆量子化することによって直交変換係数を生成する。さらに、逆量子化／逆変換部１３０は、その直交変換係数に対して逆離散コサイン変換などの逆直交変換を行うことによって予測誤差を生成し、その予測誤差を加算器１３５に出力する。
【００５６】
加算器１３５は、逆量子化／逆変換部１３０から出力された予測誤差と、イントラ予測部１５０または適応フィルタ付動き補償予測部１６０から出力された予測信号の示す予測画像とを加算する。そして、加算器１３５は、その加算結果を示す局所復号画像をデブロッキングフィルタ１３７に出力する。
【００５７】
デブロッキングフィルタ１３７は、その局所復号画像に対してデブロッキングフィルタをかけることにより、その局所復号画像にある符号化歪みを除去し、符号化歪みが除去された局所復号画像をメモリ１４０に格納する。
【００５８】
メモリ１４０には、デブロッキングフィルタ１３７によって局所復号画像が逐次格納される。その結果、後の対象ブロックに対する予測画像の生成に使用される参照ピクチャがメモリ１４０に格納されることとなる。
【００５９】
イントラ予測部１５０は、対象ブロックに対して面内予測（イントラ予測）を行う。つまり、イントラ予測部１５０は、メモリ１４０に格納されている幾つかの局所復号画像に基づいて、対象ブロックに対する予測画像を生成し、その予測画像を示す予測信号を切換スイッチ１８０に出力する。
【００６０】
切換スイッチ１８０は、対象ブロックに対して面内予測（イントラ予測）が行われるときには、イントラ予測部１５０から出力される予測信号を減算器１１０に出力し、対象ブロックに対して画面間予測（インター予測）が行われるときには、適応フィルタ付動き補償予測部１６０から出力される予測信号を減算器１１０に出力する。
【００６１】
エントロピー符号化部１９０は、変換／量子化部１２０から出力される量子化係数と、適応フィルタ付動き補償予測部１６０から出力されるフィルタ係数と、動き検出部１７０から出力される動きベクトルとを取得し、それらに対してエントロピー符号化を行うことによって、ビットストリームたる符号化信号を生成して出力する。
【００６２】
動き検出部１７０は、入力信号に含まれるブロックを順次取得し、取得するごとに、その取得したブロックを対象ブロックとして扱う。そして、動き検出部１７０は、その対象ブロックの示す画像に近似する画像を有するブロックを、メモリ１４０に格納されている参照ピクチャから検出する。つまり、動き検出部１７０は、参照ピクチャからの対象ブロックの画像の動きを動きベクトルとして検出し、その動きベクトルを適応フィルタ付動き補償予測部１６０およびエントロピー符号化部１９０に出力する。
【００６３】
ここで、動き検出部１７０は小数画素精度で動き検出を行い、小数画素精度の動きベクトルを出力する。つまり、動き検出部１７０は、まず、参照ピクチャの画素精度を整数画素精度から小数画素精度に変換し、その小数画素精度の参照ピクチャを用いて動き検出を行う。このように画素精度を変換するために、動き検出部１７０は、予め定められたフィルタ係数を有する二次元固定内挿フィルタをその参照ピクチャに適用する。この二次元固定内挿フィルタは、例えば、Ｈ．２６４／ＡＶＣ規格に定められている、固定フィルタ係数とバイリニア・フィルタを有する６−タップ・ウィーナー内挿フィルタである。また、小数画素精度は、例えば１／２画素精度や１／４画素精度などである。
【００６４】
適応フィルタ付動き補償予測部１６０は、入力信号により示される対象ピクチャに含まれる各ブロックを順次取得し、動き検出部１７０からその各ブロックに対応する小数画素精度の動きベクトルを順次取得する。そして、適応フィルタ付動き補償予測部１６０は、その取得した各ブロックおよび各動きベクトルに基づいて、参照ピクチャに適用される分離型二次元適応内挿フィルタのフィルタ係数を算出し、そのフィルタ係数をエントロピー符号化部１９０に出力する。
【００６５】
さらに、適応フィルタ付動き補償予測部１６０は、算出されたフィルタ係数を用いて対象ブロックに対する動き補償を行う。つまり、適応フィルタ付動き補償予測部１６０は、対象ブロックが有する小数画素精度の動きベクトルにより指し示される参照ピクチャ中のブロックに対して、上述のように算出されたフィルタ係数を有する分離型二次元適応内挿フィルタを適用する。その結果、適応フィルタ付動き補償予測部１６０は、先に二次元固定内挿フィルタにより算出された、上記ブロックに含まれる小数画素の画素値を、分離型二次元適応内挿フィルタが適用された値に算出し直す。これによって、適応フィルタ付動き補償予測部１６０は、その算出し直された画素値の小数画素を有する、対象ブロックに対する予測画像を生成し、その予測画像を示す予測信号を切換スイッチ１８０に出力する。
【００６６】
ここで、本実施の形態における適応フィルタ付動き補償予測部１６０によるフィルタ係数の算出処理および動き補償について詳細に説明する。
【００６７】
図４は、フィルタ係数が算出される小数画素位置を示す図である。なお、図４中、黒丸が整数画素位置を示し、白丸が小数画素位置を示す。
【００６８】
適応フィルタ付動き補償予測部１６０は、図４に示すように１／４画素精度の場合、（ｐ，ｑ）＝（１，０）、（２，０）、（３，０）、（０，１）、（０，２）、（０，３）、（１，１）、（１，２）、（１，３）、（２，１）、（２，２）、（２，３）、（３，１）、（３，２）および（３，３）により示される１５ヶ所の小数画素位置に対するフィルタ係数を算出する。ここで、位置（ｐ，ｑ）は、４つの整数画素によって囲われる最小の範囲を一つの整数単位範囲として、その整数単位範囲上の座標位置、つまり、ピクチャ上の各整数単位範囲内において共通の座標位置を示す。言い換えれば、位置（ｐ，ｑ）は、小数画素位置とその近傍の整数画素位置（０，０）との間での相対的位置関係を示す。具体的には、位置ｐは、水平方向に沿って配列する整数画素間の座標位置を示し、位置ｑは、垂直方向に沿って配列する整数画素間の座標位置を示す。なお、１つの整数単位範囲には、位置（ｐ，ｑ）＝（０，０）にある整数画素と、上記１５ヶ所の小数画素位置にある小数画素とが含まれる。また、上記１５ヶ所の位置に対して算出されるフィルタ係数は、例えば同一ピクチャにある全ての整数単位範囲に対して共通に算出される。つまり、複数の整数単位範囲のそれぞれには同一の小数画素位置（ｐ，ｑ）があり、その同一の小数画素位置（ｐ，ｑ）に対して同一のフィルタ係数が算出される。
【００６９】
また、１つの小数画素位置に対するフィルタ係数は、例えば６つの整数画素の画素値のそれぞれに重み付けされる係数の集合によって表される。
【００７０】
図５Ａおよび図５Ｂは、小数画素位置に対して算出されるフィルタ係数の具体例を示す図である。
【００７１】
適応フィルタ付動き補償予測部１６０は、図５Ａに示すように、水平方向に配列する整数画素の間の位置（ｐ，０）（但し、ｐ≠０）に対する一次元水平内挿フィルタのフィルタ係数ｇ(p)を、例えば、その位置（ｐ，０）を略中心にして水平方向に配列する６つの整数画素の画素値に重み付けられる係数ｇi(p)（ｉ＝−２，−１，０，１，２，３）の集合として算出する。なお、上述の位置（ｐ，０）（但し、ｐ≠０）は、水平方向に小数画素位置で且つ垂直方向に整数画素位置にあり、以下、そのような位置（ｐ，０）を小数整数画素位置（第１の小数画素位置）ともいう。
【００７２】
また、適応フィルタ付動き補償予測部１６０は、図５Ｂに示すように、垂直方向に配列する整数画素の間の位置（０，ｑ）に対する一次元垂直内挿フィルタのフィルタ係数ｈ(q)を、例えば、その位置（０，ｑ）（但し、ｑ≠０）を略中心にして垂直方向に配列する６つの整数画素の画素値に重み付けられる係数ｈj(q)（ｊ＝−２，−１，０，１，２，３）の集合として算出する。なお、上述の位置（０，ｑ）は、水平方向に整数画素位置で且つ垂直方向に小数画素位置にあり、以下、そのような位置（０，ｑ）（但し、ｑ≠０）を整数小数画素位置（第２の小数画素位置）ともいう。
【００７３】
また、適応フィルタ付動き補償予測部１６０は、小数整数画素位置にもなく整数小数画素位置にもない位置（ｐ，ｑ）（但し、ｐ≠０かつｑ≠０）に対する一次元垂直内挿フィルタのフィルタ係数ｈ(p,q)を算出するときには、その小数画素位置に対するフィルタ係数ｈ(p,q)を、その小数画素位置を略中心にして垂直方向に配列する複数の小数画素の画素値に重み付けられる係数の集合として算出する。なお、その垂直方向に配列する複数の小数画素は小数整数画素位置にある。また、上述の位置（ｐ，ｑ）（但し、ｐ≠０かつｑ≠０）は、水平方向および垂直方向に小数画素位置にあり、以下、その位置（ｐ，ｑ）を小数小数画素位置（第２または第３の小数画素位置）ともいう。
【００７４】
例えば、適応フィルタ付動き補償予測部１６０は、その位置（ｐ，ｑ）を略中心にして垂直方向に配列する小数整数画素位置の複数の小数画素の画素値に重み付けられる係数ｈj(p,q)（ｊ＝−２，−１，０，１，２，３）の集合として、位置（ｐ，ｑ）に対するフィルタ係数ｈ(p,q)を算出する。
【００７５】
なお、上述の小数整数画素位置、整数小数画素位置および小数小数画素位置は、上述の整数単位範囲に含まれる小数画素位置であって、整数単位範囲のそれぞれにおいて、同一の小数画素位置、つまり同一の小数整数画素位置、同一の整数小数画素位置および同一の小数小数画素位置がある。
【００７６】
つまり、本実施の形態における分離型二次元適応内挿フィルタは、一次元水平内挿フィルタと一次元垂直内挿フィルタとに分離される。適応フィルタ付動き補償予測部１６０は、小数整数画素位置にある小数画素の画素値を算出するときには、その小数整数画素位置（ｐ，０）に対して一次元水平内挿フィルタのフィルタ係数ｇ(p)を適用する。具体的には、適応フィルタ付動き補償予測部１６０は、小数整数画素位置（ｐ，０）を水平方向に挟んで配列する複数の整数画素の画素値のそれぞれに係数ｇi(p)を掛けて合計した結果を、その小数整数画素位置にある小数画素の画素値として算出する。また、適応フィルタ付動き補償予測部１６０は、整数小数画素位置（０，ｑ）にある小数画素の画素値を算出するときには、その整数小数画素位置（０，ｑ）に対して一次元垂直内挿フィルタのフィルタ係数ｈ(q)を適用する。具体的には、適応フィルタ付動き補償予測部１６０は、小数整数画素位置（０，ｑ）を垂直方向に挟んで配列する複数の整数画素の画素値のそれぞれに係数ｈj(q)を掛けて合計した結果を、その整数小数画素位置にある小数画素の画素値として算出する。
【００７７】
また、適応フィルタ付動き補償予測部１６０は、小数小数画素位置（ｐ，ｑ）（但し、ｐ≠０かつｑ≠０）にある小数画素の画素値を算出するときには、例えば、まず、小数整数画素位置（ｐ，０）に対して一次元水平内挿フィルタのフィルタ係数ｇ(p)を適用することにより、小数整数画素位置（ｐ，０）にある小数画素の画素値を算出する。次に、適応フィルタ付動き補償予測部１６０は、小数小数画素位置（ｐ，ｑ）に対して一次元垂直内挿フィルタのフィルタ係数ｈ(p,q)を適用する。具体的には、適応フィルタ付動き補償予測部１６０は、小数小数画素位置（ｐ，ｑ）を垂直方向に挟んで配列する複数の小数整数画素位置（ｐ，０）の小数画素の画素値のそれぞれに係数ｈj(p,q)を掛けて合計した結果を、その小数小数画素位置にある小数画素の画素値として算出する。
【００７８】
ここで、本実施の形態における適応フィルタ付動き補償予測部１６０は、分離型二次元適応内挿フィルタの上述のようなフィルタ係数を算出するときには、まず、対象ピクチャに含まれる各ブロックに対して検出された小数画素精度の動きベクトルを用い、参照ピクチャ中の所定の小数整数画素位置を示す動きベクトルを有する１つ以上のブロックを対象ピクチャの中から見つけ出す。これにより、その小数整数画素位置に対するフィルタ係数の算出に必要とされるブロックが、対象ピクチャの全体から絞り込まれる。
【００７９】
図６は、参照ピクチャ中の各小数画素位置と動きベクトルとを示す図である。なお、図６中、バツ印が小数整数画素位置を示し、三角が整数小数画素位置を示し、白丸が小数小数画素位置を示す。
【００８０】
例えば、適応フィルタ付動き補償予測部１６０は、小数整数画素位置（ｐ，ｑ）＝（１，０）を指し示す動きベクトルｍｖが検出された対象ピクチャ中の１つ以上のブロックを特定する。そして、適応フィルタ付動き補償予測部１６０は、対象ピクチャに含まれるその特定された１つ以上のブロックだけを用い、対象ピクチャのその他のブロックを用いることなく、その位置（ｐ，ｑ）＝（１，０）に対するフィルタ係数を算出する。
【００８１】
図７は、対象ピクチャにおいて特定されるブロックを示す図である。
【００８２】
例えば、適応フィルタ付動き補償予測部１６０は、対象ピクチャＰｃの中から、参照ピクチャＰｒ中の小数整数画素位置（ｐ，ｑ）＝（１，０）を指し示す３つの動きベクトルｍｖ１，ｍｖ２，ｍｖ３をそれぞれ有する３つのブロックＢｋ１，Ｂｋ２，Ｂｋ３を特定する。なお、動きベクトルｍｖ１，ｍｖ２，ｍｖ３により示される参照ピクチャＰｒ中のブロックＢｋｒ１，Ｂｋｒ２，Ｂｋｒ３はそれぞれ、整数画素位置から、上記小数整数画素位置の分だけ、つまり水平方向に１／４画素だけずれている。
【００８３】
適応フィルタ付動き補償予測部１６０は、対象ピクチャＰｃのブロックＢｋ１と、そのブロックＢｋ１の動きベクトルｍｖ１により示される参照ピクチャＰｒ中のブロックＢｋｒ１との差分Ｄ１と、対象ピクチャＰｃのブロックＢｋ２と、そのブロックＢｋ２の動きベクトルｍｖ２により示される参照ピクチャＰｒ中のブロックＢｋｒ２との差分Ｄ２と、対象ピクチャＰｃのブロックＢｋ３と、そのブロックＢｋ３の動きベクトルｍｖ３により示される参照ピクチャＰｒ中のブロックＢｋｒ３との差分Ｄ３との和（Ｄ１＋Ｄ２＋Ｄ３）が最小になるように、小数整数画素位置（ｐ，ｑ）＝（１，０）に対する一次元水平内挿フィルタのフィルタ係数を算出する。言い換えれば、適応フィルタ付動き補償予測部１６０は、上述の和（Ｄ１＋Ｄ２＋Ｄ３）が最小になるように、フィルタ係数を最適化する。なお、上述の差分とは、例えば、対象ピクチャのブロックの各整数画素の画素値と、その各整数画素に対応する参照ピクチャのブロックの各小数画素の画素値との差分自乗和である。また、適応フィルタ付動き補償予測部１６０は、フィルタ係数を最適化するときには、例えば、フィルタ係数を適宜変化させて小数画素の画素値を算出しながら上記差分が最小となるようにフィルタ係数を決定する。または、適応フィルタ付動き補償予測部１６０は、後述する線形方程式を解くことによりフィルタ係数を決定する。
【００８４】
このように適応フィルタ付動き補償予測部１６０は、位置（ｐ，ｑ）＝（１，０）に対するフィルタ係数を算出すると、残りの小数整数画素位置に対する一次元水平内挿フィルタのフィルタ係数も上述と同様の処理を繰り返すことにより算出する。つまり、適応フィルタ付動き補償予測部１６０は、位置（ｐ，ｑ）＝（２，０）および（３，０）に対するフィルタ係数を算出する。
【００８５】
次に、本実施の形態における適応フィルタ付動き補償予測部１６０は、参照ピクチャ中の所定の整数小数画素位置を示す動きベクトルを有する１つ以上のブロックを対象ピクチャの中から見つけ出す。これにより、その整数小数画素位置に対するフィルタ係数の算出に必要とされるブロックが、対象ピクチャの全体から絞り込まれる。
【００８６】
例えば、適応フィルタ付動き補償予測部１６０は、整数小数画素位置である位置（ｐ，ｑ）＝（０，１）、（０，２）および（０，３）に対する一次元垂直内挿フィルタのフィルタ係数を、上述と同様の最適化を行うことにより算出する。
【００８７】
さらに、本実施の形態における適応フィルタ付動き補償予測部１６０は、参照ピクチャ中の所定の小数小数画素位置の小数画素を示す動きベクトルを有する１つ以上のブロックを対象ピクチャの中から見つけ出す。これにより、その小数小数画素位置に対するフィルタ係数の算出に必要とされるブロックが、対象ピクチャの全体から絞り込まれる。
【００８８】
例えば、適応フィルタ付動き補償予測部１６０は、小数小数画素位置である位置（ｐ，ｑ）＝（１，１）、（１，２）、（２，１）、（２，２）、（２，３）、（３，１）、（３，２）および（３，３）に対する一次元垂直内挿フィルタのフィルタ係数を、上述と同様の最適化を行うことにより算出する。なお、このとき、適応フィルタ付動き補償予測部１６０は、先に算出された小数整数画素位置のフィルタ係数を用いて、その小数整数画素位置の画素値を算出し、その画素値を用いて小数小数画素位置に対するフィルタ係数の最適化を行う。
【００８９】
図８は、本実施の形態における動き検出部１７０および適応フィルタ付動き補償予測部１６０の処理動作を示すフローチャートである。
【００９０】
まず、動き検出部１７０は、対象ピクチャのブロックごとに、二次元固定内挿フィルタを用いて小数画素精度の動きベクトルを検出する（ステップＳ１００）。次に、適応フィルタ付動き補償予測部１６０は、参照ピクチャにおいて所定の小数整数画素位置を指し示す動きベクトルを有する１つ以上のブロックを、その対象ピクチャの中から特定する（ステップＳ１０２）。
【００９１】
適応フィルタ付動き補償予測部１６０は、対象ピクチャに含まれるブロックのうち、そのステップＳ１０２で特定したブロックを用い、対象ピクチャのそれ以外のブロックを用いることなく、上記小数整数画素位置に対するフィルタ係数を算出する（ステップＳ１０４）。このように１つの小数整数画素位置に対するフィルタ係数が算出されると、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の小数整数画素位置があるか否かを判別する（ステップＳ１０６）。
【００９２】
ここで、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の小数整数画素位置があると判別すると（ステップＳ１０６のＹ）、その小数整数画素位置に対してステップＳ１０２からの処理を繰り返し実行する。また、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の小数整数画素位置がないと判別すると（ステップＳ１０６のＮ）、参照ピクチャにおいて所定の整数小数画素位置を指し示す動きベクトルを有するブロックを、その対象ピクチャの中から特定する（ステップＳ１０８）。
【００９３】
適応フィルタ付動き補償予測部１６０は、対象ピクチャに含まれるブロックのうち、そのステップＳ１０８で特定したブロックを用い、対象ピクチャのそれ以外のブロックを用いることなく、上記整数小数画素位置に対するフィルタ係数を算出する（ステップＳ１１０）。このように１つの整数小数画素位置に対するフィルタ係数が算出されると、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の整数小数画素位置があるか否かを判別する（ステップＳ１１２）。
【００９４】
ここで、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の整数小数画素位置があると判別すると（ステップＳ１１２のＹ）、その整数小数画素位置に対してステップＳ１０８からの処理を繰り返し実行する。また、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の整数小数画素位置がないと判別すると（ステップＳ１１２のＮ）、参照ピクチャにおいて所定の小数小数画素位置を指し示す動きベクトルを有する１つ以上のブロックを、その対象ピクチャの中から特定する（ステップＳ１１４）。
【００９５】
適応フィルタ付動き補償予測部１６０は、対象ピクチャに含まれるブロックのうち、そのステップＳ１１４で特定したブロックを用い、対象ピクチャのそれ以外のブロックを用いることなく、上記小数小数画素位置に対するフィルタ係数を算出する（ステップＳ１１６）。このように１つの小数小数画素位置に対するフィルタ係数が算出されると、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の小数小数画素位置があるか否かを判別する（ステップＳ１１８）。
【００９６】
ここで、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の小数小数画素位置があると判別すると（ステップＳ１１８のＹ）、その小数小数画素位置に対してステップＳ１１４からの処理を繰り返し実行する。また、適応フィルタ付動き補償予測部１６０は、フィルタ係数が算出されていない他の小数小数画素位置がないと判別すると（ステップＳ１１２のＮ）、分離型二次元適応内挿フィルタの全ての小数画素位置に対するフィルタ係数が算出されたと判断する。そして、適応フィルタ付動き補償予測部１６０は、ステップＳ１００で検出された動きベクトルと、算出されたフィルタ係数とを用いて対象ブロックに対する動き補償を行う（ステップＳ２２０）。
【００９７】
このように本実施の形態では、対象ピクチャの各ブロックの動きベクトルが小数画素精度で検出され、参照ピクチャ上の小数画素位置（ｐ，ｑ）を示す動きベクトルを有する複数のブロックが対象ピクチャの中から特定される。そして、その特定された複数のブロックに基づいて、その小数画素位置（ｐ，ｑ）のフィルタ係数が決定される。つまり、本実施の形態では、対象ピクチャを構成する全てのブロックの中から、小数画素位置（ｐ，ｑ）を示す動きベクトルを有するブロックを絞り込み、その絞り込まれた複数のブロックだけに基づいて、小数画素位置（ｐ，ｑ）のフィルタ係数を決定する。したがって、対象ピクチャを構成する全てのブロックの動きベクトルが参照ピクチャ上のあらゆる小数画素位置を示すことを想定し、その全てのブロックの画像に基づいて小数画素位置（ｐ，ｑ）のフィルタ係数を決定することが行われないため、フィルタ係数算出のための計算量を大幅に低減することができ、適切なフィルタ係数を効率的に決定することができる。また、本実施の形態では、分離型二次元適応内挿フィルタのフィルタ係数を決定する前に検出された小数画素精度の動きベクトルが動き補償（ブロックの符号化）に利用されて符号化信号に含められる。つまり、本実施の形態では、フィルタ係数を決定する前に小数画素精度で動きベクトルを検出して動き補償に利用しているため、フィルタ係数の決定後に改めて、動き補償に利用されて符号化信号に含められるべき小数画素精度の動きベクトルを検出する必要がなく、処理負担を軽減することができる。なお、本発明は、分離型二次元適応内挿フィルタのフィルタ係数が決定された後に、さらに、そのフィルタ係数を用いて小数画素精度の動きベクトルを検出し、その動きベクトルを動き補償に利用することを妨げるものではない。
【００９８】
図９は、本実施の形態における動画像復号化装置の一例を示すブロック図である。
【００９９】
本実施の形態における動画像復号化装置２００は、逆量子化／逆変換部２２０、加算器２３５、デブロッキングフィルタ２３７、メモリ２４０、イントラ予測部２５０、適応フィルタ付動き補償予測部２６０、切換スイッチ２８０およびエントロピー復号化部２９０を備えている。
【０１００】
エントロピー復号化部２９０は、動画像符号化装置１００から出力されたビットストリームたる符号化信号を取得して、その符号化信号に対してエントロピー復号化を行う。このエントロピー復号化により、エントロピー復号化部２９０は、量子化係数、動きベクトルおよびフィルタ係数を符号化信号から取り出して、その量子化係数を逆量子化／逆変換部２２０に出力し、動きベクトルおよびフィルタ係数を適応フィルタ付動き補償予測部２６０に出力する。
【０１０１】
逆量子化／逆変換部２２０は、動画像符号化装置１００の逆量子化／逆変換部１３０と同様の機能および構成を有し、エントロピー復号化部２９０から取得した量子化係数を直交変換係数に逆量子化し、その直交変換係数を予測誤差に逆直交変換して加算器２３５に出力する。
【０１０２】
加算器２３５は、動画像符号化装置１００の加算器１３５と同様の機能および構成を有する。つまり、加算器２３５は、逆量子化／逆変換部２２０から出力された予測誤差と、イントラ予測部２５０または適応フィルタ付動き補償予測部２６０から出力された予測信号の示す予測画像とを加算する。そして、加算器１３５は、その加算結果を示す復号画像をデブロッキングフィルタ２３７に出力する。
【０１０３】
デブロッキングフィルタ２３７は、動画像符号化装置１００のデブロッキングフィルタ１３７と同様の機能および構成を有する。つまり、デブロッキングフィルタ２３７は、その復号画像に対してデブロッキングフィルタをかけることにより、その復号画像にある符号化歪みを除去し、符号化歪みが除去された復号画像をメモリ２４０に格納する。
【０１０４】
メモリ２４０には、動画像符号化装置１００のメモリ１４０と同様、デブロッキングフィルタ２３７によって復号画像が逐次格納される。その結果、後の対象ブロックに対する予測画像の生成に使用される参照ピクチャがメモリ２４０に格納されることとなる。
【０１０５】
イントラ予測部２５０は、動画像符号化装置１００のイントラ予測部１５０と同様の機能および構成を有する。つまり、イントラ予測部２５０は、対象ブロックに対して面内予測（イントラ予測）を行い、その対象ブロックに対する予測画像を示す予測信号を切換スイッチ２８０に出力する。
【０１０６】
切換スイッチ２８０は、動画像符号化装置１００の切換スイッチ１８０と同様の機能および構成を有する。つまり、切換スイッチ２８０は、対象ブロックに対して面内予測（イントラ予測）が行われるときには、イントラ予測部２５０から出力される予測信号を加算器２３５に出力し、対象ブロックに対して画面間予測（インター予測）が行われるときには、適応フィルタ付動き補償予測部２６０から出力される予測信号を加算器２３５に出力する。
【０１０７】
適応フィルタ付動き補償予測部２６０は、動画像符号化装置１００の適応フィルタ付動き補償予測部１６０と同様の機能および構成を有する。つまり、適応フィルタ付動き補償予測部２６０は、エントロピー復号化部２９０から出力された各ブロックに対応する小数画素精度の動きベクトルを取得すると、それらの動きベクトルを有するブロックに基づいて、分離型二次元適応内挿フィルタのフィルタ係数を算出する。さらに、適応フィルタ付動き補償予測部２６０は、算出されたフィルタ係数を用いて対象ブロックに対する動き補償を行い、その結果、その対象ブロックに対する予測画像を生成し、その予測画像を示す予測信号を切換スイッチ２８０に出力する。この適応フィルタ付動き補償予測部２６０によるフィルタ係数の算出および動き補償は、上述の適応フィルタ付動き補償予測部１６０によるフィルタ係数の算出および動き補償と同様に行われる。
【０１０８】
以下、分離型二次元適応内挿フィルタのフィルタ係数を決定する方法について、具体的に説明する。
【０１０９】
図１０は、１／４画素精度の参照ピクチャの画素位置および画素値を示す図である。
【０１１０】
黒丸は整数画素位置（すなわち元の画像のサンプリング位置）を意味するのに対して、白丸は画素値が内挿されなければならない小数画素位置を示す。なお、本発明はいかなる小数画素精度（垂直および水平の方向に異なる小数画素精度を含む）にも適用可能である。
【０１１１】
ここで、以下において、ｎを小数画素精度（すなわち１／２画素精度の場合にはｎ＝２、１／４画素精度の場合にはｎ＝４など）と定義する。参照ピクチャ上の位置は整数画素精度または小数画素精度により表される。（ｘ，ｙ）は参照ピクチャ上の座標位置を整数画素精度で示し、（ｎｘ＋ｐ，ｎｙ＋ｑ）は参照ピクチャ上の座標位置を小数画素精度で示す。つまり、小数画素精度で示される整数画素位置（ｎｘ，ｎｙ）は、整数画素精度で示される整数画素位置（ｘ，ｙ）に一致する。なお、小数画素精度で示される（ｎｘ＋ｐ，ｎｙ＋ｑ）は、上述の（ｐ，ｑ）のように各整数単位範囲に共通の位置を示さず、参照ピクチャ上の特定の１つの位置を示す。以下、（ｐ，ｑ）を、（ｎｘ＋ｐ，ｎｙ＋ｑ）と区別するために、局所座標上の位置という。さらに、Ｐx,yを元の参照ピクチャの整数画素位置（ｘ，ｙ）にある画素の画素値と定義する。さらに、Ｐａnx+p,0を、参照ピクチャ上の小数画素精度で示される１つの位置（ｎｘ＋ｐ，０）における画素の画素値と定義し、Ｐｂnx+p,ny+qを、参照ピクチャ上の小数画素精度で示される１つの位置（ｎｘ＋ｐ，ｎｙ＋ｑ）における画素の画素値と定義する（図１０参照）。
【０１１２】
動きベクトルは、ｍｖ＝（ｖx，ｖy）によって表現される。つまり、動きベクトル５０１，５０２，５０３は、小数画素精度により示される水平方向および垂直方向の位置をそれぞれ成分ｖxおよびｖyに代入することによって表される。ｖx ｍｏｄ ｎ＝０を満たす動きベクトル５０３は、ｘ方向（水平方向）の整数画素位置を示している。ｖx ｍｏｄ ｎ＝１，…，（ｎ−１）を満たす動きベクトル５０１，５０２は、ｘ方向の小数画素位置を示している。ｙ方向（垂直方向）についても同様、動きベクトル５０１がｙ方向の整数画素位置を示し、動きベクトル５０２，５０３がｙ方向の小数画素位置を示している。
【０１１３】
本実施の形態における分離型二次元適応内挿フィルタは、上述のように、一次元水平内挿フィルタと一次元垂直内挿フィルタに分けられることができる。具体的に、垂直方向において整数画素位置にある画素、つまり位置（ｎｘ＋ｐ，ｙ）にある画素の画素値Ｐａnx+p,yは、一次元水平内挿フィルタを用いて以下の（数１）によって示される。
【０１１４】
【数１】
2008132828.tif 000031
【０１１５】
ここで、ｇi(p)は、局所座標上の位置（ｐ，０）に対する水平方向のフィルタ係数ｇ(p)に含まれる複数の係数あって、６−タップ・フィルタの場合、ｉ＝−２，−１，０，１，２，３を有する一次元水平内挿フィルタの離散的な係数である。つまり、局所座標上の位置（ｐ，０）に対する一次元水平内挿フィルタのフィルタ係数ｇ(p)は、６つの係数ｇ-2(p)、ｇ-1(p)、ｇ0(p)、ｇ1(p)、ｇ2(p)、ｇ3(p)からなる。また、Ｐx-i,yは、整数画素位置（ｘ−ｉ，ｙ）（ｉ＝−２，−１，０，１，２，３）にある整数画素の画素値である。このように、垂直方向において整数画素位置にある画素、つまり位置（ｎｘ＋ｐ，ｙ）にある画素の画素値Ｐａnx+p,yは、水平方向に沿って配列する６つの整数画素の画素値Ｐx-i,y（ｉ＝−２，−１，０，１，２，３）のそれぞれに対して係数ｇi(p)（ｉ＝−２，−１，０，１，２，３）を掛けて合計した結果として表される。このような水平方向のフィルタ係数ｇ(p)は、局所座標上の特定の位置ｐに依存する。それゆえに、一次元水平内挿フィルタのフィルタ係数ｇ(p)は、各々の位置ｐに対して決定される。
【０１１６】
図１１は、一次元水平内挿フィルタにより内挿される小数画素およびそのフィルタ係数を示す図である。なお、図１０中、黒丸は既知の画素値を有する整数画素を示し、白丸は内挿されるべき小数画素を示す。
【０１１７】
フィルタ係数ｇ(p)は、局所座標上の小数整数画素位置（ｐ，０）（ｐ＝１，…，（ｎ−１））のそれぞれに対して決定される。例えば、ｎ＝４の場合、小数整数画素位置（１，０）に対してフィルタ係数ｇ(1)が決定され、小数整数画素位置（２，０）に対してフィルタ係数ｇ(2)が決定され、小数整数画素位置（３，０）に対してフィルタ係数ｇ(3)が決定される。
【０１１８】
このように一次元水平内挿フィルタのフィルタ係数ｇ(p)が決定されると、位置（ｎｘ＋ｐ，ｎｙ＋ｑ）にある画素の画素値Ｐｂnx+p,ny+qは、一次元垂直内挿フィルタを用いて以下の（数２）によって定められる。
【０１１９】
【数２】
2008132828.tif 000032
【０１２０】
ここで、ｈj(p,q)は、局所座標上の位置（ｐ，ｑ）に対する垂直方向のフィルタ係数ｈ(p,q)に含まれる複数の係数である。たとえば、６−タップ・フィルタの場合、ｈj(p,q)は、ｊ＝−２，−１，０，１，２，３を有する一次元垂直内挿フィルタの離散的な係数である。つまり、局所座標上の位置（ｐ，ｑ）に対する一次元垂直内挿フィルタのフィルタ係数ｈ(p,q)は、６つの係数ｈ-2(p,q)、ｈ-1(p,q)、ｈ0(p,q)、ｈ1(p,q)、ｈ2(p,q)、ｈ3(p,q)からなる。また、Ｐａnx+p,y-jは、垂直方向において整数画素位置にある画素、つまり位置（ｎｘ＋ｐ，ｙ−ｊ）（ｊ＝−２，−１，０，１，２，３）にある画素の画素値である。したがって、係数ｈj(p,q)は、水平方向に内挿された小数画素の画素値Ｐａnx+p,y-jに対しても掛け算される。このように、位置（ｎｘ＋ｐ，ｎｙ＋ｑ）にある画素の画素値Ｐｂnx+p,ny+qは、垂直方向に沿って配列する６つの画素の画素値Ｐａnx+p,y-j（ｊ＝−２，−１，０，１，２，３）のそれぞれに対して係数ｈj(p,q)（ｊ＝−２，−１，０，１，２，３）を掛けて合計した結果として表される。また、垂直方向のフィルタ係数ｈ(p,q)は、局所座標上の特定の位置（ｐ，ｑ）に依存する。それゆえに、一次元垂直内挿フィルタのフィルタ係数ｈ(p,q)は、各々の位置（ｐ，ｑ）の画素に対して決定される。
【０１２１】
図１２は、一次元垂直内挿フィルタにより内挿される小数画素およびそのフィルタ係数を示す図である。なお、図１２中、黒丸は既知の画素値を有する整数画素および小数画素を示し、白丸は内挿されるべき小数画素を示す。
【０１２２】
フィルタ係数ｈj(p,q)は、局所座標上の小数画素位置（ｐ，ｑ）（ｐ＝０，…，（ｎ−１）およびｑ＝１，…，（ｎ−１））のそれぞれに対して決定される。例えば、ｎ＝４の場合、１２個の小数画素のそれぞれに対してフィルタ係数ｈj(p,q)が決定される。具体的に、小数画素位置（０，１）に対してフィルタ係数ｈj(0,1)が決定され、小数画素位置（１，１）に対してフィルタ係数ｈj(1,1)が決定され、小数画素位置（１，２）に対してフィルタ係数ｈj(1,2)が決定される。
【０１２３】
なお、本実施の形態では、一次元水平内挿フィルタおよび一次元垂直内挿フィルタの適用によって整数画素位置の画素の画素値が変化しないことが要請される。言い換えれば、一次元水平内挿フィルタおよび一次元垂直内挿フィルタが整数画素の画素値に影響を与えないことが要請される。それゆえに、ｐおよびｑがそれぞれ０となり得る場合、以下の（数３）に示す条件が満たされなければならない。
【０１２４】
【数３】
2008132828.tif 000033
【０１２５】
ここで、δk,lはクロネッカーデルタであり、ｋ＝ｌであればδk,l＝１であり、ｋ≠ｌであればδk,l＝０である。更に、一次元垂直内挿フィルタの適用によって一次元水平内挿フィルタの結果（小数画素の画素値）が変化しないことも要請される。言い換えれば、一次元垂直内挿フィルタが一次元水平内挿フィルタの結果である小数画素の画素値に影響を与えないことが要請される。それゆえに、ｑが０となり得る場合、以下の（数４）に示す条件が満たされなければならない。
【０１２６】
【数４】
2008132828.tif 000034
【０１２７】
従って、ｐおよびｑがそれぞれ０となり得る場合であっても、実質的には、（ｎ−１）個の小数整数画素位置に対する一次元水平適応内挿フィルタのフィルタ係数ｇ(1)，…，ｇ(n-1)と、ｎ（ｎ−１）個の小数画素位置（整数小数画素位置および小数小数画素位置）に対する一次元垂直内挿フィルタのフィルタ係数ｈ(0,1)，…，ｈ(0,n-1)，ｈ(1,1)，…，ｈ(n-1,n-1)とがある。
【０１２８】
本実施の形態では、まず、対象ピクチャの中から、参照ピクチャにおける各局所座標で所定の小数整数画素位置（ｐ，０）（ｐ≠０）を指し示す小数画素精度の動きベクトルｍｖ＝（ｖx，ｖy）（ｖx ｍｏｄ ｎ≠０、ｖy ｍｏｄ ｎ＝０）を有する１つ以上のブロックが特定される。そして、本実施の形態では、一次元水平内挿フィルタのフィルタ係数ｇ(p)（係数ｇi(p)）は、以下の（数５）に示す予測誤差（ｅp）2が最小になるように最適化される。
【０１２９】
【数５】
2008132828.tif 000035
【０１３０】
ここで、Ｓx,yは、対象ピクチャ上の整数画素精度により示される位置（ｘ，ｙ）にある整数画素の画素値であり、Ｐxd-i,ydは、前に復号化された参照ピクチャ上の整数画素位置（ｘｄ−ｉ，ｙｄ）にある画素の画素値である。また、ｘｄはｘｄ＝ｘ＋[[ｖx／ｎ]]によって定義され、ｙｄはｙｄ＝ｙ＋[[ｖy／ｎ]]によって定義され、ｐはｐ＝ｖx ｍｏｄ ｎにより示される。なお、[[Ａ]]は、引数Ａ以下の最大の整数を示すフロア演算子である。また、上述のように、ｖy ｍｏｄ ｎ＝０が満たされているため、ｙｄは、ｙｄ＝ｙ＋[[ｖy／ｎ]]＝ｙ＋ｖy／ｎにより示される。
【０１３１】
つまり、位置（ｘｄ，ｙｄ）は、対象ピクチャ上の整数画素位置（ｘ，ｙ）と小数画素精度の動きベクトルｍｖ＝（ｖx，ｖy）とによって指し示される参照ピクチャ上の小数画素位置（ｘ＋ｖx／ｎ，ｙ＋ｖy／ｎ）から見て、水平方向に近傍にある整数画素位置である。そして、位置（ｘｄ−ｉ，ｙｄ）は、例えばｉ＝−２，−１，０，１，２，３によって、水平方向に連続して配列する６つの整数画素位置を示す。
【０１３２】
ｘとｙの取り得る範囲は、各局所座標で所定の小数整数画素位置（ｐ，０）を指し示す動きベクトルを有する対象ピクチャ上の１つ以上のブロックからなる範囲であって、その１つ以上のブロック内の（ｘ，ｙ）に対して上記（数５）により示される予測誤差の最小化が行われる。なお、上記ブロックはマクロブロックに対応する。つまり、ｘとｙの取り得る範囲は、各局所座標で同一の小数画素位置を示している動きベクトル（すなわちｖx ｍｏｄ ｎ＝ｐとｖy ｍｏｄ ｎ＝０を満たす動きベクトル）を有する、（一つ以上の動画像の中の）いくつかまたは全てのマクロブロックの（不連続の）結合から成る。
【０１３３】
上述のように、本実施の形態では、一次元水平内挿フィルタのフィルタ係数ｇ(p)は、（数５）に示す予測誤差を最小化するように決定される。このような最小化（最適化）のアルゴリズムには、公知技術のいかなるもの（例えば勾配降下法、シミュレイテッドアニーリング法など）が適用されてもよい。例えば、最適なフィルタ係数ｇ(p)は、（数５）の偏導関数によって導出される線形方程式を解くことによって決定される。その線形方程式は、以下の（数６）のように示される。
【０１３４】
【数６】
2008132828.tif 000036
【０１３５】
このような最適化によって、局所座標上の１つの小数整数画素位置（ｐ，０）に対する一次元水平内挿フィルタのフィルタ係数ｇ(p)が決定される。そして、他の小数整数画素位置（ｐ，０）に対しても同様の最適化が繰り返し実行されて、その位置に対するフィルタ係数ｇ(p)が順次決定される。
【０１３６】
このように決定された一次元水平内挿フィルタのフィルタ係数ｇ(p)を用いることによって、前に復号化された参照ピクチャ上の、水平方向において小数画素位置にあり垂直方向において整数画素位置にある小数画素の画素値Ｐａnx+p,yが、上記（数１）によって算出される。
【０１３７】
次に本実施の形態では、対象ピクチャの中から、参照ピクチャにおける各局所座標で小数整数画素位置を除く同一の小数画素位置（ｐ，ｑ）（ｑ≠０）を指し示す小数画素精度の動きベクトルｍｖ＝（ｖx，ｖy）（ｖy ｍｏｄ ｎ≠０）を有する１つ以上のブロックが特定される。そして、本実施の形態では、一次元垂直内挿フィルタのフィルタ係数ｈ(p,q)（係数ｈj(p,q)）は、垂直方向における小数画素の動きを考慮に入れる予測誤差の最小化によって、第２のステップで決定される。つまり、このフィルタ係数ｈ(p,q)は、以下の（数７）に示す予測誤差（ｅp,q）2が最小になるように最適化される。
【０１３８】
【数７】
2008132828.tif 000037
【０１３９】
ここで、Ｓx,yは、対象ピクチャ上の整数画素精度により示される位置（ｘ，ｙ）にある整数画素の画素値であり、Ｐａnx+vx,yd-jは、参照ピクチャ上の小数整数画素位置または整数画素位置である位置（ｎｘ＋ｖx，ｙｄ−ｊ）の画素の画素値である。また、ｐはｐ＝ｖx ｍｏｄ ｎにより示され、ｑはｑ＝ｖy ｍｏｄ ｎ≠０により示される。つまり、位置（ｎｘ＋ｖx，ｙｄ）は、対象ピクチャ上の整数画素位置（ｘ，ｙ）と小数画素精度の動きベクトルｍｖ＝（ｖx，ｖy）とによって指し示される参照ピクチャ上の小数画素位置（ｘ＋ｖx／ｎ，ｙ＋ｖy／ｎ）から見て、垂直方向に近傍にある小数整数画素位置または整数画素位置である。そして、位置（ｎｘ＋ｖx，ｙｄ−ｊ）は、例えばｊ＝−２，−１，０，１，２，３によって、垂直方向に連続して配列する６つの小数整数画素位置または６つの整数画素位置を示す。
【０１４０】
ｘとｙの取り得る範囲は、各局所座標で所定の小数画素位置（ｐ，ｑ）（ｑ≠０）を指し示す動きベクトルを有する対象ピクチャ上の１つ以上のブロックからなる範囲であって、その１つ以上のブロック内の（ｘ，ｙ）に対して上記（数７）により示される予測誤差の最小化が行われる。なお、上記ブロックはマクロブロックに対応する。つまり、ｘとｙの取り得る範囲は、各局所座標で同一の小数画素位置を示している動きベクトル（すなわちｖx ｍｏｄ ｎ＝ｐとｖy ｍｏｄ ｎ＝ｑ≠０を満たす動きベクトル）を有する、いくつかまたは全てのマクロブロックの（不連続の）結合から成る。
【０１４１】
上述のように、本実施の形態では、一次元垂直内挿フィルタのフィルタ係数ｈ(p,q)は、（数７）に示す予測誤差を最小化するように決定される。このような最小化（最適化）のアルゴリズムには、公知技術のいかなるもの（例えば勾配降下法、シミュレイテッドアニーリング法など）が適用されてもよい。例えば、最適なフィルタ係数ｈ(p,q)は、（数７）の偏導関数によって導出される線形方程式を解くことによって決定される。その線形方程式は、以下の（数８）のように示される。
【０１４２】
【数８】
2008132828.tif 000038
【０１４３】
このような最適化によって、局所座標上の１つの小数画素位置（ｐ，ｑ）（ｑ≠０）に対する一次元垂直内挿フィルタのフィルタ係数ｈj(p,q)が決定される。そして、他の小数画素位置（ｐ，ｑ）（ｑ≠０）に対しても同様の最適化が繰り返し実行されて、その位置に対するフィルタ係数ｈ(p,q)が順次決定される。
【０１４４】
このように決定された一次元垂直内挿フィルタのフィルタ係数ｈj(p,q)を用いることによって、前に復号化された参照ピクチャ上の、小数画素位置（ｐ，ｑ）（ｑ≠０）にある小数画素の画素値Ｐｂnx+p,ny+qが、上記（数２）によって算出される。
【０１４５】
このように、本実施の形態における分離型二次元適応内挿フィルタは、一次元水平内挿フィルタと一次元垂直内挿フィルタに分けられる。そして、一次元水平内挿フィルタのフィルタ係数ｇ(p)と、一次元垂直内挿フィルタのフィルタ係数ｈ(p,q)とがそれぞれ算出される。さらに、動き補償では、算出されたフィルタ係数ｇ(p)を用いて、垂直方向において整数画素位置にあり水平方向において小数画素位置にある小数画素の画素値が算出され、算出されたフィルタ係数ｈ(p,q)を用いて、垂直方向において小数画素位置にある小数画素の画素値が算出される。なお、対象ブロックに対する動き補償では、その対象ブロックが有する小数画素精度の動きベクトルｍｖが示す局所座標上の位置（ｐ，ｑ）に対するフィルタ係数だけが用いられる。その結果、参照ピクチャ上の各局所座標における上記位置（ｐ，ｑ）の小数画素の画素値が算出され、位置（ｐ，ｑ）の小数画素からなる予測画像が生成される。
【０１４６】
上記説明において、ｇ(p)およびｈ(p,q)は、それぞれ水平および垂直の一次元内挿フィルタのフィルタ係数として定義され、一次元水平内挿フィルタのフィルタ係数は一次元垂直内挿フィルタのフィルタ係数よりも前に決定された。しかしながら、一次元垂直内挿フィルタのフィルタ係数が一次元水平内挿フィルタのフィルタ係数よりも前に決定されるように、ｇ(p)およびｈ(p,q)の役割を変えてもよい。
【０１４７】
また、上記説明において、一次元垂直内挿フィルタのフィルタ係数ｈ(p,q)は、水平方向の小数画素位置ｐに依存した。しかし、フィルタ係数ｈ(p,q)が、小数画素位置ｐに依存することなく、水平方向に不変であってもよい。この場合、フィルタ係数ｈ(p,q)はｈ(q)となり、この場合にも、ｈ(p,q)の場合と類似した効果が達成される。また、この場合には、一次元垂直内挿フィルタのフィルタ係数の数を（ｎ−１）に減らすことができ、その結果、シグナリング・オーバーヘッドを減らすことができる。
【０１４８】
さらに、一次元水平内挿フィルタのフィルタ係数の算出を第１に実行せずに、一次元垂直内挿フィルタの水平方向に不変のフィルタ係数ｈ(q)を、ｇ(p)と同様に決定してもよい。この場合、フィルタ係数ｈ(q)（係数ｈj(q)）はｐに依存しないため、（数７）においてｐはｐ＝０に置き換えられる。その結果、フィルタ係数ｈ(q)は、以下の（数９）に示す予測誤差（ｅ0,q）2が最小になるように決定される。なお、（数９）では、ｘｄ＝ｘ＋[[ｖx／ｎ]]、ｖx ｍｏｄ ｎ＝０、ｙｄ＝ｙ＋[[ｖy／ｎ]]およびｖy ｍｏｄ ｎ＝ｑの関係が満たされている。
【０１４９】
【数９】
2008132828.tif 000039
【０１５０】
この（数９）は（数５）と相似の関係にある。つまり、ｘとｙの取り得る範囲は、各局所座標で所定の整数小数画素位置（０，ｑ）を指し示す動きベクトルを有する対象ピクチャ上の１つ以上のブロックからなる範囲であって、その１つ以上のブロック内の（ｘ，ｙ）に対して上記（数９）により示される予測誤差の最小化が行われる。なお、上記ブロックはマクロブロックに対応する。つまり、ｘとｙの取り得る範囲は、各局所座標で同一の小数画素位置を示している動きベクトル（すなわちｖx ｍｏｄ ｎ＝０とｖy ｍｏｄ ｎ＝ｑを満たす動きベクトル）を有する、いくつかのまたは全てのマクロブロックの（不連続の）結合から成る。
【０１５１】
また、本実施の形態ではフィルタ係数に含まれる各係数をそれぞれ独立に決定した。しかし、フィルタ係数が適用される小数画素位置を中心に、各係数が重み付けられる各画素が水平方向または垂直方向に対称的に配列している場合には、その対称性を利用して、その小数画素位置のフィルタ係数に含まれる係数のうち、互いに対称的な位置にある画素に重み付けられる係数を等しくしてもよい。これにより、フィルタ係数を送信するためのオーバーヘッドを更に減少することができる。つまり、上述のような場合には、小数画素位置のフィルタ係数に含まれる係数は、（数１０）のように、水平方向または垂直方向のミラーリングによって決定される。例えば、１／４画素精度（ｎ＝４）の場合には、ｐ＝２および／またはｑ＝２にある小数画素位置のフィルタ係数に対して（数１０）が適用される。
【０１５２】
【数１０】
2008132828.tif 000040
【０１５３】
また、本実施の形態では各小数画素位置に対するフィルタ係数をそれぞれ独立に決定した。しかし、互いに隣り合う整数画素の中間点を中心に、その整数画素間の２つの小数画素位置が水平方向または垂直方向に対称的に配列している場合には、その対称性を利用して、その２つの小数画素位置のフィルタ係数を等しくしてもよい。これにより、フィルタ係数を送信するためのオーバーヘッドを更に減少することができる。つまり、上述のような場合には、対称的に配置された小数画素位置のフィルタ係数は、（数１１）のように、水平方向または垂直方向のミラーリングによって決定される。例えば、１／４画素精度（ｎ＝４）の場合には、ｐ＝３の小数画素位置のフィルタ係数は、ｐ＝１の小数画素位置のフィルタ係数と同一のフィルタ係数に決定される。
【０１５４】
【数１１】
2008132828.tif 000041
【０１５５】
ここで、例えば、動き検出部１７０によって小数画素位置（３，０）を指し示す動きベクトルが検出されず、その動きベクトルｍｖを有するブロックが対象ピクチャに無いために、予測誤差を用いてその小数画素位置（３，０）のフィルタ係数を算出することができない場合がある。しかしながら、小数画素位置（１，０）のフィルタ係数が予測誤差を用いて算出できれば、上述の対称性（数１１）を利用することによって、その小数画素位置（３，０）のフィルタ係数を、小数画素位置（１，０）のフィルタ係数として決定することができる。
【０１５６】
なお、上述のような対称性を利用すること以外にも、その小数画素位置（３，０）のフィルタ係数を、前のピクチャに対して算出されたその小数画素位置のフィルタ係数として決定してもよい。さらに、小数画素位置（３，０）のフィルタ係数をデフォルトのフィルタ係数に決定してもよい。また、その小数画素位置（３，０）のフィルタ係数を決定しなくてもよい。この場合、その小数画素位置のフィルタ係数は使用されることなく、動画像符号化装置１００は動画像復号化装置２００にその小数画素位置のフィルタ係数を送信しない。
【０１５７】
さらに、（数１２）に示されるように、（数１０）および（数１１）の関係を満たすようにフィルタ係数を決定してもよい。
【０１５８】
【数１２】
2008132828.tif 000042
【０１５９】
また、本発明では、上述のような対称性に限定されず、フィルタ係数を送信するためのオーバーヘッドを減らすために、回転対称を含む他の対称性を利用してもよい。
【０１６０】
このように、動き検出部１７０によって所定の小数画素位置を指し示す動きベクトルが検出されず、その動きベクトルを有するブロックが対象ピクチャ上で特定されない場合には、適応フィルタ付動き補償予測部１６０は、上述のような画素位置の対称性や、他のピクチャのフィルタ係数、デフォルトのフィルタ係数などを利用することにより、その所定の小数画素位置のフィルタ係数を決定してもよい。または、適応フィルタ付動き補償予測部１６０は、上述のように、その所定の小数画素位置のフィルタ係数を決定しなくてもよい。
【０１６１】
以下、本発明の効果について図１３Ａ、図１３Ｂおよび図１４を用いて説明する。
【０１６２】
図１３Ａおよび図１３Ｂは、本実施の形態における動画像符号化装置１００の符号化効率と従来例の符号化効率との計測結果を比較して示す図である。なお、図１３Ａに示す符号化効率と図１３Ｂに示す符号化効率とでは、それらの効率が計測される条件である入力画像が異なっている。
【０１６３】
このような図１３Ａおよび図１３Ｂでは、本実施の形態における分離型二次元適応内挿フィルタを用いて動き補償を行う動画像符号化装置１００の符号化効率が、従来のＨ．２６４／ＡＶＣの二次元固定内挿フィルタを用いて動き補償を行う動画像符号化装置の符号化効率と、従来の非分離型二次元適応内挿フィルタを用いて動き補償を行う動画像符号化装置の符号化効率と比較して示されている。これらの図に示すように、本実施の形態における分離型二次元適応内挿フィルタによる符号化効率は、従来の非分離型二次元適応内挿フィルタによる符号化効率と略等しく、従来の二次元固定内挿フィルタによる符号化効率よりも高い。
【０１６４】
図１４は、本実施の形態における動画像符号化装置１００によるフィルタリングの計算量と従来のフィルタリングの計算量とを比較して示す図である。
【０１６５】
この図１４に示すように、従来の非分離型二次元適応内挿フィルタ（６ｘ６−タップ・フィルタ）の適用に要する計算量は３６０である。一方、本実施の形態における動画像符号化装置１００によって行われる分離型二次元適応内挿フィルタ（６−タップ・フィルタ）の適用に要する計算量は９０である。このように、本実施の形態ではフィルタリングの計算量を低減することができる。
【０１６６】
なお、本実施の形態では、１枚の参照ピクチャに対して１つの分離型二次元適応内挿フィルタを決定した。つまり、１枚の参照ピクチャ上で小数画素位置（ｐ，ｑ）が同じであれば、それらの位置に対して同じフィルタ係数を決定した。しかし、本発明はこれに限定されるものではなく、複数のピクチャ（シーケンス）やスライスに対して１つの分離型二次元適応内挿フィルタを決定してもよい。この場合、シーケンスやスライス上で小数画素位置（ｐ，ｑ）が同じであれば、それらの位置に対して同じフィルタ係数が決定される。つまり、本発明では、ピクチャ、スライス、またはシーケンスなどをフィルタ決定単位とし、そのフィルタ決定単位ごとに、そのフィルタ決定単位に含まれる小数画素位置（ｐ，ｑ）に対する分離型二次元適応内挿フィルタのフィルタ係数を決定してもよい。
【０１６７】
また、ブロック図（図３および図９など）の各機能ブロックは典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。例えばメモリ以外の機能ブロックが１チップ化されていても良い。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０１６８】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【産業上の利用可能性】
【０１６９】
本発明の二次元適応内挿フィルタのフィルタ係数決定方法は、少ない計算量で効率的に適切なフィルタ係数を決定することができるという効果を奏し、例えば、動画像符号化装置やビデオカメラ、カメラ付携帯電話などに適用することができる。
【符号の説明】
【０１７０】
１００    動画像符号化装置
１２０    変換／量子化部
１３０    逆量子化／逆変換部
１５０    イントラ予測部
１６０    適応フィルタ付動き補償予測部
１７０    動き検出部
２００    動画像復号化装置
２２０    逆量子化／逆変換部
２５０    イントラ予測部
２６０    適応フィルタ付動き補償予測部
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
二次元に配置された整数画素の画素値に基づいて、整数画素間に内挿される小数画素の画素値を算出するための二次元適応内挿フィルタのフィルタ係数を決定する方法であって、
対象ピクチャを構成するブロックごとに、参照画像からの当該ブロックの画像の動きを動きベクトルとして小数画素精度で検出する動き検出ステップと、
前記動き検出ステップによって検出された小数画素精度の動きベクトルを有する複数のブロックの中から、近傍にある整数画素との間で予め定められた相対的位置関係にある前記参照画像上の小数画素位置を示す第１の動きベクトルを有する１つ以上のブロックを特定する第１の特定ステップと、
前記第１の特定ステップで特定された１つ以上のブロックの画像と、前記１つ以上のブロックの第１の動きベクトルにより示される参照画像上の１つ以上のブロックの画像とに基づいて、前記小数画素位置のフィルタ係数を決定する第１の決定ステップと
を含むことを特徴とする二次元適応内挿フィルタのフィルタ係数決定方法。
【請求項２】
前記二次元適応内挿フィルタは、
水平方向および垂直方向の何れか一方である第１の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第１の一次元内挿フィルタと、
前記第１の方向と異なる水平方向または垂直方向である第２の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第２の一次元内挿フィルタとに分離可能であり、
前記第１の特定ステップでは、
前記予め定められた相対的位置関係を満たし、前記第１の方向において小数画素位置にあって且つ第２の方向において整数画素位置にある第１の小数画素位置を示す前記第１の動きベクトルを有する１つ以上のブロックを特定し、
前記第１の決定ステップでは、
前記第１の小数画素位置における前記第１の一次元内挿フィルタのフィルタ係数を決定し、
前記フィルタ係数決定方法は、さらに、
前記動き検出ステップによって検出された小数画素精度の動きベクトルを有する複数のブロックの中から、近傍にある整数画素との間で他の予め定められた相対的位置関係にあって前記第２の方向において小数画素位置にある前記参照画像上の第２の小数画素位置を示す第２の動きベクトルを有する１つ以上のブロックを特定する第２の特定ステップと、
前記第２の特定ステップで特定された１つ以上のブロックの画像と、前記１つ以上のブロックの第２の動きベクトルにより示される参照画像上の１つ以上のブロックの画像とに基づいて、前記第２の小数画素位置における前記第２の一次元内挿フィルタのフィルタ係数を決定する第２の決定ステップとを含む
ことを特徴とする請求項１記載の二次元適応内挿フィルタのフィルタ係数決定方法。
【請求項３】
前記第２の特定ステップでは、
前記他の予め定められた相対的位置関係を満たし、前記第１の方向において整数画素位置にあって且つ第２の方向において小数画素位置にある前記第２の小数画素位置を示す前記第２の動きベクトルを有する１つ以上のブロックを特定する
ことを特徴とする請求項２記載の二次元適応内挿フィルタのフィルタ係数決定方法。
【請求項４】
前記第２の特定ステップでは、
前記他の予め定められた相対的位置関係を満たし、前記第１および第２の方向において小数画素位置にある前記第２の小数画素位置を示す前記第２の動きベクトルを有する１つ以上のブロックを特定し、
前記第２の決定ステップでは、
前記第１の決定ステップで決定された前記第１の一次元内挿フィルタのフィルタ係数を前記第１の小数画素位置に適用し、適用された結果を用いて、前記第２の小数画素位置におけるフィルタ係数を決定する
ことを特徴とする請求項２記載の二次元適応内挿フィルタのフィルタ係数決定方法。
【請求項５】
前記第１の決定ステップでは、
前記第１の特定ステップによって特定された１つ以上のブロックの画像と、前記１つ以上のブロックの第１の動きベクトルにより示される参照画像上の１つ以上のブロックの画像との差分が最小になるように、前記小数画素位置に対するフィルタ係数を決定する
ことを特徴とする請求項１記載の二次元適応内挿フィルタのフィルタ係数決定方法。
【請求項６】
前記第１の決定ステップでは、
前記差分を最小にする線形方程式を解くことにより、前記小数画素位置に対するフィルタ係数を決定する
ことを特徴とする請求項５記載の二次元適応内挿フィルタのフィルタ係数決定方法。
【請求項７】
動画像を圧縮する方法であって、
請求項１記載の二次元適応内挿フィルタのフィルタ係数決定方法に含まれる全てのステップを実行することにより前記二次元適応内挿フィルタのフィルタ係数を決定するフィルタ係数決定ステップと、
前記小数画素位置を示す動きベクトルを有するブロックを対象ブロックとし、前記対象ブロックに対して動き補償を行うことにより、前記対象ブロックの予測画像を生成する動き補償ステップと、
前記動き補償ステップにより生成された予測画像と前記対象ブロックの画像との差分と、前記フィルタ係数決定ステップで決定されたフィルタ係数とを符号化する符号化ステップとを含み、
前記動き補償ステップでは、
前記フィルタ係数決定ステップで決定されたフィルタ係数を前記小数画素位置に適用することにより前記小数画素位置に内挿される小数画素の画素値を算出し、算出された画素値の小数画素を有する前記予測画像を生成する
ことを特徴とする動画像圧縮方法。
【請求項８】
前記二次元適応内挿フィルタは、
水平方向および垂直方向の何れか一方である第１の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第１の一次元内挿フィルタと、
前記第１の方向と異なる水平方向または垂直方向である第２の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第２の一次元内挿フィルタとに分離可能であり、
前記フィルタ係数決定ステップでは、
近傍にある整数画素との間で予め定められた相対的位置関係を満たし、前記第１の方向において小数画素位置にあって且つ第２の方向において整数画素位置にある前記参照画像上の第１の小数画素位置に対する第１の一次元内挿フィルタのフィルタ係数を決定し、さらに、
近傍にある整数画素との間で他の予め定められた相対的位置関係にあって前記第１および第２の方向において小数画素位置にある前記参照画像上の第２の小数画素位置に対する第２の一次元内挿フィルタのフィルタ係数を決定し、
前記動き補償ステップでは、
前記第２の小数画素位置を示す動きベクトルを有するブロックを対象ブロックとして扱い、前記第１の一次元内挿フィルタのフィルタ係数を前記第１の小数画素位置に適用し、さらに、前記第２の一次元内挿フィルタのフィルタ係数を前記第２の小数画素位置に適用することにより、前記第２の小数画素位置に内挿される小数画素の画素値を算出し、算出された画素値の小数画素を有する前記予測画像を生成する
ことを特徴とする請求項７記載の動画像圧縮方法。
【請求項９】
前記動き補償ステップでは、
前記参照画像の整数画素の画素値を変化させることなく、前記第１の一次元内挿フィルタのフィルタ係数を前記第１の小数画素位置に適用する
ことを特徴とする請求項８記載の動画像圧縮方法。
【請求項１０】
前記動き補償ステップでは、
前記参照画像の整数画素の画素値と、前記第１の一次元内挿フィルタのフィルタ係数の適用によって定まる前記第１の小数画素位置の小数画素の画素値とを変化させることなく、前記第２の一次元内挿フィルタのフィルタ係数を前記第２の小数画素位置に適用する
ことを特徴とする請求項９記載の動画像圧縮方法。
【請求項１１】
前記フィルタ係数決定ステップでは、
小数画素位置ごとに、当該小数画素位置に対して特有の二次元適応内挿フィルタのフィルタ係数を決定し、
前記動き補償ステップでは、
所定の小数画素位置に内挿される小数画素の画素値を算出するときには、前記所定の小数画素位置に対して決定された二次元適応内挿フィルタのフィルタ係数を当該所定の小数画素位置に適用する
ことを特徴とする請求項７記載の動画像圧縮方法。
【請求項１２】
前記二次元適応内挿フィルタは、
水平方向および垂直方向の何れか一方である第１の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第１の一次元内挿フィルタと、
前記第１の方向と異なる水平方向または垂直方向である第２の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第２の一次元内挿フィルタとに分離可能であり、
前記フィルタ係数決定ステップでは、
前記第１の方向において小数画素位置にあって且つ第２の方向において整数画素位置にある第１の小数画素位置に対して、前記第１の一次元内挿フィルタのフィルタ係数を決定し、
前記動き補償ステップでは、
前記第１の一次元内挿フィルタのフィルタ係数のみを前記第１の小数画素位置に適用することにより前記第１の小数画素位置に内挿される小数画素の画素値を算出する
ことを特徴とする請求項１１記載の動画像圧縮方法。
【請求項１３】
前記二次元適応内挿フィルタは、
水平方向および垂直方向の何れか一方である第１の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第１の一次元内挿フィルタと、
前記第１の方向と異なる水平方向または垂直方向である第２の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第２の一次元内挿フィルタとに分離可能であり、
前記フィルタ係数決定ステップでは、
前記第１の方向において整数画素位置にあって且つ第２の方向において小数画素位置にある第２の小数画素位置に対して、前記第２の一次元内挿フィルタのフィルタ係数を決定し、
前記動き補償ステップでは、
前記第２の一次元内挿フィルタのフィルタ係数のみを前記第２の小数画素位置に適用することにより前記第２の小数画素位置に内挿される小数画素の画素値を算出する
ことを特徴とする請求項１１記載の動画像圧縮方法。
【請求項１４】
前記二次元適応内挿フィルタは、
水平方向および垂直方向の何れか一方である第１の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第１の一次元内挿フィルタと、
前記第１の方向と異なる水平方向または垂直方向である第２の方向に一次元に配列された複数の画素の間の小数画素位置に内挿される小数画素の画素値を算出するための第２の一次元内挿フィルタとに分離可能であり、
前記フィルタ係数決定ステップでは、
前記第１の方向において小数画素位置にあって且つ第２の方向において小数画素位置にある第３の小数画素位置に対して、前記第２の一次元内挿フィルタのフィルタ係数を決定し、他の小数画素位置に対して、前記第１の一次元内挿フィルタのフィルタ係数を決定し、
前記動き補償ステップでは、
前記第１の一次元内挿フィルタのフィルタ係数を前記他の小数画素位置に適用するとともに、前記第２の一次元内挿フィルタのフィルタ係数を前記第３の小数画素位置に適用することにより、前記第３の小数画素位置に内挿される小数画素の画素値を算出する
ことを特徴とする請求項１１記載の動画像圧縮方法。
【請求項１５】
前記フィルタ係数決定ステップでは、
小数画素位置ごとに、当該小数画素位置に対するフィルタ係数を決定する際、
所定の小数画素位置と水平方向または垂直方向に対称な位置にある他の小数画素位置に対して、前記所定の小数画素位置に対して決定されたフィルタ係数と同一のフィルタ係数を決定する
ことを特徴とする請求項７記載の動画像圧縮方法。
【請求項１６】
小数画素位置に対する前記二次元適応内挿フィルタのフィルタ係数は、前記小数画素位置を水平方向または垂直方向に挟んで配置される複数の画素のそれぞれに対する係数からなり、
前記フィルタ係数決定ステップでは、
前記小数画素位置に対するフィルタ係数を決定する際、前記複数の画素の中で、所定の画素に対する係数と、前記小数画素位置を中心に前記所定の画素と水平方向または垂直方向に対称な位置にある他の画素に対する係数とが同一となるように、前記フィルタ係数を決定する
ことを特徴とする請求項７記載の動画像圧縮方法。
【請求項１７】
前記フィルタ係数決定ステップでは、
前記複数の画素のそれぞれに対する係数が水平方向または垂直方向に対称となるように、前記小数画素位置に対するフィルタ係数を決定する
ことを特徴とする請求項１６記載の動画像圧縮方法。
【請求項１８】
前記フィルタ係数決定ステップでは、
ピクチャ、ピクチャを構成するスライス、または複数のピクチャを含むシーケンスをフィルタ決定単位とし、前記フィルタ決定単位ごとに、当該フィルタ決定単位に含まれる前記小数画素位置に対する二次元適応内挿フィルタのフィルタ係数を決定する
ことを特徴とする請求項７記載の動画像圧縮方法。
【請求項１９】
二次元に配置された整数画素の画素値に基づいて、整数画素間に内挿される小数画素の画素値を算出するための二次元適応内挿フィルタのフィルタ係数を決定する装置であって、
対象ピクチャを構成するブロックごとに、参照画像からの当該ブロックの画像の動きを動きベクトルとして小数画素精度で検出する動き検出手段と、
前記動き検出手段によって検出された小数画素精度の動きベクトルを有する複数のブロックの中から、近傍にある整数画素との間で予め定められた相対的位置関係にある前記参照画像上の小数画素位置を示す動きベクトルを有する１つ以上のブロックを特定する特定手段と、
前記特定手段で特定された対象ピクチャの１つ以上のブロックの画像と、前記１つ以上のブロックの動きベクトルにより示される参照画像上の１つ以上のブロックの画像とに基づいて、前記小数画素位置のフィルタ係数を決定する決定手段と
を備えることを特徴とする二次元適応内挿フィルタのフィルタ係数決定装置。
【請求項２０】
二次元に配置された整数画素の画素値に基づいて、整数画素間に内挿される小数画素の画素値を算出するための二次元適応内挿フィルタのフィルタ係数を決定するためのプログラムであって、
対象ピクチャを構成するブロックごとに、参照画像からの当該ブロックの画像の動きを動きベクトルとして小数画素精度で検出する動き検出ステップと、
前記動き検出ステップによって検出された小数画素精度の動きベクトルを有する複数のブロックの中から、近傍にある整数画素との間で予め定められた相対的位置関係にある前記参照画像上の小数画素位置を示す動きベクトルを有する１つ以上のブロックを特定する特定ステップと、
前記特定ステップで特定された１つ以上のブロックの画像と、前記１つ以上のブロックの動きベクトルにより示される参照画像上の１つ以上のブロックの画像とに基づいて、前記小数画素位置のフィルタ係数を決定する決定ステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項２１】
二次元に配置された整数画素の画素値に基づいて、整数画素間に内挿される小数画素の画素値を算出するための二次元適応内挿フィルタのフィルタ係数を決定する集積回路であって、
対象ピクチャを構成するブロックごとに、参照画像からの当該ブロックの画像の動きを動きベクトルとして小数画素精度で検出する動き検出手段と、
前記動き検出手段によって検出された小数画素精度の動きベクトルを有する複数のブロックの中から、近傍にある整数画素との間で予め定められた相対的位置関係にある前記参照画像上の小数画素位置を示す動きベクトルを有する１つ以上のブロックを特定する特定手段と、
前記特定手段で特定された対象ピクチャの１つ以上のブロックの画像と、前記１つ以上のブロックの動きベクトルにより示される参照画像上の１つ以上のブロックの画像とに基づいて、前記小数画素位置のフィルタ係数を決定する決定手段と
を備えることを特徴とする集積回路。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008132828.tif 000043
【図２】
2008132828.tif 000044
【図３】
2008132828.tif 000045
【図４】
2008132828.tif 000046
【図５Ａ】
2008132828.tif 000047
【図５Ｂ】
2008132828.tif 000048
【図６】
2008132828.tif 000049
【図７】
2008132828.tif 000050
【図８】
2008132828.tif 000051
【図９】
2008132828.tif 000052
【図１０】
2008132828.tif 000053
【図１１】
2008132828.tif 000054
【図１２】
2008132828.tif 000055
【図１３Ａ】
2008132828.tif 000056
【図１３Ｂ】
2008132828.tif 000057
【図１４】
2008132828.tif 000058
【国際調査報告】
2008132828.tif 000059
2008132828.tif 000060
2008132828.tif 000061
2008132828.tif 000062