(57)【要約】  補間フィルタリング方法は、補間対象画素の補間に用いる複数の画素を画像から選択する画素選択ステップ（Ｓ３３）と、画素選択ステップで選択された複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップ（Ｓ３４）と、重み係数決定ステップ（Ｓ３４）で決定された重み係数を用いて、複数の画素の画素値を重み付け加算して補間対象画素の画素値を算出する補間ステップ（Ｓ３５）とを含む。そして、重み係数決定ステップ（Ｓ３４）では、複数の画素のうちのいずれかの画素が補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が対象ブロックに属する場合より、当該画素の重み係数を小さくする。
2010021108.tif 000002
【特許請求の範囲】
【請求項１】
ブロック単位で符号化された画像の画素を補間する補間フィルタリング方法であって、
補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択ステップと、
前記画素選択ステップで選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップと、
前記重み係数決定ステップで決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して前記補間対象画素の画素値を算出する補間ステップとを含み、
前記重み係数決定ステップでは、前記複数の画素のうちのいずれかの画素が前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする
補間フィルタリング方法。
【請求項２】
前記重み係数決定ステップでは、
前記補間対象画素から前記対象ブロックの境界までの距離を算出し、
前記複数の画素それぞれについて、算出した距離を用いて前記補間対象画素から当該画素までの間に前記対象ブロックのブロック境界が存在するか否かを判断することによって、当該画素が前記周辺ブロックに属するか否かを判断する
請求項１に記載の補間フィルタリング方法。
【請求項３】
前記重み係数決定ステップでは、さらに、前記対象ブロックと前記周辺ブロックとの間のブロック境界の境界強度が高くなるほど、前記周辺ブロックに属する画素の重み係数を小さくする
請求項１に記載の補間フィルタリング方法。
【請求項４】
前記重み係数決定ステップでは、前記対象ブロック及び前記周辺ブロックの少なくとも一方が画面間予測符号化された場合に、前記対象ブロック及び前記周辺ブロックの両方が画面内予測符号化された場合より、前記周辺ブロックに属する画素の重み係数を小さくする
請求項３に記載の補間フィルタリング方法。
【請求項５】
前記重み係数決定ステップでは、さらに、前記ブロック境界がマクロブロック境界である場合に、前記ブロック境界がマクロブロック境界でない場合より、前記周辺ブロックに属する画素の重み係数を小さくする
請求項４に記載の補間フィルタリング方法。
【請求項６】
前記重み係数決定ステップでは、さらに、前記対象ブロック及び前記周辺ブロックの少なくとも一方が符号化係数を含む場合に、前記対象ブロック及び前記周辺ブロックの両方が符号化係数を含まない場合より、前記周辺ブロックに属する画素の重み係数を小さくする
請求項４に記載の補間フィルタリング方法。
【請求項７】
前記重み係数決定ステップでは、さらに、前記対象ブロック及び前記周辺ブロックの参照フレーム、参照フレーム番号、及び動きベクトル値の少なくとも１つが異なる場合に、前記対象ブロック及び前記周辺ブロックの参照フレーム、参照フレーム番号、及び動きベクトルが全て同一である場合より、前記周辺ブロックに属する画素の重み係数を小さくする
請求項６に記載の補間フィルタリング方法。
【請求項８】
前記重み係数決定ステップでは、さらに、前記複数の画素のうち、前記対象ブロックと前記周辺ブロックとの境界を挟む２つの画素の画素値の勾配が大きいほど、前記周辺ブロックに属する画素の重み係数を小さくする
請求項３に記載の補間フィルタリング方法。
【請求項９】
複数の符号化対象ブロックを順次符号化する画像符号化方法であって、
前記符号化対象ブロックの予測ブロックを生成する予測ブロック生成ステップと、
前記予測ブロックを用いて、前記符号化対象ブロックを符号化する符号化ステップとを含み、
前記予測ブロック生成ステップは、
補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択ステップと、
前記画素選択ステップで選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップと、
前記重み係数決定ステップで決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間ステップと、
画素が補間された前記画像に基づいて前記予測ブロックを生成する予測ステップとを含み、
前記重み係数決定ステップでは、前記画素が前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする
画像符号化方法。
【請求項１０】
前記符号化ステップでは、さらに、前記重み係数を符号化する
請求項９に記載の画像符号化方法。
【請求項１１】
符号化信号を復号して復号ブロックを生成する画像復号方法であって、
前記復号ブロックの予測ブロックを生成する予測ブロック生成ステップと、
前記予測ブロックを用いて、前記符号化信号を復号する復号ステップとを含み、
前記予測ブロック生成ステップは、
補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択ステップと、
前記画素選択ステップで選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップと、
前記重み係数決定ステップで決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間ステップと、
画素が補間された前記画像に基づいて前記予測ブロックを生成する予測ステップとを含み、
前記重み係数決定ステップでは、前記画素が前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする
画像復号方法。
【請求項１２】
ブロック単位で符号化された画像の画素を補間する補間フィルタリング装置であって、
補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択部と、
前記画素選択部によって選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定部と、
前記重み係数決定部によって決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間部とを備え、
前記重み係数決定部は、前記複数の画素のいずれかが前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする
補間フィルタリング装置。
【請求項１３】
コンピュータに、ブロック単位で符号化された画像の画素を補間させるプログラムであって、
補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択ステップと、
前記画素選択ステップで選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップと、
前記重み係数決定ステップで決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間ステップとを含み、
前記重み係数決定ステップでは、前記複数の画素のいずれかが前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする
プログラム。
【請求項１４】
ブロック単位で符号化された画像の画素を補間する集積回路であって、
補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択部と、
前記画素選択部によって選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定部と、
前記重み係数決定部によって決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間部とを備え、
前記重み係数決定部は、前記複数の画素のいずれかが前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする
集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像の符号化および復号に関し、特に、小数画素精度の動き補償予測を用いたブロック単位の映像コーデックにおいて画素値を補間する方法に関する。
【背景技術】
【０００２】
映像データの圧縮に関しては、複数の映像符号化規格が整備されてきた。このような映像規格には、Ｈ．２６系を定めたＩＴＵ−Ｔ勧告や、ＭＰＥＧ系を定めたＩＳＯ／ＩＥＣ規格などが含まれる。現在、最新かつ最高水準の映像符号化規格は、Ｈ．２６４／ＭＰＥＧ−４ＡＶＣと称される規格である。【０００３】
これらの規格は、いずれも以下の主要工程からなるハイブリッド映像符号化を基本としている。
（ａ）各映像フレームのデータ圧縮をブロックレベルで行うために、各映像フレームを２次元の画素ブロックに分割する。
（ｂ）各ブロックに時空間予測方法を適用して、予測誤差を空間領域から周波数領域に変換し、係数を算出することによって、時空間映像情報を無相関化する。
（ｃ）算出した係数を量子化することによって、データの全体量を削減する。
（ｄ）量子化した係数および予測パラメータをエントロピー符号化アルゴリズムによって符号化することで、そのデータを圧縮する。【０００４】
このように、従来技術による映像規格においては、単に、入力ビデオシーケンスのブロックと、既に符号化されているブロックに基づく予測との差分を伝送する差分パルス符号変調（Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ：ＤＰＣＭ）方式が採用されている。【０００５】
３つの映像符号化規格において採用可能とされている予測方法の１つに、動き補償予測がある。この予測方法では、被写体および／またはカメラの移動に伴う画像変位を示すために、映像データのブロック毎に少なくとも１つの動きベクトルを決定する。決定した動きベクトルに基づけば、１ブロックの画像コンテンツを既に符号化されているブロックの画像コンテンツから、少なくともある程度は、予測可能である。予測画像コンテンツと実際の入力画像コンテンツとの差異は、予測誤差と称され、実際の入力画像コンテンツより、むしろこの差異が動きベクトルと共に符号化される。この方法によれば、ほとんどの「自然」映像のシーケンスについては、符号化対象の情報量を実質的に削減することができる。【０００６】
図１Ａは、Ｈ．２６４／ＡＶＣ規格に準拠した従来の画像符号化装置１００を示すブロック模式図である。この画像符号化装置１００は映像（入力信号）の現ブロックと、既に符号化されてメモリ１４０に格納されているブロック（局所復号画像）に基づく現ブロックの予測信号との差分である予測誤差信号を求めるための減算器１１０を備える。このようにメモリ１４０は、現信号値と、以前の信号値から生成される予測信号とを比較可能にする遅延部として機能する。変換・量子化部１２０は、算出された予測誤差信号を空間領域から周波数領域に変換し、得た量子化係数を量子化する。エントロピー符号化部１９０は、量子化係数をエントロピー符号化する。【０００７】
局所復号画像は、画像符号化装置１００に組み込まれた復号部によって作成される。復号部は、符号化工程を逆に行う。逆量子化・逆変換部１３０は、量子化係数を逆量子化し、逆量子化した係数に対して逆変換を行う。加算器１３５は、復号された量子化予測誤差信号を予測信号に加算し、再構築信号を生成する。【０００８】
量子化することによって、再構築映像信号の上に量子化ノイズが重畳される。ブロック方向に符号化すると、この重畳ノイズがブロッキング特性を発揮することがよくあり、人によっては目障りに感じる場合がある。ブロッキング特性を緩和するために、再構築マクロブロック毎にデブロッキングフィルタ１３７を適用してもよい。デブロッキングフィルタ１３７は、予測信号と量子化予測誤差信号との合計値である再構築信号に適用される。デブロッキングされた信号が復号信号であり、一般的にはこれが表示されることになる。【０００９】
Ｈ．２６４／ＡＶＣのデブロッキングフィルタ１３７は、局所適応機能を有する。ブロッキングノイズが多い場合、強度のローパスフィルタを適用し、ブロッキングノイズが少ない場合、低強度のローパスフィルタを適用する。デブロッキングフィルタ１３７の強度は、いわゆる境界強度ｂＳおよび境界を挟む画素値同士の勾配によって決まる。境界強度ｂＳは、境界の両側にあるブロックｐおよびブロックｑを符号化する方法に応じて、以下の表１に示すように設定されるパラメータである。【００１０】
【表１】
2010021108.tif 000003
【００１１】
ブロック境界におけるデブロッキングの例として、４つの係数を用いる線形デブロッキングフィルタを設置する。このフィルタは、隣接する６つの入力サンプルｐ2、ｐ1、ｐ0、ｑ0、ｑ1、ｑ2に適用される。このとき、境界はｐ0とｑ0との間に位置する。【００１２】
そして、フィルタ出力ｐ0,newおよびｑ0,newは、次のようにして求められる。
p0,new = (p2 - (p1<< 1) + (p0 + q0 + 1) >> 1) >> 1
q0,new = (q2 - (q1<< 1) + (q0 + p0 + 1) >> 1) >> 1【００１３】
画像符号化装置１００で用いられる予測の種類は、マクロブロックが「イントラ」モードで符号化されるか「インター」モードで符号化されるかによって、決まる。「イントラ」モードの場合、映像符号化規格Ｈ．２６４／ＡＶＣは、後続のマクロブロックを予測するために、同一画像の既に符号化されたマクロブロックに基づく予測方法を使用する。「インター」モードの場合、数枚の連続するフレームの対応ブロック同士で動き補償予測を行う。【００１４】
イントラ符号化画像（Ｉタイプ画像）のみ、既に復号された画像を参照することなく、復号可能である。Ｉタイプ画像は、符号化されたビデオシーケンスに対して誤り耐性を有する。さらに、ランダムアクセスを可能にするため、すなわち符号化映像のシーケンス内にあるＩタイプの画像にアクセスできるようにするため、符号化データのビットストリームへのエントリポイントは、Ｉタイプの画像によって提供される。イントラモード、すなわち画面内フレーム予測部１５０による処理と、インターモード、すなわち動き補償予測部１６０による処理との切り替えは、スイッチ１８０（イントラ／インター切り替え部）によって制御される。【００１５】
「インター」モードでは、マクロブロックは、以前のフレームの対応するブロックから、動き補償予測を用いて予測する。予測は、現入力信号および局所復号画像を受信し、動き予測部１７０によって行われる。動き予測によって、２次元の動きベクトルが生成され、現ブロックと既に復号済みのフレームの対応するブロックとの変位が示される。予測した動きに基づいて、動き補償予測部１６０が予測信号を発信する。【００１６】
予測精度を最適化するために、１／２画素精度または１／４画素精度など、サブ画素精度で動きベクトルを求めてもよい。サブ画素精度の動きベクトルは、既に復号済みの有効な画素値がないフレーム内の位置、すなわちサブ画素位置を示す場合がある。したがって、動き補償を行うには、画素値の空間補間が必要となる。これは、補間フィルタ１６２によって行われる。Ｈ．２６４／ＡＶＣ規格によれば、サブ画素位置の画素値を求めるには、フィルタ係数が固定の６タップのウィナー補間フィルタ、および双一次フィルタを適用する。【００１７】
予測精度を向上させるために、Ｈ．２６４／ＡＶＣ規格の固定補間フィルタに代えて、適応的補間フィルタを使用してもよい。参照文献として挙げる特許文献１等によって公知である非分離式の２次元補間フィルタは、予測誤差エネルギーを最小化することによって、フレーム毎に別々に算出される。補間対象の各小数画素位置に対して、個別にフィルタ係数のセットを符号化器側で決定し、補助情報として図１Ａの破線のように画像復号装置に送信する。【００１８】
「イントラ」符号化モードにおいても「インター」符号化モードにおいても、変換・量子化部１２０が現入力信号と予測信号との差分である予測誤差信号を変換して量子化することによって、量子化係数が得られる。一般に、２次元離散コサイン変換（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ：ＤＣＴ）またはその整数バージョン等の直交変換が行われる。【００１９】
係数を量子化するのは、符号化対象のデータ量を削減するためである。量子化工程は、精度と、その精度で各周波数係数を符号化するのに使用されるビット数とを示す量子化テーブルによって制御される。通常、画像品質を向上させるには、高周波成分よりも低周波数成分の方が重要であるため、高周波成分の符号化よりも低周波成分の符号化に使用されるビット数の方が多い。【００２０】
量子化後、量子化係数をエントロピー符号化部１９０に渡すために、量子化係数の２次元配列を１次元の列に変換しなければならない。この変換は、所定のシーケンスにおいて配列を走査することによって行われる。このようにして得た量子化係数の１次元シーケンスをエントロピー符号化部１９０が可変長符号化（ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｃｏｄｅ：ＶＬＣ）によって圧縮符号化する。得られたビットストリームは、動き情報によって多重化され、記録媒体に格納されるか、あるいは画像復号装置側に送信される。【００２１】
符号化された画像を画像復号装置側で再構築するには、符号化処理を逆に行う。図２Ａは、対応する画像復号装置の構造を示す略ブロック図である。【００２２】
図２Ａの画像復号装置１０１において、まず、エントロピー復号部１９１が係数および動き情報のエントロピー符号化を逆に行う。この工程には、復号された係数の列を、逆変換に必要な２次元のデータ配列に変換するための逆走査も含まれる。その後、量子化係数の復号ブロックを逆量子化・逆変換部１２１に渡すとともに、復号された動き情報を動き補償予測部１６０に送る。【００２３】
動きベクトルの実際の値によっては、動き補償予測を行うために画素値の補間が必要になる場合がある。この補間は、補間フィルタ１６２によって行われる。適応的補間フィルタが使用される場合、フィルタ係数もエントロピー復号部１９１によって復号され、図２Ａの破線のように補間フィルタ１６２に供給される。【００２４】
逆変換の結果は、空間領域における量子化予測誤差信号であり、加算器１３５によって、インターモードの動き補償予測部１６０またはイントラモードの画面内フレーム予測部１５０から発信された予測信号に加算される。再構築画像は、デブロッキングフィルタ１３７を通過する場合もあり、得られた復号信号は、メモリ１４０に格納されてから画面内フレーム予測部１５０又は動き補償予測部１６０に渡される。
【先行技術文献】
【特許文献】
【００２５】
【特許文献１】ＷＯ２００６／１０８６５４Ａ２号公報
【発明の概要】
【発明が解決しようとする課題】
【００２６】
デブロッキングフィルタ１３７があろうとなかろうと、ブロック境界には、目障りなブロッキングアーチファクトが発生しやすい。さらに悪いことに、このようなアーチファクトは、動き補償予測を行う際、動きベクトルの値によっては参照フレーム内のブロック境界近傍の画像部分が予測対象ブロックの中心に写されることがあるが、こうした場合に著しく増加する傾向にある。この結果、予測精度が低下し、これによって符号化効率が低下してしまう。【００２７】
したがって、本発明の目的は、映像の符号化および復号の改良方法ならびに改良装置を提供することである。さらに、本発明は、動き補償予測を小数画素精度で行うために必要とされる動き補償予測の改良方法および画素値補間の改良方法を提供することも目的とする。
【課題を解決するための手段】
【００２８】
本発明の一形態に係る補間フィルタリング方法は、ブロック単位で符号化された画像の画素を補間する。具体的には、補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択ステップと、前記画素選択ステップで選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップと、前記重み係数決定ステップで決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して前記補間対象画素の画素値を算出する補間ステップとを含む。そして、前記重み係数決定ステップでは、前記複数の画素のうちのいずれかの画素が前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする。【００２９】
上記構成とすることにより、補間対象画素と同一ブロックに属する画素の重みを相対的に大きくし、補間対象画素と異なるブロックに属する画素の重みを相対的に小さくすることができる。これにより、ブロック毎に符号化したことに起因する歪みの影響が極小化される。その結果、より正確な予測ブロックを生成することが可能となる。【００３０】
また、前記重み係数決定ステップでは、前記補間対象画素から前記対象ブロックの境界までの距離を算出する。そして、前記複数の画素それぞれについて、算出した距離を用いて前記補間対象画素から当該画素までの間に前記対象ブロックのブロック境界が存在するか否かを判断することによって、当該画素が前記対象ブロックに属するか否かを判断してもよい。【００３１】
さらに、前記重み係数決定ステップでは、前記対象ブロックと前記周辺ブロックとの間のブロック境界の境界強度が高くなるほど、前記周辺ブロックに属する画素の重み係数を小さくしてもよい。例えば、対象ブロックと周辺ブロックとの間のブロック歪みが大きい場合には、周辺画素に属する画素の重み係数に極めて小さい値を設定すればよい。このように、ブロック境界の特性に基づいて重み係数を決定すれば、さらに予測ブロックの精度向上が期待できる。【００３２】
一形態として、前記重み係数決定ステップでは、前記対象ブロック及び前記周辺ブロックの少なくとも一方が画面間予測符号化された場合に、前記対象ブロック及び前記周辺ブロックの両方が画面内予測符号化された場合より、前記周辺ブロックに属する画素の重み係数を小さくしてもよい。【００３３】
さらに、前記重み係数決定ステップでは、前記ブロック境界がマクロブロック境界である場合に、前記ブロック境界がマクロブロック境界でない場合より、前記周辺ブロックに属する画素の重み係数を小さくしてもよい。【００３４】
さらに、前記重み係数決定ステップでは、前記対象ブロック及び前記周辺ブロックの少なくとも一方が符号化係数を含む場合に、前記対象ブロック及び前記周辺ブロックの両方が符号化係数を含まない場合より、前記周辺ブロックに属する画素の重み係数を小さくしてもよい。【００３５】
さらに、前記重み係数決定ステップでは、前記対象ブロック及び前記周辺ブロックの参照フレーム、参照フレーム番号、及び動きベクトル値の少なくとも１つが異なる場合に、前記対象ブロック及び前記周辺ブロックの参照フレーム、参照フレーム番号、及び動きベクトルが全て同一である場合より、前記周辺ブロックに属する画素の重み係数を小さくしてもよい。【００３６】
さらに、前記重み係数決定ステップでは、前記複数の画素のうち、前記対象ブロックと前記周辺ブロックとの境界を挟む２つの画素の画素値の勾配が大きいほど、前記周辺ブロックに属する画素の重み係数を小さくしてもよい。これによっても、さらに予測ブロックの精度向上が期待できる。【００３７】
本発明の一形態に係る画像符号化方法は、複数の符号化対象ブロックを順次符号化する。具体的には、前記符号化対象ブロックの予測ブロックを生成する予測ブロック生成ステップと、前記予測ブロックを用いて、前記符号化対象ブロックを符号化する符号化ステップとを含む。前記予測ブロック生成ステップは、補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択ステップと、前記画素選択ステップで選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップと、前記重み係数決定ステップで決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間ステップと、画素が補間された前記画像に基づいて前記予測ブロックを生成する予測ステップとを含む。そして、前記重み係数決定ステップでは、前記画素が前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする。上記構成によれば、精度の高い予測ブロックを生成することができるので、符号化対象ブロックの符号化効率を向上させることができる。【００３８】
さらに、前記符号化ステップでは、前記重み係数を符号化してもよい。これにより、復号器側で重み係数を算出するステップを省略することができる。【００３９】
本発明の一形態に係る画像復号方法は、符号化信号を復号して復号ブロックを生成する。具体的には、前記復号ブロックの予測ブロックを生成する予測ブロック生成ステップと、前記予測ブロックを用いて、前記符号化信号を復号する復号ステップとを含む。前記予測ブロック生成ステップは、補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択ステップと、前記画素選択ステップで選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップと、前記重み係数決定ステップで決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間ステップと、画素が補間された前記画像に基づいて前記予測ブロックを生成する予測ステップとを含む。そして、前記重み係数決定ステップでは、前記画素が前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする。【００４０】
上記構成のように、復号器側でも符号化器側と同じルールに基づいて重み係数を算出すれば、重み係数を符号化する必要がなくなる。これにより、符号化対象ブロックの符号化効率をさらに向上することができる。【００４１】
本発明の一形態に係る補間フィルタリング装置は、ブロック単位で符号化された画像の画素を補間する。具体的には、補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択部と、前記画素選択部によって選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定部と、前記重み係数決定部によって決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間部とを備える。そして、前記重み係数決定部は、前記複数の画素のいずれかが前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする。【００４２】
本発明の一形態に係るプログラムは、コンピュータに、ブロック単位で符号化された画像の画素を補間させる。具体的には、補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択ステップと、前記画素選択ステップで選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップと、前記重み係数決定ステップで決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間ステップとを含む。そして、前記重み係数決定ステップでは、前記複数の画素のいずれかが前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする。【００４３】
本発明の一形態に係る集積回路は、ブロック単位で符号化された画像の画素を補間する。具体的には、補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択部と、前記画素選択部によって選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定部と、前記重み係数決定部によって決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間部とを備える。そして、前記重み係数決定部は、前記複数の画素のいずれかが前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする。【００４４】
なお、本発明は、補間フィルタリング方法（装置）として実現できるだけでなく、これらの機能を実現する集積回路として実現したり、そのような機能をコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。【００４５】
これらは、独立請求項に記載した特徴によって達成される。【００４６】
好ましい実施の形態は、従属請求項の主題である。【００４７】
本発明の手法は、ある特定の位置にある画素値を補間する補間フィルタを、その特定の位置から隣のブロック境界までの距離に基づいて選択するものである。【００４８】
本発明の第１の態様として、小数画素精度の動き補償予測を用いたブロック単位の映像符号化器または映像復号器において画素値を補間する方法を提供する。この方法は、複数の補間フィルタから選択された１枚の補間フィルタを補間対象の画素値に適用するステップを含み、補間フィルタは、補間値が求められる画像位置から垂直方向の最隣接ブロック境界までの水平方向の距離、および／または、補間値が求められる画像位置から水平方向の最隣接ブロック境界までの垂直方向の距離に基づいて、選択される。【００４９】
好ましくは、本発明の方法は、さらに、補間値が求められる画像位置から所定の水平方向距離および／または所定の垂直方向距離にブロック境界があるか否かを判断するステップを含み、その判断ステップの結果に基づいて補間フィルタを選択する。このようにして、例えば、水平方向または垂直方向のブロック境界が近傍にあるか否かによって、最適な補間フィルタを選択すればよい。【００５０】
さらに好ましくは、所定の水平方向距離および所定の垂直方向距離とは、それぞれ、補間フィルタの水平方向および垂直方向のタップ数の２分の１である。また、所定の水平方向距離および所定の垂直方向距離は、それぞれ、補間フィルタの水平方向および垂直方向のタップ数の２分の１よりも小さい値に設定されてもよい。いずれの場合においても、フィルタサポートがブロック境界に接するか否かに基づいて、言い換えれば、フィルタのタップがブロック境界と交差するか否かに基づいて、補間フィルタを選択することが可能である。【００５１】
好ましくは、本発明の方法は、さらに、補間値が求められる画像位置から右側で隣接する垂直方向のブロック境界までの第１水平方向距離を求めるステップと、補間値が求められる画像位置から左側で隣接する垂直方向のブロック境界までの第２水平方向距離を求めるステップと、補間値が求められる画像位置から上方で隣接する水平方向のブロック境界までの第１垂直方向距離を求めるステップと、補間値が求められる画像位置から下方で隣接する水平方向のブロック境界までの第２垂直方向距離を求めるステップとを含む。したがって、好ましくは、第１水平方向距離、第２水平方向距離、第１垂直方向距離、および第２垂直方向距離に基づいて、補間フィルタを選択することが可能である。この場合、周辺のブロック境界までの距離に応じて最適な補間フィルタを選択すればよい。また、補間フィルタは、第１水平方向距離と第２水平方向距離との最小値および第１垂直方向距離と第２垂直方向距離との最小値に基づいて選択されてもよい。これが特に利点となるのは、補間フィルタが左右対称である場合、例えば、左側のフィルタ・タップがその右側の対称位置にあるフィルタ・タップと同一の係数で重み付けされる場合である。【００５２】
好ましくは、補間フィルタは、さらに、垂直方向のブロック境界の左側および右側にあるブロックの符号化方法を示す符号化パラメータならびに／または水平方向のブロック境界の上方および下方にあるブロックの符号化方法を示す符号化パラメータに基づいて選択される。より好ましくは、符号化パラメータは、各ブロックをイントラ符号化するか、インター符号化するか、および／または、各ブロックが属するスライスが異なるか否か、および／または、各ブロックが属するマクロブロックが異なるか否か、および／または、各ブロックが符号化係数を含むか否か、および／または、各ブロック共通の参照フレームがあるか否か、および／または、各ブロックが同一の動きベクトルを有するか否かを示す。より好ましくは、参照フレームのある特定の境界に適用したデブロッキングフィルタおよび／またはループフィルタの種類および強度に応じて、補間フィルタの種類が決められてもよい。高強度のデブロッキングおよび／またはループフィルタが適用されたブロック境界と、これよりもフィルタリング程度が低かったブロック境界、または全くフィルタリングされなかったブロック境界とでは、異なる補間フィルタが適用されてよい。したがって、近傍のブロック境界の種類に応じて最適な補間フィルタを選択することも可能である。適用する補間フィルタは、例えば、ブロック境界が異なるスライスとスライスとの境界であるか、マクロブロック境界であるか、マクロブロック内のブロック境界であるかによって変えてよい。前記符号化パラメータは、この特定の境界に出現するであろうブロッキングアーチファクトの程度を示す指標ともなり得るので、これに従って最適な補間フィルタを選択してよい。前記符号化パラメータは、さらに、境界の上方（左側）のブロックと下方（右側）のブロックのいずれがより忠実に符号化されているかを示すこともできるので、予測精度を向上させるために、境界の一方側の画素値に注目して補間してもよい。【００５３】
好ましくは、補間フィルタは、さらに、垂直方向のブロック境界を挟む画素値同士の勾配、および／または、水平方向のブロック境界を挟む画素値同士の勾配に基づいて選択される。勾配は、ブロック境界に出現するブロッキングアーチファクトの程度についての何らかの指標にもなり得るので、これに従って最適な補間フィルタを選択してよい。ブロッキングアーチファクトが顕著なブロック境界においては、例えば、その境界の他方側の画素を補間画素の演算時に一切考慮しない、あるいは、その境界に隣接しない画素に注目する、とした方がよい場合がある。【００５４】
本発明の他の態様として、動画像シーケンスを符号化および／または復号する方法を提供する。この方法は、ブロック単位で画像を符号化または復号するために、動画像シーケンスの各画像を複数のブロックに分割するステップと、符号化済みまたは復号済みブロックから複数のブロックのうちの１ブロックを予測するために、動き補償予測を適用するステップとを含み、予測したブロックの画素値を本発明の第1の態様に従った画素値補間方法を用いて求める。【００５５】
好ましくは、この符号化方法は、さらに、予測誤差エネルギーを最小化することによって、複数の補間フィルタを動画像シーケンスに適応化させるステップを含む。具体的には、予測ブロックと、これに対応する符号化対象の動画像シーケンスのブロックとの差分を算出することによって、予測誤差エネルギーが求まる。このようにすることで、符号化対象の動画像シーケンスに応じた最適な補間フィルタの集合を決定することができる。最適な補間フィルタに基づいて動き補償予測を行うことによって、予測精度を向上させることができ、この結果、全体の符号化効率が上がる。【００５６】
好ましくは、適応化された複数の補間フィルタを示すフィルタ情報を符号化することによって、適応結果が復号器側に送信される。その後、復号器側で、複数の補間フィルタを示すフィルタ情報を復号してから、適応化された補間フィルタを使用してよい。【００５７】
本発明のさらに他の態様として、本発明の第２の態様に従って、動画像シーケンスを符号化または復号するように構成された映像符号化器および映像復号器を提供する。  【００５８】
最後に、本発明の態様に従って、方法を実行できるように適応されたコンピュータ読み取り可能なプログラムコードが記録された、コンピュータで読み取り可能な媒体を備えるコンピュータプログラム製品を提供する。
【発明の効果】
【００５９】
本発明によれば、補間対象画素と同一ブロックに属する画素の重みを相対的に大きくし、補間対象画素と異なるブロックに属する画素の重みを相対的に小さくすることができる。これにより、ブロック毎に符号化したことに起因する歪みの影響が極小化される。その結果、より正確な予測ブロックを生成することが可能となる。
【図面の簡単な説明】
【００６０】
【図１Ａ】図１Ａは、画像符号化装置を示すブロック図である。
【図１Ｂ】図１Ｂは、図１Ａの画像符号化装置の動作を示すフローチャートである。
【図２Ａ】図２Ａは、画像復号装置を示すブロック図である。
【図２Ｂ】図２Ｂは、図２Ａの画像復号装置の動作を示すフローチャートである。
【図３Ａ】図３Ａは、補間フィルタを示すブロック図である。
【図３Ｂ】図３Ｂは、図３Ａの補間フィルタの動作を示すフローチャートである。
【図４】図４は、動き補償予測に用いる映像データのブロックおよび補間フィルタを示す図である。
【図５】図５は、本発明の実施の形態に従った補間フィルタの選択方式を示す概略図である。
【図６】図６は、本発明の他の実施の形態に従った補間フィルタの選択方式を示す概略図である。
【図７Ａ】図７Ａは、フィルタ・タップがブロック境界を越えない状態を示す図である。
【図７Ｂ】図７Ｂは、フィルタ・タップの一部（１画素）がブロック境界を越えた状態を示す図である。
【図７Ｃ】図７Ｃは、フィルタ・タップの一部（２画素）がブロック境界を越えた状態を示す図である。
【図７Ｄ】図７Ｄは、補間対象画素がブロック境界に位置する状態を示す図である。
【図７Ｅ】図７Ｅは、図７Ｃと対称な図である。
【図７Ｆ】図７Ｆは、図７Ｂと対称な図である。
【図７Ｇ】図７Ｇは、フィルタ・タップの２箇所でブロック境界を越えた状態を示す図である。
【発明を実施するための形態】
【００６１】
本発明に関し、上述の目的および特徴とその他の目的および特徴とを、付随する図面を参照しながら、後述の記述および好ましい実施の形態において、より明確にする。
【００６２】
まず、図１Ａ及び図１Ｂを参照して、本発明の一実施形態に係る画像符号化装置１００の構成及び動作を説明する。図１Ａは、画像符号化装置１００のブロック図である。図１Ｂは、画像符号化装置１００の動作を示すフローチャートである。なお、画像符号化装置１００の基本構成は、従来例と本件発明とで共通している。
【００６３】
画像符号化装置１００は、図１Ａに示されるように、減算器１１０と、変換・量子化部１２０と、逆量子化・逆変換部１３０と、加算器１３５と、デブロッキングフィルタ１３７と、エントロピー符号化部１９０と、予測ブロック生成部（図示省略）とを備える。この画像符号化装置１００は、符号化対象画像を構成する複数の符号化対象ブロックを順次符号化する。
【００６４】
減算器１１０は、符号化対象ブロック（入力信号）から予測ブロック（予測信号）を減算して予測誤差信号を生成する。変換・量子化部１２０は、予測誤差信号をＤＣＴ変換（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ：離散コサイン変換）すると共に、量子化して量子化係数を生成する。エントロピー符号化部１９０は、量子化係数をエントロピー符号化して符号化信号を生成する。なお、量子化係数と共に、動き予測部１７０で生成される動き補償データや補間フィルタ１６２のフィルタ係数等を含めてエントロピー符号化してもよい。
【００６５】
逆量子化・逆変換部１３０は、量子化係数を逆量子化すると共に、ＤＣＴ逆変換して量子化予測誤差信号を生成する。加算器１３５は、量子化予測誤差信号と予測ブロックとを加算して再構築信号を生成する。デブロッキングフィルタ１３７は、再構築信号からブロック歪みを除去して復号信号を生成する。
【００６６】
予測ブロック生成部は、符号化対象ブロック（入力信号）より前に符号化された画像に基づいて、当該符号化対象ブロックを予測した予測ブロックを生成する。この予測ブロック生成部は、メモリ１４０と、画面内フレーム予測部１５０と、動き補償予測部１６０と、補間フィルタ１６２と、動き予測部１７０と、スイッチ１８０とによって構成されている。
【００６７】
メモリ１４０は、復号信号を一時記憶する遅延器として機能する。より具体的には、変換・量子化部１２０で量子化され、且つ逆量子化・逆変換部で逆量子化されたブロックを順次記憶し、１枚の画像（ピクチャ）を記憶する。画面内フレーム予測部１５０は、復号信号を画面内予測して予測信号を生成する。補間フィルタ１６２は、動き補償予測に先立って復号信号の画素値を空間的に補間する。動き予測部１７０は、復号信号と次の符号化対象ブロックとに基づいて動き予測を行い、動きデータ（動きベクトル）を生成する。動き補償予測部１６０は、復号信号と動きデータとに基づいて動き補償予測を行い、予測ブロックを生成する。スイッチ１８０は、予測モードとして「イントラ」モード及び「インター」モードのいずれかを選択する。そして、スイッチ１８０から出力される予測ブロックは、次の符号化対象ブロックを予測した信号となる。
【００６８】
次に、図１Ｂを参照して、画像符号化装置１００の動作を説明する。
【００６９】
まず、減算器１１０は、符号化対象ブロックから予測ブロックを減算して、予測誤差信号を生成する（Ｓ１１）。次に、変換・量子化部１２０は、予測誤差信号をＤＣＴ変換すると共に、量子化して量子化係数を生成する（Ｓ１２）。次に、エントロピー符号化部１９０は、量子化係数、動きデータ、及びフィルタ係数をエントロピー符号化して符号化信号を生成する（Ｓ１３）。
【００７０】
一方、エントロピー符号化部１９０の動作と平行して、逆量子化・逆変換部１３０は、量子化係数を逆量子化すると共に、ＤＣＴ逆変換して量子化予測誤差信号を生成する（Ｓ１４）。また、加算器１３５は、量子化予測誤差信号と予測ブロックとを加算して再構築信号を生成する。デブロッキングフィルタ１３７は、再構築信号からブロック歪みを除去して復号信号を生成する。そして、予測ブロック生成部は、復号信号に基づいて予測ブロックを生成する（Ｓ１５）。なお、予測ブロックの生成処理の詳細は、後述する。
【００７１】
次に、図２Ａ及び図２Ｂを参照して、本発明の一実施形態に係る画像復号装置１０１の構成及び動作を説明する。図２Ａは、画像復号装置１０１のブロック図である。図２Ｂは、画像復号装置１０１の動作を示すフローチャートである。なお、画像復号装置１０１の基本構成は、従来例と本件発明とで共通している。
【００７２】
画像復号装置１０１は、図２Ａに示されるように、エントロピー復号部１９１と、逆量子化・逆変換部１２１と、加算器１３５と、デブロッキングフィルタ１３７と、ポストフィルタ１３９と、予測ブロック生成部（図示省略）とを備える。この画像復号装置１０１は、図１Ａに示される画像符号化装置１００で符号化された符号化信号を復号して復号ブロック（復号信号）を生成する。なお、図１Ａに示される画像符号化装置１００と共通の機能ブロックには、同一の参照番号を付し、詳しい説明を省略する。
【００７３】
エントロピー復号部１９１は、画像符号化装置１００から出力された符号化信号（入力信号）をエントロピー復号して、量子化係数、動きデータ、及びフィルタ係数を取得する。ポストフィルタ１３９は、例えば、復号信号に適用されるウィナーフィルタであって、画像の主観的な画質を改善する。
【００７４】
予測ブロック生成部は、メモリ１４０と、画面内フレーム予測部１５０と、動き補償予測部１６０と、補間フィルタ１６２と、スイッチ１８０とを備える。この予測ブロック生成部は、基本的な構成及び動作は共通するが、動き予測部１７０を省略して、動きデータをエントロピー復号部１９１から取得する点、及び補間フィルタ１６２のフィルタ係数をエントロピー復号部１９１から取得する点が異なる。
【００７５】
次に、図２Ｂを参照して、画像復号装置１０１の動作を説明する。
【００７６】
まず、エントロピー復号部１９１は、符号化信号をエントロピー復号して、量子化係数、動きデータ、及びフィルタ係数を取得する（Ｓ２１）。次に、逆量子化・逆変換部１２１は、量子化係数を逆量子化すると共に、ＤＣＴ逆変換することにより、量子化予測誤差信号を生成する（Ｓ２２）。次に、加算器１３５は、量子化予測誤差信号と予測ブロックとを加算して再構築信号を生成する。また、デブロッキングフィルタ１３７は、再構築信号からブロック歪みを除去して復号ブロックを生成する（Ｓ２３）。さらに、図２Ａに示される画像復号装置１０１は、復号ブロックにポストフィルタ１３９を適用して、出力信号を生成する。
【００７７】
一方、ポストフィルタ１３９によるフィルタリング処理と平行して、予測ブロック生成部は、予測ブロックを生成する（Ｓ１５）。予測ブロックの生成処理の詳細は、後述する。なお、上記の例では、エントロピー復号部１９１からフィルタ係数を取得して動作する補間フィルタ１６２の例を示したが、これに限定されない。つまり、画像符号化装置１００及び画像復号装置１０１双方の補間フィルタ１６２が同じ方法でフィルタ係数を決定するようにしてもよい。これにより、符号化信号にフィルタ係数を含める必要がなくなるので、符号化効率が向上する。
【００７８】
次に、図３Ａ及び図３Ｂを参照して、補間フィルタ１６２の構成、及び予測ブロック生成部の動作（予測ブロック生成処理）を説明する。なお、図３Ａは、補間フィルタ１６２のブロック図である。図３Ｂは、予測ブロック生成処理を示すフローチャートである。
【００７９】
補間フィルタ１６２は、図３Ａに示されるように、画素選択部１６２ａと、重み係数決定部１６２ｂと、補間部１６２ｃとを備える。この補間フィルタ１６２は、メモリ１４０に格納されている画像の画素を空間補間する。
【００８０】
画素選択部１６２ａは、補間対象画素の補間に用いる複数の画素を、メモリ１４０に格納されている画像から選択する。重み係数決定部１６２ｂは、画素選択部１６２ａで選択された複数の画素それぞれに対応する重み係数を決定する。補間部１６２ｃは、重み係数決定部１６２ｂで決定された重み係数を用いて、複数の画素の画素値を重み付け加算して、補間対象画素の画素値を算出する。
【００８１】
次に、図３Ｂを参照して、予測ブロック生成処理を説明する。
【００８２】
まず、予測ブロック生成部は、次に符号化される符号化対象ブロックに対応する予測ブロックを、「インター」モードで予測するか、「イントラ」モードで予測するかを決定し、スイッチ１８０を切り替える（Ｓ３１）。「インター」モードで予測する場合（Ｓ３１で「インター」）、画面内フレーム予測部１５０は、メモリ１４０から読み出した復号信号を用いて予測ブロックを生成する（Ｓ３２）。
【００８３】
一方、「イントラ」モードで予測する場合（Ｓ３１で「イントラ」）、補間フィルタ１６２は、動き補償予測に先立って、画像の画素を補間する。
【００８４】
まず、画素選択部１６２ａは、補間対象画素の補間に用いる複数の画素を選択する（Ｓ３３）。例えば、補間対象画素の右側の３つの整数画素、及び左側の３つの整数画素の合計６画素が選択される。
【００８５】
次に、重み係数決定部１６２ｂは、画素選択部１６２ａで選択された各画素それぞれの重み係数を決定する（Ｓ３４）。例えば、上記の例（６画素を選択した例）に対応する重み係数は、（−２，−１，０，１，２，３）のようになる。
【００８６】
なお、重み係数は、画素選択部１６２ａで選択された各画素が、補間対象画素の属する対象ブロックに属するか、対象ブロックと異なる周辺ブロックに属するかによって異なる値となる。具体的には、各画素が対象ブロックに属する場合に、周辺ブロックに属する場合より大きな重み係数が割り当てられる。例えば、上記の例（−２，−１，０，１，２，３）は、６画素全てが対象ブロックに属する場合に用いられる重み係数であったとする。これに対して、右端の画素のみが周辺ブロックに属する場合には、例えば、（−２，−１，０，１，２，２）のような重み係数が割り当てられる。
【００８７】
なお、重み係数決定部１６２ｂにおいて、各画素が対象ブロックに属するか否かを判断する具体的な方法は、特に限定されない。例えば、まず、補間対象画素から対象ブロックの境界までの距離（水平方向、及び／又は、垂直方向）を算出する。そして、各画素について、補間対象画素から当該画素までの間に対象ブロックのブロック境界が存在するか否かによって、当該画素が対象ブロックに属するか否かを判断してもよい。
【００８８】
次に、補間部１６２ｃは、重み係数決定部１６２ｂで決定された重み係数を用いて、画素選択部１６２ａで選択した各画素の画素値を重み付け加算する（Ｓ３５）。これにより、補間対象画素の画素値が算出される。なお、Ｓ３３〜Ｓ３５の処理は、全ての補間対象画素について実行される。次に、動き補償予測部１６０は、補間後の画像と、動き予測部１７０が生成した動きデータとを用いて予測ブロックを生成する（Ｓ３６）。
【００８９】
上記の処理は、参照画像の画素を補間するに際して、補間対象画素と同一ブロックに属する画素の重みを相対的に大きくし、補間対象画素と異なるブロックに属する画素の重みを相対的に小さくするものである。これにより、ブロック毎に符号化したことに起因する歪みの影響を極小化することができる。その結果、より正確な予測ブロックを生成することが可能となる。
【００９０】
なお、Ｓ３４において、周辺ブロックに属する画素の重み係数は、対象ブロックと周辺ブロックとのブロック境界の境界強度ｂＳに応じて値を変更してもよい。具体的には、表１に示す境界強度ｂＳが強い（数値が大きい）ほど重み係数を小さくすればよい。
【００９１】
例えば、対象ブロック及び周辺ブロックの少なくとも一方が画面間予測符号化された場合（ｂＳ＝３，４）と、対象ブロック及び周辺ブロックの両方が画面内予測符号化された場合（ｂＳ＝０，１，２）とでは、前者の場合に、より小さい重み係数を割り当てればよい。
【００９２】
また、対象ブロック及び周辺ブロックの少なくとも一方が画面間予測符号化された場合において、ブロック境界がマクロブロック境界である場合（ｂＳ＝４）と、ブロック境界がマクロブロック境界でない場合（ｂＳ＝３）とでは、前者の場合に、より小さな重み係数を割り当てればよい。
【００９３】
また、対象ブロック及び周辺ブロックの両方が画面内符号化された場合において、対象ブロック及び周辺ブロックの少なくとも一方が符号化係数を含む場合（ｂＳ＝２）と、対象ブロック及び周辺ブロックの両方が符号化係数を含まない場合（ｂＳ＝１）とでは、前者の場合に、より小さな重み係数を割り当てればよい。
【００９４】
さらに、対象ブロック及び周辺ブロックの両方が符号化係数を含まない場合において、対象ブロック及び周辺ブロックの参照フレーム、参照フレーム番号、及び動きベクトル値の少なくとも１が異なる場合（ｂＳ＝１）と、対象ブロック及び周辺ブロックの参照フレーム、参照フレーム番号、及び動きベクトルが全て同一である場合（ｂＳ＝０）とでは、前者の場合に、より小さな重み係数を割り当てればよい。
【００９５】
さらに、Ｓ３４において、周辺ブロックに属する画素の重み係数は、画素選択部１６２ａで選択された画素のうち、対象ブロック及び周辺ブロックの境界を挟む２つの画素の画素値の勾配に応じて値を変更してもよい。具体的には、勾配が大きいほど、重み係数を小さくすればよい。
【００９６】
次に、図４〜図７Ｇを参照して、補間フィルタ１６２の処理の具体例（主に、重み係数決定部１６２ｂによる重み係数の決定方法）を説明する。
【００９７】
図４は、映像データのブロックの概略図である。黒抜きの円は、フル画素の位置、すなわち原画像のサンプル位置を示し、白抜きの円は、画素値が補間対象となるサブ画素の位置を示す。以下に挙げる図面で示すのは１／４画素精度であるが、本発明は、小数画素精度であれば限定されることなく、１／２画素でも１／４画素でも１／８画素でも、さらには垂直方向と水平方向とで異なる小数画素精度のものであっても、適用が可能である。
【００９８】
図４中の破線３１０、３１１および破線３１２、３１３は、それぞれ、水平方向のブロック境界および垂直方向のブロック境界、つまり４×４ブロックの境界を示す。なお、例えば、Ｈ．２６４規格に準じて別個のマクロブロックに分割されたものであれば、４×４、８×４、４×８、８×２、２×８、８×８、１６×１６、３２×１６、１６×３２、３２×３２、６４×３２、３２×６４、６４×６４など、ブロックの大きさを問わず、１フレーム内で異なる大きさのブロックを組み合わせたものであっても、本発明の適用が可能である。
【００９９】
以下において、ｎは、サブ画素精度を表す。すなわち、１／２画素のときはｎ＝２であり、１／４画素のときはｎ＝４である。また、原画像（つまり映像データのブロック）は、フル画素位置（ｘ，ｙ）における画素値であるＳx,yによって示される。原画像を水平方向および垂直方向に補間した画像は、Ｓ＾ｎｘ＋ｐ，ｎｙ＋ｑで表される。ここで、サブ画素位置は、図４のように、ｐ＝０，…，ｎ−１、ｑ＝０，…，ｎ−１で表される。したがって、補間画像のフル画素位置（ｎｘ，ｎｙ）における画素は、原画像の画素（ｘ，ｙ）に対応している。ここで、記号「〜（ハット）」は、それぞれ直前の文字の上に付される記号を示し、本明細書では、以下、記号「〜（ハット）」を同様な意味で使用する。
【０１００】
上述のように、従来の適応的補間フィルタは、各サブ画素位置（ｐ，ｑ）に個別に規定されている。したがって、そのような従来の適応的補間フィルタは、原画像を水平方向および垂直方向に補間した画像に対して当該原画像の位置を特定する線形作用素ｆ(ｐ,ｑ)で規定できる。すなわち、式１が成立する。
【０１０１】
【数１】
2010021108.tif 000004
【０１０２】
ここで、ｆ(ｉｐ,,ｊｑ )とは、補間フィルタの離散フィルタ係数（重み係数）であり、例えば、６×６タップフィルタの場合、i=−２，−１，０，１，２，３、j=−２，−１，０，１，２，３である。フィルタ係数ｆ(ｉｐ,,ｊｑ )が０にならない点（ｉ，ｊ）の集合、例えば、６×６タップフィルタの結果に影響する６×６画素の集合は、通常、フィルタサポートと称される。したがって、式１および以下の式２における総和は、使用するフィルタのサポートを超えることになる。
【０１０３】
従来の適応的補間フィルタは、サブ画素位置ごとに個別に規定されているが、ブロックの中心のサブ画素位置にある画素値を補間する（すなわち、補間に用いる全ての画素が対象ブロックに属する。以下同じ。）にも、当該ブロックの境界近傍のサブ画素位置にある画素値を補間する（すなわち、補間に用いる画素の一部が周辺ブロックに属する。以下同じ）にも、全く同じ補間フィルタを使用する。しかし、これは、ブロック単位の映像コーデックにおいて、特に目立ったブロッキングアーチファクトがある場合には、不都合な場合がある。
【０１０４】
本発明は、ブロック境界の存在を考慮することによって、例えば、ブロック境界近傍の画素値を補間するときと、当該ブロックの中心部の画素値を補間するときとでは、異なる補間フィルタを使用することによって、上記の問題を解決する。補間フィルタの種類としては、フィルタ係数が異なるフィルタ、または、８タップ、６タップ、４タップ、２タップ、０タップなど、フィルタ長が異なるフィルタが挙げられる。
【０１０５】
なお、上記の説明は、補間フィルタが物理的に複数個設けられている場合のみならず、フィルタ係数を任意に変更可能な補間フィルタを用いることによっても実現できる。また、周辺ブロックに属する画素に対応する重み係数を０にすることにより、実質的にフィルタ長を変更することが可能である。
【０１０６】
この区別をするのに最も一般的な手法としては、補間画像の画素（ｎｘ＋ｐ，ｎｙ＋ｑ）ごとに別個の補間フィルタを使用することである。したがって、本発明に係る補間フィルタは、原画像を水平方向および垂直方向に補間した画像に対して、当該原画像の位置を特定する線形作用素ｆ(ｘ,ｙ,ｐ,ｑ)で規定できる。すなわち、式２が成立する。
【０１０７】
【数２】
2010021108.tif 000005
【０１０８】
ここで、ｆ(ｘ,i,ｙ, jｐ, ｑ)とは、補間フィルタの離散フィルタ係数（重み係数の集合）であり、ｘ，ｙ，ｐ，ｑについて、サブ画素精度の現在位置（ｎｘ＋ｐ，ｎｙ＋ｑ）によって変わるものである。
【０１０９】
この手法をとると、復号器側に送信するフィルタ係数が膨大な数になることは明らかである。このシグナリング・オーバヘッドを妥当な量に削減するためには、対称性と不変性とを利用するとよい。例えば、（ある特定のサブ画素位置について）中心部の内側であれば、補間フィルタがすべて同じである、すなわち、式３のように仮定した方が妥当な場合もある。
【０１１０】
【数３】
2010021108.tif 000006
【０１１１】
ブロックの中心部は、例えば、フィルタ・タップがブロック境界に接触しない部分であると定義される。さらに、異なるブロック同士の対応する位置に使用する補間フィルタを同一のものとする。例えば、式４が成立する。
【０１１２】
【数４】
2010021108.tif 000007
【０１１３】
ここでは、画像をＮ×Ｎの大きさのブロックに一律に分割することを前提にしている。
【０１１４】
したがって、フル画素位置（ｘ，ｙ）ごとに、限られた補間フィルタ群｛ｆ(０ｉ,ｐ,,ｊｑ),・・・,ｆ(rmaxｉ,ｐ,,ｊｑ)｝からｆ(ｒ,i,p, jq)を選択することによって、補間フィルタのフル画素位置（ｘ，ｙ）に対する依存度が下がる。したがって、補間フィルタは、指数ｒによって示される。この指数ｒは、ｘとｙの関数であってよい。
【０１１５】
図５は、そのような補間フィルタをブロック内の異なる位置に割り当てる例を示す。ここで、４×４ブロックを９領域ｒ＝０，・・・，８に分割する。各領域ｒ内において、補間するサブ画素位置（ｐ，ｑ）が同一であれば、同一のフィルタｆ(ｒ,i,ｐ,jｑ)を使用する。図５に示した領域の数および配列は、むろん例示であるので、領域はこれよりも多く規定しても少なく規定してもよい。なお、一般には、１領域内においても、サブ画素位置が異なれば、異なるフィルタを使用する。
【０１１６】
図５に示した様々な領域は、補間フィルタの大きさまたはサポートに応じて、すなわち、フィルタ係数ｆ(ｒ,i,ｐ,jｑ)の数または補間フィルタを規定するタップの数に応じて、決められるとよい。例えば、６×６タップの非分離式のフィルタであれば、ｉ＝−２，−１，０，１，２，３、ｊ＝−２，−１，０，１，２，３であるので、３６個の係数ｆ(ｒ,i,ｐ,jｑ)によって規定される。この場合、現在の位置から左へ３画素、右へ３画素、上へ３画素、下へ３画素の範囲に含まれる画素値から補間値を求める。
【０１１７】
図５の領域は、例えば、補間位置から、ある特定の距離内にブロック境界があるかに基づいて補間フィルタが選択されるよう規定されてもよい。この距離は、水平方向または垂直方向のフィルタ・タップ数の半分に設定されるのが好ましい。したがって、６×６タップフィルタでは、この距離は３に設定される。この場合、補間フィルタは、ブロック境界に接触するか否かを基準に選択される。但し、この距離に限定されることなく、特に、水平方向または垂直方向のフィルタ・タップ数の半分よりも短い距離を採用してもよい。隣のブロック境界から、水平方向または垂直方向のフィルタ・タップ数の半分よりも長い距離にある画素値は、ブロック境界を“感じない”ので、サブ画素位置ｐ，ｑのみを考慮し、一般的な補間フィルタで補間してよい。
【０１１８】
図６は、ブロック内の異なる位置に補間フィルタを割り当てる他の例を示す。この例では、補間対象画素３２０の位置から４本のブロック境界までの距離（ｄ１，ｄ２，ｄ３，ｄ４）に基づいて、補間フィルタを選択する。したがって、ｒは、多重指数ｒ＝（ｄ１，ｄ２，ｄ３，ｄ４）である。なお、ブロック内の複数の異なる位置に対して、例えば、図５で縦横に網掛けされた範囲（ｒ＝４）内のすべての位置に対して、全く同一の補間フィルタを選択してもよい。このようにするには、ある特定の最大値ｄｍａｘよりも長い距離をすべて最大値に設定する、すなわち、ｒ＝（ｍｉｎ（ｄ１，ｄｍａｘ），・・・，ｍｉｎ（ｄ４，ｄｍａｘ））とすればよい。
【０１１９】
さらに、最も近いブロック境界までの水平方向および／または垂直方向の距離のみに基づいて、すなわち、ｒ＝ｍｉｎ（ｄ１，ｄ２，ｄ３，ｄ４）またはｒ＝（ｍｉｎ（ｄ１，ｄ３），ｍｉｎ（ｄ２，ｄ４））として、補間フィルタを選択してもよい。さらに、補間フィルタは、いずれにしても一般にサブ画素位置を基準にしているので、フル画素精度でのみ、距離（ｄ１，ｄ２，ｄ３，ｄ４）を求めることにしてもよい。
【０１２０】
補間対象の位置から１または複数のブロック境界までの距離だけでなく、境界そのものの特性も考慮してよい。本発明の好適な実施形態によれば、最適な補間フィルタの選択に境界強度ｂＳ（上記の表１参照）も用いてよい。この場合、例えば、ｒ＝（ｂＳ，ｄ１，ｄ２，ｄ３，ｄ４）と設定することによって、指数ｒにパラメータｂＳの値も含まれる。このように、ある特定の画素がマクロブロック境界またはスライス境界などの“高強度”の境界によって分けられている場合、あるいはそのような場合に限って、補間フィルタを取得する際はこれらの画素を考慮しないような補間フィルタの設定にしてもよい。さらに、ある特定の画素が現ブロックまたは隣接ブロックに属するかによって、また、これらの２ブロックがより忠実に符号化されているかによって、これらの画素に及ばされる補間作用を選択的に強調してもよい。
【０１２１】
以下、最適な動き補償予測を行うために補間フィルタを適応化する方法について簡単に説明する。まず要求されることは、各補間フィルタがフル画素位置にある原画素値を生成することである。したがって、式５が成立する。
【０１２２】
【数５】
2010021108.tif 000008
【０１２３】
ここで、δｋ，ｌはクロネッカーのデルタであり、ｋ＝ｌのときδｋ，ｌ＝１で、ｋ≠ｌのときδｋ，ｌ＝０である。
【０１２４】
再び図４を参照すると、変位ベクトル（３０１、３０２、３０３）は、ｖ→＝（ｖｘ，ｖｙ）で表される。ここで、記号「→（ベクトル）」は、それぞれ直前の文字の上に付される記号を示し、本明細書では、以下、記号「→（ベクトル）」を同様な意味で使用する。成分Ｖｘおよび成分Ｖｙは、小数画素位置を示す。Ｖｘｍｏｄｎ＝０である変位ベクトルは、Ｘ軸方向のフル画素位置に向けられるもの（Ｘ軸方向のフル画素の移動を示すもの）とされる。
【０１２５】
Ｖｘｍｏｄｎ＝１，・・・，（ｎ−１）である変位ベクトルは、Ｘ軸方向のサブ画素位置に向けられるもの（Ｘ軸方向のサブ画素の移動を示すもの）とされる。Ｙ軸方向についても、同様の用語が用いられる。
【０１２６】
ここで、特に図５および図６を参照し、任意のサブ画素位置（ｐ，ｑ）について、ある特定のフィルタ集合ｒのフィルタ係数ｆ(ｒ,i,ｐ,jｑ)を以下のようにして求める。Ｐｘ，ｙは、既に復号済みの参照画像を示し、ｖ→＝（ｖｘ，ｖｙ）は、サブ画素位置（ｐ，ｑ）に向けられたサブ画素位置にある変位ベクトル、すなわちｐ＝ｖｘｍｏｄｎ、ｑ＝ｖｙｍｏｄｎの変位ベクトルを示す。この変位に対する予測誤差エネルギーは式６のように表される。
【０１２７】
【数６】
2010021108.tif 000009
【０１２８】
ここで、ｘ〜＝ｘ＋［ｖｘ／ｎ］、ｙ〜＝ｙ＋［ｖｙ／ｎ］であり、［．．．］は、作用素の独立変数（切り捨て作用素）より小さい整数のうち、最大の値であるＦＬＯＯＲ作用素を示す。ここで、記号「〜（チルダ）」は、それぞれ直前の文字の上に付される記号を示し、本明細書では、以下、記号「〜（チルダ）」を同様な意味で使用する。原画像のうち、変位ベクトルが有効で、かつ集合ｒの補間フィルタが割り当てられた範囲について、ｘおよびｙの総和を求める。この範囲は、変位ベクトルが求められたマクロブックの特定の領域に相当する。また、この領域は、集合ｒの補間フィルタが割り当てられ、かつ同一のサブ画素位置に向けられた変位ベクトル、すなわちｖｘｍｏｄｎ＝ｐ、ｖｙｍｏｄｎ＝ｑの変位ベクトルが含まれる（１または複数の映像）領域の一部または全部を（接続することなく）結合したものによって構成される。
【０１２９】
ここで、式６の予測誤差エネルギーが最小になるように、フィルタ係数ｆ(ｒ,i,ｐ,jｑ)を求める。最適化する場合は、勾配降下法、焼き鈍し法など、この分野で公知の数値最適化アルゴリズムであれば、いずれの方法を用いてもよい。但し、今回のように、フィルタ係数ｆ(ｒ,i,ｐ,jｑ)について、式６の偏導関数を求めて得られた連立一次方程式を解くことによって、最適なフィルタ係数を求めることにしてもよい。すなわち、式７が成立する。
【０１３０】
【数７】
2010021108.tif 000010
【０１３１】
２次元補間フィルタｆ(ｒ,ｐ,ｑ)が分離可能なものであれば、２つの１次元フィルタｇ(ｒ,ｐ,ｑ)およびｈ(ｒ,ｐ,ｑ)の合成として記載してもよい。すなわち、式８が成立する。
【０１３２】
【数８】
2010021108.tif 000011
【０１３３】
ここで、ｇｉ(ｒ,０,０)＝δｉ，０、ｈｊ(ｒ,０,０)＝δｊ，０である。
【０１３４】
通常、水平方向の補間フィルタｇ(ｒ,ｐ,ｑ)は、垂直方向のサブ画素位置ｑとは関係がない、すなわち、ｇ(ｒ,ｐ,ｑ)＝ｇ(ｒ,ｐ)であり、垂直方向の補間フィルタは、フル画素の行についての補間結果に影響を及ぼさない、すなわちｈｊ(ｒ,ｐ,０)＝δｉ，０である、と仮定する。この場合、２次元補間は、２段階処理であると考えられる。第１段階では、“フル画素行”にあるサブ画素位置の画素値を求めるために、水平方向に補間を行う。第２段階では、第１段階で求めた画素値に垂直方向の補間を行うことによって、サブ画素行における画素値を求める。これらの仮定によれば、ｇ(ｒ,ｐ)およびｈ(ｒ,ｐ,ｑ)のフィルタ係数は、式６、および／または、式７から容易に求められる。さらに、垂直方向の補間フィルタは、水平方向のサブ画素位置ｐとは関係がない、すなわちｈ(ｒ,ｐ,ｑ)＝ｈ(ｒ,ｑ)であると仮定してもよい。この仮定によれば、フィルタ係数の総数をさらに削減できる。
【０１３５】
図７Ａ〜図７Ｇは、フィルタ・タップに対するブロック境界の位置に基づいた補間フィルタの選択を示す概略図である。補間対称の１／２画素位置を円６３０で示し、補間フィルタ（ここでは６タップフィルタ）が作用するフル画素位置を四角６２０で示す。また、図７Ａは、フィルタ・タップがブロック境界を越えない場合の、ブロックの中央部における状況を示している。図７Ｂ〜図７Ｆは、補間対象のサブ画素位置が取り得る５つの地点および隣のブロック境界６１０を示す。最後に、図７Ｇは、補間フィルタのサポート内にブロック境界が２本ある場合の状況を示す。この状況がみられるのは、ブロックが４×４などの小さいサイズであるときにフィルタサポートが大きい場合、すなわち、タップ数がブロックのエッジ長を超える“大きな”フィルタの場合である。
【０１３６】
本発明によれば、図７Ａ〜図７Ｇに示した７つのケースそれぞれについて、特異な補間フィルタが使用される。但し、特異な補間フィルタの数は、フィルタの大きさ、サブ画素精度、ブロックの大きさによって、増減する。また、必ずしも図７Ａ〜図７Ｇに示した全てのケースについて、特異な補間フィルタによって処理しなければならないというわけではない。フィルタが対称であるとされれば、例えば、図７Ｂおよび図７Ｃに使用するフィルタはそれぞれ、図７Ｆおよび図７Ｅに使用するフィルタと同一にしてもよい。また、図７Ｇのフィルタは、図７Ｂのフィルタと図７Ｆのフィルタと同一にしてもよい。
【０１３７】
なお、簡略化のため、図７Ａ〜図７Ｇには１次元の実施例のみ示している。これらの１次元の実施例は、分離可能な補間フィルタの場合、２つの１次元の補間フィルタｇ(ｒ,ｐ)およびｈ(ｒ,ｐ,ｑ)に直接適用するようにしてよいが、（非分離式の）２次元補間フィルタも、水平方向および／または垂直方向の境界の、フィルタサポートに対する位置によって、同様の区別が可能である。
【０１３８】
なお、最適な補間フィルタを選択するために、ブロック境界に基づいた他の区別を行ってもよい。そのような区別の例を以下に示す。
・エッジが全くない／エッジが１つ以上ある。
・エッジが全くない／エッジが１つある／エッジが２つある。
・エッジが全くない／中央にエッジがある／その他にもエッジが複数ある。
・エッジが全くない／中央にエッジがある／違う位置にエッジが１つある／エッジが２つある。
・エッジが全くない／中央にエッジがある／右側にエッジが複数（１つ）ある／左側にエッジが複数（１つ）ある／エッジが２つある。
・エッジが全くない／中央にエッジがある／中央から２画素右側にエッジが複数ある／中央から１画素右側にエッジが複数ある／中央から２画素左側にエッジが複数ある／中央から１画素左側にエッジが複数ある／エッジが２つある。
・対称フィルタの場合、エッジが全くない／中央にエッジがある／中央から２画素離れたところにエッジが複数ある／中央から１画素離れたところにエッジが複数ある。
【０１３９】
これら以外の選択肢、その組み合わせ、特に、境界強度ｂＳなどのブロック境界を特定するパラメータとの組み合わせなども可能である。また、パラメータは、前のフレームを復号するためにビットストリームで送信したもの、およびフィルタの選択に用いるものを、関連する参照フレームとともに保存する必要があり、これらの符号化パラメータを保存するために新たなメモリを追加してもよい。
【０１４０】
補間フィルタを選択するには、具体的には、補間対象サンプルからフル画素精度で最も近いブロック境界までの距離をｄ１〜ｄ４とし、補間フィルタ指数ｋをｍｉｎ（ｄ１，ｄ３）およびｍｉｎ（ｄ２，ｄ４）によって特定する参照テーブルを使用する（図６参照）。ブロック境界は、映像符号化方法においてブロックに分割されたものであれば、４×４、８×４、４×８、８×２、２×８、８×８、１６×１６、３２×１６、１６×３２、３２×３２、６４×３２、３２×６４、６４×６４など、あらゆる大きさのブロックの境界であってよく、１フレーム内で異なる大きさのブロックを組み合わせたものの境界であってもよい。また、各フィルタ指数ｋは、符号化器側で予測されて復号器に送信される補間フィルタを示す。補間フィルタは、フィルタ係数が異なるものでもよく、８タップ、６タップ、４タップ、２タップ、０タップなど、フィルタ長が異なるものでもよい。
【０１４１】
さらに好ましくは、６タップの補間フィルタの場合、このような参照テーブルが以下のように定められる。
【０１４２】
【表２】
2010021108.tif 000012
【０１４３】
適応的フィルタの係数を送信すると追加ビットレートが大きくなるので、特に、低空間解像度の映像シーケンスの場合や非分離式のフィルタの場合、全体の符号化ゲインがオーバヘッド情報によって低下することがある。補助情報を削減するために、画像の統計的特性が対称であると仮定してもよい。このようにして、フル画素位置同士で現在のサブ画素位置までの距離が等しい場合には、フィルタ係数は等しいと考える。但し、エイリアシングなどの信号のアーチファクトまたは変位予測誤差があるので、すべてのシーケンスについて対称性の仮定が当てはめられるというわけではない。したがって、フィルタの適応は信号統計値に対して限界があるので、符号化効率のゲインの損失につながる場合がある。
【０１４４】
対称な補間フィルタと非対称な補間フィルタを適用することによって、フィルタ係数の送信によってビットストリームに追加されるオーバヘッド情報の量を制御することが可能である。例えば、高解像度のシーケンスには、非対称補間フィルタを送信して信号の統計に最適なフィルタにすると良いが、その一方で、低解像度のシーケンスには、オーバヘッド情報の量を削減するために対称フィルタを適用すればよい。対称性を利用する度に、異なる各サブ画素位置の対応するフィルタ同士を一括して最適化する。この結果、入力信号がエイリアシングを含む場合や動き予測が不正確な場合には、予測効率が低下することがある。なお、動き補償予測精度の最適化あるいはオーバヘッド送信の最適化のために、対称フィルタと非対称フィルタは、サブ画素位置に応じて、相互に切り替え可能である。
【０１４５】
要約すると、本発明は、小数画素精度の動き補償予測に基づく映像符号化および映像復号に関する。本発明によれば、ある特定のサブ画素位置の画素値を求める際、当該サブ画素位置から隣のブロック境界までの距離に基づいて複数のフィルタ候補の中から選択した補間フィルタを適用する。このように、複数のフィルタ候補は、隣のブロック境界まで特定の距離を有する画素を最適に補間できるように構成される。これに加えて、最適なフィルタを選択する際に境界の種類または強度を考慮に入れてもよい。
【０１４６】
（その他変形例）
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【０１４７】
上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１４８】
上記の各装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成要素部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。ＲＡＭには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０１４９】
上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。ＩＣカードまたはモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。ＩＣカードまたはモジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ＩＣカードまたはモジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０１５０】
本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１５１】
また、本発明は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
【０１５２】
また、本発明は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１５３】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記憶しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作するとしてもよい。
【０１５４】
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１５５】
なお、上記の実施形態では、図３Ａに示される補間フィルタ１６２を備える画像符号化装置１００及び画像復号装置１０１の例を説明したが、これに限ることなく、本発明は補間フィルタ１６２単体としても成立し得る。すなわち、画像符号化装置１００及び画像復号装置１０１に搭載される補間フィルタ１６２をモジュール化して、補間フィルタ装置、補間フィルタ方法、補間フィルタプログラム、及び補間フィルタ集積回路等として提供することも可能である。
【０１５６】
上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０１５７】
以上、図面を参照してこの発明の実施形態を説明したが、この発明は、図示した実施形態のものに限定されない。図示した実施形態に対して、この発明と同一の範囲内において、あるいは均等の範囲内において、種々の修正や変形を加えることが可能である。
【産業上の利用可能性】
【０１５８】
本発明は、動き補償予測を用いた画像符号化方法及び画像復号方法に特に有利に利用される。
【符号の説明】
【０１５９】
１００                              画像符号化装置
１０１                              画像復号装置
１１０                              減算器
１２０                              変換・量子化部
１２１，１３０                      逆量子化・逆変換部
１３５                              加算器
１３７                              デブロッキングフィルタ
１３９                              ポストフィルタ
１４０                              メモリ
１５０                              画面内フレーム予測部
１６０                              動き補償予測部
１６２                              補間フィルタ
１６２ａ                            画素選択部
１６２ｂ                            重み係数決定部
１６２ｃ                            補間部
１７０                              動き予測部
１８０                              スイッチ
１９０                              エントロピー符号化部
１９１                              エントロピー復号部
３０１，３０２，３０３              変位ベクトル
３１０，３１１，３１２，３１３      破線
３２０                              補間対象画素
６１０                              ブロック境界
６２０                              四角
６３０                              円
【図１Ａ】
2010021108.tif 000013
【図１Ｂ】
2010021108.tif 000014
【図２Ａ】
2010021108.tif 000015
【図２Ｂ】
2010021108.tif 000016
【図３Ａ】
2010021108.tif 000017
【図３Ｂ】
2010021108.tif 000018
【図４】
2010021108.tif 000019
【図５】
2010021108.tif 000020
【図６】
2010021108.tif 000021
【図７Ａ】
2010021108.tif 000022
【図７Ｂ】
2010021108.tif 000023
【図７Ｃ】
2010021108.tif 000024
【図７Ｄ】
2010021108.tif 000025
【図７Ｅ】
2010021108.tif 000026
【図７Ｆ】
2010021108.tif 000027
【図７Ｇ】
2010021108.tif 000028
【手続補正書】
【提出日】平成22年4月16日(2010.4.16)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像の符号化および復号に関し、特に、小数画素精度の動き補償予測を用いたブロック単位の映像コーデックにおいて画素値を補間する方法に関する。
【背景技術】
【０００２】
映像データの圧縮に関しては、複数の映像符号化規格が整備されてきた。このような映像規格には、Ｈ．２６系を定めたＩＴＵ−Ｔ勧告や、ＭＰＥＧ系を定めたＩＳＯ／ＩＥＣ規格などが含まれる。現在、最新かつ最高水準の映像符号化規格は、Ｈ．２６４／ＭＰＥＧ−４ＡＶＣと称される規格である。
【０００３】
これらの規格は、いずれも以下の主要工程からなるハイブリッド映像符号化を基本としている。
（ａ）各映像フレームのデータ圧縮をブロックレベルで行うために、各映像フレームを２次元の画素ブロックに分割する。
（ｂ）各ブロックに時空間予測方法を適用して、予測誤差を空間領域から周波数領域に変換し、係数を算出することによって、時空間映像情報を無相関化する。
（ｃ）算出した係数を量子化することによって、データの全体量を削減する。
（ｄ）量子化した係数および予測パラメータをエントロピー符号化アルゴリズムによって符号化することで、そのデータを圧縮する。
【０００４】
このように、従来技術による映像規格においては、単に、入力ビデオシーケンスのブロックと、既に符号化されているブロックに基づく予測との差分を伝送する差分パルス符号変調（Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ：ＤＰＣＭ）方式が採用されている。
【０００５】
３つの映像符号化規格において採用可能とされている予測方法の１つに、動き補償予測がある。この予測方法では、被写体および／またはカメラの移動に伴う画像変位を示すために、映像データのブロック毎に少なくとも１つの動きベクトルを決定する。決定した動きベクトルに基づけば、１ブロックの画像コンテンツを既に符号化されているブロックの画像コンテンツから、少なくともある程度は、予測可能である。予測画像コンテンツと実際の入力画像コンテンツとの差異は、予測誤差と称され、実際の入力画像コンテンツより、むしろこの差異が動きベクトルと共に符号化される。この方法によれば、ほとんどの「自然」映像のシーケンスについては、符号化対象の情報量を実質的に削減することができる。
【０００６】
図１Ａは、Ｈ．２６４／ＡＶＣ規格に準拠した従来の画像符号化装置１００を示すブロック模式図である。この画像符号化装置１００は映像（入力信号）の現ブロックと、既に符号化されてメモリ１４０に格納されているブロック（局所復号画像）に基づく現ブロックの予測信号との差分である予測誤差信号を求めるための減算器１１０を備える。このようにメモリ１４０は、現信号値と、以前の信号値から生成される予測信号とを比較可能にする遅延部として機能する。変換・量子化部１２０は、算出された予測誤差信号を空間領域から周波数領域に変換し、得た量子化係数を量子化する。エントロピー符号化部１９０は、量子化係数をエントロピー符号化する。
【０００７】
局所復号画像は、画像符号化装置１００に組み込まれた復号部によって作成される。復号部は、符号化工程を逆に行う。逆量子化・逆変換部１３０は、量子化係数を逆量子化し、逆量子化した係数に対して逆変換を行う。加算器１３５は、復号された量子化予測誤差信号を予測信号に加算し、再構築信号を生成する。
【０００８】
量子化することによって、再構築映像信号の上に量子化ノイズが重畳される。ブロック方向に符号化すると、この重畳ノイズがブロッキング特性を発揮することがよくあり、人によっては目障りに感じる場合がある。ブロッキング特性を緩和するために、再構築マクロブロック毎にデブロッキングフィルタ１３７を適用してもよい。デブロッキングフィルタ１３７は、予測信号と量子化予測誤差信号との合計値である再構築信号に適用される。デブロッキングされた信号が復号信号であり、一般的にはこれが表示されることになる。
【０００９】
Ｈ．２６４／ＡＶＣのデブロッキングフィルタ１３７は、局所適応機能を有する。ブロッキングノイズが多い場合、強度のローパスフィルタを適用し、ブロッキングノイズが少ない場合、低強度のローパスフィルタを適用する。デブロッキングフィルタ１３７の強度は、いわゆる境界強度ｂＳおよび境界を挟む画素値同士の勾配によって決まる。境界強度ｂＳは、境界の両側にあるブロックｐおよびブロックｑを符号化する方法に応じて、以下の表１に示すように設定されるパラメータである。
【００１０】
【表１】
2010021108.tif 000029
【００１１】
ブロック境界におけるデブロッキングの例として、４つの係数を用いる線形デブロッキングフィルタを設置する。このフィルタは、隣接する６つの入力サンプルｐ2、ｐ1、ｐ0、ｑ0、ｑ1、ｑ2に適用される。このとき、境界はｐ0とｑ0との間に位置する。
【００１２】
そして、フィルタ出力ｐ0,newおよびｑ0,newは、次のようにして求められる。
p0,new = (p2 - (p1<< 1) + (p0 + q0 + 1) >> 1) >> 1
q0,new = (q2 - (q1<< 1) + (q0 + p0 + 1) >> 1) >> 1
【００１３】
画像符号化装置１００で用いられる予測の種類は、マクロブロックが「イントラ」モードで符号化されるか「インター」モードで符号化されるかによって、決まる。「イントラ」モードの場合、映像符号化規格Ｈ．２６４／ＡＶＣは、後続のマクロブロックを予測するために、同一画像の既に符号化されたマクロブロックに基づく予測方法を使用する。「インター」モードの場合、数枚の連続するフレームの対応ブロック同士で動き補償予測を行う。
【００１４】
イントラ符号化画像（Ｉタイプ画像）のみ、既に復号された画像を参照することなく、復号可能である。Ｉタイプ画像は、符号化されたビデオシーケンスに対して誤り耐性を有する。さらに、ランダムアクセスを可能にするため、すなわち符号化映像のシーケンス内にあるＩタイプの画像にアクセスできるようにするため、符号化データのビットストリームへのエントリポイントは、Ｉタイプの画像によって提供される。イントラモード、すなわち画面内フレーム予測部１５０による処理と、インターモード、すなわち動き補償予測部１６０による処理との切り替えは、スイッチ１８０（イントラ／インター切り替え部）によって制御される。
【００１５】
「インター」モードでは、マクロブロックは、以前のフレームの対応するブロックから、動き補償予測を用いて予測する。予測は、現入力信号および局所復号画像を受信し、動き予測部１７０によって行われる。動き予測によって、２次元の動きベクトルが生成され、現ブロックと既に復号済みのフレームの対応するブロックとの変位が示される。予測した動きに基づいて、動き補償予測部１６０が予測信号を発信する。
【００１６】
予測精度を最適化するために、１／２画素精度または１／４画素精度など、サブ画素精度で動きベクトルを求めてもよい。サブ画素精度の動きベクトルは、既に復号済みの有効な画素値がないフレーム内の位置、すなわちサブ画素位置を示す場合がある。したがって、動き補償を行うには、画素値の空間補間が必要となる。これは、補間フィルタ１６２によって行われる。Ｈ．２６４／ＡＶＣ規格によれば、サブ画素位置の画素値を求めるには、フィルタ係数が固定の６タップのウィナー補間フィルタ、および双一次フィルタを適用する。
【００１７】
予測精度を向上させるために、Ｈ．２６４／ＡＶＣ規格の固定補間フィルタに代えて、適応的補間フィルタを使用してもよい。参照文献として挙げる特許文献１等によって公知である非分離式の２次元補間フィルタは、予測誤差エネルギーを最小化することによって、フレーム毎に別々に算出される。補間対象の各小数画素位置に対して、個別にフィルタ係数のセットを符号化器側で決定し、補助情報として図１Ａの破線のように画像復号装置に送信する。
【００１８】
「イントラ」符号化モードにおいても「インター」符号化モードにおいても、変換・量子化部１２０が現入力信号と予測信号との差分である予測誤差信号を変換して量子化することによって、量子化係数が得られる。一般に、２次元離散コサイン変換（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ：ＤＣＴ）またはその整数バージョン等の直交変換が行われる。
【００１９】
係数を量子化するのは、符号化対象のデータ量を削減するためである。量子化工程は、精度と、その精度で各周波数係数を符号化するのに使用されるビット数とを示す量子化テーブルによって制御される。通常、画像品質を向上させるには、高周波成分よりも低周波数成分の方が重要であるため、高周波成分の符号化よりも低周波成分の符号化に使用されるビット数の方が多い。
【００２０】
量子化後、量子化係数をエントロピー符号化部１９０に渡すために、量子化係数の２次元配列を１次元の列に変換しなければならない。この変換は、所定のシーケンスにおいて配列を走査することによって行われる。このようにして得た量子化係数の１次元シーケンスをエントロピー符号化部１９０が可変長符号化（ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｃｏｄｅ：ＶＬＣ）によって圧縮符号化する。得られたビットストリームは、動き情報によって多重化され、記録媒体に格納されるか、あるいは画像復号装置側に送信される。
【００２１】
符号化された画像を画像復号装置側で再構築するには、符号化処理を逆に行う。図２Ａは、対応する画像復号装置の構造を示す略ブロック図である。
【００２２】
図２Ａの画像復号装置１０１において、まず、エントロピー復号部１９１が係数および動き情報のエントロピー符号化を逆に行う。この工程には、復号された係数の列を、逆変換に必要な２次元のデータ配列に変換するための逆走査も含まれる。その後、量子化係数の復号ブロックを逆量子化・逆変換部１２１に渡すとともに、復号された動き情報を動き補償予測部１６０に送る。
【００２３】
動きベクトルの実際の値によっては、動き補償予測を行うために画素値の補間が必要になる場合がある。この補間は、補間フィルタ１６２によって行われる。適応的補間フィルタが使用される場合、フィルタ係数もエントロピー復号部１９１によって復号され、図２Ａの破線のように補間フィルタ１６２に供給される。
【００２４】
逆変換の結果は、空間領域における量子化予測誤差信号であり、加算器１３５によって、インターモードの動き補償予測部１６０またはイントラモードの画面内フレーム予測部１５０から発信された予測信号に加算される。再構築画像は、デブロッキングフィルタ１３７を通過する場合もあり、得られた復号信号は、メモリ１４０に格納されてから画面内フレーム予測部１５０又は動き補償予測部１６０に渡される。
【先行技術文献】
【特許文献】
【００２５】
【特許文献１】国際公開第２００６／１０８６５４号
【発明の概要】
【発明が解決しようとする課題】
【００２６】
デブロッキングフィルタ１３７があろうとなかろうと、ブロック境界には、目障りなブロッキングアーチファクトが発生しやすい。さらに悪いことに、このようなアーチファクトは、動き補償予測を行う際、動きベクトルの値によっては参照フレーム内のブロック境界近傍の画像部分が予測対象ブロックの中心に写されることがあるが、こうした場合に著しく増加する傾向にある。この結果、予測精度が低下し、これによって符号化効率が低下してしまう。
【００２７】
したがって、本発明の目的は、映像の符号化および復号の改良方法ならびに改良装置を提供することである。さらに、本発明は、動き補償予測を小数画素精度で行うために必要とされる動き補償予測の改良方法および画素値補間の改良方法を提供することも目的とする。
【課題を解決するための手段】
【００２８】
本発明の一形態に係る補間フィルタリング方法は、ブロック単位で符号化された画像の画素を補間する。具体的には、補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択ステップと、前記画素選択ステップで選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップと、前記重み係数決定ステップで決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して前記補間対象画素の画素値を算出する補間ステップとを含む。そして、前記重み係数決定ステップでは、前記複数の画素のうちのいずれかの画素が前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする。
【００２９】
上記構成とすることにより、補間対象画素と同一ブロックに属する画素の重みを相対的に大きくし、補間対象画素と異なるブロックに属する画素の重みを相対的に小さくすることができる。これにより、ブロック毎に符号化したことに起因する歪みの影響が極小化される。その結果、より正確な予測ブロックを生成することが可能となる。
【００３０】
また、前記重み係数決定ステップでは、前記補間対象画素から前記対象ブロックの境界までの距離を算出する。そして、前記複数の画素それぞれについて、算出した距離を用いて前記補間対象画素から当該画素までの間に前記対象ブロックのブロック境界が存在するか否かを判断することによって、当該画素が前記対象ブロックに属するか否かを判断してもよい。
【００３１】
さらに、前記重み係数決定ステップでは、前記対象ブロックと前記周辺ブロックとの間のブロック境界の境界強度が高くなるほど、前記周辺ブロックに属する画素の重み係数を小さくしてもよい。例えば、対象ブロックと周辺ブロックとの間のブロック歪みが大きい場合には、周辺画素に属する画素の重み係数に極めて小さい値を設定すればよい。このように、ブロック境界の特性に基づいて重み係数を決定すれば、さらに予測ブロックの精度向上が期待できる。
【００３２】
一形態として、前記重み係数決定ステップでは、前記対象ブロック及び前記周辺ブロックの少なくとも一方が画面間予測符号化された場合に、前記対象ブロック及び前記周辺ブロックの両方が画面内予測符号化された場合より、前記周辺ブロックに属する画素の重み係数を小さくしてもよい。
【００３３】
さらに、前記重み係数決定ステップでは、前記ブロック境界がマクロブロック境界である場合に、前記ブロック境界がマクロブロック境界でない場合より、前記周辺ブロックに属する画素の重み係数を小さくしてもよい。
【００３４】
さらに、前記重み係数決定ステップでは、前記対象ブロック及び前記周辺ブロックの少なくとも一方が符号化係数を含む場合に、前記対象ブロック及び前記周辺ブロックの両方が符号化係数を含まない場合より、前記周辺ブロックに属する画素の重み係数を小さくしてもよい。
【００３５】
さらに、前記重み係数決定ステップでは、前記対象ブロック及び前記周辺ブロックの参照フレーム、参照フレーム番号、及び動きベクトル値の少なくとも１つが異なる場合に、前記対象ブロック及び前記周辺ブロックの参照フレーム、参照フレーム番号、及び動きベクトルが全て同一である場合より、前記周辺ブロックに属する画素の重み係数を小さくしてもよい。
【００３６】
さらに、前記重み係数決定ステップでは、前記複数の画素のうち、前記対象ブロックと前記周辺ブロックとの境界を挟む２つの画素の画素値の勾配が大きいほど、前記周辺ブロックに属する画素の重み係数を小さくしてもよい。これによっても、さらに予測ブロックの精度向上が期待できる。
【００３７】
本発明の一形態に係る画像符号化方法は、複数の符号化対象ブロックを順次符号化する。具体的には、前記符号化対象ブロックの予測ブロックを生成する予測ブロック生成ステップと、前記予測ブロックを用いて、前記符号化対象ブロックを符号化する符号化ステップとを含む。前記予測ブロック生成ステップは、補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択ステップと、前記画素選択ステップで選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップと、前記重み係数決定ステップで決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間ステップと、画素が補間された前記画像に基づいて前記予測ブロックを生成する予測ステップとを含む。そして、前記重み係数決定ステップでは、前記画素が前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする。上記構成によれば、精度の高い予測ブロックを生成することができるので、符号化対象ブロックの符号化効率を向上させることができる。
【００３８】
さらに、前記符号化ステップでは、前記重み係数を符号化してもよい。これにより、復号器側で重み係数を算出するステップを省略することができる。
【００３９】
本発明の一形態に係る画像復号方法は、符号化信号を復号して復号ブロックを生成する。具体的には、前記復号ブロックの予測ブロックを生成する予測ブロック生成ステップと、前記予測ブロックを用いて、前記符号化信号を復号する復号ステップとを含む。前記予測ブロック生成ステップは、補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択ステップと、前記画素選択ステップで選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップと、前記重み係数決定ステップで決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間ステップと、画素が補間された前記画像に基づいて前記予測ブロックを生成する予測ステップとを含む。そして、前記重み係数決定ステップでは、前記画素が前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする。
【００４０】
上記構成のように、復号器側でも符号化器側と同じルールに基づいて重み係数を算出すれば、重み係数を符号化する必要がなくなる。これにより、符号化対象ブロックの符号化効率をさらに向上することができる。
【００４１】
本発明の一形態に係る補間フィルタリング装置は、ブロック単位で符号化された画像の画素を補間する。具体的には、補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択部と、前記画素選択部によって選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定部と、前記重み係数決定部によって決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間部とを備える。そして、前記重み係数決定部は、前記複数の画素のいずれかが前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする。
【００４２】
本発明の一形態に係るプログラムは、コンピュータに、ブロック単位で符号化された画像の画素を補間させる。具体的には、補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択ステップと、前記画素選択ステップで選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップと、前記重み係数決定ステップで決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間ステップとを含む。そして、前記重み係数決定ステップでは、前記複数の画素のいずれかが前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする。
【００４３】
本発明の一形態に係る集積回路は、ブロック単位で符号化された画像の画素を補間する。具体的には、補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択部と、前記画素選択部によって選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定部と、前記重み係数決定部によって決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間部とを備える。そして、前記重み係数決定部は、前記複数の画素のいずれかが前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする。
【００４４】
なお、本発明は、補間フィルタリング方法（装置）として実現できるだけでなく、これらの機能を実現する集積回路として実現したり、そのような機能をコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【００４５】
これらは、独立請求項に記載した特徴によって達成される。
【００４６】
好ましい実施の形態は、従属請求項の主題である。
【００４７】
本発明の手法は、ある特定の位置にある画素値を補間する補間フィルタを、その特定の位置から隣のブロック境界までの距離に基づいて選択するものである。
【００４８】
本発明の第１の態様として、小数画素精度の動き補償予測を用いたブロック単位の映像符号化器または映像復号器において画素値を補間する方法を提供する。この方法は、複数の補間フィルタから選択された１枚の補間フィルタを補間対象の画素値に適用するステップを含み、補間フィルタは、補間値が求められる画像位置から垂直方向の最隣接ブロック境界までの水平方向の距離、および／または、補間値が求められる画像位置から水平方向の最隣接ブロック境界までの垂直方向の距離に基づいて、選択される。
【００４９】
好ましくは、本発明の方法は、さらに、補間値が求められる画像位置から所定の水平方向距離および／または所定の垂直方向距離にブロック境界があるか否かを判断するステップを含み、その判断ステップの結果に基づいて補間フィルタを選択する。このようにして、例えば、水平方向または垂直方向のブロック境界が近傍にあるか否かによって、最適な補間フィルタを選択すればよい。
【００５０】
さらに好ましくは、所定の水平方向距離および所定の垂直方向距離とは、それぞれ、補間フィルタの水平方向および垂直方向のタップ数の２分の１である。また、所定の水平方向距離および所定の垂直方向距離は、それぞれ、補間フィルタの水平方向および垂直方向のタップ数の２分の１よりも小さい値に設定されてもよい。いずれの場合においても、フィルタサポートがブロック境界に接するか否かに基づいて、言い換えれば、フィルタのタップがブロック境界と交差するか否かに基づいて、補間フィルタを選択することが可能である。
【００５１】
好ましくは、本発明の方法は、さらに、補間値が求められる画像位置から右側で隣接する垂直方向のブロック境界までの第１水平方向距離を求めるステップと、補間値が求められる画像位置から左側で隣接する垂直方向のブロック境界までの第２水平方向距離を求めるステップと、補間値が求められる画像位置から上方で隣接する水平方向のブロック境界までの第１垂直方向距離を求めるステップと、補間値が求められる画像位置から下方で隣接する水平方向のブロック境界までの第２垂直方向距離を求めるステップとを含む。したがって、好ましくは、第１水平方向距離、第２水平方向距離、第１垂直方向距離、および第２垂直方向距離に基づいて、補間フィルタを選択することが可能である。この場合、周辺のブロック境界までの距離に応じて最適な補間フィルタを選択すればよい。また、補間フィルタは、第１水平方向距離と第２水平方向距離との最小値および第１垂直方向距離と第２垂直方向距離との最小値に基づいて選択されてもよい。これが特に利点となるのは、補間フィルタが左右対称である場合、例えば、左側のフィルタ・タップがその右側の対称位置にあるフィルタ・タップと同一の係数で重み付けされる場合である。
【００５２】
好ましくは、補間フィルタは、さらに、垂直方向のブロック境界の左側および右側にあるブロックの符号化方法を示す符号化パラメータならびに／または水平方向のブロック境界の上方および下方にあるブロックの符号化方法を示す符号化パラメータに基づいて選択される。より好ましくは、符号化パラメータは、各ブロックをイントラ符号化するか、インター符号化するか、および／または、各ブロックが属するスライスが異なるか否か、および／または、各ブロックが属するマクロブロックが異なるか否か、および／または、各ブロックが符号化係数を含むか否か、および／または、各ブロック共通の参照フレームがあるか否か、および／または、各ブロックが同一の動きベクトルを有するか否かを示す。より好ましくは、参照フレームのある特定の境界に適用したデブロッキングフィルタおよび／またはループフィルタの種類および強度に応じて、補間フィルタの種類が決められてもよい。高強度のデブロッキングおよび／またはループフィルタが適用されたブロック境界と、これよりもフィルタリング程度が低かったブロック境界、または全くフィルタリングされなかったブロック境界とでは、異なる補間フィルタが適用されてよい。したがって、近傍のブロック境界の種類に応じて最適な補間フィルタを選択することも可能である。適用する補間フィルタは、例えば、ブロック境界が異なるスライスとスライスとの境界であるか、マクロブロック境界であるか、マクロブロック内のブロック境界であるかによって変えてよい。前記符号化パラメータは、この特定の境界に出現するであろうブロッキングアーチファクトの程度を示す指標ともなり得るので、これに従って最適な補間フィルタを選択してよい。前記符号化パラメータは、さらに、境界の上方（左側）のブロックと下方（右側）のブロックのいずれがより忠実に符号化されているかを示すこともできるので、予測精度を向上させるために、境界の一方側の画素値に注目して補間してもよい。
【００５３】
好ましくは、補間フィルタは、さらに、垂直方向のブロック境界を挟む画素値同士の勾配、および／または、水平方向のブロック境界を挟む画素値同士の勾配に基づいて選択される。勾配は、ブロック境界に出現するブロッキングアーチファクトの程度についての何らかの指標にもなり得るので、これに従って最適な補間フィルタを選択してよい。ブロッキングアーチファクトが顕著なブロック境界においては、例えば、その境界の他方側の画素を補間画素の演算時に一切考慮しない、あるいは、その境界に隣接しない画素に注目する、とした方がよい場合がある。
【００５４】
本発明の他の態様として、動画像シーケンスを符号化および／または復号する方法を提供する。この方法は、ブロック単位で画像を符号化または復号するために、動画像シーケンスの各画像を複数のブロックに分割するステップと、符号化済みまたは復号済みブロックから複数のブロックのうちの１ブロックを予測するために、動き補償予測を適用するステップとを含み、予測したブロックの画素値を本発明の第1の態様に従った画素値補間方法を用いて求める。
【００５５】
好ましくは、この符号化方法は、さらに、予測誤差エネルギーを最小化することによって、複数の補間フィルタを動画像シーケンスに適応化させるステップを含む。具体的には、予測ブロックと、これに対応する符号化対象の動画像シーケンスのブロックとの差分を算出することによって、予測誤差エネルギーが求まる。このようにすることで、符号化対象の動画像シーケンスに応じた最適な補間フィルタの集合を決定することができる。最適な補間フィルタに基づいて動き補償予測を行うことによって、予測精度を向上させることができ、この結果、全体の符号化効率が上がる。
【００５６】
好ましくは、適応化された複数の補間フィルタを示すフィルタ情報を符号化することによって、適応結果が復号器側に送信される。その後、復号器側で、複数の補間フィルタを示すフィルタ情報を復号してから、適応化された補間フィルタを使用してよい。
【００５７】
本発明のさらに他の態様として、本発明の第２の態様に従って、動画像シーケンスを符号化または復号するように構成された映像符号化器および映像復号器を提供する。  
【００５８】
最後に、本発明の態様に従って、方法を実行できるように適応されたコンピュータ読み取り可能なプログラムコードが記録された、コンピュータで読み取り可能な媒体を備えるコンピュータプログラム製品を提供する。
【発明の効果】
【００５９】
本発明によれば、補間対象画素と同一ブロックに属する画素の重みを相対的に大きくし、補間対象画素と異なるブロックに属する画素の重みを相対的に小さくすることができる。これにより、ブロック毎に符号化したことに起因する歪みの影響が極小化される。その結果、より正確な予測ブロックを生成することが可能となる。
【図面の簡単な説明】
【００６０】
【図１Ａ】図１Ａは、画像符号化装置を示すブロック図である。
【図１Ｂ】図１Ｂは、図１Ａの画像符号化装置の動作を示すフローチャートである。
【図２Ａ】図２Ａは、画像復号装置を示すブロック図である。
【図２Ｂ】図２Ｂは、図２Ａの画像復号装置の動作を示すフローチャートである。
【図３Ａ】図３Ａは、補間フィルタを示すブロック図である。
【図３Ｂ】図３Ｂは、図３Ａの補間フィルタの動作を示すフローチャートである。
【図４】図４は、動き補償予測に用いる映像データのブロックおよび補間フィルタを示す図である。
【図５】図５は、本発明の実施の形態に従った補間フィルタの選択方式を示す概略図である。
【図６】図６は、本発明の他の実施の形態に従った補間フィルタの選択方式を示す概略図である。
【図７Ａ】図７Ａは、フィルタ・タップがブロック境界を越えない状態を示す図である。
【図７Ｂ】図７Ｂは、フィルタ・タップの一部（１画素）がブロック境界を越えた状態を示す図である。
【図７Ｃ】図７Ｃは、フィルタ・タップの一部（２画素）がブロック境界を越えた状態を示す図である。
【図７Ｄ】図７Ｄは、補間対象画素がブロック境界に位置する状態を示す図である。
【図７Ｅ】図７Ｅは、図７Ｃと対称な図である。
【図７Ｆ】図７Ｆは、図７Ｂと対称な図である。
【図７Ｇ】図７Ｇは、フィルタ・タップの２箇所でブロック境界を越えた状態を示す図である。
【発明を実施するための形態】
【００６１】
本発明に関し、上述の目的および特徴とその他の目的および特徴とを、付随する図面を参照しながら、後述の記述および好ましい実施の形態において、より明確にする。
【００６２】
まず、図１Ａ及び図１Ｂを参照して、本発明の一実施形態に係る画像符号化装置１００の構成及び動作を説明する。図１Ａは、画像符号化装置１００のブロック図である。図１Ｂは、画像符号化装置１００の動作を示すフローチャートである。なお、画像符号化装置１００の基本構成は、従来例と本件発明とで共通している。
【００６３】
画像符号化装置１００は、図１Ａに示されるように、減算器１１０と、変換・量子化部１２０と、逆量子化・逆変換部１３０と、加算器１３５と、デブロッキングフィルタ１３７と、エントロピー符号化部１９０と、予測ブロック生成部（図示省略）とを備える。この画像符号化装置１００は、符号化対象画像を構成する複数の符号化対象ブロックを順次符号化する。
【００６４】
減算器１１０は、符号化対象ブロック（入力信号）から予測ブロック（予測信号）を減算して予測誤差信号を生成する。変換・量子化部１２０は、予測誤差信号をＤＣＴ変換（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ：離散コサイン変換）すると共に、量子化して量子化係数を生成する。エントロピー符号化部１９０は、量子化係数をエントロピー符号化して符号化信号を生成する。なお、量子化係数と共に、動き予測部１７０で生成される動き補償データや補間フィルタ１６２のフィルタ係数等を含めてエントロピー符号化してもよい。
【００６５】
逆量子化・逆変換部１３０は、量子化係数を逆量子化すると共に、ＤＣＴ逆変換して量子化予測誤差信号を生成する。加算器１３５は、量子化予測誤差信号と予測ブロックとを加算して再構築信号を生成する。デブロッキングフィルタ１３７は、再構築信号からブロック歪みを除去して復号信号を生成する。
【００６６】
予測ブロック生成部は、符号化対象ブロック（入力信号）より前に符号化された画像に基づいて、当該符号化対象ブロックを予測した予測ブロックを生成する。この予測ブロック生成部は、メモリ１４０と、画面内フレーム予測部１５０と、動き補償予測部１６０と、補間フィルタ１６２と、動き予測部１７０と、スイッチ１８０とによって構成されている。
【００６７】
メモリ１４０は、復号信号を一時記憶する遅延器として機能する。より具体的には、変換・量子化部１２０で量子化され、且つ逆量子化・逆変換部で逆量子化されたブロックを順次記憶し、１枚の画像（ピクチャ）を記憶する。画面内フレーム予測部１５０は、復号信号を画面内予測して予測信号を生成する。補間フィルタ１６２は、動き補償予測に先立って復号信号の画素値を空間的に補間する。動き予測部１７０は、復号信号と次の符号化対象ブロックとに基づいて動き予測を行い、動きデータ（動きベクトル）を生成する。動き補償予測部１６０は、復号信号と動きデータとに基づいて動き補償予測を行い、予測ブロックを生成する。スイッチ１８０は、予測モードとして「イントラ」モード及び「インター」モードのいずれかを選択する。そして、スイッチ１８０から出力される予測ブロックは、次の符号化対象ブロックを予測した信号となる。
【００６８】
次に、図１Ｂを参照して、画像符号化装置１００の動作を説明する。
【００６９】
まず、減算器１１０は、符号化対象ブロックから予測ブロックを減算して、予測誤差信号を生成する（Ｓ１１）。次に、変換・量子化部１２０は、予測誤差信号をＤＣＴ変換すると共に、量子化して量子化係数を生成する（Ｓ１２）。次に、エントロピー符号化部１９０は、量子化係数、動きデータ、及びフィルタ係数をエントロピー符号化して符号化信号を生成する（Ｓ１３）。
【００７０】
一方、エントロピー符号化部１９０の動作と平行して、逆量子化・逆変換部１３０は、量子化係数を逆量子化すると共に、ＤＣＴ逆変換して量子化予測誤差信号を生成する（Ｓ１４）。また、加算器１３５は、量子化予測誤差信号と予測ブロックとを加算して再構築信号を生成する。デブロッキングフィルタ１３７は、再構築信号からブロック歪みを除去して復号信号を生成する。そして、予測ブロック生成部は、復号信号に基づいて予測ブロックを生成する（Ｓ１５）。なお、予測ブロックの生成処理の詳細は、後述する。
【００７１】
次に、図２Ａ及び図２Ｂを参照して、本発明の一実施形態に係る画像復号装置１０１の構成及び動作を説明する。図２Ａは、画像復号装置１０１のブロック図である。図２Ｂは、画像復号装置１０１の動作を示すフローチャートである。なお、画像復号装置１０１の基本構成は、従来例と本件発明とで共通している。
【００７２】
画像復号装置１０１は、図２Ａに示されるように、エントロピー復号部１９１と、逆量子化・逆変換部１２１と、加算器１３５と、デブロッキングフィルタ１３７と、ポストフィルタ１３９と、予測ブロック生成部（図示省略）とを備える。この画像復号装置１０１は、図１Ａに示される画像符号化装置１００で符号化された符号化信号を復号して復号ブロック（復号信号）を生成する。なお、図１Ａに示される画像符号化装置１００と共通の機能ブロックには、同一の参照番号を付し、詳しい説明を省略する。
【００７３】
エントロピー復号部１９１は、画像符号化装置１００から出力された符号化信号（入力信号）をエントロピー復号して、量子化係数、動きデータ、及びフィルタ係数を取得する。ポストフィルタ１３９は、例えば、復号信号に適用されるウィナーフィルタであって、画像の主観的な画質を改善する。
【００７４】
予測ブロック生成部は、メモリ１４０と、画面内フレーム予測部１５０と、動き補償予測部１６０と、補間フィルタ１６２と、スイッチ１８０とを備える。この予測ブロック生成部は、基本的な構成及び動作は共通するが、動き予測部１７０を省略して、動きデータをエントロピー復号部１９１から取得する点、及び補間フィルタ１６２のフィルタ係数をエントロピー復号部１９１から取得する点が異なる。
【００７５】
次に、図２Ｂを参照して、画像復号装置１０１の動作を説明する。
【００７６】
まず、エントロピー復号部１９１は、符号化信号をエントロピー復号して、量子化係数、動きデータ、及びフィルタ係数を取得する（Ｓ２１）。次に、逆量子化・逆変換部１２１は、量子化係数を逆量子化すると共に、ＤＣＴ逆変換することにより、量子化予測誤差信号を生成する（Ｓ２２）。次に、加算器１３５は、量子化予測誤差信号と予測ブロックとを加算して再構築信号を生成する。また、デブロッキングフィルタ１３７は、再構築信号からブロック歪みを除去して復号ブロックを生成する（Ｓ２３）。さらに、図２Ａに示される画像復号装置１０１は、復号ブロックにポストフィルタ１３９を適用して、出力信号を生成する。
【００７７】
一方、ポストフィルタ１３９によるフィルタリング処理と平行して、予測ブロック生成部は、予測ブロックを生成する（Ｓ１５）。予測ブロックの生成処理の詳細は、後述する。なお、上記の例では、エントロピー復号部１９１からフィルタ係数を取得して動作する補間フィルタ１６２の例を示したが、これに限定されない。つまり、画像符号化装置１００及び画像復号装置１０１双方の補間フィルタ１６２が同じ方法でフィルタ係数を決定するようにしてもよい。これにより、符号化信号にフィルタ係数を含める必要がなくなるので、符号化効率が向上する。
【００７８】
次に、図３Ａ及び図３Ｂを参照して、補間フィルタ１６２の構成、及び予測ブロック生成部の動作（予測ブロック生成処理）を説明する。なお、図３Ａは、補間フィルタ１６２のブロック図である。図３Ｂは、予測ブロック生成処理を示すフローチャートである。
【００７９】
補間フィルタ１６２は、図３Ａに示されるように、画素選択部１６２ａと、重み係数決定部１６２ｂと、補間部１６２ｃとを備える。この補間フィルタ１６２は、メモリ１４０に格納されている画像の画素を空間補間する。
【００８０】
画素選択部１６２ａは、補間対象画素の補間に用いる複数の画素を、メモリ１４０に格納されている画像から選択する。重み係数決定部１６２ｂは、画素選択部１６２ａで選択された複数の画素それぞれに対応する重み係数を決定する。補間部１６２ｃは、重み係数決定部１６２ｂで決定された重み係数を用いて、複数の画素の画素値を重み付け加算して、補間対象画素の画素値を算出する。
【００８１】
次に、図３Ｂを参照して、予測ブロック生成処理を説明する。
【００８２】
まず、予測ブロック生成部は、次に符号化される符号化対象ブロックに対応する予測ブロックを、「インター」モードで予測するか、「イントラ」モードで予測するかを決定し、スイッチ１８０を切り替える（Ｓ３１）。「イントラ」モードで予測する場合（Ｓ３１で「イントラ」）、画面内フレーム予測部１５０は、メモリ１４０から読み出した復号信号を用いて予測ブロックを生成する（Ｓ３２）。
【００８３】
一方、「インター」モードで予測する場合（Ｓ３１で「インター」）、補間フィルタ１６２は、動き補償予測に先立って、画像の画素を補間する。
【００８４】
まず、画素選択部１６２ａは、補間対象画素の補間に用いる複数の画素を選択する（Ｓ３３）。例えば、補間対象画素の右側の３つの整数画素、及び左側の３つの整数画素の合計６画素が選択される。
【００８５】
次に、重み係数決定部１６２ｂは、画素選択部１６２ａで選択された各画素それぞれの重み係数を決定する（Ｓ３４）。例えば、上記の例（６画素を選択した例）に対応する重み係数は、（−２，−１，０，１，２，３）のようになる。
【００８６】
なお、重み係数は、画素選択部１６２ａで選択された各画素が、補間対象画素の属する対象ブロックに属するか、対象ブロックと異なる周辺ブロックに属するかによって異なる値となる。具体的には、各画素が対象ブロックに属する場合に、周辺ブロックに属する場合より大きな重み係数が割り当てられる。例えば、上記の例（−２，−１，０，１，２，３）は、６画素全てが対象ブロックに属する場合に用いられる重み係数であったとする。これに対して、右端の画素のみが周辺ブロックに属する場合には、例えば、（−２，−１，０，１，２，２）のような重み係数が割り当てられる。
【００８７】
なお、重み係数決定部１６２ｂにおいて、各画素が対象ブロックに属するか否かを判断する具体的な方法は、特に限定されない。例えば、まず、補間対象画素から対象ブロックの境界までの距離（水平方向、及び／又は、垂直方向）を算出する。そして、各画素について、補間対象画素から当該画素までの間に対象ブロックのブロック境界が存在するか否かによって、当該画素が対象ブロックに属するか否かを判断してもよい。
【００８８】
次に、補間部１６２ｃは、重み係数決定部１６２ｂで決定された重み係数を用いて、画素選択部１６２ａで選択した各画素の画素値を重み付け加算する（Ｓ３５）。これにより、補間対象画素の画素値が算出される。なお、Ｓ３３〜Ｓ３５の処理は、全ての補間対象画素について実行される。次に、動き補償予測部１６０は、補間後の画像と、動き予測部１７０が生成した動きデータとを用いて予測ブロックを生成する（Ｓ３６）。
【００８９】
上記の処理は、参照画像の画素を補間するに際して、補間対象画素と同一ブロックに属する画素の重みを相対的に大きくし、補間対象画素と異なるブロックに属する画素の重みを相対的に小さくするものである。これにより、ブロック毎に符号化したことに起因する歪みの影響を極小化することができる。その結果、より正確な予測ブロックを生成することが可能となる。
【００９０】
なお、Ｓ３４において、周辺ブロックに属する画素の重み係数は、対象ブロックと周辺ブロックとのブロック境界の境界強度ｂＳに応じて値を変更してもよい。具体的には、表１に示す境界強度ｂＳが強い（数値が大きい）ほど重み係数を小さくすればよい。
【００９１】
例えば、対象ブロック及び周辺ブロックの少なくとも一方が画面間予測符号化された場合（ｂＳ＝３，４）と、対象ブロック及び周辺ブロックの両方が画面内予測符号化された場合（ｂＳ＝０，１，２）とでは、前者の場合に、より小さい重み係数を割り当てればよい。
【００９２】
また、対象ブロック及び周辺ブロックの少なくとも一方が画面間予測符号化された場合において、ブロック境界がマクロブロック境界である場合（ｂＳ＝４）と、ブロック境界がマクロブロック境界でない場合（ｂＳ＝３）とでは、前者の場合に、より小さな重み係数を割り当てればよい。
【００９３】
また、対象ブロック及び周辺ブロックの両方が画面内符号化された場合において、対象ブロック及び周辺ブロックの少なくとも一方が符号化係数を含む場合（ｂＳ＝２）と、対象ブロック及び周辺ブロックの両方が符号化係数を含まない場合（ｂＳ＝１）とでは、前者の場合に、より小さな重み係数を割り当てればよい。
【００９４】
さらに、対象ブロック及び周辺ブロックの両方が符号化係数を含まない場合において、対象ブロック及び周辺ブロックの参照フレーム、参照フレーム番号、及び動きベクトル値の少なくとも１が異なる場合（ｂＳ＝１）と、対象ブロック及び周辺ブロックの参照フレーム、参照フレーム番号、及び動きベクトルが全て同一である場合（ｂＳ＝０）とでは、前者の場合に、より小さな重み係数を割り当てればよい。
【００９５】
さらに、Ｓ３４において、周辺ブロックに属する画素の重み係数は、画素選択部１６２ａで選択された画素のうち、対象ブロック及び周辺ブロックの境界を挟む２つの画素の画素値の勾配に応じて値を変更してもよい。具体的には、勾配が大きいほど、重み係数を小さくすればよい。
【００９６】
次に、図４〜図７Ｇを参照して、補間フィルタ１６２の処理の具体例（主に、重み係数決定部１６２ｂによる重み係数の決定方法）を説明する。
【００９７】
図４は、映像データのブロックの概略図である。黒抜きの円は、フル画素の位置、すなわち原画像のサンプル位置を示し、白抜きの円は、画素値が補間対象となるサブ画素の位置を示す。以下に挙げる図面で示すのは１／４画素精度であるが、本発明は、小数画素精度であれば限定されることなく、１／２画素でも１／４画素でも１／８画素でも、さらには垂直方向と水平方向とで異なる小数画素精度のものであっても、適用が可能である。
【００９８】
図４中の破線３１０、３１１および破線３１２、３１３は、それぞれ、水平方向のブロック境界および垂直方向のブロック境界、つまり４×４ブロックの境界を示す。なお、例えば、Ｈ．２６４規格に準じて別個のマクロブロックに分割されたものであれば、４×４、８×４、４×８、８×２、２×８、８×８、１６×１６、３２×１６、１６×３２、３２×３２、６４×３２、３２×６４、６４×６４など、ブロックの大きさを問わず、１フレーム内で異なる大きさのブロックを組み合わせたものであっても、本発明の適用が可能である。
【００９９】
以下において、ｎは、サブ画素精度を表す。すなわち、１／２画素のときはｎ＝２であり、１／４画素のときはｎ＝４である。また、原画像（つまり映像データのブロック）は、フル画素位置（ｘ，ｙ）における画素値であるＳx,yによって示される。原画像を水平方向および垂直方向に補間した画像は、Ｓ＾ｎｘ＋ｐ，ｎｙ＋ｑで表される。ここで、サブ画素位置は、図４のように、ｐ＝０，…，ｎ−１、ｑ＝０，…，ｎ−１で表される。したがって、補間画像のフル画素位置（ｎｘ，ｎｙ）における画素は、原画像の画素（ｘ，ｙ）に対応している。ここで、記号「〜（ハット）」は、それぞれ直前の文字の上に付される記号を示し、本明細書では、以下、記号「〜（ハット）」を同様な意味で使用する。
【０１００】
上述のように、従来の適応的補間フィルタは、各サブ画素位置（ｐ，ｑ）に個別に規定されている。したがって、そのような従来の適応的補間フィルタは、原画像を水平方向および垂直方向に補間した画像に対して当該原画像の位置を特定する線形作用素ｆ(ｐ,ｑ)で規定できる。すなわち、式１が成立する。
【０１０１】
【数１】
2010021108.tif 000030
【０１０２】
ここで、ｆ(ｉｐ,,ｊｑ )とは、補間フィルタの離散フィルタ係数（重み係数）であり、例えば、６×６タップフィルタの場合、i=−２，−１，０，１，２，３、j=−２，−１，０，１，２，３である。フィルタ係数ｆ(ｉｐ,,ｊｑ )が０にならない点（ｉ，ｊ）の集合、例えば、６×６タップフィルタの結果に影響する６×６画素の集合は、通常、フィルタサポートと称される。したがって、式１および以下の式２における総和は、使用するフィルタのサポートを超えることになる。
【０１０３】
従来の適応的補間フィルタは、サブ画素位置ごとに個別に規定されているが、ブロックの中心のサブ画素位置にある画素値を補間する（すなわち、補間に用いる全ての画素が対象ブロックに属する。以下同じ。）にも、当該ブロックの境界近傍のサブ画素位置にある画素値を補間する（すなわち、補間に用いる画素の一部が周辺ブロックに属する。以下同じ）にも、全く同じ補間フィルタを使用する。しかし、これは、ブロック単位の映像コーデックにおいて、特に目立ったブロッキングアーチファクトがある場合には、不都合な場合がある。
【０１０４】
本発明は、ブロック境界の存在を考慮することによって、例えば、ブロック境界近傍の画素値を補間するときと、当該ブロックの中心部の画素値を補間するときとでは、異なる補間フィルタを使用することによって、上記の問題を解決する。補間フィルタの種類としては、フィルタ係数が異なるフィルタ、または、８タップ、６タップ、４タップ、２タップ、０タップなど、フィルタ長が異なるフィルタが挙げられる。
【０１０５】
なお、上記の説明は、補間フィルタが物理的に複数個設けられている場合のみならず、フィルタ係数を任意に変更可能な補間フィルタを用いることによっても実現できる。また、周辺ブロックに属する画素に対応する重み係数を０にすることにより、実質的にフィルタ長を変更することが可能である。
【０１０６】
この区別をするのに最も一般的な手法としては、補間画像の画素（ｎｘ＋ｐ，ｎｙ＋ｑ）ごとに別個の補間フィルタを使用することである。したがって、本発明に係る補間フィルタは、原画像を水平方向および垂直方向に補間した画像に対して、当該原画像の位置を特定する線形作用素ｆ(ｘ,ｙ,ｐ,ｑ)で規定できる。すなわち、式２が成立する。
【０１０７】
【数２】
2010021108.tif 000031
【０１０８】
ここで、ｆ(ｘ,i,ｙ, jｐ, ｑ)とは、補間フィルタの離散フィルタ係数（重み係数の集合）であり、ｘ，ｙ，ｐ，ｑについて、サブ画素精度の現在位置（ｎｘ＋ｐ，ｎｙ＋ｑ）によって変わるものである。
【０１０９】
この手法をとると、復号器側に送信するフィルタ係数が膨大な数になることは明らかである。このシグナリング・オーバヘッドを妥当な量に削減するためには、対称性と不変性とを利用するとよい。例えば、（ある特定のサブ画素位置について）中心部の内側であれば、補間フィルタがすべて同じである、すなわち、式３のように仮定した方が妥当な場合もある。
【０１１０】
【数３】
2010021108.tif 000032
【０１１１】
ブロックの中心部は、例えば、フィルタ・タップがブロック境界に接触しない部分であると定義される。さらに、異なるブロック同士の対応する位置に使用する補間フィルタを同一のものとする。例えば、式４が成立する。
【０１１２】
【数４】
2010021108.tif 000033
【０１１３】
ここでは、画像をＮ×Ｎの大きさのブロックに一律に分割することを前提にしている。
【０１１４】
したがって、フル画素位置（ｘ，ｙ）ごとに、限られた補間フィルタ群｛ｆ(０ｉ,ｐ,,ｊｑ),・・・,ｆ(rmaxｉ,ｐ,,ｊｑ)｝からｆ(ｒ,i,p, jq)を選択することによって、補間フィルタのフル画素位置（ｘ，ｙ）に対する依存度が下がる。したがって、補間フィルタは、指数ｒによって示される。この指数ｒは、ｘとｙの関数であってよい。
【０１１５】
図５は、そのような補間フィルタをブロック内の異なる位置に割り当てる例を示す。ここで、４×４ブロックを９領域ｒ＝０，・・・，８に分割する。各領域ｒ内において、補間するサブ画素位置（ｐ，ｑ）が同一であれば、同一のフィルタｆ(ｒ,i,ｐ,jｑ)を使用する。図５に示した領域の数および配列は、むろん例示であるので、領域はこれよりも多く規定しても少なく規定してもよい。なお、一般には、１領域内においても、サブ画素位置が異なれば、異なるフィルタを使用する。
【０１１６】
図５に示した様々な領域は、補間フィルタの大きさまたはサポートに応じて、すなわち、フィルタ係数ｆ(ｒ,i,ｐ,jｑ)の数または補間フィルタを規定するタップの数に応じて、決められるとよい。例えば、６×６タップの非分離式のフィルタであれば、ｉ＝−２，−１，０，１，２，３、ｊ＝−２，−１，０，１，２，３であるので、３６個の係数ｆ(ｒ,i,ｐ,jｑ)によって規定される。この場合、現在の位置から左へ３画素、右へ３画素、上へ３画素、下へ３画素の範囲に含まれる画素値から補間値を求める。
【０１１７】
図５の領域は、例えば、補間位置から、ある特定の距離内にブロック境界があるかに基づいて補間フィルタが選択されるよう規定されてもよい。この距離は、水平方向または垂直方向のフィルタ・タップ数の半分に設定されるのが好ましい。したがって、６×６タップフィルタでは、この距離は３に設定される。この場合、補間フィルタは、ブロック境界に接触するか否かを基準に選択される。但し、この距離に限定されることなく、特に、水平方向または垂直方向のフィルタ・タップ数の半分よりも短い距離を採用してもよい。隣のブロック境界から、水平方向または垂直方向のフィルタ・タップ数の半分よりも長い距離にある画素値は、ブロック境界を“感じない”ので、サブ画素位置ｐ，ｑのみを考慮し、一般的な補間フィルタで補間してよい。
【０１１８】
図６は、ブロック内の異なる位置に補間フィルタを割り当てる他の例を示す。この例では、補間対象画素３２０の位置から４本のブロック境界までの距離（ｄ１，ｄ２，ｄ３，ｄ４）に基づいて、補間フィルタを選択する。したがって、ｒは、多重指数ｒ＝（ｄ１，ｄ２，ｄ３，ｄ４）である。なお、ブロック内の複数の異なる位置に対して、例えば、図５で縦横に網掛けされた範囲（ｒ＝４）内のすべての位置に対して、全く同一の補間フィルタを選択してもよい。このようにするには、ある特定の最大値ｄｍａｘよりも長い距離をすべて最大値に設定する、すなわち、ｒ＝（ｍｉｎ（ｄ１，ｄｍａｘ），・・・，ｍｉｎ（ｄ４，ｄｍａｘ））とすればよい。
【０１１９】
さらに、最も近いブロック境界までの水平方向および／または垂直方向の距離のみに基づいて、すなわち、ｒ＝ｍｉｎ（ｄ１，ｄ２，ｄ３，ｄ４）またはｒ＝（ｍｉｎ（ｄ１，ｄ３），ｍｉｎ（ｄ２，ｄ４））として、補間フィルタを選択してもよい。さらに、補間フィルタは、いずれにしても一般にサブ画素位置を基準にしているので、フル画素精度でのみ、距離（ｄ１，ｄ２，ｄ３，ｄ４）を求めることにしてもよい。
【０１２０】
補間対象の位置から１または複数のブロック境界までの距離だけでなく、境界そのものの特性も考慮してよい。本発明の好適な実施形態によれば、最適な補間フィルタの選択に境界強度ｂＳ（上記の表１参照）も用いてよい。この場合、例えば、ｒ＝（ｂＳ，ｄ１，ｄ２，ｄ３，ｄ４）と設定することによって、指数ｒにパラメータｂＳの値も含まれる。このように、ある特定の画素がマクロブロック境界またはスライス境界などの“高強度”の境界によって分けられている場合、あるいはそのような場合に限って、補間フィルタを取得する際はこれらの画素を考慮しないような補間フィルタの設定にしてもよい。さらに、ある特定の画素が現ブロックまたは隣接ブロックに属するかによって、また、これらの２ブロックがより忠実に符号化されているかによって、これらの画素に及ばされる補間作用を選択的に強調してもよい。
【０１２１】
以下、最適な動き補償予測を行うために補間フィルタを適応化する方法について簡単に説明する。まず要求されることは、各補間フィルタがフル画素位置にある原画素値を生成することである。したがって、式５が成立する。
【０１２２】
【数５】
2010021108.tif 000034
【０１２３】
ここで、δｋ，ｌはクロネッカーのデルタであり、ｋ＝ｌのときδｋ，ｌ＝１で、ｋ≠ｌのときδｋ，ｌ＝０である。
【０１２４】
再び図４を参照すると、変位ベクトル（３０１、３０２、３０３）は、ｖ→＝（ｖｘ，ｖｙ）で表される。ここで、記号「→（ベクトル）」は、それぞれ直前の文字の上に付される記号を示し、本明細書では、以下、記号「→（ベクトル）」を同様な意味で使用する。成分Ｖｘおよび成分Ｖｙは、小数画素位置を示す。Ｖｘｍｏｄｎ＝０である変位ベクトルは、Ｘ軸方向のフル画素位置に向けられるもの（Ｘ軸方向のフル画素の移動を示すもの）とされる。
【０１２５】
Ｖｘｍｏｄｎ＝１，・・・，（ｎ−１）である変位ベクトルは、Ｘ軸方向のサブ画素位置に向けられるもの（Ｘ軸方向のサブ画素の移動を示すもの）とされる。Ｙ軸方向についても、同様の用語が用いられる。
【０１２６】
ここで、特に図５および図６を参照し、任意のサブ画素位置（ｐ，ｑ）について、ある特定のフィルタ集合ｒのフィルタ係数ｆ(ｒ,i,ｐ,jｑ)を以下のようにして求める。Ｐｘ，ｙは、既に復号済みの参照画像を示し、ｖ→＝（ｖｘ，ｖｙ）は、サブ画素位置（ｐ，ｑ）に向けられたサブ画素位置にある変位ベクトル、すなわちｐ＝ｖｘｍｏｄｎ、ｑ＝ｖｙｍｏｄｎの変位ベクトルを示す。この変位に対する予測誤差エネルギーは式６のように表される。
【０１２７】
【数６】
2010021108.tif 000035
【０１２８】
ここで、ｘ〜＝ｘ＋［ｖｘ／ｎ］、ｙ〜＝ｙ＋［ｖｙ／ｎ］であり、［．．．］は、作用素の独立変数（切り捨て作用素）より小さい整数のうち、最大の値であるＦＬＯＯＲ作用素を示す。ここで、記号「〜（チルダ）」は、それぞれ直前の文字の上に付される記号を示し、本明細書では、以下、記号「〜（チルダ）」を同様な意味で使用する。原画像のうち、変位ベクトルが有効で、かつ集合ｒの補間フィルタが割り当てられた範囲について、ｘおよびｙの総和を求める。この範囲は、変位ベクトルが求められたマクロブックの特定の領域に相当する。また、この領域は、集合ｒの補間フィルタが割り当てられ、かつ同一のサブ画素位置に向けられた変位ベクトル、すなわちｖｘｍｏｄｎ＝ｐ、ｖｙｍｏｄｎ＝ｑの変位ベクトルが含まれる（１または複数の映像）領域の一部または全部を（接続することなく）結合したものによって構成される。
【０１２９】
ここで、式６の予測誤差エネルギーが最小になるように、フィルタ係数ｆ(ｒ,i,ｐ,jｑ)を求める。最適化する場合は、勾配降下法、焼き鈍し法など、この分野で公知の数値最適化アルゴリズムであれば、いずれの方法を用いてもよい。但し、今回のように、フィルタ係数ｆ(ｒ,i,ｐ,jｑ)について、式６の偏導関数を求めて得られた連立一次方程式を解くことによって、最適なフィルタ係数を求めることにしてもよい。すなわち、式７が成立する。
【０１３０】
【数７】
2010021108.tif 000036
【０１３１】
２次元補間フィルタｆ(ｒ,ｐ,ｑ)が分離可能なものであれば、２つの１次元フィルタｇ(ｒ,ｐ,ｑ)およびｈ(ｒ,ｐ,ｑ)の合成として記載してもよい。すなわち、式８が成立する。
【０１３２】
【数８】
2010021108.tif 000037
【０１３３】
ここで、ｇｉ(ｒ,０,０)＝δｉ，０、ｈｊ(ｒ,０,０)＝δｊ，０である。
【０１３４】
通常、水平方向の補間フィルタｇ(ｒ,ｐ,ｑ)は、垂直方向のサブ画素位置ｑとは関係がない、すなわち、ｇ(ｒ,ｐ,ｑ)＝ｇ(ｒ,ｐ)であり、垂直方向の補間フィルタは、フル画素の行についての補間結果に影響を及ぼさない、すなわちｈｊ(ｒ,ｐ,０)＝δｉ，０である、と仮定する。この場合、２次元補間は、２段階処理であると考えられる。第１段階では、“フル画素行”にあるサブ画素位置の画素値を求めるために、水平方向に補間を行う。第２段階では、第１段階で求めた画素値に垂直方向の補間を行うことによって、サブ画素行における画素値を求める。これらの仮定によれば、ｇ(ｒ,ｐ)およびｈ(ｒ,ｐ,ｑ)のフィルタ係数は、式６、および／または、式７から容易に求められる。さらに、垂直方向の補間フィルタは、水平方向のサブ画素位置ｐとは関係がない、すなわちｈ(ｒ,ｐ,ｑ)＝ｈ(ｒ,ｑ)であると仮定してもよい。この仮定によれば、フィルタ係数の総数をさらに削減できる。
【０１３５】
図７Ａ〜図７Ｇは、フィルタ・タップに対するブロック境界の位置に基づいた補間フィルタの選択を示す概略図である。補間対称の１／２画素位置を円６３０で示し、補間フィルタ（ここでは６タップフィルタ）が作用するフル画素位置を四角６２０で示す。また、図７Ａは、フィルタ・タップがブロック境界を越えない場合の、ブロックの中央部における状況を示している。図７Ｂ〜図７Ｆは、補間対象のサブ画素位置が取り得る５つの地点および隣のブロック境界６１０を示す。最後に、図７Ｇは、補間フィルタのサポート内にブロック境界が２本ある場合の状況を示す。この状況がみられるのは、ブロックが４×４などの小さいサイズであるときにフィルタサポートが大きい場合、すなわち、タップ数がブロックのエッジ長を超える“大きな”フィルタの場合である。
【０１３６】
本発明によれば、図７Ａ〜図７Ｇに示した７つのケースそれぞれについて、特異な補間フィルタが使用される。但し、特異な補間フィルタの数は、フィルタの大きさ、サブ画素精度、ブロックの大きさによって、増減する。また、必ずしも図７Ａ〜図７Ｇに示した全てのケースについて、特異な補間フィルタによって処理しなければならないというわけではない。フィルタが対称であるとされれば、例えば、図７Ｂおよび図７Ｃに使用するフィルタはそれぞれ、図７Ｆおよび図７Ｅに使用するフィルタと同一にしてもよい。また、図７Ｇのフィルタは、図７Ｂのフィルタと図７Ｆのフィルタと同一にしてもよい。
【０１３７】
なお、簡略化のため、図７Ａ〜図７Ｇには１次元の実施例のみ示している。これらの１次元の実施例は、分離可能な補間フィルタの場合、２つの１次元の補間フィルタｇ(ｒ,ｐ)およびｈ(ｒ,ｐ,ｑ)に直接適用するようにしてよいが、（非分離式の）２次元補間フィルタも、水平方向および／または垂直方向の境界の、フィルタサポートに対する位置によって、同様の区別が可能である。
【０１３８】
なお、最適な補間フィルタを選択するために、ブロック境界に基づいた他の区別を行ってもよい。そのような区別の例を以下に示す。
・エッジが全くない／エッジが１つ以上ある。
・エッジが全くない／エッジが１つある／エッジが２つある。
・エッジが全くない／中央にエッジがある／その他にもエッジが複数ある。
・エッジが全くない／中央にエッジがある／違う位置にエッジが１つある／エッジが２つある。
・エッジが全くない／中央にエッジがある／右側にエッジが複数（１つ）ある／左側にエッジが複数（１つ）ある／エッジが２つある。
・エッジが全くない／中央にエッジがある／中央から２画素右側にエッジが複数ある／中央から１画素右側にエッジが複数ある／中央から２画素左側にエッジが複数ある／中央から１画素左側にエッジが複数ある／エッジが２つある。
・対称フィルタの場合、エッジが全くない／中央にエッジがある／中央から２画素離れたところにエッジが複数ある／中央から１画素離れたところにエッジが複数ある。
【０１３９】
これら以外の選択肢、その組み合わせ、特に、境界強度ｂＳなどのブロック境界を特定するパラメータとの組み合わせなども可能である。また、パラメータは、前のフレームを復号するためにビットストリームで送信したもの、およびフィルタの選択に用いるものを、関連する参照フレームとともに保存する必要があり、これらの符号化パラメータを保存するために新たなメモリを追加してもよい。
【０１４０】
補間フィルタを選択するには、具体的には、補間対象サンプルからフル画素精度で最も近いブロック境界までの距離をｄ１〜ｄ４とし、補間フィルタ指数ｋをｍｉｎ（ｄ１，ｄ３）およびｍｉｎ（ｄ２，ｄ４）によって特定する参照テーブルを使用する（図６参照）。ブロック境界は、映像符号化方法においてブロックに分割されたものであれば、４×４、８×４、４×８、８×２、２×８、８×８、１６×１６、３２×１６、１６×３２、３２×３２、６４×３２、３２×６４、６４×６４など、あらゆる大きさのブロックの境界であってよく、１フレーム内で異なる大きさのブロックを組み合わせたものの境界であってもよい。また、各フィルタ指数ｋは、符号化器側で予測されて復号器に送信される補間フィルタを示す。補間フィルタは、フィルタ係数が異なるものでもよく、８タップ、６タップ、４タップ、２タップ、０タップなど、フィルタ長が異なるものでもよい。
【０１４１】
さらに好ましくは、６タップの補間フィルタの場合、このような参照テーブルが以下のように定められる。
【０１４２】
【表２】
2010021108.tif 000038
【０１４３】
適応的フィルタの係数を送信すると追加ビットレートが大きくなるので、特に、低空間解像度の映像シーケンスの場合や非分離式のフィルタの場合、全体の符号化ゲインがオーバヘッド情報によって低下することがある。補助情報を削減するために、画像の統計的特性が対称であると仮定してもよい。このようにして、フル画素位置同士で現在のサブ画素位置までの距離が等しい場合には、フィルタ係数は等しいと考える。但し、エイリアシングなどの信号のアーチファクトまたは変位予測誤差があるので、すべてのシーケンスについて対称性の仮定が当てはめられるというわけではない。したがって、フィルタの適応は信号統計値に対して限界があるので、符号化効率のゲインの損失につながる場合がある。
【０１４４】
対称な補間フィルタと非対称な補間フィルタを適用することによって、フィルタ係数の送信によってビットストリームに追加されるオーバヘッド情報の量を制御することが可能である。例えば、高解像度のシーケンスには、非対称補間フィルタを送信して信号の統計に最適なフィルタにすると良いが、その一方で、低解像度のシーケンスには、オーバヘッド情報の量を削減するために対称フィルタを適用すればよい。対称性を利用する度に、異なる各サブ画素位置の対応するフィルタ同士を一括して最適化する。この結果、入力信号がエイリアシングを含む場合や動き予測が不正確な場合には、予測効率が低下することがある。なお、動き補償予測精度の最適化あるいはオーバヘッド送信の最適化のために、対称フィルタと非対称フィルタは、サブ画素位置に応じて、相互に切り替え可能である。
【０１４５】
要約すると、本発明は、小数画素精度の動き補償予測に基づく映像符号化および映像復号に関する。本発明によれば、ある特定のサブ画素位置の画素値を求める際、当該サブ画素位置から隣のブロック境界までの距離に基づいて複数のフィルタ候補の中から選択した補間フィルタを適用する。このように、複数のフィルタ候補は、隣のブロック境界まで特定の距離を有する画素を最適に補間できるように構成される。これに加えて、最適なフィルタを選択する際に境界の種類または強度を考慮に入れてもよい。
【０１４６】
（その他変形例）
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【０１４７】
上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１４８】
上記の各装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成要素部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。ＲＡＭには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０１４９】
上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。ＩＣカードまたはモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。ＩＣカードまたはモジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ＩＣカードまたはモジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０１５０】
本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１５１】
また、本発明は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
【０１５２】
また、本発明は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１５３】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記憶しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作するとしてもよい。
【０１５４】
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１５５】
なお、上記の実施形態では、図３Ａに示される補間フィルタ１６２を備える画像符号化装置１００及び画像復号装置１０１の例を説明したが、これに限ることなく、本発明は補間フィルタ１６２単体としても成立し得る。すなわち、画像符号化装置１００及び画像復号装置１０１に搭載される補間フィルタ１６２をモジュール化して、補間フィルタ装置、補間フィルタ方法、補間フィルタプログラム、及び補間フィルタ集積回路等として提供することも可能である。
【０１５６】
上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０１５７】
以上、図面を参照してこの発明の実施形態を説明したが、この発明は、図示した実施形態のものに限定されない。図示した実施形態に対して、この発明と同一の範囲内において、あるいは均等の範囲内において、種々の修正や変形を加えることが可能である。
【産業上の利用可能性】
【０１５８】
本発明は、動き補償予測を用いた画像符号化方法及び画像復号方法に特に有利に利用される。
【符号の説明】
【０１５９】
１００                              画像符号化装置
１０１                              画像復号装置
１１０                              減算器
１２０                              変換・量子化部
１２１，１３０                      逆量子化・逆変換部
１３５                              加算器
１３７                              デブロッキングフィルタ
１３９                              ポストフィルタ
１４０                              メモリ
１５０                              画面内フレーム予測部
１６０                              動き補償予測部
１６２                              補間フィルタ
１６２ａ                            画素選択部
１６２ｂ                            重み係数決定部
１６２ｃ                            補間部
１７０                              動き予測部
１８０                              スイッチ
１９０                              エントロピー符号化部
１９１                              エントロピー復号部
３０１，３０２，３０３              変位ベクトル
３１０，３１１，３１２，３１３      破線
３２０                              補間対象画素
６１０                              ブロック境界
６２０                              四角
６３０                              円
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ブロック単位で符号化された画像の画素を補間する補間フィルタリング方法であって、
補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択ステップと、
前記画素選択ステップで選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップと、
前記重み係数決定ステップで決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して前記補間対象画素の画素値を算出する補間ステップとを含み、
前記重み係数決定ステップでは、前記複数の画素のうちのいずれかの画素が前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする
補間フィルタリング方法。
【請求項２】
前記重み係数決定ステップでは、
前記補間対象画素から前記対象ブロックの境界までの距離を算出し、
前記複数の画素それぞれについて、算出した距離を用いて前記補間対象画素から当該画素までの間に前記対象ブロックのブロック境界が存在するか否かを判断することによって、当該画素が前記周辺ブロックに属するか否かを判断する
請求項１に記載の補間フィルタリング方法。
【請求項３】
前記重み係数決定ステップでは、さらに、前記対象ブロックと前記周辺ブロックとの間のブロック境界の境界強度が高くなるほど、前記周辺ブロックに属する画素の重み係数を小さくする
請求項１に記載の補間フィルタリング方法。
【請求項４】
前記重み係数決定ステップでは、前記対象ブロック及び前記周辺ブロックの少なくとも一方が画面間予測符号化された場合に、前記対象ブロック及び前記周辺ブロックの両方が画面内予測符号化された場合より、前記周辺ブロックに属する画素の重み係数を小さくする
請求項３に記載の補間フィルタリング方法。
【請求項５】
前記重み係数決定ステップでは、さらに、前記ブロック境界がマクロブロック境界である場合に、前記ブロック境界がマクロブロック境界でない場合より、前記周辺ブロックに属する画素の重み係数を小さくする
請求項４に記載の補間フィルタリング方法。
【請求項６】
前記重み係数決定ステップでは、さらに、前記対象ブロック及び前記周辺ブロックの少なくとも一方が符号化係数を含む場合に、前記対象ブロック及び前記周辺ブロックの両方が符号化係数を含まない場合より、前記周辺ブロックに属する画素の重み係数を小さくする
請求項４に記載の補間フィルタリング方法。
【請求項７】
前記重み係数決定ステップでは、さらに、前記対象ブロック及び前記周辺ブロックの参照フレーム、参照フレーム番号、及び動きベクトル値の少なくとも１つが異なる場合に、前記対象ブロック及び前記周辺ブロックの参照フレーム、参照フレーム番号、及び動きベクトルが全て同一である場合より、前記周辺ブロックに属する画素の重み係数を小さくする
請求項６に記載の補間フィルタリング方法。
【請求項８】
前記重み係数決定ステップでは、さらに、前記複数の画素のうち、前記対象ブロックと前記周辺ブロックとの境界を挟む２つの画素の画素値の勾配が大きいほど、前記周辺ブロックに属する画素の重み係数を小さくする
請求項３に記載の補間フィルタリング方法。
【請求項９】
複数の符号化対象ブロックを順次符号化する画像符号化方法であって、
前記符号化対象ブロックの予測ブロックを生成する予測ブロック生成ステップと、
前記予測ブロックを用いて、前記符号化対象ブロックを符号化する符号化ステップとを含み、
前記予測ブロック生成ステップは、
補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択ステップと、
前記画素選択ステップで選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップと、
前記重み係数決定ステップで決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間ステップと、
画素が補間された前記画像に基づいて前記予測ブロックを生成する予測ステップとを含み、
前記重み係数決定ステップでは、前記画素が前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする
画像符号化方法。
【請求項１０】
前記符号化ステップでは、さらに、前記重み係数を符号化する
請求項９に記載の画像符号化方法。
【請求項１１】
符号化信号を復号して復号ブロックを生成する画像復号方法であって、
前記復号ブロックの予測ブロックを生成する予測ブロック生成ステップと、
前記予測ブロックを用いて、前記符号化信号を復号する復号ステップとを含み、
前記予測ブロック生成ステップは、
補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択ステップと、
前記画素選択ステップで選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップと、
前記重み係数決定ステップで決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間ステップと、
画素が補間された前記画像に基づいて前記予測ブロックを生成する予測ステップとを含み、
前記重み係数決定ステップでは、前記画素が前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする
画像復号方法。
【請求項１２】
ブロック単位で符号化された画像の画素を補間する補間フィルタリング装置であって、
補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択部と、
前記画素選択部によって選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定部と、
前記重み係数決定部によって決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間部とを備え、
前記重み係数決定部は、前記複数の画素のいずれかが前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする
補間フィルタリング装置。
【請求項１３】
コンピュータに、ブロック単位で符号化された画像の画素を補間させるプログラムであって、
補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択ステップと、
前記画素選択ステップで選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定ステップと、
前記重み係数決定ステップで決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間ステップとを含み、
前記重み係数決定ステップでは、前記複数の画素のいずれかが前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする
プログラム。
【請求項１４】
ブロック単位で符号化された画像の画素を補間する集積回路であって、
補間対象画素の補間に用いる複数の画素を前記画像から選択する画素選択部と、
前記画素選択部によって選択された前記複数の画素それぞれに対応する重み係数を決定する重み係数決定部と、
前記重み係数決定部によって決定された重み係数を用いて、前記複数の画素の画素値を重み付け加算して、前記補間対象画素の画素値を算出する補間部とを備え、
前記重み係数決定部は、前記複数の画素のいずれかが前記補間対象画素の属する対象ブロックと異なる周辺ブロックに属する場合に、当該画素が前記対象ブロックに属する場合より、当該画素の重み係数を小さくする
集積回路。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１Ａ】
2010021108.tif 000039
【図１Ｂ】
2010021108.tif 000040
【図２Ａ】
2010021108.tif 000041
【図２Ｂ】
2010021108.tif 000042
【図３Ａ】
2010021108.tif 000043
【図３Ｂ】
2010021108.tif 000044
【図４】
2010021108.tif 000045
【図５】
2010021108.tif 000046
【図６】
2010021108.tif 000047
【図７Ａ】
2010021108.tif 000048
【図７Ｂ】
2010021108.tif 000049
【図７Ｃ】
2010021108.tif 000050
【図７Ｄ】
2010021108.tif 000051
【図７Ｅ】
2010021108.tif 000052
【図７Ｆ】
2010021108.tif 000053
【図７Ｇ】
2010021108.tif 000054
【国際調査報告】
2010021108.tif 000055
2010021108.tif 000056
2010021108.tif 000057
2010021108.tif 000058