(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-15
(45)【発行日】2024-11-25
(54)【発明の名称】スケーリングリストデータのシグナリングベースのビデオまたは映像コーディング
(51)【国際特許分類】
H04N 19/126 20140101AFI20241118BHJP
H04N 19/70 20140101ALI20241118BHJP
H04N 19/172 20140101ALI20241118BHJP
H04N 19/174 20140101ALI20241118BHJP
【FI】
H04N19/126
H04N19/70
H04N19/172
H04N19/174
(21)【出願番号】P 2023114481
(22)【出願日】2023-07-12
(62)【分割の表示】P 2021561761の分割
【原出願日】2020-04-07
【審査請求日】2023-08-07
(32)【優先日】2019-04-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】シータル パルリ
(72)【発明者】
【氏名】キム スンファン
【審査官】久保 光宏
(56)【参考文献】
【文献】国際公開第2018/008387(WO,A1)
【文献】特開2013-34161(JP,A)
【文献】国際公開第2018/067051(WO,A1)
【文献】Ye-Kui Wang, et al.,"On APS partial update",Document: JCTVC-H0505r1, [online],JCTVC-H0505 (version 2),Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,2012年02月01日,Pages 1-5,インターネット, <URL: http://phenix.it-sudparis.eu/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H0505-v2.zip>. (See document file "JCTVC-H0505r1.docx" in the zip file "JCTVC-H0505-v2.zip".)(特許庁学術文献等データベース受入日:2013年12月20日)
【文献】Nael OUEDRAOGO, et al.,"On APS referring and updating",Document: JCTVC-I0189r1, [online],JCTVC-I0189 (version 3),Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2012年04月28日,Pages 1-14,インターネット, <URL: http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I0189-v3.zip>. (See document file "JCTVC-I0189r1.doc" in the zip file "JCTVC-I0189-v3.zip".)(特許庁学術文献等データベース受入日:2014年1月24日)
【文献】Benjamin Bross, et al.,"Versatile Video Coding (Draft 4)",Document: JVET-M1001-v5, [online],JVET-M1001 (version 5),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年02月27日,Pages 33 and 34,[令和4年12月22日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=5755> and <URL: https://jvet-experts.org/doc_end_user/documents/13_Marrakech/wg11/JVET-M1001-v5.zip>.,(See document file "JVET-M1001-v5.docx" in the zip file "JVET-M1001-v5.zip".)
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
CSDB(日本国特許庁)
学術文献等データベース(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
デコーディング装置により実行される映像デコーディング方法において、
ビットストリームからレジデュアル情報を含む映像情報を取得するステップと、
前記レジデュアル情報に基づいて現在ブロックに対する量子化された変換係数を導出するステップと、
前記量子化された変換係数に基づいて変換係数を導出するステップと、
前記変換係数に基づいてレジデュアルサンプルを導出するステップと、
前記レジデュアルサンプルに基づいて復元サンプルを生成するステップと、を含み、
前記映像情報は、アダプテーションパラメータセット(APS)を含み、
前記APSは、APS識別情報及びAPSパラメータのタイプ情報を含み、
前記タイプ情報は、ALF(Adaptive Loop Filter)パラメータに関連する情報、LMCS(Luma Mapping with Chroma Scaling)パラメータに関連する情報、又はスケーリングリストデータに関連する情報のうち、どの情報が前記APSに含まれるかを特定し、
前記タイプ情報に基づいて、前記APSは、スケーリングリストデータを含み、
前記スケーリングリストデータは、前記量子化された変換係数に対する逆量子化過程で使われるスケーリングリストパラメータを含み、
前記変換係数を導出するステップは、
前記APSに含まれている前記タイプ情報に基づいて前記スケーリングリストデータを取得するステップと、
前記スケーリングリストデータに基づいて前記量子化された変換係数に前記逆量子化過程を適用して前記変換係数を導出するステップと、を含み、
前記映像情報は、ヘッダ情報を含み、
前記ヘッダ情報は、前記スケーリングリストデータに関連するAPS識別情報を含み、
前記スケーリングリストデータは、前記ヘッダ情報の前記APS識別情報に基づいて前記APSを識別することにより、前記APSから取得され、
前記映像情報は、シーケンスパラメータセット(SPS)を含み、
前記SPSは、前記スケーリングリストデータが可用であるか否かを示すことに関連する第1の可用フラグ情報を含み、
前記スケーリングリストデータが可用であることを示すことに関連する前記第1の可用フラグ情報に基づいて、前記ヘッダ情報から前記スケーリングリストデータに関連する前記APS識別情報が取得され、
前記ヘッダ情報は、ピクチャまたはスライスにおいて前記スケーリングリストデータが可用であるか否かを示すことに関連する第2の可用フラグ情報を含み、
前記第1の可用フラグ情報に基づいて、前記ヘッダ情報から前記第2の可用フラグ情報が取得され、
前記第2の可用フラグ情報に基づいて、前記ヘッダ情報から前記スケーリングリストデータに関連する前記APS識別情報が取得される、映像デコーディング方法。
【請求項2】
映像エンコーディング装置により実行される映像エンコーディング方法において、
現在ブロックに対するレジデュアルサンプルを導出するステップと、
前記レジデュアルサンプルに基づいて変換係数を導出するステップと、
前記変換係数に量子化過程を適用して量子化された変換係数を導出するステップと、
前記量子化された変換係数に対する情報を含むレジデュアル情報を生成するステップと、
前記レジデュアル情報を含む映像情報をエンコーディングするステップと、を含み、
前記映像情報は、アダプテーションパラメータセット(APS)を含み、
前記APSは、スケーリングリストパラメータを含むスケーリングリストデータを含み、
前記APSは、APS識別情報及びAPSパラメータのタイプ情報を含み、
前記タイプ情報は、ALF(Adaptive Loop Filter)パラメータに関連する情報、LMCS(Luma Mapping with Chroma Scaling)パラメータに関連する情報、又はスケーリングリストデータに関連する情報のうち、どの情報が前記APSに含まれるかを特定し、
前記タイプ情報に基づいて、前記APSは、前記スケーリングリストデータを含み、
前記映像情報は、ヘッダ情報を含み、
前記ヘッダ情報は、前記スケーリングリストデータに関連するAPS識別情報を含み、
前記ヘッダ情報の前記APS識別情報は、前記スケーリングリストデータを含む前記APSの識別情報を明示し、
前記映像情報は、シーケンスパラメータセット(SPS)を含み、
前記SPSは、前記スケーリングリストデータが可用であるか否かを示すことに関連する第1の可用フラグ情報を含み、
前記スケーリングリストデータが可用であることを示すことに関連する前記第1の可用フラグ情報に基づいて、前記ヘッダ情報は、前記スケーリングリストデータに関連する前記APS識別情報を含み、
前記ヘッダ情報は、ピクチャまたはスライスにおいて前記スケーリングリストデータが可用であるか否かを示すことに関連する第2の可用フラグ情報を含み、
前記第1の可用フラグ情報に基づいて、前記ヘッダ情報は、前記第2の可用フラグ情報を含み、
前記第2の可用フラグ情報に基づいて、前記ヘッダ情報は、前記スケーリングリストデータに関連する前記APS識別情報を含む、映像エンコーディング方法。
【請求項3】
映像情報に対するデータを送信する方法であって、
レジデュアル情報を含む前記映像情報のビットストリームを
生成するステップ
であって、前記ビットストリームは、現在ブロックに対するレジデュアルサンプルを導出し、前記レジデュアルサンプルに基づいて変換係数を導出し、前記変換係数に量子化過程を適用して量子化された変換係数を導出し、前記量子化された変換係数に対する情報を含むレジデュアル情報を生成し、前記レジデュアル情報を含む前記映像情報をエンコーディングすることに基づいて生成され
る、ステップと、
前記レジデュアル情報を含む前記映像情報のビットストリームを含む前記データを送信するステップと、を含み、
前記映像情報は、アダプテーションパラメータセット(APS)を含み、
前記APSは、スケーリングリストパラメータを含むスケーリングリストデータを含み、
前記APSは、APS識別情報及びAPSパラメータのタイプ情報を含み、
前記タイプ情報は、ALF(Adaptive Loop Filter)パラメータに関連する情報、LMCS(Luma Mapping with Chroma Scaling)パラメータに関連する情報、又はスケーリングリストデータに関連する情報のうち、どの情報が前記APSに含まれるかを特定し、
前記タイプ情報に基づいて、前記APSは、前記スケーリングリストデータを含み、
前記映像情報は、ヘッダ情報を含み、
前記ヘッダ情報は、前記スケーリングリストデータに関連するAPS識別情報を含み、
前記ヘッダ情報の前記APS識別情報は、前記スケーリングリストデータを含む前記APSの識別情報を明示し、
前記映像情報は、シーケンスパラメータセット(SPS)を含み、
前記SPSは、前記スケーリングリストデータが可用であるか否かを示すことに関連する第1の可用フラグ情報を含み、
前記スケーリングリストデータが可用であることを示すことに関連する前記第1の可用フラグ情報に基づいて、前記ヘッダ情報は、前記スケーリングリストデータに関連する前記APS識別情報を含み、
前記ヘッダ情報は、ピクチャまたはスライスにおいて前記スケーリングリストデータが可用であるか否かを示すことに関連する第2の可用フラグ情報を含み、
前記第1の可用フラグ情報に基づいて、前記ヘッダ情報は、前記第2の可用フラグ情報を含み、
前記第2の可用フラグ情報に基づいて、前記ヘッダ情報は、前記スケーリングリストデータに関連する前記APS識別情報を含む、方法。
【発明の詳細な説明】
【技術分野】
【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のIDを示すAPS識別情報(APS ID)がシグナリングされることができる。
【0012】
本文書の一実施例によると、APSを介してAPSパラメータのタイプ情報がシグナリングされることができ、APSパラメータのタイプ情報に基づいて、該当APSがスケーリングリストデータ(スケーリングリストパラメータ)APSであるかどうかが指示されることができる。
【0013】
本文書の一実施例によると、スケーリングリストデータの可用可否を示す可用フラグ情報が階層的にシグナリングされることができ、上位レベルシンタックス(例えば、SPS)でシグナリングされる可用フラグ情報に基づいて、下位レベルシンタックス(例えば、ピクチャヘッダ/スライスヘッダ/タイプグループヘッダ等)での可用フラグ情報がシグナリングされることができる。
【0014】
本文書の一実施例によると、一般制限情報シンタックスを介して制限フラグ情報がシグナリングされることができ、制限フラグ情報に基づいてスケーリングリストデータの可用フラグ情報に対する使用可否を指示することができる。
【0015】
本文書の一実施例によると、スケーリングリストデータ関連APSのID個数を示すAPS ID個数情報がヘッダ情報を介してシグナリングされることができ、APS ID個数ほどのスケーリングリストデータ関連APSの識別情報シンタックス要素がシグナリングされることができる。
【0016】
本文書の一実施例によると、デコーディング装置により実行されるビデオ/映像デコーディング方法を提供する。前記ビデオ/映像デコーディング方法は、本文書の実施例で開示された方法を含むことができる。
【0017】
本文書の一実施例によると、ビデオ/映像デコーディングを実行するデコーディング装置を提供する。前記デコーディング装置は、本文書の実施例で開示された方法を実行することができる。
【0018】
本文書の一実施例によると、エンコーディング装置により実行されるビデオ/映像エンコーディング方法を提供する。前記ビデオ/映像エンコーディング方法は、本文書の実施例で開示された方法を含むことができる。
【0019】
本文書の一実施例によると、ビデオ/映像エンコーディングを実行するエンコーディング装置を提供する。前記エンコーディング装置は、本文書の実施例で開示された方法を実行することができる。
【0020】
本文書の一実施例によると、本文書の実施例のうち少なくとも一つに開示されたビデオ/映像エンコーディング方法によって生成されたエンコーディングされたビデオ/映像情報が格納されたコンピュータ読み取り可能なデジタル格納媒体を提供する。
【0021】
本文書の一実施例によると、デコーディング装置により本文書の実施例のうち少なくとも一つに開示されたビデオ/映像デコーディング方法を実行するようにするエンコーディングされた情報またはエンコーディングされたビデオ/映像情報が格納されたコンピュータ読み取り可能なデジタル格納媒体を提供する。
【発明の効果】
【0022】
本文書は、多様な効果を有することができる。例えば、本文書の一実施例によると、全般的な映像/ビデオ圧縮効率を上げることができる。また、本文書の一実施例によると、効率的なスケーリング過程を適用することによってコーディング効率を上げて主観的/客観的ビジュアル品質を向上させることができる。また、本文書の一実施例によると、スケーリング過程で使われるスケーリングリストを効率的に構成でき、これを介してスケーリングリスト関連情報を階層的にシグナリングできる。また、本文書の一実施例によると、スケーリングリストベースのスケーリング過程を効率的に適用することによってコーディング効率が増加されることができる。
【0023】
本文書の具体的な実施例を介して得ることができる効果は、以上で羅列された効果に制限されない。例えば、関連した技術分野の通常の知識を有する者(a person having ordinary skill in the related art)が本文書から理解し、または誘導できる多様な技術的効果が存在できる。それによって、本文書の具体的な効果は、本文書に明示的に記載されたものに制限されずに、本文書の技術的特徴から理解され、または誘導されることができる多様な効果を含むことができる。
【図面の簡単な説明】
【0024】
【
図1】本文書の実施例に適用されることができるビデオ/映像コーディングシステムの例を概略的に示す。
【
図2】本文書の実施例が適用されることができるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。
【
図3】本文書の実施例が適用されることができるビデオ/映像デコーディング装置の構成を概略的に説明する図である。
【
図4】本文書の実施例が適用可能な概略的なビデオ/映像エンコーディング方法の一例を示す。
【
図5】本文書の実施例が適用可能な概略的なビデオ/映像デコーディング方法の一例を示す。
【
図6】コーディングされた映像/ビデオに対する階層構造を例示的に示す。
【
図7】本文書の実施例(ら)によるビデオ/映像エンコーディング方法の一例を概略的に示す流れ図である。
【
図8】本文書の実施例(ら)によるビデオ/映像デコーディング方法の一例を概略的に示す流れ図である。
【
図9】本文書に開示された実施例が適用されることができるコンテンツストリーミングシステムの例を示す。
【発明を実施するための形態】
【0025】
本文書は、多様な変更を加えることができ、種々な実施例を有することができ、特定実施例を図面に例示し、詳細に説明しようとする。しかしながら、これは、本文書を特定実施例に限定しようとするものではない。本文書で常用する用語は、単に特定の実施例を説明するために使用されたものであって、本文書の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上明白に異なるように意味しない限り、複数の表現を含む。本文書において「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、一つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものなどの存在または付加可能性を予め排除しないことと理解されるべきである。
【0026】
一方、本文書で説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の都合上、独立的に図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで具現されるということを意味するものではない。例えば、各構成のうち、二つ以上の構成が結合されて一つの構成をなすこともでき、一つの構成を複数の構成に分けることもできる。各構成が統合及び/または分離された実施例も本文書の本質から外れない限り、本文書の権利範囲に含まれる。
【0027】
本文書において“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)”を意味することができる。
【0028】
本文書で使われるスラッシュ(/)や読点(comma)は“及び/または(and/or)”を意味することができる。例えば、“A/B”は“A及び/またはB”を意味することができる。それによって、“A/B”は“ただA”、“ただB”、または“AとBの両方とも”を意味することができる。例えば、“A、B、C”は“A、BまたはC”を意味することができる。
【0029】
本文書において“少なくとも一つのA及びB(at least one of A and B)”は、“ただA”、“ただB”または“AとBの両方とも”を意味することができる。また、本文書において“少なくとも一つのAまたはB(at least one of A or B)”や“少なくとも一つのA及び/またはB(at least one of A and/or B)”という表現は“少なくとも一つのA及びB(at least one of A and B)”と同じく解釈されることができる。
【0030】
また、本文書において“少なくとも一つのA、B及びC(at least one of A、B and C)”は、“ただA”、“ただB”、“ただC”、または“A、B及びCの任意の全ての組み合わせ(any combination of A、B and C)”を意味することができる。また、“少なくとも一つのA、BまたはC(at least one of A、B or C)”や“少なくとも一つのA、B及び/またはC(at least one of A、B and/or C)”は“少なくとも一つのA、B及びC(at least one of A、B and C)”を意味することができる。
【0031】
また、本文書で使われる括弧は“例えば(for example)”を意味することができる。具体的に、“予測(イントラ予測)”で表示された場合、“予測”の一例として“イントラ予測”が提案されたものである。他の表現としては、本文書の“予測”は“イントラ予測”に制限(limit)されるものではなく、“イントラ予測”が“予測”の一例として提案されたものである。また、“予測(即ち、イントラ予測)”で表示された場合も、“予測”の一例として“イントラ予測”が提案されたものである。
【0032】
本文書は、ビデオ/映像コーディングに関する。例えば、本文書に開示された方法/実施例は、VVC(Versatile Video Coding)標準に開示される方法に適用されることができる。また、本文書に開示された方法/実施例は、EVC(essential video coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)または次世代ビデオ/映像コーディング標準(例えば、H.267またはH.267)に開示される方法に適用されることができる。
【0033】
本文書ではビデオ/映像コーディングに関する多様な実施例を提示し、他の言及がない限り、前記実施例は、互いに組み合わせて実行されることもできる。
【0034】
本文書において、ビデオ(video)は、時間の流れによる一連の映像(image)の集合を意味することができる。ピクチャ(picture)は、一般的に特定時間帯の一つの映像を示す単位を意味し、スライス(slice)/タイル(tile)は、コーディングにおいてピクチャの一部を構成する単位である。スライス/タイルは、一つ以上のCTU(coding tree unit)を含むことができる。一つのピクチャは、一つ以上のスライス/タイルで構成されることができる。タイルは、ピクチャ内の特定タイル列及び特定タイル列以内の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)。
【0035】
一方、一つのピクチャは、二つ以上のサブピクチャに区分されることができる。サブピクチャは、ピクチャ内の一つ以上のスライスの四角領域である(an rectangular region of one or more slices within a picture)。
【0036】
ピクセル(pixel)またはペル(pel)は、一つのピクチャ(または、映像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用されることができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。または、サンプルは、空間ドメインでのピクセル値を意味することもでき、このようなピクセル値が周波数ドメインに変換されると、周波数ドメインでの変換係数を意味することもできる。
【0037】
ユニット(unit)は、映像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち少なくとも一つを含むことができる。一つのユニットは、一つのルマブロック及び二つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(または、サンプルアレイ)、または変換係数(transform coefficient)の集合(または、アレイ)を含むことができる。
【0038】
また、本文書において、量子化/逆量子化及び/または変換/逆変換のうち少なくとも一つは、省略されることができる。量子化/逆量子化が省略される場合、量子化された変換係数は、変換係数と呼ばれることができる。変換/逆変換が省略される場合、変換係数は、係数またはレジデュアル係数と呼ばれることもでき、または、表現の統一性のために、 依然として変換係数と呼ばれることもできる。
【0039】
本文書において、量子化された変換係数及び変換係数は、各々、変換係数及びスケーリングされた(scaled)変換係数と呼ばれることができる。この場合、レジデュアル情報は、変換係数(ら)に関する情報を含むことができ、変換係数(ら)に関する情報は、レジデュアルコーディングシンタックスを介してシグナリングされることができる。レジデュアル情報(または、変換係数(ら)に関する情報)に基づいて変換係数が導出されることができ、変換係数に対する逆変換(スケーリング)を介してスケーリングされた変換係数が導出されることができる。スケーリングされた変換係数に対する逆変換(変換)に基づいて、レジデュアルサンプルが導出されることができる。これは本文書の他の部分でも同様に適用/表現されることができる。
【0040】
本文書において、一つの図面内で個別的に説明される技術的特徴は、個別的に具現されることもでき、同時に具現されることもできる。
【0041】
以下、添付図面を参照して、本文書の好ましい実施例をより詳細に説明する。以下、図面上の同じ構成要素に対しては、同じ参照符号を使用し、同じ構成要素に対して重複した説明は、省略されることができる。
【0042】
図1は、本文書の実施例に適用されることができるビデオ/映像コーディングシステムの例を概略的に示す。
【0043】
図1を参照すると、ビデオ/映像コーディングシステムは、第1の装置(ソースデバイス)及び第2の装置(受信デバイス)を含むことができる。ソースデバイスは、エンコーディングされたビデオ(video)/映像(image)情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスに伝達できる。
【0044】
前記ソースデバイスは、ビデオソース、エンコーディング装置、送信部を含むことができる。前記受信デバイスは、受信部、デコーディング装置、及びレンダラを含むことができる。前記エンコーディング装置は、ビデオ/映像エンコーディング装置と呼ばれることができ、前記デコーディング装置は、ビデオ/映像デコーディング装置と呼ばれることができる。送信機は、エンコーディング装置に含まれることができる。受信機は、デコーディング装置に含まれることができる。レンダラは、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
【0045】
ビデオソースは、ビデオ/映像のキャプチャ、合成または生成過程などを介してビデオ/映像を取得することができる。ビデオソースは、ビデオ/映像キャプチャデバイス及び/またはビデオ/映像生成デバイスを含むことができる。ビデオ/映像キャプチャデバイスは、例えば、一つ以上のカメラ、以前にキャプチャされたビデオ/映像を含むビデオ/映像アーカイブなどを含むことができる。ビデオ/映像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを含むことができ、(電子的に)ビデオ/映像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/映像が生成されることができ、この場合、関連データが生成される過程にビデオ/映像キャプチャ過程が代替されることができる。
【0046】
エンコーディング装置は、入力ビデオ/映像をエンコーディングすることができる。エンコーディング装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を実行することができる。エンコーディングされたデータ(エンコーディングされたビデオ/映像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
【0047】
送信部は、ビットストリーム形態で出力されたエンコーディングされたビデオ/映像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達できる。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。送信部は、あらかじめ決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介した送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコーディング装置に伝達できる。
【0048】
デコーディング装置は、エンコーディング装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を実行してビデオ/映像をデコーディングすることができる。
【0049】
レンダラは、デコーディングされたビデオ/映像をレンダリングすることができる。レンダリングされたビデオ/映像は、ディスプレイ部を介してディスプレイされることができる。
【0050】
図2は、本文書の実施例が適用されることができるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。以下、エンコーディング装置とは、映像エンコーディング装置及び/またはビデオエンコーディング装置を含むことができる。
【0051】
図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は、実施例によって一つ以上のハードウェアコンポーネント(例えば、エンコーダチップセットまたはプロセッサ)により構成されることができる。また、メモリ270は、DPB(decoded picture buffer)を含むことができ、デジタル格納媒体により構成されることもできる。前記ハードウェアコンポーネントは、メモリ270を内/外部コンポーネントとしてさらに含むこともできる。
【0052】
映像分割部210は、エンコーディング装置200に入力された入力映像(または、ピクチャ、フレーム)を一つ以上の処理ユニット(processing unit)に分割することができる。一例として、前記処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれることができる。この場合、コーディングユニットは、コーディングツリーユニット(coding tree unit、CTU)または最大コーディングユニット(largest coding unit、LCU)からQTBTTT(Quad-tree binary-tree ternary-tree)構造によって再帰的に(recursively)分割されることができる。例えば、一つのコーディングユニットは、クアッドツリー構造、バイナリツリー構造、及び/またはターナリ構造に基づいて下位(deeper)デプスの複数のコーディングユニットに分割されることができる。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造及び/またはターナリ構造がその後に適用されることができる。または、バイナリツリー構造が先に適用されることもできる。それ以上分割されない最終コーディングユニットに基づいて本文書によるコーディング手順が実行されることができる。この場合、映像特性によるコーディング効率などに基づいて、最大コーディングユニットが最終コーディングユニットとして使用されることができ、または、必要に応じてコーディングユニットは、再帰的に(recursively)もっと下位デプスのコーディングユニットに分割されて最適のサイズのコーディングユニットが最終コーディングユニットとして使用されることができる。ここで、コーディング手順とは、後述する予測、変換、及び復元などの手順を含むことができる。他の例として、前記処理ユニットは、予測ユニット(PU:Prediction Unit)または変換ユニット(TU:Transform Unit)をさらに含むことができる。この場合、前記予測ユニット及び前記変換ユニットは、各々前述した最終コーディングユニットから分割またはパーティショニングされることができる。前記予測ユニットは、サンプル予測の単位であり、前記変換ユニットは、変換係数を誘導する単位及び/または変換係数からレジデュアル信号(residual signal)を誘導する単位である。
【0053】
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)の集合を示すことができる。サンプルは、一般的にピクセルまたはピクセルの値を示すこともでき、輝度(luma)成分のピクセル/ピクセル値のみを示すこともでき、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、一つのピクチャ(または、映像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
【0054】
エンコーディング装置200は、入力映像信号(原本ブロック、原本サンプルアレイ)からインター予測部221またはイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算してレジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成することができ、生成されたレジデュアル信号は、変換部232に送信される。この場合、図示されたように、エンコーダ200内において入力映像信号(原本ブロック、原本サンプルアレイ)から予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれることができる。予測部は、処理対象ブロック(以下、現在ブロックという)に対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、現在ブロックまたはCU単位でイントラ予測が適用されるか、または、インター予測が適用されるかを決定することができる。予測部は、各予測モードについての説明で後述するように、予測モード情報など、予測に関する多様な情報を生成してエントロピーエンコーディング部240に伝達することができる。予測に関する情報は、エントロピーエンコーディング部240でエンコーディングされてビットストリーム形態で出力されることができる。
【0055】
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置することもでき、または、離れて位置することもできる。イントラ予測における予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは例示に過ぎず、設定によってそれ以上またはそれ以下の個数の方向性予測モードが使用されることができる。イントラ予測部222は、隣接ブロックに適用された予測モードを利用して、現在ブロックに適用される予測モードを決定することもできる。
【0056】
インター予測部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)をシグナリングすることによって、現在ブロックの動きベクトルを指示することができる。
【0057】
予測部220は、後述する多様な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、一つのブロックに対する予測のために、イントラ予測またはインター予測を適用することができるだけでなく、イントラ予測とインター予測とを同時に適用することもできる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくこともでき、または、パレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ映像/動映像コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を実行するが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と類似するように実行されることができる。即ち、IBCは、本文書において説明されるインター予測技法のうち少なくとも一つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングすることができる。
【0058】
前記予測部(インター予測部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)のうち少なくとも一つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現するとき、このグラフから得られた変換を意味する。CNTは、以前に復元された全てのピクセル(all previously reconstructed pixel)を利用して予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同じ大きさを有するピクセルブロックに適用されることもでき、正方形でない可変大きさのブロックに適用されることもできる。
【0059】
量子化部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に含まれることもできる。
【0060】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することによって、レジデュアル信号(レジデュアルブロックまたはレジデュアルサンプル)を復元することができる。加算部155は、復元されたレジデュアル信号をインター予測部221またはイントラ予測部222から出力された予測信号に加えることによって、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成されることができる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部250は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0061】
一方、ピクチャエンコーディング及び/または復元過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0062】
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに多様なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納することができる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部260は、各フィルタリング方法に対する説明で後述するように、フィルタリングに関する多様な情報を生成してエントロピーエンコーディング部240に伝達することができる。フィルタリングに関する情報は、エントロピーエンコーディング部240でエンコーディングされてビットストリーム形態で出力されることができる。
【0063】
メモリ270に送信された修正された復元ピクチャは、インター予測部221で参照ピクチャとして使用されることができる。エンコーディング装置は、これを介してインター予測が適用される場合、エンコーディング装置100とデコーディング装置における予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【0064】
メモリ270のDPBは、修正された復元ピクチャをインター予測部221における参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコーディングされた)ブロックの動き情報及び/または既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するために、インター予測部221に伝達することができる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達することができる。
【0065】
図3は、本文書の実施例が適用されることができるビデオ/映像デコーディング装置の構成を概略的に説明する図である。以下、デコーディング装置とは、映像デコーディング装置及び/またはビデオデコーディング装置を含むことができる。
【0066】
図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は、実施例によって一つのハードウェアコンポーネント(例えば、デコーダチップセットまたはプロセッサ)により構成されることができる。また、メモリ360は、DPB(decoded picture buffer)を含むことができ、デジタル格納媒体により構成されることもできる。前記ハードウェアコンポーネントは、メモリ360を内/外部コンポーネントとしてさらに含むこともできる。
【0067】
ビデオ/映像情報を含むビットストリームが入力されると、デコーディング装置300は、
図2のエンコーディング装置でビデオ/映像情報が処理されたプロセスに対応して映像を復元することができる。例えば、デコーディング装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出することができる。デコーディング装置300は、エンコーディング装置で適用された処理ユニットを利用してデコーディングを実行することができる。したがって、デコーディングの処理ユニットは、例えば、コーディングユニットであり、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/またはターナリツリー構造にしたがって分割されることができる。コーディングユニットから一つ以上の変換ユニットが導出されることができる。そして、デコーディング装置300を介してデコーディング及び出力された復元映像信号は、再生装置を介して再生されることができる。
【0068】
デコーディング装置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のうち少なくとも一つを含むことができる。
【0069】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコーディング装置で実行された係数スキャン順序に基づいて再整列を実行することができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を利用して量子化された変換係数に対する逆量子化を実行し、変換係数(transform coefficient)を取得することができる。
【0070】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
【0071】
予測部は、現在ブロックに対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピーデコーディング部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか、または、インター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モードを決定することができる。
【0072】
予測部320は、後述する多様な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、一つのブロックに対する予測のために、イントラ予測またはインター予測を適用することができるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくこともでき、または、パレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ映像/動映像コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を実行するが、現在ピクチャ内で参照ブロックを導出する点でインター予測と類似するように実行されることができる。即ち、IBCは、本文書で説明されるインター予測技法のうち少なくとも一つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/映像情報に含まれてシグナリングされることができる。
【0073】
イントラ予測部331は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置することもでき、または離れて位置することもできる。イントラ予測における予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。イントラ予測部331は、隣接ブロックに適用された予測モードを利用して、現在ブロックに適用される予測モードを決定することもできる。
【0074】
インター予測部332は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを含むことができる。例えば、インター予測部332は、隣接ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/または参照ピクチャインデックスを導出することができる。多様な予測モードに基づいてインター予測が実行されることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
【0075】
加算部340は、取得されたレジデュアル信号を予測部(インター予測部332及び/またはイントラ予測部331を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。
【0076】
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て出力されることもでき、または、次のピクチャのインター予測のために使用されることもできる。
【0077】
一方、ピクチャデコーディング過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0078】
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに多様なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ360、具体的に、メモリ360のDPBに送信することができる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
【0079】
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部332で参照ピクチャとして使用されることができる。メモリ360は、現在ピクチャ内の動き情報が導出された(または、デコーディングされた)ブロックの動き情報及び/または既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部331に伝達することができる。
【0080】
本文書において、エンコーディング装置200のフィルタリング部260、インター予測部221、及びイントラ予測部222で説明された実施例は、各々、デコーディング装置300のフィルタリング部350、インター予測部332、及びイントラ予測部331にも同一または対応するように適用されることができる。
【0081】
前述したように、ビデオコーディングを実行するにあたって、圧縮効率を上げるために予測を実行する。これを介してコーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、予測されたブロックは、空間ドメイン(または、ピクセルドメイン)での予測サンプルを含む。予測されたブロックは、エンコーディング装置及びデコーディング装置で同じく導出され、エンコーディング装置は、原本ブロックの原本サンプル値自体でない原本ブロックと予測されたブロックとの間のレジデュアルに対する情報(レジデュアル情報)をデコーディング装置にシグナリングすることで映像コーディング効率を上げることができる。デコーディング装置は、レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、レジデュアルブロックと予測されたブロックとを合わせて復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
【0082】
前記レジデュアル情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコーディング装置は、原本ブロックと予測されたブロックとの間のレジデュアルブロックを導出し、レジデュアルブロックに含まれているレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を実行して変換係数を導出し、変換係数に量子化手順を実行して量子化された変換係数を導出することで、関連したレジデュアル情報を(ビットストリームを介して)デコーディング装置にシグナリングできる。ここで、レジデュアル情報は、量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコーディング装置は、レジデュアル情報に基づいて逆量子化/逆変換手順を実行してレジデュアルサンプル(または、レジデュアルブロック)を導出することができる。デコーディング装置は、予測されたブロックとレジデュアルブロックに基づいて復元ピクチャを生成することができる。また、エンコーディング装置は、以後ピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成することができる。
【0083】
イントラ予測は、現在ブロックが属するピクチャ(以下、現在ピクチャという)内の参照サンプルに基づいて現在ブロックに対する予測サンプルを生成する予測を示すことができる。現在ブロックにイントラ予測が適用される場合、現在ブロックのイントラ予測に使用する隣接参照サンプルが導出されることができる。現在ブロックの隣接参照サンプルは、nW×nH大きさの現在ブロックの左側(left)境界に隣接したサンプル及び左下側(bottom-left)に隣接した総2×nH個のサンプル、現在ブロックの上側(top)境界に隣接したサンプル及び右上側(top-right)に隣接した総2×nW個のサンプル及び現在ブロックの左上側(top-left)に隣接した1個のサンプルを含むことができる。または、現在ブロックの隣接参照サンプルは、複数列の上側隣接サンプル及び複数行の左側隣接サンプルを含むこともできる。また、現在ブロックの隣接参照サンプルは、nW×nH大きさの現在ブロックの右側(right)境界に隣接した総nH個のサンプル、現在ブロックの下側(bottom)境界に隣接した総nW個のサンプル及び現在ブロックの右下側(bottom-right)に隣接した1個のサンプルを含むこともできる。
【0084】
ただし、現在ブロックの隣接参照サンプルのうち一部は、まだデコーディングされない、または利用可能でない場合がある。この場合、デコーダは、利用可能なサンプルとして利用可能でないサンプルを代替(substitution)して予測に使用する隣接参照サンプルを構成することができる。または、利用可能なサンプルの補間(interpolation)を介して予測に使用する隣接参照サンプルを構成することができる。
【0085】
隣接参照サンプルが導出された場合、(i)現在ブロックの隣接(neighboring)参照サンプルの平均(average)または補間(interpolation)に基づいて予測サンプルを誘導することができ、(ii)現在ブロックの隣接参照サンプルのうち、予測サンプルに対して特定(予測)方向に存在する参照サンプルに基づいて予測サンプルを誘導することもできる。(i)の場合は、非方向性(non-directional)モードまたは非角度(non-angular)モードと呼ばれ、(ii)の場合は、方向性(directional)モードまたは角度(angular)モードと呼ばれることができる。
【0086】
また、隣接参照サンプルのうち現在ブロックの予測サンプルを基準にして、現在ブロックのイントラ予測モードの予測方向に位置する第1の隣接サンプルと前記予測方向の反対方向に位置する第2の隣接サンプルとの補間を介して予測サンプルが生成されることもできる。前述した場合は、線形補間イントラ予測(Linear interpolation intra prediction、LIP)と呼ばれることができる。また、線形モデル(linear model、LM)を利用してルマサンプルに基づいてクロマ予測サンプルが生成されることもできる。この場合は、LMモードまたはCCLM(chroma component LM)モードと呼ばれることができる。
【0087】
また、フィルタリングされた隣接参照サンプルに基づいて現在ブロックの臨時予測サンプルを導出し、既存の隣接参照サンプル、即ち、フィルタリングされない隣接参照サンプルのうち、前記イントラ予測モードによって導出された少なくとも一つの参照サンプルと臨時予測サンプルとを加重和(weighted sum)して現在ブロックの予測サンプルを導出することもできる。前述した場合は、PDPC(Position dependent intra prediction)と呼ばれることができる。
【0088】
また、現在ブロックの隣接多重参照サンプルラインの中から最も予測正確度が高い参照サンプルラインを選択して該当ラインで予測方向に位置する参照サンプルを利用して予測サンプルを導出し、この時に使われた参照サンプルラインをデコーディング装置に指示(シグナリング)する方法でイントラ予測符号化を実行することができる。前述した場合は、多重参照ライン(multi-reference line)イントラ予測またはMRLベースのイントラ予測と呼ばれることができる。
【0089】
また、現在ブロックを垂直または水平のサブパーティションに分けて同じイントラ予測モードに基づいてイントラ予測を実行し、サブパーティション単位で隣接参照サンプルを導出して利用できる。即ち、この場合、現在ブロックに対するイントラ予測モードがサブパーティションに同じく適用され、サブパーティション単位で隣接参照サンプルを導出して利用することによって、場合によって、イントラ予測性能を高めることができる。このような予測方法は、ISP(intra sub-partitions)ベースのイントラ予測と呼ばれることができる。
【0090】
前述したイントラ予測方法は、イントラ予測モードと区分してイントラ予測タイプと呼ばれることができる。イントラ予測タイプは、イントラ予測技法または付加イントラ予測モードなど、多様な用語で呼ばれることができる。例えば、イントラ予測タイプ(または、付加イントラ予測モードなど)は、前述したLIP、PDPC、MRL、ISPのうち少なくとも一つを含むことができる。前記LIP、PDPC、MRL、ISPなどの特定イントラ予測タイプを除外した一般イントラ予測方法は、ノーマルイントラ予測タイプと呼ばれることができる。ノーマルイントラ予測タイプは、前記のような特定イントラ予測タイプが適用されない場合、一般的に適用されることができ、前述したイントラ予測モードに基づいて予測が実行されることができる。一方、必要によって、導出された予測サンプルに対する後処理フィルタリングが実行されることもできる。
【0091】
具体的に、イントラ予測手順は、イントラ予測モード/タイプ決定ステップ、隣接参照サンプル導出ステップ、イントラ予測モード/タイプベースの予測サンプル導出ステップを含むことができる。また、必要によって、導出された予測サンプルに対する後処理フィルタリング(post-filtering)ステップが実行されることもできる。
【0092】
イントラ予測が適用される場合、隣接ブロックのイントラ予測モードを利用して現在ブロックに適用されるイントラ予測モードが決定されることができる。例えば、デコーディング装置は、現在ブロックの隣接ブロック(例えば、左側及び/または上側隣接ブロック)のイントラ予測モード及び追加的な候補モードに基づいて導出されたMPM(most probable mode)リスト内のMPM候補のうち一つを受信されたMPMインデックスに基づいて選択でき、または、MPM候補(及びプラナーモード)に含まれない残りのイントラ予測モードのうち一つをリメイニングイントラ予測モード情報に基づいて選択できる。MPMリストは、プラナーモードを候補として含む場合または含まない場合で構成されることができる。例えば、MPMリストがプラナーモードを候補として含む場合、MPMリストは、6個の候補を有することができ、MPMリストがプラナーモードを候補として含まない場合、MPMリストは、5個の候補を有することができる。MPMリストがプラナーモードを候補として含まない場合、現在ブロックのイントラ予測モードがプラナーモードでないことを示すnotプラナーフラグ(例えば、intra_luma_not_planar_flag)がシグナリングされることができる。例えば、MPMフラグが先にシグナリングされ、MPMインデックス及びnotプラナーフラグは、MPMフラグの値が1である場合にシグナリングされることができる。また、MPMインデックスは、notプラナーフラグの値が1である場合にシグナリングされることができる。ここで、MPMリストがプラナーモードを候補として含まないように構成されることは、プラナーモードがMPMでないことを意味するより、MPMで常にプラナーモードが考慮されるため、先にフラグ(not planar flag)をシグナリングしてプラナーモードであるかどうかを先に確認するためである。
【0093】
例えば、現在ブロックに適用されるイントラ予測モードがMPM候補(及びプラナーモード)内にあるか、または、リメイニングモード内にあるかは、MPMフラグ(例えば、intra_luma_mpm_flag)に基づいて指示されることができる。MPMフラグの値1は、現在ブロックに対するイントラ予測モードがMPM候補(及びプラナーモード)内にあることを示すことができ、MPM flagの値0は、現在ブロックに対するイントラ予測モードがMPM候補(及びプラナーモード)内に無いことを示すことができる。notプラナーフラグ(例えば、intra_luma_not_planar_flag)値0は、現在ブロックに対するイントラ予測モードがプラナーモードであることを示すことができ、notプラナーフラグ値1は、現在ブロックに対するイントラ予測モードがプラナーモードでないことを示すことができる。MPMインデックスは、mpm_idxまたはintra_luma_mpm_idxシンテックス要素の形態でシグナリングされることができ、リメイニングイントラ予測モード情報は、rem_intra_luma_pred_modeまたはintra_luma_mpm_remainderシンテックス要素の形態でシグナリングされることができる。例えば、リメイニングイントラ予測モード情報は、全体イントラ予測モードのうちMPM候補(及びプラナーモード)に含まれない残りのイントラ予測モードを予測モード番号順にインデクシングしてそのうち一つを指すことができる。イントラ予測モードは、ルマ成分(サンプル)に対するイントラ予測モードである。以下、イントラ予測モード情報は、MPM flag(例えば、intra_luma_mpm_flag)、not planar flag(例えば、intra_luma_not_planar_flag)、MPMインデックス(例えば、mpm_idxまたはintra_luma_mpm_idx)、リメイニングイントラ予測モード情報(rem_intra_luma_pred_modeまたはintra_luma_mpm_remainder)のうち少なくとも一つを含むことができる。本文書において、MPMリストは、MPM候補リスト、candModeListなど、多様な用語で呼ばれることができる。MIP(matrix-based intra prediction)が現在ブロックに適用される場合、MIPのための別途のmpm flag(例えば、intra_mip_mpm_flag)、mpmインデックス(例えば、intra_mip_mpm_idx)、リメイニングイントラ予測モード情報(例えば、intra_mip_mpm_remainder)がシグナリングされることができ、not planar flagはシグナリングされない。
【0094】
即ち、一般的に映像に対するブロック分割されると、コーディングしようとする現在ブロックと隣接(neighboring)ブロックは、類似する映像特性を有するようになる。したがって、現在ブロックと隣接ブロックは、互いに同じまたは類似するイントラ予測モードを有する確率が高い。したがって、エンコーダは、現在ブロックのイントラ予測モードをエンコーディングするために、隣接ブロックのイントラ予測モードを利用することができる。
【0095】
例えば、エンコーダ/デコーダは、現在ブロックに対するMPM(most probable modes)リストを構成することができる。MPMリストは、MPM候補リストと示すこともできる。ここで、MPMとは、イントラ予測モードコーディング時、現在ブロックと隣接ブロックの類似性を考慮してコーディング効率を向上させるために利用されるモードを意味することができる。前述したように、MPMリストは、プラナーモードを含んで構成されることもでき、または、プラナーモードを除外して構成されることもできる。例えば、MPMリストがプラナーモードを含む場合、MPMリストの候補の個数は6個である。そして、MPMリストがプラナーモードを含まない場合、MPMリストの候補の個数は5個である。エンコーダ/デコーダは、5個または6個のMPMを含むMPMリストを構成することができる。
【0096】
MPMリストを構成するために、デフォルトイントラモード(Default intra modes)、隣接イントラモード(Neighbour intra modes)、及び導出されたイントラモード(Derived intra modes)の三つの種類のモードが考慮されることができる。このとき、隣接イントラモードのために、二つの隣接ブロック、即ち、左側隣接ブロック及び上側隣接ブロックが考慮されることができる。
【0097】
前述したように、もし、MPMリストがプラナーモードを含まないように構成する場合、前記リストからプラナー(planar)モードが除外され、前記MPMリスト候補の個数は、5個に設定されることができる。
【0098】
また、イントラ予測モードのうち、非方向性モード(または、非角度モード)は、現在ブロックの隣接(neighboring)参照サンプルの平均(average)ベースのDCモードまたは補間(interpolation)ベースのプラナー(planar)モードを含むことができる。
【0099】
インター予測が適用される場合、エンコーディング装置/デコーディング装置の予測部は、ブロック単位でインター予測を実行して予測サンプルを導出することができる。インター予測は、現在ピクチャ以外のピクチャ(ら)のデータ要素(例えば、サンプル値、または動き情報)に依存した方法で導出される予測を示すことができる(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)はシグナリングされることができる。この場合、前記動きベクトル予測子及び動きベクトル差分の和を利用して現在ブロックの動きベクトルを導出することができる。
【0100】
動き情報は、インター予測タイプ(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)に対応されることができる。
【0101】
図4は、本文書の実施例が適用可能な概略的なビデオ/映像エンコーディング方法の一例を示す。
【0102】
図4に開示された方法は、前述した
図2のエンコーディング装置200により実行されることができる。具体的に、S400は、エンコーディング装置200のインター予測部221またはイントラ予測部222により実行されることができ、S410、S420、S430、S440は、各々、エンコーディング装置200の減算部231、変換部232、量子化部233、エントロピーエンコーディング部240により実行されることができる。
【0103】
図4を参照すると、エンコーディング装置は、現在ブロックに対する予測を介して予測サンプルを導出することができる(S400)。エンコーディング装置は、現在ブロックにインター予測を実行するか、または、イントラ予測を実行するかを決定することができ、具体的なインター予測モードまたは具体的なイントラ予測モードをRDコストに基づいて決定できる。決定されたモードによって、エンコーディング装置は、現在ブロックに対する予測サンプルを導出することができる。
【0104】
エンコーディング装置は、現在ブロックに対する原本サンプルと予測サンプルを比較してレジデュアルサンプルを導出することができる(S410)。
【0105】
エンコーディング装置は、レジデュアルサンプルに対する変換手順を介して変換係数を導出し(S420)、導出された変換係数を量子化し、量子化された変換係数を導出することができる(S430)。
【0106】
エンコーディング装置は、予測情報及びレジデュアル情報を含む映像情報をエンコーディングし、エンコーディングされた映像情報をビットストリーム形態で出力できる(S440)。予測情報は、予測手順に関連した情報であって、予測モード情報及び動き情報に関する情報(例えば、インター予測が適用される場合)などを含むことができる。レジデュアル情報は、量子化された変換係数に関する情報を含むことができる。レジデュアル情報は、エントロピーコーディングされることができる。
【0107】
出力されたビットストリームは、格納媒体またはネットワークを介してデコーディング装置に伝達されることができる。
【0108】
図5は、本文書の実施例が適用可能な概略的なビデオ/映像デコーディング方法の一例を示す。
【0109】
図5に開示された方法は、前述した
図3のデコーディング装置300により実行されることができる。具体的に、S500は、デコーディング装置300のインター予測部332またはイントラ予測部331により実行されることができる。S500において、ビットストリームに含まれている予測情報をデコーディングして関連シンタックス要素の値を導出する手順は、デコーディング装置300のエントロピーデコーディング部310により実行されることができる。S510、S520、S530、S540は、各々、デコーディング装置300のエントロピーデコーディング部310、逆量子化部321、逆変換部322、加算部340により実行されることができる。
【0110】
図5を参照すると、デコーディング装置は、エンコーディング装置で実行された動作と対応される動作を実行することができる。デコーディング装置は、受信された予測情報に基づいて現在ブロックに対するインター予測またはイントラ予測を実行して予測サンプルを導出することができる(S500)。
【0111】
デコーディング装置は、受信されたレジデュアル情報に基づいて現在ブロックに対する量子化された変換係数を導出することができる(S510)。デコーディング装置は、エントロピーデコーディングを介してレジデュアル情報から量子化された変換係数を導出することができる。
【0112】
デコーディング装置は、量子化された変換係数を逆量子化して変換係数を導出することができる(S520)。
【0113】
デコーディング装置は、変換係数に対する逆変換手順を介してレジデュアルサンプルを導出する(S530)。
【0114】
デコーディング装置は、予測サンプル及びレジデュアルサンプルに基づいて現在ブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャを生成することができる。(S540)。以後、復元ピクチャにインループフィルタリング手順がさらに適用されることができることは、前述の通りである。
【0115】
一方、前述したように、エンコーディング装置の量子化部は、変換係数に量子化を適用して量子化された変換係数を導出することができ、エンコーディング装置の逆量子化部またはデコーディング装置の逆量子化部は、量子化された変換係数に逆量子化を適用して変換係数を導出することができる。
【0116】
一般的に、ビデオ/映像コーディングでは、量子化率を変化させることができ、変化された量子化率を利用して圧縮を調節することができる。具現観点では、複雑度を考慮して量子化率を直接使用する代わりに量子化パラメータ(QP、quantization parameter)を使用することができる。例えば、0から63までの整数値の量子化パラメータを使用することができ、各量子化パラメータ値は、実際量子化率に対応されることができる。ルマ成分(ルマサンプル)に対する量子化パラメータ(QPY)とクロマ成分(クロマサンプル)に対する量子化パラメータ(QPC)は、異なるように設定されることができる。
【0117】
量子化過程は、変換係数(C)を入力とし、量子化率(Qstep)に分けて、これに基づいて量子化された変換係数(C`)を得ることができる。このとき、計算複雑度を考慮して量子化率にスケールを掛け算して整数形態にし、スケール値に該当する値ほどシフト演算を実行することができる。量子化率とスケール値の掛け算に基づいて量子化スケール(quantization scale)が導出されることができる。即ち、QPによって量子化スケールが導出されることができる。変換係数(C)に量子化スケールを適用し、これに基づいて量子化された変換係数(C`)を導出することもできる。
【0118】
逆量子化過程は、量子化過程の逆過程で量子化された変換係数(C`)に量子化率(Qstep)を掛け算して、これに基づいて復元された変換係数(C``)を得ることができる。この場合、量子化パラメータによってレベルスケール(level scale)が導出されることができ、量子化された変換係数(C`)にレベルスケールを適用し、これに基づいて復元された変換係数(C``)を導出することができる。復元された変換係数(C``)は、変換及び/または量子化過程での損失(loss)によって最初変換係数(C)と多少差がある。したがって、エンコーディング装置でもデコーディング装置と同じく逆量子化を実行する。
【0119】
また、周波数によって量子化強度を調節する適応的周波数別加重量子化(adaptive frequency weighting quantization)技術が適用されることができる。適応的周波数別加重量子化技術は、周波数別に量子化強度を異なるように適用する方法である。適応的周波数別加重量子化は、あらかじめ定義された量子化スケーリングマトリクスを利用して各周波数別量子化強度を異なるように適用できる。即ち、前述した量子化/逆量子化の過程は、量子化スケーリングマトリクスに基づいてさらに実行されることができる。例えば、現在ブロックのサイズ及び/または現在ブロックのレジデュアル信号を生成するために、現在ブロックに適用された予測モードがインター予測であるか、または、イントラ予測であるかによって、異なる量子化スケーリングマトリクスが使われることができる。量子化スケーリングマトリクスは、量子化マトリクスまたはスケーリングマトリクスと呼ばれることができる。量子化スケーリングマトリクスは、あらかじめ定義されることができる。また、周波数適応的スケーリングのために、量子化スケーリングマトリクスに対する周波数別量子化スケール情報がエンコーディング装置で構成/エンコーディングされてデコーディング装置にシグナリングされることができる。周波数別量子化スケール情報は、量子化スケーリング情報と呼ばれることができる。周波数別量子化スケール情報は、スケーリングリストデータ(scaling_list_data)を含むことができる。スケーリングリストデータに基づいて(修正された)量子化スケーリングマトリクスが導出されることができる。また、周波数別量子化スケール情報は、スケーリングリストデータの存否可否を指示する存否フラグ(present flag)情報を含むことができる。または、スケーリングリストデータが上位レベル(例えば、SPS)でシグナリングされた場合、より下位レベル(例えば、PPS or tile group header etc)でスケーリングリストデータが修正されるかどうかを指示する情報などがさらに含まれることができる。
【0120】
前述したように、スケーリングリストデータは、量子化/逆量子化に使われる(周波数ベースの量子化)スケーリングマトリクスを示すためにシグナリングされることができる。
【0121】
デフォルト及びユーザ定義スケーリングマトリクスのシグナリング支援は、HEVC標準に存在し、現在VVC標準に採択された。しかし、VVC標準の場合、下記の機能のシグナリングのための追加的支援が統合された。
【0122】
-スケーリングマトリクスのための3つモード:OFF、DEFAULT、USER_DEFINED
【0123】
-ブロックに対するさらに大きい大きさ範囲(ルマの場合、4×4~64×64、クロマの場合、2×2~32×32)
【0124】
-四角形変換ブロック(TBs)
【0125】
-依存的量子化(Dependent quantization)
【0126】
-多重変換選択(Multiple Tranform Selection;MTS)
【0127】
-高周波係数をゼロにする変換(Large transforms with zeroing-out high frequency coefficients)
【0128】
-イントラサブブロックパーティショニング(Intra sub-block partitioning;ISP)
【0129】
-イントラブロックコピー(Intra Block Copy;IBC)(現在ピクチャ参照(current picture referencing;CPR)ともいう)
【0130】
-全てのTBサイズに対するDEFAULTスケーリングマトリクス、デフォルト値は16
【0131】
スケーリングマトリクスは、全てのサイズに対する変換スキップ(Transform Skip;TS)及び二次変換(Secondary Transform;ST)に適用されてはならないという点に留意しなければならない。
【0132】
以下では、VVC標準でスケーリングリストを支援するための上位レベルシンタックス(High Level Syntax;HSL)構造が詳細に説明される。まず、スケーリングリストがデコーディングされる現在CVS(coded video sequence)に対して可用であるということを指示するために、フラグがシーケンスパラメータセット(Sequence Parameter Set;SPS)を介してシグナリングされることができる。その次に、前記フラグが可用な場合、SPSでスケーリングリストに特定データが存在するかを示すために追加フラグがパーシングされることができる。これは表1のように示すことができる。
【0133】
表1は、CVSに対するスケーリングリストを説明するためにSPSから抄出したものである。
【0134】
【0135】
前記表1のSPSシンタックスに含まれているシンタックス要素のセマンティクス(semantics)は、以下の表2のように示すことができる。
【0136】
【0137】
前記表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に類推されることができる。
【0138】
また、ピクチャパラメータセット(Picture Parameter Set;PPS)でフラグ(例:pps_scaling_list_data_present_flag)が先にパーシングされることができる。このフラグが可用な場合、PPSでscaling_list_data()がパーシングされることができる。scaling_list_data()が先にSPSで存在し、後にPPSでパーシングされる場合、PPSでのデータがSPSでのデータに優先することができる。以下の表3は、スケーリングリストデータを説明するためにPPSから抄出したものである。
【0139】
【0140】
前記表3のPPSシンタックスに含まれているシンタックス要素のセマンティクス(semantics)は、以下の表4のように示すことができる。
【0141】
【0142】
前記表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である場合、スケーリングリストデータセマンティクスで説明されたように、デフォルトスケーリングリストデータがスケーリングファクタ(ScalingFactor)配列を導出するのに使われることができる。
【0143】
スケーリングリストは、次の量子化マトリクス大きさに対してVVC標準で定義されることができる。これは、以下の表5のように示すことができる。量子化マトリクスに対する支援範囲は、HEVC標準で4×4、8×8、16×16及び32×32で2×2と64×64を含むように拡張された。
【0144】
【0145】
前記表5は、使われた全ての量子化マトリクス大きさに対するsizeIdを定義している。前述した組み合わせを使用して、sizeId、コーディングユニットの予測モード(CuPredMode)、及びカラー成分の相異なる組み合わせに対してmatrixIdが割り当てられることができる。ここで、考慮されることができるCuPredModeは、インター、イントラ、及びIBC(Intra Block Copy)である。イントラモードとIBCモードは、同じく扱われることができる。したがって、与えられたカラー成分に対して同じmatrixId(s)が共有されることができる。ここで、考慮されることができるカラー成分は、ルマ(Luma(Y))及び二つのカラー成分(Cb及びCr)である。割り当てられたmatrixIdは、以下の表6のように示すことができる。
【0146】
表6は、sizeId、予測モード、及びカラー成分によるmatrixIdを示す。
【0147】
【0148】
以下の表7は、スケーリングリストデータ(例:scaling_list_data())に対するシンタックス構造の一例を示す。
【0149】
【0150】
前記表7のシンタックスに含まれているシンタックス要素のセマンティクスは、以下の表8のように示すことができる。
【0151】
【0152】
【0153】
前記表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が先に決定されることができる。
【0154】
明示的シグナリングにおいて、即ち、USER_DEFINEDモードで、シグナリングされる係数の最大個数が先に決定されることができる。量子化ブロックサイズ2×2、4×4及び8×8の場合、全ての係数がシグナリングされることができる。8×8より大きいサイズの場合、即ち、16×16、32×32及び64×64の場合、64個の係数のみがシグナリングされることができる。即ち、8×8基本マトリクスがシグナリングされ、残りの係数は、基本マトリクスからアップサンプリングされることができる。
【0155】
以下の表9は、ScalingList[1][matrixId][i](i=0..3)のデフォルト値を示す一例である。
【0156】
【0157】
以下の表10は、ScalingList[2][matrixId][i](i=0..15)のデフォルト値を示す一例である。
【0158】
【0159】
以下の表11は、ScalingList[3..5][matrixId][i](i=0..63)のデフォルト値を示す一例である。
【0160】
【0161】
以下の表12は、ScalingList[6][matrixId][i](i=0..63)のデフォルト値を示す一例である。
【0162】
【0163】
前述したように、デフォルトスケーリングリストデータは、スケーリングファクタ(ScalingFactor)を導出するのに使われることができる。
【0164】
5次元配列のスケーリングファクタScalingFactor[sizeId][sizeId][matrixId][x][y](ここで、x、y=0..(1<<sizeId)-1)は、前記表5に示す変数sizeId及び前記表6に示す変数matrixIdによって、スケーリングファクタの配列を示すことができる。
【0165】
以下の表13は、前述したデフォルトスケーリングリストに基づいて量子化マトリクス大きさによってスケーリングファクタを導出する例示を示す。
【0166】
【0167】
【0168】
四角形大きさの量子化マトリクスに対して、5次元配列のスケーリングファクタScalingFactor[sizeIdW][sizeIdH][matrixId][x][y](ここで、x=0..(1<<sizeIdW)-1、y=0..(1<<sizeIdH)-1、sizeIdW!=sizeIdH)は、以下の表15に示す変数sizeIdW及びsizeIdHによってスケーリングファクタの配列を示すことができ、以下の表14のように導出されることができる。
【0169】
【0170】
四角形大きさの量子化マトリクスは、下記の条件を満たすサンプルに対してゼロにしなければならない。
【0171】
-x>32
【0172】
-y>32
【0173】
-デコーディングされたTUは、デフォルト変換モードにコーディングされずに、(1<<sizeIdW)==32及びx>16
【0174】
-デコーディングされたTUは、デフォルト変換モードにコーディングされずに、(1<<sizeIdH)==32及びy>16
【0175】
以下の表15は、量子化マトリクス大きさによってsizeIdW及びsizeIdHを示す一例である。
【0176】
【0177】
以下、本文書では量子化/逆量子化の過程で適応的周波数別加重量子化技術を適用するにあたって、スケーリングリストデータを効率的にシグナリングする方法に関して提案する。
【0178】
図6は、コーディングされた映像/ビデオに対する階層構造を例示的に示す。
【0179】
図6を参照すると、コーディングされた映像/ビデオは、映像/ビデオのデコーディング処理及びその自体を扱うVCL(video coding layer、ビデオコーディング階層)、符号化された情報を送信して格納する下位システム、及びVCLと下位システムとの間に存在してネットワーク適応機能を担当するNAL(network abstraction layer、ネットワーク抽象階層)に区分されている。
【0180】
VCLでは、圧縮された映像データ(スライスデータ)を含むVCLデータを生成し、または、ピクチャパラメータセット(Picture Parameter Set:PPS)、シーケンスパラメータセット(Sequence Parameter Set:SPS)、ビデオパラメータセット(Video Parameter Set:VPS)などの情報を含むパラメータセットまたは映像のデコーディング過程に付加的に必要なSEI(Supplemental Enhancement Information)メッセージを生成することができる。
【0181】
NALでは、VCLで生成されたRBSP(Raw Byte Sequence Payload)にヘッダ情報(NALユニットヘッダ)を付加してNALユニットを生成することができる。このとき、RBSPは、VCLで生成されたスライスデータ、パラメータセット、SEIメッセージなどを意味する。NALユニットヘッダには該当NALユニットに含まれるRBSPデータによって特定されるNALユニットタイプ情報を含むことができる。
【0182】
また、NALユニットは、VCLで生成されたRBSPのよってVCL NALユニットとNon-VCL NALユニットとに区分されることができる。VCL NALユニットは、映像に対する情報(スライスデータ)を含んでいるNALユニットを意味することができ、Non-VCL NALユニットは、映像をデコーディングするために必要な情報(パラメータセットまたはSEIメッセージ)を含んでいるNALユニットを意味することができる。
【0183】
VCL NALユニット、Non-VCL NALユニットは、下位システムのデータ規格によってヘッダ情報を付けてネットワークを介して送信されることができる。例えば、NALユニットは、H.266/VVCファイルフォーマット、RTP(Real-time Transport Protocol)、TS(Transport Stream)などのような所定規格のデータ形態で変形されて多様なネットワークを介して送信されることができる。
【0184】
前述したように、NALユニットは、該当NALユニットに含まれるRBSPデータ構造(structure)によってNALユニットタイプが特定されることができ、このようなNALユニットタイプに対する情報は、NALユニットヘッダに格納されてシグナリングされることができる。
【0185】
例えば、NALユニットが映像に対する情報(スライスデータ)を含むかどうかによって、大別して、VCL NALユニットタイプとNon-VCL NALユニットタイプとに分類されることができる。VCL NALユニットタイプは、VCL NALユニットが含むピクチャの性質及び種類などによって分類されることができ、Non-VCL NALユニットタイプは、パラメータセットの種類などによって分類されることができる。
【0186】
下記は、Non-VCL NALユニットタイプが含むパラメータセットの種類などによって特定されたNALユニットタイプの一例である。
【0187】
-APS(Adaptation Parameter Set)NAL unit:APSを含むNALユニットに対するタイプ
【0188】
-DPS(Decoding Parameter Set)NAL unit:DPSを含むNALユニットに対するタイプ
【0189】
-VPS(Video Parameter Set)NAL unit:VPSを含むNALユニットに対するタイプ
【0190】
-SPS(Sequence Parameter Set)NAL unit:SPSを含むNALユニットに対するタイプ
【0191】
-PPS(Picture Parameter Set)NAL unit:PPSを含むNALユニットに対するタイプ
【0192】
-PH(Picture header)NAL unit:PHを含むNALユニットに対するタイプ
【0193】
前述したNALユニットタイプは、NALユニットタイプのためのシンタックス情報を有し、シンタックス情報は、NALユニットヘッダに格納されてシグナリングされることができる。例えば、前記シンタックス情報は、nal_unit_typeであり、NALユニットタイプは、nal_unit_type値に特定されることができる。
【0194】
一方、前述したように、一つのピクチャは、複数のスライスを含むことができ、一つのスライスは、スライスヘッダ及びスライスデータを含むことができる。この場合、一つのピクチャ内の複数のスライス(スライスヘッダ及びスライスデータ集合)に対して一つのピクチャヘッダがさらに付加されることができる。ピクチャヘッダ(ピクチャヘッダシンタックス)は、ピクチャに共通的に適用できる情報/パラメータを含むことができる。本文書において、タイルグループは、スライスまたはピクチャに混用または代替されることができる。また、本文書において、タイルグループヘッダは、スライスヘッダまたはピクチャヘッダに混用または代替されることができる。
【0195】
スライスヘッダ(スライスヘッダシンタックス)は、スライスに共通的に適用できる情報/パラメータを含むことができる。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シンタックス、ピクチャヘッダシンタックス、スライスヘッダシンタックスのうち少なくとも一つを含むことができる。
【0196】
本文書において、エンコーディング装置からデコーディング装置にエンコーディングされてビットストリーム形態でシグナリングされる映像/ビデオ情報は、ピクチャ内のパーティショニング関連情報、イントラ/インター予測情報、レジデュアル情報、インループフィルタリング情報などを含むだけでなく、スライスヘッダに含まれている情報、ピクチャヘッダに含まれている情報、APSに含まれている情報、PPSに含まれている情報、SPSに含まれている情報、VPSに含まれている情報、及び/またはDPSに含まれている情報を含むことができる。また、前記映像/ビデオ情報は、NALユニットヘッダの情報をさらに含むことができる。
【0197】
一方、APS(Adaptation Parameter Set)は、VVC標準でALF(Adaptive Loop Filter)とLMCS(Luma Mapping with Chroma Scaling)手順のための情報を送信するのに使われている。また、APSは、他のデータ構造(即ち、他のシンタックス構造)を送信するのに使われることができるように拡張可能な構造を有している。これにより、本文書は、周波数別加重量子化のために使われるスケーリングリストデータをAPSを介してパーシング/シグナリングする方法を提案する。
【0198】
スケーリングリストデータは、前述したように、量子化/逆量子化の過程で適用されることができる周波数別加重量子化のための量子化スケール情報であり、スケールファクタと各周波数インデックスを関連させるリストである。
【0199】
一実施例として、以下の表16は、スケーリングリストデータを送信するのに使われるAPS(adaptation parameter set)構造の一例を示す。
【0200】
【0201】
前記表16のAPSシンタックスに含まれているシンタックス要素のセマンティクス(semantics)は、以下の表17のように示すことができる。
【0202】
【0203】
前記表16及び表17を参照すると、APSでadaptation_parameter_set_idシンタックス要素がパーシング/シグナリングされることができる。adaptation_parameter_set_idは、他のシンタックス要素の参照のためのAPSに対する識別子を提供する。即ち、APSは、adaptation_parameter_set_idシンタックス要素に基づいて識別されることができる。adaptation_parameter_set_idシンタックス要素は、APS ID情報と呼ばれることができる。APSは、ピクチャ間に共有されることができ、ピクチャ内の他のタイルグループでは異なる場合がある。
【0204】
また、APSでaps_params_typeシンタックス要素がパーシング/シグナリングされることができる。aps_params_typeは、以下の表18に示すように、APSで送信されるAPSパラメータのタイプを示すことができる。aps_params_typeシンタックス要素は、APSパラメータタイプ情報またはAPSタイプ情報と呼ばれることができる。
【0205】
例えば、以下の表18は、APSを介して送信されることができるAPSパラメータのタイプを示す例示であり、各APSパラメータタイプは、aps_params_typeの値に対応して示すことができる。
【0206】
【0207】
前記表18を参照すると、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リストデータは、周波数ベースの量子化スケーリングマトリクス/スケーリングファクタ/スケーリングリストの値を導出するためのスケーリングリストデータパラメータを含むことができる。
【0208】
例えば、前記表16のように、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())がパーシング/シグナリングされることができる。
【0209】
また、前記表16及び表17を参照すると、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シンタックス構造に存在することを示すことができる。
【0210】
aps_extension_flagシンタックス要素に基づいてaps_extension_data_flagシンタックス要素がパーシング/シグナリングされることができる。aps_extension_data_flagシンタックス要素は、APS拡張データフラグと呼ばれることができる。例えば、aps_extension_flagの値が1である場合、aps_extension_data_flagがパーシング/シグナリングされることができ、このとき、aps_extension_data_flagは、任意の値を有することができる。
【0211】
前述したように、本文書の一実施例によると、スケーリングリストデータを示すためのデータタイプ(例:SCALING_APS)を割り当て、データタイプを示すシンタックス要素(例:aps_params_type)をパーシング/シグナリングすることで効率的にスケーリングリストデータを運ぶことができる。即ち、本文書の一実施例によると、スケーリングリストデータを統合したAPSの構造を使用することができる。
【0212】
一方、現在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レベルで不必要であり、下位レベルでパーシング/シグナリングされることがより効果的である。これにより、本文書は、スケーリングリストデータを効果的にパーシング/シグナリングするために階層的構造を提案する。
【0213】
一実施例として、スケーリングリストデータを上位レベルシンタックスであるSPSからパーシング/シグナリングせずに、より下位レベルシンタックスであるPPS、タイルグループヘッダ、スライスヘッダ、及び/または他の適切なヘッダでパーシング/シグナリングできるようにする。
【0214】
例えば、以下の表19のようにSPSシンタックスを修正することができる。以下の表19は、CVSに対するスケーリングリストを説明するためのSPSシンタックスの一例を示す。
【0215】
【0216】
前記表19のSPSシンタックスに含まれているシンタックス要素のセマンティクスは、以下の表20のように示すことができる。
【0217】
【0218】
前記表19及び表20を参照すると、SPSでscaling_list_enabled_flagシンタックス要素がパーシング/シグナリングされることができる。scaling_list_enabled_flagシンタックス要素は、その値が0であるか、または、1であるかに基づいてスケーリングリストが可用であるかどうかを示すことができる。例えば、scaling_list_enabled_flagの値が1である場合、スケーリングリストが変換係数に対するスケーリング過程に使われることを示し、scaling_list_enabled_flagの値が0である場合、スケーリングリストが変換係数に対するスケーリング過程に使われないことを示すことができる。
【0219】
即ち、scaling_list_enabled_flagシンタックス要素は、スケーリングリスト可用フラグと呼ばれることができ、SPS(または、SPSレベル)でシグナリングされることができる。即ち、SPSレベルでシグナリングされるscaling_list_enabled_flagの値に基づいて、該当SPSを参照するCVS内のピクチャに対して基本的にスケーリングリストが可用であるように決定されることができる。そして、SPSより下位レベル(例:PPS、タイルグループヘッダ、スライスヘッダ、及び/または他の適切なヘッダ)で追加的な可用フラグをシグナリングしてスケーリングリストを取得することができる。
【0220】
前述したように、本文書の一実施例によると、SPSレベルではスケーリングリスト(scaling_list_data())を直接的にシグナリングせずに、スケーリングリスト可用フラグ(scaling_list_enabled_flag)のみを明示的にシグナリングするように構成されることができる。以後、SPSでの可用フラグ(scaling_list_enabled_flag)に基づいて下位レベルシンタックスで個別的にスケーリングリスト(scaling_list_data())をパーシングすることができる。したがって、本文書の一実施例によると、スケーリングリストデータが階層的構造によってパーシング/シグナリングされることができるため、よりコーディング効率を向上させることができる。
【0221】
一方、スケーリングリストデータの存在有無及び使用有無は、ツールイネイブリングフラグ(tool enabling flag)の存在を条件とする。ここで、ツールイネイブリングフラグは、該当ツールをイネイブリングするかどうかを示す情報であって、例えば、scaling_list_enabled_flagシンタックス要素を含むことができる。即ち、scaling_list_enabled_flagシンタックス要素は、スケーリングリストデータの可用可否を示すことによって、スケーリングリストをイネイブリングするかを指示するのに使われることができる。しかし、このツールは、デコーダに対する構文上制約があるべきである。即ち、このツールは、現在CVS(coded video sequence)のデコーディングに使われていないということをデコーダに知らせる制限フラグ(constraint flag)があるべきである。したがって、本文書は、スケーリングリストデータに対する制限フラグが適用される方法を提案する。
【0222】
一実施例として、以下の表21は、制限フラグを使用してスケーリングリストデータをシグナリングするシンタックス(例:一般制限情報シンタックス)の一例を示す。
【0223】
【0224】
前記表21のシンタックスに含まれているシンタックス要素のセマンティクス(semantics)は、以下の表22のように示すことができる。
【0225】
【0226】
前記表21及び表22を参照すると、制限フラグが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である場合、制限が無いことを示すことができる。
【0227】
一方、前述したように、本文書の実施例によると、スケーリングリストデータは、階層的構造を介して伝達されることができる。これによって、本文書は、スライスヘッダを介してパーシング/シグナリングされることができるスケーリングリストデータの構造を提案する。ここで、スライスヘッダは、タイルグループヘッダと呼ばれることもでき、またはピクチャヘッダに混用または代替されることもできる。
【0228】
一実施例として、以下の表23は、スケーリングリストデータをシグナリングするためのスライスヘッダシンタックスの一例を示す。
【0229】
【0230】
前記表23のスライスヘッダシンタックスに含まれているシンタックス要素のセマンティクスは、以下の表24のように示すことができる。
【0231】
【0232】
前記表23及び表24を参照すると、スライスヘッダで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情報ということができる。
【0233】
また、スライスヘッダで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に類推されることができる。
【0234】
このとき、slice_scaling_list_enabled_flagシンタックス要素は、上位レベルシンタックス(即ち、SPS)でシグナリングされるscaling_list_enabled_flagシンタックス要素に基づいてパーシング可否が決定されることができる。例えば、SPSでシグナリングされたscaling_list_enabled_flagの値が1である場合(即ち、上位レベルでスケーリングリストデータが可用であるように決定された場合)、スライスヘッダでslice_scaling_list_enabled_flagをパーシングし、該当スライスでスケーリングリストを使用してスケーリング過程を実行するかどうかを決定することができる。
【0235】
また、スライスヘッダで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)より小さいまたは同じでなければならない。
【0236】
また、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からスケーリングリストデータを取得することができる。
【0237】
また、同じ値のAPS ID情報(adaptation_parameter_set_id)を有する複数のSCALING DATA APS(スケーリングリストデータを含む複数のAPS)が同一ピクチャ内の二つ以上のスライスにより参照される場合、同じ値のAPS ID情報(adaptation_parameter_set_id)を有する複数のSCALING DATA APSは、同じ内容を含まなければならない。
【0238】
また、前述したシンタックス要素が存在する場合、スライスヘッダシンタックス要素slice_pic_parameter_set_id、slice_pic_order_cnt_lsb、及びslice_temporal_mvp_enabled_flagの各々の値は、コーディングされるピクチャ内の全てのスライスヘッダで同じでなければならない。
【0239】
前述したように、本文書の一実施例によると、スケーリングリストデータを効率的にシグナリングするために階層的構造を使用することができる。即ち、上位レベル(SPSシンタックス)でスケーリングリストデータの可用可否を示す可用フラグ(例:scaling_list_enabled_flag)を先にシグナリングし、以後、下位レベル(例:スライスヘッダ、ピクチャヘッダ等)で追加的な可用フラグ(例:slice_scaling_list_enabled_flag)をシグナリングすることで各下位レベルでスケーリングリストデータを使用するかを決定することができる。また、下位レベル(例:スライスヘッダ、ピクチャヘッダ等)を介して該当スライスまたはタイルグループで参照するAPS ID情報(例:slice_scaling_list_aps_id)をシグナリングし、APS ID情報により識別されるAPSからスケーリングリストデータを導出することができる。
【0240】
また、本文書は、階層的構造によってスケーリングリストデータをシグナリングするにあたって、前述した表23及び表24で提案された方法のように適用されることもでき、以下の表25のようなスライスヘッダの構造を介してスケーリングリストデータを伝達することもできる。
【0241】
一実施例として、以下の表25は、スケーリングリストデータをシグナリングするためのスライスヘッダシンタックスの一例を示す。ここで、スライスヘッダは、タイルグループヘッダと呼ばれることもでき、またはピクチャヘッダに混用または代替されることもできる。
【0242】
【0243】
前記表25のスライスヘッダシンタックスに含まれているシンタックス要素のセマンティクスは、以下の表26のように示すことができる。
【0244】
【0245】
前記表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情報ということができる。
【0246】
また、スライスヘッダで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)より小さいまたは同じでなければならない。
【0247】
このとき、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からスケーリングリストデータを取得することができる。
【0248】
即ち、本実施例によると、スケーリングリストデータを含むAPS IDは、SPS内の対応するフラグ(例:scaling_list_enabled_flag)がイネイブルされる場合、パーシングされることができるため、前述した表25に示すように、上位レベルシンタックス(即ち、SPS)でシグナリングされるscaling_list_enabled_flagシンタックス要素に基づいて該当下位レベル(例えば、スライスヘッダまたはピクチャヘッダ)で参照するスケーリングリストデータを含むAPS ID(例:slice_scaling_list_aps_id)情報をパーシングすることができる。
【0249】
また、本文書は、スケーリングリストデータをシグナリングするために複数のAPSを使用する方法に関して提案する。以下では、本文書の一実施例によってスケーリングリストデータを含む複数のAPS IDを効率的にシグナリングする方法を説明する。この方法は、ビットストリームマージ(merge)の間に有用である。
【0250】
一実施例として、以下の表27は、複数のAPSを使用してスケーリングリストデータをシグナリングするためのスライスヘッダシンタックスの一例を示す。ここで、スライスヘッダは、タイルグループヘッダと呼ばれることもでき、または、ピクチャヘッダに混用または代替されることもできる。
【0251】
【0252】
前記表27のスライスヘッダシンタックスに含まれているシンタックス要素のセマンティクスは、以下の表28のように示すことができる。
【0253】
【0254】
前記表27及び表28を参照すると、スライスヘッダで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情報ということができる。
【0255】
また、スライスヘッダで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に類推されることができる。
【0256】
このとき、slice_scaling_list_enabled_flagシンタックス要素は、上位レベルシンタックス(即ち、SPS)でシグナリングされるscaling_list_enabled_flagシンタックス要素に基づいてパーシング可否が決定されることができる。例えば、SPSでシグナリングされたscaling_list_enabled_flagの値が1である場合(即ち、上位レベルでスケーリングリストデータが可用であるように決定された場合)、スライスヘッダでslice_scaling_list_enabled_flagをパーシングし、該当スライスでスケーリングリストを使用してスケーリング過程を実行するかどうかを決定することができる。
【0257】
また、スライスヘッダで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の範囲内でなければならない。
【0258】
ここで、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]シンタックス要素がパーシング/シグナリングされることができる。
【0259】
即ち、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)より小さいまたは同じでなければならない。
【0260】
また、同じ値のAPS ID情報(adaptation_parameter_set_id)を有する複数のSCALING DATA APS(スケーリングリストデータを含む複数のAPS)が同一ピクチャ内の二つ以上のスライスにより参照される場合、同じ値のAPS ID情報(adaptation_parameter_set_id)を有する複数のSCALING DATA APSは、同じ内容を含まなければならない。
【0261】
以下の図面は、本文書の具体的な一例を説明するために作成された。図面に記載された具体的な装置の名称や具体的な用語や名称(例えば、シンタックス/シンタックス要素の名称など)は、例示的に提示されたものであるため、本文書の技術的特徴が以下の図面に使われた具体的な名称に制限されるものではない。
【0262】
図7は、本文書の実施例(ら)によるビデオ/映像エンコーディング方法の一例を概略的に示す流れ図である。
【0263】
図7に開示された方法は、
図2に開示されたエンコーディング装置200により実行されることができる。具体的に、
図7のステップS700は、
図2に開示された減算部231により実行されることができ、
図7のステップS710は、
図2に開示された変換部232により実行されることができ、
図7のステップS720~S730は、
図2に開示された量子化部233により実行されることができ、
図7のステップS740は、
図2に開示されたエントロピーエンコーディング部240により実行されることができる。また、
図7に開示された方法は、本文書で詳述した実施例を含んで実行されることができる。したがって、
図7では前述した実施例と重複する内容に関して具体的な説明を省略または簡単にする。
【0264】
図7を参照すると、エンコーディング装置は、現在ブロックに対するレジデュアルサンプルを導出することができる(S700)。
【0265】
一実施例として、まず、エンコーディング装置は、現在ブロックに対する予測モードを決定して予測サンプルを導出することができる。例えば、エンコーディング装置は、現在ブロックにインター予測を実行するか、または、イントラ予測を実行するかを決定することができ、また、RDコストに基づいて具体的なインター予測モードまたは具体的なイントラ予測モードを決定することができる。エンコーディング装置は、決定された予測モードによって予測を実行して現在ブロックに対する予測サンプルを導出することができる。このとき、インター予測またはイントラ予測など、本文書に開示された多様な予測方法が適用されることができる。また、エンコーディング装置は、現在ブロックに適用された予測と関連した情報(例えば、予測モード情報)を生成してエンコーディングできる。
【0266】
そして、エンコーディング装置は、現在ブロックに対する原本サンプルと予測サンプルを比較してレジデュアルサンプルを導出することができる。
【0267】
エンコーディング装置は、レジデュアルサンプルに基づいて変換係数を導出することができる(S710)。
【0268】
一実施例として、エンコーディング装置は、レジデュアルサンプルに対する変換過程を介して変換係数を導出することができる。このとき、エンコーディング装置は、コーディング効率を考慮して現在ブロックに対する変換適用可否を決定することができる。即ち、エンコーディング装置は、レジデュアルサンプルに対して変換が適用されるかを決定することができる。例えば、レジデュアルサンプルに対して変換が適用されない場合、エンコーディング装置は、レジデュアルサンプルを変換係数として導出することができる。または、レジデュアルサンプルに対して変換が適用される場合、エンコーディング装置は、レジデュアルサンプルに対する変換を実行して変換係数を導出することができる。この場合、エンコーディング装置は、現在ブロックに対して変換が適用されるかどうかに基づいて変換スキップフラグ情報を生成してエンコーディングできる。変換スキップフラグ情報は、現在ブロックに対して変換が適用されたか、または、変換がスキップ(skip)されたかを示す情報である。
【0269】
エンコーディング装置は、変換係数に基づいて量子化された変換係数を導出することができる(S720)。
【0270】
一実施例として、エンコーディング装置は、変換係数に対する量子化過程を適用して量子化された変換係数を導出することができる。このとき、エンコーディング装置は、周波数によって量子化強度を調節する周波数別加重量子化を適用することができる。この場合、量子化過程は、周波数別量子化スケール値に基づいてさらに実行されることができる。周波数別加重量子化のための量子化スケール値は、スケーリングマトリクスを使用して導出されることができる。例えば、エンコーディング装置/デコーディング装置は、あらかじめ定義されたスケーリングマトリクスを使用することもでき、エンコーディング装置でスケーリングマトリクスに対する周波数別量子化スケール情報を構成してエンコーディングし、これをデコーディング装置にシグナリングすることができる。周波数別量子化スケール情報は、スケーリングリストデータを含むことができる。スケーリングリストデータに基づいて(修正された)スケーリングマトリクスが導出されることができる。
【0271】
また、エンコーディング装置は、デコーディング装置と同様に、逆量子化過程を実行することができる。この場合、エンコーディング装置は、スケーリングリストデータに基づいて(修正された)スケーリングマトリクスを導出し、これに基づいて量子化された変換係数に逆量子化を適用して復元された変換係数を導出することができる。このとき、復元された変換係数は、変換/量子化過程での損失によって最初変換係数とは差がある。
【0272】
ここで、スケーリングマトリクスは、前述した周波数ベースの量子化スケーリングマトリクスを指すことができ、説明の便宜によって、量子化スケーリングマトリクス、量子化マトリクス、スケーリングマトリクス、スケーリングリストなどに混用または代替して使われることができ、本実施例で使われた具体的な名称に制限されるものではない。
【0273】
即ち、エンコーディング装置は、量子化過程を実行するにあたって、周波数別加重量子化をさらに適用でき、このとき、スケーリングマトリクスに対する情報としてスケーリングリストデータを生成することができる。この過程は、表5乃至表15を例に上げて具体的に説明したため、本実施例では重複的な内容や具体的な説明を省略する。
【0274】
エンコーディング装置は、量子化された変換係数に対する情報を含むレジデュアル情報を生成することができる(S730)。
【0275】
ここで、レジデュアル情報は、量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。
【0276】
エンコーディング装置は、映像情報(または、ビデオ情報)をエンコーディングすることができる(S740)。ここで、映像情報は、前記レジデュアル情報を含むことができる。また、映像情報は、前記予測と関連した情報(例えば、予測モード情報)を含むことができる。また、映像情報は、前記スケーリングリストデータに関する情報を含むことができる。即ち、映像情報は、エンコーディング過程で導出される多様な情報を含むことができ、このような多様な情報を含んでエンコーディングされることができる。
【0277】
一実施例として、映像情報は、本文書で詳述した実施例(ら)による多様な情報を含むことができ、前述した表1乃至28のうち少なくとも一つに開示された情報を含むことができる。
【0278】
例えば、映像情報は、APS(adaptation parameter set)を含むことができる。APSは、APS識別情報(APS ID情報)及びAPSパラメータのタイプ情報を含むことができる。また、APSは、APSパラメータのタイプ情報に基づいてスケーリングリストデータを含むことができる。スケーリングリストデータは、前述したように、量子化/逆量子化の過程で使われるスケーリングリスト/スケーリングマトリクス/スケールファクタを導出するためのスケーリングリストパラメータを含むことができる。即ち、スケーリングリストデータは、スケーリングリストを構成するのに使われるシンタックス要素を含むことができる。
【0279】
一例として、APSは、前述した表16のように構成されることができる。APS識別情報は、前記表16及び表17で説明されたadaptation_parameter_set_idである。APSパラメータのタイプ情報は、前記表16乃至表18で説明された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())をシグナリングすることができる。
【0280】
また、例えば、映像情報は、ヘッダ情報を含むことができる。ヘッダ情報は、現在ブロックを含むスライスまたはピクチャに関連したヘッダ情報であって、例えば、ピクチャヘッダまたはスライスヘッダを含むことができる。ヘッダ情報は、スケーリングリストデータ関連APS識別情報を含むことができる。ヘッダ情報に含まれているスケーリングリストデータ関連APS識別情報は、スケーリングリストデータを含んでいるAPSの識別情報を示すことができる。一例として、ヘッダ情報に含まれているスケーリングリストデータ関連APS識別情報は、前記表23乃至表26で説明されたslice_scaling_list_aps_idであって、現在ブロックを含むスライス/ピクチャにより参照されるAPS(スケーリングリストデータを含む)に対する識別情報である。即ち、スケーリングリストデータ関連APS識別情報に基づいて、スケーリングリストデータを含むAPSが識別されることができる。
【0281】
また、例えば、映像情報は、SPS(Sequence Parameter Set)を含むことができる。SPSは、スケーリングリストデータの可用可否を示す第1の可用フラグ情報を含むことができる。一例として、SPSは、前述した表19のように構成されることができ、第1の可用フラグ情報は、前記表19及び表20で説明されたscaling_list_enabled_flagである。
【0282】
このとき、スケーリングリストデータが可用であることを示す第1の可用フラグ情報(例:scaling_list_enabled_flag)に基づいて(例:第1の可用フラグ情報(例:scaling_list_enabled_flag)の値が1または真である場合)、ヘッダ情報は、スケーリングリストデータ関連APS識別情報(例:slice_scaling_list_aps_id)を含むことができる。一例として、エンコーディング装置は、前述した表23及び表25のように、第1の可用フラグ情報(例:scaling_list_enabled_flag)に基づいてヘッダ情報を介してスケーリングリストデータを含むAPSの識別情報(例:slice_scaling_list_aps_id)をシグナリングすることができる。
【0283】
また、例えば、ヘッダ情報は、ピクチャまたはスライスでのスケーリングリストデータの可用可否を示す第2の可用フラグ情報を含むことができる。一例として、第2の可用フラグ情報は、前記表23及び表24で説明されたslice_scaling_list_enabled_flagである。
【0284】
このとき、スケーリングリストデータが可用であることを示す第1の可用フラグ情報(例:scaling_list_enabled_flag)に基づいて(例:第1の可用フラグ情報(例:scaling_list_enabled_flag)の値が1または真である場合)、ヘッダ情報は、第2の可用フラグ情報(例:slice_scaling_list_enabled_flag)を含むことができる。そして、第2の可用フラグ情報(例:slice_scaling_list_enabled_flag)に基づいて(例:第2の可用フラグ情報(例:slice_scaling_list_enabled_flag)の値が1または真である場合)、ヘッダ情報は、スケーリングリストデータ関連APS識別情報(例:slice_scaling_list_aps_id)を含むことができる。一例として、エンコーディング装置は、前述した表23のように、SPSでシグナリングされる第1の可用フラグ情報(例:scaling_list_enabled_flag)に基づいて、ヘッダ情報を介して第2の可用フラグ情報(例:slice_scaling_list_enabled_flag)をシグナリングすることができ、以後、第2の可用フラグ情報(例:slice_scaling_list_enabled_flag)に基づいて、ヘッダ情報を介してスケーリングリストデータ関連APS識別情報(例:slice_scaling_list_aps_id)をシグナリングすることができる。
【0285】
また、例えば、映像情報は、第1の可用フラグ情報の使用に関する制限フラグ情報を含むことができる。一例として、制限フラグ情報は、前述した表21及び表22で説明されたno_scaling_list_constraint_flagである。制限フラグ情報(例:no_scaling_list_constraint_flag)は、一般制限情報シンタックス(例:general_constraint_info())に含まれてシグナリングされることができる。例えば、制限フラグ情報(例:no_scaling_list_constraint_flag)の値が1である場合、第1の可用フラグ情報(例:scaling_list_enabled_flag)の値が0に設定されるように一般制限情報シンタックス(例:general_constraint_info())を介して制限を設けることができる。または、制限フラグ情報(例:no_scaling_list_constraint_flag)の値が0である場合、第1の可用フラグ情報(例:scaling_list_enabled_flag)に対する制限が無いことを示すことができる。
【0286】
また、例えば、映像情報は、現在ブロックを含むスライスまたはピクチャに関連したヘッダ情報を含むことができる。例えば、ヘッダ情報は、ピクチャヘッダまたはスライスヘッダを含むことができる。ヘッダ情報は、スケーリングリストデータ関連APS識別情報の個数を示すAPS個数情報を含むことができる。この場合、ヘッダ情報は、APS個数情報に基づいて導出されるAPS識別情報個数ほどのスケーリングリストデータ関連APS識別情報を含むことができる。
【0287】
一例として、APS個数情報は、前記表27及び表28で説明されたnum_scaling_list_aps_ids_minus1である。表27で説明されたように、num_scaling_list_aps_ids_minus1の値に1を加えた値がAPS識別情報個数である。したがって、APS識別情報個数(num_scaling_list_aps_ids_minus1の値に1を加えた値)ほどのslice_scaling_list_aps_idがヘッダ情報に含まれることができる。
【0288】
前述したような多様な情報を含む映像情報は、エンコーディングされてビットストリーム形態で出力されることができる。ビットストリームは、ネットワークまたは(デジタル)格納媒体を介してデコーディング装置に送信されることができる。ここで、ネットワークは、放送網及び/または通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。
【0289】
図8は、本文書の実施例(ら)によるビデオ/映像デコーディング方法の一例を概略的に示す流れ図である。
【0290】
図8に開示された方法は、
図3に開示されたデコーディング装置300により実行されることができる。具体的に、
図8のステップS800~S810は、
図3に開示されたエントロピーデコーディング部310により実行されることができ、
図8のステップS820は、
図3に開示された逆量子化部321により実行されることができ、
図8のステップS830は、
図3に開示された逆変換部322により実行されることができ、
図8のステップS840は、
図3に開示された加算部340により実行されることができる。また、
図8に開示された方法は、本文書で詳述した実施例を含んで実行されることができる。したがって、
図8では前述した実施例と重複する内容に関して具体的な説明を省略または簡単にする。
【0291】
図8を参照すると、デコーディング装置は、ビットストリームから映像情報(または、ビデオ情報)を受信することができる(S800)。
【0292】
一実施例として、デコーディング装置は、ビットストリームをパーシングして映像復元(または、ピクチャ復元)に必要な情報(例えば、ビデオ/映像情報)を導出することができる。このとき、映像情報は、レジデュアル情報を含むことができ、レジデュアル情報は、量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。また、映像情報は、予測と関連した情報(例えば、予測モード情報)を含むことができる。また、映像情報は、スケーリングリストデータに関する情報を含むことができる。即ち、映像情報は、デコーディング過程で必要な多様な情報を含むことができ、指数ゴロム符号化、CAVLCまたはCABACなどのコーディング方法に基づいてデコーディングされることができる。
【0293】
一実施例として、映像情報は、本文書で詳述した実施例(ら)による多様な情報を含むことができ、前述した表1乃至28のうち少なくとも一つに開示された情報を含むことができる。
【0294】
例えば、映像情報は、APS(adaptation parameter set)を含むことができる。APSは、APS識別情報及びAPSパラメータのタイプ情報を含むことができる。また、APSは、APSパラメータのタイプ情報に基づいてスケーリングリストデータを含むことができる。スケーリングリストデータは、前述したように、量子化/逆量子化の過程で使われるスケーリングリスト/スケーリングマトリクス/スケールファクタを導出するためのスケーリングリストパラメータを含むことができる。即ち、スケーリングリストデータは、スケーリングリストを構成するのに使われるシンタックス要素を含むことができる。
【0295】
一例として、APSは、前述した表16のように構成されることができる。APS識別情報は、前記表16及び表17で説明されたadaptation_parameter_set_idである。APSパラメータのタイプ情報は、前記表16乃至表18で説明された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())を取得してパーシングできる。
【0296】
また、例えば、映像情報は、ヘッダ情報を含むことができる。ヘッダ情報は、現在ブロックを含むスライスまたはピクチャに関連したヘッダ情報であって、例えば、ピクチャヘッダまたはスライスヘッダを含むことができる。また、ヘッダ情報は、スケーリングリストデータ関連APS識別情報を含むことができる。ヘッダ情報に含まれているスケーリングリストデータ関連APS識別情報は、スケーリングリストデータを含んでいるAPSの識別情報を示すことができる。一例として、ヘッダ情報に含まれているスケーリングリストデータ関連APS識別情報は、前記表23乃至表26で説明されたslice_scaling_list_aps_idであって、現在ブロックを含むスライス/ピクチャにより参照されるAPS(スケーリングリストデータを含む)に対する識別情報である。即ち、デコーディング装置は、ヘッダ情報のAPS識別情報(例:slice_scaling_list_aps_id)に基づいてAPSを識別し、前記APSからスケーリングリストデータを取得することができる。
【0297】
また、例えば、映像情報は、SPS(Sequence Parameter Set)を含むことができる。SPSは、スケーリングリストデータの可用可否を示す第1の可用フラグ情報を含むことができる。一例として、SPSは、前述した表19のように構成されることができ、第1の可用フラグ情報は、前記表19及び表20で説明されたscaling_list_enabled_flagである。
【0298】
このとき、スケーリングリストデータが可用であることを示す第1の可用フラグ情報(例:scaling_list_enabled_flag)に基づいて(例:第1の可用フラグ情報(例:scaling_list_enabled_flag)の値が1または真である場合)、ヘッダ情報は、スケーリングリストデータ関連APS識別情報(例:slice_scaling_list_aps_id)を含むことができる。一例として、デコーディング装置は、前述した表23及び表25のように、第1の可用フラグ情報(例:scaling_list_enabled_flag)に基づいてヘッダ情報を介してスケーリングリストデータを含むAPSの識別情報(例:slice_scaling_list_aps_id)を取得することができる。
【0299】
また、例えば、ヘッダ情報は、ピクチャまたはスライスでのスケーリングリストデータの可用可否を示す第2の可用フラグ情報を含むことができる。一例として、第2の可用フラグ情報は、前記表23及び表24で説明されたslice_scaling_list_enabled_flagである。
【0300】
このとき、スケーリングリストデータが可用であることを示す第1の可用フラグ情報(例:scaling_list_enabled_flag)に基づいて(例:第1の可用フラグ情報(例:scaling_list_enabled_flag)の値が1または真である場合)、ヘッダ情報は、第2の可用フラグ情報(例:slice_scaling_list_enabled_flag)を含むことができる。そして、第2の可用フラグ情報(例:slice_scaling_list_enabled_flag)に基づいて(例:第2の可用フラグ情報(例:slice_scaling_list_enabled_flag)の値が1または真である場合)、ヘッダ情報は、スケーリングリストデータ関連APS識別情報(例:slice_scaling_list_aps_id)を含むことができる。一例として、デコーディング装置は、前述した表23のように、SPSでシグナリングされる第1の可用フラグ情報(例:scaling_list_enabled_flag)に基づいて、ヘッダ情報を介して第2の可用フラグ情報(例:slice_scaling_list_enabled_flag)を取得することができ、以後、第2の可用フラグ情報(例:slice_scaling_list_enabled_flag)に基づいて、ヘッダ情報を介してスケーリングリストデータ関連APS識別情報(例:slice_scaling_list_aps_id)を取得することができる。
【0301】
また、例えば、映像情報は、第1の可用フラグ情報の使用に関する制限フラグ情報を含むことができる。一例として、制限フラグ情報は、前述した表21及び表22で説明されたno_scaling_list_constraint_flagである。制限フラグ情報(例:no_scaling_list_constraint_flag)は、一般制限情報シンタックス(例:general_constraint_info())に含まれてシグナリングされることができる。例えば、制限フラグ情報(例:no_scaling_list_constraint_flag)の値が1である場合、第1の可用フラグ情報(例:scaling_list_enabled_flag)の値が0に設定されるように一般制限情報シンタックス(例:general_constraint_info())を介して制限を設けることができる。または、制限フラグ情報(例:no_scaling_list_constraint_flag)の値が0である場合、第1の可用フラグ情報(例:scaling_list_enabled_flag)に対する制限が無いことを示すことができる。
【0302】
また、例えば、映像情報は、現在ブロックを含むスライスまたはピクチャに関連したヘッダ情報を含むことができる。例えば、ヘッダ情報は、ピクチャヘッダまたはスライスヘッダを含むことができる。また、ヘッダ情報は、スケーリングリストデータ関連APS識別情報の個数を示すAPS個数情報を含むことができる。この場合、ヘッダ情報は、APS個数情報に基づいて導出されるAPS識別情報個数ほどのスケーリングリストデータ関連APS識別情報を含むことができる。
【0303】
一例として、APS個数情報は、前記表27及び表28で説明されたnum_scaling_list_aps_ids_minus1である。表27で説明されたように、num_scaling_list_aps_ids_minus1の値に1を加えた値がAPS識別情報個数である。したがって、APS識別情報個数(num_scaling_list_aps_ids_minus1の値に1を加えた値)ほどのslice_scaling_list_aps_idがヘッダ情報に含まれることができる。
【0304】
デコーディング装置は、現在ブロックに対する量子化された変換係数を導出することができる(S810)。
【0305】
一実施例として、デコーディング装置は、映像情報に含まれているレジデュアル情報を取得することができる。レジデュアル情報は、前述したように、量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコーディング装置は、レジデュアル情報に含まれている量子化された変換係数情報に基づいて現在ブロックに対する量子化された変換係数を導出することができる。
【0306】
デコーディング装置は、量子化された変換係数に基づいて変換係数を導出することができる(S820)。
【0307】
一実施例として、デコーディング装置は、量子化された変換係数に対する逆量子化過程を適用して変換係数を導出することができる。このとき、デコーディング装置は、周波数によって量子化強度を調節する周波数別加重量子化を適用することができる。この場合、逆量子化過程は、周波数別量子化スケール値に基づいてさらに実行されることができる。周波数別加重量子化のための量子化スケール値は、スケーリングマトリクスを使用して導出されることができる。例えば、デコーディング装置は、あらかじめ定義されたスケーリングマトリクスを使用することもでき、エンコーディング装置からシグナリングされるスケーリングマトリクスに対する周波数別量子化スケール情報を使用することができる。周波数別量子化スケール情報は、スケーリングリストデータを含むことができる。スケーリングリストデータに基づいて(修正された)スケーリングマトリクスが導出されることができる。
【0308】
即ち、デコーディング装置は、逆量子化過程を実行するにあたって、周波数別加重量子化をさらに適用できる。このとき、デコーディング装置は、スケーリングリストデータに基づいて量子化された変換係数に対する逆量子化過程を適用して変換係数を導出することができる。
【0309】
一実施例として、デコーディング装置は、映像情報に含まれているAPSを取得することができ、APSに含まれているAPSパラメータのタイプ情報に基づいてスケーリングリストデータを取得することができる。例えば、デコーディング装置は、スケーリングリストデータを含むAPSであることを示すSCALING_APSタイプ情報に基づいて、APSに含まれているスケーリングリストデータを取得することができる。この場合、デコーディング装置は、スケーリングリストデータに基づいてスケーリングマトリクスを導出することができ、スケーリングマトリクスに基づいてスケーリングファクタを導出することができ、スケーリングファクタに基づいて逆量子化を適用して変換係数を導出することができる。このようなスケーリングリストデータに基づいてスケーリングを実行する過程は、表5乃至表15を例に上げて具体的に説明したため、本実施例では重複的な内容や具体的な説明を省略する。
【0310】
また、デコーディング装置は、逆量子化過程で周波数別加重量子化を適用するかどうか(即ち、逆量子化過程で(周波数ベースの量子化)スケーリングリストを使用して変換係数を導出するかどうか)を判断することができる。例えば、デコーディング装置は、映像情報に含まれているSPSから取得された第1の可用フラグ及び/または映像情報に含まれているヘッダ情報から取得された第2の可用フラグ情報に基づいて、スケーリングリストデータの使用可否を決定することができる。もし、第1の可用フラグ及び/または第2の可用フラグ情報に基づいてスケーリングリストデータを使用することに決定された場合、デコーディング装置は、ヘッダ情報に含まれているスケーリングリストデータ関連APS識別情報に基づいて該当APSを識別し、前記識別されたAPSからスケーリングリストデータを取得することができる。
【0311】
デコーディング装置は、変換係数に基づいてレジデュアルサンプルを導出することができる(S830)。
【0312】
一実施例として、デコーディング装置は、現在ブロックに対する変換係数に対して逆変換を実行して現在ブロックのレジデュアルサンプルを導出することができる。このとき、デコーディング装置は、現在ブロックに対して逆変換を適用するかどうかを示す情報(即ち、変換スキップフラグ情報)を取得し、この情報(即ち、変換スキップフラグ情報)に基づいてレジデュアルサンプルを導出することができる。
【0313】
例えば、変換係数に対して逆変換が適用されない場合(現在ブロックに対して変換スキップフラグ情報の値が1である場合)、デコーディング装置は、変換係数を現在ブロックのレジデュアルサンプルとして導出することができる。または、変換係数に対して逆変換が適用される場合(現在ブロックに対して変換スキップフラグ情報の値が0である場合)、デコーディング装置は、変換係数に対して逆変換して現在ブロックのレジデュアルサンプルを導出することができる。
【0314】
デコーディング装置は、レジデュアルサンプルに基づいて復元サンプルを生成することができる(S840)。
【0315】
一実施例として、デコーディング装置は、映像情報に含まれている予測情報(例えば、予測モード情報)に基づいて現在ブロックに対するインター予測を実行するか、または、イントラ予測を実行するかを決定することができ、前記決定によって予測を実行して現在ブロックに対する予測サンプルを導出することができる。そして、デコーディング装置は、予測サンプルとレジデュアルサンプルに基づいて復元サンプルを生成することができる。このとき、デコーディング装置は、予測モードによって予測サンプルを復元サンプルとして利用することもでき、または、予測サンプルにレジデュアルサンプルを加えて復元サンプルを生成することもできる。また、復元サンプルに基づいて復元ブロックまたは復元ピクチャを導出することができる。以後、デコーディング装置は、必要によって、主観的/客観的画質を向上させるために、デブロッキングフィルタリング及び/またはSAO手順のようなインループフィルタリング手順を前記復元ピクチャに適用できることは、前述の通りである。
【0316】
前述した実施例において、方法は、一連のステップまたはブロックで流れ図に基づいて説明されているが、本文書の実施例は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序にまたは同時に発生できる。また、当業者であれば、流れ図に示すステップが排他的でなく、他のステップが含まれ、または流れ図の一つまたはそれ以上のステップが本文書の範囲に影響を及ぼさずに削除可能であることを理解することができる。
【0317】
前述した本文書による方法は、ソフトウェア形態で具現されることができ、本文書によるエンコーディング装置及び/またはデコーディング装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの映像処理を実行する装置に含まれることができる。
【0318】
本文書で実施例がソフトウェアで具現される時、前述した方法は、前述した機能を遂行するモジュール(過程、機能など)で具現されることができる。モジュールは、メモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部または外部にあり、よく知られた多様な手段でプロセッサと連結されることができる。プロセッサは、ASIC(application-specific integrated circuit)、他のチップセット、論理回路及び/またはデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体及び/または他の格納装置を含むことができる。即ち、本文書で説明した実施例は、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で具現されて実行されることができる。例えば、各図面で示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で具現されて実行されることができる。この場合、具現のための情報(例えば、information on instructions)またはアルゴリズムがデジタル格納媒体に格納されることができる。
【0319】
また、本文書が適用されるデコーディング装置及びエンコーディング装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(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)などを含むことができる。
【0320】
また、本文書が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に格納されることができる。また、本文書によるデータ構造を有するマルチメディアデータもコンピュータが読み取り可能な記録媒体に格納されることができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読み込むことができるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で具現されたメディアを含む。また、エンコーディング方法で生成されたビットストリームが、コンピュータが読み取り可能な記録媒体に格納され、または有無線通信ネットワークを介して送信されることができる。
【0321】
また、本文書の実施例は、プログラムコードによるコンピュータプログラム製品で具現されることができ、前記プログラムコードは、本文書の実施例によりコンピュータで実行されることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリア上に格納されることができる。
【0322】
図9は、本文書に開示された実施例が適用されることができるコンテンツストリーミングシステムの例を示す。
【0323】
図9を参照すると、本文書の実施例に適用されるコンテンツストリーミングシステムは、大別して、エンコーディングサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置、及びマルチメディア入力装置を含むことができる。
【0324】
前記エンコーディングサーバは、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。他の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコーディングサーバは省略されることができる。
【0325】
前記ビットストリームは、本文書の実施例に適用されるエンコーディング方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信または受信する過程で一時的に前記ビットストリームを格納することができる。
【0326】
前記ストリーミングサーバは、ウェブサーバを介したユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すると、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
【0327】
前記ストリーミングサーバは、メディア格納所及び/またはエンコーディングサーバからコンテンツを受信することができる。例えば、前記エンコーディングサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間格納することができる。
【0328】
前記ユーザ装置の例として、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイニジがある。
【0329】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。
【0330】
本文書に記載された請求項は、多様な方式で組み合わせることができる。例えば、本文書の方法請求項の技術的特徴が組み合わせて装置で具現されることができ、本文書の装置請求項の技術的特徴が組み合わせて方法で具現されることができる。また、本文書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせて装置で具現されることができ、本文書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせて方法で具現されることができる。