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

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

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

<>
  • 特許-映像デコーディング方法及びその装置 図1
  • 特許-映像デコーディング方法及びその装置 図2
  • 特許-映像デコーディング方法及びその装置 図3
  • 特許-映像デコーディング方法及びその装置 図4
  • 特許-映像デコーディング方法及びその装置 図5
  • 特許-映像デコーディング方法及びその装置 図6
  • 特許-映像デコーディング方法及びその装置 図7
  • 特許-映像デコーディング方法及びその装置 図8
  • 特許-映像デコーディング方法及びその装置 図9
  • 特許-映像デコーディング方法及びその装置 図10
  • 特許-映像デコーディング方法及びその装置 図11
  • 特許-映像デコーディング方法及びその装置 図12
  • 特許-映像デコーディング方法及びその装置 図13
  • 特許-映像デコーディング方法及びその装置 図14
  • 特許-映像デコーディング方法及びその装置 図15
  • 特許-映像デコーディング方法及びその装置 図16
  • 特許-映像デコーディング方法及びその装置 図17
  • 特許-映像デコーディング方法及びその装置 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-20
(45)【発行日】2024-10-01
(54)【発明の名称】映像デコーディング方法及びその装置
(51)【国際特許分類】
   H04N 19/70 20140101AFI20240924BHJP
   H04N 19/12 20140101ALI20240924BHJP
   H04N 19/157 20140101ALI20240924BHJP
   H04N 19/176 20140101ALI20240924BHJP
