(57)【要約】【課題】動画像の符号化において，分数位置の画像情報を作成するフィルタ係数を変更しない場合の符号量を少なくして符号化効率の向上を図る。【解決手段】画像入力部１１に入力された画像情報に基づいて，動き探索部１６が，フィルタ係数指定部１５が指定する全てのフィルタ係数のパターンについて動き探索を行って動きベクトルを求め，フィルタ係数決定部１７が，差分評価値Ｗｍが最も小さい場合のフィルタ係数を当該マクロブロックのフィルタ係数に決定し，決定したフィルタ係数が基準のフィルタ係数と異なるかどうかの情報と動きベクトル情報との組み合わせをフィルタ係数選択動きベクトル符号化部１８が符号化し，前記決定したフィルタ係数が基準のフィルタ係数と異なる場合に，フィルタ係数符号化部１９がフィルタ係数を指定する情報を符号化する。【選択図】    図１
2004165785.tif 000002
【特許請求の範囲】
【請求項１】
現フレームの画像を分割した領域毎に，既に符号化したフレームの画像情報から分数位置の画像情報を作成し，その分数位置の画像情報との間の予測誤差を符号化する画像符号化方法であって，
分数位置の画像情報を作成するフィルタの係数を決定し，動きベクトルを探索する動き探索ステップと，
前記動き探索ステップで決定したフィルタ係数と動きベクトルとを使って予測画像を作成し，予測誤差を求めて予測誤差を符号化する動き補償ステップと，
前記動き探索ステップで決定したフィルタ係数が，予め決めた基準のフィルタ係数と異なるかどうかと，探索された動きベクトルの値との組み合わせを符号化するフィルタ係数選択動きベクトル符号化ステップと，
前記動き探索ステップで決定したフィルタ係数が，予め決めた基準のフィルタ係数と異なる場合にフィルタ係数を指定する情報を符号化する係数符号化ステップとを有する
ことを特徴とする画像符号化方法。
【請求項２】
現フレームの画像を分割した領域毎に，既に符号化したフレームの画像情報から分数位置の画像情報を作成し，その分数位置の画像情報との間の予測誤差を符号化する画像符号化方法であって，
分数位置の画像情報を作成するフィルタの係数を決定し，動きベクトルを探索する動き探索ステップと，
周囲の領域の動きベクトルから予測動きベクトルを求め，求めた予測動きベクトルと，前記動き探索ステップで探索した動きベクトルの差分を求める動きベクトル差分作成ステップと，
前記動き探索ステップで決定したフィルタ係数と動きベクトルとを使って予測画像を作成し，予測誤差を求めて予測誤差を符号化する動き補償ステップと，
前記動き探索ステップで決定したフィルタ係数が，予め決めた基準のフィルタ係数と異なるかどうかと，動きベクトルの差分の値との組み合わせを符号化するフィルタ係数選択動きベクトル符号化ステップと，
前記動き探索ステップで決定したフィルタ係数が，予め決めた基準のフィルタ係数と異なる場合にフィルタ係数を指定する情報を符号化するフィルタ係数符号化ステップとを有する
ことを特徴とする画像符号化方法。
【請求項３】
現フレームの画像を分割した領域毎に，既に符号化したフレームの画像情報から分数位置の画像情報を作成し，その分数位置の画像情報との間の予測誤差を符号化する画象符号化方法であって，
分数位置の画像情報を作成するフィルタの係数を決定し，動きベクトルを探索する動き探索ステップと，
周囲の領域の動きベクトルから予測動きベクトルを求め，求めた予測動きベクトルと，前記動き探索ステップで探索した動きベクトルの差分を求める動きベクトル差分作成ステップと，
周囲の領域のフィルタ係数から，現領域のフィルタの係数の予測値である予測フィルタ係数を求めるフィルタ係数予測ステップと，
前記動きベクトル差分作成ステップで作成した動きベクトルの差分の値が０である場合に，現領域のフィルタ係数を前記予測フィルタ係数と同じに設定するフィルタ係数再決定ステップと，
決定したフィルタ係数と動きベクトルとを使って予測画像を作成し，予測誤差を求めて予測誤差を符号化する動き補償ステップと，
動きベクトルの差分を符号化する動きベクトル符号化ステップとを有する
ことを特徴とする画像符号化方法。
【請求項４】
既に復号したフレームの画像情報から分数位置の画像情報を作成し，その分数位置の画像情報との間の予測誤差を用いて，現フレームの画像を分割した領域毎の符号化データを復号する画像復号方法であって，
分数位置の画像情報を作成する際に使用されるフィルタ係数が，予め決めた基準のフィルタ係数と異なるかどうかと，動きベクトルの値の組み合わせを復号するフィルタ係数選択動きベクトル復号ステップと，
分数位置の画像情報を作成する際に使用されるフィルタ係数が，予め決めた基準のフィルタ係数と異なる場合にフィルタ係数を指定する情報を復号するフィルタ係数復号ステップと，
復号したフィルタ係数と動きベクトルとを使って予測画像を作成し，予測誤差を求めて予測誤差符号化データを復号し復号画像を作成する動き補償ステップとを有する
ことを特徴とする画像復号方法。
【請求項５】
既に復号したフレームの画像情報から分数位置の画像情報を作成し，その分数位置の画像情報との間の予測誤差を用いて，現フレームの画像を分割した領域毎の符号化データを復号する画像復号方法であって，
周囲の領域の動きベクトルから予測動きベクトルを作成する予測動きベクトル作成ステップと，
分数位置の画像情報を作成する際に使用されるフィルタ係数が，予め決めた基準のフィルタ係数と異なるかどうかと，動きベクトルと前記予測動きベクトルとの差分の値の組み合わせを復号するフィルタ係数選択動きベクトル復号ステップと，
予測動きベクトルと，前記フィルタ係数選択動きベクトル復号ステップで求めた動きベクトルの差分から，動きベクトルを作成する動きベクトル作成ステップと，
分数位置の画像情報を作成する際に使用されるフィルタ係数が，予め決めた基準のフィルタ係数と異なる場合にフィルタ係数を指定する情報を復号するフィルタ係数復号ステップと，
復号したフィルタ係数と動きベクトルとを使って予測画像を作成し，予測誤差を求めて予測誤差符号化データを復号し復号画像を作成する動き補償ステップとを有する
ことを特徴とする画像復号方法。
【請求項６】
既に復号したフレームの画像情報から分数位置の画像情報を作成し，その分数位置の画像情報との間の予測誤差を用いて，現フレームを分割した領域毎の符号化データを復号する画像復号方法であって，
周囲の領域の動きベクトルから予測動きベクトルを作成する予測動きベクトル作成ステップと，
周囲の領域のフィルタ係数から，現領域のフィルタの係数の予測値である予測フィルタ係数を求めるフィルタ係数予測ステップと，
分数位置の画像情報を作成する際に使用されるフィルタ係数が，予め決めた基準のフィルタ係数と異なるかどうかと，動きベクトルと前記予測動きベクトルとの差分の値の組み合わせを復号するフィルタ係数選択動きベクトル復号ステップと，
動きベクトルと前記予測動きベクトルとの差分が０ベクトルである場合に，現領域のフィルタ係数を予測フィルタ係数と同じに設定するフィルタ係数再決定ステップと，
予測動きベクトルと，前記フィルタ係数選択動きベクトル復号ステップで求めた動きベクトルの差分から，動きベクトルを作成する動きベクトル作成ステップと，
前記フィルタ係数再決定ステップで設定したフィルタ係数と動きベクトルとを使って予測画像を作成し，予測誤差を求めて予測誤差符号化データを復号し復号画像を作成する動き補償ステップとを有する
ことを特徴とする画像復号方法。
【請求項７】
現フレームの画像を分割した領域毎に，既に符号化したフレームの画像情報から分数位置の画像情報を作成し，その分数位置の画像情報との間の予測誤差を符号化する画象符号化装置であって，
現フレームの画像を入力する画像入力部と，
分数位置の画像情報を作成するフィルタの係数を指定するフィルタ係数指定部と，
前記フィルタ係数指定部で指定されたフィルタの係数を使って分数位置の画像情報を作成し動きベクトルを探索する動き探索部と，
前記動き探索部での動き探索結果を使い，分数位置の画像情報を作成するフィルタの係数を決定するフィルタ係数決定部と，
決定されたフィルタ係数と探索された動きベクトルとを使って予測画像を作成し，予測誤差を求めて予測誤差を符号化する動き補償部と，
前記フィルタ係数決定部で決定されたフィルタ係数が，予め決めた基準のフィルタ係数と異なるかどうかと，前記動き探索部で探索された動きベクトルの値との組み合わせを符号化するフィルタ係数選択動きベクトル符号化部と，
フィルタ係数を指定する情報を符号化するフィルタ係数符号化部と，
予測誤差符号化データを復号する復号部と，
復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像符号化装置。
【請求項８】
現フレームの画像を分割した領域毎に，既に符号化したフレームの画像情報から分数位置の画像情報を作成し，その分数位置の画像情報との間の予測誤差を符号化する画像符号化装置であって，
現フレームの画像を入力する画像入力部と，
分数位置の画像情報を作成するフィルタの係数を指定するフィルタ係数指定部と，
前記フィルタ係数指定部で指定されたフィルタの係数を使って分数位置の画像情報を作成し動きベクトルを探索する動き探索部と，
前記動き探索部での動き探索結果を使い，分数位置の画像情報を作成するフィルタの係数を決定するフィルタ係数決定部と，
周囲の領域の動きベクトルから予測動きベクトルを求める予測動きベクトル作成部と，
決定されたフィルタ係数と探索された動きベクトルとを使って予測画像を作成し，予測誤差を求めて予測誤差を符号化する動き補償部と，
前記フィルタ係数決定部で決定されたフィルタ係数が，予め決めた基準のフィルタ係数と異なるかどうかと，前記動き探索部で探索された動きベクトルと前記予測動きベクトル作成部で作成された予測動きベクトルとの差分の値との組み合わせを符号化するフィルタ係数選択動きベクトル符号化部と，
フィルタ係数を指定する情報を符号化するフィルタ係数符号化部と，
予測誤差符号化データを復号する復号部と，
復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像符号化装置。
【請求項９】
現フレームの画像を分割した領域毎に，既に符号化したフレームの画像情報から分数位置の画像情報を作成し，その分数位置の画像情報との間の予測誤差を符号化する画象符号化装置であって，
現フレームの画像を入力する画像入力部と，
分数位置の画像情報を作成するフィルタの係数を指定するフィルタ係数指定部と，
前記フィルタ係数指定部で指定されたフィルタの係数を使って分数位置の画像情報を作成し動きベクトルを探索する動き探索部と，
前記動き探索部での動き探索結果を使い，分数位置の画像情報を作成するフィルタの係数を決定するフィルタ係数決定部と，
周囲の領域の動きベクトルから予測動きベクトルを求める予測動きベクトル作成部と，
周囲の領域のフィルタ係数から，現領域のフィルタの係数の予測値である予測フィルタ係数を求めるフィルタ係数予測部と，
前記動き探索部で探索された動きベクトルと前記予測動きベクトル作成部で作成された予測動きベクトルとの差分の値が０かどうかを判断し，０の場合に，現領域のフィルタ係数を予測フィルタ係数と同じに設定するフィルタ係数再決定部と，
決定したフィルタ係数と動きベクトルとを使って予測画像を作成し，予測誤差を求めて予測誤差を符号化する動き補償部と，
前記動き探索部で探索された動きベクトルと前記予測動きベクトル作成部で作成された予測動きベクトルとの差分を符号化する動きベクトル符号化部と，
予測誤差符号化データを復号する復号部と，
復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像符号化装置。
【請求項１０】
既に復号したフレームの画像情報から分数位置の画像情報を作成し，その分数位置の画像情報との間の予測誤差を用いて，現フレームを分割した画像の領域毎の符号化データを復号する画像復号装置であって，
分数位置の画像情報を作成する際に使用されるフィルタ係数が，予め決めた基準のフィルタ係数と異なるかどうかと，動きベクトルの値の組み合わせを復号するフィルタ係数選択動きベクトル復号部と，
フィルタ係数を指定する情報を復号するフィルタ係数復号部と，
フィルタ係数と動きベクトルとを使って予測画像を作成し，予測誤差を求めて予測誤差符号化データを復号し復号画像を作成する動き補償部と，
復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像復号装置。
【請求項１１】
既に復号したフレームの画像情報から分数位置の画像情報を作成し，その分数位置の画像情報との間の予測誤差を用いて，現フレームを分割した領域毎の符号化データを復号する画像復号装置であって，
周囲の領域の動きベクトルから予測動きベクトルを作成する予測動きベクトル作成部と，
分数位置の画像情報を作成する際に使用されるフィルタ係数が，予め決めた基準のフィルタ係数と異なるかどうかと，動きベクトルと前記予測動きベクトルとの差分の値の組み合わせを復号するフィルタ係数選択動きベクトル復号部と，
予測動きベクトルと，前記フィルタ係数選択動きベクトル復号部で求めた動きベクトルの差分から，動きベクトルを作成する動きベクトル作成部と，
フィルタ係数を指定する情報を復号するフィルタ係数復号部と，
フィルタ係数と動きベクトルとを使って予測画像を作成し，予測誤差を求めて予測誤差符号化データを復号し復号画像を作成する動き補償部と，
復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像復号装置。
【請求項１２】
既に復号したフレームの画像情報から分数位置の画像情報を作成し，その分数位置の画像情報との間の予測誤差を用いて，現フレームの画像を分割した領域毎の符号化データを復号する画像復号装置であって，
周囲の領域の動きベクトルから予測動きベクトルを作成する予測動きベクトル作成部と，
分数位置の画像情報を作成する際に使用されるフィルタ係数が，予め決めた基準のフィルタ係数と異なるかどうかと，動きベクトルと前記予測動きベクトルとの差分の値の組み合わせを復号するフィルタ係数選択動きベクトル復号部と，
動きベクトルと前記予測動きベクトルとの差分が０ベクトルの場合に，周囲の領域のフィルタ係数から，現領域のフィルタの係数の予測値である予測フィルタ係数を求めるフィルタ係数予測部と，
フィルタ係数と動きベクトルとを使って予測画像を作成し，予測誤差を求めて予測誤差符号化データを復号して復号画像を作成する動き補償部と，
復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像復号装置。
【請求項１３】
請求項１ないし請求項３のいずれか１項に記載の画像符号化方法をコンピュータに実行させるための画像符号化プログラム。
【請求項１４】
請求項４ないし請求項６のいずれか１項に記載の画像復号方法をコンピュータに実行させるための画像復号プログラム。
【請求項１５】
請求項１ないし請求項３のいずれか１項に記載の画像符号化方法をコンピュータに実行させるための画像符号化プログラムを記録した記録媒体。
【請求項１６】
請求項４ないし請求項６のいずれか１項に記載の画像復号方法をコンピュータに実行させるための画像復号プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，動画像符号化，復号に関する技術であり，特に画面を分割した領域毎に分数位置の画像情報を作成するフィルタの係数を予め設定した基準の値にするのか変更するのかを示す情報と動きベクトル情報の組み合わせを符号化することにより，符号化効率を向上することを可能とした画像符号化方法，画像復号方法，画像符号化装置および画像復号装置に関する。
【０００２】
【従来の技術】
動き補償符号化方法では，マクロブロック（以下ではＭＢと書く）やブロック等の領域毎に，参照フレーム内画像情報から予測画像を作成し，現フレームの画像との間で差分（予測誤差）を符号化する。一般的に通常の動き補償では，現フレームの領域の位置と予測画像の位置との差分は領域全体の平行移動量（ｘ，ｙ）であり，これを動きベクトルと呼ぶ。予測画像の探索手法としては一般的にブロックマッチング方法が用いられる。
【０００３】
ブロックマッチングでは，符号化対象の領域を中心とした正方形の探索範囲（サーチウィンドウ）を参照フレーム内に設定し，現フレームの領域内画素とサーチウィンドウ内の画素との間の画像情報の差分が最も小さくなる位置を，サーチウィンドウ内で探索する。この差分の計算方法は，絶対値差分和や平均２乗誤差などが用いられる。ブロックマッチングの概念図を図１４に示す。絶対値差分和Ｗ（ｘ，ｙ）の計算方法を式（１）に示す。この差分が小さいほど，予測誤差も少なくなり符号化効率が高くなる。
【０００４】
【数１】
2004165785.tif 000003
【０００５】
ブロックサイズがＮ×Ｎ画素であり，（ｉ，ｊ）はブロック内の画素位置，ｆ（ａ，ｂ，ｃ）はフレームｃ内の符号化対象ブロックにおける画素位置（ａ，ｂ）の画素値を表している。
【０００６】
動きベクトルは，整数精度または分数精度または実数精度のいずれでも表現することが可能である。分数精度や実数精度では，実際には画素の無い位置の画像情報を作る必要がある。分数精度と実数精度の場合には，対応する位置の画像情報を周囲の整数位置の画素の画像情報から求める。例えば，実数精度で周囲４画素からの線形補間によって求める場合で，図１５に示すような左上の画素から（ａ，ｂ）の位置の画像情報を求める場合には，式（２）により求める。実数精度は，任意の位置の画像情報を作ることができるが，符号化側と復号側で演算精度が異なる場合があるため，復号側で正確に復号できない場合がある。
【０００７】
【数２】
2004165785.tif 000004
【０００８】
整数位置の画素の画像情報から，実数精度または分数精度の画像情報を求める方法として，線形補間以外の方法によって分数位置の画像情報を作り，その後で整数位置と分数位置の画像情報を使って平行移動位置の画像情報を求めることも可能である。例えば周囲の複数画素から１／２精度の位置の画像情報をタップ数の長いフィルタによって求め，続いて１／４精度や１／８精度の位置の画像情報を整数精度と１／２精度の画像情報から線形補間によって求めることも可能である。
【０００９】
まず，横方向にタップ数ＭのフィルタをＭ個の整数画素位置の画像情報に適用して横方向１／２精度の位置の画像情報を作成する。次に縦方向にタップ数ＮのフィルタをＮ個の整数画素位置の画像情報またはＮ個の１／２精度位置の画像情報に適用して縦方向１／２精度の位置の画像情報を作成する。タップ数６のフィルタの係数は，例えば
（１／３２，−５／３２，２０／３２，２０／３２，−５／３２，１／３２）となる。フィルタの係数は対称であっても非対称であってもよい。
【００１０】
タップ数が４の場合の１／２精度の画像情報を求めるフィルタ方法の例を図１６（Ａ）および図１６（Ｂ）に示す。１／４精度や１／８精度の位置の画像情報も線形補間ではなく，フィルタ方法を適用して求めてもよい。また，１／２精度の位置の画像情報から求めるのではなく，整数位置から非対称フィルタ係数のフィルタを用いて直接求めてもよい。
【００１１】
図１７は，現マクロブロックと周囲のマクロブロックの位置関係を示す図である。現領域の動きベクトル（ｘ，ｙ）に対して，周囲の領域の動きベクトルから予測したベクトルからの差分を求め，この差分情報をエントロピー符号化する。例えば現マクロブロックＭＶｃの領域と周囲のマクロブロックＭＶ１，ＭＶ２，ＭＶ３の領域が図１７に示す位置関係にある場合に，周囲の領域の動きベクトルが（ｘ１，ｙ１），（ｘ２，ｙ２），（ｘ３，ｙ３）であり，予測ベクトルを（ｐｘ，ｐｙ）とすると，ｐｘをｘ１，ｘ２，ｘ３のうちの中間値に設定し，ｐｙをｙ１，ｙ２，ｙ３のうちの中間値に設定する。
【００１２】
動きベクトルの差分をルックアップテーブルを使って可変長符号化する際のテーブルの例を図１８に示す。
【００１３】
なお，フレームまたはマクロブロック単位に，フィルタ係数を適応的に変更することにより，予測誤差を低減する方法として，下記の非特許文献１，２に記載されている方法が，従来提案されている。これらの方法には，フレーム全体またはマクロブロック全体のフィルタ係数を変更してしまうため，各ブロックにフィルタ係数を最適化できないという問題がある。また，フィルタ係数を指定する情報のオーバーヘッドを軽減する手法が取り入れられていないといった課題がある。
【００１４】
【非特許文献１】
Ｔ．Ｗｅｄｉ，  ”Ａｄａｐｔｉｖｅ  Ｉｎｔｅｒｐｏｌａｔｉｏｎ  Ｆｉｌｔｅｒ  ｆｏｒ  Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｅｄ  Ｈｙｂｒｉｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ”，  Ｐｉｃｔｕｒｅ  Ｃｏｄｉｎｇ  Ｓｙｍｐｏｓｉｕｍ（ＰＣＳ  ２００１），  ２００１．
【非特許文献２】
Ｋｅｉ−ｉｃｈｉ  Ｃｈｏｎｏ  ａｎｄ  Ｙｏｓｈｉｈｉｒｏ  Ｍｉｙａｍｏｔｏ，  ”Ｍｏｄｉｆｉｅｄ  Ａｄａｐｔｉｖｅ  Ｉｎｔｅｒｐｏｌａｔｉｏｎ  Ｆｉｌｔｅｒ”，  ＪＶＴ−Ｄ０７８，  Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）  ｏｆ  ＩＳＯ／ＩＥＣ  ＭＰＥＧ  ＆  ＩＴＵ−Ｔ  ＶＣＥＧ  Ｍｅｅｔｉｎｇ，２００２．
【００１５】
【発明が解決しようとする課題】
画面を領域に分割して符号化する場合，１／２精度などの分数位置の画像情報をフィルタ方法で作成する際に，領域毎にフィルタの係数を変更すると，より予測誤差の少ない予測画像を作成することが可能である。そこでフィルタの係数を領域毎に符号化する方法も考えられるが，フィルタを変更することによる予測誤差の低減が少ない場合には，すべての領域に対してフィルタの係数を符号化すると，かえって符号量が増えてしまう。
【００１６】
本発明は上記問題点の解決を図り，動き補償の内挿フィルタをブロック毎に変更可能にするとともに，そのフィルタ係数を指定する情報のオーバーヘッドを軽減し，画像符号化における符号量の削減を可能とすることを目的とする。
【００１７】
【課題を解決するための手段】
以上の課題を解決するため，本発明は以下の方法を用いる。
【００１８】
第１の発明は，現フレームの画像を分割した領域（以後，現領域と呼ぶ）毎に，既に符号化したフレームの画像情報から分数位置の画像情報を作成し，その分数位置の画像情報との間の予測誤差を符号化する画像符号化方法であって，分数位置の画像情報を作成するフィルタの係数を決定し，動きベクトルを探索する動き探索ステップと，前記動き探索ステップで決定したフィルタ係数と動きベクトルを使って予測画像を作成し，予測誤差を求めて予測誤差を符号化する動き補償ステップと，前記動き探索ステップで決定したフィルタ係数が，予め決めた基準のフィルタ係数と異なるかどうかと，探索された動きベクトルの値の組み合わせを符号化するフィルタ係数選択動きベクトル符号化ステップと，前記動き探索ステップで決定したフィルタ係数が，予め決めた基準のフィルタ係数と異なる場合にフィルタ係数を指定する情報を符号化するフィルタ係数符号化ステップとを有することを特徴とする。
【００１９】
第１の発明によれば，動き補償において分数位置の画像情報を作成するフィルタの係数を，予め設定した基準のものにするのか変更するのかを示す情報と，動きベクトル情報の組み合わせを可変長符号化できる。
【００２０】
係数を変更した個々のフィルタに関してはフィルタの係数を基準から変更することによる予測誤差の低減が少ないが，係数を変更したフィルタの総発生頻度が係数を変更しないフィルタの発生頻度と同じ程度になる場合に，一つの動きベクトルの値に対して，フィルタの係数を変更しない場合の発生頻度と変更した場合の発生頻度が同じ程度になる。
【００２１】
他方，動きベクトルの値の発生頻度は絶対値が大きくなるにつれて減少する傾向にある。従って，ある動きベクトルの値を持ちフィルタの係数を変更した場合の発生頻度は，その動きベクトルよりも大きな値の動きベクトルでありフィルタの係数を変更しない場合の発生頻度よりも多くなる。
【００２２】
そこで，フィルタの係数を予め設定した基準のものにするのか変更するのかを示す情報と，動きベクトル情報の組み合わせに対して可変長符号を割り当てる方法において，ある動きベクトルの値を持ちフィルタの係数を変更した場合の符号長を，その動きベクトルよりも大きな値の動きベクトルでありフィルタの係数を変更しない場合の符号長よりも短くするようにすれば，組み合わせの発生頻度が大きいほど符号長が短くなるテーブルを作成することができる。これにより，動きベクトルの値が小さくフィルタの係数を変更しない場合の符号量を，動きベクトルとフィルタの係数を個別に符号化する場合よりも，小さくすることができる。
【００２３】
第２の発明は，現フレームの画像を分割した領域（以後，現領域と呼ぶ）毎に，既に符号化したフレームの画像情報から分数位置の画像情報を作成し，その分数位置の画像情報との間の予測誤差を符号化する画像符号化方法であって，分数位置の画像情報を作成するフィルタの係数を決定し，動きベクトルを探索する動き探索ステップと，周囲の領域の動きベクトルから予測動きベクトルを求め，求めた予測動きベクトルと，前記動き探索ステップで探索した動きベクトルの差分を求める動きベクトル差分作成ステップと，前記動き探索ステップで決定したフィルタ係数と動きベクトルを使って予測画像を作成し，予測誤差を求めて予測誤差を符号化する動き補償ステップと，前記動き探索ステップで決定したフィルタ係数が，予め決めた基準のフィルタ係数と異なるかどうかと，動きベクトルの差分の値の組み合わせを符号化するフィルタ係数選択動きベクトル符号化ステップと，前記動き探索ステップで決定したフィルタ係数が，予め決めた基準のフィルタ係数と異なる場合にフィルタ係数を指定する情報を符号化するフィルタ係数符号化ステップとを有することを特徴とする。
【００２４】
第２の発明によれば，第１の発明のように動きベクトル自体を符号化する場合ではなく，周囲の既に符号化した領域の動きベクトルから予測される予測動きべクトルと現領域の動きベクトルの差分を符号化する場合において，動きベクトルの差分の値が小さくフィルタの係数を変更しない場合の符号量を，動きベクトルの差分とフィルタの係数を個別に符号化する場合よりも，小さくすることができる。
【００２５】
第３の発明は，現フレームの画像を分割した領域（以後，現領域と呼ぶ）毎に，既に符号化したフレームの画像情報から分数位置の画像情報を作成し，その分数位置の画像情報との間の予測誤差を符号化する画像符号化方法であって，分数位置の画像情報を作成するフィルタの係数を決定し，動きベクトルを探索する動き探索ステップと，周囲の領域の動きベクトルから予測動きベクトルを求め，求めた予測動きベクトルと，前記動き探索ステップで探索した動きベクトルの差分を求める動きベクトル差分作成ステップと，周囲の領域のフィルタ係数から，現領域のフィルタの係数の予測値（予測フィルタ係数）を求めるフィルタ係数予測ステップとを有し，前記動きベクトル差分作成ステップで作成した動きベクトル差分の値が０である場合に，現領域のフィルタ係数を予測フィルタ係数と同じに設定するフィルタ係数再決定ステップと，決定したフィルタ係数と動きベクトルを使って予測画像を作成し予測誤差を求めて予測誤差を符号化する動き補償ステップと，動きベクトルの差分（０ベクトル）を符号化する動きベクトル符号化ステップとを有することを特徴とする。
【００２６】
第３の発明によれば，周囲の既に符号化した領域の動きベクトルから予測される予測ベクトルと現領域の動きベクトルの差分を符号化する場合において，差分が０べクトルとなる場合のフィルタの係数を，既に符号化した周囲の領域のフィルタの係数から予測することにより，フィルタの係数を符号化することによる符号量の増加を避けることができる。差分が０ベクトルとなるような領域は周囲の領域と同じ動きをしていると考えられるため，フィルタ係数も同じものになる頻度が高くなる。
【００２７】
【発明の実施の形態】
図面を用いて本発明の実施の形態を説明する。
【００２８】
〔第１の実施の形態〕
第１の実施の形態では，１／２位置の画像情報を６タップのフィルタで作成し，１／４位置の画像情報をｌ／２位置または整数位置の画像情報から作成するものとする。１／２位置の画像情報を作成するフィルタの係数を基準のものから変更するかどうかを示す情報と，動きベクトルの値との組み合わせを可変長符号化する方法の例を示す。入力画像をマクロブロック毎に符号化するものとする。
【００２９】
図１に本発明の第１の実施の形態に係る画像符号化装置の概要を示す。この画像符号化装置１は，現フレームの画像を入力する画像入力部１１と，１／２位置の画像情報を作成するフィルタの係数を指定するフィルタ係数指定部１５と，フィルタ係数指定部１５で指定されたフィルタの係数を使って１／２位置の画像情報を作成し動きベクトルを探索する動き探索部１６と，動き探索部１６での動き探索結果を使い，１／２位置の画像情報を作成するフィルタの係数を決定するフィルタ係数決定部１７と，決定されたフィルタ係数と探索された動きベクトルを使って予測画像を作成し予測誤差を求めて予測誤差を符号化する動き補償部１２と，フィルタ係数決定部１７で決定されたフィルタ係数が，予め決めた基準のフィルタ係数と異なるかどうかと，動き探索部１６で探索された動きベクトルの値との組み合わせを符号化するフィルタ係数選択動きベクトル符号化部１８と，フィルタ係数を指定する情報を符号化するフィルタ係数符号化部１９と，予測誤差符号化データを復号する復号部１３と，復号画像を蓄積する参照画像メモリ１４とを備える。
【００３０】
フィルタ係数指定部１５で指定するフィルタ係数のうち，基準フィルタのフィルタ係数を，
（１／３２，−５／３２，２０／３２，２０／３２，−５／３２，１／３２）とする。これを係数０と呼ぶこととする。
【００３１】
その他，係数１として，
（ｌ／３２，−５／３２，２７／３２，１２／３２，−４／３２，１／３２）を指定し，係数２として，
（１／３２，−４／３２，１２／３２，２７／３２，−５／３２，１／３２）を指定するものとする。
【００３２】
フィルタ係数指定部１５は，まず横方向のフィルタ係数を固定して，縦方向のフィルタ係数を係数０，係数１，係数２に順に変更して指定する。その後，横方向のフィルタ係数を変更して固定し，縦方向のフィルタ係数を変更して指定する。動き探索部１６は，指定されたフィルタ係数を使い動き探索を行う。動き探索部１６では，差分の評価尺度として絶対値差分和に動きベクトルの符号量を加えた差分評価値Ｗｍを使うものとする。
【００３３】
Ｗｍの計算式を式（３）に示す。Ｎｍｖ（ｘ，ｙ）は動きベクトル（ｘ，ｙ）の符号量である。
【００３４】
【数３】
2004165785.tif 000005
【００３５】
動き探索部１６では，フィルタ係数指定部１５で指定される各フィルタ係数に対する動きベクトルを求める。横方向フィルタ係数が係数ｉ，縦方向のフィルタ係数が係数ｊの場合に，探索で得られた差分評価値ＷｍをＷｍｉｊと書くこととする。その後，フィルタ係数決定部１７は，各フィルタ係数に対する動き探索結果Ｗｍの値を比較し，最も値の小さい場合のフィルタ係数を，そのマクロブロックのフィルタ係数に決定する。また，そのときの動きベクトルをそのマクロブロックの動きベクトルとする。
【００３６】
フィルタ係数選択動きベクトル符号化部１８は，フィルタ係数決定部１７で決定されたフィルタ係数が，予め決めた基準のフィルタ係数（係数０）と異なるかどうかを示す情報と，動き探索部１６で探索された動きベクトルの値との組み合わせに対して，図２に示すルックアップテーブルを使い可変長符号化するものとする。フィルタ係数符号化部１９は，フィルタ係数を示す情報を，横方向フィルタ縦方向フィルタの順に，図３に示すルックアップテーブルを使って可変長符号化するものとする。
【００３７】
図２のルックアップテーブルによれば，０ベクトルで基準フィルタ係数を使用する場合の符号量は１ビットとなり，フィルタ係数の変更の有無を符号化するに当り発生する符号量の増加を０ベクトルに関して避けることができる。
【００３８】
このような前提で現画像をマクロブロック単位に次のように符号化する。まず，画像入力部１１は現フレームの画像を入力する。フィルタ係数指定部１５は，横方向フィルタ係数に係数０を縦方向フィルタ係数に係数０を指定する。動き探索部１６は，指定されたフィルタ係数を使って１／２位置の画像情報を作成しながら，１／４位置まで動き探索を行い，Ｗｍ００と対応する動きベクトルを求める。このような処理を，フィルタ係数指定部１５がフィルタの係数を変更しながら，全てのフィルタの係数のパターンについて行い，Ｗｍ００，Ｗｍ０１，Ｗｍ０２，Ｗｍ１０，Ｗｍ１１，Ｗｍ１２，Ｗｍ２０，Ｗｍ２１，Ｗｍ２２と，それに対応する動きベクトルを求める。
【００３９】
フィルタ係数決定部１７は，Ｗｍ００，Ｗｍ０１，Ｗｍ０２，Ｗｍ１０，Ｗｍｌ１，Ｗｍ１２，Ｗｍ２０，Ｗｍ２１，Ｗｍ２２のうち，値が最も小さい場合のフィルタ係数を，そのマクロブロックのフィルタ係数に決定する。フィルタ係数選択動きベクトル符号化部１８は，まず横方向に関して，この時のフィルタ係数が係数０であった場合には，フィルタ係数の変更が無しとして，動きベクトルの横方向の値を符号化する。フィルタ係数が係数０でない場合には，フィルタ係数の変更が有りとして，動きベクトルの横方向の値を符号化する。
【００４０】
縦方向動きベクトルも同様に符号化する。フィルタ係数符号化部１９は，横方向フィルタ係数が係数０でない場合に横方向フィルタ係数を符号化し，更に縦方向フィルタ係数が係数０でない場合に縦方向フィルタ係数を符号化する。動き補償部１２は，フィルタ係数決定部１７で決定されたフィルタ係数を使って動き補償を行い，現マクロブロックの画像情報を符号化する。復号部１３は，符号化データを復号し復号画像を作成し，参照画像メモリに蓄積する。以上の手順をすべてのマクロブロックに対して繰り返し処理する。
【００４１】
図４は，本発明の第１の実施の形態に係る画像復号装置の概要を示す図である。この画像復号装置２は，１／２位置の画像情報を作成する際に使用されるフィルタ係数が，予め決めた基準のフィルタ係数（係数０）と異なるかどうかと，動きベクトルの値の組み合わせを復号するフィルタ係数選択動きベクトル復号部２１と，フィルタ係数を指定する情報を復号するフィルタ係数復号部２２と，フィルタ係数と動きベクトルを使って予測画像を作成し予測誤差を求めて予測誤差符号化データを復号し復号画像を作成する動き補償部２３と，復号画像を蓄積する参照画像メモリ２４とを備える。
【００４２】
上記の画像符号化装置１で得られた符号化データを復号する手順を示す。符号化データは，マクロブロック毎に次のように復号される。フィルタ係数選択動きベクトル復号部２１は，まず横方向に関して，符号化データの中から図２に示したルックアップテーブルを使って，フィルタ係数が係数０と異なるかどうかと，動きベクトルの値の組み合わせを復号する。フィルタ係数が係数０と異なる場合には，フィルタ係数復号部２２は，横方向フィルタ係数を復号する。次にフィルタ係数選択動きベクトル復号部２１は，縦方向に関して，フィルタ係数が係数０と異なるかどうかと，動きベクトルの値の組み合わせを復号する。フィルタ係数が係数０と異なる場合には，フィルタ係数復号部２２は，縦方向フィルタ係数を復号する。
【００４３】
動き補償部２３は，フィルタ係数復号部２２で復号されたフィルタ係数を使って動き補償を行い，符号化データを復号して復号画像を作成し，参照画像メモリ２４に蓄積する。なおフィルタ係数復号部２２でフィルタ係数を復号しない場合には，フィルタ係数を係数０に設定して動き補償を行う。以上の手順をすべてのマクロブロックに対して繰り返し処理する。
【００４４】
〔第２の実施の形態〕
次に，第２の実施の形態として，動きベクトル符号化部が，動きベクトル自体ではなく予測動きベクトルとの差分を符号化する場合の例を示す。また１／２位置の画像情報を６タップのフィルタで作成した後，１／４位置と１／８位置の画像情報を線形補間により作成するものとする。
【００４５】
図５は，第２の実施の形態に係る画像符号化装置の概要を示す図である。この画像符号化装置３は，現フレームの画像を入力する画像入力部３１と，１／２位置の画像情報を作成するフィルタの係数を指定するフィルタ係数指定部３５と，フィルタ係数指定部３５で指定されたフィルタの係数を使って１／２位置の画像情報を作成し動きベクトルを探索する動き探索部３６と，動き探索部３６での動き探索結果を使い，１／２位置の画像情報を作成するフィルタの係数を決定するフィルタ係数決定部３７と，決定されたフィルタ係数と探索された動きベクトルを使って予測画像を作成し予測誤差を求めて予測誤差を符号化する動き補償部３２と，周囲のマクロブロックの動きベクトルから予測動きベクトルを求める予測動きベクトル作成部３０１と，フィルタ係数決定部３７で決定されたフィルタ係数が，予め決めた基準のフィルタ係数と異なるかどうかと，動き探索部３６で探索された動きベクトルと予測動きベクトル作成部３０１で作成された予測動きベクトルとの間の差分との組み合わせを符号化するフィルタ係数選択動きベクトル符号化部３８と，フィルタ係数を指定する情報を符号化するフィルタ係数符号化部３９と，予測誤差符号化データを復号する復号部３３と，復号画像を蓄積する参照画像メモリ３４とを備える。
【００４６】
フィルタ係数指定部３５と動き探索部３６とフィルタ係数符号化部３９の動作は，第１の実施の形態と同様である。フィルタ係数選択動きベクトル符号化部３８は，フィルタ係数決定部３７で決定されたフィルタ係数が，予め決めた基準のフィルタ係数（係数０）と異なるかどうかを示す情報と，動き探索部３６で探索された動きベクトルと予測動きベクトルとの間の差分との組み合わせに対して，図６に示すルックアップテーブルを使い可変長符号化するものとする。ここで予測動きベクトルは，図１７に示す位置の３つのマクロブロックＭＶ１，ＭＶ２，ＭＶ３の動きベクトルのうち，中間のものを予測動きベクトルに選択するものとする。
【００４７】
このような前提で現画像をマクロブロック単位に次のように符号化する。まず画像入力部３１は現フレームの画像を入力する。予測動きベクトル作成部３０１は，予測動きべクトルを作成する。フィルタ係数指定部３５は，横方向フィルタ係数に係数０を縦方向フィルタ係数に係数０を指定する。動き探索部３６は，指定されたフィルタ係数を使って１／２位置の画像情報を作成しながら１／８位置まで動き探索を行い，Ｗｍ００と対応する動きベクトルを求める。
【００４８】
このような処理を，フィルタ係数指定部３５がフィルタの係数を変更しながら，全てのフィルタの係数のパターンについて行い，Ｗｍ００，Ｗｍ０１，Ｗｍ０２，Ｗｍ１０，Ｗｍ１１，Ｗｍ１２，Ｗｍ２０，Ｗｍ２１，Ｗｍ２２と，それに対応する動きベクトルを求める。フィルタ係数決定部３７は，Ｗｍ００，Ｗｍ０１，Ｗｍ０２，Ｗｍ１０，Ｗｍ１１，Ｗｍ１２，Ｗｍ２０，Ｗｍ２１，Ｗｍ２２のうち，値が最も小さい場合のフィルタ係数を，そのマクロブロックのフィルタ係数に決定する。
【００４９】
フィルタ係数選択動きベクトル符号化部３８は，まず横方向に関して，この時のフィルタ係数が係数０であった場合には，フィルタ係数の変更が無しとして，探索された動きベクトルと予測動きベクトルの差分の横方向成分の値を符号化する。フィルタ係数が係数０でない場合には，フィルタ係数の変更が有りとして，探索された動きベクトルと予測動きベクトルの差分の横方向成分の値を符号化する。縦方向動きベクトルも同様に符号化する。フィルタ係数符号化部３９は，横方向フィルタ係数が係数０でない場合に横方向フィルタ係数を符号化し，更に縦方向フィルタ係数が係数０でない場合に縦方向フィルタ係数を符号化する。
【００５０】
動き補償部３２は，フィルタ係数決定部３７で決定されたフィルタ係数を使って動き補償を行い現マクロブロックの画像情報を符号化する。復号部３３は符号化データを復号し復号画像を作成し，参照画像メモリ３４に蓄積する。以上の手順をすべてのマクロブロックに対して繰り返し処理する。
【００５１】
図７は，本発明の第２の実施の形態に係る画像復号装置の概要を示す図である。この画像復号装置４は，周囲のマクロブロックの動きべクトルから予測動きベクトルを求める予測動きベクトル作成部４５と，１／２位置の画像情報を作成する際に使用されるフィルタ係数が，予め決めた基準のフィルタ係数（係数０）と異なるかどうかと，動きベクトルと予測動きベクトルとの間の差分の値の組み合わせを復号するフィルタ係数選択動きベクトル復号部４１と，フィルタ係数を指定する情報を復号するフィルタ係数復号部４２と，フィルタ係数と動きベクトルを使って予測画像を作成し予測誤差を求めて予測誤差符号化データを復号し復号画像を作成する動き補償部４３と，復号画像を蓄積する参照画像メモリ４４とを備える。
【００５２】
上記の画像符号化装置３で得られた符号化データを復号する手順を示す。符号化データは，マクロブロック毎に次のように復号される。予測動きベクトル作成部４５は予測動きベクトルを作成する。フィルタ係数選択動きベクトル復号部４１は，まず横方向に関して，符号化データの中から図６に示したルックアップテーブルを使って，フィルタ係数が係数０と異なるかどうかと，動きベクトルと予測動きベクトルとの間の差分の値の組み合わせを復号する。フィルタ係数が係数０と異なる場合には，フィルタ係数復号部４２は，横方向フィルタ係数を復号する。次にフィルタ係数選択動きベクトル復号部４１は，縦方向に関して，フィルタ係数が係数０と異なるかどうかと，動きベクトルと予測動きベクトルとの間の差分の値の組み合わせを復号する。フィルタ係数が係数０と異なる場合には，フィルタ係数復号部４２は，縦方向フィルタ係数を復号する。
【００５３】
動き補償部４３は，フィルタ係数復号部４２で復号されたフィルタ係数を使って動き補償を行い，符号化データを復号して復号画像を作成し，参照画像メモリ４４に蓄積する。なおフィルタ係数復号部４２でフィルタ係数を復号しない場合には，フィルタ係数を係数０に設定して動き補償を行う。以上の手順をすべてのマクロブロックに対して繰り返し処理する。
【００５４】
〔第３の実施の形態〕
次に，第３の実施の形態として，動きベクトル符号化部が，動きベクトル自体ではなく予測動きベクトルとの差分を符号化する場合の例を示す。また１／２位置の画像情報を６タップのフィルタで作成した後，１／４位置と１／８位置の画像情報を線形補間により作成するものとする。
【００５５】
図８は，本発明の第３の実施の形態に係る画像符号化装置の概要を示す図である。この画像符号化装置５は，現フレームの画像を入力する画像入力部５１と，１／２位置の画像情報を作成するフィルタの係数を指定するフィルタ係数指定部５５と，フィルタ係数指定部５５で指定されたフィルタの係数を使って１／２位置の画像情報を作成し動きベクトルを探索する動き探索部５６と，動き探索部５６での動き探索結果を使い，１／２位置の画像情報を作成するフィルタの係数を決定するフィルタ係数決定部５７と，周囲のマクロブロックの動きベクトルから予測動きベクトルを求める予測動きベクトル作成部５０１と，周囲のマクロブロックのフィルタ係数から，現マクロブロックのフィルタの係数の予測値（予測フィルタ係数）を求めるフィルタ係数予測部５０２と，動き探索部５６で探索された動きベクトルと予測動きベクトル作成部５０１で作成された予測動きベクトルとの差分の値が０かどうかを判断し，０の場合に，現マクロブロックのフィルタ係数を予測フィルタ係数と同じに設定するフィルタ係数再決定部５０３と，決定したフィルタ係数と動きベクトルを使って予測画像を作成し予測誤差を求めて予測誤差を符号化する動き補償部５２と，決定されたフィルタ係数が予め決めた基準のフィルタ係数と異なるかどうかと，動き探索部５６で探索された動きベクトルと予測動きベクトル作成部５０１で作成された予測動きベクトルとの間の差分との組み合わせを符号化するフィルタ係数選択動きベクトル符号化部５８と，動き探索部５６で探索された動きベクトルと予測動きベクトル作成部５０１で作成された予測動きベクトルとの差分を符号化する動きベクトル符号化部５０４と，予測誤差符号化データを復号する復号部５３と，復号画像を蓄積する参照画像メモリ５４とを備える。
【００５６】
フィルタ係数指定部５５と動き探索部５６とフィルタ係数符号化部５９の動作は第１の実施の形態と同様である。フィルタ係数再決定部５０３でフィルタ係数を再度決定する場合には，動きベクトルと予測動きベクトルとの差分の値を動きベクトル符号化部５０４で符号化する。ここで動きベクトル符号化部５０４は０ベクトルをビット０として符号化するものとする。
【００５７】
フィルタ係数再決定部５０３でフィルタ係数を再度決定しない場合には，フィルタ係数選択動きベクトル符号化部５８は，フィルタ係数決定部５７で決定されたフィルタ係数が，予め決めた基準のフィルタ係数（係数０）と異なるかどうかを示す情報と，動き探索部５６で探索された動きベクトルと予測動きベクトルとの間の差分との組み合わせに対して，図９に示すルックアップテーブルを使い可変長符号化するものとする。ここで予測動きベクトルは，図１７に示す位置の３つのマクロブロックＭＶ１，ＭＶ２，ＭＶ３の動きベクトルのうち，中間のものを予測動きベクトルに選択するものとする。
【００５８】
また，フィルタ係数予測部５０２は，図１７に示す位置の３つのマクロブロックＭＶ１，ＭＶ２，ＭＶ３のフィルタ係数のうち，最も多く採用されているフィルタ係数を予測フィルタ係数とする。すべてが同じ頻度で採用されている場合には，係数０のフィルタを予測フィルタ係数とする。
【００５９】
このような前提で現画像をマクロブロック単位に次のように符号化する。まず画像入力部５１は，現フレームの画像を入力する。予測動きベクトル作成部５０１は，予測動きべクトルを作成する。フィルタ係数指定部５５は，横方向フィルタ係数に係数０を縦方向フィルタ係数に係数０を指定する。動き探索部５６は，指定されたフィルタ係数を使って１／２位置の画像情報を作成しながら１／８位置まで動き探索を行い，Ｗｍ００と対応する動きベクトルを求める。
【００６０】
このような処理を，フィルタ係数指定部５５がフィルタの係数を変更しながら，全てのフィルタの係数のパターンについて行い，Ｗｍ００，Ｗｍ０１，Ｗｍ０２，Ｗｍ１０，Ｗｍ１１，Ｗｍ１２，Ｗｍ２０，Ｗｍ２１，Ｗｍ２２と，それに対応する動きベクトルを求める。フィルタ係数決定部５７は，Ｗｍ００，Ｗｍ０１，Ｗｍ０２，Ｗｍ１０，Ｗｍ１１，Ｗｍ１２，Ｗｍ２０，Ｗｍ２１，Ｗｍ２２のうち，値が最も小さい場合のフィルタ係数を，そのマクロブロックのフィルタ係数に決定する。
【００６１】
ここで，まず横方向に関して，探索された動きベクトルと予測動きベクトルの差分の横方向成分の値が０である場合には，フィルタ係数予測部５０２は周囲のマクロブロックのフィルタ係数からフィルタ係数を予測し，フィルタ係数再決定部５０３はフィルタの係数を予測したフィルタの係数に設定する。動き補償部５２は，フィルタ係数再決定部５０３で決定されたフィルタ係数を使って動き補償を行い現マクロブロックの画像情報を符号化する。
【００６２】
動きベクトル符号化部５０４は探索された動きベクトルと予測動きベクトルの差分の横方向成分の値を符号化する。復号部５３は符号化データを復号し復号画像を作成し，参照画像メモリ５４に蓄積する。探索された動きベクトルと予測動きベクトルの差分の横方向成分の値が０でない場合には，フィルタ係数選択動きベクトル符号化部５８は，まず横方向に関して，この時のフィルタ係数が係数０であった場合には，フィルタ係数の変更が無しとして，探索された動きベクトルと予測動きベクトルの差分の横方向成分の値を符号化する。
【００６３】
フィルタ係数が係数０でない場合には，フィルタ係数の変更が有りとして，探索された動きベクトルと予測動きベクトルの差分の横方向成分の値を符号化する。フィルタ係数符号化部５９は，横方向フィルタ係数が係数０でない場合に横方向フィルタ係数を符号化し，動き補償部５２は，フィルタ係数決定部５７で決定されたフィルタ係数を使って動き補償を行い現マクロブロックの画像情報を符号化する。復号部５３は符号化データを復号し復号画像を作成し，参照画像メモリ５４に蓄積する。
【００６４】
続いて縦方向に関しても同様に，縦方向の動きベクトルの差分とフィルタ係数を符号化する。以上の手順をすべてのマクロブロックに対して繰り返し処理する。
【００６５】
図１０は，本発明の第３の実施の形態に係る画像復号装置の概要を示す図である。この画像復号装置６は，周囲のマクロブロックの動きべクトルから予測動きベクトルを作成する予測動きベクトル作成部６５と，１／２位置の画像情報を作成する際に使用されるフィルタ係数が，予め決めた基準のフィルタ係数と異なるかどうかと，動きベクトルと前記予測動きベクトルとの差分の値の組み合わせを復号するフィルタ係数選択動きベクトル復号部６１と，動きベクトルと予測動きベクトルとの差分が０ベクトルの場合に，周囲のマクロブロックのフィルタ係数から，現領域のフィルタの係数の予測値（予測フィルタ係数）を求めるフィルタ係数予測部６６と，フィルタ係数と動きベクトルを使って予測画像を作成し予測誤差を求めて予測誤差符号化データを復号し復号画像を作成する動き補償部６３と，復号画像を蓄積する参照画像メモリ６４とを備える。
【００６６】
上記の画像符号化装置５で得られた符号化データを復号する手順を示す。符号化データは，マクロブロック毎に次のように復号される。予測動きベクトル作成部６５は予測動きベクトルを作成する。フィルタ係数選択動きベクトル復号部６１は，まず横方向に関して，符号化データの中から図９に示したルックアップテーブルを使って，フィルタ係数が係数０と異なるかどうかと，動きベクトルと予測動きベクトルとの間の差分の値の組み合わせを復号する。
【００６７】
動きベクトルと予測動きベクトルとの間の差分が０の場合には，フィルタ係数予測部６６は周囲のマクロブロックからフィルタ係数を予測し，そのマクロブロックの横方向のフィルタ係数とする。動きベクトルと予測動きベクトルとの間の差分が０では無く，フィルタ係数が係数０と異なる場合には，フィルタ係数復号部６２は，横方向フィルタ係数を復号する。
【００６８】
次に縦方向に関して，フィルタ係数選択動きベクトル復号部６１は，フィルタ係数が係数０と異なるかどうかと，動きベクトルと予測動きベクトルとの間の差分の値の組み合わせを復号する。動きベクトルと予測動きベクトルとの間の差分が０の場合には，フィルタ係数予測部６６は周囲のマクロブロックからフィルタ係数を予測し，そのマクロブロックの縦方向のフィルタ係数とする。動きベクトルと予測動きベクトルとの間の差分が０では無く，フィルタ係数が係数０と異なる場合には，フィルタ係数復号部６２は，縦方向フィルタ係数を復号する。
【００６９】
動き補償部６３は，フィルタ係数復号部６２で復号されたフィルタ係数を使って動き補償を行い，符号化データを復号して復号画像を作成し，参照画像メモリ６４に蓄積する。なお動きベクトルと予測動きベクトルとの間の差分が０では無く，フィルタ係数復号部６２でフィルタ係数を復号しない場合には，フィルタ係数を係数０に設定して動き補償を行う。
【００７０】
以上の手順をすべてのマクロブロックに対して繰り返し処理する。
【００７１】
図１１は，本発明の有効性の確認のために，画像符号化装置５を用いた場合の画像Ｍｏｂｉｌｅにおける従来方式との符号量比較結果を示す図である。図１１において，横軸は量子化スケールを表し，縦軸は従来方式と比較した場合の本方式による符号量の節減の割合を示している。シミュレーションは，ＪＭ１．９  （＋Ｍｏｔｉｏｎ  Ｃｏｐｙ）を用いた。これらの結果から明らかなように，本方式は，低ビットレートにおいても効率よく符号量を低減できていることが確認できた。
【００７２】
なお，本発明の実施の形態では１／２位置の画像情報を６タップのフィルタを使って求める際の，フィルタの係数を変更する例を示したが，このタップ数は３以上の任意の正の整数を適用することが可能である。タップ数をマクロブロック毎に変更してもよい。また動き補償を行う領域としてマクロブロックを使用したが，縦横８画素のブロック等，他の矩形ブロックを使用してもよい。また１／２位置の画像情報ではなく，複数タップのフィルタによって１／４位置等の他の分数位置の画像情報を作成する際の，フィルタの係数やタップ数を変更してもよい。
【００７３】
また，本発明の実施の形態では動きベクトルとフィルタ係数を横方向と縦方向とで別々に符号化したが，同時に符号化する方法も好適である。例えば図１２に示したルックアップテーブルを使用して横方向と縦方向の動きベクトルとフィルタ係数を同時に符号化することもできる。
【００７４】
また本発明の実施の形態では，全ての動きベクトル（または動きベクトルと予測動きベクトルとの差分）とフィルタ係数の変更の有無の組み合わせに対して可変長符号化を行ったが，一部の動きベクトルの値の場合に対して行う方法も好適である。例えば動きベクトルの値の短い場合のみ，動きベクトル（または動きベクトルと予測動きベクトルとの差分）とフィルタ係数の変更の有無の組み合わせを可変長符号化し，動きベクトルの値の長い場合にはフィルタ係数の変更の有無やフィルタ係数自体を個別に符号化する手法が挙げられる。
【００７５】
動きベクトルの絶対値が０ではフィルタ係数を周囲の領域から予測し，絶対値が１／４では動きベクトルとフィルタ係数の変更の有無の組み合わせを符号化し，絶対値が１／２以上の値ではまず動きベクトルを符号化し，次にフィルタの係数を符号化する方法が挙げられる。この場合の動きベクトルのルックアップテーブルの例を図１３に示す。
【００７６】
このように本方式によれば，分数位置の画像情報をフィルタ方法で作成する際に，フィルタの係数と動きベクトルの組み合わせを符号化することにより，フィルタ係数を動きベクトルとは別に符号化する際の符号量の増加を避けることができる。
【００７７】
【発明の効果】
本発明によれば，画像を領域に分割し，分数位置の画像情報をフィルタ方法で作成して動き補償する画像符号化方法において，領域毎に分数位置の画像情報を作成するフィルタの係数と動きベクトルの組み合わせを符号化することにより，フィルタ係数を動きベクトルとは別に符号化する際の符号量の増加を避けることができる。
【図面の簡単な説明】
【図１】第１の実施の形態の画像符号化装置の構成図である。
【図２】フィルタ係数変更の有無と動きベクトルの組み合わせの可変長符号の一例を示す図である。
【図３】フィルタ係数の可変長符号の一例を示す図である。
【図４】第１の実施の形態の画像復号装置の構成図である。
【図５】第２の実施の形態の画像符号化装置の構成図である。
【図６】フィルタ係数変更の有無と動きベクトルの組み合わせの可変長符号の一例を示す図である。
【図７】第２の実施の形態の画像復号装置の構成図である。
【図８】第３の実施の形態の画像符号化装置の構成図である。
【図９】フィルタ係数変更の有無と動きベクトルの組み合わせの可変長符号の一例を示す図である。
【図１０】第３の実施の形態の画像復号装置の構成図である。
【図１１】本方式による符号量の節減の効果を示す図である。
【図１２】フィルタ係数変更の有無と動きベクトルの組み合わせの可変長符号の一例を示す図である。
【図１３】フィルタ係数変更の有無と動きベクトルの組み合わせの可変長符号の一例を示す図である。
【図１４】ブロックマッチングの概念図である。
【図１５】画像情報の線形補間の一例を示す図である。
【図１６】１／２精度の画像情報を求めるフィルタ方法の一例を示す図である。
【図１７】現マクロブロックと周囲のマクロブロックの位置関係を示す図である。
【図１８】動きベクトルの可変長符号の一例を示す図である。
【符号の説明】
１，３，５  画像符号化装置
２，４，６  画像復号装置
１１，３１，５１  画像入力部
１２，３２，５２  動き補償部
１３，３３，５３  復号部
１４，３４，５４  参照画像メモリ
１５，３５，５５  フィルタ係数指定部
１６，３６，５６  動き探索部
１７，３７，５７  フィルタ係数決定部
１８，３８，５８  フィルタ係数選択動きベクトル符号化部
１９，３９，５９  フィルタ係数符号化部
３０１，５０１  予測動きベクトル作成部
５０２  フィルタ係数予測部
５０３  フィルタ係数再決定部
５０４  動きベクトル符号化部
２１，４１，６１  フィルタ係数選択動きベクトル復号部
２２，４２，６２  フィルタ係数復号部
２３，４３，６３  動き補償部
２４，４４，６４  参照画像メモリ
４５，６５  予測動きベクトル作成部
６６  フィルタ係数予測部
【図１】
2004165785.tif 000006
【図２】
2004165785.tif 000007
【図３】
2004165785.tif 000008
【図４】
2004165785.tif 000009
【図５】
2004165785.tif 000010
【図６】
2004165785.tif 000011
【図７】
2004165785.tif 000012
【図８】
2004165785.tif 000013
【図９】
2004165785.tif 000014
【図１０】
2004165785.tif 000015
【図１１】
2004165785.tif 000016
【図１２】
2004165785.tif 000017
【図１３】
2004165785.tif 000018
【図１４】
2004165785.tif 000019
【図１５】
2004165785.tif 000020
【図１６】
2004165785.tif 000021
【図１７】
2004165785.tif 000022
【図１８】
2004165785.tif 000023