特許第6673599号(P6673599)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ホアウェイ・テクノロジーズ・カンパニー・リミテッドの特許一覧

<>
  • 特許6673599-ビデオ動き補償のための装置及び方法 図000007
  • 特許6673599-ビデオ動き補償のための装置及び方法 図000008
  • 特許6673599-ビデオ動き補償のための装置及び方法 図000009
  • 特許6673599-ビデオ動き補償のための装置及び方法 図000010
  • 特許6673599-ビデオ動き補償のための装置及び方法 図000011
  • 特許6673599-ビデオ動き補償のための装置及び方法 図000012
  • 特許6673599-ビデオ動き補償のための装置及び方法 図000013
  • 特許6673599-ビデオ動き補償のための装置及び方法 図000014
  • 特許6673599-ビデオ動き補償のための装置及び方法 図000015
  • 特許6673599-ビデオ動き補償のための装置及び方法 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6673599
(24)【登録日】2020年3月9日
(45)【発行日】2020年3月25日
(54)【発明の名称】ビデオ動き補償のための装置及び方法
(51)【国際特許分類】
   H04N 19/117 20140101AFI20200316BHJP
   H04N 19/14 20140101ALI20200316BHJP
   H04N 19/147 20140101ALI20200316BHJP
   H04N 19/154 20140101ALI20200316BHJP
   H04N 19/176 20140101ALI20200316BHJP
   H04N 19/46 20140101ALI20200316BHJP
   H04N 19/82 20140101ALI20200316BHJP
【FI】
   H04N19/117
   H04N19/14
   H04N19/147
   H04N19/154
   H04N19/176
   H04N19/46
   H04N19/82
