(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024063219
(43)【公開日】2024-05-10
(54)【発明の名称】ビデオまたは画像コーディング方法及びその装置
(51)【国際特許分類】
H04N 19/70 20140101AFI20240501BHJP
H04N 19/52 20140101ALI20240501BHJP
【FI】
H04N19/70
H04N19/52
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2024035141
(22)【出願日】2024-03-07
(62)【分割の表示】P 2022513587の分割
【原出願日】2020-08-26
(31)【優先権主張番号】62/894,750
(32)【優先日】2019-08-31
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【弁理士】
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】チェ チョンア
(72)【発明者】
【氏名】ホ チン
(72)【発明者】
【氏名】ユ ソンミ
(72)【発明者】
【氏名】イム チェヒョン
(72)【発明者】
【氏名】チェ チャンウォン
(72)【発明者】
【氏名】キム スンファン
(57)【要約】 (修正有)
【課題】画像コーディング効率を上げる画像エンコード/デコード方法及び装置を提供する。
【解決手段】画像デコード方法は、ビットストリームを介して動き情報候補インデックス及びレジデュアル情報を含む画像情報を獲得するステップと、現在ブロックの隣接ブロックに基づいて動き情報候補リストを構成するステップと、動き情報候補リストの動き情報候補のうち、動き情報候補インデックスが指す動き情報候補に基づいて現在ブロックの動き情報を導出するステップと、動き情報に基づいて予測サンプルを導出するステップと、現在ブロック内の現在レジデュアル係数に対するレジデュアルシンタックスエレメント等に基づいて現在レジデュアル係数を導出するステップと、現在レジデュアル係数に基づいてレジデュアルサンプルを導出するステップと、予測サンプル及びレジデュアルサンプルに基づいて現在ブロックの復元サンプルを導出するステップと、を含む。
【選択図】
図17
【特許請求の範囲】
【請求項1】
デコード装置により実行される画像デコード方法において、
ビットストリームを介して動き情報候補インデックス及びレジデュアル情報を含む画像情報を獲得するステップと、
現在ブロックの隣接ブロックに基づいて動き情報候補リストを構成するステップと、
前記動き情報候補リストの動き情報候補のうち、前記動き情報候補インデックスが示す動き情報候補に基づいて前記現在ブロックの動き情報を導出するステップと、
前記動き情報に基づいて前記現在ブロックの予測サンプルを導出するステップと、
前記現在ブロック内の現在レジデュアル係数に対するレジデュアルシンタックスエレメントに基づいて前記現在レジデュアル係数を導出するステップと、
前記現在レジデュアル係数に基づいてレジデュアルサンプルを導出するステップと、
前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックの復元サンプルを導出するステップと、を含み、
前記レジデュアル情報は、前記現在レジデュアル係数に対する前記レジデュアルシンタックスエレメントを含み、
前記現在ブロックのレジデュアル係数のうち、前記現在レジデュアル係数より前のレジデュアル係数に対する文脈コーディングされたレジデュアルシンタックスエレメントの個数は、前記現在ブロックの文脈符号化ビンの最大個数と等しく、
前記現在レジデュアル係数に対する前記レジデュアルシンタックスエレメントは、前記現在レジデュアル係数に対する係数レベル情報、及び前記現在レジデュアル係数のサインフラグを含み、
前記現在レジデュアル係数の絶対レベルは、前記現在レジデュアル係数に対する前記係数レベル情報が示す値として導出され、
前記現在レジデュアル係数の符号は、前記サインフラグが示す符号として導出され、
前記現在レジデュアル係数は、レベルマッピングを実行せずに導出され、
前記レベルマッピングを実行することによって第1レジデュアル係数が導出され、
前記第1レジデュアル係数は、前記現在レジデュアル係数より前の前記レジデュアル係数の一つであり、
前記第1レジデュアル係数に対するレジデュアルシンタックスエレメントに基づいて、前記第1レジデュアル係数の絶対レベルが導出され、
前記第1レジデュアル係数の左側レジデュアル係数の絶対レベル及び前記レジデュアル係数の上側レジデュアル係数の絶対レベルの中の最大値が導出され、
前記第1レジデュアル係数の前記絶対レベルと前記最大値を比較することによって、前記第1レジデュアル係数の修正された絶対レベルが導出される、画像デコード方法。
【請求項2】
前記現在ブロックは、変換スキップブロックである、請求項1に記載の画像デコード方法。
【請求項3】
前記画像情報は、変換が前記現在ブロックに適用されるかどうかを表す変換スキップフラグを含み、
前記現在ブロックに対する前記変換スキップフラグの値は、1である、請求項2に記載の画像デコード方法。
【請求項4】
前記現在ブロックの前記文脈符号化ビンの前記最大個数は、前記現在ブロックの幅及び高さに基づいて導出される、請求項1に記載の画像デコード方法。
【請求項5】
前記現在ブロックに対する前記文脈符号化ビンは、前記現在レジデュアル係数より前の前記レジデュアル係数に対する前記文脈コーディングされたレジデュアルシンタックスエレメントのビンとして全部用いられる、請求項1に記載の画像デコード方法。
【請求項6】
前記文脈コーディングされたレジデュアルシンタックスエレメントは、
レジデュアル係数がノンゼロレジデュアル係数であるかどうかを表す有効係数フラグ、
前記レジデュアル係数に対する係数レベルのパリティに対するパリティレベルフラグ、
前記レジデュアル係数に対する符号を表すサインフラグ、
前記係数レベルが第1臨界値より大きいかどうかに対する第1係数レベルフラグ、及び
前記係数レベルが第2臨界値より大きいかどうかに対する第2係数レベルフラグを含む、請求項1に記載の画像デコード方法。
【請求項7】
エンコード装置により実行される画像エンコード方法において、
現在ブロックの隣接ブロックに基づいて動き情報候補リストを構成するステップと、
前記動き情報候補リストの動き情報候補のうちから動き情報候補を選択するステップと、
前記選択された動き情報候補に基づいて前記現在ブロックの動き情報を導出するステップと、
前記動き情報に基づいて前記現在ブロックの予測サンプルを導出するステップと、
前記予測サンプルに基づいて前記現在ブロックのレジデュアルサンプルを導出するステップと、
前記レジデュアルサンプルに基づいて現在レジデュアル係数を導出するステップと、
前記選択された動き情報候補を示す動き情報候補インデックス、及び前記現在レジデュアル係数に対するレジデュアルシンタックスエレメントを含む画像情報をエンコードするステップと、を含み、
前記現在ブロックのレジデュアル係数のうち、前記現在レジデュアル係数より前のレジデュアル係数に対する文脈コーディングされたレジデュアルシンタックスエレメントの個数は、前記現在ブロックの文脈符号化ビンの最大個数と等しく、
前記現在レジデュアル係数に対する前記レジデュアルシンタックスエレメントは、前記現在レジデュアル係数に対する係数レベル情報、及び前記現在レジデュアル係数のサインフラグを含み、
前記係数レベル情報は、前記現在レジデュアル係数の係数レベルの絶対値を表し、
前記現在レジデュアル係数の前記サインフラグは、前記現在レジデュアル係数の符号を表し、
前記現在レジデュアル係数は、レベルマッピングを実行せずにエンコードされ、
前記レベルマッピングを実行することによって第1レジデュアル係数がエンコードされ、
前記第1レジデュアル係数は、前記現在レジデュアル係数より前の前記レジデュアル係数の一つであり、
前記第1レジデュアル係数の左側レジデュアル係数の絶対レベル及び前記レジデュアル係数の上側レジデュアル係数の絶対レベルの中の最大値が導出され、
前記第1レジデュアル係数の前記絶対レベルと前記最大値を比較することによって、前記第1レジデュアル係数の修正された絶対レベルが導出され、
前記第1レジデュアル係数に対するレジデュアルシンタックスエレメントに基づいて、前記第1レジデュアル係数の前記修正された絶対レベルがエンコードされる、画像エンコード方法。
【請求項8】
前記現在ブロックは、変換スキップブロックである、請求項7に記載の画像エンコード方法。
【請求項9】
前記画像情報は、変換が前記現在ブロックに適用されるかどうかを表す変換スキップフラグを含み、
前記現在ブロックに対する前記変換スキップフラグの値は、1である、請求項8に記載の画像エンコード方法。
【請求項10】
前記現在ブロックの前記文脈符号化ビンの前記最大個数は、前記現在ブロックの幅及び高さに基づいて導出される、請求項7に記載の画像エンコード方法。
【請求項11】
前記現在ブロックに対する前記文脈符号化ビンは、前記現在レジデュアル係数より前の前記レジデュアル係数に対する前記文脈コーディングされたレジデュアルシンタックスエレメントのビンとして全部用いられる、請求項7に記載の画像エンコード方法。
【請求項12】
画像のためのデータの送信方法であって、
現在ブロックの隣接ブロックに基づいて動き情報候補リストを構成するステップと、
前記動き情報候補リストの動き情報候補のうちから動き情報候補を選択するステップと、
前記選択された動き情報候補に基づいて前記現在ブロックの動き情報を導出するステップと、
前記動き情報に基づいて前記現在ブロックの予測サンプルを導出するステップと、
前記予測サンプルに基づいて前記現在ブロックのレジデュアルサンプルを導出するステップと、
前記レジデュアルサンプルに基づいて現在レジデュアル係数を導出するステップと、
前記選択された動き情報候補を示す動き情報候補インデックス、及び前記現在レジデュアル係数に対するレジデュアルシンタックスエレメントを含む画像情報をエンコードしてビットストリームを生成するステップと、
前記ビットストリームを含む前記データを送信するステップと、を含み、
前記現在ブロックのレジデュアル係数のうち、前記現在レジデュアル係数より前のレジデュアル係数に対する文脈コーディングされたレジデュアルシンタックスエレメントの個数は、前記現在ブロックの文脈符号化ビンの最大個数と等しく、
前記現在レジデュアル係数に対する前記レジデュアルシンタックスエレメントは、前記現在レジデュアル係数に対する係数レベル情報、及び前記現在レジデュアル係数のサインフラグを含み、
前記係数レベル情報は、前記現在レジデュアル係数の係数レベルの絶対値を表し、
前記現在レジデュアル係数の前記サインフラグは、前記現在レジデュアル係数の符号を表し、
前記現在レジデュアル係数は、レベルマッピングを実行せずにエンコードされ、
前記レベルマッピングを実行することによって第1レジデュアル係数がエンコードされ、
前記第1レジデュアル係数は、前記現在レジデュアル係数より前の前記レジデュアル係数の一つであり、
前記第1レジデュアル係数の左側レジデュアル係数の絶対レベル及び前記レジデュアル係数の上側レジデュアル係数の絶対レベルの中の最大値が導出され、
前記第1レジデュアル係数の前記絶対レベルと前記最大値を比較することによって、前記第1レジデュアル係数の修正された絶対レベルが導出され、
前記第1レジデュアル係数に対するレジデュアルシンタックスエレメントに基づいて、前記第1レジデュアル係数の前記修正された絶対レベルがエンコードされる、送信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、ビデオまたは画像コーディング方法及びその装置に関する。
【背景技術】
【0002】
最近、HD(High Definition)画像及びUHD(Ultra High Definition)画像のような高解像度、高品質の画像に対する需要が様々な分野で増加している。画像データが高解像度、高品質になるほど、既存の画像データに比べて相対的に送信される情報量またはビット量が増加するため、既存の有無線広帯域回線のような媒体を利用して画像データを送信し、または既存の記録媒体を利用して画像データを格納する場合、送信費用と格納費用が増加される。
【0003】
それによって、高解像度、高品質画像の情報を効果的に送信または格納し、再生するために、高効率の画像圧縮技術が要求される。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本文書の技術的課題は、画像コーディング効率を上げる方法及び装置を提供することにある。
【0005】
本文書の他の技術的課題は、レジデュアルコーディングの効率を上げる方法及び装置を提供することにある。
【課題を解決するための手段】
【0006】
本文書の一実施形態に係ると、デコード装置により実行される画像デコード方法が提供される。前記方法は、ビットストリームを介して動き情報候補インデックス及びレジデュアル情報を含む画像情報を獲得するステップと、現在ブロックの隣接ブロックに基づいて動き情報候補リストを構成するステップと、前記動き情報候補リストの動き情報候補のうち、前記動き情報候補インデックスが指す動き情報候補に基づいて前記現在ブロックの動き情報を導出するステップと、前記動き情報に基づいて前記現在ブロックの予測サンプルを導出するステップと、前記現在ブロック内の現在レジデュアル係数に対するレジデュアルシンタックスエレメントに基づいて前記現在レジデュアル係数を導出するステップと、前記現在レジデュアル係数に基づいてレジデュアルサンプルを導出するステップと、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックの復元サンプルを導出するステップと、を含むことを特徴とする。
【0007】
本文書の他の一実施形態に係ると、画像デコーディングを実行するデコード装置が提供される。前記デコード装置は、ビットストリームを介して動き情報候補インデックス及びレジデュアル情報を含む画像情報を獲得するエントロピーデコード部、現在ブロックの隣接ブロックに基づいて動き情報候補リストを構成し、前記動き情報候補リストの動き情報候補のうち、前記動き情報候補インデックスが指す動き情報候補に基づいて前記現在ブロックの動き情報を導出し、前記動き情報に基づいて前記現在ブロックの予測サンプルを導出する予測部と、前記現在ブロック内の現在レジデュアル係数に対するレジデュアルシンタックスエレメントに基づいて前記現在レジデュアル係数を導出し、前記現在レジデュアル係数に基づいてレジデュアルサンプルを導出するレジデュアル処理部と、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックの復元サンプルを導出する加算部と、を含むことを特徴とする。
【0008】
本文書のまた他の一実施形態に係ると、エンコード装置により実行されるビデオエンコード方法を提供する。前記方法は、現在ブロックの隣接ブロックに基づいて動き情報候補リストを構成するステップと、前記動き情報候補リストの動き情報候補のうち、一つの動き情報候補を選択するステップと、前記選択された動き情報候補に基づいて前記現在ブロックの動き情報を導出するステップと、前記動き情報に基づいて前記現在ブロックの予測サンプルを導出するステップと、前記予測サンプルに基づいて前記現在ブロックのレジデュアルサンプルを導出するステップと、前記レジデュアルサンプルに基づいて現在レジデュアル係数を導出するステップと、前記選択された動き情報候補を指す動き情報候補インデックス及び前記現在レジデュアル係数に対するレジデュアルシンタックスエレメントを含む画像情報をエンコーディングするステップと、を含むことを特徴とする。
【0009】
本文書のまた他の一実施形態に係ると、ビデオエンコード装置を提供する。前記エンコード装置は、現在ブロックの隣接ブロックに基づいて動き情報候補リストを構成し、前記動き情報候補リストの動き情報候補のうち、一つの動き情報候補を選択し、前記選択された動き情報候補に基づいて前記現在ブロックの動き情報を導出し、前記動き情報に基づいて前記現在ブロックの予測サンプルを導出する予測部と、前記予測サンプルに基づいて前記現在ブロックのレジデュアルサンプルを導出し、前記レジデュアルサンプルに基づいて現在レジデュアル係数を導出するレジデュアル処理部と、前記選択された動き情報候補を指す動き情報候補インデックス及び前記現在レジデュアル係数に対するレジデュアルシンタックスエレメントを含む画像情報をエンコーディングするエントロピーエンコード部と、を含むことを特徴とする。
【発明の効果】
【0010】
本文書に係ると、レジデュアルコーディングの効率を高めることができる。
【0011】
本文書に係ると、単純化されたレジデュアルデータコーディングが適用されたレジデュアル係数は、レベルマッピングを行うことなく導出することができ、コーディング複雑度を減らし、全般的なレジデュアルコーディング効率を向上することができる。
【図面の簡単な説明】
【0012】
【
図1】本文書の実施形態が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
【
図2】本文書の実施形態が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。
【
図3】本文書の実施形態が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。
【
図4】イントラ予測基盤のビデオ/画像エンコード方法の例を示す。
【
図5】イントラ予測基盤のビデオ/画像エンコード方法の例を示す。
【
図7】インター予測基盤のビデオ/画像エンコード方法の例を示す。
【
図8】インター予測基盤のビデオ/画像デコード方法の例を示す。
【
図10】シンタックスエレメント(syntax element)をエンコーディングするためのCABAC(context-adaptive binary arithmetic coding)を例示的に示す。
【
図11】4×4ブロック内の変換係数等の例示を図示する図である。
【
図12】一つのCG、変換ブロック(transform block)またはコーディングブロック(coding block)に対する単純化されたレジデュアルデータコーディングの一例を示す。
【
図13】一つのCG、変換ブロック(transform block)またはコーディングブロック(coding block)に対する単純化されたレジデュアルデータコーディングの他の一例を示す。
【
図14】一つのCG、変換ブロック(transform block)またはコーディングブロック(coding block)に対する単純化されたレジデュアルデータコーディングの他の一例を示す。
【
図15】本文書に係るエンコード装置による画像エンコード方法を概略的に示す。
【
図16】本文書に係る画像エンコード方法を行うエンコード装置を概略的に示す。
【
図17】本文書に係るデコード装置による画像デコード方法を概略的に示す。
【
図18】本文書に係る画像デコード方法を行うデコード装置を概略的に示す。
【
図19】本文書の実施形態が適用されるコンテンツストリーミングシステム構造図を例示的に示す。
【発明を実施するための形態】
【0013】
本文書は、様々な変更を加えることができ、種々の実施形態を有することができ、特定実施形態を図面に例示し、詳細に説明しようとする。しかしながら、これは、本文書を特定実施形態に限定しようとするものではない。本明細書において常用する用語は、単に特定の実施形態を説明するために使用されたものであって、本文書の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上明白に異なるように意味しない限り、複数の表現を含む。本明細書において「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、1つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものなどの存在または付加可能性を予め排除しないことと理解されるべきである。
【0014】
一方、本文書において説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の都合上、独立的に図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで実現されるということを意味するものではない。例えば、各構成のうち、2つ以上の構成が結合されて1つの構成をなすことができ、1つの構成を複数の構成に分けることもできる。各構成が統合及び/または分離された実施形態も本文書の本質から逸脱しない限り、本文書の権利範囲に含まれる。
【0015】
以下、添付した図面を参照して、本文書の好ましい実施形態をより詳細に説明する。以下、図面上の同じ構成要素に対しては、同じ参照符号を使用し、同じ構成要素に対して重なった説明は省略されることができる。
【0016】
図1は、本文書の実施形態が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
【0017】
図1に示すように、ビデオ/画像コーディングシステムは、第1の装置(ソースデバイス)及び第2の装置(受信デバイス)を含むことができる。ソースデバイスは、エンコードされたビデオ(video)/画像(image)情報またはデータをファイルまたはストリーミング形態でデジタル記録媒体またはネットワークを介して受信デバイスに伝達することができる。
【0018】
前記ソースデバイスは、ビデオソース、エンコード装置、送信部を備えることができる。前記受信デバイスは、受信部、デコード装置、及びレンダラーを備えることができる。前記エンコード装置は、ビデオ/画像エンコード装置と呼ばれることができ、前記デコード装置は、ビデオ/画像デコード装置と呼ばれることができる。送信機は、エンコード装置に含まれることができる。受信機は、デコード装置に含まれることができる。レンダラーは、ディスプレイ部を備えることができ、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
【0019】
ビデオソースは、ビデオ/画像のキャプチャ、合成、または生成過程などを介してビデオ/画像を取得することができる。ビデオソースは、ビデオ/画像キャプチャデバイス及び/またはビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、1つ以上のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを備えることができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを備えることができ、(電子的に)ビデオ/画像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/画像が生成されることができ、この場合、関連データが生成される過程にてビデオ/画像キャプチャ過程が代替されることができる。
【0020】
エンコード装置は、入力ビデオ/画像をエンコードすることができる。エンコード装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を実行することができる。エンコードされたデータ(エンコードされたビデオ/画像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
【0021】
送信部は、ビットストリーム形態で出力されたエンコードされたビデオ/画像情報またはデータをファイルまたはストリーミング形態でデジタル記録媒体またはネットワークを介して受信デバイスの受信部に伝達することができる。デジタル記録媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な記録媒体を含むことができる。送信部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介しての送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコード装置に伝達することができる。
【0022】
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を実行してビデオ/画像をデコードすることができる。
【0023】
レンダラーは、デコードされたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像は、ディスプレイ部を介してディスプレイされることができる。
【0024】
この文書は、ビデオ/画像コーディングに関する。例えば、この文書において開示された方法/実施形態は、VVC(versatile video coding)標準、EVC(essential video coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)、または次世代ビデオ/画像コーディング標準(例えば、H.267またはH.268等)に開示される方法に適用されることができる。
【0025】
この文書では、ビデオ/画像コーディングに関する様々な実施形態を提示し、他の言及がない限り、前記実施形態は、互いに組み合わせられて実行されることもできる。
【0026】
この文書においてビデオ(video)は、時間の流れによる一連の画像(image)の集合を意味し得る。ピクチャ(picture)は、一般に特定の時間帯の1つの画像を示す単位を意味し、サブピクチャ(subpicture)/スライス(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)。また、サブピクチャはサブピクチャ内の1つ以上のスライスの長方形領域を示す(a subpicture may represent a rectangular region of one or more slices within a picture)。すなわち、サブピクチャはピクチャの長方形領域を総括的にカバーする1つ以上のスライスを含む(a subpicture contains one or more slices that collectively cover a rectangular region of a 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 maybe 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と呼ばれてもよい。
【0027】
ピクセル(pixel)またはペル(pel)は、1つのピクチャ(または、画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用されることができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
【0028】
ユニット(unit)は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち、少なくとも1つを含むことができる。1つのユニットは、1つのルマブロック及び2つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(または、サンプルアレイ)、または変換係数(transform coefficient)の集合(または、アレイ)を含むことができる。
【0029】
本明細書において「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)」を意味し得る。
【0030】
本明細書において使用されるスラッシュ(/)やコンマ(comma)は、「及び/または(and/or)」を意味し得る。例えば、「A/B」は「A及び/またはB」を意味し得る。これにより、「A/B」は「Aのみ」、「Bのみ」、または「AとBの両方」を意味し得る。例えば、「A、B、C」は「A、BまたはC」を意味し得る。
【0031】
本明細書において「少なくとも1つのA及びB(at least one of A and B)」は、「Aのみ」、「Bのみ」または「AとBの両方」を意味し得る。また、本明細書において「少なくとも1つのAまたはB(at least one of A or B)」や「少なくとも1つのA及び/またはB(at least one of A and/or B)」という表現は、「少なくとも1つのA及びB(at least one of A and B)」と同様に解釈され得る。
【0032】
また、本明細書において「少なくとも1つのA、B及びC(at least one of A, B and C)」は、「Aのみ」、「Bのみ」、「Cのみ」または「A、B及びCの任意の全ての組み合わせ(any combination of A, B and C)」を意味し得る。また、「少なくとも1つのA、BまたはC(at least one of A, B or C)」や「少なくとも1つのA、B及び/またはC(at least one of A, B and/or C)」は「少なくとも1つのA、B及びC(at least one of A, B and C)」を意味し得る。
【0033】
また、本明細書において用いられる括弧は「例えば(for example)」を意味し得る。具体的には、「予測(イントラ予測)」と表示されている場合、「予測」の一例として「イントラ予測」が提案されているものであり得る。言い換えると、本明細書の「予測」は「イントラ予測」に制限(limit)されず、「イントラ予測」が「予測」の一例として提案されるものであり得る。また、「予測(すなわち、イントラ予測)」と表示されている場合にも、「予測」の一例として、「イントラ予測」が提案されているものであり得る。
【0034】
本明細書において1つの図面内で個別に説明される技術的特徴は、個別に実現されてもよく、同時に実現されてもよい。
【0035】
以下の図面は,本明細書の具体的な一例を説明するために作成された。図面に記載された具体的な装置の名称や具体的な信号/メッセージ/フィールドの名称は例示的に提示するものであるので、本明細書の技術的特徴が以下の図面に用いられた具体的な名称に制限されない。
【0036】
図2は、本文書の実施形態が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。以下、ビデオエンコード装置とは、画像エンコード装置を含むことができる。
【0037】
図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を内/外部コンポーネントとしてさらに備えることもできる。
【0038】
画像分割部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)を誘導する単位である。
【0039】
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)の集合を示すことができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すことができ、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(または、画像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
【0040】
エンコード装置200は、入力画像信号(原本ブロック、原本サンプルアレイ)から、インター予測部221またはイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算してレジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成することができ、生成されたレジデュアル信号は、変換部232に送信される。この場合、図示されたように、エンコーダ200内において入力画像信号(原本ブロック、原本サンプルアレイ)から予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれることができる。予測部は、処理対象ブロック(以下、現在ブロックという)に対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、現在ブロックまたはCU単位でイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができる。予測部は、各予測モードについての説明で後述するように、予測モード情報など、予測に関する様々な情報を生成してエントロピーエンコード部240に伝達することができる。予測に関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
【0041】
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbor)に位置することができ、または、離れて位置することもできる。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planar Mode)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは、例示に過ぎず、設定によってそれ以上またはそれ以下の個数の方向性予測モードが使用されることができる。イントラ予測部222は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0042】
インター予測部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)をシグナリングすることによって現在ブロックの動きベクトルを指示することができる。
【0043】
予測部220は、後述する様々な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用することができるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくこともでき、または、パレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画像コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を実行するが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と類似して実行されることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見ることができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングすることができる。
【0044】
前記予測部(インター予測部221及び/または前記イントラ予測部222を含む)を介して生成された予測信号は、復元信号を生成するために用いられ、またはレジデュアル信号を生成するために用いられることができる。変換部232は、レジデュアル信号に変換技法を適用して変換係数(transform coefficients)を生成することができる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、KLT(Karhunen-Loeve Transform)、GBT(Graph-Based Transform)、またはCNT(Conditionally Non-linear Transform)のうち、少なくとも1つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現するとするとき、このグラフから得られた変換を意味する。CNTは、以前に復元された全てのピクセル(all previously reconstructed pixel)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同じサイズを有するピクセルブロックに適用されることもでき、正方形でない、可変サイズのブロックにも適用されることもできる。
【0045】
量子化部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に含まれることもできる。
【0046】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することによってレジデュアル信号(レジデュアルブロックまたはレジデュアルサンプル)を復元することができる。加算部250は、復元されたレジデュアル信号をインター予測部221またはイントラ予測部222から出力された予測信号に加えることによって復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成され得る。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部250は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0047】
一方、ピクチャエンコード及び/または復元過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0048】
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部260は、各フィルタリング方法についての説明で後述するように、フィルタリングに関する様々な情報を生成してエントロピーエンコード部240に伝達することができる。フィルタリングに関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
【0049】
メモリ270に送信された修正された復元ピクチャは、インター予測部221で参照ピクチャとして使用されることができる。エンコード装置は、これを介してインター予測が適用される場合、エンコード装置200とデコード装置300での予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【0050】
メモリ270DPBは、修正された復元ピクチャをインター予測部221での参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコードされた)ブロックの動き情報及び/または既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するために、インター予測部221に伝達することができる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達することができる。
【0051】
図3は、本文書の実施形態が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。
【0052】
図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は、実施形態によって1つのハードウェアコンポーネント(例えば、デコーダチップセットまたはプロセッサ)により構成されることができる。また、メモリ360は、DPB(decoded picture buffer)を備えることができ、デジタル記録媒体により構成されることもできる。前記ハードウェアコンポーネントは、メモリ360を内/外部コンポーネントとしてさらに備えることもできる。
【0053】
ビデオ/画像情報を含むビットストリームが入力されると、デコード装置300は、
図2のエンコード装置でビデオ/画像情報が処理されたプロセスに対応して画像を復元することができる。例えば、デコード装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出できる。デコード装置300は、エンコード装置で適用された処理ユニットを用いてデコードを実行することができる。したがって、デコードの処理ユニットは、例えば、コーディングユニットであり、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/またはターナリツリー構造にしたがって分割されることができる。コーディングユニットから1つ以上の変換ユニットが導出されることができる。そして、デコード装置300を介してデコード及び出力された復元画像信号は、再生装置を介して再生されることができる。
【0054】
デコード装置300は、
図2のエンコード装置から出力された信号をビットストリーム形態で受信することができ、受信された信号は、エントロピーデコード部310を介してデコードされることができる。例えば、エントロピーデコード部310は、前記ビットストリームをパーシングして画像復元(または、ピクチャ復元)に必要な情報(例えば、ビデオ/画像情報)を導出できる。前記ビデオ/画像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)など、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。デコード装置は、前記パラメータセットに関する情報及び/または前記一般制限情報に基づいてさらにピクチャをデコードすることができる。本文書において後述されるシグナリング/受信される情報及び/またはシンタックス要素は、前記デコード手順を介してデコードされて前記ビットストリームから取得されることができる。例えば、エントロピーデコード部310は、指数ゴロム符号化、CAVLCまたはCABAC等のコーディング方法を基にビットストリーム内の情報をデコードし、画像復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値などを出力することができる。より詳細に、CABACエントロピーデコード方法は、ビットストリームで各構文要素に該当するビンを受信し、デコード対象構文要素情報と周辺及びデコード対象ブロックのデコード情報、または以前ステップでデコードされたシンボル/ビンの情報を利用して文脈(context、コンテキスト)モデルを決定し、決定された文脈モデルによってビン(bin)の発生確率を予測し、ビンの算術デコード(arithmetic decoding)を実行して各構文要素の値に該当するシンボルを生成することができる。このとき、CABACエントロピーデコード方法は、文脈モデル決定後、次のシンボル/ビンの文脈モデルのためにデコードされたシンボル/ビンの情報を利用して文脈モデルをアップデートすることができる。エントロピーデコード部310でデコードされた情報のうち、予測に関する情報は、予測部(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコード部310でエントロピーデコードが実行されたレジデュアル値、すなわち、量子化された変換係数及び関連パラメータ情報は、レジデュアル処理部320に入力されることができる。レジデュアル処理部320は、レジデュアル信号(レジデュアルブロック、レジデュアルサンプル、レジデュアルサンプルアレイ)を導出できる。また、エントロピーデコード部310でデコードされた情報のうち、フィルタリングに関する情報は、フィルタリング部350に提供されることができる。一方、エンコード装置から出力された信号を受信する受信部(図示せず)がデコード装置300の内/外部エレメントとしてさらに構成されることができ、または、受信部は、エントロピーデコード部310の構成要素である。一方、本文書に係るデコード装置は、ビデオ/画像/ピクチャデコード装置と呼ばれることができ、前記デコード装置は、情報デコーダ(ビデオ/画像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/画像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは、前記エントロピーデコード部310を備えることができ、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、加算部340、フィルタリング部350、メモリ360、インター予測部332、及びイントラ予測部331のうち、少なくとも1つを備えることができる。
【0055】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコード装置で実行された係数スキャン順序に基づいて再整列を実行することができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を利用して量子化された変換係数に対する逆量子化を実行し、変換係数(transform coefficient)を取得することができる。
【0056】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
【0057】
予測部は、現在ブロックに対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピーデコード部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モードを決定することができる。
【0058】
予測部320は、後述する様々な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用することができるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくこともでき、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を実行するが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と類似して実行されることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見ることができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/画像情報に含まれてシグナリングされることができる。
【0059】
イントラ予測部331は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbor)に位置することができ、または離れて位置することもできる。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。イントラ予測部331は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0060】
インター予測部332は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。このとき、インター予測モードから送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを含むことができる。例えば、インター予測部332は、隣接ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/または参照ピクチャインデックスを導出できる。様々な予測モードに基づいてインター予測が実行されることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
【0061】
加算部340は、取得されたレジデュアル信号を予測部(インター予測部332及び/またはイントラ予測部331を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。
【0062】
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て出力されることができ、または次のピクチャのインター予測のために使用されることもできる。
【0063】
一方、ピクチャデコード過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0064】
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ360、具体的に、メモリ360のDPBに送信することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
【0065】
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部332で参照ピクチャとして使用されることができる。メモリ360は、現在ピクチャ内の動き情報が導出された(または、デコードされた)ブロックの動き情報及び/または既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部331に伝達することができる。
【0066】
本明細書において、エンコード装置200のフィルタリング部260、インター予測部221、及びイントラ予測部222で説明された実施形態は、各々デコード装置300のフィルタリング部350、インター予測部332、及びイントラ予測部331にも同一または対応するように適用されることができる。
【0067】
本文書において量子化/逆量子化及び/または変換/逆変換のうち、少なくとも1つは省略されることができる。前記量子化/逆量子化が省略される場合、前記量子化された変換係数は、変換係数と呼ばれることができる。前記変換/逆変換が省略される場合、前記変換係数は、係数またはレジデュアル係数と呼ばれることができ、または、表現の統一性のために、変換係数と依然と呼ばれることもできる。
【0068】
本文書において量子化された変換係数及び変換係数は、各々変換係数及びスケーリングされた(scaled)変換係数と称されることができる。この場合、レジデュアル情報は、変換係数(等)に関する情報を含むことができ、前記変換係数(等)に関する情報は、レジデュアルコーディングシンタックスを介してシグナリングされることができる。前記レジデュアル情報(または、前記変換係数(等)に関する情報)に基づいて変換係数が導出され得るし、前記変換係数に対する逆変換(スケーリング)を介してスケーリングされた変換係数が導出され得る。前記スケーリングされた変換係数に対する逆変換(変換)に基づいてレジデュアルサンプルが導出され得る。これは、本文書の他の部分でも同様に適用/表現されることができる。
【0069】
前述したように、ビデオコーディングを行うのにおいて、圧縮効率を上げるために予測を行う。これを介してコーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成できる。ここで、前記予測されたブロックは、空間ドメイン(または、ピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコード装置及びデコード装置で同一に導出され、前記エンコード装置は、原本ブロックの原本サンプル値自体でない前記原本ブロックと前記予測されたブロックとの間のレジデュアルに関する情報(レジデュアル情報)をデコード装置にシグナリングすることにより画像コーディング効率を上げることができる。デコード装置は、前記レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックとを合わせて復元サンプルを含む復元ブロックを生成でき、復元ブロックを含む復元ピクチャを生成できる。
【0070】
前記レジデュアル情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコード装置は、前記原本ブロックと前記予測されたブロックとの間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれたレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を行って変換係数を導出し、前記変換係数に量子化手順を行って量子化された変換係数を導出し、関連したレジデュアル情報を(ビットストリームを介して)デコード装置にシグナリングすることができる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコード装置は、前記レジデュアル情報に基づいて逆量子化/逆変換手順を行い、レジデュアルサンプル(または、レジデュアルブロック)を導出できる。デコード装置は、予測されたブロックと前記レジデュアルブロックとに基づいて復元ピクチャを生成できる。エンコード装置は、さらに以後ピクチャのインター予測のための参照のために、量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成できる。
【0071】
イントラ予測は、現在ブロックが属するピクチャ(以下、現在ピクチャ)内の参照サンプルに基づいて現在ブロックに対する予測サンプルを生成する予測を表すことができる。現在ブロックにイントラ予測が適用される場合、現在ブロックのイントラ予測に使用する周辺参照サンプルが導出され得る。前記現在ブロックの周辺参照サンプルは、nW×nHサイズの現在ブロックの左側(left)境界に隣接したサンプル及び左下側(bottom-left)に隣り合う合計2×nH個のサンプル、現在ブロックの上側(top)境界に隣接したサンプル及び右上側(top-right)に隣り合う合計2xnW個のサンプル及び現在ブロックの左上側(top-left)に隣り合う1個のサンプルを含むことができる。または、前記現在ブロックの周辺参照サンプルは、複数列の上側周辺サンプル及び複数行の左側周辺サンプルを含むこともできる。また、前記現在ブロックの周辺参照サンプルは、nW×nHサイズの現在ブロックの右側(right)境界に隣接した合計nH個のサンプル、現在ブロックの下側(bottom)境界に隣接した合計nW個のサンプル、及び現在ブロックの右下側(bottom-right)に隣り合う1個のサンプルを含むこともできる。
【0072】
ただし、現在ブロックの周辺参照サンプルのうち一部は、まだデコードされていないか、利用可能でないことができる。この場合、デコーダは、利用可能なサンプルに利用可能でないサンプルを代替(substitution)して、予測に使用する周辺参照サンプルを構成できる。または、利用可能なサンプルの補間(interpolation)を介して予測に使用する周辺参照サンプルを構成できる。
【0073】
周辺参照サンプルが導出された場合、(i)現在ブロックの周辺(neighboring)参照サンプルの平均(average)あるいはインターポレーション(interpolation)に基づいて予測サンプルを誘導することができ、(ii)現在ブロックの周辺参照サンプルのうち予測サンプルに対して特定(予測)方向に存在する参照サンプルに基づいて前記予測サンプルを誘導することもできる。(i)の場合は、非方向性(non-directional)モードまたは非角度(non-angular)モード、(ii)の場合は、方向性(directional)モードまたは角度(angular)モードと呼ばれることができる。
【0074】
また、前記周辺参照サンプルのうち、前記現在ブロックの予測サンプルを基準に前記現在ブロックのイントラ予測モードの予測方向に位置する第1の周辺サンプルと前記予測方向の反対方向に位置する第2の周辺サンプルとの補間によって前記予測サンプルが生成されることもできる。前述した場合は、線形補間イントラ予測(Linear interpolation intra prediction、LIP)と呼ばれることができる。また、線形モデル(linear model、LM)を利用し、ルマサンプルに基づいてクロマ予測サンプルが生成されることもできる。この場合は、LMモードまたはCCLM(chroma component LM)モードと呼ばれることができる。
【0075】
また、フィルタリングされた周辺参照サンプルに基づいて前記現在ブロックの臨時予測サンプルを導出し、前記既存の周辺参照サンプル、すなわち、フィルタリングされなかった周辺参照サンプルのうち、前記イントラ予測モードによって導出された少なくとも1つの参照サンプルと前記臨時予測サンプルとを加重合(weighted sum)して前記現在ブロックの予測サンプルを導出することもできる。前述した場合は、PDPC(Position dependent intra prediction)と呼ばれることができる。
【0076】
また、現在ブロックの周辺多重参照サンプルラインのうち、最も予測正確度が高い参照サンプルラインを選択し、当該ラインで予測方向に位置する参照サンプルを用いて予測サンプルを導出し、このとき、使用された参照サンプルラインをデコード装置に指示(シグナリング)する方法にてイントラ予測符号化を行うことができる。前述した場合は、多重参照ライン(multi-reference line)イントラ予測またはMRL基盤イントラ予測と呼ばれることができる。
【0077】
また、現在ブロックを垂直または水平のサブパーティションに分けて同じイントラ予測モードに基づいてイントラ予測を行うものの、前記サブパーティション単位で周辺参照サンプルを導出して用いることができる。すなわち、この場合、現在ブロックに対するイントラ予測モードが前記サブパーティションに同様に適用されるものの、前記サブパーティション単位で周辺参照サンプルを導出して用いることにより、場合によってイントラ予測性能を高めることができる。このような予測方法は、ISP(intra sub-partitions)基盤イントラ予測と呼ばれることができる。
【0078】
前述したイントラ予測方法等は、イントラ予測モードと区分してイントラ予測タイプと呼ばれることができる。前記イントラ予測タイプは、イントラ予測技法または付加イントラ予測モードなど、様々な用語と呼ばれることができる。例えば、前記イントラ予測タイプ(または、付加イントラ予測モードなど)は、前述したLIP、PDPC、MRL、ISPのうち、少なくとも1つを含むことができる。前記LIP、PDPC、MRL、ISPなどの特定イントラ予測タイプを除いた一般イントラ予測方法は、ノーマルイントラ予測タイプと呼ばれることができる。ノーマルイントラ予測タイプは、前記のような特定イントラ予測タイプが適用されない場合、一般的に適用されることができ、前述したイントラ予測モードに基づいて予測が行われ得る。一方、必要に応じて導出された予測サンプルに対する後処理フィルタリングが行われることもできる。
【0079】
具体的に、イントラ予測手順は、イントラ予測モード/タイプ決定ステップ、周辺参照サンプル導出ステップ、イントラ予測モード/タイプ基盤の予測サンプル導出ステップを含むことができる。また、必要に応じて、導出された予測サンプルに対する後処理フィルタリング(post-filtering)ステップが行われることもできる。
【0080】
図4は、イントラ予測基盤のビデオ/画像エンコード方法の例を示す。
【0081】
図4に示すように、エンコード装置は、現在ブロックに対するイントラ予測を行う(S400)。エンコード装置は、現在ブロックに対するイントラ予測モード/タイプを導出し、現在ブロックの周辺参照サンプルを導出でき、前記イントラ予測モード/タイプ及び前記周辺参照サンプルに基づいて前記現在ブロック内の予測サンプルを生成する。ここで、イントラ予測モード/タイプ決定、周辺参照サンプル導出及び予測サンプル生成手順は、同時に行われることができ、いずれか1つの手順が他の手順より先に行われることもできる。エンコード装置は、複数のイントラ予測モード/タイプのうち、前記現在ブロックに対して適用されるモード/タイプを決定できる。エンコード装置は、前記イントラ予測モード/タイプに対するRD costを比較し、前記現在ブロックに対する最適のイントラ予測モード/タイプを決定できる。
【0082】
一方、エンコード装置は、予測サンプルフィルタリング手順を行うこともできる。予測サンプルフィルタリングは、ポストフィルタリングと呼ばれることができる。前記予測サンプルフィルタリング手順によって前記予測サンプルのうち一部または全部がフィルタリングされ得る。場合によって、前記予測サンプルフィルタリング手順は省略されることができる。
【0083】
エンコード装置は、(フィルタリングされた)予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを生成する(S410)。エンコード装置は、現在ブロックの原本サンプルで前記予測サンプルを位相基盤にて比較し、前記レジデュアルサンプルを導出できる。
【0084】
エンコード装置は、前記イントラ予測に関する情報(予測情報)及び前記レジデュアルサンプルに関するレジデュアル情報を含む画像情報をエンコードすることができる(S420)。前記予測情報は、前記イントラ予測モード情報、前記イントラ予測タイプ情報を含むことができる。エンコード装置は、エンコードされた画像情報をビットストリーム形態で出力することができる。出力されたビットストリームは、記録媒体またはネットワークを介してデコード装置に伝達されることができる。
【0085】
前記レジデュアル情報は、後述するレジデュアルコーディングシンタクスを含むことができる。エンコード装置は、前記レジデュアルサンプルを変換/量子化して、量子化された変換係数を導出できる。前記レジデュアル情報は、前記量子化された変換係数に関する情報を含むことができる。
【0086】
一方、前述したように、エンコード装置は、復元ピクチャ(復元サンプル及び復元ブロックを含む)を生成できる。このために、エンコード装置は、前記量子化された変換係数を再度逆量子化/逆変換処理して(修正された)レジデュアルサンプルを導出できる。このように、レジデュアルサンプルを変換/量子化後、再度逆量子化/逆変換を行う理由は、前述したように、デコード装置から導出されるレジデュアルサンプルと同じレジデュアルサンプルを導出するためである。エンコード装置は、前記予測サンプルと前記(修正された)レジデュアルサンプルとに基づいて前記現在ブロックに対する復元サンプルを含む復元ブロックを生成できる。前記復元ブロックに基づいて前記現在ピクチャに対する復元ピクチャが生成され得る。前記復元ピクチャにループ内フィルタリング手順などがさらに適用され得ることは、前述したとおりである。
【0087】
図5は、イントラ予測基盤のビデオ/画像エンコード方法の例を示す。
【0088】
デコード装置は、前記エンコード装置で行われた動作と対応する動作を行うことができる。
【0089】
予測情報及びレジデュアル情報をビットストリームから取得することができる。前記レジデュアル情報に基づいて現在ブロックに対するレジデュアルサンプルが導出され得る。具体的に、前記レジデュアル情報に基づいて導出された量子化された変換係数に基づいて、逆量子化を行って変換係数を導出し、前記変換係数に対する逆変換を行い、前記現在ブロックに対するレジデュアルサンプルを導出できる。
【0090】
具体的に、デコード装置は、受信された予測情報(イントラ予測モード/タイプ情報)に基づいて現在ブロックに対するイントラ予測モード/タイプを導出できる(S500)。デコード装置は、前記現在ブロックの周辺参照サンプルを導出できる(S510)。デコード装置は、前記イントラ予測モード/タイプ及び前記周辺参照サンプルに基づいて前記現在ブロック内の予測サンプルを生成する(S520)。この場合、デコード装置は、予測サンプルフィルタリング手順を行うことができる。予測サンプルフィルタリングは、ポストフィルタリングと呼ばれることができる。前記予測サンプルフィルタリング手順によって前記予測サンプルのうち一部または全部がフィルタリングされ得る。場合によって、予測サンプルフィルタリング手順は省略されることができる。
【0091】
デコード装置は、受信されたレジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを生成する(S530)。デコード装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、前記復元サンプルを含む復元ブロックを導出できる(S540)。前記復元ブロックに基づいて前記現在ピクチャに対する復元ピクチャが生成され得る。前記復元ピクチャにループ内フィルタリング手順などがさらに適用され得ることは、前述したとおりである。
【0092】
前記イントラ予測モード情報は、例えば、MPM(most probable mode)が前記現在ブロックに適用されるか、それとも、リメイニングモード(remaining mode)が適用されるかの可否を表すフラグ情報(ex.intra_luma_mpm_flag)を含むことができ、前記MPMが前記現在ブロックに適用される場合、前記予測モード情報は、前記イントラ予測モード候補(MPM候補)のうち1つを指すインデックス情報(ex.intra_luma_mpm_idx)をさらに含むことができる。前記イントラ予測モード候補(MPM候補)は、MPM候補リストまたはMPMリストで構成されることができる。また、前記MPMが前記現在ブロックに適用されない場合、前記イントラ予測モード情報は、前記イントラ予測モード候補(MPM候補)を除いた残りのイントラ予測モードのうち1つを指すリメイニングモード情報(ex.intra_luma_mpm_remainder)をさらに含むことができる。デコード装置は、前記イントラ予測モード情報に基づいて前記現在ブロックのイントラ予測モードを決定できる。
【0093】
また、前記イントラ予測タイプ情報は様々な形態で実現できる。一例として、前記イントラ予測タイプ情報は、前記イントラ予測タイプのいずれか1つを指示するイントラ予測タイプインデックス情報を含む。他の例として、前記イントラ予測タイプ情報は、前記MRLが前記現在ブロックに適用されるか否か及び適用される場合は何番目の参照サンプルラインが利用されるかを示す参照サンプルライン情報(ex.intra_luma_ref_idx)、前記ISPが前記ブロックに適用されるか否かを示すISPフラグ情報(ex.intra_subpartitions_mode_flag)、前記ISPが適用される場合はサブパーティションが分割タイプを指示するISPタイプ情報(ex.intra_subpartitions_split_flag)、PDCPの適用可否を示すフラグ情報またはLIPの適用可否を示すフラグ情報の少なくとも1つを含む。また、前記イントラ予測タイプ情報は、前記現在ブロックにMIP(matrix-based intra prediction)が適用されるか否かを示すMIPフラグを含む。
【0094】
前記イントラ予測モード情報及び/または前記イントラ予測タイプ情報は、本文書において説明したコーディング方法によってエンコード/デコードされることができる。例えば、前記イントラ予測モード情報及び/または前記イントラ予測タイプ情報は、エントロピーコーディング(ex.CABAC、CAVLC)を介してエンコード/デコードされることができる。
【0095】
【0096】
図6に示すように、前述したようにイントラ予測手順は、イントラ予測モード/タイプ決定ステップ、周辺参照サンプル導出ステップ、イントラ予測実行(予測サンプル生成)ステップを含むことができる。前記イントラ予測手順は、前述したようにエンコード装置及びデコード装置で行われることができる。本文書においてコーディング装置とは、エンコード装置及び/またはデコード装置を含むことができる。
【0097】
図6に示すように、コーディング装置は、イントラ予測モード/タイプを決定する(S600)。
【0098】
エンコード装置は、前述した様々なイントラ予測モード/タイプのうち、前記現在ブロックに適用されるイントラ予測モード/タイプを決定でき、予測関連情報を生成できる。前記予測関連情報は、前記現在ブロックに適用されるイントラ予測モードを表すイントラ予測モード情報及び/または前記現在ブロックに適用されるイントラ予測タイプを表すイントラ予測タイプ情報を含むことができる。デコード装置は、前記予測関連情報に基づいて前記現在ブロックに適用されるイントラ予測モード/タイプを決定できる。
【0099】
前記イントラ予測モード情報は、例えば、MPM(most probable mode)が前記現在ブロックに適用されるか、それとも、リメイニングモード(remaining mode)が適用されるかの可否を表すフラグ情報(ex.intra_luma_mpm_flag)を含むことができ、前記MPMが前記現在ブロックに適用される場合、前記予測モード情報は、前記イントラ予測モード候補(MPM候補)のうち1つを指すインデックス情報(ex.intra_luma_mpm_idx)をさらに含むことができる。前記イントラ予測モード候補(MPM候補)は、MPM候補リストまたはMPMリストで構成されることができる。また、前記MPMが前記現在ブロックに適用されない場合、前記イントラ予測モード情報は、前記イントラ予測モード候補(MPM候補)を除いた残りのイントラ予測モードのうち1つを指すリメイニングモード情報(ex.intra_luma_mpm_remainder)をさらに含むことができる。デコード装置は、前記イントラ予測モード情報に基づいて前記現在ブロックのイントラ予測モードを決定できる。
【0100】
また、前記イントラ予測タイプ情報は様々な形態で実現できる。一例として、前記イントラ予測タイプ情報は、前記イントラ予測タイプのいずれか1つを指示するイントラ予測タイプインデックス情報を含む。他の例として、前記イントラ予測タイプ情報は、前記MRLが前記現在ブロックに適用されるか否か及び適用される場合は何番目の参照サンプルラインが利用されるかを示す参照サンプルライン情報(ex.intra_luma_ref_idx)、前記ISPが前記現在ブロックに適用されるか否かを示すISPフラグ情報(ex.intra_subpartitions_mode_flag)、前記ISPが適用される場合はサブパーティションが分割タイプを指示するISPタイプ情報(ex.intra_subpartitions_split_flag)、PDCPの適用可否を示すフラグ情報またはLIPの適用可否を示すフラグ情報のうち少なくとも1つを含む。また、前記イントラ予測タイプ情報は、前記現在ブロックにMIP(matrix-based intra prediction)が適用されるか否かを示すMIPフラグを含む。
【0101】
例えば、イントラ予測が適用される場合、周辺ブロックのイントラ予測モードを用いて現在ブロックに適用されるイントラ予測モードが決定され得る。例えば、コーディング装置は、現在ブロックの周辺ブロック(ex.左側及び/または上側周辺ブロック)のイントラ予測モード及び/または追加的な候補モードに基づいて導出されたMPM(most probable mode)リスト内のMPM候補のうち1つを、受信されたMPMインデックスに基づいて選択することができ、または、前記MPM候補(及びプラナーモード)に含まれなかった残りのイントラ予測モードのうち1つをMPMリメインダー情報(リメイニングイントラ予測モード情報)に基づいて選択することができる。前記MPMリストは、プラナーモードを候補として含むか、含まないように構成されることができる。例えば、前記MPMリストがプラナーモードを候補として含む場合、前記MPMリストは、6個の候補を有することができ、前記MPMリストがプラナーモードを候補として含まない場合、前記MPMリストは、5個の候補を有することができる。前記MPMリストがプラナーモードを候補として含まない場合、現在ブロックのイントラ予測モードがプラナーモードでないかを表すnotプラナーフラグ(ex.intra_luma_not_planar_flag)がシグナリングされ得る。例えば、MPMフラグが先にシグナリングされ、MPMインデックス及びnotプラナーフラグは、MPMフラグの値が1である場合にシグナリングされることができる。また、前記MPMインデックスは、前記notプラナーフラグの値が1である場合にシグナリングされることができる。ここで、前記MPMリストがプラナーモードを候補として含まないように構成されることは、前記プラナーモードがMPMでないというよりは、MPMとして常にプラナーモードが考慮されるので、先にフラグ(not planar flag)をシグナリングして、プラナーモードであるか否かを先に確認するためである。
【0102】
例えば、現在ブロックに適用されるイントラ予測モードがMPM候補(及びプラナーモード)の中にあるか、それとも、リメイニングモードの中にあるかは、MPMフラグ(ex.intra_luma_mpm_flag)に基づいて指示されることができる。MPMフラグの値1は、前記現在ブロックに対するイントラ予測モードがMPM候補(及びプラナーモード)内にあることを表すことができ、MPMフラグの値0は、前記現在ブロックに対するイントラ予測モードがMPM候補(及びプラナーモード)内にないことを表すことができる。前記not planar flag(ex.intra_luma_not_planar_flag)値0は、前記現在ブロックに対するイントラ予測モードがプラナーモードであることを表すことができ、前記not planar flag値1は、前記現在ブロックに対するイントラ予測モードがプラナーモードでないことを表すことができる。前記MPMインデックスは、mpm_idxまたはintra_luma_mpm_idxシンタクス要素の形態でシグナリングされることができ、前記リメイニングイントラ予測モード情報は、rem_intra_luma_pred_modeまたはintra_luma_mpm_remainderシンタクス要素の形態でシグナリングされることができる。例えば、前記リメイニングイントラ予測モード情報は、全体イントラ予測モードのうち、前記MPM候補(及びプラナーモード)に含まれない残りのイントラ予測モードを予測モード番号順にインデクシングして、そのうち1つを指すことができる。前記イントラ予測モードは、ルマ成分(サンプル)に対するイントラ予測モードであることができる。以下、イントラ予測モード情報は、前記MPMフラグ(ex.intra_luma_mpm_flag)、前記not planar flag(ex.intra_luma_not_planar_flag)、前記MPMインデックス(ex.mpm_idxまたはintra_luma_mpm_idx)、前記リメイニングイントラ予測モード情報(rem_intra_luma_pred_modeまたはintra_luma_mpm_remainder)のうち、少なくとも1つを含むことができる。本文書においてMPMリストは、MPM候補リスト、candModeListなど、様々な用語で呼ばれることができる。
【0103】
MIPが現在ブロックに適用される場合、MIPのための別途のMPM flag(ex.intra_mip_mpm_flag)、MPMインデックス(ex.intra_mip_mpm_idx)、リメイニングイントラ予測モード情報(ex.intra_mip_mpm_remainder)がシグナリングされ得るし、前記not planar flagはシグナリングされないことができる。
【0104】
言い換えれば、一般的に画像に対するブロック分割がなされると、コーディングしようとする現在ブロックと周辺(neighboring)ブロックとは、類似した画像特性を有するようになる。したがって、現在ブロックと周辺ブロックとは、互いに同一であるか、類似したイントラ予測モードを有する確率が高い。したがって、エンコーダは、現在ブロックのイントラ予測モードをエンコードするために、周辺ブロックのイントラ予測モードを用いることができる。
【0105】
コーディング装置は、現在ブロックに対するMPM(most probable modes)リストを構成できる。前記MPMリストは、MPM候補リストと表すこともできる。ここで、MPMとは、イントラ予測モードコーディングの際、現在ブロックと周辺ブロックとの類似性を考慮して、コーディング効率を向上させるために用いられるモードを意味できる。前述したように、MPMリストは、プラナーモードを含んで構成されることができ、またはプラナーモードを除いて構成されることができる。例えば、MPMリストがプラナーモードを含む場合、MPMリストの候補の個数は、6個であることができる。そして、MPMリストがプラナーモードを含まない場合、MPMリストの候補の個数は、5個であることができる。
【0106】
エンコード装置は、様々なイントラ予測モードに基づいて予測を行うことができ、これに基づいたRDO(rate-distortion optimization)に基づいて最適のイントラ予測モードを決定できる。エンコード装置は、この場合、前記MPMリストに構成されたMPM候補及びプラナーモードのみを用いて前記最適のイントラ予測モードを決定することができ、または、前記MPMリストに構成されたMPM候補及びプラナーモードだけでなく、残りのイントラ予測モードをさらに用いて前記最適のイントラ予測モードを決定することもできる。具体的に、例えば、仮に前記現在ブロックのイントラ予測タイプがノーマルイントラ予測タイプでない特定タイプ(例えば、LIP、MRL、またはISP)である場合には、エンコード装置は、前記MPM候補及びプラナーモードのみを前記現在ブロックに対するイントラ予測モード候補として考慮して前記最適のイントラ予測モードを決定できる。すなわち、この場合には、前記現在ブロックに対するイントラ予測モードは、前記MPM候補及びプラナーモードの中で決定されることができ、この場合には、前記MPM flagをエンコード/シグナリングしないことができる。デコード装置は、この場合には、MPM flagを別途にシグナリングされなくとも、MPM flagが1であることと推定することができる。
【0107】
一方、一般的に、前記現在ブロックのイントラ予測モードがプラナーモードでなく、前記MPMリスト内にあるMPM候補のうち1つの場合、エンコード装置は、前記MPM候補のうち1つを指すMPMインデックス(mpm idx)を生成する。仮に、前記現在ブロックのイントラ予測モードが前記MPMリスト内にもない場合には、前記MPMリスト(及びプラナーモード)に含まれなかった残りのイントラ予測モードの中で前記現在ブロックのイントラ予測モードと同じモードを指すMPMリメインダー情報(リメイニングイントラ予測モード情報)を生成する。前記MPMリメインダー情報は、例えば、intra_luma_mpm_remainderシンタクス要素を含むことができる。
【0108】
デコード装置は、ビットストリームからイントラ予測モード情報を取得する。前記イントラ予測モード情報は、前述したように、MPMフラグ、notプラナーフラグ、MPMインデックス、MPMリメインダー情報(リメイニングイントラ予測モード情報)のうち、少なくとも1つを含むことができる。デコード装置は、MPMリストを構成できる。前記MPMリストは、前記エンコード装置で構成されたMPMリストと同様に構成される。すなわち、前記MPMリストは、周辺ブロックのイントラ予測モードを含むことができ、予め決められた方法によって特定イントラ予測モードをさらに含むこともできる。
【0109】
デコード装置は、前記MPMリスト及び前記イントラ予測モード情報に基づいて現在ブロックのイントラ予測モードを決定できる。一例として、前記MPMフラグの値が1である場合、デコード装置は、プラナーモードを前記現在ブロックのイントラ予測モードとして導出するか(not planar flag基盤)、前記MPMリスト内のMPM候補のうち、前記MPMインデックスが指す候補を前記現在ブロックのイントラ予測モードとして導出することができる。ここで、MPM候補とは、前記MPMリストに含まれる候補のみを表すことができ、または、前記MPMリストに含まれる候補だけでなく、前記MPMフラグの値が1である場合に適用されることができるプラナーモードも含まれることができる。
【0110】
他の例として、前記MPMフラグの値が0である場合、デコード装置は、前記MPMリスト及びプラナーモードに含まれなかった残りのイントラ予測モードの中で前記リメイニングイントラ予測モード情報(mpm remainder情報と呼ばれることができる)が指すイントラ予測モードを前記現在ブロックのイントラ予測モードとして導出することができる。一方、さらに他の例として、前記現在ブロックのイントラ予測タイプが特定タイプ(ex.LIP、MRLまたはISP等)である場合、デコード装置は、前記MPMフラグのパーシング/デコード/確認なしにも、前記プラナーモードまたは前記MPMリスト内で前記MPMフラグが指す候補を前記現在ブロックのイントラ予測モードとして導出することができる。
【0111】
コーディング装置は、現在ブロックの周辺参照サンプルを導出する(S610)。現在ブロックにイントラ予測が適用される場合、現在ブロックのイントラ予測に使用する周辺参照サンプルが導出され得る。前記現在ブロックの周辺参照サンプルは、nW×nHサイズの現在ブロックの左側(left)境界に隣接したサンプル及び左下側(bottom-left)に隣り合う合計2×nH個のサンプル、現在ブロックの上側(top)境界に隣接したサンプル及び右上側(top-right)に隣り合う合計2xnW個のサンプル及び現在ブロックの左上側(top-left)に隣り合う1個のサンプルを含むことができる。または、前記現在ブロックの周辺参照サンプルは、複数列の上側周辺サンプル及び複数行の左側周辺サンプルを含むこともできる。また、前記現在ブロックの周辺参照サンプルは、nW×nHサイズの現在ブロックの右側(right)境界に隣接した合計nH個のサンプル、現在ブロックの下側(bottom)境界に隣接した合計nW個のサンプル、及び現在ブロックの右下側(bottom-right)に隣り合う1個のサンプルを含むこともできる。
【0112】
一方、MRLが適用される場合(すなわち、MRLインデックスの値が0より大きい場合)、前記周辺参照サンプルは、左側/上側で現在ブロックに隣接した0番ラインでない、1番ないし2番ラインに位置することができ、この場合、周辺参照サンプルの個数はさらに増えることができる。一方、ISPが適用される場合、前記周辺参照サンプルは、サブパーティション単位で導出されることができる。
【0113】
コーディング装置は、現在ブロックにイントラ予測を行って予測サンプルを導出する(S620)。コーディング装置は、前記イントラ予測モード/タイプ及び前記周辺サンプルに基づいて前記予測サンプルを導出できる。コーディング装置は、現在ブロックの周辺参照サンプルのうち、前記現在ブロックのイントラ予測モードによる参照サンプルを導出でき、前記参照サンプルに基づいて前記現在ブロックの予測サンプルを導出できる。
【0114】
一方、インター予測が適用される場合、エンコード装置/デコード装置の予測部は、ブロック単位でインター予測を行って予測サンプルを導出できる。インター予測は、現在ピクチャ以外のピクチャ(等)のデータ要素(ex.サンプル値、または動き情報)に依存的な方法で導出される予測を表すことができる(Inter prediction can be a prediction derived in a manner that is dependent on data elements(ex.sample values or motion information) of picture(s) other than the current picture)。現在ブロックにインター予測が適用される場合、参照ピクチャインデックスが指す参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロック(予測サンプルアレイ)を導くことができる。このとき、インター予測モードで送信される動き情報の量を減らすために、周辺ブロックと現在ブロックとの間の動き情報の相関性に基づいて現在ブロックの動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測タイプ(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測が適用される場合、周辺ブロックは、現在ピクチャ内に存在する空間的周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)とを備えることができる。前記参照ブロックを備える参照ピクチャと前記時間的周辺ブロックを備える参照ピクチャとは、同一であることができ、異なることもできる。前記時間的周辺ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(colCU)などの名前と呼ばれることができ、前記時間的周辺ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)とも呼ばれることができる。例えば、現在ブロックの周辺ブロックに基づいて動き情報候補リストが構成され得るし、前記現在ブロックの動きベクトル及び/または参照ピクチャインデックスを導出するために、いずれの候補が選択(使用)されるかを指示するフラグまたはインデックス情報がシグナリングされ得る。様々な予測モードに基づいてインター予測が行われ得るし、例えば、スキップモードとマージモードの場合に、現在ブロックの動き情報は、選択された周辺ブロックの動き情報と同様であることができる。スキップモードの場合、マージモードとは異なり、レジデュアル信号が送信されないことができる。動き情報予測(motion vector prediction、MVP)モードの場合、選択された周辺ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として用い、動きベクトル差分(motion vector difference)は、シグナリングされることができる。この場合、前記動きベクトル予測子及び動きベクトル差分の合計を利用して前記現在ブロックの動きベクトルを導出できる。
【0115】
前記動き情報は、インター予測タイプ(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)に対応することができる。
【0116】
インター予測に基づいたビデオ/画像エンコード手順は、概略的に例えば、次を含むことができる。
【0117】
図7は、インター予測基盤のビデオ/画像エンコード方法の例を示す。
【0118】
エンコード装置は、現在ブロックに対するインター予測を行う(S700)。エンコード装置は、現在ブロックのインター予測モード及び動き情報を導出し、前記現在ブロックの予測サンプルを生成できる。ここで、インター予測モード決定、動き情報導出、及び予測サンプル生成手順は同時に行われることができ、いずれか1つの手順が他の手順より先に行われることもできる。例えば、エンコード装置のインター予測部は、予測モード決定部、動き情報導出部、予測サンプル導出部を備えることができ、予測モード決定部で前記現在ブロックに対する予測モードを決定し、動き情報導出部で前記現在ブロックの動き情報を導出し、予測サンプル導出部で前記現在ブロックの予測サンプルを導出できる。例えば、エンコード装置のインター予測部は、動き推定(motion estimation)を介して参照ピクチャの一定領域(サーチ領域)内で前記現在ブロックと類似したブロックをサーチし、前記現在ブロックとの差が最小または一定基準以下である参照ブロックを導出できる。これに基づいて前記参照ブロックが位置する参照ピクチャを指す参照ピクチャインデックスを導出し、前記参照ブロックと前記現在ブロックとの位置差に基づいて動きベクトルを導出できる。エンコード装置は、様々な予測モードのうち、前記現在ブロックに対して適用されるモードを決定できる。エンコード装置は、前記様々な予測モードに対するRD costを比較し、前記現在ブロックに対する最適の予測モードを決定できる。
【0119】
例えば、エンコード装置は、前記現在ブロックにスキップモードまたはマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補が指す参照ブロックのうち、前記現在ブロックと、前記現在ブロックとの差が最小または一定基準以下である参照ブロックとを導出できる。この場合、前記導出された参照ブロックと連関したマージ候補が選択され、前記選択されたマージ候補を指すマージインデックス情報が生成されてデコード装置にシグナリングされることができる。前記選択されたマージ候補の動き情報を利用して前記現在ブロックの動き情報を導出できる。
【0120】
他の例として、エンコード装置は、前記現在ブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補のうち、選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして用いることができる。この場合、例えば、前述した動き推定によって導出された参照ブロックを指す動きベクトルが前記現在ブロックの動きベクトルとして用いられることができ、前記mvp候補のうち、前記現在ブロックの動きベクトルとの差が最も小さい動きベクトルを有するmvp候補が前記選択されたmvp候補になり得る。前記現在ブロックの動きベクトルから前記mvpを差し引いた差分であるMVD(motion vector difference)が導出され得る。この場合、前記MVDに関する情報がデコード装置にシグナリングされることができる。また、(A)MVPモードが適用される場合、前記参照ピクチャインデックスの値は、参照ピクチャインデックス情報で構成されて、別に前記デコード装置にシグナリングされることができる。
【0121】
エンコード装置は、前記予測サンプルに基づいてレジデュアルサンプルを導出できる(S710)。エンコード装置は、前記現在ブロックの原本サンプルと前記予測サンプルとの比較を介して前記レジデュアルサンプルを導出できる。
【0122】
エンコード装置は、予測情報及びレジデュアル情報を含む画像情報をエンコードする(S720)。エンコード装置は、エンコードされた画像情報をビットストリーム形態で出力することができる。前記予測情報は、前記予測手順に関連した情報として予測モード情報(ex.skip flag、merge flag or mode index等)及び動き情報に関する情報を含むことができる。前記動き情報に関する情報は、動きベクトルを導出するための情報である候補選択情報(ex.merge index、mvp flag or mvp index)を含むことができる。また、前記動き情報に関する情報は、前述したMVDに関する情報及び/または参照ピクチャインデックス情報を含むことができる。また、前記動き情報に関する情報は、L0予測、L1予測、または、対(bi)予測が適用されるか否かを表す情報を含むことができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。
【0123】
出力されたビットストリームは、(デジタル)記録媒体に格納されてデコード装置に伝達されることができ、または、ネットワークを介してデコード装置に伝達されることもできる。
【0124】
一方、前述したように、エンコード装置は、前記参照サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャ(復元サンプル及び復元ブロックを含む)を生成できる。これは、デコード装置で行われることと同じ予測結果をエンコード装置で導出するためであり、これを介してコーディング効率を上げることができるためである。したがって、エンコード装置は、復元ピクチャ(または、復元サンプル、復元ブロック)をメモリに格納し、インター予測のための参照ピクチャとして活用することができる。前記復元ピクチャにループ内フィルタリング手順などがさらに適用され得ることは、前述したとおりである。
【0125】
インター予測に基づいたビデオ/画像デコード手順は、概略的に例えば、次を含むことができる。
【0126】
図8は、インター予測基盤のビデオ/画像デコード方法の例を示す。
【0127】
図8に示すように、デコード装置は、前記エンコード装置で行われた動作と対応する動作を行うことができる。デコード装置は、受信された予測情報に基づいて現在ブロックに対する予測を行い、予測サンプルを導出できる。
【0128】
具体的に、デコード装置は、受信された予測情報に基づいて前記現在ブロックに対する予測モードを決定できる(S800)。デコード装置は、前記予測情報内の予測モード情報に基づいて前記現在ブロックにいずれのインター予測モードが適用されるか決定することができる。
【0129】
例えば、前記merge flagに基づいて前記現在ブロックに前記マージモードが適用されるか、または(A)MVPモードが決定されるかの可否を決定できる。または、前記mode indexに基づいて様々なインター予測モード候補のうち1つを選択できる。前記インター予測モード候補は、スキップモード、マージモード、及び/または(A)MVPモードを含むことができ、または、後述する様々なインター予測モードを含むことができる。
【0130】
デコード装置は、前記決定されたインター予測モードに基づいて前記現在ブロックの動き情報を導出する(S810)。例えば、デコード装置は、前記現在ブロックにスキップモードまたはマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補のうち1つのマージ候補を選択できる。前記選択は、前述した選択情報(merge index)に基づいて行われることができる。前記選択されたマージ候補の動き情報を利用して前記現在ブロックの動き情報を導出できる。前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報として利用されることができる。
【0131】
他の例として、デコード装置は、前記現在ブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補のうち、選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして用いることができる。前記選択は、前述した選択情報(mvp flag or mvp index)に基づいて行われることができる。この場合、前記MVDに関する情報に基づいて前記現在ブロックのMVDを導出でき、前記現在ブロックのmvpと前記MVDに基づいて前記現在ブロックの動きベクトルを導出できる。また、前記参照ピクチャインデックス情報に基づいて前記現在ブロックの参照ピクチャインデックスを導出できる。前記現在ブロックに関する参照ピクチャリスト内で前記参照ピクチャインデックスが指すピクチャが前記現在ブロックのインター予測のために参照される参照ピクチャとして導出されることができる。
【0132】
一方、後述するように、候補リスト構成なしに前記現在ブロックの動き情報が導出され得るし、この場合、後述する予測モードで開示された手順によって前記現在ブロックの動き情報が導出され得る。この場合、前述したような候補リスト構成は省略されることができる。
【0133】
デコード装置は、前記現在ブロックの動き情報に基づいて前記現在ブロックに対する予測サンプルを生成できる(S820)。この場合、前記現在ブロックの参照ピクチャインデックスに基づいて前記参照ピクチャを導出し、前記現在ブロックの動きベクトルが前記参照ピクチャ上で指す参照ブロックのサンプルを用いて前記現在ブロックの予測サンプルを導出できる。この場合、後述するように、場合によって、前記現在ブロックの予測サンプルのうち、全部または一部に対する予測サンプルフィルタリング手順がさらに行われることができる。
【0134】
例えば、デコード装置のインター予測部は、予測モード決定部、動き情報導出部、予測サンプル導出部を備えることができ、予測モード決定部で受信された予測モード情報に基づいて前記現在ブロックに対する予測モードを決定し、動き情報導出部で受信された動き情報に関する情報に基づいて前記現在ブロックの動き情報(動きベクトル及び/または参照ピクチャインデックス等)を導出し、予測サンプル導出部で前記現在ブロックの予測サンプルを導出できる。
【0135】
デコード装置は、受信されたレジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを生成する(S830)。デコード装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャを生成できる。(S840)。その後、前記復元ピクチャにループ内フィルタリング手順などがさらに適用され得ることは、前述したとおりである。
【0136】
【0137】
図9に示すように、前述したように、インター予測手順は、インター予測モード決定ステップ、決定された予測モードによる動き情報導出ステップ、導出された動き情報に基づいた予測実行(予測サンプル生成)ステップを含むことができる。前記インター予測手順は、前述したように、エンコード装置及びデコード装置で行われることができる。本文書においてコーディング装置とは、エンコード装置及び/またはデコード装置を含むことができる。
【0138】
図9に示すように、コーディング装置は、現在ブロックに対するインター予測モードを決定する(S900)。ピクチャ内の現在ブロックの予測のために、様々なインター予測モードが使用され得る。例えば、マージモード、スキップモード、MVP(motion vector prediction)モード、アフィン(Affine)モード、サブブロックマージモード、MMVD(merge with MVD)モードなど、様々なモードが使用され得る。DMVR(Decoder side motion vector refinement)モード、AMVR(adaptive motion vector resolution)モード、Bi-prediction with CU-level weight (BCW)、Bi-directional optical flow (BDOF)などが付随的なモードとしてさらにあるいは代わりに使用されることができる。アフィンモードは、アフィン動き予測(affine motion prediction)モードと呼ばれることもできる。MVPモードは、AMVP(advanced motion vector prediction)モードと呼ばれることもできる。本文書において一部モード及び/または一部モードによって導出された動き情報候補は、他のモードの動き情報関連候補のうち、1つとして含まれることもできる。例えば、HMVP候補は、前記マージ/スキップモードのマージ候補として追加されることができ、または、前記MVPモードのmvp候補として追加されることもできる。前記HMVP候補が前記マージモードまたはスキップモードの動き情報候補として使用される場合、前記HMVP候補は、HMVPマージ候補と呼ばれることができる。
【0139】
現在ブロックのインター予測モードを指す予測モード情報がエンコード装置からデコード装置にシグナリングされることができる。前記予測モード情報は、ビットストリームに含まれてデコード装置に受信されることができる。前記予測モード情報は、複数の候補モードのうち1つを指示するインデックス情報を含むことができる。または、フラグ情報の階層的シグナリングを介してインター予測モードを指示することもできる。この場合、前記予測モード情報は、1つ以上のフラグを含むことができる。例えば、スキップフラグをシグナリングしてスキップモード適用可否を指示し、スキップモードが適用されない場合に、マージフラグをシグナリングしてマージモード適用可否を指示し、マージモードが適用されない場合に、MVPモードが適用されることと指示するか、追加的な区分のためのフラグをさらにシグナリングすることもできる。アフィンモードは、独立的なモードでシグナリングされることができ、または、マージモードまたはMVPモードなどに従属的なモードでシグナリングされることもできる。例えば、アフィンモードは、アフィンマージモード及びアフィンMVPモードを含むことができる。
【0140】
コーディング装置は、前記現在ブロックに対する動き情報を導出する(S910)。前記動き情報導出を前記インター予測モードに基づいて導出することができる。
【0141】
コーディング装置は、現在ブロックの動き情報を利用してインター予測を行うことができる。エンコード装置は、動き推定(motion estimation)手順を介して現在ブロックに対する最適の動き情報を導出できる。例えば、エンコード装置は、現在ブロックに対する原本ピクチャ内の原本ブロックを用いて相関性の高い類似した参照ブロックを参照ピクチャ内の決められた探索範囲内で分数ピクセル単位で探索することができ、これを介して動き情報を導出できる。ブロックの類似性は、位相(phase)基盤のサンプル値の差に基づいて導出することができる。例えば、ブロックの類似性は、現在ブロック(または、現在ブロックのテンプレート)と参照ブロック(または、参照ブロックのテンプレート)との間のSADに基づいて計算されることができる。この場合、探索領域内のSADが最も小さい参照ブロックに基づいて動き情報を導出できる。導出された動き情報は、インター予測モードに基づいて種々の方法によってデコード装置にシグナリングされることができる。
【0142】
コーディング装置は、前記現在ブロックに対する動き情報に基づいてインター予測を行う(S920)。コーディング装置は、前記動き情報に基づいて前記現在ブロックに対する予測サンプル(等)を導出できる。前記予測サンプルを含む現在ブロックは、予測されたブロックと呼ばれることができる。
【0143】
一方、前述した内容のように、エンコード装置は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などのような多様なエンコード方法を実行することができる。また、デコード装置は、指数ゴロム符号化、CAVLCまたはCABACなどのコーディング方法に基づいてビットストリーム内の情報をデコーディングし、画像復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値を出力することができる。
【0144】
例えば、上述したコーディング方法等は、後述する内容のように行われることができる。
【0145】
図10は、シンタックスエレメント(syntax element)をエンコーディングするためのCABAC(context-adaptive binary arithmetic coding)を例示的に示す。例えば、CABACの符号化過程は、エンコード装置は入力信号が二進値でないシンタックスエレメントである場合には、前記入力信号の値を二進化(binarization)して、入力信号を二進値に変換することができる。また、前記入力信号が既に二進値である場合(すなわち、前記入力信号の値が二進値である場合)には、二進化が行われず、バイパス(bypass)されることができる。ここで、二進値を構成するそれぞれの二進数0または1をビン(bin)ということができる。例えば、二進化された後の二進ストリングが110である場合、1、1、0の各々を1つのビンという。1つのシンタックスエレメントに対する前記ビン(等)は、前記シンタックスエレメントの値を表すことができる。
【0146】
その後、前記シンタックスエレメントの二進化されたビン等は、正規(regular)符号化エンジンまたはバイパス符号化エンジンとして入力されることができる。エンコード装置の正規符号化エンジンは、当該ビンに対して確率値を反映する文脈モデル(context model)を割り当てることができ、割り当てられた文脈モデルに基づいて当該ビンをエンコーディングすることができる。エンコード装置の前記正規符号化エンジンは、各ビンに対するエンコーディングを行った後に、当該ビンに対する文脈モデルを更新できる。上述した内容のようにエンコーディングされるビンは、文脈符号化ビン(context-coded bin)と表すことができる。
【0147】
一方、前記シンタックスエレメントの二進化されたビン等が前記バイパス符号化エンジンに入力される場合には、次のようにコーディングされることができる。例えば、エンコード装置のバイパス符号化エンジンは、入力されたビンに対して確率を推定する手順と、符号化後に前記ビンに適用した確率モデルを更新する手順とを省略する。バイパスエンコーディングが適用される場合、エンコード装置は、文脈モデルを割り当てる代わりに、均一な確率分布を適用して、入力されるビンをエンコーディングすることができ、これを通じてエンコーディング速度を向上させることができる。上述した内容のようにエンコーディングされるビンは、バイパスビン(bypass bin)と表すことができる。
【0148】
エントロピーデコーディングは、上述したエントロピーエンコーディングと同じ過程を逆順に行う過程を表すことができる。
【0149】
例えば、シンタックスエレメントが文脈モデルに基づいてデコーディングされる場合、デコード装置は、ビットストリームを介して前記シンタックスエレメントに該当するビンを受信でき、前記シンタックスエレメントとデコーディング対象ブロックまたは周辺ブロックのデコーディング情報或いは以前ステップでデコーディングされたシンボル/ビンの情報を利用して文脈モデル(context model)を決定でき、決定された文脈モデルによって前記受信されたビン(bin)の発生確率を予測し、ビンの算術デコーディング(arithmetic decoding)を行って前記シンタックスエレメントの値を導出できる。その後、前記決定された文脈モデルに次にデコーディングされるビンの文脈モデルがアップデートされ得る。
【0150】
また、例えば、シンタックスエレメントがバイパスデコーディングされる場合、デコード装置は、ビットストリームを介して前記シンタックスエレメントに該当するビンを受信でき、均一な確率分布を適用して、入力されるビンをデコーディングすることができる。この場合、デコード装置は、シンタックスエレメントの文脈モデルを導出する手順と、デコーディング以後に前記ビンに適用した文脈モデルを更新する手順とは省略されることができる。
【0151】
前述のように、レジデュアルサンプル等は、変換、量子化過程を経て量子化された変換係数等に導出されることができる。量子化された変換係数等は、変換係数等とも呼ばれることができる。この場合、ブロック内の変換係数等は、レジデュアル情報の形態にシグナリングされることができる。前記レジデュアル情報は、レジデュアルコーディングシンタックスを含むことができる。すなわち、エンコード装置は、レジデュアル情報としてレジデュアルコーディングシンタックスを構成し、これをエンコーディングしてビットストリーム形態に出力することができ、デコード装置は、ビットストリームからレジデュアルコーディングシンタックスをデコーディングしてレジデュアル(量子化された)変換係数等を導出できる。前記レジデュアルコーディングシンタックスは、後述するように、当該ブロックに対して変換が適用されたか、ブロック内の最後の有効変換係数の位置がどこであるか、サブブロック内の有効変換係数が存在するか、有効変換係数の大きさ/符号がどうであるかなどを表すシンタックスエレメント等(syntax elements)を含むことができる。
【0152】
例えば、(量子化された)変換係数(すなわち、前記レジデュアル情報)は、transform_skip_flag、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_gt1_flag、abs_level_gt3_flag、abs_remainder、coeff_sign_flag、dec_abs_level、mts_idxなどのシンタックスエレメント等(syntax elements)に基づいてエンコーディング及び/またはデコーディングされることができる。レジデュアルデータエンコーディング/デコーディングと関連したシンタックスエレメント等は、次の表のように表すことができる。
【0153】
【0154】
【0155】
【0156】
【0157】
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と混用され得ることは、上述のとおりである。
【0158】
一方、前記変換スキップフラグがシグナリングされた後にシグナリングされるシンタックスエレメント等は、後述した表2に開示されたシンタックスエレメント等と同一であることができ、前記シンタックスエレメント等についての具体的な説明は、後述のとおりである。
【0159】
【0160】
【0161】
【0162】
【0163】
【0164】
【0165】
【0166】
【0167】
【0168】
【0169】
【0170】
【0171】
本実施形態に係ると、表2に示すように、変換スキップフラグのシンタックスエレメントtransform_skip_flagの値によってレジデュアルコーディングが分岐されることができる。すなわち、変換スキップフラグの値に基づいて(変換スキップ可否に基づいて)、レジデュアルコーディングのために異なるシンタックスエレメントが用いられることができる。変換スキップが適用されない場合(すなわち、変換が適用された場合)に用いられるレジデュアルコーディングは、レギュラーレジデュアルコーディング(Regular Residual Coding、RRC)と呼ばれ得、変換スキップが適用されない場合(すなわち、変換が適用されない場合)のレジデュアルコーディングは、変換スキップレジデュアルコーディング(Transform Skip Residual Coding、TSRC)と呼ばれ得る。また、前記レギュラーレジデュアルコーディングは、一般的なレジデュアルコーディング(general residual coding)とも呼ばれ得る。また、前記レギュラーレジデュアルコーディングは、レギュラーレジデュアルコーディングシンタックス構造と呼ばれ得、前記変換スキップレジデュアルコーディングは、変換スキップレジデュアルコーディングシンタックス構造と呼ばれ得る。前記表3は、transform_skip_flagの値が0の場合、すなわち、変換が適用された場合のレジデュアルコーディングのシンタックスエレメントを表すことができ、表4は、transform_skip_flagの値が1の場合、すなわち変換が適用されない場合のレジデュアルコーディングのシンタックスエレメントを表すことができる。
【0172】
具体的には、例えば、変換ブロックの変換スキップ可否を指示する変換スキップフラグがパーシングされることができ、前記変換スキップフラグが1であるか否かが判断されることができる。前記変換スキップフラグの値が0の場合、表3に示すように、変換ブロックのレジデュアル係数に対するシンタックスエレメント等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)の一例示であり得る。
【0173】
前述の表3を参照すれば、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と示すこともできる。
【0174】
一実施形態においてエンコード装置は、シンタックスエレメント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)にイントラ/インター予測が適用されるか否か及び/または具体的なイントラ/インター予測モードに基づいて決定されることができる。
【0175】
次に、エンコード装置は、前記変換ブロックを4×4サブブロック(sub-block)等に分割した後、各4×4サブブロック毎に1ビットのシンタックス要素coded_sub_block_flagを使用して、現在サブブロック内に0でない係数が存在するか否かを表すことができる。
【0176】
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であると仮定されることができる。
【0177】
仮に、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でない有効係数であるか否かを表す有効係数フラグのシンタックスエレメントの一例示に該当することができる。
【0178】
sig_coeff_flagに対する符号化以後の残りのレベル値は、下記の数式のように導出されることができる。すなわち、符号化すべきレベル値を表すシンタックス要素remAbsLevelは、下記の数式のように導出されることができる。
【0179】
【0180】
ここで、coeffは、実際変換係数値を意味する。
【0181】
また、abs_level_gt1_flagは、当該スキャニング位置(n)でのremAbsLevelが1より大きいか否かを表すことができる。例えば、abs_level_gt1_flagの値が0の場合、当該位置の変換係数の絶対値(absolute value)は1であり得る。また、前記abs_level_gt1_flagの値が1の場合、後で符号化すべきレベル値を表す前記remAbsLevelは、次の数式のようにアップデートされることができる。
【0182】
【0183】
また、上述した数式2に記載されたremAbsLevelのleast significant coefficient(LSB)値は、par_level_flagを介して下記の数式3のようにエンコーディングされることができる。
【0184】
【0185】
ここで、par_level_flag[n」は、スキャニング位置nにおける変換係数レベル(値)のパリティ(parity)を表すことができる。
【0186】
par_leve_flagエンコーディング後にエンコーディングすべき変換係数レベル値remAbsLevelは、次の数式のようにアップデートされることができる。
【0187】
【0188】
abs_level_gt3_flagは、当該スキャニング位置(n)でのremAbsLevelが3より大きいか否かを表すことができる。abs_level_gt3_flagが1の場合のみabs_remainderに対するエンコーディングが実行されることができる。実際変換係数値であるcoeffと各シンタックス要素との関係は、次の数式のとおりであり得る。
【0189】
【0190】
また、次の表は、上述した数式5と関連した例示等を表す。
【0191】
【0192】
ここで、|coeff|は、変換係数レベル(値)を表し、変換係数に対するAbsLevelと表示されることもできる。また、各係数の符号は、1ビットシンボルであるcoeff_sign_flagを用いてエンコーディングされることができる。
【0193】
また、例えば、前記変換スキップフラグの値が1の場合、表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臨界値など所定の臨界値で代替されることもできる。
【0194】
一方、CABACは、高い性能を提供するが、処理量(throughput)性能が良くないという短所がある。これは、CABACの正規符号化エンジンによるもので、正規符号化(すなわち、CABACの正規符号化エンジンを通じたエンコーディング)は、以前ビン(bin)の符号化を通じてアップデートされた確率状態と範囲を用いるため、高いデータ依存性を見せ、確率区間を読んで現在状態を判断するのにたくさんの時間が必要となる。CABACの処理量の問題は、文脈符号化ビン(context-coded bin)の数を制限することにより解決されることができる。例えば、前述した表1または表3のように、sig_coeff_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flagを表現するために用いられたビンの和が当該ブロックのサイズによる個数に制限されることができる。また、例えば、前述した表4のように、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を表現するために用いられたビンの和が当該ブロックのサイズによる個数に制限されることができる。一例として、当該ブロックが4×4サイズのブロックである場合、前記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個)に制限されることができ、当該ブロックが2×2サイズのブロックである場合、前記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)単位に制限されることができる。例えば、現在ブロックのサイズが16×16の場合、現在CGに関係なく、現在ブロックに対する文脈符号化ビンの個数が前記現在ブロックのピクセル個数の1.75倍、すなわち、448個に制限されることができる。
【0195】
この場合、エンコード装置は、文脈要素を符号化するのに制限された個数の文脈符号化ビンを全部用いると、残り係数を文脈コーディングを使用せず後述する前記係数に対する二進化方法を通じて二進化し、バイパスコーディングを実行することができる。言い換えれば、例えば、4×4CGに対してコーディングされた文脈符号化ビン(context coded bin)の数が32(または例えば、28)、または2×2CGに対してコーディングされた文脈符号化ビンの数が8(または、例えば、7)になる場合には、これ以上文脈符号化ビンにコーディングされるsig_coeff_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flagはコーディングされないことがあり得、直ちにdec_abs_levelにコーディングされることができる。または、例えば、4×4ブロックに対してコーディングされた文脈符号化ビン(context coded bin)の数が全体ブロックのピクセル個数の1.75倍、すなわち、28に制限される場合、これ以上文脈符号化ビンにコーディングされるsig_coeff_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flagはコーディングされないことがあり得、後述した表6のように、直ちにdec_abs_levelにコーディングされることができる。
【0196】
【0197】
dec_abs_levelに基づいて|coeff|値が導出されることができる。この場合、変換係数値である|coeff|は、次の数式のように導出されることができる。
【0198】
【0199】
また、前記coeff_sign_flagは、当該スキャニング位置(n)での変換係数レベルの符号(sign)を表すことができる。すなわち、前記coeff_sign_flagは、当該スキャニング位置(n)での変換係数の符号(sign)を表すことができる。
【0200】
図11は、4×4ブロック内の変換係数等の例示を図示する図である。
【0201】
図11の4×4ブロックは、量子化された係数等の一例を示す。
図11に示されたブロックは、4×4変換ブロックであるか、または8×8、16×16、32×32、64×64変換ブロックの4×4サブブロックであることができる。
図11の4×4ブロックは、ルマブロックまたはクロマブロックを表すことができる。
【0202】
一方、上述した内容のように、エンコード装置は、入力信号が二進値でないシンタックスエレメントである場合には、前記入力信号の値を二進化(binarization)して入力信号を二進値に変換することができる。また、デコード装置は、前記シンタックスエレメントをデコーディングして、前記シンタックスエレメントの二進化された値(すなわち、二進化されたビン)を導出でき、前記二進化された値を逆二進化して、前記シンタックスエレメントの値を導出できる。前記二進化過程は、後述するトランケーテッドライス(Truncated Rice、TR)二進化プロセス(binarization process)、k次Exp-Golomb(k-th order Exp-Golomb、EGk)二進化プロセス(binarization process)、k次Limited Exp-Golomb(Limited k-th order Exp-Golomb、Limited EGk)、または固定長さ(Fixed-length、FL)二進化プロセス(binarization process)などで行われることができる。また、逆二進化過程は、前記TR二進化プロセス、前記EGk二進化プロセス、または前記FL二進化プロセスに基づいて行われて、前記シンタックスエレメントの値を導出する過程を表すことができる。
【0203】
例えば、前記TR二進化プロセスは、次のように行われることができる。
【0204】
前記TR二進化プロセスの入力(input)は、TR二進化に対する要請とシンタックスエレメントに対するcMax及びcRiceParamであることができる。また、前記TR二進化プロセスの出力(output)は、ビンストリングに対応する値symbolValに対するTR二進化であることができる。
【0205】
具体的に、一例として、シンタックスエレメントに対する接尾辞(suffix)ビンストリングが存在する場合には、前記シンタックスエレメントに対するTRビンストリングは、接頭辞(prefix)ビンストリングと接尾辞ビンストリングとの結合(concatenation)であることができ、前記接尾辞ビンストリングが存在しない場合には、前記シンタックスエレメントに対する前記TRビンストリングは、前記接頭辞ビンストリングであることができる。例えば、前記接頭辞ビンストリングは、後述するように導出されることができる。
【0206】
前記シンタックスエレメントに対する前記symbolValの接頭辞値(prefix value)は、次の数式のように導出されることができる。
【0207】
【0208】
ここで、prefixValは、前記symbolValの接頭辞値を表すことができる。前記シンタックスエレメントの前記TRビンストリングの接頭辞(すなわち、接頭辞ビンストリング)は、後述するように導出されることができる。
【0209】
例えば、前記prefixValがcMax>>cRiceParamより小さい場合、接頭辞ビンストリングは、binIdxによりインデクシングされる(indexed)長さprefixVal+1のビットストリング(bit string)であることができる。すなわち、前記prefixValがcMax>>cRiceParamより小さい場合、前記接頭辞ビンストリングは、binIdxが指すprefixVal+1ビット数のビットストリングであることができる。prefixValより小さいbinIdxに対するビンは、1と同一であることができる。また、prefixValと同じbinIdxに対するビンは、0と同一であることができる。
【0210】
例えば、前記prefixValに対する単項二進化(unary binarization)で導出されるビンストリングは、次の表のとおりであることができる。
【0211】
【0212】
一方、前記prefixValがcMax>>cRiceParamより小さくない場合、前記接頭辞ビンストリングは、長さがcMax>>cRiceParamであり、全てのビンが1であるビットストリングであることができる。
【0213】
また、cMaxがsymbolValより大きく、cRiceParamが0より大きい場合、TRビンストリングの接尾辞ビンストリングが存在しうる。例えば、前記接尾辞ビンストリングは、後述するように導出されることができる。
【0214】
前記シンタックスエレメントに対する前記symbolValの接尾辞値(suffix value)は、次の数式のように導出されることができる。
【0215】
【0216】
ここで、suffixValは、前記symbolValの接尾辞値を表すことができる。
【0217】
TRビンストリングの接尾辞(すなわち、接尾辞ビンストリング)は、cMax値が(1<<cRiceParam)-1であるsuffixValに対するFL二進化プロセスに基づいて導出されることができる。
【0218】
一方、入力パラメータであるcRiceParamの値が0であれば、前記TR二進化は、正確にトランケーテッド単項二進化(truncated unary binarization)であることができ、常にデコーディングされるシンタックスエレメントの可能な最大値と同じcMax値が使用され得る。
【0219】
また、例えば、前記EGk二進化プロセスは、次のように行われることができる。ue(v)でコーディングされたシンタックスエレメントは、Exp-Golombコーディングされたシンタックスエレメントであることができる。
【0220】
一例として、0次Exp-Golomb(0-th order Exp-Golomb、EG0)二進化プロセスは、次のように行われることができる。
【0221】
前記シンタックスエレメントに対するパーシングプロセス(parsingprocess)は、ビットストリームの現在位置から始めて、1番目のノンゼロ(non-zero)ビットを含むビットを読んで、0のような先行ビット数を数えること(counting)により始まることができる。前記過程は、次の表のように表すことができる。
【0222】
【0223】
また、変数codeNumは、次の数式のように導出されることができる。
【0224】
【0225】
ここで、read_bits(leadingZeroBits)で返還された値、すなわち、read_bits(leadingZeroBits)が表す値は、1番目に記録された最も重要なビット(most significant bit)に対するアンサインド整数(unsigned integer)の二進表現(binary representation)と解釈されることができる。
【0226】
ビットストリングを「接頭辞(prefix)」ビットと「接尾辞(suffix)」ビットとに分離したExp-Golombコードの構造は、次の表のように表すことができる。
【0227】
【0228】
「接頭辞」ビットは、leadingZeroBits計算のために、上述した内容のようにパーシングされたビットであることができ、表9においてビットストリングの0または1に表示されることができる。すなわち、上述した表9の0または1で開示されたビットストリングは、接頭辞ビットストリングを表すことができる。「接尾辞」ビットは、codeNumの計算でパーシングされるビットであることができ、上述した表9においてxiに表示されることができる。すなわち、上述した表9のxiで開示されたビットストリングは、接尾辞ビットストリングを表すことができる。ここで、iは、0からLeadingZeroBits-1の範囲の値であることができる。また、各xiは、0または1と同一であることができる。
【0229】
前記codeNumに割り当てられるビットストリングは、次の表のとおりであることができる。
【0230】
【0231】
シンタックスエレメントのディスクリプタ(descriptor)がue(v)である場合、すなわち、シンタックスエレメントがue(v)でコーディングされた場合、前記シンタックスエレメントの値は、codeNumと同一であることができる。
【0232】
また、例えば、前記EGk二進化プロセスは、次のように行われることができる。
【0233】
前記EGk二進化プロセスの入力(input)は、EGk二進化に対する要請であることができる。また、前記EGk二進化プロセスの出力(output)は、ビンストリングに対応する値symbolValに対するEGk二進化であることができる。
【0234】
symbolValに対するEGk二進化プロセスのビットストリングは、次のように導出されることができる。
【0235】
【0236】
上述した表11を参照すれば、put(x)の各コール(each call)を介して二進値Xをビンストリングの終わりに追加することができる。ここで、xは、0または1であることができる。
【0237】
また、例えば、前記Limited EGk二進化プロセスは、次のように行われることができる。
【0238】
前記Limited EGk二進化プロセスの入力(input)は、Limited EGk二進化に対する要請及びライスパラメータriceParam、最大値の二進対数を表す変数であるlog2TransformRange、及び最大接頭辞拡張長さを表す変数であるmaxPreExtLenであることができる。また、前記Limited EGk二進化プロセスの出力(output)は、ビンストリングに対応する値symbolValに対するLimited EGk二進化であることができる。
【0239】
symbolValに対するLimited EGk二進化プロセスのビットストリングは、次のように導出されることができる。
【0240】
【0241】
また、例えば、前記FL二進化プロセスは、次のように行われることができる。
【0242】
前記FL二進化プロセスの入力(input)は、FL二進化に対する要請及び前記シンタックスエレメントに対するcMaxであることができる。また、前記FL二進化プロセスの出力(output)は、ビンストリングに対応する値symbolValに対するFL二進化であることができる。
【0243】
FL二進化は、シンボル値symbolValの固定長さであるビット数を有するビットストリングを使用して構成されることができる。ここで、前記固定長さビットは、符号なし整数ビットストリング(unsigned integer bitstring)であることができる。すなわち、FL二進化によってシンボル値symbolValに対するビットストリングが導出され得るし、前記ビットストリングのビット長さ(すなわち、ビット数)は、固定長さであることができる。
【0244】
例えば、前記固定長さは、次の数式のように導出されることができる。
【0245】
【0246】
FL二進化に対するビン等のインデクシングは、最上位ビットから最下位ビット順に増加する値を使用する方式であることができる。例えば、前記最上位ビットと関連したビンインデックスは、binIdx=0であることができる。
【0247】
一方、例えば、前記レジデュアル情報のうち、シンタックスエレメントabs_remainderに対する二進化プロセスは、次のように行われることができる。
【0248】
前記abs_remainderに対する二進化プロセスの入力は、シンタックスエレメントabs_remainder[n]の二進化に対する要請、色相成分(colour component)cIdx、ルマ位置(x0、y0)であることができる。前記ルマ位置(x0、y0)は、ピクチャの左上端ルマサンプルを基準とする現在ルマ変換ブロックの左上端サンプルを指すことができる。
【0249】
前記abs_remainderに対する二進化プロセスの出力(output)は、前記abs_remainderの二進化(すなわち、前記abs_remainderの二進化されたビンストリング)であることができる。前記二進化プロセスによって前記abs_remainderに対する利用可能ビンストリング等が導出され得る。
【0250】
前記abs_remainder[n]に対するライスパラメータcRiceParamは、前記色相成分cIdx及びルマ位置(x0、y0)、現在係数スキャン位置(xC、yC)、変換ブロックの幅の二進対数であるlog2TbWidth及び変換ブロックの高さの二進対数であるlog2TbHeightを入力して実行されるライスパラメータ導出過程を通じて導出されることができる。前記ライスパラメータ導出過程に対する具体的な説明は後述する。
【0251】
また、例えば、現在コーディングされるabs_remainder[n]に対するcMaxは、前記ライスパラメータcRiceParamに基づいて導出されることができる。前記cMaxは、次の数式のように導出されることができる。
【0252】
【0253】
一方、前記abs_remainderに対する二進化、すなわち、前記abs_remainderに対するビンストリングは、接尾辞(suffix)ビンストリングが存在する場合には、接頭辞(prefix)ビンストリングと接尾辞ビンストリングとの結合(concatenation)であることができる。また、前記接尾辞ビンストリングが存在しない場合には、前記abs_remainderに対する前記ビンストリングは、前記接頭辞ビンストリングであることができる。
【0254】
例えば、前記接頭辞ビンストリングは、後述するように導出されることができる。
【0255】
前記abs_remainder[n]の接頭辞値(prefix value)prefixValは、次の数式のように導出されることができる。
【0256】
【0257】
前記abs_remainder[n]の前記ビンストリングの接頭辞(すなわち、接頭辞ビンストリング)は、前記cMax及び前記cRiceParamを入力として使用する前記prefixValに対するTR二進化プロセスによって導出されることができる。
【0258】
前記接頭辞ビンストリングが、全てのビットが1であり、ビット長さが6であるビットストリングと同一であれば、前記abs_remainder[n]の前記ビンストリングの接尾辞ビンストリングが存在し得るし、後述するように導出されることができる。
【0259】
前記abs_remainder[n]に対するライスパラメータ導出過程は、次のとおりであり得る。
【0260】
前記ライスパラメータ導出過程の入力は、色相成分インデックス(colour component index)cIdx、ルマ位置(x0、y0)、現在係数スキャン位置(xC、yC)、変換ブロックの幅の二進対数(binary logarithm)であるlog2TbWidth及び変換ブロックの高さの二進対数であるlog2TbHeightであり得る。前記ルマ位置(x0、y0)は、ピクチャの左上端ルマサンプルを基準とする現在ルマ変換ブロックの左上端サンプルを指すことができる。また、前記ライスパラメータ導出過程の出力は、前記ライスパラメータcRiceParamであり得る。
【0261】
例えば、与えられたコンポーネントインデックスcIdx、前記左上端ルマ位置(x0、y0)を有する変換ブロックに対する配列AbsLevel[x][y]に基づいて、変数locSumAbsは、次の表に開示された疑似コード(pseudo code)のように導出されることができる。
【0262】
【0263】
その後、与えられた変数locSumAbsに基づいて前記ライスパラメータcRiceParamは、次の表のように導出されることができる。
【0264】
【0265】
また、例えば、abs_remainder[n]に対するライスパラメータ導出過程で、baseLevelは4に設定されることができる。
【0266】
または、例えば、現在ブロックの変換スキップ可否に基づいて前記ライスパラメータcRiceParamが決められることができる。すなわち、現在CGを含む現在TBに対して変換が適用されない場合、言い換えれば、前記現在CGを含む前記現在TBに対して変換スキップ(transform skip)が適用される場合、前記ライスパラメータcRiceParamは1に導出されることができる。
【0267】
また、前記abs_remainderの接尾辞値(suffix value)suffixValは、次の数式のように導出されることができる。
【0268】
【0269】
前記abs_remainderの前記ビンストリングの接尾辞ビンストリングは、kがcRiceParam+1に設定され、riceParamは、cRiceParamに設定され、log2TransformRangeは、15に設定され、maxPreExtLenは、11に設定される前記suffixValに対するLimited EGk二進化プロセスによって導出されることができる。
【0270】
一方、例えば、前記レジデュアル情報のうち、シンタックスエレメントdec_abs_levelに対する二進化プロセスは、次のように行われることができる。
【0271】
前記dec_abs_levelに対する二進化プロセスの入力は、シンタックスエレメントdec_abs_level[n]の二進化に対する要請、色相成分(colour component)cIdx、ルマ位置(x0、y0)、現在係数スキャン位置(xC、yC)、変換ブロックの幅の二進対数(binary logarithm)であるlog2TbWidth、及び変換ブロックの高さの二進対数であるlog2TbHeightであることができる。前記ルマ位置(x0、y0)は、ピクチャの左上端ルマサンプルを基準とする現在ルマ変換ブロックの左上端サンプルを指すことができる。
【0272】
前記dec_abs_levelに対する二進化プロセスの出力(output)は、前記dec_abs_levelの二進化(すなわち、前記dec_abs_levelの二進化されたビンストリング)であることができる。前記二進化プロセスによって前記dec_abs_levelに対する利用可能ビンストリング等が導出され得る。
【0273】
前記dec_abs_level[n]に対するライスパラメータcRiceParamは、前記色相成分cIdx及びルマ位置(x0、y0)、現在係数スキャン位置(xC、yC)、変換ブロックの幅の二進対数であるlog2TbWidth、及び変換ブロックの高さの二進対数であるlog2TbHeightを入力として行われるライスパラメータ導出過程を介して導出されることができる。前記ライスパラメータ導出過程についての具体的な説明は後述する。
【0274】
また、例えば、前記dec_abs_level[n]に対するcMaxは、前記ライスパラメータcRiceParamに基づいて導出されることができる。前記cMaxは、次の数式のように導出されることができる。
【0275】
【0276】
一方、前記dec_abs_level[n]に対する二進化、すなわち、前記dec_abs_level[n]に対するビンストリングは、接尾辞(suffix)ビンストリングが存在する場合には、接頭辞(prefix)ビンストリングと接尾辞ビンストリングとの結合(concatenation)であることができる。また、前記接尾辞ビンストリングが存在しない場合には、前記dec_abs_level[n]に対する前記ビンストリングは、前記接頭辞ビンストリングであることができる。
【0277】
例えば、前記接頭辞ビンストリングは、後述するように導出されることができる。
【0278】
前記dec_abs_level[n]の接頭辞値(prefix value)prefixValは、次の数式のように導出されることができる。
【0279】
【0280】
前記dec_abs_level[n]の前記ビンストリングの接頭辞(すなわち、接頭辞ビンストリング)は、前記cMax及び前記cRiceParamを入力として使用する前記prefixValに対するTR二進化プロセスによって導出されることができる。
【0281】
前記接頭辞ビンストリングが、全てのビットが1であり、ビット長さが6であるビットストリングと同一であれば、前記dec_abs_level[n]の前記ビンストリングの接尾辞ビンストリングが存在し得るし、後述するように導出されることができる。
【0282】
前記dec_abs_level[n]に対するライスパラメータ導出過程は、次のとおりであることができる。
【0283】
前記ライスパラメータ導出過程の入力は、色相成分インデックス(colour componentindex)cIdx、ルマ位置(x0、y0)、現在係数スキャン位置(xC、yC)、変換ブロックの幅の二進対数(binary logarithm)であるlog2TbWidth及び変換ブロックの高さの二進対数であるlog2TbHeightであることができる。前記ルマ位置(x0、y0)は、ピクチャの左上端ルマサンプルを基準とする現在ルマ変換ブロックの左上端サンプルを指すことができる。また、前記ライスパラメータ導出過程の出力は、前記ライスパラメータcRiceParamであることができる。
【0284】
例えば、与えられたコンポーネントインデックスcIdx、前記左上端ルマ位置(x0、y0)を有する変換ブロックに対する配列AbsLevel[x][y]に基づいて、変数locSumAbsは、次の表に開示された疑似コード(pseudo code)のように導出されることができる。
【0285】
【0286】
その後、与えられた変数locSumAbsに基づいて前記ライスパラメータcRiceParamは、次の表のように導出されることができる。
【0287】
【0288】
また、例えば、dec_abs_level[n]に対するライスパラメータ導出過程で、baseLevelは0に設定されることができ、前記ZeroPos[n]は、次の数式のように導出されることができる。
【0289】
【0290】
また、前記dec_abs_level[n]の接尾辞値(suffix value)suffixValは、次の数式のように導出されることができる。
【0291】
【0292】
前記dec_abs_level[n]の前記ビンストリングの接尾辞ビンストリングは、kがcRiceParam+1に設定され、truncSuffixLenは15に設定され、maxPreExtLenは11に設定される前記suffixValに対するLimited EGk二進化プロセスを通じて導出されることができる。
【0293】
一方、前述のRRCとTSRCは、次のような差を有し得る。
【0294】
- 例えば、TSRCでシンタックスエレメントabs_remainder[]に対するライスパラメータは1に導出されることができる。RRCでのシンタックスエレメントabs_remainder[]のライスパラメータcRiceParamは、前述した内容のように、前記lastAbsRemainder及び前記lastRiceParamに基づいて導出されることができるが、TSRCでのシンタックスエレメントabs_remainder[]のライスパラメータcRiceParamは1に導出されることができる。すなわち、例えば、現在ブロック(例えば、現在TB)に対して変換スキップ(transform skip)が適用される場合、前記現在ブロックに対するTSRCのabs_remainder[]に対するライスパラメータcRiceParamは1に導出されることができる。
【0295】
- また、例えば、表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]がシグナリングされることができる。ここで、前記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]をさらに含むことができる。
【0296】
- また、例えば、RRCで、シンタックスエレメントcoeff_sign_flagは、バイパスコーディングされることができるが、TSRCで、シンタックスエレメントcoeff_sign_flagは、バイパスコーディングまたは文脈コーディングされることができる。
【0297】
一方、本文書は、変換スキップブロックに対する単純化されたレジデュアルデータコーディング構造でレベルマッピング技術を適用する方法を提案する。ここで、変換スキップブロックは、変換が適用されないブロックを表すことができる。また、レベルマッピング技術は、現在ブロック(例えば、CU)にBDPCM(block based quantized residual domain differential pulse-code modulation)が適用されない場合、絶対係数レベル(absolute coefficient level)、すなわち、absCoeffLevelが現在レジデュアルサンプル(すなわち、現在レジデュアル係数)の(量子化された)左側レジデュアルサンプル及び上側レジデュアルサンプルに基づく方法によってコーディングされた修正されたレベルにマッピングされる技術を意味することができる。無損失コーディング(lossless coding)または近接無損失コーディング(near-lossless)などの特定条件下で、一つのコーディングブロックまたは変換ブロック全体に対して、または一部サブブロック(subblock)/係数グループ(coefficient group、CG)に対して単純化された(simplified)レジデュアルデータコーディング構造が用いられることができる。または、提案した方法で、一つのTU(Transform Unit、TU)内でレジデュアル(データ)コーディングのために用いられることができる文脈符号化ビン(context coded bin)等の個数が特定臨界値(threshold)に制限されることができ、TUのレジデュアルコーディングに対して用いられることができる文脈符号化ビンが全部消尽された場合(すなわち、前記TUのレジデュアルコーディングに対する文脈符号化ビンの個数が前記特定臨界値と同一になった場合)に、前記単純化されたレジデュアルデータコーディング構造が用いられることができる。
【0298】
図12は、一つのCG、変換ブロック(transform block)またはコーディングブロック(coding block)に対する単純化されたレジデュアルデータコーディングの一例を示す。前記単純化されたレジデュアルコーディングでシンタックスエレメント等sig_coeff_flag、coeff_sign_flag、abs_remainderがコーディングされることができる。前記CG、前記変換ブロックまたは前記コーディングブロック内のレジデュアル係数に対するシンタックスエレメント等は、前記
図12に示すように、上から下の順にコーディングされることができる。すなわち、前記CG、前記変換ブロックまたは前記コーディングブロック内のレジデュアル係数に対するシンタックスエレメント等はsig_coeff_flag、coeff_sign_flag、abs_remainderの順にコーディングされることができる。
【0299】
前記sig_coeff_flagは、有効係数フラグに対するシンタックスエレメントを表すことができる。前記sig_coeff_flagは、現在ブロック(CG、変換ブロックまたはコーディングブロック)のレジデュアル係数がノンゼロ(non-zero)レジデュアル係数であるか否か表すことができる。例えば、前記sig_coeff_flagは、当該位置のレジデュアル係数の値が0の場合、0の値を、0ではない場合、1の値を有することができる。また、前記coeff_sign_flagは、前記レジデュアル係数のサインフラグに対するシンタックスエレメントを表すことができる。前記sig_coeff_flagは、前記レジデュアル係数の符号を表すことができる。例えば、前記coeff_sign_flagは、当該位置のレジデュアル係数の符号(sign)値を意味することができる。前記coeff_sign_flagの適用には多様な方法があり得る。例えば、当該位置のレジデュアル係数が0の場合、すなわち、前記レジデュアル係数に対するsig_coeff_flagの値が0の場合には、前記coeff_sign_flagはコーディングされないことがあり、0ではないレジデュアル係数に対しては、当該レジデュアル係数が負数の場合には、前記coeff_sign_flagは1(または0)の値を有することができ、当該レジデュアル係数が正数の場合には、前記coeff_sign_flagは0(または1)の値を有することができる。または、前記レジデュアル係数のsig_coeff_flagの値に関係なく、前記レジデュアル係数が負数の場合には、前記coeff_sign_flagは1(または0)の値を有することができ、前記レジデュアル係数が正数または0の場合には、前記coeff_sign_flagは0(または1)の値を有することができる。または、前記レジデュアル係数が正数の場合には、前記coeff_sign_flagは1(または0)の値を有することができ、前記レジデュアル係数が負数または0の場合には、前記coeff_sign_flagは0(または1)の値を有することができる。また、前記abs_remainderは、残余レベル値情報または係数値関連情報に対するシンタックスエレメントを表すことができる。例えば、前記abs_remainderは、残余レベル値を意味することができる。例えば、レジデュアル係数に対するsig_coeff_flagの値が0の場合には、前記レジデュアル係数に対するabs_remainderはコーディングされないことがあり得、レジデュアル係数に対するsig_coeff_flagの値が1の場合には、前記abs_remainderは、前記レジデュアル係数の絶対値で1を引いた値(絶対値-1)を有することができる。
【0300】
一方、レギュラーレジデュアルコーディングが実行される場合にも特定条件が成立される場合には、
図12に示す単純化されたレジデュアルデータコーディングに転換されることができる。例えば、前記特定条件は、当該コーディングブロックのレジデュアル情報が無損失または近接無損失コーディングされる場合、及び/またはTUレベル文脈符号化ビン制約アルゴリズムが適用される場合において用いられることができる文脈符号化ビンが全部消尽された場合などであり得る。
【0301】
図13は、一つのCG、変換ブロック(transform block)またはコーディングブロック(coding block)に対する単純化されたレジデュアルデータコーディングの他の一例を示す。前記単純化されたレジデュアルコーディングでシンタックスエレメント等dec_abs_level、coeff_sign_flagがコーディングされることができる。前記CG、前記変換ブロックまたは前記コーディングブロック内のレジデュアル係数に対するシンタックスエレメントは、前記
図13に示すように、上から下の順にコーディングされることができる。すなわち、前記CG、前記変換ブロックまたは前記コーディングブロック内のレジデュアル係数に対するシンタックスエレメント等は、dec_abs_level、coeff_sign_flagの順にコーディングされることができる。
【0302】
図13に示すように、前記dec_abs_levelは、係数値関連情報に対するシンタックスエレメントを表すことができ、前記coeff_sign_flagは、前記レジデュアル係数のサインフラグに対するシンタックスエレメントを表すことができる。例えば、
図13に示す構造によれば、dec_abs_levelは、当該レジデュアル係数が0の場合には、dec_abs_levelの値は0、当該レジデュアル係数が0でない場合には、dec_abs_levelの値は、当該レジデュアル係数の絶対値であり得る。また、例えば、前記coeff_sign_flagは、当該位置のレジデュアル係数の符号(sign)値を意味することができる。前記coeff_sign_flagの適用には多様な方法があり得る。例えば、当該位置のレジデュアル係数が0の場合には、前記coeff_sign_flagはコーディングされないことがあり得、0でないレジデュアル係数に対しては、当該レジデュアル係数が負数の場合には、前記coeff_sign_flagは1(または0)の値を有することができ、当該レジデュアル係数が正数の場合には、前記coeff_sign_flagは0(または1)の値を有することができる。または、前記レジデュアル係数のdec_abs_levelに関係なく、常にコーディングされることができ、前記レジデュアル係数が負数の場合には、前記coeff_sign_flagは1(または0)の値を有することができ、前記レジデュアル係数が正数または0の場合には、前記coeff_sign_flagは0(または1)の値を有することができる。または、前記レジデュアル係数が正数の場合には、前記coeff_sign_flagは1(または0)の値を有することができ、前記レジデュアル係数が負数または0の場合には、前記coeff_sign_flagは0(または1)の値を有することができる。
【0303】
一方、レギュラーレジデュアルコーディングが実行される場合にも特定条件が成立される場合には、
図13に示す単純化されたレジデュアルデータコーディングに転換されることができる。例えば、前記特定条件は、当該コーディングブロックのレジデュアル情報が無損失または近接無損失コーディングされる場合、及び/またはTUレベル文脈符号化ビン制約アルゴリズムが適用される場合において用いられることができる文脈符号化ビンが全部消尽された場合などであり得る。
【0304】
図14は、一つのCG、変換ブロック(transform block)またはコーディングブロック(coding block)に対する単純化されたレジデュアルデータコーディングの他の一例を示す。前記単純化されたレジデュアルコーディングでシンタックスエレメント等coeff_sign_flag、dec_abs_levelがコーディングされることができる。前記CG、前記変換ブロックまたは前記コーディングブロック内のレジデュアル係数に対するシンタックスエレメントは、前記
図14に示すように、上から下の順にコーディングされることができる。すなわち、前記CG、前記変換ブロックまたは前記コーディングブロック内のレジデュアル係数に対するシンタックスエレメント等は、coeff_sign_flag、dec_abs_levelの序にコーディングされることができる。
【0305】
図14に示すように、前記coeff_sign_flagは、前記レジデュアル係数のサインフラグに対するシンタックスエレメントを表すことができ、前記dec_abs_levelは、係数値関連情報に対するシンタックスエレメントを表すことができる。例えば、コーディングしようとする位置のレジデュアル係数が負数の場合には、前記coeff_sign_flagは1(または0)の値を有することができ、前記レジデュアル係数が正数または0の場合には、前記coeff_sign_flagは0(または1)の値を有することができる。または、例えば、前記レジデュアル係数が正数の場合には、前記coeff_sign_flagは1(または0)の値を有することができ、前記レジデュアル係数が負数または0の場合には、前記coeff_sign_flagは0(または1)の値を有することができる。
【0306】
一方、レギュラーレジデュアルコーディングが実行される場合にも特定条件が成立される場合には、
図14に示す単純化されたレジデュアルデータコーディングに転換されることができる。例えば、前記特定条件は、当該コーディングブロックのレジデュアル情報が無損失または近接無損失コーディングされる場合、及び/またはTUレベル文脈符号化ビン制約アルゴリズムが適用される場合において用いられることができる文脈符号化ビンが全部消尽された場合などであり得る。
【0307】
一方、前述したように、変換スキップモードのためのレベルマッピング(level mapping)技術が用いられることができる。例えば、前記レベルマッピング技術では、abs_level_gtx_flag[0]の値がレベルマッピング可否を示す値として利用されることができる。すなわち、前記abs_level_gtx_flag[0]の値に基づいてレベルマッピング可否が決められることができる。したがって、abs_level_gtx_flag[0]がコーディングされない単純化されたレジデュアルデータコーディング構造では、レベルマッピングが適用されたレジデュアル係数に対するデコーディングが正確に実行されることができない。したがって、本文書は、
図12、
図13または
図14の単純化されたレジデュアルデータコーディング構造とレベルマッピングが一緒に用いられることができるように、単純化されたレジデュアルデータコーディングが適用されるコーディングブロック、変換ブロック、係数グループ、及び/またはレジデュアル係数に対しては、レベルマッピングを使用しない方案を提案する。本文書の実施形態に係ると、変換スキップブロックに対するレジデュアルコーディングで単純化されたレジデュアルデータコーディング構造とレベルマッピングが問題なく結合されることができる。
【0308】
例えば、一つのコーディングブロック内で表4に示す変換スキップブロックのためのレジデュアルデータコーディング方法と、単純化された前述のレジデュアルデータコーディング方法が混用されることができ、変換スキップブロックのためのレジデュアルデータコーディングが適用される場合には、前述の前記表4に示すレベルマッピング技術がそのまま適用されることができ、単純化されたレジデュアルデータコーディングが適用される場合には、レベルマッピング技術が適用されることができる。
【0309】
後述する表17及び表18は、本文書で提案した実施形態が適用されたシンタックスを例示的に示す。
【0310】
【0311】
【0312】
前述の表17は、文脈符号化ビン制約アルゴリズムが適用された場合に、用いられることができる文脈符号化ビン(MaxCcbsは用いられることができる文脈符号化ビンの個数を表す)が全部消尽されて単純化されたレジデュアルデータコーディング構造に転換された場合に、レベルマッピングが実行されないようにするシンタックス構造を表すことができる。また、前述の表18は、無損失符号化ブロックに対して単純化された残余データコーディング構造が用いられる場合に、本文書で提案した方法が適用されたシンタックス構造を表すことができる。ここで、例えば、表18に示すtransquant_bypass_flagは、無損失コーディング可否を示すシンタックスエレメントであり得る。前記transquant_bypass_flagは、CUまたはTUまたはピクチャレベルでシグナリングされることができる。
【0313】
一方、前述の表17及び表18は、本文書で提案する実施形態を適用した一例に過ぎず、これに限定されない。本文書では、一実施形態として、単純化されたレジデュアルデータコーディング構造が実行される場合に、レベルマッピングされたレジデュアル係数をエンコーディング/デコーディングするために、エンコーディング/デコーディングされたレベルを補正する部分が実行されないようにすることを提案する。すなわち、例えば、現在ブロックに対する文脈符号化ビンが全部用いられた場合、前記現在ブロックがレジデュアル係数はレベルマッピングを通じて導出されず、単純化されたレジデュアルデータコーディング構造で導出する方案が提案されることができる。前記単純化されたレジデュアルデータコーディング構造は、前述のとおりであり得る。例えば、現在ブロックに対する文脈符号化ビンが全部用いられた場合、前記レジデュアル係数は絶対値を表す情報の値とサイン(sign)情報に基づいて導出されることができる。また、例えば、前述の表4は、本文書で提案する実施形態を適用した一例を表すことができる。
【0314】
図15は、本文書に係るエンコード装置による画像エンコード方法を概略的に示す。
図15で開示された方法は、
図2で開示されたエンコード装置により実行されることができる。具体的には、例えば、
図15のS1500乃至S1530は、前記エンコード装置の予測部により実行されることができ、
図15のS1540乃至S1550は、前記エンコード装置のレジデュアル処理部により実行されることができ、S1560は、前記エンコード装置のエントロピーエンコード部により実行されることができる。また、図示しなかったが、前記現在ブロックに対するレジデュアルサンプルと予測サンプルに基づいて前記現在ブロックに対する復元サンプル及び復元ピクチャを生成する過程は、前記エンコード装置の加算部により実行されることができる。
【0315】
エンコード装置は、現在ブロックの隣接ブロックに基づいて動き情報候補リストを構成する(S1500)。エンコード装置は、現在ブロックの隣接ブロックに基づいて動き情報候補リストを構成することができる。例えば、エンコード装置は、前記現在ブロックの隣接ブロックの動き情報を動き情報候補として導出することができ、前記動き情報候補を含む前記動き情報候補リストを構成することができる。例えば、前記隣接ブロックは、空間的(spatial)隣接ブロック及び時間的(temporal)隣接ブロックを含むことができる。前記隣接ブロックの動き情報は、前記隣接ブロックの動きベクトル及び/または参照ピクチャインデックスを含むことができる。ここで、例えば、前記動き情報候補リストは、前述のマージ候補リスト(merge candidate list)などを示すことができ、前記動き情報候補は、前述のマージ候補などを示すことができる。
【0316】
エンコード装置は、前記動き情報候補リストの動き情報候補の中で一つの動き情報候補を選択する(S1510)。エンコード装置は、前記動き情報候補リストの動き情報候補の中で一つの動き情報候補を選択することができる。例えば、エンコード装置は、前記動き情報候補リストに含まれた動き情報候補が指す参照ブロックのうち、前記現在ブロックとの差が最小または所定基準以下の参照ブロックを導出することができる。この場合、エンコード装置は、前記導出された参照ブロックと関連した動き情報候補を選択することができる。
【0317】
エンコード装置は、前記選択された動き情報候補に基づいて前記現在ブロックの動き情報を導出する(S1520)。エンコード装置は、前記選択された動き情報候補に基づいて前記現在ブロックの動き情報を導出することができる。例えば、エンコード装置は、前記選択された動き情報候補の動きベクトル及び/または参照ピクチャインデックスを前記現在ブロックの動きベクトル及び/または参照ピクチャインデックスとして導出することができる。
【0318】
エンコード装置は、前記動き情報に基づいて前記現在ブロックの予測サンプルを導出する(S1530)。例えば、エンコード装置は、前記動き情報に基づいて前記現在ブロックの前記予測サンプルを導出することができる。
【0319】
エンコード装置は、前記予測サンプルに基づいて前記現在ブロックのレジデュアルサンプルを導出する(S1540)。例えば、エンコード装置は、前記現在ブロックに対する原本サンプルと前記予測サンプルの減算を通じて前記レジデュアルサンプルを導出することができる。
【0320】
エンコード装置は、前記レジデュアルサンプルに基づいて現在レジデュアル係数を導出する(S1550)。例えば、エンコード装置は、前記レジデュアルサンプルに基づいて前記現在ブロックの現在レジデュアル係数を導出することができる。例えば、エンコード装置は、前記現在ブロックに対して変換が適用されるか否かを決めることができる。すなわち、エンコード装置は、前記現在ブロックの前記レジデュアルサンプルに対して変換が適用されるか否かを決めることができる。エンコード装置は、コーディング効率を考慮して前記現在ブロックに対する変換適用可否を決めることができる。例えば、エンコード装置は、前記現在ブロックに対して変換が適用されないことと決めることができる。前記変換が適用されないブロックは、変換スキップブロックと示すことができる。すなわち、例えば、前記現在ブロックは、変換スキップブロックであり得る。
【0321】
前記現在ブロックに対して変換が適用されない場合、すなわち、前記レジデュアルサンプルに対して変換が適用されない場合、エンコード装置は、前記導出されたレジデュアルサンプルを前記現在レジデュアル係数として導出することができる。また、前記現在ブロックに対して変換が適用される場合、すなわち、前記レジデュアルサンプルに対して変換が適用される場合、エンコード装置は、前記レジデュアルサンプルに対する変換を実行して、前記現在レジデュアル係数を導出することができる。前記現在レジデュアル係数は、前記現在ブロックの現在サブブロックに含まれることができる。前記現在サブブロックは、現在CG(coefficient croup)と呼ばれ得る。また、前記現在ブロックの現在サブブロックのサイズは4×4サイズまたは2×2サイズであり得る。すなわち、前記現在ブロックの前記現在サブブロックは、最大16個のノンゼロ(non-zero)レジデュアル係数または最大4個のノンゼロレジデュアル係数を含むことができる。
【0322】
ここで、前記現在ブロックは、コーディングブロック(Coding Block、CB)または変換ブロック(Transform Block、TB)であり得る。また、レジデュアル係数(residual coefficient)は変換係数(transform coefficient)と示すこともできる。
【0323】
一方、例えば、前記現在レジデュアル係数は、レベルマッピング(level mapping)を実行せずに導出されることができる。例えば、前記現在ブロックのレジデュアル係数のうち、前記現在レジデュアル係数以前のレジデュアル係数等に対する文脈コーディングされたレジデュアルシンタックスエレメント等の個数が前記現在ブロックの最大文脈符号化ビン等(context coded bins。コンテキスト符号化ビン)の個数と同一であり得、前記現在レジデュアル係数に対するレジデュアルシンタックスエレメントは、前記現在レジデュアル係数に対する絶対レベル情報及び前記レジデュアル係数のサインフラグを含むことができ、前記現在レジデュアル係数は、レベルマッピング(level mapping)を実行せずに導出されることができる。ここで、前記絶対レベル情報及び前記サインフラグのみで前記現在レジデュアル係数を導出することは、単純化されたレジデュアルデータコーディングと示すことができる。すなわち、前記レジデュアル係数は、単純化されたレジデュアルデータコーディングに基づいて導出されることができる。また、例えば、前記現在ブロックに対する文脈符号化ビン等(context coded bins)が前記現在ブロックのレジデュアル係数のうち、前記現在レジデュアル係数以前のレジデュアル係数に対する文脈コーディングされたレジデュアルシンタックスエレメント等のビン等として全部用いられることができ、前記現在レジデュアル係数に対するレジデュアルシンタックスエレメント等は、前記現在レジデュアル係数に対する係数レベル情報及び前記レジデュアル係数のサインフラグを含むことができ、前記現在レジデュアル係数は、レベルマッピング(level mapping)を実行せずに導出されることができる。例えば、スキャニング順序において現在レジデュアル係数の以前レジデュアル係数等に対するレジデュアルシンタックスエレメント等に対して前記現在ブロックに対する最大文脈符号化ビン等(context coded bins)の個数が全部用いられた場合、前記現在レジデュアル係数に対するレジデュアルシンタックスエレメント等は、前記現在レジデュアル係数に対する係数レベル情報及び前記レジデュアル係数のサインフラグを含むことができ、前記現在レジデュアル係数は、レベルマッピング(level mapping)を実行せずに導出されることができる。また、例えば、前記現在レジデュアル係数以前の前記レジデュアル係数等は、前記レベルマッピングを実行して導出されることができる。
【0324】
一方、例えば、前記レベルマッピングは、後述した表19に示す方案を示すことができる。
【0325】
【0326】
ここで、X0は、現在レジデュアル係数の左側絶対係数レベル(すなわち、左側レジデュアルサンプル(左側レジデュアル係数)の係数レベル)を表し、X1は、上側絶対係数レベル(すなわち、上側レジデュアルサンプル(上側レジデュアル係数)の係数レベル)を表すことができる。また、absCoeffは、現在レジデュアル係数の絶対レベル係数を表すことができ、absCoeffModは、前述の過程を通じてレベルマッピングされたレベルを表すことができる。
【0327】
例えば、前記レベルマッピングは、レジデュアル係数の左側レジデュアル係数の絶対レベル及び前記レジデュアル係数の上側レジデュアル係数の絶対レベルの中で最大値を導出し、前記最大値と前記レジデュアル係数の絶対レベルを比較して、前記最大値に基づいて前記レジデュアル係数の絶対レベルを修正する過程を意味することができる。
【0328】
例えば、前記現在レジデュアル係数以前のレジデュアル係数の一つである第1レジデュアル係数は、前記レベルマッピングを実行して導出されることができる。例えば、前記第1レジデュアル係数に対するレジデュアルシンタックスエレメント等に基づいて前記第1レジデュアル係数の絶対レベルが導出されることができ、前記第1レジデュアル係数の左側レジデュアル係数の絶対レベル及び前記レジデュアル係数の上側レジデュアル係数の絶対レベルの中で最大値が導出されることができる。その後、前記第1レジデュアル係数の絶対レベルと前記最大値を比較して、前記第1レジデュアル係数の修正された(modified)絶対レベルが導出されることができる。例えば、前記第1レジデュアル係数の絶対レベルと前記最大値が同一であれば、1が前記修正された絶対レベルとして導出されることができ、前記第1レジデュアル係数の絶対レベルと前記最大値が同一でなく、前記第1レジデュアル係数の絶対レベルが前記最大値よりも小さい場合、前記第1レジデュアル係数の絶対レベルに1を加えた値が前記修正された絶対レベルとして導出されることができ、前記第1レジデュアル係数の絶対レベルと前記最大値が同一でなく、前記第1レジデュアル係数の絶対レベルが前記最大値よりも小さくない場合、前記第1レジデュアル係数の絶対レベルが前記修正された絶対レベルとして導出されることができる。前記第1レジデュアル係数は、前記現在レジデュアル係数以前のレジデュアル係数の一つであり得る。前記現在ブロックのレジデュアル情報は、前記第1レジデュアル係数に対する前記レジデュアルシンタックスエレメント等を含むことができる。
【0329】
エンコード装置は、前記選択された動き情報候補を指す動き情報候補インデックス、及び前記現在レジデュアル係数に対するレジデュアルシンタックスエレメント等を含む画像情報をエンコーディングする(S1560)。エンコード装置は、前記選択された動き情報候補を指す動き情報候補インデックス、及び前記現在レジデュアル係数に対するレジデュアルシンタックスエレメント等を含む画像情報をエンコーディングすることができる。例えば、エンコード装置は、前記現在ブロックに対する予測関連情報を生成及びエンコーディングすることができる。前記予測関連情報は、前記動き情報候補インデックスを含むことができる。また、エンコード装置は、前記現在ブロックの前記現在レジデュアル係数に対するレジデュアルシンタックスエレメント等を含むレジデュアル情報をエンコーディングすることができる。前記画像情報は、前記レジデュアル情報を含むことができる。例えば、エンコード装置は、前記レジデュアル情報を含む画像情報をエンコーディングして、ビットストリーム形態で出力することができる。前記ビットストリームはネットワークまたは記録媒体を介してデコード装置に送信されることができる。
【0330】
また、例えば、前記現在ブロックの前記現在ブロックのレジデュアル係数のうち、前記現在レジデュアル係数以前のレジデュアル係数に対する文脈コーディングされたレジデュアルシンタックスエレメント等の個数が前記現在ブロックの最大文脈符号化ビン等(context coded bins)の個数と同一であり得る。すなわち、例えば、前記現在ブロックに対する文脈符号化ビン(context coded bins)が、前記現在ブロックのレジデュアル係数のうち、前記現在レジデュアル係数以前のレジデュアル係数に対する文脈コーディングされたレジデュアルシンタックスエレメント等のビン等として全部用いられることができる。言い換えれば、例えば、スキャニング順序において現在レジデュアル係数の以前レジデュアル係数等に対するレジデュアルシンタックスエレメント等に対して、前記現在ブロックに対する最大文脈符号化ビン等(context coded bins)の個数が全部用いられることができる。一方、例えば、前記現在ブロックの最大文脈符号化ビン等(context coded bins)の個数は、前記現在ブロックの幅(width)及び高さ(height)に基づいて導出されることができる。
【0331】
例えば、前記現在ブロックのレジデュアル係数のうち、前記現在レジデュアル係数以前のレジデュアル係数に対する文脈コーディングされたレジデュアルシンタックスエレメント等の個数が前記現在ブロックの最大文脈符号化ビン等(context coded bins)の個数と同一であり得、前記現在レジデュアル係数に対するレジデュアルシンタックスエレメント等は、前記現在レジデュアル係数に対する絶対レベル情報及び前記レジデュアル係数のサインフラグを含むことができる。例えば、前記現在ブロックに対する文脈符号化ビン等(context coded bins)が前記現在ブロックのレジデュアル係数のうち、前記現在レジデュアル係数以前のレジデュアル係数等に対する文脈コーディングされたレジデュアルシンタックスエレメント等のビン等として全部用いられることができ、前記現在レジデュアル係数に対するレジデュアルシンタックスエレメント等は、前記現在レジデュアル係数に対する係数レベル情報及び前記レジデュアル係数のサインフラグを含むことができる。例えば、スキャニング順序において現在レジデュアル係数の以前レジデュアル係数等に対するレジデュアルシンタックスエレメント等に対して、前記現在ブロックに対する最大文脈符号化ビン等(context coded bins)の個数が全部用いられた場合、前記現在レジデュアル係数に対するレジデュアルシンタックスエレメント等は、前記現在レジデュアル係数に対する係数レベル情報及び前記レジデュアル係数のサインフラグを含むことができる。前記現在レジデュアル係数に対するレジデュアルシンタックスエレメント等は、バイパス基盤でエンコーディングされることができる。すなわち、現在レジデュアル係数に対するレジデュアルシンタックスエレメント等は、均一な確率分布に基づいてエンコーディングされることができる。例えば、前記係数レベル情報は、前記現在レジデュアル係数の係数レベルの絶対値を表すことができる。また、前記サインフラグは、前記現在レジデュアル係数の符号(sign)を表すことができる。例えば、前記サインフラグの値が0の場合、前記サインフラグは、前記現在レジデュアル係数の係数レベルが正数(positive value)であることを表すことができ、前記サインフラグの値が1の場合、前記サインフラグは、前記現在レジデュアル係数の係数レベルが負数(negative value)であることを表すことができる。前記係数レベル情報は前述のabs_remainderであり得、前記サインフラグは、前述のcoeff_sign_flagであり得る。
【0332】
また、例えば、前記レジデュアル情報は、前記現在ブロックの前記現在ブロックに対する変換スキップフラグを含むことができる。前記変換スキップフラグは、前記現在ブロックの変換適用可否を表すことができる。すなわち、前記変換スキップフラグは、前記現在ブロックの前記レジデュアル係数に変換が適用されたか否かを表すことができる。前記変換スキップフラグを表すシンタックスエレメントは、前述のtransform_skip_flagであり得る。例えば、前記変換スキップフラグの値が0の場合、前記変換スキップフラグは、前記現在ブロックに変換が適用されないことを表すことができ、前記変換スキップフラグの値が1の場合、前記変換スキップフラグは、前記現在ブロックに変換が適用されたことを表すことができる。例えば、前記現在ブロックが変換スキップブロックである場合、前記現在ブロックに対する変換スキップフラグの値が1であり得る。
【0333】
また、例えば、エンコード装置は、前記現在ブロックのレジデュアルサンプル等に基づいて前記現在ブロックのレジデュアル情報を生成することができる。例えば、前記画像情報は、前記現在ブロックに対するレジデュアル情報を含むことができる。例えば、前記レジデュアル情報は、スキャニング順序において前記現在レジデュアル係数以前のレジデュアル係数に対するレジデュアルシンタックスエレメント等を含むことができる。例えば、前記レジデュアルシンタックスエレメント等は、coded_sub_block_flag、sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag、par_level_flag、abs_level_gtX_flag、abs_remainder及び/またはcoeff_sign_flagなどのシンタックスエレメント等(syntax elements)を含むことができる。
【0334】
例えば、前記文脈コーディングされたレジデュアルシンタックスエレメント等は、前記レジデュアル係数がノンゼロ(non-zero)レジデュアル係数であるか否かを表す有効係数フラグ、前記レジデュアル係数に対する係数レベルのパリティ(parity)に対するパリティレベルフラグ、前記レジデュアル係数に対する符号(sign)を表すサインフラグ、前記係数レベルが第1臨界値より大きいか否かに対する第1係数レベルフラグ、及び/または前記レジデュアル係数の前記係数レベルが第2臨界値より大きいか否かに対する第2係数レベルフラグを含むことができる。また、例えば、前記文脈コーディングされたレジデュアルシンタックスエレメント等は、前記係数レベルが第3臨界値より大きいか否かに対する第3係数レベルフラグ、前記レジデュアル係数の前記係数レベルが第4臨界値より大きいか否かに対する第4係数レベルフラグ、及び/または前記レジデュアル係数の前記係数レベルが第5臨界値より大きいか否かに対する第5係数レベルフラグを含むことができる。ここで、前記有効係数フラグは、sig_coeff_flagであり得、前記パリティレベルフラグは、par_level_flagであり得、前記サインフラグは、ceff_sign_flagであり得、前記第1係数レベルフラグは、abs_level_gt1_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であり得る。
【0335】
また、例えば、前記レジデュアル情報は、前記現在ブロックのレジデュアル係数に対するバイパス基盤でコーディングされたシンタックスエレメントを含むことができる。前記バイパスコーディングされたシンタックスエレメントは、前記現在レジデュアル係数の値に対する係数レベル情報を含むことができる。前記係数レベル情報は、abs_remainder及び/またはdec_abs_levelであり得る。また、前記バイパスコーディングされたシンタックスエレメントは、前記サインフラグを含むことができる。
【0336】
また、例えば、エンコード装置は、前記現在ブロックの前記現在ブロックに対する予測関連情報を生成することができる。前記画像情報は、前記現在ブロックに対する予測関連情報を含むことができる。前記予測関連情報は、前記現在ブロックに適用される予測モード情報を含むことができる。デコード装置は、前記ビットストリームを介して受信された前記予測関連情報に基づいて前記現在ブロックに対するインター予測またはイントラ予測を実行することができ、前記現在ブロックの予測サンプルを導出することができる。
【0337】
一方、前記ビットストリームは、ネットワークまたは(デジタル)記録媒体を介してデコード装置に送信されることができる。ここで、ネットワークは、放送網及び/または通信網などを含むことができ、デジタル記録媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な記録媒体を含むことができる。
【0338】
図16は、本文書に係る画像エンコード方法を実行するエンコード装置を概略的に示す。
図15で開示された方法は、
図16で開示されたエンコード装置により実行されることができる。具体的には、例えば、
図16の前記エンコード装置の予測部は、
図15のS1500乃至S1530を実行することができ、
図16の前記エンコード装置のレジデュアル処理部は、
図15のS1540乃至S1550を実行することができ、
図16の前記エンコード装置のエントロピーエンコード部は、
図15のS1560を実行することができる。また、図示しなかったが、前記現在ブロックに対するレジデュアルサンプルと予測サンプルに基づいて前記現在ブロックに対する復元サンプル及び復元ピクチャを生成する過程は、前記エンコード装置の加算部によって実行されることができる。
【0339】
図17は、本文書に係るデコード装置による画像デコード方法を概略的に示す。
図17で開示された方法は、
図3で開示されたデコード装置により実行されることができる。具体的には、例えば、
図17のS1700は、前記デコード装置のエントロピーデコード部により実行されることができ、S1710乃至S1730は、前記デコード装置の予測部により実行されることができ、S1740乃至S1750は、前記デコード装置のレジデュアル処理部により実行されることができ、S1760は、前記デコード装置の加算部により実行されることができる。
【0340】
デコード装置は、ビットストリームを介して動き情報候補インデックス及びレジデュアル情報を含む画像情報を獲得する(S1700)。デコード装置は、ビットストリームを介して前記現在ブロックに対する予測関連情報及びレジデュアル情報を含む画像情報を獲得することができる。例えば、前記画像情報は、現在ブロックに対する予測関連情報を含むことができる。例えば、前記予測関連情報は、前記動き情報候補インデックスを含むことができる。前記動き情報候補インデックスは、前記現在ブロックの動き情報候補リストにおける動き情報候補の一つの動き情報候補を表すことができる。ここで、例えば、前記動き情報候補インデックスは、前述のマージインデックス(merge index)などを示すことができる。また、例えば、前記動き情報候補リストは、前述のマージ候補リスト(merge candidate list)などを表すことができ、前記動き情報候補は、前述のマージ候補などを表すことができる。
【0341】
また、例えば、前記レジデュアル情報は、現在ブロック内の現在レジデュアル係数に対するレジデュアルシンタックスエレメント等を含むことができる。また、例えば、前記レジデュアル情報は、前記現在ブロック内のレジデュアル係数に対するレジデュアルシンタックスエレメント等を含むことができる。ここで、前記現在ブロックは、コーディングブロック(Coding Block、CB)または変換ブロック(Transform Block、TB)であり得る。また、レジデュアル係数(residual coefficient)は、変換係数(transform coefficient)と示すこともできる。
【0342】
また、例えば、前記現在ブロックは、変換スキップブロックであり得る。
【0343】
また、例えば、前記現在ブロックのレジデュアル係数のうち、前記現在レジデュアル係数以前のレジデュアル係数に対する文脈コーディングされたレジデュアルシンタックスエレメント等の個数が前記現在ブロックの最大文脈符号化ビン等(context coded bins)の個数と同一であり得、前記現在レジデュアル係数に対するレジデュアルシンタックスエレメント等は、前記現在レジデュアル係数に対する絶対レベル情報及び前記レジデュアル係数のサインフラグを含むことができる。前記現在ブロックの最大文脈符号化ビン等(context coded bins)の個数は前記現在ブロックの幅(width)及び高さ(height)に基づいて導出されることができる。例えば、前記現在ブロックに対する文脈符号化ビン等(context coded bins)が前記現在ブロックのレジデュアル係数のうち、前記現在レジデュアル係数以前のレジデュアル係数等に対する文脈コーディングされたレジデュアルシンタックスエレメント等のビン等として全部用いられることができ、前記現在レジデュアル係数に対するレジデュアルシンタックスエレメント等は、前記現在レジデュアル係数に対する係数レベル情報及び前記レジデュアル係数のサインフラグを含むことができる。例えば、スキャニング順序において現在レジデュアル係数の以前レジデュアル係数等に対するレジデュアルシンタックスエレメント等に対して前記現在ブロックに対する最大文脈符号化ビン等(context coded bins)の個数が全部用いられた場合、前記現在レジデュアル係数に対するレジデュアルシンタックスエレメント等は、前記現在レジデュアル係数に対する係数レベル情報、及び前記レジデュアル係数のサインフラグを含むことができる。前記現在レジデュアル係数に対するレジデュアルシンタックスエレメント等は、バイパス基盤でデコーディングされることができる。すなわち、現在レジデュアル係数に対するレジデュアルシンタックスエレメント等は、均一な確率分布に基づいてデコーディングされることができる。例えば、前記係数レベル情報は、前記現在レジデュアル係数の係数レベルの絶対値を表すことができる。また、前記サインフラグは、前記現在レジデュアル係数の符号(sign)を表すことができる。例えば、前記サインフラグの値が0の場合、前記サインフラグは、前記現在レジデュアル係数の係数レベルが正数(positive value)であることを表すことができ、前記サインフラグの値が1の場合、前記サインフラグは、前記現在レジデュアル係数の係数レベルが負数(negative value)であることを表すことができる。前記係数レベル情報は、前述のabs_remainderであり得、前記サインフラグは、前述のcoeff_sign_flagであり得る。
【0344】
また、例えば、前記レジデュアル情報は、前記現在ブロックの前記現在ブロックに対する変換スキップフラグを含むことができる。前記変換スキップフラグは、前記現在ブロックの変換適用可否を表すことができる。すなわち、前記変換スキップフラグは、前記現在ブロックの前記レジデュアル係数等に変換が適用されたか否かを表すことができる。前記変換スキップフラグを表すシンタックスエレメントは、前述のtransform_skip_flagであり得る。例えば、前記変換スキップフラグの値が0の場合、前記変換スキップフラグは、前記現在ブロックに変換が適用されないことを示すことができ、前記変換スキップフラグの値が1の場合、前記変換スキップフラグは、前記現在ブロックに変換が適用されたことを表すことができる。例えば、前記現在ブロックが変換スキップブロックである場合、前記現在ブロックに対する変換スキップフラグの値が1であり得る。
【0345】
また、例えば、前記画像情報は、前記現在ブロックに対するレジデュアル情報を含むことができる。例えば、前記レジデュアル情報は、スキャニング順序において前記現在レジデュアル係数以前のレジデュアル係数に対するレジデュアルシンタックスエレメント等を含むことができる。例えば、前記レジデュアルシンタックスエレメント等は、coded_sub_block_flag、sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag、par_level_flag、abs_level_gtX_flag、abs_remainder及び/またはcoeff_sign_flagなどのシンタックスエレメント等(syntax elements)を含むことができる。
【0346】
例えば、前記文脈コーディングされたレジデュアルシンタックスエレメント等は、前記レジデュアル係数がノンゼロ(non-zero)レジデュアル係数であるか否かを表す有効係数フラグ、前記レジデュアル係数に対する係数レベルのパリティ(parity)に対するパリティレベルフラグ、前記レジデュアル係数に対する符号(sign)を表すサインフラグ、前記係数レベルが第1臨界値より大きいか否かに対する第1係数レベルフラグ、及び/または前記レジデュアル係数の前記係数レベルが第2臨界値より大きいか否かに対する第2係数レベルフラグを含むことができる。また、例えば、前記文脈コーディングされたレジデュアルシンタックスエレメント等は、前記係数レベルが第3臨界値より大きいか否かに対する第3係数レベルフラグ、前記レジデュアル係数の前記係数レベルが第4臨界値より大きいか否かに対する第4係数レベルフラグ、及び/または前記レジデュアル係数の前記係数レベルが第5臨界値より大きいか否かに対する第5係数レベルフラグを含むことができる。ここで、前記有効係数フラグは、sig_coeff_flagであり得、前記パリティレベルフラグは、par_level_flagであり得、前記サインフラグは、ceff_sign_flagであり得、前記第1係数レベルフラグは、abs_level_gt1_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であり得る。
【0347】
また、例えば、前記レジデュアル情報は、前記現在ブロックのレジデュアル係数に対するバイパス基盤でコーディングされたシンタックスエレメントを含むことができる。前記バイパスコーディングされたシンタックスエレメントは、前記現在レジデュアル係数の値に対する係数レベル情報を含むことができる。前記係数レベル情報は、abs_remainder及び/またはdec_abs_levelであり得る。また、前記バイパスコーディングされたシンタックスエレメントは、前記サインフラグを含むことができる。
【0348】
デコード装置は、現在ブロックの隣接ブロックに基づいて動き情報候補リストを構成する(S1710)。デコード装置の現在ブロックの隣接ブロックに基づいて動き情報候補リストを構成することができる。例えば、デコード装置は、前記現在ブロックの隣接ブロックの動き情報を動き情報候補として導出することができ、前記動き情報候補を含む前記動き情報候補リストを構成することができる。例えば、前記隣接ブロックは、空間的(spatial)隣接ブロック及び時間的(temporal)隣接ブロックを含むことができる。前記隣接ブロックの動き情報は、前記隣接ブロックの動きベクトル及び/または参照ピクチャインデックスを含むことができる。
【0349】
デコード装置は、前記動き情報候補リストの動き情報候補のうち、前記動き情報候補インデックスが指す動き情報候補に基づいて前記現在ブロックの動き情報を導出する(S1720)。デコード装置は、前記動き情報候補インデックスが指す動き情報候補に基づいて前記現在ブロックの動き情報を導出することができる。例えば、デコード装置は、前記動き情報候補インデックスが指す動き情報候補の動きベクトル及び/または参照ピクチャインデックスを前記現在ブロックの動きベクトル及び/または参照ピクチャインデックスとして導出することができる。
【0350】
デコード装置は、前記動き情報に基づいて前記現在ブロックの予測サンプルを導出する(S1730)。例えば、デコード装置は、前記動き情報に基づいて前記現在ブロックの前記予測サンプルを導出することができる。
【0351】
デコード装置は、前記現在ブロック内の現在レジデュアル係数に対するレジデュアルシンタックスエレメント等に基づいて前記現在レジデュアル係数を導出する(S1740)。デコード装置は、前記レジデュアルシンタックスエレメント等に基づいて前記現在レジデュアル係数を導出することができる。前記レジデュアルシンタックスエレメント等は、前記現在レジデュアル係数に対する係数レベル情報及び前記レジデュアル係数のサインフラグを含むことができる。
【0352】
例えば、前記現在レジデュアル係数の絶対レベル(absolute level)は、前記現在レジデュアル係数に対する係数レベル情報が表す値として導出され、前記現在レジデュアル係数の符号(sign)は、前記サインフラグが表す符号として導出されることができる。
【0353】
一方、例えば、前記現在レジデュアル係数は、レベルマッピング(level mapping)を実行せずに導出されることができる。例えば、前記現在ブロックのレジデュアル係数のうち、前記現在レジデュアル係数以前のレジデュアル係数等に対する文脈コーディングされたレジデュアルシンタックスエレメント等の個数が前記現在ブロックの最大文脈符号化ビン等(context coded bins)の個数と同一であり得、前記現在レジデュアル係数に対するレジデュアルシンタックスエレメント等は、前記現在レジデュアル係数に対する絶対レベル情報及び前記レジデュアル係数のサインフラグを含むことができ、前記現在レジデュアル係数は、レベルマッピング(level mapping)を実行せずに導出されることができる。ここで、前記絶対レベル情報及び前記サインフラグのみで前記現在レジデュアル係数を導出することは、単純化されたレジデュアルデータコーディングと示すことができる。すなわち、前記レジデュアル係数は、単純化されたレジデュアルデータコーディングに基づいて導出されることができる。また、例えば、前記現在ブロックに対する文脈符号化ビン等(context coded bins)が前記現在ブロックのレジデュアル係数のうち、前記現在レジデュアル係数以前のレジデュアル係数に対する文脈コーディングされたレジデュアルシンタックスエレメント等のビン等として全部用いられることができ、前記現在レジデュアル係数に対するレジデュアルシンタックスエレメント等は、前記現在レジデュアル係数に対する係数レベル情報及び前記レジデュアル係数のサインフラグを含むことができ、前記現在レジデュアル係数は、レベルマッピング(level mapping)を実行せずに導出されることができる。例えば、スキャニング順序において現在レジデュアル係数の以前レジデュアル係数に対するレジデュアルシンタックスエレメント等に対して前記現在ブロックに対する最大文脈符号化ビン等(context coded bins)の個数が全部用いられた場合、前記現在レジデュアル係数に対するレジデュアルシンタックスエレメント等は、前記現在レジデュアル係数に対する係数レベル情報及び前記レジデュアル係数のサインフラグを含むことができ、前記現在レジデュアル係数は、レベルマッピング(level mapping)を実行せずに導出されることができる。また、例えば、前記現在レジデュアル係数以前の前記レジデュアル係数等は、前記レベルマッピングを実行して導出されることができる。
【0354】
一方、例えば、前記レベルマッピングは、前述の表19に示す方案を示すことができる。例えば、前記レベルマッピングは、レジデュアル係数の左側レジデュアル係数の絶対レベル及び前記レジデュアル係数の上側レジデュアル係数の絶対レベルの中で最大値を導出し、前記最大値と前記レジデュアル係数の絶対レベルを比較して、前記最大値に基づいて前記レジデュアル係数の絶対レベルを修正する過程を意味することができる。
【0355】
例えば、前記現在レジデュアル係数以前のレジデュアル係数の一つである第1レジデュアル係数は、前記レベルマッピングを実行して導出されることができる。例えば、前記第1レジデュアル係数に対するレジデュアルシンタックスエレメント等に基づいて前記第1レジデュアル係数の絶対レベルが導出されることができ、前記第1レジデュアル係数の左側レジデュアル係数の絶対レベル及び前記レジデュアル係数の上側レジデュアル係数の絶対レベルの中で最大値が導出されることができる。その後、前記第1レジデュアル係数の絶対レベルと前記最大値を比較して、前記第1レジデュアル係数の修正された(modified)絶対レベルが導出されることができる。例えば、前記第1レジデュアル係数の絶対レベルと前記最大値が同一であれば、1が前記修正された絶対レベルとして導出されることができ、前記第1レジデュアル係数の絶対レベルと前記最大値が同一でなく、前記第1レジデュアル係数の絶対レベルが前記最大値より小さい場合、前記第1レジデュアル係数の絶対レベルに1を加えた値が前記修正された絶対レベルとして導出されることができ、前記第1レジデュアル係数の絶対レベルと前記最大値が同一でなく、前記第1レジデュアル係数の絶対レベルが前記最大値より小さくない場合、前記第1レジデュアル係数の絶対レベルが前記修正された絶対レベルとして導出されることができる。前記第1レジデュアル係数は、前記現在レジデュアル係数以前のレジデュアル係数の一つであり得る。前記レジデュアル情報は、前記第1レジデュアル係数に対する前記レジデュアルシンタックスエレメント等を含むことができる。
【0356】
デコード装置は、前記現在レジデュアル係数に基づいてレジデュアルサンプルを導出する(S1750)。デコード装置は、前記現在レジデュアル係数に基づいて前記現在ブロックのレジデュアルサンプルを導出することができる。すなわち、デコード装置は、前記現在レジデュアル係数に基づいて前記現在ブロックのレジデュアルサンプルを導出することができる。一例として、前記変換スキップフラグに基づいて前記現在ブロックに対して変換が適用されないことと導出された場合、すなわち、前記変換スキップフラグの値が1の場合、デコード装置は、前記現在レジデュアル係数を前記現在ブロックの前記レジデュアルサンプルとして導出することができる。または、例えば、前記変換スキップフラグに基づいて前記現在ブロックに対して変換が適用されないことと導出された場合、すなわち、前記変換スキップフラグの値が1の場合、デコード装置は、前記現在レジデュアル係数を逆量子化して、前記現在ブロックの前記レジデュアルサンプルを導出することができる。または、例えば、前記変換スキップフラグに基づいて前記現在ブロックに対して変換が適用されたことと導出された場合、すなわち、前記変換スキップフラグの値が0の場合、デコード装置は、前記現在レジデュアル係数を逆変換して、前記現在ブロックの前記レジデュアルサンプルを導出することができる。または、例えば、前記変換スキップフラグに基づいて前記現在ブロックに対して変換が適用されたことと導出された場合、すなわち、前記変換スキップフラグの値が0の場合、デコード装置は、前記現在レジデュアル係数を逆量子化し、逆量子化された係数を逆変換して前記現在ブロックの前記レジデュアルサンプルを導出することができる。
【0357】
デコード装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて、前記現在ブロックの復元サンプルを導出する(S1760)。
【0358】
例えば、デコード装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックの復元サンプルを導出することができる。例えば、デコード装置は、前記予測サンプルと前記レジデュアルサンプルの加算を通じて、前記復元サンプルを生成することができる。
【0359】
その後、必要に応じて、主観的/客観的画質を向上させるために、デブロッキングフィルタリング、SAO及び/またはALF手順のようなループ内フィルタリング手順が前記復元ピクチャに適用されることができることは前述のとおりである。
【0360】
図18は、本文書に係る画像デコード方法を実行するデコード装置を概略的に示す。
図17で開示された方法は、
図18で開示されたデコード装置により実行されることができる。具体的には、例えば、
図18の前記デコード装置のエントロピーデコード部は、
図17のS1700を実行することができ、
図18の前記デコード装置の予測部は、
図17のS1710乃至S1730を実行することができ、
図18の前記デコード装置のレジデュアル処理部は、
図17のS1740乃至S1750を実行することができ、
図18の前記デコード装置の加算部は、
図17のS1760を実行することができる。
【0361】
前述した本文書に係ると、レジデュアルコーディングの効率を高めることができる。
【0362】
また、本文書に係ると、単純化されたレジデュアルデータコーディングが適用されたレジデュアル係数は、レベルマッピングを実行せずに導出することができ、コーディング複雑度を減らして、全般的なレジデュアルコーディング効率を向上させることができる。
【0363】
また、本文書に係ると、単純化されたレジデュアルデータコーディングが適用されたレジデュアル係数は、周辺レジデュアル係数との相関度が低いことがあり、したがって周辺レジデュアル係数に基づいて実行されるレベルマッピングの効率が低く、前記単純化されたレジデュアルデータコーディングが適用されたレジデュアル係数に対してレベルマッピングを実行せず、これを通じてコーディング複雑度を低減し、全般的なレジデュアルコーディング効率を向上させることができる。
【0364】
前述した実施形態において、方法は、一連のステップまたはブロックで流れ図を基に説明されているが、本文書は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと異なる順序でまたは同時に発生することができる。また、当業者であれば、流れ図に示されたステップが排他的でなく、他のステップが含まれ、または流れ図の1つまたはそれ以上のステップが本文書の範囲に影響を及ぼさずに削除可能であることを理解することができる。
【0365】
本文書において説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて実行されることができる。例えば、各図面において図示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて実行されることができる。この場合、実現のための情報(例えば、information on instructions)またはアルゴリズムがデジタル記録媒体に格納されることができる。
【0366】
また、本文書の実施形態が適用されるデコード装置及びエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、記録媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、運送手段端末(例えば、車両端末、飛行機端末、船舶端末等)、及び医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために使用されることができる。例えば、OTTビデオ(Over the top video)装置として、ゲームコンソール、ブルーレイプレーヤ、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを備えることができる。
【0367】
また、本文書の実施形態が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に格納されることができる。本文書に係るデータ構造を有するマルチメディアデータもコンピュータが読み取り可能な記録媒体に格納されることができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読み出すことができるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピー(登録商標)ディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを介しての送信)の形態で実現されたメディアを含む。また、エンコード方法で生成されたビットストリームがコンピュータが読み取り可能な記録媒体に格納され、または有無線通信ネットワークを介して送信されることができる。
【0368】
また、本文書の実施形態は、プログラムコードによるコンピュータプログラム製品で実現されることができ、前記プログラムコードは、本文書の実施形態によってコンピュータで実行されることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリア上に格納されることができる。
【0369】
図19は、本文書の実施形態が適用されるコンテンツストリーミングシステム構造図を例示的に示す。
【0370】
本文書の実施形態が適用されるコンテンツストリーミングシステムは、大別して、エンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置、及びマルチメディア入力装置を含むことができる。
【0371】
前記エンコードサーバは、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。他の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略されることができる。
【0372】
前記ビットストリームは、本文書の実施形態が適用されるエンコード方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信または受信する過程で一時的に前記ビットストリームを格納することができる。
【0373】
前記ストリーミングサーバは、ウェブサーバを介したユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すると、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間命令/応答を制御する役割をする。
【0374】
前記ストリーミングサーバは、メディア格納所及び/またはエンコードサーバからコンテンツを受信することができる。例えば、前記エンコードサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間格納することができる。
【0375】
前記ユーザ装置の例として、携帯電話、スマートフォン(smartphone)、ノートブックコンピュータ(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、デスクトップコンピュータ、デジタルサイニジなどがある。前記コンテンツストリーミングシステム内の各サーバは、分散サーバで運営されることができ、この場合、各サーバで受信するデータは分散処理されることができる。
【0376】
本明細書に記載された請求項は様々な方式で組み合わせることができる。例えば、本明細書の方法請求項の技術的特徴が組み合わせられて装置として実現されることもでき、本明細書の装置請求項の技術的特徴が組み合わせられて方法として実現されることもできる。また、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせられて装置として実現されることもでき、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせられて方法として実現されることもできる。
【手続補正書】
【提出日】2024-03-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコード装置により実行される画像デコード方法において、
ビットストリームを介して動き情報候補インデックス及びレジデュアル情報を含む画像情報を獲得するステップと、
現在ブロックの隣接ブロックに基づいて動き情報候補リストを構成するステップと、
前記動き情報候補リストの動き情報候補のうち、前記動き情報候補インデックスが示す動き情報候補に基づいて前記現在ブロックの動き情報を導出するステップと、
前記動き情報に基づいて前記現在ブロックの予測サンプルを導出するステップと、
前記現在ブロック内の現在レジデュアル係数に対するレジデュアルシンタックスエレメントに基づいて前記現在レジデュアル係数を導出するステップと、
前記現在レジデュアル係数に基づいてレジデュアルサンプルを導出するステップと、
前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックの復元サンプルを導出するステップと、を含み、
前記レジデュアル情報は、前記現在レジデュアル係数に対する前記レジデュアルシンタックスエレメントを含み、
前記現在ブロックのレジデュアル係数のうち、前記現在レジデュアル係数より前のレジデュアル係数に対する文脈コーディングされたレジデュアルシンタックスエレメントの個数は、前記現在ブロックの文脈符号化ビンの最大個数と等しく、
前記現在レジデュアル係数に対する前記レジデュアルシンタックスエレメントは、前記現在レジデュアル係数に対する係数レベル情報、及び前記現在レジデュアル係数のサインフラグを含み、
前記現在レジデュアル係数の絶対レベルは、前記現在レジデュアル係数に対する前記係数レベル情報が示す値として導出され、
前記現在レジデュアル係数の符号は、前記サインフラグが示す符号として導出され、
前記現在レジデュアル係数は、レベルマッピングを実行せずに導出され、
前記レベルマッピングを実行することによって第1レジデュアル係数が導出され、
前記第1レジデュアル係数は、前記現在レジデュアル係数より前の前記レジデュアル係数の一つであり、
前記第1レジデュアル係数に対するレジデュアルシンタックスエレメントに基づいて、前記第1レジデュアル係数の絶対レベルが導出され、
前記第1レジデュアル係数の左側レジデュアル係数の絶対レベル及び前記レジデュアル係数の上側レジデュアル係数の絶対レベルの中の最大値が導出され、
前記第1レジデュアル係数の前記絶対レベルと前記最大値を比較することによって、前記第1レジデュアル係数の修正された絶対レベルが導出され、
前記左側レジデュアル係数のx座標は、前記第1レジデュアル係数のx座標がxCであることに基づいてxC-1として決定される、画像デコード方法。
【請求項2】
前記現在ブロックに対する前記文脈符号化ビンは、前記現在レジデュアル係数より前の前記レジデュアル係数に対する前記文脈コーディングされたレジデュアルシンタックスエレメントのビンとして全部用いられる、請求項1に記載の画像デコード方法。
【請求項3】
エンコード装置により実行される画像エンコード方法において、
現在ブロックの隣接ブロックに基づいて動き情報候補リストを構成するステップと、
前記動き情報候補リストの動き情報候補のうちから動き情報候補を選択するステップと、
前記選択された動き情報候補に基づいて前記現在ブロックの動き情報を導出するステップと、
前記動き情報に基づいて前記現在ブロックの予測サンプルを導出するステップと、
前記予測サンプルに基づいて前記現在ブロックのレジデュアルサンプルを導出するステップと、
前記レジデュアルサンプルに基づいて現在レジデュアル係数を導出するステップと、
前記選択された動き情報候補を示す動き情報候補インデックス、及び前記現在レジデュアル係数に対するレジデュアルシンタックスエレメントを含む画像情報をエンコードするステップと、を含み、
前記現在ブロックのレジデュアル係数のうち、前記現在レジデュアル係数より前のレジデュアル係数に対する文脈コーディングされたレジデュアルシンタックスエレメントの個数は、前記現在ブロックの文脈符号化ビンの最大個数と等しく、
前記現在レジデュアル係数に対する前記レジデュアルシンタックスエレメントは、前記現在レジデュアル係数に対する係数レベル情報、及び前記現在レジデュアル係数のサインフラグを含み、
前記係数レベル情報は、前記現在レジデュアル係数の係数レベルの絶対値を表し、
前記現在レジデュアル係数の前記サインフラグは、前記現在レジデュアル係数の符号を表し、
前記現在レジデュアル係数は、レベルマッピングを実行せずにエンコードされ、
前記レベルマッピングを実行することによって第1レジデュアル係数がエンコードされ、
前記第1レジデュアル係数は、前記現在レジデュアル係数より前の前記レジデュアル係数の一つであり、
前記第1レジデュアル係数の左側レジデュアル係数の絶対レベル及び前記レジデュアル係数の上側レジデュアル係数の絶対レベルの中の最大値が導出され、
前記第1レジデュアル係数の前記絶対レベルと前記最大値を比較することによって、前記第1レジデュアル係数の修正された絶対レベルが導出され、
前記第1レジデュアル係数に対するレジデュアルシンタックスエレメントに基づいて、前記第1レジデュアル係数の前記修正された絶対レベルがエンコードされ、
前記左側レジデュアル係数のx座標は、前記第1レジデュアル係数のx座標がxCであることに基づいてxC-1として決定される、画像エンコード方法。
【請求項4】
前記現在ブロックに対する前記文脈符号化ビンは、前記現在レジデュアル係数より前の前記レジデュアル係数に対する前記文脈コーディングされたレジデュアルシンタックスエレメントのビンとして全部用いられる、請求項3に記載の画像エンコード方法。
【請求項5】
画像のためのデータの送信方法であって、
現在ブロックの隣接ブロックに基づいて動き情報候補リストを構成するステップと、
前記動き情報候補リストの動き情報候補のうちから動き情報候補を選択するステップと、
前記選択された動き情報候補に基づいて前記現在ブロックの動き情報を導出するステップと、
前記動き情報に基づいて前記現在ブロックの予測サンプルを導出するステップと、
前記予測サンプルに基づいて前記現在ブロックのレジデュアルサンプルを導出するステップと、
前記レジデュアルサンプルに基づいて現在レジデュアル係数を導出するステップと、
前記選択された動き情報候補を示す動き情報候補インデックス、及び前記現在レジデュアル係数に対するレジデュアルシンタックスエレメントを含む画像情報をエンコードしてビットストリームを生成するステップと、
前記ビットストリームを含む前記データを送信するステップと、を含み、
前記現在ブロックのレジデュアル係数のうち、前記現在レジデュアル係数より前のレジデュアル係数に対する文脈コーディングされたレジデュアルシンタックスエレメントの個数は、前記現在ブロックの文脈符号化ビンの最大個数と等しく、
前記現在レジデュアル係数に対する前記レジデュアルシンタックスエレメントは、前記現在レジデュアル係数に対する係数レベル情報、及び前記現在レジデュアル係数のサインフラグを含み、
前記係数レベル情報は、前記現在レジデュアル係数の係数レベルの絶対値を表し、
前記現在レジデュアル係数の前記サインフラグは、前記現在レジデュアル係数の符号を表し、
前記現在レジデュアル係数は、レベルマッピングを実行せずにエンコードされ、
前記レベルマッピングを実行することによって第1レジデュアル係数がエンコードされ、
前記第1レジデュアル係数は、前記現在レジデュアル係数より前の前記レジデュアル係数の一つであり、
前記第1レジデュアル係数の左側レジデュアル係数の絶対レベル及び前記レジデュアル係数の上側レジデュアル係数の絶対レベルの中の最大値が導出され、
前記第1レジデュアル係数の前記絶対レベルと前記最大値を比較することによって、前記第1レジデュアル係数の修正された絶対レベルが導出され、
前記第1レジデュアル係数に対するレジデュアルシンタックスエレメントに基づいて、前記第1レジデュアル係数の前記修正された絶対レベルがエンコードされ、
前記左側レジデュアル係数のx座標は、前記第1レジデュアル係数のx座標がxCであることに基づいてxC-1として決定される、送信方法。