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

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

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

特開2024-98019スケーリングリストデータに基づく画像またはビデオコーディング
<>
  • 特開-スケーリングリストデータに基づく画像またはビデオコーディング 図1
  • 特開-スケーリングリストデータに基づく画像またはビデオコーディング 図2
  • 特開-スケーリングリストデータに基づく画像またはビデオコーディング 図3
  • 特開-スケーリングリストデータに基づく画像またはビデオコーディング 図4
  • 特開-スケーリングリストデータに基づく画像またはビデオコーディング 図5
  • 特開-スケーリングリストデータに基づく画像またはビデオコーディング 図6
  • 特開-スケーリングリストデータに基づく画像またはビデオコーディング 図7
  • 特開-スケーリングリストデータに基づく画像またはビデオコーディング 図8
  • 特開-スケーリングリストデータに基づく画像またはビデオコーディング 図9
  • 特開-スケーリングリストデータに基づく画像またはビデオコーディング 図10
  • 特開-スケーリングリストデータに基づく画像またはビデオコーディング 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024098019
(43)【公開日】2024-07-19
(54)【発明の名称】スケーリングリストデータに基づく画像またはビデオコーディング
(51)【国際特許分類】
   H04N 19/70 20140101AFI20240711BHJP
   H04N 19/126 20140101ALI20240711BHJP
