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

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

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

特表2024-528452非分離一次変換に基づく画像符号化/復号化方法、装置、及びビットストリームを保存する記録媒体
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-30
(54)【発明の名称】非分離一次変換に基づく画像符号化/復号化方法、装置、及びビットストリームを保存する記録媒体
(51)【国際特許分類】
   H04N 19/12 20140101AFI20240723BHJP
   H04N 19/132 20140101ALI20240723BHJP
   H04N 19/136 20140101ALI20240723BHJP
【FI】
H04N19/12
H04N19/132
H04N19/136
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023578949
(86)(22)【出願日】2022-07-06
(85)【翻訳文提出日】2023-12-21
(86)【国際出願番号】 KR2022009768
(87)【国際公開番号】W WO2023282625
(87)【国際公開日】2023-01-12
(31)【優先権主張番号】63/218,508
(32)【優先日】2021-07-06
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/229,473
(32)【優先日】2021-08-04
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Blu-ray
(71)【出願人】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【弁理士】
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】チェ チョンア
(72)【発明者】
【氏名】チャオ チエ
(72)【発明者】
【氏名】ク ムンモ
(72)【発明者】
【氏名】イム チェヒョン
(72)【発明者】
【氏名】チェ チャンウォン
(72)【発明者】
【氏名】キム スンファン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159TA37
5C159TA49
5C159TB08
5C159TC26
(57)【要約】
画像符号化/復号化方法及び装置が提供される。本開示による画像復号化方法は、所定の非分離一次変換行列に基づいて現在ブロックに対して逆変換を行うことにより、前記現在ブロックのレジデュアルブロックを生成するステップと、前記レジデュアルブロックに基づいて前記現在ブロックを復元するステップと、を含み、前記非分離一次変換行列は、前記現在ブロックのサイズを問わず、前記現在ブロックの全ての変換係数に対して適用されることができる。
【選択図】図26
【特許請求の範囲】
【請求項1】
画像復号化装置によって行われる画像復号化方法であって、
前記画像復号化方法は、
所定の非分離一次変換行列に基づいて現在ブロックに対して逆変換を行うことにより、前記現在ブロックのレジデュアルブロックを生成するステップと、
前記レジデュアルブロックに基づいて前記現在ブロックを復元するステップと、を含み、
前記非分離一次変換行列は、前記現在ブロックのサイズを問わず、前記現在ブロックの全ての変換係数に対して適用される、画像復号化方法。
【請求項2】
前記逆変換は、多重変換選択(multiple transform selection、MTS)に基づいて行われる、請求項1に記載の画像復号化方法。
【請求項3】
前記レジデュアルブロックに対するゼロアウト(zero out)は、前記非分離一次変換行列のサイズに基づいて選択的に行われる、請求項1に記載の画像復号化方法。
【請求項4】
前記非分離一次変換行列が正方形のサイズを有することに基づいて、前記ゼロアウトは行われず、
前記非分離一次変換行列が非正方形のサイズを有することに基づいて、前記ゼロアウトは、前記レジデュアルブロック内の少なくとも一つのレジデュアルサンプルに対して行われる、請求項1に記載の画像復号化方法。
【請求項5】
前記非分離一次変換行列は、所定の非分離変換セットから決定され、
前記非分離変換セットは、前記現在ブロックの予測モード、サイズ、ピクセル数、変換セット構成情報、二次逆変換が実行されるか否か、又は量子化パラメータのうちの少なくとも一つに基づいて異なるように構成される、請求項1に記載の画像復号化方法。
【請求項6】
前記現在ブロックが所定のサブブロック逆変換条件を満たすか否かを決定するステップと、
前記サブブロック逆変換条件が満たされることに基づいて、前記現在ブロックを分割して複数のサブブロックを取得するステップと、
前記複数のサブブロックのそれぞれに対して前記逆変換を行うステップと、をさらに含む、請求項1に記載の画像復号化方法。
【請求項7】
前記サブブロック逆変換条件は、
前記現在ブロックのサイズが第1しきい値より大きいか否かに関する第1条件、及び前記現在ブロックのサイズが第2しきい値より大きいか否かに関する第2条件を含む、請求項6に記載の画像復号化方法。
【請求項8】
前記非分離一次変換行列は、イントラ予測モード及びブロック形態のうちの少なくとも一つにおいて前記現在ブロックとは対称性を有する第1ブロックに対する変換行列と同一である、請求項1に記載の画像復号化方法。
【請求項9】
メモリ及び少なくとも一つのプロセッサを含む画像復号化装置であって、
前記少なくとも一つのプロセッサは、
非分離一次変換行列に基づいて現在ブロックに対して逆変換を行うことにより、前記現在ブロックのレジデュアルブロックを生成し、
前記レジデュアルブロックに基づいて前記現在ブロックを復元し、
前記非分離一次変換行列は、前記現在ブロックのサイズを問わずに、前記現在ブロックの全ての変換係数に対して適用される、画像復号化装置。
【請求項10】
画像符号化装置によって行われる画像符号化方法であって、
前記画像符号化方法は、
所定の非分離一次変換行列に基づいて現在ブロックに対して変換を行うことにより、前記現在ブロックの変換係数ブロックを生成するステップと、
前記変換係数ブロックに基づいて前記現在ブロックを符号化するステップと、を含み、
前記非分離一次変換行列は、前記現在ブロックのサイズを問わずに、前記現在ブロックの全てのレジデュアルサンプルに対して適用される、画像符号化方法。
【請求項11】
前記変換が多重変換選択(multiple transform selection、MTS)に基づいて行われる、請求項10に記載の画像符号化方法。
【請求項12】
前記変換係数ブロックに対するゼロアウト(zero out)は、前記非分離一次変換行列のサイズに基づいて選択的に行われる、請求項10に記載の画像符号化方法。
【請求項13】
前記非分離一次変換行列は、所定の非分離変換セットから決定され、
前記非分離変換セットは、前記現在ブロックの予測モード、サイズ、ピクセル数、変換セット構成情報、二次変換が実行されるか否か、又は量子化パラメータのうちの少なくとも一つに基づいて異なるように構成される、請求項10に記載の画像符号化方法。
【請求項14】
前記現在ブロックが所定のサブブロック変換条件を満たすか否かを決定するステップと、
前記サブブロック変換条件が満たされることに基づいて、前記現在ブロックを分割して複数のサブブロックを取得するステップと、
前記複数のサブブロックのそれぞれに対して前記変換を行うステップと、をさらに含む、請求項10に記載の画像符号化方法。
【請求項15】
画像符号化方法によって生成されたビットストリームを保存するコンピュータ可読記録媒体であって、
前記画像符号化方法は、
所定の非分離一次変換行列に基づいて現在ブロックに対して変換を行うことにより、前記現在ブロックの変換係数ブロックを生成するステップと、
前記変換係数ブロックに基づいて前記現在ブロックを符号化するステップと、を含み、
前記非分離一次変換行列は、前記現在ブロックのサイズを問わずに、前記現在ブロックの全てのレジデュアルサンプルに対して適用される、コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像符号化/復号化方法、装置、及びビットストリームを保存する記録媒体に係り、より詳細には、非分離一次変換に基づく画像符号化/復号化方法、装置、及び本開示の画像符号化方法/装置によって生成されたビットストリームを保存する記録媒体に関する。
【背景技術】
【0002】
最近、高解像度、高品質の画像、例えばHD(High Definition)画像及びUHD(Ultra High Definition)画像への需要が多様な分野で増加している。画像データが高解像度、高品質になるほど、従来の画像データに比べて、伝送される情報量又はビット量が相対的に増加する。伝送される情報量又はビット量の増加は、伝送費用と保存費用の増加をもたらす。
【0003】
これにより、高解像度、高品質画像の情報を効果的に伝送又は保存し、再生するための高効率の画像圧縮技術が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、符号化/復号化効率が向上した画像符号化/復号化方法及び装置を提供することを目的とする。
【0005】
また、本開示は、非分離一次変換を行う画像符号化/復号化方法及び装置を提供することを目的とする。
【0006】
また、本開示は、MTSスキームに基づいて非分離一次変換を行う画像符号化/復号化方法及び装置を提供することを目的とする。
【0007】
また、本開示は、サブブロック基盤の非分離一次変換を行う画像符号化/復号化方法及び装置を提供することを目的とする。
【0008】
また、本開示は、ブロック間の対称性に基づいて非分離一次変換を行う符号化/復号化方法及び装置を提供することを目的とする。
【0009】
また、本開示は、本開示による画像符号化方法又は装置によって生成されたビットストリームを保存する、非一時的なコンピュータ可読記録媒体を提供することを目的とする。
【0010】
また、本開示は、本開示による画像復号化装置によって受信され、復号化されて画像の復元に用いられるビットストリームを保存する、非一時的なコンピュータ可読記録媒体を提供することを目的とする。
【0011】
また、本開示は、本開示による画像符号化方法又は装置によって生成されたビットストリームを伝送する方法を提供することを目的とする。
【0012】
本開示で解決しようとする技術的課題は上述した技術的課題に制限されず、上述していない別の技術的課題は以降の記載から本開示の属する技術分野における通常の知識を有する者に明確に理解できるだろう。
【課題を解決するための手段】
【0013】
本開示の一態様による画像復号化方法は、所定の非分離一次変換行列に基づいて現在ブロックに対して逆変換を行うことにより、前記現在ブロックのレジデュアルブロックを生成するステップと、前記レジデュアルブロックに基づいて前記現在ブロックを復元するステップと、を含み、前記非分離一次変換行列は、前記現在ブロックのサイズを問わず、前記現在ブロックの全ての変換係数に対して適用できる。
【0014】
本開示の他の態様による画像復号化装置は、メモリ及び少なくとも一つのプロセッサを含み、前記少なくとも一つのプロセッサは、非分離一次変換行列に基づいて現在ブロックに対して逆変換を行うことにより、前記現在ブロックのレジデュアルブロックを生成し、前記レジデュアルブロックに基づいて前記現在ブロックを復元するが、前記非分離一次変換行列は、前記現在ブロックのサイズを問わず、前記現在ブロックの全ての変換係数に対して適用できる。
【0015】
本開示の別の態様による画像符号化方法は、所定の非分離一次変換行列に基づいて現在ブロックに対して変換を行うことにより、前記現在ブロックの変換係数ブロックを生成するステップと、前記変換係数ブロックに基づいて前記現在ブロックを符号化するステップと、を含み、前記非分離一次変換行列は、前記現在ブロックのサイズを問わず、前記現在ブロックの全てのレジデュアルサンプルに対して適用できる。
【0016】
本開示の別の態様によるコンピュータ可読記録媒体は、本開示の画像符号化方法又は画像符号化装置によって生成されたビットストリームを保存することができる。
【0017】
本開示の別の態様による伝送方法は、本開示の画像符号化装置又は画像符号化方法によって生成されたビットストリームを伝送することができる。
【0018】
本開示について簡略に要約して上述した特徴は、後述する本開示の詳細な説明の例示的な態様に過ぎず、本開示の範囲を制限するものではない。
【発明の効果】
【0019】
本開示によれば、符号化/復号化効率が向上した画像符号化/復号化方法及び装置が提供されることができる。
【0020】
また、本開示によれば、非分離一次変換を行う画像符号化/復号化方法及び装置が提供されることができる。
【0021】
また、本開示によれば、MTSスキームに基づいて非分離一次変換を行う画像符号化/復号化方法及び装置が提供されることができる。
【0022】
また、本開示によれば、サブブロック基盤の非分離一次変換を行う画像符号化/復号化方法及び装置が提供されることができる。
【0023】
また、本開示によれば、ブロック間の対称性に基づいて非分離一次変換を行う画像符号化/復号化方法及び装置が提供されることができる。
【0024】
また、本開示によれば、本開示による画像符号化方法又は装置によって生成されたビットストリームを保存する、非一時的なコンピュータ可読記録媒体が提供されることができる。
【0025】
また、本開示によれば、本開示による画像復号化装置によって受信され、復号化されて画像の復元に用いられるビットストリームを保存する、非一時的なコンピュータ可読記録媒体が提供されることができる。
【0026】
また、本開示によれば、本開示による画像符号化方法又は装置によって生成されたビットストリームを伝送する方法が提供されることができる。
【0027】
本開示で得られる効果は、上述した効果に限定されず、上述していない別の効果は、以降の記載から、本開示の属する技術分野における通常の知識を有する者に明確に理解できるだろう。
【図面の簡単な説明】
【0028】
図1】本開示による実施例が適用できるビデオコーディングシステムを概略的に示す図である。
【0029】
図2】本開示による実施例が適用できる画像符号化装置を概略的に示す図である。
【0030】
図3】本開示による実施例が適用できる画像復号化装置を概略的に示す図である。
【0031】
図4】LFNST適用方法を説明するための図である。
【0032】
図5】AMTが行われる符号化過程を示すフローチャートである。
【0033】
図6】AMTが行われる復号化過程を示すフローチャートである。
【0034】
図7】NSSTが行われる符号化過程を示すフローチャートである。
【0035】
図8】NSSTが行われる復号化過程を示すフローチャートである。
【0036】
図9-10】NSST実行方法を説明するための図である。
【0037】
図11-12】RST実行方法を説明するための図である。
【0038】
図13】本開示の一実施例による変換及び逆変換過程を説明するための図である。
【0039】
図14a-14d】非分離二次変換過程を説明するための図である。
【0040】
図15a-15d】本開示の一実施例による非分離一次変換過程を説明するための図である。
【0041】
図16a-16d】本開示の他の実施例による非分離一次変換過程を説明するための図である。
【0042】
図17】本開示の一実施例による変換方法を示すフローチャートである。
【0043】
図18】本開示の一実施例による逆変換方法を示すフローチャートである
【0044】
図19】本開示の一実施例によるサブブロック非分離一次変換/逆変換方法を示すフローチャートである。
【0045】
図20a-20b】サブブロック基盤の非分離一次変換過程を説明するための図である。
【0046】
図21-24】本開示の一実施例による非分離一次変換セット決定方法を説明するための図である。
【0047】
図25】本開示の一実施例による画像符号化方法を示すフローチャートである。
【0048】
図26】本開示の一実施例による画像復号化方法を示すフローチャートである。
【0049】
図27】本開示による実施例が適用できるコンテンツストリーミングシステムを例示的に示す図である。
【発明を実施するための形態】
【0050】
以下、添付図面を参照して、本開示の実施例について、本開示の属する技術分野における通常の知識を有する者が容易に実施し得るように詳細に説明する。しかし、本開示は、様々な異なる形態で実現でき、ここで説明する実施例に限定されない。
【0051】
本開示の実施例を説明するにあたり、公知の構成又は機能についての具体的な説明が本開示の要旨を不明確にするおそれがあると判断される場合には、それについての詳細な説明は省略する。そして、図面において、本開示についての説明と関係ない部分は省略し、同様の部分には同様の図面符号を付した。
【0052】
本開示において、ある構成要素が他の構成要素と「連結」、「結合」又は「接続」されているとするとき、これは、直接的な連結関係だけでなく、それらの間に別の構成要素が存在する間接的な連結関係も含むことができる。また、ある構成要素が他の構成要素を「含む」又は「有する」とするとき、これは、特に反対される記載がない限り、別の構成要素を排除するのではなく、別の構成要素をさらに含むことができることを意味する。
【0053】
本開示において、「第1」、「第2」などの用語は、一つの構成要素を他の構成要素から区別する目的のみで使用され、特に言及されない限り、構成要素間の順序又は重要度などを限定しない。したがって、本開示の範囲内において、一実施例の第1構成要素を他の実施例で第2構成要素と呼んでもよく、これと同様に、一実施例の第2構成要素を他の実施例で第1構成要素と呼んでもよい。
【0054】
本開示において、互いに区別される構成要素は、それぞれの特徴を明確に説明するためのものであり、構成要素が必ずしも分離されることを意味するものではない。つまり、複数の構成要素が統合されて一つのハードウェア又はソフトウェア単位で構成されてもよく、一つの構成要素が分散されて複数のハードウェア又はソフトウェア単位で構成されてもよい。よって、別に言及しなくても、このように統合された又は分散された実施例も本開示の範囲に含まれる。
【0055】
本開示において、さまざまな実施例で説明する構成要素が必ず必要不可欠な構成要素を意味するものではなく、一部は選択的な構成要素であり得る。したがって、一実施例で説明する構成要素の部分集合で構成される実施例も本開示の範囲に含まれる。また、様々な実施例で説明する構成要素にさらに他の構成要素を含む実施例も、本開示の範囲に含まれる。
【0056】
本開示は、画像の符号化及び復号化に関するものであって、本開示で使用される用語は、本開示で新たに定義されない限り、本開示の属する技術分野における通常の意味を持つことができる。
【0057】
本開示において、「ビデオ(video)」は、時間の流れによる一連の画像(image)の集合を意味することができる。
【0058】
本開示において、「ピクチャ(picture)」は、一般的に、特定の時間帯のいずれか一つの画像を示す単位を意味し、スライス(slice)/タイル(tile)は、ピクチャの一部を構成する符号化単位であって、一つのピクチャは、一つ以上のスライス/タイルで構成できる。また、スライス/タイルは、一つ以上のCTU(coding tree unit)を含むことができる。
【0059】
本開示において、「ピクセル(pixel)」又は「ペル(pel)」は、一つのピクチャ(又は画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用できる。サンプルは、一般的に、ピクセル又はピクセルの値を示すことができ、ルーマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
【0060】
本開示において、「ユニット(unit)」は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定の領域及び当該領域に関連する情報のうちの少なくとも一つを含むことができる。ユニットは、場合に応じて、「サンプルアレイ」、「ブロック(block)」又は「領域(area)」などの用語と混用して使用できる。一般な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(又はサンプルアレイ)又は変換係数(transform coefficient)のセット(又はアレイ)を含むことができる。
【0061】
本開示において、「現在ブロック」は、「現在コーディングブロック」、「現在コーディングユニット」、「符号化対象ブロック」、「復号化対象ブロック」又は「処理対象ブロック」のうちのいずれか一つを意味することができる。予測が行われる場合、「現在ブロック」は、「現在予測ブロック」又は「予測対象ブロック」を意味することができる。変換(逆変換)/量子化(逆量子化)が行われる場合、「現在ブロック」は「現在変換ブロック」又は「変換対象ブロック」を意味することができる。フィルタリングが行われる場合、「現在ブロック」は「フィルタリング対象ブロック」を意味することができる。
【0062】
また、本開示において、「現在ブロック」は、クロマブロックという明示的な記載がない限り、ルーマ成分ブロックとクロマ成分ブロックを全て含むブロック又は「現在ブロックのルーマブロック」を意味することができる。現在ブロックのルーマ成分ブロックは、明示的に「ルーマブロック」又は「現在ルーマブロック」のようにルーマ成分ブロックという明示的な記載を含んで表現できる。また、現在ブロックのクロマ成分ブロックは、明示的に「クロマブロック」又は「現在クロマブロック」のようにクロマ成分ブロックという明示的な記載を含んで表現できる。
【0063】
本開示において、「/」と「、」は「及び/又は」と解釈されることができる。例えば、「A/B」と「A、B」は「A及び/又はB」と解釈されることができる。また、「A/B/C」と「A、B、C」は、「A、B及び/又はCのうちの少なくとも一つ」を意味することができる。
【0064】
本開示において、「又は」は「及び/又は」と解釈されることができる。例えば、「A又はB」は、1)「A」のみを意味するか、2)「B」のみを意味するか、3)「A及びB」を意味することができる。又は、本開示において、「又は」は、「追加的に又は代替的に(additionally or alternatively)」を意味することができる。
【0065】
本開示において、「少なくとも一つのA、B及びC」は、「Aのみ」、「Bのみ」、「Cのみ」又は「A、B及びCの任意の全ての組み合わせ」を意味することができる。また、「少なくとも一つのA、B又はC」又は「少なくとも一つのA、B及び/又はC」は、「少なくとも一つのA、B及びC」を意味することができる。
【0066】
本開示で使用される括弧は、「例えば」を意味することができる。例えば、「予測(イントラ予測)」で表示された場合、「予測」の一例として「イントラ予測」が提案されたものであり得る。他に表現すれば、本開示の「予測」は、「イントラ予測」に制限されず、「イントラ予測」が「予測」の一例として提案されたものであり得る。また、「予測(すなわち、イントラ予測)」で表示された場合にも、「予測」の一例として「イントラ予測」が提案されたものであり得る。
【0067】
ビデオコーディングシステムの概要
【0068】
図1は、本開示による実施例が適用できるビデオコーディングシステムを概略的に示す図である。
【0069】
一実施例によるビデオコーディングシステムは、符号化装置10及び復号化装置20を含むことができる。符号化装置10は、符号化されたビデオ(video)及び/又は画像(image)情報又はデータをファイル又はストリーミング形式でデジタル記憶媒体又はネットワークを介して復号化装置20へ伝達することができる。
【0070】
一実施例による符号化装置10は、ビデオソース生成部11、符号化部12及び伝送部13を含むことができる。一実施例による復号化装置20は、受信部21、復号化部22及びレンダリング部23を含むことができる。前記符号化部12は、ビデオ/画像符号化部と呼ばれることができ、前記復号化部22は、ビデオ/画像復号化部と呼ばれることができる。伝送部13は、符号化部12に含まれることができる。受信部21は、復号化部22に含まれることができる。レンダリング部23は、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイス又は外部コンポーネントとして構成されることもできる。
【0071】
ビデオソース生成部11は、ビデオ/画像のキャプチャ、合成又は生成過程などを介してビデオ/画像を取得することができる。ビデオソース生成部11は、ビデオ/画像キャプチャデバイス及び/又はビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、一つ以上のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを含むことができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット及びスマートフォンなどを含むことができ、(電子的に)ビデオ/画像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/画像が生成されることができ、この場合、ビデオ/画像キャプチャ過程は、関連データが生成される過程に置き換えられることができる。
【0072】
符号化部12は、入力ビデオ/画像を符号化することができる。符号化部12は、圧縮及び符号化効率のために、予測、変換、量子化などの一連の手順を行うことができる。符号化部12は、符号化されたデータ(符号化されたビデオ/画像情報)をビットストリーム(bitstream)形式で出力することができる。
【0073】
伝送部13は、ビットストリーム形式で出力された、符号化されたビデオ/画像情報又はデータを、ファイル又はストリーミング形式でデジタル記憶媒体又はネットワークを介して復号化装置20の受信部21に伝達することができる。デジタル記憶媒体は、USB、SD、CD、DVD、Blu-ray、HDD、SSDなどのさまざまな記憶媒体を含むことができる。伝送部13は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介して伝送するためのエレメントを含むことができる。受信部21は、前記記憶媒体又はネットワークから前記ビットストリームを抽出/受信して復号化部22に伝達することができる。
【0074】
復号化部22は、符号化部12の動作に対応する逆量子化、逆変換、予測などの一連の手順を行ってビデオ/画像を復号化することができる。
【0075】
レンダリング部23は、復号化されたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像は、ディスプレイ部を介して表示されることができる。
【0076】
画像符号化装置の概要
【0077】
図2は、本開示による実施例が適用できる画像符号化装置を概略的に示す図である。
【0078】
図2に示されているように、画像符号化装置100は、画像分割部110、減算部115、変換部120、量子化部130、逆量子化部140、逆変換部150、加算部155、フィルタリング部160、メモリ170、インター予測部180、イントラ予測部185及びエントロピー符号化部190を含むことができる。インター予測部180及びイントラ予測部185は、合わせて「予測部」と呼ばれることができる。変換部120、量子化部130、逆量子化部140及び逆変換部150は、レジデュアル(residual)処理部に含まれることができる。レジデュアル処理部は減算部115をさらに含むこともできる。
【0079】
画像符号化装置100を構成する複数の構成部の全部又は少なくとも一部は、実施例によって一つのハードウェアコンポーネント(例えば、エンコーダ又はプロセッサ)で実現されることができる。また、メモリ170は、DPB(decoded picture buffer)を含むことができ、デジタル記憶媒体によって実現できる。
【0080】
画像分割部110は、画像符号化装置100に入力された入力画像(又は、ピクチャ、フレーム)を一つ以上の処理ユニット(processing unit)に分割することができる。一例として、前記処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれることができる。コーディングユニットは、コーディングツリーユニット(coding tree unit、CTU)又は最大コーディングユニット(largest coding unit、LCU)をQT/BT/TT(Quad-tree/binary-tree/ternary-tree)構造によって再帰的に(recursively)分割することにより取得されることができる。例えば、一つのコーディングニットは、四分木構造、二分木構造及び/又は三分木構造に基づいて、下位(deeper)デプスの複数のコーディングユニットに分割されることができる。コーディングユニットの分割のために、四分木構造が先に適用され、二分木構造及び/又は三分木構造が後で適用されることができる。それ以上分割されない最終コーディングユニットを基に、本開示によるコーディング手順が行われることができる。最大コーディングユニットが最終コーディングユニットとして使用されることができ、最大コーディングユニットを分割して取得した下位デプスのコーディングユニットが最終コーディングユニットとして使用されることもできる。ここで、コーディング手順とは、後述する予測、変換及び/又は復元などの手順を含むことができる。他の例として、前記コーディング手順の処理ユニットは、予測ユニット(PU:Prediction Unit)又は変換ユニット(TU:Transform Unit)であることができる。前記予測ユニット及び前記変換ユニットは、それぞれ前記最終コーディングユニットから分割又はパーティショニングされることができる。前記予測ユニットは、サンプル予測の単位であることができ、前記変換ユニットは、変換係数を誘導する単位、及び/又は変換係数からレジデュアル信号(residual signal)を誘導する単位であることができる。
【0081】
予測部(インター予測部180又はイントラ予測部185)は、処理対象ブロック(現在ブロック)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、現在ブロック又はCU単位でイントラ予測が適用されるか、或いはインター予測が適用されるかを決定することができる。予測部は、現在ブロックの予測に関するさまざまな情報を生成してエントロピー符号化部190に伝達することができる。予測に関する情報は、エントロピー符号化部190で符号化されてビットストリーム形式で出力されることができる。
【0082】
イントラ予測部185は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。参照される前記サンプルは、イントラ予測モード及び/又はイントラ予測技法に従って、前記現在ブロックの周辺(neighbor)に位置することもでき、或いは離れて位置することもできる。イントラ予測モードは、複数の非方向性モードと複数の方向性モードを含むことができる。非方向性モードは、例えば、DCモード及びプランナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度に応じて、例えば33個の方向性予測モード又は65個の方向性予測モードを含むことができる。ただし、これは例示に過ぎず、設定に基づいてそれ以上又はそれ以下の個数の方向性予測モードが使用できる。イントラ予測部185は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0083】
インター予測部180は、参照ピクチャ上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。この時、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測など)情報をさらに含むことができる。インター予測の場合、周辺ブロックは、現在ピクチャ内に存在する空間周辺ブロック(spatial neighboring block)と、参照ピクチャに存在する時間周辺ブロック(temporal neighboring block)を含むことができる。前記参照ブロックを含む参照ピクチャと、前記時間周辺ブロックを含む参照ピクチャとは、同一でもよく、互いに異なってもよい。前記時間周辺ブロックは、コロケート参照ブロック(collocated reference block)、コロケートCU(colCU)などの名前で呼ばれることができる。前記時間周辺ブロックを含む参照ピクチャは、コロケートピクチャ(collocated picture、colPic)と呼ばれることができる。例えば、インター予測部180は、周辺ブロックに基づいて動き情報候補リストを構成し、前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するために、どの候補が使用されるかを指示する情報を生成することができる。様々な予測モードに基づいてインター予測が行われることができ、例えばスキップモードとマージモードの場合に、インター予測部180は、周辺ブロックの動き情報を現在ブロックの動き情報として用いることができる。スキップモードの場合、マージモードとは異なり、レジデュアル信号が伝送されないことができる。動き情報予測(motion vector prediction、MVP)モードの場合、周辺ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として用い、動きベクトル差分(motion vector difference)及び動きベクトル予測子に対するインジケータ(indicator)を符号化することにより、現在ブロックの動きベクトルをシグナリングすることができる。動きベクトル差分は、現在ブロックの動きベクトルと動きベクトル予測子との差を意味することができる。
【0084】
予測部は、後述する様々な予測方法及び/又は予測技法に基づいて予測信号を生成することができる。例えば、予測部は、現在ブロックの予測のために、イントラ予測又はインター予測を適用することができるだけでなく、イントラ予測とインター予測を同時に適用することができる。現在ブロックの予測のためにイントラ予測とインター予測を同時に適用する予測方法は、CIIP(combined inter and intra prediction)と呼ばれることができる。また、予測部は、現在ブロックの予測のためにイントラブロックコピー(intra block copy、IBC)を行うこともできる。イントラブロックコピーは、例えば、SCC(screen content coding)などのようにゲームなどのコンテンツ画像/動画コーディングのために使用できる。IBCは、現在ブロックから所定の距離だけ離れた位置の現在ピクチャ内の既に復元された参照ブロックを用いて現在ブロックを予測する方法である。IBCが適用される場合、現在ピクチャ内の参照ブロックの位置は、前記所定の距離に該当するベクトル(ブロックベクトル)として符号化されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出するという点で、インター予測と同様に行われることができる。すなわち、IBCは、本開示で説明されるインター予測技法のうちの少なくとも一つを用いることができる。
【0085】
予測部によって生成された予測信号は、復元信号を生成するために用いられるか、或いはレジデュアル信号を生成するために用いられることができる。減算部115は、入力画像信号(原本ブロック、原本サンプルアレイ)から、予測部から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算して、レジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成することができる。生成されたレジデュアル信号は、変換部120に伝送されることができる。
【0086】
変換部120は、レジデュアル信号に変換技法を適用して変換係数(transform coefficients)を生成することができる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、KLT(Karhunen-Loeve Transform)、GBT(Graph-Based Transform)、又はCNT(Conditionally Non-linear Transform)のうちの少なくとも一つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現するとするとき、このグラフから得られた変換を意味する。CNTは、以前に復元された全てのピクセル(all previously reconstructed pixel)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。変換過程は、正方形の同じサイズを有するピクセルブロックに適用されることもでき、正方形ではない、可変サイズのブロックに適用されることもできる。
【0087】
量子化部130は、変換係数を量子化してエントロピー符号化部190に伝送することができる。エントロピー符号化部190は、量子化された信号(量子化された変換係数に関する情報)を符号化してビットストリーム形式で出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれることができる。量子化部130は、係数スキャン順序(scan order)に基づいて、ブロック形式の量子化された変換係数を一次元ベクトル形式で再整列することができ、前記一次元ベクトル形式の量子化された変換係数に基づいて、前記量子化された変換係数に関する情報を生成することもできる。
【0088】
エントロピー符号化部190は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などの様々な符号化方法を行うことができる。エントロピー符号化部190は、量子化された変換係数の他に、ビデオ/画像復元に必要な情報(例えば、シンタックス要素(syntax elements)の値など)を一緒に又は別々に符号化することもできる。符号化された情報(例えば、符号化されたビデオ/画像情報)は、ビットストリーム形式でNAL(network abstraction layer)ユニット単位で伝送又は保存されることができる。前記ビデオ/画像情報は、適応パラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)などの様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。本開示で言及されたシグナリング情報、伝送される情報及び/又はシンタックス要素は、上述した符号化手順を介して符号化されて前記ビットストリームに含まれることができる。
【0089】
前記ビットストリームは、ネットワークを介して伝送されることができ、又はデジタル記憶媒体に保存されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル記憶媒体は、USB、SD、CD、DVD、Blu-ray、HDD、SSDなどのさまざまな記憶媒体を含むことができる。エントロピー符号化部190から出力された信号を伝送する伝送部(図示せず)及び/又は保存する保存部(図示せず)が画像符号化装置100の内/外部要素として備えられることができ、又は伝送部はエントロピー符号化部190の構成要素として備えられることもできる。
【0090】
量子化部130から出力された、量子化された変換係数は、レジデュアル信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部140及び逆変換部150を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロック又はレジデュアルサンプル)を復元することができる。
【0091】
加算部155は、復元されたレジデュアル信号をインター予測部180又はイントラ予測部185から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部155は、復元部又は復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0092】
一方、ピクチャ符号化及び/又は復元過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0093】
フィルタリング部160は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部160は、復元ピクチャに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ170、具体的にはメモリ170のDPBに保存することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、双方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部160は、各フィルタリング方法についての説明で後述するようにフィルタリングに関する様々な情報を生成してエントロピー符号化部190に伝達することができる。フィルタリングに関する情報は、エントロピー符号化部190で符号化されてビットストリーム形式で出力されることができる。
【0094】
メモリ170に伝送された、修正された復元ピクチャは、インター予測部180で参照ピクチャとして使用されることができる。画像符号化装置100は、これを介してインター予測が適用される場合、画像符号化装置100と画像復号化装置での予測ミスマッチを回避することができ、符号化効率も向上させることができる。
【0095】
メモリ170内のDPBは、インター予測部180での参照ピクチャとして使用するために、修正された復元ピクチャを保存することができる。メモリ170は、現在ピクチャ内の動き情報が導出された(又は符号化された)ブロックの動き情報及び/又は既に復元されたピクチャ内ブロックの動き情報を保存することができる。前記保存された動き情報は、空間周辺ブロックの動き情報又は時間周辺ブロックの動き情報として活用するために、インター予測部180に伝達されることができる。メモリ170は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部185に伝達することができる。
【0096】
画像復号化装置の概要
【0097】
図3は、本開示による実施例が適用できる画像復号化装置を概略的に示す図である。
【0098】
図3に示されているように、画像復号化装置200は、エントロピー復号化部210、逆量子化部220、逆変換部230、加算部235、フィルタリング部240、メモリ250、インター予測部260及びイントラ予測部265を含んで構成できる。インター予測部260及びイントラ予測部265を合わせて「予測部」と呼ばれることができる。逆量子化部220、逆変換部230はレジデュアル処理部に含まれることができる。
【0099】
画像復号化装置200を構成する複数の構成部の全部又は少なくとも一部は、実施例によって一つのハードウェアコンポーネント(例えば、デコーダ又はプロセッサ)で実現されることができる。また、メモリ170は、DPBを含むことができ、デジタル記憶媒体によって実現できる。
【0100】
ビデオ/画像情報を含むビットストリームを受信した画像復号化装置200は、図2の画像符号化装置100で行われたプロセスに対応するプロセスを実行して画像を復元することができる。例えば、画像復号化装置200は、画像符号化装置で適用された処理ユニットを用いて復号化を行うことができる。したがって、復号化の処理ユニットは、例えばコーディングユニットであることができる。コーディングユニットは、コーディングツリーユニット又は最大コーディングユニットを分割して取得できる。そして、画像復号化装置200を介して復号化及び出力された復元画像信号は、再生装置(図示せず)を介して再生できる。
【0101】
画像復号化装置200は、図2の画像符号化装置から出力された信号をビットストリーム形式で受信することができる。受信された信号は、エントロピー復号化部210を介して復号化できる。例えば、エントロピー復号化部210は、前記ビットストリームをパーシングして画像復元(又はピクチャ復元)に必要な情報(例えば、ビデオ/画像情報)を導出することができる。前記ビデオ/画像情報は、適応パラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)などの様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。画像復号化装置は、画像を復号化するために、前記パラメータセットに関する情報及び/又は前記一般制限情報をさらに用いることができる。本開示で言及されたシグナリング情報、受信される情報及び/又はシンタックス要素は、前記復号化手順を介して復号化されることにより、前記ビットストリームから取得されることができる。例えば、エントロピー復号化部210は、指数ゴロム符号化、CAVLC又はCABACなどのコーディング方法に基づいてビットストリーム内の情報を復号化し、画像復元に必要なシンタックス要素の値、レジデュアルに関する変換係数の量子化された値を出力することができる。より詳細には、CABACエントロピー復号化方法は、ビットストリームから各シンタックス要素に該当するビン(bin)を受信し、復号化対象シンタックス要素情報と周辺ブロック及び復号化対象ブロックの復号化情報、或いは以前ステップで復号化されたシンボル/ビンの情報を用いてコンテキスト(context)モデルを決定し、決定されたコンテキストモデルに基づいてビン(bin)の発生確率を予測してビンの算術復号化(arithmetic decoding)を行うことにより、各シンタックス要素の値に該当するシンボルを生成することができる。この時、CABACエントロピー復号化方法は、コンテキストモデルの決定後、次のシンボル/ビンのコンテキストモデルのために、復号化されたシンボル/ビンの情報を用いてコンテキストモデルを更新することができる。エントロピー復号化部210で復号化された情報のうち、予測に関する情報は、予測部(インター予測部260及びイントラ予測部265)に提供され、エントロピー復号化部210でエントロピー復号化が行われたレジデュアル値、すなわち量子化された変換係数及び関連パラメータ情報は、逆量子化部220に入力されることができる。また、エントロピー復号化部210で復号化された情報のうち、フィルタリングに関する情報は、フィルタリング部240に提供されることができる。一方、画像符号化装置から出力された信号を受信する受信部(図示せず)が画像復号化装置200の内/外部要素としてさらに備えられることができ、又は受信部はエントロピー復号化部210の構成要素として備えられることもできる。
【0102】
一方、本開示による画像復号化装置は、ビデオ/画像/ピクチャ復号化装置と呼ばれることができる。前記画像復号化装置は、情報デコーダ(ビデオ/画像/ピクチャ情報デコーダ)及び/又はサンプルデコーダ(ビデオ/画像/ピクチャサンプルデコーダ)を含むこともできる。前記情報デコーダは、エントロピー復号化部210を含むことができ、前記サンプルデコーダは、逆量子化部220、逆変換部230、加算部235、フィルタリング部240、メモリ250、インター予測部260及びイントラ予測部265のうちの少なくとも一つを含むことができる。
【0103】
逆量子化部220では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部220は、量子化された変換係数を二次元のブロック形式で再整列することができる。この場合、前記再整列は、画像符号化装置で行われた係数スキャン順序に基づいて行われることができる。逆量子化部220は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて、量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
【0104】
逆変換部230では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得することができる。
【0105】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピー復号化部210から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか或いはインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モード(予測技法)を決定することができる。
【0106】
予測部が後述の様々な予測方法(技法)に基づいて予測信号を生成することができるのは、画像符号化装置100の予測部についての説明で述べたのと同様である。
【0107】
イントラ予測部265は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。イントラ予測部185についての説明は、イントラ予測部265に対しても同様に適用されることができる。
【0108】
インター予測部260は、参照ピクチャ上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。この時、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測など)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間周辺ブロック(temporal neighboring block)を含むことができる。例えば、インター予測部260は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出することができる。様々な予測モード(技法)に基づいてインター予測が行われることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモード(技法)を指示する情報を含むことができる。
【0109】
加算部235は、取得されたレジデュアル信号を予測部(インター予測部260及び/又はイントラ予測部265を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用できる。加算部155についての説明は、加算部235に対しても同様に適用できる。加算部235は、復元部又は復元ブロック生成部と呼ばれることもある。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを介して次のピクチャのインター予測のために使用されることもできる。
【0110】
フィルタリング部240は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部240は、復元ピクチャに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ250、具体的にはメモリ250のDPBに保存することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、双方向フィルタ(bilateral filter)などを含むことができる。
【0111】
メモリ250のDPBに保存された(修正された)復元ピクチャは、インター予測部260で参照ピクチャとして使用されることができる。メモリ250は、現在ピクチャ内の動き情報が導出された(又は復号化された)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を保存することができる。前記保存された動き情報は、空間周辺ブロックの動き情報又は時間周辺ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ250は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部265に伝達することができる。
【0112】
本明細書において、画像符号化装置100のフィルタリング部160、インター予測部180及びイントラ予測部185で説明された実施例は、それぞれ画像復号化装置200のフィルタリング部240、インター予測部260及びイントラ予測部265にも、同様に又は対応するように適用されることができる。
【0113】
変換/逆変換の概要
【0114】
上述したように、符号化装置は、イントラ/インター/IBC予測などによって予測されたブロック(予測サンプル)に基づいてレジデュアルブロック(レジデュアルサンプル)を導出することができ、導出されたレジデュアルサンプルに変換及び量子化を適用して、量子化された変換係数を導出することができる。量子化された変換係数に対する情報(レジデュアル情報)は、レジデュアルコーディングシンタックスに含まれて符号化された後、ビットストリーム形式で出力されることができる。復号化装置は、前記ビットストリームから前記(量子化された)変換係数に対する情報(レジデュアル情報)を取得し、復号化して、量子化された変換係数を導出することができる。復号化装置は、量子化された変換係数に基づいて逆量子化/逆変換を経てレジデュアルサンプルを導出することができる。上述したように、前記量子化/逆量子化及び/又は変換/逆変換のうちの少なくとも一つは省略可能である。前記量子化/逆量子化が省略される場合、前記量子化された変換係数は、変換係数と呼ばれることがある。前記変換/逆変換が省略される場合、前記変換係数は、係数又はレジデュアル係数と呼ばれることもあり、或いは表現の統一性のために変換係数と依然として呼ばれることもある。前記変換/逆変換の省略可否は、transform_skip_flagに基づいてシグナリングされることができる。
【0115】
また、本開示において、量子化された変換係数及び変換係数は、それぞれ変換係数及びスケーリングされた(scaled)変換係数と呼ばれることがある。この場合、レジデュアル情報は、変換係数に関する情報を含むことができ、前記変換係数に関する情報は、レジデュアルコーディングシンタックスを介してシグナリングされることができる。前記レジデュアル情報(又は前記変換係数に関する情報)に基づいて変換係数が導出されることができ、前記変換係数に対する逆変換(スケーリング)を介してスケーリングされた変換係数が導出されることができる。前記スケーリングされた変換係数に対する逆変換(変換)に基づいてレジデュアルサンプルが導出されることができる。これは、本開示の他の部分においても同様に適用/表現できる。
【0116】
前記変換/逆変換は、変換カーネルに基づいて行われることができる。例えば、本開示によれば、MTS(multiple transform selection)スキーム(scheme)が適用できる。この場合、多数の変換カーネルセットの中から一部が選択されて現在ブロックに適用できる。変換カーネルは、変換マトリクスや変換タイプなどの多様な用語で呼ばれることができる。例えば、変換カーネルセットは、垂直方向変換カーネル(垂直変換カーネル)及び水平方向変換カーネル(水平変換カーネル)の組み合わせを示すことができる。
【0117】
例えば、MTSインデックス情報(又は、mts_idxシンタックス要素)が前記変換カーネルセットのうちの一つを指示するために、符号化装置で生成/符号化されて復号化装置にシグナリングされることができる。例えば、MTSインデックス情報の値による変換カーネルセットは、表1のように導出されることができる。
【0118】
【表1】
【0119】
表1は、tu_mts_idx[x0][y0]によるtyTypeHor及びtrTypeVer値を示す。
【0120】
前記変換カーネルセットは、例えば、cu_sbt_horizontal_flag及びcu_sbt_pos_flagに基づいて表2のように決定されることもできる。
【0121】
【表2】
【0122】
表2は、cu_sbt_horizontal_flag及びcu_sbt_pos_flagによるtyTyperHor及びtrTypeVer値を示す。ここで、1のようなcu_sbt_horizontal_flagは、現在コーディングユニットが二つの変換ブロックに水平分割されることを示すことができる。これとは異なり、0のようなcu_sbt_horizontal_flagは、現在コーディングユニットが二つの変換ブロックに垂直分割されることを示すことができる。また、1のようなcu_sbt_pos_flagは、現在コーディングユニット内の第1変換ユニットのシンタックス要素tu_cbf_luma、tu_cbf_cb及びtu_cbf_crがビットストリーム内に存在しないことを示すことができる。これとは異なり、0のようなcu_sbt_pos_flagは、現在コーディングユニット内の第2変換ユニットのシンタックス要素tu_cbf_luma、tu_cbf_cb及びtu_cbf_crがビットストリーム内に存在しないことを示すことができる。
【0123】
一方、表1及び表2において、trTypeHorは、水平方向変換カーネルを示すことができ、trTypeVerは、垂直方向変換カーネルを示すことができる。trTypeHor/trTypeVer値0はDCT2を示すことができ、trTypeHor/trTypeVer値1はDST7を示すことができ、trTypeHor/trTypeVer値2はDCT8を示すことができる。但し、これは、例示であって、約束によって他の値が他のDCT/DSTにマッピングされることもできる。
【0124】
表3は、上述したDCT2、DCT8、DST7に対する基底関数(basis functions)を例示的に示す。
【0125】
【表3】
【0126】
本開示において、前記MTS基盤の変換が一次変換(primary transform)として適用され、二次変換(secondary transform)がさらに適用され得る。前記二次変換は、前記一次変換が適用された係数ブロックの左上端w×h領域の係数に対してのみ適用されてもよく、RST(reduced secondary transform)と呼ばれてもよい。例えば、前記w及び/又はhは4又は8であってもよい。変換では、レジデュアルブロックに前記一次変換及び前記二次変換が順次適用されることができ、逆変換では、変換係数に逆二次変換及び逆一次変換が順次適用されることができる。前記二次変換(RST変換)は、low freueqncy coefficients transform(LFCT)又はlow frequency non-seperable transform(LFNST)と呼ばれることがある。前記逆二次変換は、逆LFCT又は逆LFNSTと呼ばれることがある。
【0127】
図4は、LFNST適用方法を説明するための図である。
【0128】
図4を参照すると、LFNSTは、エンコーダ段では順方向(forward)一次変換411と量子化413との間、デコーダ段では逆量子化421と逆方向(inverse)一次変換(又は一次逆変換)423との間に適用されることができる。
【0129】
LFNSTでは、4×4非分離変換又は8×8非分離変換がブロックのサイズに応じて(選択的に)適用されることができる。例えば、比較的小さいブロック(すなわち、min(width、height)<8)に対しては4×4LFNSTが適用され、比較的大きいブロック(すなわち、min(width、height)>4)に対しては8×8LFNSTが適用されることができる。図4では、例示的に、16個の入力係数に対して4×4順方向LFNSTが適用され、64個の入力係数に対して8×8順方向LFNSTが適用されることが示される。また、図4では、例示的に、8個の入力係数に対して4×4逆方向LFNSTが適用され、16個の入力係数に対して8×8逆方向LFNSTが適用されることができることが示される。
【0130】
LFNSTでは、総4つの変換セットとそれぞれの変換セットごとに二つの非分離変換行列(カーネル)が用いられることができる。イントラ予測モードから変換セットへのマッピングは、表4のように予め定義できる。
【0131】
【表4】
【0132】
表4を参照すると、現在ブロックに対して81乃至83の予測モード番号を有する(すなわち、81≦IntraPredMode≦83)3つのCCLMモードが用いられる場合、現在クロマブロックに対して変換セット0が選択されることができる。それぞれの変換セットに対して、指定された非分離二次変換候補が明示的にシグナリングされたLFNSTインデックスによってさらに指定されることができる。当該インデックスは、変換係数以後、IntraCU当たり1回ずつビットストリーム内でシグナリングされることができる。
【0133】
一方、前記変換/逆変換は、CU又はTU単位で行われることができる。すなわち、前記変換/逆変換は、CU内のレジデュアルサンプル又はTU内のレジデュアルサンプルに対して適用されることができる。CUサイズとTUサイズとが同じであってもよく、或いはCU領域内に複数のTUが存在してもよい。一方、CUサイズとは、一般的にルーマ成分(サンプル)CBサイズを示すことができる。TUサイズとは、一般的にルーマ成分(サンプル)TBサイズを示すことができる。クロマ成分(サンプル)CB又はTBサイズは、カラーフォーマット(クロマフォーマット、例えば、4:4:4、4:2:2、4:2:0など)による成分比に応じてルーマ成分(サンプル)CB又はTBサイズに基づいて導出されることができる。前記TUサイズは、maxTbSizeに基づいて導出されることができる。例えば、前記CUサイズが前記maxTBSizeより大きい場合、前記CUから前記maxTbSizeの複数のTU(TB)が導出され、前記TU(TB)単位で変換/逆変換が行われることができる。前記maxTbSizeは、ISPなどの多様なイントラ予測タイプが適用されるか否かの判断などに考慮されることができる。前記maxTbSizeに対する情報は、予め決定されてもよく、或いは符号化装置で生成及び符号化されて復号化装置へシグナリングされてもよい。
【0134】
前述したように、変換は、レジデュアルブロックに適用されることができる。これは、最大限レジデュアルブロックを無相関化(decorrelate)し、低周波数に係数を集中させ、ブロックの端にゼロテール(zero tail)を作るためである。JEMソフトウェアにおいて、変換パートは、二つの主要機能、すなわちコア変換及び二次変換を含む。コア変換は、レジデュアルブロックの全ての行と列に適用されるDCT(discrete cosine transform)及びDST(discrete sine transform)変換ファミリーで構成される。以後、二次変換がコア変換の出力の左上隅に追加的に適用できる。同様に、二次逆変換とコア逆変換の順に逆変換が適用されることができる。具体的には、二次逆変換が係数ブロックの左上隅に適用されることができる。以後、コア逆変換が二次逆変換の出力の行及び列に適用される。コア変換/逆変換は、一次変換/逆変換と称されることがある。
【0135】
AMT(Adaptive multiple core transform)の概要
【0136】
既存のDCT-2と4×4DST-7に加えて、適応的(又は明示的)多重変換(adaptive multiple transform又はexplicit multiple transform)(AMT又はEMT)技法が、インター及びイントラコーディングされたブロックに対するレジデュアルコーディングのために利用できる。以下、AMT及びEMTを混用して使用することもある。AMTでは、既存の変換の他にDCT/DSTファミリーから選ばれた複数の変換が利用できる。JEMにおいて新たに導入された変換行列は、DST-7、DCT-8、DST-1及びDCT-5である。AMTに用いられるDST/DCTの基底関数は、表5の通りである。
【0137】
【表5】
【0138】
EMTは、64と同じかそれより小さい幅及び高さを有するCUに適用されることができ、EMTが適用されるか否かは、CUレベルフラグによって制御されることができる。例えば、CUレベルフラグが0であれば、DCT-2がレジデュアル(residue)を符号化するためにCUに適用される。EMTが適用されるCU内のルーマコーディングブロックに対して、二つの追加的なフラグが用いられる水平及び垂直変換を識別するためにシグナリングされる。JEMにおいて、ブロックのマニュアルは、変換スキップモードでコーディングされることができる。イントラレジデュアルコーディングの場合、他のイントラ予測モードの他のレジデュアル統計により、モード依存的変換候補選択プロセスが用いられる。例えば、3つの変換サブセットが表6のように定義され、表7のようにイントラ予測モードに基づいて変換サブセットが選択される。
【0139】
【表6】
【0140】
【表7】
【0141】
サブセットコンセプトと共に、変換サブセットは、CU-レベルEMT_CU_flagが1であるCUのイントラ予測モードを用いて、表6に基づいて最初に識別される。以後、水平(EMT_TU_horizontal_flag)及び垂直(EMT_TU_vertical_flag)変換のそれぞれに対して、識別された変換サブセット内の二つの変換候補のうちの一つが、表7に従ってフラグを用いた明示的シグナリングに基づいて選択される。
【0142】
【表8】
【0143】
表8は、AMTが適用される変換設定グループ(transform configuration group)を示す。
【0144】
表8を参照すると、変換設定グループは、予測モードに基づいて決定され、グループの個数は、総6個(G0~G5)であり得る。そして、G0~G4は、イントラ予測が適用される場合に該当し、G5は、インター予測によって生成されたレジデュアルブロックに適用される変換組み合わせ(又は変換セット、変換組み合わせセット)を示す。
【0145】
一つの変換組み合わせは、当該2Dブロックの行(row)に適用される水平変換(horizontal transform)(又は、行変換(row transform)と、列(column)に適用される垂直変換(vertical transoform)(又は、列変換(column transform))からなることができる。
【0146】
ここで、全ての変換設定グループは、各4つの変換組み合わせ候補を有することができる。4つの変換組み合わせ候補は、0~3の変換組み合わせインデックスを介して選択又は決定されることができ、エンコーダからデコーダに変換組み合わせインデックスを符号化して伝送することができる。
【0147】
一例として、イントラ予測によって取得されたレジデュアルデータ(又はレジデュアル信号)は、イントラ予測モードによってその統計的特性がそれぞれ異なり得る。従って、表8のように、イントラ予測別に、一般的なコサイン変換ではなく他の変換が適用されることができる。本開示において、変換タイプは、例えば、DCT-Type2、DCT-II、DCT-2のように表記されることができる。
【0148】
表8は、35個のイントラ予測モードを使用する場合と67個のイントラ予測モードを使用する場合を示す。各イントラ予測モード列において区分された変換設定グループ別に複数個の変換組み合わせが適用できる。例えば、複数個の変換組み合わせは、4個の(行方向変換、列方向変換)組み合わせで構成できる。具体的な例として、グループ0では、行(水平)方向と列(垂直)方向の両方ともにDST-7とDCT-5が適用できるため、総4個の組み合わせが可能である。
【0149】
各イントラ予測モードに対して総4個の変換カーネル組み合わせが適用できるので、その中の一つを選択するための変換組み合わせインデックスが変換単位(transform unit)ごとに伝送されることができる。本開示において、変換組み合わせインデックスは、AMTインデックス(AMT index)と称されることがあり、amt_idxで表現できる。
【0150】
また、表8に提示された変換カーネル以外にも、レジデュアル信号の特性上、行方向と列方向の両方に対して、DCT-2が最適である場合が発生しうる。したがって、コーディングユニットごとにAMTフラグを定義することにより、適応的に変換が適用できる。ここで、AMTフラグが0であれば、行方向と列方向の両方に対してDCT-2が適用され、AMTフラグが1であれば、AMTインデックスを介して4個の組み合わせのうちの一つが選択又は決定されることができる。
【0151】
一例として、AMTフラグが0である場合、一つの変換単位に対して変換係数の個数が3より小さければ、表8の変換カーネルが適用されず、行方向と列方向の両方に対してDST-7コーデックが適用されることができる。
【0152】
一例として、変換係数値を先にパーシングして変換係数の個数が3より小さければ、AMTインデックスがパーシングされずにDST-7が適用されることにより、付加情報伝送量が減少できる。
【0153】
一例として、AMTは、変換単位の幅と高さの両方が32以下である場合にのみ適用できる。
【0154】
一例として、表8は、オフライントレーニング(off-line training)を介して予め設定できる。
【0155】
一例として、AMTインデックスは、水平変換と垂直変換の組み合わせを同時に指し示すことができる一つのインデックスと定義できる。或いは、AMTインデックスは、別途の水平変換インデックス及び垂直変換インデックスと定義できる。
【0156】
図5は、AMTが行われる符号化過程を示すフローチャートである。
【0157】
AMTは、一次変換又は二次変換に関係なく適用できる。すなわち、両者のいずれか一方にのみ適用されなければならないという制約がなく、両方とも適用可能である。ここで、一次変換は、レジデュアルブロックを最初に変換するための変換を意味することができ、二次変換は、一次変換の結果として生成されたブロックに対して変換を適用するための変換を意味することができる。
【0158】
まず、符号化装置は、現在ブロックに対応する変換グループを決定することができる(S510)。ここで、前記変換グループは、表8を参照して前述した変換グループを意味することができるが、これに限定されず、他の変換組み合わせで構成されてもよい。
【0159】
符号化装置は、前記変換グループ内の利用可能な候補変換組み合わせに対して変換を行うことができる(S520)。
【0160】
前記変換を行った結果、符号化装置は、RD(Rate Distortion)費用が最も小さい変換組み合わせを決定又は選択することができる(S530)。
【0161】
符号化装置は、前記選択された変換組み合わせに対応する変換組み合わせインデックスを符号化することができる(S540)。
【0162】
図6は、AMTが行われる復号化過程を示すフローチャートである。
【0163】
まず、復号化装置は、現在ブロックのための変換グループを決定することができる(ステップS610)。
【0164】
復号化装置は、変換組み合わせインデックスをパーシングすることができる(S620)。ここで、前記変換組み合わせインデックスは、前記変換グループ内の複数個の変換組み合わせのうちのいずれか一つに対応することができる。変換グループを決定するステップ(S610)、及び変換組み合わせインデックスをパーシングするステップ(S620)は同時に行われてもよい。
【0165】
復号化装置は、前記変換組み合わせインデックスに対応する変換組み合わせを誘導することができる(S630)。ここで、前記変換組み合わせは、表8を参照して前述した変換組み合わせを意味することができるが、これに限定されない。すなわち、他の変換組み合わせによる構成も可能である。
【0166】
復号化装置は、前記変換組み合わせに基づいて現在ブロックに対して逆変換を行うことができる(S640)。前記変換組み合わせが行変換と列変換で構成された場合、行変換を先に適用した後、列変換を適用することができる。但し、本過程は、これに限定されず、逆に適用されてもよい。
【0167】
二次変換及びNSSTインデックスコーディングの概要
【0168】
二次変換/逆変換のために、モード依存的非分離二次変換(mode-dependent non-separable secondary transform、MDNSST)が適用できる。低複雑度を保つために、MDNSSTは、一次変換後に低周波係数に対してのみ適用できる。変換係数ブロックの幅(width、W)及び高さ(height、H)がいずれも8と同じかそれより大きければ、8×8非分離二次変換が変換係数ブロックの左上側の8×8領域に適用される。これとは異なり、幅又は高さが8よりも小さい場合、4×4非分離二次変換が適用され、4×4非分離二次変換は変換係数ブロックの左上側のmin(8、W)× min(8、H)に行われることができる。ここで、min(A、B)は、AとBのうちより小さい値を出力する関数である。
【0169】
4×4及び8×8ブロックサイズの両方に対して、合計35×3個の非分離二次変換があり得る。ここで、35は、イントラ予測モードによって特定される変換セットの個数を意味し、3は、それぞれのイントラ予測モードに対するNSST候補の個数を意味することができる。イントラ予測モードから変換セットへのマッピングは、表9のように定義できる。
【0170】
【表9】
【0171】
変換セットの中で変換カーネルを指示するために、NSSTインデックス(NSST idx)がコーディングされることができる。NSSTが適用されなければ、0の値を有するNSSTインデックスがシグナリングされることができる。
【0172】
二次変換(例えば、MDNSST)は、変換スキップモードでコーディングされたブロックに対しては適用されない。MDNSSTインデックスがCUに対してシグナリングされ、0でなければ、MDNSSTは、CU内において変換スキップモードでコーディングされた成分のブロックに対しては使用されない。係数コーディングとNSSTインデックスコーディングを含む全般的なコーディング構造が図6及び図7に示される。また、CBF(coded block flag)が、係数コーディング及びNSSTコーディングが適用されるか否かを決定するために符号化される。図6及び図7において、CBFフラグは、ルーマブロックcbfフラグ(cbf_luma flag)又はクロマブロックcbfフラグ(cbf_cb flag又はcbf_cr flag)を示すことができる。CBFフラグが1であるとき、変換係数がコーディングされる。
【0173】
図7は、NSSTが行われる符号化過程を示すフローチャートである。
【0174】
図7を参照すると、符号化装置は、CBFフラグが1であるか否かを確認する(S710)。CBFフラグが0である場合(S710の「NO」)、符号化装置は、変換係数符号化及びNSSTインデックス符号化を行わない。これとは異なり、CBFフラグが1である場合(S710の「YES」)、符号化装置は、変換係数に対する符号化を行う(S720)。その後、符号化装置は、NSSTインデックスコーディングが適用されるか否かを決定し(S730)、NSSTインデックスコーディングを行う(S740)。NSSTインデックスコーディングが適用されない場合(S730の「NO」)、符号化装置は、NSSTを適用していない状態で変換手続きを終了し、以後のステップ(例えば、量子化)を行うことができる。
【0175】
図8は、NSSTが行われる復号化過程を示すフローチャートである。
【0176】
図8を参照すると、復号化装置は、CBFフラグが1であるか否かを確認する(S810)。CBFフラグが0である場合(S810の「NO」)、復号化装置は、変換係数復号化及びNSSTインデックス復号化を行わない。これとは異なり、CBFフラグが1である場合(S810の「YES」)、復号化装置は、変換係数に対する復号化を行う(S820)。その後、復号化装置は、NSSTインデックスコーディングが適用されるか否かを決定し(S830)、NSSTインデックスをパーシングする(S840)。
【0177】
NSSTは、一次変換が適用されたブロック、例えば、TU全体に対して適用されるのではなく、ブロックの左上側の8×8領域又は4×4領域に対してのみ適用できる。一例として、ブロックのサイズが8×8以上である場合、8×8NSSTが適用され、ブロックのサイズが8×8未満である場合、4×4NSSTが適用されることができる。また、8×8NSSTが適用される場合、4×4ブロック別に4×4NSSTが適用されることができる。8×8NSSTと4×4NSSTの両方とも上述した変換セット構成に従い、8×8NSSTは64個の入力データと64個の出力データを有し、4×4NSSTは16個の入力と16個の出力を有することができる。
【0178】
図9及び図10は、NSST実行方法を説明するための図である。図9はギブンス回転(Givens Rotation)を示し、図10はギブンス回転レイヤーと置換(Permutation)で構成された4×4NSSTのラウンド(Round)構成を示す。
【0179】
8×8NSSTと4×4NSSTはいずれも、ギブンス回転の階層的組み合わせで構成されることができる。一つのギブンス回転に該当する行列は、数式1の通りであり、行列積をダイヤグラムで表現すれば、図9の通りである。
【0180】
【数1】
【0181】
図9に示すように、二つの入力データx及びxに対して数式1の行列を適用して二つの出力データt及びtが取得されることができる。
【0182】
一つのギブンス回転は、二つのデータを回転させるものであるので、64個のデータ(8×8NSSTの場合)又は16個のデータ(4×4NSSTの場合)を処理するためには、それぞれ32個又は8個のギブンス回転が必要である。よって、32個又は8個のギブンス回転をグループ化してギブンス回転レイヤーが構成されることができる。
【0183】
図10に示すように、一つのギブンス回転レイヤーに対する出力データが置換(又は、シャッフリング)を介して次のギブンス回転レイヤーに対する入力データへ伝達される。図10のように置換されるパターンは、規則的に定義され、4×4NSSTの場合は、4個のギブンス回転レイヤー及び対応する置換が一つのラウンドを形成する。4×4NSSTは、2回のラウンドによって行われ、8×8NSSTは、4回のラウンドによって行われる。互いに異なるラウンドは、同一の置換パターンを使用するが、適用されるギブンス回転角度は、それぞれ異なり得る。よって、各変換を構成する全てのギブンス回転に対する角度データを保存する必要がある。
【0184】
最後のステップとして、ギブンス回転レイヤーを経て出力されたデータに対して最終的に一回の置換がさらに行われ、当該置換に関する情報は、変換ごとに別途に保存される。順方向NSSTの場合、当該置換は最後に行われ、逆方向NSSTの場合、当該置換の逆過程(すなわち、逆方向置換又は逆置換)は最も先に行われる。
【0185】
逆方向NSSTの場合、順方向NSSTで適用されたギブンス回転レイヤーとは置換が逆順に適用され、各ギブンス回転角度に対してはマイナス(-)値が付加される。
【0186】
RST(Reduced Secondary Transform)の概要
【0187】
図11及び図12は、RST実行方法を説明するための図である。
【0188】
一つの変換を表す直交(orthogonal)行列がN×N形態を有すると仮定するとき、RT(reduced transform)は、N個の変換基底ベクトルのうち、R個のみを残す(R<N)。変換係数を生成する順方向RTに対する行列は、数式2のように定義できる。
【0189】
【数2】
【0190】
逆方向RTに対する行列は、順方向RT行列の転置(transpose)行列になるので、順方向RTと逆方向RTの適用を図式化すれば、図11の(a)及び(b)の通りである。
【0191】
一次変換が適用された変換係数ブロックの左上端の8×8ブロックに対して適用されるRTは、8×8RSTと称されることがある。数式2においてRの値を16としたとき、順方向8×8RSTは16×64行列形態を有し、逆方向8×8RSTは64×16行列形態を有する。8×8RSTに対しても、表9のような変換セット構成が適用できる。すなわち、表9における変換セットによって8×8RSTが決定できる。一つの変換セットは、イントラ予測モードに応じて2個又は3個の変換で構成されるので、二次変換を適用しない場合まで含めて最大4個の変換のうちの一つが選択できる(一つの変換は、恒等行列に該当することができる)。4個の変換に対してそれぞれ0、1、2、3のインデックスを付与すると仮定するとき(例えば、0番インデックスは恒等行列、すなわち、二次変換が適用されない場合に割り当てられることができる)、NSSTインデックスに該当するシンタックス要素が変換係数ブロックごとにシグナリングされることにより、適用される変換が指定できる。すなわち、NSSTインデックスを介して8×8の左上端のブロックに対して、NSSTの場合は8×8NSSTが指定でき、RSTの場合は8×8RSTが指定できる。
【0192】
上述した数式2のような順方向8×8RSTを適用すると、16個の有効な変換係数が生成されるので、8×8領域を構成する64個の入力データが16個の出力データに縮小されると見做すことができ、二次元領域観点から見れば、1/4だけの領域にのみ有効な変換係数が満たされる。したがって、順方向8×8RSTを適用して取得された16個の出力データは、図12における左上端領域に満たされる。
【0193】
図12は、逆方向スキャン順序に従って64番目から17番目までの逆方向スキャンを行う過程を示す。
【0194】
図12において、左上端の4×4領域が、有効な変換係数が満たされるROI(region of interest)領域となり、残りの領域は空になる。空になる領域には0の値がデフォルト(default)で満たされることができる。もし、図12のROI領域以外の領域から0でない有効な変換係数が発見されたとすれば、8×8RSTが適用されていないことが確実であるので、NSSTインデックスコーディングが省略できる。逆に、図12のROI領域以外の領域から0でない変換係数が発見されなければ(すなわち、ROI以外の領域が0で満たされた場合)、8×8RSTが適用された可能性があるので、NSSTインデックスがコーディングされることができる。このような条件的NSSTインデックスコーディングは、0でない変換係数の存否をチェックする必要があるので、レジデュアルコーディング過程以後に行われることができる。
【0195】
本開示において、NSST/RT/RSTは、総称してLFNSTと呼ばれることがあり、NSSTインデックス又は(R)STインデックスは、総称してLFNSTインデックスと呼ばれることがある。LFNSTは、変換係数ブロックの左上端領域に位置した低周波変換係数に対して変換カーネル(変換マトリクス又は変換マトリクスカーネル)に基づく非分離変換形式で適用できる。
【0196】
以下、添付図面を参照して本開示の実施例を詳細に説明する。
【0197】
図13は、本開示の一実施例による変換及び逆変換過程を説明するための図である。図13において、変換部1310は、図2の変換部120に対応することができ、逆変換部1320は、図2の逆変換部150又は図3の逆変換部230に対応することができる。
【0198】
図13を参照すると、変換部1310は、一次変換部1311及び二次変換部1312を含むことができる。
【0199】
一次変換部1311は、レジデュアルサンプル(A)に対して一次変換を適用して(一次)変換係数(B)を生成することができる。本開示において、一次変換はコア変換(core transform)と称されることがある。
【0200】
一次変換は、MTSスキームに基づいて行われることができる。既存のMTSが適用される場合、DCTタイプ2、DSTタイプ7及びDCTタイプ8などに基づいてレジデュアル信号(又はレジデュアルブロック)に対して空間ドメインから周波数ドメインへの変換が適用されて変換係数(又は、一次変換係数)が生成されることができる。ここで、DCTタイプ2、DSTタイプ7及びDCTタイプ8などは、変換タイプ、変換カーネル又は変換コアと呼ばれることがある。DCTタイプ2、DSTタイプ7及びDCTタイプ8に対する基底関数の一例は、表3を参照して前述した通りである。但し、これは、例示であって、本開示の実施例は、既存のMTSカーネルの構成が異なる場合にも適用されてもよく、すなわち、他のタイプのDCT/DST又は変換skipを含む場合にも適用されてもよい。
【0201】
既存のMTSは、分離変換であって、水平方向に一つのカーネルを適用し、垂直方向に一つのカーネルを適用する形態を有する。一般に、非分離変換カーネルが分離変換カーネルよりもさらに高い符号化/復号化効率を提供することが知られているが、従来の一次変換では、非分離変換方法を使用していない。
【0202】
そこで、本開示の実施例によれば、一次変換は、非分離変換カーネルに基づいて行われることができる。本開示において、非分離変換カーネルに基づく一次変換は、非分離一次変換(non-separable primary transform)又は非分離コア変換(non-separable core transform)と呼ばれることがある。
【0203】
非分離一次変換は、既存のMTS候補のうちの少なくとも一つを置き換えるか、或いは新しいMTS候補として追加されることができる。例えば、DCTタイプ2と非分離一次変換のみがMTS候補として用いられてもよく、DCTタイプ2、DSTタイプ7及びDCTタイプ8にさらに非分離一次変換がMTS候補として用いられてもよい。
【0204】
非分離一次変換がMTS候補に含まれることにより、前述した表1のMTSインデックス(例えば、tu_mts_idx[x0][y0])テーブルは、例えば、表10又は表11のように修正できる。
【0205】
【表10】
【0206】
【表11】
【0207】
表10及び表11において、trTypeHorは、水平方向変換カーネルを示すことができ、trTypeVerは、垂直方向変換カーネルを示すことができる。表10の場合、trTypeHor/trTypeVer値0は、DCTタイプ2を示し、trTypeHor/trTypeVer値1は、DSTタイプ7を示し、trTypeHor/trTypeVer値2は、非分離一次変換を示すことができる。表11の場合、trTypeHor/trTypeVer値0は、DSTタイプ2を示し、trTypeHor/trTypeVer値1は、DSTタイプ7を示し、trTypeHor/trTypeVer値2は、DSTタイプ8を示すことができる。また、trTypeHor/trTypeVer値3は、非分離一次変換を示すことができる。但し、これは一つの例示に過ぎず、本開示の実施例はこれに限定されない。
【0208】
非分離一次変換は、水平方向変換及び垂直方向変換が分離されない属性を有するので、非分離一次変換の変換カーネルは、水平方向及び垂直方向に対して必ず同一であることを要する。そこで、本開示の一実施例によれば、trTypeHorが非分離一次変換を示す値を有する場合、trTypeVer値も非分離一次変換を指示する値を有するように強制されることができる(constraint)。例えば、表11において、trTypeHor値が3であれば、trTypeVer値は0~2であってはならず、3のみに強制されることができる。
【0209】
一方、実施例によって、非分離一次変換は、上述したMTSスキームとは別のオプションで追加されてもよい。例えば、非分離一次変換は、MTS候補に含まれず、独立した一つの変換候補として用いられてもよい。この場合、非分離一次変換が適用されるか否かを示すために、所定の第1フラグ(例えば、nspt_flag)がシグナリングされることができ、MTSが適用されるか否かを示す第2フラグ(例えば、mts_flag)は、第1フラグが0である場合(すなわち、非分離一次変換が適用されないことを示す場合)にのみシグナリングされることができる。
【0210】
非分離一次変換は、例えば、4×4ブロックを入力として、次の通りに行われることができる。4×4入力ブロックXの一例は、数式3の通りである。
【0211】
【数3】
【0212】
入力ブロックXをベクトル形式で表現すると、数式4のように示すことができる。
【0213】
【数4】
【0214】
この場合、非分離一次変換は、数式5のように計算できる。
【0215】
【数5】
【0216】
ここで、
変換係数ベクトルを示し、
16×16非分離変換行列を示し、
行列とベクトルとの乗算を意味する。
【0217】
数式5によって16×1変換係数ベクトルが導出されることができ、
スキャン順序(例えば、水平、垂直、対角(diagonal)、又は予め定められた/保存されたスキャン順序)によって4×4ブロックに再構成されることができる。但し、これは、一つの例示に過ぎず、非分離一次変換の計算複雑度を減少させるために、最適化された多様な非分離変換計算法が用いられてもよい。
【0218】
このように、本開示の実施例によれば、一次変換部1311は、レジデュアルサンプルAに対して非分離一次変換を適用して(一次)変換係数Bを生成することができる。
【0219】
二次変換部1312は、(一次)変換係数Bに対して二次変換を適用して(二次)変換係数Cを生成することができる。一例において、二次変換として、前述したLFNSTが適用できる。そして、(二次)変換係数Cは、量子化及びエントロピー符号化過程によって符号化され、ビットストリームの生成に用いられることができる。
【0220】
次に、逆変換部1320は、(逆)二次変換部1321及び(逆)一次変換部1322を含むことができる。
【0221】
(逆)二次変換部1321は、逆量子化された(二次)変換係数C”に対して(逆)二次変換を適用して(一次)(逆)変換係数B’を生成することができる。ここで、(逆)二次変換は、変換部1310によって行われた二次変換の逆過程に該当することができる。
【0222】
(逆)一次変換部1322は、(一次)(逆)変換係数B’に対して(逆)一次変換を適用してレジデュアルサンプルA’を生成することができる。
【0223】
本開示の実施例によれば、(逆)一次変換は、非分離一次逆変換を含むことができる。非分離一次逆変換は、MTS候補として含まれるか、或いは独立した逆変換候補として提供されることができる。非分離一次逆変換は、非分離一次変換の逆過程に該当し、その具体的な内容は、非分離一次変換に関連して上述した通りである。
【0224】
一方、非分離一次変換は、水平方向変換及び垂直方向変換を分離せずに一度に変換を適用するという点で、非分離二次変換とは基本的属性が同一又は類似である。しかし、変換対象、変換行列、ゼロアウト範囲などの具体的変換方法において、両者は異なる特徴を有する。以下、図14a乃至図16dを参照して、非分離一次変換と非分離二次変換との差異点を詳細に説明する。
【0225】
図14a乃至図14dは、非分離二次変換過程を説明するための図である。
【0226】
図14a乃至図14dは、エンコーダ段における非分離二次変換、すなわち順方向非分離二次変換過程を示す。
【0227】
図14aは、入力ブロックのサイズが4×4である場合を示し、図14bは、入力ブロックのサイズが8×4又は4×8である場合を示す。また、図14cは、入力ブロックのサイズが8×8である場合を示し、図14dは、入力ブロックのサイズが16×8又は8×16である場合を示す。
【0228】
図14a乃至図14dにおいて、太線で表示された領域は、非分離二次変換が適用される領域を示す。
【0229】
まず、図14aを参照すると、非分離二次変換は、4×4入力ブロック全体に対して適用できる。
【0230】
具体的に、4×4入力ブロックの16個の(一次)変換係数に対して16×8非分離二次変換行列が適用され、8個の(二次)変換係数が生成されることができる。16×8行列が用いられるのは、最悪の場合(worst case)に乗算複雑度を減少させるためである。非分離二次変換結果、(順方向基準)出力係数の個数が入力係数の個数よりも減少するという点で、このような非分離二次変換は、RST(reduced secondary transform)と呼ばれることがある。
【0231】
8個の出力係数は、対角スキャン順序によって4×4出力ブロックの左上端領域(網掛け領域)に配置されることができる。そして、4×4出力ブロックにおける、出力係数が満たされていない残りの領域は、0値で満たされることができる(すなわち、ゼロアウト(zero out))。この場合、ゼロアウト領域は4×4出力ブロックの右下端領域となる。
【0232】
次に、図14bの(a)を参照すると、非分離二次変換は、8×4入力ブロックの左側4×4領域に対してのみ適用できる。これは、非分離二次変換が4×4又は8×8領域単位で行われるためである。
【0233】
具体的に、左側4×4領域の16個の(一次)変換係数に対して16×16非分離二次変換行列が適用されることにより、16個の(二次)変換係数が生成できる。16×16行列が用いられるのは、最悪の場合に乗算複雑度を減少させるためである。
【0234】
16個の出力係数は、対角スキャン順序によって8×4出力ブロックの左側4×4領域(網掛け領域)に配置されることができる。非分離二次変換の対象領域(すなわち、左側4×4領域)が出力係数によって全て満たされるので、ゼロアウトは行われないことがある。そして、8×4出力ブロックにおける、非分離二次変換が適用されていない残りの領域には、(一次)変換係数がそのまま存在する。
【0235】
図14bの(b)を参照すると、非分離二次変換は、4×8入力ブロックの上側4×4領域に対してのみ適用されることができる。図14bの(a)と同様に、これは、非分離二次変換が4×4又は8×8領域単位で行われるためである。
【0236】
具体的に、上側4×4領域の16個の(一次)変換係数に対して16×16非分離二次変換行列が適用されることにより、16個の(二次)変換係数が生成されることができる。
【0237】
16個の出力係数は、対角スキャン順序によって4×8出力ブロックの上側4×4領域(網掛け領域)に配置されることができる。非分離二次変換の対象領域(すなわち、上側4×4領域)が出力係数によって全て満たされるので、ゼロアウトは行われないことがある。そして、4×8出力ブロックにおける、非分離二次変換が適用されていない残りの領域には、(一次)変換係数がそのまま存在する。
【0238】
次に、図14cを参照すると、非分離二次変換は、8×8入力ブロック全体に対して適用できる。
【0239】
具体的に、8×8入力ブロックの48個の(一次)変換係数に対して48×8非分離二次変換行列が適用されることにより、8個の(二次)変換係数が生成されることができる。48×8行列が用いられるのは、最悪の場合に乗算複雑度を減少させるためである。順方向非分離二次変換は、入力ベクトルとして48×1又は16×1ベクトルを用いる関係であって、8×8入力ブロックの左上端の4×4領域、右上端の4×4領域及び左下端の4×4領域の(一次)変換係数のみが非分離二次変換の入力値として用いられることができる。言い換えれば、8×8入力ブロックの右下端の4×4領域の(一次)変換係数は、非分離二次変換の入力値として用いられなくなる。
【0240】
8個の出力係数は、対角スキャン順序によって8×8出力ブロックの左上端領域(網掛け領域)に配置されることができる。そして、8×8出力ブロックにおける、出力係数が満たされていない残りの領域は、0値で満たされることができる。このとき、8×8出力ブロックの右下端の4×4領域は、非分離二次変換の入力値として用いられていないので、当該領域に対するゼロアウトは行われず、(一次)変換係数がそのまま存在する。
【0241】
次に、図14dの(a)を参照すると、非分離二次変換は、16×8入力ブロックの左側8×8領域に対してのみ適用できる。これは、非分離二次変換が4×4又は8×8領域単位で行われるためである。
【0242】
具体的に、左側8×8領域の48個の(一次)変換係数に対して48×16非分離二次変換行列が適用されることにより、16個の(二次)変換係数が生成されることができる。48×16行列が用いられるのは、最悪の場合に乗算複雑度を減少させるためである。順方向非分離二次変換は、入力ベクトルとして48×1又は16×1ベクトルを用いるので、左側8×8領域の右下端4×4領域の(一次)変換係数は、非分離二次変換の入力値として用いられなくなる。
【0243】
16個の出力係数は、対角スキャン順序によって16×8出力ブロックの左上端の4×4領域(網掛け領域)に配置されることができる。そして、16×8出力ブロックにおける、出力係数が満たされていない残りの領域は、0値で満たされることができる。このとき、左側8×8領域の右下端4×4領域は、非分離二次変換の入力値として用いられていないので、当該領域に対するゼロアウトは行われず、(一次)変換係数がそのまま存在する。
【0244】
図14dの(b)を参照すると、非分離二次変換は、8×16入力ブロックの上側8×8領域に対してのみ適用できる。図14dの(a)と同様に、これは、非分離二次変換が4×4又は8×8領域単位で行われるためである。
【0245】
具体的に、上側8×8領域の48個の(一次)変換係数に対して48×16非分離二次変換行列が適用されることにより、16個の(二次)変換係数が生成されることができる。48×16行列が用いられるのは、最悪の場合に乗算複雑度を減少させるためである。順方向非分離二次変換は、入力ベクトルとして48×1又は16×1ベクトルを用いるので、上側8×8領域の右下端の4×4領域の(一次)変換係数は、非分離二次変換の入力値として用いられなくなる。
【0246】
16個の出力係数は、対角スキャン順序によって8×16出力ブロックの左上端の4×4領域(網掛け領域)に配置されることができる。そして、8×16出力ブロックにおける、出力係数が満たされていない残りの領域は、0値で満たされることができる。このとき、上側8×8領域の右下端の4×4領域は、非分離二次変換の入力値として用いられていないので、当該領域に対するゼロアウトは行われず、(一次)変換係数がそのまま存在する。
【0247】
以上、図14a乃至図14dを参照して前述したように、非分離二次変換は、入力ブロックの左上端領域に対してのみ適用できる。また、ゼロアウト領域は、非分離二次変換が実際に適用された領域のうち、(二次)変換係数が満たされていない領域に制限できる。
【0248】
図15a乃至図15dは、本開示の一実施例による非分離一次変換過程を説明するための図である。
【0249】
図15a乃至図15dは、エンコーダ段における非分離一次変換、すなわち順方向非分離一次変換過程を示す。
【0250】
図15aは、入力ブロックのサイズが4×4である場合を示し、図15bは、入力ブロックのサイズが8×4又は4×8である場合を示す。また、図15cは、入力ブロックのサイズが8×8である場合を示し、図15dは、入力ブロックのサイズが16×8又は8×16である場合を示す。
【0251】
図15a乃至図15dにおいて、太線で表示された領域は、非分離一次変換が適用される領域を示す。
【0252】
まず、図15aを参照すると、非分離一次変換は、4×4入力ブロック全体に対して適用できる。具体的には、4×4入力ブロックの16個のレジデュアルサンプルに対して16×16非分離一次変換行列が適用されることにより、16個の(一次)変換係数が生成されることができる。
【0253】
次に、図15bの(a)を参照すると、非分離一次変換は、8×4入力ブロック全体に対して適用できる。具体的に、8×4入力ブロックの32個のレジデュアルサンプルに対して32×32非分離一次変換行列が適用されることにより、32個の(一次)変換係数が生成されることができる。また、図15bの(b)を参照すると、非分離一次変換は、4×8入力ブロック全体に対して適用できる。具体的に、4×8入力ブロックの32個のレジデュアルサンプルに対して32×32非分離一次変換行列が適用されることにより、32個の(一次)変換係数が生成されることができる。
【0254】
次に、図15cを参照すると、非分離一次変換は、8×8入力ブロック全体に対して適用できる。具体的に、8×8入力ブロックの64個のレジデュアルサンプルに対して64×64非分離一次変換行列が適用されることにより、64個の(一次)変換係数が生成されることができる。
【0255】
次に、図15dの(a)を参照すると、非分離一次変換は、16×8入力ブロック全体に対して適用できる。具体的に、16×8入力ブロックの128個のレジデュアルサンプルに対して128×128非分離一次変換行列が適用されることにより、128個の(一次)変換係数が生成されることができる。また、図15dの(b)を参照すると、非分離一次変換は、8×16入力ブロック全体に対して適用できる。具体的に、8×16入力ブロックの128個のレジデュアルサンプルに対して128×128非分離一次変換行列が適用されることにより、128個の(一次)変換係数が生成されることができる。
【0256】
このように、本開示の実施例による非分離一次変換は、入力ブロックの全体領域に対して適用できる。また、非分離一次変換によって入力ブロック内の全てのレジデュアルサンプルが(一次)変換されるので、ゼロアウトは行われなくなる。この点で、非分離一次変換は、非分離二次変換とは異なる特徴を有する。
【0257】
一方、図15a乃至図15dは、非分離一次変換の入力サンプルの個数と出力係数の個数とが同一である場合を示す。しかし、実施例によっては、非分離一次変換の出力係数の個数が入力サンプルの個数よりも小さくなるRT(reduced transform)形態の非分離一次変換が適用されてもよい。
【0258】
図16a乃至図16dは、本開示の他の実施例による非分離一次変換過程を説明するための図である。非分離一次変換が入力ブロック全体に対して適用されるという点で、図16a乃至図16dの非分離一次変換は、図15a乃至図15dの場合と同様である。以下、重複説明は省略し、両者の相違点を中心に説明する。
【0259】
まず、図16aを参照すると、4×4入力ブロックの16個のレジデュアルサンプルに対して16×8非分離一次変換行列が適用されることにより、8個の(一次)変換係数が生成されることができる。非分離一次変換結果、(順方向基準)出力係数の個数が入力サンプルの個数よりも減少するという点で、このような非分離一次変換は、RPT(reduced primary transform)又はRCT(reduced core transform)と呼ばれることがある。
【0260】
8個の出力係数は、対角スキャン順序によって4×4出力ブロックの左上端領域(網掛け領域)に配置されることができる。そして、4×4出力ブロックにおける、出力係数が満たされていない残りの全ての領域は、0値で満たされることができる(すなわち、ゼロアウト(zero out))。これにより、全てのレジデュアルサンプル値は修正できる。
【0261】
次に、図16bの(a)を参照すると、8×4入力ブロックの32個のレジデュアルサンプルに対して32×16非分離一次変換行列が適用されることにより、16個の(一次)変換係数が生成されることができる。16個の出力係数は、対角スキャン順序によって8×4出力ブロックの左側4×4領域(網掛け領域)に配置されることができる。そして、8×8出力ブロックにおける、出力係数が満たされていない残りの全ての領域は、0値で満たされることができる。これにより、全てのレジデュアルサンプル値は修正できる。
【0262】
図16bの(b)を参照すると、4×8入力ブロックの32個のレジデュアルサンプルに対して32×16非分離一次変換行列が適用されることにより、16個の(一次)変換係数が生成されることができる。16個の出力係数は、対角スキャン順序によって4×8出力ブロックの上側4×4領域(網掛け領域)に配置されることができる。そして、8×8出力ブロックにおける、出力係数が満たされていない残りの全ての領域は、0値で満たされることができる。これにより、全てのレジデュアルサンプル値は修正できる。
【0263】
次に、図16cを参照すると、8×8入力ブロックの64個のレジデュアルサンプルに対して64×8非分離一次変換行列が適用されることにより、8個の(一次)変換係数が生成されることができる。8個の出力係数は、対角スキャン順序によって8×8出力ブロックの左上端領域(網掛け領域)に配置されることができる。そして、8×8出力ブロックにおける、出力係数が満たされていない残りの全ての領域は、0値で満たされることができる。これにより、全てのレジデュアルサンプル値は修正できる。
【0264】
次に、図16dの(a)を参照すると、16×8入力ブロックの128個のレジデュアルサンプルに対して128×16非分離二次変換行列が適用されることにより、16個の(一次)変換係数が生成されることができる。16個の出力係数は、対角スキャン順序によって16×8出力ブロックの左上端の4×4領域(網掛け領域)に配置されることができる。そして、16×8出力ブロックにおける、出力係数が満たされていない残りの全ての領域は、0値で満たされることができる。これにより、全てのレジデュアルサンプル値は修正できる。
【0265】
図16dの(b)を参照すると、8×16入力ブロックの128個のレジデュアルサンプルに対して128×16非分離二次変換行列が適用されることにより、16個の(一次)変換係数が生成されることができる。16個の出力係数は、対角スキャン順序によって16×8出力ブロックの左上端の4×4領域(網掛け領域)に配置されることができる。そして、16×8出力ブロックにおける、出力係数が満たされていない残りの全ての領域は、0値で満たされることができる。これにより、全てのレジデュアルサンプル値は修正できる。
【0266】
このように、本開示の実施例による非分離一次変換は、入力ブロックの全体領域に対して適用できる。また、出力ブロック内の(一次)変換係数が満たされていない残りの全ての領域に対してゼロアウトが行われることができる。これにより、非分離一次変換の全ての入力値(すなわち、レジデュアルサンプル値)は修正できる。この点で、非分離一次変換は、非分離二次変換とは異なる特徴を有する。
【0267】
図17は、本開示の一実施例による変換方法を示すフローチャートである。
【0268】
図17の変換方法は、図2の画像符号化装置によって行われ得る。例えば、ステップS1710乃至ステップS1730は、変換部120によって行われることができる。
【0269】
図17を参照すると、画像符号化装置は、レジデュアルサンプルに対して非分離一次変換を適用することにより、(一次)変換係数を生成することができる(S1710)。非分離一次変換によってレジデュアルブロック内の全てのレジデュアルサンプルが修正できる。一実施例において、非分離一次変換は、出力係数の個数が入力サンプルの個数よりも小さいRT(reduced transform)形態を有することができる。この場合、出力係数が生成されていない全ての領域に対してゼロアウトが行われることができる。
【0270】
画像符号化装置は、(一次)変換係数に対して二次変換を適用するか否かを決定することができる(S1720)。二次変換は、非分離二次変換、例えば、NSST又はRSTであってもよい。一実施例において、画像符号化装置は、一次変換されたレジデュアル変換係数に基づいて、二次変換が適用されるか否かを決定することができる。例えば、二次変換適用対象領域に含まれた非ゼロレジデュアル変換係数の個数が所定のしきい値以上である場合、画像符号化装置は二次変換が適用されると決定することができる。これとは異なり、二次変換適用対象領域に含まれた非ゼロレジデュアル変換係数の個数が所定のしきい値未満である場合、画像符号化装置は二次変換が適用されていないと決定することができる。二次変換が適用されるか否かに関する情報は、所定のシンタックス要素(例えば、sps_lfnst_enabled_flag、lfnst_idxなど)として符号化できる。
【0271】
二次変換が適用されると決定された場合(S1720の「YES」)、画像符号化装置は、(一次)変換係数に対して二次変換を適用して(二次)変換係数を生成することができる(S1730)。この場合、(二次)変換係数に基づいてビットストリームが生成されることができる。
【0272】
これとは異なり、二次変換が適用されていないと決定された場合(S1720の「NO」)、画像符号化装置は、(一次)変換係数に対して二次変換を行わなくてもよい。この場合、(一次)変換係数に基づいてビットストリームが生成されることができる。
【0273】
図18は、本開示の一実施例による逆変換方法を示すフローチャートである。
【0274】
図18の逆変換方法は、図2の画像符号化装置又は図3の画像復号化装置によって行われ得る。例えば、ステップS1810乃至ステップS1830は、図2の逆変換部150又は図3の逆変換部230によって行われ得る。以下、説明の便宜のために、画像復号化装置を基準に説明する。
【0275】
図18を参照すると、画像復号化装置は、ビットストリームから取得された変換係数に対して二次逆変換を適用するか否かを決定することができる(S1810)。二次逆変換は、非分離二次逆変換、例えばNSST又はRSTであり得る。一実施例において、画像復号化装置は、ビットストリームから取得される所定のシンタックス要素(例えば、sps_lfnst_enabled_flag、lfnst_idxなど)に基づいて、二次逆変換を適用するか否かを決定することができる。例えば、lfnst_idxが第1値(例えば、0)を有する場合、画像復号化装置は、二次逆変換が適用されないと決定することができる。これとは異なり、lfnst_idxが第1値(例えば、0)とは異なる値を有する場合、画像復号化装置は、二次逆変換が適用されると決定することができる。
【0276】
二次逆変換が適用されると決定された場合(S1810の「YES)、画像復号化装置は、ビットストリームから取得された変換係数に対して二次逆変換を適用して(一次)変換係数を生成することができる(S1820)。この場合、ビットストリームから取得された変換係数は、(二次)変換係数に対応することができる。
【0277】
これとは異なり、二次逆変換が適用されないと決定された場合(S1810の「NO」)、画像復号化装置は、ビットストリームから取得された変換係数に対して二次逆変換を行わなくてもよい。この場合、ビットストリームから取得された変換係数は、(一次)変換係数に対応することができる。
【0278】
画像復号化装置は、(一次)変換係数に対して非分離一次逆変換を適用してレジデュアルサンプルを生成することができる(S1830)。非分離一次逆変換によって全ての(一次)変換係数が修正できる。一実施例において、非分離一次逆変換は、出力係数の個数が入力係数の個数よりも大きいRT(reduced transform)形態を有することができる。
【0279】
サブブロック基盤の非分離一次変換
【0280】
一実施例において、相対的に大きい入力ブロックに対して当該ブロックの幅と高さに合う非分離一次変換を適用せず、当該ブロックをサブブロックに分割した後、それぞれのサブブロックの幅と高さに合う非分離変換行列を用いて非分離一次変換を適用することができる。例えば、4×8ブロックに対して非分離一次変換を適用する場合、4×8ブロックを空間領域で2個の4×4サブブロックに水平分割し、それぞれの4×4サブブロックに対して4×4ブロック単位の非分離一次変換を適用することができる。又は、16×8ブロックに対して非分離一次変換を適用する場合、16×8ブロックを空間領域で2個の8×8サブブロックに垂直分割し、それぞれの8×8サブブロックに対して8×8ブロック単位の非分離一次変換を適用することができる。
【0281】
図19は、本開示の一実施例によるサブブロックの非分離一次変換/逆変換方法を示すフローチャートである。
【0282】
図19の変換方法は、図2の画像符号化装置によって行われ得る。例えば、ステップS1910乃至ステップS1930は、変換部120によって行われ得る。また、図19の逆変換方法は、図2の画像符号化装置又は図3の画像復号化装置によって行われ得る。例えば、ステップS1910乃至ステップS1930は、図2の逆変換部150又は図3の逆変換部230によって行われ得る。
【0283】
図19を参照すると、画像符号化/復号化装置は、所定のサブブロック変換/逆変換条件が満たされるか否かを決定することができる(S1910)。一実施例において、画像符号化/復号化装置は、入力ブロックのサイズを所定のしきい値と比較した結果に基づいて、サブブロック変換/逆変換条件を満たすか否かを決定することができる。ここで、しきい値は、サイズ4×4の第1しきい値及びサイズ8×8の第2しきい値を含むことができる。具体的に、入力ブロックのサイズが第1しきい値より大きく且つ第2しきい値より小さい場合、画像符号化/復号化装置は、サブブロック変換/逆変換条件が満たされると決定することができる。また、入力ブロックのサイズが第2しきい値より大きい場合、画像符号化/復号化装置は、サブブロック変換/逆変換条件が満たされると決定することができる。
【0284】
サブブロック変換条件が満たされる場合(S1910の「YES」)、画像符号化/復号化装置は、入力ブロックを分割して複数のサブブロックを取得することができる(S1920)。例えば、画像符号化/復号化装置は、8×4ブロックを垂直分割して2個の4×4サブブロックを取得することができる。或いは、画像符号化/復号化装置は、8×16ブロックを水平分割して2個の8×8サブブロックを取得することができる。
【0285】
これとは異なり、サブブロック変換条件が満たされない場合(S1910の「NO」)、画像符号化/復号化装置は、入力ブロックを分割しないことを決定し、ステップS1930へ移行することができる。
【0286】
そして、画像符号化/復号化装置は、入力ブロック又はそれぞれのサブブロックに対して非分離一次変換/逆変換を適用することができる(S1930)。入力ブロック全体に対して非分離一次変換/逆変換を適用する場合、非分離変換行列は、入力ブロックの幅及び高さを基準に決定されることができる。これとは異なり、それぞれのサブブロックに対して非分離一次変換/逆変換を適用する場合、非分離変換行列は、それぞれのサブブロックの幅及び高さを基準に決定されることができる。
【0287】
図20a及び図20bは、サブブロック基盤の非分離一次変換過程を説明するための図である。
【0288】
図20a及び図20bは、エンコーダ段における非分離一次変換、すなわち順方向非分離一次変換過程を示す。
【0289】
図20aは、入力ブロックのサイズが8×4又は4×8である場合を示し、図20bは、入力ブロックのサイズが16×8又は8×16である場合を示す。
【0290】
図20a及び図20bにおいて、太線で表示された領域は、非分離一次変換が適用される領域を示す。
【0291】
まず、図20aの(a)を参照すると、8×4入力ブロックは、2個の4×4サブブロックSb1、Sb2に分割されることができる。そして、それぞれのサブブロックSb1、Sb2に対して4×4非分離一次変換が適用されることができる。具体的に、第1サブブロックSb1に対して16×16非分離一次変換行列が適用されることにより、16個の(一次)変換係数が生成されることができる。また、第2サブブロックSb2に対して16×16非分離一次変換行列が適用されることにより、16個の(一次)変換係数が生成されることができる。
【0292】
図20aの(b)を参照すると、4×8入力ブロックは、2個の4×4サブブロックSb3、Sb4に分割されることができる。そして、それぞれのサブブロックSb3、Sb4に対して4×4非分離一次変換が適用されることができる。具体的に、第3サブブロックSb3に対して16×16非分離一次変換行列が適用されることにより、16個の(一次)変換係数が生成されることができる。また、第4サブブロックSb4に対して16×16非分離一次変換行列が適用されることにより、16個の(一次)変換係数が生成されることができる。
【0293】
次に、図20bの(a)を参照すると、16×8入力ブロックは、2個の8×8サブブロックSb1、Sb2に分割されることができる。そして、それぞれのサブブロックSb1、Sb2に対して8×8非分離一次変換が適用されることができる。具体的に、第1サブブロックSb1に対して64×64非分離一次変換行列が適用されることにより、64個の(一次)変換係数が生成されることができる。また、第2サブブロックSb2に対して64×64非分離一次変換行列が適用されることにより、64個の(一次)変換係数が生成されることができる。
【0294】
図20bの(b)を参照すると、8×16入力ブロックは、2個の8×8サブブロックSb3、Sb4に分割されることができる。そして、それぞれのサブブロックSb3、Sb4に対して8×8非分離一次変換が適用されることができる。具体的に、第3サブブロックSb3に対して64×64非分離一次変換行列が適用されることにより、16個の(一次)変換係数が生成されることができる。また、第4サブブロックSb4に対して64×64非分離一次変換行列が適用されることにより、16個の(一次)変換係数が生成されることができる。
【0295】
一方、実施例によって、それぞれのサブブロックに対して異なる非分離一次変換行列が適用されることもできる。例えば、図2aにおいて、第1サブブロックSb1に対しては、16×16非分離一次変換行列が適用され、第2サブブロックSb2に対しては16×8非分離一次変換行列が適用されてもよい。この場合、第2サブブロックSb2における、(一次)変換係数が生成されていない領域は、0値で満たされることができる(すなわち、ゼロアウト(zero out))。
【0296】
非分離一次変換セット及びカーネル決定方法
【0297】
本開示の実施例によれば、非分離一次変換セット及び/又はカーネルは、予測モード(例えば、イントラ予測モード、インター予測モードなど)、入力ブロックの幅/高さ、入力ブロックのピクセル数、入力ブロック内のサブブロックの位置、明示的にシグナリングされたシンタックス要素、周辺ピクセルの統計的特性、二次変換適用有無又は量子化パラメータ(quantization parameter、QP)のうちの少なくとも一つに基づいて多様に構成できる。
【0298】
一実施例において、現在ブロックの予測モードがイントラ予測モードである場合、イントラ予測モードをN個のセットにグループ化し、各セット内にk個の変換カーネルが含まれるように構成できる。このとき、イントラ予測モードの個数及びグループ化方法は、実施例によって多様に変更できる。
【0299】
以下、本開示の一実施例によるイントラ予測モードに基づいて非分離一次変換セットを決定する方法を詳細に説明する。
【0300】
図21乃至図24は、本開示の一実施例による非分離一次変換セット決定方法を説明するための図である。
【0301】
イントラ予測モードは、2個の非方向性(non-directional)イントラ予測モードと、65個の方向性(directional)イントラ予測モードとを含むことができる。非方向性イントラ予測モードは、0番であるPlanarイントラ予測モード、及び1番であるDCイントラ予測モードを含むことができ、方向性イントラ予測モードは、2番乃至66番の65個のイントラ予測モードを含むことができる。但し、これは例示であって、本開示の実施例はこれに限定されるものではない。
【0302】
広角イントラ予測(wide angle intra prediction、WAIP)が適用されることにより、方向性イントラ予測モードは、-14番~1番のイントラ予測モードと67番~80番のイントラ予測モードをさらに含むことができる。図22は、WAIPを考慮して拡張されたイントラ予測モード及びその予測方向を例示的に示す。
【0303】
図21を参照すると、-14番~-1番及び2番~33番のモードと35番~80番のモードは、34番モードを中心に予測方向の観点で対称である。例えば、10番モードと58番モードは、34番モードに該当する方向を中心に対称であり、-1番モードは、67番モードと対称をなす。このため、本開示の一実施例によれば、一次変換のための変換セットを構成するにあたり、34番モードを中心に対称となる垂直方向モードに対しては入力データを転置して使用することができる。ここで、入力データを転置するというのは、二次元ブロックデータM×Nに対して行が列となり、列が行となってN×Mデータを構成することを意味することができる。
【0304】
一例において、4×4ブロックが入力データとして使用される場合、非分離一次変換のために、4×4領域を構成する16個のデータを適切に配列して16×1ベクトルを構成することができるが、16×1ベクトルは、図22aのように行優先方向の順序で構成されることができる。これは、順方向非分離一次変換のために、二次元データが一次元に配列されるときの順序を意味することができる。また、これは、逆方向非分離一次変換によって生成された変換係数が二次元に配列されるときの順序を意味することもできる。
【0305】
一方、前述したように、方向性モード-14番~-1番及び2番~80番は、34番モードを中心に対称的に構成されている。したがって、-14番~-1番及び2番~33番モードに対して16×1入力ベクトルを構成するためのデータ配列順序が列優先方向の順序である場合、35番~80番モードに対しては、図22bのような順に入力ベクトルが構成されることができる。図23bのデータ配列順序は列優先方向の順序である。これは、順方向非分離一次変換のために、二次元データが一次元に配列されるときの順序を意味することができる。また、これは、逆方向非分離一次変換によって生成された変換係数が二次元に配列されるときの順序を意味することもできる。
【0306】
一方、34番モードは、厳密には、水平方向性でも垂直方向性でもないと見做すことができるが、本開示のデータ配列方式の観点からは、水平方向性に属すると分類する。すなわち、-14番~-1番及び2番~33番モードに対しては、水平方向モードに対する入力データ整列方式、すなわち行優先整列を使用し、34番モードを中心に対称となる垂直方向モードに対して入力データを転置して使用することができる。
【0307】
一方、非正方形ブロックの場合、正方向ブロックにおける対称性(すなわち、N×Nブロックにおける、P番モードと68-P番モード(2≦P≦33)との対称性又はQ番モードと66-Q番モード(-14≦Q≦-1)との対称性)を活用することができない。したがって、本発明の他の実施例によれば、上述したイントラ予測モードのみを基準とした対称性を活用する代わりに、互いに転置関係にあるブロック形態間の対称性、すなわち、K×LブロックとL×Kブロックとの対称性をイントラ予測モードと共に活用することができる。
【0308】
具体的に、図23を参照すると、P番モードと予測されるK×Lブロックと、68-P番モードと予測されるL×Kブロック(2≦P≦33)との間に対称関係が存在することができる。また、Q番モードと予測されるK×Lブロックと、66-Q番モードと予測されるL×Kブロック(-14≦Q≦-1)との間に対称関係が存在することができる。
【0309】
例えば、図24に示すように、2番モードを有するK×Lブロックと、66番モードを有するL×Lブロックとは、互いに対称をなしており、その結果、両ブロックに対して同一の変換カーネルを適用することができる。もし、K×Lブロックを基準にイントラ予測モードに対する変換セットがマッピングされているとしたとき(すなわち、予測モードごとにどの変換セットを適用するかに対するテーブルが存在する場合)、L×Kブロックに変換を適用するためには、L×Kブロックに適用されるP番モードの代わりに、68-P番モードを(2≦P≦33)有し(又は、L×Kブロックに適用されるQ番モードの代わりに66-Q番モードを(-14≦Q≦-1)有し)、K×Lブロック基準のマッピングテーブルを介して変換セットを取得することができる。これにより、図25の例において、L×Kブロックに変換を適用するために、66番モードの代わりに2番モードを基準に変換セットを選択することができる。また、K×Lブロックに対しては、入力データを所定の順序に従って(例えば、行優先順序、列優先順序)スキャンして一次元ベクトルを構成した後、順方向非分離一次変換を適用することができる。また、L×Kブロックに対しては、入力データを転置順序に従ってスキャンして(すなわち、K×Lブロックに対して行優先順序でスキャンした場合、列優先順序でスキャンし、K×Lブロックに対して列優先順序でスキャンした場合、行優先順序でスキャンする)一次元ベクトルを構成した後、順方向非分離一次変換を適用することができる。
【0310】
一方、図21のイントラ予測モードは、例示的なものなので、これとは異なる方式で、イントラ予測モードが設定された場合でも、上述したイントラ予測モード及び/又はブロック間の対称性に基づいて、非分離一次変換を適用することができる。また、34番モードの場合、K×Lブロックに適用されるときは、K×Lブロックを基準に34番モードを用いて変換セットを決定し、入力データを所定の順序によってスキャンして一次元ベクトルを構成した後、当該非分離一次変換を適用することができる。同様に、L×Kブロックに適用されるときは、同様に34番モードを用いて変換セットを決定し、入力データを転置順序によってスキャンして一次元ベクトルを構成した後、当該非分離一次変換を適用することができる。
【0311】
以上、K×Lブロックを基準にしてイントラ予測モードを介して変換セットを導出し、入力データを構成する方式を説明したが、L×Kブロックを基準に入力データを構成することも可能であり、この場合、K×Lブロックに対しては、上述した対称性を同一に活用して当該非分離一次変換を適用することができる。また、K×Lブロックが基準となる場合には、いつもK>Lの関係を満たすように構成することもできる。また、逆方向非分離一次変換を適用する場合には、上述したK×LブロックとL×Kブロックとの対称性を同一に活用して変換セットを決定し、逆方向変換を介して導出された一次元出力データを二次元ブロックに配置することができる。一方、非正方形ブロックの場合、対称性を活用せずに、正方形ブロックの場合とは異なる個数の変換セットを使用することもでき、正方形ブロックの場合とは異なるマッピングテーブルを用いて変換セットを選択することもできる。
【0312】
変換セット選択のためのマッピングテーブルの具体的な例は、表12乃至表14の通りである。
【0313】
【表12】
【0314】
表12は、5個の変換セットが存在するとき、イントラ予測モードに対して各変換セットを割り当てる方法を例示的に示す。表12において、predModeIntra値は、WAIPを考慮して変更されたイントラ予測モード値を意味し、TrSetIdxは、特定の非分離一次変換セットを示すインデックス値を意味する。
【0315】
表12を参照すると、イントラ予測モードによって、互いに対称となる方向に位置するモードに対して同一の非分離一次変換セットが適用されることを確認することができる。一方、5個の変換セットを用いる表12のマッピングテーブルは一例に過ぎないので、本開示の実施例はこれに限定されるものではない。例えば、表12とは異なり、6個以上の変換セットを用いてマッピングテーブルが構成されてもよい。
【0316】
表12の別の例として、圧縮性能を向上させるために、WAIPに対しては非分離一次変換を適用しないか(表13の場合)、WAIPのために別途の変換セットを構成せず、WAIPに対しては、隣接したイントラ予測モードにマッピングされた変換セットを同一に使用するようにマッピングテーブルが構成されることもできる(表14の場合)。
【0317】
【表13】
【0318】
【表14】
【0319】
一方、一実施例において、非分離一次変換のための変換セットの個数及び各セット内の変換カーネルの個数は、(入力)ブロックの幅及び/又は高さに基づいて、異なるように決定されることができる。例えば、4×4ブロックに対しては、n個の変換セットと各セット内のk個の変換カーネルが構成されることができる。これとは異なり、4×8ブロックに対しては、n個の変換セットと各セット内のk個の変換カーネルが構成されることができる。
【0320】
一実施例において、非分離一次変換のための変換セットの個数及び各セット内の変換カーネルの個数は、(入力)ブロックの幅及び高さの積に基づいて、異なるように決定されることができる。例えば、(入力)ブロックの幅及び高さの積が256以上(又は、超過)である場合、n個の変換セットと各セット内のk個の変換カーネルが構成されることができる。そして、それ以外の場合には、n個の変換セットと各セット内のk個の変換カーネルが構成されることができる。
【0321】
一実施例において、非分離一次変換のための変換セットの個数及び各セット内の変換カーネルの個数は、現在変換ブロックに含まれたそれぞれのサブブロックの位置に応じて異なるように決定されることができる。例えば、4×8又は8×4ブロックが二つの4×4サブブロックに分割され、各サブブロックに非分離一次変換が適用される場合、左上端の4×4サブブロックに適用される非分離一次変換のために、n個の変換セットと各セット内のk個の変換カーネルが構成されることができる。これとは異なり、残りの4×4サブブロックに適用される非分離一次変換のためには、n個の変換セットと各セット内のk個の変換カーネルが構成されることができる。
【0322】
一実施例において、非分離一次変換に関する情報を示す所定のシンタックス要素が明示的にシグナリングされることもできる。例えば、3種類の非分離一次変換構成が支援される場合(例えば、n個の変換セットと各セット内のk個の変換カーネル、n個の変換セットと各セット内のk個の変換カーネル、n個の変換セットと各セット内のk個の変換カーネル)、当該シンタックス要素は0、1、2のうちのいずれか一つの値を有することができる。このとき、互いに異なる値の当該シンタックス要素は、互いに異なる非分離一次変換構成を示すことができる。
【0323】
一実施例において、非分離一次変換の構成は、二次変換/逆変換が適用されるか否か及び/又は当該二次変換/逆変換の種類に基づいて、異なるように決定されることができる。例えば、二次変換が適用されない場合、非分離一次変換のために、n10個の変換セットと各セット内のk10個の変換カーネルが構成されることができる。これとは異なり、二次変換が適用される場合、n11個の変換セットと各セット内のk11個の変換カーネルが構成されることができる。
【0324】
一実施例において、非分離一次変換の構成は、量子化パラメータ(quantization parameter、QP)値及び/又はQP値の範囲に基づいて、異なるように決定されることができる。例えば、QP値が相対的に小さい場合と大きい場合に区分して、それぞれn12個の変換セットと各セット内のk12個の変換カーネルを含む第1構成、及びn13個の変換セットと各セット内のk13個の変換カーネルを含む第2構成が適用されることができる。このとき、QP値の大きさの判断は、所定のしきい値(例えば、32)に基づいて行われることができる。例えば、QP値が32以下である場合(又は、未満である場合)、当該QP値は、相対的に小さいと分類されることができる。これとは異なり、QP値が32を超える場合(又は、以上である場合)、当該QP値は相対的に大きいと分類されることができる。実施例によって、QP値の範囲を3つ以上の範囲に分割して、各範囲に対してそれぞれ異なる構成を適用することも可能である。
【0325】
以下、図25及び図26を参照して、本開示の一実施例による画像符号化/復号化方法について詳細に説明する。
【0326】
図25は、本開示の一実施例による画像符号化方法を示すフローチャートである。
【0327】
図25の画像符号化方法は、図2の画像符号化装置によって行われることができる。例えば、ステップS2510及びステップS2520は、変換部120によって行われることができる。
【0328】
図25を参照すると、画像符号化装置は、所定の非分離一次変換行列に基づいて現在ブロックに対して変換を行うことにより、前記現在ブロックの変換係数ブロックを生成することができる(S2510)。
【0329】
一実施例において、前記変換は、多重変換選択(multiple transform selection、MTS)に基づいて行われることができる。
【0330】
一実施例において、前記変換係数ブロックに対するゼロアウト(zero out)は、前記非分離一次変換行列のサイズに基づいて選択的に行われることができる。例えば、前記非分離一次変換行列が正方形のサイズを有することに基づいて、前記ゼロアウトは行われなくてもよい。これとは異なり、前記非分離一次変換行列が非正方形のサイズを有することに基づいて、前記ゼロアウトは、前記レジデュアルブロック内の少なくとも一つのレジデュアルサンプルに対して行われてもよい。
【0331】
一実施例において、前記非分離一次変換行列は、所定の非分離変換セットから決定されることができる。この場合、前記非分離変換セットは、前記現在ブロックの予測モード、サイズ、ピクセル数、変換セット構成情報、二次変換が実行されるか否か、又は量子化パラメータのうちの少なくとも一つに基づいて異なるように構成されることができる。
【0332】
一実施例において、前記変換は、サブブロックに基づいて行われることができる。具体的に、画像符号化装置は、前記現在ブロックが所定のサブブロック変換条件を満たすか否かを決定し、前記サブブロック変換条件が満たされることに基づいて前記現在ブロックを分割して複数のサブブロックを取得することができる。画像符号化装置は、前記複数のサブブロックのそれぞれに対して前記変換を行うことができる。
【0333】
そして、画像符号化装置は、前記変換係数ブロックに基づいて前記現在ブロックを符号化することができる(S2520)。
【0334】
一実施例において、前記非分離一次変換行列は、前記現在ブロックのサイズを問わずに、前記現在ブロックの全てのレジデュアルサンプルに対して適用できる。
【0335】
図26は、本開示の一実施例による画像復号化方法を示すフローチャートである。
【0336】
図26の画像復号化方法は、図3の画像復号化装置によって行われることができる。例えば、ステップS2610及びステップS2620は、図3の逆変換部230によって行われることができる。
【0337】
図26を参照すると、画像復号化装置は、所定の非分離一次変換行列に基づいて現在ブロックに対して逆変換を行うことにより、前記現在ブロックのレジデュアルブロックを生成することができる(S2610)。
【0338】
一実施例において、前記逆変換は、多重変換選択(multiple transform selection、MTS)に基づいて行われることができる。
【0339】
一実施例において、前記変換係数ブロックに対するゼロアウト(zero out)は、前記非分離一次変換行列のサイズに基づいて選択的に行われることができる。例えば、前記非分離一次変換行列が正方形のサイズを有することに基づいて、前記ゼロアウトは行われなくてもよい。これとは異なり、前記非分離一次変換行列が非正方形のサイズを有することに基づいて、前記ゼロアウトは、前記レジデュアルブロック内の少なくとも一つのレジデュアルサンプルに対して行われることができる。
【0340】
一実施例において、前記非分離一次変換行列は、所定の非分離変換セットから決定されることができる。この場合、前記非分離変換セットは、前記現在ブロックの予測モード、サイズ、ピクセル数、変換セット構成情報、二次逆変換が実行されるか否か、又は量子化パラメータのうちの少なくとも一つに基づいて異なるように構成されることができる。
【0341】
一実施例において、前記変換は、サブブロックに基づいて行われることができる。具体的に、画像符号化装置は、前記現在ブロックが所定のサブブロック変換条件を満たすか否かを決定し、前記サブブロック変換条件が満たされることに基づいて前記現在ブロックを分割して複数のサブブロックを取得することができる。画像符号化装置は、前記複数のサブブロックのそれぞれに対して前記変換を行うことができる。このとき、前記サブブロック逆変換条件は、前記現在ブロックのサイズが第1しきい値より大きいか否かに関する第1条件、及び前記現在ブロックのサイズが第2しきい値より大きいか否かに関する第2条件を含むことができる。
【0342】
一実施例において、前記非分離一次変換行列は、イントラ予測モード及びブロック形態のうちの少なくとも一つにおいて前記現在ブロックとは対称性を有する第1ブロックに対する変換行列と同一の行列に決定されることができる。
【0343】
そして、画像復号化装置は、前記レジデュアルブロックに基づいて前記現在ブロックを復元することができる(S2620)。
【0344】
一実施例において、前記非分離一次変換行列は、前記現在ブロックのサイズを問わずに、前記現在ブロックの全ての変換係数に対して適用できる。
【0345】
以上、本開示の実施形態によれば、水平方向変換と垂直方向変換を分離しない非分離変換が一次変換として用いられることができる。これにより、変換/逆変換効率がより向上することができる。非分離一次変換は、入力ブロック全体に対して適用でき、入力ブロックの全てのサンプル/係数の値を変更させることができる。実施例によって、非分離一次変換はRT(reduced transform)形態を有することができる。非分離一次変換のための変換セットマッピングテーブルは、イントラ予測モードの対称性に基づいて構成されることができる。この場合、非分離一次変換に用いられる変換セットは、イントラ予測モードの対称性及び/又はブロック形態間の対称性に基づいて前記マッピングテーブルから選択されることができる。
【0346】
本開示の例示的な方法は、説明の明確性のために動作のシリーズで表現されているが、これは、ステップが行われる順序を制限するためのものではなく、必要な場合には、それぞれのステップが同時に又は異なる順序で行われることもできる。本開示による方法を実現するために、例示するステップにさらに他のステップを含むか、一部のステップを除いて残りのステップを含むか、或いは一部のステップを除いて追加の他のステップを含むこともできる。
【0347】
本開示において、所定の動作(ステップ)を行う画像符号化装置又は画像復号化装置は、当該動作(ステップ)の実行条件や状況を確認する動作(ステップ)を行うことができる。例えば、所定の条件が満足される場合、所定の動作を行うと記載された場合、画像符号化装置又は画像復号化装置は、前記所定の条件が満足されるか否かを確認する動作を行った後、前記所定の動作を行うことができる。
【0348】
本開示の様々な実施例は、全ての可能な組み合わせを羅列したものではなく、本開示の代表的な態様を説明するためのものであり、様々な実施例で説明する事項は、独立して適用されてもよく、二つ以上の組み合わせで適用されてもよい。
【0349】
また、本開示の様々な実施例は、ハードウェア、ファームウェア(firmware)、ソフトウェア、又はそれらの組み合わせなどによって実現できる。ハードウェアによる実現の場合、一つ又はそれ以上のASICs(Application Specific Integrated Circuits)、DSPs(Digital Signal Processors)、DSPDs(Digital Signal Processing Devices)、PLDs(Programmable Logic Devices)、FPGAs(Field Programmable Gate Arrays)、汎用プロセッサ(general processor)、コントローラ、マイクロコントローラ、マイクロプロセッサなどによって実現できる。
【0350】
また、本開示の実施例が適用された画像復号化装置及び画像符号化装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、記憶媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、三次元(3D)ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号又はデータ信号を処理するために使用できる。例えば、OTTビデオ(Over the top video)装置としては、ゲームコンソール、ブルーレイプレーヤー、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを含むことができる。
【0351】
図27は、本開示の実施例が適用できるコンテンツストリーミングシステムを例示する図である。
【0352】
図27に示すように、本開示の実施例が適用されたコンテンツストリーミングシステムは、大きく、符号化サーバ、ストリーミングサーバ、Webサーバ、メディアストレージ、ユーザ装置及びマルチメディア入力装置を含むことができる。
【0353】
前記符号化サーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに伝送する役割を果たす。他の例として、スマートフォン、カメラ、ビデオカメラなどのマルチメディア入力装置がビットストリームを直接生成する場合、前記符号化サーバは省略できる。
【0354】
前記ビットストリームは、本開示の実施例が適用された画像符号化方法及び/又は画像符号化装置によって生成でき、前記ストリーミングサーバは、前記ビットストリームを伝送又は受信する過程で一時的に前記ビットストリームを保存することができる。
【0355】
前記ストリーミングサーバは、Webサーバを介してユーザの要求に基づいてマルチメディアデータをユーザ装置に伝送し、前記Webサーバは、ユーザにどんなサービスがあるかを知らせる媒介体の役割を果たすことができる。ユーザが前記Webサーバに所望のサービスを要求すると、前記Webサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを伝送することができる。この時、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割を果たすことができる。
【0356】
前記ストリーミングサーバは、メディアストレージ及び/又は符号化サーバからコンテンツを受信することができる。例えば、前記符号化サーバからコンテンツを受信する場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間保存することができる。
【0357】
前記ユーザ装置の例としては、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイネージなどがあり得る。
【0358】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバから受信するデータは、分散処理されることができる。
【0359】
本開示の範囲は、様々な実施例の方法による動作が装置又はコンピュータ上で実行されるようにするソフトウェア又はマシン-実行可能なコマンド(例えば、オペレーティングシステム、アプリケーション、ファームウェア(firmware)、プログラムなど)、及びこのようなソフトウェア又はコマンドなどが保存されて装置又はコンピュータ上で実行できる非一時的なコンピュータ可読媒体(non-transitory computer-readable medium)を含む。
【産業上の利用可能性】
【0360】
本開示による実施例は、画像の符号化/復号化に利用可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14a
図14b
図14c
図14d
図15a
図15b
図15c
図15d
図16a
図16b
図16c
図16d
図17
図18
図19
図20a
図20b
図21
図22a
図22b
図23
図24
図25
図26
図27
【国際調査報告】