(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024050774
(43)【公開日】2024-04-10
(54)【発明の名称】量子化パラメータ導出に基づく映像コーディング装置及び方法
(51)【国際特許分類】
H04N 19/70 20140101AFI20240403BHJP
【FI】
H04N19/70
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2024015002
(22)【出願日】2024-02-02
(62)【分割の表示】P 2022078055の分割
【原出願日】2019-03-05
(31)【優先権主張番号】62/651,243
(32)【優先日】2018-04-01
(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)【要約】 (修正有)
【課題】デコーディング装置により実行されるピクチャデコーディング方法及び装置を提供する。
【解決手段】ピクチャデコーディング方法は、量子化パラメータ(QP)に対する情報を含む映像情報をデコーディングするステップと、利用可能な隣接サンプルから現在ブロックの予想平均ルマ値を導出するステップと、前記予想平均ルマ値及び前記QPに対する情報に基づいてルマ量子化パラメータ(ルマQP)を導出するための量子化パラメータオフセット(QPオフセット)を導出するステップと、前記QPオフセットに基づいてルマQPを導出するステップと、前記導出されたルマQPに基づいて前記現在ブロックを含む量子化グループに対する逆量子化を実行するステップと、を含む。
【選択図】
図9
【特許請求の範囲】
【請求項1】
デコーディング装置がピクチャをデコーディングする方法であって、
ビットストリームからQP(quantization parameter)オフセットに関連した少なくとも一つのシンタックスエレメントを含む映像情報を取得するステップであって、前記QPオフセットに関連した前記少なくとも一つのシンタックスエレメントは、前記QPオフセットの値を決定するために利用される、ステップと、
前記QPオフセットに関連した前記少なくとも一つのシンタックスエレメントに基づいてルマQPを導出するステップと、
前記QPオフセットに関連した前記少なくとも一つのシンタックスエレメントに基づいてクロマQPを導出するステップであって、
前記クロマQPは、Cb成分に対する第1クロマQPと、Cr成分に対する第2クロマQPとを含み、
前記QPオフセットに関連した前記少なくとも一つのシンタックスエレメントの値は、前記クロマQPの値を決定するための演算における入力として利用される、ステップと、
前記ルマQP、前記Cb成分に対する前記第1クロマQP、及び前記Cr成分に対する前記第2クロマQPに基づいて復元サンプルを含む再構成ピクチャを生成するステップと、を含み、
前記ルマQPを導出するステップは、
隣接サンプルに基づいて現在ブロックの平均ルマ値を導出するステップと、
前記平均ルマ値、及び前記QPオフセットに関連した前記少なくとも一つのシンタックスエレメントに基づいて、前記ルマQPを導出するための前記QPオフセットを導出するステップであって、前記平均ルマ値、及び前記QPオフセットに関連した前記少なくとも一つのシンタックスエレメントの前記値は、前記QPオフセットの前記値を決定するための演算における入力として利用される、ステップと、
前記QPオフセットに基づいて前記ルマQPを導出するステップであって、前記QPオフセットは、前記ルマQPを導出するステップのための演算における入力として利用される、ステップと、を含み、
前記クロマQPを導出するステップは、
前記Cb成分に対する第1クロマQPマッピングテーブルに基づいて前記Cb成分に対する前記第1クロマQPを導出するステップと、
前記Cr成分に対する第2クロマQPマッピングテーブルに基づいて前記Cr成分に対する前記第2クロマQPを導出するステップと、を含み、
前記Cb成分に対する第1クロマQPマッピングテーブルは、前記Cr成分に対する前記第2クロマQPマッピングテーブルとは別のマッピングテーブルである、方法。
【請求項2】
前記QPオフセットは、以下の数式
Luma_avg_qp=A*(avg_luma-M)+B
に基づいて導出され、
前記数式の前記Luma_avg_qpは、前記QPオフセットを示し、
前記数式の前記avg_lumaは、前記平均ルマ値を示し、
前記数式の前記Aは、ピクセル値の差をQPの差にマッピングするためのスケーリング係数を示し、
前記数式の前記Mは、ビット深さと関連したあらかじめ定義された値を示し、
前記数式の前記Bは、オフセット値を示し、
前記A及び前記Bは、所定の値または前記映像情報に含まれている値である、請求項1に記載の方法。
【請求項3】
前記QPオフセットは、前記平均ルマ値に基づくマッピングテーブルから導出され、
前記マッピングテーブルは、前記平均ルマ値を入力として利用して決定される、請求項1に記載の方法。
【請求項4】
前記QPオフセットは、前記平均ルマ値に基づくマッピングテーブルから導出され、
前記マッピングテーブルは、前記平均ルマ値をあらかじめ定義された定数値で除算して得られた値を利用して決定される、請求項1に記載の方法。
【請求項5】
前記隣接サンプルは、前記現在ブロックを含む量子化グループの左側境界に隣接したルマサンプルを含み、
前記量子化グループの前記左側境界に隣接した前記ルマサンプルは、前記量子化グループの前記左側境界に直接隣接した少なくとも一つのルマサンプル列に含まれ、
前記量子化グループの前記左側境界に隣接した前記ルマサンプルは、複数の行に含まれる、請求項1に記載の方法。
【請求項6】
前記隣接サンプルは、前記現在ブロックを含む量子化グループの左上側サンプルの左側に隣接したルマサンプルを含み、
前記隣接サンプルは、前記量子化グループの左上側サンプルの上側に隣接したルマサンプルを含む、請求項1に記載の方法。
【請求項7】
前記隣接サンプルは、復元された隣接サンプル、復元された隣接ブロックの少なくとも一つに含まれているサンプル、予測隣接サンプル、及び予測隣接ブロックの少なくとも一つに含まれているサンプルの少なくとも一つを含む、請求項1に記載の方法。
【請求項8】
前記QPオフセットに関連した前記少なくとも一つのシンタックスエレメントは、SPS(Sequence Parameter Set)レベルでシグナリングされる、請求項1に記載の方法。
【請求項9】
前記映像情報は、EDRP(Effective Data Range Parameter)に関する情報を含み、
前記EDRPに関する前記情報は、最小入力値、最大入力値、入力値のダイナミックレンジ、前記最小入力値を明るさと関連付けるためのマッピング情報、前記最大入力値を明るさと関連付けるためのマッピング情報、及び伝達関数の識別情報の少なくとも一つを含む、請求項1に記載の方法。
【請求項10】
エンコーディング装置がピクチャをエンコーディングする方法であって、
隣接サンプルに基づいて現在ブロックの平均ルマ値を導出するステップと、
前記平均ルマ値に基づいてルマQP(quantization parameter)を導出するためのQPオフセットを導出するステップであって、前記平均ルマ値は、前記QPオフセットの値を決定するための演算における入力として利用される、ステップと、
前記QPオフセットに基づいて前記ルマQPを導出するステップであって、前記QPオフセットは、前記ルマQPを導出するステップのための演算における入力として利用される、ステップと、
クロマQPを導出するステップであって、前記クロマQPは、Cb成分に対する第1クロマQPと、Cr成分に対する第2クロマQPとを含む、ステップと、
前記QPオフセットに関連した少なくとも一つのシンタックスエレメントを導出するステップと、
前記QPオフセットに関連した前記少なくとも一つのシンタックスエレメントを含む映像情報をエンコーディングしてビットストリームを出力するステップと、を含み、
前記クロマQPを導出するステップは、
前記Cb成分に対する第1クロマQPマッピングテーブルに基づいて前記Cb成分に対する前記第1クロマQPを導出するステップと、
前記Cr成分に対する第2クロマQPマッピングテーブルに基づいて前記Cr成分に対する前記第2クロマQPを導出するステップと、を含み、
前記Cb成分に対する前記第1クロマQPマッピングテーブルは、前記Cr成分に対する前記第2クロマQPマッピングテーブルとは別のマッピングテーブルである、方法。
【請求項11】
映像情報のためのデータを送信するための方法であって、
QP(quantization parameter)オフセットに関連した少なくとも一つのシンタックスエレメントを含む前記映像情報のビットストリームを取得するステップであって、
前記QPオフセットに関連した前記少なくとも一つのシンタックスエレメントは、ルマQP及びクロマQPに基づいて導出され、
前記ルマQPは、
隣接サンプルに基づいて現在ブロックの平均ルマ値を導出するステップと、
前記平均ルマ値に基づいてQPオフセットを導出するステップと、
前記QPオフセットに基づいて前記ルマQPを導出するステップと、
によって導出され、
前記平均ルマ値は、前記QPオフセットの値を決定するための演算における入力として利用され、
前記QPオフセットは、前記ルマQPを導出するステップのための演算における入力として利用され、
前記クロマQPは、Cb成分に対する第1クロマQPと、Cr成分に対する第2クロマQPとを含む、ステップと、
前記QPオフセットに関連した前記少なくとも一つのシンタックスエレメントを含む前記映像情報の前記ビットストリームを含む前記データを送信するステップと、を含み、
前記クロマQPを導出するステップは、
前記Cb成分に対する第1クロマQPマッピングテーブルに基づいて前記Cb成分に対する前記第1クロマQPを導出するステップと、
前記Cr成分に対する第2クロマQPマッピングテーブルに基づいて前記Cr成分に対する前記第2クロマQPを導出するステップと、を含み、
前記Cb成分に対する前記第1クロマQPマッピングテーブルは、前記Cr成分に対する前記第2クロマQPマッピングテーブルとは別のマッピングテーブルである、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像コーディング(映像符号化)技術に関する。より具体的に、本発明は、映像コーディングシステムにおける量子化パラメータ導出に基づく映像コーディング装置及び方法に関する。
【背景技術】
【0002】
高画質(High Definition、HD)映像及び超高画質(Ultra High Definition、UHD)映像のような高解像度及び高品質の映像に対する要求が最近多様な分野で増加している。このような映像データは、高解像度及び高品質を有するため、送信される情報またはビットの量は、既存イメージデータに比べて増加する。したがって、有線/無線広帯域回線のような媒体を利用して映像データを送信または格納する場合、送信費用及び格納費用が増加されることができる。
【0003】
したがって、高解像度及び高品質の映像の情報を効率的に送信、格納、及び再生するための高効率映像圧縮技術が要求されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、ビデオコーディング効率を向上させるための方法及び装置を提供する。
【0005】
また、本発明は、量子化効率を増加させるための方法及び装置を提供する。
【0006】
また、本発明は、量子化パラメータを効率的に導出するための方法及び装置を提供する。
【課題を解決するための手段】
【0007】
本発明の一実施例によると、デコーディング装置により実行されるピクチャデコーディング方法が提供される。前記ピクチャデコーディング方法は、量子化パラメータ(QP)に対する情報を含む映像情報をデコーディングするステップと、利用可能な隣接サンプルから現在ブロックの予想平均ルマ値を導出するステップと、前記予想平均ルマ値及び前記QPに対する情報に基づいてルマ量子化パラメータ(ルマQP)を導出するための量子化パラメータオフセット(QPオフセット)を導出するステップと、前記QPオフセットに基づいてルマQPを導出するステップと、前記導出されたルマQPに基づいて前記現在ブロックを含む量子化グループに対する逆量子化を実行するステップと、逆量子化に基づいて前記現在ブロックに対するレジデュアルサンプルを生成するステップと、前記映像情報に基づいて前記現在ブロックに対する予測サンプルを生成するステップと、前記現在ブロックに対する前記レジデュアルサンプル及び前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成するステップと、を含む。
【0008】
本発明の一実施例によると、ピクチャをデコーディングするデコーディング装置が提供される。前記デコーディング装置は、量子化パラメータ(QP)に対する情報を含む映像情報をデコーディングするように構成されたエントロピーデコーディングモジュールと、利用可能な隣接サンプルから現在ブロックの予想平均ルマ値を導出し、前記予想平均ルマ値及び前記QPに対する情報に基づいてルマ量子化パラメータ(ルマQP)を導出するための量子化パラメータオフセット(QPオフセット)を導出し、前記QPオフセットに基づいてルマQPを導出し、前記導出されたルマQPに基づいて前記現在ブロックを含む量子化グループに対する逆量子化を実行するように構成された逆量子化モジュールと、前記逆量子化に基づいて前記現在ブロックに対するレジデュアルサンプルを生成するように構成された逆変換モジュールと、前記映像情報に基づいて前記現在ブロックに対する予測サンプルを生成するように構成された予測モジュールと、前記現在ブロックに対する前記レジデュアルサンプル及び前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成するように構成された復元モジュールと、を含む。
【0009】
本発明の一実施例によると、エンコーディング装置により実行されるピクチャエンコーディング方法が提供される。前記ピクチャエンコーディング方法は、利用可能な隣接サンプルから現在ブロックの予想平均ルマ値を導出するステップと、前記予想平均ルマ値及びQPに対する情報に基づいてルマ量子化パラメータ(ルマQP)を導出するための量子化パラメータオフセット(QPオフセット)を導出するステップと、前記QPオフセットに基づいてルマQPを導出するステップと、前記導出されたルマQPに基づいて前記現在ブロックを含む量子化グループに対する量子化を実行するステップと、前記QPに対する情報を含む映像情報をエンコーディングするステップと、を含む。
【0010】
本発明の一実施例によると、ピクチャをエンコーディングするエンコーディング装置が提供される。前記エンコーディング装置は、利用可能な隣接サンプルから現在ブロックの予想平均ルマ値を導出し、前記予想平均ルマ値及びQPに対する情報に基づいてルマ量子化パラメータ(ルマQP)を導出するための量子化パラメータオフセット(QPオフセット)を導出し、前記QPオフセットに基づいてルマQPを導出し、前記導出されたルマQPに基づいて前記現在ブロックを含む量子化グループに対する量子化を実行するように構成された量子化モジュールと、前記QPに対する情報を含む映像情報をエンコーディングするように構成されたエントロピーエンコーディングモジュールと、を含む。
【発明の効果】
【0011】
本発明によると、全体的な映像/ビデオ圧縮効率を増加させることができる。
【0012】
本発明によると、量子化効率を増加させることができる。
【0013】
本発明によると、量子化パラメータを効率的に導出することができる。
【図面の簡単な説明】
【0014】
【
図1】一実施例に係るエンコーディング装置の構成を示す概略図である。
【
図2】一実施例に係るデコーディング装置の構成を示す概略図である。
【
図3】色度図(chromaticity diagram)の一例を示す。
【
図4】SDR及びHDR表現のための線形光値のマッピングの例を示す。
【
図5】一実施例に係るピクチャ復元プロセスを示すフローチャートである。
【
図6】他の実施例に係るピクチャ復元プロセスを示すフローチャートである。
【
図7】一実施例に係るエンコーディング装置の動作を示すフローチャートである。
【
図8】一実施例に係るエンコーディング装置の構成を示すブロック図である。
【
図9】一実施例に係るデコーディング装置の動作を示すフローチャートである。
【
図10】一実施例に係るデコーディング装置の構成を示すブロック図である。
【発明を実施するための形態】
【0015】
本発明の一実施例によると、デコーディング装置(復号装置)により実行されるピクチャデコーディング方法が提供される。前記ピクチャデコーディング方法は、量子化パラメータ(QP)に対する情報を含む映像情報をデコーディングするステップと、利用可能な隣接サンプルから現在ブロックの予想平均ルマ値を導出するステップと、前記予想平均ルマ値及び前記QPに対する情報に基づいてルマ量子化パラメータ(ルマQP)を導出するための量子化パラメータオフセット(QPオフセット)を導出するステップと、前記QPオフセットに基づいてルマQPを導出するステップと、前記導出されたルマQPに基づいて前記現在ブロックを含む量子化グループに対する逆量子化を実行するステップと、逆量子化に基づいて前記現在ブロックに対するレジデュアルサンプルを生成するステップと、前記映像情報に基づいて前記現在ブロックに対する予測サンプルを生成するステップと、前記現在ブロックに対する前記レジデュアルサンプル及び前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成するステップと、を含む。
【0016】
本発明は、多様な形態で変形されることができ、具体的な実施例を図面に例示して詳細に説明する。しかし、前記実施例は、本発明を限定するためのものではない。本明細書で使われる用語は、単に特定の実施例を説明するために使われるものであり、本発明を限定するものではない。単数の表現は、明白な他の意味がない限り、複数の表現を含む。本明細書で“含む”または“有する”という用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品またはそれらを組み合わせたものが存在することを意味し、一つまたはそれ以上の異なる特徴や数字、ステップ、動作、構成要素、部品またはそれらを組み合わせたものの存在または付加の可能性をあらかじめ排除しないと理解しなければならない。
【0017】
一方、本発明で説明される図面上の各構成要素は、映像コーディング/デコーディング装置の互いに異なる特徴的な機能に対する説明の便宜のために独立的に図示されたものであり、各構成要素が互いに別個のハードウェアや別個のソフトウェアで実装されるということを意味しない。例えば、各構成要素のうち二つ以上の構成要素が統合されて一つの構成要素になることもでき、一つの構成要素が複数の構成要素に分けられることもできる。各構成要素が統合及び/または分離された実施例も、本発明の本質から外れない限り本発明の権利範囲に含まれる。
【0018】
以下、添付図面を参照して本発明の好ましい実施例を詳細に説明する。また、図面全体にわたって同じ構成要素に対しては同じ参照符号が使われ、同じ構成要素に対する重複説明は省略する。
【0019】
本明細書は、ビデオまたは映像を処理する技術分野に適用されることができる。例えば、以下の説明に開示された方法または実施例は、多用途ビデオコーディング(Versatile Video Coding、VVC)標準(ITU-T Rec.H.266)、VVC以後の次世代ビデオ/映像コーディング標準、または高効率ビデオコーディング(High Efficiency Video Coding、HEVC)標準(ITU-T Rec.H.265)のようなVVC以前のビデオ/映像コーディング標準など、多様なビデオコーディング標準に適用されることができる。
【0020】
本明細書において、ビデオは、時間による映像のセットを意味することができる。ピクチャ(picture)は、一般的に特定の時間帯の一つの映像を示す単位を意味し、スライス(slice)は、コーディングにおいてピクチャの一部を構成する単位である。一つのピクチャは、複数のスライスで構成されることができ、必要によって、ピクチャ及びスライスは、互いに混在して使われることができる。また、“映像”という用語は、静止映像及び時間の流れによる静止映像のセットであるビデオを含む概念を意味することができる。また、“ビデオ”は、必ず時間による静止映像のセットを意味するものではなく、一部実施例で静止映像の意味を含む概念として解釈されることができる。
【0021】
ピクセル(pixel)またはペル(pel)は、一つのピクチャ(または、映像)の最小単位を意味することができる。また、ピクセルに対応する用語として‘サンプル(sample)’が使われることができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
【0022】
ユニット(unit)は、映像処理の基本単位を示す。ユニットは、ピクチャの特定の領域及び該当領域に関連した情報のうち少なくとも一つを含むことができる。前記ユニットは、場合によってブロック(block)または領域(area)などの用語と混在して使われることができる。一般的に、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)のセットを示すことができる。
【0023】
図1は、一実施例に係るエンコーディング装置の構成を概略的に説明する。
【0024】
以下、エンコーディング/デコーディング装置は、ビデオエンコーディング/デコーディング装置及び/または映像エンコーディング/デコーディング装置を含むことができる。ビデオエンコーディング/デコーディング装置は、映像エンコーディング/デコーディング装置を含む概念として使われることができ、映像エンコーディング/デコーディング装置は、ビデオエンコーディング/デコーディング装置を含む概念として使われることができる。
【0025】
図1を参照すると、エンコーディング装置100は、ピクチャ分割モジュール105、予測モジュール110、レジデュアル処理モジュール120、エントロピーエンコーディング(エントロピー符号化)モジュール130、加算器140、フィルタモジュール150、及びメモリ160を含むことができる。前記レジデュアル処理モジュール120は、減算器121、変換モジュール122、量子化モジュール123、再整列(再配置、rearrangement)モジュール124、逆量子化モジュール125、及び逆変換モジュール126を含むことができる。
【0026】
前記ピクチャ分割モジュール105は、入力されたピクチャを少なくとも一つの処理ユニットに分割できる。
【0027】
一例として、前記処理ユニットは、コーディングユニット(符号化ユニット、coding unit、CU)と呼ばれる。この場合、前記コーディングユニットは、最大コーディングユニット(largest coding unit、LCU)からクアッドツリーバイナリツリー(quad-tree binary-tree、QTBT)構造によって再帰的に分割されることができる。例えば、一つのコーディングユニットは、クアッドツリー構造、バイナリツリー構造、及び/またはターナリィツリー構造に基づいてより深い(deeper)デプスの複数のコーディングユニットに分割されることができる。
【0028】
この場合、例えば、まず、クアッドツリー構造が適用され、以後にバイナリツリー構造及びターナリィツリー構造が適用されることができる。または、まず、バイナリツリー構造/ターナリィツリー構造が適用されることができる。本発明によるコーディング手順は、それ以上分割されない最終コーディングユニットに基づいて実行されることができる。この場合、映像特性によるコーディング効率などに基づいて最大コーディングユニットが最終コーディングユニットとして使われることができ、またはコーディングユニットがより深いデプスのコーディングユニットに再帰的に分割されて最終コーディングユニットとして使われることができる。ここで、前記コーディング手順は、後述する予測、変換、及び復元のような手順を含むことができる。
【0029】
他の例として、前記処理ユニットは、コーディングユニット(coding unit、CU)、予測ユニット(prediction unit、PU)、または変換ユニット(transform unit、TU)を含むことができる。前記コーディングユニットは、最大コーディングユニット(LCU)からクアッドツリー構造によってより深い(deeper)デプスのコーディングユニットに分割されることができる。この場合、映像特性によるコーディング効率などに基づいて最大コーディングユニットが最終コーディングユニットとして使われることができ、またはコーディングユニットがより深いデプスのコーディングユニットに再帰的に分割されて最終コーディングユニットとして使われることができる。最小コーディングユニット(smallest coding unit、SCU)が設定された場合、前記コーディングユニットは、前記最小コーディングユニットより小さいコーディングユニットに分割されることができない。
【0030】
ここで、用語“最終コーディングユニット”は、前記予測ユニットまたは前記変換ユニットにパーティショニングまたは分割されるコーディングユニットを意味する。予測ユニットは、コーディングユニットからパーティショニング(partitioning)されるユニットであり、サンプル予測のユニットである。このとき、前記予測ユニットは、サブブロック(sub-block)に分けられることもできる。前記変換ユニットは、前記コーディングユニットからクアッドツリー構造によって分割されることができ、変換係数を導出するユニット及び/または変換係数からレジデュアル信号(residual signal)を導出するユニットである。
【0031】
以下、前記コーディングユニットはコーディングブロック(coding block、CB)と呼ばれ、前記予測ユニットは予測ブロック(prediction block、PB)と呼ばれ、前記変換ユニットは変換ブロック(transform block、TB)と呼ばれる。前記予測ブロックまたは前記予測ユニットは、ピクチャ内でブロック形態の特定の領域を意味することができ、予測サンプルのアレイ(array)を含むことができる。また、前記変換ブロックまたは前記変換ユニットは、ピクチャ内でブロック形態の特定の領域を意味することができ、変換係数またはレジデュアルサンプルのアレイを含むことができる。
【0032】
前記予測モジュール110は、現在ブロックまたはレジデュアルブロックを予測し、現在ブロックの予測サンプルを含む予測ブロックを生成する。前記予測モジュール110で実行される予測の単位は、コーディングブロック、または変換ブロック、または予測ブロックである。
【0033】
前記予測モジュール110は、現在ブロックまたはレジデュアルブロックを予測し、現在ブロックの予測サンプルを含む予測ブロックを生成する。前記予測モジュール110で実行される予測の単位は、コーディングブロック、または変換ブロック、または予測ブロックである。
【0034】
前記予測モジュール110は、現在ブロックにイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができる。例えば、前記予測モジュール110は、CU単位でイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができる。
【0035】
イントラ予測の場合、前記予測モジュール110は、現在ブロックが属するピクチャ(以下、現在ピクチャ)内の現在ブロック外部の参照サンプルに基づいて現在ブロックに対する予測サンプルを導出することができる。
【0036】
この場合、前記予測モジュール110は、(i)現在ブロックの隣接(neighboring)参照サンプルの平均(average)または補間(interpolation)に基づいて予測サンプルを導出することができ、(ii)現在ブロックの隣接参照サンプルのうち予測サンプルに対して特定(予測)方向に存在する参照サンプルに基づいて予測サンプルを導出することができる。
【0037】
(i)の場合は、非方向性モードまたは非角度モードと呼ばれ、(ii)の場合は、方向性(directional)モードまたは角度(angular)モードと呼ばれる。イントラ予測において、予測モードは、例えば、65個の方向性予測モードと少なくとも2個以上の非方向性モードを有することができる。非方向性モードは、DC予測モード及びプラナーモード(Planarモード)を含むことができる。前記予測モジュール110は、隣接ブロックに適用された予測モードを利用して現在ブロックに適用される予測モードを決定することができる。
【0038】
インター予測の場合、前記予測モジュール110は、参照ピクチャ上の動きベクトルにより特定されるサンプルに基づいて、現在ブロックに対する予測サンプルを導出することができる。前記予測モジュール110は、スキップ(skip)モード、マージ(merge)モード、及びMVP(motion vector prediction)モードのうちいずれか一つを適用することで現在ブロックに対する予測サンプルを導出することができる。スキップモードとマージモードの場合、前記予測モジュール110は、隣接ブロックの動き情報を現在ブロックの動き情報として利用できる。
【0039】
スキップモードの場合、マージモードとは違って予測サンプルと原本サンプルとの間の差(レジデュアル)が送信されない。MVPモードの場合、隣接ブロックの動きベクトルを現在ブロックの動きベクトル予測子(motion vector predictor)として利用して現在ブロックの動きベクトルを導出することができる。
【0040】
インター予測の場合、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャ(reference picture)内に存在する時間的隣接ブロック(temporal neighboring block)を含むことができる。前記時間的隣接ブロックを含む前記参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)と呼ばれることもできる。前記動き情報(motion information)は、動きベクトルと参照ピクチャインデックスを含むことができる。予測モード情報と動き情報などの情報は、(エントロピー)エンコーディングされてビットストリーム形態で出力されることができる。
【0041】
スキップモードとマージモードで時間的隣接ブロックの動き情報が利用される場合、参照ピクチャリスト(reference picture list)上の最上位ピクチャが参照ピクチャとして利用されることができる。ピクチャ順序カウント(Picture Order Count、POC)に含まれる前記参照ピクチャは、現在ピクチャと該当参照ピクチャとの間のPOC差に基づいて整列されることができる。前記POCは、ピクチャのディスプレイ順序に対応し、コーディング順序と区分されることができる。
【0042】
前記減算器121は、原本サンプルと予測サンプルとの間の差であるレジデュアルサンプルを生成する。スキップモードが適用される場合、前述のようにレジデュアルサンプルを生成しない。
【0043】
前記変換モジュール122は、変換ブロック単位で前記レジデュアルサンプルを変換して変換係数(transform coefficient)を生成する。前記変換モジュール122は、該当変換ブロックのサイズと、該当変換ブロックと空間的に重なるコーディングブロックまたは予測ブロックに適用された予測モードによって変換を実行することができる。
【0044】
例えば、前記変換ブロックと重なる前記コーディングブロックまたは前記予測ブロックにイントラ予測が適用され、前記変換ブロックが4×4のレジデュアルアレイ(array)である場合、前記レジデュアルサンプルは、離散サイン変換(Discrete Sine Transform、DST)を利用して変換され、その他の場合、前記レジデュアルサンプルは、離散コサイン変換(Discrete Cosine Transform、DCT)を利用して変換されることができる。
【0045】
前記量子化モジュール123は、前記変換係数を量子化して量子化された変換係数を生成することができる。
【0046】
前記再整列モジュール124は、量子化された変換係数を再整列する。前記再整列モジュール124は、係数のスキャニング(scanning)方法を介してブロック形態の量子化された変換係数を1次元ベクトル形態で再整列できる。前記再整列モジュール124は、別途の構成で説明したが、前記再整列モジュール124は、前記量子化モジュール123の一部であってもよい。
【0047】
前記エントロピーエンコーディングモジュール130は、量子化された変換係数に対するエントロピーエンコーディングを実行することができる。エントロピーエンコーディングは、例えば、指数ゴロム(exponential Golomb)、コンテキストベースの適応型可変長コーディング(context-adaptive variable length coding、CAVLC)、コンテキストベースの適応型二進算術コーディング(context-adaptive binary arithmetic coding、CABAC)などのようなエンコーディング方法を含むことができる。前記エントロピーエンコーディングモジュール130は、量子化された変換係数とビデオ復元に必要な情報(例えば、シンタックスエレメント(syntax element)の値等)を共にまたは別途にエントロピーエンコーディングまたは所定の方法によりエンコーディングできる。
【0048】
エントロピーエンコーディングによりエンコーディングされた前記情報は、ビットストリーム形態でネットワーク抽象化層(network abstraction layer、NAL)ユニット単位で送信または格納されることができる。前記ビットストリームは、ネットワークを介して送信され、またはデジタル格納媒体に格納されることができる。前記ネットワークは、放送ネットワーク及び/または通信ネットワークを含むことができ、前記デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、及びSSDなどの多様な格納媒体を含むことができる。
【0049】
前記逆量子化モジュール125は、前記量子化モジュール123で量子化された値(量子化された変換係数)を逆量子化し、前記逆変換モジュール126は、前記逆量子化モジュール125で逆量子化された値を逆変換してレジデュアルサンプルを生成する。
【0050】
前記加算器140は、前記レジデュアルサンプルと前記予測サンプルを結合してピクチャを復元する。前記レジデュアルサンプルと前記予測サンプルは、ブロック単位で加算されて復元ブロックが生成されることができる。ここで、前記加算器140は、前記予測モジュール110の一部であってもよい。一方、前記加算器140は、復元モジュールまたは復元ブロック生成部と呼ばれる。
【0051】
前記フィルタモジュール150は、前記復元ピクチャに対してデブロッキングフィルタ及び/またはサンプル適応型オフセット(sample adaptive offset)を適用することができる。デブロッキングフィルタリング及び/またはサンプル適応型オフセットを介して、前記復元ピクチャ内ブロック境界のアーチファクトまたは量子化プロセスでの歪曲が補正されることができる。サンプル適応型オフセットは、サンプル単位で適用されることができ、デブロッキングフィルタリングプロセスが完了した後に適用されることができる。前記フィルタモジュール150は、適応型ループフィルタ(Adaptive Loop Filter、ALF)を前記復元ピクチャに適用することもできる。前記ALFは、デブロッキングフィルタ及び/またはサンプル適応型オフセットが適用された後の復元ピクチャに対して適用されることができる。
【0052】
前記メモリ160は、前記復元ピクチャ(デコーディングされたピクチャ)またはエンコーディング/デコーディングに必要な情報を格納することができる。ここで、前記復元ピクチャは、前記フィルタモジュール150によりフィルタリング手順が完了した復元ピクチャである。前記格納された復元ピクチャは、他のピクチャの(インター)予測のための参照ピクチャとして利用されることができる。例えば、前記メモリ160は、インター予測に使われる(参照)ピクチャを格納することができる。このとき、インター予測に使われるピクチャは、参照ピクチャセット(reference picture set)または参照ピクチャリスト(reference picture list)により指定されることができる。
【0053】
図2は、実施例に係るデコーディング装置の構成を概略的に説明する。
【0054】
図2を参照すると、デコーディング装置200は、エントロピーデコーディング(エントロピー復号)モジュール210、レジデュアル処理モジュール220、予測モジュール230、加算器240、フィルタモジュール250、及びメモリ260を含む。ここで、前記レジデュアル処理モジュール220は、再配列モジュール221、逆量子化モジュール222、及び逆変換モジュール223を含むことができる。また、図示されていないが、前記ビデオデコーディング装置200は、ビデオ情報を含むビットストリームを受信するための受信機を含むことができる。前記受信機は、別途のモジュールであり、または前記エントロピーデコーディングモジュール210に含まれることができる。
【0055】
ビデオ/映像情報を含むビットストリームが入力されると、前記(ビデオ)デコーディング装置200は、前記(ビデオ)エンコーディング装置100でビデオ/映像情報が処理されるプロセスに応答してビデオ/映像/ピクチャを復元することができる。
【0056】
例えば、前記ビデオデコーディング装置200は、前記ビデオエンコーディング装置に適用された処理ユニットを利用してビデオデコーディングを実行することができる。したがって、ビデオデコーディングの処理ユニットブロックは、例えば、コーディングユニットであり、他の例として、コーディングユニット、予測ユニット、または変換ユニットである。前記コーディングユニットは、最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/またはターナリィツリー構造によって分割されることができる。
【0057】
予測ユニット及び変換ユニットが場合によってさらに利用されることもできる。前記予測ユニットブロックは、前記コーディングユニットから導出またはパーティショニングされるブロックである。前記変換ユニットは、前記コーディングユニットからクアッドツリー構造によって分割されることができ、変換係数を導出するユニットまたは変換係数からレジデュアル信号を導出するユニットである。
【0058】
前記エントロピーデコーディングモジュール210は、ビットストリームをパーシングしてビデオ復元またはピクチャ復元に必要な情報を出力することができる。例えば、前記エントロピーデコーディングモジュール210は、指数ゴロムコーディング(指数ゴロム符号、exponential Golomb coding)、CAVLC、またはCABACなどのコーディング方法に基づいてビットストリーム内の情報をデコーディングし、ビデオ復元に必要なシンタックスエレメントの値及びレジデュアルに関連した量子化された変換係数の値を計算する。
【0059】
より詳しくは、前記CABACエントロピーデコーディング方法は、ビットストリーム内の各シンタックスエレメントに該当するビン(bin)を受信し、デコーディング対象シンタックスエレメントとデコーディング対象のデコーディング情報に基づいてコンテキスト(context)モデルを決定し、決定されたコンテキストモデルによってビン(bin)の発生確率を予測し、ビンの算術デコーディング(arithmetic decoding)を実行することによって、各シンタックスエレメントの値に該当するシンボルを生成することができる。このとき、前記CABACエントロピーデコーディング方法は、前記コンテキストモデルを決定した後、次のシンボル/ビンのコンテキストモデルのために、前記デコーディングされたシンボル/ビンの情報を利用して前記コンテキストモデルをアップデートすることができる。
【0060】
前記エントロピーデコーディングモジュール210において、デコーディングされた情報のうち予測に対する情報は、前記予測モジュール230に提供され、前記エントロピーデコーディングモジュール210において、エントロピーデコーディングが実行されたレジデュアル値は、前記再整列モジュール221に入力されることができる。
【0061】
前記再整列モジュール221は、前記量子化された変換係数を2次元のブロック形態で再整列できる。前記再整列モジュール221は、前記エンコーディング装置で実行された係数スキャニングに応答して再整列を実行することができる。前記再整列モジュール221は、別途の構成で説明したが、前記再整列モジュール221は、前記逆量子化モジュール222の一部であってもよい。
【0062】
前記逆量子化モジュール222は、(逆)量子化パラメータに基づいて前記量子化された変換係数を逆量子化することで前記逆量子化された変換係数を出力することができる。このとき、前記量子化パラメータを導出するための情報は、前記エンコーディング装置からシグナリングされることができる。
【0063】
前記逆変換モジュール223は、前記変換係数を逆変換して前記レジデュアルサンプルを導出することができる。
【0064】
前記予測モジュール230は、現在ブロックを予測し、前記現在ブロックの予測サンプルを含む予測ブロックを生成することができる。前記予測モジュール230で実行される予測の単位は、コーディングブロック、変換ブロック、または予測ブロックである。
【0065】
前記予測モジュール230は、前記予測情報に基づいてイントラ予測を適用するか、またはインター予測を適用するかを決定することができる。この場合、イントラ予測とインター予測のうちいずれかを適用するかを決定する単位は、予測サンプルを生成する単位と異なる。また、インター予測とイントラ予測において、予測サンプルを生成する単位も異なる。例えば、インター予測とイントラ予測のうちいずれかを適用するかは、CU単位で決定されることができる。また、例えば、インター予測において、予測モードをPU単位で決定し、予測サンプルを生成することができる。イントラ予測において、予測モードをPU単位で決定し、予測サンプルをTU単位で生成することもできる。
【0066】
イントラ予測の場合、前記予測モジュール230は、現在ピクチャ内の隣接参照サンプルに基づいて現在ブロックに対する予測サンプルを導出することができる。前記予測モジュール230は、現在ブロックの隣接参照サンプルに基づいて方向性モードまたは非方向性モードを適用することで現在ブロックに対する予測サンプルを導出することができる。この場合、隣接ブロックのイントラ予測モードを利用して現在ブロックに適用する予測モードが決定されることができる。
【0067】
インター予測の場合、前記予測モジュール230は、参照ピクチャ上の動きベクトルにより参照ピクチャ上で特定されるサンプルに基づいて現在ブロックに対する予測サンプルを導出することができる。前記予測モジュール230は、スキップ(skip)モード、マージ(merge)モード、またはMVPモードを適用することで現在ブロックに対する予測サンプルを導出することができる。このとき、前記エンコーディング装置に提供された現在ブロックのインター予測に必要な動き情報、例えば、動きベクトル、参照ピクチャインデックスなどに対する情報は、前記予測情報に基づいて取得または導出されることができる。
【0068】
スキップモードとマージモードの場合、隣接ブロックの動き情報が現在ブロックの動き情報として利用されることができる。この場合、隣接ブロックは、空間的隣接ブロックと時間的隣接ブロックを含むことができる。
【0069】
前記予測モジュール230は、利用可能な隣接ブロックの動き情報を利用してマージ候補リストを構成し、前記マージ候補リスト上でマージインデックスが指示する情報を現在ブロックの動きベクトルとして使用することができる。前記マージインデックスは、前記エンコーディング装置からシグナリングされることができる。前記動き情報は、動きベクトルと参照ピクチャを含むことができる。スキップモードとマージモードで時間的隣接ブロックの動き情報が利用される場合、前記参照ピクチャリスト上の最上位ピクチャが参照ピクチャとして利用されることができる。
【0070】
スキップモードの場合、マージモードとは違って前記予測サンプルと原本サンプルとの間の差(レジデュアル)が送信されない。
【0071】
MVPモードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として利用して現在ブロックの動きベクトルが導出されることができる。この場合、前記隣接ブロックは、空間的隣接ブロックと時間的隣接ブロックを含むことができる。
【0072】
例えば、マージモードが適用される場合、復元された空間的隣接ブロックの動きベクトル及び/または時間的隣接ブロックであるColブロックに対応する動きベクトルを利用することでマージ候補リストが生成されることができる。マージモードでは前記マージ候補リストから選択された候補ブロックの動きベクトルが現在ブロックの動きベクトルとして使われる。前記予測情報は、前記マージ候補リストに含まれている候補ブロックの中から選択された最適の動きベクトルを有する候補ブロックを指示するマージインデックスを含むことができる。このとき、前記予測モジュール230は、前記マージインデックスを利用することで現在ブロックの動きベクトルを導出することができる。
【0073】
他の例として、MVP(Motion Vector Prediction)モードが適用される場合、復元された空間的隣接ブロックの動きベクトル及び/または時間的隣接ブロックであるColブロックに対応する動きベクトルを利用することで動きベクトル予測子候補リストが生成される。即ち、復元された空間的隣接ブロックの動きベクトル及び/または時間的隣接ブロックであるColブロックに対応する動きベクトルは、動きベクトル候補として使われることができる。前記予測情報は、前記リストに含まれている動きベクトル候補の中から選択された最適の動きベクトルを指示する予測動きベクトルインデックスを含むことができる。
【0074】
このとき、前記予測モジュール230は、前記動きベクトルインデックスを利用することで、前記動きベクトル候補リストに含まれている動きベクトル候補の中から現在ブロックの予測動きベクトルを選択することができる。前記エンコーディング装置の前記予測モジュールは、現在ブロックの動きベクトルと前記動きベクトル予測子との間の動きベクトル差分(Motion Vector Difference、MVD)を求めることができ、MVDをビットストリーム形態で出力できる。即ち、MVDは、現在ブロックの動きベクトルから前記動きベクトル予測子を引いた値として求められる。この場合、前記予測モジュール230は、前記予測情報に含まれている前記動きベクトル差分を取得し、前記動きベクトル差分と前記動きベクトル予測子の加算を介して現在ブロックの前記動きベクトルを導出することができる。前記予測モジュールは、前記予測情報から参照ピクチャを指示する参照ピクチャインデックスなどを取得または導出することができる。
【0075】
前記加算器240は、レジデュアルサンプルと予測サンプルを加算することで現在ブロックまたは現在ピクチャを復元することができる。前記加算器240は、レジデュアルサンプルと予測サンプルをブロック単位で加算することで現在ピクチャを復元することができる。スキップモードが適用された場合、レジデュアルが送信されないため、予測サンプルが復元サンプルになることができる。ここで、前記加算器240を別途の構成で説明したが、前記加算器240は、前記予測モジュール230の一部であってもよい。一方、前記加算器240は、再構成モジュールまたは再構成ブロック生成部と呼ばれる。
【0076】
前記フィルタモジュール250は、デブロッキングフィルタ、サンプル適応型オフセット、及び/またはALFなどを前記復元ピクチャに適用できる。このとき、サンプル適応型オフセットは、サンプル単位で適用されることができ、デブロッキングフィルタリング以後に適用されることができる。ALFは、デブロッキングフィルタリング及び/またはサンプル適応型オフセット以後に適用されることができる。
【0077】
前記メモリ260は、復元ピクチャ(デコーディングされたピクチャ)またはデコーディングに必要な情報を格納することができる。ここで、前記復元ピクチャは、前記フィルタモジュール250によりフィルタリング手順が完了した復元ピクチャである。例えば、前記メモリ260は、インター予測に使われるピクチャを格納することができる。このとき、インター予測に使われるピクチャは、参照ピクチャセット(reference picture set)または参照ピクチャリスト(reference picture list)により指定されることができる。前記復元ピクチャは、他のピクチャに対する参照ピクチャとして利用されることができる。また、前記メモリ260は、前記復元ピクチャを出力順序によって出力できる。
【0078】
図3は、色度図(chromaticity diagram)の一例を示す。
【0079】
本実施例は、ビデオコーディングに関し、特に、規定されたまたは予想された輝度伝達関数、ビデオのダイナミックレンジ、及びコーディングブロックの輝度値のような与えられた条件によってビデオコーディングを最適化する技術に関する。
【0080】
本明細書で使われる“輝度伝達関数”は、光-電気伝達関数(optical-electro transfer function、OETF)または電気-光伝達関数(electro-optical transfer function、EOTF)と呼ばれる。光-電気伝達関数と電気-光伝達関数が互いに正確な逆関数ではないとしても、光-電気伝達関数は、逆電気-光伝達関数と呼ばれ、電気-光伝達関数は、逆光-電気伝達関数と呼ばれる。
【0081】
本明細書で記述される技術は、デジタルコードワードに対する輝度値のマッピングが同等な重要度で考慮されない時に発生する非最適(non-optimal)ビデオコーディング性能を補償するために使われることができる。例えば、実際にOETFは明るい領域に比べて暗い領域に(または、その反対に)一層多くのビットを許容する。この場合、全てのデジタルコードワードが同等な重要度でコーディングされる仮定に基づいて設計されたビデオエンコーダ/デコーダは、一般的に最適の方式にビデオコーディングを実行しない。
【0082】
本開示の技術は、ITU-T H.264標準及びITU-T H.265標準と関連して説明されるが、本開示の技術は、一般的にどのビデオコーディング標準にも適用が可能であることに留意しなければならない。
【0083】
ビデオ圧縮技術は、デジタルテレビ、デスクトップコンピュータ、携帯型コンピュータ、タブレットコンピュータ、デジタル記録装置、デジタルメディアプレイヤ、ビデオゲーム装置、スマートフォンなどを含む広範囲な装置に使われている。デジタルビデオは、ISO/IEC MPEG-4 AVCとして知られたITU-T H.264及び高効率ビデオコーディング(High Efficiency Video Coding、HEVC)のようなビデオコーディング標準によってコーディングされることができる。ビデオコーディング標準は、特定フォーマット(即ち、YUV420)がコーディングされることができるようにする。
【0084】
従来のデジタルビデオカメラは、各映像センサーにより生成された信号に対応する未加工データを初期に生成する。例えば、デジタル映像キャプチャ装置は、線形的に関連した輝度値のセットとして映像を記録する。しかし、人間の視力は、輝度値の線形的な変化を認識することができない。即ち、例えば、100cd/m2の輝度値と関連した映像の領域は、200cd/m2の輝度値と関連した映像の領域より必ず2倍明るいと認識される必要はない。このように、輝度伝達関数(例えば、光-電気伝達関数(OETF)または電気-光伝達関数(EOTF))は、線形輝度データを有意味な方式に認識されることができるデータに変換するときに使われることができる。光-電気伝達関数(OETF)は、絶対線形輝度値をデジタルコードワードに非線形方式にマッピングできる。その結果、デジタルコードワードは、ビデオコーディング標準によりサポートされるビデオフォーマットに変換されることができる。
【0085】
従来のテレビビデオ分配環境のような従来のビデオコーディング/ディスプレイシステムは、標準ダイナミックレンジ(Standard Dynamic Range、SDR)を提供し、一般的に約0.1乃至100cd/m2(たびたび“ニット(nit)”と呼ばれる)の明るさ範囲をサポートする。この範囲は、実生活で接する範囲より相当小さい。例えば、電球は、10,000cd/m2以上の明るさを有することができ、日光の表面は、数十万cd/m2以上の明るさを有することができ、それに対し、夜空は、0.005cd/m2以下の明るさを有することができる。
【0086】
最近、LCD及びOLEDディスプレイが広く使われてきたし、このような装置の技術は、一層高い輝度と広い色空間の再現を可能にする。多様なディスプレイの実現及び希望可能な明るさ及びダイナミックレンジは、従来の(SDR)キャプチャリング及び生成装置の明るさ及びダイナミックレンジと大きく異なる。例えば、コンテンツ生成システムは、1,000,000:1のコントラストを有するコンテンツを生成またはキャプチャすることができる。テレビ及びその他のビデオ分配環境は、実際の経験に近い視覚効果を提供してユーザに強い“現実感”を提供することと期待される。既存のSDRの明るさ(brightness)の範囲(0.1乃至100cd/m2)の代りに、一層高い明るさの範囲(0.005乃至10,000cd/m2)が考慮されることができる。例えば、0.01cd/m2の最小明るさ及び2,000cd/m2の最大明るさをサポートするディスプレイにHDRコンテンツが表示される時、そのディスプレイは、200,000:1のダイナミックレンジを有する。一つの場面のダイナミックレンジは、最大光強度対最小光強度の割合で説明されることができる。
【0087】
また、超高画質テレビ(Ultra High Definition Television、UHDTV)は、ユーザに“現実感”を提供することを目標とする。現在のTVより高いピーク明るさと一層大きいコントラスト値を有するコンテンツを生成、キャプチャリング及び表示しない場合、解像度を高めることだけではこのような目標を達成するに十分でない。また、現実感を高めようとする場合、現在一般的に使われる色領域(colour gamuts)、例えば、BT.709で提供することより豊富な色相をレンダリングしなければならない。したがって、新しいコンテンツは、数十倍大きい明るさとコントラストを有するだけでなく、相当広い色領域(例えば、BT.2020または将来的にはより広い色領域)を有する。多様な色領域範囲が
図3に示されている。
【0088】
この最新技術発展を超えて、HDR(High Dynamic Range)映像/ビデオ再生は、現在生産側と消費者側の両方ともに適した伝達関数(OETF/EOTF)を使用して達成できる。
【0089】
図4は、SDR及びHDR表現のための線形光値のマッピングの例を示す。
【0090】
伝達関数は、実数(浮動小数点)範囲[0.0,1.0]で入力と出力との間のマッピングとして説明できる。HDRデータに対応する輝度変換関数の一例は、いわゆるSMPTE(Society of Movie Picture and Television)HDR(High Dynamic Range)伝達関数を含み、これはSMPTE ST 2084と呼ばれる。HDRデータに対応する輝度変換関数の他の例は、HDR信号(ITU-R BT.2100ともいう)に対するハイブリッドログガンマ伝達関数を含む。具体的に、SMPTE HDR伝達関数は、EOTF及び逆EOTFを含む。SMPTE ST 2084逆EOTFは、以下の数式によって説明される。
【0091】
[数1]
Lc=R/10,000
【0092】
[数2]
V=((c1+c2*Lc
n)/(1+c3*Lc
n))m
【0093】
数式1及び数式2において、c1=c3-c2+1=3424/4096=0.8359375、c2=32*2413/4096=18.8515625、c3=32*2392/4096=18.6875、m=128*2523/4096=78.84375、n=0.25*2610/4096=0.1593017578125である。
【0094】
SMPTE ST 2084 EOTFは、以下の数式によって説明されることができる。
【0095】
[数3]
Lc=((max[(V1/m--c1)、0])/(c2-c3*V1/m))1/n
【0096】
[数4]
R=10,000*Lc
【0097】
前記数式において、Rは、0乃至10,000cd/m2の予想範囲を有する輝度値である。例えば、1と同じLcは、10,000cd/m2の輝度レベルに対応するためのものである。Rは、絶対線形輝度値を示すことができる。また、前記数式において、Vは、輝度値(または、知覚曲線値)と呼ばれる。OETFは、知覚曲線値をデジタルコードワードにマッピングできる。したがって、Vは、2N-ビットコードワードにマッピングされることができる。VをN-ビットコードワードにマッピングするときに使われることができる関数の例は、下記のように定義されることができる。
【0098】
[数5]
デジタル値=INT((2N-1)*V)
【0099】
数式5において、INT(x)は、0.5より小さい小数値を切り捨て、0.5より大きいまたは同じ小数値を切り上げて定数値を生成する。
【0100】
一つの説明例として、
図4は、BT.709スタイル伝達関数(緑色曲線)を有して0.1乃至100cd/m
2を示すことができる8ビットSDRシステムと、他の伝達関数(SMPTE ST 2084)を有して0.005乃至10,000cd/m
2を示すことができる10ビットHDRシステムを比較する。この図表は、概略的な図表である。この図表は、正確な形態の曲線を捕捉するものでなく、単に説明の目的のために表現される。
図4において、横軸は定数コードレベルを示し、縦軸は線形光値(log10に調整される)を示す。この例示的なマッピングは、フットルーム(foot-room)([0.0,1.0]の実数範囲未満の“負”のサンプル)とヘッドルーム(head-room)(実数1.0以上のサンプル)を全て収容するための従来のコードレベル範囲比率を含む。設計特性によって、ここに表示された10ビットHDR伝達関数は、既存の8ビットSDR伝達関数がSDR範囲で[16~235]のコードレベルを割り当てることより約2倍多くのコードレベル[119~509]を割り当て、また、明るさを拡張するために類似の個数の新しいコードレベル[510~940]を提供する。0.01cd/m
2未満の暗い光強度のために新しいコードレベル[64~118]が割り当てられる。
【0101】
ある意味で、ここに説明された10ビットHDRシステムは、既存のSDR強度範囲内でほぼ1個の追加ビット精度を割り当て、また、他の追加ビットを適用することで曲線を100cd/m2より大きい明るさ強度に拡張することによって、既存消費者側の8ビット“SDR”ビデオに追加2ビットを分配する。比較のために、10ビットSDR伝達関数も表示される(赤色ダッシュ曲線)。
【0102】
現在のビデオコーディング標準は、輝度伝達関数を考慮せずにビデオデータをコーディングすることができるが、コードワードの分布が輝度伝達関数に依存できるため、ビデオコーディング標準の性能は、輝度伝達関数により影響を受けることができる。例えば、ビデオコーディング標準は、各々のコードワードが一般的に人間視覚感度(HVS)の側面で同じ重要度でマッピングされるという仮定に基づいている。しかし、各々のコードワードは、実際に同じ重要度でマッピングされない。利用可能な多くの伝達関数が存在し、各伝達関数は、固有のマッピング規則を有している。したがって、このような理由によって、HEVCのようなビデオコーダの性能が最適化されない。例えば、後述するように、量子化パラメータ値に基づくHEVC及び既存のビデオ圧縮システム技術は、コードワードの全体範囲を輝度値にかかわらず同じ重要性で量子化するため、コーディングが最適に実行されない。
【0103】
一方、HDRビデオ処理/コーディングをサポートするための標準に対する一部の例が表1に説明されている。
【0104】
【0105】
図5は、一実施例に係るピクチャ復元プロセスを示すフローチャートである。
【0106】
ビデオコンテンツは、一般的にピクチャ/フレームグループ(GOP)で構成されたビデオシーケンスを含む。各々のビデオフレームまたはピクチャは、多数のスライスを含むことができ、スライスは、複数のビデオブロックを含む。ビデオブロックは、予測的にコーディングされることができるピクセル値の最大アレイ(サンプルともいう)として定義されることができる。ビデオエンコーダ/デコーダは、ビデオブロック及びビデオブロックのサブ分割に予測コーディングを適用する。ITU-T H.264は、16×16ルマサンプルを含むマクロブロックを特定する。ITU-T H.265(または、一般的にHEVCという)は、ピクチャが同じ大きさのCTUに分割されることができ、各CTUが16×16、32×32、または64×64のルマサンプルを有するコーディングブロック(CB)を含むことができる類似のコーディングツリーユニット(Coding Tree Unit、CTU)構造を特定する。HEVC以外の探索モデルであるJEMにおいて、CTUは、128×128、128×64、128×32、64×64、または16×16のルマサンプルを有するコーディングブロックを含むことができる。ここで、コーディングブロック、予測ブロック、及び変換ブロックは、互いに同じである。具体的に、コーディングブロック(予測ブロック及び変換ブロック)は、正方形または非正方形ブロックである。
【0107】
一実施例によると、デコーディング装置は、ビットストリームを受信し(S500)、エントロピーデコーディングを実行し(S510)、逆量子化を実行し(S520)、逆変換を実行するかどうかを決定し(S530)、逆変換を実行し(S540)、予測を実行し(S550)、復元サンプルを生成する(S560)。実施例に対するより具体的な説明は、下記の通りである。
【0108】
前述したように、予測シンタックスエレメントは、予測シンタックスエレメントのコーディングブロックを対応する参照サンプルと関連付けることができる。例えば、イントラ予測コーディングのために、イントラ予測モードは、参照サンプルの位置を特定することができる。ITU-T H.265で、ルマコンポーネントに対して可能なイントラ予測モードは、平面予測モード(predMode:0)、DC予測モード(predMode:1)、及び多重(複数の、multiple)角度予測モード(predMode:2-N、ここで、Nは、34または65以上)を含む。一つ以上のシンタックスエレメントは、前記イントラ予測モードのうち一つを識別することができる。インター予測コーディングのために、モーションベクトル(MV)は、コーディングされるコーディングブロックのピクチャ以外のピクチャで参照サンプルを識別することによってビデオでの時間的重複性を活用する。例えば、現在コーディングブロックは、以前にコーディングされたフレームに位置した参照ブロックから予測されることができ、モーションベクトルは、参照ブロックの位置を示すために使われることができる。モーションベクトル及び関連データは、例えば、モーションベクトルの水平成分、モーションベクトルの垂直成分、モーションベクトルに対する解像度(例えば、1/4ピクセル精度)、予測方向、及び/または参照ピクチャインデックス値を記述することができる。また、例えば、HEVCのようなコーディング標準は、モーションベクトル予測をサポートすることができる。モーションベクトル予測は、隣接ブロックのモーションベクトルを利用してモーションベクトルが特定されることができるようにする。
【0109】
ビデオエンコーダは、ソースビデオブロックから予測ビデオブロックを減算することでレジデュアルデータを生成することができる。前記予測ビデオブロックは、イントラ予測またはインター(モーションベクトル)予測されることができる。前記レジデュアルデータは、ピクセルドメインで得られる。変換係数は、離散コサイン変換(DCT)、離散サイン変換(DST)、または概念的に類似の変換のような変換を前記レジデュアルブロックに適用して得られ、それによって、レジデュアル変換係数のセットが算出される。変換係数生成器は、レジデュアル変換係数を係数量子化部に出力できる。
【0110】
量子化パラメータ(Quantization Parameter、QP)導出プロセスは、下記のように要約される。
【0111】
1番目のステップは、ルマQPを導出するステップであり、a)以前にコーディングされた(使用可能な)量子化パラメータに基づいて予測ルマ量子化パラメータ(qPY_PRED)を探すステップと、b)予測QP(前記a)で取得)と実際QPとの間の差を示すcu_delta_QPオフセットを取得するステップと、c)ビット深さ、予測QP、及びcu_delta_QPに基づいてルマQP値を決定するステップを含む。
【0112】
2番目のステップは、クロマQPを導出するステップであり、a)クロマQPをルマQPで導出するステップと、b)クロマQPオフセットをPPSレベルオフセット(即ち、pps_cb_qp_offset、pps_cr_qp_offset)及びスライスレベルクロマQPオフセット(即ち、slice_cb_qp_offset、slice_cr_qp_offset)から探すステップを含む。
【0113】
次に、前記で言及したプロセスの詳細である。
【0114】
前記予測ルマ量子化パラメータqPY_PREDは、下記のように導出される。
【0115】
[数6]
qPY_PRED=(qPY_A+qPY_B+1)>>1
【0116】
前記変数qPY_A及び前記変数qPY_Bは、以前量子化グループからの量子化パラメータを示す。ここで、qPY_Aは、ルマコーディングブロックカバーリング(xQg-1,yQg)を含むコーディングユニットのルマ量子化パラメータと同じに設定される。ここで、ルマ位置(xQg,yQg)は、現在ピクチャの左上側(top-left)ルマサンプルに対する現在量子化グループの左上側ルマサンプルを示す。ここで、前記変数qPY_A及び前記変数qPY_Bは、以前量子化グループからの量子化パラメータを示す。具体的に、前記qPY_Aは、ルマコーディングブロックカバーリング(xQg-1,yQg)を含むコーディングユニットのルマ量子化パラメータと同じに設定される。ここで、ルマ位置(xQg,yQg)は、現在ピクチャの左上側(top-left)ルマサンプルに対する現在量子化グループの左上側ルマサンプルを示す。前記変数qPY_Bは、ルマコーディングブロックカバーリング(xQg,yQg-1)を含むコーディングユニットのルマ量子化パラメータQpYと同じに設定される。前記変数qPY_Aまたは前記変数qPY_Bが利用されることができない場合、qPY_PREVと同じに設定される。ここで、qPY_PREVは、以前量子化グループ内のデコーディング順序で最後のコーディングユニットのルマ量子化パラメータQpYと同じに設定される。
【0117】
qPY_PREDが決定されると、下記のようにCuQpDeltaValを追加してルマ量子化パラメータがアップデートされる。
【0118】
[数7]
QpY=((qPY_PRED+CuQpDeltaVal+52+2*QpBdOffsetY)%(52+QpBdOffsetY))-QpBdOffsetY
【0119】
ここで、CuQpDeltaVal値は、cu_qp_delta_abs及びcu_qp_delta_sign_flagのような二つのシンタックスエレメントを介してビットストリームで送信される。QpBdOffsetYは、ルマ量子化パラメータ範囲オフセットの値を示し、下記のようにbit_depth_luma_minus8(即ち、ルマのビット深さ-8)に依存する。
【0120】
[数8]
QpBdOffsetY=6*bit_depth_luma_minus8
【0121】
最終的にルマ量子化パラメータQp′Yは、下記のように導出される。
【0122】
[数9]
ルマ量子化パラメータQp′Y=QpY+QpBdOffsetY
【0123】
クロマQPは、下記のようにPPSレベルオフセット(pps_cb_qp_offset、pps_cr_qp_offset)及びスライスレベルオフセット(slice_cb_qp_offset、slice_cr_qp_offset)を考慮したルマQPから導出される。
【0124】
[数10]
qPiCb=Clip3(-QpBdOffsetC、57、QpY+pps_cb_qp_offset+slice_cb_qp_offset)
qPiCr=Clip3(-QpBdOffsetC、57、QpY+pps_cr_qp_offset+slice_cr_qp_offset)
【0125】
前記qPiCb及び前記qPiCrは、以下の表2及び表3に基づいて各々qPCb及びqPCrにアップデートされる。
【0126】
【0127】
表2は、qPiCbからqPCbへのマッピングを示す。
【0128】
【0129】
表3は、qPiCrからqPCrへのマッピングを示す。
【0130】
最後に、Cb及びCr成分、Qp′Cb及びQp′Crに対するクロマ量子化パラメータは、下記のように導出される。
【0131】
[数11]
Qp′Cb=qPCb+QpBdOffsetC
Qp′Cr=qPCr+QpBdOffsetC
【0132】
QpBdOffsetCは、クロマ量子化パラメータ範囲オフセットの値を示し、下記のようにbit_depth_chroma_minus8(即ち、クロマのビット深さ-8)に依存する。
【0133】
[数12]
QpBdOffsetC=6*bit_depth_chroma_minus8
【0134】
一方、表4は、本明細書で使われるシンタックスエレメントの定義を示す。
【0135】
【0136】
図6は、他の実施例に係るピクチャ復元プロセスを示すフローチャートである。
【0137】
S600、S610、及びS630乃至S670は、
図5のS500乃至S560に対応するため、前述した説明と重複する詳細説明は、省略または簡略化する。
【0138】
一実施例によると、デコーディング装置は、ビットストリームを受信し(S600)、エントロピーデコーディングを実行し(S610)、逆量子化を実行し(S630)、逆変換を実行するかどうかを決定し(S640)、逆変換を実行し(S650)、予測を実行し(S660)、復元サンプルを生成する(S670)。また、デコーディング装置は、エントロピーデコーディングに基づいてQPオフセットを導出し(S620)、導出されたQPオフセットに基づいて逆量子化を実行することができる。
【0139】
S620は、下記のように示すことができる。以下で、前記QPオフセットは、“Luma_avg_qp”で表現されることができる。
【0140】
qPY_PREDが決定されると、下記のようにLuma_avg_qpを追加することによってルマ量子化パラメータをアップデートすることができる。
【0141】
[数13]
QpY=((qPY_PRED+CuQpDeltaVal+Luma_avg_qp+52+2*QpBdOffsetY)%(52+QpBdOffsetY))-QpBdOffsetY
【0142】
一例として、Luma_avg_qpは、既にデコーディングされて利用可能な隣接ピクセル(または、ブロック)のルマ値から導出(または、推定)されることができる。Luma_avg_qpは、あらかじめ定義された導出規則に基づいて隣接ピクセル値から決定されることができる。例えば、Luma_avg_qpは、下記のように導出されることができる。
【0143】
[数14]
Luma_avg_qp=A*(avg_luma-M)+B
【0144】
数式14において、avg_lumaは、利用可能な(デコーディングされた)隣接ピクセル(または、ブロック)から得た予想平均ルマ値である。
【0145】
Mは、ビット深さによってあらかじめ定義された値である。
【0146】
Aは、ピクセル値の差をqpの差にマッピングするためのスケーリング係数であり(あらかじめ定義され、またはビットストリームで送信されることができる)、qpマッピングの傾きを示す。
【0147】
Bは、あらかじめ定義され、またはビットストリームで送信されることができるオフセット値である。
【0148】
avg_luma値からのLuma_avg_qp導出は、複数の数式のうち一つの数式により制限されない。他の例として、Luma_avg_qpは、下記のようにテーブルマッピングから取得されることができる。
【0149】
[数15]
Luma_avg_qp=Mapping_Table_from_luma_to_QP[avg_luma]
【0150】
ここで、avg_lumaは、テーブルに入力され、テーブルの出力は、Luma_avg_qpである。テーブルの大きさを減らすために、入力値(avg_luma)範囲は、下記のように一層減少されることができる。
【0151】
[数16]
Luma_avg_qp=Mapping_Table_from_luma_to_QP[avg_luma/D]
【0152】
ここで、Dは、入力値の範囲を減らすためにあらかじめ定義された定数値である。
【0153】
一実施例において、QPに対する情報に基づいてLuma_avg_qpが導出されることができる。デコーディング装置は、ビットストリームからQPに対する情報を取得することができる。一例として、QPに対する情報は、init_qp_minus26、slice_qp_delta、slice_cb_qp_offset、slice_cr_qp_offset、cu_qp_delta_abs、及びcu_qp_delta_sign_flagを含むことができる。また、QPに対する情報は、前記列挙された例により制限されない。
【0154】
図7は、一実施例に係るエンコーディング装置の動作を示すフローチャートであり、
図8は、一実施例に係るエンコーディング装置の構成を示すブロック図である。
【0155】
図7に示す各ステップは、
図1に示す前記エンコーディング装置100により実行されることができる。より具体的に、S700乃至S730は、
図1に示す前記量子化モジュール123により実行されることができ、S740は、
図1に示す前記エントロピーエンコーディングモジュール130により実行されることができる。また、S700乃至S740による動作は、
図6で詳述された一部説明に基づいている。したがって、
図1及び
図6で説明された内容と重複する詳細説明は、省略または簡略化する。
【0156】
図8に示すように、一実施例に係るエンコーディング装置は、量子化モジュール123及びエントロピーエンコーディングモジュール130を含むことができる。しかし、場合によって、
図8に示す全ての構成要素が必須的に備えられないこともあり、前記エンコーディング装置は、
図8に示す構成要素より多いまたは少ない構成要素で実装されることもできる。
【0157】
一実施例に係る前記デコーディング装置での前記量子化モジュール123及び前記エントロピーエンコーディングモジュール130は、別途のチップで実装されることもでき、少なくとも二つ以上の構成要素が一つのチップを介して実装されることもできる。
【0158】
一実施例に係る前記エンコーディング装置は、利用可能な隣接サンプルから現在ブロックの予想平均ルマ値を導出することができる(S700)。より具体的に、前記エンコーディング装置の前記量子化モジュール123は、利用可能な隣接サンプルから現在ブロックの予想平均ルマ値を導出することができる。
【0159】
一実施例に係る前記エンコーディング装置は、前記予想平均ルマ値及びQPに対する情報に基づいてルマQPを導出するためのQPオフセットを導出することができる(S710)。より具体的に、前記エンコーディング装置の前記量子化モジュール123は、予想平均ルマ値及びQPに対する情報に基づいてルマQPを導出するためのQPオフセットを導出することができる。
【0160】
一実施例に係る前記エンコーディング装置は、前記QPオフセットに基づいてルマQPを導出することができる(S720)。より具体的に、前記エンコーディング装置の前記量子化モジュール123は、前記QPオフセットに基づいてルマQPを導出することができる。
【0161】
一実施例に係る前記エンコーディング装置は、前記導出されたルマQPに基づいて現在ブロックを含む量子化グループに対する量子化を実行することができる(S730)。より具体的に、前記エンコーディング装置の前記量子化モジュール123は、前記導出されたルマQPに基づいて現在ブロックを含む量子化グループに対する量子化を実行することができる。
【0162】
一実施例に係る前記エンコーディング装置は、QPに対する情報を含む映像情報をエンコーディングすることができる(S740)。より具体的に、前記エントロピーエンコーディングモジュール130は、QPに対する情報を含む映像情報をエンコーディングすることができる。
【0163】
図7及び
図8を参照すると、一実施例に係る前記エンコーディング装置は、利用可能な隣接サンプルから現在ブロックの予想平均ルマ値を導出し(S700)、前記予想平均ルマ値及びQPに対する情報に基づいてルマQPを導出するためのQPオフセットを導出し(S710)、前記QPオフセットに基づいてルマQPを導出し(S720)、前記導出されたルマQPに基づいて現在ブロックを含む量子化グループに対する量子化を実行し(S730)、QPに対する情報を含む映像情報をエンコーディングする(S740)。結果的に、量子化パラメータが効率的に導出されることができ、全体コーディング効率が向上されることができる。
【0164】
図9は、一実施例に係るデコーディング装置の動作を示すフローチャートであり、
図10は、一実施例に係るデコーディング装置の構成を示すブロック図である。
【0165】
図9に示す各ステップは、
図2に示す前記デコーディング装置200により実行されることができる。より具体的に、S900は、
図2に示す前記エントロピーデコーディングモジュール210により実行されることができ、S910乃至S940は、
図2に示す前記逆量子化モジュール222により実行されることができ、S950は、
図2に示す前記逆変換モジュール223により実行されることができ、S960は、
図2に示す前記予測モジュール230により実行されることができ、S970は、
図2に示す前記加算器240により実行されることができる。また、S900乃至S970による動作は、
図6で詳述された一部説明に基づいている。したがって、
図2及び
図6で説明された内容と重複する詳細説明は、省略または簡略化する。
【0166】
図10に示すように、一実施例に係るデコーディング装置は、エントロピーデコーディングモジュール210、逆量子化モジュール222、逆変換モジュール223、予測モジュール230、及び加算器240を含むことができる。しかし、場合によって、
図10に示す全ての構成要素が必須的に備えられないこともあり、前記エンコーディング装置は、
図10に示す構成要素より多いまたは少ない構成要素で実装されることもできる。
【0167】
一実施例に係る前記デコーディング装置において、前記エントロピーデコーディングモジュール210、前記逆量子化モジュール222、前記逆変換モジュール223、前記予測モジュール230、及び前記加算器240は、別途のチップで実装されることもでき、少なくとも二つ以上の構成要素が一つのチップを介して実装されることもできる。
【0168】
一実施例に係る前記デコーディング装置は、QPに対する情報を含む映像情報をデコーディングすることができる(S900)。より具体的に、前記デコーディング装置の前記エントロピーデコーディングモジュール210は、QPに対する情報を含む映像情報をデコーディングすることができる。
【0169】
一実施例において、QPに対する情報は、シーケンスパラメータセット(Sequence Parameter Set、SPS)レベルでシグナリングされる。
【0170】
一実施例において、前記映像情報は、有効データ範囲パラメータ(Effective Data Range Parameters、EDRP)に対する情報を含み、前記EDRPに対する情報は、最小入力値、最大入力値、入力値のダイナミックレンジ、最小入力値を明るさと関連付けるためのマッピング情報、最大入力値を明るさと関連付けるためのマッピング情報、及び伝達関数の識別情報のうち少なくともいずれか一つを含む。この方法は、範囲マッチングにより示すことができる。
【0171】
より具体的に、本開示は、コードワード(入力値)の範囲が制限された映像/ビデオコンテンツを効率的にコーディングするために利用されることができる。これはHDRコンテンツでたびたび発生し(occur)、その理由は、HDRコンテンツが高い輝度をサポートする伝達関数を使用するためである。また、これはHDRデータに該当する輝度変換関数を利用してSDRデータを変換する時にも発生できる。このような場合、ビデオエンコーダは、有効データ範囲パラメータ(EDRP)をシグナリングするように構成されることができる。デコーダは、ビデオデータと関連したEDRPを受信し、デコーディングプロセスで前記EDRPデータを利用するように構成されることができる。EDRPデータは、例えば、最小入力値、最大入力値、入力値のダイナミックレンジ(最大入力値と最小入力値との差を示す)、最小入力値とそれに相応する明るさとの間のマッピング情報、最大入力値とそれに相応する明るさとの間のマッピング情報、伝達関数識別(知られた伝達関数は、割り当てられたID番号により識別されることができ、各伝達関数に対する詳細なマッピング情報が利用されることができる)などを含む。
【0172】
例えば、EDRPデータは、スライスヘッダ、ピクチャパラメータセット(PPS)、またはシーケンスパラメータセット(SPS)でシグナリングされることができる。このような方式に、デコーディングプロセスが実行される間に、EDRPデータは、コーディングされた値を追加で修正するときに使われることができる。
【0173】
本発明は、量子化パラメータの追加的な調整を特定するために品質制御パラメータ(QCP)を導入する。デコーダは、ビデオデータと関連したQCPを受信し、デコーディングプロセスでQCPデータを利用するように構成されることができる。
【0174】
一実施例に係る前記デコーディング装置は、利用可能な隣接サンプルから現在ブロックの予想平均ルマ値を導出することができる(S910)。より具体的に、前記デコーディング装置の前記逆量子化モジュール222は、利用可能な隣接サンプルから現在ブロックの予想平均ルマ値を導出することができる。
【0175】
一実施例に係る前記デコーディング装置は、前記予想平均ルマ値及びQPに対する情報に基づいてルマQPを導出するためのQPオフセットを導出することができる(S920)。より具体的に、前記デコーディング装置の前記逆量子化モジュール222は、予想平均ルマ値及びQPに対する情報に基づいてルマQPを導出するためのQPオフセットを導出することができる。
【0176】
一実施例において、前記QPオフセットは、以下の数式に基づいて導出される。
【0177】
[数17]
Luma_avg_qp=A*(avg_luma-M)+B
【0178】
前記数式17において、Luma_avg_qpはQPオフセットを示し、avg_lumaは予想平均ルマ値を示し、Aはピクセル値の差をQPの差にマッピングするためのスケーリング係数を示し、Mはビット深さと関連したあらかじめ定義された値を示し、Bはオフセット値を示し、A及びBは所定の値または前記映像情報に含まれている値である。
【0179】
一実施例において、前記QPオフセットは、前記予想平均ルマ値に基づくマッピングテーブルから導出され、前記マッピングテーブルは、前記予想平均ルマ値を入力として利用して決定される。
【0180】
一実施例において、前記QPオフセットは、前記予想平均ルマ値に基づくマッピングテーブルから導出され、前記マッピングテーブルは、前記予想平均ルマ値をあらかじめ定義された定数値で除算して得られた値を利用して決定される。
【0181】
一実施例において、利用可能な隣接サンプルは、量子化グループの左側境界に隣接した少なくとも一つのルマサンプルと、量子化グループの上側境界に隣接した少なくとも一つのルマサンプルのうち少なくとも一つを含む。
【0182】
一実施例において、量子化グループの左側境界に隣接した少なくとも一つのルマサンプルは、量子化グループの左側境界に直接隣接したルマサンプル列に含まれ、量子化グループの上側境界に隣接した少なくとも一つのルマサンプルは、量子化グループの上側境界に直接隣接したルマサンプル行に含まれる。
【0183】
一実施例において、利用可能な隣接サンプルは、量子化グループの左上側サンプルの左側に隣接したルマサンプルを含み、利用可能な隣接サンプルは、量子化グループの左上側サンプルの上側に隣接したルマサンプルを含む。
【0184】
一実施例において、利用可能な隣接サンプルは、復元された隣接サンプル、復元された隣接ブロックのうち少なくとも一つのブロックに含まれているサンプル、予測隣接サンプル、及び予測隣接ブロックのうち少なくとも一つのブロックに含まれているサンプルのうち少なくとも一つを含む。
【0185】
一実施例において、avg_lumaは、隣接ピクセル値(ブロック)から導出されることができ、avg_lumaは、利用可能な(既にデコーディングされた)隣接ピクセル(または、ブロック)から取得された予想平均ルマ値を示す。
【0186】
i)利用可能な隣接ピクセルは、下記を含むことができる。
【0187】
-利用可能な隣接ピクセルは、(xQg-1,yQg+K)に位置したピクセルを含む。ここで、ルマ位置(xQg,yQg)は、現在ピクチャの左上側ルマサンプルに対する現在量子化グループの左上側ルマサンプルを示す(現在ブロックの最も左側のライン)。
【0188】
-利用可能な隣接ピクセルは、(xQg+K,yQg-1)に位置したピクセルを含む。ここで、ルマ位置(xQg,yQg)は、現在ピクチャの左上側ルマサンプルに対する現在量子化グループの左上側ルマサンプルを示す(現在ブロックの最も上側のライン)。
【0189】
-一つのラインの代わりに複数のラインが利用されることができる。
【0190】
ii)利用可能な隣接ブロックを使用してavg_lumaを計算することができる。
【0191】
-(xQg-1,yQg)に位置したピクセルを含むブロックが使われることができる。
【0192】
-(xQg,yQg-1)に位置したピクセルを含むブロックが使われることができる。
【0193】
iii)Avg_luma値は、復元された隣接ピクセル/ブロックに基づいて計算されることができる。
【0194】
iv)Avg_luma値は、予測隣接ピクセル/ブロックに基づいて計算されることができる。
【0195】
一実施例において、QPに対する情報は、QPオフセットと関連した少なくとも一つのシンタックスエレメントを含み、予想平均ルマ値とQPに対する情報のうち少なくとも一つに基づいてQPオフセットを導出するステップは、QPオフセットと関連した少なくとも一つのシンタックスエレメントに基づいてQPオフセットを導出するステップを含む。
【0196】
Luma_avg_qpを考慮するために新しいシンタックスエレメントが導入されることができる。例えば、Luma_avg_qp値は、ビットストリームを介して送信されることができる。Luma_avg_qp値は、Luma_avg_qp_abs及びLuma_avg_qp_flagのような二つのシンタックスエレメントを介して示すことができる。
【0197】
Luma_avg_qpは、2個のシンタックスエレメント(luma_avg_qp_delta_abs及びluma_avg_qp_delta_sign_flag)により示すことができる。
【0198】
luma_avg_qp_delta_absは、現在コーディングユニットのルマ量子化パラメータと輝度を考慮せずに導出されたルマ量子化パラメータとの差であるCuQpDeltaLumaValの絶対値を示す。
【0199】
luma_avg_qp_delta_sign_flagは、下記のようにCuQpDeltaLumaValの符号を示す。
【0200】
luma_avg_qp_delta_sign_flagが0である場合、該当CuQpDeltaLumaValは正数値である。
【0201】
そうでない場合(luma_avg_qp_delta_sign_flagが1である場合)、該当CuQpDeltaLumaValは負の値である。
【0202】
luma_avg_qp_delta_sign_flagが存在しない場合、0と同じであると推定される。
【0203】
luma_avg_qp_delta_sign_flagが存在する場合、変数IsCuQpDeltaLumaCoded及び変数CuQpDeltaLumaValは、下記のように導出される。
【0204】
[数18]
IsCuQpDeltaLumaCoded=1
CuQpDeltaLumaVal=cu_qp_delta_abs*(1-2*luma_avg_qp_delta_sign_flag)
【0205】
CuQpDeltaLumaValは、Luma_avg_qpを含むコーディングユニットに対するルマ量子化パラメータとLuma_avg_qpを含まないコーディングユニットに対するルマ量子化パラメータとの差を示す。
【0206】
一実施例において、前記説明されたシンタックスエレメントは、量子化グループレベル(または、量子化ユニットレベル)(例えば、CU、CTU、またはあらかじめ定義されたブロックユニット)で送信されることができる。
【0207】
一実施例に係る前記デコーディング装置は、前記QPオフセットに基づいてルマQPを導出することができる(S930)。より具体的に、前記デコーディング装置の前記逆量子化モジュール222は、前記QPオフセットに基づいてルマQPを導出することができる。
【0208】
一実施例に係る前記デコーディング装置は、前記導出されたルマQPに基づいて現在ブロックを含む量子化グループに対する逆量子化を実行することができる(S940)。より具体的に、前記デコーディング装置の前記逆量子化モジュール222は、前記導出されたルマQPに基づいて現在ブロックを含む量子化グループに対する逆量子化を実行することができる。
【0209】
一実施例において、前記デコーディング装置は、少なくとも一つのクロマQPマッピングテーブルに基づいて前記導出されたルマQPからクロマQPを導出し、前記導出されたルマQP及び前記導出されたクロマQPに基づいて量子化グループに対する逆量子化を実行することができる。ここで、少なくとも一つのクロマQPマッピングテーブルは、クロマのダイナミックレンジ及び前記QPオフセットに基づいている。
【0210】
一実施例において、一つのクロマQPマッピングテーブルの代りに、多数のクロマQP導出テーブルが存在できる。利用するQPマッピングテーブルを特定するために追加情報が必要である。次は、クロマQP導出テーブルの他の例である。
【0211】
【0212】
一実施例において、少なくとも一つのクロマQPマッピングテーブルは、少なくとも一つのCb-QPマッピングテーブル及び少なくとも一つのCr-QPマッピングテーブルを含む。一実施例に係る前記デコーディング装置は、逆量子化に基づいて現在ブロックに対するレジデュアルサンプルを生成することができる(S950)。より具体的に、前記デコーディング装置の前記逆変換モジュール223は、逆量子化に基づいて現在ブロックに対するレジデュアルサンプルを生成することができる。
【0213】
一実施例に係る前記デコーディング装置は、前記映像情報に基づいて現在ブロックに対する予測サンプルを生成することができる(S960)。より具体的に、前記デコーディング装置の前記予測モジュール230は、前記映像情報に基づいて現在ブロックに対する予測サンプルを生成することができる。
【0214】
一実施例に係る前記デコーディング装置は、現在ブロックに対するレジデュアルサンプル及び現在ブロックに対する予測サンプルに基づいて現在ブロックに対する復元サンプルを生成することができる(S970)。より具体的に、前記デコーディング装置の前記加算器は、現在ブロックに対するレジデュアルサンプル及び現在ブロックに対する予測サンプルに基づいて現在ブロックに対する復元サンプルを生成することができる。
【0215】
図9及び
図10を参照すると、一実施例に係る前記デコーディング装置は、QPに対する情報を含む映像情報をデコーディングし(S900)、利用可能な隣接サンプルから現在ブロックの予想平均ルマ値を導出し(S910)、前記予想平均ルマ値及びQPに対する情報に基づいてルマQPを導出するためのQPオフセットを導出し(S920)、前記QPオフセットに基づいてルマQPを導出し(S930)、前記導出されたルマQPに基づいて現在ブロックを含む量子化グループに対する逆量子化を実行し(S940)、逆量子化に基づいて現在ブロックに対するレジデュアルサンプルを生成し(S950)、前記映像情報に基づいて現在ブロックに対する予測サンプルを生成し(S960)、現在ブロックに対するレジデュアルサンプル及び現在ブロックに対する予測サンプルに基づいて現在ブロックに対する復元サンプルを生成する(S970)。結果的に、量子化パラメータが効率的に導出されることができ、コーディング効率全体が向上されることができる。
【0216】
前述した本発明による方法は、ソフトウェアで実装されることができ、本発明による前記エンコーディング装置及び/または前記デコーディング装置は、TV、コンピュータ、スマートフォン、ディスプレイ装置のような映像処理装置に含まれることができる。
【0217】
本発明の実施例がソフトウェアで実装される場合、前述した方法は、前述した機能を遂行するモジュール(プロセス、機能等)により実装されることができる。前記モジュールは、メモリに格納されてプロセッサにより実行されることができる。前記メモリは、前記プロセッサの内部または外部に備えられることができ、知られた多様な手段によりプロセッサに連結されることができる。前記プロセッサは、特定用途向け集積回路(application specific integrated circuit、ASIC)、他のチップセット、論理回路、及び/またはデータ処理装置を含むことができる。前記メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体、及び/または他の格納装置を含むことができる。
【手続補正書】
【提出日】2024-02-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコーディング装置がピクチャをデコーディングする方法であって、
ビットストリームからQP(quantization parameter)に関連した情報を含む映像情報を取得するステップであって、前記QPに関連した前記情報は、ルマQPに関連した情報を含み、前記ルマQPに関連した情報は、QPデルタ値の絶対値についての情報と、前記QPデルタ値の符号についての情報を含む、ステップと、
前記ルマQPに関連した前記情報に基づいて前記ルマQPを導出するステップと、
Cb成分に対する第1クロマQPと、Cr成分に対する第2クロマQPとを含むクロマQPを導出するステップと、
前記ルマQP及び前記クロマQPに基づいて、現在ブロックに逆量子化をすることにより、前記現在ブロックの残差(residual)サンプルを生成するステップと、
前記現在ブロックの残差(residual)サンプルに基づいて、再構成ピクチャを生成するステップと、を含み、
前記ルマQPは、予測されたルマQPと前記QPデルタ値に基づいて導出され、
前記QPデルタ値は、前記QPデルタ値の絶対値についての情報と前記QPデルタ値の符号についての情報に基づいて、導出され、
前記クロマQPを導出するステップは、
前記ルマQPと前記Cb成分に対する第1クロマQPマッピングテーブルに基づいて、前記Cb成分に対する前記第1クロマQPを導出するステップと、
前記ルマQPと前記Cb成分に対する第2クロマQPマッピングテーブルに基づいて、前記Cb成分に対する前記第2クロマQPを導出するステップと、を含み、
前記第1クロマQPマッピングテーブルの入力と前記第2クロマQPマッピングテーブルの入力の両方が、前記ルマQPに基づき、
前記Cb成分に対する前記第1クロマQPマッピングテーブルは、前記Cr成分に対する前記第2クロマQPマッピングテーブルから離れたマッピングテーブルであり、
前記Cb成分に対する前記第1クロマQPマッピングテーブルは、前記Cr成分に対する前記第2クロマQPマッピングテーブルとは異なる、方法。
【請求項2】
前記QPに関連する前記情報は、SPS(Sequence Parameter Set)レベル、スライスレベル又はコーディングユニットレベルの少なくとも一つからシグナリングされる、請求項1に記載の方法。
【請求項3】
前記Cb成分に対する前記第1クロマQPは、前記SPSレベルからシグナルされた前記Cb成分に対する第1PPSオフセットと、前記スライスレベルからシグナルされた前記Cb成分に対する第1スライスオフセットに基づいてさらに導出され、
前記Cr成分に対する前記第2クロマQPは、前記SPSレベルからシグナルされた前記Cr成分に対する第2PPSオフセットと、前記スライスレベルからシグナルされた前記Cr成分に対する第2スライスオフセットに基づいてさらに導出される、請求項2に記載の方法。
【請求項4】
前記映像情報は、EDRP(Effective Data Range Parameter)についての情報を含み、
前記EDRPについての前記情報は、最小入力値、最大入力値、入力値のダイナミックレンジ、前記最小入力値と明るさを関連付けるためのマッピング情報、前記最大入力値と明るさを関連付けるためのマッピング情報、及び伝達関数の識別情報の少なくとも一つを含む、請求項1に記載の方法。
【請求項5】
ピクチャをエンコーディングする方法であって、
現在ブロックに対するルマQP(quantization parameter)を導出するステップと、
前記現在ブロックに対する、Cb成分に対する第1クロマQPと、Cr成分に対する第2クロマQPとを含む、クロマQPを導出するステップと、
前記ルマQPと前記クロマQPに基づいて、前記現在ブロックについての量子化を実行するステップと、
QPに関連する情報を生成するステップと、
前記QPに関連する前記情報を含む映像情報をエンコーディングするステップと、
前記QPに関連する前記情報は、前記ルマQPに関連する情報を含み、
前記ルマQPに関連する前記情報は、QPデルタ値の絶対値についての情報と、前記QPデルタ値の符号についての情報を含み、
前記ルマQPは、予測されるルマQPと前記QPデルタ値に基づいて表され、
前記クロマQPを導出するステップは、
前記ルマQPと前記Cb成分に対する第1クロマQPマッピングテーブルに基づいて、前記Cb成分に対する前記第1クロマQPを導出するステップと、
前記ルマQPと前記Cb成分に対する第2クロマQPマッピングテーブルに基づいて、前記Cb成分に対する前記第2クロマQPを導出するステップと、を含み、
前記第1クロマQPマッピングテーブルの入力と前記第2クロマQPマッピングテーブルの入力の両方が、前記ルマQPに基づき、
前記Cb成分に対する前記第1クロマQPマッピングテーブルは、前記Cr成分に対する前記第2クロマQPマッピングテーブルから離れたマッピングテーブルであり、
前記Cb成分に対する前記第1クロマQPマッピングテーブルは、前記Cr成分に対する前記第2クロマQPマッピングテーブルとは異なる、方法。
【請求項6】
ピクチャに対するビットストリームを含むデータを送信する方法であって、
前記ピクチャに対する前記ビットストリームを取得するステップであって、
前記ビットストリームは、
現在ブロックに対するルマ量子化パラメータ(QP)を導出し、
クロマQPを導出し、
前記クロマQPは、前記現在ブロックに対する、Cb成分に対する第1クロマQPとCr成分に対する第2クロマQPを含み、
前記ルマQPと前記クロマQPに基づいて前記現在ブロックについて量子化を実行し、QPに関連する情報を生成し、
前記QPに関連する前記情報を含む映像情報をエンコーディングすることにより生成される、ステップと、
前記ビットストリームを含む前記データを送信するステップと、
前記QPに関連する前記情報は、ルマQPに関連する情報を含み、
前記ルマQPに関連する前記情報は、QPデルタ値の絶対値についての情報と、前記QPデルタ値の符号についての情報を含み、
前記ルマQPは、予測されたルマQP及びQPデルタ値に基づいて表され、
前記クロマQPを導出するステップは、
前記ルマQPと前記Cb成分に対する第1クロマQPマッピングテーブルに基づいて、前記Cb成分に対する前記第1クロマQPを導出するステップと、
前記ルマQPと前記Cr成分に対する第2クロマQPマッピングテーブルに基づいて前記Cr成分に対する前記第2クロマQPを導出するステップを含み、
前記第1クロマQPマッピングテーブルの入力と前記第2クロマQPマッピングテーブルの入力の両方が、前記ルマQPに基づき、
前記Cb成分に対する前記第1クロマQPマッピングテーブルは、前記Cr成分に対する前記第2クロマQPマッピングテーブルから離れたマッピングテーブルであり、
前記Cb成分に対する前記第1クロマQPマッピングテーブルは、前記Cr成分に対する前記第2クロマQPマッピングテーブルとは異なる、方法。