(57)【特許請求の範囲】
【請求項１】
動き補償に従って、後続のフレームのビデオストリームをエンコード済みビデオビットストリームへと予測的コーディングするためのビデオコーダであって、
前記ビデオストリームの少なくとも１つの参照フレームを格納するフレームバッファであって、前記参照フレームは、前記ビデオストリームの現在のフレームと異なる、フレームバッファと、
前記参照フレームの参照ブロックから、前記現在のフレームの現在のブロックの予測ブロックを生成するインター予測ユニットと、
前記予測ブロックを適応的にフィルタリングする適応的シャープ処理フィルタと、
を備えるビデオコーダ。
【請求項２】
制御ユニットを備え、
前記適応的シャープ処理フィルタは、少なくとも１つの適応的パラメータによって制御され、
前記適応的パラメータはシャープ処理強度係数を含み、
前記制御ユニットは、前記適応的パラメータのパラメータ値を決定し、前記決定されたパラメータ値を前記適応的シャープ処理フィルタに供給する、
請求項１に記載のビデオコーダ。
【請求項３】
前記制御ユニットは、前記適応的パラメータに異なるパラメータ値を供給し、前記現在のブロックと前記予測ブロックとの間の差である残差ブロックの最小化に基づいて、又は例えば、レート歪み最適化のようなコスト基準に基づいて、前記異なるパラメータ値の１つを選択する、請求項２に記載のビデオコーダ。
【請求項４】
前記適応的シャープ処理フィルタは、非線形フィルタである、請求項２又は３に記載のビデオコーダ。
【請求項５】
前記適応的シャープ処理フィルタは、
ソースブロックのエッジマップを生成するエッジマップ算出ユニットであって、前記ソースブロックは、前記参照ブロック又は前記予測ブロックである、エッジマップ算出ユニットと、
前記ソースブロックの前記エッジマップをブラーするブラーフィルタと、
前記ブラーされたエッジマップをハイパスフィルタリングすることによって、前記ソースブロックの各位置に対して微分ベクトルを生成するハイパスフィルタと、
前記微分ベクトルをシャープ処理強度係数でスケーリングすることによって、変位ベクトルを生成するスケーリングユニットと、
前記変位ベクトルに基づいて、前記予測ブロックをワープさせるワープユニットと、
を含み、
前記適応的パラメータは、前記シャープ処理強度係数を含む、
請求項２から４のいずれか１項に記載のビデオコーダ。
【請求項６】
前記エンコード済みビデオビットストリームを生成するエンコードユニットを備え、
前記制御ユニットは、前記決定されたパラメータ値についての適応的パラメータ情報を前記エンコードユニットに送信し、
前記エンコードユニットは、前記適応的パラメータ情報を前記エンコード済みビデオビットストリームに追加する、
請求項２から５のいずれか１項に記載のビデオコーダ。
【請求項７】
前記適応的シャープ処理フィルタは、常に有効化されている、請求項１から６のいずれか１項に記載のビデオコーダ。
【請求項８】
前記適応的シャープ処理フィルタの選択的回避及び前記適応的シャープ処理フィルタの選択的適用の少なくとも１つを制御する制御ユニットを備える、請求項１から６のいずれか１項に記載のビデオコーダ。
【請求項９】
前記制御ユニットは、前記現在のブロックと前記予測ブロックとの間の差である残差ブロックの最小化に基づいて、又は、例えば、他のレート歪み最適化のような他のコスト基準に基づいて、前記選択的回避及び前記選択的適用の前記少なくとも１つを制御する、請求項８に記載のビデオコーダ。
【請求項１０】
前記エンコード済みビデオビットストリームを生成するエンコードユニットを備え、
前記制御ユニットは、前記選択的回避及び前記選択的適用の前記少なくとも１つを反映したシャープ処理フィルタ情報を前記エンコードユニットに送信し、
前記エンコードユニットは、前記シャープ処理フィルタ情報を前記エンコード済みビデオビットストリームに追加する、
請求項８又は９に記載のビデオコーダ。
【請求項１１】
適応的パラメータ情報又はシャープ処理フィルタ情報は、各予測ブロックに対してブロックレベルで追加され、前記フレームの任意又は規則的領域に対してフレームレベル、ＧＯＰ（ピクチャグループ）レベル、ＰＰＳ（ピクチャパラメータセット）レベル、又はＳＰＳ（シーケンスパラメータセット）レベルで追加される、請求項６又は１０に記載のビデオコーダ。
【請求項１２】
前記適応的シャープ処理フィルタは、単一の適応的パラメータによって制御される、請求項１から１１のいずれか１項に記載のビデオコーダ。
【請求項１３】
動き補償に従って、後続のフレームのビデオストリームをエンコード済みビデオビットストリームへと予測的コーディングするための方法であって、
前記ビデオストリームの少なくとも１つの参照フレームを格納する段階であって、前記参照フレームは、前記ビデオストリームの現在のフレームと異なる、段階と、
前記参照フレームの参照ブロックから、前記現在のフレームの現在のブロックの予測ブロックを生成する段階と、
前記予測ブロックを適応的にシャープ処理フィルタリングする段階と、
を備える方法。
【請求項１４】
動き補償に従って、後続のフレームのビデオストリームを予測的コーディングすることによって取得される、エンコード済みビデオビットストリームをデコードするためのビデオデコーダであって、
前記エンコード済みビデオビットストリームから取得される少なくとも１つの参照フレームを格納するフレームバッファであって、前記参照フレームは、前記エンコード済みビデオビットストリームの現在のフレームと異なる、フレームバッファと、
前記参照フレームの参照ブロックから、前記現在のフレームの現在のブロックの予測ブロックを生成するインター予測ユニットと、
前記予測ブロックを適応的にフィルタリングする適応的シャープ処理フィルタと、
を備える、ビデオデコーダ。
【請求項１５】
制御ユニットを備え、
前記適応的シャープ処理フィルタは、少なくとも１つの適応的パラメータによって制御され、
前記適応的パラメータはシャープ処理強度係数を含み、
前記制御ユニットは、前記適応的パラメータのパラメータ値を決定し、前記決定されたパラメータ値を前記適応的シャープ処理フィルタに供給する、
請求項１４に記載のビデオデコーダ。
【請求項１６】
前記制御ユニットは、前記エンコード済みビデオビットストリームから取得される適応的パラメータ情報に応じて、前記適応的パラメータの前記パラメータ値を決定する、
請求項１５に記載のビデオデコーダ。
【請求項１７】
前記制御ユニットは、前記適応的シャープ処理フィルタの選択的回避及び前記適応的シャープ処理フィルタの選択的適用の少なくとも１つを制御する、
請求項１５又は１６に記載のビデオデコーダ。
【請求項１８】
前記制御ユニットは、前記エンコード済みビデオビットストリームから取得されるシャープ処理フィルタ情報に基づいて、前記選択的回避及び前記選択的適用の前記少なくとも１つを制御する、
請求項１７に記載のビデオデコーダ。
【請求項１９】
動き補償に従って、後続のフレームのビデオストリームを予測的コーディングすることによって取得される、エンコード済みビデオビットストリームをデコードするための方法であって、
前記エンコード済みビデオビットストリームから取得される少なくとも１つの参照フレームを格納する段階であって、前記参照フレームは、前記エンコード済みビデオビットストリームの現在のフレームと異なる、段階と、
前記参照フレームの参照ブロックから、前記現在のフレームの現在のブロックの予測ブロックを生成する段階と、
前記予測ブロックを適応的にシャープ処理フィルタリングする段階と、
備える方法。
【請求項２０】
コンピューティングデバイスに、請求項１３又は１９に記載の方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、ビデオ処理の分野、及びビデオ動き補償のための装置に関し、具体的には、ビデオにおけるフレームを予測するための動き補償をサポートするためのビデオコーダ及びビデオデコーダに関する。本発明は、さらに、動き補償を用いてビデオストリームをコーディングするための方法及びデコードするための方法に関する。最後に、本発明は、このような方法を実行するためのプログラムコードを有するコンピュータプログラムに関する。
【背景技術】
【０００２】
ビデオ処理の分野、具体的には、ハイブリッドビデオコーディング及び圧縮の分野において、インター及びイントラ予測、ならびに変換コーディングを用いることが知られている。このようなハイブリッドビデオコーディング技術は、Ｈ．２６１、Ｈ．２６３、ＭＰＥＧ‐１，２，４、Ｈ．２６４／ＡＶＣ又はＨ．２６５／ＨＥＶＣのような、公知のビデオ圧縮規格において用いられる。
【０００３】
図１は、最新技術に係るビデオコーダを示す。ビデオコーダ１００は、ビデオストリームのフレーム又はピクチャの入力されたブロックを受信するための入力部と、エンコード済みビデオビットストリームを生成するための出力部とを含む。ビデオコーダ１００は、ビデオストリームに予測、変換、量子化、及びエントロピコーディングを適用するように適応される。変換、量子化、及びエントロピコーディングは、それぞれ、変換ユニット１０１、量子化ユニット１０２及びエントロピエンコードユニット１０３によって実行され、これにより、エンコード済みビデオビットストリームを出力として生成する。
【０００４】
ビデオストリームは、複数のフレームに対応し、各フレームは、イントラ又はインターコーディングされる特定のサイズのブロックに分割される。例えば、ビデオストリームの第１のフレームのブロックは、イントラ予測ユニット１０９によりイントラコーディングされる。イントラフレームは、同じフレーム内の情報のみを用いてコーディングされることにより、別個にデコード可能であり、ビットストリームにおいて、ランダムアクセスのためのエントリポイントを提供可能となる。ビデオストリームの他のフレームのブロックは、インター予測ユニット１１０によりインターコーディングされる。参照フレームと称されるコーディングフレームからの情報が、時間冗長性を減少させるために用いられることにより、インターコーディングフレームの各ブロックが、参照フレームにおける同じサイズのブロックから予測される。モード選択ユニット１０８は、フレームのブロックがイントラ予測ユニット１０９又はインター予測ユニット１１０のいずれによって処理されるかを選択するように適応される。
【０００５】
インター予測を実行するために、コーディングされた参照フレームが、逆量子化ユニット１０４、逆変換ユニット１０５、ループフィルタリングユニット１０６によって処理されることにより、次にフレームバッファ１０７に格納される参照フレームを取得する。具体的には、参照フレームの参照ブロックは、これらのユニットによって処理され、再構築された参照ブロックを取得してよい。再構築された参照ブロックは、次に、再度組み合わせられて、参照フレームとなる。
【０００６】
インター予測ユニット１１０は、入力として、インターコーディングされるべき現在のフレーム又はピクチャ、及びフレームバッファ１０７からの１つ又はいくつかの参照フレーム又はピクチャを含む。動き推定及び動き補償が、インター予測ユニット１１０によって適用される。動き推定は、特定のコスト関数に基づいて、動きベクトル及び参照フレームを取得するために用いられる。動き補償は、次に、参照フレームの参照ブロックを現在のフレームに変換する観点から、現在のフレームの現在のブロックを説明する。インター予測ユニット１１０は、現在のブロックに対する予測ブロックを出力する。予測ブロックは、コーディングされるべき現在のブロックとその予測ブロックとの間の差を最小化する、すなわち、残差ブロックを最小化する。残差ブロックの最小化は、例えば、レート歪み最適化手順に基づく。
【０００７】
現在のブロックとその予測との間の差、すなわち、残差ブロックは、次に、変換ユニット１０１によって変換される。変換係数は、量子化ユニット１０２及びエントロピエンコードユニット１０３によって量子化及びエントロピコーディングされる。このように生成されたエンコード済みビデオビットストリームは、イントラコーディングされたブロック及びインターコーディングされたブロックを含む。
【０００８】
このようなハイブリッドビデオコーディングは、予測エラーの変換コーディングと組み合わせられた動き補償予測を含む。各ブロックに対する推定動きベクトルが、シグナリングデータとして、エンコード済みビデオビットストリームにおいてさらに送信される。現在の規格Ｈ．２６４／ＡＶＣ及びＨ．２６５／ＨＥＶＣは、動きベクトルに対するクォーターペル変位分解に基づく。分数ペル変位を推定及び補償するために、参照フレームは、分数ペル位置において補間されなければならない。分数ペル位置においてこのような補間フレームを取得するために、補間フィルタがインター予測ユニット１１０において用いられる。
【０００９】
補間フレームの品質は、用いられる補間フィルタの特性に強く依存する。短タップフィルタ、例えば、双線形フィルタは、高周波数を抑制し、補間フレームをブラーさせることがある。長タップフィルタのような他のフィルタは、高周波数を維持するが、シャープなエッジの近隣にいくつかのリンギングアーチファクトを生成することがある。他の問題は、動き補償が、前にエンコード及び再構築されたフレームを参照フレームとして利用しており、参照フレームが、Ｇｉｂｂｓ効果と称される変換係数の量子化によって生じるアーチファクトを含み得ることである。これらのアーチファクトに起因して、エッジ及びエッジ周囲のエリアが歪むこともある。
【００１０】
エッジの品質は、デコード済みフレームに、フィルタリング後にシャープ処理又はデブラーを適用することによって向上可能であることが、従来技術において公知である。このようなフィルタリング後の設計の問題は、シャープ処理フィルタが、エンコードプロセスに含まれていないことである。従って、レート歪み最適化手順中、シャープ処理フィルタの効果は、考慮することができない。これは、ピーク信号対ノイズ比（ＰＳＮＲ）のような客観的品質指標を低下させることがある。
【００１１】
客観的品質を向上させるために、ループフィルタリングユニット１０６にシャープ処理フィルタを含むことも、従来技術において公知である。従って、シャープ処理フィルタは、再構築された参照フレームに適用され、参照フレームにおける圧縮アーチファクトを除去することによって、動き補償予測を向上させることができる。しかしながら、このようなループフィルタリング技術は、動き補間フィルタによって生じるアーチファクトを除去することはできない。
【発明の概要】
【００１２】
上述の欠点及び問題を認識し、本発明は、最新技術を向上させることを目的とする。具体的には、本発明の目的は、後続のフレームのビデオストリームのコーディング及びデコードを向上させるためのビデオコーダ、コーディング方法、ビデオデコーダ、及びデコード方法を提供することである。
【００１３】
本発明は、具体的には、インター予測的コーディングの品質を向上させることを意図する。具体的には、本発明は、動き推定及び動き補償によって生じるアーチファクトを除去することを意図する。具体的には、本発明の目的は、動き補間フィルタの負の効果を減少させること、すなわち、分数ペル位置における参照フレーム補間の負の効果を減少させ、参照フレームの量子化アーチファクトを減少させることによって、予測品質を向上させることである。
【００１４】
本発明の上述の目的は、添付の独立請求項において提供される解決手段によって実現される。本発明の有利な実装が、それぞれの独立請求項において、さらに定義される。
【００１５】
本発明の第１の態様は、動き補償に従って、後続のフレームのビデオストリームをエンコード済みビデオビットストリームへと予測的コーディングするためのビデオコーダを提供する。ビデオコーダは、ビデオストリームの少なくとも１つの参照フレームを格納するように適応されるフレームバッファを含み、参照フレームは、ビデオストリームの現在のフレームと異なる。ビデオコーダは、参照フレームの参照ブロックから現在のフレームの現在のブロックの予測ブロックを生成するように適応されるインター予測ユニットを含む。ビデオコーダは、予測ブロックを適応的にフィルタリングするように構成される適応的シャープ処理フィルタを含む。
【００１６】
これにより、適応的シャープ処理フィルタを予測ブロックに適用することは、分数ペル位置における参照フレーム／ブロックの補間によって生じる、すなわち、動き補間フィルタによって生じるリンギングアーチファクトを除去する、又は少なくとも減少させつつ、補間されたエッジの品質を有利に確保するという点で、インター予測的コーディングの品質を向上させる。これは、参照ブロックにおける変換係数の量子化によって生じる、Ｇｉｂｂｓ効果とも称されるリンギングアーチファクトをも除去し、又は少なくとも減少させる。これはさらに、量子化及び動き補間によって生じたエッジのブラーを減少させ、動きブラーによって生じるエッジのブラーをも減少させる。追加的に、本発明は、再構築されたフレーム／ブロックにおいて、エッジの主観的品質を向上させる。
【００１７】
これにより、動き補間フィルタの後、すなわち、インター予測ユニットの後に本発明に係るシャープ処理フィルタを配置することが、インループ参照フィルタ、すなわち、ループフィルタリングユニットのタスクをシャープ処理フィルタに実行させつつ、同時に、動き補間フィルタリングによって生じたアーチファクトを除去又は少なくとも減少させることができる。また、適応的シャープ処理フィルタを用いることは、ビデオコンテンツ、具体的には予測ブロックのローカル機能に適応することを可能とすることにより、さらに小さいブロックのコーディングは、デコーダに送信するためのシグナリングオーバヘッドを減少させることのみを必要とする。
【００１８】
第１の態様に係るビデオコーダの実装形式において、ビデオコーダは、制御ユニットを含む。適応的シャープ処理フィルタは、少なくとも１つの適応的パラメータによって制御されるように構成される。制御ユニットは、適応的パラメータのパラメータ値を決定し、決定されたパラメータ値を適応的シャープ処理フィルタに供給するように構成される。
【００１９】
これにより、予測ブロックは、具体的なビデオコンテンツに適応可能なシャープ処理フィルタによってフィルタリングされる。適応は、ビデオコンテンツのローカル機能を考慮してよく、必要とされるシグナリングオーバヘッドは、適応及び送信に対して１つの係数のみで、適応的シャープ処理フィルタのパラメトリック表示を用いることに起因して、限定可能である。具体的には、予測的コーディングに用いられるブロックのサイズは、同時にシグナリングオーバヘッドを増加させることなく、減少可能である。
【００２０】
第１の態様に係るビデオコーダのさらなる実装形式において、制御ユニットは、適応的パラメータに異なるパラメータ値を供給し、現在のブロックと予測ブロックとの間の差である残差ブロックの最小化に基づいて、又は例えば、レート歪み最適化のようなコスト基準に基づいて、異なるパラメータ値の１つを選択するように構成される。
【００２１】
これにより、動き補償が、さらに向上する。異なる値の少なくとも１つの適応的パラメータに対して取得される残差ブロックが、比較されてよい。残差ブロックを最小化又はコスト基準を最小化する予測ブロックを選択することによって、動き補償が向上可能である。選択された予測ブロックに対応するパラメータ値は、次に、異なるパラメータ値から選択されることにより、動き補償を向上させる。
【００２２】
第１の態様に係るビデオコーダのさらなる実装形式において、シャープ処理フィルタは、非線形フィルタである。
【００２３】
これにより、このような非線形シャープ処理フィルタの当該利用が、動き予測の向上のために好ましい。アンシャープマスク技術のような、線形シャープ処理又はデブラーフィルタに基づく従来のエッジ向上技術は、主観的品質を向上させることがあるが、動き補間フィルタリングによって生じるリンギングアーチファクトを抑制することはできない。ほとんどの場合、このような線形シャープ処理は、さらにリンギングを増加させ、客観的性能特徴を低下させることがあることも見出されている。一方、非線形フィルタは、リンギングの除去に関してより良好な結果を提供することができ、従って、有利である。また、シャープ処理フィルタ、すなわち、適応的シャープ処理フィルタに非線形設計を用いることは、適応的パラメータの数、従って、シグナリングオーバヘッドを有利に減少させることができる。
【００２４】
第１の態様に係るビデオコーダのさらなる実装形式において、シャープ処理フィルタは、ソースブロックのエッジマップを生成するように適応されるエッジマップ算出ユニットを含む。ソースブロックは、参照ブロック又は予測ブロックである。シャープ処理フィルタは、ソースブロックのエッジマップをブラーするように適応されるブラーフィルタを含む。シャープ処理フィルタは、ブラーされたエッジマップをハイパスフィルタリングすることによって、ソースブロックの各位置に対して微分ベクトルを生成するように適応されるハイパスフィルタを含む。シャープ処理フィルタは、微分ベクトルをシャープ処理強度係数でスケーリングすることによって、変位ベクトルを生成するように適応されるスケーリングユニットを含む。シャープ処理フィルタは、変位ベクトルに基づいて、予測ブロックをワープさせるように適応されるワープユニットを含む。適応的パラメータは、シャープ処理強度係数を含む。
【００２５】
これにより、シャープ処理フィルタのこの構造は、リンギングアーチファクト除去の観点からより良好な結果を有利に提供可能な非線形シャープ処理フィルタを定義する。また、シャープ処理強度係数を適応的パラメータとして用いることは、１つの適応的パラメータのみが必要とされ、シグナリングオーバヘッドをさらに低下させることを示唆する。
【００２６】
第１の態様に係るビデオコーダのさらなる実装形式において、シャープ処理フィルタは、常に有効化されている。
【００２７】
第１の態様に係るビデオコーダのさらなる実装形式において、ビデオコーダは、適応的シャープ処理フィルタの選択的回避及び適応的シャープ処理フィルタの選択的適用の少なくとも１つを制御するように構成される制御ユニットを含む。
【００２８】
これにより、制御ユニットによって、シャープ処理フィルタを適用又は回避するという決定がされてよい。決定は、次に、具体的な各事例、例えば、エンコードされるべき特定のビデオストリームに適応されてよい。また、シャープ処理フィルタは、ビデオコーダにおける演算リソースを節約するために回避されてよい。一方、シャープ処理フィルタは、補間品質の向上及びアーチファクトの減少が優先されるべき場合に適用されてよい。
【００２９】
第１の態様に係るビデオコーダのさらなる実装形式において、制御ユニットは、残差ブロックを最小化するコスト関数に応じて、選択的回避及び選択的適用の少なくとも１つを制御するように適応される。当該残差ブロックは、現在のブロックと予測ブロックとの間の差であってよい。コスト関数は、例えば、レート歪み最適化に基づいてよい。
【００３０】
これにより、シャープ処理フィルタを回避又は適用する可能性が、動き補償を向上させるためにさらに用いられてよい。インター予測ユニットによって出力された予測ブロック及びシャープ処理フィルタによって出力された予測ブロックからそれぞれ導出された、２つの残差ブロックは、コスト関数の観点から比較されてよい。残差ブロックを最小化した予測ブロックを選択し、かつ、シャープ処理フィルタを適宜適用又は回避することによって、データ量、及び例えば、エンコードされるべき変換係数の数が、減少可能となる。
【００３１】
第１の態様に係るビデオコーダのさらなる実装形式において、ビデオコーダは、エンコード済みビデオビットストリームを生成するように適応されるエンコードユニットを含む。制御ユニットは、シャープ処理フィルタの選択的回避及び選択的適用の少なくとも１つを反映したシャープ処理フィルタ情報をエンコードユニットに送信するように適応される。エンコードユニットは、シャープ処理フィルタ情報を、エンコード済みビデオビットストリームに追加するように適応される。
【００３２】
これにより、エンコード済みビデオビットストリームをデコードする場合、このシャープ処理フィルタ情報を取得すること、及びデコーダ側のシャープ処理フィルタを適宜適用又は回避することが可能となり、これにより、正確なデコードを保証する。
【００３３】
第１の態様に係るビデオコーダのさらなる実装形式において、適応的パラメータ情報又はシャープ処理フィルタ情報は、各予測ブロックに対してブロックレベルで追加され、フレームの任意又は規則的領域に対してフレームレベル、ＧＯＰ（ピクチャグループ）レベル、ＰＰＳ（ピクチャパラメータセット）レベル、又はＳＰＳ（シーケンスパラメータセット）レベルで追加される。
【００３４】
これにより、シャープ処理フィルタ情報を所望の粒度に設定することが可能となり、これにより、シグナリングが最適化可能となる。
【００３５】
第１の態様に係るビデオコーダのさらなる実装形式において、適応的シャープ処理フィルタは、単一の適応的パラメータを含む。
【００３６】
これにより、適応に必要とされ、デコーダに送信されるシグナリングオーバヘッドは、さらに減少可能となる。
【００３７】
本発明の第２の態様は、動き補償に従って、後続のフレームのビデオストリームをエンコード済みビデオビットストリームへと予測的コーディングするための方法を提供する。方法は、ビデオストリームの少なくとも１つの参照フレームを格納する段階を含む。参照フレームは、ビデオストリームの現在のフレームと異なる。方法は、参照フレームの参照ブロックから、現在のフレームの現在のブロックの予測ブロックを生成する段階を含む。方法は、予測ブロックを適応的にフィルタリングする段階を含む。
【００３８】
本発明の第２の態様に係る方法のさらなる特徴又は実装は、本発明の第１の態様に係るビデオコーダの機能、及びその異なる実装形式を実行してよい。
【００３９】
本発明の第３の態様は、動き補償に従って、後続のフレームのビデオストリームを予測的コーディングすることによって取得される、エンコード済みビデオビットストリームをデコードするためのビデオデコーダを提供する。ビデオデコーダは、エンコード済みビデオビットストリームから取得される少なくとも１つの参照フレームを格納するように適応されるフレームバッファを含み、参照フレームは、エンコード済みビデオビットストリームの現在のフレームと異なる。ビデオデコーダは、参照フレームの参照ブロックから現在のフレームの現在のブロックの予測ブロックを生成するように適応されるインター予測ユニットを含む。ビデオデコーダは、予測ブロックを適応的にフィルタリングするように適応される適応的シャープ処理フィルタを含む。
【００４０】
これにより、第１の態様に係るビデオコーダに関連して得られる利点は、第３の態様に係るビデオデコーダに関連しても与えられる。
【００４１】
第３の態様に係るビデオデコーダの実装形式において、ビデオデコーダは、制御ユニットを含む。適応的シャープ処理フィルタは、少なくとも１つの適応的パラメータによって制御されるように構成される。制御ユニットは、適応的パラメータのパラメータ値を決定し、決定されたパラメータ値を適応的シャープ処理フィルタに供給するように構成される。
【００４２】
これにより、シャープ処理フィルタは、少なくとも１つの適応的パラメータにより、有利に適応可能となる。
【００４３】
第３の態様に係るビデオデコーダの実装形式において、制御ユニットは、エンコード済みビデオビットストリームから取得される適応的パラメータ情報に応じて、適応的パラメータのパラメータ値を決定するように構成される。
【００４４】
これにより、適応的パラメータは、ビデオコーダによって生成される、エンコード済みビデオビットストリームから取得されてよい。従って、ビデオコーダ及びビデオデコーダの両方が、シャープ処理フィルタの同じ適応を実行すること、及びビデオデコーダによって取得されたビデオが、ビデオコーダによってエンコードされたビデオに対応することを保証することができる。
【００４５】
第３の態様に係るビデオデコーダの実装形式において、ビデオデコーダは、適応的シャープ処理フィルタの選択的回避及び適応的シャープ処理フィルタの選択的適用の少なくとも１つを制御するように適応される制御ユニットを含む。
【００４６】
これにより、シャープ処理フィルタユニットを利用する又はしないという決定は、具体的な各事例に適応されてよい。また、シャープ処理フィルタは、ビデオコーダ及びビデオデコーダにおける演算リソースを節約するために回避されてよい。一方、シャープ処理フィルタは、補間品質の向上及びアーチファクトの減少が優先されるべき場合に適用されてよい。
【００４７】
第３の態様に係るビデオデコーダの実装形式において、制御ユニットは、エンコード済みビデオビットストリームから取得されるシャープ処理フィルタ情報に基づいて、選択的回避及び選択的適用の少なくとも１つを制御するように適応される。
【００４８】
これにより、ビデオデコーダは、ビデオコーダ側におけるシャープ処理フィルタのオン又はオフのスイッチを反映したこのようなシャープ処理フィルタ情報を、エンコード済みビデオビットストリームに有利に追加し得るビデオコーダに適応されてよい。
【００４９】
本発明の第１の態様に係るビデオコーダのさらなる特徴又は実装は、具体的には、シャープ処理フィルタ及びその構造に関し、本発明の第３の態様に係るビデオデコーダにも適用される。
【００５０】
本発明の第４の態様は、動き補償に従って、後続のフレームのビデオストリームを予測的コーディングすることによって取得される、エンコード済みビデオビットストリームをデコードするための方法を提供する。方法は、エンコード済みビデオビットストリームから取得される少なくとも１つの参照フレームを格納する段階を含み、参照フレームは、エンコード済みビデオビットストリームの現在のフレームと異なる。方法は、参照フレームの参照ブロックから、現在のフレームの現在のブロックの予測ブロックを生成する段階を含む。方法は、予測ブロックを適応的にフィルタリングする段階を含む。
【００５１】
本発明の第４の態様に係る方法のさらなる特徴又は実装は、本発明の第３の態様に係るビデオデコーダの機能、及びその異なる実装形式を実行してよい。
【００５２】
本発明の第５の態様は、コンピュータプログラムがコンピューティングデバイス上で動作する場合に、このようなコーディング及び／又はデコード方法を実行するためのプログラムコードを有するコンピュータプログラムを提供する。
【００５３】
本発明は、適応的シャープ処理フィルタを動き予測信号、すなわち、予測ブロックに適用することによる、動き補償の向上を提案する。リンギングアーチファクトを減少させ、動き予測ブロックにおけるエッジのシャープさを増加させることによって、動き補償を向上させることが提案される。動き補償向上のために、エンコーダ及びデコーダの両方に配置される予測フィルタとして、シャープ処理フィルタを適用することが提案される。非線形シャープ処理予測フィルタが、動き補償の向上のために用いられてよい。
【００５４】
本願において説明される全てのデバイス、要素、ユニット及び手段は、ソフトウェアもしくはハードウェア要素又は任意の種類のこれらの組み合わせで実装されてよいことに留意されたい。本願において説明される様々なエンティティによって実行される全ての段階、及び様々なエンティティによって実行されるものとして説明される機能は、それぞれのエンティティが、それぞれの段階及び機能を実行するように適応又は構成されることを意味することが意図される。具体的な実施形態の以下の説明において、具体的な機能又は段階が、当該具体的な段階又は機能を実行するエンティティの具体的な詳細要素の説明に反映されていない不変のエンティティによって全て形成されている場合であっても、当業者にとっては、これらの方法及び機能が、それぞれのソフトウェアもしくはハードウェア要素、又は任意の種類のこれらの組み合わせで実装されてよいことが明らかなはずである。
【図面の簡単な説明】
【００５５】
本発明の上述された態様及び実装形式が、添付図面に関連して、具体的な実施形態の以下の説明において、説明される。
【図１】最新技術に係るビデオコーダを示す。
【図２】本発明の実施形態に係るビデオコーダを示す。
【図３】本発明の実施形態に係るビデオデコーダを示す。
【図４】本発明に係るシャープ処理フィルタの実施形態を示す。
【図５】本発明の実施形態に係るビデオコーディング方法を示す。
【図６】本発明の実施形態に係るビデオデコード方法を示す。
【図７】本発明の実施形態に係るシャープ処理の適応を示す。
【図８ａ】図７に示されるシャープ処理の適応の可能な実施形態を示す。
【図８ｂ】図７に示されるシャープ処理の適応の可能な実施形態を示す。
【図８ｃ】図７に示されるシャープ処理の適応の可能な実施形態を示す。
【発明を実施するための形態】
【００５６】
図２は、本発明の実施形態に係るビデオコーダを示し、具体的には、動き補償に従って、後続のフレームのビデオストリームをエンコード済みビデオビットストリームへと予測的コーディングするためのビデオコーダ２００を示す。
【００５７】
ビデオコーダ２００は、具体的には、フレームバッファ２０７、インター予測ユニット２１０、及びシャープ処理フィルタ２１１を含む。
【００５８】
フレームバッファ２０７は、ビデオストリームの少なくとも１つの参照フレーム又はピクチャを格納するように適応される。参照フレームは、ビデオストリームの現在のフレームと異なる。具体的には、本発明の文脈において、現在のフレームは、現在エンコードされているビデオストリームのフレームであり、参照フレームは、既にエンコードされたビデオストリームのフレームである。以下、「フレーム」という特徴へのあらゆる参照は、「ピクチャ」という特徴への参照に置換されてよい。
【００５９】
インター予測ユニット２１０は、参照フレームの参照ブロックから現在のフレームの現在のブロックの予測ブロックを生成するように適応される。参照フレームは、好ましくは、フレームバッファ２０７に格納される参照フレームであり、現在のブロックは、好ましくは、図２においてビデオブロックと称されるビデオコーダ２００の入力に対応する。具体的には、現在のフレームは、インターコーディング技術を用いてエンコードされる、すなわち、現在のフレームは、現在のフレームとは別個の少なくとも１つの参照フレームから予測される。参照フレームは、前のフレーム、すなわち、後続のフレームのビデオストリーム内において、現在のフレームより前に位置するフレームであってよい。あるいは、前方予測が用いられる場合、参照フレームは、将来のフレーム、すなわち、現在のフレームより後に位置するフレームであってよい。複数の参照フレームの場合、少なくとも１つは、このような前のフレームであり、これらの少なくとも１つは、このような将来のフレームであってよい。参照フレームは、イントラコーディングされてよい、すなわち、さらなるフレームを一切用いることなく、かつ、他のフレームに一切依存することなくコーディングされてよいことにより、別個にデコードされてよく、ランダムなビデオアクセスへのエントリポイントとして機能してよい。
【００６０】
具体的には、インター予測ユニット２１０は、動きベクトルを生成し、参照フレームの参照ブロックと現在のフレームの現在のブロックとの間の動きを推定することによって、動き推定を実行するように適応される。動き推定は、例えば、レート歪み最適化である特定のコスト関数に基づいて、参照フレームにおける最良の参照ブロックを指す動きベクトルを見出すために、エンコード中に実行される。動き推定に加えて、インター予測ユニット２１０は、動きベクトル及び参照ブロックに基づいて、現在のブロックに対して予測ブロックを生成することによって、動き補償を実行するようにさらに適応される。
【００６１】
具体的には、動き予測は、動き推定ユニット及び動き補償ユニットを含む。動きベクトルは、動き推定ユニットを用いることによって生成される。参照ブロック及び現在のブロックは、好ましくは、参照フレーム及び現在のフレームのエリア又はサブエリアのそれぞれである。このようなブロックは、例えば、矩形形状のような規則的形状、又は不規則形状を有してよい。あるいは、ブロックは、フレームと同じサイズを有してよい。現在のブロック及び参照ブロックの両方は、同じサイズを有する。ブロックのサイズは、サイド情報又はシグナリングデータとしてデコーダに送信されるブロックモード情報により定義されてよい。ブロックは、フレームの一部、例えば、６４ｘ６４ピクセルを含む、予め定義されたサイズのビデオシーケンスの基本的なコーディング構造であるコーディングユニットに対応してよい。
【００６２】
予測ブロックは、参照ブロックを考慮して、現在のブロックに対して生成される。具体的には、複数の予測ブロックが、複数の参照ブロックを考慮して、現在のフレームの複数の現在のブロックに対して生成されてよい。これらの参照ブロックは、単一の参照フレームの一部であってよい、又は異なる参照フレームから選択されてよい。いくつかの予測ブロックが現在のフレームに対して生成されてよく、現在のフレームに対して生成された予測ブロックは、現在のフレームの予測フレームを取得するために組み合わせられてよい。
【００６３】
シャープ処理フィルタ２１１は、予測ブロックを適応的にフィルタリングするように構成される適応的シャープ処理フィルタである。シャープ処理フィルタ２１１は、従って、インター予測ユニット２１０によって生成される予測ブロックに適用される。本発明によって提案されるシャープ処理フィルタ２１１は、インター予測ユニット２１０の後に追加されることにより、インター予測によって取得される、すなわち、動き推定及び動き補償を含む動き予測によって取得される予測ブロックを向上させる。シャープ処理フィルタ２１１は、従って、シャープ処理された予測ブロックを生成するように適応される。
【００６４】
ビデオコーダ２００は、有利には、制御ユニット２１２を含み、適応的シャープ処理フィルタ２１１は、少なくとも１つの適応的パラメータを用いる（すなわち、これによって制御されるように構成される）。制御ユニット２１２は、適応的パラメータのパラメータ値を決定し、決定されたパラメータ値を適応的シャープ処理フィルタ２１１に供給するように構成される。
【００６５】
好ましくは、適応的シャープ処理フィルタ２１１は、１つの適応的パラメータのみを用いる。その値は、制御ユニット２１２によって設定される。
【００６６】
制御ユニット２１２は、適応的パラメータに異なるパラメータ値を供給し、現在のブロックと予測ブロックとの間の差である残差ブロックの最小化に基づいて、又は、例えば、レート歪み最適化であるコスト基準に基づいて、異なるパラメータ値の１つを選択することによって、パラメータ値を決定するように構成されてよい。
【００６７】
ビデオコーダ２００は、有利には、エンコード済みビデオビットストリームを生成するように構成されるエンコードユニット２０３を含む。制御ユニット２１２は、決定されたパラメータ値についての適応的パラメータ情報を、エンコードユニット２０３に送信するように構成される。エンコードユニット２０３は、適応的パラメータ情報をエンコード済みビデオビットストリームに追加するように構成される。これは、制御ユニット２１２が一度、適応的パラメータを所与の値に設定する、又は複数の適応的パラメータをそれぞれの所与の値に設定すると、制御ユニット２１２が、（１つ又は複数の）所与の値をエンコードユニット２０３に送信し、エンコードユニット２０３が、（１つ又は複数の）所与の値をシグナリングデータとして、エンコード済みビデオビットストリームに追加することを意味する。
【００６８】
図２のビデオコーダ２００は、具体的には、ハイブリッドビデオコーディングをサポートするために、図１のビデオコーダ１００と同様のさらなるユニットを含む。例えば、ビデオコーダ２００は、当該技術分野において既に公知であるように、周波数ドメインへの変換を介して変換係数を生成し、係数を量子化し、例えば、シグナリングデータと共に、量子化された係数をエントロピコーディングするために、同様のユニットを含み、これらは、変換ユニット２０１、量子化ユニット２０２及びエントロピエンコーダ又はエントロピエンコードユニット２０３である。変換ユニット２０１の入力は、図２においてビデオブロックと称される現在のフレームの現在のブロックと、インター予測ユニット２１０、シャープ処理フィルタ２１１又はイントラ予測ユニット２０９によって出力された予測ブロックとの間の差として定義される残差ブロックである。エントロピエンコードユニット２０３は、エンコード済みビデオビットストリームを出力として生成するように適応される。
【００６９】
ビデオコーダ２００は、さらなる同様のユニットを含み、これらは、逆量子化ユニット２０４、逆変換ユニット２０５及びループフィルタリングユニット２０６である。量子化ユニット２０２によって生成された、量子化された変換係数は、変換ユニット２０１に供給される残差ブロックに対応する、再構築された残差ブロックを取得するために、逆量子化ユニット２０４及び逆変換ユニット２０５によってそれぞれ逆量子化及び逆変換される。再構築された残差ブロックは、次に、現在のブロックに対応する、再構築された現在のブロックを取得するために、前に残差ブロックを生成するために用いられた予測ブロックに追加される。この再構築された現在のブロックは、図２において再構築されたビデオブロックと称される。再構築された現在のブロックは、ブロック単位の処理及び量子化によって導入されたアーチファクトを平滑化するために、ループフィルタリングユニット２０６によって処理される。現在のフレームは、少なくとも１つの現在のブロック、又は有利には、複数の現在のブロックを含み、次に、（１つ又は複数の）再構築された現在のブロックから再構築されてよい。この再構築された現在のフレームは、ビデオストリームの他のフレームのインター予測のための参照フレームとして機能するために、フレームバッファ２０７に格納されてよい。
【００７０】
モード選択ユニット２０８は、図１と同様に、ビデオコーダ２００の入力ブロックがイントラ予測ユニット２０９又はインター予測ユニット２１０のいずれによって処理されるかを選択するために、ビデオコーダ２００に設けられる。モード選択ユニット２０８は、フレームのブロックが、このフレームからの情報のみを用いてイントラコーディングされるか、又は、他のフレームからの、すなわち、フレームバッファ２０７に格納された少なくとも１つの参照フレームからの追加情報を用いてインターコーディングされるかを適宜選択する。
【００７１】
イントラ予測ユニット２０９は、イントラ予測を担い、イントラ予測に基づいて予測ブロックを生成する。上述されたように、インター予測ユニット２１０は、インター予測を担い、参照フレームにおける同じサイズのブロックから予測される予測ブロックを生成することにより、時間冗長性を減少させる。
【００７２】
具体的には、シャープ処理フィルタ２１１は、常に有効化されていてよい。これは、インター予測ユニット２１０によって生成された予測ブロックが、シャープ処理フィルタ２１１に常に供給され、当該残差ブロックが、現在のブロックとシャープ処理フィルタ２１１によって出力されたシャープ処理された予測ブロックとの差によって常に取得されることを意味する。
【００７３】
あるいは、シャープ処理フィルタ２１１は、選択的に回避及び／又は選択的に適用されてよい。シャープ処理フィルタ２１１が適用される場合、シャープ処理フィルタ２１１は、シャープ処理された予測ブロックを生成し、残差ブロックは、現在のブロックとシャープ処理フィルタ２１１によって出力された、シャープ処理された予測ブロックとの差によって取得される。シャープ処理フィルタ２１１が回避される場合、残差ブロックは、現在のブロックと、インター予測ユニット２１０によって出力された予測ブロックとの差によって取得される。
【００７４】
シャープ処理フィルタ２１１の選択的回避及び／又は適用は、制御ユニット２１２によって制御されてよい。制御ユニットは、例えば、残差ブロックを最小化するコスト関数に応じて、シャープ処理フィルタ２１１の適用及び／又は回避を制御するように適応されてよい。コスト関数は、例えば、レート歪み最適化に基づいてよい。コスト関数は、具体的には、シャープ処理フィルタ２１１によって出力された予測ブロックから取得される残差ブロック、及びインター予測ユニット２１０によって出力された予測ブロックから取得される残差ブロックに適用されてよい。コスト関数の結果に応じて、シャープ処理フィルタ２１１は、適用又は回避されてよい。
【００７５】
シャープ処理フィルタ２１１を回避又は適用するという制御ユニット２１２の決定は、エンコードユニット又はエントロピエンコードユニット２０３によって生成される、エンコード済みビデオビットストリーム内のシグナリングデータとして送信されてよい。制御ユニット２１２は、シャープ処理フィルタ情報をエンコードユニット２０３に送信し、シャープ処理フィルタ情報は、シャープ処理フィルタ２１１の選択的回避及び選択的適用の少なくとも１つを反映する。エンコードユニット２０３は、次に、シャープ処理フィルタ情報をシグナリングデータとして、エンコード済みビデオビットストリームに追加する。
【００７６】
シャープ処理フィルタ情報は、２つの値、例えば、０及び１を取り得るシャープ処理フィルタフラグの形であってよい。これらの２つの値の１つ、例えば、１は、シャープ処理フィルタが適用されることを定義し、他の値は、シャープ処理フィルタが回避されることを定義する。あるいは、シャープ処理フィルタ情報が存在しないことは、シャープ処理フィルタが回避される状態を反映していると解釈されてよく、シャープ処理フィルタ情報が存在することは、適用状態を反映してよい。
【００７７】
適応的パラメータ情報及び／又はシャープ処理フィルタ情報の粒度は、変動してよい。シャープ処理フィルタ情報は、例えば、各予測ブロックに対してブロックレベルで追加されてよく、フレームの任意又は規則的領域に対してフレームレベル、ＧＯＰ（ピクチャグループ）レベル、ＰＰＳ（ピクチャパラメータセット）レベル、又はＳＰＳ（シーケンスパラメータセット）レベルで追加されてよい。シャープ処理フィルタ情報が各予測ブロックに対してブロックレベルで追加される場合、エンコードユニット２０３は、インター予測ユニット２１０によって生成された各予測ブロックに対して、シャープ処理フィルタ情報を追加してよい。エンコードユニット２０３は、次に、各予測ブロックに対して、対応する量子化された残差変換係数及び対応するシャープ処理フィルタ情報を、エンコード済みビデオビットストリームに追加する。
【００７８】
図３は、本発明の実施形態に係るビデオデコーダ、具体的には、動き補償に従って、後続のフレームのビデオストリームを予測的コーディングすることによって取得される、エンコード済みビデオビットストリームをデコードするためのビデオデコーダ３００を示す。
【００７９】
ビデオデコーダ３００は、具体的には、フレームバッファ３０７、インター予測ユニット３１０、及び適応的シャープ処理フィルタ３１１を含む。フレームバッファ３０７は、エンコード済みビデオビットストリームから取得される少なくとも１つの参照フレームを格納するように適応され、参照フレームは、エンコード済みビデオビットストリームの現在のフレームと異なる。インター予測ユニット３１０は、参照フレームの参照ブロックから現在のフレームの現在のブロックの予測ブロックを生成するように適応される。適応的シャープ処理フィルタ３１１は、予測ブロックを適応的にフィルタリングするように構成される。
【００８０】
有利には、ビデオデコーダ３００は、制御ユニット３１２を含み、適応的シャープ処理フィルタ３１１は、少なくとも１つの適応的パラメータを用いる。制御ユニット３１２は、適応的パラメータのパラメータ値を決定し、決定されたパラメータ値を適応的シャープ処理フィルタ３１１に供給するように構成される。
【００８１】
制御ユニット３１２は、具体的には、エンコード済みビデオビットストリームから取得される適応的パラメータ情報に応じて、適応的パラメータのパラメータ値を決定するように構成されてよい。
【００８２】
デコーダ３００は、ビデオコーダ２００によって生成される、エンコード済みビデオビットストリームをデコードするように適応され、デコーダ３００及びコーダ２００の両方は、同一の予測を生成する。フレームバッファ３０７、インター予測ユニット３１０、及びシャープ処理フィルタ３１１の機能は、図２のフレームバッファ２０７、インター予測ユニット２１０、及びシャープ処理フィルタ２１１の機能と同様である。
【００８３】
コーダ側及びデコーダ側において予測が同一であることを保証するために、コーダ２００のシャープ処理フィルタの（１つ又は複数の）適応的パラメータが、シグナリングデータとしてデコーダ３００に渡されてよい。代替的な解決手段として、（１つ又は複数の）適応的パラメータは、対応するシグナリングデータを送信することなく、デコーダ側で導出されてよい。具体的には、（１つ又は複数の）適応的パラメータは、周辺エリアから、又は参照フレームから導出されてよい。例えば、（１つ又は複数の）パラメータは、現在のフレームにおける周辺ブロックから導出されてよく、例えば、現在のブロックに関連して、周辺ブロックの（１つ又は複数の）適応的パラメータと同じであってよい。
【００８４】
具体的には、ビデオデコーダ３００は、例えば、逆量子化ユニット３０４、逆変換ユニット３０５、ループフィルタリングユニット３０６及びイントラ予測ユニット３０９のような、ビデオコーダ２００にも存在するさらなるユニットを含んでよく、これらは、ビデオコーダ２００の逆量子化ユニット２０４、逆変換ユニット２０５、ループフィルタリングユニット２０６及びイントラ予測ユニット２０９にそれぞれ対応する。エントロピデコードユニット３０３は、受信されたエンコード済みビデオビットストリームをデコードし、量子化された残差変換係数、及び存在する場合にはシャープ処理フィルタ情報を適宜取得するように適応される。量子化された残差変換係数は、逆量子化ユニット３０４及び逆変換ユニット３０５に供給され、残差ブロックを生成する。残差ブロックは、予測ブロックに追加され、追加分は、デコード済みビデオを取得するために、ループフィルタリングユニット３０６に供給される。デコード済みビデオのフレームは、フレームバッファ３０７に格納され、インター予測のための参照フレームとして機能してよい。
【００８５】
具体的には、シャープ処理フィルタ３１１は、常に有効化されていてよい。これは、シャープ処理フィルタによってフィルタリングされた予測ユニットが、デコード済みビデオを取得するために用いられることを意味する。
【００８６】
あるいは、シャープ処理フィルタ３１１は、例えば、制御ユニット３１２によって、選択的に回避又は適用されてよい。デコードユニット３０３によってエンコード済みビデオビットストリームから取得されたシャープ処理フィルタ情報は、シャープ処理フィルタ情報に応じてシャープ処理フィルタ３１１の回避及び／又は適用を制御する制御ユニット３１２に供給されてよい。
【００８７】
シャープ処理フィルタ情報は、シャープ処理フィルタ３１１の回避又は適用を反映し、好ましくは、ビデオコーダ２００によってエンコード済みビデオビットストリームに追加されるシャープ処理フィルタ情報に対応する。例えば、ビデオコーダ２００に関連して説明されたシャープ処理フィルタ情報の形式及び粒度に関する異なる態様が、ビデオデコーダ３００に関連しても適用される。
【００８８】
図４は、本発明に係る適応的シャープ処理フィルタ４００の実施形態、具体的には、ビデオコーダ２００の適応的シャープ処理フィルタ２１１の実施形態を示す。ビデオデコーダ３００の適応的シャープ処理フィルタ３１１は、図４に示される適応的シャープ処理フィルタ２１１と僅かに異なっていてよく、その差が、以下、説明される。
【００８９】
シャープ処理フィルタ４００は、好ましくは、非線形フィルタである。線形フィルタの代わりに非線形シャープ処理フィルタを用いることは、動き補間フィルタ及び参照ブロック又はフレームの量子化によって生じるアーチファクトを除去するために好ましい。非線形フィルタを選択することは、シャープ処理フィルタ４００の適応的パラメータの数を減少させることができる。具体的には、非線形フィルタは、１つの適応的パラメータのみを用いることにより、エンコード済みビデオビットストリームのシグナリングオーバヘッドを減少させることができる。本発明は、シャープ処理フィルタ４００を制御するために１つより多くの適応的パラメータを用いることをさらに包含するが、１つの適応的パラメータのみを用いるシャープ処理フィルタは、特に有利な実施形態である。
【００９０】
具体的には、シャープ処理フィルタ４００は、エッジマップ算出ユニット４０１、４０２、ブラーフィルタ４０４、ハイパスフィルタ４０５、スケーリングユニット４０６及びワープユニット４０７を含む。
【００９１】
エッジマップ算出ユニット４０１、４０２は、ソースブロックのエッジマップを生成するように適応される。ソースブロックは、参照ブロック又は予測ブロックである。ブラーフィルタ４０４は、ソースブロックのエッジマップをブラーするように適応される。ハイパスフィルタ４０５は、ブラーされたエッジマップをハイパスフィルタリングすることによって、ソースブロックの各位置に対して微分ベクトル（ｄ２ｘ，ｄ２ｙ）を生成するように適応される。スケーリングユニット４０６は、微分ベクトル（ｄ２ｘ，ｄ２ｙ）をシャープ処理強度係数ｋでスケーリングすることによって、変位ベクトル（ｗｘ，ｗｙ）を生成するように適応される。ワープユニット４０７は、変位ベクトル（ｗｘ，ｗｙ）に基づいて、予測ブロックをワープさせるように適応される。
【００９２】
これにより、シャープ処理フィルタ４００を制御する適応的パラメータは、シャープ処理強度係数ｋとなる。図４に示されるシャープ処理フィルタ４００は、１つの適応的パラメータのみを伴う本発明の実施形態である。
【００９３】
エッジマップ算出ユニット４０１、４０２は、ソースブロックの各位置に対して勾配ベクトル（ｄｘ，ｄｙ）を生成するように適応される勾配ベクトルユニット４０１、及びソースブロックのエッジマップを生成するために、各位置の勾配ベクトル（ｄｘ，ｄｙ）の長さを算出するように適応される勾配ベクトル長ユニット４０２を含んでよい。これにより、この構造は、ブラーフィルタ、ハイパスフィルタ及びスケーリングユニットによってさらに処理可能なエッジマップの生成が、ワープ変位ベクトルを生成することを可能とする。
【００９４】
勾配ベクトルは、以下の数式に従って対応するプルウィットフィルタを適用することによって、第１の導関数をｄｘ及びｄｙに対して別個に、すなわち、図４においてソースブロックと称されるソースブロックの水平及び鉛直方向の両方に対して別個に取ることによって取得されてよい。
【数１】
0006673599.tif 000002
【００９５】
エッジマップは、以下の数式に従って勾配ベクトルの長さを算出することによって、勾配ベクトル長ユニット４０２によって取得されてよい。
【数２】
0006673599.tif 000003
【００９６】
有利には、シャープ処理フィルタ４００は、ソースブロックのエッジマップをクリップするように適応されるクリップユニット４０３を含む。クリップユニット４０３は、エッジマップ算出ユニット４０１、４０２とブラーフィルタ４０４との間に位置する。これにより、エッジマップを閾値でクリップすることは、ワープベクトルの極度に高い値及び低い値の処理を防止する点において、有利となる。
【００９７】
クリップされたエッジマップをブラーする段階は、以下の通り定義可能なガウス型フィルタの形式で、ブラーフィルタ４０４によって取得されてよい。
【数３】
0006673599.tif 000004
【００９８】
ハイパスフィルタは、例えば、以下に従って、ｄ２ｘ及びｄ２ｙに対して別個に、第２の導関数を取得するために用いられる。
【数４】
0006673599.tif 000005
【００９９】
変位ベクトル（ｗｘ，ｗｙ）は、第２の微分ベクトル（ｄ２ｘ，ｄ２ｙ）を係数ｋでスケーリングすることによって取得される。係数ｋは、以下の式に従うシャープ処理強度とみなされてよい。
【数５】
0006673599.tif 000006
【０１００】
ワープユニット４０７は、分数ペル位置のサンプル値を取得するために、例えば、双線形補間フィルタである補間フィルタを含む。ワープユニット４０７は、スケーリングユニット４０６によって生成される変位ベクトルを用いる。これにより、ビデオコーダの総合的品質が向上し、同時に、所望の分数ペル位置において、参照フレーム／ブロックの補間を提供する。
【０１０１】
減算ユニット４０８は、ワープユニット４０７によって生成されたシャープ処理された予測ブロックと現在のブロックとの間の差を構築するように適応される。現在のブロックは、エンコードされるべきブロックに対応する。減算ユニット４０８は、実際に、残差ブロックを生成する。適応的シャープ処理フィルタ４００、又は適応的シャープ処理フィルタ４００を制御する制御ユニット２１１は、例えば、残差ブロックを最小化することによって、又は、例えば、レート歪みに基づくコスト基準によって、最適なシャープ処理強度ｋを見出すように適応される。
【０１０２】
ビデオコーダ２００の適応的シャープ処理フィルタとビデオデコーダ３００の適応的シャープ処理フィルタとの間の相違は、好ましくは、この減算ユニット４０８と、残差ブロックのこの最小化にある。ビデオデコーダ３００において、適応的パラメータ、すなわち、係数ｋは、減算ユニット４０８及び残差ブロックの最小化により設定されない。代わりに、適応的パラメータは、ビデオデコーダ３００において、好ましくは、係数ｋの値を反映したシグナリングデータに応じて設定される。シグナリングデータは、エンコード済みビデオビットストリームの一部であり、ビデオコーダ２００によって設定される。
【０１０３】
シャープ処理フィルタ４００は、ソースブロックから算出される変位ベクトルに基づくワープを含む。このソースブロックは、図４において、動き予測ブロックと称される。
【０１０４】
図４に示されない実施形態によれば、ソースブロックは、変位ベクトル（ｗｘ，ｗｙ）が参照ブロックから導出されるように、フレームバッファ２０７、３０７に格納される参照フレームの参照ブロックである。これにより、参照ブロックは、変位ベクトルを取得するためのソースブロックとして用いられる。これは、シャープ処理変位ベクトル又はワープ変位ベクトルとも称される。ワープは、次に、取得された変位ベクトルを用いて、予測ブロックに適用される。本実施形態は、エンコーダ側における演算リソースを節約する点で有利である。
【０１０５】
図４の代替的実施形態によれば、ソースブロックは、変位ベクトル（ｗｘ，ｗｙ）が予測ブロックから導出されるように、インター予測ユニット２１０、３１０によって生成される予測ブロックである。
【０１０６】
これにより、予測ブロックをソースブロックとして選択することは、予測ブロックのワープを実行するために適切な変位ベクトルの算出を可能とする。また、シャープ処理フィルタは、次に、予測ブロックに対して１つの入力のみを必要とし、参照ブロックに対する第２の入力は必要とされない。
【０１０７】
図５は、本発明の実施形態に係るビデオコーディング方法、具体的には、動き補償に従って、後続のフレームのビデオストリームをエンコード済みビデオビットストリームへと予測的コーディングするための方法５００を示す。
【０１０８】
方法５００は、ビデオストリームの少なくとも１つの参照フレームを格納する段階５０１を含む。参照フレームは、ビデオストリームの現在のフレームと異なる。
【０１０９】
方法５００は、参照フレームの参照ブロックから、現在のフレームの現在のブロックの予測ブロックを生成する段階を含むインター予測段階５０２をさらに含む。
【０１１０】
方法５００は、予測ブロックを適応的にフィルタリングする段階を含む適応的シャープ処理フィルタリング段階５０３をさらに含む。
【０１１１】
図６は、本発明の実施形態に係るビデオデコード方法、具体的には、動き補償に従って、後続のフレームのビデオストリームを予測的コーディングすることによって取得される、エンコード済みビデオビットストリームをデコードするための方法６００を示す。
【０１１２】
方法６００は、エンコード済みビデオビットストリームから取得される少なくとも１つの参照フレームを格納する段階６０１を含む。参照フレームは、エンコード済みビデオビットストリームの現在のフレームと異なる。
【０１１３】
方法６００は、参照フレームの参照ブロックから、現在のフレームの現在のブロックの予測ブロックを生成する段階を含むインター予測段階６０２を含む。
【０１１４】
方法６００は予測ブロックを適応的にフィルタリングする段階を含む適応的シャープ処理フィルタリング段階６０３を含む。
【０１１５】
ビデオコーダ２００又はビデオデコーダ３００に関連して説明されるさらなる態様及び特徴は、コーディング方法５００及びデコード方法６００にも適用される。
【０１１６】
図７は、本発明の実施形態に係るシャープ処理の適応を示す。図７に示されるシャープ処理適応プロセスは、ビデオコーダ側において実行される。
【０１１７】
シャープ処理フィルタの（１つ又は複数の）適応的パラメータ及びシャープ処理自体の必要性の推定、すなわち、適応的シャープ処理フィルタを適用又は回避することの決定は、動き推定手順と共に実行されてよい。図７は、動きベクトル候補の評価中に、（１つ又は複数の）適応的シャープ処理パラメータがどのように取得可能であるかを示す。以下の段階が、次に、実行されてよい。
【０１１８】
−分析されるべき動きベクトルを取る。
−従来の補間フィルタ７０９を適用することによって、動き補間ブロック７０８を取得する。
−シャープ処理フィルタの適応７０７を実行することにより、シャープ処理フィルタに（１つ又は複数の）最適な適応パラメータを取得する。
−前の段階で見出された（１つ又は複数の）最適なパラメータを伴うシャープ処理フィルタ７０６を適用し、シャープ処理された予測ブロック７０５を取得する。
−シャープ処理された予測ブロックがシャープ処理されない予測ブロックより良好であるか否かを決定又は評価７０４する。この決定／評価は、レート歪み最適化に基づき、シグナリングデータ又はサイド情報としてエンコード済みビデオビットストリームに追加されるシャープ処理フィルタ情報により、ビデオデコーダに送信される。このシャープ処理フィルタ情報は、図７において、シャープ処理オン／オフとして特定される。
【０１１９】
ビデオコーダ２００は、シャープ処理された予測の適用を決定し、次に、シャープ処理フィルタの（１つ又は複数の）最適なパラメータの値を反映した適応的パラメータ情報も、シグナリングデータとして、エンコード済みビデオビットストリームに追加される。適応的パラメータ情報は、図７において、シャープ処理強度として特定される。
【０１２０】
図７に示されるシャープ処理の適応は、動き推定ループの異なる段階において、適用されてよい。図８ａからｃは、シャープ処理適応プロセスを動きベクトルサーチに統合するための３つの可能な実施形態を示す。
【０１２１】
図８ａの実施形態において、シャープ処理の適応、すなわち、最適な係数ｋの発見が、可能な動きベクトル候補の各々に対して実行される。本実施形態は、サーチの複雑さという代償において、可能な最良の品質を提供する。
【０１２２】
適宜、図８ａの動き推定８００は、各動きベクトル候補８０１に対して、シャープ処理フィルタの適応８０３を含む。動きベクトル候補に対して、予測ブロックが取得８０２され、適応的シャープ処理が実行８０３され、シャープ処理フィルタが適用又は回避８０４されるべきかについての決定がなされる。この手順は、可能な動きベクトル候補の各々に対して反復される。
【０１２３】
図８ｃの実施形態において、シャープ処理の適応は、あるいは、１つの動きベクトルに対してのみ、すなわち、動き推定中に見出された最良の動きベクトルに対して実行される。本実施形態は、サーチの複雑さを低下させる点で有利である。一方、見出された、シャープ処理された予測ブロックは、可能な最良のものではないことがある。
【０１２４】
適宜、図８ｃの動き推定８２０は、１つのシャープ処理の適応段階８２５のみを含む。このシャープ処理の適応８２５に基づいて、適応的シャープ処理フィルタが適用又は回避８２６されるべきかが決定されてよい。シャープ処理の適応８２５より前に、整数動きベクトルサーチ８２２が、各動きベクトル候補８２１に対して実行され、分数動きベクトルサーチ８２４が、各分数位置８２３に対して実行される。
【０１２５】
図８ｂに示される実施形態は、図８ａ及び８ｃの実施形態の間で、バランスの良い解決手段である。シャープ処理の適応は、分数動きベクトルの改良中にのみ実行される。本実施形態において、整数動きベクトルサーチは、サーチの複雑さを低下させるために、シャープ処理の適応なく実行される。 
【０１２６】
適宜、図８ｂの動き推定８１０は、各動きベクトル候補８１１に対して実行される整数動きベクトルサーチ８１２を含む。一度、整数動きベクトルサーチが実行８１２されると、取得された予測ブロックは、各分数位置８１３に対して補間８１４され、シャープ処理の適応８１５は、各予測ブロックに対して実行され、各予測ブロックに対して、シャープ処理フィルタが適用又は回避されるべきかが決定８１６される。
【０１２７】
本発明が、例としての様々な実施形態及び実装と併せて説明された。しかしながら、当業者及び特許請求の範囲に記載の発明を実施する者であれば、図面、この開示及び独立請求項の検討から、他のバリエーションを理解及び実現することができる。特許請求の範囲及び本明細書において、「備え」という用語は、他の要素又は段階を排除するものではなく、不定冠詞「ａ」又は「ａｎ」は、複数形を排除するものではない。単一の要素又は他のユニットが、特許請求の範囲に列挙された、いくつかのエンティティ又は項目の機能を実現することができる。特定の手段が相互に異なる独立請求項に列挙されているという事実のみをもって、これらの手段の組み合わせが有利な実装において用いることができないことが示されるものではない。
【図１】
0006673599.tif 000007
【図２】
0006673599.tif 000008
【図３】
0006673599.tif 000009
【図４】
0006673599.tif 000010
【図５】
0006673599.tif 000011
【図６】
0006673599.tif 000012
【図７】
0006673599.tif 000013
【図８ａ】
0006673599.tif 000014
【図８ｂ】
0006673599.tif 000015
【図８ｃ】
0006673599.tif 000016