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

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

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

特許7009632変換に基づく映像コーディング方法及びその装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-14
(45)【発行日】2022-01-25
(54)【発明の名称】変換に基づく映像コーディング方法及びその装置
(51)【国際特許分類】
   H04N 19/12 20140101AFI20220118BHJP
   H04N 19/159 20140101ALI20220118BHJP
【FI】
H04N19/12
H04N19/159
【請求項の数】 14
(21)【出願番号】P 2020532909
(86)(22)【出願日】2018-12-13
(65)【公表番号】
(43)【公表日】2021-02-22
(86)【国際出願番号】 KR2018015815
(87)【国際公開番号】W WO2019117639
(87)【国際公開日】2019-06-20
【審査請求日】2020-06-29
(31)【優先権主張番号】62/599,020
(32)【優先日】2017-12-15
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100117019
【弁理士】
【氏名又は名称】渡辺 陽一
(74)【代理人】
【識別番号】100173107
【弁理士】
【氏名又は名称】胡田 尚則
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(72)【発明者】
【氏名】メウディ サレヒファー
(72)【発明者】
【氏名】キム スンファン
(72)【発明者】
【氏名】ク ムンモ
(72)【発明者】
【氏名】イム ジェヒョン
【審査官】岩井 健二
(56)【参考文献】
【文献】特表2013-542664(JP,A)
【文献】国際公開第2017/058614(WO,A1)
【文献】米国特許出願公開第2017/0230677(US,A1)
【文献】米国特許出願公開第2017/0034530(US,A1)
【文献】Jianle Chen et al.,Algorithm Description of Joint Exploration Test Model 7 (JEM 7),Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-G1001-v1,7th Meeting: Torino, IT,2017年08月,pp.i,28-32
【文献】Moonmo Koo et al.,Description of SDR video coding technology proposal by LG Electronics,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-J0017-v1,10th Meeting: San Diego, CA,2018年04月,pp.i-iii,6-10
【文献】Mehdi Salehifar et al.,CE 6.2.6: Reduced Secondary Transform (RST),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0099,11th Meeting: Ljubljana, SI,2018年07月,pp.1-12
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
デコーディング装置により実行される映像デコーディング方法において、
ビットストリームから対象ブロックに対する量子化された変換係数を導出するステップと、
前記対象ブロックに対する量子化された変換係数に対して逆量子化を実行して変換係数を導出するステップと、
前記変換係数に対する逆変換(inverse transform)に基づいて前記対象ブロックに対するレジデュアルサンプルを導出するステップと、
前記対象ブロックに対するレジデュアルサンプル及び前記対象ブロックに対する予測サンプルに基づいて復元ピクチャを生成するステップとを含み、
前記逆変換は、非分離変換に基づき、逆変換マトリクス(matrix)に基づいて実行され、前記逆変換マトリクスは、非正方形マトリクスであり、
前記対象ブロックのサイズは、K×Kであり、Kは正の整数であり、
前記非分離変換に基づいて、前記逆変換が適用される領域は、M×Mサイズの領域に含まれ、MはKより小さく、Mは正の整数であり、
前記逆変換マトリクスのサイズは、N×Rであり、Nは前記非分離変換に基づき前記逆変換が適用される前記領域において出力エレメント(要素)の数と等しく、RはNより小さく、NとRのそれぞれは、正の整数である、映像デコーディング方法。
【請求項2】
前記逆変換に基づいて前記対象ブロックに対する前記レジデュアルサンプルを導出するステップは、
変換インデックスをデコーディングするステップと、
前記変換インデックスに基づいて、前記逆変換を適用する条件に該当するかどうかを判断するステップと、
変換カーネル(transform kernel)を選択するステップと、
前記逆変換を適用する条件に該当する場合、前記選択された変換カーネルに基づいて前記変換係数に対して逆変換を適用するステップとを含む、請求項1に記載の映像デコーディング方法。
【請求項3】
前記変換インデックス、前記逆変換が適用される領域の幅(width)及び高さ(height)、前記対象ブロックに対するイントラ予測モード、及び対象ブロックの色相成分(color component)についての情報のうち少なくとも一つに基づいて前記変換カーネルが選択される、請求項2に記載の映像デコーディング方法。
【請求項4】
前記非分離変換に基づいて、前記逆変換が適用される前記領域は8×8サイズの領域に含まれ、前記逆変換マトリクスの行の数は16に等しい、請求項1に記載の映像デコーディング方法。
【請求項5】
前記非分離変換に基づいて、前記逆変換が適用される前記領域は8×8サイズの領域に含まれ、前記逆変換マトリクスの簡素化ファクタは16である、請求項1に記載の映像デコーディング方法。
【請求項6】
前記ビットストリームに含まれるSPS(Sequence Parameter Set)は、
前記逆変換が可能かどうかについての情報、簡素化ファクタについての情報、前記逆変換が適用される最小変換サイズについての情報、前記逆変換が適用される最大変換サイズについての情報、及び前記逆変換のサイズについての情報のうち少なくとも一つを含む、請求項1に記載の映像デコーディング方法。
【請求項7】
前記ビットストリームに含まれる前記SPSは、前記逆変換が可能かどうかについての情報を示す可用フラグ、簡素化ファクタについての情報を示す簡素化ファクタ値、前記逆変換を適用する最小変換サイズについての情報を示す最小変換サイズ値、前記逆変換を適用する最大変換サイズについての情報を示す最大変換サイズ値、及び前記逆変換のサイズ値のうち少なくとも一つを含み、
前記可用フラグは第1のシンタックス要素(syntax element)を介してシグナリングされ、前記簡素化ファクタの値は第2のシンタックス要素を介してシグナリングされ、前記最小変換サイズ値は第3のシンタックス要素を介してシグナリングされ、前記最大変換サイズ値は第4のシンタックス要素を介してシグナリングされ、前記逆変換のサイズ値は第5のシンタックス要素を介してシグナリングされる、請求項6に記載の映像デコーディング方法。
【請求項8】
エンコーディング装置により実行される映像エンコーディング方法において、
対象ブロックに対するレジデュアルサンプルを導出するステップと、
前記レジデュアルサンプルに基づいて変換(transform)を実行することにより前記対象ブロックに対する変換係数を導出するステップと、
前記対象ブロックに対する変換係数に基づいて量子化を実行して量子化された変換係数を導出するステップと、
ビットストリームを出力するために前記量子化された変換係数についての情報をエンコーディングするステップとを含み、
前記変換は非分離変換に基づき、変換マトリクスに基づいて実行され、前記変換マトリクスは、非正方形マトリクスであり、
前記対象ブロックのサイズは、K×Kであり、Kは正の整数であり、
前記非分離変換に基づいて前記変換が適用される領域は、M×Mサイズの領域に含まれ、MはKより小さく、Mは正の整数であり、
前記変換マトリクスのサイズは、N×Rであり、Nは前記非分離変換に基づく前記変換が適用される前記領域において入力エレメント(要素)の数と等しく、RはNより小さく、NとRのそれぞれは、正の整数である、映像エンコーディング方法。
【請求項9】
前記変換に基づいて前記対象ブロックに対する変換係数を導出するステップは、
前記変換を適用する条件に該当するかどうかを判断するステップと、
前記判断に基づいて変換インデックスを生成及びエンコーディングするステップと、
変換カーネルを選択するステップと、
前記変換を適用する条件に該当する場合、前記選択された変換カーネルに基づいて前記レジデュアルサンプルに対して変換を適用するステップとを含む、
請求項8に記載の映像エンコーディング方法。
【請求項10】
前記変換インデックス、前記変換が適用される領域の幅及び高さ、前記対象ブロックに対するイントラ予測モード、及び対象ブロックの色相成分についての情報のうち少なくとも一つに基づいて前記変換カーネルが選択される、請求項9に記載の映像エンコーディング方法。
【請求項11】
前記変換が適用される前記領域は8×8サイズの領域に含まれ、前記変換マトリクスの行の数は16に等しい、請求項8に記載の映像エンコーディング方法。
【請求項12】
前記変換が適用される前記領域は8×8サイズの領域に含まれ、前記変換マトリクスの簡素化ファクタは16である、請求項8に記載の映像エンコーディング方法。
【請求項13】
前記情報は、前記変換が可能かどうかについての情報、簡素化ファクタについての情報、前記変換が適用される最小変換サイズについての情報、前記変換が適用される最大変換サイズについての情報、及び前記変換のサイズについての情報のうち少なくとも一つを含む、請求項8に記載の映像エンコーディング方法。
【請求項14】
映像情報のビットストリームを含むデータの送信方法であって、
量子化された変換係数についての情報を含む前記映像情報のビットストリームを取得するステップであって、前記ビットストリームは対象ブロックに対するレジデュアルサンプルを導出することにより生成される、ステップと、
前記レジデュアルサンプルに基づいて変換を実行することにより前記対象ブロックに対する変換係数を導出するステップと、
前記対象ブロックに対する変換係数に基づいて量子化を適用することにより前記量子化された変換係数を導出するステップと、
前記ビットストリームを出力するための前記量子化された変換係数についての前記情報を生成するステップと、
前記量子化された変換係数についての前記情報を含む前記映像情報のビットストリームを送信するステップを含み、
前記変換は非分離変換に基づき、変換マトリクスに基づいて実行され、前記変換マトリクスは非正方形マトリクスであり、
前記対象ブロックのサイズは、K×Kであり、Kは正の整数であり、
前記非分離変換に基づいて、前記変換が適用される領域は、M×Mサイズの領域に含まれ、MはKより小さく、Mは正の整数であり、
前記変換マトリクスのサイズは、N×Rであり、Nは前記非分離変換に基づく前記変換が適用される前記領域において入力エレメント(要素)の数と等しく、RはNより小さく、NとRのそれぞれは、正の整数である、データの送信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像コーディング技術に関し、より詳しくは、映像コーディングシステムにおいて、変換(transform)に基づく映像コーディング方法及びその装置に関する。
【背景技術】
【0002】
最近、HD(High Definition)画像及びUHD(Ultra High Definition)画像のような高解像度、高品質の画像に対する需要が多様な分野で増加している。画像データが高解像度、高品質になるほど、既存の画像データに比べて相対的に送信される情報量又はビット量が増加するため、既存の有無線広帯域回線のような媒体を利用して画像データを送信するか、又は既存の格納媒体を利用して画像データを格納する場合、送信費用と格納費用が増加する。
【0003】
これによって、高解像度、高品質画像の情報を効果的に送信又は格納し、再生するために高効率の画像圧縮技術が要求される。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の技術的課題は、映像コーディング効率を上げる方法及び装置を提供することにある。
【0005】
本発明の他の技術的課題は、変換効率を上げる方法及び装置を提供することにある。
【0006】
本発明の他の技術的課題は、変換を介してレジデュアルコーディングの効率を上げる方法及び装置を提供することにある。
【0007】
本発明の他の技術的課題は、簡素化変換(reduced transform)に基づいた映像コーディング方法及び装置を提供することにある。
【課題を解決するための手段】
【0008】
本発明の一実施例によると、デコーディング装置により実行される映像デコーディング方法が提供される。前記方法は、ビットストリームから対象ブロックに対する量子化された変換係数を導出するステップ、前記対象ブロックに対する量子化された変換係数に対して逆量子化を実行して変換係数を導出するステップ、前記変換係数に対する簡素化逆変換(reduced inverse transform)に基づいて前記対象ブロックに対するレジデュアルサンプルを導出するステップ、及び前記対象ブロックに対するレジデュアルサンプル及び前記対象ブロックに対する予測サンプルに基づいて復元ピクチャを生成するステップを含み、前記簡素化逆変換は、簡素化逆変換マトリクス(matrix)に基づいて実行され、前記簡素化逆変換マトリクスは、列の個数が行の個数より少ない非正方形(non-square)マトリクスであることを特徴とする。
【0009】
本発明の他の一実施例によると、エンコーディング装置により実行される映像エンコーディング方法が提供される。前記方法は、対象ブロックに対するレジデュアルサンプルを導出するステップ、前記レジデュアルサンプルに対する簡素化変換(reduced transform)に基づいて前記対象ブロックに対する変換係数を導出するステップ、前記対象ブロックに対する変換係数に基づいて量子化を実行して量子化された変換係数を導出するステップ、及び前記量子化された変換係数に対する情報をエンコーディングするステップを含み、前記簡素化変換は、簡素化変換マトリクスに基づいて実行され、前記簡素化変換マトリクスは、行の個数が列の個数より少ない非正方形マトリクスであることを特徴とする。
【0010】
本発明の他の一実施例によると、映像デコーディングを実行するデコーディング装置が提供される。前記デコーディング装置は、ビットストリームから対象ブロックに対する量子化された変換係数を導出するエントロピーデコーディング部、前記対象ブロックに対する量子化された変換係数に対して逆量子化を実行して変換係数を導出する逆量子化部、前記変換係数に対する簡素化逆変換に基づいて前記対象ブロックに対するレジデュアルサンプルを導出する逆変換部、及び前記対象ブロックに対するレジデュアルサンプル及び前記対象ブロックに対する予測サンプルに基づいて復元ピクチャを生成する加算部を含み、前記簡素化逆変換は、簡素化逆変換マトリクスに基づいて実行され、前記簡素化逆変換マトリクスは、列の個数が行の個数より少ない非正方形マトリクスであることを特徴とする。
【0011】
本発明の他の一実施例によると、映像エンコーディングを実行するエンコーディング装置が提供される。前記エンコーディング装置は、対象ブロックに対するレジデュアルサンプルを導出する減算部、前記レジデュアルサンプルに対する簡素化変換(reduced transform)に基づいて前記対象ブロックに対する変換係数を導出する変換部、前記対象ブロックに対する変換係数に基づいて量子化を実行して量子化された変換係数を導出する量子化部、及び前記量子化された変換係数に対する情報をエンコーディングするエントロピーエンコーディング部を含み、前記簡素化変換は、簡素化変換マトリクスに基づいて実行され、前記簡素化変換マトリクスは、行の個数が列の個数より少ない非正方形マトリクスであることを特徴とする。
【発明の効果】
【0012】
本発明によると、全般的な映像/ビデオ圧縮効率を上げることができる。
【0013】
本発明によると、効率的な変換を介してレジデュアル処理のために送信されるべきデータ量を減らすことができ、レジデュアルコーディング効率を上げることができる。
【0014】
本発明によると、周波数ドメインでの2次変換を介して0でない変換係数を低周波成分に集中させることができる。
【0015】
本発明によると、簡素化変換に基づいて映像コーディングを実行して映像コーディング効率を上げることができる。
【図面の簡単な説明】
【0016】
図1】本発明が適用されることができるビデオ/映像エンコーディング装置の構成を概略的に説明する図面である。
図2】本発明が適用されることができるビデオ/映像デコーディング装置の構成を概略的に説明する図面である。
図3】一実施例に係る多重変換技法を概略的に示す。
図4】65個の予測方向のイントラ方向性モードを例示的に示す。
図5a】一実施例に係る非分離2次変換過程を示す流れ図である。
図5b】一実施例に係る非分離2次変換過程を示す流れ図である。
図5c】一実施例に係る非分離2次変換過程を示す流れ図である。
図6】本発明の一実施例に係る簡素化変換を説明するための図面である。
図7】本発明の一実施例に係る簡素化変換過程を示す流れ図である。
図8】本発明の他の実施例に係る簡素化変換過程を示す流れ図である。
図9】本発明の一実施例に係る非分離2次変換に基づく簡素化変換過程を示す流れ図である。
図10】本発明の一実施例に係る簡素化変換が適用されるブロックを示す。
図11】本発明の一実施例に係るビデオエンコーディング装置の動作を示す流れ図である。
図12】本発明の一実施例に係るビデオデコーディング装置の動作を示す流れ図である。〔発明を実施するための最善の形態〕
【0017】
本開示の一実施例によると、デコーディング装置により実行される映像デコーディング方法が提供される。前記方法は、ビットストリームから対象ブロックに対する量子化された変換係数を導出するステップ、前記対象ブロックに対する量子化された変換係数に対して逆量子化を実行して変換係数を導出するステップ、前記変換係数に対する簡素化逆変換(reduced inverse transform)に基づいて前記対象ブロックに対するレジデュアルサンプルを導出するステップ、及び前記対象ブロックに対するレジデュアルサンプル及び前記対象ブロックに対する予測サンプルに基づいて復元ピクチャを生成するステップを含み、前記簡素化逆変換は、簡素化逆変換マトリクス(matrix)に基づいて実行され、前記簡素化逆変換マトリクスは、列の個数が行の個数より少ない非正方形(non-square)マトリクスであることを特徴とする。
【発明を実施するための形態】
【0018】
本発明は、多様な変更を加えることができ、様々な実施例を有することができ、特定の実施例を図面に例示して詳細に説明する。しかし、これは本発明を特定の実施例に限定するものではない。本明細書で使用する用語は、単に特定の実施例を説明するために使われたものであり、本発明の技術的思想を限定しようとする意図に使われるものではない。単数の表現は、文脈上明白に異なる意味ではない限り、複数の表現を含む。本明細書において、“含む”又は“有する”などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品又はそれらを組合せたものが存在することを指定するものであり、一つ又はそれ以上の他の特徴や数字、段階、動作、構成要素、部品又はそれらを組合せたものの存在又は付加の可能性を予め排除しないと理解しなければならない。
【0019】
一方、本発明で説明される図面上の各構成は、互いに異なる特徴的な機能に対する説明の便宜のために独立して図示されたものであり、各構成が互いに別個のハードウェアや別個のソフトウェアで具現されるということを意味しない。例えば、各構成のうち二つ以上の構成が合わせて一つの構成をなすこともあり、一つの構成が複数の構成に分けられることもある。各構成が統合及び/又は分離された実施例も、本発明の本質から外れない限り、本発明の権利範囲に含まれる。
【0020】
以下の説明は、ビデオ、イメージまたは映像に対して扱う技術分野で適用されることができる。例えば、以下の説明で開示された方法または実施例は、VVC(Versatile Video Coding)標準(ITU-T Rec.H.266)、VVC以後の次世代ビデオ/イメージコーディング標準、またはVVC以前の標準(例えば、HEVC(High Efficiency Video Coding)標準(ITU-T Rec.H.265)等)の開始内容と関連することができる。
【0021】
以下、添付図面を参照し、本発明の好ましい実施例をより詳細に説明する。以下、図面上の同一の構成要素については同一の参照符号を使用し、同一の構成要素について重複説明は省略する。
【0022】
本明細書において、ビデオ(video)は、時間の流れによる一連の映像(image)の集合を意味する。ピクチャ(picture)は、一般的に特定時間帯の一つの映像を示す単位を意味し、スライス(slice)は、コーディングにおいてピクチャの一部を構成する単位である。一つのピクチャは、複数のスライスで構成されることができ、必要によって、ピクチャ及びスライスは、互いに混用されて使われることができる。
【0023】
ピクセル(pixel)又はペル(pel)は、一つのピクチャー(又は画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用されることができる。サンプルは、一般的にピクセル又はピクセルの値を示し、輝度(ルマ)成分のピクセル/ピクセルの値のみを示してもよく、彩度(クロマ)成分のピクセル/ピクセルの値のみを示してもよい。
【0024】
ユニット(unit)は、画像処理の基本単位を示す。ユニットは、ピクチャーの特定領域及び該当領域に関する情報のうち少なくとも一つを含むことができる。ユニットは、場合によってブロック(block)又は領域(area)などの用語と混用して用いられてもよい。一般的な場合、MxNのブロックは、M個の列とN個の行からなるサンプル又は変換係数(transform coefficient)の集合を示すことができる。
【0025】
図1は、本発明が適用されることができるビデオ/映像エンコーディング装置(video encoding apparatus)の構成を概略的に説明する図面である。以下、エンコーディング装置は、ビデオエンコーディング装置及び/または映像エンコーディング装置を含むことができ、ビデオエンコーディング装置が映像エンコーディング装置を含む概念として使われることもできる。
【0026】
図1を参照すると、ビデオエンコーディング装置100は、ピクチャ分割部(picture partitioning module)105、予測部(prediction module)110、レジデュアル処理部(residual processing module)120、エントロピーエンコーディング部(entropy encoding module)130、加算部(adder)140、フィルタ部(filtering module)150、及びメモリ(memory)160を含むことができる。レジデュアル処理部120は、減算部(substractor)121、変換部(transform module)122、量子化部(quantization module)123、再整列部(rearrangement module)124、逆量子化部(dequantization module)125、及び逆変換部(inverse transform module)126を含むことができる。
【0027】
ピクチャ分割部105は、入力されたピクチャを少なくとも一つの処理ユニット(processing unit)に分割できる。
【0028】
一例として、処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれる。この場合、コーディングユニットは、最大コーディングユニット(largest coding unit、LCU)からQTBT(Quad-tree binary-tree)構造によって再帰的に(recursively)分割されることができる。例えば、一つのコーディングユニットは、クアッドツリー構造、バイナリツリー構造及び/またはターナリ(ternary)ツリー構造に基づいて下位(deeper)デプスの複数のコーディングユニットに分割されることができる。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造及びターナリツリー構造が後に適用されることができる。または、バイナリツリー構造/ターナリツリー構造が先に適用されることもできる。それ以上分割されない最終コーディングユニットに基づいて本発明によるコーディング手順が実行されることができる。この場合、映像特性によるコーディング効率などに基づいて、最大コーディングユニットが最終コーディングユニットとして使われることができ、または、必要によって、コーディングユニットは、再帰的に(recursively)もっと下位デプスのコーディングユニットに分割されて最適のサイズのコーディングユニットが最終コーディングユニットとして使われることができる。ここで、コーディング手順とは、後述する予測、変換、及び復元などの手順を含むことができる。
【0029】
他の例として、処理ユニットは、コーディングユニット(coding unit、CU)、予測ユニット(prediction unit、PU)または変換ユニット(transform unit、TU)を含むこともできる。コーディングユニットは、最大コーディングユニット(largest coding unit、LCU)からクアッドツリー構造によって下位(deeper)デプスのコーディングユニットに分割(split)されることができる。この場合、映像特性によるコーディング効率などに基づいて、最大コーディングユニットが最終コーディングユニットとして使われることができ、または、必要によって、コーディングユニットは、再帰的に(recursively)もっと下位デプスのコーディングユニットに分割されて最適のサイズのコーディングユニットが最終コーディングユニットとして使われることができる。最小コーディングユニット(smallest coding unit、SCU)が設定された場合、コーディングユニットは、最小コーディングユニットより小さいコーディングユニットに分割されることができない。ここで、最終コーディングユニットとは、予測ユニットまたは変換ユニットにパーティショニングまたは分割の基盤となるコーディングユニットを意味する。予測ユニットは、コーディングユニットからパーティショニング(partitioning)されるユニットであって、サンプル予測のユニットである。このとき、予測ユニットは、サブブロック(subblock)に分けられることもできる。変換ユニットは、コーディングユニットからクアッドツリー構造によって分割されることができ、変換係数を誘導するユニット及び/または変換係数からレジデュアル信号(residual signal)を誘導するユニットである。以下、コーディングユニットはコーディングブロック(coding block、CB)、予測ユニットは予測ブロック(prediction block、PB)、変換ユニットは変換ブロック(transform block、TB)とも呼ばれる。予測ブロックまたは予測ユニットは、ピクチャ内でブロック形態の特定領域を意味し、予測サンプルのアレイ(array)を含むことができる。また、変換ブロックまたは変換ユニットは、ピクチャ内でブロック形態の特定領域を意味し、変換係数またはレジデュアルサンプルのアレイを含むことができる。
【0030】
予測部110は、処理対象ブロック(以下、現在ブロックまたはレジデュアルブロックを意味することもある)に対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部110で実行される予測の単位は、コーディングブロック、または変換ブロック、または予測ブロックである。
【0031】
予測部110は、現在ブロックにイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができる。一例として、予測部110は、CU単位にイントラ予測またはインター予測が適用されるかを決定することができる。
【0032】
イントラ予測の場合、予測部110は、現在ブロックが属するピクチャ(以下、現在ピクチャ)内の現在ブロック外部の参照サンプルに基づいて現在ブロックに対する予測サンプルを誘導することができる。このとき、予測部110は、(i)現在ブロックの隣接(neighboring)参照サンプルの平均(average)または補間(interpolation)に基づいて予測サンプルを誘導することができ、(ii)現在ブロックの隣接参照サンプルのうち、予測サンプルに対して特定(予測)方向に存在する参照サンプルに基づいて前記予測サンプルを誘導することもできる。(i)の場合は非方向性モードまたは非角度モードと呼ばれ、(ii)の場合は方向性(directional)モードまたは角度(angular)モードと呼ばれる。イントラ予測における予測モードは、例えば、33個の方向性予測モードと少なくとも2個以上の非方向性モードを有することができる。非方向性モードは、DC予測モード及びプラナーモード(Planarモード)を含むことができる。予測部110は、隣接ブロックに適用された予測モードを利用し、現在ブロックに適用される予測モードを決定することもできる。
【0033】
インター予測の場合、予測部110は、参照ピクチャ上で動きベクトルにより特定されるサンプルに基づいて、現在ブロックに対する予測サンプルを誘導することができる。予測部110は、スキップ(skip)モード、マージ(merge)モード、及びMVP(motion vector prediction)モードのうちいずれか一つを適用して現在ブロックに対する予測サンプルを誘導することができる。スキップモードとマージモードの場合、予測部110は、隣接ブロックの動き情報を現在ブロックの動き情報として利用できる。スキップモードの場合、マージモードと違って予測サンプルと原本サンプルとの間の差(レジデュアル)が送信されない。MVPモードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(Motion Vector Predictor)として利用して現在ブロックの動きベクトル予測子として利用して現在ブロックの動きベクトルを誘導することができる。
【0034】
インター予測の場合、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャ(reference picture)に存在する時間的隣接ブロック(temporal neighboring block)を含むことができる。前記時間的隣接ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)とも呼ばれる。動き情報(motion information)は、動きベクトルと参照ピクチャインデックスを含むことができる。予測モード情報と動き情報などの情報は、(エントロピー)エンコーディングされてビットストリーム形態で出力されることができる。
【0035】
スキップモードとマージモードで時間的隣接ブロックの動き情報が利用される場合、参照ピクチャリスト(reference picture list)上の最上位ピクチャが参照ピクチャとして利用されることもできる。参照ピクチャリスト(Picture Order Count)に含まれる参照ピクチャは、現在ピクチャと該当参照ピクチャとの間のPOC(Picture order count)差に基づいて整列されることができる。POCは、ピクチャのディスプレイ順序に対応し、コーディング順序と区分されることができる。
【0036】
減算部121は、原本サンプルと予測サンプルとの間の差であるレジデュアルサンプルを生成する。スキップモードが適用される場合には、前述したようにレジデュアルサンプルを生成しない。
【0037】
変換部122は、変換ブロック単位にレジデュアルサンプルを変換して変換係数(transform coefficient)を生成する。変換部122は、該当変換ブロックのサイズと、該当変換ブロックと空間的に重なるコーディングブロックまたは予測ブロックに適用された予測モードによって変換を実行することができる。例えば、前記変換ブロックと重なる前記コーディングブロックまたは前記予測ブロックにイントラ予測が適用され、前記変換ブロックが4×4のレジデュアルアレイ(array)である場合、レジデュアルサンプルは、DST(Discrete Sine Transform)変換カーネルを利用して変換され、その他の場合、レジデュアルサンプルは、DCT(Discrete Cosine Transform)変換カーネルを利用して変換できる。
【0038】
量子化部123は、変換係数を量子化し、量子化された変換係数を生成することができる。
【0039】
再整列部124は、量子化された変換係数を再整列する。再整列部124は、係数スキャニング(scanning)方法を介してブロック形態の量子化された変換係数を1次元ベクトル形態で再整列できる。ここで、再整列部124は、別途の構成で説明したが、量子化部123の一部であってもよい。
【0040】
エントロピーエンコーディング部130は、量子化された変換係数に対するエントロピーエンコーディングを実行することができる。エントロピーエンコーディングは、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などのようなエンコーディング方法を含むことができる。エントロピーエンコーディング部130は、量子化された変換係数外にビデオ復元に必要な情報(例えば、シンタックス要素(syntax element)の値等)を共にまたは別途にエントロピーエンコーディングまたは既設定された方法によってエンコーディングすることもできる。エンコーディングされた情報は、ビットストリーム形態でNAL(network abstraction layer)ユニット単位で送信または格納されることができる。前記ビットストリームは、ネットワークを介して送信されることができ、またはデジタル格納媒体に格納されることができる。ここで、ネットワークは、放送網及び/または通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。
【0041】
逆量子化部125は、量子化部123で量子化された値(量子化された変換係数)を逆量子化し、逆変換部126は、逆量子化部125で逆量子化された値を逆変換してレジデュアルサンプルを生成する。
【0042】
加算部140は、レジデュアルサンプルと予測サンプルを加算してピクチャを復元する。レジデュアルサンプルと予測サンプルは、ブロック単位に加算されて復元ブロックが生成されることができる。ここで、加算部140は、別途の構成で説明したが、予測部110の一部であってもよい。一方、加算部140は、復元部(reconstruction module)または復元ブロック生成部とも呼ばれる。
【0043】
復元されたピクチャ(reconstructed picture)に対してフィルタ部150は、デブロッキングフィルタ及び/またはサンプル適応的オフセット(sample adaptive offset)を適用することができる。デブロッキングフィルタリング及び/またはサンプル適応的オフセットを介して、復元ピクチャ内のブロック境界のアーチファクトや量子化過程での歪曲が補正されることができる。サンプル適応的オフセットは、サンプル単位に適用されることができ、デブロッキングフィルタリングの過程が完了した後に適用されることができる。フィルタ部150は、ALF(Adaptive Loop Filter)を復元されたピクチャに適用することもできる。ALFは、デブロッキングフィルタ及び/またはサンプル適応的オフセットが適用された後の復元されたピクチャに対して適用されることができる。
【0044】
メモリ160は、復元ピクチャ(デコーディングされたピクチャ)またはエンコーディング/デコーディングに必要な情報を格納することができる。ここで、復元ピクチャは、前記フィルタ部150によりフィルタリング手順が完了した復元ピクチャである。前記格納された復元ピクチャは、他のピクチャの(インター)予測のための参照ピクチャとして活用されることができる。例えば、メモリ160は、インター予測に使われる(参照)ピクチャを格納することができる。このとき、インター予測に使われるピクチャは、参照ピクチャセット(reference picture set)または参照ピクチャリスト(reference picture list)により指定されることができる。
【0045】
図2は、本発明が適用されることができるビデオ/映像デコーディング装置(video decoding apparatus)の構成を概略的に説明する図面である。以下、ビデオデコーディング装置とは、映像デコーディング装置を含むことができる。
【0046】
図2を参照すると、ビデオデコーディング装置200は、エントロピーデコーディング部(entropy decoding module)210、レジデュアル処理部(residual processing module)220、予測部(prediction module)230、加算部(adder)240、フィルタ部(filtering module)250、及びメモリ(memory)260を含むことができる。ここで、レジデュアル処理部220は、再整列部(rearrangement module)221、逆量子化部(dequantization module)222、逆変換部(inverse transform module)223を含むことができる。また、図示されていないが、ビデオデコーディング装置200は、ビデオ情報を含むビットストリームを受信する受信部を含むことができる。前記受信部は、別途のモジュールで構成されることもでき、またはエントロピーデコーディング部210に含まれることもできる。
【0047】
ビデオ/映像情報を含むビットストリームが入力されると、ビデオデコーディング装置200は、ビデオエンコーディング装置でビデオ/映像情報が処理されたプロセスに対応してビデオ/映像/ピクチャを復元することができる。
【0048】
例えば、ビデオデコーディング装置200は、ビデオエンコーディング装置で適用された処理ユニットを利用してビデオデコーディングを実行することができる。したがって、ビデオデコーディングの処理ユニットブロックは、一例としてコーディングユニットであり、他の例としてコーディングユニット、予測ユニットまたは変換ユニットである。コーディングユニットは、最大コーディングユニットからクアッドツリー構造、バイナリツリー構造及び/またはターナリツリー構造によって分割されることができる。
【0049】
予測ユニット及び変換ユニットが場合によってさらに使用されることができ、この場合、予測ブロックは、コーディングユニットから導出またはパーティショニングされるブロックであって、サンプル予測のユニットである。このとき、予測ユニットは、サブブロックに分けられることもできる。変換ユニットは、コーディングユニットからクアッドツリー構造によって分割されることができ、変換係数を誘導するユニットまたは変換係数からレジデュアル信号を誘導するユニットである。
【0050】
エントロピーデコーディング部210は、ビットストリームをパーシングしてビデオ復元またはピクチャ復元に必要な情報を出力することができる。例えば、エントロピーデコーディング部210は、指数ゴロム符号化、CAVLCまたはCABACなどのコーディング方法に基づいてビットストリーム内の情報をデコーディングし、ビデオ復元に必要なシンタックスエレメントの値、レジデュアルに対する変換係数の量子化された値を出力することができる。
【0051】
より詳細に、CABACエントロピーデコーディング方法は、ビットストリームで各シンタックス要素に該当するBINを受信し、デコーディング対象シンタックス要素情報と隣接及びデコーディング対象ブロックのデコーディング情報または以前ステップでデコーディングされたシンボル/BINの情報を利用してコンテキスト(context)モデルを決定し、決定されたコンテキストモデルによってBINの発生確率を予測してBINの算術デコーディング(arithmetic decoding)を実行することで、各シンタックス要素の値に該当するシンボルを生成することができる。このとき、CABACエントロピーデコーディング方法は、コンテキストモデル決定後、次のシンボル/BINのコンテキストモデルのためにデコーディングされたシンボル/BINの情報を利用してコンテキストモデルをアップデートすることができる。
【0052】
エントロピーデコーディング部210でデコーディングされた情報のうち予測に対する情報は、予測部230に提供され、エントロピーデコーディング部210でエントロピーデコーディングが実行されたレジデュアル値、即ち、量子化された変換係数は、再整列部221に入力されることができる。
【0053】
再整列部221は、量子化されている変換係数を2次元のブロック形態で再整列できる。再整列部221は、エンコーディング装置で実行された係数スキャニングに対応して再整列を実行することができる。ここで、再整列部221は、別途の構成で説明したが、逆量子化部222の一部であってもよい。
【0054】
逆量子化部222は、量子化されている変換係数を(逆)量子化パラメータに基づいて逆量子化して変換係数を出力することができる。このとき、量子化パラメータを誘導するための情報は、エンコーディング装置からシグナリングされることができる。
【0055】
逆変換部223は、変換係数を逆変換してレジデュアルサンプルを誘導することができる。
【0056】
予測部230は、現在ブロックに対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部230で実行される予測の単位は、コーディングブロック、または変換ブロック、または予測ブロックである。
【0057】
予測部230は、前記予測に対する情報に基づいて、イントラ予測を適用するか、またはインター予測を適用するかを決定することができる。このとき、イントラ予測とインター予測のうちいずれかを適用するかを決定する単位と予測サンプルを生成する単位は異なる。併せて、インター予測とイントラ予測において、予測サンプルを生成する単位も異なる。例えば、インター予測とイントラ予測のうちいずれかを適用するかは、CU単位に決定できる。また、例えば、インター予測において、PU単位に予測モードを決定して予測サンプルを生成することができ、イントラ予測において、PU単位に予測モードを決定し、TU単位に予測サンプルを生成することもできる。
【0058】
イントラ予測の場合、予測部230は、現在ピクチャ内の隣接参照サンプルに基づいて現在ブロックに対する予測サンプルを誘導することができる。予測部230は、現在ブロックの隣接参照サンプルに基づいて方向性モードまたは非方向性モードを適用して現在ブロックに対する予測サンプルを誘導することができる。このとき、隣接ブロックのイントラ予測モードを利用して現在ブロックに適用する予測モードが決定されることもできる。
【0059】
インター予測の場合、予測部230は、参照ピクチャ上で動きベクトルにより参照ピクチャ上で特定されるサンプルに基づいて現在ブロックに対する予測サンプルを誘導することができる。予測部230は、スキップ(skip)モード、マージ(merge)モード、及びMVPモードのうちいずれか一つを適用して現在ブロックに対する予測サンプルを誘導することができる。このとき、ビデオエンコーディング装置で提供された現在ブロックのインター予測に必要な動き情報、例えば、動きベクトル、参照ピクチャインデックスなどに対する情報は、前記予測に対する情報に基づいて取得または誘導されることができる。
【0060】
スキップモードとマージモードの場合、隣接ブロックの動き情報が現在ブロックの動き情報として利用されることができる。このとき、隣接ブロックは、空間的隣接ブロックと時間的隣接ブロックを含むことができる。
【0061】
予測部230は、可用な隣接ブロックの動き情報でマージ候補リストを構成し、マージインデックスがマージ候補リスト上で指示する情報を現在ブロックの動きベクトルとして使用することができる。マージインデックスは、エンコーディング装置からシグナリングされることができる。動き情報は、動きベクトルと参照ピクチャを含むことができる。スキップモードとマージモードで時間的隣接ブロックの動き情報が利用される場合、参照ピクチャリスト上の最上位ピクチャが参照ピクチャとして利用されることができる。
【0062】
スキップモードの場合、マージモードと違って予測サンプルと原本サンプルとの間の差(レジデュアル)が送信されない。
【0063】
MVPモードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として利用して現在ブロックの動きベクトルが誘導されることができる。このとき、隣接ブロックは、空間的隣接ブロックと時間的隣接ブロックを含むことができる。
【0064】
一例として、マージモードが適用される場合、復元された空間的隣接ブロックの動きベクトル及び/または時間的隣接ブロックであるColブロックに対応する動きベクトルを利用し、マージ候補リストが生成されることができる。マージモードではマージ候補リストから選択された候補ブロックの動きベクトルが現在ブロックの動きベクトルとして使われる。前記予測に対する情報は、前記マージ候補リストに含まれている候補ブロックの中から選択された最適の動きベクトルを有する候補ブロックを指示するマージインデックスを含むことができる。このとき、予測部230は、前記マージインデックスを利用し、現在ブロックの動きベクトルを導出することができる。
【0065】
他の例として、MVP(Motion Vector Prediction)モードが適用される場合、復元された空間的隣接ブロックの動きベクトル及び/または時間的隣接ブロックであるColブロックに対応する動きベクトルを利用し、動きベクトル予測子候補リストが生成されることができる。即ち、復元された空間的隣接ブロックの動きベクトル及び/または時間的隣接ブロックであるColブロックに対応する動きベクトルは、動きベクトル候補として使われることができる。前記予測に対する情報は、前記リストに含まれている動きベクトル候補の中から選択された最適の動きベクトルを指示する予測動きベクトルインデックスを含むことができる。このとき、予測部230は、前記動きベクトルインデックスを利用し、動きベクトル候補リストに含まれている動きベクトル候補の中から、現在ブロックの予測動きベクトルを選択することができる。エンコーディング装置の予測部は、現在ブロックの動きベクトルと動きベクトル予測子との間の動きベクトル差分(MVD)を求めることができ、これをエンコーディングしてビットストリーム形態で出力できる。即ち、MVDは、現在ブロックの動きベクトルから前記動きベクトル予測子を引いた値として求められる。このとき、予測部230は、前記予測に対する情報に含まれている動きベクトル差分を取得し、前記動きベクトル差分と前記動きベクトル予測子の加算を介して現在ブロックの前記動きベクトルを導出することができる。また、予測部は、参照ピクチャを指示する参照ピクチャインデックスなどを前記予測に対する情報から取得または誘導できる。
【0066】
加算部240は、レジデュアルサンプルと予測サンプルを加算して現在ブロックまたは現在ピクチャを復元することができる。加算部240は、レジデュアルサンプルと予測サンプルをブロック単位に加算して現在ピクチャを復元することもできる。スキップモードが適用された場合にはレジデュアルが送信されないため、予測サンプルが復元サンプルになることができる。ここで、加算部240は、別途の構成で説明したが、予測部230の一部であってもよい。一方、加算部240は、復元部(reconstruction module)または復元ブロック生成とも呼ばれる。
【0067】
フィルタ部250は、復元されたピクチャにデブロッキングフィルタリングサンプル適応的オフセット、及び/またはALFなどを適用することができる。このとき、サンプル適応的オフセットは、サンプル単位に適用されることができ、デブロッキングフィルタリング以後に適用されることもできる。ALFは、デブロッキングフィルタリング及び/またはサンプル適応的オフセット以後に適用されることもできる。
【0068】
メモリ260は、復元ピクチャ(デコーディングされたピクチャ)またはデコーディングに必要な情報を格納することができる。ここで、復元ピクチャは、前記フィルタ部250によりフィルタリング手順が完了した復元ピクチャである。例えば、メモリ260は、インター予測に使われるピクチャを格納することができる。このとき、インター予測に使われるピクチャは、参照ピクチャセットまたは参照ピクチャリストにより指定されることもできる。復元されたピクチャは、他のピクチャに対する参照ピクチャとして利用されることができる。また、メモリ260は、復元されたピクチャを出力順序によって出力することもできる。
【0069】
一方、前述したように、ビデオコーディングを実行するにあたって圧縮効率を上げるために予測を実行する。それによって、コーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、前記予測されたブロックは、空間ドメイン(または、ピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコーディング装置及びデコーディング装置で同じに導出され、前記エンコーディング装置は、原本ブロックの原本サンプル値自体でない前記原本ブロックと前記予測されたブロックとの間のレジデュアルに対する情報(レジデュアル情報)をデコーディング装置でシグナリングすることで映像コーディング効率を上げることができる。デコーディング装置は、前記レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックを加算して復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
【0070】
前記レジデュアル情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコーディング装置は、前記原本ブロックと前記予測されたブロックとの間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれているレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を実行して変換係数を導出し、前記変換係数に量子化手順を実行して量子化された変換係数を導出することで、関連したレジデュアル情報を(ビットストリームを介して)デコーディング装置でシグナリングできる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコーディング装置は、前記レジデュアル情報に基づいて逆量子化/逆変換手順を実行してレジデュアルサンプル(または、レジデュアルブロック)を導出することができる。デコーディング装置は、予測されたブロックと前記レジデュアルブロックに基づいて復元ピクチャを生成することができる。また、エンコーディング装置は、以後ピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成することができる。
【0071】
図3は、本発明による多重変換技法を概略的に示す。
【0072】
図3を参照すると、変換部は、前述した図1のエンコーディング装置内の変換部に対応されることができ、逆変換部は、前述した図1のエンコーディング装置内の逆変換部または図2のデコーディング装置内の逆変換部に対応されることができる。
【0073】
変換部は、レジデュアルブロック内のレジデュアルサンプル(レジデュアルサンプルアレイ)に基づいて1次変換を実行して(1次)変換係数を導出することができる(S310)。ここで、前記1次変換は、多重変換セット(Multiple Transform Set、MTS)を含むことができる。多重変換セットは、場合によって、適応的多重核心変換(adaptive multiple core transform)とも呼ばれる。
【0074】
適応的多重核心変換は、DCT(Discrete Cosine Transform)タイプ2とDST(Discrete Sine Transform)タイプ7、DCTタイプ8、及び/またはDSTタイプ1を追加的に使用して変換する方式を示すことができる。即ち、前記多重核心変換は、前記DCTタイプ2、前記DSTタイプ7、前記DCTタイプ8、及び前記DSTタイプ1の中から選択された複数の変換カーネルに基づいて空間ドメインのレジデュアル信号(または、レジデュアルブロック)を周波数ドメインの変換係数(または、1次変換係数)に変換する変換方法を示すことができる。ここで、前記1次変換係数は、変換部立場で臨時変換係数と呼ばれる。
【0075】
即ち、既存の変換方法が適用される場合、DCTタイプ2に基づいてレジデュアル信号(または、レジデュアルブロック)に対する空間ドメインから周波数ドメインへの変換が適用されて変換係数が生成されることができた。それと違って、前記適応的多重核心変換が適用される場合、DCTタイプ2、DSTタイプ7、DCTタイプ8、及び/またはDSTタイプ1などに基づいてレジデュアル信号(または、レジデュアルブロック)に対する空間ドメインから周波数ドメインへの変換が適用されて変換係数(または、1次変換係数)が生成されることができる。ここで、DCTタイプ2、DSTタイプ7、DCTタイプ8、及びDSTタイプ1等は、変換タイプ、変換カーネル(kernel)または変換コア(core)と呼ばれる。
【0076】
参考までに、前記DCT/DST変換タイプは、基底関数に基づいて定義されることができ、前記基底関数は、以下の表のように示される。
【0077】
【表1】
【0078】
前記適応的多重核心変換が実行される場合、前記変換カーネルの中から対象ブロックに対する垂直変換カーネル及び水平変換カーネルが選択されることができ、前記垂直変換カーネルに基づいて前記対象ブロックに対する垂直変換が実行され、前記水平変換カーネルに基づいて前記対象ブロックに対する水平変換が実行されることができる。ここで、前記水平変換は、前記対象ブロックの水平成分に対する変換を示すことができ、前記垂直変換は、前記対象ブロックの垂直成分に対する変換を示すことができる。前記垂直変換カーネル/水平変換カーネルは、レジデュアルブロックを取り囲む(encompass)対象ブロック(CUまたはサブブロック)の予測モード及び/または変換サブセットを指す変換インデックスに基づいて適応的に決定されることができる。
【0079】
変換部は、前記(1次)変換係数に基づいて2次変換を実行して(2次)変換係数を導出することができる(S320)。前記1次変換が空間ドメインから周波数ドメインへの変換である場合、前記2次変換は周波数ドメインから周波数ドメインへの変換であるとみることができる。前記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次変換係数)を生成する変換方法を示すことができる。前記非分離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)が8より小さいという条件のみを満たしても、4×4非分離2次変換が前記変換係数ブロックの左上段min(8,W)×min(8,H)領域に対して適用されることもできる。
【0080】
具体的に、例えば、4×4入力ブロックが使われる場合、非分離2次変換は、下記のように実行されることができる。
【0081】
前記4×4入力ブロックXは、以下のように示される。
【0082】
【数1】
【0083】
前記Xをベクトル形態で表す場合、ベクトル
は、以下のように示される。
【0084】
【数2】
【0085】
この場合、前記2次非分離変換は、以下のように計算されることができる。
【0086】
【数3】
【0087】
ここで、
は変換係数ベクトルを示し、Tは16×16(非分離)変換マトリクスを示す。
【0088】
前記数式3を介して16×1変換係数ベクトル
が導出されることができ、前記
は、スキャン順序(水平、垂直、対角(diagonal)等)を介して4×4ブロックで再構成(re-organized)されることができる。ただし、前述した計算は、例示に過ぎず、非分離2次変換の計算複雑度を減らすためにHyGT(Hypercube-Givens Transsform)などが非分離2次変換の計算のために使われることもできる。
【0089】
一方、前記非分離2次変換は、モードベースの(mode dependent)変換カーネル(または、変換コア、変換タイプ)が選択されることができる。ここで、モードは、イントラ予測モード及び/またはインター予測モードを含むことができる。
【0090】
前述したように、前記非分離2次変換は、前記変換係数ブロックの幅(W)及び高さ(H)に基づいて決定された8×8変換または4×4変換に基づいて実行されることができる。即ち、前記非分離2次変換は、8×8サブブロックサイズまたは4×4サブブロックサイズに基づいて実行されることができる。例えば、前記モードベースの変換カーネル選択のために、8×8サブブロックサイズ及び4×4サブブロックサイズの両方ともに対して非分離2次変換のための3個ずつ35個セットの非分離2次変換カーネルが構成されることができる。即ち、8×8サブブロックサイズに対して35個の変換セットが構成され、4×4サブブロックサイズに対して35個の変換セットが構成されることができる。この場合、8×8サブブロックサイズに対する35個の変換セットには、各々、3個ずつの8×8変換カーネルが含まれることができ、4×4サブブロックサイズに対する35個の変換セットには、各々、3個ずつの4×4変換カーネルが含まれることができる。ただし、前記変換サブブロックサイズ、前記セットの数及びセット内の変換カーネルの数は、例示に過ぎず、8×8または4×4以外のサイズが使われることができ、またはn個のセットが構成され、各セット内にk個の変換カーネルが含まれることもできる。
【0091】
前記変換セットはNSSTセットと呼ばれ、前記NSSTセット内の変換カーネルはNSSTカーネルと呼ばれる。前記変換セットのうち特定セットの選択は、例えば、対象ブロック(CUまたはサブブロック)のイントラ予測モードに基づいて実行されることができる。
【0092】
参考までに、例えば、イントラ予測モードは、2個の非方向性(non-directinoal、または非角度性(non-angular))イントラ予測モードと65個の方向性(directional、または角度性(angular))イントラ予測モードを含むことができる。前記非方向性イントラ予測モードは、0番であるプラナー(planar)イントラ予測モード及び1番であるDCイントラ予測モードを含むことができ、前記方向性イントラ予測モードは、2番乃至66番の65個のイントラ予測モードを含むことができる。ただし、これは例示に過ぎず、本発明はイントラ予測モードの数が異なる場合にも適用されることができる。一方、場合によって、67番イントラ予測モードがさらに使用されることができ、前記67番イントラ予測モードは、LM(linear model)モードを示すことができる。
【0093】
図4は、65個の予測方向のイントラ方向性モードを例示的に示す。
【0094】
図4を参照すると、左上向対角予測方向を有する34番イントラ予測モードを中心に水平方向性(horizontal directionality)を有するイントラ予測モードと垂直方向性(vertical directionality)を有するイントラ予測モードを区分することができる。図3のHとVは、各々、水平方向性と垂直方向性を意味し、-32~32の数字は、サンプルグリッドポジション(sample grid position)上で1/32単位の変位を示す。2番乃至33番イントラ予測モードは水平方向性を有し、34番乃至66番イントラ予測モードは垂直方向性を有する。18番イントラ予測モードと50番イントラ予測モードは、各々、水平イントラ予測モード(horizontal intra prediction mode)、垂直イントラ予測モード(vertical intra prediction mode)を示し、2番イントラ予測モードは左下向対角イントラ予測モードと呼ばれ、34番イントラ予測モードは左上向対角イントラ予測モードと呼ばれ、66番イントラ予測モードは右上向対角イントラ予測モードと呼ばれる。
【0095】
この場合、前記35個の変換セットと前記イントラ予測モードとの間のマッピング(mapping)は、例えば、以下の表のように示される。参考までに、対象ブロックにLMモードが適用される場合。前記対象ブロックに対しては2次変換が適用されない。
【0096】
【表2】
【0097】
一方、特定セットが使われると決定される場合、非分離2次変換インデックスを介して前記特定セット内のk個の変換カーネルの中から一つが選択されることができる。エンコーディング装置は、RD(rate-distortion)チェックに基づいて特定変換カーネルを指す非分離2次変換インデックスを導出することができ、前記非分離2次変換インデックスをデコーディング装置でシグナリングできる。デコーディング装置は、前記非分離2次変換インデックスに基づいて特定セット内のk個の変換カーネルの中から一つを選択することができる。例えば、NSSTインデックス値0は、1番目の非分離2次変換カーネルを指すことができ、NSSTインデックス値1は、2番目の非分離2次変換カーネルを指すことができ、NSSTインデックス値2は、3番目の非分離2次変換カーネルを指すことができる。または、NSSTインデックス値0は、対象ブロックに対して1番目の非分離2次変換が適用されないことを指すことができ、NSSTインデックス値1乃至3は、前記3個の変換カーネルを指すことができる。
【0098】
再び、図3を参照すると、変換部は、選択された変換カーネルに基づいて前記非分離2次変換を実行して(2次)変換係数を取得することができる。前記変換係数は、前述したように量子化部を介して量子化された変換係数として導出されることができ、エンコーディングされてデコーディング装置でシグナリング及びエンコーディング装置内の逆量子化/逆変換部に伝達されることができる。
【0099】
一方、前述したように2次変換が省略される場合、前記1次(分離)変換の出力である(1次)変換係数が前述したように量子化部を介して量子化された変換係数として導出されることができ、エンコーディングされてデコーディング装置でシグナリング及びエンコーディング装置内の逆量子化/逆変換部に伝達されることができる。
【0100】
逆変換部は、前述した変換部で実行された手順の逆順に一連の手順を実行することができる。逆変換部は(逆量子化された)変換係数を受信し、2次(逆)変換を実行して(1次)変換係数を導出し(S350)、前記(1次)変換係数に対して1次(逆)変換を実行してレジデュアルブロック(レジデュアルサンプル)を取得することができる。ここで、前記1次変換係数は、逆変換部立場で修正された(modified)変換係数と呼ばれる。エンコーディング装置及びデコーディング装置は、前記レジデュアルブロックと予測されたブロックに基づいて復元ブロックを生成し、これに基づいて復元ピクチャを生成することができることは前述した通りである。
【0101】
一方、前述したように2次(逆)変換が省略される場合、(逆量子化された)変換係数を受信して前記1次(分離)変換を実行することでレジデュアルブロック(レジデュアルサンプル)を取得することができる。エンコーディング装置及びデコーディング装置は、前記レジデュアルブロックと予測されたブロックに基づいて復元ブロックを生成し、これに基づいて復元ピクチャを生成することができることは前述した通りである。
【0102】
図5a乃至図5cは、本発明の一実施例に係る簡素化変換を説明するための図面である。
【0103】
図3で前述したように、非分離2次変換(以下‘NSST’という)において、1次変換を適用して取得した変換係数のブロックデータをM×Mブロックに分割した後、各M×Mブロックに対してM×M NSSTが実行されることができる。Mは、例えば、4または8であるが、これに限定されるものではない。
【0104】
×M NSSTは、行列積の形態で適用されることもできるが、計算量とメモリ要求量の低減のために、NSSTの演算のために図3で前述したHyGT(Hypercube-Givens Transform)が使われることができる。HyGTは、直交変換(orthogonal transform)であり、HyGTは、直交マトリクスG(m,n,θ)により定義されるGivens rotation Gi、j(m,n)を基本構成要素として含むことができる。Givens rotation Gi、j(m,n)は、以下の数式4の通りである。
【0105】
【数4】
【0106】
数式4に基づくGivens rotationは、図5aのように示すことができる。数式4及び図5aを参照すると、一つのGivens rotationは、一つの角度(θ)のみで記述されることを確認することができる。
【0107】
図5bは、16×16 NSSTを構成する一つのroundの一例を示す。より具体的に、HyGTは、ハイパーキューブ整列(hypercube arrangement)でGivens rotationを組み合わせることで実行されることができ、16個のエレメントに対するHyGTのフローは、図5bのようにバタフライ(butterfly)形態で示すことができる。図5bのように、一つのroundは4個のGivens rotation layerで構成され、各Givens rotation layerは8個のGivens rotationで構成され、各Givens rotationは、図5bで提示する連結構成のように入力データ2個を選択して回転変換を適用した後、該当選択位置にそのまま出力する構造からなることができる。16×16 NSSTは、2番のroundと1番のpermutation layerを順次に適用でき、該当permutation layerを介して16個のデータを任意に混ぜることができる。2番のroundは、全て図5bのように連結されることができるが、二つのroundに対するGivens rotation layerは、全て異なることがある。
【0108】
64×64 NSSTは、64個の入力と出力を有するGivens rotation layerで構成され、16×16 NSSTと同様に、少なくとも一回以上roundが適用されることができ、一回のroundは、図5bと類似した方式で連結された6個のGivens rotation layerで構成されることができる。一例において、64×64 NSSTは、4個のroundが適用されることができ、以後64個のデータを任意に混ぜるためのpermutation layerが適用されることができる。4個のroundの各々に対するGivens rotation layerの各々は、互いに異なることがある。
【0109】
図5bは、逆方向変換に適用されるroundを示す。逆方向変換を適用する時は、まず、逆方向permutation layerが適用された後、最後のroundから最初のroundの順に図5bの下から上に向かう方向に沿って該当Givens rotationが適用されることができる。逆方向NSSTの各Givens rotationに該当する角度は、該当逆方向角度に-符号を適用した値になることができる。
【0110】
コーディング効率を増加させるために、一つ以上のHyGTラウンドが利用されることができる。図5cに示すように、NSSTは、R個のHyGTラウンドで構成されることができ、追加的にsorting passを含むことができる。sorting passは、optional permutation passと解釈されることもでき、分散(variance)に基づいて変換係数をソーティング(sorting)することができる。一例示として、2-round HyGTは、16×16 NSSTに適用されることができ、4-round HyGTは、64×64 NSSTに適用されることができる。
【0111】
図6は、本発明の一実施例に係る簡素化変換を説明するための図面である。
【0112】
本明細書において、“対象ブロック”は、コーディングが実行される現在ブロックまたはレジデュアルブロックを意味する。
【0113】
本明細書において、“簡素化変換”は、簡素化ファクタ(factor)によって大きさが減少された変換マトリクス(transform matrix)に基づいて対象ブロックに対するレジデュアルサンプルに対して実行される変換を意味する。簡素化変換を実行する場合、変換マトリクスの大きさ減少によって変換時に要求される演算量が減少されることができる。即ち、簡素化変換は、大きさが大きいブロックの変換または非分離変換時に発生する演算複雑度(complexity)問題を解消するために利用されることができる。簡素化変換は、1次変換(または、コア変換(core transform)と呼ばれる。1次変換は、例えば、DCT、DSTなどを含む)、2次変換(例えば、NSSTがある)など、どのような類型の変換にも利用されることができる。
【0114】
簡素化変換は、減少された変換、減少変換、reduced transform、reduced secondary transform、reduction transform、simplified transform、simple transform、RTS、RST等、多様な用語で呼ばれることもでき、簡素化変換と呼ばれる名称は、羅列された例示に限定されるものではない。
【0115】
一実施例に係る簡素化変換において、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値を意味することもある。
【0116】
一実施例において、簡素化ファクタまたは簡素化係数は、ビットストリームを介してシグナリングされることができるが、実施例がこれに限定されるものではない。例えば、簡素化ファクタまたは簡素化係数に対する既定義された値が各エンコーディング装置100及びデコーディング装置200に格納されている場合があり、この場合、簡素化ファクタまたは簡素化係数は、別途にシグナリングされない。
【0117】
一実施例に係る簡素化変換マトリクスのサイズは、通常の変換マトリクスのサイズN×Nより小さいR×Nであり、以下の数式5のように定義されることができる。
【0118】
【数5】
【0119】
図6の(a)に示すReduced Transformブロック内のマトリクスTは、数式5のマトリクスTRxNを意味する。図6の(a)のように対象ブロックに対するレジデュアルサンプルに対して簡素化変換マトリクスTRxNが掛けられる場合、対象ブロックに対する変換係数が導出されることができる。
【0120】
一実施例において、変換が適用されるブロックのサイズが8×8であり、R=16であり(即ち、R/N=16/64=1/4)、対象ブロックのサイズが64×64である場合、図6の(a)による簡素化変換は、以下の数式6のような行列演算で表現されることができる。
【0121】
【数6】
【0122】
数式6において、r乃至r64は、対象ブロックに対するレジデュアルサンプルを示すことができる。数式6の演算結果、対象ブロックに対する変換係数cが導出されることができ、cの導出過程は、数式7の通りである。
【0123】
【数7】
【0124】
数式7の演算結果、対象ブロックに対する変換係数c乃至cが導出されることができる。即ち、R=16である場合、対象ブロックに対する変換係数c乃至c16が導出されることができる。もし、簡素化変換でなく通常の(regular)変換が適用されてサイズが64×64(N×N)である変換マトリクスが、サイズが64×1(N×1)であるレジデュアルサンプルを含むマトリクスに掛けられた場合、対象ブロックに対する変換係数が64個(N個)導出されるが、簡素化変換が適用されたため、対象ブロックに対する変換係数が16個(R個)のみ導出される。対象ブロックに対する変換係数の総個数がN個からR個に減少してエンコーディング装置100がデコーディング装置200に送信するデータの量が減少するため、エンコーディング装置100-デコーディング装置200間の送信効率が増加できる。
【0125】
変換マトリクスのサイズ観点で検討すると、通常の変換マトリクスのサイズは64×64(N×N)であり、それに対して、簡素化変換マトリクスのサイズは16×64(R×N)に減少するため、通常の変換を実行する時と比較する場合、簡素化変換を実行する時にメモリ使用をR/N割合で減少させることができる。また、通常の変換マトリクスを利用する時の掛け算演算数N×Nと比較する場合、簡素化変換マトリクスを利用すると、掛け算演算数をR/N割合で減少(R×N)させることができる。
【0126】
一実施例において、エンコーディング装置100の変換部122で対象ブロックに対するレジデュアルサンプルを変換して対象ブロックに対する変換係数が導出されることができ、対象ブロックに対する変換係数は、デコーディング装置200の逆変換部に伝達されることができ、デコーディング装置200の逆変換部223は、対象ブロックに対する変換係数を逆変換することができる。対象ブロックに対する変換係数に実行された逆変換に基づいて、対象ブロックに対するレジデュアルサンプルが導出されることができる。即ち、(簡素化)逆変換による細部動作は、(簡素化)変換による細部動作と順序のみが正反対であり、それに対して、(簡素化)逆変換による細部動作と(簡素化)変換による細部動作は、実質的に類似する。
【0127】
一実施例に係る簡素化逆変換マトリクスTNxRのサイズは、通常の逆変換マトリクスのサイズN×Nより小さいN×Rであり、数式5に示す簡素化変換マトリクスTRxNとトランスポーズ(transpose)関係にある。
【0128】
図6の(b)に示すReduced Inv.Transformブロック内のマトリクスTは、簡素化逆変換マトリクスTNxRを意味する。図6の(b)のように対象ブロックに対する変換係数に対して簡素化逆変換マトリクスTNxRが掛けられる場合、対象ブロックに対する1次変換係数または対象ブロックに対するレジデュアルサンプルが導出されることができる。
【0129】
より具体的に、2次逆変換に基づいて簡素化逆変換が適用される場合、対象ブロックに対する変換係数に対して簡素化逆変換マトリクスTNxRが掛けられると、対象ブロックに対する1次変換係数が導出されることができる。それに対して、1次逆変換に基づいて簡素化逆変換が適用される場合、対象ブロックに対する変換係数に対して簡素化逆変換マトリクスTNxRが掛けられると、対象ブロックに対するレジデュアルサンプルが導出されることができる。
【0130】
一実施例において、逆変換が適用されるブロックのサイズが8×8であり、R=16であり(即ち、R/N=16/64=1/4)、対象ブロックのサイズが64×64である場合、図6の(b)による簡素化逆変換は、以下の数式8のような行列演算で表現されることができる。
【0131】
【数8】
【0132】
数式8において、c乃至c16は、対象ブロックに対する変換係数を示すことができる。数式8の演算結果、対象ブロックに対する1次変換係数または対象ブロックに対するレジデュアルサンプルを示すrが導出されることができ、rの導出過程は、数式9の通りである。
【0133】
【数9】
【0134】
数式9の演算結果、対象ブロックに対する1次変換係数または対象ブロックに対するレジデュアルサンプルを示すr乃至rが導出されることができる。逆変換マトリクスのサイズ観点で検討すると、通常の逆変換マトリクスのサイズは64×64(N×N)であり、それに対して、簡素化逆変換マトリクスのサイズは64×16(N×R)に減少するため、通常の逆変換を実行する時と比較する場合、簡素化逆変換を実行する時にメモリ使用をR/N割合で減少させることができる。また、通常の逆変換マトリクスを利用する時の掛け算演算数N×Nと比較する場合、簡素化逆変換マトリクスを利用すると、掛け算演算数をR/N割合で減少(N×R)させることができる。
【0135】
図7は、本発明の一実施例に係る簡素化変換過程を示す流れ図である。
【0136】
図7に開示された各ステップは、図2に開示されたデコーディング装置200により実行されることができる。より具体的に、S700は、図2に開示された逆量子化部222により実行されることができ、S710及びS720は、図2に開示された逆変換部223により実行されることができる。したがって、図2で前述された内容と重複する具体的な内容は、説明を省略したり簡単にする。
【0137】
一実施例において、図6で前述したように、(簡素化)変換による細部動作は、(簡素化)逆変換による細部動作と順序のみが正反対であり、それに対して、(簡素化)変換による細部動作と(簡素化)逆変換による細部動作は、実質的に類似する。したがって、当該技術分野の通常の技術者は、以下で説明される簡素化逆変換に対するS700乃至S720の説明が簡素化変換にも同一または類似に適用可能であることを容易に理解することができる。
【0138】
一実施例に係るデコーディング装置200は、対象ブロックに対する量子化された変換係数に対して逆量子化を実行して変換係数を導出することができる(S700)。
【0139】
一実施例に係るデコーディング装置200は、変換カーネル(transform kernel)を選択することができる(S710)。より具体的に、デコーディング装置200は、変換インデックス、変換が適用される領域の幅(width)及び高さ(height)、映像デコーディングで利用されるイントラ予測モード、並びに対象ブロックの色相成分(color component)に対する情報のうち少なくとも一つに基づいて変換カーネルを選択することができる。ただし、実施例はこれに限定されるものではなく、例えば、変換カーネルは既定義されたものであって、変換カーネルを選択するための別途の情報がシグナリングされない場合もある。
【0140】
一例示において、対象ブロックの色相成分に対する情報は、CIdxを介してシグナリングされることができる。対象ブロックがルマ(luma)ブロックである場合、CIdxは0を指示することができ、対象ブロックがクロマ(chroma)ブロック、例えば、CbブロックまたはCrブロックである場合、CIdxは0でない値(例えば、1)を指示することができる。
【0141】
一実施例に係るデコーディング装置200は、選択された変換カーネル及び簡素化ファクタ(reduced factor)に基づいて変換係数に対して簡素化逆変換を適用することができる(S720)。
【0142】
図8は、本発明の他の実施例に係る簡素化変換過程を示す流れ図である。
【0143】
図8に開示された各ステップは、図2に開示されたデコーディング装置200により実行されることができる。より具体的に、S800は、図2に開示された逆量子化部222により実行されることができ、S810乃至S860は、図2に開示された逆変換部223により実行されることができる。したがって、図2で前述された内容と重複する具体的な内容は、説明を省略したり簡単にする。
【0144】
一実施例において、図6で前述したように、(簡素化)変換による細部動作は、(簡素化)逆変換による細部動作と順序のみが正反対であり、それに対して、(簡素化)変換による細部動作と(簡素化)逆変換による細部動作は、実質的に類似する。したがって、当該技術分野の通常の技術者は、以下で説明される簡素化逆変換に対するS800乃至S860の説明が簡素化変換にも同一または類似に適用可能であることを容易に理解することができる。
【0145】
一実施例に係るデコーディング装置200は、対象ブロックに対する量子化された係数に対して逆量子化を実行することができる(S800)。もし、エンコーディング装置100で変換が実行された場合、S800において、デコーディング装置200は、対象ブロックに対する量子化された変換係数に対して逆量子化を実行して対象ブロックに対する変換係数を導出することができる。それに対して、もし、エンコーディング装置100で変換が実行されていない場合、S800において、デコーディング装置200は、対象ブロックに対する量子化されたレジデュアルサンプルに対して逆量子化を実行して対象ブロックに対するレジデュアルサンプルを導出することができる。
【0146】
一実施例に係るデコーディング装置200は、エンコーディング装置100で対象ブロックに対するレジデュアルサンプルに対して変換が実行されたかどうかを判断することができ(S810)、変換が実行されたと判断される場合、変換インデックス(transform index)をパーシング(parsing)(または、ビットストリームからデコーディング)することができる(S820)。変換インデックスは、水平方向の変換のための水平変換インデックス及び垂直方向の変換のための垂直変換インデックスを含むことができる。
【0147】
一例示において、変換インデックスは、1次変換インデックス、コア変換インデックス、及びNSSTインデックスなどを含むことができる。変換インデックスは、例えば、Transform_idxで表現されることができ、NSSTインデックスは、例えば、NSST_idxで表現されることができる。また、水平変換インデックスは、Transform_idx_hで表現され、垂直変換インデックスは、Transform_idx_vで表現されることができる。
【0148】
一実施例に係るデコーディング装置200は、S810において、エンコーディング装置100で対象ブロックに対するレジデュアルサンプルに対して変換が実行されていないと判断される場合、S820乃至S860による動作を省略することができる。
【0149】
一実施例に係るデコーディング装置200は、変換インデックス、変換が適用される領域の幅(width)及び高さ(height)、映像デコーディングで利用されるイントラ予測モード、並びに対象ブロックの色相成分(color component)に対する情報のうち少なくとも一つに基づいて変換カーネル(transform kernel)を選択することができる(S830)。
【0150】
一実施例に係るデコーディング装置200は、対象ブロックに対する変換係数に対して簡素化逆変換を実行する条件に該当するかどうかを判断することができる(S840)。
【0151】
一例示において、簡素化逆変換が適用される領域の幅及び高さが各々第1の係数より大きい場合、デコーディング装置200は、対象ブロックに対する変換係数に対して簡素化逆変換を実行する条件に該当すると判断できる。
【0152】
他の一例示において、簡素化逆変換が適用される領域の幅及び高さの積が第2の係数より大きい且つ簡素化逆変換が適用される領域の幅及び高さのうち小さいものが第3の係数より大きい場合、デコーディング装置200は、対象ブロックに対する変換係数に対して簡素化逆変換を実行する条件に該当すると判断できる。
【0153】
他の一例示において、簡素化逆変換が適用される領域の幅及び高さが各々第4の係数より小さいまたは同じ場合、デコーディング装置200は、対象ブロックに対する変換係数に対して簡素化逆変換を実行する条件に該当すると判断できる。
【0154】
他の一例示において、簡素化逆変換が適用される領域の幅及び高さの積が第5の係数より小さいまたは同じ且つ簡素化逆変換が適用される領域の幅及び高さのうち小さいものが第6の係数より小さいまたは同じ場合、デコーディング装置200は、対象ブロックに対する変換係数に対して簡素化逆変換を実行する条件に該当すると判断できる。
【0155】
他の一例示において、簡素化逆変換が適用される領域の幅及び高さが各々第1の係数より大きい条件、簡素化逆変換が適用される領域の幅及び高さの積が第2の係数より大きい且つ簡素化逆変換が適用される領域の幅及び高さのうち小さいものが第3の係数より大きい条件、簡素化逆変換が適用される領域の幅及び高さが各々第4の係数より小さいまたは同じ条件、並びに簡素化逆変換が適用される領域の幅及び高さの積が第5の係数より小さいまたは同じ且つ簡素化逆変換が適用される領域の幅及び高さのうち小さいものが第6の係数より小さいまたは同じ条件のうち少なくとも一つが満たされる場合、デコーディング装置200は、対象ブロックに対する変換係数に対して簡素化逆変換を実行する条件に該当すると判断できる。
【0156】
前記例示において、第1の係数乃至第6の係数は、任意の既定義された正の整数である。例えば、第1の係数乃至第6の係数は、4、8、16または32である。
【0157】
一実施例に係る簡素化逆変換は、対象ブロックに含まれている正方形領域(即ち、簡素化逆変換が適用される領域の幅と高さの長さが同じ場合)に対して適用されることができ、場合によって簡素化逆変換が適用される領域の幅及び高さが既定義された係数の値(例えば、4、8、16、32等)に固定されることができる。一方、簡素化逆変換が適用される領域は、正方形領域に限定されるものではなく、長方形(rectangular)領域または非長方形(non-rectangular)領域にも簡素化逆変換が適用されることができる。簡素化逆変換が適用される領域に対する、より具体的な説明は図10で後述する。
【0158】
一例示において、簡素化逆変換を実行する条件に該当するかどうかは、変換インデックスに基づいて判断されることができる。即ち、変換インデックスは、対象ブロックに対してどのような変換が実行されたかどうかを指示することができる。
【0159】
一実施例に係るデコーディング装置200は、S840で簡素化逆変換を実行する条件に該当しないと判断される場合、対象ブロックに対する変換係数に対して(通常の(regular))逆変換を実行することができる。図3で前述したように、(逆)変換は、例えば、DCT2、DCT4、DCT5、DCT7、DCT8、DST1、DST4、DST7、NSST、JEM-NSST(HyGT)などを含むことができ、これに限定されるものではない。
【0160】
一実施例に係るデコーディング装置200は、S840で簡素化逆変換を実行する条件に該当すると判断される場合、対象ブロックに対する変換係数に対して簡素化逆変換を実行することができる(S860)。
【0161】
図9は、本発明の一実施例に係る非分離2次変換に基づく簡素化変換過程を示す流れ図である。
【0162】
図9に開示された各ステップは、図2に開示されたデコーディング装置200により実行されることができ、より具体的に、S900は、図2に開示された逆量子化部222により実行されることができ、S910乃至S980は、図2に開示された逆変換部223により実行されることができる。併せて、図9のS900は図8のS800と対応され、図9のS940は図8のS830と対応され、図9のS950は図8のS840と対応されることができる。したがって、図2及び図8で前述された内容と重複する具体的な内容は、説明を省略したり簡単にする。
【0163】
一実施例において、図6で前述したように、(簡素化)変換による細部動作は、(簡素化)逆変換による細部動作と順序のみが正反対であり、それに対して、(簡素化)変換による細部動作と(簡素化)逆変換による細部動作は、実質的に類似する。したがって、当該技術分野の通常の技術者は、以下で説明される簡素化逆変換に対するS900乃至S980の説明が簡素化変換にも同一または類似に適用可能であることを容易に理解することができる。
【0164】
一実施例に係るデコーディング装置200は、対象ブロックに対する量子化された係数に対して逆量子化を実行することができる(S900)。
【0165】
一実施例に係るデコーディング装置200は、エンコーディング装置100で対象ブロックに対するレジデュアルサンプルに対してNSSTが実行されたかどうかを判断することができ(S910)、NSSTが実行されたと判断される場合、NSSTインデックスをパーシング(または、ビットストリームからデコーディング)することができる(S920)。
【0166】
一実施例に係るデコーディング装置200は、NSSTインデックスが0より大きいかどうかを判断することができ(S930)、NSSTインデックスが0より大きいと判断される場合、NSSTインデックス、NSSTが適用される領域の幅及び高さ、イントラ予測モード、並びに対象ブロックの色相成分に対する情報のうち少なくとも一つに基づいて変換カーネルを選択することができる(S940)。
【0167】
一実施例に係るデコーディング装置200は、対象ブロックに対する変換係数に対して簡素化逆変換を実行する条件に該当するかどうかを判断することができる(S950)。
【0168】
一実施例に係るデコーディング装置200は、S950で簡素化逆変換を実行する条件に該当しないと判断される場合、対象ブロックに対する変換係数に対して簡素化逆変換に基づいていない(通常の)インバース(Inverse)逆変換を実行することができる。
【0169】
一実施例に係るデコーディング装置200は、S950で簡素化逆変換を実行する条件に該当すると判断される場合、対象ブロックに対する変換係数に対して簡素化逆変換に基づいているインバースNSSTを実行することができる。
【0170】
一実施例に係るデコーディング装置200は、S910において、エンコーディング装置100で対象ブロックに対するレジデュアルサンプルに対してNSSTが実行されていないと判断される場合、S920乃至S970による動作を省略することができる。
【0171】
一実施例に係るデコーディング装置200は、S930でNSSTインデックスが0より大きくないと判断される場合、S940乃至S970による動作を省略することができる。
【0172】
一実施例に係るデコーディング装置200は、インバースNSSTが適用されて導出された対象ブロックに対する1次変換係数に対して1次逆変換を実行することができる。1次変換係数に対して1次逆変換が実行されると、対象ブロックに対するレジデュアルサンプルが導出されることができる。
【0173】
図10は、本発明の一実施例に係る簡素化変換が適用されるブロックを示す。
【0174】
図8で前述したように、対象ブロック内で簡素化(逆)変換が適用される領域は、正方形領域に限定されるものではなく、長方形領域または非長方形領域にも簡素化変換が適用されることができる。
【0175】
図10は、サイズ16×16である対象ブロック1000内の非長方形領域に簡素化変換が適用される例示を示す。図10に陰影表示された10個のブロック1010は、対象ブロック1000内で簡素化変換が適用される領域を示す。各最小単位ブロックのサイズが4×4であるため、図10の例示によると、簡素化変換が10個の4×4ピクセルに適用(即ち、簡素化変換が160個のピクセルに適用)される。R=16の場合、簡素化変換マトリクスのサイズは、16×160になることができる。
【0176】
一方、当該技術分野の通常の技術者は、図10に示す簡素化変換が適用される領域に含まれている最小単位ブロック1010の配列は、多くの例示のうち一つに過ぎないことを容易に理解することができる。例えば、簡素化変換が適用される領域に含まれている最小単位ブロックは、相互隣接しない場合もあり、相互頂点一つのみを共有する関係にある場合もある。
【0177】
図11は、本発明の一実施例に係るビデオエンコーディング装置の動作を示す流れ図である。
【0178】
図11に開示された各ステップは、図1に開示されたエンコーディング装置100により実行されることができる。より具体的に、S1100は、図1に開示された減算部121により実行されることができ、S1110は、図1に開示された変換部122により実行されることができ、S1120は、図1に開示された量子化部123により実行されることができ、S1130は、図1に開示されたエントロピーエンコーディング部130により実行されることができる。併せて、S1100乃至S1130による動作は、図6乃至図10で前述された内容のうち一部に基づいて行われる。したがって、図1及び図6乃至図10で前述された内容と重複する具体的な内容は、説明を省略したり簡単にする。
【0179】
一実施例に係るエンコーディング装置100は、対象ブロックに対するレジデュアルサンプルを導出することができる(S1100)。
【0180】
一実施例に係るエンコーディング装置100は、レジデュアルサンプルに対する簡素化変換に基づいて対象ブロックに対する変換係数を導出することができる(S1110)。一例示において、簡素化変換は、簡素化変換マトリクスに基づいて実行されることができ、簡素化変換マトリクスは、行の個数が列の個数より少ない非正方形マトリクスである。
【0181】
一実施例において、S1110は、簡素化変換を適用する条件に該当するかどうかを判断するステップ、前記判断に基づいて変換インデックスを生成及びエンコーディングするステップ、変換カーネルを選択するステップ及び簡素化変換を適用する条件に該当する場合、選択された変換カーネル及び簡素化ファクタに基づいてレジデュアルサンプルに対して簡素化変換を適用するステップを含むことができる。このとき、簡素化変換マトリクスのサイズは、簡素化ファクタに基づいて決定されることができる。
【0182】
もし、S1110による簡素化変換が1次変換に基づいている場合、対象ブロックに対するレジデュアルサンプルに対して簡素化変換を実行すると、対象ブロックに対する1次変換係数が導出されることができる。デコーディング装置200は、対象ブロックに対する1次変換係数に対してNSSTを実行することができ、このとき、NSSTは、簡素化変換に基づいて実行され、または簡素化変換に基づかないで実行されることができる。NSSTが簡素化変換に基づいて実行されると、S1110による動作と対応されることができる。
【0183】
一実施例に係るエンコーディング装置100は、対象ブロックに対する変換係数に基づいて量子化を実行して量子化された変換係数を導出することができる(S1120)。
【0184】
一実施例に係るエンコーディング装置100は、量子化された変換係数に対する情報をエンコーディングすることができる(S1130)。より具体的に、エンコーディング装置100は、量子化された変換係数に対する情報を生成し、生成された量子化された変換係数に対する情報をエンコーディングすることができる。量子化された変換係数に対する情報は、レジデュアル情報を含むことができる。
【0185】
一例示において、量子化された変換係数に対する情報は、簡素化変換が適用されるかどうかに対する情報、簡素化ファクタに対する情報、簡素化変換を適用する最小変換サイズに対する情報、及び簡素化変換を適用する最大変換サイズに対する情報のうち少なくとも一つを含むことができる。量子化された変換係数に対する情報に対する、より具体的な説明は、図12で後述する。
【0186】
S1110を参照すると、レジデュアルサンプルに対する簡素化変換に基づいて対象ブロックに対する変換係数が導出されることを確認することができる。変換マトリクスのサイズ観点で検討すると、通常の変換マトリクスのサイズはN×Nであり、それに対して、簡素化変換マトリクスのサイズはR×Nに減少するため、通常の変換を実行する時と比較する場合、簡素化変換を実行する時にメモリ使用をR/N割合で減少させることができる。また、通常の変換マトリクスを利用する時の掛け算演算数N×Nと比較する場合、簡素化変換マトリクスを利用すると、掛け算演算数をR/N割合で減少(R×N)させることができる。併せて、簡素化変換が適用されると、R個の変換係数のみが導出されるため、通常の変換が適用される時、N個の変換係数が導出されることと比較する場合、対象ブロックに対する変換係数の総個数がN個からR個に減少してエンコーディング装置100がデコーディング装置200に送信するデータの量が減少できる。整理すると、S1110によると、簡素化変換を介してエンコーディング装置100の変換効率及びコーディング効率が増加できる。
【0187】
図12は、本発明の一実施例に係るビデオデコーディング装置の動作を示す流れ図である。
【0188】
図12に開示された各ステップは、図2に開示されたデコーディング装置200により実行されることができる。より具体的に、S1200は、図2に開示されたエントロピーデコーディング部210により実行されることができ、S1210は、図2に開示された逆量子化部222により実行されることができ、S1220は、図2に開示された逆変換部223により実行されることができ、S1230は、図2に開示された加算部240により実行されることができる。併せて、S1200乃至S1230による動作は、図6乃至図10で前述された内容のうち一部を基づいて行われる。したがって、図2及び図6乃至図10で前述された内容と重複する具体的な内容は、説明を省略したり簡単にする。
【0189】
一実施例に係るデコーディング装置200は、ビットストリームから対象ブロックに対する量子化された変換係数を導出することができる(S1200)。より具体的に、デコーディング装置200は、ビットストリームから対象ブロックに対する量子化された変換係数に対する情報をデコーディングすることができ、対象ブロックに対する量子化された変換係数に対する情報に基づいて対象ブロックに対する量子化された変換係数を導出することができる。対象ブロックに対する量子化された変換係数に対する情報は、SPS(Sequence Parameter Set)またはスライスヘッダ(slice header)に含まれることができ、簡素化変換が適用されるかどうかに対する情報、簡素化ファクタに対する情報、簡素化変換を適用する最小変換サイズに対する情報、簡素化変換を適用する最大変換サイズに対する情報、及び簡素化逆変換サイズに対する情報のうち少なくとも一つを含むことができる。
【0190】
より具体的に、簡素化変換が適用されるかどうかに対する情報は、可用フラグを介して示すことができ、簡素化ファクタに対する情報は、簡素化ファクタ値を介して示すことができ、簡素化逆変換を適用する最小変換サイズに対する情報は、最小変換サイズ値を介して示すことができ、簡素化逆変換を適用する最大変換サイズに対する情報は、最大変換サイズ値を介して示すことができ、簡素化逆変換サイズに対する情報は、簡素化逆変換のサイズ値を介して示すことができる。このとき、可用フラグは、第1のシンタックス要素(syntax element)を介してシグナリングされ、簡素化ファクタ値は、第2のシンタックス要素を介してシグナリングされ、最小変換サイズ値は、第3のシンタックス要素を介してシグナリングされ、最大変換サイズ値は、第4のシンタックス要素を介してシグナリングされ、簡素化逆変換サイズ値は、第5のシンタックス要素を介してシグナリングされることができる。
【0191】
一例示において、第1のシンタックス要素は、シンタックス要素Reduced_transform_enabled_flagで表現されることができる。簡素化変換が適用された場合、シンタックス要素Reduced_transform_enabled_flagが1を指示し、簡素化変換が適用されない場合、シンタックス要素Reduced_transform_enabled_flagが0を指示することができる。シンタックス要素Reduced_transform_enabled_flagがシグナリングされない場合、シンタックス要素Reduced_transform_enabled_flagの値は、0に推定されることができる。
【0192】
また、第2のシンタックス要素は、シンタックス要素Reduced_transform_factorで表現されることができる。シンタックス要素Reduced_transform_factorは、R/Nの値を指示することができ、ここで、Nは、変換が適用されるブロックの一辺の長さの自乗または変換が適用されるブロックと対応される変換係数の総個数を意味する。Rは、Nより小さい簡素化係数を意味する。ただし、例示は、これに限定されるものではなく、例えば、Reduced_transform_factorは、R/NでなくRを指示することもできる。簡素化逆変換マトリクスの観点で検討すると、Rは、簡素化逆変換マトリクスの列の個数を意味し、Nは、簡素化逆変換マトリクスの行の個数を意味し、このとき、簡素化逆変換マトリクスの列の個数が行の個数より少なくなければならない。Rは、例えば、8、16、32などの値であるが、これに限定されるものではない。シンタックス要素Reduced_transform_factorがシグナリングされない場合、Reduced_transform_factorの値は、R/N(または、R)に推定されることができる。
【0193】
また、第3のシンタックス要素は、シンタックス要素min_reduced_transform_sizeで表現されることができる。シンタックス要素min_reduced_transform_sizeがシグナリングされない場合、min_reduced_transform_sizeの値は、0に推定されることができる。
【0194】
また、第4のシンタックス要素は、シンタックス要素max_reduced_transform_sizeで表現されることができる。シンタックス要素max_reduced_transform_sizeがシグナリングされない場合、max_reduced_transform_sizeの値は、0に推定されることができる。
【0195】
また、第5のシンタックス要素は、シンタックス要素reduced_transform_sizeで表現されることができる。シンタックス要素reduced_transform_sizeに含まれてシグナリングされる簡素化逆変換のサイズ値は、簡素化逆変換が適用される領域のサイズまたは簡素化変換マトリクスのサイズを示すことができ、これに限定されるものではない。シンタックス要素reduced_transform_sizeがシグナリングされない場合、reduced_transform_sizeの値は、0に推定されることができる。
【0196】
対象ブロックに対する量子化された変換係数に対する情報がSPSに含まれてシグナリングされる例示は、以下の表3の通りである。
【0197】
【表3】
【0198】
一実施例に係るデコーディング装置200は、対象ブロックに対する量子化された変換係数に対して逆量子化を実行して変換係数を導出することができる(S1210)。
【0199】
一実施例に係るデコーディング装置200は、変換係数に対する簡素化逆変換に基づいて対象ブロックに対するレジデュアルサンプルを導出することができる(S1220)。一例示において、簡素化逆変換は、簡素化逆変換マトリクスに基づいて実行されることができ、簡素化逆変換マトリクスは、列の個数が行の個数より少ない非正方形マトリクスである。
【0200】
一実施例において、S1220は、変換インデックスをデコーディングするステップ、変換インデックスに基づいて簡素化逆変換を適用する条件に該当するかどうかを判断するステップ、変換カーネルを選択するステップ、及び簡素化逆変換を適用する条件に該当する場合、選択された変換カーネル及び簡素化ファクタに基づいて変換係数に対して簡素化逆変換を適用するステップを含むことができる。このとき、簡素化逆変換マトリクスのサイズは、簡素化ファクタに基づいて決定されることができる。
【0201】
もし、S1220による簡素化逆変換がインバースNSSTに基づいている場合、対象ブロックに対する変換係数に対して簡素化逆変換を実行すると、対象ブロックに対する1次変換係数が導出されることができる。デコーディング装置200は、対象ブロックに対する1次変換係数に対して1次逆変換を実行することができ、このとき、1次逆変換は、簡素化逆変換に基づいて実行され、または簡素化逆変換に基づかないで実行されることができる。
【0202】
または、S1220による簡素化逆変換が1次逆変換に基づいている場合、対象ブロックに対する変換係数に対して簡素化逆変換を実行すると、対象ブロックに対するレジデュアルサンプルが導出されることができる。
【0203】
一実施例に係るデコーディング装置200は、対象ブロックに対するレジデュアルサンプル及び対象ブロックに対する予測サンプルに基づいて復元ピクチャを生成することができる(S1230)。
【0204】
S1220を参照すると、対象ブロックに対する変換係数に対する簡素化逆変換に基づいて対象ブロックに対するレジデュアルサンプルが導出されることを確認することができる。逆変換マトリクスのサイズ観点で検討すると、通常の逆変換マトリクスのサイズはN×Nであり、それに対して、簡素化逆変換マトリクスのサイズはN×Rに減少するため、通常の変換を実行する時と比較する場合、簡素化変換を実行する時にメモリ使用をR/N割合で減少させることができる。また、通常の逆変換マトリクスを利用する時の掛け算演算数N×Nと比較する場合、簡素化逆変換マトリクスを利用すると、掛け算演算数をR/N割合で減少(N×R)させることができる。併せて、簡素化逆変換を適用する時、R個の変換係数のみをデコーディングすればよいため、通常の逆変換が適用される時、N個の変換係数をデコーディングしなければならないことと比較する場合、対象ブロックに対する変換係数の総個数がN個からR個に減少してデコーディング効率が増加できる。整理すると、S1220によると、簡素化逆変換を介してデコーディング装置200の(逆)変換効率及びコーディング効率が増加できる。
【0205】
前述した装置の内部コンポーネントは、メモリに格納された連続した実行過程を実行するプロセッサであり、またはその他のハードウェアで構成されたハードウェアコンポーネントである。それらは、装置内/外部に位置する。
【0206】
前述したモジュールは、実施例によって省略され、または類似/同じ動作を実行する他のモジュールにより代替されることができる。
【0207】
前述した本発明による方法は、ソフトウェア形態で具現されることができ、本発明によるエンコーディング装置及び/またはデコーディング装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの映像処理を実行する装置に含まれることができる。
【0208】
前述した実施例において、方法は、一連のステップまたはブロックで流れ図に基づいて説明されているが、本発明は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序にまたは同時に発生できる。また、当業者であれば、流れ図に示すステップが排他的でなく、他のステップが含まれ、または流れ図の一つまたはそれ以上のステップが本発明の範囲に影響を及ぼさずに削除可能であることを理解することができる。
【0209】
本発明で実施例がソフトウェアで具現されるとき、前述した方法は、前述した機能を遂行するモジュール(過程、機能など)で具現されることができる。モジュールは、メモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部または外部にあり、よく知られた多様な手段でプロセッサと連結されることができる。プロセッサは、ASIC(appICation-specific integrated circuit)、他のチップセット、論理回路及び/またはデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体及び/または他の格納装置を含むことができる。
図1
図2
図3
図4
図5a
図5b
図5c
図6(a)】
図6(b)】
図7
図8
図9
図10
図11
図12