【請求項の数】20
【全頁数】24
(21)【出願番号】特願2018-515252(P2018-515252)
(86)(22)【出願日】2015年9月25日
(65)【公表番号】特表2018-533287(P2018-533287A)
(43)【公表日】2018年11月8日
(86)【国際出願番号】RU2015000611
(87)【国際公開番号】WO2017052406
(87)【国際公開日】20170330
【審査請求日】2018年5月2日
(73)【特許権者】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】イコニン、セルゲイ ユリエビッチ
(72)【発明者】
【氏名】シチェフ、マキシム ボリソヴィチ
(72)【発明者】
【氏名】ステピン、ヴィクター アレクセビッチ
【審査官】 坂東 大五郎
(56)【参考文献】
【文献】 国際公開第2014/158050(WO,A1)
【文献】 Yeo-Jin Yoon et al.,Adaptive filtering for prediction signal in video compression,IEEE International Conference on Consumer Electronics - Berlin (ICCE-Berlin),2011年 9月 6日,pp.88-90
【文献】 Maxim Sychev et al.,Sharpening filter for interlayer prediction,2014 IEEE Visual Communication and Image Processing Conference,2014年12月 7日,pp.470-473
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00−19/98
(57)【特許請求の範囲】
【請求項1】
動き補償に従って、後続のフレームのビデオストリームをエンコード済みビデオビットストリームへと予測的コーディングするためのビデオコーダであって、
前記ビデオストリームの少なくとも1つの参照フレームを格納するフレームバッファであって、前記参照フレームは、前記ビデオストリームの現在のフレームと異なる、フレームバッファと、
前記参照フレームの参照ブロックから、前記現在のフレームの現在のブロックの予測ブロックを生成するインター予測ユニットと、
前記予測ブロックを適応的にフィルタリングする適応的シャープ処理フィルタと、
を備えるビデオコーダ。
【請求項2】
制御ユニットを備え、
前記適応的シャープ処理フィルタは、少なくとも1つの適応的パラメータによって制御され、
前記適応的パラメータはシャープ処理強度係数を含み、
前記制御ユニットは、前記適応的パラメータのパラメータ値を決定し、前記決定されたパラメータ値を前記適応的シャープ処理フィルタに供給する、
請求項1に記載のビデオコーダ。
【請求項3】
前記制御ユニットは、前記適応的パラメータに異なるパラメータ値を供給し、前記現在のブロックと前記予測ブロックとの間の差である残差ブロックの最小化に基づいて、又は例えば、レート歪み最適化のようなコスト基準に基づいて、前記異なるパラメータ値の1つを選択する、請求項2に記載のビデオコーダ。
【請求項4】
前記適応的シャープ処理フィルタは、非線形フィルタである、請求項2又は3に記載のビデオコーダ。
【請求項5】
前記適応的シャープ処理フィルタは、
ソースブロックのエッジマップを生成するエッジマップ算出ユニットであって、前記ソースブロックは、前記参照ブロック又は前記予測ブロックである、エッジマップ算出ユニットと、
前記ソースブロックの前記エッジマップをブラーするブラーフィルタと、
前記ブラーされたエッジマップをハイパスフィルタリングすることによって、前記ソースブロックの各位置に対して微分ベクトルを生成するハイパスフィルタと、
前記微分ベクトルをシャープ処理強度係数でスケーリングすることによって、変位ベクトルを生成するスケーリングユニットと、
前記変位ベクトルに基づいて、前記予測ブロックをワープさせるワープユニットと、
を含み、
前記適応的パラメータは、前記シャープ処理強度係数を含む、
請求項2から4のいずれか1項に記載のビデオコーダ。
【請求項6】
前記エンコード済みビデオビットストリームを生成するエンコードユニットを備え、
前記制御ユニットは、前記決定されたパラメータ値についての適応的パラメータ情報を前記エンコードユニットに送信し、
前記エンコードユニットは、前記適応的パラメータ情報を前記エンコード済みビデオビットストリームに追加する、
請求項2から5のいずれか1項に記載のビデオコーダ。
【請求項7】
前記適応的シャープ処理フィルタは、常に有効化されている、請求項1から6のいずれか1項に記載のビデオコーダ。
【請求項8】
前記適応的シャープ処理フィルタの選択的回避及び前記適応的シャープ処理フィルタの選択的適用の少なくとも1つを制御する制御ユニットを備える、請求項1から6のいずれか1項に記載のビデオコーダ。
【請求項9】
前記制御ユニットは、前記現在のブロックと前記予測ブロックとの間の差である残差ブロックの最小化に基づいて、又は、例えば、他のレート歪み最適化のような他のコスト基準に基づいて、前記選択的回避及び前記選択的適用の前記少なくとも1つを制御する、請求項8に記載のビデオコーダ。
【請求項10】
前記エンコード済みビデオビットストリームを生成するエンコードユニットを備え、
前記制御ユニットは、前記選択的回避及び前記選択的適用の前記少なくとも1つを反映したシャープ処理フィルタ情報を前記エンコードユニットに送信し、
前記エンコードユニットは、前記シャープ処理フィルタ情報を前記エンコード済みビデオビットストリームに追加する、
請求項8又は9に記載のビデオコーダ。
【請求項11】
適応的パラメータ情報又はシャープ処理フィルタ情報は、各予測ブロックに対してブロックレベルで追加され、前記フレームの任意又は規則的領域に対してフレームレベル、GOP(ピクチャグループ)レベル、PPS(ピクチャパラメータセット)レベル、又はSPS(シーケンスパラメータセット)レベルで追加される、請求項6又は10に記載のビデオコーダ。
【請求項12】
前記適応的シャープ処理フィルタは、単一の適応的パラメータによって制御される、請求項1から11のいずれか1項に記載のビデオコーダ。
【請求項13】
動き補償に従って、後続のフレームのビデオストリームをエンコード済みビデオビットストリームへと予測的コーディングするための方法であって、
前記ビデオストリームの少なくとも1つの参照フレームを格納する段階であって、前記参照フレームは、前記ビデオストリームの現在のフレームと異なる、段階と、
前記参照フレームの参照ブロックから、前記現在のフレームの現在のブロックの予測ブロックを生成する段階と、
前記予測ブロックを適応的にシャープ処理フィルタリングする段階と、
を備える方法。
【請求項14】
動き補償に従って、後続のフレームのビデオストリームを予測的コーディングすることによって取得される、エンコード済みビデオビットストリームをデコードするためのビデオデコーダであって、
前記エンコード済みビデオビットストリームから取得される少なくとも1つの参照フレームを格納するフレームバッファであって、前記参照フレームは、前記エンコード済みビデオビットストリームの現在のフレームと異なる、フレームバッファと、
前記参照フレームの参照ブロックから、前記現在のフレームの現在のブロックの予測ブロックを生成するインター予測ユニットと、
前記予測ブロックを適応的にフィルタリングする適応的シャープ処理フィルタと、
を備える、ビデオデコーダ。
【請求項15】
制御ユニットを備え、
前記適応的シャープ処理フィルタは、少なくとも1つの適応的パラメータによって制御され、
前記適応的パラメータはシャープ処理強度係数を含み、
前記制御ユニットは、前記適応的パラメータのパラメータ値を決定し、前記決定されたパラメータ値を前記適応的シャープ処理フィルタに供給する、
請求項14に記載のビデオデコーダ。
【請求項16】
前記制御ユニットは、前記エンコード済みビデオビットストリームから取得される適応的パラメータ情報に応じて、前記適応的パラメータの前記パラメータ値を決定する、
請求項15に記載のビデオデコーダ。
【請求項17】
前記制御ユニットは、前記適応的シャープ処理フィルタの選択的回避及び前記適応的シャープ処理フィルタの選択的適用の少なくとも1つを制御する、
請求項15又は16に記載のビデオデコーダ。
【請求項18】
前記制御ユニットは、前記エンコード済みビデオビットストリームから取得されるシャープ処理フィルタ情報に基づいて、前記選択的回避及び前記選択的適用の前記少なくとも1つを制御する、
請求項17に記載のビデオデコーダ。
【請求項19】
動き補償に従って、後続のフレームのビデオストリームを予測的コーディングすることによって取得される、エンコード済みビデオビットストリームをデコードするための方法であって、
前記エンコード済みビデオビットストリームから取得される少なくとも1つの参照フレームを格納する段階であって、前記参照フレームは、前記エンコード済みビデオビットストリームの現在のフレームと異なる、段階と、
前記参照フレームの参照ブロックから、前記現在のフレームの現在のブロックの予測ブロックを生成する段階と、
前記予測ブロックを適応的にシャープ処理フィルタリングする段階と、
備える方法。
【請求項20】
コンピューティングデバイスに、請求項13又は19に記載の方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、ビデオ処理の分野、及びビデオ動き補償のための装置に関し、具体的には、ビデオにおけるフレームを予測するための動き補償をサポートするためのビデオコーダ及びビデオデコーダに関する。本発明は、さらに、動き補償を用いてビデオストリームをコーディングするための方法及びデコードするための方法に関する。最後に、本発明は、このような方法を実行するためのプログラムコードを有するコンピュータプログラムに関する。
【背景技術】
【0002】
ビデオ処理の分野、具体的には、ハイブリッドビデオコーディング及び圧縮の分野において、インター及びイントラ予測、ならびに変換コーディングを用いることが知られている。このようなハイブリッドビデオコーディング技術は、H.261、H.263、MPEG‐1,2,4、H.264/AVC又はH.265/HEVCのような、公知のビデオ圧縮規格において用いられる。
【0003】
図1は、最新技術に係るビデオコーダを示す。ビデオコーダ100は、ビデオストリームのフレーム又はピクチャの入力されたブロックを受信するための入力部と、エンコード済みビデオビットストリームを生成するための出力部とを含む。ビデオコーダ100は、ビデオストリームに予測、変換、量子化、及びエントロピコーディングを適用するように適応される。変換、量子化、及びエントロピコーディングは、それぞれ、変換ユニット101、量子化ユニット102及びエントロピエンコードユニット103によって実行され、これにより、エンコード済みビデオビットストリームを出力として生成する。
【0004】
ビデオストリームは、複数のフレームに対応し、各フレームは、イントラ又はインターコーディングされる特定のサイズのブロックに分割される。例えば、ビデオストリームの第1のフレームのブロックは、イントラ予測ユニット109によりイントラコーディングされる。イントラフレームは、同じフレーム内の情報のみを用いてコーディングされることにより、別個にデコード可能であり、ビットストリームにおいて、ランダムアクセスのためのエントリポイントを提供可能となる。ビデオストリームの他のフレームのブロックは、インター予測ユニット110によりインターコーディングされる。参照フレームと称されるコーディングフレームからの情報が、時間冗長性を減少させるために用いられることにより、インターコーディングフレームの各ブロックが、参照フレームにおける同じサイズのブロックから予測される。モード選択ユニット108は、フレームのブロックがイントラ予測ユニット109又はインター予測ユニット110のいずれによって処理されるかを選択するように適応される。
【0005】
インター予測を実行するために、コーディングされた参照フレームが、逆量子化ユニット104、逆変換ユニット105、ループフィルタリングユニット106によって処理されることにより、次にフレームバッファ107に格納される参照フレームを取得する。具体的には、参照フレームの参照ブロックは、これらのユニットによって処理され、再構築された参照ブロックを取得してよい。再構築された参照ブロックは、次に、再度組み合わせられて、参照フレームとなる。
【0006】
インター予測ユニット110は、入力として、インターコーディングされるべき現在のフレーム又はピクチャ、及びフレームバッファ107からの1つ又はいくつかの参照フレーム又はピクチャを含む。動き推定及び動き補償が、インター予測ユニット110によって適用される。動き推定は、特定のコスト関数に基づいて、動きベクトル及び参照フレームを取得するために用いられる。動き補償は、次に、参照フレームの参照ブロックを現在のフレームに変換する観点から、現在のフレームの現在のブロックを説明する。インター予測ユニット110は、現在のブロックに対する予測ブロックを出力する。予測ブロックは、コーディングされるべき現在のブロックとその予測ブロックとの間の差を最小化する、すなわち、残差ブロックを最小化する。残差ブロックの最小化は、例えば、レート歪み最適化手順に基づく。
【0007】
現在のブロックとその予測との間の差、すなわち、残差ブロックは、次に、変換ユニット101によって変換される。変換係数は、量子化ユニット102及びエントロピエンコードユニット103によって量子化及びエントロピコーディングされる。このように生成されたエンコード済みビデオビットストリームは、イントラコーディングされたブロック及びインターコーディングされたブロックを含む。
【0008】
このようなハイブリッドビデオコーディングは、予測エラーの変換コーディングと組み合わせられた動き補償予測を含む。各ブロックに対する推定動きベクトルが、シグナリングデータとして、エンコード済みビデオビットストリームにおいてさらに送信される。現在の規格H.264/AVC及びH.265/HEVCは、動きベクトルに対するクォーターペル変位分解に基づく。分数ペル変位を推定及び補償するために、参照フレームは、分数ペル位置において補間されなければならない。分数ペル位置においてこのような補間フレームを取得するために、補間フィルタがインター予測ユニット110において用いられる。
【0009】
補間フレームの品質は、用いられる補間フィルタの特性に強く依存する。短タップフィルタ、例えば、双線形フィルタは、高周波数を抑制し、補間フレームをブラーさせることがある。長タップフィルタのような他のフィルタは、高周波数を維持するが、シャープなエッジの近隣にいくつかのリンギングアーチファクトを生成することがある。他の問題は、動き補償が、前にエンコード及び再構築されたフレームを参照フレームとして利用しており、参照フレームが、Gibbs効果と称される変換係数の量子化によって生じるアーチファクトを含み得ることである。これらのアーチファクトに起因して、エッジ及びエッジ周囲のエリアが歪むこともある。
【0010】
エッジの品質は、デコード済みフレームに、フィルタリング後にシャープ処理又はデブラーを適用することによって向上可能であることが、従来技術において公知である。このようなフィルタリング後の設計の問題は、シャープ処理フィルタが、エンコードプロセスに含まれていないことである。従って、レート歪み最適化手順中、シャープ処理フィルタの効果は、考慮することができない。これは、ピーク信号対ノイズ比(PSNR)のような客観的品質指標を低下させることがある。
【0011】
客観的品質を向上させるために、ループフィルタリングユニット106にシャープ処理フィルタを含むことも、従来技術において公知である。従って、シャープ処理フィルタは、再構築された参照フレームに適用され、参照フレームにおける圧縮アーチファクトを除去することによって、動き補償予測を向上させることができる。しかしながら、このようなループフィルタリング技術は、動き補間フィルタによって生じるアーチファクトを除去することはできない。
【発明の概要】
【0012】
上述の欠点及び問題を認識し、本発明は、最新技術を向上させることを目的とする。具体的には、本発明の目的は、後続のフレームのビデオストリームのコーディング及びデコードを向上させるためのビデオコーダ、コーディング方法、ビデオデコーダ、及びデコード方法を提供することである。
【0013】
本発明は、具体的には、インター予測的コーディングの品質を向上させることを意図する。具体的には、本発明は、動き推定及び動き補償によって生じるアーチファクトを除去することを意図する。具体的には、本発明の目的は、動き補間フィルタの負の効果を減少させること、すなわち、分数ペル位置における参照フレーム補間の負の効果を減少させ、参照フレームの量子化アーチファクトを減少させることによって、予測品質を向上させることである。
【0014】
本発明の上述の目的は、添付の独立請求項において提供される解決手段によって実現される。本発明の有利な実装が、それぞれの独立請求項において、さらに定義される。
【0015】
本発明の第1の態様は、動き補償に従って、後続のフレームのビデオストリームをエンコード済みビデオビットストリームへと予測的コーディングするためのビデオコーダを提供する。ビデオコーダは、ビデオストリームの少なくとも1つの参照フレームを格納するように適応されるフレームバッファを含み、参照フレームは、ビデオストリームの現在のフレームと異なる。ビデオコーダは、参照フレームの参照ブロックから現在のフレームの現在のブロックの予測ブロックを生成するように適応されるインター予測ユニットを含む。ビデオコーダは、予測ブロックを適応的にフィルタリングするように構成される適応的シャープ処理フィルタを含む。
【0016】
これにより、適応的シャープ処理フィルタを予測ブロックに適用することは、分数ペル位置における参照フレーム/ブロックの補間によって生じる、すなわち、動き補間フィルタによって生じるリンギングアーチファクトを除去する、又は少なくとも減少させつつ、補間されたエッジの品質を有利に確保するという点で、インター予測的コーディングの品質を向上させる。これは、参照ブロックにおける変換係数の量子化によって生じる、Gibbs効果とも称されるリンギングアーチファクトをも除去し、又は少なくとも減少させる。これはさらに、量子化及び動き補間によって生じたエッジのブラーを減少させ、動きブラーによって生じるエッジのブラーをも減少させる。追加的に、本発明は、再構築されたフレーム/ブロックにおいて、エッジの主観的品質を向上させる。
【0017】
これにより、動き補間フィルタの後、すなわち、インター予測ユニットの後に本発明に係るシャープ処理フィルタを配置することが、インループ参照フィルタ、すなわち、ループフィルタリングユニットのタスクをシャープ処理フィルタに実行させつつ、同時に、動き補間フィルタリングによって生じたアーチファクトを除去又は少なくとも減少させることができる。また、適応的シャープ処理フィルタを用いることは、ビデオコンテンツ、具体的には予測ブロックのローカル機能に適応することを可能とすることにより、さらに小さいブロックのコーディングは、デコーダに送信するためのシグナリングオーバヘッドを減少させることのみを必要とする。
【0018】
第1の態様に係るビデオコーダの実装形式において、ビデオコーダは、制御ユニットを含む。適応的シャープ処理フィルタは、少なくとも1つの適応的パラメータによって制御されるように構成される。制御ユニットは、適応的パラメータのパラメータ値を決定し、決定されたパラメータ値を適応的シャープ処理フィルタに供給するように構成される。
【0019】
これにより、予測ブロックは、具体的なビデオコンテンツに適応可能なシャープ処理フィルタによってフィルタリングされる。適応は、ビデオコンテンツのローカル機能を考慮してよく、必要とされるシグナリングオーバヘッドは、適応及び送信に対して1つの係数のみで、適応的シャープ処理フィルタのパラメトリック表示を用いることに起因して、限定可能である。具体的には、予測的コーディングに用いられるブロックのサイズは、同時にシグナリングオーバヘッドを増加させることなく、減少可能である。
【0020】
第1の態様に係るビデオコーダのさらなる実装形式において、制御ユニットは、適応的パラメータに異なるパラメータ値を供給し、現在のブロックと予測ブロックとの間の差である残差ブロックの最小化に基づいて、又は例えば、レート歪み最適化のようなコスト基準に基づいて、異なるパラメータ値の1つを選択するように構成される。
【0021】
これにより、動き補償が、さらに向上する。異なる値の少なくとも1つの適応的パラメータに対して取得される残差ブロックが、比較されてよい。残差ブロックを最小化又はコスト基準を最小化する予測ブロックを選択することによって、動き補償が向上可能である。選択された予測ブロックに対応するパラメータ値は、次に、異なるパラメータ値から選択されることにより、動き補償を向上させる。
【0022】
第1の態様に係るビデオコーダのさらなる実装形式において、シャープ処理フィルタは、非線形フィルタである。
【0023】
これにより、このような非線形シャープ処理フィルタの当該利用が、動き予測の向上のために好ましい。アンシャープマスク技術のような、線形シャープ処理又はデブラーフィルタに基づく従来のエッジ向上技術は、主観的品質を向上させることがあるが、動き補間フィルタリングによって生じるリンギングアーチファクトを抑制することはできない。ほとんどの場合、このような線形シャープ処理は、さらにリンギングを増加させ、客観的性能特徴を低下させることがあることも見出されている。一方、非線形フィルタは、リンギングの除去に関してより良好な結果を提供することができ、従って、有利である。また、シャープ処理フィルタ、すなわち、適応的シャープ処理フィルタに非線形設計を用いることは、適応的パラメータの数、従って、シグナリングオーバヘッドを有利に減少させることができる。
【0024】
第1の態様に係るビデオコーダのさらなる実装形式において、シャープ処理フィルタは、ソースブロックのエッジマップを生成するように適応されるエッジマップ算出ユニットを含む。ソースブロックは、参照ブロック又は予測ブロックである。シャープ処理フィルタは、ソースブロックのエッジマップをブラーするように適応されるブラーフィルタを含む。シャープ処理フィルタは、ブラーされたエッジマップをハイパスフィルタリングすることによって、ソースブロックの各位置に対して微分ベクトルを生成するように適応されるハイパスフィルタを含む。シャープ処理フィルタは、微分ベクトルをシャープ処理強度係数でスケーリングすることによって、変位ベクトルを生成するように適応されるスケーリングユニットを含む。シャープ処理フィルタは、変位ベクトルに基づいて、予測ブロックをワープさせるように適応されるワープユニットを含む。適応的パラメータは、シャープ処理強度係数を含む。
【0025】
これにより、シャープ処理フィルタのこの構造は、リンギングアーチファクト除去の観点からより良好な結果を有利に提供可能な非線形シャープ処理フィルタを定義する。また、シャープ処理強度係数を適応的パラメータとして用いることは、1つの適応的パラメータのみが必要とされ、シグナリングオーバヘッドをさらに低下させることを示唆する。
【0026】
第1の態様に係るビデオコーダのさらなる実装形式において、シャープ処理フィルタは、常に有効化されている。
【0027】
第1の態様に係るビデオコーダのさらなる実装形式において、ビデオコーダは、適応的シャープ処理フィルタの選択的回避及び適応的シャープ処理フィルタの選択的適用の少なくとも1つを制御するように構成される制御ユニットを含む。
【0028】
これにより、制御ユニットによって、シャープ処理フィルタを適用又は回避するという決定がされてよい。決定は、次に、具体的な各事例、例えば、エンコードされるべき特定のビデオストリームに適応されてよい。また、シャープ処理フィルタは、ビデオコーダにおける演算リソースを節約するために回避されてよい。一方、シャープ処理フィルタは、補間品質の向上及びアーチファクトの減少が優先されるべき場合に適用されてよい。
【0029】
第1の態様に係るビデオコーダのさらなる実装形式において、制御ユニットは、残差ブロックを最小化するコスト関数に応じて、選択的回避及び選択的適用の少なくとも1つを制御するように適応される。当該残差ブロックは、現在のブロックと予測ブロックとの間の差であってよい。コスト関数は、例えば、レート歪み最適化に基づいてよい。
【0030】
これにより、シャープ処理フィルタを回避又は適用する可能性が、動き補償を向上させるためにさらに用いられてよい。インター予測ユニットによって出力された予測ブロック及びシャープ処理フィルタによって出力された予測ブロックからそれぞれ導出された、2つの残差ブロックは、コスト関数の観点から比較されてよい。残差ブロックを最小化した予測ブロックを選択し、かつ、シャープ処理フィルタを適宜適用又は回避することによって、データ量、及び例えば、エンコードされるべき変換係数の数が、減少可能となる。
【0031】
第1の態様に係るビデオコーダのさらなる実装形式において、ビデオコーダは、エンコード済みビデオビットストリームを生成するように適応されるエンコードユニットを含む。制御ユニットは、シャープ処理フィルタの選択的回避及び選択的適用の少なくとも1つを反映したシャープ処理フィルタ情報をエンコードユニットに送信するように適応される。エンコードユニットは、シャープ処理フィルタ情報を、エンコード済みビデオビットストリームに追加するように適応される。
【0032】
これにより、エンコード済みビデオビットストリームをデコードする場合、このシャープ処理フィルタ情報を取得すること、及びデコーダ側のシャープ処理フィルタを適宜適用又は回避することが可能となり、これにより、正確なデコードを保証する。
【0033】
第1の態様に係るビデオコーダのさらなる実装形式において、適応的パラメータ情報又はシャープ処理フィルタ情報は、各予測ブロックに対してブロックレベルで追加され、フレームの任意又は規則的領域に対してフレームレベル、GOP(ピクチャグループ)レベル、PPS(ピクチャパラメータセット)レベル、又はSPS(シーケンスパラメータセット)レベルで追加される。
【0034】
これにより、シャープ処理フィルタ情報を所望の粒度に設定することが可能となり、これにより、シグナリングが最適化可能となる。
【0035】
第1の態様に係るビデオコーダのさらなる実装形式において、適応的シャープ処理フィルタは、単一の適応的パラメータを含む。
【0036】
これにより、適応に必要とされ、デコーダに送信されるシグナリングオーバヘッドは、さらに減少可能となる。
【0037】
本発明の第2の態様は、動き補償に従って、後続のフレームのビデオストリームをエンコード済みビデオビットストリームへと予測的コーディングするための方法を提供する。方法は、ビデオストリームの少なくとも1つの参照フレームを格納する段階を含む。参照フレームは、ビデオストリームの現在のフレームと異なる。方法は、参照フレームの参照ブロックから、現在のフレームの現在のブロックの予測ブロックを生成する段階を含む。方法は、予測ブロックを適応的にフィルタリングする段階を含む。
【0038】
本発明の第2の態様に係る方法のさらなる特徴又は実装は、本発明の第1の態様に係るビデオコーダの機能、及びその異なる実装形式を実行してよい。
【0039】
本発明の第3の態様は、動き補償に従って、後続のフレームのビデオストリームを予測的コーディングすることによって取得される、エンコード済みビデオビットストリームをデコードするためのビデオデコーダを提供する。ビデオデコーダは、エンコード済みビデオビットストリームから取得される少なくとも1つの参照フレームを格納するように適応されるフレームバッファを含み、参照フレームは、エンコード済みビデオビットストリームの現在のフレームと異なる。ビデオデコーダは、参照フレームの参照ブロックから現在のフレームの現在のブロックの予測ブロックを生成するように適応されるインター予測ユニットを含む。ビデオデコーダは、予測ブロックを適応的にフィルタリングするように適応される適応的シャープ処理フィルタを含む。
【0040】
これにより、第1の態様に係るビデオコーダに関連して得られる利点は、第3の態様に係るビデオデコーダに関連しても与えられる。
【0041】
第3の態様に係るビデオデコーダの実装形式において、ビデオデコーダは、制御ユニットを含む。適応的シャープ処理フィルタは、少なくとも1つの適応的パラメータによって制御されるように構成される。制御ユニットは、適応的パラメータのパラメータ値を決定し、決定されたパラメータ値を適応的シャープ処理フィルタに供給するように構成される。
【0042】
これにより、シャープ処理フィルタは、少なくとも1つの適応的パラメータにより、有利に適応可能となる。
【0043】
第3の態様に係るビデオデコーダの実装形式において、制御ユニットは、エンコード済みビデオビットストリームから取得される適応的パラメータ情報に応じて、適応的パラメータのパラメータ値を決定するように構成される。
【0044】
これにより、適応的パラメータは、ビデオコーダによって生成される、エンコード済みビデオビットストリームから取得されてよい。従って、ビデオコーダ及びビデオデコーダの両方が、シャープ処理フィルタの同じ適応を実行すること、及びビデオデコーダによって取得されたビデオが、ビデオコーダによってエンコードされたビデオに対応することを保証することができる。
【0045】
第3の態様に係るビデオデコーダの実装形式において、ビデオデコーダは、適応的シャープ処理フィルタの選択的回避及び適応的シャープ処理フィルタの選択的適用の少なくとも1つを制御するように適応される制御ユニットを含む。
【0046】
これにより、シャープ処理フィルタユニットを利用する又はしないという決定は、具体的な各事例に適応されてよい。また、シャープ処理フィルタは、ビデオコーダ及びビデオデコーダにおける演算リソースを節約するために回避されてよい。一方、シャープ処理フィルタは、補間品質の向上及びアーチファクトの減少が優先されるべき場合に適用されてよい。
【0047】
第3の態様に係るビデオデコーダの実装形式において、制御ユニットは、エンコード済みビデオビットストリームから取得されるシャープ処理フィルタ情報に基づいて、選択的回避及び選択的適用の少なくとも1つを制御するように適応される。
【0048】
これにより、ビデオデコーダは、ビデオコーダ側におけるシャープ処理フィルタのオン又はオフのスイッチを反映したこのようなシャープ処理フィルタ情報を、エンコード済みビデオビットストリームに有利に追加し得るビデオコーダに適応されてよい。
【0049】
本発明の第1の態様に係るビデオコーダのさらなる特徴又は実装は、具体的には、シャープ処理フィルタ及びその構造に関し、本発明の第3の態様に係るビデオデコーダにも適用される。
【0050】
本発明の第4の態様は、動き補償に従って、後続のフレームのビデオストリームを予測的コーディングすることによって取得される、エンコード済みビデオビットストリームをデコードするための方法を提供する。方法は、エンコード済みビデオビットストリームから取得される少なくとも1つの参照フレームを格納する段階を含み、参照フレームは、エンコード済みビデオビットストリームの現在のフレームと異なる。方法は、参照フレームの参照ブロックから、現在のフレームの現在のブロックの予測ブロックを生成する段階を含む。方法は、予測ブロックを適応的にフィルタリングする段階を含む。
【0051】
本発明の第4の態様に係る方法のさらなる特徴又は実装は、本発明の第3の態様に係るビデオデコーダの機能、及びその異なる実装形式を実行してよい。
【0052】
本発明の第5の態様は、コンピュータプログラムがコンピューティングデバイス上で動作する場合に、このようなコーディング及び/又はデコード方法を実行するためのプログラムコードを有するコンピュータプログラムを提供する。
【0053】
本発明は、適応的シャープ処理フィルタを動き予測信号、すなわち、予測ブロックに適用することによる、動き補償の向上を提案する。リンギングアーチファクトを減少させ、動き予測ブロックにおけるエッジのシャープさを増加させることによって、動き補償を向上させることが提案される。動き補償向上のために、エンコーダ及びデコーダの両方に配置される予測フィルタとして、シャープ処理フィルタを適用することが提案される。非線形シャープ処理予測フィルタが、動き補償の向上のために用いられてよい。
【0054】
本願において説明される全てのデバイス、要素、ユニット及び手段は、ソフトウェアもしくはハードウェア要素又は任意の種類のこれらの組み合わせで実装されてよいことに留意されたい。本願において説明される様々なエンティティによって実行される全ての段階、及び様々なエンティティによって実行されるものとして説明される機能は、それぞれのエンティティが、それぞれの段階及び機能を実行するように適応又は構成されることを意味することが意図される。具体的な実施形態の以下の説明において、具体的な機能又は段階が、当該具体的な段階又は機能を実行するエンティティの具体的な詳細要素の説明に反映されていない不変のエンティティによって全て形成されている場合であっても、当業者にとっては、これらの方法及び機能が、それぞれのソフトウェアもしくはハードウェア要素、又は任意の種類のこれらの組み合わせで実装されてよいことが明らかなはずである。
【図面の簡単な説明】
【0055】
本発明の上述された態様及び実装形式が、添付図面に関連して、具体的な実施形態の以下の説明において、説明される。
図1】最新技術に係るビデオコーダを示す。
図2】本発明の実施形態に係るビデオコーダを示す。
図3】本発明の実施形態に係るビデオデコーダを示す。
図4】本発明に係るシャープ処理フィルタの実施形態を示す。
図5】本発明の実施形態に係るビデオコーディング方法を示す。
図6】本発明の実施形態に係るビデオデコード方法を示す。
図7】本発明の実施形態に係るシャープ処理の適応を示す。
図8a図7に示されるシャープ処理の適応の可能な実施形態を示す。
図8b図7に示されるシャープ処理の適応の可能な実施形態を示す。
図8c図7に示されるシャープ処理の適応の可能な実施形態を示す。
【発明を実施するための形態】
【0056】
図2は、本発明の実施形態に係るビデオコーダを示し、具体的には、動き補償に従って、後続のフレームのビデオストリームをエンコード済みビデオビットストリームへと予測的コーディングするためのビデオコーダ200を示す。
【0057】
ビデオコーダ200は、具体的には、フレームバッファ207、インター予測ユニット210、及びシャープ処理フィルタ211を含む。
【0058】
フレームバッファ207は、ビデオストリームの少なくとも1つの参照フレーム又はピクチャを格納するように適応される。参照フレームは、ビデオストリームの現在のフレームと異なる。具体的には、本発明の文脈において、現在のフレームは、現在エンコードされているビデオストリームのフレームであり、参照フレームは、既にエンコードされたビデオストリームのフレームである。以下、「フレーム」という特徴へのあらゆる参照は、「ピクチャ」という特徴への参照に置換されてよい。
【0059】
インター予測ユニット210は、参照フレームの参照ブロックから現在のフレームの現在のブロックの予測ブロックを生成するように適応される。参照フレームは、好ましくは、フレームバッファ207に格納される参照フレームであり、現在のブロックは、好ましくは、図2においてビデオブロックと称されるビデオコーダ200の入力に対応する。具体的には、現在のフレームは、インターコーディング技術を用いてエンコードされる、すなわち、現在のフレームは、現在のフレームとは別個の少なくとも1つの参照フレームから予測される。参照フレームは、前のフレーム、すなわち、後続のフレームのビデオストリーム内において、現在のフレームより前に位置するフレームであってよい。あるいは、前方予測が用いられる場合、参照フレームは、将来のフレーム、すなわち、現在のフレームより後に位置するフレームであってよい。複数の参照フレームの場合、少なくとも1つは、このような前のフレームであり、これらの少なくとも1つは、このような将来のフレームであってよい。参照フレームは、イントラコーディングされてよい、すなわち、さらなるフレームを一切用いることなく、かつ、他のフレームに一切依存することなくコーディングされてよいことにより、別個にデコードされてよく、ランダムなビデオアクセスへのエントリポイントとして機能してよい。
【0060】
具体的には、インター予測ユニット210は、動きベクトルを生成し、参照フレームの参照ブロックと現在のフレームの現在のブロックとの間の動きを推定することによって、動き推定を実行するように適応される。動き推定は、例えば、レート歪み最適化である特定のコスト関数に基づいて、参照フレームにおける最良の参照ブロックを指す動きベクトルを見出すために、エンコード中に実行される。動き推定に加えて、インター予測ユニット210は、動きベクトル及び参照ブロックに基づいて、現在のブロックに対して予測ブロックを生成することによって、動き補償を実行するようにさらに適応される。
【0061】
具体的には、動き予測は、動き推定ユニット及び動き補償ユニットを含む。動きベクトルは、動き推定ユニットを用いることによって生成される。参照ブロック及び現在のブロックは、好ましくは、参照フレーム及び現在のフレームのエリア又はサブエリアのそれぞれである。このようなブロックは、例えば、矩形形状のような規則的形状、又は不規則形状を有してよい。あるいは、ブロックは、フレームと同じサイズを有してよい。現在のブロック及び参照ブロックの両方は、同じサイズを有する。ブロックのサイズは、サイド情報又はシグナリングデータとしてデコーダに送信されるブロックモード情報により定義されてよい。ブロックは、フレームの一部、例えば、64x64ピクセルを含む、予め定義されたサイズのビデオシーケンスの基本的なコーディング構造であるコーディングユニットに対応してよい。
【0062】
予測ブロックは、参照ブロックを考慮して、現在のブロックに対して生成される。具体的には、複数の予測ブロックが、複数の参照ブロックを考慮して、現在のフレームの複数の現在のブロックに対して生成されてよい。これらの参照ブロックは、単一の参照フレームの一部であってよい、又は異なる参照フレームから選択されてよい。いくつかの予測ブロックが現在のフレームに対して生成されてよく、現在のフレームに対して生成された予測ブロックは、現在のフレームの予測フレームを取得するために組み合わせられてよい。
【0063】
シャープ処理フィルタ211は、予測ブロックを適応的にフィルタリングするように構成される適応的シャープ処理フィルタである。シャープ処理フィルタ211は、従って、インター予測ユニット210によって生成される予測ブロックに適用される。本発明によって提案されるシャープ処理フィルタ211は、インター予測ユニット210の後に追加されることにより、インター予測によって取得される、すなわち、動き推定及び動き補償を含む動き予測によって取得される予測ブロックを向上させる。シャープ処理フィルタ211は、従って、シャープ処理された予測ブロックを生成するように適応される。
【0064】
ビデオコーダ200は、有利には、制御ユニット212を含み、適応的シャープ処理フィルタ211は、少なくとも1つの適応的パラメータを用いる(すなわち、これによって制御されるように構成される)。制御ユニット212は、適応的パラメータのパラメータ値を決定し、決定されたパラメータ値を適応的シャープ処理フィルタ211に供給するように構成される。
【0065】
好ましくは、適応的シャープ処理フィルタ211は、1つの適応的パラメータのみを用いる。その値は、制御ユニット212によって設定される。
【0066】
制御ユニット212は、適応的パラメータに異なるパラメータ値を供給し、現在のブロックと予測ブロックとの間の差である残差ブロックの最小化に基づいて、又は、例えば、レート歪み最適化であるコスト基準に基づいて、異なるパラメータ値の1つを選択することによって、パラメータ値を決定するように構成されてよい。
【0067】
ビデオコーダ200は、有利には、エンコード済みビデオビットストリームを生成するように構成されるエンコードユニット203を含む。制御ユニット212は、決定されたパラメータ値についての適応的パラメータ情報を、エンコードユニット203に送信するように構成される。エンコードユニット203は、適応的パラメータ情報をエンコード済みビデオビットストリームに追加するように構成される。これは、制御ユニット212が一度、適応的パラメータを所与の値に設定する、又は複数の適応的パラメータをそれぞれの所与の値に設定すると、制御ユニット212が、(1つ又は複数の)所与の値をエンコードユニット203に送信し、エンコードユニット203が、(1つ又は複数の)所与の値をシグナリングデータとして、エンコード済みビデオビットストリームに追加することを意味する。
【0068】
図2のビデオコーダ200は、具体的には、ハイブリッドビデオコーディングをサポートするために、図1のビデオコーダ100と同様のさらなるユニットを含む。例えば、ビデオコーダ200は、当該技術分野において既に公知であるように、周波数ドメインへの変換を介して変換係数を生成し、係数を量子化し、例えば、シグナリングデータと共に、量子化された係数をエントロピコーディングするために、同様のユニットを含み、これらは、変換ユニット201、量子化ユニット202及びエントロピエンコーダ又はエントロピエンコードユニット203である。変換ユニット201の入力は、図2においてビデオブロックと称される現在のフレームの現在のブロックと、インター予測ユニット210、シャープ処理フィルタ211又はイントラ予測ユニット209によって出力された予測ブロックとの間の差として定義される残差ブロックである。エントロピエンコードユニット203は、エンコード済みビデオビットストリームを出力として生成するように適応される。
【0069】
ビデオコーダ200は、さらなる同様のユニットを含み、これらは、逆量子化ユニット204、逆変換ユニット205及びループフィルタリングユニット206である。量子化ユニット202によって生成された、量子化された変換係数は、変換ユニット201に供給される残差ブロックに対応する、再構築された残差ブロックを取得するために、逆量子化ユニット204及び逆変換ユニット205によってそれぞれ逆量子化及び逆変換される。再構築された残差ブロックは、次に、現在のブロックに対応する、再構築された現在のブロックを取得するために、前に残差ブロックを生成するために用いられた予測ブロックに追加される。この再構築された現在のブロックは、図2において再構築されたビデオブロックと称される。再構築された現在のブロックは、ブロック単位の処理及び量子化によって導入されたアーチファクトを平滑化するために、ループフィルタリングユニット206によって処理される。現在のフレームは、少なくとも1つの現在のブロック、又は有利には、複数の現在のブロックを含み、次に、(1つ又は複数の)再構築された現在のブロックから再構築されてよい。この再構築された現在のフレームは、ビデオストリームの他のフレームのインター予測のための参照フレームとして機能するために、フレームバッファ207に格納されてよい。
【0070】
モード選択ユニット208は、図1と同様に、ビデオコーダ200の入力ブロックがイントラ予測ユニット209又はインター予測ユニット210のいずれによって処理されるかを選択するために、ビデオコーダ200に設けられる。モード選択ユニット208は、フレームのブロックが、このフレームからの情報のみを用いてイントラコーディングされるか、又は、他のフレームからの、すなわち、フレームバッファ207に格納された少なくとも1つの参照フレームからの追加情報を用いてインターコーディングされるかを適宜選択する。
【0071】
イントラ予測ユニット209は、イントラ予測を担い、イントラ予測に基づいて予測ブロックを生成する。上述されたように、インター予測ユニット210は、インター予測を担い、参照フレームにおける同じサイズのブロックから予測される予測ブロックを生成することにより、時間冗長性を減少させる。
【0072】
具体的には、シャープ処理フィルタ211は、常に有効化されていてよい。これは、インター予測ユニット210によって生成された予測ブロックが、シャープ処理フィルタ211に常に供給され、当該残差ブロックが、現在のブロックとシャープ処理フィルタ211によって出力されたシャープ処理された予測ブロックとの差によって常に取得されることを意味する。
【0073】
あるいは、シャープ処理フィルタ211は、選択的に回避及び/又は選択的に適用されてよい。シャープ処理フィルタ211が適用される場合、シャープ処理フィルタ211は、シャープ処理された予測ブロックを生成し、残差ブロックは、現在のブロックとシャープ処理フィルタ211によって出力された、シャープ処理された予測ブロックとの差によって取得される。シャープ処理フィルタ211が回避される場合、残差ブロックは、現在のブロックと、インター予測ユニット210によって出力された予測ブロックとの差によって取得される。
【0074】
シャープ処理フィルタ211の選択的回避及び/又は適用は、制御ユニット212によって制御されてよい。制御ユニットは、例えば、残差ブロックを最小化するコスト関数に応じて、シャープ処理フィルタ211の適用及び/又は回避を制御するように適応されてよい。コスト関数は、例えば、レート歪み最適化に基づいてよい。コスト関数は、具体的には、シャープ処理フィルタ211によって出力された予測ブロックから取得される残差ブロック、及びインター予測ユニット210によって出力された予測ブロックから取得される残差ブロックに適用されてよい。コスト関数の結果に応じて、シャープ処理フィルタ211は、適用又は回避されてよい。
【0075】
シャープ処理フィルタ211を回避又は適用するという制御ユニット212の決定は、エンコードユニット又はエントロピエンコードユニット203によって生成される、エンコード済みビデオビットストリーム内のシグナリングデータとして送信されてよい。制御ユニット212は、シャープ処理フィルタ情報をエンコードユニット203に送信し、シャープ処理フィルタ情報は、シャープ処理フィルタ211の選択的回避及び選択的適用の少なくとも1つを反映する。エンコードユニット203は、次に、シャープ処理フィルタ情報をシグナリングデータとして、エンコード済みビデオビットストリームに追加する。
【0076】
シャープ処理フィルタ情報は、2つの値、例えば、0及び1を取り得るシャープ処理フィルタフラグの形であってよい。これらの2つの値の1つ、例えば、1は、シャープ処理フィルタが適用されることを定義し、他の値は、シャープ処理フィルタが回避されることを定義する。あるいは、シャープ処理フィルタ情報が存在しないことは、シャープ処理フィルタが回避される状態を反映していると解釈されてよく、シャープ処理フィルタ情報が存在することは、適用状態を反映してよい。
【0077】
適応的パラメータ情報及び/又はシャープ処理フィルタ情報の粒度は、変動してよい。シャープ処理フィルタ情報は、例えば、各予測ブロックに対してブロックレベルで追加されてよく、フレームの任意又は規則的領域に対してフレームレベル、GOP(ピクチャグループ)レベル、PPS(ピクチャパラメータセット)レベル、又はSPS(シーケンスパラメータセット)レベルで追加されてよい。シャープ処理フィルタ情報が各予測ブロックに対してブロックレベルで追加される場合、エンコードユニット203は、インター予測ユニット210によって生成された各予測ブロックに対して、シャープ処理フィルタ情報を追加してよい。エンコードユニット203は、次に、各予測ブロックに対して、対応する量子化された残差変換係数及び対応するシャープ処理フィルタ情報を、エンコード済みビデオビットストリームに追加する。
【0078】
図3は、本発明の実施形態に係るビデオデコーダ、具体的には、動き補償に従って、後続のフレームのビデオストリームを予測的コーディングすることによって取得される、エンコード済みビデオビットストリームをデコードするためのビデオデコーダ300を示す。
【0079】
ビデオデコーダ300は、具体的には、フレームバッファ307、インター予測ユニット310、及び適応的シャープ処理フィルタ311を含む。フレームバッファ307は、エンコード済みビデオビットストリームから取得される少なくとも1つの参照フレームを格納するように適応され、参照フレームは、エンコード済みビデオビットストリームの現在のフレームと異なる。インター予測ユニット310は、参照フレームの参照ブロックから現在のフレームの現在のブロックの予測ブロックを生成するように適応される。適応的シャープ処理フィルタ311は、予測ブロックを適応的にフィルタリングするように構成される。
【0080】
有利には、ビデオデコーダ300は、制御ユニット312を含み、適応的シャープ処理フィルタ311は、少なくとも1つの適応的パラメータを用いる。制御ユニット312は、適応的パラメータのパラメータ値を決定し、決定されたパラメータ値を適応的シャープ処理フィルタ311に供給するように構成される。
【0081】
制御ユニット312は、具体的には、エンコード済みビデオビットストリームから取得される適応的パラメータ情報に応じて、適応的パラメータのパラメータ値を決定するように構成されてよい。
【0082】
デコーダ300は、ビデオコーダ200によって生成される、エンコード済みビデオビットストリームをデコードするように適応され、デコーダ300及びコーダ200の両方は、同一の予測を生成する。フレームバッファ307、インター予測ユニット310、及びシャープ処理フィルタ311の機能は、図2のフレームバッファ207、インター予測ユニット210、及びシャープ処理フィルタ211の機能と同様である。
【0083】
コーダ側及びデコーダ側において予測が同一であることを保証するために、コーダ200のシャープ処理フィルタの(1つ又は複数の)適応的パラメータが、シグナリングデータとしてデコーダ300に渡されてよい。代替的な解決手段として、(1つ又は複数の)適応的パラメータは、対応するシグナリングデータを送信することなく、デコーダ側で導出されてよい。具体的には、(1つ又は複数の)適応的パラメータは、周辺エリアから、又は参照フレームから導出されてよい。例えば、(1つ又は複数の)パラメータは、現在のフレームにおける周辺ブロックから導出されてよく、例えば、現在のブロックに関連して、周辺ブロックの(1つ又は複数の)適応的パラメータと同じであってよい。
【0084】
具体的には、ビデオデコーダ300は、例えば、逆量子化ユニット304、逆変換ユニット305、ループフィルタリングユニット306及びイントラ予測ユニット309のような、ビデオコーダ200にも存在するさらなるユニットを含んでよく、これらは、ビデオコーダ200の逆量子化ユニット204、逆変換ユニット205、ループフィルタリングユニット206及びイントラ予測ユニット209にそれぞれ対応する。エントロピデコードユニット303は、受信されたエンコード済みビデオビットストリームをデコードし、量子化された残差変換係数、及び存在する場合にはシャープ処理フィルタ情報を適宜取得するように適応される。量子化された残差変換係数は、逆量子化ユニット304及び逆変換ユニット305に供給され、残差ブロックを生成する。残差ブロックは、予測ブロックに追加され、追加分は、デコード済みビデオを取得するために、ループフィルタリングユニット306に供給される。デコード済みビデオのフレームは、フレームバッファ307に格納され、インター予測のための参照フレームとして機能してよい。
【0085】
具体的には、シャープ処理フィルタ311は、常に有効化されていてよい。これは、シャープ処理フィルタによってフィルタリングされた予測ユニットが、デコード済みビデオを取得するために用いられることを意味する。
【0086】
あるいは、シャープ処理フィルタ311は、例えば、制御ユニット312によって、選択的に回避又は適用されてよい。デコードユニット303によってエンコード済みビデオビットストリームから取得されたシャープ処理フィルタ情報は、シャープ処理フィルタ情報に応じてシャープ処理フィルタ311の回避及び/又は適用を制御する制御ユニット312に供給されてよい。
【0087】
シャープ処理フィルタ情報は、シャープ処理フィルタ311の回避又は適用を反映し、好ましくは、ビデオコーダ200によってエンコード済みビデオビットストリームに追加されるシャープ処理フィルタ情報に対応する。例えば、ビデオコーダ200に関連して説明されたシャープ処理フィルタ情報の形式及び粒度に関する異なる態様が、ビデオデコーダ300に関連しても適用される。
【0088】
図4は、本発明に係る適応的シャープ処理フィルタ400の実施形態、具体的には、ビデオコーダ200の適応的シャープ処理フィルタ211の実施形態を示す。ビデオデコーダ300の適応的シャープ処理フィルタ311は、図4に示される適応的シャープ処理フィルタ211と僅かに異なっていてよく、その差が、以下、説明される。
【0089】
シャープ処理フィルタ400は、好ましくは、非線形フィルタである。線形フィルタの代わりに非線形シャープ処理フィルタを用いることは、動き補間フィルタ及び参照ブロック又はフレームの量子化によって生じるアーチファクトを除去するために好ましい。非線形フィルタを選択することは、シャープ処理フィルタ400の適応的パラメータの数を減少させることができる。具体的には、非線形フィルタは、1つの適応的パラメータのみを用いることにより、エンコード済みビデオビットストリームのシグナリングオーバヘッドを減少させることができる。本発明は、シャープ処理フィルタ400を制御するために1つより多くの適応的パラメータを用いることをさらに包含するが、1つの適応的パラメータのみを用いるシャープ処理フィルタは、特に有利な実施形態である。
【0090】
具体的には、シャープ処理フィルタ400は、エッジマップ算出ユニット401、402、ブラーフィルタ404、ハイパスフィルタ405、スケーリングユニット406及びワープユニット407を含む。
【0091】
エッジマップ算出ユニット401、402は、ソースブロックのエッジマップを生成するように適応される。ソースブロックは、参照ブロック又は予測ブロックである。ブラーフィルタ404は、ソースブロックのエッジマップをブラーするように適応される。ハイパスフィルタ405は、ブラーされたエッジマップをハイパスフィルタリングすることによって、ソースブロックの各位置に対して微分ベクトル(d2x,d2y)を生成するように適応される。スケーリングユニット406は、微分ベクトル(d2x,d2y)をシャープ処理強度係数kでスケーリングすることによって、変位ベクトル(wx,wy)を生成するように適応される。ワープユニット407は、変位ベクトル(wx,wy)に基づいて、予測ブロックをワープさせるように適応される。
【0092】
これにより、シャープ処理フィルタ400を制御する適応的パラメータは、シャープ処理強度係数kとなる。図4に示されるシャープ処理フィルタ400は、1つの適応的パラメータのみを伴う本発明の実施形態である。
【0093】
エッジマップ算出ユニット401、402は、ソースブロックの各位置に対して勾配ベクトル(dx,dy)を生成するように適応される勾配ベクトルユニット401、及びソースブロックのエッジマップを生成するために、各位置の勾配ベクトル(dx,dy)の長さを算出するように適応される勾配ベクトル長ユニット402を含んでよい。これにより、この構造は、ブラーフィルタ、ハイパスフィルタ及びスケーリングユニットによってさらに処理可能なエッジマップの生成が、ワープ変位ベクトルを生成することを可能とする。
【0094】
勾配ベクトルは、以下の数式に従って対応するプルウィットフィルタを適用することによって、第1の導関数をdx及びdyに対して別個に、すなわち、図4においてソースブロックと称されるソースブロックの水平及び鉛直方向の両方に対して別個に取ることによって取得されてよい。
【数1】
【0095】
エッジマップは、以下の数式に従って勾配ベクトルの長さを算出することによって、勾配ベクトル長ユニット402によって取得されてよい。
【数2】
【0096】
有利には、シャープ処理フィルタ400は、ソースブロックのエッジマップをクリップするように適応されるクリップユニット403を含む。クリップユニット403は、エッジマップ算出ユニット401、402とブラーフィルタ404との間に位置する。これにより、エッジマップを閾値でクリップすることは、ワープベクトルの極度に高い値及び低い値の処理を防止する点において、有利となる。
【0097】
クリップされたエッジマップをブラーする段階は、以下の通り定義可能なガウス型フィルタの形式で、ブラーフィルタ404によって取得されてよい。
【数3】
【0098】
ハイパスフィルタは、例えば、以下に従って、d2x及びd2yに対して別個に、第2の導関数を取得するために用いられる。
【数4】
【0099】
変位ベクトル(wx,wy)は、第2の微分ベクトル(d2x,d2y)を係数kでスケーリングすることによって取得される。係数kは、以下の式に従うシャープ処理強度とみなされてよい。
【数5】
【0100】
ワープユニット407は、分数ペル位置のサンプル値を取得するために、例えば、双線形補間フィルタである補間フィルタを含む。ワープユニット407は、スケーリングユニット406によって生成される変位ベクトルを用いる。これにより、ビデオコーダの総合的品質が向上し、同時に、所望の分数ペル位置において、参照フレーム/ブロックの補間を提供する。
【0101】
減算ユニット408は、ワープユニット407によって生成されたシャープ処理された予測ブロックと現在のブロックとの間の差を構築するように適応される。現在のブロックは、エンコードされるべきブロックに対応する。減算ユニット408は、実際に、残差ブロックを生成する。適応的シャープ処理フィルタ400、又は適応的シャープ処理フィルタ400を制御する制御ユニット211は、例えば、残差ブロックを最小化することによって、又は、例えば、レート歪みに基づくコスト基準によって、最適なシャープ処理強度kを見出すように適応される。
【0102】
ビデオコーダ200の適応的シャープ処理フィルタとビデオデコーダ300の適応的シャープ処理フィルタとの間の相違は、好ましくは、この減算ユニット408と、残差ブロックのこの最小化にある。ビデオデコーダ300において、適応的パラメータ、すなわち、係数kは、減算ユニット408及び残差ブロックの最小化により設定されない。代わりに、適応的パラメータは、ビデオデコーダ300において、好ましくは、係数kの値を反映したシグナリングデータに応じて設定される。シグナリングデータは、エンコード済みビデオビットストリームの一部であり、ビデオコーダ200によって設定される。
【0103】
シャープ処理フィルタ400は、ソースブロックから算出される変位ベクトルに基づくワープを含む。このソースブロックは、図4において、動き予測ブロックと称される。
【0104】
図4に示されない実施形態によれば、ソースブロックは、変位ベクトル(wx,wy)が参照ブロックから導出されるように、フレームバッファ207、307に格納される参照フレームの参照ブロックである。これにより、参照ブロックは、変位ベクトルを取得するためのソースブロックとして用いられる。これは、シャープ処理変位ベクトル又はワープ変位ベクトルとも称される。ワープは、次に、取得された変位ベクトルを用いて、予測ブロックに適用される。本実施形態は、エンコーダ側における演算リソースを節約する点で有利である。
【0105】
図4の代替的実施形態によれば、ソースブロックは、変位ベクトル(wx,wy)が予測ブロックから導出されるように、インター予測ユニット210、310によって生成される予測ブロックである。
【0106】
これにより、予測ブロックをソースブロックとして選択することは、予測ブロックのワープを実行するために適切な変位ベクトルの算出を可能とする。また、シャープ処理フィルタは、次に、予測ブロックに対して1つの入力のみを必要とし、参照ブロックに対する第2の入力は必要とされない。
【0107】
図5は、本発明の実施形態に係るビデオコーディング方法、具体的には、動き補償に従って、後続のフレームのビデオストリームをエンコード済みビデオビットストリームへと予測的コーディングするための方法500を示す。
【0108】
方法500は、ビデオストリームの少なくとも1つの参照フレームを格納する段階501を含む。参照フレームは、ビデオストリームの現在のフレームと異なる。
【0109】
方法500は、参照フレームの参照ブロックから、現在のフレームの現在のブロックの予測ブロックを生成する段階を含むインター予測段階502をさらに含む。
【0110】
方法500は、予測ブロックを適応的にフィルタリングする段階を含む適応的シャープ処理フィルタリング段階503をさらに含む。
【0111】
図6は、本発明の実施形態に係るビデオデコード方法、具体的には、動き補償に従って、後続のフレームのビデオストリームを予測的コーディングすることによって取得される、エンコード済みビデオビットストリームをデコードするための方法600を示す。
【0112】
方法600は、エンコード済みビデオビットストリームから取得される少なくとも1つの参照フレームを格納する段階601を含む。参照フレームは、エンコード済みビデオビットストリームの現在のフレームと異なる。
【0113】
方法600は、参照フレームの参照ブロックから、現在のフレームの現在のブロックの予測ブロックを生成する段階を含むインター予測段階602を含む。
【0114】
方法600は予測ブロックを適応的にフィルタリングする段階を含む適応的シャープ処理フィルタリング段階603を含む。
【0115】
ビデオコーダ200又はビデオデコーダ300に関連して説明されるさらなる態様及び特徴は、コーディング方法500及びデコード方法600にも適用される。
【0116】
図7は、本発明の実施形態に係るシャープ処理の適応を示す。図7に示されるシャープ処理適応プロセスは、ビデオコーダ側において実行される。
【0117】
シャープ処理フィルタの(1つ又は複数の)適応的パラメータ及びシャープ処理自体の必要性の推定、すなわち、適応的シャープ処理フィルタを適用又は回避することの決定は、動き推定手順と共に実行されてよい。図7は、動きベクトル候補の評価中に、(1つ又は複数の)適応的シャープ処理パラメータがどのように取得可能であるかを示す。以下の段階が、次に、実行されてよい。
【0118】
−分析されるべき動きベクトルを取る。
−従来の補間フィルタ709を適用することによって、動き補間ブロック708を取得する。
−シャープ処理フィルタの適応707を実行することにより、シャープ処理フィルタに(1つ又は複数の)最適な適応パラメータを取得する。
−前の段階で見出された(1つ又は複数の)最適なパラメータを伴うシャープ処理フィルタ706を適用し、シャープ処理された予測ブロック705を取得する。
−シャープ処理された予測ブロックがシャープ処理されない予測ブロックより良好であるか否かを決定又は評価704する。この決定/評価は、レート歪み最適化に基づき、シグナリングデータ又はサイド情報としてエンコード済みビデオビットストリームに追加されるシャープ処理フィルタ情報により、ビデオデコーダに送信される。このシャープ処理フィルタ情報は、図7において、シャープ処理オン/オフとして特定される。
【0119】
ビデオコーダ200は、シャープ処理された予測の適用を決定し、次に、シャープ処理フィルタの(1つ又は複数の)最適なパラメータの値を反映した適応的パラメータ情報も、シグナリングデータとして、エンコード済みビデオビットストリームに追加される。適応的パラメータ情報は、図7において、シャープ処理強度として特定される。
【0120】
図7に示されるシャープ処理の適応は、動き推定ループの異なる段階において、適用されてよい。図8aからcは、シャープ処理適応プロセスを動きベクトルサーチに統合するための3つの可能な実施形態を示す。
【0121】
図8aの実施形態において、シャープ処理の適応、すなわち、最適な係数kの発見が、可能な動きベクトル候補の各々に対して実行される。本実施形態は、サーチの複雑さという代償において、可能な最良の品質を提供する。
【0122】
適宜、図8aの動き推定800は、各動きベクトル候補801に対して、シャープ処理フィルタの適応803を含む。動きベクトル候補に対して、予測ブロックが取得802され、適応的シャープ処理が実行803され、シャープ処理フィルタが適用又は回避804されるべきかについての決定がなされる。この手順は、可能な動きベクトル候補の各々に対して反復される。
【0123】
図8cの実施形態において、シャープ処理の適応は、あるいは、1つの動きベクトルに対してのみ、すなわち、動き推定中に見出された最良の動きベクトルに対して実行される。本実施形態は、サーチの複雑さを低下させる点で有利である。一方、見出された、シャープ処理された予測ブロックは、可能な最良のものではないことがある。
【0124】
適宜、図8cの動き推定820は、1つのシャープ処理の適応段階825のみを含む。このシャープ処理の適応825に基づいて、適応的シャープ処理フィルタが適用又は回避826されるべきかが決定されてよい。シャープ処理の適応825より前に、整数動きベクトルサーチ822が、各動きベクトル候補821に対して実行され、分数動きベクトルサーチ824が、各分数位置823に対して実行される。
【0125】
図8bに示される実施形態は、図8a及び8cの実施形態の間で、バランスの良い解決手段である。シャープ処理の適応は、分数動きベクトルの改良中にのみ実行される。本実施形態において、整数動きベクトルサーチは、サーチの複雑さを低下させるために、シャープ処理の適応なく実行される。
【0126】
適宜、図8bの動き推定810は、各動きベクトル候補811に対して実行される整数動きベクトルサーチ812を含む。一度、整数動きベクトルサーチが実行812されると、取得された予測ブロックは、各分数位置813に対して補間814され、シャープ処理の適応815は、各予測ブロックに対して実行され、各予測ブロックに対して、シャープ処理フィルタが適用又は回避されるべきかが決定816される。
【0127】
本発明が、例としての様々な実施形態及び実装と併せて説明された。しかしながら、当業者及び特許請求の範囲に記載の発明を実施する者であれば、図面、この開示及び独立請求項の検討から、他のバリエーションを理解及び実現することができる。特許請求の範囲及び本明細書において、「備え」という用語は、他の要素又は段階を排除するものではなく、不定冠詞「a」又は「an」は、複数形を排除するものではない。単一の要素又は他のユニットが、特許請求の範囲に列挙された、いくつかのエンティティ又は項目の機能を実現することができる。特定の手段が相互に異なる独立請求項に列挙されているという事実のみをもって、これらの手段の組み合わせが有利な実装において用いることができないことが示されるものではない。
図1
図2
図3
図4
図5
図6
図7
図8a
図8b
図8c