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

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

▶ エルジー エレクトロニクス インコーポレイティドの特許一覧

特許7355860ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング
<>
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図1
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図2
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図3
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図4
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図5
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図6
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図7
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図8
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図9
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図10
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図11
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図12
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図13
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図14
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図15
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図16
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図17
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図18
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図19
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図20
  • 特許-ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-25
(45)【発行日】2023-10-03
(54)【発明の名称】ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング
(51)【国際特許分類】
   H04N 19/109 20140101AFI20230926BHJP
   H04N 19/14 20140101ALI20230926BHJP
   H04N 19/176 20140101ALI20230926BHJP
   H04N 19/186 20140101ALI20230926BHJP
   H04N 19/70 20140101ALI20230926BHJP
   H04N 19/91 20140101ALI20230926BHJP
【FI】
H04N19/109
H04N19/14
H04N19/176
H04N19/186
H04N19/70
H04N19/91
【請求項の数】 14
(21)【出願番号】P 2021575469
(86)(22)【出願日】2020-06-17
(65)【公表番号】
(43)【公表日】2022-09-07
(86)【国際出願番号】 KR2020007834
(87)【国際公開番号】W WO2020256400
(87)【国際公開日】2020-12-24
【審査請求日】2021-12-17
(31)【優先権主張番号】62/862,648
(32)【優先日】2019-06-17
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【弁理士】
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】チャオ チエ
(72)【発明者】
【氏名】キム スンファン
【審査官】鈴木 順三
(56)【参考文献】
【文献】LU, Taoran et al.,"CE12:Mapping functions Test CE12-1 and CE12-2",[JVET-M0427-v3](version 3),Joint Video Experts Team(JVET),2019年01月15日,pp.1-24
【文献】Benjamin Bross et al.,”Versatile Video Coding (Draft 5)”,[JVET-N 1001-v8] (version 8),Joint Video Experts Team (JVET),2019年06月11日,pp. 3,28,47,80,102-103,110,112,271
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
デコード装置によって行われる画像デコード方法において、
ビットストリームから予測モード情報及びLMCS(luma mapping with chroma scaling)関連情報を含む画像情報を取得するステップと、
前記予測モード情報に基づいて現在ピクチャ内の現在ブロックのためのインター予測モードを導出するステップと、
前記インター予測モードに基づいて前記現在ブロックのための動き情報を導出するステップと、
前記現在ブロックのための前記動き情報に基づいて前記現在ブロックのための予測ルマサンプルを生成するステップと、
前記予測ルマサンプルのためのマッピング手順に基づいてマッピングされた予測ルマサンプルを生成するステップと、
ルマサンプルのためのインバースマッピング手順に基づいて修正された復元ルマサンプルを生成するステップと、
を含み、
前記LMCS関連情報は、マッピング及びインバースマッピングのためのビンに関する情報、及びLMCSコードワードに関する情報を含み、
前記ビンに関する情報に基づいて最小ビンインデックス及び最大ビンインデックスが導出され、
前記LMCSコードワードに関する情報に基づいて、前記最小ビンインデックスから前記最大ビンインデックスまでのインデックスによりインデキシングされたマッピング値が導出され、
前記予測ルマサンプルのための前記マッピング手順で、前記予測ルマサンプルに基づいてマッピングインデックスが導出され、前記マッピングインデックスによりインデキシングされたマッピング値を用いて前記マッピングされた予測ルマサンプルが生成され、
前記ルマサンプルのための前記インバースマッピング手順で、前記最小ビンインデックスから前記最大ビンインデックスまでのビンインデックスによりインデキシングされた前記マッピング値に基づいて、インバースマッピングインデックスが導出され、前記インバースマッピングインデックスによりインデキシングされたマッピング値を用いて前記修正された復元ルマサンプルが生成され、
前記インバースマッピングインデックスを導出するために、前記ルマサンプルのための前記インバースマッピング手順は、
前記インバースマッピングインデックスが前記最小ビンインデックスと等しい場合において、マッピング値が前記復元ルマサンプルの値より大きいか否かを決定するステップと、
前記インバースマッピングインデックスが最大ビンインデックス-1と等しい場合において、マッピング値が前記復元ルマサンプルの値より大きいか否かを決定するステップと、
前記インバースマッピングインデックスが最大ビンインデックス-1と等しい場合において、前記マッピング値が前記復元ルマサンプルの値より大きくないとの決定に基づいて、前記インバースマッピングインデックスが前記最大ビンインデックスと等しい場合において、マッピング値が前記復元ルマサンプルの値より大きいか否かを決定するステップと、
を含
前記インバースマッピングインデックスが前記最大ビンインデックスと等しい場合において、前記マッピング値が前記復元ルマサンプルの値より大きいとの決定に基づいて、前記インバースマッピングインデックスが前記最大ビンインデックスとして導出される、画像デコード方法。
【請求項2】
前記画像情報は、シーケンスパラメータセット(SPS)を含み、
前記SPSは、線形LMCSが可用であるか否かを表す線形LMCS可用フラグを含む、請求項1に記載の画像デコード方法。
【請求項3】
前記画像情報は、レジデュアル情報を含み、
前記レジデュアル情報に基づいてレジデュアルクロマサンプルが生成され、
インバーススケーリングインデックスに基づいてクロマレジデュアルスケーリングファクタが導出され、
前記レジデュアルクロマサンプル及び前記クロマレジデュアルスケーリングファクタに基づいて、スケーリングされたレジデュアルクロマサンプルが生成される、請求項1に記載の画像デコード方法。
【請求項4】
前記インバースマッピングインデックスが最大ビンインデックス-1と等しい場合において、前記マッピング値は、前記最大ビンインデックスにより示されるビンにおけるマッピング値であり、
前記インバースマッピングインデックスが前記最大ビンインデックスと等しい場合において、前記マッピング値は、最大ビンインデックス+1により示されるビンにおけるマッピング値である、請求項1に記載の画像デコード方法。
【請求項5】
前記インバースマッピングインデックスを導出することは、次のシンタックスの演算を実行することを含み、
【数1】
前記シンタックスにおいて、idxYInvは前記インバースマッピングインデックスを表し、lmcs_min_bin_idxは前記最小ビンインデックスを表し、LmcsMaxBinIdxは前記最大ビンインデックスを表し、lumaSampleは前記復元ルマサンプルの値を表し、LmcsPivot[idxYInv+1]はidxYInv+1番目のビンにおけるマッピング値を表す、請求項1に記載の画像デコード方法。
【請求項6】
前記最小ビンインデックスは0ではない、請求項1に記載の画像デコード方法。
【請求項7】
前記画像情報は、線形LMCSに関する情報を含み、
前記LMCS関連情報は、前記線形LMCSが適用されるか否かを表す線形LMCSフラグを含み、
前記線形LMCSフラグの値が1である場合、前記マッピングされた予測ルマサンプルは、前記線形LMCSに関する情報に基づいて生成される、請求項1に記載の画像デコード方法。
【請求項8】
エンコード装置によって行われる画像エンコード方法において、
インター予測モードを導出するステップと、
前記インター予測モードに基づいて現在ブロックのための動き情報を生成するステップと、
前記現在ブロックのための前記動き情報に基づいて前記現在ブロックのための予測ルマサンプルを生成するステップと、
前記予測ルマサンプルのためのマッピング手順に基づいてマッピングされた予測ルマサンプルを生成するステップと、
前記マッピングされた予測ルマサンプルに基づいてLMCS(luma mapping with chroma scaling)関連情報を生成するステップと、
ルマサンプルのためのインバースマッピング手順に基づいて修正された復元ルマサンプルを生成するステップと、
前記マッピングされた予測ルマサンプル及び前記修正された復元ルマサンプルに基づいてレジデュアル情報を生成するステップと、
前記LMCS関連情報及び前記レジデュアル情報を含む画像情報をエンコードするステップと、
を含み、
前記LMCS関連情報は、マッピング及びインバースマッピングのためのビンに関する情報及びLMCSコードワードに関する情報を含み、
前記ビンに関する情報に基づいて最小ビンインデックス及び最大ビンインデックスが導出され、
前記LMCSコードワードに関する情報に基づいて、前記最小ビンインデックスから前記最大ビンインデックスまでのビンインデックスによりインデキシングされたマッピング値が導出され、
前記予測ルマサンプルのための前記マッピング手順で、前記予測ルマサンプルに基づいてマッピングインデックスが導出され、前記マッピングインデックスによりインデキシングされたマッピング値を用いて前記マッピングされた予測ルマサンプルが生成され、
前記ルマサンプルのための前記インバースマッピング手順で、前記最小ビンインデックスから前記最大ビンインデックスまでのビンインデックスによりインデキシングされた前記マッピング値に基づいて、インバースマッピングインデックスが導出され、前記インバースマッピングインデックスによりインデキシングされたマッピング値を用いて前記修正された復元ルマサンプルが生成され、
前記インバースマッピングインデックスを導出するために、前記ルマサンプルのための前記インバースマッピング手順は、
前記インバースマッピングインデックスが前記最小ビンインデックスと等しい場合において、マッピング値が前記復元ルマサンプルの値より大きいか否かを決定するステップと、
前記インバースマッピングインデックスが最大ビンインデックス-1と等しい場合において、マッピング値が前記復元ルマサンプルの値より大きいか否かを決定するステップと、
前記インバースマッピングインデックスが最大ビンインデックス-1と等しい場合において、前記マッピング値が前記復元ルマサンプルの値より大きくないとの決定に基づいて、前記インバースマッピングインデックスが前記最大ビンインデックスと等しい場合において、マッピング値が前記復元ルマサンプルの値より大きいか否かを決定するステップと、
を含み、
前記インバースマッピングインデックスが前記最大ビンインデックスと等しい場合において、前記マッピング値が前記復元ルマサンプルの値より大きいとの決定に基づいて、前記インバースマッピングインデックスが前記最大ビンインデックスとして導出される、画像エンコード方法。
【請求項9】
前記画像情報は、シーケンスパラメータセット(SPS)を含み、
前記SPSは、線形LMCSが可用であるか否かを表す線形LMCS可用フラグを含む、請求項8に記載の画像エンコード方法。
【請求項10】
インバーススケーリングインデックスに基づいてクロマレジデュアルスケーリングファクタが導出され、
レジデュアルクロマサンプル及び前記クロマレジデュアルスケーリングファクタに基づいて、スケーリングされたレジデュアルクロマサンプルが生成され、
前記レジデュアル情報は、更に前記スケーリングされたレジデュアルクロマサンプルに基づいて生成される、請求項8に記載の画像エンコード方法。
【請求項11】
前記インバースマッピングインデックスが最大ビンインデックス-1と等しい場合において、前記マッピング値は、前記最大ビンインデックスにより示されるビンにおけるマッピング値であり、
前記インバースマッピングインデックスが前記最大ビンインデックスと等しい場合において、前記マッピング値は、最大ビンインデックス+1により示されるビンにおけるマッピング値である、請求項8に記載の画像エンコード方法。
【請求項12】
前記インバースマッピングインデックスを導出することは、次のシンタックスの演算を実行することを含み、
【数2】
前記シンタックスにおいて、idxYInvは前記インバースマッピングインデックスを表し、lmcs_min_bin_idxは前記最小ビンインデックスを表し、LmcsMaxBinIdxは前記最大ビンインデックスを表し、lumaSampleは前記復元ルマサンプルの値を表し、LmcsPivot[idxYInv+1]はidxYInv+1番目のビンにおけるマッピング値を表す、請求項8に記載の画像エンコード方法。
【請求項13】
前記最小ビンインデックスは0ではない、請求項8に記載の画像エンコード方法。
【請求項14】
画像情報に対するデータを送信する方法において、
LMCS(luma mapping with chroma scaling)関連情報及びレジデュアル情報を含む前記画像情報のビットストリームを取得するステップと、
前記LMCS関連情報及び前記レジデュアル情報を含む前記画像情報のビットストリームを含む前記データを送信するステップと、
を含み、
前記LMCS関連情報は、インター予測モードを導出し、前記インター予測モードに基づいて現在ブロックのための動き情報を生成し、前記現在ブロックのための前記動き情報に基づいて前記現在ブロックのための予測ルマサンプルを生成し、前記予測ルマサンプルのためのマッピング手順に基づいて、マッピングされた予測ルマサンプルを生成し、前記マッピングされた予測ルマサンプルに基づいてLMCS関連情報を生成することにより生成され、前記レジデュアル情報は、ルマサンプルのためのインバースマッピング手順に基づいて修正された復元ルマサンプルを生成し、前記マッピングされた予測ルマサンプル及び前記修正された復元ルマサンプルに基づいてレジデュアル情報を生成することにより生成され、
前記画像情報は、マッピング及びインバースマッピングのためのビンに関する情報及びLMCSコードワードに関する情報を更に含み、
前記ビンに関する情報に基づいて最小ビンインデックス及び最大ビンインデックスが導出され、
前記LMCSコードワードに関する情報に基づいて、前記最小ビンインデックスから前記最大ビンインデックスまでのビンインデックスによりインデキシングされたマッピング値が導出され、
前記予測ルマサンプルのための前記マッピング手順で、前記予測ルマサンプルに基づいてマッピングインデックスが導出され、前記マッピングインデックスによりインデキシングされたにマッピング値を用いて前記マッピングされた予測ルマサンプルが生成され、
前記ルマサンプルのための前記インバースマッピング手順で、前記最小ビンインデックスから前記最大ビンインデックスまでのビンインデックスによりインデキシングされた前記マッピング値に基づいて、インバースマッピングインデックスが導出され、前記インバースマッピングインデックスによりインデキシングされたマッピング値を用いて前記修正された復元ルマサンプルが生成され、
前記インバースマッピングインデックスを導出するために、前記ルマサンプルのための前記インバースマッピング手順は、
前記インバースマッピングインデックスが前記最小ビンインデックスと等しい場合において、マッピング値が前記復元ルマサンプルの値より大きいか否かを決定するステップと、
前記インバースマッピングインデックスが最大ビンインデックス-1と等しい場合において、マッピング値が前記復元ルマサンプルの値より大きいか否かを決定するステップと、
前記インバースマッピングインデックスが最大ビンインデックス-1と等しい場合において、前記マッピング値が前記復元ルマサンプルの値より大きくないとの決定に基づいて、前記インバースマッピングインデックスが前記最大ビンインデックスと等しい場合において、マッピング値が前記復元ルマサンプルの値より大きいか否かを決定するステップと、
を含み、
前記インバースマッピングインデックスが前記最大ビンインデックスと等しい場合において、前記マッピング値が前記復元ルマサンプルの値より大きいとの決定に基づいて、前記インバースマッピングインデックスが前記最大ビンインデックスとして導出される、送信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、ルママッピング及びクロマスケーリングに基づくビデオまたは画像コーディングに関する。
【背景技術】
【0002】
近年、4Kまたは8K以上のUHD(Ultra High Definition)画像/ビデオのような高解像度、高品質の画像/ビデオに対する需要が様々な分野で増加している。画像/ビデオデータが高解像度、高品質になるほど、既存の画像/ビデオデータに比べて相対的に送信される情報量またはビット量が増加するので、既存の有無線広帯域回線のような媒体を利用して画像データを送信するか、既存の格納媒体を利用して画像/ビデオデータを格納する場合、送信費用と格納費用が増加される。
【0003】
また、近年、VR(Virtual Reality)、AR(Artificial Realtiy)コンテンツやホログラムなどの実感メディア(Immersive Media)に対する関心及び需要が増加しており、ゲーム画像のように、現実画像と異なる画像特性を有する画像/ビデオに対する放送が増加している。
【0004】
これにより、上記のような様々な特性を有する高解像度・高品質の画像/ビデオの情報を効果的に圧縮して送信するか、格納し、再生するために高効率の画像/ビデオ圧縮技術が求められる。
【0005】
また、圧縮効率を向上させ、主観的/客観的ビジュアル品質を高めるために、LMCS(luma mapping with chroma scaling)手順が行われ、LMCS手順における計算複雑度を減少させるための議論がある。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本文書の一実施形態によると、画像/ビデオコーディング効率を上げる方法及び装置を提供する。
【課題を解決するための手段】
【0007】
本文書の一実施形態によると、効率的なフィルタリング適用方法及び装置を提供する。
【0008】
本文書の一実施形態によると、効率的なLMCS適用方法及び装置を提供する。
【0009】
本文書の一実施形態によると、前記LMCSコードワード(または、その範囲)を制限することができる。
【0010】
本文書の一実施形態によると、LMCSのクロマスケーリングで直接的にシグナリングされた単一クロマレジデュアルスケーリングファクタが使用され得る。
【0011】
本文書の一実施形態によると、線形マッピング(線形LMCS)が使用され得る。
【0012】
本文書の一実施形態によると、線形マッピングに必要なピボットポイントに関する情報が明示的にシグナリングされることができる。
【0013】
本文書の一実施形態によると、フレキシブルな個数のbinがルママッピングのために使用されることができる。
【0014】
本文書の一実施形態によれば、ルマサンプルのためのインバースマッピングインデックスを導出する手順が単純化され得る。
【0015】
本文書の一実施形態によれば、デコード装置により行われるビデオ/画像デコード方法を提供する。
【0016】
本文書の一実施形態によれば、ビデオ/画像デコードを行うデコード装置を提供する。
【0017】
本文書の一実施形態によれば、エンコード装置により行われるビデオ/画像エンコード方法を提供する。
【0018】
本文書の一実施形態によれば、ビデオ/画像エンコードを行うエンコード装置を提供する。
【0019】
本文書の一実施形態によれば、本文書の実施形態の少なくとも1つに開示されたビデオ/画像エンコード方法によって生成されたエンコードされたビデオ/画像情報が格納されたコンピュータ読み取り可能なデジタル格納媒体を提供する。
【0020】
本文書の一実施形態によれば、デコード装置により本文書の実施形態の少なくとも1つに開示されたビデオ/画像デコード方法を行うように引き起こすエンコードされた情報又はエンコードされたビデオ/画像情報が格納されたコンピュータ読み取り可能なデジタル格納媒体を提供する。
【発明の効果】
【0021】
本文書の一実施形態によると、全般的な画像/ビデオ圧縮効率を上げることができる。
【0022】
本文書の一実施形態によると、効率的なフィルタリングを介して主観的/客観的ビジュアル品質を高めることができる。
【0023】
本文書の一実施形態によると、画像/ビデオコーディングのためのLMCS手順が効率的に実行されることができる。
【0024】
本文書の一実施形態によると、LMCS手順に必要なリソース/費用(ソフトウェアまたはハードウェアの)を最小化することができる。
【0025】
本文書の一実施形態によると、LMCS手順のためのハードウェア実現を容易にできる。
【0026】
本文書の一実施形態によると、前記LMCSコードワード(または、その範囲)制限を介してマッピング(リシェイピング)でのLMCSコードワードの導出に必要な割り算演算を除去し、または最小化することができる。
【0027】
本文書の一実施形態によると、単一クロマレジデュアルスケーリングファクタ使用を介してピースワイズインデックス識別によるレイテンシーが除去されることができる。
【0028】
本文書の一実施形態によると、LMCSで線形マッピングの使用を介してルマブロック(の復元)に依存せずに、クロマレジデュアルスケーリング手順が実行されることができ、したがって、スケーリングでのレイテンシーが除去されることができる。
【0029】
本文書の一実施形態によると、LMCSでのマッピング効率が高まることができる。
【0030】
本文書の一実施形態によれば、ルマサンプルに対するインバースマッピングまたはクロマレジデュアルスケーリングのためのインバースマッピングインデックスまたはインバーススケーリングインデックスを導出する手順の単純化を介してLMCSの複雑度が減少され得るし、したがって、ビデオ/画像コーディング効率が増加され得る。
【図面の簡単な説明】
【0031】
図1】本文書の実施形態が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
図2】本文書の実施形態が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。
図3】本文書の実施形態が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。
図4】インター予測に基づくビデオ/画像エンコード方法の例を示す。
図5】インター予測に基づくビデオ/画像デコード方法の例を示す。
図6】インター予測手順を例示的に示す。
図7】コーディングされた画像/ビデオに対する階層構造を例示的に示す。
図8】本文書の一実施形態によるCVSの階層的な構造を例示的に示す。
図9】本文書の一実施形態による例示的なLMCS構造を示す。
図10】本文書の他の一実施形態によるLMCS構造を示す。
図11】例示的なフォワードマッピングを示すグラフを示す。
図12】本文書の一実施形態によってクロマレジデュアルスケーリングインデックスを導出する方法を示す流れ図である。
図13】本文書の一実施形態によるピボットポイントの線形フィッティングを示す。
図14】本文書の一実施形態による線形リシェイパの一例を示す。
図15】本文書の一実施形態での線形フォワードマッピングの一例を示す。
図16】本文書の一実施形態でのインバースフォワードマッピングの一例を示す。
図17】本文書の実施形態(等)によるビデオ/画像エンコード方法及び関連コンポーネントの一例を概略的に示す。
図18】本文書の実施形態(等)によるビデオ/画像エンコード方法及び関連コンポーネントの一例を概略的に示す。
図19】本文書の実施形態による画像/ビデオデコード方法及び関連コンポーネントの一例を概略的に示す。
図20】本文書の実施形態による画像/ビデオデコード方法及び関連コンポーネントの一例を概略的に示す。
図21】本文書に開示された実施形態が適用され得るコンテンツストリーミングシステムの例を示す。
【発明を実施するための形態】
【0032】
本文書の開示は、様々な変更を加えることができ、様々な実施形態を有することができるが、特定の実施形態を図面に例示し、詳細に説明しようとする。しかし、これは、本開示を特定の実施形態に限定しようとするわけではない。本文書で使用する用語は、単に特定の実施形態を説明するために使用されたものであって、本文書における実施形態の技術的思想を限定しようとする意図に使用されるものではない。単数の表現は、文脈上明らかに異なる意味ではない限り、複数の表現を含む。本文書において、「含む」又は「有する」等の用語は、文書上に記載された特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを指定しようとするものであり、1つ又はそれ以上の異なる特徴や、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものの存在又は付加の可能性を予め排除しないものと理解されるべきである。
【0033】
一方、本文書で説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の都合上、独立して示すものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで実現されるということを意味するのではない。例えば、各構成のうち、2つ以上の構成を合わせて1つの構成をなすこともあり、1つの構成が複数の構成に分けられることもある。各構成が統合及び/又は分離された実施形態も、本文書の開示範囲に含まれる。
【0034】
以下、添付図を参照として、本文書の実施形態を説明しようとする。以下、図面上の同じ構成要素に対しては同じ参照符号を使用し得、同じ構成要素に対して重複した説明は省略され得る。
【0035】
図1は、本文書の実施形態が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
【0036】
図1に示すように、ビデオ/画像コーディングシステムは、第1の装置(ソースデバイス)及び第2の装置(受信デバイス)を備えることができる。ソースデバイスは、エンコードされたビデオ(video)/画像(image)情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスに伝達することができる。
【0037】
前記ソースデバイスは、ビデオソース、エンコード装置、送信部を備えることができる。前記受信デバイスは、受信部、デコード装置、及びレンダラを備えることができる。前記エンコード装置は、ビデオ/画像エンコード装置と呼ばれることができ、前記デコード装置は、ビデオ/画像デコード装置と呼ばれることができる。送信機は、エンコード装置に備えられることができる。受信機は、デコード装置に備えられることができる。レンダラは、ディスプレイ部を備えることができ、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
【0038】
ビデオソースは、ビデオ/画像のキャプチャ、合成、または生成過程などを介してビデオ/画像を取得することができる。ビデオソースは、ビデオ/画像キャプチャデバイス及び/又はビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、1つ以上のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを含むことができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを含むことができ、(電子的に)ビデオ/画像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/画像が生成され得るし、この場合、関連データが生成される過程にビデオ/画像キャプチャ過程が代替されることができる。
【0039】
エンコード装置は、入力ビデオ/画像をエンコードすることができる。エンコード装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を行うことができる。エンコードされたデータ(エンコードされたビデオ/画像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
【0040】
送信部は、ビットストリーム形態で出力されたエンコードされたビデオ/画像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達することができる。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。送信部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介しての送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコード装置に伝達することができる。
【0041】
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を行ってビデオ/画像をデコードすることができる。
【0042】
レンダラは、デコードされたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像は、ディスプレイ部を介してディスプレイされることができる。
【0043】
本文書は、ビデオ/画像コーディングに関する。例えば、本文書で開示された方法/実施形態は、VVC(versatile video coding)標準に開示される方法に適用されることができる。また、本文書で開示された方法/実施形態は、EVC(essential video coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)又は次世代ビデオ/画像コーディング標準(ex.267又はH.268等)に開示される方法に適用されることができる。
【0044】
本文書では、ビデオ/画像コーディングに関する様々な実施形態を提示し、別の言及がない限り、前記実施形態は互いに組み合わせて行うこともある。
【0045】
本文書で、ビデオ(video)は、時間の流れによる一連の画像(image)の集合を意味することができる。ピクチャ(picture)は、一般的に特定の時間帯の1つの画像を示す単位を意味し、スライス(slice)/タイル(tile)は、コーディングにおいてピクチャの一部を構成する単位である。スライス/タイルは、1つ以上のCTU(coding tree unit)を含むことができる。1つのピクチャは、1つ以上のスライス/タイルで構成されることができる。タイルは、ピクチャ内の特定のタイル列及び特定のタイル列以内のCTUの四角領域である(A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a picture)。前記タイル列は、CTUの四角領域であり、前記四角領域は、前記ピクチャの高さと同じ高さを有し、幅はピクチャパラメータセット内のシンタックス要素により明示され得る(The tile column is a rectangular region of CTUs having a height equal to the height of the picture and a width specified by syntax elements in the picture parameter set)。前記タイル行はCTUの四角領域であり、前記四角領域はピクチャパラメータセット内のシンタックス要素によって明示される幅を有し、高さは前記ピクチャの高さと同一であり得る(The tile row is a rectangular region of CTUs having a height specified by syntax elements in the picture parameter set and a width equal to the width of the picture)。タイルのスキャンはピクチャをパーティショニングするCTUの特定の順次オーダリングを示し得、前記CTUはタイル内のCTUラスタースキャンに連続的に整列され得、ピクチャ内のタイルは、前記ピクチャの前記タイルのラスタースキャンに連続的に整列され得る(A tile scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture)。スライスは単一のNALユニットに排他的に含まれ得る、整数個の完全なタイル又はピクチャのタイル内の整数個の連続的な完全なCTU行を含み得る(A slice includes an integer number of complete tiles or an integer number of consecutive complete CTU rows within a tile of a picture that may be exclusively contained in a single NAL unit)
【0046】
一方、1つのピクチャは、2つ以上のサブピクチャに区分されることができる。サブピクチャは、ピクチャ内の1つ以上のスライスの四角領域であり得る(an rectangular region of one or more slices within a picture)。
【0047】
ピクセル(pixel)またはペル(pel)は、1つのピクチャ(または、画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として、「サンプル(sample)」が使用され得る。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すことができ、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
【0048】
ユニット(unit)は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち、少なくとも1つを含むことができる。1つのユニットは、1つのルマブロック及び2つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行とからなるサンプル(または、サンプルアレイ)または変換係数(transform coefficient)の集合(または、アレイ)を含むことができる。
【0049】
本文書において、「A又はB(A or B)」は、「ただA」、「ただB」、又は「A及びB両方」を意味し得る。言い換えると、本文書において、「A又はB(A or B)」は、「A及び/又はB(A and/or B)」と解釈され得る。例えば、本文書において、「A、B又はC(A, B or C)」は、「ただA」、「ただB」、「ただC」、又は「A、B及びCの任意の全ての組み合わせ(any combination of A, B and C)」を意味し得る。
【0050】
本文書で使用されるスラッシュ(/)や休止符(comma)は、「及び/又は(and/or)」を意味し得る。例えば、「A/B」は、「A及び/又はB」を意味し得る。これによって、「A/B」は、「ただA」、「ただB」、又は「A及びB両方」を意味し得る。例えば、「A、B、C」は、「A、B又はC」を意味し得る。
【0051】
本文書において、「少なくとも1つのA及びB(at least one of A and B)」は、「ただA」、「ただB」又は「A及びB両方」を意味し得る。また、本文書において、「少なくとも1つのA又はB(at least one of A or B)」や「少なくとも1つのA及び/又はB(at least one of A and/or B)」という表現は、「少なくとも1つのA及びB(at least one of A and B)」と同様に解釈され得る。
【0052】
また、本文書において、「少なくとも1つのA、B及びC(at least one of A, B and C)」は、「ただA」、「ただB」、「ただC」、又は「A、B及びCの任意の全ての組み合わせ(any combination of A, B and C)」を意味し得る。また、「少なくとも1つのA、B又はC(at least one of A, B or C)」や「少なくとも1つのA、B及び/又はC(at least one of A, B and/or C)」は、「少なくとも1つのA、B及びC(at least one of A, B and C)」を意味し得る。
【0053】
また、本文書で使用される括弧は、「例えば(for example)」を意味し得る。具体的に、「予測(イントラ予測)」と表示された場合、「予測」の一例として「イントラ予測」が提案されたものであり得る。言い換えると、本文書の「予測」は、「イントラ予測」に制限(limit)されず、「イントラ予測」が「予測」の一例として提案されたものであり得る。また、「予測(即ち、イントラ予測)」と表示された場合にも、「予測」の一例として「イントラ予測」が提案されたものであり得る。
【0054】
本文書において1つの図面内で個別的に説明される技術的特徴は、個別的に実現されてもよく、同時に実現されてもよい。
【0055】
図2は、本文書の実施形態が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。以下、エンコード装置というのは、画像エンコード装置及び/又はビデオエンコード装置を含むことができる。
【0056】
図2に示すように、エンコード装置200は、画像分割部(image partitioner)210、予測部(predictor)220、レジデュアル処理部(residual processor)230、エントロピーエンコード部(entropy encoder)240、加算部(adder)250、フィルタリング部(filter)260、及びメモリ(memory)270を備えて構成されることができる。予測部220は、インター予測部221及びイントラ予測部222を備えることができる。レジデュアル処理部230は、変換部(transformer)232、量子化部(quantizer)233、逆量子化部(dequantizer)234、逆変換部(inverse transformer)235を備えることができる。レジデュアル処理部230は、減算部(subtractor、231)をさらに備えることができる。加算部250は、復元部(reconstructor)または復元ブロック生成部(recontructged block generator)と呼ばれることができる。上述した画像分割部210、予測部220、レジデュアル処理部230、エントロピーエンコード部240、加算部250、及びフィルタリング部260は、実施形態によって1つ以上のハードウェアコンポーネント(例えば、エンコーダチップセットまたはプロセッサ)によって構成されることができる。また、メモリ270は、DPB(decoded picture buffer)を備えることができ、デジタル格納媒体によって構成されることもできる。前記ハードウェアコンポーネントは、メモリ270を内/外部コンポーネントとしてさらに備えることもできる。
【0057】
画像分割部210は、エンコード装置200に入力された入力画像(または、ピクチャ、フレーム)を1つ以上の処理ユニット(processing unit)に分割することができる。一例として、前記処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれることができる。この場合、コーディングユニットは、コーディングツリーユニット(coding tree unit、CTU)または最大コーディングユニット(largest coding unit、LCU)からQTBTTT(Quad-tree binary-tree ternary-tree)構造によって再帰的に(recursively)分割されることができる。例えば、1つのコーディングユニットは、クアッドツリー構造、バイナリツリー構造、及び/又はターナリ構造に基づいて下位(deeper)デプスの複数のコーディングユニットに分割されることができる。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造及び/又はターナリ構造がその後に適用されることができる。または、バイナリツリー構造が先に適用されることもできる。それ以上分割されない最終コーディングユニットに基づいて本開示に係るコーディング手順が行われ得る。この場合、画像特性によるコーディング効率などに基づいて、最大コーディングユニットが最終コーディングユニットとして使用されることができ、または、必要に応じてコーディングユニットは、再帰的に(recursively)もっと下位デプスのコーディングユニットに分割されて最適のサイズのコーディングユニットが最終コーディングユニットとして使用されることができる。ここで、コーディング手順とは、後述する予測、変換、及び復元などの手順を含むことができる。他の例として、前記処理ユニットは、予測ユニット(PU:Prediction Unit)または変換ユニット(TU:Transform Unit)をさらに備えることができる。この場合、前記予測ユニット及び前記変換ユニットは、各々上述した最終コーディングユニットから分割またはパーティショニングされることができる。前記予測ユニットは、サンプル予測の単位であることができ、前記変換ユニットは、変換係数を導く単位及び/又は変換係数からレジデュアル信号(residual signal)を導く単位であることができる。
【0058】
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)等の集合を示すことができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すことができ、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(または、画像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
【0059】
エンコード装置200は、入力画像信号(原本ブロック、原本サンプルアレイ)でインター予測部221またはイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算してレジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成することができ、生成されたレジデュアル信号は、変換部232に送信される。この場合、図示されたように、エンコーダ200内において入力画像信号(原本ブロック、原本サンプルアレイ)で予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれることができる。予測部は、処理対象ブロック(以下、現在ブロックという)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、現在ブロックまたはCU単位でイントラ予測が適用されるか、またはインター予測が適用されるか決定することができる。予測部は、各予測モードについての説明で後述するように、予測モード情報など、予測に関する様々な情報を生成してエントロピーエンコード部240に伝達することができる。予測に関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
【0060】
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測できる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置することができ、または、離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは、例示であり、設定によってそれ以上またはそれ以下の個数の方向性予測モードが使用され得る。イントラ予測部222は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0061】
インター予測部221は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを導くことができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを含むことができる。前記参照ブロックを含む参照ピクチャと前記時間的隣接ブロックを含む参照ピクチャとは同じであることができ、異なることもできる。前記時間的隣接ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(col CU)などの名前で呼ばれることができ、前記時間的隣接ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)と呼ばれることもできる。例えば、インター予測部221は、隣接ブロックに基づいて動き情報候補リストを構成し、前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するために、どの候補が使用されるかを指示する情報を生成することができる。様々な予測モードに基づいてインター予測が行われ得るし、例えば、スキップモードとマージモードとの場合に、インター予測部221は、隣接ブロックの動き情報を現在ブロックの動き情報として利用することができる。スキップモードの場合、マージモードとは異なり、レジデュアル信号が送信されないことがある。動き情報予測(motion vector prediction、MVP)モードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として用い、動きベクトル差分(motion vector difference)をシグナリングすることにより、現在ブロックの動きベクトルを指示することができる。
【0062】
予測部220は、後述する様々な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用することができるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくことができ、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と同様に行われることができる。即ち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを用いることができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングすることができる。
【0063】
前記予測部(インター予測部221及び/又は前記イントラ予測部222を含む)を介して生成された予測信号は、復元信号を生成するために用いられるか、レジデュアル信号を生成するために用いられることができる。変換部232は、レジデュアル信号に変換技法を適用して、変換係数(transform coefficients)を生成することができる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、GBT(Graph-Based Transform)、又はCNT(Conditionally Non-linear Transform)の少なくとも1つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現するという際に、このグラフから得られた変換を意味する。CNTは、以前に復元された全てのピクセル(all previously reconstructed pixel)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は正方形の同じサイズを有するピクセルブロックに適用されてもよく、正方形ではない可変サイズのブロックに適用されてもよい。
【0064】
量子化部233は、変換係数を量子化してエントロピーエンコード部240に送信され、エントロピーエンコード部240は、量子化された信号(量子化された変換係数に関する情報)をエンコードしてビットストリームに出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれることができる。量子化部233は、係数スキャン順序(scan order)に基づいてブロック形態の量子化された変換係数を1次元ベクトル形態で再整列することができ、前記1次元ベクトル形態の量子化された変換係数に基づいて前記量子化された変換係数に関する情報を生成することもできる。エントロピーエンコード部240は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などのような様々なエンコード方法を行うことができる。エントロピーエンコード部240は、量子化された変換係数の他に、ビデオ/イメージ復元に必要な情報(例えば、シンタックス要素(syntax elements)の値)を共にまたは別にエンコードすることもできる。エンコードされた情報(例えば、エンコードされたビデオ/画像情報)は、ビットストリーム形態でNAL(network abstraction layer)ユニット単位で送信または格納されることができる。前記ビデオ/画像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)等、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。本文書において、エンコード装置からデコード装置に伝達/シグナリングされる情報及び/又はシンタックス要素は、ビデオ/画像情報に含まれることができる。前記ビデオ/画像情報は、上述したエンコード手順を介してエンコードされて前記ビットストリームに含まれることができる。前記ビットストリームは、ネットワークを介して送信されることができ、またはデジタル格納媒体に格納されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。エントロピーエンコード部240から出力された信号は、送信する送信部(図示せず)及び/又は格納する格納部(図示せず)がエンコード装置200の内/外部エレメントとして構成されることができ、または送信部は、エントロピーエンコード部240に含まれることもできる。
【0065】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロックまたはレジデュアルサンプル)を復元できる。加算部155は、復元されたレジデュアル信号をインター予測部221またはイントラ予測部222から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成され得る。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部250は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0066】
一方、ピクチャエンコード及び/又は復元過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0067】
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部260は、各フィルタリング方法についての説明で後述するように、フィルタリングに関する様々な情報を生成してエントロピーエンコード部240に伝達することができる。フィルタリングに関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
【0068】
メモリ270に送信された修正された復元ピクチャは、インター予測部221で参照ピクチャとして使用されることができる。エンコード装置は、これを介してインター予測が適用される場合、エンコード装置100とデコード装置における予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【0069】
メモリ270のDPBは、修正された復元ピクチャをインター予測部221における参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するために、インター予測部221に伝達することができる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達することができる。
【0070】
図3は、本文書の実施形態が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。以下、デコード装置というのは、画像デコード装置及び/又はビデオデコード装置を含むことができる。
【0071】
図3に示すように、デコード装置300は、エントロピーデコード部(entropy decoder)310、レジデュアル処理部(residual processor)320、予測部(predictor)330、加算部(adder)340、フィルタリング部(filter)350、及びメモリ(memoery)360を備えて構成されることができる。予測部330は、イントラ予測部331及びインター予測部332を備えることができる。レジデュアル処理部320は、逆量子化部(dequantizer)321及び逆変換部(inverse transformer)321を備えることができる。上述したエントロピーデコード部310、レジデュアル処理部320、予測部330、加算部340、及びフィルタリング部350は、実施形態によって1つのハードウェアコンポーネント(例えば、デコーダチップセットまたはプロセッサ)により構成されることができる。また、メモリ360は、DPB(decoded picture buffer)を備えることができ、デジタル格納媒体により構成されることもできる。前記ハードウェアコンポーネントは、メモリ360を内/外部コンポーネントとしてさらに備えることもできる。
【0072】
ビデオ/画像情報を含むビットストリームが入力されれば、デコード装置300は、図3のエンコード装置でビデオ/画像情報が処理されたプロセスに対応して画像を復元できる。例えば、デコード装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出できる。デコード装置300は、エンコード装置で適用された処理ユニットを用いてデコードを行うことができる。したがって、デコードの処理ユニットは、例えば、コーディングユニットであることができ、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/又はターナリツリー構造にしたがって分割されることができる。コーディングユニットから1つ以上の変換ユニットが導出され得る。そして、デコード装置300を介してデコード及び出力された復元画像信号は、再生装置を介して再生されることができる。
【0073】
デコード装置300は、図3のエンコード装置から出力された信号をビットストリーム形態で受信することができ、受信された信号は、エントロピーデコード部310を介してデコードされることができる。例えば、エントロピーデコード部310は、前記ビットストリームをパーシングして画像復元(または、ピクチャ復元)に必要な情報(例えば、ビデオ/画像情報)を導出できる。前記ビデオ/画像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)など、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。デコード装置は、前記パラメータセットに関する情報及び/又は前記一般制限情報に基づいてさらにピクチャをデコードすることができる。本文書において後述されるシグナリング/受信される情報及び/又はシンタックス要素は、前記デコード手順を介してデコードされて、前記ビットストリームから取得されることができる。例えば、エントロピーデコード部310は、指数ゴロム符号化、CAVLC、またはCABACなどのコーディング方法を基にビットストリーム内の情報をデコードし、画像復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値を出力できる。より具体的に、CABACエントロピーデコード方法は、ビットストリームで各シンタックス要素に該当するビンを受信し、デコード対象のシンタックス要素情報と隣接及びデコード対象ブロックのデコード情報または以前ステップでデコードされたシンボル/ビンの情報を利用して文脈(context)モデルを決定し、決定された文脈モデルによってビン(bin)の発生確率を予測してビンの算術デコード(arithmetic decoding)を行い、各シンタックス要素の値に該当するシンボルを生成することができる。このとき、CABACエントロピーデコード方法は、文脈モデル決定後、次のシンボル/ビンの文脈モデルのためにデコードされたシンボル/ビンの情報を利用して文脈モデルをアップデートすることができる。エントロピーデコード部310でデコードされた情報のうち、予測に関する情報は、予測部(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコード部310でエントロピーデコードが行われたレジデュアル値、即ち、量子化された変換係数及び関連パラメータ情報は、レジデュアル処理部320に入力されることができる。レジデュアル処理部320は、レジデュアル信号(レジデュアルブロック、レジデュアルサンプル、レジデュアルサンプルアレイ)を導出できる。また、エントロピーデコード部310でデコードされた情報のうち、フィルタリングに関する情報は、フィルタリング部350に提供されることができる。一方、エンコード装置から出力された信号を受信する受信部(図示せず)がデコード装置300の内/外部エレメントとしてさらに構成されることができ、または受信部は、エントロピーデコード部310の構成要素であることもできる。一方、本文書に係るデコード装置は、ビデオ/画像/ピクチャデコード装置と呼ばれることができ、前記デコード装置は、情報デコーダ(ビデオ/画像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/画像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは、前記エントロピーデコード部310を備えることができ、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、加算部340、フィルタリング部350、メモリ360、インター予測部332、及びイントラ予測部331のうち、少なくとも1つを備えることができる。
【0074】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力できる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコード装置で行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
【0075】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
【0076】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピーデコード部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか、またはインター予測が適用されるか決定することができ、具体的なイントラ/インター予測モードを決定できる。
【0077】
予測部320は、後述する様々な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用することができるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくことができ、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と同様に行われることができる。即ち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/画像情報に含まれてシグナリングされることができる。
【0078】
イントラ予測部331は、現在ピクチャ内のサンプルを参照して現在ブロックを予測できる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置することができ、または離れて位置することができる。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。イントラ予測部331は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0079】
インター予測部332は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを導くことができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを備えることができる。例えば、インター予測部332は、隣接ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出できる。様々な予測モードに基づいてインター予測が行われ得るし、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
【0080】
加算部340は、取得されたレジデュアル信号を予測部(インター予測部332及び/又はイントラ予測部331を備える)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。
【0081】
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て出力されることができ、または次のピクチャのインター予測のために使用されることもできる。
【0082】
一方、ピクチャデコード過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0083】
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ360、具体的に、メモリ360のDPBに送信することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
【0084】
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部332で参照ピクチャとして使用されることができる。メモリ360は、現在ピクチャ内の動き情報が導出された(または、デコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納できる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納でき、イントラ予測部331に伝達することができる。
【0085】
本明細書において、エンコード装置200のフィルタリング部260、インター予測部221、及びイントラ予測部222で説明された実施形態等は、各々デコード装置300のフィルタリング部350、インター予測部332、及びイントラ予測部331にも同一または対応するように適用されることができる。
【0086】
前述したように、ビデオコーディングを実行するにあたって、圧縮効率を上げるために予測を実行する。これを介してコーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、前記予測されたブロックは、空間ドメイン(または、ピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコード装置及びデコード装置で同じく導出され、前記エンコード装置は、原本ブロックの原本サンプル値自体でない前記原本ブロックと前記予測されたブロックとの間のレジデュアルに対する情報(レジデュアル情報)をデコード装置にシグナリングすることで画像コーディング効率を上げることができる。デコード装置は、前記レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックとを合わせて復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
【0087】
前記レジデュアル情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコード装置は、前記原本ブロックと前記予測されたブロックとの間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれているレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を実行して変換係数を導出し、前記変換係数に量子化手順を実行して量子化された変換係数を導出することで、関連したレジデュアル情報を(ビットストリームを介して)デコード装置にシグナリングされることができる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコード装置は、前記レジデュアル情報に基づいて逆量子化/逆変換の手順を実行してレジデュアルサンプル(または、レジデュアルブロック)を導出することができる。デコード装置は、予測されたブロックと前記レジデュアルブロックに基づいて復元ピクチャを生成することができる。また、エンコード装置は、以後ピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成することができる。
【0088】
本文書において、量子化/逆量子化及び/又は変換/逆変換のうち少なくとも1つは、省略されることができる。前記量子化/逆量子化が省略される場合、前記量子化された変換係数は、変換係数と呼ばれることができる。前記変換/逆変換が省略される場合、前記変換係数は、係数またはレジデュアル係数と呼ばれることもでき、または、表現の統一性のために、依然として変換係数と呼ばれることもできる。
【0089】
本文書において、量子化された変換係数及び変換係数は、各々、変換係数及びスケーリングされた(scaled)変換係数と呼ばれることができる。この場合、レジデュアル情報は、変換係数(ら)に関する情報を含むことができ、前記変換係数(ら)に関する情報は、レジデュアルコーディングシンタックスを介してシグナリングされることができる。前記レジデュアル情報(または、前記変換係数(ら)に関する情報)に基づいて変換係数が導出されることができ、前記変換係数に対する逆変換(スケーリング)を介してスケーリングされた変換係数が導出されることができる。前記スケーリングされた変換係数に対する逆変換(変換)に基づいてレジデュアルサンプルが導出されることができる。これは本文書の他の部分でも同様に適用/表現されることができる。
【0090】
イントラ予測は、現在ブロックが属するピクチャ(以下、現在ピクチャという)内の参照サンプルに基づいて現在ブロックに対する予測サンプルを生成する予測を示すことができる。現在ブロックにイントラ予測が適用される場合、現在ブロックのイントラ予測に使用する隣接参照サンプルが導出されることができる。前記現在ブロックの隣接参照サンプルは、nW×nH大きさの現在ブロックの左側(left)境界に隣接したサンプル及び左下側(bottom-left)に隣接した総2×nH個のサンプル、現在ブロックの上側(top)境界に隣接したサンプル及び右上側(top-right)に隣接した総2×nW個のサンプル及び現在ブロックの左上側(top-left)に隣接した1個のサンプルを含むことができる。または、前記現在ブロックの隣接参照サンプルは、複数列の上側隣接サンプル及び複数行の左側隣接サンプルを含むこともできる。また、前記現在ブロックの隣接参照サンプルは、nW×nH大きさの現在ブロックの右側(right)境界に隣接した総nH個のサンプル、現在ブロックの下側(bottom)境界に隣接した総nW個のサンプル及び現在ブロックの右下側(bottom-right)に隣接した1個のサンプルを含むこともできる。
【0091】
ただし、現在ブロックの隣接参照サンプルのうち一部は、まだデコードされない、または利用可能でない場合がある。この場合、デコーダは、利用可能なサンプルとして利用可能でないサンプルを代替(substitution)して予測に使用する隣接参照サンプルを構成することができる。または、利用可能なサンプルの補間(interpolation)を介して予測に使用する隣接参照サンプルを構成することができる。
【0092】
隣接参照サンプルが導出された場合、(i)現在ブロックの隣接(neighboring)参照サンプルの平均(average)または補間(interpolation)に基づいて予測サンプルを誘導することができ、(ii)現在ブロックの隣接参照サンプルのうち、予測サンプルに対して特定(予測)方向に存在する参照サンプルに基づいて前記予測サンプルを誘導することもできる。(i)の場合は、非方向性(non-directional)モードまたは非角度(non-angular)モードと呼ばれ、(ii)の場合は、方向性(directional)モードまたは角度(angular)モードと呼ばれることができる。
【0093】
また、前記隣接参照サンプルのうち前記現在ブロックの予測サンプルを基準にして、前記現在ブロックのイントラ予測モードの予測方向に位置する第1の隣接サンプルと前記予測方向の反対方向に位置する第2の隣接サンプルとの補間を介して前記予測サンプルが生成されることもできる。前述した場合は、線形補間イントラ予測(Linear interpolation intra prediction、LIP)と呼ばれることができる。また、線形モデル(linear model)を利用してルマサンプルに基づいてクロマ予測サンプルが生成されることもできる。この場合は、LMモードと呼ばれることができる。
【0094】
また、フィルタリングされた隣接参照サンプルに基づいて前記現在ブロックの臨時予測サンプルを導出し、前記既存の隣接参照サンプル、即ち、フィルタリングされない隣接参照サンプルのうち、前記イントラ予測モードによって導出された少なくとも1つの参照サンプルと前記臨時予測サンプルとを加重和(weighted sum)して前記現在ブロックの予測サンプルを導出することもできる。前述した場合は、PDPC(Position dependent intra prediction)と呼ばれることができる。
【0095】
また、現在ブロックの隣接多重参照サンプルラインの中から最も予測正確度が高い参照サンプルラインを選択して該当ラインで予測方向に位置する参照サンプルを利用して予測サンプルを導出し、この時に使われた参照サンプルラインをデコード装置に指示(シグナリング)する方法でイントラ予測符号化を実行することができる。前述した場合は、多重参照ライン(multi-reference line)イントラ予測またはMRLベースのイントラ予測と呼ばれることができる。
【0096】
また、現在ブロックを垂直または水平のサブパーティションに分けて同じイントラ予測モードに基づいてイントラ予測を実行し、前記サブパーティション単位で隣接参照サンプルを導出して利用できる。即ち、この場合、現在ブロックに対するイントラ予測モードが前記サブパーティションに同じく適用され、前記サブパーティション単位で隣接参照サンプルを導出して利用することによって、場合によって、イントラ予測性能を高めることができる。このような予測方法は、ISP(intra sub-partitions)ベースのイントラ予測と呼ばれることができる。
【0097】
前述したイントラ予測方法は、イントラ予測モードと区分してイントラ予測タイプと呼ばれることができる。前記イントラ予測タイプは、イントラ予測技法または付加イントラ予測モードなど、様々な用語で呼ばれることができる。例えば、前記イントラ予測タイプ(または、付加イントラ予測モードなど)は、前述したLIP、PDPC、MRL、ISPのうち少なくとも1つを含むことができる。前記LIP、PDPC、MRL、ISPなどの特定イントラ予測タイプを除外した一般イントラ予測方法は、ノーマルイントラ予測タイプと呼ばれることができる。ノーマルイントラ予測タイプは、前記のような特定イントラ予測タイプが適用されない場合、一般的に適用されることができ、前述したイントラ予測モードに基づいて予測が実行されることができる。一方、必要によって、導出された予測サンプルに対する後処理フィルタリングが実行されることもできる。
【0098】
具体的に、イントラ予測手順は、イントラ予測モード/タイプ決定ステップ、隣接参照サンプル導出ステップ、イントラ予測モード/タイプベースの予測サンプル導出ステップを含むことができる。また、必要によって、導出された予測サンプルに対する後処理フィルタリング(post-filtering)ステップが実行されることもできる。
【0099】
イントラ予測が適用される場合、隣接ブロックのイントラ予測モードを利用して現在ブロックに適用されるイントラ予測モードが決定されることができる。例えば、デコード装置は、現在ブロックの隣接ブロック(例えば、左側及び/又は上側隣接ブロック)のイントラ予測モード及び追加的な候補モードに基づいて導出されたMPM(most probable mode)リスト内のMPM候補のうち1つを、受信されたMPMインデックスに基づいて選択でき、または、前記MPM候補(及びプラナーモード)に含まれない残りのイントラ予測モードのうち1つを、リメイニングイントラ予測モード情報に基づいて選択できる。前記MPMリストは、プラナーモードを候補として含む場合または含まない場合で構成されることができる。例えば、前記MPMリストがプラナーモードを候補として含む場合、前記MPMリストは、6個の候補を有することができ、前記MPMリストがプラナーモードを候補として含まない場合、前記MPMリストは、5個の候補を有することができる。前記MPMリストがプラナーモードを候補として含まない場合、現在ブロックのイントラ予測モードがプラナーモードでないかことを示すnotプラナーフラグ(例えば、intra_luma_not_planar_flag)がシグナリングされることができる。例えば、MPMフラグが先にシグナリングされ、MPMインデックス及びnotプラナーフラグは、MPMフラグの値が1である場合にシグナリングされることができる。また、前記MPMインデックスは、前記notプラナーフラグの値が1である場合にシグナリングされることができる。ここで、前記MPMリストがプラナーモードを候補として含まないように構成されることは、前記プラナーモードがMPMでないことを意味するより、MPMとして常にプラナーモードが考慮されるため、先にフラグ(not planar flag)をシグナリングしてプラナーモードであるかどうかを先に確認するためである。
【0100】
例えば、現在ブロックに適用されるイントラ予測モードがMPM候補(及びプラナーモード)内にあるか、または、リメイニングモード内にあるかは、MPMフラグ(例えば、intra_luma_mpm_flag)に基づいて指示されることができる。MPMフラグの値1は、前記現在ブロックに対するイントラ予測モードがMPM候補(及びプラナーモード)内にあることを示すことができ、MPM flagの値0は、前記現在ブロックに対するイントラ予測モードがMPM候補(及びプラナーモード)内に無いことを示すことができる。前記notプラナーフラグ(例えば、intra_luma_not_planar_flag)値0は、前記現在ブロックに対するイントラ予測モードがプラナーモードであることを示すことができ、前記notプラナーフラグ値1は、前記現在ブロックに対するイントラ予測モードがプラナーモードでないことを示すことができる。前記MPMインデックスは、mpm_idxまたはintra_luma_mpm_idxシンテックス要素の形態でシグナリングされることができ、前記リメイニングイントラ予測モード情報は、rem_intra_luma_pred_modeまたはintra_luma_mpm_remainderシンテックス要素の形態でシグナリングされることができる。例えば、前記リメイニングイントラ予測モード情報は、全体イントラ予測モードのうち前記MPM候補(及びプラナーモード)に含まれない残りのイントラ予測モードを予測モード番号順にインデキシングしてそのうち1つを指すことができる。前記イントラ予測モードは、ルマ成分(サンプル)に対するイントラ予測モードである。以下、イントラ予測モード情報は、前記MPM flag(例えば、intra_luma_mpm_flag)、前記not planar flag(例えば、intra_luma_not_planar_flag)、前記MPMインデックス(例えば、mpm_idxまたはintra_luma_mpm_idx)、前記リメイニングイントラ予測モード情報(rem_intra_luma_pred_modeまたはintra_luma_mpm_remainder)のうち少なくとも1つを含むことができる。本文書において、MPMリストは、MPM候補リスト、candModeListなど、様々な用語で呼ばれることができる。MIPが現在ブロックに適用される場合、MIPのための別途のmpm flag(例えば、intra_mip_mpm_flag)、mpmインデックス(例えば、intra_mip_mpm_idx)、リメイニングイントラ予測モード情報(例えば、intra_mip_mpm_remainder)がシグナリングされることができ、前記not planar flagはシグナリングされない。
【0101】
即ち、一般的に画像に対するブロック分割になると、コーディングしようとする現在ブロックと隣接(neighboring)ブロックは、類似する画像特性を有するようになる。したがって、現在ブロックと隣接ブロックは、互いに同じまたは類似するイントラ予測モードを有する確率が高い。したがって、エンコーダは、現在ブロックのイントラ予測モードをエンコードするために、隣接ブロックのイントラ予測モードを利用することができる。
【0102】
例えば、エンコーダ/デコーダは、現在ブロックに対するMPM(most probable modes)リストを構成することができる。前記MPMリストは、MPM候補リストと示すこともできる。ここで、MPMとは、イントラ予測モードコーディング時、現在ブロックと隣接ブロックの類似性を考慮してコーディング効率を向上させるために利用されるモードを意味することができる。前述したように、MPMリストは、プラナーモードを含んで構成されることもでき、または、プラナーモードを除外して構成されることもできる。例えば、MPMリストがプラナーモードを含む場合、MPMリストの候補の個数は6個である。そして、MPMリストがプラナーモードを含まない場合、MPMリストの候補の個数は5個である。
【0103】
エンコーダ/デコーダは、5個または6個のMPMを含むMPMリストを構成することができる。
【0104】
MPMリストを構成するために、デフォルトイントラモード(Default intra modes)、隣接イントラモード(Neighbour intra modes)、及び導出されたイントラモード(Derived intra modes)の三つの種類のモードが考慮されることができる。
【0105】
前記隣接イントラモードのために、二つの隣接ブロック、即ち、左側隣接ブロック及び上側隣接ブロックが考慮されることができる。
【0106】
前述したように、もし、MPMリストがプラナーモードを含まないように構成する場合、前記リストからプラナー(planar)モードが除外され、前記MPMリスト候補の個数は、5個に設定されることができる。
【0107】
また、イントラ予測モードのうち、非方向性モード(または、非角度モード)は、現在ブロックの隣接(neighboring)参照サンプルの平均(average)ベースのDCモードまたは補間(interpolation)ベースのプラナー(planar)モードを含むことができる。
【0108】
インター予測が適用される場合、エンコード装置/デコード装置の予測部は、ブロック単位でインター予測を行って予測サンプルを導出することができる。インター予測は、現在ピクチャ以外のピクチャのデータ要素(ex.サンプル値、又は動き情報)に依存的な方法で導出される予測を示すことができる。現在ブロックにインター予測が適用される場合、参照ピクチャのインデックスの指す参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロック(予測サンプルアレイ)を誘導することができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて、現在ブロックの動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャのインデックスを含むことができる。前記動き情報は、インター予測タイプ(L0予測、L1予測、Bi予測等)の情報を更に含むことができる。インター予測が適用される場合、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と、参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを含むことができる。前記参照ブロックを含む参照ピクチャと、前記時間的隣接ブロックを含む参照ピクチャとは同一であってもよく、異なってもよい。前記時間的隣接ブロックは、同じ位置参照ブロック(collocated reference block)、同じ位置CU(colCU)等の名称で呼ばれ得、前記時間的隣接ブロックを含む参照ピクチャは、同じ位置ピクチャ(collocated picture、colPic)と呼ばれることもある。例えば、現在ブロックの隣接ブロックに基づいて動き情報の候補リストが構成されることができ、前記現在ブロックの動きベクトル及び/又は参照ピクチャのインデックスを導出するために、どの候補が選択(使用)されるかを指示するフラグ又はインデックス情報がシグナリングされることができる。様々な予測モードに基づいてインター予測が行われ、例えば、スキップモードとマージモードの場合、現在ブロックの動き情報は、選択された隣接ブロックの動き情報を同一であり得る。スキップモードの場合、マージモードと異なり、レジデュアル信号が送信されないことがある。動き情報予測(motion vector prediction、MVP)モードの場合、選択された隣接ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として利用し、動きベクトル差分(motion vector difference)はシグナリングされることができる。この場合、前記動きベクトル予測子及び動きベクトル差分の和を用いて、前記現在ブロックの動きベクトルを導出することができる。
【0109】
前記動き情報は、インター予測タイプ(L0予測、L1予測、Bi予測等)に応じて、L0動き情報及び/又はL1動き情報を含むことができる。L0方向の動きベクトルは、L0動きベクトル又はMVL0と呼ばれ得、L1方向の動きベクトルは、L1動きベクトル又はMVL1と呼ばれ得る。L0動きベクトルに基づいた予測は、L0予測と呼ばれ得、L1動きベクトルに基づいた予測をL1予測と呼ばれ得、前記L0動きベクトル及び前記L1動きベクトルの両方に基づいた予測を双(Bi)予測と呼ばれ得る。ここで、L0動きベクトルは、参照ピクチャリストL0(L0)に関連した動きベクトルを示すことができ、L1動きベクトルは、参照ピクチャリストL1(L1)に関連した動きベクトルを示すことができる。参照ピクチャリストL0は、前記現在ピクチャよりも、出力順序上、以前のピクチャを参照ピクチャに含むことができ、参照ピクチャリストL1は、前記現在ピクチャよりも、出力順序上、以後のピクチャを含むことができる。前記以前のピクチャは、順方向(参照)ピクチャと呼ばれ得、前記以後のピクチャは、逆方向(参照)ピクチャと呼ばれ得る。前記参照ピクチャリストL0は、前記現在ピクチャよりも、出力順序上、以後のピクチャを参照ピクチャにさらに含むことができる。この場合、前記参照ピクチャリストL0内で前記以前のピクチャが先にインデキシングされ、前記以後のピクチャは、その後にインデキシングされ得る。前記参照ピクチャリストL1は、前記現在ピクチャよりも、出力順序上、以前のピクチャを参照ピクチャにさらに含むことができる。この場合、前記参照ピクチャリスト1内で前記以後のピクチャが先にインデキシングされ、前記以前のピクチャは、その後にインデキシングされ得る。ここで、出力順序は、POC(picture order count)順序(order)に対応し得る。
【0110】
図4は、インター予測に基づくビデオ/画像エンコード方法の例を示す。
【0111】
エンコード装置は、現在ブロックに対するインター予測を行う(S400)。エンコード装置は、現在ブロックのインター予測モード及び動き情報を導出し、前記現在ブロックの予測サンプルを生成できる。ここで、インター予測モード決定、動き情報導出、及び予測サンプル生成手順は、同時に行われることができ、どの1つの手順が他の手順より先に行われることもできる。例えば、エンコード装置のインター予測部は、予測モード決定部、動き情報導出部、予測サンプル導出部を備えることができ、予測モード決定部で前記現在ブロックに対する予測モードを決定し、動き情報導出部で前記現在ブロックの動き情報を導出し、予測サンプル導出部で前記現在ブロックの予測サンプルを導出することができる。例えば、エンコード装置のインター予測部は、動き推定(motion estimation)を介して参照ピクチャの一定領域(サーチ領域)内で前記現在ブロックと類似したブロックをサーチし、前記現在ブロックとの差が最小または一定基準以下である参照ブロックを導出できる。これに基づいて、前記参照ブロックが位置する参照ピクチャを指す参照ピクチャインデックスを導出し、前記参照ブロックと前記現在ブロックとの位置差に基づいて動きベクトルを導出できる。エンコード装置は、様々な予測モードのうち、前記現在ブロックに対して適用されるモードを決定できる。エンコード装置は、前記様々な予測モードに対するRD costを比較し、前記現在ブロックに対する最適の予測モードを決定できる。
【0112】
例えば、エンコード装置は、前記現在ブロックにスキップモードまたはマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補が指す参照ブロックのうち、前記現在ブロックとの差が最小または一定基準以下である参照ブロックを導出できる。この場合、前記導出された参照ブロックと連関したマージ候補が選択され、前記選択されたマージ候補を指すマージインデックス情報が生成されてデコード装置にシグナリングされることができる。前記選択されたマージ候補の動き情報を利用して前記現在ブロックの動き情報を導出できる。
【0113】
他の例として、エンコード装置は、前記現在ブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補の中で選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして利用することができる。この場合、例えば、上述した動き推定によって導出された参照ブロックを指す動きベクトルが前記現在ブロックの動きベクトルとして利用されることができ、前記mvp候補のうち、前記現在ブロックの動きベクトルとの差が最も小さい動きベクトルを有するmvp候補が前記選択されたmvp候補になることができる。前記現在ブロックの動きベクトルから前記mvpを減算した差分であるMVD(motion vector difference)が導出され得る。この場合、前記MVDに関する情報がデコード装置にシグナリングされることができる。また、(A)MVPモードが適用される場合、前記参照ピクチャインデックスの値は、参照ピクチャインデックス情報で構成されて、別に前記デコード装置にシグナリングされることができる。
【0114】
エンコード装置は、前記予測サンプルに基づいてレジデュアルサンプルを導出できる(S410)。エンコード装置は、前記現在ブロックの原本サンプルと前記予測サンプルとの比較を介して前記レジデュアルサンプルを導出できる。
【0115】
エンコード装置は、予測情報及びレジデュアル情報を含む画像情報をエンコードする(S420)。エンコード装置は、エンコードされた画像情報をビットストリーム形態で出力することができる。前記予測情報は、前記予測手順に関連した情報であって、予測モード情報(ex.skip flag、merge flag or mode index等)及び動き情報に関する情報を含むことができる。前記動き情報に関する情報は、動きベクトルを導出するための情報である候補選択情報(ex.merge index、mvp flag or mvp index)を含むことができる。また、前記動き情報に関する情報は、上述したMVDに関する情報及び/又は参照ピクチャインデックス情報を含むことができる。また、前記動き情報に関する情報は、L0予測、L1予測、または双(bi)予測が適用されるか否かを表す情報を含むことができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。
【0116】
出力されたビットストリームは、(デジタル)格納媒体に格納されてデコード装置に伝達されることができ、または、ネットワークを介してデコード装置に伝達されることもできる。
【0117】
一方、上述したように、エンコード装置は、前記参照サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャ(復元サンプル及び復元ブロックを含む)を生成できる。これは、デコード装置で行われることと同じ予測結果をエンコード装置で導出するためであり、これを通じてコーディング効率を上げることができるためである。したがって、エンコード装置は、復元ピクチャ(または、復元サンプル、復元ブロック)をメモリに格納し、インター予測のための参照ピクチャとして活用することができる。前記復元ピクチャにインループフィルタリング手順などがさらに適用され得ることは上述したとおりである。
【0118】
インター予測に基づいたビデオ/画像デコード手順は、概略的に例えば、次を含むことができる。
【0119】
図5は、インター予測に基づくビデオ/画像デコード方法の例を示す。
【0120】
図5に示すように、デコード装置は、前記エンコード装置で行われた動作と対応する動作を行うことができる。デコード装置は、受信された予測情報に基づいて現在ブロックに予測を行い、予測サンプルを導出できる。
【0121】
具体的に、デコード装置は、受信された予測情報に基づいて前記現在ブロックに対する予測モードを決定できる(S500)。デコード装置は、前記予測情報内の予測モード情報に基づいて前記現在ブロックにどのインター予測モードが適用されるか決定することができる。
【0122】
例えば、前記merge flagに基づいて前記現在ブロックに前記マージモードが適用されるか、または(A)MVPモードが決定されるかの可否を決定できる。または、前記mode indexに基づいて様々なインター予測モード候補のうち1つを選択できる。前記インター予測モード候補は、スキップモード、マージモード、及び/又は(A)MVPモードを含むことができ、または、後述する様々なインター予測モードを含むことができる。
【0123】
デコード装置は、前記決定されたインター予測モードに基づいて前記現在ブロックの動き情報を導出する(S510)。例えば、デコード装置は、前記現在ブロックにスキップモードまたはマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補のうち1つのマージ候補を選択できる。前記選択は、上述した選択情報(merge index)に基づいて行われることができる。前記選択されたマージ候補の動き情報を利用して前記現在ブロックの動き情報を導出できる。前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報として利用されることができる。
【0124】
他の例として、デコード装置は、前記現在ブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補の中で選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして利用することができる。前記選択は、上述した選択情報(mvp flag or mvp index)に基づいて行われることができる。この場合、前記MVDに関する情報に基づいて前記現在ブロックのMVDを導出でき、前記現在ブロックのmvpと前記MVDに基づいて前記現在ブロックの動きベクトルを導出できる。また、前記参照ピクチャインデックス情報に基づいて前記現在ブロックの参照ピクチャインデックスを導出できる。前記現在ブロックに関する参照ピクチャリスト内で前記参照ピクチャインデックスが指すピクチャが前記現在ブロックのインター予測のために参照される参照ピクチャとして導出されることができる。
【0125】
一方、後述するように、候補リスト構成なしに前記現在ブロックの動き情報が導出され得るし、この場合、後述する予測モードで開示された手順にしたがって前記現在ブロックの動き情報が導出され得る。この場合、上述したような候補リスト構成は省略されることができる。
【0126】
デコード装置は、前記現在ブロックの動き情報に基づいて前記現在ブロックに対する予測サンプルを生成できる(S520)。この場合、前記現在ブロックの参照ピクチャインデックスに基づいて前記参照ピクチャを導出し、前記現在ブロックの動きベクトルが前記参照ピクチャ上で指す参照ブロックのサンプルを用いて前記現在ブロックの予測サンプルを導出できる。この場合、後述するように、場合によって、前記現在ブロックの予測サンプルのうち全部または一部に対する予測サンプルフィルタリング手順がさらに行われ得る。
【0127】
例えば、デコード装置のインター予測部は、予測モード決定部、動き情報導出部、予測サンプル導出部を備えることができ、予測モード決定部で受信された予測モード情報に基づいて前記現在ブロックに対する予測モードを決定し、動き情報導出部で受信された動き情報に関する情報に基づいて前記現在ブロックの動き情報(動きベクトル及び/又は参照ピクチャインデックス等)を導出し、予測サンプル導出部で前記現在ブロックの予測サンプルを導出できる。
【0128】
デコード装置は、受信されたレジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを生成する(S530)。デコード装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャを生成できる。(S540)。その後、前記復元ピクチャにインループフィルタリング手順などがさらに適用され得ることは、上述したとおりである。
【0129】
図6は、インター予測手順を例示的に示す。
【0130】
図6を参照すれば、上述したように、インター予測手順は、インター予測モード決定ステップ、決定された予測モードによる動き情報導出ステップ、導出された動き情報に基づいた予測実行(予測サンプル生成)ステップを含むことができる。前記インター予測手順は、上述したように、エンコード装置及びデコード装置で行われることができる。本文書においてコーディング装置とは、エンコード装置及び/又はデコード装置を含むことができる。
【0131】
図6に示すように、コーディング装置は、現在ブロックに対するインター予測モードを決定する(S600)。ピクチャ内の現在ブロックの予測のために、様々なインター予測モードが使用され得る。例えば、マージモード、スキップモード、MVP(motion vector prediction)モード、アフィン(Affine)モード、サブブロックマージモード、MMVD(merge with MVD)モードなど、様々なモードが使用され得る。DMVR(Decoder side motion vector refinement)モード、AMVR(adaptive motion vector resolution)モード、Bi-prediction with CU-level weight(BCW)、Bi-directional optical flow(BDOF)などが付随的なモードとしてさらにあるいは代わりに使用されることができる。アフィンモードは、アフィン動き予測(affine motion prediction)モードと呼ばれることもできる。MVPモードは、AMVP(advanced motion vector prediction)モードと呼ばれることもできる。本文書において一部モード及び/又は一部モードによって導出された動き情報候補は、他のモードの動き情報関連候補のうち1つとして含まれることもできる。例えば、HMVP候補は、前記マージ/スキップモードのマージ候補として追加されることができ、または、前記MVPモードのmvp候補として追加されることもできる。前記HMVP候補が前記マージモードまたはスキップモードの動き情報候補として使用される場合、前記HMVP候補は、HMVPマージ候補と呼ばれることができる。
【0132】
現在ブロックのインター予測モードを指す予測モード情報がエンコード装置からデコード装置にシグナリングされることができる。前記予測モード情報は、ビットストリームに含まれて、デコード装置に受信されることができる。前記予測モード情報は、複数の候補モードのうち1つを指示するインデックス情報を含むことができる。または、フラグ情報の階層的シグナリングを介してインター予測モードを指示することもできる。この場合、前記予測モード情報は、1つ以上のフラグを含むことができる。例えば、スキップフラグをシグナリングしてスキップモード適用可否を指示し、スキップモードが適用されない場合に、マージフラグをシグナリングしてマージモード適用可否を指示し、マージモードが適用されない場合に、MVPモード適用されることと指示するか、追加的な区分のためのフラグをさらにシグナリングすることもできる。アフィンモードは、独立的なモードでシグナリングされることができ、または、マージモードまたはMVPモードなどに従属的なモードでシグナリングされることもできる。例えば、アフィンモードは、アフィンマージモード及びアフィンMVPモードを含むことができる。
【0133】
一方、現在ブロックに上述したlist0(L0)予測、list1(L1)予測、または双予測(bi-prediction)が現在ブロック(現在コーディングユニット)に使用されるか否かを表わす情報がシグナリングされ得る。前記情報は、動き予測方向情報、インター予測方向情報、またはインター予測指示情報と呼ばれることができ、例えば、inter_pred_idcシンタックス要素の形態で構成/エンコード/シグナリングされることができる。すなわち、inter_pred_idcシンタックス要素は、上述したlist0(L0)予測、list1(L1)予測、または双予測(bi-prediction)が現在ブロック(現在コーディングユニット)に使用されるか否かを表すことができる。本文書では、説明の都合上、inter_pred_idcシンタックス要素が指すインター予測タイプ(L0予測、L1予測、またはBI予測)は、動き予測方向であると表示されることができる。L0予測は、pred_L0、L1予測は、pred_L1、双予測は、pred_BIと表されることもできる。例えば、inter_pred_idcシンタックス要素の値に応じて次のような予測タイプを表すことができる。
【0134】
【表1】
【0135】
上述したように、1つのピクチャは、1つ以上のスライスを含むことができる。スライスは、I(intra)スライス、P(predictive)スライス、及びB(bi-predictive)スライスを含むスライスタイプのうち、1つのタイプを有することができる。前記スライスタイプは、スライスタイプ情報に基づいて指示されることができる。Iスライス内のブロックに対しては、予測のためにインター予測は使用されず、イントラ予測のみ使用されることができる。もちろん、この場合にも予測なしに原本サンプル値をコーディングしてシグナリングすることもできる。Pスライス内のブロックに対しては、イントラ予測またはインター予測が使用され得るし、インター予測が使用される場合には、単(uni)予測のみ使用されることができる。一方、Bスライス内のブロックに対しては、イントラ予測またはインター予測が使用され得るし、インター予測が使用される場合には、最大双(bi)予測まで使用されることができる。
【0136】
L0及びL1は、現在ピクチャより以前にエンコード/デコードされた参照ピクチャを含むことができる。例えば、L0は、POC順序上、現在ピクチャより以前及び/又は以後参照ピクチャを含むことができ、L1は、POC順序上、現在ピクチャより以後及び/又は以前参照ピクチャを含むことができる。この場合、L0には、POC順序上、現在ピクチャより以前参照ピクチャに相対的により低い参照ピクチャインデックスが割り当てられ得るし、L1には、POC順序上、現在ピクチャより以後参照ピクチャに相対的により低い参照ピクチャインデックスが割り当てられ得る。B sliceの場合、双予測が適用され得るし、この場合にも単方向双予測が適用され得るし、または、両方向双予測が適用されることができる。両方向双予測は、真(true)双予測と呼ばれることができる。
【0137】
コーディング装置は、前記現在ブロックに対する動き情報を導出する(S610)。前記動き情報導出は、前記インター予測モードに基づいて導出されることができる。
【0138】
コーディング装置は、現在ブロックの動き情報を利用してインター予測を行うことができる。エンコード装置は、動き推定(motion estimation)手順を介して現在ブロックに対する最適の動き情報を導出できる。例えば、エンコード装置は、現在ブロックに対する原本ピクチャ内の原本ブロックを用いて相関性の高い類似した参照ブロックを参照ピクチャ内の決められた探索範囲内で分数ピクセル単位で探索することができ、これを通じて動き情報を導出できる。ブロックの類似性は、位相(phase)に基づくサンプル値の差に基づいて導出することができる。例えば、ブロックの類似性は、現在ブロック(または、現在ブロックのテンプレート)と参照ブロック(または、参照ブロックのテンプレート)との間のSADに基づいて計算されることができる。この場合、探索領域内のSADが最も小さい参照ブロックに基づいて動き情報を導出できる。導出された動き情報は、インター予測モードに基づいて種々の方法によってデコード装置にシグナリングされることができる。
【0139】
コーディング装置は、前記現在ブロックに対する動き情報に基づいてインター予測を行う(S620)。コーディング装置は、前記動き情報に基づいて前記現在ブロックに対する予測サンプル(等)を導出できる。前記予測サンプルを含む現在ブロックは、予測されたブロックと呼ばれることができる。
【0140】
マージモード(merge mode)が適用される場合、現在予測ブロックの動き情報が直接的に送信されず、周辺予測ブロックの動き情報を利用して前記現在予測ブロックの動き情報を導くようになる。したがって、マージモードを用いたことを知らせるフラグ情報及び周辺のどの予測ブロックを用いたかを知らせるマージインデックスを送信することにより、現在予測ブロックの動き情報を指示できる。前記マージモードは、regular merge modeと呼ばれることができる。
【0141】
エンコーダは、マージモードを行うために、現在予測ブロックの動き情報を導くために用いられるマージ候補ブロック(merge candidate block)をサーチしなければならない。例えば、前記マージ候補ブロックは、最大5個まで用いられることができるが、本文書の実施形態は、これに限定されない。そして、前記マージ候補ブロックの最大個数は、スライスヘッダまたはタイルグループヘッダで送信されることができる。前記マージ候補ブロックを探した後、エンコーダは、マージ候補リストを生成でき、これらのうち、最も小さい費用を有するマージ候補ブロックを最終マージ候補ブロックとして選択することができる。
【0142】
前記マージ候補リストは、例えば、5個のマージ候補ブロックを用いることができる。例えば、4個の空間的マージ候補(spatial merge candidate)と1個の時間的マージ候補(temporal merge candidate)とを利用できる。以下、前記空間的マージ候補または後述する空間的MVP候補は、SMVPと呼ばれることができ、前記時間的マージ候補または後述する時間的MVP候補は、TMVPと呼ばれることができる。
【0143】
図7は、コーディングされた画像/ビデオに対する階層構造を例示的に示す。
【0144】
図7を参照すると、コーディングされた画像/ビデオは、画像/ビデオのデコード処理及びその自体を扱うVCL(video coding layer、ビデオコーディング階層)、符号化された情報を送信して格納する下位システム、及びVCLと下位システムとの間に存在してネットワーク適応機能を担当するNAL(network abstraction layer、ネットワーク抽象階層)に区分されている。
【0145】
VCLでは、圧縮された画像データ(スライスデータ)を含むVCLデータを生成し、または、ピクチャパラメータセット(Picture Parameter Set:PPS)、シーケンスパラメータセット(Sequence Parameter Set:SPS)、ビデオパラメータセット(Video Parameter Set:VPS)などの情報を含むパラメータセットまたは画像のデコード過程に付加的に必要なSEI(Supplemental Enhancement Information)メッセージを生成することができる。
【0146】
NALでは、VCLで生成されたRBSP(Raw Byte Sequence Payload)にヘッダ情報(NALユニットヘッダ)を付加してNALユニットを生成することができる。このとき、RBSPは、VCLで生成されたスライスデータ、パラメータセット、SEIメッセージなどを意味する。NALユニットヘッダには該当NALユニットに含まれるRBSPデータによって特定されるNALユニットタイプ情報を含むことができる。
【0147】
前記図面に示すように、NALユニットは、VCLで生成されたRBSPのよってVCL NALユニットとNon-VCL NALユニットとに区分されることができる。VCL NALユニットは、画像に対する情報(スライスデータ)を含んでいるNALユニットを意味することができ、Non-VCL NALユニットは、画像をデコードするために必要な情報(パラメータセットまたはSEIメッセージ)を含んでいるNALユニットを意味することができる。
【0148】
前述したVCL NALユニット、Non-VCL NALユニットは、下位システムのデータ規格によってヘッダ情報を付けてネットワークを介して送信されることができる。例えば、NALユニットは、H.266/VVCファイルフォーマット、RTP(Real-time Transport Protocol)、TS(Transport Stream)などのような所定規格のデータ形態で変形されて様々なネットワークを介して送信されることができる。
【0149】
前述したように、NALユニットは、該当NALユニットに含まれるRBSPデータ構造(structure)によってNALユニットタイプが特定されることができ、このようなNALユニットタイプに対する情報は、NALユニットヘッダに格納されてシグナリングされることができる。
【0150】
例えば、NALユニットが画像に対する情報(スライスデータ)を含むかどうかによって、大別して、VCL NALユニットタイプとNon-VCL NALユニットタイプとに分類されることができる。VCL NALユニットタイプは、VCL NALユニットが含むピクチャの性質及び種類などによって分類されることができ、Non-VCL NALユニットタイプは、パラメータセットの種類などによって分類されることができる。
【0151】
下記は、Non-VCL NALユニットタイプが含むパラメータセットの種類などによって特定されたNALユニットタイプの一例としてある。
【0152】
-APS(Adaptation Parameter Set)NAL unit:APSを含むNALユニットに対するタイプ
【0153】
-DPS(Decoding Parameter Set)NAL unit:DPSを含むNALユニットに対するタイプ
【0154】
-VPS(Video Parameter Set)NAL unit:VPSを含むNALユニットに対するタイプ
【0155】
-SPS(Sequence Parameter Set)NAL unit:SPSを含むNALユニットに対するタイプ
【0156】
-PPS(Picture Parameter Set)NAL unit:PPSを含むNALユニットに対するタイプ
【0157】
-PH(Picture header)NAL unit:PHを含むNALユニットに対するタイプ
【0158】
前述したNALユニットタイプは、NALユニットタイプのためのシンタックス情報を有し、前記シンタックス情報は、NALユニットヘッダに格納されてシグナリングされることができる。例えば、前記シンタックス情報は、nal_unit_typeであり、NALユニットタイプは、nal_unit_type値に特定されることができる。
【0159】
一方、前述したように、1つのピクチャは、複数のスライスを含むことができ、1つのスライスは、スライスヘッダ及びスライスデータを含むことができる。この場合、1つのピクチャ内の複数のスライス(スライスヘッダ及びスライスデータ集合)に対して1つのピクチャヘッダがさらに付加されることができる。前記ピクチャヘッダ(ピクチャヘッダシンタックス)は、前記ピクチャに共通的に適用できる情報/パラメータを含むことができる。本文書において、スライスは、タイルグループに混用または代替されることができる。また、本文書において、スライスヘッダは、タイプグループヘッダに混用または代替されることができる。
【0160】
前記スライスヘッダ(スライスヘッダシンタックス)は、前記スライスに共通的に適用できる情報/パラメータを含むことができる。前記APS(APSシンタックス)またはPPS(PPSシンタックス)は、1つ以上のスライスまたはピクチャに共通的に適用できる情報/パラメータを含むことができる。前記SPS(SPSシンタックス)は、1つ以上のシーケンスに共通的に適用できる情報/パラメータを含むことができる。前記VPS(VPSシンタックス)は、多重レイヤに共通的に適用できる情報/パラメータを含むことができる。前記DPS(DPSシンタックス)は、ビデオ全般に共通的に適用できる情報/パラメータを含むことができる。前記DPSは、CVS(coded video sequence)の接合(concatenation)に関連した情報/パラメータを含むことができる。本文書において、上位レベルシンタックス(High level syntax、HLS)とは、前記APSシンタックス、PPSシンタックス、SPSシンタックス、VPSシンタックス、DPSシンタックス、ピクチャヘッダシンタックス、スライスヘッダシンタックスのうち少なくとも1つを含むことができる。
【0161】
本文書において、エンコード装置からデコード装置にエンコードされてビットストリーム形態でシグナリングされる画像/ビデオ情報は、ピクチャ内のパーティショニング関連情報、イントラ/インター予測情報、レジデュアル情報、インループフィルタリング情報などを含むだけでなく、前記スライスヘッダに含まれている情報、前記ピクチャヘッダに含まれている情報、前記APSに含まれている情報、前記PPSに含まれている情報、SPSに含まれている情報、VPSに含まれている情報、及び/またはDPSに含まれている情報を含むことができる。また、前記画像/ビデオ情報は、NALユニットヘッダの情報をさらに含むことができる。
【0162】
一方、量子化など、圧縮符号化過程で発生するエラーによる原本(original)画像と復元画像の差異を補償するために、前述したように、復元サンプルまたは復元ピクチャにインループフィルタリング手順が実行されることができる。前述したように、インループフィルタリングは、エンコード装置のフィルタ部及びデコード装置のフィルタ部で実行されることができ、デブロッキングフィルタ、SAO及び/または適応的ループフィルタ(ALF)が適用されることができる。例えば、ALF手順は、デブロッキングフィルタリング手順及び/またはSAO手順が完了した後に実行されることができる。ただし、この場合も、デブロッキングフィルタリング手順及び/またはSAO手順が省略されることもできる。
【0163】
一方、コーディング効率を上げるために、前述したように、LMCS(luma mapping with chroma scaling)が適用されることができる。LMCSは、ループリシェイパ(リシェイピング)と呼ばれることができる。コーディング効率を上げるために、LMCSの制御及び/またはLMCS関連情報のシグナリングは、階層的に実行されることができる。
【0164】
図8は、本文書の一実施形態によるCVSの階層的な構造を例示的に示す。CVS(coded video suquence)は、SPS(sequence parameter set)、PPS(picture parameter set)、タイルグループヘッダ(tile group header)、タイルデータ(tile data)、及び/またはCTU(ら)を含むことができる。ここで、タイルグループヘッダ及びタイルデータは、各々、スライスヘッダ及びスライスデータと呼ばれることもできる。
【0165】
SPSは、CVSで使われるようにツールをイネイブルさせるためのフラグを原始的に含むことができる。また、SPSは、ピクチャ毎に変わるパラメータに対する情報を含むPPSにより参照されることができる。符号化されたピクチャの各々は、1つ以上の符号化された長方形ドメインのタイルを含むことができる。前記タイルは、タイルグループを形成するラスタースキャンでグループ化されることができる。各タイルグループは、タイルグループヘッダというヘッダ情報でカプセル化される。各タイルは、符号化されたデータを含むCTUで構成される。ここで、データは、原本サンプル値、予測サンプル値、及びそれのルマ及びクロマ成分(ルマ予測サンプル値及びクロマ予測サンプル値)を含むことができる。
【0166】
図9は、本文書の一実施形態による例示的なLMCS構造を示す。図9のLMCS構造900は、適応的部分線形(adaptive piecewise linear、adaptive PWL)モデルに基づくルマ成分のインループマッピング(in-loop mapping)部分910と、クロマ成分に対してルマ依存的なクロマレジデュアルスケーリング(luma-dependent chroma residual scaling)部分920と、を含むことができる。インループマッピング部分910の逆量子化及び逆変換911、復元912、及びイントラ予測913ブロックは、マッピングされた(リシェイプされた(reshaped))ドメインで適用されるプロセスを示す。インループマッピング部分910のループフィルタ915、動き補償またはインター予測917ブロック、及びクロマレジデュアルスケーリング部分920の復元922、イントラ予測923、動き補償またはインター予測924、ループフィルタ925ブロックは、本来の(マッピングされない(non-mapped)、リシェイプされない)ドメインで適用されるプロセスを示す。
【0167】
図9で説明したように、LMCSがイネイブルされると、インバースリシェイピング(マッピング)プロセス914、フォワードリシェイピング(マッピング)プロセス918、及びクロマスケーリングプロセス921のうち少なくとも1つが適用されることができる。例えば、インバースリシェイピングプロセスは、復元されたピクチャの(復元された)ルマサンプル(または、ルマサンプルまたはルマサンプルアレイ)に適用されることができる。インバースリシェイピングプロセスは、ルマサンプルのピースワイズ関数(インバース)インデックス(piecewise function(inverse)index)に基づいて実行されることができる。ピースワイズ関数(インバース)インデックスは、ルマサンプルが属するピース(または、部分)を識別することができる。インバースリシェイピングプロセスの出力は、修正された(復元)ルマサンプル(または、修正されたルマサンプルまたは修正されたルマサンプルアレイ)である。LMCSは、タイルグループ(または、スライス)、ピクチャまたはより高いレベルでイネイブルされ、またはデセイブルされることができる。
【0168】
フォワードリシェイピングプロセス及び/またはクロマスケーリングプロセスは、復元されたピクチャを生成するために適用されることができる。ピクチャは、ルマサンプルとクロマサンプルを含むことができる。ルマサンプルを有する復元されたピクチャは、復元されたルマピクチャと呼ばれることができ、クロマサンプルを有する復元されたピクチャは、復元されたクロマピクチャと呼ばれることができる。復元されたルマピクチャと復元されたクロマピクチャとの組み合わせは、復元されたピクチャと呼ばれることができる。復元されたルマピクチャは、フォワードリシェイピングプロセスに基づいて生成されることができる。例えば、インター予測が現在ブロックに適用される場合、フォワードリシェイピングは、参照ピクチャの(復元された)ルマサンプルに基づいて導出されたルマ予測サンプルに適用される。参照ピクチャの(復元された)ルマサンプルは、インバースリシェイピングプロセスに基づいて生成されるため、フォワードリシェイピングがルマ予測サンプルに適用されてリシェイプされた(マッピングされた)ルマ予測サンプルが導出されることができる。フォワードリシェイピングプロセスは、ルマ予測サンプルのピースワイズ関数インデックスに基づいて実行されることができる。ピースワイズ関数インデックスは、インター予測に使われた参照ピクチャのルマ予測サンプルの値またはルマサンプルの値に基づいて導出されることができる。イントラ予測(または、IBC(intra block copy))が現在ブロックに適用される場合、インバースリシェイピングプロセスが現在ピクチャの復元されたサンプルにまだ適用されなかったため、フォワードマッピングは必要でない。復元されたルマピクチャで(復元された)ルマサンプルは、リシェイプされたルマ予測サンプル及び対応するルマレジデュアルサンプルに基づいて生成される。
【0169】
復元されたクロマピクチャは、クロマスケーリングプロセスに基づいて生成されることができる。例えば、復元されたクロマピクチャでの(復元された)クロマサンプルは、現在ブロックでのクロマ予測サンプル及びクロマレジデュアルサンプル(cres)に基づいて導出されることができる。クロマレジデュアルサンプル(cres)は、現在ブロックに対する(スケーリングされた)クロマレジデュアルサンプル(cresScale)及びクロマレジデュアルスケーリングファクタ(cScaleInvは、varScaleと呼ばれることができる)に基づいて導出される。クロマレジデュアルスケーリングファクタは、現在ブロックでリシェイプされたルマ予測サンプル値に基づいて計算されることができる。例えば、スケーリングファクタは、リシェイプされたルマ予測サンプル値(Y′pred)の平均ルマ値(ave(Y′pred))に基づいて計算されることができる。参考までに、図9において、逆変換/逆量子化に基づいて導出された(スケーリングされた)クロマレジデュアルサンプルは、cresScaleと呼ばれ、前記(スケーリングされた)クロマレジデュアルサンプルに(インバース)スケーリング手順を実行して導出されるクロマレジデュアルサンプルは、cresと呼ばれることができる。
【0170】
図10は、本文書の他の一実施形態によるLMCS構造を示す。図10は、図9を参照して説明する。ここでは、図10のLMCS構造と図9のLMCS構造900との間の差異を主に説明する。図10のインループマッピング部分及びルマ依存的なクロマレジデュアルスケーリング部分は、図9のインループマッピング部分910及びルマ依存的なクロマレジデュアルスケーリング部分920と同一/類似するように動作できる。
【0171】
図10を参照すると、ルマ復元サンプルに基づいてクロマレジデュアルスケーリングファクタを導出することができる。この場合、復元ブロックの内部ルマ復元サンプルでない復元ブロック外部の隣接ルマ復元サンプルに基づいて平均ルマ値(avgY)を取得することができ、前記平均ルマ値(avgY)に基づいてクロマレジデュアルスケーリングファクタを導出することができる。ここで、前記隣接ルマ復元サンプルは、現在ブロックの隣接ルマ復元サンプルであり、または前記現在ブロックを含むVPDU(virtual pipeline data units)の隣接ルマ復元サンプルである。例えば、対象ブロックにイントラ予測が適用される場合、前記イントラ予測に基づいて導出された予測サンプルに基づいて、復元サンプルが導出されることができる。また、例えば、前記対象ブロックにインター予測が適用される場合、前記インター予測に基づいて導出された予測サンプルにフォワードマッピングを適用し、リシェイプされた(または、フォワードマッピングされた)ルマ予測サンプルに基づいて復元サンプルが生成されることができる。
【0172】
ビットストリームを介してシグナリングされる動画/画像情報は、LMCSパラメータ(LMCSに対する情報)を含むことができる。LMCSパラメータは、HLS(high level syntax、スライスヘッダシンタックスを含む)などで構成されることができる。LMCSパラメータ及び構成の詳細な説明は、後述する。前述したように、本文書(及び、以下の実施形態)で説明されたシンタックス表は、エンコーダ端で構成/エンコードされることができ、ビットストリームを介してデコーダ端にシグナリングされることができる。デコーダは、シンタックス表でLMCSに対する情報(シンタックス構成要素の形態で)をパーシング/デコードすることができる。以下で説明する1つ以上の実施形態は、組み合わせ可能である。エンコーダは、LMCSに関する情報に基づいて現在ピクチャをエンコードすることができ、そして、デコーダは、LMCSに関する情報に基づいて現在ピクチャをデコードすることができる。
【0173】
ルマ成分のインループマッピングは、圧縮効率を向上させるために動的範囲にわたってコードワードを再分配することによって入力信号の動的範囲を調節することができる。ルママッピングのために、フォワードマッピング(リシェイピング)関数(FwdMap)と、前記フォワードマッピング関数(FwdMap)に対応するインバースマッピング(リシェイピング)関数(InvMap)と、が使われることができる。フォワードマッピング関数(FwdMap)は、部分線形モデルを利用してシグナリングされることができ、例えば、部分線形モデルは、16個のピース(pieces)またはbinsを有することができる。前記ピースは、同じ長さを有することができる。一例において、インバースマッピング関数(InvMap)は、別途にシグナリングされなく、その代わりにフォワードマッピング関数(FwdMap)から導出されることができる。即ち、インバースマッピングは、フォワードマッピングの関数である。例えば、インバースマッピング関数は、y=xを基準にしてフォワードマッピング関数を対称にした関数である。
【0174】
インループ(ルマ)リシェイピング(reshaping)は、リシェイプされたドメインで入力ルマ値(サンプル)を変更された値でマッピングするのに使われることができる。リシェイプされた値は符号化され、そして、復元後に本来の(マッピングされない、リシェイプされない)ドメインで再びマッピングされることができる。クロマレジデュアルスケーリングは、ルマ信号とクロマ信号との間の差異を補償するために適用されることができる。インループリシェイピングは、リシェイパモデルのためのハイレバルシンタックスを指定して実行されることができる。リシェイパモデルシンタックスは、部分線形モデル(PWLモデル)をシグナリングすることができる。部分線形モデルに基づいてフォワードルックアップテーブル(FwdLUT)及び/またはインバースルックアップテーブル(InvLUT)が導出されることができる。一例として、フォワードルックアップテーブル(FwdLUT)が導出された場合、フォワードルックアップテーブル(FwdLUT)に基づいてインバースルックアップテーブル(InvLUT)が導出されることができる。フォワードルックアップテーブル(FwdLUT)は、入力ルマ値Yを変更された値Yでマッピングし、インバースルックアップテーブル(InvLUT)は、変更された値に基づく復元値Yを復元された値Y′でマッピングすることができる。復元された値Y′は、入力ルマ値Yに基づいて導出されることができる。
【0175】
一例において、SPSは、以下の表2のシンタックスを含むことができる。表2のシンタックスは、ツールイネイブリングフラグとしてsps_reshaper_enabled_flagを含むことができる。ここで、sps_reshaper_enabled_flagは、リシェイパがCVS(coded video sequence)で使われるかを指定するのに利用されることができる。即ち、sps_reshaper_enabled_flagは、SPSでリシェイピングをイネイブリングするフラグである。一例において、表2のシンタックスは、SPSの一部分である。
【0176】
【表2】
【0177】
一例において、sps_seq_parameter_set_id及びsps_reshaper_enabled_flagが示されることができるセマンティクスは、以下の表3の通りである。
【0178】
【表3】
【0179】
一例において、タイルグループヘッダまたはスライスヘッダは、以下の表4または表5のシンタックスを含むことができる。
【0180】
【表4】
【0181】
【表5】
【0182】
前記表4または表5のシンタックスに含まれているシンタックス要素のセマンティクスは、例えば、以下の表に開示された事項を含むことができる。
【0183】
【表6】
【0184】
【表7】
【0185】
一例として、sps_reshaper_enabled_flagがパーシングされると、タイルグループヘッダは、ルックアップテーブル(FwdLUT及び/またはInvLUT)を構成するのに使われる追加的なデータ(例えば、前記表6または表7に含まれている情報)をパーシングすることができる。このために、SPSリシェイパフラグの状態がスライスヘッダまたはタイルグループヘッダで確認されることができる。sps_reshaper_enabled_flagが真(または、1)である場合、追加的なフラグ、tile_group_reshaper_model_present_flag(または、slice_reshaper_model_present_flag)がパーシングされることができる。tile_group_reshaper_model_present_flag(または、slice_reshaper_model_present_flag)の目的は、リシェイパモデルの存在を指示することにある。例えば、tile_group_reshaper_model_present_flag(または、slice_reshaper_model_present_flag)が真(または、1)である場合、現在タイルグループ(または、現在スライス)に対してリシェイパが存在すると指示されることができる。tile_group_reshaper_model_present_flag(または、slice_reshaper_model_present_flag)が偽(または、0)である場合、現在タイルグループ(または、現在スライス)に対してリシェイパが存在しないと指示されることができる。
【0186】
リシェイパが存在し、そして、リシェイパが現在タイルグループ(または、現在スライス)でイネイブルされた場合、リシェイパモデル(例えば、tile_group_reshaper_model()またはslice_reshaper_model())はプロセシングされることができ、これに加えて追加的なフラグ、tile_group_reshaper_enable_flag(または、slice_reshaper_enable_flag)もパーシングされることができる。tile_group_reshaper_enable_flag(または、slice_reshaper_enable_flag)は、リシェイパモデルが現在タイルグループ(または、スライス)に使われたかを指示することができる。例えば、tile_group_reshaper_enable_flag(または、slice_reshaper_enable_flag)が0(または、偽)である場合、リシェイパモデルは、現在タイルグループ(または、現在スライス)に使われないと指示されることができる。tile_group_reshaper_enable_flag(または、slice_reshaper_enable_flag)が1(または、真)である場合、リシェイパモデルは、現在タイルグループ(または、スライス)に使われたと指示されることができる。
【0187】
一例として、例えば、tile_group_reshaper_model_present_flag(または、slice_reshaper_model_present_flag)が真(または、1)であり、tile_group_reshaper_enable_flag(または、slice_reshaper_enable_flag)が偽(または、0)である。これは、リシェイパモデルが存在するが、現在タイルグループ(または、スライス)で使われていないことを意味する。このような場合、リシェイパモデルは、次のタイルグループ(または、スライス)で使われることができる。他の例として、tile_group_reshaper_enable_flagが真(または、1)であり、tile_group_reshaper_model_present_flagが偽(または、0)である。
【0188】
リシェイパモデル(例えば、tile_group_reshaper_model()またはslice_reshaper_model())及びtile_group_reshaper_enable_flag(または、slice_reshaper_enable_flag)がパーシングされると、クロマスケーリングのために必要な条件が存在するかどうかが判断(評価)されることができる。前記条件は、条件1(現在タイルグループ/スライスがイントラ符号化されなかったこと)及び/または条件2(現在タイルグループ/スライスがルマ及びクロマに対する二つの区分されたコーディングクアッドツリー構造に分割されなかったこと、即ち、現在タイルグループ/スライスがデュアルツリー構造でないこと)を含むことができる。条件1及び/または条件2が真であり、及び/またはtile_group_reshaper_enable_flag(または、slice_reshaper_enable_flag)が真(または、1)である場合、tile_group_reshaper_chroma_residual_scale_flag(または、slice_reshaper_chroma_residual_scale_flag)がパーシングされることができる。tile_group_reshaper_chroma_residual_scale_flag(または、slice_reshaper_chroma_residual_scale_flag)がイネイブルされる場合(1または真である場合)、現在タイルグループ(または、スライス)に対してクロマレジデュアルスケーリングがイネイブルされることが指示されることができる。tile_group_reshaper_chroma_residual_scale_flag(または、slice_reshaper_chroma_residual_scale_flag)がデセイブルされる場合(0または偽である場合)、現在タイルグループ(または、スライス)に対してクロマレジデュアルスケーリングがデセイブルされることが指示されることができる。
【0189】
前述されたリシェイピングの目的は、ルックアップテーブル(FwdLUT及び/またはInvLUT)を構成するために必要なデータをパーシングすることにある。一例において、前記パーシングされたデータに基づいて構成されたルックアップテーブルは、許容可能なルマ値範囲の分布を複数個のbin(例えば、16個)に分けることができる。したがって、与えられたbin内にあるルマ値は、変更されたルマ値にマッピングされることができる。
【0190】
図11は、例示的なフォワードマッピングを示すグラフを示す。図8では例示的に5個のbinのみが示される。
【0191】
図11を参照すると、x軸は入力ルマ値を示し、y軸は変更された出力ルマ値を示す。x軸は、5個のbinまたはピースに分けられ、各binは、長さLを有する。即ち、変更されたルマ値にマッピングされた5個のbinは、互いに同じ長さを有する。フォワードルックアップテーブル(FwdLUT)は、タイルグループヘッダで利用可能なデータ(例えば、リシェイパデータ)を使用して構成されることができ、これからマッピングが容易になる。
【0192】
一実施形態において、前記binインデックスと関連した出力ピボット地点(output pivot points)が計算されることができる。出力ピボット地点は、ルマコードワードリシェイピングの出力範囲の最小及び最大の境界を設定(マーキング)することができる。出力ピボット地点を計算する過程は、コードワードの数の部分累積(piecewise cumulative)分布関数に基づいて実行されることができる。前記出力ピボット範囲は、使われるbinの最大個数及びルックアップテーブル(FwdLUTまたはInvLUT)の大きさに基づいて分割されることができる。一例として、前記出力ピボット範囲は、binの最大個数とルックアップテーブルの大きさとの積に基づいて分割されることができる。例えば、binの最大個数とルックアップテーブルの大きさとの積が1024である場合、前記出力ピボット範囲は、1024個のエントリーに分割されることができる。前記出力ピボット範囲の分割は、スケーリングファクタに基づいて(利用して)実行(適用または達成)されることができる。一例において、スケーリングファクタは、以下の数式1に基づいて導出されることができる。
【0193】
【数1】
【0194】
前記数式1において、SFは、スケーリングファクタを示し、y1及びy2は、各々のbinに対応する出力ピボット地点を示す。また、FP_PREC及びcは、事前に決定された定数である。前記数式1に基づいて決定されるスケーリングファクタは、フォワードリシェイピングのためのスケーリングファクタと呼ばれることができる。
【0195】
他の実施形態において、インバースリシェイピング(インバースマッピング)と関連して、binの定義された範囲(例えば、reshaper_model_min_bin_idxからreshape_model_max_bin_idxまで)に対し、フォワードルックアップテーブル(FwdLUT)のマッピングされたピボット地点に対応する入力リシェイプされたピボット地点及びマッピングされたインバース出力ピボット地点(binインデックス*初期コードワードの数で与えられる)がパッチされる。他の例において、スケーリングファクタ(SF)は、以下の数式2に基づいて導出されることができる。
【0196】
【数2】
【0197】
前記数式2において、SFは、スケーリングファクタを示し、x1及びx2は、入力ピボット地点を示し、y1及びy2は、各々のピース(bin)に対応する出力ピボット地点を示す。ここで、入力ピボット地点は、フォワードルックアップテーブル(FwdLUT)に基づいてマッピングされたピボット地点であり、そして、出力ピボット地点は、インバースルックアップテーブル(InvLUT)に基づいてインバースマッピングされたピボット地点である。また、FP_PRECは、事前に決定された定数である。数式2のFP_PRECは、数式1のFP_PRECと同じであってもよく、異なってもよい。前記数式2に基づいて決定されるスケーリングファクタは、インバースリシェイピングのためのスケーリングファクタと呼ばれることができる。インバースリシェイピング途中に、数式2のスケーリングファクタに基づいて入力ピボット地点の分割が実行されることができる。分割された入力ピボット地点に基づいて、0から最小binインデックス(reshaper_model_min_bin_idx)まで及び/または最小binインデックス(reshaper_model_min_bin_idx)から最大binインデックス(reshape_model_max_bin_idx)までの範囲に属するbinインデックスのために、最小及び最大のbin値に対応するピボット値が指定される。
【0198】
以下の表8は、一実施形態によるリシェイパモデルのシンタックスを示す。前記リシェイパモデルは、LMCSモデルと呼ばれることができる。ここで、リシェイパモデルは、例示的にタイルグループリシェイパとして説明されたが、必ず本実施形態により本明細書が制限されるものではない。例えば、前記リシェイパモデルは、APSに含まれることもでき、またはタイルグループリシェイパモデルは、スライスリシェイパモデルまたはLMCSデータと呼ばれることもできる。また、接頭語(prefix)reshaper_modelまたはRspは、lmcsと混用されて使われることができる。例えば、以下の表及び以下の説明において、reshaper_model_min_bin_idx、reshaper_model_delta_max_bin_idx、reshaper_model_max_bin_idx、RspCW、RsepDeltaCWは、各々、lmcs_min_bin_idx、lmcs_delta_max_bin_idx、lmcs_max_bin_idx、lmcsCW、lmcsDeltaCWと混用されて使われることができる。
【0199】
【表8】
【0200】
前記表8のシンタックスに含まれているシンタックス要素のセマンティクスは、例えば、以下の表に開示された事項を含むことができる。
【0201】
【表9-1】
【0202】
【表9-2】
【0203】
本文書によるルマサンプルに対するインバースマッピング手順は、以下の表のような標準文書形式に記述されることができる。
【0204】
【表10】
【0205】
本文書によるルマサンプルに対するピースワイズ関数インデックス(piecewise function index)手順の識別は、以下の表のような標準文書形式に記述されることができる。表11において、idxYInvは、インバースマッピングインデックスと呼ばれることができ、インバースマッピングインデックスは、復元ルマサンプル(lumaSample)に基づいて導出されることができる。
【0206】
【表11】
【0207】
前述された実施形態及び例示に基づいてルママッピングが実行されることができ、前述されたシンタックス及びそれに含まれている構成要素は、単に例示的な表現に過ぎず、実施形態が詳述された表や数式により制限されるものではない。以下ではルママッピングに基づいてクロマレジデュアルスケーリング(レジデュアルサンプルのクロマ成分に対するスケーリング)を実行する方法を説明する。
【0208】
(ルマ依存的な(luma-dependent))クロマレジデュアルスケーリングは、ルマサンプルとこれに対応するクロマサンプルとの間の差異を補償するためである。例えば、クロマレジデュアルスケーリングがイネイブルされるかどうかは、タイルグループレベルまたはスライスグループレベルでシグナリングされることができる。一例において、ルママッピングがイネイブルされ、デュアルツリー分割(dual tree partitioning)が現在タイルグループに適用されない場合、ルマ依存的なクロマレジデュアルスケーリングがイネイブルされるかどうかを指示するために追加的なフラグがシグナリングされることができる。他の例において、ルママッピングが使われない場合、またはデュアルツリー分割が現在タイルグループに使われない場合、ルマ依存的なクロマレジデュアルスケーリングがデセイブルされることができる。他の例において、クロマレジデュアルスケーリングは、4より小さいまたは同じ大きさを有するクロマブロックに対しては常にデセイブルされることができる。
【0209】
クロマレジデュアルスケーリングは、該当ルマ予測ブロック(イントラ予測モード及び/またはインター予測モードが適用された予測ブロックのルマ成分)の平均値に基づいて行われることができる。エンコーダ端及び/またはデコーダ端でのスケーリング演算は、以下の数式3に基づいて固定小数点定数演算で実現されることができる。
【0210】
【数3】
【0211】
前述された数式3において、c’は、スケーリングされたクロマレジデュアルサンプル(レジデュアルサンプルのスケーリングされたクロマ成分)を示し、cは、クロマレジデュアルサンプル(レジデュアルサンプルのクロマ成分)を示し、sは、クロマレジデュアルスケーリングファクタを示し、CSCALE_FP_PRECは、事前に決定された定数を示すことができ、例えば、CSCALE_FP_PRECは、11である。
【0212】
図12は、本文書の一実施形態によってクロマレジデュアルスケーリングインデックスを導出する方法を示す流れ図である。図12と共に説明される方法は、図9及びそれと関連した説明に含まれている表、数式、変数、アレイ、関数に基づいて実行されることができる。
【0213】
S1210ステップにおいて、予測モード情報に基づいて予測モードがイントラ予測モードであるか、または、インター予測モードであるかが判断されることができる。予測モードがイントラ予測モードである場合、現在ブロックまたは現在ブロックの予測サンプルは、既にリシェイプされた(マッピングされた)領域にあると見なされる。予測モードがインター予測モードである場合、現在ブロックまたは現在ブロックの予測サンプルは、本来の(マッピングされない、リシェイプされない)領域にあると見なされる。
【0214】
S1220ステップにおいて、予測モードがイントラ予測モードである場合、現在ブロック(または、現在ブロックのルマ予測サンプル)の平均が計算(導出)されることができる。即ち、既にリシェイプされた領域にある現在ブロックの平均が直接的に計算される。平均は、平均値とも呼ばれる。
【0215】
S1221ステップにおいて、予測モードがインター予測モードである場合、現在ブロックのルマ予測サンプルに対してフォワードリシェイピング(フォワードマッピング)が実行(適用)されることができる。フォワードリシェイピングを介して、インター予測モードに基づくルマ予測サンプルは、本来の領域からリシェイプされた領域にマッピングされることができる。一例において、ルマ予測サンプルに対するフォワードリシェイピングは、前述した表4と共に説明されたリシェイパモデルに基づいて実行されることができる。
【0216】
S1222ステップにおいて、フォワードリシェイプされた(フォワードマッピングされた)ルマ予測サンプルの平均が計算(導出)されることができる。即ち、フォワードリシェイプされた結果に対して平均化過程が実行されることができる。
【0217】
S1230ステップにおいて、クロマレジデュアルスケーリングインデックスが計算されることができる。予測モードがイントラ予測モードである場合、前記ルマ予測サンプルの平均に基づいて前記クロマレジデュアルスケーリングインデックスが計算されることができる。予測モードがインター予測モードである場合、フォワードリシェイプされたルマ予測サンプルの平均に基づいて前記クロマレジデュアルスケーリングインデックスが計算されることができる。
【0218】
一実施形態において、前記クロマレジデュアルスケーリングインデックスは、forループ構文に基づいて計算されることができる。以下の表は、前記クロマレジデュアルスケーリングインデックスの導出(計算)のための例示的なforループ構文を示す。
【0219】
【表12】
【0220】
前記表12において、idxSは、前記クロマレジデュアルスケーリングインデックスを示し、idxSは、if構文の条件を満たすクロマレジデュアルスケーリングインデックスが求められたかを識別するインデックスを示し、Sは、事前に決定された定数を示し、そして、MaxBinIdxは、許容可能な最大binインデックスを示す。ReshapPivot[idxS+1]は、前述した表8及び/または表9に基づいて導出されることができる。
【0221】
一実施形態において、クロマレジデュアルスケーリングファクタは、前記クロマレジデュアルスケーリングインデックスに基づいて導出されることができる。以下の数式4は、前記クロマレジデュアルスケーリングファクタの導出のための一例としてある。
【0222】
【数4】
【0223】
前記数式4において、sは、前記クロマレジデュアルスケーリングファクタを示し、そして、ChromaScaleCoefは、前述した表8及び/または表9に基づいて導出された変数(または、アレイ)である。
【0224】
前述したように、前記参照サンプルの平均ルマ値を取得することができ、前記平均ルマ値に基づいてクロマレジデュアルスケーリングファクタを導出することができる。前記クロマレジデュアルスケーリングファクタに基づいてクロマ成分レジデュアルサンプルに対するスケーリングを実行し、スケーリングされたクロマ成分レジデュアルサンプルに基づいてクロマ成分復元サンプルが生成されることができることは、前述の通りである。
【0225】
本文書の一実施形態では、前述したLMCSを効率的に適用するためのシグナリング構造が提案される。本文書の一実施形態によると、例えば、LMCSデータは、HLS(例えば、APS)に含まれることができ、APSの下位レベルであるヘッダ情報(例えば、ピクチャヘッダ、スライスヘッダ)を介して、参照されるAPS IDをシグナリングすることでLMCSモデル(リシェイパモデル)を適応的に導出することができる。前記LMCSモデルは、LMCSパラメータに基づいて導出されることができる。また、例えば、前記ヘッダ情報を介して複数のAPS IDがシグナリングされることができ、これを介して同一ピクチャ/スライス内のブロック単位で互いに異なるLMCSモデルを適用することができる。
【0226】
本文書による一実施形態ではLMCSに必要な演算を効率的に実行する方法が提案される。表9で詳述されたセマンティクスによると、InvScaleCoeff[i]の導出のためにピース長さ(piece length)lmcsCW[i]による割り算演算が要求される。ただし、前記ピース長さが2の累乗(power of 2)でない場合、前記割り算演算は、ビットシフティングで実行されることができない。
【0227】
例えば、InvScaleCoeffの計算は、1つのスライス当たり最大16回の割り算演算が必要である。前述した表8によると、10ビットコーディングの場合、lmcsCW[i]の範囲は、8から511までであるため、LUTを使用してlmcsCW[i]による割り算演算を実現するためには、LUTのサイズが504にならなければならない。また、12ビットコーディングの場合、lmcsCW[i]の範囲は、32から2047までであるため、LUTを使用してlmcsCW[i]による割り算演算を実現するためには、LUT大きさが2016にならなければならない。即ち、割り算演算は、ハードウェア実現において相当な費用がかかることができ、したがって、割り算演算は、可能ならば省略される方がよい。
【0228】
本実施形態の一観点で、lmcsCW[i]を固定された数(または、事前に決定された数または所定の数(pre-defined number or pre-determined number))の倍数に制限できる。それによって、割り算演算のためのLUT(lookup table)が(LUTの容量または大きさが)減少されることができる。例えば、lmcsCW[i]が2の倍数である場合、割り算演算を代替するためのLUTの大きさが半分に減ることができる。
【0229】
本実施形態の他の観点で、高いインターナルビット深度コーディングが提案される。高いインターナルビット深度コーディングは、lmcsCW[i]の範囲制限の上位条件である。例えば、コーディングビット深度が10より高い場合、lmcsCW[i]は、1<<(BitDepthY-10)の倍数に制限されることができる。ここで、BitDepthYは、ルマビット深度である。それによって、lmcsCW[i]の可能な値は、コーディングビット深度によって変わらないようになり、したがって、前記InvScaleCoeff計算のためのLUTのサイズは、コーディングビット深度が高いとしても増加しなくなる。一例において、12ビットインターナルコーディングビット深度に対して、lmcsCW[i]の値は、4の倍数に制限されることができ、それによって、割り算演算を代替するためのLUTのサイズは、10ビットコーディングのために使われるLUTのサイズと同じである。本観点は、単独でも実施可能であるが、前述された観点と組み合わせられて実施されることもできる。
【0230】
本実施形態の他の観点で、lmcsCW[i]をより狭い範囲に制限することができる。例えば、lmcsCW[i]は、(OrgCW>>1)から(OrgCW<<1)-1までの範囲内に制限されることができる。10ビットコーディングの場合、lmcsCW[i]の範囲は[32、127]であり、96のサイズを有するLUTのみでもInvScaleCoeffを計算することができる。
【0231】
本実施形態の他の観点で、lmcsCW[i]を2の累乗に近接する数値に近似してリシェイパの設計に使用することができる。それによって、インバースマッピング手順での割り算演算は、ビットシフティングで実行されることができる(代替されることができる)。
【0232】
本文書による一実施形態ではLMCSコードワード範囲の制限が提案される。前述した表9によると、LMCSコードワードの値は、(OrgCW>>3)から(OrgCW<<3)-1までの範囲内にある。LMCSピース長さの広い範囲によって、RspCW[i]とOrgCWとの間の大きい差が発生する場合、視覚的劣化の恐れがある。
【0233】
本文書による一実施形態によると、LMCS PWLマッピングのコードワードを狭い範囲に制限することが提案される。例えば、lmcsCW[i]の範囲は、(OrgCW>>1)から(OrgCW<<1)-1までの範囲にある。
【0234】
本文書による一実施形態では、LMCSでのクロマレジデュアルスケーリングのために単一クロマレジデュアルスケーリングファクタの使用が提案される。クロマレジデュアルスケーリングファクタ導出のための既存方法は、該当ルマブロックの平均値を使用して、インバースルママッピングでの各ピースの傾きを該当スケーリングファクタとして導出した。また、該当ルマブロックの利用可能性を要求するピースワイズインデックスを識別するための手順によってレイテンシー問題が発生された。これはハードウェア実現において好ましくない。本文書の一実施形態を介して、クロマブロックでのスケーリングは、ルマブロック値に依存しなくなってピースワイズインデックス識別が必要でない。したがって、レイテンシー問題無しでLMCSでのクロマレジデュアルスケーリング手順が実行されることができる。
【0235】
本文書による一実施形態において、単一クロマスケーリングファクタは、ルマLMCS情報に基づいてエンコーダとデコーダの両方ともで導出されることができる。LMCSルマモデルが受信されると、クロマレジデュアルスケーリングファクタがアップデートされることができる。例えば、LMCSモデルがアップデートされる場合、単一クロマレジデュアルスケーリングファクタがアップデートされることができる。
【0236】
以下の表は、本実施形態によって単一クロマスケーリングファクタの取得のための一例を示す。
【0237】
【表13】
【0238】
表13を参照すると、単一クロマスケーリングファクタ(例えば、ChromaScaleCoeffまたはChromaScaleCoeffSingle)は、lmcs_min_bin_idxとlmcs_max_bin_idxとの間の範囲内の全てのピース(pieces)のインバースルママッピング傾きを平均化することによって取得されることができる。
【0239】
図13は、本文書の一実施形態によるピボットポイントの線形フィッティングを示す。図13ではピボットポイントP1、Ps、P2が示される。以下の実施形態またはそれらの例示は、図13を参照して説明する。
【0240】
本実施形態の一例において、ピボットポイントlmcs_min_bin_idxとlmcs_max_bin_idx+1との間のルマPWLマッピングの線形近似に基づいて単一クロマスケーリングファクタが取得されることができる。即ち、線形マッピングのインバース傾きがクロマレジデュアルスケーリングファクタとして使われることができる。例えば、図13の線形ライン1(linear line 1)は、ピボットポイントP1、P2を連結する一直線である。図13を参照すると、P1において、入力値はx1であり、マッピングされた値は0であり、そして、P2において、入力値はx2であり、マッピングされた値はy2である。線形ライン1のインバース傾き(インバーススケール)は、(x2-x1)/y2であり、そして、単一クロマスケーリングファクタChromaScaleCoeffSingleは、ピボットポイントP1、P2の入力値及びマッピングされた値、及び以下の数式に基づいて計算されることができる。
【0241】
【数5】
【0242】
数式5において、CSCALE_FP_PRECは、シフトファクタ(shift factor)を示し、例えば、CSCALE_FP_PRECは、事前に決定された定数である。一例において、CSCALE_FP_PRECは、11である。
【0243】
本実施形態による他の例において、図13を参照すると、ピボットポイントPsにおいて、入力値はmin_bin_idx+1であり、マッピングされた値はysである。それによって、線形ライン1のインバース傾き(インバーススケール)は、(xs-x1)/ysで計算されることができ、単一クロマスケーリングファクタChromaScaleCoeffSingleは、ピボットポイントP1、Psの入力値及びマッピングされた値、及び以下の数式に基づいて計算されることができる。
【0244】
【数6】
【0245】
数式6において、CSCALE_FP_PRECは、シフトファクタ(ビットシフティングのためのファクタ)を示し、例えば、CSCALE_FP_PRECは、事前に決定された定数である。一例において、CSCALE_FP_PRECは、11であり、CSCALE_FP_PRECに基づいてインバーススケールに対するビットシフティングが実行されることができる。
【0246】
本実施形態による他の例において、単一クロマレジデュアルスケーリングファクタは、線形近似ライン(linear approximation line)に基づいて導出されることができる。線形近似ライン導出のための一例は、ピボットポイント(例えば、lmcs_min_bin_idx、lmcs_max_bin_idx+1)の線形的連結を含むことができる。例えば、線形趨勢結果は、PWLマッピングのコードワードで表すことができる。P2でのマッピングされた値y2は、全てのbin(ピース)のコードワードの和であり、そして、P2での入力値とP1での入力値との間の差(x2-x1)は、OrgCW*(lmcs_max_bin_idx-lmcs_min_bin_idx+1)(OrgCWは、前述した表9参照)である。以下の表は、前述された実施形態によって単一クロマスケーリングファクタを取得する例示を示す。
【0247】
【表14】
【0248】
表14を参照すると、単一クロマスケーリングファクタ(例えば、ChromaScaleCoeffSingle)は、2個のピボットポイント(即ち、lmcs_min_bin_idx、lmcs_max_bin_idx)から取得されることができる。例えば、線形マッピングの逆スロープ(inverse slope of linear mapping)は、クロマスケーリングファクタとして使われることができる。
【0249】
本実施形態の他の例において、単一クロマスケーリングファクタは、ピボットポイントの線形フィッティング(linear fitting)により取得されて線形フィッティングと既存PWLマッピングとの間のエラー(または、平均自乗エラー)を最小化することができる。本例示は、単純にlmcs_min_bin_idxとlmcs_max_bin_idxの2個のピボットポイントを単純に連結することより正確である。最適の線形マッピングを探すための様々な方法が存在でき、下記では一例を説明する。
【0250】
一例において、最小自乗エラーの和を最小化するための線形適合方程式(linear fitting equation)y=b1*x+b0のパラメータb1、b0は、以下の数式7及び/または表8に基づいて計算されることができる。
【0251】
【数7】
【0252】
【数8】
【0253】
ここで、xは原本ルマ値を示し、yはリシェイプされたルマ値を示す。具体的に
は、各々、x、yの平均を示し、xi、yiは、i番目のピボットポイントの値を示す。
【0254】
図13を参照すると、線形マッピングを識別するための他の近似が下記のように与えられることができる:
【0255】
-lmcs_min_bin_idxとlmcs_max_bin_idx+1でのPWLマッピングのピボットポイントを連結することによって、線形ライン1取得、OrgCWの倍数である入力値を有する線形ラインでのlmcs_pivots_linear[i]を計算
【0256】
-線形ライン1及びPWLマッピングを利用してピボットポイントのマッピングされた値間の差を合算
【0257】
-平均差(avgDiff)を取得
【0258】
-平均差によって(例えば、2*avgDiff)線形ラインの最後のピボットポイントを調整
【0259】
-調整された線形ラインの逆スロープ(inverse slope)をクロマレジデュアルスケールとして使用
【0260】
前述された線形フィッティングによって、クロマスケーリングファクタ(即ち、フォワードマッピングの逆スロープ(inverse slope of forward mapping))は、以下の数式9または数式10に基づいて導出される(取得される)ことができる。
【0261】
【数9】
【0262】
【数10】
【0263】
前述された数式において、lmcs_pivots_lienar[i]は、線形マッピングのマッピングされた値である。線形マッピングを介して、最小及び最大binインデックス間のPWLマッピングの全てのピースは、同じLMCSコードワード(lmcsCW)を有することができる。即ち、lmcs_pivots_linear[lmcs_min_bin_idx+1]は、lmcsCW[lmcs_min_bin_idx]と同じである。
【0264】
また、数式9及び数式10において、CSCALE_FP_PRECは、シフトファクタ(ビットシフティングのためのファクタ)を示し、例えば、CSCALE_FP_PRECは、事前に決定された定数である。一例において、CSCALE_FP_PRECは、11である。
【0265】
単一クロマレジデュアルスケーリングファクタ(ChromaScaleCoeffSingle)を介して、該当ルマブロックの平均を計算する必要がなく、そして、PWL線形マッピングでインデックスをさがす必要がない。したがって、クロマレジデュアルスケーリングを利用したコーディングの効率が高まることができる。
【0266】
本文書の他の実施形態において、エンコーダは、単一クロマスケーリングファクタに関するパラメータを決定することができ、前記パラメータをデコーダにシグナリングすることができる。シグナリングを介して、エンコーダは、クロマレジデュアルスケーリングファクタを導出するためにエンコーダで利用可能な他の情報を活用可能にできる。本実施形態は、クロマレジデュアルスケーリングレイテンシー問題を除去することにその目的がある。
【0267】
例えば、クロマレジデュアルスケーリングファクタを決定するために使われる線形マッピングを識別するための手順は、下記のように与えられることができる:
【0268】
-lmcs_min_bin_idxとlmcs_max_bin_idx+1でのPWLマッピングのピボットポイントを連結することによって、線形ライン1取得、OrgCWの倍数である入力値を有する線形ラインでのlmcs_pivots_linear[i]を計算
【0269】
-線形ライン1及びルマPWLマッピングのピボットポイントを利用してピボットポイントのマッピングされた値間の差の加重和を取得
【0270】
-加重値が適用された(weighted)平均差(avgDiff)を取得
【0271】
-加重値が適用された平均差によって(例えば、2*avgDiff)線形ライン1の最後のピボットポイントを調整
【0272】
-調整された線形ラインの逆スロープ(inverse slope)をクロマレジデュアルスケールとして使用
【0273】
以下の表は、クロマスケーリングファクタ導出のためにy値をシグナリングする例示的なシンタックスを示す。
【0274】
【表15】
【0275】
表15において、シンタックス要素lmcs_chroma_scaleは、LMCSクロマレジデュアルスケーリングのために使われる単一クロマ(レジデュアル)スケーリングファクタを明示(specify)することができる(ChromaScaleCoeffSingle=lmcs_chroma_scale)。即ち、クロマレジデュアルスケーリングファクタに関する情報が直接的にシグナリングされ、前記シグナリングされた情報がクロマレジデュアルスケーリングファクタとして導出されることができる。他の表現としては、シグナリングされたクロマレジデュアルスケーリングファクタに関する情報の値が単一クロマレジデュアルスケーリングファクタの値として(直接的に)導出されることができる。ここで、シンタックス要素lmcs_chroma_scaleは、他のLMCSデータ(例えば、コードワードの絶対値、符号に関するシンタックス要素など)と共にシグナリングされることができる。
【0276】
その代案としては、エンコーダは、クロマレジデュアルスケーリングファクタを導出するために必要なパラメータのみをデコーダにシグナリングすることができる。デコーダでクロマレジデュアルスケーリングファクタを導出するために、入力値xとマッピングされた値yが必要である。x値は、bin長さを示し、既にデコーダ端にも知られた値であるため、シグナリングされる必要がない。結局、クロマレジデュアルスケーリングファクタ導出のためにはただy値のみがシグナリングされる必要がある。ここで、y値は、線形マッピングにおける任意のピボットポイントのマッピングされた値である(例えば、図13のP2またはPsのマッピングされた値)。
【0277】
以下の表は、クロマレジデュアルスケーリングファクタ導出のためにマッピングされた値をシグナリングする例示を示す。
【0278】
【表16】
【0279】
【表17】
【0280】
前述した表16及び表17のシンタックスのうち1つがエンコーダとデコーダにより明示される(specified)任意の線形ピボットポイントでy値をシグナリングするために使われることができる。即ち、エンコーダ及びデコーダは、互いに同じシンタックスを使用してy値を導出することができる。
【0281】
まず、表16による実施形態を説明する。表16において、lmcs_cw_linearは、PsまたはP2にマッピングされた値を示すことができる。即ち、表16による実施形態において、lmcs_cw_linearを介して固定された数字がシグナリングされることができる。
【0282】
本実施形態による一例において、lmcs_cw_linearが1つのbin(即ち、図13のPsでのlmcs_pivots_linear[lmcs_min_bin_idx+1])にマッピングされた値を示す場合、クロマスケーリングファクタは、以下の数式に基づいて導出されることができる。
【0283】
【数11】
【0284】
本実施形態による他の例において、lmcs_cw_linearがlmcs_max_bin_idx+1(即ち、図13のP2でのlmcs_pivots_linear[lmcs_max_bin_idx+1])を示す場合、クロマスケーリングファクタは、以下の数式に基づいて導出されることができる。
【0285】
【数12】
【0286】
前述された数式において、CSCALE_FP_PRECは、シフトファクタ(ビットシフティングのためのファクタ)を示し、例えば、CSCALE_FP_PRECは、事前に決定された定数である。一例において、CSCALE_FP_PRECは、11である。
【0287】
次に、表17による実施形態を説明する。本実施形態において、lmcs_cw_linearは、固定された数と関連したデルタ値(即ち、lmcs_delta_abs_cw_linear、lmcs_delta_sign_cw_linear_flag)としてシグナリングされることもできる。本実施形態の一例において、lmcs_cw_linearがlmcs_pivots_linear[lmcs_min_bin_idx+1](即ち、図13のPs)でのマッピングされた値を示す場合、lmcs_cw_linear_delta及びlmcs_cw_linearは、以下の数式に基づいて導出されることができる。
【0288】
【数13】
【0289】
【数14】
【0290】
本実施形態の他の例において、lmcs_cw_linearがlmcs_pivots_linear[lmcs_max_bin_idx+1](即ち、図13のP2)でのマッピングされた値を示す場合、lmcs_cw_linear_delta及びlmcs_cw_linearは、以下の数式に基づいて導出されることができる。
【0291】
【数15】
【0292】
【数16】
【0293】
前述された数式において、OrgCWは、前述した表9に基づいて導出された値である。
【0294】
図14は、本文書の一実施形態による線形リシェイピング(または、線形リシェイパ、線形マッピング)の一例を示す。即ち、本文書の一実施形態では、LMCSで線形リシェイパの使用が提案される。例えば、図14の例示は、フォワード線形リシェイピング(マッピング)に関連付けられる。
【0295】
既存例において、LMCSは、固定された16個のピースを有するピースワイズ線形マッピングを使用することができる。それによって、ピボットポイント間の突然なトランジション(transition)により避けられない劣化が発生できるため、リシェイパ設計の複雑度が上がることができる。また、リシェイパのインバースルママッピングの場合、ピースワイズ関数インデックスを識別しなければならない。ピースワイズ関数インデックス識別手順は、多くの比較実行手順が含まれている繰り返しプロセス(iteration process)である。また、対応するルマブロック平均を使用するクロマレジデュアルスケーリングのために、ルマピースワイズインデックス識別手順が必要である。これは複雑度問題をもたらすだけでなく、全体ルマブロックの復元に依存的なクロマレジデュアルスケーリングのレイテンシーを引き起こすことができる。このような問題の解決のためにLMCSで線形リシェイパの使用が提案され、以下、線形リシェイパに対する詳細な説明が後述される。
【0296】
図14を参照すると、線形リシェイパは、2個のピボットポイント(即ち、P1、P2)を含むことができる。P1とP2は、入力とマッピングされた値を示すことができ、例えば、P1は(minInput、0)であり、そして、P2は(maxInput、maxMapped)である。ここで、minInputは最小入力値を示し、maxInputは最大入力値を示す。入力値がminInputより小さいまたは同じ場合、0にマッピングされ、入力値がmaxInputより大きい場合、maxMappedにマッピングされる。minInputとmaxInputとの間の入力(ルマ)値は、他の値に線形的にマッピングされることができる。図14は、マッピングの一例を示す。ピボットポイントP1、P2は、エンコーダで決定されることができ、このためにピースワイズ線形マッピングを近似するために線形フィッティングが使われることができる。
【0297】
線形リシェイパをシグナリングする方法には様々な方法がある。線形リシェイパをシグナリングする方法の一例において、各ルマ範囲は、均等なbin個数(equal number of bins)に分けられることができる。即ち、最小及び最大bin間のルママッピングは、均等に分配されることができる(達成されることができる)。例えば、全てのbinは、同じLMCSコードワード(lmcsCW)を有することができる。このために、最小及び最大binインデックスがシグナリングされることができる。また、ただ1つのセットのreshape_model_bin_delta_abs_CW(または、reshaper_model_delta_abs_CW、lmcs_delta_abs_CW)及びreshaper_model_bin_delta_sign_CW_flag(または、reshaper_model_delta_sign_CW_flag、lmcs_delta_sign_CW_flag)がシグナリングされる必要がある。
【0298】
以下の表は、本例示によって線形リシェイパをシグナリングするシンタックス及びセマンティクスを例示的に示す。
【0299】
【表18】
【0300】
【表19】
【0301】
前記表18及び表19を参照すると、シンタックス要素log2_lmcs_num_bins_minus4は、binの個数に関する情報である。前記情報に基づいてbinの個数がシグナリングされることができ、したがって、最小及び最大ピボットポイントのよりよいコントロールが可能になる。既存の他の例では、エンコーダ及び/またはデコーダがbinの(固定された)個数をシグナリング無しで導出(明示)でき、例えば、binの個数は、16または32に導出された。ただし、前記表18及び表19の例示によると、log2_lmcs_num_bins_minus4足す4は、binの個数のログ2(binary logarithm)を示すことができる。前記シンタックス要素に基づいて導出されたbinの個数は、4からルマビット深度(BitDepthY)の値までの範囲にある。
【0302】
前記表19において、ScaleCoeffSingleは、単一ルマフォワードスケーリングファクタと呼ばれることができ、InvScaleCoeffSingleは、単一ルマインバーススケーリングファクタと呼ばれることができる。単一ルマフォワードスケーリングファクタに基づいて予測ルマサンプルに対する(フォワード)マッピングが実行されることができ、そして、単一ルマインバーススケーリングファクタに基づいて復元ルマサンプルに対する(インバース)マッピングが実行されることができる。ChromaSclaeCoeffSingleは、前述されたように、単一クロマレジデュアルスケーリングファクタと呼ばれることができる。ScaleCoeffSingle、InvScaleCoeffSingle、ChromaSclaeCoeffSingleは、各々、フォワードルママッピング、インバースルママッピング、クロマレジデュアルスケーリングのために使われることができる。ScaleCoeffSingle、InvScaleCoeffSingle、ChromaSclaeCoeffSingleは、単一ファクタとして全てのbin(16 bins PWL mappings)に対して一律的に適用されることができる。
【0303】
前記表19を参照すると、FP_PREC及びCSCALE_FP_PRECは、ビットシフティングのための定数である。FP_PREC及びCSCALE_FP_PRECは、互いに同じであってもよく、同じでなくてもよい。例えば、FP_PRECは、CSCALE_FP_PRECより大きいまたは同じである。一例において、FP_PREC及びCSCALE_FP_PRECは、両方とも11である。他の例において、FP_PRECは15であり、そして、CSCALE_FP_PRECは11である。
【0304】
線形リシェイパをシグナリングする方法の他の例において、以下の数式に基づいてLMCSコードワード(lmcsCWlinearALL)が導出されることができる。本例でも前述した表18のシンタックスによってシグナリングされた線形リシェイピングシンタックス要素が使われることができる。以下の表は、本例示によって説明されるセマンティクスの一例を示す。
【0305】
【表20】
【0306】
前記表20を参照すると、FP_PREC及びCSCALE_FP_PRECは、ビットシフティングのための定数である。FP_PREC及びCSCALE_FP_PRECは、互いに同じであってもよく、同じでなくてもよい。例えば、FP_PRECは、CSCALE_FP_PRECより大きいまたは同じである。一例において、FP_PREC及びCSCALE_FP_PRECは、両方とも11である。他の例において、FP_PRECは15であり、そして、CSCALE_FP_PRECは11である。
【0307】
前記表20において、lmcs_max_bin_idxは、LmcsMaxBinIdxと混用されて使われることができる。lmcs_max_bin_idx及びLmcsMaxBinIdxは、前述した表18のシンタックスのlmcs_delta_max_bin_idxに基づいて、前述した表19を参照して導出されることができる。このように、表20は、表19を参照して解析されることができる。
【0308】
本文書による他の実施形態において、線形リシェイパをシグナリングする方法の他の例が提案されることができる。線形リシェイパモデルのピボットポイントP1、P2は、明示的にシグナリングされることができる。以下の表は、本例示によって線形リシェイパモデルを明示的にシグナリングするシンタックス及びセマンティクスの一例を示す。
【0309】
【表21】
【0310】
【表22】
【0311】
表21及び表22を参照すると、シンタックス要素lmcs_min_inputに基づいて第1のピボットポイントの入力値が導出されることができ、そして、シンタックス要素lmcs_max_inputに基づいて第2のピボットポイントの入力値が導出されることができる。第1のピボットポイントのマッピングされた値は、事前に決定された値(エンコーダ及びデコーダの両方ともに知られた値)であり、例えば、0である。シンタックス要素lmcs_max_mappedに基づいて第2のピボットポイントのマッピングされた値が導出されることができる。即ち、表21のシンタックスに基づいてシグナリングされた前記情報に基づいて線形リシェイパモデルが明示的に(直接的に)シグナリングされることができる。
【0312】
その代案としては、lmcs_max_input及びlmcs_max_mappedは、デルタ値としてシグナリングされることができる。以下の表は、デルタ値として線形リシェイパモデルをシグナリングするシンタックス及びセマンティクスの一例を示す。
【0313】
【表23】
【0314】
【表24】
【0315】
前記表24を参照すると、シンタックス要素lmcs_min_inputに基づいて第1のピボットポイントの入力値が導出されることができる。例えば、lmcs_min_inputは、0のマッピングされた値を有することができる。lmcs_max_input_deltaは、第2のピボットポイントの入力値と最大ルマ値(即ち、(1<<bitdepthY)-1)との間の差を示すことができる。lmcs_max_mapped_deltaは、第2のピボットポイントのマッピングされた値と最大ルマ値(即ち、(1<<bitdepthY)-1)との間の差を示すことができる。
【0316】
本文書の一実施形態によると、前述された線形リシェイパに関する例示に基づいてルマ予測サンプルのためのフォワードマッピング、ルマ復元サンプルのためのインバースマッピング、クロマレジデュアルスケーリングが実行されることができる。一例において、線形リシェイパベースのインバースマッピングでルマ(復元)サンプル(ピクセル)のためのインバーススケーリングのためにただ1つのインバーススケーリングファクタが必要である。これはフォワードマッピング、クロマレジデュアルスケーリングでも同様である。即ち、binインデックスiに対するScaleCoeff[i]、InvScaleCoeff[i] and ChromaScaleCoeff[i]を決定するステップは、ただ1つのファクタを利用することを代替することができる。ここで、1つのファクタとは、線形マッピングの(フォワード)傾きまたはインバース傾きが固定少数点で表現されたことを意味することができる。一例において、インバースルママッピングスケーリングファクタ(ルマ復元サンプルのためのインバースマッピングでのインバーススケーリングファクタ)は、以下の数式のうち少なくとも1つに基づいて導出されることができる。
【0317】
【数17】
【0318】
【数18】
【0319】
【数19】
【0320】
数式17のlmcsCWLinearは、前述した表18及び表19から導出されることができる。数式18及び表19のlmcsCWLinearALLは、前述した表20乃至表24のうち少なくとも1つから導出されることができる。数式17または数式18において、OrgCWは、表9または表19から導出されることができる。
【0321】
以下の表は、ピクチャ復元でのルマサンプル(即ち、ルマ予測サンプル)に対するフォワードマッピング手順を示す数式及びシンタックス(条件文)を説明する。以下の表及び数式において、FP_PRECは、ビットシフティングのための定数であり、事前に決定された値である。例えば、FP_PRECは、11または15である。
【0322】
【表25】
【0323】
【表26】
【0324】
表25は、前述した表8及び表9に基づくルママッピング手順でフォワードマッピングされたルマサンプルを導出するためのものである。即ち、表25は、表8及び表9と共に説明されることができる。表25において、入力としてのルマ(予測)サンプルpredSamples[i][j]から、出力としてのフォワードマッピングされたルマ(予測)サンプルPredmAPSamples[i][j]が導出されることができる。表25のidxYは、(フォワード)マッピングインデックスと呼ばれることができ、マッピングインデックスは、予測ルマサンプルに基づいて導出されることができる。
【0325】
表26は、線形リシェイパの適用によるルママッピングからフォワードマッピングされたルマサンプルを導出するためのものである。例えば、表26のlmcs_min_input、lmcs_max_input、lmcs_max_mapped、ScaleCoeffSingleは、表21乃至表24のうち少なくとも1つにより導出されることができる。表26において、lmcs_min_input<predSamples[i][j]<lmcs_max_inputである場合、入力としてのルマ(予測)サンプルpredSamples[i][j]から、出力としてのフォワードマッピングされたルマ(予測)サンプルPredmAPSamples[i][j]が導出されることができる。表25と表26との比較を介して、線形リシェイパの適用による既存LMCSからの変化がフォワードマッピング観点で見られることができる。
【0326】
以下の数式は、ルマサンプル(即ち、ルマ復元サンプル)に対するインバースマッピング手順を説明する。以下の数式において、入力としてのlumaSampleは、インバースマッピング以前の(修正前)ルマ復元サンプルである。出力としてのinvSampleは、インバースマッピングされた(修正された)ルマ復元サンプルである。他の場合、クリッピングされたinvSampleが修正されたルマ復元サンプルとも呼ばれる 。
【0327】
【数20】
【0328】
【数21】
【0329】
数式20を参照すると、インデックスidxInvは、前述した表11に基づいて導出されることができる。即ち、数式20は、前述した表8及び表9に基づくルママッピング手順でインバースマッピングされたルマサンプルを導出するためのものである。数式20は、前述した表10と共に説明されることができる。
【0330】
数式21は、線形リシェイパの適用によるルママッピングでインバースマッピングされたルマサンプルを導出するためのものである。例えば、数式21のlmcs_min_inputは、表21乃至表24のうち少なくとも1つにより導出されることができる。数式20と数式21との比較を介して、線形リシェイパの適用による既存LMCSからの変化がフォワードマッピング観点で見られることができる。
【0331】
前述された線形リシェイパに関する例示に基づいてピースワイズインデックス識別手順が省略されることができる。即ち、本例示において、リシェイプされたルマピクセルを有するピースが1個のみが存在するため、インバースルママッピング及びクロマレジデュアルスケーリングに使われるピースワイズインデックス識別手順が除去されることができる。それによって、インバースルママッピングの複雑性が減少されることができる。これに加えて、ルマピースワイズインデックス識別に依存することによって引き起こされるレイテンシー問題がクロマレジデュアルスケーリング途中に除去されることができる。
【0332】
前述された線形リシェイパの使用に関する実施形態によって、LMCSのために次のような利点が提供されることができる。i)エンコーダのリシェイパ設計を単純化してピースワイズ線形ピース間で発生される突然な変化による劣化を防止することができる。ii)ピースワイズインデックス識別手順を除去してデコーダインバースマッピング手順を単純化することができる。iii)ピースワイズインデックス識別手順を除去して該当ルマブロックに依存することによって引き起こされるクロマレジデュアルスケーリング内のレイテンシー問題を除去することができる。iv)シグナリングのオーバーヘッドを減らし、頻繁なリシェイパのアップデートをより実現可能にできる。v)16個ピースのループ(例えば、for構文)が必要な多くの部分からループを除去することができる。例えば、InvScaleCoeff[i]を導出するためにlmcsCW[i]による割り算演算の数を1に減らすことができる。
【0333】
本文書による他の実施形態では、フレキシブルなbinに基づくLMCSが提案される。ここで、フレキシブルなbinとは、binの個数が所定の数に固定されないことを意味することができる。既存の一実施形態では、LMCSでのbinの個数が16個に固定され、そして、16個のbinは、入力サンプル値に対して均等に分布された。本実施形態では、フレキシブルな個数のbinが提案され、そして、ピース(bin)が原本ピクセル値に対して均等に分配されない。
【0334】
以下の表は、本実施形態によるLMCSデータ(データフィールド)に関するシンタックス及びそれに含まれているシンタックス要素に対するセマンティクスを例示的に示す。
【0335】
【表27】
【0336】
【表28】
【0337】
表27を参照すると、binの個数に関する情報lmcs_num_bins_minus1がシグナリングされることができる。表28を参照すると、lmcs_num_bins_minus1+1は、binの個数と同じであり、これから、binの個数は、1から(1<<BitDepthY)-1までの範囲内にある。例えば、lmcs_num_bins_minus1またはlmcs_num_bins_minus1+1は、2の倍数である。
【0338】
表27及び表28と共に説明された実施形態において、ピボットポイントの個数は、リシェイパが線形であるかどうかにかかわらず、lmcs_num_bins_minus1(binの個数に関する情報)に基づいて導出されることができ(lmcs_num_bins_minus1のシグナリング)、そして、ピボットポイントの入力値及びマッピングされた値(LmcsPivot_input[i]、LmcsPivot_mapped[i])は、シグナリングされたコードワード値(lmcs_delta_input_cw[i]、lmcs_delta_mapped_cw[i])の合算に基づいて導出されることができる(ここで、初期入力値LmcsPivot_input[0]及び初期出力値LmcsPivot_mapped[0]は0)。
【0339】
図15は、本文書の一実施形態での線形フォワードマッピングの一例を示す。 図16は、本文書の一実施形態でのインバースフォワードマッピングの一例を示す。
【0340】
図15及び図16による実施形態では、レギュラーLMCS及び線形LMCSの両方ともを支援する方法が提案される。本実施形態による一例において、シンタックス要素lmcs_is_linearに基づいてレギュラーLMCS及び/または線形LMCSが指示されることができる。エンコーダで、線形LMCSラインが決定された後に、マッピングされた値(例えば、図15及び図16のpLでのマッピングされた値)は、均等なピース(例えば、LmcsMaxBinIdx-lmcs_min_bin_idx+1)に分けられる。binLmcsMaxBinIdxでのコードワードは、前述されたlmcsデータまたはリシェイパモデルに関するシンタックスを利用してシグナリングされることができる。
【0341】
以下の表は、本実施形態の一例によるLMCSデータ(データフィールド)に関するシンタックス及びそれに含まれているシンタックス要素に対するセマンティクスを例示的に示す。
【0342】
【表29】
【0343】
【表30-1】
【0344】
【表30-2】
【0345】
以下の表は、本実施形態の他の例によるLMCSデータ(データフィールド)に関するシンタックス及びそれに含まれているシンタックス要素に対するセマンティクスを例示的に示す。
【0346】
【表31】
【0347】
【表32-1】
【0348】
【表32-2】
【0349】
前記表29乃至表32を参照すると、lmcs_is_linear_flagが真である場合、lmcs_min_bin_idxとLmcsMaxBinIdxとの間の全てのlmcsDeltaCW[i]は、同じ値を有することができる。即ち、lmcs_min_bin_idxとLmcsMaxBinIdxとの間の全てのピースのうち、lmcsCW[i]が同じ値を有することができる。lmcs_min_bin_idxとlmcsMaxBinIdxとの間の全てのピースのスケール及び逆スケールとクロマスケールは、同じである。線形リシェイパが真である場合、ピースインデックスを導出する必要がなく、ピースのうち1つでスケール、インバーススケールが使われることができる。
【0350】
以下の表は、本実施形態によるピースワイズインデックスの識別手順を例示的に示す。
【0351】
【表33】
【0352】
本文書の他の実施形態によると、レギュラー16-ピースPWL LMCS及び線形LMCSの適用は、ハイレバルシンタックス(例えば、シーケンスレベル)に依存できる。
【0353】
以下の表は、本実施形態によるSPSに関するシンタックス及びそれに含まれているシンタックス要素に対するセマンティクスを例示的に示す。
【0354】
【表34】
【0355】
【表35】
【0356】
表34及び表35を参照すると、SPSに含まれているシンタックス要素によりレギュラーLMCS及び/または線形LMCSの可用可否が決定(シグナリング)されることができる。表35を参照すると、シンタックス要素sps_linear_lmcs_enabled_flagに基づいて、レギュラーLMCSまたは線形LMCSのうち1つがシーケンス単位で可用可能である。
【0357】
これに加えて、線形LMCSまたはレギュラーLMCSのうち1つまたは二つが可用であるかどうかは、プルファイルレベルに依存的である。一例において、特定プルファイル(例えば、SDRプルファイル)に対して、線形LMCSのみが許容されることができ、そして、他のプルファイル(例えば、HDRプルファイル)に対して、レギュラーLMCSのみが許容されることができ、そして、他のプルファイルに対しては、レギュラーLMCS及び/または線形LMCSの両方ともが許容されることができる。
【0358】
本文書の他の実施形態によると、LMCSピースワイズインデックス識別手順がインバースルママッピング及びクロマレジデュアルスケーリングで使われることができる。本実施形態において、クロマレジデュアルスケーリングが可用なブロックに対して前記ピースワイズインデックスの識別手順が使われることができ、そして、リシェイピングされた(マッピングされた)領域内の全てのルマサンプルを対しても前記識別手順が使われることができる。本実施形態は、前記インデックスの導出のための複雑度を減少させることが目的である。
【0359】
以下の表は、既存のピースワイズ関数インデックスの識別手順(導出手順)を示す。
【0360】
【表36】
【0361】
一例において、前記ピースワイズインデックス識別手順では入力サンプルが少なくとも二つ以上のカテゴリーに分類されることができる。例えば、前記入力サンプルは、三つのカテゴリー、第1、第2、第3のカテゴリーに分類されることができる。例えば、第1のカテゴリーは、LmcsPivot[lmcs_min_bin_idx+1]より小さいサンプル(の値)を示すことができ、第2のカテゴリーは、LmcsPivot[LmcsMaxBinIdx]より大きいまたは同じサンプル(の値)を示すことができ、第3のカテゴリーは、LmcsPivot[lmcs_min_bin_idx+1]とLmcsPivot[LmcsMaxBinIdx]との間のサンプル(の値)を示すことができる。
【0362】
本実施形態では、カテゴリー分類を除去することによって識別手順を最適化する方法が提案される。ピースワイズインデックス識別手順に対する入力がリシェイピングされた(マッピングされた)ルマ値であるため、ピボットポイントlmcs_min_bin_idx及びLmcsMaxBinIdx+1でのマッピングされた値を超過する値はあってはならない。したがって、カテゴリー別にサンプルを分類する条件的手順は、既存のピースワイズインデックス識別手順で省略されることができ、以下で具体的な例示を表と共に説明する。
【0363】
本実施形態による一例において、表36に含まれている識別手順は、以下の表37または表38のうち1つに代替されることができる。表37及び表38を参照すると、表36の先んじた二つのカテゴリーが削除されることができ、そして、最後のカテゴリーに対して反復的なループ(for構文)での境界値(第2の境界値またはエンディングポイント)がLmcsMaxBinIdxでLmcsMaxBinIdx+1に修正されることができる。即ち、識別手順が単純化されることができ、ピースワイズインデックスの導出のための複雑度が減少できる。したがって、本実施形態によりLMCS関連コーディングが効率的に実行されることができる。
【0364】
【表37】
【0365】
【表38】
【0366】
表37を参照すると、if節の条件に対応する比較手順(if節の条件に対応する数式)は、最小binインデックスから最大binインデックスまでのbinインデックスの全てに対して繰り返して実行されることができる。if節の条件に対応する数式が真である場合でのbinインデックスは、インバースルママッピングのためのインバースマッピングインデックス(または、クロマレジデュアルスケーリングのためのインバーススケーリングインデックス)として導出されることができる。前記インバースマッピングインデックスに基づいて修正された復元ルマサンプル(または、スケーリングされたクロマレジデュアルサンプル)が導出されることができる。
【0367】
以下の図面は、本明細書の具体的な一例を説明するために作成された。図面に記載された具体的な装置の名称や具体的な信号/メッセージ/フィールドの名称は、例示的に提示されたものであるため、本明細書の技術的特徴が以下の図面に使われた具体的な名称に制限されない。
【0368】
図17及び図18は、本文書の実施形態(等)に係るビデオ/画像エンコード方法及び関連コンポーネントの一例を概略的に示す。図17において開示された方法は、図2において開示されたエンコード装置によって行われることができる。具体的に、例えば、図17のS1700、S1710は、前記エンコード装置の予測部220によって行われることができ、S1720は、前記エンコード装置のレジデュアル処理部230によって行われることができ、S1730は、前記エンコード装置の予測部220またはレジデュアル処理部230によって行われることができ、S1740は、前記エンコード装置のレジデュアル処理部230または加算部250によって行われることができ、S1750は、前記エンコード装置のレジデュアル処理部230によって行われることができ、S1760は、前記エンコード装置のエントロピーエンコード部240によって行われることができる。図17において開示された方法は、本文書において上述した実施形態を含むことができる。
【0369】
図17に示すように、エンコード装置は、現在ピクチャ内の現在ブロックのためにインター予測モードを導出できる(S1700)。エンコード装置は、インター予測モードのうち、本文書に開示された様々なモードのうち、少なくとも1つを導出できる。
【0370】
エンコード装置は、前記インター予測モードに基づいて予測ルマサンプルを生成できる(S1710)。エンコード装置は、現在ブロックに含まれた原本サンプルに対する予測を行うことによって予測ルマサンプルを生成できる。
【0371】
エンコード装置は、予測クロマサンプルを導出することができる。エンコード装置は、現在ブロックの原本クロマサンプル及び予測クロマサンプルに基づいて前記レジデュアルクロマサンプルを導出することができる。例えば、エンコード装置は、前記予測クロマサンプルと原本クロマサンプルとの間の差に基づいてレジデュアルクロマサンプルを導出することができる。
【0372】
エンコード装置は、ルママッピングのためのビン及びLMCSコードワードを導出できる。エンコード装置は、SDRまたはHDRに基づいて前記ビン及び/又はLMCSコードワードを導出できる。
【0373】
エンコード装置は、LMCS関連情報を導出できる(S1720)。LMCS関連情報は、ルママッピングのためのビン及びLMCSコードワードを含むことができる。
【0374】
エンコード装置は、ルマサンプルのためのマッピング手順に基づいてマッピングされた予測ルマサンプルを生成できる(S1730)。エンコード装置は、ルママッピングのためのビン及び/又はLMCSコードワードに基づいてマッピングされた予測ルマサンプルを生成できる。例えば、エンコード装置は、ルママッピングのためのピボットポイントの入力値及びマッピング値(出力値)を導出でき、そして、前記入力値及びマッピング値に基づいてマッピングされた予測ルマサンプルを生成できる。一例として、エンコード装置は、第1の予測ルマサンプルに基づいてマッピングインデックス(idxY)を導出でき、そして、前記マッピングインデックスに対応するピボットポイントの入力値及びマッピング値に基づいて第1のマッピングされた予測ルマサンプルを生成できる。他の例として、線形マッピング(線形リシェイピング、線形LMCS)が使用され得るし、そして、線形マッピングにおける2個のピボットポイントから導出されたフォワードマッピングスケーリングファクタに基づいてマッピングされた予測ルマサンプルが生成され得るし、したがって、線形マッピングによりインデックス導出手順が省略されることもできる。
【0375】
エンコード装置は、スケーリングされたレジデュアルクロマサンプルを生成することができる。具体的に、エンコード装置は、クロマレジデュアルスケーリングファクタを導出することができ、クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルを生成することができる。ここで、エンコード端のクロマレジデュアルスケーリングは、フォワードクロマレジデュアルスケーリングとも呼ばれる。したがって、エンコード装置により導出されたクロマレジデュアルスケーリングファクタは、フォワードクロマレジデュアルスケーリングファクタと呼ばれることができ、フォワードスケーリングされたレジデュアルクロマサンプルが生成されることができる。
【0376】
エンコード装置は、復元ルマサンプルを生成できる。エンコード装置は、マッピングされた予測ルマサンプルに基づいて復元ルマサンプルを生成できる。具体的に、エンコード装置は、上述したレジデュアルルマサンプルをマッピングされた予測ルマサンプルと合算することができ、前記合算結果に基づいて復元ルマサンプルを生成できる。
【0377】
エンコード装置は、ルマサンプルのためのインバースマッピング手順に基づいて修正された復元ルマサンプルを生成できる(S1740)。エンコード装置は、前記ルママッピングのための前記ビン、前記LMCSコードワード、及び前記復元ルマサンプルに基づいて修正された復元ルマサンプルを生成できる。エンコード装置は、前記復元ルマサンプルに対するインバースマッピング手順を介して前記修正された復元ルマサンプルを生成できる。例えば、エンコード装置は、インバースマッピング手順で復元ルマサンプル及び/又はビンインデックス毎に割り当てられたマッピング値(ex.LmcsPivot[i]、i=lmcs_min_bin_idx...LmcsMaxBinIdx+1)に基づいてインバースマッピングインデックス(ex.invYIdx)を導出できる。エンコード装置は、インバースマッピングインデックスに割り当てられたマッピング値(LmcsPivot[invYIdx])に基づいて修正された復元ルマサンプルを生成できる。
【0378】
エンコード装置は、前記マッピングされた予測ルマサンプルに基づいてレジデュアルルマサンプルを生成することができる。例えば、エンコード装置は、前記マッピングされた予測ルマサンプルと原本ルマサンプルとの間の差に基づいてレジデュアルルマサンプルを導出することができる。
【0379】
エンコード装置は、レジデュアル情報を導出できる(S1750)。一例として、エンコード装置は、前記マッピングされた予測ルマサンプル及び前記修正された復元ルマサンプルに基づいてレジデュアル情報を生成できる。例えば、エンコード装置は、前記スケーリングされたレジデュアルクロマサンプル及び/又は前記レジデュアルルマサンプルに基づいてレジデュアル情報を導出できる。エンコード装置は、前記スケーリングされたレジデュアルクロマサンプル及び/又は前記レジデュアルルマサンプルに対する変換手順に基づいて変換係数を導出できる。例えば、変換手順は、DCT、DST、GBT、またはCNTのうち、少なくとも1つを含むことができる。エンコード装置は、前記変換係数に対する量子化手順に基づいて量子化された変換係数を導出できる。量子化された変換係数は、係数スキャン順序に基づいて1次元ベクトル形態を有することができる。エンコード装置は、前記量子化された変換係数を表すレジデュアル情報を生成できる。レジデュアル情報は、指数ゴロム、CAVLC、CABACなどのような様々なエンコード方法を介して生成されることができる。
【0380】
エンコード装置は、画像/ビデオ情報をエンコードすることができる(S1760)。前記画像情報は、LMCSデータに関する情報及び/またはレジデュアル情報を含むことができる。例えば、LMCS関連情報は、線形LMCSに関する情報を含むことができる。一例において、線形LMCSに関する情報に基づいて少なくとも1つのLMCSコードワードが導出されることができる。エンコードされたビデオ/画像情報は、ビットストリーム形態で出力されることができる。前記ビットストリームは、ネットワークまたは格納媒体を介してデコード装置に送信されることができる。
【0381】
前記画像/ビデオ情報は、本文書の実施形態による多様な情報を含むことができる。例えば、前記画像/ビデオ情報は、前述した表1乃至表38のうち少なくとも1つに開示された情報を含むことができる。
【0382】
一実施形態において、前記ビンに関する情報に基づいて最小ビンインデックス及び最大ビンインデックスが導出され得る。例えば、前記LMCSコードワードに関する情報に基づいて前記最小ビンインデックスから前記最大ビンインデックスまでのビンインデックスに基づくマッピング値が導出され得る。前記マッピング値は、第1のマッピング値(ex.LmcsPivot[idxY])及び第2のマッピング値(ex.LmcsPivot[idxYInv])を含むことができる。前記ルマサンプルのための前記マッピング手順で、前記予測ルマサンプルに基づいてマッピングインデックスが導出され、そして、前記マッピングインデックスに基づく前記第1のマッピング値を用いて前記マッピングされた予測ルマサンプルが生成されることができる。前記ルマサンプルのための前記インバースマッピング手順で、前記最小ビンインデックスから前記最大ビンインデックスまでのビンインデックスに基づく前記マッピング値に基づいてインバースマッピングインデックスが導出され、そして、前記インバースマッピングインデックスに基づく前記第2のマッピング値を用いて前記修正された復元ルマサンプルが生成されることができる。
【0383】
一実施形態において、LMCSコードワードに基づいて最小ビンインデックスから最大ビンインデックスまでのビンインデックスに基づくマッピング値が導出され得る。例えば、前記マッピングされた予測ルマサンプル及び前記修正された復元ルマサンプルは、前記最小ビンインデックスから前記最大ビンインデックスまでの前記ビンインデックスに基づく前記マッピング値に基づいて生成されることができる。
【0384】
一実施形態において、前記最小ビンインデックスから前記最大ビンインデックスまでの前記ビンインデックスに基づくマッピング値と前記復元ルマサンプルの値との間の比較に基づいて前記インバースマッピングインデックスが導出され得る。
【0385】
一実施形態において、前記ビンインデックスは、第1のマッピング値を指す第1のビンインデックスを含み、前記最小ビンインデックスから前記最大ビンインデックスまでの前記ビンインデックスに基づくマッピング値と前記復元ルマサンプルの値との間の比較に基づいて前記第1のビンインデックスが導出され、前記復元ルマサンプル及び前記第1のマッピング値に基づいて前記修正された復元ルマサンプルのうち、少なくとも1つが導出され得る。
【0386】
一実施形態において、前記ビンインデックスは、第1のマッピング値を指す第1のビンインデックスを含み、前記第1のビンインデックスは、前記表37に含まれた比較数式(lumaSample<LmcsPivot[idxYInv+1])に基づいて導出されることができる。例えば、前記数式において、lumaSampleは、前記復元ルマサンプルのうち、対象ルマサンプルの値を表し、idxYInvは、前記ビンインデックスのうち1つを表し、LmcsPivot[idxYinv+1」は、前記最小ビンインデックスから前記最大ビンインデックスまでの前記ビンインデックスに基づくマッピング値のうち1つを表すことができる。前記復元ルマサンプル及び前記第1のマッピング値に基づいて前記修正された復元ルマサンプルのうち、少なくとも1つが導出され得る。一例として、前記比較数式(lumaSample<LmcsPivot[idxYInv+1])が真である場合でのビンインデックスが前記インバースマッピングインデックスとして導出されることができる。
【0387】
一実施形態において、前記表37に含まれた比較手順(lumaSample<LmcsPivot[idxYInv+1])は、前記最小ビンインデックスから前記最大ビンインデックスまでの前記ビンインデックスの全てに対して行われることができる。
【0388】
一実施形態において、前記画像情報は、レジデュアル情報を含み、前記レジデュアル情報に基づいてレジデュアルクロマサンプルが生成され、前記LMCS関連情報に基づいてインバーススケーリングインデックスが識別され、前記インバーススケーリングインデックスに基づいてクロマレジデュアルスケーリングファクタが導出され、前記レジデュアルクロマサンプル及び前記クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルが生成され得る。
【0389】
一実施形態において、前記レジデュアル情報に基づいてレジデュアルクロマサンプルが生成され、前記ビンインデックスは、第1のマッピング値を指す第1のビンインデックスを含み、前記最小ビンインデックスから前記最大ビンインデックスまでの前記ビンインデックスに基づくマッピング値と前記復元ルマサンプルの値との間の比較に基づいて前記第1のビンインデックスが導出され、前記第1のビンインデックスに基づいてクロマレジデュアルスケーリングファクタが導出され、前記レジデュアルクロマサンプル及び前記クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルが生成され、前記スケーリングされたレジデュアルクロマサンプルに基づいて復元クロマサンプルが生成され得る。
【0390】
一実施形態において、前記画像情報は、線形LMCSに関する情報を含み、前記LMCSデータに関する情報は、線形LMCSが適用されるか否かを表す線形LMCSフラグを含み、前記マッピングされた予測ルマサンプルが前記線形LMCSに関する情報に基づいて生成される場合、前記線形LMCSフラグの値が1でありうる。
【0391】
一実施形態において、前記線形LMCSに関する情報は、第1のピボットポイント(例えば、図12のP1)に関する情報及び第2のピボットポイント(例えば、図12のP2)に関する情報を含むことができる。例えば、前記第1のピボットポイントの入力値及びマッピング値は、各々、最小入力値、最小マッピング値である。前記第2のピボットポイントの入力値及びマッピング値は、各々、最大入力値、最大マッピング値である。前記最小入力値と前記最大入力値との間の入力値は、線形的にマッピングされることができる。
【0392】
一実施形態において、前記画像情報は、SPS(sequence parameter set)を含むことができる。前記SPSは、線形LMCSが可用であるかどうかを示す線形LMCS可用フラグを含むことができる。
【0393】
一実施形態において、前記LMCS関連情報に基づいて最小ビンインデックス(ex.lmcs_min_bin_idx)及び/又は最大ビンインデックス(ex.LmcsMaxBinIdx)が導出され得る。前記最小ビンインデックスに基づいて第1のマッピング値(LmcsPivot[lmcs_min_bin_idx])が導出され得る。前記最大ビンインデックスに基づいて第2のマッピング値(LmcsPivot[LmcsMaxBinIdx]またはLmcsPivot[LmcsMaxBinIdx+1])が導出され得る。前記復元ルマサンプル(ex.表37または表38のlumaSample)の値は、第1のマッピング値から第2のマッピング値までの範囲にあることができる。一例として、全ての復元ルマサンプルの値は、第1のマッピング値から第2のマッピング値までの範囲にあることができる。他の例として、復元ルマサンプルのうち一部サンプルの値は、第1のマッピング値から第2のマッピング値までの範囲にあることができる。
【0394】
一実施形態において、エンコード装置は、クロマレジデュアルスケーリングのためのピースワイズインデックスを生成することができる。エンコード装置は、前記ピースワイズインデックスに基づいてクロマレジデュアルスケーリングファクタを導出することができる。エンコード装置は、前記レジデュアルクロマサンプル及び前記クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルを生成することができる。
【0395】
一実施形態において、前記クロマレジデュアルスケーリングファクタは、単一クロマレジデュアルスケーリングファクタである。
【0396】
一実施形態において、前記LMCS関連情報は、LMCSデータフィールド及び線形LMCSに関する情報を含むことができる。前記線形LMCSに関する情報は、線形マッピングに関する情報と呼ばれることもできる。前記LMCSデータフィールドは、前記線形LMCSが適用されるかどうかを示す線形LMCSフラグを含むことができる。前記線形LMCSフラグの値が1である場合、前記マッピングされた予測ルマサンプルは、前記線形LMCSに関する情報に基づいて生成されることができる。
【0397】
一実施形態において、前記画像情報は、前記最大入力値に関する情報及び前記最大マッピング値に関する情報を含むことができる。前記最大入力値は、前記最大入力値に関する情報(例えば、表21のlmcs_max_input)の値と同じである。前記最大マッピング値は、前記最大マッピング値に関する情報(例えば、表21のlmcs_max_mapped)の値と同じである。
【0398】
一実施形態において、前記線形マッピングに関する情報は、前記第2のピボットポイントの入力デルタ値に関する情報(例えば、表23のlmcs_max_input_delta)及び前記第2のピボットポイントのマッピングデルタ値に関する情報(例えば、表23のlmcs_max_mapped_delta)を含むことができる。前記第2のピボットポイントの入力デルタ値に基づいて前記最大入力値が導出され、前記第2のピボットポイントのマッピングデルタ値に基づいて前記最大マッピング値が導出されることができる。
【0399】
一実施形態において、前記最大入力値及び前記最大マッピング値は、前述した表24に含まれている少なくとも1つの数式に基づいて導出されることができる。
【0400】
一実施形態において、前記マッピングされた予測ルマサンプルを生成するステップは、前記予測ルマサンプルに対するフォワードマッピングスケーリングファクタ(例えば、前述されたScaleCoeffSingle)を導出するステップ、及び前記フォワードマッピングスケーリングファクタに基づいて前記マッピングされた予測ルマサンプルを生成するステップを含むことができる。前記フォワードマッピングスケーリングファクタは、前記予測ルマサンプルのための単一ファクタである。
【0401】
一実施形態において、前記フォワードマッピングスケーリングファクタは、前述した表22及び/または表24に含まれている少なくとも1つの数式に基づいて導出されることができる。
【0402】
一実施形態において、前記マッピングされた予測ルマサンプルは、前述した表26に含まれている少なくとも1つの数式に基づいて導出されることができる。
【0403】
一実施形態において、エンコード装置は、前記復元ルマサンプル(例えば、前述されたlumaSample)に対するインバースマッピングスケーリングファクタ(例えば、前述されたInvScaleCoeffSingle)を導出することができる。また、エンコード装置は、前記復元ルマサンプル及び前記インバースマッピングスケーリングファクタに基づいて修正された復元ルマサンプル(例えば、invSample)を生成することができる。前記インバースマッピングスケーリングファクタは、前記復元ルマサンプルのための単一ファクタである。
【0404】
一実施形態において、前記インバースマッピングスケーリングファクタは、前記復元ルマサンプルに基づいて導出されたピースワイズインデックスを利用して導出されることができる。
【0405】
一実施形態において、前記ピースワイズインデックスは、前述した表36に基づいて導出されることができる。即ち、前記表37に含まれている比較手順(lumaSample<LmcsPivot[idxYInv+1])は、前記ピースワイズインデックスが前記最小binインデックスである場合から前記ピースワイズインデックスが前記最大binインデックスである場合まで繰り返して実行されることができる。
【0406】
一実施形態において、前記インバースマッピングスケーリングファクタは、前述した表19、表20、表22、表23に含まれている少なくとも1つの数式、または数式11または数式12に基づいて導出されることができる。
【0407】
一実施形態において、前記修正された復元ルマサンプルは、前述された数式21に基づいて導出されることができる。
【0408】
一実施形態において、前記LMCS関連情報は、前記マッピングされた予測ルマサンプルを導出するためのbinの個数に関する情報(例えば、表27のlmcs_num_bins_minus1)を含むことができる。例えば、ルママッピングのためのピボットポイントの個数は、前記binの個数と同じく設定されることができる。一例において、エンコード装置は、前記binの個数ほど前記ピボットポイントのデルタ入力値及びデルタマッピング値を各々生成できる。一例において、前記デルタ入力値(例えば、表27のlmcs_delta_input_cw[i])及び前記デルタマッピング値(例えば、表28のlmcs_delta_mapped_cw[i])に基づいて前記ピボットポイントの入力値及びマッピング値が導出され、前記入力値(例えば、表28のLmcsPivot_input[i]、または表10のInputPivot[i])及び前記マッピング値(例えば、表28のLmcsPivot_mapped[i]、または表10のLmcsPivot[i])に基づいて、前記マッピングされた予測ルマサンプルが生成されることができる。
【0409】
一実施形態において、エンコード装置は、前記LMCS関連情報に含まれている少なくとも1つのLMCSコードワードと原本コードワード(OrgCW)とに基づいてLMCSデルタコードワードを導出することができ、少なくとも1つのLMCSコードワードと原本コードワードに基づいてマッピングされたルマ予測サンプルを導出することもできる。一例において、前記線形マッピングに関する情報は、LMCSデルタコードワードに関する情報を含むことができる。
【0410】
一実施形態において、前記LMCSデルタコードワードとOrgCWとの合算に基づいて、前記少なくとも1つのLMCSコードワードが導出されることができ、例えば、OrgCWは(1<<BitDepthY)/16であり、ここで、BitDepthYは、ルマビット深度を示すことができる。本実施形態は、数式12に基づいて行われることができる。
【0411】
一実施形態において、前記LMCSデルタコードワードとOrgCW*(lmcs_max_bin_idx-lmcs_min_bin_idx+1)との合算に基づいて前記少なくとも1つのLMCSコードワードが導出されることができ、lmcs_max_bin_idx及びlmcs_min_bin_idxは、各々、最大binインデックス及び最小binインデックスであり、OrgCWは(1<<BitDepthY)/16である。本実施形態は、数式15、16に基づいて行われることができる。
【0412】
一実施形態において、前記少なくとも1つのLMCSコードワードは、2の倍数である。
【0413】
一実施形態において、前記復元ルマサンプルのルマビット深度(BitDepthY)が10より高い場合、前記少なくとも1つのLMCSコードワードは、1<<(BitDepthY-10)の倍数である。
【0414】
一実施形態において、前記少なくとも1つのLMCSコードワードは、(OrgCW>>1)から(OrgCW<<1)-1までの範囲内にある。
【0415】
図19及び図20は、本文書の実施形態に係る画像/ビデオデコード方法及び関連コンポーネントの一例を概略的に示す。図19において開示された方法は、図3において開示されたデコード装置によって行われることができる。具体的に、例えば、図19のS1900は、前記デコード装置のエントロピーデコード部310によって行われることができ、S1910、S1920は、前記デコード装置の予測部330によって行われることができ、S1930は、前記デコード装置のレジデュアル処理部320または予測部330によって行われることができ、S1940は、前記デコード装置のレジデュアル処理部320、予測部330、及び/又は加算部340によって行われることができる。図19において開示された方法は、本文書において上述した実施形態を含むことができる。
【0416】
図19に示すように、デコード装置は、ビデオ/画像情報を受信/取得できる(S1900)。ビデオ/画像情報は、予測モード情報、LMCS関連情報、及び/又はレジデュアル情報を含むことができる。例えば、LMCS関連情報は、上述したルママッピング(ex.フォワードマッピング、インバースマッピング、線形マッピング)に関する情報、クロマレジデュアルスケーリングに関する情報、及び/又はLMCS(または、リシェイピング、リシェイパ)に関連したインデックス(ex.最大ビンインデックス、最小ビンインデックス、マッピングインデックス)を含むことができる。デコード装置は、ビットストリームを介して前記画像/ビデオ情報を受信/取得できる。
【0417】
前記画像/ビデオ情報は、本文書の実施形態による様々な情報を含むことができる。例えば、前記画像/ビデオ情報は、前述した表1乃至表38のうち少なくとも1つに開示された情報を含むことができる。
【0418】
デコード装置は、前記予測モード情報に基づいて現在ピクチャ内の現在ブロックのために予測モードを導出できる(S1910)。デコード装置は、インター予測モードのうち、本文書に開示された様々なモードのうち、少なくとも1つを導出できる。
【0419】
デコード装置は、予測ルマサンプルを生成できる(S1920)。デコード装置は、予測モードに基づいて前記現在ブロックの予測ルマサンプルを導出できる。デコード装置は、現在ブロックに含まれた原本サンプルに対する予測を行うことによって予測ルマサンプルを生成できる。
【0420】
デコード装置は、マッピングされた予測ルマサンプルを生成できる(S1930)。デコード装置は、ルマサンプルのためのマッピング手順に基づいてマッピングされた予測ルマサンプルを生成できる。例えば、デコード装置は、ルママッピングのためのピボットポイントの入力値及びマッピング値(出力値)を導出でき、そして、前記入力値及びマッピング値に基づいてマッピングされた予測ルマサンプルを生成できる。一例として、デコード装置は、第1の予測ルマサンプルに基づいて(フォワード)マッピングインデックス(idxY)を導出でき、そして、前記マッピングインデックスに対応するピボットポイントの入力値及びマッピング値に基づいて第1のマッピングされた予測ルマサンプルを生成できる。他の例として、線形マッピング(線形リシェイピング、線形LMCS)が使用され得るし、そして、線形マッピングにおける2個のピボットポイントから導出されたフォワードマッピングスケーリングファクタに基づいてマッピングされた予測ルマサンプルが生成されることができ、したがって、線形マッピングによりインデックス導出手順が省略されることもできる。
【0421】
デコード装置は、前記レジデュアル情報に基づいてレジデュアルルマサンプルを生成できる。例えば、デコード装置は、前記レジデュアル情報に基づいて量子化された変換係数を導出できる。量子化された変換係数は、係数スキャン順序に基づいて1次元ベクトル形態を有することができる。デコード装置は、前記量子化された変換係数に対する逆量子化手順に基づいて変換係数を導出できる。デコード装置は、前記変換係数に対する逆変換手順に基づいてレジデュアルサンプルを導出できる。前記レジデュアルサンプルは、レジデュアルルマサンプル及び/又はレジデュアルクロマサンプルを含むことができる。
【0422】
デコード装置は、復元ルマサンプルを生成することができる。デコード装置は、マッピングされた予測ルマサンプルに基づいて復元ルマサンプルを生成することができる。具体的に、デコード装置は、前述されたレジデュアルルマサンプルを、マッピングされた予測ルマサンプルと合算でき、前記合算結果に基づいて復元ルマサンプルを生成することができる。
【0423】
デコード装置は、修正された復元ルマサンプルを生成できる。デコード装置は、ルマサンプルのためのインバースマッピング手順に基づいて修正された復元ルマサンプルを生成できる。デコード装置は、前記LMCSデータに関する情報及び前記復元ルマサンプルに基づいて修正された復元ルマサンプルを生成できる(S1940)。デコード装置は、前記復元ルマサンプルに対するインバースマッピング手順を介して前記修正された復元ルマサンプルを生成できる。
【0424】
デコード装置は、スケーリングされたレジデュアルクロマサンプルを生成することができる。具体的に、デコード装置は、クロマレジデュアルスケーリングファクタを導出することができ、クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルを生成することができる。ここで、デコード端のクロマレジデュアルスケーリングは、エンコード端とは反対に、インバースクロマレジデュアルスケーリングと呼ばれることもできる。したがって、デコード装置により導出されたクロマレジデュアルスケーリングファクタは、インバースクロマレジデュアルスケーリングファクタと呼ばれることができ、インバーススケーリングされたレジデュアルクロマサンプルが生成されることができる。
【0425】
デコード装置は、復元クロマサンプルを生成することができる。デコード装置は、スケーリングされたレジデュアルクロマサンプルに基づいて復元クロマサンプルを生成することができる。具体的に、デコード装置は、クロマ成分に対する予測手順を実行することができ、予測クロマサンプルを生成することができる。デコード装置は、予測クロマサンプルとスケーリングされたレジデュアルクロマサンプルとの合算に基づいて復元クロマサンプルを生成することができる。
【0426】
一実施形態において、LMCSコードワードに基づいて最小ビンインデックスから最大ビンインデックスまでのビンインデックスに基づくマッピング値が導出され得る。例えば、前記マッピングされた予測ルマサンプル及び前記修正された復元ルマサンプルは、前記最小ビンインデックスから前記最大ビンインデックスまでの前記ビンインデックスに基づく前記マッピング値に基づいて生成されることができる。
【0427】
一実施形態において、前記LMCS関連情報は、マッピング及びインバースマッピングのためのビンに関する情報及びLMCSコードワードに関する情報を含むことができる。例えば、前記ビンに関する情報に基づいて最小ビンインデックス及び最大ビンインデックスが導出され得る。前記LMCSコードワードに関する情報に基づいて前記最小ビンインデックスから前記最大ビンインデックスまでのビンインデックスに基づくマッピング値が導出され得る。前記マッピング値は、第1のマッピング値(ex.LmcsPivot[idxY])及び第2のマッピング値(ex.LmcsPivot[idxYInv])を含むことができる。前記ルマサンプルのための前記マッピング手順で、前記予測ルマサンプルに基づいてマッピングインデックス(ex.idxY)が導出され、そして、前記マッピングインデックスに基づく前記第1のマッピング値を用いて前記マッピングされた予測ルマサンプルが生成されることができる。前記ルマサンプルのための前記インバースマッピング手順で、前記最小ビンインデックスから前記最大ビンインデックスまでのビンインデックスに基づく前記マッピング値に基づいてインバースマッピングインデックスが導出され、そして、前記インバースマッピングインデックス(ex.idxYInv)に基づく前記第2のマッピング値を用いて前記修正された復元ルマサンプルが生成されることができる。
【0428】
一実施形態において、前記画像情報は、SPS(sequence parameter set)を含むことができる。前記SPSは、線形LMCSが可用であるかどうかを示す線形LMCS可用フラグを含むことができる。
【0429】
一実施形態において、前記binインデックスは、第1のマッピング値を指す第1のbinインデックスを含み、前記最小binインデックスから前記最大binインデックスまでの前記binインデックスに基づくマッピング値と前記復元ルマサンプルの値との比較に基づいて前記第1のbinインデックスが導出され、前記復元ルマサンプル及び前記第1のマッピング値に基づいて前記修正された復元ルマサンプルのうち少なくとも一つが導出されることができる。
【0430】
一実施形態において、前記ビンインデックスは、第1のマッピング値を指す第1のビンインデックスを含み、前記第1のビンインデックスは、前記表37に含まれた比較数式(lumaSample<LmcsPivot[idxYInv+1])に基づいて導出されることができる。例えば、前記数式において、lumaSampleは、前記復元ルマサンプルのうち、対象ルマサンプルの値を表し、idxYInvは、前記ビンインデックスのうち1つを表し、LmcsPivot[idxYinv+1」は、前記最小ビンインデックスから前記最大ビンインデックスまでの前記ビンインデックスに基づくマッピング値のうち1つを表すことができる。前記復元ルマサンプル及び前記第1のマッピング値に基づいて前記修正された復元ルマサンプルのうち、少なくとも1つが導出され得る。一例として、前記比較数式(lumaSample<LmcsPivot[idxYInv+1])が真である場合でのビンインデックスが前記インバースマッピングインデックスとして導出されることができる。
【0431】
一実施形態において、前記表37に含まれた比較手順(lumaSample<LmcsPivot[idxYInv+1])は、前記最小ビンインデックスから前記最大ビンインデックスまでの前記ビンインデックスの全てに対して行われることができる。
【0432】
一実施形態において、前記画像情報は、レジデュアル情報を含み、前記レジデュアル情報に基づいてレジデュアルクロマサンプルが生成され、前記LMCS関連情報に基づいてインバーススケーリングインデックスが識別され、前記インバーススケーリングインデックスに基づいてクロマレジデュアルスケーリングファクタが導出され、前記レジデュアルクロマサンプル及び前記クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルが生成され得る。
【0433】
一実施形態において、前記レジデュアル情報に基づいてレジデュアルクロマサンプルが生成され、前記ビンインデックスは、第1のマッピング値を指す第1のビンインデックスを含み、前記最小ビンインデックスから前記最大ビンインデックスまでの前記ビンインデックスに基づくマッピング値と前記復元ルマサンプルの値との間の比較に基づいて前記第1のビンインデックスが導出され、前記第1のビンインデックスに基づいてクロマレジデュアルスケーリングファクタが導出され、前記レジデュアルクロマサンプル及び前記クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルが生成され、前記スケーリングされたレジデュアルクロマサンプルに基づいて復元クロマサンプルが生成され得る。
【0434】
一実施形態において、前記LMCSデータに関する情報は、線形LMCSに関する情報を含むことができる。前記線形LMCSに関する情報は、線形マッピングに関する情報と称されることもできる。前記LMCSデータに関する情報は、線形LMCSが適用されるか否かを表す線形LMCSフラグを含むことができる。前記線形LMCSフラグの値が1である場合、前記マッピングされた予測ルマサンプルは、前記線形LMCSに関する情報に基づいて生成されることができる。
【0435】
一実施形態において、前記線形LMCSに関する情報は、第1のピボットポイント(例えば、図12のP1)に関する情報及び第2のピボットポイント(例えば、図12のP2)に関する情報を含むことができる。例えば、前記第1のピボットポイントの入力値及びマッピング値は、各々、最小入力値、最小マッピング値である。前記第2のピボットポイントの入力値及びマッピング値は、各々、最大入力値、最大マッピング値である。前記最小入力値と前記最大入力値との間の入力値は、線形的にマッピングされることができる。
【0436】
一実施形態において、前記LMCS関連情報に基づいて最小binインデックス(例えば、lmcs_min_bin_idx)及び/または最大binインデックス(例えば、LmcsMaxBinIdx)が導出されることができる。前記最小binインデックスに基づいて第1のマッピング値(LmcsPivot[lmcs_min_bin_idx])が導出されることができる。前記最大binインデックスに基づいて第2のマッピング値(LmcsPivot[LmcsMaxBinIdx]またはLmcsPivot[LmcsMaxBinIdx+1])が導出されることができる。前記復元ルマサンプル(例えば、表37または表38のlumaSample)の値は、第1のマッピング値から第2のマッピング値までの範囲にある。一例において、全ての復元ルマサンプルの値は、第1のマッピング値から第2のマッピング値までの範囲にある。他の例において、復元ルマサンプルのうち一部サンプルの値は、第1のマッピング値から第2のマッピング値までの範囲にある。
【0437】
一実施形態において、前記LMCS関連情報に基づいてピースワイズインデックス(例えば、表36、表37、または表38のidxYInv)が識別されることができる。デコード装置は、前記ピースワイズインデックスに基づいてクロマレジデュアルスケーリングファクタを導出することができる。デコード装置は、前記レジデュアルクロマサンプル及び前記クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルを生成することができる。
【0438】
一実施形態において、前記クロマレジデュアルスケーリングファクタは、単一クロマレジデュアルスケーリングファクタであることができる。
【0439】
一実施形態において、前記画像情報は、前記最大入力値に関する情報及び前記最大マッピング値に関する情報を含むことができる。前記最大入力値は、前記最大入力値に関する情報(例えば、表21のlmcs_max_input)の値と同じである。前記最大マッピング値は、前記最大マッピング値に関する情報(例えば、表21のlmcs_max_mapped)の値と同じである。
【0440】
一実施形態において、前記線形マッピングに関する情報は、前記第2のピボットポイントの入力デルタ値に関する情報(例えば、表23のlmcs_max_input_delta)及び前記第2のピボットポイントのマッピングデルタ値に関する情報(例えば、表23のlmcs_max_mapped_delta)を含むことができる。前記第2のピボットポイントの入力デルタ値に基づいて前記最大入力値が導出され、前記第2のピボットポイントのマッピングデルタ値に基づいて前記最大マッピング値が導出されることができる。
【0441】
一実施形態において、前記最大入力値及び前記最大マッピング値は、前述した表24に含まれている少なくとも一つの数式に基づいて導出されることができる。
【0442】
一実施形態において、前記マッピングされた予測ルマサンプルを生成するステップは、前記予測ルマサンプルに対するフォワードマッピングスケーリングファクタ(例えば、前述されたScaleCoeffSingle)を導出するステップ、及び前記フォワードマッピングスケーリングファクタに基づいて前記マッピングされた予測ルマサンプルを生成するステップを含むことができる。前記フォワードマッピングスケーリングファクタは、前記予測ルマサンプルのための単一ファクタである。
【0443】
一実施形態において、前記インバースマッピングスケーリングファクタは、前記復元ルマサンプルに基づいて導出されたピースワイズインデックスを利用して導出されることができる。
【0444】
一実施形態において、前記ピースワイズインデックスは、前述した表36に基づいて導出されることができる。即ち、前記表37に含まれている比較手順(lumaSample<LmcsPivot[idxYInv+1])は、前記ピースワイズインデックスが前記最小binインデックスである場合から前記ピースワイズインデックスが前記最大binインデックスである場合まで繰り返して実行されることができる。
【0445】
一実施形態において、前記フォワードマッピングスケーリングファクタは、前述した表22及び/または表24に含まれている少なくとも一つの数式に基づいて導出されることができる。
【0446】
一実施形態において、前記マッピングされた予測ルマサンプルは、前述した表26に含まれている少なくとも一つの数式に基づいて導出されることができる。
【0447】
一実施形態において、デコード装置は、前記復元ルマサンプル(例えば、前述されたlumaSample)に対するインバースマッピングスケーリングファクタ(例えば、前述されたInvScaleCoeffSingle)を導出することができる。また、デコード装置は、前記復元ルマサンプル及び前記インバースマッピングスケーリングファクタに基づいて修正された復元ルマサンプル(例えば、invSample)を生成することができる。前記インバースマッピングスケーリングファクタは、前記復元ルマサンプルのための単一ファクタである。
【0448】
一実施形態において、前記インバースマッピングスケーリングファクタは、前述した表19、表20、表22、表24に含まれている少なくとも一つの数式、または数式11または数式12に基づいて導出されることができる。
【0449】
一実施形態において、前記修正された復元ルマサンプルは、前述された数式21に基づいて導出されることができる。
【0450】
一実施形態において、前記LMCS関連情報は、前記マッピングされた予測ルマサンプルを導出するためのbinの個数に関する情報(例えば、表27のlmcs_num_bins_minus1)を含むことができる。例えば、ルママッピングのためのピボットポイントの個数は、前記binの個数と同じく設定されることができる。一例において、デコード装置は、前記binの個数ほど前記ピボットポイントのデルタ入力値及びデルタマッピング値を各々生成できる。一例において、前記デルタ入力値(例えば、表27のlmcs_delta_input_cw[i])及び前記デルタマッピング値(例えば、表28のlmcs_delta_mapped_cw[i])に基づいて前記ピボットポイントの入力値及びマッピング値が導出され、前記入力値(例えば、表28のLmcsPivot_input[i]、または表10のInputPivot[i])及び前記マッピング値(例えば、表28のLmcsPivot_mapped[i]、または表10のLmcsPivot[i])に基づいて、前記マッピングされた予測ルマサンプルが生成されることができる。
【0451】
一実施形態において、デコード装置は、前記LMCS関連情報に含まれている少なくとも一つのLMCSコードワードと原本コードワード(OrgCW)に基づいてLMCSデルタコードワードを導出することができ、少なくとも一つのLMCSコードワードと原本コードワードに基づいてマッピングされたルマ予測サンプルを導出することもできる。一例において、前記線形マッピングに関する情報は、LMCSデルタコードワードに関する情報を含むことができる。
【0452】
一実施形態において、前記LMCSデルタコードワードとOrgCWの合算に基づいて、前記少なくとも一つのLMCSコードワードが導出されることができ、例えば、OrgCWは(1<<BitDepthY)/16であり、ここで、BitDepthYは、ルマビット深度を示すことができる。本実施形態は、数式12に基づいて行われることができる。
【0453】
一実施形態において、前記LMCSデルタコードワードとOrgCW*(lmcs_max_bin_idx-lmcs_min_bin_idx+1)の合算に基づいて前記少なくとも一つのLMCSコードワードが導出されることができ、lmcs_max_bin_idx及びlmcs_min_bin_idxは、各々、最大binインデックス及び最小binインデックスであり、OrgCWは(1<<BitDepthY)/16である。本実施形態は、数式15、16に基づいて行われることができる。
【0454】
一実施形態において、前記少なくとも一つのLMCSコードワードは、2の倍数であることができる。
【0455】
一実施形態において、前記復元ルマサンプルのルマビット深度(BitDepthY)が10より高い場合、前記少なくとも一つのLMCSコードワードは、1<<(BitDepthY-10)の倍数である。
【0456】
一実施形態において、前記少なくとも一つのLMCSコードワードは、(OrgCW>>1)から(OrgCW<<1)-1までの範囲内にある。
【0457】
前述した実施形態において、方法は、一連のステップ又はブロックとしてフローチャートに基づいて説明されているが、該当実施形態は、ステップの順序に限定されるわけではなく、あるステップは、前述したところと異なるステップと異なる順序で、又は同時に発生し得る。また、当業者であれば、フローチャートに示されているステップが排他的ではなく、異なるステップが含まれるか、フローチャートの一つ又はそれ以上のステップが本文書の実施形態の範囲に影響を与えずに削除され得ることを理解することができる。
【0458】
前述した本文書の実施形態に係る方法は、ソフトウェアの形態で実現されることができ、本文書に係るエンコード装置及び/又はデコード装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置等の画像処理を行う装置に含まれ得る。
【0459】
本文書で、実施形態がソフトウェアで実現される際、前述した方法は、前述した機能を行うモジュール(過程、機能等)で実現されることができる。モジュールはメモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部又は外部にあってもよく、よく知られている様々な手段でプロセッサと連結されてもよい。プロセッサは、ASIC(application-specific integrated circuit)、他のチップセット、論理回路及び/又はデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体及び/又は他の格納装置を含むことができる。即ち、本文書で説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で実現されて行われ得る。例えば、各図面で示している機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で実現されて行われ得る。この場合、実現のための情報(ex.information on instructions)又はアルゴリズムがデジタル格納媒体に格納されることができる。
【0460】
また、本文書の実施形態が適用されるデコード装置及びエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、オーダーメイド型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、VR(virtual reality)装置、AR(argumente reality)装置、画像電話ビデオ装置、運送手段端末(ex.車両(自律走行車両含む)端末、飛行機端末、船舶端末など)及び医療用ビデオ装置等に含まれ得、ビデオ信号又はデータ信号を処理するために使用され得る。例えば、OTTビデオ(Over the top video)装置としては、ゲームコンソール、ブルーレイプレーヤー、インターネットアクセスTV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)等を含み得る。
【0461】
また、本文書の実施形態が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取ることができる記録媒体に格納されることができる。本文書の実施形態に係るデータ構造を有するマルチメディアデータもまた、コンピュータが読み取ることができる記録媒体に格納されることができる。前記コンピュータが読み取ることができる記録媒体は、コンピュータで読み取られるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取ることができる記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピディスク、及び光学的データ格納装置を含み得る。また、前記コンピュータが読み取ることができる記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で実現されたメディアを含む。また、エンコード方法で生成されたビットストリームが、コンピュータが読み取られる記録媒体に格納されるか、有無線通信ネットワークを介して送信されることができる。
【0462】
また、本文書の実施形態は、プログラムコードによるコンピュータプログラム製品で実現されることができ、前記プログラムコードは、本文書の実施形態によってコンピュータで実行されることができる。前記プログラムコードは、コンピュータによって読み取り可能なキャリア上に格納されることができる。
【0463】
図21は、本文書に開示された実施形態が適用されることができるコンテンツストリーミングシステムの例を示す。
【0464】
図21を参照すると、本文書の実施形態が適用されるコンテンツストリーミングシステムは、大きくエンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディアストレージ、ユーザ装置、及びマルチメディア入力装置を含むことができる。
【0465】
前記エンコードサーバは、スマートフォン、カメラ、カムコーダ等のようなマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。別の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略され得る。
【0466】
前記ビットストリームは、本文書の実施形態が適用されるエンコード方法又はビットストリームの生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信又は受信する過程で、一時的に前記ビットストリームを格納することができる。
【0467】
前記ストリーミングサーバは、ウェブサーバを介してのユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すれば、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
【0468】
前記ストリーミングサーバは、メディア格納所及び/又はエンコードサーバからコンテンツを受信することができる。例えば、前記エンコードサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムに受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間、格納することができる。
【0469】
前記ユーザ装置の例では、携帯電話、スマートフォン(smart phone)、ノートブックコンピュータ(laptop computer)、デジタル放送用端末機、PDA(personal digital assistants)、PMP(portable multimedia player)、ナビゲーション、スレートPC(slate PC)、タブレットPC(tablet PC)、ウルトラブック(ultrabook)、ウェアラブルデバイス(wearable device、例えば、ウォッチ型端末機(smartwatch)、グラス型端末機(smart glass)、HMD(head mounted display))、デジタルTV、デスクトップコンピュータ、デジタルサイニジなどがありうる。
【0470】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。
【0471】
本明細書に記載された請求項は、多様な方式で組み合わせることができる。例えば、本明細書の方法請求項の技術的特徴が組み合わせられて装置として実現されることができ、本明細書の装置請求項の技術的特徴が組み合わせられて方法として実現されることができる。また、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴とが組み合わせられて装置として実現されることができ、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴とが組み合わせられて方法として実現されることができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21