IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ベイジン バイトダンス ネットワーク テクノロジー カンパニー リミテッドの特許一覧 ▶ バイトダンス インコーポレイテッドの特許一覧

特表2023-531223適応ループフィルタリングのための境界位置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-07-21
(54)【発明の名称】適応ループフィルタリングのための境界位置
(51)【国際特許分類】
   H04N 19/117 20140101AFI20230713BHJP
   H04N 19/82 20140101ALI20230713BHJP
【FI】
H04N19/117
H04N19/82
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022579067
(86)(22)【出願日】2021-06-29
(85)【翻訳文提出日】2023-01-23
(86)【国際出願番号】 CN2021102938
(87)【国際公開番号】W WO2022002007
(87)【国際公開日】2022-01-06
(31)【優先権主張番号】PCT/CN2020/099604
(32)【優先日】2020-06-30
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(71)【出願人】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】ワン ヤン
(72)【発明者】
【氏名】リウ ホンビン
(72)【発明者】
【氏名】ジャン リー
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159TA68
5C159TB10
5C159TC02
5C159UA16
(57)【要約】
【要約】
適応ループフィルタリングを実施するための技法を説明する。例示の映像処理方法は、映像の映像ユニットとこの映像のビットストリームとの間の変換のために、輝度適応ループフィルタが映像ユニットの輝度成分に選択的に適用される第1の輝度適応ループフィルタ(ALF)境界と第2の輝度ALF境界との第1の決定を行うことと、第2の輝度ALF境界から、映像ユニットの彩度成分のために彩度適応ループフィルタが選択的に適用される彩度ALF境界の第2の決定を行うことと、第1の決定及び第2の決定に基づいて変換を行うことと、を含む。
【選択図】図34
【特許請求の範囲】
【請求項1】
映像の映像ユニットと前記映像のビットストリームとの間の変換のために、輝度適応ループフィルタが前記映像ユニットの輝度成分に選択的に適用される第1の輝度適応ループフィルタ(ALF)境界と第2の輝度ALF境界との第1の決定を行うことと、
前記第2の輝度ALF境界から、前記映像ユニットの彩度成分のために彩度適応ループフィルタが選択的に適用される彩度ALF境界の第2の決定を行うことと、
前記第1の決定及び前記第2の決定に基づいて前記変換を行うことと、を含む、映像処理方法。
【請求項2】
前記第2の輝度ALF境界は、前記第1の輝度ALF境界と異なる、請求項1に記載の方法。
【請求項3】
前記第1の輝度ALF境界は、クロス成分ALF(CC-ALF)及び/又は輝度ALFに使用される、請求項1に記載の方法。
【請求項4】
前記第1の決定を行うことの間、前記CC-ALFを前記輝度ALFとして扱う、請求項3に記載の方法。
【請求項5】
前記第2の輝度ALF境界は、彩度ALFに使用される、請求項1に記載の方法。
【請求項6】
前記第2の輝度ALF境界は、カラーフォーマット及び/又はフィルタリング方法に基づいて決定される、請求項1に記載の方法。
【請求項7】
4:2:0のカラーフォーマットのための彩度ALFにおける前記第2の輝度ALF境界は、前記第1の輝度ALF境界と同じであると決定される、請求項1に記載の方法。
【請求項8】
前記第1の決定を行うことの間、4:2:0カラーフォーマットのための彩度ALFを、輝度ALF又はクロス成分ALF(CC-ALF)として扱う、請求項1に記載の方法。
【請求項9】
4:2:2又は4:4:4のための彩度ALFにおける前記第2の輝度ALF境界は、輝度ALF又はCC-ALFにおける前記第1の輝度ALF境界と異なる方法で決定される、請求項1に記載の方法。
【請求項10】
前記第1の輝度ALF境界及び/又は前記第2の輝度ALF境界は、上側境界位置、下側境界位置、左側境界位置、又は右側境界位置を指す、請求項1に記載の方法。
【請求項11】
前記第1の輝度ALF境界及び/又は前記第2の輝度ALF境界は、i)ALF仮想境界のためのオフセット又は前記ALF仮想境界と現在のコーディングツリーユニット(CTU)の下側境界との間の距離を規定する第1の変数vbOffset、又は/及びii)前記現在のCTUの上側境界からのオフセットを規定する第2の変数Mに基づく、請求項10に記載の方法。
【請求項12】
(x,y)が、現在の輝度コーディングツリーブロック(CTB)の左上サンプルに対する現在のサンプルの輝度位置を指し、(xCtb,yCtb)が、現在のピクチャの左上サンプルに対する前記現在の輝度CTBの左上サンプルの輝度位置を指し、CtbSizeYが、前記現在の輝度CTBのサイズを指す、請求項11に記載の方法。
【請求項13】
y-(CtbSizeY-vbOffset)が0以上である場合、前記上側境界位置はyCtb+CtbSizeY-vbOffsetに等しく設定される、請求項12に記載の方法。
【請求項14】
i)前記現在の輝度CTBの上側境界が、タイル、スライス、又はサブピクチャの上側境界である場合、ii)前記タイル、前記スライス、又は前記サブピクチャにわたる前記適応ループフィルタリングは無効になり、iii)yが前記第2の変数M未満である場合、前記上側境界位置はyCtbに等しく設定される、請求項12に記載の方法。
【請求項15】
CtbSizeY-vbOffset-yが0より大きく、第3の変数N未満である場合、前記下側境界をyCtb+CtbSizeY-vbOffsetに等しく設定する、請求項12に記載の方法。
【請求項16】
前記第3の変数Nは、整数である、請求項15に記載の方法。
【請求項17】
前記第3の変数Nは、3又は5に等しい、請求項15に記載の方法。
【請求項18】
前記現在の輝度CTBの下側境界が、タイル、スライス、又はサブピクチャの下側境界であり、ii)前記タイル、前記スライス、又は前記サブピクチャにわたる前記適応ループフィルタリングは無効になり、iiii)CtbSizeY-yが第4の変数L未満である場合、前記下側境界位置はyCtb+CtbSizeYに等しく設定される、請求項12に記載の方法。
【請求項19】
前記第4の変数Lは、整数である、請求項18に記載の方法。
【請求項20】
前記第4の変数Lは、3又は5に等しい、請求項18に記載の方法。
【請求項21】
前記第1の輝度ALF境界は、クロス成分ALF(CC-ALF)又は輝度ALFに対して同じと決定される、請求項11~20のいずれかに記載の方法。
【請求項22】
前記第1の変数vbOffsetは、前記クロス成分ALF(CC-ALF)及び前記輝度ALFに対して同じである、請求項21に記載の方法。
【請求項23】
前記第2の変数Mは、前記CC-ALF及び前記輝度ALFに対して同じである、請求項21に記載の方法。
【請求項24】
前記第3の変数Nは、前記CC-ALF及び前記輝度ALFに対して同じである、請求項21に記載の方法。
【請求項25】
前記第4の変数Lは、前記CC-ALF及び前記輝度ALFに対して同じである、請求項21に記載の方法。
【請求項26】
彩度ALFにおいて使用される前記第2の輝度ALF境界は、前記彩度ALFのカラーフォーマットに基づいて決定される、請求項11~20のいずれかに記載の方法。
【請求項27】
4:2:0の前記カラーフォーマットの場合、前記第2の輝度ALF境界は、前記第1の輝度ALF境界と同じであると決定される、請求項26に記載の方法。
【請求項28】
4:2:0の前記カラーフォーマットの場合、前記第1の変数vbOffsetは、彩度ALF及び輝度ALFに対して同じである、請求項26又は27に記載の方法。
【請求項29】
前記第1の変数vbOffsetは、整数である、請求項28に記載の方法。
【請求項30】
前記第1の変数vboffsetは、4である、請求項28に記載の方法。
【請求項31】
4:2:0の前記カラーフォーマットの場合、前記第2の変数Mは、彩度ALFと輝度ALFに対して同じである、請求項26又は27に記載の方法。
【請求項32】
前記変数Mは、整数である、請求項31に記載の方法。
【請求項33】
前記変数Mは、3である、請求項31に記載の方法。
【請求項34】
前記第3の変数Nは、彩度ALFと輝度ALFに対して同じである、請求項26又は27に記載の方法。
【請求項35】
前記第4の変数Lは、彩度ALFおよび輝度ALFに対して同じである、請求項26又は27に記載の方法。
【請求項36】
4:2:2又は4:4:4の前記カラーフォーマットの場合、前記第2の輝度ALF境界は、前記第1の輝度ALF境界と異なると決定される、請求項26に記載の方法。
【請求項37】
4:2:2又は4:4:4である前記カラーフォーマットの場合、前記第1の変数vbOffsetは、彩度ALFと輝度ALFに対して異なる値を有する、請求項36に記載の方法。
【請求項38】
vbOffset1が前記彩度ALFに使用され、vbOffset2が前記輝度ALFに使用され、vbOffset1がvbOffset2に等しくない、請求項37に記載の方法。
【請求項39】
vbOffset1=2であり、vbOffset2=4である、請求項38に記載の方法。
【請求項40】
前記第1の変数vbOffsetは、前記カラーフォーマットが4:2:0と同じであるか又は異なるかによって、異なる値を有する、請求項36に記載の方法。
【請求項41】
4:2:2又は4:4:4である前記カラーフォーマットの場合、前記第2の変数M、前記第3の変数N、及び前記第4の変数Lの各々は、彩度ALFと輝度ALFに対して異なる値を有する、請求項36に記載の方法。
【請求項42】
M1が前記彩度ALFに使用され、M2が前記輝度ALFに使用され、M1がM2に等しくない、請求項41に記載の方法。
【請求項43】
M1=2であり、M2=3である、請求項42に記載の方法。
【請求項44】
N1が前記彩度ALFに使用され、N2が前記輝度ALFに使用され、N1がN2に等しくない、請求項41に記載の方法。
【請求項45】
N1=3であり、N2=5である、請求項44に記載の方法。
【請求項46】
L1が前記彩度ALFに使用され、L2が前記輝度ALFに使用され、L1がL2に等しくない、請求項41に記載の方法。
【請求項47】
L1=3であり、L2=5である、請求項46に記載の方法。
【請求項48】
前記第2の変数M、前記第3の変数N、及び前記第4の変数Lの各々は、前記カラーフォーマットが4:2:0と同じであるか又は異なっているかによって異なる値を有する、請求項36に記載の方法。
【請求項49】
4:2:2又は4:4:4である前記カラーフォーマットの場合、前記第2の輝度ALF境界は、クロス成分ALF(CC-ALF)に使用される前記第1のALF輝度境界と異なると決定される、請求項26に記載の方法。
【請求項50】
4:2:2又は4:4:4である前記カラーフォーマットの場合、前記第1の変数vbOffsetは、彩度ALF及び前記CC-ALFに対して異なる値を有する、請求項49に記載の方法。
【請求項51】
vbOffset1が前記彩度ALFに使用され、vbOffset2が前記CC-ALFに使用され、前記vbOffset1が前記vbOffset2に等しくない、請求項50に記載の方法。
【請求項52】
vbOffset1=2であり、vbOffset2=4である、請求項51に記載の方法。
【請求項53】
4:2:2又は4:4:4である前記カラーフォーマットの場合、前記第2変数M、前記第3変数N、及び前記第4変数Lは、彩度ALFと前記CC-ALFに対して異なる値を有する、請求項49に記載の方法。
【請求項54】
M1が、4:2:2又は4:4:4のカラーフォーマットによる前記彩度ALFに使用され、M2が前記CC-ALFに対して使用され、M2がM1に等しくない、請求項53に記載の方法。
【請求項55】
M1=2であり、M2=3である、請求項54に記載の方法。
【請求項56】
N1が、4:2:2又は4:4:4のカラーフォーマットによる前記彩度ALFに使用され、N2が前記CC-ALFに使用され、N1がN2に等しくない、請求項53に記載の方法。
【請求項57】
N1=3であり、N2=5である、請求項56に記載の方法。
【請求項58】
L1が、4:2:2又は4:4:4のカラーフォーマットによる前記彩度ALFに使用され、L2が前記CC-ALFに使用され、L1がL2に等しくない、請求項53に記載の方法。
【請求項59】
L1=3であり、L2=5である、請求項58に記載の方法。
【請求項60】
前記方法は、360度仮想境界に適用される、上記請求項のいずれかに記載の方法。
【請求項61】
前記変換は、前記映像を前記ビットストリームに符号化することを含む、請求項1~60のいずれかに記載の方法。
【請求項62】
前記変換は、前記ビットストリームから前記映像を復号することを含む、請求項1~60のいずれかに記載の方法。
【請求項63】
前記変換は、前記映像から前記ビットストリームを生成することを含み、前記方法は、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、請求項1~60のいずれかに記載の方法。
【請求項64】
請求項1~63のいずれか1項以上に記載の方法を実装するように構成された処理装置を備える映像処理装置。
【請求項65】
請求項1~63のいずれかに記載の方法を含み、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、映像のビットストリームを記憶する方法。
【請求項66】
実行されると、処理装置に、請求項1~63のいずれか1項以上に記載の方法を実装させるプログラムコードを記憶するコンピュータ可読媒体。
【請求項67】
上述した方法のいずれかに従って生成されたビットストリームを記憶する、コンピュータ可読媒体。
【請求項68】
請求項1~63のいずれか1項以上に記載の方法を実装するように構成された、ビットストリームを記憶するための映像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
パリ条約に基づく適用可能な特許法および/または規則に基づいて、本願は、2020年6月30日出願の国際特許出願第PCT/CN2020/099604号の優先権および利益を適時に主張することを目的とする。法に基づくすべての目的のために、上記出願の開示全体は、本願の開示の一部として参照により援用される。
【0002】
この特許明細書は、画像および映像コーディングおよび復号に関する。
【背景技術】
【0003】
デジタル映像は、インターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像を受信及び表示することが可能である接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。
【発明の概要】
【0004】
本明細書は、映像符号化または復号中に適応ループフィルタリングを行うために、映像エンコーダおよびデコーダによって使用され得る技術を開示する。
【0005】
1つの例示的な態様において、映像処理の方法が開示される。この方法は、映像の映像ユニットとこの映像のビットストリームとの間の変換のために、輝度適応ループフィルタが映像ユニットの輝度成分に選択的に適用される第1の輝度適応ループフィルタ(ALF)境界と第2の輝度ALF境界との第1の決定を行うことと、第2の輝度ALF境界から、映像ユニットの彩度成分のために彩度適応ループフィルタが選択的に適用される彩度ALF境界の第2の決定を行うことと、第1の決定及び第2の決定に基づいて変換を行うことと、を含む。
【0006】
さらに別の例示的な態様において、映像エンコーダ装置が開示される。この映像エンコーダは、上述した方法を実装するように構成されたプロセッサを備える。
【0007】
さらに別の例示的な態様において、映像デコーダ装置が開示される。この映像デコーダは、上述した方法を実装するように構成されたプロセッサを備える。
【0008】
さらに別の例示的な態様では、コードが記憶されたコンピュータ可読媒体が開示される。このコードは、本明細書に記載の方法の1つをプロセッサが実行可能なコードの形式で実施する。
【0009】
これらのおよび他の特徴は、本文書全体にわたって説明される。
【図面の簡単な説明】
【0010】
図1】ピクチャにおける4:2:2の輝度および彩度サンプルの名目上の垂直および水平の位置を示す。
図2】エンコーダブロック図の例を示す。
図3】12個のタイルと3つのラスタスキャンスライスに分割された、18×12個の輝度CTUを有する画像を示す。
図4】24個のタイルと9個の矩形スライスに分割された、18×12個の輝度CTUを有する画像を示す。
図5】4つのタイルと4つの矩形スライスに区分された画像を示す。
図6】15個のタイル、24個のスライス、及び24個のサブピクチャに分割されたピクチャを示す。
図7A】CTBが下側のピクチャの境界と交差していることを示す。
図7B】CTBが右側のピクチャの境界と交差していることを示す。
図7C】CTBが右下のピクチャの境界と交差していることを示す。
図8】ピクチャサンプルと、8×8のグリッド上の水平および垂直のブロック境界と、8×8のサンプルの重複していないブロックとを示し、これらは並列に非ブロック化され得る。
図9】フィルタのオン/オフ決定および強/弱フィルタの選択に関与する画素を示す。
図10】EOサンプルの分類のための4つの1次元方向パターンである、水平(EOクラス=0)、垂直(EOクラス=1)、斜め135°(EOクラス=2)、斜め45°(EOクラス=3)を示す。
図11】ALFフィルタの形状の例を示す(彩度:5×5菱形、輝度:7×7菱形)。
図12A】垂直方向勾配用のサブサンプリング位置を示す。
図12B】水平方向勾配用のサブサンプリング位置を示す。
図12C】対角勾配用のサブサンプリング位置を示す。
図12D】対角勾配用のサブサンプリング位置を示す。
図13】輝度成分用VTM-4.0中のループフィルタラインバッファ要件の例を示す。
図14】彩度成分用VTM-4.0中のループフィルタラインバッファ要件を図示する。
図15】仮想境界における修正されたブロック区分の例を示す。
図16】仮想境界における輝度成分のための修正されたALFフィルタリングの例を示す。
図17A】VBの上/下にある(辺ごとに)パディングされるべき1つの必要なラインを示す。
図17B】VBの上/下にある(辺ごとに)パディングされるべき2つの必要なラインを示す。
図17C】VBの上/下にある(辺ごとに)パディングされるべき3つの必要なラインを示す。
図18】ピクチャ/サブピクチャ/スライス/タイルの境界における輝度ALFフィルタリングのための反復パディングの例を示す。
図19】VVCにおける水平ラップアラウンドの動き補償の例を示す。
図20】3×2レイアウトのHEC画像を示す。
図21A】他のループフィルタに対するCC-ALFの配置を示す。
図21B】菱形フィルタを示す。
図22】JVET-P0080におけるCC-ALFのためのALF仮想境界における反復パディングの例を示す。
図23】8つの固有の係数を有する3×4菱形フィルタを示す。
図24】JVET-P1008におけるCC-ALFのためのALF仮想境界における反復パディングの例である。
図25】JVET-P0106における8つの係数のCC-ALFフィルタ形状を示す。
図26】JVET-P0173における6つの係数のCC-ALFフィルタ形状を示す。
図27】JVET-P0251における6つの係数のCC-ALFフィルタ形状を示す。
図28】JC-CCALFワークフローの例を示す。
図29】8タップ4×3フィルタ形状を有するCC-ALFフィルタリング法においてパディング対象のサンプルの例示的な位置を示す。
図30】ミラーパディング方法1の例を示す。
図31】ミラーパディング方法2の例を示す。
図32】開示された技術を実装することができる例示的な映像処理システムを示すブロック図である。
図33】映像処理に使用されるハードウェアプラットフォームの例を示すブロック図である。
図34】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートを示す。
図35】本開示のいくつかの実施形態による映像コーディングシステムを示すブロック図である。
図36】本発明のいくつかの実施形態によるエンコーダを示すブロック図である。
図37】本発明のいくつかの実施形態によるデコーダを示すブロック図である。
図38】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートを示す。
【発明を実施するための形態】
【0011】
本明細書では、理解を容易にするために章の見出しを使用しており、その技術および各章に記載された実施形態の適用可能性をその章のみに限定するものではない。さらに、H.266という用語は、ある説明において、理解を容易にするためだけに用いられ、開示される技術の範囲を限定するために用いられたものではない。このように、本明細書で説明される技術は、他の映像コーデックプロトコル及び設計にも適用可能である。
【0012】
1. 簡潔な導入
本明細書は、映像コーディング技術に関する。具体的には、本発明は、ピクチャ/サブピクチャ/スライス/タイル境界、360度映像仮想境界およびALF仮想境界コーディングに関し、特に、画像/映像コーディングにおけるクロス成分適応ループフィルタ(CC-ALF)および他のコーディングツールに関する。HEVCのような既存の映像コーディング規格に適用してもよいし、規格(Versatile Video Coding)を確定させるために適用してもよい。本発明は、将来の映像コーディング規格または映像コーデックにも適用可能である。
【0013】
2. 映像コーディングの導入
映像コーディング規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発展してきた。ITU-TはH.261とH.263を作り、ISO/IECはMPEG-1とMPEG-4 Visualを作り、両団体はH.262/MPEG-2 VideoとH.264/MPEG-4 AVC(Advanced Video Coding)とH.265/HEVC規格を共同で作った。H.262以来、映像コーディング規格は、時間予測と変換コーディングが利用されるハイブリッド映像コーディング構造に基づく。HEVCを超えた将来の映像コーディング技術を探索するため、2015年には、VCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Mode)と呼ばれる参照ソフトウェアに組み込まれてきた。2018年4月には、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)の間にJVET(Joint Video Expert Team)が発足し、HEVCと比較して50%のビットレート削減を目標にVVC規格の策定に取り組んでいる。
【0014】
VVCドラフトの最新バージョン、即ち、Versatile Video Coding(ドラフト7)は、以下を参照することができる。
【0015】
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/16_Geneva/wg11/JVET-P2001-v14.zip
【0016】
VTMと呼ばれるVVCの最新の参照ソフトウェアは、以下で確認することができる。
【0017】
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/tags/VTM-7.0
【0018】
2.1. 色空間及び彩度サブサンプリング
色空間は、カラーモデル(又は表色系)としても知られ、色の範囲を数字のタプル(tuple)として簡単に記述する抽象的な数学モデルであり、典型的には3又は4つの値又は色成分(例えば、RGB)である。基本的には、色空間は座標系とサブ空間とを精緻化したものである。
【0019】
映像圧縮の場合、最も頻繁に使用される色空間は、YCbCr及びRGBである。
【0020】
YCbCr、Y’CbCr、またはY Pb/Cb Pr/Crは、YCBCR またはY’CBCRとも記述され、カラー画像のパイプライン映像およびデジタル写真システムの一部として使用される色空間のファミリである。Y’は輝度成分であり、CBとCRは青色差および赤色差の彩度成分である。Y’(プライム付き)は、輝度であるYと区別され、ガンマ補正されたRGBプライマリーに基づいて光強度が非線形に符号化されることを意味する。
【0021】
彩度サブサンプリングは、人間の視覚システムが、輝度よりも色差の方が知覚が低いことを利用して、輝度情報よりも彩度情報の方が解像度が低くなるように実装してピクチャを符号化する方法である。
【0022】
2.1.1. 4:4:4
3つのY’CbCr成分の各々は、同じサンプルレートを有し、従って、彩度サブサンプリングはない。この方式は、ハイエンドフィルムスキャナ及び映画の撮影後の編集に用いられることがある。
【0023】
2.1.2. 4:2:2
2つの彩度成分は、輝度のサンプルレートの半分でサンプリングされ、水平彩度解像度は半分にされ、垂直彩度解像度は変化しない。これにより、視覚的にほとんどまたは全く差がなく、非圧縮の映像信号の帯域幅を1/3に低減することができる。4:2:2カラーフォーマットの名目上の垂直および水平の位置の例が、例えば、VVC作業草案の図1に示されている。
【0024】
2.1.3. 4:2:0
4:2:0では、水平サンプリングは4:1:1に比べて2倍になるが、この方式ではCbとCrチャンネルを各交互のラインでのみサンプリングするため、垂直解像度が半分になる。従って、データレートは同じである。Cb及びCrはそれぞれ水平及び垂直方向の両方に2倍ずつサブサンプリングされる。異なる水平及び垂直位置を有する4:2:0スキームの3つの変形がある。
・MPEG-2において、CbおよびCrは水平方向に共座している(cosited)。Cb及びCrは垂直方向の画素間に位置する(格子間に位置する)。
・JPEG/JFIFにおいて、H.261、およびMPEG-1、Cb、およびCrは、交互の輝度サンプルの中間の格子間に位置する。
・4:2:0 DVにおいて、CbおよびCrは、水平方向に共座している。垂直方向には、それらは交互に共座している。
【0025】
【表1】
【0026】
2.2. 典型的な映像コーデックのコーディングフロー
図2は、3つのインループフィルタリングブロック、すなわち非ブロック化フィルタ(DF)、サンプル適応オフセット(SAO)およびALFを含むVVCのエンコーダブロック図の例を示す。予め定義されたフィルタを使用するDFとは異なり、SAOおよびALFは、現在のピクチャのオリジナルサンプルを利用し、オフセットおよびフィルタ係数を信号通知するコーディングされた側の情報を用いて、それぞれ、オフセットを追加することにより、および、FIR(Finite Impulse Response)フィルタを適用することにより、元のサンプルと再構成サンプルとの間の平均二乗誤差を低減する。ALFは、各ピクチャの最後の処理段階に位置し、前の段階で生成されたアーチファクトを捕捉および修正しようとするツールと見なすことができる。
【0027】
2.3. 映像ユニットの定義例
1つのピクチャは、1つ以上のタイル行および1つ以上のタイル列に分割される。1つのタイルは、1つの画像の1つの矩形領域を覆う1つのCTUのシーケンスである。1つのタイルにおけるCTUは、そのタイル内でラスタスキャン順にスキャンされる。
【0028】
1つのスライスは、1つのピクチャのタイル内において、整数個の完全なタイルまたは整数個の連続した完全なCTU行を含む。
【0029】
2つのモードのスライス、即ちラスタスキャンスライスモードおよび矩形スライスモードに対応している。ラスタスキャンスライスモードにおいて、1つのスライスは、1つのピクチャのタイルラスタスキャンにおける1つの完全なタイルのシーケンスを含む。矩形スライスモードにおいて、1つのスライスは、ピクチャの矩形領域を集合的に形成する複数の完全なタイル、またはピクチャの矩形領域を集合的に形成する1つのタイルの複数の連続した完全なCTU行のいずれかを含む。矩形スライス内のタイルを、そのスライスに対応する矩形領域内で、タイルラスタスキャンの順にスキャンする。
【0030】
1つのサブピクチャは、1つのピクチャの矩形領域を集合的に覆う1つ以上のスライスを含む。
【0031】
図3は、ピクチャのラスタスキャンスライス区分の例を示し、ピクチャは、12個のタイルおよび3個のラスタスキャンスライスに分割する。
【0032】
VVCの仕様における図4は、ピクチャの矩形スライス分割の例を示し、ピクチャは、24個のタイル(6個のタイル列および4個のタイル行)と9個の矩形スライスとに分割される。
【0033】
図4は、24個のタイルと9個の矩形スライスに分割された、18×12個の輝度CTUを有する画像である。
【0034】
図5は、タイルおよび矩形のスライスに分割されたピクチャの例を示し、このピクチャは、4つのタイル(2つのタイルの列および2つのタイルの行)と4つの矩形スライスとに分割される。
【0035】
図6は、ピクチャをサブピクチャで分割する例を示し、ピクチャは、4×4個のCTU、24個のスライス、および24個の異なる寸法のサブピクチャを含む15個のタイルに分割される。
【0036】
2.3.1. CTU/CTBサイズ
【化1】
【0037】
【表2】

