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

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

▶ フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェラインの特許一覧

特開2023-62181映像符号化のための候補変換セットの決定
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023062181
(43)【公開日】2023-05-02
(54)【発明の名称】映像符号化のための候補変換セットの決定
(51)【国際特許分類】
   H04N 19/12 20140101AFI20230425BHJP
   H04N 19/176 20140101ALI20230425BHJP
   H04N 19/46 20140101ALI20230425BHJP
【FI】
H04N19/12
H04N19/176
H04N19/46
【審査請求】有
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023027043
(22)【出願日】2023-02-24
(62)【分割の表示】P 2020552743の分割
【原出願日】2019-03-29
(31)【優先権主張番号】18165242.1
(32)【優先日】2018-03-29
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】19163314.8
(32)【優先日】2019-03-15
(33)【優先権主張国・地域又は機関】EP
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Blu-ray
(71)【出願人】
【識別番号】500341779
【氏名又は名称】フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】ジークマン,ミーシャ
(72)【発明者】
【氏名】シュトレンベルガー,ビョルン
(72)【発明者】
【氏名】バートニック,クリスティアン
(72)【発明者】
【氏名】ボッセ,セバスティアン
(72)【発明者】
【氏名】パフ,ヨナタン
(72)【発明者】
【氏名】ヘッレ,フィーリプ
(72)【発明者】
【氏名】マ,ジャッキー
(72)【発明者】
【氏名】ヴィンケン,マルティン
(72)【発明者】
【氏名】マルペ,デトレフ
(72)【発明者】
【氏名】シュヴァルツ,ハイコ
(72)【発明者】
【氏名】ウィーガント,トーマス
(57)【要約】      (修正有)
【課題】画像および映像の符号化、特にブロックベースの画像及び映像を符号化する符号器及び復号器を提供する。
【解決手段】ブロックベースの予測およびブロックベースの残差符号化を使用して画像12をデータストリーム14に符号化する/データストリームから画像を復号するための符号器および復号器であって、ブロックベースの残差符号化のための変換セット94をサポートする。符号器および復号器は、現在の残差ブロック84の高さと幅に基づいて変換セットの中から現在の残差ブロックのための変換の変換候補リスト98を選択し122、選択可能な変換のリストの中からの1つの選択された変換102を使用して残差ブロック内の予測残差100を符号化/復号し、データストリームにおいて選択された変換を選択的にシグナリングし/データストリームから選択された変換を導出する。
【選択図】図12
【特許請求の範囲】
【請求項1】
ブロックベースの予測およびブロックベースの残差符号化を使用して画像(12)をデータストリーム(14)に符号化するための符号器であって、
前記符号器が、前記ブロックベースの残差符号化のための変換セット(94)をサポートし、
現在の残差ブロック(84)の高さと幅に基づいて前記変換セット(94)の中から前記現在の残差ブロック(84)のための変換の変換候補リスト(98)を決定し(122)、
選択可能な変換のリスト(98)の中からの1つの選択された変換(102)を使用して前記残差ブロック(84)内の予測残差(100)を符号化し、前記データストリーム(14)において前記選択された変換(102)を選択的にシグナリングする
ように構成された、符号器。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像および映像の符号化、特にブロックベースの画像および映像の符号化に関する。画像は、静止画または動画像シーケンス内の連続した順序の画像であり得る。本発明のいくつかの特定の例および実施形態は、空間領域でそれぞれの残差信号を取得するための変換に使用されるモード依存の変換候補セットを利用した、映像符号化のコンテキストにおける統合され、拡張された残差符号化のための方式に関する。
【背景技術】
【0002】
<1.技術的背景>
HEVC(High Efficiency Video Coding)などのいくつかの規格で用いられている、DCT-IIおよび4×4DST-VIIに加えて、例えばJEM(Joint Exploration Test Model)のような他の規格も2つの追加の変換ファミリを定義し得る。適応マルチコア変換(Adaptive Multiple Core Transform(AMT))とモード依存の非分離可能な二次変換(Non-Separable Secondary Transform(NSST))のセット。
【0003】
<2.1 適応マルチコア変換[1,8]>
AMTは、DCT/DSTファミリ、すなわちDST-VII、DCT-VIII、DST-I、およびDCT-Vからの変換によって、ルマ成分に利用可能な変換のセットを拡張する。AMTは、一致するCUレベルフラグが設定される場合に適用され、それ以外の場合はDCT-IIが使用される。インター符号化されたブロックでは、2つの追加フラグが、各水平変換および垂直変換にそれぞれ、DST-VIIとDCT-VIIIのどちらかを決定する。ブロックがイントラ符号化される場合、どちらの変換が利用可能であるかはイントラ予測モードに依存する。各イントラモードは、3つの事前定義されたセットのうちの2つにマップする。各水平変換および垂直変換に1つである。各セットは2つの変換からなる。有意な係数の数が事前定義された閾値よりも大きい場合、方向ごとにインデックスがシグナリングされ、そうでない場合、各セットの最初の変換が使用される。
【0004】
<2.2 モード依存の非分離可能な二次変換[1,2]>
NSSTは、コア変換(一次変換)の係数に適用される第2段の変換を定義する。「変換係数ブロックの幅と高さの両方が8以上の場合、8×8の非分離可能な二次変換が変換係数ブロックの左上の8×8領域に適用される。そうではなく、変換係数ブロックのWまたはHのどちらかが4に等しい場合、4×4の非分離可能な二次変換が適用され、変換係数ブロックの左上のmin(8,W)×min(8,H)領域に対して4×4の非分離可能な変換が行われる。上記の変換選択規則は、ルマ成分とクロマ成分の両方に適用される。」[1]
【0005】
<2.3 高周波ゼロ化を用いた大きなブロックサイズの変換>
「JEMでは、最大128×128までのサイズの大きなブロックサイズの変換が可能とされ、これは主に、1080pや4Kシーケンスなどの高解像度の映像に有用である。64以上のサイズ(幅または高さ、または幅と高さの両方)を有する変換ブロックについて高周波変換係数がゼロ化されて、低周波係数のみが維持される。例えば、Mをブロック幅としNをブロック高さとするM×N変換ブロックでは、Mが64以上の場合、変換係数の左32列のみが保持される。同様に、Nが64以上の場合、変換係数の上32行のみが保持される。変換スキップモードが大きなブロックに使用されるときには、どんな値もゼロ設定することなくブロック全体が使用される。」[1]
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、既存の技法にはいくつかの欠点がある。例えば、画像サイズが大きくなると、符号化労力が大幅に増加する。よって、効率が改善されたコーデックを提供することが望ましい。
【0007】
したがって、モード依存の変換候補セットを提供することが提案される。空間領域で残差信号を取得するために使用される変換の識別は、すでに復号されたシンタックス要素を利用した候補リストを活用し得る。残差ブロックの係数は、候補リストにおける利用可能な変換を条件として復号され得る。その際に、係数に関するすでに取得された情報と矛盾する変換を除去することにより、候補リスト自体を反復的に削減することができる。すべての係数が復号され、複数の変換候補が残される場合、候補リストへのインデックスがシグナリングされ得る。
【0008】
モード依存の候補リストを導入するという革新的概念により、残差ブロックの変換の柔軟で効率的な試験およびシグナリングが可能になり得る。例えば、構造化された変換を変換により誘導された制約条件によって分類することにより、選択された変換と、結果として得られる係数と、近隣の変換ブロックとの間の依存関係を活用することが可能になり得る。
【課題を解決するための手段】
【0009】
<発明の態様>
第1の態様によれば、本革新的概念の実施形態は、ブロックベースの予測およびブロックベースの残差符号化を使用して画像をデータストリームに符号化するための符号器であって、ブロックベースの残差符号化のための変換セットをサポートする符号器を提供し得る。本符号器は、現在の残差ブロックの高さと幅に基づいて変換セットの中から現在の残差ブロックのための変換の変換候補リストを決定するように構成され得る。本符号器は、選択可能な変換のリストの中からの1つの選択された変換を使用して残差ブロック内の予測残差を符号化し、データストリームにおいて選択された変換を選択的にシグナリングするようにさらに構成され得る。シグナリングは、おそらくは、そのシグナリングが除外され得るように候補リストが1つの候補変換を含むにすぎないことを選択的に表し得る。
【0010】
第1の態様によれば、本革新的概念の別の実施形態は、ブロックベースの予測およびブロックベースの残差復号を使用してデータストリームから画像を復号するための復号器であって、ブロックベースの残差復号のための変換セットをサポートする復号器を提供し得る。本復号器は、現在の残差ブロックの高さと幅に基づいて変換セットの中から現在の残差ブロックのための変換の変換候補リストを決定し、選択可能な変換のリストの中からの1つの選択された変換の定義域で、データストリームから選択された変換を選択的に導出することにより、残差ブロック内の予測残差を復号するように構成され得る。導出は、おそらくは、そのシグナリング/導出が除外され得るように候補リストが1つの候補変換を含むにすぎないことを選択的に表し得る。
【0011】
第2の態様によれば、本革新的概念の実施形態は、ブロックベースの予測およびブロックベースの残差符号化を使用して画像をデータストリームに符号化するための符号器であって、ブロックベースの残差符号化のための変換セットをサポートする符号器を提供し得る。本符号器は、変換セットの中から現在の残差ブロックのための選択可能な変換のリストを決定し、選択可能な変換のリストの中からの1つの選択された変換を使用して残差ブロック内の予測残差を表す変換係数データをデータストリームに符号化するように構成され得る。本符号器は、データストリームにおいて選択された変換をシグナリングし、かつ/または変換係数データもしくは変換係数データの一部分に依存する方法で選択可能なリストの決定を行うようにさらに構成され得る。
【0012】
第2の態様によれば、本革新的概念の別の実施形態は、ブロックベースの予測およびブロックベースの残差復号を使用してデータストリームから画像を復号するための復号器であって、ブロックベースの残差復号のための変換セットをサポートする復号器を提供し得る。本復号器は、変換セットの中から現在の残差ブロックのための選択可能な変換のリストを決定し、選択可能な変換のリストの中からの1つの選択された変換を使用して、データストリームから残差ブロック内の予測残差を表す変換係数データを復号するように構成され得る。本復号器は、データストリームから選択された変換を導出し、かつ/または変換係数データもしくはデータ変換係数データの一部分に依存する方法で、選択可能なリストの決定を行うようにさらに構成され得る。
【0013】
第3の態様によれば、本革新的概念の実施形態は、ブロックベースの予測およびブロックベースの残差符号化を使用して画像をデータストリームに符号化するための符号器であって、ブロックベースの残差符号化のための変換セットをサポートする符号器を提供し得る。本符号器は、変換セットの中から現在の残差ブロックのための選択可能な変換のリストを決定し、データストリームにおいて選択された変換をシグナリングするように構成され得る。本符号器は、選択可能な変換のリストの中からの1つの選択された変換を使用して、選択された変換または選択可能な変換のリストに依存する方法で、残差ブロック内の予測残差を表す変換係数を符号化するようにさらに構成され得る。
【0014】
第3の態様によれば、本革新的概念の別の実施形態は、ブロックベースの予測およびブロックベースの残差復号を使用してデータストリームから画像を復号するための復号器であって、ブロックベースの残差復号のための変換セットをサポートする復号器を提供し得る。本復号器は、変換セットの中から現在の残差ブロックのための選択可能な変換のリストを決定し、データストリームから選択された変換を導出するように構成され得る。本復号器は、選択可能な変換のリストの中からの1つの選択された変換を使用して、選択された変換または選択可能な変換のリストに依存する方法で、データストリームから残差ブロック内の予測残差を表す変換係数を復号するようにさらに構成され得る。
【0015】
第4の態様によれば、本革新的概念の実施形態は、ブロックベースの予測およびブロックベースの残差符号化を使用して画像をデータストリームに符号化するための符号器であって、ブロックベースの残差符号化のための変換セットをサポートする符号器を提供し得る。本符号器は、変換セットの中から現在の残差ブロックのための選択可能な変換のリストを決定し、選択可能な変換のリストの中からの1つの選択された変換を使用して残差ブロック内の予測残差を符号化するように構成され得る。本符号器は、変換インジケータを使用してデータストリームにおいて選択された変換をシグナリングし、変換インジケータが1桁または複数桁の符号を使用してデータストリームにおいてシグナリングされ、1桁または複数桁のセットの各々がそれぞれの変換特性と一意に関連付けられる、ようにさらに構成され得る。
【0016】
第4の態様によれば、本革新的概念の別の実施形態は、ブロックベースの予測およびブロックベースの残差復号を使用してデータストリームから画像を復号するための復号器であって、ブロックベースの残差復号のための変換セットをサポートする復号器を提供し得る。本復号器は、変換セットの中から現在の残差ブロックのための選択可能な変換のリストを決定し、選択可能な変換のリストの中からの1つの選択された変換を使用して、データストリームから残差ブロック内の予測残差を復号するように構成され得る。本復号器は、変換インジケータを使用してデータストリームから選択された変換を導出し、変換インジケータが1桁または複数桁の符号を使用してデータストリームから導出され、1桁または複数桁のセットの各々がそれぞれの変換特性と一意に関連付けられる、ようにさらに構成され得る。例えば、符号は、2進演算符号化を受ける変換インジケータのbinまたは変換インジケータが構成される、データストリームからパースされ得るシンタックス要素を含み得る。
【0017】
第5の態様によれば、本革新的概念の実施形態は、ブロックベースの予測およびブロックベースの残差符号化を使用して画像をデータストリームに符号化するための符号器であって、ブロックベースの残差符号化のための変換セットをサポートする符号器を提供し得る。本符号器は、イントラ予測されたブロックの予測を取得するために複数のニューラルネットワークの中からの選択されたニューラルネットワーク上にイントラ予測されたブロックの空間的近隣を適用することによってイントラ予測されたブロックを予測し、選択されたニューラルネットワークおよび残差ブロックのブロックサイズに基づいて、変換セットの中からイントラ予測されたブロックをカバーする残差ブロックのための選択可能な変換のセットを決定するようにさらに構成され得る。本符号器は、選択可能な変換のセットの中からの1つの選択された変換を使用して残差ブロック内のイントラ予測されたブロックの予測と関連付けられた予測残差を符号化し、データストリームにおいて選択された変換をシグナリングするようにさらに構成され得る。
【0018】
第5の態様によれば、本革新的概念の別の実施形態は、ブロックベースの予測およびブロックベースの残差復号を使用してデータストリームから画像を復号するための復号器であって、ブロックベースの残差復号のための変換セットをサポートする復号器を提供し得る。本復号器は、イントラ予測されたブロックの予測を取得するために複数のニューラルネットワークの中からの選択されたニューラルネットワーク上にイントラ予測されたブロックの空間的近隣を適用することによってイントラ予測されたブロックを予測し、選択されたニューラルネットワークおよび残差ブロックのブロックサイズに基づいて、変換セットの中からイントラ予測されたブロックをカバーする残差ブロックのための選択可能な変換のセットを決定するように構成され得る。本復号器は、選択可能な変換のセットの中からの1つの選択された変換の定義域で、データストリームから選択された変換を導出することにより、データストリームから残差ブロック内のイントラ予測されたブロックの予測と関連付けられた予測残差を復号するようにさらに構成され得る。
【0019】
第6の態様によれば、本革新的概念の実施形態は、ブロックベースの予測およびブロックベースの残差符号化を使用して画像をデータストリームに符号化するための符号器を提供し得る。本符号器は、一次変換の定義域でイントラ予測されたブロックの予測を取得するためにニューラルネットワーク上にイントラ予測されたブロックの空間的近隣を適用することによってイントラ予測されたブロックを予測し、選択可能な変換のセットの中からの1つの選択された変換を使用して残差ブロック内のイントラ予測されたブロックの予測と関連付けられた予測残差を符号化し、データストリームにおいて選択された変換をシグナリングし、選択可能な変換のセットに、一次変換と、一次変換の一次変換係数のサブグループ上に適用される二次変換とを含む少なくとも1つの多段変換が入力される、ように構成され得る。
【0020】
第6の態様によれば、本革新的概念の別の実施形態は、ブロックベースの予測およびブロックベースの残差符号化を使用してデータストリームから画像を復号するための復号器を提供し得る。本復号器は、一次変換の定義域でイントラ予測されたブロックの予測を取得するためにニューラルネットワーク上にイントラ予測されたブロックの空間的近隣を適用することによってイントラ予測されたブロックを予測し、選択可能な変換のセットの中からの1つの選択された変換の別の定義域で、データストリームから選択された変換を導出することにより、データストリームから残差ブロック内のイントラ予測されたブロックの予測と関連付けられた予測残差を復号し、選択可能な変換のセットに、一次変換と、一次変換の一次変換係数のサブグループ上に適用される二次変換とを含む少なくとも1つの多段変換が入力される、ように構成され得る。
【0021】
第7の態様によれば、本革新的概念の実施形態は、ブロックベースの予測およびブロックベースの残差符号化を使用して画像をデータストリームに符号化するための符号器であって、ブロックベースの残差符号化のための変換セットをサポートする符号器を提供し得る。本符号器は、イントラ予測モードの予測を取得するためにイントラ予測モードのセットの中からの選択された1つを使用してイントラ予測されたブロックの空間的近隣に基づいてイントラ予測されたブロックを予測し、選択されたイントラ予測モードおよび残差ブロックのブロックサイズに基づいて、変換セットの中からイントラ予測されたブロックをカバーする残差ブロックのための選択可能な変換のセットを決定するように構成され得る。本符号器は、選択可能な変換のセットの中からの1つの選択された変換を使用して残差ブロック内のイントラ予測されたブロックの予測と関連付けられた予測残差を符号化し、データストリームにおいて選択された変換をシグナリングするようにさらに構成され得る。
【0022】
第7の態様によれば、本革新的概念の別の実施形態は、ブロックベースの予測およびブロックベースの残差復号を使用してデータストリームから画像を復号するための復号器であって、ブロックベースの残差復号のための変換セットをサポートする復号器を提供し得る。本復号器は、イントラ予測モードの予測を取得するためにイントラ予測モードのセットの中からの選択された1つを使用してイントラ予測されたブロックの空間的近隣に基づいてイントラ予測されたブロックを予測し、選択されたイントラ予測モードおよび残差ブロックのブロックサイズに基づいて、変換セットの中からイントラ予測されたブロックをカバーする残差ブロックのための選択可能な変換のセットを決定するように構成され得る。本復号器は、選択可能な変換のセットの中からの1つの選択された変換の定義域で、データストリームから選択された変換を導出することにより、残差ブロック内のイントラ予測されたブロックの予測と関連付けられた予測残差をデータストリームから復号するようにさらに構成され得る。
【0023】
第8の態様によれば、本革新的概念の実施形態は、ブロックベースの予測およびブロックベースの残差符号化を使用して画像をデータストリームに符号化するための符号器であって、ブロックベースの残差符号化のための変換セットをサポートする符号器を提供し得る。本符号器は、例えば、近隣の残差ブロックの予測残差の符号化のためにやはり変換セットの中から、近隣の残差ブロックのために選択された参照変換に基づいて変換セットの中から現在の残差ブロックのための選択可能な変換のリストを決定するように構成され得る。本符号器は、選択可能な変換のリストの中からの1つの選択された変換を使用して残差ブロック内の予測残差を符号化し、データストリームにおいて選択された変換をシグナリングするようにさらに構成され得る。
【0024】
第8の態様によれば、本革新的概念の別の実施形態は、ブロックベースの予測およびブロックベースの残差復号を使用してデータストリームから画像を復号するための復号器であって、ブロックベースの残差復号のための変換セットをサポートする復号器を提供し得る。本復号器は、例えば、近隣の残差ブロックの予測残差の符号化のためにやはり変換セットの中から、近隣の残差ブロックのために選択された参照変換に基づいて変換セットの中から現在の残差ブロックのための選択可能な変換のリストを決定するように構成され得る。本復号器は、選択可能な変換のリストの中からの1つの選択された変換の定義域で、データストリームから選択された変換を導出することにより、残差ブロック内の予測残差を復号するようにさらに構成され得る。
【0025】
第9の態様によれば、本革新的概念の実施形態は、ブロックベースの予測およびブロックベースの残差符号化を使用して画像をデータストリームに符号化するための符号器であって、ブロックベースの残差符号化のための変換セットをサポートする符号器を提供し得る。本符号器は、現在のブロックの量子化パラメータに依存する方法で、変換セットの中から現在の残差ブロックのための選択可能な変換のリストを決定するように構成され得る。量子化パラメータが、特定の閾値より細かい量子化に対応する場合には、現在の残差ブロックのための選択可能な変換のリストに、現在の残差ブロック内の予測残差上に適用される一次変換と、一次変換の一次変換係数のサブグループ上に適用される二次変換とを含む少なくとも1つの多段変換が入力される。しかしながら、量子化パラメータが特定の閾値より粗い量子化に対応する場合には、現在の残差ブロックのための選択可能な変換のリストに、少なくとも1つの多段変換に加えて、またはその代わりに、サブグループを超える一次変換係数をゼロ化するための少なくとも1つの多段変換の修正が入力され得る。どちらの場合にも、本符号器は、選択可能な変換のリストの中からの1つの選択された変換を使用して残差ブロック内の予測残差を符号化し、データストリームにおいて選択された変換をシグナリングするように構成され得る。
【0026】
第9の態様によれば、本革新的概念の別の実施形態は、ブロックベースの予測およびブロックベースの残差復号を使用してデータストリームから画像を復号するための復号器であって、ブロックベースの残差復号のための変換セットをサポートする復号器を提供し得る。本復号器は、現在のブロックの量子化パラメータに依存する方法で、変換セットの中から現在の残差ブロックのための選択可能な変換のリストを決定するように構成され得る。量子化パラメータが、特定の閾値より細かい量子化に対応する場合には、現在の残差ブロックのための選択可能な変換のリストに、現在の残差ブロック内の予測残差上に適用される一次変換と、一次変換の一次変換係数のサブグループ上に適用される二次変換とを含む少なくとも1つの多段変換が入力される。しかしながら、量子化パラメータが特定の閾値より粗い量子化に対応する場合には、現在の残差ブロックのための選択可能な変換のリストに、少なくとも1つの多段変換に加えて、またはその代わりに、サブグループを超える一次変換係数がゼロ化される少なくとも1つの多段変換の修正が入力される。どちらの場合にも、本復号器は、選択可能な変換のリストの中からの1つの選択された変換の定義域で、データストリームから選択された変換を導出することにより、残差ブロック内の予測残差を復号するように構成され得る。
【0027】
第10の態様によれば、本革新的概念の実施形態は、ブロックベースの予測およびブロックベースの残差符号化を使用して画像をデータストリームに符号化するための符号器であって、ブロックベースの残差符号化のための変換セットをサポートする符号器を提供し得る。本符号器は、1つもしくは複数の近隣の残差ブロックにおける有意な変換係数の数に依存するか、またはそれらの総和に依存する方法で、近隣の残差ブロックのために選択された参照変換に基づいて変換セットの中から現在の残差ブロックのための選択可能な変換のリストを決定するように構成され得る。その数または総和が特定の閾値より大きい場合には、現在の残差ブロックのための選択可能な変換のリストに、現在の残差ブロックの予測残差上に適用される一次変換と、一次変換の一次変換係数のサブグループ上に適用される二次変換とを含む少なくとも1つの多段変換が入力される。しかしながら、その数または総和が特定の閾値より小さい場合には、現在の残差ブロックのための選択可能な変換のリストに、少なくとも1つの多段変換に加えて、またはその代わりに、サブグループを超える一次変換係数がゼロ化される少なくとも1つの多段変換の修正が入力される。どちらの場合にも、本符号器は、選択可能な変換のリストの中からの1つの選択された変換を使用して残差ブロック内の予測残差を符号化し、データストリームにおいて選択された変換をシグナリングするように構成され得る。
【0028】
第10の態様によれば、本革新的概念の別の実施形態は、ブロックベースの予測およびブロックベースの残差復号を使用してデータストリームから画像を復号するための復号器であって、ブロックベースの残差復号のための変換セットをサポートする復号器を提供し得る。本復号器は、1つもしくは複数の近隣の残差ブロックにおける有意な変換係数の数に依存するか、またはそれらの総和に依存する方法で、近隣の残差ブロックのために選択された参照変換に基づいて変換セットの中から現在の残差ブロックのための選択可能な変換のリストを決定するように構成され得る。その数または総和が特定の閾値より大きい場合には、現在の残差ブロックのための選択可能な変換のリストに、現在の残差ブロックの予測残差上に適用される一次変換と、一次変換の一次変換係数のサブグループ上に適用される二次変換とを含む少なくとも1つの多段変換が入力される。しかしながら、その数または総和が特定の閾値より小さい場合には、現在の残差ブロックのための選択可能な変換のリストに、少なくとも1つの多段変換に加えて、またはその代わりに、サブグループを超える一次変換係数がゼロ化される少なくとも1つの多段変換の修正が入力される。どちらの場合にも、本復号器は、選択可能な変換のリストの中からの1つの選択された変換の定義域で、データストリームから選択された変換を導出することにより、残差ブロック内の予測残差を復号するようにさらに構成され得る。
【0029】
別の態様によれば、コンピュータプログラムが提供され、各コンピュータプログラムは、コンピュータプログラムのうちの1つによって上記の方法が実施されるように、コンピュータまたは信号プロセッサ上で実行されるときに上記の符号化および/または復号の方法を実施するように構成される。
【0030】
以下において、本開示の実施形態を、図を参照してより詳細に説明する。
【図面の簡単な説明】
【0031】
図1】本発明の1つまたは複数の実施形態で使用され得る符号器を示す概略的ブロック図である。
図2】本発明の1つまたは複数の実施形態で使用され得る復号器を示す概略的ブロック図である。
図3】本発明の1つまたは複数の実施形態で使用され得るブロックベースの符号化方式を示す概略的ブロック図である。
図4-1】変換の活用時に残差ブロックを変換係数のグループおよびサブグループに分割するいくつかの例を示す図である。
図4-2】変換の活用時に残差ブロックを変換係数のグループおよびサブグループに分割するいくつかの例を示す図である。
図5】変換の活用時に残差ブロックを変換係数のグループおよびサブグループに分割するいくつかの別の例を示す図である。
図6】一次変換および二次変換を含む多段変換の異なる段のいくつかの例を示す図である。
図7】本発明の一実施形態による1つまたは複数のニューラルネットワークを含む変換セットを使用するブロックベースの残差符号化を示す概略的ブロック図である。
図8】本発明の一実施形態による一次変換および二次変換を含む多段変換の概念を示す図である。
図9】本発明の一実施形態による、行および列の符号化順序を活用する空間領域における一次変換および二次変換を含む多段変換の概念を示す図である。
図10】本発明の一実施形態による一次のみの変換の概念を示す図である。
図11】本発明の一実施形態による、ニューラルネットワークを含む多段変換を使用するブロックベースの残差符号化方式を示す概略的ブロック図である。
図12】本発明の一実施形態による、変換セットおよび選択可能な変換のセットを使用するブロックベースの残差符号化方式を示す概略的ブロック図である。
図13】本発明の一実施形態による、所定の符号化順序で符号化される複数の有意なおよび非有意な変換係数を含む残差ブロックを示す概略的ブロック図である。
図14】本発明の一実施形態による、変換セットおよび選択可能な変換のセットを使用し、変換シグナリングを使用するブロックベースの残差符号化方式を示す概略的ブロック図である。
図15】本発明の一実施形態による、変換セットおよび選択可能な変換のセットを使用し、変換シグナリングを使用するブロックベースの残差符号化方式を示す概略的ブロック図である。
図16】本発明の一実施形態による、一部の変換係数がゼロに設定されるブロックベースの残差符号化方式を示す概略的ブロック図である。
図17】本発明の一実施形態による、残りの非ゼロ値の一次係数に二次変換を施す前にその一部がゼロに設定される、複数の一次係数を含む概略的残差ブロックを示す図である。
図18】復号器の観点から見た、一実施形態による、一部の変換係数がゼロ化され得る変換ブロックを示す概略的ブロック図である。
図19】復号器の観点から見た、別の実施形態による、一部の変換係数がゼロ化され得る変換ブロックを示す概略的ブロック図である。
【発明を実施するための形態】
【0032】
以下の説明では、同等もしくは等価の要素または同等もしくは等価の機能を有する要素が、同等または等価の参照番号で表されている。
【0033】
ブロック図で示され、前記ブロック図を参照して説明される方法ステップは、図示および/または説明される順序と異なる順序でも実行され得る。さらに、デバイスの特定の特徴に関する方法ステップは、前記デバイスの前記特徴と交換可能な場合もあり、その逆もあり得る。
【0034】
変換という用語は、本明細書では、trafoという用語で略記される場合もある。変換という用語は、変換すること(transformation)と変換されたもの(transform)(すなわち、変換の結果)の両方に同義的に使用され得る。
【0035】
以下の図の説明では初めに、本明細書で説明される実施形態が構築され得る符号化フレームワークの例を形成するために、映像の画像を符号化するためのブロックベースの予測コーデックの映像符号器および映像復号器の説明を提示する。映像符号器および映像復号器を、図1から図3を参照して説明する。その後、図を参照して本出願の別の実施形態の説明を提示する。上記のどの部分が記載の、また添付の特許請求のどの実施形態を指すかは、同じ番号が付されており、上記のセクションで参照されている。これらすべての実施形態を図1および図2の映像符号器および映像復号器にそれぞれ構築することもできるが、後続の図を参照して説明される実施形態などの本明細書に記載される実施形態は、図1および図2の映像符号器および映像復号器の基礎をなす符号化フレームワークに従って動作しない映像符号器および映像復号器を形成するためにも使用され得る。
【0036】
図1に、画像12のシーケンスからなる映像11をデータストリーム14に予測的に符号化するための装置を示す。このためにブロックごとの予測符号化が使用される。さらに、変換ベースの残差符号化が例示的に使用される。本装置、すなわち符号器は、参照符号10を使用して指示されている。
【0037】
図2に、やはりここでも変換ベースの残差復号を使用して、データストリーム14から画像ブロック内の画像12’からなる映像11’を予測的に復号するように構成された対応する復号器20、すなわち装置20を示し、アポストロフィは、復号器20によって再構築される画像12’と映像11とが、それぞれ、予測残差信号の量子化によって導入される符号化損失に関して装置10によって当初符号化された画像12から逸脱することを指示するために使用されている。
【0038】
図1および図2は、変換ベースの予測残差符号化を例示的に使用しているが、本出願の実施形態はこの種の予測残差符号化に制限されない。このことは、以下で説明される、図1および図2に関して説明される他の詳細にも当てはまる。
【0039】
符号器10は、予測残差信号に空間・スペクトル変換を施し、そのようにして取得された予測残差信号をデータストリーム14に符号化するように構成される。同様に、復号器20も、データストリーム14から予測残差信号を復号し、そのようにして取得された予測残差信号にスペクトル・空間変換を施すように構成される。
【0040】
内部に、符号器10は、元の信号、すなわち映像11または現在の画像12からの予測信号26の逸脱を測定するように予測残差24を生成する予測残差信号形成器22を含み得る。予測残差信号形成器22は、例えば、元の信号、すなわち現在の画像12から予測信号26を減算する減算器であり得る。
【0041】
符号器10はその場合、予測残差信号24に空間・スペクトル変換を施して、次いで、やはり符号器10に含まれる量子化器32によって量子化を施される、スペクトル領域の予測残差信号24’を取得する変換器28をさらに含む。そのようにして量子化された予測残差信号24’’はビットストリーム14に符号化される。
【0042】
このために、符号器10は、任意選択で、変換され、量子化された予測残差信号をデータストリーム14にエントロピー符号化するエントロピー符号器34を含み得る。予測残差24は、データストリーム14に復号され、データストリーム14から復号可能な予測残差信号24’’に基づいて、符号器10の予測段36によって生成される。
【0043】
このために、予測段36は内部に、図1に示されるように、量子化損失を除く信号24’に対応するスペクトル領域の予測残差信号24’’’を得るように予測残差信号24’’を逆量子化する逆量子化器38を含んでいてもよく、その後に、後者の予測残差信号24’’’に逆変換、すなわちスペクトル・空間変換を施して、量子化損失を除く元の予測残差信号24に対応する予測残差信号24’’’’を取得する逆変換器40が続く。次いで、予測段36の結合器42が、再構築信号46、すなわち、元の信号12の再構築を取得するように、加算などによって、予測信号26と予測残差信号24’’’’とを再結合する。再構築信号46は信号12’に対応し得る。
【0044】
次いで、予測段36の予測モジュール44が、例えば、空間的予測、すなわちイントラ予測、および/または時間的予測、すなわちインター予測を使用して信号46に基づいて予測信号26を生成する。これに関する詳細は以下で説明する。
【0045】
同様に、復号器20も、内部が、予測段36に対応する、予測段36に対応して相互接続された構成要素で構成され得る。特に、復号器20のエントロピー復号器50は、データストリームから量子化されたスペクトル領域の予測残差信号24’’をエントロピー復号し、そうすると、相互接続され、予測段36のモジュールに関して上述されたように協働する、逆量子化器52、逆変換器54、結合器56、および予測モジュール58が、図2に示されるように、結合器56の出力が再構築信号、すなわち映像11’または現在の画像12’になるように、予測残差信号24’’に基づいて再構築信号を回復する。
【0046】
上記では具体的に説明されていないが、符号器10は、例えば、何らかのレートおよび歪みに関連した基準、すなわち、符号化コストを最適化する方法、ならびに/または何らかのレート制御を使用するなどの、何らかの最適化方式に従って、例えば、予測モード、動きパラメータなどを含むいくつかの符号化パラメータを設定し得ることが容易に明らかである。以下でより詳細に説明されるように、符号器10および復号器20および対応するモジュール44、58は、それぞれ、イントラ符号化モードおよびインター符号化モードまたは前者のモードが、画像ブロックの予測がそれに基づいて構成される一種のプリミティブ予測モードのセット(設定値)またはプールを形成するモードなどの異なる予測モードをサポートする。符号器および復号器がこれらの予測構成を切り替える粒度は、画像12および画像12’それぞれのブロックへの細分化に対応し得る。これらのブロックのあるものはもっぱらイントラ符号化されており、あるブロックはもっぱらインター符号化されており、任意選択で、さらなるブロックがインター符号化とイントラ符号化の両方を使用して取得される場合さえもあり得ることに留意されたいが、詳細は後述する。
【0047】
イントラ符号化モードによれば、ブロックの予測信号は、それぞれのブロックの空間的な、すでに符号化/復号された近隣に基づいて取得される。その間の選択が、疑似的に、一種のイントラ予測パラメータを表すいくつかのイントラ符号化サブモードが存在し得る。それぞれの方向性イントラ符号化サブモードに固有の特定の方向に沿って近隣のサンプル値を外挿することによってそれぞれのブロックの予測信号を埋めて、それぞれのブロックにするために従う方向性または角度イントラ符号化サブモードが存在し得る。イントラ符号化サブモードは、例えば、それぞれのブロックの予測信号がそれぞれのブロック内のすべてのサンプルにDC値を割り当てるために従うDC符号化モード、および/またはそれぞれのブロックの予測信号を、近隣のサンプルに基づく二次元線形関数によって定義された平面の傾きおよびオフセットを導出することにより、それぞれのブロックのサンプル位置にわたる二次元線形関数によって記述されたサンプル値の空間分布になるように近似または決定するために従うplanar(平面)イントラ符号化モードなどの1つまたは複数のさらなるサブモードも含み得る。
【0048】
これと比較して、インター予測モードによれば、ブロックの予測信号は、例えば、ブロック内部を時間的に予測することによって取得され得る。インター予測モードのパラメータ化では、データストリーム内で動きベクトルがシグナリングされてもよく、動きベクトルは、それぞれのブロックの予測信号を取得するために前に符号化/復号された画像がサンプリングされる映像11の前に符号化された画像の部分の空間変位を指示する。これは、量子化されたスペクトル領域の予測残差信号24’’を表すエントロピー符号化された変換係数レベルなどの、データストリーム14に含まれる残差信号符号化に加えて、データストリーム14が、ブロック予測モードに割り当てるための予測関連パラメータ、インター予測モードのための動きパラメータなどの、割り当てられた予測モードのための予測パラメータ、ならびに任意選択で、以下でより詳細に説明されるように、割り当てられた予測モードおよび予測パラメータを使用してブロックの最終予測信号の構成を制御する別のパラメータも符号化している可能性があることを意味する。加えて、データストリーム14は、画像12および画像12’それぞれのブロックへの細分化を制御およびシグナリングするパラメータも含み得る。復号器20は、ブロックに同じ予測モードおよびパラメータを割り当て、同じ予測を行って同じ予測信号を得るために、これらのパラメータを使用して、画像12を符号器10が行ったのと同じ方法で細分化する。
【0049】
図3に、一方の再構築信号、すなわち再構築画像12’と、他方の、データストリーム14においてシグナリングされる予測残差信号24’’’’と予測信号26との組み合わせとの間の関係を示す。すでに上述したように、この組み合わせは加算であり得る。
【0050】
予測信号26は、図3には、画像エリアの様々なサイズのブロック80への細分化として示されているが、これは一例にすぎない。細分化は、画像エリアのブロックの行および列への規則的な細分化や、四分木細分化などといった画像12の様々なサイズのリーフブロックへのマルチツリー細分化などの任意の細分化であってもよく、図3にはそれらの混合が示されており、画像エリアはまず、ツリーのルートブロックの行および列に細分化され、次いでそれらが、再帰的なマルチツリー細分化に従ってさらに細分化されて、ブロック80が得られる。
【0051】
図3の予測残差信号24’’’’は、画像エリアのブロック84への細分化としても示されている。これらのブロックは、これらのブロックを符号化ブロック80と区別するために、変換ブロックまたは残差ブロックとも呼ばれ得る。実質的に、図3には、符号器10と復号器20とがそれぞれ画像12と画像12’とのブロックへの2つの異なる細分化、すなわち、符号化ブロック80への1つの細分化とブロック84へのもう1つの細分化を使用し得ることが示されている。両方の細分化が同じであってもよく、すなわち、各ブロック80が同時に変換ブロック84を形成し、その逆であってもよいが、図3には、例えば、2つのブロック80間の任意の境界が2つのブロック84間の境界に重なる、言い換えると、各ブロック80が変換ブロック84のうちの1つと一致するか、または変換ブロック84のクラスタと一致するように、変換ブロック84への細分化がブロック80への細分化の拡張を形成する事例が示されている。
【0052】
しかしながら、細分化は、変換ブロック84が代替としてブロック80間のブロック境界を横切ることもできるように互いに独立して決定または選択されてもよい。変換ブロック84への細分化に関する限り、ブロック80への細分化に関して提示されるのと同様の記述がそのように該当し、すなわち、ブロック84は、画像エリアの行と列とに配置されたブロックへの規則的な細分化の結果、画像エリアの再帰的なマルチツリー細分化の結果、またはそれらの組み合わせもしくは任意の他の種類のセグメント化であり得る。
【0053】
ちなみに、ブロック80およびブロック84は、二次形状、長方形または任意の他の形状に制限されないことに留意されたい。さらに、予測信号が形成されるブロック80への現在の画像12の細分化、および予測残差が符号化されるブロック84への現在の画像12の細分化が符号化/復号に使用される唯一の細分化ではない場合もある。これらの細分化は、予測信号の決定および残差符号化が行われる粒度を形成するが、第1に、残差符号化は代替として細分化なしで行われてもよく、第2に、これらの細分化以外の粒度で、符号器10および復号器20が、予測パラメータ、予測信号構成制御信号などといった前述のパラメータの一部を含み得る特定の符号化パラメータを設定してもよい。
【0054】
図3には、予測信号26と予測残差信号24’’’’との組み合わせが再構築信号12’を直接もたらすことが示されている。しかしながら、複数の予測信号26は、例えば、他のビューから、または別個のDPBを用いて別個の予測ループで符号化/復号される他の符号化層から取得された予測信号など、代替の実施形態に従った画像12’を結果として得るために、予測残差信号24’’’’と組み合わされてもよいことに留意されたい。
【0055】
図3では、変換ブロック84は、以下の有意性を有するものとする。変換器28および逆変換器54は、その変換をこれらの変換ブロック84の単位で行う。例えば、多くのコーデックが、すべての変換ブロック84にある種のDSTまたはDCTを使用する。一部のコーデックは、変換ブロック84の一部について、予測残差信号が空間領域で直接符号化されるように、変換をスキップすることを可能にする。しかしながら、後述する実施形態によれば、符号器10および復号器20は、それらが複数の変換をサポートするように構成される。例えば、符号器10および復号器20によってサポートされる変換は以下を含むことができる。
DCT-II(またはDCT-III)、DCTは離散コサイン変換を表す
DST-IV、DSTは離散サイン変換を表す
DCT-IV
DST-VII
恒等変換(IT)
【0056】
当然ながら、変換器28はこれらの変換のすべての順方向変換バージョンをサポートすることになり、復号器20または逆変換器54は、それらの対応する逆方向バージョンまたは逆バージョンをサポートすることになる。
逆DCT-II(または逆DCT-III)
逆DST-IV
逆DCT-IV
逆DST-VII
恒等変換(IT)
【0057】
いずれの場合も、サポートされる変換セット(設定値)は、1つのスペクトル・空間または空間・スペクトル変換などの1つの変換を含み得るにすぎないことに留意されたい。
【0058】
すでに上述したように、図1から図3は、さらに後述する概念が本出願による映像符号器および復号器の具体例を形成するために実施され得る例として提示されている。これまでのところ、図1図2の映像符号器と復号器とはそれぞれ、本明細書で後述する映像符号器と復号器の可能な実施態様を表している。
【0059】
特許請求の範囲に関しては、「非分離可能」は垂直方向と水平方向との分離可能性に関することに留意されたい。
【0060】
<3.構造化された多段変換>
一般に、サイズD=W*Hの残差ブロックについて任意の線形変換を、D*D個のパラメータによって定義することができる。ここで、これらの種類の変換を全結合変換と呼ぶ。これらの変換は非常に柔軟であるが、その必要な演算回数および必要とされるパラメータ記憶に関する複雑さはサイズDと共に二次的に増加する。
【0061】
よって、全結合変換は小変換サイズにのみ適用可能である。複雑さを低減させるために、変換を、効率的な実施を可能にし、変換パラメータの数を低減する特定の構造を有するように制約することができる。一手法は、変換が、各変換段自体が独立したサブグループに分離する複数の変換に因数分解されることを必要とする。それらの多段変換の複雑さを、変換段の数、独立したサブグループの次元を選択することによって、またサブグループ変換を制約することによっても調整することができる。
【0062】
<例:サブブロックへの分割による乗算回数の削減>
幅W高さHのデータブロックを考える。このデータブロックを、さらなる処理のために(H*W)×1ベクトルbに直列化されるH×W行列Bで表すことができる。
【0063】
データブロックが全結合変換によって変換されるとする。変換は、変換行列Tと直列化されたデータブロックベクトルbとの間の行列ベクトル積T*bの計算によって行われる。変換行列の形状は、(H*W)×(H*W)であり、出力係数ごとの必要な回数のH*W乗算をもたらす。したがって、H*W個の出力係数について、合計(H*W)回の乗算が必要である。
【0064】
H=8、W=8では、この結果として変換係数計算に4096回の乗算が必要とされることになる。次に、HとWの両方が4で割り切れるものとして、データブロックが、4×4行列Bで表すことができるH/4*W/4個のサブブロックに細分化されるとする。各サブブロックがさらなる処理のために16×1ベクトルbに再度直列化される。次に変換係数が計算されて、各サブブロックを全結合変換によって変換し、結果をつなぎ合わせる。サブブロック変換行列Tと直列化されたサブブロックbとの間の行列ベクトル積T*bの計算によって変換が再度行われる。この場合の変換行列形状は16×16なので、合計16回の乗算が出力係数ごとに必要である。そのため、単一のサブブロックの変換係数を計算するのに、16*16=256回の乗算が必要である。H/4*W/4個のサブブロックがあるので、すべてのサブブロックに必要な乗算の回数は、H/4*W/4*256=H*W*16である。H=8、W=8の場合を再度見ると、乗算の回数は、サブブロックに分割し、各サブブロックを独立して変換することにより、4096回から1024回へと75%削減される。異なる分割を伴う別の変換段を付加することにより、ブロック間の依存関係を考慮することもできる。第1段と同じ複雑さを仮定すると、合計乗算回数は2048であり、よって全結合の8×8変換のわずか半分の複雑さである。
【0065】
複雑さのさらなる低減を、非全単射変換を可能にすることによって達成することができる。より正確には、ここでこれらの変換は、変換段の特定のサブグループがすべてゼロであると仮定し、よって残差信号の次元を削減する変換として定義される。これらの変換は、次元削減を伴う変換と呼ばれ、上述したような高周波ゼロ化を用いた変換の一般化である。ここで、係数のゼロ化を任意の先行する、任意のサイズの変換段と組み合わせて適用することができる。これは、係数のゼロ化が第1段に適用される場合を含む。これらの変換は、後述するように、効率的な実施態様を可能にするのみならず、非有意な係数の効率的なシグナリングも可能にする。
【0066】
多段変換を十分に説明するために、上述したように、各変換段は、サブグループへの一意の分割およびこれらのサブグループに適用される変換によって与えられる必要がある。
【0067】
上述したような多段変換の複雑さ低減は、各サブグループ変換を互いに独立して適用することができ、各サブグループ変換が限られた次元を有し、かつ/または各サブグループ変換を効率的なアルゴリズムを使用して適用することができることから生じる。よって、各サブグループ変換は、以下タイプのうちの1つである。
サブグループ変換:
(恒等)
DCT/DSTファミリからの変換
全結合変換、最大64までのサブグループサイズについて
(順列+)対ごとのギブンス回転
(順列+)対ごとのリフティングスキーム変換
多段変換自体
【0068】
サブグループへの分割を、以下規則のうちのいずれかによって与えることができ、その一部が図4および図5に示されており、以下の小文字で表されている。
a)段および位置ごとに、ラベルが、ラベルに一意のサブグループを割り当てるROMに格納される。
b)位置ごとに、ラベルが、ラベルに一意のサブグループを割り当てるRomに格納される。この分割は、変換のすべての段に使用される。
c)位置の一意のスキャン順序およびサブグループサイズのリストD={d0,d1,dN}が与えられた場合、分割は、連続した位置をグループ化することによって、このスキャンに沿って行われ、各グループのサイズはDの関連付けられた要素によって与えられる。
d)位置の一意のスキャン順序が与えられた場合、最初のd0個の連続した位置が1つのサブグループとして取られ、残りの位置が第2のサブグループとして取られる。
e)分割は、各行または各列がサブグループを定義するように、水平方向または垂直方向になされる。
f)分割は、各行が{2,4,8,16,24,48,32,64}のサイズのサブグループにさらに分割されるように、水平方向に行われる。
g)分割は、各列が{2,4,8,16,24,48,32,64}のサイズのサブグループにさらに分割されるように、垂直方向に行われる。
h)分割は、最初の位置(左上)を含み、形状{4×4,4×8,4×12,4×16,8×4,8×8,12×4,16×4}のいずれかを有するサブブロックを1つのサブグループとみなすことによって行われる。残りの位置は第2のグループを形成する。
i)分割は、最初の位置(左上)を含み、形状{4×4,4×8,4×12,4×16,8×4,8×8,12×4,16×4}のいずれかを有するサブブロックを1つのサブグループとみなすことによって行われる。残りの位置は、サイズ{1×2,2×1,2×2,4×4}のグループに分割される。
j)分割は、形状4×4および/または形状2×2のサブグループへと行われる。
k){2,4,8,16}の次元のサブグループ変換
l){24,32,48,64}の次元のサブグループ変換
m)分割は、{2×2,4×4,4×8,4×12,4×16,8×4,8×8,12×4,16×4}の形状サイズのサブグループへと行われる
n)分割は、最初の位置を含むサイズmin(8,幅)×min(8,高さ)のサブグループを1つのグループとみなすことによって、残差ブロックの幅および高さから導出され、残りの位置は第2のグループを形成する。
o)分割は、最初の位置を含む、{4×4,4×8,4×12,4×16,8×4,8×8,12×4,16×4}のサイズのサブグループを取り、以下の規則を適用することによって、残差ブロックの幅(W)および高さ(H)から導出される。W==Hの場合、サブグループの形状はD×Dであり、D=min(W,8)である。W>Hの場合、サブグループの高さは4に設定される。その幅は、W以下の{8,12,16}における最大のサイズを取ることによって選択される。H>Wの場合、サブグループの幅は4に設定される。その高さは、H以下の{8,12,16}における最大のサイズを取ることによって選択される。
p)ROMに格納された順列+対ごとの分割。
q)予測モードからの導出
r)階層構造:
1)N個の水平変換(全結合:次元M)
2)M個の垂直変換(全結合:次元N)
【0069】
変換クラス:
構造化された変換は、一方では複雑さを低減するのに役立つが、それらにより導入された制約による変換のグループ化も可能にする。この分類は、変換を比較し、量子化および/またはエントロピー符号化段の依存関係モデルを定義するのに有益となり得る。
【0070】
変換の1つのクラスとして、図6に例示的に示されるように、以下でそれぞれ一次変換および二次変換と呼ぶ、2つの変換に因数分解される多段変換を考える。この名称は符号器の観点から生じるものであり、というのは、一次変換は、空間領域における予測残差に直接適用されて一次変換係数をもたらし、二次変換は、一次変換係数のサブセットに適用されるからである。
【0071】
一次変換と二次変換の両方を、それ自体、多段変換として定義することができ、二次変換は一次変換と比較して低次元のものであることに留意されたい。
【0072】
変換が2つの変換に因数分解されず、よって第2の変換が第1の変換の係数のサブセットのみに適用される場合、この変換は一次のみの変換と呼ばれる。
【0073】
変換が垂直変換と水平変換とに因数分解され、分離可能な変換と呼ばれ得ることによって別の変換クラスが与えられる。これは、多段変換の特に単純な形態である。第1段では、変換が行ごとに適用され、第2段では、変換が第1の変換段の出力(係数)に列ごとに適用される(またはその逆である)。典型的には、段ごとに、同じ変換が各行(列)に適用される。
【0074】
特殊なクラスの変換がその次元削減特性によって与えられ、すなわち、次元が変換によって明示的に削減され、その場合にはその正確な係数位置がゼロであると想定される場合である。
【0075】
ビットストリームにおいて符号化された係数からの残差信号の再構築が、係数が逆量子化される前に(おそらくは異なる残差ブロックの)係数に適用される、エントロピー符号化段の一部としての逆変換を含むと仮定すると、丸め誤差を導入しない無損失変換を有することが必要である。変換が無損失であるか否かも分類特性とすることができる。
【0076】
変換のさらなる分類を、DCT/DSTファミリからの変換などの解析的に構築される変換と、特定の例のセット(設定値)に基づいて訓練される変換とを区別することによって行うことができる。解析的変換では、分類をその構築規則によって正確に行うことができる。この構築規則を、異なる変換サイズで適用することができ、よって、変換のサイズが異なるときでさえも、変換間の比較も可能になる。これは、例えば、近隣のブロックの変換決定に依存したコンテキストモデルの導出のためにブロック間の依存関係を調べるのに役立ち得る。
【0077】
ただし、データ駆動型の変換を、それらの特殊化に依存してさらに分類することもできる。具体的には、イントラ予測された残差のための変換を訓練することがより一般的であるが、例えば、正確なイントラ方向によって与えられた1つの特定のイントラモードについて変換を正確に訓練することによってより特殊化された変換がもたらされる。この特殊化を、所与の予測モードについてのデータをクラスタすることによってさらにいっそう増大させることができる。
【0078】
<3.1 一次変換および二次変換の例示的な実施形態>
一次変換および二次変換のためのいくつかの例および実施形態が、以下の非網羅的なリストに記載され得る。
【0079】
一次変換:
A)
1.段:行への分割、行ごとの専用の変換
2.段:列への分割、列ごとの専用の変換
上述したように、各サブグループ変換は任意のタイプのものとすることができる。
【0080】
特に:
A.1)
1.段:行への分割、サブグループ(行)ごとの同じ変換
2.段:列への分割、サブグループ(列)ごとの同じ変換
A.2)
1.段:行への分割、サブグループ(行)ごとの同じDCT/DST変換
2.段:列への分割、サブグループ(列)ごとの同じDCT/DST変換
A.3)
1.段:行への分割、サブグループ(行)ごとの次元削減を伴う同じDCT/DST変換
2.段:列への分割、サブグループ(列)ごとの同じDCT/DST変換
A.4)
1.段:行への分割、サブグループ(行)ごとの同じDCT/DST変換
2.段:列への分割、サブグループ(列)ごとの次元削減を伴う同じDCT/DST変換
A.5)
1.段:行への分割、サブグループ(行)ごとの次元削減を伴う同じDCT/DST変換
2.段:列への分割、サブグループ(列)ごとの次元削減を伴う同じDCT/DST変換
A.6)
1.段:行への分割、サブグループ(行)ごとの恒等「変換」
2.段:列への分割、サブグループ(列)ごとの同じDCT/DST変換
A.7)
1.段:行への分割、サブグループ(行)ごとの同じDCT/DST変換
2.段:列への分割、サブグループ(列)ごとの恒等「変換」
A.8)
1.段:行への分割、サブグループ(行)ごとの恒等「変換」
2.段:列への分割、サブグループ(列)ごとの恒等「変換」
(いかなる変換も適用しないことと等価)
A.9)
1.段:行への分割、サブグループ(行)ごとの同じ全結合変換
2.段:列への分割、サブグループ(列)ごとの同じ全結合変換
A.10)
1.段:行への分割、サブグループ(行)ごとの専用の全結合変換
2.段:列への分割、サブグループ(列)ごとの専用の全結合変換
【0081】
B)
1.段:行に沿ったサイズS(例えば8)のサブグループへの分割
2.段:列に沿ったサイズS(例えば8)のサブグループへの分割
上述したように、各サブグループ変換は任意のタイプのものとすることができる。
【0082】
特に:
B.1)
1.段:行に沿った、ブロック幅の半分である、サイズSのサブグループへの分割
2.段:列への分割、サブグループ(列)ごとの同じ変換
B.2)
1.段:行への分割、サブグループ(行)ごとの同じ変換
2.段:列に沿った、ブロック高さの半分である、サイズSのサブグループへの分割
B.3)
1.段:行に沿った、ブロック幅の半分である、サイズSのサブグループへの分割
2.段:列に沿った、ブロック高さの半分である、サイズSのサブグループへの分割
B.4)
1.段:行に沿ったサイズSのサブグループへの分割
2.段:列に沿ったサイズSのサブグループへの分割
第1のサブグループ変換はDCT/DSTタイプのものであり、第2のサブグループはゼロに設定される。
B.5)
1.段:行に沿ったサイズSのサブグループへの分割
2.段:列に沿ったサイズSのサブグループへの分割
第1のサブグループはゼロに設定され、第2のサブグループ変換はDCT/DSTタイプのものである。
【0083】
C)
1.段:行に沿ったサイズS(例えば8)のサブグループへの分割
2.段:列に沿ったサイズS(例えば8)のサブグループへの分割
3.段:バイパスを伴う階層構造(恒等変換を伴うサブグループと等価)
上述したように、各サブグループ変換は任意のタイプのものとすることができる。
【0084】
特に:
C.1)
1.段:行への分割、サブグループ(行)ごとの同じ変換
2.段:列への分割、サブグループ(列)ごとの同じ変換
3.段:次元削減を伴う変換
C.2)
1.段:行への分割、サブグループ(行)ごとの同じDCT/DST変換
2.段:列への分割、サブグループ(列)ごとの同じDCT/DST変換
3.段:次元削減を伴う変換
【0085】
二次変換:
A)
min(8,W)、min(8,H)から導出された二次変換に使用される、一次係数のサブグループ。二次変換は、全結合変換タイプのものである。
A.1)
min(8,W)、min(8,H)から導出された二次変換に使用される、一次係数のサブグループ。二次変換は、次元削減を伴う全結合変換タイプのものである。
【0086】
B)
一次係数の4×4サブグループへの分割。全結合変換がサブグループのサブセットに適用され、階層構造において組み合わされる。
B.1)
一次係数の4×4サブグループへの分割。次元削減を伴う全結合変換がサブグループのサブセットに適用され、階層構造において組み合わされる。
【0087】
C)
一次係数のサブグループへの分割。二次変換がそれらのサブグループのサブセットに適用される。二次変換の変換タイプ(すなわち接続性)は、全変換ブロック内のサブグループの位置に依存する。
【0088】
<4.変換候補セット>
選択された変換の復号プロセスは、以下のステップからなり得る。
【0089】
まず、候補リストが、すでに復号されたシンタックス要素を利用して構築され得る。
【0090】
選択された変換に関する知識が、ビットストリームからの係数を復号するプロセスをサポートすることができる。よって、候補リストが複数の変換を含む場合、係数復号プロセスの前に選択された変換に関する情報を明示的にシグナリングすることによって候補リストを削減する(または選択された候補を特定しさえする)ことが有益であり得る。
【0091】
他方、係数に関するすでに復号された情報を、候補の中から選択された変換を決定するために利用することができる。係数復号プロセス中に、係数に関するすでに取得された情報と矛盾する変換を除去することにより、候補リストを反復的に削減することができる。すべての係数が復号され、複数の変換候補が残される場合、残りの候補リストへのインデックスがシグナリングされなければならない。
【0092】
<4.1 候補リストの構築>
残差ブロックのための変換候補リストは、すでに復号されたシンタックス要素を利用することにより構築される。これらは、変換の合計サイズ、形状(幅と高さ)およびカラーチャネルタイプ(ルマとクロマ)などの変換ブロックパラメータを含み得るが、現在のブロックに使用される予測方法に関する情報も含み得る。変換サイズによって異なる変換タイプを有することは、すでにセクション3の複雑さの考察によってすでに動機付けされ得る。
【0093】
図12に、複数の残差ブロック84、84’、84’’を有する画像12を符号化するための非限定的な例を示す。残差ブロック84について示される例として、各残差ブロックは、それぞれのブロック84の幅と高さによって定義され得る特定のブロック寸法96を含む。この非限定的な例によれば、変換候補リストの構築は、一例としてそれぞれのブロック寸法96に関して説明され得る。
【0094】
したがって、ブロックベースの予測およびブロックベースの残差符号化を使用して画像12をデータストリーム14に符号化する/データストリーム14から画像12を復号するための符号器10および復号器20であって、ブロックベースの残差符号化のための変換セット94をサポートする符号器10および復号器20が提供され得る。符号器10および復号器20は、現在の残差ブロック84の、高さと幅などのサイズ96に基づいて変換セット94の中から現在の残差ブロック84のための変換の変換候補リスト98を決定する122ように構成され得る。符号器10は、選択可能な変換のリスト98の中からの1つの選択された変換102を使用して残差ブロック84内の予測残差100を符号化し、データストリーム14において選択された変換102を選択的にシグナリングするように構成され得る。さらに、復号器20は、選択可能な変換のリスト98の中からの1つの選択された変換102の定義域で、データストリーム14から選択された変換102を選択的に導出することにより、残差ブロック84内の予測残差100を復号するように構成され得る。
【0095】
‘定義域(domain)’および‘値域(codomain)’という用語に関しては、複数のサンプル105を含む上記の残差ブロック84の詳細な説明を示す図16を参照するものとする。サンプル105の数は、ブロック寸法96、例えば残差ブロック84の幅と高さ、例えば4×4、8×8などといったブロックを決定し得る。残差ブロック84、またはサンプル105はそれぞれ、一次変換を施されてもよく、ブロック寸法96およびサンプル105は一次変換の定義域に対応する。サンプル105は一次変換係数114に変換され、1つまたは複数の一次変換係数114が一次変換係数のサブグループ112に含まれ得る。一次変換の出力、すなわち一次変換の値域は、一次変換係数114の数によって定義されるサブグループ112のサイズに対応する。
【0096】
図16に示される非限定的な例では、サブグループ112は、1つまたは複数のゼロ値の一次変換係数114と1つまたは複数の有意な(すなわち非ゼロ値の)一次変換係数114とを含み得る。1つまたは複数の一次変換がゼロに設定され得るいくつかの特定の例については以下のセクション5で若干説明する。
【0097】
差し当たり、引き続き図16を参照して一般原理についてさらに説明する。図示のように、少なくとも符号器の観点から見ると、この非限定的な例のサブグループ112は反転された‘L’の形状を有し、すなわち、有意な係数114を含む左列および最上行が維持され、反転された‘L’の外側の残りの一次変換係数114はゼロに設定され得る。復号器にも当てはまるより一般的な言い方では、二次変換の定義域は一次変換の定義域と比較して削減される。
【0098】
次いで一次変換係数114のサブグループ112は、二次変換係数134の二次サブグループ138をもたらす二次変換を施され得る。サブグループ112のサイズ、すなわち一次変換係数114の数(二次変換の定義域に対応する)は、二次サブグループ138のサイズ、すなわち二次変換係数119の数(二次変換の値域に対応する)より大きくてもよい。
【0099】
図16には、有意な一次変換係数114のみが二次変換によって変換され、ゼロ値の一次変換係数は暗黙的に削減され、シグナリングされない、すなわち、この場合は変換された有意な変換係数(二次サブグループ138)のみが符号化され得る第1の代替例Aが示されている。図16には、二次サブグループ138と、サブグループ138外のゼロ値の係数とを含むサブブロック全体117が存在し得る、すなわち、この場合にはすべての係数が符号化される、第2の代替例Bが(破線で)示されている。
【0100】
やはり図16に示されるように、符号器10および復号器20は、二次変換係数134を逆変換してもよく、逆変換の定義域は二次変換の値域に対応し得る。
【0101】
上述したように、残差ブロックの変換候補リスト98は、すでに復号されたシンタックス要素、例えば、変換の合計サイズ、形状(幅と高さ)などの変換ブロックパラメータを利用することにより、言い換えると、それぞれの変換の定義域/値域に基づいて構築され得る。
【0102】
したがって、この態様の符号器10は、複数のブロック寸法96(すなわち高さと幅)をサポートし得る。ブロック寸法ごとに、変換セット(設定値)94は、その定義域がそれぞれのブロック寸法96に対応する変換のサブセット(設定値)を含み得る。変換セット94の変換ごとに、符号器10は、その定義域がそれぞれの変換の値域と一致する逆変換(次元削減を伴う逆変換Tなどについては必ずしもT*T-1=1ではないことに留意されたい)をサポートすることができ、符号器10は、逆変換を使用して、そのためのそれぞれの変換が選択されている残差ブロックにおける復号された画像バッファを埋めることができる。符号器10は、変換候補リスト98を決定する際に、変換に、その定義域が現在の残差ブロック84の高さと幅に対応する変換のサブセットの中からの変換を排他的に入力するようにさらに構成され得る。
【0103】
したがって、この態様の復号器20は、複数のブロック寸法(すなわち高さと幅)をサポートし得る。ブロックサイズごとに、変換セット94は、その値域がそれぞれのブロック寸法に対応する変換のサブセットを含む。ここで言う変換は、符号器10で行われる変換に対する逆変換であることに留意されたい。復号器20は、変換候補リスト98を決定する際に、変換に、その値域が現在の残差ブロック84の高さと幅に対応する変換のサブセットの中からの変換を排他的に入力するようにさらに構成され得る。
【0104】
要約すると、各変換(一次または二次)は、その入力に相当する定義域と、その出力に相当する値域とを含んでいてもよく、第1の変換および二次変換のそれぞれの値域は互いに異なり得る。削減された値域が、例えば、一部の一次係数および/または二次係数をゼロに設定することによって達成され、これについては以下でより詳細に説明する。
【0105】
最初に述べたように、計算の複雑さは変換サイズと共に増加し得る。よって、引き換えに、閾値を上回るサイズの変換ブロックの変換候補を、より単純な変換タイプに制限することが有益である。差し当たり、単純な例を、1つの水平変換タイプおよび1つの垂直変換タイプによって定義される、分離可能な変換を考察することによって示す。余分な計算の複雑さがない恒等「変換」に次いで、DCT-IIは、そのバタフライ構造を活用する効率的なアルゴリズムにより、計算上単純な変換タイプであるとみなされる。
【0106】
セクション3で述べたように、各変換タイプの複雑さを、特定の係数を強制的にゼロにすることによって次元数を暗黙的に削減し、よって必要な乗算の回数を減らす変換候補を導入することによって低減させることができる。
【0107】
以下では、一次変換係数のうちの1つもしくは複数および/または二次変換のうちの1つもしくは複数を、ゼロ化とも呼ばれる、ゼロに設定するように構成される符号器10および復号器20のいくつかの例示的な実施形態について説明する。係数をゼロに設定することは、符号器端で適用されてもよく、復号器は、ゼロである係数を復号しないようにし得る。
【0108】
例えば、3つの閾値(T1、T2、T3)を定義する。T1は、セクション2.3に従い、その高さ(幅)がT1未満である場合にのみDCT-IIがブロックの垂直(水平)変換の候補になるように、サイズ(幅または高さ)によって定義される。そうでない場合、次元削減を伴うDCT-IIが候補であり、最後の高さ(幅)・T1高周波数係数がゼロに設定される。それに加えて、T2は、他の変換タイプ(DST-VII、DCT-IIIなどのような)の閾値サイズを、そのサイズがT2未満である場合にのみフルサイズの変換が候補になるように定義する。そうでない場合、次元削減を伴うそれに対応する変換が候補である。最後に、T3は、恒等「変換」の閾値サイズを、それらの変換サイズがT3未満である場合にのみそれらが候補になるように定義する。
【0109】
一例によれば、符号器10は、変換候補リスト98を決定する際に、
現在の残差ブロック84の高さと幅が第1の基準(例えばT1およびT2)を満たす場合、変換候補リスト98に、その定義域が現在の残差ブロック84の高さと幅に対応し、その値域がその定義域よりも小さい、変換のサブセットの中からの1つもしくは複数の変換(例えば、「幅の次元削減を伴う」変換)を入力するか、または
現在の残差ブロック84の高さと幅が第1の基準を満たさない場合、変換候補リスト98から、その定義域が現在の残差ブロック84の高さと幅に対応し、その値域がその定義域よりも小さい、変換のサブセットの中からの1つもしくは複数の変換を除外する。
【0110】
さらに、復号器20は、変換候補リスト98を決定する際に、
現在の残差ブロック84の高さと幅が第1の基準(例えばT1およびT2)を満たす場合、変換候補リスト98に、その値域が現在の残差ブロック84の高さと幅に対応し、その定義域がその値域よりも小さい(例えば、より少ないサンプル/係数を含む)変換のサブセットの中からの1つもしくは複数の変換(すなわち、「幅の次元削減」を伴う変換の逆変換)を入力するか、または
現在の残差ブロック84の高さと幅が第1の基準を満たさない場合、変換候補リスト98から、その値域が現在の残差ブロック84の高さと幅に対応し、その定義域がその定義域よりも小さい、変換のサブセットの中からの1つもしくは複数の変換を除外する。
【0111】
上記の1つまたは複数の変換は、DCT-II、DST-VIIおよびDCT-IIIのうちの1つまたは複数であり得る。
【0112】
別の例によれば、符号器10および復号器20は、変換候補リスト98を決定する際に、
現在の残差ブロック84の高さと幅が第2の基準(例えばT3)を満たす場合、変換候補リスト98に、その定義域が現在の残差ブロック84の高さと幅に対応する、変換のサブセットの中からの恒等変換を入力するか、または
現在の残差ブロック84の高さと幅が第2の基準を満たさない場合、変換候補リスト98から、その定義域が現在の残差ブロック84の高さと幅に対応する、変換のサブセットの中からの恒等変換を除外する。
【0113】
符号器10および復号器20は、高さ、幅、高さと幅の両方、および/または高さと幅の積が特定の閾値を超えるかどうかを確認することによって、第1および/または第2の基準を確認するように構成され得る。
【0114】
残差ブロックの幅と高さによって制約条件を独立して定義することに加えて、相対的な形状を調べることによって規則を適用することができる。例えば、その幅または高さのどちらかが他方を超える場合にのみ候補を許容する。分離可能な変換候補について、これを、大きい方の変換次元に1つの変換タイプを、小さい方の方向に別の変換タイプを割り当てることによって行うことができる。次元削減を伴う変換について、この情報を使用して、どの係数がゼロに設定されるかを決定することができる。
【0115】
さらに別の例によれば、符号器10および復号器20は、変換候補リストを決定する際に、
現在の残差ブロックの高さと幅が第3の基準(例えば、高さと幅の比が特定の閾値を超えるか?)を満たす場合、変換候補リストに、その定義域が現在の残差ブロック(84)のサイズに対応する、変換のサブセットの中からの分離可能なスペクトル的に分解する変換を入力し、
現在の残差ブロックの高さと幅が第3の基準を満たさない場合、変換候補リストから、その定義域が現在の残差ブロック(84)のサイズに対応する、変換のサブセットの中からの分離可能なスペクトル的に分解する変換を除外する。
【0116】
この例によれば、符号器10および復号器20は、高さと幅の比が特定の閾値を超えるかどうかを確認(check)することによって第3の基準を確認するように構成され得る。二次変換については、残差ブロックの幅と高さを使用して、どの係数がさらなる変換ステップにおいて変換されるかを決定することができる。上記からの複雑さの増強に従い、(分離可能な変換よりも)より柔軟な変換構造も変換ブロックサイズに応じて制約されるべきである。より小さいブロックサイズの変換段を前の変換段の全結果(すべての係数)が後続の段でさらに変換されるように定義する(セクション3で一次のみの変換と呼ばれる)こともできるが、一次+二次変換からなる多段変換をより大きなブロックサイズに使用することもできる。
【0117】
例えば、二次変換は最大64の次元(一次変換の係数)まで適用可能であると仮定することにより、二次入力の構築規則を、min(8,幅)×min(8,高さ)で定義されたサブグループとして定式化することができる。定義される変換の合計数を減らすために、二次変換サブグループの形状を制限することができる。例えば、二次変換を8×8および4×4の形状についてのみ定義することによって、二次変換サブグループは、所与の変換ブロックサイズに適用可能なより大きい形状(幅*高さ)によって選択される。
【0118】
例えば、サイズ(4×32)の変換ブロックは(4×4)の二次変換形状を有し、サイズ(8×16)の変換ブロックはこの場合(8×8)の二次変換形状を有する。また、二次変換自体の構造も、それ自体のサイズまたは全変換ブロックのサイズに応じた複雑さの制約条件を用いて定義されるべきである。例を挙げると、4×4の二次変換は全結合変換によって定義することができるが、より大きい二次変換は、セクション3に記載されるいずれかの方法によって、例えば、さらなる変換段の数を制限することによって、または特定の係数を強制的にゼロにすることによってその次元を削減することによって、その複雑さを制約されるべきである。
【0119】
したがって、符号器10および復号器20は、変換候補リスト(98)を決定する際に、変換候補リスト(98)に、上記で例示されたように、ブロックのスケーリングが使用され得る、ブロックサイズおよび形状に応じた変換を入力するように構成され得る。上述したように、例えば、サイズ(4×32)の第1の変換ブロックは(4×4)の二次変換形状を有し、サイズ(8×16)の第2の変換ブロックは(8×8)の二次変換形状を有する。すなわち、第1および第2の変換ブロックの行は1:2のスケーリング割当てを含み、第1および第2の変換ブロックの列は2:1のスケーリング割当てを含み得る。
【0120】
したがって、現在の残差ブロック84の高さと幅が第1の所定のブロック寸法に対応する場合、符号器10および復号器20は、変換候補リスト98に、その値域が現在の残差ブロック84の高さと幅に対応し、現在の残差ブロック84内の予測残差100上に適用される一次変換108と、一次変換108の一次変換係数114の第1のサブグループ112上に適用される二次変換110とを含む多段変換106を反転する、変換のサブセットの中からの第1の1つまたは複数の変換を入力するように構成され得る。
【0121】
あるいは、現在の残差ブロック84の高さと幅が第2の所定のブロック寸法に対応する場合、符号器10および復号器20は、変換候補リスト98に、その値域が現在の残差ブロック84の高さと幅に対応し、現在の残差ブロック84内の予測残差100上に適用される一次変換108と、一次変換108の一次変換係数114の第2のサブグループ112上に適用される二次変換110とを含む多段変換106を反転する、変換のサブセットの中からの第2の1つまたは複数の変換を入力するように構成され得る。
【0122】
どちらの場合にも、第1の1つまたは複数の変換の一次変換108の第1の値域を第1の1つまたは複数の変換の一次変換108の第2の値域上に画像化するスケーリングは、第1の値域内の第1のサブグループの外周を第2の値域内の第2のサブグループの外周上に画像化しない。
【0123】
ブロックの上記の高さ/幅比に一次変換および二次変換が施されることに関して、例えば、一次変換の値域の高さ/幅比(アスペクト比)ならびに第1および第2の所定の寸法の高さ/幅比が同じであっても、第1の値域内の第1のサブグループ112の外周が第2のサブグループの外周上に画像化しない可能性があり得る。
【0124】
したがって、符号器10および復号器20は、変換候補リストを決定する際に、現在の残差ブロックの高さと幅が第1の所定のブロック寸法に対応する場合、変換候補リストに、その定義域が現在の残差ブロック84の高さと幅に対応し、現在の残差ブロック内の予測残差100上に適用される一次変換108と、一次変換の一次変換係数114の第1のサブグループ112上に適用される二次変換110とを含む多段変換106である、変換のサブセットの中からの第1の1つまたは複数の変換を入力するように構成され得る。あるいは、現在の残差ブロックの高さと幅が第2の所定のブロック寸法に対応する場合、符号器10および復号器20は、変換候補リストに、その定義域が現在の残差ブロック84の高さと幅に対応し、現在の残差ブロック内の予測残差100上に適用される一次変換108と、一次変換の一次変換係数114の第2のサブグループ112上に適用される二次変換110とを含む多段変換106である、変換のサブセットの中からの第2の1つまたは複数の変換を入力するように構成され得る。この例では、第1の1つまたは複数の変換の一次変換の第1の値域を第1の1つまたは複数の変換の一次変換の第2の値域上に画像化するスケーリングは、第1の値域内の第1のサブグループの外周を第2の値域内の第2のサブグループの外周上に画像化しない場合もある。
【0125】
(例えば、全変換ブロックにおける1画素あたりの乗算回数を数えることによる)変換段のその全変換ブロックサイズに対する相対的な複雑さのオーバーヘッドを考えると、変換段の構造はその相対的なサイズによってさらに制約されるべきである。ここでは、最悪の場合が、定義により(セクション3参照)、前の変換段のすべての係数(またはすべてのサブグループ)が次の変換段に入力される、一次のみの多段変換に該当する。やはり、セクション3のすべての方法が適用可能である。
【0126】
変換ブロックの形状に加えて、残差ブロックを取得するために使用される予測方法も、残差信号の特性に関する洞察を与え、よって、適切な変換候補を選択するために使用することができる。
【0127】
変換候補リストを、異なる変換候補をクロマ残差ブロックおよびルマ残差ブロックのために定義させることによってカラーチャネルにも適応させることができる。専用のクロマ変換のセット(設定値)があればより高い柔軟性が与えられるが、追加の変換コアを格納するのに必要とされるメモリの量も増加する。よって、その中から候補を選択するための変換構造/コアの統合セットがあることが望ましい。クロマ残差ブロックがルマ変換ブロックと関連付けられている(例えば、同じCUに属し、デュアルツリーではない)場合、(1回だけシグナリングされさえすればよい)同じ変換インデックスを共有するか、または選択されたルマ変換から選択されたクロマ変換を導出することも望ましい。一意の識別を可能にするために、クロマ候補リストを慎重に選択し、ルマ候補リストに適応させなければならない。主に、映像符号化ではクロマサブサンプリングが使用され、よって、クロマ残差ブロックサイズが、よってクロマ変換サイズも、選択されたルマ変換サイズと異なる。クロマ候補を識別するために、選択されたルマ変換の特性は、クロマブロックの候補リストにおける変換クラスに照合されなければならない。DCT/DSTクラスからの変換があれば、異なるサイズのために定義されるのでこれは簡単である。よって、クロマ変換ブロックの候補リストに、関連付けられたルマブロックと同じ、ただしより小さいサイズの変換タイプ(DCT/DST)を入力することができ、選択されたルマ候補を知っており、選択された変換は一意に識別可能である。例えば、ただ1つの候補が二次+変換を有することを可能にすることにより、この特性もまた、一意の識別を可能にする。さらに、次元削減の特性を使用して、関連付けられたクロマ変換候補を識別することができる。選択されたルマ変換が、事前定義された係数位置をゼロに設定することにより、次元を削減する場合、同じ相対位置を強制的にゼロにする候補を取ることによってクロマ変換を識別することができる。ここで相対位置とは、例えば、ブロックの最初の半分、またはブロックの最初の行などを指す。同数の候補間で同じ特性が共有される場合、ルマおよびクロマリストにおいて、リスト内の順序および選択されたルマ変換インデックスを使用してクロマ変換を識別することができる。
【0128】
量子化パラメータが特定の範囲内にある場合、候補リストのみに特定の変換を追加することが役立ち得る。これは、次元削減を伴う変換に特に役立つが、特殊化された変換を、量子化パラメータに依存して訓練することもできる。
【0129】
これらの特性が与えられた場合、変換候補リストを、構築規則によって導出するか、またはテーブルルックアップによって取得することができる。ここでは、すべての可能な特性の組み合わせについての変換候補リストのルックアップテーブルがあることが、最も柔軟であり、したがって好ましい変形例である。
【0130】
以下のセクションでは、変換候補リストを構築するための規則を提供する。
【0131】
<4.1.1 大きな残差ブロック>
幅または高さが64より大きい大きな残差ブロックは、上記のセクション2.3に記載されるような高周波数ゼロ化を伴うDCT-IIを使用して変換され得る。
【0132】
<4.1.2 インター予測された残差ブロック>
インター予測された残差ブロックについては、AMTの変換およびシグナリング方式が使用されてもよく、すなわち、候補リストは以下を含み得る。
{[DCT-II,DCT-II],[DST-VII,DST-VII],[DST-VII,DCT-VIII],[DCT-VIII,DST-VII],[DCT-VIII,DCT-VIII]}
[垂直変換,水平変換]である。
【0133】
<4.1.3 イントラNN予測された残差ブロック>
<イントラNN変換>
イントラNN(ニューラルネットワーク)では、イントラNN予測されたブロックと共に使用するための専用の変換セットが提供される。以下では、これらの変換をイントラNN変換と呼ぶ。
【0134】
図7を参照すると、ブロックベースの予測およびブロックベースの残差符号化を使用して画像12をデータストリーム14に符号化/データストリーム14から画像12を復号するための符号器10(図1を参照して上述したものと同様)および復号器20(図2を参照して上述したものと同様)が提供され得る。符号器10および復号器20はブロックベースの残差符号化のための変換セット94をサポートし、セット94内では1つまたは複数の異なる変換が利用可能であり得る。符号器10および復号器20は、イントラ予測されたブロック80の予測104を取得するために複数のニューラルネットワーク92の中からの選択されたニューラルネットワーク上にイントラ予測されたブロック80の空間的近隣90を適用することによってイントラ予測されたブロック80を予測するように構成される。符号器10および復号器20は、イントラ予測されたブロック80をカバーする残差ブロック84のために、選択されたニューラルネットワークと残差ブロック84のブロックサイズ96とに基づいて変換セット94の中から選択可能な変換のセット98を決定し得る。符号器10はさらに、選択可能な変換のセット98の中からの1つの選択された変換102を使用して残差ブロック84内のイントラ予測されたブロック80の予測と関連付けられた予測残差100を符号化し、データストリーム14において選択された変換をシグナリングし得る。さらに、復号器20は、選択可能な変換のセット98の中からの1つの選択された変換102の定義域で、データストリーム14から選択された変換を導出することにより、データストリーム14から残差ブロック84内のイントラ予測されたブロック80の予測104と関連付けられた予測残差100を復号し得る。
【0135】
したがって、セット94の中から選択され得る1つまたは複数の選択可能なセット98を含む変換セット94が提供され得る。選択可能なセット98は1つまたは複数の変換102を含んでいてもよく、選択可能なセット98の中から1つの変換102が選択され得る。符号器10は、1つの選択された変換102を使用して予測残差100を符号化し得る。復号器20は、1つの選択された変換102を使用して予測残差100を復号し得る。
【0136】
これらの変換は、異なるイントラNNモードを条件として、予測残差の特定の特性について訓練される。イントラNN変換のセット98は、小さいブロックサイズ(例えば、所定の閾値を下回るブロックサイズ)のための一次のみの変換およびより大きいブロックサイズ(例えば、所定の閾値を上回るブロックサイズ)のための一次+二次変換を含む。
【0137】
例えば、図7から図10に、複数のサンプル105を含む残差ブロック84を示す。残差ブロック84は、それぞれ、符号化および復号され得る予測残差100を含み得る。サンプル105は、1つまたは複数の変換、例えば、一次のみの変換118(図10)、または一次変換108および後続の二次変換110を含む多段変換106(図8)を施され得る。
【0138】
サンプル105は、サンプル105が空間領域から変換領域に変換され得るように、一次変換108を施され得る。結果として、変換ブロックは、1つまたは複数の一次変換係数114を含み得る。一次変換係数114の一次サブグループ112には複数の一次変換係数114が一緒に配置され得る。例えば図9に示されるように、一次変換108は、残差ブロック84の1つまたは複数の行を空間領域から変換領域に変換し得るが、残差ブロック84の列は変換されず、したがって空間領域のままである。
【0139】
いくつかの例では、一次変換係数114は、一次変換係数114がそれぞれの二次変換領域に変換され得るように、二次変換110によってさらに変換され得る。結果として、(二次変換110により)再度変換されたブロック117は、1つまたは複数の二次変換係数134を含み得る。二次変換係数134の二次サブグループ138には複数の二次変換係数134が一緒に配置され得る。例えば図9に示されるように、二次変換110は、ブロックの1つまたは複数の列を空間領域から変換領域に変換し得る。上述したように、ブロックの行は、一次変換108によってすでに変換されている場合もある。結果として、多段変換によって、すなわち、一次変換と後続の二次変換とを適用することによって、行と列が変換されたことになり得る。しかしながら、変換係数は行と列に制限されず、これは1つの非限定的な例にすぎない。
【0140】
前述したように、符号器10および復号器20がその中から選択し得る所定の変換セット94が利用可能であり得る。例えば、図7および図8を参照すると、符号器10および復号器20は、所定の閾値を上回るブロックサイズについて、選択可能な変換のセット98に、予測残差100上に適用される一次変換108と、一次変換108の一次変換係数114のサブグループ112上に適用される二次変換110であって、非分離可能であり、選択されたニューラルネットワークに依存する二次変換110とを各々含む、第1の数の1つまたは複数の多段変換106が入力されるように、選択可能なセット98の決定を行うように構成され得るサブグループ112は、一次変換108の低周波部分を表す。
【0141】
例えば、S={4,8,16,32}×{4,8,16,32}内の各ブロックサイズおよび各イントラNN予測モードについて、4つのイントラNN変換のセットがある。より一般的には、多段変換の数は、2と6を含む2から6までであり得る。S内のサイズ以外のブロックサイズについては、導出されたサイズs’についてのイントラNN変換が使用される。サイズs’は、各々、Sにおいて最小の垂直および水平寸法であるが、少なくともブロックのサイズを有するS内のサイズを取ることによって取得される。
【0142】
図10を参照すると、加えてまたは代替として、符号器10および復号器20は、所定の閾値を下回るブロックサイズについて、選択可能な変換のセット98に、第2の数の1つまたは複数の非分離可能な変換118が入力されるように選択可能なセット98の決定を行うように構成され得る。第1の数の多段変換106(図8)と第2の数の非分離可能な変換118(図10)とは等しくてもよい。
【0143】
ブロック高さ(H)もブロック幅(W)も8以下のサイズのイントラNN変換は、一次のみの変換として定義される。複雑さが理由で、大きな変換は、低複雑度の分離可能な一次変換と、第1の係数を含み、サイズmin(8,W)×min(8,H)を有する、一次係数サブブロックのみに適用される二次変換とを有する、一次+二次変換として定義される。
【0144】
<バージョン1>
図9を参照すると、イントラNN変換にさらに加えて、またはイントラNN変換の代替として、符号器10および復号器20は、選択可能な変換のセット98に、第3の数(例えば1または5)の1つまたは複数の分離可能な二次元変換116がさらに入力されるように、すなわち、イントラNN予測された残差ブロックのための変換候補リストが、以下のDCT/DSTファミリからの5つの分離可能な(一次のみの)変換を含み得るように選択可能なセット98の決定を行うように構成され得る。
{[DCT-II,DCT-II],[DST-VII,DST-VII],[DST-VII,DCT-VIII],[DCT-VIII,DST-VII],[DCT-VIII,DCT-VIII]}
[垂直変換,水平変換]である。
【0145】
<バージョン2>
イントラNN変換にさらに加えて、またはイントラNN変換の代替として、イントラNN予測された残差ブロックのための変換候補リストは、分離可能な(一次のみの){DCT-II,DCT-II}変換を含み得る。
【0146】
<バージョン3>
イントラNN予測は、予測が、空間領域表現ではなく変換領域表現で与えられるように定義され得る。よって、予測残差は、特定の変換段の係数として与えられる。この場合、有効に適用された変換の第1段は、使用された予測によってすでに明示的に定義されている。
【0147】
例えば、符号器10および復号器20は、イントラ予測されたブロック80の予測が一次変換108の定義域118で取得されるように予測を行うように構成され得る。符号器10および復号器20は、選択可能な変換のセット98に、一次変換108と、一次変換108の一次変換係数114のサブグループ112上に適用される二次変換110であって、非分離可能であり、選択されたニューラルネットワークに依存する二次変換110であって、非分離可能であり、選択されたニューラルネットワークに依存し得る二次変換110とを各々含む第4の数の1つまたは複数の多段変換106が入力されるように選択可能なセット98の決定を行うようにさらに構成され得る。
【0148】
一例として、予測残差は、DCT-II定義域の係数として与えられてもよく、すなわち、一次変換108は分離可能な二次元変換116(図9)であり得る。一次+二次変換の場合には、一次変換は、予測モードによって定義された変換(ここではDCT-II)とみなされる。よって、二次変換は、DCT-II係数のサブセット上で定義される。ここでは、サイズmin(8,W)×min(8,H)の最低周波を有する係数のサブセット上で定義され、すなわち、サブグループ112は一次変換108の低周波部分を表す。
【0149】
このバージョンでは、イントラNN予測された残差ブロックのすべての変換候補が、イントラモードによって明示的に与えられた同じ第1の変換段を有する。所与の変換段上に構築された4つの(例えば2から6までの)訓練されたイントラNN変換に加えて、明示的に与えられた変換自体も、一次のみの変換として候補リストに追加され(ここではすべてのイントラNNモードについてDCT-II)、すなわち、選択可能な変換のセット98に一次変換108がさらに入力され得る。
【0150】
イントラNN変換のための符号器10および復号器20の別の例が図11に示されている。この例は、図7および図10を参照して上述した例と同様であり、図7および図10はしたがって以下の例の説明にも役立つ。
【0151】
この例の符号器10は、イントラ予測されたブロック80の予測104を一次変換108の定義域118(図10図11)で取得するために、イントラ予測されたブロック80の空間的近隣90をニューラルネットワークNN上に適用することによってイントラ予測されたブロック80を予測するように構成され得る。符号器10は、選択可能な変換のセット98の中からの1つの選択された変換102を使用して残差ブロック84内のイントラ予測されたブロック80の予測104と関連付けられた予測残差100を符号化し、データストリーム14において選択された変換102をシグナリングするように構成され得る。この例では、選択可能な変換のセット98に、一次変換108と、一次変換108の一次変換係数114のサブグループ112(図8)上に適用される二次変換110とを含む少なくとも1つの多段変換106が入力される。
【0152】
対応する復号器20は、イントラ予測されたブロック80の予測104を一次変換108の定義域118(図10図11)で取得するために、イントラ予測されたブロック80の空間的近隣90をニューラルネットワークNN上に適用することによってイントラ予測されたブロック80を予測するように構成され得る。復号器20は、選択可能な変換のセット98の中からの1つの選択された変換102の別の定義域119で、データストリーム14から選択された変換102を導出することにより、データストリーム14から残差ブロック84内のイントラ予測されたブロック80の予測104と関連付けられた予測残差100を復号するように構成され得る。選択可能な変換のセット98には、一次変換108と、一次変換108の一次変換係数114のサブグループ112(図8)上に適用される二次変換110とを含む少なくとも1つの多段変換106が入力される。
【0153】
符号器10および復号器20は、選択可能な変換のセット98に、一次変換108と、一次変換108の一次変換係数114のサブグループ112上に適用される二次変換110であって、非分離可能である二次変換110とを各々含むある数の多段変換106を入力するように構成され得る。
【0154】
多段変換の数は、2と6を含む2から6までであり得る。加えてまたは代替として、一次変換108は、分離可能な二次元変換であってもよい。加えてまたは代替として、サブグループ112は、一次変換の低周波部分を表してもよい。
【0155】
符号器10および復号器20は、選択可能な変換のセット98に一次変換がさらに入力されるように、選択可能なセット98の決定を行うように構成され得る。
【0156】
<4.1.4 イントラ予測された残差ブロック(DC、Planar、Angular)>
イントラ予測された残差ブロックには、専用の変換セットが定義され、その実際に適用されたイントラモードおよびブロックサイズが与えられた場合に、残差信号の特定の特性について訓練される。これらの変換は、一次のみの変換と、さらに、複雑さのために、一次変換が特に低複雑度の実施態様を有する一次+二次変換とを含む。
【0157】
図7を再度参照すると、ブロックベースの予測およびブロックベースの残差符号化を使用して画像12をデータストリーム14に符号化/データストリーム14から画像12を復号するための符号器10(図1を参照して上述したものと同様)および復号器20(図2を参照して上述したものと同様)が提供され得る。符号器10および復号器20は、イントラ予測されたブロック80の予測104を取得するためにイントラ予測モードのセット120の中からの選択された1つを使用してイントラ予測されたブロック80の空間的近隣90に基づいてイントラ予測されたブロック80を予測するように構成され得る。符号器10および復号器20は、選択されたイントラ予測モードおよび残差ブロック84のブロックサイズ96に基づいて、変換セット94の中からイントラ予測されたブロック80をカバーする残差ブロック84のための選択可能な変換のセット98を決定するようにさらに構成され得る。符号器10は、選択可能な変換のセット98の中からの1つの選択された変換102を使用して残差ブロック84内のイントラ予測されたブロック80の予測104と関連付けられた予測残差100を符号化し、データストリーム14において選択された変換102をシグナリングするようにさらに構成され得る。さらに、復号器20は、選択可能な変換のセット98の中からの1つの選択された変換102の定義域で、データストリーム(14)から選択された変換102を導出することにより、データストリーム14から残差ブロック84内のイントラ予測されたブロック80の予測104と関連付けられた予測残差100を復号するように構成され得る。
【0158】
一次変換の中には、AMTによって定義されたDCT/DSTファミリの変換があり、これらをNSSTによって定義された変換と組み合わせて、それぞれ、一次のみの変換および一次+二次変換を構築することができる。言い換えると、一次変換108は、選択されたイントラ予測モードに依存し、分離可能な二次元変換116であり得る。したがって、図8を再度参照すると、符号器10および復号器20は、所定のブロックサイズの第1の所定のセットのブロックサイズについて、選択可能な変換のセット98に、予測残差100上に適用される一次変換108と、一次変換108の一次変換係数114のサブグループ112上に適用される二次変換110であって、非分離可能であり、選択されたイントラ予測モードに依存する二次変換110とを各々含む、ある数の1つまたは複数の多段変換106が入力されるように、選択可能なセット98の決定を行うように構成され得る。
【0159】
次元64までの全結合変換段、および、変換段係数の、特に一次変換係数のイントラモード依存の分割(例えば、サブグループ112は選択されたイントラ予測モードに依存し得る)を含む、追加の変換が訓練されていてもよい。これらの変換のうちのどれがそのすでに復号されたシンタックス要素に依存する残差ブロックに適するかは、経験的に判明しており、以下の候補リストのための構築規則と共にルックアップテーブルによって与えられる。
【0160】
したがって、図10を再度参照すると、符号器10および復号器20は、所定のブロックサイズの第1の所定のセットより小さい所定のブロックサイズの第2の所定のセットのブロックサイズについて、選択可能な変換のセット98に第2の数の1つまたは複数の非分離可能な変換118が入力されるように、選択可能なセット98の決定を行うように構成され得る。
【0161】
サブグループが長方形で、密で、低次元であることを必要とする複雑さ制約条件を有する多段変換を構築する場合には、依然としてサブグループの形状を自由に選択できる。正確には、形状は二次であり得るか、または垂直もしくは水平方向の支配的次元を有することができる。形状は、それらのどちらかが好ましい場合には、選択された一次変換および実際のイントラ予測モードに依存する。例えば、DCT-IIが一次変換であり、残差ブロックが水平方向のモードのうちの1つで予測された場合、残差一次係数はブロックの左側に集中すると予期され、よって、サブグループを、幅より高さが大きくなるように選択することができる。垂直のイントラ方向には逆を選択することができる。
【0162】
<ルマ成分>
<バージョン1>
イントラ予測されたルマ残差ブロックの変換候補リストの生成には、ルックアップテーブルが使用され得る。このテーブルは、S3={64×64}+{4,8,16,32}×{4,8,16,32}+{4×12,12×4}内のサイズとI0={0,…,34}内のイントラモードインデックスとの組み合わせについての変換候補リストを保持する。上述したように、符号器10および復号器20は、選択されたイントラ予測モードと残差ブロック84のブロックサイズ96とに基づいて、変換セット94の中からイントラ予測されたブロック80をカバーする残差ブロック84のための選択可能な変換のセット98を決定するように構成され得る。
【0163】
残差ブロックの候補リストを取得するための実際の規則は以下のとおりである。
イントラモードが、{DC,Planar}+33方向モード}内のイントラ方向のうちの1つによって指定される場合、このイントラ方向はLUTへのイントラモードインデックスとして使用される。
イントラモードが、{DC,Planar}+65方向モード}内のイントラ方向のうちの1つによって指定される場合、LUTへのイントラモードインデックスは以下のマッピングによって取得される。
【0164】
【表1】
【0165】
S3内のサイズを有する残差ブロックでは、このサイズがLUTへの入力として使用され、そうでない場合、I0内のイントラモードインデックスごとに1つの固定された変換候補のセットを定義する、第2のルックアップテーブルが使用される。
【0166】
したがって、符号器10および復号器20は、二次変換110が選択されたイントラ予測モードに依存する方法が、イントラ予測モード集約、例えば、イントラ予測モードインデックスの量子化やイントラ予測モードのセット120中の角度イントラ予測モードのイントラ予測方向の量子化などを含むように構成され得る。
【0167】
加えてまたは代替として、符号器10および復号器20は、一次変換108が選択されたイントラ予測モードに依存する方法が、イントラ予測モード集約、例えば、イントラ予測モードインデックスの量子化やイントラ予測モードのセット120中の角度イントラ予測モードのイントラ予測方向の量子化などを含むように構成されてもよい。
【0168】
<バージョン2>
バージョン1との違いは、S3内にないサイズを有する残差ブロックの変換候補の逸脱である。ここでは、サイズs’がルックアップテーブルをアドレス指定するために使用される。その場合、s’は、各次元がsの対応する次元以上であるS3内の最小サイズである。
【0169】
<クロマ成分(クロマデュアルツリーなし)>
<バージョン1>
クロマ残差ブロックの変換候補は、ルマ変換候補と同じ変換セットから取得される。ここで、各変換キーは、2つの別々のクロマ変換候補を定義することができる。クロマ成分の予測モードがルマモードと等しい場合、第1の候補が取られる。そうでない場合、第2の候補が取られる。
【0170】
<バージョン2>
クロマ残差ブロックの変換候補は、ルマ変換候補と同じ変換セットから取得される。ここで、各変換キーは、2つの別々のクロマ変換候補を定義することができる。そうである場合、両方の変換がクロマ候補リストに追加される。
【0171】
<4.1.5 近隣の変換ブロックの変換決定に依存する候補の追加/置換および並べ替え>
予測モード、ブロックサイズなどといった変換ブロック自体の特性から導出された変換候補に加えて、候補を近隣の変換ブロックから導出することもできる。以下でいくつかの例について論じる。
【0172】
例えば、図12には、現在の残差ブロック84と、現在の残差ブロック84に直接隣接するか、または現在の残差ブロック84から空間的に離れて位置し得る空間的に近隣の残差ブロック84’、84’’とに分割される画像12が示されている。近隣の残差ブロック84’、84’’が、残留エネルギーや信号構造など様々な特性において類似していると仮定すると、この類似性を、選択された近隣の変換の情報を現在のブロック84の候補の逸脱プロセスに含めることによって活用することができる。
【0173】
図12を参照すると、ブロックベースの予測およびブロックベースの残差符号化を使用して画像12をデータストリーム14に符号化/データストリーム14から画像12を復号するための符号器10(図1を参照して上述したものと同様)および復号器20(図2を参照して上述したものと同様)が提供され得る。
【0174】
符号器10および復号器20は、近隣の残差ブロック84’、84’’のために選択された参照変換に基づいて変換セット94の中から現在の残差ブロック84のための選択可能な変換のリスト98を決定する122ように構成され得る。符号器10は、選択可能な変換のリスト98の中からの1つの選択された変換102を使用して残差ブロック84内の予測残差100を符号化し、データストリーム14において選択された変換102をシグナリングするように構成され得る。さらに、復号器20は、選択可能な変換のリスト98の中からの1つの選択された変換102の定義域で、データストリーム14から選択された変換102を導出することにより、残差ブロック84内の予測残差100を復号するように構成され得る。
【0175】
一般に、近隣の変換ブロック84’、84’’が現在のブロック84と同じサイズおよび予測モードを有する場合、リストが上述したように構築されるならば、近隣の変換ブロック84’、84’’の選択された変換も現在のブロック84の候補である。そのような場合には、現在の候補リストを、前に選択されている候補が候補リスト内の最初の位置のうちの1つに置かれるように並べ替えることができる。したがって、符号器10および復号器20は、参照変換を使用して選択可能なリスト98を順序付けする122ように構成され得る。
【0176】
例えば、符号器10および復号器20は、選択可能なリスト98を、参照変換または参照変換に対応する変換を(例えば、高い変換インデックス124によってシグナリングされた1段であり、よって、非常に特殊化された変換、異なるサイズの近隣のブロックのための解析的な変換タイプであることに関して)最も確度の高い選択と関連付けられたランク(「n」の#)(例えば、最初の位置、またはインデックス124の最低のインデックス値と、もしくは最短のVLCと関連付けられたインデックス値と関連付けられた位置)に配置することによって順序付けする122ように構成され得る。あるいは、符号器10および復号器20は、選択可能なリスト98を、参照変換または参照変換に対応する変換を、2番目に確度の高い選択と関連付けられたランク(「n」の#)に配置することによって順序付けしてもよい122。
【0177】
これにより、候補のシグナリングを改善することができ、さらに、後続の候補の試験をスキップすることにより、符号器における変換候補を試験するための効率的な高速の探索モードが可能になる。
【0178】
複数の近隣のブロック84’、84’’の変換決定が利用可能な場合、現在のリストにおける各候補の実際の位置を、より頻繁に選択された候補をリストの先頭に置くことによって、それが近隣のブロック84’、84’’においてどれほど多く選択されたかを条件とすることができる。第1の変換は多くの場合、近隣の決定を条件とするときでさえも、最も確度が高いので、リスト中の最初の候補を不変のままとし、最も頻繁に選択された候補を2番目の位置に置くことが有益であり得る。
【0179】
したがって、符号器10および復号器20は、近隣の残差ブロック84’、84’’のセットのために選択された参照変換に基づいて変換セット94の中から現在の残差ブロック84のための選択可能な変換のリスト98を決定する122ように構成され得る。
【0180】
さらに、符号器10および復号器20は、選択可能なリスト98を、参照変換を互いに、参照変換が近隣の残差ブロック84’、84’’のセットのために選択される頻度に対応する順序で配置することによって順序付けする122ように構成され得る。
【0181】
近隣の残差ブロック84’、84’’の予測モードまたはブロックサイズが異なる場合、選択された近隣の変換は必ずしもすでに現在のブロック84の候補であるとは限らない。そのような場合には、選択された変換を、それが現在のブロックサイズにも定義されている場合には、現在の変換リストに追加することができる。したがって、符号器10および復号器20は、選択可能なリスト98に参照変換を入力する122ように構成され得る。
【0182】
変換が候補リストに実際に追加される場合、それは、両方のブロックの選択された予測モードの類似性を条件とすべきである。例えば、両方のブロックが方向モードを使用して予測され、それらの方向インデックスが3つ以上異なり、近隣のブロックの選択された変換がそのモードのために特に訓練された変換である場合、この変換が現在のブロックの有望な候補である可能性は低い。他方、両方の予測モードが類似しているか、または汎用変換(DCTやDSTなど)が選択されている場合、それを現在の候補リストに追加することもできる。両方のブロックがそのサイズにおいてのみ異なり、既知の選択された変換が、DCT/DSTファミリからのものなど、解析的に定義された変換からのものである場合、現在のブロックサイズのための対応する変換を直接導出し、候補リストに追加することができる。
【0183】
したがって、符号器10および復号器20は、近隣のブロック84’、84’’および現在の残差ブロック84と関連付けられた1つもしくは複数の特定の特性が十分に類似しており、かつ/または参照変換が分離可能なスペクトル的に分解する変換であるならば、入力を行うように構成され得る。前記1つまたは複数の特性は、例えば、イントラ予測モードの1つまたは複数を含み得る。
【0184】
加えてまたは代替として、参照変換は、(DCT、DST、FFTなどといった)解析的に定義可能な分離可能なスペクトル的に分解する変換であってもよく、符号器10および復号器20は、選択可能なリスト98に、参照変換を現在の残差ブロック84のブロックサイズ96に適応させることによって導出された別の変換を入力する122ように構成されてもよい。
【0185】
たとえ近隣のブロックの選択された変換が現在のリストの候補ではなくても、その変換を知っていることは現在のリストの最善の候補を予測するのに役立ち、よって、候補の順序付けはその変換を条件とすることができる。例えば、近隣のブロックの一次変換がDCT/DSTファミリからのものであるとすると、上述したように、現在のサイズの対応する一次変換を有するすべての候補を候補リストの前に置くことができる。
【0186】
さらに、近隣のブロックのエネルギーが相関していると仮定すると、近隣の残差ブロックに多数の有意な係数があるときに、現在のブロックの有意な係数の数が高くなる可能性が高い。わずかな係数の逆の場合にも同じ相関を仮定することができる。
【0187】
したがって、符号器10および復号器20は、選択可能なリスト98を、1つもしくは複数の特定の特性における参照変換に対する類似度に従って選択可能な変換のセット98内の変換をランク付けすることによって順序付けし122、かつ/または、選択可能なリスト98から、1つもしくは複数の特定の特性における参照変換に対する特定の相違度を超える変換を除外する方法で選択可能な変換のリスト98を決定するように構成され得る。例えば、前記1つまたは複数の特性は、一次変換の1つまたは複数を含み得る(例えば、一次変換の同等性が必要とされる)。
【0188】
この情報を使用して、候補を並べ替え、またはリストから可能性の低い変換を除去することさえもできる。例えば、k個の係数のサブグループ上で定義された二次変換を有する変換候補があり、近隣の残差ブロック84’、84’’にk個よりずっと少ない有意な係数がある場合に、この候補を除去するか、または最後の位置に置くことができる。また、ごく少数の係数が有意であることが予期される場合にも、同じ一次変換を共有するが、それらの二次変換においてのみ異なる変換候補があることから利益が得られる可能性が低い。候補の中にそのような変換がある場合、そのような場合にはリストを、それらの変換の最初のものだけを保持することによって、またはこれらの変換を対応する一次のみの変換で置き換えることによってさえ削減することができる。
【0189】
一例によれば、符号器10は、1つもしくは複数の近隣の残差ブロック84’、84’’における有意な変換係数の数、またはそれらの総和に依存する方法で、近隣の残差ブロックのために選択された参照変換に基づいて変換セットの中から現在の残差ブロックのための選択可能な変換のリスト98を決定する122ように構成され得る。その数または総和が特定の閾値より大きい場合には、現在の残差ブロックのための選択可能な変換のリスト98に、現在の残差ブロックの予測残差100上に適用される一次変換と、一次変換の一次変換係数のサブグループ上に適用される二次変換とを含む少なくとも1つの多段変換が入力される。その数または総和が特定の閾値より小さい場合には、現在の残差ブロックのための選択可能な変換のリストに、少なくとも1つの多段変換に加えて、またはその代わりに、サブグループを超える一次変換係数がゼロ化される少なくとも1つの多段変換の修正が入力される。どちらの場合にも、符号器10は、選択可能な変換のリストの中からの1つの選択された変換を使用して残差ブロック内の予測残差を符号化し、データストリームにおいて選択された変換をシグナリングするように構成され得る。
【0190】
対応する復号器20は、1つもしくは複数の近隣の残差ブロック84’、84’’における有意な変換係数の数、またはそれらの総和に依存する方法で、近隣の残差ブロック84’、84’’に選択された参照変換に基づいて変換セットの中から現在の残差ブロックのための選択可能な変換のリスト98を決定する122ように構成され得る。その数または総和が特定の閾値より大きい場合には、現在の残差ブロックのための選択可能な変換のリスト98に、現在の残差ブロックの予測残差100上に適用される一次変換と、一次変換の一次変換係数のサブグループ上に適用される二次変換とを含む少なくとも1つの多段変換が入力される。その数または総和が特定の閾値より小さい場合には、現在の残差ブロックのための選択可能な変換のリストに、少なくとも1つの多段変換に加えて、またはその代わりに、サブグループを超える一次変換係数がゼロ化される少なくとも1つの多段変換の修正が入力される。どちらの場合にも、復号器20は、選択可能な変換のリストの中からの1つの選択された変換の定義域で、データストリームから選択された変換を導出することにより、残差ブロック内の予測残差を復号するようにさらに構成され得る。
【0191】
加えてまたは代替として、符号器10および復号器20は、選択可能なリスト98を、近隣のブロック84’の1つもしくは複数の特定の特性に応じて選択可能な変換のセット98内の変換をランク付けすることによって順序付けし122、かつ/または近隣のブロック84’の1つもしくは複数の特定の特性に応じて選択可能なリスト98から変換を除外する方法で選択可能な変換のリスト98を決定するように構成されてもよい。例えば、前記1つまたは複数の特性は、ある数の有意な変換係数のうちの1つまたは複数を含み得る。
【0192】
加えてまたは代替として、前記1つまたは複数の特性は、確度の低い変換をランク付けすること、または有意な変換係数の数が特定の閾値を下回る場合に(例えば、サブグループ112内の係数の数に応じて)二次変換を受ける一次変換係数のサブグループ112を有する多段タイプのものである変換を除外することによる、ある数の有意な変換係数のうちの1つまたは複数を含んでいてもよい。
【0193】
<4.1.6 量子化パラメータに適応させた変換候補の提供>
変換を、量子化段の異なる再構築点について、よって異なる量子化パラメータ(QP)について最適化することができる。QP適応的な変換セットが予測モードのために定義される場合、候補リストは以下の規則のうちの1つによって構築される。
【0194】
変換が現在のQPのために定義される場合、この変換は候補リストに追加される。
現在のQPに最も近いQPのために定義された変換は、候補リストに追加される。
【0195】
2つの変換が候補リストに追加される。第1に、現在のQPの次に小さいQPのために定義された変換、第2に、現在のQPの次に大きいQPのために定義された変換。
【0196】
したがって、図7を参照すると、符号器10および復号器20は、残差ブロック84の量子化パラメータが1つまたは複数の所定の量子化パラメータのセット(設定値)に含まれるかどうかを確認するように構成され得る。答えが‘はい(yes)’の場合、符号器10および復号器20は、選択可能な変換のセット(設定値)98に、1つまたは複数の所定の量子化パラメータのセットと関連付けられた1つまたは複数の所定の変換のセットがさらに入力されるように選択可能なセット98の決定を行い得る。
【0197】
加えてまたは代替として、符号器10および復号器20は、イントラ予測されたブロックの量子化パラメータが1つまたは複数の所定の量子化パラメータのセットに含まれるかどうかを確認するように構成されてもよい。答えが‘はい’の場合、符号器10および復号器20は、選択可能な変換のセット98に、1つまたは複数の所定の量子化パラメータのセットと関連付けられた1つまたは複数の所定の変換のセットがさらに入力されるように選択可能なセット98の決定を行い得る。
【0198】
さらに加えてまたは代替として、符号器10および復号器20は、残差ブロック84の量子化パラメータが1つまたは複数の所定の量子化パラメータのセットに含まれるかどうかを確認するように構成されてもよい。答えが‘はい’の場合、符号器10および復号器20は、選択可能な変換のセット98に、1つまたは複数の所定の量子化パラメータのセットと関連付けられた1つまたは複数の所定の変換のセットがさらに入力されるように選択可能なセット98の決定を行い得る。
【0199】
さらに加えてまたは代替として、符号器10および復号器20は、現在のブロックの量子化パラメータが1つまたは複数の所定の量子化パラメータのセットに含まれるかどうかを確認するように構成されてもよい。答えが‘はい’の場合、符号器10および復号器20は、選択可能な変換のセット98に、1つまたは複数の所定の量子化パラメータのセットと関連付けられた1つまたは複数の所定の変換のセットがさらに入力されるように選択可能なセット98の決定を行い得る。
【0200】
<次元削減を伴う変換による候補の追加/置換>
変換ブロックサイズおよび量子化パラメータ(QP)によっては、予測残差の次元を明示的に削減する変換候補を含むことが有益であり、よって、係数の効率的な符号化および複雑さが低減された実施態様を可能にし得る。次元ごとに、これらの変換のみが、残差信号の特定のサブクラスについて誤りのない表現をもたらす。他方、これは、係数をゼロに量子化することに似ており、非有意な係数位置の効率的な符号化を可能にし得る。
【0201】
以下の規則のうちの1つが適用され得る。
【0202】
候補リストが少なくとも1つの一次+二次変換を含み、現在のQPが閾値Tqpより大きい場合、一次+二次変換は次元削減特性を伴う対応する変換で置き換えられる。
【0203】
これらの変換は、二次変換によってさらに変換される係数のサブグループに属さないそれらの係数を強制的にゼロにすることによってリスト内の対応する元の候補から構築される。
【0204】
候補リストが少なくとも1つの一次+二次変換を含み、現在のQPが閾値Tqpより大きい場合、一次+二次変換ごとに、次元削減を伴う変換がリストに追加される。これらの変換は、二次変換によってさらに変換される係数のサブグループに属さないそれらの係数を強制的にゼロにすることによってリスト内の元の候補から構築される。
【0205】
候補リストが少なくとも1つの一次+二次変換を含み、近隣の変換ブロックの有意な係数の総和が閾値Tより小さい場合、一次+二次変換は次元削減特性を伴う対応する変換で置き換えられる。これらの変換は、二次変換によってさらに変換される係数のサブグループに属さないそれらの係数を強制的にゼロにすることによってリスト内の対応する元の候補から構築される。
【0206】
候補リストが少なくとも1つの一次+二次変換を含み、近隣の変換ブロックの有意な係数の総和が閾値Tより小さい場合、一次+二次変換ごとに、次元削減を伴う変換がリストに追加される。これらの変換は、二次変換によってさらに変換される係数のサブグループに属さないそれらの係数を強制的にゼロにすることによってリスト内の元の候補から構築される。
【0207】
一例によれば、符号器10は、ブロックベースの予測およびブロックベースの残差符号化を使用して画像12をデータストリーム14に符号化し、符号器がブロックベースの残差符号化のための変換セット94をサポートする、ように構成され得る。符号器10は、量子化パラメータが、特定の閾値より細かい量子化に対応する場合、現在の残差ブロックのための選択可能な変換のリスト98に、現在の残差ブロック内の予測残差100上に適用される一次変換108と、一次変換の一次変換係数114のサブグループ112上に適用される二次変換110とを含む少なくとも1つの多段変換106が入力されるように現在のブロックの量子化パラメータに依存する方法で、変換セットの中から現在の残差ブロック84のための選択可能な変換のリスト98を決定するように構成され得る。量子化パラメータが特定の閾値より粗い量子化に対応する場合には、現在の残差ブロックのための選択可能な変換のリストに、少なくとも1つの多段変換106に加えて、またはその代わりに、サブグループ112を超える一次変換係数114がゼロ化される少なくとも1つの多段変換の修正が入力される。どちらの場合にも、符号器10は、選択可能な変換のリスト98の中からの1つの選択された変換102を使用して残差ブロック84内の予測残差100を符号化し、データストリーム14において選択された変換をシグナリングするように構成され得る。
【0208】
さらに、対応する復号器20が、ブロックベースの予測およびブロックベースの残差復号を使用してデータストリーム14から画像12を復号するために提供され、復号器はブロックベースの残差復号のための変換セット94をサポートし得る。復号器20は、量子化パラメータが、特定の閾値より細かい量子化に対応する場合、現在の残差ブロックのための選択可能な変換のリスト98に、現在の残差ブロック内の予測残差100上に適用される一次変換108と、一次変換の一次変換係数114のサブグループ112上に適用される二次変換110とを含む少なくとも1つの多段変換106が入力されるように現在のブロックの量子化パラメータに依存する方法で、変換セットの中から現在の残差ブロック84のための選択可能な変換のリスト98を決定するように構成され得る。量子化パラメータが特定の閾値より粗い量子化に対応する場合、現在の残差ブロックのための選択可能な変換のリストに、少なくとも1つの多段変換106に加えて、またはその代わりに、サブグループ112を超える一次変換係数114がゼロ化される少なくとも1つの多段変換の修正が入力される。どちらの場合にも、復号器20は、選択可能な変換のリスト98の中からの1つの選択された変換102の定義域で、データストリーム14から選択された変換を導出することにより、残差ブロック84内の予測残差100を復号するように構成され得る。
【0209】
<4.2 変換候補リストの削減>
残差係数の復号プロセスの間に、新しく取得された情報がリスト内の特定の変換の制約条件を満たさない場合に、続いて変換候補リストを削減することができる。これは、選択された候補の符号化コストの削減に役立ち、また、残りの変換候補の特定の特性に関する後続のシンタックス要素の条件付けも可能にし、よって符号化効率を高める。選択された変換に関する情報を予め明示的に符号化することによって候補リストの削減の影響を受けるシンタックス要素の数を増やすことは有益であり得る。
【0210】
図14を参照すると、ブロックベースの予測およびブロックベースの残差符号化を使用して画像12をデータストリーム14に符号化する/データストリーム14から画像12を復号するための符号器10および復号器20が提供され得る。符号器10および復号器20は、上述したのと同様の方法でブロックベースの残差符号化のための変換セット94をサポートし得る。しかしながら、この例によれば、符号器10および復号器20は、変換セット94の中から現在の残差ブロックのための選択可能な変換のリスト98を決定する130ように構成され得る。符号器10は、選択可能な変換のリスト98の中からの1つの選択された変換102を使用して、残差ブロック84内の予測残差100を表す変換係数データ126をデータストリーム14に符号化するように構成され得る。符号器10は、データストリーム14において選択された変換102をシグナリング128し、かつ/または変換係数データ126もしくは変換係数データ126の一部分に依存する方法で選択可能なリスト98の決定130を行うようにさらに構成され得る。さらに、復号器20は、選択可能な変換のリスト98の中からの1つの選択された変換102を使用して、データストリーム14から残差ブロック84内の予測残差100を表す変換係数データ126を復号するように構成され得る。復号器20は、データストリーム14から選択された変換02)を導出し128、かつ/または変換係数データ126もしくはデータ変換係数データ126の一部分に依存する方法で選択可能なリスト98の決定130を行うようにさらに構成され得る。
【0211】
例えば、符号器10および復号器20は、選択可能なリスト98に、変換セット94の中からの、変換係数データ126、または変換係数データの一部分に依存する数の変換を入力することによって選択可能な変換のリスト98を決定し130、選択された変換102のシグナリングのためにデータストリーム14において費やされる符号化率が低いほど、その数も低くなるような方法でデータストリーム14において選択された変換102のシグナリング128を行うように構成され得る。
【0212】
加えてまたは代替として、符号器10および復号器20は、変換係数データ126、または変換係数データ126の一部分に依存して選択可能な変換のリスト98を順序付けすることによって選択可能な変換のリスト98を決定し130、その符号語が、選択可能な変換のリスト98内の変換の順序に応じて選択可能な変換のリスト98の変換に割り当てられる可変長符号を使用してデータストリーム14における選択された変換102のシグナリング128を行うように構成されてもよい。
【0213】
図15に、ブロックベースの予測およびブロックベースの残差符号化を使用して画像12をデータストリーム14に符号化する/データストリーム14から画像12を復号するための符号器10および復号器20であって、両方がブロックベースの残差符号化のための変換セットをサポートする符号器10および復号器20の別の例を示す。この例の符号器10および復号器20は、変換セットの中から現在の残差ブロックのための選択可能な変換のリスト98を決定する130ように構成され得る。符号器10は、データストリーム14において選択された変換をシグナリングし128、選択可能な変換のリストの中からの1つの選択された変換を使用して、選択された変換102または選択可能な変換のリスト98に依存する方法で、残差ブロック内の予測残差を表す変換係数を符号化する140ように構成され得る。さらに、復号器20は、データストリーム14から選択された変換を導出し128、選択可能な変換のリストの中からの1つの選択された変換を使用して、選択された変換102または選択可能な変換のリスト98に依存する方法で、データストリーム14から、残差ブロック内の予測残差を表す変換係数を復号する140ようにさらに構成され得る。
【0214】
例えば、図14に、変換係数134のその値が所定のスキャン順序136でトラバース(横切る)され得る、選択された変換の変換係数134の複数の値を有するブロック114を示す。この例では最後の有意な変換係数位置であり得る、1つの例示的な有意な(すなわち、非ゼロ値の)変換係数位置132が、図13において‘x’で記されている。
【0215】
変換候補リストに対する可能な制約条件は、変換候補の追加のシグナリングコストを補償するために少なくとも特定の数の有意な(すなわち非ゼロ値の)係数134が必要であること、を含み得る。有意な係数134の正確な数が取得された後で候補リストを削減することによってこの制約条件を満たすことができるが、最後の有意な係数132の位置によって指示される変換候補を除去することも可能である。最後の位置は通常は予め符号化されるので、これにより、おそらくはリスト削減の影響を受けるシンタックス要素の数が増える。
【0216】
一例によれば(図13および図14参照)、符号器10および復号器20は、変換係数データ126が、選択された変換102の有意な変換係数位置132の指示と、選択された変換の係数位置を順次にトラバースする所定のスキャン順序136によって有意な変換係数位置132から前方にトラバースされる選択された変換の変換係数134の値とを含み、選択可能なリスト98の決定130が指示に依存し、すなわち、指示が変換係数データ126の「部分」である、ように構成され得る。
【0217】
別の例によれば、符号器10および復号器20は、選択された変換102の有意な変換係数134の数をカウントし、選択可能なリスト98の決定130がこのカウントに依存する、ように構成され得る。
【0218】
それらの一次変換係数の特定のサブセットにさらなる変換段を適用するだけの多段変換候補のために、そのサブセットに基づいて制約条件を定義することができる。これは、このサブセットに少なくとも特定の数の有意な位置が含まれなければならないことを含む。この制約条件は、おそらくは有意な位置の最大数によってすでに違反されている可能性もあり、おそらくは有意な位置の最大数は、最後の有意な位置を復号した後、または有意な位置の正確な数が知られ次第知られる。制約条件が違反され次第、対応する変換候補はリストから除去され、後続の復号プロセスは、削減された変換候補セットから利益を得ることができる。
【0219】
したがって、符号器10および復号器20は、選択された変換102の変換係数134のサブグループ138(図13)内の選択された変換102の有意な変換係数134の数が特定の閾値を超えるか否かに関して変換係数データ126を評価するように構成されてもよく、選択可能なリスト98の決定130を行うことは、以下のようにカウントに、すなわち有意な変換係数134の数に依存し得る。
1)その数が特定の閾値より大きい場合には、選択された変換102の変換係数のサブグループ138を結果として得るために、現在の残差ブロック84のための選択可能な変換のリスト98に、現在の残差ブロックの予測残差100上に適用される一次変換と、一次変換106の一次変換係数114のサブグループ112上に適用される二次変換とを含む少なくとも1つの多段変換106が入力される。
2)その数が特定の閾値より小さい場合には、現在の残差ブロックのための選択可能な変換のリストには、現在の残差ブロックの予測残差100上に適用される一次変換と、一次変換の一次変換係数のサブグループ上に適用される二次変換とを含むいかなる多段変換106も入力されない。
【0220】
さらに、クロマ候補リストの削減は、ルマ成分の実際の変換決定に依存することができる。異なる候補リスト(例えばルマとクロマ)が1つの変換インデックスを共有することもでき、そのような場合、第2のリストは、第1のリストのためにすでに復号された変換インデックスによって与えられる選択された変換まで削減される。
【0221】
<例示的な実施形態>
以下では、上記の一般的な説明を具体化するためにいくつかの例示的な実施形態を示す。
【0222】
有意な係数の数が閾値T0未満(例えば3)である場合、変換候補のリストはその最初の2つのエントリまで削減される。
【0223】
有意な係数の数が閾値T1未満(例えば3)である場合、変換候補のリストはその最初のエントリまで削減される。
【0224】
ルマとクロマとが同じ符号化構造を共有し、ルマ成分およびクロマ成分を含む、(CU内のすべてのTuの)有意な係数の合計数が閾値T0未満である場合、そのCU内のすべてのTUの候補リストはその最初のエントリまで削減される。
【0225】
ルマ成分およびクロマ成分を含む、(CU内のすべてのTUの)有意な係数の合計数が閾値T0未満である場合、そのCU内のすべてのTUの候補リストはその最初の2つのエントリまで削減される。そうではなく、単一のTUの有意なルマ係数の合計数が閾値T1未満である場合、候補リストはその最初の5つのエントリまで削減される。
【0226】
有意な係数の数と、閾値を保持すべき候補の数にマップするテーブルとが与えられた場合、候補リストはその最初のエントリまで適切に削減される。
有意な係数の数と、閾値および予測モードを保持すべき候補の数にマップするテーブルが与えられた場合、候補リストはその最初のエントリまで適切に削減される。
【0227】
有意な係数の数と、閾値およびQPを保持すべき候補の数にマップするテーブルとが与えられた場合、候補リストはその最初のエントリまで適切に削減される。
【0228】
ルマとクロマが同じ符号化構造を共有し、ルマ成分に残差信号が符号化されない場合、整合されたクロマ成分の候補リストはその最初のエントリまで削減される。
【0229】
ルマとクロマとが同じ符号化構造を共有し、変換単位のルマ成分およびクロマ成分を含む有意な係数の合計が閾値T3(例えば3)未満である場合、そのCU内のすべてのTUの候補リストはその最初の候補まで削減される。
【0230】
ルマとクロマが同じ符号化構造を共有し、ルマ変換がすでに復号されている場合、クロマ変換候補は、それらがルマ変換と同じクラスのものである場合にのみ保持される。
【0231】
ルマとクロマが同じ符号化構造を共有し、ルマ変換がすでに復号されている場合、クロマ変換候補は、それらがルマ変換と同じクラスのものである場合、またはそれらがリスト内の最初にある場合にのみ保持される。
【0232】
変換ブロックの有意な係数の位置が与えられた場合、多段変換候補ごとに、二次変換への入力が少なくともK個の有意な係数を含むかどうかが確認される。K個の有意な係数を含まない場合、変換は候補リストから除去される。
【0233】
最後の有意な位置の位置が与えられた場合、何個の係数がおそらくは有意であるかがカウントされる。閾値を保持すべき候補の数にマップするテーブルが与えられた場合、候補リストはその最初のエントリまで適切に削減される。
【0234】
変換ブロックの最後の有意な位置の位置とスキャン順序とが与えられた場合、多段変換候補ごとに、二次変換への入力が有意である可能性のある少なくともK個の位置を含むかどうかが確認される。K個の有意な係数を含まない場合、変換は候補リストから除去される。
【0235】
変換ブロックの最後の有意な位置の位置とスキャン順序とが与えられた場合、二次変換ごとに、おそらくは有意な入力係数の数がカウントされる。
【0236】
最大値を有する変換が保持され、他のすべての二次変換が除去される。
【0237】
すべての実施形態は、予測モードおよびQPを条件とすることができる。
【0238】
<4.3 シグナリング>
上述したように、変換ブロック係数に関するすでに復号された情報を利用することによって変換候補リストを削減することにより、実際の選択された変換をシグナリングするために必要なコストが削減される。他方、この依存関係を、係数復号プロセスの条件を選択された変換の特性とすることによって活用することもできる。どちらの手法も、シンタックス要素の特定の符号化順序を必要とし、インターリーブ方式で一緒に適用することができる。特殊な事例として、候補のリストへの変換インデックスを、変換ブロックの符号化プロセスの最初に、またはすべての係数が既知である最後に、完全にシグナリングすることができる。後者の場合には、すべての係数に関する情報を使用して候補リストを削減することができ、前者の場合には、候補の事前の削減は不可能であるが、各係数の復号は使用される変換に関する完全な知識から利益を得ることができる。
【0239】
候補リストを削減することにより選択された候補の実際のシグナリングコストも削減されることは明らかであるが、選択された変換の係数の条件付き符号化は、さほど単純ではなく、妥当な複雑さを伴う利益を取ることができるかどうかは、実際の選択された変換、候補リストおよび残差信号自体に依存する。
【0240】
選択された候補が次元削減を伴う変換である場合、係数のサブグループ全体についての有意性情報をシグナリングする必要はまったくない。これにより、より小さい残りの位置のセット(設定値)の最後の位置の効率的なシグナリングも可能になり、おそらくは最後の有意な位置を変換によって与えられる最後の位置に設定することによりこれを完全に省くことさえもできる。そのような場合には、有意性フラグが変換によって定義されるようにおそらくは有意な位置ごとに符号化されてもよいが、ここでは位置のグループ全体の有意性グループフラグをまずシグナリングするという概念も適用可能である。この依存関係を利用するために、まず、係数を符号化する前に次元削減を伴う変換が候補の中にあるかどうかを確認し、候補の中にある場合、必要な場合には、それらの候補のうちのどれが選択されるかをシグナリングすることが有益であり得る。
【0241】
一例として、図13および図15を再度参照すると、選択可能な変換のリストは、異なる数の変換係数134の変換を含み得る。符号器10および復号器20は、前記異なる数の変換係数134を符号化/復号するように構成されてもよく、変換係数134を符号化/復号するステップは、選択された変換102の有意な変換係数位置132の指示(例えば有意性フラグ)と、選択された変換の係数位置を順次にトラバース(横切る)する所定のスキャン順序136によって有意な変換係数位置から前方にトラバースされる選択された変換の変換係数134の値とを符号化するステップを含む。この例の符号器10および復号器20は、変換係数134を、指示を符号化するためにデータストリーム14において費やされる符号化率が低いほど、選択された変換の変換係数134の数も低くなるような方法で符号化/復号するように構成され得る。
【0242】
別の例として、符号器10および復号器20は、変換係数134を、次元削減ありまたはなしの変換が使用され得るかどうか、すなわち、選択可能な変換のリストが、第1の数の変換係数134の変換(例えば、次元削減を伴う変換)および第1の数より大きい第2の数の変換係数134の変換を含むかどうかに依存して、選択的に符号化/復号するように構成され得る。
【0243】
選択された変換の変換係数134の数が第2の数である場合には、符号器10および復号器20は、選択された変換の有意な変換係数位置132の指示と、選択された変換の係数位置を順次にトラバースする所定のスキャン順序136によって有意な変換係数位置132から前方にトラバースされる選択された変換の変換係数134の値とを符号化/復号するように構成され得る。
【0244】
選択された変換の変換係数134の数が第1の数である場合には、符号器10および復号器20は、選択された変換の第1の数の変換係数134すべての値を符号化/復号するように構成され得る。
【0245】
選択された変換の知識を係数の符号化により効率的に使用できる別の例が、複数の変換候補が一次+二次変換によって定義されるが、二次変換が適用される位置のサブグループは異なる場合である。そのような場合には、まず、選択された変換を、または少なくとも使用済みの分割を符号化することが有益となり得る。この知識があれば、一次変換のみを受ける位置の係数と、二次変換によって変換される位置の係数とを符号化するために専用のコンテキストモデルのセットを使用することができる。
【0246】
またこの知識を、以下のように最後の有意な位置を符号化するために使用することもできる。
【0247】
まず、最後の有意な位置が、二次変換に入力される位置内にあるかどうかを指示するフラグが復号され、次いで、正確な位置が、変換によって定義される最後のおそらくは有意な位置までの、または特定のサブグループの最初の係数の位置までの差分として符号化される。
【0248】
より一般的には、やはり図13および図15を参照すると、選択可能な変換のリスト134は、現在の残差ブロック上に適用される一次変換と、一次変換係数134の一次変換係数134のサブグループ138上に適用される二次変換とを各々含む少なくとも1つの多段変換を含んでいてもよく、サブグループ138は少なくとも1つの多段変換の多段変換によって異なる。
【0249】
第1の代替例によれば、符号器10および復号器20は、変換係数134を、選択された変換の有意な変換係数位置132の指示と、選択された変換の係数位置を順次にトラバースする所定のスキャン順序136によって有意な変換係数位置132から前方にトラバースされる選択された変換の変換係数134の値とを符号化/復号することによって符号化/復号するように構成され得る。前記指示は、選択された変換が多段変換であるか否かに依存し得る。選択された変換が多段変換である場合、指示は、有意な変換係数位置132が変換係数134のサブグループ138内にあるかどうかのフラグを含み、変換係数位置132が変換係数134のサブグループ138内にある場合、指示は、所定のスキャン順序136で選択された変換のすべての変換係数134の中で最後にトラバースされた位置に対する、変換係数位置132が変換係数134のサブグループ138内にない場合、所定のスキャン順序136でサブグループ138内にないすべての変換係数134の中で最後にトラバースされた位置に対する有意な変換係数位置132を指示し、所定のスキャン順序136は、サブグループ138内にないすべての変換係数134をトラバースした後にサブグループ138内のすべての変換係数134をトラバースする。
【0250】
第2の代替例によれば、符号器10および復号器20は、変換係数134を、選択された変換が多段タイプのものである場合、変換係数134が選択された変換の変換係数134のサブグループ138内にあるかどうかに依存する確率推定を使用するエントロピー符号化を使用して、選択された変換の変換係数134の値を符号化することによって符号化/復号するように構成され得る。
【0251】
第3の代替例によれば、符号器10および復号器20は、変換係数134を、選択された変換が多段タイプのものである場合、変換係数134が選択された変換の変換係数134のサブグループ138内にあるかどうかに依存する方法で1つまたは複数の近隣の変換係数134に依存する確率推定を使用するエントロピー符号化を使用して、選択された変換の変換係数134の値を符号化することによって符号化/復号するように構成され得る。
【0252】
変換候補リストへのインデックスが、候補のシグナリングコストがリスト内のそれらの位置に依存し、位置ごとにコストが増加するように符号化されるものとする。これは、変換インデックスを切り捨てられた単進符号を用いて変換インデックスを符号化することによって行うことができる。
【0253】
加えて、変換候補リストは、候補がそれらの特殊化によってソートされる方法で構築される。例えば、第1の変換は最も普遍的な分離可能な変換[DCT-II,DCT-II]であり、その後に[DST-VII,DST-VII]が、次いで現在の残差ブロックの特定のイントラモードのために特に訓練された変換が続く。このリストは追加の変換によって一杯に埋められ、各変換はそのイントラモードと共に生じ得る残差信号の特定の特性のために特殊化されている。この特殊化を、ガウス混合モデルのデータ例への適合などのクラスタ化方法を含めることによって訓練し、取得されたクラスタごとに別個の変換を訓練することができる。ソートされた候補リストのこの仮定の下で、選択された変換を知ることにより、実際の残差信号の特性の洞察、よって、予期される係数分布が与えられる。特に、小さい変換インデックスでは、より高い変換インデックスの符号化コストをより特殊化された変換を使用して利得を符号化することによって正当化することができないので、低信号エネルギーが予期される。
【0254】
これを、変換インデックス自体に依存して係数を符号化するためのコンテキストモデルを導出することによって活用することができる。係数レベルを符号化するためにゴローム・ライス符号を使用する場合、実際のライスパラメータを選択された変換インデックスから導出することもできる。
【0255】
一例によれば、符号器10は、インデックスを使用して選択された変換をシグナリングし、二値化および二進エントロピー符号化を使用して選択された変換の変換係数134の値を符号化することによって変換係数134を符号化し、二進エントロピー符号化で使用される確率推定がインデックスに依存し、かつ/または二値化がインデックスに依存する、ように構成され得る。
【0256】
復号器20は、インデックスを使用して選択された変換を導出し、二値化および二進エントロピー復号を使用して選択された変換の変換係数134の値を復号することによって変換係数134を復号し、二進エントロピー符号化で使用される確率推定がインデックスに依存し、かつ/または二値化がインデックスに依存する、ように構成され得る。
【0257】
インデックスは、可変長符号化(VLC)インデックスであり得る。
【0258】
係数符号化のために選択された変換からの情報を活用するさらに複雑な例は、その分散の相関によってモデル化することができる変換係数の残りの依存関係があると仮定する。2つの係数を取り、それらの平均値がゼロであると仮定して、分散の相関は、単に、係数の一方が大きいことを知っているものとし、他方の確率モデルは高い分散を有するように選択され、よって、第2の係数が有意である確率も増加する。変換が与えられた場合に復号器において特定の相関モデルが想定されるように、変換を訓練するプロセスにこの仮定の分散相関モデルを含めることができる。実際の相関モデルも、多段変換の実際の係数位置またはサブグループに依存することができる。1つの特定のモデルは、どの係数が分散相関を有すると想定されるか、およびこの相関がどの程度強いかを定義する。これを使用して、すでに復号された係数上の特定の係数位置のためにコンテキストモデル選択を適合させることができる。より正確には、特定の位置の係数を復号するときに、選択された変換によってその位置のためにどの相関モデルが定義されているかが確認される。すでに復号された係数がそのモデルによって与えられたエネルギー相関位置の中にある場合、それらの係数のレベルが、やはりモデルによって定義された、所与の閾値と比較され、有意性フラグおよび現在の係数のレベルを復号するために特定のコンテキストモデルのセット(設定値)が導出される。
【0259】
上記の相関は、近隣の変換係数から導出され得る。一例として、符号器10および復号器20は、エントロピー符号化を使用して選択された変換の変換係数134の値を符号化することによって変換係数134を符号化/復号し、エントロピー符号化が、選択された変換に依存する方法で1つまたは複数の近隣の変換係数134に依存する、ように構成され得る。
【0260】
別の例として、符号器10および復号器20は、変換係数134を、選択された変換における変換係数の位置に依存する方法で1つまたは近隣の変換係数134のローカルテンプレートを選択し、さらに、1つまたは近隣の変換係数134の可能な値の定義域の変換係数134のための1つまたは複数のコンテキストのセットへのマッピングを使用して、変換係数134のための選択されたコンテキストを決定し、変換係数134の値をエントロピー符号化するための選択されたコンテキストと関連付けられた確率推定を使用することによって、エントロピー符号化を使用して選択された変換の変換係数134の値を符号化/復号することによって符号化/復号し、ローカルテンプレートの選択とマッピングの少なくとも一方が選択された変換に依存する、ように構成され得る。
【0261】
1つの具体例として、一次+二次変換が使用されること、およびどの位置が二次変換を受けるかが復号器において既知であるものとする。また、一方は一次のみの変換係数のためのものであり、一方は残りの係数位置のためのものである2つの異なる分散相関モデルを仮定する。両方のモデルに、4つのコンテキストモデルのセットおよび3つの閾値が与えられる。係数を復号するとき、まず、両方のコンテキストモデルグループのどちらが現在の位置に該当するかが確認される。次いで、最後の4つのすでに復号された係数レベルの平均値が取られ、閾値と比較される。結果は、現在の係数を復号するために使用されるコンテキストモデルのセットを一意に定義する。
【0262】
提供した例によって示されるように、選択された変換に関する異なる情報は、係数の復号プロセスの特定に部分に有益となり得る。これは、候補の中の選択された変換を識別するのに必要な情報を特定の変換特性に分割し、それらを係数符号化と別々にインターリーブしてシグナリングする動機付けとなる。その際に、変換に関するすでに復号された情報を使用して、係数に関する情報を復号することができる一方で、係数に関する新しく取得された情報を使用して変換候補リストを削減することができ、ゆえに、選択された候補を識別するためにシグナリングされる情報がより少なくて済む。
【0263】
またどの変換特性がどの順序で符号化されるべきかも、リスト内の利用可能な候補および残差信号に関するすでに取得された情報に依存し、適応的に選択することができる。例えば、候補の中に次元削減を伴う変換がある場合にのみ、変換インデックスが事前に符号化される。また、最後の位置の少なくとも1つの座標が復号され次第、選択された変換のさらなる復号をその座標を条件とすることもできる。すでに、1つの座標の知識が残差信号において予期されるべき最大エネルギーに関する何らかの証拠を与え、例えば、おそらくは有意な位置の最大数をカウントすることによって与えられる。この予期される値が閾値を上回る場合にのみ、変換インデックスが次に復号され、選択された変換の構造を第2の座標の復号の条件とすることができる。
【0264】
この例によれば、符号器10および復号器20は、データストリーム14における選択された変換のシグナリングを、変換係数データに対する選択された変換のシグナリングの相対的配置、および/またはシグナリングのシンタックス要素への分解が、選択可能な変換のリストに依存するような方法で行うように構成され得る。
【0265】
そうでない場合、有意な位置の実際の数が知られ、最小係数の制約に違反し次第、変換の復号は延期されるか、またはスキップされ得る。
【0266】
どちらの場合にも、変換インデックスが最初にシグナリングされるか、インターリーブされるか、それとも変換ブロックの最後かにかかわらず、選択された変換に関する情報をその特性に分割しそれらを別々にシグナリングすることが、これらの特性の依存関係が近隣の変換ブロックの間に存在する場合には有益となり得る。その場合、変換特性ごとに専用のコンテキストモデルのセットを使用することによってこの依存関係を活用することができる。その際に、選択されたコンテキストモデルはやはり、すでに復号された近隣の残差ブロックの選択された変換に依存し得る。
【0267】
この態様によれば、図13および図14を参照すると、ブロックベースの予測およびブロックベースの残差符号化を使用して画像12をデータストリーム14に符号化する/データストリーム14から画像12を復号するための符号器10および復号器20であって、ブロックベースの残差符号化のための変換セット94をサポートする符号器10および復号器20が提供される。符号器10および復号器20は、変換セット94の中から現在の残差ブロック84のための選択可能な変換のリスト98を決定し122、選択可能な変換のリストの中からの1つの選択された変換を使用して残差ブロック内の予測残差を符号化/復号するように構成され得る。符号器10は、変換インジケータ124を使用してデータストリーム14において選択された変換をシグナリング128するように構成され、復号器20は、前記変換インジケータ124を使用してデータストリーム14から選択された変換を導出するように構成され得る。前記変換インジケータ124は、1桁または複数桁の符号を使用してデータストリーム14においてシグナリングされてもよく、1桁または複数桁のセットの各々がそれぞれの変換特性と一意に関連付けられる。符号は、2進演算符号化を受ける変換インジケータ124のbinまたは変換インジケータ124が構成される、データストリーム14からパースされ得るシンタックス要素を含み得る。
【0268】
一般に、近隣のブロックのすでに選択された変換候補のインデックスのみを知っていても現在のブロックの選択された変換に関するさほどの洞察は得られない。1つの例外は、候補が、高インデックスが高い特殊化または多回残留エネルギーを指示するように順序付けされることである。また、実際の選択された近隣の変換がそれらの予測モードに高度に特殊化されている場合にも、現在の候補への比較は、それらが同じモードを共有する場合にのみ有意である。他方、例えば、近隣において主にDCT/DSTファミリからの変換が選択されていることを知っていれば、この情報を活用して、まず現在の変換が同じファミリからのものであるかどうかをシグナリングし、候補リストを適切に削減することができる。
【0269】
一例によれば、各変換特性は、選択された変換が多段変換であるかどうか、または選択された変換が変換係数の所定の数より少ない変換係数を有する変換であるかどうかの一方であり得る。
【0270】
選択された候補の符号化を分割し、変換特性をシグナリングすることによって段階的に候補リストを明示的に削減することの別の利点は、リスト内の異なる候補の中の依存関係の活用の単純化の可能性である。例えば、変換インデックスの二値化およびコンテキストモデル逸脱は、以下のようにリスト内の変換候補に依存することができる。候補のうちの1つ(好ましくは最初のもの)が最高の確率と関連付けられているものとすると、この変換が使用されるかどうかを指示するフラグがまず符号化され、そうでない場合、この変換はリストから除去される。残りの変換候補が異なる変換クラスのものである場合、その変換クラスをまず復号することができる。これにより、残りの変換インデックスのシグナリングのための変換クラスが依存するコンテキストモデル逸脱が可能になる。
【0271】
リスト内の(残りの)候補がそれらの予期される確率に関して順序付けされており、最も確度の高い候補がリストの最初に来るものとする。その場合、コンテキストモデル化された切り捨てられた単進符号を使用して変換インデックスを二値化することができる。
【0272】
一例によれば、符号器10および復号器20は、近隣の残差ブロックの変換インジケータ124に依存する確率推定を使用するエントロピー符号化を使用して少なくとも1桁のセットのうちの少なくとも1つを符号化/復号するように構成され得る。
【0273】
<4.3.1 例示的な実施形態>
以下では、1つまたは複数の例示的な実施形態による上記の一般化された説明を具体化するためにいくつかの具体的な、ただし非限定的な例を示す。
【0274】
<符号化順序>
残差信号がブロックのために符号化されることが知られている場合、これは、符号化ブロックフラグ(CBF)が復号されており、1に等しい場合に該当し、候補リストへのインデックスがまず復号され、続いて実際の変換係数の復号が行われ得る。
【0275】
残差信号がブロックのために符号化されることが知られている場合、これは、符号化ブロックフラグ(CBF)が復号されており、1に等しい場合に該当し、そのブロックのすべての係数がまず復号され得る。候補リストに複数の変換がある場合、復号された係数に違反するすべての候補が除去された後、候補リストへのインデックスが符号化され得る。
【0276】
残差信号がブロックのために符号化されることが知られている場合、これは、符号化ブロックフラグ(CBF)が復号されており、1に等しく、候補リストが異なる一次変換クラス(非分離可能な変換およびDCT/DSTファミリからの変換など)を含む場合に該当し、一次変換がまず復号され、候補リストが適切に削減され得る。そのブロックのすべての変換係数の復号は後で行われ得る。候補リストに複数の変換がある場合、復号された係数に違反するすべての候補が除去された後、候補リストへのインデックスが復号され得る。
【0277】
残差信号がブロックのために符号化されることが知られている場合、これは、符号化ブロックフラグ(CBF)が復号されており、1に等しく、候補リストが一次のみの変換および一次+二次変換を含む場合に該当し、二次変換が適用されるかどうかがまずシグナリングされ得る。そのブロックのすべての変換係数の復号は後で行われ得る。候補リストに複数の変換がある場合、復号された係数に違反するすべての候補が除去された後、候補リストへのインデックスが復号され得る。
【0278】
残差信号がブロックのために符号化されることが知られている場合、これは、符号化ブロックフラグ(CBF)が復号されており、1に等しく、候補リストが次元削減を伴う少なくとも1つの変換を含む場合に該当し、次元削減を伴う変換が使用されるかどうかがまず復号され得る。これが該当し、複数の候補が、ゼロに設定される異なる位置を有する次元削減特性を有する場合、どの位置がゼロに設定されるかを一意に定義するために、次にインデックスがシグナリングされ得る。そのブロックのすべての変換係数の復号は後で行われ得る。候補リストに複数の変換がある場合、復号された係数に違反するすべての候補が除去された後、候補リストへのインデックスが復号され得る。
【0279】
残差信号がブロックのために符号化されることが知られている場合、これは、符号化ブロックフラグ(CBF)が復号されており、1に等しい場合に該当し、最後の有意な係数の位置がまず復号され得る。候補の中に次元削減を伴う変換がある場合、その変換は、それが最後の有意な位置と競合するならば、除去される。量子化パラメータ(QP)に応じて、最後の有意性位置によって与えられるおそらくはさらに変換される係数の数が閾値未満である、二次変換を有する変換も、除去されるか、またはさらに候補リストに戻される。複数の変換候補が残っている場合、リストへのインデックスが復号される。係数は後で復号される。
【0280】
残差信号がブロックのために符号化されることが知られている場合、これは、符号化ブロックフラグ(CBF)が復号されており、1に等しい場合に該当し、すべての有意な係数の位置がまず復号され得る。候補の中に次元削減を伴う変換がある場合、その変換は、それが有意な位置と競合するならば、除去され得る。量子化パラメータ(QP)に応じて、最後の有意性位置によって与えられるおそらくはさらに変換される係数の数が閾値未満である、二次変換を有する変換も、除去され得るか、またはさらに候補リストに戻され得る。複数の変換候補が残っている場合、リストへのインデックスが復号され得る。残りの係数レベルおよび符号は後で復号され得る。
【0281】
残差信号がブロックのために符号化されることが知られている場合、これは、符号化ブロックフラグ(CBF)が復号されており、1に等しく、各クラスが最後の有意な位置が異なる領域にあると予期するための証拠を与えるように、候補リストが異なるクラスの変換を含む場合に該当し、変換クラスがまず復号され、続いて最後の有意な位置が復号され得る。必要な場合には、変換インデックスが次にシグナリングされ、続いて係数がシグナリングされ得る。例えば、特に高いQPでは、二次変換を有する変換が、最後の位置が、二次変換によってさらに変換される係数の領域内にあると予期するための証拠を与える。
【0282】
<変換インデックスのシグナリング>
変換インデックスは切り捨てられた単進符号を使用して符号化されてもよく、各binは専用のコンテキストモデルを使用し得る。残りの変換候補の数に応じて異なるコンテキストモデルセットが使用され得る。
【0283】
変換インデックスは切り捨てられた単進符号を使用して符号化されてもよく、各binは専用のコンテキストモデルを使用し得る。binごとのコンテキストモデル選択は、近隣の残差ブロックの変換決定に依存し得る。残りの変換候補の数に応じて、切り捨てられた単進符号のbinごとにk個のコンテキストモデルからなるコンテキストモデルのセットが選択され得る。近隣のブロックの変換インデックスが総計されてもよく、その総和は、使用すべき実際のコンテキストモデルを定義するk-1個の閾値と比較され得る。
【0284】
変換インデックスは、最初の候補が選択されるかどうかを指示し得るフラグをまず符号化することによって符号化され得る。このフラグのためのコンテキストモデル選択は、近隣の残差ブロックの変換決定に依存し得る。残りの変換候補の数に応じて、k個のコンテキストモデルからなるコンテキストモデルのセットが選択され得る。近隣のブロックの変換インデックスが総計されてもよく、その総和は、使用すべき実際のコンテキストモデルを定義するk-1個の閾値と比較され得る。インデックスの残りの部分は固定長符号によって符号化され得る。
【0285】
変換インデックスは、最初の候補が選択されるかどうかを指示するフラグをまず符号化することによって符号化される。それ以外の残りの部分には固定長符号が使用され得る。フラグは、残差ブロックのサイズによって選択された専用のコンテキストモデルを使用して符号化され得る。
【0286】
ブロックへの分割が、変換ブロック(TU)にさらに分割することができる符号化単位(CU)への分割を含み、少なくとも1つの残差がその符号化ブロックフラグが1になるように符号化され得る場合、1つの追加フラグがCUレベルで符号化され得る。このフラグがゼロである場合、すべての残差ブロックはそれらのリスト内の最初の候補を取り得る。そうでない場合、各リストの最初の候補がリストの最後に置かれ、残差ブロックごとの変換インデックスが符号化され得る。
【0287】
変換候補の数は5であり得る。最初の候補が選択されるかどうかを指示するフラグがまず符号化され得る。そうでない場合、2番目または3番目の候補が選択されることを指示する第2のフラグが符号化され得る。最後の決定は第3のフラグによって符号化され得る。すべてのフラグが専用のコンテキストモデルを使用して符号化され得る。
【0288】
変換インデックスは、最初の候補が選択されるかどうかを指示するフラグをまず符号化することによって符号化され得る。残りの変換候補が異なる変換クラスに関連付けられる場合、切り捨てられた単進符号を使用して変換クラスが符号化され得る。ここでは、一次のみの変換が1つのクラスを形成し、一次+二次変換が第2のクラスを形成し得る。最後に、必要な場合には、切り捨てられた単進符号を使用して、変換クラスに依存する専用のコンテキストモデルセットを利用することによって残りのインデックスが符号化され得る。
【0289】
変換インデックスは、最初の候補が選択されるかどうかを指示するフラグをまず符号化することによって符号化される。残りの変換候補が異なる変換クラスに関連付けられる場合、切り捨てられた単進符号を使用して変換クラスが符号化され得る。ここでは、一次のみの変換が1つのクラスを形成し、一次+二次変換が第2のクラスを形成し得る。コンテキストモデルは、すでに復号された近隣の変換の変換クラスの発生をカウントすることによって選択され得る。第1のクラスがより多く発生した場合には第1のコンテキストモデルが使用され、第2のクラスがより多く発生した場合には第2のコンテキストモデルが使用され、各クラスの数が等しい場合には第3のコンテキストモデルが使用され得る。最後に、必要な場合には、切り捨てられた単進符号を使用して、すでに復号された変換クラスに依存する専用のコンテキストモデルセットを利用することによって残りのインデックスが符号化され得る。
【0290】
変換インデックスは、最初の候補が選択されるかどうかを指示するフラグをまず符号化することによって符号化される。残りの変換候補が異なる変換クラスに関連付けられる場合、切り捨てられた単進符号を使用して変換クラスが符号化され得る。ここでは、DCT/DSTファミリからの変換が第1のクラスを形成し、非分離可能な一次のみの変換が第2のクラスを形成し、一次+二次変換が第3のクラスを形成する。最後に、必要な場合には、切り捨てられた単進符号を使用して、変換クラスに依存する専用のコンテキストモデルセットを利用することによって残りのインデックスが符号化され得る。
【0291】
最後の有意な位置の1つの座標がすでに復号されており、その座標が少なくとも2である場合、変換インデックスが次に復号されてもよく、係数がすでに知られており、候補リストがすでに削減されているときには、そうではなく変換インデックスの復号は(必要な場合には)最後のステップまで延期され得る。最後の位置の第2の座標を復号するときに変換がすでに知られており、それが一次+二次変換である場合、切り捨てられた単進符号部分のためのコンテキストモデル選択は、二次変換の領域内に入る位置に関連付けられたbinがその他と異なるコンテキストモデルセットを使用し得るようなものであり得る。
【0292】
<係数符号化のためのコンテキストモデル逸脱>
図13図14図15参照)
候補のリストへの変換インデックスは残差信号の予期されるエネルギーに直接関連しており、よってこれが最後の有意な位置を符号化するためのコンテキストモデル選択に使用されるものとする。各変換インデックス値は、それ自体の専用のコンテキストモデルのセットを定義する。
【0293】
候補のリストへの変換インデックスは残差信号の予期されるエネルギーに直接関連しており、よってこれが最後の有意な位置を符号化するためのコンテキストモデル選択に使用されるものとする。変換インデックス0および変換インデックス1はそれ自体の専用のコンテキストモデルのセットを有し、残りのインデックスは1つのコンテキストモデルのセットを共有する。
【0294】
変換クラスがすでに知られている場合、係数符号化は、変換クラスごとの専用のコンテキストモデルセットを利用する。専用のコンテキストモデルセットを有する可能な変換クラスは、DCT/DSTファミリおよび非分離可能な変換からの変換である。
【0295】
係数位置の分割が変換によって定義され、その部分化がすでに知られている場合、係数符号化は、サブグループごとの専用のコンテキストモデルのセットを利用する。1つの可能な分割は、二次変換によってさらに変換される係数によって与えられる。別の分割は、後続の変換段の数によって与えられる。
【0296】
各定義された変換は、1つのコンテキストモデルのセットに関連付けられ、復号器によって知られる。
【0297】
変換がすでに一意に識別されている場合、係数復号に使用されるコンテキストモデルのセットを導出するために変換からコンテキストモデルセットへのマッピングが使用される。
【0298】
係数符号化がすでに復号された係数に基づくコンテキストモデル選択を含む場合には、その(すでに知られている)係数レベルが、それらの相対位置に応じて重み付けされ、累積される。実際の使用されるコンテキストモデルセットは、総和を事前定義の閾値と比較することによって選択される。重みおよび使用される閾値は、選択された変換によって与えられる。
【0299】
<特殊な符号化モード>
リスト内の最初の候補が使用されるかどうかがまず符号化されてもよく、そうでない場合、残りの変換候補のうちの少なくとも1つが次元削減を伴う変換であるかどうかが確認され得る。この場合には、選択された変換がそれらの変換のうちの1つであるかどうかが符号化され得る。これが該当し、すべての他の候補がリストから除去されている場合、残りの変換が、明示的にゼロに設定されるそれらの位置において異なるかどうかが確認され得る。必要な場合には、どの次元削減が選択されているかを一意に識別するインデックスがシグナリングされ得る。よって、たとえまだ複数の候補が残されているとしても、どの係数位置がおそらくは有意のままであるかが正確に知られる。必要な場合には、選択された変換のインデックスは、係数が復号された後で復号され得る。
【0300】
次元削減を伴う変換が使用され、明示的にゼロに設定される位置がすでに知られている場合、最後の有意な係数位置のシグナリングはスキップされ得る。係数のスキャン順序が与えられた場合、最後の位置は、おそらくは有意であり、スキャン順序の最後であるその位置に設定され得る。この場合には、有意性フラグが最後の位置についてもシグナリングされるべきである。
【0301】
次元削減を伴う変換が使用され、変換によって明示的にゼロに設定される位置がすでに知られている場合、すべての残りの係数グループの有意なフラグは1に設定されてもよく、よって、符号化される必要がない。
【0302】
次元削減を伴う変換が使用され、ゼロに設定される位置を知っている場合、残りの係数を復号するために専用のコンテキストモデルのセットが使用され得る。
【0303】
次元削減を伴う変換が使用され、ゼロに設定される位置を知っている場合、ブロックの最後の係数位置を復号するために専用のコンテキストモデルのセットが使用され得る。
【0304】
次元削減を伴う変換が使用される場合、係数レベルを符号化するためのライスパラメータの専用の逸脱が使用され得る。
【0305】
次元削減を伴う変換が使用される場合、近隣の係数に基づくコンテキスト選択のための専用のテンプレートが使用され得る。
【0306】
すべての実施形態は、予測モードおよびQPを条件とすることができる。
【0307】
<5.ゼロに設定される一次変換>
セクション4.1では、一般的な説明を示したが、以下では、1つまたは複数の一次のみの係数がゼロ化される、すなわち、ゼロに設定されるいくつかの例を示す(以下のセクション5.1参照)。特定の位置における1つまたは複数の係数がゼロ化される、すなわち、ゼロに設定されるさらなる例を示す(以下のセクション5.2参照)。ゼロ化される可能性のあり得る係数は、ゼロ化の‘候補’とも呼ばれ得る。
【0308】
一般に、図12を参照すると、本発明の本態様は、ブロックベースの予測およびブロックベースの残差符号化を使用して画像12をデータストリーム14に符号化する/データストリーム14から画像12を復号するための符号器10および復号器20であって、ブロックベースの残差符号化のための変換セット94をサポートする符号器10および復号器20を提供する。符号器10および復号器20は、現在の残差ブロック84の、高さと幅などのサイズ96に基づいて変換セット94の中から現在の残差ブロック84のための変換の変換候補リスト98を決定する122ように構成され得る。符号器10は、選択可能な変換のリスト98の中からの1つの選択された変換102を使用して残差ブロック84内の予測残差100を符号化し、データストリーム14において選択された変換102を選択的にシグナリングするように構成され得る。さらに、復号器20は、選択可能な変換のリスト98の中からの1つの選択された変換102の定義域で、データストリーム14から選択された変換102を選択的に導出することにより、残差ブロック84内の予測残差100を復号する。
【0309】
<5.1 一次のみの係数のゼロ化>
一次および二次変換を含む多段変換がある場合、一次のみの変換係数(すなわち、さらに変換されない係数)をゼロに設定する。
a.二次変換はフルサイズの変換である。
b.二次変換は次元削減を伴う変換である(可能な有意な係数の数がさらに低減される)。
【0310】
例えば、幅と高さが8以上の残差ブロックのための一次の(分離可能な)変換([DCT-II,DCT-II]など)を含む変換候補がある場合、この変換と入力サイズ(8×8)の二次変換との組み合わせも候補であり得る。二次変換を適用することは、二次変換によってさらに変換されないすべての係数が強制的にゼロにされることを示唆する。
【0311】
例えば、幅または高さのどちらか(ただし両方ではない)が4である残差ブロックのための一次の(分離可能な)変換([DCT-II,DCT-II]など)を含む変換候補がある場合、この変換と入力サイズ(4×4)の二次変換との組み合わせも候補であり得る。二次変換を適用することは、二次変換によってさらに変換されないすべての係数が強制的にゼロにされることを示唆する。
【0312】
例えば、幅と高さが8以上の残差ブロックのための一次の(分離可能な)変換([DCT-II,DCT-II]など)を含む変換候補がある場合、サイズ(4×4)の3つの左/上端の係数サブグループに適用される、この変換と入力次元48および出力次元16の二次変換との組み合わせも候補であり得る。二次変換を適用することは、二次変換によってさらに変換されないすべての係数がゼロに設定されることを示唆し、よってさらに、二次変換は16個の係数までの次元削減を伴う変換であり、最後の有意な係数位置は(3,3)である。
【0313】
<5.2 特定の位置における係数のゼロ化>
一次および二次変換を含む多段変換がある場合、位置X>Txまたは位置Y>Tyを有する係数をゼロに設定する(例えば、Tx=Ty=8)。
a.二次変換はフルサイズの変換である。
b.二次変換は次元削減を伴う変換である(可能な有意な係数の数がさらに低減される)
【0314】
図17に、一次変換が施されている、例えば、幅および高さが8を超えるサイズの残差ブロックの一例を示す。よって、複数の一次係数114を有するサブグループ112が存在し得る。この例では、サブグループ112は、4×4の一次係数114のサイズを含み得る。ここに示されているのは、サイズ4×4の3つの左/上端の係数サブグループである。したがって、それら3つのサブグループ112は併せて48個の一次係数114を含む。これらは、次元48×16の二次変換110を施されてもよく、すなわち、これらの係数は48から16に削減され、いくつかの一次係数はゼロ化の候補であり得る。
【0315】
例えば、幅と高さが8以上の残差ブロックのための一次の(分離可能な)変換([DCT-II,DCT-II]など)を含む変換候補がある場合、サイズ(4×4)の3つの左/上端の係数サブグループ112に適用される、この変換と次元(48×16)の二次変換との組み合わせも候補であり得る。二次変換を適用することは、最後の有意な係数位置を最大(7,7)にできることを示唆し、よって、残りの一次のみの係数(斜線)はゼロに設定される。
【0316】
例えば、幅と高さが8以上の残差ブロックのための一次の(分離可能な)変換([DCT-II,DCT-II]など)を含む変換候補がある場合、サイズ(4×4)の3つの左端/上端の係数サブグループに適用される、この変換と次元(48×16)の二次変換との組み合わせも候補であり得る。二次変換を適用することは、最後の有意な係数位置を最大(3,3)にできることを示唆し、よって、残りの一次のみの係数はゼロに設定される。
【0317】
<1+2のためのシグナリング>
a)選択された一次変換および係数をまずシグナリングする。係数が、二次変換を伴う変換候補によって与えられた制約条件を検証することになる位置において有意である(ゼロではない)場合、二次変換が使用されなかったことは明らかであり、よって、候補リストから除去することができ、追加のシグナリングは不要である)
b)対応する一次+二次変換が候補の中にある場合には、選択された一次変換をシグナリングし、二次変換が適用された場合にはシグナリングする。最大の許容される最後の位置を適切に設定し、最後の位置をシグナリングし、二次変換が適用された場合には潜在的に専用のコンテキストモデルのセットを使用することによって、続いて残りの係数情報をシグナリングする。
【0318】
最新技術と比較して新しい:
c)最後の位置の前に/最後の位置とインターリーブされる、二次変換フラグ/インデックスのシグナリング
d)最小の有意な位置の数の代わりに最後の位置による二次変換の制約。(明示的なlastPosX+lastPosY≧T、例えば1または2)
e)二次変換フラグに依存する係数sigフラグのコンテキストモデル化
したがって、符号器10および復号器20は、変換候補リストを、変換候補リストの変換が値域において一致する、すなわち、変換係数の数および配置が同じであるように決定するように構成され得る。
【0319】
変換候補リストの変換は、値域が一致する、すなわち、変換係数の数および配置が同じである第1の変換および第2の変換を含み得る。第2の変換は、第1の変換108の一次変換係数114のサブグループ112上に適用される二次変換に対応していてもよく、第1の変換108の一次変換係数のサブグループ112外の第1の変換108のさらなる一次変換係数114はゼロに設定される。
【0320】
この場合には、符号器10は、第2の変換に対する現在の残差ブロックの符号化を、第1の変換108の一次変換係数のサブグループ112外の第1の変換108のさらなる一次変換係数114をゼロに設定することによって試験するように構成され得る。
【0321】
加えてまたは代替として、符号器10および復号器20は、選択された変換102の変換係数のサブグループ138を結果として得るために、変換候補リストに、現在の残差ブロックの予測残差100上に適用される一次変換と、一次変換108の一次変換係数114のサブグループ112上に適用される二次変換とを含む少なくとも1つの多段変換106を入力するか、もしくは変換候補リストから除外するかどうか、または変換係数データ126に従って有意な変換係数がどこに配置されるかに応じて、変換候補リストにおいて少なくとも1つの多段変換106がどこに配置されるべきか、を判断するように構成されてもよい。
【0322】
加えてまたは代替として、符号器10および復号器20は、選択された変換102の変換係数のサブグループ138を結果として得るために、現在の残差ブロックの予測残差100上に適用される一次変換と、一次変換108の一次変換係数114のサブグループ112上に適用される二次変換とを含む少なくとも1つの多段変換106を、変換候補リストに入力するか、もしくは変換候補リストから除外するかどうか、または変換係数データ126に従って変換係数のサブグループ138外のいずれかの変換係数が有意であるかどうかに応じて、変換候補リストにおいて少なくとも1つの多段変換106がどこに配置されるべきか、を判断するように構成されてもよい。
【0323】
加えてまたは代替として、符号器10および復号器20は、変換係数を、二値化および二進エントロピー符号化を使用して選択された変換の変換係数の値を符号化/復号することによって符号化/復号し、二進エントロピー符号化で使用される確率推定が選択された変換に依存し、かつ/または二値化が選択された変換に依存する、ように構成されてもよい。
【0324】
選択された変換に対する前記依存関係は、選択された変換が多段変換であるか否かに対する依存関係であり得る。
【0325】
さらに加えてまたは代替として、符号器10および復号器20は、選択された変換102の変換係数のサブグループ138を結果として得るために、現在の残差ブロック84の予測残差100上に適用される一次変換と、一次変換106の一次変換係数114のサブグループ112上に適用される二次変換とを含む少なくとも1つの多段変換106を、変換候補リスト98に入力するか、もしくは変換候補リスト98から除外するかどうか、または変換係数データ126に従ってサブグループ112内だが変換係数のサブグループ138外のいずれかの変換係数が有意であるかどうかに応じて、変換候補リスト98において少なくとも1つの多段変換106がどこに配置されるべきか、を判断するように構成されてもよい。
【0326】
さらに加えてまたは代替として、符号器10および復号器20は、現在の残差ブロック84の予測残差100内の残差サンプルより数が少なく、一次変換と等しい変換候補リスト98内の別の変換の変換係数のサブセット138に変換係数位置において対応する多段変換106の変換係数を結果として得るために、現在の残差ブロック84の予測残差100上に適用される一次変換と、一次変換106の一次変換係数114のサブグループ112上に適用される二次変換とを含む少なくとも1つの多段変換106を、変換候補リスト98に入力すべきかどうか、または変換候補リスト98から除外すべきかどうかを判断し、一次変換106の一次変換係数114が現在の残差ブロック84の予測残差100内のサンプル105と等しいか、または一次変換106の一次変換係数114が多段変換106の変換係数よりも数が多い、ように構成されてもよい。加えてまたは代替として、符号器10および復号器20は、変換候補リスト98において少なくとも1つの多段変換106がさらなる変換に対してどこに配置されるべきかを判断し、この判断が、
a)変換係数データ126に従って、有意な変換係数がどこに配置されるか、または
b)変換係数データ126に従って、有意な変換係数が変換係数のサブセット138外に配置されるかどうか、または
c)変換係数データ126に従って、有意な変換係数が一次変換係数114のサブグループ112外に配置されるかどうか
に依存する、ように構成されてもよい。
【0327】
図8図18および図19を参照していくつかの例を説明する。
【0328】
例えば、上述したように、シグナリングは、有意な変換係数位置132に依存し得る。図18および図19に、復号器の観点からの変換係数114、134および変換係数114、134のサブグループ112、138を例示する。
【0329】
図18には、一次変換が、二次変換係数134の二次サブグループ138をもたらし得る二次変換を施され得る一次変換係数114の一次サブグループ112をもたらし得る、ゼロ化を伴う多段変換の1つの非限定的な例が示されている。いくつかの一次変換係数114および/またはいくつかの二次変換係数134が、例えば、有意な変換係数位置132に基づいてゼロ化され得る。
【0330】
例えば、図18に示されるように、二次変換が適用されている可能性がある場合に、二次サブグループ138外の変換係数134、よって、一次サブグループ138外の変換係数114をゼロとすることができる。
【0331】
図19には、やはり復号器の観点から見た、二次変換係数134がゼロ化され得る別の例が示されている。上述したように、線で囲まれた8×8のエリアは、一次変換係数114の一次サブグループ112を表す。交差斜線(最初に提出された出願では緑)で記されたエリア内の変換係数は、一次のみの変換係数を表し得る。左上から右下への斜線(最初に提出された出願では青)で記されたエリア内の変換係数は、二次変換が適用された場合にはゼロでなければならないはずの変換係数位置を表し得る。これは、さらには、(青い)左上から右下への斜線エリア内に有意な(非ゼロ値の)係数がある場合、復号器20は、そうでなければこれらの位置は二次変換のためにゼロでなければならないはずなので、二次変換を行う必要がないことを知る。よって、インデックスをシグナリングする必要はない。
【0332】
シグナリングに関して、上述したようないくつかの例は、(例えばインデックスの)シグナリングが必要か、または省略され得るかが、有意な係数位置132から導出され得ることを可能にする。しかしながら、いくつかの例は、シグナリングが有意な係数位置132から依存するのではなく、インデックスが常にシグナリングされ得る可能性を提供し得る。後者の場合、二次変換が一次サブグループ112に適用された場合には、一次サブグループ112外の一次変換係数114はゼロでなければならないはずである(図19など)。
【0333】
したがって、復号器20は、一次および二次変換を有する多段変換を適用し、一次変換を、一次サブグループ112のみの次元までゼロ化を用いて実施することができる、ように構成され得る。すなわち、水平と垂直両方の一次変換がゼロ化を用いて実施されてもよく、例えば、8×8(一次サブグループ112)および16×16の変換ブロックについては、以下のとおりである。
ブロックに二次変換インデックスセットがある場合、nonZeroW=8
そうでない場合16
ブロックに二次変換インデックスセットがある場合、nonZeroH=8
そうでない場合16
【0334】
<5.3 変換候補リストの削減/二次変換の適用の制約>
<最小の最後の位置>
CBFフラグが設定される場合:
a.最後の位置が最小(例えば、X+Y>T,最後の位置!=(0,0))である場合、(粗いシグナリングによって)まずシグナリングする
b.最大を有する最初の位置をまずシグナリングする(すなわち、最大Tまでの正確な位置、よって、正確に知られているか、またはTもしくは>Tである)
二次変換の条件が満たされる場合、二次変換/次元削減を伴う変換をシグナリングする
a.次元(強制的にゼロにされた次元削減一次変換を伴う二次)削減を伴う変換であり、必要な場合には、強制されたゼロ位置に従って最大の最後の位置を設定しながら正確な最後の位置を符号化する(=精緻化)
I.有意な位置の符号化のためのコンテキストモデルを適応させる
II.grX符号化のためのコンテキストモデルを適応させる
III.ゴロームライスパラメータを適応させる
そうでない場合、ゼロ化を推測することができず、必要な場合には、引き続き正確な最後の位置を符号化する。
【0335】
したがって、図13から図16を参照すると、符号器10および復号器20は、選択された変換102の有意な変換係数位置132の指示の粗いバージョンを符号化/復号するように構成され得る。候補リスト98が多段変換を含まない場合には、正確な最後の位置、すなわち、指示の粗いバージョンの精緻化、が符号化されてもよく、すべての係数が符号化/復号される(図16、ケースB)。候補リスト98が多段変換を含む場合、実際の変換が多段変換であるかどうかがさらに判断され得る。そうである場合、正確な最後の位置、すなわち、指示の粗いバージョンの精緻化、が符号化されてもよく、一次変換係数112のみが符号化/復号される(図16、ケースA)。そうでない場合、正確な最後の位置、すなわち、指示の粗いバージョンの精緻化、が符号化されてもよく、すべての係数が符号化/復号される。
【0336】
したがって、符号器10および復号器20は、データストリーム14における選択された変換102のシグナリング128/データストリーム14からの選択された変換102の導出の前に、指示の粗いバージョンをデータストリーム14に符号化し/データストリーム14から指示の粗いバージョンを復号し、選択可能なリスト98の決定130が指示の粗いバージョンに依存する、ように構成され得る。符号器10および復号器20は、シグナリング/導出に続き、選択された変換102に依存して指示の粗いバージョンの精緻化をデータストリーム14に符号化する/データストリーム14から復号するようにさらに構成され得る。
【0337】
加えてまたは代替として、符号器10および復号器20は、粗いバージョンとして、有意な変換係数位置132がサブグループ138内にあるか否かを明らかにするヒントを符号化/復号するように構成されてもよい。符号器10および復号器20は、精緻化として、有意な変換係数位置132がサブグループ138内にある場合にはサブグループ138内の位置の中の有意な変換係数位置132を区別し、有意な変換係数位置132がサブグループ138外にある場合にはサブグループ138外の位置の中の有意な変換係数位置132を区別する相対位置情報を符号化/復号するようにさらに構成され得る。
【0338】
さらに加えてまたは代替として、ヒントが、有意な変換係数位置132がサブグループ138内にあることを明らかにする場合には、符号器10および復号器20は、選択された変換102の変換係数のサブグループ138を結果として得るために、選択可能なリスト98を、現在の残差ブロックの予測残差100上に適用される一次変換と、一次変換106の一次変換係数114のサブグループ112上に適用される二次変換とを含む少なくとも1つの多段変換106を含むように決定するように構成されてもよい。ヒントが、有意な変換係数位置132がサブグループ138内にないことを明らかにする場合には、符号器10および復号器20は、選択可能なリスト98を少なくとも1つの多段変換106を含まないように決定するように構成され得る。
【0339】
ヒントが、有意な変換係数位置132がサブグループ138内にあることを明らかにする場合には、符号器10および復号器20は、相対位置情報を、サブグループ138内の係数の数に対応する第1の最大数の符号を用いて可変長符号化、VLC、を使用して符号化/復号するように構成され得る。ヒントが、有意な変換係数位置132がサブグループ138内にないことを明らかにする場合には、符号器10および復号器20は、サブグループ138外の係数の数に対応する第2の最大数の符号を符号化/復号するように構成され得る。
【0340】
ヒントが、有意な変換係数位置132がサブグループ138内にあることを明らかにする場合には、符号器10および復号器20は、粗いバージョンの後、ただし精緻化の前に、選択された変換が少なくとも1つの多段変換106の中にあるかどうか、および/または少なくとも1つの多段変換106の中のどれが選択された変換であるかを指示する二次変換インジケータを符号化/復号するように構成され得る。
【0341】
ヒントが、有意な変換係数位置132がサブグループ138内にあることを明らかにする場合には、符号器10および復号器20は、サブグループ138内の変換係数をコンテキスト適応的にエントロピー符号化するために、二次変換インジケータに依存するコンテキストを使用するように構成され得る。
【0342】
ヒントが、有意な変換係数位置132がサブグループ138内にないことを明らかにする場合には、符号器10および復号器20は、サブグループ138内およびサブグループ138外の変換係数をコンテキスト適応的にエントロピー符号化するように構成され得る。
【0343】
<5.4(符号器のみ)二次変換が試験される場合、すでに試験された次元削減を伴う変換の最後の位置を符号器の条件とする>
【0344】
<5.5 クロマ>
ルマ(輝度)および両方のクロマ(色)成分について1回シグナリングする:
a)ルマについて+両方のクロマ成分について1回シグナリングする:
条件が満たされた第1の成分においてシグナリングする(lastPosX>0またはlastPosY>0)
(両方の成分が条件を満たす場合にのみ許容される(両方の成分の最後の位置のインターリーブ符号化を必要とする)
b)成分ごとにシグナリングする(条件が満たされる場合)
【0345】
本発明は、本出願で記載され、特許請求される例および実施形態のいずれかと組み合わされ得る以下の実施形態によってさらに実現され得る。
【0346】
<実施形態1>
ブロックベースの予測およびブロックベースの残差符号化を使用して画像(12)をデータストリーム(14)に符号化するための符号器であって、符号器が、ブロックベースの残差符号化のための変換セット(94)をサポートし、
イントラ予測されたブロック(80)の予測(104)を取得するために複数のニューラルネットワーク(92)の中からの選択されたニューラルネットワーク上にイントラ予測されたブロック(80)の空間的近隣(90)を適用することによってイントラ予測されたブロックを予測し、
選択されたニューラルネットワークおよび残差ブロック(84)のブロックサイズ(96)に基づいて、変換セット(94)の中からイントラ予測されたブロック(80)をカバーする残差ブロック(84)のための選択可能な変換のセット(98)を決定し、
選択可能な変換のセット(98)の中からの1つの選択された変換(102)を使用して残差ブロック(84)内のイントラ予測されたブロック(80)の予測と関連付けられた予測残差(100)を符号化し、データストリーム(14)において選択された変換をシグナリングする
ように構成された、符号器。
【0347】
<実施形態2>
決定を、
所定の閾値を上回るブロックサイズについて、
選択可能な変換のセット(98)に、予測残差(100)上に適用される一次変換(108)と、一次変換(108)の一次変換係数(114)のサブグループ(112)上に適用される二次変換(110)であって、非分離可能であり、選択されたニューラルネットワークに依存する二次変換(110)とを各々含む、第1の数の1つまたは複数の多段変換(106)が入力される
ように行う
ように構成された、実施形態1に記載の符号器。
【0348】
<実施形態3>
決定を、
一次変換(108)が、選択されたニューラルネットワーク(102)に依存し、分離可能な2D変換(116)である
ように行う
ように構成された、実施形態2に記載の符号器。
【0349】
<実施形態4>
サブグループ(112)が一次変換(108)の低周波部分を表す、実施形態3に記載の符号器。
【0350】
<実施形態5>
第1の数が2と6を含む2から6までである、実施形態2から4のいずれか1つに記載の符号器。
【0351】
<実施形態6>
決定を、
所定の閾値を下回るブロックサイズについて、
選択可能な変換のセット(98)に第2の数の1つまたは複数の非分離可能な変換(118)が入力されるように
行う
ように構成された、実施形態2から5のいずれか1つに記載の符号器。
【0352】
<実施形態7>
第1の数と第2の数が等しい、実施形態4を参照する、実施形態6に記載の符号器。
【0353】
<実施形態8>
決定を、
選択可能な変換のセット(98)に第3の数の1つまたは複数の分離可能な2D変換(116)がさらに入力されるように
行う
ように構成された、実施形態2から7のいずれか1つに記載の符号器。
【0354】
<実施形態9>
第3の数が1または5である、実施形態8に記載の符号器。
【0355】
<実施形態10>
予測を、イントラ予測されたブロック(80)の予測が一次変換(108)の定義域(118)で取得されるように行い、
決定を、
選択可能な変換のセット(98)に、一次変換(108)と、一次変換(108)の一次変換係数(114)のサブグループ(112)上に適用される二次変換(110)であって、非分離可能であり、選択されたニューラルネットワークに依存する二次変換(110)とを各々含む、第4の数の1つまたは複数の多段変換(106)が入力される
ように行う
ように構成された、実施形態1から9のいずれか1つに記載の符号器。
【0356】
<実施形態11>
決定を、
一次変換(108)が分離可能な2D変換(116)である
ように行う
ように構成された、実施形態10に記載の符号器。
【0357】
<実施形態12>
サブグループ(112)が一次変換(108)の低周波部分を表す、実施形態10または11に記載の符号器。
【0358】
<実施形態13>
第1の数が2と6を含む2から6までである、実施形態10から13のいずれか1つに記載の符号器。
【0359】
<実施形態14>
決定を、
選択可能な変換のセット(98)に一次変換(108)がさらに入力される
ように行う
ように構成された、実施形態10から14のいずれか1つに記載の符号器。
【0360】
<実施形態15>
残差ブロック(84)の量子化パラメータが1つまたは複数の所定の量子化パラメータのセットに含まれるかどうかを確認し、
含まれる場合、決定を、
選択可能な変換のセット(98)に、1つまたは複数の所定の量子化パラメータのセットと関連付けられた1つまたは複数の所定の変換のセットがさらに入力されるように行う
ように構成された実施形態1から14のいずれか1つに記載の符号器。
【0361】
<実施形態21>
ブロックベースの予測およびブロックベースの残差復号を使用してデータストリーム(14)から画像(12)を復号するための復号器であって、復号器が、ブロックベースの残差復号のための変換セット(94)をサポートし、
イントラ予測されたブロック(80)の予測(104)を取得するために複数のニューラルネットワーク(92)の中からの選択されたニューラルネットワーク上にイントラ予測されたブロック(80)の空間的近隣(90)を適用することによってイントラ予測されたブロックを予測し、
選択されたニューラルネットワークおよび残差ブロック(84)のブロックサイズ(96)に基づいて、再変換セット(94)の中からイントラ予測されたブロック(80)をカバーする残差ブロック(84)のための選択可能な変換のセット(98)を決定し、
選択可能な変換のセット(98)の中からの1つの選択された変換(102)の定義域で、データストリーム(14)から選択された変換を導出することにより、データストリームから残差ブロック(84)内のイントラ予測されたブロック(80)の予測(104)と関連付けられた予測残差(100)を復号する
ように構成された、復号器。
【0362】
<実施形態22>
決定を、
所定の閾値を上回るブロックサイズについて、
選択可能な変換のセット(98)に、予測残差(100)上に適用される一次変換(108)と、一次変換(108)の一次変換係数(114)のサブグループ(112)上に適用される二次変換(110)であって、非分離可能であり、選択されたニューラルネットワークに依存する二次変換(110)とを各々含む、第1の数の1つまたは複数の多段変換(106)が入力される
ように行う
ように構成された、実施形態21に記載の復号器。
【0363】
<実施形態23>
決定を、
一次変換(108)が、選択されたニューラルネットワーク(102)に依存し、分離可能な2D変換(116)であるように行う
ように構成された、実施形態22に記載の復号器。
【0364】
<実施形態24>
サブグループ(112)が一次変換(108)の低周波部分を表す、実施形態23に記載の復号器。
【0365】
<実施形態25>
第1の数が2と6を含む2から6までである、実施形態22から24のいずれか1つに記載の復号器。
【0366】
<実施形態26>
決定を、
所定の閾値を下回るブロックサイズについて、
選択可能な変換のセット(98)に第2の数の1つまたは複数の非分離可能な変換(118)が入力されるように
行う
ように構成された、実施形態22から25のいずれか1つに記載の復号器。
【0367】
<実施形態27>
第1の数と第2の数が等しい、実施形態24を参照する、実施形態26に記載の復号器。
【0368】
<実施形態28>
決定を、
選択可能な変換のセット(98)に第3の数の1つまたは複数の分離可能な2D変換(116)がさらに入力されるように
行う
ように構成された、実施形態22から27のいずれか1つに記載の復号器。
【0369】
<実施形態29>
第3の数が1または5である、実施形態28に記載の復号器。
【0370】
<実施形態30>
予測を、イントラ予測されたブロック(80)の予測(104)が定義域(118)一次変換(108)で取得されるように行い、
決定を、
選択可能な変換のセット(98)に、一次変換(108)と、一次変換(108)の一次変換係数(114)のサブグループ(112)上に適用される二次変換(110)であって、非分離可能であり、選択されたニューラルネットワークに依存する二次変換(110)とを各々含む、第4の数の1つまたは複数の多段変換(106)が入力される
ように行う
ように構成された、実施形態21から29のいずれか1つに記載の復号器。
【0371】
<実施形態31>
決定を、
一次変換(108)が分離可能な2D変換(116)である
ように行う
ように構成された、実施形態30に記載の復号器。
【0372】
<実施形態32>
サブグループ(112)が一次変換(108)の低周波部分を表す、実施形態30または31に記載の復号器。
【0373】
<実施形態33>
第1の数が2と6を含む2から6までである、実施形態30から33のいずれか1つに記載の復号器。
【0374】
<実施形態34>
決定を、
選択可能な変換のセット(98)に一次変換(108)がさらに入力される
ように行う
ように構成された、実施形態30から34のいずれか1つに記載の復号器。
【0375】
<実施形態35>
残差ブロック(84)の量子化パラメータが1つまたは複数の所定の量子化パラメータのセットに含まれるかどうかを確認し、
含まれる場合、決定を、
選択可能な変換のセット(98)に、1つまたは複数の所定の量子化パラメータのセットと関連付けられた1つまたは複数の所定の変換のセットがさらに入力されるように行う
ように構成された、実施形態21から34のいずれか1つに記載の復号器。
【0376】
<実施形態41>
ブロックベースの予測およびブロックベースの残差符号化を使用して画像(12)をデータストリーム(14)に符号化するための符号器であって、
イントラ予測されたブロック(80)の予測(104)を一次変換(108)の定義域(118)で取得するために、イントラ予測されたブロック(80)の空間的近隣(90)をニューラルネットワーク(NN)上に適用することによってイントラ予測されたブロック(80)を予測し、
選択可能な変換のセット(98)の中からの1つの選択された変換(102)を使用して残差ブロック(84)内のイントラ予測されたブロック(80)の予測(104)と関連付けられた予測残差(100)を符号化し、データストリーム(14)において選択された変換(102)をシグナリングし、
選択可能な変換のセット(98)に、一次変換(108)と、一次変換(108)の一次変換係数(114)のサブグループ(112)上に適用される二次変換(110)とを含む少なくとも1つの多段変換(106)が入力される、
ように構成された、符号器。
【0377】
<実施形態42>
選択可能な変換のセット(98)に、一次変換(108)と、一次変換(108)の一次変換係数(114)のサブグループ(112)上に適用される二次変換(110)であって、非分離可能である二次変換(110)とを各々含むある数の多段変換(106)が入力される、実施形態41に記載の符号器。
【0378】
<実施形態43>
数が2と6を含む2から6までである、実施形態41または42に記載の符号器。
【0379】
<実施形態44>
一次変換(108)が分離可能な2D変換である、実施形態41から43のいずれか1つに記載の符号器。
【0380】
<実施形態45>
サブグループ(112)が一次変換の低周波部分を表す、実施形態41から44のいずれか1つに記載の符号器。
【0381】
<実施形態46>
決定を、
選択可能な変換のセット(98)に一次変換がさらに入力される
ように行う
ように構成された、実施形態41から45のいずれか1つに記載の符号器。
【0382】
<実施形態47>
イントラ予測されたブロックの量子化パラメータが1つまたは複数の所定の量子化パラメータのセットに含まれるかどうかを確認し、
含まれる場合、決定を、
選択可能な変換のセットに、1つまたは複数の所定の量子化パラメータのセットと関連付けられた1つまたは複数の所定の変換のセットがさらに入力される
ように行う
ように構成された、実施形態41から46のいずれか1つに記載の符号器。
【0383】
<実施形態51>
ブロックベースの予測およびブロックベースの残差符号化を使用してデータストリーム(14)から画像(12)を復号するための復号器であって、
イントラ予測されたブロック(80)の予測(104)を一次変換(108)の定義域(118)で取得するために、イントラ予測されたブロック(80)の空間的近隣(90)をニューラルネットワーク(NN)上に適用することによってイントラ予測されたブロック(80)を予測し、
選択可能な変換のセット(98)の中からの1つの選択された変換(102)の別の定義域(119)[実施形態56に記載されるように定義域118と同じになり得る]で、データストリーム(14)から選択された変換(102)を導出することにより、データストリーム(14)から、残差ブロック(84)内のイントラ予測されたブロック(80)の予測(104)と関連付けられた予測残差(100)を復号し、
選択可能な変換のセット(98)に、一次変換(108)と、一次変換(108)の一次変換係数(114)のサブグループ(112)上に適用される二次変換(110)とを含む少なくとも1つの多段変換(106)が入力される、
ように構成された、復号器。
【0384】
<実施形態52>
選択可能な変換のセット(98)に、一次変換(108)と、一次変換(108)の一次変換係数(114)のサブグループ(112)上に適用される二次変換(110)であって、非分離可能である二次変換(110)とを各々含むいくつかの多段変換(106)が入力される、実施形態51に記載の復号器。
【0385】
<実施形態53>
数が2と6を含む2から6までである、
実施形態51または52に記載の復号器。
【0386】
<実施形態54>
一次変換(108)が分離可能な2D変換である、実施形態51から53のいずれか1つに記載の復号器。
【0387】
<実施形態55>
サブグループ(112)が一次変換の低周波部分を表す、実施形態51から54のいずれか1つに記載の復号器。
【0388】
<実施形態56>
決定を、
選択可能な変換のセット(98)に一次変換がさらに入力される
ように行う
ように構成された、実施形態51から55のいずれか1つに記載の復号器。
【0389】
<実施形態57>
イントラ予測されたブロックの量子化パラメータが1つまたは複数の所定の量子化パラメータのセットに含まれるかどうかを確認し、
含まれる場合、決定を、
選択可能な変換のセットに、1つまたは複数の所定の量子化パラメータのセットと関連付けられた1つまたは複数の所定の変換のセットがさらに入力される
ように行う
ように構成された、実施形態51から56のいずれか1つに記載の復号器。
【0390】
<実施形態61>
ブロックベースの予測およびブロックベースの残差符号化を使用して画像(12)をデータストリーム(14)に符号化するための符号器であって、符号器が、ブロックベースの残差符号化のための変換セット(94)をサポートし、
イントラ予測されたブロック(80)の予測(104)を取得するためにイントラ予測モードのセット(120)の中からの選択された1つを使用してイントラ予測されたブロック(80)の空間的近隣(90)に基づいてイントラ予測されたブロック(80)を予測し、
選択されたイントラ予測モードおよび残差ブロック(84)のブロックサイズ(96)に基づいて、変換セット(94)の中からイントラ予測されたブロック(80)をカバーする残差ブロック(84)のための選択可能な変換のセット(98)を決定し、
選択可能な変換のセット(98)の中からの1つの選択された変換(102)を使用して残差ブロック(84)内のイントラ予測されたブロック(80)の予測(104)と関連付けられた予測残差(100)を符号化し、データストリーム(14)において選択された変換(102)をシグナリングする
ように構成された、符号器。
【0391】
<実施形態62>
決定を、
所定のブロックサイズの第1の所定のセットのブロックサイズについて、
選択可能な変換のセット(98)に、予測残差(100)上に適用される一次変換(108)と、一次変換(108)の一次変換係数(114)のサブグループ(112)上に適用される二次変換(110)であって、非分離可能であり、選択されたイントラ予測モードに依存する二次変換(110)とを各々含む、ある数の1つまたは複数の多段変換(106)が入力される
ように行う
ように構成された、実施形態61に記載の符号器。
【0392】
<実施形態63>
決定を、
一次変換(108)が、選択されたイントラ予測モードに依存し、分離可能な2D変換(116)である
ように行う
ように構成された、実施形態62に記載の符号器。
【0393】
<実施形態64>
サブグループ(112)が選択されたイントラ予測モードに依存する、実施形態62または63に記載の符号器。
【0394】
<実施形態65>
決定を、
所定のブロックサイズの第1の所定のセットより小さい所定のブロックサイズの第2の所定のセットのブロックサイズについて、
選択可能な変換のセット(98)に第2の数の1つまたは複数の非分離可能な変換(118)が入力されるように
行う
ように構成された、実施形態62から64のいずれか1つに記載の符号器。
【0395】
<実施形態66>
二次変換(110)が選択されたイントラ予測モードに依存する方法が、イントラ予測モード集約(例えば、イントラ予測モードインデックスの量子化やイントラ予測モードのセット120中の角度イントラ予測モードのイントラ予測方向の量子化)を含むように構成された、実施形態62から65のいずれか1つに記載の符号器。
【0396】
<実施形態66a>
一次変換(108)が選択されたイントラ予測モードに依存する方法が、イントラ予測モード集約(例えば、イントラ予測モードインデックスの量子化やイントラ予測モードのセット120中の角度イントラ予測モードのイントラ予測方向の量子化)を含むように構成された、実施形態63のいずれか1つに記載の符号器。
【0397】
<実施形態67>
残差ブロック(84)の量子化パラメータが1つまたは複数の所定の量子化パラメータのセットに含まれるかどうかを確認し、
含まれる場合、決定を、
選択可能な変換のセット(98)に、1つまたは複数の所定の量子化パラメータのセットと関連付けられた1つまたは複数の所定の変換のセットがさらに入力されるように行う
ように構成された実施形態61から66のいずれか1つに記載の符号器。
【0398】
<実施形態71>
ブロックベースの予測およびブロックベースの残差復号を使用してデータストリーム(14)から画像(12)を復号するための復号器であって、復号器が、ブロックベースの残差復号のための変換セット(94)をサポートし、
イントラ予測されたブロック(80)の予測(104)を取得するためにイントラ予測モードのセット(120)の中からの選択された1つを使用してイントラ予測されたブロック(80)の空間的近隣(90)に基づいてイントラ予測されたブロック(80)を予測し、
選択されたイントラ予測モードおよび残差ブロック(84)のブロックサイズ(96)に基づいて、変換セット(94)の中からイントラ予測されたブロック(80)をカバーする残差ブロック(84)のための選択可能な変換のセット(98)を決定し、
選択可能な変換のセット(98)の中からの1つの選択された変換(102)の定義域で、データストリーム(14)から選択された変換(102)を導出することにより、データストリーム(14)から、残差ブロック(84)内のイントラ予測されたブロック(80)の予測(104)と関連付けられた予測残差(100)を復号する
ように構成された、復号器。
【0399】
<実施形態72>
決定を、
所定のブロックサイズの第1の所定のセットのブロックサイズについて、
選択可能な変換のセット(98)に、予測残差(100)上に適用される一次変換(108)と、一次変換(108)の一次変換係数(114)のサブグループ(112)上に適用される二次変換(110)であって、非分離可能であり、選択されたイントラ予測モードに依存する二次変換(110)とを各々含む、ある数の1つまたは複数の多段変換(106)が入力される
ように行う
ように構成された、実施形態71に記載の復号器。
【0400】
<実施形態73>
決定を、
一次変換(108)が、選択されたイントラ予測モードに依存し、分離可能な2D変換(116)である
ように行う
ように構成された、実施形態72に記載の復号器。
【0401】
<実施形態74>
サブグループ(112)が選択されたイントラ予測モードに依存する、実施形態72または73に記載の復号器。
【0402】
<実施形態75>
決定を、
所定のブロックサイズの第1の所定のセットより小さい所定のブロックサイズの第2の所定のセットのブロックサイズについて、
選択可能な変換のセット(98)に第2の数の1つまたは複数の非分離可能な変換(116)が入力されるように
行う
ように構成された、実施形態72から74のいずれか1つに記載の復号器。
【0403】
<実施形態76>
二次変換(110)が選択されたイントラ予測モードに依存する方法が、イントラ予測モード集約(例えば、イントラ予測モードインデックスの量子化やイントラ予測モードのセット120の中の角度イントラ予測モードのイントラ予測方向の量子化)を含むように構成された、実施形態72から75のいずれか1つに記載の復号器。
【0404】
<実施形態77>
残差ブロック(84)の量子化パラメータが1つまたは複数の所定の量子化パラメータのセットに含まれるかどうかを確認し、
含まれる場合、決定を、
選択可能な変換のセット(98)に、1つまたは複数の所定の量子化パラメータのセットと関連付けられた1つまたは複数の所定の変換のセットがさらに入力されるように行う
ように構成された、実施形態71から76のいずれか1つに記載の復号器。
【0405】
<実施形態81>
ブロックベースの予測およびブロックベースの残差符号化を使用して画像(12)をデータストリーム(14)に符号化するための符号器であって、符号器が、ブロックベースの残差符号化のための変換セット(94)をサポートし、
[例えば、近隣の残差ブロックの予測残差を符号化するためにやはりセット94の中から]近隣の残差ブロック(84’、84’’)のために選択された参照変換に基づいて変換セット(94)の中から現在の残差ブロック(84)のための選択可能な変換のリスト(98)を決定し(122)、
選択可能な変換のリスト(98)の中からの1つの選択された変換(102)を使用して残差ブロック(84)内の予測残差(100)を符号化し、データストリーム(14)において選択された変換(102)をシグナリングする
ように構成された、符号器。
【0406】
<実施形態82>
参照変換を使用して選択可能なリスト(98)を順序付けする(122)
ように構成された、実施形態81に記載の符号器。
【0407】
<実施形態83>
選択可能なリスト(98)を、参照変換プロセス参照変換に対応する変換[例えば、wrtが、高い変換インデックス124によってシグナリングされた1段であり、よって、特殊化された変換、異なるサイズの近隣のブロックのための解析的な変換タイプである可能性が非常に高い]を、
最も確度の高い選択[最初の位置、またはインデックス124の最低のインデックス値と、もしくは最短のVLCと関連付けられたインデックス値と関連付けられた部分]、または
2番目に確度の高い選択
と関連付けられたランク(「n」における#)に配置することによって順序付けする(122)
ように構成された、実施形態81または82に記載の符号器。
【0408】
<実施形態84>
近隣の残差ブロック(84’、84’’)のセットのために選択された参照変換に基づいて変換セット(94)の中から現在の残差ブロック(84)のための選択可能な変換のリスト(98)を決定する(122)
ように構成された、実施形態81から83のいずれか1つに記載の符号器。
【0409】
<実施形態85>
選択可能なリスト(98)を、参照変換を互いに、参照変換が近隣の残差ブロック(84’、84’’)のセットのために選択される頻度に対応する順序で配置することによって順序付けする(122)
ように構成された、実施形態84に記載の符号器。
【0410】
<実施形態86>
選択可能なリスト(98)に参照変換を入力する(122)
ように構成された、実施形態81から85のいずれか1つに記載の符号器。
【0411】
<実施形態87>
参照変換が、[DCT、DST、FFTなどといった]解析的に定義可能な分離可能なスペクトル的に分解する変換であり、符号器が、
選択可能なリスト(98)に、参照変換を現在の残差ブロック(84)のブロックサイズ(96)に適応させることによって導出された別の変換を入力する(122)
ように構成される、実施形態86に記載の符号器。
【0412】
<実施形態88>
入力を、
近隣のブロック(84’、84’’)および現在の残差ブロック(84)と関連付けられた1つもしくは複数の特定の特性が十分に類似しており、かつ/または
参照変換が分離可能なスペクトル的に分解する変換である
という条件で行う
ように構成された、実施形態86または87のいずれかに記載の符号器。
【0413】
<実施形態89>
1つまたは複数の特性が、
イントラ予測モード
の1つまたは複数を含む、実施形態88に記載の符号器。
【0414】
<実施形態90>
選択可能なリスト(98)を、1つもしくは複数の特定の特性における参照変換に対する類似度に従って選択可能な変換のセット(98)内の変換をランク付けすることによって順序付けし(122)、かつ/または
選択可能なリスト(98)から、1つもしくは複数の特定の特性において参照変換に対する特定の相違度を超える変換を除外する方法で選択可能な変換のリスト(98)を決定する
ように構成された、実施形態81から89のいずれか1つに記載の符号器。
【0415】
<実施形態91>
1つまたは複数の特性が、
一次変換[例えば、一次変換の同等性が必要とされる]
の1つまたは複数を含む、実施形態90に記載の符号器。
【0416】
<実施形態92>
選択可能なリスト(98)を、近隣のブロック(84’)の1つもしくは複数の特定の特性に応じて選択可能な変換のセット(98)内の変換をランク付けすることによって順序付けし(122)、かつ/または
近隣のブロック(84’)の1つもしくは複数の特定の特性に応じて選択可能なリスト(98)から変換を除外する方法で選択可能な変換のリスト(98)を決定する
ように構成された、実施形態81から91のいずれか1つに記載の符号器。
【0417】
<実施形態93>
1つまたは複数の特性が、
ある数の有意な変換係数
のうちの1つまたは複数を含む、実施形態93に記載の符号器。
【0418】
<実施形態94>
1つまたは複数の特性が、
確度の低い変換をランク付けすること、または有意な変換係数の数が特定の閾値を下回る場合に(例えば、サブグループ112内の係数の数に応じて)二次変換を受ける一次変換係数のサブグループ112を有する多段タイプのものである変換を除外することによる、ある数の有意な変換係数
のうちの1つまたは複数を含む、実施形態93または92に記載の符号器。
【0419】
<実施形態95>
現在のブロックの量子化パラメータが1つまたは複数の所定の量子化パラメータのセットに含まれるかどうかを確認し、
含まれる場合、決定を、
選択可能な変換のセット(98)に、1つまたは複数の所定の量子化パラメータのセットと関連付けられた1つまたは複数の所定の変換のセットがさらに入力されるように行う
ように構成された、実施形態81から94のいずれか1つに記載の符号器。
【0420】
<実施形態101>
ブロックベースの予測およびブロックベースの残差復号を使用してデータストリーム(14)から画像(12)を復号するための復号器であって、復号器が、ブロックベースの残差復号のための変換セット(94)をサポートし、
[例えば、近隣の残差ブロックの予測残差を符号化するためにやはりセット94の中から]近隣の残差ブロック(84’、84’’)のために選択された参照変換に基づいて変換セット(94)の中から現在の残差ブロック(84)のための選択可能な変換のリスト(98)を決定し(122)、
選択可能な変換のリスト(98)の中からの1つの選択された変換(102)の定義域で、データストリーム(14)から選択された変換を導出することにより、残差ブロック(84)内の予測残差(100)を復号する
ように構成された、復号器。
【0421】
<実施形態102>
参照変換を使用して選択可能なリスト(98)を順序付けする(122)
ように構成された、実施形態101に記載の復号器。
【0422】
<実施形態103>
選択可能なリスト(98)を、参照変換プロセス参照変換に対応する変換[例えば、wrtが、高い変換インデックス124によってシグナリングされた1段であり、よって、特殊化された変換、異なるサイズの近隣のブロックのための解析的な変換タイプである可能性が非常に高い]を、
最も確度の高い選択[最初の位置、またはインデックス124の最低のインデックス値と、もしくは最短のVLCと関連付けられたインデックス値と関連付けられたポリション(porition)]、または
2番目に確度の高い選択
と関連付けられたランク(「n」における#)に配置することによって順序付けする(122)
ように構成された、実施形態101または102に記載の復号器。
【0423】
<実施形態104>
近隣の残差ブロック(84’、84’’)のセットのために選択された参照変換に基づいて変換セット(94)の中から現在の残差ブロック(84)のための選択可能な変換のリスト(98)を決定する(122)
ように構成された、実施形態101から103のいずれか1つに記載の復号器。
【0424】
<実施形態105>
選択可能なリスト(98)を、参照変換を互いに、参照変換が近隣の残差ブロック(84’、84’’)のセットのために選択される頻度に対応する順序で配置することによって順序付けする(122)
ように構成された、実施形態104に記載の復号器。
【0425】
<実施形態106>
選択可能なリスト(98)に参照変換を入力する(122)
ように構成された、実施形態101から105のいずれか1つに記載の復号器。
【0426】
<実施形態107>
参照変換が、[DCT、DST、FFTなどといった]解析的に定義可能な分離可能なスペクトル的に分解する変換であり、復号器が、
選択可能なリスト(98)に、参照変換を現在の残差ブロック(84)のブロックサイズ(96)に適応させることによって導出された別の変換を入力する(122)
ように構成される、実施形態106に記載の復号器。
【0427】
<実施形態108>
入力を、
近隣のブロック(84’、84’’)および現在の残差ブロック(84)と関連付けられた1つもしくは複数の特定の特性が十分に類似しており、かつ/または
参照変換が分離可能なスペクトル的に分解する変換である
という条件で行う
ように構成された、実施形態106または107に記載の復号器。
【0428】
<実施形態109>
1つまたは複数の特性が、
イントラ予測モード
の1つまたは複数を含む、実施形態108に記載の復号器。
【0429】
<実施形態110>
選択可能なリスト(98)を、1つもしくは複数の特定の特性における参照変換に対する類似度に従って選択可能な変換のセット(98)内の変換をランク付けすることによって順序付けし(122)、かつ/または
選択可能なリスト(98)から、1つもしくは複数の特定の特性において参照変換に対する特定の相違度を超える変換を除外する方法で選択可能な変換のリスト(98)を決定する
ように構成された、実施形態101から109のいずれか1つに記載の復号器。
【0430】
<実施形態111>
1つまたは複数の特性が、
一次変換[例えば、一次変換の同等性が必要とされる]
の1つまたは複数を含む、実施形態100に記載の復号器。
【0431】
<実施形態112>
選択可能なリスト(98)を、近隣のブロック(84’)の1つもしくは複数の特定の特性に応じて選択可能な変換のセット(98)内の変換をランク付けすることによって順序付けし(122)、かつ/または
近隣のブロック(84’)の1つもしくは複数の特定の特性に応じて選択可能なリスト(98)から変換を除外する方法で選択可能な変換のリスト(98)を決定する
ように構成された、実施形態101から111のいずれか1つに記載の復号器。
【0432】
<実施形態113>
1つまたは複数の特性が、
ある数の有意な変換係数
のうちの1つまたは複数を含む、実施形態112に記載の復号器。
【0433】
<実施形態114>
1つまたは複数の特性が、
確度の低い変換をランク付けすること、または有意な変換係数の数が特定の閾値を下回る場合に(例えば、サブグループ112内の係数の数に応じて)二次変換を受ける一次変換係数のサブグループ112を有する多段タイプのものである変換を除外することによる、ある数の有意な変換係数
のうちの1つまたは複数を含む、実施形態113または112に記載の復号器。
【0434】
<実施形態115>
現在のブロックの量子化パラメータが1つまたは複数の所定の量子化パラメータのセットに含まれるかどうかを確認し、
含まれる場合、決定を、
選択可能な変換のセット(98)に、1つまたは複数の所定の量子化パラメータのセットと関連付けられた1つまたは複数の所定の変換のセットがさらに入力されるように行う
ように構成された、実施形態101から114のいずれか1つに記載の復号器。
【0435】
<実施形態121>
ブロックベースの予測およびブロックベースの残差符号化を使用して画像(12)をデータストリーム(14)に符号化するための符号器であって、符号器が、ブロックベースの残差符号化のための変換セット(94)をサポートし、
変換セットの中から現在の残差ブロック(84)のための選択可能な変換のリスト(98)を、
量子化パラメータが、特定の閾値より細かい量子化に対応する場合、
現在の残差ブロックのための選択可能な変換のリスト(98)に、現在の残差ブロック内の予測残差(100)上に適用される一次変換(108)と、一次変換の一次変換係数(114)のサブグループ(112)上に適用される二次変換(110)とを含む少なくとも1つの多段変換(106)が入力され、
量子化パラメータが特定の閾値より粗い量子化に対応する場合、
現在の残差ブロックのための選択可能な変換のリストに、少なくとも1つの多段変換(106)に加えて、またはその代わりに、サブグループ(112)を超える一次変換係数(114)がゼロ化される少なくとも1つの多段変換の修正が入力される
ように現在のブロックの量子化パラメータに依存する方法で決定し、
選択可能な変換のリスト(98)の中からの1つの選択された変換(102)を使用して残差ブロック(84)内の予測残差(100)を符号化し、データストリーム(14)において選択された変換をシグナリングする
ように構成された、符号器。
【0436】
<実施形態122>
ブロックベースの予測およびブロックベースの残差符号化を使用して画像をデータストリームに符号化するための符号器であって、符号器が、ブロックベースの残差符号化のための変換セットをサポートし、
近隣の残差ブロックのために選択された参照変換に基づいて変換セットの中から現在の残差ブロックのための選択可能な変換のリスト(98)を、
その数または総和が特定の閾値より大きい場合、
現在の残差ブロックのための選択可能な変換のリスト(98)に、現在の残差ブロックの予測残差(100)上に適用される一次変換と、一次変換の一次変換係数のサブグループ上に適用される二次変換とを含む少なくとも1つの多段変換が入力され、
その数または総和が特定の閾値より小さい場合、
現在の残差ブロックのための選択可能な変換のリストに、少なくとも1つの多段変換に加えて、またはその代わりに、サブグループを超える一次変換係数がゼロ化される少なくとも1つの多段変換の修正が入力される
ように1つもしくは複数の近隣の残差ブロック(84’、84’’)における有意な変換係数の数、またはそれらの総和に依存する方法で決定し(122)、
選択可能な変換のリストの中からの1つの選択された変換を使用して残差ブロック内の予測残差を符号化し、データストリームにおいて選択された変換をシグナリングする
ことを特徴とする、符号器。
【0437】
<実施形態123>
ブロックベースの予測およびブロックベースの残差復号を使用してデータストリーム(14)から画像(12)を復号するための復号器であって、復号器が、ブロックベースの残差復号のための変換セット(94)をサポートし、
変換セットの中から現在の残差ブロック(84)のための選択可能な変換のリスト(98)を、
量子化パラメータが、特定の閾値より細かい量子化に対応する場合、
現在の残差ブロックのための選択可能な変換のリスト(98)に、現在の残差ブロック内の予測残差(100)上に適用される一次変換(108)と、一次変換の一次変換係数(114)のサブグループ(112)上に適用される二次変換(110)とを含む少なくとも1つの多段変換(106)が入力され、
量子化パラメータが特定の閾値より粗い量子化に対応する場合、
現在の残差ブロックのための選択可能な変換のリストに、少なくとも1つの多段変換(106)に加えて、またはその代わりに、サブグループ(112)を超える一次変換係数(114)がゼロ化される少なくとも1つの多段変換の修正が入力される
ように現在のブロックの量子化パラメータに依存する方法で決定し、
選択可能な変換のリスト(98)の中からの1つの選択された変換(102)の定義域で、データストリーム(14)から選択された変換(102)を導出することにより、残差ブロック(84)内の予測残差(100)を復号する
ように構成された、復号器。
【0438】
<実施形態124>
ブロックベースの予測およびブロックベースの残差復号を使用してデータストリームから画像を復号するための復号器であって、復号器が、ブロックベースの残差復号のための変換セットをサポートし、
近隣の残差ブロックのために選択された参照変換に基づいて変換セットの中から現在の残差ブロックのための選択可能な変換のリスト(98)を、
その数または総和が特定の閾値より大きい場合、
現在の残差ブロックのための選択可能な変換のリスト(98)に、現在の残差ブロックの予測残差(100)上に適用される一次変換と、一次変換の一次変換係数のサブグループ上に適用される二次変換とを含む少なくとも1つの多段変換が入力され、
その数または総和が特定の閾値より小さい場合、
現在の残差ブロックのための選択可能な変換のリストに、少なくとも1つの多段変換に加えて、またはその代わりに、サブグループを超える一次変換係数がゼロ化される少なくとも1つの多段変換の修正が入力される
ように1つもしくは複数の近隣の残差ブロック(84’、84’’)における有意な変換係数の数、またはそれらの総和に依存する方法で決定し(122)、
選択可能な変換のリストの中からの1つの選択された変換の定義域で、データストリームから選択された変換を選択的に導出することにより、残差ブロック内の予測残差を復号する
ように構成された、復号器。
【0439】
<実施形態131>
ブロックベースの予測およびブロックベースの残差符号化を使用して画像(12)をデータストリーム(14)に符号化するための符号器であって、符号器が、ブロックベースの残差符号化のための変換セット(94)をサポートし、
変換セット(94)の中から現在の残差ブロックのための選択可能な変換のリスト(98)を決定し(130)、
選択可能な変換のリスト(98)の中からの1つの選択された変換(102)を使用して、残差ブロック(84)内の予測残差(100)を表す変換係数データ(126)をデータストリーム(14)に符号化し、
データストリーム(14)において選択された変換(102)をシグナリングし(128)、かつ/または変換係数データ(126)もしくはデータ変換係数データ(126)の一部分に依存する方法で、選択可能なリスト(98)の決定(130)を行う
ように構成された、符号器。
【0440】
<実施形態132>
選択可能な変換のリスト(98)を、選択可能なリスト(98)に、変換セット(94)の中からの、変換係数データ(126)、または変換係数データの一部分に依存する数の変換を入力することによって決定し(130)、
データストリーム(14)における選択された変換(102)のシグナリング(128)を、選択された変換(102)のシグナリングのためにデータストリーム(14)において費やされる符号化率が低いほど数も低くなるような方法で行う
ように構成された、実施形態131に記載の符号器。
【0441】
<実施形態133>
選択可能な変換のリスト(98)を、変換係数データ(126)、または変換係数データ(126)の一部分に依存して選択可能な変換のリスト(98)を順序付けすることによって決定し(130)、
その符号語が選択可能な変換のリスト(98)内の変換の順序に応じて選択可能な変換のリスト(98)の変換に割り当てられる可変長符号を使用してデータストリームにおける選択された変換(102)のシグナリング(128)を行う
ように構成された、実施形態131に記載の符号器。
【0442】
<実施形態134>
変換係数データが、選択された変換(102)の有意な変換係数位置(132)の指示と、選択された変換の係数位置を順次にトラバース(横切る)する所定のスキャン順序(136)によって有意な変換係数位置から前方に(132)トラバースされる選択された変換の変換係数(134)の値とを含み、
決定(130)が指示に依存する
ように構成された、実施形態132または133に記載の符号器。
【0443】
<実施形態135>
選択された変換(102)の有意な変換係数(134)の数をカウントし、
決定(130)がカウントに依存する
ように構成された、実施形態132または133または134に記載の符号器。
【0444】
<実施形態136>
選択された変換(102)の変換係数(134)のサブグループ(138)内の選択された変換(102)の有意な変換係数(134)の数が特定の閾値を超えるか否かに関して変換係数データ(126)を評価し、
カウントに依存する決定(130)を、
数が特定の閾値より大きい場合、
選択された変換(102)の変換係数のサブグループ(138)を結果として得るために、現在の残差ブロック(84)のための選択可能な変換のリスト(98)に、現在の残差ブロックの予測残差(100)上に適用される一次変換と、一次変換(106)の一次変換係数(114)のサブグループ(112)上に適用される二次変換とを含む少なくとも1つの多段変換(106)が入力され、
数が特定の閾値より小さい場合、
現在の残差ブロックのための選択可能な変換のリストに、
現在の残差ブロックの予測残差(100)上に適用される一次変換と、一次変換の一次変換係数のサブグループ上に適用される二次変換とを含むいかなる多段変換(106)
が入力されない
ように行う
ように構成された、実施形態134または135に記載の符号器。
【0445】
<実施形態201>
ブロックベースの予測およびブロックベースの残差復号を使用してデータストリーム(14)から画像(12)を復号するための復号器であって、復号器が、ブロックベースの残差復号のための変換セット(94)をサポートし、
変換セット(94)の中から現在の残差ブロックのための選択可能な変換のリスト(98)を決定し(130)、
選択可能な変換のリスト(98)の中からの1つの選択された変換(102)を使用して、残差ブロック(84)内の予測残差(100)を表す変換係数データ(126)をデータストリーム(14)に復号し、
データストリーム(14)から選択された変換(102)を導出し(128)、かつ/または変換係数データ(126)もしくはデータ変換係数データ(126)の一部分に依存する方法で、選択可能なリスト(98)の決定(130)を行う
ように構成された、復号器。
【0446】
<実施形態202>
選択可能な変換のリスト(98)を、選択可能なリスト(98)に、変換セット(94)の中からの、変換係数データ(126)、または変換係数データの一部分に依存する数の変換を入力することによって決定し(130)、
データストリーム(14)における選択された変換(102)のシグナリング(128)を、選択された変換(102)のシグナリングのためにデータストリーム(14)において費やされる符号化率が低いほど数も低くなるような方法で行う
ように構成された、実施形態201に記載の復号器。
【0447】
<実施形態203>
選択可能な変換のリスト(98)を、変換係数データ(126)、または変換係数データ(126)の一部分に依存して選択可能な変換のリスト(98)を順序付けすることによって決定し(130)、
その符号語が選択可能な変換のリスト(98)内の変換の順序に応じて選択可能な変換のリスト(98)の変換に割り当てられる可変長符号を使用してデータストリームにおける選択された変換(102)のシグナリング(128)を行う
ように構成された、実施形態201に記載の復号器。
【0448】
<実施形態204>
変換係数データが、選択された変換(102)の有意な変換係数位置(132)の指示と、選択された変換の係数位置を順次にトラバース(横切る)する所定のスキャン順序(136)によって有意な変換係数位置から前方に(132)トラバースされる選択された変換の変換係数(134)の値とを含み、
決定(130)が指示に依存する
ように構成された、実施形態202または203に記載の復号器。
【0449】
<実施形態205>
選択された変換(102)の有意な変換係数(134)の数をカウントし、
決定(130)がカウントに依存する
ように構成された、実施形態202または203または204に記載の復号器。
【0450】
<実施形態206>
選択された変換(102)の変換係数(134)のサブグループ(138)内の選択された変換(102)の有意な変換係数(134)の数が特定の閾値を超えるか否かに関して変換係数データ(126)を評価し、
カウントに依存する決定(130)を、
数が特定の閾値より大きい場合、
選択された変換(102)の変換係数のサブグループ(138)を結果として得るために、現在の残差ブロック(84)のための選択可能な変換のリスト(98)に、現在の残差ブロックの予測残差(100)上に適用される一次変換と、一次変換(106)の一次変換係数(114)のサブグループ(112)上に適用される二次変換とを含む少なくとも1つの多段変換(106)が入力され、
数が特定の閾値より小さい場合、
現在の残差ブロックのための選択可能な変換のリストに、
現在の残差ブロックの予測残差(100)上に適用される一次変換と、一次変換の一次変換係数のサブグループ上に適用される二次変換とを含むいかなる多段変換(106)
が入力されない
ように行う
ように構成された、実施形態204または205に記載の復号器。
【0451】
<実施形態141>
ブロックベースの予測およびブロックベースの残差符号化を使用して画像をデータストリームに符号化するための符号器であって、符号器が、ブロックベースの残差符号化のための変換セットをサポートし、
変換セットの中から現在の残差ブロックのための選択可能な変換のリスト(98)を決定し(130)、
データストリームにおいて選択された変換をシグナリングし(128)、
選択可能な変換のリストの中からの1つの選択された変換を使用して、選択された変換(102)または選択可能な変換のセット(98)に依存する方法で、残差ブロック内の予測残差を表す変換係数を、符号化する(140)
ように構成された、符号器。
【0452】
<実施形態142>
選択可能な変換のリストが異なる数の変換係数の変換を含み、
変換係数の符号化を、変換係数を符号化するためにデータストリームにおいて費やされる符号化率が低いほど、選択された変換の変換係数の数も低くなるような方法で行う
実施形態141に記載の符号器。
【0453】
<実施形態143>
選択可能な変換のリストが異なる数の変換係数(134)の変換を含み、
変換係数を符号化することが、選択された変換(102)の有意な変換係数位置(132)の指示と、選択された変換の係数位置を順次にトラバース(横切る)する所定のスキャン順序(136)によって有意な変換係数位置から前方にトラバースされる選択された変換の変換係数(134)の値とを符号化することを含み、
符号器が、
指示を符号化するためにデータストリームにおいて費やされる符号化率が低いほど、選択された変換の変換係数(134)の数も低くなる
ような方法で変換係数を符号化するように構成される、
実施形態141または142に記載の符号器。
【0454】
<実施形態144>
選択可能な変換のリストが、第1の数の変換係数(134)の変換および第1の数より大きい第2の数の変換係数(134)の変換を含み、
変換係数を符号化することが、
選択された変換の変換係数の数が第2の数である場合には、
選択された変換の有意な変換係数位置の指示と、選択された変換の係数位置を順次にトラバースする所定のスキャン順序によって有意な変換係数位置から前方にトラバースされる選択された変換の変換係数の値とを符号化すること、
選択された変換の変換係数の数が第1の数である場合には、
選択された変換の第1の数の変換係数すべての値を符号化すること
を含む、
実施形態141または142に記載の符号器。
【0455】
<実施形態145>
選択可能な変換のリストが、現在の残差ブロック上に適用される一次変換と、一次変換係数の一次変換係数のサブグループ上に適用される二次変換とを各々含む少なくとも1つの多段変換を含み、サブグループが少なくとも1つの多段変換の多段変換によって異なり、
符号器が変換係数を、
選択された変換の有意な変換係数位置の指示と、選択された変換の係数位置を順次にトラバースする所定のスキャン順序によって有意な変換係数位置から前方にトラバースされる選択された変換の変換係数の値とを符号化することであって、指示が、選択された変換が多段変換である場合、有意な変換係数位置が変換係数のサブグループ内にあるかどうかのフラグを含み、変換係数位置が変換係数のサブグループ内にある場合、指示が有意な変換係数位置を、所定のスキャン順序で選択された変換のすべての変換係数の中で最後にトラバースされた位置に対して、変換係数位置が変換係数のサブグループ(138)内にない場合、所定のスキャン順序でサブグループ内にないすべての変換係数の中で最後にトラバースされた位置に対して指示し、所定のスキャン順序が、サブグループ内にないすべての変換係数をトラバースした後でサブグループ内のすべての変換係数をトラバースする、符号化することによって、かつ/または
選択された変換が多段タイプのものである場合、変換係数が選択された変換の変換係数のサブグループ内にあるかどうかに依存する確率推定を使用するエントロピー符号化を使用して、選択された変換の変換係数の値を符号化することによって、
選択された変換が多段タイプのものである場合、変換係数が選択された変換の変換係数のサブグループ内にあるかどうかに依存する方法で1つもしくは複数の近隣の変換係数に依存する確率推定を使用するエントロピー符号化を使用して、選択された変換の変換係数の値を符号化することによって、
符号化するように構成される、
実施形態141から144のいずれか1つに記載の符号器。
【0456】
<実施形態145a>
選択可能な変換のリストが、現在の残差ブロック上に適用される一次変換と、一次変換係数の一次変換係数のサブグループ上に適用される二次変換とを各々含む少なくとも1つの多段変換を含み、選択可能なリストが一次変換のみのタイプの少なくとも1つの変換を含み、
符号器が変換係数を、
選択された変換の有意な変換係数位置の指示と、選択された変換の係数位置を順次にトラバースする所定のスキャン順序によって有意な変換係数位置から前方にトラバースされる選択された変換の変換係数の値とを符号化することであって、指示が、選択された変換が一次変換のみのタイプのものである場合には所定のスキャン順序で選択された変換のすべての変換係数の中で最後にトラバースされた位置に対するものであるか、もしくは選択された変換が多段変換(106)である場合には所定のスキャン順序でサブグループ内にないすべての変換係数の中で最後にトラバースされた位置に対するものである、符号化することによって、かつ/または
選択された変換の有意な変換係数位置の指示と、選択された変換の係数位置を順次にトラバースする所定のスキャン順序によって有意な変換係数位置から前方にトラバースされる選択された変換の変換係数の値とを符号化することであって、指示が、選択された変換が多段変換である場合、有意な変換係数位置が変換係数のサブグループ内にあるかどうかのフラグを含み、変換係数位置が変換係数のサブグループ内にある場合、指示が有意な変換係数位置を、所定のスキャン順序で選択された変換のすべての変換係数の中で最後にトラバースされた位置に対して、変換係数位置が変換係数のサブグループ内にない場合、所定のスキャン順序でサブグループ内にないすべての変換係数の中で最後にトラバースされた位置に対して指示し、所定のスキャン順序が、サブグループ内にないすべての変換係数をトラバースした後でサブグループ内のすべての変換係数をトラバースする、符号化することによって、かつ/または
選択された変換が多段タイプのものである場合、変換係数が選択された変換の変換係数のサブグループ内にあるかどうかに依存する確率推定を使用するエントロピー符号化を使用して、選択された変換の変換係数の値を符号化することによって、
選択された変換が多段タイプのものである場合、変換係数が選択された変換の変換係数のサブグループ内にあるかどうかに依存する方法で1つもしくは複数の近隣の変換係数に依存する確率推定を使用するエントロピー符号化を使用して、選択された変換の変換係数の値を符号化することによって、
符号化するように構成される、
実施形態141から145のいずれか1つに記載の符号器。
【0457】
<実施形態146>
可変長符号化インデックスを使用して選択された変換をシグナリングするように構成され、
二値化および二進エントロピー符号化を使用して選択された変換の変換係数の値を符号化することによって変換係数を符号化し、
二進エントロピー符号化で使用される確率推定がVLCインデックスに依存し、かつ/または
二値化がVLCインデックスに依存する
ように構成された、
実施形態141から145のいずれか1つに記載の符号器。
【0458】
<実施形態147>
エントロピー符号化を使用して選択された変換の変換係数の値を符号化することによって変換係数を符号化し、
エントロピー符号化が選択された変換に依存する方法で1つまたは近隣の変換係数に依存する
ように構成された、
実施形態141から146のいずれか1つに記載の符号器。
【0459】
<実施形態148>
変換係数を、
選択された変換における変換係数の位置に依存する方法で1つまたは近隣の変換係数のローカルテンプレートを選択し、
1つまたは近隣の変換係数の可能な値の定義域の変換係数のための1つまたは複数のコンテキストのセットへのマッピングを使用して、変換係数のための選択されたコンテキストを決定する、
変換係数の値をエントロピー符号化するための選択されたコンテキストと関連付けられた確率推定を使用する
ことによってエントロピー符号化を使用して選択された変換の変換係数の値を符号化することによって符号化し、
ローカルテンプレートの選択とマッピングの少なくとも一方が選択された変換に依存する、
ように構成された、
実施形態147に記載の符号器。
【0460】
<実施形態149>
値の二値化の二進エントロピー符号化を使用して選択された変換の変換係数の値の符号化を行い、選択されたコンテキストと関連付けられた確率推定が、値がゼロであるか否かを指示する二値化のbinに使用される、ように構成された、
実施形態148に記載の符号器。
【0461】
<実施形態150>
データストリームにおける選択された変換のシグナリングを、
変換係数データに対する選択された変換のシグナリングの相対位置決め、および/または
シグナリングのシンタックス要素への分解
が選択可能な変換のリストに依存するような方法で行う
ように構成された、実施形態141から149のいずれか1つに記載の符号器。
【0462】
<実施形態161>
ブロックベースの予測およびブロックベースの残差復号を使用してデータストリームから画像を復号するための復号器であって、復号器が、ブロックベースの残差復号のための変換セットをサポートし、
変換セットの中から現在の残差ブロックのための選択可能な変換のリスト(98)を決定し(130)、
データストリームから選択された変換を導出し(128)、
選択可能な変換のリストの中からの1つの選択された変換を使用して、選択された変換(102)もしくは選択可能な変換のセット(98)に依存する方法で、データストリームから、残差ブロック内の予測残差を表す変換係数を復号する(140)
ように構成された、復号器。
【0463】
<実施形態162>
選択可能な変換のリストが異なる数の変換係数の変換を含み、
変換係数の復号を、変換係数のためにデータストリームにおいて費やされる符号化率が低いほど、選択された変換の変換係数の数も低くなるような方法で行う
実施形態161に記載の復号器。
【0464】
<実施形態163>
選択可能な変換のリストが異なる数の変換係数(134)の変換を含み、
変換係数を復号することが、選択された変換(102)の有意な変換係数位置(132)の指示と、選択された変換の係数位置を順次にトラバース(横切る)する所定のスキャン順序(136)によって有意な変換係数位置から前方にトラバースされる選択された変換の変換係数(134)の値とを復号することを含み、
復号器が変換係数を、
指示のためにデータストリームにおいて費やされる符号化率が低いほど、選択された変換の変換係数(134)の数も低くなる
ような方法で復号するように構成される、
実施形態161または162に記載の復号器。
【0465】
<実施形態164>
選択可能な変換のリストが、第1の数の変換係数(134)の変換および第1の数より大きい第2の数の変換係数(134)の変換を含み、
変換係数を復号することが、
選択された変換の変換係数の数が第2の数である場合には、
選択された変換の有意な変換係数位置の指示と、選択された変換の係数位置を順次にトラバースする所定のスキャン順序によって有意な変換係数位置から前方にトラバースされる選択された変換の変換係数の値とを復号すること、
選択された変換の変換係数の数が第1の数である場合には、
選択された変換の第1の数の変換係数すべての値を復号すること
を含む、
実施形態161または162に記載の復号器。
【0466】
<実施形態165>
選択可能な変換のリストが、現在の残差ブロック上に適用される一次変換と、一次変換係数の一次変換係数のサブグループ上に適用される二次変換とを各々含む少なくとも1つの多段変換を含み、サブグループが少なくとも1つの多段変換の多段変換によって異なり、
復号器が変換係数を、
選択された変換の有意な変換係数位置の指示と、選択された変換の係数位置を順次にトラバースする所定のスキャン順序によって有意な変換係数位置から前方にトラバースされる選択された変換の変換係数の値とを復号することであって、指示が、選択された変換が多段変換である場合、有意な変換係数位置が変換係数のサブグループ内にあるかどうかのフラグを含み、変換係数位置が変換係数のサブグループ内にある場合、指示が有意な変換係数位置を、所定のスキャン順序で選択された変換のすべての変換係数の中で最後にトラバースされた位置に対して、変換係数位置が変換係数のサブグループ(138)内にない場合、所定のスキャン順序でサブグループ内にないすべての変換係数の中で最後にトラバースされた位置に対して指示し、所定のスキャン順序が、サブグループ内にないすべての変換係数をトラバースした後でサブグループ内のすべての変換係数をトラバースする、復号することによって、かつ/または
選択された変換が多段タイプのものである場合、変換係数が選択された変換の変換係数のサブグループ内にあるかどうかに依存する確率推定を使用するエントロピー符号化を使用して、選択された変換の変換係数の値を復号することによって、
選択された変換が多段タイプのものである場合、変換係数が選択された変換の変換係数のサブグループ内にあるかどうかに依存する方法で1つもしくは複数の近隣の変換係数に依存する確率推定を使用するエントロピー符号化を使用して、選択された変換の変換係数の値を復号することによって、
符号化するように構成される、
実施形態161から164のいずれか1つに記載の復号器。
【0467】
<実施形態165a>
選択可能な変換のリストが、現在の残差ブロック上に適用される一次変換と、一次変換係数の一次変換係数のサブグループ上に適用される二次変換とを各々含む少なくとも1つの多段変換を含み、選択可能なリストが一次変換のみのタイプの少なくとも1つの変換を含み、
復号器が変換係数を、
選択された変換の有意な変換係数位置の指示と、選択された変換の係数位置を順次にトラバースする所定のスキャン順序によって有意な変換係数位置から前方にトラバースされる選択された変換の変換係数の値とを復号することであって、指示が、選択された変換が一次変換のみのタイプのものである場合には所定のスキャン順序の選択された変換のすべての変換係数の中で最後にトラバースされた位置に対するものであるか、もしくは選択された変換が多段変換(106)である場合には所定のスキャン順序でサブグループ内にないすべての変換係数の中で最後にトラバースされた位置に対するものである、復号することによって、かつ/または
選択された変換の有意な変換係数位置の指示と、選択された変換の係数位置を順次にトラバースする所定のスキャン順序によって有意な変換係数位置から前方にトラバースされる選択された変換の変換係数の値とを復号することであって、指示が、選択された変換が多段変換である場合、有意な変換係数位置が変換係数のサブグループ内にあるかどうかのフラグを含み、変換係数位置が変換係数のサブグループ内にある場合、指示が有意な変換係数位置を、所定のスキャン順序で選択された変換のすべての変換係数の中で最後にトラバースされた位置に対して、変換係数位置が変換係数のサブグループ内にない場合、所定のスキャン順序でサブグループ内にないすべての変換係数の中で最後にトラバースされた位置に対して指示し、所定のスキャン順序が、サブグループ内にないすべての変換係数をトラバースした後でサブグループ内のすべての変換係数をトラバースする、復号することによって、かつ/または
選択された変換が多段タイプのものである場合、変換係数が選択された変換の変換係数のサブグループ内にあるかどうかに依存する確率推定を使用するエントロピー符号化を使用して、選択された変換の変換係数の値を復号することによって、
選択された変換が多段タイプのものである場合、変換係数が選択された変換の変換係数のサブグループ内にあるかどうかに依存する方法で1つもしくは複数の近隣の変換係数に依存する確率推定を使用するエントロピー符号化を使用して、選択された変換の変換係数の値を復号することによって、
符号化するように構成される、
実施形態161から165のいずれか1つに記載の復号器。
【0468】
<実施形態166>
可変長符号化インデックスを使用して選択された変換を導出するように構成され、
二値化および二進エントロピー復号を使用して選択された変換の変換係数の値を復号することによって変換係数を復号し、
二進エントロピー符号化で使用される確率推定がVLCインデックスに依存し、かつ/または
二値化がVLCインデックスに依存する
ように構成された、
実施形態161から165のいずれか1つに記載の復号器。
【0469】
<実施形態167>
エントロピー復号を使用して選択された変換の変換係数の値を復号することによって変換係数を復号し、
エントロピー復号において、選択された変換に依存する方法で1つまたは近隣の変換係数に依存する
ように構成された、
実施形態161から166のいずれか1つに記載の復号器。
【0470】
<実施形態168>
変換係数を、
選択された変換における変換係数の位置に依存する方法で1つまたは近隣の変換係数のローカルテンプレートを選択し、
1つまたは近隣の変換係数の可能な値の定義域の変換係数のための1つまたは複数のコンテキストのセットへのマッピングを使用して、変換係数のための選択されたコンテキストを決定する、
変換係数の値をエントロピー復号するための選択されたコンテキストと関連付けられた確率推定を使用する
ことによってエントロピー復号を使用して選択された変換の変換係数の値を復号することによって復号し、
ローカルテンプレートの選択とマッピングの少なくとも一方が選択された変換に依存する、
ように構成された、
実施形態167に記載の復号器。
【0471】
<実施形態169>
値の二値化の二進エントロピー復号を使用して選択された変換の変換係数の値の復号を行い、選択されたコンテキストと関連付けられた確率推定が、値がゼロであるか否かを指示する二値化のbinに使用される、ように構成された、
実施形態168に記載の復号器。
【0472】
<実施形態170>
データストリームにおける選択された変換のシグナリングを、
変換係数データに対する選択された変換のシグナリングの相対位置決め、および/または
シグナリングのシンタックス要素への分解
が選択可能な変換のリストに依存する
ような方法で行う
ように構成された、実施形態161から169のいずれか1つに記載の復号器。
【0473】
<実施形態181>
ブロックベースの予測およびブロックベースの残差符号化を使用して画像をデータストリームに符号化するための符号器であって、符号器が、ブロックベースの残差符号化のための変換セットをサポートし、
変換セットの中から現在の残差ブロックのための選択可能な変換のリストを決定し、
選択可能な変換のリストの中からの1つの選択された変換を使用して残差ブロック内の予測残差を符号化し、
変換インジケータ(124)を使用してデータストリームにおいて選択された変換をシグナリングし(128)、
変換インジケータが1桁または複数桁の符号を使用してデータストリームにおいてシグナリングされ、1桁または複数桁のセットの各々がそれぞれの変換特性と一意に関連付けられる、
ように構成された、符号器。
【0474】
<実施形態182>
各変換特性が、
選択された変換が多段変換であるかどうか、および
選択された変換が、変換係数の所定の数より少ない変換係数を有する変換であるかどうか
のうちの1つである、実施形態181に記載の符号器。
【0475】
<実施形態183>
近隣の残差ブロックの変換インジケータに依存する確率推定を使用するエントロピー符号化を使用して少なくとも1桁のセットのうちの少なくとも1つを符号化する
ように構成された、実施形態181または182に記載の符号器。
【0476】
<実施形態191>
ブロックベースの予測およびブロックベースの残差復号を使用してデータストリームから画像を復号するための復号器であって、復号器が、ブロックベースの残差復号のための変換セットをサポートし、
変換セットの中から現在の残差ブロックのための選択可能な変換のリストを決定し、
選択可能な変換のリストの中からの1つの選択された変換を使用してデータストリーム(14)から残差ブロック内の予測残差を復号し、
変換インジケータ(124)を使用してデータストリームから選択された変換を導出し(128)、
変換インジケータが1桁または複数桁の符号[例えば、2進演算符号化を受ける124のbinまたは124が構成される、14からパースされ得るシンタックス要素]を使用してデータストリームから導出され、1桁または複数桁のセットの各々がそれぞれの変換特性と一意に関連付けられる、
ように構成された、復号器。
【0477】
<実施形態192>
各変換特性が、
選択された変換が多段変換であるかどうか、および
選択された変換が、変換係数の所定の数より少ない変換係数を有する変換であるかどうか
のうちの1つである、実施形態191に記載の復号器。
【0478】
<実施形態193>
近隣の残差ブロックの変換インジケータに依存する確率推定を使用するエントロピー復号を使用して少なくとも1桁のセットのうちの少なくとも1つを復号する
ように構成された、実施形態191または192に記載の復号器。
【0479】
上記の符号器/復号器のいずれかによって行われる方法、
方法を行うためのコンピュータプログラム、
本発明の符号化方法によって生成されるデータストリーム。
【0480】
いくつかの態様が装置の文脈で説明されているが、これらの態様は、ブロックまたはデバイスが方法ステップまたは方法ステップの特徴に対応する、対応する方法の説明も表していることは明らかである。同様に、方法ステップの文脈で説明された態様も、対応するブロックもしくは項目または対応する装置の特徴を表している。
【0481】
方法ステップの一部または全部が、例えば、マイクロプロセッサ、プログラマブルコンピュータ、または電子回路のようなハードウェア装置によって(またはハードウェア装置を使用して)実行されてもよい。いくつかの実施形態では、最も重要な方法ステップのうちの1つまたは複数がそのような装置によって実行され得る。
【0482】
特定の実施要件に応じて、本発明の実施形態を、ハードウェアまたはソフトウェアで、または少なくとも一部をハードウェアで、または少なくとも一部をソフトウェアで実施することができる。実施態様は、それぞれの方法が行われるようにプログラマブル・コンピュータ・システムと協働する(または協働することができる)、電子的に読み取り可能な制御信号が格納されたデジタル記憶媒体、例えば、フロッピーディスク、DVD、Blu-Ray、CD、ROM、PROM、EPROM、EEPROMまたはフラッシュメモリを使用して実行することができる。したがって、デジタル記憶媒体はコンピュータ可読であり得る。
【0483】
本発明によるいくつかの実施形態は、本明細書に記載される方法のうちの1つが行われるように、プログラマブル・コンピュータ・システムと協働することができる、電子的に読み取り可能な制御信号を有するデータキャリアを含む。
【0484】
一般に、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実現することができ、プログラムコードは、コンピュータプログラム製品がコンピュータ上で動作すると、方法のうちの1つを行うように動作する。プログラムコードは、例えば、機械可読キャリアに格納され得る。
【0485】
他の実施形態は、機械可読キャリアに格納された、本明細書に記載される方法のうちの1つを行うためのコンピュータプログラムを含む。
【0486】
言い換えると、本発明の方法の一実施形態は、したがって、コンピュータプログラムがコンピュータ上で動作するときに本明細書に記載される方法のうちの1つを行うためのプログラムコードを有するコンピュータプログラムである。
【0487】
本発明の方法の別の実施形態は、したがって、本明細書に記載される方法のうちの1つを行うためのコンピュータプログラムが記録されているデータキャリア(またはデジタル記憶媒体、またはコンピュータ可読媒体)である。データキャリア、デジタル記憶媒体、または記録された媒体は通常、有形および/または非一時的である。
【0488】
本発明の方法の別の実施形態は、したがって、本明細書に記載される方法のうちの1つを行うためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、例えば、データ通信接続を介して、例えばインターネットを介して転送されるように構成され得る。
【0489】
別の実施形態は、本明細書に記載される方法のうちの1つを行うように構成または適合された処理手段、例えばコンピュータ、またはプログラマブル・ロジック・デバイスを含む。
【0490】
別の実施形態は、本明細書に記載される方法のうちの1つを行うためのコンピュータプログラムがインストールされたコンピュータを含む。
【0491】
本発明による別の実施形態は、本明細書に記載される方法のうちの1つを行うためのコンピュータプログラムを受信機に(例えば、電子的または光学的に)転送するように構成された装置またはシステムを含む。受信機は、例えば、コンピュータ、モバイルデバイス、メモリデバイスなどであり得る。装置またはシステムは、例えば、コンピュータプログラムを受信機に転送するためのファイルサーバを含み得る。
【0492】
いくつかの実施形態では、プログラマブル・ロジック・デバイス(例えば、フィールド・プログラマブル・ゲート・アレイ)を使用して、本明細書に記載される方法の機能の一部または全部が行われ得る。いくつかの実施形態では、フィールド・プログラマブル・ゲート・アレイが、本明細書に記載される方法のうちの1つを行うためにマイクロプロセッサと協働し得る。一般に、これらの方法は好ましくは、任意のハードウェア装置によって行われる。
【0493】
本明細書に記載される装置は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータの組み合わせを使用して実施され得る。
【0494】
本明細書に記載される方法は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータの組み合わせを使用して行われ得る。
【0495】
本開示は、例示的な実施形態を参照して説明されているが、この説明は、限定的な意味で解釈されることを意図されたものではない。説明を参照すれば当業者には、例示的な実施形態の様々な改変形態および組み合わせ、ならびに本開示の他の実施形態が明らかになるであろう。したがって、添付の特許請求の範囲はそのような改変形態または実施形態を包含することが意図されている。
【0496】
<参考文献>
[1] J.Chen,E.Alshina,G.J.Sullivan,J.-R.Ohm,J.Boyce(JEM editors)“Algorithm description of Joint Exploration Test Model 7”,JVET-G1001,Torino,Jul.2017.
[2] X.Zhao,J.Chen,M.Karczewicz,“Mode-dependent non-separable secondary transform”,ITU-T SG16/Q6 Doc.COM16-C1044,Oct.2015.
[3] C.Lan,J.Xu and F.Wu,“Enhancement of HEVC using Signal Dependent Transform(SDT)”,MPEG doc.m37503,Oct.2015 and ITU-T SG16/Q6 Doc.VCEG-AZ08,Jun.2015.
[4] E.Alshina,A.Alshin,J.-H.Min,K.Choi,A.Saxena,M.Budagavi,“Known tools performance investigation for next generation video coding”,ITU-T SG16 Doc.VCEG-AZ05,Jun.2015.
[5] J.Chen,Y.Chen,M.Karczewicz,X.Li,H.Liu,L.Zhang,X.Zhao,“Coding tools investigation for next generation video coding”,ITU-T SG16 Doc.COM16-C806,Feb.2015.
[6] B.Li,O.G.Guleryuz,J.Ehmann and A.Vosough,“LAYERED-GIVENS TRANSFORMS:TUNABLE COMPLEXITY,HIGH-PERFORMANCE APPROXIMATION OF OPTIMAL NON-SEPARABLE TRANSFORMS”,ICIP,2017.
[7] Said,Amir,et al.“Highly efficient non-separable transforms for next generation video coding.” Picture Coding Symposium(PCS),2016.IEEE,2016.
[8] De Luxan Hernadez,Marpe,et al.“ Predictive Picture Coding using Transform-Based Residual Coding”,PCT/EP2017/067708,2018.
図1
図2
図3
図4-1】
図4-2】
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
【手続補正書】
【提出日】2023-03-23
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ブロックベース予測及びブロックベース残差符号化を使用して画像(12)をデータストリーム(14)に符号化する方法であって、
現在の残差ブロック(84)の高さ及び幅に基づいて、変換セット(94)の中から現在の残差ブロック(84)のための変換を選択することであって、前記変換セット(94)は複数の一次+二次変換(106)及び一次変換(108)を含み、前記一次+二次変換(106)の各々は前記現在の残差ブロックの位置の第1のサブグループ(112)の一次変換係数に適用されるそれぞれの非分離可能な二次変換(106)に続いて、前記現在の残差ブロックの位置の第2のサブグループ(138)のそれぞれの二次変換係数をもたらす、一次変換(108)を含む、選択することと、
現在の残差ブロックを選択された変換で変換し、変換された残差ブロックをもたらし、変換された残差ブロックをデータストリームに符号化することと、
前記選択された変換が、複数の一次+二次変換のうちの1つか又は前記選択された変換が一次変換であり、前記第2のサブグループ(138)の外側の位置における前記変換された残差ブロックのすべての変換係数がゼロである場合、前記選択された変換を示すためにインデックスをデータストリームに符号化することと、
そうでない場合、前記選択された変換が一次変換であり、前記第2のサブグループ(138)の外側の位置における前記変換された残差ブロックの少なくとも1つの変換係数が有意(非ゼロ)であるとき、前記選択された変換を示すためにインデックスを前記データストリームに符号化しないことと、
を含む、方法。
【請求項2】
前記現在の残差ブロックの位置の前記第1のサブグループ(112)の前記一次変換係数は、前記一次変換の低周波部分を表す、請求項1に記載の方法。
【請求項3】
前記現在の残差ブロックの位置の前記第1のサブグループ(112)の前記一次変換係数は、4×4の3つの左/上端の係数サブグループを含む、請求項1に記載の方法。
【請求項4】
前記変換セットから前記現在の残差ブロックのための前記変換を選択することは、イントラ予測モードアグリゲーションにさらに基づく、請求項1に記載の方法。
【請求項5】
ブロックベース予測及びブロックベース残差復号を使用してデータストリーム(14)から画像(12)を復号する方法であって、
現在の残差ブロック(84)の高さ及び幅に基づいて、変換セット(94)のうちの現在の残差ブロック(84)のための変換候補セット(98)を決定すること(130)であって、前記変換セット(94)は複数の一次+二次変換(106)の逆変換と一次変換(108)の逆変換とを含み、前記一次+二次変換(106)の各々は前記現在の残差ブロックの位置の第1のサブグループ(112)の一次変換係数に適用されるそれぞれの非分離可能な二次変換(106)に続いて、前記現在の残差ブロックの位置の第2のサブグループ(138)のそれぞれの二次変換係数をもたらす、一次変換(108)を含み、前記決定することは、係数位置の前記第2のサブグループの外側の前記現在の残差ブロックの変換係数が有意であり(非ゼロ)、且つ一次変換を変換候補セットに含む場合にのみ、前記変換候補セット(98)における前記複数の一次+二次変換の逆変換を含むことを含む、決定することと、
前記決定された変換候補セットが複数の一次+二次変換の逆変換を含む場合、前記データストリームから前記変換候補セット中の前記変換を示すインデックスを復号することによって変換を選択することと、
前記決定された変換候補セットが複数の一次+二次変換の逆変換を含まない場合、前記データストリームから前記変換を示すインデックスを復号することなく、前記変換を一次変換として選択することと、
変換係数の前記現在の残差ブロック(84)に前記選択された変換を適用することによって予測残差(100)を復号することと、
を含む、方法。
【請求項6】
前記現在の残差ブロックの位置の前記第1のサブグループ(112)の前記一次変換係数は、前記一次変換の低周波部分を表す、請求項5に記載の方法。
【請求項7】
前記現在の残差ブロックの位置の前記第1のサブグループ(112)の前記一次変換係数は、4×4の3つの左/上端の係数サブグループを含む、請求項5に記載の方法。
【請求項8】
現在の残差ブロック(102)の最後の有意な変換係数位置(132)の指示と、順次トラバース係数位置の所定のスキャン順序(136)で前記最後の有意な変換係数位置(132)から先にトラバースされる、前記現在の残差ブロックの変換係数(134)の値とを復号することをさらに含み、前記変換候補セット(98)を決定すること(130)が、前記指示に依存する、請求項5に記載の方法。
【請求項9】
前記変換候補セットを決定することは、イントラ予測モードアグリゲーションにさらに基づく、請求項5に記載の方法。
【請求項10】
前記複数の一次+二次変換(106)は、2と6の間である、請求項5に記載の方法。
【請求項11】
少なくとも1つのプロセッサとメモリとを備えるビデオ符号器であって、前記メモリは前記少なくとも1つのプロセッサによって実行されると、前記ビデオ符号器に、請求項1~4のいずれか1項に記載の方法を実行させる命令を含む、ビデオ符号器。
【請求項12】
少なくとも1つのプロセッサとメモリとを備えるビデオ復号器であって、前記メモリは前記少なくとも1つのプロセッサによって実行されると、前記ビデオ復号器に、請求項6~10のいずれか一項に記載の方法を実行させる命令を含む、ビデオ復号器。
【請求項13】
コンピュータプログラムが記憶されたコンピュータ可読記憶媒体であって、前記コンピュータプログラムは、プロセッサ上で実行されると、請求項1~4のいずれか1項に記載の方法を前記プロセッサに実行させる、コンピュータ可読記憶媒体。
【請求項14】
コンピュータプログラムが記憶されたコンピュータ可読記憶媒体であって、前記コンピュータプログラムは、プロセッサ上で実行されると、請求項6~10のいずれか1項に記載の方法を前記プロセッサに実行させる、コンピュータ可読記憶媒体。