【FI】
H04N19/70
H04N19/126
【審査請求】有
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2024079834
(22)【出願日】2024-05-16
(62)【分割の表示】P 2023102553の分割
【原出願日】2020-07-08
(31)【優先権主張番号】62/871,228
(32)【優先日】2019-07-08
(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)【発明者】
【氏名】キム スンファン
(72)【発明者】
【氏名】チャオ チエ
(57)【要約】
【課題】ビデオ/画像コーディング効率を上げる方法及び装置を提供する。
【解決手段】本文書の開示によれば、APS(adaptation parameter set)から伝達されるスケーリングリストデータが階層的構造を介してシグナリングされることができ、また、APSから伝達されるスケーリングリストデータに対する制限をおくことにより、ビデオ/画像コーディングのためにシグナリングされなければならないデータ量を減らし、実現上の容易さを与えることができる。
【選択図】図9
【特許請求の範囲】
【請求項1】
デコード装置によって行われる画像デコード方法において、
ビットストリームからレジデュアル情報を含む画像情報を取得するステップと、
前記レジデュアル情報に基づいて現在ブロックに対する量子化された変換係数を導出するステップと、
前記量子化された変換係数に基づいて変換係数を導出するステップと、
前記変換係数に基づいてレジデュアルサンプルを導出するステップと、
前記レジデュアルサンプルに基づいて復元サンプルを生成するステップと、
を含み、
前記画像情報は、スケーリングリストデータを含むアダプテーションパラメータセット(APS)を含み、
前記APSは、APS ID情報及びAPSタイプ情報を含み、
前記APS ID情報に基づいて前記APSが識別され、
前記APSタイプ情報に基づいて前記APSが前記スケーリングリストデータを含み、
前記APSが前記スケーリングリストデータに対するAPSであることを特定する前記APSタイプ情報に基づいて前記APS ID情報が特定の範囲内の値を有し、
前記特定の範囲は、前記APSが前記スケーリングリストデータに対するAPSであることを特定する前記APSタイプ情報に対してあらかじめ決定され、
前記APS ID情報の前記値に対する前記特定の範囲は、0から3の範囲を含む、画像デコード方法。
【請求項2】
エンコード装置によって行われる画像エンコード方法において、
現在ブロックに対するレジデュアルサンプルを導出するステップと、
前記レジデュアルサンプルに基づいて変換係数を導出するステップと、
前記変換係数に対する量子化過程を適用して量子化された変換係数を導出するステップと、
前記量子化された変換係数に対する情報を含むレジデュアル情報を生成するステップと、
前記レジデュアル情報を含む画像情報をエンコードするステップと、
を含み、
前記画像情報は、スケーリングリストデータを含むアダプテーションパラメータセット(APS)を含み、
前記APSは、APS ID情報及びAPSタイプ情報を含み、
前記APS ID情報に基づいて前記APSが識別され、
前記APSタイプ情報に基づいて前記APSが前記スケーリングリストデータを含み、
前記APSが前記スケーリングリストデータに対するAPSであることを特定する前記APSタイプ情報に基づいて前記APS ID情報が特定の範囲内の値を有し、
前記特定の範囲は、前記APSが前記スケーリングリストデータに対するAPSであることを特定する前記APSタイプ情報に対してあらかじめ決定され、
前記APS ID情報の前記値に対する前記特定の範囲は、0から3の範囲を含む、画像エンコード方法。
【請求項3】
画像に対するデータの送信方法において、
前記画像に対するビットストリームを取得するステップと、
前記ビットストリームを含む前記データを送信するステップと、
を含み、
前記ビットストリームは、現在ブロックに対するレジデュアルサンプルを導出し、前記レジデュアルサンプルに基づいて変換係数を導出し、前記変換係数に対する量子化過程を適用して量子化された変換係数を導出し、前記量子化された変換係数に対する情報を含むレジデュアル情報を生成し、前記レジデュアル情報を含む画像情報をエンコードすることに基づいて生成され、
前記画像情報は、スケーリングリストデータを含むアダプテーションパラメータセット(APS)を含み、
前記APSは、APS ID情報及びAPSタイプ情報を含み、
前記APS ID情報に基づいて前記APSが識別され、
前記APSタイプ情報に基づいて前記APSが前記スケーリングリストデータを含み、
前記APSが前記スケーリングリストデータに対するAPSであることを特定する前記APSタイプ情報に基づいて前記APS ID情報が特定の範囲内の値を有し、
前記特定の範囲は、前記APSが前記スケーリングリストデータに対するAPSであることを特定する前記APSタイプ情報に対してあらかじめ決定され、
前記APS ID情報の前記値に対する前記特定の範囲は、0から3の範囲を含む、データ送信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、ビデオまたは画像コーディングに関し、例えば、スケーリングリストデータに基づくコーディング技術に関する。
【背景技術】
【0002】
近年、4Kまたは8K以上のUHD(Ultra High Definition)画像/ビデオのような高解像度、高品質の画像/ビデオに対する需要が様々な分野で増加している。画像/ビデオデータが高解像度、高品質になるほど、既存の画像/ビデオデータに比べて相対的に送信される情報量またはビット量が増加するので、既存の有無線広帯域回線のような媒体を利用して画像データを送信するか、既存の格納媒体を利用して画像/ビデオデータを格納する場合、送信費用と格納費用が増加される。
【0003】
また、近年、VR(Virtual Reality)、AR(Artificial Realtiy)コンテンツやホログラムなどの実感メディア(Immersive Media)に対する関心及び需要が増加しており、ゲーム画像のように、現実画像と異なる画像特性を有する画像/ビデオに対する放送が増加している。
【0004】
これにより、上記のような様々な特性を有する高解像度・高品質の画像/ビデオの情報を効果的に圧縮して送信するか、格納し、再生するために高効率の画像/ビデオ圧縮技術が求められる。
【0005】
また、圧縮効率を向上させて主観的/客観的ビジュアル品質を高めるために、スケーリング過程での適応的周波数別加重量子化(adaptive frequency weighting quantization)技術に関する議論がある。このような技術を効率的に適用するために関連した情報をシグナリングする方法が必要である。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本文書の技術的課題は、ビデオ/画像コーディング効率を上げる方法及び装置を提供することにある。
【0007】
本文書の他の技術的課題は、スケーリング過程でのコーディング効率を上げる方法及び装置を提供することにある。
【0008】
本文書の他の技術的課題は、スケーリング過程で使われるスケーリングリストを効率的に構成する方法及び装置を提供することにある。
【0009】
本文書の他の技術的課題は、スケーリング過程で使われるスケーリングリスト関連情報を階層的にシグナリングする方法及び装置を提供することにある。
【0010】
本文書の他の技術的課題は、スケーリングリストベースのスケーリング過程を効率的に適用する方法及び装置を提供することにある。
【課題を解決するための手段】
【0011】
本文書の一実施形態によれば、APS(adaptation parameter set)を介してスケーリングリストデータがシグナリングされ得る。また、APSに含まれたAPS ID情報に基づいてAPSが識別され得るし、APSに含まれたスケーリングリストデータに関するAPSであることを表すAPSタイプ情報に基づいてAPSがスケーリングリストデータを含むことができる。また、スケーリングリストデータに関するAPSであることを表すAPSタイプ情報に対して、APS ID情報の値は、特定の範囲内の値を有することができる。
【0012】
本文書の一実施形態によれば、スケーリングリストデータの可用可否を表す可用フラグ情報が階層的にシグナリングされ得るし、上位レベルシンタックス(例えば、SPS)でシグナリングされる可用フラグ情報に基づいて下位レベルシンタックス(例えば、ピクチャヘッダ/スライスヘッダ/タイプグループヘッダ等)での可用フラグ情報がシグナリングされ得る。
【0013】
本文書の一実施形態によれば、SPSまたはPPSレベルで直接的にスケーリングリストデータシンタックスをシグナリングしないようにSPSシンタックスとPPSシンタックスとを構成できる。これにより、SPSでの可用フラグ情報に基づいてAPSで個別的にスケーリングリストデータをパーシング/シグナリングすることによりコーディング効率を向上させることができる。
【0014】
本文書の一実施形態によれば、デコード装置によって行われるビデオ/画像デコード方法を提供する。前記ビデオ/画像デコード方法は、本文書の実施形態で開示された方法を含むことができる。
【0015】
本文書の一実施形態によれば、ビデオ/画像デコードを行うデコード装置を提供する。前記デコード装置は、本文書の実施形態で開示された方法を行うことができる。
【0016】
本文書の一実施形態によれば、エンコード装置によって行われるビデオ/画像エンコード方法を提供する。前記ビデオ/画像エンコード方法は、本文書の実施形態で開示された方法を含むことができる。
【0017】
本文書の一実施形態によれば、ビデオ/画像エンコードを行うエンコード装置を提供する。前記エンコード装置は、本文書の実施形態で開示された方法を行うことができる。
【0018】
本文書の一実施形態によれば、本文書の実施形態のうち、少なくとも1つに開示されたビデオ/画像エンコード方法によって生成されたエンコードされたビデオ/画像情報が格納されたコンピュータ読み取り可能なデジタル格納媒体を提供する。
【0019】
本文書の一実施形態によれば、デコード装置によって本文書の実施形態のうち、少なくとも1つに開示されたビデオ/画像デコード方法を行うように引き起こすエンコードされた情報またはエンコードされたビデオ/画像情報が格納されたコンピュータ読み取り可能なデジタル格納媒体を提供する。
【発明の効果】
【0020】
本文書は、様々な効果を有することができる。例えば、本文書の一実施形態によれば、全般的な画像/ビデオ圧縮効率を上げることができる。また、本文書の一実施形態によれば、効率的なスケーリング過程を適用することによってコーディング効率を上げ、主観的/客観的ビジュアル品質を向上させることができる。また、本文書の一実施形態によれば、スケーリング過程で使用されるスケーリングリストを効率的に構成することができ、これを介してスケーリングリスト関連情報を階層的にシグナリングすることができる。また、本文書の一実施形態によれば、スケーリングリストに基づくスケーリング過程を効率的に適用することによってコーディング効率が増加され得る。また、本文書の一実施形態によれば、スケーリング過程で使用されるスケーリングリストマトリックスに対する制限をおくことによって、実現を容易にし、最大メモリ要求事項(worst case memory requirement)を制限するという効果を得ることができる。
【0021】
本文書の具体的な実施形態を介して得ることができる効果は、以上で並べられた効果に制限されない。例えば、関連した技術分野の通常の知識を有する者(a person having ordinary skill in the related art)が本文書から理解したり、導くことのできる様々な技術的効果が存在しうる。これにより、本文書の具体的な効果は、本文書に明示的に記載されたことに制限されず、本文書の技術的特徴から理解されるか、導かれることができる様々な効果を含むことができる。
【図面の簡単な説明】
【0022】
図1】本文書の実施形態が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
図2】本文書の実施形態が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。
図3】本文書の実施形態が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。
図4】本文書の実施形態が適用可能な概略的なビデオ/画像エンコード方法の一例を示す。
図5】本文書の実施形態が適用可能な概略的なビデオ/画像デコード方法の一例を示す。
図6】コーディングされた画像/ビデオに対する階層構造を例示的に示す。
図7】本文書の実施形態(等)に係るビデオ/画像エンコード方法及び関連コンポーネントの一例を概略的に示す。
図8】本文書の実施形態(等)に係るビデオ/画像エンコード方法及び関連コンポーネントの一例を概略的に示す。
図9】本文書の実施形態(等)に係るビデオ/画像デコード方法及び関連コンポーネントの一例を概略的に示す。
図10】本文書の実施形態(等)に係るビデオ/画像デコード方法及び関連コンポーネントの一例を概略的に示す。
図11】本文書において開示された実施形態が適用され得るコンテンツストリーミングシステムの例を示す。
【発明を実施するための形態】
【0023】
本開示は、様々な変更を加えることができ、様々な実施形態を有することができるところ、特定の実施形態を図面に例示し、詳細に説明しようとする。しかし、これは、本開示を特定の実施形態に限定しようとするものではない。本文書において常用する用語は、単に特定の実施形態を説明するために使用されたものであって、本開示の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上明らかに異なるように意味しない限り、複数の表現を含む。本明細書において、「含む」又は「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、又はこれらを組み合わせたものが存在することを指定しようとするものであり、1つ又はそれ以上の他の特徴や、数字、ステップ、動作、構成要素、部品、又はこれらを組み合わせたものの存在又は付加可能性を予め排除しないことと理解されるべきである。
【0024】
一方、本開示において説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の都合上独立的に図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで実現されるということを意味するものではない。例えば、各構成のうち、2つ以上の構成を合わせて1つの構成をなすことがあり、1つの構成が複数の構成に分けられることもある。各構成が統合及び/又は分離された実施形態も、本文書の本質から逸脱しない限り、本開示の権利範囲に含まれる。
【0025】
本文書において“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)”を意味することができる。
【0026】
本文書において使われるスラッシュ(/)や読点(comma)は“及び/又は(and/or)”を意味することができる。例えば、“A/B”は“A及び/又はB”を意味することができる。それによって、“A/B”は“ただA”、“ただB”、または“AとBの両方とも”を意味することができる。例えば、“A、B、C”は“A、BまたはC”を意味することができる。
【0027】
本文書において“少なくとも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)”と同じく解釈されることができる。
【0028】
また、本文書において“少なくとも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)”を意味することができる。
【0029】
また、本文書において使われる括弧は“例えば(for example)”を意味することができる。具体的に、“予測(イントラ予測)”で表示された場合、“予測”の一例として“イントラ予測”が提案されたものである。他の表現としては、本文書の“予測”は“イントラ予測”に制限(limit)されるものではなく、“イントラ予測”が“予測”の一例として提案されたものである。また、“予測(即ち、イントラ予測)”で表示された場合も、“予測”の一例として“イントラ予測”が提案されたものである。
【0030】
本文書は、ビデオ/画像コーディングに関する。例えば、本文書に開示された方法/実施形態は、VVC(Versatile Video Coding)標準に開示される方法に適用されることができる。また、本文書に開示された方法/実施形態は、EVC(essential video coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)または次世代ビデオ/画像コーディング標準(例えば、H.267またはH.267)に開示される方法に適用されることができる。
【0031】
本文書においてはビデオ/画像コーディングに関する多様な実施形態を提示し、他の言及がない限り、前記実施形態は、互いに組み合わせて実行されることもできる。
【0032】
本文書において、ビデオ(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 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)。
【0033】
一方、1つのピクチャは、2つ以上のサブピクチャに区分されることができる。サブピクチャは、ピクチャ内の1つ以上のスライスの四角領域である(an rectangular region of one or more slices within a picture)。
【0034】
ピクセル(pixel)またはペル(pel)は、1つのピクチャ(または、画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用され得る。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。または、サンプルは、空間ドメインでのピクセル値を意味することもでき、このようなピクセル値が周波数ドメインに変換されると、周波数ドメインでの変換係数を意味することもできる。
【0035】
ユニット(unit)は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち少なくとも1つを含むことができる。1つのユニットは、1つのルマブロック及び2つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(または、サンプルアレイ)、または変換係数(transform coefficient)の集合(または、アレイ)を含むことができる。
【0036】
また、本文書において、量子化/逆量子化及び/又は変換/逆変換のうち少なくとも1つは、省略されることができる。量子化/逆量子化が省略される場合、量子化された変換係数は、変換係数と呼ばれることができる。変換/逆変換が省略される場合、変換係数は、係数またはレジデュアル係数と呼ばれることもでき、または、表現の統一性のために、 依然として変換係数と呼ばれることもできる。
【0037】
本文書において、量子化された変換係数及び変換係数は、各々、変換係数及びスケーリングされた(scaled)変換係数と呼ばれることができる。この場合、レジデュアル情報は、変換係数(ら)に関する情報を含むことができ、変換係数(ら)に関する情報は、レジデュアルコーディングシンタックスを介してシグナリングされることができる。レジデュアル情報(または、変換係数(ら)に関する情報)に基づいて変換係数が導出されることができ、変換係数に対する逆変換(スケーリング)を介してスケーリングされた変換係数が導出されることができる。スケーリングされた変換係数に対する逆変換(変換)に基づいて、レジデュアルサンプルが導出されることができる。これは本文書の他の部分でも同様に適用/表現されることができる。
【0038】
本文書において、1つの図面内で個別的に説明される技術的特徴は、個別的で実現されることもでき、同時で実現されることもできる。
【0039】
以下、添付図面を参照して、本文書の好ましい実施形態をより詳細に説明する。以下、図面上の同じ構成要素に対しては、同じ参照符号を使用し、同じ構成要素に対して重複した説明は、省略されることができる。
【0040】
図1は、本文書の実施形態に適用されることができるビデオ/画像コーディングシステムの例を概略的に示す。
【0041】
図1を参照すると、ビデオ/画像コーディングシステムは、第1の装置(ソースデバイス)及び第2の装置(受信デバイス)を含むことができる。ソースデバイスは、エンコードされたビデオ(video)/画像(image)情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスに伝達できる。
【0042】
前記ソースデバイスは、ビデオソース、エンコード装置、送信部を含むことができる。前記受信デバイスは、受信部、デコード装置、及びレンダラを含むことができる。前記エンコード装置は、ビデオ/画像エンコード装置と呼ばれることができ、前記デコード装置は、ビデオ/画像デコード装置と呼ばれることができる。送信機は、エンコード装置に含まれることができる。受信機は、デコード装置に含まれることができる。レンダラは、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
【0043】
ビデオソースは、ビデオ/画像のキャプチャ、合成または生成過程などを介してビデオ/画像を取得することができる。ビデオソースは、ビデオ/画像キャプチャデバイス及び/又はビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、1つ以上のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを含むことができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを含むことができ、(電子的に)ビデオ/画像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/画像が生成されることができ、この場合、関連データが生成される過程にビデオ/画像キャプチャ過程が代替されることができる。
【0044】
エンコード装置は、入力ビデオ/画像をエンコードすることができる。エンコード装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を実行することができる。エンコードされたデータ(エンコードされたビデオ/画像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
【0045】
送信部は、ビットストリーム形態で出力されたエンコードされたビデオ/画像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達できる。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。送信部は、あらかじめ決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介した送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコード装置に伝達できる。
【0046】
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を実行してビデオ/画像をデコードすることができる。
【0047】
レンダラは、デコードされたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像は、ディスプレイ部を介してディスプレイされることができる。
【0048】
図2は、本文書の実施形態が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。以下、エンコード装置とは、画像エンコード装置及び/又はビデオエンコード装置を含むことができる。
【0049】
図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を内/外部コンポーネントとしてさらに含むこともできる。
【0050】
画像分割部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)を誘導する単位である。
【0051】
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)の集合を示すことができる。サンプルは、一般的にピクセルまたはピクセルの値を示すこともでき、輝度(luma)成分のピクセル/ピクセル値のみを示すこともでき、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(または、画像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
【0052】
エンコード装置200は、入力画像信号(原本ブロック、原本サンプルアレイ)からインター予測部221またはイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算してレジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成することができ、生成されたレジデュアル信号は、変換部232に送信される。この場合、図示されたように、エンコーダ200内において入力画像信号(原本ブロック、原本サンプルアレイ)から予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれることができる。予測部は、処理対象ブロック(以下、現在ブロックという)に対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、現在ブロックまたはCU単位でイントラ予測が適用されるか、または、インター予測が適用されるかを決定することができる。予測部は、各予測モードについての説明で後述するように、予測モード情報など、予測に関する多様な情報を生成してエントロピーエンコード部240に伝達することができる。予測に関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
【0053】
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置することもでき、または、離れて位置することもできる。イントラ予測における予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは例示に過ぎず、設定によってそれ以上またはそれ以下の個数の方向性予測モードが使用され得る。イントラ予測部222は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0054】
インター予測部221は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロック、またはサンプル単位で予測できる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを含むことができる。前記参照ブロックを含む参照ピクチャと前記時間的隣接ブロックを含む参照ピクチャとは、同じであってもよく、異なってもよい。前記時間的隣接ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(colCU)などの名称で呼ばれることができ、前記時間的隣接ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)と呼ばれることもできる。例えば、インター予測部221は、隣接ブロックに基づいて動き情報候補リストを構成し、前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するために、どの候補が使用されるかを指示する情報を生成することができる。多様な予測モードに基づいてインター予測が実行されることができ、例えば、スキップモードとマージモードの場合、インター予測部221は、隣接ブロックの動き情報を現在ブロックの動き情報として利用することができる。スキップモードの場合、マージモードとは違ってレジデュアル信号が送信されない場合がある。動き情報予測(motion vector prediction、MVP)モードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として利用し、動きベクトル差分(motion vector difference)をシグナリングすることによって、現在ブロックの動きベクトルを指示することができる。
【0055】
予測部220は、後述する多様な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用することができるだけでなく、イントラ予測とインター予測とを同時に適用することもできる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくこともでき、または、パレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画像コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を実行するが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と類似するように実行されることができる。即ち、IBCは、本文書において説明されるインター予測技法のうち少なくとも1つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングすることができる。
【0056】
前記予測部(インター予測部221及び/又は前記イントラ予測部222を含む)を介して生成された予測信号は、復元信号を生成するために用いられ、またはレジデュアル信号を生成するために用いられることができる。変換部232は、レジデュアル信号に変換技法を適用して変換係数(transform coefficients)を生成することができる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、KLT(Karhunen-Loeve Transform)、GBT(Graph-Based Transform)、またはCNT(Conditionally Non-linear Transform)のうち少なくとも1つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現するとき、このグラフから得られた変換を意味する。CNTは、以前に復元された全てのピクセル(all previously reconstructed pixel)を利用して予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同じサイズを有するピクセルブロックに適用されることもでき、正方形でない可変サイズのブロックに適用されることもできる。
【0057】
量子化部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に含まれることもできる。
【0058】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することによって、レジデュアル信号(レジデュアルブロックまたはレジデュアルサンプル)を復元することができる。加算部155は、復元されたレジデュアル信号をインター予測部221またはイントラ予測部222から出力された予測信号に加えることによって、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成され得る。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部250は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0059】
一方、ピクチャエンコード及び/又は復元過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0060】
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに多様なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納することができる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部260は、各フィルタリング方法に対する説明で後述するように、フィルタリングに関する多様な情報を生成してエントロピーエンコード部240に伝達することができる。フィルタリングに関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
【0061】
メモリ270に送信された修正された復元ピクチャは、インター予測部221で参照ピクチャとして使用されることができる。エンコード装置は、これを介してインター予測が適用される場合、エンコード装置100とデコード装置における予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【0062】
メモリ270のDPBは、修正された復元ピクチャをインター予測部221における参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するために、インター予測部221に伝達することができる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達することができる。
【0063】
図3は、本文書の実施形態が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。以下、デコード装置とは、画像デコード装置及び/又はビデオデコード装置を含むことができる。
【0064】
図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を内/外部コンポーネントとしてさらに含むこともできる。
【0065】
ビデオ/画像情報を含むビットストリームが入力されると、デコード装置300は、図2のエンコード装置でビデオ/画像情報が処理されたプロセスに対応して画像を復元することができる。例えば、デコード装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出できる。デコード装置300は、エンコード装置で適用された処理ユニットを利用してデコードを実行することができる。したがって、デコードの処理ユニットは、例えば、コーディングユニットであり、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/又はターナリツリー構造にしたがって分割されることができる。コーディングユニットから1つ以上の変換ユニットが導出されることができる。そして、デコード装置300を介してデコード及び出力された復元画像信号は、再生装置を介して再生されることができる。
【0066】
デコード装置300は、図2のエンコード装置から出力された信号をビットストリーム形態で受信することができ、受信された信号は、エントロピーデコード部310を介してデコードされることができる。例えば、エントロピーデコード部310は、前記ビットストリームをパーシングして画像復元(または、ピクチャ復元)に必要な情報(例えば、ビデオ/画像情報)を導出できる。前記ビデオ/画像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)など、多様なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。デコード装置は、前記パラメータセットに関する情報及び/又は前記一般制限情報にも基づいてピクチャをデコードすることができる。本文書において後述されるシグナリング/受信される情報及び/又はシンタックス要素は、前記デコード手順を介してデコードされ、前記ビットストリームから取得されることができる。例えば、エントロピーデコード部310は、指数ゴロム符号化、CAVLC、またはCABACなどのコーディング方法を基づいてビットストリーム内の情報をデコードし、画像復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値を出力することができる。より詳しく、CABACエントロピーデコード方法は、ビットストリームで各シンタックス要素に該当するbinを受信し、デコード対象のシンタックス要素情報と隣接及びデコード対象ブロックのデコード情報または以前ステップでデコードされたシンボル/binの情報を利用して文脈(context)モデルを決定し、決定された文脈モデルによってbinの発生確率を予測してbinの算術デコード(arithmetic decoding)を実行することで、各シンタックス要素の値に該当するシンボルを生成することができる。このとき、CABACエントロピーデコード方法は、文脈モデル決定後、次のシンボル/binの文脈モデルのためにデコードされたシンボル/binの情報を利用して文脈モデルをアップデートすることができる。エントロピーデコード部310でデコードされた情報のうち、予測に関する情報は、予測部(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコード部310でエントロピーデコードが実行されたレジデュアル値、即ち、量子化された変換係数及び関連パラメータ情報は、レジデュアル処理部320に入力されることができる。レジデュアル処理部320は、レジデュアル信号(レジデュアルブロック、レジデュアルサンプル、レジデュアルサンプルアレイ)を導出できる。また、エントロピーデコード部310でデコードされた情報のうち、フィルタリングに関する情報は、フィルタリング部350に提供されることができる。一方、エンコード装置から出力された信号を受信する受信部(図示せず)がデコード装置300の内/外部エレメントとしてさらに構成されることができ、または、受信部は、エントロピーデコード部310の構成要素であることもある。一方、本文書によるデコード装置は、ビデオ/画像/ピクチャデコード装置と呼ばれることができ、前記デコード装置は、情報デコーダ(ビデオ/画像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/画像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは、前記エントロピーデコード部310を含むことができ、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、加算部340、フィルタリング部350、メモリ360、インター予測部332、及びイントラ予測部331のうち少なくとも1つを含むことができる。
【0067】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコード装置で実行された係数スキャン順序に基づいて再整列を実行することができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を利用して量子化された変換係数に対する逆量子化を実行し、変換係数(transform coefficient)を取得することができる。
【0068】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
【0069】
予測部は、現在ブロックに対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピーデコード部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか、または、インター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モードを決定することができる。
【0070】
予測部320は、後述する多様な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用することができるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくこともでき、または、パレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画像コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を実行するが、現在ピクチャ内で参照ブロックを導出する点でインター予測と類似するように実行されることができる。即ち、IBCは、本文書において説明されるインター予測技法のうち少なくとも1つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/画像情報に含まれてシグナリングされることができる。
【0071】
イントラ予測部331は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置することもでき、または離れて位置することもできる。イントラ予測における予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。イントラ予測部331は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0072】
インター予測部332は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを含むことができる。例えば、インター予測部332は、隣接ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出できる。多様な予測モードに基づいてインター予測が実行されることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
【0073】
加算部340は、取得されたレジデュアル信号を予測部(インター予測部332及び/又はイントラ予測部331を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。
【0074】
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て出力されることもでき、または、次のピクチャのインター予測のために使用されることもできる。
【0075】
一方、ピクチャデコード過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0076】
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに多様なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ360、具体的に、メモリ360のDPBに送信することができる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
【0077】
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部332で参照ピクチャとして使用されることができる。メモリ360は、現在ピクチャ内の動き情報が導出された(または、デコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部331に伝達することができる。
【0078】
本文書において、エンコード装置200のフィルタリング部260、インター予測部221、及びイントラ予測部222で説明された実施形態は、各々、デコード装置300のフィルタリング部350、インター予測部332、及びイントラ予測部331にも同一または対応するように適用されることができる。
【0079】
前述したように、ビデオコーディングを実行するにあたって、圧縮効率を上げるために予測を実行する。これを介してコーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、予測されたブロックは、空間ドメイン(または、ピクセルドメイン)での予測サンプルを含む。予測されたブロックは、エンコード装置及びデコード装置で同じく導出され、エンコード装置は、原本ブロックの原本サンプル値自体でない原本ブロックと予測されたブロックとの間のレジデュアルに関する情報(レジデュアル情報)をデコード装置にシグナリングすることで画像コーディング効率を上げることができる。デコード装置は、レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、レジデュアルブロックと予測されたブロックとを合わせて復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
【0080】
前記レジデュアル情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコード装置は、原本ブロックと予測されたブロックとの間のレジデュアルブロックを導出し、レジデュアルブロックに含まれているレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を実行して変換係数を導出し、変換係数に量子化手順を実行して量子化された変換係数を導出することで、関連したレジデュアル情報を(ビットストリームを介して)デコード装置にシグナリングされることができる。ここで、レジデュアル情報は、量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコード装置は、レジデュアル情報に基づいて逆量子化/逆変換手順を実行してレジデュアルサンプル(または、レジデュアルブロック)を導出できる。デコード装置は、予測されたブロックとレジデュアルブロックに基づいて復元ピクチャを生成することができる。また、エンコード装置は、以後ピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成することができる。
【0081】
イントラ予測は、現在ブロックが属するピクチャ(以下、現在ピクチャという)内の参照サンプルに基づいて現在ブロックに対する予測サンプルを生成する予測を示すことができる。現在ブロックにイントラ予測が適用される場合、現在ブロックのイントラ予測に使用する隣接参照サンプルが導出されることができる。現在ブロックの隣接参照サンプルは、nW×nHサイズの現在ブロックの左側(left)境界に隣接したサンプル及び左下側(bottom-left)に隣接した総2×nH個のサンプル、現在ブロックの上側(top)境界に隣接したサンプル及び右上側(top-right)に隣接した総2×nW個のサンプル及び現在ブロックの左上側(top-left)に隣接した1個のサンプルを含むことができる。または、現在ブロックの隣接参照サンプルは、複数列の上側隣接サンプル及び複数行の左側隣接サンプルを含むこともできる。また、現在ブロックの隣接参照サンプルは、nW×nHサイズの現在ブロックの右側(right)境界に隣接した総nH個のサンプル、現在ブロックの下側(bottom)境界に隣接した総nW個のサンプル及び現在ブロックの右下側(bottom-right)に隣接した1個のサンプルを含むこともできる。
【0082】
ただし、現在ブロックの隣接参照サンプルのうち一部は、まだデコードされない、または利用可能でない場合がある。この場合、デコーダは、利用可能なサンプルとして利用可能でないサンプルを代替(substitution)して予測に使用する隣接参照サンプルを構成することができる。または、利用可能なサンプルの補間(interpolation)を介して予測に使用する隣接参照サンプルを構成することができる。
【0083】
隣接参照サンプルが導出された場合、(i)現在ブロックの隣接(neighboring)参照サンプルの平均(average)または補間(interpolation)に基づいて予測サンプルを誘導することができ、(ii)現在ブロックの隣接参照サンプルのうち、予測サンプルに対して特定(予測)方向に存在する参照サンプルに基づいて予測サンプルを誘導することもできる。(i)の場合は、非方向性(non-directional)モードまたは非角度(non-angular)モードと呼ばれ、(ii)の場合は、方向性(directional)モードまたは角度(angular)モードと呼ばれることができる。
【0084】
また、隣接参照サンプルのうち現在ブロックの予測サンプルを基準にして、現在ブロックのイントラ予測モードの予測方向に位置する第1の隣接サンプルと前記予測方向の反対方向に位置する第2の隣接サンプルとの補間を介して予測サンプルが生成されることもできる。前述した場合は、線形補間イントラ予測(Linear interpolation intra prediction、LIP)と呼ばれることができる。また、線形モデル(linear model、LM)を利用してルマサンプルに基づいてクロマ予測サンプルが生成されることもできる。この場合は、LMモードまたはCCLM(chroma component LM)モードと呼ばれることができる。
【0085】
また、フィルタリングされた隣接参照サンプルに基づいて現在ブロックの臨時予測サンプルを導出し、既存の隣接参照サンプル、即ち、フィルタリングされない隣接参照サンプルのうち、前記イントラ予測モードによって導出された少なくとも1つの参照サンプルと臨時予測サンプルとを加重和(weighted sum)して現在ブロックの予測サンプルを導出することもできる。前述した場合は、PDPC(Position dependent intra prediction)と呼ばれることができる。
【0086】
また、現在ブロックの隣接多重参照サンプルラインの中から最も予測正確度が高い参照サンプルラインを選択して該当ラインで予測方向に位置する参照サンプルを利用して予測サンプルを導出し、このときに使用された参照サンプルラインをデコード装置に指示(シグナリング)する方法でイントラ予測符号化を実行することができる。前述した場合は、多重参照ライン(multi-reference line)イントラ予測またはMRLベースのイントラ予測と呼ばれることができる。
【0087】
また、現在ブロックを垂直または水平のサブパーティションに分けて同じイントラ予測モードに基づいてイントラ予測を実行し、サブパーティション単位で隣接参照サンプルを導出して利用できる。即ち、この場合、現在ブロックに対するイントラ予測モードがサブパーティションに同じく適用され、サブパーティション単位で隣接参照サンプルを導出して利用することによって、場合によって、イントラ予測性能を高めることができる。このような予測方法は、ISP(intra sub-partitions)ベースのイントラ予測と呼ばれることができる。
【0088】
前述したイントラ予測方法は、イントラ予測モードと区分してイントラ予測タイプと呼ばれることができる。イントラ予測タイプは、イントラ予測技法または付加イントラ予測モードなど、多様な用語で呼ばれることができる。例えば、イントラ予測タイプ(または、付加イントラ予測モードなど)は、前述したLIP、PDPC、MRL、ISPのうち少なくとも1つを含むことができる。前記LIP、PDPC、MRL、ISPなどの特定イントラ予測タイプを除いた一般イントラ予測方法は、ノーマルイントラ予測タイプと呼ばれることができる。ノーマルイントラ予測タイプは、前記のような特定イントラ予測タイプが適用されない場合、一般的に適用されることができ、前述したイントラ予測モードに基づいて予測が実行されることができる。一方、必要によって、導出された予測サンプルに対する後処理フィルタリングが実行されることもできる。
【0089】
具体的に、イントラ予測手順は、イントラ予測モード/タイプ決定ステップ、隣接参照サンプル導出ステップ、イントラ予測モード/タイプベースの予測サンプル導出ステップを含むことができる。また、必要によって、導出された予測サンプルに対する後処理フィルタリング(post-filtering)ステップが実行されることもできる。
【0090】
イントラ予測が適用される場合、周辺ブロックのイントラ予測モードを用いて現在ブロックに適用されるイントラ予測モードが決定され得る。例えば、デコード装置は、現在ブロックの周辺ブロック(ex.左側及び/又は上側周辺ブロック)のイントラ予測モード及び追加的な候補モードに基づいて導出されたMPM(most probable mode)リスト内のMPM候補のうち1つを受信されたMPMインデックスに基づいて選択することができ、または、MPM候補(及びプラナーモード)に含まれなかった残りのイントラ予測モードのうち1つをリメイニングイントラ予測モード情報に基づいて選択することができる。MPMリストは、プラナーモードを候補として含むか、含まないように構成されることができる。例えば、MPMリストがプラナーモードを候補として含む場合、MPMリストは、6個の候補を有することができ、MPMリストがプラナーモードを候補として含まない場合、MPMリストは、5個の候補を有することができる。MPMリストがプラナーモードを候補として含まない場合、現在ブロックのイントラ予測モードがプラナーモードでないか表すnotプラナーフラグ(ex.intra_luma_not_planar_flag)がシグナリングされ得る。例えば、MPMフラグが先にシグナリングされ、MPMインデックス及びnotプラナーフラグは、MPMフラグの値が1である場合、シグナリングされることができる。また、MPMインデックスは、notプラナーフラグの値が1である場合、シグナリングされることができる。ここで、MPMリストがプラナーモードを候補として含まないように構成されることは、プラナーモードがMPMでないというよりは、MPMとして常にプラナーモードが考慮されるので、先にフラグ(not planar flag)をシグナリングしてプラナーモードであるか否かを先に確認するためである。
【0091】
例えば、現在ブロックに適用されるイントラ予測モードがMPM候補(及びプラナーモード)の中にあるか、それとも、リメイニングモードの中にあるかは、MPMフラグ(ex.intra_luma_mpm_flag)に基づいて指示されることができる。MPMフラグの値1は、現在ブロックに対するイントラ予測モードがMPM候補(及びプラナーモード)内にあることを表すことができ、MPM flagの値0は、現在ブロックに対するイントラ予測モードがMPM候補(及びプラナーモード)内にないことを表すことができる。notプラナーフラグ(ex.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(ex.intra_luma_mpm_flag)、not planar flag(ex.intra_luma_not_planar_flag)、MPMインデックス(ex.mpm_idxまたはintra_luma_mpm_idx)、リメイニングイントラ予測モード情報(rem_intra_luma_pred_modeまたはintra_luma_mpm_remainder)のうち、少なくとも1つを含むことができる。本文書においてMPMリストは、MPM候補リスト、candModeListなど、様々な用語と呼ばれることができる。MIP(matrix-based intra prediction)が現在ブロックに適用される場合、MIPのための別のmpm flag(ex.intra_mip_mpm_flag)、mpmインデックス(ex.intra_mip_mpm_idx)、リメイニングイントラ予測モード情報(ex.intra_mip_mpm_remainder)がシグナリングされ得るし、not planar flagは、シグナリングされない。
【0092】
言い換えれば、一般的に、画像に対するブロック分割になると、コーディングしようとする現在ブロックと周辺(neighboring)ブロックとは、類似した画像特性を有するようになる。したがって、現在ブロックと周辺ブロックとは、互いに同一であるか、類似したイントラ予測モードを有する確率が高い。したがって、エンコーダは、現在ブロックのイントラ予測モードをエンコードするために、周辺ブロックのイントラ予測モードを用いることができる。
【0093】
例えば、エンコーダ/デコーダは、現在ブロックに対するMPM(most probable modes)リストを構成できる。MPMリストは、MPM候補リストと表すこともできる。ここで、MPMとは、イントラ予測モードコーディングの際、現在ブロックと周辺ブロックとの類似性を考慮して、コーディング効率を向上させるために用いられるモードを意味することができる。上述したように、MPMリストは、プラナーモードを含んで構成されることができ、またはプラナーモードを除いて構成されることができる。例えば、MPMリストがプラナーモードを含む場合、MPMリストの候補の個数は、6個であることができる。そして、MPMリストがプラナーモードを含まない場合、MPMリストの候補の個数は、5個であることができる。エンコーダ/デコーダは、5個または6個のMPMを含むMPMリストを構成できる。
【0094】
MPMリストを構成するために、デフォルトイントラモード(Default intra modes)、周辺イントラモード(Neighbour intra modes)、及び導出されたイントラモード(Derved intra modes)の3つの種類のモードが考慮され得る。このとき、周辺イントラモードのために、2つの周辺ブロック、すなわち、左側周辺ブロック及び上側周辺ブロックが考慮され得る。
【0095】
上述したように、仮りに、MPMリストがプラナーモードを含まないように構成する場合、前記リストからプラナー(planar)モードが除かれ、前記MPMリスト候補の個数は、5個に設定されることができる。
【0096】
また、イントラ予測モードのうち、非方向性モード(または、非角度モード)は、現在ブロックの周辺(neighboring)参照サンプルの平均(average)に基づくDCモードまたは補間(interpolation)に基づくプラナー(planar)モードを含むことができる。
【0097】
インター予測が適用される場合、エンコード装置/デコード装置の予測部は、ブロック単位でインター予測を実行して予測サンプルを導出できる。インター予測は、現在ピクチャ以外のピクチャ(ら)のデータ要素(例えば、サンプル値、または動き情報)に依存した方法で導出される予測を示すことができる(Inter prediction can be a prediction derived in a manner that is dependent on data elements(例えば、sample values or motion information)of picture(s) other than the current picture)。現在ブロックにインター予測が適用される場合、参照ピクチャインデックスが指す参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロック(予測サンプルアレイ)を誘導することができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて、現在ブロックの動き情報をブロック、サブブロックまたはサンプル単位で予測できる。動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。また、動き情報は、インター予測タイプ(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)はシグナリングされることができる。この場合、前記動きベクトル予測子及び動きベクトル差分の和を利用して現在ブロックの動きベクトルを導出できる。
【0098】
動き情報は、インター予測タイプ(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は、現在ピクチャより出力順序上以前ピクチャを参照ピクチャとしてさらに含むことができる。この場合、参照ピクチャリストL1内で以後ピクチャが先にインデクシングされ、以前ピクチャは、その次にインデクシングされることができる。ここで、出力順序は、POC(picture order count)順序(order)に対応されることができる。
【0099】
図4は、本文書の実施形態が適用可能な概略的なビデオ/画像エンコード方法の一例を示す。
【0100】
図4に開示された方法は、上述した図2のエンコード装置200によって行われることができる。具体的に、S400は、エンコード装置200のインター予測部221またはイントラ予測部222によって行われることができ、S410、S420、S430、S440は、それぞれエンコード装置200の減算部231、変換部232、量子化部233、エントロピーエンコード部240によって行われることができる。
【0101】
図4に示すように、エンコード装置は、現在ブロックに対する予測を介して予測サンプルを導出できる(S400)。エンコード装置は、現在ブロックにインター予測を行うか、またはイントラ予測を行うかの可否を決定することができ、具体的なインター予測モードまたは具体的なイントラ予測モードをRDコストに基づいて決定することができる。決定されたモードによってエンコード装置は、現在ブロックに対する予測サンプルを導出できる。
【0102】
エンコード装置は、現在ブロックに対する原本サンプルと予測サンプルとを比較してレジデュアルサンプルを導出できる(S410)。
【0103】
エンコード装置は、レジデュアルサンプルに対する変換手順を介して変換係数を導出し(S420)、導出された変換係数を量子化して、量子化された変換係数を導出できる(S430)。
【0104】
エンコード装置は、予測情報及びレジデュアル情報を含む画像情報をエンコードし、エンコードされた画像情報をビットストリーム形態で出力することができる(S440)。予測情報は、予測手順に関連した情報であって、予測モード情報及び動き情報に関する情報(ex.インター予測が適用される場合)などを含むことができる。レジデュアル情報は、量子化された変換係数に関する情報を含むことができる。レジデュアル情報は、エントロピーコーディングされることができる。
【0105】
出力されたビットストリームは、格納媒体またはネットワークを介してデコード装置に伝達されることができる。
【0106】
図5は、本文書の実施形態が適用可能な概略的なビデオ/画像デコード方法の一例を示す。
【0107】
図5に開示された方法は、上述した図3のデコード装置300によって行われることができる。具体的に、S500は、デコード装置300のインター予測部332またはイントラ予測部331によって行われることができる。S500でビットストリームに含まれた予測情報をデコードして関連シンタックス要素の値を導出する手順は、デコード装置300のエントロピーデコード部310によって行われることができる。S510、S520、S530、S540は、それぞれデコード装置300のエントロピーデコード部310、逆量子化部321、逆変換部322、加算部340によって行われることができる。
【0108】
図5に示すように、デコード装置は、エンコード装置で行われた動作と対応する動作を行うことができる。デコード装置は、受信された予測情報に基づいて現在ブロックに対するインター予測またはイントラ予測を行い、予測サンプルを導出できる(S500)。
【0109】
デコード装置は、受信されたレジデュアル情報に基づいて現在ブロックに対する量子化された変換係数を導出できる(S510)。デコード装置は、エントロピーデコードを介してレジデュアル情報から量子化された変換係数を導出できる。
【0110】
デコード装置は、量子化された変換係数を逆量子化して変換係数を導出できる(S520)。
【0111】
デコード装置は、変換係数に対する逆変換手順を介してレジデュアルサンプルを導出する(S530)。
【0112】
デコード装置は、予測サンプル及びレジデュアルサンプルに基づいて現在ブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャを生成できる(S540)。その後、復元ピクチャにインループフィルタリング手順がさらに適用され得ることは、上述したとおりである。
【0113】
一方、前述したように、エンコード装置の量子化部は、変換係数に量子化を適用して量子化された変換係数を導出でき、エンコード装置の逆量子化部またはデコード装置の逆量子化部は、量子化された変換係数に逆量子化を適用して変換係数を導出できる。
【0114】
一般的に、ビデオ/画像コーディングでは、量子化率を変化させることができ、変化された量子化率を利用して圧縮を調節することができる。実現観点では、複雑度を考慮して量子化率を直接使用する代わりに量子化パラメータ(QP、quantization parameter)を使用することができる。例えば、0から63までの整数値の量子化パラメータを使用することができ、各量子化パラメータ値は、実際量子化率に対応されることができる。ルマ成分(ルマサンプル)に対する量子化パラメータ(QP)とクロマ成分(クロマサンプル)に対する量子化パラメータ(QP)は、異なるように設定されることができる。
【0115】
量子化過程は、変換係数(C)を入力とし、量子化率(Qstep)に分けて、これに基づいて量子化された変換係数(C`)を得ることができる。このとき、計算複雑度を考慮して量子化率にスケールを掛け算して整数形態にし、スケール値に該当する値ほどシフト演算を実行することができる。量子化率とスケール値の掛け算に基づいて量子化スケール(quantization scale)が導出されることができる。即ち、QPによって量子化スケールが導出されることができる。変換係数(C)に量子化スケールを適用し、これに基づいて量子化された変換係数(C`)を導出することもできる。
【0116】
逆量子化過程は、量子化過程の逆過程で量子化された変換係数(C`)に量子化率(Qstep)を掛け算して、これに基づいて復元された変換係数(C``)を得ることができる。この場合、量子化パラメータによってレベルスケール(level scale)が導出されることができ、量子化された変換係数(C`)にレベルスケールを適用し、これに基づいて復元された変換係数(C``)を導出できる。復元された変換係数(C``)は、変換及び/又は量子化過程での損失(loss)によって最初変換係数(C)と多少差がある。したがって、エンコード装置でもデコード装置と同じく逆量子化を実行する。
【0117】
また、周波数によって量子化強度を調節する適応的周波数別加重量子化(adaptive frequency weighting quantization)技術が適用され得る。適応的周波数別加重量子化技術は、周波数別に量子化強度を異なるように適用する方法である。適応的周波数別加重量子化は、あらかじめ定義された量子化スケーリングマトリクスを利用して各周波数別量子化強度を異なるように適用できる。即ち、前述した量子化/逆量子化の過程は、量子化スケーリングマトリクスに基づいてさらに実行されることができる。例えば、現在ブロックのサイズ及び/又は現在ブロックのレジデュアル信号を生成するために、現在ブロックに適用された予測モードがインター予測であるか、または、イントラ予測であるかによって、異なる量子化スケーリングマトリクスが使われることができる。量子化スケーリングマトリクスは、量子化マトリクスまたはスケーリングマトリクスと呼ばれることができる。量子化スケーリングマトリクスは、あらかじめ定義されることができる。また、周波数適応的スケーリングのために、量子化スケーリングマトリクスに対する周波数別量子化スケール情報がエンコード装置で構成/エンコードされてデコード装置にシグナリングされることができる。周波数別量子化スケール情報は、量子化スケーリング情報と呼ばれることができる。周波数別量子化スケール情報は、スケーリングリストデータ(scaling_list_data)を含むことができる。スケーリングリストデータに基づいて(修正された)量子化スケーリングマトリクスが導出されることができる。また、周波数別量子化スケール情報は、スケーリングリストデータの存否可否を指示する存否フラグ(present flag)情報を含むことができる。または、スケーリングリストデータが上位レベル(例えば、SPS)でシグナリングされた場合、より下位レベル(例えば、PPS or tile group header etc)でスケーリングリストデータが修正されるかどうかを指示する情報などがさらに含まれることができる。
【0118】
前述したように、スケーリングリストデータは、量子化/逆量子化に使われる(周波数ベースの量子化)スケーリングマトリクスを示すためにシグナリングされることができる。
【0119】
デフォルト及びユーザ定義スケーリングマトリクスのシグナリング支援は、HEVC標準に存在し、現在VVC標準に採択された。しかし、VVC標準の場合、下記の機能のシグナリングのための追加的支援が統合された。
【0120】
-スケーリングマトリクスのための3つモード:OFF、DEFAULT、USER_DEFINED
【0121】
-ブロックに対するさらに大きいサイズ範囲(ルマの場合、4×4~64×64、クロマの場合、2×2~32×32)
【0122】
-四角形変換ブロック(TBs)
【0123】
-依存的量子化(Dependent quantization)
【0124】
-多重変換選択(Multiple Tranform Selection;MTS)
【0125】
-高周波係数をゼロにする変換(Large transforms with zeroing-out high frequency coefficients)
【0126】
-イントラサブブロックパーティショニング(Intra sub-block partitioning;ISP)
【0127】
-イントラブロックコピー(Intra Block Copy;IBC)(現在ピクチャ参照(current picture referencing;CPR)ともいう)
【0128】
-全てのTBサイズに対するDEFAULTスケーリングマトリクス、デフォルト値は16
【0129】
スケーリングマトリクスは、全てのサイズに対する変換スキップ(Transform Skip;TS)及び二次変換(Secondary Transform;ST)に適用されてはならないという点に留意しなければならない。
【0130】
以下では、VVC標準でスケーリングリストを支援するための上位レベルシンタックス(High Level Syntax;HSL)構造が詳細に説明される。まず、スケーリングリストがデコードされる現在CVS(coded video sequence)に対して可用であるということを指示するために、フラグがシーケンスパラメータセット(Sequence Parameter Set;SPS)を介してシグナリングされることができる。その次に、前記フラグが可用な場合、SPSでスケーリングリストに特定データが存在するかを示すために追加フラグがパーシングされることができる。これは表1のように示すことができる。
【0131】
表1は、CVSに対するスケーリングリストを説明するためにSPSから抄出したものである。
【0132】
【表1】
【0133】
前記表1のSPSシンタックスに含まれているシンタックス要素のセマンティクス(semantics)は、以下の表2のように示すことができる。
【0134】
【表2】
【0135】
前記表1及び表2を参照すると、SPSからscaling_list_enabled_flagがシグナリングされることができる。例えば、scaling_list_enabled_flagの値が1である場合、スケーリングリストが変換係数に対するスケーリング過程に使われることを示すことができ、scaling_list_enabled_flagの値が0である場合、スケーリングリストが変換係数に対するスケーリング過程に使用されないことを示すことができる。このとき、scaling_list_enabled_flagの値が1である場合、sps_scaling_list_data_present_flagがSPSからさらにシグナリングされることができる。例えば、sps_scaling_list_data_present_flagの値が1である場合、scaling_list_data()シンタックス構造がSPSに存在することを示し、sps_scaling_list_data_present_flagの値が0である場合、scaling_list_data()シンタックス構造がSPSに存在しないことを示すことができる。sps_scaling_list_data_present_flagが存在しない場合、sps_scaling_list_data_present_flagの値は、0に類推されることができる。
【0136】
また、ピクチャパラメータセット(Picture Parameter Set;PPS)でフラグ(例:pps_scaling_list_data_present_flag)が先にパーシングされることができる。このフラグが可用な場合、PPSでscaling_list_data()がパーシングされることができる。scaling_list_data()が先にSPSで存在し、後にPPSでパーシングされる場合、PPSでのデータがSPSでのデータに優先することができる。以下の表3は、スケーリングリストデータを説明するためにPPSから抄出したものである。
【0137】
【表3】
【0138】
前記表3のPPSシンタックスに含まれているシンタックス要素のセマンティクス(semantics)は、以下の表4のように示すことができる。
【0139】
【表4】
【0140】
前記表3及び表4を参照すると、PPSからpps_scaling_list_data_present_flagがシグナリングされることができる。例えば、pps_scaling_list_data_present_flagの値が1である場合、PPSを参照するピクチャに使用されたスケーリングリストデータが、活性SPSにより特定されたスケーリングリスト及びPPSにより特定されたスケーリングリストに基づいて導出されることを示すことができる。pps_scaling_list_data_present_flagの値が0である場合、PPSを参照するピクチャに使用されたスケーリングリストデータが、活性SPSにより特定されたスケーリングリストと同じであると類推されることを示すことができる。このとき、scaling_list_enabled_flagの値が0である場合、pps_scaling_list_data_present_flagの値は、0にならなければならない。scaling_list_enabled_flagの値が1であり、sps_scaling_list_data_present_flagの値が0であり、pps_scaling_list_data_present_flagの値が0である場合、スケーリングリストデータセマンティクスで説明されたように、デフォルトスケーリングリストデータがスケーリングファクタ(Scaling Factor)配列を導出するのに使われることができる。
【0141】
スケーリングリストは、次の量子化マトリクスサイズに対してVVC標準で定義されることができる。これは、以下の表5のように示すことができる。量子化マトリクスに対する支援範囲は、HEVC標準で4×4、8×8、16×16及び32×32で2×2と64×64を含むように拡張された。
【0142】
【表5】
【0143】
前記表5は、使用された全ての量子化マトリクスサイズに対するsizeIdを定義している。前述した組み合わせを使用して、sizeId、コーディングユニットの予測モード(CuPredMode)、及びカラー成分の相異なる組み合わせに対してmatrixIdが割り当てられることができる。ここで、考慮されることができるCuPredModeは、インター、イントラ、及びIBC(Intra Block Copy)である。イントラモードとIBCモードは、同じく扱われることができる。したがって、与えられたカラー成分に対して同じmatrixId(s)が共有されることができる。ここで、考慮されることができるカラー成分は、ルマ(Luma(Y))及び二つのカラー成分(Cb及びCr)である。割り当てられたmatrixIdは、以下の表6のように示すことができる。
【0144】
表6は、sizeId、予測モード、及びカラー成分によるmatrixIdを示す。
【0145】
【表6】
【0146】
以下の表7は、スケーリングリストデータ(例:scaling_list_data())に対するシンタックス構造の一例を示す。
【0147】
【表7】
【0148】
前記表7のシンタックスに含まれているシンタックス要素のセマンティクスは、以下の表8のように示すことができる。
【0149】
【表8-1】
【0150】
【表8-2】
【0151】
前記表7及び表8を参照すると、スケーリングリストデータ(例:scaling_list_data())を抽出するために、1から始めて6までの全てのsizeId及び0から5までのmatrixIdに対し、スケーリングリストデータは、2×2クロマ成分及び64×64ルマ成分に適用されることができる。その次に、スケーリングリストの値が参照スケーリングリストの値と同じであるかどうか示すためにフラグ(例:scaling_list_pred_mode_flag)がパーシングされることができる。参照スケーリングリストは、scaling_list_pred_matrix_id_delta[sizeId][matrixId]により示される。しかし、scaling_list_pred_mode_flag[sizeId][matrixId]が1である場合、スケーリングリストデータは、明示的にシグナリングされることができる。scaling_list_pred_matrix_id_deltaが0である場合、表9乃至表12に示すように、デフォルト値を有するDEFAULTモードが使われることができる。scaling_list_pred_matrix_id_deltaの他の値である場合、前記表8のセマンティクスに示すようにrefMatrixIdが先に決定されることができる。
【0152】
明示的シグナリングにおいて、即ち、USER_DEFINEDモードで、シグナリングされる係数の最大個数が先に決定されることができる。量子化ブロックサイズ2×2、4×4及び8×8の場合、全ての係数がシグナリングされることができる。8×8より大きいサイズの場合、即ち、16×16、32×32及び64×64の場合、64個の係数のみがシグナリングされることができる。即ち、8×8基本マトリクスがシグナリングされ、残りの係数は、基本マトリクスからアップサンプリングされることができる。
【0153】
以下の表9は、ScalingList[1][matrixId][i](i=0..3)のデフォルト値を示す一例である。
【0154】
【表9】
【0155】
以下の表10は、ScalingList[2][matrixId][i](i=0..15)のデフォルト値を示す一例である。
【0156】
【表10】
【0157】
以下の表11は、ScalingList[3..5][matrixId][i](i=0..63)のデフォルト値を示す一例である。
【0158】
【表11】
【0159】
以下の表12は、ScalingList[6][matrixId][i](i=0..63)のデフォルト値を示す一例である。
【0160】
【表12】
【0161】
前述したように、デフォルトスケーリングリストデータは、スケーリングファクタ(Scaling Factor)を導出するのに使われることができる。
【0162】
5次元配列のスケーリングファクタScalingFactor[sizeId][sizeId][matrixId][x][y](ここで、x、y=0..(1<<sizeId)-1)は、前記表5に示す変数sizeId及び前記表6に示す変数matrixIdによって、スケーリングファクタの配列を示すことができる。
【0163】
以下の表13は、前述したデフォルトスケーリングリストに基づいて量子化マトリクスサイズによってスケーリングファクタを導出する例示を示す。
【0164】
【表13-1】
【0165】
【表13-2】
【0166】
四角形サイズの量子化マトリクスに対して、5次元配列のスケーリングファクタScalingFactor[sizeIdW][sizeIdH][matrixId][x][y](ここで、x=0..(1<<sizeIdW)-1、y=0..(1<<sizeIdH)-1、sizeIdW!=sizeIdH)は、以下の表15に示す変数sizeIdW及びsizeIdHによってスケーリングファクタの配列を示すことができ、以下の表14のように導出されることができる。
【0167】
【表14】
【0168】
四角形サイズの量子化マトリクスは、下記の条件を満たすサンプルに対してゼロにしなければならない。
【0169】
-x>32
【0170】
-y>32
【0171】
-デコードされたTUは、デフォルト変換モードにコーディングされずに、(1<<sizeIdW)==32及びx>16
【0172】
-デコードされたTUは、デフォルト変換モードにコーディングされずに、(1<<sizeIdH)==32及びy>16
【0173】
以下の表15は、量子化マトリクスサイズによってsizeIdW及びsizeIdHを示す一例である。
【0174】
【表15】
【0175】
また、一例として、上述したスケーリングリストデータ(例:scaling_list_data())は、次の表16のようなシンタックス構造及び次の表17のようなセマンティクスに基づいて説明されることができる。表16及び表17に開示されたスケーリングリストデータ(例:scaling_list_data())に含まれたシンタックス要素に基づいて上述したように、スケーリングリスト、スケーリングマトリックス、スケーリングファクタなどが導出され得るし、この過程は、上述した表5ないし表15と同一であるか、類似した手順が適用され得る。
【0176】
【表16】
【0177】
【表17-1】
【0178】
【表17-2】
【0179】
以下、本文書では量子化/逆量子化の過程で適応的周波数別加重量子化技術を適用するにあたって、スケーリングリストデータを効率的にシグナリングする方法に関して提案する。
【0180】
図6は、コーディングされた画像/ビデオに対する階層構造を例示的に示す。
【0181】
図6に示すように、コーディングされた画像/ビデオは、画像/ビデオのデコード処理及びその自体を扱うVCL(video coding layer、ビデオコーディング階層)、符号化された情報を送信し、格納する下位システム、及びVCLと下位システムとの間に存在し、ネットワーク適応機能を担当するNAL(network abstraction layer、ネットワーク抽象階層)に区分されている。
【0182】
VCLでは、圧縮された画像データ(スライスデータ)を含むVCLデータを生成し、または、ピクチャパラメータセット(Picture Parameter Set:PPS)、シーケンスパラメータセット(Sequence Parameter Set:SPS)、ビデオパラメータセット(Video Parameter Set:VPS)などの情報を含むパラメータセットまたは画像のデコード過程に付加的に必要なSEI(Supplemental Enhancement Information)メッセージを生成することができる。
【0183】
NALでは、VCLで生成されたRBSP(Raw Byte Sequence Payload)にヘッダ情報(NALユニットヘッダ)を付加してNALユニットを生成することができる。このとき、RBSPは、VCLで生成されたスライスデータ、パラメータセット、SEIメッセージなどを意味する。NALユニットヘッダには当該NALユニットに含まれるRBSPデータによって特定されるNALユニットタイプ情報を含むことができる。
【0184】
また、NALユニットは、VCLで生成されたRBSPのよってVCL NALユニットとNon-VCL NALユニットとに区分されることができる。VCL NALユニットは、画像に対する情報(スライスデータ)を含んでいるNALユニットを意味することができ、Non-VCL NALユニットは、画像をデコードするために必要な情報(パラメータセットまたはSEIメッセージ)を含んでいるNALユニットを意味することができる。
【0185】
VCL NALユニット、Non-VCL NALユニットは、下位システムのデータ規格によってヘッダ情報を付けてネットワークを介して送信されることができる。例えば、NALユニットは、H.266/VVCファイルフォーマット、RTP(Real-time Transport Protocol)、TS(Transport Stream)などのような所定規格のデータ形態で変形されて多様なネットワークを介して送信されることができる。
【0186】
前述したように、NALユニットは、当該NALユニットに含まれるRBSPデータ構造(structure)によってNALユニットタイプが特定されることができ、このようなNALユニットタイプに対する情報は、NALユニットヘッダに格納されてシグナリングされることができる。
【0187】
例えば、NALユニットが画像に対する情報(スライスデータ)を含むかどうかによって、大別して、VCL NALユニットタイプとNon-VCL NALユニットタイプとに分類されることができる。VCL NALユニットタイプは、VCL NALユニットが含むピクチャの性質及び種類などによって分類されることができ、Non-VCL NALユニットタイプは、パラメータセットの種類などによって分類されることができる。
【0188】
下記は、Non-VCL NALユニットタイプが含むパラメータセットの種類などによって特定されたNALユニットタイプの一例である。
【0189】
-APS(Adaptation Parameter Set)NAL unit:APSを含むNALユニットに対するタイプ
【0190】
-DPS(Decoding Parameter Set)NAL unit:DPSを含むNALユニットに対するタイプ
【0191】
-VPS(Video Parameter Set)NAL unit:VPSを含むNALユニットに対するタイプ
【0192】
-SPS(Sequence Parameter Set)NAL unit:SPSを含むNALユニットに対するタイプ
【0193】
-PPS(Picture Parameter Set)NAL unit:PPSを含むNALユニットに対するタイプ
【0194】
-PH(Picture header)NAL unit:PHを含むNALユニットに対するタイプ
【0195】
前述したNALユニットタイプは、NALユニットタイプのためのシンタックス情報を有し、シンタックス情報は、NALユニットヘッダに格納されてシグナリングされることができる。例えば、前記シンタックス情報は、nal_unit_typeであり、NALユニットタイプは、nal_unit_type値に特定されることができる。
【0196】
一方、前述したように、一つのピクチャは、複数のスライスを含むことができ、一つのスライスは、スライスヘッダ及びスライスデータを含むことができる。この場合、一つのピクチャ内の複数のスライス(スライスヘッダ及びスライスデータ集合)に対して一つのピクチャヘッダがさらに付加されることができる。ピクチャヘッダ(ピクチャヘッダシンタックス)は、ピクチャに共通的に適用できる情報/パラメータを含むことができる。本文書において、タイルグループは、スライスまたはピクチャに混用または代替されることができる。また、本文書において、タイルグループヘッダは、スライスヘッダまたはピクチャヘッダに混用または代替されることができる。
【0197】
スライスヘッダ(スライスヘッダシンタックス)は、スライスに共通的に適用できる情報/パラメータを含むことができる。APS(APSシンタックス)またはPPS(PPSシンタックス)は、一つ以上のスライスまたはピクチャに共通的に適用できる情報/パラメータを含むことができる。SPS(SPSシンタックス)は、一つ以上のシーケンスに共通的に適用できる情報/パラメータを含むことができる。VPS(VPSシンタックス)は、多重レイヤに共通的に適用できる情報/パラメータを含むことができる。DPS(DPSシンタックス)は、ビデオ全般に共通的に適用できる情報/パラメータを含むことができる。DPSは、CVS(coded video sequence)の接合(concatenation)に関連した情報/パラメータを含むことができる。本文書において、上位レベルシンタックス(High level syntax、HLS)とは、前記APSシンタックス、PPSシンタックス、SPSシンタックス、VPSシンタックス、DPSシンタックス、ピクチャヘッダシンタックス、スライスヘッダシンタックスのうち少なくとも一つを含むことができる。
【0198】
本文書において、エンコード装置からデコード装置にエンコードされてビットストリーム形態でシグナリングされる画像/ビデオ情報は、ピクチャ内のパーティショニング関連情報、イントラ/インター予測情報、レジデュアル情報、インループフィルタリング情報などを含むだけでなく、スライスヘッダに含まれている情報、ピクチャヘッダに含まれている情報、APSに含まれている情報、PPSに含まれている情報、SPSに含まれている情報、VPSに含まれている情報、及び/又はDPSに含まれている情報を含むことができる。また、前記画像/ビデオ情報は、NALユニットヘッダの情報をさらに含むことができる。
【0199】
一方、APS(Adaptation Parameter Set)は、VVC標準でALF(Adaptive Loop Filter)とLMCS(Luma Mapping with Chroma Scaling)手順のための情報を送信するのに使用されている。また、APSは、他のデータ構造(即ち、他のシンタックス構造)を送信するのに使われることができるように拡張可能な構造を有している。これにより、本文書は、周波数別加重量子化のために使われるスケーリングリストデータをAPSを介してパーシング/シグナリングする方法を提案する。
【0200】
スケーリングリストデータは、前述したように、量子化/逆量子化の過程で適用されることができる周波数別加重量子化のための量子化スケール情報であり、スケールファクタと各周波数インデックスを関連させるリストである。
【0201】
一実施形態として、以下の表18は、スケーリングリストデータを送信するのに使われるAPS(adaptation parameter set)構造の一例を示す。
【0202】
【表18】
【0203】
前記表18のAPSシンタックスに含まれているシンタックス要素のセマンティクス(semantics)は、以下の表19のように示すことができる。
【0204】
【表19】
【0205】
前記表18及び表19を参照すると、APSでadaptation_parameter_set_idシンタックス要素がパーシング/シグナリングされることができる。adaptation_parameter_set_idは、他のシンタックス要素の参照のためのAPSに対する識別子を提供する。即ち、APSは、adaptation_parameter_set_idシンタックス要素に基づいて識別されることができる。adaptation_parameter_set_idシンタックス要素は、APS ID情報と呼ばれることができる。APSは、ピクチャ間に共有されることができ、ピクチャ内の他のタイルグループでは異なる場合がある。
【0206】
また、APSでaps_params_typeシンタックス要素がパーシング/シグナリングされることができる。aps_params_typeは、以下の表18に示すように、APSで送信されるAPSパラメータのタイプを示すことができる。aps_params_typeシンタックス要素は、APSパラメータタイプ情報またはAPSタイプ情報と呼ばれることができる。
【0207】
例えば、以下の表20は、APSを介して送信されることができるAPSパラメータのタイプを示す例示であり、各APSパラメータタイプは、aps_params_typeの値に対応して示すことができる。
【0208】
【表20】
【0209】
前記表20を参照すると、aps_params_typeは、当該APSのタイプを分類するためのシンタックス要素である。aps_params_typeの値が0である場合、当該APSタイプは、ALF_APSであり、当該APSは、ALFデータを運ぶことができ、ALFデータは、フィルタ/フィルタ係数を導出するためのALFパラメータを含むことができる。aps_params_typeの値が1である場合、当該APSタイプは、LMCS_APSであり、当該APSは、LMCSデータを運ぶことができ、LMCSデータは、LMCSモデル/bin/マッピングインデックスを導出するためのLMCSパラメータを含むことができる。aps_params_typeの値が2である場合、当該APSタイプは、SCALING_APSであり、当該APSは、SCALINGリストデータを運ぶことができ、SCALINGリストデータは、周波数ベースの量子化スケーリングマトリクス/スケーリングファクタ/スケーリングリストの値を導出するためのスケーリングリストデータパラメータを含むことができる。
【0210】
例えば、前記表18のように、APSでaps_params_typeシンタックス要素がパーシング/シグナリングされることができ、このとき、aps_params_typeの値が0を示す場合(即ち、aps_params_typeがALF_APSを示す場合)、ALFデータ(即ち、alf_data())がパーシング/シグナリングされることができる。または、aps_params_typeの値が1を示す場合(即ち、aps_params_typeがLMCS_APSを示す場合)、LMCSデータ(即ち、lmcs_data())がパーシング/シグナリングされることができる。または、aps_params_typeの値が2を示す場合(即ち、aps_params_typeがSCALING_APSを示す場合)、スケーリングリストデータ(即ち、scaling_list_data())がパーシング/シグナリングされることができる。
【0211】
また、前記表18及び表19を参照すると、APSでaps_extension_flagシンタックス要素がパーシング/シグナリングされることができる。aps_extension_flagは、APS拡張データフラグ(aps_extension_data_flag)シンタックス要素が存在するかどうかを指示することができる。aps_extension_flagは、例えば、VVC標準の以後バージョンのための拡張ポイントを提供するために使われることができる。aps_extension_flagシンタックス要素は、APS拡張フラグと呼ばれることができる。例えば、aps_extension_flagの値が0である場合、APS拡張データフラグ(aps_extension_data_flag)がAPS RBSPシンタックス構造に存在しないことを示すことができる。または、aps_extension_flagの値が1である場合、APS拡張データフラグ(aps_extension_data_flag)がAPS RBSPシンタックス構造に存在することを示すことができる。
【0212】
aps_extension_flagシンタックス要素に基づいてaps_extension_data_flagシンタックス要素がパーシング/シグナリングされることができる。aps_extension_data_flagシンタックス要素は、APS拡張データフラグと呼ばれることができる。例えば、aps_extension_flagの値が1である場合、aps_extension_data_flagがパーシング/シグナリングされることができ、このとき、aps_extension_data_flagは、任意の値を有することができる。
【0213】
前述したように、本文書の一実施形態によると、スケーリングリストデータを示すためのデータタイプ(例:SCALING_APS)を割り当て、データタイプを示すシンタックス要素(例:aps_params_type)をパーシング/シグナリングすることで効率的にスケーリングリストデータを運ぶことができる。即ち、本文書の一実施形態によると、スケーリングリストデータを統合したAPSの構造を使用することができる。
【0214】
一方、現在VVC標準でスケーリングリストデータ(即ち、scaling_list_data())の使用は、まず、SPS(Sequence Parameter Set)でスケーリングリストデータの可用可否を示すフラグ(即ち、sps_scaling_list_enabled_flag)が存在するかに基づいて指示されることができる。もし、前記フラグ(即ち、sps_scaling_list_enabled_flag)がイネイブルされる場合(即ち、スケーリングリストデータが可用であることを示す場合であって、1または真である場合)、他のフラグ(即ち、sps_scaling_list_data_present_flag)がパーシングされることができる。また、sps_scaling_list_data_present_flagがイネイブルされる場合(即ち、スケーリングリストデータがSPSに存在することを示す場合であって、1または真である場合)、スケーリングリストデータ(即ち、scaling_list_data())がパーシングされることができる。即ち、現在VVC標準ではスケーリングリストデータをSPSでシグナリングしている。この場合、SPSがセッション交渉を可能にして一般的に帯域外に送信されるため、デコードプロセスの間に使われることができ、変換ブロックのスケーリングファクタの決定と関連した情報でスケーリングリストデータを送信することが不要である。デコーダがSPSでスケーリングリストデータを送信すると、デコーダは、スケーリングリストデータから取得された情報を格納するために相当な量のメモリを確保する必要があり、また、変換ブロックデコードで使われる時まで前記情報を維持する必要がある。したがって、このような過程は、SPSレベルで不要であり、下位レベルでパーシング/シグナリングされることがより効果的である。これにより、本文書は、スケーリングリストデータを効果的にパーシング/シグナリングするために階層的構造を提案する。
【0215】
一実施形態として、スケーリングリストデータを上位レベルシンタックスであるSPSからパーシング/シグナリングせずに、より下位レベルシンタックスであるPPS、タイルグループヘッダ、スライスヘッダ、及び/又は他の適切なヘッダでパーシング/シグナリングできるようにする。
【0216】
例えば、以下の表21のようにSPSシンタックスを修正することができる。以下の表19は、CVSに対するスケーリングリストを説明するためのSPSシンタックスの一例を示す。
【0217】
【表21】
【0218】
前記表21のSPSシンタックスに含まれているシンタックス要素のセマンティクスは、以下の表22のように示すことができる。
【0219】
【表22】
【0220】
前記表21及び表22を参照すると、SPSでscaling_list_enabled_flagシンタックス要素がパーシング/シグナリングされることができる。scaling_list_enabled_flagシンタックス要素は、その値が0であるか、または、1であるかに基づいてスケーリングリストが可用であるかどうかを示すことができる。例えば、scaling_list_enabled_flagの値が1である場合、スケーリングリストが変換係数に対するスケーリング過程に使われることを示し、scaling_list_enabled_flagの値が0である場合、スケーリングリストが変換係数に対するスケーリング過程に使用されないことを示すことができる。
【0221】
即ち、scaling_list_enabled_flagシンタックス要素は、スケーリングリスト可用フラグと呼ばれることができ、SPS(または、SPSレベル)でシグナリングされることができる。即ち、SPSレベルでシグナリングされるscaling_list_enabled_flagの値に基づいて、当該SPSを参照するCVS内のピクチャに対して基本的にスケーリングリストが可用であるように決定されることができる。そして、SPSより下位レベル(例:PPS、タイルグループヘッダ、スライスヘッダ、及び/又は他の適切なヘッダ)で追加的な可用フラグをシグナリングしてスケーリングリストを取得することができる。
【0222】
また、SPSでsps_scaling_list_data_present_flagシンタックス要素がパーシング/シグナリングされないことができる。すなわち、SPSでsps_scaling_list_data_present_flagシンタックス要素を除去することにより、このフラグ情報がパーシング/シグナリングされないようにすることができる。sps_scaling_list_data_present_flagシンタックス要素は、スケーリングリストデータのシンタックス構造がSPSに存在するか否かを表すフラグ情報であり、このフラグ情報に応じてSPSにより指定されたスケーリングリストデータをパーシング/シグナリングすることができる。しかし、sps_scaling_list_data_present_flagシンタックス要素を除去することにより、SPSレベルでは、スケーリングリストデータをパーシング/シグナリングしないことができる。
【0223】
前述したように、本文書の一実施形態によると、SPSレベルではスケーリングリスト(scaling_list_data())を直接シグナリングせずに、スケーリングリスト可用フラグ(scaling_list_enabled_flag)のみを明示的にシグナリングするように構成されることができる。以後、SPSでの可用フラグ(scaling_list_enabled_flag)に基づいて下位レベルシンタックスで個別的にスケーリングリスト(scaling_list_data())をパーシングすることができる。したがって、本文書の一実施形態によると、スケーリングリストデータが階層的構造によってパーシング/シグナリングされることができるため、よりコーディング効率を向上させることができる。
【0224】
一方、スケーリングリストデータの存在有無及び使用有無は、ツールイネイブリングフラグ(tool enabling flag)の存在を条件とする。ここで、ツールイネイブリングフラグは、該当ツールをイネイブリングするかどうかを示す情報であって、例えば、scaling_list_enabled_flagシンタックス要素を含むことができる。即ち、scaling_list_enabled_flagシンタックス要素は、スケーリングリストデータの可用可否を示すことによって、スケーリングリストをイネイブリングするかを指示するのに使われることができる。しかし、このツールは、デコーダに対する構文上制約があるべきである。即ち、このツールは、現在CVS(coded video sequence)のデコードに使用されていないということをデコーダに知らせる制限フラグ(constraint flag)があるべきである。したがって、本文書は、スケーリングリストデータに対する制限フラグが適用される方法を提案する。
【0225】
一実施形態として、以下の表23は、制限フラグを使用してスケーリングリストデータをシグナリングするシンタックス(例:一般制限情報シンタックス)の一例を示す。
【0226】
【表23】
【0227】
前記表23のシンタックスに含まれているシンタックス要素のセマンティクス(semantics)は、以下の表22のように示すことができる。
【0228】
【表24】
【0229】
前記表23及び表24を参照すると、制限フラグがgeneral_constraint_info()を介してパーシング/シグナリングされることができる。general_constraint_info()は、一般制限情報フィールドまたは制限フラグに関する情報と呼ばれる。例えば、制限フラグとしてno_scaling_list_constraint_flagシンタックス要素が使われることができる。ここで、制限フラグは、適合したビットストリーム属性(conformance bitstream properties)を指定するのに使われることができる。例えば、no_scaling_list_constraint_flagシンタックス要素の値が1である場合、scaling_list_enabled_flagが0に指定されるべきビットストリーム適合(bitstream conformance)要求事項を示し、no_scaling_list_constraint_flagシンタックス要素の値が0である場合、制限が無いことを示すことができる。
【0230】
一方、前述したように、本文書の一実施形態によると、スケーリングリストデータは、階層的構造を介して伝達されることができる。これによって、本文書は、スライスヘッダを介してパーシング/シグナリングされることができるスケーリングリストデータの構造を提案する。ここで、スライスヘッダは、タイルグループヘッダと呼ばれることもでき、またはピクチャヘッダに混用または代替されることもできる。
【0231】
一実施形態として、以下の表25は、スケーリングリストデータをシグナリングするためのスライスヘッダシンタックスの一例を示す。
【0232】
【表25】
【0233】
前記表25のスライスヘッダシンタックスに含まれているシンタックス要素のセマンティクスは、以下の表26のように示すことができる。
【0234】
【表26】
【0235】
前記表25及び表26を参照すると、スライスヘッダでslice_pic_parameter_set_idシンタックス要素がパーシング/シグナリングされることができる。slice_pic_parameter_set_idシンタックス要素は、使用中であるPPSに対する識別子を示すことができる。即ち、slice_pic_parameter_set_idシンタックス要素は、当該スライスで参照するPPSを識別するための情報であって、pps_pic_parameter_set_idの値を示すことができる。slice_pic_parameter_set_idの値は、0乃至63の範囲内でなければならない。slice_pic_parameter_set_idシンタックス要素は、スライスで参照するPPS識別情報またはPPS ID情報ということができる。
【0236】
また、スライスヘッダでslice_scaling_list_enabled_flagシンタックス要素がパーシング/シグナリングされることができる。slice_scaling_list_enabled_flagシンタックス要素は、現在スライスでスケーリングリストが可用であるかどうかを示すことができる。例えば、slice_scaling_list_enabled_flagの値が1である場合、スケーリングリストが現在スライスで可用であることを示すことができ、slice_scaling_list_enabled_flagの値が0である場合、スケーリングリストが現在スライスで可用でないことを示すことができる。または、スライスヘッダでslice_scaling_list_enabled_flagが存在しない場合、その値は、0に類推されることができる。
【0237】
このとき、slice_scaling_list_enabled_flagシンタックス要素は、上位レベルシンタックス(即ち、SPS)でシグナリングされるscaling_list_enabled_flagシンタックス要素に基づいてパーシング可否が決定されることができる。例えば、SPSでシグナリングされたscaling_list_enabled_flagの値が1である場合(即ち、上位レベルでスケーリングリストデータが可用であるように決定された場合)、スライスヘッダでslice_scaling_list_enabled_flagをパーシングし、当該スライスでスケーリングリストを使用してスケーリング過程を実行するかどうかを決定することができる。
【0238】
また、スライスヘッダでslice_scaling_list_aps_idシンタックス要素がパーシング/シグナリングされることができる。slice_scaling_list_aps_idシンタックス要素は、当該スライスで参照するAPSに対する識別子を示すことができる。即ち、slice_scaling_list_aps_idシンタックス要素は、当該スライスで参照するスケーリングリストデータを含んでいるAPSのID情報(adaptation_parameter_set_id)を示すことができる。一方、slice_scaling_list_aps_idと同じAPS ID情報(adaptation_parameter_set_id)を有するAPS NALユニット(即ち、スケーリングリストデータを含むAPS NALユニット)のTemporalId(即ち、TemporalID)が、コーディングされるスライスNALユニットのTemporalId(即ち、TemporalID)より小さいまたは同じでなければならない。
【0239】
また、slice_scaling_list_aps_idシンタックス要素は、slice_scaling_list_enabled_flagシンタックス要素に基づいてパーシング可否が決定されることができる。例えば、slice_scaling_list_aps_idの値が1である場合(即ち、スライスヘッダでスケーリングリストが可用であるように決定された場合)、slice_scaling_list_aps_idをパーシングすることができる。以後、前記パーシングされたslice_scaling_list_aps_idが指示するAPSからスケーリングリストデータを取得することができる。
【0240】
また、同じ値のAPS ID情報(adaptation_parameter_set_id)を有する複数のSCALING DATA APS(スケーリングリストデータを含む複数のAPS)が同一ピクチャ内の二つ以上のスライスにより参照される場合、同じ値のAPS ID情報(adaptation_parameter_set_id)を有する複数のSCALING DATA APSは、同じ内容を含まなければならない。
【0241】
また、前述したシンタックス要素が存在する場合、スライスヘッダシンタックス要素slice_pic_parameter_set_id、slice_pic_order_cnt_lsb、及びslice_temporal_mvp_enabled_flagの各々の値は、コーディングされるピクチャ内の全てのスライスヘッダで同じでなければならない。
【0242】
前述したように、本文書の一実施形態によると、スケーリングリストデータを効率的にシグナリングするために階層的構造を使用することができる。即ち、上位レベル(SPSシンタックス)でスケーリングリストデータの可用可否を示す可用フラグ(例:scaling_list_enabled_flag)を先にシグナリングし、以後、下位レベル(例:スライスヘッダ、ピクチャヘッダ等)で追加的な可用フラグ(例:slice_scaling_list_enabled_flag)をシグナリングすることで各下位レベルでスケーリングリストデータを使用するかを決定することができる。また、下位レベル(例:スライスヘッダ、ピクチャヘッダ等)を介して当該スライスまたはタイルグループで参照するAPS ID情報(例:slice_scaling_list_aps_id)をシグナリングし、APS ID情報により識別されるAPSからスケーリングリストデータを導出できる。
【0243】
また、本文書は、階層的構造によってスケーリングリストデータをシグナリングするにあたって、前述した表23及び表24で提案された方法のように適用されることもでき、以下の表25のようなスライスヘッダの構造を介してスケーリングリストデータを伝達することもできる。
【0244】
一実施形態として、以下の表27は、スケーリングリストデータをシグナリングするためのスライスヘッダシンタックスの一例を示す。ここで、スライスヘッダは、タイルグループヘッダと呼ばれることもでき、またはピクチャヘッダに混用または代替されることもできる。
【0245】
【表27】
【0246】
前記表27のスライスヘッダシンタックスに含まれているシンタックス要素のセマンティクスは、以下の表28のように示すことができる。
【0247】
【表28】
【0248】
前記表27及び表28を参照すると、スライスヘッダでslice_pic_parameter_set_idシンタックス要素がパーシング/シグナリングされることができる。slice_pic_parameter_set_idシンタックス要素は、使用中であるPPSに対する識別子を示すことができる。即ち、slice_pic_parameter_set_idシンタックス要素は、当該スライスで参照するPPSを識別するための情報であって、pps_pic_parameter_set_idの値を示すことができる。slice_pic_parameter_set_idの値は、0乃至63の範囲内でなければならない。slice_pic_parameter_set_idシンタックス要素は、スライスで参照するPPS識別情報またはPPS ID情報ということができる。
【0249】
また、スライスヘッダでslice_scaling_list_aps_idシンタックス要素がパーシング/シグナリングされることができる。slice_scaling_list_aps_idシンタックス要素は、当該スライスで参照するAPSに対する識別子を示すことができる。即ち、slice_scaling_list_aps_idシンタックス要素は、当該スライスで参照するスケーリングリストデータを含んでいるAPSのID情報(adaptation_parameter_set_id)を示すことができる。一例として、slice_scaling_list_aps_idと同じAPS ID情報(adaptation_parameter_set_id)を有するAPS NALユニット(即ち、スケーリングリストデータを含むAPS NALユニット)のTemporalId(即ち、TemporalID)が、コーディングされるスライスNALユニットのTemporalId(即ち、TemporalID)より小さいまたは同じでなければならない。
【0250】
このとき、slice_scaling_list_aps_idシンタックス要素は、上位レベルシンタックス(即ち、SPS)でシグナリングされるscaling_list_enabled_flagシンタックス要素に基づいてパーシング可否が決定されることができる。例えば、SPSでシグナリングされたscaling_list_enabled_flagの値が1である場合(即ち、上位レベルでスケーリングリストデータが可用であるように決定された場合)、スライスヘッダでslice_scaling_list_aps_idをパーシングすることができる。以後、前記パーシングされたslice_scaling_list_aps_idが指示するAPSからスケーリングリストデータを取得することができる。
【0251】
即ち、本実施形態によると、スケーリングリストデータを含むAPS IDは、SPS内の対応するフラグ(例:scaling_list_enabled_flag)がイネイブルされる場合、パーシングされることができるため、前述した表25に示すように、上位レベルシンタックス(即ち、SPS)でシグナリングされるscaling_list_enabled_flagシンタックス要素に基づいて該当下位レベル(例えば、スライスヘッダまたはピクチャヘッダ)で参照するスケーリングリストデータを含むAPS ID(例:slice_scaling_list_aps_id)情報をパーシングすることができる。
【0252】
また、本文書は、スケーリングリストデータをシグナリングするために複数のAPSを使用する方法に関して提案する。以下では、本文書の一実施形態によってスケーリングリストデータを含む複数のAPS IDを効率的にシグナリングする方法を説明する。この方法は、ビットストリームマージ(merge)の間に有用である。
【0253】
一実施形態として、以下の表29は、複数のAPSを使用してスケーリングリストデータをシグナリングするためのスライスヘッダシンタックスの一例を示す。ここで、スライスヘッダは、タイルグループヘッダと呼ばれることもでき、または、ピクチャヘッダに混用または代替されることもできる。
【0254】
【表29】
【0255】
前記表29のスライスヘッダシンタックスに含まれているシンタックス要素のセマンティクスは、以下の表30のように示すことができる。
【0256】
【表30】
【0257】
前記表29及び表30を参照すると、スライスヘッダでslice_pic_parameter_set_idシンタックス要素がパーシング/シグナリングされることができる。slice_pic_parameter_set_idシンタックス要素は、slice_pic_parameter_set_idシンタックス要素は使用中であるPPSに対する識別子を示すことができる。即ち、slice_pic_parameter_set_idシンタックス要素は、当該スライスで参照するPPSを識別するための情報であって、pps_pic_parameter_set_idの値を示すことができる。slice_pic_parameter_set_idの値は、0乃至63の範囲内でなければならない。slice_pic_parameter_set_idシンタックス要素は、スライスで参照するPPS識別情報またはPPS ID情報ということができる。
【0258】
また、スライスヘッダでslice_scaling_list_enabled_flagシンタックス要素がパーシング/シグナリングされることができる。slice_scaling_list_enabled_flagシンタックス要素は、現在スライスでスケーリングリストが可用であるかどうかを示すことができる。例えば、slice_scaling_list_enabled_flagの値が1である場合、スケーリングリストが現在スライスで可用であることを示すことができ、slice_scaling_list_enabled_flagの値が0である場合、スケーリングリストが現在スライスで可用でないことを示すことができる。または、スライスヘッダでslice_scaling_list_enabled_flagが存在しない場合、その値は、0に類推されることができる。
【0259】
このとき、slice_scaling_list_enabled_flagシンタックス要素は、上位レベルシンタックス(即ち、SPS)でシグナリングされるscaling_list_enabled_flagシンタックス要素に基づいてパーシング可否が決定されることができる。例えば、SPSでシグナリングされたscaling_list_enabled_flagの値が1である場合(即ち、上位レベルでスケーリングリストデータが可用であるように決定された場合)、スライスヘッダでslice_scaling_list_enabled_flagをパーシングし、当該スライスでスケーリングリストを使用してスケーリング過程を実行するかどうかを決定することができる。
【0260】
また、スライスヘッダでnum_scaling_list_aps_ids_minus1シンタックス要素がパーシング/シグナリングされることができる。num_scaling_list_aps_ids_minus1シンタックス要素は、当該スライスにより参照されるスケーリングリストデータを含むAPSの個数を指示するための情報である。例えば、num_scaling_list_aps_ids_minus1シンタックス要素の値に1を加えた値がAPS個数である。num_scaling_list_aps_ids_minus1の値は、0乃至7の範囲内でなければならない。
【0261】
ここで、num_scaling_list_aps_ids_minus1シンタックス要素は、slice_scaling_list_enabled_flagシンタックス要素に基づいてパーシング可否が決定されることができる。例えば、slice_scaling_list_enabled_flagの値が1である場合(即ち、当該スライスでスケーリングリストデータが可用であるように決定された場合)、num_scaling_list_aps_ids_minus1をパーシングすることができる。この場合、num_scaling_list_aps_ids_minus1の値に基づいてslice_scaling_list_aps_id[i]シンタックス要素がパーシング/シグナリングされることができる。
【0262】
即ち、slice_scaling_list_aps_id[i]は、i番目のスケーリングリストデータを含むAPS(即ち、i番目のSCALING LIST APS)の識別子(adaptation_parameter_set_id)を示すことができる。即ち、num_scaling_list_aps_ids_minus1シンタックス要素により指示されるAPS個数ほどAPS ID情報がシグナリングされることができる。一方、slice_scaling_list_aps_id[i]と同じAPS ID情報(adaptation_parameter_set_id)を有するAPS NALユニット(即ち、スケーリングリストデータを含むAPS NALユニット)のTemporalId(即ち、TemporalID)が、コーディングされるスライスNALユニットのTemporalId(即ち、TemporalID)より小さいまたは同じでなければならない。
【0263】
また、同じ値のAPS ID情報(adaptation_parameter_set_id)を有する複数のSCALING DATA APS(スケーリングリストデータを含む複数のAPS)が同一ピクチャ内の二つ以上のスライスにより参照される場合、同じ値のAPS ID情報(adaptation_parameter_set_id)を有する複数のSCALING DATA APSは、同じ内容を含まなければならない。
【0264】
また、本文書は、階層的構造によってスケーリングリストデータをシグナリングするにあたり、重複的にシグナリングされないようにする方案を提案する。一実施形態として、PPS(Picture Parameter Set)でスケーリングリストデータのシグナリングを除去できる。スケーリングリストデータは、SPS、またはAPS、及び/又は他の適切なヘッダセットで十分にシグナリングされることができる。
【0265】
一実施形態として、次の表31は、PPSでスケーリングリストデータをシグナリングしないPPSシンタックスの一例を示す。
【0266】
【表31】
【0267】
次の表32は、前記表31のPPSシンタックスでスケーリングリストデータの重複的なシグナリングを避けるために除去され得るシンタックス要素(例:pps_scaling_list_data_present_flag)に対するセマンティクスを表した一例である。
【0268】
【表32】
【0269】
前記表31及び表32を参照すれば、PPSでスケーリングリストデータをシグナリングするための情報、例えば、pps_scaling_list_data_present_flagシンタックス要素を除去できる。pps_scaling_list_data_present_flagシンタックス要素は、その値が0であるか、1であるかの可否に基づいてPPSでスケーリングリストデータをシグナリングするか否かを表すことができる。例えば、pps_scaling_list_data_present_flagシンタックス要素の値が1である場合、PPSを参照するピクチャに使用されるスケーリングリストデータは、活性SPSにより指定されたスケーリングリスト及びPPSにより指定されたスケーリングリストデータに基づいて導出されることを表すことができる。pps_scaling_list_data_present_flagシンタックス要素の値が0である場合、PPSを参照するピクチャに使用されるスケーリングリストデータは、活性SPSにより指定されたことと同一に類推されることを表すことができる。すなわち、pps_scaling_list_data_present_flagシンタックス要素は、PPSからシグナリングされるスケーリングリストデータが存在するか否かを表す情報であることができる。
【0270】
すなわち、本実施形態では、重複的にスケーリングリストデータをシグナリングすることを防止するために、前記表31のように、pps_scaling_list_data_present_flagシンタックス要素を除去することにより(すなわち、pps_scaling_list_data_present_flagシンタックス要素をシグナリングしないことにより)、PPSによりスケーリングリストデータをパーシング/シグナリングさせないことができる。
【0271】
また、本文書は、APSでスケーリングリストマトリックスをシグナリングするための方案を提案する。既存の方案は、3つのモード(すなわち、OFF、DEFAULT、USER_DEFINEDモード)を使用している。OFFモードは、スケーリングリストデータが変換ブロックに適用されないことを表す。DEFAULTモードは、スケーリングマトリックスを生成するのに固定値が使用されることを表す。USER_DEFINEDモードは、ブロックサイズ、予測モード、及びカラー成分に基づいてスケーリングマトリックスが使用されることを表す。現在VVCで支援されるスケーリングマトリックスの総個数は、44個であり、これは、HEVCでの28個より大きく増加されたものである。現在スケーリングリストデータは、SPSでシグナリングされ、PPSで条件的に存在することができる。APSでスケーリングリストデータをシグナリングすることにより、SPS及びPPSで同じデータの重複的なシグナリング(redundant signaling)は不要であるので、除去されることができる。
【0272】
例えば、現在VVCで定義されたスケーリングマトリックスは、scaling_list_enabled_flagを使用してSPSで可用であるか(enabled)否かを表す。このフラグが可用であることを表す場合、変換係数に対するスケーリング過程でスケーリングリストが使用され、このフラグが可用でないことを表す場合、変換係数に対するスケーリング過程でスケーリングリストが使用されない(例:OFFモード)。また、スケーリングリストデータがSPSに存在するか否かを表すsps_scaling_list_data_present_flagがパーシングされ得る。SPSでのシグナリング以外に、スケーリングリストデータは、さらにPPSに存在することができる。pps_scaling_list_data_present_flagがPPSで可用であることを表す場合、スケーリングリストデータがPPSに存在することができる。スケーリングリストデータがSPS及びPPSで共に存在する場合、PPSからのスケーリングリストデータが活性PPSを参照するフレームに使用されることができる。scaling_list_enable_flagが可用であることを表すが、スケーリングリストデータがSPSにのみ存在し、PPSには存在しない場合、SPSからのスケーリングリストデータは、フレームにより参照されることができる。scaling_list_enable_flagが可用であることを表し、スケーリングリストデータがSPSまたはPPSに存在しない場合、DEFAULTモードが使用され得る。また、DEFAULTモードの使用は、スケーリングリストデータ自体内でシグナリングされることもできる。スケーリングリストデータが明示的にシグナリングされる場合、USER DEFINEDモードが使用され得る。与えられた変換ブロックに対するスケーリングファクタ(Scaling Factor)は、スケーリングリストでシグナリングされる情報を使用して決定されることができる。これは、APSでスケーリングリストデータをシグナリングするように提案される。
【0273】
現在VVCでは、スケーリングリストデータを採択して使用しており、VVCで支援されるスケーリングマトリックスは、HEVCより広範である。VVCで支援されるスケーリングマトリックスは、ルマの場合、4×4から64×64まで、クロマの場合、2×2から32×32までのブロックサイズを選択できるようにする。また、長方形変換ブロック(TB)サイズ、従属的な量子化(dependent quantization)、多重変換選択(multiple transform selection)、大きいサイズの変換ブロックに対する高周波係数のゼロイングアウト(large transform with zeroing out high frequency coefficients)、イントラサブブロックパーティショニング(intra subblock partitioning;ISP)、イントラブロックコピー(intra block copy;IBC)を統合できる。イントラブロックコピー(IBC)とイントラコーディングモードとは、同じスケーリングマトリックスを共有できる。
【0274】
したがって、USER_DEFINEDモードの場合、シグナリングされるマトリックスの個数は、次のとおりであることができる。
【0275】
・MatrixType:30=2(2 for intra & IBC/inter)×3(Y/Cb/Cr components)×5(square TB size:from 4×4 to 64×64 for luma、from 2×2 to 32×32 for chroma)
【0276】
・MatrixType_DC:14=2(2 for intra & IBC/inter×1 for Y component)×3(TB size:16×16、32×32、64×64)+4(2 for intra & IBC/inter×2 for Cb/Cr components)×2(TB size:16×16、32×32)
【0277】
DC値は、16×16、32×32、及び64×64サイズのスケーリングマトリックスに対して別にコーディングされることができる。変換ブロック(TB)サイズが8×8より小さい場合、1つのスケーリングマトリックス内に全ての要素に対してシグナリングされることができる。変換ブロック(TB)サイズが8×8より大きいか、同じ場合、1つの8×8スケーリングマトリックス内に64個要素に対してのみ基本スケーリングマトリックスとしてシグナリングされることができる。8×8より大きい正方形マトリックスを取得するために、基本8×8マトリックスは、必要なサイズに対応してアップサンプリングされることができる。DEFAULTモードが使用される場合、スケーリングマトリックスは、16に設定されることができる。したがって、VVCでは、44個の互いに異なるマトリックスを支援することに対し、HEVCでは、28個のマトリックスのみ支援する。VVCで支援されるスケーリングマトリックスの数がHEVCより広範であるので、SPS及び/又はPPSで重複的なシグナリングを避けるために、スケーリングリストデータのシグナリングのためのより実用的な選択としてAPSを使用できる。これは、スケーリングリストデータの不要で重複的なシグナリングを避けることができる。
【0278】
上述したような問題を解決しようとして、本文書は、APSでスケーリングマトリックスをシグナリングする方案を提案する。このために、スケーリングリストデータは、SPSでシグナリングされるか、PPSで条件的に存在する必要なしに、APSでのみシグナリングされることができる。また、スライスヘッダでAPS IDをシグナリングすることができる。
【0279】
一実施形態として、SPSでスケーリングリストデータが可用であるか否かを表すフラグ(例:scaling_list_enable_flag)をシグナリングし、PPSでスケーリングリストデータが存在するか否かを表すフラグ(例:pps_scaling_list_data_present_flag)を除去することによりシグナリングせずに、APSでスケーリングリストデータをシグナリングすることができる。また、スライスヘッダでAPS IDをシグナリングすることができる。このとき、SPSでシグナリングされたscaling_list_enable_flagの値が1であり(すなわち、スケーリングリストデータが可用なことと表す場合)、APS IDがスライスヘッダでシグナリングされない場合、DEFAULTスケーリングマトリックスが使用され得る。このような本文書の一実施形態は、次の表33ないし表41のようなシンタックス及びセマンティクスで実現されることができる。
【0280】
次の表33は、スケーリングリストデータをシグナリングするために使用されるAPS構造の一例を表す。
【0281】
【表33】
【0282】
前記表33のAPSシンタックスに含まれたシンタックス要素のセマンティクス(semantics)は、次の表34のように表すことができる。
【0283】
【表34】
【0284】
前記表33及び表34を参照すれば、APSでadaptation_parameter_set_idシンタックス要素がパーシング/シグナリングされることができる。adaptation_parameter_set_idは、他のシンタックス要素の参照のためのAPSに対する識別子を提供する。すなわち、APSは、adaptation_parameter_set_idシンタックス要素に基づいて識別されることができる。adaptation_parameter_set_idシンタックス要素は。APS ID情報と呼ばれることができる。APSは、ピクチャ間に共有されることができ、ピクチャ内の他のスライスでは異なることができる。
【0285】
また、APSでaps_params_typeシンタックス要素がパーシング/シグナリングされることができる。aps_params_typeは、次の表35に表したように、APSから送信されるAPSパラメータのタイプを表すことができる。aps_params_typeシンタックス要素は、APSパラメータタイプ情報またはAPSタイプ情報と呼ばれることができる。
【0286】
例えば、次の表35は、APSを介して送信されることができるAPSパラメータのタイプを表す例示であり、各APSパラメータタイプは、aps_params_typeの値に対応して表すことができる。
【0287】
【表35】
【0288】
前記表35を参照すれば、aps_params_typeは、当該APSのタイプを分類するためのシンタックス要素であることができる。aps_params_typeの値が0である場合、当該APSタイプは、ALF_APSであることができ、当該APSは、ALFデータを運ぶことができ、ALFデータは、フィルタ/フィルタ係数を導出するためのALFパラメータを含むことができる。aps_params_typeの値が1である場合、当該APSタイプは、LMCS_APSであることができ、当該APSは、LMCSデータを運ぶことができ、LMCSデータは、LMCSモデル/ビン/マッピングインデックスを導出するためのLMCSパラメータを含むことができる。aps_params_typeの値が2である場合、当該APSタイプは、SCALING_APSであることができ、当該APSは、SCALINGリストデータを運ぶことができ、SCALINGリストデータは、周波数に基づく量子化スケーリングマトリックス/スケーリング、ファクタ/スケーリングリストの値を導出するためのスケーリングリストデータパラメータを含むことができる。
【0289】
例えば、前記表33のように、APSでaps_params_typeシンタックス要素がパーシング/シグナリングされることができ、このとき、aps_params_typeの値が0を表す場合(すなわち、aps_params_typeがALF_APSを表す場合)、ALFデータ(すなわち、alf_data())がパーシング/シグナリングされることができる。または、aps_params_typeの値が1を表す場合(すなわち、aps_params_typeがLMCS_APSを表す場合)、LMCSデータ(すなわち、lmcs_data())がパーシング/シグナリングされることができる。または、aps_params_typeの値が2を表す場合(すなわち、aps_params_typeがSCALING_APSを表す場合)、スケーリングリストデータ(すなわち、scaling_list_data())がパーシング/シグナリングされることができる。
【0290】
また、前記表33及び表34を参照すれば、APSでaps_extension_flagシンタックス要素がパーシング/シグナリングされることができる。aps_extension_flagは、APS拡張データフラグ(aps_extension_data_flag)シンタックス要素が存在するか否かを指示できる。aps_extension_flagは、例えば、VVC標準の以後バージョンのための拡張ポイントを提供するために使用されることができる。aps_extension_flagシンタックス要素は、APS拡張フラグと呼ばれることができる。例えば、aps_extension_flagの値が0である場合、APS拡張データフラグ(aps_extension_data_flag)がAPS RBSPシンタックス構造に存在しないことを表すことができる。または、aps_extension_flagの値が1である場合、APS拡張データフラグ(aps_extension_data_flag)がAPS RBSPシンタックス構造に存在することを表すことができる。
【0291】
aps_extension_flagシンタックス要素に基づいてaps_extension_data_flagシンタックス要素がパーシング/シグナリングされることができる。aps_extension_data_flagシンタックス要素は、APS拡張データフラグと呼ばれることができる。例えば、aps_extension_flagの値が1である場合、aps_extension_data_flagがパーシング/シグナリングされることができ、このとき、aps_extension_data_flagは、任意の値を有することができる。
【0292】
上述したように、本文書の一実施形態によれば、スケーリングリストデータを表すためのデータタイプ(例:SCALING_APS)を割り当て、データタイプを表すシンタックス要素(例:aps_params_type)をパーシング/シグナリングすることにより、効率的にスケーリングリストデータを運ぶことができる。すなわち、本文書の一実施形態によれば、スケーリングリストデータを統合したAPSの構造を使用することができる。
【0293】
また、APSでスケーリングリストデータをシグナリングするにあたり、SPSでスケーリングリストデータが可用であるか否かをシグナリングし、これに基づいてAPSでAPSパラメータタイプ(例:aps_params_type)によってスケーリングリストデータをパーシング/シグナリングすることができる。また、本文書の一実施形態では、上位レベルシンタックスで重複的なスケーリングリストデータのシグナリングを避けるために、スケーリングリストデータシンタックス構造(例:scaling_list_data())がSPSまたはPPSで存在するか否かを表すフラグ情報をSPSまたはPPSからパーシング/シグナリングさせないことにより、SPSまたはPPSでスケーリングリストデータをシグナリングしないことができる。これは、次の表36ないし表39のようなシンタックス及びセマンティクスで実現されることができる。
【0294】
例えば、次の表36のようにSPSシンタックスを修正できる。次の表36は、SPSでスケーリングリストデータのシグナリングをしないSPSシンタックス構造の一例を表す。
【0295】
【表36】
【0296】
前記表36のSPSシンタックスに含まれたシンタックス要素のセマンティクスは、次の表37のように修正されることができる。一例として、表36及び表37では、スケーリングリストデータの重複的なシグナリングを避けるために、SPSに含まれたシンタックス要素のうち、一部シンタックス要素(例:sps_scaling_list_data_present_flag)が除去され得る。
【0297】
【表37】
【0298】
前記表36及び表37を参照すれば、SPSでscaling_list_enabled_flagシンタックス要素がパーシング/シグナリングされることができる。scaling_list_enabled_flagシンタックス要素は、その値が0であるか、1であるかの可否に基づいてスケーリングリストが可用であるか否かを表すことができる。例えば、scaling_list_enabled_flagの値が1である場合、スケーリングリストが変換係数に対するスケーリング過程に使用されることを表し、scaling_list_enabled_flagの値が0である場合、スケーリングリストが変換係数に対するスケーリング過程に使用されないことを表すことができる。
【0299】
すなわち、scaling_list_enabled_flagシンタックス要素は、スケーリングリスト可用フラグと呼ばれることができ、SPS(または、SPSレベル)でシグナリングされることができる。言い換えれば、SPSレベルでシグナリングされるscaling_list_enabled_flagの値に基づいて、当該SPSを参照するCVS内のピクチャに対して基本的にスケーリングリストが可用なように決定されることができる。そして、SPSより下位レベル(例:PPS、タイルグループヘッダ、スライスヘッダ、及び/又は他の適切なヘッダ)で追加的な可用フラグをシグナリングしてスケーリングリストを取得できる。
【0300】
また、SPSでsps_scaling_list_data_present_flagシンタックス要素がパーシング/シグナリングされないことができる。すなわち、SPSでsps_scaling_list_data_present_flagシンタックス要素を除去することにより、このフラグ情報がパーシング/シグナリングされないようにすることができる。sps_scaling_list_data_present_flagシンタックス要素は、スケーリングリストデータのシンタックス構造がSPSに存在するか否かを表すフラグ情報であり、このフラグ情報に応じてSPSにより指定されたスケーリングリストデータをパーシング/シグナリングすることができる。しかし、sps_scaling_list_data_present_flagシンタックス要素を除去することにより、SPSレベルでは、スケーリングリストデータを直接シグナリングせずに、スケーリングリスト可用フラグ(scaling_list_enabled_flag)のみ明示的にシグナリングするように構成されることができる。
【0301】
また、PPSでスケーリングリストデータのシグナリングは、次の表38のように除去されることができる。例えば、次の表38は、PPSでスケーリングリストデータのシグナリングをしないPPSシンタックス構造の一例を表す。
【0302】
【表38】
【0303】
前記表38のPPSシンタックスに含まれたシンタックス要素のセマンティクスは、次の表39のように修正されることができる。一例として、次の表39は、PPSシンタックスでスケーリングリストデータの重複的なシグナリングを避けるために除去され得るシンタックス要素(例:pps_scaling_list_data_present_flag)に対するセマンティクスを表す。
【0304】
【表39】
【0305】
前記表38及び表39を参照すれば、PPSでpps_scaling_list_data_present_flagシンタックス要素がパーシング/シグナリングされないことができる。すなわち、PPSでpps_scaling_list_data_present_flagシンタックス要素を除去することにより、このフラグ情報がパーシング/シグナリングされないように構成することができる。pps_scaling_list_data_present_flagシンタックス要素は、スケーリングリストデータのシンタックス構造がPPSに存在するか否かを表すフラグ情報であり、このフラグ情報に応じてPPSにより指定されたスケーリングリストデータをパーシング/シグナリングすることができる。しかし、pps_scaling_list_data_present_flagシンタックス要素を除去することにより、PPSレベルでは、スケーリングリストデータを直接シグナリングしないことができる。
【0306】
上述したように、SPSまたはPPSレベルでスケーリングリストデータが存在するか否かを表すフラグ情報を除去することにより、SPSまたはPPSレベルで直接的にスケーリングリストデータシンタックスをシグナリングしないようにSPSシンタックスとPPSシンタックスとを構成できる。SPSでスケーリングリスト可用フラグ(scaling_list_enabled_flag)のみ明示的にシグナリングし、以後SPSでの可用フラグ(scaling_list_enabled_flag)に基づいて下位レベルシンタックス(例:APS)で個別的にスケーリングリスト(scaling_list_data())をパーシングすることができる。したがって、本文書の一実施形態によれば、スケーリングリストデータが階層的構造によってパーシング/シグナリングされることができるので、よりコーディング効率を向上させることができる。
【0307】
また、APSでスケーリングリストデータをシグナリングするにあたり、スライスヘッダでAPS IDをシグナリングし、スライスヘッダから取得されたAPS IDに基づいてAPSを識別し、識別されたAPSからスケーリングリストデータをパーシング/シグナリングすることができる。ここで、スライスヘッダは、1つの例として説明するだけであり、スライスヘッダは、タイルグループヘッダまたはピクチャヘッダなどの様々なヘッダと混用または代替されることもできる。
【0308】
例えば、次の表40は、APSでスケーリングリストデータをシグナリングするために、APS IDシンタックス要素を含むスライスヘッダシンタックスの一例を表す。
【0309】
【表40】
【0310】
前記表40のスライスヘッダシンタックスに含まれたシンタックス要素のセマンティクスは、次の表41のように表すことができる。
【0311】
【表41】
【0312】
前記表40及び表41を参照すれば、スライスヘッダでslice_pic_parameter_set_idシンタックス要素がパーシング/シグナリングされることができる。slice_pic_parameter_set_idシンタックス要素は、使用中のPPSに対する識別子を表すことができる。すなわち、slice_pic_parameter_set_idシンタックス要素は、当該スライスで参照するPPSを識別するための情報であって、pps_pic_parameter_set_idの値を表すことができる。slice_pic_parameter_set_idの値は、0~63の範囲内にあるべきである。slice_pic_parameter_set_idシンタックス要素は、スライスで参照するPPS識別情報またはPPSID情報といえる。
【0313】
また、スライスヘッダでslice_scaling_list_present_flagシンタックス要素がパーシング/シグナリングされることができる。slice_scaling_list_present_flagシンタックス要素は、現在スライスに対してスケーリングリストマトリックスが存在するか否かを表す情報であることができる。例えば、slice_scaling_list_present_flagの値が1である場合、スケーリングリストマトリックスが現在スライスに対して存在することを表すことができ、slice_scaling_list_present_flagの値が0である場合、デフォルトスケーリングリストデータがスケーリングファクタ(ScalingFactor)アレイを導出するのに使用されることを表すことができる。または、スライスヘッダでslice_scaling_list_present_flagが存在しない場合、その値は、0に類推されることができる。
【0314】
このとき、slice_scaling_list_present_flagシンタックス要素は、上位レベルシンタックス(すなわち、SPS)でシグナリングされるscaling_list_enabled_flagシンタックス要素に基づいてパーシング可否が決定され得る。例えば、SPSでシグナリングされたscaling_list_enabled_flagの値が1である場合(すなわち、上位レベルでスケーリングリストデータが可用なように決定された場合)、スライスヘッダでslice_scaling_list_present_flagをパーシングして、当該スライスでスケーリングリストを使用してスケーリング過程を行うか否かを決定できる。
【0315】
また、スライスヘッダでslice_scaling_list_aps_idシンタックス要素がパーシング/シグナリングされることができる。slice_scaling_list_aps_idシンタックス要素は、当該スライスで参照するAPSに対する識別子を表すことができる。すなわち、slice_scaling_list_aps_idシンタックス要素は、当該スライスで参照するスケーリングリストデータを含んでいるAPSのID情報(adaptation_parameter_set_id)を表すことができる。一方、slice_scaling_list_aps_idと同じAPS ID情報(adaptation_parameter_set_id)を有するAPS NALユニット(すなわち、スケーリングリストデータを含むAPS NALユニット)のTemporalId(すなわち、Temporal ID)は、コーディングされるスライスNALユニットのTemporalId(すなわち、Temporal ID)より小さいか、同じでなければならない。
【0316】
また、slice_scaling_list_aps_idシンタックス要素は、slice_scaling_list_present_flagシンタックス要素に基づいてパーシング可否が決定され得る。例えば、slice_scaling_list_present_flagの値が1である場合(すなわち、スライスヘッダでスケーリングリストが存在する場合)、slice_scaling_list_aps_idをパーシングすることができる。その後、前記パーシングされたslice_scaling_list_aps_idが指示するAPSからスケーリングリストデータを取得できる。
【0317】
また、同じ値のAPS ID情報(adaptation_parameter_set_id)を有する複数のSCALING DATA APS(スケーリングリストデータを含む複数のAPS)が同一ピクチャ内の2つ以上のスライスにより参照される場合、同じ値のAPS ID情報(adaptation_parameter_set_id)を有する複数のSCALING DATA APSは、同じ内容を含まなければならない。
【0318】
上述した表40及び表41によれば、スライスヘッダでAPS IDをシグナリングすることと説明したが、これは、1つの例示であり、本文書では、ピクチャヘッダまたはタイルグループヘッダなどでAPS IDをシグナリングすることができる。
【0319】
また、本文書は、スケーリングリストデータを他のヘッダセットで再配置(reposition)する一般的な方案を提案する。一実施形態として、ヘッダセットでスケーリングリストデータを含む一般的な構造を提案する。現在VVCの場合、適切なヘッダセットとしてAPSを使用しているが、Nal Unit Type(NUT)により識別されるスケーリングリストデータを自分のヘッダセットでカプセル化することも可能でありうる。次の表42及び表43のように実現されることができる。
【0320】
例えば、次の表42は、NALユニットタイプと、それによるRBSPシンタックス構造を表した一例である。ここで、上述したように、NALユニットは、当該NALユニットに含まれるRBSPデータ構造(structure)によってNALユニットタイプが特定され得るし、このようなNALユニットタイプに関する情報は、NALユニットヘッダに格納されてシグナリングされることができる。
【0321】
【表42-1】
【0322】
【表42-2】
【0323】
前記表42で表すように、スケーリングリストデータを1つのNALユニットタイプ(例:SCALING_NUT)と定義することができ、SCALING_NUTに対するNALユニットタイプの値で特定値(例:21、またはNALユニットタイプに指定されなかった予約された値のうち1つの値)を指定することができる。SCALING_NUTは、スケーリングリストデータパラメータセット(例:Scaling_list_data_parameter set)を含むNALユニットに対するタイプであることができる。
【0324】
また、SCALING_NUTの可用可否は、APS、PPS、及び/又は他の適切なヘッダより上位レベルで決定されることができ、または、他のNALユニットタイプより下位レベルで決定されることもできる。
【0325】
例えば、次の表43は、スケーリングリストデータをシグナリングするために使用されるスケーリングリストデータパラメータセットのシンタックスを表す。
【0326】
【表43】
【0327】
前記表43のスケーリングリストデータパラメータセットシンタックスに含まれたシンタックス要素のセマンティクスは、次の表44のように表すことができる。
【0328】
【表44】
【0329】
前記表43及び表44を参照すれば、スケーリングリストデータパラメータセット(例:scaling_list_data_parameter_set)は、SCALING_NUTに対するNALユニットタイプの値(例:21)により特定されたヘッダセットであることができる。スケーリングリストデータパラメータセットでscaling_list_data_parameter_set_idシンタックス要素がパーシング/シグナリングされることができる。scaling_list_data_parameter_set_idシンタックス要素は、他のシンタックス要素の参照のためのスケーリングリストデータに対する識別子を提供する。すなわち、スケーリングリストパラメータセットは、scaling_list_data_parameter_set_idシンタックス要素に基づいて識別されることができる。scaling_list_data_parameter_set_idシンタックス要素は、スケーリングリストデータパラメータセットID情報と呼ばれることができる。スケーリングリストデータパラメータセットは、ピクチャ間に共有されることができ、ピクチャ内の他のスライスでは異なることができる。
【0330】
scaling_list_data_parameter_set_idにより識別されたスケーリングリストデータパラメータセットからスケーリングリストデータ(例:scaling_list_dataシンタックス)をパーシング/シグナリングすることができる。
【0331】
また、スケーリングリストデータパラメータセットでscaling_list_data_extension_flagシンタックス要素がパーシング/シグナリングされることができる。scaling_list_data_extension_flagシンタックス要素は、スケーリングリストデータ拡張フラグ(scaling_list_data_extension_flag)シンタックス要素がスケーリングリストデータRBSPシンタックス構造に存在するか否かを表すことができる。例えば、scaling_list_data_extension_flagの値が1である場合、スケーリングリストデータ拡張フラグ(scaling_list_data_extension_flag)シンタックス要素がスケーリングリストデータRBSPシンタックス構造に存在することを表すことができる。または、scaling_list_data_extension_flagの値が0である場合、スケーリングリストデータ拡張フラグ(scaling_list_data_extension_flag)シンタックス要素がスケーリングリストデータRBSPシンタックス構造に存在しないことを表すことができる。
【0332】
scaling_list_data_extension_flagシンタックス要素に基づいてscaling_list_data_extension_data_flagシンタックス要素がパーシング/シグナリングされることができる。scaling_list_data_extension_data_flagシンタックス要素は、スケーリングリストデータに対する拡張データフラグと呼ばれることができる。例えば、scaling_list_data_extension_flagの値が1である場合、scaling_list_data_extension_data_flagがパーシング/シグナリングされることができ、このとき、scaling_list_data_extension_data_flagは、任意の値を有することができる。
【0333】
上述したように、本文書の一実施形態によれば、スケーリングリストデータのための1つのヘッダセット構造を定義して使用することができ、スケーリングリストデータのためのヘッダセットは、NALユニットタイプ(例:SCALING_NUT)に特定することができる。この場合、スケーリングリストデータのためのヘッダセットは、スケーリングリストデータパラメータセット(例:scaling_list_data_parameter_set)と定義されることができ、これからスケーリングリストデータを取得できる。
【0334】
一方、本文書は、スケーリングリストデータに含まれたシンタックス要素scaling_lsit_pred_matrix_id_deltaを効果的にコーディングするための方案を提案する。
【0335】
現在VVCの場合、scaling_lsit_pred_matrix_id_deltaシンタックス要素は、左側ビット優先で符号なしの整数0次Exp-Golombコーディングされたシンタックス要素(an unsigned integer 0-th order Exp-Golomb-coded syntax element with the left bit first)を使用してコーディングされる。しかし、コーディング効率を向上させるために、本文書の一実施形態では、次の表45のように、0~5の範囲を有するscaling_lsit_pred_matrix_id_deltaシンタックス要素に対して固定長さコード(例:u(3))を使用してコーディングする方案を提案する。このとき、全体範囲に対して効率性を向上させるために、3ビットのみ使用してコーディングすることで十分であることができる。
【0336】
例えば、次の表45は、スケーリングリストデータシンタックス構造の一例を表す。
【0337】
【表45】
【0338】
前記表45のスケーリングリストデータシンタックスに含まれたシンタックス要素のセマンティクスは、次の表46のように表すことができる。
【0339】
【表46-1】
【0340】
【表46-2】
【0341】
前記表45及び表46で表すように、スケーリングリストデータシンタックスからscaling_list_pred_matrix_id_deltaシンタックス要素がパーシング/シグナリングされることができる。scaling_list_pred_matrix_id_deltaシンタックス要素は、スケーリングリストを導出するのに使用される参照スケーリングリストを表すことができる。このとき、scaling_list_pred_matrix_id_deltaをパーシングするにあたり、固定長さコード(例:u(3))を使用してパーシングすることができる。
【0342】
一方、APSでスケーリングリストデータをシグナリングするにあたり、スケーリングリストマトリックスに対して制限をおくことができる。これに、本文書では、スケーリングリストマトリックスの個数を制限する方法に関して提案する。本文書において提案する方法によれば、実現を容易にし、最大メモリ要求事項(worst case memory requirement)を制限する効果を得ることができる。
【0343】
一実施形態として、スケーリングリストデータを含んでいるAPS(すなわち、スケーリングリストデータシンタックスをシグナリングするAPS)の個数を制限できる。このために、次のような制約条件を追加できる。このような制約条件は、ホルダーをおくためのことであって、すなわち、相違した値が使用され得る(It should be noted that these constraints are meant to place holders i.e.、different values can be used。)。
【0344】
説明の都合上、スケーリングリストデータを含んでいるAPS(すなわち、スケーリングリストデータシンタックスをシグナリングするAPS)は、SCALING LIST APSと称することができる。言い換えれば、上述したように、APSから送信されるAPSパラメータタイプ(例:aps_params_type)がスケーリングリストデータパラメータを表すタイプ(例:SCALING_APS)である場合、APSから送信されるスケーリングリストデータをSCALING LIST APSと表すことができる。
【0345】
例えば、スケーリングリストデータを含んでいるAPS(すなわち、SCALING LIST APS)の総個数が3より小さいことができる。もちろん、他の適切な値が使用されることもできる。例えば、0~7の範囲内に適切な値が使用され得る。すなわち、スケーリングリストデータを含んでいるAPS(すなわち、SCALING LIST APS)の総個数が0~7の範囲に決められることができる。
【0346】
また、例えば、スケーリングリストデータを含んでいるAPS(すなわち、SCALING LIST APS)は、ピクチャ当り1個のSCALING LIST APSのみ許容されることができる。
【0347】
次の表47は、上述したようなスケーリングリストデータを含むAPSを制限するための制約条件を表すシンタックス要素及びそれに対するセマンティクスを表した一例である。
【0348】
【表47】
【0349】
前記表47を参照すれば、SCALING LIST APSのAPS識別情報(すなわち、APS ID情報)を表すシンタックス要素(例:slice_scaling_list_aps_id)に基づいてスケーリングリストデータを含んでいるAPS(すなわち、SCALING LIST APS)の個数を制限できる。
【0350】
例えば、シンタックス要素slice_scaling_list_aps_idは、スライスが参照するSCALING LIST APSのAPS識別情報(すなわち、APS ID情報)を表すことができる。このとき、シンタックス要素slice_scaling_list_aps_idの値は、特定の値に制限することができる。一例として、シンタックス要素slice_scaling_list_aps_idの値は、0~3の範囲にあるように制限することができる。これは、1つの例示であり、他の値を有するように制限することができ、他の例として、シンタックス要素slice_scaling_list_aps_idの値は、0~7の範囲にあるように制限することもできる。
【0351】
また、例えば、slice_lmcs_aps_idのようなAPS ID(adaptation_parameter_set_id)を有するSCALING LIST APS NALユニットのTemporalId(すなわち、Temporal ID)は、コーディングされたスライスNALユニットのTemporalId(すなわち、Temporal ID)より小さいか、同じでなければならない。
【0352】
また、例えば、APS ID(adaptation_parameter_set_id)値が同一である複数個のSCALING LIST APSが同一ピクチャ上の2つ以上のスライスにより参照される場合、同一のAPS ID(adaptation_parameter_set_id)値を有する複数個のSCALING LIST APSは、同一の内容(content)を有さなければならない。
【0353】
また、例えば、同一の値のAPS ID(adaptation_parameter_set_id)及び同一の内容を有する1つのSCALING LIST APSのみが同一ピクチャ上の1つ以上のスライスにより参照されなければならない。言い換えれば、同じピクチャ内の1つ以上のスライスは、スケーリングリストデータを含む同じAPSを参照しなければならない。
【0354】
以下の図面は、本文書の具体的な一例を説明するために作成された。図面に記載された具体的な装置の名称や具体的な用語や名称(例えば、シンタックス/シンタックス要素の名称など)は、例示的に提示されたものであるから、本文書の技術的特徴が以下の図面に使用された具体的な名称に制限されない。
【0355】
図7及び図8は、本文書の実施形態(等)に係るビデオ/画像エンコード方法及び関連コンポーネントの一例を概略的に示す。
【0356】
図7に開示された方法は、図2において開示されたエンコード装置200によって行われることができる。具体的に、図7のステップS700は、図2に開示された減算部231によって行われることができ、図7のステップS710は、図2に開示された変換部232によって行われることができ、図7のステップS720~S730は、図2に開示された量子化部233によって行われることができ、図7のステップS740は、図2に開示されたエントロピーエンコード部240によって行われることができる。また、図7において開示された方法は、本文書において上述した実施形態を含んで行われることができる。したがって、図7では、上述した実施形態と重複する内容に関して具体的な説明を省略するか、簡単にする。
【0357】
図7に示すように、エンコード装置は、現在ブロックに対するレジデュアルサンプルを導出できる(S700)。
【0358】
一実施形態として、まず、エンコード装置は、現在ブロックに対する予測モードを決定し、予測サンプルを導出できる。例えば、エンコード装置は、現在ブロックにインター予測を行うか、またはイントラ予測を行うかの可否を決定でき、また、RDコストに基づいて具体的なインター予測モードまたは具体的なイントラ予測モードを決定できる。エンコード装置は、決定された予測モードによって予測を行って現在ブロックに対する予測サンプルを導出できる。このとき、インター予測またはイントラ予測など、本文書において開示された様々な予測方法が適用され得る。また、エンコード装置は、現在ブロックに適用された予測と関連した情報(例えば、予測モード情報)を生成し、エンコードすることができる。そして、エンコード装置は、現在ブロックに対する原本サンプルと予測サンプルとを比較してレジデュアルサンプルを導出できる。
【0359】
エンコード装置は、レジデュアルサンプルに基づいて変換係数を導出できる(S710)。
【0360】
一実施形態として、エンコード装置は、レジデュアルサンプルに対する変換過程を介して変換係数を導出できる。このとき、エンコード装置は、コーディング効率を考慮して現在ブロックに対する変換適用可否を決定できる。すなわち、エンコード装置は、レジデュアルサンプルに対して変換が適用されるか否かを決定できる。例えば、レジデュアルサンプルに対して変換が適用されない場合、エンコード装置は、レジデュアルサンプルを変換係数で導出することができる。または、レジデュアルサンプルに対して変換が適用される場合、エンコード装置は、レジデュアルサンプルに対する変換を行って変換係数を導出できる。この場合、エンコード装置は、現在ブロックに対して変換が適用されるか否かに基づいて変換スキップフラグ情報を生成し、エンコードすることができる。変換スキップフラグ情報は、現在ブロックに対して変換が適用されたか、変換がスキップ(skip)されたかを表す情報であることができる。
【0361】
エンコード装置は、変換係数に基づいて量子化された変換係数を導出できる(S720)。
【0362】
一実施形態として、エンコード装置は、変換係数に対する量子化過程を適用して量子化された変換係数を導出できる。このとき、エンコード装置は、周波数によって量子化強度を調節する周波数別加重量子化を適用できる。この場合、量子化過程は、周波数別量子化スケール値に基づいてさらに行われることができる。周波数別加重量子化のための量子化スケール値は、スケーリングマトリックスを使用して導出されることができる。例えば、エンコード装置/デコード装置は、予め定義されたスケーリングマトリックスを使用することができ、エンコード装置でスケーリングマトリックスに対する周波数別量子化スケール情報を構成してエンコードし、これをデコード装置にシグナリングすることもできる。周波数別量子化スケール情報は、スケーリングリストデータを含むことができる。スケーリングリストデータに基づいて(修正された)スケーリングマトリックスが導出され得る。
【0363】
また、エンコード装置は、デコード装置と同様に、逆量子化過程を行うことができる。この場合、エンコード装置は、スケーリングリストデータに基づいて(修正された)スケーリングマトリックスを導出し、これに基づいて量子化された変換係数に逆量子化を適用して復元された変換係数を導出できる。このとき、復元された変換係数は、変換/量子化過程での損失のため、最初変換係数とは差がありうる。
【0364】
ここで、スケーリングマトリックスは、上述した周波数に基づく量子化スケーリングマトリックスを称することができ、説明の都合によって量子化スケーリングマトリックス、量子化マトリックス、スケーリングマトリックス、スケーリングリストなどと混用または代替して使用されることができ、本実施形態において使用された具体的な名称に制限されない。
【0365】
すなわち、エンコード装置は、量子化過程を行うにあたり、周波数別加重量子化をさらに適用することができ、このとき、スケーリングマトリックスに関する情報としてスケーリングリストデータを生成できる。この過程は、表5ないし表17を例に挙げて具体的に説明したことがあるので、本実施形態では、重複的な内容や具体的な説明を省略する。
【0366】
エンコード装置は、量子化された変換係数に基づいてレジデュアル情報を生成できる(S730)。
【0367】
ここで、レジデュアル情報は、変換及び/又は量子化手順を介して生成された情報であって、量子化された変換係数に関する情報であることができ、例えば、量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。
【0368】
また、量子化過程で量子化された変換係数を導出するにあたり、周波数別加重量子化をさらに適用した場合、量子化された変換係数に対するスケーリングリストデータが生成され得る。スケーリングリストデータは、量子化された変換係数を導出するのに使用されるスケーリングリストパラメータを含むことができる。この場合、エンコード装置は、スケーリングリストデータ関連情報を生成でき、例えば、スケーリングリストデータを含むAPSを生成できる。
【0369】
エンコード装置は、画像情報(または、ビデオ情報)をエンコードすることができる(S740)。ここで、画像情報は、前記レジデュアル情報を含むことができる。また、画像情報は、前記予測サンプルを導出するのに使用された前記予測と関連した情報(例えば、予測モード情報)を含むことができる。また、画像情報は、前記スケーリングリストデータに関する情報を含むことができる。すなわち、画像情報は、エンコード過程で導出される様々な情報を含むことができ、このような様々な情報を含んでエンコードされることができる。
【0370】
一実施形態として、画像情報は、本文書において上述した実施形態(等)に係る様々な情報を含むことができ、上述した表1ないし47のうち、少なくとも1つに開示された情報を含むことができる。
【0371】
また、例えば、画像情報は、APS(adaptation parameter set)を含むことができる。APSは、APS ID情報(APS識別情報)及びAPSタイプ情報(APSパラメータのタイプ情報)を含むことができる。すなわち、APS ID情報に基づいてAPSが識別され得るし、APSタイプ情報に基づいて当該タイプに対応するAPSパラメータがAPSに含まれ得る。例えば、APSタイプ情報は、ALF(adaptive loop filter)パラメータに関するALFタイプ、LMCS(luma mapping with chroma scaling)パラメータに関するLMCSタイプ、スケーリングリストデータパラメータに関するスケーリングリストタイプを含むことができる。上述した表35のように表すことができ、例えば、APSタイプ情報の値が2である場合、APSタイプ情報は、スケーリングリストデータパラメータを含むAPSであることを表すことができる。
【0372】
一例として、APSは、上述した表33(または、表18)のように構成されることができる。APS ID情報(APS識別情報)は、前記表33及び表34(または、前記表18及び表19)で説明されたadaptation_parameter_set_idであることができる。APSタイプ情報は、前記表33ないし表35(または、前記表18ないし表20)で説明されたaps_params_typeであることができる。例えば、APSパラメータのタイプ情報(例:aps_params_type)がスケーリングリストデータを含むAPSであることを表すSCALING_APSタイプである場合(または、APSパラメータのタイプ情報(例:aps_params_type)の値が2である場合)、APSは、スケーリングリストデータ(例:scaling_list_data())を含むことができる。すなわち、エンコード装置は、スケーリングリストデータを含むAPSであることを表すSCALING_APSタイプ情報に基づいて、APSを介してスケーリングリストデータ(例:scaling_list_data())をシグナリングすることができる。すなわち、APSタイプ情報(SCALING_APSタイプ情報)に基づいてAPSにスケーリングリストデータが含まれ得る。スケーリングリストデータは、上述したように、量子化/逆量子化過程で使用されるスケーリングリスト/スケーリングマトリックス/スケールファクタを導出するためのスケーリングリストパラメータを含むことができる。言い換えれば、スケーリングリストデータは、スケーリングリストを構成するのに使用されるシンタックス要素を含むことができる。
【0373】
また、一例として、APS ID情報は、特定の範囲内の値を有することができる。例えば、APS ID情報の値は、0~3まで、または0~7までの特定の範囲内の値を有することができる。ただし、これは、例示として値を記載したものであり、APS ID情報の値の範囲は、他の値を有することができる。また、APS ID情報の値の範囲は、APSタイプ情報(例:aps_params_type)に基づいて決定されることができる。仮に、スケーリングリストデータに関するAPSであることを表すAPSタイプ情報(例:SCALING_APSタイプ)に対して、APS ID情報の値は、上述した表47のようなシンタックス要素(例:slice_scaling_list_aps_id)に基づいて表すことができる。例えば、APSタイプ情報(例:aps_params_type)がスケーリングリストデータを含むAPSであることを表す場合(例:SCALING_APSタイプである場合)、APS ID情報の値は、0~3、または0~7までの範囲内の値を有することができる。ここで、1つのピクチャ内のスライスは、スケーリングリストデータに関する同一のAPSを参照できる。または、APSタイプ情報(例:aps_params_type)がALFに関するAPSであることを表す場合(例:ALF_APSタイプである場合)、APS ID情報の値は、0~7までの範囲内の値を有することができる。または、APSタイプ情報(例:aps_params_type)がLMCSに関するAPSであることを表す場合(例:LMCS_APSタイプである場合)、APS ID情報の値は、0~3までの範囲内の値を有することができる。
【0374】
また、例えば、画像情報は、SPS(Sequence Parameter Set)を含むことができる。SPSは、スケーリングリストデータの可用可否を表す第1の可用フラグ情報を含むことができる。一例として、SPSは、上述した表36(または、表21)のように構成されることができ、第1の可用フラグ情報は、前記表36及び表37(または、前記表21及び表22)で説明されたscaling_list_enabled_flagであることができる。また、SPSは、sps_scaling_list_data_present_flagシンタックス要素を除去することにより、このフラグ情報がパーシング/シグナリングされないようにすることができる。sps_scaling_list_data_present_flagシンタックス要素は、スケーリングリストデータのシンタックス構造がSPSに存在するか否かを表すフラグ情報であり、このフラグ情報に応じてSPSにより指定されたスケーリングリストデータをパーシング/シグナリングすることができる。しかし、sps_scaling_list_data_present_flagシンタックス要素を除去することにより、SPSレベルでは、スケーリングリストデータを直接シグナリングせずに、スケーリングリスト可用フラグ(scaling_list_enabled_flag)のみ明示的にシグナリングするように構成されることができる。
【0375】
また、例えば、画像情報は、PPS(Picture ParameterSet)を含むことができる。一例として、PPSは、上述した表38のように構成されることができ、この場合、PPSには、スケーリングリストデータの可用可否を表す可用フラグ情報を含まないように構成されることができる。すなわち、PPSでpps_scaling_list_data_present_flagシンタックス要素を除去することにより、このフラグ情報がパーシング/シグナリングされないように構成されることができる。pps_scaling_list_data_present_flagシンタックス要素は、スケーリングリストデータのシンタックス構造がPPSに存在するか否かを表すフラグ情報であり、このフラグ情報に応じてPPSにより指定されたスケーリングリストデータをパーシング/シグナリングすることができる。しかし、pps_scaling_list_data_present_flagシンタックス要素を除去することにより、PPSレベルでは、スケーリングリストデータを直接シグナリングしないことができる。
【0376】
この場合、スケーリングリストデータの可用可否を表す第1の可用フラグ情報(例:scaling_list_enabled_flag)は、SPSでシグナリングされ、PPSでシグナリングされないことができる。したがって、SPSでシグナリングされる第1の可用フラグ情報に基づいて(例:第1の可用フラグ情報(例:scaling_list_enabled_flag)の値が1または真である場合)、APSに含まれたスケーリングリストデータが取得され得る。
【0377】
また、例えば、画像情報は、ヘッダ情報を含むことができる。ヘッダ情報は、現在ブロックを含むスライスまたはピクチャに関連したヘッダ情報であることができ、例えば、ピクチャヘッダまたはスライスヘッダを含むことができる。ヘッダ情報は、スケーリングリストデータ関連APS識別情報を含むことができる。ヘッダ情報に含まれたスケーリングリストデータ関連APS識別情報は、スケーリングリストデータを含んでいるAPSに対するAPS ID情報を表すことができる。一例として、ヘッダ情報に含まれたスケーリングリストデータ関連APS ID情報は、前記表40ないし表41(または、前記表25ないし表28)で説明されたslice_scaling_list_aps_idであることができ、現在ブロックを含むスライス/ピクチャにより参照されるAPS(スケーリングリストデータを含む;すなわち、SCALING LIST APS)に対する識別情報であることができる。すなわち、ヘッダ情報のスケーリングリストデータ関連APS ID情報(例えば、slice_scaling_list_aps_id)に基づいて、スケーリングリストデータを含むAPSが識別され得る。
【0378】
このとき、ヘッダ情報がスケーリングリストデータを含んでいるAPSに対するAPS ID情報をパーシング/シグナリングするか否かは、SPSでパーシング/シグナリングされる第1の可用フラグ情報(scaling_list_enabled_flag)に基づいて決定されることができる。例えば、SPSでのスケーリングリストが可用であることを表す第1の可用フラグ情報に基づいて(例:第1の可用フラグ情報(例:scaling_list_enabled_flag)の値が1または真である場合)、ヘッダ情報は、スケーリングリストデータを含んでいるAPSに対するAPS ID情報を含むことができる。
【0379】
また、例えば、ヘッダ情報は、ピクチャまたはスライスでのスケーリングリストデータの可用可否を表す第2の可用フラグ情報を含むことができる。一例として、第2の可用フラグ情報は、前記表40及び表41(または、前記表25ないし表28)で説明されたslice_scaling_list_present_flag(または、slice_scaling_list_enabled_flag)であることができる。
【0380】
このとき、ヘッダ情報が第2の可用フラグ情報をパーシング/シグナリングするか否かは、SPSでパーシング/シグナリングされる第1の可用フラグ情報(scaling_list_enabled_flag)に基づいて決定されることができる。例えば、SPSでのスケーリングリストが可用であることを表す第1の可用フラグ情報に基づいて(例:第1の可用フラグ情報(例:scaling_list_enabled_flag)の値が1または真である場合)、ヘッダ情報は、第2の可用フラグ情報を含むことができる。そして、第2の可用フラグ情報に基づいて(例:第2の可用フラグ情報(例:slice_scaling_list_present_flag)の値が1または真である場合)、ヘッダ情報は、スケーリングリストデータ関連APS ID情報を含むことができる。
【0381】
一例として、エンコード装置は、上述した表40のように、SPSでシグナリングされる第1の可用フラグ情報(例:scaling_list_enabled_flag)に基づいてヘッダ情報を介して第2の可用フラグ情報(例:slice_scaling_list_present_flag)をシグナリングすることができ、その後、第2の可用フラグ情報(例:slice_scaling_list_present_flag)に基づいてヘッダ情報を介してスケーリングリストデータを含むAPSに対するAPS ID情報(例:slice_scaling_list_aps_id)をシグナリングすることができる。そして、エンコード装置は、シグナリングされた前記APS ID情報(例:slice_scaling_list_aps_id)が指示するAPSからスケーリングリストデータをシグナリングすることができる。
【0382】
上述したように、SPSまたはPPSレベルで直接的にスケーリングリストデータシンタックスをシグナリングしないようにSPSシンタックスとPPSシンタックスとを構成できる。例えば、SPSでスケーリングリスト可用フラグ(scaling_list_enabled_flag)のみ明示的にシグナリングし、以後SPSでの可用フラグ(scaling_list_enabled_flag)に基づいて下位レベルシンタックス(例:APS)で個別的にスケーリングリスト(scaling_list_data())をパーシングすることができる。したがって、本文書の一実施形態によれば、スケーリングリストデータが階層的構造によってパーシング/シグナリングされることができるので、よりコーディング効率を向上させることができる。
【0383】
上述したような様々な情報を含む画像情報は、エンコードされてビットストリーム形態で出力されることができる。ビットストリームは、ネットワークまたは(デジタル)格納媒体を介してデコード装置に送信されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。
【0384】
図9及び図10は、本文書の実施形態(等)に係るビデオ/画像デコード方法及び関連コンポーネントの一例を概略的に示す。
【0385】
図9に開示された方法は、図3において開示されたデコード装置300によって行われることができる。具体的に、図9のステップS900~S910は、図3に開示されたエントロピーデコード部310によって行われることができ、図9のステップS920は、図3に開示された逆量子化部321によって行われることができ、図9のステップS930は、図3に開示された逆変換部321によって行われることができ、図9のステップS940は、図3に開示された加算部340によって行われることができる。また、図9において開示された方法は、本文書において上述した実施形態を含んで行われることができる。したがって、図9では、上述した実施形態と重複する内容に関して具体的な説明を省略するか、簡単にする。
【0386】
図9に示すように、デコード装置は、ビットストリームから画像情報(または、ビデオ情報)を受信できる(S900)。
【0387】
一実施形態として、デコード装置は、ビットストリームをパーシングして画像復元(または、ピクチャ復元)に必要な情報(ex.ビデオ/画像情報)を導出できる。このとき、画像情報は、レジデュアル情報を含むことができ、レジデュアル情報は、量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。また、画像情報は、予測と関連した情報(例えば、予測モード情報)を含むことができる。また、画像情報は、スケーリングリストデータに関する情報を含むことができる。すなわち、画像情報は、デコード過程で必要な様々な情報を含むことができ、指数ゴロム符号化、CAVLC、またはCABACなどのコーディング方法を基にデコードされることができる。
【0388】
一実施形態として、画像情報は、本文書において上述した実施形態(等)に係る様々な情報を含むことができ、上述した表1ないし47のうち、少なくとも1つに開示された情報を含むことができる。
【0389】
例えば、画像情報は、APS(adaptation parameter set)を含むことができる。APSは、APS ID情報(APS識別情報)及びAPSタイプ情報(APSパラメータのタイプ情報)を含むことができる。すなわち、APS ID情報に基づいてAPSが識別され得るし、APSタイプ情報に基づいて当該タイプに対応するAPSパラメータがAPSに含まれ得る。例えば、APSタイプ情報は、ALF(adaptive loop filter)パラメータに関するALFタイプ、LMCS(luma mapping with chroma scaling)パラメータに関するLMCSタイプ、スケーリングリストデータパラメータに関するスケーリングリストタイプを含むことができる。上述した表35のように表すことができ、例えば、APSタイプ情報の値が2である場合、APSタイプ情報は、スケーリングリストデータパラメータを含むAPSであることを表すことができる。
【0390】
一例として、APSは、上述した表33(または、表18)のように構成されることができる。APS ID情報(APS識別情報)は、前記表33及び表34(または、前記表18及び表19)で説明されたadaptation_parameter_set_idであることができる。APSタイプ情報は、前記表33ないし表35(または、前記表18ないし表20)で説明されたaps_params_typeであることができる。例えば、APSパラメータのタイプ情報(例:aps_params_type)がスケーリングリストデータを含むAPSであることを表すSCALING_APSタイプである場合(または、APSパラメータのタイプ情報(例:aps_params_type)の値が2である場合)、APSは、スケーリングリストデータ(例:scaling_list_data())を含むことができる。すなわち、デコード装置は、スケーリングリストデータを含むAPSであることを表すSCALING_APSタイプ情報に基づいて、APSを介してスケーリングリストデータ(例:scaling_list_data())を取得してパーシングすることができる。すなわち、APSタイプ情報(SCALING_APSタイプ情報)に基づいてAPSにスケーリングリストデータが含まれ得る。スケーリングリストデータは、上述したように、量子化/逆量子化過程で使用されるスケーリングリスト/スケーリングマトリックス/スケールファクタを導出するためのスケーリングリストパラメータを含むことができる。言い換えれば、スケーリングリストデータは、スケーリングリストを構成するのに使用されるシンタックス要素を含むことができる。
【0391】
また、一例として、APS ID情報は、特定の範囲内の値を有することができる。例えば、APS ID情報の値は、0~3まで、または0~7までの特定の範囲内の値を有することができる。ただし、これは例示として値を記載しただけであり、APS ID情報の値の範囲は、他の値を有することができる。また、APS ID情報の値の範囲は、APSタイプ情報(例:aps_params_type)に基づいて決定されることができる。仮に、スケーリングリストデータに関するAPSであることを表すAPSタイプ情報(例:SCALING_APSタイプ)に対して、APS ID情報の値は、上述した表47のようなシンタックス要素(例:slice_scaling_list_aps_id)に基づいて表すことができる。例えば、APSタイプ情報(例:aps_params_type)がスケーリングリストデータを含むAPSであることを表す場合(例:SCALING_APSタイプである場合)、APS ID情報の値は、0~3、または0~7までの範囲内の値を有することができる。ここで、1つのピクチャ内のスライスは、スケーリングリストデータに関する同一のAPSを参照できる。または、APSタイプ情報(例:aps_params_type)がALFに関するAPSであることを表す場合(例:ALF_APSタイプである場合)、APS ID情報の値は、0~7までの範囲内の値を有することができる。または、APSタイプ情報(例:aps_params_type)がLMCSに関するAPSであることを表す場合(例:LMCS_APSタイプである場合)、APS ID情報の値は、0~3までの範囲内の値を有することができる。
【0392】
また、例えば、画像情報は、SPS(Sequence Parameter Set)を含むことができる。SPSは、スケーリングリストデータの可用可否を表す第1の可用フラグ情報を含むことができる。一例として、SPSは、上述した表36(または、表21)のように構成されることができ、第1の可用フラグ情報は、前記表36及び表37(または、前記表21及び表22)で説明されたscaling_list_enabled_flagであることができる。また、SPSは、sps_scaling_list_data_present_flagシンタックス要素を除去することにより、このフラグ情報がパーシング/シグナリングされないようにすることができる。sps_scaling_list_data_present_flagシンタックス要素は、スケーリングリストデータのシンタックス構造がSPSに存在するか否かを表すフラグ情報であり、このフラグ情報に応じてSPSにより指定されたスケーリングリストデータをパーシング/シグナリングすることができる。しかし、sps_scaling_list_data_present_flagシンタックス要素を除去することにより、SPSレベルでは、スケーリングリストデータを直接シグナリングせずに、スケーリングリスト可用フラグ(scaling_list_enabled_flag)のみ明示的にシグナリングするように構成されることができる。
【0393】
また、例えば、画像情報は、PPS(Picture ParameterSet)を含むことができる。一例として、PPSは、上述した表38のように構成されることができ、この場合、PPSには、スケーリングリストデータの可用可否を表す可用フラグ情報を含まないように構成されることができる。すなわち、PPSでpps_scaling_list_data_present_flagシンタックス要素を除去することにより、このフラグ情報がパーシング/シグナリングされないように構成することができる。pps_scaling_list_data_present_flagシンタックス要素は、スケーリングリストデータのシンタックス構造がPPSに存在するか否かを表すフラグ情報であり、このフラグ情報に応じてPPSにより指定されたスケーリングリストデータをパーシング/シグナリングすることができる。しかし、pps_scaling_list_data_present_flagシンタックス要素を除去することにより、PPSレベルでは、スケーリングリストデータを直接シグナリングしないことができる。
【0394】
この場合、スケーリングリストデータの可用可否を表す第1の可用フラグ情報(例:scaling_list_enabled_flag)は、SPSでシグナリングされ、PPSでシグナリングされないことができる。したがって、SPSでシグナリングされる第1の可用フラグ情報に基づいて(例:第1の可用フラグ情報(例:scaling_list_enabled_flag)の値が1または真である場合)、APSに含まれたスケーリングリストデータが取得され得る。
【0395】
また、例えば、画像情報は、ヘッダ情報を含むことができる。ヘッダ情報は、現在ブロックを含むスライスまたはピクチャに関連したヘッダ情報であることができ、例えば、ピクチャヘッダまたはスライスヘッダを含むことができる。ヘッダ情報は、スケーリングリストデータ関連APS識別情報を含むことができる。ヘッダ情報に含まれたスケーリングリストデータ関連APS識別情報は、スケーリングリストデータを含んでいるAPSに対するAPS ID情報を表すことができる。一例として、ヘッダ情報に含まれたスケーリングリストデータ関連APS ID情報は、前記表40ないし表41(または、前記表25ないし表28)で説明されたslice_scaling_list_aps_idであることができ、現在ブロックを含むスライス/ピクチャにより参照されるAPS(スケーリングリストデータを含む;すなわち、SCALING LIST APS)に対する識別情報であることができる。すなわち、ヘッダ情報のスケーリングリストデータ関連APS ID情報(例えば、slice_scaling_list_aps_id)に基づいて、スケーリングリストデータを含むAPSが識別され得る。すなわち、デコード装置は、ヘッダ情報の前記APS ID情報(例:slice_scaling_list_aps_id)に基づいてAPSを識別し、前記APSからスケーリングリストデータを取得できる。
【0396】
このとき、ヘッダ情報がスケーリングリストデータを含んでいるAPSに対するAPS ID情報をパーシング/シグナリングするか否かは、SPSでパーシング/シグナリングされる第1の可用フラグ情報(scaling_list_enabled_flag)に基づいて決定されることができる。例えば、SPSでのスケーリングリストが可用であることを表す第1の可用フラグ情報に基づいて(例:第1の可用フラグ情報(例:scaling_list_enabled_flag)の値が1または真である場合)、ヘッダ情報は、スケーリングリストデータを含んでいるAPSに対するAPS ID情報を含むことができる。
【0397】
また、例えば、ヘッダ情報は、ピクチャまたはスライスでのスケーリングリストデータの可用可否を表す第2の可用フラグ情報を含むことができる。一例として、第2の可用フラグ情報は。前記表40及び表41(または、前記表25ないし表28)で説明されたslice_scaling_list_present_flag(または、slice_scaling_list_enabled_flag)であることができる。
【0398】
このとき、ヘッダ情報が第2の可用フラグ情報をパーシング/シグナリングするか否かは、SPSでパーシング/シグナリングされる第1の可用フラグ情報(scaling_list_enabled_flag)に基づいて決定されることができる。例えば、SPSでのスケーリングリストが可用であることを表す第1の可用フラグ情報に基づいて(例:第1の可用フラグ情報(例:scaling_list_enabled_flag)の値が1または真である場合)、ヘッダ情報は、第2の可用フラグ情報を含むことができる。そして、第2の可用フラグ情報に基づいて(例:第2の可用フラグ情報(例:slice_scaling_list_present_flag)の値が1または真である場合)、ヘッダ情報は、スケーリングリストデータを含んでいるAPSに対するAPS ID情報を含むことができる。
【0399】
一例として、デコード装置は、上述した表40(または、表25)のように、SPSでシグナリングされる第1の可用フラグ情報(例:scaling_list_enabled_flag)に基づいてヘッダ情報を介して第2の可用フラグ情報(例:slice_scaling_list_present_flag)を取得でき、その後、第2の可用フラグ情報(例:slice_scaling_list_present_flag)に基づいてヘッダ情報を介してスケーリングリストデータを含むAPSに対するAPS ID情報(例:slice_scaling_list_aps_id)を取得できる。そして、デコード装置は、ヘッダ情報を介して取得された前記APS ID情報(例:slice_scaling_list_aps_id)が指示するAPSからスケーリングリストデータを取得できる。
【0400】
上述したように、SPSまたはPPSレベルで直接的にスケーリングリストデータシンタックスをシグナリングしないようにSPSシンタックスとPPSシンタックスとを構成できる。例えば、SPSでスケーリングリスト可用フラグ(scaling_list_enabled_flag)のみ明示的にシグナリングし、以後SPSでの可用フラグ(scaling_list_enabled_flag)に基づいて下位レベルシンタックス(例:APS)で個別的にスケーリングリスト(scaling_list_data())をパーシングすることができる。したがって、本文書の一実施形態によれば、スケーリングリストデータが階層的構造によってパーシング/シグナリングされることができるので、よりコーディング効率を向上させることができる。
【0401】
デコード装置は、レジデュアル情報に基づいて現在ブロックに対する量子化された変換係数を導出できる(S910)。
【0402】
一実施形態として、デコード装置は、画像情報に含まれたレジデュアル情報を取得できる。レジデュアル情報は、上述したように、量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコード装置は、レジデュアル情報に含まれた量子化された変換係数情報に基づいて現在ブロックに対する量子化された変換係数を導出できる。
【0403】
デコード装置は、量子化された変換係数に基づいて変換係数を導出できる(S920)。
【0404】
一実施形態として、デコード装置は、量子化された変換係数に対する逆量子化過程を適用して変換係数を導出できる。このとき、デコード装置は、周波数によって量子化強度を調節する周波数別加重量子化を適用できる。この場合、逆量子化過程は、周波数別量子化スケール値に基づいてさらに行われることができる。周波数別加重量子化のための量子化スケール値は、スケーリングマトリックスを使用して導出されることができる。例えば、デコード装置は、予め定義されたスケーリングマトリックスを使用することができ、エンコード装置からシグナリングされるスケーリングマトリックスに対する周波数別量子化スケール情報を使用することもできる。周波数別量子化スケール情報は、スケーリングリストデータを含むことができる。スケーリングリストデータに基づいて(修正された)スケーリングマトリックスが導出され得る。
【0405】
すなわち、デコード装置は、逆量子化過程を行うにあたり、周波数別加重量子化をさらに適用することができる。このとき、デコード装置は、スケーリングリストデータに基づいて量子化された変換係数に対する逆量子化過程を適用して変換係数を導出できる。
【0406】
一実施形態として、デコード装置は、画像情報に含まれたAPSを取得でき、APSに含まれたAPSタイプ情報に基づいてスケーリングリストデータを取得できる。例えば、デコード装置は、スケーリングリストデータを含むAPSであることを表すSCALING_APSタイプ情報に基づいて、APSに含まれたスケーリングリストデータを取得できる。この場合、デコード装置は、スケーリングリストデータに基づいてスケーリングマトリックスを導出でき、スケーリングマトリックスに基づいてスケーリングファクタを導出でき、スケーリングファクタに基づいて逆量子化を適用して変換係数を導出できる。このようなスケーリングリストデータに基づいてスケーリングを行う過程は、表5ないし表17を例に挙げて具体的に説明したことがあるので、本実施形態では、重複的な内容や具体的な説明を省略する。
【0407】
また、デコード装置は、逆量子化過程で周波数別加重量子化を適用するか否か(すなわち、逆量子化過程で(周波数に基づく量子化)スケーリングリストを使用して変換係数を導出するか否か)を判断できる。例えば、デコード装置は、画像情報に含まれたSPSから取得された第1の可用フラグ及び/又は画像情報に含まれたヘッダ情報から取得された第2の可用フラグ情報に基づいて、スケーリングリストデータの使用可否を決定できる。仮に、第1の可用フラグ及び/又は第2の可用フラグ情報に基づいてスケーリングリストデータを使用することと決定された場合、デコード装置は、ヘッダ情報を介してスケーリングリストデータを含むAPSに対するAPS ID情報を取得し、前記APS ID情報に基づいて当該APSを識別し、前記識別されたAPSからスケーリングリストデータを取得できる。
【0408】
デコード装置は、変換係数に基づいてレジデュアルサンプルを導出できる(S930)。
【0409】
一実施形態として、デコード装置は、現在ブロックに対する変換係数に対して逆変換を行って現在ブロックのレジデュアルサンプルを導出できる。このとき、デコード装置は、現在ブロックに対して逆変換を適用するか否かを表す情報(すなわち、変換スキップフラグ情報)を取得し、この情報(すなわち、変換スキップフラグ情報)に基づいてレジデュアルサンプルを導出できる。
【0410】
例えば、変換係数に対して逆変換が適用されない場合(現在ブロックに対して変換スキップフラグ情報の値が1である場合)、デコード装置は、変換係数を現在ブロックのレジデュアルサンプルで導出することができる。または、変換係数に対して逆変換が適用される場合(現在ブロックに対して変換スキップフラグ情報の値が0である場合)、デコード装置は、変換係数に対して逆変換して現在ブロックのレジデュアルサンプルを導出できる。
【0411】
デコード装置は、レジデュアルサンプルに基づいて復元サンプルを生成できる(S940)。
【0412】
一実施形態として、デコード装置は、画像情報に含まれた予測情報(例えば、予測モード情報)に基づいて現在ブロックに対するインター予測を行うか、またはイントラ予測を行うかの可否を決定でき、前記決定によって予測を行って現在ブロックに対する予測サンプルを導出できる。そして、デコード装置は、予測サンプルとレジデュアルサンプルとに基づいて復元サンプルを生成できる。このとき、デコード装置は、予測モードによって予測サンプルを直ちに復元サンプルとして利用することができ、または予測サンプルにレジデュアルサンプルを加算して復元サンプルを生成することもできる。また、復元サンプルに基づいて復元ブロックまたは復元ピクチャを導出できる。その後、デコード装置は、必要に応じて主観的/客観的画質を向上させるために、デブロッキングフィルタリング及び/又はSAO手順のようなインループフィルタリング手順を前記復元ピクチャに適用できることは、上述したとおりである。
【0413】
前述した実施形態において、方法は、一連のステップまたはブロックで流れ図に基づいて説明されているが、本文書の実施形態は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序にまたは同時に発生できる。また、当業者であれば、流れ図に示すステップが排他的でなく、他のステップが含まれ、または流れ図の一つまたはそれ以上のステップが本文書の範囲に影響を及ぼさずに削除可能であることを理解することができる。
【0414】
前述した本文書による方法は、ソフトウェア形態で実現されることができ、本文書によるエンコード装置及び/またはデコード装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの画像処理を実行する装置に含まれることができる。
【0415】
本文書で実施形態がソフトウェアで実現される時、前述した方法は、前述した機能を遂行するモジュール(過程、機能など)で実現されることができる。モジュールは、メモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部または外部にあり、よく知られた多様な手段でプロセッサと連結されることができる。プロセッサは、ASIC(application-specific integrated circuit)、他のチップセット、論理回路及び/またはデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体及び/または他の格納装置を含むことができる。即ち、本文書で説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で実現されて実行されることができる。例えば、各図面で示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で実現されて実行されることができる。この場合、実現のための情報(例えば、information on instructions)またはアルゴリズムがデジタル格納媒体に格納されることができる。
【0416】
また、本文書が適用されるデコード装置及びエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、VR(virtual reality)装置、AR(argumente reality)装置、画像電話ビデオ装置、運送手段端末(例えば、車両(自律走行車両を含む)、飛行機端末、船舶端末等)、及び医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために使われることができる。例えば、OTTビデオ(Over the top video)装置ではゲームコンソール、ブルーレイプレーヤ、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを含むことができる。
【0417】
また、本文書が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に格納されることができる。また、本文書によるデータ構造を有するマルチメディアデータもコンピュータが読み取り可能な記録媒体に格納されることができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読み込むことができるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で実現されたメディアを含む。また、エンコード方法で生成されたビットストリームが、コンピュータが読み取り可能な記録媒体に格納され、または有無線通信ネットワークを介して送信されることができる。
【0418】
また、本文書の実施形態は、プログラムコードによるコンピュータプログラム製品で実現されることができ、前記プログラムコードは、本文書の実施形態によりコンピュータで実行されることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリア上に格納されることができる。
【0419】
図11は、本文書に開示された実施形態が適用され得るコンテンツストリーミングシステムの例を示す。
【0420】
図11を参照すると、本文書の実施形態に適用されるコンテンツストリーミングシステムは、大別して、エンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置、及びマルチメディア入力装置を含むことができる。
【0421】
前記エンコードサーバは、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。他の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略されることができる。
【0422】
前記ビットストリームは、本文書の実施形態に適用されるエンコード方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信または受信する過程で一時的に前記ビットストリームを格納することができる。
【0423】
前記ストリーミングサーバは、ウェブサーバを介したユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すると、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
【0424】
前記ストリーミングサーバは、メディア格納所及び/またはエンコードサーバからコンテンツを受信することができる。例えば、前記エンコードサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間格納することができる。
【0425】
前記ユーザ装置の例として、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイニジがある。
【0426】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。
【0427】
本文書に記載された請求項は、多様な方式で組み合わせることができる。例えば、本文書の方法請求項の技術的特徴が組み合わせて装置で実現されることができ、本文書の装置請求項の技術的特徴が組み合わせて方法で実現されることができる。また、本文書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせて装置で実現されることができ、本文書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせて方法で実現されることができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
【手続補正書】
【提出日】2024-06-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコード装置によって行われる画像デコード方法において、
ビットストリームからレジデュアル情報及び予測情報を含む画像情報を取得するステップと、
前記予測情報に基づいて予測を行うことにより、現在ブロックに対する予測サンプルを導出するステップと、
前記レジデュアル情報に基づいて前記現在ブロックに対する量子化された変換係数を導出するステップと、
前記量子化された変換係数に基づいて変換係数を導出するステップと、
前記変換係数に基づいてレジデュアルサンプルを導出するステップと、
前記予測サンプル及び前記レジデュアルサンプルに基づいて復元サンプルを生成するステップと、
を含み、
前記画像情報は、スケーリングリストデータを含むアダプテーションパラメータセット(APS)を含み、
前記APSは、APS ID情報及びAPSタイプ情報を含み、
前記APS ID情報に基づいて前記APSが識別され、
前記APSタイプ情報に基づいて前記APSが前記スケーリングリストデータを含み、
前記APSが前記スケーリングリストデータに対するAPSであることを特定する前記APSタイプ情報に基づいて前記APS ID情報が特定の範囲内の値を有し、
前記特定の範囲は、前記APSが前記スケーリングリストデータに対するAPSであることを特定する前記APSタイプ情報に対してあらかじめ決定される、画像デコード方法。
【請求項2】
エンコード装置によって行われる画像エンコード方法において、
予測を行うことにより現在ブロックに対する予測サンプルを導出するステップと、
前記予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出するステップと、
前記レジデュアルサンプルに基づいて変換係数を導出するステップと、
前記変換係数に対する量子化過程を適用して量子化された変換係数を導出するステップと、
前記予測に基づいて予測情報を生成するステップと、
前記量子化された変換係数に対する情報を含むレジデュアル情報を生成するステップと、
前記予測情報及び前記レジデュアル情報を含む画像情報をエンコードするステップと、
を含み、
前記画像情報は、スケーリングリストデータを含むアダプテーションパラメータセット(APS)を含み、
前記APSは、APS ID情報及びAPSタイプ情報を含み、
前記APS ID情報に基づいて前記APSが識別され、
前記APSタイプ情報に基づいて前記APSが前記スケーリングリストデータを含み、
前記APSが前記スケーリングリストデータに対するAPSであることを特定する前記APSタイプ情報に基づいて前記APS ID情報が特定の範囲内の値を有し、
前記特定の範囲は、前記APSが前記スケーリングリストデータに対するAPSであることを特定する前記APSタイプ情報に対してあらかじめ決定される、画像エンコード方法。
【請求項3】
画像に対するデータの送信方法において、
前記画像に対するビットストリームを取得するステップであって、前記ビットストリームは、予測を行うことにより現在ブロックに対する予測サンプルを導出し、前記予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出し、前記レジデュアルサンプルに基づいて変換係数を導出し、前記変換係数に対する量子化過程を適用して量子化された変換係数を導出し、前記予測に基づいて予測情報を生成し、前記量子化された変換係数に対する情報を含むレジデュアル情報を生成し、前記予測情報及び前記レジデュアル情報を含む画像情報をエンコードすることに基づいて生成される、ステップと、
前記ビットストリームを含む前記データを送信するステップと、
を含み、
前記画像情報は、スケーリングリストデータを含むアダプテーションパラメータセット(APS)を含み、
前記APSは、APS ID情報及びAPSタイプ情報を含み、
前記APS ID情報に基づいて前記APSが識別され、
前記APSタイプ情報に基づいて前記APSが前記スケーリングリストデータを含み、
前記APSが前記スケーリングリストデータに対するAPSであることを特定する前記APSタイプ情報に基づいて前記APS ID情報が特定の範囲内の値を有し、
前記特定の範囲は、前記APSが前記スケーリングリストデータに対するAPSであることを特定する前記APSタイプ情報に対してあらかじめ決定される、データ送信方法。