(57)【要約】  演算の負担を軽減するとともにハードウェア構成を簡単にする動き補償方法は、参照画像に含まれる複数の画素の画素値に対して係数を乗ずることにより、小数画素の画素値の基となる基値を算出する第１の算出ステップ（Ｓ１００）と、第１の算出ステップ（Ｓ１００）で算出された基値を、他の小数画素の画素値の算出に直接用いずに丸め込むことにより、小数画素の画素値を導出する第１の丸め込みステップ（Ｓ１０２）と、導出された画素値の小数画素が補間された参照画像を用いて動き補償を行う動き補償ステップ（Ｓ１１０）とを含む。
2008507190.tif 000002
【特許請求の範囲】
【請求項１】
参照画像に対して小数画素の補間を行い、補間された前記参照画像を用いて動き補償を行う方法であって、
前記参照画像に含まれる複数の画素の画素値に対して係数を乗ずることにより、前記小数画素の画素値の基となる基値を算出する第１の算出ステップと、
前記第１の算出ステップで算出された前記基値を、他の小数画素の画素値の算出に直接用いずに丸め込むことにより、前記小数画素の画素値を導出する第１の丸め込みステップと、
前記導出された画素値の小数画素が補間された参照画像を用いて動き補償を行う動き補償ステップと
を含むことを特徴とする動き補償方法。
【請求項２】
前記第１の算出ステップでは、第１の方向に補間される小数画素の基値を算出し、
前記第１の丸め込みステップでは、前記第１の算出ステップで算出された基値を丸め込むことにより、前記第１の方向に補間される小数画素の画素値を導出する
ことを特徴とする請求項１記載の動き補償方法。
【請求項３】
前記動き補償方法は、さらに、
前記第１の丸め込みステップで導出された画素値を用いて、前記第１の方向とは異なる第２の方向に補間される小数画素の基値を算出する第２の算出ステップと、
前記第２の算出ステップで算出された基値を丸め込むことにより、前記第２の方向に補間される小数画素の画素値を導出する第２の丸め込みステップとを含む
ことを特徴とする請求項２記載の動き補償方法。
【請求項４】
前記第１の算出ステップでは、第１の方向に沿う３つの１／４画素の基値を算出し、
前記第２の算出ステップでは、第２の方向に沿う３つの１／４画素の基値を算出する
ことを特徴とする請求項３記載の動き補償方法。
【請求項５】
前記第１の算出ステップでは、
前記第１の方向に沿って配列する８つの画素の画素値をＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈとし、前記３つの１／４画素の基値をｈ１，ｈ２，ｈ３とする場合、
ｈ１＝−１・Ａ＋３・Ｂ−１０・Ｃ＋５９・Ｄ＋１８・Ｅ−６・Ｆ＋１・Ｇ−０・Ｈ、
ｈ２＝−１・Ａ＋４・Ｂ−１０・Ｃ＋３９・Ｄ＋３９・Ｅ−１０・Ｆ＋４・Ｇ−１・Ｈ、及び
ｈ３＝−０・Ａ＋１・Ｂ−６・Ｃ＋１８・Ｄ＋５９・Ｅ−１０・Ｆ＋３・Ｇ−１・Ｈによって、前記３つの１／４画素の基値を算出する
ことを特徴とする請求項４記載の動き補償方法。
【請求項６】
前記第２の算出ステップでは、
前記第２の方向に沿って配列する８つの画素の画素値をＤ1，Ｄ2，Ｄ3，Ｄ4，Ｄ5，Ｄ6，Ｄ7，Ｄ8とし、前記３つの１／４画素の基値をｖ１，ｖ２，ｖ３とする場合、
ｖ１＝−１・Ｄ1＋３・Ｄ2−１０・Ｄ3＋５９・Ｄ4＋１８・Ｄ5−６・Ｄ6＋１・Ｄ7−０・Ｄ8、
ｖ２＝−１・Ｄ1＋４・Ｄ2−１０・Ｄ3＋３９・Ｄ4＋３９・Ｄ5−１０・Ｄ6＋４・Ｄ7−１・Ｄ8、及び
ｖ３＝−０・Ｄ1＋１・Ｄ2−６・Ｄ3＋１８・Ｄ4＋５９・Ｄ5−１０・Ｄ6＋３・Ｄ7−１・Ｄ8によって、前記３つの１／４画素の基値を算出する
ことを特徴とする請求項５記載の動き補償方法。
【請求項７】
前記第１の算出ステップでは、水平方向を第１の方向とし、水平方向に補間される小数画素の基値を算出し、
前記第２の算出ステップでは、垂直方向を第２の方向とし、垂直方向に補間される小数画素の基値を算出する
ことを特徴とする請求項６記載の動き補償方法。
【請求項８】
前記動き補償方法は、さらに、
前記導出された画素値の小数画素が補間された参照画像に対して、バイリニアフィルタリングを適用することにより、小数画素精度を上げるバイリニアフィルタリングステップを含む
ことを特徴とする請求項４記載の動き補償方法。
【請求項９】
前記バイリニアフィルタリングステップでは、
１／４画素精度が１／８画素精度になるように前記参照画像の小数画素精度を上げる
ことを特徴とする請求項８記載の動き補償方法。
【請求項１０】
前記第１の丸め込みステップでは、前記小数画素の基値をダウンシフトすることにより丸め込む
ことを特徴とする請求項１記載の動き補償方法。
【請求項１１】
前記第１の算出ステップでは、水平方向及び垂直方向に配列するべき小数画素の基値を、前記参照画像に含まれる複数の画素の画素値に対して係数を乗ずることにより算出する
ことを特徴とする請求項１記載の動き補償方法。
【請求項１２】
参照画像に対して小数画素の補間を行い、補間された前記参照画像を用いて動き検出を行う方法であって、
前記参照画像に含まれる複数の画素の画素値に対して係数を乗ずることにより、前記小数画素の画素値の基となる基値を算出する算出ステップと、
前記算出ステップで算出された前記基値を、他の小数画素の画素値の算出に直接用いずに丸め込むことにより、前記小数画素の画素値を導出する丸め込みステップと、
前記導出された画素値の小数画素が補間された参照画像を用いて動き検出を行う動き検出ステップと
を含むことを特徴とする動き検出方法。
【請求項１３】
参照画像を用いて画像を符号化する方法であって、
符号化対象の画像を取得する画像取得ステップと、
前記参照画像に含まれる複数の画素の画素値に対して係数を乗ずることにより、前記小数画素の画素値の基となる基値を算出する算出ステップと、
前記算出ステップで算出された前記基値を、他の小数画素の画素値の算出に直接用いずに丸め込むことにより、前記小数画素の画素値を導出する丸め込みステップと、
前記導出された画素値の小数画素が補間された参照画像を用いて動き補償を行う動き補償ステップと
前記画像取得ステップで取得された符号化対象の画像と、前記動き補償ステップによって動き補償された参照画像との差分を符号化する符号化ステップと
を含むことを特徴とする動画像符号化方法。
【請求項１４】
符号化された画像を、参照画像を用いて復号化する方法であって、
画像と他の画像との差分が符号化された差分画像を取得する差分画像取得ステップと、
前記参照画像に含まれる複数の画素の画素値に対して係数を乗ずることにより、前記小数画素の画素値の基となる基値を算出する算出ステップと、
前記算出ステップで算出された前記基値を、他の小数画素の画素値の算出に直接用いずに丸め込むことにより、前記小数画素の画素値を導出する丸め込みステップと、
前記導出された画素値の小数画素が補間された参照画像を用いて動き補償を行う動き補償ステップと
前記差分画像取得ステップで取得された差分画像を復号化し、復号化された差分画像と、前記動き補償ステップによって動き補償された参照画像とを加算する復号化ステップと
を含むことを特徴とする動画像復号化方法。
【請求項１５】
参照画像に対して小数画素の補間を行い、補間された前記参照画像を用いて動き補償を行う装置であって、
前記参照画像に含まれる複数の画素の画素値に対して係数を乗ずることにより、前記小数画素の画素値の基となる基値を算出する算出手段と、
前記算出手段で算出された前記基値を、他の小数画素の画素値の算出に直接用いずに丸め込むことにより、前記小数画素の画素値を導出する丸め込み手段と、
前記導出された画素値の小数画素が補間された参照画像を用いて動き補償を行う動き補償手段と
を備えることを特徴とする動き補償装置。
【請求項１６】
参照画像に対して小数画素の補間を行い、補間された前記参照画像を用いて動き検出を行う装置であって、
前記参照画像に含まれる複数の画素の画素値に対して係数を乗ずることにより、前記小数画素の画素値の基となる基値を算出する算出手段と、
前記算出手段で算出された前記基値を、他の小数画素の画素値の算出に直接用いずに丸め込むことにより、前記小数画素の画素値を導出する丸め込み手段と、
前記導出された画素値の小数画素が補間された参照画像を用いて動き検出を行う動き検出手段と
を備えることを特徴とする動き検出装置。
【請求項１７】
参照画像を用いて画像を符号化する装置であって、
符号化対象の画像を取得する画像取得手段と、
前記参照画像に含まれる複数の画素の画素値に対して係数を乗ずることにより、前記小数画素の画素値の基となる基値を算出する算出手段と、
前記算出手段で算出された前記基値を、他の小数画素の画素値の算出に直接用いずに丸め込むことにより、前記小数画素の画素値を導出する丸め込み手段と、
前記導出された画素値の小数画素が補間された参照画像を用いて動き補償を行う動き補償手段と
前記画像取得手段で取得された符号化対象の画像と、前記動き補償手段によって動き補償された参照画像との差分を符号化する符号化手段と
を備えることを特徴とする動画像符号化装置。
【請求項１８】
符号化された画像を、参照画像を用いて復号化する装置であって、
画像と他の画像との差分が符号化された差分画像を取得する差分画像取得手段と、
前記参照画像に含まれる複数の画素の画素値に対して係数を乗ずることにより、前記小数画素の画素値の基となる基値を算出する算出手段と、
前記算出手段で算出された前記基値を、他の小数画素の画素値の算出に直接用いずに丸め込むことにより、前記小数画素の画素値を導出する丸め込み手段と、
前記導出された画素値の小数画素が補間された参照画像を用いて動き補償を行う動き補償手段と
前記差分画像取得ステップで取得された差分画像を復号化し、復号化された差分画像と、前記動き補償手段によって動き補償された参照画像とを加算する復号化手段と
を備えることを特徴とする動画像復号化装置。
【請求項１９】
参照画像に対して小数画素の補間を行い、補間された前記参照画像を用いて動き補償を行うためのプログラムであって、
前記参照画像に含まれる複数の画素の画素値に対して係数を乗ずることにより、前記小数画素の画素値の基となる基値を算出する算出ステップと、
前記算出ステップで算出された前記基値を、他の小数画素の画素値の算出に直接用いずに丸め込むことにより、前記小数画素の画素値を導出する丸め込みステップと、
前記導出された画素値の小数画素が補間された参照画像を用いて動き補償を行う動き補償ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、参照画像に対して小数画素の補間を行い、その補間された参照画像を用いて動き補償を行う動き補償方法に関する。
【背景技術】
【０００２】
動画像が利用される機会はますます増えてきている。その応用範囲は、ビデオ電話やビデオ会議からＤＶＤやデジタルテレビにわたる。動画像が伝送される際、かなりの量のデータを利用範囲が制限された周波数帯域の従来の伝送経路で伝送しなければならない。限られた周波数帯域でデジタルデータを伝送するためには、必然的に伝送するデータの量を圧縮するか削減することになる。
【０００３】
あるアプリケーションを異なる製造者が設計した異なるシステム間で相互に運用できるようにするため、ビデオデータの量を圧縮するための動画像符号化規格がいくつか開発されてきた。それらの規格の多くで基礎をなす符号化手法の主なステップは次の通りである。
【０００４】
（１）ビデオフレームの処理をブロック単位で行えるように、各ビデオフレームをいくつかの画素ブロックに分割する。
（２）ビデオデータのブロックの変換、量子化、エントロピー符号化を行うことによって、ビデオフレーム内の空間的冗長性を削減する。
（３）あとに続くフレームとの差分のみを伝送すればいいようにするため、後続フレームのブロック間の時間的依存性を活用する。
【０００５】
後続フレームのブロック間の時間的依存性は、動き検出および動き補償技術を採用することによって求められる。あるブロックについて、符号化装置や復号化装置はそのブロックの前に符号化され伝送されたピクチャを探索して動きベクトルを求める。その動きベクトルは、符号化装置や復号化装置によってブロックのイメージデータを予測するために使用される。
【０００６】
図１は、動画像符号化装置の構成例を示す。同図において参照番号９００番を付されている動画像符号化装置は、通常、空間的イメージデータを周波数領域に変換して量子化することにより量子化係数ＱＣを出力する変換／量子化部９２０と、その量子化係数ＱＣをエントロピー符号化（可変長符号化）してビットストリームＢＳを出力するエントロピー符号化部９９０と、可変長ビットレートの圧縮されたビデオデータを固定ビットレート用の可能性がある伝送経路に適応させる（図示されていない）ビデオバッファとを備える。
【０００７】
図１に示される動画像符号化装置は、あとに続くフィールドやフレーム間の差分のみを伝送する差分パルス符号化方式（ＤＰＣＭ）を採用している。減算機９１０は、符号化するビデオデータを入力信号ＩＳとして受信し、予測信号ＰＳにより示される先のイメージを差し引き、差分を求める。前のイメージというのは、先に符号化されたイメージを復号化することによって得られるイメージである。この処理は、動画像符号化装置９００に組み込まれている復号化装置によって行われる。復号化装置は、符号化ステップを逆に行う。つまり、復号化装置は、逆量子化／逆変換部９３０と、復号化側で求められることになるイメージを生成するために、復号化した差分（差分復号化信号ＤＤＳ）を先に復号化したイメージ（予測信号ＰＳ）に加える加算機９３５とを備える。
【０００８】
動き補償差分パルス符号化方式においては、注目しているイメージと前のイメージとの間に検出された動きに基づき、前のフレームまたはフィールドのイメージデータから、注目しているフレームまたはフィールドを予測する。このように検出された動きは、前のイメージの画素と注目イメージの画素とを置き換えることを表現している２次元の動きベクトルとして記述されることがある。通常、動きの検出はブロックごとに行われる。図２は、注目イメージを複数のブロックに分割した例を示す。
【０００９】
最も合致する動きを検出するまで、注目フレームのブロックは複数の前のフレームのブロックと比較される。比較結果に基づき、ブロック全体のフレーム間変位ベクトルを注目フレーム用に検出できる。この目的で、動き検出部９７０は符号化装置に組み込まれ、同時に対応する動き補償予測部９６０が復号化経路に備えられる。
【００１０】
図１に示されている動画像符号化装置９００によって以下のような動作が行われる。入力信号ＩＳの示すビデオイメージは、通常マクロブロックと称される、たくさんの小さなブロックに分割される。例えば、図２に示されているビデオイメージは、複数のマクロブロックに分割され、各マクロブロックは通常１６×１６画素のサイズである。
【００１１】
自イメージ内の空間的冗長性を削減するだけで、自イメージのビデオデータを符号化できるピクチャを、Iピクチャという。Iピクチャは、典型的に、ピクチャ内のマクロブロックを直接変換することにより符号化される。符号化されたIピクチャはデータ量を削減するために活用される時間的情報を含まないためサイズが大きい。
【００１２】
連続したイメージ間に存在する時間的冗長性を活用するため、あとに続くフィールドまたはフレーム間の予測符号化は、動き検出および動き補償に基づいて行われる。動き検出の際に選択された参照フレームが先に符号化されたフレームである場合は、符号化されるピクチャをＰピクチャという。先に符号化されたフレームとこれから符号化されるフレームの両方が参照フレームとして選ばれた場合は、符号化されるフレームをＢピクチャという。
【００１３】
１６×１６画素のマクロブロックに基づいて動き補償を説明したが、動き検出および動き補償はサイズが異なるたくさんのブロックを用いても行える。個々の動きベクトルは、４×４、４×８、８×４、８×８、８×１６、１６×８または１６×１６画素のブロックごとに求められうる。小さいブロック単位で動き補償を行うと、精細な動きを処理する能力が改善できる。
【００１４】
動き検出の結果求めた動きベクトルに基づき、動き補償により予測を行う。予測したブロックから生じる予測誤差ブロックに含まれる情報は、その後変換／量子化部９２０において変換係数に変換される。一般に、２次元離散コサイン変換（ＤＣＴ）が採用される。求められた変換係数は量子化され、最後にエントロピー符号化部９９０においてエントロピー符号化（ＶＬＣ）される。
【００１５】
動画像復号化装置は、圧縮ビデオデータの伝送されたビットストリームＢＳを受信し、受信したデータに基づいて符号化されたビデオイメージの列を再生する。動画像復号化装置の構成は、図１に示されている動画像符号化装置が備える復号化装置の構成に対応している。そのため、ここでは動画像復号化装置の構成について詳しくは説明しない。
【００１６】
動き補償の精度を改善するために、参照フレームの小数画素精度が広く用いられている。例えばMPEG-2方式では、1/2画素精度の動き補償が用いられる。
【００１７】
動きベクトル精度と符号化効率を更に改善するために、特許文献（ＥＰ１０７３２７６）において１／３及び１／６画素ベクトル精度が提案された。
【００１８】
動きベクトル精度および符号化効率は、１／８画素変位をもたらす動き検出および動き補償における補間フィルタの適用により、さらに改善可能である。しかしながら、そのような小数画素解像度を得るにはかなり複雑な演算が必要であり、とりわけ２５ビットに及ぶ長さの演算値を記録する必要がある。
【００１９】
そのような複雑な演算はふたつのステップからなる手法に基づいて行われうる。第１ステップで、８タップ・フィルタを採用することによって、１／４画素イメージが得られる。第２ステップで、バイリニアフィルタリングを採用することによって、１／４画素イメージから１／８画素が求められる。
【００２０】
１／４画素精度のイメージを生成するためのフィルタリング操作は、水平フィルタリングと続けて行われる垂直フィルタリングのふたつのステップを含む。水平補間は次の数式（１）〜（３）に基づいて行われうる。
【００２１】
【数１】
2008507190.tif 000003
【数２】
2008507190.tif 000004
【数３】
2008507190.tif 000005
【００２２】
上記の数式において、ｈ1-3は１／４画素値を示し、Ａx−Ｈxは元の１画素単位の画素値、つまり、元のイメージの画素値を表す。
【００２３】
このようなＡx−Ｈxに対して適用される係数は、信号処理的に、アップサンプリングによるイメージングの発生を防ぐように、つまり補間によって生じる不要な高周波成分をカットするように設定されている。
【００２４】
図３は、水平フィルタリングの説明図である。８タップ・フィルタリングは、元の画素２１０の画素値に基づいて行われ、水平方向において１／４画素精度を得るために、３つの中間画素２２０の画素値が求められる。
【００２５】
水平フィルタリングを行って得たイメージデータは、垂直方向において１画素精度を有し、水平方向において１／４画素精度を有する。このイメージデータに対して垂直フィルタリングが行われる。この目的のため、前述の水平フィルタに対応する係数を有する次の数式（４）〜（６）が採用されている。
【００２６】
【数４】
2008507190.tif 000006
【数５】
2008507190.tif 000007
【数６】
2008507190.tif 000008
【００２７】
上記の数式において、ｖ1-3は求めた１／４画素値を示し、Ｄ1，Ｄ2，Ｄ3，Ｄ4，Ｄ5，Ｄ6，Ｄ7およびＤ8は、１画素解像度の画素、つまり、元の画素２１０の画素値を示す。
【００２８】
このようなＤxに対して適用される係数は、上述と同様、信号処理的に、アップサンプリングによるイメージングの発生を防ぐように、つまり補間によって生じる不要な高周波成分をカットするように設定されている。
【００２９】
このように求めた画素値は２５ビットの長さに及ぶ。予め定められた許容範囲内に画素値が収まるイメージデータを求めるために、その演算結果はダウンシフティング（桁送り）され丸められる。例えば、画素値ｖ1の場合、数式（７）のようになる。
【００３０】
【数７】
2008507190.tif 000009
【００３１】
ｖ1は、水平フィルタリングおよび垂直フィルタリングで求められた画素値を示す。一方、ｖ1’は、ダウンシフティングされた画素値を示す。ダウンシフティングされた画素値はさらに、０〜２５５の範囲内にクリッピングされる。
【００３２】
図４は、垂直フィルタリングの説明図である。画素２３０の画素値は、元の画素値Ｄ4，Ｄ5，Ｅ4およびＥ5間のフィルタリング例として描かれた小数画素列の垂直フィルタリングで求められる。
【００３３】
１／４画素イメージが完成した後、１／４画素解像度にバイリニアフィルタリングを適用することによって１／８画素のフレームが得られる。このようにして、１／４の解像度をもつ画素間に中間画素が生成される。
【００３４】
バイリニアフィルタリングは２つのステップからなる。図５および図６はそれらの例を示す説明図である。図５は、１／４画素解像度から行う水平フィルタリングおよび垂直フィルタリングの適用例を示す説明図である。この目的で、１／８画素解像度の中間画素値を求めるために、それぞれ隣接する画素の画素値の平均値が求められる。この処理を２進数で表すには、次の数式（８）を適用できる。なお、数式（８）において「＞＞１」は１ビット分だけダウンシフトすることを意味する。
【００３５】
【数８】
2008507190.tif 000010
【００３６】
残りの補間されるべき１／８画素値は、図６で説明されているように対角フィルタリングによって求められる。バイリニアフィルタリングにおいて、多重フィルタリングの結果生じる小数画素値を最小限に抑えられることが、この手法の特徴的な利点である。この目的で、元の画素２１０の画素値から直接的に導出された補間画素値のみが演算に用いられることが好ましい。その導出された画素値は、複数の元の画素２１０の中間位置に補間した画素値である。
【００３７】
小数画素配列の中央画素２４０も追加的に考慮する場合、全ての中間画素値は、例えば、元の画素２１０の画素値および元の画素値から導出した中間画素値から求めることができる。追加的な１／８画素値を求めるための演算操作は、ふたつの１／４画素解像度値にそれぞれ基づいて行われる。図６は、中間画素値の演算に用いられる個々の画素の説明図であり、その個々の画素の画素値から中間画素値を求める関係を矢印で示す。補間の際に考慮される画素間の距離に応じて、下記の数式（９）および（１０）が用いられる。
【００３８】
【数９】
2008507190.tif 000011
【数１０】
2008507190.tif 000012
【００３９】
ＤおよびＧは、図６で説明されている新しい中間値を示し、Ｅ，Ｆ，ＨおよびＩは、１／４解像度イメージから求めた画素値を表す。上記数式において加算値である「１」および「２」は、演算結果を正しく丸めるためだけに用いられている。
【００４０】
しかしながら、上記従来の動き補償方法では、１／４画素の補間を行うフィルタ処理において、２５ｂｉｔにも及ぶ長い演算値を記録する必要があり、結果として高度に複雑なハードウェア構成や煩雑な演算が要求されるという問題がある。
【００４１】
そこで本発明は、かかる問題に鑑みてなされたものであって、演算の負担を軽減するとともにハードウェア構成を簡単にする動き補償方法を提供することを目的とする。
【発明の開示】
【００４２】
上記目的を達成するために、本発明の動き補償方法は、参照画像に対して小数画素の補間を行い、補間された前記参照画像を用いて動き補償を行う方法であって、前記参照画像に含まれる複数の画素の画素値に対して係数を乗ずることにより、前記小数画素の画素値の基となる基値を算出する第１の算出ステップと、前記第１の算出ステップで算出された前記基値を、他の小数画素の画素値の算出に直接用いずに丸め込むことにより、前記小数画素の画素値を導出する第１の丸め込みステップと、前記導出された画素値の小数画素が補間された参照画像を用いて動き補償を行う動き補償ステップとを含むことを特徴とする。
【００４３】
例えば、従来の方法では、一度算出された小数画素の基値は、他の小数画素の画素値の算出のために直接用いられるが、本発明では、第１の算出ステップで算出された小数画素の基値は、他の小数画素の画素値の算出に直接用いられることなく丸め込まれる。したがって、仮にその丸め込まれた基値（画素値）を用いて他の小数画素の画素値を算出しても、その算出に使用されるビット数を従来よりも小さく抑えることができる。その結果、演算の負担を軽減するとともにハードウェア構成を簡単にすることができる。
【００４４】
また、前記第１の算出ステップでは、第１の方向に補間される小数画素の基値を算出し、前記第１の丸め込みステップでは、前記第１の算出ステップで算出された基値を丸め込むことにより、前記第１の方向に補間される小数画素の画素値を導出することを特徴としてもよい。このとき、前記動き補償方法は、さらに、前記第１の丸め込みステップで導出された画素値を用いて、前記第１の方向とは異なる第２の方向に補間される小数画素の基値を算出する第２の算出ステップと、前記第２の算出ステップで算出された基値を丸め込むことにより、前記第２の方向に補間される小数画素の画素値を導出する第２の丸め込みステップとを含むことを特徴としてもよい。
【００４５】
これにより、第１及び第２の方向に補間される小数画素の画素値を算出する過程において、その算出に使用されるビット数を、例えば従来の２５ビットから１６ビットに抑えることができる。
【００４６】
また、前記第１の算出ステップでは、前記第１の方向に沿って配列する８つの画素の画素値をＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈとし、前記３つの１／４画素の基値をｈ１，ｈ２，ｈ３とする場合、ｈ１＝−１・Ａ＋３・Ｂ−１０・Ｃ＋５９・Ｄ＋１８・Ｅ−６・Ｆ＋１・Ｇ−０・Ｈ、ｈ２＝−１・Ａ＋４・Ｂ−１０・Ｃ＋３９・Ｄ＋３９・Ｅ−１０・Ｆ＋４・Ｇ−１・Ｈ、及びｈ３＝−０・Ａ＋１・Ｂ−６・Ｃ＋１８・Ｄ＋５９・Ｅ−１０・Ｆ＋３・Ｇ−１・Ｈによって、前記３つの１／４画素の基値を算出することを特徴としてもよい。ここで、前記第２の算出ステップでは、前記第２の方向に沿って配列する８つの画素の画素値をＤ1，Ｄ2，Ｄ3，Ｄ4，Ｄ5，Ｄ6，Ｄ7，Ｄ8とし、前記３つの１／４画素の基値をｖ１，ｖ２，ｖ３とする場合、ｖ１＝−１・Ｄ1＋３・Ｄ2−１０・Ｄ3＋５９・Ｄ4＋１８・Ｄ5−６・Ｄ6＋１・Ｄ7−０・Ｄ8、ｖ２＝−１・Ｄ1＋４・Ｄ2−１０・Ｄ3＋３９・Ｄ4＋３９・Ｄ5−１０・Ｄ6＋４・Ｄ7−１・Ｄ8、及びｖ３＝−０・Ｄ1＋１・Ｄ2−６・Ｄ3＋１８・Ｄ4＋５９・Ｄ5−１０・Ｄ6＋３・Ｄ7−１・Ｄ8によって、前記３つの１／４画素の基値を算出することを特徴としてもよい。
【００４７】
これにより、小数画素の画素値を算出するときに用いられる係数は、従来の係数よりも小さいため、その画素値の算出に使用されるビット数をさらに小さくすることができる。
【００４８】
また、前記動き補償方法は、さらに、前記導出された画素値の小数画素が補間された参照画像に対して、バイリニアフィルタリングを適用することにより、小数画素精度を上げるバイリニアフィルタリングステップを含むことを特徴としてもよい。例えば、前記バイリニアフィルタリングステップでは、１／４画素精度が１／８画素精度になるように前記参照画像の小数画素精度を上げることを特徴としてもよい。
【００４９】
これにより、小数画素精度が上がるため、画像の符号化及び復号化処理において画質が低下するのを防ぐことができる。
【００５０】
なお、本発明は、上記動き補償方法、動き検出方法、その動き補償方法を用いた動画像符号化方法及び動画像復号化方法、それらの各方法のステップをコンピュータに実行させるプログラム、そのプログラムを格納する記憶媒体、それらの各方法で動作を行う装置としても実現することができる。
【発明を実施するための最良の形態】
【００５１】
以下、本発明の実施の形態における動画像符号化装置及び動画像復号化装置について図面を参照しながら説明する。
【００５２】
動画像符号化では、予測符号化において動き検出および動き補償を適用することで符号化効率を改善している。動き検出および動き補償は、符号化されるイメージデータと予測イメージデータ間の差分を小さくすることによって改善することができる。とりわけ、１／８画素動きベクトル精度は、符号化効率をさらに改善することができる。
【００５３】
本発明は、ハードウェア構成や演算を簡単にして、このような動き検出および動き補償の改善を達成するものである。なぜなら、本発明は、この目的で、中間的な演算結果を１６ビット精度とするだけで実現できるからである。
【００５４】
図７は、本実施の形態における動画像符号化装置の構成を示すブロック図である。
この動画像符号化装置１００は、減算器１１０と、変換／量子化部１２０と、逆量子化／逆変換部１３０と、加算器１３５と、デブロッキングフィルタ１３７と、メモリ１４０と、１６ビット演算補間フィルタ１５０と、動き補償予測部１６０と、動き検出部１７０と、エントロピー符号化部１９０とを備えている。
【００５５】
減算器１１０は、動画像を示す入力信号ＩＳから予測信号ＰＳを減算し、その差分を変換／量子化部１２０に出力する。
【００５６】
変換／量子化部１２０は、減算器１１０から差分を取得して、その差分に対して周波数変換（例えばＤＣＴ）及び量子化の符号化処理を行う。そして、変換／量子化部１２０は、処理結果である量子化係数ＱＣをエントロピー符号化部１９０及び逆量子化／逆変換部１３０に出力する。
【００５７】
逆量子化／逆変換部１３０は、変換／量子化部１２０から出力された量子化係数ＱＣに対して逆量子化及び逆周波数変換（例えば逆ＤＣＴ）の復号化処理を行う。そして、逆量子化／逆変換部１３０は、その処理結果である差分復号信号ＤＤＳを加算器１３５に出力する。
【００５８】
加算器１３５は、動き補償予測部１６０からの予測信号ＰＳに対して差分復号信号ＤＤＳを加算して、その結果得られた画像をデブロッキングフィルタ１３７に出力する。
【００５９】
デブロッキングフィルタ１３７は、加算器１３５から出力され画像に対してブロック歪の除去を行い、ブロック歪の除去された画像を参照画像としてメモリ１４０に格納する。
【００６０】
１６ビット演算補間フィルタ１５０は、メモリ１４０から参照画像を取り出して、その参照画像に対して１／８画素補間を行う。
【００６１】
動き検出部１７０は、入力信号ＩＳの示す画像と、１６ビット演算補間フィルタ１５０によって１／８画素補間が行われた参照画像とに基づいて、動きベクトルを検出する。そして動き検出部１７０は、検出した動きベクトルを示す動きデータＭＤを動き補償予測部１６０及びエントロピー符号化部１９０に出力する。
【００６２】
動き補償予測部１６０は、動きデータＭＤの示す動きベクトルと、１６ビット演算補間フィルタ１５０によって１／８画素補間が行われた参照画像とに基づいて動き補償を行う。これによって、動き補償予測部１６０は入力信号ＩＳの示す注目画像を予測し、その予測画像を示す予測信号ＰＳを減算器１１０に出力する。
【００６３】
エントロピー符号化部１９０は、変換／量子化部１２０から出力された量子化係数と、動き検出部１７０から出力された動きデータＭＤとをエントロピー符号化し、その結果をビットストリームＢＳとして出力する。
【００６４】
このような本実施の形態における動画像符号化装置１００では、１６ビット演算補間フィルタ１５０を備えることに特徴がある。つまり、本実施の形態における動き補償方法は、この１６ビット演算補間フィルタ１５０による１／８画素補間を利用して動き補償が行われる点に特徴がある。
【００６５】
なお、本実施の形態の動画像符号化装置１００において、１６ビット演算補間フィルタ１５０以外の各構成要素は、上記従来の動画像符号化装置が備える各構成要素と同様の機能を有する。
【００６６】
１６ビット演算補間フィルタ１５０は、従来とは異なる方法で１／４画素の画素値を算出し、従来と同様、その１／４画素の画素値を用いて１／８画素値を算出する。以下、この１６ビット演算補間フィルタ１５０が１／４画素の画素値を算出する方法について詳細に説明する。
【００６７】
１／８画素精度を求めるために、２つのステップからなる手続きが採用されている。第１ステップにおいて、水平および垂直フィルタリングが続けて行われる。水平方向において１／４画素値を補間するために、次の数式（１１）〜（１３）が採用される。
【００６８】
【数１１】
2008507190.tif 000013
【数１２】
2008507190.tif 000014
【数１３】
2008507190.tif 000015
【００６９】
上記の数式において、ｈ1-3は補間される１／４画素値を示し、Ａx−Ｈxは元の１画素単位の画素値を示す。
【００７０】
ここで、本実施の形態におけるＡx−Ｈxの各係数は、従来と同様、補間によって生じる不要な高周波成分をカットするように設定されているが、符号化及び復号化処理において画質が低下しない範囲で従来よりも小さく設定されている。つまり、本実施の形態における各係数は、従来の数式（１）〜（３）の各係数に対して、それぞれ同程度の割合で小さく設定されている。
【００７１】
水平フィルタリングを行った後、演算値はダウンシフティングされることによって丸め込まれる。例えば、ｈ1の中間値は、次の数式（１４）によって丸め込まれる。
【００７２】
【数１４】
2008507190.tif 000016
【００７３】
ｈ1は水平フィルタリングの結果求められる補間された画素値を表し、ｈ1’はダウンシフティングされた画素値を表す。この処理は、水平フィルタリングの結果求められる補間された画素値の全てに同様に適用される。なお「＞＞６」は、６ビット分だけダウンシフトすることを示す。
【００７４】
第１段階の第２ステップとして、水平方向において改善された小数画素精度は、垂直方向においても得られる。この目的で、垂直フィルタリングが適用される。前に行なわれたダウンシフティング操作によって、垂直フィルタリングステップでの演算において、どの演算結果も１６ビット精度を超えることがないようにしている。垂直フィルタリングは、次の数式（１５）〜（１７）に示されるように、水平フィルタリングの数式に対応するフィルタ係数を採用することで行われる。
【００７５】
【数１５】
2008507190.tif 000017
【数１６】
2008507190.tif 000018
【数１７】
2008507190.tif 000019
【００７６】
ｖ1-3は垂直方向の１／４画素値を示し、Ｄv-3，Ｄv-2，Ｄv-1，Ｄv，Ｄv+1，Ｄv+2，Ｄv+3およびＤv+4は、垂直方向における１画素単位の画素値を示す。１画素単位とはつまり図３の画素２１０および画素２２０である。
【００７７】
ここで、本実施の形態におけるＤx（Ｄv-3〜Ｄv+4）の各係数は、上記Ａx−Ｈxの各係数と同様、従来の数式（４）〜（６）の各係数に対して、それぞれ同程度の割合で小さく設定されている。
【００７８】
垂直フィルタリングの演算結果は、つまり画素２３０の画素値である。この画素値はダウンシフティングされる。ｖ1のみに対する例として、次に示す数式（１８）が採用される。
【００７９】
【数１８】
2008507190.tif 000020
【００８０】
このようなダウンシフティング操作の際には、２6／２＝６４／２となる値を補間された画素値に加えてその値を丸める。
【００８１】
これまでに述べた記述においては、水平フィルタリングを先に行ってから垂直フィルタリングを行っており、それぞれのフィルタリングにおいてダウンシフティング操作も行っている。しかしながら、水平フィルタリングと垂直フィルタリングの順序を逆にしても同様の結果が得られることは、当業者であれば気づくところである。それゆえ、垂直フィルタリングが水平フィルタリングの前に行なわれる場合がある。
【００８２】
最終的に求められた１／４画素値は、０〜２５５の範囲に収まるようにクリッピングされる。
【００８３】
求められた１／４画素値に対して、図５および図６で説明しているように、１／８画素解像度を得るためにバイリニアフィルタリングが行われる。
【００８４】
次の例は、本発明の処理においては、１６ビット精度を超える中間画素値を記録することが要求されることはないということを示している。
【００８５】
画素値は０〜２５５の範囲にあると想定する。この場合、中間画素値ｈ2に対して次の数式（１９）の演算を行えば、水平方向において８タップ・フィルタリングを行っている最中に発生する最大の画素値が求められる。
【００８６】
【数１９】
2008507190.tif 000021
【数２０】
2008507190.tif 000022
【００８７】
このように、本実施の形態では、１／４画素の画素値の算出過程において１６ビットを超える演算を避けることができる。
【００８８】
演算結果の画素値は、次の数式（２１）に示されるように、ダウンシフティングされる。
【００８９】
【数２１】
2008507190.tif 000023
【００９０】
ダウンシフティング操作の結果求められた値は０〜２５５の範囲内にクリッピングされる。
【００９１】
これまでに説明したように、フィルタリング操作の間に発生する値の中で考えられる最大値を扱うために必要とされる画素精度は１６ビットを超えてはいない。上記では、水平方向のフィルタリングのみの演算例であるが、これに対応する係数が垂直方向のフィルタリングのために使われるため、垂直方向のフィルタリングに対しても同じ利点が得られる。
【００９２】
上記の例では１／４画素解像度の演算のみに関連している。１／８画素解像度を生成するためのバイリニアフィルタリングには、最大１０ビット精度が要求されるだけである。そのため、本発明の演算を全て行うにあたっては、最大１６ビット精度であれば十分である。したがって、動き検出、動き補償、ビデオデータの符号化および復号化を、簡単な方法で改善することができる。
【００９３】
図８は、本実施の形態における動画像符号化装置１００が動き補償を行う動作を示すフローチャートである。
【００９４】
まず、動画像符号化装置１００の１６ビット演算補間フィルタ１５０は、メモリ１４０から取り出した参照画像に対して、水平方向に１／４画素の画素値（画素値の基となる基値）を求める（ステップＳ１００）。そして、１６ビット演算補間フィルタ１５０は、ステップＳ１００で求められた画素値に対してダウンシフティングを行い、その画素値を丸め込む（ステップＳ１０２）。
【００９５】
次に、１６ビット演算補間フィルタ１５０は、ステップＳ１０２で丸められ込まれた画素値を用いて、垂直方向に１／４画素の画素値を求める（ステップＳ１０４）。そして、１６ビット演算補間フィルタ１５０は、ステップＳ１０４で求められた画素値に対してダウンシフティングを行い、その画素値を丸め込む（ステップＳ１０６）。
【００９６】
このようなステップＳ１００〜Ｓ１０６の動作によって、参照画像に対して水平方向及び垂直方向に１／４画素が補間される。
【００９７】
１／４画素が補間されると、１６ビット演算補間フィルタ１５０は、従来例と同様、その補間された１／４画素を用いたバイリニアフィルタリングを行うことで、１／８画素の画素値を求め、参照画像の画素精度を１／４画素精度から１／８画素精度に上げる（ステップＳ１０８）。
【００９８】
このような１６ビット演算補間フィルタ１５０によるステップＳ１００〜Ｓ１０８の動作によって、１／８画素値が補間された参照画像が生成される。
【００９９】
そして動き補償予測部１６０は、１／８画素が補間された参照画像を用いて動き補償を行い、その結果を示す予測信号ＰＳを出力する（ステップＳ１１０）。
【０１００】
ここで、本発明のアルゴリズムをＨ．２６４／ＭＰＥＧ符号化処理ソフトウェア（ＪＭ４．２）に構築することによって、本発明を適用すれば、従来の補間を行う場合と同様の結果が得られるということを説明する。演算結果は、図９および図１０に示すように、認識されたピクチャの品質に対する影響を示すレート歪み曲線として表される。両図において演算結果が異なるのは、例として採用されたイメージシーケンスが異なるからある。
【０１０１】
図９および図１０のレート歪み曲線は、Ｘ軸のビットレートおよび歪みを測る尺度を表すＹ軸のピーク信号対雑音比（ＰＳＮＲ）によって示される。
【０１０２】
図９および図１０に示すように、より長い記録を必要とする従来のＪＭ４．２アルゴリズム（1/8-pel 25bit）を採用した場合と比較して、１６ビットの１／８画素フィルタ（1/8-pel 16bit）を採用することは、画質の低下という結果にはつながっていない。さらに、本発明の手法は、１／４画素の２０ビット符号化（1/4-pel 20bit）よりもよい性能を実際に備えている。
【０１０３】
図１１は、本実施の形態における動画像復号化装置の構成を示すブロック図である。
この動画像復号化装置３００は、エントロピー復号化部３１０と、逆量子化／逆変換部３２０と、加算器３３０と、デブロッキングフィルタ３４０と、メモリ３５０と、動き補償部３６０とを備えている。
【０１０４】
エントロピー復号化部３１０は、動画像符号化装置１００から出力されたビットストリームＢＳを取得し、そのビットストリームに対してエントロピー復号化処理を行う。その結果、エントロピー復号化部３１０は、量子化係数ＱＣを逆量子化／逆変換部３２０に出力し、動きベクトルを示す動きデータＭＤを動き補償部３６０に出力する。
【０１０５】
逆量子化／逆変換部３２０は、量子化係数ＱＣに対して逆量子化及び逆ＤＣＴ変換の復号化処理を行う。そして、逆量子化／逆変換部３２０は、その処理結果である差分復号信号ＤＤＳを加算器３３０に出力する。
【０１０６】
加算器３３０は、動き補償部３６０からの予測信号ＰＳに対して差分復号信号ＤＤＳを加算して、その結果得られた画像をデブロッキングフィルタ３４０に出力する。
【０１０７】
デブロッキングフィルタ３４０は、加算器３３０から出力され画像に対してブロック歪の除去を行い、ブロック歪の除去された画像をメモリ３５０に格納する。メモリ３５０からは、復号された画像が出力信号ＯＳとして取り出される。
【０１０８】
動き補償部３６０は、メモリ３５０に格納された画像を参照画像として取り出して、その参照画像に対して１／８画素補間を行う１６ビット演算補間フィルタ３６１と、注目画像を予測する動き補償予測部３６１とを備えている。この動き補償予測部３６１は、動きデータＭＤの示す動きベクトルと、１６ビット演算補間フィルタ３６１によって１／８画素補間が行われた参照画像とに基づいて動き補償を行う。これによって、動き補償予測部３６１は、注目画像を予測し、その予測画像を示す予測信号ＰＳを加算器３３０に出力する。
【０１０９】
このような動画像復号化装置３００においても、動画像符号化装置１００と同様、１６ビット演算補間フィルタ３６１を備えていることに特徴があり、この１６ビット演算補間フィルタ３６１は、動画像符号化装置１００の１６ビット演算補間フィルタ１５０と同様の機能を有する。したがって、この動画像復号化装置３００であっても、参照画像に対して１／４画素を補間するときに、その画素値を算出する過程において１６ビットを超えるビット数を要することなく、演算の負担を軽減し、ハードウェア構成を簡単にすることができる。
【０１１０】
要約すれば、本発明は、簡略化されたハードウェア構成と演算を採用するだけで、動き検出および動き補償を改善することができるようにするものである。このことは、１／４画素解像度のイメージを得る際に、特定のフィルタ係数と追加的なダウンシフティング操作を採用することにより実現できる。したがって、より簡略化されたハードウェア構成でより効率的な符号化と復号化を実現することができる。
【０１１１】
（変形例）
ここで本実施の形態における１／４画素の画素値を補間する方法の変形例について説明する。
【０１１２】
上記本実施の形態では、水平方向に１／４画素の画素値を補間した後に、垂直方向に１／４画素の画素値を補間するように、水平方向と垂直方向の２段階で補間を行った。しかし本変形例では、水平方向及び垂直方向の区別なく１段階で補間を行う。つまり、本変形例の１６ビット演算補間フィルタ１５０は、２次元フィルタとしての機能を有する。
【０１１３】
図１２は、本変形例に係る補間方法を説明するための説明図である。
この図１２において、白丸は参照画像に存在する１画素単位の画素を示し、水平位置ｈ及び垂直位置ｖにあるその画素の画素値はＰhvであるとする。また２次元フィルタのタップ数は３６（水平方向：６タップ、垂直方向：６タップ）であるとする。
【０１１４】
この場合、１６ビット演算補間フィルタ１５０は、補間される小数画素の画素値ｐhv,ij（ｉ，ｊ＝０〜３。ただしｉ＝０かつｊ＝０を除く）を、次の数式（数２２）を用いて求める。ここで、ｃij（ｍ，ｎ）はフィルタ係数であり（ｍ，ｎ＝−２〜３）、一般に補間される画素の位置（ｉ，ｊ）によって異なる。そしてこのように求められた小数画素の画素値はダウンシフトされる。
【０１１５】
【数２２】
2008507190.tif 000024
【０１１６】
このような本変形例においても、従来例のように一度求めた小数画素の画素値を丸め込むことなく他の小数画素の画素値の算出に用いることがないため、小数画素の算出過程において必要なビット数を少なくすることができる。
【産業上の利用可能性】
【０１１７】
本発明に係る動き補償方法は、演算の負担を軽減するとともにハードウェア構成を簡単にすることができるという効果を有し、例えば、動画像を符号化する動画像符号化装置や、その符号化された動画像を復号化する動画像復号化装置などに適用することができる。
【図面の簡単な説明】
【０１１８】
【図１】図１は、動画像符号化装置の構成を示すブロック図である。
【図２】図２は、ビデオイメージを複数のブロックに分割した様子の説明図である。
【図３】図３は、水平方向における１／４画素精度を求めるための水平フィルタリングの説明図である。
【図４】図４は、垂直方向における１／４画素精度を求めるための垂直フィルタリングの説明図である。
【図５】図５は、１／８画素精度を求めるための水平および垂直バイリニアフィルタリングの説明図である。
【図６】図６は、１／８画素精度を求めるための対角方向におけるバイリニアフィルタリングの説明図である。
【図７】図７は、本発明の実施の形態における動画像符号化装置の構成を示すブロック図である。
【図８】図８は、本発明の実施の形態における動画像符号化装置が動き補償を行う動作を示すフローチャートである。
【図９】図９は、従来の手法と比較した、本発明における第１画像の符号結果の説明図である。
【図１０】図１０は、従来の手法と比較した、本発明における第２画像の符号結果の説明図である。
【図１１】図１１は、本発明の実施の形態における動画像復号化装置の構成を示すブロック図である。
【図１２】図１２は、実施の形態の変形例に係る補間方法を説明するための説明図である。
【図１】
2008507190.tif 000025
【図２】
2008507190.tif 000026
【図３】
2008507190.tif 000027
【図４】
2008507190.tif 000028
【図５】
2008507190.tif 000029
【図６】
2008507190.tif 000030
【図７】
2008507190.tif 000031
【図８】
2008507190.tif 000032
【図９】
2008507190.tif 000033
【図１０】
2008507190.tif 000034
【図１１】
2008507190.tif 000035
【図１２】
2008507190.tif 000036
【国際調査報告】
2008507190.tif 000037
2008507190.tif 000038
2008507190.tif 000039