(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-04-08
(54)【発明の名称】交差成分フィルタリングのための方法、装置、およびプログラム
(51)【国際特許分類】
H04N 19/117 20140101AFI20220401BHJP
H04N 19/176 20140101ALI20220401BHJP
H04N 19/186 20140101ALI20220401BHJP
H04N 19/82 20140101ALI20220401BHJP
【FI】
H04N19/117
H04N19/176
H04N19/186
H04N19/82
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021549113
(86)(22)【出願日】2020-09-10
(85)【翻訳文提出日】2021-08-19
(86)【国際出願番号】 US2020050116
(87)【国際公開番号】W WO2021055222
(87)【国際公開日】2021-03-25
(32)【優先日】2019-09-16
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-09-02
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シアン・リ
(72)【発明者】
【氏名】シン・ジャオ
(72)【発明者】
【氏名】イシン・ドゥ
(72)【発明者】
【氏名】リャン・ジャオ
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LB05
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159ME13
5C159PP16
5C159RC12
5C159TA68
5C159TA70
5C159TB08
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
本開示の態様は、ビデオ復号のための方法および処理回路を備えた装置を提供する。処理回路は、符号化ビデオ・ビット・ストリームから彩度符号化ブロック(CB)の符号化された情報を復号する。符号化された情報は、彩度CBに交差成分フィルタが適用されることを示すとともに、彩度サブサンプリングフォーマットおよび彩度サンプル形式を示す。処理回路は、彩度サブサンプリングフォーマットおよび彩度サンプル形式のうちの少なくとも1つに基づいて、交差成分フィルタのフィルタ形状を判定する。処理回路は、彩度CBにループフィルタを適用することによって第1の中間CBを生成し、判定されたフィルタ形状を有する交差成分フィルタを対応する輝度CBに適用することによって第2の中間CBを生成する。処理回路は、第1の中間CBおよび第2の中間CBに基づいてフィルタリングされた彩度CBを判定する。
【特許請求の範囲】
【請求項1】
復号器におけるビデオ復号のための方法であって、
符号化ビデオ・ビット・ストリームから彩度符号化ブロック(CB)の符号化された情報を復号するステップであって、前記符号化された情報は、前記彩度CBに交差成分フィルタが適用されることを示し、前記符号化された情報は、彩度サブサンプリングフォーマット、および対応する輝度CB内のうち少なくとも1つの輝度サンプルに対する彩度サンプルの相対位置を示す彩度サンプル形式をさらに示す、ステップと、
前記彩度サブサンプリングフォーマットおよび前記彩度サンプル形式のうちの少なくとも1つに基づいて前記交差成分フィルタのフィルタ形状を判定するステップと、
前記彩度CBにループフィルタを適用することによって第1の中間CBを生成するステップと、
前記判定されたフィルタ形状を有する前記交差成分フィルタを前記対応する輝度CBに適用することによって第2の中間CBを生成するステップと、
前記第1の中間CBおよび前記第2の中間CBに基づいてフィルタリングされた彩度CBを判定するステップと
を含む、方法。
【請求項2】
前記彩度サンプル形式は、前記符号化ビデオ・ビット・ストリームにおいて信号で通知される、請求項1に記載の方法。
【請求項3】
前記交差成分フィルタのいくつかのフィルタ係数が前記符号化ビデオ・ビット・ストリームにおいて信号で通知され、
前記フィルタ形状を判定する前記ステップは、前記フィルタ係数の数と、前記彩度サブサンプリングフォーマットおよび前記彩度サンプル形式のうち前記少なくとも一方とに基づいて前記交差成分フィルタの前記フィルタ形状を判定するステップを含む、
請求項1に記載の方法。
【請求項4】
前記彩度サブサンプリングフォーマットは4:2:0であり、
少なくとも1つの輝度サンプルは、左上サンプル、右上サンプル、左下サンプル、および右下サンプルである4つの輝度サンプルを含み、
前記彩度サンプル形式は、6つの相対位置0~5をそれぞれ示す6つの彩度サンプル形式0~5のうちの1つであり、前記彩度サンプルの前記6つの相対位置0~5は、それぞれ、前記左上サンプルと前記左下サンプルとの間の左中心位置、前記4つの輝度サンプルの中心位置、前記左上サンプルと同じ位置にある左上位置、前記左上サンプルと前記右上サンプルとの間の上中心位置、前記左下サンプルと同じ位置にある左下位置、および前記左下サンプルと前記右下サンプルとの間の下中心位置に対応し、
前記フィルタ形状を判定する前記ステップは、前記彩度サンプル形式に基づいて前記交差成分フィルタの前記フィルタ形状を判定するステップを含む、
請求項1に記載の方法。
【請求項5】
前記符号化ビデオ・ビット・ストリームは、前記彩度サンプル形式が0または2であることを示す交差成分線形モデル(CCLM)フラグを含む、請求項4に記載の方法。
【請求項6】
前記交差成分フィルタは交差成分適応ループフィルタ(CC-ALF)であり、前記ループフィルタは適応ループフィルタ(ALF)である、請求項1に記載の方法。
【請求項7】
前記交差成分フィルタのフィルタ係数の範囲はKビット以下であり、Kは正の整数である、請求項1に記載の方法。
【請求項8】
前記交差成分フィルタの前記フィルタ係数は、固定長符号化を使用して符号化される、請求項7に記載の方法。
【請求項9】
8ビットよりも大きい輝度サンプル値のダイナミックレンジに基づいて、前記対応する輝度CBの輝度サンプル値を8ビットの前記ダイナミックレンジを有するようにシフトするステップであって、Kは8ビットである、ステップをさらに含み、
前記第2の中間CBを生成する前記ステップは、前記判定されたフィルタ形状を有する前記交差成分フィルタを前記シフトされた輝度サンプル値に適用するステップを含む、
請求項7に記載の方法。
【請求項10】
復号器におけるビデオ復号のための方法であって、
符号化ビデオ・ビット・ストリームから彩度符号化ブロック(CB)の符号化された情報を復号するステップであって、前記符号化された情報は、対応する輝度CBに基づいて前記彩度CBに交差成分フィルタが適用されることを示す、ステップと、
前記対応する輝度CBにダウン・サンプリング・フィルタを適用することにより、ダウンサンプリングされた輝度CBを生成するステップであって、前記彩度CBと前記ダウンサンプリングされた輝度CBとの間の彩度水平サブサンプリング係数および彩度垂直サブサンプリング係数が1である、ステップと、
前記彩度CBにループフィルタを適用することにより、第1の中間CBを生成するステップと、
前記交差成分フィルタを前記ダウンサンプリングされた輝度CBに適用することにより、第2の中間CBを生成するステップであって、前記交差成分フィルタのフィルタ形状は、前記彩度CBの彩度サブサンプリングフォーマットおよび彩度サンプル形式に依存せず、前記彩度サンプル形式は、前記対応する輝度CB内の少なくとも1つの輝度サンプルに対する彩度サンプルの相対位置を示す、ステップと、
前記第1の中間CBおよび前記第2の中間CBに基づいて、フィルタリングされた彩度CBを判定するステップと、
を含む、方法。
【請求項11】
前記ダウン・サンプリング・フィルタは、CCLMモードにおいて同じ場所にある輝度サンプルに適用されるフィルタに対応する、請求項10に記載の方法。
【請求項12】
前記ダウン・サンプリング・フィルタは{1,2,1;1,2,1}/8フィルタであり、前記彩度サブサンプリングフォーマットは4:2:0である、請求項10に記載の方法。
【請求項13】
前記交差成分フィルタの前記フィルタ形状は、7×7の菱形形状、7×7の正方形形状、5×5の菱形形状、5×5の正方形形状、3×3の菱形形状、および3×3の正方形形状のうちの1つである、請求項10に記載の方法。
【請求項14】
ビデオ復号のための装置であって、処理回路を備え、前記処理回路は、
符号化ビデオ・ビット・ストリームから彩度符号化ブロック(CB)の符号化された情報を復号し、前記符号化された情報は、交差成分フィルタが前記彩度CBに適用されることを示し、前記符号化された情報は、彩度サブサンプリングフォーマット、および対応する輝度CB内の少なくとも1つの輝度サンプルに対する彩度サンプルの相対位置を示す彩度サンプル形式をさらに示し、
前記彩度サブサンプリングフォーマットおよび前記彩度サンプル形式のうちの少なくとも1つに基づいて前記交差成分フィルタのフィルタ形状を判定し、
前記彩度CBにループフィルタを適用することによって第1の中間CBを生成し、
前記判定されたフィルタ形状を有する前記交差成分フィルタを前記対応する輝度CBに適用することによって第2の中間CBを生成し、
前記第1の中間CBおよび前記第2の中間CBに基づいてフィルタリングされた彩度CBを判定する、
ように構成されている、装置。
【請求項15】
前記彩度サンプル形式は、前記符号化ビデオ・ビット・ストリームにおいて信号で通知される、請求項14に記載の装置。
【請求項16】
前記交差成分フィルタのいくつかのフィルタ係数が前記符号化ビデオ・ビット・ストリームにおいて信号で通知され、
前記処理回路は、前記フィルタ係数の数と、前記彩度サブサンプリングフォーマットおよび前記彩度サンプル形式の前記少なくとも一方とに基づいて、前記交差成分フィルタの前記フィルタ形状を判定するように構成されている、
請求項14に記載の装置。
【請求項17】
前記彩度サブサンプリングフォーマットは4:2:0であり、
前記少なくとも1つの輝度サンプルは、左上サンプル、右上サンプル、左下サンプル、および右下サンプルである4つの輝度サンプルを含み、
前記彩度サンプル形式は、6つの相対位置0~5をそれぞれ示す6つの彩度サンプル形式0~5のうちの1つであり、前記彩度サンプルの前記6つの相対位置0~5は、それぞれ、前記左上サンプルと前記左下サンプルとの間の左中心位置、前記4つの輝度サンプルの中心位置、前記左上サンプルと同じ位置にある左上位置、前記左上サンプルと前記右上サンプルとの間の上中心位置、前記左下サンプルと同じ位置にある左下位置、および前記左下サンプルと前記右下サンプルとの間の下中心位置に対応し、
前記処理回路は、前記彩度サンプル形式に基づいて前記交差成分フィルタの前記フィルタ形状を判定するように構成されている、
請求項14に記載の装置。
【請求項18】
前記符号化ビデオ・ビット・ストリームは、前記彩度サンプル形式が0または2であることを示す交差成分線形モデル(CCLM)フラグを含む、請求項17に記載の装置。
【請求項19】
前記交差成分フィルタは交差成分適応ループフィルタ(CC-ALF)であり、前記ループフィルタは適応ループフィルタ(ALF)である、請求項14に記載の装置。
【請求項20】
前記交差成分フィルタのフィルタ係数の範囲はKビット以下であり、Kは正の整数である、請求項14に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
[参照による組み込み]
本出願は、2019年9月16日に出願された米国仮出願第62/901,118号「Of Cross-Component Adaptive Loop Filter」の優先権の利益を主張する、2020年9月2日に出願された米国特許出願第17/010,403号「Method and Apparatus for Cross-Component Filtering」の優先権の利益を主張する。先行出願の開示全体は、参照によりその全体が本明細書に組み込まれる。
【0002】
本開示は、ビデオ符号化に一般的に関連する実施形態を説明する。
【背景技術】
【0003】
本明細書で提供される背景技術の説明は、本開示の文脈を一般的に提示することを目的としている。本発明者らの研究は、この背景技術の項に記載されている限りにおいて、ならびに出願時に先行技術として認められない可能性がある説明の態様は、本開示に対する先行技術として明示的にも暗示的にも認められない。
【0004】
ビデオ符号化および復号は、動作補償を伴う画像間予測を使用して実行することができる。非圧縮デジタルビデオは、一連の画像を含むことができ、各画像は、例えば1920×1080の輝度サンプルおよび関連する色差サンプルの空間次元を有する。一連の画像は、例えば毎秒60画像すなわち60 Hzの固定または可変画像レート(非公式にはフレームレートとしても知られる)を有することができる。非圧縮ビデオは、特定のビットレート要件を有する。例えば、サンプルあたり8ビットの1080 p 60 4:2:0ビデオ(60 Hzのフレームレートで1920×1080の輝度サンプル解像度)は、1.5 Gbit/sに近い帯域幅を必要とする。そのようなビデオの1時間は、600 GByteを超える記憶空間を必要とする。
【0005】
ビデオの符号化および復号の目的の1つは、圧縮による入力ビデオ信号の冗長性の低減であり得る。圧縮は、前述の帯域幅および/または記憶空間要件を、場合によっては2桁またはそれ以上低減するのに役立ち得る。可逆圧縮および非可逆圧縮の両方、ならびにそれらの組み合わせを採用することができる。可逆圧縮とは、元の信号の正確なコピーを圧縮された元の信号から復元することができる技術を指す。非可逆圧縮を使用する場合、再構築された信号は元の信号と同一ではない可能性があるが、元の信号と再構築された信号との間の歪みは、再構築された信号を意図された用途に有用にするのに十分小さい。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量は用途に依存し、例えば、特定の消費者ストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高い歪みを許容することができる。達成可能な圧縮比は、より高い許容可能/受忍可能な歪みがより高い圧縮比をもたらすことができることを反映することができる。
【0006】
ビデオ符号化器および復号器は、例えば、動作補償、変換、量子化、およびエントロピー符号化を含む、いくつかの広範なカテゴリからの技術を利用し得る。
【0007】
ビデオ符号化技術は、イントラ符号化として知られる技術を含むことができる。イントラ符号化では、サンプルまたは以前に再構築された参照画像からの他のデータを参照せずにサンプル値が表される。いくつかのビデオ符号化では、画像は空間的にサンプルのブロックに細分される。サンプルのすべてのブロックがイントラモードで符号化される場合、その画像は、イントラ画像であり得る。イントラ画像および独立した復号器リフレッシュ画像などのそれらの派生は、復号器状態をリセットするために使用することができ、したがって、符号化ビデオ・ビット・ストリームおよびビデオセッション内の第1の画像として、または静止画像として使用することができる。イントラブロックのサンプルは、変換にさらされる可能性があり、変換係数は、エントロピー符号化の前に量子化される可能性がある。イントラ予測は、変換前領域におけるサンプル値を最小化する技術であり得る。場合によっては、変換後のDC値が小さいほど、およびAC係数が小さいほど、エントロピー符号化後のブロックを表すために所与の量子化ステップサイズで必要とされるビットが少なくなる。
【0008】
例えばMPEG-2生成符号化技術から知られているような従来のイントラ符号化は、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、周囲のサンプルデータおよび/または空間的に隣接し、復号順序で先行するデータのブロックの符号化/復号中に取得されたメタデータから試行する技術を含む。そのような技法は、以後「イントラ予測」技法と呼ばれる。少なくともいくつかの場合において、イントラ予測は、再構築中の現在の画像からの参照データのみを使用し、参照画像からの参照データは使用しないことに留意されたい。
【0009】
イントラ予測には多くの異なる形態があり得る。そのような技法のうちの2つ以上が所与のビデオ符号化技術において使用され得るとき、使用中の技法はイントラ予測モードで符号化され得る。ある場合には、モードはサブモードおよび/またはパラメータを有することができ、それらは個別に符号化されるかまたはモード符号語に含まれることができる。所与のモード/サブモード/パラメータの組み合わせにどの符号語を使用するかは、イントラ予測を介して符号化効率の利得に影響を与える可能性があり、そのため、符号語をビットストリームに変換するために使用されるエントロピー符号化技術も影響を与える可能性がある。
【0010】
イントラ予測の特定のモードは、H.264で導入され、H.265で改良され、共同探索モデル(JEM)、汎用ビデオ符号化(VVC)、およびベンチマークセット(BMS)などの新しい符号化技術でさらに改良された。予測子ブロックは、既に利用可能なサンプルに属する隣接サンプル値を使用して形成することができる。隣接するサンプルのサンプル値は、方向に従って予測子ブロックにコピーされる。使用中の方向への参照は、ビットストリーム内で符号化され得るか、またはそれ自体が予測され得る。
【0011】
図1Aを参照すると、右下に示されているのは、H.265の33個の可能な予測子方向から知られている9つの予測子方向のサブセットである(35個のイントラモードのうちの33個の角度モードに対応する)。矢印が収束する点(101)は、予測対象のサンプルを表す。矢印は、サンプルが予測されている方向を表す。例えば、矢印(102)は、サンプル(101)が水平から45度の角度で右上のサンプルから予測されることを示す。同様に、矢印(103)は、サンプル(101)が水平から22.5度の角度で、左下のサンプル(101)(単数または複数)まで予測されることを示す。
【0012】
さらに
図1Aを参照すると、左上には、4×4サンプル(破線の太字で示されている)の正方形ブロック(104)が示されている。正方形ブロック(104)は、各々が「S」で標識された16個のサンプルと、Y次元におけるその位置(例えば、行インデックス)と、X次元におけるその位置(例えば、列インデックス)とを含む。例えば、サンプルS21は、Y次元の第2のサンプル(上から)であり、X次元の第1のサンプル(左から)である。同様に、サンプルS44は、ブロック(104)におけるY次元およびX次元の両方の第4のサンプルである。ブロックのサイズは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個のイントラ予測方向を示す概略図(180)を示す。
【0017】
方向を表す符号化ビデオ・ビット・ストリーム内のイントラ予測方向ビットのマッピングは、ビデオ符号化技術からビデオ符号化技術とは異なり得る。例えば、予測方向からイントラ予測モードへの単純な直接マッピング、符号語、最も可能性の高いモードを含む複雑な適応方式、および同様の技術に及ぶことができる。しかしながら、すべての場合において、ビデオコンテンツにおいて特定の他の方向よりも統計的に発生する可能性が低い特定の方向が存在し得る。ビデオ圧縮の目的は冗長性の低減であるため、うまく機能するビデオ符号化技術では、それらの可能性の低い方向は、可能性の高い方向よりも多くのビット数で表される。
【0018】
動作補償は非可逆圧縮技術とすることができ、以前に再構築された画像またはその一部(参照画像)からのサンプルデータのブロックが、動きベクトル(MV以降)によって示される方向に空間的にシフトされた後、新たに再構築された画像または画像部分の予測に使用される技術に関することができる。場合によっては、参照画像は、現在再構築中の画像と同じであり得る。MVは、2つの次元XおよびY、または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」、2016年12月)に様々なMV予測メカニズムが記載されている。ここでは、H.265が提供する多くのMV予測機構のうち、「空間マージ」と呼ばれる技術について説明する。
【0021】
図2を参照すると、現在のブロック(201)は、空間的にシフトされた同じサイズの前のブロックから予測可能であるように動き探索処理中に符号化器によって見つけられたサンプルを含む。そのMVを直接符号化する代わりに、MVは、A0、A1、およびB0、B1、B2(それぞれ202から206)で示される5つの周囲サンプルのいずれか1つに関連付けられたMVを使用して、1つまたは複数の参照画像に関連付けられたメタデータから、例えば最新の(復号順序の)参照画像から導出することができる。H.265では、MV予測は、隣接ブロックが使用しているのと同じ参照画像からの予測子を使用することができる。
【発明の概要】
【課題を解決するための手段】
【0022】
本開示の態様は、ビデオ符号化/復号のための方法および装置を提供する。いくつかの例では、ビデオ復号のための装置は処理回路を含む。処理回路は、符号化ビデオ・ビット・ストリームから彩度符号化ブロック(CB)の符号化された情報を復号することができる。符号化された情報は、彩度CBに交差成分フィルタが適用されることを示すことができる。符号化された情報は、彩度サブサンプリングフォーマット、および対応する輝度CB内の少なくとも1つの輝度サンプルに対する彩度サンプルの相対位置を示す彩度サンプル形式をさらに示すことができる。処理回路は、彩度サブサンプリングフォーマットおよび彩度サンプル形式のうちの少なくとも1つに基づいて交差成分フィルタのフィルタ形状を判定することができる。処理回路は、彩度CBにループフィルタを適用することによって第1の中間CBを生成することができる。処理回路は、判定されたフィルタ形状を有する交差成分フィルタを対応する輝度CBに適用することによって第2の中間CBを生成することができる。処理回路は、第1の中間CBおよび第2の中間CBに基づいてフィルタリングされた彩度CBを判定することができる。
【0023】
一例では、彩度サンプル形式は、符号化ビデオ・ビット・ストリームにおいて信号で通知される。
【0024】
一例では、交差成分フィルタのいくつかのフィルタ係数が、符号化ビデオ・ビット・ストリームにおいて信号で通知される。処理回路は、フィルタ係数の数と、彩度サブサンプリングフォーマットおよび彩度サンプル形式のうちの少なくとも1つとに基づいて、交差成分フィルタのフィルタ形状を判定することができる。
【0025】
一例では、彩度サブサンプリングフォーマットは4:2:0である。少なくとも1つの輝度サンプルは、左上サンプル、右上サンプル、左下サンプル、および右下サンプルである4つの輝度サンプルを含む。彩度サンプル形式は、6つの相対位置0~5をそれぞれ示す6つの彩度サンプル形式0~5のうちの1つであり、彩度サンプルの6つの相対位置0~5は、それぞれ、左上サンプルと左下サンプルとの間の左中心位置、4つの輝度サンプルの中心位置、左上サンプルと同じ位置にある左上位置、左上サンプルと右上サンプルとの間の上中心位置、左下サンプルと同じ位置にある左下位置、および左下サンプルと右下サンプルとの間の下中心位置に対応する。処理回路は、彩度サンプル形式に基づいて交差成分フィルタのフィルタ形状を判定することができる。一例では、符号化ビデオ・ビット・ストリームは、彩度サンプル形式が0または2であることを示す交差成分線形モデル(CCLM)フラグを含む。
【0026】
一例では、交差成分フィルタは交差成分適応ループフィルタ(CC-ALF)であり、ループフィルタは適応ループフィルタ(ALF)である。
【0027】
一実施形態では、交差成分フィルタのフィルタ係数の範囲はKビット以下であり、Kは正の整数である。一例では、交差成分フィルタのフィルタ係数は、固定長符号化を使用して符号化される。一例では、処理回路は、8ビットよりも大きい輝度サンプル値のダイナミックレンジに基づいて、対応する輝度CBの輝度サンプル値を8ビットのダイナミックレンジを有するようにシフトすることができ、Kは8ビットである。処理回路は、判定されたフィルタ形状を有する交差成分フィルタをシフトされた輝度サンプル値に適用することができる。
【0028】
いくつかの例では、ビデオ復号のための装置は処理回路を含む。処理回路は、符号化ビデオ・ビット・ストリームから彩度CBの符号化された情報を復号することができる。符号化された情報は、交差成分フィルタが対応する輝度CBに基づいて彩度CBに適用されることを示すことができる。処理回路は、ダウン・サンプリング・フィルタを対応する輝度CBに適用することによってダウンサンプリングされた輝度CBを生成することができ、彩度CBとダウンサンプリングされた輝度CBとの間の彩度水平サブサンプリング係数および彩度垂直サブサンプリング係数は1である。処理回路は、彩度CBにループフィルタを適用することによって第1の中間CBを生成することができる。処理回路は、交差成分フィルタをダウンサンプリングされた輝度CBに適用することによって第2の中間CBを生成することができ、交差成分フィルタのフィルタ形状は、彩度サブサンプリングフォーマットおよび彩度CBの彩度サンプル形式とは無関係である。彩度サンプル形式は、対応する輝度CB内の少なくとも1つの輝度サンプルに対する彩度サンプルの相対位置を示すことができる。処理回路は、第1の中間CBおよび第2の中間CBに基づいて、フィルタリングされた彩度CBを判定することができる。一例では、ダウン・サンプリング・フィルタは、CCLMモードにおいて同じ場所に配置された輝度サンプルに適用されるフィルタに対応する。一例では、ダウン・サンプリング・フィルタは{1,2,1;1,2,1}/8フィルタであり、彩度サブサンプリングフォーマットは4:2:0である。一例では、交差成分フィルタのフィルタ形状は、7×7の菱形形状、7×7の正方形形状、5×5の菱形形状、5×5の正方形形状、3×3の菱形形状、および3×3の正方形形状のうちの1つである。
【0029】
本開示の態様はまた、ビデオ復号のためにコンピュータによって実行されると、コンピュータにビデオ復号のための方法のいずれかを実行させる命令を記憶する非一時的コンピュータ可読媒体を提供する。
【0030】
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0031】
【
図1A】イントラ予測モードの例示的なサブセットの概略図である。
【
図2】一例における現在のブロックおよびその周囲の空間マージ候補の概略図である。
【
図3】一実施形態による通信システム(300)の簡略ブロック図の概略図である。
【
図4】一実施形態による通信システム(400)の簡略ブロック図の概略図である。
【
図5】一実施形態による復号器の簡略ブロック図の概略図である。
【
図6】一実施形態による符号化器の簡略ブロック図の概略図である。
【
図7】別の実施形態による符号化器のブロック図である。
【
図8】別の実施形態による復号器のブロック図である。
【
図9】本開示の実施形態によるフィルタ形状の例を示す図である。
【
図10A】本開示の実施形態による勾配を計算するために使用されるサブサンプリングされた位置の例を示す。
【
図10B】本開示の実施形態による勾配を計算するために使用されるサブサンプリングされた位置の例を示す。
【
図10C】本開示の実施形態による勾配を計算するために使用されるサブサンプリングされた位置の例を示す。
【
図10D】本開示の実施形態による勾配を計算するために使用されるサブサンプリングされた位置の例を示す。
【
図11A】本開示の実施形態による仮想境界フィルタ処理の例を示す図である。
【
図11B】本開示の実施形態による仮想境界フィルタ処理の例を示す図である。
【
図12A】本開示の実施形態による仮想境界における対称パディング動作の例を示す。
【
図12B】本開示の実施形態による仮想境界における対称パディング動作の例を示す。
【
図12C】本開示の実施形態による仮想境界における対称パディング動作の例を示す。
【
図12D】本開示の実施形態による仮想境界における対称パディング動作の例を示す。
【
図12E】本開示の実施形態による仮想境界における対称パディング動作の例を示す。
【
図12F】本開示の実施形態による仮想境界における対称パディング動作の例を示す。
【
図13】本開示の一実施形態による輝度および彩度成分を生成するための例示的な機能図である。
【
図14】本開示の一実施形態によるフィルタ1400の一例を示す。
【
図15A】本開示の実施形態による、輝度サンプルに対する彩度サンプルの例示的な位置を示す。
【
図15B】本開示の実施形態による、輝度サンプルに対する彩度サンプルの例示的な位置を示す。
【
図16】本開示の実施形態によるそれぞれの交差成分適応ループフィルタ(CC-ALF)のフィルタ形状(1601)~(1603)の例を示す。
【
図17】本開示の一実施形態による処理(1700)の概要を示すフローチャートを示す。
【
図18】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0032】
図3は、本開示の一実施形態による通信システム(300)の簡略ブロック図を示す。通信システム(300)は、例えばネットワーク(350)を介して互いに通信可能な複数の端末機器を含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された端末機器(310)および(320)の第1の対を含む。
図3の例では、端末機器(310)および(320)の第1の対は、データの一方向の送信を実行する。例えば、端末機器(310)は、ネットワーク(350)を介して他の端末機器(320)に送信するためにビデオデータ(例えば、端末機器(310)によって取り込まれたビデオ画像のストリーム)を符号化することができる。符号化ビデオデータは、1つまたは複数の符号化ビデオ・ビット・ストリームの形態で送信することができる。端末機器(320)は、ネットワーク(350)から符号化ビデオデータを受信し、符号化ビデオデータを復号してビデオ画像を復元し、復元されたビデオデータに従ってビデオ画像を表示することができる。単方向データ伝送は、メディア・サービング・アプリケーションなどにおいて一般的であり得る。
【0033】
別の例では、通信システム(300)は、例えばビデオ会議中に発生する可能性がある符号化ビデオデータの双方向送信を実行する端末機器(330)および(340)の第2の対を含む。データの双方向送信のために、一例では、端末機器(330)および(340)の各端末機器は、ネットワーク(350)を介して端末機器(330)および(340)の他方の端末機器に送信するためのビデオデータ(例えば、端末機器によって取り込まれたビデオ画像のストリーム)を符号化することができる。端末機器(330)および(340)の各端末機器はまた、端末機器(330)および(340)の他方の端末機器によって送信された符号化ビデオデータを受信することができ、符号化ビデオデータを復号してビデオ画像を復元することができ、復元されたビデオデータに従ってアクセス可能な表示装置にビデオ画像を表示することができる。
【0034】
図3の例では、端末機器(310)、(320)、(330)、および(340)は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示され得るが、本開示の原理はそのように限定されなくてもよい。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤおよび/または専用ビデオ会議機器に適用される。ネットワーク(350)は、例えば有線(有線)および/または無線通信ネットワークを含む、端末機器(310)、(320)、(330)および(340)の間で符号化ビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(350)は、回路交換チャネルおよび/またはパケット交換チャネルでデータを交換することができる。代表的なネットワークには、電気通信ネットワーク、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークおよび/またはインターネットが含まれる。本説明の目的のために、ネットワーク(350)のアーキテクチャおよびトポロジは、本明細書で以下に説明されない限り、本開示の動作に重要ではない場合がある。
【0035】
図4は、開示された主題の用途の一例として、ストリーミング環境におけるビデオ符号化器およびビデオ復号器の配置を示す。開示された主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティックなどを含むデジタル媒体への圧縮ビデオの格納などを含む、他のビデオ対応アプリケーションにも等しく適用可能であり得る。
【0036】
ストリーミングシステムは、例えば非圧縮のビデオ画像ストリーム(402)を生成する、例えばデジタルカメラなどのビデオソース(401)を含むことができるキャプチャサブシステム(413)を含むことができる。一例では、ビデオ画像ストリーム(402)は、デジタルカメラによって撮影されたサンプルを含む。符号化ビデオデータ(404)(または符号化ビデオ・ビット・ストリーム)と比較して高いデータ量を強調するために太線として示されているビデオ画像ストリーム(402)は、ビデオソース(401)に結合されたビデオ符号化器(403)を含む電子機器(420)によって処理することができる。ビデオ符号化器(403)は、以下でより詳細に説明するように、開示された主題の態様を可能にするかまたは実施するために、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。ビデオ画像ストリーム(402)と比較してより低いデータ量を強調するために細い線として示されている符号化ビデオデータ(404)(または符号化ビデオ・ビット・ストリーム(404))は、将来の使用のためにストリーミングサーバ(405)に格納することができる。
図4のクライアントサブシステム(406)および(408)などの1つまたは複数のストリーミングクライアントサブシステムは、ストリーミングサーバ(405)にアクセスして、符号化ビデオデータ(404)のコピー(407)および(409)を取得することができる。クライアントサブシステム(406)は、例えば電子機器(430)内のビデオ復号器(410)を含むことができる。ビデオ復号器(410)は、符号化ビデオデータの入力コピー(407)を復号し、ディスプレイ(412)(例えば、表示画面)または他のレンダリング装置(図示せず)上にレンダリングすることができるビデオ画像の出力ストリーム(411)を作成する。いくつかのストリーミングシステムでは、符号化ビデオデータ(404)、(407)、および(409)(例えば、ビデオ・ビット・ストリーム)は、特定のビデオ符号化/圧縮規格に従って符号化することができる。例えば、ITU-T勧告H.265などが挙げられる。一例では、開発中のビデオ符号化規格は、多用途ビデオ符号化(Versatile Video Coding:VVC)として非公式に知られている。開示さ
れた主題は、VVCの文脈で使用され得る。
【0037】
電子機器(420)および(430)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば、電子機器(420)はビデオ復号器(図示せず)を含むことができ、電子機器(430)はビデオ符号化器(図示せず)も含むことができる。
【0038】
図5は、本開示の一実施形態によるビデオ復号器(510)のブロック図を示す。ビデオ復号器(510)は、電子機器(530)に含まれ得る。電子機器(530)は、受信機(531)(例えば、受信回路)を含むことができる。ビデオ復号器(510)は、
図4の例のビデオ復号器(410)の代わりに使用することができる。
【0039】
受信機(531)は、ビデオ復号器(510)によって復号されるべき、1または複数の符号化されたビデオシーケンスを受信し得る。同じまたは別の実施形態では、一度に1つの符号化ビデオシーケンスであり、各符号化ビデオシーケンスの復号は他の符号化ビデオシーケンスから独立している。符号化されたビデオシーケンスは、符号化ビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであり得るチャネル(501)から受信され得る。受信機(531)は、エンティティ(図示せず)を使用してそれぞれに転送され得る他のデータ、例えば、符号化されたオーディオデータおよび/または補助データストリームを有する符号化ビデオデータを受信することができる。受信機(531)は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対抗するために、バッファメモリ(515)が、受信機(531)とエントロピー復号器/解析器(520)(以下、「解析器(520)」)との間に結合され得る。特定の用途では、バッファメモリ(515)は、ビデオ復号器(510)の一部である。他の場合には、ビデオ復号器(510)の外部にあってもよい(図示せず)。さらに他のものでは、例えばネットワークジッタに対抗するためにビデオ復号器(510)の外部にバッファメモリ(図示せず)があり、さらに例えば再生タイミングを処理するためにビデオ復号器(510)の内部に別のバッファメモリ(515)があり得る。受信機(531)が十分な帯域幅および制御可能性のストア/フォワード装置から、または非同期ネットワークからデータを受信しているとき、バッファメモリ(515)は必要とされなくてもよく、または小さくてもよい。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(515)が必要とされてもよく、比較的大きくてもよく、有利には適応サイズであってもよく、ビデオ復号器(510)の外部のオペレーティングシステムまたは同様の要素(図示せず)に少なくとも部分的に実装されてもよい。
【0040】
ビデオ復号器(510)は、符号化されたビデオシーケンスからシンボル(521)を再構築するために、解析器(520)を含み得る。これらのシンボルのカテゴリは、ビデオ復号器(510)の動作を管理するために使用される情報、および潜在的に、
図5に示されたように、電子機器(530)の不可欠な部分ではないが電子機器(530)に結合することができるレンダリング装置(512)(例えば、表示画面)などのレンダリング装置を制御するための情報を含む。レンダリング装置の制御情報は、追加の拡張情報(SEIメッセージ)またはビデオ使用性情報(VUI)パラメータセット断片(図示せず)の形態であってもよい。解析器(520)は、受信された符号化されたビデオシーケンスを解析/エントロピー復号することができる。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術または規格に従うことができ、可変長符号化、ハフマン符号化、コンテキスト感度ありまたはなしの算術符号化などを含む様々な原理に従うことができる。解析器(520)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化されたビデオシーケンスから、ビデオ復号器内の画素のサブグループのうちの少なくとも1つのサブグループパラメータのセットを抽出することができる。サブグループは、画像群(GOP)、画像、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。解析器(520)はまた、変換係数、量子化器パラメータ値、動きベクトルなどのような符号化されたビデオシーケンス情報を抽出することができる。
【0041】
解析器(520)は、シンボル(521)を作成するために、バッファメモリ(515)から受信したビデオシーケンスに対してエントロピー復号/解析動作を実行することができる。
【0042】
シンボル(521)の再構築は、符号化されたビデオ画像またはその一部(例えば、インター画像およびイントラ画像、インターブロックおよびイントラブロック)の形式、およびその他の要因に依存して、複数の異なるユニットを含み得る。どのユニットがどのように関与するかは、解析器(520)によって符号化ビデオシーケンスから解析されたサブグループ制御情報によって制御することができる。解析器(520)と以下の複数のユニットとの間のそのようなサブグループ制御情報のフローは、明確にするために示されていない。
【0043】
既に述べた機能ブロックを超えて、ビデオ復号器(510)は、以下に説明するように概念的にいくつかの機能ユニットに細分化することができる。商業的制約の下で動作する実際の実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合することができる。しかしながら、開示された主題を説明する目的で、以下の機能ユニットへの概念的細分化が適切である。
【0044】
第1のユニットはスケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、量子化変換係数、ならびにどの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリング行列などをシンボル(複数可)(521)として含む制御情報を、解析器(520)から受信する。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力され得るサンプル値を備えるブロックを出力し得る。
【0045】
場合によっては、スケーラ/逆変換(551)の出力サンプルは、イントラ符号化されたブロックに関連し得る。すなわち、以前に再構築された画像からの予測情報を使用していないが、現在の画像の以前に再構築された部分からの予測情報を使用することができるブロックである。そのような予測情報は、イントラ画像予測ユニット(552)によって提供することができる。場合によっては、イントラ画像予測ユニット(552)は、現在の画像バッファ(558)から取り出された周囲の既に再構築された情報を用いて、再構築中のブロックと同じサイズおよび形状のブロックを生成する。現在の画像バッファ(558)は、例えば、部分的に再構築された現在の画像および/または完全に再構築された現在の画像をバッファリングする。アグリゲータ(555)は、場合によっては、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)からの出力サンプル情報に、サンプル単位で付加する。
【0046】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インター符号化された、潜在的に動作補償されたブロックに関連し得る。そのような場合、動作補償予測ユニット(553)は、予測に使用されるサンプルをフェッチするために参照画像メモリ(557)にアクセスすることができる。ブロックに関連するシンボル(521)に従ってフェッチされたサンプルを動作補償した後、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(555)によってスケーラ/逆変換ユニット(551)の出力(この場合、残差サンプルまたは残差信号と呼ばれる)に追加され得る。動作補償予測ユニット(553)が予測サンプルをフェッチする参照画像メモリ(557)内のアドレスは、動作補償予測ユニット(553)が例えばX、Y、および参照画像成分を有することができるシンボル(521)の形態で利用可能な動きベクトルによって制御することができる。動作補償はまた、サブサンプル正確動きベクトルが使用されているときに参照画像メモリ(557)からフェッチされたサンプル値の補間、動きベクトル予測機構などを含むことができる。
【0047】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)における様々なループフィルタ処理技術を適用することができる。ビデオ圧縮技術は、符号化されたビデオシーケンス(符号化ビデオ・ビット・ストリームとも呼ばれる)に含まれるパラメータによって制御され、構文解析器(520)からシンボル(521)としてループフィルタユニット(556)に利用可能にされるインループフィルタ技術を含むことができるが、符号化された画像または符号化されたビデオシーケンスの以前の(復号順の)部分の復号中に取得されたメタ情報に応答することもでき、以前に再構築され、ループフィルタリングされたサンプル値に応答することもできる。
【0048】
ループフィルタユニット(556)の出力は、レンダリング装置(512)に出力することができるとともに、将来の画像間予測に使用するために参照画像メモリ(557)に格納されることができるサンプルストリームとすることができる。
【0049】
完全に再構築されると、特定の符号化された画像は、将来の予測のための参照画像として使用することができる。例えば、現在の画像に対応する符号化された画像が完全に再構築され、符号化された画像が(例えば、解析器(520)によって)参照画像として識別されると、現在の画像バッファ(558)は参照画像メモリ(557)の一部になることができ、新しい現在の画像バッファは、後続の符号化された画像の再構築を開始する前に再配置され得る。
【0050】
ビデオ復号器(510)は、例えばITU-T Rec.H.265のような規格における所定のビデオ圧縮技術にしたがって復号動作を実行し得る。符号化されたビデオシーケンスは、符号化されたビデオシーケンスがビデオ圧縮技術または規格のシンタックスおよびビデオ圧縮技術または規格に文書化されたプロファイルの両方に準拠するという意味で、使用されているビデオ圧縮技術または規格によって指定されたシンタックスに準拠することができる。具体的には、プロファイルは、ビデオ圧縮技術または規格で利用可能なすべてのツールから、そのプロファイルの下で使用可能な唯一のツールとして特定のツールを選択することができる。また、コンプライアンスのために必要なのは、符号化されたビデオシーケンスの複雑さがビデオ圧縮技術または規格のレベルによって定義される境界内にあることであり得る。場合によっては、レベルは、最大画像サイズ、最大フレームレート、最大再構築サンプルレート(例えば毎秒メガサンプルで測定される)、最大参照画像サイズなどを制限する。レベルによって設定される制限は、場合によっては、符号化されたビデオシーケンスにおいて信号で通知されたHRDバッファ管理のためのメタデータおよび仮想基準復号器(HRD)仕様によってさらに制限され得る。
【0051】
一実施形態では、受信機(531)は、符号化されたビデオを有する追加の(冗長な)データを受信することができる。追加のデータは、符号化されたビデオシーケンスの一部として含まれ得る。データを適切に復号するために、および/または元のビデオデータをより正確に再構築するために、ビデオ復号器(510)によって追加のデータが使用され得る。追加のデータは、例えば、時間、空間、または信号雑音比(SNR)強化層、冗長スライス、冗長画像、前方誤り訂正符号などの形態であり得る。
【0052】
図6は、本開示の一実施形態によるビデオ符号化器(603)のブロック図を示す。ビデオ符号化器(603)は、電子機器(620)に含まれる。電子機器(620)は、送信機(640)(例えば、送信回路)を含む。ビデオ符号化器(603)は、
図4の例のビデオ符号化器(403)の代わりに使用することができる。
【0053】
ビデオ符号化器(603)は、ビデオ符号化器(603)によって符号化されるビデオ画像を取り込むことができるビデオソース(601)(
図6の例では電子機器(620)の一部ではない)からビデオサンプルを受信することができる。別の例では、ビデオソース(601)は電子機器(620)の一部である。
【0054】
ビデオソース(601)は、ビデオ符号化器(603)によって符号化されるソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 Y CrCB、RGB、...)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形態で提供することができる。メディア・サービング・システムにおいて、ビデオソース(601)は、予め用意された映像を記憶する記憶装置であってもよい。ビデオ会議システムでは、ビデオソース(601)は、ビデオシーケンスとしてローカル画像情報を取り込むカメラであってもよい。ビデオデータは、連続して見たときに動きを与える複数の個々の画像として提供されてもよい。画像自体は、画素の空間配列として編成することができ、各画素は、使用中のサンプリング構造、色空間などに応じて1つまたは複数のサンプルを含むことができる。当業者であれば、画素とサンプルとの関係を容易に理解することができる。以下、サンプルに着目して説明する。
【0055】
一実施形態によれば、ビデオ符号化器(603)は、リアルタイムで、またはアプリケーションによって要求される任意の他の時間制約下で、ソースビデオシーケンスの画像を符号化して符号化ビデオシーケンス(643)に圧縮することができる。適切な符号化速度を強制することは、コントローラ(650)の一機能である。いくつかの実施形態では、コントローラ(650)は、以下に説明するように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。カップリングは、明確にするために示されていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(画像スキップ、量子化器、レート歪み最適化技術のラムダ値、...)、画像サイズ、画像群(GOP)レイアウト、最大動きベクトル探索範囲などを含むことができる。コントローラ(650)は、特定のシステム設計に最適化されたビデオ符号化器(603)に関する他の適切な機能を有するように構成することができる。
【0056】
いくつかの実施形態では、ビデオ符号化器(603)は、符号化ループで動作するように構成される。過度に簡略化された説明として、一例では、符号化ループは、ソース符号化器(630)(例えば、符号化される入力画像と、参照画像とに基づいて、シンボルストリームのようなシンボルを生成することを担当する)と、ビデオ符号化器(603)に組み込まれた(ローカル)復号器(633)とを含むことができる。復号器(633)は、(リモート)復号器も作成するのと同様の方法でサンプルデータを作成するためにシンボルを再構築する(開示された主題で考慮されるビデオ圧縮技術では、シンボルと符号化ビデオ・ビット・ストリームとの間の任意の圧縮が可逆的であるため)。再構築されたサンプルストリーム(サンプルデータ)は、参照画像メモリ(634)に入力される。シンボルストリームの復号は、復号器位置(ローカルまたはリモート)とは無関係にビット正確な結果をもたらすので、参照画像メモリ(634)内のコンテンツもローカル符号化器とリモート符号化器との間でビット正確である。言い換えると、符号化器の予測部は、復号中に予測を使用するときに復号器が「見る」のとまったく同じサンプル値を参照画像サンプルとして「見る」。参照画像同期性(例えばチャネル誤差のために同期性を維持することができない場合、結果として生じるドリフト)のこの基本原理は、いくつかの関連技術においても使用される。
【0057】
「ローカル」復号器(633)の動作は、
図5に関連して既に詳細に説明したビデオ復号器(510)などの「リモート」復号器の動作と同じであり得る。しかしながら、
図5も簡単に参照すると、シンボルが利用可能であり、エントロピー符号化器(645)および解析器(520)による符号化されたビデオシーケンスへのシンボルの符号化/復号は可逆であり得るため、バッファメモリ(515)を含むビデオ復号器(510)のエントロピー復号器、および解析器(520)は、ローカル復号器(633)に完全に実装されない場合がある。
【0058】
この時点でなされ得る観測は、復号器内に存在する構文解析/エントロピー復号を除く任意の復号器技術もまた、対応する符号化器内に実質的に同一の機能形態で存在する必要があるということである。このため、開示された主題は復号器動作に焦点を合わせている。符号化器技術の説明は、それらが包括的に説明された復号器技術の逆であるので省略することができる。特定の領域においてのみ、より詳細な説明が必要とされ、以下に提供される。
【0059】
動作中、いくつかの例では、ソース符号化器(630)は、「参照画像」として指定されたビデオシーケンスからの1つまたは複数の以前に符号化された画像を参照して入力画像を予測的に符号化する動作補償予測符号化を実行することができる。このようにして、符号化エンジン(632)は、入力画像の画素ブロックと、入力画像に対する予測参照として選択され得る参照画像の画素ブロックとの間の差分を符号化する。
【0060】
ローカルビデオ復号器(633)は、ソース符号化器(630)によって生成されたシンボルに基づいて、参照画像として指定され得る画像の符号化ビデオデータを復号し得る。符号化エンジン(632)の動作は、有利には非可逆処理であり得る。符号化ビデオデータがビデオ復号器(
図6には示されていない)で復号され得るとき、再構築されたビデオシーケンスは、通常、いくつかのエラーを有するソースビデオシーケンスのレプリカであり得る。ローカルビデオ復号器(633)は、ビデオ復号器によって参照画像に対して実行され得る復号処理を複製し、再構築された参照画像を参照画像キャッシュ(634)に格納させ得る。このようにして、ビデオ符号化器(603)は、遠端ビデオ復号器によって取得されることになる再構築された参照画像として共通のコンテンツを有する再構築された参照画像のコピーをローカルに格納することができる(伝送エラーなし)。
【0061】
予測器(635)は、符号化エンジン(632)の予測検索を実行することができる。すなわち、符号化されるべき新しい画像について、予測器(635)は、(候補参照画素ブロックとしての)サンプルデータ、または、新しい画像の適切な予測参照として機能し得る参照画像の動きベクトル、ブロック形状などの特定のメタデータを求めて参照画像メモリ(634)を探索することができる。予測器(635)は、適切な予測参照を見つけるために、サンプルブロックごとに動作することができる。場合によっては、予測器(635)によって取得された検索結果によって判定されるように、入力画像は、参照画像メモリ(634)に格納された複数の参照画像から描画された予測参照を有することができる。
【0062】
コントローラ(650)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ソース符号化器(630)の符号化動作を管理することができる。
【0063】
前述のすべての機能ユニットの出力は、エントロピー符号化器(645)においてエントロピー符号化を受けることができる。エントロピー符号化器(645)は、ハフマン符号化、可変長符号化、算術符号化などの技術に従ってシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルを符号化されたビデオシーケンスに変換する。
【0064】
送信機(640)は、エントロピー符号化器(645)によって生成された符号化されたビデオシーケンスをバッファリングして、符号化ビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであり得る通信チャネル(660)を介した送信の準備をすることができる。送信機(640)は、ビデオ符号化器(603)からの符号化ビデオデータを、送信される他のデータ、例えば、符号化されたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージすることができる。
【0065】
コントローラ(650)は、ビデオ符号化器(603)の動作を管理することができる。符号化中、コントローラ(650)は、各符号化された画像に特定の符号化された画像形式を割り当てることができ、これは、それぞれの画像に適用され得る符号化技術に影響を及ぼし得る。例えば、画像は、以下の画像形式のうちの1つとして割り当てられることが多い。
【0066】
なお、イントラ画像(I画像)は、シーケンス内の他の画像を予測元とせずに符号化・復号可能なものであってもよい。いくつかのビデオ符号化は、例えば、独立復号器リフレッシュ(「IDR」)画像を含む異なる形式のイントラ画像を可能にする。当業者は、I画像のこれらの変形ならびにそれらのそれぞれの用途および特徴を認識している。
【0067】
予測画像(P画像)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得る画像であり得る。
【0068】
双方向予測画像(B画像)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るものであり得る。同様に、複数予測画像は、単一のブロックの再構築のために3つ以上の参照画像および関連するメタデータを使用することができる。
【0069】
ソース画像は、一般に、複数のサンプルブロック(例えば、各々、4×4、8×8、4×8、または16×16のサンプルのブロック)に空間的に細分化され、ブロックごとに符号化され得る。ブロックは、ブロックのそれぞれの画像に適用される符号化割当によって判定されるように、他の(既に符号化された)ブロックを参照して予測的に符号化され得る。例えば、I個の画像のブロックは、非予測的に符号化されてもよいし、同じ画像の既に符号化されたブロックを参照して予測的に符号化されてもよい(空間予測またはイントラ予測)。P個の画像の画素ブロックは、以前に符号化された1つの参照画像を参照して、空間予測を介して、または時間予測を介して予測的に符号化され得る。B画像のブロックは、1つまたは2つの以前に符号化された参照画像を参照して、空間予測を介して、または時間予測を介して予測的に符号化され得る。
【0070】
ビデオ符号化器(603)は、例えばITU-T Rec.H.265のような所定のビデオ符号化技術または規格にしたがって符号化動作を実行し得る。その動作において、ビデオ符号化器(603)は、入力ビデオシーケンス内の時間的および空間的冗長性を利用する予測符号化動作を含む、様々な圧縮動作を実行することができる。したがって、符号化ビデオデータは、使用されているビデオ符号化技術または規格によって指定された構文に準拠することができる。
【0071】
一実施形態では、送信機(640)は、符号化されたビデオとともに追加のデータを送信することができる。ソース符号化器(630)は、符号化されたビデオシーケンスの一部としてそのようなデータを含むことができる。追加のデータは、時間/空間/SNR強化層、冗長画像およびスライスなどの他の形態の冗長データ、SEIメッセージ、VUIパラメータセット断片などを含むことができる。
【0072】
映像は、複数のソース画像(ビデオ画像)として時系列に撮像されてもよい。画像内予測(しばしばイントラ予測と略される)は、所与の画像における空間相関を利用し、画像間予測は、画像間の(時間的または他の)相関を利用する。一例では、現在の画像と呼ばれる、符号化/復号中の特定の画像がブロックに分割される。現在の画像内のブロックがビデオ内の以前に符号化されてまだバッファされている参照画像内の参照ブロックに類似しているとき、現在の画像内のブロックは、動きベクトルと呼ばれるベクトルによって符号化することができる。動きベクトルは、参照画像内の参照ブロックを指し、複数の参照画像が使用されている場合、参照画像を識別する第3の次元を有することができる。
【0073】
いくつかの実施形態では、画像間予測に双予測技術を使用することができる。双予測技術によれば、第1の参照画像および第2の参照画像などの2つの参照画像が使用され、これらは両方ともビデオ内の現在の画像の復号順より前にある(しかし、表示順序はそれぞれ過去および未来のものであってもよい)。現在の画像内のブロックは、第1の参照画像内の第1の参照ブロックを指す第1の動きベクトル、および第2の参照画像内の第2の参照ブロックを指す第2の動きベクトルによって符号化することができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測することができる。
【0074】
さらに、符号化効率を改善するために、画像間予測にマージモード技術を使用することができる。
【0075】
本開示のいくつかの実施形態によれば、画像間予測および画像内予測などの予測は、ブロック単位で実行される。例えば、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画素などの画素の値の行列(例えば、輝度値)を含む。
【0076】
図7は、本開示の別の実施形態によるビデオ符号化器(703)の図を示す。ビデオ符号化器(703)は、ビデオ画像のシーケンス内の現在のビデオ画像内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを、符号化ビデオシーケンスの一部である符号化画像に符号化するように構成されている。一例では、ビデオ符号化器(703)は、
図4の例のビデオ符号化器(403)の代わりに使用される。
【0077】
HEVCの例では、ビデオ符号化器(703)は、例えば8×8サンプルの予測ブロックのような処理ブロックのためのサンプル値の行列を受信する。ビデオ符号化器(703)は、処理ブロックが、例えばレート歪み最適化を使用して、イントラモード、インターモード、または双予測モードを使用して最良に符号化されるかどうかを判定する。処理ブロックがイントラモードで符号化される場合、ビデオ符号化器(703)は、処理ブロックを符号化された画像へ符号化するために、イントラ予測技術を使用し得る。処理ブロックがインターモードまたは双予測モードで符号化されるべきであるとき、ビデオ符号化器(703)は、処理ブロックを符号化画像に符号化するために、それぞれインター予測技術または双予測技術を使用することができる。特定のビデオ符号化技術では、マージモードは、予測子の外側の符号化された動きベクトル成分の恩恵を受けずに動きベクトルが1つまたは複数の動きベクトル予測子から導出されるインター画像予測サブモードであり得る。特定の他のビデオ符号化技術では、対象ブロックに適用可能な動きベクトル成分が存在し得る。一例では、ビデオ符号化器(703)は、処理ブロックのモードを判定するためのモード判定モジュール(図示せず)などの他の構成要素を含む。
【0078】
図7の例では、ビデオ符号化器(703)は、
図7に示すように互いに結合されたインター符号化器(730)、イントラ符号化器(722)、残差算出部(723)、スイッチ(726)、残差符号化器(724)、汎用コントローラ(721)、およびエントロピー符号化器(725)を含む。
【0079】
インター符号化器(730)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、そのブロックを参照画像(例えば、前の画像および後の画像内のブロック)内の1つまたは複数の参照ブロックと比較し、インター予測情報(例えば、インター符号化技術、動きベクトル、マージモード情報による冗長情報の記述)を生成し、任意の適切な技術を使用してインター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。いくつかの例では、参照画像は、符号化されたビデオ情報に基づいて復号される復号参照画像である。
【0080】
イントラ符号化器(722)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、ブロックを同じ画像内で既に符号化されているブロックと比較し、変換後に量子化係数を生成し、場合によってはイントラ予測情報(例えば、1つまたは複数のイントラ符号化技術によるイントラ予測方向情報)も生成するように構成される。一例では、イントラ符号化器(722)はまた、イントラ予測情報と、同一画像内の参照ブロックとに基づいて、イントラ予測結果(例えば、予測ブロック)を算出する。
【0081】
汎用コントローラ(721)は、汎用制御データを判定し、汎用制御データに基づいてビデオ符号化器(703)の他の構成要素を制御するように構成されている。一例では、汎用コントローラ(721)は、ブロックのモードを判定し、モードに基づいてスイッチ(726)に制御信号を提供する。例えば、汎用コントローラ(721)は、モードがイントラモードである場合、残差算出部(723)が用いるイントラモード結果を選択するようにスイッチ(726)を制御し、イントラ予測情報を選択してビットストリームに含めるようにエントロピー符号化器(725)を制御する。汎用コントローラ(721)は、モードがインターモードである場合、残差算出部(723)で用いるインター予測結果を選択するようにスイッチ(726)を制御するとともに、インター予測情報を選択してビットストリームに含めるようにエントロピー符号化器(725)を制御する。
【0082】
残差算出部(723)は、受信されたブロックと、イントラ符号化器(722)またはインター符号化器(730)から選択された予測結果との差分(残差データ)を算出する。残差符号化器(724)は、変換係数を生成するために残差データを符号化するために残差データに基づいて動作するように構成される。一例では、残差符号化器(724)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成される。変換係数はその後、量子化された変換係数を得るために量子化処理を受ける。様々な実施形態において、ビデオ符号化器(703)はまた、残差復号器(728)を含む。残差復号器(728)は、逆変換を実行し、復号された残差データを生成するように構成される。復号された残差データは、イントラ符号化器(722)およびインター符号化器(730)において好適に用いることができる。例えば、インター符号化器(730)は、復号残差データとインター予測情報とに基づいて復号ブロックを生成し、イントラ符号化器(722)は、復号残差データとイントラ予測情報とに基づいて復号ブロックを生成することができる。いくつかの例では、復号されたブロックは、復号された画像を生成するために適切に処理され、復号された画像は、メモリ回路(図示せず)にバッファされ、参照画像として使用され得る。
【0083】
エントロピー符号化器(725)は、符号化ブロックを含むようにビットストリームをフォーマットするように構成される。エントロピー符号化器(725)は、HEVC規格などの適切な規格に従って様々な情報を含むように構成される。一例では、エントロピー符号化器(725)は、一般制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、および他の適切な情報をビットストリームに含めるように構成される。開示された主題によれば、インターモードまたは双予測モードのいずれかのマージサブモードでブロックを符号化するとき、残差情報は存在しないことに留意されたい。
【0084】
図8は、本開示の別の実施形態によるビデオ復号器(810)の図を示す。ビデオ復号器(810)は、符号化されたビデオシーケンスの一部である符号化された画像を受信し、符号化された画像を復号して再構築された画像を生成するように構成される。一例では、ビデオ復号器(810)は、
図4の例のビデオ復号器(410)の代わりに使用される。
【0085】
図8の例では、ビデオ復号器(810)は、
図8に示すように互いに結合されたエントロピー復号器(871)、インター復号器(880)、残差復号器(873)、再構築モジュール(874)、およびイントラ復号器(872)を含む。
【0086】
エントロピー復号器(871)は、符号化された画像から、符号化された画像が構成されるシンタックス要素を表す特定のシンボルを再構築するように構成され得る。そのようなシンボルは、例えば、ブロックが符号化されるモード(例えば、イントラモード、インターモード、双予測モード、後者の2つはマージサブモードまたは別のサブモードである)、イントラ復号器(872)またはインター復号器(880)によってそれぞれ予測に使用される特定のサンプルまたはメタデータを識別することができる予測情報(例えば、イントラ予測情報やインター予測情報等)、例えば量子化変換係数の形態の残差情報などを含むことができる。一例では、予測モードがインター予測モードまたは双予測モードである場合、インター予測情報はインター復号器(880)に提供される。予測形式がイントラ予測形式である場合、イントラ予測情報がイントラ復号器(872)に提供される。残差情報は逆量子化を受けることができ、残差復号器(873)に提供される。
【0087】
インター復号器(880)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0088】
イントラ復号器(872)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0089】
残差復号器(873)は、逆量子化を実行して逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して残差を周波数領域から空間領域に変換するように構成される。残差復号器(873)はまた、(量子化器パラメータ(QP)を含むために)特定の制御情報を必要とする場合があり、その情報はエントロピー復号器(871)によって提供される場合がある(これとして示されていないデータ経路は、低ボリューム制御情報のみであり得る)。
【0090】
再構築モジュール(874)は、空間領域において、残差復号器(873)による出力としての残差と(場合によってはインターまたはイントラ予測モジュールによる出力としての)予測結果とを組み合わせて、再構築画像の一部であり得る再構築ブロックを形成するように構成され、再構築ブロックは再構築ビデオの一部であり得る。視覚的品質を改善するために、デブロッキング操作などの他の適切な操作を実行することができることに留意されたい。
【0091】
ビデオ符号化器(403)、(603)、および(703)、ならびにビデオ復号器(410)、(510)、および(810)は、任意の適切な技術を使用して実装することができることに留意されたい。一実施形態では、ビデオ符号化器(403)、(603)、および(703)、ならびにビデオ復号器(410)、(510)、および(810)は、1つまたは複数の集積回路を使用して実装することができる。別の実施形態では、ビデオ符号化器(403)、(603)、および(603)、ならびにビデオ復号器(410)、(510)、および(810)は、ソフトウェア命令を実行する1つまたは複数のプロセッサを使用して実装することができる。
【0092】
アーチファクトを低減するために、ブロックベースのフィルタ適応を有する適応ループフィルタ(ALF)を符号化器/復号器によって適用することができる。輝度成分の場合、例えば、局所的な勾配の方向および活動に基づいて、4×4の輝度ブロックに対して複数のフィルタ(例えば、25個のフィルタ)のうちの1つを選択することができる。
【0093】
ALFは、任意の適切な形状およびサイズを有することができる。
図9を参照すると、ALF(910)~(911)は、ALF(910)の5×5の菱形形状およびALF(911)の7×7の菱形形状などの菱形形状を有する。ALF(910)では、要素(920)~(932)をフィルタ処理で使用し、菱形形状を形成することができる。要素(920)~(932)には、7つの値(例えば、C0~C6)を使用することができる。ALF(911)では、要素(940)~(964)をフィルタ処理で使用し、菱形形状を形成することができる。要素(940)~(964)には、13個の値(例えば、C0~C12)を使用することができる。
【0094】
図9を参照すると、いくつかの例では、菱形フィルタ形状を有する2つのALF(910)~(911)が使用される。5×5の菱形形状のフィルタ(910)は、彩度成分(例えば、彩度ブロック、彩度CB)に適用することができ、7×7の菱形形状のフィルタ(911)は、輝度成分(例えば、輝度ブロック、輝度CB)に適用することができる。他の適切な形状およびサイズをALFに使用することができる。例えば、9×9の菱形形状のフィルタを使用することができる。
【0095】
値(例えば、(910)のC0~C6または(920)のC0~C12)によって示される位置におけるフィルタ係数は、非ゼロであり得る。さらに、ALFがクリッピング関数を含む場合、それらの位置におけるクリッピング値は非ゼロであり得る。
【0096】
輝度成分のブロック分類について、4×4ブロック(または輝度ブロック、輝度CB)は、複数の(例えば、25)クラスの1つとして分類またはクラス分けすることができる。分類指標Cは、式(1)を用いて、方向性パラメータDと活性値Aの量子化値
【数1】
とに基づいて導出することができる。
【数2】
方向性パラメータDおよび量子化値
【数3】
を計算するために、垂直方向、水平方向、および2つの対角方向(例えば、d1およびd2)の勾配g
v、g
h、g
d1、およびg
d2は、それぞれ、以下のように1-Dラプラシアンを使用して計算することができる。
【数4】
ここで、添え字iおよびjは、4×4ブロック内の左上サンプルの座標を指し、R(k,l)は、座標(k,l)における再構築サンプルを示す。方向(例えば、d1およびd2)は、2つの対角方向を指すことができる。
【0097】
上述したブロック分類の複雑さを低減するために、サブサンプルされた1-Dラプラシアン計算を適用することができる。
図10A~
図10Dは、垂直方向(
図10A)、水平方向(
図10B)、ならびに2つの対角方向d1(
図10C)およびd2(
図10D)の勾配g
v、g
h、g
d1、およびg
d2をそれぞれ計算するために使用されるサブサンプリング位置の例を示す。同じサブサンプルされた位置は、異なる方向の勾配計算に使用することができる。
図10Aでは、ラベル「V」は、垂直勾配g
vを計算するためのサブサンプリングされた位置を示す。
図10Bでは、ラベル「H」は、水平勾配g
hを計算するためのサブサンプリングされた位置を示す。
図10Cでは、ラベル「D1」は、d1対角勾配g
d1を計算するためのサブサンプルされた位置を示す。
図10Dでは、ラベル「D2」は、d2対角勾配g
d2を計算するためのサブサンプリングされた位置を示す。
【0098】
水平方向g
vおよび垂直方向g
hの勾配の最大値
【数5】
および最小値
【数6】
は、以下のように設定することができる。
【数7】
【0099】
2つの対角方向g
d1およびg
d2の勾配の最大値
【数8】
および最小値
【数9】
は、以下のように設定することができる。
【数10】
【0100】
方向性パラメータDは、上記の値と、以下のような2つの閾値t
1,t
2とに基づいて導出することができる。
ステップ1.(1)
【数11】
および(2)
【数12】
が真である場合、Dは0に設定される。
ステップ2.
【数13】
の場合、ステップ3に進む。そうでなければステップ4に進む。
ステップ3.
【数14】
の場合、Dは2に設定される。そうでない場合、Dは1に設定される。
ステップ4.
【数15】
の場合、Dは4に設定される。そうでない場合、Dは3に設定される。
【0101】
活性値Aは、以下のように計算することができる。
【数16】
Aは、包括的に0~4の範囲にさらに量子化することができ、量子化値は
【数17】
として表される。
【0102】
画像内の彩度成分の場合、ブロック分類は適用されず、したがって、各彩度成分に対して単一のセットのALF係数を適用することができる。
【0103】
幾何学的変換は、フィルタ係数および対応するフィルタクリップ値(クリップ値とも呼ばれる)に適用することができる。ブロック(例えば、4×4の輝度ブロック)をフィルタリングする前に、例えば、ブロックに対して計算された勾配値(例えば、gv、gh、gd1および/またはgd2)に応じて、回転または対角および垂直反転などの幾何学的変換をフィルタ係数f(k,l)および対応するフィルタクリッピング値c(k,l)に適用することができる。フィルタ係数f(k,l)および対応するフィルタクリッピング値c(k,l)に適用される幾何学的変換は、フィルタによってサポートされる領域内のサンプルに幾何学的変換を適用することと等価であり得る。幾何学的変換は、それぞれの方向性を整列させることによって、ALFが適用される異なるブロックをより類似させることができる。
【0104】
式(9)~(11)によって説明されるように、対角フリップ、垂直フリップ、および回転を含む3つの幾何学的変換を実行することができる。
fD(k,l)=f(l.k)、cD(k,l)=c(l,k)式(9)
fV(k,l)=f(k,K-l-1)、cV(k,l)=c(k,K-l-1)式(10)
fR(k,l)=f(K-l-1,k)、cR(k,l)=c(K-l-1,k)式(11)
ここで、KはALFまたはフィルタのサイズであり、0≦k、1≦K-1は係数の座標である。例えば、フィルタfまたはクリップ値行列(またはクリップ行列)cの左上隅に位置(0,0)があり、右下隅に位置(K-1、K-1)がある。変換は、ブロックに対して計算された勾配値に応じて、フィルタ係数f(k,l)およびクリップ値c(k,l)に適用することができる。変換と4つの勾配との関係の一例を表1に要約する。
【0105】
【0106】
いくつかの実施形態では、ALFフィルタパラメータは、画像の適応パラメータセット(APS)で信号で通知される。APSでは、輝度フィルタ係数およびクリップ値インデックスの1つまたは複数のセット(例えば、最大25セット)を信号で通知することができる。一例では、1つまたは複数のセットのセットは、輝度フィルタ係数および1つまたは複数のクリップ値インデックスを含むことができる。彩度フィルタ係数およびクリップ値インデックスの1つまたは複数のセット(例えば、最大8セット)を信号で通知することができる。信号で通知オーバーヘッドを低減するために、輝度成分の異なる分類(例えば、異なる分類指数を有する)のフィルタ係数をマージすることができる。スライスヘッダでは、現在のスライスに使用されるAPSのインデックスを信号で通知することができる。
【0107】
一実施形態では、クリッピング値インデックス(クリッピングインデックスとも呼ばれる)をAPSから復号することができる。クリッピング値インデックスは、例えば、クリッピング値インデックスと対応するクリッピング値との間の関係に基づいて、対応するクリッピング値を判定するために使用することができる。関係は、予め定義され、復号器に格納することができる。一例では、関係は、クリップ値インデックスおよび対応するクリップ値の輝度テーブル(例えば、輝度CBに使用される)、クリップ値インデックスおよび対応するクリップ値の彩度テーブル(例えば、彩度CBに使用される)などのテーブルによって記述される。クリップ値はビット深度Bに依存し得る。ビット深度Bは、内部ビット深度、フィルタリングされるCB内の再構築サンプルのビット深度などを指すことができる。いくつかの例では、表(例えば、輝度テーブル、彩度テーブル)は、式(12)を用いて得られる。
【数18】
ここで、AlfClipはクリップ値であり、Bはビット深度(例えば、ビット深度)であり、N(例えば、N=4)は許容されるクリップ値の数であり、(n-1)はクリップ値インデックス(クリッピングインデックスまたはclipIdxとも呼ばれる)である。N=4として式(12)を用いて得られたテーブルの一例を表2に示す。クリッピングインデックス(n-1)は、表2の0、1、2、および3とすることができ、nは、それぞれ1、2、3、および4とすることができる。表2は、輝度ブロックまたは彩度ブロックに使用することができる。
【0108】
【0109】
現在のスライスのスライスヘッダでは、1つまたは複数のAPSインデックス(例えば、最大7個のAPSインデックス)を信号で通知して、現在のスライスに使用できる輝度フィルタセットを指定することができる。フィルタ処理は、画像レベル、スライスレベル、CTBレベルなどの1つまたは複数の適切なレベルで制御することができる。一実施形態では、フィルタ処理は、CTBレベルでさらに制御することができる。ALFが輝度CTBに適用されるかどうかを示すためにフラグを信号で通知することができる。輝度CTBは、APSで信号で通知される複数の固定フィルタセット(例えば、16個の固定フィルタセット)およびフィルタセット(信号で通知されたフィルタセットとも呼ばれる)の中からフィルタセットを選択することができる。適用されるフィルタセット(例えば、複数の固定フィルタセットの間のフィルタセットおよび信号で通知されたフィルタセット)を示すために、輝度CTBに対してフィルタセットインデックスを信号で通知することができる。複数の固定フィルタセットは、符号化器および復号器において事前定義およびハード符号化することができ、事前定義フィルタセットと呼ぶことができる。
【0110】
彩度成分の場合、APSインデックスをスライスヘッダで信号で通知して、現在のスライスに使用される彩度フィルタセットを示すことができる。CTBレベルでは、APSに2つ以上の彩度フィルタセットがある場合、各彩度CTBに対してフィルタセットインデックスを信号で通知することができる。
【0111】
フィルタ係数は、128に等しいノルムで量子化することができる。乗算の複雑さを低減するために、非中心位置の係数値が-27から27-1までの範囲内になるように、ビットストリーム適合性を適用することができる。一例では、中心位置係数はビットストリームで信号で通知されず、128に等しいと考えることができる。
【0112】
いくつかの実施形態では、クリッピングインデックスおよびクリップ値のシンタックスおよびセマンティクスは以下のように定義される。
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までの範囲内にあることを含むことができる。
要素AlfClipL[adaptation_parameter_set_id][filtIdx][j]を有する輝度フィルタクリップ値AlfClipL[adaptation_parameter_set_id]は、filtIdx=0~NumAlfFilters-1およびj=0~11であり、BitDepthYに等しいbitDepthセットおよびalf_luma_clip_idx[alf_luma_coeff_delta_idx[filtIdx]][j]に等しいclipIdxセットに応じて、表2に指定されるように導出することができる。
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の範囲にあることを含むことができる。
alfClipC[adaptation_parameter_set_id][altIdx][j]の要素を有する彩度フィルタクリップ値AlfClipC[adaptation_parameter_set_id][altIdx][j]、altIdx=0~alf_chroma_num_alt_filters_minus1、j=0~5は、BitDepthCに等しいbitDepthセットおよびalf_chroma_clip_idx[altIdx][j]に等しいclipIdxセットに応じて表2に指定されるように導出することができる。
【0113】
一実施形態では、フィルタ処理は以下のように説明することができる。復号器側では、ALFがCTBに対して有効にされると、CU(またはCB)内のサンプルR(i,j)をフィルタリングすることができ、以下に式を使用して示すようにフィルタリングされたサンプル値R’(i,j)が得られる。(13)。一例では、CU内の各サンプルがフィルタリングされる。
【数19】
ここで、f(k,l)は復号されたフィルタ係数を表し、K(x、y)はクリップ関数であり、c(k,l)は復号されたクリッピングパラメータ(またはクリップ値)を表す。変数kおよびlは、-L/2とL/2との間で変化することができ、Lはフィルタ長を表す。クリップ関数K(x、y)=min(y,max(-y、x))は、クリップ関数Clip 3(-y,y,x)に対応する。クリップ関数K(x、y)を組み込むことにより、ループフィルタリング法(例えば、ALF)は非線形処理となり、非線形ALFと呼ぶことができる。
【0114】
非線形ALFでは、クリップ値の複数のセットを表3に提供することができる。一例では、輝度セットは4つのクリップ値{1024、181、32、6}を含み、彩度セットは4つのクリップ値{1024,161,25,4}を含む。輝度セット内の4つのクリップ値は、輝度ブロックのサンプル値(10ビットで符号化)の全範囲(例えば、1024)を対数領域でほぼ等しく分割することによって選択することができる。この範囲は、彩度セットに対して4から1024とすることができる。
【0115】
【0116】
選択されたクリップ値は、以下のように「alf_data」シンタックス要素で符号化することができる。すなわち、適切な符号化方式(例えば、ゴロム符号化方式)を使用して、表3に示すような選択されたクリップ値に対応するクリッピングインデックスを符号化することができる。符号化方式は、フィルタセットインデックスを符号化するために使用されるのと同じ符号化方式とすることができる。
【0117】
一実施形態では、仮想境界フィルタ処理を使用して、ALFのラインバッファ要件を低減することができる。したがって、CTU境界(例えば、水平CTU境界)の近くのサンプルに修正されたブロック分類およびフィルタリングを使用することができる。仮想境界(1130)は、
図11Aに示すように、水平CTU境界(1120)を「N
samples」サンプルだけシフトすることによって線として定義することができ、N
samplesは正の整数とすることができる。一例では、N
samplesは、輝度成分については4に等しく、N
samplesは、彩度成分については2に等しい。
【0118】
図11Aを参照すると、変更されたブロック分類を輝度成分に適用することができる。一例では、仮想境界(1130)の上方の4×4ブロック(1110)の1Dラプラシアン勾配計算には、仮想境界(1130)の上方のサンプルのみが使用される。同様に、
図11Bを参照すると、CTU境界(1121)からシフトした仮想境界(1131)の下の4×4ブロック(1111)の1Dラプラシアン勾配計算では、仮想境界(1131)の下のサンプルのみが使用される。したがって、活性値Aの量子化は、1Dラプラシアン勾配計算で使用されるサンプル数の減少を考慮することによってスケーリングすることができる。
【0119】
フィルタ処理のために、仮想境界における対称パディング演算は、輝度成分および彩度成分の両方に使用することができる。
図12A~
図12Fは、仮想境界における輝度成分のためのそのような修正されたALFフィルタリングの例を示す。フィルタリングされているサンプルが仮想境界の下に位置する場合、仮想境界の上に位置する隣接するサンプルをパディングすることができる。フィルタリングされているサンプルが仮想境界の上方に位置する場合、仮想境界の下方に位置する隣接サンプルをパディングすることができる。
図12Aを参照すると、隣接するサンプルC0は、仮想境界(1210)の下に位置するサンプルC2でパディングすることができる。
図12Bを参照すると、隣接するサンプルC0は、仮想境界(1220)の上方に位置するサンプルC2でパディングすることができる。
図12Cを参照すると、隣接するサンプルC1~C3は、仮想境界(1230)の下に位置するサンプルC5~C7でそれぞれパディングすることができる。
図12Dを参照すると、隣接するサンプルC1~C3は、仮想境界(1240)の上方に位置するサンプルC5~C7でそれぞれパディングすることができる。
図12Eを参照すると、隣接するサンプルC4~C8は、仮想境界(1250)の下に位置するサンプルC10、C11、C12、C11、およびC10でそれぞれパディングすることができる。
図12Fを参照すると、隣接するサンプルC4~C8は、仮想境界(1260)の上方に位置するサンプルC10、C11、C12、C11、およびC10でそれぞれパディングすることができる。
【0120】
いくつかの例では、サンプルおよび隣接するサンプルが仮想境界の左(または右)および右(または左)に位置する場合、上記の説明を適切に適合させることができる。
【0121】
交差成分フィルタ処理は、交差成分適応ループフィルタ(CC-ALF)などの交差成分フィルタを適用することができる。交差成分フィルタは、輝度成分(例えば、輝度CB)の輝度サンプル値を使用して、彩度成分(例えば、輝度CBに対応する彩度CB)を精緻化することができる。一例では、輝度CBおよび彩度CBはCUに含まれる。
【0122】
図13は、本開示の一実施形態による、彩度成分を生成するために使用される交差成分フィルタ(例えば、CC-ALF)を示す。いくつかの例では、
図13は、第1の彩度成分(例えば、第1の彩度CB)、第2の彩度成分(例えば、第2の彩度CB)、および輝度成分(例えば、輝度CB)のフィルタ処理を示す。輝度成分は、サンプル適応オフセット(SAO)フィルタ(1310)によってフィルタリングされて、SAOフィルタリングされた輝度成分(1341)を生成することができる。SAOフィルタリングされた輝度成分(1341)は、ALF輝度フィルタ(1316)によってさらにフィルタリングされて、フィルタリングされた輝度CB(1361)(例えば、「Y」)になることができる。
【0123】
第1の彩度成分は、SAOフィルタ(1312)およびALF彩度フィルタ(1318)によってフィルタリングされて、第1の中間成分(1352)を生成することができる。さらに、SAOフィルタリングされた輝度成分(1341)は、第1の彩度成分のための交差成分フィルタ(例えば、CC-ALF)(1321)によってフィルタリングされて、第2の中間成分(1342)を生成することができる。続いて、第2の中間成分(1342)および第1の中間成分(1352)のうちの少なくとも一方に基づいて、フィルタリングされた第1の彩度成分(1362)(例えば、「Cb」)を生成することができる。一例では、フィルタリングされた第1の彩度成分(1362)(例えば、「Cb」)は、第2の中間成分(1342)および第1の中間成分(1352)を加算器(1322)と組み合わせることによって生成することができる。第1の彩度成分のための交差成分適応ループフィルタ処理は、CC-ALF(1321)によって実行されるステップと、例えば加算器(1322)によって実行されるステップとを含むことができる。
【0124】
上記の説明は、第2の彩度成分に適合させることができる。第2の彩度成分は、SAOフィルタ(1314)およびALF彩度フィルタ(1318)によってフィルタリングされて、第3の中間成分(1353)を生成することができる。さらに、SAOフィルタリングされた輝度成分(1341)は、第2の彩度成分のための交差成分フィルタ(例えば、CC-ALF)(1331)によってフィルタリングされて、第4の中間成分(1343)を生成することができる。続いて、第4の中間成分(1343)および第3の中間成分(1353)のうちの少なくとも一方に基づいて、フィルタリングされた第2の彩度成分(1363)(例えば、「Cr」)を生成することができる。一例では、フィルタリングされた第2の彩度成分(1363)(例えば、「Cr」)は、第4の中間成分(1343)および第3の中間成分(1353)を加算器(1332)と組み合わせることによって生成することができる。一例では、第2の彩度成分のための交差成分適応ループフィルタ処理は、CC-ALF(1331)によって実行されるステップと、例えば加算器(1332)によって実行されるステップとを含むことができる。
【0125】
交差成分フィルタ(例えば、CC-ALF(1321)、CC-ALF(1331))は、任意の適切なフィルタ形状を有する線形フィルタを輝度成分(または輝度チャネル)に適用して各彩度成分(例えば、第1の彩度成分、第2の彩度成分)をリファインすることによって動作することができる。
【0126】
図14は、本開示の一実施形態によるフィルタ(1400)の一例を示す。フィルタ(1400)は、非ゼロフィルタ係数およびゼロフィルタ係数を含むことができる。フィルタ(1400)は、フィルタ係数(1410)(黒塗りの円で示す)によって形成された菱形形状(1420)を有する。一例では、フィルタ(1400)内の非ゼロフィルタ係数はフィルタ係数(1410)に含まれ、フィルタ係数(1410)に含まれないフィルタ係数はゼロである。したがって、フィルタ(1400)の非ゼロフィルタ係数は、菱形形状(1420)に含まれ、菱形形状(1420)に含まれないフィルタ係数はゼロである。一例では、フィルタ(1400)のフィルタ係数の数は、フィルタ係数の数(1410)に等しく、
図14に示す例では18である。
【0127】
CC-ALFは、任意の適切なフィルタ係数(CC-ALFフィルタ係数とも呼ばれる)を含むことができる。
図13に戻って参照すると、CC-ALF(1321)およびCC-ALF(1331)は、
図14に示す菱形形状(1420)などの同じフィルタ形状、および同じ数のフィルタ係数を有することができる。一例では、CC-ALF(1321)内のフィルタ係数の値は、CC-ALF(1331)内のフィルタ係数の値とは異なる。
【0128】
一般に、CC-ALFのフィルタ係数(例えば、非ゼロフィルタ係数)は、例えばAPSで送信することができる。一例では、フィルタ係数は係数(例えば、210)でスケーリングすることができ、固定点表現のために丸めることができる。CC-ALFの適用は、可変ブロックサイズで制御され、サンプルの各ブロックについて受信されたコンテキスト符号化されたフラグ(例えば、CC-ALF有効化フラグ)によって信号で通知され得る。CC-ALF有効化フラグなどのコンテキスト符号化されたフラグは、ブロックレベルなどの任意の適切なレベルで信号で通知することができる。CC-ALF有効化フラグとともにブロックサイズは、各彩度成分についてスライスレベルで受信することができる。いくつかの例では、ブロックサイズ(彩度サンプル単位)16×16、32×32、および64×64をサポートすることができる。
【0129】
一般に、輝度ブロックは、2つの彩度ブロックなどの彩度ブロックに対応することができる。彩度ブロック(複数可)の各々のサンプル数は、輝度ブロックのサンプル数より少なくすることができる。彩度サブサンプリングフォーマット(彩度サブサンプリングフォーマットとも呼ばれ、例えば、chroma_format_idcによって指定される)は、彩度ブロック(複数可)の各々と対応する輝度ブロックとの間の彩度水平サブサンプリング係数(例えば、SubWidthC)および彩度垂直サブサンプリング係数(例えば、SubHeightC)を示すことができる。一例では、彩度サブサンプリングフォーマットは4:2:0であり、したがって、
図15A~
図15Bに示されるように、彩度水平サブサンプリング係数(例えば、SubWidthC)および彩度垂直サブサンプリング係数(例えば、SubHeightC)は2である。一例では、彩度サブサンプリングフォーマットは4:2:2であり、したがって、彩度水平サブサンプリング係数(例えば、SubWidthC)は2であり、彩度垂直サブサンプリング係数(例えば、SubHeightC)は1である。一例では、彩度サブサンプリングフォーマットは4:4:4であり、したがって、彩度水平サブサンプリング係数(例えば、SubWidthC)および彩度垂直サブサンプリング係数(例えば、SubHeightC)は1である。彩度サンプル形式(彩度サンプルポジションとも呼ばれる)は、輝度ブロック内の少なくとも1つの対応する輝度サンプルに対する彩度ブロック内の彩度サンプルの相対位置を示すことができる。
【0130】
図15A~
図15Bは、本開示の実施形態による、輝度サンプルに対する彩度サンプルの例示的な位置を示す。
図15Aを参照すると、輝度サンプル(1501)は、行(1511)~(1518)に配置されている。
図15Aに示す輝度サンプル(1501)は、画像の一部を表すことができる。一例では、輝度ブロック(例えば、輝度CB)は輝度サンプル(1501)を含む。輝度ブロックは、4:2:0の彩度サブサンプリングフォーマットを有する2つの彩度ブロックに対応することができる。一例では、各彩度ブロックは、彩度サンプル(1503)を含む。各彩度サンプル(例えば、彩度サンプル(1503(1))は、4つの輝度サンプル(例えば、輝度サンプル(1501(1))~(1501(4)))に対応する。一例では、4つの輝度サンプルは、左上サンプル(1501(1))、右上サンプル(1501(2))、左下サンプル(1501(3))、および右下サンプル(1501(4))である。彩度サンプル(例えば、(1503(1)))は、左上サンプル(1501(1))と左下サンプル(1501(3))との間の左中央位置に位置し、彩度サンプル(1503)を有する彩度ブロックの彩度サンプル形式は、彩度サンプル形式0と呼ぶことができる。彩度サンプル形式0は、左上サンプル(1501(1))と左下サンプル(1501(3))の中間の左中央位置に対応する相対位置0を示す。4つの輝度サンプル(例えば、(1501(1))~(1501(4)))は、彩度サンプル(1503)(1)の隣接輝度サンプルと呼ぶことができる。
【0131】
一例では、各彩度ブロックは、彩度サンプル(1504)を含む。彩度サンプル(1503)に関する上記の説明は、彩度サンプル(1504)に適合させることができ、したがって、簡潔にするために詳細な説明を省略することができる。彩度サンプル(1504)の各々は、4つの対応する輝度サンプルの中心位置に位置することができ、彩度サンプル(1504)を有する彩度ブロックの彩度サンプル形式は、彩度サンプル形式1と呼ぶことができる。彩度サンプル形式1は、4つの輝度サンプル(例えば、(1501(1))~(1501(4)))の中心位置に対応する相対位置1を示す。例えば、彩度サンプル(1504)のうちの1つは、輝度サンプル(1501(1))~(1501(4))の中央部分に位置することができる。
【0132】
一例では、各彩度ブロックは、彩度サンプル(1505)を含む。彩度サンプル(1505)の各々は、4つの対応する輝度サンプル(1501)の左上サンプルと同じ位置にある左上位置に位置することができ、彩度サンプル(1505)を有する彩度ブロックの彩度サンプル形式は、彩度サンプル形式2と呼ばれることができる。したがって、彩度サンプル(1505)の各々は、それぞれの彩度サンプルに対応する4つの輝度サンプル(1501)の左上サンプルと同じ位置にある。彩度サンプル形式2は、4つの輝度サンプル(1501)の左上位置に対応する相対位置2を示す。例えば、彩度サンプル(1505)のうちの1つは、輝度サンプル(1501(1))~(1501(4))の左上位置に位置することができる。
【0133】
一例では、各彩度ブロックは、彩度サンプル(1506)を含む。彩度サンプル(1506)の各々は、対応する左上サンプルと対応する右上サンプルとの間の上部中央位置に位置することができ、彩度サンプル(1506)を有する彩度ブロックの彩度サンプル形式は、彩度サンプル形式3と呼ばれることができる。彩度サンプル形式3は、左上サンプル(および右上サンプルの間の上部中央位置に対応する相対位置3を示す。例えば、彩度サンプル(1506)のうちの1つは、輝度サンプル(1501(1))~(1501(4))の上部中央位置に位置することができる。
【0134】
一例では、各彩度ブロックは、彩度サンプル(1507)を含む。彩度サンプル(1507)の各々は、4つの対応する輝度サンプル(1501)の左下サンプルと同じ位置にある左下位置に配置することができ、彩度サンプル(1507)を有する彩度ブロックの彩度サンプル形式は、彩度サンプル形式4と呼ぶことができる。したがって、彩度サンプル(1507)の各々は、それぞれの彩度サンプルに対応する4つの輝度サンプル(1501)の左下サンプルと同じ場所に配置される。彩度サンプル形式4は、4つの輝度サンプル(1501)の左下位置に対応する相対位置4を示す。例えば、彩度サンプル(1507)のうちの1つは、輝度サンプル(1501(1))~(1501(4))の左下位置に位置することができる。
【0135】
一例では、各彩度ブロックは、彩度サンプル(1508)を含む。各彩度サンプル(1508)は、左下サンプルと右下サンプルとの間の下中央位置に配置され、彩度サンプル(1508)を有する彩度ブロックの彩度サンプル形式は、彩度サンプル形式5と呼ぶことができる。彩度サンプル形式5は、4つの輝度サンプル(1501)の左下サンプルと右下サンプルとの間の下部中心位置に対応する相対位置5を示す。例えば、彩度サンプル(1508)のうちの1つは、輝度サンプル(1501(1))~(1501(4))の左下サンプルと右下サンプルとの間に位置することができる。
【0136】
一般に、彩度サブサンプリングフォーマットには、任意の適切な彩度サンプル形式を使用することができる。彩度サンプル形式0~5は、彩度サブサンプリングフォーマット4:2:0で記述される彩度サンプル形式の例である。彩度サブサンプリングフォーマット4:2:0には、追加の彩度サンプル形式を使用することができる。さらに、他の彩度サンプル形式および/または彩度サンプル形式0~5のバリエーションを、4:2:2、4:4:4などの他の彩度サブサンプリングフォーマットに使用することができる。一例では、彩度サブサンプリングフォーマット4:2:2には、彩度サンプル(1505)と(1507)とを結合する彩度サンプル形式が使用される。
【0137】
一例では、輝度ブロックは、4つの輝度サンプル(例えば、(1501(1))~(1501(4)))のうちの上位2つのサンプル(例えば、(1501(1))~(150)(2))と、4つの輝度サンプル(例えば、(1501(1)~(1501(4)))のうちの下位2つのサンプル(例えば、(1501(3))~(1501(4)))とをそれぞれ含む行(1511)~(1512)などの交互の行を有すると考えられる。したがって、行(1511)、(1513)、(1515)、および(1517)は、現在の行(トップフィールドとも呼ばれる)と呼ぶことができ、行(1512)、(1514)、(1516)、および(1518)は、次の行(ボトムフィールドとも呼ばれる)と呼ぶことができる。4つの輝度サンプル(例えば、(1501(1))~(1501(4)))は、現在の行(例えば、(1511))および次の行(例えば、(1512))に位置する。相対位置2~3は現在の行に位置し、相対位置0~1は各現在の行とそれぞれの次の行との間に位置し、相対位置4~5は次の行に位置する。
【0138】
彩度サンプル(1503)、(1504)、(1505)、(1506)、(1507)、または(1508)は、各彩度ブロック内の行(1551)~(1554)に配置される。行(1551)~(1554)の特定の位置は、彩度サンプルの彩度サンプル形式に依存し得る。例えば、それぞれの彩度サンプル形式0~1を有する彩度サンプル(1503)~(1504)について、行(1551)は、行(1511)~(1512)の間に位置する。それぞれの彩度サンプル形式2~3を有する彩度サンプル(1505)~(1506)について、行(1551)は、現在の行(1511)と同じ位置にある。それぞれの彩度サンプル形式4~5を有する彩度サンプル(1507)~(1508)について、行(1551)は、次の行(1512)と同じ場所に配置される。上記の説明は、行(1552)~(1554)に適切に適合させることができ、簡潔にするために詳細な説明は省略する。
【0139】
図15Aで上述した輝度ブロックおよび対応する彩度ブロックを表示、格納、および/または送信するために、任意の適切な走査方法を使用することができる。一例では、順次走査が使用される。
【0140】
図15Bに示すように、飛び越し走査を使用することができる。上述したように、彩度サブサンプリングフォーマットは、4:2:0(例えば、chroma_format_idcは1に等しい)である。一例では、可変彩度ロケーション形式(例えば、ChromaLocType)は、現在の行(例えば、ChromaLocTypeは、chroma_sample_loc_type_top_fieldである)または次の行(例えば、ChromaLocTypeは、chroma_sample_loc_type_bottom_fieldである)を示す。現在の行(1511)、(1513)、(1515)、および(1517)と次の行(1512)、(1514)、(1516)、および(1518)を別々にスキャンすることができ、例えば、現在の行(1511)、(1513)、(1515)、および(1517)を最初にスキャンし、続いて次の行(1512)、(1514)、(1516)、および(1518)をスキャンすることができる。現在の行は輝度サンプル(1501)を含むことができ、次の行は輝度サンプル(1502)を含むことができる。
【0141】
同様に、対応する彩度ブロックを飛び越し走査することができる。塗りつぶしがない彩度サンプル(1503)、(1504)、(1505)、(1506)、(1507)、または(1508)を含む行(1551)および(1553)は、現在の行(または現在の彩度行)と呼ぶことができ、グレー塗りつぶしがある彩度サンプル(1503)、(1504)、(1505)、(1506)、(1507)、または(1508)を含む行(1552)および(1554)は、次の行(または次の彩度行)と呼ぶことができる。一例では、飛び越し走査中に、行(1551)および(1553)が最初に走査され、続いて行(1552)および(1554)が走査される。
【0142】
図14の菱形フィルタ形状(1420)は、4:2:0の彩度サブサンプリングフォーマットおよび彩度サンプル形式0(例えば、彩度行は2つの輝度行の間にある)用に設計されており、これは、他の彩度サンプル形式(例えば、彩度サンプル形式1~5)および他の彩度サブサンプリングフォーマット(例えば、4:2:2および4:4:4)では効率的ではない場合がある。
【0143】
彩度ブロックまたは彩度CB(例えば、
図13の第1の彩度CBまたは第2の彩度CB)の符号化された情報は、符号化ビデオ・ビット・ストリームから復号することができる。符号化された情報は、彩度CBに交差成分フィルタが適用されることを示すことができる。符号化された情報は、彩度サブサンプリングフォーマットおよび彩度サンプル形式をさらに含むことができる。上述したように、彩度サブサンプリングフォーマットは、彩度CBと対応する輝度CB(例えば、
図13の輝度CB)との間の彩度水平サブサンプリング係数および彩度垂直サブサンプリング係数を示すことができる。彩度サンプル形式は、輝度CB内の少なくとも1つの対応する輝度サンプルに対する彩度サンプルの相対位置を示すことができる。一例では、彩度サンプル形式は、符号化ビデオ・ビット・ストリームで信号で通知される。彩度サンプル形式は、シーケンスパラメータセット(SPS)などの任意の適切なレベルで信号で通知することができる。
【0144】
本開示の態様によれば、交差成分フィルタ処理における交差成分フィルタ(例えば、CC-ALF(1321))のフィルタ形状を、彩度サブサンプリングフォーマットおよび彩度サンプル形式のうちの少なくとも1つに基づいて判定することができる。さらに、判定されたフィルタ形状を有する交差成分フィルタを対応する輝度CB(例えば、SAOフィルタリングされた輝度成分(1341))に適用することによって、第1の中間CB(例えば、中間成分(1342))を生成することができる。第2の中間CB(例えば、中間成分(1352))は、彩度CB(例えば、SAOフィルタリングされた第1の彩度CB)にループフィルタ(例えば、ALF(1318))を適用することによって生成することができる。フィルタリングされた彩度CB(例えば、
図13のフィルタリングされた第1の彩度成分(1362)(例えば、「Cb」))は、第1の中間CBおよび第2の中間CBに基づいて判定することができる。上述したように、交差成分フィルタはCC-ALFとすることができ、ループフィルタはALFとすることができる。
【0145】
彩度ブロックの彩度サンプル形式は、CC-ALFが使用されるとき、符号化ビットストリーム内で示すことができる。CC-ALFのフィルタ形状は、彩度ブロックの彩度サブサンプリングフォーマット(例えば、chroma_format_idc)、彩度サンプル形式などに依存し得る。
【0146】
図16は、本開示の実施形態による、それぞれのフィルタ形状(1621)~(1623)を有する例示的な交差成分フィルタ(例えば、CC-ALF)(1601)~(1603)を示す。
図14および
図16を参照すると、フィルタ形状(1420)および(1621)~(1623)は、例えば、彩度サブサンプリングフォーマットが4:2:0である場合、彩度ブロックの彩度サンプル形式に基づいてCC-ALFに使用することができる。
【0147】
本開示の態様によれば、彩度サンプル形式は、6つの相対位置0~5をそれぞれ示す6つの彩度サンプル形式0~5のうちの1つであり得る。6つの相対位置0~5は、
図15Aに示すように、4つの輝度サンプル(例えば、(1501(1))~(1501(4)))の左中央位置、中央位置、左上位置、上中央位置、左下位置、および下中央位置にそれぞれ対応することができる。交差成分フィルタのフィルタ形状は、彩度サンプル形式に基づいて判定することができる。
【0148】
彩度ブロックの彩度サンプル形式が彩度サンプル形式0であるとき、
図14のフィルタ形状(1420)を有するフィルタ(1400)は、交差成分フィルタ(例えば、CC-ALF)で使用することができる。
【0149】
一例では、彩度ブロックの彩度サンプル形式が彩度サンプル形式1であるとき、正方形フィルタ形状(例えば、4×4の正方形のフィルタ形状、2×2の正方形のフィルタ形状)を交差成分フィルタ(例えば、CC-ALF)に使用することができる。交差成分フィルタリングされている彩度サンプル(例えば、
図15Aの(1504(1)))は、彩度サンプル(例えば、(1504(1)))が4つの対応する輝度サンプル(例えば、(1501(1))~(1501(4)))の中心に位置するので、正方形フィルタ形状の中心に位置することができる。
【0150】
一例では、彩度ブロックの彩度サンプル形式が彩度サンプル形式2であるとき、(例えば、フィルタ(1601)の5×5の菱形フィルタ形状(1621)またはフィルタ(1602)の3×3の菱形フィルタ形状(1622))菱形フィルタ形状をCC-ALFで使用することができる。
【0151】
一例では、彩度ブロックの彩度サンプル形式が彩度サンプル形式3であるとき、フィルタ(1603)の菱形フィルタ形状(1623)は、CC-ALFで使用され得る。
図14および
図16を参照すると、菱形フィルタ形状(1623)は、フィルタ形状(1420)の幾何学的変換(例えば、90°の回転)である。
【0152】
一例では、彩度ブロックの彩度サンプル形式が彩度サンプル形式4であるとき、CC-ALFで使用されるフィルタ形状は、彩度サンプル形式2に使用される(例えば、菱形フィルタ形状(1621)または(1622))と同一または同様であり得る。したがって、彩度サンプル形式4のフィルタ形状は、垂直にシフトされた菱形フィルタ形状(1621)または(1622)などの菱形フィルタ形状とすることができる。
【0153】
一例では、彩度ブロックの彩度サンプル形式が彩度サンプル形式5であるとき、CC-ALFで使用されるフィルタ形状は、彩度サンプル形式3に使用される(例えば、菱形フィルタ形状(1623))と同一または同様であり得る。したがって、彩度サンプル形式5のフィルタ形状は、垂直にシフトされた菱形フィルタ形状(1623)などの菱形フィルタ形状とすることができる。
【0154】
一実施形態では、フィルタ係数の数は、APSなどの符号化ビデオ・ビット・ストリームで信号で通知される。
図14および
図16を参照すると、フィルタ係数(1611)は菱形形状(1621)を形成することができ、フィルタ係数(1611)に含まれないか、そうでなければ除外される他のフィルタ係数はゼロである。したがって、フィルタ(1601)のフィルタ係数の数は、フィルタ形状(1621)のフィルタ係数の数を参照することができ、したがって、フィルタ係数(1611)の数(例えば、13)と等しくすることができる。同様に、フィルタ(1602)のフィルタ係数の数は、フィルタ形状(1622)のフィルタ係数の数を指すことができ、したがって、フィルタ係数(1612)の数(例えば、5)に等しくすることができる。フィルタ(1603)のフィルタ係数の数は、フィルタ形状(1623)のフィルタ係数の数を指すことができ、したがって、フィルタ係数(1613)の数(例えば、18)に等しくすることができる。同様に、フィルタ(1400)のフィルタ係数の数は、18とすることができる。
【0155】
異なるフィルタ形状は、異なる数の係数を有することができる。したがって、いくつかの例では、フィルタ形状は、フィルタ係数の数に基づいて判定することができる。例えば、フィルタ係数の数が16である場合、フィルタ形状は、4×4の正方形のフィルタ形状であると判定することができる。
【0156】
本開示の態様によれば、交差成分フィルタのフィルタ係数の数を、符号化ビデオ・ビット・ストリームにおいて信号で通知することができる。さらに、交差成分フィルタのフィルタ形状は、フィルタ係数の数と、彩度サブサンプリングフォーマットおよび彩度サンプル形式の少なくとも一方とに基づいて判定することができる。
【0157】
一実施形態では、交差成分線形モデル(CCLM)フラグは、彩度サンプル形式を示すことができる。したがって、CC-ALFのフィルタ形状は、CCLMフラグに依存し得る。一例では、CCLMフラグによって示される彩度サンプル形式は、彩度サンプル形式0または2であり、したがって、フィルタ形状は、フィルタ形状(1420)または菱形フィルタ形状(例えば、5×5の菱形フィルタ形状(1621)または3×3の菱形フィルタ形状(1622))とすることができる。
【0158】
一実施形態では、CCLMフラグ(例えば、sps_cclm_colocated_chroma_flag)は、符号化ビデオ・ビット・ストリーム、例えばSPSで信号で通知される。一例では、CCLMフラグ(例えば、sps_cclm_colocated_chroma_flag)は、CCLMイントラ予測における左上ダウンサンプリングされた輝度サンプルが左上輝度サンプルとコロケートされるかどうかを示す。上述したように、CCLMフラグによって示される彩度サンプル形式は、彩度サンプル形式0または2とすることができる。CC-ALFのフィルタ形状は、SPSで信号で通知されたCCLMのsps_cclm_colocated_chroma_flagまたは同様の情報(例えば、CCLMイントラ予測における左上ダウンサンプリングされた輝度サンプルが左上輝度サンプルとコロケートされているかどうかを示す情報)に依存し得る。
【0159】
いくつかの例では、交差成分フィルタ(例えば、CC-ALF)は、彩度サンプル(例えば、Cb彩度サンプルまたはCr彩度サンプル)ごとに多数(例えば、18)の乗算を含み、したがって、例えば計算の複雑さにおいて高いコストを有する。乗算回数は、CC-ALF内のフィルタ係数(例えば、フィルタ(1400)および(1603)の18個のフィルタ係数、フィルタ(1601)の13個のフィルタ係数、およびフィルタ(1602)の5個のフィルタ係数)の数に基づく。例えば、乗算回数は、CC-ALFにおけるフィルタ係数の数に等しい。本開示の態様によれば、CC-ALFのCC-ALFフィルタ係数を表すビット数は、Kビット以下になるように制約することができる。Kは、8などの正の整数であり得る。したがって、CC-ALFフィルタ係数は、[-2K-1~2K-1-1]の範囲に含めることができる。CC-ALFにおけるCC-ALFフィルタ係数の範囲は、CC-ALFのためのより単純な乗算器(例えば、より少ないビットを有する)を使用できるように、Kビット以下になるように制約することができる。
【0160】
一実施形態では、CC-ALFフィルタ係数の範囲は、-24から24-1の間に制約され、Kは5ビットである。あるいは、CC-ALFフィルタ係数の範囲は、-25から25-1の間に制約され、Kは6ビットである。
【0161】
一例では、CC-ALFフィルタ係数のいくつかの異なる値は、Kビットなどの特定の数に制約される。CC-ALFを適用するときにルックアップテーブルを使用することができる。
【0162】
CC-ALFのCC-ALFフィルタ係数は、固定長符号化を使用して符号化および信号で通知することができる。例えば、CC-ALFフィルタ係数がKビットに制約される場合、CC-ALFフィルタ係数を信号で通知するためにKビットの固定長符号化を使用することができる。Kが8ビットなどの比較的小さい場合、固定長符号化は、可変長符号化などの他の方法よりも効率的であり得る。
【0163】
図13に戻って参照すると、本開示の態様によれば、輝度サンプル値(例えば、(1341))のダイナミックレンジ(または輝度ビットデプス)がLビットよりも大きい場合、輝度CBの輝度サンプル値(例えば、(1341))をLビットのダイナミックレンジを有するようにシフトすることができる。Lは、8などの正の整数であり得る。続いて、シフトされた輝度サンプル値にCC-ALF(例えば、(1321)または(1331))を適用することによって、中間成分(例えば、(1342)または(1343))を生成することができる。
【0164】
図13に戻って参照すると、輝度サンプル値(例えば、SAOフィルタリングされた輝度成分の輝度サンプル値(1341))の輝度ビットデプスがLビットよりも高い場合、CC-ALF(例えば、(1321)または(1331))を使用した交差成分適応ループフィルタ処理は、以下に説明するように修正することができる。輝度サンプル値(例えば、(1341))は、最初にLビットのダイナミックレンジにシフトすることができる。シフトされた輝度サンプル値は、符号なしLビットとすることができる。一例では、Lは8である。その後、シフトされた輝度サンプル値は、CC-ALFへの入力として使用することができる(例えば、(1321)または(1331))。したがって、シフトされた輝度サンプル値およびCC-ALFフィルタ係数を乗算することができる。上述したように、CC-ALFフィルタ係数は、Kビット(例えば、8ビットまたは[-2
K-1~2
K-1-1])以下の符号付き値に制約することができ、符号なしLビットと符号付きKビットとの乗算器を使用することができる。一例では、KおよびLは8ビットであり、符号なし8ビットと符号付き8ビットとの比較的単純で効率的な乗算器(例えば、単一命令、複数データ(SIMD)命令に基づく乗数)を使用してフィルタリング効率を改善することができる。
【0165】
図13を参照すると、本開示の態様によれば、ダウンサンプリングされた輝度CBは、輝度CBにダウン・サンプリング・フィルタを適用することによって生成することができる。したがって、第1の彩度CB(または第2の彩度CB)とダウンサンプリングされた輝度CBとの間の彩度水平サブサンプリング係数および彩度垂直サブサンプリング係数は1である。ダウン・サンプリング・フィルタは、ダウンサンプリングされた輝度CBがCC-ALF(例えば、(1321))への入力として使用される前に、任意の適切なステップで適用することができる。一例では、ダウン・サンプリング・フィルタがSAOフィルタ(1310)とCC-ALF(例えば、(1321))との間に適用され、したがって、SAOフィルタリングされた輝度成分(1341)が最初にダウンサンプリングされ、次にダウンサンプリングされSAOフィルタリングされた輝度成分がCC-ALF(1321)に送信される。
【0166】
上述したように、CC-ALFのフィルタ形状は、彩度サブサンプリングフォーマットおよび/または彩度サンプル形式に基づいて判定することができ、したがって、いくつかの例では、異なる彩度サンプル形式に対して異なるフィルタ形状を使用することができる。あるいは、ダウンサンプリングされた輝度サンプルは、彩度水平サブサンプリング係数および彩度垂直サブサンプリング係数が1である彩度サンプルと位置合わせされるので、CC-ALF(例えば、(1321))は、CC-ALFへの入力がダウンサンプリングされた輝度CBである場合、統一されたフィルタ形状を使用することができる。統一されたフィルタ形状は、彩度サブサンプリングフォーマットおよび彩度CBの彩度サンプル形式から独立することができる。したがって、統一されたフィルタ形状を有するCC-ALFをダウンサンプリングされた輝度CBに適用することにより、中間CB(例えば、中間成分(1342))を生成することができる。
【0167】
図13を参照すると、一例では、YUV(例えば、YCbCrまたはYCgCo)フォーマットである彩度サブサンプリングフォーマットの場合、ダウン・サンプリング・フィルタが輝度CB内の輝度サンプルに適用されて、その位置が第1の彩度CB内の彩度サンプルと位置整合されたダウンサンプリングされた輝度サンプルを導出し、次いで、統合されたフィルタリング形状がCC-ALF(例えば、(1321))に適用されて、ダウンサンプリングされた輝度サンプルを交差フィルタして中間成分(1342)を生成することができる。
【0168】
ダウン・サンプリング・フィルタは、任意の適切なフィルタとすることができる。一例では、ダウン・サンプリング・フィルタは、CCLMモードで同じ場所にある輝度サンプルに適用されるフィルタに対応する。したがって、輝度サンプルは、CCLMモードにおいて同じ場所に配置された輝度サンプルに適用される同じダウン・サンプリング・フィルタを使用してダウンサンプリングされる。
【0169】
一例では、ダウン・サンプリング・フィルタは{1,2,1;1,2,1}/8フィルタであり、彩度サブサンプリングフォーマットは4:2:0である。したがって、彩度4:2:0フォーマットの場合、輝度サンプルは、{1,2,1;1,2,1}/8フィルタを適用することによってダウンサンプリングされる。
【0170】
交差成分フィルタ(例えば、CC-ALF)のフィルタ形状(または統一フィルタ形状)は、任意の適切な形状を有することができる。一例では、交差成分フィルタ(例えば、CC-ALF)のフィルタ形状は、7×7の菱形形状、7×7の正方形形状、5×5の菱形形状、5×5の正方形形状、3×3の菱形形状、および3×3の正方形形状のうちの1つである。
【0171】
図17は、本開示の一実施形態による処理(1700)の概要を示すフローチャートを示す。処理(1700)は、符号化されたビデオシーケンスの画像におけるブロック(例えば、CB)を再構築するために使用され得る。処理(1700)は、再構築中のブロックの予測ブロックを生成するために、ブロックの再構築に使用することができる。ブロックという用語は、予測ブロック、CB、CUなどとして解釈され得る。様々な実施形態では、処理(1700)は、端末機器(310)、(320)、(330)および(340)の処理回路、ビデオ符号化器(403)の機能を実行する処理回路、ビデオ復号器(410)の機能を実行する処理回路、ビデオ復号器(510)の機能を実行する処理回路、ビデオ符号化器(603)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態では、処理(1700)はソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は処理(1700)を実行する。処理は(S1701)から開始され、(S1710)に進む。一例では、ブロックは、輝度CBに対応する彩度CBなどの彩度ブロックである。一例では、彩度ブロックおよび対応する輝度CBはCU内にある。
【0172】
(S1710)において、彩度CBの符号化された情報を符号化ビデオ・ビット・ストリームから復号することができる。符号化された情報は、彩度CBに交差成分フィルタが適用されることを示すことができ、彩度サブサンプリングフォーマットおよび彩度サンプル形式をさらに示すことができる。彩度サブサンプリングフォーマットは、上述したように、彩度CBと対応する輝度CBとの間の彩度水平サブサンプリング係数および彩度垂直サブサンプリング係数を示すことができる。彩度サブサンプリングフォーマットは、4:2:0、4:2:2、4:4:4などの任意の適切なフォーマットとすることができる。彩度サンプル形式は、上述したように、輝度CB内の少なくとも1つの対応する輝度サンプルに対する彩度サンプルの相対位置を示すことができる。一例では、4:2:0の彩度サブサンプリングフォーマットの場合、彩度サンプル形式は、
図15A~
図15Bを参照して上述した彩度サンプル形式0~5のうちの1つであり得る。
【0173】
(S1720)において、彩度サブサンプリングフォーマットおよび彩度サンプル形式のうちの少なくとも1つに基づいて、交差成分フィルタのフィルタ形状を判定することができる。一例では、
図13を参照すると、交差成分フィルタは交差成分フィルタ処理(例えば、CC-ALFフィルタ処理)で使用され、交差成分フィルタはCC-ALFとすることができる。フィルタ形状は、彩度サブサンプリングフォーマットおよび/または彩度サンプル形式に依存する任意の適切な形状とすることができる。4:2:0の彩度サブサンプリングフォーマットの場合、フィルタ形状は、彩度サンプル形式に基づいて、フィルタ形状(1420)および(1621)~(1623)のうちの一方とすることができる。フィルタ形状は、彩度サンプル形式に基づくフィルタ形状(1420)および(1621)~(1623)のうちの一方の変化(例えば、回転またはシフトなどの幾何学的変換)とすることができる。
【0174】
(S1730)において、第1の中間CBは、(例えば、SAOフィルタリングされた彩度CB)彩度CBにループフィルタ(例えば、ALF)を適用することによって生成することができる。
【0175】
(S1740)において、例えば、彩度サブサンプリングフォーマットが4:2:0であり、彩度サンプル形式が彩度サンプル0であるとき、判定されたフィルタ形状(例えば、フィルタ形状(1420))を有する交差成分フィルタ(例えば、CC-ALF)を対応する輝度CBに適用することによって第2の中間CBを生成することができる。
【0176】
(S1750)において、フィルタリングされた彩度CB(例えば、フィルタリングされた第1の彩度成分(1362))を、第1の中間CB(例えば、中間成分(1342))および第2の中間CB(例えば、中間成分(1352))に基づいて判定することができる。処理(1700)は、(S1799)に進み、終了する。
【0177】
処理(1700)は、適切に適合させることができる。処理(1700)のステップは、修正および/または省略することができる。追加のステップを追加することができる。任意の適切な実施順序を使用することができる。
【0178】
本開示の実施形態は、別々に使用されてもよく、任意の順序で組み合わされてもよい。さらに、方法(または実施形態)、符号器、および復号器の各々は、処理回路(例えば、1つまたは複数のプロセッサまたは1つまたは複数の集積回路)によって実施されてもよい。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。
【0179】
上述した技術は、コンピュータ可読命令を使用し、1つまたは複数のコンピュータ可読媒体に物理的に記憶されたコンピュータソフトウェアとして実装することができる。例えば、
図18は、開示された主題の特定の実施形態を実施するのに適したコンピュータシステム(1800)を示す。
【0180】
コンピュータソフトウェアは、1つまたは複数のコンピュータ中央処理装置(CPU)、グラフィック処理装置(GPU)などによって直接、または解釈、マイクロコード実行などを介して実行することができる命令を含むコードを作成するために、組み立て、コンパイル、リンクなどの機構を受けることができる任意の適切な機械コードまたはコンピュータ言語を使用して符号化することができる。
【0181】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置などを含む様々な種類のコンピュータまたはその構成要素上で実行することができる。
【0182】
コンピュータシステム(1800)について
図18に示す構成要素は、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能の範囲に関する制限を示唆することを意図するものではない。成分の構成は、コンピュータシステム(1800)の例示的な実施形態に示されている成分のいずれかまたは組み合わせに関する依存関係または要件を有すると解釈されるべきではない。
【0183】
コンピュータシステム(1800)は、特定のヒューマンインターフェース入力装置を含むことができる。そのようなヒューマンインターフェース入力装置は、例えば、触知入力(例えば、キーストローク、スワイプ、データグローブの動き)、音声入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を介した1人以上の人間のユーザによる入力に応答することができる。ヒューマンインターフェース装置は、オーディオ(例えば、音声、音楽、周囲音)、画像(例えば、走査画像、写真画像は静止画像カメラから取得する)、ビデオ(2次元映像、立体映像を含む3次元映像など)など、必ずしも人間による意識的な入力に直接関連しない特定の媒体を取り込むために使用することもできる。
【0184】
入力ヒューマンインターフェース装置は、キーボード(1801)、マウス(1802)、トラックパッド(1803)、タッチスクリーン(1810)、データグローブ(図示せず)、ジョイスティック(1805)、マイク(1806)、スキャナ(1807)、カメラ(1808)のうちの1つまたは複数(各々のうちのただ1つ)を含むことができる。
【0185】
コンピュータシステム(1800)はまた、特定のヒューマンインターフェース出力装置を含んでもよい。そのようなヒューマンインターフェース出力装置は、例えば、触知出力、音、光、および匂い/味によって1人または複数の人間のユーザの感覚を刺激することができる。そのようなヒューマンインターフェース出力装置は、触知出力装置(例えば、タッチスクリーン(1810)、データグローブ(図示せず)、またはジョイスティック(1805)による触覚フィードバックであるが、入力装置として機能しない触覚フィードバック装置も存在し得る)、音声出力装置(例えば、スピーカ(1809)、ヘッドホン(図示せず))、視覚出力装置(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1810)であって、それぞれがタッチスクリーン入力機能を有するかまたは有さず、それぞれが触知フィードバック機能を有するかまたは有さず、その一部は、ステレオ出力などの手段を介して二次元視覚出力または三次元超出力を出力することができてもよい;仮想現実メガネ(図示せず)、ホログラフィックディスプレイ、および煙タンク(図示せず))、およびプリンタ(図示せず)を含むことができる。
【0186】
コンピュータシステム(1800)はまた、人間がアクセス可能な記憶装置およびそれらの関連媒体、例えば、CD/DVDなどの媒体を有するCD/DVD ROM/RW(1820)を含む光学媒体(1821)、サムドライブ(1822)、リムーバブルハードドライブまたはソリッド・ステート・ドライブ(1823)、テープおよびフロッピー(登録商標)ディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)などの専用ROM/ASIC/PLDベースの装置などを含むことができる。
【0187】
当業者はまた、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的信号を包含しないことを理解すべきである。
【0188】
コンピュータシステム(1800)はまた、1つまたは複数の通信ネットワーク(1855)へのインターフェース(1854)を含むことができる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業、リアルタイム、遅延耐性などであり得る。ネットワークの例には、イーサネット、無線LANなどのローカル・エリア・ネットワーク、GSM(登録商標)、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上波放送TVを含むテレビ有線または無線広域デジタルネットワーク、CANBusを含む車両および産業用などが含まれる。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス(1849)に取り付けられた外部ネットワークインターフェースアダプタを必要とする(例えば、コンピュータシステム(1800)のUSBポートなど)。他のものは、一般に、後述するようなシステムバスへの取り付け(例えば、PCコンピュータシステムへのイーサネット(登録商標)インターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)によってコンピュータシステム(1800)のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(1800)は、他のエンティティと通信することができる。そのような通信は、例えば、ローカルまたは広域デジタルネットワークを使用する他のコンピュータシステムに対して、単方向、受信のみ(例えば、放送TV)、単方向送信のみ(例えば、特定のCANbus装置へのCANbus)、または双方向であり得る。特定のプロトコルおよびプロトコルスタックは、上述したように、それらのネットワークおよびネットワークインターフェースのそれぞれで使用することができる。
【0189】
前述のヒューマンインターフェース装置、ヒューマンアクセスストレージ装置、およびネットワークインターフェースは、コンピュータシステム(1800)のコア(1840)に取り付けることができる。
【0190】
コア(1840)は、1つまたは複数の中央処理装置(CPU)(1841)、グラフィック処理装置(GPU)(1842)、フィールド・プログラマブル・ゲート・エリア(FPGA)(1843)の形態の専用プログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ(1844)、グラフィックスアダプタ(1850)などを含むことができる。これらの装置は、読取り専用メモリ(ROM)(1845)、ランダム・アクセス・メモリ(1846)、内部非ユーザアクセス可能ハードドライブなどの内部大容量ストレージ、SSDなど(1847)とともに、システムバス(1848)を介して接続されてもよい。いくつかのコンピュータシステムでは、システムバス(1848)は、追加のCPU、GPU等による拡張を可能にするために、1つまたは複数の物理プラグの形態でアクセス可能であり得る。周辺機器は、コアのシステムバス(1848)に直接取り付けることも、周辺機器用バス(1849)を介して取り付けることもできる。一例では、ディスプレイ(1810)をグラフィックスアダプタ(1850)に接続することができる。周辺バスのアーキテクチャには、PCI、USBなどが含まれる。
【0191】
CPU(1841)、GPU(1842)、FPGA(1843)、およびアクセラレータ(1844)は、組み合わせて上述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM(1845)またはRAM(1846)に記憶することができる。移行データはまた、RAM(1846)に記憶することができ、一方、永続データは、例えば内部大容量ストレージ(1847)に記憶することができる。メモリ装置のいずれかへの高速記憶および検索は、1つまたは複数のCPU(1841)、GPU(1842)、大容量記憶装置(1847)、ROM(1845)、RAM(1846)などと密接に関連付けることができるキャッシュメモリの使用によって可能にすることができる。
【0192】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよく、またはコンピュータソフトウェア技術の当業者に周知で利用可能な種類のものであってもよい。
【0193】
限定ではなく、例として、アーキテクチャ(1800)、特にコア(1840)を有するコンピュータシステムは、1つまたは複数の有形のコンピュータ可読媒体で具現化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上述のようなユーザアクセス可能な大容量ストレージ、ならびにコア内部大容量ストレージ(1847)またはROM(1845)などの非一時的な性質のコア(1840)の特定のストレージに関連付けられた媒体とすることができる。本開示の様々な実施形態を実施するソフトウェアは、そのような装置に格納され、コア(1840)によって実行することができる。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリ装置またはチップを含むことができる。ソフトウェアは、コア(1840)、具体的にはその中のプロセッサ(CPU、GPU、FPGA等を含む)に、RAM(1846)に記憶されたデータ構造を定義すること、およびソフトウェアによって定義された処理に従ってそのようなデータ構造を修正することを含む、本明細書に記載の特定の処理または特定の処理の特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、ハードワイヤードまたは他の方法で回路(例えば、加速器(1844))に具現化された論理の結果として機能を提供することができ、ソフトウェアの代わりに、またはソフトウェアとともに動作して、本明細書に記載の特定の処理または特定の処理の特定の部分を実行することができる。ソフトウェアへの参照は、適切な場合には、論理を包含することができ、逆もまた同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具現化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアとの任意の適切な組み合わせを包含する。
【0194】
付録A:頭字語
JEM joint exploration model 共同探索モデル
VVC versatile video coding 汎用ビデオ符号化
BMS benchmark set ベンチマークセット
MV Motion Vector 動きベクトル
HEVC High Efficiency Video Coding 高効率ビデオ符号化
MPM most probable mode 最確モード
WAIP Wide-Angle Intra Prediction 広角イントラ予測
SEI Supplementary Enhancement Information 追加の拡張情報
VUI Video Usability Information ビデオユーザビリティ情報
GOP Groups of Pictures 写真群
TU Transform Units,変換ユニット、
PU Prediction Units 予測ユニット
CTU Coding Tree Units 符号化ツリーユニット
CTBs Coding Tree Blocks 符号化ツリーブロック
PB Prediction Blocks 予測ブロック
HRD Hypothetical Reference Decoder 仮想基準復号器
SDR standard dynamic range 標準ダイナミックレンジ
SNR Signal Noise Ratio 信号ノイズ比
CPU Central Processing Units 中央処理装置
GPU Graphics Processing Units グラフィックス処理装置
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 汎欧州デジタル移動通信システム
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 符号化器
PDPC Position Dependent Prediction Combination 位置依存予測組み合わせ
ISP Intra Sub-Partitions イントラ・サブ・パーティション
SPS Sequence Parameter Setting シーケンスパラメータ設定
【0195】
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内に入る変更、置換、および様々な代替の等価物がある。したがって、当業者は、本明細書に明示的に示されていないまたは記載されていないが、本開示の原理を具体化し、したがってその趣旨および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
【符号の説明】
【0196】
101 サンプル
102 矢印
103 矢印
104 正方形ブロック
180 概略図
201 現在のブロック
202 周囲サンプル
203 周囲サンプル
204 周囲サンプル
205 周囲サンプル
206 周囲サンプル
300 通信システム
310 端末機器
320 端末機器
330 端末機器
340 端末機器
350 ネットワーク
400 通信システム
401 ビデオソース
402 ビデオ画像ストリーム
403 ビデオ符号化器
404 符号化ビデオデータ
405 ストリーミングサーバ
406 クライアントサブシステム
407 コピー
408 クライアントサブシステム
409 コピー
410 ビデオ復号器
411 ビデオ画像の出力ストリーム
412 ディスプレイ
413 キャプチャサブシステム
420 電子機器
430 電子機器
501 チャネル
510 ビデオ復号器
512 レンダリング装置
515 バッファメモリ
520 解析器
521 シンボル
530 電子機器
531 受信機
551 スケーラ/逆変換ユニット
552 イントラ画像予測ユニット
553 動作補償予測ユニット
555 アグリゲータ
556 ループ・フィルタ・ユニット
557 参照画像メモリ
558 画像バッファ
601 ビデオソース
603 ビデオ符号化器
620 電子機器
630 ソース符号化器
632 符号化エンジン
633 復号器
634 参照画像メモリ
635 予測器
640 送信機
643 符号化ビデオデータ
645 エントロピー符号化器
650 コントローラ
660 通信チャネル
703 ビデオ符号化器
721 汎用コントローラ
722 イントラ符号化器
723 残差計算器
724 残差符号化器
725 エントロピー符号化器
726 スイッチ
728 残差復号器
873 残差復号器
730 インター符号化器
810 ビデオ復号器
871 エントロピー復号器
872 イントラ復号器
874 再構築モジュール
880 インター復号器
910 ALF
911 ALF
920 要素
921 要素
923 要素
924 要素
925 要素
926 要素
927 要素
928 要素
929 要素
930 要素
931 要素
932 要素
940 要素
941 要素
942 要素
943 要素
944 要素
945 要素
946 要素
947 要素
948 要素
949 要素
950 要素
951 要素
952 要素
953 要素
954 要素
956 要素
957 要素
958 要素
959 要素
960 要素
961 要素
962 要素
963 要素
964 要素
1110 ブロック
1111 ブロック
1120 水平CTU境界
1121 CTU境界
1130 仮想境界
1131 仮想境界
1210 仮想境界
1220 仮想境界
1230 仮想境界
1240 仮想境界
1250 仮想境界
1260 仮想境界
1310 SAO 輝度
1312 SAO Cb
1314 SAO Cr
1316 ALF 輝度
1318 ALF 彩度
1321 CC-ALF Cb
1322 加算器
1332 加算器
1331 CC-ALF Cr
1341 SAOフィルタリングされた輝度成分
1342 中間成分
1343 中間成分
1352 中間成分
1353 中間成分
1361 輝度CB
1362 第1の彩度成分
1363 第2の彩度成分
1400 フィルタ
1410 フィルタ係数
1420 菱形フィルタ形状
1501 輝度サンプル
1501(1) 輝度サンプル
1501(2) 輝度サンプル
1501(3) 輝度サンプル
1501(4) 輝度サンプル
1503 彩度サンプル
1503(1) 彩度サンプル
1504 彩度サンプル
1504(1) 彩度サンプル
1505 彩度サンプル
1506 彩度サンプル
1507 彩度サンプル
1508 彩度サンプル
1511 行
1512 行
1513 行
1514 行
1515 行
1516 行
1517 行
1518 行
1551 行
1552 行
1553 行
1554 行
1601 フィルタ
1602 フィルタ
1603 フィルタ
1611 フィルタ係数
1612 フィルタ係数
1613 フィルタ係数
1621 菱形フィルタ形状
1622 菱形フィルタ形状
1623 菱形フィルタ形状
1700 処理
1800 コンピュータシステム
1801 キーボード
1802 マウス
1803 トラックパッド
1805 ジョイスティック
1806 マイク
1807 スキャナ
1808 カメラ
1809 スピーカ
1810 タッチスクリーン、ディスプレイ
1820 CD/DVD ROM/RW
1821 光学媒体
1822 サムドライブ
1823 ソリッド・ステート・ドライブ
1840 コア
1841 CPU
1842 GPU
1843 FPGA
1844 ACCL.
1845 ROM
1846 RAM
1847 内部大容量記憶装置、コア内部大容量ストレージ
1848 システムバス
1849 周辺バス
1850 グラフィックアダプタ
1854 ネットワークインターフェース
1855 1つまたは複数の通信ネットワーク
【手続補正書】
【提出日】2021-08-19
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
復号器におけるビデオ復号のための方法であって、
符号化ビデオ・ビット・ストリームから彩度符号化ブロック(CB)の符号化された情報を復号するステップであって、前記符号化された情報は、前記彩度CBに交差成分フィルタが適用されることを示し、前記符号化された情報は、彩度サブサンプリングフォーマット、および対応する輝度CB内のうち少なくとも1つの輝度サンプルに対する彩度サンプルの相対位置を示す彩度サンプル形式をさらに示す、ステップと、
前記彩度サブサンプリングフォーマットおよび前記彩度サンプル形式のうちの少なくとも1つに基づいて前記交差成分フィルタのフィルタ形状を判定するステップと、
前記彩度CBにループフィルタを適用することによって第1の中間CBを生成するステップと、
前記判定されたフィルタ形状を有する前記交差成分フィルタを前記対応する輝度CBに適用することによって第2の中間CBを生成するステップと、
前記第1の中間CBおよび前記第2の中間CBに基づいてフィルタリングされた彩度CBを判定するステップと
を含む、方法。
【請求項2】
前記彩度サンプル形式は、前記符号化ビデオ・ビット・ストリームにおいて信号で通知される、請求項1に記載の方法。
【請求項3】
前記交差成分フィルタのいくつかのフィルタ係数が前記符号化ビデオ・ビット・ストリームにおいて信号で通知され、
前記フィルタ形状を判定する前記ステップは、前記フィルタ係数の数と、前記彩度サブサンプリングフォーマットおよび前記彩度サンプル形式のうち前記少なくとも一方とに基づいて前記交差成分フィルタの前記フィルタ形状を判定するステップを含む、
請求項1
または2に記載の方法。
【請求項4】
前記彩度サブサンプリングフォーマットは4:2:0であり、
少なくとも1つの輝度サンプルは、左上サンプル、右上サンプル、左下サンプル、および右下サンプルである4つの輝度サンプルを含み、
前記彩度サンプル形式は、6つの相対位置0~5をそれぞれ示す6つの彩度サンプル形式0~5のうちの1つであり、前記彩度サンプルの前記6つの相対位置0~5は、それぞれ、前記左上サンプルと前記左下サンプルとの間の左中心位置、前記4つの輝度サンプルの中心位置、前記左上サンプルと同じ位置にある左上位置、前記左上サンプルと前記右上サンプルとの間の上中心位置、前記左下サンプルと同じ位置にある左下位置、および前記左下サンプルと前記右下サンプルとの間の下中心位置に対応し、
前記フィルタ形状を判定する前記ステップは、前記彩度サンプル形式に基づいて前記交差成分フィルタの前記フィルタ形状を判定するステップを含む、
請求項1
から3のいずれか一項に記載の方法。
【請求項5】
前記符号化ビデオ・ビット・ストリームは、前記彩度サンプル形式が0または2であることを示す交差成分線形モデル(CCLM)フラグを含む、請求項4に記載の方法。
【請求項6】
前記交差成分フィルタは交差成分適応ループフィルタ(CC-ALF)であり、前記ループフィルタは適応ループフィルタ(ALF)である、請求項1
から5のいずれか一項に記載の方法。
【請求項7】
前記交差成分フィルタのフィルタ係数の範囲はKビット以下であり、Kは正の整数である、請求項1
から6のいずれか一項に記載の方法。
【請求項8】
前記交差成分フィルタの前記フィルタ係数は、固定長符号化を使用して符号化される、請求項7に記載の方法。
【請求項9】
8ビットよりも大きい輝度サンプル値のダイナミックレンジに基づいて、前記対応する輝度CBの輝度サンプル値を8ビットの前記ダイナミックレンジを有するようにシフトするステップであって、Kは8ビットである、ステップをさらに含み、
前記第2の中間CBを生成する前記ステップは、前記判定されたフィルタ形状を有する前記交差成分フィルタを前記シフトされた輝度サンプル値に適用するステップを含む、
請求項7に記載の方法。
【請求項10】
復号器におけるビデオ復号のための方法であって、
符号化ビデオ・ビット・ストリームから彩度符号化ブロック(CB)の符号化された情報を復号するステップであって、前記符号化された情報は、対応する輝度CBに基づいて前記彩度CBに交差成分フィルタが適用されることを示す、ステップと、
前記対応する輝度CBにダウン・サンプリング・フィルタを適用することにより、ダウンサンプリングされた輝度CBを生成するステップであって、前記彩度CBと前記ダウンサンプリングされた輝度CBとの間の彩度水平サブサンプリング係数および彩度垂直サブサンプリング係数が1である、ステップと、
前記彩度CBにループフィルタを適用することにより、第1の中間CBを生成するステップと、
前記交差成分フィルタを前記ダウンサンプリングされた輝度CBに適用することにより、第2の中間CBを生成するステップであって、前記交差成分フィルタのフィルタ形状は、前記彩度CBの彩度サブサンプリングフォーマットおよび彩度サンプル形式に依存せず、前記彩度サンプル形式は、前記対応する輝度CB内の少なくとも1つの輝度サンプルに対する彩度サンプルの相対位置を示す、ステップと、
前記第1の中間CBおよび前記第2の中間CBに基づいて、フィルタリングされた彩度CBを判定するステップと、
を含む、方法。
【請求項11】
前記ダウン・サンプリング・フィルタは、CCLMモードにおいて同じ場所にある輝度サンプルに適用されるフィルタに対応する、請求項10に記載の方法。
【請求項12】
前記ダウン・サンプリング・フィルタは{1,2,1;1,2,1}/8フィルタであり、前記彩度サブサンプリングフォーマットは4:2:0である、請求項10に記載の方法。
【請求項13】
前記交差成分フィルタの前記フィルタ形状は、7×7の菱形形状、7×7の正方形形状、5×5の菱形形状、5×5の正方形形状、3×3の菱形形状、および3×3の正方形形状のうちの1つである、請求項10
から12のいずれか一項に記載の方法。
【請求項14】
ビデオ復号のための装置であって、処理回路を備え、前記処理回路は、
請求項1から9のいずれか一項の方法を実施可能に構成されている、装置。
【請求項15】
一つまたは複数のプロセッサに、請求項1から9のいずれか一項に記載される方法を実行させるためのプログラム。
【国際調査報告】