(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-07
(54)【発明の名称】参照画像再サンプリング(RPR)によるルマ及びクロマのための適応アップサンプリングフィルタ
(51)【国際特許分類】
H04N 19/117 20140101AFI20231030BHJP
H04N 19/176 20140101ALI20231030BHJP
H04N 19/186 20140101ALI20231030BHJP
【FI】
H04N19/117
H04N19/176
H04N19/186
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023525506
(86)(22)【出願日】2022-08-01
(85)【翻訳文提出日】2023-04-26
(86)【国際出願番号】 US2022074382
(87)【国際公開番号】W WO2023015161
(87)【国際公開日】2023-02-09
(32)【優先日】2021-08-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-07-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チェン,リン-フェイ
(72)【発明者】
【氏名】リー,シャン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LA02
5C159LC09
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159PP04
5C159RC11
5C159TA69
5C159TB08
5C159TC10
5C159TC43
5C159TD15
5C159UA02
5C159UA05
(57)【要約】
コーディングされた情報は、適応アップサンプリングフィルタが現在のピクチャ内の現在のブロックに適用されることを示す。現在のブロックの複数のサブブロックの各々に対してそれぞれのクラスが決定される。適応アップサンプリングフィルタの複数のフィルタ係数セットから、複数のサブブロックの各々に対してそれぞれのフィルタ係数セットが決定される。それぞれのフィルタ係数セットは、それぞれのサブブロックに対応する少なくとも1つのクラスと、現在のピクチャの参照ピクチャに適用される参照ピクセル再サンプリング(RPR)のそれぞれのサンプリングレートに基づいて決定される。それぞれのサンプリングレートは、RPRの複数の位相のうちの1つに関連付けられる。二次適応ループフィルタ(ALF)を適用することなく、決定されたそれぞれのフィルタ係数セットに基づいて、適応アップサンプリングフィルタが現在のブロックに適用されて、現在のブロックのフィルタリングされた再構成サンプルを生成する。
【特許請求の範囲】
【請求項1】
ビデオデコーダにおいて実行されるビデオデコーディングの方法であって、
コーディングされたビデオビットストリームから現在のピクチャ内の現在のブロックのコーディングされた情報を受信するステップであって、前記コーディングされた情報は、適応アップサンプリングフィルタが前記現在のブロックに適用されることを示す、ステップと、
前記現在のブロックから複数のサブブロックの各々に対してそれぞれのクラスを決定するステップと、
前記それぞれのサブブロックに対応する少なくとも1つのクラスと、前記現在のピクチャの参照ピクチャに適用される参照画素再サンプリング(RPR)のそれぞれのサンプリングレートに基づいて、前記適応アップサンプリングフィルタの複数のフィルタ係数セットから前記複数のサブブロックの各々に対してそれぞれのフィルタ係数セットを決定するステップであって、前記それぞれのサンプリングレートは、前記RPRの複数の位相のうちの1つに関連付けられている、ステップと、
二次適応ループフィルタ(ALF)を適用することなく、前記複数のサブブロックに対して前記決定されたそれぞれのフィルタ係数セットに基づいて、前記適応アップサンプリングフィルタを前記現在のブロックに適用して、前記現在のブロックのフィルタリングされた再構成サンプルを生成するステップと、を含む、方法。
【請求項2】
前記それぞれのクラスを決定するステップは、
前記それぞれのサブブロックのルマサンプルのローカル勾配の方向性とアクティビティに基づいて、前記複数のサブブロックの各々のそれぞれのクラスインデックスを決定するステップと、
前記それぞれのサブブロックに対応する前記クラスインデックスに基づいて、前記複数のサブブロックの各々の前記それぞれのクラスを決定するステップと、をさらに含む、請求項1に記載の方法。
【請求項3】
前記現在のブロックのルマサンプルに対する前記複数のフィルタ係数セットの数は、NとMの積に等しく、前記Nは、前記現在のブロックに関連付けられた前記クラスの数であり、前記Mは、前記現在のブロックの前記ルマサンプルに関連付けられた前記RPRの前記複数の位相の数である、請求項1に記載の方法。
【請求項4】
前記現在のブロックのクロマサンプルに対する前記フィルタ係数セットの数は、Lに等しく、前記Lは、前記現在のブロックの前記クロマサンプルに関連付けられた前記RPRの前記複数の位相の数である、請求項1に記載の方法。
【請求項5】
前記複数のフィルタ係数セットのうちの第1のフィルタ係数セットの第1のコスト値を決定するステップであって、前記第1のコスト値は、前記第1のフィルタ係数セットに基づいて、前記現在のブロックと前記現在のブロックのフィルタリングされた再構成サンプルとの間の歪みを示す、ステップと、
前記複数のフィルタ係数セットのうちの第2のフィルタ係数セットの第2のコスト値を決定するステップであって、前記第2のコスト値は、前記第2のフィルタ係数セットに基づいて、前記現在のブロックと前記現在のブロックのフィルタリングされた再構成サンプルとの間の歪みを示す、ステップと、
前記第1のフィルタ係数セットと前記第2のフィルタ係数セットのうちの1つを、前記第1のコスト値と前記第2のコスト値のどちらが小さいかに基づいて選択することと、をさらに含む、請求項1に記載の方法。
【請求項6】
前記第1のフィルタ係数セットは、第1のクラスのインデックスに関連付けられ、
前記第2のフィルタ係数セットは、第2のクラスのインデックスに関連付けられ、前記第2のクラスのインデックスは、前記第1のクラスのインデックスに連続する、請求項5に記載の方法。
【請求項7】
前記第1のフィルタ係数セットは、前記RPRの前記複数の位相のうちの第1の位相に関連付けられ、
前記第2のフィルタ係数セットは、前記RPRの前記複数の位相のうちの第2の位相に関連付けられ、前記第2の位相は、前記RPRの前記第1の位相に連続する、請求項5に記載の方法。
【請求項8】
前記現在のブロックのルマサンプルに対する前記複数のフィルタ係数セットの数は、NとPの積に等しく、前記Nは、前記現在のブロックに関連付けられた前記クラスの数であり、前記Pは、前記現在のピクチャからパーティショニングされた領域の数である、請求項5に記載の方法。
【請求項9】
前記第1のフィルタ係数セットは、前記現在のピクチャの第1の領域に関連付けられ、
前記第2のフィルタ係数セットは、前記現在のピクチャの第2の領域に関連付けられている、請求項8に記載の方法。
【請求項10】
前記複数のフィルタ係数セットは、前記コーディングされた情報の適応パラメータセットに含まれる、請求項1に記載の方法。
【請求項11】
前記適応アップサンプリングフィルタは、ルマ適応アップサンプリングフィルタとクロマ適応アップサンプリングフィルタをさらに含み、
前記現在のブロックの前記フィルタリングされた再構成サンプルの高解像度ルマコンポーネントは、前記ルマ適応アップサンプリングフィルタへの入力として前記現在のブロックの再構成サンプルの低解像度ルマコンポーネントに基づいて生成され、
前記現在のブロックの前記フィルタリングされた再構成サンプルの高解像度クロマコンポーネントは、前記クロマ適応アップサンプリングフィルタへの入力として前記現在のブロックの前記再構成サンプルの低解像度ルマコンポーネント及び低解像度クロマコンポーネントに基づいて生成される、請求項1に記載の方法。
【請求項12】
請求項1~11のいずれか一項に記載の方法を実行するように構成されている処理回路機構を含む、装置。
【請求項13】
命令を含むコンピュータプログラムであって、前記命令は、少なくとも1つのプロセッサによって実行されるときに、前記少なくとも1つのプロセッサに、請求項1~11のいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2021年8月2日に出願された米国仮出願第63/228,560号「Adaptive Up-Sampling Filter For Luma and Chroma With Reference Picture Resampling (RPR)」に対する優先権の利益を主張する2022年7月29日に出願された米国出願第17/877,818号「REFERENCE PICTURE RESAMPLING (RPR)」に対する優先権の利益を主張する。先の出願の開示全体は、それら全体が参照により本明細書に援用される。
【0002】
本開示は、ビデオコーディングに一般的に関係する実施形態を記載する。
【背景技術】
【0003】
本明細書で提供される背景技術は、本開示の文脈を一般的に提示することを目的とする。本件の発明者の仕事は、その仕事がこの背景技術のセクションに記載されている範囲において、また、出願時に他の点では先行技術として適格でないかもしれない説明の態様は、本開示に対する先行技術として明示的にも暗示的にも認められていない。
【0004】
非圧縮デジタルビデオは、一連のピクチャを含むことができ、各ピクチャは、例えば、1920×1080の輝度サンプル及び関連する色差サンプルの空間寸法を有する。一連のピクチャは、例えば、例えば、1秒当たり60ピクチャ/秒又は60Hzの固定又は可変のピクチャレートを有することができる。非圧縮ビデオは、特定のビットレート要件を有する。例えば、サンプル当たり8ビットでの1080p60 4:2:0ビデオ(60Hzのフレームレートでの1920x1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。このようなビデオの1時間は、600Gバイトを超える記憶空間を必要とする。
【0005】
ビデオコーディング及びデコーディングの1つの目的は、圧縮による入力ビデオ信号の冗長性の低減である。圧縮は、場合によっては、前述の帯域幅及び/又は記憶空間の必要性を2桁以上低減する助けとなり得る。可逆圧縮及び不可逆圧縮の両方、並びにそれらの組み合わせが用いられ得る。可逆圧縮とは、元の信号の正確なコピーを圧縮された元の信号から再構成することができる技術を指す。不可逆圧縮を使用するときに、再構成された信号は、元の信号と同一ではないことがあるが、元の信号と再構成された信号との間の歪みは、再構成された信号を意図されたアプリケーションに有用にするのには十分小さい。ビデオの場合、不可逆圧縮が広く用いられる。認容される歪みの量は、用途に依存し、例えば、特定の消費者ストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高い歪みを認容することがある。達成可能な圧縮比は、より高い許容可能/認容可能な歪みは、より高い圧縮比をもたらすことができることを反映できる。
【0006】
ビデオエンコーダ及びデコーダは、例えば、モーション補償、変換、量子化、及びエントロピーコーディングを含むいくつかの広範なカテゴリからの技術を利用することができる。
【0007】
ビデオコーデック技術は、イントラコーディングとして知られる技術を含むことができる。イントラコーディングでは、サンプル値は、以前に再構成された参照ピクチャからのサンプル又は他のデータを参照することなく表現される。いくつかのビデオコーデックでは、ピクチャは空間的にサンプルのブロックに細分化される。サンプルのすべてのブロックがイントラモードでコーディングされるときに、そのピクチャはイントラピクチャとすることができる。イントラピクチャと、独立デコーダリフレッシュピクチャのようなそれらの派生物は、デコーダ状態をリセットするために使用することができ、したがって、コーディングされたビデオビットストリーム及びビデオセッションにおける最初のピクチャとして、又は静止画像として使用され得る。イントラブロックのサンプルを変換に曝すことができ、変換係数がエントロピーコーディングの前に量子化され得る。イントラ予測は、変換前ドメインにおいてサンプル値を最小化する技術であり得る。場合によっては、変換後のDC値が小さく、AC係数が小さいほど、エントロピーコーディング後のブロックを表すために所与の量子化ステップサイズで必要とされるビット数が少なくなる。
【0008】
例えばMPEG-2世代コーディング技術から知られているような伝統的なイントラコーディングは、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、空間的に近接し、かつデコード順に先行するデータブロックのエンコード及び/又はデコード中に取得された、周囲のサンプルデータ及び/又はメタデータから試みる技術を含む。このような技法は、以後「イントラ予測」技術と呼ばれる。少なくともいくつかのケースでは、イントラ予測は再構成中の現在のピクチャからの参照データのみを使用し、参照ピクチャからの参照データは使用しないことに留意する。
【0009】
様々な形態のイントラ予測があり得る。所与のビデオコーディング技術において、そのような技術のうちの1つ以上を使用することができる場合、使用中の技術は、イントラ予測モードでコーディングされ得る。特定の場合には、モードは、サブモード及び/又はパラメータを有することができ、それらは、個別にコーディングすることができ、又はモードコードワードに含まれ得る。所与のモード、サブモード、及び/又はパラメータ結合に対してどのコードワードをするかは、イントラ予測を通じてコーディング効率ゲインに影響を及ぼし、また、コードワードをビットストリームに変換するために使用されるエントロピーコーディング技術にも影響を及ぼす可能性がある。
【0010】
イントラ予測の特定のモードがH.264で導入され、H.265で改良され、ジョイント探索モデル(JEM)、汎用ビデオコーディング(VVC)、及びベンチマークセット(BMS)のようなより新しいコーディング技術でさらに改良された。予測子ブロックは、既に利用可能なサンプルに属する近接するサンプル値を使用して形成され得る。近接するサンプルのサンプル値は、方向に従って予測子ブロックにコピーされる。使用中の方向への参照は、ビットストリームにおいてコーディングされ得、又はそれ自体が予測されてもよい。
【0011】
図1Aを参照すると、右下に描写されているのは、H.265の33個の可能な予測子方向から知られている9個の予測子方向のサブセットである(35個のイントラモードの33個の角度モードに対応する)。矢印が収束する点(101)は、予測されているサンプルを表す。矢印は、サンプルが予測されている方向を表す。例えば、矢印(102)は、サンプル(101)が、水平から45度の角度で、サンプル又は複数のサンプルから右上に向かって予測されることを示す。例えば、矢印(103)は、サンプル(101)が、水平から22.5度の角度で、サンプル又は複数のサンプルから左下に向かって予測されることを示す。
【0012】
引き続き
図1Aを参照すると、左上には、4×4サンプルの正方形ブロック(104)が描写されている(破線の太線で示されている)。正方形ブロック(104)は、16個のサンプルを含み、各サンプルは「S」、Y次元におけるその位置(例えば、行インデックス)、及びX次元におけるその位置(例えば、列インデックス)がラベル付けされている。例えば、サンプルS21は、Y次元における(上から)2番目のサンプルで、X次元における(左から)1番目のサンプルである。同様に、サンプルS44は、Y及びX次元の両方においてブロック(104)における第4のサンプルである。ブロックのサイズが4×4サンプルであるので、S44は右下にある。さらに、同様の番号付けスキームに従った参照サンプルを示す。参照サンプルは、ブロック(104)に対して、R、そのY位置(例えば、行インデックス)、及びX位置(列インデックス)でラベル付けされている。H.264とH.265の両方で、予測サンプルは再構成中のブロックに近接しているため、負の値を使用する必要はない。
【0013】
イントラピクチャ予測は、シグナリングされた予測方向によって適切に、近接するサンプルから参照サンプル値をコピーすることによって動くことができる。例えば、コーディングされたビデオビットストリームは、このブロックについて、矢印(102)と一致する予測方向を示すシグナリングを含むと仮定する。すなわち、サンプルは、予測サンプル又は複数のサンプルから水平方向から45度の角度で右上に向かって予測される。その場合、サンプルS41、S32、S23、及びS14は、同じ参照サンプルR05から予測される。次いで、サンプルS44は、参照サンプルR08から予測される。
【0014】
特定の場合には、特に方向が45度で均一に割り切れないときに、参照サンプルを計算するために、複数の参照サンプルの値が、例えば補間を通して組み合わせられてもよい。
【0015】
ビデオコーディング技術の発達に伴い、可能な方向の数が増加している。H.264(2003年)では、9つの異なる方向を表すことができた。これは、H.265(2013年)で33に増加し、開示時のJEM/VVC/BMSでは、最大65の方向をサポートすることができる。最も可能性の高い方向を識別するために実験が行われ、エントロピーコーディングにおける特定の技術が、より可能性の低い方向に対する特定のペナルティを許容して、少数のビットでそれらの可能性のある方向を表すために使用される。さらに、方向それ自体は、時として、近接する、すでにデコードされたブロックで使用される近接方向から予測され得る。
【0016】
図1Bは、経時的に増加する予測方向の数を示すために、JEMによる65のイントラ予測方向を描写する概略(110)を示す。
【0017】
方向を表すコーディングされたビデオビットストリームにおけるイントラ予測方向ビットのマッピングは、ビデオコーディング技術によって異なることができ、例えば、予測方向の単純な直接マッピングからイントラ予測モード、コードワード、最も可能性の高いモードを伴う複雑な適応方式、及び類似の技術に及ぶ可能性がある。しかし、どのような場合でも、ビデオコンテンツにおいて、特定の他の方向よりも統計的に発生しにくい特定の方向があり得る。ビデオ圧縮の目標は冗長性の低減であるので、良好に動くビデオコーディング技術においては、より可能性の高い方向よりもより多くのビット数によって、より可能性の低い方向が表される。
【0018】
ビデオコーディングとデコーディングは、モーション補正を伴うインターピクチャ予測を用いて行われ得る。モーション補償は、非可逆圧縮技術であり得、以前に再構成されたピクチャ又はその一部(参照ピクチャ)からのサンプルデータのブロックが、モーションベクトル(以降、MV)によって示される方向に空間的にシフトされた後に、新しい再構成ピクチャ又はピクチャパーティションの予測のために使用される技術に関連することができる。場合によっては、参照ピクチャが、現在再構成中のピクチャと同じである可能性がある。MVは、X及びYの2次元、又は3次元を有し、第3の次元は、使用中の参照ピクチャの指標である(後者は、間接的に、時間次元であり得る)。
【0019】
いくつかのビデオ圧縮技術では、サンプルデータの所定のエリアに適用可能なMVは、他のMV、例えば、再構成中のエリアに空間的に隣接し、デコーディング順でそのMVに先行するサンプルデータの別のエリアに関連するMVから予測され得る。そのようにすることによって、MVをコーディングするために必要なデータ量を大幅に削減することができ、それによって冗長性を除去し、圧縮を増加させる。MV予測は、例えば、カメラから導出された入力ビデオ信号(ナチュラルビデオとして知られる)をコーディングするときに、単一のMVが適用可能なエリアよりも大きなエリアが同様の方向に移動する統計的可能性があり、場合によっては、近接するエリアのMVから導出された同様のモーションベクトルを用いて予測され得るので、効果的に機能することができる。これは、所与のエリアに対して、周囲のMVから予測されるMVと類似するか、又は同じであることが見出されるMVをもたらし、それは、エントロピーコーディングの後に、MVを直接コーディングする場合に使用されるであろうものよりも、より少ない数のビットで表され得る。場合によっては、MV予測は、元の信号(すなわち、サンプルストリーム)から導出された信号の可逆圧縮の一例(すなわち、MV)であり得る。他の場合には、MV予測それ自体は、例えば、いくつかの周囲のMVから予測子を計算するときの丸め誤差のために、不可逆的であり得る。
【0020】
H.265/HEVC (ITU-T Rec. H.265、「High Efficiency Video Coding」、 December 2016)には、様々なMV予測メカニズムが記載されている。H.265が提供する多くのMV予測メカニズムのうち、本明細書には、以降、「空間マージ」と呼ばれる技術が記載される。
【0021】
図2を参照すると、現在のブロック(201)は、空間的にシフトされた同じサイズの以前のブロックから予測可能であることがモーション探索処理中にエンコーダによって見出されたサンプルを含む。MVを直接コーディングする代わりに、MVは、1つ以上の参照ピクチャに関連付けられたメタデータから、例えば、A0、A1、及びB0、B1、B2(それぞれ202から206)と示される5つの周囲のサンプルのいずれかに関連付けられたMVを使用して、(デコーディング順で)最新の参照ピクチャから導出され得る。H.265では、MV予測は、近接するブロックが使用しているのと同じ参照ピクチャからの予測子を使用することができる。
【発明の概要】
【0022】
本開示の態様は、ビデオコーディング/デコーディングのための方法及び装置を提供する。いくつかの例では、ビデオデコーディングための装置は、受信回路機構を含む。
【0023】
本開示の一態様によれば、ビデオデコーダにおいて実行されるビデオデコーディングの方法が提供される。本方法では、現在のピクチャ内の現在のブロックのコーディングされた情報が、コーディングされたビデオビットストリームから受信され得る。コーディングされた情報は、適応アップサンプリングフィルタが現在のブロックに適用されることを示すことができる。現在のブロックの複数のサブブロックの各々に対してそれぞれのクラスが決定され得る。適応アップサンプリングフィルタの複数のフィルタ係数セットから、複数のサブブロックの各々に対してそれぞれのフィルタ係数セットが決定され得る。それぞれのフィルタ係数セットは、それぞれのサブブロックに対応する少なくとも1つのクラスと、現在のピクチャの参照ピクチャに適用される参照ピクセル再サンプリング(RPR)のそれぞれのサンプリングレートに基づいて決定され得る。それぞれのサンプリングレートは、RPRの複数の位相のうちの1つに関連付けられ得る。二次適応ループフィルタ(ALF)を適用することなく、複数のサブブロックに対して決定されたそれぞれのフィルタ係数セットに基づいて、適応アップサンプリングフィルタが現在のブロックに適用されて、現在のブロックのフィルタリングされた再構成サンプルを生成し得る。
【0024】
それぞれのクラスを決定するために、それぞれのサブブロックのルマサンプルのローカル勾配の方向性とアクティビティに基づいて、複数のサブブロックの各々に対してそれぞれのクラスインデックスが決定され得る。それぞれのサブブロックに対応するクラスインデックスに基づいて、複数のサブブロックの各々に対してそれぞれのクラスが決定され得る。
【0025】
いくつかの実施形態では、現在のブロックのルマサンプルに対する複数のフィルタ係数セットの数は、NとMの積に等しくすることができる。Nは、現在のブロックに関連付けられたクラスの数とすることができ、Mは、現在のブロックのルマサンプルに関連付けられたRPRの複数の位相の数とすることができる。
【0026】
現在のブロックのクロマサンプルに対するフィルタ係数セットの数は、Lに等しくすることができ、Lは、現在のブロックのクロマサンプルに関連付けられたRPRの複数の位相の数とすることができる。
【0027】
方法では、複数のフィルタ係数セットのうちの第1のフィルタ係数セットの第1のコスト値が決定され得る。第1のコスト値は、第1のフィルタ係数セットに基づいて、現在のブロックと現在のブロックのフィルタリングされた再構成サンプルとの間の歪みを示すことができる。複数のフィルタ係数セットのうちの第2のフィルタ係数セットの第2のコスト値が決定され得る。第2のコスト値は、第2のフィルタ係数セットに基づいて、現在のブロックと現在のブロックのフィルタリングされた再構成サンプルとの間の歪みを示すことができる。第1のフィルタ係数セットと第2のフィルタ係数セットのうちの1つが、第1のコスト値と第2のコスト値のどちらが小さいかに基づいて選択され得る。
【0028】
いくつかの実施形態では、第1のフィルタ係数セットは、第1のクラスのインデックスに関連付けられ得、第2のフィルタ係数セットは、第2のクラスのインデックスと関連付けられ得る。第2のクラスのインデックスは、第1のクラスのインデックスに連続することができる。
【0029】
いくつかの実施形態では、第1のフィルタ係数セットは、RPRの複数の位相うちの第1の位相に関連付けられ得、第2のフィルタ係数セットは、RPRの複数の位相のうちの第2の位相に関連付けられ得、第2の位相は、RPRの第1の位相に連続することができる。
【0030】
いくつかの実施形態では、現在のブロックのルマサンプルに対する複数のフィルタ係数セットの数は、NとPの積に等しくすることができる。Nは、現在のブロックに関連付けられたクラスの数とすることができ、Pは、現在のピクチャからパーティショニングされた領域の数とすることができる。したがって、第1のフィルタ係数セットは、現在のピクチャの第1の領域に関連付けられ得、第2のフィルタ係数セットは、現在のピクチャの第2の領域に関連付けられ得る。
【0031】
本方法では、複数のフィルタ係数セットは、コーディングされた情報の適応パラメータセットに含まれ得る。
【0032】
適応アップサンプリングフィルタは、ルマ適応アップサンプリングフィルタとクロマ適応アップサンプリングフィルタをさらに含むことができる。現在のブロックのフィルタリングされた再構成サンプルの高解像度ルマコンポーネントは、ルマ適応アップサンプリングフィルタへの入力として現在のブロックの再構成サンプルの低解像度ルマコンポーネントに基づいて生成され得る。現在のブロックの前記フィルタリングされた再構成サンプルの高解像度クロマコンポーネントは、クロマ適応アップサンプリングフィルタへの入力として現在のブロックの再構成サンプルの低解像度ルマコンポーネント及び低解像度クロマコンポーネントに基づいて生成され得る。
【0033】
本開示の別の態様によれば、装置が提供される。装置は、処理回路機構を含む。処理回路機構は、ビデオエンコーディング/デコーディングのための方法のうちの任意のものを実行するように構成され得る。
【0034】
本開示の態様はまた、命令を記憶する非一時的なコンピュータ可読媒体を提供し、命令は、ビデオデコーディングのためにコンピュータによって実行されるときに、コンピュータがビデオエンコーディング/デコーディングのための方法のいずれかを実行させる非一時的なコンピュータ可読媒体を提供する。
【図面の簡単な説明】
【0035】
開示された主題のさらなる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになるであろう。
【0036】
【
図1A】イントラ予測モードの例示的なサブセットの概略図である。
【0037】
【0038】
【
図2】一例における現在のブロックとその周囲の空間マージ候補の概略図である。
【0039】
【
図3】一実施形態による通信システム(300)の簡略ブロック図の概略図である。
【0040】
【
図4】一実施形態による通信システム(400)の簡略ブロック図の概略図である。
【0041】
【
図5】一実施形態によるデコーダの簡略ブロック図の概略図である。
【0042】
【
図6】一実施形態によるエンコーダの簡略ブロック図の概略図である。
【0043】
【
図7】別の実施形態によるエンコーダのブロック図を示す。
【0044】
【
図8】別の実施形態によるデコーダのブロック図を示す。
【0045】
【
図9】いくつかの実施形態による、適応ループフィルタ(ALF)及びクロスコンポーネントALF(CC-ALF)の概略図である。
【0046】
【
図10A】いくつかの実施形態による、参照ピクチャ再サンプリング(RPR)のためのALFの第1の例示的な概略図である。
【0047】
【
図10B】いくつかの実施形態による、RPRのためのALFの第2の例示的な概略図である。
【0048】
【
図11】いくつかの実施形態による、適応アップサンプリングフィルタの概略図である。
【0049】
【
図12】本開示のいくつかの実施形態による、例示的なデコーディングプロセスを概説するフローチャートを示す。
【0050】
【
図13】本開示のいくつかの実施形態による、例示的なエンコーディングプロセスを概説するフローチャートを示す。
【0051】
【
図14】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0052】
図3は、本開示の一実施形態による通信システム(300)の簡略ブロック図を示す。通信システム(300)は、例えばネットワーク(350)を介して互いに通信することができる複数の端末デバイスを含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された第1の対の端末デバイス(310)及び(320)を含む。
図3の例では、第1の対の端末デバイス(310)及び(320)は、データの一方向伝送を行う。例えば、端末デバイス(310)は、ネットワーク(350)を介した他の端末デバイス(320)への伝送のために、ビデオデータ(例えば、端末デバイス(310)によってキャプチャされるビデオピクチャのストリーム)をコーディングしてもよい。エンコーディングされたビデオデータは、1つ以上のコーディングされたビデオビットストリームの形態で送信され得る。端末デバイス(320)は、ネットワーク(350)からコーディングされたビデオデータを受信し、コーディングされたビデオデータをデコーディングして、ビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示してもよい。一方向性データ伝送は、メディアサービスアプリケーションなどにおいて一般的である。
【0053】
別の例では、通信システム(300)は、例えば、ビデオ会議中に発生し得るコーディングされたビデオデータの双方向伝送を行う第2の対の端末デバイス(330)及び(340)を含む。データの双方向伝送のために、一例では、端末デバイス(330)及び(340)の各端末デバイスは、ネットワーク(350)を介した端末デバイス(330)及び(340)の他方の端末デバイスへの伝送のために、ビデオデータ(例えば、端末デバイスによってキャプチャされるビデオピクチャのストリーム)をコーディングしてもよい。端末デバイス(330)及び(340)の各端末デバイスはまた、端末デバイス(330)及び(340)の他方の端末デバイスによって送信されたコーディングされたビデオデータを受信してもよく、コーディングされたビデオデータをデコーディングして、ビデオピクチャを復元し、復元されたビデオデータに従って、アクセス可能なディスプレイデバイスにビデオピクチャを表示してもよい。
【0054】
図3において、端末デバイス(310)、(320)、(330)及び(340)は、サーバ、パーソナルコンピュータ及びスマートフォンとして示されてもよいが、本開示の原理は、それらに限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は専用のビデオ会議機器を用いてアプリケーションを見出す。ネットワーク(350)は、例えば、有線及び/又は無線通信ネットワークを含む、端末デバイス(310)、(320)、(330)及び(340)間でコーディングされたビデオデータを搬送する任意の数のネットワークを表す。通信ネットワーク(350)は、回線交換及び/又はパケット交換チャネルにおいてデータを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットを含む。本説明の目的のために、ネットワーク(350)のアーキテクチャ及びトポロジーは、以下に説明しない限り、本開示の動作には重要ではない。
【0055】
図4は、開示された主題のアプリケーションのための例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示す。開示された主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮されたビデオの記憶などを含む、他のビデオ可能化アプリケーションにも同様に適用可能である。
【0056】
ストリーミングシステムは、例えば圧縮されていないビデオピクチャのストリーム(402)を作成するビデオソース(401)、例えばデジタルカメラを含むことができるキャプチャサブシステム(413)を含んでもよい。一例では、ビデオピクチャのストリーム(402)は、デジタルカメラによって撮影されるサンプルを含む。エンコーディングされたビデオデータ(404)(又はコーディングされたビデオビットストリーム)と比較されたときに、高データ量を強調する太い線として描写されたビデオピクチャのストリーム(402)は、ビデオソース(401)に結合されたビデオエンコーダ(403)を含む電子デバイス(420)によって処理され得る。ビデオエンコーダ(403)は、ハードウェア、ソフトウェア、又はそれらの組み合わせを含むことができ、以下により詳細に記載されるように、開示された主題の態様を可能にするか、又は実装する。エンコーディングされたビデオデータ(404)(エンコーディングされたビットストリーム(404))は、ビデオピクチャ(402)のストリームと比較されるときに、より低いデータボリュームを強調するために細いラインとして示されており、将来の使用のためにストリーミングサーバ(405)に記憶され得る。
図4のクライアントサブシステム(406)及び(408)などの1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(405)にアクセスして、エンコーディングされたビデオデータ(404)の複製(407、409)を取得することができる。クライアントサブシステム(406)は、例えば電子デバイス(430)内にビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、エンコーディングされたビデオデータの入って来るコピー(407)をデコードし、ディスプレイ(412)(例えば、ディスプレイスクリーン)又は他のレンダリングデバイス(図示せず)上にレンダリングされ得るビデオピクチャの出て行くストリーム(411)を作成する。いくつかのストリーミングシステムでは、エンコーディングされたビデオデータ(404)、(407)、及び(409)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮標準に従ってエンコーディングされ得る。これらの標準の例は、ITU-T勧告H.265を含む。一例では、開発中のビデオコーディング標準は、VVC(Versatile Video Coding)と非公式に知られている。開示された主題事項は、VVCの文脈で使用され得る。
【0057】
電子デバイス(420)及び(430)は、他のコンポーネント(図示せず)を含むことができることに留意する。例えば、電子デバイス(420)は、ビデオデコーダ(図示せず)を含むことができ、電子デバイス(430)は、ビデオエンコーダ(図示せず)も含むことができる。
【0058】
図5は、本開示の一実施形態によるビデオデコーダ(510)のブロック図を示す。ビデオデコーダ(510)は、電子デバイス(530)に含まれ得る。電子デバイス(530)は、受信機(531)(例えば、受信回路機構)を含むことができる。ビデオデコーダ(510)は、
図4の例におけるビデオデコーダ(410)の代わりに使用され得る。
【0059】
受信機(531)は、デコーダ(510)によってデコーディングされる1つ以上のコーディングされたビデオシーケンスを受信してもよく、同じ又は別の実施形態では、一度に1つのコーディングされたビデオシーケンスを受信してもよく、各コーディングされたビデオシーケンスのデコーディングは、他のコーディングされたビデオシーケンスから独立している。コーディングされたビデオシーケンスは、チャネル(501)から受信してもよく、このチャネルは、エンコーディングされたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであってもよい。受信機(531)は、エンコーディングされたビデオデータを、他のデータ、例えば、コーディングされたオーディオデータ及び/又は補助的なデータストリームと共に受信してもよく、これらのデータは、それぞれのエンティティ(図示せず)を使用して転送されてもよい。受信機(531)は、コーディングされたビデオシーケンスを他のデータから分離してもよい。ネットワークジッタと闘うために、バッファメモリ(515)は、受信機(531)とエントロピーデコーダ/解析器(520)(以後「解析器(520)」)との間で結合されてもよい。特定の用途では、バッファメモリ(515)は、ビデオデコーダ(510)の一部である。他の場合には、ビデオデコーダ(510)の外にあり得る(図示せず)。さらに別の場合では、例えばネットワークジッタに対抗するために、ビデオデコーダ(510)の外にバッファメモリ(図示せず)があり得、追加的に、例えば再生タイミングを処理するために、ビデオデコーダ(510)の内に別のバッファメモリ(515)があり得る。受信機(531)が、十分な帯域幅及び制御可能性を有する記憶/転送装置から、又はアイソクロナスネットワークからデータを受信しているときに、バッファ(515)は、不要であってもよく、又は小さくすることができる。インターネットのようなベストエフォート型パケットネットワークでの使用の場合、バッファメモリ(515)は、必要とされてもよく、比較的大きくすることができ、有利には適応サイズであり得、ビデオデコーダ(510)の外のオペレーティングシステム又は類似の要素(図示せず)に少なくとも部分的に実装されてもよい。
【0060】
ビデオデコーダ(510)は、コーディングされたビデオシーケンスからシンボル(521)を再構成するための解析器(520)を含んでもよい。それらのシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報、及びレンダリングデバイス(512)(例えば、ディスプレイスクリーン)のような、電子デバイス(530)の不可欠な部分ではないが、
図5に示されているように、電子デバイス(530)に結合され得るレンダリングデバイスを制御するための潜在的な情報を含む。レンダリング装置の制御情報は、補足強化情報(SEIメッセージ)又はビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形態であってもよい。解析器(520)は、受信したコーディングされたビデオシーケンスを解析/エントロピーデコーディングしてもよい。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術又は標準に従うことができ、可変長コーディング、ハフマンコーディング、コンテキストセンシティビティを伴う又は伴わない算術コーディングなどを含む様々な原理に従うことができる。解析器(520)は、グループに対応する少なくとも1つのパラメータに基づいて、コーディングされたビデオシーケンスから、ビデオデコーダにおける画素のサブグループのうちの少なくとも1つのサブグループパラメータのセットを抽出してもよい。サブグループは、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。解析器(520)はまた、コーディングされたビデオシーケンスから、変換係数、量子化パラメータ値、モーションベクトルなどの情報を抽出してもよい。
【0061】
解析器(520)は、シンボル(521)を作成するために、バッファメモリ(515)から受信したビデオシーケンスに対してエントロピーデコーディング/解析動作を行ってもよい。
【0062】
シンボル(521)の再構成は、コーディングされたビデオピクチャ又はその部分(例えば、インターピクチャ及びイントラピクチャ、インターブロック及びイントラブロック)のタイプ及び他の要因に応じて、複数の異なるユニットに関与することができる。どのユニットが関与し、どのように関与するかは、解析器(520)によってコーディングされたビデオシーケンスから解析されたサブグループ制御情報によって制御され得る。解析器(520)と以下の複数ユニットとの間のこのようなサブグループ制御情報のフローは、明確にするために描写されない。
【0063】
すでに述べた機能ブロックの他に、デコーダ(510)は、概念的には、後述するように、いくつかの機能ユニットに細分化され得る。商業的制約の下で動作する実用的な実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合することができる。しかしながら、開示された主題を説明するためには、以下の機能ユニットに概念的に細分化することが適切である。
【0064】
第1のユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、解析器(520)からのシンボル(521)として、使用するべき変換、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む制御情報とともに、量子化された変換係数を受信する。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力することができるサンプル値を含むブロックを出力することができる。
【0065】
場合によっては、スケーラ/逆変換(551)の出力サンプルは、イントラコーディングされたブロック、すなわち、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用することができるブロックに関係することができる。このような予測情報は、イントラピクチャ予測ユニット(552)によって提供され得る。場合によっては、イントラピクチャ予測ユニット(552)は、カレントピクチャバッファ(558)からフェッチされ既に再構成された周囲の情報を使用して、再構成中のブロックの同じサイズ及び形状のブロックを生成する。カレントピクチャバッファ(558)は、例えば、部分的に再構成された現在のピクチャ及び/又は完全に再構成された現在のピクチャをバッファする。アグリゲータ(555)は、場合によっては、サンプルごとベースで、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に追加する。
【0066】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされ、潜在的にモーション補償ブロックに関係することができる。このような場合には、モーション補償予測ユニット(553)は、参照ピクチャメモリ(557)にアクセスして、予測のために使用されるサンプルをフェッチすることができる。ブロックに関係するシンボル(521)に従って、フェッチされたサンプルのモーション補償後、これらのサンプルは、アグリゲータ(555)によって、出力サンプル情報を生成するために、スケーラ/逆変換ユニット(551)の出力(この場合、残差サンプル又は残差信号と呼ばれる)に追加され得る。モーション補償ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、例えばX、Y、及び参照ピクチャコンポーネントを有することができるシンボル(521)の形態でモーション補償ユニットに利用可能なモーションベクトルによって制御され得る。モーション補償はまた、サブサンプルの正確なモーションベクトルが使用中であるときに、参照ピクチャメモリ(557)からフェッチされるサンプル値の補間、モーションベクトル予測メカニズムなどを含むことができる。
【0067】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)内の様々なループフィルタリング技術を受けることができる。ビデオ圧縮技術は、コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、解析器(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされるが、コーディングされたピクチャ又はコーディングされたビデオシーケンスの(デコーディング順で)以前の部分のデコーディング中に取得されたメタ情報に応答することができ、また、以前に再構成されループフィルタリングされたサンプル値に応答することもできる、ループ内フィルタ技術を含むことができる。
【0068】
ループフィルタユニット(556)の出力は、レンダリングデバイス(512)に出力し、また将来のインターピクチャ予測に使用するために参照ピクチャメモリ(557)に記憶することができるサンプルストリームとすることができる。
【0069】
特定のコーディングされたピクチャは、いったん完全に再構成されると、将来の予測のための参考ピクチャとして使用され得る。例えば、現在のピクチャに対応するコーディングされたピクチャが完全に再構成され、コーディングされたピクチャが参照ピクチャとして識別されると(例えば、解析器(520)によって)、カレントピクチャバッファ(558)は参照ピクチャバッファ(557)の一部となることができ、新鮮な現在のピクチャバッファが、次のコーディングされるピクチャの再構成を開始する前に再割り当てされ得る。
【0070】
ビデオデコーダ(510)は、ITU-T Rec.H.265などの標準における所定のビデオ圧縮技術に従ってデコーディング動作を行ってもよい。
コーディングされたビデオシーケンスは、コーディングされたビデオシーケンスが、ビデオ圧縮技術又は標準の構文及びビデオ圧縮技術又は標準に文書化されているプロファイルの両方に従うという意味で、使用されているビデオ圧縮技術又は標準によって指定された構文に適合してもよい。具体的には、プロファイルは、特定のツールを、そのプロファイルの下での使用に利用可能な唯一のツールとして、ビデオ圧縮技術又は標準で利用可能なすべてのツールから選択することができる。また、コンプライアンスのために必要なことは、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術又は標準のレベルによって定義される範囲内にあることとし得る。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒メガサンプルで測定される)、最大参照ピクチャサイズなどを制限する。レベルによって設定された制限は、場合によっては、HRD(仮想参照デコーダ、Hypothetical Reference Decoder)使用及びコーディングされたビデオシーケンスでシグナリングされたバッファ管理のためのメタデータを通してさらに制限され得る。
【0071】
一実施形態では、受信機(531)は、エンコーディングされたビデオと共に追加の(冗長な)データを受信してもよい。追加のデータは、コーディングされたビデオシーケンスの一部として含まれてもよい。追加のデータは、データを適切に復号するため、及び/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ(510)によって使用されてもよい。追加のデータは、例えば、時間的、空間的、又は信号雑音比(SNR)強化層、冗長スライス、冗長ピクチャ、前方エラー補正コードなどの形態のものであり得る。
【0072】
図6は、本開示の一実施形態によるビデオエンコーダ(603)のブロック図を示す。ビデオエンコーダ(603)は、電子デバイス(620)に含まれる。電子デバイス(620)は、送信機(640)(例えば、送信回路機構)を含む。ビデオエンコーダ(603)は、
図4の例におけるビデオエンコーダ(403)の代わりに使用され得る。
【0073】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコーディングされるビデオ画像をキャプチャし得るビデオソース(601)(
図6の例では電子デバイス(620)の一部ではない)からビデオサンプルを受信してもよい。別の例では、ビデオソース(601)は、電子デバイス(620)の一部である。
【0074】
ビデオソース(601)は、任意の好適なビット深さ(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 YCrCB、RGB、...)、及び任意の好適なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)のうちのものとすることができるデジタルビデオサンプルストリームの形態で、ビデオエンコーダ(603)によってコーディングされるソースビデオシーケンスを提供してもよい。メディアサービスシステムにおいて、ビデオソース(601)は、以前に準備されたビデオを記憶する記憶デバイスであり得る。ビデオ会議システムでは、ビデオソース(601)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであり得る。ビデオデータは、シーケンスで見たときにモーションを与える複数の個々のピクチャとして提供されてもよい。ピクチャ自体は、画素の空間アレイとして編成されてもよく、各画素は、使用中のサンプリング構造、色空間などに応じて、1つ以上のサンプルを含むことができる。当業者は、画素とサンプルとの関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てる。
【0075】
一実施形態によれば、ビデオエンコーダ(603)は、ソースビデオシーケンスのピクチャを、リアルタイムで、又はアプリケーションによって要求される任意の他の時間制約下で、コーディングされたビデオシーケンス(643)にコーディング及び圧縮してもよい。適切なコーディング速度を実施することは、コントローラ(650)の1つの機能である。いくつかの実施形態において、コントローラ(650)は、以下に記載のように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。結合は、明確にするために示されていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化子、レート歪み最適化技術のラムダ値、...)、ピクチャサイズ、ピクチャグループ(GOP)レイアウト、最大モーションベクトル探索範囲などを含むことができる。コントローラ(650)は、特定のシステム設計のために最適化された、ビデオエンコーダ(603)に関係する他の好適な機能を有するように構成され得る。
【0076】
いくつかの実施形態では、ビデオエンコーダ(603)は、コーディングループで動作するように構成されている。かなり単純化した説明として、一例では、コーディングループは、ソースコーダ(630)(例えば、コーディングされる入力ピクチャ及び参照ピクチャに基づいて、シンボルストリームなどのシンボルを生成することを担当する)と、ビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)と、を含むことができる。デコーダ(633)は、シンボルを再構成して、(シンボルとコーディングされたビデオビットストリームとの間の任意の圧縮が、開示された主題において考慮されたビデオ圧縮技術において可逆であるように)(リモート)デコーダが作成するのと同様の方式でサンプルデータを作成する。再構成サンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームのデコーディングは、デコーダ位置(ローカル又はリモート)に依存しないビット単位で正確な結果をもたらすので、参照ピクチャメモリ(634)における内容も、ローカルエンコーダとリモートエンコーダとの間では、ビット単位で正確である。言い換えると、エンコーダの予測部分は、デコーダがデコーディング中に予測を使用するときに「見る」のとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャ同期性のこの基本原理(例えば、チャンネルエラーにより同期性を維持することができない場合、ドリフトが結果として生じる)が、同様にいくつかの関連技術で使用される。
【0077】
「ローカル」デコーダ(633)の動作は、ビデオデコーダ(510)のような「リモート」デコーダのものと同じにすることができ、これは、
図5と併せて既に詳細に上述されている。また
図5を簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(645)及び解析器(520)によって、コーディングされたビデオシーケンスへのシンボルのコーディング/デコーディングが可逆とすることができるので、バッファメモリ(515)及び解析器(520)を含むビデオデコーダ(510)のエントロピーデコーディング部分は、ローカルデコーダ(633)に完全には実装されなくてもよい。
【0078】
この時点で、デコーダに存在する解析/エントロピーデコーディング以外のいかなるデコーダ技術も、対応するエンコーダにおいて、実質的に同一の機能形態で必ず存在する必要がある、ということが分かっている。このため、開示された主題はデコーダ動作に焦点を当てる。エンコーダ技術の説明は、包括的に記載されたデコーダ技術の逆であるため、省略することができる。特定のエリアにおいてのみ、より詳細な説明が必要であり、以下に提供される。
【0079】
その動作の一部として、ソースコーダ(630)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の以前にコーディングされたピクチャを参照して、入力ピクチャを予測的にコーディングするモーション補償予測コーディングを行ってもよい。このようにして、コーディングエンジン(632)は、入力ピクチャの画素ブロックと、入力ピクチャに対する予測参照として選択され得る参照ピクチャの画素ブロックとの間の差分をコーディングする。
【0080】
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデータを復号してもよい。コーディングエンジン(632)の動作は、有利には、不可逆プロセスであってもよい。コーディングされたビデオデータがビデオデコーダでデコーディングされ得るときに(
図6に図示せず)、再構成されたビデオシーケンスは、典型的には、いくつかのエラーを伴うソースビデオシーケンスのレプリカであってもよい。ローカルビデオデコーダ633は、ビデオデコーダによって参照ピクチャ対して行われ得るデコーディングプロセスをレプリカし、再構成された参照ピクチャが参照ピクチャキャッシュ(634)に記憶されるようにしてもよい。このようにして、ビデオエンコーダ(603)は、遠端ビデオデコーダによって取得されるであろう(伝送誤差が存在しない)再構成された参照ピクチャと共通のコンテンツを有する再構成された参照ピクチャのコピーを、ローカルに記憶してもよい。
【0081】
予測子(635)は、コーディングエンジン(632)について予測探索を行ってもよい。すなわち、コーディングされる新しいピクチャの場合、予測子(635)は、サンプルデータ(候補参照画素ブロックとして)、又は新しいピクチャに対する適切な予測参照として機能する参照ピクチャモーションベクトル、ブロック形状などの特定のメタデータについて参照ピクチャメモリ(634)を探索してもよい。予測子(635)は、適切な予測参照を見つけるために、サンプルブロック対画素ブロックベースで動作してもよい。場合によっては、予測子(635)によって取得された取得結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に記憶された複数の参照ピクチャから引き出された予測参照を有してもよい。
【0082】
コントローラ(650)は、例えば、ビデオデータをエンコーディングするために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理してもよい。
【0083】
前述のすべての機能ユニットの出力は、エントロピーコーダ(645)におけるエントロピーコーディングに供されてもよい。エントロピーコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コーディングなどの技術に従って、可逆圧縮することによって、様々な機能ユニットによって生成されるシンボルをコーディングされたビデオシーケンスに変換する。
【0084】
送信機(640)は、エントロピーコーダ(645)によって作成されるコーディングされたビデオシーケンスをバッファし、通信チャネル(660)を介した伝送のために準備してもよく、通信チャネル(460)は、エンコーディングされたビデオデータを記憶するであろう記憶デバイスへのハードウェア/ソフトウェアリンクであってもよい。送信機(640)は、ビデオコーダ(603)からのコーディングされたビデオデータを、例えばコーディングされたオーディオデータ及び/又は補助的なデータストリーム(ソースは図示せず)など、送信される他のデータとマージしてもよい。
【0085】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理してもよい。コーディングの間、コントローラ(650)は、各コーディングされたピクチャに特定のコーディングされたピクチャタイプを割り当ててもよく、これは、それぞれのピクチャに適用され得るコーディング技術に影響を及ぼしてもよい。例えば、ピクチャは、以下のピクチャタイプの1つとして割り当てられることが多い。
【0086】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の任意の他のピクチャを使用せずに、コーディング及びデコーディングされ得るものであってもよい。いくつかのビデオコーデックは、例えば、独立したデコーダリフレッシュピクチャ(Independent Decoder Refresh Picture)を含む、異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのこれらの変形例、並びにそれらのそれぞれのアプリケーション及び特徴を理解している。
【0087】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、多くても1つのモーションベクトル及び参照インデックスを使用して、イントラ予測又はインター予測を使用してコーディング及びデコーディングされ得るものであってもよい。
【0088】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、多くても2つのモーションベクトル及び参照インデックスを使用して、イントラ予測又はインター予測を使用してコーディング及びデコーディングされ得るものであってもよい。同様に、複数の予測ピクチャは、1つのブロックの再構成のために、2つより多い参照ピクチャ及び関連するメタデータを使用することができる。
【0089】
ソースピクチャは、一般的に、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、又は16×16個のサンプルのブロック)に空間的に細分化され、ブロック対ブロックベースでコーディングされてもよい。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割り当てによって決定されるように、他の(既にコーディングされた)ブロックを参照して予測的にコーディングされてもよい。例えば、Iピクチャのブロックは、非予測的にコーディングされてもよいし、それらは、同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされてもよい(空間予測又はイントラ予測)。Pピクチャの画素ブロックは、1つ前にコーディングされた参照ピクチャを参照して、空間的予測を介してか、又は時間的予測を介して予測的にコーディングされてもよい。Bピクチャのブロックは、1つ又は2つの前にコーディングされた参照ピクチャを参照して、空間的予測を介してか、又は時間的予測を介してコーディングされてもよい。
【0090】
ビデオエンコーダ(603)は、ITU-T Rec.H.265.などの所定のビデオコーディング技術又は標準に従ってコーディング動作を行ってもよい。
その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間的及び空間的冗長性を利用する予測的コーディング動作を含む様々な圧縮動作を行ってもよい。したがって、コーディングされたビデオデータは、使用されているビデオコーディング技術又は標準によって指定された構文に準拠してもよい。
【0091】
一実施形態では、送信機(640)は、エンコーディングされたビデオと共に追加のデータを送信してもよい。ソースコーダ(630)は、コーディングされたビデオシーケンスの一部としてそのようなデータを含んでもよい。追加のデータは、時間的/空間的/SNR強化層、冗長ピクチャ及びスライスなどの他の形態の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを含んでもよい。
【0092】
ビデオは、時間シーケンスにおいて複数のソースピクチャ(ビデオピクチャ)としてキャプチャされてもよい。イントラピクチャ予測(イントラ予測と略されることが多い)は、所与のピクチャ内の空間的相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例では、現在のピクチャと呼ばれるコーディング/デコーディング下の特定のピクチャは、ブロックにパーティショニングされる。現在のピクチャ内のブロックが、ビデオ内の以前にコーディングされ、かつ、依然としてバッファされている参照ピクチャ内の参照ブロックに類似するときに、現在のピクチャ内のブロックは、モーションベクトルと呼ばれるベクトルによってコーディングされ得る。モーションベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用中である場合に、参照ピクチャを識別する第3の次元を有することができる。
【0093】
いくつかの実施形態では、双予測技術は、インターピクチャ予測に使用され得る。双予測技術によれば、ビデオ内の現在のピクチャのデコーディング順序において両方とも前の(ただし、表示順序では、それぞれ過去及び将来であってもよい)第1の参照ピクチャ及び第2の参照ピクチャなどの2つの参照ピクチャが使用される。現在のピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1のモーションベクトルと、第2の参照ピクチャ内の第2の参照ブロックを指す第2のモーションベクトルとによってコーディングされ得る。ブロックは、第1の参照ブロックと第2の参照ブロックの組み合わせによって予測され得る。
【0094】
さらに、コーディング効率を改善するために、インターピクチャ予測にマージモード技術が使用され得る。
【0095】
本開示のいくつかの実施形態によれば、インターピクチャ予測及びイントラピクチャ予測などの予測は、ブロックの単位で行われる。例えば、HEVC標準によれば、ビデオピクチャのシーケンスにおけるピクチャは、圧縮のためにコーディングツリーユニット(CTU)にパーティショニングされ、ピクチャ内部のCTUは、64×64画素、32×32画素、又は16×16画素のように、同じサイズを有する。一般に、CTUは、1つのルマCTBと2つのクロマCTBである3つのコーディングツリーブロック(CTB)を含む。各CTUは、1つ以上のコーディングユニット(CU)に再帰的にクワッドツリーにスプリットされ得る。例えば、64×64画素のCTUは、64×64画素の1つのCU、32×32画素の4つのCU、又は16×16画素の16個のCUにスプリットされ得る。一例では、各CUは、相互予測タイプ又はイントラ予測タイプのような、CUに対する予測タイプを決定するために分析される。CUは時間的及び/又は空間的予測可能性に依存して1つ以上の予測単位(PU)にスプリットされる。一般に、各PUはルマ予測ブロック(PB)と2つのクロマPBを含む。一実施形態では、コーディング(エンコーディング/デコーディング)における予測動作は、予測ブロックの単位で行われる。予測ブロックの一例としてルマ予測ブロックを使用すると、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素など、画素に対する値(例えば、ルマ値)の行列を含む。
【0096】
図7は、本開示の別の実施形態によるビデオデコーダ(703)の図を示す。ビデオエンコーダ(703)は、ビデオピクチャのシーケンス内の現在のビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックをコーディングされたビデオシーケンスの一部であるコーディングされたピクチャにエンコーディングするように構成されている。一例では、ビデオエンコーダ(703)は、
図4の例におけるビデオエンコーダ(403)の代わりに使用される。
【0097】
HEVCの例では、ビデオエンコーダ(703)は、8×8サンプルの予測ブロックなどの処理ブロックに対するサンプル値のマトリックスを受信する。ビデオエンコーダ(703)は、処理ブロックが、例えば、レート歪み最適化を使用して、イントラモード、インターモード、又は双予測モードを使用して、最良にコーディングされるかどうかを決定する。処理ブロックがイントラモードでコーディングされるときに、ビデオエンコーダ703は、処理ブロックをコーディングされたピクチャにエンコーディングするためにイントラ予測技術を使用してもよく、処理ブロックがインターモード又は双予測モードでコーディングされるときに、ビデオエンコーダ703は、処理ブロックをコーディングされたピクチャにコーディングするために、それぞれ、インター予測技術又は双予測技術を使用してもよい。特定のビデオコーディング技術では、マージモードは、予測子の外側のコーディングされたモーションベクトルコンポーネントの利益なしに、モーションベクトルが1つ以上のモーションベクトル予測子から導出されるインターピクチャ予測サブモードとすることができる。特定の他のビデオコーディング技術では、対象ブロックに適用可能なモーションベクトルコンポーネントが存在してもよい。一実施形態では、ビデオエンコーダ(703)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他のコンポーネントを含む。
【0098】
図7の例では、ビデオエンコーダ(703)は、
図7に示すようにまとめて結合された、インターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、汎用コントローラ(721)、及びエントロピーエンコーダ(725)を含む。
【0099】
インターエンコーダ(730)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、ブロックを参照ピクチャ内の1つ以上の参照ブロックと比較し(例えば、前のピクチャ及び後のピクチャ内のブロック)、インター予測情報(例えば、インターエンコーディング技術による冗長情報の記述、モーションベクトル、マージモード情報)を生成し、任意の好適な技術を使用して、インター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成されている。いくつかの例では、参照ピクチャは、コーディングされたビデオ情報に基づいてデコーディングされた参照ピクチャである。
【0100】
イントラエンコーダ(722)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、ブロックを、同じピクチャ内の既にコーディングされたブロックと比較し、変換後に量子化された係数を生成し、また、場合によっては、イントラ予測情報(例えば、1つ以上のイントラエンコーディング技術に従ったイントラ予測方向情報)も生成する。一例では、イントラエンコーダ(722)は、また、同じピクチャ内のイントラ予測情報及び参照ブロックに基づいてイントラ予測結果(例えば、予測ブロック)を計算する。
【0101】
汎用コントローラ(721)は、汎用制御データを決定し、一般制御データに基づいてビデオエンコーダ(703)の他のコンポーネントを制御するように構成されている。一例では、汎用コントローラ(721)は、ブロックのモードを決定し、モードに基づいてスイッチ(726)に制御信号を提供する。例えば、モードがイントラモードであるときに、汎用コントローラ721は、残差計算器723が使用するイントラモードの結果を選択するようにスイッチ726を制御し、イントラ予測情報を選択し、ビットストリームにイントラ予測情報を含めるようにエントロピーエンコーダ725を制御し、モードがインターモードであるときに、汎用コントローラ721は、残差計算器723が使用するインター予測結果を選択するようにスイッチ726を制御し、インター予測情報を選択し、ビットストリームにインター予測情報を含めるようにエントロピーエンコーダ725を制御する。
【0102】
残差計算器(723)は、受信されたブロックと、イントラエンコーダ(722)又はインターエンコーダ(730)から選択された予測結果との間の差(残差データ)を計算するように構成されている。残差エンコーダ(724)は、残差データに基づいて動作し、残差データをエンコードして変換係数を生成するように構成されている。一例では、残差エンコーダ(724)は、残差データを空間ドメインから周波数ドメインにコンバートし、変換係数を生成するように構成されている。次いで、変換係数は、量子化された変換係数を取得するために量子化処理を受ける。様々な実施形態では、ビデオエンコーダ(703)はまた、残差デコーダ(728)を含む。残差デコーダ(728)は、逆変換を実行し、デコードされた残差データを生成するように構成されている。デコードされた残差データは、イントラエンコーダ(722)及びインターエンコーダ(730)によって好適に使用され得る。例えば、インターエンコーダ(730)は、デコードされた残差データ及びインター予測情報に基づいて、デコードされたブロックを生成することができ、イントラエンコーダ(722)は、デコードされた残差データ及びイントラ予測情報に基づいて、デコードされたブロックを生成することができる。デコードされたブロックは、デコードされたピクチャを生成するために好適に処理され、デコードされたピクチャは、メモリ回路(図示せず)内でバッファされ、いくつかの例では参照ピクチャとして使用され得る。
【0103】
エントロピーエンコーダ(725)は、エンコードされたブロックを含むようにビットストリームをフォーマットするように構成されている。エントロピーエンコーダ(725)は、HEVC標準などの好適な標準に従った様々な情報を含むように構成されている。一例では、エントロピーエンコーダ(725)は、一般的な制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及びビットストリーム内の他の好適な情報を含むように構成されている。開示された主題によれば、インターモード又は双予測モードのいずれかのマージサブモードでブロックをコーディングするときに、残基情報は存在しないことに留意する。
【0104】
図8は、本開示の別の実施形態によるビデオデコーダ(810)の図を示す。ビデオデコーダ(810)は、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャを受信し、コーディングされたピクチャをデコーディングして再構成されたピクチャを生成するように構成されている。一例では、ビデオエンコーダ(810)は、
図4の例におけるビデオエンコーダ(410)の代わりに使用される。
【0105】
図8の例では、ビデオデコーダ(810)は、
図8に示すようにまとめて結合された、エントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)、及びイントラデコーダ(872)を含む。
【0106】
エントロピーデコーダ(871)は、コーディングされたピクチャから、コーディングされたピクチャが構成される構文要素を表す特定のシンボルを再構成するように構成され得る。このようなシンボルは、例えば、ブロックがコーディングされるモード(例えば、イントラモード、インターモード、双予測モード、マージサブモード又は別のサブモードにおける後者の2つ)、イントラデコーダ(872)又はインターデコーダ(880)によってそれぞれ予測のために使用される特定のサンプル又はメタデータを識別することができる予測情報(例えば、イントラ予測情報又はインター予測情報)、例えば、量子化された変換係数の形態の残差情報などを含むことができる。一例として、予測モードがインター予測モード又は双予測モードであるときに、インター予測情報がインターデコーダ(880)に提供され、予測タイプがイントラ予測タイプであるときに、イントラ予測情報がイントラデコーダ(872)に提供される。残差情報は、逆量子化を受けることができ、残差デコーダ(873)に提供される。
【0107】
インターデコーダ(880)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成されている。
【0108】
イントラデコーダ(872)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成されている。
【0109】
残差デコーダ(873)は、逆量子化変換係数を抽出するために逆量子化を行い、逆量子化変換係数を処理して残差を周波数領域から空間領域にコンバートするように構成されている。残差デコーダ(873)はまた、特定の制御情報(QP(Quantizer Parameter)を含む必要とすることがあり、その情報は、エントロピーデコーダ(871)によって提供されてもよい(これは、低いボリュームの制御情報のみであり得るので、データパスは描写されていない)。
【0110】
再構成モジュール(874)は、空間領域において、残差デコーダ(873)による出力としての残差と、(場合によっては、インター又はイントラ予測モジュールによる出力としての)予測結果とを組み合わせて、再構成ブロックを形成するように構成されており、この再構成ブロックは、再構成ピクチャの一部であってもよく、再構成ピクチャは、再構成ビデオの一部であってもよい。デブロッキング動作などの他の好適な動作が、視覚品質を改善するために行われ得ることに留意されたい。
【0111】
なお、ビデオエンコーダ(403)、(603)及び(703)、並びにビデオデコーダ(410)、(510)及び(810)は、任意の好適な技術を使用して実装され得る。一実施形態では、ビデオエンコーダ(403)、(603)、及び(703)、並びにビデオデコーダ(410)、(510)、及び(810)は、1つ以上の集積回路を使用して実装され得る。別の実施形態では、ビデオエンコーダ(403)、(603)、及び(603)、並びにビデオデコーダ(410)、(510)、及び(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実装され得る。
【0112】
本開示は、参照ピクチャ再サンプリング(reference picture resampling、RPR)が有効であるときに、現在のブロックのルマコンポーネント及びクロマコンポーネントのための適応アップサンプリングフィルタに関連する実施形態を含む。適応アップサンプリングフィルタは、アップサンプリングフィルタリング及び適応ループフィルタリングを含む2段階フィルタリング動作を排除することができる。追加的に、クロマチャネルのための適応アップサンプリングフィルタ内にクロスコンポーネントフィルタが適用されて、アップサンプリングされたフルサイズピクチャと元のフルサイズピクチャの間のクロマ品質をさらに強化することができる。
【0113】
ITU-T VCEG (Q6/16)及びISO/IEC MPEG (JTC 1/SC 29/WG 11)は、2013年(バージョン1)、2014年(バージョン2)、2015年(バージョン3)、及び2016年(バージョン4)にH.265/HEVC(High Efficiency Video Coding)標準を公表した。2015年には、これら2つの標準化組織が共同でJVET(Joint Video Exploration Team)を結成して、HEVCを越える次のビデオコーディング標準の開発の可能性を探った。2017年10月には、これら2つの標準化組織がHEVCを超える能力を有するビデオ圧縮に関するCfP(Joint Call for Proposals)を発行した。2018年2月15日までに、標準ダイナミックレンジ(SDR)に関して22のCfP回答、高ダイナミックレンジ(HDR)に関して12のCfP回答、及び360のビデオカテゴリーに関して12のCfP回答がそれぞれ提出された。2018年4月には、第122回のMPEG/第10回JVET会議において、受けたすべてのCfP回答が評価された。この会議の結果、JVETは、HEVCを超えた次世代ビデオコーディングの標準化プロセスを正式に着手し、この新しい標準は、VVC(Versatile Video Coding)と名付けられ、JVETは、Joint Video Experts Teamと改称された。2020年、ITU-T VCEG(Q6/16)及びISO/IEC MPEG(JTC 1/SC 29/WG 11)は、VVCビデオコーディング標準(バージョン1)を公表した。
【0114】
従来のブロックベースのハイブリッドビデオコーディングアーキテクチャが、VVCなどにおいて適用され得る。従来のブロックベースのハイブリッドビデオコーディングアーキテクチャでは、圧縮をさらに改善するために、各基本ビルディングブロックに新しいツールを含めることができる。
【0115】
VVCでは、クワッドツリー+マルチタイプツリー(QT+MTT)スキームは、HEVCで使用された複数のパーティションタイプでクワッドツリーを置き換えるためのパーティショニング構造として、バイナリ(binary)とターナリ(ternary)スプリットが続くクゥアターナリ(quaternary)スプリットを使用することができる。さらに、分離されたパーティショニングツリー構造は、ルマチャネルとクロマチャネルをそれぞれサポートすることもできる。インターフレームの場合、1つのCTUにおけるルマチャネルとクロマチャネルが同じコーディングツリー構造を共有することができる。しかしながら、イントラフレームの場合、ルマチャネルとクロマチャネルは、クロマチャネルのコーディング効率を改善するために、別々のツリーを有することができる。
【0116】
インター予測において、各インター予測コーディングユニット(CU)に対して、インター予測サンプル生成のためにモーションパラメータが使用され得る。モーションパラメータは、モーションベクトル、参照ピクチャインデックス、参照ピクチャリスト使用インデックス、及び/又はVVCの新しいコーディング特徴に必要とされる追加情報を含むことができる。モーションパラメータは、明示的又は暗黙的にシグナリングされ得る。CUがスキップモードでコーディングされるときに、CUは、1つのPUと関連付けられ得、有意な残差係数、コーディングされたモーションベクトルデルタ、及び/又は参照ピクチャインデックスは必要とされないことがある。CUがマージモードでコーディングされるときに、CUのためのモーションパラメータは近接するCUから取得され得る。近接するCUは、空間的及び時間的候補、及びVVCに導入されるような追加スケジュール(又は追加候補)を含むことができる。マージモードは、スキップモードだけでなく、任意のインター予測CUに適用され得る。マージモードの代替は、モーションパラメータの明示的な伝送であり、モーションベクトル、各参照ピクチャリストに対する対応する参照ピクチャインデックス、参照ピクチャリスト使用フラグ、及び/又は他の必要な情報は、CUごとに明示的にシグナリングされ得る。
【0117】
VVCでは、VVCテストモデル(VVC Test model、VTM)参照ソフトウェアは、以下のうちの1つ以上を含むことができる、多くの新しい洗練されたインター予測コーディングツールを含むことができる:(1) 拡張マージ予測(2) マージモーションベクトル差(Merge motion vector difference、MMVD)(3) 対称MVDシグナリングによるAMVPモード(AMVP)(4) アフィンモーション補償予測(5) サブブロックベースの時間的モーションベクトル予測(Subblock-based temporal motion vector prediction、SbTMVP)(6) 適応モーションベクトル解像度(Adaptive motion vector resolution、AMVR)(7) モーションフィールドストレージ:1/16ルマサンプルMVストレージ及び8×8モーションフィールド圧縮(8) CUレベルの重みによる双予測(Bi-prediction with CU-level weights、BCW)(9) 双方向光学フロー(Bi-directional optical flow、BDOF)(10) デコーダ側モーションベクトル洗練化(Decoder side motion vector refinement、DMVR)(11) 結合インター及びイントラ予測(Combined inter and intra prediction、CIIP)(12) 幾何学的パーティショニングモード(Geometric partitioning mode、GPM)
【0118】
イントラ予測では、各イントラ予測CUに対して、イントラCUのサンプルは、現在のCUの左側及び/又は上側に隣接する近接するブロックにおける参照サンプルから予測され得る。近接するブロックは、以前に同じピクチャ内でループ内フィルタリングの前にデコーディングされていてもよい。HEVCは、プラナー、参照サンプル平均(DCモードとも呼ばれる)、及び33個の方向角度モードを含む35個のイントラピクチャ予測モードを有することができる。以下のように、VVCなどにおいてイントラピクチャ予測モードが拡張され得る。(1) 広角イントラ予測(wide-angle intra prediction、WAIP)モードを含む93個のイントラピクチャ方向予測角(2) 2セットの4タップ補間フィルタ(3) 位置依存予測結合(Position-dependent prediction combination、PDPC)(4) 多重参照線(Multiple reference line、MRL)(5) クロスコンポーネント線形モデル(Cross-component linear model、CCLM)(6) イントラサブパーティション(ISP)
【0119】
残差データのより良いエネルギー圧縮を達成し、変換された係数の量子化誤差をさらに低減するために、VVCなどにおいて新しいツールが以下のように導入され得る。(1) 非二乗変換(2) 明示的MTSと暗黙的MTSを含む多重変換選択(Multiple transform selection、MTS)(3) 低周波非分離変換(Low-frequency non-separable transform、LFNST)(4) サブブロック変換(Subblock transform、SBT)(5) 依存量子化(Dependent quantization、DQ)(6) クロマ残差のジョイントコーディング(Joint coding of chroma residual、JCCR)
【0120】
VVCでは、異なるタイプのアーチファクトを除去するために、再構成フレームに対して再マッピング動作と3つのループ内フィルタを順次適用することができる。例えば、クロマスケーリングによるルママッピング(LMCS)、新しいサンプルベースのプロセスを最初に実行することができる。次いで、ブロッキングアーチファクトを低減するために、デブロッキングフィルタを使用することができる。次いで、サンプル適応オフセット(SAO)フィルタをデブロッキングされたピクチャの上部に適用して、リンギング及びバンディングアーチファクトを減衰させることができる。最後に、代替ループフィルタ(ALF)を適用して、変換及び量子化プロセスによって導入される他の可能性のある歪みを低減することができる。VVCにおけるALFは2つの動作を含むことができる。最初の動作は、ルマサンプルとクロマサンプルの両方に対するブロックベースのフィルタ適応のためのALFに基づいて動作し、第2の動作は、クロマサンプルのみに対するクロコンポーネント代替ループフィルタ(CC-ALF)基づいて動作することができる。
【0121】
フィルタ形状は、ブロックベースのALFに適用することができる。一例では、2つのフィルタ形状を適用することができる。第1のフィルタ形状はルマコンポーネントに適用される7×7のダイヤモンド形状とすることができ、第2のフィルタ形状はクロマコンポーネントに適用される5×5のダイヤモンド形状である。それぞれのブロック(4×4ブロックなど)のローカル勾配の方向とアクティビティに基づいて、4×4ブロックなど、各ブロックに対して最大25のフィルタのうち1つを選択することができる。ローカル勾配の方向性とアクティビティに従って、各ブロック(例えば、4×4ブロック)を25のクラスの1つに分類し、カテゴリ化することができる。各クラスは、それぞれのフィルタ係数割り当てを有することができる。フィルタリング前に、4×4ブロックに対して計算された勾配値に応じて、90度回転、対角、又は垂直フリップなどの幾何学的変換をフィルタ形状(例えば、7×7ダイヤモンド形状、又は5×5ダイヤモンド形状)に適用することができる。フィルタ処理の前に幾何学的変換を適用することは、フィルタ支持領域内のサンプルに幾何学的変換を適用することと同等であり得る。ブロックの方向性を整列させることにより、ALFは、ブロックに対してより類似した(又は一貫した)方法を実行することができる。
【0122】
ルマ4×4ブロックレベルフィルタ適応に加えて、CTUレベルフィルタ適応もALFでサポートされ得る。各CTUは、現在のスライスから計算されたフィルタセット、既にコーディングされたスライスでシグナリングされたフィルタセットのうちの1つ、又は16個のオフラインで訓練されたフィルタセットのうちの1つを使用することができる。各CTU内で、選択されたフィルタセットをCTUの4×4ブロックごとに適用することができる。フィルタ係数及びクリッピングインデックスは、ALF適応パラメータセット(APS)で搬送され得る。ALF APSは、最大8個のクロマフィルタと最大25個のルマフィルタセットを含むことができる。25個のルマクラスの各々に対してインデックスicが含まれ得る。異なるクラスをマージすることによって、フィルタ係数に関連付けられたビット数が低減され得る。
【0123】
CC-ALFはルマサンプル値を使用して、ALFプロセス内のクロマサンプル値を洗練することができる。VVCにおけるALF及びCC-ALFの例示的な結合が
図9に示され得る。
図9に示すように、線形フィルタリング動作は、現在のブロックのルマサンプル(902)をCC-ALFフィルタ(904)及び(906)への入力として取り、クロマサンプル値(908)及び(910)に対する補正値(例えば、ΔRcb及びΔRcr)を生成することができる。ルマサンプル(902)は、リンギング及びバンディングアーチファクトを低減するために、SAO(918)に基づいてフィルタリングされ得る。クロマサンプル値(908)は、入力としての現在のブロックのクロマサンプルのCbコンポーネント(914)に基づいてALF (912)によって生成され得、クロマサンプル値(910)は、入力としての現在のブロックのクロマサンプルのCrコンポーネント(916)に基づいてALF (912)によって生成され得る。補正は、各クロマコンポーネント(例えば、(914)及び(916))に対して独立して生成され得る。補正後、現在のブロックの再構成サンプルのCbコンポーネント(920)は、クロマサンプル値(908)と補正値ΔRcbの和に基づいて生成され得、現在のブロックの再構成サンプルのCrコンポーネント(922)は、クロマサンプル値(910)と補正値ΔRcrの和に基づいて生成され得る。追加的に、現在のブロックの再構成サンプルのY(又はルマ)コンポーエントは、ルマサンプル(902)がALF (926)によってフィルタリングされるときに生成され得る。
【0124】
参照画素(又はピクチャ)再サンプリング(RPR)は、イントラランダムアクセスポイント(IRAP)ピクチャをコーディングすることなく、解像度変化を可能にすることができる。RPRはまた、ビデオ領域全体又は一部の関心領域のズームが必要なアプリケーションシナリオで使用され得る。RPRを使用することにより、デコーディングされるべき現在のピクチャとは異なる解像度を有する参照ピクチャに基づくインターピクチャ予測を可能にするために、ピクチャ解像度変化が有効にされ得る。RPRは、参照ピクチャが現在のピクチャの解像度と異なる解像度を有するときに、インターピクチャ予測のために使用される参照ピクチャの再サンプリングを要求することができる。
【0125】
RPRのスケーリング比が制限され得る。例えば、参照ピクチャから現在のピクチャへのスケーリングプロセスの場合、スケーリング比を1/2(又はファクターオブ2ダウンサンプリング)~8(又はファクターオブ8アップサンプリング)に制限され得る。参照ピクチャと現在のピクチャとの間の様々なスケーリング比を処理するために、異なるカットオフ周波数を有する再サンプリングフィルタの3つのセットが指定され得る。再サンプリングフィルタの3つのセットが、それぞれ1/2~1/1.75、1/1.75~1/1.25、及び1/1.25~8の範囲のスケーリング比に対して適用され得る。追加的に、各再サンプリングフィルタセットに対して、ルマに対する16位相とクロマに対する32位相が適用され得る。各位相は、RPRのそれぞれのサンプリングレートに対応することができる。再サンプリングフィルタの位相の数は、モーション補償に使用される補間フィルタの位相の数と同じにすることができる。
【0126】
ALFによる再構成ピクチャのポストフィルタリングは、VVCのように、再構成ピクチャと元のピクチャとの間の歪みを低減するために実行され得る。ALFは、低解像度再構成ピクチャと低解像度(又はダウンサンプリング)元のピクチャとの間の歪みを低減することができる。RPRが有効であるときに、アップサンプリングプロセスが適用されて、アップサンプリングされた再構成ピクチャを生成することができる。したがって、追加のALFプロセス段階が適用されて、アップサンプリングされた再構成ピクチャと元のフルサイズピクチャととの間の歪みを低減することができる。
【0127】
図10Aは、RPRのためにALFを適用する第1の例示的な実施形態を示す。
図10Aに示すように、コアデコーディングプロセス(1002)は、現在のピクチャの再構成サンプルを生成することができる。(1004)において、現在のピクチャの再構成サンプルは、ポストループ内フィルタによってフィルタリングされ得る。ポストループ内フィルタは、デブロッキングフィルタ(DBF)、SAO、ALF-1及び/又はCC-ALF-1を含むことができる。DBFは、ブロック間の鋭いエッジを平滑化することにより、視覚品質と予測性能改善することができる。SAOは、リンギング及びバンディングアーチファクトを減衰させることができる。ALF-1及びCC-ALF-1は、変換及び量子化プロセスによって導入される他の潜在的な歪みを低減するために適用され得る。(1006)において、RPRに基づいてアップサンプリングが行われて、インターピクチャ予測のための高解像度参照ピクチャを生成することができる。したがって、アップサンプリングされた再構成ピクチャを生成することができる。(1008)において、ALF-2及びCC-ALF-2が適用されて、アップンプリングされた再構成ピクチャと元のフルサイズピクチャとの間の歪みを低減することができる。(1004)においてフィルタリングされた現在のピクチャの再構成サンプルは、将来のピクチャのための参照ピクチャとしてデコーディングされたピクチャバッファ(DPB) (1010)に保存され得ることに留意する。
【0128】
図10Bは、RPRのためにALFを適用する第2の例示的な実施形態を示す。
図10Bに示すように、コアデコーディングプロセス(1012)は、現在のピクチャの再構成サンプルを生成することができる。(1014)において、現在のピクチャの再構成サンプルは、デブロッキングフィルタ(DBF)、SAO、ALF-1、及びCC-ALF-1によってフィルタリングされ得る。(1016)において、ALF-1が適用されて、再構成ピクチャと元のフルサイズピクチャとの間の歪みを低減することができる。(1018)において、アップサンプリングが行われて、インターピクチャ予測のために使用される高解像度参照ピクチャを生成することができる。したがって、アップサンプリングされた再構成ピクチャを生成することができる。(1020)において、CC-ALF-2が適用されて、アップンプリングされた再構成ピクチャと元のフルサイズピクチャとの間の歪みを低減することができる。(1014)においてフィルタリングされた現在のピクチャの再構成サンプルは、将来のピクチャのための参照ピクチャとしてデコーディングされたピクチャバッファ(DPB) (1022)に保存され得る。
【0129】
図10A及び
図10Bにおいて、RPRが有効であるときに、ALFポストフィルタ段階が、アップサンプリングされた再構成ピクチャに適用され得る。アップサンプリングフィルタ(例えば、(1006))及びALF/CC-ALF (例えば、(1008))のような2つのフィルタは、ALFポストフィルタ段階においてカスケード接続され、RPRが有効であるときに再構成ピクチャを強化することができる。
図10A及び
図10Bに示す実施形態におけるALFポストフィルタ段階は、一連のカスケード接続フィルタの使用に起因して、待ち時間及び設計の複雑さを増加させる可能性がある。
【0130】
本開示において、ルマ及びクロマのための適応アップサンプリングフィルタは、カスケード接続フィルタの代わりに、例えばアップサンプリングフィルタ、ALF、及びCC-ALFを用いて使用され得る。適応アップサンプリングフィルタは、アップサンプリングフィルタ、ALF、CC-ALFのうちの1つ以上などのカスケード接続フィルタの機能を結合(又は統合)することができる。したがって、カスケード構造は、適応アップサンプリングフィルタにおいて利用される必要はなくてもよい。
【0131】
いくつかの実施形態では、適応アップサンプリングフィルタは、適応アップサンプリングルマフィルタと適応クロマアップサンプリングフィルタを含むことができ、適応アップサンプリングルマフィルタは、入力として低解像度ルマ信号を、出力として高解像度ルマ信号を適用することができ、適応アップサンプリングクロマフィルタは、入力として低解像度ルマ信号及び低解像度クロマ信号を、出力として高解像度クロマ信号を適用することができる。
【0132】
適応アップサンプリングフィルタは、RPRが有効であるときに、アップスケーリング(又はアップサンプリング)プロセスを実現し、アップサンプリングされた再構成ピクチャと元のフルサイズピクチャとの間の歪みを低減するために、適応フィルタ係数を含むことができる。適応アップサンプリングフィルタのフィルタ係数は、CUのスモールブロック(又はサブブロック)のクラス及びRPRの位相に適応することができる。したがって、それぞれのフィルタ係数は、それぞれのスモールブロックに対応するクラス及び位相に基づいて、CUの各スモールブロックに適用され得る。
【0133】
ルマチャネル(又はルマサンプル)に対するスモールブロック(例えば、4×4ブロック)内のローカル勾配の方向性とアクティビティによって、低解像度ピクチャにおける現在のピクチャのCU内の各スモールブロックは、Nクラスのうちの1つに分類され得る。いくつかの実施形態において、適応アップサンプリングフィルタのためのCUのスモールブロック(又はサブブロック)のクラスの決定は、ALFのためのCUのスモールブロック(又はサブブロック)のクラスの決定と同様であり得る。したがって、Nは、例えば、現在のピクチャのルマサンプルの場合、25であり得る。
【0134】
現在のピクチャのルマサンプルの場合、M位相のような複数の位相が適応アップサンプリングフィルタに適用されて、RPRの再サンプリング機能を実装することができる。、各位相は、RPRのそれぞれのサンプリングレートに対応することができる。したがって、全ての候補位相を満たすために適応アップサンプリングフィルタに対してM位相相フィルタ係数セットが導入され得る。したがって、適応アップサンプリングフィルタの場合、ピクチャ全体(又は現在のピクチャ全体)のルマサンプルに対して、M位相を有するNクラスに従って、最大M×Nフィルタ係数セットが導入され得る。フィルタ係数セットの各々は、例えば、それぞれのフィルタ係数及びそれぞれのクリッピング値インデックスを含むことができる。ルマコンポーネントのための適応アップサンプリングフィルタのフィルタ係数セットは、RPRが有効であるときに、エンコーディングされたピクチャ全体(又はエンコードされた現在のピクチャ)のためのビットストリームでシグナリングされ得る。
【0135】
適応アップサンプリングフィルタの適応フィルタ係数はまた、現在のピクチャのクロマコンポーネントに適用され得る。例えば、RPRが適用されるときに、L位相が適応アップサンプリングフィルタに適用され得る。したがって、最大Lフィルタ係数セットが、RPRが有効であるときに、エンコーディングされたピクチャ全体のためのビットストリームでシグナリングされ得る。
【0136】
例えば、VVCにおいて、ALFのために使用される各スモールブロック対するローカル勾配の方向性とアクティビティは、適応アップサンプリングフィルタの各スモールブロックの分類に直接適用され得る。各スモールブロックに対するローカル勾配の方向性とアクティビティに基づいて、対応する分類インデックス(又はクラスインデックス)が取得され得る。各スモールブロックに対応するクラスは、分類インデックスに基づいて決定され得る。例えば、それぞれのスモールブロックに対応するクラスは、VVCにおいてALFのために使用される25の候補クラスのうちの1つとすることができる。
【0137】
適応アップサンプリングフィルタ係数の使用は、暗黙的又は明示的にシグナリングされ得る。いくつかの実施形態において、適応アップサンプリングフラグなどのフラグは、適応アップサンプリングフィルタ係数が使用されるかどうかを示すためにシグナリングされ得る。フラグが偽である場合、デフォルトのフィルタ係数セットが現在のピクチャのために使用され得る。
【0138】
いくつかの実施形態において、N個のクラスに対するn個のフィルタ係数セットが、マージ法を使用して適応アップサンプリングフィルタに適用され得、式中、n<Nである。したがって、各位相に対して、n個のフィルタ係数のみが使用され得る。したがって、適応アップサンプリングフィルタに対してビットストリームでM×nフィルタ係数セットのみがシグナリングされ得る。
【0139】
いくつかの実施形態では、異なる位相のフィルタ係数セットが結合(又はマージ)され得る。一例では、2つのフィルタ係数セットが、マージ法によって結合(又はマージ)され得る。フィルタ係数セットは任意に選択され得る。マージ法は、コスト値に基づいて2つのフィルタ係数セットのうちの1つを選択することができる。例えば、第1のフィルタ係数セットの第1のコスト値が決定され得、第1のコスト値は、第1のフィルタ係数セットに基づいて現在のブロック及び現在のブロックのフィルタリングされた再構成サンプルに関連付けられたレート歪み又は差異などの歪みを示すことができる。第2のフィルタ係数セットの第2のコスト値が決定され得、第2のコスト値は、第2のフィルタ係数セットに基づいて、現在のブロック及び現在のブロックのフィルタリングされた再構成サンプルに関連付けられた歪みを示すことができる。第1のフィルタ係数セットと第2のフィルタ係数セットのうちの1つが、第1のコスト値と第2のコスト値のどちらが小さいかに基づいて選択され得る。エンコーダ側でのレート歪み最適化法を使用した2つのフィルタの再帰的マージ動作の後に、ある数のフィルタ係数セットがNフィルタ係数セットから選択され、Nは、現在のピクチャに関連付けられたクラスの数に対応することができる。最後に、最良の(又は選択された)係数セットが、1つ以上のビットストリームでシグナリングされ得る。さらに、マッピングテーブルもシグナリングされてもよい。マッピングテーブルは、複数のフィルタ係数セットインデックスを含むことができる。各フィルタ係数セットインデックスは、それぞれのクラスに対応することができる。
【0140】
別の例では、2つの近接するクラスインデックスの2つのフィルタ係数セットが結合され得る。例えば、クラス0に対するフィルタ係数はまた、エンコーダ側におけるレート歪み最適化を使用した再帰的マージ動作の後に、クラス2、クラス3、及びクラス4のために使用され得、クラス0に対するフィルタ係数セットは、クラス2、クラス3、及びクラス4に対するフィルタ係数セットのコスト値よりも小さいコスト値を有することができる。すべてのクラスインデックスに対するフィルタ係数セットの再帰的マージ動作の後に、1つ以上のビットストリームにおけるnフィルタ係数セットのみが、シグナリングされ得、nは、クラス数N未満である。
【0141】
別の例では、2つの異なる位相の2つのフィルタ係数セットがさらに結合され得る。フィルタ係数マージ動作の後に、m×nフィルタ係数セットのみが1つ以上のビットストリームでシグナリングされ得、m<M、n<N及びMとNはそれぞれ位相とクラスの数である。マージ動作に基づいて、2つの任意の位相の2つのフィルタ係数セットが、レート歪最適化を使用して結合され得る。低減されたフィルタ係数セット、位相及びフィルタ係数セットインデックスに対応するマッピングテーブルがシグナリングされ得る。いくつかの実施形態では、隣接(又は連続)位相、例えば、2つの隣接位相におけるフィルタ係数セットのみがマージされ得る。例えば、nフィルタ係数セットのうちのフィルタ係数セットが、位相1及び位相2の両方に適用され得る。
【0142】
いくつかの実施形態において、低解像度を有するエンコーディングされたピクチャは、複数のサブ領域に分割され得る。各サブ領域は、矩形形状などの幾何学的形状を有することができる。一実施形態では、エンコーディングされたピクチャは、P個の矩形領域にパーティショニングされ得る。Nクラスに対する最大Nフィルタ係数セットなどの異なるフィルタ係数セットが、エンコーディングされたピクチャ内の各サブ領域(例えば、矩形領域)に対して使用され得る。したがって、適応アップサンプリングフィルタの全部でP×N個のフィルタ係数セットがエンコーディングされたピクチャからパーティショニングされたP矩形領域に適用され得る。
【0143】
N個のクラス及びP個のサブ領域に対応するフィルタ係数セットがマージされ得る。矩形領域iに使用されるフィルタ係数セットは、他の矩形領域、例えば、矩形領域jにも使用され得、式中、i ≠ jである。各矩形領域に対して、それぞれの矩形領域に対してどのフィルタ係数セットが使用されるかを示すために、フィルタ係数セットのインデックスがシグナリングされ得る。
【0144】
いくつかの実施形態では、領域ベースの方法は、それぞれルマ及びクロマに対して適応され得る。例えば、ルマチャネルに対してのみ、領域ベースの方法が使用され得る。
【0145】
適応アップサンプリングフィルタのフィルタ係数セットは、RPRが有効であるときに適応パラメータセット(APS)でシグナリングされ得る。APSにおける適応アップサンプリングフィルタのフィルタ係数セットは、RPRを用いてさらなるエンコーディングされたピクチャに使用され得る。いくつかの実施形態では、適応アップサンプリングフィルタのフィルタ係数セットは、現在エンコーディングされているピクチャが将来のピクチャのための参照ピクチャとして使用されるときにのみ、シグナリングされ得る。
【0146】
本開示では、
図10A及び10Bに示すことができるRPRのための2段階フィルタリングプロセスを排除するために、RPRが有効であるときに、ルマチャネル及びクロマチャネルの両方に対して、アップサンプリングされたフルサイズのピクチャを強化するために、ALFと結合されたアップサンプリングフィルタの代わりに、単一の適応アップサンプリングフィルタが提供される。
図11は、例示的な適応アップサンプリングフィルタ(1100)を示す。ルマチャネル及びクロマチャネルに対して適応アップサンプリングフィルタ(1100)を使用することによって、
図10A及び
図10Bに示すカスケードフィルタの待ち時間及び複雑さを、例えば、2段階プロセスから1段階プロセスへと低減することができる。
図11に示すように、適応アップサンプリングフィルタ(1100)は、ルマ適応アップサンプリングフィルタ(1106)及びクロマ適応アップサンプリングフィルタ(1108)を含むことができる。コアデコーディングプロセス(1102)は、現在のピクチャの再構成サンプルを生成することができる。(1104)において、現在のピクチャの再構成サンプルは、デブロッキングフィルタ(DBF)、SAO、ALF-1、及び/又はCC-ALF-1によってフィルタリングされ得る。現在のブロックの再構成サンプルの低解像度ルマコンポーネントは、現在のブロックのフィルタリングされた再構成サンプルの高解像度ルマコンポーネントを生成するために、ルマ適応アップサンプリングフィルタ(1106)に伝送され得る。現在のブロックの再構成サンプルの低解像度ルマコンポーネントは、現在のブロックのフィルタリングされた再構成サンプルの高解像度クロマコンポーネントを生成するために、クロマ適応アップサンプリングフィルタ(1108)に伝送され得る。
【0147】
ルマチャネルに対する適応アップサンプリングフィルタ(1100)のフィルタ係数の適応を実現するために、サブブロックレベルフィルタ適応は、サブブロックのローカル勾配の方向性とアクティビティに依存する分類を使用して実装され得る。例えば、各CUを複数のサブブロックに分割することができる。各サブブロックのブロックサイズは、4×4などの任意の数とすることができる。各サブブロックに対して、サブブロックは、それぞれのクラスインデックスに基づいて分類され得る。クラスインデックスは、サブブロックのローカル勾配の方向性と2D Laplacianアクティビティに基づいて導出され得る。各サブブロックは、クラスインデックスの導出に従って、事前定義されたクラスのうちの1つにカテゴリ化され得る。決定されたクラス及びサンプリングレート(又はRPRの位相)に基づいて、対応するフィルタ係数セットが、それぞれのサブブロックに対して決定され得る。係数セットは、フィルタプロセスを実行するためにサブブロックに適用され得る。したがって、フィルタリングされた再構成サンプルが生成され得る。事前定義されたクラスの典型的な数は、25であり得、これは、例えば、VVCにおいて、ALFのクラス数と同じであり得る。サブブロックレベル適応に基づいて、適応アップサンプリングフィルタが、異なるローカル勾配特徴を有する異なるサブブロックに対して実現され得る。
【0148】
さらに、低解像度ピクチャに対するルマサンプルは、ルマチャネルとクロマチャネルの間の高い相関特性を使用することによって、アップサンプリングされたピクチャと元のピクチャとの間のクロマ歪みを補償するためにも使用され得る。例えば、
図11に示すように、現在のブロックの再構成サンプルの低解像度ルマコンポーネント及び低解像度クロマコンポーネントは両方とも、クロマ適応アップサンプリングフィルタ(1108)に伝送されて、現在のブロックのフィルタリングされた再構成サンプルの高解像度クロマコンポーネントを生成することができる。したがって、クロスコンポーネントフィルタが、クロマ適応アップサンプリングフィルタ(1108)に形成され得る。クロスコンポーネントフィルタは、アップサンプリングクロマサンプルに対する補償オフセット値として、低解像度ピクチャから高周波情報を直接取得することができる。
【0149】
図12は、本開示のいくつかの実施形態による、例示的なデコーディングプロセス(1200)を概説するフローチャートを示す。
図13は、本開示のいくつかの実施形態による、例示的なエンコーディングプロセス(1300)を概略するフローチャートを示す。提案されたプロセスは、別々に、又は任意の順序で組み合わせて使用されてもよい。さらに、プロセス(又は実施形態)、エンコーダ、及びデコーダの各々は、処理回路機構(例えば、1つ以上のプロセッサ、又は1つ以上の集積回路)によって実装されてもよい。一例において、1つ以上のプロセッサは、非一時的なコンピュータ可読媒体に記憶されたプログラムを実行する。
【0150】
プロセスの動作(例えば、(1200)及び(1300))は、必要に応じて、任意の量又は順序で組み合わされ、又は配置され得る。実施形態では、プロセスの動作のうちの2つ以上(例えば、(1200)及び(1300))は、並行して実行されてもよい。
【0151】
プロセス(例えば、(1200)及び(1300))は、再構成中のブロックに対する予測ブロックを生成するために、ブロックの再構成及び/又はエンコーディングに使用され得る。様々な実施形態では、処理(例えば、(1200)及び(1300))は、端末デバイス(310)、(320)、(330)及び(340)内の処理回路機構、ビデオエンコーダ(403)の機能を行う処理回路機構、ビデオデコーダ(410)の機能を行う処理回路機構、ビデオデコーダ(510)の機能を行う処理回路機構、ビデオエンコーダ(603)の機能を行う処理回路機構などの処理回路機構によって実行される。いくつかの実施形態では、プロセス(例えば、(1200)及び(1300))は、ソフトウェア命令で実装され、したがって、処理回路機構がソフトウェア命令を実行するときに、処理回路機構は、プロセス(例えば、(1200)及び(1300))を行う。
【0152】
図12に示すように、プロセス(1200)は、(S1201)から開始し、(S1210)に進むことができる。(S1210)において、現在のピクチャ内の現在のブロックのコーディングされた情報が、コーディングされたビデオビットストリームから受信され得る。コーディングされた情報は、適応アップサンプリングフィルタが現在のブロックに適用されることを示すことができる。
【0153】
(S1220)において、現在のブロックの複数のサブブロックの各々に対してそれぞれのクラスが決定され得る。
【0154】
(S1230)において、適応アップサンプリングフィルタの複数のフィルタ係数セットから、複数のサブブロックの各々に対してそれぞれのフィルタ係数セットが決定され得る。それぞれのフィルタ係数セットは、それぞれのサブブロックに対応する少なくとも1つのクラスと、現在のピクチャの参照ピクチャに適用される参照ピクセル再サンプリング(RPR)のそれぞれのサンプリングレートに基づいて決定され得る。それぞれのサンプリングレートは、RPRの複数の位相のうちの1つに関連付けられ得る。
【0155】
(S1240)において、二次ALFを適用することなく、複数のサブブロックに対して決定されたそれぞれのフィルタ係数セットに基づいて、適応アップサンプリングフィルタが現在のブロックに適用して、現在のブロックのフィルタリングされた再構成サンプルを生成する。
【0156】
それぞれのクラスを決定するために、それぞれのサブブロックのルマサンプルのローカル勾配の方向性とアクティビティに基づいて、複数のサブブロックの各々に対してそれぞれのクラスインデックスが決定され得る。それぞれのサブブロックに対応するクラスインデックスに基づいて、複数のサブブロックの各々に対してそれぞれのクラスが決定され得る。
【0157】
いくつかの実施形態では、現在のブロックのルマサンプルに対する複数のフィルタ係数セットの数は、NとMの積に等しくすることができる。Nは、現在のブロックに関連付けられたクラスの数とすることができ、Mは、現在のブロックのルマサンプルに関連付けられたRPRの複数の位相の数とすることができる。
【0158】
現在のブロックのクロマサンプルに対するフィルタ係数セットの数は、Lに等しくすることができ、Lは、現在のブロックのクロマサンプルに関連付けられたRPRの複数の位相の数とすることができる。
【0159】
プロセス(1200)において、複数のフィルタ係数セットのうちの第1のフィルタ係数セットの第1のコスト値が決定され得る。第1のコスト値は、第1のフィルタ係数セットに基づいて、現在のブロックと現在のブロックのフィルタリングされた再構成サンプルとの間の歪みを示すことができる。複数のフィルタ係数セットのうちの第2のフィルタ係数セットの第2のコスト値が決定され得る。第2のコスト値は、第2のフィルタ係数セットに基づいて、現在のブロックと現在のブロックのフィルタリングされた再構成サンプルとの間の歪みを示すことができる。第1のフィルタ係数セットと第2のフィルタ係数セットのうちの1つが、第1のコスト値と第2のコスト値のどちらが小さいかに基づいて選択され得る。
【0160】
いくつかの実施形態では、第1のフィルタ係数セットは、第1のクラスのインデックスに関連付けられ得、第2のフィルタ係数セットは、第2のクラスのインデックスと関連付けられ得る。第2のクラスのインデックスは、第1のクラスのインデックスに連続することができる。
【0161】
いくつかの実施形態では、第1のフィルタ係数セットは、RPRの複数の位相うちの第1の位相に関連付けられ得、第2のフィルタ係数セットは、RPRの複数の位相のうちの第2の位相に関連付けられ得、第2の位相は、RPRの第1の位相に連続することができる。
【0162】
いくつかの実施形態では、現在のブロックのルマサンプルに対する複数のフィルタ係数セットの数は、NとPの積に等しくすることができる。Nは、現在のブロックに関連付けられたクラスの数とすることができ、Pは、現在のピクチャからパーティショニングされた領域の数とすることができる。したがって、第1のフィルタ係数セットは、現在のピクチャの第1の領域に関連付けられ得、第2のフィルタ係数セットは、現在のピクチャの第2の領域に関連付けられ得る。
【0163】
プロセス(1200)では、複数のフィルタ係数セットは、コーディングされた情報の適応パラメータセットに含まれ得る。
【0164】
適応アップサンプリングフィルタは、ルマ適応アップサンプリングフィルタとクロマ適応アップサンプリングフィルタをさらに含むことができる。現在のブロックのフィルタリングされた再構成サンプルの高解像度ルマコンポーネントは、ルマ適応アップサンプリングフィルタへの入力として現在のブロックの再構成サンプルの低解像度ルマコンポーネントに基づいて生成され得る。現在のブロックの前記フィルタリングされた再構成サンプルの高解像度クロマコンポーネントは、クロマ適応アップサンプリングフィルタへの入力として現在のブロックの再構成サンプルの低解像度ルマコンポーネント及び低解像度クロマコンポーネントに基づいて生成され得る。
【0165】
プロセス(1200)は、好適に適応され得る。ワークフロー(1200)のステップは、修正及び/又は省略され得る。追加のステップが追加され得る。任意の好適な実装順序が使用され得る。
【0166】
図13に示すように、プロセス(1300)は、(S1301)から開始し、(S1310)に進むことができる。(S1310)において、現在のブロックの複数のサブブロックの各々に対してそれぞれのクラスが決定される。複数のサブブロックは、現在のピクチャ内の現在のブロックからのものであり得る。
【0167】
(S1320)において、複数のフィルタ係数セットが、現在のピクチャの解像度変化に対して適用される、現在のブロックのクラス及び参照画素再サンプリング(RPR)の複数の位相に対応する適応アップサンプリングフィルタに対して決定され得る。
【0168】
(S1330)において、それぞれのサブブロックに対応する少なくとも1つのクラスと、現在のピクチャの参照ピクチャに適用される参照画素再サンプリング(RPR)のそれぞれのサンプリングレートに基づいて、複数のフィルタ係数セットから複数のサブブロックの各々に対してそれぞれのフィルタ係数セットが決定され得る。それぞれのサンプリングレートは、RPRの複数の位相のうちの1つに関連付けられ得る。
【0169】
(S1340)において、二次ALFを適用することなく、複数のサブブロックに対して決定されたそれぞれのフィルタ係数セットに基づいて、適応アップサンプリングフィルタが現在のブロックに適用して、現在のブロックのフィルタリングされた再構成サンプルを生成する。
【0170】
(S1350)において、現在のブロックのコーディングされた情報が生成され得る。コーディングされた情報は、適応アップサンプリングフィルタの複数のフィルタ係数セットを示すことができる。
【0171】
次いで、プロセスは(S1399)に進み、終了する。
【0172】
プロセス(1300)は、好適に適応され得る。ワークフロー(1300)のステップは、修正及び/又は省略され得る。追加のステップが追加され得る。任意の好適な実装順序が使用され得る。
【0173】
上述の技術は、コンピュータ可読命令を使用し、1つ以上のコンピュータ可読媒体に物理的に記憶されたコンピュータソフトウェアとして実装され得る。例えば、
図14は、開示された主題の特定の実施形態を実装するのに好適なコンピュータシステム(1400)を示す。
【0174】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、又は類似のメカニズムの対象となり得る任意の好適な機械コード又はコンピュータ言語を使用してコード化され得、1つ又は複数のコンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって、直接的に、又は解釈、マイクロコード実行などを通して実行され得る命令を含むコードを作成する。
【0175】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットのデバイスなどを含む様々なタイプのコンピュータ又はそのコンポーネント上で実行され得る。
【0176】
コンピュータシステム(1400)のための
図14に示されるコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に関していかなる制限も示唆することを意図していない。コンポーネントの構成は、コンピュータシステム(1400)の例示的な実施形態に示されているコンポーネントの任意の1つ又は組み合わせに関するいかなる従属性又は要件も有していると解釈されてはならない。
【0177】
コンピュータシステム(1400)は、特定のヒューマンインターフェース入力デバイスを含んでもよい。このようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの動き)、オーディオ入力(例えば、音声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(描写せず)を通して、1人以上の人間ユーザによる入力に応答してもよい。また、ヒューマンインターフェースデバイスは、オーディオ(例えば、発話、音楽、周囲音)、画像(例えば、スキャン画像、静止画像カメラから取得される写真画像)、ビデオ(例えば、2次元ビデオ、立体画像を含む3次元ビデオ)などの人間による意識的入力に必ずしも直接関係しない特定の媒体を捕捉するために使用され得る。
【0178】
入力ヒューマンインターフェースデバイスは、キーボード(1401)、マウス(1402)、トラックパッド(1403)、タッチスクリーン(1410)、データグローブ(図示せず)、ジョイスティック(1405)、マイクロホン(1406)、スキャナ(1407)、カメラ(1408)のうちの1つ以上(各々1つのみが描写されている)を含んでもよい。
【0179】
コンピュータシステム(1400)はまた、特定のヒューマンインターフェース出力デバイスを含んでもよい。このようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、及び嗅覚/味覚を通して、1人以上の人間ユーザの感覚を刺激していてもよい。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1410)、データグローブ(図示せず)、又はジョイスティック(1405)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスであり得る)、オーディオ出力デバイス(例えば、スピーカー(1409)、ヘッドフォン(描写せず))、視覚出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1410)であって、各々、触覚スクリーン入力能力を有するか、又は有さず、これらのうちのいくつかは、二次元の視覚出力又は立体出力のような手段を通してそれ以上の三次元の出力を出力することが可能であり得るもの、仮想現実グラス(描写せず)、ホログラフィックディスプレイ、スモークタンク(描写せず))、及びプリンタ(描写せず)を含んでもよい。
【0180】
コンピュータシステム(1400)はまた、CD/DVD又は同様の媒体(1421)を有するCD/DVD ROM/RW(1420)を含む光媒体、サムドライブ(1422)、取り外し可能なハードドライブ又はソリッドステートドライブ(1423)、テープ及びフロッピーディスク(描写せず)などのレガシー磁気媒体、セキュリティドングル(描写せず)のような特殊なROM/ASIC/PLDベースのデバイスなど、人間がアクセス可能な記憶デバイス、及びそれらの関連媒体を含むことができる。
【0181】
当業者はまた、現在開示されている主題に関連して使用される用語「コンピュータ可読媒体」は、伝送媒体、搬送波、又は他の過渡信号を包含しないと理解すべきである。
【0182】
コンピュータシステム(1400)はまた、1つ以上の通信ネットワーク(1455)へのインターフェース(1454)を含むことができる。ネットワークは、例えば、無線、有線、光のものとすることができる。ネットワークは、さらに、ローカル、広域、大都市、車両及び産業、リアルタイム、遅延耐性などのものとすることができる。ネットワークの例は、Ethernet(登録商標)、無線LAN、GSM、 3G、4G、5G、LTEなどを含むセルラネットワーク、ケーブルTV、衛星TV、及び地上放送TVを含むTV有線及び無線広域デジタルネットワーク、CANBusを含む車両及び産業などを含む。特定のネットワークは、通常、特定の汎用データポート又は周辺バス(1449)(例えば、コンピュータシステム(1400)のUSBポート)に取り付けられる外部のネットワークインターフェースアダプタを必要とし、他のものは、通常、後述するシステムバス(例えば、PCコンピュータシステムへのEthernetインターフェース又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)への取り付けによって、コンピュータシステム(1400)のコアに組み込まれる。これらのネットワークのいずれかを使用して、コンピュータシステム(1400)は、他のエンティティと通信することができる。このような通信は、一方向性の受信のみ(例えば、放送テレビ)、一方向性の送信のみのもの(例えば、CANbusから特定のCANbusまで)、又は、例えば、ローカル又は広域デジタルネットワークを使用する他のコンピュータシステムへの双方向性のものとすることができる。特定のプロトコル及びプロトコルスタックは、上述のように、それらのネットワーク及びネットワークインターフェースの各々で使用され得る。
【0183】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶デバイス、及びネットワークインターフェースは、コンピュータシステム(1400)のコア(1440)に取り付けられ得る。
【0184】
コア(1440)は、1つ以上のCPU(Central Processing Unit)(1441)、GPU(Graphics Processing Unit)(1442)、FPGA(Field Programmable Gate Area)(1443)の形態の特殊なプログラマム可能な処理ユニット、特定のタスクのためのハードウェアアクセラレータ(1444)、グラフィックアダプタ(1450)などを含むことができる。これらのデバイスは、ROM(Read-only memory)(1445)、ランダムアクセスメモリ(1446)、ユーザがアクセス不可能なハードドライブ、SSDなどの内部マスストレージ(1447)と一緒に、システムバス(1448)を通して接続されてもよい。いくつかのコンピュータシステムでは、システムバス(1448)は、追加的なCPU、GPUなどによる拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能とすることができる。周辺デバイスは、コアのシステムバス(1448)に直接取り付けられるか、周辺バス(1449)通して取り付けられるかのいずれかとすることができる。一例では、スクリーン(1410)は、グラフィックアダプタ(1450)に接続され得る。周辺バスのためのアーキテクチャは、PCI、USBなどを含む。
【0185】
CPU(1441)、GPU(1442)、FPGA(1443)、及びアクセラレータ(1444)は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。コンピュータコードは、ROM (1445)又はRAM (1446)に記憶され得る。一時的なデータはまた、RAM(1446)に記憶され得るが、永続性データは、例えば、内部マスストレージ(1447)に記憶され得る。1つ以上のCPU(1441)、GPU(1442)、マスストレージ(1447)、ROM(1445)、RAM(1446)などと密接に関連付けられ得るキャッシュメモリの使用を通して、メモリデバイスのいずれかへの高速ストレージ及び取り出しが、可能にされ得る。
【0186】
コンピュータ可読媒体は、様々なコンピュータ実装された動作を実行するためのコンピュータコードをその上に有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築することができるか、又はそれらは、コンピュータソフトウェア分野の当業者に周知かつ入手可能な種類のものとすることができる。
【0187】
一例として、限定するものではなく、アーキテクチャ(1400)、具体的にはコア(1440)を有するコンピュータシステムは、1つ以上の有形のコンピュータ可読媒体に具現化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。このようなコンピュータ可読媒体は、コア内部マスストレージ(1447)、ROM(1445)などの非一時的な性質のコア(1440)の特定のストレージと同様に、上記に紹介したユーザがアクセス可能なマスストレージに関連付けられた媒体とすることができる。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(1440)によって実行され得る。コンピュータ可読媒体は、特定のニーズに応じて、1つ以上のメモリデバイス又はチップを含むことができる。ソフトウェアは、コア(1440)、具体的には内部のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM (1446)に記憶されたデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従ってこのようなデータ構造を修正することとを含む、本明細書に記載された特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。追加的又は代替的には、コンピュータシステムは、回路(例えば、アクセラレータ(1444))内に配線されたか、又は他の方法で具現化された論理の結果として、機能を提供することができ、この回路は、本明細書に記載された特定のプロセス又は特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに、又はソフトウェアと共に動作することができる。ソフトウェアへの言及は、論理を包含することができ、適切な場合には、その逆もできる。コンピュータ可読媒体への言及は、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具体化する回路、又は適切な場合にはその両方を包含することができる。本開示は、ハードウェア及びソフトウェアの任意の好適な組み合わせを包含する。
付録A:頭字語
JEM:ジョイント探索モデル(joint exploration model)
VVC:汎用ビデオコーディング(versatile video coding)
BMS:ベンチマークセット(benchmark set)
MV:モーションベクトル(Motion Vector)
HEVC:高効率ビデオコーディング
SEI:補助強化情報(Supplementary Enhancement Information)
VUI:ビデオユーザビリティ情報(Video Usability Information)
GOP:ピクチャグループ(Group of Pictures)
TU:変換ユニット(Transform Unit)
PU:予測ユニット(Prediction Unit)
CTU:コーディングツリーユニット(Coding Tree Unit)
CTB:コーディングツリーブロック(Coding Tree Block)
PB:予測ブロック(Prediction Block)
HRD:仮想参照デコーダ(Hypothetical Reference Decoder)
SNR信号雑音比(Signal Noise Ratio)
CPU:中央処理ユニット(Central Processing Unit)
GPU:グラフィック処理ユニット(Graphics Processing Unit)
CRT:陰極線管(Cathode Ray Tube)
LCD:液晶ディスプレイ(Liquid-Crystal Display)
OLED:有機発光ダイオード(Organic Light-Emitting Diode)
CD:コンパクトディスク(Compact Disc)
DVD:デジタルビデオディスク(Digital Video Disc)
ROM:読み出し専用メモリ(Read-Only Memory)
RAM:ランダムアクセスメモリ(Random Access Memory)
ASIC:特定用途向け集積回路(Application-Specific Integrated Circuit)
PLD:プログラマブル論理デバイス(Programmable Logic Device)
LAN:ローカルエリアネットワーク(Local Area Network)
GSM:グローバルシステムフォーモバイルコミュニケーションズ(Global System for Mobile communications)
LTE:ロングタームエボリューション(Long-Term Evolution)
CANBus:コントローラエリアネットワークバス(Controller Area Network Bus)
USB:ユニバーサルシリアルバス(Universal Serial Bus)
PCI:ペリフェラルコンポーネントインターコネクト(Peripheral Component Interconnect)
FPGA:フィールドプログラマブルゲートエリア(Field Programmable Gate Areas)
SSD:ソリッドステートドライブ(solid-state drive)
IC:集積回路(Integrated Circuit)
CU:コーディングユニット(Coding Unit)
【0188】
本開示は、いくつかの例示的な実施形態を記載してきたが、本開示の範囲内にある変更、置換、及び様々な代替等価物がある。したがって、当業者は、本明細書に明示的に示されていないか、又は記載されていないが、本開示の原理を具体化し、本開示の精神及び範囲内にある多くのシステム及び方法を考案することができると理解されるであろう。
【国際調査報告】