(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-06-06
(54)【発明の名称】変換に基づく映像コーディング方法及びその装置
(51)【国際特許分類】
H04N 19/13 20140101AFI20220530BHJP
H04N 19/136 20140101ALI20220530BHJP
H04N 19/176 20140101ALI20220530BHJP
H04N 19/70 20140101ALI20220530BHJP
H04N 19/61 20140101ALI20220530BHJP
H04N 19/157 20140101ALI20220530BHJP
【FI】
H04N19/13
H04N19/136
H04N19/176
H04N19/70
H04N19/61
H04N19/157
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021557579
(86)(22)【出願日】2020-03-26
(85)【翻訳文提出日】2021-11-01
(86)【国際出願番号】 KR2020004090
(87)【国際公開番号】W WO2020197274
(87)【国際公開日】2020-10-01
(32)【優先日】2019-03-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(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)【発明者】
【氏名】キム スンファン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159NN11
5C159PP16
5C159RC12
5C159RC38
5C159TA59
5C159TB08
5C159TC26
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
本文書による映像デコード方法は、レジデュアルサンプルに逆1次変換及び逆非分離変換を行うステップを含み、前記逆非分離変換は、所定の変換カーネルマトリックスを指示する変換インデックスに基づいて行われ、前記逆1次変換は水平変換カーネル及び垂直変換カーネルに対する多重変換選択(Multiple Transform Selection:MTS)を指示するMTSインデックスに基づいて行われ、前記変換インデックスに対するシンタックス要素ビンストリングは前記対象ブロックの分割構造に対するツリータイプがシングルツリータイプでないと、第1コンテキスト情報に基づいて導出され、前記ツリータイプが前記シングルツリータイプであると、第2コンテキスト情報に基づいて導出されることを特徴とする。
【選択図】
図9
【特許請求の範囲】
【請求項1】
デコード装置により行われる映像デコード方法において、
レジデュアル情報を含むビットストリームを受信するステップと、
前記レジデュアル情報に基づいて対象ブロックに対する変換係数を導出するステップと、
前記変換係数に対する逆非分離変換に基づいて修正された変換係数を導出するステップと、
前記修正された変換係数に対する逆1次変換に基づいて前記対象ブロックに対するレジデュアルサンプルを導出するステップと、
前記対象ブロックに対するレジデュアルサンプルに基づいて復元ピクチャを生成するステップとを含み、
前記逆非分離変換は所定の変換カーネルマトリックスを指示する変換インデックスに基づいて行われ、前記の逆1次変換は水平変換カーネル及び垂直変換カーネルに対する多重変換選択(Multiple Transform Selection:MTS)を指示するMTSインデックスに基づいて行われ、
前記変換インデックスに対するシンタックス要素ビンストリングは、前記対象ブロックの分割構造に対するツリータイプがシングルツリータイプでないと第1コンテキスト情報に基づいて導出され、前記ツリータイプが前記シングルツリータイプであると第2コンテキスト情報に基づいて導出されることを特徴とする映像デコード方法。
【請求項2】
前記変換インデックスに対するシンタックス要素ビンストリングは、前記MTSインデックス値が0であり、前記ツリータイプが前記シングルツリータイプでないと、第1コンテキスト情報に基づいて導出されることを特徴とする請求項1に記載の映像デコード方法。
【請求項3】
前記MTSインデックスが受信されないと、前記MTSインデックス値は0とみなされることを特徴とする請求項2に記載の映像デコード方法。
【請求項4】
前記変換インデックスに対するシンタックス要素ビンストリングは、前記MTSインデックスが受信されず、前記ツリータイプが前記シングルツリータイプでないと、第1コンテキスト情報に基づいて導出されることを特徴とする請求項1に記載の映像デコード方法。
【請求項5】
前記変換カーネルマトリックスは、前記対象ブロックに適用されるイントラ予測モードによるマッピング関係に基づいて決定される変換セットに含まれ、
前記変換インデックスは、前記逆非分離変換が適用されるか否か及び前記変換セットに含まれる前記変換カーネルマトリックスのいずれか1つを指示することを特徴とする請求項1に記載の映像デコード方法。
【請求項6】
前記第1コンテキスト情報又は前記第2コンテキスト情報に基づいて前記変換インデックスに対するシンタックス要素ビンストリングのビンをデコードするステップと、
前記変換インデックスに対するシンタックス要素の値を導出するステップとをさらに含む、請求項5に記載の映像デコード方法。
【請求項7】
前記シンタックス要素に対する値は、前記対象ブロックに前記逆非分離変換が適用されない場合を指示する0、前記変換カーネルマトリックスのうち1番目の変換カーネルマトリックスを指示する1、前記変換カーネルマトリックスのうち2番目の変換カーネルマトリックスを指示する2のいずれか1つを含み、
前記シンタックス要素に対する値はトランケーテッドユーナリコードに二進化され、
前記シンタックス要素に対する値0は「0」に、前記シンタックス要素に対する値1は「10」に、前記シンタックス要素に対する値2は「11」に二進化されることを特徴とする請求項6に記載の映像デコード方法。
【請求項8】
映像エンコード装置により行われる映像エンコード方法において、
対象ブロックに対する予測サンプルを導出するステップと、
前記予測サンプルに基づいて前記対象ブロックに対するレジデュアルサンプルを導出するステップと、
水平変換カーネル及び垂直変換カーネルに対する多重変換選択(Multiple Transform Selection:MTS)に基づいて前記レジデュアルサンプルから前記対象ブロックに対する変換係数を導出するステップと、
非分離変換のための所定の変換カーネルマトリックスに基づいて前記変換係数から修正された変換係数を導出するステップと、
前記MTSを指示するMTSインデックス又は前記変換カーネルマトリックスを指示する変換インデックスをエンコードするステップとを含み、
前記変換インデックスに対するシンタックス要素ビンストリングは、前記対象ブロックの分割構造に対するツリータイプがシングルツリータイプでないと第1コンテキスト情報に基づいて導出され、前記ツリータイプが前記シングルツリータイプであると第2コンテキスト情報に基づいて導出されることを特徴とする映像エンコード方法。
【請求項9】
前記変換インデックスに対するシンタックス要素ビンストリングは、前記MTSインデックス値が0であり、前記ツリータイプが前記シングルツリータイプでないと、第1コンテキスト情報に基づいて導出されることを特徴とする請求項8に記載の映像エンコード方法。
【請求項10】
前記MTSインデックスがエンコードされないと、前記MTSインデックス値は0とみなされることを特徴とす請求項9に記載の映像エンコード方法。
【請求項11】
前記変換インデックスに対するシンタックス要素ビンストリングは、前記MTSインデックスがエンコードされず、前記ツリータイプが前記シングルツリータイプでないと、第1コンテキスト情報に基づいて導出されることを特徴とする請求項8に記載の映像エンコード方法。
【請求項12】
前記変換カーネルマトリックスは、前記対象ブロックに適用されるイントラ予測モードによるマッピング関係に基づいて決定される変換セットに含まれ、
前記変換インデックスは、前記非分離変換が適用されるか否か及び前記変換セットに含まれる前記変換カーネルマトリックスのいずれか1つを指示することを特徴とする請求項8に記載の映像エンコード方法。
【請求項13】
前記変換インデックスに対するシンタックス要素の値を導出するステップと、
前記第1コンテキスト情報又は前記第2コンテキスト情報に基づいて前記変換インデックスに対するシンタックス要素ビンストリングのビンをエンコードするステップとをさらに含む、請求項12に記載の映像エンコード方法。
【請求項14】
前記シンタックス要素に対する値は、前記対象ブロックに前記非分離変換が適用されない場合を指示する0、前記変換カーネルマトリックスのうち1番目の変換カーネルマトリックスを指示する1、前記変換カーネルマトリックスのうち2番目の変換カーネルマトリックスを指示する2のいずれか1つを含み、
前記シンタックス要素に対する値はトランケーテッドユーナリコードに二進化され、前記シンタックス要素に対する値0は「0」に、前記シンタックス要素に対する値1は「10」に、前記シンタックス要素に対する値2は「11」に二進化されることを特徴とする請求項13に記載の映像エンコード方法。
【請求項15】
映像デコード方法を行うようにする指示情報が格納されたコンピュータ読み取り可能なデジタル格納媒体であって、前記映像デコード方法は、
レジデュアル情報を含むビットストリームを受信するステップと、
前記レジデュアル情報に基づいて対象ブロックに対する変換係数を導出するステップと、
前記変換係数に対する逆非分離変換に基づいて修正された変換係数を導出するステップと、
前記修正された変換係数に対する逆1次変換に基づいて前記対象ブロックに対するレジデュアルサンプルを導出するステップと、
前記対象ブロックに対するレジデュアルサンプルに基づいて復元ピクチャを生成するステップとを含み、
前記逆非分離変換は所定の変換カーネルマトリックスを指示する変換インデックスに基づいて行われ、前記逆1次変換は水平変換カーネル及び垂直変換カーネルに対する多重変換選択(Multiple Transform Selection:MTS)を指示するMTSインデックスに基づいて行われ、
前記変換インデックスに対するシンタックス要素ビンストリングは、前記対象ブロックの分割構造に対するツリータイプがシングルツリータイプでないと、第1コンテキスト情報に基づいて導出され、前記ツリータイプが前記シングルツリータイプであると、第2コンテキスト情報に基づいて導出されることを特徴とするデジタル格納媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本文書は、映像コーディング技術に関し、より詳細には、映像コーディングシステムにおいて変換(transform)に基づく映像コーディング方法及びその装置に関する。
【背景技術】
【0002】
近年、4K又は8K以上のUHD(Ultra High Definition)映像/ビデオのような高解像度、高品質の映像/ビデオに対する需要が様々な分野において増加している。映像/ビデオデータが高解像度、高品質になるほど既存の映像/ビデオデータに比べて相対的に送信される情報量又はビット量が増加するため、既存の有無線ブロードバンド回線のような媒体を利用して映像データを送信するか、既存の格納媒体を利用して映像/ビデオデータを格納する場合、送信費用と格納費用が増加する。
【0003】
また、最近、VR(Virtual Reality)、AR(Artificial Realtiy)コンテンツやホログラムなどの没入型メディア(Immersive Media)に対する関心及び需要が増加しており、ゲーム映像のように現実映像と異なる映像特性を有する映像/ビデオに対する放送が増加している。
【0004】
これにより、前記のような多様な特性を有する高解像度高品質の映像/ビデオの情報を効果的に圧縮して送信又は格納し、再生するために高効率の映像/ビデオ圧縮技術が要求される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本文書の技術的課題は、映像コーディング効率を高める方法及び装置を提供することにある。
【0006】
本文書の他の技術的課題は、変換インデックスコーディングの効率を高める方法及び装置を提供することにある。
【0007】
本文書のまた他の技術的課題は、多重変換技法に基づく変換インデックスのコーディング方法及び装置を提供することにある。
【0008】
本文書のまた他の技術的課題は、変換インデックスのコンテキストコーディング方法及び装置を提供することにある。
【課題を解決するための手段】
【0009】
本文書の一実施形態によれば、デコード装置により行われる映像デコード方法を提供する。前記方法は、レジデュアルサンプルに逆1次変換及び逆非分離変換を行うステップを含み、前記逆非分離変換は、所定の変換カーネルマトリックスを指示する変換インデックスに基づいて行われ、前記逆1次変換は、水平変換カーネル及び垂直変換カーネルに対する多重変換選択(Multiple Transform Selection:MTS)を指示するMTSインデックスに基づいて行われ、前記変換インデックスに対するシンタックス要素ビンストリングは、前記対象ブロックの分割構造に対するツリータイプがシングルツリータイプではないと第1コンテキスト情報に基づいて導出され、前記ツリータイプが前記シングルツリータイプであると第2コンテキスト情報に基づいて導出されることを特徴とする。
【0010】
前記変換インデックスに対するシンタックス要素のビンストリングは、前記MTSインデックス値が0であり、前記ツリータイプが前記シングルツリータイプでないと、第1コンテキスト情報に基づいて導出される。
【0011】
前記MTSインデックスが受信されないと、前記MTSインデックス値は0とみなされる。
【0012】
前記変換インデックスに対するシンタックス要素ビンストリングは、前記MTSインデックスが受信されず、前記ツリータイプが前記シングルツリータイプでないと、第1コンテキスト情報に基づいて導出される。
【0013】
前記変換カーネルマトリックスは、前記対象ブロックに適用されるイントラ予測モードによるマッピング関係に基づいて決定される変換セットに含まれ、前記変換インデックスは、前記逆非分離変換が適用されるか否か及び前記変換セットに含まれた前記変換カーネルマトリックスのいずれか1つを指示することができる。
【0014】
本文書の一実施形態によれば、エンコード装置により行われる映像エンコード方法を提供する。前記方法は、水平変換カーネル及び垂直変換カーネルに対する多重変換選択(Multiple Transform Selection:MTS)に基づいて前記レジデュアルサンプルから前記対象ブロックに対する変換係数を導出するステップと、非分離変換のための所定の変換カーネルマトリックスに基づいて前記変換係数から修正された変換係数を導出するステップと、前記MTSを指示する前記MTSインデックス又は前記変換カーネルマトリックスを指示する変換インデックスをエンコードするステップとを含むものの、前記変換インデックスに対するシンタックス要素ビンストリングは、前記対象ブロックの分割構造に対するツリータイプがシングルツリータイプでないと第1コンテキスト情報に基づいて導出され、前記ツリータイプが前記シングルツリータイプであると第2コンテキスト情報に基づいて導出される。
【0015】
本文書のまた他の実施形態によれば、エンコード装置により行われた映像エンコード方法により生成されたエンコードされた映像情報及びビットストリームが含まれた映像データが格納されたデジタル格納媒体が提供できる。
【0016】
本文書のまた他の実施形態によれば、デコード装置により前記映像デコード方法を行うようにするエンコードされた映像情報及びビットストリームが含まれた映像データが格納されたデジタル格納媒体が提供できる。
【発明の効果】
【0017】
本文書によれば、全般的な映像/ビデオの圧縮効率を高めることができる。
【0018】
本開始によれば、変換インデックスコーディングの効率を高めることができる。
【0019】
本文書のまた他の技術的課題は、多重変換技法に基づく変換インデックスのコーディング方法及び装置を提供する。
【0020】
本文書のまた他の技術的課題は、変換インデックスのコンテキストコーディング方法及び装置を提供する。
【0021】
本明細書の具体的な一例から得られる効果は、前述した効果に制限されない。例えば、関連した技術分野における通常の知識を有する者(a person having ordinary skill in the related art)が本明細書から理解又は誘導できる様々な技術的効果が存在する。これにより、本明細書の具体的な効果は、本明細書に明示的に記載されたものに制限されず、本明細書の技術的特徴から理解又は誘導できる多様な効果を含む。
【図面の簡単な説明】
【0022】
【
図1】本文書が適用できるビデオ/映像コーディングシステムの例を概略的に示す。
【
図2】本文書が適用できるビデオ/映像エンコード装置の構成を概略的に説明する図である。
【
図3】本文書が適用できるビデオ/映像デコード装置の構成を概略的に説明する図である。
【
図4】本文書の一実施形態による多重変換技法を概略的に示す。
【
図5】65個の予測方向のイントラ方向性モードを例示的に示す。
【
図6】本文書の一実施形態によるRSTを説明するための図である。
【
図7】シンタックス要素(syntax element)をエンコードするためのCABAC(context-adaptive binary arithmetic coding)を例示的に示す。
【
図8】本文書の一実施形態によるビデオデコード装置の動作を示すフローチャートである。
【
図9】本文書の一実施形態による変換インデックスに基づく逆非分離変換方法を説明するための制御フローチャートである。
【
図10】本文書の一実施形態によるビデオエンコード装置の動作を示すフローチャートである。
【
図11】本文書の一実施形態による変換インデックスのエンコーディングを含む非分離変換方法を説明するための制御フローチャートである。
【
図12】本文書が適用されるコンテンツストリーミングシステム構造図を例示的に示す。
【発明を実施するための形態】
【0023】
本文書は、多様な変更を加えることができ、様々な実施形態を有することができるので、特定実施形態を図面に例示し、詳細に説明しようとする。しかしながら、これは、本文書を特定実施形態に限定しようとするものではない。本明細書において常用する用語は、単に特定の実施形態を説明するために使用されたものであって、本文書の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、コンテキスト上明白に異なる意味を有しない限り、複数の表現を含む。本明細書において「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、1つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものなどの存在または付加可能性を予め排除しないことと理解されるべきである。
【0024】
一方、本文書において説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の便宜のために独立的に図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで実現されるということを意味するものではない。例えば、各構成のうち、2つ以上の構成が結合されて1つの構成をなすことができ、1つの構成を複数の構成に分けることもできる。各構成が統合及び/又は分離された実施形態も本文書の本質から逸脱しない限り、本文書の権利範囲に含まれる。
【0025】
以下、添付した図面を参照して、本文書の好ましい実施形態をより詳細に説明する。以下、図面上の同一の構成要素に対しては、同一の参照符号を使用し、同一の構成要素に関して重複する説明は省略する。
【0026】
この文書は、ビデオ/映像コーディングに関する。例えば、この文書において開示された方法/実施形態は、VVC(Versatile Video Coding)標準(ITU-T Rec. H.266)、VVC以後の次世代ビデオ/イメージコーディング標準、又はそれ以外のビデオコーディング関連標準(例えば、HEVC(High Efficiency Video Coding)標準(ITU-T Rec. H.265)、EVC(essential video coding)標準、AVS2標準など)と関連する。
【0027】
この文書においては、ビデオ/映像コーディングに関する様々な実施形態を提示し、他の言及がない限り、前記実施形態は組み合わせられて行われることもできる。
【0028】
この文書において、ビデオ(video)は、時間の流れによる一連の映像(image)の集合を意味する。ピクチャ(picture)は一般的に特定時間帯の1つの映像を示す単位を意味し、スライス(slice)/タイル(tile)はコーディングにおいてピクチャの一部を構成する単位である。スライス/タイルは、1つ以上のCTU(coding tree unit)を含む。1つのピクチャは1つ以上のスライス/タイルで構成される。1つのピクチャは1つ以上のタイルのグループで構成される。1つのタイルグループは1つ以上のタイルを含む。
【0029】
ピクセル(pixel)又はペル(pel)は、1つのピクチャ(又は、映像)を構成する最小の単位を意味する。また、ピクセルに対応する用語として「サンプル(sample)」が使用できる。サンプルは一般的にピクセル又はピクセルの値を示し、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。また、サンプルは空間ドメインにおけるピクセル値を意味し、このようなピクセル値が周波数ドメインに変換されると、周波数ドメインにおける変換係数を意味し得る。
【0030】
ユニット(unit)は映像処理の基本単位を示す。ユニットは、ピクチャの特定領域及び当該領域に関連する情報のうち少なくとも1つを含む。1つのユニットは、1つのルマブロック及び2つのクロマ(ex、cb、cr)ブロックを含む。ユニットは、場合によって、ブロック(block)又は領域(area)などの用語と混用して使用されてもよい。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(又はサンプルアレイ)又は変換係数(transform coefficient)の集合(又はアレイ)を含む。
【0031】
この文書において、「/」と「、」は「及び/又は」と解釈される。例えば,「A/B」は「A及び/又はB」と解釈され、「A、B」は「A及び/又はB」と解釈される。さらに、「A/B/C」は「A、B及び/又はCの少なくとも1つ」を意味する。また、「A、B、C」も「A、B及び/又はCの少なくとも1つ」を意味する。(In this document, the term “/” and "," should be interpreted to indicate “and/or.” For instance, the expression “A/B” may mean “A and/or B.” Further, “A, B” may mean “A and/or B.” Further, “A/B/C” may mean “at least one of A, B, and/or C.” Also, A/B/C” may mean “at least one of A, B, and/or C.”)
【0032】
追加的に、本文書において、「又は」は「及び/又は」と解釈される。例えば、「A又はB」は、1)「A」のみを意味し、2)「B」のみを意味するか、3)「A及びB」を意味し得る。言い換えると、本文書の「又は」は「追加的に又は代替的に(additionally or alternatively)」を意味し得る。(Further, in the document, the term “or” should be interpreted to indicate “and/or.” For instance, the expression “A or B” may comprise 1) only A, 2) only B, and/or 3) both A and B. In other words, the term “or” in this document should be interpreted to indicate “additionally or alternatively.”)
【0033】
本明細書において“少なくとも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)”と同じく解釈されることができる。
【0034】
また、本明細書において“少なくとも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)”を意味することができる。
【0035】
また、本明細書で使われる括弧は“例えば(for example)”を意味することができる。具体的に、“予測(イントラ予測)”で表示された場合、“予測”の一例として“イントラ予測”が提案されたものである。言い換えると、本明細書の“予測”は“イントラ予測”に制限(limit)されずに、“イントラ予測”が“予測”の一例として提案されたものである。また、“予測(即ち、イントラ予測)”で表示された場合も、“予測”の一例として“イントラ予測”が提案されたものである。
【0036】
本明細書において、1つの図面内で個別的に説明される技術的特徴は、個別的に実現されることもでき、同時に具現されることもできる。
【0037】
図1は、本文書が適用できるビデオ/映像コーディングシステムの例を概略的に示す。
【0038】
図1に示すように、ビデオ/映像コーディングシステムはソースデバイス及び受信デバイスを含む。ソースデバイスはエンコードされたビデオ(video)/映像(image)情報又はデータをファイル又はストリーミング形態でデジタル格納媒体又はネットワークを介して受信デバイスに伝達する。
【0039】
前記ソースデバイスはビデオソース、エンコード装置、送信部を含む。前記受信デバイスは、受信部、デコード装置及びレンダラーを含む。前記エンコード装置はビデオ/映像エンコード装置と呼ばれ、前記デコード装置はビデオ/映像デコード装置と呼ばれるてもよい。送信機はエンコード装置に含まれてもよい。受信機はデコード装置に含まれてもよい。レンダラーはディスプレイ部を含んでもよく、ディスプレイ部は別のデバイス又は外部コンポーネントとして構成されてもよい。
【0040】
ビデオソースは、ビデオ/映像のキャプチャ、合成、または生成過程などを介してビデオ/映像を取得することができる。ビデオソースは、ビデオ/映像キャプチャデバイス及び/又はビデオ/映像生成デバイスを含むことができる。ビデオ/映像キャプチャデバイスは、例えば、1つ以上のカメラ、以前にキャプチャされたビデオ/映像を含むビデオ/映像アーカイブなどを含むことができる。ビデオ/映像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを含み、(電子的に)ビデオ/映像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/映像が生成されることができ、この場合、関連データが生成される過程にてビデオ/映像キャプチャ過程が代替されることができる。
【0041】
エンコード装置は、入力ビデオ/映像をエンコードする。エンコード装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を行うことができる。エンコードされたデータ(エンコードされたビデオ/映像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
【0042】
送信部は、ビットストリーム形態で出力されたエンコードされたビデオ/映像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達する。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含んでもよい。送信部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含み、放送/通信ネットワークを介しての送信のためのエレメントを含む。受信部は、前記ビットストリームを受信/抽出してデコード装置に伝達する。
【0043】
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を行ってビデオ/映像をデコードする。
【0044】
レンダラーは、デコードされたビデオ/映像をレンダリングすることができる。レンダリングされたビデオ/映像は、ディスプレイ部を介してディスプレイされる。
【0045】
図2は、本文書が適用できるビデオ/映像エンコード装置の構成を概略的に説明する図面である。以下、ビデオエンコード装置とは、映像エンコード装置を含む。
【0046】
図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を内/外部コンポーネントとしてさらに含んでもよい。
【0047】
映像分割部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)を誘導する単位である。
【0048】
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されてもよい。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)の集合を示す。サンプルは、一般的にピクセルまたはピクセルの値を示し、輝度(luma)成分のピクセル/ピクセル値のみを示すこともでき、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(または、映像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
【0049】
減算部231は、入力映像信号(原本ブロック、原本サンプル又は原本サンプルアレイ)から予測部220から出力された予測信号(予測されたブロック、予測サンプル又は予測サンプルアレイ)を減算してレジデュアル信号(レジデュアルサンプル又はレジデュアルサンプルアレイ)を生成することができ、生成されたレジデュアル信号は変換部232に送信される。予測部220は処理対象ブロック(以下、現在ブロックという)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成する。予測部220は、現在ブロック又はCU単位でイントラ予測が適用されるか又はインター予測が適用されるかを決定する。予測部は、各予測モードに関する説明において後述するように予測モード情報などの予測に関する様々な情報を生成してエントロピーエンコード部240に伝達する。予測に関する情報はエントロピーエンコード部240でエンコードされてビットストリーム形態で出力される。
【0050】
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードに応じて前記現在ブロックの周辺(neighbor)に位置するか、又は離れて位置することもある。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードを含む。非方向性モードは、例えば、DCモード及びプランナーモード(Planarモード)を含む。方向性モードは、予測方向の細かい程度に応じて、例えば、33個の方向性予測モード又は65個の方向性予測モードを含むことができる。ただし、これは例示であって、設定に応じてそれ以上又はそれ以下の個数の方向性予測モードが使用されることができる。イントラ予測部222は周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0051】
インター予測部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)をシグナリングすることにより現在ブロックの動きベクトルを指示することができる。
【0052】
予測部220は、後述する様々な予測方法に基づいて予測信号を生成する。例えば、予測部は1つのブロックに対する予測のためにイントラ予測又はインター予測を適用できるだけでなく、イントラ予測とインター予測を同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれる。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy:IBC)を行うこともできる。前記イントラブロックコピーは、例えば、SCC(screen content coding)などのようにゲームなどのコンテンツ映像/動画コーディングのために使用できる。IBCは基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点でインター予測と類似に行われる。すなわち、IBCは、本文書で説明されるインター予測技法のうち少なくとも1つを利用することができる。
【0053】
インター予測部221及び/又はイントラ予測部222により生成された予測信号は、復元信号を生成するために利用されるかレジデュアル信号を生成するために利用されることができる。変換部232はレジデュアル信号に変換技法を適用して変換係数(transform coefficients)を生成することができる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、GBT(Graph-Based Transform)、又はCNT(Conditionally Non-linear Transform)などを含む。ここで、GBTはピクセル間の関係情報をグラフで表現するとき、このグラフから得られた変換を意味する。CNTは、以前に復元された全てのピクセル(all previously reconstructed pixel)を利用して予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同じサイズを有するピクセルブロックにも適用でき、正方形ではない可変サイズのブロックにも適用できる。
【0054】
量子化部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に含まれることもできる。
【0055】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することによりレジデュアル信号(レジデュアルブロック又はレジデュアルサンプル)を復元することができる。加算部250は、復元されたレジデュアル信号を予測部220から出力された予測信号に加えることにより復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプル又は復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0056】
一方、ピクチャエンコーディング及び/又は復元過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0057】
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset、SAO)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含む。フィルタリング部260は、各フィルタリング方法についての説明で後述するように、フィルタリングに関する様々な情報を生成してエントロピーエンコード部240に伝達することができる。フィルタリングに関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
【0058】
メモリ270に送信された修正された復元ピクチャは、インター予測部221で参照ピクチャとして使用されることができる。エンコード装置は、これによりインター予測が適用される場合、エンコード装置200とデコード装置300での予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【0059】
メモリ270のDPBは、修正された復元ピクチャをインター予測部221での参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するためにインター予測部221に伝達される。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達することができる。
【0060】
図3は、本文書が適用できるビデオ/映像デコード装置の構成を概略的に説明する図である。
【0061】
図3に示すように、デコード装置300は、エントロピーデコード部(entropy decoder)310、レジデュアル処理部(residual processor)320、予測部(predictor)330、加算部(adder)340、フィルタリング部(filter)350、及びメモリ(memory)360を含んで構成される。予測部330は、インター予測部332及びイントラ予測部331を含む。レジデュアル処理部320は、逆量子化部(dequantizer)321及び逆変換部(inverse transformer)322を含む。前述したエントロピーデコード部310、レジデュアル処理部320、予測部330、加算部340及びフィルタリング部350は、実施形態によって1つのハードウェアコンポーネント(例えば、デコーダチップセット又はプロセッサ)により構成されることができる。また、メモリ360は、DPB(decoded picture buffer)を含むことができ、デジタル格納媒体により構成されることもできる。前記ハードウェアコンポーネントは、メモリ360を内/外部コンポーネントとしてさらに備えることもできる。
【0062】
ビデオ/映像情報を含むビットストリームが入力されると、デコード装置300は、
図2のエンコード装置においてビデオ/映像情報が処理されたプロセスに対応して映像を復元することができる。例えば、デコード装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出できる。デコード装置300は、エンコード装置において適用された処理ユニットを用いてデコードを行う。従って、デコーディングの処理ユニットは、例えば、コーディングユニットであり、コーディングユニットは、コーディングツリーユニット又は最大コーディングユニットからクアッドツリー構造、バイナリツリー構造及び/又はターナリツリー構造に応じて分割される。コーディングユニットから1つ以上の変換ユニットが導出される。そして、デコード装置300によりデコーディング及び出力された復元映像信号は、再生装置により再生される。
【0063】
デコード装置300は、
図2のエンコード装置から出力された信号をビットストリーム形態で受信し、受信された信号は、エントロピーデコード部310によりデコードされる。例えば、エントロピーデコード部310は、前記ビットストリームをパーシングして映像復元(または、ピクチャ復元)に必要な情報(例えば、ビデオ/映像情報)を導出できる。前記ビデオ/映像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)など、様々なパラメータセットに関する情報をさらに含んでもよい。また、前記ビデオ/映像情報は、一般制限情報(general constraint information)をさらに含んでもよい。デコード装置は、前記パラメータセットに関する情報及び/又は前記一般制限情報に基づいてさらにピクチャをデコードする。本文書において後述されるシグナリング/受信される情報及び/又はシンタックス要素は、前記デコード手順を介してデコードされて前記ビットストリームから取得されることができる。例えば、エントロピーデコード部310は、指数ゴロム符号化、CAVLCまたはCABACなどのコーディング方法を基礎としてビットストリーム内の情報をデコードし、映像復元に必要なシンタックス要素の値、レジデュアルに関する変換係数の量子化された値などを出力する。より詳細に、CABACエントロピーデコード方法は、ビットストリームにおいて各構文要素に該当するビンを受信し、デコード対象構文要素情報と周辺及びデコード対象ブロックのデコード情報又は以前ステップでデコードされたシンボル/ビンの情報を利用してコンテキスト(context)モデルを決定し、決定されたコンテキストモデルによってビン(bin)の発生確率を予測してビンの算術デコーディング(arithmetic decoding)を行って各構文要素の値に該当するシンボルを生成することができる。このとき、CABACエントロピーデコード方法は、コンテキストモデル決定後、次のシンボル/ビンのコンテキストモデルのためにデコードされたシンボル/ビンの情報を利用してコンテキストモデルをアップデートすることができる。エントロピーデコード部310においてデコードされた情報のうち予測に関する情報は予測部(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコード部310においてエントロピーデコードが行われたレジデュアルに関する情報、即ち、量子化された変換係数及び関連パラメータ情報は逆量子化部321に入力されることができる。また、エントロピーデコード部310でデコードされた情報のうちフィルタリングに関する情報は、フィルタリング部350に提供できる。一方、エンコード装置から出力された信号を受信する受信部(図示せず)がデコード装置300の内/外部エレメントとしてさらに構成されることができ、または、受信部は、エントロピーデコード部310の構成要素でもあり得る。一方、本文書によるデコード装置は、ビデオ/映像/ピクチャデコード装置と呼ばれてもよく、前記デコード装置は、情報デコーダ(ビデオ/映像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/映像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは、前記エントロピーデコード部310を含んでもよく、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、予測部330、加算部340、フィルタリング部350、メモリ360のうち、少なくとも1つを含む。
【0064】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力する。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコード装置で行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を利用して量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
【0065】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得する。
【0066】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピーデコード部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モードを決定することができる。
【0067】
予測部は、後述する様々な予測方法に基づいて予測信号を生成する。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれてもよい。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy、IBC)を行うこともできる。前記イントラブロックコピーは、SCC(screen content coding)などのように、ゲームなどのコンテンツ映像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内において参照ブロックを導出する点でインター予測と類似に行われることができる。即ち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを利用することができる。
【0068】
イントラ予測部332は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbor)に位置し、または離れて位置することもできる。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードとを含む。イントラ予測部332は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0069】
インター予測部331は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。このとき、インター予測モードで送信される動き情報の量を減らすために、周辺ブロックと現在ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロックまたはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含む。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測など)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間的周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)とを含む。例えば、インター予測部331は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出できる。様々な予測モードに基づいてインター予測が行われることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
【0070】
加算部340は、取得されたレジデュアル信号を予測部330から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。
【0071】
加算部340は、復元部または復元ブロック生成部と呼ばれてもよい。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て出力されることもでき、または次のピクチャのインター予測のために使用されることもできる。
【0072】
一方、ピクチャデコーディング過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0073】
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成し、前記修正された復元ピクチャをメモリ360、具体的に、メモリ360のDPBに送信することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含む。
【0074】
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部331において参照ピクチャとして使用されることができる。メモリ360は、現在ピクチャ内の動き情報が導出された(または、デコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的周辺ブロックの動き情報又は時間的周辺ブロックの動き情報として活用するために、インター予測部331に伝達することができる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部332に伝達することができる。
【0075】
本明細書において、デコード装置300の予測部330、逆量子化部321、逆変換部322及びフィルタリング部350などにおいて説明された実施形態は、各々エンコード装置200の予測部220、逆量子化部234、逆変換部235及びフィルタリング部260などにも同一または対応するように適用されることができる。
【0076】
前述のようにビデオコーディングを行うにおいて、圧縮効率を高めるために予測を行う。これによりコーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、前記予測されたブロックは、空間ドメイン(又は、ピクセルドメイン)での予測サンプルを含む。前記予測されたブロックはエンコード装置及びデコード装置から同一に導出され、前記エンコード装置は原本ブロックの原本サンプル値自体ではなく、前記原本ブロックと前記予測されたブロック間のレジデュアルに関する情報(レジデュアル情報)をデコード装置にシグナリングすることにより映像コーディング効率を高めることができる。デコード装置は、前記レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックを合わせて復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
【0077】
前記レジデュアル情報は、変換及び量子化手順を介して生成される。例えば、エンコード装置は、前記原本ブロックと前記予測されたブロック間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれるレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を行って変換係数を導出し、前記変換係数に量子化手順を行って量子化された変換係数を導出して、関連するレジデュアル情報を(ビットストリームを介して)デコード装置にシグナリングすることができる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコード装置は、前記レジデュアル情報に基づいて逆量子化/逆変換手順を行い、レジデュアルサンプル(又はレジデュアルブロック)を導出することができる。デコード装置は、予測されたブロックと前記レジデュアルブロックに基づいて復元ピクチャを生成することができる。エンコード装置は、また、ピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成することができる。
【0078】
【0079】
図4に示すように、変換部は前述の
図2のエンコード装置内の変換部に対応でき、逆変換部は前述の
図2のエンコード装置内の逆変換部又は
図3のデコード装置内の逆変換部に対応できる。
【0080】
変換部は、レジデュアルブロック内のレジデュアルサンプル(レジデュアルサンプルアレイ)に基づいて1次変換を行って(1次)変換係数を導出すことができる(S410)。このような1次変換(primary transform)は核心変換(core transform)と呼ばれてもよい。ここで、前記1次変換は多重変換選択(Multiple Transform Selection、MTS)に基づき、1次変換で多重変換が適用された場合、多重核心変換と呼ばれることができる。
【0081】
多重コア変換は、DCT(Discrete Cosine Transform)タイプ2と、DST(Discrete Sine Transform)タイプ7、DCTタイプ8、及び/又はDSTタイプ1を追加的に使って変換する方式を示す。すなわち、前記多重核心変換は、前記DCTタイプ2、前記DSTタイプ7、前記DCTタイプ8及び前記DSTタイプ1のうち選択された複数の変換カーネルに基づいて空間ドメインのレジデュアル信号(又は、レジデュアルブロック)を周波数ドメインの変換係数(又は、1次変換係数)に変換する変換方法を示すことができる。ここで、前記1次変換係数は変換部の立場から臨時変換係数と呼ばれてもよい。
【0082】
言い換えれば、既存の変換方法が適用される場合、DCTタイプ2に基づいてレジデュアル信号(又は、レジデュアルブロック)に対する空間ドメインから周波数ドメインへの変換が適用されて変換係数が生成されることができた。これと異なり、前記多重核心変換が適用される場合、DCTタイプ2、DSTタイプ7、DCTタイプ8及び/又はDSTタイプ1などに基づいてレジデュアル信号(又は、レジデュアルブロック)に対する空間ドメインから周波数ドメインへの変換が適用されて変換係数(又は、1次変換係数)が生成されることができる。ここで、DCTタイプ2、DSTタイプ7、DCTタイプ8、及びDSTタイプ1などは変換タイプ、変換カーネル(kernel)又は変換コア(core)と呼ばれてもよい。このようなDCT/DST変換タイプは基底関数に基づいて定義される。
【0083】
前記多重核心変換が行われる場合、前記変換カーネルのうち対象ブロックに対する垂直変換カーネル及び水平変換カーネルが選択されることができ、前記垂直変換カーネルに基づいて前記対象ブロックに対する垂直変換が行われ、前記水平変換カーネルに基づいて前記対象ブロックに対する水平変換が行われる。ここで、前記水平変換は前記対象ブロックの水平成分に対する変換を示し、前記垂直変換は前記対象ブロックの垂直成分に対する変換を示す。前記垂直変換カーネル/水平変換カーネルは、レジデュアルブロックを含む対象ブロック(CU又はサブブロック)の予測モード及び/又は変換インデックスに基づいて適応的に決定される。
【0084】
また、一例によれば、MTSを適用して1次変換を行う場合、特定の基底関数を所定値に設定し、垂直変換又は水平変換のときにどのような基底関数が適用されるかを組み合わせて変換カーネルに対するマッピング関係を設定することができる。例えば、水平方向変換カーネルをtrTypeHorと示し、垂直方向変換カーネルをtrTypeVerと示す場合、trTypeHor 又はtrTypeVer値0はDCT2に設定され、trTypeHor又はtrTypeVer値1はDST7に設定され、trTypeHor又はtrTypeVer値2はDCT8に設定される。
【0085】
この場合、多数の変換カーネルセットのうちいずれか1つを指示するためにMTSインデックス情報がエンコードされてデコード装置にシグナリングされることができる。例えば、MTSインデックスが0であると、trTypeHor及びtrTypeVer値が両方とも0であることを指示し、MTSインデックスが1であると、trTypeHor及びtrTypeVer値が両方とも1であることを指示し、MTSインデックスが2であると、trTypeHor値は2であり、trTypeVer値は1であることを指示し、MTSインデックスが3であると、trTypeVer値は1であることを指示する。
【0086】
一例によって、MTSインデックス情報による変換カーネルセットを表に示すと、以下のようになる。
【0087】
【0088】
変換部は、前記(1次)変換係数に基づいて2次変換を行って修正された(2次)変換係数を導出する(S420)。前記1次変換は空間ドメインから周波数ドメインへの変換であり、前記2次変換は(1次)変換係数間に存在する相関(correlation)を用いてより圧縮的な表現に変換することを意味する。前記2次変換は非分離変換(non-separable transform)を含む。この場合、前記2次変換は、非分離2次変換(non-separable secondary transform、NSST)又はMDNSST(mode-dependent non-separable secondary transform)と呼ばれる。前記非分離2次変換は、前記1次変換により導出された(1次)変換係数を非分離変換マトリックス(non-separable transform matrix)に基づいて2次変換してレジデュアル信号に対する修正された変換係数(又は、2次変換係数)を生成する変換を示す。ここで、前記非分離変換マトリックスに基づいて前記(1次)変換係数に対して垂直変換及び水平変換を分離して(又は、水平垂直変換を独立的に)適用することなく、一度に変換を適用することができる。言い換えると、前記非分離2次変換は、前記(1次)変換係数の垂直成分及び水平成分を分離せずに、例えば、2次元信号(変換係数)を特定の定まった方向(例えば、行優先(row-first)方向又は列優先(column-first)方向)を介して1次元信号に再整列した後、前記非分離変換マトリックスに基づいて修正された変換係数(又は、2次変換係数)を生成する変換方法を示す。例えば、行優先の順序は、M×Nブロックに対して1番目の行、2番目の行、...、N番目の行の順に一列に配置することであり、列優先の順序は、M×Nブロックに対して1番目の列、2番目の列、...M番目の列の順に一列に配置することである。前記非分離2次変換は(1次)変換係数から構成されるブロック(以下、変換係数ブロックという)の左上端(top-left)領域に対して適用できる。例えば、前記変換係数ブロックの幅(W)及び高さ(H)が両方とも8以上である場合、8×8非分離2次変換が前記変換係数ブロックの左上端8×8領域に対して適用できる。また、前記変換係数ブロックの幅(W)及び高さ(H)が両方とも4以上であるとともに、前記変換係数ブロックの幅(W)又は高さ(H)が8より小さい場合、4×4非分離2次変換が前記変換係数ブロックの左上端min(8,W)×min(8,H)領域に対して適用できる。だたし、実施形態はこれに限定されず、例えば、前記変換係数ブロックの幅(W)又は高さ(H)が全て4以上である条件のみを満足しても、4×4非分離2次変換が前記変換係数ブロックの左上端min(8,W)×min(8,H)領域に対して適用されることもできる。
【0089】
具体的に、例えば、4×4入力ブロックが使用される場合、非分離2次変換は次のように行われる。
【0090】
前記4×4入力ブロックXは、以下のように表示される。
【0091】
【0092】
前記Xをベクトル形態で示す場合、ベクトルは次のように示されることができる。
【0093】
【0094】
数式2のように、ベクトル
は行優先(row-first)順序に従って数式1のXの2次元ブロックを1次元ベクトルに再配列する。
【0095】
この場合、前記2次非分離変換は、次のように計算されることができる。
【0096】
【0097】
ここで、
は変換係数ベクトルを示し、Tは16×16(非分離)変換マトリックスを示す。
【0098】
前記数式3により16×1変換係数ベクトル
が導出でき、前記
はスキャン順序(水平、垂直、対角(diagonal)など)に従って4×4ブロックに再構成(re-organized)されることができる。ただし、前述の計算は例示であって、非分離2次変換の計算複雑度を減らすためにHyGT(Hypercube-Givens Transform)などが非分離2次変換の計算のために使われることもできる。
【0099】
一方、前記非分離2次変換はモード基盤(mode dependent)で変換カーネル(又は、変換コア、変換タイプ)が選択されることができる。ここで、モードは、イントラ予測モード及び/又はインター予測モードを含む。
【0100】
前述のように、前記非分離2次変換は、前記変換係数ブロックの幅(W)及び高さ(H)に基づいて決定された8×8変換又は4×4変換に基づいて行われる。8×8変換は、WとHが両方とも8より大きいか等しい場合、当該変換係数ブロック内部に含まれる8×8領域に適用できる変換を示し、当該8×8領域は当該変換係数ブロック内部の左上端8×8領域であり得る。類似に、4×4変換はWとHが両方とも4より大きいか等しいときに当該変換係数ブロック内部に含まれる4×4領域に適用できる変換を示し、当該4×4領域は当該変換係数ブロック内部の左上端4×4領域であり得る。例えば、8×8変換カーネルマトリックスは64×64/16×64行列、4×4変換カーネルマトリックスは16×16/8×16行列となりうる。
【0101】
このとき、モード基盤変換カーネルの選択のために、8×8変換及び4×4変換の両方に対して、非分離2次変換のための変換セットあたり2つずつの非分離2次変換カーネルが構成され、変換セットは4つであり得る。すなわち、8×8変換に対して4つの変換セットが構成され、4×4変換に対して4つの変換セットが構成される。この場合、8×8変換に対する4つの変換セットにはそれぞれ2つずつの8×8変換カーネルが含まれ、この場合、4×4変換に対する4つの変換セットにはそれぞれ2つずつの4×4変換カーネルが含まれる。
【0102】
ただし、前記変換のサイズ、前記セットの数及びセット内の変換カーネルの数は例示であって、8×8又は4×4以外のサイズが使用されてもよく、又はn個のセットが構成され、各セット内にk個の変換カーネルが含まれてもよい。
【0103】
前記変換セットはNSSTセットとも呼ばれ、前記NSSTセット内の変換カーネルはNSSTカーネルとも呼ばれる。前記変換セットのうち、特定のセットの選択は、例えば、対象ブロック(CU又はサブブロック)のイントラ予測モードに基づいて行われる。
【0104】
参考として、例えば、イントラ予測モードは2つの非方向性(non-directinoal、または、非角度性(non-angular))イントラ予測モードと65個の方向性(directional、または、角度性(angular))イントラ予測モードを含む。前記非方向性イントラ予測モードは、0番のプラナー(planar)イントラ予測モード及び1番のDCイントラ予測モードを含み、前記方向性イントラ予測モードは、2番ないし66番の65個のイントラ予測モードを含む。ただし、これは例示であって、本文書はイントラ予測モードの数が異なる場合にも適用できる。一方、場合によって、67番イントラ予測モードがもっと使用されることがあり、前記67番イントラ予測モードはLM(linear model)モードを示すことができる。
【0105】
図5は、65個の予測方向のイントラ方向性モードを例示的に示す。
【0106】
図5に示すように、左上向対角予測方向を有する34番イントラ予測モードを中心に水平方向性(horizontal directionality)を有するイントラ予測モードと垂直方向性(vertical directionality)を有するイントラ予測モードとを区分することができる。
図5のHとVは、それぞれ水平方向性と垂直方向性を意味し、-32~32の数字はサンプルグリッドポジション(sample grid position)上で1/32単位の変位を示す。これはモードインデックス値に対するオフセットを示す。2番ないし33番イントラ予測モードは水平方向性、34番ないし66番イントラ予測モードは垂直方向性を有する。一方、34番イントラ予測モードは厳密に言うと水平方向性でも垂直方向性でもないと言えるが、2次変換の変換セットを決定する観点から水平方向性に属すると分類できる。これは、34番イントラ予測モードを中心に対称となる垂直方向モードに対しては入力データをトランスポーズ(transpose)して使用し、34番イントラ予測モードに対しては水平方向モードに対する入力データ整列方式を使用するためである。入力データをトランスポーズすることは、2次元ブロックデータM×Nに対して行が列となり、列が行となってN×Mデータを構成することを意味する。18番イントラ予測モードと50番イントラ予測モードはそれぞれ水平イントラ予測モード(horizontalintra prediction mode)、垂直イントラ予測モード(vertical intra prediction mode)を示し、2番イントラ予測モードは、左側参照ピクセルを有して右上向の方向に予測するので、右上向対角イントラ予測モードと呼ばれ、同じ脈絡で、34番イントラ予測モードは右下向対角イントラ予測モード、66番イントラ予測モードは左下向対角イントラ予測モードと呼ばれる。
【0107】
一例によって、イントラ予測モードに従って4つの変換セットのマッピング(mapping)は、例えば、次の表のように示されることができる。
【0108】
【0109】
表2のように、イントラ予測モードによって4つの変換セットのうちいずれか1つ、すなわち、stTrSetIdxが0から3、すなわち、4つのいずれか1つにマッピングされることができる。
【0110】
一方、非分離変換に特定のセットが使用されることが決定されると、非分離2次変換インデックスにより前記特定のセット内のk個の変換カーネルのいずれか1つが選択される。エンコード装置は、RD(rate-distortion)チェックに基づいて特定の変換カーネルを示す非分離2次変換インデックスを導出することができ、前記非分離2次変換インデックスをデコード装置にシグナリングすることができる。デコード装置は、前記非分離2次変換インデックスに基づいて特定のセット内のk個の変換カーネルのうち1つを選択することができる。例えば、NSSTインデックス値0は1番目の非分離2次変換カーネルを示し、NSSTインデックス値1は2番目の非分離2次変換カーネルを示し、NSSTインデックス値2は3番目の非分離2次変換カーネルを示す。または、NSSTインデックス値0は、対象ブロックに対して1番目の非分離2次変換が適用されないことを示し、NSSTインデックス値1ないし3は前記3つの変換カーネルを示すことができる。
【0111】
変換部は、選択された変換カーネルに基づいて前記非分離2次変換を行い、修正された(2次)変換係数を取得する。前記修正された変換係数は、前述のように量子化部により量子化された変換係数として導出され、エンコードされてデコード装置にシグナリング及びエンコード装置内の逆量子化/逆変換部に伝達されることができる。
【0112】
一方、前述のように2次変換が省略される場合、前記1次(分離)変換の出力である(1次)変換係数が前述のように量子化部により量子化された変換係数として導出され、エンコードされてデコード装置にシグナリング及びエンコード装置内の逆量子化/逆変換部に伝達されることができる。
【0113】
逆変換部は、前述の変換部において行われた手順の逆順で一連の手順を行うことができる。逆変換部は、(逆量子化された)変換係数を受信して、2次(逆)変換を行って(1次)変換係数を導出し(S450)、前記(1次)変換係数に対して1次(逆)変換を行ってレジデュアルブロック(レジデュアルサンプル)を取得する(S460)。ここで、前記1次変換係数は逆変換部の立場から修正された(modified)変換係数と呼ばれることができる。エンコード装置及びデコード装置は、前記レジデュアルブロックと予測されたブロックに基づいて復元ブロックを生成し、これに基づいて復元ピクチャを生成できることは前述の通りである。
【0114】
一方、デコード装置は、2次逆変換適用可否決定部(又は、2次逆変換の適用可否を決定する要素)と、2次逆変換決定部(又は、2次逆変換を決定する要素)をさらに含む。2次逆変換適用可否決定部は2次逆変換を適用するか否かを決定する。例えば、2次逆変換はNSST又はRSTであり、2次逆変換適用可否決定部はビットストリームからパーシングした2次変換フラグに基づいて2次逆変換を適用するか否かを決定する。他の一例として、2次逆変換適用可否決定部は、レジデュアルブロックの変換係数に基づいて2次逆変換を適用するか否かを決定する。
【0115】
2次逆変換決定部は2次逆変換を決定する。そのとき、2次逆変換決定部は、イントラ予測モードによって指定されたNSST(又はRST)変換セットに基づいて現在ブロックに適用される2次逆変換を決定する。また、一実施形態として、1次変換決定方法に依存的に(depend on)2次変換決定方法が決定されることができる。イントラ予測モードによって1次変換と2次変換の様々な組み合わせが決定される。また、一例として、2次逆変換決定部は、現在ブロックのサイズに基づいて2次逆変換が適用される領域を決定することもできる。
【0116】
一方、前述のように2次(逆)変換が省略される場合、(逆量子化された)変換係数を受信して前記1次(分離)逆変換を行ってレジデュアルブロック(レジデュアルサンプル)を取得する。エンコード装置及びデコード装置は、前記レジデュアルブロックと予測されたブロックに基づいて復元ブロックを生成し、これに基づいて復元ピクチャを生成できることは前述の通りである。
【0117】
一方、本文書では、非分離2次変換に伴う計算量とメモリ要求量の低減のために、NSSTの概念において変換マトリックス(カーネル)のサイズが減少されたRST(reduced secondary transform)が適用できる。
【0118】
一方、本文書で説明された変換カーネル、変換マトリックス、変換カーネルマトリックスを構成する係数、すなわち、カーネル係数又はマトリックス係数は8ビットで表現されることができる。これはデコード装置及びエンコード装置において実現されるための条件の1つであり、既存の9ビット又は10ビットと比較して合理的に収容できる性能の低下を伴うとともに、変換カーネルを格納するためのメモリ要求量を低減することができる。また、カーネルマトリックスを8ビットで表現することにより小さい乗算器を使用することができ、最適のソフトウェア実現のために使用されるSIMD(Single Instruction Multiple Data)命令にさらに適合する。
【0119】
本明細書において、RSTは簡素化ファクタ(factor)によってサイズが減少した変換マトリックス(transform matrix)に基づいて対象ブロックに対するレジデュアルサンプルに対して行われる変換を意味する。簡素化変換を行う場合、変換マトリックスのサイズ減少により、変換時に要求される演算量が減少する。すなわち、RSTはサイズが大きいブロックの変換又は非分離変換時に発生する演算複雑度(complexity)イシューを解消するために利用できる。
【0120】
RSTは、減少された変換、減少変換、Reduced Transform、reduced secondary transform、reduction transform、simplified transform、simple transformなどの様々な用語で呼ばれてもよく、RSTを呼ぶ名称は、前述した例示に限定されない。また、RSTは主に変換ブロックにおいて0ではない係数を含む低周波領域で行われるため、LFNST(Low-Frequency Non-Separable Transform)と呼ばれてもよい。
【0121】
一方、2次逆変換がRSTに基づいて行われる場合、エンコード装置200の逆変換部235とデコード装置300の逆変換部322は、変換係数に対する逆RSTに基づいて修正された変換係数を導出する逆RST部と、修正された変換係数に対する逆1次変換に基づいて前記対象ブロックに対するレジデュアルサンプルを導出する逆1次変換部とを含む。逆1次変換はレジデュアルに適用された1次変換の逆変換を意味する。本文書において変換に基づいて変換係数を導出することは、当該変換を適用して変換係数を導出することを意味する。
【0122】
図6は、本文書の実施形態によるRSTを説明するための図である。
【0123】
本明細書において、「対象ブロック」は、コーディングが行われる現在ブロック又はレジデュアルブロック又は変換ブロックを意味し得る。
【0124】
一実施形態によるRSTにおいて、N次元ベクトル(N dimensional vector)が異なる空間に位置するR次元ベクトル(R dimensional vector)にマッピングされて減少した変換マトリクスが決定され、ここで、RはNより小さい。Nは、変換が適用されるブロックの一辺の長さ(length)の二乗又は変換が適用されるブロックと対応する変換係数の総個数を意味し、簡素化ファクタはR/N値を意味し得る。簡素化ファクタは、減少されたファクタ、減少ファクタ、reduced factor、reduction factor、simplified factor、simple factorなど、様々な用語と呼ばれる。一方、Rは簡素化係数(reduced coefficient)と呼ばれてもよいが、場合によっては簡素化ファクタがRを意味することもあり得る。また、場合によって、簡素化ファクタはN/R値を意味し得る。
【0125】
一実施形態において、簡素化ファクタ又は簡素化係数はビットストリームを介してシグナリングできるが、実施形態がこれに限定されるものではない。例えば、簡素化ファクタ又は簡素化係数に対する既定義の値が、各エンコード装置200及びデコード装置300に格納されている場合があり、この場合、簡素化ファクタ又は簡素化係数は別途にシグナリングされない場合がある。
【0126】
一実施形態による簡素化変換マトリックスのサイズは通常の変換マトリックスのサイズN×Nより小さいR×Nであり、下記の数式4のように定義される。
【0127】
【0128】
図6の(a)に示されたReduced Transformブロック内のマトリックスTは、数式4のマトリックスTR×Nを意味する。
図6の(a)のように、対象ブロックに対するレジデュアルサンプルに対して簡素化変換マトリックスTR×Nが掛けられる場合、対象ブロックに対する変換係数が導出される。
【0129】
一実施形態において、変換が適用されるブロックのサイズが8×8であり、R=16(すなわち、R/N=16/64=1/4である)である場合、
図6の(a)によるRSTは下記の数式5のような行列演算で表現される。この場合、メモリと乗算演算が簡素化ファクタにより約1/4に減少する。
【0130】
本文書において、行列演算とは、行列を列ベクトルの左側に置き、行列と列ベクトルを乗算して列ベクトルを得る演算として理解できる。
【0131】
【0132】
数式5において、r1ないしr64は対象ブロックに対するレジデュアルサンプルを示し、より具体的に、1次変換を適用して生成された変換係数である。数式5の演算結果、対象ブロックに対する変換係数ciが導出でき、ciの導出過程は数式6のようである。
【0133】
【0134】
数式6の演算の結果、対象ブロックに対する変換係数c1ないしcRが導出される。すなわち、R=16である場合、対象ブロックに対する変換係数c1ないしc16が導出される。もし、RSTではなく通常の(regular)変換が適用されてサイズが64×64(N×N)である変換マトリックスがサイズが64×1(N×1)であるレジデュアルサンプルに乗算されたら、対象ブロックに対する変換係数が64個(N個)が導出されるが、RSTが適用されたため、対象ブロックに対する変換係数が16個(R個)のみ導出される。対象ブロックに対する変換係数の総個数がN個からR個に減少し、エンコード装置200がデコード装置300に送信するデータの量が減少するので、エンコード装置200-デコード装置300間の送信効率が増加する。
【0135】
変換マトリックスのサイズ観点から検討すると、通常の変換マトリックスのサイズは64×64(N×N)であるが、簡素化変換マトリックスのサイズは16×64(R×N)に減少するので、通常の変換を行うときと比較すると、RSTを行うときのメモリ使用をR/N比率に減少させることができる。また、通常の変換マトリックスを利用するときの乗算演算数N×Nと比較すると、簡素化変換マトリックスを利用すれば乗算演算数をR/N比率に減少(R×N)させることができる。
【0136】
一実施形態において、エンコード装置200の変換部232は、対象ブロックに対するレジデュアルサンプルを1次変換及びRST基盤の2次変換を行うことにより、対象ブロックに対する変換係数を導出することができる。このような変換係数はデコード装置300の逆変換部に伝達でき、デコード装置300の逆変換部322は、変換係数に対する逆RST(reduced secondary transform)に基づいて修正された変換係数を導出し、修正された変換係数に対する逆1次変換に基づいて対象ブロックに対するレジデュアルサンプルを導出することができる。
【0137】
一実施形態による逆RSTマトリックスTN×Rのサイズは通常の逆変換マトリックスのサイズN×Nより小さいN×Rであり、数式4に示された簡素化変換マトリックスTR×Nとトランスポーズ(transpose)の関係にある。
【0138】
図6の(b)に示されたReduced Inv.Transformブロック内のマトリックスTtは逆RSTマトリックスTR×NTを意味する(上付き文字Tはトランスポーズを意味する)。
図6の(b)のように、対象ブロックに対する変換係数に対して逆RSTマトリックスTR×NTが掛けられる場合、対象ブロックに対する修正された変換係数又は対象ブロックに対するレジデュアルサンプルが導出される。逆RSTマトリックスTR×NTは、(TR×N)TN×Rで表現することもできる。
【0139】
より具体的に、2次逆変換として逆RSTが適用される場合には、対象ブロックに対する変換係数に対して逆RSTマトリックスTR×NTが掛けられると、対象ブロックに対する修正された変換係数が導出される。一方、逆1次変換として逆RSTが適用でき、この場合、対象ブロックに対する変換係数に対して逆RSTマトリックスTR×NTが掛けられると、対象ブロックに対するレジデュアルサンプルが導出できる。
【0140】
一実施形態において、逆変換が適用されるブロックのサイズが8×8であり、R=16(すなわち、R=16/64=1/4である場合)である場合、
図6 の(b)によるRSTは下記の数式7のような行列演算で表現できる。
【0141】
【0142】
数式7において、c1ないしc16は対象ブロックに対する変換係数を示す。数式7の演算結果、対象ブロックに対する修正された変換係数又は対象ブロックに対するレジデュアルサンプルを示すrjが導出され、rjの導出過程は数式8のようである。
【0143】
【0144】
数式8の演算結果、対象ブロックに対する修正された変換係数又は対象ブロックに対するレジデュアルサンプルを示すr1ないしrNが導出される。逆変換マトリックスのサイズの観点から検討すると、通常の逆変換マトリックスのサイズは64×64(N×N)であるが、簡素化逆変換マトリックスのサイズは64×16(N×R)に減少するので、通常の逆変換を行うときと比較すると、逆RSTを行うときにメモリ使用をR/Nの割合に減少できる。また、通常の逆変換マトリックスを利用するときの乗算演算数N×Nと比較すると、簡素化逆変換マトリックスを利用すると、乗算演算数をR/Nの割合に減少(N×R)させることができる。
【0145】
一方、8×8RSTについても、表2のような変換セット構成を適用することができる。すなわち、表2での変換セットに応じて該当8×8RSTが適用できる。1つの変換セットは画面内の予測モードに応じて2つ又は3つの変換(カーネル)で構成されているので、2次変換を適用しない場合まで含めて最大4つの変換のうち1つを選択するように構成される。2次変換を適用しないときの変換は恒等行列が適用されたものとみなされることができる。4つの変換に対してそれぞれ0、1、2、3のインデックスを付与するとしたとき(例えば、0番インデックスを恒等行列、すなわち、2次変換を適用しない場合として割り当てることができる)、NSSTインデックスというシンタックス要素(syntax element)を変換係数ブロック毎にシグナリングして適用される変換を指定することができる。すなわち、NSSTインデックスを介して8×8左上端ブロックに対して、8×8NSSTを指定することができ、RST構成においては8×8RSTを指定することができる。8×8NSST及び8×8RSTは、変換の対象となる対象ブロックのWとHが両方とも8より大きいか等しいとき、当該変換係数ブロック内部に含まれる8×8領域に適用できる変換を示し、当該8×8領域は当該変換係数ブロック内部の左上端8×8領域であり得る。類似に、4×4NSST及び4×4RSTは、対象ブロックのWとHが両方とも4大きいか等しいとき、当該変換係数ブロックの内部に含まれる4×4領域に適用できる変換を示し、当該4×4領域は当該変換係数ブロック内部の左上端4×4領域であり得る。
【0146】
一方、本文書の一実施形態によって、エンコード過程の変換において、8×8領域を構成する64個のデータに対して16×64変換カーネルマトリックスではなく、48個のデータのみを選択して最大16×48変換カーネルマトリックスを適用できる。ここで、「最大」とは、m個の係数を生成できるm×48変換カーネルマトリックスに対してmの最大値が16であることを意味する。すなわち、8×8領域にm×48変換カーネルマトリックス(m≦16)を適用してRSTを行う場合、48個のデータを受信してm個の係数を生成することができる。mが16である場合、48個のデータを受信して16個の係数を生成する。すなわち、48個のデータが48×1ベクトルをなすとしたとき、16×48行列と48×1ベクトルを順番に乗算して16×1ベクトルが生成される。このとき、8×8領域を成す48個のデータを適切に配列して48×1ベクトルを構成することができる。この時、最大16×48変換カーネルマトリックスを適用して行列演算を行うと、16個の修正された変換係数が生成されるが、16個の修正された変換係数はスキャニング順序に従って左上端4×4領域に配置され、右上端4×4領域と左下端4×4領域は0で充填されることができる。
【0147】
デコード過程の逆変換には、前述の変換カーネルマトリックスのトランスポーズされたマトリックスが使用される。すなわち、デコード装置で行われる逆変換過程として逆RST又はLFNSTが行われる場合、逆RSTを適用する入力係数データは所定の配列順序に従って1次元ベクトルで構成され、1次元ベクトルに当該逆RST行列を左で乗算して得られた修正された係数ベクトルを所定の配列順序に従って2次元ブロックに配列する。
【0148】
まとめると、変換過程で、8×8領域にRST又はLFNSTが適用される場合、8×8領域の変換係数のうち8×8領域の右下端領域を除いた左上端、 右上端、左下端領域の48個の変換係数と16×48の変換カーネルマトリックスとの行列演算が行われる。行列演算のために48個の変換係数は1次元配列で入力される。このような行列演算が行われると、16個の修正された変換係数が導出され、修正された変換係数は8×8領域の左上端領域に配列される。
【0149】
逆に、逆変換の過程で、8×8領域に逆RST又はLFNSTが適用される場合、8×8領域の変換係数のうち8×8領域の左上端に対応する16個の変換係数は、スキャニング順序に従って1次元配列形態で入力されて48×16の変換カーネルマトリックスと行列演算されることができる。すなわち、このような場合の行列演算は、(48×16行列)*(16×1変換係数ベクトル)=(48×1修正された変換係数ベクトル)と示すことができる。ここで、n×1ベクトルはn×1行列と同じ意味に解釈できるので、n×1列ベクトルと表記されることもできる。また、*は行列乗算演算を意味する。このような行列演算が行われると、48個の修正された変換係数が導出でき、48個の修正された変換係数は、8×8領域の右下端領域を除いた左上端、右上端、左下端領域に配列される。
【0150】
一方、2次逆変換がRSTに基づいて行われる場合、エンコード装置200の逆変換部235とデコード装置300の逆変換部322は、変換係数に対する逆RSTに基づいて修正された変換係数を導出する逆RST部と、修正された変換係数に対する逆1次変換に基づいて前記対象ブロックに対するレジデュアルサンプルを導出する逆1次変換部とを含む。逆1次変換はレジデュアルに適用された1次変換の逆変換を意味する。本文書において変換に基づいて変換係数を導出することは、当該変換を適用して変換係数を導出することを意味する。
【0151】
一方、前述のように、エンコード装置は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などの様々なエンコード方法を行うことができる。また、デコード装置は、指数ゴロム符号化、CAVLC又はCABACなどのコーディング方法に基づいてビットストリーム内の情報をデコードし、映像復元に必要なシンタックス要素の値、レジデュアルに関する変換係数の量子化された値を出力することができる。
【0152】
例えば、前述のコーディング方法は後述のように行われる。
【0153】
図7は、シンタックス要素(syntax element)をエンコードするためのCABAC(context-adaptive binary arithmetic coding)を例示的に示す。例えば、CABACの符号化過程は、エンコード装置は、入力信号が二進値ではないシンタックス要素である場合には、前記入力信号の値を二進化(binarization)して入力信号を二進値に変換することができる。また、前記入力信号が既に二進値である場合(すなわち、前記入力信号の値が二進値である場合)には、二進化が行われずにバイパス(bypass)されることができる。ここで、二進値を構成するそれぞれの二進数0又は1をビン(bin)と言える。例えば、二進化後の二進ストリングが110である場合、1、1、0のそれぞれを1つのビンという。1つのシンタックス要素に対する前記ビン(ら)は前記シンタックス要素の値を示す。このような二進化は、Truncated Rice binarization process、Fixed-length binarization processなど様々な二進化方法に基づくことができ、対象シンタックス要素に対する二進化方法は予め定義されることができる。前記二進化手順は、エントロピーエンコード部内の二進化部により行われる。
【0154】
その後、前記シンタックス要素の二進化したビンは正規(regular)符号化エンジン又はバイパス符号化エンジンに入力されることができる。エンコード装置の正規符号化エンジンは、当該ビンに対して確率値を反映するコンテキストモデル(context model)を割り当てることができ、割り当てられたコンテキストモデルに基づいて当該ビンをエンコードすることができる。エンコード装置の前記正規符号化エンジンは、各ビンに対するエンコードを行った後、当該ビンに対するコンテキストモデルを更新することができる。前述のようにエンコードされるビンは、コンテキスト符号化ビン(context-coded bin)と言える。
【0155】
一方、前記シンタックス要素の二進化したビンが前記バイパス符号化エンジンに入力される場合には、以下のようにコーディングされることができる。例えば、エンコード装置のバイパス符号化エンジンは、入力されたビンに対して確率を推定する手順と符号化後に前記ビンに適用した確率モデルを更新する手順を省略する。バイパスエンコードが適用される場合、エンコード装置はコンテキストモデルを割り当てる代わりに均一な確率分布を適用して入力されるビンをエンコードでき、これによりエンコード速度を向上させることができる。前述のようにエンコードされるビンはバイパスビン(bypass bin)と言える。
【0156】
エントロピーデコードは、前述のエントロピーエンコードと同一の過程を逆順で行う過程を示す。
【0157】
デコード装置(エントロピーデコード部)は、エンコードされた映像/ビデオ情報をデコードする。前記映像/ビデオ情報は、パーティショニング関連情報、予測関連情報(例えば、インターイントラ予測区分情報、イントラ予測モード情報、インター予測モード情報など)、レジデュアル情報、インループフィルタリング関連情報などを含み、また、それに関する様々なシンタックス要素を含むことができる。前記エントロピーコーディングは、シンタックス要素単位で行われることができる。
【0158】
デコード装置は、対象シンタックス要素に対する二進化を行うことができる。ここで、前記二進化はTruncated Rice binarization process、Fixed-length binarization processなど様々な二進化方法に基づき、対象シンタックス要素に対する二進化方法は予め定義されることができる。デコード装置は、前記二進化手順により対象シンタックス要素の可用値に対する可用ビンストリング(ビンストリング候補)を導出することができる。前記二進化手順はエントロピーデコード部内の二進化部により行われる。
【0159】
デコード装置は、ビットストリーム内の入力ビット(ら)から前記対象シンタックス要素に対する各ビンを順次デコード及びパーシングしながら、導出されたビンストリングを当該シンタックス要素に対する可用ビンストリングと比較する。もし、導出されたビンストリングが前記可用ビンストリングのうち1つと同一であると、当該ビンストリングに対応する値が当該シンタックス要素の値として導出される。もし、そうでないと、前記ビットストリーム内の次のビットをさらにパッシングした後、前述の手順を再び行う。このような過程により、ビットストリーム内に特定情報(特定シンタックス要素)に対するスタートビットやエンドビットを使用しなくても、可変長ビットを利用して当該情報をシグナリングすることができる。これにより、低い値に対しては相対的により少ないビットを割り当てることができ、全般的なコーディング効率を高めることができる。
【0160】
デコード装置は、CABAC又はCAVLCなどのエントロピーコーディング技法に基づいてビットストリームから前記ビンストリング内の各ビンをコンテキストモデル基盤またはバイパス基盤でデコードすることができる。
【0161】
シンタックス要素がコンテキストモデルに基づいてデコードされる場合、デコード装置はビットストリームを介して前記シンタックス要素に該当するビンを受信することができ、前記シンタックス要素とデコード対象ブロック又は周辺ブロックのデコード情報あるいは以前ステップでデコードされたシンボル/ビンの情報を利用してコンテキストモデル(context model)を決定することができ、決定されたコンテキストモデルによって前記受信されたビン(bin)の発生確率を予測してビンの算出デコーディング(arithmetic decoding)を行って前記シンタックス要素の値を導出することができる。その後、前記決定されたコンテキストモデルに次にデコードされるビンのコンテキストモデルがアップデートされることができる。
【0162】
コンテキストモデルはコンテキストコーディング(正規コーディング)されるビン別に割り当て及びアップデートされることができ、コンテキストモデルはctxIdx又はctxIncに基づいて指示される。ctxIdxはctxIncに基づいて導出される。具体的に、例えば、前記正規コーディングされるビンのそれぞれに対するコンテキストモデルを示すコンテキストインデックス(ctxIdx)は、context index increment(ctxInc)及びcontext index offset(ctxIdxOffset)の和として導出される。ここで、前記ctxIncは各ビン別に異なるように導出されてもよい。前記ctxIdxOffsetは、前記ctxIdxの最小値(the lowest value)として表される。前記ctxIdxOffsetは、一般的に他のシンタックス要素に対するコンテキストモデルとの区分のために用いられる値であり、1つのシンタックス要素に対するコンテキストモデルはctxIncに基づいて区分/導出される。
【0163】
エントロピーエンコード手順において、正規コーディングエンジンによりエンコードを行うか、バイパスコーディングエンジンによりエンコードを行うかを決定し、コーディング経路をスイッチングすることができる。エントロピーデコードはエントロピーエンコードと同一の過程を逆順で行う。
【0164】
一方、例えば、シンタックス要素がバイパスデコードされる場合、デコード装置は、ビットストリームを介して前記シンタックス要素に該当するビンを受信し、均一な確率分布を適用して入力されるビンをデコードすることができる。この場合、デコード装置は、シンタックス要素のコンテキストモデルを導出する手順とデコード後に前記ビンに適用したコンテキストモデルを更新する手順は省略できる。
【0165】
前述のようにレジデュアルサンプルは、変換、量子化過程を経て量子化された変換係数として導出される。量子化された変換係数は変換係数とも呼ばれる。この場合、ブロック内の変換係数はレジデュアル情報の形態でシグナリングされる。前記レジデュアル情報はレジデュアルコーディングシンタックスを含む。すなわち、エンコード装置は、レジデュアル情報でレジデュアルコーディングシンタックスを構成し、これをエンコードしてビットストリーム形態で出力し、デコード装置は、ビットストリームからレジデュアルコーディングシンタックスをデコードしてレジデュアル(量子化された)変換係数を導出する。前記レジデュアルコーディングシンタックスは、後述のように当該ブロックに対して変換が適用されているか、ブロック内の最後の有効変換係数の位置がどこであるか、サブブロック内に有効変換係数が存在するか、有効変換係数のサイズ/符号がどうなのかなどを示すシンタックス要素(syntax elements)を含む。
【0166】
一方、一例によって2次変換カーネルを指示する情報(例えば、変換インデックスst_idx)を二進化及びコンテキストモデリングする方法が提案される。
【0167】
表3は一例によるTUシンタックスの一部を示し、表4はコーディングユニットのシンタックスの一部を示す。
【0168】
【0169】
【0170】
表3のtu_mts_idx[x0][y0]は、変換ブロックに適用されるMTSインデックスを示し、表1のようにMTSインデックスに応じてtrTypeHorとtrTypeVerが決定される。
【0171】
表4の変換インデックス(st_idx)は示されているように、選択された変換セットに含まれている2つの候補変換カーネルのいずれか1つを示す2次変換カーネルマトリックスを指示する。このような変換インデックスが0であると、2次変換が適用されていないことを示す。このような変換インデックスは、表2のようにイントラ予測モードにマッピングされて選択された変換セットに基づいて導出される。
【0172】
前述のように、二進ストリング(binary strin)の各位置の二進値をビン(bin)といい、二進ストリングの各ビンは、指定されたコンテキストを有してコーディングされるCABAC(Context Adaptive Binary Arithmetic Coding)でコーディングされるか、バイパス方式でコーディングされる。バイパス方式はコンテキストなしで0.5の確率を割り当てるコーディング方式であり、正規コーディング(regular coding)と呼ばれるCABACコーディングはコンテキスト情報、すなわち、確率情報からコーディングに適用する確率値を得るコーディング方式である。
【0173】
CABACコーディングでコーディングされるとき、N個のビンをコーディングするためにM個のコンテキスト情報を使用することができ、各コンテキスト情報は特定位置にある1つのビンをコーディングするために適用することもでき、複数の位置の複数のビンをコーディングするために適用されることもできる。ここで、MはNより小さいか同一である。
【0174】
また、各コンテキストはCABACを使用するコーデック(例えば、HEVC、VVC)において適用される方式によりアップデートされ、前述の正規コーディング方式も既存のコーデックにおいて適用される方式に従う。
【0175】
例えば、インデックス値が0、1、2であり、当該バイナリコードとしてそれぞれ0、10、11が割り当てられた場合、それぞれのビンにコンテキスト情報を割り当てて全部で2つのコンテキスト情報を適用することができる。すなわち、1番目のビンをコーディングするときにはコンテキストAを適用し、2番目のビンをコーディングするときにはコンテキストBを適用する。
【0176】
一方、下記の表5及び表6は変換インデックスのコンテキストインクリメント(ctxInc)を導出する過程を示す。
【0177】
【0178】
【0179】
表5は、変換インデックスの二進化過程はトランケーテッドライス(truncated Rice)方式で行なわれると、インデックス値の最大値は2であることが分かる。また、cRiceParamが0であるので、二進化方式はトランケーテッドユーナリ(truncated unary)方式で行われることが分かる。
【0180】
表6は、コンテキストコーディングされたビンのctxInc値が導出されることを示す。表6のように、変換インデックスの1番目のビンは4つ(0、1、4、5)のctxIncのいずれか1つに基づいて導出され、2番目のビンも4つ(2、3、6、7)のctxIncのいずれか1つに基づいて導出される。
【0181】
表6によれば、カラーインデックス(cIdx)、現在コーディングブロックの左上端位置、現在ブロックのツリータイプ(treeType)、イントラ予測モード及びMTSインデックス(tu_mts_idx[x0][y0].)値が入力されると、変数mtsCtxに基づいてctxInc値が導出される。ツリータイプは、ルマブロックと対応する色差ブロックが個別の分割構造を有するか否かによって、シングルツリー(SINGLE_TREE)タイプ又はデュアルツリー(DUAL_TREE)タイプに区分される。色差ブロックがルマブロックと同一の分割構造を有すると、シングルツリーと表し、色差成分ブロックがルーマ成分ブロックと異なる分割構造を有すると、デュアルツリーと表す。
【0182】
変数mtsCtxは、MTSインデックスが0より大きく、ツリータイプがシングルツリータイプでない場合は1として導出され、それ以外の場合、すなわち、MTSインデックスが0であるか、ツリータイプがシングルツリータイプである場合は0として導出される((tu_mts_idx[x0][y0]>0&&treeType!=SINGLE_TREE)?1:0)。ctxIncは、このような変数mtsCtx値に基づいて導出できる(ctxInc=(binIncx<<1)+intraModeCtx+(mtsCtx<<2))。
【0183】
または、他の一例によれば、変換インデックスのコンテキストコーディングされたビンのctxInc値は、次の表のように導出される。
【0184】
【0185】
表7も変換インデックスに対するctxIncを導出する過程を示し、表7によれば、1番目のビンは2個(0、1)のctxIncのいずれか1つに基づいて導出され、2番目のビンはコンテキストモデルではないバイパスコーディング(bypass)に基づいて導出される。コンテキスト基盤コーディングを適用する1番目のビン(binIDx=0に対するビン)に対しては、コンテキストを2つのみ割り当てることができ、2つのうちどのコンテキストを選択するかに対するctxInc値は9.5.4.2.8節でのように決定される。
【0186】
すなわち、変換インデックスの1番目のビンに対する変数ctxIncは、MTSインデックスが0より大きく、ツリータイプがシングルツリータイプでない場合は1として導出され、それ以外の場合、すなわち、MTSインデックスが0であるか、ツリータイプがシングルツリータイプである場合は0として導出される((tu_mts_idx[x0][y0]>0&&treeType!=SINGLE_TREE)?1:0)。本実施形態によれば、ctxIncは、他の変数、例えば、表6のmtsCtxのような中間変数の値に基づくことなく、MTSインデックス及びツリータイプによって直接的に導出されることができる。
【0187】
または、一例によって、表7は、表8のように異なる方式で表現されることができる。表8は、表7に含まれている9.5.4.2.8節が省略されているが、変換インデックスに対するctxInc導出過程は表7に関する説明と同一である。
【0188】
【0189】
一方、他の例によって、変換インデックスのコンテキストコーディングされたビンのctxInc値は、次の表のように導出される。
【0190】
【0191】
表9は、コンテキストコーディングされたビンのctxInc値が導出されることを示す。表9のように、変換インデックスの1番目のビンは4つ(0、1、4、5)のctxIncのいずれか1つに基づいて導出され、2番目のビンも4つ(2、3、6、7)のctxIncのいずれか1つに基づいて導出される。
【0192】
表9によれば、カラーインデックス(cIdx)、現在コーディングブロックの左上端位置、現在ブロックのツリータイプ(treeType)、イントラ予測モード及びMTSインデックス(tu_mts_idx[x0][y0].)値が入力されると、変数mtsCtxに基づいてctxInc値が導出される。
【0193】
変数mtsCtxは、MTSインデックスが0で、ツリータイプがシングルツリータイプではない場合には1として導出され、それ以外の場合、すなわちMTSインデックスが0ではないか、ツリータイプがシングルツリータイプである場合には0として導出される((tu_mts_idx[x0][y0]=0&&treeType!=SINGLE_TREE)?1:0)。ctxIncは、このような変数mtsCtx値に基づいて導出できる(ctxInc=(binIncx<<1)+intraModeCtx+(mtsCtx<<2))。
【0194】
または、他の一例によれば、変換インデックスのコンテキストコーディングされたビンのctxInc値は、次の表のように導出できる。
【0195】
【0196】
表10も変換インデックスに対するctxIncを導出する過程を示し、表10によれば、1番目のビンは2つの(0、1)のctxIncのいずれか1つに基づいて導出され、2番目のビンはコンテキストモデルではないバイパスコーディング(bypass)に基づいて導出される。コンテキスト基盤コーディングを適用する1番目のビン(binIDx=0に対するビン)に対してはコンテキストを2つのみ割り当てることができ、2つのうちどのコンテキストを選択するかに対するctxInc値は9.5.4.2.8節でのように決定できる。
【0197】
すなわち、変換インデックスの1番目のビンに対する変数ctxIncは、MTSインデックスが0で、ツリータイプがシングルツリータイプでない場合には1として導出され、それ以外の場合、すなわち、MTSインデックスが0ではないか、ツリータイプがシングルツリータイプである場合には0として導出される((tu_mts_idx[x0][y0]=0&&treeType!)=SINGLE_TREE)?1:0)。本実施形態によれば、ctxIncは他の変数、例えば、表9のmtsCtxのような中間変数値に基づくことなく、MTSインデックスやツリータイプによって直接的に導出されることができる。
【0198】
または、一例によって、表10は、表11のように異なる方式で表現されることができる。表11は表10に含まれている9.5.4.2.8節が省略されているが、変換インデックスに対するctxInc導出過程は表10に対する説明と同一である。
【0199】
【0200】
一方、一例によって、デコード装置は、MTSインデックスが受信されていない状態で変換インデックスをデコードすることができる。この場合、MTSインデックスが受信されていない場合、MTSインデックスは0とみなされ、この表9ないし表11が適用できる。すなわち、MTSインデックスが受信されていないか、デコードされていない時点で、MTSインデックスは0とみなされることができ、変換インデックスの1番目のビンに対するコンテキスト情報は、対象ブロックのツリータイプがシングルツリータイプでない場合は1として導出され、対象ブロックのツリータイプがシングルツリータイプである場合は0として導出される。
【0201】
類似に、エンコード装置は、MTSインデックスがコーディングされていない状態で変換インデックスをコーディングできる。この場合、MTSインデックスがコーディングされていない場合、MTSインデックスは0とみなされ、この表9ないし表11の過程が適用できる。すなわち、MTSインデックスが生成されていないか、エンコードされていない時点で、MTSインデックスは0とみなされることができ、変換インデックスの1番目のビンに対するコンテキスト情報は対象ブロックがツリータイプがシングルツリータイプでない場合は1として導出され、対象ブロックがツリータイプがシングルツリータイプである場合は0として導出されることができる。
【0202】
一方、一例によって、変換インデックスの1番目のビン及び2番目のビンの両方がコンテキストモデルに基づいてコーディングされることができる。すなわち、1番目のビンには第1コンテキストモデル情報が使用され、2番目のビンには第2コンテキストモデル情報が使用できる。このとき、コンテキスト情報はctxIncであるかctxIncに基づいて導出され、第1コンテキストモデル情報と第2コンテキストモデル情報は異なる値を有することができる。一例によって、第1コンテキストモデル情報は、変換の対象となる対象ブロックのツリータイプ(treeType)に応じて0又は1になり、第2コンテキストモデル情報はツリータイプと関係なく特定の値に設定される。
【0203】
このとき、第1コンテキストモデル情報は、MTSインデックスが0であり、ツリータイプがシングルツリータイプでない場合は1として導出され、それ以外の場合、すなわち、MTSインデックスが0でないか、ツリータイプがシングルツリータイプである場合は0として導出される。または、他の例によって、第1コンテキストモデル情報は、MTSインデックスとは関係なくツリータイプに応じて0又は1として導出される。すなわち、第1コンテキストモデル情報は、対象ブロックのツリータイプがシングルツリータイプでない場合は1として、対象ブロックのツリータイプがシングルツリータイプである場合は0として導出される。
【0204】
以下の図面は,本明細書の具体的な一例を説明するために作成された。図面に記載された具体的な装置の名称や具体的な信号/メッセージ/フィールドの名称は例示的に示されたものであるので、本明細書の技術的特徴は、以下の図面に用いられた具体的な名称に制限されない。
【0205】
図8は、本文書の一実施形態によるビデオデコード装置の動作を示すフローチャートである。
【0206】
図8に開示された各ステップは、
図3に開示されたデコード装置300により行われることができる。より具体的に、S810は
図3に開示されたエントロピーデコード部310により行われ、S820は
図3に開示された逆量子化部321により行われ、S830及びS840は
図3に開示された逆変換部322により行われ、S850は
図3に開示された加算部340により行われることができる。さらに、S810ないしS850による動作は、
図4ないし
図7において前述された内容の一部に基づいている。従って、
図3ないし
図7において前述された内容と重複する具体的な内容については説明を省略するか簡単にする。
【0207】
一実施形態によるデコード装置300は、ビットストリームから対象ブロックに対する量子化された変換係数を導出する(S810)。より具体的に、デコード装置300は、ビットストリームから対象ブロックに対する量子化された変換係数に関する情報をデコードし、対象ブロックに対する量子化された変換係数に関する情報に基づいて対象ブロックに対する量子化された変換係数を導出する。対象ブロックに対する量子化された変換係数に関する情報は、SPS(Sequence Parameter Set)又はスライスヘッダ(slice header)に含まれ、簡素化変換(RST)の適用可否に関する情報、簡素化ファクタに関する情報、簡素化変換を適用する最小変換サイズに関する情報、簡素化変換を適用する最大化変換サイズに関する情報、簡素化逆変換サイズ、変換セットに含まれた変換カーネルマトリックスのいずれか1つ支持する変換インデックスに関する情報の少なくとも1つを含む。
【0208】
一実施形態によるデコード装置300は、対象ブロックに対する量子化された変換係数に対して逆量子化を行って変換係数を導出する(S820)。
【0209】
一実施形態によるデコード装置300は、変換係数に対する逆非分離変換又は逆RST(reduced secondary transform)に基づいて修正された変換係数を導出する(S830)。
【0210】
一例示において、逆非分離変換又は逆RSTは逆RSTマトリックスに基づいて行われ、逆RSTマトリックスは列の数が行の数より少ない非正方形マトリックスであり得る。
【0211】
一実施形態において、S830は変換インデックスをデコードするステップと、変換インデックスに基づいて逆RSTを適用する条件に該当するか否かを判断するステップと、変換カーネルマトリックスを選択するステップと、逆RSTを適用する条件に該当する場合、選択された変換カーネルマトリックス及び/又は簡素化ファクタに基づいて変換係数に対して逆RSTを適用するステップとを含む。ここで、簡素化逆変換マトリックスのサイズは簡素化ファクタに基づいて決定される。
【0212】
一実施形態によるデコード装置300は、修正された変換係数に対する逆変換に基づいて対象ブロックに対するレジデュアルサンプルを導出する(S840)。
【0213】
デコード装置300は、対象ブロックに対する修正された変換係数に対して逆1次変換を行うことができ、この時、逆1次変換は簡素化逆変換が適用されてもよく、通常の分離変換が使用されてもよい。
【0214】
一実施形態によるデコード装置300は、対象ブロックに対するレジデュアルサンプル及び対象ブロックに対する予測サンプルに基づいて復元サンプルを生成する(S850)。
【0215】
S830を参照すると、対象ブロックに対する変換係数に対する逆RSTに基づいて対象ブロックに対するレジデュアルサンプルが導出されることが確認できる。逆変換マトリックスのサイズの観点から検討すると、通常の逆変換マトリックスのサイズはN×Nであるが、逆RSTマトリックスのサイズはN×Rに減少するので、通常の変換を行う時と比較すると逆RSTを行う時にメモリ使用をR/Nの割合に減少させることができる。また、通常の逆変換マトリックスを利用するときの乗算演算数N×Nと比較すると、逆RSTをマトリックスを用いると乗算演算数をRの割合に減少(N×R)させることができる。さらに、逆RSTを適用するとき、R個の変換係数のみをデコードすればよいので、通常の逆変換が適用されるときにN個の変換係数をデコードしなければならないことと比較すると、対象ブロックに対する変換係数の総個数がN個からR個に減少してデコード効率が増加する。まとめると、S830によれば、逆RSTによりデコード装置300の(逆)変換効率及びデコード効率が増加する。
【0216】
図9は、本文書の一実施形態による変換インデックスに基づく逆非分離変換方法を説明するための制御フローチャートである。
【0217】
デコード装置300は、ビットストリームから変換インデックス及びイントラ予測モードに関する情報を受信する(S900)。また、デコード装置300は、逆1次変換の変換カーネルを指示するMTSインデックス情報をさらに受信することができる。
【0218】
変換インデックス情報は、シンタックス情報として受信され、シンタックス情報は0と1を含む二進化したビンストリングとして受信される。
【0219】
一方、エントロピーデコード部310は変換インデックスのシンタックス要素に対する二進化情報を導出することができる。
【0220】
これは、受信された変換インデックスのシンタックス要素が有することのできる二進化値に対する候補セットを生成することであり、その実施形態による場合、変換インデックスのシンタックス要素はトランケーテッドユーナリコード方式で二進化されることができる。
【0221】
本実施形態による変換インデックスのシンタックス要素は、逆RST又は逆非分離変換が適用されるか否か及び変換セットに含まれる変換カーネルマトリックスのいずれか1つを指示することができ、変換セットが2つの変換カーネルマトリックスを含む場合、変換インデックスのシンタックス要素の値は3つであり得る。
【0222】
すなわち、一実施形態によって、変換インデックスに対するシンタックス要素値は、対象ブロックに逆RSTが適用されない場合を指示する0、変換カーネルマトリックスのうち1番目の変換カーネルマトリックスを指示する1、変換カーネルマトリックスのうち2番目の変換カーネルマトリックスを指示する2を含む。
【0223】
この場合、3つの変換インデックスに対するシンタックス要素値はトランケーテッドユーナリコード方式によって0、10、11にコーディングされる。すなわち、シンタックス要素に対する値0は「0」に、シンタックス要素に対する値1は「10」に、シンタックス要素に対する値2は「11」に二進化される。
【0224】
エントロピーデコード部310は、MTSインデックス値及び対象ブロックのツリータイプに応じて変換インデックスのビンストリングに対するコンテキスト情報、すなわち、コンテキストモデルを導出し(S910)、コンテキスト情報に基づいてシンタックス要素ビンストリングのビンをデコードする(S920)。
【0225】
本実施形態によれば、変換インデックスの2つのビンに対してそれぞれ異なるコンテキスト情報、すなわち、確率モデルが適用できる。すなわち、変換インデックスの2つのビンは両方ともバイパス方式ではないコンテキスト方式でデコードされ、変換インデックスに対するシンタックス要素のビンのうち1番目のビンは第1コンテキスト情報に基づいてデコードされ、変換インデックスに対するシンタックス要素のビンのうち2番目のビンは第2コンテキスト情報に基づいてデコードされる。
【0226】
また、他の例によれば、変換インデックスの2つのビンの1番目のビンの場合はコンテキスト方式でデコードされ、2番目のビンの場合はバイパス方式でデコードされる。
【0227】
このようなコンテキスト情報、特に、1番目のビンに対する第1コンテキスト情報は、MTSインデックス値及び対象ブロックのツリータイプに応じて異なる値として導出できる。
【0228】
例えば、対象ブロックのツリータイプはルマブロックと対応する色差ブロックが個別の分割構造を有するか否かによってシングルツリー(SINGLE_TREE)又はデュアルツリー(DUAL_TREE)に区分される。色差ブロックがルマブロックと同一の分割構造を有すると、シングルツリーと示し、色差成分ブロックがルーマ成分ブロックと異なる分割構造を有すると、デュアルツリーと示すことができる。ツリータイプがシングルツリーであると、変換インデックスコーディング時に第1コンテキスト情報が使用され、ツリータイプがデュアルツリーであると、変換インデックスコーディング時に第2コンテキスト情報が使用される。
【0229】
また、第1コンテキスト情報は、MTSインデックス値に基づいて異なる値として導出され、一例によれば、MTSインデックスが0であり、ツリータイプがシングルツリータイプでない場合は1として導出され、それ以外の場合、すなわち、MTSインデックスが0でないか、ツリータイプがシングルツリータイプである場合は0として導出される。
【0230】
一方、変換インデックスデコードのとき、MTSインデックスが受信されていないか、デコードされていない場合、MTSインデックスは0とみなされる。この場合、変換インデックスはMTSインデックスが0である条件を満足するので、ツリータイプがシングルツリータイプでない場合は1として導出され、ツリータイプがシングルツリータイプである場合は0として導出される。
【0231】
まとめると、エントロピーデコード部310は、トロンケーテッドユーナリコード方式で二進化されたビンストリングを受信して、コンテキスト情報に基づいて当該二進化値に対する変換インデックスのシンタックス要素をデコードする。
【0232】
このようなコンテキスト情報基盤デコードにより、変換インデックスのシンタックス要素が有することのできる二進化値のうち対象ブロックに適用される変換インデックスに対するシンタックス要素の値が導出される(S930)。
【0233】
すなわち、変換インデックス0、1、2のいずれか1つが現在の対象ブロックに適用されるかが導出されることができる。
【0234】
デコード装置300の逆変換部322は、対象ブロックに適用されるイントラ予測モードによるマッピング関係に基づいて変換セットを決定し(S940)、変換セット及び変換インデックスに対するシンタックス要素の値に基づいて逆RST、すなわち、逆非分離変換を行う(S950)。
【0235】
前述のように、変換の対象となる変換ブロックのイントラ予測モードによって複数の変換セットが決定され、逆RSTは変換インデックスによって指示される変換セットに含まれている変換カーネルマトリックスのいずれか1つに基づいて行われる。
【0236】
以下の図面は,本明細書の具体的な一例を説明するために作成された。図面に記載された具体的な装置の名称や具体的な信号/メッセージ/フィールドの名称は例示的に提示されたものであるので、本明細書の技術的特徴は、以下の図面に用いられた具体的な名称に制限されない。
【0237】
図10は、本文書の一実施形態によるビデオエンコード装置の動作を示すフローチャートである。
【0238】
図10に開示された各ステップは、
図2に開示されたエンコード装置200により行われることができる。より具体的に、S1010は
図2に開示された予測部220により行われ、S1020は
図2に開示された減算部231により行われ、S1030及びS1040は
図2に開示された変換部232により行われ、S1050は
図2に開示された量子化部233及びエントロピーエンコード部240により行われることができる。さらに、S1010ないしS1050による動作は、
図4ないし
図7において前述された内容の一部に基づいている。従って、
図2及び
図4ないし
図7において前述された内容と重複する具体的な内容は、説明を省略するか簡単にする。
【0239】
一実施形態によるエンコード装置200は、対象ブロックに適用されるイントラ予測モードに基づいて予測サンプルを導出する(S1010)。
【0240】
一実施形態によるエンコード装置200は、対象ブロックに対するレジデュアルサンプルを導出する(S1020)。
【0241】
一実施形態によるエンコード装置200は、レジデュアルサンプルに対する1次変換に基づいて前記対象ブロックに対する変換係数を導出する(S1030)。1次変換は複数の変換カーネルにより行われることができ、この場合、イントラ予測モードに基づいて変換カーネルが選択される。
【0242】
デコード装置300は、対象ブロックに対する変換係数に対して2次変換、又は非分離変換、具体的にNSSTを行うことができ、このとき、NSST は簡素化変換(RST)に基づいて行われるか、RSTに基づかずに行われることができる。NSSTがRSTに基づいて行われると、S1040による動作と対応する。
【0243】
一実施形態によるエンコード装置200は、変換係数に対するRSTに基づいて対象ブロックに対する修正された変換係数を導出する(S1040)。一例示において、RSTは簡素化変換マトリックス又は変換カーネルマトリックスに基づいて行われることができ、簡素化変換マトリックスは行の数が列の数より少ない非正方形マトリックスであり得る。
【0244】
一実施形態において、S1040はRSTを適用する条件に該当するか否かを判断するステップと、前記判断に基づいて変換インデックスを生成及びエンコードするステップと、変換カーネルマトリックスを選択するステップと、RSTを適用する条件に該当する場合、選択された変換カーネルマトリックス及び/又は簡素化ファクタに基づいてレジデュアルサンプルに対してRSTを適用するステップとを含む。このとき、簡素化変換カーネルマトリックスのサイズは簡素化ファクタに基づいて決定される。
【0245】
一実施形態によるエンコード装置200は、対象ブロックに対する修正された変換係数に基づいて量子化を行って量子化された変換係数を導出し、量子化された変換係数に関する情報をエンコードする(S1050)。
【0246】
より具体的に、エンコード装置200は、量子化された変換係数に関する情報を生成し、生成された量子化された変換係数に関する情報をエンコードする。
【0247】
一例示において、量子化された変換係数に関する情報は、RSTが適用されるか否かに関する情報、簡素化ファクタに関する情報、RSTを適用する最小変換サイズに関する情報及びRSTを適用する最大変換サイズに関する情報のうち少なくとも1つを含む。
【0248】
S1040を参照すると、レジデュアルサンプルに対するRSTに基づいて対象ブロックに対する変換係数が導出されることを確認できる。変換カーネルマトリックスのサイズ観点から検討すると、通常の変換カーネルマトリックスのサイズはN×Nであるが、簡素化変換マトリックスのサイズはR×Nに減少するので、通常の変換を行う場合と比較するとRSTを行うときにメモリ使用をR/Nの割合に減少させることができる。また、通常の変換カーネルマトリックスを利用するときの乗算演算数N×Nと比較すると、簡素化変換カーネルマトリックスを用いると乗算演算数をR/Nの割合に減少(R×N)させることができる。さらに、RSTが適用されると、R個の変換係数のみが導出されるので、通常の変換が適用されるとき、N個の変換係数が導出されることと比較すると、対象ブロックに対する変換係数の総数がN個からR個に減少してエンコード装置200がデコード装置300に送信するデータの量が減少する。まとめると、S1040によれば、RSTによりエンコード装置200の変換効率及びコーディング効率が増加することができる。
【0249】
図11は、本文書の一実施形態による変換インデックスのエンコードを含む非分離変換方法を説明するための制御フローチャートである。
【0250】
まず、エンコード装置200は、対象ブロックに適用されるイントラ予測モードによるマッピング関係に基づいて変換セットを決定する(S1100)。
【0251】
エンコード装置200は、前記変換セットに基づく非分離変換の前にMTS に基づく1次変換を行い、どのMTSが使用されたかを指示するMTSインデックスが生成される。
【0252】
その後、変換部232は変換セットに含まれる変換カーネルマトリックスのいずれか1つに基づいて、RST、すなわち非分離変換を行うことにより変換係数を導出する(S1110)。
【0253】
本実施形態において、変換係数は1次変換後に2次変換が行われた修正された変換係数であり、変換セットそれぞれには2つの変換カーネルマトリックスが含まれる。
【0254】
このようにRSTが行われると、RSTに対する情報がエントロピーエンコード部240においてエンコードされる。
【0255】
まず、エントロピーエンコード部240は、変換セットに含まれる変換カーネルマトリックスのいずれか1つを指示する変換インデックスに対するシンタックス要素値を導出する(S1120)。
【0256】
本実施形態による変換インデックスのシンタックス要素は、(逆)RSTが適用されるか否か及び変換セットに含まれる変換カーネルマトリックスのいずれか1つを指示することができ、変換セットが2つの変換カーネルマトリックスを含む場合、変換インデックスのシンタックス要素の値は3つであり得る。
【0257】
一実施形態によって、変換インデックスに対するシンタックス要素値は、対象ブロックに(逆)RSTが適用されない場合を指示する0、変換カーネルマトリックスの1番目の変換カーネルマトリックスを指示する1、変換カーネルマトリックスの2番目の変換カーネルマトリックスを指示する2として導出される。
【0258】
その後、エントロピーエンコード部240は、導出された変換インデックスに対するシンタックス要素値を二進化する(S1130)。
【0259】
エントロピーエンコード部240は、3つの変換インデックスに対するシンタックス要素値をトランケーテッドユーナリコード方式によって0、10、11に二進化する。すなわち、シンタックス要素に対する値0は「0」に、シンタックス要素に対する値1は「10」に、シンタックス要素に対する値2は「11」に二進化され、エントロピーエンコード部240は導出された変換インデックスに対するシンタックス要素に対して「0」、「10」、及び「11」のいずれか1つに二進化することができる。
【0260】
エントロピーエンコード部240は、MTSインデックス値及び対象ブロックのツリータイプに応じて変換インデックスのビンストリングに対するコンテキスト情報、すなわち、コンテキストモデルを導出し(S1140)、コンテキスト情報に基づいてシンタックス要素ビンストリングのビンをエンコードする(S1150)。
【0261】
本実施形態によれば、変換インデックスの2つのビンに対してそれぞれ異なるコンテキスト情報を適用することができる。すなわち、変換インデックスの2つのビンは両方ともバイパス方式ではないコンテキスト方式でエンコードされ、変換インデックスに対するシンタックス要素のビンのうち1番目のビンは第1コンテキスト情報に基づいてエンコードされ、変換インデックスに対するシンタックス要素のビンのうち2番目のビンは第2コンテキスト情報に基づいてエンコードされる。
【0262】
また、他の例によれば、変換インデックスの2つのビンの1番目のビンはコンテキスト方式でエンコードされ、2番目のビンはバイパス方式でエンコードされる。
【0263】
このようなコンテキスト情報、特に1番目のビンに対する第1コンテキスト情報は、MTSインデックス値及び対象ブロックのツリータイプに応じて異なる値として導出できる。
【0264】
例えば、対象ブロックのツリータイプはルマブロックと対応する色差ブロックが個別の分割構造を有するか否かによってシングルツリー(SINGLE_TREE)又はデュアルツリー(DUAL_TREE)に区分される。色差ブロックがルマブロックと同一の分割構造を有する場合はシングルツリーと、色差成分ブロックがルーマ成分ブロックと異なる分割構造を有する場合はデュアルツリーと表すことができる。ツリータイプがシングルツリーであると、変換インデックスコーディング時に第1コンテキスト情報が使用され、ツリータイプがデュアルツリーであると、変換インデックスコーディング時に第2コンテキスト情報が使用される。
【0265】
また、第1コンテキスト情報は、MTSインデックス値に基づいて異なる値として導出され、一例によれば、MTSインデックスが0であり、ツリータイプがシングルツリータイプでない場合は1として導出され、それ以外の場合、すなわち、MTSインデックスが0でないか、ツリータイプがシングルツリータイプである場合は0として導出される。
【0266】
一方、変換インデックスデコード時にMTSインデックスが生成されていないか、エンコードされていない場合、MTSインデックスは0とみなされる。この場合、変換インデックスはMTSインデックスが0である条件を満足するので、ツリータイプがシングルツリータイプでない場合は1として導出され、ツリータイプがシングルツリータイプである場合は0として導出される。
【0267】
まとめると、エントロピーエンコード部240は、トランケーテッドユーナリコード方式で二進化したビンストリングを導出し、コンテキスト情報に基づいて当該二進化値に対する変換インデックスのシンタックス要素をエンコードする。
【0268】
本文書において量子化/逆量子化及び/又は変換逆変換のうち少なくとも1つは省略できる。前記量子化/逆量子化が省略される場合、前記量子化された変換係数は変換係数と呼ばれてもよい。前記変換/逆変換が省略される場合、前記変換係数は係数又はレジデュアル係数と呼ばれてもよく、又は表現の統一性のために依然として変換係数と呼ばれてもよい。
【0269】
また、本文書において量子化された変換係数及び変換係数は、それぞれ変換係数及びスケーリングされた(scaled)変換係数と呼ばれる。この場合、レジデュアル情報は、変換係数(ら)に関する情報を含み、前記変換係数(ら)に関する情報は、レジデュアルコーディングシンタックスを介してシグナリングされる。前記レジデュアル情報(または前記変換係数(ら)に関する情報)に基づいて変換係数が導出され、前記変換係数に対する逆変換(スケーリング)によりスケーリングされた変換係数が導出される。前記スケーリングされた変換係数に対する逆変換(変換)に基づいてレジデュアルサンプルを導出できる。これは本文書の他の部分においても同様に適用/表現できる。
【0270】
前述の実施形態において、方法は一連のステップ又はブロックとしてフローチャートに基づいて説明されているが、本文書はステップに限定されるものではなく、あるステップは、前述とは異なるステップと異なる順序で又は同時に発生し得る。また、当業者であれば、フローチャートに示されたステップが排他的でなく、他のステップが含まれるかフローチャートの1つ又はそれ以上のステップが本文書の範囲に影響を及ぼすことなく削除できることも理解できるだろう。
【0271】
前述の本文書による方法は、ソフトウェア形態で実現でき、本文書によるエンコード装置及び/又はデコード装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの映像処理を行う装置に含まれることができる。
【0272】
本文書において、実施形態がソフトウェアとして実現されるとき、前述の方法は前述の機能を行うモジュール(プロセス、機能など)で実現されることができる。モジュールはメモリに格納され、プロセッサにより実行できる。メモリはプロセッサの内部又は外部にあり、よく知られた様々な手段でプロセッサと連結できる。プロセッサはASIC(application-specific integrated circuit)、他のチップセット、論理回路及び/又はデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体及び/又は他の格納装置を含むことができる。すなわち、本文書で説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で実現されて行われることができる。例えば、各図面で示した機能ユニットはコンピュータ、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で実現されて行われることができる。
【0273】
また、本文書が適用されるデコード装置及びエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、運送手段端末(例えば、車両端末、飛行機端末、船舶端末等)、及び医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために使用されることができる。例えば、OTTビデオ(Over the top video)装置として、ゲームコンソール、ブルーレイプレーヤ、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを含むことができる。
【0274】
また、本文書が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に格納されることができる。本文書に係るデータ構造を有するマルチメディアデータもコンピュータが読み取り可能な記録媒体に格納されることができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読み出すことができるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを介しての送信)の形態で具現されたメディアを含む。また、エンコード方法で生成されたビットストリームがコンピュータが読み取り可能な記録媒体に格納されるか、または有無線通信ネットワークを介して送信されることができる。また、本文書の実施形態は、プログラムコードによるコンピュータプログラム製品で具現されることができ、前記プログラムコードは、本文書の実施形態によってコンピュータで実行されることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリア上に格納されることができる。
【0275】
図12は、本文書が適用されるコンテンツストリーミングシステム構造図を例示的に示す。
【0276】
また、本文書が適用されるコンテンツストリーミングシステムは、大別して、エンコーディングサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置、及びマルチメディア入力装置を含むことができる。
【0277】
前記エンコーディングサーバは、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。他の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコーディングサーバは省略されることができる。前記ビットストリームは、本文書が適用されるエンコード方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信または受信する過程で一時的に前記ビットストリームを格納することができる。
【0278】
前記ストリーミングサーバは、ウェブサーバを介したユーザ要求に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要求すると、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
【0279】
前記ストリーミングサーバは、メディア格納所及び/又はエンコーディングサーバからコンテンツを受信することができる。例えば、前記エンコーディングサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間格納することができる。
【0280】
前記ユーザ装置の例として、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイニジなどがある。前記コンテンツストリーミングシステム内の各サーバは、分散サーバで運営されることができ、この場合、各サーバで受信するデータは分散処理されることができる。
【0281】
本明細書に記載された請求項は様々な方式で組み合わせることができる。例えば、本明細書の方法請求項の技術的特徴が組み合わせられて装置として実現されることもでき、本明細書の装置請求項の技術的特徴が組み合わせられて方法として実現されることもできる。また、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせられて装置として実現されることもでき、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせられて方法として実現されることもできる。
【手続補正書】
【提出日】2021-11-30
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコード装置により行われる映像デコード方法において、
レジデュアル情報を含むビットストリームを受信するステップと、
前記レジデュアル情報に基づいて対象ブロックに対する変換係数を導出するステップと、
前記変換係数に対する逆非分離変換に基づいて修正された変換係数を導出するステップと、
前記修正された変換係数に対する逆1次変換に基づいて前記対象ブロックに対するレジデュアルサンプルを導出するステップと、
前記対象ブロックに対するレジデュアルサンプルに基づいて復元ピクチャを生成するステップとを含み、
前記逆非分離変換は所定の変換カーネルマトリックスを指示する変換インデックスに基づいて行われ、前記逆1次変換は水平変換カーネル及び垂直変換カーネルに対する多重変換選択(Multiple Transform Selection:MTS)を指示するMTSインデックスに基づいて行われ、
前記対象ブロックの分割構造に対するツリータイプがシングルツリータイプでないことに基づいて、前記変換インデックスに
のシンタックス要素ビンストリング
は、第1コンテキスト情報に基づいて導出され、前記ツリータイプが前記シングルツリータイプである
ことに基づいて、前記変換インデックスにの前記シンタックス要素ビンストリングは、第2コンテキスト情報に基づいて導出され
る、映像デコード方法。
【請求項2】
前記MTSインデックスが0の値を有し、前記ツリータイプが前記シングルツリータイプでない場合に基づいて、前記変換インデックス
のシンタックス要素ビンストリング
は、前記第1コンテキスト情報に基づいて導出され
る、請求項1に記載の映像デコード方法。
【請求項3】
前記MTSインデックスが受信されない
場合に基づいて、前記MTSインデック
スは0の値を有するとされる、請求項2に記載の映像デコード方法。
【請求項4】
前記MTSインデックスが受信されず、前記ツリータイプが前記シングルツリータイプでない場合に基づいて、前記変換インデックス
のシンタックス要素ビンストリング
は、前記第1コンテキスト情報に基づいて導出される、請求項1に記載の映像デコード方法。
【請求項5】
前記変換カーネルマトリックスは、前記対象ブロックに適用されるイントラ予測モードに
対応するマッピング関係に基づいて決定される変換セットに含まれ、
前記変換インデックスは、前記逆非分離変換が適用されるか否か及び前記変換セットに含まれる前記変換カーネルマトリックスのいずれか1つを指示す
る、請求項1に記載の映像デコード方法。
【請求項6】
前記第1コンテキスト情報又は前記第2コンテキスト情報に基づいて前記変換インデックス
の前記シンタックス要素ビンストリングのビンをデコードするステップと、
前記変換インデックス
のシンタックス要素の値を導出するステップとをさらに含む、請求項5に記載の映像デコード方法。
【請求項7】
前記シンタックス要素
の値は、前記対象ブロックに前記逆非分離変換が適用されない
ことを指示する0、前記変換カーネルマトリックス
の1番目の変換カーネルマトリックスを指示する1、
及び前記変換カーネルマトリックス
の2番目の変換カーネルマトリックスを指示する2のいずれか1つを含み、
前記シンタックス要素
の値はトランケーテッドユーナリコードに二進化され、
前記シンタックス要素
の値0は「0」に
二進化され、前記シンタックス要素
の値1は「10」に
二進化され、前記シンタックス要素
の値2は「11」に二進化され
る、請求項6に記載の映像デコード方法。
【請求項8】
映像エンコード装置により行われる映像エンコード方法において、
対象ブロックに対する予測サンプルを導出するステップと、
前記予測サンプルに基づいて前記対象ブロックに対するレジデュアルサンプルを導出するステップと、
水平変換カーネル及び垂直変換カーネル
の多重変換選択(Multiple Transform Selection:MTS)に基づいて前記レジデュアルサンプルから前記対象ブロックに対する変換係数を導出するステップと、
非分離変換のための所定の変換カーネルマトリックスに基づいて前記変換係数から修正された変換係数を導出するステップと、
前記MTSを指示するMTSインデックス又は前記変換カーネルマトリックスを指示する変換インデックスをエンコードするステップとを含み、
前記対象ブロックの分割構造に対するツリータイプがシングルツリータイプでないことに基づいて、前記変換インデックス
のシンタックス要素ビンストリング
は、第1コンテキスト情報に基づいて導出され、前記ツリータイプが前記シングルツリータイプである
ことに基づいて、前記変換インデックスの前記シンタックス要素ビンストリングは、第2コンテキスト情報に基づいて導出され
る、映像エンコード方法。
【請求項9】
前記MTSインデックスが0値を有し、前記ツリータイプが前記シングルツリータイプでないことに基づいて、前記変換インデックス
のシンタックス要素ビンストリングは、
前記第1コンテキスト情報に基づいて導出され
る、請求項8に記載の映像エンコード方法。
【請求項10】
前記MTSインデックスがエンコードされない
場合に基づいて、前記MTSインデック
スは0値を有するとされる、請求項9に記載の映像エンコード方法。
【請求項11】
前記MTSインデックスがエンコードされず、前記ツリータイプが前記シングルツリータイプでない場合に基づいて、前記変換インデックス
の前記シンタックス要素ビンストリング
は、前記第1コンテキスト情報に基づいて導出され
る、請求項8に記載の映像エンコード方法。
【請求項12】
前記変換カーネルマトリックスは、前記対象ブロックに適用されるイントラ予測モードによるマッピング関係に基づいて決定される変換セットに含まれ、
前記変換インデックス
は、逆非分離変換が適用されるか否か及び前記変換セットに含まれる前記変換カーネルマトリックスのいずれか1つを指示す
る、請求項8に記載の映像エンコード方法。
【請求項13】
前記変換インデックス
のシンタックス要素の値を導出するステップと、
前記第1コンテキスト情報又は前記第2コンテキスト情報に基づいて前記変換インデックス
のシンタックス要素ビンストリングのビンをエンコードするステップとをさらに含む、請求項12に記載の映像エンコード方法。
【請求項14】
前記シンタックス要素
の値は、前記対象ブロックに前記
逆非分離変換が適用されない
ことを指示する0、前記変換カーネルマトリックス
の1番目の変換カーネルマトリックスを指示する1、前記変換カーネルマトリックス
の2番目の変換カーネルマトリックスを指示する2のいずれか1つを含み、
前記シンタックス要素
の値はトランケーテッドユーナリコードに二進化され、前記シンタックス要素
の値0は「0」
に進化され、前記シンタックス要素
の値1は「10」に
二進化され、前記シンタックス要素
の値2は「11」に二進化され
る、請求項13に記載の映像エンコード方法。
【請求項15】
ビットストリームを取得するステップであって、前記ビットストリームは、ターゲットブロックに対する予測サンプルを導出し、前記予測サンプルに基づいて前記ターゲットブロックに対するレジデュアルサンプルを導出し、水平変換カーネルと垂直変換カーネルの多重変換選択(Multiple Transform Selection:MTS)に基づいて、前記レジデュアルサンプルから前記ターゲットブロックに対する変換係数を導出し、非分離変換に対する所定の変換カーネルマトリクスに基づいて前記変換係数から修正変換係数を導出し、前記ビットストリームを生成するために前記MTSを示すMTSインデックス又は前記変換カーネルマトリクスを示す変換インデックスをエンコードすることにより生成される、ステップと、
前記ビットストリームを送信するステップであって、前記ターゲットブロックの分離構造のツリータイプがシングルツリータイプでないことに基づいて、前記変換インデックスのシンタックスエレメントビンストリングが1番目のコンテキスト情報に基づい導出され、前記ツリータイプが前記シングルツリータイプでないことに基づいて、前記変換インデックスの前記シンタックスエレメントビンストリングは2番目のコンテキスト情報に基づいて導出される、ステップを含む、方法。
【国際調査報告】