【FI】
H04N19/70
H04N19/12
H04N19/157
H04N19/176
【請求項の数】 11
(21)【出願番号】P 2023203949
(22)【出願日】2023-12-01
(62)【分割の表示】P 2022550743の分割
【原出願日】2021-02-25
(65)【公開番号】P2024015150
(43)【公開日】2024-02-01
【審査請求日】2023-12-15
(31)【優先権主張番号】62/981,473
(32)【優先日】2020-02-25
(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)【発明者】
【氏名】ユ ソンミ
(72)【発明者】
【氏名】イム チェヒョン
(72)【発明者】
【氏名】ホ チン
(72)【発明者】
【氏名】チェ チャンウォン
(72)【発明者】
【氏名】キム スンファン
【審査官】岩井 健二
(56)【参考文献】
【文献】Benjamin Bross, Jianle Chen, Shan Liu, and Ye-Kui Wang,Versatile Video Coding (Draft 8),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-Q2001 (version 13),17th Meeting: Brussels, BE,2020年02月09日,pp.38-43,46-49,58-60,79-86
【文献】Shih-Ta Hsiang, et al.,AHG9: HLS on disabling TSRC,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-R0049-v1,18th Meeting: by teleconference,2020年04月,pp.1-4
【文献】Jungah Choi, et al.,AHG9/AHG16: On slice_ts_residual_coding_disabled_flag,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-R0153-v3,18th Meeting: by teleconference,2020年04月,pp.1-16
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
デコーディング装置によって行われる映像デコーディング方法であって、
変換スキップ可用フラグを取得する段階と、
従属量子化可用フラグを取得する段階と、
前記変換スキップ可用フラグ及び前記従属量子化可用フラグに基づいて変換スキップレジデュアルコーディング(TSRC)disabledフラグを取得する段階と、
現在ブロックに対する予測関連情報を取得する段階と、
前記予測関連情報に基づいて前記現在ブロックの予測サンプルを導出する段階と、
前記TSRC disabledフラグに基づいて、前記現在ブロックに対するレジデュアル情報を取得する段階と、
前記レジデュアル情報に基づいて前記現在ブロックのレジデュアルサンプルを導出する段階と、
前記予測サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャーを生成する段階と、を含み、
前記変換スキップ可用フラグは、変換スキップが可用であるか否かに対する情報であり、
前記従属量子化可用フラグは、従属量子化が使用されるか否かに対する情報であり、
前記TSRC disabledフラグは、TSRCが使用されるか否かに対する情報であり、
前記変換スキップ可用フラグ及び前記従属量子化可用フラグに基づいて、前記TSRC disabledフラグは、ビットストリームから取得され、
前記変換スキップが可用であり、かつ前記従属量子化が使用されない場合に応じて、前記TSRC disabledフラグは、前記ビットストリームから取得され、
前記変換スキップが可用であり、かつ前記従属量子化が使用される場合に応じて、前記TSRC disabledフラグは、前記ビットストリームから取得されず、前記TSRC disabledフラグの値は、前記TSRCが変換スキップブロックに対して使用されることを表す0と見なされる、映像デコーディング方法。
【請求項2】
前記TSRC disabledフラグの値が1と等しいことに応じて、前記現在ブロックに対する前記レジデュアル情報は、レギュラーレジデュアルコーディング(RRC)シンタックスから取得される、請求項1に記載の映像デコーディング方法。
【請求項3】
前記変換スキップ可用フラグの値が1と等しいことに応じて、前記変換スキップが前記現在ブロックに適用されるか否かに対する変換スキップフラグは、前記ビットストリームから取得される、請求項に記載の映像デコーディング方法。
【請求項4】
前記TSRC disabledフラグの値が0と等しいことに応じて、前記現在ブロックに対する前記レジデュアル情報は、TSRCシンタックスから取得される、請求項に記載の映像デコーディング方法。
【請求項5】
前記従属量子化可用フラグ及び前記TSRC disabledフラグは、同一のシンタックスを通してシグナルされる、請求項1に記載の映像デコーディング方法。
【請求項6】
前記変換スキップ可用フラグは、シーケンスパラメータセット(SPS)シンタックスを通してシグナルされ、
前記従属量子化可用フラグ及び前記TSRC disabledフラグの両方は、スライスヘッダーシンタックスを通してシグナルされる、請求項に記載の映像デコーディング方法。
【請求項7】
エンコーディング装置によって行われる映像エンコーディング方法であって、
インター予測又はイントラ予測に基づいて現在ブロックの予測サンプルを導出する段階と、
前記予測サンプルに基づいて前記現在ブロックのレジデュアルサンプルを導出する段階と、
前記現在ブロックに対する予測関連情報をエンコードする段階と、
変換スキップが可用であるか否かに対する変換スキップ可用フラグ、従属量子化が使用されるか否かに対する従属量子化可用フラグ、及び変換スキップレジデュアルコーディング(TSRC)が使用されるか否かに対するTSRC disabledフラグをエンコードする段階と、
前記TSRC disabledフラグに基づいて、前記レジデュアルサンプルに対するレジデュアル情報をエンコードする段階と、
前記予測関連情報、前記変換スキップ可用フラグ、前記TSRC disabledフラグ及び前記レジデュアル情報を含むビットストリームを生成する段階と、を含み、
前記変換スキップ可用フラグ及び前記従属量子化可用フラグに基づいて、前記TSRC disabledフラグは、前記ビットストリーム内にエンコードされ、
前記変換スキップが可用であり、かつ前記従属量子化が使用されない場合に応じて、前記TSRC disabledフラグは、前記ビットストリーム内にエンコードされ、
前記変換スキップが可用であり、かつ前記従属量子化が使用される場合に応じて、前記TSRC disabledフラグは、前記ビットストリーム内にエンコードされず、前記TSRC disabledフラグの値は、前記TSRCが変換スキップブロックに対して使用されることを表す0と見なされる、映像エンコーディング方法。
【請求項8】
前記TSRC disabledフラグの値が1と等しいことに応じて、前記現在ブロックに対する前記レジデュアル情報は、レギュラーレジデュアルコーディング(RRC)シンタックス内にエンコードされる、請求項に記載の映像エンコーディング方法。
【請求項9】
前記TSRC disabledフラグの値が0と等しいことに応じて、前記現在ブロックに対する前記レジデュアル情報は、TSRCシンタックス内にエンコードされる、請求項に記載の映像エンコーディング方法。
【請求項10】
前記変換スキップ可用フラグは、シーケンスパラメータセット(SPS)シンタックスを通してシグナルされ、
前記従属量子化可用フラグ及び前記TSRC disabledフラグの両方は、スライスヘッダーシンタックスを通してシグナルされる、請求項に記載の映像エンコーディング方法。
【請求項11】
映像に対するデータを送信する方法であって、
前記映像に対するビットストリームを取得する段階であって、前記ビットストリームは、インター予測又はイントラ予測に基づいて現在ブロックの予測サンプルを導出し、前記予測サンプルに基づいて前記現在ブロックのレジデュアルサンプルを導出し、前記現在ブロックに対する予測関連情報をエンコードし、変換スキップが可用であるか否かに対する変換スキップ可用フラグ、従属量子化が使用されるか否かに対する従属量子化可用フラグ、及び変換スキップレジデュアルコーディング(TSRC)が使用されるか否かに対するTSRC disabledフラグをエンコードし、前記TSRC disabledフラグに基づいて、前記レジデュアルサンプルに対するレジデュアル情報をエンコードすることにより生成される、段階と、
前記映像に対する前記ビットストリームを含む前記データを送信する段階と、を含み、
前記変換スキップ可用フラグ及び前記従属量子化可用フラグに基づいて、前記TSRC disabledフラグは、前記ビットストリーム内にエンコードされ、
前記変換スキップが可用であり、かつ前記従属量子化が使用されない場合に応じて、前記TSRC disabledフラグは、前記ビットストリーム内にエンコードされ、
前記変換スキップが可用であり、かつ前記従属量子化が使用される場合に応じて、前記TSRC disabledフラグは、前記ビットストリーム内にエンコードされず、前記TSRC disabledフラグの値は、前記TSRCが変換スキップブロックに対して使用されることを表す0と見なされる、データ送信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本文書は、映像コーディング技術に関し、より詳細には、映像コーディングシステムにおいて現在ブロックのレジデュアルデータをコードするとき、TSRC可用であるか否かを示すフラグ情報をコードする映像デコーディング方法及びその装置に関する。
【背景技術】
【0002】
近年、HD(High Definition)映像及びUHD(Ultra High Definition)映像のような高解像度、高品質の映像に対する需要が様々な分野で増加している。映像データが高解像度化、高品質化するほど、既存の映像データに比べて伝送される情報量又はビット量がより増加するため、既存の有無線広帯域回線のような媒体を用いて映像データを伝送したり既存の記憶媒体を用いて映像データを記憶する場合に、伝送及び記憶にかかるコストが増加する。
【0003】
このため、高解像度・高品質の映像の情報を効果的に伝送、記憶及び再生するには高効率の映像圧縮技術が要求される。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本文書の技術的課題は、映像コーディング効率を上げる方法及び装置を提供することにある。
【0005】
本文書の他の技術的課題は、レジデュアルコーディングの効率を上げる方法及び装置を提供することにある。
【課題を解決するための手段】
【0006】
本文書の一実施例によれば、デコーディング装置によって行われる映像デコーディング方法が提供される。前記方法は、変換スキップ可用フラグを取得する段階、前記変換スキップ可用フラグに基づいて変換スキップレジデュアルコーディング(Transform Skip Residual Coding,TSRC)可用フラグを取得する段階、現在ブロックに対する予測関連情報を取得する段階、前記予測関連情報に基づいて前記現在ブロックの予測サンプルを導出する段階、前記TSRC可用フラグに基づいて導出された前記現在ブロックに対するレジデュアルコーディングシンタックスのレジデュアル情報を取得する段階、前記レジデュアル情報に基づいて前記現在ブロックのレジデュアルサンプルを導出する段階、及び前記予測サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャーを生成する段階を含み、前記変換スキップ可用フラグは、変換スキップ(transform skip)が可用であるか否かに関する情報であり、前記TSRC可用フラグは、TSRCが可用であるか否かに関する情報であり、前記TSRC可用フラグは、値が1である前記変換スキップ可用フラグに基づいて取得されることを特徴とする。
【0007】
本文書の他の実施例によれば、映像デコーディングを行うデコーディング装置が提供される。前記デコーディング装置は、変換スキップ可用フラグを取得し、前記変換スキップ可用フラグに基づいて変換スキップレジデュアルコーディング(Transform Skip Residual Coding,TSRC)可用フラグを取得し、現在ブロックに対する予測関連情報を取得し、前記TSRC可用フラグに基づいて導出された前記現在ブロックに対するレジデュアルコーディングシンタックスのレジデュアル情報を取得するエントロピーデコーディング部、前記予測関連情報に基づいて前記現在ブロックの予測サンプルを導出する予測部、前記レジデュアル情報に基づいて前記現在ブロックのレジデュアルサンプルを導出するレジデュアル処理部、及び前記予測サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャーを生成する加算部を含み、前記変換スキップ可用フラグは、変換スキップ(transform skip)が可用であるか否かに関する情報であり、前記TSRC可用フラグは、TSRCが可用であるか否かに関する情報であり、前記TSRC可用フラグは、値が1である前記変換スキップ可用フラグに基づいて取得されることを特徴とする。
【0008】
本文書のさらに他の実施例によれば、エンコーディング装置によって行われるビデオエンコーディング方法を提供する。前記方法は、インター予測又はイントラ予測に基づいて現在ブロックの予測サンプルを導出する段階、前記予測サンプルに基づいて前記現在ブロックのレジデュアルサンプルを導出する段階、前記現在ブロックに対する予測関連情報をエンコードする段階、変換スキップ(transform skip)が可用であるか否かに対する変換スキップ可用フラグ及び変換スキップレジデュアルコーディング(Transform Skip Residual Coding,TSRC)が可用であるか否かに対するTSRC可用フラグをエンコードする段階、前記TSRC可用フラグに基づいて導出された前記レジデュアルサンプルに対するレジデュアルコーディングシンタックスのレジデュアル情報をエンコードする段階、及び前記予測関連情報、前記変換スキップ可用フラグ、前記TSRC可用フラグ及び前記レジデュアル情報を含むビットストリームを生成する段階を含み、前記TSRC可用フラグは、値が1である前記変換スキップ可用フラグに基づいてエンコードされることを特徴とする。
【0009】
本文書のさらに他の実施例によれば、ビデオエンコーディング装置を提供する。前記エンコーディング装置は、インター予測又はイントラ予測に基づいて現在ブロックの予測サンプルを導出する予測部、前記予測サンプルに基づいて前記現在ブロックのレジデュアルサンプルを導出するレジデュアル処理部、及び前記現在ブロックに対する予測関連情報をエンコードし、変換スキップ(transform skip)が可用であるか否かに対する変換スキップ可用フラグ及び変換スキップレジデュアルコーディング(Transform Skip Residual Coding,TSRC)が可用であるか否かに対するTSRC可用フラグをエンコードし、前記TSRC可用フラグに基づいて導出された前記レジデュアルサンプルに対するレジデュアルコーディングシンタックスのレジデュアル情報をエンコードし、前記予測関連情報、前記変換スキップ可用フラグ、前記TSRC可用フラグ及び前記レジデュアル情報を含むビットストリームを生成するエントロピーエンコーディング部を含み、前記TSRC可用フラグは、値が1である前記変換スキップ可用フラグに基づいてエンコードされることを特徴とする。
【0010】
本文書のさらに他の実施例によれば、映像デコーディング方法を行うようにする映像情報を含むビットストリームが記憶されているコンピュータ可読デジタル記憶媒体を提供する。コンピュータ可読デジタル記憶媒体において、前記映像デコーディング方法は、変換スキップ可用フラグを取得する段階、前記変換スキップ可用フラグに基づいて変換スキップレジデュアルコーディング(Transform Skip Residual Coding,TSRC)可用フラグを取得する段階、現在ブロックに対する予測関連情報を取得する段階、前記予測関連情報に基づいて前記現在ブロックの予測サンプルを導出する段階、前記TSRC可用フラグに基づいて導出された前記現在ブロックに対するレジデュアルコーディングシンタックスのレジデュアル情報を取得する段階、前記レジデュアル情報に基づいて前記現在ブロックのレジデュアルサンプルを導出する段階、及び前記予測サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャーを生成する段階を含み、前記変換スキップ可用フラグは、変換スキップ(transform skip)が可用であるか否かに関する情報であり、前記TSRC可用フラグは、TSRCが可用であるか否かに関する情報であり、前記TSRC可用フラグは、値が1である前記変換スキップ可用フラグに基づいて取得されることを特徴とする。
【発明の効果】
【0011】
本文書によれば、レジデュアルコーディングの効率を上げることができる。
【0012】
本文書によれば、従属量子化可用フラグとTSRC可用フラグ間のシグナリング関係を設定し、従属量子化が可用でない場合にTSRC可用フラグをシグナルすることにより、TSRCが可用でなくて変換スキップブロックに対してRRCシンタックスがコードされる場合に従属量子化が用いられないようにし、これにより、コーディング効率を向上させ、コードされるビット量を減らしてレジデュアルコーディング効率全般を向上させることができる。
【0013】
本文書によれば、変換スキップ可用フラグとTSRC可用フラグ間のシグナリング関係を設定し、変換スキップが可用である場合にTSRC可用フラグをシグナルすることにより、コードされるビット量を減らしてレジデュアルコーディング効率全般を向上させることができる。
【図面の簡単な説明】
【0014】
図1】本文書の実施例が適用可能なビデオ/映像コーディングシステムの例を概略的に示す図である。
【0015】
図2】本文書の実施例が適用可能なビデオ/映像エンコーディング装置の構成を概略的に説明する図である。
【0016】
図3】本文書の実施例が適用可能なビデオ/映像デコーディング装置の構成を概略的に説明する図である。
【0017】
図4】イントラ予測ベースビデオ/映像エンコーディング方法の例を示す図である。
【0018】
図5】イントラ予測ベースビデオ/映像エンコーディング方法の例を示す図である。
【0019】
図6】イントラ予測手順を例示する図である。
【0020】
図7】インター予測ベースビデオ/映像エンコーディング方法の例を示す図である。
【0021】
図8】インター予測ベースビデオ/映像デコーディング方法の例を示す図である。
【0022】
図9】インター予測手順を例示する図である。
【0023】
図10】シンタックスエレメント(syntax element)をエンコードするためのCABAC(context-adaptive binary arithmetic coding)を例示する図である。
【0024】
図11】4x4ブロック内変換係数の例示を示す図である。
【0025】
図12】従属量子化で用いられるスカラー量子化器を例示する図である。
【0026】
図13】従属量子化のためのステート転換(state transition)及び量子化器選択を例示する図である。
【0027】
図14】本文書に係るエンコーディング装置による映像エンコーディング方法を概略的に示す図である。
【0028】
図15】本文書に係る映像エンコーディング方法を行うエンコーディング装置を概略的に示す図である。
【0029】
図16】本文書に係るデコーディング装置による映像デコーディング方法を概略的に示す図である。
【0030】
図17】本文書に係る映像デコーディング方法を行うデコーディング装置を概略的に示す図である。
【0031】
図18】本文書の実施例が適用されるコンテンツストリーミングシステムの構造を例示する図である。
【発明を実施するための形態】
【0032】
本文書は様々な変更を加えることができ、様々な実施例を有し得るところ、特定実施例を図面に例示して詳細に説明する。ただし、これは、本文書の実施例を特定実施例に限定しようとするものではない。本明細書で常用する用語は特定の実施例を説明するために使われるだけで、本文書の技術的思想を限定する意図で使われるものではない。単数の表現は、文脈において別に断らない限り、複数の表現をも含む。本明細書において、「含む」又は「有する」などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品又はそれらを組み合わせたものが存在することを指定するためのものであり、1つ又はそれ以上の他の特徴、数字、段階、動作、構成要素、部品又はそれらを組み合わせたものの存在又は付加の可能性をあらかじめ排除しないものとして理解されるべきである。
【0033】
一方、本文書で説明される図面上の各構成は、それぞれ異なる特徴的な機能に関する説明の便宜のために独立して示すものであり、各構成が互いに別個のハードウェアや別個のソフトウェアとして具現されるということを意味するものではない。例えば、各構成のうち2つ以上の構成が合わせられて一つの構成をなしてもよく、一つの構成が複数の構成に分けられてもよい。各構成が統合及び/又は分離された実施例も、本文書の本質から逸脱しない限り、本文書の権利範囲に含まれる。
【0034】
以下、添付の図面を参照して、本文書の好ましい実施例をより詳細に説明する。以下、図面上の同一の構成要素には同一の参照符号を付し、同一の構成要素について重複する説明は省略する。
【0035】
図1には、本文書の実施例が適用可能なビデオ/映像コーディングシステムの例を概略的に示す。
【0036】
図1を参照すると、ビデオ/映像コーディングシステムは、第1装置(ソースデバイス)及び第2装置(受信デバイス)を含むことができる。ソースデバイスは、エンコードされたビデオ(video)/映像(image)情報又はデータをファイル又はストリーミングの形態でデジタル記憶媒体又はネットワークを介して受信デバイスに伝達することができる。
【0037】
前記ソースデバイスは、ビデオソース、エンコーディング装置、送信部を含むことができる。前記受信デバイスは、受信部、デコーディング装置及びレンダラーを含むことができる。前記エンコーディング装置はビデオ/映像エンコーディング装置と呼ばれてもよく、前記デコーディング装置はビデオ/映像デコーディング装置と呼ばれてもよい。送信機はエンコーディング装置に含まれてよい。受信機はデコーディング装置に含まれてよい。レンダラーはディスプレイ部を含むこともでき、ディスプレイ部は別個のデバイス又は外部コンポーネントとして構成されてもよい。
【0038】
ビデオソースは、ビデオ/映像のキャプチャー、合成又は生成過程などによってビデオ/映像を取得できる。ビデオソースは、ビデオ/映像キャプチャーデバイス及び/又はビデオ/映像生成デバイスを含むことができる。ビデオ/映像キャプチャーデバイスは、例えば、1つ以上のカメラ、以前にキャプチャーされたビデオ/映像を含むビデオ/映像アーカイブなどを含むことができる。ビデオ/映像生成デバイスは、例えば、コンピュータ、タブレット及びスマートフォンなどを含むことができ、(電子的に)ビデオ/映像を生成することができる。例えば、コンピュータなどによって仮想のビデオ/映像が生成されてよく、この場合、関連データが生成される過程でビデオ/映像のキャプチャー過程に代えてよい。
【0039】
エンコーディング装置は、入力ビデオ/映像をエンコードすることができる。エンコーディング装置は、圧縮及びコーディング効率のために予測、変換、量子化などの一連の手順を行うことができる。エンコードされたデータ(エンコードされたビデオ/映像情報)は、ビットストリーム(bitstream)の形態で出力されてよい。
【0040】
送信部は、ビットストリームの形態で出力されたエンコードされたビデオ/映像情報又はデータをファイル又はストリーミングの形態で、デジタル記憶媒体又はネットワークを介して受信デバイスの受信部に伝達することができる。デジタル記憶媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなどの様々な記憶媒体を含むことができる。送信部は、あらかじめ定められたファイルフォーマットによってメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介した伝送のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコーディング装置に伝達できる。
【0041】
デコーディング装置は、エンコーディング装置の動作に対応する逆量子化、逆変換、予測などの一連の手順を行ってビデオ/映像をデコードすることができる。
【0042】
レンダラーは、デコードされたビデオ/映像をレンダーすることができる。レンダーされたビデオ/映像は、ディスプレイ部でディスプレイされてよい。
【0043】
この文書は、ビデオ/映像コーディングに関する。例えば、この文書に開示の方法/実施例は、VVC(versatile video coding)標準、EVC(essential video coding)標準、AV1(AOMedia Video1)標準、AVS2(2nd generation of audio video coding standard)又は次世代ビデオ/映像コーディング標準(例えば、H.267又はH.268など)に開示される方法に適用されてよい。
【0044】
この文書ではビデオ/映像コーディングに関する様々な実施例を提示し、特に言及がない限り、前記実施例は互いに組み合わせられて行われてもよい。
【0045】
この文書において、ビデオ(video)は、時間の流れによる一連の映像(image)の集合を意味できる。ピクチャー(picture)は一般に、特定時間帯の1つの映像を表す単位を意味し、サブピクチャー(subpicture)/スライス(slice)/タイル(tile)は、コーディングにおいてピクチャーの一部を構成する単位である。サブピクチャー/スライス/タイルは、1つ以上のCTU(coding tree unit)を含むことができる。1つのピクチャーは1つ以上のサブピクチャー/スライス/タイルで構成されてよい。1つのピクチャーは1つ以上のタイルグループで構成されてよい。1つのタイルグループは1つ以上のタイルを含むことができる。ブリックは、ピクチャーのタイル内でCTU行の四角領域を表すことができる。タイルは、複数のブリックにパーティショニングされてよく、各ブリックは、前記タイル内で1つ以上のCTU行で構成されてよい。複数のブリックにパーティショニングされていないタイルもブリックと呼ぶことができる。ブリックスキャンは、ピクチャーをパーティショニングするCTUの特定の順次的オーダーリングを表すことができ、これらのCTUはブリック内でCTUラスタースキャンで整列されてよく、タイル内のブリックは、前記タイルの前記ブリックのラスタースキャンで連続して整列されてよく、そしてピクチャー内のタイルは、前記ピクチャーの前記タイルのラスタースキャンで連続して整列されてよい。また、サブピクチャーは、ピクチャー内の1つ以上のスライスの四角領域を表すことができる。すなわち、サブピクチャーは、ピクチャーの長方形の領域をまとめてカバーする1つ以上のスライスを含むことができる。タイルは、ピクチャーにおいて特定タイル行及び特定タイル列以内のCTUの四角領域である。前記タイル列はCTUの四角領域であり、前記四角領域は、前記ピクチャーの高さと同じ高さを有し、幅はピクチャーパラメータセット内のシンタックス要素によって明示されてよい。前記タイル行はCTUの四角領域であり、前記四角領域は、ピクチャーパラメータセット内のシンタックス要素によって明示される幅を有し、高さは前記ピクチャーの高さと同一であってよい。タイルスキャンは、ピクチャーをパーティショニングするCTUの特定の順次的オーダーリングを表すことができ、前記CTUは、タイル内にCTUラスタースキャンで連続して整列されてよく、ピクチャー内のタイルは、前記ピクチャーの前記タイルのラスタースキャンで連続して整列されてよい。スライスは、ピクチャーの整数個のブリックを含むことができ、前記整数個のブリックは単一NALユニットに含まれてよい。スライスは、複数の完全なタイルで構成されてよく、又は1つのタイルの完全なブリックの連続したシーケンスであってよい。この文書においてタイルグループとスライスは同じ意味で使われてよい。例えば、本文書においてタイルグループ/タイルグループヘッダーはスライス/スライスヘッダーと呼ばれてよい。
【0046】
ピクセル(pixel)又はPEL(pel)は、1つのピクチャー(又は、映像)を構成する最小の単位を意味できる。また、ピクセルに対応する用語として「サンプル(sample)」が使われてよい。サンプルは一般に、ピクセル又はピクセルの値を表すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを表してもよく、クロマ(chroma)成分のピクセル/ピクセル値のみを表してもよい。
【0047】
ユニット(unit)は、映像処理の基本単位を表すことができる。ユニットは、ピクチャーの特定領域及び当該領域に関連した情報のうち少なくとも一つを含むことができる。1つのユニットは、1つのルマブロック及び2つのクロマ(ex.cb,cr)ブロックを含むことができる。ユニットは、場合によってブロック(block)又は領域(area)などの用語と同じ意味で使われてよい。一般の場合、MxNブロックは、M個の列とN個の行からなるサンプル(又は、サンプルアレイ)又は変換係数(transform coefficient)の集合(又は、アレイ)を含むことができる。
【0048】
本明細書において、「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)」を意味できる。
【0049】
本明細書で使われるスラッシュ(/)やコンマ(comma)は、「及び/又は(and/or)」を意味できる。例えば、「A/B」は「A及び/又はB」を意味できる。したがって、「A/B」は、「Aのみ」、「Bのみ」、又は「AとBの両方」を意味できる。例えば、「A、B、C」は「A、B又はC」を意味できる。
【0050】
本明細書において「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)」と同一に解釈されてよい。
【0051】
また、本明細書において「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)」を意味できる。
【0052】
また、本明細書で使われる括弧は、「例えば(for example)」を意味できる。具体的には、「予測(イントラ予測)」と表示された場合に、「予測」の一例として「イントラ予測」が提案されたものであってよい。言い換えると、本明細書における「予測」は「イントラ予測」に制限(limit)されず、「イントラ予測」が「予測」の一例として提案されたものであろう。また、「予測(すなわち、イントラ予測)」と表示された場合にも、「予測」の一例として「イントラ予測」が提案されたものであろう。
【0053】
本明細書において、1つの図面で個別に説明される技術的特徴は、個別に具現されてもよく、同時に具現されてもよい。
【0054】
以下の図面は、本明細書の具体的な一例を説明するために作成されたものである。図面に記載された具体的な装置の名称又は具体的な信号/メッセージ/フィールドの名称は例示的に提示されたものであり、本明細書の技術的特徴は、以下の図面における具体的な名称に制限されない。
【0055】
図2は、本文書の実施例が適用可能なビデオ/映像エンコーディング装置の構成を概略的に説明する図である。以下、ビデオエンコーディング装置は、映像エンコーディング装置を含むことができる。
【0056】
図2を参照すると、エンコーディング装置200は、映像分割部(image partitioner,210)、予測部(predictor,220)、レジデュアル処理部(residual processor,230)、エントロピーエンコーディング部(entropy encoder,240)、加算部(adder,250)、フィルタリング部(filter,260)及びメモリ(memory,270)を含んで構成されてよい。予測部220は、インター予測部221及びイントラ予測部222を含むことができる。レジデュアル処理部230は、変換部(transformer,232)、量子化部(quantizer233)、逆量子化部(dequantizer,234)、逆変換部(inverse transformer,235)を含むことができる。レジデュアル処理部230は、減算部(subtractor,231)をさらに含むことができる。加算部250は、復元部(reconstructor)又は復元ブロック生成部(recontructged block generator)と呼ばれてもよい。上述した映像分割部210、予測部220、レジデュアル処理部230、エントロピーエンコーディング部240、加算部250及びフィルタリング部260は、実施例によって1つ以上のハードウェアコンポーネント(例えば、エンコーダチップセット又はプロセッサ)によって構成されてよい。また、メモリ270は、DPB(decoded picture buffer)を含むことができ、デジタル記憶媒体によって構成されてもよい。前記ハードウェアコンポーネントは、メモリ270を内/外部コンポーネントとしてさらに含むこともできる。
【0057】
映像分割部210は、エンコーディング装置200に入力された入力映像(又は、ピクチャー、フレーム)を1つ以上の処理ユニット(processing unit)に分割することができる。一例として、前記処理ユニットは、コーディングユニット(coding unit,CU)と呼ぶことができる。この場合、コーディングユニットは、コーディングツリーユニット(coding tree unit,CTU)又は最大コーディングユニット(largest coding unit,LCU)からQTBTTT(Quad-tree binary-tree ternary-tree)構造によって再帰的に(recursively)分割されてよい。例えば、1つのコーディングユニットは、クアッドツリー構造、バイナリツリー構造、及び/又はタナーリー構造に基づいて下位(deeper)デプスの複数のコーディングユニットに分割されてよい。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造及び/又はタナーリー構造が後で適用されてよい。又は、バイナリツリー構造が先に適用されてもよい。それ以上分割されない最終コーディングユニットに基づいて、本文書によるコーディング手順が行われてよい。この場合、映像特性によるコーディング効率などに基づいて、最大コーディングユニットが直ちに最終コーディングユニットとして用いられてよく、又は、必要によってコーディングユニットは再帰的に(recursively)さらに下位デプスのコーディングユニットに分割され、最適のサイズのコーディングユニットが最終コーディングユニットとして用いられてよい。ここで、コーディング手順とは、後述する予測、変換、及び復元などの手順を含むことができる。他の例として、前記処理ユニットは、予測ユニット(PU:Prediction Unit)又は変換ユニット(TU:Transform Unit)をさらに含むことができる。この場合、前記予測ユニット及び前記変換ユニットはそれぞれ、上述した最終コーディングユニットから分割又はパーティショニングされてよい。前記予測ユニットはサンプル予測の単位であってよく、前記変換ユニットは、変換係数を誘導する単位及び/又は変換係数からレジデュアル信号(residual signal)を誘導する単位であってよい。
【0058】
ユニットは、場合によって、ブロック(block)又は領域(area)などの用語と同じ意味で使われてよい。一般の場合、MxNブロックは、M個の列とN個の行からなるサンプル又は変換係数(transform coefficient)の集合を表すことができる。サンプルは一般に、ピクセル又はピクセルの値を表すことができ、輝度(luma)成分のピクセル/ピクセル値のみを表すこともでき、彩度(chroma)成分のピクセル/ピクセル値のみを表すこともできる。サンプルは、ピクセル(pixel)又はペル(pel)に対する1つのピクチャー(又は、映像)に対応する用語として使われてよい。
【0059】
エンコーディング装置200は、入力映像信号(原本ブロック、原本サンプルアレイ)から、インター予測部221又はイントラ予測部222から出力された予測信号(予測ブロック、予測サンプルアレイ)を減算してレジデュアル信号(residual signal;残余ブロック、残余サンプルアレイ)を生成でき、生成されたレジデュアル信号は変換部232に伝送される。この場合、図示のようにエンコーディング装置200において、入力映像信号(原本ブロック、原本サンプルアレイ)から予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは減算部231と呼ばれてよい。予測部は、処理対象ブロック(以下、現在ブロックという。)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測ブロック(predicted block)を生成できる。予測部は、現在ブロック又はCU単位でイントラ予測が適用されるか又はインター予測が適用されるかを決定できる。予測部は、各予測モードに関する説明で後述するように、予測モード情報などの予測に関する様々な情報を生成してエントロピーエンコーディング部240に伝達できる。予測に関する情報は、エントロピーエンコーディング部240でエンコードされてビットストリームの形態で出力されてよい。
【0060】
イントラ予測部222は、現在ピクチャー内のサンプルを参照して現在ブロックを予測できる。前記参照されるサンプルは、予測モードによって、前記現在ブロックの周辺(neighbor)に位置してよく、離れて位置してもよい。イントラ予測において予測モードは複数の非方向性モードと複数の方向性モードを含むことができる。非方向性モードは、例えば、DCモード及びプレーナーモード(Planar mode)を含むことができる。方向性モードは、予測方向の細密な程度によって、例えば33個の方向性予測モード又は65個の方向性予測モードを含むことができる。ただし、これは例示であり、設定によってそれ以上又はそれ以下の個数の方向性予測モードが用いられてもよい。イントラ予測部222は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0061】
インター予測部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)をシグナルすることによって現在ブロックの動きベクトルを指示することができる。
【0062】
予測部220は、後述する様々な予測方法に基づいて予測信号を生成できる。例えば、予測部は、1つのブロックに対する予測のためにイントラ予測又はインター予測を適用できる他に、イントラ予測とインター予測を同時に適用することもできる。これをCIIP(combined inter and intra prediction)と呼ぶことができる。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy,IBC)予測モードに基づいてもよく、又はパレットモード(palette mode)に基づいてもよい。前記IBC予測モード又はパレットモードは、例えばSCC(screen content coding)などのようにゲームなどのコンテンツ映像/動映像のコーディングのために用いられてよい。IBCは基本的に現在ピクチャー内で予測を行うが、現在ピクチャー内で参照ブロックを導出する点でインター予測と類似に行われてよい。すなわち、IBCは、本文書で説明されるインター予測手法のうち少なくとも一つを用いることができる。パレットモードは、イントラコーディング又はイントラ予測の一例と見なすことができる。パレットモードが適用される場合に、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャー内サンプル値をシグナルすることができる。
【0063】
前記予測部(インター予測部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)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同一サイズを有するピクセルブロックに適用されてもよく、正方形以外の可変サイズのブロックに適用されてもよい。
【0064】
量子化部233は、変換係数を量子化してエントロピーエンコーディング部240に伝送し、エントロピーエンコーディング部240は、量子化された信号(量子化された変換係数に関する情報)をエンコードしてビットストリームとして出力できる。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ぶことができる。量子化部233は、係数スキャン順序(scan order)に基づき、ブロック形態の量子化された変換係数を1次元ベクトルの形態で再整列でき、前記1次元ベクトル形態の量子化された変換係数に基づき、前記量子化された変換係数に関する情報を生成することもできる。エントロピーエンコーディング部240は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などのような様々なエンコーディング方法を行うことができる。エントロピーエンコーディング部240は、量子化された変換係数の他にも、ビデオ/イメージ復元に必要な情報(例えば、シンタックス要素(syntax elements)の値など)を共に又は別にエンコードすることもできる。エンコードされた情報(例えば、エンコードされたビデオ/映像情報)は、ビットストリームの形態でNAL(network abstraction layer)ユニット単位で伝送又は記憶されてよい。前記ビデオ/映像情報は、アダプテーションパラメータセット(APS)、ピクチャーパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)などの様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/映像情報は、一般制限情報(general constraint information)をさらに含むことができる。本文書において、エンコーディング装置でデコーディング装置に伝達/シグナルされる情報及び/又はシンタックス要素は、ビデオ/映像情報に含まれてよい。前記ビデオ/映像情報は、上述のエンコーディング手順によってエンコードされて前記ビットストリームに含まれてよい。前記ビットストリームはネットワークを介して伝送されてよく、又はデジタル記憶媒体に記憶されてよい。ここで、ネットワークは放送網及び/又は通信網などを含むことができ、デジタル記憶媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなどの様々な記憶媒体を含むことができる。エントロピーエンコーディング部240から出力された信号を伝送する送信部(図示せず)及び/又は記憶する記憶部(図示せず)がエンコーディング装置200の内/外部エレメントとして構成されてよく、又は送信部はエントロピーエンコーディング部240に含まれてもよい。
【0065】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられてよい。例えば、量子化された変換係数に、逆量子化部234及び逆変換部235で逆量子化及び逆変換を適用することによって、レジデュアル信号(レジデュアルブロック又はレジデュアルサンプル)を復元することができる。加算部250は、復元されたレジデュアル信号を、インター予測部221又はイントラ予測部222から出力された予測信号に加算することによって、復元(reconstructed)信号(復元ピクチャー、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合に、予測されたブロックが復元ブロックとして用いられてよい。加算部250は、復元部又は復元ブロック生成部と呼ぶことができる。生成された復元信号は、現在ピクチャー内の次の処理対象ブロックのイントラ予測のために用いられてよく、後述するように、フィルタリングを経て次のピクチャーのインター予測のために用いられてもよい。
【0066】
一方、ピクチャーエンコーディング及び/又は復元過程においてLMCS(luma mapping with chroma scaling)が適用されてもよい。
【0067】
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャーに様々なフィルタリング方法を適用し、修正された(modified)復元ピクチャーを生成でき、前記修正された復元ピクチャーをメモリ270、具体的にメモリ270のDPBに記憶させることができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルター(adaptive loop filter)、両方向フィルター(bilateral filter)などを含むことができる。フィルタリング部260は、各フィルタリング方法に関する説明で後述されるように、フィルタリングに関する様々な情報を生成してエントロピーエンコーディング部240に伝達することができる。フィルタリング関する情報は、エントロピーエンコーディング部240でエンコードされてビットストリームの形態で出力されてよい。
【0068】
メモリ270に伝送された修正された復元ピクチャーは、インター予測部221で参照ピクチャーとして用いられてよい。エンコーディング装置は、これによってインター予測が適用される場合に、エンコーディング装置200とデコーディング装置300での予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【0069】
メモリ270のDPBは、修正された復元ピクチャーをインター予測部221での参照ピクチャーとして使用するために記憶することができる。メモリ270は、現在ピクチャー内動き情報が導出された(又は、エンコードされた)ブロックの動き情報及び/又は既に復元されたピクチャー内ブロックの動き情報を記憶することができる。前記記憶された動き情報は、空間的周辺ブロックの動き情報又は時間的周辺ブロックの動き情報として活用するためにインター予測部221に伝達することができる。メモリ270は、現在ピクチャー内復元されたブロックの復元サンプルを記憶することができ、イントラ予測部222に伝達することができる。
【0070】
図3は、本文書の実施例が適用可能なビデオ/映像デコーディング装置の構成を概略的に説明する図である。
【0071】
図3を参照すると、デコーディング装置300は、エントロピーデコーディング部(entropy decoder,310)、レジデュアル処理部(residual processor,320)、予測部(predictor,330)、加算部(adder,340)、フィルタリング部(filter,350)及びメモリ(memory,360)を含んで構成されてよい。予測部330は、インター予測部331及びイントラ予測部332を含むことができる。レジデュアル処理部320は、逆量子化部(dequantizer,321)及び逆変換部(inverse transformer,322)を含むことができる。上述したエントロピーデコーディング部310、レジデュアル処理部320、予測部330、加算部340及びフィルタリング部350は、実施例によって、一つのハードウェアコンポーネント(例えば、デコーダチップセット又はプロセッサ)によって構成されてもよい。また、メモリ360は、DPB(decoded picture buffer)を含むことができ、デジタル記憶媒体によって構成されてもよい。前記ハードウェアコンポーネントは、メモリ360を内/外部コンポーネントとしてさらに含むこともできる。
【0072】
ビデオ/映像情報を含むビットストリームが入力されると、デコーディング装置300は、図2のエンコーディング装置でビデオ/映像情報が処理されたプロセスに対応して映像を復元することができる。例えば、デコーディング装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出することができる。デコーディング装置300は、エンコーディング装置で適用された処理ユニットを用いてデコーディングを行うことができる。したがって、デコーディングの処理ユニットは、例えばコーディングユニットであってよく、コーディングユニットは、コーディングツリーユニット又は最大コーディングユニットから、クアッドツリー構造、バイナリツリー構造及び/又はタナーリーツリー構造をしたがって分割されてよい。コーディングユニットから1つ以上の変換ユニットが導出されてよい。そして、デコーディング装置300でデコーディング及び出力された復元映像信号は、再生装置で再生されてよい。
【0073】
デコーディング装置300は、図2のエンコーディング装置から出力された信号をビットストリームの形態で受信することができ、受信された信号は、エントロピーデコーディング部310でデコードされてよい。例えば、エントロピーデコーディング部310は、前記ビットストリームをパーシングし、映像復元(又は、ピクチャー復元)に必要な情報(例えば、ビデオ/映像情報)を導出することができる。前記ビデオ/映像情報は、アダプテーションパラメータセット(APS)、ピクチャーパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)などの様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/映像情報は、一般制限情報(general constraint information)をさらに含むことができる。デコーディング装置は、前記パラメータセットに関する情報及び/又は前記一般制限情報にさらに基づいてピクチャーをデコードすることができる。本文書で後述されるシグナリング/受信される情報及び/又はシンタックス要素は、前記デコーディング手順によってデコードされ、前記ビットストリームから取得されてよい。例えば、エントロピーデコーディング部310は、指数ゴロム符号化、CAVLC又はCABACなどのコーディング方法に基づいてビットストリーム内情報をデコードし、映像復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値を出力することができる。より詳細には、CABACエントロピーデコーディング方法は、ビットストリームから各構文要素に該当するビン(bin)を受信し、デコーディング対象構文要素情報、周辺及びデコーディング対象ブロックのデコーディング情報、或いは以前段階でデコードされたシンボル/ビンの情報を用いて文脈(context)モデルを決定し、決定された文脈モデルによってビン(bin)の発生確率を予測してビンの算術デコーディング(arithmetic decoding)を行い、各構文要素の値に該当するシンボルを生成することができる。このとき、CABACエントロピーデコーディング方法は、文脈モデル決定後に、次のシンボル/ビンの文脈モデルのためにデコードされたシンボル/ビンの情報を用いて文脈モデルをアップデートすることができる。エントロピーデコーディング部310でデコードされた情報のうち予測に関する情報は予測部330(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコーディング部310でエントロピーデコーディングが行われたレジデュアル値、すなわち、量子化された変換係数及び関連パラメータ情報は、レジデュアル処理部320に入力されてよい。レジデュアル処理部320は、レジデュアル信号(レジデュアルブロック、レジデュアルサンプル、レジデュアルサンプルアレイ)を導出することができる。また、エントロピーデコーディング部310でデコードされた情報のうちフィルタリングに関する情報は、フィルタリング部350に提供されてよい。一方、エンコーディング装置から出力された信号を受信する受信部(図示せず)がデコーディング装置300の内/外部エレメントとしてさらに構成されてよく、又は受信部はエントロピーデコーディング部310の構成要素であってよい。一方、本文書に係るデコーディング装置は、ビデオ/映像/ピクチャーデコーディング装置と呼ぶことができ、該デコーディング装置は、情報デコーダ(ビデオ/映像/ピクチャー情報デコーダ)及びサンプルデコーダ(ビデオ/映像/ピクチャーサンプルデコーダ)に区別できる。前記情報デコーダは、前記エントロピーデコーディング部310を含むことができ、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、加算部340、フィルタリング部350、メモリ360、インター予測部332及びイントラ予測部331のうち少なくとも一つを含むことができる。
【0074】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力できる。逆量子化部321は、量子化された変換係数を、2次元ブロックの形態で再整列できる。この場合、前記再整列は、エンコーディング装置で行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
【0075】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得する。
【0076】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピーデコーディング部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか又はインター予測が適用されるかが決定でき、具体的なイントラ/インター予測モードを決定することができる。
【0077】
予測部320は、後述する様々な予測方法に基づいて予測信号を生成できる。例えば、予測部は、一つのブロックに対する予測のためにイントラ予測又はインター予測を適用できる他に、イントラ予測とインター予測を同時に適用することもできる。これをCIIP(combined inter and intra prediction)モードと呼ぶことができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy,IBC)予測モードに基づいてもよく、又はパレットモード(palette mode)に基づいてもよい。前記IBC予測モード又はパレットモードは、例えば、SCC(screen content coding)などのようにゲームなどのコンテンツ映像/動映像のコーディングのために用いられてよい。IBCは基本的に現在ピクチャー内で予測を行うが、現在ピクチャー内で参照ブロックを導出する点でインター予測と類似に行われてよい。すなわち、IBCは、本文書で説明されるインター予測手法のうち少なくとも一つを用いることができる。パレットモードは、イントラコーディング又はイントラ予測の一例と見なすことができる。パレットモードが適用される場合に、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/映像情報に含まれてシグナルされてよい。
【0078】
イントラ予測部331は、現在ピクチャー内のサンプルを参照して現在ブロックを予測できる。前記参照されるサンプルは、予測モードによって、前記現在ブロックの周辺(neighbor)に位置してもよく、又は離れて位置してもよい。イントラ予測において、予測モードは複数の非方向性モードと複数の方向性モードを含むことができる。イントラ予測部331は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0079】
インター予測部332は、参照ピクチャー上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。このとき、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロック間の動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャーインデックスを含むことができる。前記動き情報は、インター予測方向情報(L0予測、L1予測、Bi予測など)をさらに含むことができる。インター予測において、周辺ブロックは、現在ピクチャー内に存在する空間的周辺ブロック(spatial neighboring block)と、参照ピクチャーに存在する時間的周辺ブロック(temporal neighboring block)を含むことができる。例えば、インター予測部332は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャーインデックスを導出することができる。様々な予測モードに基づいてインター予測が行われてよく、前記予測に関する情報は、前記現在ブロックに対するインター予測モードを指示する情報を含むことができる。
【0080】
加算部340は、取得されたレジデュアル信号を、予測部(インター予測部332及び/又はイントラ予測部331含む。)から出力された予測信号(予測ブロック、予測サンプルアレイ)に足すことにより、復元信号(復元ピクチャー、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合に、予測されたブロックが復元ブロックとして用いられてよい。
【0081】
加算部340は、復元部又は復元ブロック生成部と呼ぶことができる。生成された復元信号は、現在ピクチャー内の次の処理対象ブロックのイントラ予測のために用いられてよく、後述するように、フィルタリングを経て出力されてもよく、又は次のピクチャーのインター予測のために用いられてもよい。
【0082】
一方、ピクチャーデコーディング過程でLMCS(luma mapping with chroma scaling)が適用されてもよい。
【0083】
フィルタリング部350は、復元信号にフィルタリングを適用して、主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャーに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャーを生成でき、前記修正された復元ピクチャーを、メモリ360、具体的にメモリ360のDPBに伝送することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルター(adaptive loop filter)、両方向フィルター(bilateral filter)などを含むことができる。
【0084】
メモリ360のDPBに記憶された(修正された)復元ピクチャーは、インター予測部332で参照ピクチャーとして用いられてよい。メモリ360は、現在ピクチャー内の動き情報が導出された(又は、デコードされた)ブロックの動き情報、及び/又は既に復元されたピクチャー内のブロックの動き情報を記憶することができる。該記憶された動き情報は、空間的周辺ブロックの動き情報又は時間的周辺ブロックの動き情報として活用するためにインター予測部260に伝達できる。メモリ360は、現在ピクチャー内の復元されたブロックの復元サンプルを記憶でき、イントラ予測部331に伝達することができる。
【0085】
本明細書において、エンコーディング装置200のフィルタリング部260、インター予測部221及びイントラ予測部222で説明された実施例は、それぞれ、デコーディング装置300のフィルタリング部350、インター予測部332及びイントラ予測部331にも同一に又は対応するように適用されてよい。
【0086】
本文書において、量子化/逆量子化及び/又は変換/逆変換のうち少なくとも一つは省略されてよい。前記量子化/逆量子化が省略される場合に、前記量子化された変換係数は、変換係数と呼ぶことができる。前記変換/逆変換が省略される場合に、前記変換係数は、係数又はレジデュアル係数と呼ぶこともでき、又は表現の統一性のために変換係数と相変らず呼ぶこともできる。
【0087】
また、本文書において、量子化された変換係数及び変換係数はそれぞれ、変換係数及びスケーリングされた(scaled)変換係数と呼ぶことができる。この場合、レジデュアル情報は、変換係数に関する情報を含むことができ、前記変換係数に関する情報は、レジデュアルコーディングシンタックスによってシグナルされてよい。前記レジデュアル情報(又は、前記変換係数に関する情報)に基づいて変換係数が導出されてよく、前記変換係数に対する逆変換(スケーリング)によってスケーリングされた変換係数が導出されてよい。前記スケーリングされた変換係数に対する逆変換(変換)に基づいてレジデュアルサンプルが導出されてよい。これは、本文書の他の部分でも、同一に適用/表現されてよい。
【0088】
上述したように、ビデオコーディングを行うとき、圧縮効率を上げるために予測を行う。これにより、コーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成できる。ここで、前記予測されたブロックは、空間ドメイン(又は、ピクセルドメイン)における予測サンプルを含む。前記予測されたブロックは、エンコーディング装置及びデコーディング装置で同一に導出され、前記エンコーディング装置は、原本ブロックの原本サンプル値自体ではなく前記原本ブロックと前記予測されたブロック間のレジデュアルに関する情報(レジデュアル情報)をデコーディング装置にシグナルすることによって映像コーディング効率を上げることができる。デコーディング装置は、前記レジデュアル情報に基づいて、レジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックとを合わせて復元サンプルを含む復元ブロックを生成でき、復元ブロックを含む復元ピクチャーを生成できる。
【0089】
前記レジデュアル情報は、変換及び量子化手順によって生成されてよい。例えば、エンコーディング装置は、前記原本ブロックと前記予測されたブロック間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれたレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を行って変換係数を導出し、前記変換係数に量子化手順を行って量子化された変換係数を導出することにより、関連したレジデュアル情報を(ビットストリームを用いて)デコーディング装置にシグナルすることができる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換手法、カーネル、量子化パラメータなどの情報を含むことができる。デコーディング装置は、前記レジデュアル情報に基づいて逆量子化/逆変換手順を行い、レジデュアルサンプル(又は、レジデュアルブロック)を導出することができる。デコーディング装置は、予測されたブロックと前記レジデュアルブロックに基づいて復元ピクチャーを生成できる。エンコーディング装置は、また、以後のピクチャーのインター予測のための参照のために、量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャーを生成できる。
【0090】
イントラ予測は、現在ブロックが属するピクチャー(以下、現在ピクチャー)内の参照サンプルに基づいて現在ブロックに対する予測サンプルを生成する予測を表すことができる。現在ブロックにイントラ予測が適用される場合に、現在ブロックのイントラ予測に用いる周辺参照サンプルが導出されてよい。前記現在ブロックの周辺参照サンプルは、nWxnHサイズの現在ブロックの左側(left)境界に隣接したサンプル及び左下側(bottom-left)に隣接した総2xnH個のサンプル、現在ブロックの上側(top)境界に隣接したサンプル及び右上側(top-right)に隣接した総2xnW個のサンプル、及び現在ブロックの左上側(top-left)に隣接した1個のサンプルを含むことができる。又は、前記現在ブロックの周辺参照サンプルは、複数列の上側周辺サンプル及び複数行の左側周辺サンプルを含むこともできる。また、前記現在ブロックの周辺参照サンプルは、nWxnHサイズの現在ブロックの右側(right)境界に隣接した総nH個のサンプル、現在ブロックの下側(bottom)境界に隣接した総nW個のサンプル、及び現在ブロックの右下側(bottom-right)に隣接した1個のサンプルを含むこともできる。
【0091】
ただし、現在ブロックの周辺参照サンプルのうち一部はまだデコードされていないか、利用可能でないことがある。この場合、デコーダは、利用可能なサンプルで利用可能でないサンプルを代替(substitution)し、予測に用いる周辺参照サンプルを構成することができる。又は、利用可能なサンプルの補間(interpolation)を用いて予測に用いる周辺参照サンプルを構成することができる。
【0092】
周辺参照サンプルが導出された場合に、(i)現在ブロックの周辺(neighboring)参照サンプルの平均(average)或いは補間(interpolation)に基づいて予測サンプルを誘導することもでき、(ii)現在ブロックの周辺参照サンプルのうち予測サンプルに対して特定(予測)方向に存在する参照サンプルに基づいて前記予測サンプルを誘導することもできる。(i)の場合は、非方向性(non-directional)モード又は非角度(non-angular)モード、(ii)の場合は、方向性(directional)モード又は角度(angular)モードと呼ぶことができる。
【0093】
また、前記周辺参照サンプルのうち前記現在ブロックの予測サンプルを基準に前記現在ブロックのイントラ予測モードの予測方向に位置する第1周辺サンプルと前記予測方向の反対方向に位置する第2周辺サンプルとの補間によって前記予測サンプルが生成されてもよい。この場合は、線形補間イントラ予測(Linear interpolation intra prediction,LIP)と呼ぶことができる。また、線形モデル(linear model,LM)を用いてルマサンプルに基づいてクロマ予測サンプルが生成されてもよい。この場合は、LMモード又はCCLM(chroma component LM)モードと呼ぶことができる。
【0094】
また、フィルタリングされた周辺参照サンプルに基づいて前記現在ブロックの臨時予測サンプルを導出し、前記既存の周辺参照サンプル、すなわち、フィルタリングされていない周辺参照サンプルのうち前記イントラ予測モードによって導出された少なくとも一つの参照サンプルと前記臨時予測サンプルとを加重和(weighted sum)して前記現在ブロックの予測サンプルを導出することができる。この場合は、PDPC(Position dependent intra prediction)と呼ぶことができる。
【0095】
また、現在ブロックの周辺多重参照サンプルラインのうち、最も予測正確度の高い参照サンプルラインを選択し、当該ラインで予測方向に位置する参照サンプルを用いて予測サンプルを導出し、この時、用いられた参照サンプルラインをデコーディング装置に指示(シグナル)する方法でイントラ予測符号化を行うことができる。この場合は、多重参照ライン(multi-reference line)イントラ予測又はMRLベースイントラ予測と呼ぶことができる。
【0096】
また、現在ブロックを垂直又は水平のサブパーティションに分け、同一のイントラ予測モードに基づいてイントラ予測を行うが、前記サブパーティション単位で周辺参照サンプルを導出して用いることができる。すなわち、この場合、現在ブロックに対するイントラ予測モードが前記サブパーティションに同一に適用されるが、前記サブパーティション単位で周辺参照サンプルを導出して用いることにより、場合によってイントラ予測性能を高めることができる。このような予測方法は、ISP(intra sub-partitions)ベースイントラ予測と呼ぶことができる。
【0097】
上述したイントラ予測方法は、イントラ予測モードと区分してイントラ予測タイプと呼ぶことができる。前記イントラ予測タイプは、イントラ予測手法又は付加イントラ予測モードなどの様々な用語と呼ぶことができる。例えば、前記イントラ予測タイプ(又は、付加イントラ予測モードなど)は、上述したLIP、PDPC、MRL、ISPのうち少なくとも一つを含むことができる。前記LIP、PDPC、MRL、ISPなどの特定イントラ予測タイプを除く一般イントラ予測方法は、ノーマルイントラ予測タイプと呼ぶことができる。ノーマルイントラ予測タイプは、前記のような特定イントラ予測タイプが適用されない場合に一般的に適用されてよく、上述したイントラ予測モードに基づいて予測が行われてよい。一方、必要によって、導出された予測サンプルに対する後処理フィルタリングが行われてもよい。
【0098】
具体的に、イントラ予測手順は、イントラ予測モード/タイプ決定段階、周辺参照サンプル導出段階、イントラ予測モード/タイプベース予測サンプル導出段階を含むことができる。また、必要によって、導出された予測サンプルに対する後処理フィルタリング(post-filtering)段階が行われてもよい。
【0099】
図4には、イントラ予測ベースビデオ/映像エンコーディング方法の例を示す。
【0100】
図4を参照すると、エンコーディング装置は現在ブロックに対するイントラ予測を行う(S400)。エンコーディング装置は、現在ブロックに対するイントラ予測モード/タイプを導出し、現在ブロックの周辺参照サンプルを導出することができ、前記イントラ予測モード/タイプ及び前記周辺参照サンプルに基づいて前記現在ブロック内予測サンプルを生成する。ここで、イントラ予測モード/タイプ決定、周辺参照サンプル導出及び予測サンプル生成の手順は同時に行われてもよく、いずれか一手順が他の手順よりも先に行われてもよい。エンコーディング装置は、複数のイントラ予測モード/タイプのうち、前記現在ブロックに対して適用されるモード/タイプを決定することができる。エンコーディング装置は、前記イントラ予測モード/タイプに対するRDコスト(RD cost)を比較し、前記現在ブロックに対する最適のイントラ予測モード/タイプを決定することができる。
【0101】
一方、エンコーディング装置は、予測サンプルフィルタリング手順を行うこともできる。予測サンプルフィルタリングは、ポストフィルタリングと呼ぶことができる。前記予測サンプルフィルタリング手順によって前記予測サンプルのうち一部又は全部がフィルタリングされてよい。場合によって、前記予測サンプルフィルタリング手順は省略されてよい。
【0102】
エンコーディング装置は、(フィルタリングされた)予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを生成する(S410)。エンコーディング装置は、現在ブロックの原本サンプルにおいて前記予測サンプルを位相ベースで比較し、前記レジデュアルサンプルを導出することができる。
【0103】
エンコーディング装置は、前記イントラ予測に関する情報(予測情報)及び前記レジデュアルサンプルに関するレジデュアル情報を含む映像情報をエンコードすることができる(S420)。前記予測情報は、前記イントラ予測モード情報、前記イントラ予測タイプ情報を含むことができる。エンコーディング装置は、エンコードされた映像情報をビットストリームの形態で出力することができる。出力されたビットストリームは、記憶媒体又はネットワークを介してデコーディング装置に伝達されてよい。
【0104】
前記レジデュアル情報は、後述するレジデュアルコーディングシンタックスを含むことができる。エンコーディング装置は、前記レジデュアルサンプルを変換/量子化し、量子化された変換係数を導出することができる。前記レジデュアル情報は、前記量子化された変換係数に関する情報を含むことができる。
【0105】
一方、上述したように、エンコーディング装置は、復元ピクチャー(復元サンプル及び復元ブロックを含む。)を生成することができる。そのために、エンコーディング装置は、前記前記量子化された変換係数を再び逆量子化/逆変換処理して(修正された)レジデュアルサンプルを導出することができる。このようにレジデュアルサンプルを変換/量子化後に再び逆量子化/逆変換を行う理由は、上述したようにデコーディング装置で導出されるレジデュアルサンプルと同じレジデュアルサンプルを導出するためである。エンコーディング装置は、前記予測サンプルと前記(修正された)レジデュアルサンプルに基づいて、前記現在ブロックに対する復元サンプルを含む復元ブロックを生成することができる。前記復元ブロックに基づいて前記現在ピクチャーに対する復元ピクチャーが生成されてよい。前記復元ピクチャーにインループフィルタリング手順などがさらに適用されてもよいことは、上述した通りである。
【0106】
図5には、イントラ予測ベースビデオ/映像エンコーディング方法の例を示す。
【0107】
デコーディング装置は、前記エンコーディング装置で行われた動作と対応する動作を行うことができる。
【0108】
予測情報及びレジデュアル情報がビットストリームから取得されてよい。前記レジデュアル情報に基づいて現在ブロックに対するレジデュアルサンプルが導出されてよい。具体的に、前記レジデュアル情報に基づいて導出された量子化された変換係数に基づいて、逆量子化を行って変換係数を導出し、前記変換係数に対する逆変換を行って前記現在ブロックに対するレジデュアルサンプルを導出することができる。
【0109】
具体的に、デコーディング装置は、受信した予測情報(イントラ予測モード/タイプ情報)に基づいて、現在ブロックに対するイントラ予測モード/タイプを導出することができる(S500)。デコーディング装置は、前記現在ブロックの周辺参照サンプルを導出することができる(S510)。デコーディング装置は、前記イントラ予測モード/タイプ及び前記周辺参照サンプルに基づいて前記現在ブロック内予測サンプルを生成する(S520)。この場合、デコーディング装置は、予測サンプルフィルタリング手順を行うことができる。予測サンプルフィルタリングは、ポストフィルタリングと呼ぶことができる。前記予測サンプルフィルタリング手順によって前記予測サンプルのうち一部又は全部がフィルタリングされてよい。場合によって、予測サンプルフィルタリング手順は省略されてよい。
【0110】
デコーディング装置は、受信したレジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを生成する(S530)。デコーディング装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、前記復元サンプルを含む復元ブロックを導出することができる(S540)。前記復元ブロックに基づいて前記現在ピクチャーに対する復元ピクチャーが生成されてよい。前記復元ピクチャーにインループフィルタリング手順などがさらに適用されてもよいことは、上述した通りである。
【0111】
前記イントラ予測モード情報は、例えば、MPM(most probable mode)が前記現在ブロックに適用されるかそれともリメイニングモード(remaining mode)が適用されるかを示すフラグ情報(例えば、intra_luma_mpm_flag)を含むことができ、前記MPMが前記現在ブロックに適用される場合に、前記予測モード情報は前記イントラ予測モード候補(MPM候補)のうち一つを示すインデックス情報(例えば、intra_luma_mpm_idx)をさらに含むことができる。前記イントラ予測モード候補(MPM候補)は、MPM候補リスト又はMPMリストとして構成されてよい。また、前記MPMが前記現在ブロックに適用されない場合に、前記イントラ予測モード情報は、前記イントラ予測モード候補(MPM候補)を除く残りのイントラ予測モードのうちの一つを示すリメイニングモード情報(例えば、intra_luma_mpm_remainder)をさらに含むことができる。デコーディング装置は、前記イントラ予測モード情報に基づいて前記現在ブロックのイントラ予測モードを決定することができる。
【0112】
また、前記イントラ予測タイプ情報は、様々な形態で具現されてよい。一例として、前記イントラ予測タイプ情報は、前記イントラ予測タイプのうちの一つを指示するイントラ予測タイプインデックス情報を含むことができる。他の例として、前記イントラ予測タイプ情報は、前記MRLが前記現在ブロックに適用されるか否か及び適用される場合には何番目の参照サンプルラインが用いられるかを示す参照サンプルライン情報(例えば、intra_luma_ref_idx)、前記ISPが前記現在ブロックに適用されるか否かを示すISPフラグ情報(例えば、intra_subpartitions_mode_flag)、前記ISPが適用される場合にサブパーティションの分割タイプを指示するISPタイプ情報(例えば、intra_subpartitions_split_flag)、PDPCの適用されるか否かを示すフラグ情報、又はLIPの適用されるか否かを示すフラグ情報、のうち少なくとも一つを含むことができる。また、前記イントラ予測タイプ情報は、前記現在ブロックにMIP(matrix-based intra prediction)が適用されるか否かを示すMIPフラグを含むことができる。
【0113】
前記イントラ予測モード情報及び/又は前記イントラ予測タイプ情報は、本文書で説明したコーディング方法によってエンコード/デコードされてよい。例えば、前記イントラ予測モード情報及び/又は前記イントラ予測タイプ情報は、エントロピーコーディング(例えば、CABAC、CAVLC)によってエンコード/デコードされてよい。
【0114】
図6には、イントラ予測手順を例示する。
【0115】
図6を参照すると、上述したように、イントラ予測手順は、イントラ予測モード/タイプ決定段階、周辺参照サンプル導出段階、イントラ予測実行(予測サンプル生成)段階を含むことができる。前記イントラ予測手順は、上述したようにエンコーディング装置及びデコーディング装置で行われてよい。本文書において、コーディング装置はエンコーディング装置及び/又はデコーディング装置を含むことができる。
【0116】
図6を参照すると、コーディング装置は、イントラ予測モード/タイプを決定する(S600)。
【0117】
エンコーディング装置は、上述した様々なイントラ予測モード/タイプのうち、前記現在ブロックに適用されるイントラ予測モード/タイプを決定でき、予測関連情報を生成することができる。前記予測関連情報は、前記現在ブロックに適用されるイントラ予測モードを示すイントラ予測モード情報及び/又は前記現在ブロックに適用されるイントラ予測タイプを示すイントラ予測タイプ情報を含むことができる。デコーディング装置は、前記予測関連情報に基づいて、前記現在ブロックに適用されるイントラ予測モード/タイプを決定することができる。
【0118】
前記イントラ予測モード情報は、例えば、MPM(most probable mode)が前記現在ブロックに適用されるかそれともリメイニングモード(remaining mode)が適用されるかを示すフラグ情報(例えば、intra_luma_mpm_flag)を含むことができ、前記MPMが前記現在ブロックに適用される場合に、前記予測モード情報は、前記イントラ予測モード候補(MPM候補)のうち一つを示すインデックス情報(例えば、intra_luma_mpm_idx)をさらに含むことができる。前記イントラ予測モード候補(MPM候補)は、MPM候補リスト又はMPMリストとして構成されてよい。また、前記MPMが前記現在ブロックに適用されない場合に、前記イントラ予測モード情報は、前記イントラ予測モード候補(MPM候補)を除く残りのイントラ予測モードのうちの一つを示すリメイニングモード情報(例えば、intra_luma_mpm_remainder)をさらに含むことができる。デコーディング装置は、前記イントラ予測モード情報に基づいて前記現在ブロックのイントラ予測モードを決定することができる。
【0119】
また、前記イントラ予測タイプ情報は様々な形態で具現されてよい。一例として、前記イントラ予測タイプ情報は、前記イントラ予測タイプのうちの一つを指示するイントラ予測タイプインデックス情報を含むことができる。他の例として、前記イントラ予測タイプ情報は、前記MRLが前記現在ブロックに適用されるか否か及び適用される場合には何番目の参照サンプルラインが用いられるかを示す参照サンプルライン情報(例えば、intra_luma_ref_idx)、前記ISPが前記現在ブロックに適用されるか否かを示すISPフラグ情報(例えば、intra_subpartitions_mode_flag)、前記ISPが適用される場合にサブパーティションの分割タイプを指示するISPタイプ情報(例えば、intra_subpartitions_split_flag)、PDPCの適用されるか否かを示すフラグ情報又はLIPの適用されるか否かを示すフラグ情報、のうち少なくとも一つを含むことができる。また、前記イントラ予測タイプ情報は、前記現在ブロックにMIP(matrix-based intra prediction)が適用されるか否かを示すMIPフラグを含むことができる。
【0120】
例えば、イントラ予測が適用される場合に、周辺ブロックのイントラ予測モードを用いて、現在ブロックに適用されるイントラ予測モードが決定されてよい。例えば、コーディング装置は、現在ブロックの周辺ブロック(例えば、左側及び/又は上側の周辺ブロック)のイントラ予測モード及び/又は追加の候補モードに基づいて導出されたMPM(most probable mode)リスト内のMPM候補のうち一つを、受信した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)をシグナルしてプレーナーモードであるか否かをまず確認するためである。
【0121】
例えば、現在ブロックに適用されるイントラ予測モードがMPM候補(及びプレーナーモード)中にあるか、それともリメイニングモード中にあるかは、MPMフラグ(例えば、intra_luma_mpm_flag)に基づいて指示されてよい。MPMフラグの値1は、前記現在ブロックに対するイントラ予測モードがMPM候補(及び、プレーナーモード)内にあることを示しことができ、MPMフラグの値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フラグ(例えば、intra_luma_mpm_flag)、前記notプレーナーフラグ(例えば、intra_luma_not_planar_flag)、前記MPMインデックス(例えば、mpm_idx又はintra_luma_mpm_idx)、前記リメイニングイントラ予測モード情報(rem_intra_luma_pred_mode又はintra_luma_mpm_remainder)のうち少なくとも一つを含むことができる。本文書において、MPMリストは、MPM候補リスト、candModeListなどの様々な用語と呼ぶことができる。
【0122】
MIPが現在ブロックに適用される場合に、MIPのための別個のmpmフラグ(例えば、intra_mip_mpm_flag)、mpmインデックス(例えば、intra_mip_mpm_idx)、リメイニングイントラ予測モード情報(例えば、intra_mip_mpm_remainder)がシグナルされてよく、前記notプレーナーフラグはシグナルされなくてよい。
【0123】
言い換えると、一般に、映像に対するブロック分割がされると、コードしようとする現在ブロックと周辺(neighboring)ブロックは類似の映像特性を有する。したがって、現在ブロックと周辺ブロックは互いに同一又は類似のイントラ予測モードを有する確率が高い。したがって、エンコーダは、現在ブロックのイントラ予測モードをエンコードするために周辺ブロックのイントラ予測モードを用いることができる。
【0124】
コーディング装置は、現在ブロックに対するMPM(most probable modes)リストを構成することができる。前記MPMリストは、MPM候補リストと表すこともできる。ここで、MPMとは、イントラ予測モードコーディング時に、現在ブロックと周辺ブロックとの類似性を考慮してコーディング効率を向上させるために用いられるモードを意味できる。上述したように、MPMリストはプレーナーモードを含んで構成されてよく、又はプレーナーモードを除いて構成されてよい。例えば、MPMリストがプレーナーモードを含む場合に、MPMリストの候補の個数は6個であってよい。また、MPMリストがプレーナーモードを含まない場合に、MPMリストの候補の個数は5個であってよい。
【0125】
エンコーディング装置は、様々なイントラ予測モードに基づいて予測を行うことができ、これによるRDO(rate-distortion optimization)に基づいて最適のイントラ予測モードを決定することができる。エンコーディング装置は、この場合、前記MPMリストに構成されたMPM候補及びプレーナーモードのみを用いて前記最適のイントラ予測モードを決定することもでき、又は前記MPMリストに構成されたMPM候補及びプレーナーモードの他にも、残りのイントラ予測モードをさらに用いて、前記最適のイントラ予測モードを決定することができる。具体的には、例えば、仮に前記現在ブロックのイントラ予測タイプがノーマルイントラ予測タイプではなく特定タイプ(例えば、LIP、MRL、又はISP)である場合には、エンコーディング装置は、前記MPM候補及びプレーナーモードのみを前記現在ブロックに対するイントラ予測モード候補として考慮して前記最適のイントラ予測モードを決定することができる。すなわち、この場合には、前記現在ブロックに対するイントラ予測モードは、前記MPM候補及びプレーナーモードのみから決定されてよく、この場合には、前記mpmフラグをエンコード/シグナルしなくてよい。デコーディング装置は、この場合には、mpmフラグが別にシグナルされなくても、mpmフラグが1であると推定できる。
【0126】
一方、一般に、前記現在ブロックのイントラ予測モードがプレーナーモードではなく、前記MPMリスト内にあるMPM候補のうち一つである場合に、エンコーディング装置は、前記MPM候補のうち一つを示すmpmインデックス(mpm idx)を生成する。仮に、前記現在ブロックのイントラ予測モードが前記MPMリスト内にも存在しない場合には、前記MPMリスト(及びプレーナーモード)に含まれていない残りのイントラ予測モードのうち、前記現在ブロックのイントラ予測モードと同じモードを示すMPMリメインダー情報(リメイニングイントラ予測モード情報)を生成する。前記MPMリメインダー情報は、例えば、intra_luma_mpm_remainderシンタックス要素を含むことができる。
【0127】
デコーディング装置は、ビットストリームからイントラ予測モード情報を取得する。前記イントラ予測モード情報は、上述したように、MPMフラグ、notプレーナーフラグ、MPMインデックス、MPMリメインダー情報(リメイニングイントラ予測モード情報)のうち少なくとも一つを含むことができる。デコーディング装置は、MPMリストを構成することができる。前記MPMリストは、前記エンコーディング装置で構成されたMPMリストと同一に構成される。すなわち、前記MPMリストは、周辺ブロックのイントラ予測モードを含むこともでき、あらかじめ定められた方法によって特定イントラ予測モードをさらに含むこともできる。
【0128】
デコーディング装置は、前記MPMリスト及び前記イントラ予測モード情報に基づいて現在ブロックのイントラ予測モードを決定することができる。一例として、前記MPMフラグの値が1である場合に、デコーディング装置は、プレーナーモードを前記現在ブロックのイントラ予測モードとして導出するか(notプレーナーフラグベース)、或いは前記MPMリスト内のMPM候補のうち、前記MPMインデックスが示す候補を、前記現在ブロックのイントラ予測モードとして導出することができる。ここで、MPM候補とは、前記MPMリストに含まれる候補のみを表すこともでき、又は前記MPMリストに含まれる候補の他、前記MPMフラグの値が1である場合に適用可能なプレーナーモードも含まれてよい。
【0129】
他の例として、前記MPMフラグの値が0である場合に、デコーディング装置は、前記MPMリスト及びプレーナーモードに含まれない残りのイントラ予測モードのうち、前記リメイニングイントラ予測モード情報(mpmリメインダー情報と呼ぶことができる。)が示すイントラ予測モードを、前記現在ブロックのイントラ予測モードとして導出することができる。一方、さらに他の例として、前記現在ブロックのイントラ予測タイプが特定タイプ(例えば、LIP、MRL又はISPなど)である場合に、デコーディング装置は、前記MPMフラグのパーシング/デコーディング/確認無しにも、前記プレーナーモード又は前記MPMリスト内で前記MPMフラグが示す候補を、前記現在ブロックのイントラ予測モードとして導出することができる。
【0130】
コーディング装置は、現在ブロックの周辺参照サンプルを導出する(S610)。現在ブロックにイントラ予測が適用される場合に、現在ブロックのイントラ予測に用いる周辺参照サンプルが導出されてよい。前記現在ブロックの周辺参照サンプルは、nWxnHのサイズの現在ブロックの左側(left)境界に隣接したサンプル及び左下側(bottom-left)に隣接した総2xnH個のサンプル、現在ブロックの上側(top)境界に隣接したサンプル及び右上側(top-right)に隣接した総2xnW個のサンプル、及び現在ブロックの左上側(top-left)に隣接した1個のサンプルを含むことができる。又は、前記現在ブロックの周辺参照サンプルは、複数列の上側周辺サンプル及び複数行の左側周辺サンプルを含むことができる。また、前記現在ブロックの周辺参照サンプルは、nWxnHのサイズの現在ブロックの右側(right)境界に隣接した総nH個のサンプル、現在ブロックの下側(bottom)境界に隣接した総nW個のサンプル、及び現在ブロックの右下側(bottom-right)に隣接した1個のサンプルを含むことができる。
【0131】
一方、MRLが適用される場合(すなわち、MRLインデックスの値が0よりも大きい場合)に、前記周辺参照サンプルは、左側/上側で現在ブロックに隣接した0番ライン以外の、1番及び2番ラインに位置してよく、この場合、周辺参照サンプルの個数はより増加し得る。一方、ISPが適用される場合に、前記周辺参照サンプルがサブパーティション単位に導出されてよい。
【0132】
コーディング装置は現在ブロックにイントラ予測を行って予測サンプル導出する(S620)。コーディング装置は、前記イントラ予測モード/タイプ及び前記周辺サンプルに基づいて前記予測サンプルを導出することができる。コーディング装置は、現在ブロックの周辺参照サンプルのうち、前記現在ブロックのイントラ予測モードによる参照サンプルを導出することができ、前記参照サンプルに基づいて前記現在ブロックの予測サンプルを導出することができる。
【0133】
一方、インター予測が適用される場合に、エンコーディング装置/デコーディング装置の予測部は、ブロック単位でインター予測を行って予測サンプルを導出することができる。インター予測は、現在ピクチャー以外のピクチャーのデータ要素(例えば、サンプル値又は動き情報)に依存する方法で導出される予測を表すことができる。現在ブロックにインター予測が適用される場合に、参照ピクチャーインデックスが示す参照ピクチャー上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロック(予測サンプルアレイ)を誘導することができる。この時、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロック間の動き情報の相関性に基づいて、現在ブロックの動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャーインデックスを含むことができる。前記動き情報は、インター予測タイプ(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)はシグナルされてよい。この場合、前記動きベクトル予測子及び動きベクトル差分の和を用いて前記現在ブロックの動きベクトルを導出することができる。
【0134】
前記動き情報は、インター予測タイプ(L0予測、L1予測、Bi予測など)によってL0動き情報及び/又はL1動き情報を含むことができる。L0方向の動きベクトルは、L0動きベクトル又はMVL0と呼ぶことができ、L1方向の動きベクトルは、L1動きベクトル又はMVL1と呼ぶことができる。L0動きベクトルに基づく予測はL0予測と呼び、L1動きベクトルに基づく予測はL1予測と呼び、前記L0動きベクトル及び前記L1動きベクトルの両方に基づく予測は対(Bi)予測と呼ぶことができる。ここで、L0動きベクトルは、参照ピクチャーリストL0(L0)に関連した動きベクトルを表すことができ、L1動きベクトルは、参照ピクチャーリストL1(L1)に関連した動きベクトルを表すことができる。参照ピクチャーリストL0は、出力順序において前記現在ピクチャーよりも前のピクチャーを参照ピクチャーとして含むことができ、参照ピクチャーリストL1は、出力順序において前記現在ピクチャーよりも後のピクチャーを含むことができる。前記前のピクチャーは、順方向(参照)ピクチャーと呼ぶことができ、前記後のピクチャーは、逆方向(参照)ピクチャーと呼ぶことができる。前記参照ピクチャーリストL0は、出力順序において前記現在ピクチャーよりも後のピクチャーを参照ピクチャーとしてさらに含むことができる。この場合、前記参照ピクチャーリストL0内で前記前のピクチャーがまずインデクスされ、前記後のピクチャーはその次にインデクスされてよい。前記参照ピクチャーリストL1は、出力順序において前記現在ピクチャーよりも前のピクチャーを参照ピクチャーとしてさらに含むことができる。この場合、前記参照ピクチャーリスト1内で前記後のピクチャーがまずインデクスされ、前記前のピクチャーはその次にインデクスされてよい。ここで、出力順序は、POC(picture order count)順序(order)に対応してよい。
【0135】
インター予測に基づくビデオ/映像エンコーディング手順は概略的に、例えば次を含むことができる。
【0136】
図7には、インター予測ベースビデオ/映像エンコーディング方法の例を示す。
【0137】
エンコーディング装置は、現在ブロックに対するインター予測を行う(S700)。エンコーディング装置は、現在ブロックのインター予測モード及び動き情報を導出し、前記現在ブロックの予測サンプルを生成することができる。ここで、インター予測モード決定、動き情報導出及び予測サンプル生成手順は同時に行われてもよく、いずれか一手順が他の手順よりも先に行われてもよい。例えば、エンコーディング装置のインター予測部は、予測モード決定部、動き情報導出部、予測サンプル導出部を含むことができ、予測モード決定部で前記現在ブロックに対する予測モードを決定し、動き情報導出部で前記現在ブロックの動き情報を導出し、予測サンプル導出部で前記現在ブロックの予測サンプルを導出することができる。例えば、エンコーディング装置のインター予測部は、動き推定(motion estimation)によって参照ピクチャーの一定領域(サーチ領域)内で前記現在ブロックと類似のブロックをサーチし、前記現在ブロックとの差が最小又は一定基準以下である参照ブロックを導出することができる。これに基づいて、前記参照ブロックの位置する参照ピクチャーを示す参照ピクチャーインデックスを導出し、前記参照ブロックと前記現在ブロックとの位置差に基づいて動きベクトルを導出することができる。エンコーディング装置は、様々な予測モードのうち、前記現在ブロックに対して適用されるモードを決定できる。エンコーディング装置は、前記様々な予測モードに対するRDコスト(cost)を比較し、前記現在ブロックに対する最適の予測モードを決定することができる。
【0138】
例えば、エンコーディング装置は、前記現在ブロックにスキップモード又はマージモードが適用される場合に、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補が示す参照ブロックのうち、前記現在ブロックとの差が最小又は一定基準以下である参照ブロックを導出することができる。この場合、前記導出された参照ブロックと関連したマージ候補が選択され、前記選択されたマージ候補を示すマージインデックス情報が生成されてデコーディング装置にシグナルされてよい。前記選択されたマージ候補の動き情報を用いて前記現在ブロックの動き情報を導出することができる。
【0139】
他の例として、エンコーディング装置は、前記現在ブロックに(A)MVPモードが適用される場合に、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補から選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして用いることができる。この場合、例えば、上述した動き推定によって導出された参照ブロックを示す動きベクトルが前記現在ブロックの動きベクトルとして用いられてよく、前記mvp候補のうち、前記現在ブロックの動きベクトルとの差が最も小さい動きベクトルを有するmvp候補が、前記選択されたmvp候補になり得る。前記現在ブロックの動きベクトルから前記mvpを引いた差分であるMVD(motion vector difference)が導出されてよい。この場合、前記MVDに関する情報がデコーディング装置にシグナルされてよい。また、(A)MVPモードが適用される場合に、前記参照ピクチャーインデックスの値は、参照ピクチャーインデックス情報として構成され、別個に前記デコーディング装置にシグナルされてよい。
【0140】
エンコーディング装置は、前記予測サンプルに基づいてレジデュアルサンプルを導出することができる(S710)。エンコーディング装置は、前記現在ブロックの原本サンプルと前記予測サンプルとの比較によって前記レジデュアルサンプルを導出することができる。
【0141】
エンコーディング装置は、予測情報及びレジデュアル情報を含む映像情報をエンコードする(S720)。エンコーディング装置は、エンコードされた映像情報をビットストリームの形態で出力できる。前記予測情報は、前記予測手順に関連した情報として予測モード情報(例えば、スキップフラグ、マージフラグ、又はモデルインデックスなど)及び動き情報に関する情報を含むことができる。前記動き情報に関する情報は、動きベクトルを導出するための情報である候補選択情報(例えば、マージインデックス、mvpフラグ、又はmvpインデックス)を含むことができる。また前記動き情報に関する情報は、上述したMVDに関する情報及び/又は参照ピクチャーインデックス情報を含むことができる。また、前記動き情報に関する情報は、L0予測、L1予測、又は対(bi)予測が適用されるか否かを示す情報を含むことができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。
【0142】
出力されたビットストリームは(デジタル)記憶媒体に記憶され、デコーディング装置に伝達されてよく、又はネットワークを通じてデコーディング装置に伝達されてもよい。
【0143】
一方、上述したように、エンコーディング装置は、前記参照サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャー(復元サンプル及び復元ブロックを含む。)を生成できる。これは、デコーディング装置で行われるのと同じ予測結果をエンコーディング装置で導出するためであり、これによってコーディング効率を上げることができるためである。したがって、エンコーディング装置は、復元ピクチャー(又は、復元サンプル、復元ブロック)をメモリに記憶し、インター予測のための参照ピクチャーとして活用することができる。前記復元ピクチャーにインループフィルタリング手順などがさらに適用されてもよいことは、上述した通りである。
【0144】
インター予測に基づくビデオ/映像デコーディング手順は概略的に、例えば次を含むことができる。
【0145】
図8には、インター予測ベースビデオ/映像デコーディング方法の例を示す。
【0146】
図8を参照すると、デコーディング装置は、前記エンコーディング装置で行われた動作と対応する動作を行うことができる。デコーディング装置は、受信した予測情報に基づいて現在ブロックに予測を行い、予測サンプルを導出することができる。
【0147】
具体的に、デコーディング装置は、受信した予測情報に基づいて前記現在ブロックに対する予測モードを決定することができる(S800)。デコーディング装置は、前記予測情報内の予測モード情報に基づいて、前記現在ブロックにどのようなインター予測モードが適用されるかを決定できる。
【0148】
例えば、前記マージフラグに基づいて、前記現在ブロックに前記マージモードが適用されるか又は(A)MVPモードが決定されるかが決定できる。又は、前記モードインデックスに基づいて、様々なインター予測モード候補のうち一つを選択できる。前記インター予測モード候補は、スキップモード、マージモード及び/又は(A)MVPモードを含んでよく、又は、後述する様々なインター予測モードを含んでもよい。
【0149】
デコーディング装置は、前記決定されたインター予測モードに基づいて前記現在ブロックの動き情報を導出する(S810)。例えば、デコーディング装置は、前記現在ブロックにスキップモード又はマージモードが適用される場合に、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補がのうち一つのマージ候補を選択できる。前記選択は、上述した選択情報(merge index)に基づいて行われてよい。前記選択されたマージ候補の動き情報を用いて前記現在ブロックの動き情報を導出することができる。前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報として用いられてよい。
【0150】
他の例として、デコーディング装置は、前記現在ブロックに(A)MVPモードが適用される場合に、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補のうち、選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして用いることができる。前記選択は、上述した選択情報(mvp flag or mvp index)に基づいて行われてよい。この場合、前記MVDに関する情報に基づいて前記現在ブロックのMVDを導出することができ、前記現在ブロックのmvpと前記MVDに基づいて前記現在ブロックの動きベクトルを導出することができる。また、前記参照ピクチャーインデックス情報に基づいて前記現在ブロックの参照ピクチャーインデックスを導出することができる。前記現在ブロックに関する参照ピクチャーリスト内で前記参照ピクチャーインデックスが示すピクチャーが、前記現在ブロックのインター予測のために参照される参照ピクチャーとして導出されてよい。
【0151】
一方、後述するように、候補リスト構成無しで前記現在ブロックの動き情報が導出されてもよく、この場合、後述する予測モードで開示された手順によって前記現在ブロックの動き情報が導出されてよい。この場合、上述したような候補リスト構成は省略されてよい。
【0152】
デコーディング装置は、前記現在ブロックの動き情報に基づいて前記現在ブロックに対する予測サンプルを生成することができる(S820)。この場合、前記現在ブロックの参照ピクチャーインデックスに基づいて前記参照ピクチャーを導出し、前記現在ブロックの動きベクトルが前記参照ピクチャー上で示す参照ブロックのサンプルを用いて前記現在ブロックの予測サンプルを導出することができる。この場合、後述するように、場合によって、前記現在ブロックの予測サンプルの全部又は一部に対する予測サンプルフィルタリング手順がさらに行われてよい。
【0153】
例えば、デコーディング装置のインター予測部は、予測モード決定部、動き情報導出部、予測サンプル導出部を含むことができ、予測モード決定部で受信された予測モード情報に基づいて前記現在ブロックに対する予測モードを決定し、動き情報導出部で受信された動き情報に関する情報に基づいて前記現在ブロックの動き情報(動きベクトル及び/又は参照ピクチャーインデックスなど)を導出し、予測サンプル導出部で前記現在ブロックの予測サンプルを導出することができる。
【0154】
デコーディング装置は、受信したレジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを生成する(S830)。デコーディング装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャーを生成できる(S840)。その後、前記復元ピクチャーにインループフィルタリング手順などがさらに適用されてよいことは、上述した通りである。
【0155】
図9には、インター予測手順を例示的に示す。
【0156】
図9を参照すると、上述したように、インター予測手順は、インター予測モード決定段階、決定された予測モードによる動き情報導出段階、導出された動き情報に基づく予測(予測サンプル生成)段階を含むことができる。前記インター予測手順は、上述したようにエンコーディング装置及びデコーディング装置で行われてよい。本文書において、コーディング装置とは、エンコーディング装置及び/又はデコーディング装置を含むことができる。
【0157】
図9を参照すると、コーディング装置は、現在ブロックに対するインター予測モードを決定する(S900)。ピクチャー内現在ブロックの予測のために様々なインター予測モードが用いられてよい。例えば、マージモード、スキップモード、MVP(motion vector prediction)モード、アフィン(Affine)モード、サブブロックマージモード、MMVD(merge with MVD)モードなどの様々なモードが用いられてよい。DMVR(Decoder side motion vector refinement)モード、AMVR(adaptive motion vector resolution)モード、BCW(Bi-prediction with CU-level weight)、BDOF(Bi-directional optical flow)などが付随のモードとしてさらに或いは代わりに用いられてよい。アフィンモードは、アフィン動き予測(affine motion prediction)モードと呼ぶことができる。MVPモードは、AMVP(advanced motion vector prediction)モードと呼ぶことができる。本文書において、一部のモード及び/又は一部のモードによって導出された動き情報候補は、他のモードの動き情報関連候補のうち一つとして含まれてもよい。例えば、HMVP候補は、前記マージ/スキップモードのマージ候補として追加されてよく、又は前記MVPモードのmvp候補として追加されてもよい。前記HMVP候補が前記マージモード又はスキップモードの動き情報候補として用いられる場合に、前記HMVP候補は、HMVPマージ候補と呼ぶことができる。
【0158】
現在ブロックのインター予測モードを示す予測モード情報が、エンコーディング装置からデコーディング装置にシグナルされてよい。前記予測モード情報はビットストリームに含まれてデコーディング装置に受信されてよい。前記予測モード情報は、複数の候補モードのうち一つを指示するインデックス情報を含むことができる。又は、フラグ情報の階層的シグナリングによってインター予測モードを指示することもできる。この場合、前記予測モード情報は一つ以上のフラグを含むことができる。例えば、スキップフラグをシグナルして、スキップモードが適用されるか否かを指示し、スキップモードが適用されない場合にはマージフラグをシグナルして、マージモードが適用されか否かを指示し、マージモードが適用されない場合に、MVPモードが適用される旨指示するか、追加の区分のためのフラグをさらにシグナルすることもできる。アフィンモードは、独立したモードとしてシグナルされてもよく、又はマージモード又はMVPモードなどに従属するモードとしてシグナルされてもよい。例えば、アフィンモードは、アフィンマージモード及びアフィンMVPモードを含むことができる。
【0159】
コーディング装置は、前記現在ブロックに対する動き情報を導出する(S910)。前記動き情報導出を前記インター予測モードに基づいて導出することができる。
【0160】
コーディング装置は、現在ブロックの動き情報を用いてインター予測を行うことができる。エンコーディング装置は、動き推定(motion estimation)手順によって現在ブロックに対する最適の動き情報を導出することができる。例えば、エンコーディング装置は、現在ブロックに対する原本ピクチャー内原本ブロックを用いて、相関性の高い類似の参照ブロックを、参照ピクチャー内の定められた探索範囲内で分数ピクセル単位で探索でき、これによって動き情報を導出することができる。ブロックの類似性は、位相(phase)ベースサンプル値の差に基づいて導出することができる。例えば、ブロックの類似性は、現在ブロック(又は、現在ブロックのテンプレート)と参照ブロック(又は、参照ブロックのテンプレート)間のSADに基づいて計算されてよい。この場合、探索領域内SADが最も小さい参照ブロックに基づいて動き情報を導出することができる。導出された動き情報は、インター予測モードに基づいて様々な方法によってデコーディング装置にシグナルされてよい。
【0161】
コーディング装置は、前記現在ブロックに対する動き情報に基づいてインター予測を行う(S920)。コーディング装置は、前記動き情報に基づいて前記現在ブロックに対する予測サンプルを導出することができる。前記予測サンプルを含む現在ブロックは、予測されたブロックと呼ぶことができる。
【0162】
一方、上述の内容のように、エンコーディング装置は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などのような様々なエンコーディング方法を行うことができる。また、デコーディング装置は、指数ゴロム符号化、CAVLC又はCABACなどのコーディング方法に基づいてビットストリーム内情報をデコードし、映像復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値を出力することができる。
【0163】
例えば、上述したコーディング方法は、後述する内容のように行われてよい。
【0164】
図10には、シンタックスエレメント(syntax element)をエンコードするためのCABAC(context-adaptive binary arithmetic coding)を例示的に示す。例えば、CABACの符号化過程では、エンコーディング装置は、入力信号が二進値でないシンタックスエレメントである場合には、前記入力信号の値を二進化(binarization)して入力信号を二進値として変換できる。また、前記入力信号が既に二進値である場合(すなわち、前記入力信号の値が二進値である場合)には、二進化が行われずにバイパス(bypass)されてよい。ここで、二進値を構成するそれぞれの二進数0又は1をビン(bin)と呼ぶことができる。例えば、二進化された後の二進ストリングが110である場合に、1、1、0のそれぞれを1つのビンと呼ぶ。1つのシンタックスエレメントに対する前記ビンは、前記シンタックスエレメントの値を示すことができる。
【0165】
その後、前記シンタックスエレメントの二進化されたビンは、正規(regular)符号化エンジン又はバイパス符号化エンジンに入力されてよい。エンコーディング装置の正規符号化エンジンは、当該ビンに対して確率値を反映するコンテクストモデル(context model)を割り当てることができ、割り当てられたコンテクストモデルに基づいて当該ビンをエンコードできる。エンコーディング装置の前記正規符号化エンジンは、各ビンに対するエンコーディングを行った後に当該ビンに対するコンテクストモデルを更新できる。上述の内容のようにエンコードされるビンは、文脈符号化ビン(context-coded bin)と称することができる。
【0166】
一方、前記シンタックスエレメントの二進化されたビンが前記バイパス符号化エンジンに入力される場合には、次のようにコードされてよい。例えば、エンコーディング装置のバイパス符号化エンジンは、入力されたビンに対して確率を推定する手順と、符号化後に前記ビンに適用した確率モデルを更新する手順を省略する。バイパスエンコーディングが適用される場合に、エンコーディング装置は、コンテクストモデルを割り当てる代わりに均一な確率分布を適用することにより、入力されるビンをエンコードでき、これにより、エンコーディング速度を向上させることができる。上述の内容のようにエンコードされるビンは、バイパスビン(bypass bin)と称することができる。
【0167】
エントロピーデコーディングは、上述したエントロピーエンコーディングにおける過程を逆順で行う過程を表すことができる。
【0168】
例えば、シンタックスエレメントがコンテクストモデルに基づいてデコードされる場合に、デコーディング装置は、ビットストリームによって前記シンタックスエレメントに該当するビンを受信することができ、前記シンタックスエレメントとデコーディング対象ブロック又は周辺ブロックのデコーディング情報或いは以前段階でデコードされたシンボル/ビンの情報を用いてコンテクストモデル(context model)を決定でき、決定されたコンテクストモデルによって前記受信したビン(bin)の発生確率を予測してビンの算術デコーディング(arithmetic decoding)を行い、前記シンタックスエレメントの値を導出することができる。その後、次にデコードされるビンのコンテクストモデルが前記決定されたコンテクストモデルにアップデートされてよい。
【0169】
また、例えば、シンタックスエレメントがバイパスデコードされる場合に、デコーディング装置は、ビットストリームを用いて前記シンタックスエレメントに該当するビンを受信でき、均一な確率分布を適用することによって、入力されるビンをデコードすることができる。この場合、デコーディング装置は、シンタックスエレメントのコンテクストモデルを導出する手順と、デコーディング後に前記ビンに適用したコンテクストモデルを更新する手順を省略することができる。
【0170】
上述したように、レジデュアルサンプルは、変換、量子化過程を経て量子化された変換係数として導出されてよい。量子化された変換係数は、変換係数と呼ぶこともできる。この場合、ブロック内変換係数はレジデュアル情報の形態でシグナルされてよい。前記レジデュアル情報は、レジデュアルコーディングシンタックスを含むことができる。すなわち、エンコーディング装置は、レジデュアル情報でレジデュアルコーディングシンタックスを構成し、これをエンコードしてビットストリームの形態で出力でき、デコーディング装置は、ビットストリームからレジデュアルコーディングシンタックスをデコードしてレジデュアル(量子化された)変換係数を導出することができる。前記レジデュアルコーディングシンタックスは、後述するように、当該ブロックに対して変換が適用された否か、ブロック内最後の有効変換係数の位置、サブブロック内有効変換係数が存在するか否か、有効変換係数のサイズ/符号などを示すシンタックスエレメント(syntax elements)を含むことができる。
【0171】
例えば、レジデュアルデータエンコーディング/デコーディングと関連したシンタックスエレメントは、次表のように表すことができる。
【0172】
【表1-1】
【0173】
【表1-2】
【0174】
【表1-3】
【0175】
transform_skip_flagは、関連しているブロック(associated block)に変換が省略されるか否かを示す。前記transform_skip_flagは、変換スキップフラグのシンタックスエレメントであってよい。前記関連したブロックは、CB(coding block)又はTB(Transform block)であってよい。変換(及び量子化)及びレジデュアルコーディング手順に関して、CBとTBは同じ意味で使われてよい。例えば、CBに対してレジデュアルサンプルが導出され、前記レジデュアルサンプルに対する変換及び量子化によって(量子化された)変換係数が導出され得ることは上述の通りであり、レジデュアルコーディング手順によって前記(量子化された)変換係数の位置、サイズ、符号などを効率的に示す情報(例えば、シンタックスエレメント)が生成され、シグナルされてよい。量子化された変換係数は、簡単に変換係数と呼ぶことができる。一般に、CBが最大TBよりも大きくない場合に、CBのサイズはTBのサイズと同一であってよく、この場合、変換(及び量子化)及びレジデュアルコードされる対象ブロックは、CB又はTBと呼ぶことができる。一方、CBが最大TBよりも大きい場合には、変換(及び量子化)及びレジデュアルコードされる対象ブロックをTBと呼ぶことができる。以下、レジデュアルコーディングに関連したシンタックス要素が変換ブロック(TB)単位でシグナルされるとして説明するが、これは例示であり、前記TBはコーディングブロック(CB)と同じ意味で使われてよいことは上述した通りである。
【0176】
一方、前記変換スキップフラグがシグナルされた後にシグナルされるシンタックスエレメントは、後述する表2及び/又は表3に開示されたシンタックスエレメントと同一であってよく、前記シンタックスエレメントに関する具体的な説明は、後述する通りである。
【0177】
【表2-1】
【0178】
【表2-2】
【0179】
【表2-3】
【0180】
【表2-4】
【0181】
【表2-5】
【0182】
【表2-6】
【0183】
【表3-1】
【0184】
【表3-2】
【0185】
【表3-3】
【0186】
本実施例によれば、表1に示すように、変換スキップフラグのシンタックスエレメントtransform_skip_flagの値によって、レジデュアルコーディングが分岐されてよい。すなわち、変換スキップフラグの値に基づいて(変換スキップであるか否かに基づいて)、レジデュアルコーディングのために互いに異なるシンタックスエレメントが用いられてよい。変換スキップが適用されない場合(すなわち、変換が適用された場合)に用いられるレジデュアルコーディングは、レギュラーレジデュアルコーディング(Regular Residual Coding,RRC)と呼ぶことができ、変換スキップが適用される場合(すなわち、変換が適用されていない場合)のレジデュアルコーディングは、変換スキップレジデュアルコーディング(Transform Skip Residual Coding,TSRC)と呼ぶことができる。また、前記レギュラーレジデュアルコーディングは、一般のレジデュアルコーディング(general residual coding)と呼ぶこともできる。また、前記レギュラーレジデュアルコーディングは、レギュラーレジデュアルコーディングシンタックス構造と呼ぶことができ、前記変換スキップレジデュアルコーディングは、変換スキップレジデュアルコーディングシンタックス構造と呼ぶことができる。前記表2は、transform_skip_flagの値が0の場合、すなわち、変換が適用された場合のレジデュアルコーディングのシンタックスエレメントを表すことができ、表3は、transform_skip_flagの値が1の場合、すなわち、変換が適用されていない場合のレジデュアルコーディングのシンタックスエレメントを表すことができる。
【0187】
具体的に、例えば、変換ブロックの変換をスキップするか否かを示す変換スキップフラグがパースされてよく、前記変換スキップフラグが1か否かが判断されてよい。前記変換スキップフラグの値が0である場合、表2に示すように、変換ブロックのレジデュアル係数に対するシンタックスエレメントlast_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix、last_sig_coeff_y_suffix、sb_coded_flag、sig_coeff_flag、abs_level_gtx_flag、par_level_flag、abs_remainder、coeff_sign_flag及び/又はdec_abs_levelがパースされてよく、前記シンタックスエレメントに基づいて前記レジデュアル係数が導出されてよい。この場合、前記シンタックスエレメントは順次にパースされてもよく、パーシング順序が変更されてもよい。また、前記abs_level_gtx_flagは、abs_level_gt1_flag及び/又はabs_level_gt3_flagを表すことができる。例えば、abs_level_gtx_flag[n][0]は、第1変換係数レベルフラグ(abs_level_gt1_flag)の一例示であってよく、前記abs_level_gtx_flag[n][1]は、第2変換係数レベルフラグ(abs_level_gt3_flag)の一例示であってよい。
【0188】
上記表2を参照すると、last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix、last_sig_coeff_y_suffix、sb_coded_flag、sig_coeff_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flag、abs_remainder、coeff_sign_flag、及び/又はdec_abs_levelがエンコード/デコードされてよい。一方、前記sb_coded_flagは、coded_sub_block_flagと表すこともできる。
【0189】
一実施例において、エンコーディング装置は、シンタックスエレメントlast_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix及びlast_sig_coeff_y_suffixに基づいて、変換ブロック内の最後の0でない変換係数の(x,y)位置情報をエンコードすることができる。より具体的には、前記last_sig_coeff_x_prefixは、変換ブロック内スキャン順序(scanning order)における最後の(last)有効係数(significant coefficient)の列位置(column position)のプレフィックス(prefix)を表し、前記last_sig_coeff_y_prefixは、前記変換ブロック内前記スキャン順序(scanning order)における最後の(last)有効係数(significant coefficient)の行位置(row position)のプレフィックス(prefix)を表し、前記last_sig_coeff_x_suffixは、前記変換ブロック内前記スキャン順序(scanning order)における最後の(last)有効係数(significant coefficient)の列位置(column position)のサフィックス(suffix)を表し、前記last_sig_coeff_y_suffixは、前記変換ブロック内前記スキャン順序(scanning order)における最後の(last)有効係数(significant coefficient)の行位置(row position)のサフィックス(suffix)を表す。ここで、有効係数は、前記0でない係数(non-zero coefficient)を表すことができる。また、前記スキャン順序は、右上向き対角スキャン順序であってよい。又は、前記スキャン順序は、水平スキャン順序、又は垂直スキャン順序であってよい。前記スキャン順序は、対象ブロック(CB、又はTBを含むCB)にイントラ/インター予測が適用されるか否か及び/又は具体的なイントラ/インター予測モードに基づいて決定されてよい。
【0190】
その後、エンコーディング装置は、前記変換ブロックを4x4サブブロック(sub-block)に分割した後、各4x4サブブロックごとに1ビットのシンタックス要素coded_sub_block_flagを用いて、現在サブブロック内に0でない係数が存在するか否かを示すことができる。
【0191】
coded_sub_block_flagの値が0であれば、それ以上伝送する情報がないので、エンコーディング装置は現在サブブロックに対する符号化過程を終了できる。逆に、coded_sub_block_flagの値が1であれば、エンコーディング装置は、sig_coeff_flagに対する符号化過程を引き続き行うことができる。最後の0でない係数を含むサブブロックは、coded_sub_block_flagに対する符号化が不要であり、変換ブロックのDC情報を含んでいるサブブロックは0でない係数を含む確率が高いので、coded_sub_block_flagは符号化されず、その値が1であると仮定されてよい。
【0192】
仮に、coded_sub_block_flagの値が1であることから、現在サブブロック内に0でない係数が存在すると判断されると、エンコーディング装置は、逆にスキャンされた順序によって、二進値を有するsig_coeff_flagをエンコードすることができる。エンコーディング装置は、スキャン順序によって、それぞれの変換係数に対する1ビットシンタックスエレメントsig_coeff_flagをエンコードすることができる。仮に現在スキャン位置での変換係数の値が0でなければ、sig_coeff_flagの値は1になり得る。ここで、最後の0でない係数を含んでいるサブブロックの場合、最後の0でない係数に対してはsig_coeff_flagがエンコードされる必要がないので、前記サブブロックに対する符号化過程が省略されてよい。sig_coeff_flagが1である場合にのみレベル情報符号化が行われてよく、レベル情報符号化過程には4個のシンタックスエレメントが用いられてよい。より具体的には、各sig_coeff_flag[xC][yC]は、現在TB内の各変換係数位置(xC,yC)における当該変換係数のレベル(値)が0でない(non-zero)か否かを示すことができる。一実施例において、前記sig_coeff_flagは、量子化された変換係数が0でない有効係数であるか否かを示す有効係数フラグのシンタックスエレメントの一例示に当該し得る。
【0193】
sig_coeff_flagに対する符号化後の残ったレベル値は、次式のように導出されてよい。すなわち、符号化しなければならないレベル値を示すシンタックス要素remAbsLevelは、次式のように導出されてよい。
【0194】
【数1】
【0195】
ここで、coeffは、実際変換係数値を意味する。
【0196】
また、abs_level_gt1_flagは、当該スキャニング位置(n)でのremAbsLevelが1よりも大きいか否かを示すことができる。例えば、abs_level_gt1_flagの値が0であれば、当該位置の変換係数の絶対値(absolute value)は1であってよい。また、前記abs_level_gt1_flagの値が1であれば、後で符号化しなければならないレベル値を示す前記remAbsLevelは、次の式のようにアップデートされてよい。
【0197】
【数2】
【0198】
また、上述の式2に記載されたremAbsLevelのleast significant coefficient(LSB)値は、par_level_flagによって次の式3のようにエンコードされてよい。
【0199】
【数3】
【0200】
ここで、par_level_flag[n]は、スキャニング位置nでの変換係数レベル(値)のパリティ(parity)を示すことができる。
【0201】
par_leve_flagエンコーディング後にエンコードしなければならない変換係数レベル値remAbsLevelは、次の式のようにアップデートされてよい。
【0202】
【数4】
【0203】
abs_level_gt3_flagは、当該スキャニング位置(n)でのremAbsLevelが3よりも大きいか否かを示すことができる。abs_level_gt3_flagが1である場合にのみ、abs_remainderに対するエンコーディングが行われてよい。実際変換係数値であるcoeffと各シンタックス要素との関係は、次の式の通りでよい。
【0204】
【数5】
【0205】
また、次の表は、上述の式5と関連した例示を表す。
【0206】
【表4】
【0207】
ここで、|coeff|は、変換係数レベル(値)を表し、変換係数に対するAbsLevelと表示されてもよい。また、各係数の符号は、1ビットシンボルであるcoeff_sign_flagを用いてエンコードされてよい。
【0208】
また、例えば、前記変換スキップフラグの値が1であれば、表3に示すように、変換ブロックのレジデュアル係数に対するシンタックスエレメントsb_coded_flag、sig_coeff_flag、coeff_sign_flag、abs_level_gtx_flag、par_level_flag及び/又はabs_remainderがパースされてよく、前記シンタックスエレメントに基づいて前記レジデュアル係数が導出されてよい。この場合、前記シンタックスエレメントは順次にパースされてもよく、パーシング順序が変更されてもよい。また、前記abs_level_gtx_flagは、abs_level_gt1_flag、abs_level_gt3_flag、abs_level_gt5_flag、abs_level_gt7_flag及び/又はabs_level_gt9_flagを表すことができる。例えば、abs_level_gtx_flag[n][j]は、スキャニング位置nで変換係数の絶対値又はレベル(値)が(j<<1)+1よりも大きいか否かを示すフラグであってよい。前記(j<<1)+1は、場合によって、第1臨界値、第2臨界値などの所定の臨界値に代替されてもよい。
【0209】
一方、CABACは、高い性能を提供するが、処理量(throughput)性能がよくないという短所がある。これは、CABACの正規符号化エンジンに起因するものであり、正規符号化(すなわち、CABACの正規符号化エンジンを用いたエンコーディング)は、以前ビン(bin)の符号化によってアップデートされた確率状態と範囲を用いるため、高いデータ依存性を示し、確率区間を読んで現在状態を判断することに長い時間がかかることがある。CABACの処理量問題は、文脈符号化ビン(context-coded bin)の数を制限することによって解決できる。例えば、上記表2のように、sig_coeff_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flagを表現するために用いられたビンの和が、当該ブロックのサイズによる個数に制限されてよい。また、例えば、上記表3のように、sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flag、abs_level_gt5_flag、abs_level_gt7_flag、abs_level_gt9_flagを表現するために用いられたビンの和が、当該ブロックのサイズによる個数に制限されてよい。一例として、当該ブロックが4x4サイズのブロックである場合に、前記sig_coeff_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flag又はsig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flag、abs_level_gt5_flag、abs_level_gt7_flag、abs_level_gt9_flagに対するビンの和は、32個(又は、例えば28個)に制限されてよく、当該ブロックが2x2サイズのブロックである場合に、前記sig_coeff_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flagに対するビンの和は、8個(又は、例えば7個)に制限されてよい。前記ビンの制限された個数は、remBinsPass1又はRemCcbsで示すことができる。又は、一例として、より高いCABAC処理量のために、コンテクスト符号化ビン(context coded bin)の個数がコーディング対象CGを含むブロック(CB又はTB)に対して制限されてよい。言い換えると、コンテクスト符号化ビンの個数がブロック(CB又はTB)単位で制限されてよい。例えば、現在ブロックのサイズが16x16であれば、現在CGに関係なく、現在ブロックに対するコンテクスト符号化ビンの個数が前記現在ブロックのピクセル個数の1.75倍、すなわち、448個に制限されてよい。
【0210】
この場合、エンコーディング装置は、文脈要素の符号化に、制限された個数の文脈符号化ビンを全て使用した場合は、残りの係数を、コンテクストコーディングを用いずに後述の前記係数に対する二進化方法によって二進化し、バイパスコーディングを行うことができる。言い換えると、例えば、4x4 CGに対してコードされたコンテクスト符号化ビン(context coded bin)の数が32(又は、例えば28)、又は2x2 CGに対してコードされたコンテクスト符号化ビンの数が8(又は、例えば7)になる場合には、それ以上コンテクスト符号化ビンにコードされるsig_coeff_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flagはコードされなくてよく、直ちにdec_abs_levelにコードされてよい。又は、例えば、4x4ブロックに対してコードされたコンテクスト符号化ビン(context coded bin)の数が全体ブロックのピクセル個数の1.75倍、すなわち、28に制限される場合に、それ以上コンテクスト符号化ビンにコードされるsig_coeff_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flagはコードされなくてよく、後述の表5のように直ちにdec_abs_levelにコードされてよい。
【0211】
【表5】
【0212】
dec_abs_levelに基づいて|coeff|値が導出されてよい。この場合、変換係数値である|coeff|は、次式のように導出されてよい。
【0213】
【数6】
【0214】
また、前記coeff_sign_flagは、当該スキャニング位置(n)での変換係数レベルの符号(sign)を示すことができる。すなわち、前記coeff_sign_flagは、当該スキャニング位置(n)での変換係数の符号(sign)を示すことができる。
【0215】
図8は、4x4ブロック内変換係数の例示を示す図である。
【0216】
図8の4x4ブロックは、量子化された係数の一例を表す。図8に示すブロックは、4x4変換ブロックであるか、又は8x8、16x16、32x32、64x64変換ブロックの4x4サブブロックであってよい。図8の4x4ブロックは、ルマブロック又はクロマブロックを表すことができる。
【0217】
一方、上述の内容のように、エンコーディング装置は、入力信号が二進値でないシンタックスエレメントである場合には、前記入力信号の値を二進化(binarization)して入力信号を二進値に変換できる。また、デコーディング装置は、前記シンタックスエレメントをデコードし、前記シンタックスエレメントの二進化された値(すなわち、二進化されたビン)を導出することができ、前記二進化された値を逆二進化して前記シンタックスエレメントの値を導出することができる。前記二進化過程は、後述するトランケイテッドライス(Truncated Rice,TR)二進化プロセス(binarization process)、k次Exp-Golomb(k-th order Exp-Golomb,EGk)二進化プロセス(binarization process)、k次リミテッドExp-Golomb(Limited k-th order Exp-Golomb,Limited EGk)、又は固定長(Fixed-length,FL)二進化プロセス(binarization process)などで行われてよい。また、逆二進化過程は、前記TR二進化プロセス、前記EGk二進化プロセス又は前記FL二進化プロセスに基づいて行われて前記シンタックスエレメントの値を導出する過程を表すことができる。
【0218】
例えば、前記TR二進化プロセスは次のように行われてよい。
【0219】
前記TR二進化プロセスの入力(input)は、TR二進化に対する要請とシンタックスエレメントに対するcMax及びcRiceParamであってよい。また、前記TR二進化プロセスの出力(output)は、ビンストリングに対応する値symbolValに対するTR二進化であってよい。
【0220】
具体的に、一例として、シンタックスエレメントに対する接尾辞(suffix)ビンストリングが存在する場合には、前記シンタックスエレメントに対するTRビンストリングは、接頭辞(prefix)ビンストリングと接尾辞ビンストリングとの結合(concatenation)であってよく、前記接尾辞ビンストリングが存在しない場合には、前記シンタックスエレメントに対する前記TRビンストリングは前記接頭辞ビンストリングであってよい。例えば、前記接頭辞ビンストリングは後述のように導出されてよい。
【0221】
前記シンタックスエレメントに対する前記symbolValの接頭辞値(prefix value)は、次式のように導出されてよい。
【0222】
【数7】
【0223】
ここで、prefixValは、前記symbolValの接頭辞値を表すことができる。前記シンタックスエレメントの前記TRビンストリングの接頭辞(すなわち、接頭辞ビンストリング)は、後述のように導出されてよい。
【0224】
例えば、前記prefixValがcMax>>cRiceParamよりも小さな場合に、接頭辞ビンストリングは、binIdxによってインデクシングされる(indexed)長さprefixVal+1のビットストリング(bit string)であってよい。すなわち、前記prefixValがcMax>>cRiceParamよりも小さい場合に、前記接頭辞ビンストリングは、binIdxが示すprefixVal+1ビット数のビットストリングであってよい。prefixValよりも小さいbinIdxに対するビンは、1と同一であってよい。また、prefixValと同じbinIdxに対するビンは、0と同一であってよい。
【0225】
例えば、前記prefixValに対する単項二進化(unary binarization)で導出されるビンストリングは、次表の通りでよい。
【0226】
【表6】
【0227】
一方、前記prefixValがcMax>>cRiceParamよりも小さくない場合に、前記接頭辞ビンストリングは、長さがcMax>>cRiceParamであり、全てのビンが1であるビットストリングであってよい。
【0228】
また、cMaxがsymbolValよりも大きく、cRiceParamが0よりも大きい場合に、TRビンストリングの接尾辞ビンストリングが存在してよい。例えば、前記接尾辞ビンストリングは後述のように導出されてよい。
【0229】
前記シンタックスエレメントに対する前記symbolValの接尾辞値(suffix value)は、次式のように導出されてよい。
【0230】
【数8】
【0231】
ここで、suffixValは、前記symbolValの接尾辞値を表すことができる。
【0232】
TRビンストリングの接尾辞(すなわち、接尾辞ビンストリング)は、cMax値が(1<<cRiceParam)-1であるsuffixValに対するFL二進化プロセスに基づいて導出されてよい。
【0233】
一方、入力パラメータであるcRiceParamの値が0であれば、前記TR二進化は正確にトランケイテッド単項二進化(truncated unary binarization)であってよく、常にデコードされるシンタックスエレメントの可能な最大値と同じcMax値が用いられてよい。
【0234】
また、例えば、前記EGk二進化プロセスは、次のように行われてよい。ue(v)でコードされたシンタックスエレメントは、Exp-Golombコードされたシンタックスエレメントであってよい。
【0235】
一例として、0次Exp-Golomb(0-th order Exp-Golomb,EG0)二進化プロセスは、次のように行われてよい。
【0236】
前記シンタックスエレメントに対するパーシングプロセス(parsing process)は、ビットストリームの現在位置から始まって1番目のノンゼロ(non-zero)ビットを含むビットを読んで0のような先行ビット数を数えること(counting)から始まってよい。前記過程を次表のように表すことができる。
【0237】
【表7】
【0238】
また、変数codeNumは、次式のように導出されてよい。
【0239】
【数9】
【0240】
ここで、read_bits(leadingZeroBits)から返された値、すなわち、read_bits(leadingZeroBits)が示す値は、最初に記録された最も重要なビット(most significant bit)に対する符号なし整数(unsigned integer)の二進表現(binary representation)と解釈できる。
【0241】
ビットストリングを「接頭辞(prefix)」ビットと「接尾辞(suffix)」ビットとに分離したExp-Golombコードの構造は、次表のように表すことができる。
【0242】
【表8】
【0243】
「接頭辞」ビットは、leadingZeroBits計算のために上述の内容のようにパースされたビットであってよく、表8で、ビットストリングの0又は1で表示されてよい。すなわち、上記表8の0又は1で表示されたビットストリングは、接頭辞ビットストリングを表すことができる。「接尾辞」ビットは、codeNumの計算でパースされるビットであってよく、上記表8でxiで表示されてよい。すなわち、上記表8のxiで表示されたビットストリングは、接尾辞ビットストリングを表すことができる。ここで、iは、0からLeadingZeroBits-1の範囲の値であってよい。また、各xiは、0又は1と同一であってよい。
【0244】
前記codeNumに割り当てられるビットストリングは、次表の通りでよい。
【0245】
【表9】
【0246】
シンタックスエレメントのディスクリプタ(descriptor)がue(v)である場合に、すなわち、シンタックスエレメントがue(v)でコードされた場合に、前記シンタックスエレメントの値はcodeNumと同一であってよい。
【0247】
また、例えば、前記EGk二進化プロセスは次のように行われてよい。
【0248】
前記EGk二進化プロセスの入力(input)は、EGk二進化に対する要請であってよい。また、前記EGk二進化プロセスの出力(output)は、ビンストリングに対応する値symbolValに対するEGk二進化であってよい。
【0249】
symbolValに対するEGk二進化プロセスのビットストリングは、次のように導出されてよい。
【0250】
【表10】
【0251】
上記表10を参照すると、put(X)の各コール(each call)を用いて二進値Xをビンストリングの末尾に追加することができる。ここで、Xは0又は1であってよい。
【0252】
また、例えば、前記リミテッドEGk二進化プロセスは次のように行われてよい。
【0253】
前記リミテッドEGk二進化プロセスの入力(input)は、リミテッドEGk二進化に対する要請及びライスパラメータriceParam、最大値の二進対数を表す変数であるlog2TransformRange及び最大接頭辞拡張長を表す変数であるmaxPreExtLenであってよい。また、前記リミテッドEGk二進化プロセスの出力(output)は、ビンストリングに対応する値symbolValに対するリミテッドEGk二進化であってよい。
【0254】
symbolValに対するリミテッドEGk二進化プロセスのビットストリングは、次のように導出されてよい。
【0255】
【表11】
【0256】
また、例えば、前記FL二進化プロセスは次のように行われてよい。
【0257】
前記FL二進化プロセスの入力(input)は、FL二進化に対する要請及び前記シンタックスエレメントに対するcMaxであってよい。また、前記FL二進化プロセスの出力(output)は、ビンストリングに対応する値symbolValに対するFL二進化であってよい。
【0258】
FL二進化は、シンボル値symbolValの固定長であるビット数を有するビットストリングを用いて構成されてよい。ここで、前記固定長ビットは、符号ない整数ビットストリング(unsigned integer bit string)であってよい。すなわち、FL二進化によってシンボル値symbolValに対するビットストリングが導出されてよく、前記ビットストリングのビット長(すなわち、ビット数)は、固定長であってよい。
【0259】
例えば、前記固定長は、次式のように導出されてよい。
【0260】
【数10】
【0261】
FL二進化に対するビンのインデクシングは、最上位ビットから最下位ビットの順序で増加する値を使用する方式であってよい。例えば、前記最上位ビットと関連したビンインデックスは、binIdx=0であってよい。
【0262】
一方、例えば、前記レジデュアル情報のうちシンタックスエレメントabs_remainderに対する二進化プロセスは、次のように行われてよい。
【0263】
前記abs_remainderに対する二進化プロセスの入力は、シンタックスエレメントabs_remainder[n]の二進化に対する要請、色相成分(colour component)cIdx、ルマ位置(x0,y0)であってよい。前記ルマ位置(x0,y0)は、ピクチャーの左上端ルマサンプルを基準とする現在ルマ変換ブロックの左上端サンプルを示すことができる。
【0264】
前記abs_remainderに対する二進化プロセスの出力(output)は、前記abs_remainderの二進化(すなわち、前記abs_remainderの二進化されたビンストリング)であってよい。前記二進化プロセスによって前記abs_remainderに対する可用ビンストリングが導出されてよい。
【0265】
前記abs_remainder[n]に対するライスパラメータcRiceParamは、前記色相成分cIdx及びルマ位置(x0,y0)、現在係数スキャン位置(xC,yC)、変換ブロックの幅の二進対数であるlog2TbWidth、及び変換ブロックの高さの二進対数であるlog2TbHeightを入力として行われるライスパラメータ導出過程によって導出されてよい。前記ライスパラメータ導出過程に関する具体的な説明は後述する。
【0266】
また、例えば、現在コードされるabs_remainder[n]に対するcMaxは、前記ライスパラメータcRiceParamに基づいて導出されてよい。前記cMaxは次式のように導出されてよい。
【0267】
【数11】
【0268】
一方、前記abs_remainderに対する二進化、すなわち、前記abs_remainderに対するビンストリングは、接尾辞(suffix)ビンストリングが存在する場合には、接頭辞(prefix)ビンストリングと接尾辞ビンストリングとの結合(concatenation)であってよい。また、前記接尾辞ビンストリングが存在しない場合には、前記abs_remainderに対する前記ビンストリングは前記接頭辞ビンストリングであってよい。
【0269】
例えば、前記接頭辞ビンストリングは後述のように導出されてよい。
【0270】
前記abs_remainder[n]の接頭辞値(prefix value)prefixValは、次式のように導出されてよい。
【0271】
【数12】
【0272】
前記abs_remainder[n]の前記ビンストリングの接頭辞(すなわち、接頭辞ビンストリング)は、前記cMax及び前記cRiceParamを入力として用いる前記prefixValに対するTR二進化プロセスによって導出されてよい。
【0273】
前記接頭辞ビンストリングが、全てのビットが1であり、ビット長が6であるビットストリングと同一であれば、前記abs_remainder[n]の前記ビンストリングの接尾辞ビンストリングが存在してよく、後述のように導出されてよい。
【0274】
前記abs_remainder[n]に対するライスパラメータ導出過程は、次の通りでよい。
【0275】
前記ライスパラメータ導出過程の入力は、色相成分インデックス(colour component index)cIdx、ルマ位置(x0,y0)、現在係数スキャン位置(xC,yC)、変換ブロックの幅の二進対数(binary logarithm)であるlog2TbWidth及び変換ブロックの高さの二進対数インlog2TbHeightであってよい。前記ルマ位置(x0,y0)は、ピクチャーの左上端ルマサンプルを基準とする現在ルマ変換ブロックの左上端サンプルを示すことができる。また、前記ライスパラメータ導出過程の出力は、前記ライスパラメータcRiceParamであってよい。
【0276】
例えば、与えられたコンポーネントインデックスcIdx、前記左上端ルマ位置(x0,y0)を有する変換ブロックに対する配列AbsLevel[x][y]に基づき、変数locSumAbsは、次の表に表された疑似コード(pseudo code)のように導出されてよい。
【0277】
【表12】
【0278】
その後、与えられた変数locSumAbsに基づき、前記ライスパラメータcRiceParamは、次表のように導出されてよい。
【0279】
【表13】
【0280】
また、例えば、abs_remainder[n]に対するライスパラメータ導出過程においてbaseLevelは4に設定されてよい。
【0281】
又は、例えば、現在ブロックの変換をスキップするか否かに基づいて前記ライスパラメータcRiceParamが決定されてよい。すなわち、現在CGを含む現在TBに対し変換が適用されない場合に、言い換えると、前記現在CGを含む前記現在TBに対して変換スキップ(transform skip)が適用される場合に、前記ライスパラメータcRiceParamは1と導出されてよい。
【0282】
また、前記abs_remainderの接尾辞値(suffix value)suffixValは、次式のように導出されてよい。
【0283】
【数13】
【0284】
前記abs_remainderの前記ビンストリングの接尾辞ビンストリングは、kがcRiceParam+1に設定され、riceParamはcRiceParamに設定され、log2TransformRangeは15に設定され、maxPreExtLenは11に設定される前記suffixValに対するリミテッドEGk二進化プロセスによって導出されてよい。
【0285】
一方、例えば、前記レジデュアル情報のうちシンタックスエレメントdec_abs_levelに対する二進化プロセスは、次のように行われてよい。
【0286】
前記dec_abs_levelに対する二進化プロセスの入力は、シンタックスエレメントdec_abs_level[n]の二進化に対する要請、色相成分(colour component)cIdx、ルマ位置(x0,y0)、現在係数スキャン位置(xC,yC)、変換ブロックの幅の二進対数(binary logarithm)であるlog2TbWidth及び変換ブロックの高さの二進対数であるlog2TbHeightであってよい。前記ルマ位置(x0,y0)は、ピクチャーの左上端ルマサンプルを基準とする現在ルマ変換ブロックの左上端サンプルを示すことができる。
【0287】
前記dec_abs_levelに対する二進化プロセスの出力(output)は、前記dec_abs_levelの二進化(すなわち、前記dec_abs_levelの二進化されたビンストリング)であってよい。前記二進化プロセスによって前記dec_abs_levelに対する可用ビンストリングが導出されてよい。
【0288】
前記dec_abs_level[n]に対するライスパラメータcRiceParamは、前記色相成分cIdx及びルマ位置(x0,y0)、現在係数スキャン位置(xC,yC)、変換ブロックの幅の二進対数であるlog2TbWidth及び変換ブロックの高さの二進対数であるlog2TbHeightを入力として行われるライスパラメータ導出過程によって導出されてよい。前記ライスパラメータ導出過程に関する具体的な説明は後述する。
【0289】
また、例えば、前記dec_abs_level[n]に対するcMaxは、前記ライスパラメータcRiceParamに基づいて導出されてよい。前記cMaxは次式のように導出されてよい。
【0290】
【数14】
【0291】
一方、前記dec_abs_level[n]に対する二進化、すなわち、前記dec_abs_level[n]に対するビンストリングは、接尾辞(suffix)ビンストリングが存在する場合には、接頭辞(prefix)ビンストリングと接尾辞ビンストリングとの結合(concatenation)であってよい。また、前記接尾辞ビンストリングが存在しない場合には、前記dec_abs_level[n]に対する前記ビンストリングは前記接頭辞ビンストリングであってよい。
【0292】
例えば、前記接頭辞ビンストリングは後述のように導出されてよい。
【0293】
前記dec_abs_level[n]の接頭辞値(prefix value)prefixValは、次式のように導出されてよい。
【0294】
【数15】
【0295】
前記dec_abs_level[n]の前記ビンストリングの接頭辞(すなわち、接頭辞ビンストリング)は、前記cMax及び前記cRiceParamを入力として用いる前記prefixValに対するTR二進化プロセスによって導出されてよい。
【0296】
前記接頭辞ビンストリングが、全てのビットが1であり、ビット長が6であるビットストリングと同一であれば、前記dec_abs_level[n]の前記ビンストリングの接尾辞ビンストリングが存在してよく、後述のように導出されてよい。
【0297】
前記dec_abs_level[n]に対するライスパラメータ導出過程は、次の通りでよい。
【0298】
前記ライスパラメータ導出過程の入力は、色相成分インデックス(colour component index)cIdx、ルマ位置(x0,y0)、現在係数スキャン位置(xC,yC)、変換ブロックの幅の二進対数(binary logarithm)であるlog2TbWidth及び変換ブロックの高さの二進対数インlog2TbHeightであってよい。前記ルマ位置(x0,y0)は、ピクチャーの左上端ルマサンプルを基準とする現在ルマ変換ブロックの左上端サンプルを示すことができる。また、前記ライスパラメータ導出過程の出力は、前記ライスパラメータcRiceParamであってよい。
【0299】
例えば、与えられたコンポーネントインデックスcIdx、前記左上端ルマ位置(x0,y0)を有する変換ブロックに対する配列AbsLevel[x][y]に基づき、変数locSumAbsは、次の表に表された疑似コード(pseudo code)のように導出されてよい。
【0300】
【表14】
【0301】
その後、与えられた変数locSumAbsに基づき、前記ライスパラメータcRiceParamは次表のように導出されてよい。
【0302】
【表15】
【0303】
また、例えば、dec_abs_level[n]に対するライスパラメータ導出過程において、baseLevelは0に設定されてよく、前記ZeroPos[n]は次の数式のように導出されてよい。
【0304】
【数16】
【0305】
また、前記dec_abs_level[n]の接尾辞値(suffix value)suffixValは、次式のように導出されてよい。
【0306】
【数17】
【0307】
前記dec_abs_level[n]の前記ビンストリングの接尾辞ビンストリングは、kがcRiceParam+1に設定され、truncSuffixLenは15に設定され、maxPreExtLenは11に設定される前記suffixValに対するリミテッドEGk二進化プロセスによって導出されてよい。
【0308】
一方、上述したRRCとTSRCは、次のような相違を有し得る。
【0309】
- 例えば、TSRCにおいて、シンタックスエレメントabs_remainder[]に対するライスパラメータは1と導出されてよい。RRCにおいて、シンタックスエレメントabs_remainder[]のライスパラメータcRiceParamは、上述の内容のように、前記lastAbsRemainder及び前記lastRiceParamに基づいて導出されてよいが、TSRCにおけるシンタックスエレメントabs_remainder[]のライスパラメータcRiceParamは、1と導出されてよい。すなわち、例えば、現在ブロック(例えば、現在TB)に対して変換スキップ(transform skip)が適用される場合に、前記現在ブロックに対するTSRCのabs_remainder[]に対するライスパラメータcRiceParamは1と導出されてよい。
【0310】
- また、例えば、表3及び表4を参照すると、RRCではabs_level_gtx_flag[n][0]及び/又はabs_level_gtx_flag[n][1]がシグナルされてよいが、TSRCではabs_level_gtx_flag[n][0]、abs_level_gtx_flag[n][1]、abs_level_gtx_flag[n][2]、abs_level_gtx_flag[n][3]及びabs_level_gtx_flag[n][4]KAシグナルされてよい。ここで、前記abs_level_gtx_flag[n][0]は、abs_level_gt1_flag又は第1係数レベルフラグとして表すことができ、前記abs_level_gtx_flag[n][1]は、abs_level_gt3_flag又は第2係数レベルフラグとして表すことができ、前記abs_level_gtx_flag[n][2]は、abs_level_gt5_flag又は第3係数レベルフラグとして表すことができ、前記abs_level_gtx_flag[n][3]は、abs_level_gt7_flag又は第4係数レベルフラグとして表すことができ、前記abs_level_gtx_flag[n][4]は、abs_level_gt9_flag又は第5係数レベルフラグとして表すことができる。具体的には、前記第1係数レベルフラグは、係数レベルが第1臨界値(例えば、1)よりも大きいか否かに対するフラグ、前記第2係数レベルフラグは、係数レベルが第2臨界値(例えば、3)よりも大きいか否かに対するフラグ、前記第3係数レベルフラグは、係数レベルが第3臨界値(例えば、5)よりも大きいか否かに対するフラグ、前記第4係数レベルフラグは、係数レベルが第4臨界値(例えば、7)よりも大きいか否かに対するフラグ、前記第5係数レベルフラグは、係数レベルが第5臨界値(例えば、9)よりも大きいか否かに対するフラグであってよい。上述の内容のように、TSRCはRRCと比較して、abs_level_gtx_flag[n][0]、abs_level_gtx_flag[n][1]に加えて、abs_level_gtx_flag[n][2]、abs_level_gtx_flag[n][3]及びabs_level_gtx_flag[n][4]をさらに含むことができる。
【0311】
- また、例えば、RRCにおいてシンタックスエレメントcoeff_sign_flagはバイパスコードされてよいが、TSRCでは、シンタックスエレメントcoeff_sign_flagはバイパスコーディング又はコンテクストコードされてよい。
【0312】
また、レジデュアルサンプルの量子化過程に対して従属量子化(dependent quantization)を提案できる。従属量子化は、現在変換係数に対して許容される復元値セットが復元順序おいて現在変換係数よりも先行する変換係数の値(変換係数レベルの値)に依存する方式を表すことができる。すなわち、例えば、従属量子化(dependent quantization)は、(a)復元レベルが異なる2つのスカラー量子化器(scalar quantizer)を定義し、(b)これらのスカラー量子化器の間を転換するためのプロセスを定義することによって実現できる。前記従属量子化は、既存の独立スカラー量子化と比較して、許容される復元ベクトルがN次元ベクトル空間においてより密集する効果を有し得る。ここで、前記Nは変換ブロックの変換係数の数を表すことができる。
【0313】
図12には、従属量子化で用いられるスカラー量子化器を例示する。図12を参照すると、可用の復元レベルの位置は、量子化ステップサイズ△と指定されてよい。図12を参照すると、スカラー量子化器はQ0及びQ1と表すことができる。用いられるスカラー量子化器は、ビットストリームで明示的にシグナルされず、導出されてよい。例えば、現在変換係数に用いられる量子化器は、コーディング/復元順序において現在変換係数に先行する変換係数レベルのパリティによって決定されてよい。
【0314】
図13には、従属量子化のためのステート転換(state transition)及び量子化器選択を例示する。
【0315】
図13を参照すると、2つのスカラー量子化器(Q0及びQ1)間の転換は、4個の状態を持つ状態マシーン(state machine)によって実現されてよい。4つの状態は、4つの異なる値(0,1,2,3)を有することができる。コーディング/復元順序において現在変換係数以前の変換係数レベルのパリティによって現在変換係数に対する状態が決定されてよい。
【0316】
例えば、変換ブロックに対する逆量子化過程が始まる場合に、従属量子化のための状態は0に設定されてよい。その後、前記変換ブロックに対する変換係数は、スキャン順序(すなわち、エントロピーデコードされたのと同じ順序)で復元されてよい。例えば、現在変換係数が復元された後に、図13に示すように従属量子化のための状態がアップデートされてよい。前記スキャン順序において現在変換係数が復元された後に復元される変換係数に対する逆量子化過程は、アップデートされた状態に基づいて行われてよい。図13に示すkは、変換係数の値、すなわち、変換係数レベル値を表すことができる。例えば、現在状態が0である場合に、k(現在変換係数の値)&1が0であれば、状態は0にアップデートされてよく、k&1が1であれば、状態は2にアップデートされてよい。また、例えば、現在状態が1である場合に、k&1が0であれば、状態は2にアップデートされてよく、k&1が1であれば、状態は0にアップデートされてよい。また、例えば、現在状態が2である場合に、k&1が0であれば、状態は1にアップデートされてよく、k&1が1であれば、状態は3にアップデートされてよい。また、例えば、現在状態が3である場合に、k&1が0であれば、状態は3にアップデートされてよく、k&1が1であれば、状態は1にアップデートされてよい。図13を参照すると、状態が0及び1のいずれか一つである場合に、逆量子化過程に用いられるスカラー量子化器はQ0であってよく、状態が2及び3のいずれか一つである場合に、逆量子化過程に用いられるスカラー量子化器はQ1であってよい。変換係数は、現在状態に対するスカラー量子化器において変換係数の復元レベルに対する量子化パラメータに基づいて逆量子化されてよい。
【0317】
一方、本文書は、レジデュアルデータコーディングと関連した実施例を提案する。本文書で説明される実施例は互いに組み合わせられてもよい。上述したように、レジデュアルデータコーディング方法は、レギュラーレジデュアルコーディング(Regular Residual Coding,RRC)と変換スキップレジデュアルコーディング(Transform Skip Residual Coding,TSRC)を含むことができる。
【0318】
上述した2つの方法のうち、現在ブロックに対するレジデュアルデータコーディング方法は、表1に示すように、transform_skip_flagとsh_ts_residual_coding_disabled_flagの値に基づいて決定されてよい。ここで、シンタックスエレメントsh_ts_residual_coding_disabled_flagは、前記TSRCが可用であるか否かを示すことができる。したがって、前記transform_skip_flagが、変換スキップされることを示す場合にも、sh_ts_residual_coding_disabled_flagが前記TSRCが可用でないことを示すと、変換スキップブロックに対してRRCによるシンタックスエレメントがシグナルされてよい。すなわち、transform_skip_flagの値が0であるか、sh_ts_residual_coding_disabled_flagの値が1である場合に、RRCが用いられてよく、その他の場合にはTSRCが用いられてよい。
【0319】
前記slice_ts_residual_coding_disabled_flagを用いて特定応用(例えば、無損失コーディングなど)において高いコーディング効率を得ることができるが、既存のビデオ/映像コーディング標準では、上述した従属量子化(dependent quantization)と前記slice_ts_residual_coding_disabled_flagが共に用いられる場合に対する制約が提案されていない。すなわち、ハイレバル(例えば、SPS(sequence parameter set)シンタックス/VPS(video parameter set)シンタックス/DPS(Decoding parameter set)シンタックス/ピクチャーヘッダーシンタックス(picture header syntax)/スライスヘッダーシンタックス(slice header syntax)など)又はローレベル(CU/TU)において従属量子化が活性化され、前記slice_ts_residual_coding_disabled_flagが1である場合に、RRCにおける従属量子化の状態(state)に依存する値が不要な動作(すなわち、従属量子化による動作)をすることにより、コーディング性能が低下したり、エンコーディング装置での誤った設定によって意図せぬコーディング性能損失が起きたりすることがある。このため、本実施例では、従属量子化とslice_ts_residual_coding_disabled_flag=1である場合のレジデュアルコーディング(すなわち、現在スライス内の変換スキップブロックのレジデュアルサンプルをRRCでコーディング)が共に用いられ、意図せぬコーディング損失を招いたり誤動作したりすることを防止するために両技術間の従属性/制約を設定する方案を提案する。
【0320】
本文書は、一実施例として、slice_ts_residual_coding_disabled_flagがph_dep_quant_enabled_flagに従属する方法を提案する。例えば、本実施例で提案するシンタックスエレメントは、次表の通りでよい。
【0321】
【表16】
【0322】
本実施例によれば、前記slice_ts_residual_coding_disabled_flagは、前記ph_dep_quant_enabled_flagの値が0である場合にシグナルされてよい。ここで、前記ph_dep_quant_enabled_flagは、従属量子化が可用であるか否かを示すことができる。例えば、前記ph_dep_quant_enabled_flagの値が1である場合に、前記ph_dep_quant_enabled_flagは、従属量子化が可用であることを示すことができ、前記ph_dep_quant_enabled_flagの値が0である場合に、前記ph_dep_quant_enabled_flagは、従属量子化が可用でないことを示すことができる。
【0323】
したがって、本実施例によれば、前記従属量子化が可用でない場合にのみslice_ts_residual_coding_disabled_flagがシグナルされてよく、前記従属量子化が可用であり、前記slice_ts_residual_coding_disabled_flagがシグナルされない場合には、前記slice_ts_residual_coding_disabled_flagは0と見なされてよい(infer)。一方、前記ph_dep_quant_enabled_flag及び前記slice_ts_residual_coding_disabled_flagは、ピクチャーヘッダーシンタックス及び/又はスライスヘッダーシンタックスでシグナルされてよく、又はピクチャーヘッダーシンタックス及びスライスヘッダーシンタックス以外の他のハイレバルシンタックス(High Level Syntax,HLS)(例えば、SPSシンタックス/VPSシンタックス/DPSシンタックスなど)又はローレベル(CU/TU)でシグナルされてもよい。前記ph_dep_quant_enabled_flagが前記ピクチャーヘッダーシンタックス以外のシンタックスでシグナルされる場合には別の名称とされてよい。例えば、前記ph_dep_quant_enabled_flagは、sh_dep_quant_enabled_flag、sh_dep_quant_used_flag又はsps_dep_quant_enabled_flagと表すこともできる。
【0324】
また、本文書は、従属量子化とslice_ts_residual_coding_disabled_flag=1である場合のレジデュアルコーディング(すなわち、現在スライス内の変換スキップブロックのレジデュアルサンプルをRRCでコーディング)間の従属性/制約を設定する他の実施例を提案する。例えば、本実施例は、従属量子化とslice_ts_residual_coding_disabled_flag=1である場合のレジデュアルコーディング(すなわち、現在スライス内の変換スキップブロックのレジデュアルサンプルをRRCでコーディング)が共に用いられ、意図せぬコーディング損失を招いたり誤動作したりすることを防止するために、slice_ts_residual_coding_disabled_flagの値が1である場合に、変換係数のレベル値のコーディングにおいて前記従属量子化の状態(state)が用いられないようにする方案を提案する。本実施例によるレジデュアルコーディングシンタックスは、次表の通りでよい。
【0325】
【表17-1】
【0326】
【表17-2】
【0327】
【表17-3】
【0328】
【表17-4】
【0329】
【表17-5】
【0330】
【表17-6】
【0331】
上述した表17を参照すると、ph_dep_quant_enabled_flagの値が1であり、slice_ts_residual_coding_disabled_flagの値が0である場合に、QStateが導出されてよく、前記QStateに基づいて変換係数の値(変換係数レベル)が導出されてよい。例えば、表17を参照すると、前記変換係数レベルTransCoeffLevel[x0][y0][cIdx][xC][yC]は、(2*AbsLevel[xC][yC]-(QState>11:0))*(1-2*coeff_sign_flag[n])と導出されてよい。ここで、AbsLevel[xC][yC]は、変換係数のシンタックスエレメントに基づいて導出された変換係数の絶対値であり、coeff_sign_flag[n]は、変換係数の符号(sign)を示す符号フラグのシンタックスエレメントであり、(QState>1?1:0)は、状態QStateの値が1より大きければ、すなわち、状態QStateの値が2又は3であれば1、状態QStateの値が1以下であれば、すなわち、状態QStateの値が0又は1であれば0、を表すことができる。
【0332】
また、上述した表17を参照すると、slice_ts_residual_coding_disabled_flagの値が1である場合に、変換係数の値(変換係数レベル)は、前記QStateを用いずに導出されてよい。例えば、表17を参照すると、前記変換係数レベルTransCoeffLevel[x0][y0][cIdx][xC][yC]は、AbsLevel[xC][yC]*(1-2*coeff_sign_flag[n])と導出されてよい。ここで、AbsLevel[xC][yC]は、変換係数のシンタックスエレメントに基づいて導出された変換係数の絶対値であり、coeff_sign_flag[n]は、変換係数の符号(sign)を示す符号フラグのシンタックスエレメントであってよい。
【0333】
また、本実施例によれば、slice_ts_residual_coding_disabled_flagの値が1である場合に、変換係数のレベル値のコーディングにおいて前記従属量子化の状態(state)が用いられず、前記状態アップデートも行われなくてよい。例えば、本実施例によるレジデュアルコーディングシンタックスは、次表の通りでよい。
【0334】
【表18-1】
【0335】
【表18-2】
【0336】
【表18-3】
【0337】
【表18-4】
【0338】
【表18-5】
【0339】
【表18-6】
【0340】
上述した表18を参照すると、ph_dep_quant_enabled_flagの値が1であり、slice_ts_residual_coding_disabled_flagの値が0である場合に、QStateがアップデートされてよい。例えば、ph_dep_quant_enabled_flagの値が1であり、slice_ts_residual_coding_disabled_flagの値が0である場合に、QStateはQStateTransTable[QState][AbsLevelPass1[xC][yC]&1]又はQStateTransTable[QState][AbsLevel[xC][yC]&1]とアップデートされてよい。また、slice_ts_residual_coding_disabled_flagの値が1である場合に、QStateをアップデートする過程は行われなくてよい。
【0341】
また、上述した表18を参照すると、ph_dep_quant_enabled_flagの値が1であり、slice_ts_residual_coding_disabled_flagの値が0である場合に、前記QStateに基づいて変換係数の値(変換係数レベル)が導出されてよい。例えば、表18を参照すると、前記変換係数レベルTransCoeffLevel[x0][y0][cIdx][xC][yC]は、(2*AbsLevel[xC][yC]-(QState>11:0))*(1-2*coeff_sign_flag[n])と導出されてよい。ここで、AbsLevel[xC][yC]は、変換係数のシンタックスエレメントに基づいて導出された変換係数の絶対値であり、coeff_sign_flag[n]は、変換係数の符号(sign)を示す符号フラグのシンタックスエレメントであり、(QState>1?1:0)は、状態QStateの値が1より大きければ、すなわち、状態QStateの値が2又は3であれば、1、状態QStateの値が1以下であれば、すなわち、状態QStateの値が0又は1であれば0、を表すことができる。
【0342】
また、上述した表18を参照すると、slice_ts_residual_coding_disabled_flagの値が1である場合に、変換係数の値(変換係数レベル)は、前記QStateを用いずに導出されてよい。例えば、表18を参照すると、前記変換係数レベルTransCoeffLevel[x0][y0][cIdx][xC][yC]は、AbsLevel[xC][yC]*(1-2*coeff_sign_flag[n])と導出されてよい。ここで、AbsLevel[xC][yC]は、変換係数のシンタックスエレメントに基づいて導出された変換係数の絶対値であり、coeff_sign_flag[n]は、変換係数の符号(sign)を示す符号フラグのシンタックスエレメントであってよい。
【0343】
また、本文書は、従属量子化とslice_ts_residual_coding_disabled_flag=1である場合のレジデュアルコーディング(すなわち、現在スライス内の変換スキップブロックのレジデュアルサンプルをRRCでコーディング)間の従属性/制約を設定する他の実施例を提案する。例えば、本実施例は、RRCにおける従属量子化の状態(state)アップデート又は状態に依存して変換係数の値(変換係数レベル)を導出する過程にtransform_skip_flagを用いた制約を追加する方案を提案する。すなわち、本実施例は、前記transform_skip_flagに基づいてRRCにおける従属量子化の状態(state)アップデート及び/又は状態に依存して変換係数の値(変換係数レベル)を導出する過程が用いられないようにする方案を提案する。本実施例によるレジデュアルコーディングシンタックスは、次表の通りでよい。
【0344】
【表19-1】
【0345】
【表19-2】
【0346】
【表19-3】
【0347】
【表19-4】
【0348】
【表19-5】
【0349】
【表19-6】
【0350】
上述した表19を参照すると、ph_dep_quant_enabled_flagの値が1であり、transform_skip_flagの値が0である場合に、QStateがアップデートされてよい。例えば、ph_dep_quant_enabled_flagの値が1であり、transform_skip_flagの値が0である場合に、QStateは、QStateTransTable[QState][AbsLevelPass1[xC][yC]&1]又はQStateTransTable[QState][AbsLevel[xC][yC]&1]とアップデートされてよい。また、transform_skip_flagの値が1である場合に、QStateをアップデートする過程は行われなくてよい。
【0351】
また、上述した表19を参照すると、ph_dep_quant_enabled_flagの値が1であり、transform_skip_flagの値が0である場合に、QStateが導出されてよく、前記QStateに基づいて変換係数の値(変換係数レベル)が導出されてよい。例えば、表19を参照すると、前記変換係数レベルTransCoeffLevel[x0][y0][cIdx][xC][yC]は、(2*AbsLevel[xC][yC]-(QState>1?1:0))*(1-2*coeff_sign_flag[n])と導出されてよい。ここで、AbsLevel[xC][yC]は、変換係数のシンタックスエレメントに基づいて導出された変換係数の絶対値であり、coeff_sign_flag[n]は、変換係数の符号(sign)を示す符号フラグのシンタックスエレメントであり、(QState>1?1:0)は、状態QStateの値が1より大きければ、すなわち、状態QStateの値が2又は3であれば1、状態QStateの値が1以下であれば、すなわち、状態QStateの値が0又は1であれば0、を表すことができる。
【0352】
また、上述した表19を参照すると、transform_skip_flagの値が1である場合に、変換係数の値(変換係数レベル)は、前記QStateを用いずに導出されてよい。したがって、変換スキップブロックに対してRRCによるレジデュアルデータがコードされる場合には、Qstateを用いずに変換係数の値が導出されてよい。例えば、表19を参照すると、前記変換係数レベルTransCoeffLevel[x0][y0][cIdx][xC][yC]は、AbsLevel[xC][yC]*(1-2*coeff_sign_flag[n])と導出されてよい。ここで、AbsLevel[xC][yC]は、変換係数のシンタックスエレメントに基づいて導出された変換係数の絶対値であり、coeff_sign_flag[n]は、変換係数の符号(sign)を示す符号フラグのシンタックスエレメントであってよい。
【0353】
また、本文書は、上述したシンタックスエレメントsh_ts_residual_coding_disabled_flagのシグナリングと関連した様々な実施例は提案する。
【0354】
例えば、上述したように、sh_ts_residual_coding_disabled_flagは、TSRCが可用でないか否かを定義するシンタックスエレメントであるので、変換スキップブロックが用いられない場合にはシグナルされなくてもよい。すなわち、変換スキップブロックの用いられる否かに対するシンタックスエレメントが、変換スキップブロックが用いられることを示す場合にのみ、前記sh_ts_residual_coding_disabled_flagをシグナルすることが有意味であり得る。
【0355】
そこで、本文書は、sps_transform_skip_enabled_flagが1である場合にのみsh_ts_residual_coding_disabled_flagをシグナルする実施例を提案する。本実施例によるシンタックスは、次表のようである。
【0356】
【表20】
【0357】
表20を参照すると、sps_transform_skip_enabled_flagが1である場合に、sh_ts_residual_coding_disabled_flagがシグナルされてよく、sps_transform_skip_enabled_flagが0である場合に、sh_ts_residual_coding_disabled_flagがシグナルされなくてよい。ここで、例えば、前記sps_transform_skip_enabled_flagは、変換スキップブロックが用いられるか否かを示すことができる。すなわち、例えば、前記sps_transform_skip_enabled_flagは、変換スキップが可用であるか否かを示すことができる。例えば、前記sps_transform_skip_enabled_flagの値が1である場合に、前記sps_transform_skip_enabled_flagは、変換ユニットシンタックス(transform unit syntax)に変換スキップフラグ(transform_skip_flag)が存在し得ることを示すことができ、前記sps_transform_skip_enabled_flagの値が0である場合に、前記sps_transform_skip_enabled_flagは、変換ユニットシンタックスに変換スキップフラグが存在しないことを示すことができる。一方、sh_ts_residual_coding_disabled_flagがシグナルされない場合に、sh_ts_residual_coding_disabled_flagは0と見なされてよい(infer)。また、上述したsps_transform_skip_enabled_flagはSPSでシグナルされてよく、又はSPS以外の他のハイレバルシンタックス(VPS、PPS、ピクチャーヘッダーシンタックス、スライスヘッダーシンタックスなど)又はローレベルシンタックス(スライスデータシンタックス(slice data syntax)、コーディングユニットシンタックス(coding unit syntax)、変換ユニットシンタックス(tansform unit syntax)など)でシグナルされてよい。また、slice_ts_residual_coding_disabled_flagよりも先行してシグナルされてよい。
【0358】
また、本文書は、sh_ts_residual_coding_disabled_flagのシグナリングと関連して上述した実施例を組み合わせた実施例を提案する。例えば、次表のようにsh_ts_residual_coding_disabled_flagをシグナルする実施例が提案されてよい。
【0359】
【表21】
【0360】
表21を参照すると、sps_transform_skip_enabled_flagが1であるか又はph_dep_quant_enabled_flagが0である場合に、sh_ts_residual_coding_disabled_flagがシグナルされてよく、それ以外の場合には、sh_ts_residual_coding_disabled_flagがシグナルされなくてよい。一方、sh_ts_residual_coding_disabled_flagがシグナルされない場合に、sh_ts_residual_coding_disabled_flagは0と見なされてよい(infer)。
【0361】
又は、例えば、次表のようにsh_ts_residual_coding_disabled_flagをシグナルする実施例が提案されてよい。
【0362】
【表22】
【0363】
表22を参照すると、sh_ts_residual_coding_disabled_flagは、ピクチャーヘッダー(picture header)でシグナルされてよい。前記sh_ts_residual_coding_disabled_flagは、ph_ts_residual_coding_disabled_flagと表すことができる。また、表22を参照すると、ph_dep_quant_enabled_flagは、ピクチャーヘッダー(picture header)でシグナルされてよい。
【0364】
例えば、表22を参照すると、ph_dep_quant_enabled_flagが0であり、sps_transform_skip_enabled_flagが1である場合に、ph_ts_residual_coding_disabled_flagがシグナルされてよく、それ以外の場合には、ph_ts_residual_coding_disabled_flagがシグナルされなくてよい。一方、ph_ts_residual_coding_disabled_flagがシグナルされない場合に、ph_ts_residual_coding_disabled_flagは0と見なされてよい(infer)。
【0365】
一方、本文書の実施例で記述したシンタックスエレメントと関連して、既存のビデオ/映像コーディング標準では、前記ph_dep_quant_enabled_flagは、ピクチャーヘッダーシンタックスでシグナルされてよく、前記sh_ts_residual_coding_disabled_flagは、スライスヘッダーシンタックスでシグナルされてよい。これと関連して、本文書は、両シンタックスエレメントを同一のハイレバルシンタックス又はローレベルシンタックスでシグナルする実施例を提案する。
【0366】
例えば、前記ph_dep_quant_enabled_flag及び前記sh_ts_residual_coding_disabled_flagの両方ともピクチャーヘッダーシンタックスでシグナルされる実施例が提案されてよい。この場合、前記sh_ts_residual_coding_disabled_flagは、ph_ts_residual_coding_disabled_flagと呼ぶことができる。
【0367】
又は、例えば、前記ph_dep_quant_enabled_flag及び前記sh_ts_residual_coding_disabled_flagの両方ともスライスヘッダーシンタックスでシグナルされる実施例が提案されてよい。この場合、前記ph_dep_quant_enabled_flagは、sh_dep_quant_enabled_flag、sh_dep_quant_used_flag又はslice_dep_quant_enabled_flagなどと呼ぶことができる。
【0368】
又は、例えば、ph_dep_quant_enabled_flagとph_ts_residual_coding_disabled_flagの両方が同一のHLSでシグナルされるが、前記ph_ts_residual_coding_disabled_flagは、前記ph_dep_quant_enabled_flagの値が0である場合にのみシグナルされる実施例が提案されてよい。例えば、前記ph_dep_quant_enabled_flag及び前記ph_ts_residual_coding_disabled_flagがいずれもピクチャーヘッダーシンタックスでシグナルされる例は、次表の通りでよい。
【0369】
【表23】
【0370】
表23を参照すると、前記ph_dep_quant_enabled_flagは、ピクチャーヘッダーシンタックスでシグナルされてよく、前記ph_dep_quant_enabled_flagの値が0である場合に、前記ph_ts_residual_coding_disabled_flagはピクチャーヘッダーシンタックスでシグナルされてよく、前記ph_dep_quant_enabled_flagの値が1である場合に、前記ph_ts_residual_coding_disabled_flagはシグナルされなくてよい。例えば、前記ph_ts_residual_coding_disabled_flagがシグナルされない場合に、前記ph_ts_residual_coding_disabled_flagは0と見なされてよい(infer)。
【0371】
一方、上述した実施例一例として、前記ph_dep_quant_enabled_flag及び前記ph_ts_residual_coding_disabled_flagがピクチャーヘッダーシンタックス以外の他のハイレバルシンタックス(VPS、SPS、PPS、スライスヘッダーシンタックスなど)又はローレベルシンタックス(スライスデータシンタックス、コーディングユニットシンタックス、変換ユニットシンタックスなど)でシグナルされる例が提案されてよい。
【0372】
また、例えば、ph_ts_residual_coding_disabled_flagとph_dep_quant_enabled_flagの両方が同一のHLSでシグナルされるが、前記ph_dep_quant_enabled_flagは、前記ph_ts_residual_coding_disabled_flagの値が0である場合にのみシグナルされる実施例が提案されてよい。
【0373】
【表24】
【0374】
表24を参照すると、前記ph_ts_residual_coding_disabled_flagは、ピクチャーヘッダーシンタックスでシグナルされてよく、前記ph_ts_residual_coding_disabled_flagの値が0である場合に、前記ph_dep_quant_enabled_flagは、ピクチャーヘッダーシンタックスでシグナルされてよく、前記ph_ts_residual_coding_disabled_flagの値が1である場合に、前記ph_dep_quant_enabled_flagはシグナルされなくてよい。例えば、前記ph_dep_quant_enabled_flagがシグナルされない場合に、前記ph_dep_quant_enabled_flagは0と見なされてよい(infer)。
【0375】
一方、上述した実施例は、一例として、前記ph_ts_residual_coding_disabled_flag及び前記ph_dep_quant_enabled_flagがピクチャーヘッダーシンタックス以外の他のハイレバルシンタックス(VPS、SPS、PPS、スライスヘッダーシンタックスなど)又はローレベルシンタックス(スライスデータシンタックス、コーディングユニットシンタックス、変換ユニットシンタックスなど)でシグナルされる例が提案されてよい。
【0376】
また、例えば、上述した実施例を組み合わせた実施例が提案されてよい。例えば、ph_dep_quant_enabled_flagとph_ts_residual_coding_disabled_flagの両方が同一のHLSでシグナルされるが、前記ph_ts_residual_coding_disabled_flagは、前記ph_dep_quant_enabled_flagの値が0であるか又はsps_transform_skip_enabled_flagの値が1である場合にのみシグナルされる実施例が提案されてよい。
【0377】
【表25】
【0378】
表25を参照すると、前記ph_dep_quant_enabled_flagは、ピクチャーヘッダーシンタックスでシグナルされてよく、前記ph_dep_quant_enabled_flagの値が0であるか又は前記sps_transform_skip_enabled_flagの値が1である場合に、前記ph_ts_residual_coding_disabled_flagはピクチャーヘッダーシンタックスでシグナルされてよく、それ以外の場合には、前記ph_ts_residual_coding_disabled_flagはシグナルされなくてよい。ここで、例えば、前記sps_transform_skip_enabled_flagは、変換スキップブロックが用いられるか否かを示すことができる。すなわち、例えば、前記sps_transform_skip_enabled_flagは、変換スキップが可用であるか否かを示すことができる。例えば、前記sps_transform_skip_enabled_flagの値が1である場合に、前記sps_transform_skip_enabled_flagは、変換ユニットシンタックス(transform unit syntax)に変換スキップフラグ(transform_skip_flag)が存在し得ることを示すことができ、前記sps_transform_skip_enabled_flagの値が0である場合に、前記sps_transform_skip_enabled_flagは、変換ユニットシンタックスに変換スキップフラグが存在しないことを示すことができる。例えば、前記ph_ts_residual_coding_disabled_flagがシグナルされない場合に、前記ph_ts_residual_coding_disabled_flagは0と見なされてよい(infer)。
【0379】
また、例えば、ph_dep_quant_enabled_flagとph_ts_residual_coding_disabled_flagの両方が同一のHLS(例えば、スライスヘッダーシンタックスなど)でシグナルされるが、前記ph_ts_residual_coding_disabled_flagは、前記ph_dep_quant_enabled_flagの値が0であり、sps_transform_skip_enabled_flagの値が1である場合にのみシグナルされる実施例が提案されてよい。
【0380】
【表26】
【0381】
表26を参照すると、前記ph_dep_quant_enabled_flagは、ピクチャーヘッダーシンタックスでシグナルされてよく、前記ph_dep_quant_enabled_flagの値が0であり、前記sps_transform_skip_enabled_flagの値が1である場合に、前記ph_ts_residual_coding_disabled_flagはピクチャーヘッダーシンタックスでシグナルされてよく、それ以外の場合には、前記ph_ts_residual_coding_disabled_flagはシグナルされなくてよい。例えば、前記ph_ts_residual_coding_disabled_flagがシグナルされない場合に、前記ph_ts_residual_coding_disabled_flagは0と見なされてよい(infer)。
【0382】
また、例えば、ph_dep_quant_enabled_flagとph_ts_residual_coding_disabled_flagの両方が同一のHLSでシグナルされるが、前記ph_ts_residual_coding_disabled_flagは、前記sps_transform_skip_enabled_flagの値が1である場合にのみシグナルされ、前記ph_dep_quant_enabled_flagは、前記ph_ts_residual_coding_disabled_flagの値が0である場合にのみシグナルされる実施例が提案されてよい。
【0383】
【表27】
【0384】
表27を参照すると、前記sps_transform_skip_enabled_flagの値が1である場合に、前記ph_ts_residual_coding_disabled_flagはピクチャーヘッダーシンタックスでシグナルされてよく、前記ph_ts_residual_coding_disabled_flagの値が0である場合に、前記ph_dep_quant_enabled_flagは、ピクチャーヘッダーシンタックスでシグナルされてよい。例えば、前記sps_transform_skip_enabled_flagの値が0である場合に、前記ph_ts_residual_coding_disabled_flagはシグナルされなくてよい。例えば、前記ph_ts_residual_coding_disabled_flagがシグナルされない場合に、前記ph_ts_residual_coding_disabled_flagは0と見なされてよい(infer)。また、例えば、前記ph_ts_residual_coding_disabled_flagの値が1である場合に、前記ph_dep_quant_enabled_flagはシグナルされなくてよい。例えば、前記ph_dep_quant_enabled_flagがシグナルされない場合に、前記ph_dep_quant_enabled_flagは0と見なされてよい(infer)。
【0385】
一方、上述したように、本文書に開示のシンタックステーブル内情報(シンタックスエレメント)は、映像/ビデオ情報に含まれてよく、エンコーディング装置で構成/エンコードされてビットストリームの形態でデコーディング装置で伝達されてよい。デコーディング装置は、該当シンタックステーブル内情報(シンタックスエレメント)をパース/デコードすることができる。デコーディング装置は、デコードされた情報に基づいてブロック/映像/ビデオの復元手順を行うことができる。
【0386】
図14には、本文書に係るエンコーディング装置による映像エンコーディング方法を概略的に示す。図14に開示の方法は、図2で開示されたエンコーディング装置によって行われてよい。具体的に、例えば、図14のS1400は、前記エンコーディング装置の予測部によって行われてよく、図14のS1410は、前記エンコーディング装置のレジデュアル処理部によって行われてよく、図14のS1420乃至S1450は、前記エンコーディング装置のエントロピーエンコーディング部によって行われてよい。また、たとえ図示してはいないが、現在ブロックに対するレジデュアルサンプルと予測サンプルに基づいて前記現在ブロックに対する復元サンプル及び復元ピクチャーを生成する過程は、前記エンコーディング装置の加算部によって行われてよい。
【0387】
エンコーディング装置は、インター予測又はイントラ予測に基づいて現在ブロックの予測サンプルを導出する(S1400)。エンコーディング装置は、予測モードに基づいて前記現在ブロックの予測サンプルを導出することができる。この場合、インター予測又はイントラ予測など、本文書に開示の様々な予測方法が適用されてよい。
【0388】
例えば、エンコーディング装置は、現在ブロックにインター予測を行うか又はイントラ予測を行うかを決定でき、具体的なインター予測モード又は具体的なイントラ予測モードをRDコストベースで決定できる。決定されたモードによってエンコーディング装置は前記現在ブロックに対する予測サンプルを導出することができる。
【0389】
エンコーディング装置は、前記予測サンプルに基づいて前記現在ブロックのレジデュアルサンプルを導出する(S1410)。例えば、エンコーディング装置は、前記現在ブロックに対する原本サンプルと前記予測サンプルとの減算によって前記レジデュアルサンプルを導出することができる。
【0390】
エンコーディング装置は、前記現在ブロックに対する予測関連情報をエンコードする(S1420)。例えば、エンコーディング装置は、前記現在ブロックに対する予測関連情報を生成及びエンコードすることができる。前記予測関連情報は、前記現在ブロックの予測モードを示す予測モード情報を含むことができる。
【0391】
エンコーディング装置は、変換スキップ(transform skip)が可用であるか否かに対する変換スキップ可用フラグ、及び変換スキップレジデュアルコーディング(Transform Skip Residual Coding,TSRC)が可用であるか否かに対するTSRC可用フラグをエンコードする(S1430)。
【0392】
例えば、エンコーディング装置は、変換スキップ(transform skip)が可用であるか否かに対する変換スキップ可用フラグをエンコードすることができる。映像情報は変換スキップ可用フラグを含むことができる。例えば、エンコーディング装置は、シーケンス(sequence)内ピクチャーのブロックに対して変換スキップが可用であるか否かを決定でき、変換スキップ(transform skip)が可用であるか否かに対する変換スキップ可用フラグをエンコードすることができる。例えば、前記変換スキップ可用フラグは、変換スキップ(transform skip)が可用であるか否かに対するフラグであってよい。例えば、変換スキップ可用フラグは、変換スキップ(transform skip)が可用であるか否かを示すことができる。すなわち、例えば、変換スキップ可用フラグは、シーケンス(sequence)内ピクチャーのブロックに対して変換スキップが可用であるか否かを示すことができる。例えば、変換スキップ可用フラグは、変換スキップフラグが存在し得るか否かを示すことができる。例えば、値が1である前記変換スキップ可用フラグは、前記変換スキップが可用であることを示すことができ、値が0である前記変換スキップ可用フラグは、前記変換スキップが可用でないことを示すことができる。すなわち、例えば、値が1である前記変換スキップ可用フラグは、前記変換スキップフラグが存在し得ることを示すことができ、値が0である前記変換スキップ可用フラグは、前記変換スキップフラグが存在しないことを示すことができる。また、例えば、前記変換スキップ可用フラグはSPS(Sequence Parameter Set)シンタックスでシグナルされてよい。前記変換スキップ可用フラグのシンタックスエレメントは、上述したsps_transform_skip_enabled_flagであってよい。
【0393】
また、例えば、エンコーディング装置は、変換スキップレジデュアルコーディング(Transform Skip Residual Coding,TSRC)が可用であるか否かに対するTSRC可用フラグをエンコードすることができる。映像情報はTSRC可用フラグを含むことができる。
【0394】
例えば、エンコーディング装置は、前記変換スキップ可用フラグに基づいて前記TSRC可用フラグをエンコードすることができる。例えば、前記TSRC可用フラグは、値が1である前記変換スキップ可用フラグに基づいてエンコードされてよい。すなわち、例えば、前記変換スキップ可用フラグの値が1である場合(すなわち、前記変換スキップ可用フラグが変換スキップが可用であることを示す場合)に、前記TSRC可用フラグはエンコードされてよい。言い換えると、例えば、前記変換スキップ可用フラグの値が1である場合(すなわち、前記変換スキップ可用フラグが変換スキップが可用であることを示す場合)に、前記TSRC可用フラグはシグナルされてよい。また、例えば、前記変換スキップ可用フラグの値が0である場合に、前記TSRC可用フラグはエンコードされなくてよい。すなわち、例えば、前記変換スキップ可用フラグの値が0である場合に、前記TSRC可用フラグはシグナルされなくてよく、デコーディング装置で前記TSRC可用フラグの値は0と導出されてよい。
【0395】
ここで、例えば、前記TSRC可用フラグは、TSRCが可用であるか否かに対するフラグであってよい。すなわち、例えば、前記TSRC可用フラグは、スライス内ブロックに対してTSRCが可用であるか否かを示すフラグであってよい。例えば、値が1である前記TSRC可用フラグは、前記TSRCが可用でないことを示すことができ、値が0である前記TSRC可用フラグは、前記TSRCが可用であることを示すことができる。また、例えば、前記TSRC可用フラグは、スライスヘッダー(Slice Header)シンタックスでシグナルされてよい。前記変換スキップ可用フラグのシンタックスエレメントは、上述したsh_ts_residual_coding_disabled_flagであってよい。
【0396】
一方、例えば、エンコーディング装置は、現在ブロックに対して従属量子化が可用であるか否かを判断することができ、従属量子化が可用であるか否かに対する従属量子化可用フラグをエンコードすることができる。例えば、前記映像情報は、従属量子化可用フラグを含むことができる。例えば、前記従属量子化可用フラグは従属量子化が可用であるか否かに対するフラグであってよく、前記TSRC可用フラグは、前記変換スキップ可用フラグ及び前記従属量子化可用フラグに基づいてエンコードされてよい。例えば、前記TSRC可用フラグは、値が0である前記従属量子化可用フラグ及び値が1である前記変換スキップ可用フラグに基づいてエンコードされてよい。すなわち、例えば、前記従属量子化可用フラグの値が0であり(すなわち、前記従属量子化可用フラグが従属量子化が可用でないことを示し)、前記変換スキップ可用フラグの値が1である場合(すなわち、前記変換スキップ可用フラグが前記変換スキップが可用であることを示す場合)に、前記TSRC可用フラグはエンコード(又は、シグナル)されてよい。また、例えば、前記従属量子化可用フラグの値が1である場合に、前記TSRC可用フラグはエンコードされなくてよい。すなわち、例えば、前記従属量子化可用フラグの値が1である場合に、前記TSRC可用フラグはシグナルされなくてよく、デコーディング装置で前記TSRC可用フラグの値は0と導出されてよい。
【0397】
ここで、例えば、前記従属量子化可用フラグは、前記従属量子化が可用であるか否かに対するフラグであってよい。すなわち、例えば、前記従属量子化可用フラグは、前記従属量子化が可用であるか否かを示すことができる。例えば、値が1である前記従属量子化可用フラグは、前記従属量子化が可用であることを示すことができ、値が0である前記従属量子化可用フラグは、前記従属量子化が可用でないことを示すことができる。また、例えば、前記従属量子化可用フラグは、SPSシンタックス又はスライスヘッダーシンタックスなどでシグナルされてよい。前記従属量子化可用フラグのシンタックスエレメントは、上述したsps_dep_quant_enabled_flagであってよい。前記sps_dep_quant_enabled_flagは、sh_dep_quant_enabled_flag、sh_dep_quant_used_flag又はph_dep_quant_enabled_flagと呼ぶことができる。
【0398】
エンコーディング装置は、前記TSRC可用フラグに基づいて導出された前記レジデュアルサンプルに対するレジデュアルコーディングシンタックスのレジデュアル情報をエンコードする(S1440)。
【0399】
例えば、前記TSRC可用フラグに基づいて前記レジデュアルサンプルに対するレジデュアルコーディングシンタックスが導出されてよい。例えば、エンコーディング装置は、前記TSRC可用フラグに基づいて現在ブロックに対するレジデュアルコーディングシンタックスをレギュラーレジデュアルコーディング(Regular Residual Coding,RRC)シンタックス及び変換スキップレジデュアルコーディング(Tranform Skip Residual Coding,TSRC)シンタックスのうち一つと決定できる。RRCシンタックスはRRCによるシンタックスを表すことができ、TSRCシンタックスはTSRCによるシンタックスを表すことができる。
【0400】
例えば、値が1である前記TSRC可用フラグに基づいて、前記現在ブロックに対する前記レジデュアルコーディングシンタックスは、レギュラーレジデュアルコーディング(Regular Residual Coding,RRC)シンタックスと導出されてよい。この場合、例えば、値が1である前記変換スキップ可用フラグに基づいて、前記現在ブロックが変換スキップされるか否かに対する変換スキップフラグがエンコードされてよく、前記変換スキップフラグの値は1であってよい。例えば、前記映像情報は、前記現在ブロックに対する変換スキップフラグを含むことができる。前記変換スキップフラグは、前記現在ブロックが変換スキップされるか否かを示すことができる。すなわち、前記変換スキップフラグは、前記現在ブロックの変換係数に変換が適用されたか否かを示すことができる。前記変換スキップフラグを表すシンタックスエレメントは、上述したtransform_skip_flagであってよい。例えば、前記変換スキップフラグの値が1である場合に、前記変換スキップフラグは、前記現在ブロックに変換が適用されないこと(すなわち、変換スキップされること)を示すことができ、前記変換スキップフラグの値が0である場合に、前記変換スキップフラグは、前記現在ブロックに変換が適用されることを示すことができる。例えば、前記現在ブロックが変換スキップブロックである場合に、前記現在ブロックに対する変換スキップフラグの値が1であってよい。
【0401】
また、例えば、値が0である前記TSRC可用フラグに基づいて、前記現在ブロックに対する前記レジデュアルコーディングシンタックスは、変換スキップレジデュアルコーディング(Transform Skip Residual Coding,TSRC)シンタックスと導出されてよい。また、例えば、前記現在ブロックが変換スキップされるか否かに対する変換スキップフラグがエンコードされてよく、値が1である前記変換スキップフラグ及び値が0である前記TSRC可用フラグに基づいて、前記現在ブロックに対する前記レジデュアルコーディングシンタックスは、変換スキップレジデュアルコーディング(Transform Skip Residual Coding,TSRC)シンタックスと導出されてよい。また、例えば、前記現在ブロックが変換スキップされるか否かに対する変換スキップフラグがエンコードされてよく、値が0である前記変換スキップフラグ及び値が0である前記TSRC可用フラグに基づいて、前記現在ブロックに対する前記レジデュアルコーディングシンタックスはレギュラーレジデュアルコーディング(Regular Residual Coding,RRC)シンタックスと導出されてよい。
【0402】
その後、例えば、エンコーディング装置は、前記現在ブロックの前記レジデュアルサンプルに対する前記導出されたレジデュアルコーディングシンタックスのレジデュアル情報をエンコードすることができる。前記映像情報はレジデュアル情報を含むことができる。
【0403】
例えば、エンコーディング装置は、前記現在ブロックのレジデュアルサンプルに基づいて前記現在ブロックの変換係数を導出することができる。例えば、エンコーディング装置は、前記現在ブロックに対して変換が適用されるか否かを決定できる。すなわち、エンコーディング装置は、前記現在ブロックの前記レジデュアルサンプルに対して変換が適用されるか否かを決定できる。エンコーディング装置は、コーディング効率を考慮して前記現在ブロックに対する変換適用の有無を決定できる。例えば、エンコーディング装置は、前記現在ブロックに対して変換が適用されないと決定できる。前記変換が適用されないブロックは変換スキップブロックと表すことができる。すなわち、例えば、前記現在ブロックは変換スキップブロックであってよい。
【0404】
前記現在ブロックに対して変換が適用されない場合に、すなわち、前記レジデュアルサンプルに対して変換が適用されない場合に、エンコーディング装置は、前記導出されたレジデュアルサンプルを前記現在変換係数と導出することができる。また、前記現在ブロックに対して変換が適用される場合に、すなわち、前記レジデュアルサンプルに対して変換が適用される場合に、エンコーディング装置は、前記レジデュアルサンプルに対する変換を行って前記変換係数を導出することができる。前記現在ブロックは複数のサブブロック又は係数グループ(Coefficient Group,CG)を含むことができる。また、前記現在ブロックのサブブロックのサイズは、4x4サイズ又は2x2サイズであってよい。すなわち、前記現在ブロックの前記サブブロックは、最大で16個のノン-ゼロ(non-zero)変換係数又は最大で4個のノン-ゼロ変換係数を含むことができる。ここで、前記現在ブロックは、コーディングブロック(Coding Block,CB)又は変換ブロック(Transform Block,TB)であってよい。また、変換係数(transform coefficient)は、レジデュアル係数(residual coefficient)と表すこともできる。
【0405】
一方、エンコーディング装置は、前記現在ブロックに対して従属量子化が適用されるか否かを決定できる。例えば、前記現在ブロックに対して前記従属量子化が適用される場合に、エンコーディング装置は、前記変換係数に対する前記従属量子化過程を行って前記現在ブロックの前記変換係数を導出することができる。例えば、前記現在ブロックに対して前記従属量子化が適用される場合に、エンコーディング装置は、従属量子化に対する状態(Qstate)を、スキャニング順序において現在変換係数直前の変換係数の係数レベルに基づいてアップデートでき、前記アップデートされた状態及び前記現在変換係数に対するシンタックスエレメントに基づいて前記現在変換係数の係数レベルを導出することができ、前記導出された係数レベルを量子化して現在変換係数を導出することができる。例えば、前記現在変換係数は、前記アップデートされた状態に対するスカラー量子化器において前記現在変換係数の復元レベルに対する量子化パラメータに基づいて量子化されてよい。
【0406】
例えば、前記現在ブロックに対する前記レジデュアルコーディングシンタックスが前記RRCシンタックスと導出された場合に、エンコーディング装置は、前記現在ブロックに対する前記RRCシンタックスのレジデュアル情報をエンコードすることができる。例えば、前記RRCシンタックスの前記レジデュアル情報は、上述した表2に開示されたシンタックスエレメントを含むことができる。
【0407】
例えば、前記RRCシンタックスの前記レジデュアル情報は、現在ブロックの変換係数に対するシンタックスエレメントを含むことができる。ここで、変換係数(transform coefficient)は、レジデュアル係数(residual coefficient)と表すこともできる。
【0408】
例えば、前記シンタックスエレメントは、last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix、last_sig_coeff_y_suffix、sb_coded_flag、sig_coeff_flag、par_level_flag、abs_level_gtX_flag(例えば、abs_level_gtx_flag[n][0]及び/又はabs_level_gtx_flag[n][1])、abs_remainder、dec_abs_level、及び/又はcoeff_sign_flagなどのシンタックスエレメント(syntax elements)を含むことができる。
【0409】
具体的に、例えば、前記シンタックスエレメントは、前記現在ブロックのレジデュアル係数配列(array)において最後のノン-ゼロ(non-zero)変換係数の位置を示す位置情報を含むことができる。すなわち、前記シンタックスエレメントは、前記現在ブロックのスキャニング順序(scanning order)における最後のノン-ゼロ(non-zero)変換係数の位置を示す位置情報を含むことができる。前記位置情報は、前記最後のノン-ゼロ変換係数の列位置(column position)のプレフィックス(prefix)を示す情報、前記最後のノン-ゼロ変換係数の行位置(row position)のプレフィックス(prefix)を示す情報、前記最後のノン-ゼロ変換係数の列位置(column position)のサフィックス(suffix)を示す情報、前記最後のノン-ゼロ変換係数の行位置(row position)のサフィックス(suffix)を示す情報を含むことができる。前記位置情報に対するシンタックスエレメントは、last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix、last_sig_coeff_y_suffixであっよい。一方、ノン-ゼロ変換係数は、有効係数(significant coefficient)と呼ぶこともできる。
【0410】
また、例えば、前記シンタックスエレメントは、前記現在ブロックの現在サブブロックがノン-ゼロ変換係数を含むか否かを示すコーデッドサブブロックフラグ、前記現在ブロックの変換係数がノン-ゼロ(non-zero)変換係数であるか否かを示す有効係数フラグ、前記変換係数に対する係数レベルが第1臨界値よりも大きいか否かに対する第1係数レベルフラグ、前記係数レベルのパリティ(parity)に対するパリティレベルフラグ、及び/又は前記変換係数の前記係数レベルが第2臨界値よりも大きいか否かに対する第2係数レベルフラグを含むことができる。ここで、前記コーデッドサブブロックフラグはsb_coded_flag又はcoded_sub_block_flagであってよく、前記有効係数フラグはsig_coeff_flagであってよく、前記第1係数レベルフラグはabs_level_gt1_flag又はabs_level_gtx_flagであってよく、前記パリティレベルフラグはpar_level_flagであってよく、前記第2係数レベルフラグはabs_level_gt3_flag又はabs_level_gtx_flagであってよい。
【0411】
また、例えば、前記シンタックスエレメントは、前記現在ブロックの変換係数の値に対する係数値関連情報を含むことができる。前記係数値関連情報はabs_remainder及び/又はdec_abs_levelであってよい。
【0412】
また、例えば、前記シンタックスエレメントは、前記変換係数の符号(sign)を示すサインフラグを含むことができる。前記サインフラグはcoeff_sign_flagであってよい。
【0413】
例えば、前記現在ブロックに対する前記レジデュアルコーディングシンタックスが前記TSRCシンタックスと導出された場合に、エンコーディング装置は、前記現在ブロックに対する前記TSRCシンタックスのレジデュアル情報をエンコードすることができる。例えば、前記TSRCシンタックスの前記レジデュアル情報は、上述した表3に開示されたシンタックスエレメントを含むことができる。
【0414】
例えば、前記TSRCシンタックスの前記レジデュアル情報は、現在ブロックの変換係数に対するシンタックスエレメントを含むことができる。ここで、変換係数(transform coefficient)は、レジデュアル係数(residual coefficient)と表すこともできる。
【0415】
例えば、前記シンタックスエレメントは、変換係数に対するコンテクストコードされたシンタックスエレメント及び/又はバイパスコードされたシンタックスエレメントを含むことができる。前記シンタックスエレメントは、sig_coeff_flag、coeff_sign_flag、par_level_flag、abs_level_gtX_flag(例えば、abs_level_gtx_flag[n][0]、abs_level_gtx_flag[n][1]、abs_level_gtx_flag[n][2]、abs_level_gtx_flag[n][3]及び/又はabs_level_gtx_flag[n][4])、abs_remainder及び/又はcoeff_sign_flagなどのシンタックスエレメント(syntax elements)を含むことができる。
【0416】
例えば、前記変換係数に対するコンテクストコードされた前記シンタックスエレメントは、前記変換係数がノン-ゼロ(non-zero)変換係数であるか否かを示す有効係数フラグ、前記変換係数に対する符号(sign)を示すサインフラグ、前記変換係数に対する係数レベルが第1臨界値よりも大きいか否かに対する第1係数レベルフラグ及び/又は前記変換係数に対する係数レベルのパリティ(parity)に対するパリティレベルフラグを含むことができる。また、例えば、前記コンテクストコードされたシンタックスエレメントは、前記変換係数の前記係数レベルが第2臨界値よりも大きいか否かに対する第2係数レベルフラグ、前記変換係数の前記係数レベルが第3臨界値よりも大きいか否かに対する第3係数レベルフラグ、前記変換係数の前記係数レベルが第4臨界値よりも大きいか否かに対する第4係数レベルフラグ、及び/又は前記変換係数の前記係数レベルが第5臨界値よりも大きいか否かに対する第5係数レベルフラグを含むことができる。ここで、前記有効係数フラグはsig_coeff_flagであってよく、前記サインフラグはceff_sign_flagであってよく、前記第1係数レベルフラグはabs_level_gt1_flagであってよく、前記パリティレベルフラグはpar_level_flagであってよい。また、前記第2係数レベルフラグはabs_level_gt3_flag又はabs_level_gtx_flagであってよく、前記第3係数レベルフラグはabs_level_gt5_flag又はabs_level_gtx_flagであってよく、前記第4係数レベルフラグはabs_level_gt7_flag又はabs_level_gtx_flagであってよく、前記第5係数レベルフラグはabs_level_gt9_flag又はabs_level_gtx_flagであってよい。
【0417】
また、例えば、前記変換係数に対するバイパスコードされた前記シンタックスエレメントは、前記変換係数の値(又は、係数レベル)に対する係数レベル情報及び/又は前記変換係数に対する符号(sign)を示すサインフラグを含むことができる。前記係数レベル情報はabs_remainder及び/又はdec_abs_levelであってよく、前記サインフラグはceff_sign_flagであってよい。
【0418】
エンコーディング装置は、前記予測関連情報、前記変換スキップ可用フラグ、前記TSRC可用フラグ及び前記レジデュアル情報を含むビットストリームを生成する(S1450)。例えば、エンコーディング装置は、前記予測関連情報、前記変換スキップ可用フラグ、前記TSRC可用フラグ及び前記レジデュアル情報を含む映像情報をビットストリームとして出力できる。前記ビットストリームは、前記予測関連情報、前記変換スキップ可用フラグ、前記TSRC可用フラグ及び前記レジデュアル情報を含むことができる。
【0419】
一方、前記ビットストリームは、ネットワーク又は(デジタル)記憶媒体を介してデコーディング装置に伝送されてよい。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル記憶媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなどの様々な記憶媒体を含むことができる。
【0420】
図15には、本文書に係る映像エンコーディング方法を行うエンコーディング装置を概略的に示す。図14に開示の方法は、図15で開示されたエンコーディング装置によって行われてよい。具体的に、例えば、図15の前記エンコーディング装置の予測部は、図14のS1400を行うことができ、図15の前記エンコーディング装置のレジデュアル処理部は、図14のS1410を行うことができ、図15の前記エンコーディング装置のエントロピーエンコーディング部は、図14のS1420~S1450を行うことができる。また、たとえ図示してはいないが、前記現在ブロックに対するレジデュアルサンプルと予測サンプルに基づいて前記現在ブロックに対する復元サンプル及び復元ピクチャーを生成する過程は、前記エンコーディング装置の加算部によって行われてよい。
【0421】
図16には、本文書に係るデコーディング装置による映像デコーディング方法を概略的に示す。図10に開示の方法は、図3で開示されたデコーディング装置によって行われてよい。具体的に、例えば、図10のS1000~S1030は、前記デコーディング装置のエントロピーデコーディング部によって行われてよく、図10のS1040は、前記デコーディング装置のレジデュアル処理部によって行われてよく、S1050は、前記デコーディング装置の加算部によって行われてよい。また、たとえ図示してはいないが、現在ブロックに対する予測情報を受信する過程は、前記デコーディング装置のエントロピーデコーディング部によって行われてよく、現在ブロックの予測サンプルを導出する過程は、前記デコーディング装置の予測部によって行われてよい。
【0422】
デコーディング装置は、変換スキップ可用フラグを取得する(S1600)。デコーディング装置は、ビットストリームを用いて、前記変換スキップ可用フラグを含む映像情報を取得できる。映像情報は、前記変換スキップ可用フラグを含むことができる。ここで、前記現在ブロックは、コーディングブロック(Coding Block,CB)又は変換ブロック(Transform Block,TB)であってよい。例えば、前記変換スキップ可用フラグは、変換スキップ(transform skip)が可用であるか否かに対するフラグであってよい。例えば、変換スキップ可用フラグは、変換スキップ(transform skip)が可用であるか否かを示すことができる。すなわち、例えば、変換スキップ可用フラグは、シーケンス(sequence)内ピクチャーのブロックに対して変換スキップが可用であるか否かを示すことができる。例えば、変換スキップ可用フラグは、変換スキップフラグが存在し得るか否かを示すことができる。例えば、値が1である前記変換スキップ可用フラグは、前記変換スキップが可用であることを示すことができ、値が0である前記変換スキップ可用フラグは、前記変換スキップが可用でないことを示すことができる。すなわち、例えば、値が1である前記変換スキップ可用フラグは、前記変換スキップフラグが存在し得ることを示すことができ、値が0である前記変換スキップ可用フラグは、前記変換スキップフラグが存在しないことを示すことができる。また、例えば、前記変換スキップ可用フラグはSPS(Sequence Parameter Set)シンタックスでシグナルされてよい。前記変換スキップ可用フラグのシンタックスエレメントは、上述したsps_transform_skip_enabled_flagであってよい。
【0423】
デコーディング装置は、前記変換スキップ可用フラグに基づいて変換スキップレジデュアルコーディング(Transform Skip Residual Coding,TSRC)可用フラグを取得する(S1610)。映像情報はTSRC可用フラグを含むことができる。
【0424】
例えば、デコーディング装置は、前記変換スキップ可用フラグに基づいて前記TSRC可用フラグを取得できる。例えば、前記TSRC可用フラグは、値が1である前記変換スキップ可用フラグに基づいて取得できる。すなわち、例えば、前記変換スキップ可用フラグの値が1である場合(すなわち、前記変換スキップ可用フラグが、変換スキップが可用であることを示す場合)に、前記TSRC可用フラグは取得されてよい。言い換えると、例えば、前記変換スキップ可用フラグの値が1である場合(すなわち、前記変換スキップ可用フラグが、変換スキップが可用であることを示す場合)に、前記TSRC可用フラグはシグナルされてよい。また、例えば、前記変換スキップ可用フラグの値が0である場合に、前記TSRC可用フラグは取得されなくてよく、前記TSRC可用フラグの値は0と導出されてよい。すなわち、例えば、前記変換スキップ可用フラグの値が0である場合に、前記TSRC可用フラグはシグナルされなくてよく、前記TSRC可用フラグの値は0と導出されてよい。
【0425】
ここで、例えば、前記TSRC可用フラグは、TSRCが可用であるか否かに対するフラグであってよい。すなわち、例えば、前記TSRC可用フラグは、スライス内ブロックに対してTSRCが可用であるか否かを示すフラグであってよい。例えば、値が1である前記TSRC可用フラグは、前記TSRCが可用でないことを示すことができ、値が0である前記TSRC可用フラグは、前記TSRCが可用であることを示すことができる。また、例えば、前記TSRC可用フラグはスライスヘッダー(Slice Header)シンタックスでシグナルされてよい。前記変換スキップ可用フラグのシンタックスエレメントは、上述したsh_ts_residual_coding_disabled_flagであってよい。
【0426】
一方、例えば、デコーディング装置は、従属量子化可用フラグを取得することができる。例えば、前記映像情報は従属量子化可用フラグを含むことができる。例えば、前記従属量子化可用フラグは、従属量子化が可用であるか否かに対するフラグであってよく、前記TSRC可用フラグは、前記変換スキップ可用フラグ及び前記従属量子化可用フラグに基づいて取得されてよい。例えば、前記TSRC可用フラグは、値が0である前記従属量子化可用フラグ及び値が1である前記変換スキップ可用フラグに基づいて取得されてよい。すなわち、例えば、前記従属量子化可用フラグの値が0であり(すなわち、前記従属量子化可用フラグが、従属量子化が可用でないことを示し)、前記変換スキップ可用フラグの値が1である場合(すなわち、前記変換スキップ可用フラグが、前記変換スキップが可用であることを示す場合)に、前記TSRC可用フラグは取得(又は、シグナリング)されてよい。また、例えば、前記従属量子化可用フラグの値が1である場合に、前記TSRC可用フラグは取得されなくてよく、前記TSRC可用フラグの値は0と導出されてよい。すなわち、例えば、前記従属量子化可用フラグの値が1である場合に、前記TSRC可用フラグはシグナルされなくてよく、前記TSRC可用フラグの値は0と導出されてよい。
【0427】
ここで、例えば、前記従属量子化可用フラグは、前記従属量子化が可用であるか否かに対するフラグであってよい。すなわち、例えば、前記従属量子化可用フラグは、前記従属量子化が可用であるか否かを示すことができる。例えば、値が1である前記従属量子化可用フラグは、前記従属量子化が可用であることを示すことができ、値が0である前記従属量子化可用フラグは、前記従属量子化が可用でないことを示すことができる。また、例えば、前記従属量子化可用フラグはSPSシンタックス又はスライスヘッダーシンタックスなどでシグナルされてよい。前記従属量子化可用フラグのシンタックスエレメントは、上述したsps_dep_quant_enabled_flagであってよい。前記sps_dep_quant_enabled_flagは、sh_dep_quant_enabled_flag、sh_dep_quant_used_flag又はph_dep_quant_enabled_flagと呼ぶことができる。
【0428】
デコーディング装置は、現在ブロックに対する予測関連情報を取得する(S1620)。デコーディング装置は、ビットストリームを用いて前記現在ブロックに対する予測関連情報を取得することができる。例えば、前記映像情報は、現在ブロックに対する予測関連情報を含むことができる。例えば、前記予測関連情報は、前記現在ブロックに対する予測モード情報を含むことができる。前記予測モード情報は、前記現在ブロックにインター予測が適用されるかそれともイントラ予測が適用されるかを示すことができる。
【0429】
デコーディング装置は、前記予測関連情報に基づいて前記現在ブロックの予測サンプルを導出する(S1630)。デコーディング装置は、前記予測関連情報に基づいて、前記現在ブロックにインター予測が適用されるかそれともイントラ予測が適用されるかを判断することができ、これに基づいて予測を行うことができる。
【0430】
例えば、デコーディング装置は、前記予測関連情報に基づいて前記現在ブロックに適用される予測モードを導出することができ、前記予測モードに基づいて前記現在ブロックの予測サンプルを導出することができる。例えば、前記現在ブロックにインター予測が適用される場合に、デコーディング装置は、前記予測関連情報に基づいて前記現在ブロックの動き情報を導出することができ、前記動き情報に基づいて前記現在ブロックの前記予測サンプルを導出することができる。また、例えば、前記現在ブロックにイントラ予測が適用される場合に、デコーディング装置は、前記現在ブロックの周辺サンプルに基づいて参照サンプルを導出することができ、前記参照サンプル及び前記現在ブロックのイントラ予測モードに基づいて前記現在ブロックの前記予測サンプルを導出することができる。前記参照サンプルは、前記現在ブロックの上側参照サンプル及び左側参照サンプルを含むことができる。例えば、前記現在ブロックのサイズがNxNであり、前記現在ブロックの左上端(top-left)サンプルポジションのx成分が0及びy成分が0である場合に、前記左側参照サンプルは、p[-1][0]~p[-1][2N-1]、前記上側参照サンプルはp[0][-1]~p[2N-1][-1]であってよい。
【0431】
デコーディング装置は、前記TSRC可用フラグに基づいて導出された前記現在ブロックに対するレジデュアルコーディングシンタックスのレジデュアル情報を取得する(S1640)。例えば、デコーディング装置は、前記TSRC可用フラグに基づいて導出された現在ブロックに対するレジデュアルコーディングシンタックスのレジデュアル情報を取得できる。前記映像情報はレジデュアル情報を含むことができる。例えば、デコーディング装置は、前記TSRC可用フラグに基づいて現在ブロックに対するレジデュアルコーディングシンタックスを導出することができる。例えば、デコーディング装置は、前記TSRC可用フラグに基づいて、現在ブロックに対するレジデュアルコーディングシンタックスをレギュラーレジデュアルコーディング(Regular Residual Coding,RRC)シンタックス及び変換スキップレジデュアルコーディング(Tranform Skip Residual Coding,TSRC)シンタックスのうち一つと導出することができる。RRCシンタックスはRRCによるシンタックスを表すことができ、TSRCシンタックスはTSRCによるシンタックスを表すことができる。
【0432】
例えば、値が1である前記TSRC可用フラグに基づいて、前記現在ブロックに対する前記レジデュアルコーディングシンタックスはレギュラーレジデュアルコーディング(Regular Residual Coding,RRC)シンタックスと導出されてよい。この場合、前記レジデュアル情報は、前記RRCシンタックスのレジデュアル情報であってよい。すなわち、デコーディング装置は、前記現在ブロックに対する前記RRCシンタックスのレジデュアル情報を取得することができる。例えば、前記現在ブロックは変換スキップブロックであり、前記TSRC可用フラグの値が1である場合に、前記レジデュアル情報はレギュラーレジデュアルコーディング(Regular Residual Coding,RRC)シンタックスのレジデュアル情報であってよい。この場合、例えば、前記現在ブロックが変換スキップされるか否かに対する変換スキップフラグが取得されてよく、前記変換スキップフラグの値は1であってよい。例えば、前記映像情報は前記現在ブロックに対する変換スキップフラグを含むことができる。前記変換スキップフラグは、前記現在ブロックが変換スキップされるか否かを示すことができる。すなわち、前記変換スキップフラグは、前記現在ブロックの変換係数に変換が適用されたか否かを示すことができる。前記変換スキップフラグを示すシンタックスエレメントは、上述したtransform_skip_flagであってよい。例えば、前記変換スキップフラグの値が1である場合に、前記変換スキップフラグは、前記現在ブロックに変換が適用されないこと(すなわち、変換スキップされること)を示すことができ、前記変換スキップフラグの値が0である場合に、前記変換スキップフラグは、前記現在ブロックに変換が適用されることを示すことができる。例えば、前記現在ブロックが変換スキップブロックである場合に、前記現在ブロックに対する変換スキップフラグの値が1であってよい。一方、前記変換スキップフラグは前記変換スキップ可用フラグの値が1である場合に取得されてよい。
【0433】
例えば、前記RRCシンタックスの前記レジデュアル情報は、上述した表2に開示されたシンタックスエレメントを含むことができる。例えば、前記RRCシンタックスの前記レジデュアル情報は、現在ブロックの変換係数に対するシンタックスエレメントを含むことができる。ここで、変換係数(transform coefficient)は、レジデュアル係数(residual coefficient)と表すこともできる。
【0434】
例えば、前記シンタックスエレメントは、last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix、last_sig_coeff_y_suffix、sb_coded_flag、sig_coeff_flag、par_level_flag、abs_level_gtX_flag(例えば、abs_level_gtx_flag[n][0]及び/又はabs_level_gtx_flag[n][1])、abs_remainder、dec_abs_level、及び/又はcoeff_sign_flagなどのシンタックスエレメント(syntax elements)を含むことができる。
【0435】
具体的に、例えば、前記シンタックスエレメントは、前記現在ブロックのレジデュアル係数配列(array)において最後のノン-ゼロ(non-zero)変換係数の位置を示す位置情報を含むことができる。すなわち、前記シンタックスエレメントは、前記現在ブロックのスキャニング順序(scanning order)における最後のノン-ゼロ(non-zero)変換係数の位置を示す位置情報を含むことができる。前記位置情報は、前記最後のノン-ゼロ変換係数の列位置(column position)のプレフィックス(prefix)を示す情報、前記最後のノン-ゼロ変換係数の行位置(row position)のプレフィックス(prefix)を示す情報、前記最後のノン-ゼロ変換係数の列位置(column position)のサフィックス(suffix)を示す情報、前記最後のノン-ゼロ変換係数の行位置(row position)のサフィックス(suffix)を示す情報を含むことができる。前記位置情報に対するシンタックスエレメントは、last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix、last_sig_coeff_y_suffixであっよい。一方、ノン-ゼロ変換係数は、有効係数(significant coefficient)と呼ぶこともできる。
【0436】
また、例えば、前記シンタックスエレメントは、前記現在ブロックの現在サブブロックがノン-ゼロ変換係数を含むか否かを示すコーデッドサブブロックフラグ、前記現在ブロックの変換係数がノン-ゼロ(non-zero)変換係数であるか否かを示す有効係数フラグ、前記変換係数に対する係数レベルが第1臨界値よりも大きいか否かに対する第1係数レベルフラグ、前記係数レベルのパリティ(parity)に対するパリティレベルフラグ、及び/又は前記変換係数の前記係数レベルが第2臨界値よりも大きいか否かに対する第2係数レベルフラグを含むことができる。ここで、前記コーデッドサブブロックフラグはsb_coded_flag又はcoded_sub_block_flagであってよく、前記有効係数フラグはsig_coeff_flagであってよく、前記第1係数レベルフラグはabs_level_gt1_flag又はabs_level_gtx_flagであってよく、前記パリティレベルフラグはpar_level_flagであってよく、前記第2係数レベルフラグはabs_level_gt3_flag又はabs_level_gtx_flagであってよい。
【0437】
また、例えば、前記シンタックスエレメントは、前記現在ブロックの変換係数の値に対する係数値関連情報を含むことができる。前記係数値関連情報はabs_remainder及び/又はdec_abs_levelであってよい。
【0438】
また、例えば、前記シンタックスエレメントは、前記変換係数の符号(sign)を示すサインフラグを含むことができる。前記サインフラグはcoeff_sign_flagであってよい。
【0439】
また、例えば、値が0である前記TSRC可用フラグに基づいて、前記現在ブロックに対する前記レジデュアルコーディングシンタックスは、変換スキップレジデュアルコーディング(Transform Skip Residual Coding,TSRC)シンタックスと導出されてよい。この場合、前記レジデュアル情報は、変換スキップレジデュアルコーディング(Transform Skip Residual Coding,TSRC)シンタックスのレジデュアル情報であってよい。すなわち、デコーディング装置は、前記現在ブロックに対する前記TSRCシンタックスのレジデュアル情報を取得することができる。また、例えば、前記現在ブロックが変換スキップされるか否かに対する変換スキップフラグが取得されてよく、値が1である前記変換スキップフラグ及び値が0である前記TSRC可用フラグに基づいて、前記現在ブロックに対する前記レジデュアルコーディングシンタックスは変換スキップレジデュアルコーディング(Transform Skip Residual Coding,TSRC)シンタックスと導出されてよい。この場合、前記レジデュアル情報は、TSRCシンタックスのレジデュアル情報であってよい。また、例えば、前記現在ブロックが変換スキップされるか否かに対する変換スキップフラグが取得されてよく、値が0である前記変換スキップフラグ及び値が0である前記TSRC可用フラグに基づいて、前記現在ブロックに対する前記レジデュアルコーディングシンタックスはレギュラーレジデュアルコーディング(Regular Residual Coding,RRC)シンタックスと導出されてよい。この場合、前記レジデュアル情報はRRCシンタックスのレジデュアル情報であってよい。
【0440】
例えば、前記TSRCシンタックスの前記レジデュアル情報は、上述した表3に開示されたシンタックスエレメントを含むことができる。例えば、前記TSRCシンタックスの前記レジデュアル情報は、現在ブロックの変換係数に対するシンタックスエレメントを含むことができる。ここで、変換係数(transform coefficient)は、レジデュアル係数(residual coefficient)と表すこともできる。
【0441】
例えば、前記シンタックスエレメントは、変換係数に対するコンテクストコードされたシンタックスエレメント及び/又はバイパスコードされたシンタックスエレメントを含むことができる。前記シンタックスエレメントは、sig_coeff_flag、coeff_sign_flag、par_level_flag、abs_level_gtX_flag(例えば、abs_level_gtx_flag[n][0]、abs_level_gtx_flag[n][1]、abs_level_gtx_flag[n][2]、abs_level_gtx_flag[n][3]及び/又はabs_level_gtx_flag[n][4])、abs_remainder及び/又はcoeff_sign_flagなどのシンタックスエレメント(syntax elements)を含むことができる。
【0442】
例えば、前記変換係数に対するコンテクストコードされた前記シンタックスエレメントは、前記変換係数がノン-ゼロ(non-zero)変換係数であるか否かを示す有効係数フラグ、前記変換係数に対する符号(sign)を示すサインフラグ、前記変換係数に対する係数レベルが第1臨界値よりも大きいか否かに対する第1係数レベルフラグ及び/又は前記変換係数に対する係数レベルのパリティ(parity)に対するパリティレベルフラグを含むことができる。また、例えば、前記コンテクストコードされたシンタックスエレメントは、前記変換係数の前記係数レベルが第2臨界値よりも大きいか否かに対する第2係数レベルフラグ、前記変換係数の前記係数レベルが第3臨界値よりも大きいか否かに対する第3係数レベルフラグ、前記変換係数の前記係数レベルが第4臨界値よりも大きいか否かに対する第4係数レベルフラグ、及び/又は前記変換係数の前記係数レベルが第5臨界値よりも大きいか否かに対する第5係数レベルフラグを含むことができる。ここで、前記有効係数フラグはsig_coeff_flagであってよく、前記サインフラグはceff_sign_flagであってよく、前記第1係数レベルフラグはabs_level_gt1_flagであってよく、前記パリティレベルフラグはpar_level_flagであってよい。また、前記第2係数レベルフラグはabs_level_gt3_flag又はabs_level_gtx_flagであってよく、前記第3係数レベルフラグはabs_level_gt5_flag又はabs_level_gtx_flagであってよく、前記第4係数レベルフラグはabs_level_gt7_flag又はabs_level_gtx_flagであってよく、前記第5係数レベルフラグはabs_level_gt9_flag又はabs_level_gtx_flagであってよい。
【0443】
また、例えば、前記変換係数に対するバイパスコードされた前記シンタックスエレメントは、前記変換係数の値(又は、係数レベル)に対する係数レベル情報及び/又は前記変換係数に対する符号(sign)を示すサインフラグを含むことができる。前記係数レベル情報はabs_remainder及び/又はdec_abs_levelであってよく、前記サインフラグはceff_sign_flagであってよい。
【0444】
デコーディング装置は、前記レジデュアル情報に基づいて前記現在ブロックのレジデュアルサンプルを導出する(S1650)。例えば、デコーディング装置は、前記レジデュアル情報に基づいて前記現在ブロックの変換係数を導出することができ、前記変換係数に基づいて前記現在ブロックのレジデュアルサンプルを導出することができる。
【0445】
例えば、デコーディング装置は、前記レジデュアル情報のシンタックスエレメントに基づいて前記現在ブロックの変換係数を導出することができる。その後、デコーディング装置は、前記変換係数に基づいて前記現在ブロックのレジデュアルサンプルを導出することができる。一例として、前記変換スキップフラグに基づき、前記現在ブロックに対して変換が適用されないと導出された場合に、すなわち、前記変換スキップフラグの値が1である場合に、デコーディング装置は、前記変換係数を前記現在ブロックの前記レジデュアルサンプルとして導出することができる。又は、例えば、前記変換スキップフラグに基づき、前記現在ブロックに対して変換が適用されないと導出された場合に、すなわち、前記変換スキップフラグの値が1である場合に、デコーディング装置は、前記変換係数を逆量子化し、前記現在ブロックの前記レジデュアルサンプルを導出することができる。又は、例えば、前記変換スキップフラグに基づき、前記現在ブロックに対して変換が適用されたと導出された場合に、すなわち、前記変換スキップフラグの値が0である場合に、デコーディング装置は、前記変換係数を逆変換し、前記現在ブロックの前記レジデュアルサンプルを導出することができる。又は、例えば、前記変換スキップフラグに基づき、前記現在ブロックに対して変換が適用されたと導出された場合に、すなわち、前記変換スキップフラグの値が0である場合に、デコーディング装置は、前記変換係数を逆量子化し、逆量子化された変換係数を逆変換して、前記現在ブロックの前記レジデュアルサンプルを導出することができる。
【0446】
一方、前記現在ブロックに対して前記従属量子化が適用される場合に、デコーディング装置は、前記変換係数に対する前記従属量子化過程を行って前記現在ブロックの前記レジデュアルサンプルを導出することができる。例えば、前記現在ブロックに対して前記従属量子化が適用される場合に、デコーディング装置は、従属量子化に対する状態(Qstate)を、スキャニング順序において現在変換係数直前の変換係数の係数レベルに基づいてアップデートでき、前記アップデートされた状態及び前記現在変換係数に対するシンタックスエレメントに基づいて前記現在変換係数の係数レベルを導出することができ、前記導出された係数レベルを逆量子化してレジデュアルサンプルを導出することができる。例えば、前記現在変換係数は、前記アップデートされた状態に対するスカラー量子化器において前記現在変換係数の復元レベルに対する量子化パラメータに基づいて逆量子化されてよい。ここで、前記復元レベルは、前記現在変換係数に対するシンタックスエレメントに基づいて導出されてよい。
【0447】
デコーディング装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャーを生成する(S1660)。例えば、デコーディング装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックの復元サンプル及び/又は復元ピクチャーを生成することができる。例えば、デコーディング装置は、前記予測サンプルと前記レジデュアルサンプルとの加算によって前記復元サンプルを生成することができる。
【0448】
その後、必要によって、主観的/客観的画質を向上させるために、デブロッキングフィルタリング、SAO及び/又はALF手順のようなインループフィルタリング手順が前記復元ピクチャーに適用されてもよいことは、上述した通りである。
【0449】
図17には、本文書に係る映像デコーディング方法を行うデコーディング装置を概略的に示す。図16に開示の方法は、図17で開示されたデコーディング装置によって行われてよい。具体的には、例えば、図17の前記デコーディング装置のエントロピーデコーディング部は、図16のS1600~S1620及びS1640を行うことができ、図17の前記デコーディング装置の予測部は、図16のS1630を行うことができ、図17の前記デコーディング装置のレジデュアル処理部は、図16のS1650を行うことができ、図17の前記デコーディング装置の加算部は、図16のS1660を行うことができる。
【0450】
上述した本文書によれば、レジデュアルコーディングの効率を上げることができる。
【0451】
また、本文書によれば、従属量子化可用フラグとTSRC可用フラグ間のシグナリング関係を設定し、従属量子化が可用でない場合にTSRC可用フラグをシグナルすることにより、TSRCが可用でなくて変換スキップブロックに対してRRCシンタックスがコードされる場合に従属量子化が用いられないようにし、これにより、コーディング効率を向上させ、コードされるビット量を減らしてレジデュアルコーディング効率全般を向上させることができる。
【0452】
また、本文書によれば、変換スキップ可用フラグとTSRC可用フラグ間のシグナリング関係を設定し、変換スキップが可用である場合にTSRC可用フラグをシグナルすることにより、コードされるビット量を減らしてレジデュアルコーディング効率全般を向上させることができる。
【0453】
上述した実施例において、方法は、一連の段階又はブロックであり、順序図に基づいて説明されているが、本文書は、段階の順序に限定されるものではなく、ある段階は、上述したのと異なる段階と異なる順序で又は同時に発生してもよい。また、当業者であれば、順序図に示された段階が排他的でなく、他の段階が含まれたり順序図の1つ又はそれ以上の段階が本文書の範囲に影響を及ぼさずに削除されてもよいことが理解できよう。
【0454】
本文書で説明した実施例は、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で)具現され行われてよい。例えば、各図に示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で具現されて行われてよい。この場合、具現のための情報(例えば、information on instructions)又はアルゴリズムがデジタル記憶媒体に記憶されてよい。
【0455】
また、本文書の実施例が適用されるデコーディング装置及びエンコーディング装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信のような実時間通信装置、モバイルストリーミング装置、記憶媒体、キャムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、運送手段端末(例えば、車両端末、飛行機端末、船舶端末など)及び医療用ビデオ装置などに含まれてよく、ビデオ信号又はデータ信号を処理するために用いられてよい。例えば、OTTビデオ(Over the top video)装置としては、ゲームコンソール、ブルーレイプレーヤー、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recorder)などを含むことができる。
【0456】
また、本文書の実施例が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されてよく、コンピュータ可読記録媒体に記憶されてよい。本文書によるデータ構造を有するマルチメディアデータも、コンピュータ可読記録媒体に記憶されてよい。前記コンピュータ可読記録媒体は、コンピュータで読み取り可能なデータが記憶されるあらゆる種類の記憶装置及び分散記憶装置を含む。前記コンピュータ可読記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク及び光学的データ記憶装置を含むことができる。また、前記コンピュータ可読記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で具現されたメディアを含む。また、エンコーディング方法で生成されたビットストリームがコンピュータ可読記録媒体に記憶されてもよく、有無線通信ネットワークを通じて送信されてもよい。
【0457】
また、本文書の実施例は、プログラムコードによるコンピュータプログラム製品として具現されてよく、前記プログラムコードは、本文書の実施例によってコンピュータで実行されてよい。前記プログラムコードは、コンピュータで読み取り可能なキャリア上に記憶されてよい。
【0458】
図13は、本文書の実施例が適用されるコンテンツストリーミングシステムを例示する構造図である。
【0459】
本文書の実施例が適用されるコンテンツストリーミングシステムは、大きく、エンコーディングサーバー、ストリーミングサーバー、ウェブサーバー、メディアストレージ、ユーザ装置及びマルチメディア入力装置を含むことができる。
【0460】
前記エンコーディングサーバーは、スマートフォン、カメラ、キャムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータとして圧縮してビットストリームを生成し、これを前記ストリーミングサーバーに送信する役割を担う。他の例として、スマートフォン、カメラ、キャムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合に、前記エンコーディングサーバーは省略されてよい。
【0461】
前記ビットストリームは、本文書の実施例が適用されるエンコーディング方法又はビットストリーム生成方法によって生成されてよく、前記ストリーミングサーバーは、前記ビットストリームを送信又は受信する過程で一時的に前記ビットストリームを記憶することができる。
【0462】
前記ストリーミングサーバーは、ウェブサーバーを介したユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバーはユーザにどのようなサービスがあるかを知らせる媒介体として働く。ユーザ所望のサービスを前記ウェブサーバーに要請すれば、前記ウェブサーバーはそれをストリーミングサーバーに伝達し、前記ストリーミングサーバーはユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは別個の制御サーバーを含むことができ、この場合、前記制御サーバーは前記コンテンツストリーミングシステムにおける各装置間の命令/応答を制御する役割を担う。
【0463】
前記ストリーミングサーバーは、メディアストレージ及び/又はエンコーディングサーバーからコンテンツを受信することができる。例えば、前記エンコーディングサーバーからコンテンツを受信する場合に、前記コンテンツを実時間で受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバーは前記ビットストリームを一定時間記憶することができる。
【0464】
前記ユーザ装置の例としては、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイネージなどを挙げることができる。前記コンテンツストリーミングシステム内の各サーバーは、分散サーバーとして運営されてよく、この場合、各サーバーで受信するデータは分散処理されてよい。
【0465】
本明細書に記載された請求項は様々な方式で組み合わせられてよい。例えば、本明細書の方法請求項の技術的特徴が組み合わせられて装置として具現されてよく、本明細書の装置請求項の技術的特徴が組み合わせられて方法として具現されてよい。また、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせられて装置として具現されてよく、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせられて方法として具現されてよい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18