【表3】

【表4】
【0038】
【化2】
【0039】
変数CtbLog2SizeY,CtbSizeY,MinCbLog2SizeY,MinCbSizeY,MinTbLog2SizeY,MaxTbLog2SizeY,MinTbSizeY,MaxTbSizeY,PicWidthInCtbsY,PicHeightInCtbsY,PicSizeInCtbsY,PicWidthInMinCbsY,PicHeightInMinCbsY,PicSizeInMinCbsY,PicSizeInSamplesY,PicWidthInSamplesCおよびPicHeightInSamplesCは、以下のように導出される。
CtbLog2SizeY = log2_ctu_size_minus2+2 (7-9)
CtbSizeY = 1<<CtbLog2SizeY (7-10)
MinCbLog2SizeY = log2_min_luma_coding_block_size_minus2+2 (7-11)
MinCbSizeY = 1<<MinCbLog2SizeY (7-12)
MinTbLog2SizeY = 2 (7-13)
MaxTbLog2SizeY = 6 (7-14)
MinTbSizeY = 1<<MinTbLog2SizeY (7-15)
MaxTbSizeY = 1<<MaxTbLog2SizeY (7-16)
PicWidthInCtbsY = Ceil(pic_width_in_luma_samples÷CtbSizeY) (7-17)
PicHeightInCtbsY = Ceil(pic_height_in_luma_samples÷CtbSizeY) (7-18)
PicSizeInCtbsY = PicWidthInCtbsY*PicHeightInCtbsY (7-19)
PicWidthInMinCbsY = pic_width_in_luma_samples/MinCbSizeY (7-20)
PicHeightInMinCbsY = pic_height_in_luma_samples/MinCbSizeY (7-21)
PicSizeInMinCbsY = PicWidthInMinCbsY*PicHeightInMinCbsY (7-22)
PicSizeInSamplesY = pic_width_in_luma_samples*pic_height_in_luma_samples (7-23)
PicWidthInSamplesC = pic_width_in_luma_samples/SubWidthC (7-24)
PicHeightInSamplesC = pic_height_in_luma_samples/SubHeightC (7-25)
【0040】
2.3.2. ピクチャにおけるCTU
【化3】
【0041】
図7は、ピクチャの境界と交差するCTBの例を示しており、(a)K=M,L<N;(b)K<M,L=N;(c)K<M,L<Nである。また、(a)はCTBが下側のピクチャの境界と交差していることを示し、(b)はCTBが右側のピクチャの境界と交差していることを示し、(c)はCTBが右下のピクチャの境界と交差していることを示す。
【0042】
2.4. 非ブロック化フィルタ(DB)
【化4】
【0043】
まずピクチャの垂直エッジを選別する。そして、垂直エッジフィルタリング処理で修正されたサンプルを入力として、ピクチャの水平エッジをフィルタリングする。各CTUのCTBにおける垂直および水平エッジは、コーディングユニットごとに別個に処理される。コーディングユニットにおけるコーディングブロックの垂直エッジは、コーディングブロックの左側のエッジから始まり、コーディングブロックの右側に向かってそれらの幾何学的な順序でエッジを通って進むようにフィルタリングされる。符号化ユニットにおける符号化ブロックの水平エッジは、符号化ブロックの上側のエッジから始まり、符号化ブロックの下側に向かってそれらの幾何学的順にエッジを通って進むようにフィルタリングされる。
【0044】
図8は、ピクチャサンプルと、8×8のグリッド上の水平および垂直のブロック境界と、8×8のサンプルの重複していないブロックとを示し、これらは並列に非ブロック化され得る。
【0045】
2.4.1. 境界の決定
8×8のブロック境界にフィルタリングを適用する。さらに、それは、(例えば、アフィン動き予測、ATMVPを使用しているため)変換ブロックの境界またはコーディングサブブロックの境界でなければならない。そのような境界でない場合、フィルタは無効にされる。
【0046】
2.4.2. 境界強度計算
変換ブロックの境界/コーディングサブブロックの境界に対して、それが8×8グリッドに位置する場合、それをフィルタリングしてもよく、このエッジに対するbS[xDi][yDj]([xDi][yDj]は座標を表す)の設定は、それぞれ、表2-2および表2-3で定義している。
【0047】
【表5】

【表6】
【0048】
2.4.3. 輝度成分の非ブロック化決定
非ブロック化決定処理は、このサブセクションで説明する。
【0049】
より広く、強い輝度フィルタは、条件1、条件2、および条件3の全てがTRUEである場合にのみ使用されるフィルタである。
条件1は、「ラージブロック条件」である。この条件は、P側およびQ側のサンプルが、それぞれ変数bSidePisLargeBlkおよびbSideQisLargeBlkによって表現されるラージブロックに属するかどうかを検出する。bSidePisLargeBlkおよびbSideQisLargeBlkは、以下のように定義される。
bSidePisLargeBlk=((edge type is vertical and p belongs to CU with width>=32)||(edge type is horizontal and p belongs to CU with height>=32))?TRUE:FALSE
bSideQisLargeBlk=((edge type is vertical and q belongs to CU with width>=32)||(edge type is horizontal and q belongs to CU with height>=32))?TRUE:FALSE
【0050】
【化5】
【0051】
【化6】
【0052】
条件1および条件2が有効である場合、いずれかのブロックがサブブロックを使用するかどうかをさらにチェックする。
If(bSidePisLargeBlk)

If(mode block P==SUBBLOCKMODE)
Sp=5
else
Sp=7

else
Sp=3
If(bSideQisLargeBlk)

If(mode block Q==SUBBLOCKMODE)
Sq=5
else
Sq=7

