(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024038444
(43)【公開日】2024-03-19
(54)【発明の名称】ルママッピングベースのビデオまたは映像コーディング
(51)【国際特許分類】
H04N 19/70 20140101AFI20240312BHJP
H04N 19/593 20140101ALI20240312BHJP
【FI】
H04N19/70
H04N19/593
【審査請求】有
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2024006514
(22)【出願日】2024-01-19
(62)【分割の表示】P 2021572502の分割
【原出願日】2020-06-17
(31)【優先権主張番号】62/862,651
(32)【優先日】2019-06-17
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】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)【発明者】
【氏名】キム スンファン
(57)【要約】 (修正有)
【課題】LMCS(luma mapping with chroma scaling)の複雑度を減少させ、ビデオ/映像コーディング効率を増加させる方法及び装置を提供する。
【解決手段】映像デコーディング方法は、ビットストリームから予測関連情報及びLMCS関連情報を含む映像情報を取得するステップと、予測関連情報に基づいて現在ブロックのイントラ予測モードを導出するステップと、イントラ予測モードに基づいて予測ルマサンプルを生成するステップと、予測ルマサンプルに基づいて復元ルマサンプルを生成するステップと、LMCS関連情報に基づいてピースワイズ機能インデックスを導出するステップと、復元ルマサンプルとピースワイズ機能インデックスに基づいて修正復元ルマサンプルを生成するステップと、を含み、LMCS関連情報に基づいて、最小binインデックス及び最大binインデックスを導出する。
【選択図】
図16
【特許請求の範囲】
【請求項1】
デコーディング装置により実行される映像デコーディング方法において、
ビットストリームから予測関連情報及びLMCS(luma mapping with chroma scaling)関連情報を含む映像情報を取得するステップと、
前記予測関連情報に基づいて予測ルマサンプルを生成するステップと、
前記予測ルマサンプルに基づいて復元ルマサンプルを生成するステップと、
前記LMCS関連情報に基づいてピースワイズ機能インデックスを導出するステップと、
前記復元ルマサンプルと前記ピースワイズ機能インデックスに基づいて修正復元ルマサンプルを生成するステップとを含み、
前記LMCS関連情報に基づいて、最小binインデックス及び最大binインデックスが導出され、
前記ピースワイズ機能インデックスを導出するステップは、
前記ピースワイズ機能インデックスが前記最小binインデックスと等しい場合、第1のマッピングされた値が、前記復元ルマサンプルの値より大きいかを決定するステップと、
前記ピースワイズ機能インデックスが最大binインデックス-1と等しい場合、第2のマッピングされた値が、前記復元ルマサンプルの値より大きいかを決定するステップと、
前記ピースワイズ機能インデックスが最大binインデックス-1と等しい場合、前記第2のマッピングされた値が、前記復元ルマサンプルの値より大きくないとの決定に基づいて、前記ピースワイズ機能インデックスが前記最大binインデックスと等しい場合、第3のマッピングされた値が、前記復元ルマサンプルの値より大きいかを決定するステップとを含み、
前記ピースワイズ機能インデックスが最大binインデックスー1と等しい場合、前記第2のマッピングされた値が前記復元ルマサンプルの値より大きくないとの決定に基づいて、前記第3のマッピングされた値が前記復元ルマサンプルの値より大きいとの決定に基づいて、前記ピースワイズ機能インデックスは前記最大binインデックスとして導出される、映像デコーディング方法。
【請求項2】
前記映像情報は、SPS(sequence parameter set)を含み、
前記SPSは、線形LMCSが可用であるかどうかを示す線形LMCS可用フラグを含む、請求項1に記載の映像デコーディング方法。
【請求項3】
前記映像情報は、レジデュアル情報を含み、
前記レジデュアル情報に基づいてレジデュアルクロマサンプルが生成され、
前記ピースワイズ機能インデックスに基づいてクロマレジデュアルスケーリングファクタが導出され、
前記レジデュアルクロマサンプル及び前記クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルが生成される、請求項1に記載の映像デコーディング方法。
【請求項4】
前記クロマレジデュアルスケーリングファクタは、単一クロマレジデュアルスケーリングファクタである、請求項3に記載の映像デコーディング方法。
【請求項5】
前記LMCS関連情報は、LMCSデータフィールド及び線形LMCSに関する情報を含み、
前記LMCSデータフィールドは、前記線形LMCSが適用されるかどうかを示す線形LMCSフラグを含み、
前記線形LMCSフラグの値が1である場合、前記マッピングされた予測ルマサンプルは、前記線形LMCSに関する情報に基づいて生成される、請求項1に記載の映像デコーディング方法。
【請求項6】
前記線形LMCSに関する情報は、第1のピボットポイントに関する情報及び第2のピボットポイントに関する情報を含み、
前記第1のピボットポイントの入力値及びマッピング値は、各々、最小入力値、最小マッピング値であり、
前記第2のピボットポイントの入力値及びマッピング値は、各々、最大入力値、最大マッピング値であり、
前記最小入力値と前記最大入力値との間の入力値は、線形的にマッピングされる、請求項5に記載の映像デコーディング方法。
【請求項7】
前記映像情報は、前記最大入力値に関する情報及び前記最大マッピング値に関する情報を含み、
前記最大入力値は、前記最大入力値に関する情報の値に等しく、
前記最大マッピング値は、前記最大マッピング値に関する情報の値に等しい、請求項6に記載の映像デコーディング方法。
【請求項8】
前記線形LMCSに関する情報は、前記第2のピボットポイントの入力デルタ値に関する情報及び前記第2のピボットポイントのマッピングデルタ値に関する情報を含み、
前記第2のピボットポイントの入力デルタ値に基づいて前記最大入力値が導出され、
前記第2のピボットポイントのマッピングデルタ値に基づいて前記最大マッピング値が導出される、請求項6に記載の映像デコーディング方法。
【請求項9】
マッピングされた予測ルマサンプルを生成するステップをさらに含み、
前記マッピングされた予測ルマサンプルを生成するステップは、
前記予測ルマサンプルに対するフォワードマッピングスケーリングファクタを導出するステップと
前記フォワードマッピングスケーリングファクタに基づいて前記マッピングされた予測ルマサンプルを生成するステップを含み、
前記フォワードマッピングスケーリングファクタは、前記予測ルマサンプルのための単一ファクタである、請求項1に記載の映像デコーディング方法。
【請求項10】
前記ピースワイズ機能インデックスが最大binインデックス-1と等しい場合、前記第2のマッピングされた値は、前記最大binインデックスで示されるbinにおいてマップされた値であり、
前記ピースワイズ機能インデックスが最大binインデックスと等しい場合、前記第3のマッピングされた値は、前記最大binインデックス+1で示されるbinにおいてマップされた値である、
請求項1に記載の映像デコーディング方法。
【請求項11】
以下のシンタックスの動作を実行することを含む前記ピースワイズ機能インデックスを導出するステップを含む、請求項1に記載の映像デコーディング方法。
ここで、前記シンタックスidxYInvは、前
記ピースワイズ機能インデックスを表し、lmcs_min_bin_idxは前記最小binインデックスを表し、LmcsMaxBinIdxは前記最大binインデックスを表し、LumaSampleは前記復元ルマサンプルを表し、LmcsPivot[idxYInv+1]は、(idxYInv+1)番目のbinにマップされた値を表す。
【請求項12】
前記最小binインデックスは0と等しくない、請求項1に記載の映像デコーディング方法。
【請求項13】
前記LMCS関連情報は、マッピングされた予測ルマサンプルを導出するためのbinの個数に関する情報を含み、
ルママッピングのためのピボットポイントの個数は、前記binの個数と等しく設定され、
前記binの個数ほど前記ピボットポイントのデルタ入力値及びデルタマッピング値が各々シグナリングされ、
前記デルタ入力値及び前記デルタマッピング値に基づいて前記ピボットポイントの入力値及びマッピング値が導出され、
前記入力値及び前記マッピング値に基づいて前記マッピングされた予測ルマサンプルが生成される、請求項1に記載の映像デコーディング方法。
【請求項14】
エンコーディング装置により実行される映像をエンコーディング方法において、
予測ルマサンプルを生成するステップと、
前記予測ルマサンプルに基づいてマッピングされた予測ルマサンプルを生成するステップと、
前記マッピングされた予測ルマサンプルに基づいてLMCS(luma mapping with chroma scaling)関連情報を生成するステップと、
前記マッピングされた予測ルマサンプルに基づいてレジデュアルルマサンプルを生成するステップと、
前記レジデュアルルマサンプルに基づいてレジデュアル情報を導出するステップと、
前記LMCS関連情報及び前記レジデュアル情報を含む映像情報をエンコーディングするステップとを含み、
前記映像をエンコーディングするステップは、
前記予測ルマサンプルに基づいて復元ルマサンプルを生成するステップと、
前記LMCS関連情報に基づいてピースワイズ機能インデックスを導出するステップと、
前記復元ルマサンプルと前記ピースワイズ機能インデックスに基づいて修正復元ルマサンプルを生成するステップとをさらに含み、
前記LMCS関連情報に基づいて、最小binインデックス及び最大binインデックスが導出され、
前記ピースワイズ機能インデックスを導出するステップは、
前記ピースワイズ機能インデックスが前記最小binインデックスに等しい場合、第1のマッピングされた値が、前記復元ルマサンプルの値より大きいかを決定するステップと、
前記ピースワイズ機能インデックスが前記最大binインデックス-1に等しい場合、第2のマッピングされた値が、前記復元ルマサンプルの値より大きいかを決定するステップと、
前記ピースワイズ機能インデックスが前記最大binインデックス-1に等しい場合、前記第2のマッピングされた値が、前記復元ルマサンプルの値より大きくないとの決定に基づいて、前記ピースワイズ機能インデックスが前記最大binインデックスに等しい場合、第3のマッピングされた値が、前記復元ルマサンプルの値より大きいかを決定するステップとをさらに含み、
前記ピースワイズ機能インデックスが最大binインデックスー1と等しい場合、前記第2のマッピングされた値が前記復元ルマサンプルの値より大きくないとの決定に基づいて、前記第3のマッピングされた値が前記復元ルマサンプルの値より大きいとの決定に基づいて、前記ピースワイズ機能インデックスは前記最大binインデックスとして導出される、映像をエンコーディング方法。
【請求項15】
レジデュアルクロマサンプルを生成するステップと、
前記ピースワイズ機能インデックスに基づいてクロマレジデュアルスケーリングファクタを導出するステップと、
前記レジデュアルクロマサンプル及び前記クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルを生成するステップをさらに含む、請求項14に記載の映像をエンコーディング方法。
【請求項16】
映像情報に対するデータを送信する方法であって、
LMCS(luma mapping with chroma scaling)関連情報とレジデュアル情報を含む前記映像情報のビットストリームを取得するステップであって、
前記LMCS関連情報は、予測ルマサンプルを生成すること、前記予測ルマサンプルに基づいてマッピングされた予測ルマサンプルを生成することと、前記マッピングされた予測ルマサンプルに基づいて前記LMCS関連情報を導出することにより生成され、
前記レジデュアル情報は、前記マッピングされた予測ルマサンプルに基づいてレジデュアルルマサンプルを生成し、前記レジデュアルルマサンプルに基づいてレジデュアル情報を導出することにより生成され、
前記LMCS関連情報と前記レジデュアル情報を含む前記映像情報のビットストリームを含む前記データを送信するステップと、
復元ルマサンプルは前記予測ルマサンプルに基づいて生成され、
ピースワイズ機能インデックスは前記LMCS関連情報に基づいて導出され、
修正復元ルマサンプルは前記復元ルマサンプルと前記ピースワイズ機能インデックスに基づいて生成され、
最小binインデックスと最大binインデックスは前記LMCS関連情報に基づいて導出され、
前記ピースワイズ機能インデックスを導出するために、
前記ピースワイズ機能インデックスが前記最小binインデックスに等しい場合、第1のマッピングされた値が、前記復元ルマサンプルの値より大きいかが決定され、
前記ピースワイズ機能インデックスが前記最大binインデックス-1に等しい場合、第2のマッピングされた値が、前記復元ルマサンプルの値より大きいかが決定され、
前記ピースワイズ機能インデックスが前記最大binインデックス-1に等しい場合、前記第2のマッピングされた値が、前記復元ルマサンプルの値より大きくないとの決定に基づいて、前記ピースワイズ機能インデックスが前記最大binインデックスに等しい場合、第3のマッピングされた値が、前記復元ルマサンプルの値より大きいかが決定され、
前記ピースワイズ機能インデックスが最大binインデックスー1と等しい場合、前記第2のマッピングされた値が前記復元ルマサンプルの値より大きくないとの決定に基づいて、前記第3のマッピングされた値が前記復元ルマサンプルの値より大きいとの決定に基づいて、前記ピースワイズ機能インデックスは前記最大binインデックスとして導出される、映像情報に対するデータを送信する方法。
【発明の詳細な説明】
【技術分野】
【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】
本文書の一実施例によれば、本文書の実施例の少なくとも一つに開示されたビデオ/映像エンコーディング方法によって生成されたエンコーディングされたビデオ/映像情報が格納されたコンピュータ読み取り可能なデジタル格納媒体を提供する。
【0020】
本文書の一実施例によれば、デコーディング装置により本文書の実施例の少なくとも一つに開示されたビデオ/映像デコーディング方法を行うように引き起こすエンコーディングされた情報又はエンコーディングされたビデオ/映像情報が格納されたコンピュータ読み取り可能なデジタル格納媒体を提供する。
【発明の効果】
【0021】
本文書の一実施例によると、全般的な映像/ビデオ圧縮効率を上げることができる。
【0022】
本文書の一実施例によると、効率的なフィルタリングを介して主観的/客観的ビジュアル品質を高めることができる。
【0023】
本文書の一実施例によると、映像/ビデオコーディングのためのLMCS手順が効率的に実行されることができる。
【0024】
本文書の一実施例によると、LMCS手順に必要なリソース/費用(ソフトウェアまたはハードウェアの)を最小化することができる。
【0025】
本文書の一実施例によると、LMCS手順のためのハードウェア具現を容易にできる。
【0026】
本文書の一実施例によると、前記LMCSコードワード(または、その範囲)制限を介してマッピング(リシェイピング)でのLMCSコードワードの導出に必要な割り算演算を除去し、または最小化することができる。
【0027】
本文書の一実施例によると、単一クロマレジデュアルスケーリングファクタ使用を介してピースワイズインデックス識別によるレイテンシーが除去されることができる。
【0028】
本文書の一実施例によると、LMCSで線形マッピングの使用を介してルマブロック(の復元)に依存せずに、クロマレジデュアルスケーリング手順が実行されることができ、したがって、スケーリングでのレイテンシーが除去されることができる。
【0029】
本文書の一実施例によると、LMCSでのマッピング効率が高まることができる。
【0030】
本文書の一実施例によると、インバースルママッピング及び/またはクロマレジデュアルスケーリングのためのインデックス導出手順の単純化を介してLMCSの複雑度が減少でき、したがって、ビデオ/映像コーディング効率が増加できる。
【図面の簡単な説明】
【0031】
【
図1】本文書の実施例が適用できるビデオ/映像コーディングシステムの例を概略的に示す。
【
図2】本文書の実施例が適用できるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。
【
図3】本文書の実施例が適用できるビデオ/映像デコーディング装置の構成を概略的に説明する図である。
【
図4】コーディングされた映像/ビデオに対する階層構造を例示的に示す。
【
図5】本文書の一実施例によるCVSの階層的な構造を例示的に示す。
【
図6】本文書の一実施例による例示的なLMCS構造を示す。
【
図7】本文書の他の一実施例によるLMCS構造を示す。
【
図8】例示的なフォワードマッピングを示すグラフを示す。
【
図9】本文書の一実施例によってクロマレジデュアルスケーリングインデックスを導出する方法を示す流れ図である。
【
図10】本文書の一実施例によるピボットポイントの線形フィッティングを示す。
【
図11】本文書の一実施例による線形リシェイパの一例を示す。
【
図12】本文書の一実施例での線形フォワードマッピングの一例を示す。
【
図13】本文書の一実施例でのインバースフォワードマッピングの一例を示す。
【
図14】本文書の実施例(ら)によるビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。
【
図15】本文書の実施例(ら)によるビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。
【
図16】本文書の実施例による映像/ビデオデコーディング方法及び関連コンポーネントの一例を概略的に示す。
【
図17】本文書の実施例による映像/ビデオデコーディング方法及び関連コンポーネントの一例を概略的に示す。
【
図18】本文書に開示された実施例が適用されることができるコンテンツストリーミングシステムの例を示す。
【発明を実施するための形態】
【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】
本文書において、「少なくとも一つのA及びB(at least one of A and B)」は、「ただA」、「ただB」又は「A及びB両方」を意味し得る。また、本文書において、「少なくとも一つのA又はB(at least one of A or B)」や「少なくとも一つのA及び/又はB(at least one of A and/or B)」という表現は、「少なくとも一つのA及びB(at least one of A and B)」と同様に解釈され得る。
【0052】
また、本文書において、「少なくとも一つのA、B及びC(at least one of A, B and C)」は、「ただA」、「ただB」、「ただC」、又は「A、B及びCの任意の全ての組み合わせ(any combination of A, B and C)」を意味し得る。また、「少なくとも一つのA、B又はC(at least one of A, B or C)」や「少なくとも一つのA、B及び/又はC(at least one of A, B and/or C)」は、「少なくとも一つのA、B及びC(at least one of A, B and C)」を意味し得る。
【0053】
また、本文書で使用される括弧は、「例えば(for example)」を意味し得る。具体的に、「予測(イントラ予測)」と表示された場合、「予測」の一例として「イントラ予測」が提案されたものであり得る。言い換えると、本文書の「予測」は、「イントラ予測」に制限(limit)されず、「イントラ予測」が「予測」の一例として提案されたものであり得る。また、「予測(即ち、イントラ予測)」と表示された場合にも、「予測」の一例として「イントラ予測」が提案されたものであり得る。
【0054】
本文書において一つの図面内で個別的に説明される技術的特徴は、個別的に具現されてもよく、同時に具現されてもよい。
【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)の少なくとも一つを含むことができる。ここで、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】
本文書において、量子化/逆量子化及び/または変換/逆変換のうち少なくとも一つは、省略されることができる。前記量子化/逆量子化が省略される場合、前記量子化された変換係数は、変換係数と呼ばれることができる。前記変換/逆変換が省略される場合、前記変換係数は、係数またはレジデュアル係数と呼ばれることもでき、または、表現の統一性のために、依然として変換係数と呼ばれることもできる。
【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】
また、フィルタリングされた隣接参照サンプルに基づいて前記現在ブロックの臨時予測サンプルを導出し、前記既存の隣接参照サンプル、即ち、フィルタリングされない隣接参照サンプルのうち、前記イントラ予測モードによって導出された少なくとも一つの参照サンプルと前記臨時予測サンプルとを加重和(weighted sum)して前記現在ブロックの予測サンプルを導出することもできる。前述した場合は、PDPC(Position dependent intra prediction)と呼ばれることができる。
【0095】
また、現在ブロックの隣接多重参照サンプルラインの中から最も予測正確度が高い参照サンプルラインを選択して該当ラインで予測方向に位置する参照サンプルを利用して予測サンプルを導出し、この時に使われた参照サンプルラインをデコーディング装置に指示(シグナリング)する方法でイントラ予測符号化を実行することができる。前述した場合は、多重参照ライン(multi-reference line)イントラ予測またはMRLベースのイントラ予測と呼ばれることができる。
【0096】
また、現在ブロックを垂直または水平のサブパーティションに分けて同じイントラ予測モードに基づいてイントラ予測を実行し、前記サブパーティション単位で隣接参照サンプルを導出して利用できる。即ち、この場合、現在ブロックに対するイントラ予測モードが前記サブパーティションに同じく適用され、前記サブパーティション単位で隣接参照サンプルを導出して利用することによって、場合によって、イントラ予測性能を高めることができる。このような予測方法は、ISP(intra sub-partitions)ベースのイントラ予測と呼ばれることができる。
【0097】
前述したイントラ予測方法は、イントラ予測モードと区分してイントラ予測タイプと呼ばれることができる。前記イントラ予測タイプは、イントラ予測技法または付加イントラ予測モードなど、多様な用語で呼ばれることができる。例えば、前記イントラ予測タイプ(または、付加イントラ予測モードなど)は、前述したLIP、PDPC、MRL、ISPのうち少なくとも一つを含むことができる。前記LIP、PDPC、MRL、ISPなどの特定イントラ予測タイプを除外した一般イントラ予測方法は、ノーマルイントラ予測タイプと呼ばれることができる。ノーマルイントラ予測タイプは、前記のような特定イントラ予測タイプが適用されない場合、一般的に適用されることができ、前述したイントラ予測モードに基づいて予測が実行されることができる。一方、必要によって、導出された予測サンプルに対する後処理フィルタリングが実行されることもできる。
【0098】
具体的に、イントラ予測手順は、イントラ予測モード/タイプ決定ステップ、隣接参照サンプル導出ステップ、イントラ予測モード/タイプベースの予測サンプル導出ステップを含むことができる。また、必要によって、導出された予測サンプルに対する後処理フィルタリング(post-filtering)ステップが実行されることもできる。
【0099】
イントラ予測が適用される場合、隣接ブロックのイントラ予測モードを利用して現在ブロックに適用されるイントラ予測モードが決定されることができる。例えば、デコーディング装置は、現在ブロックの隣接ブロック(例えば、左側及び/または上側隣接ブロック)のイントラ予測モード及び追加的な候補モードに基づいて導出されたMPM(most probable mode)リスト内のMPM候補のうち一つを、受信されたMPMインデックスに基づいて選択でき、または、前記MPM候補(及びプラナーモード)に含まれない残りのイントラ予測モードのうち一つを、リメイニングイントラ予測モード情報に基づいて選択できる。前記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候補(及びプラナーモード)に含まれない残りのイントラ予測モードを予測モード番号順にインデキシングしてそのうち一つを指すことができる。前記イントラ予測モードは、ルマ成分(サンプル)に対するイントラ予測モードである。以下、イントラ予測モード情報は、前記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)のうち少なくとも一つを含むことができる。本文書において、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】
図4を参照すると、コーディングされた映像/ビデオは、映像/ビデオのデコーディング処理及びその自体を扱うVCL(video coding layer、ビデオコーディング階層)、符号化された情報を送信して格納する下位システム、及びVCLと下位システムとの間に存在してネットワーク適応機能を担当するNAL(network abstraction layer、ネットワーク抽象階層)に区分されている。
【0112】
VCLでは、圧縮された映像データ(スライスデータ)を含むVCLデータを生成し、または、ピクチャパラメータセット(Picture Parameter Set:PPS)、シーケンスパラメータセット(Sequence Parameter Set:SPS)、ビデオパラメータセット(Video Parameter Set:VPS)などの情報を含むパラメータセットまたは映像のデコーディング過程に付加的に必要なSEI(Supplemental Enhancement Information)メッセージを生成することができる。
【0113】
NALでは、VCLで生成されたRBSP(Raw Byte Sequence Payload)にヘッダ情報(NALユニットヘッダ)を付加してNALユニットを生成することができる。このとき、RBSPは、VCLで生成されたスライスデータ、パラメータセット、SEIメッセージなどを意味する。NALユニットヘッダには該当NALユニットに含まれるRBSPデータによって特定されるNALユニットタイプ情報を含むことができる。
【0114】
前記図面に示すように、NALユニットは、VCLで生成されたRBSPによってVCL NALユニットとNon-VCL NALユニットとに区分されることができる。VCL NALユニットは、映像に対する情報(スライスデータ)を含んでいるNALユニットを意味することができ、Non-VCL NALユニットは、映像をデコーディングするために必要な情報(パラメータセットまたはSEIメッセージ)を含んでいるNALユニットを意味することができる。
【0115】
前述したVCL NALユニット、Non-VCL NALユニットは、下位システムのデータ規格によってヘッダ情報を付けてネットワークを介して送信されることができる。例えば、NALユニットは、H.266/VVCファイルフォーマット、RTP(Real-time Transport Protocol)、TS(Transport Stream)などのような所定規格のデータ形態で変形されて多様なネットワークを介して送信されることができる。
【0116】
前述したように、NALユニットは、該当NALユニットに含まれるRBSPデータ構造(structure)によってNALユニットタイプが特定されることができ、このようなNALユニットタイプに対する情報は、NALユニットヘッダに格納されてシグナリングされることができる。
【0117】
例えば、NALユニットが映像に対する情報(スライスデータ)を含むかどうかによって、大別して、VCL NALユニットタイプとNon-VCL NALユニットタイプとに分類されることができる。VCL NALユニットタイプは、VCL NALユニットが含むピクチャの性質及び種類などによって分類されることができ、Non-VCL NALユニットタイプは、パラメータセットの種類などによって分類されることができる。
【0118】
下記は、Non-VCL NALユニットタイプが含むパラメータセットの種類などによって特定されたNALユニットタイプの一例である。
【0119】
-APS(Adaptation Parameter Set)NAL unit:APSを含むNALユニットに対するタイプ
【0120】
-DPS(Decoding Parameter Set)NAL unit:DPSを含むNALユニットに対するタイプ
【0121】
-VPS(Video Parameter Set)NAL unit:VPSを含むNALユニットに対するタイプ
【0122】
-SPS(Sequence Parameter Set)NAL unit:SPSを含むNALユニットに対するタイプ
【0123】
-PPS(Picture Parameter Set)NAL unit:PPSを含むNALユニットに対するタイプ
【0124】
-PH(Picture header)NAL unit:PHを含むNALユニットに対するタイプ
【0125】
前述したNALユニットタイプは、NALユニットタイプのためのシンタックス情報を有し、前記シンタックス情報は、NALユニットヘッダに格納されてシグナリングされることができる。例えば、前記シンタックス情報は、nal_unit_typeであり、NALユニットタイプは、nal_unit_type値に特定されることができる。
【0126】
一方、前述したように、一つのピクチャは、複数のスライスを含むことができ、一つのスライスは、スライスヘッダ及びスライスデータを含むことができる。この場合、一つのピクチャ内の複数のスライス(スライスヘッダ及びスライスデータ集合)に対して一つのピクチャヘッダがさらに付加されることができる。前記ピクチャヘッダ(ピクチャヘッダシンタックス)は、前記ピクチャに共通に適用できる情報/パラメータを含むことができる。本文書において、スライスは、タイルグループに混用または代替されることができる。また、本文書において、スライスヘッダは、タイプグループヘッダに混用または代替されることができる。
【0127】
前記スライスヘッダ(スライスヘッダシンタックス)は、前記スライスに共通に適用できる情報/パラメータを含むことができる。前記APS(APSシンタックス)またはPPS(PPSシンタックス)は、一つ以上のスライスまたはピクチャに共通に適用できる情報/パラメータを含むことができる。前記SPS(SPSシンタックス)は、一つ以上のシーケンスに共通に適用できる情報/パラメータを含むことができる。前記VPS(VPSシンタックス)は、多重レイヤに共通に適用できる情報/パラメータを含むことができる。前記DPS(DPSシンタックス)は、ビデオ全般に共通に適用できる情報/パラメータを含むことができる。前記DPSは、CVS(coded video sequence)の接合(concatenation)に関連した情報/パラメータを含むことができる。本文書において、上位レベルシンタックス(High level syntax、HLS)とは、前記APSシンタックス、PPSシンタックス、SPSシンタックス、VPSシンタックス、DPSシンタックス、ピクチャヘッダシンタックス、スライスヘッダシンタックスのうち少なくとも一つを含むことができる。
【0128】
本文書において、エンコーディング装置からデコーディング装置にエンコーディングされてビットストリーム形態でシグナリングされる映像/ビデオ情報は、ピクチャ内のパーティショニング関連情報、イントラ/インター予測情報、レジデュアル情報、インループフィルタリング情報などを含むだけでなく、前記スライスヘッダに含まれている情報、前記ピクチャヘッダに含まれている情報、前記APSに含まれている情報、前記PPSに含まれている情報、SPSに含まれている情報、VPSに含まれている情報、及び/またはDPSに含まれている情報を含むことができる。また、前記映像/ビデオ情報は、NALユニットヘッダの情報をさらに含むことができる。
【0129】
一方、量子化など、圧縮符号化過程で発生するエラーによる原本(original)映像と復元映像の差異を補償するために、前述したように、復元サンプルまたは復元ピクチャにインループフィルタリング手順が実行されることができる。前述したように、インループフィルタリングは、エンコーディング装置のフィルタ部及びデコーディング装置のフィルタ部で実行されることができ、デブロッキングフィルタ、SAO及び/または適応的ループフィルタ(ALF)が適用されることができる。例えば、ALF手順は、デブロッキングフィルタリング手順及び/またはSAO手順が完了した後に実行されることができる。ただし、この場合も、デブロッキングフィルタリング手順及び/またはSAO手順が省略されることもできる。
【0130】
一方、コーディング効率を上げるために、前述したように、LMCS(luma mapping with chroma scaling)が適用されることができる。LMCSは、ループリシェイパ(リシェイピング)と呼ばれることができる。コーディング効率を上げるために、LMCSの制御及び/またはLMCS関連情報のシグナリングは、階層的に実行されることができる。
【0131】
図5は、本文書の一実施例によるCVSの階層的な構造を例示的に示す。CVS(coded video suquence)は、SPS(sequence parameter set)、PPS(picture parameter set)、タイルグループヘッダ(tile group header)、タイルデータ(tile data)、及び/またはCTU(ら)を含むことができる。ここで、タイルグループヘッダ及びタイルデータは、各々、スライスヘッダ及びスライスデータと呼ばれることもできる。
【0132】
SPSは、CVSで使われるようにツールをイネイブルさせるためのフラグを原始的に含むことができる。また、SPSは、ピクチャ毎に変わるパラメータに対する情報を含むPPSにより参照されることができる。符号化されたピクチャの各々は、一つ以上の符号化された長方形ドメインのタイルを含むことができる。前記タイルは、タイルグループを形成するラスタースキャンでグループ化されることができる。各タイルグループは、タイルグループヘッダというヘッダ情報でカプセル化される。各タイルは、符号化されたデータを含むCTUで構成される。ここで、データは、原本サンプル値、予測サンプル値、及びそれのルマ及びクロマ成分(ルマ予測サンプル値及びクロマ予測サンプル値)を含むことができる。
【0133】
図6は、本文書の一実施例による例示的なLMCS構造を示す。
図6のLMCS構造600は、適応的部分線形(adaptive piecewise linear、adaptive PWL)モデルに基づくルマ成分のインループマッピング(in-loop mapping)部分610と、クロマ成分に対してルマ依存的なクロマレジデュアルスケーリング(luma-dependent chroma residual scaling)部分620と、を含むことができる。インループマッピング部分610の逆量子化及び逆変換611、復元612、及びイントラ予測613ブロックは、マッピングされた(リシェイプされた(reshaped))ドメインで適用されるプロセスを示す。インループマッピング部分610のループフィルタ615、動き補償またはインター予測617ブロック、及びクロマレジデュアルスケーリング部分620の復元622、イントラ予測623、動き補償またはインター予測624、ループフィルタ625ブロックは、本来の(マッピングされない(non-mapped)、リシェイプされない)ドメインで適用されるプロセスを示す。
【0134】
図6で説明したように、LMCSがイネイブルされると、インバースリシェイピング(マッピング)プロセス614、フォワードリシェイピング(マッピング)プロセス618、及びクロマスケーリングプロセス621のうち少なくとも一つが適用されることができる。例えば、インバースリシェイピングプロセスは、復元されたピクチャの(復元された)ルマサンプル(または、ルマサンプルまたはルマサンプルアレイ)に適用されることができる。インバースリシェイピングプロセスは、ルマサンプルのピースワイズ関数(インバース)インデックス(piecewise function(inverse)index)に基づいて実行されることができる。ピースワイズ関数(インバース)インデックスは、ルマサンプルが属するピース(または、部分)を識別することができる。インバースリシェイピングプロセスの出力は、修正された(復元)ルマサンプル(または、修正されたルマサンプルまたは修正されたルマサンプルアレイ)である。LMCSは、タイルグループ(または、スライス)、ピクチャまたはより高いレベルでイネイブルされ、またはデセイブルされることができる。
【0135】
フォワードリシェイピングプロセス及び/またはクロマスケーリングプロセスは、復元されたピクチャを生成するために適用されることができる。ピクチャは、ルマサンプルとクロマサンプルを含むことができる。ルマサンプルを有する復元されたピクチャは、復元されたルマピクチャと呼ばれることができ、クロマサンプルを有する復元されたピクチャは、復元されたクロマピクチャと呼ばれることができる。復元されたルマピクチャと復元されたクロマピクチャとの組み合わせは、復元されたピクチャと呼ばれることができる。復元されたルマピクチャは、フォワードリシェイピングプロセスに基づいて生成されることができる。例えば、インター予測が現在ブロックに適用される場合、フォワードリシェイピングは、参照ピクチャの(復元された)ルマサンプルに基づいて導出されたルマ予測サンプルに適用される。参照ピクチャの(復元された)ルマサンプルは、インバースリシェイピングプロセスに基づいて生成されるため、フォワードリシェイピングがルマ予測サンプルに適用されてリシェイプされた(マッピングされた)ルマ予測サンプルが導出されることができる。フォワードリシェイピングプロセスは、ルマ予測サンプルのピースワイズ関数インデックスに基づいて実行されることができる。ピースワイズ関数インデックスは、インター予測に使われた参照ピクチャのルマ予測サンプルの値またはルマサンプルの値に基づいて導出されることができる。イントラ予測(または、IBC(intra block copy))が現在ブロックに適用される場合、インバースリシェイピングプロセスが現在ピクチャの復元されたサンプルにまだ適用されなかったため、フォワードマッピングは必要でない。復元されたルマピクチャで(復元された)ルマサンプルは、リシェイプされたルマ予測サンプル及び対応するルマレジデュアルサンプルに基づいて生成される。
【0136】
復元されたクロマピクチャは、クロマスケーリングプロセスに基づいて生成されることができる。例えば、復元されたクロマピクチャでの(復元された)クロマサンプルは、現在ブロックでのクロマ予測サンプル及びクロマレジデュアルサンプル(c
res)に基づいて導出されることができる。クロマレジデュアルサンプル(c
res)は、現在ブロックに対する(スケーリングされた)クロマレジデュアルサンプル(c
resScale)及びクロマレジデュアルスケーリングファクタ(cScaleInvは、varScaleと呼ばれることができる)に基づいて導出される。クロマレジデュアルスケーリングファクタは、現在ブロックでリシェイプされたルマ予測サンプル値に基づいて計算されることができる。例えば、スケーリングファクタは、リシェイプされたルマ予測サンプル値(Y′
pred)の平均ルマ値(ave(Y′
pred))に基づいて計算されることができる。参考までに、
図6において、逆変換/逆量子化に基づいて導出された(スケーリングされた)クロマレジデュアルサンプルは、c
resScaleと呼ばれ、前記(スケーリングされた)クロマレジデュアルサンプルに(インバース)スケーリング手順を実行して導出されるクロマレジデュアルサンプルは、c
resと呼ばれることができる。
【0137】
図7は、本文書の他の一実施例によるLMCS構造を示す。
図7は、
図6を参照して説明する。ここでは、
図7のLMCS構造と
図6のLMCS構造600との間の差異を主に説明する。
図7のインループマッピング部分及びルマ依存的なクロマレジデュアルスケーリング部分は、
図6のインループマッピング部分610及びルマ依存的なクロマレジデュアルスケーリング部分620と同一/類似するように動作できる。
【0138】
図7を参照すると、ルマ復元サンプルに基づいてクロマレジデュアルスケーリングファクタを導出することができる。この場合、復元ブロックの内部ルマ復元サンプルでない復元ブロック外部の隣接ルマ復元サンプルに基づいて平均ルマ値(avgY
r)を取得することができ、前記平均ルマ値(avgY
r)に基づいてクロマレジデュアルスケーリングファクタを導出することができる。ここで、前記隣接ルマ復元サンプルは、現在ブロックの隣接ルマ復元サンプルであり、または前記現在ブロックを含むVPDU(virtual pipeline data units)の隣接ルマ復元サンプルである。例えば、対象ブロックにイントラ予測が適用される場合、前記イントラ予測に基づいて導出された予測サンプルに基づいて、復元サンプルが導出されることができる。また、例えば、前記対象ブロックにインター予測が適用される場合、前記インター予測に基づいて導出された予測サンプルにフォワードマッピングを適用し、リシェイプされた(または、フォワードマッピングされた)ルマ予測サンプルに基づいて復元サンプルが生成されることができる。
【0139】
ビットストリームを介してシグナリングされる動映像/映像情報は、LMCSパラメータ(LMCSに対する情報)を含むすることができる。LMCSパラメータは、HLS(high level syntax、スライスヘッダシンタックスを含む)などで構成されることができる。LMCSパラメータ及び構成の詳細な説明は、後述する。前述したように、本文書(及び、以下の実施例)で説明されたシンタックス表は、エンコーダ端で構成/エンコーディングされることができ、ビットストリームを介してデコーダ端にシグナリングされることができる。デコーダは、シンタックス表でLMCSに対する情報(シンタックス構成要素の形態で)をパーシング/デコーディングすることができる。以下で説明する一つ以上の実施例は、組み合わせ可能である。エンコーダは、LMCSに関する情報に基づいて現在ピクチャをエンコーディングすることができ、そして、デコーダは、LMCSに関する情報に基づいて現在ピクチャをデコーディングすることができる。
【0140】
ルマ成分のインループマッピングは、圧縮効率を向上させるために動的範囲にわたってコードワードを再分配することによって入力信号の動的範囲を調節することができる。ルママッピングのために、フォワードマッピング(リシェイピング)関数(FwdMap)と、前記フォワードマッピング関数(FwdMap)に対応するインバースマッピング(リシェイピング)関数(InvMap)と、が使われることができる。フォワードマッピング関数(FwdMap)は、部分線形モデルを利用してシグナリングされることができ、例えば、部分線形モデルは、16個のピース(pieces)またはbinsを有することができる。前記ピースは、同じ長さを有することができる。一例において、インバースマッピング関数(InvMap)は、別途にシグナリングされず、その代わりにフォワードマッピング関数(FwdMap)から導出されることができる。即ち、インバースマッピングは、フォワードマッピングの関数である。例えば、インバースマッピング関数は、y=xを基準にしてフォワードマッピング関数を対称させた関数である。
【0141】
インループ(ルマ)リシェイピング(reshaping)は、リシェイプされたドメインで入力ルマ値(サンプル)を変更された値でマッピングするのに使われることができる。リシェイプされた値は符号化され、そして、復元後に本来の(マッピングされない、リシェイプされない)ドメインで再びマッピングされることができる。クロマレジデュアルスケーリングは、ルマ信号とクロマ信号との間の差異を補償するために適用されることができる。インループリシェイピングは、リシェイパモデルのためのハイレバルシンタックスを指定して実行されることができる。リシェイパモデルシンタックスは、部分線形モデル(PWLモデル)をシグナリングすることができる。部分線形モデルに基づいてフォワードルックアップテーブル(FwdLUT)及び/またはインバースルックアップテーブル(InvLUT)が導出されることができる。一例として、フォワードルックアップテーブル(FwdLUT)が導出された場合、フォワードルックアップテーブル(FwdLUT)に基づいてインバースルックアップテーブル(InvLUT)が導出されることができる。フォワードルックアップテーブル(FwdLUT)は、入力ルマ値Yiを変更された値Yrでマッピングし、インバースルックアップテーブル(InvLUT)は、変更された値に基づく復元値Yrを復元された値Y′iでマッピングすることができる。復元された値Y′iは、入力ルマ値Yiに基づいて導出されることができる。
【0142】
一例において、SPSは、以下の表1のシンタックスを含むことができる。表1のシンタックスは、ツールイネイブリングフラグとしてsps_reshaper_enabled_flagを含むことができる。ここで、sps_reshaper_enabled_flagは、リシェイパがCVS(coded video sequence)で使われるかを指定するのに利用されることができる。即ち、sps_reshaper_enabled_flagは、SPSでリシェイピングをイネイブリングするフラグである。一例において、表1のシンタックスは、SPSの一部分である。
【0143】
【0144】
一例において、sps_seq_parameter_set_id及びsps_reshaper_enabled_flagが示されることができるセマンティクスは、以下の表2の通りである。
【0145】
【0146】
一例において、タイルグループヘッダまたはスライスヘッダは、以下の表3または表4のシンタックスを含むことができる。
【0147】
【0148】
【0149】
前記表3または表4のシンタックスに含まれているシンタックス要素のセマンティクスは、例えば、以下の表に開示された事項を含むことができる。
【0150】
【0151】
【0152】
一例として、sps_reshaper_enabled_flagがパーシングされると、タイルグループヘッダは、ルックアップテーブル(FwdLUT及び/またはInvLUT)を構成するのに使われる追加的なデータ(例えば、前記表5または表6に含まれている情報)をパーシングすることができる。このために、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)である場合、現在タイルグループ(または、現在スライス)に対してリシェイパが存在しないと指示されることができる。
【0153】
リシェイパが存在し、そして、リシェイパが現在タイルグループ(または、現在スライス)でイネイブルされた場合、リシェイパモデル(例えば、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(または、真)である場合、リシェイパモデルは、現在タイルグループ(または、スライス)に使われたと指示されることができる。
【0154】
一例として、例えば、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)である。
【0155】
リシェイパモデル(例えば、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または偽である場合)、現在タイルグループ(または、スライス)に対してクロマレジデュアルスケーリングがデセイブルされることが指示されることができる。
【0156】
前述されたリシェイピングの目的は、ルックアップテーブル(FwdLUT及び/またはInvLUT)を構成するために必要なデータをパーシングすることにある。一例において、前記パーシングされたデータに基づいて構成されたルックアップテーブルは、許容可能なルマ値範囲の分布を複数個のbin(例えば、16個)に分けることができる。したがって、与えられたbin内にあるルマ値は、変更されたルマ値にマッピングされることができる。
【0157】
図8は、例示的なフォワードマッピングを示すグラフを示す。
図8では例示的に5個のbinのみが示される。
【0158】
図8を参照すると、x軸は入力ルマ値を示し、y軸は変更された出力ルマ値を示す。x軸は、5個のbinまたはピースに分けられ、各binは、長さLを有する。即ち、変更されたルマ値にマッピングされた5個のbinは、互いに同じ長さを有する。フォワードルックアップテーブル(FwdLUT)は、タイルグループヘッダで利用可能なデータ(例えば、リシェイパデータ)を使用して構成されることができ、これからマッピングが容易になる。
【0159】
一実施例において、前記binインデックスと関連した出力ピボット地点(output pivot points)が計算されることができる。出力ピボット地点は、ルマコードワードリシェイピングの出力範囲の最小及び最大の境界を設定(マーキング)することができる。出力ピボット地点を計算する過程は、コードワードの数の部分累積(piecewise cumulative)分布関数に基づいて実行されることができる。前記出力ピボット範囲は、使われるbinの最大個数及びルックアップテーブル(FwdLUTまたはInvLUT)の大きさに基づいて分割されることができる。一例として、前記出力ピボット範囲は、binの最大個数とルックアップテーブルの大きさとの積に基づいて分割されることができる。例えば、binの最大個数とルックアップテーブルの大きさとの積が1024である場合、前記出力ピボット範囲は、1024個のエントリーに分割されることができる。前記出力ピボット範囲の分割は、スケーリングファクタに基づいて(利用して)実行(適用または達成)されることができる。一例において、スケーリングファクタは、以下の数式1に基づいて導出されることができる。
【0160】
【0161】
前記数式1において、SFは、スケーリングファクタを示し、y1及びy2は、各々のbinに対応する出力ピボット地点を示す。また、FP_PREC及びcは、事前に決定された定数である。前記数式1に基づいて決定されるスケーリングファクタは、フォワードリシェイピングのためのスケーリングファクタと呼ばれることができる。
【0162】
他の実施例において、インバースリシェイピング(インバースマッピング)と関連して、binの定義された範囲(例えば、reshaper_model_min_bin_idxからreshape_model_max_bin_idxまで)に対し、フォワードルックアップテーブル(FwdLUT)のマッピングされたピボット地点に対応する入力リシェイプされたピボット地点及びマッピングされたインバース出力ピボット地点(binインデックス*初期コードワードの数で与えられる)がパッチされる。他の例において、スケーリングファクタ(SF)は、以下の数式2に基づいて導出されることができる。
【0163】
【0164】
前記数式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値に対応するピボット値が指定される。
【0165】
以下の表7は、一実施例によるリシェイパモデルのシンタックスを示す。前記リシェイパモデルは、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と混用されて使われることができる。
【0166】
【0167】
前記表7のシンタックスに含まれているシンタックス要素のセマンティクスは、例えば、以下の表に開示された事項を含むことができる。
【0168】
【0169】
【0170】
本文書によるルマサンプルに対するインバースマッピング手順は、以下の表のような標準文書形式に記述されることができる。
【0171】
【0172】
本文書によるルマサンプルに対するピースワイズ関数インデックス(piecewise function index)手順の識別は、以下の表のような標準文書形式に記述されることができる。表10において、idxYInvは、インバースマッピングインデックスと呼ばれることができ、インバースマッピングインデックスは、復元ルマサンプル(lumaSample)に基づいて導出されることができる。
【0173】
【0174】
前述された実施例及び例示に基づいてルママッピングが実行されることができ、前述されたシンタックス及びそれに含まれている構成要素は、単に例示的な表現に過ぎず、実施例が詳述された表や数式により制限されるものではない。以下ではルママッピングに基づいてクロマレジデュアルスケーリング(レジデュアルサンプルのクロマ成分に対するスケーリング)を実行する方法を説明する。
【0175】
(ルマ依存的な(luma-dependent))クロマレジデュアルスケーリングは、ルマサンプルとこれに対応するクロマサンプルとの間の差異を補償するためである。例えば、クロマレジデュアルスケーリングがイネイブルされるかどうかは、タイルグループレベルまたはスライスグループレベルでシグナリングされることができる。一例において、ルママッピングがイネイブルされ、デュアルツリー分割(dual tree partitioning)が現在タイルグループに適用されない場合、ルマ依存的なクロマレジデュアルスケーリングがイネイブルされるかどうかを指示するために追加的なフラグがシグナリングされることができる。他の例において、ルママッピングが使われない場合、またはデュアルツリー分割が現在タイルグループに使われない場合、ルマ依存的なクロマレジデュアルスケーリングがデセイブルされることができる。他の例において、クロマレジデュアルスケーリングは、4より小さいまたは同じ大きさを有するクロマブロックに対しては常にデセイブルされることができる。
【0176】
クロマレジデュアルスケーリングは、該当ルマ予測ブロック(イントラ予測モード及び/またはインター予測モードが適用された予測ブロックのルマ成分)の平均値に基づいて行われることができる。エンコーダ端及び/またはデコーダ端でのスケーリング演算は、以下の数式3に基づいて固定小数点定数演算で具現されることができる。
【0177】
【0178】
前述された数式3において、c’は、スケーリングされたクロマレジデュアルサンプル(レジデュアルサンプルのスケーリングされたクロマ成分)を示し、cは、クロマレジデュアルサンプル(レジデュアルサンプルのクロマ成分)を示し、sは、クロマレジデュアルスケーリングファクタを示し、CSCALE_FP_PRECは、事前に決定された定数を示すことができ、例えば、CSCALE_FP_PRECは、11である。
【0179】
図9は、本文書の一実施例によってクロマレジデュアルスケーリングインデックスを導出する方法を示す流れ図である。
図9と共に説明される方法は、
図6及びそれと関連した説明に含まれている表、数式、変数、アレイ、関数に基づいて実行されることができる。
【0180】
S910ステップにおいて、予測モード情報に基づいて予測モードがイントラ予測モードであるか、または、インター予測モードであるかが判断されることができる。予測モードがイントラ予測モードである場合、現在ブロックまたは現在ブロックの予測サンプルは、既にリシェイプされた(マッピングされた)領域にあると見なされる。予測モードがインター予測モードである場合、現在ブロックまたは現在ブロックの予測サンプルは、本来の(マッピングされない、リシェイプされない)領域にあると見なされる。
【0181】
S920ステップにおいて、予測モードがイントラ予測モードである場合、現在ブロック(または、現在ブロックのルマ予測サンプル)の平均が計算(導出)されることができる。即ち、既にリシェイプされた領域にある現在ブロックの平均が直接的に計算される。平均は、平均値とも呼ばれる。
【0182】
S921ステップにおいて、予測モードがインター予測モードである場合、現在ブロックのルマ予測サンプルに対してフォワードリシェイピング(フォワードマッピング)が実行(適用)されることができる。フォワードリシェイピングを介して、インター予測モードに基づくルマ予測サンプルは、本来の領域からリシェイプされた領域にマッピングされることができる。一例において、ルマ予測サンプルに対するフォワードリシェイピングは、前述した表4と共に説明されたリシェイパモデルに基づいて実行されることができる。
【0183】
S922ステップにおいて、フォワードリシェイプされた(フォワードマッピングされた)ルマ予測サンプルの平均が計算(導出)されることができる。即ち、フォワードリシェイプされた結果に対して平均化過程が実行されることができる。
【0184】
S930ステップにおいて、クロマレジデュアルスケーリングインデックスが計算されることができる。予測モードがイントラ予測モードである場合、前記ルマ予測サンプルの平均に基づいて前記クロマレジデュアルスケーリングインデックスが計算されることができる。予測モードがインター予測モードである場合、フォワードリシェイプされたルマ予測サンプルの平均に基づいて前記クロマレジデュアルスケーリングインデックスが計算されることができる。
【0185】
一実施例において、前記クロマレジデュアルスケーリングインデックスは、forループ構文に基づいて計算されることができる。以下の表は、前記クロマレジデュアルスケーリングインデックスの導出(計算)のための例示的なforループ構文を示す。
【0186】
【0187】
前記表11において、idxSは、前記クロマレジデュアルスケーリングインデックスを示し、idxSは、if構文の条件を満たすクロマレジデュアルスケーリングインデックスが求められたかを識別するインデックスを示し、Sは、事前に決定された定数を示し、そして、MaxBinIdxは、許容可能な最大binインデックスを示す。ReshapPivot[idxS+1]は、前述した表7及び/または表8に基づいて導出されることができる。
【0188】
一実施例において、クロマレジデュアルスケーリングファクタは、前記クロマレジデュアルスケーリングインデックスに基づいて導出されることができる。以下の数式4は、前記クロマレジデュアルスケーリングファクタの導出のための一例である。
【0189】
【0190】
前記数式4において、sは、前記クロマレジデュアルスケーリングファクタを示し、そして、ChromaScaleCoefは、前述した表7及び/または表8に基づいて導出された変数(または、アレイ)である。
【0191】
前述したように、前記参照サンプルの平均ルマ値を取得することができ、前記平均ルマ値に基づいてクロマレジデュアルスケーリングファクタを導出することができる。前記クロマレジデュアルスケーリングファクタに基づいてクロマ成分レジデュアルサンプルに対するスケーリングを実行し、スケーリングされたクロマ成分レジデュアルサンプルに基づいてクロマ成分復元サンプルが生成されることができることは、前述の通りである。
【0192】
本文書の一実施例では、前述したLMCSを効率的に適用するためのシグナリング構造が提案される。本文書の一実施例によると、例えば、LMCSデータは、HLS(例えば、APS)に含まれることができ、APSの下位レベルであるヘッダ情報(例えば、ピクチャヘッダ、スライスヘッダ)を介して、参照されるAPS IDをシグナリングすることでLMCSモデル(リシェイパモデル)を適応的に導出することができる。前記LMCSモデルは、LMCSパラメータに基づいて導出されることができる。また、例えば、前記ヘッダ情報を介して複数のAPS IDがシグナリングされることができ、これを介して同一ピクチャ/スライス内のブロック単位で互いに異なるLMCSモデルを適用することができる。
【0193】
本文書による一実施例ではLMCSに必要な演算を効率的に実行する方法が提案される。表8で詳述されたセマンティクスによると、InvScaleCoeff[i]の導出のためにピース長さ(piece length)lmcsCW[i]による割り算演算が要求される。ただし、前記ピース長さが2の累乗(power of 2)でない場合、前記割り算演算は、ビットシフティングで実行されることができない。
【0194】
例えば、InvScaleCoeffの計算は、一つのスライス当たり最大16回の割り算演算が必要である。前述した表8によると、10ビットコーディングの場合、lmcsCW[i]の範囲は、8から511までであるため、LUTを使用してlmcsCW[i]による割り算演算を具現するためには、LUTのサイズが504にならなければならない。また、12ビットコーディングの場合、lmcsCW[i]の範囲は、32から2047までであるため、LUTを使用してlmcsCW[i]による割り算演算を具現するためには、LUT大きさが2016にならなければならない。即ち、割り算演算は、ハードウェア具現において相当な費用がかかることができ、したがって、割り算演算は、可能ならば省略される方がよい。
【0195】
本実施例の一観点で、lmcsCW[i]を固定された数(または、事前に決定された数または所定の数(pre-defined number or pre-determined number))の倍数に制限できる。それによって、割り算演算のためのLUT(lookup table)が(LUTの容量または大きさが)減少されることができる。例えば、lmcsCW[i]が2の倍数である場合、割り算演算を代替するためのLUTの大きさが半分に減ることができる。
【0196】
本実施例の他の観点で、高いインターナルビット深度コーディングが提案される。高いインターナルビット深度コーディングは、lmcsCW[i]の範囲制限の上位条件である。例えば、コーディングビット深度が10より高い場合、lmcsCW[i]は、1<<(BitDepthY-10)の倍数に制限されることができる。ここで、BitDepthYは、ルマビット深度である。それによって、lmcsCW[i]の可能な値は、コーディングビット深度によって変わらないようになり、したがって、前記InvScaleCoeff計算のためのLUTのサイズは、コーディングビット深度が高いとしても増加しなくなる。一例において、12ビットインターナルコーディングビット深度に対して、lmcsCW[i]の値は、4の倍数に制限されることができ、それによって、割り算演算を代替するためのLUTのサイズは、10ビットコーディングのために使われるLUTのサイズと同じである。本観点は、単独でも実施可能であるが、前述された観点と組み合わせられて実施されることもできる。
【0197】
本実施例の他の観点で、lmcsCW[i]をより狭い範囲に制限することができる。例えば、lmcsCW[i]は、(OrgCW>>1)から(OrgCW<<1)-1までの範囲内に制限されることができる。10ビットコーディングの場合、lmcsCW[i]の範囲は[32、127]であり、96のサイズを有するLUTのみでもInvScaleCoeffを計算することができる。
【0198】
本実施例の他の観点で、lmcsCW[i]を2の累乗に近接する数値に近似してリシェイパの設計に使用することができる。それによって、インバースマッピング手順での割り算演算は、ビットシフティングで実行されることができる(代替されることができる)。
【0199】
本文書による一実施例ではLMCSコードワード範囲の制限が提案される。前述した表8によると、LMCSコードワードの値は、(OrgCW>>3)から(OrgCW<<3)-1までの範囲内にある。LMCSピース長さの広い範囲によって、RspCW[i]とOrgCWとの間の大きい差が発生する場合、視覚的劣化の恐れがある。
【0200】
本文書による一実施例によると、LMCS PWLマッピングのコードワードを狭い範囲に制限することが提案される。例えば、lmcsCW[i]の範囲は、(OrgCW>>1)から(OrgCW<<1)-1までの範囲にある。
【0201】
本文書による一実施例では、LMCSでのクロマレジデュアルスケーリングのために単一クロマレジデュアルスケーリングファクタの使用が提案される。クロマレジデュアルスケーリングファクタ導出のための既存方法は、該当ルマブロックの平均値を使用して、インバースルママッピングでの各ピースの傾きを該当スケーリングファクタとして導出した。また、該当ルマブロックの利用可能性を要求するピースワイズインデックスを識別するための手順によってレイテンシー問題が発生された。これはハードウェア具現において好ましくない。本文書の一実施例を介して、クロマブロックでのスケーリングは、ルマブロック値に依存しなくなってピースワイズインデックス識別が必要でない。したがって、レイテンシー問題無しでLMCSでのクロマレジデュアルスケーリング手順が実行されることができる。
【0202】
本文書による一実施例において、単一クロマスケーリングファクタは、ルマLMCS情報に基づいてエンコーダとデコーダの両方ともで導出されることができる。LMCSルマモデルが受信されると、クロマレジデュアルスケーリングファクタがアップデートされることができる。例えば、LMCSモデルがアップデートされる場合、単一クロマレジデュアルスケーリングファクタがアップデートされることができる。
【0203】
以下の表は、本実施例によって単一クロマスケーリングファクタの取得のための一例を示す。
【0204】
【0205】
表12を参照すると、単一クロマスケーリングファクタ(例えば、ChromaScaleCoeffまたはChromaScaleCoeffSingle)は、lmcs_min_bin_idxとlmcs_max_bin_idxとの間の範囲内の全てのピース(pieces)のインバースルママッピング傾きを平均化することによって取得されることができる。
【0206】
図10は、本文書の一実施例によるピボットポイントの線形フィッティングを示す。
図10ではピボットポイントP1、Ps、P2が示される。以下の実施例またはそれらの例示は、
図10を参照して説明する。
【0207】
本実施例の一例において、ピボットポイントlmcs_min_bin_idxとlmcs_max_bin_idx+1との間のルマPWLマッピングの線形近似に基づいて単一クロマスケーリングファクタが取得されることができる。即ち、線形マッピングのインバース傾きがクロマレジデュアルスケーリングファクタとして使われることができる。例えば、
図10の線形ライン1(linear line 1)は、ピボットポイントP1、P2を連結する一直線である。
図10を参照すると、P1において、入力値はx1であり、マッピングされた値は0であり、そして、P2において、入力値はx2であり、マッピングされた値はy2である。線形ライン1のインバース傾き(インバーススケール)は、(x2-x1)/y2であり、そして、単一クロマスケーリングファクタChromaScaleCoeffSingleは、ピボットポイントP1、P2の入力値及びマッピングされた値、及び以下の数式に基づいて計算されることができる。
【0208】
【0209】
数式5において、CSCALE_FP_PRECは、シフトファクタ(shift factor)を示し、例えば、CSCALE_FP_PRECは、事前に決定された定数である。一例において、CSCALE_FP_PRECは、11である。
【0210】
本実施例による他の例において、
図10を参照すると、ピボットポイントPsにおいて、入力値はmin_bin_idx+1であり、マッピングされた値はysである。それによって、線形ライン1のインバース傾き(インバーススケール)は、(xs-x1)/ysで計算されることができ、単一クロマスケーリングファクタChromaScaleCoeffSingleは、ピボットポイントP1、Psの入力値及びマッピングされた値、及び以下の数式に基づいて計算されることができる。
【0211】
【0212】
数式6において、CSCALE_FP_PRECは、シフトファクタ(ビットシフティングのためのファクタ)を示し、例えば、CSCALE_FP_PRECは、事前に決定された定数である。一例において、CSCALE_FP_PRECは、11であり、CSCALE_FP_PRECに基づいてインバーススケールに対するビットシフティングが実行されることができる。
【0213】
本実施例による他の例において、単一クロマレジデュアルスケーリングファクタは、線形近似ライン(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は、前述した表8参照)である。以下の表は、前述された実施例によって単一クロマスケーリングファクタを取得する例示を示す。
【0214】
【0215】
表13を参照すると、単一クロマスケーリングファクタ(例えば、ChromaScaleCoeffSingle)は、2個のピボットポイント(即ち、lmcs_min_bin_idx、lmcs_max_bin_idx)から取得されることができる。例えば、線形マッピングの逆スロープ(inverse slope of linear mapping)は、クロマスケーリングファクタとして使われることができる。
【0216】
本実施例の他の例において、単一クロマスケーリングファクタは、ピボットポイントの線形フィッティング(linear fitting)により取得されて線形フィッティングと既存PWLマッピングとの間のエラー(または、平均自乗エラー)を最小化することができる。本例示は、単純にlmcs_min_bin_idxとlmcs_max_bin_idxの2個のピボットポイントを単純に連結することより正確である。最適の線形マッピングを探すための多様な方法が存在でき、下記では一例を説明する。
【0217】
一例において、最小自乗エラーの和を最小化するための線形適合方程式(linear fitting equation)y=b1*x+b0のパラメータb1、b0は、以下の数式7及び/または表8に基づいて計算されることができる。
【0218】
【0219】
【0220】
ここで、xは原本ルマ値を示し、yはリシェイプされたルマ値を示す。具体的に
、
は、各々、x、yの平均を示し、xi、yiは、i番目のピボットポイントの値を示す。
【0221】
図10を参照すると、線形マッピングを識別するための他の近似が下記のように与えられることができる:
【0222】
-lmcs_min_bin_idxとlmcs_max_bin_idx+1でのPWLマッピングのピボットポイントを連結することによって、線形ライン1取得、OrgCWの倍数である入力値を有する線形ラインでのlmcs_pivots_linear[i]を計算
【0223】
-線形ライン1及びPWLマッピングを利用してピボットポイントのマッピングされた値間の差を合算
【0224】
-平均差(avgDiff)を取得
【0225】
-平均差によって(例えば、2*avgDiff)線形ラインの最後のピボットポイントを調整
【0226】
-調整された線形ラインの逆スロープ(inverse slope)をクロマレジデュアルスケールとして使用
【0227】
前述された線形フィッティングによって、クロマスケーリングファクタ(即ち、フォワードマッピングの逆スロープ(inverse slope of forward mapping))は、以下の数式9または数式10に基づいて導出される(取得される)ことができる。
【0228】
【0229】
【0230】
前述された数式において、lmcs_pivots_lienar[i]は、線形マッピングのマッピングされた値である。線形マッピングを介して、最小及び最大binインデックス間のPWLマッピングの全てのピースは、同じLMCSコードワード(lmcsCW)を有することができる。即ち、lmcs_pivots_linear[lmcs_min_bin_idx+1]は、lmcsCW[lmcs_min_bin_idx]と同じである。
【0231】
また、数式9及び数式10において、CSCALE_FP_PRECは、シフトファクタ(ビットシフティングのためのファクタ)を示し、例えば、CSCALE_FP_PRECは、事前に決定された定数である。一例において、CSCALE_FP_PRECは、11である。
【0232】
単一クロマレジデュアルスケーリングファクタ(ChromaScaleCoeffSingle)を介して、該当ルマブロックの平均を計算する必要がなく、そして、PWL線形マッピングでインデックスをさがす必要がない。したがって、クロマレジデュアルスケーリングを利用したコーディングの効率が高まることができる。
【0233】
本文書の他の実施例において、エンコーダは、単一クロマスケーリングファクタに関するパラメータを決定することができ、前記パラメータをデコーダにシグナリングすることができる。シグナリングを介して、エンコーダは、クロマレジデュアルスケーリングファクタを導出するためにエンコーダで利用可能な他の情報を活用可能にできる。本実施例は、クロマレジデュアルスケーリングレイテンシー問題を除去することにその目的がある。
【0234】
例えば、クロマレジデュアルスケーリングファクタを決定するために使われる線形マッピングを識別するための手順は、下記のように与えられることができる:
【0235】
-lmcs_min_bin_idxとlmcs_max_bin_idx+1でのPWLマッピングのピボットポイントを連結することによって、線形ライン1取得、OrgCWの倍数である入力値を有する線形ラインでのlmcs_pivots_linear[i]を計算
【0236】
-線形ライン1及びルマPWLマッピングのピボットポイントを利用してピボットポイントのマッピングされた値間の差の加重和を取得
【0237】
-加重値が適用された(weighted)平均差(avgDiff)を取得
【0238】
-加重値が適用された平均差によって(例えば、2*avgDiff)線形ライン1の最後のピボットポイントを調整
【0239】
-調整された線形ラインの逆スロープ(inverse slope)をクロマレジデュアルスケールとして使用
【0240】
以下の表は、クロマスケーリングファクタ導出のためにy値をシグナリングする例示的なシンタックスを示す。
【0241】
【0242】
表14において、シンタックス要素lmcs_chroma_scaleは、LMCSクロマレジデュアルスケーリングのために使われる単一クロマ(レジデュアル)スケーリングファクタを明示(specify)することができる(ChromaScaleCoeffSingle=lmcs_chroma_scale)。即ち、クロマレジデュアルスケーリングファクタに関する情報が直接的にシグナリングされ、前記シグナリングされた情報がクロマレジデュアルスケーリングファクタとして導出されることができる。他の表現としては、シグナリングされたクロマレジデュアルスケーリングファクタに関する情報の値が単一クロマレジデュアルスケーリングファクタの値として(直接的に)導出されることができる。ここで、シンタックス要素lmcs_chroma_scaleは、他のLMCSデータ(例えば、コードワードの絶対値、符号に関するシンタックス要素など)と共にシグナリングされることができる。
【0243】
その代案としては、エンコーダは、クロマレジデュアルスケーリングファクタを導出するために必要なパラメータのみをデコーダにシグナリングすることができる。デコーダでクロマレジデュアルスケーリングファクタを導出するために、入力値xとマッピングされた値yが必要である。x値は、bin長さを示し、既にデコーダ端にも知られた値であるため、シグナリングされる必要がない。結局、クロマレジデュアルスケーリングファクタ導出のためにはただy値のみがシグナリングされる必要がある。ここで、y値は、線形マッピングにおける任意のピボットポイントのマッピングされた値である(例えば、
図10のP2またはPsのマッピングされた値)。
【0244】
以下の表は、クロマレジデュアルスケーリングファクタ導出のためにマッピングされた値をシグナリングする例示を示す。
【0245】
【0246】
【0247】
前述した表15及び表16のシンタックスのうち一つがエンコーダとデコーダにより明示される(specified)任意の線形ピボットポイントでy値をシグナリングするために使われることができる。即ち、エンコーダ及びデコーダは、互いに同じシンタックスを使用してy値を導出することができる。
【0248】
まず、表15による実施例を説明する。表15において、lmcs_cw_linearは、PsまたはP2にマッピングされた値を示すことができる。即ち、表15による実施例において、lmcs_cw_linearを介して固定された数字がシグナリングされることができる。
【0249】
本実施例による一例において、lmcs_cw_linearが一つのbin(即ち、
図10のPsでのlmcs_pivots_linear[lmcs_min_bin_idx+1])にマッピングされた値を示す場合、クロマスケーリングファクタは、以下の数式に基づいて導出されることができる。
【0250】
【0251】
本実施例による他の例において、lmcs_cw_linearがlmcs_max_bin_idx+1(即ち、
図10のP2でのlmcs_pivots_linear[lmcs_max_bin_idx+1])を示す場合、クロマスケーリングファクタは、以下の数式に基づいて導出されることができる。
【0252】
【0253】
前述された数式において、CSCALE_FP_PRECは、シフトファクタ(ビットシフティングのためのファクタ)を示し、例えば、CSCALE_FP_PRECは、事前に決定された定数である。一例において、CSCALE_FP_PRECは、11である。
【0254】
次に、表16による実施例を説明する。本実施例において、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](即ち、
図10のPs)でのマッピングされた値を示す場合、lmcs_cw_linear_delta及びlmcs_cw_linearは、以下の数式に基づいて導出されることができる。
【0255】
【0256】
【0257】
本実施例の他の例において、lmcs_cw_linearがlmcs_pivots_linear[lmcs_max_bin_idx+1](即ち、
図10のP2)でのマッピングされた値を示す場合、lmcs_cw_linear_delta及びlmcs_cw_linearは、以下の数式に基づいて導出されることができる。
【0258】
【0259】
【0260】
前述された数式において、OrgCWは、前述した表8に基づいて導出された値である。
【0261】
図11は、本文書の一実施例による線形リシェイピング(または、線形リシェイパ、線形マッピング)の一例を示す。即ち、本文書の一実施例では、LMCSで線形リシェイパの使用が提案される。例えば、
図11の例示は、フォワード線形リシェイピング(マッピング)に関連付けられる。
【0262】
既存例において、LMCSは、固定された16個のピースを有するピースワイズ線形マッピングを使用することができる。それによって、ピボットポイント間の突然なトランジション(transition)により避けられない劣化が発生できるため、リシェイパ設計の複雑度が上がることができる。また、リシェイパのインバースルママッピングの場合、ピースワイズ関数インデックスを識別しなければならない。ピースワイズ関数インデックス識別手順は、多くの比較実行手順が含まれている繰り返しプロセス(iteration process)である。また、対応するルマブロック平均を使用するクロマレジデュアルスケーリングのために、ルマピースワイズインデックス識別手順が必要である。これは複雑度問題をもたらすだけでなく、全体ルマブロックの復元に依存的なクロマレジデュアルスケーリングのレイテンシーを引き起こすことができる。このような問題の解決のためにLMCSで線形リシェイパの使用が提案され、以下、線形リシェイパに対する詳細な説明が後述される。
【0263】
図11を参照すると、線形リシェイパは、2個のピボットポイント(即ち、P1、P2)を含むことができる。P1とP2は、入力とマッピングされた値を示すことができ、例えば、P1は(minInput、0)であり、そして、P2は(maxInput、maxMapped)である。ここで、minInputは最小入力値を示し、maxInputは最大入力値を示す。入力値がminInputより小さいまたは同じ場合、0にマッピングされ、入力値がmaxInputより大きい場合、maxMappedにマッピングされる。minInputとmaxInputとの間の入力(ルマ)値は、他の値に線形的にマッピングされることができる。
図11は、マッピングの一例を示す。ピボットポイントP1、P2は、エンコーダで決定されることができ、このためにピースワイズ線形マッピングを近似するために線形フィッティングが使われることができる。
【0264】
線形リシェイパをシグナリングする方法には多様な方法がある。線形リシェイパをシグナリングする方法の一例において、各ルマ範囲は、均等なbin個数(equal number of bins)に分けられることができる。即ち、最小及び最大bin間のルママッピングは、均等に分配されることができる(達成されることができる)。例えば、全てのbinは、同じLMCSコードワード(lmcsCW)を有することができる。このために、最小及び最大binインデックスがシグナリングされることができる。また、ただ一つのセットの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)がシグナリングされる必要がある。
【0265】
以下の表は、本例示によって線形リシェイパをシグナリングするシンタックス及びセマンティクスを例示的に示す。
【0266】
【0267】
【0268】
前記表17及び表18を参照すると、シンタックス要素log2_lmcs_num_bins_minus4は、binの個数に関する情報である。前記情報に基づいてbinの個数がシグナリングされることができ、したがって、最小及び最大ピボットポイントのよりよいコントロールが可能になる。既存の他の例では、エンコーダ及び/またはデコーダがbinの(固定された)個数をシグナリング無しで導出(明示)でき、例えば、binの個数は、16または32に導出された。ただし、前記表17及び表18の例示によると、log2_lmcs_num_bins_minus4足す4は、binの個数のログ2(binary logarithm)を示すことができる。前記シンタックス要素に基づいて導出されたbinの個数は、4からルマビット深度(BitDepthY)の値までの範囲にある。
【0269】
前記表18において、ScaleCoeffSingleは、単一ルマフォワードスケーリングファクタと呼ばれることができ、InvScaleCoeffSingleは、単一ルマインバーススケーリングファクタと呼ばれることができる。単一ルマフォワードスケーリングファクタに基づいて予測ルマサンプルに対する(フォワード)マッピングが実行されることができ、そして、単一ルマインバーススケーリングファクタに基づいて復元ルマサンプルに対する(インバース)マッピングが実行されることができる。ChromaSclaeCoeffSingleは、前述されたように、単一クロマレジデュアルスケーリングファクタと呼ばれることができる。ScaleCoeffSingle、InvScaleCoeffSingle、ChromaSclaeCoeffSingleは、各々、フォワードルママッピング、インバースルママッピング、クロマレジデュアルスケーリングのために使われることができる。ScaleCoeffSingle、InvScaleCoeffSingle、ChromaSclaeCoeffSingleは、単一ファクタとして全てのbin(16 bins PWL mappings)に対して一律的に適用されることができる。
【0270】
前記表18を参照すると、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である。
【0271】
線形リシェイパをシグナリングする方法の他の例において、以下の数式に基づいてLMCSコードワード(lmcsCWlinearALL)が導出されることができる。本例でも前述した表17のシンタックスによってシグナリングされた線形リシェイピングシンタックス要素が使われることができる。以下の表は、本例示によって説明されるセマンティクスの一例を示す。
【0272】
【0273】
前記表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である。
【0274】
前記表19において、lmcs_max_bin_idxは、LmcsMaxBinIdxと混用されて使われることができる。lmcs_max_bin_idx及びLmcsMaxBinIdxは、前述した表17のシンタックスのlmcs_delta_max_bin_idxに基づいて、前述した表18を参照して導出されることができる。このように、表19は、表18を参照して解析されることができる。
【0275】
本文書による他の実施例において、線形リシェイパをシグナリングする方法の他の例が提案されることができる。線形リシェイパモデルのピボットポイントP1、P2は、明示的にシグナリングされることができる。以下の表は、本例示によって線形リシェイパモデルを明示的にシグナリングするシンタックス及びセマンティクスの一例を示す。
【0276】
【0277】
【0278】
表20及び表21を参照すると、シンタックス要素lmcs_min_inputに基づいて第1のピボットポイントの入力値が導出されることができ、そして、シンタックス要素lmcs_max_inputに基づいて第2のピボットポイントの入力値が導出されることができる。第1のピボットポイントのマッピングされた値は、事前に決定された値(エンコーダ及びデコーダの両方ともに知られた値)であり、例えば、0である。シンタックス要素lmcs_max_mappedに基づいて第2のピボットポイントのマッピングされた値が導出されることができる。即ち、表20のシンタックスに基づいてシグナリングされた前記情報に基づいて線形リシェイパモデルが明示的に(直接的に)シグナリングされることができる。
【0279】
その代案としては、lmcs_max_input及びlmcs_max_mappedは、デルタ値としてシグナリングされることができる。以下の表は、デルタ値として線形リシェイパモデルをシグナリングするシンタックス及びセマンティクスの一例を示す。
【0280】
【0281】
【0282】
前記表23を参照すると、シンタックス要素lmcs_min_inputに基づいて第1のピボットポイントの入力値が導出されることができる。例えば、lmcs_min_inputは、0のマッピングされた値を有することができる。lmcs_max_input_deltaは、第2のピボットポイントの入力値と最大ルマ値(即ち、(1<<bitdepthY)-1)との間の差を示すことができる。lmcs_max_mapped_deltaは、第2のピボットポイントのマッピングされた値と最大ルマ値(即ち、(1<<bitdepthY)-1)との間の差を示すことができる。
【0283】
本文書の一実施例によると、前述された線形リシェイパに関する例示に基づいてルマ予測サンプルのためのフォワードマッピング、ルマ復元サンプルのためのインバースマッピング、クロマレジデュアルスケーリングが実行されることができる。一例において、線形リシェイパベースのインバースマッピングでルマ(復元)サンプル(ピクセル)のためのインバーススケーリングのためにただ一つのインバーススケーリングファクタが必要である。これはフォワードマッピング、クロマレジデュアルスケーリングでも同様である。即ち、binインデックスiに対するScaleCoeff[i]、InvScaleCoeff[i] and ChromaScaleCoeff[i]を決定するステップは、ただ一つのファクタを利用することを代替することができる。ここで、一つのファクタとは、線形マッピングの(フォワード)傾きまたはインバース傾きが固定少数点で表現されたことを意味することができる。一例において、インバースルママッピングスケーリングファクタ(ルマ復元サンプルのためのインバースマッピングでのインバーススケーリングファクタ)は、以下の数式のうち少なくとも一つに基づいて導出されることができる。
【0284】
【0285】
【0286】
【0287】
数式17のlmcsCWLinearは、前述した表17及び表18から導出されることができる。数式18及び表19のlmcsCWLinearALLは、前述した表19乃至表23のうち少なくとも一つから導出されることができる。数式17または数式18において、OrgCWは、表8または表18から導出されることができる。
【0288】
以下の表は、ピクチャ復元でのルマサンプル(即ち、ルマ予測サンプル)に対するフォワードマッピング手順を示す数式及びシンタックス(条件文)を説明する。以下の表及び数式において、FP_PRECは、ビットシフティングのための定数であり、事前に決定された値である。例えば、FP_PRECは、11または15である。
【0289】
【0290】
【0291】
表24は、前述した表7及び表8に基づくルママッピング手順でフォワードマッピングされたルマサンプルを導出するためのものである。即ち、表24は、表7及び表8と共に説明されることができる。表24において、入力としてのルマ(予測)サンプルpredSamples[i][j]から、出力としてのフォワードマッピングされたルマ(予測)サンプルPredmAPSamples[i][j]が導出されることができる。表24のidxYは、(フォワード)マッピングインデックスと呼ばれることができ、マッピングインデックスは、予測ルマサンプルに基づいて導出されることができる。
【0292】
表25は、線形リシェイパの適用によるルママッピングからフォワードマッピングされたルマサンプルを導出するためのものである。例えば、表25のlmcs_min_input、lmcs_max_input、lmcs_max_mapped、ScaleCoeffSingleは、表20乃至表23のうち少なくとも一つにより導出されることができる。表25において、lmcs_min_input<predSamples[i][j]<lmcs_max_inputである場合、入力としてのルマ(予測)サンプルpredSamples[i][j]から、出力としてのフォワードマッピングされたルマ(予測)サンプルPredmAPSamples[i][j]が導出されることができる。表24と表25との比較を介して、線形リシェイパの適用による既存LMCSからの変化がフォワードマッピング観点で見られることができる。
【0293】
以下の数式は、ルマサンプル(即ち、ルマ復元サンプル)に対するインバースマッピング手順を説明する。以下の数式において、入力としてのlumaSampleは、インバースマッピング以前の(修正前)ルマ復元サンプルである。出力としてのinvSampleは、インバースマッピングされた(修正された)ルマ復元サンプルである。他の場合、クリッピングされたinvSampleが修正されたルマ復元サンプルとも呼ばれる。
【0294】
【0295】
【0296】
数式20を参照すると、インデックスidxInvは、前述した表10に基づいて導出されることができる。即ち、数式20は、前述した表7及び表8に基づくルママッピング手順でインバースマッピングされたルマサンプルを導出するためのものである。数式20は、前述した表9と共に説明されることができる。
【0297】
数式21は、線形リシェイパの適用によるルママッピングでインバースマッピングされたルマサンプルを導出するためのものである。例えば、数式21のlmcs_min_inputは、表20乃至表23のうち少なくとも一つにより導出されることができる。数式20と数式21との比較を介して、線形リシェイパの適用による既存LMCSからの変化がフォワードマッピング観点で見られることができる。
【0298】
前述された線形リシェイパに関する例示に基づいてピースワイズインデックス識別手順が省略されることができる。即ち、本例示において、リシェイプされたルマピクセルを有するピースが1個のみが存在するため、インバースルママッピング及びクロマレジデュアルスケーリングに使われるピースワイズインデックス識別手順が除去されることができる。それによって、インバースルママッピングの複雑性が減少されることができる。これに加えて、ルマピースワイズインデックス識別に依存することによって引き起こされるレイテンシー問題がクロマレジデュアルスケーリング途中に除去されることができる。
【0299】
前述された線形リシェイパの使用に関する実施例によって、LMCSのために次のような利点が提供されることができる。i)エンコーダのリシェイパ設計を単純化してピースワイズ線形ピース間で発生される突然な変化による劣化を防止することができる。ii)ピースワイズインデックス識別手順を除去してデコーダインバースマッピング手順を単純化することができる。iii)ピースワイズインデックス識別手順を除去して該当ルマブロックに依存することによって引き起こされるクロマレジデュアルスケーリング内のレイテンシー問題を除去することができる。iv)シグナリングのオーバーヘッドを減らし、頻繁なリシェイパのアップデートをより実現可能にできる。v)16個ピースのループ(例えば、for構文)が必要な多くの部分からループを除去することができる。例えば、InvScaleCoeff[i]を導出するためにlmcsCW[i]による割り算演算の数を1に減らすことができる。
【0300】
本文書による他の実施例では、フレキシブルなbinに基づくLMCSが提案される。ここで、フレキシブルなbinとは、binの個数が所定の数に固定されないことを意味することができる。既存の一実施例では、LMCSでのbinの個数が16個に固定され、そして、16個のbinは、入力サンプル値に対して均等に分布された。本実施例では、フレキシブルな個数のbinが提案され、そして、ピース(bin)が原本ピクセル値に対して均等に分配されない。
【0301】
以下の表は、本実施例によるLMCSデータ(データフィールド)に関するシンタックス及びそれに含まれているシンタックス要素に対するセマンティクスを例示的に示す。
【0302】
【0303】
【0304】
表26を参照すると、binの個数に関する情報lmcs_num_bins_minus1がシグナリングされることができる。表27を参照すると、lmcs_num_bins_minus1+1は、binの個数と同じであり、これから、binの個数は、1から(1<<BitDepthY)-1までの範囲内にある。例えば、lmcs_num_bins_minus1またはlmcs_num_bins_minus1+1は、2の倍数である。
【0305】
表26及び表27と共に説明された実施例において、ピボットポイントの個数は、リシェイパが線形であるかどうかにかかわらず、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)。
【0306】
図12及び
図13による実施例では、レギュラーLMCS及び線形LMCSの両方ともを支援する方法が提案される。本実施例による一例において、シンタックス要素lmcs_is_linearに基づいてレギュラーLMCS及び/または線形LMCSが指示されることができる。エンコーダで、線形LMCSラインが決定された後に、マッピングされた値(例えば、
図12及び
図13のpLでのマッピングされた値)は、均等なピース(例えば、LmcsMaxBinIdx-lmcs_min_bin_idx+1)に分けられる。binLmcsMaxBinIdxでのコードワードは、前述されたlmcsデータまたはリシェイパモデルに関するシンタックスを利用してシグナリングされることができる。
【0307】
以下の表は、本実施例の一例によるLMCSデータ(データフィールド)に関するシンタックス及びそれに含まれているシンタックス要素に対するセマンティクスを例示的に示す。
【0308】
【0309】
【0310】
【0311】
以下の表は、本実施例の他の例によるLMCSデータ(データフィールド)に関するシンタックス及びそれに含まれているシンタックス要素に対するセマンティクスを例示的に示す。
【0312】
【0313】
【0314】
【0315】
前記表28乃至表31を参照すると、lmcs_is_linear_flagが真である場合、lmcs_min_bin_idxとLmcsMaxBinIdxとの間の全てのlmcsDeltaCW[i]は、同じ値を有することができる。即ち、lmcs_min_bin_idxとLmcsMaxBinIdxとの間の全てのピースのうち、lmcsCW[i]が同じ値を有することができる。lmcs_min_bin_idxとlmcsMaxBinIdxとの間の全てのピースのスケール及び逆スケールとクロマスケールは、同じである。線形リシェイパが真である場合、ピースインデックスを導出する必要がなく、ピースのうち一つでスケール、インバーススケールが使われることができる。
【0316】
以下の表は、本実施例によるピースワイズインデックスの識別手順を例示的に示す。
【0317】
【0318】
本文書の他の実施例によると、レギュラー16-ピースPWL LMCS及び線形LMCSの適用は、ハイレバルシンタックス(例えば、シーケンスレベル)に依存できる。
【0319】
以下の表は、本実施例によるSPSに関するシンタックス及びそれに含まれているシンタックス要素に対するセマンティクスを例示的に示す。
【0320】
【0321】
【0322】
表33及び表34を参照すると、SPSに含まれているシンタックス要素によりレギュラーLMCS及び/または線形LMCSの可用可否が決定(シグナリング)されることができる。表34を参照すると、シンタックス要素sps_linear_lmcs_enabled_flagに基づいて、レギュラーLMCSまたは線形LMCSのうち一つがシーケンス単位で可用可能である。
【0323】
これに加えて、線形LMCSまたはレギュラーLMCSのうち一つまたは二つが可用であるかどうかは、プルファイルレベルに依存的である。一例において、特定プルファイル(例えば、SDRプルファイル)に対して、線形LMCSのみが許容されることができ、そして、他のプルファイル(例えば、HDRプルファイル)に対して、レギュラーLMCSのみが許容されることができ、そして、他のプルファイルに対しては、レギュラーLMCS及び/または線形LMCSの両方ともが許容されることができる。
【0324】
本文書の他の実施例によると、LMCSピースワイズインデックス識別手順がインバースルママッピング及びクロマレジデュアルスケーリングで使われることができる。本実施例において、クロマレジデュアルスケーリングが可用なブロックに対して前記ピースワイズインデックスの識別手順が使われることができ、そして、リシェイピングされた(マッピングされた)領域内の全てのルマサンプルを対しても前記識別手順が使われることができる。本実施例は、前記インデックスの導出のための複雑度を減少させることが目的である。
【0325】
以下の表は、既存のピースワイズ関数インデックスの識別手順(導出手順)を示す。
【0326】
【0327】
一例において、前記ピースワイズインデックス識別手順では入力サンプルが少なくとも二つ以上のカテゴリーに分類されることができる。例えば、前記入力サンプルは、三つのカテゴリー、第1、第2、第3のカテゴリーに分類されることができる。例えば、第1のカテゴリーは、LmcsPivot[lmcs_min_bin_idx+1]より小さいサンプル(の値)を示すことができ、第2のカテゴリーは、LmcsPivot[LmcsMaxBinIdx]より大きいまたは同じサンプル(の値)を示すことができ、第3のカテゴリーは、LmcsPivot[lmcs_min_bin_idx+1]とLmcsPivot[LmcsMaxBinIdx]との間のサンプル(の値)を示すことができる。
【0328】
本実施例では、カテゴリー分類を除去することによって識別手順を最適化する方法が提案される。ピースワイズインデックス識別手順に対する入力がリシェイピングされた(マッピングされた)ルマ値であるため、ピボットポイントlmcs_min_bin_idx及びLmcsMaxBinIdx+1でのマッピングされた値を超過する値はあってはならない。したがって、カテゴリー別にサンプルを分類する条件的手順は、既存のピースワイズインデックス識別手順で省略されることができ、以下で具体的な例示を表と共に説明する。
【0329】
本実施例による一例において、表35に含まれている識別手順は、以下の表36または表37のうち一つに代替されることができる。表36及び表37を参照すると、表35の先んじた二つのカテゴリーが削除されることができ、そして、最後のカテゴリーに対して反復的なループ(for構文)での境界値(第2の境界値またはエンディングポイント)がLmcsMaxBinIdxでLmcsMaxBinIdx+1に修正されることができる。即ち、識別手順が単純化されることができ、ピースワイズインデックスの導出のための複雑度が減少できる。したがって、本実施例によりLMCS関連コーディングが効率的に実行されることができる。
【0330】
【0331】
【0332】
表36を参照すると、if節の条件に対応する比較手順(if節の条件に対応する数式)は、最小binインデックスから最大binインデックスまでのbinインデックスの全てに対して繰り返して実行されることができる。if節の条件に対応する数式が真である場合でのbinインデックスは、インバースルママッピングのためのインバースマッピングインデックス(または、クロマレジデュアルスケーリングのためのインバーススケーリングインデックス)として導出されることができる。前記インバースマッピングインデックスに基づいて修正された復元ルマサンプル(または、スケーリングされたクロマレジデュアルサンプル)が導出されることができる。
【0333】
以下の図面は、本明細書の具体的な一例を説明するために作成された。図面に記載された具体的な装置の名称や具体的な信号/メッセージ/フィールドの名称は、例示的に提示されたものであるため、本明細書の技術的特徴が以下の図面に使われた具体的な名称に制限されない。
【0334】
図14及び
図15は、本文書の実施例(ら)によるビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。
図14に開示された方法は、
図2に開示されたエンコーディング装置により実行されることができる。具体的に、例えば、
図14のS1400は、前記エンコーディング装置のレジデュアル処理部230または予測部220により実行されることができ、S1410は、前記エンコーディング装置の予測部220または加算部250により実行されることができ、S1420は、前記エンコーディング装置のレジデュアル処理部230または加算部250により実行されることができ、S1430及び/またはS1440は、前記エンコーディング装置のレジデュアル処理部230により実行されることができ、S1450は、前記エンコーディング装置のエントロピーエンコーディング部240により実行されることができる。
図14に開示された方法は、本文書で詳述した実施例を含むことができる。
【0335】
図14を参照すると、エンコーディング装置は、予測ルマサンプルを生成することができる(S1400)。予測ルマサンプルと関連して、エンコーディング装置は、予測モードに基づいて前記現在ブロックの予測ルマサンプルを導出することができる。この場合、インター予測またはイントラ予測など、本文書に開示された多様な予測方法が適用されることができる。
【0336】
エンコーディング装置は、予測クロマサンプルを導出することができる。エンコーディング装置は、現在ブロックの原本クロマサンプル及び予測クロマサンプルに基づいて前記レジデュアルクロマサンプルを導出することができる。例えば、エンコーディング装置は、前記予測クロマサンプルと原本クロマサンプルとの間の差に基づいてレジデュアルクロマサンプルを導出することができる。
【0337】
エンコーディング装置は、マッピングされた予測ルマサンプルを生成することができる(S1410)。例えば、エンコーディング装置は、ルママッピングのためのピボットポイントの入力値及びマッピング値(出力値)を導出することができ、そして、前記入力値及びマッピング値に基づいてマッピングされた予測ルマサンプルを生成することができる。一例において、エンコーディング装置は、第1の予測ルマサンプルに基づいてマッピングインデックス(idxY)を導出することができ、そして、前記マッピングインデックスに対応するピボットポイントの入力値及びマッピング値に基づいて第1のマッピングされた予測ルマサンプルを生成することができる。他の例において、線形マッピング(線形リシェイピング、線形LMCS)が使われることができ、そして、線形マッピングでの二つのピボットポイントから導出されたフォワードマッピングスケーリングファクタに基づいてマッピングされた予測ルマサンプルが生成されることができ、したがって、線形マッピングによってインデックス導出手順が省略されることもできる。
【0338】
エンコーディング装置は、スケーリングされたレジデュアルクロマサンプルを生成することができる。具体的に、エンコーディング装置は、クロマレジデュアルスケーリングファクタを導出することができ、クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルを生成することができる。ここで、エンコーディング端のクロマレジデュアルスケーリングは、フォワードクロマレジデュアルスケーリングとも呼ばれる。したがって、エンコーディング装置により導出されたクロマレジデュアルスケーリングファクタは、フォワードクロマレジデュアルスケーリングファクタと呼ばれることができ、フォワードスケーリングされたレジデュアルクロマサンプルが生成されることができる。
【0339】
エンコーディング装置は、マッピングされた予測ルマサンプルに基づいてLMCS関連情報を導出することができる(S1420)。または、エンコーディング装置は、マッピングされた予測ルマサンプル及び/またはスケーリングされたレジデュアルクロマサンプルに基づいてLMCS関連情報を生成することができる。エンコーディング装置は、前記復元サンプルに対するLMCS関連情報を生成することができる。エンコーディング装置は、前記復元サンプルに対するフィルタリングのために適用されることができるLMCS関連パラメータを導出し、LMCS関連パラメータに基づいてLMCS関連情報を生成することができる。例えば、LMCS関連情報は、前述されたルママッピング(例えば、フォワードマッピング、インバースマッピング、線形マッピング)に関する情報、クロマレジデュアルスケーリングに関する情報、及び/またはLMCS(または、リシェイピング、リシェイパ)に関連したインデックス(例えば、最大binインデックス、最小binインデックス)を含むことができる。
【0340】
エンコーディング装置は、前記マッピングされた予測ルマサンプルに基づいてレジデュアルルマサンプルを生成することができる(S1430)。例えば、エンコーディング装置は、前記マッピングされた予測ルマサンプルと原本ルマサンプルとの間の差に基づいてレジデュアルルマサンプルを導出することができる。
【0341】
エンコーディング装置は、レジデュアル情報を導出することができる(S1440)。エンコーディング装置は、前記スケーリングされたレジデュアルクロマサンプル及び/または前記レジデュアルルマサンプルに基づいてレジデュアル情報を導出することができる。エンコーディング装置は、前記スケーリングされたレジデュアルクロマサンプル及び前記レジデュアルルマサンプルに対する変換手順に基づいて変換係数を導出することができる。例えば、変換手順は、DCT、DST、GBT、またはCNTのうち少なくとも一つを含むことができる。エンコーディング装置は、前記変換係数に対する量子化手順に基づいて量子化された変換係数を導出することができる。量子化された変換係数は、係数スキャン順序に基づいて1次元ベクトル形態を有することができる。エンコーディング装置は、前記量子化された変換係数を示すレジデュアル情報を生成することができる。レジデュアル情報は、指数ゴロム、CAVLC、CABACなどのような多様なエンコーディング方法を介して生成されることができる。
【0342】
エンコーディング装置は、映像/ビデオ情報をエンコーディングすることができる(S1450)。前記映像情報は、LMCS関連情報及び/またはレジデュアル情報を含むことができる。例えば、LMCS関連情報は、線形LMCSに関する情報を含むことができる。一例において、線形LMCSに関する情報に基づいて少なくとも一つのLMCSコードワードが導出されることができる。エンコーディングされたビデオ/映像情報は、ビットストリーム形態で出力されることができる。前記ビットストリームは、ネットワークまたは格納媒体を介してデコーディング装置に送信されることができる。
【0343】
前記映像/ビデオ情報は、本文書の実施例による多様な情報を含むことができる。例えば、前記映像/ビデオ情報は、前述した表1乃至表37のうち少なくとも一つに開示された情報を含むことができる。
【0344】
一実施例において、前記LMCS関連情報に基づいて最小binインデックス(例えば、lmcs_min_bin_idx)及び/または最大binインデックス(例えば、LmcsMaxBinIdx)が導出されることができる。前記最小binインデックスに基づいて第1のマッピング値(LmcsPivot[lmcs_min_bin_idx])が導出されることができる。前記最大binインデックスに基づいて第2のマッピング値(LmcsPivot[LmcsMaxBinIdx]またはLmcsPivot[LmcsMaxBinIdx+1])が導出されることができる。前記復元ルマサンプル(例えば、表36または表37のlumaSample)の値は、第1のマッピング値から第2のマッピング値までの範囲にある。一例において、全ての復元ルマサンプルの値は、第1のマッピング値から第2のマッピング値までの範囲にある。他の例において、復元ルマサンプルのうち一部サンプルの値は、第1のマッピング値から第2のマッピング値までの範囲にある。
【0345】
一実施例において、前記映像情報は、SPS(sequence parameter set)を含むことができる。前記SPSは、線形LMCSが可用であるかどうかを示す線形LMCS可用フラグを含むことができる。
【0346】
一実施例において、エンコーディング装置は、クロマレジデュアルスケーリングのためのピースワイズインデックスを生成することができる。エンコーディング装置は、前記ピースワイズインデックスに基づいてクロマレジデュアルスケーリングファクタを導出することができる。エンコーディング装置は、前記レジデュアルクロマサンプル及び前記クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルを生成することができる。
【0347】
一実施例において、前記クロマレジデュアルスケーリングファクタは、単一クロマレジデュアルスケーリングファクタである。
【0348】
一実施例において、前記LMCS関連情報は、LMCSデータフィールド及び線形LMCSに関する情報を含むことができる。前記線形LMCSに関する情報は、線形マッピングに関する情報と呼ばれることもできる。前記LMCSデータフィールドは、前記線形LMCSが適用されるかどうかを示す線形LMCSフラグを含むことができる。前記線形LMCSフラグの値が1である場合、前記マッピングされた予測ルマサンプルは、前記線形LMCSに関する情報に基づいて生成されることができる。
【0349】
一実施例において、前記線形LMCSに関する情報は、第1のピボットポイント(例えば、
図11のP1)に関する情報及び第2のピボットポイント(例えば、
図11のP2)に関する情報を含むことができる。例えば、前記第1のピボットポイントの入力値及びマッピング値は、各々、最小入力値、最小マッピング値である。前記第2のピボットポイントの入力値及びマッピング値は、各々、最大入力値、最大マッピング値である。前記最小入力値と前記最大入力値との間の入力値は、線形的にマッピングされることができる。
【0350】
一実施例において、前記映像情報は、前記最大入力値に関する情報及び前記最大マッピング値に関する情報を含むことができる。前記最大入力値は、前記最大入力値に関する情報(例えば、表20のlmcs_max_input)の値と同じである。前記最大マッピング値は、前記最大マッピング値に関する情報(例えば、表20のlmcs_max_mapped)の値と同じである。
【0351】
一実施例において、前記線形マッピングに関する情報は、前記第2のピボットポイントの入力デルタ値に関する情報(例えば、表22のlmcs_max_input_delta)及び前記第2のピボットポイントのマッピングデルタ値に関する情報(例えば、表22のlmcs_max_mapped_delta)を含むことができる。前記第2のピボットポイントの入力デルタ値に基づいて前記最大入力値が導出され、前記第2のピボットポイントのマッピングデルタ値に基づいて前記最大マッピング値が導出されることができる。
【0352】
一実施例において、前記最大入力値及び前記最大マッピング値は、前述した表23に含まれている少なくとも一つの数式に基づいて導出されることができる。
【0353】
一実施例において、前記マッピングされた予測ルマサンプルを生成するステップは、前記予測ルマサンプルに対するフォワードマッピングスケーリングファクタ(例えば、前述されたScaleCoeffSingle)を導出するステップ、及び前記フォワードマッピングスケーリングファクタに基づいて前記マッピングされた予測ルマサンプルを生成するステップを含むことができる。前記フォワードマッピングスケーリングファクタは、前記予測ルマサンプルのための単一ファクタである。
【0354】
一実施例において、前記フォワードマッピングスケーリングファクタは、前述した表21及び/または表23に含まれている少なくとも一つの数式に基づいて導出されることができる。
【0355】
一実施例において、前記マッピングされた予測ルマサンプルは、前述した表25に含まれている少なくとも一つの数式に基づいて導出されることができる。
【0356】
一実施例において、エンコーディング装置は、前記復元ルマサンプル(例えば、前述されたlumaSample)に対するインバースマッピングスケーリングファクタ(例えば、前述されたInvScaleCoeffSingle)を導出することができる。また、エンコーディング装置は、前記復元ルマサンプル及び前記インバースマッピングスケーリングファクタに基づいて修正された復元ルマサンプル(例えば、invSample)を生成することができる。前記インバースマッピングスケーリングファクタは、前記復元ルマサンプルのための単一ファクタである。
【0357】
一実施例において、前記インバースマッピングスケーリングファクタは、前記復元ルマサンプルに基づいて導出されたピースワイズインデックスを利用して導出されることができる。
【0358】
一実施例において、前記ピースワイズインデックスは、前述した表36に基づいて導出されることができる。即ち、前記表36に含まれている比較手順(lumaSample<LmcsPivot[idxYInv+1])は、前記ピースワイズインデックスが前記最小binインデックスである場合から前記ピースワイズインデックスが前記最大binインデックスである場合まで繰り返して実行されることができる。
【0359】
一実施例において、前記修正された復元ルマサンプルは、前記最小binインデックスから前記最大binインデックスまでの前記binインデックスに基づく前記マッピング値に基づいて生成されることができる。
【0360】
一実施例において、前記binインデックスは、第1のマッピング値を指す第1のbinインデックスを含み、前記最小binインデックスから前記最大binインデックスまでの前記binインデックスに基づくマッピング値と前記復元ルマサンプルの値との比較に基づいて前記第1のbinインデックスが導出され、前記復元ルマサンプル及び前記第1のマッピング値に基づいて前記修正された復元ルマサンプルのうち少なくとも一つが導出されることができる。
【0361】
一実施例において、前記binインデックスは、第1のマッピング値を指す第1のbinインデックスを含み、前記第1のbinインデックスは、前記表36に含まれている比較数式(lumaSample<LmcsPivot[idxYInv+1])に基づいて導出されることができる。例えば、前記数式において、lumaSampleは、前記復元ルマサンプルのうち対象ルマサンプルの値を示し、idxYInvは、前記binインデックスのうち一つを示し、LmcsPivot[idxYinv+1]は、前記最小binインデックスから前記最大binインデックスまでの前記binインデックスに基づくマッピング値のうち一つを示すことができる。前記復元ルマサンプル及び前記第1のマッピング値に基づいて前記修正された復元ルマサンプルのうち少なくとも一つが導出されることができる。
【0362】
一実施例において、前記表36に含まれている比較手順(lumaSample<LmcsPivot[idxYInv+1])は、前記最小binインデックスから前記最大binインデックスまでの前記binインデックスの全てに対して実行されることができる。
【0363】
一実施例において、前記インバースマッピングスケーリングファクタは、前述した表18、表19、表21、表23に含まれている少なくとも一つの数式、または数式11または数式12に基づいて導出されることができる。
【0364】
一実施例において、前記修正された復元ルマサンプルは、前述された数式21に基づいて導出されることができる。
【0365】
一実施例において、前記LMCS関連情報は、前記マッピングされた予測ルマサンプルを導出するためのbinの個数に関する情報(例えば、表26のlmcs_num_bins_minus1)を含むことができる。例えば、ルママッピングのためのピボットポイントの個数は、前記binの個数と同じく設定されることができる。一例において、エンコーディング装置は、前記binの個数ほど前記ピボットポイントのデルタ入力値及びデルタマッピング値を各々生成できる。一例において、前記デルタ入力値(例えば、表26のlmcs_delta_input_cw[i])及び前記デルタマッピング値(例えば、表26のlmcs_delta_mapped_cw[i])に基づいて前記ピボットポイントの入力値及びマッピング値が導出され、前記入力値(例えば、表27のLmcsPivot_input[i]、または表8のInputPivot[i])及び前記マッピング値(例えば、表27のLmcsPivot_mapped[i]、または表8のLmcsPivot[i])に基づいて、前記マッピングされた予測ルマサンプルが生成されることができる。
【0366】
一実施例において、エンコーディング装置は、前記LMCS関連情報に含まれている少なくとも一つのLMCSコードワードと原本コードワード(OrgCW)とに基づいてLMCSデルタコードワードを導出することができ、少なくとも一つのLMCSコードワードと原本コードワードに基づいてマッピングされたルマ予測サンプルを導出することもできる。一例において、前記線形マッピングに関する情報は、LMCSデルタコードワードに関する情報を含むことができる。
【0367】
一実施例において、前記LMCSデルタコードワードとOrgCWとの合算に基づいて、前記少なくとも一つのLMCSコードワードが導出されることができ、例えば、OrgCWは(1<<BitDepthY)/16であり、ここで、BitDepthYは、ルマビット深度を示すことができる。本実施例は、数式12に基づいて行われることができる。
【0368】
一実施例において、前記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に基づいて行われることができる。
【0369】
一実施例において、前記少なくとも一つのLMCSコードワードは、2の倍数である。
【0370】
一実施例において、前記復元ルマサンプルのルマビット深度(BitDepthY)が10より高い場合、前記少なくとも一つのLMCSコードワードは、1<<(BitDepthY-10)の倍数である。
【0371】
一実施例において、前記少なくとも一つのLMCSコードワードは、(OrgCW>>1)から(OrgCW<<1)-1までの範囲内にある。
【0372】
図16及び
図17は、本文書の実施例による映像/ビデオデコーディング方法及び関連コンポーネントの一例を概略的に示す。
図16に開示された方法は、
図3に開示されたデコーディング装置により実行されることができる。具体的に、例えば、
図16のS1600は、前記デコーディング装置のエントロピーデコーディング部310により実行されることができ、S1610は、前記デコーディング装置の予測部330により実行されることができ、S1620は、前記デコーディング装置のレジデュアル処理部320、予測部330及び/または加算部340により実行されることができ、S1630は、前記デコーディング装置の加算部340により実行されることができる。
図16に開示された方法は、本文書で詳述した実施例を含むことができる。
【0373】
図16を参照すると、デコーディング装置は、ビデオ/映像情報を受信/取得することができる(S1600)。ビデオ/映像情報は、LMCS関連情報を含むことができる。例えば、LMCS関連情報は、前述されたルママッピング(例えば、フォワードマッピング、インバースマッピング、線形マッピング)に関する情報、クロマレジデュアルスケーリングに関する情報、及び/またはLMCS(または、リシェイピング、リシェイパ)に関連したインデックス(例えば、最大binインデックス、最小binインデックス、マッピングインデックス)を含むことができる。デコーディング装置は、ビットストリームを介して前記映像/ビデオ情報を受信/取得することができる。
【0374】
前記映像/ビデオ情報は、本文書の実施例による多様な情報を含むことができる。例えば、前記映像/ビデオ情報は、前述した表1乃至表37のうち少なくとも一つに開示された情報を含むことができる。
【0375】
デコーディング装置は、予測ルマサンプルを生成することができる(S1610)。デコーディング装置は、予測モードに基づいて前記現在ブロックの予測ルマサンプルを導出することができる。この場合、インター予測またはイントラ予測など、本文書に開示された多様な予測方法が適用されることができる。
【0376】
前記映像情報は、レジデュアル情報を含むことができる。デコーディング装置は、レジデュアル情報に基づいてレジデュアルクロマサンプル及び/またはレジデュアルルマサンプルを生成することができる。具体的に、デコーディング装置は、レジデュアル情報に基づいて量子化された変換係数を導出することができる。量子化された変換係数は、係数スキャン順序に基づいて1次元ベクトル形態を有することができる。デコーディング装置は、前記量子化された変換係数に対する逆量子化手順に基づいて変換係数を導出することができる。デコーディング装置は、変換係数に基づいてレジデュアルクロマサンプル及び/またはレジデュアルルマサンプルを導出することができる。
【0377】
デコーディング装置は、マッピングされた予測ルマサンプルを生成することができる(S1620)。例えば、デコーディング装置は、ルママッピングのためのピボットポイントの入力値及びマッピング値(出力値)を導出することができ、そして、前記入力値及びマッピング値に基づいてマッピングされた予測ルマサンプルを生成することができる。一例において、デコーディング装置は、第1の予測ルマサンプルに基づいて(フォワード)マッピングインデックス(idxY)を導出することができ、そして、前記マッピングインデックスに対応するピボットポイントの入力値及びマッピング値に基づいて第1のマッピングされた予測ルマサンプルを生成することができる。他の例において、線形マッピング(線形リシェイピング、線形LMCS)が使われることができ、そして、線形マッピングでの二つのピボットポイントから導出されたフォワードマッピングスケーリングファクタに基づいてマッピングされた予測ルマサンプルが生成されることができ、したがって、線形マッピングによってインデックス導出手順が省略されることもできる。
【0378】
デコーディング装置は、復元ルマサンプルを生成することができる(S1630)。デコーディング装置は、マッピングされた予測ルマサンプルに基づいて復元ルマサンプルを生成することができる。具体的に、デコーディング装置は、前述されたレジデュアルルマサンプルを、マッピングされた予測ルマサンプルと合算でき、前記合算結果に基づいて復元ルマサンプルを生成することができる。
【0379】
デコーディング装置は、スケーリングされたレジデュアルクロマサンプルを生成することができる。具体的に、デコーディング装置は、クロマレジデュアルスケーリングファクタを導出することができ、クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルを生成することができる。ここで、デコーディング端のクロマレジデュアルスケーリングは、エンコーディング端とは反対に、インバースクロマレジデュアルスケーリングと呼ばれることもできる。したがって、デコーディング装置により導出されたクロマレジデュアルスケーリングファクタは、インバースクロマレジデュアルスケーリングファクタと呼ばれることができ、インバーススケーリングされたレジデュアルクロマサンプルが生成されることができる。
【0380】
デコーディング装置は、復元クロマサンプルを生成することができる。デコーディング装置は、スケーリングされたレジデュアルクロマサンプルに基づいて復元クロマサンプルを生成することができる。具体的に、デコーディング装置は、クロマ成分に対する予測手順を実行することができ、予測クロマサンプルを生成することができる。デコーディング装置は、予測クロマサンプルとスケーリングされたレジデュアルクロマサンプルとの合算に基づいて復元クロマサンプルを生成することができる。
【0381】
一実施例において、前記LMCS関連情報に基づいて最小binインデックス(例えば、lmcs_min_bin_idx)及び/または最大binインデックス(例えば、LmcsMaxBinIdx)が導出されることができる。前記最小binインデックスに基づいて第1のマッピング値(LmcsPivot[lmcs_min_bin_idx])が導出されることができる。前記最大binインデックスに基づいて第2のマッピング値(LmcsPivot[LmcsMaxBinIdx]またはLmcsPivot[LmcsMaxBinIdx+1])が導出されることができる。前記復元ルマサンプル(例えば、表36または表37のlumaSample)の値は、第1のマッピング値から第2のマッピング値までの範囲にある。一例において、全ての復元ルマサンプルの値は、第1のマッピング値から第2のマッピング値までの範囲にある。他の例において、復元ルマサンプルのうち一部サンプルの値は、第1のマッピング値から第2のマッピング値までの範囲にある。
【0382】
一実施例において、前記映像情報は、SPS(sequence parameter set)を含むことができる。前記SPSは、線形LMCSが可用であるかどうかを示す線形LMCS可用フラグを含むことができる。
【0383】
一実施例において、前記LMCS関連情報に基づいてピースワイズインデックス(例えば、表35、表36、または表37のidxYInv)が識別されることができる。デコーディング装置は、前記ピースワイズインデックスに基づいてクロマレジデュアルスケーリングファクタを導出することができる。デコーディング装置は、前記レジデュアルクロマサンプル及び前記クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルを生成することができる。
【0384】
一実施例において、前記クロマレジデュアルスケーリングファクタは、単一クロマレジデュアルスケーリングファクタである。
【0385】
一実施例において、前記LMCS関連情報は、LMCSデータフィールド及び線形LMCSに関する情報を含むことができる。前記線形LMCSに関する情報は、線形マッピングに関する情報と呼ばれることもできる。前記LMCSデータフィールドは、線形LMCSが適用されるかどうかを示す線形LMCSフラグを含むことができる。前記線形LMCSフラグの値が1である場合、前記マッピングされた予測ルマサンプルは、前記線形LMCSに関する情報に基づいて生成されることができる。
【0386】
一実施例において、前記線形LMCSに関する情報は、第1のピボットポイント(例えば、
図11のP1)に関する情報及び第2のピボットポイント(例えば、
図11のP2)に関する情報を含むことができる。例えば、前記第1のピボットポイントの入力値及びマッピング値は、各々、最小入力値、最小マッピング値である。前記第2のピボットポイントの入力値及びマッピング値は、各々、最大入力値、最大マッピング値である。前記最小入力値と前記最大入力値との間の入力値は、線形的にマッピングされることができる。
【0387】
一実施例において、前記映像情報は、前記最大入力値に関する情報及び前記最大マッピング値に関する情報を含むことができる。前記最大入力値は、前記最大入力値に関する情報(例えば、表20のlmcs_max_input)の値と同じである。前記最大マッピング値は、前記最大マッピング値に関する情報(例えば、表20のlmcs_max_mapped)の値と同じである。
【0388】
一実施例において、前記線形マッピングに関する情報は、前記第2のピボットポイントの入力デルタ値に関する情報(例えば、表22のlmcs_max_input_delta)及び前記第2のピボットポイントのマッピングデルタ値に関する情報(例えば、表22のlmcs_max_mapped_delta)を含むことができる。前記第2のピボットポイントの入力デルタ値に基づいて前記最大入力値が導出され、前記第2のピボットポイントのマッピングデルタ値に基づいて前記最大マッピング値が導出されることができる。
【0389】
一実施例において、前記最大入力値及び前記最大マッピング値は、前述した表23に含まれている少なくとも一つの数式に基づいて導出されることができる。
【0390】
一実施例において、前記マッピングされた予測ルマサンプルを生成するステップは、前記予測ルマサンプルに対するフォワードマッピングスケーリングファクタ(例えば、前述されたScaleCoeffSingle)を導出するステップ、及び前記フォワードマッピングスケーリングファクタに基づいて前記マッピングされた予測ルマサンプルを生成するステップを含むことができる。前記フォワードマッピングスケーリングファクタは、前記予測ルマサンプルのための単一ファクタである。
【0391】
一実施例において、前記インバースマッピングスケーリングファクタは、前記復元ルマサンプルに基づいて導出されたピースワイズインデックスを利用して導出されることができる。
【0392】
一実施例において、前記ピースワイズインデックスは、前述した表36に基づいて導出されることができる。即ち、前記表36に含まれている比較手順(lumaSample<LmcsPivot[idxYInv+1])は、前記ピースワイズインデックスが前記最小binインデックスである場合から前記ピースワイズインデックスが前記最大binインデックスである場合まで繰り返して実行されることができる。
【0393】
一実施例において、前記修正された復元ルマサンプルは、前記最小binインデックスから前記最大binインデックスまでの前記binインデックスに基づく前記マッピング値に基づいて生成されることができる。
【0394】
一実施例において、前記binインデックスは、第1のマッピング値を指す第1のbinインデックスを含み、前記最小binインデックスから前記最大binインデックスまでの前記binインデックスに基づくマッピング値と前記復元ルマサンプルの値との比較に基づいて前記第1のbinインデックスが導出され、前記復元ルマサンプル及び前記第1のマッピング値に基づいて前記修正された復元ルマサンプルのうち少なくとも一つが導出されることができる。
【0395】
一実施例において、前記binインデックスは、第1のマッピング値を指す第1のbinインデックスを含み、前記第1のbinインデックスは、前記表36に含まれている比較数式(lumaSample<LmcsPivot[idxYInv+1])に基づいて導出されることができる。例えば、前記数式において、lumaSampleは、前記復元ルマサンプルのうち対象ルマサンプルの値を示し、idxYInvは、前記binインデックスのうち一つを示し、LmcsPivot[idxYinv+1]は、前記最小binインデックスから前記最大binインデックスまでの前記binインデックスに基づくマッピング値のうち一つを示すことができる。前記復元ルマサンプル及び前記第1のマッピング値に基づいて前記修正された復元ルマサンプルのうち少なくとも一つが導出されることができる。
【0396】
一実施例において、前記表36に含まれている比較手順(lumaSample<LmcsPivot[idxYInv+1])は、前記最小binインデックスから前記最大binインデックスまでの前記binインデックスの全てに対して実行されることができる。
【0397】
一実施例において、前記フォワードマッピングスケーリングファクタは、前述した表21及び/または表23に含まれている少なくとも一つの数式に基づいて導出されることができる。
【0398】
一実施例において、前記マッピングされた予測ルマサンプルは、前述した表25に含まれている少なくとも一つの数式に基づいて導出されることができる。
【0399】
一実施例において、デコーディング装置は、前記復元ルマサンプル(例えば、前述されたlumaSample)に対するインバースマッピングスケーリングファクタ(例えば、前述されたInvScaleCoeffSingle)を導出することができる。また、デコーディング装置は、前記復元ルマサンプル及び前記インバースマッピングスケーリングファクタに基づいて修正された復元ルマサンプル(例えば、invSample)を生成することができる。前記インバースマッピングスケーリングファクタは、前記復元ルマサンプルのための単一ファクタである。
【0400】
一実施例において、前記インバースマッピングスケーリングファクタは、前述した表18、表19、表21、表23に含まれている少なくとも一つの数式、または数式11または数式12に基づいて導出されることができる。
【0401】
一実施例において、前記修正された復元ルマサンプルは、前述された数式21に基づいて導出されることができる。
【0402】
一実施例において、前記LMCS関連情報は、前記マッピングされた予測ルマサンプルを導出するためのbinの個数に関する情報(例えば、表26のlmcs_num_bins_minus1)を含むことができる。例えば、ルママッピングのためのピボットポイントの個数は、前記binの個数と同じく設定されることができる。一例において、デコーディング装置は、前記binの個数ほど前記ピボットポイントのデルタ入力値及びデルタマッピング値を各々生成できる。一例において、前記デルタ入力値(例えば、表26のlmcs_delta_input_cw[i])及び前記デルタマッピング値(例えば、表26のlmcs_delta_mapped_cw[i])に基づいて前記ピボットポイントの入力値及びマッピング値が導出され、前記入力値(例えば、表27のLmcsPivot_input[i]、または表8のInputPivot[i])及び前記マッピング値(例えば、表27のLmcsPivot_mapped[i]、または表8のLmcsPivot[i])に基づいて、前記マッピングされた予測ルマサンプルが生成されることができる。
【0403】
一実施例において、デコーディング装置は、前記LMCS関連情報に含まれている少なくとも一つのLMCSコードワードと原本コードワード(OrgCW)に基づいてLMCSデルタコードワードを導出することができ、少なくとも一つのLMCSコードワードと原本コードワードに基づいてマッピングされたルマ予測サンプルを導出することもできる。一例において、前記線形マッピングに関する情報は、LMCSデルタコードワードに関する情報を含むことができる。
【0404】
一実施例において、前記LMCSデルタコードワードとOrgCWの合算に基づいて、前記少なくとも一つのLMCSコードワードが導出されることができ、例えば、OrgCWは(1<<BitDepthY)/16であり、ここで、BitDepthYは、ルマビット深度を示すことができる。本実施例は、数式12に基づいて行われることができる。
【0405】
一実施例において、前記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に基づいて行われることができる。
【0406】
一実施例において、前記少なくとも一つのLMCSコードワードは、2の倍数である。
【0407】
一実施例において、前記復元ルマサンプルのルマビット深度(BitDepthY)が10より高い場合、前記少なくとも一つのLMCSコードワードは、1<<(BitDepthY-10)の倍数である。
【0408】
一実施例において、前記少なくとも一つのLMCSコードワードは、(OrgCW>>1)から(OrgCW<<1)-1までの範囲内にある。
【0409】
前述した実施例において、方法は、一連のステップ又はブロックとしてフローチャートに基づいて説明されているが、該当実施例は、ステップの順序に限定されるわけではなく、あるステップは、前述したところと異なるステップと異なる順序で、又は同時に発生し得る。また、当業者であれば、フローチャートに示されているステップが排他的ではなく、異なるステップが含まれるか、フローチャートの一つ又はそれ以上のステップが本文書の実施例の範囲に影響を与えずに削除され得ることを理解することができる。
【0410】
前述した本文書の実施例に係る方法は、ソフトウェアの形態で具現されることができ、本文書に係るエンコーディング装置及び/又はデコーディング装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置等の映像処理を行う装置に含まれ得る。
【0411】
本文書で、実施例がソフトウェアで具現される際、前述した方法は、前述した機能を行うモジュール(過程、機能等)で具現されることができる。モジュールはメモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部又は外部にあってもよく、よく知られている様々な手段でプロセッサと連結されてもよい。プロセッサは、ASIC(application-specific integrated circuit)、他のチップセット、論理回路及び/又はデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体及び/又は他の格納装置を含むことができる。即ち、本文書で説明した実施例は、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で具現されて行われ得る。例えば、各図面で示している機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で具現されて行われ得る。この場合、具現のための情報(ex.information on instructions)又はアルゴリズムがデジタル格納媒体に格納されることができる。
【0412】
また、本文書の実施例が適用されるデコーディング装置及びエンコーディング装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、オーダーメイド型ビデオ(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)等を含み得る。
【0413】
また、本文書の実施例が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取ることができる記録媒体に格納されることができる。本文書の実施例に係るデータ構造を有するマルチメディアデータもまた、コンピュータが読み取ることができる記録媒体に格納されることができる。前記コンピュータが読み取ることができる記録媒体は、コンピュータで読み取られるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取ることができる記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピディスク、及び光学的データ格納装置を含み得る。また、前記コンピュータが読み取ることができる記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で具現されたメディアを含む。また、エンコーディング方法で生成されたビットストリームが、コンピュータが読み取られる記録媒体に格納されるか、有無線通信ネットワークを介して送信されることができる。
【0414】
また、本文書の実施例は、プログラムコードによるコンピュータプログラム製品で具現されることができ、前記プログラムコードは、本文書の実施例によってコンピュータで実行されることができる。前記プログラムコードは、コンピュータによって読み取り可能なキャリア上に格納されることができる。
【0415】
図18は、本文書に開示された実施例が適用されることができるコンテンツストリーミングシステムの例を示す。
【0416】
図18を参照すると、本文書の実施例が適用されるコンテンツストリーミングシステムは、大きくエンコーディングサーバ、ストリーミングサーバ、ウェブサーバ、メディアストレージ、ユーザ装置、及びマルチメディア入力装置を含むことができる。
【0417】
前記エンコーディングサーバは、スマートフォン、カメラ、カムコーダ等のようなマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。別の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコーディングサーバは省略され得る。
【0418】
前記ビットストリームは、本文書の実施例が適用されるエンコーディング方法又はビットストリームの生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信又は受信する過程で、一時的に前記ビットストリームを格納することができる。
【0419】
前記ストリーミングサーバは、ウェブサーバを介してのユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すれば、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
【0420】
前記ストリーミングサーバは、メディア格納所及び/又はエンコーディングサーバからコンテンツを受信することができる。例えば、前記エンコーディングサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムに受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間、格納することができる。
【0421】
前記ユーザ装置の例では、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイニジなどがありうる。
【0422】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。
【0423】
本明細書に記載された請求項は、多様な方式で組み合わせることができる。例えば、本明細書の方法請求項の技術的特徴が組み合わせられて装置として具現されることができ、本明細書の装置請求項の技術的特徴が組み合わせられて方法として具現されることができる。また、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴とが組み合わせられて装置として具現されることができ、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴とが組み合わせられて方法として具現されることができる。
【手続補正書】
【提出日】2024-01-19
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコーディング装置により実行される映像デコーディング方法において、
ビットストリームから予測関連情報及びLMCS(luma mapping with chroma scaling)関連情報を含む映像情報を取得するステップと、
前記予測関連情報に基づいて現在ブロックのイントラ予測モードを導出するステップと、
前記イントラ予測モードに基づいて予測ルマサンプルを生成するステップと、
前記予測ルマサンプルに基づいて復元ルマサンプルを生成するステップと、
前記LMCS関連情報に基づいてピースワイズ機能インデックスを導出するステップと、
前記復元ルマサンプルと前記ピースワイズ機能インデックスに基づいて修正復元ルマサンプルを生成するステップとを含み、
前記LMCS関連情報に基づいて、最小binインデックス及び最大binインデックスが導出され、
前記ピースワイズ機能インデックスを導出するステップは、
前記ピースワイズ機能インデックスが前記最小binインデックスと等しい場合、第1のマッピングされた値が、前記復元ルマサンプルの値より大きいかを決定するステップと、
前記ピースワイズ機能インデックスが最大binインデックス-1と等しい場合、第2のマッピングされた値が、前記復元ルマサンプルの値より大きいかを決定するステップと、
前記ピースワイズ機能インデックスが最大binインデックス-1と等しい場合、前記第2のマッピングされた値が、前記復元ルマサンプルの値より大きくないとの決定に基づいて、前記ピースワイズ機能インデックスが前記最大binインデックスと等しい場合、第3のマッピングされた値が、前記復元ルマサンプルの値より大きいかを決定するステップとを含み、
前記ピースワイズ機能インデックスが最大binインデックスー1と等しい場合、前記第2のマッピングされた値が前記復元ルマサンプルの値より大きくないとの決定に基づいて、前記第3のマッピングされた値が前記復元ルマサンプルの値より大きいとの決定に基づいて、前記ピースワイズ機能インデックスは前記最大binインデックスとして導出される、映像デコーディング方法。
【請求項2】
エンコーディング装置により実行される映像エンコーディング方法において、
現在ブロックに対するイントラ予測モードを決定するステップと、
前記イントラ予測モードに基づいて予測ルマサンプルを生成するステップと、
前記予測ルマサンプルに基づいてレジデュアルルマサンプルを生成するステップと、
前記レジデュアルルマサンプルに基づいてレジデュアル情報を導出するステップと、
前記LMCS(luma mapping with chroma scaling)関連情報及び前記レジデュアル情報を含む映像情報をエンコーディングするステップとを含み、
前記映像エンコーディング方法は、
前記予測ルマサンプルに基づいて復元ルマサンプルを生成するステップと、
前記LMCS関連情報に基づいてピースワイズ機能インデックスを導出するステップと、
前記復元ルマサンプルと前記ピースワイズ機能インデックスに基づいて修正復元ルマサンプルを生成するステップとをさらに含み、
前記LMCS関連情報に基づいて、最小binインデックス及び最大binインデックスが導出され、
前記ピースワイズ機能インデックスを導出するステップは、
前記ピースワイズ機能インデックスが前記最小binインデックスに等しい場合、第1のマッピングされた値が、前記復元ルマサンプルの値より大きいかを決定するステップと、
前記ピースワイズ機能インデックスが前記最大binインデックス-1に等しい場合、第2のマッピングされた値が、前記復元ルマサンプルの値より大きいかを決定するステップと、
前記ピースワイズ機能インデックスが前記最大binインデックス-1に等しい場合、前記第2のマッピングされた値が、前記復元ルマサンプルの値より大きくないとの決定に基づいて、前記ピースワイズ機能インデックスが前記最大binインデックスに等しい場合、第3のマッピングされた値が、前記復元ルマサンプルの値より大きいかを決定するステップとをさらに含み、
前記ピースワイズ機能インデックスが最大binインデックスー1と等しい場合、前記第2のマッピングされた値が前記復元ルマサンプルの値より大きくないとの決定に基づいて、前記第3のマッピングされた値が前記復元ルマサンプルの値より大きいとの決定に基づいて、前記ピースワイズ機能インデックスは前記最大binインデックスとして導出される、映像エンコーディング方法。
【請求項3】
映像情報に対するデータを送信する方法であって、
LMCS(luma mapping with chroma scaling)関連情報とレジデュアル情報を含む前記映像情報のビットストリームを取得するステップであって、
前記ビットストリームは、現在ブロックに対するイントラ予測モードを決定し、前記イントラ予測モードに基づいて予測ルマサンプルを生成し、前記予測ルマサンプルに基づいてレジデュアルルマサンプルを生成し、前記レジデュアルルマサンプルに基づいてレジデュアル情報を導出し、前記LMCS関連情報と前記レジデュアル情報を含む前記映像情報を符号化することにより生成される、ステップと、
前記LMCS関連情報と前記レジデュアル情報を含む前記映像情報のビットストリームを含む前記データを送信するステップと、を含み、
復元ルマサンプルは前記予測ルマサンプルに基づいて生成され、
ピースワイズ機能インデックスは前記LMCS関連情報に基づいて導出され、
修正復元ルマサンプルは前記復元ルマサンプルと前記ピースワイズ機能インデックスに基づいて生成され、
最小binインデックスと最大binインデックスは前記LMCS関連情報に基づいて導出され、
前記ピースワイズ機能インデックスを導出するために、
前記ピースワイズ機能インデックスが前記最小binインデックスに等しい場合、第1のマッピングされた値が、前記復元ルマサンプルの値より大きいかが決定され、
前記ピースワイズ機能インデックスが前記最大binインデックス-1に等しい場合、第2のマッピングされた値が、前記復元ルマサンプルの値より大きいかが決定され、
前記ピースワイズ機能インデックスが前記最大binインデックス-1に等しい場合、前記第2のマッピングされた値が、前記復元ルマサンプルの値より大きくないとの決定に基づいて、前記ピースワイズ機能インデックスが前記最大binインデックスに等しい場合、第3のマッピングされた値が、前記復元ルマサンプルの値より大きいかが決定され、
前記ピースワイズ機能インデックスが最大binインデックスー1と等しい場合、前記第2のマッピングされた値が前記復元ルマサンプルの値より大きくないとの決定に基づいて、前記第3のマッピングされた値が前記復元ルマサンプルの値より大きいとの決定に基づいて、前記ピースワイズ機能インデックスは前記最大binインデックスとして導出される、映像情報に対するデータを送信する方法。