上述の欠点および問題を認識した上で、本発明は、最新技術を改善することを目的とする。特に、本発明の目的は、後続フレームのビデオストリームの符号化および復号を改善するためのビデオコーダ、符号化方法、ビデオデコーダおよび復号方法を提供することである。
本発明は、特に、インター予測符号化の品質を改善することを意図している。特に、本発明は、動き推定および動き補償によって生じるアーチファクトを除去することを意図する。具体的には、本発明の目的は、動き補間フィルタの負の効果を低減することであり、すなわち、参照フレームの補間による小数画素位置への悪影響を低減し、参照フレームの量子化アーチファクトを低減することによって予測品質を改善する。
本発明の上記の目的は、添付の独立請求項で提供する解決策によって達成される。本発明の有利な実装形態は、それぞれの従属請求項でさらに定義される。
本発明の第1の態様は、後続フレームのビデオストリームを、動き補償に従って符号化ビデオビットストリームに予測符号化するためのビデオコーダを提供する。ビデオコーダは、ビデオストリームの少なくとも1つの参照フレームを格納するように構成されたフレームバッファを備え、参照フレームは、ビデオストリームの現在フレームとは異なる。ビデオコーダは、参照フレームの参照ブロックから現在フレームの現在ブロックの予測ブロックを生成するように構成されたインター予測部を備える。予測ブロックは、小数画素解像度を有する動きベクトルによって生成され、小数画素解像度は、動きベクトルの各整数位置に対して、複数の関連付けられた小数位置を定義するかまたは定義することを可能にする。ビデオコーダは、予測ブロックをフィルタリングするように構成された鮮鋭化フィルタを備える。ビデオコーダは、予測ブロックの生成に使用される動きベクトルの整数または小数位置に応じて鮮鋭化フィルタを制御するように構成された制御部を備える。
これにより、鮮鋭化フィルタを予測ブロックに適用することによって、小数画素位置における参照フレーム/ブロックの補間によって生じる、すなわち動き補間フィルタによって生じる、リンギングアーチファクトを除去するか、または少なくとも低減するという点でインター予測符号化の品質を改善し、一方では高品質な補間エッジを有利に維持する。また、参照ブロック内の変換係数の量子化によって生じるギブス効果とも呼ばれるリンギングアーチファクトを除去するか、または少なくとも低減する。さらに、量子化および動き補間によって生じるエッジのぼやけを低減し、また、動きのぶれによって生じるエッジのぼやけを低減する。さらに、本発明は、再構成フレーム/ブロック内のエッジの主観的品質を高める。
これにより、本発明による鮮鋭化フィルタを動き補間フィルタの後、すなわちインター予測部の後に配置することにより、鮮鋭化フィルタはループ内参照フィルタのタスク、すなわちループフィルタリング部のタスクを実行すると同時に、動き補間フィルタリングによって生じたアーチファクトを除去するか、または少なくとも低減することができる。また、鮮鋭化フィルタを制御するための小数動きベクトル位置の使用は、小数動きベクトル位置を信号点として使用することによって、鮮鋭化フィルタの有効化または無効化、ならびにフィルタの適応係数の直接シグナリングを回避する点において有利であり、またシグナリングオーバーヘッドを削減し、適応する鮮鋭化予測フィルタツールのレート歪みのトレードオフを改善することができる点で有利である。提案する手法によって、ビデオコンテンツ、特に予測ブロックの局所特徴への適応が可能になるため、小さなブロックの符号化であっても、デコーダに送信するための削減されたシグナリングオーバーヘッドを必要とするのみである。
第1の態様によるビデオコーダの実装形態では、鮮鋭化フィルタは、少なくとも1つの適応パラメータを備える。制御部は、動きベクトルの整数または小数位置に応じて適応パラメータのパラメータ値を選び、選ばれたパラメータ値を鮮鋭化フィルタに適用することによって、鮮鋭化フィルタを制御するように構成される。
これにより、予測ブロックは、ビデオの特定のコンテンツに適合させることができる鮮鋭化フィルタによってフィルタリングされる。適合には、ビデオコンテンツの局所特徴を考慮に入れることができ、鮮鋭化フィルタを制御するために小数動きベクトル位置を使用することによって、必要なシグナリングオーバーヘッドが制限されることがある。
第1の態様によるビデオコーダのさらなる実装形態では、動きベクトルの各整数または小数位置は、適応パラメータのパラメータ値に関連付けられる。適応鮮鋭化フィルタがいくつかの適応パラメータを有する場合、動きベクトルの各整数または小数位置は、適応パラメータの値のセットに関連付けられてもよい。
これにより、各動きベクトルの位置がパラメータ値を取得するために使用され、したがって鮮鋭化フィルタを制御するために使用されることが保証される。
第1の態様によるビデオコーダのさらなる実装形態では、動きベクトルの少なくとも1つの整数または小数位置は、関連付けられたパラメータ値を持たない。制御部は、動きベクトルの位置にパラメータ値が関連付けられていない場合、鮮鋭化フィルタのバイパスを生じるように構成される。
これにより、追加のシグナリングデータをデコーダに送る必要なしに、鮮鋭化フィルタをバイパスすることが可能になる。
第1の態様によるビデオコーダのさらなる実装形態では、ビデオコーダは、予測ブロックをフィルタリングするように構成された複数の鮮鋭化フィルタを備える。制御部は、動きベクトルの整数または小数位置に応じて、複数の鮮鋭化フィルタの1つを選ぶように構成される。制御部は、選ばれた鮮鋭化フィルタを予測ブロックに適用するように構成される。
それにより、この解決策は、ビデオストリームのコンテンツに対するビデオコーダの適応性をさらに増加させる。制御部は、実際には、動きベクトルの整数または小数位置に応じて鮮鋭化フィルタの1つを選ぶという点で、複数の鮮鋭化フィルタを制御することができる。
第1の態様によるビデオコーダのさらなる実装形態では、鮮鋭化フィルタは、ソースブロックのエッジマップを生成するように適合されたエッジマップ計算部を備え、ソースブロックは参照ブロックまたは予測ブロックである。鮮鋭化フィルタは、ソースブロックのエッジマップをぼかすように適合されたぼかしフィルタを備える。鮮鋭化フィルタは、ぼやけたエッジマップをハイパスフィルタリングすることによってソースブロックの各位置の微分ベクトルを生成するように適合されたハイパスフィルタを備える。鮮鋭化フィルタは、鮮鋭化強度係数で微分ベクトルをスケーリングすることによって変位ベクトルを生成するように適合されたスケーリング部を備える。鮮鋭化フィルタは、変位ベクトルに基づいて予測ブロックをワープするように適合されたワーピング部を備える。適応パラメータは、鮮鋭化強度係数である。
これにより、鮮鋭化フィルタのこの構造は、リンギングアーチファクトの除去の点でより良い結果をもたらすことができる非線形鮮鋭化フィルタを定義する。また、鮮鋭化強度係数を適応パラメータとして使用することは、ただ1つの適応パラメータが必要であることを意味し、このことはさらにシグナリングオーバーヘッドを低減する。
第1の態様によるビデオコーダのさらなる実装形態では、制御部は、動きベクトルの整数または小数位置に応じて、鮮鋭化フィルタによる予測ブロックフィルタリングのバイパスおよび適用のうちの少なくとも1つを制御するように構成される。
これにより、鮮鋭化フィルタを適用するか、またはバイパスするように、制御部によって決定することができる。次に、例えば符号化される特定のビデオストリームなど、各特定の場合に決定を適合させることができる。また、鮮鋭化フィルタをバイパスして、ビデオコーダ内の計算資源を節約することができる。一方、補間品質の改善およびアーチファクトの低減を優先させる場合には、鮮鋭化フィルタを適用することができる。動きベクトルの位置に依存することにより、シグナリングオーバーヘッドがさらに低減される。
第1の態様によるビデオコーダのさらなる実装形態では、鮮鋭化パターンは、動きベクトルの整数位置および1つ以上の関連付けられた小数位置に対する鮮鋭化情報をそれぞれ定義する。制御部は、少なくとも1つの鮮鋭化パターンを利用し、それによって予測ブロックの生成に使用される動きベクトルに対応する位置で、少なくとも1つの鮮鋭化パターンに定義された鮮鋭化情報に応じて鮮鋭化フィルタを制御するように構成されている。
それにより、例えば1つのフレームに対していくつかの異なる小数シグナリングパターンを提供することによって、コンテンツの適応性をさらに高めることができるという利点がある。
第1の態様によるビデオコーダのさらなる実装形態では、制御部は、単一の鮮鋭化パターンを利用するように構成される。
これにより、鮮鋭化フィルタの制御に必要とされ、デコーダに送信されるシグナリングオーバーヘッドを低減することができる。
第1の態様によるビデオコーダのさらなる実装形態では、制御部は、単一の鮮鋭化パターンを修正するように構成され、フレームレベル、GOP(グループオブピクチャ)レベル、PPS(ピクチャパラメータセット)レベルまたはSPS(シーケンスパラメータセット)レベルで、現在フレームの任意の領域または規則的な領域について、予測ブロック毎に単一の鮮鋭化パターンを修正するように特に構成される。
これにより、シグナリングを最適化できるように、鮮鋭化パターンを所望の粒度に設定することが可能である。
第1の態様によるビデオコーダのさらなる実装形態では、複数の鮮鋭化パターンが定義され、制御部は、残差ブロックの最小化に基づいて、またはレート歪みの最適化などのコスト基準に基づいて、鮮鋭化パターンのうちの1つを選択するように構成され、残差ブロックは、現在ブロックと予測ブロックとの差分である。
これにより、動き補償をさらに改善することができる。異なる鮮鋭化パターンについて取得した残差ブロックを比較することができる。残差ブロックを最小にする予測ブロック、またはコスト基準を最小にする予測ブロックを選択することにより、動き補償を改善することができる。次に、選択された予測ブロックに対応する鮮鋭化パターンを、動き補償を改善するために異なる鮮鋭化パターンの中から選択する。
第1の態様によるビデオコーダのさらなる実装形態では、ビデオコーダは、符号化ビデオビットストリームを生成し、かつ制御部によって選択された鮮鋭化パターンのインデックスを符号化ビデオビットストリームに追加するように構成された符号化部を備える。
これにより、符号化ビデオビットストリームを復号する際に、この鮮鋭化パターンインデックスを得ることができ、それに応じてデコーダ側の鮮鋭化フィルタを制御することができるため、正しい復号を保証することができる。
第1の態様によるビデオコーダのさらなる実装形態では、少なくとも1つの鮮鋭化パターンが、制御部によってアクセス可能なメモリに予め格納される。例えば、鮮鋭化パターンは、符号化ビデオビットストリームを復号するように構成されたビデオデコーダのメモリに予め格納されてもよい。
これにより、少なくとも1つの鮮鋭化パターンをシグナリング情報として符号化ビデオビットストリームに追加する必要がない。その後、全体のシグナリングを減らすことができる。鮮鋭化パターンが事前に知られている(すなわち、予め格納されている)ことは、例えば、少なくとも1つの鮮鋭化パターンが、ビデオストリームを符号化または復号する前に、制御部に予め格納されていることを意味する。複数の鮮鋭化パターンの場合、選択された鮮鋭化パターンの識別またはインデックスを符号化ビデオビットストリームに追加することによって、選択された鮮鋭化パターンをデコーダに通知することが可能である。デコーダは、この識別またはインデックスを取得した後、デコーダに予め格納されているパターンから正しいパターンを選択することができる。
第1の態様によるビデオコーダのさらなる実装形態では、ビデオコーダは、符号化ビデオビットストリームを生成し、かつ制御部の少なくとも1つの鮮鋭化パターンのインデックスを符号化ビデオビットストリームに追加するように構成された符号化部を備える。
これにより、デコーダは、鮮鋭化パターンを得ることができ、符号化されたビデオを正しく復号することができる。
第1の態様によるビデオコーダのさらなる実装形態では、制御部は、少なくとも1つの鮮鋭化パターンの鮮鋭化パターンの数および/または鮮鋭化情報を変更するように構成される。
これにより、コーダは必要に応じて鮮鋭化パターンを適応させることができる。ビデオコーダは、例えば、ビデオコンテンツに関して向上した適応性を提供するように、鮮鋭化パターンの数を増加させることができる。
第1の態様によるビデオコーダのさらなる実装形態では、フレームレベル、GOP(グループオブピクチャ)レベル、PPS(ピクチャパラメータセット)レベルまたはSPS(シーケンスパラメータセット)レベルで、フレームの任意の領域または規則的な領域について、予測ブロック毎に少なくとも1つの鮮鋭化パターンの鮮鋭化パターンの数および/または鮮鋭化情報が変更される。
これにより、シグナリングを最適化できるように、鮮鋭化パターンの内容および数を所望の粒度に設定することが可能になる。
第1の態様によるビデオコーダのさらなる実装形態では、鮮鋭化情報は、鮮鋭化フィルタの適応パラメータの値であるか、または鮮鋭化フィルタの適用またはバイパスを定義する値である。
これにより、鮮鋭化パターンは、鮮鋭化フィルタの制御に必要な情報を含むことができる。
第1の態様によるビデオコーダのさらなる実装形態では、インター予測部は、参照ブロックを小数位置で補間するように構成された補間部を備える。
これにより、インター予測を改善することができ、補間の小数位置を鮮鋭化フィルタの制御に使用することができる。
本発明の第2の態様は、後続フレームのビデオストリームを、動き補償に従って符号化ビデオビットストリームに予測符号化する方法を提供する。この方法は、ビデオストリームの少なくとも1つの参照フレームを格納するステップを含み、参照フレームは、ビデオストリームの現在フレームとは異なる。この方法は、参照フレームの参照ブロックから現在フレームの現在ブロックの予測ブロックを生成するステップを含む。予測ブロックは、小数画素解像度を有する動きベクトルによって生成され、小数画素解像度は、動きベクトルの各整数位置に対して、複数の関連付けられた小数位置を定義するかまたは定義することを可能にする。この方法は、鮮鋭化フィルタを予測ブロックに適用するステップを含む。この方法は、予測ブロックの生成に使用される動きベクトルの整数または小数位置に応じて、鮮鋭化フィルタの適用を制御するステップを含む。
本発明の第2の態様による方法のさらなる特徴または実装形態は、本発明の第1の態様によるビデオコーダおよびその異なる実装形態の機能を実行することができる。
本発明の第3の態様は、後続フレームのビデオストリームを、動き補償に従って予測符号化することによって得られた符号化ビデオビットストリームを復号するためのビデオデコーダを提供する。ビデオデコーダは、符号化ビデオビットストリームから得られた少なくとも1つの参照フレームを格納するように構成されたフレームバッファを備え、参照フレームは、符号化ビデオビットストリームの現在フレームとは異なる。ビデオデコーダは、参照フレームの参照ブロックから現在フレームの現在ブロックの予測ブロックを生成するように構成されたインター予測部を備える。予測ブロックは、小数画素解像度を有する動きベクトルによって生成され、小数画素解像度は、動きベクトルの各整数位置に対して、複数の関連付けられた小数位置を定義するかまたは定義することを可能にする。ビデオデコーダは、予測ブロックをフィルタリングするように構成された鮮鋭化フィルタを備える。ビデオデコーダは、予測ブロックの生成に使用される動きベクトルの整数または小数位置に応じて鮮鋭化フィルタを制御するように構成された制御部を備える。
これにより、第1の態様によるビデオコーダに関して得られる利点が、第3の態様によるビデオデコーダに関しても得られる。
第3の態様によるビデオデコーダの実装形態では、制御部は、動きベクトルの整数または小数位置に応じて、鮮鋭化フィルタによる第1の予測ブロックフィルタリングのバイパスおよび適用のうちの少なくとも1つを制御するように構成される。
これにより、鮮鋭化フィルタ部をバイパスまたは適用する決定を、各特定の場合に適合させることができる。また、鮮鋭化フィルタをバイパスして、ビデオコーダおよびビデオデコーダ内の計算資源を節約することができる。一方、補間品質の改善およびアーチファクトの低減を優先させる場合には、鮮鋭化フィルタを適用することができる。動きベクトルの位置に依存することにより、シグナリングオーバーヘッドがさらに低減される。
第3の態様によるビデオデコーダの実装形態では、鮮鋭化パターンは、動きベクトルの整数位置および1つ以上の関連付けられた小数位置に対する鮮鋭化情報をそれぞれ定義する。制御部は、少なくとも1つの鮮鋭化パターンを利用し、それによって予測ブロックの生成に使用される動きベクトルに対応する位置で、少なくとも1つの鮮鋭化パターンに定義された鮮鋭化情報に応じて鮮鋭化フィルタを制御するように構成されている。
それにより、例えば1つのフレームに対していくつかの異なる小数シグナリングパターンを提供することによって、コンテンツの適応性をさらに高めることができるという利点がある。
第3の態様によるビデオデコーダの実装形態では、ビデオデコーダは、符号化ビデオビットストリームから少なくとも1つの鮮鋭化パターンを復号するように構成された復号部を備える。制御部は、復号部によって復号された鮮鋭化パターンに定義された鮮鋭化情報に依存して、鮮鋭化フィルタを制御するように構成される。
これにより、ビデオデコーダは、鮮鋭化パターンを得ることができ、符号化されたビデオを正しく復号することができる。
第3の態様によるビデオデコーダの実装形態では、少なくとも1つの鮮鋭化パターンは、制御部によってアクセス可能なメモリに予め格納される。例えば、鮮鋭化パターンは、符号化ビデオビットストリームを生成するように構成されたビデオコーダのメモリに予め格納されてもよい。
これにより、少なくとも1つの鮮鋭化パターンをシグナリング情報として符号化ビデオビットストリームに追加する必要がない。その後、全体のシグナリングを減らすことができる。鮮鋭化パターンが予め知られているという事実は、例えば、少なくとも1つの鮮鋭化パターンが、符号化ビデオビットストリームを受信および復号する前に予め格納されていることを意味する。
第3の態様によるビデオデコーダの実装形態では、鮮鋭化パターンは、符号化ビデオビットストリームの選択された鮮鋭化パターン情報に応じて、フレームレベル、GOP(グループオブピクチャ)レベル、PPS(ピクチャパラメータセット)レベルまたはSPS(シーケンスパラメータセット)レベルで、フレームの任意の領域または規則的な領域について、予測ブロック毎に使用される。
これにより、シグナリングを最適化できるように、鮮鋭化パターンの粒度を適合させることが可能である。
第3の態様によるビデオデコーダの実装形態では、制御部は、単一の鮮鋭化パターンを利用するように構成される。
これにより、鮮鋭化フィルタの制御に必要なシグナリングオーバーヘッドを低減することができる。
第3の態様によるビデオデコーダの実装形態では、単一の鮮鋭化パターンは、制御部によってアクセス可能なメモリに予め格納される。
第3の態様によるビデオデコーダの実装形態では、制御部は、フレームレベル、GOP(グループオブピクチャ)レベル、PPS(ピクチャパラメータセット)レベルまたはSPS(シーケンスパラメータセット)レベルで、現在フレームの任意の領域または規則的な領域について、予測ブロック毎に単一の鮮鋭化パターンを修正するように構成される。
第3の態様によるビデオデコーダの実装形態では、制御部は、符号化ビデオビットストリームの鮮鋭化パターン情報に応じて、フレームレベル、GOP(グループオブピクチャ)レベル、PPS(ピクチャパラメータセット)レベルまたはSPS(シーケンスパラメータセット)レベルで、現在フレームの任意の領域または規則的な領域について、予測ブロック毎に単一の鮮鋭化パターンを修正するように構成される。
第3の態様によるビデオデコーダの実装形態では、鮮鋭化情報は、鮮鋭化フィルタの適応パラメータの値であるか、または鮮鋭化フィルタの適用またはバイパスを定義する値である。
本発明の第1の態様によるビデオコーダのさらなる特徴または実装、例えば、鮮鋭化フィルタおよびその構造については、本発明の第3の態様によるビデオデコーダにも適用可能である。
本発明の第4の態様は、後続フレームのビデオストリームを、動き補償に従って予測符号化することによって得られた符号化ビデオビットストリームを復号する方法を提供する。この方法は、符号化ビデオビットストリームから得られた少なくとも1つの参照フレームを格納するステップを含み、参照フレームは、符号化ビデオビットストリームの現在フレームとは異なる。この方法は、参照フレームの参照ブロックから現在フレームの現在ブロックの予測ブロックを生成するステップを含む。予測ブロックは、小数画素解像度を有する動きベクトルによって生成され、小数画素解像度は、動きベクトルの各整数位置に対して、複数の関連付けられた小数位置を定義するかまたは定義することを可能にする。この方法は、鮮鋭化フィルタを予測ブロックに適用するステップを含む。この方法は、予測ブロックの生成に使用される動きベクトルの整数または小数位置に応じて、鮮鋭化フィルタの適用を制御するステップを含む。
本発明の第4の態様による方法のさらなる特徴または実装形態は、本発明の第3の態様によるビデオデコーダおよびその異なる実装形態の機能を実行することができる。
本発明の第5の態様は、コンピュータプログラムがコンピューティングデバイス上で動作するときに、そのような符号化および/または復号方法を実行するためのプログラムコードを有するコンピュータプログラムを提供する。
本発明は、動き予測信号、すなわち予測ブロックに適応鮮鋭化フィルタを適用することによって、動き補償の改善を提案する。リンギングアーチファクトを低減し、動き予測ブロック内のエッジの鮮鋭度を高めることによって、動き補償を改善することを提案する。動き補償向上のためにコーダとデコーダの両方に配置され得る予測フィルタとして鮮鋭化フィルタを適用することを提案する。本発明は、例えば、鮮鋭化フィルタを適用またはバイパスするため、およびフィルタが適用される場合には適応鮮鋭化フィルタパラメータをシグナリングするための信号点として、動きベクトル位置を使用することを提案する。小数位置を使用して、適応パラメータ/係数の1つの値または異なる値を通知してもよい。非線形鮮鋭化予測フィルタは、単一の適応パラメータのみを実装することを含む動き補償の改善に使用することができる。コンテンツの適応性をさらに高めるために、1つのフレームに対していくつかの異なる小数シグナリングパターンを定義してもよい。最適なパターンは、符号化ピクチャの特定の領域毎に選ばれ、通知されてもよい。
本出願において説明される全てのデバイス、要素、部および手段は、ソフトウェアまたはハードウェア要素またはそれらの任意の種類の組み合わせで実装され得ることに留意されたい。本出願に記載されている様々なエンティティによって実行される全てのステップは、様々なエンティティによって実行されるように記載された機能と同様に、それぞれのエンティティがそれぞれのステップおよび機能を実行するように適合または構成されていることを意味することが意図される。特定の実施形態の以下の説明において、その特定のステップまたは機能性を実行するエンティティの特定の詳細な要素の説明に反映されていない永続的なエンティティによって完全に形成される特定の機能またはステップがあったとしても、これらの方法および機能は、それぞれのソフトウェアまたはハードウェア要素、またはそれらの任意の種類の組み合わせで実装できることが当業者には明らかである。
本発明の上記態様および実装形態は、添付の図面に関連する特定の実施形態の以下の記載において説明される。
図2は、本発明の一実施形態によるビデオコーダ、特に、後続フレームのビデオストリームを、動き補償に従って符号化ビデオビットストリームに予測符号化するためのビデオコーダ200を示す。
ビデオコーダ200は、特に、フレームバッファ207と、インター予測部210と、鮮鋭化フィルタ211と、制御部212とを備える。
フレームバッファ207は、ビデオストリームの少なくとも1つの参照フレームまたはピクチャを格納するように適合されている。参照フレームは、ビデオストリームの現在フレームとは異なる。特に、本発明の文脈では、現在フレームは、現在符号化されているビデオストリームのフレームであり、参照フレームは、既に符号化されているビデオストリームのフレームである。以下では、「フレーム」という特徴への言及は、「ピクチャ」という特徴への言及に置き換えられてもよい。
インター予測部210は、参照フレームの参照ブロックから現在フレームの現在ブロックの予測ブロックを生成するように適合される。参照フレームは、好ましくは、フレームバッファ207に格納された参照フレームであり、現在ブロックは、好ましくは、図2でビデオブロックと呼ばれるビデオコーダ200の入力に対応する。
予測ブロックは、小数画素解像度を有する動きベクトルによって生成され、小数画素解像度は、動きベクトルの各整数位置に対して、複数の関連付けられた小数位置を定義し、特に、現在フレームは、インター符号化技術を使って符号化されており、すなわち現在フレームは、現在フレームとは異なる少なくとも1つの参照フレームから予測される。参照フレームは、前フレーム、すなわち後続フレームのビデオストリーム内の現在フレームの前に位置するフレームとすることができる。あるいは、順方向予測が使用される場合、参照フレームは未来フレーム、すなわち現在フレームの後に位置するフレームであってもよい。複数の参照フレームの場合には、少なくとも1つはそのような前フレームであってもよく、それらの少なくとも1つはこのような未来フレームであってもよい。参照フレームは、イントラ符号化され、すなわち、さらなるフレームを使用せずに、他のフレームに依存せずに符号化することができるため、独立して復号され、ランダムビデオアクセスのエントリーポイントとして役立つことができる。
特に、インター予測部210は、動きベクトルを生成し、参照フレームの参照ブロックと現在フレームの現在ブロックとの間の動きを推定することによって、動き推定を実行するように適合される。上述したように、動きベクトルは、小数画素分解能を有する、すなわち、整数位置または小数位置を提示することができる。動き推定は、符号化中に実行されて、例えばレート歪みの最適化である特定のコスト関数に基づいて、参照フレーム内の最良の参照ブロックを指し示す動きベクトルを見つける。動き推定に加えて、インター予測部210は、動きベクトルおよび参照ブロックに基づいて、現在ブロックの予測ブロックを生成することによって、動き補償を実行するようにさらに適合される。
特に、動き予測は、動き推定部および動き補償部を含む。動きベクトルは、動き推定部を用いて生成される。参照ブロックおよび現在ブロックは、好ましくは、参照フレームおよび現在フレームのそれぞれの領域またはサブ領域である。このようなブロックは、例えば長方形などの規則的な形状、または不規則な形状であってもよい。あるいは、ブロックはフレームと同じサイズを有することができる。現在ブロックと参照ブロックは同じサイズを有する。ブロックのサイズは、側路情報またはシグナリングデータとしてデコーダに送信されるブロックモード情報によって定義することができる。ブロックは、例えば64×64ピクセルなど、フレームの一部を含む予め定義されたサイズのビデオシーケンスの基本的な符号化構造である符号化部に対応することができる。
予測ブロックは、参照ブロックを考慮して現在ブロックに対して生成される。特に、複数の参照ブロックを考慮して、現在フレームの複数の現在ブロックに対して複数の予測ブロックを生成することができる。これらの参照ブロックは、単一の参照フレームの一部であってもよく、または異なる参照フレームから選択されてもよい。現在フレームに対していくつかの予測ブロックを生成することができ、現在フレームに対して生成された予測ブロックを組み合わせて、現在フレームの予測フレームを得ることができる。
鮮鋭化フィルタ211は、予測ブロックを適応的にフィルタリングするように構成された適応鮮鋭化フィルタである。このようにして、鮮鋭化フィルタ211は、インター予測部210によって生成された予測ブロックに適用される。本発明で提案する鮮鋭化フィルタ211は、インター予測部210の後に追加され、インター予測によって得られた予測ブロック、すなわち動き推定と動き補償を含む動き予測によって得られた予測ブロックを向上させる。したがって、鮮鋭化フィルタ211は、鮮鋭化された予測ブロックを生成するように適合される。
制御部212は、予測ブロックの生成に使用される動きベクトルの整数または小数位置に応じて、鮮鋭化フィルタを制御するように構成される。
制御部212は、動きベクトルの整数または小数位置に応じて鮮鋭化フィルタを適用またはバイパスし、選択されたパラメータ値を適応鮮鋭化フィルタ211に供給するように構成される。
鮮鋭化フィルタ211は、有利には、少なくとも1つの適応パラメータを利用する。制御部212は、動きベクトルの整数または小数位置に応じて適応パラメータのパラメータ値を選択し、鮮鋭化フィルタが適用される場合には、選ばれたパラメータ値を適応鮮鋭化フィルタ211に適用するように構成されてもよい。
好ましくは、適応鮮鋭化フィルタ211は、制御部212によって設定されるただ1つの適応パラメータを利用する。
図2のビデオコーダ200は、特にハイブリッドビデオ符号化をサポートするために、図1のビデオコーダ100と同様のさらなる部を備える。例えば、ビデオコーダ200は、変換部201、量子化部202、およびエントロピーエンコーダまたはエントロピー符号化部203である同様の部を備え、当該技術分野において既に知られているように、周波数ドメインへの変換によって変換係数を生成し、係数を量子化し、量子化係数を例えばシグナリングデータと共にエントロピー符号化する。変換部201の入力は、図2でビデオブロックと呼ばれる現在フレームの現在ブロックと、インター予測部210、鮮鋭化フィルタ211またはイントラ予測部209が出力した予測ブロックとの間の差分として定義された残差ブロックである。エントロピー符号化部203は、符号化ビデオビットストリームを出力として生成するように適合されている。さらに、エントロピー符号化部203は、インター予測部210により生成された動きベクトルを、符号化ビデオビットストリームにおけるシグナリングデータとして追加するように適合されている。
ビデオコーダ200は、逆量子化部204、逆変換部205およびループフィルタリング部206であるさらなる同様の部を備える。量子化部202で生成された量子化変換係数は、逆量子化部204によって逆量子化され、逆変換部205によって逆変換され、変換部201に供給された残差ブロックに対応する再構成残差ブロックが得られる。次に、再構成残差ブロックは、残差ブロックを生成するために以前に使用された予測ブロックに追加されて、現在ブロックに対応する再構成現在ブロックが得られ、この再構成現在ブロックは、図2で再構成ビデオブロックと呼ばれる。
再構成現在ブロックは、ループフィルタリング部206によって処理されて、ブロック単位の処理および量子化によってもたらされるアーチファクトを平滑化してもよい。少なくとも1つの現在ブロック、または有利には複数の現在ブロックを含む現在フレームは、次に、再構成現在ブロックから再構成することができる。この再構成現在フレームをフレームバッファ207に格納して、ビデオストリームの別のフレームのインター予測のための参照フレームとして機能させることができる。
ビデオコーダ200には、モード選択部208が設けられ、図1と同様に、ビデオコーダ200の入力ブロックをイントラ予測部209で処理するか、またはインター予測部210で処理するかを選択する。モード選択部208は、同様に、フレームのブロックがこのフレームからの情報のみを使用してイントラ符号化されるか、または他のフレームからの、すなわちフレームバッファ207に格納された少なくとも1つの参照フレームからの追加情報を用いてインター符号化されるかを選択する。
イントラ予測部209は、イントラ予測を担い、イントラ予測に基づいて予測ブロックを生成する。上述したように、インター予測部210は、インター予測を担い、時間的な冗長性を低減するために参照フレーム内の同じサイズのブロックから予測される予測ブロックを生成する。
特に、鮮鋭化フィルタ211は常に適用され得る。これは、インター予測部210で生成された予測ブロックが常に鮮鋭化フィルタ211に供給され、残差ブロックは常に、現在ブロックと鮮鋭化フィルタ211が出力する鮮鋭化予測ブロックとの差分によって得られることを意味する。
あるいは、鮮鋭化フィルタ211は適用されてもバイパスされてもよい。鮮鋭化フィルタ211が適用される場合、鮮鋭化フィルタ211は鮮鋭化された予測ブロックを生成し、残差ブロックは、現在ブロックと鮮鋭化フィルタ211が出力する鮮鋭化された予測ブロックとの差分によって得られる。鮮鋭化フィルタ211がバイパスされる場合には、残差ブロックは、現在ブロックとインター予測部210が出力する予測ブロックとの差分によって得られる。
鮮鋭化フィルタ211の適用およびバイパスのうちの少なくとも1つは、動きベクトルの整数または小数位置に応じて制御部212によって制御することができる。特に、動きベクトルの整数または小数位置のいくつかは、適応パラメータのパラメータ値と関連付けることができる。いくつかの位置は関連付けられた値を有さない場合がある。次に、鮮鋭化フィルタ211を適用するかまたはバイパスする制御部212の決定は、所与の整数または小数位置が適応パラメータの関連値を有するか否かに依存する。
好ましくは、鮮鋭化パターンは、動きベクトルの整数位置および1つ以上の関連付けられた小数位置について、鮮鋭化情報をそれぞれ定義する。鮮鋭化情報は、鮮鋭化フィルタ211のための適応パラメータの1つ以上の値を含むことが好ましいか、または鮮鋭化フィルタ211の適用またはバイパスを定義する値である。
制御部212は、少なくとも1つの鮮鋭化パターンを利用することができ、予測ブロックの生成に使用された動きベクトルに対応する位置の鮮鋭化パターンに定義された鮮鋭化情報に応じて、鮮鋭化フィルタ211を制御するように構成される。すなわち、図7〜図9でより詳細に説明するように、動きベクトルと一致する位置に関連付けられたか、または割り当てられた情報を鮮鋭化する。少なくとも1つの鮮鋭化パターンは、制御部212によってアクセス可能なメモリ213に予め格納されてもよい。図2は、メモリ213がビデオコーダ200内に配置されている一実施形態を示す。あるいは、メモリは、そのコンテンツが制御部212にとってアクセス可能であれば、ビデオコーダ200の外部に配置されてもよい。
適応パラメータ情報および/または鮮鋭化フィルタ情報の粒度は変化し得る。鮮鋭化フィルタ情報を含む鮮鋭化パターンは、コーダおよびデコーダの両方に予め格納することができる。コンテンツへの適応性を高めるために、鮮鋭化パターンは、例えば、フレームレベル、GOP(グループオブピクチャ)レベル、PPS(ピクチャパラメータセット)レベルまたはSPS(シーケンスパラメータセット)レベルで、フレームの任意の領域または規則的な領域について、予測ブロック毎にブロックレベルを変更することができる。符号化部203は、鮮鋭化パターンが変更された同じレベルの符号化ビットストリームに、鮮鋭化パターン情報を追加することができる。
図3は、本発明の一実施形態によるビデオデコーダ、特に動き補償に従って後続フレームのビデオストリームを予測符号化することによって得られた符号化ビデオビットストリームを復号するビデオデコーダ300を示す。
ビデオデコーダ300は、特に、フレームバッファ307と、インター予測部310と、適応鮮鋭化フィルタ311とを備える。フレームバッファ307は、符号化ビデオビットストリームから得られた少なくとも1つの参照フレームを格納するように適合され、参照フレームは、符号化ビデオビットストリームの現在フレームとは異なる。インター予測部310は、参照フレームの参照ブロックから現在フレームの現在ブロックの予測ブロックを生成するように適合される。適応鮮鋭化フィルタ311は、予測ブロックを適応的にフィルタリングするように構成される。
有利には、ビデオデコーダ300は制御部312を備え、適応鮮鋭化フィルタ311は少なくとも1つの適応パラメータを利用する。制御部312は、鮮鋭化フィルタが適用されるべきかバイパスされるべきかを決定し、適応パラメータのパラメータ値を選び、フィルタが適用される場合には、選ばれたパラメータ値を適応鮮鋭化フィルタ311に供給するように構成される。
制御部312は、鮮鋭化フィルタが適用されるべきかバイパスされるべきかを決定し、予測ブロックの生成に使用された動きベクトルの整数または小数位置に応じて、適応パラメータのパラメータ値を選択するように特に構成される。
特に、動きベクトルは、符号化ビデオビットストリームからデコーダ300によって得られる。ビデオコーダ200によって生成された符号化ビデオビットストリームは、実際に、動きベクトルをシグナリングデータとして含む。デコーダ300は、エントロピー復号部303によって、符号化ビデオビットストリームから動きベクトルを得るように適合されている。
特に、動きベクトルの整数または小数位置のいくつかは、適応パラメータの関連付けられたパラメータ値を有することができる。いくつかの位置は関連付けられた値を有さない場合がある。特定の整数または小数位置が関連付けられたパラメータ値を有する場合、適応鮮鋭化フィルタは、関連付けられた値を適応パラメータとして使用して予測ブロックに適用されてもよい。
デコーダ300は、ビデオコーダ200によって生成された符号化ビデオビットストリームを復号するように適合され、デコーダ300およびコーダ200の両方は、同じ予測を生成する。フレームバッファ307、インター予測部310および鮮鋭化フィルタ311の特徴は、図2のフレームバッファ207、インター予測部210および鮮鋭化フィルタ211の特徴と同様である。
コーダ側とデコーダ側とで同一の予測を確実にするために、鮮鋭化フィルタの使用を定義する鮮鋭化パターン、および存在する場合には動きベクトルの各整数または小数位置に対する対応する適応パラメータが、コーダ側とデコーダ側の両方で知られていなければならない。鮮鋭化パターンは、コーダ、例えば図2に示すメモリ213と、デコーダ側との両方に予め格納されてもよい。デコーダ側では、鮮鋭化パターンは、制御部312によってアクセス可能なメモリ313に予め格納されてもよい。図3は、メモリ313がビデオデコーダ300内に配置されている一実施形態を示す。あるいは、メモリは、そのコンテンツが制御部312にとってアクセス可能であれば、ビデオデコーダの外部に配置されてもよい。
鮮鋭化パターンは、所望の粒度で更新することができる。鮮鋭化パターンがコーダによって更新される場合、エントロピー復号部303は、ビデオコーダ200によって追加された対応する鮮鋭化パターン情報を符号化ビデオビットストリームに復号するように適合される。
特に、ビデオデコーダ300は、例えば、ビデオコーダ200の逆量子化部204、逆変換部205、ループフィルタリング部206およびイントラ予測部209にそれぞれ対応する、逆量子化部304、逆変換部305、ループフィルタリング部306およびイントラ予測部309など、ビデオコーダ200にも存在するさらなる部も備える。エントロピー復号部303は、受信した符号化ビデオビットストリームを復号し、対応して量子化残差変換係数および存在する場合には鮮鋭化フィルタ情報を得るように適合される。量子化残差変換係数は、逆量子化部304および逆変換部305に供給され、残差ブロックが生成される。残差ブロックは、予測ブロックに追加され、追加されたものがループフィルタリング部306に供給され、復号されたビデオが得られる。復号されたビデオのフレームは、フレームバッファ307に格納され、インター予測のための参照フレームとして機能することができる。
図4は、本発明による適応鮮鋭化フィルタ400の実施形態、特にビデオコーダ200の適応鮮鋭化フィルタ211の実施形態を示す。ビデオデコーダ300の適応鮮鋭化フィルタ311は、図4に示す適応鮮鋭化フィルタ211とはわずかに異なっているが、その違いについては後述する。
鮮鋭化フィルタ400は、好ましくは非線形フィルタである。線形フィルタの代わりに非線形鮮鋭化フィルタを使用することは、動き補間フィルタおよび参照ブロックまたは参照フレームの量子化によって生じるアーチファクトを除去するために好ましい。非線形フィルタの選択は、鮮鋭化フィルタ400の適応パラメータの数を減らすことができる。特に、非線形フィルタは、単一の適応パラメータを利用することができ、その結果、符号化ビデオビットストリームのシグナリングオーバーヘッドが低減される。本発明は複数の適応パラメータの使用も含むが、単一の適応パラメータを利用する鮮鋭化フィルタ400は特に有利な実施形態である。
具体的には、鮮鋭化フィルタ400は、エッジマップ計算部401、402、ぼかしフィルタ404、ハイパスフィルタ405、スケーリング部406、およびワーピング部407を備える。
エッジマップ計算部401、402は、ソースブロックのエッジマップを生成するように適合され、ソースブロックは参照ブロックまたは予測ブロックである。ぼかしフィルタ404は、ソースブロックのエッジマップをぼかすように適合されている。ハイパスフィルタ405は、ぼやけたエッジマップをハイパスフィルタリングすることによって、ソースブロックの各位置について微分ベクトル(d2x、d2y)を生成するように適合される。スケーリング部406は、鮮鋭化強度係数kで微分ベクトル(d2x、d2y)をスケーリングすることによって、変位ベクトル(wx、wy)を生成するように適合される。ワーピング部407は、変位ベクトル(wx、wy)に基づいて予測ブロックをワーピングするように適合される。
したがって、鮮鋭化フィルタ400の適応パラメータは、鮮鋭化強度係数kである。図4に示す鮮鋭化フィルタ400は、1つの適応パラメータのみを有する本発明の実施形態である。
エッジマップ計算部401、402は、ソースブロックの各位置について勾配ベクトル(dx、dy)を生成するように適合された勾配ベクトル部401と、各位置の勾配ベクトル(dx、dy)の長さを計算して、ソースブロックのエッジマップを生成するように適合された勾配ベクトル長部402とを備えることができる。これにより、この構造は、ぼかしフィルタ、ハイパスフィルタおよびスケーリング部によってさらに処理されてワーピング変位ベクトルを生成することができるエッジマップの生成を可能にする。
勾配ベクトルは、以下の式に従って対応するPrewittフィルタを適用することによって、一次微分をdxおよびdyについて別々に、すなわち、図4でソースブロックと呼ばれるソースブロックの水平方向および垂直方向の両方について別々に取ることによって得ることができる。
エッジマップは、以下の式に従って勾配ベクトル長を計算することによって、勾配ベクトル長部402によって得ることができる。
有利には、鮮鋭化フィルタ400は、ソースブロックのエッジマップをクリッピングするように適合されたクリッピング部403を備え、クリッピング部403は、エッジマップ計算部401、402とぼかしフィルタ404との間に配置される。これにより、しきい値でのエッジマップのクリッピングは、ワーピングベクトルの極端に高い値および低い値の処理を妨げるという点で有利である。
クリッピングされたエッジマップをぼかすステップは、以下のように定義することができるガウスフィルタの形態のぼかしフィルタ404によって得ることができる。
ハイパスフィルタは、例えば以下の式に従って、二次微分であるd2xおよびd2yを別々に得るために使用される。
変位ベクトル(wx、wy)は、二次微分ベクトル(d2x、d2y)を係数kでスケーリングすることによって得られ、係数kは、以下の式に従って、鮮鋭化強度とみなすことができる。
wx=k*d2x
wy=k*d2y
ワーピング部407は、例えば小数画素位置でサンプル値を得るための双線形補間フィルタなどの補間フィルタを含む。ワーピング部407では、スケーリング部406によって生成された変位ベクトルが使用される。これにより、ビデオコーダの全体的な品質が改善されると同時に、所望の小数画素位置に参照フレーム/ブロックの補間が提供される。
減算部408は、ワーピング部407によって生成された鮮鋭化された予測ブロックと、現在ブロックとの間の差分を構築するように適合され、現在ブロックは符号化されるブロックに対応する。減算部408は実際には残差ブロックを生成する。適応鮮鋭化フィルタ400または適応鮮鋭化フィルタ400を制御する制御部211は、例えば、残差ブロックを最小化することによって、または例えばレート歪みに基づくコスト基準によって、最適な鮮鋭化強度kを見つけるように適合される。
ビデオコーダ200とビデオデコーダ300の適応鮮鋭化フィルタ間の差分は、好ましくは、減算部408と、残差ブロックの最小化とで構成される。ビデオデコーダ300では、適応パラメータ、すなわち係数kは、減算部408および残差ブロックの最小化によって設定されなくてもよい。代わりに、ビデオデコーダ300では、好ましくは係数kの値を反映するシグナリングデータに応じて適応パラメータを設定してもよく、シグナリングデータは、符号化ビデオビットストリームの一部であり、ビデオコーダ200によって設定される。
例えば、図7〜図9でより詳細に説明されるように、動きベクトルは、例えば、鮮鋭化強度係数ki、i=1..16などの鮮鋭化情報と(予め定められたまたは適応的な様式で)関連付けられる。したがって、符号化ビデオビットストリームにシグナリングデータとして符号化された動きベクトルは、鮮鋭化強度係数kiの値を間接的に通知することができる。
鮮鋭化フィルタ400は、ソースブロックから計算された変位ベクトルに基づくワーピングを含み、このソースブロックは、図4において動き予測ブロックとして参照される。
図4に示されていない一実施形態によれば、ソースブロックは、変位ベクトル(wx、wy)が参照ブロックから導出されるように、フレームバッファ207、307に格納された参照フレームの参照ブロックである。これにより、参照ブロックは、変位ベクトルを得るためのソースブロックとして使用され、変位ベクトルは、鮮鋭化変位ベクトルまたはワーピング変位ベクトルとも呼ばれる。得られた変位ベクトルを用いて、予測ブロックにワーピングを適用する。この実施形態は、コーダ側で計算資源を節約する点で有利である。
図4の代替の実施形態によれば、ソースブロックは、変位ベクトル(wx、wy)が予測ブロックから導出されるように、インター予測部210、310によって生成された予測ブロックである。
そのため、予測ブロックをソースブロックとして選ぶことにより、予測ブロックのワーピングを行うための適切な変位ベクトルの計算が可能になる。また、鮮鋭化フィルタは、予測ブロックに対して1つの入力のみを必要とし、参照ブロックに対する第2の入力は不要である。
図5は、本発明の一実施形態によるビデオ符号化方法、特に、後続フレームのビデオストリームを、動き補償に従って符号化ビデオビットストリームに予測符号化する方法500を示す。
方法500は、ビデオストリームの少なくとも1つの参照フレームを格納するステップ501を備え、参照フレームは、ビデオストリームの現在フレームとは異なる。
方法500は、さらに、参照フレームの参照ブロックから現在フレームの現在ブロックの予測ブロックを生成するステップを備える、インター予測ステップ502を備える。予測ブロックは、小数画素解像度を有する動きベクトルによって生成され、小数画素解像度は、動きベクトルの各整数位置に対して、複数の関連付けられた小数位置を定義するかまたは定義することを可能にする。
方法500は、さらに、鮮鋭化フィルタを予測ブロックに適用するステップを含む鮮鋭化フィルタステップ503を備える。
方法500は、さらに、予測ブロックの生成に使用される動きベクトルの整数または小数位置に応じて、鮮鋭化フィルタステップの適用を制御するステップ504を備える。制御ステップは、例えば図7〜図9でより詳細に説明される。
図6は、本発明の一実施形態によるビデオ復号方法、特に後続フレームのビデオストリームを、動き補償に従って予測符号化することによって得られた符号化ビデオビットストリームを復号する方法600を示す。
方法600は、符号化ビデオビットストリームから得られた少なくとも1つの参照フレームを格納するステップ601を備え、参照フレームは、符号化ビデオビットストリームの現在フレームとは異なる。
方法600は、参照フレームの参照ブロックから現在フレームの現在ブロックの予測ブロックを生成するステップを備える、インター予測ステップ602を備える。予測ブロックは、小数画素解像度を有する動きベクトルによって生成され、小数画素解像度は、動きベクトルの各整数位置に対して、複数の関連付けられた小数位置を定義するかまたは定義することを可能にする。好ましくは、動きベクトルは、符号化ビデオビットストリームから得られ、動きベクトルは、シグナリングデータとして符号化ビデオビットストリームに符号化される。
方法600は、鮮鋭化フィルタを予測ブロックに適用するステップを含む鮮鋭化フィルタステップ603を備える。
方法600は、予測ブロックの生成に使用される動きベクトルの整数または小数位置に応じて、鮮鋭化フィルタステップ603を制御するステップ604を備える。制御ステップは、例えば図7〜図9でより詳細に説明される。
ビデオコーダ200またはビデオデコーダ300に関して説明したさらなる態様および特徴は、符号化方法500および復号方法600にも適用可能である。
図7は、本発明の一実施形態による鮮鋭化パターンを示す。
鮮鋭化パターンは、符号化/最適化の間にコーダによって選ばれた適応パラメータの係数を、ビデオコーダからビデオデコーダに効果的に通知するために利用することができる。
動きベクトルの小数空間は、いくつかの画素位置を含む。H.264/AVCおよびH.265/HEVCのような最新のビデオコーデックでは、動きベクトルは、典型的には、XおよびYの両方の寸法において1/4画素解像度を有する。図7は、このような1/4画素解像度での本発明の実施形態を示す。この解像度は、合計4×4=16の可能な位置を意味する。これらの可能な位置は、正方形「a」として識別される1つの整数位置701と、整数位置701に関連付けられた15個の小数位置702〜716とを含む。小数位置は、図7において円「c」、「i」および「k」として識別される3 1/2の画素位置703、709、711、ならびに図7で対応する三角形として識別される12 1/4の画素位置702、704、705、706、707、708、710、712、713、714、715、716を含む。
実施形態は、図7に示されるように、整数位置のみ、1/2画素位置のみ、1/4画素位置のみ、またはそれらの組み合わせを含むことができる。整数位置に関連付けられた1つ以上の小数位置には、例えば、複数の動きベクトルのうちのサブ複数のもののみが鮮鋭化フィルタの適用をトリガするように、値(例えば、鮮鋭化情報)が割り当てられてもよい。
図7の鮮鋭化パターンは、各小数位置および/または整数位置に対して、例えばそれぞれの鮮鋭化強度係数ki、i=1..16など、それぞれの鮮鋭化情報を定義する。特定の小数または整数位置701〜716に対する動き補間の後、鮮鋭化フィルタは、対応する適応パラメータ、すなわち、この特定の小数または整数位置701〜716の鮮鋭化パターンで定義される対応する鮮鋭化強度係数kiを用いて適用される。
図7に示す鮮鋭化パターンは、整数位置701およびその15個の小数位置702〜716を含む。整数位置701に加えて、図7はさらなる整数位置720、721、722を示す。これらのさらなる整数位置は、さらなる鮮鋭化パターン(図7には示されていない)にそれぞれ関連付けられてもよい。これらのさらなる鮮鋭化パターンは、整数位置701の鮮鋭化パターンと同じであってもよく、またはそれとは異なっていてもよい。
係数kiは、一定および/またはオフライントレーニングによって予め定義されてもよく、または例えば以前の符号化実験に基づいて選ばれてもよい。係数kiは、シーケンスレベル、GOPレベル、フレームレベルまたは領域レベルで可変および適応可能であってもよい。その場合、側路情報などの追加のシグナリングが必要である。
図8は、本発明のさらなる実施形態による例示的な鮮鋭化パターンを示す。
いくつかの小数位置または整数位置は、関連付けられた鮮鋭化情報を有さない場合がある。つまり、それらの位置に対して、鮮鋭化フィルタは適用されない。この場合、追加の鮮鋭化ポストフィルタリングを用いない、通常の動き補間のみが適用される。
対応して、図8の鮮鋭化パターンは、鮮鋭化パターンの位置のサブセット802についてのみ、鮮鋭化情報、すなわち、例えば適応パラメータkiを定義する。係数kiは、例えば、位置706、707、708、710、712、714、715および716に対してのみ定義される。位置701、702、703、704、705、709、713、ならびに位置711を含むさらなるサブセット803を含む鮮鋭化パターンのサブセット801は、係数kと関連付けられておらず、つまりこれらの位置については、鮮鋭化フィルタはバイパスされる。
したがって、動きベクトルの小数位置は、鮮鋭化フィルタ211の適応パラメータの値および/または鮮鋭化フィルタのバイパスまたは適用を定義する値を、鮮鋭化パターンに定義することができる。鮮鋭化パターンは、コーダおよびデコーダの両方によって知られてもよい。鮮鋭化パターンは、予め定義されているか、または適応的であってもよく、側路情報として含まれてもよい。
例えば、実施形態は、側路情報によって設定された値(すなわち、鮮鋭化情報)を有する、予め決定された/予め格納された鮮鋭化パターンを含むことができる。側路情報は、図9でさらに説明するように、予め決定された様式または適応的な様式で鮮鋭化パターンをさらにまたは代替として定義することができる。
図9は、異なる鮮鋭化パターンを有する本発明の一実施形態を示す。
フレームのいくつかの領域では、鮮鋭化予測ポストフィルタの有用性が限定される場合がある。これは、例えば、ビデオフレームの平坦な領域の場合である。そのような場合は、全ての小数点に対して鮮鋭化されていない予測を使用する方がよい。フレームの他の領域では、異なる小数位置について鮮鋭化パラメータを定義することが最適な場合がある。
これらの変形例を含むために、フレームのいくつかの局所領域に対していくつかの異なる鮮鋭化パターンを定義し、例えばレート歪みの最適化のようなコスト基準に基づいて最良の鮮鋭化パターンを選び、所与の領域の動き補間のためにどの鮮鋭化パターンを使用すべきかをデコーダに通知することを提案する。
これに対応して、図9はいくつかの領域901、902、903、904、905、906を含むフレームを示し、例えば2つの異なる鮮鋭化パターンが使用される。第1のパターン907は、鮮鋭化フィルタが全ての位置についてバイパスされることを定義し、第2のパターン908は、パターンの少なくともいくつかの位置について鮮鋭化情報を定義する。例えば、鮮鋭化パターン908は、図8に示すパターンに対応することができる。
コーダは、領域901および905について第1のパターン907を選び、残りの領域902、903、904および906について第2のパターン908を選ぶ。このことは、鮮鋭化予測ポストフィルタが領域901、905に適用されないことを意味する。符号化処理の間、最良の鮮鋭化パターンを各特定の領域(例えば各最大符号化部(LCU)について)について選ぶことができ、1ビットでデコーダに通知することができ、このビットは、第1または第2の鮮鋭化パターン907、908を決定する。
実施例ならびに実装例としての様々な実施形態と共に本発明を説明してきた。しかしながら、図面、本開示および独立請求項の研究から、当業者および特許請求の範囲に記載の発明を実施する者によって、他の変形例が理解され、達成され得る。特許請求の範囲および明細書の記載において、「備える、含む(comprising)」という語は他の要素またはステップを排除するものではなく、不定冠詞「a」または「an」は複数を排除しない。単一の要素または他の部は、請求項に列挙されたいくつかのエンティティまたは項目の機能を果たすことができる。他に言及されない限り、「第1」および「第2」のような用語は、特に請求に依存する理由のためにそのような用語が記述する要素を任意に区別するために使用される。したがって、これらの用語は、必ずしもそのような要素(例えば、第1の予測ブロックフィルタリングと第2の予測ブロックフィルタリング)の時間的または他の優先順位付けを示すことを意図するものではない。
特定の手段が相互に異なる従属請求項に列挙されているという単なる事実は、これらの手段の組み合わせが有利な実装において使用できないことを示すものではない。