(57)【要約】  ビデオをコーディングするためのシステムおよび方法であって、デブロッキングアーチファクトが、コーディングユニットに関連付けられた画素強度に少なくとも部分的に基づく修正されたフィルタリングを使用することによって減少し、その結果、フィルタリングレベルが、画素強度が増加するにつれて増加する、ビデオをコーディングするためのシステムおよび方法。いくつかの実施形態では、デブロッキングフィルタパラメータに関連付けられたパラメータのオフセット値の値またはオフセット値の指標は、強度値に少なくとも部分的に基づくフィルタリングレベルに関連付けられ得る。
2021520104.tif 000002
【特許請求の範囲】
【請求項１】
ビデオをエンコードする方法であって、
コーディングユニットを決定することと、
前記コーディングユニットの境界に関連付けられた画素の強度情報を決定することと、
エンコードする前に、前記コーディングユニットに関連付けられた強度情報に少なくとも部分的に基づいて、前記コーディングユニットにデブロッキングフィルタリングを適用することと、
伝送用に前記コーディングユニットをエンコードすることと、を含む、ビデオをエンコードする方法。
【請求項２】
より強いデブロッキングフィルタリングが、閾値の値よりも大きい値を有する強度情報に関連付けられたコーディングユニットに適用される、請求項１に記載のビデオをエンコードする方法。
【請求項３】
前記閾値の値が、所定の値である、請求項２に記載のビデオをエンコードする方法。
【請求項４】
前記コーディングユニットに近接した隣接するコーディングユニットを識別することと、
前記隣接するコーディングユニットの境界に関連付けられた画素の強度情報を決定することと、
前記コーディングユニットの境界に関連付けられた画素の前記強度情報と、前記隣接するコーディングユニットに関連付けられた画素の前記強度情報とを比較することと、をさらに含み、前記フィルタリングが、前記コーディングユニットの境界に関連付けられた画素の前記強度情報と、前記隣接するコーディングユニットに関連付けられた画素の前記強度情報との前記比較に少なくとも部分的に基づく、請求項１に記載のビデオをエンコードする方法。
【請求項５】
より強いデブロッキングフィルタリングが、閾値の値よりも大きい値を有する強度情報に関連付けられたコーディングユニットに適用される、請求項４に記載のビデオをエンコードする方法。
【請求項６】
前記閾値の値が、所定の値である、請求項５に記載のビデオをエンコードする方法。
【請求項７】
ビデオをデコードする方法であって、
エンコードされたビデオのビットストリームを受信することと、
前記ビットストリームをデコードすることと、
コーディングユニットを決定することと、
前記コーディングユニットの境界に関連付けられた画素の強度情報を決定することと、
エンコードする前に、前記コーディングユニットに関連付けられた強度情報に少なくとも部分的に基づいて、前記コーディングユニットにデブロッキングフィルタリングを適用することと、
伝送用に前記コーディングユニットをエンコードすることと、を含む、ビデオをデコードする方法。
【請求項８】
より強いデブロッキングフィルタリングが、閾値の値よりも大きい値を有する強度情報に関連付けられたコーディングユニットに適用される、請求項７に記載のビデオをデコードする方法。
【請求項９】
前記閾値の値が、所定の値である、請求項８に記載のビデオをデコードする方法。
【請求項１０】
前記コーディングユニットに近接した隣接するコーディングユニットを識別することと、
前記隣接するコーディングユニットの境界に関連付けられた画素の強度情報を決定することと、
前記コーディングユニットの境界に関連付けられた画素の前記強度情報と、前記隣接するコーディングユニットに関連付けられた画素の前記強度情報とを比較することと、をさらに含み、前記フィルタリングが、前記コーディングユニットの境界に関連付けられた画素の前記強度情報と、前記隣接するコーディングユニットに関連付けられた画素の前記強度情報との前記比較に少なくとも部分的に基づく、請求項７に記載のビデオをデコードする方法。
【請求項１１】
より強いデブロッキングフィルタリングが、閾値の値よりも大きい値を有する強度情報に関連付けられたコーディングユニットに適用される、請求項１０に記載のビデオをデコードする方法。
【請求項１２】
前記閾値の値が、所定の値である、請求項１１に記載のビデオをデコードする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオコーディングの分野、特にＨＤＲコンテンツを効率的かつ効果的にデブロッキングおよびフィルタリングするためのシステムおよび方法に関する。
【背景技術】
【０００２】
本出願は、米国特許法§１１９（ｅ）に基づき、２０１８年３月２９日付けで提出された、先の出願をなす米国仮出願番号第６２／６５０，２５２号の優先権を主張するものであり、この出願の全体が参照によって本明細書に援用される。
【０００３】
進化するビデオコーディング規格の技術的改良は、コーディング効率の向上の傾向を示しており、これにより、より高いビットレート、より高い解像度、およびより良好なビデオ品質が可能とされている。共同ビデオ調査チーム（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｔｅａｍ）は、ＪＶＥＴと称される新たなビデオコーディング方式を開発し、Ｖｅｒｓａｔｉｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＶＶＣ）と称されるより新たなビデオコーディング方式を開発中であり、ここで、２０１８年１０月１日付けで刊行されたＪＶＥＴによるＶｅｒｓａｔｉｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（Ｄｒａｆｔ２）と題する規格のドラフト２におけるＶＶＣ第７版の完全な内容は、参照により本明細書に援用される。ＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）などの他のビデオコーディング方式と同様に、ＪＶＥＴおよびＶＶＣの両方は、ブロックベースのハイブリッド型空間的時間的予測コーディング方式である。しかしながら、ＨＥＶＣと比較して、ＪＶＥＴおよびＶＶＣは、ビットストリーム構造、構文、制約、およびデコードされたピクチャの生成のためのマッピングに対する多くの変更を含む。ＪＶＥＴは、Ｊｏｉｎｔ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｍｏｄｅｌ（ＪＥＭ）のエンコーダおよびデコーダに実装されたが、ＶＶＣは、２０２０年初頭までは実装されないと予想されている。
【０００４】
現在のビデオコーディング方式は、画像強度を考慮に入れずに、デブロッキングおよびフィルタリングを実装し、結果として、すべてのコンテンツにわたって均一な方法でコンテンツのフィルタリングを実装する。しかしながら、データは、コンテンツの強度が、表示の問題を減少させるために望ましいか、または必要なフィルタリングの程度もしくはレベルに影響を与え得ることを明らかにする。したがって、必要なものは、コーディングユニットの画素強度に少なくとも部分的に基づくデブロッキングのシステムおよび方法である。
【図面の簡単な説明】
【０００５】
【図１】フレームを、複数のコーディングツリーユニット（ＣＴＵ）に配分することを示す。
【図２ａ】ＣＴＵを、コーディングユニット（ＣＵ）へと例示的に区分することを示す。
【図２ｂ】ＣＴＵを、コーディングユニット（ＣＵ）へと例示的に区分することを示す。
【図２ｃ】ＣＴＵを、コーディングユニット（ＣＵ）へと例示的に区分することを示す。
【図３】図２のＣＵ区分に関しての四分木および二分木（ＱＴＢＴ）表現を示す。
【図４】ＪＶＥＴまたはＶＶＣエンコーダにおけるＣＵコーディングに関する簡略化されたブロック図を示す。
【図５】ＶＶＣのＪＶＥＴにおける輝度成分に関する可能なイントラ予測モードを示す。
【図６】ＶＶＣデコーダのＪＶＥＴにおけるＣＵコーディングに関する簡略化されたブロック図を示す。
【図７】ＨＤＲエンコーダ／デコーダシステムのブロック図を示す。
【図８】正規化されたＰＱ対正規化された強度曲線の一実施形態を示す。
【図９】ＪＮＤ対正規化された強度曲線の一実施形態を示す。
【図１０】強度に少なくとも部分的に基づく、エンコードシステムのブロック図の実施形態を示す。
【図１１】強度に少なくとも部分的に基づく、デコードシステムのブロック図の一実施形態を示す。
【図１２ａ】図１０および図１１において説明され、示されているシステムをグラフィカルに表す一連の例示的なβ対ＱＰの曲線およびｔｃ対ＱＰの曲線を示す。
【図１２ｂ】図１０および図１１において説明され、示されているシステムをグラフィカルに表す一連の例示的なβ対ＱＰの曲線およびｔｃ対ＱＰの曲線を示す。
【図１２ｃ】図１０および図１１において説明され、示されているシステムをグラフィカルに表す一連の例示的なβ対ＱＰの曲線およびｔｃ対ＱＰの曲線を示す。
【図１３】テンプレートマッチングのための可変テンプレートサイズを提供するように適合して構成されたコンピュータシステムの一実施形態を示す。
【図１４】テンプレートマッチングのための可変テンプレートサイズを提供するように適合して構成されたビデオエンコーダ／デコーダの一実施形態を示す。
【発明を実施するための形態】
【０００６】
１つ以上のコンピュータのシステムは、動作時にはシステムに行為を実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせが、システムにインストールされていることにより、特定の操作または行為を実行するように構成することができる。１つ以上のコンピュータプログラムは、データ処理装置によって実行されたときには装置に行為を実行させる命令を含むことにより、特定の操作または行為を実行するように構成することができる。かかる概括的な態様は、コーディングユニットを決定することと、上記コーディングユニットの境界に関連付けられた画素の強度情報を決定することと、エンコードする前に、上記コーディングユニットに関連付けられた強度情報に少なくとも部分的に基づいて、上記コーディングユニットにデブロッキングフィルタリングを適用することと、伝送用に上記コーディングユニットをエンコードすることと、を含む。この態様の他の実施形態は、対応するコンピュータシステム、装置、および各々が方法の行為を実行するように構成された、１つ以上のコンピュータストレージデバイスに記録されたコンピュータプログラムを含む。
【０００７】
実装例はまた、以下の特徴のうちの１つ以上を含み得る。ビデオをエンコードする方法であって、より強いデブロッキングフィルタリングが、閾値の値よりも大きい値を有する強度情報に関連付けられたコーディングユニットに適用される、ビデオをエンコードする方法。ビデオをエンコードする方法であって、上記閾値の値が、所定の値である、ビデオをエンコードする方法。ビデオをデコードする方法であって、上記コーディングユニットに近接した隣接するコーディングユニットを識別することと、上記隣接するコーディングユニットの境界に関連付けられた画素の強度情報を決定することと、上記コーディングユニットの境界に関連付けられた画素の上記強度情報と、上記隣接するコーディングユニットに関連付けられた画素の上記強度情報とを比較することと、をさらに含み、上記フィルタリングが、上記コーディングユニットの境界に関連付けられた画素の上記強度情報と、上記隣接するコーディングユニットに関連付けられた画素の上記強度情報との上記比較に少なくとも部分的に基づく、ビデオをデコードする方法。ビデオをエンコードする方法であって、より強いデブロッキングフィルタリングが、閾値の値よりも大きい値を有する強度情報に関連付けられたコーディングユニットに適用される、ビデオをエンコードする方法。ビデオをエンコードする方法であって、上記閾値の値が、所定の値である、ビデオをエンコードする方法。記載される技術の実装例としては、コンピュータアクセス可能な媒体についての、ハードウェア、方法もしくはプロセス、またはコンピュータソフトウェアを挙げることができる。
【０００８】
概括的な態様の１つは、ビデオをデコードする方法であって、エンコードされたビデオのビットストリームを受信することと、上記ビットストリームをデコードすることと、コーディングユニットを決定することと、上記コーディングユニットの境界に関連付けられた画素の強度情報を決定することと、エンコードする前に、上記コーディングユニットに関連付けられた強度情報に少なくとも部分的に基づいて、上記コーディングユニットにデブロッキングフィルタリングを適用することと、伝送用に上記コーディングユニットをエンコードすることと、を含み得る。この態様の他の実施形態は、対応するコンピュータシステム、装置、および各々が方法の行為を実行するように構成された、１つ以上のコンピュータストレージデバイスに記録されたコンピュータプログラムを含む。
【０００９】
実装例はまた、デコードプロセスに対して同じまたは類似の特徴を含み得る。さらに、記載される技術の実装例としては、コンピュータアクセス可能な媒体についての、ハードウェア、方法もしくはプロセス、またはコンピュータソフトウェアを挙げることができる。
【００１０】
本発明のさらなる詳細は、添付図面を活用して説明する。
図１は、フレームを、複数のコーディングツリーユニット（ＣＴＵ）１００に配分することを示す。フレームは、ビデオシーケンス内の画像とすることができる。フレームは、マトリクス、あるいは一組のマトリクスを含むことができ、画素値は、画像内の強度測定値を表す。したがって、一組のこれらのマトリクスは、ビデオシーケンスを生成することができる。画素値は、画素を３つのチャネルに配分したフルカラービデオコーディングにおいて、色と輝度とを表すように規定することができる。例えば、ＹＣｂＣｒ色空間においては、画素は、画像のグレーレベルの強度を表す輝度値Ｙと、グレーから青および赤へと色がどの程度相違しているかを表す２つの色差値ＣｂおよびＣｒと、を有することができる。他の実施形態においては、画素値は、異なる色空間または色モデルにおける値によって表すことができる。ビデオの解像度は、フレーム内の画素数を決定することができる。より高い解像度は、画素がより多いこと、および、画像の精細度がより良好であることを意味し得るが、帯域幅、ストレージ、および伝送要件も、より高いものとなり得る。
【００１１】
ビデオシーケンスのフレームは、ＪＶＥＴを使用して、エンコードおよびデコードすることができる。ＪＶＥＴは、共同ビデオ調査チームが開発しているビデオコーディング方式である。ＪＶＥＴのバージョンは、ＪＥＭ（Ｊｏｉｎｔ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｍｏｄｅｌ）のエンコーダおよびデコーダに実装されている。ＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）などの他のビデオコーディング方式と同様に、ＪＶＥＴは、ブロックベースのハイブリッド型空間的時間的予測コーディング方式である。ＪＶＥＴを使用したコーディング時には、フレームは、図１に示すように、最初に、ＣＴＵ１００と称される正方形のブロックに配分される。例えば、ＣＴＵ１００は、１２８×１２８画素のブロックとすることができる。
【００１２】
図２ａは、ＣＴＵ１００を、ＣＵ１０２へと例示的に区分することを示す。フレーム内の各ＣＴＵ１００は、１つ以上のＣＵ（コーディングユニット）１０２へと区分することができる。ＣＵ１０２は、以下において説明するように、予測および変換のために使用することができる。ＨＥＶＣとは異なり、ＪＶＥＴにおいては、ＣＵ１０２は、長方形または正方形とすることができ、予測ユニットまたは変換ユニットへとさらに区分することなく、コード化することができる。ＣＵ１０２は、それらのルートＣＴＵ１００と同じ大きさのものとすることができるか、あるいは、４×４ブロックといったように、ルートＣＴＵ１００よりも小さく細分化したものとすることができる。
【００１３】
ＪＶＥＴにおいては、ＣＴＵ１００を、四分木および二分木（ＱＴＢＴ）方式に従ってＣＵ１０２へと区分することができ、ＣＴＵ１００は、四分木に従って再帰的に正方形ブロックへと分割することができ、その後、それらの正方形ブロックは、二分木に従って水平方向に、または鉛直方向に再帰的に分割することができる。ＣＴＵサイズ、四分木リーフノードおよび二分木リーフノードに関する最小サイズ、二分木ルートノードに関する最大サイズ、および二分木に関する最大深度など、ＱＴＢＴに従って分割を制御するように、パラメータを設定することができる。ＶＶＣにおいては、ＣＴＵ１００は、三値分割を利用することによっても、ＣＵへと区分することができる。
非限定的な例として、図２ａは、ＣＵ１０２へと区分されたＣＴＵ１００を示しており、実線は、四分木分割を示し、破線は、二分木分割を示している。図示のように、二本木分割は、水平方向分割および鉛直方向分割を可能とし、これにより、ＣＴＵの構造およびＣＵへの細分化を規定することができる。図２ｂおよび図２ｃは、ＣＵの三分割という、代替的な非限定的な例を示しており、この場合、ＣＵの細分化は均等なものではない。
【００１４】
図３は、図２の区分に関するＱＴＢＴ表現を示す。四分木ルートノードは、ＣＴＵ１００を表し、四分木部分内の各子ノードは、親正方形ブロックから分割された４つの正方形ブロックのうちの１つを表している。四分木リーフノードによって表された正方形ブロックは、その後、二分木を使用して、ゼロ回以上にわたって配分することができ、四分木リーフノードは、二分木のルートノードである。二本木部分の各レベルにおいては、ブロックは、鉛直方向または水平方向のいずれかに配分することができる。「０」に設定されたフラグは、ブロックが水平方向に分割されることを示し、「１」に設定されたフラグは、ブロックが鉛直方向に分割されることを示す。
【００１５】
四分木分割および二分木分割の後に、ＱＴＢＴのリーフノードによって表されるブロックは、インター予測またはイントラ予測を使用したコーディングなど、コード化されるべき最終的なＣＵ１０２を表す。インター予測によってコード化されたスライスまたはフルフレームの場合には、異なる区分構造を、輝度成分および色差成分に関して使用することができる。例えば、インタースライスの場合には、ＣＵ１０２は、１つの輝度ＣＢおよび２つの色差ＣＢなどの、異なる色成分のためのコーディングブロック（ＣＢ）を有することができる。イントラ予測によってコード化されたスライスまたはフルフレームの場合には、区分構造は、輝度成分と色差成分とに関して同じものとすることができる。
【００１６】
図４は、ＪＶＥＴエンコーダにおけるＣＵコーディングに関する簡略化されたブロック図を示す。ビデオコーディングの主要なステージは、上述したようなＣＵ１０２を識別するための区分と、それに続く４０４または４０６における予測を使用したＣＵ１０２のエンコードと、４０８における残差ＣＵ４１０の生成と、４１２における変換と、４１６における量子化と、４２０におけるエントロピーコーディングと、を含む。図４に示すエンコーダおよびエンコードプロセスは、また、以下においてより詳細に説明するデコードプロセスを含む。
【００１７】
現在のＣＵ１０２が与えられると、エンコーダは、４０４におけるイントラ予測を使用して空間的に、または４０６におけるインター予測を使用して時間的に、のいずれかで、予測ＣＵ４０２を取得することができる。予測コーディングの基本的な考え方は、元の信号と元の信号に対する予測との間の差分信号または残差信号を送信することである。受信側においては、以下において説明するように、残差と予測とを加算することによって、元の信号を再構成することができる。差分信号が元の信号よりも相関が小さいため、送信のために必要なビットは少なくなる。
【００１８】
ピクチャ全体またはピクチャの一部など、イントラ予測されたＣＵによって全体的にコード化されたスライスは、他のスライスを参照することなくデコードされ得るＩスライスとすることができ、そのため、デコードを開始し得る可能ポイントとすることができる。少なくともいくつかのインター予測されたＣＵによってコード化されたスライスは、１つ以上の参照ピクチャに基づいてデコードされ得る予測（Ｐ）スライスまたは双予測（Ｂ）スライスとすることができる。Ｐスライスは、以前にコード化されたスライスを使用したイントラ予測およびインター予測を使用することができる。例えば、Ｐスライスは、インター予測を使用することによって、Ｉスライスよりもさらに圧縮し得るが、それらをコード化するためには、以前にコード化されたスライスのコーディングを必要とする。Ｂスライスは、２つの異なるフレームからの補間予測を使用したイントラ予測またはインター予測を使用して、そのコーディングのために、以前のスライスおよび／または後続のスライスからのデータを使用することができ、これにより、動き推定プロセスの精度が向上する。いくつかの場合においては、ＰスライスおよびＢスライスは、同じスライスの他の部分からのデータが使用されているブロック内コピーを使用して、一緒にあるいは交互的に、エンコードすることができる。
【００１９】
以下において説明するように、イントラ予測またはインター予測は、隣接するＣＵ１０２または参照ピクチャ内のＣＵ１０２などの以前にコード化されたＣＵ１０２からの再構成されたＣＵ４３４に基づいて、実行することができる。
【００２０】
ＣＵ１０２が４０４においてイントラ予測を使用して空間的にコード化されるときには、ピクチャ内の隣接するＣＵ１０２からのサンプルに基づいてＣＵ１０２の画素値を最良に予測するイントラ予測モードを見出すことができる。
【００２１】
ＣＵの輝度成分をコーディングするときには、エンコーダは、候補となるイントラ予測モードのリストを生成することができる。ＨＥＶＣは、輝度成分に関して３５個の可能なイントラ予測モードを有していたが、ＪＶＥＴにおいては、輝度成分に関して６７個の可能なイントラ予測モードがあり、ＶＶＣにおいては、８５個の予測モードがある。これらは、隣接画素から生成された値からなる三次元平面を使用する平面モードと、隣接画素から平均化された値を使用するＤＣモードと、図５に示すような、実線で示す方向に沿って隣接画素からコピーされた値を使用する６５個の指向性モードと、非正方形ブロックで使用され得る１８個の広角予測モードと、を含む。
【００２２】
ＣＵの輝度成分に関する候補イントラ予測モードのリストを生成するときには、リスト上の候補モードの数は、ＣＵのサイズに依存することができる。候補リストは、最も低いＳＡＴＤ（絶対変換差の合計）コストを有したＨＥＶＣの３５個のモードからなる部分集合と、ＨＥＶＣモードから見出された候補に隣接したＪＶＥＴに関して追加された新たな指向性モードと、以前にコード化された隣接ブロックに関して使用されたイントラ予測モードに基づいてならびにデフォルトモードのリストに基づいて識別された、ＣＵ１０２に関しての一組をなす６個の最も可能性の高いモード（ＭＰＭ）と、を含むことができる。
【００２３】
ＣＵの色差成分をコーディングするときにもまた、候補イントラ予測モードのリストを生成することができる。候補モードのリストは、輝度サンプルからの交差成分線形モデル投影を使用して生成されたモードと、色差ブロックの特定の配列された位置における輝度ＣＢに関して見出されたイントラ予測モードと、隣接ブロックに関して以前に見出された色差予測モードと、を含むことができる。エンコーダは、最も小さなレート歪みコストを有したリスト上において候補モードを見出し、ＣＵの輝度成分および色差成分をコーディングするときにこれらのイントラ予測モードを使用することができる。構文は、各ＣＵ１０２をコード化するために使用されたイントラ予測モードを示すビットストリーム内においてコード化することができる。
【００２４】
ＣＵ１０２に関する最良のイントラ予測モードが選択された後に、エンコーダは、それらのモードを使用して予測ＣＵ４０２を生成することができる。選択したモードが指向性モードであるときには、４タップフィルタを使用することにより、指向性の精度を向上させることができる。予測ブロックの上側または左側における列または行は、２タップフィルタまたは３タップフィルタなどの境界予測フィルタを使用して調整することができる。
【００２５】
予測ＣＵ４０２は、隣接するブロックのフィルタリング済みサンプルに基づいて生成された予測ＣＵ４０２を、隣接するブロックの未フィルタリングサンプルを使用して調整する位置依存性イントラ予測組み合わせ（ＰＤＰＣ）プロセスによって、あるいは参照サンプルを処理するための３タップまたは５タップのローパスフィルタを使用した適応型参照サンプル平滑化によって、さらに平滑化することができる。
【００２６】
ＣＵ１０２が４０６においてインター予測を使用して時間的にコード化されるときには、ＣＵ１０２の画素値を最良に予測する参照ピクチャ内のサンプルを指す一組の動きベクトル（ＭＶ）を見出すことができる。インター予測は、スライス内の画素ブロックの変位を表すことにより、スライス間の時間的冗長性を利用する。変位は、動き補償と称されるプロセスを通じて、以前のスライスまたは後続のスライスの画素値に従って決定される。特定の参照ピクチャに対しての画素変位を示す動きベクトルおよび関連する参照インデックスは、元の画素と動き補償された画素との間の残差とともに、ビットストリーム内においてデコーダに対して提供することができる。デコーダは、残差と、通知された動きベクトルと、参照インデックスと、を使用することにより、再構成されたスライス内において画素ブロックを再構成することができる。
【００２７】
ＪＶＥＴにおいては、動きベクトルの精度は、１／１６画素で格納することができ、動きベクトルとＣＵの予測動きベクトルとの間の差は、４分の１画素解像度または整数画素解像度のいずれかでコード化することができる。
【００２８】
ＪＶＥＴにおいては、高度な時間的動きベクトル予測（ＡＴＭＶＰ）、空間的時間的動きベクトル予測（ＳＴＭＶＰ）、アフィン動き補償予測、パターン一致動きベクトル導出（ＰＭＭＶＤ）、および／または、双方向オプティカルフロー（ＢＩＯ）などの技術を使用して、ＣＵ１０２内における複数のサブＣＵに関する動きベクトルを見出すことができる。
【００２９】
ＡＴＭＶＰを使用して、エンコーダは、参照ピクチャ内の対応するブロックを指すＣＵ１０２に関する時間的ベクトルを見出すことができる。時間的ベクトルは、以前にコード化された隣接するＣＵ１０２に関して見出された動きベクトルおよび参照ピクチャに基づいて見出すことができる。ＣＵ１０２全体の時間的ベクトルによって指された参照ブロックを使用して、ＣＵ１０２内における各サブＣＵに関して動きベクトルを見出すことができる。
【００３０】
ＳＴＭＶＰは、インター予測を使用して以前にコード化された隣接するブロックに関して見出された動きベクトルを時間的ベクトルとともにスケーリングして平均化することにより、サブＣＵの動きベクトルを見出すことができる。
【００３１】
アフィン動き補償予測を使用することにより、ブロックの上側コーナーに関して見出された２つの制御動きベクトルに基づいて、ブロック内の各サブＣＵに関する動きベクトルのフィールドを予測することができる。例えば、サブＣＵに関する動きベクトルは、ＣＵ１０２内における各４×４ブロックに関して見出された上側コーナー動きベクトルに基づいて、導出することができる。
【００３２】
ＰＭＭＶＤは、バイラテラルマッチングまたはテンプレートマッチングを使用して、現在のＣＵ１０２の初期的動きベクトルを見出すことができる。バイラテラルマッチングにおいては、現在のＣＵ１０２と、動きの軌跡に沿った２つの異なる参照ピクチャ内の参照ブロックと、を確認することができ、一方、テンプレートマッチングにおいては、現在のＣＵ１０２内における対応するブロックと、テンプレートによって識別された参照ピクチャと、を確認することができる。その後、ＣＵ１０２に関して見出された初期的動きベクトルは、各サブＣＵに関して個別に精緻化することができる。
【００３３】
ＢＩＯは、以前の参照ピクチャと後続の参照ピクチャとに基づいて双方向性予測によってインター予測を実行するときに使用することができ、２つの参照ピクチャ間の差の勾配に基づいてサブＣＵに関する動きベクトルを見出すことができる。
【００３４】
いくつかの場合、ＣＵレベルにおいて局所的な照明補償（ＬＩＣ）を使用することができ、これにより、現在のＣＵ１０２に隣接したサンプルに基づいて、また候補動きベクトルによって識別された参照ブロックに隣接した対応サンプルに基づいて、スケーリング因子パラメータとオフセットパラメータとの値を見出すことができる。ＪＶＥＴにおいては、ＬＩＣパラメータを変更し、ＣＵレベルにおいて通知することができる。
【００３５】
上記の方法のいくつかに関しては、ＣＵのサブＣＵの各々に関して見出された動きベクトルを、ＣＵレベルでデコーダに対して通知することができる。ＰＭＭＶＤおよびＢＩＯなどの他の方法に関しては、オーバーヘッドを節約するためにビットストリーム内において動き情報は通知されず、デコーダは、同じプロセスを通して動きベクトルを導出することができる。
【００３６】
ＣＵ１０２に関する動きベクトルが見出された後には、エンコーダは、それらの動きベクトルを使用して、予測ＣＵ４０２を生成することができる。いくつかの場合においては、個々のサブＣＵに関する動きベクトルが見出されたときに、それらの動きベクトルを、１つ以上の隣接サブＣＵに関して以前に見出された動きベクトルと組み合わせることによって予測ＣＵ４０２を生成する際に、オーバーラップブロック動き補償（ＯＢＭＣ）を使用することができる。
【００３７】
双方向性予測を使用する場合には、ＪＶＥＴは、デコーダ側動きベクトル精緻化（ＤＭＶＲ）を使用することにより、動きベクトルを見出すことができる。ＤＭＶＲにより、双方向性テンプレートマッチングプロセスを使用して、双方向性予測に関して見出された２つの動きベクトルに基づいて、動きベクトルを見出すことができる。ＤＭＶＲにおいては、２つの動きベクトルのそれぞれによって生成された予測ＣＵ４０２の重み付き組み合わせを見出すことができ、２つの動きベクトルを、組み合わされた予測ＣＵ４０２を最適に指す新たな動きベクトルへと置き換えることにより、精緻化することができる。２つの精緻化された動きベクトルを使用することにより、最終的な予測ＣＵ４０２を生成することができる。
【００３８】
４０８においては、予測ＣＵ４０２が、上述したように、４０４におけるイントラ予測によって、あるいは４０６におけるインター予測によって見出された後に、エンコーダは、現在のＣＵ１０２から予測ＣＵ４０２を減算して、残差ＣＵ４１０を見出すことができる。
【００３９】
エンコーダは、４１２において１つ以上の変換操作を使用することにより、残差ＣＵ４１０を、変換ドメイン内において残差ＣＵ４１０を表現する変換係数４１４へと変換することができ、例えば、離散コサインブロック変換（ＤＣＴ変換）を使用することにより、データを変換ドメインへと変換することができる。ＪＶＥＴは、ＤＣＴ−ＩＩ、ＤＳＴ−ＶＩＩ、ＤＳＴ−ＶＩＩ、ＤＣＴ−ＶＩＩＩ、ＤＳＴ−Ｉ、ＤＣＴ−Ｖ操作を含めて、ＨＥＶＣよりも多くのタイプの変換操作を可能とする。許容された変換操作は、部分集合へとグループ化することができ、どの部分集合が使用されたか、およびそれらの部分集合内におけるどの特定の操作が使用されたか、に関する指標を、エンコーダによって通知することができる。いくつかの場合においては、大きなブロックサイズの変換を使用することにより、特定のサイズよりも大きなＣＵ１０２内の高周波変換係数をゼロとすることができ、これにより、それらのＣＵ１０２に関しては、低い周波数の変換係数だけを維持することができる。
【００４０】
いくつかの場合においては、モード依存性の非分離型二次変換（ＭＤＮＳＳＴ）を、順方向コア変換後の低周波数変換係数４１４に対して適用することができる。ＭＤＮＳＳＴ操作は、回転データに基づくハイパーキューブ−ギブンス変換（ＨｙＧＴ）を使用することができる。使用時には、特定のＭＤＮＳＳＴ操作を識別するインデックス値を、エンコーダによって通知することができる。
【００４１】
４１６においては、エンコーダは、変換係数４１４を、量子化変換係数４１６へと、量子化することができる。各係数の量子化は、係数の値を、量子化パラメータ（ＱＰ）から導出された量子化ステップによって、除算することによって、計算されてもよい。いくつかの実施形態においては、Ｑｓｔｅｐは、２（ＱＰ−４）／６として規定される。高精度変換係数４１４を、有限数の可能な値を有した量子化変換係数４１６へと変換し得るため、量子化は、データ圧縮を支援することができる。したがって、変換係数の量子化は、変換プロセスによって生成されて送信されるビットの量を制限することができる。しかしながら、量子化は、損失の多い操作であり、量子化による損失を回復することはできないが、量子化プロセスは、再構成されたシーケンスの品質と、シーケンスを表現するのに必要な情報量と、の間にトレードオフを提示する。例えば、ＱＰ値が低いほど、表現および送信に関して、より多くのデータ量を必要とし得るが、より良好な品質のデコードされたビデオをもたらすことができる。対照的に、ＱＰ値が高いと、再構成されたビデオシーケンスの品質が低下し得るが、必要とされるデータ量および帯域幅はより小さい。
【００４２】
ＪＶＥＴは、分散ベースの適応型量子化技術を利用することができ、この場合、すべてのＣＵ１０２が、（フレームのすべてのＣＵ１０２のコーディングにおいて同じフレームＱＰを使用することに代えて）そのコーディングプロセスに関して異なる量子化パラメータを使用することができる。分散ベースの適応型量子化技術は、特定のブロックの量子化パラメータを適応的に小さくし、他のブロックでは量子化パラメータを大きくする。あるＣＵ１０２に関する特定のＱＰを選択するために、ＣＵの分散を計算する。簡単に言えば、ＣＵの分散がフレームの平均分散よりも大きい場合には、そのＣＵ１０２に関しては、フレームのＱＰよりも大きなＱＰが設定されてもよい。そのＣＵ１０２が、フレームの平均分散よりも低い分散を提示する場合には、より小さなＱＰが割り当てられてもよい。
【００４３】
４２０においては、エンコーダは、量子化変換係数４１８をエントロピーコーディングすることによって、最終的な圧縮ビット４２２を見出すことができる。エントロピーコーディングは、送信されるべき情報の統計的冗長性を除去することを目的としている。ＪＶＥＴにおいては、統計的冗長性を除去するために確率測定を使用するＣＡＢＡＣ（Ｃｏｎｔｅｘｔ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）を使用することにより、量子化変換係数４１８をコード化することができる。非ゼロという量子化変換係数４１８を有したＣＵ１０２に関しては、量子化変換係数４１８を、バイナリに変換することができる。バイナリ表現の各ビット（「ビン」）は、その後、コンテキストモデルを使用してエンコードすることができる。ＣＵ１０２は、３つの領域へと分割することができ、各領域は、その領域内の画素に対して使用するための独自の一組のコンテキストモデルを有している。
【００４４】
複数のスキャンパスを実行して、ビンをエンコードすることができる。最初の３つのビン（ｂｉｎ０、ｂｉｎ１、およびｂｉｎ２）をエンコードするパス時には、ビンに対してどのコンテキストモデルを使用するかを示すインデックス値は、テンプレートによって識別された最大で５つの以前にコード化された隣接した量子化変換係数４１８におけるそのビン位置の合計を見出すことによって、見出すことができる。
【００４５】
コンテキストモデルは、ビンの値が「０」または「１」であるという確率に基づくことができる。値がコード化されるにつれて、コンテキストモデル内の確率は、遭遇した「０」値および「１」値の実際の数に基づいて、更新することができる。ＨＥＶＣは、固定テーブルを使用することにより、新たな各ピクチャに関するコンテキストモデルを再初期化したが、ＪＶＥＴにおいては、新たなインター予測ピクチャに関するコンテキストモデルの確率を、以前にコード化されたインター予測ピクチャのために開発されたコンテキストモデルに基づいて初期化することができる。
【００４６】
エンコーダは、残差ＣＵ４１０のエントロピーエンコードされたビット４２２、選択されたイントラ予測モードまたは動きベクトルなどの予測情報、ＣＵ１０２がＱＴＢＴ構造に従ってＣＴＵ１００からどのように区分されたかの指標、および／または、エンコードされたビデオに関する他の情報を含む、ビットストリームを生み出すことができる。以下において説明するように、ビットストリームは、デコーダによってデコードすることができる。
【００４７】
最終的な圧縮ビット４２２を見出すために量子化変換係数４１８を使用することに加えて、エンコーダはまた、量子化変換係数４１８を使用することにより、デコーダが再構成されたＣＵ４３４を生成するために使用するのと同じデコードプロセスに従うことによって、再構成されたＣＵ４３４を生成することもできる。したがって、変換係数がエンコーダによって計算されて量子化された後には、量子化された変換係数４１８を、エンコーダのデコードループに対して送信することができる。ＣＵの変換係数の量子化後には、デコードループは、デコードプロセスにおいてデコーダが生成するものと同じ再構成されたＣＵ４３４を、エンコーダが生成することを可能とする。したがって、エンコーダは、新たなＣＵ１０２に関するイントラ予測またはインター予測を実行するときに、デコーダが隣接ＣＵ１０２または参照ピクチャに関して使用するのと同じ再構成されたＣＵ４３４を使用することができる。再構成されたＣＵ１０２、再構成されたスライス、または完全に再構成されたフレームは、さらなる予測ステージのための参照として機能することができる。
【００４８】
再構成された画像に関する画素値を取得するためのエンコーダのデコードループにおいては（また、デコーダにおける同じ操作については、以下を参照されたい）、逆量子化プロセスを実行することができる。フレームを逆量子化するためには、例えば、フレームの各画素に関する量子化値に対して、上述したＱｓｔｅｐなどの量子化ステップを乗算することにより、再構成された逆量子化変換係数４２６を取得することができる。例えば、エンコーダにおける図４に示すデコードプロセスにおいては、残差ＣＵ４１０の量子化変換係数４１８は、４２４において逆量子化することにより、逆量子化変換係数４２６を見出すことができる。エンコード時にＭＤＮＳＳＴ操作が実行された場合には、その操作は、逆量子化後に反転させることができる。
【００４９】
４２８においては、逆量子化変換係数４２６を逆変換することにより、再構成された残差ＣＵ４３０を見出すことができ、例えば、値に対してＤＣＴを適用することにより、再構成された画像を取得することができる。４３２においては、再構成された残差ＣＵ４３０を、４０４におけるイントラ予測または４０６におけるインター予測によって見出された対応する予測ＣＵ４０２に対して、加算することができ、これにより、再構成されたＣＵ４３４を見出すことができる。
【００５０】
４３６においては、１つ以上のフィルタを、（エンコーダ内における、あるいは以下において説明するようにデコーダ内における）デコーディングプロセス時に、ピクチャレベルまたはＣＵレベルのいずれかにおいて、再構成されたデータに対して適用することができる。例えば、エンコーダは、デブロッキングフィルタ、サンプル適応型オフセット（ＳＡＯ）フィルタ、および／または、適応型ループフィルタ（ＡＬＦ）、を適用することができる。エンコーダのデコーディングプロセスにおいては、再構成された画像内の潜在的なアーチファクトに対処し得る最適なフィルタパラメータを推定してデコーダに対して送信するためのフィルタを実装することができる。このような改良は、再構成されたビデオの客観的および主観的な品質を向上させる。デブロッキングフィルタリングにおいては、サブＣＵ境界付近の画素を修正することができ、一方、ＳＡＯにおいては、ＣＴＵ１００内の画素を、エッジオフセットまたはバンドオフセット分類のいずれかを使用して修正することができる。ＪＶＥＴのＡＬＦは、各２×２ブロックに対して、円形対称形状のフィルタを使用することができる。各２×２ブロックに対して使用されるフィルタのサイズおよび同一性の指標を通知することができる。
【００５１】
再構成されたピクチャが参照ピクチャである場合には、それらを、４０６における将来のＣＵ１０２のインター予測のために、参照バッファ４３８内に格納することができる。
上記のステップ時に、ＪＶＥＴは、コンテンツ適応型クリッピング操作を使用して、下側クリッピング境界と上側クリッピング境界との間に収まるように色値を調整することができる。クリッピング境界は、スライスごとに変更することができ、境界を識別するパラメータは、ビットストリーム内において通知することができる。
【００５２】
図６は、ＪＶＥＴデコーダにおけるＣＵコーディングに関する簡略化されたブロック図を示す。ＪＶＥＴデコーダは、エンコードされたＣＵ１０２に関する情報を含むビットストリームを受けることができる。ビットストリームは、ＱＴＢＴ構造に従ってＣＴＵ１００からピクチャのＣＵ１０２がどのようにして区分されたかを、イントラ予測モードまたは動きベクトルなどのＣＵ１０２に関する予測情報を、またエントロピーエンコードされた残差ＣＵを表すビット６０２を示すことができる。
【００５３】
６０４においては、デコーダは、エンコーダによってビットストリーム内に通知されたＣＡＢＡＣコンテキストモデルを使用して、エントロピーエンコードされたビット６０２をデコードすることができる。デコーダは、エンコーダによって通知されたパラメータを使用することにより、エンコード時に更新されたのと同じ方法で、コンテキストモデルの確率を更新することができる。
【００５４】
量子化変換係数６０６を見出すために６０４におけるエントロピーエンコーディングを反転させた後に、デコーダは、それらを６０８において逆量子化して、逆量子化変換係数６１０を見出すことができる。エンコーディング時にＭＤＮＳＳＴ操作が実行された場合には、その操作は、逆量子化後にデコーダによって反転させることができる。
【００５５】
６１２においては、逆量子化変換係数６１０を逆変換することにより、再構成された残差ＣＵ６１４を見出すことができる。６１６においては、再構成された残差ＣＵ６１４を、６２２におけるイントラ予測または６２４におけるインター予測によって見出された対応する予測ＣＵ６２６に対して加算することができ、これにより、再構成されたＣＵ６１８を見出すことができる。
【００５６】
６２０においては、１つ以上のフィルタを、ピクチャレベルまたはＣＵレベルのいずれかにおいて、再構成されたデータに対して適用することができる。例えば、デコーダは、デブロッキングフィルタ、サンプル適応型オフセット（ＳＡＯ）フィルタ、および／または、適応型ループフィルタ（ＡＬＦ）を適用することができる。上述したように、エンコーダのデコードループ内に配置されたループ内フィルタを使用することにより、フレームの客観的および主観的な品質を向上させるための最適なフィルタパラメータを推定することができる。これらのパラメータは、エンコーダ内でフィルタリングされて再構成されたフレームと一致するように６２０において再構成フレームをフィルタリングするために、デコーダに対して送信される。
【００５７】
再構成されたＣＵ６１８を見出して、通知されたフィルタを適用することによって、再構成されたピクチャが生成された後に、デコーダは、再構成されたピクチャを、出力ビデオ６２８として出力することができる。再構成されたピクチャが参照ピクチャとして使用される場合には、それらは、６２４における将来のＣＵ１０２のインター予測のために、参照バッファ６３０内に格納することができる。
【００５８】
図７は、ＨＤＲのエンコーディング７０２およびデコード７０４のブロック図７００を示す。１つの一般的なＨＤＲビデオ形式は、線形光ＲＧＢドメインを使用し、各チャネルは、高ビット深度形式で指定され、非限定的な例として、ＥＸＲファイル形式の半精度浮動小数点形式（ｈａｌｆ−ｆｌｏａｔ  ｆｏｒｍａｔ）で指定される。現在のビデオ圧縮アルゴリズムはＨＤＲビデオ形式を直接取り扱うことができないため、ＨＤＲビデオをエンコードする１つのアプローチはまず、ビデオエンコーダが受け入れ可能な形式に変換することである。次いで、デコーダビデオをＨＤＲ形式に再度変換することができる。かかるシステムの一例が図７に示されており、ここで、エンコード７０２およびデコード７０４モジュールは、ＳＤＲコンテンツのＪＶＥＴコーディングについて本明細書に記載のプロセスに対応する。
【００５９】
図７の上側のシステムは、入力ＨＤＲビデオ形式の、ＪＶＥＴエンコーダ（またはＭａｉｎ１０  ＨＥＶＣエンコーダなど）を使用してエンコードされ得る１０ビット４：２：０ビデオ形式への変換例を示す。高ビット深度入力のより低いビット深度への変換を準備するために、入力ＨＤＲビデオ内の各ＲＧＢチャネルはまず、コーディング伝達関数（ＴＦ）７０６を通過する。次いで、出力Ｒ’Ｇ’Ｂ’が、ビデオコーディングにより好適な色空間Ｙ’ＣｂＣｒ７０８に変換される。次いで、知覚マッピングがステップ７１０で実行され、次いで、各チャネルがステップ７１２で１０ビットに量子化される。ステップ７１２において各チャネルを１０ビットへと均一に量子化した後、ステップ７１４において色差ＣｂおよびＣｒチャネルが４：２：０形式にサブサンプリングされる。次いで、エンコーダは、例えば、ステップ７１６においてＭａｉｎ１０  ＨＥＶＣエンコーダを使用して、１０ビット４：２：０ビデオを圧縮する。
【００６０】
図７の下側のシステムは、入力ビットストリームからの出力ＨＤＲビデオを再構成する。１つの実施例では、ビットストリームは、ステップ８１７でデコードされ、ＪＶＥＴデコーダ（あるいはＭａｉｎ１０  ＨＥＶＣデコーダ、または他の既知の、便利な、および／もしくは所望のデコーダ）は、１０ビット４：２：０ビデオを再構成し、再構成されたビデオは、ステップ７２０で４：４：４形式にアップサンプリングされる。ステップ７２２での１０ビットデータの逆量子化再マッピング後、ステップ７２４において逆知覚マッピングを適用して、Ｙ’ＣｂＣｒ値を生成する。次いで、Ｙ’ＣｂＣｒデータをステップ７２６でＲ’Ｇ’Ｂ’色空間に変換することができ、チャネルは、ＨＤＲビデオデータが出力される前に、ステップ７２８で逆コーディングＴＦ操作を受け得る。
【００６１】
ブロッキングアーチファクトは、主にブロックベースのビデオコーディングにおける隣接するユニットの独立したコーディングの結果である。それらは、隣接するブロックのイントラコーディングタイプ／インターコーディングタイプが異なる場合、および空間的活動が低い面積では、低いビットレートで発生し、視認可能である傾向がある。その結果、人工的な不連続性または境界が導入されることにより、視覚的なアーチファクトが生じる。
【００６２】
ＨＥＶＣ［１］および現在のＪＶＥＴのものなどのデブロッキングフィルタは、ＰＵ／ＴＵまたはＣＵ境界にわたって平滑化またはローパスフィルタリングすることによって視覚的なアーチファクトを減少させることを試みる。いくつかの実施形態では、鉛直方向の境界が最初にフィルタリングされ、次に水平方向の境界がフィルタリングされる。境界の両側の４×４領域で再構成された最大４つの輝度画素値を使用して、境界の両側の最大３つの画素をフィルタリングすることができる。通常のまたは弱いフィルタリングでは、両側の最大２つの画素をフィルタリングすることができ、強いフィルタリングでは、両側の３つの画素がフィルタリングされる。画素をフィルタリングするかどうかの決定は、０、１、または２の境界強度値Ｂｓを生成するために、隣接ブロックのイントラ／インターモードの決定、動き情報、および残差情報に基づいていてもよい。Ｂｓ＞０の場合、鉛直方向（または水平方向）の境界の両側の４×４領域の最初の行と最後の行（または列）で平滑条件を調べることができる。これらの条件は、所与の境界にわたる傾斜からの偏差がどの程度あるかを決定することができる。概して、偏差が、パラメータβによって指定された閾値よりも小さい場合、デブロッキングフィルタリングを４×４領域全体に適用することができ、大きな偏差は真の境界または意図された境界の存在を示し得るため、デブロッキングフィルタリングは実行されない可能性がある。ベータパラメータは、より大きなＱＰ値がより大きな閾値に対応するように、ブロックＱＰ値の非減少関数である。いくつかの実施形態では、Ｂｓ＞０および平滑条件が満たされている場合、強いフィルタリングと弱いフィルタリングとの間の決定を、追加の平滑条件、およびＱＰの非減少関数でもある別のパラメータｔｃに基づいて行うことができる。概して、かかる領域では不連続性がより視覚的に現れるため、強いフィルタリングがより滑らかな領域に適用される。
【００６３】
いくつかの実施形態では、デブロッキングフィルタ操作は、効果的には４タップまたは５タップのフィルタリング操作でるが、入力とフィルタリングされた出力との間の差は最初にクリッピングされ、次いで、入力に再び加算される（または入力から減算される）。クリッピングは過平滑化を制限することを試み、クリッピングレベルはｔｃおよびＱＰによって決定され得る。色差デブロッキングについては、ブロックのうちの少なくとも１つがイントラコード化されている場合、４タップフィルタを境界の両側の１つの画素に適用することができる。
【００６４】
デブロッキングアーチファクトは、ブロック境界（例えば、ＣＵ、予測、変換境界、および／または他のセグメンテーション境界）における不一致から生じる場合がある。これらの差異は、ＤＣレベル、位置合わせ、位相、および／または他のデータにある場合がある。そのため、境界差は、信号に追加されるノイズと考慮され得る。図７に示されるように、元の入力ＨＤＲ信号は、コーディングＴＦおよび逆コーディングＴＦの両方を通り抜けるが、デブロッキングノイズは逆コーディングＴＦのみを通り抜ける。従来のＳＤＲデブロッキングアーチファクトは、この追加のＴＦを考慮せずに開発されており、図７のデコーダの出力が視認される。ＨＤＲの場合、デブロッキングノイズは逆コーディングＴＦを通り抜け、アーチファクトの可視性を変更することができる。したがって、明るい面積または暗い面積の両方における同じ不連続なジャンプは、逆コーディングＴＦ操作後に、より大きな不連続なジャンプまたはより小さな不連続なジャンプをもたらす可能性がある。
【００６５】
ＰＱ、ＨＬＧ、およびＧａｍｍａなどの典型的な逆コーディングＴＦ（しばしばＥＯＴＦとして知られる）は、それらが単調に強度の関数を増加させるという特性を有し、図８は、正規化されたＰＱ  ＥＯＴＦのプロットされた曲線８００対強度（Ｉ）８０２を示している。例えば、正規化されたＰＱ  ＥＯＴＦ曲線８００が図８に示されている。ＰＱ  ＥＯＴＦ曲線８００の勾配は増加しているため、不連続なジャンプは、より明るい面積対より暗い面積においてＥＯＴＦによって拡大され、それによって、潜在的にデブロッキングアーチファクトがより視認可能になる。ウェーバーの法則によれば、ＪＮＤ（丁度可知差異）が大きいほど、より明るい面積でのより大きな差異を視認者が許容し得ることが理解される。しかしながら、強度８０２に対してプロットされたＪＮＤ９０２の正規化されたプロット９００を示す図９は、ウェーバーの法則を考慮に入れるだけでも、ＪＮＤがＰＱ  ＥＯＴＦについて高い強度で減少することを示している。図９は、α＝ウェーバーの法則のＪＮＤ閾値の８％に基づいて計算されており、ピークＪＮＤがＰＱの広い範囲の閾値に対してあまり敏感ではないと考えられることを示している。実際に、ＰＱのピークＪＮＤは図８のＰＱ  ＥＯＴＦの単一勾配の周りで発生すると考えられ、これは、約Ｉ＝（正規化された）ピーク強度の７８％で発生する。代替試験により、ＨＬＧ  ＥＯＴＦの場合、ピークＪＮＤ強度はおよそＩ＝（正規化された）強度の５０％で発生し、単一勾配はおよそ（正規化された）強度の７０％で発生すると考えられることが示されている。
【００６６】
この分析および関連する視覚的観察に基づいて、強度に依存するデブロッキングフィルタ操作は性能の向上をもたらすことが明らかになる。すなわち、非限定的な例として、デブロッキングフィルタ係数、適用されたフィルタリングの強度（通常のフィルタリング対弱いフィルタリング）、使用されるかまたは影響を受ける入力画素および出力画素の数、フィルタリングのオン／オフの決定、ならびに他のフィルタリングの基準は、強度によって影響を受け、ひいては、強度に基づいている場合がある。強度は、輝度および／または色差に対するものであってもよいし、非線形または線形の強度のいずれかに基づいていてもよい。いくつかの実施形態では、強度は、ＣＵ強度またはブロック境界の周りの隣接する画素などに基づく、局所的な強度に基づいて計算され得る。いくつかの実施形態では、強度は、最大値、最小値、平均値、または隣接する画素の輝度／色差に基づく一部の他の統計値もしくはメトリック値とすることができる。代替の実施形態では、デブロッキングフィルタリングは、シーン、シーケンス、または他のユニット間もしくはユニット内の値ごとの、フレームまたはフレーム群の強度に基づいていてもよい。
【００６７】
いくつかの実施形態では、デブロッキング操作を、エンコーダおよび／もしくはデコーダで計算された強度操作に基づいて決定することができるか、またはパラメータ（複数可）をビットストリームでデコーダに送信して、デブロッキング決定またはフィルタリング操作を行う際に使用することができる。パラメータは、ＣＵ、スライス、ピクチャ、ＰＰＳ、ＳＰＳレベル、ならびに／または任意の他の既知の、便利な、および／もしくは所望のレベルで送信され得る。
【００６８】
強度ベースのデブロッキングをＳＤＲコンテンツに適用することもできるが、強度ベースのデブロッキングは、ＨＤＲに適用される逆コーディングＴＦのために、ＨＤＲコンテンツでより大きな影響を受けると予想される。いくつかの実施形態では、デブロッキングは、逆コーディングＴＦ（またはコーディングＴＦ）に基づいていてもよい。ＴＦ情報はビットストリームで通知され、デブロッキング操作によって使用され得る。非限定的な例として、（局所的または集合的な）強度がいくつかの閾値よりも大きいかまたは小さいかに基づいて、異なるデブロッキングストラテジーを使用することができ、この閾値はＴＦに基づいていてもよい。追加的に、いくつかの実施形態では、２つ以上の閾値を識別し、複数のレベルのフィルタリング操作と関連付けることができる。いくつかの実施形態では、例示的なデブロッキングストラテジーとしては、フィルタリング対フィルタリングなし、強いフィルタリング対弱いフィルタリング、および／または様々な強度レベルのトリガー値に基づく様々なレベルのフィルタリングを挙げることができる。いくつかの実施形態では、アーチファクトが見えにくくなり（または見えなくなり）、それに伴って、計算要求が減少することがあるため、逆コーディングＴＦの後にデブロッキングフィルタリングは不要であると決定される場合がある。Ｉ＊の値（正規化された強度値）は、ＴＦに基づいて通知、計算、または指定することができ、フィルタリングを決定する際の閾値として使用することができる。いくつかの実施形態では、デブロッキングフィルタ操作を修正するために２つ以上の閾値を使用することができる。
【００６９】
修正は、ＨＤＲに対する強度ベースのデブロッキングを組み込むために、ＨＥＶＣまたはＪＶＥＴにおける既存のＳＤＲデブロッキングに対して行うことができる。非限定的な例として、ＨＥＶＣでは、強度に基づいてデブロッキングパラメータβ（およびｔｃ）を修正して、強いフィルタリング／通常のフィルタリングもしくはフィルタリングのオン／オフを増加または低下させることができ、強度値または強度値の範囲に基づいて、異なるβ（およびｔｃ）パラメータ曲線をＨＤＲに対して定義することができる。代替的に、境界、ＣＵ、領域、またはフレーム群の隣接の強度に基づいて、シフトまたはオフセットをパラメータおよび曲線に適用することができる。非限定的な例として、より強いフィルタリングがより明るい面積に適用されるように、シフトを適用することができる。
【００７０】
図１０は、フィルタリングを決定する目的で強度が考慮に入れられる、エンコードシステム１０００のブロック図を示す。ステップ１００２では、コーディングユニットおよび近接した／隣接するコーディングユニットに関する情報を取得することができる。次いで、ステップ１００４において、フィルタリングを適用するかどうかに関する決定を行うことができる。ステップ１００４において、フィルタリングを適用すると決定されると、ステップ１００６において、コーディングユニットおよび／または近接した／隣接するコーディングユニット（複数可）に関連付けられた強度値を評価することができる。ステップ１００６の強度値の評価に基づいて、所望のレベルのフィルタリングを、ステップ１００８ａ〜１００８ｃのうちの１つでコーディングユニットに適用することができる。いくつかの実施形態では、フィルタリングのレベルの選択は、コーディングユニットの強度値、ならびに／またはコーディングユニットに関連付けられた強度値と、１つ以上の近接したコーディングユニットに関連付けられた強度値との比較に基づいていてもよい。いくつかの実施形態では、これは、１つ以上の確立された閾値強度値に基づいていてもよい。ステップ１００８ａ〜１００８ｃのうちの１つでフィルタリングを適用した後、ステップ１０１０において、伝送用にコーディングユニットをエンコードすることができる。しかしながら、ステップ１００４においてフィルタリングを適用すべきではないと決定された場合、１００６〜１００８ｃをバイパスすることができ、これにより、未フィルタリングのコーディングユニットは、ステップ１０１０でのエンコードに直接進むことができる。
【００７１】
代替の実施形態では、ステップ１００６はステップ１００４に先行してもよく、強度の評価はステップ１００６のフィルタリングの決定に使用されてもよく、ステップ１００４の後に直接、フィルタリングが望ましくない場合にはステップ１０１０のエンコード、またはフィルタリングが望ましい場合にはステップ１００８ａ〜１００８ｃのうちの１つのいずれかを続けることができる。
【００７２】
図１１は、強度が表示のためのフィルタリングで考慮に入れられる因子である、デコードシステムのブロック図を示す。図１１に示される実施形態では、ビットストリームは、ステップ１１０２で受信され、デコードされ得る。いくつかの実施形態では、ステップ１１０４において、適切なおよび／または所望のレベルのデブロッキングを決定することができる。しかしながら、いくつかの代替の実施形態では、ステップ１１０４において、フィルタリングが位相のエンコーディング中に適用されたかどうかを決定することができる。ステップ１１０４において、フィルタリングが望ましいと決定された場合（またはいくつかの実施形態では、位相のエンコード中にフィルタリングが適応された場合）、ステップ１１０６において、フィルタリングのレベルが決定される。いくつかの実施形態では、これは、フィルタリングに関連付けられた１つ以上の因子を確立する際に使用するためのオフセット値であってもよいし、かつ／または位相のエンコード中に適用されるフィルタリングのレベルの指標であってもよい。ステップ１１０６の決定に少なくとも部分的に基づいて、ステップ１１１０での表示用に画像をレンダリングするために適用されるフィルタリングのレベル１１０８ａ〜１１０８ｃ。ステップ１１０４において、位相のエンコード中にフィルタリングが適用されなかった場合、画像は、ステップ１１１０での表示用にレンダリングされ得る。
【００７３】
図１２ａ〜図１２ｃは、図１０および図１１において説明され、示されているシステムをグラフィカルに表す一連の例示的なβ対ＱＰの曲線およびｔｃ対ＱＰの曲線１２００を示す。図１２ａに示される実施形態では、例示的な一対のβ対ＱＰの曲線１２０２およびｔｃ対ＱＰの曲線１２０４が提示され、これらは、強度が所望の閾値ｘよりも低い場合１２０６に用いられ得る。したがって、強度値が所望の値ｘを下回る場合１２０２、βおよびｔｃの通常値または標準値を使用して、適用されるデブロッキングレベルを決定することができる。図１２ｂおよび図１２ｃは、β対ＱＰの曲線１２１２、１２２２、およびｔｃ対ＱＰの曲線１２１４、１２２４を示しており、これらは、強度が所望の値ｘ以上であると決定された場合１２０８に用いられ得る。図１２ｂは、図１２ａに示されるのと同じであるが、左にシフトされた曲線１２１２、１２１４のセットを表しており、図１２ｃは、図１２ａに示されるのと同じであるが、上にシフトされた曲線１２２２、１２２４のセットを表している。したがって、強度値が所望の値ｘを満たすか、またはそれを超える（もしくは超えた）場合、βおよびｔｃのオフセット値、非標準値、修正値を使用して、適用されるデブロッキングレベルを決定することができる。それに応じて、強度値が増加すると、βおよびｔｃの増加した値が選択され、適用されるフィルタリングのレベルが増加する。図１２ｂおよび図１２ｃは、強度（Ｉ）が単一の値ｘよりも大きいか、またはそれ以上であるバリアント型を示しているが、本システムは、各々が様々な境界に関連付けられたβ対ＱＰの曲線およびｔｃ対ＱＰの曲線の複数のセットが存在するシステムを包含するように拡張され得ることをよく理解されたい。すなわち、Ｉ＜ｘ、ｘ≦Ｉ≦ｙ、およびＩ＞ｙなどの条件、ならびに／または複数の境界もしくは領域を用いるシステムが存在し得る条件が想定される。追加的に、＜、＞、≦、および≧の使用は任意であること、ならびに任意の論理的な境界条件を用いることができることを留意されたい。最後に、図１２ａ〜図１２ｃに表される曲線は本質的に例示的なものであること、ならびに同じまたは類似の技術、方法、および論理は任意の既知の、便利な、および／または所望の曲線のセットに適用され得ることをよく理解されたい。
【００７４】
実施形態を実施するために必要な命令シーケンスの実行は、図１３に示すように、コンピュータシステム１３００によって実行することができる。一実施形態においては、命令シーケンスの実行は、単一のコンピュータシステム１３００によって実行される。他の実施形態によれば、通信リンク１３１５によって結合された２つ以上のコンピュータシステム１３００が、互いに協調して命令シーケンスを実行することができる。１つのコンピュータシステム１３００のみの説明を以下において提示するが、実施形態を実施するために、任意の数のコンピュータシステム１３００を使用し得ることは、理解されるべきである。
【００７５】
ここで、一実施形態によるコンピュータシステム１３００について、コンピュータシステム１３００の機能的構成要素のブロック図である図１３を参照して説明する。本明細書で使用する場合には、コンピュータシステム１３００という用語は、１つ以上のプログラムを格納し、かつ独立して実行し得る任意のコンピューティングデバイスを説明するために広義に使用される。
【００７６】
各コンピュータシステム１３００は、バス１３０６に対して結合された通信インターフェース１３１４を含むことができる。通信インターフェース１３１４は、コンピュータシステム１３００間の双方向通信を提供する。それぞれのコンピュータシステム１３００の通信インターフェース１３１４は、例えば命令やメッセージやデータなどの様々なタイプの信号情報を表すデータストリームを含む電気信号または電磁信号または光信号を送受信する。通信リンク１３１５は、１つのコンピュータシステム１３００を別のコンピュータシステム１３００に対してリンクする。例えば、通信リンク１３１５は、ＬＡＮとすることができ、その場合、通信インターフェース１３１４は、ＬＡＮカードとすることができる、あるいは、通信リンク１３１５は、ＰＳＴＮとすることができ、その場合、通信インターフェース１３１４は、統合サービスデジタルネットワーク（ＩＳＤＮ）カードまたはモデムとすることができるか、もしくは、通信リンク１３１５は、インターネットとすることができ、その場合、通信インターフェース１３１４は、ダイヤルアップ、ケーブル、または無線モデムとすることができる。
【００７７】
コンピュータシステム１３００は、それぞれの通信リンク１３１５および通信インターフェース１３１４を介して、プログラムすなわちアプリケーションやコードを含む、メッセージ、データ、および命令を送受信することができる。受信したプログラムコードは、受信時にそれぞれのプロセッサ１３０７によって実行することができるか、および／または後で実行するために、ストレージデバイス１３１０または他の関連する不揮発性媒体内に格納することができる。
【００７８】
一実施形態においては、コンピュータシステム１３００は、データストレージシステム１３３１、例えば、コンピュータシステム１３００によって容易にアクセス可能なデータベース１３３２を含むデータストレージシステム１３３１と連携して動作する。コンピュータシステム１３００は、データインターフェース１３３３を介してデータストレージシステム１３３１と通信する。バス１３０６に対して結合されたデータインターフェース１３３３は、例えば命令やメッセージやデータなどの様々なタイプの信号情報を表すデータストリームを含む電気信号または電磁信号または光信号を送受信する。実施形態においては、データインターフェース１３３３の機能は、通信インターフェース１３１４によって実行することができる。
【００７９】
コンピュータシステム１３００は、命令やメッセージやデータを集合的には情報を通信するためのバス１３０６または他の通信機構と、情報を処理するためにバス１３０６に対して結合された１つ以上のプロセッサ１３０７と、を含む。コンピュータシステム１３００は、また、バス１３０６に対して結合されていて、プロセッサ（複数可）１３０７によって実行され得る動的データおよび命令を格納するための、ランダムアクセスメモリ（ＲＡＭ）または他の動的ストレージデバイスなどの、メインメモリ１３０８も含む。メインメモリ１３０８は、また、プロセッサ（複数可）１３０７による命令の実行時に、一時データすなわち変数を、または他の中間情報を格納するために使用することもできる。
【００８０】
コンピュータシステム１３００は、バス１３０６に対して結合されていて、プロセッサ（複数可）１３０７のための静的データおよび命令を格納するための、読み取り専用メモリ（ＲＯＭ）１３０９または他の静的ストレージデバイスを、さらに含むことができる。磁気ディスクまたは光ディスクなどのストレージデバイス１３１０を提供することもでき、プロセッサ（複数可）１３０７のためのデータおよび命令を格納するためにバス１３０６に対して結合することができる。
【００８１】
コンピュータシステム１３００は、ユーザに対して情報を表示するために、バス１３０６を介して、限定するものではないが陰極線管（ＣＲＴ）または液晶ディスプレイ（ＬＣＤ）モニタなどのディスプレイデバイス１３１１に結合することができる。例えば英数字のキーおよび他のキーなどの入力デバイス１３１２が、情報選択および命令選択をプロセッサ（複数可）１３０７に対して通信するために、バス１３０６に対して結合される。
【００８２】
１つの実施形態によれば、個々のコンピュータシステム１３００は、メインメモリ１３０８に含まれる１つ以上の命令からなる１つ以上のシーケンスを実行するそれぞれのプロセッサ（複数可）１３０７によって、特定の操作を実行する。そのような命令は、ＲＯＭ１３０９またはストレージデバイス１３１０などの別のコンピュータ使用可能媒体から、メインメモリ１３０８内へと、読み込むことができる。メインメモリ１３０８内に含まれる命令シーケンスの実行により、プロセッサ（複数可）１３０７に、本明細書において説明するプロセスを実行させる。代替的な実施形態においては、ハードワイヤード回路を、ソフトウェア命令に代えてあるいはソフトウェア命令と組み合わせて、使用することができる。よって、実施形態は、ハードウェア回路および／またはソフトウェアの任意の特定の組み合わせに限定されるものではない。
【００８３】
本明細書で使用する場合には、「コンピュータ使用可能媒体」という用語は、情報を提供する任意の媒体、あるいは、プロセッサ（複数可）１３０７によって使用可能な任意の媒体、を指す。そのような媒体は、限定するものではないが、不揮発性媒体、揮発性媒体、および伝送媒体を含めて、多くの形態をとることができる。不揮発性媒体、すなわち電力がなくても情報を保持し得る媒体は、ＲＯＭ１３０９、ＣＤＲＯＭ、磁気テープ、および磁気ディスクを含む。揮発性媒体、すなわち、電力がないと情報を保持し得ない媒体は、メインメモリ１３０８を含む。伝送媒体は、バス１３０６を構成するワイヤを含めて、同軸ケーブル、銅線、および光ファイバを含む。伝送媒体はまた、搬送波の形態をとることもでき、すなわち、情報信号を送信するために、周波数、振幅、または位相などが変調され得る電磁波の形態をとることもできる。追加的に、伝送媒体は、電波および赤外線データ通信時に生成されるような、音響波または光波の形態をとることができる。
【００８４】
上記の明細書においては、実施形態について、その特定の構成要素を参照して説明した。しかしながら、実施形態のより広範な精神および範囲から逸脱することなく、様々な修正および変更が可能であることは明らかであろう。例えば、読者は、本明細書において説明するプロセスフロー図に示すプロセス動作の特定の順序および組み合わせが単なる例示であること、また、異なるプロセス動作または追加的なプロセス動作を使用することにより、あるいは、プロセス動作どうしの異なる組み合わせまたは異なる順序を使用することにより、実施形態を実施し得ることは理解されるであろう。したがって、明細書および図面は、限定的なものではなく、例示的なものと見なされるべきである。
【００８５】
また、本発明は、様々なコンピュータシステムにおいて実装し得ることにも留意すべきである。本明細書において説明する様々な技術は、ハードウェアまたはソフトウェア、あるいは双方の組み合わせにおいて実装することができる。好ましくは、技術は、各々が、プロセッサ、プロセッサによって読み取り可能なストレージ媒体（揮発性メモリ、不揮発性メモリ、および／または、ストレージ要素を含む）、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスを含むプログラム可能なコンピュータ上で実行されるコンピュータプログラム内に実装される。入力デバイスを使用して入力されたデータに対してプログラムコードが適用され、これにより、上述した機能が実行されて、出力情報が生成される。出力情報は、１つ以上の出力デバイスに対して適用される。各プログラムは、好ましくは、コンピュータシステムと通信するために、高レベルの手続き型のまたはオブジェクト指向型のプログラミング言語で実装される。しかしながら、プログラムは、必要に応じて、アセンブリ言語または機械語で実装することができる。いずれの場合においても、言語は、コンパイルされた言語またはインタープリタ言語とすることができる。そのような各コンピュータプログラムは、好ましくは、ストレージ媒体またはストレージデバイス（例えば、ＲＯＭまたは磁気ディスク）上に格納されており、このストレージ媒体またはストレージデバイスが、上述した手順を実行するためにコンピュータによって読み取られるときに、コンピュータを構成して動作させるために、汎用コンピュータによってまたは専用目的のプログラム可能なコンピュータによって読み取り可能とされている。システムはまた、コンピュータプログラムで構成されたコンピュータ可読ストレージ媒体として実装されると考えることができ、ここで、そのように構成されたストレージ媒体は、コンピュータを特定の事前規定された態様で動作させる。さらに、例示的なコンピューティングアプリケーションのストレージ要素は、様々な組み合わせおよび様々な構成においてデータを格納し得るリレーショナルタイプのまたはシーケンシャル（フラットファイル）タイプのコンピューティングデータベースとすることができる。
【００８６】
図１４は、本明細書において説明するシステムおよびデバイスの特徴を組み込み得るソースデバイス１４１２および宛先デバイス１４１０の概略図である。図１４に示すように、例示的なビデオコーディングシステム１４１０は、ソースデバイス１４１２および宛先デバイス１４１４を含み、この例においては、ソースデバイス１４１２は、エンコードされたビデオデータを生成する。したがって、ソースデバイス１４１２は、ビデオエンコーディングデバイスと称されてもよい。宛先デバイス１４１４は、ソースデバイス１４１２によって生成されたエンコードされたビデオデータをデコードすることができる。したがって、宛先デバイス１４１４は、ビデオデコーディングデバイスと称されてもよい。ソースデバイス１４１２および宛先デバイス１４１４は、ビデオコーディングデバイスの例であり得る。
【００８７】
宛先デバイス１４１４は、チャネル１４１６を介してソースデバイス１４１２からエンコードされたビデオデータを受信することができる。チャネル１４１６は、ソースデバイス１４１２から宛先デバイス１４１４へと、エンコードされたビデオデータを移動させ得るあるタイプの媒体またはデバイスを含むことができる。一例においては、チャネル１４１６は、エンコードされたビデオデータをソースデバイス１４１２が宛先デバイス１４１４へとリアルタイムで直接的に送信することを可能とする通信媒体を含むことができる。
【００８８】
この例においては、ソースデバイス１４１２は、無線通信プロトコルなどの通信規格に従ってエンコードされたビデオデータを変調し、変調したビデオデータを宛先デバイス１４１４に対して送信することができる。通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つ以上の物理的伝送線路などの、無線または有線の通信媒体を含むことができる。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのようなグローバルネットワークなどの、パケットベースのネットワークの一部を形成することができる。通信媒体は、ルータ、スイッチ、基地局、あるいはソースデバイス１４１２から宛先デバイス１４１４に対しての通信を容易とする他の機器を含むことができる。別の例においては、チャネル１４１６は、ソースデバイス１４１２によって生成されエンコードされたビデオデータを格納するストレージ媒体に対応することができる。
【００８９】
図１４の例においては、ソースデバイス１４１２は、ビデオソース１４１８と、ビデオエンコーダ１４２０と、出力インターフェース１４２２と、を含む。いくつかの場合においては、出力インターフェース１４２８は、変調器／復調器（モデム）、および／または、送信機を含むことができる。ソースデバイス１４１２においては、ビデオソース１４１８は、例えばビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および／または、ビデオデータを生成するためのコンピュータグラフィックスシステム、あるいはこれらソースの組み合わせなどのソースを含むことができる。
【００９０】
ビデオエンコーダ１４２０は、キャプチャされた、プリキャプチャされた、またはコンピュータ生成されたビデオデータを、エンコードすることができる。入力画像は、ビデオエンコーダ１４２０によって受信することができ、入力フレームメモリ１４２１内に格納することができる。汎用目的プロセッサ１４２３は、ここから情報を読み込むことができ、エンコードを実行することができる。汎用目的プロセッサを駆動するためのプログラムは、図１４に示す例示的なメモリモジュールなどのストレージデバイスから読み込むことができる。汎用目的プロセッサは、プロセッシングメモリ１４２２を使用することにより、エンコードを実行することができ、汎用プロセッサによってエンコードされた情報の出力は、出力バッファ１４２６などのバッファ内に格納することができる。
【００９１】
ビデオエンコーダ１４２０は、少なくとも１つのベース層および少なくとも１つのエンハンスメント層を規定するスケーラブルビデオコーディング方式でビデオデータをコード化（例えば、エンコード）し得るように構成され得るリサンプリングモジュール１４２５を含むことができる。リサンプリングモジュール１４２５は、エンコードプロセスの一部として少なくともいくつかのビデオデータをリサンプリングすることができ、リサンプリングは、リサンプリングフィルタを使用して適応的な方法で実行することができる。
【００９２】
例えばコード化されたビットストリームなどのエンコードされたビデオデータは、ソースデバイス１４１２の出力インターフェース１４２８を介して、宛先デバイス１４１４に対して直接的に送信することができる。図１４の例においては、宛先デバイス１４１４は、入力インターフェース１４３８と、ビデオデコーダ１４３０と、ディスプレイデバイス１４３２と、を含む。いくつかの場合においては、入力インターフェース１４２８は、受信機および／またはモデムを含むことができる。宛先デバイス１４１４の入力インターフェース１４３８は、チャネル１４１６を介して、エンコードされたビデオデータを受信する。エンコードされたビデオデータは、ビデオエンコーダ１４２０によって生成された様々な構文要素であって、ビデオデータを表す様々な構文要素を含むことができる。そのような構文要素は、通信媒体上で送信されたまたはストレージ媒体上に格納されたまたはファイルサーバに格納されたエンコードされたビデオデータに含まれることができる。
【００９３】
エンコードされたビデオデータはまた、デコードおよび／または再生のために宛先デバイス１４１４によって後でアクセスし得るよう、ストレージ媒体またはファイルサーバに格納することができる。例えば、コード化されたビットストリームは、一時的に入力バッファ１４３１内に格納することができ、その後、汎用目的プロセッサ１４３３内に読み込むことができる。汎用目的プロセッサを駆動するためのプログラムは、ストレージデバイスまたはメモリから読み込むことができる。汎用目的プロセッサは、プロセッシングメモリ１４３２を使用することにより、デコードを実行することができる。ビデオデコーダ１４３０はまた、ビデオエンコーダ１４２０において使用されるリサンプリングモジュール１４３５と同様のリサンプリングモジュール１４２５を含むことができる。
【００９４】
図１４は、汎用目的プロセッサ１４３３とは別個にリサンプリングモジュール１４３５を示しているが、リサンプリング機能が、汎用目的プロセッサによって実行されるプログラムによって実行され得ること、また、ビデオエンコーダにおける処理が、１つ以上のプロセッサを使用して達成され得ることは、当業者であれば理解されよう。デコードされた画像（複数可）は、出力フレームバッファ１４３６内に格納することができ、その後、入力インターフェース１４３８に対して送信することができる。
【００９５】
ディスプレイデバイス１４３８は、宛先デバイス１４１４に対して一体化することができるか、あるいは、宛先デバイス１４１４の外部に配置することができる。いくつかの例においては、宛先デバイス１４１４は、一体化されたディスプレイデバイスを含むことができ、また、外部ディスプレイデバイスに対してインターフェースし得るように構成することができる。他の例においては、宛先デバイス１４１４は、ディスプレイデバイスとすることができる。一般に、ディスプレイデバイス１４３８は、デコードされたビデオデータを、ユーザに対して表示する。
【００９６】
ビデオエンコーダ１４２０およびビデオデコーダ１４３０は、ビデオ圧縮規格に従って動作することができる。ＩＴＵ−Ｔ  ＶＣＥＧ（Ｑ６／１６）およびＩＳＯ／ＩＥＣ  ＭＰＥＧ（ＪＴＣ１／ＳＣ２９／ＷＧ１１）は、現在の高効率ビデオコーディングＨＥＶＣ規格（画面コンテンツコーディングと高ダイナミックレンジコーディングに関する現在の拡張と短期的な拡張とを含む）の圧縮能力を大幅に上回る圧縮能力を有した将来のビデオコーディング技術の標準化の潜在的な必要性を研究している。両グループは、この分野の専門家によって提案された圧縮技術設計を評価するために、共同ビデオ調査チーム（ＪＶＥＴ）として知られる共同作業でこの調査活動に取り組んでいる。ＪＶＥＴ開発の最近のキャプチャは、Ｊ．Ｃｈｅｎ、Ｅ．Ａｌｓｈｉｎａ、Ｇ．Ｓｕｌｌｉｖａｎ、Ｊ．Ｏｈｍ、Ｊ．Ｂｏｙｃｅが執筆した「Ａｌｇｏｒｉｔｈｍ  Ｄｅｓｃｒｉｐｔｉｏｎ  ｏｆ  Ｊｏｉｎｔ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｔｅｓｔ  Ｍｏｄｅｌ  ５（ＪＥＭ  ５）」、ＪＶＥＴ−Ｅ１００１−Ｖ２に記載されている。
【００９７】
追加的にまたは代替的に、ビデオエンコーダ１４２０およびビデオデコーダ１４３０は、開示されたＪＶＥＴ機能で機能する他の独自規格または業界規格に従って動作することができる。したがって、代替的にはＭＰＥＧ−４と称されるＩＴＵ−Ｔ  Ｈ．２６４規格、パート１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、あるいはそれら規格の拡張などの他の規格が挙げられる。したがって、ＪＶＥＴのために新たに開発されたが、本開示の技術は、特定のコーディング規格または特定のコーディング技術に限定されるものではない。ビデオ圧縮に関する規格および技術の他の例としては、ＭＰＥＧ−２、ＩＴＵ−Ｔ  Ｈ．２６３、ならびに独自規格のまたはオープンソースの圧縮形式および関連形式が挙げられる。
【００９８】
ビデオエンコーダ１４２０およびビデオデコーダ１４３０は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実装することができる。例えば、ビデオエンコーダ１４２０およびデコーダ１４３０は、１つ以上のプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリートロジック、あるいはこれらの任意の組み合わせを使用することができる。ビデオエンコーダ１４２０およびデコーダ１４３０が、部分的にソフトウェアで実装される場合には、デバイスは、ソフトウェアのための命令を、好適な非一過性のコンピュータ可読ストレージ媒体内に格納することができ、本開示の技術を実行するために、１つ以上のプロセッサを使用してハードウェアで命令を実行することができる。ビデオエンコーダ１４２０およびビデオデコーダ１４３０の各々は、１つ以上のエンコーダまたはデコーダ内に含まれることができ、これらのいずれかは、それぞれのデバイス内の複合エンコーダ／デコーダ（ＣＯＤＥＣ）の一部として一体化することができる。
【００９９】
本明細書において説明する主題の態様は、上述した汎用目的プロセッサ１４２３および１４３３などのコンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能な命令の一般的なコンテキストにおいて説明することができる。一般に、プログラムモジュールは、特定のタスクを実行したりあるいは特定の抽象データ型を実装したりする、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本明細書において説明する主題の態様はまた、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散型コンピューティング環境で実施することもできる。分散型コンピューティング環境においては、プログラムモジュールは、メモリストレージデバイスを含めてローカルとリモートとの両方のコンピュータストレージ媒体内に配置することができる。
【０１００】
メモリの例は、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、またはこれらの双方を含む。メモリは、上述した技術を実行するために、ソースコードまたはバイナリコードなどの命令を格納することができる。メモリはまた、プロセッサ１４２３および１４３３などのプロセッサによって実行される命令の実行時に、変数または他の中間情報を格納するために使用することができる。
【０１０１】
ストレージデバイスはまた、例えばソースコードまたはバイナリコードなどの、上述した技術を実行するための命令を格納することができる。ストレージデバイスは、追加的に、コンピュータプロセッサによって使用されて操作されるデータを格納することができる。例えば、ビデオエンコーダ１４２０またはビデオデコーダ１４３０内のストレージデバイスは、コンピュータシステム１４２３または１４３３によってアクセスされるデータベースとすることができる。ストレージデバイスの他の例は、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、ハードドライブ、磁気ディスク、光ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、フラッシュメモリ、ＵＳＢメモリカード、あるいはコンピュータが読み取り得る任意の他の媒体を含む。
【０１０２】
メモリまたはストレージデバイスは、ビデオエンコーダおよび／またはデコーダによって使用するための、あるいはそれに関連して使用するための、非一過性のコンピュータ可読ストレージ媒体の一例とすることができる。非一過性のコンピュータ可読ストレージ媒体は、特定の実施形態によって説明する機能を実行し得るように構成され得るようコンピュータシステムを制御するための命令を含む。命令は、１つ以上のコンピュータプロセッサによって実行されるときには、特定の実施形態において説明することを実行し得るように構成することができる。
【０１０３】
また、いくつかの実施形態は、フロー図またはブロック図として図示し得るプロセスとして説明されていることに留意されたい。各々は、操作を順次的なプロセスとして説明し得るが、操作の多くは、並列的に実行することができるか、あるいは、同時的に実行することができる。加えて、操作の順序を入れ替えることもできる。プロセスは、図に含まれていない追加的なステップを有することができる。
【０１０４】
特定の実施形態は、命令実行システム、装置、システム、または機械によって使用するための、あるいはそれに関連して使用するための、非一過性のコンピュータ可読ストレージ媒体内に実装することができる。コンピュータ可読ストレージ媒体は、特定の実施形態によって説明する方法を実行するようにコンピュータシステムを制御するための命令を含む。コンピュータシステムは、１つ以上のコンピューティングデバイスを含むことができる。命令は、１つ以上のコンピュータプロセッサによって実行されるときには、特定の実施形態で説明することを実行し得るように構成することができる。
【０１０５】
明細書における説明においてならびにそれに続く特許請求の範囲にわたって使用された場合には、「ａ」、「ａｎ」、および「ｔｈｅ」は、文脈が明確に他のことを指示していない限りにおいて、複数の参照を含む。また、明細書における説明においてならびにそれに続く特許請求の範囲にわたって使用された場合には、「ｉｎ」の意味は、文脈が明確に他のことを指示していない限りにおいて、「ｉｎ」および「ｏｎ」を含む。
【０１０６】
本発明の例示的な実施形態について、上記の構造的特徴および／または方法論的行為に固有の言語において詳細に説明したが、当業者であれば、本発明の新規な教示および利点から実質的に逸脱することなく、例示的な実施形態において多くの追加的な修正が可能であることを容易に理解するであろうことを理解されたい。さらに、添付の特許請求の範囲において定義される主題が、必ずしも上述した特定の特徴または行為に限定されないことを、理解されたい。したがって、これらの修正およびすべてのそのような修正が、添付の特許請求の範囲に従って広範な範囲で解釈される本発明の範囲内に含まれることが意図されている。
【図１】
2021520104.tif 000003
【図２ａ】
2021520104.tif 000004
【図２ｂ】
2021520104.tif 000005
【図２ｃ】
2021520104.tif 000006
【図３】
2021520104.tif 000007
【図４】
2021520104.tif 000008
【図５】
2021520104.tif 000009
【図６】
2021520104.tif 000010
【図７】
2021520104.tif 000011
【図８】
2021520104.tif 000012
【図９】
2021520104.tif 000013
【図１０】
2021520104.tif 000014
【図１１】
2021520104.tif 000015
【図１２ａ】
2021520104.tif 000016
【図１２ｂ】
2021520104.tif 000017
【図１２ｃ】
2021520104.tif 000018
【図１３】
2021520104.tif 000019
【図１４】
2021520104.tif 000020
【手続補正書】
【提出日】令和3年6月7日(2021.6.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオをデコードする方法であって、
（ａ）エンコードされたビデオのビットストリームを受信することと、
（ｂ）前記エンコードされたビデオの前記ビットストリームをデコードすることと、
（ｃ）デコードされた前記ビットストリーム内のコーディングユニットを決定することと、
（ｄ）前記コーディングユニットの境界に関連付けられた画素の強度情報を決定することと、
（ｅ）前記コーディングユニットに関連付けられた前記強度情報に少なくとも部分的に基づいて、前記コーディングユニットにデブロッキングフィルタリングを適用することであって、適用された前記デブロッキングフィルタリングは、量子化パラメータのオフセットに基づいて選択的に修正され境界フィルタリングを指定するフィルタリングパラメータβおよびｔｃに基づいており、前記オフセットは、前記境界に関連付けられた画素の決定された前記強度情報に少なくとも部分的に基づいている、適用することと、を含む、ビデオをデコードする方法。
【請求項２】
より大きな前記オフセットによって、当該より大きな前記オフセットがない場合と比較して、より強いフィルタリングが得られる、請求項１に記載のビデオをデコードする方法。
【請求項３】
前記オフセットは、互いに異なる３つ以上の量子化パラメータの前記オフセットを含む、請求項２に記載のビデオをデコードする方法。
【請求項４】
前記デブロッキングフィルタリングは、クリッピングにさらに基づいている、請求項３に記載のビデオをデコードする方法。
【請求項５】
前記クリッピングは、前記フィルタリングパラメータのうちの１つに基づいている、請求項４に記載のビデオをデコードする方法。
【請求項６】
前記クリッピングは、前記量子化パラメータに基づいている、請求項４に記載のビデオをデコードする方法。
【請求項７】
ビデオビットストリームを記憶するコンピュータ可読ストレージデバイスであって、前記ビデオビットストリームは、
（ａ）エンコードされたビデオのビットストリームと、
（ｂ）コーディングユニットを含む前記ビットストリームと、
（ｄ）前記コーディングユニットの境界に関連付けられた画素の強度情報を含む前記ビットストリームと、
（ｅ）前記コーディングユニットに関連付けられた前記強度情報に少なくとも部分的に基づいて、前記コーディングユニットにデブロッキングフィルタリングを適用することであって、適用された前記デブロッキングフィルタリングは、量子化パラメータのオフセットに基づいて選択的に修正され境界フィルタリングを指定するフィルタリングパラメータβおよびｔｃに基づいており、前記オフセットは、前記境界に関連付けられた画素の決定された前記強度情報に少なくとも部分的に基づいている、適用することが可能な前記ビットストリームと、を含む、コンピュータ可読ストレージデバイス。
【請求項８】
より大きな前記オフセットによって、当該より大きな前記オフセットがない場合と比較して、より強いフィルタリングが得られる、請求項７に記載のビットストリーム。
【請求項９】
前記オフセットは、互いに異なる３つ以上の量子化パラメータの前記オフセットを含む、請求項８に記載のビットストリーム。
【請求項１０】
前記デブロッキングフィルタリングは、クリッピングにさらに基づいている、請求項９に記載のビットストリーム。
【請求項１１】
前記クリッピングは、前記フィルタリングパラメータのうちの１つに基づいている、請求項１０に記載のビットストリーム。
【請求項１２】
前記クリッピングは、前記量子化パラメータに基づいている、請求項１０に記載のビットストリーム。
【請求項１３】
ビットストリームを提供するプロセッサを含む方法であって、
（ａ）ビデオをビットストリームとしてエンコードすることと、
（ｂ）前記ビットストリーム内にコーディングユニットを含むことと、
（ｃ）前記コーディングユニットの境界に関連付けられた画素の強度情報を含むことと、
（ｄ）前記コーディングユニットに関連付けられた前記強度情報に少なくとも部分的に基づいて、前記コーディングユニットにデブロッキングフィルタリングを適用することであって、適用された前記デブロッキングフィルタリングは、量子化パラメータのオフセットに基づいて選択的に修正され境界フィルタリングを指定するフィルタリングパラメータβおよびｔｃに基づいており、前記オフセットは、前記境界に関連付けられた画素の決定された前記強度情報に少なくとも部分的に基づいている、適用することが可能なようにエンコードされた前記ビデオの前記ビットストリームを構成することと、を含む、方法。
【請求項１４】
より大きな前記オフセットによって、当該より大きな前記オフセットがない場合と比較して、より強いフィルタリングが得られる、請求項１３に記載の方法。
【請求項１５】
前記オフセットは、互いに異なる３つ以上の量子化パラメータの前記オフセットを含む、請求項１４に記載の方法。
【請求項１６】
前記デブロッキングフィルタリングは、クリッピングにさらに基づいている、請求項１５に記載の方法。
【請求項１７】
前記クリッピングは、前記フィルタリングパラメータのうちの１つに基づいている、請求項１６に記載の方法。
【請求項１８】
前記クリッピングは、前記量子化パラメータに基づいている、請求項１６に記載の方法。
【国際調査報告】
2021520104.tif 000021
2021520104.tif 000022