(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024102326
(43)【公開日】2024-07-30
(54)【発明の名称】二次変換に基づく映像コーディング方法、及びその装置
(51)【国際特許分類】
H04N 19/12 20140101AFI20240723BHJP
H04N 19/176 20140101ALI20240723BHJP
H04N 19/70 20140101ALI20240723BHJP
【FI】
H04N19/12
H04N19/176
H04N19/70
【審査請求】有
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2024078414
(22)【出願日】2024-05-14
(62)【分割の表示】P 2022204366の分割
【原出願日】2019-12-05
(31)【優先権主張番号】62/775,914
(32)【優先日】2018-12-06
(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)【発明者】
【氏名】キム スンファン
(57)【要約】 (修正有)
【課題】映像/ビデオ圧縮の効率を高め、2次変換の効率を高め、映像コーディングの効率を高める映像コーディング方法及び装置を提供する。
【解決手段】方法は、対象ブロックに対する量子化された変換係数に基づいて、逆量子化を介して変換係数を導出し、変換係数に対する逆RSTに基づいて、修正された変換係数を導出し、修正された変換係数に対する逆1次変換に基づいて、対象ブロックに対するレジデュアルサンプルに基づいて復元ピクチャを生成する。逆RSTは、対象ブロックに適用されるイントラ予測モードによるマッピング関係に基づいて決定される変換セット及び変換セットそれぞれに含まれる2つの変換カーネルマトリックスのうち選択された変換カーネルマトリックスに基づいて行われ、逆RSTが、適用されるか否か及び変換セットに含まれた変換カーネルマトリックスの何れか一つを指示する変換インデックスに基づいて行われる。
【選択図】
図9
【特許請求の範囲】
【請求項1】
デコーディング装置により行われる映像デコーディング方法において、
ビットストリームから対象ブロックに対する量子化された変換係数を導出するステップと、
前記対象ブロックに対する量子化された変換係数に基づいて、逆量子化を介して変換係数を導出するステップと、
前記変換係数に対する逆2次変換(secondary transform)に基づいて、修正された変換係数を導出するステップと、
前記修正された変換係数に対する逆1次変換に基づいて、前記対象ブロックに対するレジデュアルサンプルを導出するステップと、
前記対象ブロックに対するレジデュアルサンプルに基づいて、復元ピクチャを生成するステップとを含み、
前記修正された変換係数を導出するステップは、
変換カーネルマトリクスを導出ステップと、
前記変換係数と前記変換カーネルマトリクスの行列演算を実行するステップとを含み、
前記変換カーネルマトリクスは変換インデックスと変換セットに基づいて導出され、
前記変換インデックスは、前記逆2次変換が前記対象ブロックに適用されないことを示す第1インデックス情報と、第1変換カーネルマトリクスを前記逆2次変換に対する変換カーネルマトリクスとして示す第2インデックス情報と、2次変換カーネルマトリクスを前記逆2次変換に対する前記変換カーネルマトリクスとして示す第3インデックス情報の少なくとも一つを表し、
前記変換セットは前記対象ブロックのイントラ予測モードに基づいて決定され、
前記対象ブロックのイントラ予測モードは4つの変換セットの一つにマッピングされ、
前記変換インデックスに対するシンタックス要素のビンストリングに対する第1ビンは、第1コンテキスト情報に基づいてデコードされ、前記変換インデックスに対するシンタックス要素のビンストリングに対する第2ビンは、第2コンテキスト情報に基づいてデコードされる、映像デコーディング方法。
【請求項2】
映像エンコーディング装置により行われる映像エンコーディング方法において、
対象ブロックに適用されるイントラ予測モードに基づいて予測サンプルを導出するステップと、
前記予測サンプルに基づいて前記対象ブロックに対するレジデュアルサンプルを導出するステップと、
前記レジデュアルサンプルに対する1次変換に基づいて、前記対象ブロックに対する変換係数を導出するステップと、
前記変換係数の2次変換に基づいて、修正された変換係数を導出ステップと、
前記修正された変換係数に基づいて量子化を行うことにより、量子化された変換係数を導出するステップと、
変換カーネルマトリクスに関連する変換インデックスをエンコーディングするステップと、を含み、
前記修正された変換係数を導出するステップは、
変換セットと前記変換カーネルマトリクスを決定するステップと、
前記変換係数と前記変換カーネルマトリクスの行列演算を実行するステップとを含み、
前記変換インデックスは、前記2次変換が前記対象ブロックに適用されないことを示す第1インデックス情報と、第1変換カーネルマトリクスを前記2次変換に対する変換カーネルマトリクスとして示す第2インデックス情報と、2次変換カーネルマトリクスを前記2次変換に対する前記変換カーネルマトリクスとして示す第3インデックス情報の少なくとも一つを表し、
前記変換セットは前記対象ブロックのイントラ予測モードに基づいて決定され、
前記対象ブロックのイントラ予測モードは4つの変換セットの一つにマッピングされ、
前記変換インデックスに対するシンタックス要素のビンストリングに対する第1ビンは、第1コンテキスト情報に基づいてエンコードされ、前記変換インデックスに対するシンタックス要素のビンストリングに対する第2ビンは、第2コンテキスト情報に基づいてエンコードされる、映像エンコーディング方法。
【請求項3】
映像に対するデータを送信する方法であって、
前記映像に対するビットストリームを取得するステップであって、前記ビットストリームは、対象ブロックに適用されたイントラ予測モードに基づいて予測サンプルを導出し、前記予測サンプルに基づいて前記対象ブロックに対するレジデュアルサンプルを導出し、前記レジデュアルサンプルに対する1次変換に基づいて前記対象ブロックに対する変換係数を導出し、前記変換係数の2次変換に基づいて修正変換係数を導出し、前記修正変換係数に基づいて量子化することにより量子化変換係数を導出し、前記ビットストリームを生成するために前記量子化された変換係数に関連するレジデュアル情報と変換カーネルマトリクスに関連する変換インデックスを含む映像情報を符号化することに基づいて生成される、ステップと、
前記ビットストリームを含む前記データを送信するステップを含み、
前記修正変換係数を導出することは、
変換セットと前記変換カーネルマトリクスを決定することと、
前記変換係数と前記変換カーネルマトリクスの行列演算を実行することを含み、
前記変換インデックスは、前記2次変換が前記対象ブロックに適用されないことを示す第1インデックス情報と、第1変換カーネルマトリクスを前記2次変換に対する変換カーネルマトリクスとして示す第2インデックス情報と、2次変換カーネルマトリクスを前記2次変換に対する前記変換カーネルマトリクスとして示す第3インデックス情報の少なくとも一つを表し、
前記変換セットは前記対象ブロックのイントラ予測モードに基づいて決定され、
前記対象ブロックのイントラ予測モードは4つの変換セットの一つにマッピングされ、
前記変換インデックスに対するシンタックス要素のビンストリングに対する第1ビンは、第1コンテキスト情報に基づいてエンコードされ、前記変換インデックスに対するシンタックス要素のビンストリングに対する第2ビンは、第2コンテキスト情報に基づいてエンコードされる、データを送信する方法。
【発明の詳細な説明】
【技術分野】
【0001】
本文書は、映像コーディング技術に関し、より詳細には、映像コーディングシステムにおいて変換(transform)に基づく映像コーディング方法、及びその装置に関する。
【背景技術】
【0002】
最近、4K又は8K以上のUHD(Ultra High Definition)映像/ビデオのような高解像度、高品質の映像/ビデオに対する需要が様々な分野で増加している。映像/ビデオデータが高解像度、高品質になるほど、従来の映像/ビデオデータに比べて相対的に送信される情報量またはビット量が増加するため、従来の有無線広帯域回線のような媒体を利用して映像データを送信するか、または既存の保存媒体を利用して映像/ビデオデータを保存する場合、送信コストと保存コストが増加する。
【0003】
また、最近、VR(Virtual Reality)、AR(Artificial Realtiy)コンテンツやホログラムなどの実感メディア(Immersive Media)に対する関心及び需要が増加しており、ゲーム映像のように現実映像と異なる映像特性を有する映像/ビデオに対する放送が増加している。
【0004】
そのため、前記のような多様な特性を有する高解像度高品質の映像/ビデオの情報を効果的に圧縮して送信または保存し、再生するために、高効率の映像/ビデオ圧縮技術が要求される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本文書の技術的課題は、映像のコーディング効率を高める方法及び装置を提供することにある。
【0006】
本文書の別の技術的課題は、変換効率を高める方法及び装置を提供することにある。
【0007】
本文書のまた別の技術的課題は、変換インデックスのコーディングを通じて、2次変換の効率を高める方法及び装置を提供することにある。
【0008】
本文書のまた別の技術的課題は、RST(reduced secondary transform)に基づく映像コーディング方法及び装置を提供することにある。
【0009】
本文書のまた別の技術的課題は、コーディングの効率を増加させることができる変換セットに基づく映像コーディング方法及び装置を提供することにある。
【課題を解決するための手段】
【0010】
本文書の一実施例によれば、デコーディング装置により行われる映像デコーディング方法を提供する。前記方法は、ビットストリームから対象ブロックに対する量子化された変換係数を導出するステップと、前記対象ブロックに対する量子化された変換係数に基づいて、逆量子化を介して変換係数を導出するステップと、前記変換係数に対する逆RST(reduced secondary transform)に基づいて、修正された変換係数を導出するステップと、前記修正された変換係数に対する逆1次変換に基づいて、前記対象ブロックに対するレジデュアルサンプルを導出するステップと、前記対象ブロックに対するレジデュアルサンプルに基づいて、復元ピクチャを生成するステップとを含み、前記逆RSTは、前記対象ブロックに適用されるイントラ予測モードによるマッピング関係に基づいて決定される変換セット、及び前記変換セットそれぞれに含まれる2つの変換カーネルマトリックスのうち選択された変換カーネルマトリックスに基づいて行われ、前記逆RSTが適用されるか否か、及び前記変換セットに含まれた前記変換カーネルマトリックスのいずれか一つを指示する変換インデックスに基づいて行われることができる。
【0011】
本文書の別の一実施例によれば、映像デコーディングを行うデコーディング装置が提供される。前記デコーディング装置は、ビットストリームから対象ブロックに対する量子化された変換係数及び予測に対する情報を導出するエントロピーデコーディング部と、前記予測に対する情報に基づいて、対象ブロックに対する予測サンプルを生成する予測部と、前記対象ブロックに対する量子化された変換係数に基づいて、逆量子化を介して変換係数を導出する逆量子化部と、前記変換係数に対する逆RST(reduced secondary transform)に基づいて、修正された変換係数を導出する逆RST部と、前記修正された変換係数に対する逆1次変換に基づいて、前記対象ブロックに対するレジデュアルサンプルを導出する逆1次変換部を含む逆変換部と、前記レジデュアルサンプル及び前記予測サンプルに基づいて、復元サンプルを生成する加算部とを含み、前記逆RSTは、前記対象ブロックに適用されるイントラ予測モードによるマッピング関係に基づいて決定される変換セット、及び前記変換セットそれぞれに含まれる2つの変換カーネルマトリックスのうち選択された変換カーネルマトリックスに基づいて行われ、前記逆RSTが適用されるか否か、及び前記変換セットに含まれた前記変換カーネルマトリックスのいずれか一つを指示する変換インデックスに基づいて行われることを特徴とする。
【0012】
本文書の一実施例によれば、エンコーディング装置により行われる映像エンコーディング方法を提供する。前記方法は、対象ブロックに適用されるイントラ予測モードに基づいて、予測サンプルを導出するステップと、前記予測サンプルに基づいて、前記対象ブロックに対するレジデュアルサンプルを導出するステップと、前記レジデュアルサンプルに対する1次変換に基づいて、前記対象ブロックに対する変換係数を導出するステップと、前記変換係数に対するRST(reduced secondary transform)に基づいて、修正された変換係数を導出し、前記逆RSTは、前記対象ブロックにに適用されるイントラ予測モードによるマッピング関係に基づいて決定される変換セット、及び前記変換セットそれぞれに含まれる2つの変換カーネルマトリックスのうち選択された変換カーネルマトリックスに基づいて行われ、前記修正された変換係数に基づいて量子化を行い、量子化された変換係数を導出するステップと、前記RSTが適用されるか否か、及び前記変換セットに含まれた前記変換カーネルマトリックスのいずれか一つを指示する変換インデックスを生成することを特徴とする。
【0013】
本文書のまた別の一実施例によれば、エンコーディング装置により行われた映像エンコーディング方法によって生成されたエンコーディングされた映像情報が含まれた映像データが保存されたデジタル保存媒体が提供できる。
【0014】
本文書のまた別の一実施例によれば、デコーディング装置により前記映像デコーディング方法を行うように引き起こすエンコーディングされた映像情報が含まれた映像データが保存されたデジタル保存媒体が提供できる。
【発明の効果】
【0015】
本文書によれば、全般的な映像/ビデオ圧縮の効率を高めることができる。
【0016】
本文書によれば、変換インデックスのコーディングを介して2次変換の効率を高めることができる。
【0017】
本文書によれば、変換セットに基づいて映像コーディングを行い、映像コーディングの効率を高めることができる。
【図面の簡単な説明】
【0018】
【
図1】本文書が適用できるビデオ/映像コーディングシステムの例を概略的に示す。
【
図2】本文書が適用できるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。
【
図3】本文書が適用できるビデオ/映像デコーディング装置の構成を概略的に説明する図である。
【
図4】本文書の一実施例による多重変換技法を概略的に示す。
【
図5】65個の予測方向のイントラ方向性モードを例示的に示す。
【
図6】本文書の一実施例によるRSTを説明するための図である。
【
図7】本文書の一実施例による変換係数のスキャニング順序を示す図である。
【
図8】本文書の一実施例による逆RST過程を示すフローチャートである。
【
図9】本文書の一実施例によるビデオデコーディング装置の動作を示すフローチャートである。
【
図10】本文書の一実施例による逆RSTを説明するための制御フローチャートである。
【
図11】本文書の一実施例によるビデオエンコーディング装置の動作を示すフローチャートである。
【
図12】本文書の一実施例によるRSTを説明するための制御フローチャートである。
【
図13】本文書が適用されるコンテンツストリーミングシステムの構造図を例示的に示す。
【発明を実施するための形態】
【0019】
本文書は、多様な変更を加えることができ、様々な実施例を有することができるので、特定の実施例を図面に例示し、詳細に説明しようとする。しかし、これは、本文書を特定の実施例に限定しようとするものではない。本明細書において常用する用語は、ただ特定の実施例を説明するために使用されたものであって、本文書の技術的思想を限定しようとする意図として使用されるものではない。単数の表現は、文脈上明白に異なる意味ではない限り、複数の表現を含む。本明細書において「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定しようとすることであり、一つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたものの存在または付加可能性を予め排除しないものと理解されなければならない。
【0020】
一方、本文書において説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の便宜のために独立に示されたものであって、各構成が互いに別のハードウェアまたは別のソフトウェアにより実現されるということを意味しない。例えば、各構成のうち、2つ以上の構成を合わせて1つの構成をなすこともあり、1つの構成が複数の構成に分けられることもある。各構成が統合及び/または分離された実施例も、本文書の本質から逸脱しない限り、本文書の権利範囲に含まれる。
【0021】
以下、添付した図面を参照して、本文書の好ましい実施例をより詳細に説明しようとする。以下、図面上の同じ構成要素については同じ参照符号を使用し、同じ構成要素について重複した説明は省略する。
【0022】
本文書は、ビデオ/映像コーディングに関する。例えば、本文書で開示された方法/実施例は、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標準等)に関連し得る。
【0023】
本文書では、ビデオ/映像コーディングに関する多様な実施例を提示し、別の言及がない限り、前記実施例は互いに組み合わせて行うこともある。
【0024】
本文書で、ビデオ(video)は、時間の流れによる一連の映像(image)の集合を意味することができる。ピクチャ(picture)は、一般的に特定時間帯の1つの映像を示す単位を意味し、スライス(slice)/タイル(tile)は、コーディングにおいてピクチャの一部を構成する単位である。スライス/タイルは、1つ以上のCTU(coding tree unit)を含むことができる。1つのピクチャは、1つ以上のスライス/タイルで構成されることができる。1つのピクチャは、1つ以上のタイルグループで構成されることができる。1つのタイルグループは、1つ以上のタイルを含むことができる。
【0025】
ピクセル(pixel)又はペル(pel)は、1つのピクチャ(又は映像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用できる。サンプルは、一般的にピクセル又はピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。又は、サンプルは、空間ドメインでのピクセル値を意味することもでき、このようなピクセル値が周波数ドメインに変換されると、周波数ドメインでの変換係数を意味することもできる。
【0026】
ユニット(unit)は、映像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び該当領域に関する情報の少なくとも一つを含むことができる。1つのユニットは、1つのルマブロック及び2つのクロマ(例えば、cb,cr)ブロックを含むことができる。ユニットは、場合に応じて、ブロック(block)又は領域(area)等の用語と混用して使用されてもよい。一般的な場合、MxNのブロックは、M個の列とN個の行とからなるサンプル(又はサンプルアレイ)又は変換係数(transform coefficient)の集合(又はアレイ)を含むことができる。
【0027】
この文書で、「/」と「、」は、「及び/又は」と解釈される。例えば、「A/B」は「A及び/又はB」と解釈され、「A、B」は「A及び/又はB」と解釈される。さらに、「A/B/C」は、「A、B及び/又はCの少なくとも一つ」を意味する。また、「A、B、C」も「A、B及び/又はCの少なくとも一つ」を意味する。(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.”)
【0028】
さらに、本文書で、「又は」は「及び/又は」と解釈される。例えば、「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.”)
【0029】
図1は、本文書が適用できるビデオ/映像コーディングシステムの例を概略的に示す。
【0030】
図1を参照すると、ビデオ/映像コーディングシステムは、ソースデバイス及び受信デバイスを含むことができる。ソースデバイスは、エンコーディングされたビデオ(video)/映像(image)情報又はデータをファイル又はストリーミングの形態でデジタル保存媒体又はネットワークを介して受信デバイスに伝達できる。
【0031】
前記ソースデバイスは、ビデオソース、エンコーディング装置、送信部を含むことができる。前記受信デバイスは、受信部、デコーディング装置、及びレンダラーを含むことができる。前記エンコーディング装置は、ビデオ/映像エンコーディング装置と呼ばれ得、前記デコーディング装置は、ビデオ/映像デコーディング装置と呼ばれ得る。送信機は、エンコーディング装置に含まれ得る。受信機は、デコーディング装置に含まれ得る。レンダラーはディスプレイ部を含んでもよく、ディスプレイ部は別のデバイス又は外部コンポーネントで構成されてもよい。
【0032】
ビデオソースは、ビデオ/映像のキャプチャー、合成又は生成過程等を介してビデオ/映像を獲得することができる。ビデオソースは、ビデオ/映像のキャプチャーデバイス及び/又はビデオ/映像の生成デバイスを含むことができる。ビデオ/映像のキャプチャーデバイスは、例えば、1つ以上のカメラ、以前にキャプチャーされたビデオ/映像を含むビデオ/映像のアーカイブ等を含むことができる。ビデオ/映像の生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォン等を含むことができ、(電子的に)ビデオ/映像を生成することができる。例えば、コンピュータ等を介して仮想のビデオ/映像が生成でき、この場合、関連データが生成される過程としてビデオ/映像のキャプチャー過程に代えることができる。
【0033】
エンコーディング装置は、入力ビデオ/映像をエンコーディングすることができる。エンコーディング装置は、圧縮及びコーディングの効率のために、予測、変換、量子化等一連の手続を行うことができる。エンコーディングされたデータ(エンコーディングされたビデオ/映像情報)は、ビットストリーム(bitstream)の形態で出力されることができる。
【0034】
送信部は、ビットストリームの形態で出力されたエンコーディングされたビデオ/映像情報又はデータをファイル又はストリーミングの形態でデジタル保存媒体又はネットワークを介して、受信デバイスの受信部に伝達することができる。デジタル保存媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSD等多様な保存媒体を含むことができる。送信部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介した送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出し、デコーディング装置に伝達することができる。
【0035】
デコーディング装置は、エンコーディング装置の動作に対応する逆量子化、逆変換、予測等一連の手続を行い、ビデオ/映像をデコーディングすることができる。
【0036】
レンダラーは、デコーディングされたビデオ/映像をレンダリングすることができる。レンダリングされたビデオ/映像はディスプレイ部を介してディスプレイされることができる。
【0037】
図2は、本文書が適用できるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。以下、ビデオエンコーディング装置とは、映像エンコーディング装置を含むことができる。
【0038】
図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を内/外部コンポーネントとしてさらに含むこともできる。
【0039】
映像分割部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)を誘導する単位であってもよい。
【0040】
ユニットは、場合に応じて、ブロック(block)又は領域(area)等の用語と混用して使用してもよい。一般的な場合、MxNのブロックは、M個の列とN個の行とからなるサンプル又は変換係数(transform coefficient)の集合を示すことができる。サンプルは、一般的にピクセル又はピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すこともでき、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(又は映像)をピクセル(pixel)又はペル(pel)に対応する用語として使用されることができる。
【0041】
減算部231は、入力映像信号(原本ブロック、原本サンプル又は原本サンプルアレイ)で予測部220から出力された予測信号(予測されたブロック、予測サンプル又は予測サンプルアレイ)を減算し、レジデュアル信号(レジデュアルブロック、レジデュアルサンプル又はレジデュアルサンプルアレイ)を生成することができ、生成されたレジデュアル信号は変換部232に送信される。予測部220は、処理対象ブロック(以下、現在ブロックという)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部220は、現在ブロック又はCU単位でイントラ予測が適用されるか、若しくはインター予測が適用されるか決定できる。予測部は、各予測モードに対する説明で後述するように、予測モード情報等の予測に関する多様な情報を生成してエントロピーエンコーディング部240に伝達することができる。予測に関する情報は、エントロピーエンコーディング部240でエンコーディングされ、ビットストリームの形態で出力されることができる。
【0042】
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbor)に位置してもよく、或いは離れて位置してもよい。イントラ予測における予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細密な程度によって、例えば、33個の方向性予測モード又は65個の方向性予測モードを含むことができる。但し、これは例示であって、設定に応じてそれ以上又はそれ以下の個数の方向性予測モードが使用できる。イントラ予測部222は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0043】
インター予測部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)をシグナリングすることによって、現在ブロックの動きベクトルを指示することができる。
【0044】
予測部220は、後述する多様な予測方法に基づいて予測信号を生成することができる。例えば、予測部は1つのブロックに対する予測のためにイントラ予測又はインター予測を適用することができるだけでなく、イントラ予測とインター予測を同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれ得る。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy、IBC)を行うことができる。前記イントラブロックコピーは、例えば、SCC(screen content coding)等のようにゲーム等のコンテンツ映像/動画のコーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点で、インター予測と同様に行われる。即ち、IBCは、本文書で説明されるインター予測技法の少なくとも一つを利用することができる。
【0045】
インター予測部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)を利用して予測信号を生成し、それに基づいて獲得される変換を意味する。また、変換過程は正方形の同じサイズを有するピクセルブロックに適用されてもよく、正方形ではない可変サイズのブロックに適用されてもよい。
【0046】
量子化部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に含まれてもよい。
【0047】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために利用されることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することによって、レジデュアル信号(レジデュアルブロック又はレジデュアルサンプル)を復元することができる。加算部250は、復元されたレジデュアル信号を予測部220から出力された予測信号に加えることによって、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプル、又は復元サンプルアレイ)が生成できる。スキップモードが適用された場合のように、処理対象のブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用できる。生成された復元信号は、現在ピクチャ内の次の処理対象のブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを経て、次のピクチャのインター予測のために使用されることもできる。
【0048】
一方、ピクチャエンコーディング及び/又は復元過程で、LMCS(luma mapping with chroma scaling)が適用されることもある。
【0049】
フィルタリング部260は、復元信号にフィルタリングを適用し、主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに多様なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ270、具体的にメモリ270のDPBに保存することができる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset、SAO)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)等を含むことができる。フィルタリング部260は、各フィルタリング方法に関する説明で後述するように、フィルタリングに関する多様な情報を生成してエントロピーエンコーディング部290へ伝達することができる。フィルタリング関する情報は、エントロピーエンコーディング部290でエンコーディングされて、ビットストリームの形態で出力されることができる。
【0050】
メモリ270に送信された修正された復元ピクチャは、インター予測部280で参照ピクチャとして使用できる。エンコーディング装置は、これを介してインター予測が適用される場合、エンコーディング装置200とデコーディング装置での予測のミスマッチを避けることができ、符号化の効率も向上させることができる。
【0051】
メモリ270のDPBは、修正された復元ピクチャをインター予測部221での参照ピクチャとして使用するために保存することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(又はエンコーディングされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を保存することができる。前記保存された動き情報は、空間的周辺ブロックの動き情報、又は時間的周辺ブロックの動き情報として活用するために、インター予測部221に伝達することができる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部222に伝達することができる。
【0052】
図3は、本文書が適用できるビデオ/映像デコーディング装置の構成を概略的に説明する図である。
【0053】
図3を参照すると、デコーディング装置300は、エントロピーデコーディング部(entropy decoder)310、レジデュアル処理部(residual processor)320、予測部(predictor)330、加算部(adder)340、フィルタリング部(filter)350、及びメモリ(memoery)360を含んで構成できる。予測部330は、インター予測部331及びイントラ予測部332を含むことができる。レジデュアル処理部320は、逆量子化部(dequantizer)321、及び逆変換部(inverse transformer)321を含むことができる。前述したエントロピーデコーディング部310、レジデュアル処理部320、予測部330、加算部340、及びフィルタリング部350は、実施例によって1つのハードウェアコンポーネント(例えば、デコーダチップセット又はプロセッサ)により構成されることができる。また、メモリ360は、DPB(decoded picture buffer)を含むことができ、デジタル保存媒体によって構成されることもできる。前記ハードウェアコンポーネントは、メモリ360を内/外部のコンポーネントにさらに含むこともできる。
【0054】
ビデオ/映像情報を含むビットストリームが入力されると、デコーディング装置300は、
図2のエンコーディング装置でビデオ/映像情報が処理されたプロセスに対応して、映像を復元することができる。例えば、デコーディング装置300は、前記ビットストリームから獲得したブロック分割に関する情報に基づいて、ユニット/ブロックを導出することができる。デコーディング装置300は、エンコーディング装置で適用された処理ユニットを利用してデコーディングを行うことができる。従って、デコーディングの処理ユニットは、例えば、コーディングユニットであってもよく、コーディングユニットは、コーディングツリーユニット又は最大のコーディングユニットからクアッドツリー構造、バイナリツリー構造及び/又はターナリーツリー構造に従って分割できる。コーディングユニットから1つ以上の変換ユニットが導出できる。また、デコーディング装置300を介してデコーディング及び出力された復元映像信号は再生装置を介して再生できる。
【0055】
デコーディング装置300は、
図2のエンコーディング装置から出力された信号をビットストリームの形態で受信することができ、受信された信号はエントロピーデコーディング部310を介してデコーディングできる。例えば、エントロピーデコーディング部310は、前記ビットストリームをパーシングして、映像復元(又はピクチャ復元)に必要な情報(例えば、ビデオ/映像情報)を導出することができる。前記ビデオ/映像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)等多様なパラメータセットに関する情報を更に含むことができる。また、前記ビデオ/映像情報は、一般制限情報(general constraint information)を更に含むことができる。デコーディング装置は、前記パラメータセットに関する情報及び/又は前記一般制限情報に基づいてさらにピクチャをデコーディングすることができる。本文書で後述されるシグナリング/受信される情報及び/又はシンタックス要素は、前記デコーディング手続を介してデコーディングされ、前記ビットストリームから獲得されることができる。例えば、エントロピーデコーディング部310は、指数ゴロム符号化、CAVLC又はCABAC等のコーディング方法に基づいてビットストリーム内の情報をデコーディングし、映像の復元に必要なシンタックス要素の値、レジデュアルに関する変換係数の量子化された値を出力することができる。より詳細に、CABACエントロピーデコーディング方法は、ビットストリームで各構文要素に該当するビンを受信し、デコーディング対象の構文要素情報と周辺及びデコーディング対象のブロックのデコーディング情報、又は以前段階でデコーディングされたシンボル/ビンの情報を利用してコンテキスト(context)モデルを決定し、決定されたコンテキストモデルによってビン(bin)の発生確率を予測し、ビンの算術デコーディング(arithmetic decoding)を行い、各構文要素の値に該当するシンボルを生成することができる。この際、CABACエントロピーデコーディング方法は、コンテキストモデルの決定後、次のシンボル/ビンのコンテキストモデルのためにデコーディングされたシンボル/ビンの情報を利用してコンテキストモデルをアップデートすることができる。エントロピーデコーディング部310でデコーディングされた情報のうちの予測に関する情報は、予測部330に提供され、エントロピーデコーディング部310でエントロピーデコーディングが行われたレジデュアルに対する情報、即ち、量子化された変換係数及び関連のパラメータ情報は、逆量子化部321に入力されることができる。また、エントロピーデコーディング部310でデコーディングされた情報のうちのフィルタリングに関する情報は、フィルタリング部350に提供されることができる。一方、エンコーディング装置から出力された信号を受信する受信部(図示せず)がデコーディング装置300の内/外部のエレメントとしてさらに構成されることができ、又は受信部はエントロピーデコーディング部310の構成要素であってもよい。一方、本文書によるデコーディング装置はビデオ/映像/ピクチャのデコーディング装置と呼ばれ得、前記デコーディング装置は、情報デコーダ(ビデオ/映像/ピクチャの情報デコーダ)及びサンプルデコーダ(ビデオ/映像/ピクチャのサンプルデコーダ)と区分してもよい。前記情報デコーダは、前記エントロピーデコーディング部310を含んでもよく、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、予測部330、加算部340、フィルタリング部350、及びメモリ360の少なくとも一つを含んでもよい。
【0056】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部321は、量子化された変換係数を2次元のブロックの形態で再整列することができる。この場合、前記再整列は、エンコーディング装置で行われた係数のスキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を獲得することができる。
【0057】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を獲得することになる。
【0058】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピーデコーディング部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか、又はインター予測が適用されるか決定することができ、具体的なイントラ/インター予測モードを決定することができる。
【0059】
予測部は、後述する多様な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のためにイントラ予測又はインター予測を適用することができるだけでなく、イントラ予測とインター予測を同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれ得る。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy、IBC)を行うこともできる。前記イントラブロックコピーは、例えば、SCC(screen content coding)等のようにゲーム等のコンテンツ映像/動画のコーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点で、インター予測と同様に行われる。即ち、IBCは、本文書で説明されるインター予測技法の少なくとも一つを利用することができる。
【0060】
イントラ予測部332は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbor)に位置してもよく、又は離れて位置してもよい。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードを含むことができる。イントラ予測部332は、周辺ブロックに適用された予測モードを利用して、現在ブロックに適用される予測モードを決定することもできる。
【0061】
インター予測部331は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づき、現在ブロックに対する予測されたブロックを誘導することができる。この際、インター予測モードで送信される動き情報の量を減らすために、周辺ブロックと現在ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)の情報をさらに含むことができる。インター予測の場合に、周辺ブロックは現在ピクチャ内に存在する空間的周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)とを含むことができる。例えば、インター予測部331は、周辺ブロックに基づいて動き情報の候補リストを構成し、受信した候補選択情報に基づいて、前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出することができる。多様な予測モードに基づいてインター予測が行われ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
【0062】
加算部340は、獲得されたレジデュアル信号を予測部330から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることによって、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように、処理対象のブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用できる。
【0063】
加算部340は、復元部又は復元ブロック生成部と呼ばれ得る。生成された復元信号は、現在ピクチャ内の次の処理対象のブロックのイントラ予測のために使用されることもあり、後述するように、フィルタリングを経て出力されることもあり、又は次のピクチャのインター予測のために使用されることもある。
【0064】
一方、ピクチャのデコーディング過程でLMCS(luma mapping with chroma scaling)が適用されることもある。
【0065】
フィルタリング部350は、復元信号にフィルタリングを適用し、主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに多様なフィルタリング方法を適用し、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ360、具体的にメモリ360のDPBに送信することができる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)等を含むことができる。
【0066】
メモリ360のDPBに保存された(修正された)復元ピクチャは、インター予測部331で参照ピクチャとして使用できる。メモリ360は、現在ピクチャ内の動き情報が導出された(又はデコーディングされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を保存することができる。前記保存された動き情報は、空間的周辺ブロックの動き情報又は時間的周辺ブロックの動き情報として活用するために、インター予測部331に伝達することができる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部332に伝達できる。
【0067】
本明細書で、デコーディング装置300の予測部330、逆量子化部321、逆変換部322、及びフィルタリング部350等で説明された実施例は、それぞれエンコーディング装置200の予測部220、逆量子化部234、逆変換部235、及びフィルタリング部260等にも同一又は対応するように適用できる。
【0068】
前述したように、ビデオコーディングを行うにあたって、圧縮効率を高めるために予測を行う。これを通じて、コーディングの対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、前記予測されたブロックは、空間ドメイン(又はピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコーディング装置及びデコーディング装置で同様に導出され、前記エンコーディング装置は、原本ブロックの原本サンプル値そのものではなく、前記原本ブロックと前記予測されたブロック間のレジデュアルに対する情報(レジデュアル情報)をデコーディング装置にシグナリングすることで、映像コーディングの効率を高めることができる。デコーディング装置は、前記レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックとを合わせて復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
【0069】
前記レジデュアル情報は、変換及び量子化手続を通じて生成できる。例えば、エンコーディング装置は、前記原本ブロックと前記予測されたブロック間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれたレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手続を行って変換係数を導出し、前記変換係数に量子化手続を行って量子化された変換係数を導出し、関連するレジデュアル情報を(ビットストリームを介して)デコーディング装置にシグナリングできる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータ等の情報を含むことができる。デコーディング装置は、前記レジデュアル情報に基づいて逆量子化/逆変換手続を行い、レジデュアルサンプル(又はレジデュアルブロック)を導出することができる。デコーディング装置は、予測されたブロックと前記レジデュアルブロックに基づいて復元ピクチャを生成することができる。エンコーディング装置はまた、以降のピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成することができる。
【0070】
【0071】
図4を参照すると、変換部は、前述した
図2のエンコーディング装置内の変換部に対応し得、逆変換部は、前述した
図2のエンコーディング装置内の逆変換部又は
図3のデコーディング装置内の逆変換部に対応し得る。
【0072】
変換部は、レジデュアルブロック内のレジデュアルサンプル(レジデュアルサンプルアレイ)に基づいて1次変換を行い、(1次)変換係数を導出することができる(S410)。このような1次変換(primary transform)は、核心変換(core transform)と指称し得る。ここで、前記1次変換は、多重変換選択(Multiple Transform Selection、MTS)に基づくことができ、1次変換として多重変換が適用される場合、多重核心変換と指称され得る。
【0073】
多重核心変換は、DCT(Discrete Cosine Transform)タイプ2と、DST(Discrete Sine Transform)タイプ7、DCTタイプ8、及び/又はDSTタイプ1をさらに使用して変換する方式を示すことができる。即ち、前記多重核心変換は、前記D CTタイプ2、前記DSTタイプ7、前記DCTタイプ8、及び前記DSTタイプ1のうち選択された複数の変換カーネルに基づいて、空間ドメインのレジデュアル信号(又はレジデュアルブロック)を周波数ドメインの変換係数(又は1次変換係数)に変換する変換方法を示すことができる。ここで、前記1次変換係数は、変換部の立場で仮の変換係数と呼ばれ得る。
【0074】
言い換えると、既存の変換方法が適用される場合、DCTタイプ2に基づいてレジデュアル信号(又はレジデュアルブロック)に対する空間ドメインから周波数ドメインへの変換が適用され、変換係数が生成できた。これと異なり、前記多重核心変換が適用される場合、DCTタイプ2、DSTタイプ7、DCTタイプ8、及び/又はDSTタイプ1等に基づいてレジデュアル信号(又はレジデュアルブロック)に対する空間ドメインから周波数ドメインへの変換が適用され、変換係数(又は1次変換係数)が生成できる。ここで、DCTタイプ2、DSTタイプ7、DCTタイプ8、及びDSTタイプ1等は、変換タイプ、変換カーネル(kernel)又は変換コア(core)と呼ばれ得る。
【0075】
参考までに、前記DCT/DST変換タイプは、基底関数に基づいて定義でき、前記基底関数は、次の表のように示し得る。
【0076】
【0077】
前記多重核心変換が行われる場合、前記変換カーネルのうち対象ブロックに対する垂直変換カーネル及び水平変換カーネルが選択されることができ、前記垂直変換カーネルに基づいて前記対象ブロックに対する垂直変換が行われ、前記水平変換カーネルに基づいて前記対象ブロックに対する水平変換が行われることができる。ここで、前記水平変換は、前記対象ブロックの水平成分に対する変換を示し得、前記垂直変換は前記対象ブロックの垂直成分に対する変換を示し得る。前記垂直変換カーネル/水平変換カーネルは、レジデュアルブロックを含む対象ブロック(CU又はサブブロック)の予測モード及び/又は変換インデックスに基づいて適応的に決定されることができる。
【0078】
また、一例によると、MTSを適用して1次変換を行う場合、特定の基底関数を所定値に設定し、垂直変換又は水平変換であるとき、どの基底関数が適用されるか否かを組み合わせて、変換カーネルに対するマッピング関係を設定することができる。例えば、水平方向の変換カーネルをtrTypeHorで示し、垂直方向の変換カーネルをtrTypeVerで示す場合、trTypeHor又はtrTypeVerの値0はDCT2に設定され、trTypeHor又はtrTypeVerの値1はDST7に設定され、trTypeHor又はtrTypeVerの値2はDCT8に設定されることができる。
【0079】
この場合、多数の変換カーネルセットのいずれか一つを指示するために、MTSインデックス情報がエンコーディングされ、デコーディング装置にシグナリングされることができる。例えば、MTSインデックスが0であると、trTypeHor及びtrTypeVerの値が全て0であることを指示し、MTSインデックスが1であると、trTypeHor及びtrTypeVerの値が全て1であることを指示し、MTSインデックスが2であると、trTypeHorの値は2であり、trTypeVerの値は1であることを指示し、MTSインデックスが3であると、trTypeHorの値は1であり、trTypeVerの値は2であることを指示し、MTSインデックスが4であると、trTypeHor及びtrTypeVerの値が全て2であることを指示することができる。
【0080】
変換部は、前記(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次変換係数)を生成する変換方法を示すことができる。例えば、行優先の順序は、MxNブロックに対して1番目の行、2番目の行、...、N番目の行の順序で一列に配置するものであり、列優先の順序は、MxNブロックに対して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)の領域に対して適用できる。
【0081】
具体的に、例えば、4×4の入力ブロックが使用される場合、非分離2次変換は次のように行われる。
【0082】
前記4×4の入力ブロックXは、次のように示し得る。
【0083】
【0084】
前記Xをベクトルの形態で示す場合、ベクトル
は、次のように示し得る。
【0085】
【0086】
数式2のように、ベクトル
は、行優先(row-first)の順序によって数式1のXの2次元ブロックを1次元のベクトルに再配列する。
【0087】
この場合、前記2次非分離の変換は次のように計算され得る。
【0088】
【0089】
ここで、
は、変換係数のベクトルを示し、Tは16×16の(非分離)変換マトリックスを示す。
【0090】
前記数式3を通じて、16×1の変換係数のベクトル
が導出でき、前記
は、スキャン順序(水平、垂直、対角(diagonal)等)を通じて、4×4のブロックで再構成(re-organized)できる。但し、前述した計算は例示であって、非分離2次変換の計算の複雑度を減らすために、HyGT(Hypercube-Givens Transform)等が非分離2次変換の計算のために使用されることもある。
【0091】
一方、前記非分離2次変換は、モードベース(mode dependent)として変換カーネル(又は変換コア、変換タイプ)が選択され得る。ここで、モードは、イントラ予測モード及び/又はインター予測モードを含むことができる。
【0092】
前述したように、前記非分離2次変換は、前記変換係数ブロックの幅(W)及び高さ(H)に基づいて決定された8×8の変換、又は4×4の変換に基づいて行われることができる。8x8の変換は、WとHが両方とも8よりも等しいか大きいとき、該当変換係数ブロックの内部に含まれた8x8の領域に適用されることができる変換を指し、該当8x8の領域は、該当変換係数ブロックの内部の左上段8x8の領域であり得る。同様に、4x4の変換は、WとHが両方とも4よりも等しいか大きいとき、該当変換係数ブロックの内部に含まれた4x4の領域に適用されることができる変換を指し、該当4x4の領域は、該当変換係数ブロックの内部の左上段4x4の領域であり得る。例えば、8x8の変換カーネルマトリックスは、64x64/16x64行列、4x4の変換カーネルマトリックスは、16x16/8x16行列になり得る。
【0093】
このとき、モードベースの変換カーネルの選択のために、8×8の変換及び4×4の変換の両方ともに対して、非分離2次変換のための変換セット当たり3個ずつの非分離2次変換カーネルが構成でき、変換セットは35個であり得る。即ち、8×8の変換に対して35個の変換セットが構成され、4×4の変換に対して35個の変換セットが構成できる。この場合、8×8の変換に対する35個の変換セットには、それぞれ3個ずつの8×8の変換カーネルが含まれ得、この場合、4×4の変換に対する35個の変換セットには、それぞれ3個ずつの4×4の変換カーネルが含まれ得る。但し、前記変換のサイズ、前記セットの数、及びセット内の変換カーネルの数は例示であって、8×8又は4×4以外のサイズが使用されてもよく、或いはn個のセットが構成され、各セット内にk個の変換カーネルが含まれてもよい。
【0094】
前記変換セットは、NSSTセットと呼ばれ得、前記NSSTセット内の変換カーネルは、NSSTカーネルと呼ばれ得る。前記変換セットのうちの特定のセットの選択は、例えば、対象ブロック(CU又はサブブロック)のイントラ予測モードに基づいて行われることができる。
【0095】
参考までに、例えば、イントラ予測モードは、2つの非方向性(non-directinoal、又は非角度性(non-angular))イントラ予測モードと、65個の方向性(directional、又は角度性(angular))イントラ予測モードとを含むことができる。前記非方向性イントラ予測モードは、0番のプラナー(planar)イントラ予測モード及び1番のDCイントラ予測モードを含むことができ、前記方向性イントラ予測モードは、2番乃至66番の65個のイントラ予測モードを含むことができる。但し、これは例示であって、本文書はイントラ予測モードの数が異なる場合にも適用されることができる。一方、場合に応じて、67番のイントラ予測モードがさらに使用されることができ、前記67番のイントラ予測モードは、LM(linear model)モードを示すことができる。
【0096】
図5は、65個の予測方向のイントラ方向性モードを例示的に示す。
【0097】
図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次元ブロックのデータMxNに対して行が列になり、列が行になり、NxMのデータを構成することを意味する。18番のイントラ予測モードと50番のイントラ予測モードは、それぞれ水平イントラ予測モード(horizontal intra prediction mode)、垂直イントラ予測モード(vertical intra prediction mode)を示し、2番のイントラ予測モードは、左側の参照ピクセルを有し、右上向きの方向に予測するので、右上向き対角のイントラ予測モードと呼ばれ得、同じ筋道で、34番のイントラ予測モードは右下向き対角のイントラ予測モード、66番のイントラ予測モードは左下向き対角のイントラ予測モードと呼ばれ得る。
【0098】
この場合、前記35個の変換セットと前記イントラ予測モードとの間のマッピング(mapping)は、例えば、次の表のように示し得る。参考までに、対象ブロックにLMモードが適用される場合、前記対象ブロックに対しては2次変換が適用されなくてもよい。
【0099】
【0100】
一方、特定のセットが使用されると決定されると、非分離2次変換のインデックスを通じて、前記特定のセット内k個の変換カーネルのうち一つが選択できる。エンコーディング装置は、RD(rate-distortion)チェックに基づいて、特定の変換カーネルを指す非分離2次変換インデックスを導出することができ、前記非分離2次変換のインデックスをデコーディング装置にシグナリングできる。デコーディング装置は、前記非分離2次変換のインデックスに基づいて、特定のセット内k個の変換カーネルのうち一つを選択することができる。例えば、NSSTのインデックス値0は、一番目の非分離2次変換カーネルを指すことができ、NSSTのインデックス値1は、二番目の非分離2次変換カーネルを指すことができ、NSSTのインデックス値2は、三番目の非分離2次変換カーネルを指すことができる。又は、NSSTのインデックス値0は、対象ブロックに対して一番目の非分離2次変換が適用されないことを指すことができ、NSSTのインデックス値1乃至3は、前記3個の変換カーネルを指すことができる。
【0101】
再度
図4を参照すると、変換部は選択された変換カーネルに基づいて前記非分離2次変換を行い、修正された(2次)変換係数を獲得することができる。前記修正された変換係数は、前述したように量子化部を介して量子化された変換係数として導出されることができ、エンコーディングされてデコーディング装置にシグナリング及びエンコーディング装置内の逆量子化/逆変換部に伝達されることができる。
【0102】
一方、前述したように2次変換が省略される場合、前記1次(分離)変換の出力である(1次)変換係数が、前述したように量子化部を介して量子化された変換係数として導出されることができ、エンコーディングされてデコーディング装置にシグナリング及びエンコーディング装置内の逆量子化/逆変換部に伝達されることができる。
【0103】
逆変換部は、前述した変換部で行われた手続の逆順で一連の手続を行うことができる。逆変換部は、(逆量子化された)変換係数を受信し、2次(逆)変換を行って(1次)変換係数を導出し(S450)、前記(1次)変換係数に対して1次(逆)変換を行って、レジデュアルブロック(レジデュアルサンプル)を獲得することができる(S460)。ここで、前記1次変換係数は、逆変換部の立場で修正された(modified)変換係数と呼ばれ得る。エンコーディング装置及びデコーディング装置は、前記レジデュアルブロックと予測されたブロックに基づいて復元ブロックを生成し、これに基づいて復元ピクチャを生成することができることは前述した通りである。
【0104】
一方、デコーディング装置は、2次逆変換の適用可否決定部(又は2次逆変換の適用可否を決定する要素)と、2次逆変換決定部(又は2次逆変換を決定する要素)をさらに含むことができる。2次逆変換の適用可否決定部は、2次逆変換の適用可否を決定することができる。例えば、2次逆変換はNSST又はRSTであり得、2次逆変換の適用可否決定部は、ビットストリームからパーシングした2次変換フラグに基づいて、2次逆変換の適用可否を決定することができる。別の一例として、2次逆変換の適用可否決定部は、レジデュアルブロックの変換係数に基づいて、2次逆変換の適用可否を決定することもできる。
【0105】
2次逆変換決定部は2次逆変換を決定することができる。このとき、2次逆変換 決定部は、イントラ予測モードによって指定されたNSST(又はRST)変換セットに基づいて、現在ブロックに適用される2次逆変換を決定することができる。また、一実施例として、1次変換決定方法に依存して(depend on)2次変換決定方法が決定できる。イントラ予測モードによって1次変換と2次変換の多様な種々の組み合わせが決定できる。また、一例として、2次逆変換決定部は、現在ブロックの大きさに基づいて、2次逆変換が適用される領域を決定することもできる。
【0106】
一方、前述したように、2次(逆)変換が省略される場合、(逆量子化された)変換係数を受信して、前記1次(分離)逆変換を行ってレジデュアルブロック(レジデュアルサンプル)を獲得することができる。エンコーディング装置及びデコーディング装置は、前記レジデュアルブロックと予測されたブロックに基づいて復元ブロックを生成し、これに基づいて復元ピクチャを生成することができることは前述した通りである。
【0107】
一方、本文書では、非分離2次変換に伴われる計算量とメモリ要求量の低減のために、NSSTの概念で変換マトリックス(カーネル)の大きさが減少したRST(reduced secondary transform)を適用することができる。
【0108】
一方、本文書で説明された変換カーネル、変換マトリックス、変換カーネルマトリックスを構成する係数、即ち、カーネル係数又はマトリックス係数は8ビットで表現されることができる。これは、デコーディング装置及びエンコーディング装置で実現されるための一つの条件であり得、既存の9ビット又は10ビットと比較し、合理的に収容できる性能低下を伴いながら、変換カーネルを保存するためのメモリ要求量を減らすことができる。また、カーネルマトリックスを8ビットで表現することによって、小さい乗算器を使用することができ、最適のソフトウェアの実現のために使用されるSIMD(Single Instruction Multiple Data)命令により好適であり得る。
【0109】
本明細書において、RSTは簡素化ファクター(factor)によって大きさが減少した変換マトリックス(transform matrix)に基づいて、対象ブロックに対するレジデュアルサンプルに対して行われる変換を意味することができる。簡素化変換を行う場合、変換マトリックスの大きさ減少により、変換時に要求される演算量が減少することができる。即ち、RSTは大きさが大きいブロックの変換又は非分離変換時に発生する演算複雑度(complexity)のイシューを解消するために用いられることができる。
【0110】
RSTは、減少した変換、減少変換、reduced transform、reduced secondary transform、reduction transform、simplified transform、simple transform等多様な用語で指称され得、RSTが指称され得る名称は、羅列された例示に限定されない。或いは、RSTは主に変換ブロックで0ではない係数を含む低周波領域で行われるので、LFNST(Low-Frequency Non-Separable Transform)で指称されることもある。
【0111】
一方、2次逆変換がRSTに基づいて行われる場合、エンコーディング装置200の逆変換部235とデコーディング装置300の逆変換部322は、変換係数に対する逆RSTに基づいて修正された変換係数を導出する逆RST部と、修正された変換係数に対する逆1次変換に基づいて前記対象ブロックに対するレジデュアルサンプルを導出する逆1次変換部とを含むことができる。逆1次変換は、レジデュアルに適用された1次変換の逆変換を意味する。本文書で変換に基づいて変換係数を導出することは、該当変換を適用して変換係数を導出することを意味することができる。
【0112】
図6は、本文書の一実施例によるRSTを説明するための図である。
【0113】
本明細書において、「対象ブロック」は、コーディングが行われる現在ブロック又はレジデュアルブロックを意味することができる。
【0114】
一実施例による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値を意味することもある。
【0115】
一実施例において、簡素化ファクター又は簡素化係数はビットストリームを介してシグナリングできるが、実施例がこれに限定されるわけではない。例えば、簡素化ファクター又は簡素化係数に対する既定義された値が、各エンコーディング装置200及びデコーディング装置300に保存されていてもよく、この場合、簡素化ファクター又は簡素化係数は別にシグナリングされなくてもよい。
【0116】
一実施例による簡素化変換マトリックスのサイズは、通常の変換マトリックスのサイズNxNよりも小さいRxNであり、下記の数式4のように定義できる。
【0117】
【0118】
図6の(a)に示す減少した変換(Reduced Transform)ブロック内のマトリックスTは、数式4のマトリックスT
RxNを意味することができる。
図6の(a)のように、対象ブロックに対するレジデュアルサンプルに対して簡素化変換マトリックスT
RxNが掛けられる場合、対象ブロックに対する変換係数が導出できる。
【0119】
一実施例において、変換が適用されるブロックのサイズが8x8であり、R=16(即ち、R/N=16/64=1/4である)の場合、
図6の(a)によるRSTは、下記の数式5のような行列演算で表現できる。この場合、メモリと乗算演算が簡素化ファクターにより略1/4と減少することができる。
【0120】
【0121】
数式5において、r1乃至r64は対象ブロックに対するレジデュアルサンプルを示すことができ、より具体的に、1次変換を適用して生成された変換係数であり得る。数式5の演算結果、対象ブロックに対する変換係数ciが導出でき、ciの導出過程は数式6の通りである。
【0122】
【0123】
数式6の演算結果、対象ブロックに対する変換係数c1乃至cRが導出できる。即ち、R=16の場合、対象ブロックに対する変換係数c1乃至c16が導出できる。もし、RSTではなく、通常の(regular)変換が適用され、サイズが64x64(NxN)の変換マトリックスが、サイズが64x1(Nx1)のレジデュアルサンプルに掛けられたら、対象ブロックに対する変換係数が64個(N個)導出されるはずだが、RSTが適用されたため、対象ブロックに対する変換係数が16個(R個)のみ導出される。対象ブロックに対する変換係数の総数がN個からR個に減少し、エンコーディング装置200がデコーディング装置300に送信するデータの量が減少するので、エンコーディング装置200-デコーディング装置300間の送信効率が増加することができる。
【0124】
変換マトリックスのサイズの観点から検討すると、通常の変換マトリックスのサイズは、64x64(NxN)であるが、簡素化変換マトリックスのサイズは16x64(RxN)と減少するので、通常の変換を行う場合と比較すると、RSTを行う際、メモリの使用をR/Nの割合で減少させることができる。また、通常の変換マトリックスを用いる際の乗算演算の数NxNと比較すると、簡素化変換マトリックスを利用すれば、乗算演算の数をR/Nの割合で減少(RxN)させることができる。
【0125】
一実施例において、エンコーディング装置200の変換部232は、対象ブロックに対するレジデュアルサンプルを1次変換及びRSTベースの2次変換を行うことによって対象ブロックに対する変換係数を導出できる。このような変換係数は、デコーディング装置300の逆変換部に伝達されることができ、デコーディング装置300の逆変換部322は、変換係数に対する逆RST(reduced secondary transform)に基づいて修正された変換係数を導出し、修正された変換係数に対する逆1次変換に基づいて、対象ブロックに対するレジデュアルサンプルを導出することができる。
【0126】
一実施例による逆RSTマトリックスTNxRのサイズは、通常の逆変換マトリックスのサイズNxNよりも小さいNxRであり、数式4に示された簡素化変換マトリックスTRxNとトランスポーズ(transpose)の関係にある。
【0127】
図6の(b)に示された減少したInv.変換(Reduced Inv. Transform)ブロック内のマトリックスT
tは、逆RSTマトリックスT
RxN
Tを意味することができる(上添字Tはトランスポーズを意味する)。
図6の(b)のように、対象ブロックに対する変換係数に対して逆RSTマトリックスT
RxN
Tが掛けられる場合、対象ブロックに対する修正された変換係数又は対象ブロックに対するレジデュアルサンプルが導出できる。逆RSTマトリックスT
RxN
Tは、(T
RxN)
T
NxRで表現してもよい。
【0128】
より具体的に、2次逆変換として逆RSTが適用される場合には、対象ブロックに対する変換係数に対して逆RSTマトリックスTRxN
Tが掛けられると、対象ブロックに対する修正された変換係数が導出できる。一方、逆1次変換として逆RSTが適用されることができ、この場合、対象ブロックに対する変換係数に対して逆RSTマトリックスTRxN
Tが掛けられると、対象ブロックに対するレジデュアルサンプルが導出できる。
【0129】
一実施例において、逆変換が適用されるブロックのサイズが8x8であり、R=16(即ち、R/N=16/64=1/4の場合)の場合、
図6の(b)によるRSTは、下記の数式7のような行列演算で表現され得る。
【0130】
【0131】
数式7において、c1乃至c16は、対象ブロックに対する変換係数を示すことができる。数式7の演算結果、対象ブロックに対する修正された変換係数又は対象ブロックに対するレジデュアルサンプルを示すrjが導出でき、rjの導出過程は数式8と通りである。
【0132】
【0133】
数式8の演算結果、対象ブロックに対する修正された変換係数又は対象ブロックに対するレジデュアルサンプルを示すr1乃至rNが導出できる。逆変換マトリックスのサイズの観点から見ると、通常の逆変換マトリックスのサイズは、64x64(NxN)であるが、簡素化逆変換マトリックスのサイズは64x16(NxR)と減少するので、通常の逆変換を行うときと比較すると、逆RSTを行う際にメモリの使用をR/Nの割合で減少させることができる。また、通常の逆変換マトリックスを用いる際の乗算演算の数NxNと比較すると、簡素化逆変換マトリックスを用いると、乗算演算の数をR/Nの割合で減少(NxR)させることができる。
【0134】
一方、8x8のRSTについても、表2のような変換セットの構成を適用することができる。即ち、表2での変換セットによって、該当8x8のRSTが適用できる。一つの変換セットは、画面内の予測モードによって2つ又は3つの変換 (カーネル)で構成されているので、2次変換を適用しない場合まで含んで最大4つの変換のうち1つを選択するように構成されることができる。2次変換を適用しない際の変換は、恒等行列が適用されたものとみなされ得る。4つの変換に対して、各々0、1、2、3のインデックスを付与するとしたとき(例えば、0番のインデックスを恒等行列、即ち、2次変換を適用しない場合と割り当てることができる)、NSSTのインデックスというシンタックス要素(syntax element)を変換係数ブロック毎にシグナリングして適用される変換を指定することができる。即ち、NSSTのインデックスを介して8x8の左上段ブロックに対して、8x8のNSSTを指定することができ、RST構成では8x8のRSTを指定することができる。8x8のNSST及び8x8のRSTは、変換の対象になる対象ブロックのWとHが両方とも8よりも等しいか大きいとき、該当変換係数ブロックの内部に含まれた8x8の領域に適用されることができる変換を指し、該当8x8の領域は、該当変換係数ブロックの内部の左上段8x8の領域であり得る。同様に、4x4のNSST及び4x4のRSTは、対象ブロックのWとHが両方とも4よりも等しいか大きいとき、該当変換係数ブロックの内部に含まれた4x4の領域に適用されることができる変換を指し、該当4x4の領域は、該当変換係数ブロックの内部の左上段4x4の領域であり得る。
【0135】
一方、数式4のような(順方向)8x8のRSTを適用することになると、16個の有効な変換係数が生成されるので、8x8の領域を構成する64個の入力データが16個の出力データに縮小すると見ることができ、2次元領域の観点からみると、1/4だけの領域にのみ有効な変換係数が埋められることになる。従って、順方向の8x8のRSTを適用して得た16個の出力データを
図7のようにブロックの左上段領域(1番から16番の変換係数)に埋めることができる。
【0136】
図7は、本文書の一実施例による変換係数のスキャニング順序を示した図である。前述したように、順方向のスキャン順序が1番から始まると、逆方向のスキャニングは、順方向のスキャン順序上に64番目から17番目まで
図7に示された矢印方向及び順序で行われることができる。
【0137】
図7では、左上段4x4の領域が有効な変換係数が満たされるROI(Region Of Interest)領域であり、残りの領域は空けられることになる。空けられた領域には0値がデフォールトとして埋められ得る。
【0138】
即ち、順方向の変換行列の形態が16x64である8x8のRSTを8x8の領域に対して適用したとき、出力変換係数は左上段4x4の領域に配置され、出力変換係数が存在しない領域は、
図7でのスキャン順序に従って(64番目から17番目まで)0に埋められ得る。
【0139】
もし、
図7のROI領域以外に0ではない有効な変換係数が見つかったとすれば、8x8のRSTが適用されないことが確実であるので、該当NSSTのインデックスコーディングが省略され得る。逆に、
図7のROI領域以外に0ではない変換係数が見つからなければ(例えば、8x8のRSTが適用される場合、ROI以外の領域への変換係数を0に設定したとき)、8x8のRSTが適用されている可能性があるので、NSSTのインデックスをコーディングすることができる。このような条件的NSSTのインデックスコーディングは、0ではない変換係数の存在有無をチェックしなければならないので、レジデュアルコーディング(residual coding)過程以降に行われることができる。
【0140】
本文書は、本実施例で記述したRST構造から4x4ブロックに適用されることができるRSTの設計、及び関連の最適化方法を扱っている。当然に一部概念については、4x4のRSTだけでなく、8x8のRST又は他の形態の変換にも適用されることができる。
【0141】
図8は、本文書の一実施例による逆RST過程を示すフローチャートである。
【0142】
図8に開示された各ステップは、
図3に開示されたデコーディング装置300により行われることができる。より具体的に、S800は、
図3に開示された逆量子化部321により行われことができ、S810及びS820は、
図3に開示された逆変換部322により行われることができる。従って、
図3で前述した内容と重複する具体的な内容は説明を省略するか、簡単にすることとする。一方、本文書において、RSTは順方向による変換に適用されるものであり、逆RSTはインバース方向に適用される変換を意味することができる。
【0143】
一実施例において、逆RSTによる細部動作は、RSTによる細部動作と順序が正反対であるだけであり、RSTによる細部動作と逆RSTによる細部動作は、実質的に類似することがある。従って、当該技術分野における通常の技術者は、以下で説明される逆RSTに対するS800乃至S820の説明が、RSTにも同一又は類似するように適用できることを容易に理解できる。
【0144】
一実施例によるデコーディング装置300は、対象ブロックに対する量子化された変換係数に対して逆量子化を行い、変換係数を導出することができる(S800)。
【0145】
一方、デコーディング装置300は、逆1次変換後、逆2次変換前に逆2次変換の適用可否を決定することができる。例えば、逆2次変換は、NSST又はRSTであり得る。一例として、デコーディング装置はビットストリームからパーシングした2次変換のフラグに基づいて、逆2次変換の適用可否を決定することができる。別の一例として、デコーディング装置は、レジデュアルブロックの変換係数に基づいて逆2次変換の適用可否を決定することもできる。
【0146】
また、デコーディング装置300は逆2次変換を決定することができる。このとき、デコーディング装置300は、イントラ予測モードによって指定されたNSST(又は RST)変換セットに基づいて、現在ブロックに適用される逆2次変換を決定することができる。さらに、一実施例として、1次変換決定方法に依存して2次変換決定方法が決定できる。例えば、1次変換で変換カーネルとしてDCT-2が適用される場合にのみ、RST又はLFNSTが適用されると決定できる。又は、イントラ予測モードによって1次変換と2次変換の多様な種々の組み合わせが決定できる。
【0147】
また、一例として、デコーディング装置300は逆2次変換を決定するステップに先だって、現在ブロックの大きさに基づいて、逆2次変換が適用される領域を決定することもできる。
【0148】
一実施例によるデコーディング装置300は、変換カーネル(transform kernel)を選択することができる(S810)。より具体的に、デコーディング装置300は、変換インデックス、変換が適用される領域の幅(width)及び高さ(height)、映像デコーディングで用いられるイントラ予測モード及び対象ブロックの色成分(color component)に対する情報の少なくとも一つに基づいて変換カーネルを選択することができる。但し、実施例はこれに限定されず、例えば、変換カーネルは既定義されたものであって、変換カーネルを選択するための別途の情報がシグナリングされないこともある。
【0149】
一例示において、対象ブロックの色成分に対する情報はCIdxを介して指示されることができる。対象ブロックがルマ(luma)ブロックである場合、CIdxは0を指示することができ、対象ブロックがクロマ(chroma)ブロック、例えば、Cbブロック又はCrブロックである場合、CIdxは0ではない値(例えば、1)を指示することができる。
【0150】
一実施例によるデコーディング装置300は、選択された変換カーネル及び簡素化ファクター(reduced factor)に基づいて、変換係数に対して逆RSTを適用することができる(S820)。
【0151】
以下では、本文書の一実施例によって、イントラ予測モードとブロックの大きさを考慮し、2次NSSTセット、即ち、2次変換セット又は変換セットを決定する方法を提案する。
【0152】
一実施例として、前述したイントラ予測モードに基づいて、現在の変換ブロックに対するセットを構成することによって、変換ブロックに多様な大きさの変換カーネルで構成された変換セットを適用することができる。表3の変換セットを0から3で表示すると表4の通りである。
【0153】
【0154】
【0155】
表3で示されているインデックス0、2、18、34は、表4の0、1、2、3にそれぞれ対応する。表3及び表4には、変換セットは35個の変換セットではなく、ただ4個の変換セットのみが使用され、これによってメモリ空間が顕著に減り得る。
【0156】
また、各変換セットに含まれ得る変換カーネルマトリックスの多様な数は、下記表のように設定できる。
【0157】
【0158】
【0159】
【0160】
表5は、各変換セットに対して2つの利用可能な(available)変換カーネルが使用され、これによって、変換インデックスは0から2までの範囲を有することになる。
【0161】
表6によると、変換セット0、即ち、イントラ予測モードのうち、DCモードとプラナーモードに対する変換セットに対しては2つの利用可能な変換カーネルが使用され、残りの変換セットに対してはそれぞれ1つの変換カーネルが使用される。このとき、変換セット1に対する利用可能な変換インデックスは0から2となり、残りの変換セット1乃至3に対する変換インデックスは0から1となる。
【0162】
表7では、各変換セットに対して1つの利用可能な(available)変換カーネルが使用され、これによって、変換インデックスは0から1までの範囲を有することになる。
【0163】
一方、前記表3の変換セットのマッピングでは、全て4つの変換セットが使用でき、4つの変換セットは、0、1、2、3のインデックスに区分されるように表4のように再配列できる。下記の表8及び表9は、2次変換に使用できる4つの変換セットを例示的に示しており、表8は、8x8ブロックに適用できる変換カーネルマトリックス、表9は、4x4ブロックに適用できる変換カーネルマトリックスを提示している。表8及び表9は、変換セット当たり2個の変換カーネルマトリックスで構成されており、表5のように全てのイントラ予測モードに対して2つずつの変換カーネルマトリックスを適用できる。
【0164】
【0165】
【0166】
【0167】
【0168】
【0169】
【0170】
【0171】
【0172】
【0173】
【0174】
【0175】
【0176】
【0177】
【0178】
【0179】
【0180】
表8に提示された変換カーネルマトリックスの例示は、すべて128がスケーリング値と掛けられた変換カーネルマトリックスである。表8のマトリックス配列で登場するg_aiNsst8x8[N1][N2][16][64]アレイで、N1は、変換セットの数を示し(N1は、4又は35、インデックス0、1、…、N1-1に区分)、N2は、各変換セットを構成する変換カーネルマトリックスの数を示し(1又は2)、[16][64]は16x64 Reduced Secondary Transform(RST)を示す。
【0181】
表3及び表4のように、ある変換セットが1個の変換カーネルマトリックスで構成される場合、表8で、該当変換セットに対して1番目又は2番目の変換カーネルマトリックスのいずれか一つを使用することができる。
【0182】
該当RSTを適用すると、16個の変換係数が出力されるが、16x64行列のうち、mx64部分のみ適用することになると、m個の変換係数のみ出力されるように構成できる。例えば、m=8とし、最上から8x64行列のみを掛けて、8つの変換係数のみ出力する代わりに、計算量は半分に減らすことができる。最悪の場合(Worst case)の計算量を減らすために、8x8の変換ユニット(TU)に対して、8x64行列を適用できる。
【0183】
4x4の領域に適用できる表9に提示された変換カーネルマトリックスの例示は、全て128がスケーリング値と掛けられた変換カーネルマトリックスである。表9のマトリックス配列で登場するg_aiNsst4x4[N1][N2][16][64]アレイで、N1は、transform setの数を示し(N1は、4又は35、インデックス0、1、…、N1-1に区分)、N2は、各変換セットを構成する変換カーネルマトリックスの数を示し(1又は2)、[16][16]は16x16の変換を示す。
【0184】
表3及び表4のように、ある変換セットが1つの変換カーネルマトリックスで構成される場合、表9で、該当変換セットに対して1番目又は2番目の変換カーネルマトリックスのいずれか一つを使用することができる。
【0185】
8x8のRSTの場合と同様に、16x16行列のうち、mx16部分のみ使用することになると、m個の変換係数のみ出力されるように構成できる。例えば、m=8とし、最上から8x16行列のみを掛けて8つの変換係数のみ出力する代わりに、計算量は半分に減らすことができる。最悪の場合の計算量を減らすために、4x4の変換ユニット(TU)に対して8x16行列を適用できる。
【0186】
基本的に、表9で提示された4x4の領域に適用できる変換カーネルマトリックスは、4x4のTU、4xMのTU、Mx4のTUに対して適用されるか(M>4、4xMのTUとMx4のTUの場合、4x4の領域に分けて各々指定された変換カーネルマトリックスを適用するか、最大の左上段4x8又は8x4の領域に対してのみ適用できる)、左上段4x4の領域に対してのみ適用されることができる。2次変換が左上段4x4の領域に対してのみ適用されるように構成されると、表8に提示された8x8の領域に適用されることができる変換カーネルマトリックスは不要になることがある。
【0187】
一方、最悪の場合に対する計算量を減らすために、次のような実施例が提案できる。以下で、M個の行とN個の列とで構成された行列をMxN行列で表示し、MxN行列は順方向変換、即ち、エンコーディング装置で変換(RST)を行う際に適用される変換行列を意味する。従って、デコーディング装置で行われる逆変換(逆RST)では、MxN行列にトランスポーズを取ったNxM行列が使用できる。
【0188】
1)幅がWであり、高さがHであるブロック(例えば、変換ユニット)に対してW≧8であり、H≧8である場合は、8x8の領域に適用されることができる変換カーネルマトリックスをブロックの左上段8x8の領域に適用する。W=8であり、H=8である場合に対しては、16x64行列のうち、8x64部分のみ適用できる。即ち、8つの変換係数が生成できる。
【0189】
2)幅がWであり、高さがHであるブロック(例えば、変換ユニット)に対して、WとHのうち一つが8よりも小さい場合、即ち、WとHのうち一つが4である場合、4x4の領域に適用されることができる変換カーネルマトリックスをブロックの左上段に適用する。W=4であり、H=4である場合に対しては、16x16行列のうち、8x16部分のみ適用でき、この場合、8つの変換係数が生成される。
【0190】
もし、(W,H)=(4,8)又は(8,4)である場合、左上段4x4の領域に対してのみ2次変換を適用する。W又はHが8よりも大きいと、即ち、W又はHが16よりも等しいか大きく、もう一つは4である場合、左上段の二つの4x4ブロックまでのみ2次変換を適用する。即ち、最大の左上段4x8又は8x4の領域までのみ4x4のブロック2つに分けられて指定された変換カーネルマトリックスが適用できる。
【0191】
3)幅がWであり、高さがHであるブロック(例えば、変換ユニット)に対して、WとHが両方とも4である場合に対しては、2次変換を適用しないことがある。
【0192】
4)幅がWであり、高さがHであるブロック(例えば、変換ユニット)に対して、2次変換を適用して生成される係数の数を変換ユニットの面積(即ち、変換ユニットを構成する全ピクセルの数=WxH)に対して、1/4以下に維持されるように構成できる。例えば、WとHが両方とも4である場合に対しては、4つの変換係数が生成されるように16x16行列のうち、最上位4x16行列を適用できる。
【0193】
全体の変換ユニット(TU)のうち、最大の左上段8x8の領域に対してのみ2次変換を適用するとしたとき、4x8の変換ユニット又は8x4の変換ユニットに対しては、8つ以下の係数が生成されなければならないので、左上段4x4の領域に対して、16x16行列のうち、最上位の8x16行列を適用するように構成できる。8x8の変換ユニットに対しては、最大16x64行列まで適用でき(16個まで係数生成可能)、4xN又はNx4(N≧16)の変換ユニットに対しては、左上段の4x4ブロックに対して16x16行列を適用するか、左上段に位置した2つの4x4ブロックに対して16x16行列のうち、最上位の8x16行列を適用することができる。同様の方式で4x8の変換ユニット又は8x4の変換ユニットに対しては、左上段に位置した2つの4x4ブロックに対して16x16行列のうち、最上位の4x16行列をそれぞれ適用し、全て8つの変換係数を生成することができる。
【0194】
5)4x4の領域に適用される2次変換の最大サイズを8x16に制限できる。この場合、4x4の領域に適用される変換カーネルマトリックスを保存するのに必要なメモリの量を16x16行列に比べて半分に減らすことができる。
【0195】
例えば、表9に提示された全ての変換カーネルマトリックスに対して、各々16x16行列のうち最上位の8x16行列のみを抽出し、最大サイズを8x16に制限でき、実際の映像コーディングシステムで変換カーネルマトリックスの該当8x16行列のみ保存するように実現できる。
【0196】
最大に適用可能な変換のサイズが8x16であり、係数一つを生成するのに必要な最大の掛け算の数を8に制限すれば、4x4ブロックの場合、最大8x16行列を適用でき、4xNブロックやNx4ブロックに対しては、(N≧8、N=2n、n≧3)内部を構成する最大の左上段2つの4x4ブロックに対して、それぞれ最大8x16行列を適用できる。例えば、4xNブロックやNx4ブロックに対しては、(N≧8、N=2n、n≧3)、左上段1つの4x4ブロックに対して8x16行列を保存することができる。
【0197】
一実施例によって、ルマ成分に適用する2次変換を指定するインデックスをコーディングするとき、より具体的に、一つの変換セットが2つの変換カーネルマトリックスで構成された場合、2次変換を適用するか否かと、適用する場合、どの変換カーネルマトリックスを適用するかを指定しなければならない。例えば、2次変換を適用しない場合には、変換インデックスを0にコーディングし、適用する場合には、2つの変換セットに対する変換インデックスをそれぞれ1と2にコーディングできる。
【0198】
この場合、変換インデックスをコーディングするときは、トランケーテッドユーナリ(truncated unary)コーディングを使用することができ、例えば、変換インデックス0、1、2にそれぞれ0、10、11の二進コード(binary code)を割り当ててコーディングできる。
【0199】
また、トランケーテッドユーナリ方式でコーディングされる場合、各ビン毎に異なるCABACコンテキストを付与することができ、前述した例示によって変換インデックス0、10、11をコーディングするとき、2個のCABACコンテキストを使用することができる。
【0200】
一方、色差成分に適用する2次変換を指定する変換インデックスをコーディングするとき、より具体的に、一つの変換セットが2つの変換カーネルマトリックスで構成された場合、ルマ成分に対する2次変換に対する変換インデックスをコーディングするときと同様に2次変換を適用するか否かと、適用する場合、どの変換カーネルマトリックスを適用するかを指定しなければならない。例えば、2次変換を適用しない場合には、変換インデックスを0にコーディングし、適用する場合には、2つの変換セットに対する変換インデックスをそれぞれ1と2にコーディングできる。
【0201】
この場合、変換インデックスをコーディングするときは、トランケーテッドユーナリ(truncated unary)コーディングを使用することができ、例えば、変換インデックス0、1、2にそれぞれ0、10、11の二進コード(binary code)を割り当ててコーディングできる。
【0202】
また、トランケーテッドユーナリ方式でコーディングされる場合、各ビン毎に異なるCABACコンテキストを付与することができ、前述した例示によって、変換インデックス0、10、11をコーディングするとき、2つのCABACコンテキストを使用することができる。
【0203】
また、一実施例によって、クロマイントラ予測モードによって異なるCABACコンテキストセットを割り当てることができる。例えば、プラナーモード又はDCモードの場合のような非方向モードと、その他の方向性モードの場合に区分する場合(即ち、二つのグループに区分する場合)、前述した例示のように、0、10、11をコーディングするとき、グループ別に(2個のコンテキストで構成された)該当CABACコンテキストセットを割り当てることができる。
【0204】
このように、クロマイントラ予測モードを幾つかのグループに分割し、該当CABACコンテキストセットを割り当てる場合、2次変換に対する変換インデックスコーディングの前にクロマイントラ予測モード値を見つけ出すべきである。しかし、クロマダイレクトモード(Chroma direct mode、DM)の場合、ルマイントラ予測モード値をそのまま使用するので、ルマ成分に対するイントラ予測モード値も見つけ出すべきである。従って、色差成分に対する情報をコーディングするとき、ルマ成分の情報に対するデータ依存性(data dependency)が発生し得るので、クロマDMモードである場合、イントラ予測モードに対する情報なく2次変換に対する変換インデックスコーディングを行うとき、ある特定のグループにマッピングし、前述したデータ依存性を除去することができる。例えば、クロマイントラ予測モードがクロマDMモードであると、プラナーモード又はDCモードであるとみなし、該当CABACコンテキストセットを使用し、該当変換インデックスコーディングを行うか、それともその他の方向性モードであるとみなし、該当CABACコンテキストセットを適用することができる。
【0205】
図9は、本文書の一実施例によるビデオデコーディング装置の動作を示すフローチャートである。
【0206】
図9に開示された各ステップは、
図3に開示されたデコーディング装置300により行われることができる。より具体的に、S910は、
図3に開示されたエントロピーデコーディング部310により行われることができ、S920は、
図3に開示された逆量子化部321により行われることができ、S930及びS940は、
図3に開示された逆変換部322により行われることができ、S950は、
図3に開示された加算部340により行われることができる。また、S910乃至S950による動作は、
図4乃至
図8で前述した内容のうち一部に基づいたものである。従って、
図3乃至
図8で前述した内容と重複する具体的な内容は、説明を省略するか、簡単にすることとする。
【0207】
一実施例によるデコーディング装置300は、ビットストリームから対象ブロックに対する量子化された変換係数を導出することができる(S910)。より具体的に、デコーディング装置300は、ビットストリームから対象ブロックに対する量子化された変換係数に関する情報をデコーディングすることができ、対象ブロックに対する量子化された変換係数に関する情報に基づいて、対象ブロックに対する量子化された変換係数を導出することができる。対象ブロックに対する量子化された変換係数に関する情報は、SPS(Sequence Parameter Set)又はスライスヘッダ(slice header)に含まれることができ、簡素化変換(RST)が適用されるか否かに対する情報、簡素化ファクターに関する情報、簡素化変換を適用する最小の変換サイズに対する情報、簡素化変換を適用する最大の変換サイズに対する情報、簡素化逆変換サイズ、変換セットに含まれた変換カーネルマトリックスのいずれか一つを指示する変換インデックスに対する情報の少なくとも一つを含むことができる。
【0208】
一実施例によるデコーディング装置300は、対象ブロックに対する量子化された変換係数に対して、逆量子化を行って変換係数を導出することができる(S920)。
【0209】
一実施例によるデコーディング装置300は、変換係数に対する逆RST(reduced secondary transform)に基づいて、修正された変換係数を導出することができる(S930)。
【0210】
一例示において、逆RSTは、逆RSTマトリックスに基づいて行われることができ、逆RSTマトリックスは、列の数が行の数よりも少ない非正方形マトリックスであり得る。
【0211】
一実施例において、S930は変換インデックスをデコーディングするステップ、変換インデックスに基づいて逆RSTを適用する条件に該当するか否かを判断するステップ、変換カーネルマトリックスを選択するステップ、及び逆RSTを適用する条件に該当する場合、選択された変換カーネルマトリックス及び/又は簡素化ファクターに基づいて、変換係数に対して逆RSTを適用するステップを含むことができる。このとき、簡素化逆変換マトリックスのサイズは、簡素化ファクターに基づいて決定できる。
【0212】
一実施例によるデコーディング装置300は、修正された変換係数に対する逆変換に基づいて、対象ブロックに対するレジデュアルサンプルを導出することができる(S940)。
【0213】
デコーディング装置300は、対象ブロックに対する修正された変換係数に対して逆1次変換を行うことができ、このとき、逆1次変換は、簡素化逆変換が適用されることもあり、通常の分離変換が使用されることもある。
【0214】
一実施例によるデコーディング装置300は、対象ブロックに対するレジデュアルサンプル、及び対象ブロックに対する予測サンプルに基づいて復元サンプルを生成することができる(S950)。
【0215】
S930を参照すると、対象ブロックに対する変換係数に対する逆RSTに基づいて、対象ブロックに対するレジデュアルサンプルが導出されることを確認することができる。逆変換マトリックスのサイズの観点から検討すると、通常の逆変換マトリックスのサイズはNxNであるが、逆RSTマトリックスのサイズはNxRと減少するので、通常の変換を行うときと比較すると、逆RSTを行う際にメモリの使用をR/Nの割合で減少させることができる。また、通常の逆変換マトリックスを用いるときの乗算演算の数NxNと比較すると、逆RSTマトリックスを用いると、乗算演算の数をR/Nの割合で減少(NxR)させることができる。また、逆RSTを適用するとき、R個の変換係数のみをデコーディングすればよいので、通常の逆変換が適用されるとき、N個の変換係数をデコーディングしなければならないことと比較すると、対象ブロックに対する変換係数の総数がN個からR個に減少し、デコーディング効率が増加することができる。まとめると、S930によれば、逆RSTを介してデコーディング装置300の(逆)変換効率及びデコーディング効率が増加することができる。
【0216】
図10は、本文書の一実施例による逆RSTを説明するための制御フローチャートである。
【0217】
デコーディング装置300は、ビットストリームから変換インデックス及びイントラ予測モードに対する情報を受信する(S1000)。
【0218】
このような情報はシンタックス情報として受信され、シンタックス情報は0と1とを含む二進化したビンストリングとして受信される。
【0219】
一方、エントロピーデコーディング部310は、変換インデックスのシンタックス要素に対する二進化情報を導出することができる。
【0220】
これは、受信された変換インデックスのシンタックス要素が有し得る二進化値に対する候補セットを生成するもので、本実施例に従う場合、変換インデックスのシンタックス要素は、トランケーテッドユーナリコード方式で二進化できる。
【0221】
本実施例による変換インデックスのシンタックス要素は、逆RSTが適用されるか否か、及び変換セットに含まれた変換カーネルマトリックスのいずれか一つを指示することができ、変換セットが2つの変換カーネルマトリックスを含む場合、変換インデックスのシンタックス要素の値は3つであり得る。
【0222】
即ち、一実施例によって、変換インデックスに対するシンタックス要素値は、対象ブロックに逆RSTが適用されない場合を指示する0、変換カーネルマトリックスのうち、1番目の変換カーネルマトリックスを指示する1、変換カーネルマトリックス のうち、2番目の変換カーネルマトリックスを指示する2を含むことができる。
【0223】
この場合、3つの変換インデックスに対するシンタックス要素値は、トランケーテッドユーナリコード方式によって、0、10、11でコーディングされることができる。即ち、シンタックス要素に対する値0は「0」で、シンタックス要素に対する値1は「10」で、シンタックス要素に対する値2は「11」で二進化することができる。
【0224】
エントロピーデコーディング部310は、変換インデックスのビンストリングに対するコンテキスト情報、即ち、コンテキストモデルを導出し(S1010)、コンテキスト情報に基づいて、シンタックス要素のビンストリングのビンをデコーディングできる(S1020)。
【0225】
まとめると、エントロピーデコーディング部310は、トランケーテッドユーナリコード方式で二進化したビンストリングを受信し、該当二進化値に対する候補セットを通じて、変換インデックスのシンタックス要素をデコーディングする。
【0226】
本実施例によれば、変換インデックスの2つのビンに対して、それぞれ互いに異なるコンテキスト情報、即ち、確率モデルが適用できる。即ち、変換インデックスの2つのビンは、いずれもバイパス方式ではなく、コンテキスト方式でデコーディングされることができ、変換インデックスに対するシンタックス要素のビンのうち、1番目のビンは、第1コンテキスト情報に基づいてデコーディングされ、変換インデックスに対するシンタックス要素のビンのうち、2番目のビンは、第2コンテキスト情報に基づいてデコーディングされることができる。
【0227】
このようなコンテキスト情報ベースデコーディングにより変換インデックスのシンタックス要素が有し得る二進化値のうち、対象ブロックに適用される変換インデックスに対するシンタックス要素の値が導出できる(S1030)。
【0228】
即ち、変換インデックス0、1、2のいずれか一つが現在の対象ブロックに適用されるか導出されることができる。
【0229】
デコーディング装置300の逆変換部332は、対象ブロックに適用されるイントラ予測モードによるマッピング関係に基づいて変換セットを決定し(S1040)、変換セット及び変換インデックスに対するシンタックス要素の値に基づいて逆RSTを行うことができる(S1050)。
【0230】
前述したように、変換の対象になる変換ブロックのイントラ予測モードによって複数の変換セットが決定でき、逆RSTは、変換インデックスにより指示される変換セットに含まれている変換カーネルマトリックスのいずれか一つに基づいて行われることができる。
【0231】
図11は、本文書の一実施例によるビデオエンコーディング装置の動作を示すフローチャートである。
【0232】
図11に開示された各ステップは、
図2に開示されたエンコーディング装置200により行われることができる。より具体的に、S1110は、
図2に開示された予測部220により行われることができ、S1120は、
図2に開示された減算部231により行われることができ、S1130及びS1140は、
図2に開示された変換部232により行われることができ、S1150は、
図2に開示された量子化部233及びエントロピーエンコーディング部240により行われることができる。また、S1110乃至S1150による動作は、
図4乃至
図8で前述した内容のうち一部に基づいたものである。従って、
図2及び
図4乃至
図8で前述した内容と重複する具体的な内容は説明を省略するか、簡単にすることとする。
【0233】
一実施例によるエンコーディング装置200は、対象ブロックに適用されるイントラ予測モードに基づいて予測サンプルを導出することができる(S1110)。
【0234】
一実施例によるエンコーディング装置200は、対象ブロックに対するレジデュアルサンプルを導出することができる(S1120)。
【0235】
一実施例によるエンコーディング装置200は、レジデュアルサンプルに対する1次変換に基づいて前記対象ブロックに対する変換係数を導出することができる(S1130)。1次変換は、複数の変換カーネルを通じて行われることができ、この場合、イントラ予測モードに基づいて変換カーネルが選択できる。
【0236】
デコーディング装置300は、対象ブロックに対する変換係数に対して2次変換、具体的にNSSTを行うことができ、このとき、NSSTは、簡素化変換(RST)に基づいて行われるか、RSTに基づくことなく行われることができる。NSSTがRSTに基づいて行われると、S1140による動作と対応し得る。
【0237】
一実施例によるエンコーディング装置200は、変換係数に対するRSTに基づいて対象ブロックに対する修正された変換係数を導出することができる(S1140)。 一例示において、RSTは、簡素化変換マトリックス又は変換カーネルマトリックスに基づいて行われることができ、簡素化変換マトリックスは、行の数が列の数よりも少ない非正方形マトリックスであり得る。
【0238】
一実施例において、S1140はRSTを適用する条件に該当するか否かを判断するステップ、前記判断に基づいて変換インデックスを生成及びエンコーディングするステップ、変換カーネルマトリックスを選択するステップ、並びにRSTを適用する条件に該当する場合、選択された変換カーネルマトリックス及び/又は簡素化ファクターに基づいて、レジデュアルサンプルに対してRSTを適用するステップを含むことができる。このとき、簡素化変換カーネルマトリックスのサイズは、簡素化ファクターに基づいて決定できる。
【0239】
一実施例によるエンコーディング装置200は、対象ブロックに対する修正された変換係数に基づいて量子化を行い、量子化された変換係数を導出し、量子化された変換係数に関する情報をエンコーディングすることができる(S1160)。
【0240】
より具体的に、エンコーディング装置200は、量子化された変換係数に関する情報を生成し、生成された量子化された変換係数に関する情報をエンコーディングすることができる。
【0241】
一例示において、量子化された変換係数に関する情報は、RSTが適用されるか否かに対する情報、簡素化ファクターに関する情報、RSTを適用する最小の変換サイズに対する情報、及びRSTを適用する最大の変換サイズに対する情報の少なくとも一つを含むことができる。
【0242】
S1140を参照すると、レジデュアルサンプルに対するRSTに基づいて対象ブロックに対する変換係数が導出されることを確認することができる。変換カーネルマトリックスのサイズの観点から検討すると、通常の変換カーネルマトリックスのサイズはNxNであるが、簡素化変換マトリックスのサイズはRxNに減少するので、通常の変換を行うときと比較すると、RSTを行う際にメモリの使用をR/Nの割合で減少させることができる。また、通常の変換カーネルマトリックスを用いる際の乗算演算の数NxNと比較すると、簡素化変換カーネルマトリックスを用いると、乗算演算の数をR/Nの割合で減少(RxN)させることができる。さらに、RSTが適用されるとR個の変換係数のみが導出されるので、通常の変換が適用されるとき、N個の変換係数が導出されることと比較すると、対象ブロックに対する変換係数の総数がN個からR個に減少し、エンコーディング装置200がデコーディング装置300へ送信するデータの量が減少することができる。まとめると、S1140によると、RSTを介してエンコーディング装置200の変換効率及びコーディング効率が増加することができる。
【0243】
図12は、本文書の一実施例によるRSTを説明するための制御フローチャートである。
【0244】
まず、エンコーディング装置200は、対象ブロックに適用されるイントラ予測モードによるマッピング関係に基づいて変換セットを決定することができる(S1200)。
【0245】
その後、変換部232は、変換セットに含まれた変換カーネルマトリックスのいずれか一つに基づいてRSTを行うことによって、変換係数を導出することができる(S1210)。
【0246】
本実施例において、変換係数は、1次変換後に2次変換が行われた修正された変換係数であり、変換セットそれぞれには2つの変換カーネルマトリックスが含まれ得る。
【0247】
このようにRSTが行われると、RSTに対する情報がエントロピーエンコーディング部240でエンコーディングされることができる。
【0248】
まず、エントロピーエンコーディング部240は、変換セットに含まれた変換カーネルマトリックスのいずれか一つを指示する変換インデックスに対するシンタックス要素値を導出することができる(S1220)。
【0249】
本実施例による変換インデックスのシンタックス要素は、(逆)RSTが適用されるか否か、及び変換セットに含まれた変換カーネルマトリックスのいずれか一つを指示することができ、変換セットが2つの変換カーネルマトリックスを含む場合、変換インデックスのシンタックス要素の値は3つであり得る。
【0250】
一実施例によって、変換インデックスに対するシンタックス要素値は、対象ブロックに(逆)RSTが適用されない場合を指示する0、変換カーネルマトリックスのうち、1番目の変換カーネルマトリックスを指示する1、変換カーネルマトリックスのうち、2番目の変換カーネルマトリックスを指示する2として導出されることができる。
【0251】
その後、エントロピーエンコーディング部240は、導出された変換インデックスに対するシンタックス要素値を二進化することができる(S1230)。
【0252】
エントロピーエンコーディング部240は、3つの変換インデックスに対するシンタックス要素値をトランケーテッドユーナリコード方式によって、0、10、11で二進化できる。即ち、シンタックス要素に対する値0は「0」で、シンタックス要素に対する値1は「10」で、シンタックス要素に対する値2は「11」で二進化でき、エントロピーエンコーディング部240は、導出された変換インデックスに対するシンタックス要素に対して、「0」、「10」、及び「11」のいずれか一つで二進化できる。
【0253】
エントロピーエンコーディング部240は、変換インデックスのビンストリングに対するコンテキスト情報、即ち、コンテキストモデルを導出し(S1240)、コンテキスト情報に基づいてシンタックス要素のビンストリングのビンをエンコーディングすることができる(S1250)。
【0254】
本実施例によれば、変換インデックスの2つのビンに対して、それぞれ互いに異なるコンテキスト情報が適用できる。即ち、変換インデックスの2つのビンは、すべてバイパス方式ではないコンテキスト方式でエンコーディングされることができ、変換インデックスに対するシンタックス要素のビンのうち、1番目のビンは第1コンテキスト情報に基づいてエンコーディングされ、変換インデックスに対するシンタックス要素のビンのうち、2番目のビンは第2コンテキスト情報に基づいてエンコーディングされることができる。
【0255】
エンコーディングされたシンタックス要素のビンストリングは、ビットストリームの形態でデコーディング装置300又は外部に出力されることができる。
【0256】
前述した実施例において、方法は一連のステップ又はブロックとしてフローチャートに基づいて説明されているが、本文書は、ステップの順序に限定されるわけではなく、あるステップは、前述したところと異なるステップと異なる順序で、又は同時に発生し得る。また、当業者であれば、フローチャートに示しているステップが排他的ではなく、他のステップが含まれるか、フローチャートの一つ又はそれ以上のステップが本文書の範囲に影響を与えずに削除され得ることを理解できるはずだ。
【0257】
前述した本文書による方法は、ソフトウェアの形態で実現され得、本文書にかかるエンコーディング装置及び/又はデコーディング装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置等の映像処理を行う装置に含まれ得る。
【0258】
本文書で実施例がソフトウェアで実現される際、前述した方法は、前述した機能を行うモジュール(過程、機能等)で実現され得る。モジュールはメモリに保存され、プロセッサにより実行され得る。メモリはプロセッサの内部又は外部にあってもよく、よく知られている様々な手段でプロセッサと連結されてもよい。プロセッサは、ASIC(application-specific integrated circuit)、他のチップセット、論理回路及び/又はデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、保存媒体及び/又は他の保存装置を含むことができる。即ち、本文書で説明した実施例は、プロセッサ、マイクロプロセッサ、コントローラ、又はチップ上で実現されて行われることができる。例えば、各図で示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ、又はチップ上で実現されて行われることができる。
【0259】
また、本文書が適用されるデコーディング装置及びエンコーディング装置は、マルチメディア放送の送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイムの通信装置、モバイルストリーミング装置、保存媒体、カムコーダ、オーダーメイドビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、映像電話ビデオ装置、及び医療用ビデオ装置などに含まれ得、ビデオ信号又はデータ信号を処理するために使用され得る。例えば、OTTビデオ(Over the top video)装置としては、ゲームコンソール、ブルーレイプレーヤー、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを含み得る。
【0260】
また、本文書が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取られる記録媒体に保存されることができる。本発明によるデータ構造を有するマルチメディアデータもまた、コンピュータが読み取られる記録媒体に保存されることができる。前記コンピュータが読み取られる記録媒体は、コンピュータで読み取られるデータが保存される全ての種類の保存装置及び分散保存装置を含む。前記コンピュータが読み取られる記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピディスク、及び光学的データ保存装置を含み得る。また、前記コンピュータが読み取られる記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で実現されたメディアを含む。また、エンコーディング方法で生成されたビットストリームが、コンピュータが読み取られる記録媒体に保存されるか、有無線通信ネットワークを介して送信されることができる。また、本文書の実施例は、プログラムコードによるコンピュータプログラム製品で実現されることができ、前記プログラムコードは、本文書の実施例によってコンピュータで実行されることができる。前記プログラムコードは、コンピュータによって読み取り可能なキャリア上に保存されることができる。
【0261】
図13は、本文書が適用されるコンテンツストリーミングシステムの構造度を例示的に示す。
【0262】
また、本文書が適用されるコンテンツストリーミングシステムは、大きくエンコーディングサーバ、ストリーミングサーバ、ウェブサーバ、メディアストレージ、ユーザ装置、及びマルチメディア入力装置を含むことができる。
【0263】
前記エンコーディングサーバは、スマートフォン、カメラ、カムコーダ等のようなマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。別の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコーディングサーバは省略され得る。前記ビットストリームは、本文書が適用されるエンコーディング方法又はビットストリームの生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信又は受信する過程で、一時的に前記ビットストリームを保存することができる。
【0264】
前記ストリーミングサーバは、ウェブサーバを介したユーザの要請に基づいて、マルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのサービスがあるかを知らせる媒介体の役割をする。ユーザが前記ウェブサーバに希望するサービスを要請すると、前記ウェブサーバはこれをストリーミングサーバに伝達し、前記ストリーミングサーバはユーザにマルチメディアデータを送信する。この際、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
【0265】
前記ストリーミングサーバは、メディアストレージ及び/又はエンコーディングサーバからコンテンツを受信することができる。例えば、前記エンコーディングサーバからコンテンツを受信することになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間で保存することができる。
【0266】
前記ユーザ装置の例としては、携帯電話、スマートフォン(smart phone)、ラップトップパソコン(laptop computer)、デジタル放送用端末機、PDA(personal digital assistants)、PMP(portable multimedia player)、ナビゲーション、スレートPC(slate PC)、タブレットPC(tablet PC)、ウルトラブック(ultrabook)、ウェアラブルデバイス(wearable device)、例えば、ウォッチ型端末機(smartwatch)、ガラス型端末機(smart glass)、HMD(head mounted display)、デジタルTV、デスクトップコンピュータ、デジタルサイネージ等があり得る。前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。
【手続補正書】
【提出日】2024-05-14
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコーディング装置により行われる映像デコーディング方法において、
ビットストリームから対象ブロックに対するレジデュアル情報を受信するステップと、
前記レジデュアル情報に基づいて前記対象ブロックに対する変換係数を導出するステップと、
前記変換係数に対する逆2次変換(secondary transform)に基づいて、修正された変換係数を導出するステップと、
前記修正された変換係数に対する逆1次変換に基づいて、前記対象ブロックに対するレジデュアルサンプルを導出するステップとを含み、
前記修正された変換係数を導出するステップは、
変換カーネルマトリクスを導出ステップと、
前記変換係数と前記変換カーネルマトリクスの行列演算を実行するステップとを含み、
前記変換カーネルマトリクスは変換インデックスと変換セットに基づいて導出され、
前記変換インデックスは、前記逆2次変換が前記対象ブロックに適用されないことを示す第1インデックス情報と、第1変換カーネルマトリクスを前記逆2次変換に対する変換カーネルマトリクスとして示す第2インデックス情報と、2次変換カーネルマトリクスを前記逆2次変換に対する前記変換カーネルマトリクスとして示す第3インデックス情報の少なくとも一つを表し、
前記逆2次変換は、前記対象ブロックの左上領域に対する入力データのマトリクス操作と前記変換カーネルマトリクスを介する前記入力データより大きい数の出力データを導出し、
前記左上領域に対する前記入力データは、前記対象ブロックの左上4×4領域にあり、前記左上領域に対する前記出力データは、前記対象ブロックの左上4×4領域又は前記対象ブロックの左上8×8領域にある、映像デコーディング方法。
【請求項2】
エンコーディング装置により行われる映像エンコーディング方法において、
対象ブロックに対するレジデュアルサンプルを導出するステップと、
前記レジデュアルサンプルに対する1次変換に基づいて、前記対象ブロックに対する変換係数を導出するステップと、
前記変換係数の2次変換に基づいて、修正された変換係数を導出ステップと、
前記修正された変換係数に関連するレジデュアル情報と変換カーネルマトリクスに関連する変換インデックスをエンコーディングするステップと、を含み、
前記修正された変換係数を導出するステップは、
変換セットと前記変換カーネルマトリクスを決定するステップと、
前記変換係数と前記変換カーネルマトリクスの行列演算を実行するステップとを含み、
前記変換インデックスは、前記2次変換が前記対象ブロックに適用されないことを示す第1インデックス情報と、第1変換カーネルマトリクスを前記2次変換に対する変換カーネルマトリクスとして示す第2インデックス情報と、2次変換カーネルマトリクスを前記2次変換に対する前記変換カーネルマトリクスとして示す第3インデックス情報の少なくとも一つを表し、
前記2次変換は、前記対象ブロックの左上領域に対する入力データのマトリクス操作と前記変換カーネルマトリクスを介する前記入力データより小さい数の出力データを導出し、
前記左上領域に対する前記入力データは、前記対象ブロックの左上4×4領域又は前記対象ブロックの左上8×8領域にあり、前記左上領域に対する前記出力データは、前記対象ブロックの左上4×4領域にある、映像エンコーディング方法。
【請求項3】
映像に対するデータの送信方法であって、
前記映像に対するビットストリームを取得するステップであって、前記ビットストリームは、対象ブロックに対するレジデュアルサンプルを導出し、前記レジデュアルサンプルに対する1次変換に基づいて前記対象ブロックに対する変換係数を導出し、前記変換係数の2次変換に基づいて修正された変換係数を導出し、前記ビットストリームを出力するために前記修正された変換係数に関連するレジデュアル情報と変換カーネルマトリクスに関連する変換インデックスを符号化することに基づいて生成される、ステップと、
前記ビットストリームを含む前記データを送信するステップを含み、
前記修正された変換係数を導出することは、
変換セットと前記変換カーネルマトリクスを決定することと、
前記変換係数と前記変換カーネルマトリクスの行列演算を実行することを含み、
前記変換インデックスは、前記2次変換が前記対象ブロックに適用されないことを示す第1インデックス情報と、第1変換カーネルマトリクスを前記2次変換に対する変換カーネルマトリクスとして示す第2インデックス情報と、2次変換カーネルマトリクスを前記2次変換に対する前記変換カーネルマトリクスとして示す第3インデックス情報の少なくとも一つを表し、
前記2次変換は、前記対象ブロックの左上領域に対する入力データのマトリクス操作と前記変換カーネルマトリクスを介する前記入力データより小さい数の出力データを導出し
前記左上領域に対する前記入力データは、前記対象ブロックの左上4×4領域又は前記対象ブロックの左上8×8領域にあり、前記左上領域に対する前記出力データは、前記対象ブロックの左上4×4領域にある、データの送信方法。