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

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

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

特開2023-123699ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング
<>
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図1
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図2
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図3
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図4
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図5
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図6
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図7
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図8
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図9
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図10
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図11
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図12
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図13
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図14
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図15
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図16
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図17
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図18
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図19
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図20
  • 特開-ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023123699
(43)【公開日】2023-09-05
(54)【発明の名称】ルーママッピング及びクロマスケーリングに基づくビデオまたは画像コーディング
(51)【国際特許分類】
   H04N 19/70 20140101AFI20230829BHJP
   H04N 19/503 20140101ALI20230829BHJP
   H04N 19/186 20140101ALI20230829BHJP
【FI】
H04N19/70
H04N19/503
H04N19/186
【審査請求】有
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2023105073
(22)【出願日】2023-06-27
(62)【分割の表示】P 2021577047の分割
【原出願日】2020-06-24
(31)【優先権主張番号】62/865,918
(32)【優先日】2019-06-24
(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関連情報を含む画像情報を獲得するステップと、予測モード情報に基づいて現在ピクチャ内の現在ブロックのためにインター予測モードを導出するステップと、インター予測モードに基づいて予測ルーマサンプルを生成するステップと、ルーマサンプルのためのマッピング手続きに基づいてマッピングされた予測ルーマサンプルを生成するステップと、レジデュアル情報に基づいてレジデュアルルーマサンプルを導出するステップと、マッピングされた予測ルーマサンプルとレジデュアルルーマサンプルに基づいて復元ルーマサンプルを生成するステップとを備える。前記画像情報はLMCS APS及びヘッダー情報を含む。
【選択図】図19
【特許請求の範囲】
【請求項1】
デコード装置により遂行される画像デコード方法において、
ビットストリームから予測モード情報、レジデュアル情報及びLMCS(luma mapping with chroma scaling)関連情報を含む画像情報を獲得するステップと、
前記予測モード情報に基づいて現在ピクチャ内の現在ブロックのためにインター予測モードを導出するステップと、
前記インター予測モードに基づいて予測ルーマサンプルを生成するステップと、
ルーマサンプルのためのマッピング手続きに基づいてマッピングされた予測ルーマサンプルを生成するステップと、
前記レジデュアル情報に基づいてレジデュアルルーマサンプルを導出するステップと、
前記マッピングされた予測ルーマサンプルと前記レジデュアルルーマサンプルに基づいて復元ルーマサンプルを生成するステップとを含み、
前記画像情報はLMCS APS(adaptation parameter set)を含み、
LMCS APSはLMCSデータフィールド及びID情報を含み、
前記LMCSデータフィールドは前記LMCS関連情報を含み、
前記LMCSデータフィールドに基づいて、前記マッピング手続きで用いられるLMCSコードワードが導出され、
前記ID情報の値は所定の範囲内にあり、
前記所定の範囲は、0から3の範囲である、画像デコード方法。
【請求項2】
エンコード装置により遂行される画像エンコード方法において、
インター予測モードを導出するステップと、
前記インター予測モードに基づいて予測ルーマサンプルを生成するステップと、
LMCS(luma mapping with chroma scaling)関連情報を生成するステップと、
ルーマサンプルのためのマッピング手続きに基づいてマッピングされた予測ルーマサンプルを生成するステップと、
前記マッピングされた予測ルーマサンプルに基づいて、レジデュアルルーマサンプルを導出するステップと、
前記マッピングされた予測ルーマサンプルと前記レジデュアルルーマサンプルに基づいて復元ルーマサンプルを生成するステップと、
前記マッピングされた予測ルーマサンプルに基づいてレジデュアル情報を生成するステップと、
前記LMCS関連情報及び前記レジデュアル情報を含む画像情報をエンコードするステップとを含み、
前記画像情報はLMCS APS(adaptation parameter set)を含み、
LMCS APSはLMCSデータフィールド及びID情報を含み、
前記LMCSデータフィールドは前記LMCS関連情報を含み、
前記LMCSデータフィールドに基づいて前記マッピング手続きで用いられるLMCSコードワードが導出され、
前記ID情報の値は所定の範囲内にあり、
前記所定の範囲は、0から3の範囲である、画像エンコード方法。
【請求項3】
画像に対するデータを送信する方法であって、
前記画像に対するビットストリームを取得するステップであって、
前記ビットストリームは、インター予測モードを導出し、前記インター予測モードに基づいて予測ルーマサンプルを生成し、LMCS(luma mapping with chroma scaling)関連情報を生成し、ルーマサンプルに対するマッピング手続きに基づいてマッピングされたルーマサンプルを生成し、前記マッピングされた予測ルーマサンプルに基づいてレジデュアルルーマサンプルを導出し、前記マッピングされた予測ルーマサンプルと前記レジデュアルルーマサンプルに基づいて復元ルーマサンプルを生成し、前記マッピングされた予測ルーマサンプルに基づいてレジデュアル情報を生成し、前記LMCS関連情報と前記レジデュアル情報を含む画像情報をエンコーディングすることに基づいて生成される、ステップと、
前記ビットストリームを含む前記データを送信するステップを含み、
前記画像情報はLMCS APS(adaptation parameter set)を含み、
LMCS APSはLMCSデータフィールド及びID情報を含み、
前記LMCSデータフィールドは前記LMCS関連情報を含み、
前記LMCSデータフィールドに基づいて前記マッピング手続きで用いられるLMCSコードワードが導出され、
前記ID情報の値は所定の範囲内にあり、
前記所定の範囲は、0から3の範囲である、画像に対するデータを送信する方法。
【発明の詳細な説明】
【技術分野】
【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】
本文書の一実施形態によると、1つのCTU(coding tree unit)内のルーマ及びクロマブロックが個別的ブロックツリー構造を有する場合(デュアルツリー構造)にもLMCS手続きが適用できる。
【0016】
本文書の一実施形態によると、LMCS APSの個数が制限できる。
【0017】
本文書の一実施形態によると、LMCS APSに含まれるID情報の範囲が制限できる。
【0018】
本文書の一実施形態によれば、デコード装置により行われるビデオ/画像デコード方法を提供する。
【0019】
本文書の一実施形態によれば、ビデオ/画像デコードを行うデコード装置を提供する。
【0020】
本文書の一実施形態によれば、エンコード装置により行われるビデオ/画像エンコード方法を提供する。
【0021】
本文書の一実施形態によれば、ビデオ/画像エンコードを行うエンコード装置を提供する。
【0022】
本文書の一実施形態によれば、本文書の実施形態の少なくとも1つに開示されたビデオ/画像エンコード方法によって生成されたエンコードされたビデオ/画像情報が格納されたコンピュータ読み取り可能なデジタル格納媒体を提供する。
【0023】
本文書の一実施形態によれば、デコード装置により本文書の実施形態の少なくとも1つに開示されたビデオ/画像デコード方法を行うように引き起こすエンコードされた情報又はエンコードされたビデオ/画像情報が格納されたコンピュータ読み取り可能なデジタル格納媒体を提供する。
【発明の効果】
【0024】
本文書の一実施形態によると、全般的な画像/ビデオ圧縮効率を上げることができる。
【0025】
本文書の一実施形態によると、効率的なフィルタリングを介して主観的/客観的ビジュアル品質を高めることができる。
【0026】
本文書の一実施形態によると、画像/ビデオコーディングのためのLMCS手順が効率的に実行されることができる。
【0027】
本文書の一実施形態によると、LMCS手順に必要なリソース/費用(ソフトウェアまたはハードウェアの)を最小化することができる。
【0028】
本文書の一実施形態によると、LMCS手順のためのハードウェア実現を容易にできる。
【0029】
本文書の一実施形態によると、前記LMCSコードワード(または、その範囲)制限を介してマッピング(リシェイピング)でのLMCSコードワードの導出に必要な割り算演算を除去し、または最小化することができる。
【0030】
本文書の一実施形態によると、単一クロマレジデュアルスケーリングファクタ使用を介してピースワイズインデックス識別によるレイテンシーが除去されることができる。
【0031】
本文書の一実施形態によると、LMCSで線形マッピングの使用を介してルーマブロック(の復元)に依存せずに、クロマレジデュアルスケーリング手順が実行されることができ、したがって、スケーリングでのレイテンシーが除去されることができる。
【0032】
本文書の一実施形態によると、LMCSでのマッピング効率が高まることができる。
【0033】
本文書の一実施形態によると、インバースルーママッピング及び/又はクロマレジデュアルスケーリングのためのインデックス導出手続きの単純化を通じてLMCSの複雑度が減少することができ、したがって、ビデオ/画像コーディング効率が増加することができる。
【0034】
本文書の一実施形態によると、デュアルツリー構造を有するブロックに対してもLMCS手続きが遂行されることができ、したがって、LMCSの効率が増加することができる。また、デュアルツリー構造を有するブロックに対するコーディング性能(例えば、客観的/主観的画質)が向上できる。
【0035】
本文書の一実施形態によると、LMCS APSの個数が制限されるにつれて、LMCSの複雑度が減少することができ、そして、LMCSに一層少ない資源(例えば、メモリ)が消費(使用)できる。
【0036】
本文書の一実施形態によると、LMCS APSに含まれるID情報の範囲が制限されるにつれて、LMCS手続きで用いられるメモリが減少(制限)できる。
【図面の簡単な説明】
【0037】
図1】本文書の実施形態が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
図2】本文書の実施形態が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。
図3】本文書の実施形態が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。
図4】例示的なブロックツリー構造を図示する。
図5】コーディングされた画像/ビデオに対する階層構造を例示的に示す。
図6】本文書の一実施形態に従うCVSの階層構造を例示的に図示する。
図7】本文書の一実施形態に従うCVSの階層構造を例示的に図示する。
図8】本文書の別の実施形態によるCVSの階層的な構造を例示的に示す。
図9】本文書の一実施形態による例示的なLMCS構造を示す。
図10】本文書の他の一実施形態によるLMCS構造を示す。
図11】例示的なフォワードマッピングを示すグラフを示す。
図12】本文書の一実施形態によってクロマレジデュアルスケーリングインデックスを導出する方法を示す流れ図である。
図13】本文書の一実施形態によるピボットポイントの線形フィッティングを示す。
図14】本文書の一実施形態による線形リシェイパの一例を示す。
図15】本文書の一実施形態での線形フォワードマッピングの一例を示す。
図16】本文書の一実施形態でのインバースフォワードマッピングの一例を示す。
図17】本文書の実施形態(等)によるビデオ/画像エンコード方法及び関連コンポーネントの一例を概略的に示す。
図18】本文書の実施形態(等)によるビデオ/画像エンコード方法及び関連コンポーネントの一例を概略的に示す。
図19】本文書の実施形態による画像/ビデオデコード方法及び関連コンポーネントの一例を概略的に示す。
図20】本文書の実施形態による画像/ビデオデコード方法及び関連コンポーネントの一例を概略的に示す。
図21】本文書に開示された実施形態が適用され得るコンテンツストリーミングシステムの例を示す。
【発明を実施するための形態】
【0038】
本文書の開示は、様々な変更を加えることができ、様々な実施形態を有することができるが、特定の実施形態を図面に例示し、詳細に説明しようとする。しかし、これは、本開示を特定の実施形態に限定しようとするわけではない。本文書で使用する用語は、単に特定の実施形態を説明するために使用されたものであって、本文書における実施形態の技術的思想を限定しようとする意図に使用されるものではない。単数の表現は、文脈上明らかに異なる意味ではない限り、複数の表現を含む。本文書において、「含む」又は「有する」等の用語は、文書上に記載された特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを指定しようとするものであり、1つ又はそれ以上の異なる特徴や、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものの存在又は付加の可能性を予め排除しないものと理解されるべきである。
【0039】
一方、本文書で説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の都合上、独立して示すものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで実現されるということを意味するのではない。例えば、各構成のうち、2つ以上の構成を合わせて1つの構成をなすこともあり、1つの構成が複数の構成に分けられることもある。各構成が統合及び/又は分離された実施形態も、本文書の開示範囲に含まれる。
【0040】
以下、添付図を参照として、本文書の実施形態を説明しようとする。以下、図面上の同じ構成要素に対しては同じ参照符号を使用し得、同じ構成要素に対して重複した説明は省略され得る。
【0041】
図1は、本文書の実施形態が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
【0042】
図1に示すように、ビデオ/画像コーディングシステムは、第1の装置(ソースデバイス)及び第2の装置(受信デバイス)を備えることができる。ソースデバイスは、エンコードされたビデオ(video)/画像(image)情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスに伝達することができる。
【0043】
前記ソースデバイスは、ビデオソース、エンコード装置、送信部を備えることができる。前記受信デバイスは、受信部、デコード装置、及びレンダラーを備えることができる。前記エンコード装置は、ビデオ/画像エンコード装置と呼ばれることができ、前記デコード装置は、ビデオ/画像デコード装置と呼ばれることができる。送信機は、エンコード装置に備えられることができる。受信機は、デコード装置に備えられることができる。レンダラーは、ディスプレイ部を備えることができ、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
【0044】
ビデオソースは、ビデオ/画像のキャプチャ、合成、または生成過程などを介してビデオ/画像を取得することができる。ビデオソースは、ビデオ/画像キャプチャデバイス及び/又はビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、1つ以上のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを含むことができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを含むことができ、(電子的に)ビデオ/画像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/画像が生成され得るし、この場合、関連データが生成される過程にビデオ/画像キャプチャ過程が代替されることができる。
【0045】
エンコード装置は、入力ビデオ/画像をエンコードすることができる。エンコード装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を行うことができる。エンコードされたデータ(エンコードされたビデオ/画像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
【0046】
送信部は、ビットストリーム形態で出力されたエンコードされたビデオ/画像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達することができる。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。送信部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介しての送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコード装置に伝達することができる。
【0047】
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を行ってビデオ/画像をデコードすることができる。
【0048】
レンダラーは、デコードされたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像は、ディスプレイ部を介してディスプレイされることができる。
【0049】
本文書は、ビデオ/画像コーディングに関する。例えば、本文書で開示された方法/実施形態は、VVC(versatile video coding)標準に開示される方法に適用されることができる。また、本文書で開示された方法/実施形態は、EVC(essential video coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)又は次世代ビデオ/画像コーディング標準(ex. 267又はH.268等)に開示される方法に適用されることができる。
【0050】
本文書では、ビデオ/画像コーディングに関する様々な実施形態を提示し、別の言及がない限り、前記実施形態は互いに組み合わせて行うこともある。
【0051】
本文書で、ビデオ(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)
【0052】
一方、1つのピクチャは、2つ以上のサブピクチャに区分されることができる。サブピクチャは、ピクチャ内の1つ以上のスライスの四角領域であり得る(an rectangular region of one or more slices within a picture)。
【0053】
ピクセル(pixel)またはペル(pel)は、1つのピクチャ(または、画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として、「サンプル(sample)」が使用され得る。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、ルーマ(luma)成分のピクセル/ピクセル値のみを示すことができ、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
【0054】
ユニット(unit)は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち、少なくとも1つを含むことができる。1つのユニットは、1つのルーマブロック及び2つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行とからなるサンプル(または、サンプルアレイ)または変換係数(transform coefficient)の集合(または、アレイ)を含むことができる。
【0055】
本文書において、「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)」を意味し得る。
【0056】
本文書で使用されるスラッシュ(/)や休止符(comma)は、「及び/又は(and/or)」を意味し得る。例えば、「A/B」は、「A及び/又はB」を意味し得る。これによって、「A/B」は、「ただA」、「ただB」、又は「A及びB両方」を意味し得る。例えば、「A、B、C」は、「A、B又はC」を意味し得る。
【0057】
本文書において、「少なくとも1つのA及びB(at least one of A and B)」は、「ただA」、「ただB」又は「A及びB両方」を意味し得る。また、本文書において、「少なくとも1つのA又はB(at least one of A or B)」や「少なくとも1つのA及び/又はB(at least one of A and/or B)」という表現は、「少なくとも1つのA及びB(at least one of A and B)」と同様に解釈され得る。
【0058】
また、本文書において、「少なくとも1つのA、B及びC(at least one of A, B and C)」は、「ただA」、「ただB」、「ただC」、又は「A、B及びCの任意の全ての組み合わせ(any combination of A, B and C)」を意味し得る。また、「少なくとも1つのA、B又はC(at least one of A, B or C)」や「少なくとも1つのA、B及び/又はC(at least one of A, B and/or C)」は、「少なくとも1つのA、B及びC(at least one of A, B and C)」を意味し得る。
【0059】
また、本文書で使用される括弧は、「例えば(for example)」を意味し得る。具体的に、「予測(イントラ予測)」と表示された場合、「予測」の一例として「イントラ予測」が提案されたものであり得る。言い換えると、本文書の「予測」は、「イントラ予測」に制限(limit)されず、「イントラ予測」が「予測」の一例として提案されたものであり得る。また、「予測(即ち、イントラ予測)」と表示された場合にも、「予測」の一例として「イントラ予測」が提案されたものであり得る。
【0060】
本文書において1つの図面内で個別的に説明される技術的特徴は、個別的に実現されてもよく、同時に実現されてもよい。
【0061】
図2は、本文書の実施形態が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。以下、エンコード装置というのは、画像エンコード装置及び/又はビデオエンコード装置を含むことができる。
【0062】
図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を内/外部コンポーネントとしてさらに備えることもできる。
【0063】
画像分割部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)を導く単位であることができる。
【0064】
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)等の集合を示すことができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すことができ、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(または、画像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
【0065】
エンコード装置200は、入力画像信号(原本ブロック、原本サンプルアレイ)でインター予測部221またはイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算してレジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成することができ、生成されたレジデュアル信号は、変換部232に送信される。この場合、図示されたように、エンコーダ200内において入力画像信号(原本ブロック、原本サンプルアレイ)で予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれることができる。予測部は、処理対象ブロック(以下、現在ブロックという)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、現在ブロックまたはCU単位でイントラ予測が適用されるか、またはインター予測が適用されるか決定することができる。予測部は、各予測モードについての説明で後述するように、予測モード情報など、予測に関する様々な情報を生成してエントロピーエンコード部240に伝達することができる。予測に関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
【0066】
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測できる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置することができ、または、離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは、例示であり、設定によってそれ以上またはそれ以下の個数の方向性予測モードが使用され得る。イントラ予測部222は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0067】
インター予測部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)をシグナリングすることにより、現在ブロックの動きベクトルを指示することができる。
【0068】
予測部220は、後述する様々な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用することができるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくことができ、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と同様に行われることができる。即ち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを用いることができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングすることができる。
【0069】
前記予測部(インター予測部221及び/又は前記イントラ予測部222を含む)を介して生成された予測信号は、復元信号を生成するために用いられるか、レジデュアル信号を生成するために用いられることができる。変換部232は、レジデュアル信号に変換技法を適用して、変換係数(transform coefficients)を生成することができる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、GBT(Graph-Based Transform)、又はCNT(Conditionally Non-linear Transform)の少なくとも1つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現するという際に、このグラフから得られた変換を意味する。CNTは、以前に復元された全てのピクセル(all previously reconstructed pixel)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は正方形の同じサイズを有するピクセルブロックに適用されてもよく、正方形ではない可変サイズのブロックに適用されてもよい。
【0070】
量子化部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に含まれることもできる。
【0071】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロックまたはレジデュアルサンプル)を復元できる。加算部155は、復元されたレジデュアル信号をインター予測部221またはイントラ予測部222から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成され得る。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部250は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0072】
一方、ピクチャエンコード及び/又は復元過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0073】
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部260は、各フィルタリング方法についての説明で後述するように、フィルタリングに関する様々な情報を生成してエントロピーエンコード部240に伝達することができる。フィルタリングに関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
【0074】
メモリ270に送信された修正された復元ピクチャは、インター予測部221で参照ピクチャとして使用されることができる。エンコード装置は、これを介してインター予測が適用される場合、エンコード装置100とデコード装置における予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【0075】
メモリ270のDPBは、修正された復元ピクチャをインター予測部221における参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するために、インター予測部221に伝達することができる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達することができる。
【0076】
図3は、本文書の実施形態が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。以下、デコード装置というのは、画像デコード装置及び/又はビデオデコード装置を含むことができる。
【0077】
図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を内/外部コンポーネントとしてさらに備えることもできる。
【0078】
ビデオ/画像情報を含むビットストリームが入力されれば、デコード装置300は、図3のエンコード装置でビデオ/画像情報が処理されたプロセスに対応して画像を復元できる。例えば、デコード装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出できる。デコード装置300は、エンコード装置で適用された処理ユニットを用いてデコードを行うことができる。したがって、デコードの処理ユニットは、例えば、コーディングユニットであることができ、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/又はターナリツリー構造にしたがって分割されることができる。コーディングユニットから1つ以上の変換ユニットが導出され得る。そして、デコード装置300を介してデコード及び出力された復元画像信号は、再生装置を介して再生されることができる。
【0079】
デコード装置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つを備えることができる。
【0080】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力できる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコード装置で行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
【0081】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
【0082】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピーデコード部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか、またはインター予測が適用されるか決定することができ、具体的なイントラ/インター予測モードを決定できる。
【0083】
予測部320は、後述する様々な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用することができるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくことができ、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と同様に行われることができる。即ち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/画像情報に含まれてシグナリングされることができる。
【0084】
イントラ予測部331は、現在ピクチャ内のサンプルを参照して現在ブロックを予測できる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置することができ、または離れて位置することができる。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。イントラ予測部331は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0085】
インター予測部332は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを導くことができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを備えることができる。例えば、インター予測部332は、隣接ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出できる。様々な予測モードに基づいてインター予測が行われ得るし、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
【0086】
加算部340は、取得されたレジデュアル信号を予測部(インター予測部332及び/又はイントラ予測部331を備える)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。
【0087】
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て出力されることができ、または次のピクチャのインター予測のために使用されることもできる。
【0088】
一方、ピクチャデコード過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0089】
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ360、具体的に、メモリ360のDPBに送信することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
【0090】
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部332で参照ピクチャとして使用されることができる。メモリ360は、現在ピクチャ内の動き情報が導出された(または、デコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納できる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納でき、イントラ予測部331に伝達することができる。
【0091】
本明細書において、エンコード装置200のフィルタリング部260、インター予測部221、及びイントラ予測部222で説明された実施形態等は、各々デコード装置300のフィルタリング部350、インター予測部332、及びイントラ予測部331にも同一または対応するように適用されることができる。
【0092】
前述したように、ビデオコーディングを実行するにあたって、圧縮効率を上げるために予測を実行する。これを介してコーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、前記予測されたブロックは、空間ドメイン(または、ピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコード装置及びデコード装置で同じく導出され、前記エンコード装置は、原本ブロックの原本サンプル値自体でない前記原本ブロックと前記予測されたブロックとの間のレジデュアルに対する情報(レジデュアル情報)をデコード装置にシグナリングすることで画像コーディング効率を上げることができる。デコード装置は、前記レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックとを合わせて復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
【0093】
前記レジデュアル情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコード装置は、前記原本ブロックと前記予測されたブロックとの間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれているレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を実行して変換係数を導出し、前記変換係数に量子化手順を実行して量子化された変換係数を導出することで、関連したレジデュアル情報を(ビットストリームを介して)デコード装置にシグナリングされることができる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコード装置は、前記レジデュアル情報に基づいて逆量子化/逆変換の手順を実行してレジデュアルサンプル(または、レジデュアルブロック)を導出することができる。デコード装置は、予測されたブロックと前記レジデュアルブロックに基づいて復元ピクチャを生成することができる。また、エンコード装置は、以後ピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成することができる。
【0094】
本文書において、量子化/逆量子化及び/又は変換/逆変換のうち少なくとも1つは、省略されることができる。前記量子化/逆量子化が省略される場合、前記量子化された変換係数は、変換係数と呼ばれることができる。前記変換/逆変換が省略される場合、前記変換係数は、係数またはレジデュアル係数と呼ばれることもでき、または、表現の統一性のために、依然として変換係数と呼ばれることもできる。
【0095】
本文書において、量子化された変換係数及び変換係数は、各々、変換係数及びスケーリングされた(scaled)変換係数と呼ばれることができる。この場合、レジデュアル情報は、変換係数(ら)に関する情報を含むことができ、前記変換係数(ら)に関する情報は、レジデュアルコーディングシンタックスを介してシグナリングされることができる。前記レジデュアル情報(または、前記変換係数(ら)に関する情報)に基づいて変換係数が導出されることができ、前記変換係数に対する逆変換(スケーリング)を介してスケーリングされた変換係数が導出されることができる。前記スケーリングされた変換係数に対する逆変換(変換)に基づいてレジデュアルサンプルが導出されることができる。これは本文書の他の部分でも同様に適用/表現されることができる。
【0096】
イントラ予測は、現在ブロックが属するピクチャ(以下、現在ピクチャという)内の参照サンプルに基づいて現在ブロックに対する予測サンプルを生成する予測を示すことができる。現在ブロックにイントラ予測が適用される場合、現在ブロックのイントラ予測に使用する隣接参照サンプルが導出されることができる。前記現在ブロックの隣接参照サンプルは、nW×nH大きさの現在ブロックの左側(left)境界に隣接したサンプル及び左下側(bottom-left)に隣接した総2×nH個のサンプル、現在ブロックの上側(top)境界に隣接したサンプル及び右上側(top-right)に隣接した総2×nW個のサンプル及び現在ブロックの左上側(top-left)に隣接した1個のサンプルを含むことができる。または、前記現在ブロックの隣接参照サンプルは、複数列の上側隣接サンプル及び複数行の左側隣接サンプルを含むこともできる。また、前記現在ブロックの隣接参照サンプルは、nW×nH大きさの現在ブロックの右側(right)境界に隣接した総nH個のサンプル、現在ブロックの下側(bottom)境界に隣接した総nW個のサンプル及び現在ブロックの右下側(bottom-right)に隣接した1個のサンプルを含むこともできる。
【0097】
ただし、現在ブロックの隣接参照サンプルのうち一部は、まだデコードされない、または利用可能でない場合がある。この場合、デコーダは、利用可能なサンプルとして利用可能でないサンプルを代替(substitution)して予測に使用する隣接参照サンプルを構成することができる。または、利用可能なサンプルの補間(interpolation)を介して予測に使用する隣接参照サンプルを構成することができる。
【0098】
隣接参照サンプルが導出された場合、(i)現在ブロックの隣接(neighboring)参照サンプルの平均(average)または補間(interpolation)に基づいて予測サンプルを誘導することができ、(ii)現在ブロックの隣接参照サンプルのうち、予測サンプルに対して特定(予測)方向に存在する参照サンプルに基づいて前記予測サンプルを誘導することもできる。(i)の場合は、非方向性(non-directional)モードまたは非角度(non-angular)モードと呼ばれ、(ii)の場合は、方向性(directional)モードまたは角度(angular)モードと呼ばれることができる。
【0099】
また、前記隣接参照サンプルのうち前記現在ブロックの予測サンプルを基準にして、前記現在ブロックのイントラ予測モードの予測方向に位置する第1の隣接サンプルと前記予測方向の反対方向に位置する第2の隣接サンプルとの補間を介して前記予測サンプルが生成されることもできる。前述した場合は、線形補間イントラ予測(Linear interpolation intra prediction、LIP)と呼ばれることができる。また、線形モデル(linear model)を利用してルーマサンプルに基づいてクロマ予測サンプルが生成されることもできる。この場合は、LMモードと呼ばれることができる。
【0100】
また、フィルタリングされた隣接参照サンプルに基づいて前記現在ブロックの臨時予測サンプルを導出し、前記既存の隣接参照サンプル、即ち、フィルタリングされない隣接参照サンプルのうち、前記イントラ予測モードによって導出された少なくとも1つの参照サンプルと前記臨時予測サンプルとを加重和(weighted sum)して前記現在ブロックの予測サンプルを導出することもできる。前述した場合は、PDPC(Position dependent intra prediction)と呼ばれることができる。
【0101】
また、現在ブロックの隣接多重参照サンプルラインの中から最も予測正確度が高い参照サンプルラインを選択して該当ラインで予測方向に位置する参照サンプルを利用して予測サンプルを導出し、この時に使われた参照サンプルラインをデコード装置に指示(シグナリング)する方法でイントラ予測符号化を実行することができる。前述した場合は、多重参照ライン(multi-reference line)イントラ予測またはMRLベースのイントラ予測と呼ばれることができる。
【0102】
また、現在ブロックを垂直または水平のサブパーティションに分けて同じイントラ予測モードに基づいてイントラ予測を実行し、前記サブパーティション単位で隣接参照サンプルを導出して利用できる。即ち、この場合、現在ブロックに対するイントラ予測モードが前記サブパーティションに同じく適用され、前記サブパーティション単位で隣接参照サンプルを導出して利用することによって、場合によって、イントラ予測性能を高めることができる。このような予測方法は、ISP(intra sub-partitions)ベースのイントラ予測と呼ばれることができる。
【0103】
前述したイントラ予測方法は、イントラ予測モードと区分してイントラ予測タイプと呼ばれることができる。前記イントラ予測タイプは、イントラ予測技法または付加イントラ予測モードなど、様々な用語で呼ばれることができる。例えば、前記イントラ予測タイプ(または、付加イントラ予測モードなど)は、前述したLIP、PDPC、MRL、ISPのうち少なくとも1つを含むことができる。前記LIP、PDPC、MRL、ISPなどの特定イントラ予測タイプを除外した一般イントラ予測方法は、ノーマルイントラ予測タイプと呼ばれることができる。ノーマルイントラ予測タイプは、前記のような特定イントラ予測タイプが適用されない場合、一般的に適用されることができ、前述したイントラ予測モードに基づいて予測が実行されることができる。一方、必要によって、導出された予測サンプルに対する後処理フィルタリングが実行されることもできる。
【0104】
具体的に、イントラ予測手順は、イントラ予測モード/タイプ決定ステップ、隣接参照サンプル導出ステップ、イントラ予測モード/タイプベースの予測サンプル導出ステップを含むことができる。また、必要によって、導出された予測サンプルに対する後処理フィルタリング(post-filtering)ステップが実行されることもできる。
【0105】
イントラ予測が適用される場合、隣接ブロックのイントラ予測モードを利用して現在ブロックに適用されるイントラ予測モードが決定されることができる。例えば、デコード装置は、現在ブロックの隣接ブロック(例えば、左側及び/又は上側隣接ブロック)のイントラ予測モード及び追加的な候補モードに基づいて導出されたMPM(most probable mode)リスト内のMPM候補のうち1つを、受信されたMPMインデックスに基づいて選択でき、または、前記MPM候補(及びプラナーモード)に含まれない残りのイントラ予測モードのうち1つを、リメイニングイントラ予測モード情報に基づいて選択できる。前記MPMリストは、プラナーモードを候補として含む場合または含まない場合で構成されることができる。例えば、前記MPMリストがプラナーモードを候補として含む場合、前記MPMリストは、6個の候補を有することができ、前記MPMリストがプラナーモードを候補として含まない場合、前記MPMリストは、5個の候補を有することができる。前記MPMリストがプラナーモードを候補として含まない場合、現在ブロックのイントラ予測モードがプラナーモードでないことを示すnotプラナーフラグ(例えば、intra_luma_not_planar_flag)がシグナリングされることができる。例えば、MPMフラグが先にシグナリングされ、MPMインデックス及びnotプラナーフラグは、MPMフラグの値が1である場合にシグナリングされることができる。また、前記MPMインデックスは、前記notプラナーフラグの値が1である場合にシグナリングされることができる。ここで、前記MPMリストがプラナーモードを候補として含まないように構成されることは、前記プラナーモードがMPMでないことを意味するより、MPMとして常にプラナーモードが考慮されるため、先にフラグ(not planar flag)をシグナリングしてプラナーモードであるかどうかを先に確認するためである。
【0106】
例えば、現在ブロックに適用されるイントラ予測モードがMPM候補(及びプラナーモード)内にあるか、または、リメイニングモード内にあるかは、MPMフラグ(例えば、intra_luma_mpm_flag)に基づいて指示されることができる。MPMフラグの値1は、前記現在ブロックに対するイントラ予測モードがMPM候補(及びプラナーモード)内にあることを示すことができ、MPM flagの値0は、前記現在ブロックに対するイントラ予測モードがMPM候補(及びプラナーモード)内に無いことを示すことができる。前記notプラナーフラグ(例えば、intra_luma_not_planar_flag)値0は、前記現在ブロックに対するイントラ予測モードがプラナーモードであることを示すことができ、前記notプラナーフラグ値1は、前記現在ブロックに対するイントラ予測モードがプラナーモードでないことを示すことができる。前記MPMインデックスは、mpm_idxまたはintra_luma_mpm_idxシンテックス要素の形態でシグナリングされることができ、前記リメイニングイントラ予測モード情報は、rem_intra_luma_pred_modeまたはintra_luma_mpm_remainderシンテックス要素の形態でシグナリングされることができる。例えば、前記リメイニングイントラ予測モード情報は、全体イントラ予測モードのうち前記MPM候補(及びプラナーモード)に含まれない残りのイントラ予測モードを予測モード番号順にインデキシングしてそのうち1つを指すことができる。前記イントラ予測モードは、ルーマ成分(サンプル)に対するイントラ予測モードである。以下、イントラ予測モード情報は、前記MPM flag(例えば、intra_luma_mpm_flag)、前記not planar flag(例えば、intra_luma_not_planar_flag)、前記MPMインデックス(例えば、mpm_idxまたはintra_luma_mpm_idx)、前記リメイニングイントラ予測モード情報(rem_intra_luma_pred_modeまたはintra_luma_mpm_remainder)のうち少なくとも1つを含むことができる。本文書において、MPMリストは、MPM候補リスト、candModeListなど、様々な用語で呼ばれることができる。MIPが現在ブロックに適用される場合、MIPのための別途のmpm flag(例えば、intra_mip_mpm_flag)、mpmインデックス(例えば、intra_mip_mpm_idx)、リメイニングイントラ予測モード情報(例えば、intra_mip_mpm_remainder)がシグナリングされることができ、前記not planar flagはシグナリングされない。
【0107】
即ち、一般的に画像に対するブロック分割になると、コーディングしようとする現在ブロックと隣接(neighboring)ブロックは、類似する画像特性を有するようになる。したがって、現在ブロックと隣接ブロックは、互いに同じまたは類似するイントラ予測モードを有する確率が高い。したがって、エンコーダは、現在ブロックのイントラ予測モードをエンコードするために、隣接ブロックのイントラ予測モードを利用することができる。
【0108】
例えば、エンコーダ/デコーダは、現在ブロックに対するMPM(most probable modes)リストを構成することができる。前記MPMリストは、MPM候補リストと示すこともできる。ここで、MPMとは、イントラ予測モードコーディング時、現在ブロックと隣接ブロックの類似性を考慮してコーディング効率を向上させるために利用されるモードを意味することができる。前述したように、MPMリストは、プラナーモードを含んで構成されることもでき、または、プラナーモードを除外して構成されることもできる。例えば、MPMリストがプラナーモードを含む場合、MPMリストの候補の個数は6個である。そして、MPMリストがプラナーモードを含まない場合、MPMリストの候補の個数は5個である。
【0109】
エンコーダ/デコーダは、5個または6個のMPMを含むMPMリストを構成することができる。
【0110】
MPMリストを構成するために、デフォルトイントラモード(Default intra modes)、隣接イントラモード(Neighbour intra modes)、及び導出されたイントラモード(Derived intra modes)の三つの種類のモードが考慮されることができる。
【0111】
前記隣接イントラモードのために、二つの隣接ブロック、即ち、左側隣接ブロック及び上側隣接ブロックが考慮されることができる。
【0112】
前述したように、もし、MPMリストがプラナーモードを含まないように構成する場合、前記リストからプラナー(planar)モードが除外され、前記MPMリスト候補の個数は、5個に設定されることができる。
【0113】
また、イントラ予測モードのうち、非方向性モード(または、非角度モード)は、現在ブロックの隣接(neighboring)参照サンプルの平均(average)ベースのDCモードまたは補間(interpolation)ベースのプラナー(planar)モードを含むことができる。
【0114】
インター予測が適用される場合、エンコード装置/デコード装置の予測部は、ブロック単位でインター予測を行って予測サンプルを導出することができる。インター予測は、現在ピクチャ以外のピクチャのデータ要素(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)はシグナリングされることができる。この場合、前記動きベクトル予測子及び動きベクトル差分の和を用いて、前記現在ブロックの動きベクトルを導出することができる。
【0115】
前記動き情報は、インター予測タイプ(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)に対応し得る。
【0116】
図4は、例示的なブロックツリー構造を図示する。図4はクアッドツリー及び伴われるマルチタイプツリー(quadtree and nested multi-type tree)構造に基づいてCTUが多重CUに分割されることを例示的に図示する。
【0117】
ボールドブロックエッジ(bold block edges)は、クアッドツリーパーティショニングを、残りのエッジはマルチタイプツリーパーティショニングを示す。マルチタイプツリーを伴ったクアッドツリーパーテーションはコンテンツ-アダプテッドコーディングツリー構造を提供することができる。CUはコーディングブロック(CB)に対応できる。あるいは、CUはルーマサンプルのコーディングブロックと、対応するクロマサンプルの2つのコーディングブロックを含むことができる。CUのサイズはCTUだけ大きいこともあり、またはルーマサンプル単位で4x4だけ小さいこともある。例えば、4:2:0カラーフォーマット(or クロマフォーマット)の場合、最大クロマCBサイズは64x64であり、最小クロマCBサイズは2x2でありえる。
【0118】
本文書で、例えば、最大許容ルーマTBサイズは64x64であり、最大許容クロマTBサイズは32x32でありえる。もし、前記ツリー構造によって分割されたCBの幅または高さが最大変換幅または高さより大きい場合、該当CBは自動的に(または、暗黙的に)水平及び垂直方向のTBサイズ制限を満たすまで分割できる。
【0119】
本文書で、コーディングツリースキームはルーマ及びクロマ(成分)ブロックが個別的(separate)ブロックツリー構造を有することを支援することができる。個別的ブロックツリー構造を有するブロックは個別的ツリーにコーディングされたものでありえる。1つのCTU内のルーマ及びクロマブロックが同一ブロックツリー構造を有する場合はSINGLE_TREE(シングルツリー構造)と示すことができる。1つのCTU出しルーマ及びクロマブロックが個別的ブロックツリー構造を有する場合はDUAL_TREE(シングルツリー構造)と示すことができる。この場合、ルーマ成分に対するブロックツリータイプはDUAL_TREE_LUMAと呼ばれることができ、クロマ成分に対するブロックツリータイプはDUAL_TREE_CHROMAと呼ばれることができる。デュアルツリー構造を有するブロックはデュアルツリーにコーディングされたものでありえる。P及びBスライス/タイルグループに対し、1つのCTU内のルーマ及びクロマCTBは同一のコーディングツリー構造を有するように制限できる。しかしながら、Iスライス/タイルグループに対し、ルーマ及びクロマブロックは互いに個別的ブロックツリー構造を有することができる。もし、個別的ブロックツリーモードが適用される場合、ルーマCTBは特定コーディングツリー構造に基づいてCUに分割され、クロマCTBは他のコーディングツリー構造に基づいてクロマCUに分割できる。これは、Iスライス/タイルグループ内のCUはルーマ成分のコーディングブロックまたは2つのクロマ成分のコーディングブロックで構成され、PまたはBスライス/タイルグループのCUは3つのカラー成分のブロックで構成できることを意味することができる。本文書で、スライスはタイル/タイルグループと呼ばれることができ、タイル/タイルグループはスライスと呼ばれることができる。
【0120】
マルチタイプツリーを伴ったクアッドツリーコーディングツリー構造について説明されたが、CUが分割される構造はこれに限定されない。例えば、BT構造及びTT構造は多数分割ツリー(Multiple Partitioning Tree、MPT)構造に含まれる概念と解釈することができ、CUはQT構造及びMPT構造を通じて分割されると解釈できる。QT構造及びMPT構造を通じてCUが分割される一例で、QT構造のリーフノードが幾つのブロックに分割されるかに関する情報を含むシンタックス要素(例えば、MPT_split_type)及びQT構造のリーフノードが垂直と水平のうち、どの方向に分割されるかに関する情報を含むシンタックス要素(例えば、MPT_split_mode)がシグナリングされることにより分割構造が決定できる。
【0121】
更に他の例で、CUはQT構造、BT構造、またはTT構造と異なる方法により分割できる。即ち、QT構造によって下位デップスのCUが上位デップスのCUの1/4サイズに分割されるか、BT構造によって下位デップスのCUが上位デップスのCUの1/2サイズに分割されるか、TT構造によって下位デップスのCUが上位デップスのCUの1/4または1/2サイズに分割されることとは異なり、下位デップスのCUは、場合によって上位デップスのCUの1/5、1/3、3/8、3/5、2/3、または5/8サイズに分割されることができ、CUが分割される方法はこれに限定されない。
【0122】
図5は、コーディングされた画像/ビデオに対する階層構造を例示的に示す。
【0123】
図5を参照すると、コーディングされた画像/ビデオは画像/ビデオのデコード処理及びその自体を扱うVCL(video coding layer、ビデオコーディング階層)、符号化された情報を転送し格納する下位システム、そしてVCLと下位システムの間に存在し、ネットワーク適応機能を担当するNAL(network abstraction layer、ネットワーク抽象階層)に区分されている。
【0124】
VCLでは圧縮された画像データ(スライスデータ)を含むVCLデータを生成するか、またはピクチャパラメータセット(Picture Parameter Set:PPS)、シーケンスパラメータセット(Sequence Parameter Set:SPS)、ビデオパラメータセット(Video Parameter Set:VPS)などの情報を含むパラメータセット、または画像のデコード過程に付加的に必要とするSEI(Supplemental Enhancement Information)メッセージを生成することができる。
【0125】
NALでは、VCLで生成されたRBSP(Raw Byte Sequence Payload)にヘッダ情報(NALユニットヘッダ)を付加してNALユニットを生成することができる。この際、RBSPはVCLで生成されたスライスデータ、パラメータセット、SEIメッセージなどをいう。NALユニットヘッダには該当NALユニットに含まれるRBSPデータによって特定されるNALユニットタイプ情報を含むことができる。
【0126】
前記の図面で図示したように、NALユニットはVCLで生成されたRBSPのよってVCL NALユニットとNon-VCL NALユニットに区分できる。VCL NALユニットは画像に対する情報(スライスデータ)を含んでいるNALユニットを意味することができ、Non-VCL NALユニットは画像をデコードするために必要とする情報(パラメータセットまたはSEIメッセージ)を含んでいるNALユニットを意味することができる。
【0127】
前述したVCL NALユニット、Non-VCL NALユニットは下位システムのデータ規格によってヘッダ情報を付けてネットワークを介して転送できる。例えば、NALユニットはH.266/VVCファイルフォーマット、RTP(Real-time Transport Protocol)、TS(Transport Stream)などの所定の規格のデータ形態に変形されて多様なネットワークを介して転送できる。
【0128】
前述したように、NALユニットは該当NALユニットに含まれるRBSPデータ構造(structure)によってNALユニットタイプが特定されることができ、このようなNALユニットタイプに対する情報はNALユニットヘッダに格納されてシグナリングできる。
【0129】
例えば、NALユニットが画像に対する情報(スライスデータ)を含むか否かによってVCL NALユニットタイプとNon-VCL NALユニットタイプに大別できる。VCL NALユニットタイプはVCL NALユニットが含むピクチャの性質及び種類などによって分類されることができ、Non-VCL NALユニットタイプはパラメータセットの種類などによって分類できる。
【0130】
以下はNon-VCL NALユニットタイプが含むパラメータセットの種類などによって特定されたNALユニットタイプの一例である。
【0131】
-APS(Adaptation Parameter Set)NAL unit:APSを含むNALユニットに対するタイプ
【0132】
-DPS(Decoding Parameter Set)NAL unit:DPSを含むNALユニットに対するタイプ
【0133】
-VPS(Video Parameter Set)NAL unit:VPSを含むNALユニットに対するタイプ
【0134】
-SPS(Sequence Parameter Set)NAL unit:SPSを含むNALユニットに対するタイプ
【0135】
-PPS(Picture Parameter Set)NAL unit:PPSを含むNALユニットに対するタイプ
【0136】
-PH(Picture header)NAL unit:PHを含むNALユニットに対するタイプ
【0137】
前述したNALユニットタイプはNALユニットタイプのためのシンタックス情報を有し、前記シンタックス情報はNALユニットヘッダに格納されてシグナリングできる。例えば、前記シンタックス情報はnal_unit_typeであることがあり、NALユニットタイプはnal_unit_type値に特定できる。
【0138】
一方、前述したように、1つのピクチャは複数のスライスを含むことができ、1つのスライスはスライスヘッダ及びスライスデータを含むことができる。この場合、1つのピクチャ内の複数のスライス(スライスヘッダ及びスライスデータ集合)に対して1つのピクチャヘッダが更に付加できる。前記ピクチャヘッダ(ピクチャヘッダシンタックス)は前記ピクチャに共通的に適用できる情報/パラメータを含むことができる。本文書で、スライスはタイルグループに混用または代替できる。また、本文書でスライスヘッダはタイプグループヘッダに混用または代替できる。
【0139】
前記スライスヘッダ(スライスヘッダシンタックス)は、前記スライスに共通的に適用できる情報/パラメータを含むことができる。前記APS(APSシンタックス)またはPPS(PPSシンタックス)は1つ以上のスライスまたはピクチャに共通的に適用できる情報/パラメータを含むことができる。前記SPS(SPSシンタックス)は、1つ以上のシーケンスに共通的に適用できる情報/パラメータを含むことができる。前記VPS(VPSシンタックス)は多重レイヤに共通的に適用できる情報/パラメータを含むことができる。前記DPS(DPSシンタックス)は、ビデオの全般に共通的に適用できる情報/パラメータを含むことができる。前記DPSは、CVS(coded video sequence)の接合(concatenation)に関連した情報/パラメータを含むことができる。本文書で、上位レベルシンタックス(high level syntax、HLS)ということは、前記APSシンタックス、PPSシンタックス、SPSシンタックス、VPSシンタックス、DPSシンタックス、ピクチャヘッダシンタックス、スライスヘッダシンタックスのうち、少なくとも1つを含むことができる。
【0140】
本文書で、エンコード装置からデコード装置にエンコードされてビットストリーム形態にシグナリングされる画像/ビデオ情報は、ピクチャ内のパーティショニング関連情報、イントラ/インター予測情報、レジデュアル情報、インループフィルタリング情報などを含むだけでなく、前記スライスヘッダに含まれた情報、前記ピクチャヘッダに含まれた情報、前記APSに含まれた情報、前記PPSに含まれた情報、SPSに含まれた情報、VPSに含まれた情報、及び/又はDPSに含まれた情報を含むことができる。また、前記画像/ビデオ情報はNALユニットヘッダの情報を更に含むことができる。
【0141】
一方、量子化などの圧縮符号化過程で発生するエラーによる原本(original)画像と復元画像の差を補償するために、前述したように復元サンプルまたは復元ピクチャにインループフィルタリング手続きが遂行できる。前述したように、インループフィルタリングはエンコード装置のフィルタ部及びデコード装置のフィルタ部で遂行されることができ、デブロッキングフィルタ、SAO及び/又は適応的ループフィルタ(ALF)が適用できる。例えば、ALF手続きはデブロッキングフィルタリング手続き及び/又はSAO手続きが完了した後、遂行できる。但し、この場合にもデブロッキングフィルタリング手続き及び/又はSAO手続きが省略されることもできる。
【0142】
一方、コーディング効率を高めるために前述したようにLMCS(luma mapping with chroma scaling)が適用できる。LMCSはループリシェイパ(リシェイピング)と称されることができる。コーディング効率を高めるためにLMCSの制御及び/又はLMCS関連情報のシグナリングは階層的に遂行できる。
【0143】
図6は、本文書の一実施形態に従うCVSの階層構造を例示的に図示する。
【0144】
図6を参照すると、CVS(coded video sequence)はSPS、1つ以上のPPS(sequence parameter set)、そして後続する1つ以上のコーディングされたピクチャを含むことができる。各コーディングされたピクチャは四角リージョンに分けられることができる。前記四角リージョンはタイルと呼ばれることができる。1つ以上のタイルは集まってタイルグループまたはスライスを形成することができる。この場合、タイルグループヘッダがPPS(picture parameter set)にリンクされ、前記PPSがSPSにリンクできる。
【0145】
図7は、本文書の一実施形態に従うCVSの階層的な構造を例示的に図示する。図8は、本文書の他の実施形態に従うCVSの階層構造を例示的に図示する。
【0146】
図8を参照すると、CVS(coded video sequence)はSPS、PPS、タイルグループヘッダ(tile group header)、タイルデータ(tile data)、及び/又はCTUを含むことができる。ここで、タイルグループヘッダ及びタイルデータは各々スライスヘッダ及びスライスデータと称されることもできる。
【0147】
SPSは、CVSで使われるようにツールをイネーブルさせるためのフラグを原始的に含むことができる。また、SPSはピクチャ毎に変わるパラメータに対する情報を含むPPSにより参照できる。符号化されたピクチャの各々は1つ以上の符号化された矩形ドメインのタイルを含むことができる。前記タイルはタイルグループを形成するラスタースキャンにグループ化できる。各タイルグループはタイルグループヘッダというヘッダ情報としてカプセル化される。各タイルは符号化されたデータを含むCTUで構成される。ここで、データは原本サンプル値、予測サンプル値、及びそれのルーマ及びクロマ成分(ルーマ予測サンプル値及びクロマ予測サンプル値)を含むことができる。
【0148】
既存の方法によると、ALFデータ(ALFパラメータ)またはLMCSデータ(LMCSパラメータ)はタイルグループヘッダに含まれた。1つのビデオが多数のピクチャ―で構成され、1つのピクチャ―が多数のタイルを含むことを考慮する時、ALFデータ(ALFパラメータ)またはLMCSデータ(LMCSパラメータ)のシグナリングがタイルグループ単位で頻繁になされることはコーディング効率を低下させる問題があった。
【0149】
本文書で提案された一実施形態によると、前記ALFパラメータまたはLMCSデータ(LMCSパラメータ)は次のようにAPSに含まれてシグナリングできる。
【0150】
図7を参照すると、APSが定義され、前記APSは必要とするALFデータ(ALFパラメータ)を運ぶことができる。その上、APSは自己識別パラメータ(self-identification parameter)、ALFデータ、及び/又はLMCSデータを有することができる。前記APSの自己識別パラメータはAPS IDを含むことができる。即ち、前記APSは前記APS IDを示す情報を含むことができる。タイルグループヘッダまたはスライスヘッダはAPSインデックス情報を用いてAPSを参照することができる。言い換えると、タイルグループヘッダまたはスライスヘッダはAPSインデックス情報を含むことができ、前記APSインデックス情報が示すAPS IDを有するAPSに含まれたLMCSデータ(LMCSパラメータ)に基づいて対象ブロックに対するALF手続きを遂行することができ、または前記APSインデックス情報が示すAPS IDを有するAPSに含まれたALFデータ(ALFパラメータ)に基づいて対象ブロックに対するLMCS手続きを遂行することができる。ここで、前記APSインデックス情報はAPS ID情報と呼ばれることもできる。
【0151】
一例で、前記SPSはALFの使用を許容するフラグを含むことができる。例えば、CVSが開始(begin)する時、SPSがチェックされ、前記SPS内に前記フラグがチェックできる。例えば、SPSは以下の表1のシンタックスを含むことができる。表1のシンタックスはSPSの一部分でありえる。
【0152】
【表1】
【0153】
前記表1のシンタックスに含まれたシンタックス要素のセマンティックスは例えば、次の表のように示すことができる。
【0154】
【表2】
【0155】
即ち、前記sps_alf_enabled_flagシンタックス要素はその値が0なのか1なのかに基づいてALFが可用か否かを示すことができる。sps_alf_enabled_flagシンタックス要素はALF可用フラグ(第1のALF可用フラグと呼ばれることができる)と呼ばれることができ、SPSに含まれることができる。即ち、前記ALF可用フラグはSPS(または、SPSレベル)でシグナリングできる。前記SPSでシグナリングされる前記ALF可用フラグの値が1の場合、前記SPSを参照するCVS内のピクチャ―に対して基本的にALFが可用に決定できる。一方、前述したように、前記SPSより下位レベルで追加的な可用フラグをシグナリングして個別的にALFをon/off処理することもできる。
【0156】
例えば、ALFツールがCVSに対して可用な場合、タイルグループヘッダまたはスライスヘッダで追加的な可用フラグ(第2のALF可用フラグと呼ばれることができる)がシグナリングできる。前記第2のALF可用フラグは、例えば、SPSレベルでALFが可用な場合にパーシング/シグナリングできる。もし、 第2のALF可用フラグの値が1の場合、前記タイルグループヘッダまたは前記スライスヘッダを通じてALFデータをパーシングすることができる。例えば、前記第2のALF可用フラグはルーマ及びクロマ成分に関するALF可用条件(condition)を明示(specify)することができる。前記ALFデータはAPS ID情報を通じて接近することができる。
【0157】
【表3】
【0158】
【表4】
【0159】
前記表3または表4のシンタックスに含まれたシンタックス要素のセマンティックスは、例えば、次の表のように示すことができる。
【0160】
【表5】
【0161】
【表6】
【0162】
前記第2のALF可用フラグはtile_group_alf_enabled_flagシンタックス要素またはslice_alf_enabled_flagシンタックス要素を含むことができる。
【0163】
前記APS ID情報(ex.tile_group_aps_idシンタックス要素またはslice_aps_idシンタックス要素)に基づいて該当タイルグループまたは該当スライスで参照するAPSが識別できる。前記APSはALFデータを含むことができる。
【0164】
一方、ALFデータを含むAPSの構造は、例えば、次のようなシンタックス及びセマンティックスに基づいて説明できる。表7のシンタックスはAPSの一部分でありえる。
【0165】
【表7】
【0166】
【表8】
【0167】
前記のように、adaptation_parameter_set_idシンタックス要素は該当APSの識別子を示すことができる。即ち、APSは前記adaptation_parameter_set_idシンタックス要素に基づいて識別できる。前記adaptation_parameter_set_idシンタックス要素はAPS ID情報と呼ばれることができる。また、前記APSはALFデータフィールドを含むことができる。前記ALFデータフィールドは、前記adaptation_parameter_set_idシンタックス要素の以後にパーシング/シグナリングできる。
【0168】
また、例えば、APSでAPS拡張フラグ(ex.aps_extension_flagシンタックス要素)がパーシング/シグナリングできる。前記APS拡張フラグは、APS拡張データフラグ(aps_extension_data_flag)シンタックス要素が存在するか否かを指示することができる。前記APS拡張フラグは、例えばVVC標準の以後のバージョンのための拡張ポイントを提供するために使用できる。
【0169】
図9は、本文書の一実施形態に従う例示的なLMCS構造を図示する。図9のLMCS構造(900)は、適応的部分線形(adaptive piecewise linear、adaptive PWL)モデルに基づいたルーマ成分のイン-ループマッピング(in-loop mapping)部分(910)とクロマ成分に対してルーマ-依存したクロマレジデュアルスケーリング(luma-dependent chroma residual scaling)部分(920)を含むことができる。イン-ループマッピング部分(910)の逆量子化及び逆変換(911)、復元(912)、及びイントラ予測(913)ブロックは、マッピングされた(リシェイプされた(reshaped))ドメインで適用されるプロセスを示す。イン-ループマッピング部分(910)のループフィルタ(915)、動き補償またはインター予測(917)ブロック、及びクロマレジデュアルスケーリング部分(920)の復元(922)、イントラ予測(923)、動き補償またはインター予測(924)、ループフィルタ(925)のブロックは本来の(マッピングされていない(non-mapped)、リシェイプされていない)ドメインで適用されるプロセスを示す。
【0170】
図9で説明されるように、LMCSがイネーブルされれば、インバースリシェイピング(マッピング)プロセス(914)、フォワードリシェイピング(マッピング)プロセス(918)、及びクロマスケーリングプロセス(921)のうち、少なくとも1つが適用できる。例えば、インバースリシェイピングプロセスは復元されたピクチャ―の(復元された)ルーマサンプル(または、ルーマサンプルまたはルーマサンプルアレイ)に適用できる。インバースリシェイピングプロセスはルーマサンプルの部分関数(インバース)インデックス(piecewise function(inverse)index)に基づいて遂行できる。部分関数(インバース)インデックスはルーマサンプルが属する断片(または、部分)を識別することができる。インバースリシェイピングプロセスの出力は修正された(復元)ルーマサンプル(または、修正されたルーマサンプルまたは修正されたルーマサンプルアレイ)である。LMCSはタイルグループ(または、スライス)、ピクチャ―またはより高いレベルでイネーブルまたはディスエーブルできる。
【0171】
フォワードリシェイピングプロセス及び/又はクロマスケーリングプロセスは復元されたピクチャ―を生成するために適用できる。ピクチャ―はルーマサンプルとクロマサンプルを含むことができる。ルーマサンプルを有する復元されたピクチャ―は復元されたルーマピクチャ―と称されることができ、クロマサンプルを有する復元されたピクチャ―は復元されたクロマピクチャ―と称されることができる。復元されたルーマピクチャ―と復元されたクロマピクチャ―の組み合わせは復元されたピクチャ―と称されることができる。復元されたルーマピクチャ―はフォワードリシェイピングプロセスに基づいて生成できる。例えば、インター予測が現在ブロックに適用されれば、フォワードリシェイピングは参照ピクチャ―の(復元された)ルーマサンプルに基づいて導出されたルーマ予測サンプルに適用される。参照ピクチャ―の(復元された)ルーマサンプルはインバースリシェイピングプロセスに基づいて生成されるので、フォワードリシェイピングがルーマ予測サンプルに適用されてリシェイプされた(マッピングされた)ルーマ予測サンプルが導出できる。フォワードリシェイピングプロセスはルーマ予測サンプルの部分関数インデックスに基づいて遂行できる。部分関数インデックスはインター予測に使われた参照ピクチャ―のルーマ予測サンプルの値またはルーマサンプルの値に基づいて導出できる。イントラ予測(または、IBC(intra block copy))が現在ブロックに適用される場合、インバースリシェイピングプロセスが現在ピクチャ―の復元されたサンプルにまだ適用されていないので、フォワードマッピングは必要でない。復元されたルーマピクチャ―で(復元された)ルーマサンプルはリシェイプされたルーマ予測サンプル及び対応するルーマレジデュアルサンプルに基づいて生成される。
【0172】
復元されたクロマピクチャ―はクロマスケーリングプロセスに基づいて生成できる。例えば、復元されたコマピクチャ―での(復元された)クロマサンプルは現在ブロックでのクロマ予測サンプル及びクロマレジデュアルサンプル(cres)に基づいて導出できる。クロマレジデュアルサンプル(cres)は現在ブロックに対する(スケーリングされた)クロマレジデュアルサンプル(cresScale)及びクロマレジデュアルスケーリングファクタ(cScaleInvはvarScaleと称されることができる)に基づいて導出される。クロマレジデュアルスケーリングファクタは、現在ブロックでリシェイプされたルーマ予測サンプル値に基づいて計算できる。例えば、スケーリングファクタはリシェイプされたルーマ予測サンプル値(Y’pred)の平均ルーマ値(ave(Y’pred))に基づいて計算できる。参考までに、逆変換/逆量子化に基づいて導出された(スケーリングされた)クロマレジデュアルサンプルは、cresScale、前記(スケーリングされた)クロマレジデュアルサンプルに(インバース)スケーリング手続きを遂行して導出されるクロマレジデュアルサンプルはcresと称されることができる。
【0173】
図10は、本文書の他の一実施形態に従うLMCS構造を図示する。図10図9を参照して説明される。ここでは、図10のLMCS構造と図9のLMCS構造(900)の間の差が主として説明される。図10のイン-ループマッピング部分とルーマ-依存的なクロマレジデュアルスケーリング部分は、各々図9のイン-ループマッピング部分(910)とルーマ-依存的なクロマレジデュアルスケーリング部分(920)と同一/類似するように動作することができる。
【0174】
図10を参照すると、ルーマ復元サンプルに基づいてクロマレジデュアルスケーリングファクタを導出することができる。この場合、復元ブロックの内部ルーマ復元サンプルでない復元ブロックの外部の周辺ルーマ復元サンプルに基づいて平均ルーマ値(avgY)を獲得することができ、前記平均ルーマ値(avgY)に基づいてクロマレジデュアルスケーリングファクタを導出することができる。ここで、前記の周辺ルーマ復元サンプルは現在ブロックの周辺ルーマ復元サンプル、または前記現在ブロックを含むVPDU(virtual pipeline data units)の周辺ルーマ復元サンプルでありえる。例えば、対象ブロックにイントラ予測が適用される場合、前記イントラ予測に基づいて導出された予測サンプルに基づいて復元サンプルが導出できる。また例えば、前記対象ブロックにインター予測が適用される場合、前記インター予測に基づいて導出された予測サンプルにフォワードマッピングを適用し、リシェイプされた(あるいは、フォワードマッピングされた)ルーマ予測サンプルに基づいて復元サンプルが生成できる。
【0175】
ビットストリームを通じてシグナリングされる動画像/画像情報はLMCSパラメータ(LMCS対する情報)を含むことができる。LMCSパラメータはHLS(high level syntax、スライスヘッダシンタックスを含み)などで構成できる。LMCSパラメータ及び構成の詳細な説明は後述する。前述したように、本文書(及び、以下の実施形態)で説明されたシンタックス表はエンコーダ端で構成/エンコードされることができ、ビットストリームを通じてデコーダ端でシグナリングできる。デコーダはシンタックス表でLMCSに対する情報(シンタックス構成要素の形態に)をパーシング/デコードすることができる。以下に説明される1つ以上の実施形態は組み合わせることができる。エンコーダはLMCSに関する情報に基づいて現在ピクチャ―をエンコードすることができ、そしてデコーダはLMCSに関する情報に基づいて現在ピクチャ―をデコードすることができる。
【0176】
ルーマ成分のイン-ループマッピングは圧縮効率を向上させるために動的範囲に亘ってコードワードを再分配することによって、入力信号の動的範囲を調節することができる。ルーママッピングのために、フォワードマッピング(リシェイピング)関数(FwdMap)と、前記フォワードマッピング関数(FwdMap)に対応するインバースマッピング(リシェイピング)関数(InvMap)が使用できる。フォワードマッピング関数(FwdMap)は部分線形モデルを用いてシグナリングされることができ、例えば、部分線形モデルは16個の断片(pieces)またはビン(bins)を有することができる。前記断片は同一の長さを有することができる。一例で、インバースマッピング関数(InvMap)は別途にシグナリングされないことがあり、代わりにフォワードマッピング関数(FwdMap)から導出できる。即ち、インバースマッピングはフォワードマッピングの関数でありえる。例えば、インバースマッピング関数はy=xを基準にフォワードマッピング関数を対称させた関数でありえる。
【0177】
イン-ループ(ルーマ)リシェイピング(reshaping)はリシェイプされたドメインで入力ルーマ値(サンプル)を変更された値にマッピングすることに使用できる。リシェイプされた値は符号化され、そして復元後に本来の(マッピングされていない、リシェイプされていない)ドメインにまたマッピングできる。クロマレジデュアルスケーリングはルーマ信号とクロマ信号の間の差を補償するために適用できる。イン-ループリシェイピングはリシェイパモデルのためのハイレベルシンタックスを指定して遂行できる。リシェイパモデルシンタックスは部分線形モデル(PWLモデル)をシグナリングすることができる。部分線形モデルに基づいてフォワードルックアップテーブル(FwdLUT)及び/又はインバースルックアップテーブル(InvLUT)が導出できる。一例として、フォワードルックアップテーブル(FwdLUT)が導出された場合、フォワードルックアップテーブル(FwdLUT)に基づいてインバースルックアップテーブル(InvLUT)が導出できる。フォワードルックアップテーブル(FwdLUT)は入力ルーマ値Yを変更された値Yにマッピングし、インバースルックアップテーブル(InvLUT)は変更された値に基づいた復元値Yを復元された値Y’にマッピングすることができる。復元された値Y’は入力ルーマ値Yに基づいて導出できる。
【0178】
一例で、SPSは以下の表9のシンタックスを含むことができる。表9のシンタックスはツールイネーブリングフラグとしてsps_reshaper_enabled_flagを含むことができる。ここで、sps_reshaper_enabled_flagはリシェイパがCVS(coded video sequence)で使われるかを指定することに利用できる。即ち、sps_reshaper_enabled_flagはSPSでリシェイピングをイネーブリングするフラグでありえる。一例で、表9のシンタックスはSPSの一部分でありえる。
【0179】
【表9】
【0180】
一例で、sps_seq_parameter_set_id及びsps_reshaper_enabled_flagが示すことができるセマンティックスは以下の表10の通りである。
【0181】
【表10】
【0182】
一例で、タイルグループヘッダまたはスライスヘッダは以下の表11または表12のシンタックスを含むことができる。
【0183】
【表11】
【0184】
【表12】
【0185】
前記表11または表12のシンタックスに含まれたシンタックス要素のセマンティックスは、例えば、次の表に開示された事項を含むことができる。
【0186】
【表13】
【0187】
【表14】
【0188】
一例として、sps_reshaper_enabled_flagがパーシングされれば、タイルグループヘッダはルックアップテーブル(FwdLUT及び/又はInvLUT)を構成することに使われる追加的なデータ(例えば、前記表13または表14に含まれた情報)をパーシングすることができる。このために、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)の場合、現在タイルグループ(または、現在スライス)に対してリシェイパが存在しないと指示できる。
【0189】
リシェイパが存在し、そしてリシェイパが現在タイルグループ(または、現在スライス)でイネーブルされれば、リシェイパモデル(例えば、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(または、真)であれば、リシェイパモデルは現在タイルグループ(または、スライス)に使われたことと指示できる。
【0190】
一例として、例えば、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)である場合もある。
【0191】
リシェイパモデル(例えば、tile_group_reshaper_model()またはslice_reshaper_model())及びtile_group_reshaper_enable_flag(または、slice_reshaper_enable_flag)がパーシングされれば、クロマスケーリングのために必要な条件が存在するか否かが判断(評価)できる。前記の条件は条件1(現在タイルグループ/スライスがイントラ符号化されていないこと)及び/又は条件2(現在タイルグループ/スライスがルーマ及びクロマに対する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または偽であれば)、現在タイルグループ(または、スライス)に対してクロマレジデュアルスケーリングがディスエーブルされることが指示できる。
【0192】
前述したリシェイピングの目的はルックアップテーブル(FwdLUT及び/又はInvLUT)を構成するために必要なデータをパーシングするものである。一例で、前記パーシングされたデータに基づいて構成されたルックアップテーブルは許容可能なルーマ値範囲の分布を複数個のビン(例えば、16個)に分けることができる。したがって、与えられたビン内にあるルーマ値は変更されたルーマ値にマッピングできる。
【0193】
図11は、例示的なフォワードマッピングを示すグラフを示す。図11では例示的に5個のビンのみ図示される。
【0194】
図11を参照すると、x軸は入力ルーマ値を示し、y軸は変更された出力ルーマ値を示す。x軸は5個のビンまたは断片に分けられ、各ビンは長さLを有する。即ち、変更されたルーマ値にマッピングされた5個のビンは互いに同一な長さを有する。フォワードルックアップテーブル(FwdLUT)はタイルグループヘッダで利用可能なデータ(例えば、リシェイパデータ)を使用して構成されることができ、これからマッピングが容易になることができる。
【0195】
一実施形態で、前記ビンのインデックスと関連した出力ピボット地点(output pivot points)が計算できる。出力ピボット地点はルーマコードワードリシェイピングの出力範囲の最小及び最大境界を設定(マーキング)することができる。出力ピボット地点を計算する過程はコードワードの数の部分累積(piecewise cumulative)分布関数に基づいて遂行できる。前記出力ピボット範囲は使われるビンの最大個数及びルックアップテーブル(FwdLUTまたはInvLUT)のサイズに基づいて分割できる。一例として、前記出力ピボット範囲はビンの最大個数とルックアップテーブルのサイズの間の積に基づいて分割できる。例えば、ビンの最大個数とルックアップテーブルのサイズの間の積が1024の場合、前記出力ピボット範囲は1024個のエントリーに分割できる。前記出力ピボット範囲の分割はスケーリングファクタに基づいて(用いて)遂行(適用または達成)できる。一例で、スケーリングファクタは以下の数式1に基づいて導出できる。
【0196】
【数1】
【0197】
前記の数式1で、SFはスケーリングファクタを示し、y1及びy2は各々のビンに対応する出力ピボット地点を示す。また、FP_PREC及びcは事前に決定された定数でありえる。前記数式1に基づいて決定されるスケーリングファクタはフォワードリシェイピングのためのスケーリングファクタと称されることができる。
【0198】
他の実施形態で、インバースリシェイピング(インバースマッピング)と関連して、ビンの定義された範囲(例えば、reshaper_model_min_bin_idxからreshaper_model_max_bin_idxまで)に対し、フォワードルックアップテーブル(FwdLUT)のマッピングされたピボット地点に対応する入力リシェイプされたピボット地点及びマッピングされたインバース出力ピボット地点(ビンインデックス*初期コードワードの数で与えられる)がパッチされる。他の例で、スケーリングファクタ(SF)は以下の数式2に基づいて導出できる。
【0199】
【数2】
【0200】
前記の数式2で、SFはスケーリングファクタを示し、x1及びx2は入力ピボット地点を示し、y1及びy2は各々の断片(ビン)に対応する出力ピボット地点を示す。ここで、入力ピボット地点はフォワードルックアップテーブル(FwdLUT)に基づいてマッピングされたピボット地点であり、そして出力ピボット地点はインバースルックアップテーブル(InvLUT)に基づいてインバースマッピングされたピボット地点でありえる。また、FP_PRECは事前に決定された定数でありえる。数式2のFP_PRECは数式1のFP_PRECと同一または相異することができる。前記数式2に基づいて決定されるスケーリングファクタはインバースリシェイピングのためのスケーリングファクタと称されることができる。インバースリシェイピングの途中に、数式2のスケーリングファクタに基づいて入力ピボット地点の分割が遂行できる。分割された入力ピボット地点に基づいて、0から最小ビンインデックス(reshaper_model_min_bin_idx)まで及び/又は最小ビンインデックス(reshaper_model_min_bin_idx)から最大ビンインデックス(reshaper_model_max_bin_idx)までの範囲に属するビンインデックスのために最小及び最大ビン値に対応するピボット値が指定される。
【0201】
一例で、LMCSデータ(lmcs_data)はAPSに含まれることができる。LMCSデータを含むAPSは図7の階層構造として構成できる。APSのセマンティックスは、例えば、コーディングのために32個のAPSがシグナリングできる。
【0202】
次の表は、本文書の一実施形態に従う例示的なAPSのシンタックス及びセマンティックスを示す。
【0203】
【表15】
【0204】
【表16】
【0205】
前記の表15を参照すると、APSでAPSパラメータのタイプ情報(ex.aps_params_type)がパーシング/シグナリングできる。APSパラメータのタイプ情報はadaptation_parameter_set_idの以後にパーシング/シグナリングできる。
【0206】
前記の表15に含まれたaps_params_type、ALF_APS及びLMCS_APSは、表16内に含まれた表3.2により説明できる。即ち、前記表15に含まれたaps_params_typeによってAPSに適用されるAPSパラメータのタイプは表16内に含まれた表3.2のように設定できる。表15に含まれたシンタックス要素は表8を参照して説明できる。APSに関連した説明は表1乃至表8と共に前述した説明により裏付けられる。
【0207】
表16を参照すると、例えばaps_params_typeは該当APSパラメータのタイプを分類するためのシンタックス要素でありえる。APSパラメータのタイプはALFパラメータ及びLMCSパラメータを含むことができる。表16を参照すると、タイプ情報(aps_params_type)の値が0の場合、aps_params_typeの名称はALF_APS(or ALF APS)に定まり、APSパラメータのタイプはALFパラメータに定まることができる(APSパラメータは、ALFパラメータを示すことができる)。この場合、APSにALFデータフィールド(i.e. alf_data())がパーシング/シグナリングできる。タイプ情報(aps_params_type)の値が1の場合、aps_params_typeの名称はLMCS_APS(or LMCS APS)に定まり、そしてAPSパラメータのタイプはLMCSパラメータに定まることができる(APSパラメータは、LMCSパラメータを示すことができる)。この場合、APSにLMCSデータフィールド(i.e. lmcs_data())がパーシング/シグナリングできる。
【0208】
以下の表17及び/又は表18は一実施形態に従うリシェイパモデルのシンタックスを示す。前記リシェイパモデルはLMCSモデルと呼ばれることができる。ここで、リシェイパモデルは例示的にタイルグループリシェイパとして説明されたが、必ず本実施形態により本明細書が制限されるのではない。例えば、前記リシェイパモデルはAPSに含まれることもでき、またはタイルグループリシェイパモデルはスライスリシェイパモデルまたはLMCSデータ(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と混用して使用できる。
【0209】
前記の表15に含まれたLMCSデータ(lmcs_data())またはリシェイパモデル(タイルグループリシェイパまたはスライスリシェイパ)は次の表に含まれたシンタックスのように表現できる。
【0210】
【表17】
【0211】
【表18】
【0212】
前記の表17及び/又は表18のシンタックスに含まれたシンタックス要素のセマンティックスは、例えば、次の表に開示された事項を含むことができる。
【0213】
【表19-1】
【0214】
【表19-2】
【0215】
【表20-1】
【0216】
【表20-2】
【0217】
本文書に従うルーマサンプルに対するインバースマッピング手続きは以下の表のような標準文書形式で記述できる。
【0218】
【表21】
【0219】
本文書に従うルーマサンプルに対するピースワイズ関数インデックス(piecewise function index)手続きの識別は以下の表のような標準文書形式で記述できる。表22で、idxYInvはインバースマッピングインデックスと称されることができ、インバースマッピングインデックスは復元ルーマサンプル(lumaSample)に基づいて導出できる。
【0220】
【表22】
【0221】
前述した実施形態及び例示に基づいてルーママッピングが遂行されることができ、前述したシンタックス及びそれに含まれた構成要素は単に例示的な表現であって、実施形態が前述した表や数式により制限されるのではない。以下、ルーママッピングに基づいてクロマレジデュアルスケーリング(レジデュアルサンプルのクロマ成分に対するスケーリング)を遂行する方法が説明される。
【0222】
(ルーマ-依存的な(luma-dependent))クロマレジデュアルスケーリングはルーマサンプル及びこれに対応するクロマサンプルの間の差を補償するためである。例えば、クロマレジデュアルスケーリングがイネーブルされるか否かはタイルグループレベルまたはスライスグループレベルでシグナリングできる。一例で、ルーママッピングがイネーブルされ、デュアルツリー分割(dual tree partitioning)が現在タイルグループに適用されないと、ルーマ-依存的なクロマレジデュアルスケーリングがイネーブルされるか否かを指示するために追加的なフラグがシグナリングできる。他の例で、ルーママッピングが使用されないか、 またはデュアルツリー分割が現在タイルグループに使用されないと、ルーマ-依存的なクロマレジデュアルスケーリングがディスエーブルできる。更に他の例で、クロマレジデュアルスケーリングは4より小さいか等しいサイズを有するクロマブロックに対しては常にディスエーブルできる。
【0223】
クロマレジデュアルスケーリングは該当ルーマ予測ブロック(イントラ予測モード及び/又はインター予測モードが適用された予測ブロックのルーマ成分)の平均値を基にすることができる。エンコーダ端及び/又はデコーダ端でのスケーリング演算は以下の数式3に基づいて固定少数点整数演算で具現できる。
【0224】
【数3】
【0225】
前述した数式3で、c’はスケーリングされたクロマレジデュアルサンプル(レジデュアルサンプルのスケーリングされたクロマ成分)を示し、cはクロマレジデュアルサンプル(レジデュアルサンプルのクロマ成分)を示し、sはクロマレジデュアルスケーリングファクタを示し、CSCALE_FP_PRECは事前に決定された定数を示すことができ、例えば、CSCALE_FP_PRECは11でありえる。
【0226】
図12は、本文書の一実施形態に従ってクロマレジデュアルスケーリングインデックスを導出する方法を図示する流れ図である。図12と共に説明される方法は図9及びそれと関連した説明に含まれた表、数式、変数、アレイ、関数に基づいて遂行できる。
【0227】
ステップS1210で、予測モード情報に基づいて予測モードがイントラ予測モードか、またはインター予測モードかが判断できる。予測モードがイントラ予測モードであれば、現在ブロックまたは現在ブロックの予測サンプルは既にリシェイプされた(マッピングされた)領域にあることと見なされる。予測モードがインター予測モードであれば、現在ブロックまたは現在ブロックの予測サンプルは本来の(マッピングされていない、リシェイプされていない)領域にあることと見なされる。
【0228】
ステップS1220で、予測モードがイントラ予測モードの場合、現在ブロック(または、現在ブロックのルーマ予測サンプル)の平均が計算(導出)できる。即ち、既にリシェイプされた領域にある現在ブロックの平均が直接的に計算される。平均は平均値と称されることができる。
【0229】
ステップS1221で、予測モードがインター予測モードの場合、現在ブロックのルーマ予測サンプルに対してフォワードリシェイピング(フォワードマッピング)が遂行(適用)できる。フォワードリシェイピングを通じて、インター予測モードに基づいたルーマ予測サンプルは本来の領域からリシェイプされた領域にマッピングできる。一例で、ルーマ予測サンプルに対するフォワードリシェイピングは前述した表17及び/又は表18と共に説明されたLMCSデータフィールドまたはリシェイパモデルに基づいて遂行できる。
【0230】
ステップS1222で、(フォワード)リシェイプされた、または(フォワード)マッピングされたルーマ予測サンプルの平均が計算(導出)できる。即ち、(フォワード)リシェイプされた、または(フォワード)マッピングされた結果に対して平均化過程が遂行できる。
【0231】
ステップS1230で、クロマレジデュアルスケーリングインデックスが計算できる。予測モードがイントラ予測モードの場合、前記予測ルーマサンプルの平均に基づいて前記クロマレジデュアルスケーリングインデックスが計算できる。予測モードがインター予測モードの場合、フォワードリシェイプされたルーマ予測サンプルの平均に基づいて前記クロマレジデュアルスケーリングインデックスが計算できる。
【0232】
一実施形態で、前記クロマレジデュアルスケーリングインデックスはforループ構文に基づいて計算できる。以下の表は前記クロマレジデュアルスケーリングインデックスの導出(計算)のための例示的なforループ構文を示す。
【0233】
【表23】
【0234】
前記の表23で、idxSは前記クロマレジデュアルスケーリングインデックスを示し、idxSはif構文の条件を満たすクロマレジデュアルスケーリングインデックスが求められたかを識別するインデックスを示し、Sは事前に決定された定数を示し、そしてMaxBinIdxは許容可能な最大ビンインデックスを示す。 ReshapPivot[idxS+1](言い換えると、 LmcsPivot[idxS+1])は前述した表19及び/又は表20に基づいて導出できる。
【0235】
一実施形態で、クロマレジデュアルスケーリングファクタは前記クロマレジデュアルスケーリングインデックスに基づいて導出できる。以下の数式4は前記クロマレジデュアルスケーリングファクタの導出のための一例である。
【0236】
【数4】
【0237】
前記の数式4で、sは前記クロマレジデュアルスケーリングファクタを示し、そしてChromaScaleCoefは前述した表19及び/又は表20に基づいて導出された変数(または、アレイ)でありえる。
【0238】
前述したように、前記参照サンプルの平均ルーマ値を獲得することができ、前記平均ルーマ値に基づいてクロマレジデュアルスケーリングファクタを導出することができる。前記クロマレジデュアルスケーリングファクタに基づいてクロマ成分レジデュアルサンプルに対するスケーリングを遂行し、スケーリングされたクロマ成分レジデュアルサンプルに基づいてクロマ成分復元サンプルが生成できることは前述した通りである。
【0239】
本文書の一実施形態では前述したLMCSを効率のよく適用するためのシグナリング構造が提案される。本文書の一実施形態によると、例えば、LMCSデータはHLS(例えば、APS)に含まれることができ、APSの下位レベルであるヘッダ情報(ex.ピクチャヘッダ、スライスヘッダ)を通じて、参照されるAPS IDをシグナリングすることによりLMCSモデル(リシェイパモデル)を適応的に導出することができる。前記LMCSモデルはLMCSパラメータに基づいて導出できる。また、例えば前記ヘッダ情報を通じて複数のAPS IDがシグナリングされることができ、これを通じて同一ピクチャ/スライス内のブロック単位で互いに異なるLMCSモデルを適用することができる。
【0240】
本文書に従う一実施形態ではLMCSに必要とする演算を効率よく遂行する方法が提案される。表19及び/又は表20で前述したセマンティックスによれば、InvScaleCoeff[i]の導出のために断片長さ(piece length)lmcsCW[i]による割り算演算が要求される。但し、前記断片長さが2の累乗(power of 2)でない場合、前記割り算演算はビットシフティングで遂行できない。
【0241】
例えば、InvScaleCoeffの計算は1つのスライス当たり最大16回の割り算演算が必要でありえる。前述した表19及び/又は表20による場合、10ビットコーディングの場合、 lmcsCW[i]の範囲は8から511までであるので、LUTを使用してlmcsCW[i]による割り算演算を具現するにはLUTのサイズが504にならなければならない。また、12ビットコーディングの場合、lmcsCW[i]の範囲は32から2047までであるので、LUTを使用してlmcsCW[i]による割り算演算を具現するにはLUTサイズが2016にならなければならない。即ち、割り算演算はハードウェア具現において、相当な費用をもたらすことがあり、したがって割り算演算は可能であれば省略されなければならない。
【0242】
本実施形態の一観点で、lmcsCW[i]を固定された数(または、事前に決定された数または所定の数(pre-defined number or pre determined number))の倍数に制限することができる。それによって、割り算演算のためのLUT(lookup table)が(LUTの容量またはサイズが)減少できる。例えば、lmcsCW[i]が2の倍数であれば、割り算演算を代替するためのLUTのサイズが半分に減ることができる。
【0243】
本実施形態の他の観点で、高いインターナルビット深度コーディングが提案される。高いインターナルビット深度コーディングはlmcsCW[i]の範囲制限の上位条件でありえる。例えば、コーディングビット深度が10より高い場合にlmcsCW[i]は1<<(BitDepthY-10)の倍数に制限できる。ここで、BitDepthYはルーマビット深度でありえる。これによって、lmcsCW[i]の可能な値はコーディングビット深度によって変わらないようになり、したがって、前記InvScaleCoeff計算のためのLUTのサイズはコーディングビット深度が高くても増加しなくなる。一例で、12ビットインターナルコーディングビット深度に対して、lmcsCW[i]の値は4の倍数に制限されることができ、これによって割り算演算を代替するためのLUTのサイズは10ビットコーディングのために使われるLUTのサイズと同一でありえる。本観点は単独でも実施可能であるが、前述した観点と組み合わせて実施されることもできる。
【0244】
本実施形態の他の観点で、lmcsCW[i]をより狭い範囲に制限することができる。例えば、lmcsCW[i]は(OrgCW>>1)から(OrgCW<<1)-1までの範囲内に制限できる。10ビットコーディングの場合、lmcsCW[i]の範囲は[32、127]であって、96のサイズを有するLUTだけでもInvScaleCoeffを計算することができる。
【0245】
本実施形態の更に他の観点で、lmcsCW[i]を2の累乗に近接する数値に近似してリシェイパの設計に使用することができる。これによって、インバースマッピング手続きでの割り算演算はビットシフティングにより遂行できる(代替できる)。
【0246】
本文書に従う一実施形態ではLMCSコードワード範囲の制限が提案される。前述した表8によると、LMCSコードワードの値は(OrgCW>>3)から(OrgCW<<3)-1までの範囲内にある。LMCS断片長さの広い範囲によって、RspCW[i]とOrgCWの間の大きい差が発生すれば視覚的劣化がもたらされる。
【0247】
本文書に従う一実施形態によると、LMCS PWLマッピングのコードワードを狭い範囲に制限することが提案される。例えば、lmcsCW[i]の範囲は(OrgCW>>1)から(OrgCW<<1)-1までの範囲にありえる。
【0248】
本文書に従う一実施形態では、LMCSでのクロマレジデュアルスケーリングのために単一クロマレジデュアルスケーリングファクタの使用が提案される。クロマレジデュアルスケーリングファクタ導出のための既存の方法は、該当ルーマブロックの平均値を使用し、インバースルーママッピングでの各断片の傾きを該当スケーリングファクタとして導出した。また、該当ルーマブロックの利用可能性を要求するピースワイズインデックスを識別するための手続きによってレイテンシーの問題が発生した。これは、ハードウェア具現において好ましくない。本文書の一実施形態を通じて、クロマブロックでのスケーリングはルーマブロック値に依存しなくなり、ピースワイズインデックスの識別が必要でないことがある。したがって、レイテンシー問題無しでLMCSでのクロマレジデュアルスケーリング手続きが遂行できる。
【0249】
本文書に従う一実施形態で、単一クロマスケーリングファクタはルーマLMCS情報に基づいてエンコーダとデコーダ全てから導出できる。LMCSルーマモデルが受信されれば、クロマレジデュアルスケーリングファクタがアップデートできる。例えば、LMCSモデルがアップデートされる場合に単一クロマレジデュアルスケーリングファクタがアップデートできる。
【0250】
以下の表は本実施形態に従って単一クロマスケーリングファクタの獲得のための一例を示す。
【0251】
【表24】
【0252】
表24を参照すると、単一クロマスケーリングファクタ(ex. ChromaScaleCoeffまたはChromaScaleCoeffSingle)はlmcs_min_bin_idxとlmcs_max_bin_idxの間の範囲内の全ての断片(pieces)のインバースルーママッピング傾きを平均化することによって獲得できる。
【0253】
図13は、本文書の一実施形態に従うピボットポイントの線形フィッティングを示す。図13ではピボットポイントP1、Ps、P2が図示される。以下の実施形態またはそれらの例示は図13を参照して説明される。
【0254】
本実施形態の一例で、ピボットポイントlmcs_min_bin_idxとlmcs_max_bin_idx+1の間のルーマPWLマッピングの線形近似に基づいて単一クロマスケーリングファクタが獲得できる。即ち、線形マッピングのインバース傾きがクロマレジデュアルスケーリングファクタに使用できる。例えば、図13の線形ライン1(linear line 1)はピボットポイントP1、P2を繋ぐ一直線でありえる。図13を参照すると、P1で入力値はx1であり、マッピングされた値は0であり、そしてP2で入力値はx2であり、マッピングされた値はy2である。線形ライン1のインバース傾き(インバーススケール)は(x2-x1)/y2であり、そして単一クロマスケーリングファクタChromaScaleCoeffSingleはピボットポイントP1、P2の入力値及びマッピングされた値、及び次の数式に基づいて計算できる。
【0255】
【数5】
【0256】
数式5で、CSCALE_FP_PRECはシフトファクタ(shift factor)を示し、例えばCSCALE_FP_PRECは事前に決定された定数でありえる。一例で、CSCALE_FP_PREC は11でありえる。
【0257】
本実施形態に従う他の例で、図13を参照すると、ピボットポイントPsで入力値はmin_bin_idx+1であり、マッピングされた値はysである。これによって、線形ライン1のインバース傾き(インバーススケール)は(xs-x1)/ysで計算されることができ、単一クロマスケーリングファクタChromaScaleCoeffSingleはピボットポイントP1、Psの入力値及びマッピングされた値、及び次の数式に基づいて計算できる。
【0258】
【数6】
【0259】
数式6で、CSCALE_FP_PRECはシフトファクタ(ビットシフティングのためのファクタ)を示し、例えばCSCALE_FP_PRECは事前に決定された定数でありえる。一例で、CSCALE_FP_PRECは11であって、CSCALE_FP_PRECに基づいてインバーススケールに対するビットシフティングが遂行できる。
【0260】
本実施形態に従う他の例で、単一クロマレジデュアルスケーリングファクタは線形近似ライン(linear approximation line)に基づいて導出できる。線形近似ラインの導出のための一例は、ピボットポイント(ex.lmcs_min_bin_idx、lmcs_max_bin_idx+1)の線形的な連結を含むことができる。例えば、線形トレンドの結果はPWLマッピングのコードワードで示すことができる。P2でのマッピングされた値y2は全てのビン(断片)のコードワードの和であって、そしてP2での入力値とP1での入力値の間の差(x2-x1)はOrgCW*(lmcs_max_bin_idx-lmcs_min_bin_idx+1)(OrgCWは前述した表19及び/又は表20参照)でありえる。以下の表は前述した実施形態に従って単一クロマスケーリングファクタを獲得する例示を示す。
【0261】
【表25】
【0262】
表25を参照すると、単一クロマスケーリングファクタ(ex. ChromaScaleCoeffSingle)は2つのピボットポイント(i.e., lmcs_min_bin_idx、lmcs_max_bin_idx)から獲得できる。例えば、線形マッピングの傾き逆数(inverse slope of linear mapping)はクロマスケーリングファクタとして使用できる。
【0263】
本実施形態の更に他の例で、単一クロマスケーリングファクタはピボットポイントの線形フィッティング(linear fitting)により獲得されて線形フィッティングと既存PWLマッピングの間のエラー(または、平均自乗エラー)を最小化することができる。本例示は単純にlmcs_min_bin_idxとlmcs_max_bin_idxの2つのピボットポイントを単純に連結することより正確でありえる。最適の線形マッピングを探すための多様な方法が存在することができ、以下では一例が説明される。
【0264】
一例で、最小自乗エラーの和を最小化するための線形トレンド式(linear fitting equation)y=b1*x+b0のパラメータb1、b0は次の数式7及び/又は数式8に基づいて計算できる。
【0265】
【数7】
【0266】
【数8】
【0267】
ここで、xは原本ルーマ値であり、yはリシェイプされたルーマ値を示す。具体的に、

は各々x、yの平均を示し、xi、yiはi番目のピボットポイントの値を示す。
【0268】
図13を参照すると、線形マッピングを識別するための更に他の近似が次のように与えられることができる:
【0269】
- lmcs_min_bin_idxとlmcs_max_bin_idx+1でのPWLマッピングのピボットポイントを連結することによって、線形ライン1獲得、OrgCWの倍数である入力値を有する線形ラインでのlmcs_pivots_linear[i]を計算
【0270】
- 線形ライン1及びPWLマッピングを用いてピボットポイントのマッピングされた値の間の差を合算
【0271】
- 平均差(avgDiff)を獲得
【0272】
- 平均差によって(e.g. 2*avgDiff)線形ラインの最後のピボットポイントを調整
【0273】
- 調整された線形ラインの傾き逆数(inverse slope)をクロマレジデュアルスケールとして使用
【0274】
前述した線形フィッティングによって、クロマスケーリングファクタ(i.e., フォワードマッピングの傾き逆数(inverse slope of forward mapping))は次の数式9または数式10に基づいて導出(獲得)できる。
【0275】
【数9】
【0276】
【数10】
【0277】
前述した数式で、lmcs_pivots_linear[i]は線形マッピングのマッピングされた値でありえる。線形マッピングを通じて、最小及び最大ビンインデックスの間のPWLマッピングの全ての断片は同一なLMCSコードワード(lmcsCW)を有することができる。即ち、lmcs_pivots_linear[lmcs_min_bin_idx+1]はlmcsCW[lmcs_min_bin_idx]と同一でありえる。
【0278】
また、数式9、数式10で、CSCALE_FP_PRECはシフトファクタ(ビットシフティングのためのファクタ)を示し、例えばCSCALE_FP_PRECは事前に決定された定数でありえる。一例で、CSCALE_FP_PRECは11でありえる。
【0279】
単一クロマレジデュアルスケーリングファクタ(ChromaScaleCoeffSingle)を通じて、該当ルーマブロックの平均を計算する必要がなく、そしてPWL線形マッピングでインデックスを探す必要がない。したがって、クロマレジデュアルスケーリングを用いたコーディングの効率が高まることができる。
【0280】
前述した本実施形態に従うLMCSデータに関するセマンティックス及び/又はクロマサンプルに対するルーマ依存的なクロマレジデュアルスケーリング手続きは、次の表のように標準文書形式に記述できる。
【0281】
【表26】
【0282】
【表27】
【0283】
本文書の他の実施形態で、エンコーダは単一クロマスケーリングファクタに関するパラメータを決定することができ、前記パラメータをデコーダにシグナリングすることができる。シグナリングを通じて、エンコーダはクロマレジデュアルスケーリングファクタを導出するためにエンコーダで利用可能な他の情報を活用可能にすることができる。本実施形態は、クロマレジデュアルスケーリングレイテンシー問題を除去することを目的とする。
【0284】
例えば、クロマレジデュアルスケーリングファクタを決定するために使われる線形マッピングを識別するための手続きは次の通り与えられることができる:
【0285】
- lmcs_min_bin_idxとlmcs_max_bin_idx+1でのPWLマッピングのピボットポイントを連結することによって、線形ライン1獲得、OrgCWの倍数である入力値を有する線形ラインでのlmcs_pivots_linear[i]を計算
【0286】
- 線形ライン1及びルーマPWLマッピングのピボットポイントを用いてピボットポイントのマッピングされた値の間の差の加重和を獲得
【0287】
- 加重値が適用された(weighted)平均差(avgDiff)を獲得
【0288】
- 加重値が適用された平均差によって(e.g.2*avgDiff)線形ライン1の最後のピボットポイントを調整
【0289】
- 調整された線形ラインの傾き逆数(inverse slope)をクロマレジデュアルスケールとして使用
【0290】
以下の表はクロマスケーリングファクタ導出のためにy値をシグナリングする例示的なシンタックスを示す。
【0291】
【表28】
【0292】
表28で、シンタックス要素lmcs_chroma_scaleはLMCSクロマレジデュアルスケーリングのために使われる単一クロマ(レジデュアル)スケーリングファクタを明示(specify)することができる(ChromaScaleCoeffSingle=lmcs_chroma_scale)。即ち、クロマレジデュアルスケーリングファクタに関する情報が直接的にシグナリングされ、前記シグナリングされた情報がクロマレジデュアルスケーリングファクタに導出できる。言い換えると、シグナリングされたクロマレジデュアルスケーリングファクタに関する情報の値が単一クロマレジデュアルスケーリングファクタの値に(直接的に)導出できる。ここで、シンタックス要素lmcs_chroma_scaleは他のLMCSデータ(例えば、コードワードの絶対値、符号に関するシンタックス要素etc.)と共にシグナリングできる。
【0293】
代案的に、エンコーダはクロマレジデュアルスケーリングファクタを導出するために必要なパラメータのみをデコーダにシグナリングすることができる。デコーダからクロマレジデュアルスケーリングファクタを導出するために、入力値xとマッピングされた値yが必要である。x値はビン長さを示すので、既にデコーダ端にも知られた値であるので、シグナリングされる必要がない。結局、クロマレジデュアルスケーリングファクタの導出のためにはただy値のみシグナリングされる必要がある。ここで、y値は線形マッピングにおける任意のピボットポイントのマッピングされた値でありえる(e.g. 図13のP2あるいはPsのマッピングされた値)。
【0294】
次の表はクロマレジデュアルスケーリングファクタ導出のためにマッピングされた値をシグナリングする例示を示す。
【0295】
【表29】
【0296】
【表30】
【0297】
前述した表29及び表30のシンタックスのうちの1つがエンコーダとデコーダにより明示される(specified)任意の線形ピボットポイントでy値をシグナリングするために使用できる。即ち、エンコーダ及びデコーダは互いに同一なシンタックスを使用してy値を導出することができる。
【0298】
まず、表29に従う実施形態が説明される。表29で、lmcs_cw_linearはPsまたはP2にマッピングされた値を示すことができる。即ち、表29に従う実施形態でlmcs_cw_linearを通じて固定された数字がシグナリングできる。
【0299】
本実施形態に従う一例で、lmcs_cw_linearが1つのビン(i.e. 図13のPsでのlmcs_pivots_linear[lmcs_min_bin_idx+1])にマッピングされた値を示すと、クロマスケーリングファクタは次の数式に基づいて導出できる。
【0300】
【数11】
【0301】
本実施形態に従う他の例で、lmcs_cw_linearがlmcs_max_bin_idx+1(i.e. 図13のP2でのlmcs_pivots_linear[lmcs_max_bin_idx+1])を示すと、クロマスケーリングファクタは次の数式に基づいて導出できる。
【0302】
【数12】
【0303】
前述した数式で、CSCALE_FP_PRECはシフトファクタ(ビットシフティングのためのファクタ)を示し、例えばCSCALE_FP_PRECは事前に決定された定数でありえる。一例で、CSCALE_FP_PRECは11でありえる。
【0304】
次に、表30に従う実施形態が説明される。本実施形態で、lmcs_cw_linearは固定された数と関連したデルタ値(i.e. lmcs_delta_abs_cw_linear、lmcs_delta_sign_cw_linear_flag)としてシグナリングされることもできる。本実施形態の一例で、lmcs_cw_linearがlmcs_pivots_linear[lmcs_min_bin_idx+1](i.e. 図13のPs)でのマッピングされた値を示す場合、lmcs_cw_linear_delta及びlmcs_cw_linearは次の数式に基づいて導出できる。
【0305】
【数13】
【0306】
【数14】
【0307】
本実施形態の他の例で、lmcs_cw_linearがlmcs_pivots_linear[lmcs_max_bin_idx+1](i.e. 図13のP2)でのマッピングされた値を示す場合、lmcs_cw_linear_delta及びlmcs_cw_linearは次の数式に基づいて導出できる。
【0308】
【数15】
【0309】
【数16】
【0310】
前述した数式で、OrgCWは前述した表19及び/又は表20に基づいて導出された値でありえる。
【0311】
前述した本実施形態に従うLMCSデータに関するセマンティックス及び/又はクロマサンプルに対するルーマ依存的なクロマレジデュアルスケーリング手続きは次の表のように標準文書形式で記述できる。
【0312】
【表31】
【0313】
【表32】
【0314】
図14は、本文書の一実施形態に従う線形リシェイピング(または、線形リシェイパ、線形マッピング)の一例を示す。即ち、本文書の一実施形態ではLMCSで線形リシェイパの使用が提案される。例えば、図14の例示はフォワード線形リシェイピング(マッピング)に関連できる。
【0315】
図14を参照すると、線形リシェイパは2つのピボットポイント(i.e., P1、P2)を含むことができる。P1とP2は入力とマッピングされた値を示すことができ、例えば、P1は(minInput、0)であって、そしてP2は(maxInput、maxMapped)でありえる。ここでminInputは最小入力値を示し、maxInputは最大入力値を示す。入力値がminInputより小さいか等しい場合は0にマッピングされ、入力値がmaxInputより大きい場合はmaxMappedにマッピングされる。minInputとmaxInputの間の入力(ルーマ)値は他の値に線形的にマッピングできる。図14は、マッピングの一例を示す。ピボットポイントP1、P2はエンコーダで決定されることができ、このためにピースワイズ線形マッピングを近似するために線形フィッティングが使用できる。
【0316】
本文書に従う他の実施形態で、線形リシェイパをシグナリングする方法の更に他の例が提案できる。線形リシェイパモデルのピボットポイントP1、P2は明示的にシグナリングできる。次の表は本例示によって線形リシェイパモデルを明示的にシグナリングするシンタックス及びセマンティックスの一例を示す。
【0317】
【表33】
【0318】
【表34】
【0319】
表33及び表34を参照すると、シンタックス要素lmcs_min_inputに基づいて第1のピボットポイントの入力値が導出されることができ、そしてシンタックス要素lmcs_max_inputに基づいて第2のピボットポイントの入力値が導出できる。第1のピボットポイントのマッピングされた値は事前に決定された値(エンコーダ及びデコーダ全てに知られた値)であって、例えば0でありえる。シンタックス要素lmcs_max_mappedに基づいて第2のピボットポイントのマッピングされた値が導出できる。即ち、表33のシンタックスに基づいてシグナリングされた前記情報に基づいて線形リシェイパモデルが明示的に(直接的に)シグナリングできる。
【0320】
代案的に、lmcs_max_input及びlmcs_max_mappedはデルタ値としてシグナリングできる。次の表はデルタ値として線形リシェイパモデルをシグナリングするシンタックス及びセマンティックスの一例を示す。
【0321】
【表35】
【0322】
【表36】
【0323】
前記表36を参照すると、シンタックス要素lmcs_min_inputに基づいて第1のピボットポイントの入力値が導出できる。例えば、lmcs_min_inputは0のマッピングされた値を有することができる。lmcs_max_input_deltaは第2のピボットポイントの入力値と最大ルーマ値(i.e.,(1<<bitdepthY)-1)の間の差を示すことができる。lmcs_max_mapped_deltaは第2のピボットポイントのマッピングされた値と最大ルーマ値(i.e.,(1<<bitdepthY)-1)の間の差を示すことができる。
【0324】
本文書の一実施形態によると、前述した線形リシェイパに関する例示に基づいてルーマ予測サンプルのためのフォワードマッピング、ルーマ復元サンプルのためのインバースマッピング、クロマレジデュアルスケーリングが遂行できる。一例で、線形リシェイパ基盤インバースマッピングでルーマ(復元)サンプル(ピクセル)のためのインバーススケーリングのためにただ1つのインバーススケーリングファクタが必要でありえる。これは、フォワードマッピング、クロマレジデュアルスケーリングでも同様である。即ち、ビンインデックスiに対するScaleCoeff[i]、InvScaleCoeff[i] and ChromaScaleCoeff[i]を決定するステップはただ1つのファクタを用いることに代替できる。ここで、1つのファクタとは、線形マッピングの(フォワード)傾きまたはインバース傾きが固定少数点で表現されたことを称することができる。一例で、インバースルーママッピングスケーリングファクタ(ルーマ復元サンプルのためのインバースマッピングでのインバーススケーリングファクタ)は次の数式のうち、少なくとも1つに基づいて導出できる。
【0325】
【数17】
【0326】
【数18】
【0327】
【数19】
【0328】
数式17のlmcsCWLinearは前述した表31から導出できる。数式18及び数式19のlmcsCWLinearALLは前述した表33乃至表36のうち、少なくとも1つから導出できる。数式17または数式18で、OrgCWは表19及び/又は表20から導出できる。
【0329】
次の表はピクチャ復元でのルーマサンプル(i.e. ルーマ予測サンプル)に対するフォワードマッピング手続きを示す数式及びシンタックス(条件文)を説明する。以下の表及び数式で、FP_PRECはビットシフティングのための定数であり、事前に決定された値でありえる。例えば、FP_PRECは11または15でありえる。
【0330】
【表37】
【0331】
【表38】
【0332】
表37は前述した表17乃至表20に基づいたルーママッピング手続きでフォワードマッピングされたルーマサンプルを導出するためのものでありえる。即ち、表37は表19及び/又は表20と共に説明できる。表37で、入力としてのルーマ(予測)サンプルpredSamples[i][j]から出力としてのフォワードマッピングされたルーマ(予測)サンプルPredmAPSamples[i][j]が導出できる。表37のidxYは(フォワード)マッピングインデックスと称されることができ、マッピングインデックスは予測ルーマサンプルに基づいて導出できる。
【0333】
表38は、線形リシェイパの適用に従うルーママッピングでフォワードマッピングされたルーマサンプルを導出するためのものでありえる。例えば、表38のlmcs_min_input、lmcs_max_input、lmcs_max_mapped、ScaleCoeffSingleは表33乃至表36のうち、少なくとも1つにより導出できる。表38で、lmcs_min_input<predSamples[i][j]<lmcs_max_inputの場合に入力としてのルーマ(予測)サンプルpredSamples[i][j]から出力としてのフォワードマッピングされたルーマ(予測)サンプルPredmAPSamples[i][j]が導出できる。表37と表38の間の比較を通じて、線形リシェイパの適用に従う既存のLMCSからの変化がフォワードマッピング観点から見られることができる。
【0334】
次の数式及び表はルーマサンプル(i.e. ルーマ復元サンプル)に対するインバースマッピング手続きを説明する。以下の数式及び表で、入力としてのlumaSampleはインバースマッピング以前の(修正前)ルーマ復元サンプルでありえる。出力としてのinvSampleはインバースマッピングされた(修正された)ルーマ復元サンプルでありえる。他の場合、クリッピングされたinvSampleが修正されたルーマ復元サンプルと称されることもできる。
【0335】
【数20】
【0336】
【数21】
【0337】
【表39】
【0338】
【表40】
【0339】
数式21は従うルーママッピングからインバースマッピングされたルーマサンプルを導出するためのものでありえる。数式20で、インデックスidxInvは後述する表50、表51、または表52に基づいて導出できる。
【0340】
数式21は、線形リシェイパの適用に従うルーママッピングでインバースマッピングされたルーマサンプルを導出するためのものでありえる。例えば、数式21のlmcs_min_inputは表33乃至表36のうち、少なくとも1つにより導出できる。数式20と数式21との比較を通じて、線形リシェイパの適用に従う既存のLMCSからの変化がフォワードマッピング観点から見られることができる。
【0341】
表39は、ルーママッピングでインバースマッピングされたルーマサンプルを導出するための数式の一例を含むことができる。例えば、インデックスidxInvは後述する表50、表51、または表52に基づいて導出できる。
【0342】
表40は、ルーママッピングでインバースマッピングされたルーマサンプルを導出するための数式の他の例を含むことができる。例えば、表40のlmcs_min_input及び/又はlmcs_max_mappedは表33乃至36のうち、少なくとも1つにより導出されることができ、そして/または表40のInvScaleCoeffSingleは表33乃至表36、及び/又は数式17乃至数式19のうち、少なくとも1つにより導出できる。
【0343】
前述した線形リシェイパに関する例示に基づいてピースワイズインデックス識別手続きが省略できる。即ち、本例示でリシェイプされたルーマピクセルを有する断片が1つのみ存在するので、インバースルーママッピング及びクロマレジデュアルスケーリングに使われるピースワイズインデックス識別手続きが除去できる。これによって、インバースルーママッピングの複雑性が減少できる。これに加えて、ルーマピースワイズインデックス識別に依存することによって引き起こされるレイテンシー問題がクロマレジデュアルスケーリングの途中に除去できる。
【0344】
前述した線形リシェイパの使用に関する実施形態に従って、LMCSのために次のような利点が提供できる。i)エンコーダのリシェイパ設計を単純化してピースワイズ線形断片の間で発生する突然の変化による劣化を防止することができる。ii)ピースワイズインデックス識別手続きを除去してデコーダインバースマッピング手続きを単純化することができる。iii)ピースワイズインデックス識別手続きを除去して該当ルーマブロックに依存することによって引き起こされるクロマレジデュアルスケーリング内のレイテンシー問題を除去することができる。iv)シグナリングのオーバーヘッドを減らし、頻繁なリシェイパのアップデートをより実現可能にすることができる。v)16個の断片のループ(例えば、for構文)が必要していた多くの部分からループを除去することができる。例えば、InvScaleCoeff[i]を導出するためにlmcsCW[i]による割り算演算の数を1に減らすことができる。
【0345】
本文書に従う他の実施形態ではフレキシブルなビンに基づいたLMCSが提案される。ここで、フレキシブルなビンとは、ビンの個数が所定の数に固定されないことを意味することができる。既存の一実施形態ではLMCSでのビンの個数が16個に固定されており、そして16個のビンは入力サンプル値に対して均等に分布された。本実施形態ではフレキシブルな個数のビンが提案され、そして断片(ビン)が原本ピクセル値に対して均等に分配されない。
【0346】
次の表は本実施形態を従うLMCSデータ(データフィールド)に関するシンタックス及びそれに含まれたシンタックス要素に対するセマンティックスを例示的に示す。
【0347】
【表41】
【0348】
【表42】
【0349】
表41を参照すると、ビンの個数に関する情報lmcs_num_bins_minus1がシグナリングできる。表42を参照すると、lmcs_num_bins_minus1+1はビンの個数と同一であることがあり、これからビンの個数は1から(1<<bitdepthY)-1までの範囲内にありえる。例えば、lmcs_num_bins_minus1またはlmcs_num_bins_minus1+1は2の倍数でありえる。
【0350】
表41及び表42と共に説明された実施形態で、ピボットポイントの個数は、リシェイパが線形か否かに関わらず、lmcs_num_bins_minus1(ビンの個数に関する情報)に基づいて導出されることができ、(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)。
【0351】
図15は、本文書の一実施形態での線形フォワードマッピングの一例を示す。図16は、本文書の一実施形態でのインバースフォワードマッピングの一例を示す。
【0352】
図15及び図16に従う実施形態では、レギュラーLMCS及び線形LMCSの全てを支援する方法が提案される。本実施形態に従う一例で、シンタックス要素lmcs_is_Linearに基づいてレギュラーLMCS及び/又は線形LMCSが指示できる。エンコーダで、線形LMCSラインが決定された後に、マッピングされた値(ex.図15及び図16のpLでのマッピングされた値)は均等な断片(ex.LmcsMaxBinIdx-Lmcs_min_bin_idx+1)に分かれることができる。ビンLmcsMaxBinIdxでのコードワードは前述したlmcsデータまたはリシェイパモデルに関するシンタックスを用いてシグナリングできる。
【0353】
次の表は本実施形態の一例に従うLMCSデータ(データフィールド)に関するシンタックス及びそれに含まれたシンタックス要素に対するセマンティックスを例示的に示す。
【0354】
【表43】
【0355】
【表44-1】
【0356】
【表44-2】
【0357】
次の表は本実施形態の他の例に従うLMCSデータ(データフィールド)に関するシンタックス及びそれに含まれたシンタックス要素に対するセマンティックスを例示的に示す。
【0358】
【表45】
【0359】
【表46-1】
【0360】
【表46-2】
【0361】
前記表43乃至表46を参照すると、lmcs_is_linear_flagが真であれば、lmcs_min_bin_idxと LmcsMaxBinIdxの間の全てのlmcsCW[i]は同一な値を有することができる。即ち、lmcs_min_bin_idxとLmcsMaxBinIdxの間の全ての断片のうち、lmcsCW[i]が同一な値を有することができる。lmcs_min_bin_idxと lmcsMaxBinIdxの間の全ての断片のスケール及び逆スケールとクロマスケールは同一でありえる。線形リシェイパが真であれば断片インデックスを導出する必要がなく、断片のうちの1つでスケール、インバーススケールが使用できる。
【0362】
次の表は、本実施形態に従うピースワイズインデックスの識別手続きを例示的に示す。
【0363】
【表47】
【0364】
本文書の他の実施形態によると、レギュラー16-ピースPWL LMCS及び線形LMCSの適用はハイレベルシンタックス(例えば、シーケンスレベル)に依存することができる。
【0365】
次の表は本実施形態に従うSPSに関するシンタックス及びそれに含まれたシンタックス要素に対するセマンティックスを例示的に示す。
【0366】
【表48】
【0367】
【表49】
【0368】
表48及び表49を参照すると、SPSに含まれたシンタックス要素によりレギュラーLMCS及び/又は線形LMCSの可用有無が決定(シグナリング)できる。表48を参照すると、シンタックス要素sps_linearLmcs_enabled_flagに基づいてレギュラーLMCSまたは線形LMCSのうちの1つがシーケンス単位で可用できる。
【0369】
これに加えて、線形LMCSまたはレギュラーLMCSのうちの1つ、または2つともが可用されるか否かはプロフィールレベルに依存的でありえる。一例で、特定プロフィール(e.g. SDRプロフィール)に対し、線形LMCSのみ許容されることができ、そして他のプロフィール(e.g. HDRプロフィール)に対し、レギュラーLMCSのみ許容されることができ、そして、更に他のプロフィールに対しては、レギュラーLMCS及び/又は線形LMCS両方とも許容できる。
【0370】
本文書の更に他の実施形態によると、LMCSピースワイズインデックス識別手続きがインバースルーママッピング及びクロマレジデュアルスケーリングで使用できる。本実施形態で、クロマレジデュアルスケーリングが可用なブロックに対して前記ピースワイズインデックスの識別手続きが使用されることができ、そしてリシェイピングされた(マッピングされた)領域内のルーマサンプルを対しても前記識別手続きが使用できる。本実施形態は前記インデックスの導出のための複雑度を減少させることを目的とする。
【0371】
次の表は、既存のピースワイズ関数インデックスの識別手続き(導出手続き)を示す。
【0372】
【表50】
【0373】
一例で、前記ピースワイズインデックス識別手続きでは入力サンプルが少なくとも2つ以上のカテゴリーに分類できる。例えば、前記入力サンプルは3個のカテゴリー、第1、第2、第3のカテゴリーに分類できる。例えば、第1のカテゴリーは LmcsPivot[Lmcs_min_bin_idx+1]より小さなサンプル(の値)を示すことができ、第2のカテゴリーは LmcsPivot[LmcsMaxBinIdx]より大きいか等しいサンプル(の値)を示すことができ、第3のカテゴリーは LmcsPivot[Lmcs_min_bin_idx+1]とLmcsPivot[LmcsMaxBinIdx]の間のサンプル(の値)を示すことができる。
【0374】
本実施形態では、カテゴリー分類を除去することによって識別手続きを最適化する方法が提案される。ピースワイズインデックス識別手続きに対する入力がリシェイピングされた(マッピングされた)ルーマ値であるので、ピボットポイントlmcs_min_bin_idx及び LmcsMaxBinIdx+1でのマッピングされた値を超過する値があってはならない。したがって、カテゴリー別にサンプルを分類する条件的手続きは既存のピースワイズインデックス識別手続きで省略されることができ、具体的な例示が以下に表と共に説明される。
【0375】
本実施形態に従う一例で、表50に含まれた識別手続きは以下の表51または表52のうちの1つに代替できる。表51、表52を参照すると、表50の先の2つのカテゴリーが削除されることができ、そして最後のカテゴリーに対して反復的なループ(for構文)での境界値(第2境界値またはエンディングポイント)がLmcsMaxBinIdxから LmcsMaxBinIdx+1に修正できる。即ち、識別手続きが単純化されることができ、ピースワイズインデックスの導出のための複雑度が減少できる。したがって、本実施形態によりLMCS関連コーディングが効率のよく遂行できる。
【0376】
【表51】
【0377】
【表52】
【0378】
表51を参照すると、if節の条件に対応する比較手続き(if節の条件に対応する数式)は最小ビンインデックスから最大ビンインデックスまでのビンインデックス全てに対して反復的に遂行できる。if節の条件に対応する数式が真の場合でのビンインデックスはインバースルーママッピングのためのインバースマッピングインデックス(または、クロマレジデュアルスケーリングのためのインバーススケーリングインデックス)として導出できる。前記インバースマッピングインデックスに基づいて修正された復元ルーマサンプル(または、スケーリングされたクロマレジデュアルサンプル)が導出できる。
【0379】
表51の実施形態によると、(インバース)ピースワイズ関数インデックスを識別する手続きで発生できる問題が解決できる。表51の実施形態によって、演算バグが除去されることができ、そして/または重畳する境界条件によって発生する重複演算過程が省略できる。もし、本文書が表51の実施形態に従わなければ、ピースワイズインデックス(インバースマッピングインデックス)の識別のためのfor構文(ループ構文)で現在ブロックに対するLMCSで用いられるマッピング値がLmcsPivot[idxYInv+1]を超過する(外れる)ことができる。本実施形態によると、前記インデックス識別手続きで現在ブロックに対するLMCSで用いられる適切な範囲内のマッピング値が用いられる。
【0380】
次の表は、表51の実施形態により改善されたコーディング性能に関する効果を示す。
【0381】
【表53】
【0382】
【表54】
【0383】
【表55】
【0384】
表53乃至表55を参照すると、表51の実施形態に従ってコーディング性能が改善できる。または、表51の実施形態に従ってコーディング性能を維持しながら演算バグが除去されることができ、そして/または重畳した演算過程が省略できる。
【0385】
本文書に従う一実施形態で、既存の実施形態では個別的ブロックツリーによりコーディングされたスライス(e.g. イントラスライス)に対し、デュアルツリーによりコーディングされたスライスより対応するルーマブロックでのクロマレジデュアルスケーリング依存度によるレイテンシーが高かった。このような理由で、既存の実施形態では個別的ブロックツリーにコーディングされたスライスにはLMCSクロマレジデュアルスケーリングが適用されなかった。
【0386】
本実施形態では個別ツリーにコーディングされたスライスに対してもクロマレジデュアルスケーリングが適用できる。前述した単一クロマレジデュアルスケーリングファクタが使われる場合、対応するルーマブロックでのクロマレジデュアルスケーリングの間の依存度がないので、クロマレジデュアルスケーリングの適用に従うレイテンシーがないことがある。
【0387】
次の表は、本実施形態に従うスライスヘッダのシンタックス及びセマンティックスを示す。
【0388】
【表56】
【0389】
【表57】
【0390】
表57を参照すると、現在ブロックがデュアルツリー構造か、シングルツリー構造かを示す条件節(または、それに対するフラグ)に関わらず、クロマレジデュアルスケーリングフラグがシグナリングできる。
【0391】
本文書に従う一実施形態で、ALFデータ及び/又はLMCSデータがAPSでシグナリングできる。例えば、32個のAPSが使用できる。一例で、全てのAPSがALF及び/又はLMCSのために使われる場合、前記APSのバッファのためには略10キロバイト(Kbytes)オン-チップメモリが必要でありえる。ALF/LMCSパラメータを格納することに要求されるメモリ、及びLMCSのために必要とする計算複雑度を制限する(減少させる)ために、ALF及び/又はLMCS APSの個数を制限する方案が本実施形態で提案される。
【0392】
本実施形態に従う一例で、ピクチャ内に含まれたスライスまたはブリックの個数に関わらず、ピクチャ当たり1つのLMCSモデルが使用(許容)できる。LMCSのためのAPSの個数は32個より少ないことがある。例えば、LMCSのためのAPSの個数は4個でありえる。
【0393】
次の表は、本実施形態に従うAPSと関連したセマンティックスを示す。
【0394】
【表58】
【0395】
表58を参照すると、LMCS APSの最大個数は事前に決定できる。例えば、LMCS APSの最大個数は4個でありえる。表15及び表58を参照すると、複数のAPSはLMCS APSを含むことができる。LMCS APSの(最大)個数は4個でありえる。一例で、LMCS APSのうちの1つのLMCS APSに含まれたLMCSデータフィールドが現在ピクチャ内の現在ブロックのためのLMCS手続きで使用できる。
【0396】
次の表は、スライスヘッダ(または、ピクチャヘッダ)に含まれたシンタックス要素に対するセマンティックスを示す。
【0397】
【表59】
【0398】
表59から説明されるシンタックス要素は表56を参照して説明できる。一例で、シンタックス要素slice_lmcs_aps_idはスライスヘッダに含まれることができる。他の例で、表59のシンタックス要素slice_lmcs_aps_idはピクチャヘッダに含まれることもでき、この場合slice_lmcs_aps_idはph_lmcs_aps_idに修正できる。
【0399】
本文書の一実施形態によると、LMCS APSの全体個数は4より小さいか等しいことがある。また、本実施形態の一例で1つのピクチャ当たり1つのLMCSモデルのみ使用できる。この際、画像/ビデオの解像度に関わらず、1つのピクチャ当たり1つのLMCSモデルのみ使用できる。本実施形態によると、LMCS APSに対する制約により具現が容易になることができ、そして資源(メモリ)過消費の問題が解決できる。
【0400】
次の表は、本文書に開示されたシンタックス要素の一例に対するセマンティックスを示す。
【0401】
【表60】
【0402】
表60から説明されるシンタックス要素は、表56を参照して説明できる。一例で、シンタックス要素slice_lmcs_aps_idはスライスヘッダに含まれることができる。他の例で、表60のシンタックス要素slice_lmcs_aps_idはピクチャヘッダに含まれることもでき、この場合、slice_lmcs_aps_idはph_lmcs_aps_idに修正できる。
【0403】
前記の表60を参照すると、シンタックス要素slice_lmcs_aps_idにより現在スライス(または、現在ピクチャ)が参照するLMCS APSのadaptation_parameter_set_idが明示できる。即ち、slice_lmcs_aps_idは現在スライス(または、現在ピクチャ)が参照するLMCS APSのadaptation_parameter_set_idを示すことができる。slice_lmcs_aps_idの値は0から3までの範囲にありえる。即ち、slice_lmcs_aps_idの値は0、1、2、または3でありえる。例えば、第0乃至第3のLMCS APS(または、第1乃至第4のLMCS APS)のうち、slice_lmcs_aps_idにより指示される第0のLMCS APS(または、第1のLMCS APS)は現在スライス(または、現在ピクチャ)により参照されることができ、そして前記第0のLMCS APS(または、第1のLMCS APS)に含まれたLMCSデータ(LMCSデータフィールドまたはリシェイパモデル)は現在スライス(または、現在ピクチャ)に対するLMCS手続きのために用いられることができる(前記第0LMCS APS(または、第1のLMCS APS)に含まれたLMCSデータ(LMCSデータフィールドまたはリシェイパモデル)に基づいて現在スライス(または、現在ピクチャ)に対するLMCS手続きが遂行できる)。
【0404】
本文書に開示された少なくとも1つの実施形態に従ってLMCSと関連したコーディング手続きが整理(clean up)または単純化できる。
【0405】
以下の図面は、本明細書の具体的な一例を説明するために作成された。図面に記載された具体的な装置の名称や具体的な信号/メッセージ/フィールドの名称は、例示的に提示されたものであるため、本明細書の技術的特徴が以下の図面に使われた具体的な名称に制限されない。
【0406】
図17及び図18は、本文書の実施形態(等)に係るビデオ/画像エンコード方法及び関連コンポーネントの一例を概略的に示す。図17において開示された方法は、図2において開示されたエンコード装置によって行われることができる。具体的に、例えば、図17のS1700、S1710は、前記エンコード装置の予測部220によって行われることができ、S1720は、前記エンコード装置のレジデュアル処理部230によって行われることができ、S1730は、前記エンコード装置の予測部220またはレジデュアル処理部230によって行われることができ、S1740は、前記エンコード装置のレジデュアル処理部230または加算部250によって行われることができ、S1750は、前記エンコード装置のレジデュアル処理部230によって行われることができ、S1760は、前記エンコード装置のエントロピーエンコード部240によって行われることができる。図17において開示された方法は、本文書において上述した実施形態を含むことができる。
【0407】
図17に示すように、エンコード装置は、現在ピクチャ内の現在ブロックのためにインター予測モードを導出できる(S1700)。エンコード装置は、インター予測モードのうち、本文書に開示された様々なモードのうち、少なくとも1つを導出できる。
【0408】
エンコード装置は、前記インター予測モードに基づいて予測ルーマサンプルを生成できる(S1710)。エンコード装置は、現在ブロックに含まれた原本サンプルに対する予測を行うことによって予測ルーマサンプルを生成できる。
【0409】
エンコード装置は、予測クロマサンプルを導出することができる。エンコード装置は、現在ブロックの原本クロマサンプル及び予測クロマサンプルに基づいて前記レジデュアルクロマサンプルを導出することができる。例えば、エンコード装置は、前記予測クロマサンプルと原本クロマサンプルとの間の差に基づいてレジデュアルクロマサンプルを導出することができる。
【0410】
エンコード装置は、ルーママッピングのためのビン及びLMCSコードワードを導出できる。エンコード装置は、SDRまたはHDRに基づいて前記ビン及び/又はLMCSコードワードを導出できる。
【0411】
エンコード装置は、LMCS関連情報を導出できる(S1720)。LMCS関連情報は、ルーママッピングのためのビン及びLMCSコードワードを含むことができる。
【0412】
エンコード装置は、ルーマサンプルのためのマッピング手順に基づいてマッピングされた予測ルーマサンプルを生成できる(S1730)。エンコード装置は、ルーママッピングのためのビン及び/又はLMCSコードワードに基づいてマッピングされた予測ルーマサンプルを生成できる。例えば、エンコード装置は、ルーママッピングのためのピボットポイントの入力値及びマッピング値(出力値)を導出でき、そして、前記入力値及びマッピング値に基づいてマッピングされた予測ルーマサンプルを生成できる。一例として、エンコード装置は、第1の予測ルーマサンプルに基づいてマッピングインデックス(idxY)を導出でき、そして、前記マッピングインデックスに対応するピボットポイントの入力値及びマッピング値に基づいて第1のマッピングされた予測ルーマサンプルを生成できる。他の例として、線形マッピング(線形リシェイピング、線形LMCS)が使用され得るし、そして、線形マッピングにおける2個のピボットポイントから導出されたフォワードマッピングスケーリングファクタに基づいてマッピングされた予測ルーマサンプルが生成され得るし、したがって、線形マッピングによりインデックス導出手順が省略されることもできる。
【0413】
エンコード装置は、スケーリングされたレジデュアルクロマサンプルを生成することができる。具体的に、エンコード装置は、クロマレジデュアルスケーリングファクタを導出することができ、クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルを生成することができる。ここで、エンコード端のクロマレジデュアルスケーリングは、フォワードクロマレジデュアルスケーリングとも呼ばれる。したがって、エンコード装置により導出されたクロマレジデュアルスケーリングファクタは、フォワードクロマレジデュアルスケーリングファクタと呼ばれることができ、フォワードスケーリングされたレジデュアルクロマサンプルが生成されることができる。
【0414】
エンコード装置は、復元ルーマサンプルを生成できる。エンコード装置は、マッピングされた予測ルーマサンプルに基づいて復元ルーマサンプルを生成できる。具体的に、エンコード装置は、上述したレジデュアルルーマサンプルをマッピングされた予測ルーマサンプルと合算することができ、前記合算結果に基づいて復元ルーマサンプルを生成できる。
【0415】
エンコード装置は、ルーマサンプルのためのインバースマッピング手順に基づいて修正された復元ルーマサンプルを生成できる(S1740)。エンコード装置は、前記ルーママッピングのための前記ビン、前記LMCSコードワード、及び前記復元ルーマサンプルに基づいて修正された復元ルーマサンプルを生成できる。エンコード装置は、前記復元ルーマサンプルに対するインバースマッピング手順を介して前記修正された復元ルーマサンプルを生成できる。例えば、エンコード装置は、インバースマッピング手順で復元ルーマサンプル及び/又はビンインデックス毎に割り当てられたマッピング値(ex. LmcsPivot[i]、i=Lmcs_min_bin_idx...LmcsMaxBinIdx+1)に基づいてインバースマッピングインデックス(ex. InvYIdx)を導出できる。エンコード装置は、インバースマッピングインデックスに割り当てられたマッピング値(LmcsPivot[InvYIdx])に基づいて修正された復元ルーマサンプルを生成できる。
【0416】
エンコード装置は、前記マッピングされた予測ルーマサンプルに基づいてレジデュアルルーマサンプルを生成することができる。例えば、エンコード装置は、前記マッピングされた予測ルーマサンプルと原本ルーマサンプルとの間の差に基づいてレジデュアルルーマサンプルを導出することができる。
【0417】
エンコード装置は、レジデュアル情報を導出できる(S1750)。一例として、エンコード装置は、前記マッピングされた予測ルーマサンプル及び前記修正された復元ルーマサンプルに基づいてレジデュアル情報を生成できる。例えば、エンコード装置は、前記スケーリングされたレジデュアルクロマサンプル及び/又は前記レジデュアルルーマサンプルに基づいてレジデュアル情報を導出できる。エンコード装置は、前記スケーリングされたレジデュアルクロマサンプル及び/又は前記レジデュアルルーマサンプルに対する変換手順に基づいて変換係数を導出できる。例えば、変換手順は、DCT、DST、GBT、またはCNTのうち、少なくとも1つを含むことができる。エンコード装置は、前記変換係数に対する量子化手順に基づいて量子化された変換係数を導出できる。量子化された変換係数は、係数スキャン順序に基づいて1次元ベクトル形態を有することができる。エンコード装置は、前記量子化された変換係数を表すレジデュアル情報を生成できる。レジデュアル情報は、指数ゴロム、CAVLC、CABACなどのような様々なエンコード方法を介して生成されることができる。
【0418】
エンコード装置は、画像/ビデオ情報をエンコードすることができる(S1760)。前記画像情報は、LMCSデータに関する情報及び/またはレジデュアル情報を含むことができる。例えば、LMCS関連情報は、線形LMCSに関する情報を含むことができる。一例において、線形LMCSに関する情報に基づいて少なくとも1つのLMCSコードワードが導出されることができる。エンコードされたビデオ/画像情報は、ビットストリーム形態で出力されることができる。前記ビットストリームは、ネットワークまたは格納媒体を介してデコード装置に送信されることができる。
【0419】
前記画像/ビデオ情報は本文書の実施形態に従う多様な情報を含むことができる。例えば、前記画像/ビデオ情報は前述した表1乃至表60のうち、少なくとも1つに開示された情報を含むことができる。
【0420】
一実施形態で、前記画像情報はLMCS APSを含むことができる。LMCS APSはLMCSデータフィールド(lmcs_data())及び/又はID情報(aps_adaptation_parameter_set_id)を含むことができる。前記ID情報の値は所定の範囲内にありえる。例えば、前記ID情報の値は0乃至3の範囲にありえる。即ち、前記ID情報の値は0、1、2、または3でありえる。前記LMCSデータフィールドは、前記LMCS関連情報を含むことができる。前記LMCSデータフィールドに基づいて前記マッピング手続き及び前記インバースマッピング手続きで用いられるLMCSコードワードが導出できる。前記LMCS APSの最大個数は事前に決定された値でありえる。例えば、LMCS APSの最大個数(前記事前に決定された値)は4でありえる。
【0421】
一実施形態で、前記ルーマサンプルのための前記マッピング手続きで、前記予測ルーマサンプルに基づいてマッピングインデックスが導出され、そして前記マッピングインデックスに基づく第1マッピング値を用いて前記マッピングされた予測ルーマサンプルが生成できる。
【0422】
一実施形態で、前記LMCS関連情報はインバースマッピングのためのビンに関する情報を含むことができる。前記ビンに関する情報に基づいて最小ビンインデックス及び最大ビンインデックスが導出できる。前記ルーマサンプルのための前記インバースマッピング手続きで、前記最小ビンインデックスから前記最大ビンインデックスまでのビンインデックスに基づくマッピング値に基づいてインバースマッピングインデックスが導出され、そして前記インバースマッピングインデックスに基づく第2のマッピング値を用いて前記修正された復元ルーマサンプルが生成できる。
【0423】
一実施形態で、エンコード装置はクロマレジデュアルスケーリングのためのピースワイズインデックスを生成することができる。エンコード装置は、前記ピースワイズインデックスに基づいてクロマレジデュアルスケーリングファクタを導出することができる。エンコード装置は、前記レジデュアルクロマサンプル及び前記クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルを生成することができる。
【0424】
一実施形態で、前記現在ブロックがシングルツリー構造またはデュアルツリー構造の場合(前記現在ブロックが個別的ツリー構造の場合、前記現在ブロックが個別的ツリーにコーディングされた場合)、前記現在ブロックのためにクロマレジデュアルスケーリングが適用されるか否かを示すクロマレジデュアルスケーリング可用フラグがエンコード装置により生成できる。または、前記現在ブロックのブロックツリー構造に関わらず、前記現在ブロックのためにクロマレジデュアルスケーリングが適用されるか否かを示すクロマレジデュアルスケーリング可用フラグが生成できる。現在ピクチャ、現在スライス、及び/又は現在ブロックに対してクロマレジデュアルスケーリングが適用される場合、前記クロマレジデュアルスケーリング可用フラグの値は1でありえる。
【0425】
一実施形態で、前記クロマレジデュアルスケーリングファクタは単一クロマレジデュアルスケーリングファクタでありえる。
【0426】
一実施形態で、前記タイプ情報の値が1であることに基づいて、前記APSはLMCSパラメータを含む前記LMCSデータフィールドを含むことができる。
【0427】
一実施形態で、前記画像情報はヘッダ情報を含むことができる。ここで、ヘッダ情報はピクチャヘッダ(または、スライスヘッダ)でありえる。前記ヘッダ情報は、LMCS関連APS ID情報を含むことができる。一例で、前記LMCS関連APS ID情報は前記現在ピクチャまたは前記現在ブロックに対するLMCS APSのIDを示すことができる。他の例で、前記LMCS関連APS ID情報の値は前記ID情報の前記値と同一でありえる。前記LMCS関連APS ID情報の前記値は0乃至3の範囲内にありえる。
【0428】
一実施形態で、前記画像情報はSPS(Sequence parameter set)を含むことができる。前記SPSは線形LMCSが可用か否かを示す線形LMCS可用フラグを含むことができる。
【0429】
一実施形態で、前記LMCSデータに関する情報に基づいて最小ビンインデックス(ex.lmcs_min_bin_idx)及び/又は最大ビンインデックス(ex.LmcsMaxBinIdx)が導出できる。前記最小ビンインデックスに基づいて第1のマッピング値(LmcsPivot[lmcs_min_bin_idx])が導出できる。前記最大ビンインデックスに基づいて第2のマッピング値(LmcsPivot[LmcsMaxBinIdx]またはLmcsPivot[LmcsMaxBinIdx+1])が導出できる。前記復元ルーマサンプル(ex.表36または表37のlumaSample)の値は第1のマッピング値から第2のマッピング値までの範囲にありえる。一例で、全ての復元ルーマサンプルの値は第1のマッピング値から第2のマッピング値までの範囲にありえる。他の例で、復元ルーマサンプルのうち、一部のサンプルの値は第1のマッピング値から第2のマッピング値までの範囲にありえる。
【0430】
一実施形態で、前記LMCSデータに関する情報はLMCSデータフィールド及び線形LMCSに関する情報を含むことができる。前記線形LMCSに関する情報は線形マッピングに関する情報と称されることもできる。前記LMCSデータフィールドは線形LMCSが適用されるか否かを示す線形LMCSフラグを含むことができる。前記線形LMCSフラグの値が1の場合、前記マッピングされた予測ルーマサンプルは前記線形LMCSに関する情報に基づいて生成できる。
【0431】
一実施形態で、前記線形LMCSに関する情報は第1のピボットポイント(ex.図11のP1)に関する情報及び第2のピボットポイント(ex.図11のP2)に関する情報を含むことができる。例えば、前記第1のピボットポイントの入力値及びマッピング値は各々最小入力値、最小マッピング値でありえる。前記第2のピボットポイントの入力値及びマッピング値は各々最大入力値、最大マッピング値でありえる。前記最小入力値及び前記最大入力値の間の入力値は線形的にマッピングできる。
【0432】
一実施形態で、前記画像情報は前記最大入力値に関する情報及び前記最大マッピング値に関する情報を含むことができる。前記最大入力値は前記最大入力値に関する情報(ex.表33のlmcs_max_input)の値と同一でありえる。前記最大マッピング値は前記最大マッピング値に関する情報(ex.表33のlmcs_max_mapped)の値と同一でありえる。
【0433】
一実施形態で、前記線形マッピングに関する情報は、前記第2のピボットポイントの入力デルタ値に関する情報(ex.表35のlmcs_max_input_delta)及び前記第2のピボットポイントのマッピングデルタ値に関する情報(ex.表35のlmcs_max_mapped_delta)を含むことができる。前記第2のピボットポイントの入力デルタ値に基づいて前記最大入力値が導出され、前記第2のピボットポイントのマッピングデルタ値に基づいて前記最大マッピング値が導出できる。
【0434】
一実施形態で、前記最大入力値及び前記最大マッピング値は前述した表36に含まれた少なくとも1つの数式に基づいて導出できる。
【0435】
一実施形態で、前記マッピングされた予測ルーマサンプルを生成するステップは、前記予測ルーマサンプルに対するフォワードマッピングスケーリングファクタ(ex.前述したScaleCoeffSingle)を導出するステップ、及び前記フォワードマッピングスケーリングファクタに基づいて前記マッピングされた予測ルーマサンプルを生成するステップを含むことができる。前記フォワードマッピングスケーリングファクタは、前記予測ルーマサンプルのための単一ファクタでありえる。
【0436】
一実施形態で、前記フォワードマッピングスケーリングファクタは前述した表36及び/又は表38に含まれた少なくとも1つの数式に基づいて導出できる。
【0437】
一実施形態で、前記マッピングされた予測ルーマサンプルは前述した表38に含まれた少なくとも1つの数式に基づいて導出できる。
【0438】
一実施形態で、エンコード装置は前記復元ルーマサンプル(ex. 前述したlumaSample)に対するインバースマッピングスケーリングファクタ(ex.前述したInvScaleCoeffSingle)を導出することができる。また、エンコード装置は前記復元ルーマサンプル及び前記インバースマッピングスケーリングファクタに基づいて修正された復元ルーマサンプル(ex.InvSample)を生成することができる。前記インバースマッピングスケーリングファクタは、前記復元ルーマサンプルのための単一ファクタでありえる。
【0439】
一実施形態で、前記インバースマッピングスケーリングファクタは前記復元ルーマサンプルに基づいて導出されたピースワイズインデックスを用いて導出できる。
【0440】
一実施形態で、前記ピースワイズインデックスは前述した表50に基づいて導出できる。即ち、前記表50に含まれた比較手続き(lumaSample<LmcsPivot[idxYInv+1])は、前記ピースワイズインデックスが前記最小ビンインデックスの場合から前記ピースワイズインデックスが前記最大ビンインデックスの場合まで反復的に遂行できる。
【0441】
一実施形態で、前記インバースマッピングスケーリングファクタは前述した表33、表34、表35、表36に含まれた少なくとも1つの数式、または数式11または数式12に基づいて導出できる。
【0442】
一実施形態で、前記修正された復元ルーマサンプルは、前述した数式20、数式21、表39、及び/又は表40に基づいて導出できる。
【0443】
一実施形態で、前記LMCS関連情報は前記マッピングされた予測ルーマサンプルを導出するためのビンの個数に関する情報(ex.表41のlmcs_num_bins_minus1)を含むことができる。例えば、ルーママッピングのためのピボットポイントの個数は前記ビンの個数と同一に設定できる。一例で、エンコード装置は前記ビンの個数だけ前記ピボットポイントのデルタ入力値及びデルタマッピング値を各々生成することができる。一例で、前記デルタ入力値(ex.表41のlmcs_delta_input_cw[i])及び前記デルタマッピング値(ex.表41のlmcs_delta_mapped_cw[i])に基づいて前記ピボットポイントの入力値及びマッピング値が導出され、前記入力値(ex.表42のLmcsPivot_input[i])及び前記マッピング値(ex.表42のLmcsPivot_mapped[i])に基づいて前記マッピングされた予測ルーマサンプルが生成できる。
【0444】
一実施形態において、エンコード装置は、前記LMCS関連情報に含まれている少なくとも1つのLMCSコードワードと原本コードワード(OrgCW)とに基づいてLMCSデルタコードワードを導出することができ、少なくとも1つのLMCSコードワードと原本コードワードに基づいてマッピングされたルーマ予測サンプルを導出することもできる。一例において、前記線形マッピングに関する情報は、LMCSデルタコードワードに関する情報を含むことができる。
【0445】
一実施形態において、前記LMCSデルタコードワードとOrgCWとの合算に基づいて、前記少なくとも1つのLMCSコードワードが導出されることができ、例えば、OrgCWは(1<<BitDepthY)/16であり、ここで、BitDepthYは、ルーマビット深度を示すことができる。本実施形態は、数式14に基づいて行われることができる。
【0446】
一実施形態において、前記LMCSデルタコードワードとOrgCW*(lmcs_max_bin_idx-Lmcs_min_bin_idx+1)との合算に基づいて前記少なくとも1つのLMCSコードワードが導出されることができ、lmcs_max_bin_idx及びLmcs_min_bin_idxは、各々、最大binインデックス及び最小binインデックスであり、OrgCWは(1<<BitDepthY)/16である。本実施形態は、数式15、16に基づいて行われることができる。
【0447】
一実施形態において、前記少なくとも1つのLMCSコードワードは、2の倍数である。
【0448】
一実施形態において、前記復元ルーマサンプルのルーマビット深度(BitdepthY)が10より高い場合、前記少なくとも1つのLMCSコードワードは、1<<(BitdepthY-10)の倍数である。
【0449】
一実施形態において、前記少なくとも1つのLMCSコードワードは、(OrgCW>>1)から(OrgCW<<1)-1までの範囲内にある。
【0450】
前述した文段で、LMCSデータに関する情報はLMCS関連情報と同一でありえる。
【0451】
図19及び図20は、本文書の実施形態に従う画像/ビデオデコード方法及び関連コンポーネントの一例を概略的に示す。図19で開示された方法は図3で開示されたデコード装置により遂行できる。具体的に、例えば、図19のS1900は前記デコード装置のエントロピーデコード部310により遂行されることができ、S1910、S1920は前記デコード装置の予測部330により遂行されることができ、S1930は前記デコード装置のレジデュアル処理部320または予測部330によって遂行できて、S1940は前記デコード装置のレジデュアル処理部320、予測部330及び/又は加算部340に遂行できる。図19で開示された方法は本文書で前述した実施形態を含むことができる。
【0452】
図19を参照すると、デコード装置はビデオ/画像情報を受信/獲得することができる(S1900)。ビデオ/画像情報はLMCSデータに関する情報及び/又はレジデュアル情報を含むことができる。例えば、LMCSデータに関する情報は前述したルーママッピング(ex.フォワードマッピング、インバースマッピング、線形マッピング)に関する情報、クロマレジデュアルスケーリングに関する情報、及び/又はLMCS(または、リシェイピング、リシェイパ)に関連したインデックス(ex.最大ビンインデックス、最小ビンインデックス、マッピングインデックス)を含むことができる。デコード装置はビットストリームを通じて前記画像/ビデオ情報を受信/獲得することができる。
【0453】
前記画像/ビデオ情報は本文書の実施形態に従う多様な情報を含むことができる。例えば、前記画像/ビデオ情報は前述した表1乃至60のうち、少なくとも1つに開示された情報を含むことができる。
【0454】
デコード装置は、前記予測モード情報に基づいて現在ピクチャ内の現在ブロックのために予測モードを導出することができる(S1910)。デコード装置は、インター予測モードのうち、本文書に開示された多様なモードのうち、少なくとも1つを導出することができる。
【0455】
デコード装置は、予測ルーマサンプルを生成することができる。デコード装置は、予測モードに基づいて前記現在ブロックの予測ルーマサンプルを導出することができる。この場合、インター予測またはイントラ予測など、本文書で開示された多様な予測方法が適用できる。
【0456】
デコード装置は予測ルーマサンプルを生成することができる(S1920)。デコード装置は、予測モードに基づいて前記現在ブロックの予測ルーマサンプルを導出することができる。デコード装置は、現在ブロックに含まれた原本サンプルに対する予測を遂行することによって予測ルーマサンプルを生成することができる。
【0457】
前記画像情報は、レジデュアル情報を含むことができる。デコード装置は、レジデュアル情報に基づいてレジデュアルクロマサンプルを生成することができる。具体的に、デコード装置はレジデュアル情報に基づいて量子化された変換係数を導出することができる。量子化された変換係数は係数スキャン順序に基づいて1次元ベクトル形態を有することができる。デコード装置は、前記量子化された変換係数に対する逆量子化手続きに基づいて変換係数を導出することができる。デコード装置は、変換係数に基づいてレジデュアルクロマサンプル及び/又はレジデュアルルーマサンプルを導出することができる。
【0458】
デコード装置は、マッピングされた予測ルーマサンプルを生成できる(S1930)。デコード装置は、ルーマサンプルのためのマッピング手順に基づいてマッピングされた予測ルーマサンプルを生成できる。例えば、デコード装置は、ルーママッピングのためのピボットポイントの入力値及びマッピング値(出力値)を導出でき、そして、前記入力値及びマッピング値に基づいてマッピングされた予測ルーマサンプルを生成できる。一例として、デコード装置は、第1の予測ルーマサンプルに基づいて(フォワード)マッピングインデックス(idxY)を導出でき、そして、前記マッピングインデックスに対応するピボットポイントの入力値及びマッピング値に基づいて第1のマッピングされた予測ルーマサンプルを生成できる。他の例として、線形マッピング(線形リシェイピング、線形LMCS)が使用され得るし、そして、線形マッピングにおける2個のピボットポイントから導出されたフォワードマッピングスケーリングファクタに基づいてマッピングされた予測ルーマサンプルが生成されることができ、したがって、線形マッピングによりインデックス導出手順が省略されることもできる。
【0459】
デコード装置は、前記レジデュアル情報に基づいてレジデュアルルーマサンプルを生成できる。例えば、デコード装置は、前記レジデュアル情報に基づいて量子化された変換係数を導出できる。量子化された変換係数は、係数スキャン順序に基づいて1次元ベクトル形態を有することができる。デコード装置は、前記量子化された変換係数に対する逆量子化手順に基づいて変換係数を導出できる。デコード装置は、前記変換係数に対する逆変換手順に基づいてレジデュアルサンプルを導出できる。前記レジデュアルサンプルは、レジデュアルルーマサンプル及び/又はレジデュアルクロマサンプルを含むことができる。
【0460】
デコード装置は、復元ルーマサンプルを生成することができる。デコード装置は、マッピングされた予測ルーマサンプルに基づいて復元ルーマサンプルを生成することができる。具体的に、デコード装置は、前述されたレジデュアルルーマサンプルを、マッピングされた予測ルーマサンプルと合算でき、前記合算結果に基づいて復元ルーマサンプルを生成することができる。
【0461】
デコード装置は、修正された復元ルーマサンプルを生成することができる。デコード装置は、ルーマサンプルのためのインバースマッピング手続きに基づいて修正された復元ルーマサンプルを生成することができる。デコード装置は、前記LMCS関連情報及び前記復元ルーマサンプルに基づいて修正された復元ルーマサンプルを生成することができる(S1940)。デコード装置は、前記復元ルーマサンプルに対するインバースマッピング手続きを通じて前記修正された復元ルーマサンプルを生成することができる。
【0462】
デコード装置は、スケーリングされたレジデュアルクロマサンプルを生成することができる。具体的に、デコード装置はクロマレジデュアルスケーリングファクタを導出することができ、クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルを生成することができる。ここで、デコード端のクロマレジデュアルスケーリングは、エンコード端とは反対に、インバースクロマレジデュアルスケーリングと称されることもできる。したがって、デコード装置により導出されたクロマレジデュアルスケーリングファクタはインバースクロマレジデュアルスケーリングファクタと称されることができ、インバーススケーリングされたレジデュアルクロマサンプルが生成できる。
【0463】
デコード装置は、復元クロマサンプルを生成することができる。デコード装置は、スケーリングされたレジデュアルクロマサンプルに基づいて復元クロマサンプルを生成することができる。具体的に、デコード装置はクロマ成分に対する予測手続きを遂行することができ、予測クロマサンプルを生成することができる。デコード装置は、予測クロマサンプルとスケーリングされたレジデュアルクロマサンプルの間の合算に基づいて復元クロマサンプルを生成することができる。
【0464】
一実施形態で、前記画像情報はLMCS APSを含むことができる。LMCS APSは、LMCSデータフィールド(lmcs_data())及び/又はID情報(aps_adaptation_parameter_set_id)を含むことができる。前記ID情報の値は所定の範囲内にありえる。例えば、前記ID情報の値は0乃至3の範囲にありえる。即ち、前記ID情報の値は0、1、2、または3でありえる。前記LMCSデータフィールドは、前記LMCS関連情報を含むことができる。前記LMCSデータフィールドに基づいて前記マッピング手続き及び前記インバースマッピング手続きで用いられるLMCSコードワードが導出できる。前記LMCS APSの最大個数は事前に決定された値でありえる。例えば、LMCS APSの最大個数(前記事前に決定された値)は4でありえる。
【0465】
一実施形態で、前記ルーマサンプルのための前記マッピング手続きで、前記予測ルーマサンプルに基づいてマッピングインデックスが導出され、そして前記マッピングインデックスに基づく第1のマッピング値を用いて前記マッピングされた予測ルーマサンプルが生成できる。
【0466】
一実施形態で、前記LMCS関連情報はインバースマッピングのためのビンに関する情報を含むことができる。前記ビンに関する情報に基づいて最小ビンインデックス及び最大ビンインデックスが導出できる。前記ルーマサンプルのための前記インバースマッピング手続きで、前記最小ビンインデックスから前記最大ビンインデックスまでのビンインデックスに基づくマッピング値に基づいてインバースマッピングインデックスが導出され、そして前記インバースマッピングインデックスに基づく第2のマッピング値を用いて前記修正された復元ルーマサンプルが生成できる。
【0467】
一実施形態で、前記LMCSデータに関する情報に基づいてピースワイズインデックス(ex.表35、表36、または表37のidxYInv)が識別できる。デコード装置は、前記ピースワイズインデックスに基づいてクロマレジデュアルスケーリングファクタを導出することができる。デコード装置は、前記レジデュアルクロマサンプル及び前記クロマレジデュアルスケーリングファクタに基づいてスケーリングされたレジデュアルクロマサンプルを生成することができる。
【0468】
一実施形態で、前記現在ブロックがシングルツリー構造またはデュアルツリー構造の場合(前記現在ブロックが個別的ツリー構造の場合、前記現在ブロックが個別的ツリーにコーディングされた場合)、前記現在ブロックのためにクロマレジデュアルスケーリングが適用されるか否かを示すクロマレジデュアルスケーリング可用フラグがシグナリングできる。または、前記現在ブロックのブロックツリー構造に関わらず、前記現在ブロックのためにクロマレジデュアルスケーリングが適用されるか否かを示すクロマレジデュアルスケーリング可用フラグがシグナリングできる。現在ピクチャ、現在スライス、及び/又は現在ブロックに対してクロマレジデュアルスケーリングが適用される場合、前記クロマレジデュアルスケーリング可用フラグの値は1でありえる。
【0469】
一実施形態で、前記クロマレジデュアルスケーリングファクタは単一クロマレジデュアルスケーリングファクタでありえる。
【0470】
一実施形態で、前記タイプ情報の値が1であることに基づいて、前記APSはLMCSパラメータを含む前記LMCSデータフィールドを含むことができる。
【0471】
一実施形態で、前記画像情報はヘッダ情報を含むことができる。ここで、ヘッダ情報はピクチャヘッダ(または、スライスヘッダ)でありえる。前記ヘッダ情報はLMCS関連APS ID情報を含むことができる。一例で、前記LMCS関連APS ID情報は、前記現在ピクチャまたは前記現在ブロックに対するLMCS APSのIDを示すことができる。他の例で、前記LMCS関連APS ID情報の値は、前記ID情報の前記値と同一でありえる。前記LMCS関連APS ID情報の前記値は0乃至3の範囲内にありえる。
【0472】
一実施形態で、前記LMCSデータに関する情報に基づいて最小ビンインデックス(ex.lmcs_min_bin_idx)及び/又は最大ビンインデックス(ex.LmcsMaxBinIdx)が導出できる。前記最小ビンインデックスに基づいて第1のマッピング値(LmcsPivot[lmcs_min_bin_idx])が導出できる。前記最大ビンインデックスに基づいて第2のマッピング値(LmcsPivot[LmcsMaxBinIdx]またはLmcsPivot[LmcsMaxBinIdx+1])が導出できる。前記復元ルーマサンプル(ex.表51または表52のlumaSample)の値は第1のマッピング値から第2のマッピング値までの範囲にありえる。一例で、全ての復元ルーマサンプルの値は第1のマッピング値から第2のマッピング値までの範囲にありえる。他の例で、復元ルーマサンプルのうちの一部サンプルの値は第1のマッピング値から第2のマッピング値までの範囲にありえる。
【0473】
一実施形態で、前記画像情報はSPS(sequence parameter set)を含むことができる。前記SPSは線形LMCSが可用か否かを示す線形LMCS可用フラグを含むことができる。
【0474】
一実施形態で、前記クロマレジデュアルスケーリングファクタは単一クロマレジデュアルスケーリングファクタでありえる。
【0475】
一実施形態で、前記LMCSデータに関する情報はLMCSデータフィールド及び線形LMCSに関する情報を含むことができる。前記線形LMCSに関する情報は、線形マッピングに関する情報と称されることもできる。前記LMCSデータフィールドは線形LMCSが適用されるか否かを示す線形LMCSフラグを含むことができる。前記線形LMCSフラグの値が1の場合、前記マッピングされた予測ルーマサンプルは前記線形LMCSに関する情報に基づいて生成できる。
【0476】
一実施形態で、前記線形LMCSに関する情報は第1のピボットポイント(ex.図11のP1)に関する情報及び第2のピボットポイント(ex.図11のP2)に関する情報を含むことができる。例えば、前記第1のピボットポイントの入力値及びマッピング値は各々最小入力値、最小マッピング値でありえる。前記第2のピボットポイントの入力値及びマッピング値は各々最大入力値、最大マッピング値でありえる。前記最小入力値及び前記最大入力値の間の入力値は線形的にマッピングできる。
【0477】
一実施形態で、前記画像情報は前記最大入力値に関する情報及び前記最大マッピング値に関する情報を含むことができる。前記最大入力値は前記最大入力値に関する情報(ex.表33のlmcs_max_input)の値と同一でありえる。前記最大マッピング値は、前記最大マッピング値に関する情報(ex.表33のlmcs_max_mapped)の値と同一でありえる。
【0478】
一実施形態で、前記線形マッピングに関する情報は前記第2のピボットポイントの入力デルタ値に関する情報(ex.表35のlmcs_max_input_delta)及び前記第2のピボットポイントのマッピングデルタ値に関する情報(ex.表35のlmcs_max_mapped_delta)を含むことができる。前記第2のピボットポイントの入力デルタ値に基づいて前記最大入力値が導出され、前記第2のピボットポイントのマッピングデルタ値に基づいて前記最大マッピング値が導出できる。
【0479】
一実施形態で、前記最大入力値及び前記最大マッピング値は前述した表36に含まれた少なくとも1つの数式に基づいて導出できる。
【0480】
一実施形態で、前記マッピングされた予測ルーマサンプルを生成するステップは、前記予測ルーマサンプルに対するフォワードマッピングスケーリングファクタ(ex.前述したScaleCoeffSingle)を導出するステップ、及び前記フォワードマッピングスケーリングファクタに基づいて前記マッピングされた予測ルーマサンプルを生成するステップを含むことができる。前記フォワードマッピングスケーリングファクタは、前記予測ルーマサンプルのための単一ファクタでありえる。
【0481】
一実施形態で、前記インバースマッピングスケーリングファクタは前記復元ルーマサンプルに基づいて導出されたピースワイズインデックスを用いて導出できる。
【0482】
一実施形態で、前記ピースワイズインデックスは前述した表50に基づいて導出できる。即ち、前記表50に含まれた比較手続き(lumaSample<LmcsPivot[idxYInv+1])は前記ピースワイズインデックスが前記最小ビンインデックスの場合から前記ピースワイズインデックスが前記最大ビンインデックスの場合まで反復的に遂行できる。
【0483】
一実施形態で、前記フォワードマッピングスケーリングファクタは前述した表36及び/又は表38に含まれた少なくとも1つの数式に基づいて導出できる。
【0484】
一実施形態で、前記マッピングされた予測ルーマサンプルは前述した表38に含まれた少なくとも1つの数式に基づいて導出できる。
【0485】
一実施形態で、デコード装置は前記復元ルーマサンプル(ex.前述したlumaSample)に対するインバースマッピングスケーリングファクタ(ex.前述したInvScaleCoeffSingle)を導出することができる。また、デコード装置は前記復元ルーマサンプル及び前記インバースマッピングスケーリングファクタに基づいて修正された復元ルーマサンプル(ex.invSample)を生成することができる。前記インバースマッピングスケーリングファクタは前記復元ルーマサンプルのための単一ファクタでありえる。
【0486】
一実施形態で、前記インバースマッピングスケーリングファクタは前述した表33、表34、表35、表36に含まれた少なくとも1つの数式、または数式11または数式12に基づいて導出できる。
【0487】
一実施形態で、前記修正された復元ルーマサンプルは前述した数式20、数式21、表39、及び/又は表40に基づいて導出できる。
【0488】
一実施形態で、前記LMCS関連情報は前記マッピングされた予測ルーマサンプルを導出するためのビンの個数に関する情報(ex.表41のlmcs_num_bins_minus1)を含むことができる。例えば、ルーママッピングのためのピボットポイントの個数は前記ビンの個数と同一に設定できる。一例で、デコード装置は前記ビンの個数だけ前記ピボットポイントのデルタ入力値及びデルタマッピング値を各々生成することができる。一例で、前記デルタ入力値(ex.表41のlmcs_delta_input_cw[i])及び前記デルタマッピング値(ex.表41のlmcs_delta_mapped_cw[i])に基づいて前記ピボットポイントの入力値及びマッピング値が導出され、前記入力値(ex.表42のLmcsPivot_input[i])及び前記マッピング値(ex.表42のLmcsPivot_mapped[i])に基づいて前記マッピングされた予測ルーマサンプルが生成できる。
【0489】
一実施形態で、デコード装置は前記LMCS関連情報に含まれた少なくとも1つのLMCSコードワードと原本コードワード(OrgCW)に基づいてLMCSデルタコードワードを導出することができ、少なくとも1つのLMCSコードワードと原本コードワードに基づいてマッピングされたルーマ予測サンプルを導出することができる。一例で、前記線形マッピングに関する情報はLMCSデルタコードワードに関する情報を含むことができる。
【0490】
一実施形態で、前記LMCSデルタコードワードとOrgCWの合算に基づいて前記少なくとも1つのLMCSコードワードが導出されることができ、例えばOrgCWは(1<<BitDepthY)/16であり、ここでbitdepthYはルーマビット深度を示すことができる。本実施形態は数式14に基づくことができる。
【0491】
一実施形態において、前記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に基づいて行われることができる。
【0492】
一実施形態において、前記少なくとも一つのLMCSコードワードは、2の倍数であることができる。
【0493】
一実施形態において、前記復元ルーマサンプルのルーマビット深度(BitDepthY)が10より高い場合、前記少なくとも一つのLMCSコードワードは、1<<(BitDepthY-10)の倍数である。
【0494】
一実施形態において、前記少なくとも一つのLMCSコードワードは、(OrgCW>>1)から(OrgCW<<1)-1までの範囲内にある。
【0495】
前述した実施形態において、方法は、一連のステップ又はブロックとしてフローチャートに基づいて説明されているが、該当実施形態は、ステップの順序に限定されるわけではなく、あるステップは、前述したところと異なるステップと異なる順序で、又は同時に発生し得る。また、当業者であれば、フローチャートに示されているステップが排他的ではなく、異なるステップが含まれるか、フローチャートの一つ又はそれ以上のステップが本文書の実施形態の範囲に影響を与えずに削除され得ることを理解することができる。
【0496】
前述した本文書の実施形態に係る方法は、ソフトウェアの形態で実現されることができ、本文書に係るエンコード装置及び/又はデコード装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置等の画像処理を行う装置に含まれ得る。
【0497】
本文書で、実施形態がソフトウェアで実現される際、前述した方法は、前述した機能を行うモジュール(過程、機能等)で実現されることができる。モジュールはメモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部又は外部にあってもよく、よく知られている様々な手段でプロセッサと連結されてもよい。プロセッサは、ASIC(application-specific integrated circuit)、他のチップセット、論理回路及び/又はデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体及び/又は他の格納装置を含むことができる。即ち、本文書で説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で実現されて行われ得る。例えば、各図面で示している機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で実現されて行われ得る。この場合、実現のための情報(ex. information on instructions)又はアルゴリズムがデジタル格納媒体に格納されることができる。
【0498】
また、本文書の実施形態が適用されるデコード装置及びエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、オーダーメイド型ビデオ(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)等を含み得る。
【0499】
また、本文書の実施形態が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取ることができる記録媒体に格納されることができる。本文書の実施形態に係るデータ構造を有するマルチメディアデータもまた、コンピュータが読み取ることができる記録媒体に格納されることができる。前記コンピュータが読み取ることができる記録媒体は、コンピュータで読み取られるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取ることができる記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピディスク、及び光学的データ格納装置を含み得る。また、前記コンピュータが読み取ることができる記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で実現されたメディアを含む。また、エンコード方法で生成されたビットストリームが、コンピュータが読み取られる記録媒体に格納されるか、有無線通信ネットワークを介して送信されることができる。
【0500】
また、本文書の実施形態は、プログラムコードによるコンピュータプログラム製品で実現されることができ、前記プログラムコードは、本文書の実施形態によってコンピュータで実行されることができる。前記プログラムコードは、コンピュータによって読み取り可能なキャリア上に格納されることができる。
【0501】
図21は、本文書に開示された実施形態が適用されることができるコンテンツストリーミングシステムの例を示す。
【0502】
図21を参照すると、本文書の実施形態が適用されるコンテンツストリーミングシステムは、大きくエンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディアストレージ、ユーザ装置、及びマルチメディア入力装置を含むことができる。
【0503】
前記エンコードサーバは、スマートフォン、カメラ、カムコーダ等のようなマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。別の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略され得る。
【0504】
前記ビットストリームは、本文書の実施形態が適用されるエンコード方法又はビットストリームの生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信又は受信する過程で、一時的に前記ビットストリームを格納することができる。
【0505】
前記ストリーミングサーバは、ウェブサーバを介してのユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すれば、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
【0506】
前記ストリーミングサーバは、メディア格納所及び/又はエンコードサーバからコンテンツを受信することができる。例えば、前記エンコードサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムに受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間、格納することができる。
【0507】
前記ユーザ装置の例では、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイニジなどがありえる。
【0508】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。
【0509】
本明細書に記載された請求項は、多様な方式で組み合わせることができる。例えば、本明細書の方法請求項の技術的特徴が組み合わせられて装置として実現されることができ、本明細書の装置請求項の技術的特徴が組み合わせられて方法として実現されることができる。また、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴とが組み合わせられて装置として実現されることができ、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴とが組み合わせられて方法として実現されることができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
【手続補正書】
【提出日】2023-06-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコード装置により遂行される画像デコード方法において、
ビットストリームから予測モード情報、レジデュアル情報及びLMCS(luma mapping with chroma scaling)関連情報を含む画像情報を獲得するステップと、
前記予測モード情報に基づいて現在ピクチャ内の現在ブロックのためにインター予測モードを導出するステップと、
前記インター予測モードに基づいて予測ルーマサンプルを生成するステップと、
ルーマサンプルのためのマッピング手続きに基づいてマッピングされた予測ルーマサンプルを生成するステップと、
前記レジデュアル情報に基づいてレジデュアルルーマサンプルを導出するステップと、
前記マッピングされた予測ルーマサンプルと前記レジデュアルルーマサンプルに基づいて復元ルーマサンプルを生成するステップとを含み、
前記画像情報はLMCS APS(adaptation parameter set)及びヘッダー情報を含み、
LMCS APSはLMCSデータフィールド及びID情報を含み、
前記LMCSデータフィールドは前記LMCS関連情報を含み、
前記LMCSデータフィールドに基づいて、前記マッピング手続きで用いられるLMCSコードワードが導出され、
前記ID情報の値は所定の範囲内にあり、
前記所定の範囲は、0から3の範囲であり、
前記ヘッダー情報は、LMCS関連APS ID情報を含み、
前記LMCS関連APS ID情報の値は、前記ID情報の値と等しい、画像デコード方法。
【請求項2】
エンコード装置により遂行される画像エンコード方法において、
インター予測モードを導出するステップと、
前記インター予測モードに基づいて予測ルーマサンプルを生成するステップと、
LMCS(luma mapping with chroma scaling)関連情報を生成するステップと、
ルーマサンプルのためのマッピング手続きに基づいてマッピングされた予測ルーマサンプルを生成するステップと、
前記マッピングされた予測ルーマサンプルに基づいて、レジデュアルルーマサンプルを導出するステップと、
前記マッピングされた予測ルーマサンプルと前記レジデュアルルーマサンプルに基づいて復元ルーマサンプルを生成するステップと、
前記マッピングされた予測ルーマサンプルに基づいてレジデュアル情報を生成するステップと、
前記LMCS関連情報及び前記レジデュアル情報を含む画像情報をエンコードするステップとを含み、
前記画像情報はLMCS APS(adaptation parameter set)及びヘッダー情報を含み、
LMCS APSはLMCSデータフィールド及びID情報を含み、
前記LMCSデータフィールドは前記LMCS関連情報を含み、
前記LMCSデータフィールドに基づいて前記マッピング手続きで用いられるLMCSコードワードが導出され、
前記ID情報の値は所定の範囲内にあり、
前記所定の範囲は、0から3の範囲であり、
前記ヘッダー情報は、LMCS関連APS ID情報を含み、
前記LMCS関連APS ID情報の値は、前記ID情報の値と等しい、画像エンコード方法。
【請求項3】
画像に対するデータを送信する方法であって、
前記画像に対するビットストリームを取得するステップであって、
前記ビットストリームは、インター予測モードを導出し、前記インター予測モードに基づいて予測ルーマサンプルを生成し、LMCS(luma mapping with chroma scaling)関連情報を生成し、ルーマサンプルに対するマッピング手続きに基づいてマッピングされたルーマサンプルを生成し、前記マッピングされた予測ルーマサンプルに基づいてレジデュアルルーマサンプルを導出し、前記マッピングされた予測ルーマサンプルと前記レジデュアルルーマサンプルに基づいて復元ルーマサンプルを生成し、前記マッピングされた予測ルーマサンプルに基づいてレジデュアル情報を生成し、前記LMCS関連情報と前記レジデュアル情報を含む画像情報をエンコーディングすることに基づいて生成される、ステップと、
前記ビットストリームを含む前記データを送信するステップを含み、
前記画像情報はLMCS APS(adaptation parameter set)及びヘッダー情報を含み、
LMCS APSはLMCSデータフィールド及びID情報を含み、
前記LMCSデータフィールドは前記LMCS関連情報を含み、
前記LMCSデータフィールドに基づいて前記マッピング手続きで用いられるLMCSコードワードが導出され、
前記ID情報の値は所定の範囲内にあり、
前記所定の範囲は、0から3の範囲であり、
前記ヘッダー情報は、LMCS関連APS ID情報を含み、
前記LMCS関連APS ID情報の値は、前記ID情報の値と等しい、画像に対するデータを送信する方法。