(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024026818
(43)【公開日】2024-02-28
(54)【発明の名称】ビデオコーディングのための方法および装置
(51)【国際特許分類】
H04N 19/50 20140101AFI20240220BHJP
H04N 19/186 20140101ALI20240220BHJP
H04N 19/80 20140101ALI20240220BHJP
【FI】
H04N19/50
H04N19/186
H04N19/80
【審査請求】未請求
【請求項の数】1
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024005342
(22)【出願日】2024-01-17
(62)【分割の表示】P 2022550008の分割
【原出願日】2021-06-29
(31)【優先権主張番号】63/113,120
(32)【優先日】2020-11-12
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/360,840
(32)【優先日】2021-06-28
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】イシン・ドゥ
(72)【発明者】
【氏名】シン・ジャオ
(72)【発明者】
【氏名】シャン・リュウ
(57)【要約】
【課題】ビデオコーディングのための方法および装置を提供する。
【解決手段】本開示の態様は、ビデオエンコーディング/デコーディングのための方法、装置、および非一時的コンピュータ可読記憶媒体を含む。装置は、処理された再構築サンプルとフィルタ処理の対応する出力値との複数の組み合わせを示す、現在のブロックの予測情報をデコーディングする処理回路を含む。処理回路は、現在のブロックの第1の色成分の処理された再構築サンプルに対してフィルタ処理を実行する。第1の色の処理された再構築サンプルは、処理された再構築サンプルの複数の組み合わせに含まれない。処理回路は、デフォルト値、予測出力値、および予測情報において示される出力値のうちの1つ、のうちの1つに基づいてフィルタ処理の出力値を決定する。処理回路は、第1の色成分とは異なる現在のブロックの第2の色成分に適用されている出力値に基づいて現在のブロックを再構築する。
【選択図】
図20
【特許請求の範囲】
【請求項1】
デコーダにおけるビデオデコーディングの方法であって、
コーディングされたビデオシーケンスの一部である現在のピクチャ内の現在のブロックの予測情報をデコーディングするステップであって、前記予測情報は、処理された再構築サンプルとフィルタ処理の対応する出力値との複数の組み合わせを示す、ステップと、
前記現在のブロックの第1の色成分の処理された再構築サンプルに対して前記フィルタ処理を実行するステップであって、前記第1の色の前記処理された再構築サンプルは、前記予測情報において示される前記処理された再構築サンプルの前記複数の組み合わせに含まれない、ステップと、
デフォルト値、予測出力値、および前記予測情報において示される前記出力値のうちの1つ、のうちの1つに基づいて、前記フィルタ処理の出力値を決定するステップと、
前記現在のブロックの第2の色成分の再構築サンプルに適用されている前記出力値に基づいて前記現在のブロックを再構築するステップであって、前記第2の色成分は前記第1の色成分とは異なる、ステップと
を含む方法。
【請求項2】
決定する前記ステップは、第1の値および第2の値の1つを前記フィルタ処理の前記出力値として決定するステップであって、前記第1の値は前記予測情報において示される前記出力値のうちの前記1つであり、前記第2の値は前記第1の値の反数である、ステップ
を含む請求項1に記載の方法。
【請求項3】
前記第1の色成分の前記処理された再構築サンプルの各々は、前記予測情報において示される処理された再構築サンプルの前記複数の組み合わせのうちの1つにおける対応する処理された再構築サンプルの反数であり、前記予測情報において示される前記出力値のうちの前記1つは、前記予測情報において示される処理された再構築サンプルの前記複数の組み合わせのうちの前記1つに対応する、請求項1に記載の方法。
【請求項4】
前記フィルタ処理のマッピングテーブル内の前記第1の色成分の前記処理された再構築サンプルのインデックスと、前記フィルタ処理の前記マッピングテーブル内の前記予測情報において示される前記出力値のうちの前記1つのインデックスとの和は、前記マッピングテーブルの最大インデックスに等しい、請求項1に記載の方法。
【請求項5】
決定する前記ステップは、前記予測情報において示される処理された再構築サンプルの前記複数の組み合わせが前記フィルタ処理における処理された再構築サンプルの組み合わせの総数のサブセットであることを示す前記予測情報に基づいて、前記フィルタ処理の前記出力値として前記デフォルト値を決定するステップ
を含む、請求項1に記載の方法。
【請求項6】
前記予測出力値は、別のコーディングブロックに適用される前記フィルタ処理の出力値に基づいて決定される、請求項1に記載の方法。
【請求項7】
前記第1の色成分の前記処理された再構築サンプルは、第1のコーディングモジュールから出力される前記第1の色成分の再構築サンプルに基づいて決定され、前記第2の色成分の前記再構築サンプルは、前記第1のコーディングモジュールまたは前記第1のコーディングモジュールの後に適用される第2のコーディングモジュールから出力される、請求項1に記載の方法。
【請求項8】
コーディングされたビデオシーケンスの一部である現在のピクチャ内の現在のブロックの予測情報をデコーディングすることであって、前記予測情報は、処理された再構築サンプルとフィルタ処理の対応する出力値との複数の組み合わせを示す、前記デコーディングすることと、
前記現在のブロックの第1の色成分の処理された再構築サンプルに対して前記フィルタ処理を実行することであって、前記第1の色の前記処理された再構築サンプルは、前記予測情報において示される前記処理された再構築サンプルの前記複数の組み合わせに含まれない、前記実行することと、
デフォルト値、予測出力値、および前記予測情報において示される前記出力値のうちの1つ、のうちの1つに基づいて、前記フィルタ処理の出力値を決定することと、
前記現在のブロックの第2の色成分の再構築サンプルに適用されている前記出力値に基づいて前記現在のブロックを再構築することであって、前記第2の色成分は前記第1の色成分とは異なる、前記再構築することと
を行うように構成された処理回路を備える、装置。
【請求項9】
前記処理回路は、
第1の値および第2の値の1つを前記フィルタ処理の前記出力値として決定するようにさらに構成され、前記第1の値は前記予測情報において示される前記出力値のうちの前記1つであり、前記第2の値は前記第1の値の反数である、請求項8に記載の装置。
【請求項10】
前記第1の色成分の前記処理された再構築サンプルの各々は、前記予測情報において示される処理された再構築サンプルの前記複数の組み合わせのうちの1つにおける対応する処理された再構築サンプルの反数であり、前記予測情報において示される前記出力値のうちの前記1つは、前記予測情報において示される処理された再構築サンプルの前記複数の組み合わせのうちの前記1つに対応する、請求項8に記載の装置。
【請求項11】
前記フィルタ処理のマッピングテーブル内の前記第1の色成分の前記処理された再構築サンプルのインデックスと、前記フィルタ処理の前記マッピングテーブル内の前記予測情報において示される前記出力値のうちの前記1つのインデックスとの和は、前記マッピングテーブルの最大インデックスに等しい、請求項8に記載の装置。
【請求項12】
前記処理回路は、前記予測情報において示される処理された再構築サンプルの前記複数の組み合わせが前記フィルタ処理における処理された再構築サンプルの組み合わせの総数のサブセットであることを示す前記予測情報に基づいて、前記フィルタ処理の前記出力値として前記デフォルト値を決定するようにさらに構成された、請求項8に記載の装置。
【請求項13】
前記予測出力値は、別のコーディングブロックに適用される前記フィルタ処理の出力値に基づいて決定される、請求項8に記載の装置。
【請求項14】
前記第1の色成分の前記処理された再構築サンプルは、第1のコーディングモジュールから出力される前記第1の色成分の再構築サンプルに基づいて決定され、前記第2の色成分の前記再構築サンプルは、前記第1のコーディングモジュールまたは前記第1のコーディングモジュールの後に適用される第2のコーディングモジュールから出力される、請求項8に記載の装置。
【請求項15】
少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサに、
コーディングされたビデオシーケンスの一部である現在のピクチャ内の現在のブロックの予測情報をデコーディングするステップであって、前記予測情報は、処理された再構築サンプルとフィルタ処理の対応する出力値との複数の組み合わせを示す、ステップと、
前記現在のブロックの第1の色成分の処理された再構築サンプルに対して前記フィルタ処理を実行するステップであって、前記第1の色の前記処理された再構築サンプルは、前記予測情報において示される前記処理された再構築サンプルの前記複数の組み合わせに含まれない、ステップと、
デフォルト値、予測出力値、および前記予測情報において示される前記出力値のうちの1つ、のうちの1つに基づいて、前記フィルタ処理の出力値を決定するステップと、
前記現在のブロックの第2の色成分の再構築サンプルに適用されている前記出力値に基づいて前記現在のブロックを再構築するステップであって、前記第2の色成分は前記第1の色成分とは異なる、ステップと
を実行させる命令を記憶する非一時的コンピュータ可読記憶媒体。
【請求項16】
前記記憶された命令は、前記少なくとも1つのプロセッサに、
第1の値および第2の値の1つを前記フィルタ処理の前記出力値として決定するステップであって、前記第1の値は前記予測情報において示される前記出力値のうちの前記1つであり、前記第2の値は前記第1の値の反数である、ステップ
を実行させる、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項17】
前記第1の色成分の前記処理された再構築サンプルの各々は、前記予測情報において示される処理された再構築サンプルの前記複数の組み合わせのうちの1つにおける対応する処理された再構築サンプルの反数であり、前記予測情報において示される前記出力値のうちの前記1つは、前記予測情報において示される処理された再構築サンプルの前記複数の組み合わせのうちの前記1つに対応する、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項18】
前記フィルタ処理のマッピングテーブル内の前記第1の色成分の前記処理された再構築サンプルのインデックスと、前記フィルタ処理の前記マッピングテーブル内の前記予測情報において示される前記出力値のうちの前記1つのインデックスとの和は、前記マッピングテーブルの最大インデックスに等しい、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項19】
前記記憶された命令は、前記少なくとも1つのプロセッサに、
前記予測情報において示される処理された再構築サンプルの前記複数の組み合わせが前記フィルタ処理における処理された再構築サンプルの組み合わせの総数のサブセットであることを示す前記予測情報に基づいて、前記フィルタ処理の前記出力値として前記デフォルト値を決定するステップ
を実行させる、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項20】
前記予測出力値は、別のコーディングブロックに適用される前記フィルタ処理の出力値に基づいて決定される、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年11月12日に出願された米国仮出願第63/113,120号「IMPROVED CROSS-COMPONENT SAMPLE OFFSET」の優先権の利益を主張する、2021年6月28日に出願された米国特許出願第17/360,840号「METHOD AND APPARATUS FOR VIDEO CODING」の優先権の利益を主張する。先行する出願の開示全体は、参照によりその全体が本明細書に組み込まれる。
【0002】
本開示は、概してビデオコーディングに関連する実施形態を説明する。
【背景技術】
【0003】
本明細書で提供される背景技術の説明は、本開示の文脈を一般的に提示することを目的としている。本発明者らの研究は、この研究がこの背景技術の項で説明されている限りにおいて、および出願時に従来技術と見なされ得ない説明の態様は、本開示に対する従来技術として明示的にも暗示的にも認められない。
【0004】
ビデオコーディングおよびデコーディングは、動き補償を伴うインターピクチャ予測を使用して実行され得る。非圧縮デジタルビデオは、一連のピクチャを含み得、各ピクチャは、例えば1920×1080の輝度サンプルおよび関連するクロミナンスサンプルの空間次元を有する。一連のピクチャは、例えば毎秒60ピクチャまたは60Hzの固定または可変ピクチャレート(非公式にはフレームレートとしても知られている)を有し得る。非圧縮ビデオは、かなりのビットレート要件を有する。例えば、サンプルあたり8ビットの1080p60 4:2:0ビデオ(60Hzのフレームレートで1920×1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。1時間のこのようなビデオは、600GByteを超える記憶空間を必要とする。
【0005】
ビデオコーディングおよびデコーディングの1つの目的は、圧縮による入力ビデオ信号の冗長性の低減であり得る。圧縮は、前述の帯域幅または記憶空間要件を、場合によっては2桁以上低減するのに役立ち得る。可逆圧縮および非可逆圧縮の両方、ならびにこれらの組み合わせが用いられ得る。可逆圧縮は、元の信号の正確なコピーが圧縮された元の信号から再構築され得る技術を指す。非可逆圧縮を使用する場合、再構築された信号は元の信号と同一ではあり得ないが、元の信号と再構築された信号との間の歪みは、再構築された信号を意図された用途に利用するのに十分小さい。ビデオの場合、非可逆圧縮が広く用いられている。許容される歪みの量は用途に依存し、例えば、特定の消費者ストリーミング用途のユーザは、テレビ配信用途のユーザよりも高い歪みを許容し得る。達成可能な圧縮比は、より高い容認可能/許容可能な歪みがより高い圧縮比をもたらし得ることを反映し得る。
【0006】
ビデオエンコーダおよびデコーダは、例えば動き補償、変換、量子化、およびエントロピーコーディングを含む、いくつかの広範なカテゴリからの技術を利用し得る。
【0007】
ビデオコーデック技術は、イントラコーディングとして知られる技術を含み得る。イントラコーディングでは、以前に再構築された参照ピクチャからのサンプルまたは他のデータを参照することなく、サンプル値が表される。一部のビデオコーデックでは、ピクチャは、空間的にサンプルのブロックに細分される。サンプルのすべてのブロックがイントラモードでコーディングされる場合、そのピクチャは、イントラピクチャであり得る。イントラピクチャ、および独立デコーダリフレッシュピクチャなどのそれらの派生は、デコーダ状態をリセットするために使用され得、したがって、コーディングされたビデオビットストリームおよびビデオセッション内の1番目のピクチャとして、または静止画像として使用され得る。イントラブロックのサンプルは、変換を受け得、変換係数は、エントロピーコーディング前に量子化され得る。イントラ予測は、変換前領域におけるサンプル値を最小化する技術であり得る。場合によっては、変換後のDC値が小さいほど、およびAC係数が小さいほど、エントロピーコーディング後のブロックを表すために所与の量子化ステップのサイズで必要とされるビットは少なくなる。
【0008】
例えばMPEG-2生成コーディング技術から知られているような従来のイントラコーディングは、イントラ予測を使用しない。しかしながら、一部のより新しいビデオ圧縮技術は、例えば、空間的に隣接し、かつデコーディング順序で先行するデータブロックのエンコーディングおよび/またはデコーディング中に取得された周囲のサンプルデータおよび/またはメタデータから試行する技術を含む。このような技術は、以後「イントラ予測」技術と呼ばれる。少なくとも一部の場合には、イントラ予測は、再構築中の現在のピクチャからの参照データのみを使用し、参照ピクチャからの参照データは使用しないことに留意されたい。
【0009】
イントラ予測には多くの異なる形式があり得る。このような技術のうちの1つより多くが、所与のビデオコーディング技術において使用され得る場合、使用中の技術はイントラ予測モードでコーディングされ得る。ある場合には、モードはサブモードおよび/またはパラメータを有し得、それらは個別にコーディングされ得るかまたはモードコードワードに含まれ得る。所与のモード、サブモード、および/またはパラメータの組み合わせにどのコードワードを使用するかは、イントラ予測によるコーディング効率/利得に影響を及ぼし得、したがって、コードワードをビットストリームに変換するために使用されるエントロピーコーディング技術にも影響を及ぼし得る。
【0010】
イントラ予測の特定のモードは、H.264で導入され、H.265で改良され、共同探索モデル(JEM:joint exploration model)、多用途ビデオコーディング(VVC:versatile video coding)、およびベンチマークセット(BMS:benchmark set)などのより新しいコーディング技術でさらに改良された。予測子ブロックは、既に利用可能なサンプルに属する隣接サンプル値を使用して形成され得る。隣接サンプルのサンプル値は、方向に従って予測子ブロックにコピーされる。使用中の方向への参照は、ビットストリーム内でコーディングされ得るし、またはそれ自体予測されてもよい。
【0011】
図1Aを参照すると、右下に示されているのは、H.265の33個の可能な予測子方向(35個のイントラモードのうちの33個の角度モードに対応する)から知られる9つの予測子方向のサブセットである。矢印が収束している点(101)は、予測されているサンプルを表す。矢印は、サンプルが予測されている方向を表す。例えば、矢印(102)は、サンプル(101)が水平から45度の角度で右上にあるサンプルまたは複数のサンプルから予測されることを示す。同様に、矢印(103)は、サンプル(101)が水平から22.5度の角度でサンプル(101)の左下にあるサンプルまたは複数のサンプルから予測されることを示す。
【0012】
さらに
図1Aを参照すると、左上には、4×4サンプルの正方形ブロック(104)(太い破線で示されている)が示されている。正方形ブロック(104)は、16個のサンプルを含み、これら16個のサンプルはそれぞれ、「S」、Y次元におけるその位置(例えば、行インデックス)、およびX次元におけるその位置(例えば、列インデックス)でラベル付けされている。例えば、サンプルS21は、Y次元において(上から)2番目のサンプルであり、X次元において(左から)1番目のサンプルである。同様に、サンプルS44は、Y次元およびX次元の両方において4番目の、ブロック(104)内のサンプルである。ブロックのサイズが4×4サンプルであるため、S44は右下にある。同様の番号付けスキームに従う参照サンプルがさらに示されている。参照サンプルは、ブロック(104)に対してR、そのY位置(例えば、行インデックス)、およびX位置(列インデックス)でラベル付けされている。H.264およびH.265の両方において、予測サンプルは、再構築中のブロックに隣接し、したがって、負の値が使用される必要はない。
【0013】
イントラピクチャ予測は、シグナリングされた予測方向によって割り当てられるように、隣接サンプルからの参照サンプル値をコピーすることによって機能し得る。例えば、コーディングされたビデオビットストリームが、このブロックに関して、矢印(102)と一致する予測方向を示すシグナリングを含む、すなわち、サンプルが水平から45度の角度で右上にある予測サンプルまたは複数の予測サンプルから予測されると仮定する。その場合、同じ参照サンプルR05からサンプルS41、S32、S23、およびS14が予測される。次に、参照サンプルR08からサンプルS44が予測される。
【0014】
特定の場合には、特に、方向が45度で均等に割り切れない場合、参照サンプルを計算するために、例えば補間によって、複数の参照サンプルの値が組み合わされ得る。
【0015】
可能な方向の数は、ビデオコーディング技術が発展するにつれて増加している。H.264(2003年)では、9つの異なる方向が表され得る。これは、H.265(2013年)では33に増加しており、本開示の時点では、JEM/VVC/BMSが、最大で65の方向をサポートし得る。最も可能性の高い方向を特定するために実験が行われており、エントロピーコーディングの特定の技術は、それらの可能性の高い方向を少数のビットで表すために使用され、可能性の低い方向に関しては一定のペナルティを受け入れている。さらに、方向自体が、隣接する既にデコーディングされたブロックで使用された隣接する方向から予測され得る場合がある。
【0016】
図1Bは、経時的に増加する予測方向の数を示すためにJEMによる65のイントラ予測方向を示す概略図(105)を示す。
【0017】
方向を表す、コーディングされたビデオビットストリーム内のイントラ予測方向ビットのマッピングは、ビデオコーディング技術ごとに異なり得、例えば、予測方向からイントラ予測モードへの単純な直接マッピング、コードワード、最も可能性の高いモードを含む複雑な適応方式、および同様の技術に及び得る。しかしながら、すべての場合において、ビデオコンテンツで特定の他の方向よりも統計的に可能性の低い特定の方向が存在し得る。ビデオ圧縮の目的は冗長性の低減であるため、それらの可能性の低い方向は、うまく機能するビデオコーディング技術では、可能性の高い方向よりも多くのビット数で表される。
【0018】
動き補償は、非可逆圧縮技術であり得、以前に再構築されたピクチャまたはその部分(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以下MV(motion vector))によって示される方向に空間的にシフトされた後に、新たに再構築されるピクチャまたはピクチャ部分の予測に使用される技術に関し得る。場合によっては、参照ピクチャは、現在再構築中のピクチャと同じであり得る。MVは、2つの次元XおよびY、または3つの次元を有し得、第3の次元は、使用中の参照ピクチャの指示である(後者は、間接的に時間次元であり得る)。
【0019】
一部のビデオ圧縮技術では、サンプルデータの特定の領域に適用可能なMVは、他のMVから、例えば、再構築中の領域に空間的に隣接し、かつデコーディング順序でそのMVに先行するサンプルデータの別の領域に関連するMVから予測され得る。そうすることで、MVをコーディングするのに必要なデータの量を大幅に削減し得、その結果、冗長性が排除され、圧縮が増加する。例えば、カメラから引き出された入力ビデオ信号(自然ビデオとして知られている)をコーディングするとき、単一のMVが適用可能な領域よりも大きい領域が同様の方向に移動し、したがって、場合によっては、隣接する領域のMVから導出された同様のMVを使用して予測され得る統計的尤度があるため、MV予測は効果的に機能し得る。これにより、所与の領域に関して見つけられたMVは、周囲のMVから予測されたMVと同様であるかまたは同じになり、その結果として、エントロピーコーディング後に、MVを直接コーディングする場合に使用されるのよりも少ないビット数で表され得る。場合によっては、MV予測は、元の信号(すなわち、サンプルストリーム)から導出された信号(すなわち、MV)の可逆圧縮の一例であり得る。他の場合には、例えば、いくつかの周囲のMVから予測子を計算するときの丸め誤差のために、MV予測自体は非可逆であり得る。
【0020】
様々なMV予測メカニズムは、H.265/HEVC(ITU-T Rec.H.265、「高効率ビデオコーディング」、2016年12月)に説明されている。H.265が提供する多くのMV予測メカニズムのうち、以後「空間マージ」と呼ばれる技術が、本明細書で説明される。
【0021】
図1Cを参照すると、現在のブロック(111)は、空間的にシフトされた同じサイズの前のブロックから予測可能である、動き探索プロセス中にエンコーダによって見つけられたサンプルを含み得る。そのMVを直接コーディングする代わりに、MVは、A0、A1およびB0、B1、B2(それぞれ112から116)で表されている5つの周囲サンプルのいずれか1つに関連付けられたMVを使用して、1つ以上の参照ピクチャに関連付けられたメタデータから、例えば(デコーディング順序で)最新の参照ピクチャから導出され得る。H.265では、MV予測は、隣接するブロックが使用しているのと同じ参照ピクチャからの予測子を使用し得る。
【発明の概要】
【課題を解決するための手段】
【0022】
本開示の態様は、ビデオエンコーディング/デコーディングのための装置を提供する。装置は、コーディングされたビデオシーケンスの一部である現在のピクチャ内の現在のブロックの予測情報をデコーディングする処理回路を備える。予測情報は、処理された再構築サンプルとフィルタ処理の対応する出力値との複数の組み合わせを示す。処理回路は、現在のブロックの第1の色成分の処理された再構築サンプルに対してフィルタ処理を実行する。第1の色の処理された再構築サンプルは、処理された再構築サンプルの複数の組み合わせに含まれない。処理回路は、デフォルト値、予測出力値、および予測情報において示される出力値のうちの1つ、のうちの1つに基づいてフィルタ処理の出力値を決定する。処理回路は、現在のブロックの第2の色成分の再構築サンプルに適用されている出力値に基づいて現在のブロックを再構築する。第2の色成分は、第1の色成分とは異なる。
【0023】
一実施形態では、処理回路は、フィルタ処理の出力値として、第1の値および第2の値の1つを決定する。第1の値は、予測情報において示される出力値のうちの1つであり、第2の値は、第1の値の反数である。
【0024】
一実施形態では、第1の色成分の処理された再構築サンプルの各々は、予測情報において示される処理された再構築サンプルの複数の組み合わせのうちの1つにおける対応する処理された再構築サンプルの反数であり、予測情報において示される出力値のうちの1つは、予測情報において示される処理された再構築サンプルの複数の組み合わせのうちの1つに対応する。
【0025】
一実施形態では、フィルタ処理のマッピングテーブル内の第1の色成分の処理された再構築サンプルのインデックスと、フィルタ処理のマッピングテーブル内の予測情報において示される出力値のうちの1つのインデックスとの和は、マッピングテーブルの最大インデックスに等しい。
【0026】
一実施形態では、処理回路は、予測情報において示される処理された再構築サンプルの複数の組み合わせがフィルタ処理における処理された再構築サンプルの組み合わせの総数のサブセットであることを示す予測情報に基づいて、フィルタ処理の出力値としてデフォルト値を決定する。
【0027】
一実施形態では、予測出力値は、別のコーディングブロックに適用されるフィルタ処理の出力値に基づいて決定される。
【0028】
一実施形態では、第1の色成分の処理された再構築サンプルは、第1のコーディングモジュールから出力される第1の色成分の再構築サンプルに基づいて決定され、第2の色成分の再構築サンプルは、第1のコーディングモジュールまたは第1のコーディングモジュールの後に適用される第2のコーディングモジュールから出力される。
【0029】
本開示の態様は、ビデオエンコーディング/デコーディングのための方法を提供する。方法では、コーディングされたビデオシーケンスの一部である現在のピクチャ内の現在のブロックの予測情報がデコーディングされる。予測情報は、処理された再構築サンプルとフィルタ処理の対応する出力値との複数の組み合わせを示す。フィルタ処理は、現在のブロックの第1の色成分の処理された再構築サンプルに対して実行される。第1の色の処理された再構築サンプルは、処理された再構築サンプルの複数の組み合わせに含まれない。フィルタ処理の出力値は、デフォルト値、予測出力値、および予測情報において示される出力値のうちの1つ、のうちの1つに基づいて決定される。現在のブロックは、現在のブロックの第2の色成分の再構築サンプルに適用されている出力値に基づいて再構築される。第2の色成分は、第1の色成分とは異なる。
【0030】
本開示の態様はまた、少なくとも1つのプロセッサによって実行されるとき、少なくとも1つのプロセッサに、ビデオデコーディングのための方法の任意の1つまたは組み合わせを実行させる命令を記憶する非一時的コンピュータ可読媒体を提供する。
【0031】
開示されている主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになる。
【図面の簡単な説明】
【0032】
【
図1A】イントラ予測モードの例示的なサブセットの概略図である。
【
図1C】一例における現在のブロックおよびその周囲の空間マージ候補の概略図である。
【
図2】一実施形態による通信システムの簡略ブロック図の概略図である。
【
図3】一実施形態による通信システムの簡略ブロック図の概略図である。
【
図4】一実施形態によるデコーダの簡略ブロック図の概略図である。
【
図5】一実施形態によるエンコーダの簡略ブロック図の概略図である。
【
図6】別の実施形態によるエンコーダのブロック図を示す。
【
図7】別の実施形態によるデコーダのブロック図を示す。
【
図8A】いくつかの実施形態による適応ループフィルタ(ALF)の例示的なダイヤモンドフィルタ形状を示す図である。
【
図8B】いくつかの実施形態による適応ループフィルタ(ALF)の例示的なダイヤモンドフィルタ形状を示す図である。
【
図9A】いくつかの実施形態による、垂直方向、水平方向、および2つの対角方向の勾配計算にそれぞれ使用される例示的なサブサンプル位置を示す図である。
【
図9B】いくつかの実施形態による、垂直方向、水平方向、および2つの対角方向の勾配計算にそれぞれ使用される例示的なサブサンプル位置を示す図である。
【
図9C】いくつかの実施形態による、垂直方向、水平方向、および2つの対角方向の勾配計算にそれぞれ使用される例示的なサブサンプル位置を示す図である。
【
図9D】いくつかの実施形態による、垂直方向、水平方向、および2つの対角方向の勾配計算にそれぞれ使用される例示的なサブサンプル位置を示す図である。
【
図10】一実施形態によるルマ成分に適用される例示的な修正されたブロック分類を示す図である。
【
図11】いくつかの実施形態による仮想境界におけるルマ成分の例示的な修正ALFを示す図である。
【
図12】一実施形態による例示的な最大コーディングユニット(LCU)整列ピクチャ四分木分割を示す図である。
【
図13】一実施形態によるz順でエンコーディングされた例示的な四分木分割フラグを示す図である。
【
図14A】一実施形態によるクロス成分適応ループフィルタ(CC-ALF)の例示的な配置を示す図である。
【
図14B】一実施形態によるCC-ALF動作中に各クロマ成分のルマチャネルに適用される例示的な線形ダイヤモンド形状のフィルタを示す図である。
【
図15】いくつかの実施形態によるルマサンプルに対するクロマサンプルの例示的な位置を示す図である。
【
図16】一実施形態による8×8ブロックの例示的な方向検索を示す図である。
【
図17】一実施形態による例示的な部分空間投影を示す図である。
【
図18】一実施形態によるクロス成分サンプルオフセット(CCSO)フィルタの例示的なフィルタサポート領域を示す図である。
【
図19A】一実施形態によるCCSOフィルタにおける非線形マッピングの81個の例示的な組み合わせを表形式で示す表を示す図である。
【
図19B】一実施形態によるCCSOフィルタにおける非線形マッピングの81個の例示的な組み合わせを表形式で示す表を示す図である。
【
図19C】一実施形態によるシグナリングされず、
図19Aに示された表に基づいて導出され得る非線形マッピングの40個の例示的な組み合わせを表形式で示す表を示す図である。
【
図19D】一実施形態によるシグナリングされず、
図19Aに示された表に基づいて導出され得る非線形マッピングの40個の例示的な組み合わせを別の表形式で示す表を示す図である。
【
図19E】一実施形態によるCCSOフィルタにおける非線形マッピングの17個のシグナリングされた組み合わせを表形式で示す表を示す図である。
【
図19F】一実施形態によるCCSOフィルタにおける非線形マッピングの16個のシグナリングされた組み合わせを表形式で示す表を示す図である。
【
図19G】一実施形態によるCCSOフィルタにおける非線形マッピングの33個のシグナリングされた組み合わせを表形式で示す表を示す図である。
【
図19H】一実施形態によるCCSOフィルタにおける非線形マッピングの32個のシグナリングされた組み合わせを表形式で示す表を示す図である。
【
図20】一実施形態による例示的なフローチャートを示す図である。
【
図21】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0033】
I.ビデオデコーダおよびエンコーダシステム
図2は、本開示の一実施形態による通信システム(200)の簡略ブロック図を示す。通信システム(200)は、例えばネットワーク(250)を介して互いに通信し得る複数の端末デバイスを含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された第1のペアの端末デバイス(210)および(220)を含む。
図2の例では、第1のペアの端末デバイス(210)および(220)は、データの単方向送信を実行する。例えば、端末デバイス(210)は、ネットワーク(250)を介して他の端末デバイス(220)に送信するためにビデオデータ(例えば、端末デバイス(210)によって取り込まれたビデオピクチャのストリーム)をコーディングし得る。エンコーディングされたビデオデータは、1つ以上のコーディングされたビデオビットストリームの形式で送信され得る。端末デバイス(220)は、ネットワーク(250)からコーディングされたビデオデータを受信し、コーディングされたビデオデータをデコーディングしてビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示し得る。単方向データ送信は、メディアサービング用途などで一般的であり得る。
【0034】
別の例では、通信システム(200)は、例えばビデオ会議中に行われ得るコーディングされたビデオデータの双方向送信を実行する第2のペアの端末デバイス(230)および(240)を含む。データの双方向送信のために、一例では、端末デバイス(230)および(240)の各端末デバイスは、ネットワーク(250)を介して端末デバイス(230)および(240)の他方の端末デバイスに送信するためにビデオデータ(例えば、端末デバイスによって取り込まれたビデオピクチャのストリーム)をコーディングし得る。端末デバイス(230)および(240)の各端末デバイスはまた、端末デバイス(230)および(240)の他方の端末デバイスによって送信されたコーディングされたビデオデータを受信し得、コーディングされたビデオデータをデコーディングしてビデオピクチャを復元し得、復元されたビデオデータに従ってアクセス可能な表示デバイスにビデオピクチャを表示し得る。
【0035】
図2の例では、端末デバイス(210)、(220)、(230)、および(240)は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示され得るが、本開示の原理はそのように限定され得ない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用ビデオ会議機器に適用される。ネットワーク(250)は、例えば有線(ワイヤード)および/または無線通信ネットワークを含む、端末デバイス(210)、(220)、(230)、および(240)間でコーディングされたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(250)は、回路交換チャネルおよび/またはパケット交換チャネルでデータを交換し得る。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットを含む。本解説の目的のために、ネットワーク(250)のアーキテクチャおよびトポロジは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではあり得ない。
【0036】
図3は、開示されている主題の用途の例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示す。開示されている主題は、例えばビデオ会議、デジタルTV、CD、DVD、およびメモリスティックなどを含むデジタル媒体への圧縮ビデオの記憶を含む、他のビデオ対応用途にも等しく適用可能であり得る。
【0037】
ストリーミングシステムは、例えば非圧縮のビデオピクチャのストリーム(302)を作成するビデオソース(301)、例えばデジタルカメラを含み得るキャプチャサブシステム(313)を含み得る。一例では、ビデオピクチャのストリーム(302)は、デジタルカメラによって撮られたサンプルを含む。エンコーディングされたビデオデータ(304)(またはコーディングされたビデオビットストリーム)と比較して高いデータ量を強調するために太線として示されているビデオピクチャのストリーム(302)は、ビデオソース(301)に結合された、ビデオエンコーダ(303)を含む電子デバイス(320)によって処理され得る。ビデオエンコーダ(303)は、以下でより詳細に説明されるように、開示されている主題の態様を可能にするまたは実施するためにハードウェア、ソフトウェア、またはこれらの組み合わせを含み得る。エンコーディングされたビデオデータ(304)(またはエンコーディングされたビデオビットストリーム(304))は、ビデオピクチャのストリーム(302)と比較してより低いデータ量を強調するために細い線として示されており、将来の使用のためにストリーミングサーバ(305)に記憶され得る。
図3のクライアントサブシステム(306)および(308)などの1つ以上のストリーミングクライアントサブシステムは、エンコーディングされたビデオデータ(304)のコピー(307)および(309)を検索するためにストリーミングサーバ(305)にアクセスし得る。クライアントサブシステム(306)は、例えば電子デバイス(330)内にビデオデコーダ(310)を含み得る。ビデオデコーダ(310)は、エンコーディングされたビデオデータの入力コピー(307)をデコーディングし、ディスプレイ(312)(例えば、表示スクリーン)または他のレンダリングデバイス(図示せず)上にレンダリングされ得るビデオピクチャの出力ストリーム(311)を作成する。一部のストリーミングシステムでは、エンコーディングされたビデオデータ(304)、(307)、および(309)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮規格に従ってコーディングされ得る。それらの規格の例は、ITU-T勧告H.265を含む。一例では、開発中のビデオコーディング規格は、多用途ビデオコーディング(VVC)として非公式に知られている。開示された主題は、VVCの文脈で使用され得る。
【0038】
電子デバイス(320)および(330)は、他の構成要素(図示せず)を含み得ることに留意されたい。例えば、電子デバイス(320)はビデオデコーダ(図示せず)を含み得、電子デバイス(330)はビデオエンコーダ(図示せず)も含み得る。
【0039】
図4は、本開示の一実施形態によるビデオデコーダ(410)のブロック図を示す。ビデオデコーダ(410)は、電子デバイス(430)に含まれ得る。電子デバイス(430)は、受信機(431)(例えば、受信回路)を含み得る。ビデオデコーダ(410)は、
図3の例のビデオデコーダ(310)の代わりに使用され得る。
【0040】
受信機(431)は、ビデオデコーダ(410)によってデコーディングされるべき1つ以上のコーディングされたビデオシーケンスを受信し得、同じまたは別の実施形態では、一度に1つのコーディングされたビデオシーケンスを受信し得、その場合、各コーディングされたビデオシーケンスのデコーディングは、他のコーディングされたビデオシーケンスから独立している。コーディングされたビデオシーケンスは、チャネル(401)から受信され得、チャネル(401)は、エンコーディングされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであり得る。受信機(431)は、それぞれの使用エンティティ(図示せず)に転送され得る他のデータ、例えばコーディングされたオーディオデータストリームおよび/または補助データストリームと共に、エンコーディングされたビデオデータを受信し得る。受信機(431)は、コーディングされたビデオシーケンスを他のデータから分離し得る。ネットワークジッタに対抗するために、バッファメモリ(415)が、受信機(431)とエントロピーデコーダ/パーサ(420)(以下「パーサ(420)」)との間に結合され得る。特定の用途では、バッファメモリ(415)は、ビデオデコーダ(410)の一部である。他のものでは、それはビデオデコーダ(410)の外部にあり得る(図示せず)。さらに他のものでは、例えばネットワークジッタに対抗するためにビデオデコーダ(410)の外部にバッファメモリ(図示せず)があり、加えて、例えばプレイアウトタイミングを処理するためにビデオデコーダ(410)の内部に別のバッファメモリ(415)があり得る。受信機(431)が、十分な帯域幅および制御性を有する記憶/転送デバイスから、またはアイソシンクロナスネットワークからデータを受信している場合、バッファメモリ(415)は必要ない場合がある、または小さくされ得る。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(415)は、必要とされる場合があり、比較的大きくされ得、好適には適応サイズにされ得、ビデオデコーダ(410)の外部のオペレーティングシステムまたは同様の要素(図示せず)に少なくとも部分的に実装されてもよい。
【0041】
ビデオデコーダ(410)は、コーディングされたビデオシーケンスからシンボル(421)を再構築するためのパーサ(420)を含み得る。これらのシンボルのカテゴリは、ビデオデコーダ(410)の動作を管理するために使用される情報と、場合によっては、
図4に示されているように、電子デバイス(430)の不可欠な部分ではないが、電子デバイス(430)に結合され得るレンダデバイス(412)などのレンダリングデバイス(例えば、表示スクリーン)を制御するための情報を含む。レンダリングデバイスの制御情報は、補足拡張情報(SEI(Supplemental Enhancement Information)メッセージ)またはビデオユーザビリティ情報(VUI:Video Usability Information)パラメータセットフラグメント(図示せず)の形式であり得る。パーサ(420)は、受信されたコーディングされたビデオシーケンスを解析/エントロピーデコーディングし得る。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術または規格に準拠し得、可変長コーディング、ハフマンコーディング、および文脈依存性を伴うまたは伴わない算術コーディングなどを含む様々な原理に従い得る。パーサ(420)は、コーディングされたビデオシーケンスから、ビデオデコーダ内の画素のサブグループのうちの少なくとも1つに関するサブグループパラメータのセットを、そのグループに対応する少なくとも1つのパラメータに基づいて抽出し得る。サブグループは、グループオブピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU:Coding Unit)、ブロック、変換ユニット(TU:Transform Unit)、および予測ユニット(PU:Prediction Unit)などを含み得る。パーサ(420)はまた、変換係数、量子化器パラメータ値、およびMVなどのコーディングされたビデオシーケンス情報から抽出し得る。
【0042】
パーサ(420)は、シンボル(421)を作成するために、バッファメモリ(415)から受信されたビデオシーケンスに対してエントロピーデコーディング/解析動作を実行し得る。
【0043】
シンボル(421)の再構築は、コーディングされたビデオピクチャまたはその部分のタイプ(インターピクチャおよびイントラピクチャ、インターブロックおよびイントラブロックなど)、ならびに他の要因に応じて、複数の異なるユニットを関与させ得る。どのユニットをどのように関与させるかは、パーサ(420)によってコーディングされたビデオシーケンスから解析されたサブグループ制御情報によって制御され得る。パーサ(420)と以下の複数のユニットとの間のこのようなサブグループ制御情報のフローは、明確にするために示されていない。
【0044】
既に言及された機能ブロックのほかに、ビデオデコーダ(410)は、以下で説明されるように概念的にいくつかの機能ユニットに細分され得る。商業的な制約の下で動作する実際の実施態様では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合され得る。しかしながら、開示された主題を説明するために、以下の機能ユニットへの概念的な細分化が適切である。
【0045】
最初のユニットは、スケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、量子化された変換係数と、使用する変換、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報とをパーサ(420)からシンボル(421)として受信する。スケーラ/逆変換ユニット(451)は、アグリゲータ(455)に入力され得るサンプル値を含むブロックを出力し得る。
【0046】
場合によっては、スケーラ/逆変換(451)の出力サンプルは、イントラコーディングされたブロックに関係し得る、すなわち、以前に再構築されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構築された部分からの予測情報を使用し得るブロックに関係し得る。このような予測情報は、イントラピクチャ予測ユニット(452)によって提供され得る。場合によっては、イントラピクチャ予測ユニット(452)は、現在のピクチャバッファ(458)からフェッチされた周囲の既に再構築された情報を使用して、再構築中のブロックと同じサイズおよび形状のブロックを生成する。現在のピクチャバッファ(458)は、例えば、部分的に再構築された現在のピクチャおよび/または完全に再構築された現在のピクチャをバッファリングする。アグリゲータ(455)は、場合によっては、サンプルごとに、イントラ予測ユニット(452)が生成した予測情報を、スケーラ/逆変換ユニット(451)によって提供される出力サンプル情報に追加する。
【0047】
他の場合には、スケーラ/逆変換ユニット(451)の出力サンプルは、インターコーディングされた、場合によっては動き補償されたブロックに関係し得る。このような場合、動き補償予測ユニット(453)は、予測に使用されるサンプルをフェッチするために参照ピクチャメモリ(457)にアクセスし得る。ブロックに関係するシンボル(421)に従って、フェッチされたサンプルを動き補償した後、これらのサンプル(この場合、残差サンプルまたは残差信号と呼ばれる)は、出力サンプル情報を生成するために、アグリゲータ(455)によってスケーラ/逆変換ユニット(451)の出力に追加され得る。動き補償予測ユニット(453)が予測サンプルをフェッチする参照ピクチャメモリ(457)内のアドレスは、例えばX、Y、および参照ピクチャ成分を有し得るシンボル(421)の形式で動き補償予測ユニット(453)に利用可能なMVによって制御され得る。動き補償はまた、サブサンプルの正確なMVが使用されているときに参照ピクチャメモリ(457)からフェッチされたサンプル値の補間、およびMV予測メカニズムなどを含み得る。
【0048】
アグリゲータ(455)の出力サンプルは、ループフィルタユニット(456)で様々なループフィルタリング技術を受け得る。ビデオ圧縮技術は、コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる)に含まれ、パーサ(420)からのシンボル(421)としてループフィルタユニット(456)に利用可能にされたパラメータによって制御されるループ内フィルタ技術を含み得るが、これはまた、コーディングされたピクチャまたはコーディングされたビデオシーケンスの(デコーディング順序で)前の部分のデコーディング中に取得されたメタ情報に応答し、また以前に再構築されループフィルタリングされたサンプル値に応答し得る。
【0049】
ループフィルタユニット(456)の出力は、レンダデバイス(412)に出力され得るだけでなく、将来のインターピクチャ予測で使用するために参照ピクチャメモリ(457)に記憶され得るサンプルストリームであり得る。
【0050】
特定のコーディングされたピクチャは、完全に再構築されると、将来の予測のための参照ピクチャとして使用され得る。例えば、現在のピクチャに対応するコーディングされたピクチャが完全に再構築され、コーディングされたピクチャが(例えば、パーサ(420)によって)参照ピクチャとして識別されると、現在のピクチャバッファ(458)は、参照ピクチャメモリ(457)の一部になり得、新しい現在のピクチャバッファは、後続のコーディングされたピクチャの再構築を開始する前に再割り当てされ得る。
【0051】
ビデオデコーダ(410)は、ITU-T Rec.H.265などの規格における所定のビデオ圧縮技術に従ってデコーディング動作を実行し得る。コーディングされたビデオシーケンスは、コーディングされたビデオシーケンスが、ビデオ圧縮技術または規格で文書化されているようなビデオ圧縮技術または規格のシンタックスおよびプロファイルの両方に準拠するという意味で、使用されているビデオ圧縮技術または規格によって指定されたシンタックスに準拠し得る。具体的には、プロファイルは、ビデオ圧縮技術または規格で利用可能なすべてのツールの中から、そのプロファイルの下での使用に利用可能な唯一のツールとして特定のツールを選択し得る。また、コンプライアンスのために必要なのは、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格のレベルによって定義された範囲内にあることであり得る。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構築サンプルレート(例えば毎秒メガサンプルで測定される)、および最大参照ピクチャサイズなどを制限する。レベルによって設定された限界は、場合によっては、仮想参照デコーダ(HRD:Hypothetical Reference Decoder)の仕様、およびコーディングされたビデオシーケンスでシグナリングされるHRDバッファ管理のメタデータによってさらに制限され得る。
【0052】
一実施形態では、受信機(431)は、エンコーディングされたビデオと共に追加の(冗長な)データを受信し得る。追加のデータは、コーディングされたビデオシーケンスの一部として含まれ得る。追加のデータは、データを適切にデコーディングするために、および/または元のビデオデータをより正確に再構築するためにビデオデコーダ(410)によって使用され得る。追加のデータは、例えば、時間、空間、または信号ノイズ比(SNR:signal noise ratio)拡張層、冗長スライス、冗長ピクチャ、および前方誤り訂正コードなどの形式であり得る。
【0053】
図5は、本開示の一実施形態によるビデオエンコーダ(503)のブロック図を示す。ビデオエンコーダ(503)は、電子デバイス(520)に含まれる。電子デバイス(520)は、送信機(540)(例えば、送信回路)を含む。ビデオエンコーダ(503)は、
図3の例のビデオエンコーダ(303)の代わりに使用され得る。
【0054】
ビデオエンコーダ(503)は、ビデオエンコーダ(503)によってコーディングされるべきビデオ画像を取り込み得るビデオソース(501)(
図5の例では電子デバイス(520)の一部ではない)からビデオサンプルを受信し得る。別の例では、ビデオソース(501)は電子デバイス(520)の一部である。
【0055】
ビデオソース(501)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形式で、ビデオエンコーダ(503)によってコーディングされるべきソースビデオシーケンスを提供し得る。メディアサービングシステムでは、ビデオソース(501)は、以前に準備されたビデオを記憶する記憶デバイスであり得る。ビデオ会議システムでは、ビデオソース(501)は、ローカル画像情報をビデオシーケンスとして取り込むカメラであり得る。ビデオデータは、順番に見られたときに動きを伝える複数の個々のピクチャとして提供され得る。ピクチャ自体は、画素の空間アレイとして編成され得、各画素は、使用中のサンプリング構造、色空間などに応じて1つ以上のサンプルを含み得る。当業者であれば、画素とサンプルとの関係を容易に理解し得る。以下の説明では、サンプルを中心に説明する。
【0056】
一実施形態によれば、ビデオエンコーダ(503)は、用途の要求に応じて、リアルタイムで、または任意の他の時間的制約の下で、ソースビデオシーケンスのピクチャをコーディングし、コーディングされたビデオシーケンス(543)に圧縮し得る。適切なコーディング速度を実施することは、コントローラ(550)の1つの機能である。一部の実施形態では、コントローラ(550)は、以下で説明されるように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。明確にするために、結合は示されていない。コントローラ(550)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、…)、ピクチャサイズ、グループオブピクチャ(GOP)レイアウト、および最大MV許容参照領域などを含み得る。コントローラ(550)は、特定のシステム設計に最適化されたビデオエンコーダ(503)に関係する他の適切な機能を有するように構成され得る。
【0057】
一部の実施形態では、ビデオエンコーダ(503)は、コーディングループで動作するように構成される。過度に簡略化された説明として、一例では、コーディングループは、ソースコーダ(530)(例えば、コーディングされるべき入力ピクチャと、参照ピクチャとに基づいて、シンボルストリームなどのシンボルを作成することを担当する)と、ビデオエンコーダ(503)に組み込まれた(ローカル)デコーダ(533)とを含み得る。デコーダ(533)は、同じく(リモート)デコーダが作成するのと同様の方法(開示されている主題で考慮されているビデオ圧縮技術において、シンボルとコーディングされたビデオビットストリームとの間の圧縮が可逆的であるとき)でサンプルデータを作成するためにシンボルを再構築する。再構築サンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(534)に入力される。シンボルストリームのデコーディングは、デコーダの位置(ローカルまたはリモート)に関係なくビット正確な結果をもたらすため、参照ピクチャメモリ(534)の内容もローカルエンコーダとリモートエンコーダとの間でビット正確である。言い換えれば、エンコーダの予測部分は、デコーディング中に予測を使用するときにデコーダが「見る」のとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照画像の同期性のこの基本原理(および、例えばチャネルエラーのために同期性を維持できない場合に生じるドリフト)は、いくつかの関連技術においても用いられる。
【0058】
「ローカル」デコーダ(533)の動作は、
図4に関連して上記で既に詳細に説明された、ビデオデコーダ(410)などの「リモート」デコーダの動作と同じであり得る。しかしながら、
図4も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(545)およびパーサ(420)によるシンボルの、コーディングされたビデオシーケンスへのエンコーディング/コーディングされたビデオシーケンスからのデコーディングが可逆的であり得るため、バッファメモリ(415)およびパーサ(420)を含む、ビデオデコーダ(410)のエントロピーデコーディング部分は、ローカルデコーダ(533)では完全に実施されなくてもよい。
【0059】
この点で行われ得る観察は、デコーダに存在する解析/エントロピーデコーディング以外のデコーダ技術が、実質的に同一の機能形式で、対応するエンコーダにも必ず存在する必要があることである。このため、開示されている主題はデコーダ動作に焦点を合わせている。エンコーダ技術の説明は、包括的に説明されているデコーダ技術の逆であるため、省略され得る。特定の領域でのみ、より詳細な説明が必要であり、以下に提供される。
【0060】
動作中、一部の例では、ソースコーダ(530)は、「参照ピクチャ」として指定された、ビデオシーケンスからの1つ以上の以前にコーディングされたピクチャを参照して入力ピクチャを予測的にコーディングする動き補償予測コーディングを実行し得る。このようにして、コーディングエンジン(532)は、入力ピクチャの画素ブロックと、入力ピクチャに対する予測参照として選択され得る参照ピクチャの画素ブロックとの差をコーディングする。
【0061】
ローカルビデオデコーダ(533)は、ソースコーダ(530)によって作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデータをデコーディングし得る。コーディングエンジン(532)の動作は、好適には非可逆プロセスであり得る。コーディングされたビデオデータがビデオデコーダ(
図5には示されていない)でデコーディングされ得るとき、再構築されたビデオシーケンスは通常、いくらかの誤差を有するソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(533)は、参照ピクチャに対してビデオデコーダによって実行され得るデコーディングプロセスを複製し、再構築された参照ピクチャを参照ピクチャキャッシュ(534)に記憶させ得る。このようにして、ビデオエンコーダ(503)は、(送信エラーがなければ)遠端ビデオデコーダによって取得される再構築された参照ピクチャと共通の内容を有する再構築された参照ピクチャのコピーをローカルに記憶し得る。
【0062】
予測器(535)は、コーディングエンジン(532)のための予測検索を実行し得る。すなわち、コーディングされるべき新しいピクチャに関して、予測器(535)は、新しいピクチャのための適切な予測参照として機能し得るサンプルデータ(候補参照画素ブロックとしての)、または参照ピクチャMVおよびブロック形状などの特定のメタデータに関して参照ピクチャメモリ(534)を検索し得る。予測器(535)は、適切な予測参照を見つけるために、サンプルブロック・画素ブロックごとに動作し得る。場合によっては、予測器(535)によって取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(534)に記憶された複数の参照ピクチャの中から引き出された予測参照を有し得る。
【0063】
コントローラ(550)は、例えば、ビデオデータをエンコーディングするために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(530)のコーディング動作を管理し得る。
【0064】
前述のすべての機能ユニットの出力は、エントロピーコーダ(545)でエントロピーコーディングを受け得る。エントロピーコーダ(545)は、ハフマンコーディング、可変長コーディング、および算術コーディングなどの技術に従ってシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルをコーディングされたビデオシーケンスに変換する。
【0065】
送信機(540)は、エンコーディングされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであり得る通信チャネル(560)を介した送信を準備するために、エントロピーコーダ(545)によって作成されたコーディングされたビデオシーケンスをバッファリングし得る。送信機(540)は、ビデオコーダ(503)からのコーディングされたビデオデータと、送信されるべき他のデータ、例えばコーディングされたオーディオデータストリームおよび/または補助データストリーム(ソースは図示せず)とをマージし得る。
【0066】
コントローラ(550)は、ビデオエンコーダ(503)の動作を管理し得る。コーディング中、コントローラ(550)は、特定のコーディングされたピクチャのタイプを各コーディングされたピクチャに割り当て得、これは、それぞれのピクチャに適用され得るコーディング技術に影響を及ぼし得る。例えば、ピクチャは、多くの場合、以下のピクチャタイプのうちの1つとして割り当てられ得る。
【0067】
イントラピクチャ(Iピクチャ)は、シーケンス内の他のピクチャを予測のソースとして使用せずにコーディングおよびデコーディングされ得るものであり得る。一部のビデオコーデックは、例えば独立デコーダリフレッシュ(「IDR:Independent Decoder Refresh」)ピクチャを含む様々なタイプのイントラピクチャに対応する。当業者は、Iピクチャのそれらの変種ならびにそれらのそれぞれの用途および特徴を認識している。
【0068】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために最大で1つのMVおよび参照インデックスを使用するイントラ予測またはインター予測を使用してコーディングおよびデコーディングされ得るものであり得る。
【0069】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大で2つのMVおよび参照インデックスを使用するイントラ予測またはインター予測を使用してコーディングおよびデコーディングされ得るものであり得る。同様に、複数の予測ピクチャは、単一のブロックの再構築のために2つより多くの参照ピクチャおよび関連メタデータを使用し得る。
【0070】
ソースピクチャは、一般的には、複数のサンプルブロック(例えば、4×4、8×8、4×8、または16×16のサンプルそれぞれのブロック)に空間的に細分され、ブロックごとにコーディングされ得る。ブロックは、ブロックのそれぞれのピクチャに適用されたコーディング割り当てによって決定されるように他の(既にコーディングされた)ブロックを参照して予測的にコーディングされ得る。例えば、Iピクチャのブロックは、非予測的にコーディングされ得るか、または同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされ得る(空間予測またはイントラ予測)。Pピクチャの画素ブロックは、空間予測によってまたは時間予測によって、以前にコーディングされた1つの参照ピクチャを参照して予測的にコーディングされ得る。Bピクチャのブロックは、空間予測によってまたは時間予測によって、以前にコーディングされた1つまたは2つの参照ピクチャを参照して予測的にコーディングされ得る。
【0071】
ビデオエンコーダ(503)は、ITU-T Rec.H.265などの所定のビデオコーディング技術または規格に従ってコーディング動作を実行し得る。その動作において、ビデオエンコーダ(503)は、入力ビデオシーケンスの時間的および空間的冗長性を利用する予測コーディング動作を含む様々な圧縮動作を実行し得る。したがって、コーディングされたビデオデータは、使用されているビデオコーディング技術または規格によって指定されたシンタックスに準拠し得る。
【0072】
一実施形態では、送信機(540)は、エンコーディングされたビデオと共に追加のデータを送信し得る。ソースコーダ(530)は、このようなデータを、コーディングされたビデオシーケンスの一部として含み得る。追加のデータは、時間/空間/SNR拡張層、冗長ピクチャおよびスライスなどの他の形式の冗長データ、SEIメッセージ、およびVUIパラメータセットフラグメントなどを含み得る。
【0073】
ビデオは、時系列の複数のソースピクチャ(ビデオピクチャ)として取り込まれ得る。イントラピクチャ予測(しばしばイントラ予測と略される)は、所与のピクチャにおける空間的相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的または他の)相関を利用する。一例では、現在のピクチャと呼ばれるエンコーディング/デコーディング中の特定のピクチャはブロックに分割される。現在のピクチャ内のブロックが、ビデオ内の以前にコーディングされ、まだバッファリングされている参照ピクチャ内の参照ブロックと同様である場合、現在のピクチャ内のブロックは、MVと呼ばれるベクトルによってコーディングされ得る。MVは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3の次元を有し得る。
【0074】
一部の実施形態では、インターピクチャ予測に双予測技術が使用され得る。双予測技術によれば、両方ともデコーディング順序でビデオ内で現在のピクチャより前にある(が、表示順でそれぞれ過去および未来のものであってもよい)第1の参照ピクチャおよび第2の参照ピクチャなどの2つの参照ピクチャが使用される。現在のピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1のMVと、第2の参照ピクチャ内の第2の参照ブロックを指す第2のMVとによってコーディングされ得る。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測され得る。
【0075】
さらに、コーディング効率を改善するために、インター画像予測にマージモード技術を使用することができる。
【0076】
本開示のいくつかの実施形態によれば、インター画像予測およびイントラ画像予測などの予測は、ブロック単位で実行される。例えば、HEVC規格によれば、ビデオピクチャのシーケンス内のピクチャは、圧縮のためにコーディングツリーユニット(CTU:coding tree unit)に分割され、ピクチャ内のCTUは、64×64画素、32×32画素、または16×16画素などの同じサイズを有する。一般に、CTUは、1つのルマCTBおよび2つのクロマCTBである3つのコーディングツリーブロック(CTB:coding tree block)を含む。各CTUは、1つまたは複数のコーディングユニット(CU:coding unit)に再帰的に四分木分割され得る。例えば、64×64画素のCTUは、64×64画素の1つのCU、または32×32画素の4つのCU、または16×16画素の16個のCUに分割され得る。一例では、各CUは、インター予測タイプまたはイントラ予測タイプなどのCUの予測タイプを決定するために分析される。CUは、時間的および/または空間的な予測可能性に応じて、1つ以上の予測ユニット(PU:prediction unit)に分割される。一般に、各PUは、ルマ予測ブロック(PB:prediction block)と、2つのクロマPBとを含む。一実施形態では、コーディング(エンコーディング/デコーディング)における予測動作は、予測ブロックの単位で実行される。予測ブロックの例としてルマ予測ブロックを使用すると、予測ブロックは、8×8画素、16×16画素、8×16画素、および16×8画素などの画素の値(例えば、ルマ値)の行列を含む。
【0077】
図6は、本開示の別の実施形態によるビデオエンコーダ(603)の図を示す。ビデオエンコーダ(603)は、ビデオピクチャのシーケンス内の現在のビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャにエンコーディングするように構成される。一例では、ビデオエンコーダ(603)は、
図3の例のビデオエンコーダ(303)の代わりに使用される。
【0078】
HEVCの例では、ビデオエンコーダ(603)は、8×8サンプルなどの予測ブロックなどの処理ブロックのサンプル値の行列を受信する。ビデオエンコーダ(603)は、処理ブロックが、例えばレート歪み最適化を使用して、イントラモード、インターモード、または双予測モードのいずれを使用すれば最良にコーディングされるかを判定する。処理ブロックがイントラモードでコーディングされるべき場合、ビデオエンコーダ(603)は、処理ブロックをコーディングされたピクチャにエンコーディングするために、イントラ予測技術を使用し得、処理ブロックがインターモードまたは双予測モードでコーディングされるべき場合、ビデオエンコーダ(603)は、処理ブロックをコーディングされたピクチャにエンコーディングするために、それぞれインター予測技術または双予測技術を使用し得る。特定のビデオコーディング技術では、マージモードはインターピクチャ予測サブモードであり得、MVは、予測子の外部のコーディングされたMV成分の恩恵なしに1つ以上のMV予測子から導出される。特定の他のビデオコーディング技術では、対象ブロックに適用可能なMV成分が存在し得る。一例では、ビデオエンコーダ(603)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他の構成要素を含む。
【0079】
図6の例では、ビデオエンコーダ(603)は、
図6に示されているように互いに結合されたインターエンコーダ(630)、イントラエンコーダ(622)、残差計算器(623)、スイッチ(626)、残差エンコーダ(624)、汎用コントローラ(621)、およびエントロピーエンコーダ(625)を含む。
【0080】
インターエンコーダ(630)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、そのブロックと、参照ピクチャ内の1つ以上の参照ブロック(例えば、前のピクチャおよび後のピクチャ内のブロック)とを比較し、インター予測情報(例えば、インターエンコーディング技術、MV、マージモード情報による冗長情報の記述)を生成し、任意の適切な技術を使用してインター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。一部の例では、参照ピクチャは、エンコーディングされたビデオ情報に基づいてデコーディングされたデコーディングされた参照ピクチャである。
【0081】
イントラエンコーダ(622)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、そのブロックと、同じピクチャ内の既にコーディングされているブロックとを比較し、変換後に量子化係数を生成し、場合によっては、イントラ予測情報(例えば、1つ以上のイントラエンコーディング技術によるイントラ予測方向情報)も生成するように構成される。一例では、イントラエンコーダ(622)は、イントラ予測情報と、同じピクチャ内の参照ブロックとに基づいてイントラ予測結果(例えば、予測ブロック)も計算する。
【0082】
汎用コントローラ(621)は、汎用制御データを決定し、汎用制御データに基づいてビデオエンコーダ(603)の他の構成要素を制御するように構成される。一例では、汎用コントローラ(621)は、ブロックのモードを決定し、モードに基づいてスイッチ(626)に制御信号を提供する。例えば、モードがイントラモードである場合、汎用コントローラ(621)は、残差計算器(623)によって使用するためにイントラモード結果を選択するようにスイッチ(626)を制御し、イントラ予測情報を選択し、イントラ予測情報をビットストリームに含めるようにエントロピーエンコーダ(625)を制御し、モードがインターモードである場合、汎用コントローラ(621)は、残差計算器(623)によって使用するためにインター予測結果を選択するようにスイッチ(626)を制御し、インター予測情報を選択し、インター予測情報をビットストリームに含めるようにエントロピーエンコーダ(625)を制御する。
【0083】
残差計算器(623)は、受信されたブロックと、イントラエンコーダ(622)またはインターエンコーダ(630)から選択された予測結果との差分(残差データ)を計算する。残差エンコーダ(624)は、変換係数を生成するために残差データをエンコーディングするために残差データに基づいて動作するように構成される。一例では、残差エンコーダ(624)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成される。変換係数は次に、量子化された変換係数を取得するために量子化処理を受ける。様々な実施形態において、ビデオエンコーダ(603)は、残差デコーダ(628)も含む。残差デコーダ(628)は、逆変換を実行し、デコーディングされた残差データを生成するように構成される。デコーディングされた残差データは、イントラエンコーダ(622)およびインターエンコーダ(630)によって適切に使用され得る。例えば、インターエンコーダ(630)は、デコーディングされた残差データとインター予測情報とに基づいて、デコーディングされたブロックを生成し得、イントラエンコーダ(622)は、デコーディングされた残差データとイントラ予測情報とに基づいて、デコーディングされたブロックを生成し得る。一部の例では、デコーディングされたブロックは、デコーディングされたピクチャを生成するために適切に処理され、デコーディングされたピクチャは、メモリ回路(図示せず)にバッファリングされ、参照ピクチャとして使用され得る。
【0084】
エントロピーエンコーダ(625)は、エンコーディングされたブロックを含むようにビットストリームをフォーマットするよう構成される。エントロピーエンコーダ(625)は、HEVCなどの適切な規格に従って様々な情報を含むように構成される。一例では、エントロピーエンコーダ(625)は、汎用制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、および他の適切な情報をビットストリームに含めるように構成される。開示されている主題によれば、インターモードまたは双予測モードのいずれかのマージサブモードでブロックをコーディングする場合、残差情報は存在しないことに留意されたい。
【0085】
図7は、本開示の別の実施形態によるビデオデコーダ(710)の図を示す。ビデオデコーダ(710)は、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャを受信し、コーディングされたピクチャをデコーディングして再構築されたピクチャを生成するように構成される。一例では、ビデオデコーダ(710)は、
図3の例のビデオデコーダ(310)の代わりに使用される。
【0086】
図7の例では、ビデオデコーダ(710)は、
図7に示されているように互いに結合されたエントロピーデコーダ(771)、インターデコーダ(780)、残差デコーダ(773)、再構築モジュール(774)、およびイントラデコーダ(772)を含む。
【0087】
エントロピーデコーダ(771)は、コーディングされたピクチャから、コーディングされたピクチャが構成されているシンタックス要素を表す特定のシンボルを再構築するように構成され得る。このようなシンボルは、例えば、ブロックがコーディングされているモード(例えば、イントラモード、インターモード、双予測モードなど、後者の2つはマージサブモードまたは別のサブモードである)、イントラデコーダ(772)またはインターデコーダ(780)によってそれぞれ予測に使用される特定のサンプルまたはメタデータを識別し得る予測情報(例えば、イントラ予測情報またはインター予測情報など)、および例えば量子化された変換係数の形式の残差情報などを含み得る。一例では、予測モードがインター予測モードまたは双予測モードである場合、インター予測情報がインターデコーダ(780)に提供され、予測タイプがイントラ予測タイプである場合、イントラ予測情報がイントラデコーダ(772)に提供される。残差情報は逆量子化を受け得、残差デコーダ(773)に提供される。
【0088】
インターデコーダ(780)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0089】
イントラデコーダ(772)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0090】
残差デコーダ(773)は、逆量子化を実行して、逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して残差を周波数領域から空間領域に変換するように構成される。残差デコーダ(773)はまた、特定の制御情報(量子化器パラメータ(QP:Quantizer Parameter)を含む)を必要とし得、その情報は、エントロピーデコーダ(771)によって提供され得る(これとして示されていないデータ経路は、低ボリューム制御情報のみであり得る)。
【0091】
再構築モジュール(774)は、空間領域において、残差デコーダ(773)によって出力される残差と、予測結果(場合によってインター予測モジュールまたはイントラ予測モジュールによって出力される)とを組み合わせて、結果的に再構築されたビデオの一部になり得る再構築されたピクチャの一部であり得る再構築されたブロックを形成するように構成される。視覚的品質を改善するために、デブロッキング動作などの他の適切な動作が実行され得ることに留意されたい。
【0092】
ビデオエンコーダ(303)、(503)、および(603)、ならびにビデオデコーダ(310)、(410)、および(710)は、任意の適切な技術を使用して実施され得ることに留意されたい。一実施形態では、ビデオエンコーダ(303)、(503)、および(603)、ならびにビデオデコーダ(310)、(410)、および(710)は、1つ以上の集積回路を使用して実施され得る。別の実施形態では、ビデオエンコーダ(303)、(503)、および(603)、ならびにビデオデコーダ(310)、(410)、および(710)は、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実施され得る。
【0093】
II.適応ループフィルタ
VVCドラフト8などのいくつかの関連する例では、ブロックベースのフィルタ適応を伴う適応ループフィルタ(ALF)が適用され得る。ルマ成分の場合、それぞれの4×4ブロックのローカル勾配の方向性およびアクティビティに基づいて、4×4ブロックごとに25個のフィルタのうちの1つが選択され得る。
【0094】
図8A~
図8Bは、本開示のいくつかの実施形態によるALFの例示的なダイヤモンドフィルタ形状を示す。
図8Aは、クロマ成分に適用可能な5×5のダイヤモンド形状を示し、
図8Bは、ルマ成分に適用可能な7×7のダイヤモンド形状を示す。
【0095】
いくつかの関連する例では、ルマ成分について、各4×4ブロックは、25クラスのうちの1つに分類され得る。4×4ブロックの分類インデックスCは、4×4ブロックの方向性Dおよびアクティビティ
【数1】
の量子化値に基づいて以下のように導出され得る。
【数2】
【0096】
Dおよび
【数3】
を計算するために、4×4ブロックの水平方向、垂直方向、および2つの対角方向の勾配は、以下のように1-Dラプラシアンを使用して最初に計算され得る。
【数4】
【数5】
【数6】
【数7】
ここで、インデックスiおよびjは、4×4ブロック内の左上サンプルの座標を指し、R(i,j)は、座標(i,j)における再構築サンプルを示す。
【0097】
ブロック分類の複雑さを低減するために、サブサンプルされた1-Dラプラシアン計算が適用され得る。
図9A~
図9Dは、それぞれ垂直方向、水平方向、および2つの対角方向の勾配計算に使用される例示的なサブサンプル位置を示す。
【0098】
次に、水平方向および垂直方向の勾配の最大値および最小値は、以下のように設定され得る。
【数8】
【数9】
【0099】
2つの対角方向の勾配の最大値および最小値は、以下のように設定され得る。
【数10】
【数11】
【0100】
方向性Dの値を導出するために、これらの値は互いに2つの閾値t1およびt2と比較され得る。
【0101】
ステップ1:
【数12】
と
【数13】
の両方が真である場合、Dは0に設定される。
【0102】
ステップ2:
【数14】
の場合、ステップ3から続行し、それ以外の場合、ステップ4から続行する。
【0103】
ステップ3:
【数15】
の場合、Dは2に設定され、その以外の場合、Dは1に設定される。
【0104】
ステップ4:
【数16】
の場合、Dは4に設定され、それ以外の場合、Dは3に設定される。
【0105】
【0106】
さらにAは0~4の範囲(両端を含む)で量子化され、その量子化値は
【数18】
で表される。
【0107】
ピクチャ内のクロマ成分については、分類方法は適用されない。例えば、ALF係数の単一のセットは各クロマ成分に適用され得る。
【0108】
各4×4ルマブロックをフィルタリングする前に、それぞれのブロックに対して算出された勾配値に応じて、回転、対角方向フリップ、および垂直方向フリップなどの幾何学的変換が、フィルタ係数f(k,l)と対応するフィルタクリッピング値c(k,l)とに適用される。これは、ALFが適用される異なるブロックをそれらの方向性を整列させることによってより類似させるために、フィルタサポート領域内のサンプルにこれらの変換を適用することと同等である。
【0109】
対角方向フリップ、垂直方向フリップおよび回転を含む、3つの幾何学的変換は以下のように記述され得る。
対角:fD(k,l)=f(l,k)、cD(k,l)=c(l,k) 式(11)
垂直方向フリップ:fV(k,l)=f(k,K-l-1)、cV(k,l)=c(k,K-l-1) 式(12)
回転:fR(k,l)=f(K-l-1,k)、cR(k,l)=c(K-l-1,k) 式(13)
ここで、Kはフィルタのサイズ、0≦k、l≦K-lは変換係数の座標で、位置(0、0)が左上コーナ、位置(K-1,K-1)が右下コーナである。変換は、対応するブロックで算出された勾配値に応じて、フィルタ係数f(k,l)およびクリッピング値c(k,l)に適用される。変換と4つの方向の勾配の関係は表1に要約され得る。
【0110】
【0111】
VVCドラフト8などのいくつかの関連する例では、ALFのフィルタパラメータは、適応パラメータセット(APS)でシグナリングされる。1つのAPSでは、最大25セットのルマフィルタ係数およびクリッピング値インデックスと、最大8セットのクロマフィルタ係数およびクリッピング値インデックスとがシグナリングされ得る。ビットオーバーヘッドを低減するために、ルマ成分の異なる分類のフィルタ係数はマージされ得る。スライスヘッダでは、現在のスライスに使用されているAPSのインデックスがシグナリングされる。VVCドラフト8では、ALFのシグナリングはCTUベースである。
【0112】
APSからデコーディングされるクリッピング値インデックスは、ルマおよびクロマ成分のクリッピング値の表を使用して、クリッピング値が決定されることを可能にする。これらのクリッピング値は、内部ビット深度に依存する。例えば、クリップ値の表は、以下の式によって取得され得る。
【数19】
ここで、Bは内部ビット深度に等しく、αは2.35に等しい事前定義された定数値であり、NはVVCドラフト8で許容されるクリッピング値の数である4に等しい。式(14)の出力の一例を表2に示す。
【0113】
【0114】
スライスヘッダでは、最大7つのAPSインデックスをシグナリングして、現在のスライスに使用されるルマフィルタセットを指定できる。フィルタリング処理は、CTBレベルでさらに制御することができる。ALFがルマCTBに適用されるかどうかを示すためにフラグをシグナリングすることができる。ルマCTBは、16個の固定フィルタセットとAPSからのフィルタセットとの中からフィルタセットを選択できる。どのフィルタセットを適用するかを示すために、ルマCTBのフィルタセットインデックスがシグナリングされる。16個の固定フィルタセットは、エンコーダおよびデコーダの両方で事前定義され、ハードコーディングされ得る。
【0115】
クロマ成分の場合、APSインデックスをスライスヘッダで信号でシグナリングして、現在のスライスに使用されるクロマフィルタセットを示すことができる。CTBレベルでは、APSに2つ以上のクロマフィルタセットがある場合、各クロマCTBに対してフィルタセットインデックスをシグナリングすることができる。
【0116】
フィルタ係数は、128に等しいノルムで量子化することができる。乗算の複雑さを制限するために、非中心位置の係数値が-27から27-1までの範囲内になるように、ビットストリーム適合性を適用することができる。中心位置係数は、ビットストリームではシグナリングされず、128に等しいとみなされる。
【0117】
VVCドラフト8などのいくつかの関連する例では、クリッピングインデックスおよび対応する値のシンタックスおよびセマンティクスは以下のように定義され得る。
【0118】
alf_luma_clip_idx[sfIdx][j]は、sfIdxが示すシグナリングされたルマフィルタのj番目の係数を乗算する前に使用されるクリッピング値のクリッピングインデックスを指定する。ビットストリーム適合性の要件は、sfIdx=0..alf_luma_num_filters_signalled_minus1かつj=0..11であるときのalf_luma_clip_idx[sfIdx][j]の値が、0~3の範囲(両端を含む)であることである。
【0119】
filtIdx=0..NumAlfFilters-1かつj=0..11である、要素AlfClipL[adaptation_parameter_set_id][filtIdx][j]を伴う、ルマフィルタクリッピング値AlfClipL[adaptation_parameter_set_id][filtIdx]は、ビット深度セットがビット深度Yと等しく、かつclipIdxセットがalf_luma_clip_idx[alf_luma_coeff_delta_idx[filtIdx]][j]と等しいことに基づいて、表2で導出される。
【0120】
alf_chroma_clip_idx[altIdx][j]は、使用されるクリッピング値のクリッピングインデックスを指定し、その後、インデックスaltIdxの代替クロマフィルタのj番目の係数を乗算する。altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5でのalf_chroma_clip_idx[altIdx][j]の値を0~3の範囲(両端を含む)とすることが、ビットストリーム適合性の要件である。
【0121】
要素AlfClipC[adaptation_parameter_set_id][altIdx][j]を伴うクロマフィルタクリッピング値AlfClipC[adaptation_parameter_set_id][altIdx]は、altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5の要素の状態で、ビット深度セットをビット深度Cに等しく設定し、かつclipIdxセットをalf_chroma_clip_idx[altIdx][j]に等しく設定することにより、表2で導出される。
【0122】
デコーダ側では、CTBに対してALFを有効にすると、CU内の各サンプルR(i,j)はフィルタリングされ、以下に示すようなサンプル値R’(i,j)となる。
【数20】
ここで、f(k,l)はデコーディングされたフィルタ係数を表し、K(x,y)はクリッピング関数であり、c(k,l)はデコーディングされたクリッピングパラメータを示す。変数kおよびlは、
【数21】
と
【数22】
の間で変化し、Lはフィルタ長を示す。クリッピング関数K(x,y)=min(y、max(-y,x))は、関数Clip3(-y,y,x)に対応する。このクリッピング関数を組み込むことによって、このループフィルタリング方法は非線形ALFとして知られる非線形処理になる。選択されたクリッピング値は、表2のクリッピング値のインデックスに対応するゴロムエンコーディングスキームを用いて、「alf_data」シンタックス要素にコーディングされる。このエンコーディングスキームは、フィルタインデックスのエンコーディングスキームと同じである。
【0123】
図10は、本開示の一実施形態によるルマ成分に適用される例示的な修正されたブロック分類を示す図である。水平方向のCTU境界付近のサンプルに対して採用される、修正されたブロック分類とフィルタリングは、ALFのラインバッファ要件を低減することができる。
図10に示すように、水平方向のCTU境界を「N」個のサンプルでシフトすることにより、仮想境界をラインとして定義することができ、ここでNはそれぞれ、ルマ成分に対しては4、クロマ成分に対しては2に等しい。
【0124】
仮想境界より上の4x4ブロックの1次元ラプラシアン勾配計算には、仮想境界より上のサンプルのみを使用する。同様に、仮想境界より下の4x4ブロックの1次元ラプラシアン勾配計算には、仮想境界より下のサンプルのみを使用する。したがって、活性値Aの量子化は、1次元ラプラシアン勾配計算で使用されるサンプル数の減少を考慮することによってスケーリングされる。
【0125】
図11は、いくつかの実施形態による仮想境界におけるルマ成分の例示的な修正ALFを示す図である。フィルタリング処理のために、仮想境界における対称的なパディング演算がルマ成分およびクロマ成分の両方に使用され得る。
図11に示すように、フィルタリングされているサンプルが仮想境界の下に位置する場合、仮想境界の上に位置する隣接するサンプルをパディングする。一方、他方の対応するサンプルも対称的にパディングされる。
【0126】
コーディング効率を高めるために、いくつかの関連する例では、コーディングユニット同期ピクチャ四分木ベースのALPが使用される。ルマ画像は複数のマルチレベル四分木パーティションに分割され得、各パーティションの境界は最大コーディングユニット(LCU)の境界に整列される。各パーティションは、それ自体のフィルタ処理を有し、したがって、フィルタ単位(FU)と称される場合がある。
【0127】
2パスエンコーディングフローを以下で説明する。第1のパスでは、四分木分割パターンと各FUの最適なフィルタとを決定する。フィルタリング歪みは、決定プロセス中に高速フィルタリング歪み推定(FFDE)によって推定される。決定された四分木分割パターンと、すべてのFUの選択されたフィルタに従って、再構築されたピクチャがフィルタリングされる。第2のパスでは、CU同期ALFのオン/オフ制御を実行する。ALFのオン/オフ結果に従って、第1のパスからフィルタリングされたピクチャが再構築されたピクチャによって部分的に復元される。
【0128】
図12は、一実施形態による例示的なLCU整列ピクチャ四分木分割を示す。トップダウン分割手段を採用して、レート歪み基準を用いて画像をマルチレベル四分木パーティションに分ける。各パーティションは、フィルタユニットと呼ばれる。分割処理では、四分木パーティションをLCUの境界に整列させる。FUのエンコーディング順序はz走査順序に従う。例えば、
図12に示すように、ピクチャは10個のFUに分割され、エンコーディング順序はFU0、FU1、FU2、FU3、FU4、FU5、FU6、FU7、FU8、およびFU9である。
【0129】
図13は、
図12に対応する例示的な四分木分割パターンを示す。ピクチャ四分木分割パターンを示すために、分割フラグをz順にエンコーディングして伝送することができる。
【0130】
各FUのフィルタは、レート歪み基準に基づいて、2つのフィルタセットから選択することができる。第1のセットは、現在のFUに対して新たに導出された1/2対称の正方形および菱形のフィルタを有する。第2のセットは、前のピクチャのFUについて以前に導出されたフィルタを記憶する時間遅延フィルタバッファに由来する。これらの2つのセットの最小のレート歪みコストを伴うフィルタを、現在のFUに対して選択することができる。同様に、現在のFUが最小のFUではなく、4つの子FUにさらに分割できる場合、4つの子FUのレート歪みコストが算出される。分割および分割なしの場合のレート歪みコストを再帰的に比較することにより、ピクチャ四分木分割パターンを決定することができる。
【0131】
いくつかの関連する例では、最大四分木分割レベルは2で、FUの最大数は16であることを意味する。四分木分割決定中、最下位の四分木レベル(最小FU)の16個のFUのウィーナー係数を導出するための相関値を再利用することができる。残りのFUは、最下位の四分木レベルの16個のFUの相関から、それらのウィーナーフィルタを導出することができる。したがって、すべてのFUのフィルタ係数を導出するためのフレームバッファアクセスは1つしかない。
【0132】
四分木分割パターンが決定された後、フィルタリング歪みをさらに低減するために、CU同期ALFのオン/オフ制御が実行され得る。フィルタリング歪みと非フィルタリング歪みとを比較することによって、葉CUはそのローカル領域でALFのオン/オフを明示的に切り替えることができる。ALFのオン/オフ結果に従ってフィルタ係数を再設計することによって、コーディング効率をさらに向上させることができる。しかし、再設計処理は、追加のフレームバッファへアクセスを必要とする。いくつかの関連する例では、フレームバッファアクセス数を最小化するために、CU同期ALFのオン/オフ決定後の再設計処理は存在しない。
【0133】
III.クロス成分適応ループフィルタ
いくつかの関連する例では、クロス成分適応ループフィルタ(CC-ALF)が採用される。CC-ALFは、ルマサンプル値を利用して各クロマ成分を精緻化する。
【0134】
図14Aは、本開示の一実施形態によるCC-ALFの例示的な配置を示す。
図14Bは、CC-ALF動作中に各クロマ成分のルマチャネルに適用される例示的な線形ダイヤモンド形状のフィルタを示す。フィルタ係数はAPSで伝送され、例えば、2
10倍にスケーリングされ、固定小数点表現のために丸められ得る。フィルタの適用は、可変ブロックサイズで制御され、サンプルの各ブロックに対して受信したコンテキストコーディングされたフラグによってシグナリングされる。ブロックサイズは、CC-ALFイネーブルフラグと共に、各クロマ成分のスライスレベルで受信される。一例では、以下のブロックサイズ(クロマサンプル単位)が16×16、32×32、64×64でサポートされる。
【0135】
表3は、CC-ALFに関連するシンタックス要素を示す。
【0136】
【0137】
表3において、0に等しいシンタックス要素alf_ctb_cross_component_cb_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]は、ルマ位置(xCtb,yCtb)におけるCb色成分のサンプルのブロックにクロス成分Cbフィルタが適用されないことを示す。0に等しくないシンタックス要素alf_ctb_cross_component_cb_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]は、alf_ctb_cross_component_cb_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]番目のクロス成分Cbフィルタがルマ位置(xCtb,yCtb)におけるCb色成分のサンプルのブロックに適用されることを示す。
【0138】
0に等しいシンタックス要素alf_ctb_cross_component_cr_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]は、ルマ位置(xCtb,yCtb)におけるCr色成分のサンプルのブロックにクロス成分Crフィルタが適用されないことを示す。0に等しくないシンタックス要素alf_ctb_cross_component_cr_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]は、alf_ctb_cross_component_cr_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]番目のクロス成分Crフィルタがルマ位置(xCtb,yCtb)におけるCr色成分のサンプルのブロックに適用されることを示す。
【0139】
IV.クロマサンプリングフォーマット
図15は、chroma_format_idcが1(4:2:0クロマフォーマット)に等しく、chroma_sample_loc_type_top_fieldまたはchroma_sample_loc_type_bottom_fieldが変数ChromaLocTypeの値に等しい場合の左上クロマサンプルの例示的な相対位置を示す。左上4:2:0のクロマサンプルによって表される領域は、左上ルマサンプルによって表される領域に対して示されている。
【0140】
V.制約付き方向性拡張フィルタ
ループ内制約付き方向性拡張フィルタ(CDEF)の1つの目的は、画像の詳細を保持しながらコーディングアーチファクトを除去することである。HEVCなどのいくつかの関連する例では、サンプル適応オフセット(SAO)アルゴリズムが、異なるクラスの画素のシグナリングオフセットを定義することによって、同様の目的を達成することができる。SAOとは異なり、CDEFは非線形空間フィルタである。フィルタの設計は、単一命令複数データ(SIMD)演算で実施可能であるなど、容易にベクトル化可能であるように制約されており、これはメディアンフィルタおよびバイラテラルフィルタなどの他の非線形フィルタには当てはまらない。
【0141】
CDEFの設計は、以下のような観察に基づいている。コーディングされた画像のリンギングアーチファクトの量は、量子化ステップサイズにほぼ比例する傾向がある。詳細度は入力画像の性質であるが、量子化画像に保持される最小の詳細度も量子化ステップサイズに比例する傾向がある。所与の量子化ステップサイズでは、一般にリンギングの振幅は詳細の振幅よりも小さくなる。
【0142】
CDEFは、各ブロックの方向を識別し、識別された方向に沿って、また識別された方向から45度回転した方向に沿って、より少ない角度で適応的にフィルタリングする。フィルタ強度は明示的にシグナリングされるため、ぼやけに対する高度な制御が可能である。フィルタ強度に対して効率的なエンコーダ検索が設計されている。CDEFは、以前に提案された2つのループ内フィルタに基づいており、結合フィルタが新たなAOMedia Video 1(AV1)コーデックに採用されている。
【0143】
図16は、本開示の一実施形態による8×8ブロックの例示的な方向検索を示す。方向検索は、再構築画素に対してデブロック化フィルタの直後に行われる。これらの画素はデコーダで利用可能なので、方向はシグナリングを必要としない。検索は8×8ブロックで動作し、これは、非直線エッジを適切に処理するために十分に小さく、量子化画像に適用された場合に確実に方向を推定するのに十分に大きい。8×8領域に一定の方向性を持たせることで、フィルタのベクトル化が容易になる。各ブロックに対して、量子化されたブロックと最も近接する完全方向性ブロックとの差分二乗和(SSD)を最小にすることで、それぞれのブロック内のパターンに最も一致する方向が決定される。完全方向性ブロックとは、ある方向の線に沿ったすべての画素が同じ値を有するブロックである。
【0144】
方向を識別する1つの理由は、方向エッジまたはパターンを維持しながら、その方向に沿ってフィルタタップを整列させリンギングを低減するためである。しかし、方向フィルタリングだけでは、リンギングを十分に低減できない場合がある。また、主方向に沿っていない画素にフィルタタップを使用することも望ましい。ぼやけのリスクを低減するために、これらの余分なタップはより控えめに扱われる。このため、CDEFではプライマリタップおよびセカンダリタップを定義している。完全な2次元CDEFフィルタは次のように表現される。
【数23】
ここで、Dは減衰パラメータ、S
(p)およびS
(s)はそれぞれプライマリタップとセカンダリタップの強度、round(・)はゼロから離れてタイを丸め、
【数24】
および
【数25】
はフィルタの重み、ならびにf(d,S,D)はフィルタリングされた画素と隣近傍の各画素との差に作用する制約関数である。差が小さい場合、f(d,S,D)=dとなり、フィルタは線形フィルタのように挙動する。差が大きい場合、f(d,S,D)=0となり、フィルタタップを効果的に無視する。
【0145】
VI.AV1におけるループ復元
一般にノイズを除去しエッジの品質を向上させるために、従来のデブロック化動作以外に、ループ内復元スキームのセットがデブロッキング後のビデオコーディングで使用され得る。これらのスキームは、適切なサイズタイルごとにフレーム内で切り替え可能である。説明した特定のスキームは、分離可能な対称ウィーナーフィルタと、部分空間投影を用いたデュアル自己ガイド(dual self-guided)フィルタとに基づいている。コンテンツ統計はフレーム内で実質的に変化する可能性があるため、これらのツールは、フレームの異なる領域で異なるツールを起動できる切り替え可能なフレームワークに統合されている。
【0146】
ウィーナーフィルタの場合、劣化したフレーム内のすべての画素は、それぞれの画素の周りのw×wウィンドウ内のそれぞれの画素の非因果的フィルタリングされたバージョンとして再構築することができ、w=2r+1は整数rに対して奇数である。2次元フィルタタップが列ベクトル化形態のw2×1要素ベクトルFによって表される場合、直接的な線形最小平均二乗誤差(LMMSE)最適化によって、F=H-1Mによって与えられるフィルタパラメータが導かれる。ここで、H=E[XXT]はxの自己共分散であり、画素の周りのw×wのウィンドウ中のw2のサンプルの列方向にベクトル化したバージョンであり、M=E[YXT]は、推定されるべき、xとスカラソースサンプルyとの相互相関である。エンコーダは、デブロックされたフレームとソースとの実現からHおよびMを推定し、得られたフィルタFをデコーダに送信することができる。しかし、そうすると、w2個のタップを伝送する際にかなりのビットレートコストを招くだけでなく、分離不可能なフィルタリングよってデコーディングが非常に複雑になる。したがって、Fの性質にいくつかの追加の制約が課される。第一に、Fは分離可能であるように制約され、フィルタリングは分離可能な水平方向および垂直方向のwタップ畳み込みとして実施することができる。第2に、水平フィルタおよび垂直フィルタの各々は対称になるように制約される。第3に、水平フィルタ係数と垂直フィルタ係数の両方の和が1になると仮定する。
【0147】
ガイド付きフィルタリング処理の場合、ローカル線形モデルは以下のように表すことができる。
y=F x+G 式(17)
【0148】
ローカル線形モデルは、フィルタリングされていないサンプルxからフィルタリングされた出力yを計算するために使用され、FおよびGは、劣化画像およびフィルタリングされた画素の近傍のガイダンス画像の統計に基づいて決定される。ガイド画像が劣化した画像と同じである場合、得られたいわゆる自己ガイド付きフィルタリングは、エッジ維持平滑化の効果を有する。自己ガイド付きフィルタリングの特定の形態は、2つのパラメータ、半径rおよびノイズパラメータeに依存し、以下のように列挙される。
【0149】
(1)各画素の周りの(2r+1)×(2r+1)ウィンドウで画素の平均μおよび分散σ2を求める。これは、積分イメージングに基づくボックスフィルタリングで効率的に実装可能である。
【0150】
(2)すべての画素について計算する、すなわち、f=σ2/(σ2+e);g=(1-f)μ。
【0151】
(3)すべての画素のFおよびGを、使用する画素の周りの3×3のウィンドウ内のfおよびgの値の平均として計算する。
【0152】
フィルタリングはrおよびeで制御され、rが大きいほど空間分散が大きくなり、eが大きいほど範囲分散が大きくなる。
【0153】
図17は、一実施形態による例示的な部分空間投影を示す。安価な復元X
1およびX
2のいずれもソースYに近接していなくても、適切な乗算器{α,β}は、それらが幾分正しい方向に移動している限り、それらをソースにかなり近接させることができる。安価な復元は、比較的低複雑度の計算を使用した復元を表すことができる。
【0154】
VII.クロス成分サンプルオフセットフィルタ
クロス成分サンプルオフセット(CCSO)フィルタは、再構築サンプルの歪みを低減するためのループフィルタリング手法である。いくつかの実施形態では、再構築サンプルは、アグリゲータ(455)から出力されるサンプルであり得る。再構築サンプルは、ループフィルタ(456)に入力することができる。CCSOフィルタでは、第1の色成分の処理された入力再構築サンプルが与えられると、非線形マッピングを使用して出力オフセットを導出することができ、出力オフセットは、CCSOフィルタのフィルタリング処理において第2の色成分の再構築サンプルに追加することができる。第1の色成分の入力再構築サンプルは、フィルタサポート領域に配置される。
【0155】
図18は、本開示の一実施形態による例示的なフィルタサポート領域を示す。フィルタサポート領域は、4つの再構築サンプル、すなわち、p0、p1、p2、およびp3を含む。4つの入力再構築サンプルは、垂直方向および水平方向に十字形に従う。第1の色成分の中央サンプル(cで示される)と第2の色成分のフィルタリングされるサンプルとが同じ場所に配置される。入力再構築サンプルを処理するとき、以下のステップが適用される。
【0156】
ステップ1:p0~p3とcの間のデルタ値が最初に計算され、m0、m1、m2、およびm3として示される。
【0157】
ステップ2:デルタ値m0~m3がさらに量子化される。量子化された値はd0、d1、d2、およびd3と表記される。量子化値は、以下の量子化プロセスに基づいて、-1、0、および1とすることができる、すなわち、m<-Nの場合、(a)d=-1、(b)-N<=m<=Nの場合、d=0、および(c)m>Nの場合、d=1であり、Nは量子化ステップサイズと呼ばれ、Nの値の例は、4、8、12、および16を含む。
【0158】
量子化値d0~d3は、非線形マッピングの1つの組み合わせを識別するために使用され得る。例えば、
図8のCCSOフィルタは、4つのフィルタタップd0~d3を有し、各フィルタタップは、3つの量子化値(例えば、-1、0、および1)のうちの1つを有することができるので、合計3
4=81の組み合わせがあり得る。
【0159】
図19A~
図19Bは、一実施形態によるCCSOフィルタにおける非線形マッピングの81個の例示的な組み合わせを表形式で示す表を示す。表の最後の列は、各組み合わせの出力オフセット値を表す。例示的なオフセット値は、0、1、-1、3、-3、5、-5、および-7などの整数である。
【0160】
CCSOフィルタの最終フィルタリング処理は、以下のように適用され得る。
f’=clip(f+s) 式(18)
ここで、fは、フィルタリングされる再構築サンプルであり、sは、
図19A~
図19Bの表から検索された出力オフセット値である。フィルタリングされたサンプル値f’は、ビット深度に関連付けられた範囲にさらにクリップされる。
【0161】
VIII.改善されたクロス成分サンプルオフセットフィルタ
本開示は、改善されたクロス成分サンプルオフセット方法など、CCSOフィルタの性能を改善する方法を含む。
【0162】
本開示の態様によれば、CCSOフィルタの非線形マッピングは、マッピング関係を示すシグナリングオーバーヘッドが圧縮されることを可能にする特定の特性を含み得る。マッピング関係のサイズを小さくすると、シグナリングオーバーヘッドが小さくなる可能性がある。このように、コーディング効率の向上を実現することができる。
【0163】
本開示では、CCSOフィルタは、第1の色成分の再構築サンプルを入力(例えば、Y、Cb、またはCr)として使用し、第1の色成分とは異なる第2の色成分に出力を適用するフィルタリング処理として定義され得る。
【0164】
CCSOフィルタでは、エンコーダ側で非線形マッピングを導出することができる。非線形マッピングは、一方の色成分の入力再構築サンプルと、他方の色成分に追加されるオフセットの間の関係を記述する。非線形マッピングの領域は、線形処理が実行された入力再構築サンプルなど、処理された入力再構築サンプルの異なる組み合わせによって決定することができる。
【0165】
本開示の態様によれば、CCSOフィルタの非線形マッピングは、歪み低減に関してCCSOフィルタの性能に著しく影響を与えることなくシグナリングオーバーヘッドを低減するために圧縮され得る。その結果、全体のコーディング効率は改善され得る。
【0166】
いくつかの実施形態では、非線形マッピングを使用して、CCSOフィルタが適用されるときに処理された入力再構築サンプルが与えられると、出力オフセットを導出することができる。非線形マッピングをシグナリングするためのオーバーヘッドビットを削減することができる。例えば、非線形マッピングの各エントリを明示的にシグナリングする代わりに、非線形マッピングのサブセットのみをシグナリングすることができる。
【0167】
本開示の態様によれば、入力組み合わせAの出力オフセット値は、シグナリングされることから除外され得る。代わりに、入力組み合わせAの出力オフセット値は、別の入力組み合わせBから導出することができる。この導出プロセスは、ミラーリング導出と呼ばれ得る。1つの入力の組み合わせは、上記のような処理された入力再構築サンプルの組み合わせを指す(例えば、d0~d3)。
【0168】
一実施形態では、入力組み合わせAの出力オフセット値は、入力組み合わせBの出力オフセット値の反数(例えば、同じ絶対値および異なる符号を有する数)として導出することができ、AおよびBは入力組み合わせd0~d3に対して反対の符号値を有する。例えば、入力組み合わせB(d0=a,d1=b,d2=c,d3=d)の出力オフセット値がsである場合には、入力組み合わせA(d0=-a,d1=-b,d2=-c,d3=-d)の出力オフセット値は-sである。
【0169】
一実施形態では、入力組み合わせAの出力オフセット値は、入力組み合わせBの出力オフセット値と同じ数として導出することができ、AおよびB1は、処理された入力再構築サンプルd0~d3に対して反対の符号値を有する。例えば、入力組み合わせB(d0=a,d1=b,d2=c,d3=d)の出力オフセット値がsである場合には、入力組み合わせA(d0=-a,d1=-b,d2=-c,d3=-d)の出力オフセット値はsである。
【0170】
一実施形態では、入力組み合わせBの出力オフセット値をシグナリングすることができる。シグナリングは、APS、スライスヘッダ、フレームヘッダ、PPS、SPS、ビデオパラメータセット(VPS)などの高レベルのシンタックス要素で提供することができる。
【0171】
本開示の態様によれば、ルックアップテーブルを使用して、圧縮された非線形マッピングを記述することができる。ルックアップテーブルの各行は、入力組み合わせd0~d3および関連する出力オフセット値に対応する。いくつかの実施形態では、
図19A~
図19Bに示される表の一部は、圧縮された非線形マッピングを記述するために使用され得る。一実施形態では、
図19Aに示す表の最初の41行の出力オフセット値をシグナリングすることができ、残りの40行の出力オフセット値は、最初の41行のシグナリングされた出力オフセット値に基づいて導出することができる。
図19Cは、残りの40行のうちのN行目の出力オフセット値が、最初の41行でシグナリングされる(80-N)行目の出力オフセット値と同じ数として導出され得る例を示す。例えば、
図19Cに示すように、41行目の出力オフセット値は、
図19Aの39行目の出力オフセット値であるs39である。
図19Dは、残りの40行のうちのN行目の出力オフセット値が、最初の41行でシグナリングされる(80-N)行目の出力オフセット値の反数として導出され得る別の例を示す。例えば、
図19Dに示すように、41行目の出力オフセット値は、
図19Aの39行目の出力オフセット値と反数である-s39である。
【0172】
一実施形態では、ミラーリング導出の有効化を示すパラメータをシグナリングすることができる。シグナリングは、APS、スライスヘッダ、フレームヘッダ、PPS、SPS、VPSなどの高レベルのシンタックス要素で提供することができる。
【0173】
本開示の態様によれば、非線形マッピングのサブセットのみがシグナリングされる。シグナリングされない入力組み合わせについては、出力オフセット値をデフォルト値として導出することができる。デフォルト値の例は、0、1、-1、3、-3、5、-5、-7などの整数である。
【0174】
いくつかの実施形態では、異なるサブセットを使用することができ、シグナリングされるサブセットを異なるサブセット間で切り替えることができる。非線形マッピングのシグナリングされたサブセットの選択は、例えば、APS、スライスヘッダ、フレームヘッダ、PPS、SPS、VPSなどのブロックレベルまたは高レベルのシンタックス要素でシグナリングすることができる。一例では、
図19A~
図19Bに示される表の非線形マッピングの16および81個の組み合わせを有する2つのサブセットが、サポートされており、選択はフラグとしてシグナリングされる。別の例では、
図19A~
図19Bに示される表の非線形マッピングの17および81個の組み合わせを有する2つのサブセットが、サポートされており、選択はフラグとしてシグナリングされる。別の例では、
図19A~
図19Bに示される表の非線形マッピングの33および81個の組み合わせを有する2つのサブセットが、サポートされており、選択はフラグとしてシグナリングされる。別の例では、
図19A~
図19Bに示される表の非線形マッピングの16、32、および81個の組み合わせを有する3つのサブセットがサポートされており、選択はインデックスによってシグナリングされる。別の例では、
図19A~
図19Bに示される表の非線形マッピングの17、33、および81個の組み合わせを有する3つのサブセットがサポートされており、選択はインデックスによってシグナリングされる。別の例では、
図19A~
図19Bに示される表の非線形マッピングの16、17、32、33、および81個の組み合わせを有する5つのサブセットがサポートされており、選択はインデックスによってシグナリングされる。
【0175】
図19Eは、
図19A~
図19Bに示された表の非線形マッピングの17個のみの組み合わせがシグナリングされ、残りの組み合わせの出力オフセット値をデフォルト値として導出することができる(例えば、0)、一例を示す。
【0176】
図19Fは、
図19A~
図19Bに示された表の非線形マッピングの16個のみの組み合わせがシグナリングされ、残りの組み合わせの出力オフセット値をデフォルト値として導出することができる(例えば、0)、一例を示す。
【0177】
図19Gは、
図19A~
図19Bに示された表の非線形マッピングの33個のみの組み合わせがシグナリングされ、残りの組み合わせの出力オフセット値をデフォルト値として導出することができる(例えば、0)、一例を示す。
【0178】
図19Hは、
図19A~
図19Bに示された表の非線形マッピングの32個のみの組み合わせがシグナリングされ、残りの組み合わせの出力オフセット値をデフォルト値として導出することができる(例えば、0)、一例を示す。
【0179】
本開示の態様によれば、非線形マッピングは、3つのサブセットA、B、およびCなどの複数のサブセットに分割することができ、サブセットBのみがシグナリングされる。サブセットA内の入力組み合わせの出力オフセット値は、サブセットBから導出することができる。サブセットC内の入力組み合わせの出力オフセット値は、デフォルト値として導出することができる。デフォルト値の例は、0、1、-1、3、-3、5、-5、-7などの整数である。
【0180】
一実施形態では、サブセットAにおける入力組み合わせA1の出力オフセット値は、サブセットBにおける入力組み合わせB1の出力オフセット値の反数として導出することができ、A1およびB1は、入力組み合わせd0~d3に対して反対の符号値を有する。サブセットC内の入力組み合わせに対する出力オフセット値は、デフォルト値(例えば、0)として導出することができる。例えば、サブセットB内の入力組み合わせB1(d0=a,d1=b,d2=c,d3=d)の出力オフセット値がsである場合には、サブセットA内の入力組み合わせA1(d0=-a,d1=-b,d2=-c,d3=-d)の出力オフセット値は-sである。
【0181】
一実施形態では、サブセットAにおける入力組み合わせA1の出力オフセット値は、サブセットBにおける入力組み合わせB1の出力オフセット値と同じ数として導出することができ、A1およびB1は、入力組み合わせd0~d3に対して反対の符号値を有する。サブセットC内の入力組み合わせに対する出力オフセット値は、デフォルト値(例えば、0)として導出することができる。例えば、サブセットB内の入力組み合わせB1(d0=a,d1=b,d2=c,d3=d)の出力オフセット値がsである場合には、サブセットA内の入力組み合わせA1(d0=-a,d1=-b,d2=-c,d3=-d)の出力オフセット値はsである。
【0182】
一実施形態では、非線形マッピングのサブセットのミラーリング導出の有効化を示すパラメータをシグナリングすることができる。シグナリングは、APS、スライスヘッダ、フレームヘッダ、PPS、SPS、VPSなどの高レベルのシンタックス要素で提供することができる。
【0183】
本開示の態様によれば、選択された出力オフセット値の限定されたセットのみが非線形マッピングにおいてサポートされる。
【0184】
一実施形態では、サポートされる出力オフセット値の範囲は、[-4,+3]、[-8,+7]、[-16,+15]、[-2K,2K]、[K,L]、事前定義された整数、0および奇数の整数、ならびに0および偶数の整数をカバーすることができ、KおよびLは整数である。
【0185】
一例では、サポートされる出力オフセット値のセットは、0と、0、1、-1、3、-3、5、-5、および-7などの異なる符号値を伴う奇数の整数のセットとを含むことができる。別の例では、サポートされる出力オフセット値のセットは、0と、0、2、-2、4、-4、6、-6、および-8などの異なる符号値を伴う偶数の整数のセットとを含むことができる。
【0186】
一実施形態では、サポートされる出力オフセット値のセットをシグナリングすることができる。シグナリングは、APS、スライスヘッダ、フレームヘッダ、PPS、SPS、VPSなどの高レベルのシンタックス要素で提供することができる。
【0187】
一実施形態では、オフセット値の配列を非線形マッピングでサポートすることができ、インデックスをシグナリングすることができる。シグナリングは、入力組み合わせに対して選択されたアレイ内の出力オフセット値を示すために、APS、スライスヘッダ、フレームヘッダ、PPS、SPS、VPSなどの高レベルシンタックス要素で提供することができる。
【0188】
一実施形態では、異なる入力の組み合わせは、サポートされる出力オフセット値の異なるセットを有することができる。
【0189】
一実施形態では、サポートされるオフセット値のセットは、量子化パラメータに依存し得る。
【0190】
一実施形態では、出力オフセット値または出力オフセット値のインデックスは、固定長コーディングを使用してシグナリングすることができる。
【0191】
本開示の態様によれば、現在のピクチャの現在のスライス内の現在のコーディングブロックに適用される入力組み合わせに対する出力オフセット値は、異なるピクチャ、異なるスライス、または異なるコーディングブロックに適用される出力オフセット値から予測することができる。
【0192】
一実施形態では、出力オフセット値をシグナリングする代わりに、出力オフセット値と予測出力オフセット値の間のデルタ値をシグナリングすることができる。
【0193】
一実施形態では、少なくとも1つの入力組み合わせの出力オフセット値はシグナリングされず、予測出力オフセット値から導出することができる。
【0194】
一実施形態では、出力オフセット値が予測されるかどうかは、フラグを通してシグナリングすることができる。フラグは、APS、スライスヘッダ、フレームヘッダ、PPS、SPS、VPSなどの高レベルのシンタックス要素で提供することができる。
【0195】
出力オフセット値の予測は、限定はしないが、フレームタイプ、時間層、および量子化パラメータを含むコーディング情報に依存し得る。
【0196】
いくつかの関連する例では、コーディングされたブロックの再構築サンプルに、1つ以上のフィルタリング処理が適用され得る。例えば、デブロッキングモジュールは、コーディングされたブロックの再構築サンプルに適用され得る。次に、CDEFモジュールを、デブロッキングモジュールから出力されるフィルタリングされた再構築サンプルに適用することができ、ループ復元フィルタモジュールを、CDEFモジュールから出力されるフィルタリングされた再構築サンプルに適用することができる。
【0197】
本開示の態様によれば、コーディングされたブロックの再構築サンプルにCCSOフィルタが適用されるとき、CCSOフィルタの入力位置および出力位置は柔軟である。CCSOフィルタの入力位置は、CCSOフィルタの入力再構築サンプルが選択される場所である。CCSOフィルタの出力位置は、CCSOフィルタの出力オフセット値が適用される(例えば、CCSOフィルタリングが適用される)場所である。
【0198】
いくつかの実施形態では、入力および出力は同じ位置を共有することができる。すなわち、CCSOフィルタの入力位置と出力位置の間に配置された他のコーディングモジュールは存在しない。一例では、入力位置と出力位置の両方をデブロッキングモジュールの直前にすることができる。別の例では、入力位置と出力位置の両方は、デブロッキングモジュールの後であってCDEFモジュールの前であってもよい。別の例では、入力位置と出力位置の両方は、CDEFモジュールの後であってループ回復フィルタ(LR)モジュールの前であってもよい。別の例では、入力位置と出力位置の両方をLRモジュールの後にすることができる。
【0199】
いくつかの実施形態では、入力位置と出力位置は異なっていてもよく、入力位置は出力位置の前方にある。すなわち、CCSOフィルタの入力位置と出力位置の間には、配置された少なくとも1つのコーディングモジュールがある。一例では、入力位置はデブロッキングモジュールの直前とすることができ、出力位置はデブロッキングモジュールの後でCDEFモジュールの前とすることができる。別の例では、入力位置はデブロッキングモジュールの後でCDEFモジュールの前とすることができ、出力位置はCDEFモジュールの後でLRモジュールの前とすることができる。別の例では、入力位置はCDEFモジュールの後でLRモジュールの前とすることができ、出力位置はLRモジュールの後とすることができる。
【0200】
一実施形態では、上記の実施形態のCDEFおよびLRモジュールは、それぞれSAOモジュールおよびALFモジュールに置き換えることができる。この実施形態には、上記実施形態と同様の方法を適用することができる。
【0201】
IX.フローチャート
図20は、本開示の一実施形態による例示的なプロセス(2000)の概要を示すフローチャートを示す。様々な実施形態において、プロセス(2000)は、端末デバイス(210)、(220)、(230)、および(240)内の処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、イントラ予測モジュール(452)の機能を実行する処理回路、ビデオエンコーダ(503)の機能を実行する処理回路、予測器(535)の機能を実行する処理回路、イントラエンコーダ(622)の機能を実行する処理回路、ならびにイントラデコーダ(772)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態では、プロセス(2000)はソフトウェア命令内に実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(2000)を実行する。
【0202】
プロセス(2000)は、一般に、ステップ(S2010)で開始することができ、プロセス(2000)は、コーティングされたビデオシーケンスの一部である現在のピクチャ内の現在のブロックの予測情報をデコーディングする。予測情報は、処理された再構築サンプルとフィルタ処理の対応する出力値との複数の組み合わせを示す。フィルタ処理を使用して、再構築サンプルの圧縮アーチファクトおよび歪みを低減することができる。フィルタ処理は、第1の色成分の処理された再構築サンプルを入力(例えば、Y、Cb、またはCr)として使用し、第1の色成分とは異なる第2の色成分に出力を適用し得る。いくつかの実施形態では、フィルタ処理は、ループフィルタユニット(456)で実行することができる。フィルタ処理の例には、CCSOおよびCC-ALFが含まれるが、これらに限定されない。次いで、プロセス(2000)は、ステップ(S2020)に進む。
【0203】
ステップ(S2020)において、プロセス(2000)は、現在のブロックの第1の色成分の処理された再構築サンプルに対してフィルタ処理を実行する。第1の色の処理された再構築サンプルは、処理された再構築サンプルの複数の組み合わせに含まれない。次いで、プロセス(2000)は、ステップ(S2030)に進む。
【0204】
ステップ(S2030)において、プロセス(2000)は、デフォルト値、予測出力値、および予測情報において示される出力値のうちの1つ、のうちの1つに基づいてフィルタ処理の出力値を決定する。次いで、プロセス(2000)は、ステップ(S2040)に進む。
【0205】
ステップ(S2040)において、プロセス(2000)は、現在のブロックの第2の色成分の再構築サンプルに適用されている出力値に基づいて現在のブロックを再構築する。第2の色成分は、第1の色成分とは異なる。そして、プロセス(2000)は終了する。
【0206】
一実施形態では、プロセス(2000)は、フィルタ処理の出力値として、第1の値および第2の値の1つを決定する。第1の値は、予測情報において示される出力値のうちの1つであり、第2の値は、第1の値の反数である。
【0207】
一実施形態では、第1の色成分の処理された再構築サンプルの各々は、予測情報において示される処理された再構築サンプルの複数の組み合わせのうちの1つにおける対応する処理された再構築サンプルの反数であり、予測情報において示される出力値のうちの1つは、予測情報において示される処理された再構築サンプルの複数の組み合わせのうちの1つに対応する。
【0208】
一実施形態では、フィルタ処理のマッピングテーブル内の第1の色成分の処理された再構築サンプルのインデックスと、フィルタ処理のマッピングテーブル内の予測情報において示される出力値のうちの1つのインデックスとの和は、マッピングテーブルの最大インデックスに等しい。
【0209】
一実施形態では、プロセス(2000)は、予測情報において示される処理された再構築サンプルの複数の組み合わせがフィルタ処理における処理された再構築サンプルの組み合わせの総数のサブセットであることを示す予測情報に基づいて、フィルタ処理の出力値としてデフォルト値を決定する。
【0210】
一実施形態では、予測出力値は、別のコーディングブロックに適用されるフィルタ処理の出力値に基づいて決定される。
【0211】
一実施形態では、第1の色成分の処理された再構築サンプルは、第1のコーディングモジュールから出力される第1の色成分の再構築サンプルに基づいて決定され、第2の色成分の再構築サンプルは、第1のコーディングモジュールまたは第1のコーディングモジュールの後に適用される第2のコーディングモジュールから出力される。
【0212】
X.コンピュータシステム
上記で説明された技術は、1つ以上のコンピュータ可読媒体に物理的に記憶された、コンピュータ可読命令を使用するコンピュータソフトウェアとして実施され得る。例えば、
図21は、開示されている主題の特定の実施形態を実施するのに適したコンピュータシステム(2100)を示す。
【0213】
コンピュータソフトウェアは、1つ以上のコンピュータ中央処理装置(CPU:central processing unit)およびグラフィック処理装置(GPU:Graphics Processing Unit)などによって直接的に、または解釈およびマイクロコードの実行などを通して実行され得る命令を含むコードを作成するために、アセンブリ、コンパイル、リンキング、または同様のメカニズムを受け得る任意の適切な機械コードまたはコンピュータ言語を使用してコーティングされ得る。
【0214】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーミングデバイス、およびモノのインターネットデバイスなどを含む様々なタイプのコンピュータまたはその構成要素上で実行され得る。
【0215】
コンピュータシステム(2100)に関して
図21に示されている構成要素は、本質的に例示であり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能の範囲に関する限定を示唆することを意図されていない。また、構成要素の構成は、コンピュータシステム(2100)の例示的な実施形態に示される構成要素のいずれか1つまたは組み合わせに関連する依存性または要件を有すると解釈されるべきではない。
【0216】
コンピュータシステム(2100)は、特定のヒューマンインタフェース入力デバイスを含み得る。そのようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を介した、1人または複数の人間のユーザによる入力に応答し得る。ヒューマンインタフェースデバイスは、オーディオ(音声、音楽、環境音など)、画像(走査画像、写真画像は静止画像カメラから取得など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)などの、必ずしも人間による意識的な入力に直接関連しない特定の媒体を取り込むためにも使用され得る。
【0217】
入力ヒューマンインタフェースデバイスは、キーボード(2101)、マウス(2102)、トラックパッド(2103)、タッチスクリーン(2110)、データグローブ(図示せず)、ジョイスティック(2105)、マイクロフォン(2106)、スキャナ(2107)、およびカメラ(2108)のうちの1つまたは複数(図示された各々のうちのただ1つ)を含み得る。
【0218】
コンピュータシステム(2100)はまた、特定のヒューマンインタフェース出力デバイスを含み得る。そのようなヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光、および匂い/味によって1人または複数の人間のユーザの感覚を刺激し得る。このようなヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(2110)、データグローブ(図示せず)、またはジョイスティック(2105)による触覚フィードバックが含まれることがあるが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)、オーディオ出力デバイス(スピーカ(2109)、ヘッドホン(図示せず)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(2110)などであり、それぞれにタッチスクリーン入力機能が有っても無くてもよく、それぞれに触覚フィードバック機能が有っても無くてもよく、それらの一部は、ステレオグラフィック出力、仮想現実ガラス(図示せず)、ホログラフィックディスプレイおよびスモークタンク(図示せず)などの手段を通じて2次元視覚出力または3次元以上の出力が可能であり得る)およびプリンタ(図示せず)を含み得る。これらの視覚出力デバイス(スクリーン(2110)など)は、グラフィックスアダプタ(2150)を介してシステムバス(2148)に接続され得る。
【0219】
コンピュータシステム(2100)はまた、CD/DVDなどの媒体(2121)を有するCD/DVD ROM/RW(2120)を含む光学媒体、サムドライブ(2122)、リムーバブルハードドライブまたはソリッドステートドライブ(2123)、テープおよびフロッピーディスクなどのレガシー磁気媒体(図示せず)、セキュリティドングルなどの専用ROM/ASIC/PLDベースのデバイス(図示せず)など、人間がアクセス可能な記憶デバイスおよびそれらの関連媒体を含むことができる。
【0220】
当業者はまた、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が伝送媒体、搬送波、または他の一時的信号を包含しないことを理解すべきである。
【0221】
コンピュータシステム(2100)はまた、1つまたは複数の通信ネットワーク(2155)へのネットワークインタフェース(2154)を含むことができる。1つまたは複数の通信ネットワーク(2155)は、例えば、無線、有線、光であり得る。さらに、1つまたは複数の通信ネットワーク(2155)は、ローカル、広域、都市、車両および産業、リアルタイム、遅延耐性などであり得る。1つまたは複数の通信ネットワーク(2155)の例には、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラネットワーク、ケーブルTV、衛星TV、地上波TVなどを含むテレビ有線もしくは無線広域デジタルネットワーク、CANBusを含む車両用もしくは産業用ネットワークなどが含まれる。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス(2149)に取り付けられた外部ネットワークインタフェースアダプタ(例えば、コンピュータシステム(2100)のUSBポートなど)を必要とし、他のものは、一般に、後述するようなシステムバスへの取り付け(例えば、PCコンピュータシステムへのイーサネットインタフェースまたはスマートフォンコンピュータシステムへのセルラネットワークインタフェース)によってコンピュータシステム(2100)のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(2100)は、他のエンティティと通信することができる。そのような通信は、例えば、ローカルまたは広域デジタルネットワークを使用する他のコンピュータシステムに対して、単方向で受信のみ(例えば、放送TV)、単方向で送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向であり得る。特定のプロトコルおよびプロトコルスタックは、上記で説明されたように、それらのネットワークおよびネットワークインタフェースの各々で使用され得る。
【0222】
前述のヒューマンインタフェースデバイス、ヒューマンアクセス可能な記憶デバイス、およびネットワークインタフェースを、コンピュータシステム(2100)のコア(2140)に取り付けることができる。
【0223】
コア(2140)は、1つまたは複数の中央処理装置(CPU)(2141)、グラフィック処理装置(GPU)(2142)、フィールドプログラマブルゲートエリア(FPGA)(2143)の形態の専用プログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ(2144)、グラフィックスアダプタ(2150)などを含むことができる。これらのデバイスは、読み出し専用メモリ(ROM)(2145)、ランダムアクセスメモリ(2146)、内部の、ユーザがアクセス可能ではないハードドライブ、SSDなどの内部大容量ストレージ(2147)と共に、システムバス(2148)を介して接続されてもよい。一部のコンピュータシステムでは、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形式でシステムバス(2148)にアクセスすることができる。周辺デバイスを、コアのシステムバス(2148)に直接取り付けることも、周辺バス(2149)を介して取り付けることもできる。一例では、スクリーン(2110)をグラフィックスアダプタ(2150)に接続することができる。周辺バスのアーキテクチャは、PCIおよびUSBなどを含む。
【0224】
CPU(2141)、GPU(2142)、FPGA(2143)、およびアクセラレータ(2144)は、組み合わせて前述のコンピュータコードを構成できる特定の命令を実行できる。そのコンピュータコードは、ROM(2145)またはRAM(2146)に格納され得る。移行データはまた、RAM(2146)に格納され得、一方、永続データは、例えば内部大容量ストレージ(2147)に格納され得る。メモリデバイスのいずれかへの高速記憶および取得は、1つまたは複数のCPU(2141)、GPU(2142)、大容量ストレージ(2147)、ROM(2145)、RAM(2146)などと密接に関連付けることができるキャッシュメモリの使用によって可能にすることができる。
【0225】
コンピュータ可読媒体は、様々なコンピュータ実施動作を実行するためのコンピュータコードを有し得る。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構成されたものであり得るし、またはそれらは、コンピュータソフトウェア技術の当業者に周知の利用可能な種類のものであり得る。
【0226】
一例として、限定するものではないが、アーキテクチャ(2100)、具体的にはコア(2140)を有するコンピュータシステムは、1つまたは複数の有形のコンピュータ可読媒体に組み込まれたソフトウェアを実行するプロセッサ(複数可)(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上述のようなユーザアクセス可能な大容量ストレージ、ならびにコア内部大容量ストレージ(2147)またはROM(2145)などの非一時的な性質のコア(2140)の特定のストレージに関連付けられた媒体とすることができる。本開示の様々な実施形態を実施するソフトウェアは、そのようなデバイスに格納され、コア(2140)によって実行され得る。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(2140)、具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、本明細書に記載の特定プロセスまたは特定プロセスの特定部分を実行させることができ、プロセスには、RAM(2146)に格納されたデータ構造を定義すること、および、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することが含まれる。加えて、または代替として、コンピュータシステムは、ハードワイヤードまたは他の方法で回路(例えば、アクセラレータ(2144))に具現化された論理の結果として、機能を提供することができ、ソフトウェアの代わりに、またはソフトウェアとともに動作して、本明細書に記載の特定プロセスまたは特定プロセスの特定部分を実行することができる。ソフトウェアへの参照は、論理を包含することができ、適切な場合には逆もまた同様である。適切な場合には、コンピュータ可読媒体への言及は、実行のためのソフトウェアを記憶する回路(集積回路(IC:integrated circuit)など)、実行のための論理を具現化する回路、またはこれらの両方を包含し得る。本開示は、ハードウェアとソフトウェアとの任意の適切な組み合わせを包含する。
【0227】
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内にある修正例、置換例、および様々な代替均等例がある。したがって、当業者は、本明細書では明示的に示されていないか、または説明されていないが、本開示の原理を具現化し、したがってその精神および範囲内にある多数のシステムおよび方法を考案できることが理解されよう。
付記A:頭字語
ALF:適応ループフィルタ(Adaptive Loop Filter)
AMVP:高度動きベクトル予測(Advanced Motion Vector Prediction)
APS:適応パラメータセット(Adaptation Parameter Set)
ASIC:特定用途向け集積回路(Application-Specific Integrated Circuit)
ATMVP:代替/高度時間動きベクトル予測(Alternative/Advanced Temporal Motion Vector Prediction)
AV1:AOMedia Video 1
AV2:AOMedia Video 2
BMS:ベンチマークセット(Benchmark Set)
BV:ブロックベクトル(Block Vector)
CANBus:コントローラエリアネットワークバス(Controller Area Network Bus)
CB:コーディングブロック(Coding Block)
CC-ALF:クロス成分適応ループフィルタ(Cross-Component Adaptive Loop Filter)
CD:コンパクトディスク(Compact Disc)
CDEF:制約付き方向性拡張フィルタ(Constrained Directional Enhancement Filter)
CPR:現在のピクチャ参照(Current Picture Referencing)
CPU:中央処理装置(Central Processing Unit)
CRT:ブラウン管(Cathode Ray Tube)
CTB:コーディングツリーブロック(Coding Tree Block)
CTU:コーディングツリーユニット(Coding Tree Unit)
CU:コーディングユニット(Coding Unit)
DPB:デコーダピクチャバッファ(Decoder Picture Buffer)
DPCM:差動パルス符号変調(Differential Pulse-Code Modulation)
DPS:デコーディングパラメータセット(Decoding Parameter Set)
DVD:デジタルビデオディスク(Digital Video Disc)
FPGA:フィールドプログラマブルゲートエリア(Field Programmable Gate Area)
JCCR:共同CbCr残差コーディング(Joint CbCr Residual Coding)
JVET:共同ビデオ探索チーム(Joint Video Exploration Team)
GOP:グループオブピクチャ(Groups of Pictures)
GPU:グラフィック処理装置(Graphics Processing Unit)
GSM:グローバル移動体通信システム(Global System for Mobile communication)
HDR:ハイダイナミックレンジ(High Dynamic Range)
HEVC:高効率ビデオコーディング(High Efficiency Video Coding)
HRD:仮想参照デコーダ(Hypothetical Reference Decoder)
IBC:イントラブロックコピー(Intra Block Copy)
IC:集積回路(Integrated Circuit)
ISP:イントラサブパーティション(Intra Sub-Partition)
JEM:共同探索モデル(Joint Exploration Model)
LAN:ローカルエリアネットワーク(Local Area Network)
LCD:液晶ディスプレイ(Liquid-Crystal Display)
LR:ループ復元フィルタ(Loop Restoration Filter)
LRU:ループ復元ユニット(Loop Restoration Unit)
LTE:ロングタームエボリューション(Long-Term Evolution)
MPM:最確モード(Most Probable Mode)
MV:動きベクトル(Motion Vector)
OLED:有機発光ダイオード(Organic Light-Emitting Diode)
PB:予測ブロック(Prediction Block)
PCI:周辺構成要素相互接続(Peripheral Component Interconnect)
PDPC:位置依存予測組み合わせ(Position Dependent Prediction Combination)
PLD:プログラマブル論理デバイス(Programmable Logic Device)
PPS:ピクチャパラメータセット(Picture Parameter Set)
PU:予測ユニット(Prediction Unit)
RAM:ランダムアクセスメモリ(Random Access Memory)
ROM:読み出し専用メモリ(Read-Only Memory)
SAO:サンプル適応オフセット(Sample Adaptive Offset)
SCC:スクリーンコンテンツコーディング(Screen Content Coding)
SDR:標準ダイナミックレンジ(Standard Dynamic Range)
SEI:補足拡張情報(Supplementary Enhancement Information)
SNR:信号ノイズ比(Signal Noise Ratio)
SPS:シーケンスパラメータセット(Sequence Parameter Set)
SSD:ソリッドステートドライブ(Solid-state Drive)
TU:変換ユニット(Transform Unit)
USB:ユニバーサルシリアルバス(Universal Serial Bus)
VPS:ビデオパラメータセット(Video Parameter Set)
VUI:ビデオのユーザビリティ情報(Video Usability Information)
VVC:多用途ビデオコーディング(Versatile Video Coding)
WAIP:広角イントラ予測(Wide-Angle Intra Prediction)
【符号の説明】
【0228】
101 点
102、103 矢印
104 正方形ブロック
105 概略図
111 現在のブロック
112、113、114、115、116 周囲サンプル
200 通信システム
210、220、230、240 端末デバイス
250 ネットワーク
301 ビデオソース
302 非圧縮のビデオピクチャのストリーム
303、503、603 ビデオエンコーダ
304 エンコーディングされたビデオデータ
305 ストリーミングサーバ
306、308 クライアントサブシステム
307、309 エンコーディングされたビデオデータのコピー
310、410、710 ビデオデコーダ
311 出力ストリーム
312 ディスプレイ
313 キャプチャサブシステム
320、330、430、520 電子デバイス
401 チャネル
412 レンダデバイス
415 バッファメモリ
420 パーサ
421 シンボル
431 受信機
451 スケーラ/逆変換ユニット
452 イントラピクチャ予測ユニット
453 動き補償予測ユニット
455 アグリゲータ
456 ループフィルタユニット
457 参照ピクチャメモリ
458 現在のピクチャバッファ
501 ビデオソース
530 ソースコーダ
532 コーディングエンジン
533 デコーダ
534 参照ピクチャメモリ
535 予測器
540 送信機
543 コーディングされたビデオシーケンス
545 エントロピーコーダ
550 コントローラ
560 通信チャネル
621 汎用コントローラ
622 イントラエンコーダ
623 残差計算器
624 残差エンコーダ
625 エントロピーエンコーダ
626 スイッチ
628 残差デコーダ
630 インターエンコーダ
771 エントロピーデコーダ
772 イントラデコーダ
773 残差デコーダ
774 再構築モジュール
780 インターデコーダ
2100 コンピュータシステム
2101 キーボード
2102 マウス
2103 トラックパッド
2105 ジョイスティック
2106 マイクロフォン
2107 スキャナ
2108 カメラ
2109 スピーカ
2110 タッチスクリーン
2120 光学媒体
2121 媒体
2122 サムドライブ
2123 リムーバブルハードドライブまたはソリッドステートドライブ
2140 コア
2141 処理装置(CPU)
2142 グラフィック処理装置(GPU)
2143 フィールドプログラマブルゲートエリア(FPGA)
2144 アクセラレータ
2145 読み出し専用メモリ(ROM)
2146 ランダムアクセスメモリ(RAM)
2147 大容量ストレージ
2148 システムバス
2149 周辺バス
2150 グラフィックスアダプタ
2154 ネットワークインタフェース
2155 通信ネットワーク
【手続補正書】
【提出日】2024-01-19
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコーダにおけるビデオデコーディングの方法であって、
コーディングされたビデオシーケンスの一部である現在のピクチャ内の現在のブロックの予測情報をデコーディングするステップであって、前記予測情報は、処理された再構築サンプルとフィルタ処理の対応する出力値との複数の組み合わせを示す、ステップと、
前記現在のブロックの第1の色成分の処理された再構築サンプルに対して前記フィルタ処理を実行するステップであって、前記第1の色の前記処理された再構築サンプルは、前記予測情報において示される前記処理された再構築サンプルの前記複数の組み合わせに含まれない、ステップと、
デフォルト値、予測出力値、および前記予測情報において示される前記出力値のうちの1つ、のうちの1つに基づいて、前記フィルタ処理の出力値を決定するステップと、
前記現在のブロックの第2の色成分の再構築サンプルに適用されている前記出力値に基づいて前記現在のブロックを再構築するステップであって、前記第2の色成分は前記第1の色成分とは異なる、ステップと
を含む方法。
【外国語明細書】