else
Sq = 3
【0053】
【化7】
【0054】
2.4.4. 輝度のためのより強い非ブロック化フィルタ(より大きいブロックのために設計される)
バイリニアフィルタは、境界のいずれか一方の側のサンプルが1つの大ブロックに属する場合に用いられる。1つの大ブロックに属する1つのサンプルは、垂直エッジの場合、幅≧32であり、水平エッジの場合、高さ≧32であるときとして定義される。
【0055】
バイリニアフィルタを以下に示す。
【0056】
次に、上述のHEVC非ブロック化において、i=0~Sp-1では、ブロックの境界サンプルp、j=0~Sq-1ではq(pi、qiは、垂直エッジをフィルタリングする行内のi番目のサンプル、または水平エッジをフィルタリングする列内のi番目のサンプル)を、以下のように線形補間によって置き換える。
【0057】
【数1】
【0058】
tcPDおよびtcPD項は、章2.4.7に記載の位置依存クリッピングであり、gj、i、Middles,t、PおよびQは、以下に示される。
【0059】
2.4.5. 彩度の非ブロック化制御
彩度の強いフィルタは、ブロックの境界の両側に用いられる。ここで、彩度フィルタは、彩度エッジの両側が8(彩度位置)以上である場合に選択され、次の3つの条件を満たす決定が行われる。第1は、ラージブロックと同様に境界強度の決定である。提案されたフィルタは、彩度サンプルドメインにおいて、ブロックのエッジに直交するブロックの幅または高さが8以上である場合に適用できる。第2および第3は、基本的にはHEVC輝度の非ブロック化の決定と同じであり、それぞれオン/オフの決定、および、強いフィルタの決定である。
【0060】
第1の決定において、彩度フィルタリングのために境界強度(bS)が修正され、条件が順次チェックされる。条件が満たされている場合、残りの優先順位の低い条件はスキップされる。
【0061】
大きいブロックの境界が検出された場合、bSが2に等しいか、またはbSが1に等しいとき、彩度非ブロック化が行われる。
【0062】
第2および第3の条件は、基本的には、以下のように、HEVC輝度の強いフィルタの決定と同様である。
第2の条件において、
その後、HEVC輝度非ブロック化と同様にdを導出する。
第2の条件は、dがβより小さい場合、TRUEとなる。
第3の条件において、StrongFilterConditionは、以下のように導出される。
dpqはHEVCと同様に導出される。
sp=Abs(p-p)、HEVCと同様に導出される
sq=Abs(q-q)、HEVCと同様に導出される
【0063】
HEVC設計におけるように、StrongFilterCondition=(dpqが(β>>2)未満であり、sp+sqが(β>>3)未満であり、Abs(p-q)が(5*t+1)>>1未満である。)
【0064】
2.4.6. 彩度用の強い非ブロック化フィルタ
以下のような彩度用の強い非ブロック化フィルタが定義される。
′=(3*p+2*p+p+p+q+4)>>3
′=(2*p+p+2*p+p+q+q+4)>>3
′=(p+p+p+2*p+q+q+q+4)>>3
【0065】
提案された彩度フィルタは、4×4彩度サンプルグリッドに対して非ブロック化を行う。
【0066】
2.4.7. 位置依存クリッピング
位置依存クリッピングtcPDは、境界で7個、5個、および3個のサンプルを修正する強く長いフィルタを含む輝度フィルタリング処理の出力サンプルに適用される。量子化誤差分布を仮定して、より高い量子化ノイズを有すると予想されるサンプルに対して、クリッピング値を増加させることが提案され、よって、再構成されたサンプル値の真のサンプル値からのより高い偏差を有することが予想される。
【0067】
【化8】
【0068】
【化9】
【0069】
【化10】
【0070】
【化11】
【0071】
2.4.8. サブブロックの非ブロック化調整
両方のロングフィルタを使用する並列フレンドリな非ブロック化およびサブブロック非ブロック化を可能にするために、ロングフィルタは、ロングフィルタのための輝度制御に示すように、サブブロック非ブロック化(AFFINE、ATMVP、またはDMVR)を使用する側でのサンプルの修正が、最大で5つまでに制限される。さらに、サブブロックの非ブロック化は、CUまたは暗黙のTU境界に近い8×8グリッド上のサブブロック境界の修正が、各側において最大2つまでのサンプルに制限されるように調整される。
以下は、CU境界と整列されていないサブブロック境界に適用される。
If(mode block Q==SUBBLOCKMODE && edge!=0){
if(!(implicitTU && (edge==(64/4))))
if(edge==2||edge==(orthogonalLength-2)||edge==(56/4)||edge==(72/4))
Sp=Sq=2;
else
Sp=Sq=3;
else
Sp=Sq=bSideQisLargeBlk?5:3
【0072】
この場合、0に等しいエッジはCU境界に対応し、2に等しいかまたは直交長さ-2に等しいエッジは、CU境界からのサブブロックの境界8サンプルに対応する。ここで、TUの暗黙的分割が使用される場合、暗黙的TUは真である。
【0073】
2.5. サンプル適応オフセット(Sample Adaptive Offset:SAO)
【化12】
【0074】
HEVCには、低複雑性の要件を満たすことができる2つのSAOタイプが採用されている。これらの2つのタイプは、エッジオフセット(EO)およびバンドオフセット(BO)であり、これらについては以下でさらに詳細に説明する。SAOタイプのインデックスがコーディングされる(これは、[0,2]の範囲内にある)。EOの場合、サンプル分類は、水平、垂直、斜め135°、および斜め45°などの1次元方向パターンに従って、現在のサンプルと近隣のサンプルとを比較することに基づく。
【0075】
図10A図10Dは、EOサンプルの分類のための4つの1次元方向パターンである、水平(EOクラス=0)、垂直(EOクラス=1)、斜め135°(EOクラス=2)、斜め45°(EOクラス=3)を示す。
【0076】
所与のEOクラスに対して、CTB内の各サンプルを5つのカテゴリの1つに分類される。「c」とラベル付けされた現在のサンプル値を、選択された1次元パターンに沿った(「a」および「b」とラベル付けされた)その2つの近隣部分と比較する。各サンプルの分類規則を表2-4にまとめる。カテゴリ1および4は、それぞれ、選択された1次元パターンに沿った局所的な谷および局所的なピークに関連付けられる。カテゴリ2および3は、それぞれ、選択された1次元パターンに沿った凹面および凸面の角に関連付けられる。現在のサンプルがEOカテゴリ1~4に属さない場合、それはカテゴリ0であり、SAOは適用されない。
【0077】
【表7】
【0078】
2.6. 適応ループフィルタ(ALF)
VVCにおいて、ブロックベースのフィルタ適応を伴うALF(Adaptive Loop Filter)が適用される。輝度成分に対し、局所勾配の方向および働きに基づいて、4×4のブロックごとに25個のフィルタのうちの1つが選択される。
【0079】
2.6.1. フィルタ形状
2つの菱形フィルタ形状(図11に示す)が使用される。輝度成分に対し7×7の菱形が適用され、彩度成分には5×5の菱形が適用される。
【0080】
図11はALFフィルタの形状を示す(彩度:5×5菱形、輝度:7×7菱形)。
【0081】
2.6.2. ブロック区分
【化13】
【0082】
【数2】
【0083】
【化14】
【0084】
【数3】
【0085】
ここで、インデックスiおよびjは、4×4ブロック内の左上のサンプルの座標を表し、R(i,j)は、座標(i,j)における再構成されたサンプルを示す。
【0086】
ブロック区分の複雑性を低減するために、サブサンプリングされた1-Dラプラシアン計算が適用される。図2-1に示すように、すべての方向の勾配計算に同じサブサンプリング位置を用いる。
【0087】
【化15】
【0088】
そして、水平方向および垂直方向の勾配のD最大値およびD最小値を以下のように設定する。
【0089】
【数4】
【0090】
2つの対角線方向の勾配の最大値および最小値は、以下のように設定される。
【0091】
【数5】
【0092】
【化16】
【0093】
アクティビティ値Aは、以下のように計算される。
【0094】
【数6】
【0095】
【化17】
【0096】
ピクチャにおける彩度成分に対して、分類方法は適用されず、即ち、単一のALF係数のセットが各彩度成分に対して適用される。
【0097】
2.6.3. フィルタ係数およびクリッピング値の幾何学的変換
各4×4輝度ブロックをフィルタリングする前に、そのブロックに対して計算された勾配値に基づいて、フィルタ係数f(k,l)および対応するフィルタクリッピング値c(k,l)に対して、回転または対角線および垂直方向の反転等の幾何学的変換を施す。これは、これらの変換をフィルタサポート領域内のサンプルに適用することに等しい。その考えは、ALFが適用される異なるブロックを、それらの方向性を揃えることによって、より類似させることである。
対角線、垂直方向の反転および回転を含む3つの幾何学的変換を紹介する。
【0098】
【数7】
【0099】
ここで、Kはフィルタのサイズであり、0≦k,l≦K-1が係数座標であり、位置(0,0)は左上隅にあり、位置(K-1,K-1)は右下隅にある。変換は、そのブロックに対して計算された勾配値に基づいて、フィルタ係数f(k,l)およびクリッピング値c(k,l)に適用される。変換と4方向の4つの勾配との関係を以下の表にまとめる。
【0100】
【表8】
【0101】
2.6.4. フィルタパラメータ信号通知
ALFフィルタパラメータは、適応パラメータセット(APS)において信号通知される。1つのAPSにおいて、最大25組の輝度フィルタ係数およびクリッピング値インデックス、並びに最大8組の彩度フィルタ係数およびクリッピング値インデックスを信号通知することができる。ビットオーバーヘッドを低減するために、輝度成分の異なる分類のフィルタ係数をマージすることができる。スライスヘッダにおいて、現在のスライスに使用されるAPSのインデックスが信号通知される。
【0102】
APSから復号化されたクリッピング値インデックスは、輝度および彩度成分両方に対するクリッピング値のテーブルを使用してクリッピング値を判定することを可能にする。これらのクリッピング値は、内部ビット深度に依存する。より正確には、クリッピング値は、以下の式によって求められる。
【0103】
【数8】
【0104】
ここで、Bは内部ビット深度に等しく、αは予め定義された定数2.35に等しく、NはVVCにおいて許容されるクリッピング値の数である4に等しい。
【0105】
スライスヘッダにおいて、現在のスライスに使用される輝度フィルタ集合を規定するように、最大7つのAPSインデックスを信号通知することができる。フィルタリング処理はCTBレベルでさらに制御されてもよい。ALFが輝度CTBに適用されるかどうかを示すために、常に1つのフラグが信号通知される。1つの輝度CTBは、16個の固定フィルタセットと複数のAPSからのフィルタセットから、1つのフィルタセットを選択することができる。どのフィルタセットが適用されるかを示すように、輝度CTBのためにフィルタセットインデックスが信号通知される。エンコーダおよびデコーダの両方において、16個の固定フィルタセットを予め規定し、ハードコードする。
【0106】
彩度成分の場合、現在のスライスに使用されている彩度フィルタ集合を示すように、スライスヘッダにAPSインデックスを信号通知する。CTBレベルにおいて、APSにおいて2以上の彩度フィルタセットが存在する場合、各彩度CTBに対しフィルタインデックスを信号通知する。
【0107】
フィルタ係数は、128に等しいノルムで量子化される。乗算の複雑性を抑えるために、非中心位置の係数値が-2~2-1の範囲内に含まれるように、ビットストリーム適合性が適用される。中心位置係数はビットストリームにおいて信号通知されず、128に等しいと見なされる。
【0108】
2.6.5. フィルタリング処理
デコーダ側において、CTBのためにALFが有効化されると、CU内の各サンプルR(i,j)がフィルタリングされ、その結果、以下に示すように、サンプル値R’(i,j)が得られる。
【0109】
【数9】
【0110】
【化18】
【0111】
2.6.6. 行バッファ削減のための仮想境界フィルタリング処理
ハードウェアおよび組み込みソフトウェアにおいて、ピクチャベースの処理は、その高いピクチャバッファ要件のために、実際には受け入れられない。オンチップピクチャバッファの使用は非常に高価であり、オフチップピクチャバッファの使用は、外部メモリアクセス、電力消費、およびデータアクセス待ち時間を大幅に増加させる。そのため、実際の製品において、DF、SAO、ALFをピクチャベースの復号からLCUベースの復号に変更することになる。DF、SAO、ALFにLCUベースの処理を使用する場合、複数のLCUを並列処理するために、LCUパイプライン方式を用いたラスタスキャンでLCUごとに全体の復号処理を行うことができる。この場合、1つのLCU行を処理するには上側のLCU行からのピクセルが必要であるので、DF、SAO、およびALFのためにラインバッファが必要である。オフチップラインバッファ(例えば、DRAM)を使用する場合、外部メモリの帯域幅および消費電力が増大し、オンチップラインバッファ(例えば、SRAM)を使用する場合、チップ面積が増大する。従って、ラインバッファは既にピクチャバッファよりも遥かに小さいが、ラインバッファを低減することが依然として望ましい。
【0112】
VTM-4.0において、図13に示すように、輝度成分に必要なラインバッファの総数は11.25ラインである。ラインバッファ要件の説明は以下のとおりである。CTUエッジと重複する水平エッジの非ブロック化は、決定およびフィルタリングに第1のCTUからのラインK、L、M、M、および最下のCTUからのラインO、Pを必要とするので、実行できない。そのため、CTU境界と重なる水平エッジの非ブロック化は、下側CTUが来るまで延期される。従って、ラインK、L、M、Nに対して、再構成された輝度サンプルをラインバッファ(4ライン)に記憶しなければならない。次に、ラインA~Jに対してSAOフィルタリングを行うことができる。非ブロック化はラインKにおけるサンプルを変更しないため、ラインJはSAOフィルタリングすることができる。ラインKのSAOフィルタリングの場合、エッジオフセット分類決定はラインバッファにのみ記憶される(これは0.25輝度ラインである)。ALFフィルタリングは、ラインA~Fに対してのみ行い得る。図13に示すように、4×4ブロックごとにALF分類を行う。各4×4ブロック分類は、8×8のサイズのアクティビティ窓を必要とし、このアクティビティ窓は、1dラプラシアンを計算して勾配を決定するために9×9の窓を必要とする。
【0113】
従って、ラインG、H、I、Jと重なる4×4ブロックのブロック分類のために、Jは、仮想境界より下のSAOフィルタリングされたサンプルを必要とする。さらに、ALF分類のために、ラインD、E、FのSAOフィルタリングされたサンプルが必要である。さらに、ラインGのALFフィルタリングは、上側のラインから3つのSAOフィルタリングされたラインD、E、Fを必要とする。従って、総ラインバッファ要件は、以下のとおりである。
-ラインK-N(水平DFピクセル):4ライン
-ラインD-J(SAOフィルタリングされたピクセル):7ライン
-ラインJとラインKとの間のSAOエッジオフセット分類子値:0.25ライン
【0114】
従って、必要とされる輝度ラインの総数は、7+4+0.25=11.25である。
【0115】
同様に、彩度成分のラインバッファ要求は図14に例示されている。彩度成分のためのラインバッファ要件は、6.25ラインであると評価される。
【0116】
図13は、輝度成分用VTM-4.0中のループフィルタラインバッファ要件を示す。
【0117】
図14は、彩度成分用VTM-4.0中のループフィルタラインバッファ要件を示す。
【0118】
SAOおよびALFのラインバッファ要件を排除するために、最近のVVCにおいて、仮想境界(VB:Virtual Boundary)の概念が導入されてALFのラインバッファ要件を低減する。水平CTU境界付近のサンプルに対して修正されたブロック区分およびフィルタリングが用いられる。図13に示すように、VBは、水平LCU境界においてN個のピクセルだけ上向きにシフトされている。LCUごとに、SAOおよびALFは、下側LCUが来る前に、VBより上のピクセルを処理することができるが、下側LCUが来るまで、VBより下のピクセルを処理することはできず、これは、DFによってもたらされる。ハードウェアの実装コストを勘案し、提案したVBと水平LCU境界との間の空間を、輝度成分が4ピクセル(即ち、図13または図15におけるN=4)、彩度成分が2ピクセル(即ち、N=2)として設定する。
【0119】
図15は、仮想境界における修正されたブロック区分を示す。
【0120】
図16に示すように、輝度成分に対して修正されたブロック区分を適用する。仮想境界より上の4×4ブロックの1Dラプラシアン勾配計算のために、仮想境界より上のサンプルのみを使用する。同様に、仮想境界より下の4×4のブロックの1Dラプラシアン勾配計算のために、仮想境界より下のサンプルのみを使用する。従って、1Dラプラシアン勾配計算に使用されるサンプルの低減された数を考慮に入れることで、アクティビティ値Aの量子化を拡大縮小する。
【0121】
フィルタリング処理のために、仮想境界におけるミラーリングされた(対称)パディング演算が、輝度成分および彩度成分の両方に使用される。図16に示すように、フィルタリングされるサンプルが仮想境界の下に位置する場合、仮想境界の上に位置する近隣のサンプルにパディングを行う。一方、他方の側の対応するサンプルもまた、対称的にパディングされる。
【0122】
図16は、仮想境界における輝度成分のための修正されたALFフィルタリングを示す。
【0123】
他の例として、(i,j)に位置する1つのサンプル(例えば、図17Bに点線で示されるP0A)をパディングする場合、図17A~17Cに示すように、同じフィルタ係数を共有する(m,n)に位置する対応するサンプル(例えば、図17Bに点線で示されるP3B)もまた、サンプルが利用可能でもパディングを行う。
【0124】
図17Aは、VBの上/下に1つの必要な線を(一辺ごとに)パディングする必要があることを示している。
【0125】
図17Bは、VBの上/下に2つの必要な線を(一辺ごとに)パディングする必要があることを示している。
【0126】
図17Cは、VBの上/下に3つの必要な線を(一辺ごとに)パディングする必要があることを示している。
【0127】
図27は、仮想境界における修正輝度ALFフィルタリングの例を示す。
【0128】
水平CTU境界で使用されるミラー(対称)パディング方法とは異なり、境界を横切るフィルタリングが無効にされる場合、スライス、タイル、およびサブピクチャの境界に対して反復(片側)パディング処理が適用される。ピクチャの境界においても、反復(片側)パディング処理が適用される。パディングされたサンプルは、分類およびフィルタリング処理の両方に使用される。図18は、ピクチャ/サブピクチャ/スライス/タイルの境界における輝度ALFフィルタリングのための反復パディング法の例を示す。
【0129】
図18は、ピクチャ/サブピクチャ/スライス/タイルの境界における輝度ALFフィルタリングのための反復パディングの例を示す。
【0130】
2.7. 360度映像コーディング
VTM5における水平ラップアラウンドの動き補償は、正距円筒図法(ERP)投影フォーマットにおける再構成された360度映像の視覚品質を改善するように設計された360度固有のコーディングツールである。従来の動き補償において、動きベクトルが参照ピクチャにおけるピクチャの境界を超えるサンプルを指す場合、反復パディングを適用し、対応するピクチャの境界における最も近い近隣のものからコピーすることによって、境界外サンプルの値を導出する。360度映像の場合、この反復パディング方法は適しておらず、再構成されたビューポート映像において、「シームアーチファクト」と呼ばれる視覚的アーチファクトを引き起こす可能性がある。360度の映像は球面上で撮影され、本質的に「境界」を有していないため、投影されたドメインにおいて参照ピクチャの境界外の参照サンプルは、常に球面ドメインにおける近隣のサンプルから得ることができる。一般的な投影フォーマットの場合、2Dから3Dおよび3Dから2Dへの座標変換、並びに端数のサンプルの位置のためのサンプル補間を含むので、球面ドメインにおける対応する近隣のサンプルを導出することは困難となり得る。この問題は、ERP投影フォーマットの左右の境界の場合ははるかに簡単である。何故なら、左側のピクチャの境界外の球面の近隣部分は、右側のピクチャの境界の内側のサンプルから得ることができ、逆もまた同様であるからである。
図19は、VVCにおける水平ラップアラウンドの動き補償の例を示す。
【0131】
【化19】
【0132】
複数の面からなる投影フォーマットの場合、どの種のコンパクトなフレームパッキング配列を使用しても、フレームパッキングされたピクチャにおいて、2つ以上の隣り合う面間に不連続部分が現れる。例えば、図20に示された3×2フレームパッキング構成を考えてみると、上半分の3つの面は、3D形状において連続しており、下半分の3つの面は、3D形状において連続しているが、フレームパッキングされたピクチャの上半分および下半分は、3D形状において不連続である。この不連続部分にわたってインループフィルタリング動作を行うと、再構成された映像において面のシームアーチファクトが見えるようになることがある。
【0133】
【化20】
【0134】
図20は、3×2レイアウトにおけるHECの画像を示す。
【0135】
2.8. JVET-P0080:CE5-2.1,CE5-2.2:クロス成分適応ループフィルタ
図21Aは、他のループフィルタに対するCC-ALFの配置を示す。CC-ALFは、彩度成分ごとに輝度チャネルに線形菱形フィルタ図21Bを適用することによって動作し、以下のように表される。
【0136】
【数10】
【0137】
図21Aは他のループフィルタに対するCC-ALFの配置を示し、図21Bは菱形フィルタを示す。
【0138】
輝度平面と彩度平面との間の空間倍率に基づいて、サポート領域の中心となる輝度位置(x,y)を計算する。すべてのフィルタ係数はAPSで送信され、8ビットのダイナミックレンジを有する。スライスヘッダにおいて、APSが参照されてもよい。スライスの彩度成分ごとに使用されるCC-ALF係数も、時間的サブレイヤに対応するバッファに記憶される。これらの時間的サブレイヤフィルタ係数セットの再利用は、スライスレベルフラグを使用して容易になる。CC-ALFフィルタの適用は、可変ブロックサイズ(即ち、16×16、32×32、64×64、128×128)で制御され、サンプルのブロックごとに受信されたコンテキスト符号化フラグによって信号通知される。ブロックサイズは、CC-ALF有効化フラグと共に、彩度成分ごとにスライスレベルで受信される。水平方向の仮想境界のための境界パディングは、繰り返しを利用する。残りの境界については、通常のALFと同じタイプのパディングを使用する。
【0139】
2.8.1. JVET-P0080におけるCC-ALFの仕様
x.x.x.x 彩度サンプルのブロックのためのクロス成分フィルタリング処理
この処理の入力は以下の通りである。
-輝度適応ループフィルタリング処理の前に再構成された輝度ピクチャサンプルアレイrecPicture
-フィルタリングされた再構成彩度ピクチャサンプルアレイalfPicture
-現在のピクチャの左上のサンプルに対する彩度サンプルの現在のブロックの左上のサンプルを規定する彩度位置(xC,yC)
-彩度サンプルのブロックの幅ccAlfWidth
-彩度サンプルのブロックの高さccAlfHeight
-j=0..13であるクロス成分フィルタ係数CcAlfCoeff[j]
この処理の出力は、修正され、フィルタリングされ、再構成された彩度ピクチャサンプルアレイccAlfPictureである。
コーディングツリーブロック輝度位置(xCtb,yCtb)は、以下のように導出される。
xCtb=(((xC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
yCtb=(((yC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
フィルタリングされた再構成彩度サンプルccAlfPicture[xC+x][yC+y]を導出するために、サンプルalfPicture[xC+x][yC+y](但し、x=0..ccAlfWidth-1,y=0..ccAlfHeight-1)の現在の彩度ブロック内部の各々の再構成された彩度サンプルは、以下のようにフィルタリングされる。
-彩度位置(xC+x,yC+y)における現在の彩度サンプルに対応する輝度位置(xL,yL)は、((xC+x)*SubWidthC,(yC+y)*SubHeightC)に等しく設定される。
-i=-2..2,j=-2..3の場合、配列recPicture内の輝度位置(hxL+i,vyL+j)は、以下のように導出される。
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つ、n=0..pps_num_ver_virtual_boundaries-1においてxL-PpsVirtualBoundariesPosX[n]が0以上3未満である場合、以下が適用される。
xL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_ver_virtual_boundaries-1においてPpsVirtualBoundariesPosX[n]-xLが0より大きく4未満である場合、以下が適用される。
x+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
-そうでない場合、以下が適用される。
x+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてyL-PpsVirtualBoundariesPosY[n]が0以上3未満である場合、以下が適用される。
y+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてPpsVirtualBoundariesPosY[n]-yLが0より大きく4未満である場合、以下が適用される。
y+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
-そうでない場合、以下が適用される。
y+j=Clip3(0,pic_height_in_luma_samples-1,yL+j) (8-1234)
-変数clipLeftPos、clipRightPos、clipTopPos、およびclipBottomPosは、(xCtb,yCtb)および(xL-xCtb,yL-yCtb)を入力として、8.8.5.5項で規定されるように、ALF境界位置導出処理を呼び出すことによって導出される。
-垂直方向のサンプルの位置yL、clipLeftPos、およびclipRightPosに応じた垂直方向の輝度サンプルの位置のオフセットyM2、yM1、yP1、yP2、yP3を表2-6で規定する。
-水平方向の輝度サンプルの位置xL、clipLeftPos、およびclipRightPosに応じた水平サンプル位置オフセットxM1、xM2、xP1、xP2を表2-7で規定する。
変数currは、以下のように導出される。
curr = alfPicture[xC+x,yC+y] (8-1286)
-クロス成分フィルタ係数f[j]のアレイは、j=0..13として以下のように導出される。
f[j] = CcAlfCoeff[j] (8-1287)
-変数sumは、以下のように導出される。
sum=f[0]*recPicture[h,vy+yM2]+
f[1]*recPicture[hx+xM1,vy+yM1]+
f[2]*recPicture[h,vy+yM1]+
f[3]*recPicture[hx+xP1,vy+yM1]+
f[4]*recPicture[hx+xM2,v]+
f[5]*recPicture[hx+xM1,v]+
f[6]*recPicture[h,v]+
f[7]*recPicture[hx+xP1,v]+
f[4]*recPicture[hx+xP2,v]+ (8-1289)
f[4]*recPicture[hx+xM2,vy+yP1]+
f[8]*recPicture[hx+xM1,vy+yP1]+
f[9]*recPicture[h,vy+yP1]+
f[10]*recPicture[hx+xP1,vy+yP1]+
f[4]*recPicture[hx+xP2,vy+yP1]+
f[11]*recPicture[hx+xM1,vy+yP2]+
f[12]*recPicture[h,vy+yP2]+
f[13]*recPicture[hx+xP1,vy+yP2]+
f[0]*recPicture[h,vy+yP3
sum=curr+(sum+64)>>7) (8-1290)
-修正されフィルタリングされた再構成彩度ピクチャサンプルアレイccAlfPicture[xC+x][yC+y]は、以下のように導出される。
ccAlfPicture[xC+x][yC+y]=Clip3(0,(1<<BitDepth)-1,sum) (8-1291)
【0140】
【表9】
【0141】
【表10】
【0142】
2.8.2. JVET-P0080における仮想境界におけるパディング方法
輝度ALF/彩度ALFと同様に、JVET-P0080におけるCC-ALFの場合、ALF仮想境界において反復パディングが利用される。図22に示すように、ALF仮想境界より上または下の輝度サンプルが利用不可である場合、最も近いサンプル線をパディングに利用する。詳細なパディング方法は表2-6にも示されている。
【0143】
2.9. JVET-P1008: CE5-関連:CC-ALFの設計について
JVET-O0636[1]およびCE5-2.1[2]において、クロス成分適応ループフィルタ(CC-ALF)を導入し、検討した。このフィルタは、線形フィルタを使用して輝度サンプル値をフィルタリングし、並置されフィルタリングされた出力から彩度チャネルのための残差補正を生成する。このフィルタは、既存の輝度ALFと並列に動作するように設計されている。
【0144】
簡素化され、且つ、既存のALFとより整合性があると断定されるCC-ALF設計が提案される。この設計は、8つの独自の係数を有する3×4菱形を使用する。これにより、CE5-2.1で検討された5×6設計に比較して、乗数が43%削減される。CTUの彩度成分に対して、彩度ALFまたはCC-ALFのいずれかを有効化する制限を設ける場合、ピクセル当たりの乗数カウントを16に制限する(現在のALFは15である)。フィルタ係数のダイナミックレンジは、6ビットの符号付きに限定される。提案された解決策およびCE5-2.1解決策の両方のためのフィルタの説明を図23に示す。
【0145】
既存のALF設計により整合させるために、APSにおいてフィルタ係数を信号通知する。4つまでのフィルタがサポートされ、CTUレベルでのフィルタ選択が示される。ALFとさらに調和させるために、仮想境界で対称線選択を使用する。最後に、補正出力に必要な記憶容量を制限するために、CC-ALF残差出力を-2BitDepthC-1から2BitDepthC-1-1にクリップする。
【0146】
JVET-P1008におけるCC-ALFの仕様
x.x.x.x 彩度サンプルのブロックのためのクロス成分フィルタリング処理
この処理の入力は以下の通りである。
-輝度適応ループフィルタリング処理の前に再構成された輝度ピクチャサンプルアレイrecPicture
-フィルタリングされた再構成彩度ピクチャサンプルアレイalfPicture
-現在のピクチャの左上のサンプルに対する現在の彩度コーディングツリーブロックの左上のサンプルを規定する彩度位置(xCtbC,yCtbC)
-彩度サンプルのブロックの幅ccAlfWidth
-彩度サンプルのブロックの高さccAlfHeight
-j=0..7であるクロス成分フィルタ係数CcAlfCoeff[j]
この処理の出力は、修正され、フィルタリングされ、再構成された彩度ピクチャサンプルアレイccAlfPictureである。
コーディングツリーブロック輝度位置(xCtb,yCtb)は、以下のように導出される。
xCtb=(((xCtbC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
yCtb=(((yCtbC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
フィルタリングされた再構成彩度サンプルccAlfPicture[xCtbC+x][yCtbC+y]を導出するために、サンプルalfPicture[xCtbC+x][yCtbC+y](但し、x=0..ccAlfWidth-1,y=0..ccAlfHeight-1)の現在の彩度ブロック内部の各々の再構成された彩度サンプルは、以下のようにフィルタリングされる。
-彩度位置(xCtbC+x,yCtbC+y)における現在の彩度サンプルに対応する輝度位置(xL,yL)は、((xCtbC+x)*SubWidthC,(yCtbC+y)*SubHeightC)に等しく設定される。
-i=-1..1,j=-1..2の場合、配列recPicture内の輝度位置(hxL+i,vyL+j)は、以下のように導出される。
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つ、n=0..pps_num_ver_virtual_boundaries-1においてxL-PpsVirtualBoundariesPosX[n]が0以上3未満である場合、以下が適用される。
xL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_ver_virtual_boundaries-1においてPpsVirtualBoundariesPosX[n]-xLが0より大きく4未満である場合、以下が適用される。
x+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
-そうでない場合、以下が適用される。
x+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてyL-PpsVirtualBoundariesPosY[n]が0以上3未満である場合、以下が適用される。
y+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてPpsVirtualBoundariesPosY[n]-yLが0より大きく4未満である場合、以下が適用される。
y+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
-そうでない場合、以下が適用される。
y+j=Clip3(0,pic_height_in_luma_samples-1,yL+j) (8-1234)
-変数clipLeftPos、clipRightPos、clipTopPos、およびclipBottomPosは、(xCtb,yCtb)および(xL-xCtb,yL-yCtb)を入力として、8.8.5.5項で規定されるように、ALF境界位置導出処理を呼び出すことによって導出される。
-垂直方向のサンプルの位置yL、clipLeftPos、およびclipRightPosに応じた垂直方向の輝度サンプルの位置のオフセットyM1、yP1、yP2を表2-8で規定する。
-水平方向の輝度サンプルの位置xL、clipLeftPos、およびclipRightPosに応じた水平サンプル位置オフセットxM1およびxP1を表2-9で規定する。
変数currは、以下のように導出される。
curr = alfPicture[xCtbC+x,yCtbC+y] (8-1286)
-クロス成分フィルタ係数f[j]のアレイは、j=0..7として以下のように導出される。
f[j] = CcAlfCoeff[j] (8-1287)
-変数sumは、以下のように導出される。
sum=f[0]*recPicture[h,vy+yM1]+
f[1]*recPicture[hx+xM1,v]+
f[2]*recPicture[h,v]+
f[3]*recPicture[hx+xP1,v] + (8-1289)
f[4]*recPicture[hx+xM1,vy+yP1]+
f[5]*recPicture[h,vy+yP1]+
f[6]*recPicture[hx+xP1,vy+yP1] +
f[7]*recPicture[h,vy+yP2
sum=Clip3(-(1<<(BitDepth-1)),(1<<(BitDepth -1))-1,sum) (8-1290)
sum=curr+(sum+64)>>(7+(BitDepth-BitDepth)) (8-1290)
-修正されフィルタリングされた再構成彩度ピクチャサンプルアレイccAlfPicture[xCtbC+x][yCtbC+y]は、以下のように導出される。
ccAlfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepth)-1,sum) (8-1291)
【0147】
【表11】
【0148】
【表12】
【0149】
2.9.1. JVET-P1008における仮想境界におけるパディング方法
JVET-P1008のCC-ALFに対しては、ALF仮想境界でミラー(対称)パディングが使用される。図24に示すように、ALF仮想境界より上または下の輝度サンプルが利用不可である場合、最も近いサンプル線をパディングに利用し、対応するサンプルもパディングする必要がある。詳細なパディング方法は表2-9にも示されている
【0150】
2.10. JVET-P2025におけるCC-ALFの簡単な方法
2.10.1 代替のフィルタ形状
CC-ALFフィルタ形状は、以下の図に示すように、8個または6個の係数を有するように修正される。
【0151】
図25は、JVET-P0106における8つの係数のCC-ALFフィルタ形状を示す。
【0152】
図26は、JVET-P0173における6つの係数のCC-ALFフィルタ形状を示す。
【0153】
図27は、JVET-P0251における6つの係数のCC-ALFフィルタ形状を示す。
【0154】
2.10.2. ジョイント彩度クロス成分適応フィルタリング
ジョイント彩度クロス成分適応ループフィルタ(JC-CCALF)は、エンコーダでトレーニングされた1つのCCALFフィルタ係数のみを使用して、1つのフィルタリングされた出力を微調整信号として生成し、これをCb成分に直接追加し、適切に重み付けた後Cr成分に追加する。フィルタはCTUレベルで示されるか、またはブロックサイズで示されて、1つのスライスごとに信号通知される。
【0155】
サポートされるこのような彩度ブロックサイズは、最小彩度CTUサイズから現在の彩度CTUサイズまでの範囲にわたる。最小彩度CTUサイズは、彩度CTUの可能な最小の幅と高さとの間の最小値、すなわち、Min(32/SubWidthC,32/SubHeightC)であり、現在の彩度CTUのサイズは、現在の彩度CTUの幅と高さの間の最小値、すなわちMin(CtbWidthC,CtbHeightC)である。例えば、CTUサイズを最大128×128に設定すると、1つのスライスのJC-CCALF彩度ブロックサイズは、4:4:4映像の場合、32×32、64×64、128×128のいずれか1つ、または4:2:0、4:2:2映像の場合、16×16、32×32、64×64のいずれか1つとなる。
【0156】
図28は、JC-CCALFの作業の流れを示している。
【0157】
3. 本明細書に開示される技術的解決策によって解決される技術的課題
CC-ALFのための境界パディングの現在の設計は、以下の問題を有する。
1.CC-ALFにおけるALF仮想境界でのパディング方法は、あまり効率的でない可能性があるパディングされたサンプルが利用されるので、準最適となる場合がある。
2.ALF仮想境界および映像ユニットの境界(例えば、ピクチャ/サブピクチャ/スライス/タイルの境界)並びに360度の仮想境界を処理するための異なる方法、即ち、異なるパディング方法が存在する。
3.ALFにおいて、ミラーパディングが適用され、現在のサンプルまでの距離が計算され、どの対応するサンプルをパディングする必要があるかが決定される。しかしながら、CC-ALFにおいて、特に4:2:0の場合、1つの彩度サンプルをフィルタリングするために、複数の輝度サンプルが関与する。どの対応するサンプルをパディングする必要があるかを決定する方法は不明である。
【0158】
4. 技術および実施形態の例示一覧
以下に列記されるものは、一般的な概念を説明するための例であると考えられるべきである。これら項目は狭い意味で解釈されるべきではない。さらに、これらの項目は、任意の方法で組み合わせることができる。
【0159】
本開示で説明されるいくつかの実施形態において、「CC-ALF」という用語は、第2の色成分(例えば、Y)または複数の色成分(例えば、YおよびCrの両方)におけるサンプル値を利用して、第1の色成分(例えば、Cb)におけるサンプルを精緻化するコーディングツールを表す。本発明は、[1]~[4]に記載されるCC-ALF技術に限定されない。「対応するフィルタリングサンプルのセット」は、フィルタサポートに含まれるサンプルを表すために使用してもよく、例えば、CC-ALFの場合、「対応するフィルタリングサンプルのセット」は、彩度サンプルの微調整/オフセットを導出するために使用される彩度サンプルの同一位置に配置された輝度サンプルおよび同一位置に配置された彩度サンプルの近隣の輝度サンプルを表すために使用されてもよい。
【0160】
ALF仮想境界に使用されるパディング方法は、「ミラーパディング」と表してもよく、(i,j)に位置する第1の利用不可のサンプルに対してパディングを行い、たとえ第2のサンプルが利用可能であっても、ALFのフィルタサポートにおける「第1のサンプルの対応するサンプル」によって定義される第2のサンプル(例えば、現在の輝度サンプルから同じ距離を共有する(m,n)に位置する対応するサンプル)にもパディングを行う。
【0161】
一例において、垂直方向のパディングが利用されて、例えば、(x,y1)に位置するパディング対象のサンプルは、(x,y2)に位置するサンプルに等しく設定され、そのために、y1は、サンプルまたは対応するサンプルのy座標を表し、y2は、パディングに利用されるサンプルのy座標を表す。
【0162】
一例において、水平方向のパディングが利用され、例えば、(x1,y)に位置するパディング対象のサンプルは、(x2,y)に位置するサンプルに等しく設定され、そこで、x1は、サンプルまたは対応するサンプルのx座標を表し、x2は、パディングに利用されるサンプルのx座標を表す。
【0163】
ピクチャ/サブピクチャ/スライス/タイルの境界/360度の映像の仮想境界、通常の境界(例えば、最上および最下の境界)に使用されるパディング方法は、「反復パディング」と呼ばれることもあり、使用される1つのサンプルが境界の外側にある場合、そのサンプルは、境界の内側の利用可能なサンプルからコピーされる。
【0164】
本開示において、近隣の(隣接または非隣接)サンプルは、異なる映像処理ユニット(例えば、現在のピクチャ、または現在のサブピクチャ、または現在のタイル、または現在のスライス、または現在のブリック、または現在のCTU、または現在の処理ユニット(例えば、ALF処理ユニットまたは狭いALF処理ユニット)の外にあるか、または任意の他の現在の映像ユニットである)に位置する場合、または再構成されていない、またはクロスフィルタリング映像処理ユニットが許可されない場合には、「利用不可」である。
【0165】
「ALF境界」位置は、クリップされたサンプルがどこから取得されたかを定義するために使用され、これらのクリップされたサンプルは、ALFサンプルパディングプロセスにおいて使用される。ALFで使用される1つのサンプル(例えば、フィルタリングプロセス及び/又は分類プロセスにおける)が上/下/左/右境界を横切るとき、サンプルは上/下/左/右境界を横切らないようにクリップされる。「ALF境界」は、「輝度ALF境界」及び「彩度ALF境界」を含む。「彩度ALF境界」を導出するとき、まず「輝度ALF境界」が導出され、次に、カラーフォーマットに従って「彩度ALF境界」にマッピングされる。
【0166】
CC-ALFのALF仮想境界の処理
【0167】
1.ALF仮想境界において利用不可の輝度サンプルをパディングするために、ミラーパディングを利用して、利用不可の輝度サンプルと、利用不可の輝度サンプルの1つまたは複数の対応する輝度サンプルとを導出し、CC-ALFにおいてフィルタリングすることができる。すなわち、利用不可のサンプルの少なくとも1つの対応する輝度サンプルは、それが利用可能であっても同様にパディングすることが必要である。
a.一例において、ミラーパディング方法を使用して、利用不可の輝度サンプルの対応するサンプルとして決定された輝度サンプルをパディングしてもよい。
【化21】

i.一例において、代表的な輝度サンプルは、フィルタリング対象の現在の彩度サンプルの同一位置に配置された輝度サンプルとして定義される。
1)一例において、現在の彩度サンプルの同一位置に配置された輝度サンプルの位置は、カラーフォーマットに依存することもある。
a)一例において、(x,y)に位置する彩度サンプルの同一位置に配置された輝度サンプルは、4:2:0の彩度フォーマットにおける(2x,2y)に位置するものとして定義される。
b)一例において、(x,y)に位置する彩度サンプルの同一位置に配置された輝度サンプルは、4:2:2の彩度フォーマットにおける(2x,y)に位置するものとして定義される。
c)一例において、(x,y)に位置する彩度サンプルの同一位置に配置された輝度サンプルは、4:4:4の彩度フォーマットにおける(x,y)に位置するものとして定義される。
ii.一例において、この距離は、輝度サンプルを含む行と代表的な輝度サンプルを含む行との垂直距離を指してもよい。例えば、この距離は、輝度サンプルと代表的な輝度サンプルとの絶対y座標差として計算されてもよい。
【化22】

i.一例において、ALF仮想境界が代表的な輝度サンプルよりも上である場合、ALF仮想境界よりも下の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の上の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-3に等しく、行yM2が利用不可である場合、行yM2におけるサンプル(x,yM2)は、行yM1におけるサンプル(x,yM1)を使用してパディングしてもよい。一方、対応する行yP2のサンプル(x,yP2)は、行yP1のサンプル(x,yP1)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-4に等しく、行yM2およびyM1が利用不可である場合、行yM2およびyM1におけるサンプル(x,yM2)および(x,yM1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。一方、対応する行yP2およびyP1におけるサンプル(x,yP2)および(x,yP1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。
ii.一例において、ALF仮想境界が代表的な輝度サンプルよりも下である場合、ALF仮想境界よりも上の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の下の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-6に等しく、行yP2が利用不可である場合、行yP2におけるサンプル(x,yP2)は、行yP1におけるサンプル(x,yP1)を使用してパディングしてもよい。一方、対応する行yM2におけるサンプル(x,yM2)は、行yM1におけるサンプル(x,yM1)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-5に等しく、行yP2およびyP1が利用不可である場合、行yP2およびyP1におけるサンプル(x,yP2)および(x,yP1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。一方、対応する行yM2およびyM1におけるサンプル(x,yM2)および(x,yM1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。
【化23】

i.一例において、ALF仮想境界が代表的な輝度サンプルよりも上である場合、ALF仮想境界よりも下の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の上の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-4に等しく、yLより上の行が利用不可である場合、対応する行yP1におけるサンプル(x,yP1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。
ii.一例において、ALF仮想境界が代表的な輝度サンプルよりも下である場合、ALF仮想境界よりも上の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の下の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-5に等しく、行yP1が利用不可である場合、行yP1におけるサンプル(x,yP1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。
【化24】

i.一例において、ALF仮想境界が代表的な輝度サンプルよりも上である場合、ALF仮想境界よりも下の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の上の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-3に等しく、yM1の上の行が利用不可である場合、対応する行yP2におけるサンプル(x,yP2)は、行yP1におけるサンプル(x,yP1)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-4に等しく、yM1およびyM1の上の行が利用不可である場合、行yM1におけるサンプル(x,yM1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。一方、対応する行yP2およびyP1におけるサンプル(x,yP2)および(x,yP1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。
ii.一例において、ALF仮想境界が代表的な輝度サンプルよりも下である場合、ALF仮想境界よりも上の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の下の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-6に等しく、行yP2が利用不可である場合、行yP2におけるサンプル(x,yP2)は、行yP1におけるサンプル(x,yP1)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-5に等しく、行yP2およびyP1が利用不可である場合、行yP2およびyP1におけるサンプル(x,yP2)および(x,yP1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。一方、対応する行yM1のサンプル(x,yM1)は、行yLのサンプル(x,yL)を使用してパディングしてもよい。
【化25】

i.一例において、ALF仮想境界が代表的な輝度サンプルよりも上である場合、ALF仮想境界よりも下の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の上の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-2に等しく、yM2の上の行が利用不可である場合、対応する行yP3におけるサンプル(x,yP3)は、行yP2におけるサンプル(x,yP2)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-3に等しく、yM2およびyM2の上の行が利用不可である場合、行yM2におけるサンプル(x,yM2)は、行yM1におけるサンプル(x,yM1)を使用してパディングしてもよい。一方、対応する行yP3およびyP2におけるサンプル(x,yP3)および(x,yP2)は、行yP1におけるサンプル(x,yP1)を使用してパディングしてもよい。
3.一例において、yLがCtbSizeY-4に等しく、yM2の上の行、yM2、およびyM1が利用不可である場合、行yM2およびyM1におけるサンプル(x、yM2)および(x、yM1)は、行yLにおけるサンプル(x、yL)を使用してパディングしてもよい。一方、対応する行yP3、yP2、yP1におけるサンプル(x、yP3)、(x、yP2)、および(x、yP1)は、行yLにおけるサンプル(x、yL)を使用してパディングしてもよい。
ii.一例において、ALF仮想境界が代表的な輝度サンプルよりも下である場合、ALF仮想境界よりも上の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の下の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-7に等しく、行yP3が利用不可である場合、行yP3におけるサンプル(x,yP3)は、行yP2におけるサンプル(x,yP2)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-6に等しく、行yP3およびyP2が利用不可である場合、行yP3およびyP2におけるサンプル(x,yP3)および(x,yP2)は、その行におけるサンプル(x,yP1)を使用してパディングしてもよい。一方、対応する行yM2におけるサンプル(x,yM2)は、行yM1におけるサンプル(x,yM1)を使用してパディングしてもよい。
3.一例において、yLがCtbSizeY-5に等しく、行yP3、yP2、yP1が利用不可である場合、行yP3、yP2、yP1におけるサンプル(x、yP3)、(x、yP2)、(x、yP1)は、行yLにおけるサンプル(x、yL)を使用してパディングしてもよい。一方、対応する行yM2およびyM1におけるサンプル(x,yM2)および(x,yM1)は、その行におけるサンプル(x,yL)を使用してパディングしてもよい。
【化26】

i.一例において、ALF仮想境界が代表的な輝度サンプルよりも下である場合、ALF仮想境界よりも上の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の下の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-5に等しく、行yP1が利用不可である場合、行yP1におけるサンプル(x,yP1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。
【化27】

i.一例において、ALF仮想境界が代表的な輝度サンプルよりも上である場合、ALF仮想境界よりも下の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の上の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-4に等しく、yM1およびyM1の上の行が利用不可である場合、行yM1におけるサンプル(x,yM1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。一方、対応する行yP2のサンプル(x,yP2)は、行yP1のサンプル(x,yP1)を使用してパディングしてもよい。
ii.一例において、ALF仮想境界が代表的な輝度サンプルよりも下である場合、ALF仮想境界よりも上の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の下の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-6に等しく、行yP2が利用不可である場合、行yP2におけるサンプル(x,yP2)は、行yP1におけるサンプル(x,yP1)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-5に等しく、行yP2およびyP1が利用不可である場合、行yP2およびyP1におけるサンプル(x,yP2)および(x,yP1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。一方、対応する行yM1のサンプル(x,yM1)は、行yLのサンプル(x,yL)を使用してパディングしてもよい。
【化28】

i.一例において、ALF仮想境界が代表的な輝度サンプルよりも上である場合、ALF仮想境界よりも下の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の上の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-3に等しく、yM2およびyM2の上の行が利用不可である場合、行yM2におけるサンプル(x,yM2)は、行yM1におけるサンプル(x,yM1)を使用してパディングしてもよい。一方、対応する行yP3のサンプル(x,yP3)は、行yP2のサンプル(x,yP2)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-4に等しく、yM2の上の行、yM2、およびyM1が利用不可である場合、行yM2およびyM1におけるサンプル(x、yM2)および(x、yM1)は、行yLにおけるサンプル(x、yL)を使用してパディングしてもよい。一方、対応する行yP3およびyP2におけるサンプル(x,yP3)および(x,yP2)は、行yP1におけるサンプル(x,yP1)を使用してパディングしてもよい。
ii.一例において、ALF仮想境界が代表的な輝度サンプルよりも下である場合、ALF仮想境界よりも上の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の下の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-7に等しく、行yP3が利用不可である場合、行yP3におけるサンプル(x,yP3)は、行yP2におけるサンプル(x,yP2)を使用してパディングしてもよい。一方、対応する行yM2におけるサンプル(x,yM2)は、行yM1におけるサンプル(x,yM1)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-6に等しく、行yP3およびyP2が利用不可である場合、行yP3およびyP2におけるサンプル(x,yP3)および(x,yP2)は、行yP1におけるサンプル(x,yP1)を使用してパディングしてもよい。一方、対応する行yM2およびyM1におけるサンプル(x,yM2)および(x,yM1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。
3.一例において、yLがCtbSizeY-5に等しく、行yP3、yP2、yP1が利用不可である場合、行yP3、yP2、yP1におけるサンプル(x、yP3)、(x、yP2)、(x、yP1)は、yLにおけるサンプル(x、yL)を使用してパディングしてもよい。一方、対応する行yM2およびyM1におけるサンプル(x,yM2)および(x,yM1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。
c.図29は、(X,Y)に位置する現在の彩度サンプルをフィルタリングするときの、(ALF仮想境界の上、C0で表される)利用不可のサンプルの位置およびその対応するサンプル(C7で表される)の例を示す。
d.一例において、CC-ALF/彩度ALF/輝度ALF/他の種類のフィルタリング方法のために、ALF仮想境界における鏡面パディングを有効化するかまたは無効化するかは、例えば、シーケンスヘッダ/ピクチャヘッダ/SPS/VPS/DPS/PPS/APS/スライスヘッダ/タイルグループヘッダのようなシーケンスレベル/ピクチャレベル/スライスレベル/タイルグループレベルで信号通知してもよい。
e.一例において、ALF仮想境界における反復パディングおよび/またはミラーパディングを有効化または無効化するかどうかは、コーディングされた情報に依存することもある。
i.一例において、コーディングされた情報は、CTU/CTBサイズ等のブロックサイズを指すこともある。
1)一例において、CTU/CTBのサイズがTよりも大きいまたはTに等しい場合、例えばT=32/64/128である場合、ALF仮想境界においてミラーパディングを利用してもよい。
2)一例において、CTU/CTBのサイズがT以下である場合、例えばT=4/8/16である場合、ALF仮想境界において反復パディングを利用してもよい。
【0168】
2.上記項目において、垂直方向のパディングは水平方向のパディングに置き換えられてもよい。
a.さらに代替的に、どのパディング方向(垂直または水平)を使用するかどうかは、境界が水平境界であるか垂直境界であるかに依存してもよい。
b.さらに代替的に、垂直距離を水平距離に置き換えてもよい。
【0169】
3.項1におけるミラーパディング方法は、ピクチャ/サブピクチャ/スライス/タイル境界および/または360度の境界に利用されてもよい。
【0170】
ALF境界位置をどのように定義するかに関して
【0171】
4.輝度成分のために第1の「輝度ALF境界」が導出され、彩度成分のために第2の「輝度ALF境界」が導出され、次に「彩度ALF境界」にマッピングされるが、ここで第1の「輝度ALF境界」は第2の「輝度ALF境界」と異なるものであってもよい。
a.一例において、第1の「輝度ALF境界」は、輝度ALF又は/及びCC-ALFのために導出され、また使用されてもよい。
i.一例において、第1の「輝度ALF境界」の導出中、CC-ALFは輝度ALFとして扱われてもよい。
b.一例において、第2の「輝度ALF境界」は、彩度ALFのために導出されて使用されてもよい。
c.一例において、第2の「輝度ALF境界」は、カラーフォーマット又は/及びフィルタリング方法に依存してもよい。
i.例えば、4:2:0カラーフォーマットの彩度ALFと4:2:2/4:4:4カラーフォーマットの彩度ALFでは、第2の「輝度ALF境界」は異なる方法で導出されてもよい。
ii.例えば、4:2:0カラーフォーマットの彩度ALFにおける第2の「輝度ALF境界」は、第1の「輝度ALF境界」と同じように導出されてもよい。
iii.例えば、第2の「輝度ALF境界」を導出する間、4:2:0カラーフォーマットの彩度ALFは輝度ALFとして扱われてもよい。
iv.例えば、第2の「輝度ALF境界」を導出する間、4:2:0カラーフォーマットの彩度ALFはCC-ALFとして扱われてもよい。
v.例えば、4:2:2/4:4:4のカラーフォーマットの彩度ALFにおける第2の「輝度ALF境界」は、輝度ALFにおける第1の「輝度ALF境界」と異なる方法で導出されてもよい。
vi.例えば、4:2:2/4:4:4のカラーフォーマットの彩度ALFにおける第2の「輝度ALF境界」は、CC-ALFにおける第1の「輝度ALF境界」と異なる方法で導出されてもよい。
d.「輝度ALF境界」位置は、上側境界位置、及び/又は下側境界位置、及び/又は左側境界位置、及び/又は右側境界位置を指すことができる。
e.一例において、「輝度ALF境界」位置の導出は、ALF仮想境界のオフセット(又はALF仮想境界と現在のCTUの下側境界との間の距離)を規定する変数vbOffset、及び/又は現在のCTUの上側境界からのオフセットを規定する変数Mに依存してもよい。現在の輝度CTBの左上のサンプルに対する現在のサンプルの輝度位置を(x,y)、現在のピクチャの左上のサンプルに対する現在の輝度CTBの左上のサンプルの輝度位置を(xCtb,yCtb)とし、現在の輝度CTBのサイズをCtbSizeYとする。
i.一例において、y-(CtbSizeY-vbOffset)が0以上である場合、上側境界位置は、yCtb+CtbSizeY-vbOffsetに等しく設定されてもよい。
ii.一例において、現在のCTBの上側境界がタイル/スライス/サブピクチャの上側境界であり、且つタイル/スライス/サブピクチャにわたるループフィルタが無効になる場合、yがM未満であるとき、上側境界位置はyCtbに等しく設定されてもよい。
iii.一例において、CtbSizeY-vbOffset-yが0より大きく、且つNより小さい場合、下側境界位置は、yCtb+CtbSizeY-vbOffsetに等しく設定されてもよい。
iv.一例において、現在のCTBの下側境界がタイル/スライス/サブピクチャの下側境界であり、且つタイル/スライス/サブピクチャにわたるループフィルタが無効になる場合、CtbSizeY-yがL未満である場合、下側境界位置は、yCtb+CtbSizeYに等しく設定されてもよい。
f.一例において、CC-ALFにおける第1の「ALF輝度境界」は、輝度ALFにおける第1の「ALF輝度境界」と同じように導出される。
i.一例において、上側境界位置又は/及び下側境界位置を導出する間、CC-ALF及び輝度ALFに対して同じvbOffsetの値を使用してもよい。
ii.一例において、上側境界位置又は/及び下側境界位置を導出する間、CC-ALF及び輝度ALFに対して同じM、N、Lの値を使用してもよい。
g.一例において、4:2:0フォーマットによる彩度ALFにおいて使用される第2の「ALF輝度境界」は、第1の「ALF輝度境界」と同じように導出される。
i.一例において、彩度フォーマットが4:2:0である場合、上側境界位置又は/及び下側境界位置を導出する間、彩度ALF及び輝度ALFに対して同じ値のvbOffsetが用いられてもよい。
1)一例において、vbOffsetは、4などの整数である。
ii.一例において、彩度フォーマットが4:2:0である場合、上側境界位置又は/及び下側境界位置を導出する間、彩度ALF及び輝度ALFに対して同じM、N、Lの値を使用してもよい。
1)一例において、M、N、Lは整数であり、例えば、M=3、N=5、L=5である。
h.一例において、4:2:2/4:4:4の彩度フォーマットの彩度ALFにおいて使用される第2の「ALF輝度境界」は、第1の「ALF輝度境界」と異なる方法で導出される。
i.一例において、彩度フォーマットが4:2:2/4:4:4である場合、上側境界位置又は/及び下側境界位置を導出する間、彩度ALF及び輝度ALFのためにvbOffsetの異なる値を使用してもよい。
1)一例において、vbOffset1は彩度ALFに使用され、vbOffset2は輝度ALFに使用される。vbOffset1は、例えば、vbOffset1=2、vbOffset2=4のようにvbOffset2と等しくなくてもよい。
ii.一例において、彩度フォーマットが4:2:2/4:4:4である場合、上側境界位置又は/及び下側境界位置を導出する間、4:2:0彩度フォーマットの彩度ALF及び彩度ALFに対して異なる値のvbOffsetを用いることができる。
iii.一例において、彩度フォーマットが4:2:2/4:4:4である場合、上側境界位置又は/及び下側境界位置を導出する間、彩度ALF及び輝度ALFに対して異なるM、N、Lの値を使用してもよい。
1)一例において、M1、N1、L1は、4:2:2/4:4:4の彩度フォーマットの彩度ALFに使用され、M2、N2、L2は、輝度ALFに使用され、ここで、M1はM2に等しくなくてもよく、N1はN2に等しくなくてもよく、L1はL2に等しくなくてもよい。
a)一例において、M1=2、N1=3、L1=3、およびM2=3、N2=5、L2=5である。
iv.一例において、彩度フォーマットが4:2:2/4:4:4である場合、上側境界位置又は/及び下側境界位置を導出する間、4:2:0彩度フォーマットの彩度ALF及び彩度ALFには、異なるM、N、Lの値を使用してもよい。
i.一例において、4:2:2/4:4:4の彩度フォーマットの彩度ALFにおいて使用される第2の「ALF輝度境界」は、CC-ALFにおいて使用される第1の「ALF輝度境界」と異なる方法で導出される。
i.一例において、彩度フォーマットが4:2:2/4:4:4である場合、上側境界位置及び/又は下側境界位置を導出する間、彩度ALF及びCC-ALFに異なるvbOffsetの値を使用してもよい。
1)一例において、vbOffset3\1は彩度ALFに使用され、vbOffset2はCC-ALFに使用される。vbOffset1は、例えば、vbOffset1=2、vbOffset2=4のようにvbOffset2と等しくなくてもよい。
ii.一例において、彩度フォーマットが4:2:2/4:4:4である場合、上側境界位置又は/及び下側境界位置を導出する間、彩度ALF及びCC-ALFに異なるM、N、Lの値を使用してもよい。
1)一例において、M1、N1、L1は、4:2:2/4:4:4の彩度フォーマットの彩度ALFに使用され、M2、N2、L2は、CC-ALFに使用され、ここで、M1は、M2に等しくなくてもよく、N1は、N2に等しくなくてもよく、L1はL2に等しくなくてもよい。
a)一例において、M1=2、N1=3、L1=3、およびM2=3、N2=5、L2=5である。
j.上記提案された方法は360境界に適用され得る。
【0172】
一般概念
【0173】
5.上記開示された方法を適用するかどうかおよび/またはどのように適用するかは、例えば、シーケンスヘッダ/ピクチャヘッダ/SPS/VPS/DPS/PPS/APS/スライスヘッダ/タイルグループヘッダにおいて、シーケンスレベル/ピクチャレベル/スライスレベル/タイルグループレベルで信号通知されてもよい。
【0174】
6.上述した開示された方法を適用するかどうか、および/またはどのように適用するかは、カラーフォーマット、シングル/デュアルツリー分割、サンプルの位置(例えば、CU/CTUに対して)等のコーディング情報に依存してもよい。
【0175】
【表13】
【0176】
【表14】
【0177】
【表15】
【0178】
【表16】
【0179】
【表17】
【0180】
【表18】
【0181】
【表19】
【0182】
5. 実施形態
変更は削除と追加を示すことで強調される。
【0183】
5.1. 実施形態#1
JVET-P0080で規定される作業草案は、次のように変更することができる。
【0184】
x.x.x.x 彩度サンプルのブロックのためのクロス成分フィルタリング処理
この処理の入力は以下の通りである。
-輝度適応ループフィルタリング処理の前に再構成された輝度ピクチャサンプルアレイrecPicture
-フィルタリングされた再構成彩度ピクチャサンプルアレイalfPicture
-現在のピクチャの左上のサンプルに対する彩度サンプルの現在のブロックの左上のサンプルを規定する彩度位置(xC,yC)
-彩度サンプルのブロックの幅ccAlfWidth
-彩度サンプルのブロックの高さccAlfHeight
-j=0..13であるクロス成分フィルタ係数CcAlfCoeff[j]
この処理の出力は、修正され、フィルタリングされ、再構成された彩度ピクチャサンプルアレイccAlfPictureである。
コーディングツリーブロック輝度位置(xCtb,yCtb)は、以下のように導出される。
xCtb=(((xC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
yCtb=(((yC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
フィルタリングされた再構成彩度サンプルccAlfPicture[xC+x][yC+y]を導出するために、サンプルalfPicture[xC+x][yC+y](但し、x=0..ccAlfWidth-1,y=0..ccAlfHeight-1)の現在の彩度ブロック内部の各々の再構成された彩度サンプルは、以下のようにフィルタリングされる。
-彩度位置(xC+x,yC+y)における現在の彩度サンプルに対応する輝度位置(xL,yL)は、((xC+x)*SubWidthC,(yC+y)*SubHeightC)に等しく設定される。
-i=-2..2,j=-2..3の場合、配列recPicture内の輝度位置(hxL+i,vyL+j)は、以下のように導出される。
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つ、n=0..pps_num_ver_virtual_boundaries-1においてxL-PpsVirtualBoundariesPosX[n]が0以上3未満である場合、以下が適用される。
xL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_ver_virtual_boundaries-1においてPpsVirtualBoundariesPosX[n]-xLが0より大きく4未満である場合、以下が適用される。
x+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
-そうでない場合、以下が適用される。
x+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてyL-PpsVirtualBoundariesPosY[n]が0以上3未満である場合、以下が適用される。
y+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてPpsVirtualBoundariesPosY[n]-yLが0より大きく4未満である場合、以下が適用される。
y+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
-そうでない場合、以下が適用される。
y+j=Clip3(0,pic_height_in_luma_samples-1,yL+j) (8-1234)
-変数clipLeftPos、clipRightPos、clipTopPos、およびclipBottomPosは、(xCtb,yCtb)および(xL-xCtb,yL-yCtb)を入力として、8.8.5.5項で規定されるように、ALF境界位置導出処理を呼び出すことによって導出される。
-表4-1に、垂直方向のサンプルの位置のオフセットyM2、yM1、yP1、yP2、yP3を規定している。
【0185】
【表20】
【0186】
【表21】
【0187】
【化29】
【0188】
-変数currは、以下のように導出される。
curr=alfPicture[xC+x,yC+y] (8-1286)
-クロス成分フィルタ係数f[j]のアレイは、j=0..13として以下のように導出される。
f[j]=CcAlfCoeff[j] (8-1287)
-変数sumは、以下のように導出される。
sum=f[0]*recPicture[h,vy+yM2]+
f[1]*recPicture[hx+xM1,vy+yM1]+
f[2]*recPicture[h,vy+yM1]+
f[3]*recPicture[hx+xP1,vy+yM1]+
f[4]*recPicture[hx+xM2,v]+
f[5]*recPicture[hx+xM1,v]+
f[6]*recPicture[h,v]+
f[7]*recPicture[hx+xP1,v]+
f[4]*recPicture[hx+xP2,v]+ (8-1289)
f[4]*recPicture[hx+xM2,vy+yP1]+
f[8]*recPicture[hx+xM1,vy+yP1]+
f[9]*recPicture[h,vy+yP1]+
f[10]*recPicture[hx+xP1,vy+yP1]+
f[4]*recPicture[hx+xP2,vy+yP1]+
f[11]*recPicture[hx+xM1,vy+yP2]+
f[12]*recPicture[h,vy+yP2]+
f[13]*recPicture[hx+xP1,vy+yP2]+
f[0]*recPicture[h,vy+yP3]+
sum=curr+(sum+64)>>7) (8-1290)
-修正されフィルタリングされた再構成彩度ピクチャサンプルアレイccAlfPicture[xC+x][yC+y]は、以下のように導出される。
ccAlfPicture[xC+x][yC+y]=Clip3(0,(1<<BitDepth)-1,sum) (8-1291)
【0189】
【化30】
【0190】
【表22】
【0191】
【化31】
【0192】
【表23】
【0193】
【表24】
【0194】
5.2. 実施形態♯2
JVET-P0080で規定される作業草案は、次のように変更することができる。
【0195】
x.x.x.x 彩度サンプルのブロックのためのクロス成分フィルタリング処理
この処理の入力は以下の通りである。
-輝度適応ループフィルタリング処理の前に再構成された輝度ピクチャサンプルアレイrecPicture
-フィルタリングされた再構成彩度ピクチャサンプルアレイalfPicture
-現在のピクチャの左上のサンプルに対する彩度サンプルの現在のブロックの左上のサンプルを規定する彩度位置(xC,yC)
-彩度サンプルのブロックの幅ccAlfWidth
-彩度サンプルのブロックの高さccAlfHeight
-j=0..13であるクロス成分フィルタ係数CcAlfCoeff[j]
この処理の出力は、修正され、フィルタリングされ、再構成された彩度ピクチャサンプルアレイccAlfPictureである。
コーディングツリーブロック輝度位置(xCtb,yCtb)は、以下のように導出される。
xCtb=(((xC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
yCtb=(((yC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
フィルタリングされた再構成彩度サンプルccAlfPicture[xC+x][yC+y]を導出するために、サンプルalfPicture[xC+x][yC+y](但し、x=0..ccAlfWidth-1,y=0..ccAlfHeight-1)の現在の彩度ブロック内部の各々の再構成された彩度サンプルは、以下のようにフィルタリングされる。
-彩度位置(xC+x,yC+y)における現在の彩度サンプルに対応する輝度位置(xL,yL)は、((xC+x)*SubWidthC,(yC+y)*SubHeightC)に等しく設定される。
-i=-2..2,j=-2..3の場合、配列recPicture内の輝度位置(hxL+i,vyL+j)は、以下のように導出される。
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つ、n=0..pps_num_ver_virtual_boundaries-1においてxL-PpsVirtualBoundariesPosX[n]が0以上3未満である場合、以下が適用される。
xL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_ver_virtual_boundaries-1においてPpsVirtualBoundariesPosX[n]-xLが0より大きく4未満である場合、以下が適用される。
x+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
-そうでない場合、以下が適用される。
x+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてyL-PpsVirtualBoundariesPosY[n]が0以上3未満である場合、以下が適用される。
y+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてPpsVirtualBoundariesPosY[n]-yLが0より大きく4未満である場合、以下が適用される。
y+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
-そうでない場合、以下が適用される。
y+j=Clip3(0,pic_height_in_luma_samples-1,yL+j) (8-1234)
-変数clipLeftPos、clipRightPos、clipTopPos、およびclipBottomPosは、(xCtb,yCtb)および(xL-xCtb,yL-yCtb)を入力として、8.8.5.5項で規定されるように、ALF境界位置導出処理を呼び出すことによって導出される。
-表4-1に、垂直方向のサンプルの位置のオフセットyM2、yM1、yP1、yP2、yP3を規定している。
【0196】
【表25】
【0197】
【表26】
【0198】
【化32】
【0199】
-変数currは、以下のように導出される。
curr=alfPicture[xC+x,yC+y] (8-1286)
-クロス成分フィルタ係数f[j]のアレイは、j=0..13として以下のように導出される。
f[j]=CcAlfCoeff[j] (8-1287)
-変数sumは、以下のように導出される。
sum=f[0]*recPicture[h,vy+yM2]+
f[1]*recPicture[hx+xM1,vy+yM1]+
f[2]*recPicture[h,vy+yM1]+
f[3]*recPicture[hx+xP1,vy+yM1]+
f[4]*recPicture[hx+xM2,v]+
f[5]*recPicture[hx+xM1,v]+
f[6]*recPicture[h,v]+
f[7]*recPicture[hx+xP1,v]+
f[4]*recPicture[hx+xP2,v]+ (8-1289)
f[4]*recPicture[hx+xM2,vy+yP1]+
f[8]*recPicture[hx+xM1,vy+yP1]+
f[9]*recPicture[h,vy+yP1]+
f[10]*recPicture[hx+xP1,vy+yP1]+
f[4]*recPicture[hx+xP2,vy+yP1]+
f[11]*recPicture[hx+xM1,vy+yP2]+
f[12]*recPicture[h,vy+yP2]+
f[13]*recPicture[hx+xP1,vy+yP2]+
f[0]*recPicture[h,vy+yP3]+
sum=curr+(sum+64)>>7) (8-1290)
-修正されフィルタリングされた再構成彩度ピクチャサンプルアレイccAlfPicture[xC+x][yC+y]は、以下のように導出される。
ccAlfPicture[xC+x][yC+y]=Clip3(0,(1<<BitDepth)-1,sum) (8-1291)
【0200】
【化33】
【0201】
【表27】
【0202】
【化34】
【0203】
【表28】
【0204】
【表29】
【0205】
5.3. 実施形態#3
JVET-P1008で規定される作業草案は、次のように変更することができる。
【0206】
x.x.x.x 彩度サンプルのブロックのためのクロス成分フィルタリング処理
この処理の入力は以下の通りである。
-輝度適応ループフィルタリング処理の前に再構成された輝度ピクチャサンプルアレイrecPicture
-フィルタリングされた再構成彩度ピクチャサンプルアレイalfPicture
-現在のピクチャの左上のサンプルに対する現在の彩度コーディングツリーブロックの左上のサンプルを規定する彩度位置(xCtbC,yCtbC)
-彩度サンプルのブロックの幅ccAlfWidth
-彩度サンプルのブロックの高さccAlfHeight
-j=0..7であるクロス成分フィルタ係数CcAlfCoeff[j]
この処理の出力は、修正され、フィルタリングされ、再構成された彩度ピクチャサンプルアレイccAlfPictureである。
コーディングツリーブロック輝度位置(xCtb,yCtb)は、以下のように導出される。
xCtb=(((xCtbC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
yCtb=(((yCtbC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
フィルタリングされた再構成彩度サンプルccAlfPicture[xCtbC+x][yCtbC+y]を導出するために、サンプルalfPicture[xCtbC+x][yCtbC+y](但し、x=0..ccAlfWidth-1,y=0..ccAlfHeight-1)の現在の彩度ブロック内部の各々の再構成された彩度サンプルは、以下のようにフィルタリングされる。
-彩度位置(xCtbC+x,yCtbC+y)における現在の彩度サンプルに対応する輝度位置(xL,yL)は、((xCtbC+x)*SubWidthC,(yCtbC+y)*SubHeightC)に等しく設定される。
-i=-1..1,j=-1..2の場合、配列recPicture内の輝度位置(hxL+i,vyL+j)は、以下のように導出される。
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つ、n=0..pps_num_ver_virtual_boundaries-1においてxL-PpsVirtualBoundariesPosX[n]が0以上3未満である場合、以下が適用される。
xL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_ver_virtual_boundaries-1においてPpsVirtualBoundariesPosX[n]-xLが0より大きく4未満である場合、以下が適用される。
x+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
-そうでない場合、以下が適用される。
x+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてyL-PpsVirtualBoundariesPosY[n]が0以上3未満である場合、以下が適用される。
y+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてPpsVirtualBoundariesPosY[n]-yLが0より大きく4未満である場合、以下が適用される。
y+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
-そうでない場合、以下が適用される。
y+j=Clip3(0,pic_height_in_luma_samples-1,yL+j) (8-1234)
-変数clipLeftPos、clipRightPos、clipTopPos、およびclipBottomPosは、(xCtb,yCtb)および(xL-xCtb,yL-yCtb)を入力として、8.8.5.5項で規定されるように、ALF境界位置導出処理を呼び出すことによって導出される。
-表4-1に、垂直方向のサンプルの位置のオフセットyM1、yP1、yP2を規定している。
【0207】
【表30】
【0208】
【表31】
【0209】
【化35】
【0210】
-変数currは、以下のように導出される。
curr=alfPicture[xCtbC+x,yCtbC+y] (8-1286)
-クロス成分フィルタ係数f[j]のアレイは、j=0..7として以下のように導出される。
f[j]=CcAlfCoeff[j] (8-1287)
-変数sumは、以下のように導出される。
sum=f[0]*recPicture[h,vy+yM1]+
f[1]*recPicture[hx+xM1,v]+
f[2]*recPicture[h,v]+
f[3]*recPicture[hx+xP1,v]+ (8-1289)
f[4]*recPicture[hx+xM1,vy+yP1]+
f[5]*recPicture[h,vy+yP1]+
f[6]*recPicture[hx+xP1,vy+yP1]+
f[7]*recPicture[h,vy+yP2
sum=Clip3(-(1<<(BitDepth-1)),(1<<(BitDepth -1))-1,sum) (8-1290)
sum=curr+(sum+64)>>(7+(BitDepth-BitDepth)) (8-1290)
-修正されフィルタリングされた再構成彩度ピクチャサンプルアレイccAlfPicture[xCtbC+x][yCtbC+y]は、以下のように導出される。
ccAlfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepth)-1,sum) (8-1291)
【0211】
【化36】
【0212】
【表32】
【0213】
【化37】
【0214】
【表33】
【0215】
【表34】
【0216】
5.4. 実施形態#4
JVET-P1008で規定される作業草案は、次のように変更することができる。これらの変更は、太字および斜体で強調表示され、削除されたテキストには二重括弧(例えば、[[a]]は文字「a」の削除を表す)が付されている。
【0217】
x.x.x.x 彩度サンプルのブロックのためのクロス成分フィルタリング処理
この処理の入力は以下の通りである。
-輝度適応ループフィルタリング処理の前に再構成された輝度ピクチャサンプルアレイrecPicture
-フィルタリングされた再構成彩度ピクチャサンプルアレイalfPicture
-現在のピクチャの左上のサンプルに対する現在の彩度コーディングツリーブロックの左上のサンプルを規定する彩度位置(xCtbC,yCtbC)
-彩度サンプルのブロックの幅ccAlfWidth
-彩度サンプルのブロックの高さccAlfHeight
-j=0..7であるクロス成分フィルタ係数CcAlfCoeff[j]
この処理の出力は、修正され、フィルタリングされ、再構成された彩度ピクチャサンプルアレイccAlfPictureである。
コーディングツリーブロック輝度位置(xCtb,yCtb)は、以下のように導出される。
xCtb=(((xCtbC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
yCtb=(((yCtbC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
フィルタリングされた再構成彩度サンプルccAlfPicture[xCtbC+x][yCtbC+y]を導出するために、サンプルalfPicture[xCtbC+x][yCtbC+y](但し、x=0..ccAlfWidth-1,y=0..ccAlfHeight-1)の現在の彩度ブロック内部の各々の再構成された彩度サンプルは、以下のようにフィルタリングされる。
-彩度位置(xCtbC+x,yCtbC+y)における現在の彩度サンプルに対応する輝度位置(xL,yL)は、((xCtbC+x)*SubWidthC,(yCtbC+y)*SubHeightC)に等しく設定される。
-i=-1..1,j=-1..2の場合、配列recPicture内の輝度位置(hxL+i,vyL+j)は、以下のように導出される。
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つ、n=0..pps_num_ver_virtual_boundaries-1においてxL-PpsVirtualBoundariesPosX[n]が0以上3未満である場合、以下が適用される。
xL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_ver_virtual_boundaries-1においてPpsVirtualBoundariesPosX[n]-xLが0より大きく4未満である場合、以下が適用される。
x+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
-そうでない場合、以下が適用される。
x+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてyL-PpsVirtualBoundariesPosY[n]が0以上3未満である場合、以下が適用される。
y+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてPpsVirtualBoundariesPosY[n]-yLが0より大きく4未満である場合、以下が適用される。
y+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
-そうでない場合、以下が適用される。
y+j=Clip3(0, pic_height_in_luma_samples-1,yL+j) (8-1234)
-変数clipLeftPos、clipRightPos、clipTopPos、およびclipBottomPosは、(xCtb,yCtb)および(xL-xCtb,yL-yCtb)を入力として、8.8.5.5項で規定されるように、ALF境界位置導出処理を呼び出すことによって導出される。
-表4-1に、垂直方向のサンプルの位置のオフセットyM1、yP1、yP2を規定している。
【0218】
【表35】
【0219】
【表36】
【0220】
-垂直方向の輝度サンプルの位置yL,clipLeftPos,clipRightPosに応じる。
-水平方向の輝度サンプルの位置xL、clipLeftPos、およびclipRightPosに応じた水平サンプル位置オフセットxM1およびxP1を表y-yyyyで規定する。
-変数currは、以下のように導出される。
curr=alfPicture[xCtbC+x,yCtbC+y] (8-1286)
-クロス成分フィルタ係数f[j]のアレイは、j=0..7として以下のように導出される。
f[j]=CcAlfCoeff[j] (8-1287)
-変数sumは、以下のように導出される。
sum=f[0]*recPicture[h,vy+yM1]+
f[1]*recPicture[hx+xM1,v]+
f[2]*recPicture[h,v]+
f[3]*recPicture[hx+xP1,v]+ (8-1289)
f[4]*recPicture[hx+xM1,vy+yP1]+
f[5]*recPicture[h,vy+yP1]+
f[6]*recPicture[hx+xP1,vy+yP1]+
f[7]*recPicture[h,vy+yP2
sum=Clip3(-(1<<(BitDepth-1)),(1<<(BitDepth -1))-1,sum) (8-1290)
sum=curr+(sum+64)>>(7+(BitDepth-BitDepth)) (8-1290)
-修正されフィルタリングされた再構成彩度ピクチャサンプルアレイccAlfPicture[xCtbC+x][yCtbC+y]は、以下のように導出される。
ccAlfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepth)-1,sum) (8-1291)
【0221】
【化38】
【0222】
【表37】
【0223】
【化39】
【0224】
【表38】
【0225】
【表39】
【0226】
5.5. 実施形態#5
JVET-S2001-v5で規定される作業草案は、以下のように変更することができる。
【0227】
8.8.5 適応ループフィルタ処理
8.8.5.2 輝度サンプルのためのコーディングツリーブロックフィルタリング処理
【化40】

-変数hx+iとvy+jは、ALFサンプルパディング処理を8.8.5.6項に規定されているように、(xCtb,yCtb)、(hx+i,vy+j),0,clipLeftPos,clipRightPos,clipTopPos,clipBottomPos,clipTopLeftFlag及びclipBotRightFlagを入力として呼び出すことによって修正される。
【0228】
8.8.5.3 輝度サンプルのためのALF転置及びフィルタインデックスのための導出プロセス
【化41】
【0229】
8.8.5.4 彩度サンプルのためのコーディングツリーブロックフィルタリング処理
【化42】

-変数hx+i及びvy+jは、8.8.5.6項に規定されるALFサンプルパディング処理を、(xCtbC*SubWidthC,yCtbC*SubHeightC)、(hx+i,vy+j)、1に等しく設定された変数isChroma、clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag及びclipBotRightFlagを入力として、呼び出すことによって修正される。
【0230】
8.8.5.5 ALF境界位置導出処理
この処理の入力は以下の通りである。
【化43】

-あるいは、VirtualBoundariesPresentFlagが1に等しく、且つyCtb+y-VirtualBoundaryPosY[n]が、任意のn=0..NumHorVirtualBoundaries-1に対して、0以上3未満となる場合は、以下が適用される。
clipTopPos=VirtualBoundaryPosY[n] (1497)
-あるいは、yが3未満であり、且つ以下の条件の1つ以上が真である場合、変数clipTopPosはyCtbに等しく設定する。
-現在のコーディングツリーブロックの上側境界はタイルの上側境界であり、pps_loop_filter_across_tiles_enabled_flagは0に等しい。
-現在のコーディングツリーブロックの上側境界はスライスの上側境界であり、pps_loop_filter_across_slices_enabled_flagは0に等しい。
-現在のコーディングツリーブロックの上側境界はサブピクチャの上側境界であり、sps_loop_filter_across_subpic_enabled_flag[CurrSubpicIdx]は0に等しい。
変数clipBottomPosは、以下のように変更される。
-VirtualBoundariesPresentFlagが1に等しく、VirtualBoundaryPosY[n]がpps_pic_in_luma_samples-1又は0に等しくなく、且つVirtualBoundaryPosY[n]-yCtb-yが、任意のn=0..NumHorVirtualBoundaries-1に対して、0よりも大きく5未満である場合には、以下が適用される。
clipBottomPos=VirtualBoundaryPosY[n] (1498)
【化44】

-あるいは、CtbSizeY-yが5未満であり、且つ以下の条件の1つ以上が真である場合、変数clipBottomPosはyCtb+CtbSizeYに等しく設定する。
-現在のコーディングツリーブロックの下部境界はタイルの下部境界であり、pps_loop_filter_across_tiles_enabled_flagは0に等しい。
-現在のコーディングツリーブロックの下部境界はスライスの下部境界であり、pps_loop_filter_across_slices_enabled_flagは0に等しい。
-現在のコーディングツリーブロックの下部境界はサブピクチャの下部境界であり、sps_loop_filter_across_subpic_enabled_flag[CurrSubpicIdx]は0に等しい。
【0231】
8.8.5.6 ALFサンプルパディング処理
この処理の入力は以下の通りである。
【化45】
【0232】
8.8.5.7 クロスコンポーネントフィルタリング処理
【化46】

-変数hx+i及びvy+jは、8.8.5.6項で規定されたALFサンプルパディング処理を、(xCtbC*SubWidthC,yCtbC*SubHeightC)、(hx+i,vy+j)、0に等しく設定された変数isChroma、clipLeftPos、clipRightPos、clipTopos、clipBottomPos、clipTopLeftFlag及びclipBotRightFlagを入力として、呼び出すことによって導出される。
【0233】
5.6. 実施形態#6
JVET-S2001-v5で規定される作業草案は、以下のように変更することができる。
【0234】
8.8.5 適応ループフィルタ処理
8.8.5.2 輝度サンプルのためのコーディングツリーブロックフィルタリング処理
【化47】

-変数hx+iとvy+jは、ALFサンプルパディング処理を8.8.5.6項に規定されているように、(xCtb,yCtb)、(hx+i,vy+j),0,clipLeftPos,clipRightPos,clipTopPos,clipBottomPos,clipTopLeftFlag及びclipBotRightFlagを入力として呼び出すことによって修正される。
【0235】
8.8.5.3 輝度サンプルのためのALF転置及びフィルタインデックスのための導出プロセス
【化48】
【0236】
8.8.5.4 彩度サンプルのためのコーディングツリーブロックフィルタリング処理
【化49】

-変数hx+i及びvy+jは、8.8.5.6項に規定されるALFサンプルパディング処理を、(xCtbC*SubWidthC,yCtbC*SubHeightC)、(hx+i,vy+j)、1に等しく設定された変数isChroma、clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag及びclipBotRightFlagを入力として、呼び出すことによって修正される。
【0237】
8.8.5.5 ALF境界位置導出処理
この処理の入力は以下の通りである。
【化50】

変数clipBottomPosは、以下のように変更される。
-VirtualBoundariesPresentFlagが1に等しく、VirtualBoundaryPosY[n]がpps_pic_in_luma_samples-1又は0に等しくなく、且つVirtualBoundaryPosY[n]-yCtb-yが、任意のn=0..NumHorVirtualBoundaries-1に対して、0よりも大きく5未満である場合には、以下が適用される。
clipBottomPos = VirtualBoundaryPosY[n] (1498)
【化51】
【0238】
8.8.5.6 ALFサンプルパディング処理
この処理の入力は以下の通りである。
【化52】
【0239】
8.8.5.7 クロスコンポーネントフィルタリング処理
【化53】

-変数hx+i及びvy+jは、8.8.5.6項で規定されたALFサンプルパディング処理を、(xCtbC*SubWidthC,yCtbC*SubHeightC)、(hx+i,vy+j)、0に等しく設定された変数isChroma、clipLeftPos、clipRightPos、clipTopos、clipBottomPos、clipTopLeftFlag及びclipBotRightFlagを入力として、呼び出すことによって導出される。
【0240】
5.7. 実施形態7
JVET-S2001-v5で規定される作業草案は、以下のように変更することができる。
【0241】
8.8.5 適応ループフィルタ処理
8.8.5.2 輝度サンプルのためのコーディングツリーブロックフィルタリング処理
【化54】

-変数hx+iとvy+jは、ALFサンプルパディング処理を8.8.5.6項に規定されているように、(xCtb,yCtb)、(hx+i,vy+j),0,clipLeftPos,clipRightPos,clipTopPos,clipBottomPos,clipTopLeftFlag及びclipBotRightFlagを入力として呼び出すことによって修正される。
【0242】
8.8.5.3 輝度サンプルのためのALF転置及びフィルタインデックスのための導出プロセス
【化55】
【0243】
8.8.5.4 彩度サンプルのためのコーディングツリーブロックフィルタリング処理
【化56】

-変数hx+i及びvy+jは、8.8.5.6項に規定されるALFサンプルパディング処理を、(xCtbC*SubWidthC,yCtbC*SubHeightC)、(hx+i,vy+j)、1に等しく設定された変数isChroma、clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag及びclipBotRightFlagを入力として、呼び出すことによって修正される。
【0244】
8.8.5.5 ALF境界位置導出処理
この処理の入力は以下の通りである。
【化57】

変数clipBottomPosは、以下のように変更される。
-VirtualBoundariesPresentFlagが1に等しく、VirtualBoundaryPosY[n]がpps_pic_in_luma_samples-1又は0に等しくなく、且つVirtualBoundaryPosY[n]-yCtb-yが、任意のn=0..NumHorVirtualBoundaries-1に対して、0より大きく5vbOffset+1未満である場合、以下が適用される。
clipBottomPos=VirtualBoundaryPosY[n] (1498)
【化58】
【0245】
8.8.5.6 ALFサンプルパディング処理
この処理の入力は以下の通りである。
【化59】
【0246】
8.8.5.7 クロスコンポーネントフィルタリング処理
【化60】

変数hx+i及びvy+jは、8.8.5.6項で規定されたALFサンプルパディング処理を、(xCtbC*SubWidthC,yCtbC*SubHeightC)、(hx+i,vy+j)、0に等しく設定された変数isChroma、clipLeftPos、clipRightPos、clipTopos、clipBottomPos、clipTopLeftFlag及びclipBotRightFlagを入力として、呼び出すことによって導出される。
【0247】
図32は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム1900を示すブロック図である。様々な実装形態は、システム1900のコンポーネントの一部又は全部を含んでもよい。システム1900は、映像コンテンツを受信するための入力ユニット1902を含んでもよい。映像コンテンツは、未加工又は非圧縮フォーマット、例えば、8又は10ビットのマルチコンポーネント画素値で受信されてもよく、又は圧縮又は符号化フォーマットで受信されてもよい。入力ユニット1902は、ネットワークインターフェース、周辺バスインターフェース、又は記憶インターフェースを表してもよい。ネットワークインターフェースの例は、イーサネット(登録商標)、PON(Passive Optical Network)等の有線インターフェース、およびWi-Fi(登録商標)またはセルラーインターフェース等の無線インターフェースを含む。
【0248】
システム1900は、本明細書に記載される様々なコーディング又はエンコーディング方法を実装することができるコーディングコンポーネント1904を含んでもよい。コーディングコンポーネント1904は、入力1902からの映像の平均ビットレートをコーディングコンポーネント1904の出力に低減し、映像のコーディング表現を生成してもよい。従って、このコーディング技術は、映像圧縮または映像トランスコーディング技術と呼ばれることがある。コーディングコンポーネント1904の出力は、コンポーネント1906によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力1902において受信された、記憶された又は通信された映像のビットストリーム(又はコーディングされた)表現は、コンポーネント1908によって使用されて、表示インターフェース1910に送信される画素値又は表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像展開と呼ばれることがある。さらに、特定の映像処理動作を「コーディング」動作又はツールと呼ぶが、コーディングツール又は動作は、エンコーダ及びそれに対応する、コーディングの結果を逆にするデコーディングツール又は動作が、デコーダによって行われることが理解されよう。
【0249】
周辺バスインターフェースまたは表示インターフェースの例は、ユニバーサルシリアルバス(USB)またはハイビジョンマルチメディアインターフェース(HDMI(登録商標))またはディスプレイポート等を含んでもよい。ストレージインターフェースの例は、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、またはデジタルデータ処理および/または映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
【0250】
図33は、映像処理装置3600のブロック図である。装置3600は、本明細書に記載の方法の1つ以上を実装するために使用してもよい。装置3600は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信機等に実施されてもよい。装置3600は、1つ以上の処理装置3602と、1つ以上のメモリ3604と、映像処理ハードウェア3606と、を含んでもよい。1つまたは複数の処理装置3602は、本明細書に記載される1つ以上の方法を実装するように構成されてもよい。メモリ(複数可)3604は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア3606は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。
【0251】
図35は、本開示の技法を利用し得る例示的な映像コーディングシステム100を示すブロック図である。
【0252】
図35に示すように、映像コーディングシステム100は、送信元デバイス110と、送信先デバイス120と、を備えてもよい。送信元デバイス110は、映像符号化デバイスとも称され得る符号化映像データを生成する。送信先デバイス120は、送信元装置110によって生成された、符号化された映像データを復号してよく、映像復号デバイスと呼ばれ得る。
【0253】
送信元デバイス110は、映像ソース112と、映像エンコーダ114と、入出力(I/O)インターフェース116と、を備えてもよい。
【0254】
映像ソース112は、映像キャプチャデバイスなどのソース、映像コンテンツプロバイダからの映像データを受信するためのインターフェース、および/または映像データを生成するためのコンピュータグラフィックスシステム、またはこれらのソースの組み合わせを含んでもよい。映像データは、1または複数のピクチャを含んでもよい。映像エンコーダ114は、映像ソース112からの映像データを符号化し、ビットストリームを生成する。ビットストリームは、映像データのコーディング表現を形成するビットのシーケンスを含んでもよい。ビットストリームは、コーディングされたピクチャおよび関連付けられたデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディング表現である。関連付けられたデータは、シーケンスパラメータセット、ピクチャパラメータセット、および他の構文構造を含んでもよい。I/Oインターフェース116は、変復調器(モデム)および/または送信機を含んでもよい。符号化された映像データは、ネットワーク130aを介して、I/Oインターフェース116を介して送信先デバイス120に直接送信されてよい。符号化された映像データは、送信先デバイス120がアクセスするために、記憶媒体/サーバ130bに記憶してもよい。
【0255】
送信先デバイス120は、I/Oインターフェース126、映像デコーダ124、および表示装置122を含んでもよい。
【0256】
I/Oインターフェース126は、受信機および/またはモデムを含んでもよい。I/Oインターフェース126は、送信元デバイス110または記憶媒体/サーバ130bから符号化された映像データを取得してもよい。映像デコーダ124は、符号化された映像データを復号してもよい。表示デバイス122は、復号された映像データをユーザに表示してもよい。表示装置122は、送信先デバイス120と一体化されてもよく、または外部表示装置とインターフェースで接続するように構成される送信先デバイス120の外部にあってもよい。
【0257】
映像エンコーダ114および映像デコーダ124は、高効率映像符号化(HEVC)規格、汎用映像符号化(VVM)規格、および他の現在のおよび/またはさらなる規格等の映像圧縮規格に従って動作してもよい。
【0258】
図36は、映像エンコーダ114の一例を示すブロック図であり、この映像エンコーダ114は、図36に示されるシステム100における映像エンコーダ114であってもよい。
【0259】
映像エンコーダ200は、本開示の技術のいずれかまたは全部を行うように構成されてもよい。図36の実施例において、映像エンコーダ200は、複数の機能コンポーネントを備える。本開示で説明される技法は、映像エンコーダ200の様々なコンポーネント間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまたはすべてを行うように構成してもよい。
【0260】
映像エンコーダ200の機能コンポーネントは、分割ユニット201、予測ユニット202、残差生成ユニット207、変換ユニット208、量子化ユニット209、逆量子化ユニット210、逆変換ユニット211、再構成ユニット212、バッファ213、およびエントロピー符号化ユニット214を含んでもよく、予測ユニット202は、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205、およびイントラ予測ユニット206を含む。
【0261】
他の例において、映像エンコーダ200は、より多くの、より少ない、又は異なる機能コンポーネントを含んでもよい。一例において、予測ユニット202は、IBC(Intra Block Copy)ユニットを含んでもよい。IBCユニットは、少なくとも1つの参照ピクチャが、現在の映像ブロックが位置するピクチャであるIBCモードにおいて予測を実行してもよい。
【0262】
さらに、動き推定ユニット204及び動き補正ユニット205などのいくつかのコンポーネントは、高度に統合されてもよいが、説明のために、図36の例においては別々に表されている。
【0263】
分割ユニット201は、ピクチャを1または複数の映像ブロックに分割してもよい。映像エンコーダ200及び映像デコーダ300は、様々な映像ブロックサイズをサポートしてもよい。
【0264】
モード選択ユニット203は、例えば、誤りの結果に基づいて、イントラまたはインターのコーディングモードのうちの1つを選択し、得られたイントラまたはインターコーディングされたブロックを、残差ブロックデータを生成するために残差生成ユニット207に供給し、符号化されたブロックを参照ピクチャとして使用するために再構成するために再構成ユニット212に供給してもよい。いくつかの例において、モード選択ユニット203は、インター予測信号およびイントラ予測信号に基づいて予測を行うCIIP(Combination of Intra and Inter Prediction)モードを選択してもよい。モード選択ユニット203は、インター予測の場合、ブロックのために動きベクトルの解像度(例えば、サブピクセルまたは整数ピクセル精度)を選択してもよい。
【0265】
現在の映像ブロックに対してインター予測を行うために、動き推定ユニット204は、バッファ213からの1つ以上の参照フレームと現在の映像ブロックとを比較することにより、現在の映像ブロックに対する動き情報を生成してもよい。動き補償ユニット205は、動き情報および現在の映像ブロックに関連付けられたピクチャ以外のバッファ213からのピクチャの復号化されたサンプルに基づいて、現在の映像ブロックに対する予測映像ブロックを決定してもよい。
【0266】
動き推定ユニット204および動き補償ユニット205は、現在の映像ブロックがIスライスであるか、Pスライスであるか、またはBスライスであるかによって、例えば、現在の映像ブロックに対して異なる動作を行ってもよい。
【0267】
いくつかの例において、動き推定ユニット204は、現在の映像ブロックに対して単方向予測を行い、動き推定ユニット204は、現在の映像ブロックに対する参照映像ブロックのために、リスト0又はリスト1の参照ピクチャを検索してもよい。そして、動き推定ユニット204は、参照映像ブロックを含むリスト0またはリスト1における参照ピクチャを示す参照インデックスと、現在の映像ブロックと参照映像ブロックとの間の空間的変位を示す動きベクトルと、を生成する。動き推定ユニット204は、参照インデックス、予測方向インジケータ、および動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き補償ユニット205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在のブロックの予測映像ブロックを生成してもよい。
【0268】
他の例において、動き推定ユニット204は、現在の映像ブロックを双方向予測してもよく、動き推定ユニット204は、現在の映像ブロックに対する参照映像ブロックについて、リスト0から参照ピクチャを検索してもよく、また、現在の映像ブロックに対する別の参照映像ブロックについて、リスト1における参照ピクチャも検索してもよい。そして、動き推定ユニット204は、参照映像ブロックを含むリスト0およびリスト1における参照ピクチャを示す参照インデックスと、参照映像ブロックと現在の映像ブロックとの間の空間的変位を示す動きベクトルとを生成してもよい。動き推定ユニット204は、現在の映像ブロックの参照インデックスおよび動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き補償ユニット205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在の映像ブロックの予測映像ブロックを生成してもよい。
【0269】
いくつかの例において、動き推定ユニット204は、デコーダの復号処理のために、動き情報のフルセットを出力してもよい。
【0270】
いくつかの例では、動き推定ユニット204は、現在の映像のための動き情報のフルセットを出力しなくてもよい。むしろ、動き推定ユニット204は、別の映像ブロックの動き情報を参照して、現在の映像ブロックの動き情報を信号通知してもよい。例えば、動き推定ユニット204は、現在の映像ブロックの動き情報が近隣の映像ブロックの動き情報に十分に類似していることを判定してもよい。
【0271】
一例において、動き推定ユニット204は、現在の映像ブロックに関連付けられた構文構造において、現在の映像ブロックが別の映像ブロックと同一の動き情報を有することを映像デコーダ300に示す値を示してもよい。
【0272】
他の例において、動き推定ユニット204は、現在の映像ブロックに関連付けられた構文構造において、別の映像ブロックと、MVD(Motion Vector Difference)とを識別してもよい。動きベクトル差分は、現在の映像ブロックの動きベクトルと、示された映像ブロックの動きベクトルとの差分を示す。映像デコーダ300は、指定された映像ブロックの動きベクトルと動きベクトル差分とを使用して、現在の映像ブロックの動きベクトルを決定してもよい。
【0273】
上述したように、映像エンコーダ200は、動きベクトルを予測的に信号通知してもよい。映像エンコーダ200によって実装され得る予測信号通知技法の2つの例は、AMVP(Advanced Motion Vector Prediction)およびマージモード信号通知を含む。
【0274】
イントラ予測ユニット206は、現在の映像ブロックに対してイントラ予測を行ってもよい。イントラ予測ユニット206が現在の映像ブロックをイントラ予測する場合、イントラ予測ユニット206は、同じピクチャにおける他の映像ブロックの復号されたサンプルに基づいて、現在の映像ブロックのための予測データを生成してもよい。現在の映像ブロックのための予測データは、予測された映像ブロックおよび様々な構文要素を含んでもよい。
【0275】
残差生成ユニット207は、現在の映像ブロックから現在の映像ブロックの予測された映像ブロックを減算することによって(例えば、マイナス符号によって示されている)、現在の映像ブロックに対する残差データを生成してもよい。現在の映像ブロックの残差データは、現在の映像ブロックにおけるサンプルの異なるサンプル成分に対応する残差映像ブロックを含んでもよい。
【0276】
他の例において、例えば、スキップモードにおいて、現在の映像ブロックに対する残差データがなくてもよく、残差生成ユニット207は、減算動作を行わなくてもよい。
【0277】
変換処理ユニット208は、現在の映像ブロックに関連付けられた残差映像ブロックに1または複数の変換を適用することによって、現在の映像ブロックのための1または複数の変換係数映像ブロックを生成してもよい。
【0278】
変換処理ユニット208が現在の映像ブロックに関連付けられた変換係数映像ブロックを生成した後、量子化ユニット209は、現在の映像ブロックに関連付けられた1または複数の量子化パラメータ(QP:Quantization Parameter)値に基づいて、現在の映像ブロックに関連付けられた変換係数映像ブロックを量子化してもよい。
【0279】
逆量子化ユニット210および逆変換ユニット211は、変換係数映像ブロックに逆量子化および逆変換をそれぞれ適用し、変換係数映像ブロックから残差映像ブロックを再構成してもよい。再構成ユニット212は、予測ユニット202によって生成された1または複数の予測映像ブロックに対応するサンプルに再構成された残差映像ブロックを追加して、バッファ213に格納するための現在のブロックに関連付けられた再構成された映像ブロックを生成してもよい。
【0280】
再構成ユニット212が映像ブロックを再構成した後、映像ブロックにおける映像ブロッキングアーチファクトを縮小するために、ループフィルタリング動作が行われてもよい。
【0281】
エントロピー符号化ユニット214は、映像エンコーダ200の他の機能コンポーネントからデータを受信してもよい。エントロピー符号化ユニット214がデータを受信した場合、エントロピー符号化ユニット214は、1または複数のエントロピー符号化動作を行い、エントロピー符号化されたデータを生成し、エントロピー符号化されたデータを含むビットストリームを出力してもよい。
【0282】
図37は、映像デコーダ300の一例を示すブロック図であり、この映像デコーダ300は、図35に示されるシステム100における映像デコーダ114であってもよい。
【0283】
映像デコーダ300は、本開示の技術のいずれかまたは全てを行うように構成されてもよい。図37の実施例において、映像デコーダ300は、複数の機能コンポーネントを備える。本開示で説明される技法は、映像デコーダ300の様々なコンポーネント間で共有されてもよい。いくつかの例では、処理装置は、本開示で説明される技術のいずれかまたはすべてを行うように構成してもよい。
【0284】
図37の実施例において、映像デコーダ300は、エントロピー復号ユニット301、動き補償ユニット302、イントラ予測ユニット303、逆量子化ユニット304、逆変換ユニット305、及び再構成ユニット306、並びにバッファ307を備える。映像デコーダ300は、いくつかの例では、映像エンコーダ200(図36)に関して説明した符号化パスとほぼ逆の復号パスを行ってもよい。
【0285】
エントロピー復号ユニット301は、符号化されたビットストリームを取り出す。符号化されたビットストリームは、エントロピーコーディングされた映像データ(例えば、映像データの符号化されたブロック)を含んでもよい。エントロピー復号ユニット301は、エントロピーコーディングされた映像データを復号し、エントロピー復号された映像データから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、および他の動き情報を含む動き情報を決定してもよい。動き補償ユニット302は、例えば、AMVP及びマージモードを行うことで、このような情報を決定してもよい。
【0286】
動き補償ユニット302は、動き補償されたブロックを生成してもよく、場合によっては、補間フィルタに基づいて補間を行う。構文要素には、サブピクセルの精度で使用される補間フィルタのための識別子が含まれてもよい。
【0287】
動き補償ユニット302は、映像ブロックの符号化中に映像エンコーダ20によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数ピクセルのための補間値を計算してもよい。動き補償ユニット302は、受信した構文情報に基づいて、映像エンコーダ200により使用される補間フィルタを決定し、予測ブロックを生成に補間フィルタを使用してしてもよい。
【0288】
動き補償ユニット302は、符号化された映像シーケンスのフレームおよび/またはスライスを符号化するために使用されるブロックのサイズを判定するための構文情報、符号化された映像シーケンスのピクチャの各マクロブロックがどのように分割されるかを記述する分割情報、各分割がどのように符号化されるかを示すモード、インター符号化されたブロックごとの1つ以上の参照フレーム(および参照フレームリスト)、および符号化された映像シーケンスを復号するための他の情報のうちいくつかを使用してもよい。
【0289】
イントラ予測ユニット303は、例えば、ビットストリームにおいて受信したイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成してもよい。逆量子化ユニット303は、ビットストリームに提供され、エントロピー復号ユニット301によって復号された量子化された映像ブロック係数を逆量子化(すなわち、逆量子化)する。逆変換ユニット303は、逆変換を適用する。
【0290】
再構成ユニット306は、残差ブロックと、動き補償ユニット202又はイントラ予測ユニット303によって生成された対応する予測ブロックとを合計し、復号されたブロックを形成してもよい。所望であれば、ブロックアーチファクトを除去するために、復号されたブロックをフィルタリングするために非ブロック化フィルタを適用してもよい。復号された映像ブロックは、バッファ307に記憶され、バッファ307は、後続の動き補償/イントラ予測のために参照ブロックを提供し、表示デバイスに表示するために復号された映像を生成する。
【0291】
次に、いくつかの実施形態において好適な解決策を列挙する。
【0292】
第1の解決策のセットを以下に提供する。以下の解決策は、前章(例えば、項目1)で論じた技術の例示的な実施形態を示す。
【0293】
1.映像の映像ユニットと映像のコーディングされた表現との変換のために、判定基準に基づき、クロス成分適応ループフィルタ動作を使用することを決定すること(3402)であって、前記クロス成分適応ループフィルタは、利用不可の輝度サンプルに対してミラーパディング技術を使用する、決定することと、前記決定に基づいて変換を行うこと(3404)と、を含む、映像処理方法(例えば図34の方法3400)。本明細書は、クロス成分適応ループフィルタの様々な実施形態、その動作およびミラーパディング技術、並びに仮想バッファ境界との関係を開示する。
【0294】
2.前記ミラーパディング技術をさらに使用して、前記利用不可の輝度サンプルのうちの1つ以上の対応する輝度サンプルを導出する、解決策1に記載の方法。
【0295】
3.前記1つ以上の対応する輝度サンプルは、代表的な輝度サンプルからの前記1つ以上の対応する輝度サンプルの距離または前記代表的な輝度サンプルからの前記利用不可のサンプルの距離に基づいて決定される、解決策2に記載の方法。
【0296】
4.前記代表的な輝度サンプルは、クロス成分適応ループフィルタリング技術が使用される彩度サンプルの位置に対応する、解決策3に記載の方法。
【0297】
5.前記代表的な輝度サンプルの位置は、前記映像のカラーフォーマットに依存する、解決策3に記載の方法。
【0298】
6.前記距離は、1つ以上の輝度サンプルを含む第2の方向に沿ったピクセルラインと前記代表的なサンプルを含む行との第1の方向における距離に対応する、解決策3~4のいずれかに記載の方法。
【0299】
7.Cは、代表的な輝度サンプルが位置する第2の方向に沿った中心線を表し、Mは、利用不可のサンプルが位置する第2の方向に沿った線を表し、Nは、1つ以上の輝度サンプルが位置する第2の方向に沿った線を表し、そこで、C、M、Nは正の整数であり、Mは、Nに等しくなく、次いで、クロス成分適応ループフィルタのサイズおよび形状に基づいて、ミラーパディング技術を適用する、解決策6に記載の方法。
【0300】
8.前記クロス成分適応ループフィルタは、Kは偶数であり、Lは正の整数のとき、KxLフィルタ形状を有し、ミラーパディング技法は、前記クロス成分適応ループフィルタの仮想境界から離れた第2の方向MまたはNに沿った1本の線に位置する利用不可のサンプルを、前記仮想境界の近くの最も近いサンプル線からパディングすることを含む、解決策1に記載の方法。
【0301】
9.前記クロス成分適応ループフィルタの仮想境界が前記第2の方向において前記代表的な輝度サンプルの下にある場合、前記仮想境界の上の第2の方向における最も近い線を使用して、前記利用不可のサンプルをパディングする、解決策3に記載の方法。
【0302】
10.利用不可のサンプルが行Mに位置し、MがC未満の整数であり、Cが代表的な輝度サンプルの第2の方向に沿った中心線を示す整数である場合、d(C,M)=d(N,C)-offset(offsetは整数値)のとき、またはd(C,M)<d(N,C)(d()は距離関数)であるとき、第2の方向の線Nに位置するサンプルが対応するサンプルであると判定する、解決策3に記載の方法。
【0303】
以下の解決策は、前章(例えば、項目2)で論じた技術の例示的な実施形態を示す。
【0304】
11.前記第1の方向が垂直方向であり、前記第2の方向が水平方向である、解決策1~10のいずれかに記載の方法。
【0305】
12.前記第1の方向が水平方向であり、前記第2の方向が垂直方向である、解決策1~10のいずれかに記載の方法。
【0306】
13.前記第1の方向および前記第2の方向の方位は、前記仮想バッファの境界の方位に依存する、解決策11~12のいずれかに記載の方法。
【0307】
以下の解決策は、前章(例えば、項目3)で論じた技術の例示的な実施形態を示す。
【0308】
14.前記映像ユニットは、映像ピクチャ、映像サブピクチャ、映像スライス、映像タイル、または映像の360度の境界を含む、解決策1~13のいずれかに記載の方法。
【0309】
15.前記変換を行うことは、前記映像を符号化して前記コーディングされた表現を生成することを含む、解決策1~14のいずれかに記載の方法。
【0310】
16.前記変換を行うことは、コーディングされた表現を構文解析し、復号して映像を生成することを含む、解決策1~14のいずれかに記載の方法。
【0311】
上述した解決策において、方位は水平または垂直であってよく、それに対応して、第1の方向および第2の方向は、ピクセル列およびピクセル行と呼ばれる垂直または水平方向であってもよい。
【0312】
17.解決策1~16の1つ以上に記載の方法を実行するように構成された処理装置を備える、映像復号装置。
【0313】
18.解決策1~16の1つ以上に記載の方法を実行するように構成された処理装置を備える、映像符号化装置。
【0314】
19.コンピュータコードが記憶されたコンピュータプログラム製品であって、前記コードは、プロセッサにより実行されると、前記プロセッサに、解決策1~16のいずれかに記載の方法を実行させるコンピュータプログラム製品。
【0315】
20.本明細書に記載の方法、装置またはシステム。
【0316】
第2の解決策のセットは、前章(例えば、項目4)で論じた技術の例示的な実施形態を示す。
【0317】
1.映像加工方法(例えば、図38Aに示す方法3800)は、映像の映像ユニットと映像のビットストリームとの間の変換のために、輝度適応ループフィルタが映像ユニットの輝度成分に選択的に適用される第1の輝度適応ループフィルタ(ALF)境界と第2の輝度ALF境界との第1の決定を行うこと(3802)と、第2の輝度ALF境界から、映像ユニットの彩度成分のために彩度適応ループフィルタが選択的に適用される彩度ALF境界の第2の決定を行うこと(3804)と、第1の決定及び第2の決定に基づいて変換を行うこと(3806)と、を含む。
【0318】
2.前記第2の輝度ALF境界は、前記第1の輝度ALF境界とは異なる、解決策1に記載の方法。
【0319】
3.前記第1の輝度ALF境界は、クロス成分ALF(CC-ALF)及び/又は輝度ALFに使用される、解決策1に記載の方法。
【0320】
4.第1の決定を行うことの間、前記CC-ALFを輝度ALFとして扱う、解決策3に記載の方法。
【0321】
5.前記第2の輝度ALF境界は、彩度ALFに使用される、解決策1に記載の方法。
【0322】
6.前記第2の輝度ALF境界は、カラーフォーマット及び/又はフィルタリング方法に基づいて決定される、解決策1に記載の方法。
【0323】
7.4:2:0カラーフォーマットのための彩度ALFにおける前記第2の輝度ALF境界は、前記第1の輝度ALF境界と同じであると決定される、解決策1に記載の方法。
【0324】
8.前記第1の決定を行うことの間、4:2:0カラーフォーマットのための彩度ALFを、輝度ALF又はクロス成分ALF(CC-ALF)として扱う、解決策1に記載の方法。
【0325】
9.4:2:2又は4:4:4の彩度ALFにおける前記第2の輝度ALF境界は、輝度ALF又は前記CC-ALFにおける第1の輝度ALF境界と異なる方法で決定される、解決策1に記載の方法。
【0326】
10.前記第1の輝度ALF境界及び/又は前記第2の輝度ALF境界は、上側境界位置、下側境界位置、左側境界位置、又は右側境界位置を指す、解決策1に記載の方法。
【0327】
11.前記第1の輝度ALF境界及び/又は前記第2の輝度ALF境界は、i)ALF仮想境界のオフセット又は前記ALF仮想境界と現在のコーディングツリーユニット(CTU)の下側境界との間の距離を規定する第1の変数vbOffset、又は/及びii)前記現在のCTUの上側境界からのオフセットを規定する第2の変数Mに基づく、解決手段10に記載の方法。
【0328】
12.(x,y)が、現在の輝度コーディングツリーブロック(CTB)の左上サンプルに対する現在のサンプルの輝度位置を指し、(xCtb,yCtb)が、現在のピクチャの左上サンプルに対する前記現在の輝度CTBの左上サンプルの輝度位置を指し、CtbSizeYが、前記現在の輝度CTBのサイズを指す、解決策11に記載の方法。
【0329】
13.y-(CtbSizeY-vbOffset)が0以上である場合、前記上側境界位置をyCtb+CtbSizeY-vbOffsetに等しく設定する、解決策12に記載の方法。
【0330】
14.i)前記現在の輝度CTBの上側境界が、タイル、スライス、又はサブピクチャの上側境界である場合、ii)前記タイル、前記スライス、又は前記サブピクチャにわたる前記適応ループフィルタリングは無効になり、iii)yが前記第2の変数M未満である場合、前記上側境界位置はyCtbに等しく設定される、解決策12に記載の方法。
【0331】
15.CtbSizeY-vbOffset-yが0より大きく、第3の変数N未満である場合、前記下側境界をyCtb+CtbSizeY-vbOffsetに等しく設定する、解決策12に記載の方法。
【0332】
16.前記第3の変数Nが整数である、解決策15に記載の方法。
【0333】
17.前記第3の変数Nが、3又は5に等しい、解決策15に記載の方法。
【0334】
18.i)前記現在の輝度CTBの下側境界が、タイル、スライス、又はサブピクチャの下側境界であり、ii)前記タイル、前記スライス、又は前記サブピクチャにわたる前記適応ループフィルタリングは無効になり、iiii)CtbSizeY-yが第4の変数L未満である場合、前記下側境界位置はyCtb+CtbSizeYに等しく設定される、解決策12に記載の方法。
【0335】
19.前記第4の変数Lが整数である、解決策18に記載の方法。
【0336】
20.前記第4の変数Lが、3又は5に等しい、解決策18に記載の方法。
【0337】
21.前記第1の輝度ALF境界が、クロス成分ALF(CC-ALF)又は輝度ALFに対して同じであると決定される、解決策11~20のいずれかに記載の方法。
【0338】
22.前記第1の変数vbOffsetは、前記クロス成分ALF(CC-ALF)及び前記輝度ALFに対して同じである、解決策21に記載の方法。
【0339】
23.第2の変数Mが、CC-ALF及び輝度ALFに対して同じである、解決策21に記載の方法。
【0340】
24.前記第3の変数Nは、CC-ALF及び前記輝度ALFに対して同じである、解決策21に記載の方法。
【0341】
25.前記第4の変数Lは、CC-ALF及び前記輝度ALFに対して同じである、解決策21に記載の方法。
【0342】
26.彩度ALFにおいて使用される前記第2の輝度ALF境界は、彩度前記ALFのカラーフォーマットに基づいて決定される、解決策11~20のいずれかに記載の方法。
【0343】
27.4:2:0の前記カラーフォーマットの場合、前記第2の輝度ALF境界は、前記第1の輝度ALF境界と同じであると決定される、解決策26に記載の方法。
【0344】
28.4:2:0の前記カラーフォーマットの場合、前記第1の変数vbOffsetは、彩度ALFと輝度ALFに対して同じである、解決策26又は27に記載の方法。
【0345】
29.第1の変数vbOffsetが整数である、解決策28に記載の方法。
【0346】
30.第1の変数vboffsetが4である、解決策28に記載の方法。
【0347】
31.4:2:0の前記カラーフォーマットの場合、前記第2の変数Mは、彩度ALFと輝度ALFに対して同じである、解決策26又は27に記載の方法。
【0348】
32.前記変数Mが整数である、解決策31に記載の方法。
【0349】
33.前記変数Mが3である、解決策31に記載の方法。
【0350】
34.第3の変数Nが、彩度ALFと輝度ALFに関して同じである、解決策26又は27に記載の方法。
【0351】
35.第4の変数Lが、彩度ALFおよび輝度ALFに関して同じである、解決策26又は27に記載の方法。
【0352】
36.4:2:2又は4:4:4の前記カラーフォーマットの場合、前記第2の輝度ALF境界は、前記第1の輝度ALF境界と異なると決定される、解決策26に記載の方法。
【0353】
37.4:2:2又は4:4:4の前記カラーフォーマットの場合、前記第1の変数vbOffsetは、彩度ALFと輝度ALFについて異なる値を有する、解決策36に記載の方法。
【0354】
38.解決策37に記載の方法において、vbOffset1が前記彩度ALFに使用され、vbOffset2が前記輝度ALFに使用され、vbOffset1がvbOffset2に等しくない、解決策37に記載の方法。
【0355】
39.vbOffset1=2であり、vbOffset2=4である、解決策38に記載の方法。
【0356】
40.前記第1の変数vbOffsetは、カラーフォーマットが、4:2:0と同じであるか又は異なるかによって、異なる値を有する、解決策36に記載の方法。
【0357】
41.4:2:2又は4:4:4の前記カラーフォーマットの場合、前記第2の変数M、前記第3の変数N、及び前記第4の変数Lの各々は、彩度ALFと輝度ALFとで異なる値を有する、解決策36に記載の方法。
【0358】
42.M1が前記彩度ALFに使用され、M2が前記輝度ALFに使用され、M1がM2に等しくない、解決策41に記載の方法。
【0359】
43.M1=2であり、M2=3である、解決策42に記載の方法。
【0360】
44.N1が前記彩度ALFに使用され、N2が前記輝度ALFに使用され、N1がN2に等しくない、解決策41に記載の方法。
【0361】
45.N1=3であり、N2=5である、解決策44に記載の方法。
【0362】
46.前記彩度ALFにL1を使用し、前記輝度ALFにL2を使用し、L1がL2に等しくない、解決策41に記載の方法。
【0363】
47.L1=3であり、L2=5である、解決策46に記載の方法。
【0364】
48.前記第2の変数M、前記第3の変数N、及び前記第4の変数Lの各々は、前記カラーフォーマットが4:2:0と同じであるか又は異なるかによって、異なる値を有する、解決策36に記載の方法。
【0365】
49.4:2:2又は4:4:4の前記カラーフォーマットの場合、前記第2の輝度ALF境界は、クロス成分ALF(CC-ALF)に使用される前記第1のALF輝度境界と異なると決定される、解決策26に記載の方法。
【0366】
50.4:2:2又は4:4:4の前記カラーフォーマットの場合、前記第1の変数vbOffsetは、彩度ALFと前記CC-ALFに対して異なる値を有する、解決策49に記載の方法。
【0367】
51.vbOffset1は前記彩度ALFに使用され、vbOffset2は前記CC-ALFに使用され、前記vbOffset1は前記vbOffset2に等しくない、解決策50に記載の方法。
【0368】
52.vbOffset1=2であり、vbOffset2=4である、解決策51に記載の方法。
【0369】
53.4:2:2又は4:4:4の前記カラーフォーマットの場合、前記第2変数M、前記第3変数N、及び前記第4変数Lは、彩度ALFと前記CC-ALFについて異なる値を有する、解決策49に記載の方法。
【0370】
54.M1が4:2:2又は4:4:4による前記カラーフォーマットの彩度ALFに使用され、M2が前記CC-ALFに使用され、M2はM1に等しくない、解決策53に記載の方法。
【0371】
55.M1=2であり、M2=3である、解決策54に記載の方法。
【0372】
56.N1が、4:2:2又は4:4:4の前記カラーフォーマットの彩度ALFに使用され、N2が前記CC-ALFに使用され、N1はN2に等しくない、解決策53に記載の方法。
【0373】
57.N1=3であり、N2=5である、解決策56に記載の方法。
【0374】
58.L1が、4:2:2又は4:4:4によるカラーフォーマットの前記彩度ALFに使用され、L2が前記CC-ALFに使用され、L1はL2に等しくない、解決策53に記載の方法。
【0375】
59.L1=3であり、L2=5である、解決策58に記載の方法。
【0376】
60.前記方法が360度仮想境界に適用される、上記解決策のうちのいずれかに記載の方法。
【0377】
61.変換は、映像をビットストリームに符号化することを含む、解決策1~60のいずれかに記載の方法。
【0378】
62.変換は、ビットストリームから映像を復号することを含む、解決策1~60のいずれかに記載の方法。
【0379】
63.変換は、映像からビットストリームを生成することを含み、方法は、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、解決策1~60のいずれかに記載の方法。
【0380】
64.解決策1~63のいずれか1つ以上に記載の方法を実装するように構成された処理装置を備える映像処理装置。
【0381】
65.解決策1~63のいずれか1つに記載の方法と、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、映像のビットストリームを記憶する方法。
【0382】
66.実行されると、解決策1~63いずれか1つ以上に記載の方法を処理装置に実装させるプログラムコードを記憶したコンピュータ可読媒体。
【0383】
67.上述した方法のいずれかに従って生成されたビットストリームを記憶する、コンピュータ可読媒体。
【0384】
68.解決策1~63のいずれか1つ以上に記載の方法を実装するように構成された、ビットストリームを記憶するための映像処理装置。
【0385】
本明細書では、「映像処理」という用語は、映像符号化、映像復号、映像圧縮、または映像展開を指してよい。例えば、映像圧縮アルゴリズムは、映像の画素表現から対応するビットストリーム表現への変換、またはその逆の変換中に適用されてもよい。現在の映像ブロックのビットストリーム表現は、例えば、構文によって規定されるように、ビットストリーム内の同じ場所または異なる場所に拡散されるビットに対応していてもよい。例えば、1つのマクロブロックは、変換およびコーディングされた誤り残差値の観点から、且つビットストリームにおけるヘッダおよび他のフィールドにおけるビットを使用して、符号化されてもよい。
【0386】
本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1または複数の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1または複数のコンピュータプログラム製品、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1または複数のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1または複数の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサ、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1または複数の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するために生成される。
【0387】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、コンポーネント、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1または複数のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1または複数のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。コンピュータプログラムを、1つのコンピュータで実行するように展開することができ、あるいは、1つのサイトに位置する、または複数のサイトにわたって分散され通信ネットワークによって相互接続される複数のコンピュータで実行するように展開することができる。
【0388】
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を行うための1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。
【0389】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用および専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つ以上の記憶装置とである。一般的に、コンピュータは、データを記憶するための1または複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。プロセッサおよびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
【0390】
本特許明細書は多くの特徴を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態のコンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1または複数の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
【0391】
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている実施形態における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
【0392】
いくつかの実装形態および実施例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。
図1
図2
図3
図4
図5
図6
図7A
図7B
図7C
図8
図9
図10
図11
図12A
図12B
図12C
図12D
図13
図14
図15
図16
図17A
図17B
図17C
図18
図19
図20
図21A
図21B
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37
図38
【手続補正書】
【提出日】2023-01-23
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
映像の映像ユニットと前記映像のビットストリームとの変換のために、前記映像ユニットの輝度成分に選択的に適用される輝度適応ループフィルタに使用される第1の輝度適用ループフィルタ(ALF)境界の位置と第2の輝度ALF境界の位置との第1の決定を行うことと、
前記第2の輝度ALF境界の前記位置から、前記映像ユニットの彩度成分に選択的に適用される彩度適応ループフィルタに使用される彩度ALF境界の位置の第2の決定を行うことと、
前記第1の決定及び前記第2の決定に基づいて、前記変換を行うことと、を含む映像処理方法。
【請求項2】
前記第1の輝度ALF境界の位置は、クロス成分ALF(CC-ALF)にも使用される、請求項1に記載の方法。
【請求項3】
前記第2の輝度ALF境界の位置は、カラーフォーマットに基づいて決定される、請求項1または2に記載の方法。
【請求項4】
4:2:0カラーフォーマットのための前記第2の輝度ALF境界の前記位置は、前記第1の輝度ALF境界の前記位置と同じであると決定する、又は
4:2:2又は4:4:4:カラーフォーマットのための前記第2の輝度ALF境界の前記位置は、前記第1の輝度ALF境界の前記位置とは異なると決定する、請求項1から3のいずれか1項に記載の方法。
【請求項5】
前記第1の輝度ALF境界の位置及び/又は前記第2の輝度ALF境界の位置は、上側境界位置、下側境界位置、左側境界位置、又は右側境界位置を指す、請求項1から4のいずれか1項に記載の方法。
【請求項6】
前記第1の輝度ALF境界の前記位置及び/又は前記第2の輝度ALF境界の前記位置は、ALF仮想境界のためのオフセット、又は前記ALF仮想境界と現在のコーディングツリーユニット(CTU)の底部境界との距離を規定する第1の変数vbOffsetに基づき、
(x,y)は、現在の輝度コーディングツリーブロック(CTB)の左上サンプルに対する現在のサンプルの輝度位置を指し、(xCtb,yCtb)は、現在のピクチャの左上サンプルに対する前記現在の輝度CTBの左上サンプルの輝度位置を指し、かつCtbSizeYは、前記現在の輝度CTBのサイズを指す、請求項1から5のいずれか1項に記載の方法。
【請求項7】
y-(CtbSizeY-vbOffset)が0以上である場合、上側境界位置はyCtb+CtbSizeY-vbOffsetに等しく設定され、又は
i)前記現在の輝度CTBの上側境界が、タイル、スライス、又はサブピクチャの上側境界であり、ii)前記タイル、前記スライス、又は前記サブピクチャにわたる前記適応ループフィルタリングが無効であり、かつiii)yが第2の変数M未満である場合、前記上側境界位置はyCtbに等しく設定され、前記第2の変数Mは整数である、請求項6に記載の方法。
【請求項8】
前記第2の変数Mは、3に等しい、請求項7に記載の方法。
【請求項9】
CtbSizeY-vbOffset-yが0よりも大きく、かつ第3の変数N未満である場合、下側境界位置はyCtb+CtbSizeY-vbOffsetに等しく設定され、前記第3の変数Nは整数であり、又は
i)前記現在の輝度CTBの下側境界がタイル、スライス、又はサブピクチャの下側境界であり、ii)前記タイル、前記スライス、又は前記サブピクチャにわたる前記適応ループフィルタリングが無効であり、かつiii)CtbSizeY-yが第4の変数L未満である場合、前記下側境界位置はyCtb+CtbSizeYに等しく設定され、前記第4の変数Lは整数である、請求項6に記載の方法。
【請求項10】
前記第3の変数Nおよび第4の変数Lは、5に等しい、請求項9に記載の方法。
【請求項11】
第1の変数vbOffsetは、クロス成分ALF(CC-ALF)及び前記輝度ALFに対して同じである、請求項1から請求項10のいずれか1項に記載の方法。
【請求項12】
4:2:0であるカラーフォーマットの場合、第1の変数vbOffsetは、前記第1の輝度ALF境界の前記位置および前記第2の輝度ALF境界の前記位置に対して同じであり、前記第1の変数vbOffsetは4である、又は
4:2:2又は4:4である前記カラーフォーマットの場合、前記第2の輝度ALF境界の前記位置のための前記第1の変数vbOffsetは、前記第1の輝度ALF境界の前記位置のための前記第1の変数vbOffsetと異なると決定し、前記第2の輝度ALF境界の前記位置のための前記第1の変数vbOffsetは2に等しく、前記第1の輝度ALF境界の前記位置のための前記第1の変数vbOffsetは4に等しい、請求項1から10のいずれか1項に記載の方法。
【請求項13】
前記変換は、前記映像を前記ビットストリームに符号化することを含む、請求項1から請求項12のいずれか1項に記載の方法。
【請求項14】
前記変換は、前記映像を前記ビットストリームから復号することを含む、請求項1から請求項12のいずれか1項に記載の方法。
【請求項15】
処理装置と命令を備えた非一時的メモリとを含む映像データを処理するための装置であって、前記命令は前記処理装置によって実行されると、前記処理装置に、
映像の映像ユニットと前記映像のビットストリームとの変換のために、前記映像ユニットの輝度成分に選択的に適用される輝度適応ループフィルタに使用される第1の輝度適用ループフィルタ(ALF)境界の位置と第2の輝度ALF境界の位置との第1の決定を行うことと、
前記第2の輝度ALF境界の前記位置から、前記映像ユニットの彩度成分に選択的に適用される彩度適応ループフィルタに使用される彩度ALF境界の位置の第2の決定を行うことと、
前記第1の決定及び前記第2の決定に基づいて、前記変換を行うことと、を行わせる、映像データを処理するための装置。
【請求項16】
命令を記憶する非一時的なコンピュータ可読記憶媒体であって、前記命令は、処理装置に、
映像の映像ユニットと前記映像のビットストリームとの変換のために、前記映像ユニットの輝度成分に選択的に適用される輝度適応ループフィルタに使用される第1の輝度適用ループフィルタ(ALF)境界の位置と第2の輝度ALF境界の位置との第1の決定を行うことと、
前記第2の輝度ALF境界の前記位置から、前記映像ユニットの彩度成分に選択的に適用される彩度適応ループフィルタに使用される彩度ALF境界の位置の第2の決定を行うことと、
前記第1の決定及び前記第2の決定に基づいて、前記変換を行うことと、を行わせる、非一時的なコンピュータ可読記憶媒体。
【請求項17】
映像処理装置により行われる方法で生成される映像のビットストリームを記憶する非一時的なコンピュータ可読記録媒体であって、前記方法は、
前記映像の映像ユニット及び前記映像の前記ビットストリームのために、前記映像ユニットの輝度成分に選択的に適用される輝度適応ループフィルタに使用される第1の輝度適応ループフィルタ(ALF)境界の位置と第2の輝度ALF境界の位置との第1の決定を行うことと、
前記第2の輝度ALF境界の前記位置から、前記映像ユニットの彩度成分に選択的に適用される彩度適応ループフィルタに使用される彩度ALF境界の位置の第2の決定を行うことと、
前記第1の決定及び前記第2の決定に基づいて、前記ビットストリームを生成することと、を含む非一時的なコンピュータ可読記録媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正の内容】
【0001】
関連出願の相互参照
願は、2020年6月30日出願の国際特許出願第PCT/CN2020/099604号の優先権および利益を張する2021年6月29日出願の国際特許出願第PCT/CN2021/102938の国内段階である記出願の開示全体は、本願の開示の一部として参照により援用される。
【国際調査報告】