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

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

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

特許7641949ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置
<>
  • 特許-ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置 図1
  • 特許-ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置 図2
  • 特許-ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置 図3
  • 特許-ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置 図4
  • 特許-ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置 図5
  • 特許-ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置 図6
  • 特許-ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置 図7
  • 特許-ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置 図8
  • 特許-ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置 図9
  • 特許-ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置 図10
  • 特許-ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置 図11
  • 特許-ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置 図12
  • 特許-ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置 図13
  • 特許-ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-27
(45)【発行日】2025-03-07
(54)【発明の名称】ビデオ/映像コーディングシステムにおける変換係数コーディング方法及び装置
(51)【国際特許分類】
   H04N 19/13 20140101AFI20250228BHJP
   H04N 19/70 20140101ALI20250228BHJP
【FI】
H04N19/13
H04N19/70
【請求項の数】 15
(21)【出願番号】P 2022513337
(86)(22)【出願日】2020-08-31
(65)【公表番号】
(43)【公表日】2022-11-04
(86)【国際出願番号】 KR2020011627
(87)【国際公開番号】W WO2021040492
(87)【国際公開日】2021-03-04
【審査請求日】2023-08-22
(31)【優先権主張番号】62/894,773
(32)【優先日】2019-08-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/902,977
(32)【優先日】2019-09-20
(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)【参考文献】
【文献】特表2018-529273(JP,A)
【文献】特開2017-143572(JP,A)
【文献】Benjamin Bross et al.,Versatile Video Coding (Draft 6),JVET-O2001-v9,ITU-T ,2019年07月,pp. 146-148, 341-352
【文献】Yinji Piao et al.,CE7-related : Unified rice parameter derivation for coefficient level coding,JVET-M0198,ITU-T ,2019年01月,pp. 1-5
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
デコーディング装置により実行されるビデオデコーディング方法において、
現在ブロック内の変換係数のレベル値に関連した情報を含むビットストリームを受信するステップと、
前記変換係数の前記レベル値に関連した前記情報に対するライスパラメータルックアップテーブルのインデックス値を決定するステップと、
前記ライスパラメータルックアップテーブルと前記インデックス値に基づいて前記変換係数の前記レベル値に関連した前記情報に対するライスパラメータを導出するステップと、
前記ライスパラメータに基づいて前記変換係数の前記レベル値に関連した前記情報に対するbinストリングを導出するステップと、
前記binストリングに基づいて前記変換係数の前記レベル値を導出するステップと、を含み、
前記ライスパラメータを導出するステップは
前記インデックス値と前記ライスパラメータルックアップテーブルに基づいて一時的ライスパラメータを導出するステップと
前記一時的ライスパラメータにオフセットを追加することにより前記ライスパラメータを導出するステップと、を含む、ビデオデコーディング方法。
【請求項2】
前記ライスパラメータを導出するステップは、
前記インデックス値に基づいて修正インデックス値を導出するステップと、
前記修正インデックス値と前記ライスパラメータルックアップテーブルを利用して前記ライスパラメータを導出するステップと、を含み、
前記修正インデックス値を導出するステップは、前記変換係数の隣接変換係数のレベル値の和が閾値より小さいかどうかに基づいて前記修正インデックス値を導出するステップを含む、請求項1に記載のビデオデコーディング方法。
【請求項3】
前記修正インデックス値を導出するステップは、前記インデックス値とシフト値に基づいて前記修正インデックス値を導出するステップを含む、請求項2に記載のビデオデコーディング方法。
【請求項4】
前記ライスパラメータを導出するステップは、
前記インデックス値とシフト値に基づいて修正インデックス値を導出するステップと、
前記修正インデックス値と前記ライスパラメータルックアップテーブルに基づいて一時的ライスパラメータを導出するステップと、
前記一時的ライスパラメータにオフセットを追加することにより前記ライスパラメータを導出するステップと、を含む、請求項1に記載のビデオデコーディング方法。
【請求項5】
前記変換係数の前記レベル値に関連した前記情報の前に符号化される特定シンタックスエレメントに基づいて、前記修正インデックス値は、前記シフト値を利用して導出され、前記ライスパラメータは前記オフセットを利用して導出される、請求項に記載のビデオデコーディング方法。
【請求項6】
前記変換係数の隣接変換係数のレベル値のに基づいて、前記インデックス値が導出される、請求項に記載のビデオデコーディング方法。
【請求項7】
前記変換係数の前記レベル値に関連した前記情報は、前記変換係数の前記レベル値を示すシンタックス要素dec_abs_level又は前記変換係数の残っているレベル値を示すシンックス要素abs_remainderを含む、請求項1に記載のビデオデコーディング方法。
【請求項8】
エンコーディング装置により実行されるビデオエンコーディング方法であって、
現在ブロック内の変換係数のレベル値に関連した情報を生成するステップと、
前記変換係数の前記レベル値に関連した前記情報に対するライスパラメータルックアップテーブルのインデックス値を決定するステップと、
前記インデックス値と前記ライスパラメータルックアップテーブルに基づいて前記変換係数の前記レベル値に関連した前記情報に対するライスパラメータを導出するステップと、
前記ライスパラメータに基づいて前記変換係数の前記レベル値に関連した前記情報に対するbinストリングを導出するステップと、
前記binストリングをエンコーディングするステップと、を含
前記ライスパラメータを導出するステップは
前記インデックス値と前記ライスパラメータルックアップテーブルに基づいて一時的ライスパラメータを導出するステップと、
前記一時的ライスパラメータにオフセットを追加することにより前記ライスパラメータを導出するステップと、を含む、ビデオエンコーディング方法。
【請求項9】
前記ライスパラメータを導出するステップは、
前記インデックス値に基づいて修正インデックス値を導出するステップと、
前記修正インデックス値と前記ライスパラメータルックアップテーブルを利用して、前記ライスパラメータを導出するステップと、を含み、
前記修正インデックス値を導出するステップは、前記変換係数の隣接変換係数のレベル値のが閾値より小さいかどうかに基づいて前記修正インデックス値を導出するステップを含む、請求項に記載のビデオエンコーディング方法。
【請求項10】
前記修正インデックス値を導出するステップは、前記インデックス値とシフト値に基づいて前記修正インデックス値を導出するステップを含む、請求項に記載のビデオエンコーディング方法。
【請求項11】
前記ライスパラメータを導出するステップは、
前記インデックス値とシフト値に基づいて修正インデックス値を導出するステップと、
前記修正インデックス値と前記ライスパラメータルックアップテーブルに基づいて一時的ライスパラメータを導出するステップと、
前記一時的ライスパラメータにオフセットを追加することにより前記ライスパラメータを導出するステップと、を含む、請求項に記載のビデオエンコーディング方法。
【請求項12】
前記変換係数の前記レベル値に関連した前記情報の前に符号化される特定シンタックスエレメントに基づいて、前記修正インデックス値は、前記シフト値を利用して導出され、前記ライスパラメータは前記オフセットを利用して導出される、請求項11に記載のビデオエンコーディング方法。
【請求項13】
前記変換係数の隣接変換係数のレベル値のに基づいて、前記インデックス値が導出される、請求項12に記載のビデオエンコーディング方法。
【請求項14】
前記変換係数の前記レベル値に関連した前記情報は、前記変換係数の前記レベル値を示すシンタックス要素dec_abs_level、又は前記変換係数の残っているレベル値を示すシンックス要素abs_remainderを含む、請求項に記載のビデオエンコーディング方法。
【請求項15】
ビデオに対するデータの送信方法であって、
前記ビデオに対するビットストリームを取得するステップであって
前記ビットストリームは、
現在ブロック内の変換係数のレベル値に関連した情報を生成するステップと、
前記変換係数の前記レベル値に関連した前記情報に対するライスパラメータルックアップテーブルのインデックス値を決定するステップと、
前記インデックス値と前記ライスパラメータルックアップテーブルに基づいて前記変換係数の前記レベル値に関連した前記情報に対するライスパラメータを導出するステップと
前記ライスパラメータに基づいて前記変換係数の前記レベル値に関連した前記情報に対するbinストリングを導出するステップと
前記binストリングをエンコーディングするステップと、に基づいて生成される、ステップと
前記ビットストリームを含む前記データを送信するステップと、を含
前記ライスパラメータを導出するステップは
前記インデックス値と前記ライスパラメータルックアップテーブルに基づいて一時的ライスパラメータを導出するステップと
前記一時的ライスパラメータにオフセットを追加することにより前記ライスパラメータを導出するステップと、を含む法。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、ビデオ/映像をエンコーディング/デコーディングするにあたって、変換係数(transform coefficient)をコーディングする方法及び装置に関する。
【背景技術】
【0002】
近年、4Kまたは8K以上のUHD(Ultra High Definition)画像/ビデオのような高解像度、高品質の画像/ビデオに対する需要が様々な分野で増加している。画像/ビデオデータが高解像度、高品質になるほど、既存の画像/ビデオデータに比べて相対的に送信される情報量またはビット量が増加するので、既存の有無線広帯域回線のような媒体を利用して画像データを送信するか、既存の格納媒体を利用して画像/ビデオデータを格納する場合、送信費用と格納費用が増加される。
【0003】
また、近年、VR(Virtual Reality)、AR(Artificial Realtiy)コンテンツやホログラムなどの実感メディア(Immersive Media)に対する関心及び需要が増加しており、ゲーム画像のように、現実画像と異なる画像特性を有する画像/ビデオに対する放送が増加している。
【0004】
これにより、前記のような様々な特性を有する高解像度・高品質の画像/ビデオの情報を効果的に圧縮して送信するか、格納し、再生するために高効率の画像/ビデオ圧縮技術が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本文書の技術的課題は、ビデオ/映像コーディング効率を上げる方法及び装置を提供することにある。
【0006】
本文書の他の技術的課題は、レジデュアルコーディングの効率を向上させる方法及び装置を提供することにある。
【0007】
本文書の他の技術的課題は、レジデュアルコーディングで変換係数に対するレベルコーディングの符号化性能を向上させることができる方法及び装置を提供することにある。
【課題を解決するための手段】
【0008】
本文書の一実施例によると、デコーディング装置により実行されるビデオデコーディング方法は、ビットストリームから現在ブロック内の変換係数(transform coefficient)のレベル値を示す情報を取得するステップ、前記変換係数のレベル値を示す情報に対して、複数個のライスパラメータルックアップテーブル(rice parameter look-up table)の中からいずれか一つのライスパラメータルックアップテーブルを選択するステップ、前記選択したライスパラメータルックアップテーブルに基づいて前記変換係数のレベル値を示す情報に対するライスパラメータを導出するステップ、前記ライスパラメータに基づいて前記変換係数のレベル値を示す情報に対するbinストリング(bin string)を導出するステップ、及び前記binストリングに基づいて前記変換係数のレベル値を導出するステップ、を含む。
【0009】
本文書の他の実施例によると、デコーディング装置により実行されるビデオデコーディング方法は、ビットストリームから現在ブロック内の変換係数のレベル値を示す情報を取得するステップ、前記変換係数のレベル値を示す情報に対するライスパラメータルックアップテーブルのインデックス値を決定するステップ、前記インデックス値に基づいて前記ライスパラメータルックアップテーブルから前記変換係数のレベル値を示す情報に対するライスパラメータを導出するステップ、前記ライスパラメータに基づいて前記変換係数のレベル値を示す情報に対するbinストリング(bin string)を導出するステップ、及び前記binストリングに基づいて前記変換係数のレベル値を導出するステップ、を含む。
【発明の効果】
【0010】
本文書の一実施例によると、全般的なビデオ/映像の圧縮効率が向上することができる。
【0011】
本文書の一実施例によると、レジデュアルコーディングの効率が向上することができる。
【0012】
本文書の一実施例によると、レジデュアルコーディングで変換係数に対するレベルコーディングの符号化性能が向上することができる。
【0013】
本文書の一実施例によると、変換係数のレベル値が低いレベル値と高いレベル値が混在されている場合、比較的高いレベル値を有する無損失または高ビット率(high bit rate)環境(low QP)などでより高い性能を提供することができる。
【図面の簡単な説明】
【0014】
図1】本文書の実施例が適用されることができるビデオ/映像コーディングシステムの例を概略的に示す。
図2】本文書の実施例が適用されることができるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。
図3】本文書の実施例が適用されることができるビデオ/映像デコーディング装置の構成を概略的に説明する図である。
図4】シンタックス要素をエンコーディングするためのCABAC(Context-Adaptive Binary Arithmetic Coding)を例示的に示す。
図5】4×4ブロック内の変換係数を例示的に示す。
図6】本文書の一実施例に係るエントロピーエンコーディング方法及び関連コンポーネントの一例を概略的に示す。
図7】本文書の一実施例に係るエントロピーエンコーディング方法及び関連コンポーネントの一例を概略的に示す。
図8】本文書の他の実施例に係るエントロピーエンコーディング方法の一例を概略的に示す。
図9】本文書の実施例に係るエントロピーデコーディング方法及び関連コンポーネントの一例を概略的に示す。
図10】本文書の実施例に係るエントロピーデコーディング方法及び関連コンポーネントの一例を概略的に示す。
図11】本文書の他の実施例に係るエントロピーデコーディング方法の一例を概略的に示す。
図12】本文書の実施例に係るビデオ/映像エンコーディング方法を示す。
図13】本文書の実施例に係るビデオ/映像デコーディング方法を示す。
図14】本文書に開示された実施例が適用されることができるコンテンツストリーミングシステムの例を示す。
【発明を実施するための形態】
【0015】
本文書の開示は様々な変更を加えることができ、様々な実施例が有することができるため、特定の実施例を図面に例示し、詳細に説明しようとする。本文書で使用する用語は、単に特定の実施例を説明するために使用されたものであって、本文書の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上明白に異なる意味を有しない限り、「少なくとも1つ」の表現を含む。本文書において「含む」又は「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものなどの存在又は付加可能性を予め排除しないことと理解されるべきである。
【0016】
一方、本文書において説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の便宜のために独立的に図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで実現されるということを意味するものではない。例えば、各構成のうち、2つ以上の構成が結合されて1つの構成をなすこともでき、1つの構成を複数の構成に分けることもできる。各構成が統合及び/又は分離された実施例も本文書において開示された方法の本質から逸脱しない限り、本文書の開示範囲に含まれる。
【0017】
以下、添付した図面を参照して、本文書の実施例をより詳細に説明する。以下、図面上の同一の構成要素に対しては同一の参照符号を使用し、同一の構成要素に関して重複する説明は省略する。
【0018】
図1は、本文書の実施例が適用されることができるビデオ/映像コーディングシステムの例を概略的に示す。
【0019】
図1に示すように、ビデオ/映像コーディングシステムは、第1の装置(ソースデバイス)及び第2の装置(受信デバイス)を備える。ソースデバイスは、エンコーディングされたビデオ(video)/映像(image)情報又はデータをファイル又はストリーミング形態でデジタル格納媒体又はネットワークを介して受信デバイスに伝達することができる。
【0020】
前記ソースデバイスは、ビデオソース、エンコーディング装置、送信部を含むことができる。前記受信デバイスは、受信部、デコーディング装置、及びレンダラを含むことができる。前記エンコーディング装置は、ビデオ/映像エンコーディング装置と呼ばれることができ、前記デコーディング装置は、ビデオ/映像デコーディング装置と呼ばれることができる。送信機は、エンコーディング装置に含まれることができる。受信機は、デコーディング装置に含まれることができる。レンダラは、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
【0021】
ビデオソースは、ビデオ/映像のキャプチャ、合成または生成過程などを介してビデオ/映像を取得することができる。ビデオソースは、ビデオ/映像キャプチャデバイス及び/またはビデオ/映像生成デバイスを含むことができる。ビデオ/映像キャプチャデバイスは、例えば、1つ以上のカメラ、以前にキャプチャされたビデオ/映像を含むビデオ/映像アーカイブなどを含むことができる。ビデオ/映像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを含むことができ、(電子的に)ビデオ/映像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/映像が生成されることができ、この場合、ビデオ/映像キャプチャ過程を関連データが生成される過程に代替されることができる。
【0022】
エンコーディング装置は、入力ビデオ/映像をエンコーディングすることができる。エンコーディング装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を実行することができる。エンコーディングされたデータ(エンコーディングされたビデオ/映像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
【0023】
送信部は、ビットストリーム形態で出力されたエンコーディングされたビデオ/映像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達できる。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。送信部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介した送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコーディング装置に伝達できる。
【0024】
デコーディング装置は、エンコーディング装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を実行してビデオ/映像をデコーディングすることができる。
【0025】
レンダラは、デコーディングされたビデオ/映像をレンダリングすることができる。レンダリングされたビデオ/映像は、ディスプレイ部を介してディスプレイされることができる。
【0026】
本文書は、ビデオ(video)/映像(image)コーディングに関する。例えば、この文書において開示された方法/実施例は、VVC(versatile video coding)標準に開示される方法に適用できる。また、この文書において開示された方法/実施例は、EVC(essential video coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)又は次世代ビデオ/映像コーディング標準(ex.H.267、H.268など)に開示される方法に適用できる。
【0027】
本文書においてはビデオ/映像コーディングに関する様々な実施例が提示され、他に言及がない限り、前記実施例は互いに組み合わせて行われることもできる。
【0028】
この文書においてビデオ(video)は、時間の流れによる一連の映像(image)の集合を意味し得る。ピクチャ(picture)は、一般に特定の時間帯の1つの映像を示す単位を意味し、スライス(slice)/タイル(tile)はコーディングにおいてピクチャの一部を構成する単位である。スライス/タイルは、1つ以上のCTU(coding tree unit)を含む。1つのピクチャは1つ以上のスライス/タイルで構成される。1つのピクチャは1つ以上のタイルグループで構成される。1つのタイルグループは1つ以上のタイルを含む。ブリックはピクチャ内のタイル内のCTU行の四角領域を示す(a brick may represent a rectangular region of CTU rows within a tile in a picture)。タイルは多数のブリックによりパーティショニングされ、各ブリックは前記タイル内の1つ以上のCTU行で構成される(A tile may be partitioned into multiple bricks, each of which consisting of one or more CTU rows within the tile)。複数のブリックにパーティショニングされていないタイルもブリックと呼ばれてもよい(A tile that is not partitioned into multiple bricks may be also referred to as a brick)。ブリックスキャンはピクチャをパーティショニングするCTUの特定の順次オーダリングを示し、前記CTUはブリック内においてCTUラスタスキャンで整列され、タイル内のブリックは前記タイルの前記ブリックのラスタスキャンで連続的に整列され、そして、ピクチャ内のタイルは前記ピクチャの前記タイルのラスタスキャンで連続的に整列される(A brick scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a brick, bricks within a tile are ordered consecutively in a raster scan of the bricks of the tile, and tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture)。タイルは特定タイル列及び特定タイル列以内のCTUの四角領域である(A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a picture)。前記タイル列はCTUの四角領域であり、前記四角領域は前記ピクチャの高さと同じ高さを有し、幅はピクチャパラメータセット内のシンタックス要素により明示される(The tile column is a rectangular region of CTUs having a height equal to the height of the picture and a width specified by syntax elements in the picture parameter set)。前記タイル行はCTUの四角領域であり、前記四角領域はピクチャパラメータセット内のシンタックス要素により明示される幅を有し、高さは前記ピクチャの高さと同一であり得る(The tile row is a rectangular region of CTUs having a height specified by syntax elements in the picture parameter set and a width equal to the width of the picture)。タイルスキャンはピクチャをパーティショニングするCTUの特定の順次オーダリングを示し、前記CTUはタイル内のCTUラスタスキャンで連続的に整列され、ピクチャ内のタイルは前記ピクチャの前記タイルのラスタスキャンで連続的に整列される(A tile scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture)。スライスはピクチャの整数個のブリックを含み、前記整数個のブリックは1つのNALユニットに含まれる(A slice includes an integer number of bricks of a picture that may be exclusively contained in a single NAL unit)。スライスは複数の完全なタイルで構成され、または、1つのタイルの完全なブリックの連続的なシーケンスであり得る(A slice may consists of either a number of complete tiles or only a consecutive sequence of complete bricks of one tile)。この文書において、タイルグループとスライスは混用されてもよい。例えば、本文書において、tile group/tile group headerはslice/slice headerと呼ばれてもよい。
【0029】
ピクセル(pixel)またはペル(pel)は、1つのピクチャ(または、映像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用されることができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。または、サンプルは、空間ドメインでのピクセル値を意味することもでき、このようなピクセル値が周波数ドメインに変換されると、周波数ドメインでの変換係数を意味することもできる。
【0030】
ユニット(unit)は、映像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち少なくとも1つを含むことができる。1つのユニットは、1つのルマブロック及び2つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(または、サンプルアレイ)、または変換係数(transform coefficient)の集合(または、アレイ)を含むことができる。
【0031】
この文書において、「/」と「、」は「及び/又は」と解釈される。例えば,「A/B」は「A及び/又はB」と解釈され,「A、B」は「A及び/又はB」と解釈される。追加的に、「A/B/C」は「A、B及び/又はCの少なくとも1つ」を意味する。また、「A、B、C」も「A、B及び/又はCの少なくとも1つ」を意味する(In this document, the term "/" and "," should be interpreted to indicate "and/or". For instance, the expression "A/B" may mean "A and/or B." Further, "A, B" may mean "A and/or B." Further, "A/B/C" may mean "at least one of A, B, and/or C." Also, "A/B/C" may mean "at least one of A, B, and/or C.")。
【0032】
追加的に、本文書において、「又は」は「及び/又は」と解釈される。例えば、「A又はB」は、1)「A」のみを意味し、2)「B」のみを意味するか、3)「A及びB」を意味し得る。言い換えれば、本文書の「又は」は「追加的に又は代替的に(additionally or alternatively)」を意味し得る(Further, in the document, the term "or" should be interpreted to indicate "and/or." For instance, the expression "A or B" may comprise 1)only A, 2)only B, and/or 3)both A and B. In other words, the term "or" in this document should be interpreted to indicate "additionally or alternatively.")。
【0033】
また、本文書で使われる括弧は、「例えば(for example)」を意味することができる。具体的に、「予測(イントラ予測)」で表示された場合、「予測」の一例として「イントラ予測」が提案されたことである。即ち、本文書の「予測」は、「イントラ予測」に制限(limit)されずに、「イントラ予測」が「予測」の一例として提案されたことである。また、「予測(即ち、イントラ予測)」で表示された場合にも、「予測」の一例として「イントラ予測」が提案されたことである。
【0034】
本文書において、一つの図面内で個別的に説明される技術的特徴は、個別的に具現されることもでき、同時に具現されることもできる。
【0035】
図2は、本文書の実施例が適用されることができるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。以下、ビデオエンコーディング装置とは、映像エンコーディング装置を含む。
【0036】
図2に示すように、エンコーディング装置200は、画像分割部(image partitioner)210、予測部(predictor)220、レジデュアル処理部(residual processor)230、エントロピーエンコーディング部(entropy encoder)240、加算部(adder)250、フィルタリング部(filter)260、及びメモリ(memory)270を備えて構成されることができる。予測部220は、インター予測部221及びイントラ予測部222を備えることができる。レジデュアル処理部230は、変換部(transformer)232、量子化部(quantizer)233、逆量子化部(dequantizer)234、逆変換部(inverse transformer)235を備えることができる。レジデュアル処理部230は、減算部(subtractor、231)をさらに備えることができる。加算部250は、復元部(reconstructor)または復元ブロック生成部(recontructged block generator)と呼ばれることができる。上述した画像分割部210、予測部220、レジデュアル処理部230、エントロピーエンコーディング部240、加算部250、及びフィルタリング部260は、実施形態によって1つ以上のハードウェアコンポーネント(例えば、エンコーダチップセットまたはプロセッサ)によって構成されることができる。また、メモリ270は、DPB(decoded picture buffer)を備えることができ、デジタル格納媒体によって構成されることもできる。前記ハードウェアコンポーネントは、メモリ270を内/外部コンポーネントとしてさらに備えることもできる。
【0037】
画像分割部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)を導く単位であることができる。
【0038】
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)等の集合を示すことができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すことができ、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(または、画像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
【0039】
エンコーディング装置200は、入力映像信号(原本ブロック、原本サンプルアレイ)からインター予測部221又はイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算してレジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成し、生成されたレジデュアル信号は変換部232に送信される。この場合、図示されているように、エンコーダ200内において入力映像信号(原本ブロック、原本サンプルアレイ)から予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれる。予測部220は、処理対象ブロック(以下、現在ブロックという)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部220は、現在ブロック又はCU単位でイントラ予測が適用されるか又はインター予測が適用されるかを決定する。予測部220は、各予測モードに関する説明において後述するように予測モード情報などの予測に関する様々な情報を生成してエントロピーエンコーディング部240に伝達することができる。予測に関する情報はエントロピーエンコーディング部240においてエンコーディングされてビットストリームの形態で出力されることができる。
【0040】
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置することができ、または、離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは、例示であり、設定によってそれ以上またはそれ以下の個数の方向性予測モードが使用され得る。イントラ予測部222は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0041】
インター予測部221は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを導くことができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを含むことができる。前記参照ブロックを含む参照ピクチャと前記時間的隣接ブロックを含む参照ピクチャとは同じであることができ、異なることもできる。前記時間的隣接ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(col CU)などの名前で呼ばれることができ、前記時間的隣接ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)と呼ばれることもできる。例えば、インター予測部221は、隣接ブロックに基づいて動き情報候補リストを構成し、前記現在ブロックの動きベクトル及び/または参照ピクチャインデックスを導出するために、どの候補が使用されるかを指示する情報を生成することができる。様々な予測モードに基づいてインター予測が行われ得るし、例えば、スキップモードとマージモードとの場合に、インター予測部221は、隣接ブロックの動き情報を現在ブロックの動き情報として利用することができる。スキップモードの場合、マージモードとは異なり、レジデュアル信号が送信されないことがある。動き情報予測(motion vector prediction、MVP)モードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として用い、動きベクトル差分(motion vector difference)をシグナリングすることにより、現在ブロックの動きベクトルを指示することができる。
【0042】
予測部220は、後述する様々な予測方法に基づいて予測信号を生成する。例えば、予測部200は、1つのブロックに対する予測のためにイントラ予測又はインター予測を適用できるだけでなく、イントラ予測とインター予測を同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれる。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy:IBC)予測モードに基づくこともあり又はパレットモード(palette mode)に基づくこともある。前記IBC予測モード又はパレットモードは、例えば、SCC(screen content coding)のようにゲームなどのコンテンツ映像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内において予測を行うが、現在ピクチャ内において参照ブロックを導出する点でインター予測と類似して行われる。即ち、IBCは、本文書において説明されるインター予測技法のうち少なくとも1つを利用することができる。パレットモードは,イントラコーディング又はイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングすることができる。
【0043】
前記予測部(インター予測部221及び/又は前記イントラ予測部222を含む)を介して生成された予測信号は、復元信号を生成するために用いられるか、レジデュアル信号を生成するために用いられることができる。
【0044】
変換部232は、レジデュアル信号に変換技法を適用して変換係数(transform coefficients)を生成することができる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、GBT(Graph-Based Transform)、又はCNT(Conditionally Non-linear Transform)の少なくとも1つを含む。ここで、GBTは、ピクセル間の関係情報をグラフで表現する時、このグラフから得られた変換を意味する。CNTは、以前に復元された全てのピクセル(all previously reconstructed pixel)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同一のサイズを有するピクセルブロックに適用されてもよく、正方形ではない可変サイズのブロックに適用されてもよい。
【0045】
量子化部233は、変換係数を量子化してエントロピーエンコーディング部240に送信し、エントロピーエンコーディング部240は、量子化された信号(量子化された変換係数に関する情報)をエンコーディングしてビットストリームとして出力する。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれてもよい。量子化部233は、係数スキャン順序(scan order)に基づいてブロック形態の量子化された変換係数を1次元ベクトル形態で再整列し、前記1次元ベクトル形態の量子化された変換係数に基づいて前記量子化された変換係数に関する情報を生成することもできる。
【0046】
エントロピーエンコーディング部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に含まれてもよい。
【0047】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロック又はレジデュアルサンプル)を復元する。加算部250が復元されたレジデュアル信号をインター予測部221又はイントラ予測部222から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成される。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部250は、復元部又は復元ブロック生成部と呼ばれてもよい。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用され、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0048】
一方、ピクチャエンコーディング及び/又は復元過程においてLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0049】
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成し、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納する。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含む。フィルタリング部260は、各フィルタリング方法に関する説明において後述するように、フィルタリングに関する様々な情報を生成してエントロピーエンコーディング部240に伝達する。フィルタリングに関する情報は、エントロピーエンコーディング部240においてエンコーディングされてビットストリーム形態で出力される。
【0050】
メモリ270に送信された修正された復元ピクチャは、インター予測部221において参照ピクチャとして使用されることができる。エンコーディング装置は、これによりインター予測が適用される場合、エンコーディング装置100とデコーディング装置における予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【0051】
メモリ270のDPBは、修正された復元ピクチャをインター予測部221での参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコーディングされた)ブロックの動き情報及び/または既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するためにインター予測部221に伝達できる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達できる。
【0052】
図3は、本文書の実施例が適用されることができるビデオ/映像デコーディング装置の構成を概略的に説明する図である。
【0053】
図3に示すように、デコーディング装置300は、エントロピーデコーディング部(entropy decoder)310、レジデュアル処理部(residual processor)320、予測部(predictor)330、加算部(adder)340、フィルタリング部(filter)350、及びメモリ(memoery)360を備えて構成されることができる。予測部330は、インター予測部331及びイントラ予測部332を備えることができる。レジデュアル処理部320は、逆量子化部(dequantizer)321及び逆変換部(inverse transformer)321を備えることができる。上述したエントロピーデコーディング部310、レジデュアル処理部320、予測部330、加算部340、及びフィルタリング部350は、実施形態によって1つのハードウェアコンポーネント(例えば、デコーダチップセットまたはプロセッサ)により構成されることができる。また、メモリ360は、DPB(decoded picture buffer)を備えることができ、デジタル格納媒体により構成されることもできる。前記ハードウェアコンポーネントは、メモリ360を内/外部コンポーネントとしてさらに備えることもできる。
【0054】
ビデオ/画像情報を含むビットストリームが入力されれば、デコーディング装置300は、図3のエンコーディング装置でビデオ/画像情報が処理されたプロセスに対応して画像を復元することができる。例えば、デコーディング装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出することができる。デコーディング装置300は、エンコーディング装置で適用された処理ユニットを用いてデコーディングを行うことができる。したがって、デコーディングの処理ユニットは、例えば、コーディングユニットであることができ、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/またはターナリツリー構造にしたがって分割されることができる。コーディングユニットから1つ以上の変換ユニットが導出され得る。そして、デコーディング装置300を介してデコーディング及び出力された復元画像信号は、再生装置を介して再生されることができる。
【0055】
デコーディング装置300は、図2のエンコーディング装置から出力された信号をビットストリームの形態で受信し、受信された信号はエントロピーデコーディング部310によりデコーディングされる。例えば、エントロピーデコーディング部310は、前記ビットストリームをパーシング(parsing)して映像復元(又はピクチャ復元)に必要な情報(例えば、ビデオ/映像情報)を導出することができる。前記ビデオ/映像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)などの様々なパラメータセットに関する情報をさらに含んでもよい。また、前記ビデオ/映像情報は一般制限情報(general constraint information)をさらに含んでもよい。デコーディング装置は、前記パラメータセットに関する情報及び/又は前記一般制限情報をさらに基づいてピクチャをデコーディングすることができる。本文書において後述されるシグナリング/受信される情報及び/又はシンタックス要素は、前記デコーディング手順を介してデコーディングされて前記ビットストリームから取得できる。例えば、エントロピーデコーディング部310は、指数ゴロム符号化、CAVLC(context-adaptive variable length coding)又はCABAC(context-adaptive arithmetic coding)などのコーディング方法に基づいてビットストリーム内の情報をデコーディングし、映像復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値を出力する。より詳細に、CABACエントロピーデコーディング方法は、ビットストリームにおいて各構文要素に該当するビン(bin)を受信し、デコーディング対象構文要素情報と周辺及びデコーディング対象ブロックのデコーディング情報または以前ステップでデコーディングされたシンボル/ビンの情報を利用して文脈(context)モデルを決定し、決定された文脈モデルに応じてビンの発生確率を予測してビンの算術デコーディング(arithmetic decoding)を実行して各構文要素の値に該当するシンボルを生成することができる。この時、CABACエントロピーデコーディング方法は、文脈モデル決定の後、次のシンボル/ビンの文脈モデルのためにデコーディングされたシンボル/ビンの情報を利用して文脈モデルをアップデートすることができる。エントロピーデコーディング部310においてデコーディングされた情報のうち予測に関する情報は予測部(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコーディング部310においてエントロピーデコーディングが行われたレジデュアル値、即ち、量子化された変換係数及び関連パラメータ情報はレジデュアル処理部320に入力されることができる。
【0056】
レジデュアル処理部320は、レジデュアル信号(レジデュアルブロック、レジデュアルサンプル、レジデュアルサンプルアレイ)を導出することができる。また、エントロピーデコーディング部310においてデコーディングされた情報のうちフィルタリングに関する情報はフィルタリング部350に提供される。一方、エンコーディング装置から出力された信号を受信する受信部(図示せず)がデコーディング装置300の内/外エレメントとしてさらに構成されてもよく、また、受信部はエントロピーデコーディング部310の構成要素であってもよい。一方、本文書によるデコーディング装置はビデオ/映像/ピクチャデコーディング装置と呼ばれてもよく、前記デコーディング装置は情報デコーダ(ビデオ/映像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/映像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは前記エントロピーデコーディング部310を含み、前記サンプルデコーダは前記逆量子化部321、逆変換部322、加算部340、フィルタリング部350、メモリ360、インター予測部332及びイントラ予測部331の少なくとも1つを含む。
【0057】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコーディング装置で行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
【0058】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
【0059】
予測部330は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成する。予測部330は、エントロピーデコーディング部310から出力された前記予測に関する情報に基づいて前記現在ブロックにイントラ予測が適用されるか又はインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モードを決定することができる。
【0060】
予測部330は、後述する多様な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のためにイントラ予測又はインター予測を適用できるだけでなく、イントラ予測とインター予測を同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれてもよい。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy:IBC)予測モードに基づいてもよく又はパレットモード(palette mode)に基づいてもよい。前記IBC予測モード又はパレットモードは、例えば、SCC(screen content coding)のように、ゲームなどのコンテンツ映像/動画コーディングのために使用できる。IBCは基本的に現在ピクチャ内において予測を行うが、現在ピクチャ内において参照ブロックを導出する点でインター予測と類似して行われることができる。即ち、IBCは、本文書において説明されるインター予測技法のうち少なくとも1つを利用することができる。パレットモードは,イントラコーディング又はイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/映像情報に含まれてシグナリングされる。
【0061】
イントラ予測部331は現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbour)に位置してもよく、又は、離れて位置してもよい。イントラ予測において予測モードは複数の非方向性モードと複数の方向性モードを含む。イントラ予測部331は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0062】
インター予測部332は、参照ピクチャ上において動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。その時、インター予測モードで送信される動き情報の量を減らすために周辺ブロックと現在ブロック間の動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクタ及び参照ピクチャインデックスを含む。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測など)情報をさらに含んでもよい。インター予測の場合、周辺ブロックは現在ピクチャ内に存在する空間的周辺ブロック(spatial neighbouring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighbouring block)を含む。例えば、インター予測部332は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出することができる。様々な予測モードに基づいてインター予測が行われることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測モードを指示する情報を含む。
【0063】
加算部340は、取得されたレジデュアル信号を予測部(インター予測部332及び/又はイントラ予測部331を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。
【0064】
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使われることができ、後述するように、フィルタリングを経て出力されることもでき、または、次のピクチャのインター予測のために使われることもできる。
【0065】
一方、ピクチャデコーディング過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0066】
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに多様なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ60、具体的に、メモリ360のDPBに送信できる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
【0067】
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部332において参照ピクチャとして使用できる。メモリ360は、現在ピクチャ内の動き情報が導出された(又はデコーディングされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的周辺ブロックの動き情報又は時間的周辺ブロックの動き情報として活用するためにインター予測部221に伝達する。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納でき、イントラ予測部331に伝達することができる。
【0068】
本文書において、エンコーディング装置200のフィルタリング部260、インター予測部221、及びイントラ予測部222で説明された実施例は、各々、デコーディング装置300のフィルタリング部350、インター予測部332、及びイントラ予測部331にも同一または対応されるように適用されることができる。
【0069】
本文書によるビデオ/映像コーディング方法は、次のようなパーティショニング構造に基づいて実行されることができる。具体的に、後述する予測、レジデュアル処理((逆)変換、(逆)量子化等)、シンタックス要素コーディング、フィルタリングなどの手順は、前記パーティショニング構造に基づいて導出されたCTU、CU(及び/またはTU、PU)に基づいて実行されることができる。ブロックパーティショニング手順は、前述したエンコーディング装置の映像分割部210で実行され、パーティショニング関連情報がエントロピーエンコーディング部240で(エンコーディング)処理されてビットストリーム形態でデコーディング装置に伝達されることができる。デコーディング装置のエントロピーデコーディング部310は、前記ビットストリームから取得した前記パーティショニング関連情報に基づいて現在ピクチャのブロックパーティショニング構造を導出し、これに基づいて映像デコーディングのための一連の手順(例えば、予測、レジデュアル処理、ブロック/ピクチャ復元、インループフィルタリング等)を実行することができる。CUサイズとTUサイズが同じこともあり、またはCU領域内に複数のTUが存在することもある。一方、CUサイズとは、一般的にルマ成分(サンプル)CB(coding block)サイズを示すことができる。TUサイズとは、一般的にルマ成分(サンプル)TB(transform block)サイズを示すことができる。クロマ成分(サンプル)CBまたはTBサイズは、ピクチャ/映像のカラーフォーマット(クロマフォーマット、例えば、4:4:4、4:2:2、4:2:0等)による成分比によってルマ成分(サンプル)CBまたはTBサイズに基づいて導出されることができる。前記TUサイズは、maxTbSizeに基づいて導出されることができる。例えば、前記CUサイズが前記maxTbSizeより大きい場合、前記CUから前記maxTbSizeの複数のTU(TB)が導出され、前記TU(TB)単位で変換/逆変換が実行されることができる。また、例えば、イントラ予測が適用される場合、イントラ予測モード/タイプは、前記CU(または、CB)単位で導出され、周辺参照サンプル導出及び予測サンプル生成手順は、TU(または、TB)単位で実行されることができる。この場合、一つのCU(または、CB)領域内に一つまたは複数のTU(または、TB)が存在でき、この場合、前記複数のTU(または、TB)は、同じイントラ予測モード/タイプを共有することができる。
【0070】
また、本文書によるビデオ/イメージのコーディングにおいて、映像処理単位は、階層的構造を有することができる。一つのピクチャは、一つ以上のタイル、ブリック、スライス及び/またはタイルグループに区分されることができる。一つのスライスは、一つ以上のブリックを含むことができる。一つのブリックは、タイル内の一つ以上のCTU行(row)を含むことができる。スライスは、ピクチャの整数個のブリックを含むことができる。一つのタイルグループは、一つ以上のタイルを含むことができる。一つのタイルは、一つ以上のCTUを含むことができる。前記CTUは、一つ以上のCUに分割されることができる。タイルは、ピクチャ内で特定タイル行及び特定タイル列内のCTUsを含む四角領域である(A rectangular region of CTUs within a particular tile column and a particular tile row in a picture)。タイルグループは、ピクチャ内のタイルラスタースキャンによる整数個のタイルを含むことができる。スライスヘッダは、該当スライス(スライス内のブロック)に適用されることができる情報/パラメータを運ぶことができる。エンコーディング/デコーディング装置がマルチコアプロセッサを有する場合、前記タイル、スライス、ブリック、及び/またはタイルグループに対するエンコーディング/デコーディング手順は、並列処理されることができる。本文書において、スライスまたはタイルグループは、混用されることができる。即ち、タイルグループヘッダは、スライスヘッダと呼ばれることができる。ここで、スライスは、intra(I)slice、predictive(P)slice、及びbi-predictive(B)sliceを含むスライスタイプのうち一つのタイプを有することができる。Iスライス内のブロックに対しては、予測のためにインター予測は使われずにイントラ予測のみが使われることができる。もちろん、この場合にも予測無しで原本サンプル値をコーディングしてシグナリングすることもできる。Pスライス内のブロックに対してはイントラ予測またはインター予測が使われることができ、インター予測が使われる場合は単(uni)予測のみが使われることができる。一方、Bスライス内のブロックに対してはイントラ予測またはインター予測が使われることができ、インター予測が使われる場合は最大対(bi)予測まで使われることができる。
【0071】
エンコーダでは、ビデオ映像の特性(例えば、解像度)によってまたはコーディングの効率または並列処理を考慮してタイル/タイルグループ、ブリック、スライス、最大及び最小コーディングユニット大きさを決定し、これに対する情報またはこれを誘導することができる情報がビットストリームに含まれることができる。
【0072】
デコーダーでは、現在ピクチャのタイル/タイルグループ、ブリック、スライス、タイル内のCTUが多数のコーディングユニットに分割されたかなどを示す情報を取得することができる。このような情報は、特定条件下にのみ取得するように(送信されるように)すると、効率を上げることができる。
【0073】
前記スライスヘッダ(スライスヘッダシンタックス)は、前記スライスに共通的に適用できる情報/パラメータを含むことができる。APS(APSシンタックス)またはPPS(PPSシンタックス)は、一つ以上のピクチャに共通的に適用できる情報/パラメータを含むことができる。前記SPS(SPSシンタックス)は、一つ以上のシーケンスに共通的に適用できる情報/パラメータを含むことができる。前記VPS(VPSシンタックス)は、多重レイヤに共通的に適用できる情報/パラメータを含むことができる。前記DPS(DPSシンタックス)は、ビデオ全般に共通的に適用できる情報/パラメータを含むことができる。前記DPSは、CVS(coded video sequence)のconcatenationに関連した情報/パラメータを含むことができる。
【0074】
本文書において、上位レベルシンタックスとは、前記APSシンタックス、PPSシンタックス、SPSシンタックス、VPSシンタックス、DPSシンタックス、スライスヘッダシンタックスのうち少なくとも一つを含むことができる。
【0075】
また、例えば、前記タイル/タイルグループ/ブリック/スライスの分割及び構成などに関する情報は、前記上位レベルシンタックスを介してエンコーディング端で構成されてビットストリーム形態でデコーディング装置に伝達されることができる。
【0076】
本文書において、量子化/逆量子化及び/または変換/逆変換のうち少なくとも一つは省略されることができる。前記量子化/逆量子化が省略される場合、前記量子化された変換係数は、変換係数と呼ばれることができる。前記変換/逆変換が省略される場合、前記変換係数は、係数またはレジデュアル係数と呼ばれることもでき、または表現の統一性のために、依然として変換係数と呼ばれることもできる。
【0077】
本文書において、量子化された変換係数及び変換係数は、各々、変換係数及びスケーリングされた(scaled)変換係数と呼ばれることができる。この場合、レジデュアル情報は、変換係数(ら)に関する情報を含むことができ、前記変換係数(ら)に関する情報は、レジデュアルコーディングシンタックスを介してシグナリングされることができる。前記レジデュアル情報(または、前記変換係数(ら)に関する情報)に基づいて変換係数が導出されることができ、前記変換係数に対する逆変換(スケーリング)を介してスケーリングされた変換係数が導出されることができる。前記スケーリングされた変換係数に対する逆変換(変換)に基づいてレジデュアルサンプルが導出されることができる。これは本文書の他の部分でも同様に適用/表現されることができる。
【0078】
前述した内容のように、エンコーディング装置は、例えば、指数ゴロム(exponential Golomb)、CAVLC(Context-Adaptive Variable Length Coding)、CABAC(Context-Adaptive Binary Arithmetic Coding)などのような多様なエンコーディング方法を実行することができる。また、デコーディング装置は、指数ゴロム符号化、CAVLCまたはCABACなどのコーディング方法に基づいてビットストリーム内の情報をデコーディングし、映像復元に必要なシンタックス要素の値、レジデュアルに関する変換係数の量子化された値を出力することができる。例えば、前述したコーディング方法は、後述する内容のように実行されることができる。
【0079】
図4は、シンタックス要素をエンコーディングするためのCABAC(Context-Adaptive Binary Arithmetic Coding)を例示的に示す。
【0080】
CABACの符号化過程は、入力信号が二進値でないシンタックス要素である場合に二進化(binarization)を介して前記入力信号を二進値に変換する過程を含むことができる。入力信号が既に二進値である場合(即ち、前記入力信号の値が二進値である場合)は、該当入力信号に対して二進化が実行されずにバイパス(bypass)されることができる。ここで、二進値を構成する各々の二進数0または1をbinということができる。例えば、二進化された後の二進ストリングが110である場合、1、1、0の各々を一つのbinという。一つのシンタックス要素に対する前記bin(ら)は、前記シンタックス要素の値を示すことができる。
【0081】
シンタックス要素の二進化されたbinは、正規(regular)符号化エンジンまたはバイパス符号化エンジンに入力されることができる。前記正規符号化エンジンは、該当binに対して確率値を反映するコンテキストモデル(context model)を割り当てることができ、割り当てられたコンテキストモデルに基づいて該当binをコーディングすることができる。前記正規符号化エンジンは、各binに対するコーディングを実行した後に該当binに対するコンテキストモデルを更新することができる。前述した内容のように、コーディングされるbinは、文脈符号化bin(context-coded bin)ということができる。
【0082】
一方、前記シンタックス要素の二進化されたbinがバイパス符号化エンジンに入力される場合、次のようにコーディングされることができる。例えば、エンコーディング装置のバイパス符号化エンジンは、入力されたbinに対して確率を推定する手順と、符号化後に前記binに適用した確率モデルを更新する手順を省略する。バイパスエンコーディングが適用される場合、エンコーディング装置は、コンテキストモデルを割り当てる代わりに、均一な確率分布を適用して入力されるbinをエンコーディングすることができ、これを介してエンコーディング速度を向上させることができる。前述した内容のように、エンコーディングされるbinは、バイパスbin(bypass bin)ということができる。
【0083】
エントロピーデコーディングは、前述したエントロピーエンコーディングと同じ過程を逆順に実行する。例えば、シンタックス要素がコンテキストモデルに基づいてデコーディングされる場合、デコーディング装置は、ビットストリームを介して前記シンタックス要素に該当するbinを受信することができる。そして、前記シンタックス要素とデコーディング対象ブロックまたは周辺ブロックのデコーディング情報または以前ステップでデコーディングされたシンボル/binの情報を利用してコンテキストモデル(context model)を決定し、決定されたコンテキストモデルによって前記受信されたbinの発生確率を予測してbinの算術デコーディング(arithmetic decoding)を実行することで前記シンタックス要素の値を導出することができる。以後、前記決定されたコンテキストモデルとして次にデコーディングされるbinのコンテキストモデルがアップデートされることができる。
【0084】
また、例えば、シンタックス要素がバイパスデコーディングされる場合、デコーディング装置は、ビットストリームを介して前記シンタックス要素に該当するbinを受信することができ、均一な確率分布を適用して入力されるbinをデコーディングすることができる。この場合、シンタックス要素のコンテキストモデルを導出する手順と、デコーディング以後に前記binに適用したコンテキストモデルを更新する手順は、省略されることができる。
【0085】
レジデュアルサンプルは、変換、量子化過程を経て量子化された変換係数として導出されることができる。量子化された変換係数は、変換係数とも呼ばれることができる。この場合、ブロック内の変換係数は、レジデュアル情報の形態でシグナリングされることができる。前記レジデュアル情報は、レジデュアルコーディングシンタックスを含むことができる。即ち、エンコーディング装置は、レジデュアル情報に基づいてレジデュアルコーディングシンタックスを構成し、これをエンコーディングしてビットストリーム形態で出力でき、デコーディング装置は、ビットストリームから取得したレジデュアルコーディングシンタックスをデコーディングしてレジデュアル(量子化された)変換係数を導出することができる。前記レジデュアルコーディングシンタックスは、後述するように該当ブロックに対して変換が適用されたか、ブロック内の最後の有効変換係数の位置がどこであるか、サブブロック内の有効変換係数が存在するか、有効変換係数の大きさ/符号がどうであるかなどを示すシンタックス要素(syntax elements)を含むことができる。
【0086】
例えば、(量子化された)変換係数は、last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix、last_sig_coeff_y_suffix、coded_sub_block_flag、sig_coeff_flag、par_level_flag、abs_level_gtX_flag、abs_remainder、coeff_sign_flag、dec_abs_levelなどのシンタックス要素に基づいてエンコーディング及び/またはデコーディングされることができる。これはレジデュアル(データ)コーディングまたは(変換)係数コーディングと呼ばれることができる。レジデュアルデータのエンコーディング/デコーディングと関連したシンタックス要素は、以下の表1または表2のように示すことができる。
【0087】
【表1-1】
【0088】
【表1-2】
【0089】
【表1-3】
【0090】
【表1-4】
【0091】
【表1-5】
【0092】
【表1-6】
【0093】
【表1-7】
【0094】
【表2-1】
【0095】
【表2-2】
【0096】
【表2-3】
【0097】
【表2-4】
【0098】
【表2-5】
【0099】
【表2-6】
【0100】
【表2-7】
【0101】
【表2-8】
【0102】
表1及び表2において、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と混用されることができることは、前述の通りである。
【0103】
前記変換省略フラグによるレジデュアルコーディングのためのシンタックスは、表3または表4の通りである。
【0104】
【表3-1】
【0105】
【表3-2】
【0106】
【表3-3】
【0107】
【表3-4】
【0108】
【表4-1】
【0109】
【表4-2】
【0110】
【表4-3】
【0111】
【表4-4】
【0112】
【表4-5】
【0113】
本実施例によると、変換省略フラグtransform_skip_flagの値によってレジデュアルコーディングが分岐されることができる。即ち、変換省略フラグの値に基づいて(変換省略可否に基づいて)、レジデュアルコーディングのために異なるシンタックス要素が使われることができる。変換省略が適用されない場合(即ち、変換が適用された場合)に使われるレジデュアルコーディングは、レギュラーレジデュアルコーディング(Regular Residual Coding、RRC)と呼ばれることができ、変換省略が適用されない場合(即ち、変換が適用されない場合)のレジデュアルコーディングは、変換省略レジデュアルコーディング(Transform Skip Residual Coding、TSRC)と呼ばれることができる。また、前記レギュラーレジデュアルコーディングは、一般的なレジデュアルコーディング(general residual coding)と呼ばれることもできる。また、前記レギュラーレジデュアルコーディングは、レギュラーレジデュアルコーディングシンタックス構造と呼ばれることができ、前記変換省略レジデュアルコーディングは、変換省略レジデュアルコーディングシンタックス構造と呼ばれることができる。表1及び表2は、transform_skip_flagの値が0である場合、即ち、変換が適用された場合のレジデュアルコーディングのシンタックス要素を示すことができ、表3及び表4は、transform_skip_flagの値が1である場合、即ち、変換が適用されない場合のレジデュアルコーディングのシンタックス要素を示すことができる。
【0114】
具体的に、一例として、変換ブロックの変換省略可否を指示する変換省略フラグがパーシングされることができ、前記変換省略フラグが1であるかどうかが判断されることができる。前記変換省略フラグの値が0である場合、表1または表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、dec_abs_level、及び/またはcoeff_sign_flagがパーシングされることができ、前記シンタックス要素に基づいて前記レジデュアル係数が導出されることができる。この場合、前記シンタックス要素は、順次にパーシングされることもでき、パーシング順序が変更されることもできる。また、前記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)の一例示である。
【0115】
一実施例において、エンコーディング装置は、シンタックス要素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)にイントラ/インター予測が適用されるかどうか及び/または具体的なイントラ/インター予測モードに基づいて決定されることができる。
【0116】
その次に、エンコーディング装置は、前記変換ブロックを4×4サブブロック(sub-block)に分割した後、各4×4サブブロック毎に1ビットのシンタックス要素coded_sub_block_flagを使用して現在サブブロック内に0でない係数が存在するかどうかを示すことができる。
【0117】
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であると仮定されることができる。
【0118】
もし、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でない有効係数であるかどうかを示す有効係数フラグのシンタックス要素の一例示に該当できる。
【0119】
sig_coeff_flagに対する符号化以後の残っているレベル値は、以下の数式のように導出されることができる。即ち、符号化すべきレベル値を示すシンタックス要素remAbsLevelは、以下の数式のように導出されることができる。
【0120】
【数1】
【0121】
ここで、coeff[n]は、実際変換係数値を意味する。
【0122】
また、abs_level_gtx_flag[n][0]は、該当スキャニング位置(n)でのremAbsLevel[n]が1より大きいかどうかを示すことができる。例えば、abs_level_gtx_flag[n][0]の値が0である場合、該当位置の変換係数の絶対値(absolute value)は、1である。また、前記abs_level_gtx_flag[n][0]の値が1である場合、以後符号化すべきレベル値を示す前記remAbsLevel[n]は、以下の数式のようにアップデートされることができる。
【0123】
【数2】
【0124】
また、前述した数式2に記載されたremAbsLevel[n]のleast significant coefficient(LSB)値は、以下の数式3のようにpar_level_flagを介してエンコーディングされることができる。
【0125】
【数3】
【0126】
ここで、par_level_flag[n]は、スキャニング位置nでの変換係数レベル(値)のパリティ(parity)を示すことができる。
【0127】
par_leve_flag[n]エンコーディング後にエンコーディングすべき変換係数レベル値remAbsLevel[n]は、以下の数式のようにアップデートされることができる。
【0128】
【数4】
【0129】
abs_level_gtx_flag[n][1]は、該当スキャニング位置(n)でのremAbsLevelが3より大きいかどうかを示すことができる。abs_level_gtx_flag[n][1]が1である場合にのみabs_remainder[n]に対するエンコーディングが実行されることができる。実際変換係数値であるcoeffと各シンタックス要素の関係は、以下の数式の通りである。
【0130】
【数5】
【0131】
また、以下の表5は、前述した数式5と関連した例示を示す。
【0132】
【表5】
【0133】
ここで、|coeff[n]|は、変換係数レベル(値)を示し、変換係数に対するAbsLevelと表示されることもできる。また、各係数の符号は、1ビットシンボルであるcoeff_sign_flagを利用してエンコーディングされることができる。
【0134】
また、他の例として、前記変換省略フラグの値が1である場合、表3または表4に示すように、変換ブロックのレジデュアル係数に対するシンタックス要素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の閾値等、所定の閾値に代替されることもできる。
【0135】
一方、CABACは、高い性能を提供するが、処理量(throughput)性能がよくないという短所を有する。これはCABACの正規符号化エンジンによることであって、正規符号化(即ち、CABACの正規符号化エンジンを介したエンコーディング)は、以前binの符号化を介してアップデートされた確率状態と範囲を使用するため、高いデータ依存性を示し、確率区間を読み込んで現在状態を判断するのに多くの時間がかかることができる。CABACの処理量問題は、文脈符号化bin(context-coded bin)の数を制限することによって解決されることができる。例えば、前述した表5のように、sig_coeff_flag[n]、abs_level_gtx_flag[n][0]、par_level_flag[n]、abs_level_gtx_flag[n][1]を表現するために使われたbinの和が変換ブロックの大きさによって変換ブロック内のピクセル当たり1.75個に制限されることができる。この場合、エンコーディング装置は、コンテキスト要素を符号化するのに制限された個数の文脈符号化binを全て使用すると、残りの係数をコンテキストコーディングを使用せずに後述する二進化方法を介して二進化することでバイパスコーディングを実行することができる。即ち、符号化された文脈符号化binの数がTUでTU width*TU height*1.75になる場合、これ以上文脈符号化binにコーディングされるsig_coeff_flag[n]、abs_level_gtx_flag[n][0]、par_level_flag[n]、abs_level_gtx_flag[n][1]は、コーディングされずに、以下の表6のように、直ちにdec_abs_level[n]に|coeff[n]|値がコーディングされることができる。
【0136】
【表6】
【0137】
この場合、各係数の符号(sign)は、1ビットシンボルであるcoeff_sign_flag[n]を利用してコーディングされることができる。
【0138】
図5は、4×4ブロック内の変換係数を例示的に示す。
【0139】
図5の4×4ブロックは、量子化された係数の一例を示す。図5に示すブロックは、4×4変換ブロックであり、または8×8、16×16、32×32、64×64変換ブロックの4×4サブブロックである。図5の4×4ブロックは、ルマブロックまたはクロマブロックを示すことができる。ただし、これは一つの例示に過ぎず、本実施例でラージブロック-サイズ(最大64×64サイズ)の変換が可能であり、これは主に高解像度ビデオ(例えば、1080p及び4Kシーケンス)に有用である。高周波変換係数は、サイズ(幅または高さまたは幅と高さの両方とも )が64である変換ブロックに対してゼロ化されて低周波係数のみが維持されることができる。例えば、Mがブロック幅であり、Nがブロック高さであるM×N変換ブロックの場合、Mが64である時、変換係数の左側32個列のみが維持されることができる。または、Nが64である時、変換係数の上側32個行のみが維持されることもできる。
【0140】
ラージサイズのブロックに対して変換省略モードが使われる場合、どのような値に対してもゼロ化無しで全体ブロックが使われることができる。SPSで構成可能な最大変換大きさがサポートされるため、エンコーディング装置は、特定具現の必要によって、最大16長さ、32長さまたは64長さの変換サイズを適応的に選択できる。具体的に、最後の0でない係数位置コーディングの二進化は、減少されたTUサイズに基づいてコーディングされ、最後の0でない係数位置コーディングに対するコンテキストモデル選択は、元来TUサイズにより決定されることができる。
【0141】
図5には一例として逆対角線スキャンされる係数に対する符号化結果が示されている。図5において、n(0乃至15)は、逆対角線スキャンによる係数の位置(scan position)を指定する。nが15である場合、4×4ブロックで最初にスキャンされる右下側コーナーの係数を示し、nが0である場合、最後にスキャンされる左上側コーナーの係数を示す。
【0142】
一方、前述したように、エンコーディング装置は、入力信号が二進値でないシンタックス要素である場合、前記入力信号の値を二進化(binarization)して入力信号を二進値に変換できる。また、デコーディング装置は、前記シンタックス要素をデコーディングして前記シンタックス要素の二進化された値(即ち、二進化されたbin)を導出することができ、前記二進化された値を逆二進化して前記シンタックス要素の値を導出することができる。前記二進化過程は、後述する切削型ライス(Truncated Rice、TR)二進化プロセス(binarization process)、k次Exp-Golomb(k-th order Exp-Golomb、EGk)二進化プロセス(binarization process)、LimitedK次Exp-Golomb(Limited k-th order Exp-Golomb、Limited EGk)、または固定長さ(Fixed-length、FL)二進化プロセス(binarization process)などで実行されることができる。また、逆二進化過程は、前記TR二進化プロセス、前記EGk二進化プロセス、前記Limetid EGK二進化プロセスまたは前記FL二進化プロセスに基づいて実行されて前記シンタックス要素の値を導出する過程を示すことができる。
【0143】
例えば、前記TR二進化プロセスは、下記のように実行されることができる。
【0144】
前記TR二進化プロセスの入力(input)は、TR二進化に対する要請とシンタックス要素に対するcMax及びcRiceParamである。また、前記TR二進化プロセスの出力(output)は、binストリングに対応する値symbolValに対するTR二進化である。
【0145】
一例として、シンタックス要素に対するサフィクス(suffix)binストリングが存在する場合、前記シンタックス要素に対するTR binストリングは、プリフィクス(prefix)binストリングとサフィクスbinストリングの結合(concatenation)であり、前記サフィクスbinストリングが存在しない場合、前記シンタックス要素に対する前記TR binストリングは、前記プリフィクスbinストリングである。例えば、前記プリフィクスbinストリングは、下記のように導出されることができる。
【0146】
前記symbolValのプリフィクス値(prefix value)は、以下の数式のように導出されることができる。
【0147】
【数6】
【0148】
ここで、prefixValは、symbolValのプリフィクス値を示すことができる。前記TR binストリングのプリフィクス(即ち、プリフィクスbinストリング)は、下記のように導出されることができる。
【0149】
例えば、前記prefixValがcMax>>cRiceParamより小さい場合、プリフィクスbinストリングは、binIdxによりインデクシングされる(indexed)長さprefixVal+1のビットストリング(bit string)である。即ち、前記prefixValがcMax>>cRiceParamより小さい場合、前記プリフィクスbinストリングは、binIdxが示すprefixVal+1ビット数のビットストリングである。prefixValより小さいbinIdxに対するbinは、1である。また、prefixValと同じbinIdxに対するbinは、0である。
【0150】
例えば、前記prefixValに対する単項二進化(unary binarization)で導出されるbinストリングは、以下の表7の通りである。
【0151】
【表7】
【0152】
一方、前記prefixValがcMax>>cRiceParamより小さくない場合、前記プリフィクスbinストリングは、長さがcMax>>cRiceParamであり、全てのbinが1であるビットストリングである。
【0153】
また、TR binストリングのサフィクスbinストリングは、cMaxがsymbolValより大きい、かつcRiceParamが0より大きい場合、存在できる。例えば、前記プリフィクスbinストリングは、下記のように導出されることができる。
【0154】
前記シンタックス要素に対する前記symbolValのサフィクス値(suffix value)は、以下の数式のように導出されることができる。
【0155】
【数7】
【0156】
ここで、suffixValは、前記symbolValのサフィクス値を示すことができる。
【0157】
TR binストリングのサフィクス(即ち、サフィクスbinストリング)は、cMax値が(1<<cRiceParam)-1であるsuffixValに対するFL二進化プロセスに基づいて導出されることができる。
【0158】
入力パラメータであるcRiceParamの値が0である場合、前記TR二進化は、正確に切削型単項二進化(truncated unary binarization)であり、常にデコーディングされるシンタックス要素の可能な最大値と同じcMax値が使われる。(For the input parameter cRiceParam=0,the TR binarization is exactly a truncated unary binarization and it is always invoked with a cMax value equal to the largest possible value of the syntax element being decoded.)
【0159】
一方、EGk二進化プロセスは、下記のように実行されることができる。
【0160】
EGk二進化プロセスの入力(input)は、EGk二進化に対する要請である。また、EGk二進化プロセスの出力(output)は、binストリングに対応する値symbolValに対するEGk二進化である。
【0161】
symbolValに対するEGk二進化プロセスのビットストリングは、下記のように導出されることができる。
【0162】
【表8】
【0163】
表8を参照すると、put(X)の各コール(each call)を介して二進値Xをbinストリングの端に追加できる。ここで、Xは、0または1である。
【0164】
また、Limited EGk二進化プロセスは、下記のように実行されることができる。
【0165】
Limited EGk二進化プロセスの入力(input)は、Limited EGk二進化に対する要請及びライスパラメータriceParamである。また、Limited EGk二進化プロセスの出力(output)は、該当binストリングと関連された値symbolValに対するLimited EGk二進化である。
【0166】
symbolValに対するLimited EGk二進化プロセスのbinストリングは、下記のように導出されることができる。
【0167】
【表9】
【0168】
表9を参照すると、put(X)の各コール(eachcall)を介して二進値Xをbinストリングの端に追加できる。ここで、Xは、0または1である。
【0169】
変数log2TransformRange及びmaxPrefixExtensionLengthは、下記のように導出されることができる。
【0170】
【数8】
【0171】
また、FL二進化プロセスは、下記のように実行されることができる。
【0172】
前記FL二進化プロセスの入力(input)は、FL二進化に対する要請及び前記シンタックス要素に対するcMaxである。また、前記FL二進化プロセスの出力(output)は、binストリングに対応する値symbolValに対するFL二進化である。
【0173】
FL二進化は、シンボル値symbolValの固定長さのビット数を有するbinストリングを使用して構成されることができる。ここで、前記固定長さは、以下の数式のように導出されることができる。
【0174】
【数9】
【0175】
即ち、FL二進化を介してシンボル値symbolValに対するbinストリングが導出されることができ、前記binストリングのbin長さ(即ち、ビット数)は、固定長さである。
【0176】
FL二進化に対するbinのインデクシングは、最上位ビットから最下位ビットの順序に増加する値を使用する方式である。例えば、前記最上位ビットと関連したbinインデックスは、binIdx=0である。
【0177】
一方、レジデュアル情報のうちシンタックス要素abs_remainder[n]に対する二進化プロセスは、下記のように実行されることができる。
【0178】
前記abs_remainder[n]に対する二進化プロセスの入力は、シンタックス要素abs_remainder[n]の二進化に対する要請、色相コンポーネントインデックス(color component)cIdx、ピクチャの左上側ルマサンプルを基準とする現在ルマ変換ブロックの左上側サンプルを示すルマ位置(x0、y0)、現在係数スキャン位置(xC、yC)、変換ブロック幅longTbWidthの二進対数(binary logarithm)、及び変換ブロック高さlog2TbHeightの二進対数である。前記abs_remainderに対する二進化プロセスの出力(output)は、前記abs_remainderの二進化(即ち、前記abs_remainderの二進化されたbinストリング)である。前記二進化プロセスを介して前記abs_remainderに対する可用binストリングが導出されることができる。
【0179】
前記abs_remainder[n]に対するライスパラメータcRiceParamは、前記色相コンポーネントインデックスcIdx及び前記ルマ位置(x0、y0)、前記現在係数スキャン位置(xC、yC)、前記変換ブロックの幅の二進対数であるlog2TbWidth及び変換ブロックの高さの二進対数であるlog2TbHeightを入力で実行されるライスパラメータ導出過程を介して導出されることができる。前記ライスパラメータ導出過程に対する具体的な説明は、後述する。
【0180】
現在コーディングされるabs_remainder[n]に対するcMaxは、前記ライスパラメータcRiceParamに基づいて導出されることができる。例えば、cMaxは、以下の数式のように導出されることができる。
【0181】
【数10】
【0182】
一方、シンタックス要素abs_remainder[n]に対する二進化、即ち、前記abs_remainder[n]に対するbinストリングは、サフィクスbinストリングが存在する場合、プリフィクスbinストリングと前記サフィクスbinストリングの結合(concatenation)である。前記サフィクスbinストリングが存在しない場合、前記abs_remainder[n]に対するbinストリングは、前記プリフィクスbinストリングである。
【0183】
例えば、abs_remainder[n]に対するプリフィクスbinストリングは、下記のように導出されることができる。
【0184】
前記abs_remainder[n]のプリフィクス値prefixValは、以下の数式のように導出されることができる。
【0185】
【数11】
【0186】
前記abs_remainder[n]のプリフィクスbinストリングは、cMax及び前記cRiceParamを入力として使用する前記prefixValに対するTR二進化プロセスを介して導出されることができる。
【0187】
前記プリフィクスbinストリングは、全てのビットが1であり、ビット長さが6であるビットストリングと同じ場合、前記abs_remainder[n]のサフィクスbinストリングが存在でき、これは、下記のように導出されることができる。
【0188】
前記abs_remainder[n]のサフィクス値suffixValは、以下の数式のように導出されることができる。
【0189】
【数12】
【0190】
前記abs_remainder[n]のサフィクスbinストリングは、cRiceParam+1及びcRiceParamを入力として使用する前記suffixValの二進化に対するLimited EGk二進化プロセスを介して導出されることができる。
【0191】
abs_remainder[n]に対するライスパラメータは、下記のような過程により導出されることができる。
【0192】
前記ライスパラメータ導出過程の入力は、ベースレベルbaseLevel、色相コンポーネントインデックス(color component index)cIdx、ルマ位置(x0、y0)、現在係数スキャン位置(xC、yC)、変換ブロックの幅の二進対数(binary logarithm)log2TbWidth、及び変換ブロックの高さの二進対数log2TbHeightである。前記ルマ位置(x0、y0)は、ピクチャの左上側ルマサンプルを基準とする現在ルマ変換ブロックの左上側サンプルを示すことができる。前記ライスパラメータ導出過程の出力は、前記ライスパラメータcRiceParamである。
【0193】
例えば、与えられたコンポーネントインデックスcIdxと左上側ルマ位置(x0、y0)を有する変換ブロックに対する配列AbsLevel[x][y]に基づいて、変数locSumAbsは、以下の表に開示されたた疑似コード(pseudo code)により導出されることができる。
【0194】
【表10】
【0195】
表10において、baseLevelが0である場合、変数sは、Max(0、QState-1)に設定され、ライスパラメータcRiceParam及び変数ZeroPos[n]は、変数locSumAbs、trafoSkip、及びsに基づいて、以下の表11のように導出されることができる。baseLevelが0より大きい場合、ライスパラメータcRiceParamは、変数locSumAbs及びtrafoSkipに基づいて、表11のように導出されることができる。
【0196】
【表11】
【0197】
一方、レジデュアル情報のうちシンタックス要素dec_abs_levelに対する二進化プロセスは、下記のように実行されることができる。
【0198】
前記dec_abs_levelに対する二進化プロセスの入力は、シンタックス要素dec_abs_level[n]の二進化に対する要請、色相コンポーネントインデックス(colour component)cIdx、ルマ位置(x0、y0)、現在係数スキャン位置(xC、yC)、変換ブロック幅の二進対数(binary logarithm)log2TbWidth、及び変換ブロック高さの二進対数log2TbHeightである。前記ルマ位置(x0、y0)は、ピクチャの左上側ルマサンプルを基準とする現在ルマ変換ブロックの左上側サンプルを示すことができる。
【0199】
前記dec_abs_levelに対する二進化プロセスの出力(output)は、前記dec_abs_levelの二進化(即ち、前記dec_abs_levelの二進化されたbinストリング)である。前記二進化プロセスを介して前記dec_abs_levelに対する可用binストリングが導出されることができる。
【0200】
前記dec_abs_level[n]に対するライスパラメータcRiceParamは、前記色相コンポーネントインデックスcIdx及びルマ位置(x0、y0)、現在係数スキャン位置(xC、yC)、変換ブロックの幅の二進対数であるlog2TbWidth及び変換ブロック高さの二進対数log2TbHeightを入力で実行されるライスパラメータ導出過程を介して導出されることができる。前記ライスパラメータ導出過程に対する具体的な説明は、後述する。
【0201】
また、例えば、前記dec_abs_level[n]に対するcMaxは、前記ライスパラメータcRiceParamに基づいて導出されることができる。前記cMaxは、数式10のように導出されることができる。
【0202】
一方、前記dec_abs_level[n]に対する二進化、即ち、前記dec_abs_level[n]に対するbinストリングは、サフィクスbinストリングが存在する場合、プリフィクスbinストリングとサフィクスbinストリングの結合(concatenation)である。また、前記サフィクスbinストリングが存在しない場合、前記dec_abs_level[n]に対するbinストリングは、前記プリフィクスbinストリングである。
【0203】
例えば、前記プリフィクスbinストリングは、下記のように導出されることができる。
【0204】
前記dec_abs_level[n]のプリフィクス値prefixValは、以下の数式のように導出されることができる。
【0205】
【数13】
【0206】
前記dec_abs_level[n]プリフィクスbinストリングは、cMax及びcRiceParamを入力として使用する前記prefixValに対するTR二進化プロセスを介して導出されることができる。
【0207】
前記プリフィクスbinストリングは、全てのビットが1であり、ビット長さが6であるビットストリングと同じ場合、前記dec_abs_level[n]のサフィクスbinストリングが存在でき、これは、下記のように導出されることができる。
【0208】
前記dec_abs_level[n]のサフィクス値suffixValは、以下の数式のように導出されることができる。
【0209】
【数14】
【0210】
前記dec_abs_level[n]のサフィクスbinストリングは、exp-Golomb次数kがcRiceParam+1に設定されるsuffixValの二進化に対するLimited EGk二進化プロセスを介して導出されることができる。
【0211】
dec_abs_level[n]に対するライスパラメータは、表10の疑似コード(pseudo code)により導出されることができる。
【0212】
一方、前述したレギュラーレジデュアルコーディング(Regular Residual Coding、RRC)と変換省略レジデュアルコーディング(Transform Skip Residual Coding、TSRC)は、下記のような相違点を有することができる。
【0213】
例えば、レギュラーレジデュアルコーディングでのシンタックス要素abs_remainder[]のライスパラメータcRiceParamは、前述した説明のように導出されることができるが、変換省略レジデュアルコーディングでのシンタックス要素abs_remainder[]のライスパラメータcRiceParamは、1に導出されることができる。即ち、例えば、現在ブロック(例えば、現在TB)に対して変換省略(transform skip)が適用される場合、前記現在ブロックに対する変換省略レジデュアルコーディングのabs_remainder[]に対するライスパラメータcRiceParamは、1に導出されることができる。
【0214】
また、表1乃至表4を参照すると、レギュラーレジデュアルコーディングではabs_level_gtx_flag[n][0]及び/またはabs_level_gtx_flag[n][1]がシグナリングされることができるが、変換省略レジデュアルコーディングでは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_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)より大きいかどうかに対するフラグである。
【0215】
前述した内容のように、変換省略レジデュアルコーディングは、レギュラーレジデュアルコーディングに比較して、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]をさらに含むことができる。
【0216】
また、例えば、レギュラーレジデュアルコーディングでシンタックス要素coeff_sign_flagは、バイパスコーディングされることができるが、変換省略レジデュアルコーディングでシンタックス要素coeff_sign_flagは、バイパスコーディングまたはコンテキストコーディングされることができる。
【0217】
以下の説明は、本文書の具体的な一例を説明するために作成された。以下で具体的な装置の名称や具体的な信号/情報の名称は、例示的に提示されたものであるため、本明細書の技術的特徴が以下の説明に使われた具体的な名称に制限されるものではない。
【0218】
以下では、レベルコーディングで変換係数のレベル値(または、絶対値)を示す情報(例えば、変換係数のレベル値を示すシンタックス要素dec_abs_level、変換係数の残余レベル値を示すシンタックス要素abs_remainder等)の二進化のためのライスパラメータを効率的に導出する方法が開示される。
【0219】
ライスパラメータは、変換係数のレベル値を二進化するのに使われる変数であって、現在ブロックに変換ブロックのためのレジデュアルデータコーディング(レギュラーレジデュアルコーディング)が適用される場合は、以下の表12のようなライスパラメータルックアップテーブル(rice parameter look-up table)を使用し、現在ブロックに変換省略ブロックのためのレジデュアルデータコーディング(変換省略レジデュアルコーディング)が適用される場合は、以下の表13のようなライスパラメータルックアップテーブルを使用する。ここで、前記ライスパラメータルックアップテーブルは、ライスパラメータに関するテーブルまたはライスパラメータの決定に使われるテーブルと呼ばれることができる。または、ライスパラメータ候補に関するテーブルと呼ばれることもできる。
【0220】
【表12】
【0221】
【表13】
【0222】
表12及び表13において、locSumAbsは、現在変換係数の周辺変換係数(ら)のレベル値(ら)の和に基づいて導出される値であって、一例として、表10の疑似コードにより導出されることができる。
【0223】
レベル値の二進化ステップにおいて、エンコーディング装置及びデコーディング装置は、ライスパラメータcRiceParamの値が小さいほど、小さいレベル値に短いコードワードを割り当てて小さいレベル値の二進化に有利なコードワードを生成し、ライスパラメータの値が大きいほど、大きいレベル値に短いコードワードを割り当てて大きいレベル値の二進化に有利なコードワードを生成する。
【0224】
しかし、映像の特性及び/または変換係数のレベル値に先行してコーディングされるシンタックスの有無/種類などによって、レベルコーディングにより平均的に発生するレベル値、または頻繁に発生するレベル値が異なる。また、無損失(または、近接無損失)符号化または低い量子化パラメータでコーディングされる高ビット率(high bit-rate)環境では互いに異なる特性を有するレベル値が混在されていることがある。このような場合は、ライスパラメータの導出のために一つのライスパラメータルックアップテーブルを利用することより、多数のライスパラメータルックアップテーブルを利用することが効率的である。
【0225】
したがって、一実施例によると、現在ブロックに変換ブロックのためのレジデュアルデータコーディング(レギュラーレジデュアルコーディング)が適用される場合と、現在ブロックに変換省略ブロックのためのレジデュアルデータコーディング(変換省略レジデュアルコーディング)が適用される場合に対して、各々、2個以上のライスパラメータルックアップテーブルが使われることができる。または、現在ブロックにレギュラーレジデュアルコーディングが適用されるかまたは変換省略レジデュアルコーディングが適用されるかにかかわらず、2個以上のライスパラメータルックアップテーブルが使われることができる。
【0226】
この場合、一例として、エンコーディング装置は、変換係数のレベル値を示すシンタックス要素(例えば、dec_abs_level、abs_remainder等)に先行してコーディングされるシンタックス要素の構成(シンタックス要素の有無、種類等)に基づいて、多数のライスパラメータルックアップテーブルの中から少なくとも一つのテーブルを選択してライスパラメータを導出することができる。または、エンコーディング装置は、残余データコーディングで符/復号化された文脈符号化bin(context coded bin)の数が、文脈符号化bin制約アルゴリズムにより設定された最大使用可能な文脈符号化binの数を超過するかどうかに基づいて、多数のライスパラメータルックアップテーブルの中から少なくとも一つのテーブルを選択してライスパラメータを導出することができる。
【0227】
ここで、前記多数のライスパラメータルックアップテーブルは、互いに異なるライスパラメータ最小値、ライスパラメータ最大値を有することができ、ライスパラメータの値のアップデート位置が互いに異なる場合がある。また、前記変換係数のレベル値を示すシンタックス要素に先行してコーディングされるシンタックス要素は、sig_coeff_flag、abs_level_gtx_flag、par_level_flagまたはcoeff_sign_flagのうち少なくとも一つを含むことができる。そして、前記文脈符号化bin制約アルゴリズムにより設定された最大使用可能な文脈符号化binの数は、変換ブロックに対するレジデュアルコーディングの場合、表1または表2のremBinsPass1に該当し、変換省略ブロックに対するレジデュアルコーディングの場合、表3のMaxCcbsに該当できる。
【0228】
一例として、二つのライスパラメータルックアップテーブルが存在する場合、第1のライスパラメータルックアップテーブル「A」は、ライスパラメータの最小値としてmを有し、ライスパラメータの最大値としてnを有することができる。第2のライスパラメータルックアップテーブル「B」は、ライスパラメータの最小値としてmを有し、ライスパラメータの最大値としてnを有することができる。レベルコーディングの性能向上のために、mは、mより大きい値に設定されることができ、nは、nより大きい値に設定されることができる。例えば、第1のライスパラメータルックアップテーブルは、以下の表14のように構成されることができ、第2のライスパラメータルックアップテーブルは、以下の表15のように構成されることができる。
【0229】
【表14】
【0230】
【表15】
【0231】
表14において、ライスパラメータの最小値と最大値は、各々、0と2であり、表15において、ライスパラメータの最小値と最大値は、各々、1と3である。即ち、表15のライスパラメータルックアップテーブルは、表14のライスパラメータルックアップテーブルに比べて、より大きい最小値と最大値を有する。また、表14において、ライスパラメータ値は、locSumAbs値が12及び24である時、アップデートされ、表15において、ライスパラメータ値は、locSumAbs値が7及び18である時、アップデートされる。即ち、表14のライスパラメータルックアップテーブルと表15のライスパラメータルックアップテーブルは、互いに異なるライスパラメータ値のアップデート位置を有する。
【0232】
したがって、表15のライスパラメータルックアップテーブルは、表14のライスパラメータルックアップテーブルに比べて相対的に大きいレベル値が頻繁に現れる場合または符号化中である下位ブロックのレベル値または係数の平均が大きい場合に利点を有することができる。
【0233】
表14及び表15のライスパラメータルックアップテーブルは、本実施例によって使われることができる多様なライスパラメータルックアップテーブルの一例に過ぎず、本実施例を適用する時、ライスパラメータルックアップテーブルは、これに限定されるものではなく、互いに異なるライスパラメータ最小値、最大値、アップデート位置を有するテーブルが利用されることができる。
【0234】
一方、エンコーディング装置は、複数のライスパラメータルックアップテーブルのうち現在変換係数に対して使われるライスパラメータルックアップテーブルに関する情報を送信するためのシンタックス要素(または、フラグ)をシグナリングすることができる。前記シンタックス要素は、係数グループ(coefficient group、CG)単位でシグナリングされることもでき、変換ブロックまたは変換省略(コーディング)ブロック単位でシグナリングされることもできる。一例として、二つのライスパラメータルックアップテーブルが使われる場合、前記シンタックス要素の値が0である場合、これは第1のライスパラメータルックアップテーブルを示し、前記シンタックス要素の値が1である場合、これは第2のライスパラメータルックアップテーブルを示すことができる。前記シンタックス要素は、固定長さ二進化(fixed length binarization)、切削型単項二進化(truncated unary binarization)等、多様な方法のうち一つで二進化されることができる。
【0235】
デコーディング装置は、ビットストリームからライスパラメータルックアップテーブルに関する情報を示すシンタックス要素(または、フラグ)が取得される場合、多数のライスパラメータルックアップテーブルの中から前記シンタックス要素が示すライスパラメータルックアップテーブルを選択し、これに基づいて現在変換係数に対するライスパラメータを導出することができる。
【0236】
または、デコーディング装置は、現在変換係数のレベル値を示すシンタックス要素(例えば、dec_abs_level、abs_remainder等)に先行してコーディングされるシンタックス要素の構成(シンタックス要素の有無、種類等)、残余データコーディングで符/復号化された文脈符号化binの数が文脈符号化bin制約アルゴリズムで設定された最大使用可能な文脈符号化binの数を超過するかどうか、無損失(lossless)または近接無損失(near lossless)符号化が実行されるかどうか、または量子化係数情報などのように既に与えられた情報を利用することで、多数のライスパラメータルックアップテーブルの中から現在変換係数(または、係数グループまたは変換ブロックまたはコーディングブロック)のレベルコーディングに使われるライスパラメータルックアップテーブルを推論または導出することができる。この場合、現在変換係数に対して使われたライスパラメータルックアップテーブルに関する情報を示すシンタックス要素またはフラグはシグナリングされない。
【0237】
一例として、残余データコーディングで符/復号化された文脈符号化binの数が、文脈符号化bin制約アルゴリズムで設定された最大使用可能な文脈符号化binの数(remBinsPass1またはMaxCcbs)を超過したかどうかがライスパラメータルックアップテーブルの選択に利用する場合がある。この場合、残余データコーディングで符/復号化された文脈符号化binの数が、最大使用可能な文脈符号化binの数を越える場合、既存にレジデュアルコーディングで使われるシンタックスの構成と異なる簡素化されたシンタックス構成が使われることができる。
【0238】
例えば、変換ブロックのための残余データコーディングで(i)符/復号化された文脈符号化binの数がremBinsPass1を越えない場合、変換係数の残余レベル値を示すabs_remainderに先行してsig_coeff_flag、abs_level_gtx_flag[0]、par_level_flag、abs_level_gtx_flag[1]がコーディングされる。しかし、(ii)前記符/復号化された文脈符号化binの数がremBinsPass1を越える場合、変換係数のレベル値に対するシンタックス要素(dec_abs_level)のコーディングに先行して符/復号化されるシンタックス要素がない。したがって、(ii)の場合は、レベル値コーディングに先行して符/復号化されるシンタックス要素がないため、(i)の場合に比べて平均的なレベル値が大きい。したがって、(i)の場合は、表14のように小さいレベル値に有利なコードワードを生成するライスパラメータルックアップテーブルが割り当てられることができ、(ii)の場合は、表15のように大きいレベル値に有利なコードワードを生成するライスパラメータルックアップテーブルが割り当てられることができる。このように、ライスパラメータルックアップテーブルの決定に既に与えられた情報であるremBinsPass1値を利用する場合、テーブル情報を知るための追加的なフラグまたはシンタックス要素の符/復号化が不必要であるという利点がある。
【0239】
他の例として、変換省略モードのための残余データコーディングで符/復号化された文脈符号化binの数がMaxCcbsを越える場合、既存のシンタックスの構成が簡素化されることができる。既存変換省略残余データコーディングで符/復号化されるsig_coeff_flag、coeff_sign_flag、abs_level_gtx_flag[0]、par_level_flag、abs_level_gtx_flag[1]、abs_level_gtx_flag[2]、abs_level_gtx_flag[3]、abs_level_gtx_flag[4]のうち一部シンタックス要素が、符号化性能または複雑度節減の効果のために省略、符/復号化されない。この場合も同様に、既存シンタックス構成と簡素化されたシンタックス構成によって、平均的なレベル値が変わるため、MaxCcbs情報または/及び係数位置情報を利用してRice parameter look-up tableを決定することがよりよい符号化性能を提供することができる。このように、既に与えられた情報であるMaxCcbsと係数位置情報をライスパラメータルックアップテーブルの決定に使用すると、テーブル情報を知るための追加的なフラグまたはシンタックスの符/復号化が不必要であるという利点がある。
【0240】
他の例として、無損失または近接無損失符号化可否を利用して追加的なフラグまたはシンタックスの符/復号化無しでライスパラメータルックアップテーブルを決定することができる。無損失または近接無損失符号化は、ピクチャ、スライス、CUブロック、またはTUブロック単位で実行されることができ、一般的に損失符号化に比べて残余データのレベル値が大きい。したがって、デコーディング装置は、現在ピクチャまたはスライスまたはCUブロックまたはTUブロックが無損失または近接無損失符号化されるかどうかをライスパラメータルックアップテーブルの決定に使用することができ、この場合も追加的なフラグまたはシンタックスの符/復号化が不必要である。一例として、デコーディング装置は、無損失または近接無損失符号化が実行されない場合、表14のように相対的に小さいライスパラメータの最小値/最大値を有するライスパラメータルックアップテーブルを利用してライスパラメータを導出し、無損失または近接無損失符号化が実行される場合、表15のように相対的に大きいライスパラメータの最小値/最大値を有するライスパラメータルックアップテーブルを利用してライスパラメータを導出することができる。
【0241】
他の例として、ブロック単位可変量子化が使われる場合、量子化係数情報を利用してライスパラメータルックアップテーブルを選択することができる。一般的に、低い量子化係数の場合は大きいレベル値が、高い量子化係数の場合は小さいレベル値が、頻繁に発生する。平均的なレベル値も同様である。したがって、一例として、デコーディング装置は、量子化係数の値が閾値以上である場合、表14のように相対的に小さいライスパラメータの最小値/最大値を有するライスパラメータルックアップテーブルを利用してライスパラメータを導出し、量子化係数の値が閾値より小さい場合、表15のように相対的に大きいライスパラメータの最小値/最大値を有するライスパラメータルックアップテーブルを利用してライスパラメータを導出することができる。
【0242】
一方、他の実施例として、レベルコーディングのために、一つのライスパラメータルックアップテーブルを使用し、多数のライスパラメータルックアップテーブルを利用することと同じ効果を得る方法を使用することができる。一例として、エンコーディング装置及びデコーディング装置は、特定条件を満たすかどうかに基づいて、ライスパラメータルックアップテーブルのインデックスを決定することができる。ここで、前記特定条件を満たすかどうかは、変換係数のレベル値を示すシンタックス要素に先行してコーディングされるシンタックスの構成(シンタックス要素の有無、種類等)、残余データコーディングで符/復号化された文脈符号化binの数が文脈符号化bin制約アルゴリズムで設定された最大使用可能な文脈符号化binの数を超過するかどうか、無損失または近接無損失符号化が適用されるかどうか、現在変換係数の周辺係数(ら)のレベル値(ら)の和(locSumAbs)が閾値またはテーブルの大きさ(ライスパラメータルックアップテーブルlocSumAbsの最大値)より大きいかどうかなどに基づいて判断されることができる。前述した特定条件は、多数のライスパラメータルックアップテーブルを使用する実施例にも適用されることができる。即ち、変換係数に対するライスパラメータを導出するために、多数のライスパラメータルックアップテーブルの中からいずれか一つのライスパラメータルックアップテーブルを選択するにあたって、前述した特定条件が満たされるかどうかが利用されることができる。
【0243】
変換係数に対するライスパラメータを導出するために、一つのライスパラメータルックアップテーブルを使用する実施例において、ライスパラメータの値は、前記特定条件が満たされる場合、一例として、以下の数式のように決定されることができる。
【0244】
【数15】
【0245】
【数16】
【0246】
ここで、RiceParamTableは、ライスパラメータルックアップテーブルを意味する。indexは、ライスパラメータルックアップテーブルのインデックス値を示す。前記インデックス値は、一例として、表10の疑似コードにより導出されるlocSumAbsに基づいて決定されることができる。または、標準で設定されたインデックス選択方法に基づいて決定されることができる。
【0247】
数式15及び数式16を参照すると、前記特定条件が満たされない場合、エンコーディング装置及びデコーディング装置は、基本に設定されたライスパラメータルックアップテーブルでインデックス値に該当するライスパラメータを読み込むことによってその値を導出することができる。前記特定条件を満たす場合は、シフト(shift)及び/またはオフセット(offset)が使われることができる。ここで、前記シフト及び/またはオフセットは0、正数値または負数値を有することができる。シフトが正数である場合、ライスパラメータルックアップテーブルでインデックスにより選択されるライスパラメータより大きいライスパラメータ値を導出することができる。シフトが負数である場合、ライスパラメータルックアップテーブルでインデックスにより選択されるライスパラメータより小さいライスパラメータ値を導出することができる。
【0248】
例えば、本実施例では以下の表16のようなライスパラメータルックアップテーブルが使われることができる。
【0249】
【表16】
【0250】
表16を参照すると、前記特定条件が満たされずにインデックスが3である場合、ライスパラメータ値として0が導出される。前記特定条件が満たされてインデックスが3であり、シフトが1である場合(オフセットは0)、インデックスが3にもかかわらず、ライスパラメータ値として1が導出される。
【0251】
一方、オフセットが正数である場合、前記ライスパラメータルックアップテーブルの最大ライスパラメータの値より大きいライスパラメータ値が導出されることができる。
【0252】
例えば、表16のライスパラメータルックアップテーブルが使われる場合、インデックスが31であり、前記特定条件が満たされると、ライスパラメータ値として3が導出される。前記特定条件が満たされてオフセットが2である場合(シフトは0)、インデックスが31にもかかわらず、ライスパラメータ値として5が導出される。即ち、オフセットが利用される場合、ライスパラメータルックアップテーブルに定義された最大ライスパラメータ値より高いライスパラメータ値を導出することができる。したがって、表16のライスパラメータルックアップテーブルによっては、0次から3次までのライスパラメータのみが導出可能であるが、オフセットを使用する場合、0次から5次までにライスパラメータの使用可能範囲が増えることができる。
【0253】
このように、最大ライスパラメータ(Maximum Rice parameter)拡張を介して、高いレベル値まで効率的に二進化できる。したがって、本実施例は、一般的なコーディング環境だけでなく、高ビット率環境(低い量子化パラメータを使用)、近接無損失、無損失環境などでコーディング利点を有することができる。また、本実施例によると、追加的なライスパラメータルックアップテーブル及び/または追加的なシンタックスの送信が必要でない。
【0254】
図6及び図7は、本文書の一実施例に係るエントロピーエンコーディング方法及び関連コンポーネントの一例を概略的に示す。
【0255】
図6に開示されたライスパラメータ導出方法は、図2及び図7に開示されたエンコーディング装置200により実行されることができる。具体的に、例えば、図6のS600乃至S620は、エントロピーエンコーディング部240のライスパラメータ導出部241により実行されることができる。図6のS630は、エントロピーエンコーディング部240の二進化部242により実行されることができ、図6のS640は、エントロピーエンコーディング部240のエントロピーエンコーディング処理部243により実行されることができる。
【0256】
図6に開示されたエントロピーエンコーディング方法は、本文書で詳述した実施例を含むことができる。
【0257】
図6及び図7を参照すると、エントロピーエンコーディング部240は、(量子化された)変換係数に対するレジデュアルコーディング手順を実行する。ここで、変換係数は、レジデュアル係数と混用されることができる。エントロピーエンコーディング部240は、現在ブロック(現在CBまたは現在TB)内(量子化された)変換係数をスキャン順序によってレジデュアルコーディングできる。エントロピーエンコーディング部240は、例えば、表1乃至表4に表示されたようなレジデュアル情報に関する多様なシンタックス要素を生成及びエンコーディングすることができる。一例として、エントロピーエンコーディング部240のライスパラメータ導出部241は、現在ブロック内の現在変換係数(量子化された変換係数または現在(量子化された)レジデュアル係数)のレベル値を示す情報を生成(または、導出)することができる(S600)。ここで、前記現在変換係数のレベル値を示す情報は、abs_remainder[n]またはdec_abs_level[n]のうち少なくとも一つを含むことができる。前記abs_remainder[n]の値は、sig_coeff_flag[xC][yC]、abs_level_gtx_flag[n][0]、par_level_flag[n]、abs_level_gtx_flag[n][1]などの値に基づいて導出されることができる。前記dec_abs_level[n]の値は、前記変換係数のレベル値として導出されることができる。エンコーディング装置は、スキャン順序によって該当ブロック(CUまたはTU)内のあらかじめ決められた文脈符号化binの数が一定閾値に到達した場合、以後の変換係数のレベル値をdec_abs_level[n]に基づいてコーディングできる。
【0258】
エントロピーエンコーディング部240のライスパラメータ導出部241は、複数個のライスパラメータルックアップテーブルを構成することができ、前記変換係数のレベル値を示す情報に対して前記テーブルの中から一つを選択することができる(S610)。例えば、エントロピーエンコーディング部240のライスパラメータ導出部241は、現在変換係数のレベル値を示すシンタックス要素に先行してコーディングされるシンタックス要素の構成(シンタックス要素の有無、種類等)、残余データコーディングで符/復号化された文脈符号化binの数が文脈符号化bin制約アルゴリズムで設定された最大使用可能な文脈符号化binの数を超過するかどうか、無損失(lossless)または近接無損失(near lossless)符号化が実行されるかどうか、または量子化係数情報などのように既に与えられた情報を利用することで、多数のライスパラメータルックアップテーブルの中から現在変換係数(または、係数グループまたは変換ブロックまたはコーディングブロック)のレベルコーディングに使われるライスパラメータルックアップテーブルを選択することができる。該当ライスパラメータルックアップテーブルに対する選択情報は、暗黙的または明示的にシグナリングされることができる。例えば、前記選択情報は、エンコーディング装置により選択されたライスパラメータルックアップテーブルを示す情報を送信するためのシンタックス要素に対応できる。
【0259】
エントロピーエンコーディング部240のライスパラメータ導出部241は、前記選択したライスパラメータルックアップテーブルと現在変換係数の周辺(または、参照)変換係数に基づいて、前記現在変換係数のレベル値を示す情報(abs_remainder[n]またはdec_abs_level[n])に対するライスパラメータを導出することができる(S620)。具体的に、エントロピーエンコーディング部240のライスパラメータ導出部241は、前述したlocSumAbsに基づいて前記選択したライスパラメータルックアップテーブルを利用して現在スキャニング位置(の係数)のためのライスパラメータを導出することができる。前記locSumAbsは、前記周辺変換係数のAbsLevel及び/またはsig_coeff_flagに基づいて導出されることができる。前記ライスパラメータを導出する手順は、ライスパラメータを使用せずに固定された長さに二進化されるsig_coeff_flag、par_level_flag、abs_level_gtx_flagなどに対しては省略されることができることは、当業者に自明である。前記sig_coeff_flag、par_level_flag、abs_level_gtx_flagなどに対しては、ライスパラメータベースの二進化がでない他の方式の二進化が実行されることができる。
【0260】
エントロピーエンコーディング部240の二進化部242は、前記導出されたライスパラメータに基づいて二進化を実行して前記変換係数のレベル値を示す情報(abs_remainder[n]またはdec_abs_level[n])に対するbinストリング(bin string)を導出することができる(S630)。前記binストリングの長さは、前記導出されたライスパラメータにより適応的に決定されることができる。
【0261】
エントロピーエンコーディング部240のエントロピーエンコーディング処理部243は、前記変換係数のレベル値を示す情報(abs_remainder[n]またはdec_abs_level[n])に対するbinストリングに基づいてエントロピーエンコーディングを実行することができる(S640)。エントロピーエンコーディング部240のエントロピーエンコーディング処理部243は、CABAC(context-adaptive arithmetic coding)エントロピーコーディング技法に基づいて前記binストリングをコンテキストベースのエントロピーエンコーディングすることができ、その出力は、ビットストリームに含まれることができる。この場合、エンコーディング装置は、前記binストリングのbin別にコンテキスト情報を導出してエントロピーコーディングし、前記bin別コンテキスト情報をアップデートすることができる。前記ビットストリームは、前述したように、abs_remainder[n]またはdec_abs_level[n]に対する情報を含むレジデュアル情報外にも予測情報など、映像/ビデオデコーディングのための多様な情報を含むことができる。前記ビットストリームは、前記ライスパラメータテーブルに対する選択情報をさらに含むことができる。前記ビットストリームは、(デジタル)格納媒体またはネットワークを介してデコーディング装置に伝達されることができる。
【0262】
図8は、本文書の他の実施例に係るエントロピーエンコーディング方法の一例を概略的に示す。
【0263】
図8に開示されたライスパラメータ導出方法は、図2及び図7に開示されたエンコーディング装置200により実行されることができる。具体的に、例えば、図8のS800乃至S820は、エントロピーエンコーディング部240のライスパラメータ導出部241により実行されることができる。図8のS830は、エントロピーエンコーディング部240の二進化部242により実行されることができ、図8のS840は、エントロピーエンコーディング部240のエントロピーエンコーディング処理部243により実行されることができる。
【0264】
図8に開示されたエントロピーエンコーディング方法は、本文書で詳述した実施例を含むことができる。
【0265】
図7及び図8を参照すると、エントロピーエンコーディング部240は、(量子化された)変換係数に対するレジデュアルコーディング手順を実行する。ここで、変換係数は、レジデュアル係数と混用されることができる。エントロピーエンコーディング部240は、現在ブロック(現在CBまたは現在TB)内(量子化された)変換係数をスキャン順序によってレジデュアルコーディングできる。エントロピーエンコーディング部240は、例えば、表1乃至表4に表示されたようなレジデュアル情報に関する多様なシンタックス要素を生成及びエンコーディングすることができる。一例として、エントロピーエンコーディング部240のライスパラメータ導出部241は、現在ブロック内の現在変換係数(量子化された変換係数または現在(量子化された)レジデュアル係数)のレベル値を示す情報を生成(または、導出)することができる(S800)。ここで、前記現在変換係数のレベル値を示す情報は、abs_remainder[n]またはdec_abs_level[n]のうち少なくとも一つを含むことができる。前記abs_remainder[n]の値は、sig_coeff_flag[xC][yC]、abs_level_gtx_flag[n][0]、par_level_flag[n]、abs_level_gtx_flag[n][1]などの値に基づいて導出されることができる。前記dec_abs_level[n]の値は、前記変換係数のレベル値として導出されることができる。エンコーディング装置は、スキャン順序によって該当ブロック(CUまたはTU)内のあらかじめ決められた文脈符号化binの数が一定閾値に到達した場合、以後の変換係数のレベル値をdec_abs_level[n]に基づいてコーディングできる。
【0266】
エントロピーエンコーディング部240のライスパラメータ導出部241は、前記変換係数のレベル値を示す情報に対するライスルックアップテーブルのインデックス値を決定することができる(S810)。例えば、エントロピーエンコーディング部240のライスパラメータ導出部241は、現在変換係数のレベル値を示すシンタックス要素に先行してコーディングされるシンタックス要素の構成(シンタックス要素の有無、種類等)、残余データコーディングで符/復号化された文脈符号化binの数が文脈符号化bin制約アルゴリズムで設定された最大使用可能な文脈符号化binの数を超過するかどうか、無損失(lossless)または近接無損失(near lossless)符号化が実行されるかどうか、量子化係数情報(値)、または現在変換係数の周辺係数(ら)のレベル値(ら)の和が閾値(または、ライスパラメータルックアップテーブルの大きさ)より大きいかどうかなどに基づいて、ライスパラメータルックアップテーブルのインデックス値を決定し、または前記インデックス値にシフトを足して該当インデックス値を変更することができる。
【0267】
エントロピーエンコーディング部240のライスパラメータ導出部241は、前記インデックス値に基づいて、前記ライスパラメータルックアップテーブルから前記現在変換係数のレベル値を示す情報(abs_remainder[n]またはdec_abs_level[n])に対するライスパラメータを導出することができる(S820)。例えば、エントロピーエンコーディング部240のライスパラメータ導出部241は、前記インデックス値に基づいて、前述した数式15及び/または数式16を利用して現在スキャニング位置(の係数)のためのライスパラメータを導出することができる。数式16が利用される場合、前記ライスパラメータの値は、前記インデックス値にオフセット値が足された値として変更されることができる。前記インデックス値は、前述したlocSumAbsに基づいて導出され、または標準で設定されたインデックス選択方法に基づいて決定されることができる。前記locSumAbsは、前記周辺変換係数のAbsLevel及び/またはsig_coeff_flagに基づいて導出されることができる。
【0268】
前記ライスパラメータを導出する手順は、ライスパラメータを使用せずに固定された長さに二進化されるsig_coeff_flag、par_level_flag、abs_level_gtx_flagなどに対しては省略されることができることは、当業者に自明である。前記sig_coeff_flag、par_level_flag、abs_level_gtx_flagなどに対しては、ライスパラメータベースの二進化がでない他の方式の二進化が実行されることができる。
【0269】
エントロピーエンコーディング部240の二進化部242は、前記導出されたライスパラメータに基づいて二進化を実行して前記変換係数のレベル値を示す情報(abs_remainder[n]またはdec_abs_level[n])に対するbinストリング(bin string)を導出することができる(S830)。前記binストリングの長さは、前記導出されたライスパラメータにより適応的に決定されることができる。
【0270】
エントロピーエンコーディング部240のエントロピーエンコーディング処理部243は、前記変換係数のレベル値を示す情報(abs_remainder[n]またはdec_abs_level[n])に対するbinストリングに基づいてエントロピーエンコーディングを実行することができる(S840)。エントロピーエンコーディング部240のエントロピーエンコーディング処理部243は、CABAC(context-adaptive arithmetic coding)エントロピーコーディング技法に基づいて前記binストリングをコンテキストベースのエントロピーエンコーディングすることができ、その出力は、ビットストリームに含まれることができる。この場合、エンコーディング装置は、前記binストリングのbin別にコンテキスト情報を導出してエントロピーコーディングし、前記bin別コンテキスト情報をアップデートすることができる。前記ビットストリームは、前述したように、abs_remainder[n]またはdec_abs_level[n]に対する情報を含むレジデュアル情報外にも予測情報など、映像/ビデオデコーディングのための多様な情報を含むことができる。前記ビットストリームは、前記ライスパラメータテーブルに対する選択情報をさらに含むことができる。前記ビットストリームは、(デジタル)格納媒体またはネットワークを介してデコーディング装置に伝達されることができる。
【0271】
図9及び図10は、本文書の実施例に係るエントロピーデコーディング方法及び関連コンポーネントの一例を概略的に示す。
【0272】
図9に開示されたライスパラメータ導出方法は、図3及び図10に開示されたデコーディング装置300により実行されることができる。具体的に、例えば、図9のS900乃至S920は、エントロピーデコーディング部310のライスパラメータ導出部311により実行されることができる。図9のS930は、エントロピーデコーディング部310の二進化部312により実行されることができ、図9のS940は、エントロピーデコーディング部310のエントロピーデコーディング処理部313により実行されることができる。
【0273】
図9に開示されたエントロピーデコーディング方法は、本文書で詳述した実施例を含むことができる。
【0274】
図9及び図10を参照すると、エントロピーデコーディング部は、エンコーディングされたレジデュアル情報をデコーディングして(量子化された)変換係数を導出することができる。ここで、変換係数は、レジデュアル係数と混用されることができる。デコーディング装置は、現在ブロック(現在CBまたは現在TB)に対するエンコーディングされたレジデュアル情報をデコーディングして(量子化された)変換係数を導出することができる。デコーディング装置は、例えば、表1乃至表4に表示されたようなレジデュアル情報に関する多様なシンタックス要素をデコーディングし、関連シンタックス要素の値を解析し、これに基づいて前記(量子化された)変換係数を導出することができる。
【0275】
具体的に、エントロピーデコーディング部310のライスパラメータ導出部311は、ビットストリームから現在変換係数(量子化された変換係数または現在(量子化された)レジデュアル係数)のレベル値を示す情報(abs_remainder[n]またはdec_abs_level[n])を取得することができる(S900)。そして、複数個のライスパラメータルックアップテーブルの中から前記レベル値を示す情報に対するライスパラメータルックアップテーブルを選択することができる(S910)。
【0276】
例えば、エントロピーデコーディング部310のライスパラメータ導出部311は、複数個のライスパラメータルックアップテーブルを構成することができ、前記テーブルの中から一つを選択することができる。このために、前記テーブルの中から一つを選択するための選択情報が明示的にシグナリングされることができる。前記選択情報は、エンコーディング装置により選択されたライスパラメータルックアップテーブルを示す情報を送信するためのシンタックス要素に対応できる。この場合、エントロピーデコーディング部310のライスパラメータ導出部311は、前記ビットストリームからライスパラメータルックアップテーブルに関する情報を示すシンタックス要素を取得し、これに基づいて複数個のライスパラメータルックアップテーブルの中からいずれか一つのライスパラメータルックアップテーブルを選択することができる。
【0277】
または、エントロピーデコーディング部310のライスパラメータ導出部311は、現在変換係数のレベル値を示すシンタックス要素に先行してコーディングされるシンタックス要素の構成(シンタックス要素の有無、種類等)、文脈符号化bin制約アルゴリズムで設定された最大使用可能な文脈符号化binの数に対する情報、現在ブロックが無損失(lossless)または近接無損失(near lossless)符号化されるかどうか、または現在変換係数に対する量子化係数情報などのように既に与えられた情報のうち少なくとも一つに基づいて、多数のライスパラメータルックアップテーブルの中から現在変換係数(または、係数グループまたは変換ブロックまたはコーディングブロック)のレベルコーディングに使われるライスパラメータルックアップテーブルを選択することができる。ここで、前記現在変換係数のレベル値を示すシンタックス要素に先行してコーディングされるシンタックス要素は、sig_coeff_flag、abs_level_gtx_flag、par_level_flagまたはcoeff_sign_flagのうち少なくとも一つを含むことができ、これらのうち少なくとも一つがデコーディングされるかどうかに基づいて、ライスパラメータルックアップテーブルが選択されることができる。
【0278】
エントロピーデコーディング部310のライスパラメータ導出部311は、前記選択したライスパラメータルックアップテーブルと現在変換係数の周辺(または、参照)変換係数に基づいて、前記現在変換係数のレベル値を示す情報(abs_remainder[n]またはdec_abs_level[n])に対するライスパラメータを導出することができる(S920)。具体的に、エントロピーデコーディング部310のライスパラメータ導出部311は、前述したlocSumAbsに基づいて前記選択したライスパラメータルックアップテーブルを利用して現在スキャニング位置(の係数)のためのライスパラメータを導出することができる。前記locSumAbsは、前記周辺変換係数のAbsLevel及び/またはsig_coeff_flagに基づいて導出されることができる。前記ライスパラメータを導出する手順は、ライスパラメータを使用せずに固定された長さに二進化されるsig_coeff_flag、par_level_flag、abs_level_gtx_flagなどに対しては省略されることができることは、当業者に自明である。前記sig_coeff_flag、par_level_flag、abs_level_gtx_flagなどに対しては、ライスパラメータベースの二進化がでない他の方式の二進化が実行されることができる。
【0279】
エントロピーデコーディング部310の二進化部312は、前記導出されたライスパラメータに基づいて二進化を実行して前記変換係数のレベル値を示す情報(abs_remainder[n]またはdec_abs_level[n])に対するbinストリング(bin string)を導出することができる(S930)。一例として、エントロピーデコーディング部310の二進化部312は、前記二進化手順を介して前記abs_remainder[n]またはdec_abs_level[n]の可用値に対する可用binストリングを導出することができる。前記可用binストリングの長さは、前記導出されたライスパラメータにより適応的に決定されることができる。
【0280】
エントロピーデコーディング部310のエントロピーデコーディング処理部313は、前記変換係数のレベル値を示す情報(abs_remainder[n]またはdec_abs_level[n])に対するbinストリングに基づいてエントロピーデコーディングを実行して前記変換係数のレベル値を導出することができる(S940)。例えば、エントロピーデコーディング部310のエントロピーデコーディング処理部313は、前記abs_remainder[n]またはdec_abs_level[n]に対する各bin/ビットを順次にパーシング及びデコーディングしながら、導出されたbinストリングを前記可用binストリングと比較できる。もし、導出されたbinストリングが前記可用binストリングのうち一つと同じ場合、該当binストリングに対応する値が前記abs_remainder[n]の値として導出されることができる。もし、そうでない場合、前記ビットストリーム内の次のビットをさらにパーシング及びデコーディングした後、前記比較手順を実行することができる。このような過程を介して、ビットストリーム内に特定情報(特定シンタックス要素)に対する開始ビットや終了ビットを使用しなくても、可変長さビットを利用して該当情報をシグナリングすることができる。これを介して低い値に対しては相対的に少ないビットを割り当てることができ、全般的なコーディング効率を上げることができる。
【0281】
デコーディング装置は、CABACエントロピーコーディング技法に基づいて、ビットストリームから前記binストリング内の各binをコンテキストベースのエントロピーデコーディングすることができる。この場合、デコーディング装置は、前記binストリングのbin別にコンテキスト情報を導出してエントロピーコーディングし、前記bin別コンテキスト情報をアップデートすることができる。前記エントロピーデコーディング手順は、エントロピーデコーディング部310内のエントロピーデコーディング処理部313により実行されることができる。前記ビットストリームは、前述したように、abs_remainder[n]またはdec_abs_level[n]に対する情報を含むレジデュアル情報外にも予測情報など、映像/ビデオデコーディングのための多様な情報を含むことができる。前記ビットストリームは、ライスパラメータルックアップテーブルに対する選択情報をさらに含むことができる。前記ビットストリームは、(デジタル)格納媒体またはネットワークを介してデコーディング装置に伝達されることができることは、前述の通りである。
【0282】
デコーディング装置は、前記エントロピーデコーディングに基づいて(量子化された)変換/レジデュアル係数を導出することができ、これに基づいて、必要によって、逆量子化及び/または逆変換手順を実行して現在ブロックに対するレジデュアルサンプルを導出することができる。前記レジデュアルサンプルと、インター予測及び/またはイントラ予測を介して導出された予測サンプルに基づいて、復元サンプルが生成されることができ、前記復元サンプルを含む復元ブロック/ピクチャが生成されることができる。
【0283】
図11は、本文書の他の実施例に係るエントロピーデコーディング方法の一例を概略的に示す。
【0284】
図11に開示されたライスパラメータ導出方法は、図3及び図10に開示されたデコーディング装置300により実行されることができる。具体的に、例えば、図11のS1100乃至S1120は、エントロピーデコーディング部310のライスパラメータ導出部311により実行されることができる。図11のS1130は、エントロピーデコーディング部310の二進化部312により実行されることができ、図11のS1140は、エントロピーデコーディング部310のエントロピーデコーディング処理部313により実行されることができる。
【0285】
図11に開示されたエントロピーデコーディング方法は、本文書で詳述した実施例を含むことができる。
【0286】
図10及び図11を参照すると、エントロピーデコーディング部は、エンコーディングされたレジデュアル情報をデコーディングして(量子化された)変換係数を導出することができる。ここで、変換係数は、レジデュアル係数と混用されることができる。デコーディング装置は、現在ブロック(現在CBまたは現在TB)に対するエンコーディングされたレジデュアル情報をデコーディングして(量子化された)変換係数を導出することができる。デコーディング装置は、例えば、表1乃至表4に表示されたようなレジデュアル情報に関する多様なシンタックス要素をデコーディングし、関連シンタックス要素の値を解析し、これに基づいて前記(量子化された)変換係数を導出することができる。
【0287】
具体的に、エントロピーデコーディング部310のライスパラメータ導出部311は、ビットストリームから現在変換係数(量子化された変換係数または現在(量子化された)レジデュアル係数)のレベル値を示す情報(abs_remainder[n]またはdec_abs_level[n])を取得することができる(S1100)。そして、前記レベル値を示す情報に対するライスパラメータルックアップテーブルのインデックス値を決定することができる(S1110)。例えば、エントロピーデコーディング部310のライスパラメータ導出部311は、現在変換係数のレベル値を示す情報に先行してコーディングされるシンタックス要素の構成(シンタックス要素の有無、種類等)、文脈符号化bin制約アルゴリズムで設定された最大使用可能な文脈符号化binの数、無損失(lossless)または近接無損失(near lossless)符号化が実行されるかどうか、前記変換係数に対する量子化係数情報(値)、または現在変換係数の周辺係数(ら)のレベル値(ら)のうち少なくとも一つに基づいて、ライスパラメータルックアップテーブルのインデックス値を決定及び/または変更することができる。
【0288】
例えば、エントロピーデコーディング部310のライスパラメータ導出部311は、ビットストリームからシンタックス要素sig_coeff_flag、abs_level_gtx_flag、par_level_flagまたはcoeff_sign_flagのうち少なくとも一つがデコーディングされるかどうかに基づいて、前記インデックス値を決定し、または前記インデックス値にシフトを足してインデックス値を変更することができる。または、前記変換係数の周辺変換係数のレベル値の和が閾値以上であるかどうかに基づいて、前記インデックス値を決定し、または前記インデックス値にシフトを足してインデックス値を変更することができる。
【0289】
エントロピーデコーディング部310のライスパラメータ導出部311は、前記インデックス値に基づいて、前記ライスパラメータルックアップテーブルから前記現在変換係数のレベル値を示す情報(abs_remainder[n]またはdec_abs_level[n])に対するライスパラメータを導出することができる(S1120)。例えば、エントロピーデコーディング部310のライスパラメータ導出部311は、前記インデックス値に基づいて、前述した数式15及び/または数式16を利用して現在スキャニング位置(の係数)のためのライスパラメータを導出することができる。数式16が利用される場合、前記ライスパラメータの値は、前記インデックス値にオフセット値が足された値として変更されることができる。前記インデックスの値は、前述したlocSumAbsに基づいて導出され、または標準で設定されたインデックス選択方法に基づいて決定されることができる。
【0290】
前記ライスパラメータを導出する手順は、ライスパラメータを使用せずに固定された長さに二進化されるsig_coeff_flag、par_level_flag、abs_level_gtx_flagなどに対しては省略されることができることは、当業者に自明である。前記sig_coeff_flag、par_level_flag、abs_level_gtx_flagなどに対しては、ライスパラメータベースの二進化がでない他の方式の二進化が実行されることができる。
【0291】
エントロピーデコーディング部310の二進化部312は、前記導出されたライスパラメータに基づいて二進化を実行して前記変換係数のレベル値を示す情報(abs_remainder[n]またはdec_abs_level[n])に対するbinストリング(bin string)を導出することができる(S1130)。一例として、エントロピーデコーディング部310の二進化部312は、前記二進化手順を介して前記abs_remainder[n]またはdec_abs_level[n]の可用値に対する可用binストリングを導出することができる。前記可用binストリングの長さは、前記導出されたライスパラメータにより適応的に決定されることができる。
【0292】
エントロピーデコーディング部310のエントロピーデコーディング処理部313は、前記変換係数のレベル値を示す情報(abs_remainder[n]またはdec_abs_level[n])に対するbinストリングに基づいてエントロピーデコーディングを実行して前記変換係数のレベル値を導出することができる(S940)。例えば、エントロピーデコーディング部310のエントロピーデコーディング処理部313は、前記abs_remainder[n]またはdec_abs_level[n]に対する各bin/ビットを順次にパーシング及びデコーディングしながら、導出されたbinストリングを前記可用binストリングと比較できる。もし、導出されたbinストリングが前記可用binストリングのうち一つと同じ場合、該当binストリングに対応する値が前記abs_remainder[n]の値として導出されることができる。もし、そうでない場合、前記ビットストリーム内の次のビットをさらにパーシング及びデコーディングした後、前記比較手順を実行することができる。このような過程を介して、ビットストリーム内に特定情報(特定シンタックス要素)に対する開始ビットや終了ビットを使用しなくても、可変長さビットを利用して該当情報をシグナリングすることができる。これを介して低い値に対しては相対的により少ないビットを割り当てることができ、全般的なコーディング効率を上げることができる。
【0293】
デコーディング装置は、CABACエントロピーコーディング技法に基づいて、ビットストリームから前記binストリング内の各binをコンテキストベースのエントロピーデコーディングすることができる。この場合、デコーディング装置は、前記binストリングのbin別にコンテキスト情報を導出してエントロピーコーディングし、前記bin別コンテキスト情報をアップデートすることができる。前記エントロピーデコーディング手順は、エントロピーデコーディング部310内のエントロピーデコーディング処理部313により実行されることができる。前記ビットストリームは、前述したように、abs_remainder[n]またはdec_abs_level[n]に対する情報を含むレジデュアル情報外にも予測情報など、映像/ビデオデコーディングのための多様な情報を含むことができる。前記ビットストリームは、ライスパラメータルックアップテーブルに対する選択情報をさらに含むことができる。前記ビットストリームは、(デジタル)格納媒体またはネットワークを介してデコーディング装置に伝達されることができることは、前述の通りである。
【0294】
デコーディング装置は、前記エントロピーデコーディングに基づいて(量子化された)変換/レジデュアル係数を導出することができ、これに基づいて、必要によって、逆量子化及び/または逆変換手順を実行して現在ブロックに対するレジデュアルサンプルを導出することができる。前記レジデュアルサンプルとインター予測及び/またはイントラ予測を介して導出された予測サンプルに基づいて、復元サンプルが生成されることができ、前記復元サンプルを含む復元ブロック/ピクチャが生成されることができる。
【0295】
図12は、本文書の実施例に係るビデオ/映像エンコーディング方法を示す。
【0296】
図12に開示されたビデオ/映像エンコーディング方法は、図2に開示されたエンコーディング装置200により実行されることができる。具体的に、例えば、図12のS1200は、エンコーディング装置の予測部220により実行されることができ、S1210は、エンコーディング装置の減算部231により実行されることができる。S1220は、エンコーディング装置の変換部232により実行されることができ、S1230は、エンコーディング装置の量子化部233により実行されることができ、S1240は、エンコーディング装置のエントロピーエンコーディング部240により実行されることができる。図8で詳述したS800乃至S830は、S1240手順に含まれることができる。
【0297】
図12を参照すると、エンコーディング装置は、現在ブロックに対する予測を介して予測サンプルを導出することができる(S1200)。エンコーディング装置は、現在ブロックにインター予測を実行するかまたはイントラ予測を実行するかを決定することができ、具体的なインター予測モードまたは具体的なイントラ予測モードをRDコストに基づいて決定できる。決定されたモードによって、エンコーディング装置は、前記現在ブロックに対する予測サンプルを導出することができる。
【0298】
エンコーディング装置は、前記現在ブロックに対する原本サンプルと前記予測サンプルを比較してレジデュアルサンプルを導出することができる(S1210)。
【0299】
エンコーディング装置は、前記レジデュアルサンプルに対する変換手順を介して変換係数を導出し(S1220)。前記導出された変換係数を量子化し、量子化された変換係数を導出することができる(S1230)。
【0300】
エンコーディング装置は、予測情報及びレジデュアル情報を含む映像情報をエンコーディングし、エンコーディングされた映像情報をビットストリーム形態で出力できる(S1240)。前記予測情報は、前記予測手順に関連した情報として予測モード情報及び動き情報に関する情報(例えば、インター予測が適用される場合)などを含むことができる。前記レジデュアル情報は、前記量子化された変換係数に関する情報として、例えば、前述した表1乃至表4に開示された情報を含むことができる。
【0301】
出力されたビットストリームは、格納媒体またはネットワークを介してデコーディング装置に伝達されることができる。
【0302】
図13は、本文書の実施例に係るビデオ/映像デコーディング方法を示す。
【0303】
図13に開示されたビデオ/映像デコーディング方法は、図3に開示されたデコーディング装置300により実行されることができる。具体的に、例えば、図13のS1300は、デコーディング装置の予測部330により実行されることができる。S1300において、ビットストリームに含まれている予測情報をデコーディングして関連シンタックス要素の値を導出する手順は、デコーディング装置のエントロピーデコーディング部310により実行されることができる。S1310、S1320、S1330、S1340は、各々、デコーディング装置のエントロピーデコーディング部310、逆量子化部321、逆変換部322、加算部340により実行されることができる。図10で詳述したS1000乃至S1030は、前記S1310手順に含まれることができる。
【0304】
デコーディング装置は、エンコーディング装置で実行された動作と対応される動作を実行することができる。デコーディング装置は、受信された予測情報に基づいて現在ブロックに対するインター予測またはイントラ予測を実行して予測サンプルを導出することができる(S1300)。
【0305】
デコーディング装置は、受信されたレジデュアル情報に基づいて前記現在ブロックに対する量子化された変換係数を導出することができる(S1310)。
【0306】
デコーディング装置は、量子化された変換係数を逆量子化して変換係数を導出することができる(S1320)。
【0307】
デコーディング装置は、前記変換係数に対する逆変換手順を介してレジデュアルサンプルを導出することができる(S1330)。
【0308】
デコーディング装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャを生成することができる(S1340)。以後、前記復元ピクチャにインループフィルタリング手順がさらに適用されることができることは、前述の通りである。
【0309】
前述した実施例において、方法は、一連のステップまたはブロックで流れ図に基づいて説明されているが、該当実施例は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序にまたは同時に発生できる。また、当業者であれば、流れ図に示すステップが排他的でなく、他のステップが含まれ、または、流れ図の1つまたはそれ以上のステップが本文書の実施例の範囲に影響を及ぼさずに削除可能であることを理解することができる。
【0310】
前述した本文書の実施例による方法は、ソフトウェア形態で具現されることができ、本文書によるエンコーディング装置及び/またはデコーディング装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの映像処理を実行する装置に含まれることができる。
【0311】
本文書において、実施例がソフトウェアで具現される時、前述した方法は、前述した機能を遂行するモジュール(過程、機能など)で具現されることができる。モジュールは、メモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部または外部にあり、よく知られた多様な手段でプロセッサと連結されることができる。プロセッサは、ASIC(application-specific integrated circuit)、他のチップセット、論理回路及び/またはデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体及び/または他の格納装置を含むことができる。即ち、本文書で説明した実施例は、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で具現されて実行されることができる。例えば、各図面で示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で具現されて実行されることができる。この場合、具現のための情報(例えば、information on instructions)またはアルゴリズムがデジタル格納媒体に格納されることができる。
【0312】
また、本文書の実施例(ら)が適用されるデコーディング装置及びエンコーディング装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、VR(virtual reality)装置、AR(argumente reality)装置、画像電話ビデオ装置、運送手段端末(例えば、車両(自律走行車両を含む)端末、飛行機端末、船舶端末等)、及び医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために使われることができる。例えば、OTTビデオ(Over the top video)装置として、ゲームコンソール、ブルーレイプレーヤ、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recorder)などを含むことができる。
【0313】
また、本文書の実施例(ら)が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に格納されることができる。また、本文書の実施例(ら)によるデータ構造を有するマルチメディアデータもコンピュータが読み取り可能な記録媒体に格納されることができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読みだすことができるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で具現されたメディアを含む。また、エンコーディング方法で生成されたビットストリームがコンピュータが読み取り可能な記録媒体に格納され、または、有無線通信ネットワークを介して送信されることができる。
【0314】
また、本文書の実施例(ら)は、プログラムコードによるコンピュータプログラム製品で具現されることができ、前記プログラムコードは、本文書の実施例(ら)によりコンピュータで実行されることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリア上に格納されることができる。
【0315】
図14は、本文書に開示された実施例が適用されることができるコンテンツストリーミングシステムの例を示す。
【0316】
図14を参照すると、本文書の実施例が適用されるコンテンツストリーミングシステムは、大いに、エンコーディングサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置、及びマルチメディア入力装置を含むことができる。
【0317】
前記エンコーディングサーバは、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。他の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコーディングサーバは省略されることができる。
【0318】
前記ビットストリームは、本文書の実施例に適用されるエンコーディング方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信または受信する過程で一時的に前記ビットストリームを格納することができる。
【0319】
前記ストリーミングサーバは、ウェブサーバを介したユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すると、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
【0320】
前記ストリーミングサーバは、メディア格納所及び/またはエンコーディングサーバからコンテンツを受信することができる。例えば、前記エンコーディングサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間格納することができる。
【0321】
前記ユーザ装置の例として、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイニジがある。
【0322】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14