(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024050875
(43)【公開日】2024-04-10
(54)【発明の名称】サンプルブロックの変換済み表現についてのコーディングコンセプト
(51)【国際特許分類】
H04N 19/12 20140101AFI20240403BHJP
H04N 19/18 20140101ALI20240403BHJP
H04N 19/176 20140101ALI20240403BHJP
H04N 19/129 20140101ALI20240403BHJP
【FI】
H04N19/12
H04N19/18
H04N19/176
H04N19/129
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2024018126
(22)【出願日】2024-02-08
(62)【分割の表示】P 2022529840の分割
【原出願日】2020-11-25
(31)【優先権主張番号】19211643.2
(32)【優先日】2019-11-26
(33)【優先権主張国・地域又は機関】EP
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Blu-ray
(71)【出願人】
【識別番号】591037214
【氏名又は名称】フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】ブロス ベンヤミン
(72)【発明者】
【氏名】デ ルクサン エルナンデス サンティアゴ
(72)【発明者】
【氏名】シュワルツ ヘイコ
(72)【発明者】
【氏名】マーペ デトレフ
(72)【発明者】
【氏名】ウィーガンド トーマス
(57)【要約】
【課題】データストリームからサンプルブロックの変換済み表現を復号する。
【解決手段】データストリームからサンプルブロックの変換済み表現を復号するデコーダ。最初にコーディングされた係数が変換係数ブロックの予め定められたサブエリアの内側に位置する場合、及び下層の変換が利用可能な変換の第1のセット内にある場合、デコーダは、第1の係数スキャン順序に従って、係数を復号する。変換が利用可能な変換の第2のセット内にある場合、デコーダは、第2の係数スキャン順序に従って、予め定められたサブエリア内に位置する係数を復号し、予め定められたサブエリアの外側に位置する係数がゼロであると推測する。第1の係数スキャン順序は、予め定められたサブエリアの外側の係数が、予め定められたサブエリアの内側に位置する2つの変換係数の間でスキャンされるものである。第2の係数スキャン順序は、予め定められたサブエリア内の係数をスキャンすることの間の予め定められたサブエリアの外側のいずれの係数もスキャンしない。
【選択図】
図7
【特許請求の範囲】
【請求項1】
データストリーム(14)からブロック(84)の変換済み表現を復号するデコーダ(20)であって、前記デコーダ(20)は、
前記データストリーム(14)から係数位置情報(100)を復号することであって、前記係数位置情報(100)は、変換係数ブロック(104)内の最初にコーディングされた係数位置(102)を示す、前記復号することと、
前記最初にコーディングされた係数位置を使用して、少なくとも1つの非ゼロ係数が前記変換係数ブロック(104)の予め定められたサブエリア(106)の外側に位置することを判定することと、
前記判定したことに基づいて、利用可能な変換のセット(130)から、1つ以上の利用可能な変換の第2のセット(134)を取り除くことによって、利用可能な変換の前記セット(130)を1つ以上の利用可能な変換の第1のセット(132)まで低減させることと、
1つ以上の利用可能な変換の前記第1のセット(132)から前記変換係数ブロック(104)に適用される変換(131)を決定することと、
決定された前記変換(131)を使用して、第1の係数スキャン順序(110)に従って、前記最初にコーディングされた係数位置(102)から最後にスキャンされた位置(101)の方に位置する前記変換係数ブロック(104)の変換係数の値を復号すること(109)と、
を行うように構成される、デコーダ(20)。
【請求項2】
前記最初にコーディングされた係数位置(102)が前記変換係数ブロック(104)の前記予め定められたサブエリア(106)の内側に位置する場合、
前記データストリームにおいて伝送された変換情報(108)を使用して、前記変換係数ブロック(104)に適用される前記変換(131)が利用可能な変換の前記セット(130)の1つ以上の利用可能な変換の前記第1のセット(132)または利用可能な変換の前記セット(130)の1つ以上の利用可能な変換の前記第2のセット(134)内にあるかどうかを検査すること(111)と、
前記変換係数ブロック(104)に適用される前記変換(131)が、1つ以上の利用可能な変換の前記第1のセット(132)内にある場合、前記第1の係数スキャン順序(110)に従って、前記最初にコーディングされた係数位置(102)から前記最後にスキャンされた位置(101)の方に位置する前記変換係数ブロック(104)の前記変換係数の値を復号し(109)、前記第1の係数スキャン順序(110)に従って、前記最初にコーディングされた係数位置(102)の上流に位置する前記変換係数ブロック(104)の変換係数(112)の前記値がゼロであると推測することと、
前記変換係数ブロック(104)に適用される前記変換(131)が1つ以上の利用可能な変換の前記第2のセット(134)内にある場合、前記予め定められたサブエリア(106)内に位置し、第2の係数スキャン順序(114)に従って、前記最初にコーディングされた係数位置(102)から前記最後にスキャンされた位置(101)の方に位置する前記変換係数ブロック(104)の前記変換係数の前記値を復号し(113)、前記第1の係数スキャン順序(110)に従って、前記最初にコーディングされた係数位置(102)の上流に位置する前記変換係数ブロック(104)の変換係数(116)及び前記予め定められたサブエリア(106)の外側に位置する前記変換係数ブロック(104)の前記変換係数の前記値がゼロであると推測することと、
を行うように構成される、
請求項1に記載のデコーダ(20)。
【請求項3】
前記第2の係数スキャン順序(114)は、前記予め定められたサブエリア(106)内の前記変換係数の間の前記予め定められたサブエリア(106)の外側のいずれの変換係数(118)をもスキャンすることなく、前記予め定められたサブエリア(106)内の前記変換係数をスキャンし、前記第1の係数スキャン順序(110)は、前記予め定められたサブエリア(106)の内側に位置する2つの変換係数(120)の間の前記第1の係数スキャン順序(110)によってスキャンされた前記予め定められたサブエリア(106)の外側に1つ以上の変換係数(118)が存在するような方式において前記変換係数をスキャンする、
請求項2に記載のデコーダ(20)。
【請求項4】
前記ブロック(84)を取得するように、前記変換係数ブロックに適用される前記変換(131)を反転させる逆変換を前記変換係数ブロック(104)に受けさせるようにさらに構成される、請求項1~3のいずれか一項に記載のデコーダ(20)。
【請求項5】
イントラピクチャ予測またはインターピクチャ予測によって得られた予測信号を補正するために前記ブロックを使用するようにさらに構成される、請求項1~4のいずれか一項に記載のデコーダ(20)。
【請求項6】
データストリーム(14)にブロック(84)の変換済み表現を符号化するエンコーダ(10)であって、
前記データストリーム(14)に係数位置情報(100)を符号化することであって、前記係数位置情報(100)は、変換係数ブロック(104)内の最初にコーディングされた係数位置(102)を示す、前記符号化することと、
前記最初にコーディングされた係数位置を使用して、少なくとも1つの非ゼロ係数が前記変換係数ブロック(104)の予め定められたサブエリア(106)の外側に位置することを判定することと、
前記判定したことに基づいて、利用可能な変換のセット(130)から、1つ以上の利用可能な変換の第2のセット(134)を取り除くことによって、利用可能な変換の前記セット(130)を1つ以上の利用可能な変換の第1のセット(132)まで低減させることと、
1つ以上の利用可能な変換の前記第1のセット(132)から前記変換係数ブロック(104)に適用される前記変換(131)を決定することと、
第1の係数スキャン順序(110)に従って、前記最初にコーディングされた係数位置(102)から最後にスキャンされた位置(101)の方に位置する前記変換係数ブロック(104)の変換係数の値を符号化すること(109)と、
を行うように構成される、エンコーダ(10)。
【請求項7】
前記最初にコーディングされた係数位置(102)が前記変換係数ブロック(104)の前記予め定められたサブエリア(106)の内側に位置する場合、
前記変換係数ブロック(104)に適用される前記変換(131)が利用可能な変換の前記セット(130)の1つ以上の利用可能な変換の前記第1のセット(132)または利用可能な変換の前記セット(130)の1つ以上の利用可能な変換の第2のセット(134)内にあるかどうかを検査すること(111)と、
前記変換係数ブロック(104)に適用される前記変換(131)が、1つ以上の利用可能な変換の前記第1のセット(132)内にある場合、前記第1の係数スキャン順序(110)に従って、前記最初にコーディングされた係数位置から前記最後にスキャンされた位置(101)の方に位置する前記変換係数ブロック(104)の前記変換係数の値を符号化すること(109)であって、前記第1の係数スキャン順序(110)に従って、前記最初にコーディングされた係数位置(102)の上流に位置する前記変換係数ブロック(104)の変換係数(112)がゼロである、符号化することと、
前記変換係数ブロック(104)に適用される前記変換(131)が1つ以上の利用可能な変換の前記第2のセット(134)内にある場合、前記予め定められたサブエリア(106)内に位置し、第2の係数スキャン順序(114)に従って、前記最初にコーディングされた係数位置から前記最後にスキャンされた位置(101)の方に位置する前記変換係数ブロック(104)の変換係数の値を符号化すること(113)であって、前記第1の係数スキャン順序(110)に従って、前記最初にコーディングされた係数位置(102)の上流に位置する前記変換係数ブロック(104)の変換係数(116)及び前記予め定められたサブエリア(106)の外側に位置する前記変換係数ブロック(104)の変換係数がゼロである、符号化することと、
を行うように構成される、
請求項6に記載のエンコーダ(10)。
【請求項8】
前記第2の係数スキャン順序(114)は、前記予め定められたサブエリア(106)内の前記変換係数の間の前記予め定められたサブエリアの外側のいずれの変換係数をもスキャンすることなく、前記予め定められたサブエリア(106)内の前記変換係数をスキャンし、前記第1の係数スキャン順序(110)は、前記予め定められたサブエリア(106)の内側に位置する2つの変換係数(120)の間の前記第1の係数スキャン順序(110)によってスキャンされた前記予め定められたサブエリア(106)の外側に1つ以上の変換係数(118)が存在するような方式において前記変換係数をスキャンする、
請求項7に記載のエンコーダ(10)。
【請求項9】
前記ブロック(84)を取得するように、前記変換係数ブロックに適用される前記変換(131)を反転させる逆変換を前記変換係数ブロック(104)に受けさせるように構成されたフィードバックループをさらに備える、請求項6~8のいずれか一項に記載のエンコーダ(10)。
【請求項10】
前記変換係数ブロック(104)を取得するように、前記変換係数ブロック(104)に適用される前記変換(131)を前記ブロック(84)に受けさせるようにさらに構成される、請求項6~9のいずれか一項に記載のエンコーダ(10)。
【請求項11】
イントラピクチャ予測またはインターピクチャ予測によって得られた予測信号を補正するために前記ブロック(84)を使用するように構成されたフィードバックループをさらに備えた、請求項6~10のいずれか一項に記載のエンコーダ(10)。
【請求項12】
イントラピクチャ予測またはインターピクチャ予測によって得られた予測信号の予測残差を導出し、前記予測残差を表す前記ブロック(84)を決定するようにさらに構成される、請求項6~11のいずれか一項に記載のエンコーダ(10)。
【請求項13】
データストリーム(14)からブロック(84)の変換済み表現を復号する方法であって、
前記データストリーム(14)から係数位置情報(100)を復号することであって、前記係数位置情報(100)は、変換係数ブロック(104)内の最初にコーディングされた係数位置(102)を示す、前記復号することと、
前記最初にコーディングされた係数位置を使用して、少なくとも1つの非ゼロ係数が前記変換係数ブロック(104)の予め定められたサブエリア(106)の外側に位置することを判定することと、
前記判定したことに基づいて、利用可能な変換のセット(130)から、1つ以上の利用可能な変換の第2のセット(134)を取り除くことによって、利用可能な変換の前記セット(130)を1つ以上の利用可能な変換の第1のセット(132)まで低減させ、1つ以上の利用可能な変換の前記第1のセット(132)から前記変換係数ブロック(104)に適用される変換(131)を決定することと、
前記決定された変換(131)を使用して、第1の係数スキャン順序(110)に従って、前記最初にコーディングされた係数位置(102)から最後にスキャンされた位置(101)の方に位置する前記変換係数ブロック(104)の変換係数の値を復号すること(109)と、
を備える、方法。
【請求項14】
データストリーム(14)にブロック(84)の変換済み表現を符号化する方法であって、
前記データストリーム(14)に係数位置情報(100)を符号化することであって、前記係数位置情報(100)は、変換係数ブロック(104)内の最初にコーディングされた係数位置(102)を示す、前記符号化することと、
前記最初にコーディングされた係数位置を使用して、少なくとも1つの非ゼロ係数が前記変換係数ブロック(104)の予め定められたサブエリア(106)の外側に位置することを判定することと、
前記判定したことに基づいて、利用可能な変換のセット(130)から、1つ以上の利用可能な変換の第2のセット(134)を取り除くことによって、利用可能な変換の前記セット(130)を1つ以上の利用可能な変換の第1のセット(132)まで低減させ、1つ以上の利用可能な変換の前記第1のセット(132)から前記変換係数ブロック(104)に適用される変換(131)を決定することと、
第1の係数スキャン順序(110)に従って、前記最初にコーディングされた係数位置から最後にスキャンされた位置(101)の方に位置する前記変換係数ブロック(104)の変換係数の値を符号化すること(109)であって、前記第1の係数スキャン順序に従って、前記最初にコーディングされた係数位置(102)の上流に位置する前記変換係数ブロック(104)の前記変換係数がゼロである、符号化することと、
を備える方法。
【請求項15】
コンピュータ上で稼働するとき、請求項13または14に記載の方法を実行するためのプログラムコードを有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明に従った実施形態は、データストリームからサンプルブロックの変換済み表現を復号するデコーダ、サンプルブロックの変換済み表現をデータストリームに符号化するエンコーダ、対応する方法、コンピュータ上で稼働するとき、データストリームから/にサンプルブロックの変換済み表現を復号/符号化する方法を実行するプログラムコードを有するコンピュータプログラム、及びデータストリームに関連する。
【0002】
導入
AVC及びHEVCなどのハイブリッドビデオ圧縮スキームは、予測残差の変換、変換係数の量子化、及び量子化インデックスのエントロピコーディングがそれに続く、ブロックに基づく予測に依存する。後者は、変換係数コーディングまたは残差コーディングとも称される。以下の説明は、実用的なハイブリッドビデオ圧縮スキームにおいて実装されるように、変換の整数近似についても変換という用語を使用する。
【0003】
従来から、固定された変換は、潜在的なブロックサイズN×Nごとにビデオコーディング標準規格において規定されている。例えば、HEVC標準規格は、それに対してDST VIが使用される、イントラピクチャ予測済み4×4ブロックを除き、DCT-IIの使用を規定する。複数の予め定義された変換タイプの間での選択を有効にすることによって、より高い圧縮効率を達成することができる。Versatile Video Coding(VVC)についての現在のドラフトは、5つの異なる水平及び垂直の垂直変換タイプ結合のセット(DCT-II、DST-VII、及びDCT-VIIIを含む)を規定する。ビットストリームは、エンコーダによって選択された変換タイプがそれによってデコーダにシグナリングされるシンタックスを含む。変換係数レベルのコーディングは、選択された変換タイプとは独立しており、選択された変換タイプの前にシグナリングされる。複雑であることを理由に、16個以下の非ゼロ係数を包含する行及び列のみに非DCT-II変換タイプが適用される。このケースでは、変換されることになるブロック(変換ブロック)は、16よりも大きい幅及び高さを有することがあるが、左上の16×16エリアの外側の全ての係数がゼロであることが必要とされる。更に、16×16よりも大きい完全変換ブロックに変換が適用され、その結果、残差サンプルの結果として生じるブロックも、16×16よりも大きい。変換の実装ロジックを低減させるこの様式は、ゼロアウトと更に称される。
【0004】
更に、現在のVVCドラフトは、エンコーダにおける変換、及び逆変換の前のデコーダにおけるその逆の後に適用することができる、追加の低周波数非分離可能変換(LFNST)を規定する。このLFNSTについて、複数の変換カーネルがエンコーダにおいて選択されることがあり、LFNSTインデックスを使用してデコーダにシグナリングされることがある。複雑であることを理由に、現在のVVCにおいて、LFNSTのみがDCT-IIと組み合わされ得る。
【背景技術】
【0005】
VVC発展を含む、現在の最新のビデオコーディング技術は、複数の予め定義された変換タイプの1つをシグナリングする手段を規定する。選択された変換を示すシンタックス、例えば、複数の変換選択(MTS)インデックスの前に変換係数レベルがコーディングされる。
【0006】
サブブロックまたは係数グループにおいて変換係数レベルがコーディングされる。1つのスキャンパターンを使用してサブブロックが処理され、なおもスキャンパターンを使用してサブブロックの内側の係数が処理される。現在のVVCドラフト7にあるように、両方のスキャンパターンは、後方/逆対角線スキャンであることがある。しかしながら、他のスキャンパターン及び方向も採用され得る。
図1は、64個の4×4サブブロック117に細分割された、32×32変換ブロック104の例を例示する。この例では、サブブロック117は、逆対角線スキャン115で、すなわち、右下隅103から左上隅101まで処理される。
図1は、32×32変換ブロック104の内側の4×4サブブロック117の後方/逆対角線スキャニングを示す。DCTに基づく変換は、左上隅101においてエネルギーを集中させる傾向があり、よって、量子化済み係数値は、量子化の後に、ブロック、すなわち、変換ブロック104の右下隅103においてゼロになる傾向がある。スキャン順序115において最初の非ゼロ係数102の前のゼロのシーケンスをコーディング及び復号することを防止するために、(逆)スキャン順序115における最初の(最後の)非ゼロまたは有意係数102は、サブブロックを処理する前にシグナリングされる。この最初の有意係数、すなわち、最初の非ゼロ102を包含するサブブロック117のみが分かるので、
図1の右側に示されるように、スキャン順序115における全ての後続のサブブロック117が処理される。
【0007】
例えば、1つの方向において32個の係数によるより長い変換は、実装においてより多くのロジック及びメモリを必要とする。前に既に言及されたように、これは、現在のVVCドラフトにおけるゼロアウト設計を動機付けてきた。この設計では、全ての変換タイプが、各方向における32個の係数に適用されることがあるが、非DCT-IIについて、各方向における最後の16個の係数が0に等しいことが必要とされる。
図2は、最初の16×16係数のみが非ゼロであり得る32×32変換ブロック104に対して変換を適用することによって、再構築済み残差サンプルの32×32ブロック、例えば、サンプルブロック84が生成される、この処理を例示する。
図2は、逆変換40/54の前の32×32変換ブロック104の変換係数レベルゼロアウトを示す。
【0008】
変換が選択された情報、例えば、MTSインデックスは、変換係数の後にシグナリングされる。結果として、最初のまたは最後の有意係数102の位置が既知である。この係数が16×16非ゼロエリア、すなわち、予め定められたサブエリア106の外側であるとき、このケースでは許可された変換がDCT-IIのみであることを理由に、変換選択をシグナリングする必要がない。しかしながら、現在の設計では、16×16エリアの外側の全ての係数がゼロに等しいことを保証することができない。これは、
図3における右側の例に見ることができ、そこでは、最後の位置、すなわち、最初または最後にコーディングされた係数位置102が16×16非ゼロエリアの内側に位置するが、スキャンパターン110における後続のサブブロックは、このエリアの外側である。それらの非ゼロ係数が存在するケースでは、エンコーダ制約は、例えば、0に等しいMTSインデックスを常にシグナリングすることによって、シグナリングされた変換がDCT-IIであることを保証する必要がある。DCT-IIが明確にシグナリングされるが、常に0であることが必要とされることを理由に、これは、シグナリングオーバヘッドを生じさせる。以下では、非ゼロ要件は、全ての非ゼロ変換係数が非ゼロエリア、すなわち、予め定められたサブエリア106の内側に位置すること、及び非ゼロエリアの外側の全ての変換係数がゼロである必要があることを定義することがある。以下では、この態様に対処するための2つのアプローチが説明される。
図3は、発明の実施形態に従った、ゼロアウトのためのサブブロックの修正された対角線スキャニング110を左側に示す。
【0009】
複数の変換選択が上述したLFNSTなどの追加の変換と結合されるとき、実装ロジックを低減させるために、結合も制約されることがある。最新のVVCドラフトでは、例えば、LFSNTのみがDCT-IIと組み合わされ得、LFNSTが適用されるかどうか、及び適用される場合、どのカーネルに適用されるかを示すLFNSTインデックスは、MTSインデックスの前にシグナリングされる。LFNSTインデックスがLFNSTカーネルの使用を示すとき、MTSインデックスはシグナリングされず、0に等しい、すなわち、DCT-IIであると推測される。簡易化されたシンタックス図が
図13の左側に例示される。
【0010】
したがって、ピクチャのブロックについての複数の予め定義された変換タイプの間の選択をサポートする、より効率的にピクチャコーディング及び/またはビデオコーディングをレンダリングするコンセプトを提供することが望ましい。加えて、または代わりに、ビットストリーム、よってシグナル伝達コストを低減させ、例えば、シグナリングオーバヘッドを低減させることが望ましい。
【0011】
これは、本出願の独立請求項の主題によって達成される。
【0012】
発明に従った更なる実施形態は、本出願の従属請求項の主題によって定義される。
【発明の概要】
【0013】
本発明の第1の態様に従って、本出願の発明者は、一部の変換について、例えば、非DCT-II変換のような変換の第2のセット内の変換について、変換係数ブロックの非ゼロ係数のみが変換係数ブロックの予め定められたサブエリア内で許可され/位置することが必要とされることの事実から起こる、ピクチャのブロックについての変換の選択を有効にすることを試みるときに1つの問題に直面することを認識している。変換係数ブロックの予め定められたサブエリアの内側の最初にコーディングされた係数位置、すなわち、最初の非ゼロ係数の位置に応じて、予め定められたサブエリアの外側のゼロ係数が係数スキャン順序に従って復号/符号化されることが可能である。変換係数は、最初にコーディングされた係数位置から最後のスキャニング位置、例えば、左上隅内の係数、すなわち、DC係数の方への係数スキャン順序、または変換係数ブロックの左上隅にある係数から最初にコーディングされた係数位置の方への係数スキャン順序に従ってスキャンされてもよく、それは、この後者のケースでは最後にコーディングされた係数位置として理解することができる。本出願の第1の態様に従って、ゼロ係数を復号/符号化するこの課題は、利用可能な変換のセットの1つ以上の利用可能な変換の第2のセット内の変換と関連付けられた変換係数ブロックに対して、利用可能な変換のセットの1つ以上の利用可能な変換の第1のセット内の変換と関連付けられた変換係数ブロックについての異なるスキャン順序を使用して克服される。変換係数ブロックが1つ以上の利用可能な変換の第1のセット内の変換と関連付けられるケースでは、変換係数ブロックは、変換係数ブロックの予め定められたサブエリアの外側の非ゼロ係数を含み、変換係数ブロックが1つ以上の利用可能な変換の第2のセット内の変換と関連付けられるケースでは、変換係数ブロックは、変換係数ブロックの予め定められたサブエリアの内側のみの非ゼロ係数を含む。発明者は、それぞれの変換係数ブロックの下層の変換に応じた異なる係数スキャン順序を使用することが、コーディング効率を改善し、シグナリングオーバヘッドを低減させることに関して有利であることを発見した。これは、全ての非ゼロ係数が変換係数ブロックの予め定められたサブエリアの内側に位置するか否かを変換が示すことができ、それによって、選択されたスキャン順序に従って非ゼロ変換係数のみが復号/符号化されるように、スキャン順序を選択することができるという着想に基づいている。変換係数ブロックの下層の変換が1つ以上の利用可能な変換の第1のセット内にある場合、第1の係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの変換係数の値が復号/符号化され、デコーダは、第1の係数スキャン順序に従って、最初にコーディングされた係数位置の上流に位置する変換係数ブロックの変換係数がゼロであると推測する。変換係数ブロックの下層の変換が1つ以上の利用可能な変換の第2のセット内にある場合、予め定められたサブエリア内に位置し、第2の係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの変換係数の値が復号/符号化され、デコーダは、第1の係数スキャン順序に従って、最初にコーディングされた係数位置の上流に位置する変換係数ブロックの変換係数及び予め定められたサブエリアの外側に位置する変換係数ブロックの変換係数がゼロであると推測する。よって、スキャンするのに必要な変換係数が少ないことがあるので、ゼロ係数を復号/符号化することを防止することができ、コーディング効率を改善する。
【0014】
したがって、本出願の第1の態様に従って、データストリームから/にサンプルブロックの変換済み表現を復号/符号化するデコーダ/エンコーダは、データストリームから/に係数位置情報を復号/符号化するように構成される。係数位置情報は、変換係数ブロック内の最初にコーディングされた係数位置を示す。最初にコーディングされた係数位置は、係数スキャン順序における最初の非ゼロ変換係数の位置または逆係数スキャン順序における最後の非ゼロ変換係数位置のいずれかを示してもよい。デコーダ/エンコーダは、最初にコーディングされた係数位置が変換係数ブロックの予め定められたサブエリア内に位置するかどうかを検査するように構成される。予め定められたサブエリアは、変換係数ブロックのサブエリアを定義してもよく、サブエリアの内側で、サブエリア変換係数は、非ゼロであり得、サブエリアの外側で、全ての変換係数が特定の変換に対してゼロである必要がある。実施形態に従って、変換係数ブロックの下層の変換が利用可能な変換のセットの1つ以上の利用可能な変換の第1のセット内にあるケースでは、変換係数ブロックは、予め定められたサブエリアの外側の非ゼロ変換係数を含んでもよく、変換係数ブロックの下層の変換が利用可能な変換セットの1つ以上の利用可能な変換の第2のセット内にあるケースでは、予め定められたサブエリアの外側の変換係数はゼロである。予め定められたサブエリアは、16×16変換係数から構成されてもよい。予め定められたサブエリアは、変換係数ブロックの左上に位置してもよい。最初にコーディングされた係数位置が変換係数ブロックの予め定められたサブエリアの内側に位置する場合、変換係数ブロックの下層の変換が利用可能な変換のセットの1つ以上の利用可能な変換の第1のセットまたは利用可能な変換のセットの1つ以上の利用可能な変換の第2のセット内に位置するかどうかが検査される。デコーダは、データストリームにおいて伝送された変換情報を使用して、この検査を実行するように構成される。変換係数ブロックの下層の変換が1つ以上の利用可能な変換の第1のセット内にある場合、デコーダ/エンコーダは、第1の係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの変換係数の値を復号/符号化するように構成され、第1の係数スキャン順序に従って、最初にコーディングされた係数位置の上流に位置する変換係数ブロックの変換係数はゼロである。変換係数ブロックの下層の変換が1つ以上の利用可能な変換の第1のセット内にある場合、デコーダは、第1の係数スキャン順序に従って、最初にコーディングされた係数位置の上流に位置する変換係数ブロックの変換係数がゼロであると推測するように構成される。変換係数ブロックの下層の変換が1つ以上の利用可能な変換の第2のセット内にある場合、デコーダ/エンコーダは、予め定められたサブエリア内に位置し、第2の係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの変換係数の値を復号/符号化するように構成され、第1の係数スキャン順序に従って、最初にコーディングされた係数位置の上流に位置する変換係数ブロックの変換係数及び予め定められたサブエリアの外側に位置する変換係数ブロックの変換係数はゼロである。変換係数ブロックの下層の変換が1つ以上の利用可能な変換の第2のセット内にある場合、デコーダは、第1の係数スキャン順序に従って、最初にコーディングされた係数位置の上流に位置する変換係数ブロックの変換係数及び予め定められたサブエリアの外側に位置する変換係数ブロックの変換係数がゼロであると推測するように構成される。変換係数ブロックに従った変換係数ブロックの下層の変換は、変換済み表現を定義する。第2の係数スキャン順序は、予め定められたサブエリア内の変換係数の間の予め定められたサブエリアの外側のいずれの変換係数をもスキャンすることなく、予め定められたサブエリア内の変換係数をスキャンし、第1の係数スキャン順序は、予め定められたサブエリアの内側に位置する2つの変換係数の間の第1の係数スキャン順序によってスキャンされた予め定められたサブエリアの外側に1つ以上の変換係数が存在するような方式において変換係数をスキャンする。
【0015】
実施形態に従って、デコーダ/エンコーダは、最初にコーディングされた係数位置が変換係数ブロックの予め定められたサブエリアの外側に位置する場合、利用可能な変換のセットから、1つ以上の利用可能な変換の第2のセットを取り除くことによって、利用可能な変換のセットを1つ以上の利用可能な変換の第1のセットまで低減させ、1つ以上の利用可能な変換の第1のセットから変換係数ブロックの下層の変換を判定するように構成される。デコーダ/エンコーダは、第1の係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの変換係数の値を復号/符号化するように構成され、第1の係数スキャン順序に従って、最初にコーディングされた係数位置の上流に位置する変換係数ブロックの変換係数はゼロである。デコーダは、第1の係数スキャン順序に従って、最初にコーディングされた係数位置の上流に位置する変換係数ブロックの変換係数がゼロであると推測するように構成される。よって、最初にコーディングされた係数位置が変換係数ブロックの予め定められたサブエリアの外側に位置するケースでは、デコーダが変換係数ブロックの下層の変換を推測することが可能であり、エンコーダがデータストリームに変換係数ブロックに関連する変換情報を符号化する必要がなく、それによって、ビットストリームを低減させることができ、高コーディング効率を達成することができる。
【0016】
実施形態に従って、デコーダ/エンコーダは、予め定められた確率モデル、例えば、特定の、例えば、LPS(最小確率シンボル)についての推測された確率、特定のコンテキストについて更新されるようなバイナリ値を使用した、コンテキスト適応エントロピ復号/符号化、例えば、コンテキスト適応バイナリ算術コーディングを使用して、データストリームから/に変換情報を復号/符号化するように構成される。デコーダ/エンコーダは、最初にコーディングされた係数位置が変換係数ブロック内に位置する場所に応じて、予め定められた確率モデルを判定するように構成される。デコーダ/エンコーダは、最初にコーディングされた係数位置が変換係数ブロック内に位置する場所に応じて、例えば、継続的に更新されたコンテキストを判定することを介して、予め定められた確率モデルを判定するように構成されてもよい。
【0017】
実施形態に従って、デコーダ/エンコーダは、最初にコーディングされた係数位置が変換係数ブロック内に位置する場所に応じて、予め定められた確率モデルを判定する際、最初にコーディングされた係数位置が最後にスキャンされた位置と一致する場合、予め定められた確率モデルを第1の確率モデル、例えば、第1のコンテキストに設定し、最初にコーディングされた係数位置が、第1の係数スキャン順序に従って、最後にスキャンされた位置から離れて予め定められた数の変換係数以下である場合、予め定められた確率モデルを第2の確率モデル、例えば、第2のコンテキストに設定し、最初にコーディングされた係数位置が、第1の係数スキャン順序に従って、最後にスキャンされた位置から離れて予め定められた数の変換係数よりも大きい場合、予め定められた確率モデルを第3の確率モデル、例えば、第3のコンテキストに設定する、ように構成される。第1の係数スキャン順序及び第2の係数スキャン順序は、最後にスキャンされた位置及び最後にスキャンされた位置の上流の予め定められた数の変換係数において一致する。言い換えると、その予め定められた数まで、両方のスキャンが同一であり、または更に言い換えると、両方のスキャンが最後にスキャンされた位置において終了し、最後にスキャンされた位置の上流の予め定められた数の係数において等しい。言い換えると、その予め定められた数まで最後にスキャンされた位置の上流で、両方のスキャンが同一である。変換係数ブロックが1つの非ゼロ変換係数のみを含む場合、予め定められた確率モデルは第1の確率モデルに設定されてもよい。この単一の非ゼロ変換係数は、最初にコーディングされた係数位置に位置する。
【0018】
別の実施形態に従って、デコーダ/エンコーダは、最初にコーディングされた係数位置が変換係数ブロック内に位置する場所に応じて、予め定められた確率モデルを判定する際、最初にコーディングされた係数位置が、第1の係数スキャン順序に従って、最後にスキャンされた位置から離れて予め定められた数の変換係数以下である場合、または最後にスキャンされた位置と一致する場合、予め定められた確率モデルを第1の確率モデルに設定し、最初にコーディングされた変換係数位置が、第1の係数スキャン順序に従って、最後にスキャンされた位置から離れて予め定められた数の係数よりも大きい場合、予め定められた確率モデルを第2の確率モデルに設定する、ように構成される。第1の係数スキャン順序及び第2の係数スキャン順序は、最後にスキャンされた位置及び最後にスキャンされた位置の上流の予め定められた数の変換係数において一致する。
【0019】
実施形態に従って、利用可能な変換のセットは、予め定められたサブエリア内の一次変換及び二次変換の連結に対応し、予め定められたサブエリアの外側の一次変換から構成され、1つ以上の利用可能な変換の第2のセットに包含された1つ以上の多段階変換を含む。言い換えると、利用可能な変換のセットの1つ以上の利用可能な変換の第2のセットは、1つ以上の多段階変換を含む。加えて、利用可能な変換のセットは、1つ以上の利用可能な変換の第1のセットが構成するものからの1つ以上の第1の一次専用変換、及び1つ以上の利用可能な変換の第2のセットに包含された1つ以上の第2の一次専用変換を含む一次専用変換のセットを含む。デコーダ/エンコーダは、データストリームから/に二次変換インジケータを復号/符号化し、二次変換インジケータは、変換係数ブロックの下層の変換が多段階変換であるかどうか、すなわち、1つ以上の利用可能な変換の第2のセット内にあるかどうか、及び1つ以上の多段階変換からのどの1つが一次専用変換であるか、または変換係数ブロックの下層の変換が一次専用変換であるかどうかを示す。変換係数ブロックの下層の変換が一次専用変換であることを二次変換インジケータが示す場合、デコーダ/エンコーダは、例えば、一次専用変換のセットから一次専用変換を識別する変換インジケータをデータストリームから/に復号/符号化するように構成される。二次変換インジケータが一次変換及び二次変換を既に示すので、変換係数ブロックの下層の変換が多段階変換であるケースでは、二次変換インジケータのみがデータストリームから/に復号/符号化される必要がある。よって、変換係数ブロックの下層の変換が多段階変換でないケースのみで、追加の変換インジケータが必要であるので、高コーディング効率を達成することができる。
【0020】
実施形態に従って、利用可能な変換のセットは、予め定められたサブエリア内の一次変換及び二次変換の連結に対応し、予め定められたサブエリアの外側の一次変換から構成され、1つ以上の利用可能な変換の第2のセットに包含された1つ以上の多段階変換のセットを含む。加えて、利用可能な変換のセットは、1つ以上の利用可能な変換の第1のセットが構成するものからの1つ以上の第1の一次専用変換、及び1つ以上の利用可能な変換の第2のセットに包含された1つ以上の第2の一次専用変換を含む一次専用変換のセットを含む。デコーダ/エンコーダは、データストリームから/に二次変換インジケータを復号/符号化するように構成される。二次変換インジケータは、変換係数ブロックの下層の変換が多段階変換であるかどうか、そうである場合、多段階変換の二次変換であるかどうか、または変換係数ブロックの下層の変換が一次専用変換であるかどうかを示す。言い換えると、二次変換インジケータは、変換係数ブロックの下層の変換が多段階変換または一次専用変換であるかどうかを示す。デコーダ/エンコーダは、変換係数ブロックの下層の変換が一次専用変換であることを二次変換インジケータが示すケースでは、一次専用変換のセットから一次専用変換を識別し、変換係数ブロックの下層の変換が多段階変換であること二次変換インジケータが示すケースでは、1つ以上の多段階変換のセットが相互に異なる一次変換を有する1つよりも多い多段階変換を含む場合、多段階変換の一次変換を識別する、一次変換インジケータをデータストリームから/に復号/符号化するように構成される。よって、特に、多段階変換に関して変換係数ブロックの下層の変換の選択における高い変動性及び柔軟性を達成することができ、高コーディング効率を結果としてもたらす。全ての多段階変換が同一の一次変換と関連付けられ、すなわち、多段階変換が相互に異なる一次変換を有さないケースでは、一次変換インジケータを復号/符号化する必要がない。
【0021】
実施形態に従って、利用可能な変換のセットは、各々が予め定められたサブエリア内の一次変換及び二次変換の連結に対応し、予め定められたサブエリアの外側の一次変換から構成され、1つ以上の利用可能な変換の第2のセットに包含された多段階変換、例えば、2つ以上の多段階変換のセットを含む。1つ以上の利用可能な変換の第2のセットは、全ての多段階変換を含んでもよい。加えて、利用可能な変換のセットは、1つ以上の利用可能な変換の第1のセットが構成するものからであり、1つ以上の多段階変換の全てについての一次変換が等しい第1の一次専用変換、例えば、DCT-II変換、及び1つ以上の利用可能な変換の第2のセットに包含された1つ以上の第2の一次専用変換、例えば、非DCT-II変換を含む、一次専用変換のセットを含む。デコーダ/エンコーダは、データストリームから/に一次変換インジケータを復号/符号化するように構成され、一次変換インジケータは、第1の一次専用変換及び1つ以上の第2の一次専用変換を含むセット、例えば、一次専用変換のセットからの第1の変換を示す。第1の変換が第1の一次専用変換である場合、デコーダ/エンコーダは、第1の一次専用変換及び多段階変換を含むセットから変換係数ブロックの下層の変換を識別する二次変換インジケータをデータストリームから/に復号/符号化するように構成され、変換係数ブロックの下層の変換は、第1の変換が1つ以上の第2の一次専用変換の1つであるケースでは、1つの第2の一次専用変換である。言い換えると、第1の変換が1つ以上の第2の一次専用変換からの1つであることを一次変換インジケータが示す場合、変換係数ブロックの下層の変換は、示された第2の一次専用変換であり、第1の変換が第1の一次専用変換であることを一次変換インジケータが示す場合、変換係数ブロックの下層の変換は、二次変換インジケータに応じて、第1の一次専用変換、または第1の一次専用変換及び二次変換の連結に対応する多段階変換のいずれかである。後者のケースでは、二次変換インジケータは、変換係数ブロックの下層の変換を直接示す/指し示すことができる。よって非常に効率的にデータストリームにおいて変換係数ブロックの下層の変換を選択し、及び示すことができ、高コーディング効率を結果としてもたらす。
【0022】
実施形態に従って、利用可能な変換のセットは、各々が予め定められたサブエリア内の一次変換及び二次変換の連結に対応し、予め定められたサブエリアの外側の一次変換から構成され、1つ以上の利用可能な変換の第2のセットに包含された多段階変換のセットを含む。加えて、利用可能な変換のセットは、1つ以上の利用可能な変換の第1のセットが構成するものからの1つ以上の第1の一次専用変換、及び1つ以上の利用可能な変換の第2のセットに包含された1つ以上の第2の一次専用変換を含む、一次専用変換のセットを含む。デコーダ/エンコーダは、データストリームから/に一次変換インジケータを復号/符号化するように構成される。一次変換インジケータは、1つ以上の第1の一次専用変換及び1つ以上の第2の一次専用変換を含むセットから、例えば、一次専用変換のセットからの第1の変換を示す。第1の変換が、多段階変換のうちの1つ以上の一次変換に等しい第1の一次専用変換である場合、デコーダ/エンコーダは、第1の一次専用変換及びその一次変換が第1の一次専用変換に等しい1つ以上の多段階変換を含むセットから変換係数ブロックの下層の変換を識別する二次変換インジケータをデータストリームから/に復号/符号化する。特殊の一次変換インジケータ及び二次変換インジケータは、高コーディング効率を結果としてもたらし、とりわけ、異なる第1の一次専用変換の間、及び変換係数ブロックの下層の変換の選択のための異なる一次変換による異なる多段階変換の間の良好な選択を可能にする。そのような選択を可能にすることによって、高圧縮効率を達成することが可能である。
【0023】
実施形態に従って、デコーダ/エンコーダは、予め定められた確率モデルを使用したコンテキスト適応エントロピ復号を使用して、データストリームから/への一次変換インジケータの復号/符号化を実行するように構成される。デコーダ/エンコーダは、最初にコーディングされた係数位置が変換係数ブロック内に位置する場所に応じて、予め定められた確率モデルを判定するように構成される。
【0024】
実施形態に従って、デコーダ/エンコーダは、最初にコーディングされた係数位置が変換係数ブロック内に位置する場所に応じて、予め定められた確率モデルを判定する際、最初にコーディングされた係数位置が最後にスキャンされた位置と一致する場合、予め定められた確率モデルを第1の確率モデルに設定し、最初にコーディングされた係数位置が、第1の係数スキャン順序に従って、最後にスキャンされた位置から離れて予め定められた数の変換係数以下である場合、予め定められた確率モデルを第2の確率モデルに設定し、最初にコーディングされた係数位置が、第1の係数スキャン順序に従って、最後にスキャンされた位置から離れて予め定められた数の変換係数よりも大きい場合、予め定められた確率モデルを第3の確率モデルに設定する、ように構成される。第1の係数スキャン順序及び第2の係数スキャン順序は、最後にスキャンされた位置及び最後にスキャンされた位置の上流の予め定められた数の変換係数において一致する。
【0025】
実施形態に従って、デコーダ/エンコーダは、最初にコーディングされた係数位置が変換係数ブロック内に位置する場所に応じて、予め定められた確率モデルを判定する際、最初にコーディングされた係数位置が、第1の係数スキャン順序に従って、最後にスキャンされた位置から離れて予め定められた数の変換係数以下である場合、または最後にスキャンされた位置と一致する場合、予め定められた確率モデルを第1の確率モデルに設定し、最初にコーディングされた変換係数位置が、第1の係数スキャン順序に従って、最後にスキャンされた位置から離れて予め定められた数の係数よりも大きい場合、予め定められた確率モデルを第2の確率モデルに設定するように構成される。第1の係数スキャン順序及び第2の係数スキャン順序は、最後にスキャンされた位置及び最後にスキャンされた位置の上流の予め定められた数の変換係数において一致する。
【0026】
実施形態に従って、一次変換は、1つ以上の多段階変換の全てに対して等しく、1つ以上の第1の一次専用変換の1つにも等しい。
【0027】
実施形態に従って、1つの第1の一次専用変換のみが存在する。
【0028】
実施形態に従って、エンコーダは、変換係数ブロックを取得するように、変換係数ブロックの下層の変換をサンプルブロックに受けさせるように構成される。
【0029】
実施形態に従って、デコーダは、サンプルブロックを取得するように、変換係数ブロックの下層の変換を反転させる逆変換を変換係数ブロックに受けさせるように構成される。実施形態に従って、エンコーダは、サンプルブロックを取得するように、変換係数ブロックの下層の変換を反転させる逆変換を変換係数ブロックに受けさせるように構成されたフィードバックループを含む。
【0030】
実施形態に従って、エンコーダは、イントラピクチャ予測またはインターピクチャ予測によって得られた予測信号の予測残差を導出し、予測残差を表す、例えば、量子化を含むサンプルブロックを判定するように構成される。
【0031】
実施形態に従って、デコーダは、イントラピクチャ予測またはインターピクチャ予測によって得られた予測信号を補正するためにサンプルブロックを使用するように構成される。実施形態に従って、エンコーダは、イントラピクチャ予測またはインターピクチャ予測によって得られた予測信号を補正するためにサンプルブロックを使用するように構成されたフィードバックループを含む。
【0032】
本発明の第2の態様に従って、本出願の発明者は、非DCT-II変換のような一部の変換について、変換係数ブロックの非ゼロ係数のみが変換係数ブロックの予め定められたサブエリア内で許可されることが必要とされることの事実から起こる、ピクチャのブロックについての変換の選択を有効にすることを試みるときに1つの問題に直面することを認識している。現在では、上記説明された非ゼロ要件も選択することができる変換であるとき、変換係数ブロックの下層の変換を示すようシグナリングオーバヘッドが生じる。本出願の第2の態様に従って、予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの全ての変換係数が、変換係数ブロックの予め定められたサブエリア内に位置しない場合にゼロであるかどうかを検査することによって、この課題が克服される。発明者は、最初にコーディングされた係数位置が予め定められたサブエリアの内側に位置する場合でさえ、予め定められたサブエリアの外側の予め定められたスキャン順序に従って非ゼロ変換係数が位置すること可能性がなおもあるので、非ゼロ変換係数が予め定められたサブエリアの外側に位置するかどうかを検査することが有利であることを発見した。これは、検査によって変換係数ブロックの下層の変換が上記説明された非ゼロ要件による変換であるか否かを自動で識別することが可能になるという着想に基づいている。よって、変換係数ブロックごとに、全ての利用可能な変換のセットからそれぞれの変換係数ブロックの下層の変換を選択する必要はない。代わりに、この特徴により、全ての利用可能な変換のセットを関連する変換まで低減させることが可能であり、それによって、高コーディング効率を達成することができる。更に、追加のシンタックス要素によって、変換係数ブロックの下層の変換が非ゼロ要件による変換からの1つであり、または非ゼロ要件を有さない変換からの1つであるかどうかを示す必要はないので、高圧縮を達成することができる。
【0033】
したがって、本出願の第2の態様に従って、データストリームから/にサンプルブロックの変換済み表現を復号/符号化するデコーダ/エンコーダは、データストリームから/に係数位置情報を復号/符号化するように構成される。係数位置情報は、変換係数ブロック内の最初にコーディングされた係数位置を示す。最初にコーディングされた係数位置は、係数スキャン順序における最初の非ゼロ変換係数の位置または逆係数スキャン順序における最後の非ゼロ変換係数の位置のいずれかを示してもよい。更に、デコーダ/エンコーダは、予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの変換係数の値を復号/符号化し、予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置の上流に位置する変換係数ブロックの変換係数がゼロであると推測するように構成される。予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの変換係数は、非ゼロである値を有する変換係数のみ、またはゼロである値を有する変換係数及び非ゼロである値を有する変換係数のいずれかを含んでもよい。デコーダ/エンコーダは、予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの全ての変換係数が、変換係数ブロックの予め定められたサブエリア内に位置しない場合にゼロであるかどうかを検査するように構成される。予め定められたサブエリアは、変換係数ブロックのサブエリアを定義してもよく、サブエリアの内側で、変換係数が非ゼロであってもよく、サブエリアの外側で、全ての変換係数が特定の変換についてゼロである必要がある。実施形態に従って、変換係数ブロックは、変換係数ブロックの下層の変換が利用可能な変換のセットの1つ以上の利用可能な変換の第1のセット内にあるケースでは、予め定められたサブエリアの外側の非ゼロ変換係数を含んでもよく、変換係数ブロックの下層の変換が利用可能な変換のセットの1つ以上の利用可能な変換の第2のセット内にあるケースでは、予め定められたサブエリアの外側の変換係数はゼロである。予め定められたサブエリアは、16×16変換係数から構成されてもよい。予め定められたサブエリアは、変換係数ブロックの左上に位置してもよい。予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの全ての変換係数が、変換係数ブロックの予め定められたサブエリア内に位置しない場合にゼロである場合、デコーダ/エンコーダは、データストリームから/に変換情報を復号/符号化し、変換情報を使用して、利用可能な変換のセットから、例えば、利用可能な変換のセットの1つ以上の利用可能な変換の第2のセットから変換係数ブロックの下層の変換を識別するように構成される。予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの全ての変換係数が、変換係数ブロックの予め定められたサブエリア内に位置しない場合にゼロでない場合、デコーダ/エンコーダは、利用可能な変換のセットから、1つ以上の利用可能な変換の第2のセットを取り除くことによって、利用可能な変換のセットを1つ以上の利用可能な変換の第1のセットまで低減させ、1つ以上の利用可能な変換の第1のセットから変換係数ブロックの下層の変換を判定する、ように構成される。変換係数ブロックに従った変換係数ブロックの下層の変換は、変換済み表現を定義する。予め定められた係数スキャン順序は、予め定められたサブエリアの内側に位置する2つの変換係数の間の予め定められた係数スキャン順序によってスキャンされた予め定められたサブエリアの外側に1つ以上の変換係数が存在するような方式において変換係数をスキャンする。
【0034】
実施形態に従って、デコーダ/エンコーダは、最初にコーディングされた係数位置が変換係数ブロックの予め定められたサブエリア内に位置するかどうかを検査し、変換係数ブロックの予め定められたサブエリアの外側に位置し、予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する全ての変換係数がゼロであるかどうかを検査するように構成される。後者の検査は、最初にコーディングされた係数位置が変換係数ブロックの予め定められたサブエリア内に位置する場合に任意選択で実行されるにすぎない。最初にコーディングされた係数位置が変換係数ブロックの予め定められたサブエリアの外側に位置するケースでは、デコーダ/エンコーダは、予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの全ての変換係数が、変換係数ブロックの予め定められたサブエリア内に位置しない場合にゼロでないと推測するように構成される。
【0035】
実施形態に従って、デコーダ/エンコーダは、最初にコーディングされた係数位置が変換係数ブロックの予め定められたサブエリア内に位置する場合、デコーダ/エンコーダは、第1の態様に従ったデコーダ/エンコーダに関して説明されたような特徴及び/または機能性を含んでもよい。
【0036】
実施形態に従って、デコーダ/エンコーダは、予め定められた確率モデルを使用したコンテキスト適応エントロピ復号/符号化を使用して、データストリームから/への変換情報の復号/符号化を実行し、最初にコーディングされた係数位置が変換係数ブロック内に位置する場所に応じて、予め定められた確率モデルを判定するように構成される。
【0037】
実施形態に従って、デコーダ/エンコーダは、最初にコーディングされた係数位置が変換係数ブロック内に位置する場所に応じて、予め定められた確率モデルを判定する際、最初にコーディングされた係数位置が最後にスキャンされた位置と一致する場合、予め定められた確率モデルを第1の確率モデルに設定し、最初にコーディングされた係数位置が、予め定められた係数スキャン順序に従って、最後にスキャンされた位置から離れて予め定められた数の変換係数以下である場合、予め定められた確率モデルを第2の確率モデルに設定し、最初にコーディングされた係数位置が、予め定められた係数スキャン順序に従って、最後にスキャンされた位置から離れて予め定められた数の変換係数よりも大きい場合、予め定められた確率モデルを第3の確率モデルに設定する、ように構成される。
【0038】
別の実施形態に従って、デコーダ/エンコーダは、最初にコーディングされた係数位置が変換係数ブロック内に位置する場所に応じて、予め定められた確率モデルを判定する際、最初にコーディングされた係数位置が、予め定められた係数スキャン順序に従って、最後にスキャンされた位置から離れて予め定められた数の変換係数以下である場合、または最後にスキャンされた位置と一致する場合、予め定められた確率モデルを第1の確率モデルに設定し、最初にコーディングされた変換係数位置が、予め定められた係数スキャン順序に従って、最後にスキャンされた位置から離れて予め定められた数の係数よりも大きい場合、予め定められた確率モデルを第2の確率モデルに設定するように構成される。
【0039】
実施形態に従って、利用可能な変換のセットは、各々が予め定められたサブエリア内の一次変換及び二次変換の連結に対応し、予め定められたサブエリアの外側の一次変換から構成され、1つ以上の利用可能な変換の第2のセットに包含された多段階変換、例えば、多段階変換のセットを含む。言い換えると、利用可能な変換のセットの1つ以上の利用可能な変換の第2のセットは、2つ以上の多段階変換を含む。加えて、利用可能な変換のセットは、1つ以上の利用可能な変換の第1のセットが構成するものからであり、1つ以上の多段階変換の全てについての一次変換が等しい第1の一次専用変換、及び1つ以上の利用可能な変換の第2のセットに包含された1つ以上の第2の一次専用変換を含む一次専用変換のセットを含む。デコーダ/エンコーダは、予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの全ての変換係数が、変換係数ブロックの予め定められたサブエリア内に位置しない場合にゼロである場合、
データストリームから/に二次変換インジケータを復号/符号化し、二次変換インジケータは、変換係数ブロックの下層の変換が多段階変換であるかどうか、及び1つ以上の多段階変換からのどの1つが一次専用変換であるか、または変換係数ブロックの下層の変換が一次専用変換であるかどうか、すなわち、同一のものが一次専用変換のセットにまたは多段階変換のセットに属するかどうかを示し、
変換係数ブロックの下層の変換が一次専用変換であることを二次変換インジケータが示すかどうかを検査する、ように構成される。変換係数ブロックの下層の変換が一次専用変換であることを二次変換インジケータが示す場合、デコーダ/エンコーダは、例えば、一次専用変換のセットから一次専用変換を識別する変換インジケータをデータストリーム/からに復号/符号化するように構成される。
予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの全ての変換係数が、変換係数ブロックの予め定められたサブエリア内に位置しない場合にゼロでない場合、変換係数ブロックの下層の変換は、第1の一次専用変換である。この実施形態により、変換係数ブロックが予め定められたサブエリアの外側の非ゼロ変換係数を含む場合、変換係数ブロックの下層の変換が第1の一次専用変換であることを推測することが可能である。よって、そのような変換係数ブロックについて、データストリームは、変換情報を含む必要がなく、それによって、高圧縮を達成することができる。更に、二次変換インジケータを使用して、変換係数ブロックの下層の変換として多段階変換を明示的に示すことが可能であり、二次変換インジケータに加えて一次変換インジケータを使用することによって、変換係数ブロックの下層の変換として一次専用変換を明確に示すことが可能である。この特殊な変換選択により、予め定められたサブエリアの内側の全ての非ゼロ変換係数を有するブロックに対して変換係数ブロックの下層の変換として第1の一次専用変換をも示すことが可能であり、それによって、良好な変換の選択をもたらし、高圧縮を達成することに留意されたい。
【0040】
実施形態に従って、利用可能な変換のセットは、各々が予め定められたサブエリア内の一次変換及び二次変換の連結に対応し、予め定められたサブエリアの外側の一次変換から構成され、1つ以上の利用可能な変換の第2のセットに包含された多段階変換、例えば、多段階変換のセットを含む。加えて、利用可能な変換のセットは、1つ以上の利用可能な変換の第1のセットが構成するものからであり、1つ以上の多段階変換の全てについての一次変換が等しい第1の一次専用変換、及び1つ以上の利用可能な変換の第2のセットに包含された1つ以上の第2の一次専用変換を含む一次専用変換のセットを含む。デコーダ/エンコーダは、予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの全ての変換係数が、変換係数ブロックの予め定められたサブエリア内に位置しない場合にゼロである場合、
データストリームから/に一次変換インジケータを復号/符号化し、一次変換インジケータは、第1の一次専用変換及び1つ以上の第2の一次専用変換を含むセット、例えば、一次専用変換のセットからの第1の変換を示し、
第1の変換が第1の一次専用変換である場合、第1の一次専用変換及び多段階変換を含むセットから変換係数ブロックの下層の変換を識別する二次変換インジケータをデータストリームから/に復号/符号化するように構成され、
第1の変換が1つ以上の第2の一次専用変換の1つであるケースでは、変換係数ブロックの下層の変換は、1つの第2の一次専用変換である。
予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの全ての変換係数が、変換係数ブロックの予め定められたサブエリアに位置しない場合にゼロでない場合、変換係数ブロックの下層の変換は、第1の一次専用変換である。
【0041】
実施形態に従って、一次変換は、1つ以上の多段階変換の全てに対して等しく、1つ以上の第1の一次専用変換の1つにも等しい。
【0042】
実施形態に従って、1つの第1の一次専用変換のみが存在する。
【0043】
実施形態に従って、エンコーダは、変換係数ブロックを取得するように、変換係数ブロックの下層の変換をサンプルブロックに受けさせるように構成される。
【0044】
実施形態に従って、デコーダは、サンプルブロックを取得するように、変換係数ブロックの下層の変換を反転させる逆変換を変換係数ブロックに受けさせるように構成される。実施形態に従って、エンコーダは、サンプルブロックを取得するように、変換係数ブロックの下層の変換を反転させる逆変換を変換係数ブロックに受けさせるように構成されたフィードバックループを含む。
【0045】
実施形態に従って、エンコーダは、イントラピクチャ予測またはインターピクチャ予測によって得られた予測信号の予測残差を導出し、予測残差を表す、例えば、量子化を含むサンプルブロックを判定するように構成される。
【0046】
実施形態に従って、デコーダ/エンコーダは、イントラピクチャ予測またはインターピクチャ予測によって得られた予測信号を補正するためにサンプルブロックを使用するように構成される。実施形態に従って、エンコーダは、イントラピクチャ予測またはインターピクチャ予測によって得られた予測信号を補正するためにサンプルブロックを使用するように構成されたフィードバックループを含む。
【0047】
実施形態は、データストリームから/にサンプルブロックの変換済み表現を復号/符号化する方法であって、データストリームから/に係数位置情報を復号/符号化することを含み、係数位置情報は、変換係数ブロック内の最初にコーディングされた係数位置を示す、方法に関連する。方法は、最初にコーディングされた係数位置が変換係数ブロックの予め定められたサブエリア内に位置するかどうかを検査することを含む。最初にコーディングされた係数位置が変換係数ブロックの予め定められたサブエリアの内側に位置する場合、方法は、変換係数ブロックの下層の変換が利用可能な変換のセットの1つ以上の利用可能な変換の第1のセットまたは利用可能な変換のセットの1つ以上の利用可能な変換の第2のセット内にあるかどうかを検査することを含む。復号する方法は、データストリームにおいて送信された変換情報を使用して、検査を実行してもよい。変換係数ブロックの下層の変換が、1つ以上の利用可能な変換の第1のセット内にある場合、方法は、第1の係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの変換係数の値を復号/符号化することを含み、第1の係数スキャン順序に従って、最初にコーディングされた係数位置の上流に位置する変換係数ブロックの変換係数はゼロである。復号する方法は、第1の係数スキャン順序に従って、最初にコーディングされた係数位置の上流に位置する変換係数ブロックの変換係数がゼロであると推測することを含む。変換係数ブロックの下層の変換が1つ以上の利用可能な変換の第2のセット内にある場合、方法は、予め定められたサブエリア内に位置し、第2の係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの変換係数の値を復号/符号化することを含み、第1の係数スキャン順序に従って、最初にコーディングされた係数位置の上流に位置する変換係数ブロックの変換係数及び予め定められたサブエリアの外側に位置する変換係数ブロックの変換係数はゼロである。復号する方法は、第1の係数スキャン順序に従って、最初にコーディングされた係数位置の上流に位置する変換係数ブロックの変換係数及び予め定められたサブエリアの外側に位置する変換係数ブロックの変換係数がゼロであると推測することを含む。変換係数ブロックに従った変換係数ブロックの下層の変換は、変換済み表現を定義する。第2の係数スキャン順序は、予め定められたサブエリア内の変換係数の間の予め定められたサブエリアの外側のいずれの変換係数をもスキャンすることなく、予め定められたサブエリア内の変換係数をスキャンし、第1の係数スキャン順序は、予め定められたサブエリアの内側に位置する2つの変換係数の間の第1の係数スキャン順序によってスキャンされた予め定められたサブエリアの外側に1つ以上の変換係数が存在するような方式において変換係数をスキャンする。
【0048】
実施形態は、データストリームから/にサンプルブロックの変換済み表現を復号/符号化する方法であって、データストリームから/に係数位置情報を復号/符号化することを含み、係数位置情報は、変換係数ブロック内の最初にコーディングされた係数位置を示す、方法に関連する。方法は、予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの変換係数の値を復号/符号化することを含み、予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置の上流に位置する変換係数ブロックの変換係数はゼロである。復号する方法は、予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置の上流に位置する変換係数ブロックの変換係数がゼロであると推測することを含む。更に、方法は、予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの全ての変換係数が、変換係数ブロックの予め定められたサブエリア内に位置しない場合にゼロであるかどうかを検査することを含む。予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの全ての変換係数が、変換係数ブロックの予め定められたサブエリア内に位置しない場合にゼロである場合、方法は、データストリームから/に変換情報を復号/符号化し、利用可能な変換のセットから変換係数ブロックの下層の変換を識別することを含む。復号する方法は、変換情報を使用して識別を実行してもよい。予め定められた係数スキャン順序に従って、最初にコーディングされた係数位置から最後にスキャンされた位置の方に位置する変換係数ブロックの全ての変換係数が、変換係数ブロックの予め定められたサブエリア内に位置しない場合にゼロでない場合、方法は、利用可能な変換のセットから、1つ以上の利用可能な変換の第2のセットを取り除くことによって、利用可能な変換のセットを1つ以上の利用可能な変換の第1のセットまで低減させ、1つ以上の利用可能な変換の第1のセットから変換係数ブロックの下層の変換を判定することを含む。変換係数ブロックに従った変換係数ブロックの下層の変換は、変換済み表現を定義する。予め定められた係数スキャン順序は、予め定められたサブエリアの内側に位置する2つの変換係数の間の予め定められた係数スキャン順序によってスキャンされた予め定められたサブエリアの外側に1つ以上の変換係数が存在するような方式において変換係数をスキャンする。
【0049】
上記説明された方法は、上記説明されたエンコーダ/デコーダと同一の考慮事項に基づいている。ところで、方法は、エンコーダ/デコーダに関して説明された、全ての特徴及び機能性により完了することができる。
【0050】
実施形態は、符号化する本明細書で説明された方法を使用してそれに符号化されたピクチャまたはビデオを有するデータストリームに関連する。
【0051】
実施形態は、コンピュータ上で稼働するとき、本明細書で説明された方法を実行するためのプログラムコードを有するコンピュータプログラムに関連する。
【0052】
図面は必ずしも同一縮尺ではなく、代わりに、発明の原理を例示することに全体的に重点が置かれる。以下の説明では、発明の様々な実施形態が以下の図面を参照して説明される。
【図面の簡単な説明】
【0053】
【
図1】64個の4×4サブブロックに細分割された32×32変換ブロックの例を示す。
【
図2】最初の16×16係数のみが非ゼロであることができる、32×32ブロックの再構築を示す。
【
図3】現在の設計に従った、変換ブロックの修正されていないスキャン、及び実施形態に従った、変換ブロックの修正されたスキャンを示す。
【
図4】ピクチャまたはビデオを予測的に符号化する装置を示す。
【
図5】ピクチャまたはビデオを予測的に復号する装置を示す。
【
図6】再構築済み信号と予測残差信号及び予測信号の結合との間の関係を示す。
【
図7】実施形態に従った、スキャン順序を変更することが可能なデコーダを示す。
【
図8】実施形態に従った、最初にコーディングされた係数位置が予め定められたサブエリアの外側に位置するケースにおける変換係数ブロックの下層の変換の選択を示す。
【
図9】実施形態に従った、変換情報のCABACコーディングを示す。
【
図10】実施形態に従った、異なる数の非ゼロ変換係数を有する変換係数ブロックを示す。
【
図11a】第1の実施形態に従った、利用可能な変換のセットを示す。
【
図11b】第2の実施形態に従った、利用可能な変換のセットを示す。
【
図12】実施形態に従った、予め定められたサブエリアの外側の変換係数がゼロであるかどうかを検査するデコーダを示す。
【
図13】第1の簡易化されたシンタックス図を示す。
【
図14】第2の簡易化されたシンタックス図を示す。
【発明を実施するための形態】
【0054】
等しいもしくは同等の要素、または等しいもしくは同等の機能性を有する要素は、異なる図において現れる場合でさえ、等しいまたは同等の参照符号によって以下の説明において表される。
【0055】
以下の説明では、本発明の実施形態のより完全な説明をもたらすために、複数の詳細が示される。しかしながら、それらの特定の詳細なしに本発明の実施形態が実施されてもよいことが当業者にとって明らかである。他のインスタンスでは、本発明の実施形態を曖昧にすることを回避するために、公知の構造及びデバイスが、詳細でないブロック図の形式に示される。加えて、他に特に述べられない限り、後に本明細書で説明される異なる実施形態の特徴は、相互に組み合わされてもよい。
【0056】
更に、本明細書で、非ゼロ変換係数は、非ゼロ値を有する変換係数を定義し、ゼロ変換係数は、ゼロ値を有する変換係数を定義することに留意されよう。
【0057】
以下では、係数レベルコーディングゼロアウトのための変換タイプシグナリングを使用することによってより効果的な圧縮を達成することを支援することができる様々な実施例が説明される。本明細書で提示される実施形態は、シグナリングオーバヘッドを低減させ、ハイブリッドビデオ圧縮用途に対する符号化/復号ロジックを簡易化することの目的により、特定の変換タイプの選択に応じてブロック内で非ゼロであることができるコーディング済み変換係数のエリアを制約するシグナリングコンセプトを説明する。
【0058】
本出願の以下の実施形態の理解を容易にするために、説明は、サンプルブロックの変換済み表現をコーディング及び復号する実施形態をそれに組み込むことができるコーディングフレームワークについての実施例を形成するために、ビデオのコーディングピクチャについてのブロックに基づく予測的コーデックのビデオエンコーダ及びビデオデコーダの説明の提示により開始する。ビデオエンコーダ及びビデオデコーダは、
図4~6に関して説明される。本出願の本明細書で説明される実施形態は、
図4及び5のそれぞれのビデオエンコーダ及びデコーダに容易に組み込まれてもよいが、本出願の実施形態は、
図4及び5のビデオエンコーダ及びビデオデコーダの下層のコーディングフレームワークに従って動作しないビデオエンコーダ及びビデオデコーダを形成するためにも使用されてもよい。
【0059】
図4は、ピクチャ12またはピクチャ12のシーケンスから構成されたビデオをデータストリーム14に予測的にコーディングする装置を示す。ブロック方式予測的コーディングがこの目的のために使用される。更に、変換に基づく残差コーディングが例示的に使用される。装置またはエンコーダが、参照符号10を使用して示される。
図5は、対応するデコーダ20、すなわち、変換に基づく残差復号をもここで例示的に使用して、データストリーム14からピクチャブロック内のピクチャ12’またはピクチャ12’から構成されたビデオを予測的に復号するように構成された装置20を示し、デコーダ20によって再構築されるようなピクチャ12’が、予測残差信号の量子化によって導入されたコーディング損失に関して装置10によって元から符号化されたピクチャ12から逸脱していることを示すために、アポストロフィが使用されている。
図4及び
図5は、変換に基づく予測残差コーディングを例示的に使用するが、本出願の実施形態は、この種類の予測残差コーディングに限定されない。これは、以下に概説されるように、
図4及び5に関する他の詳細についても当てはまる。
【0060】
エンコーダ10は、予測残差信号に空間-スペクトル変換を受けさせ、それによって取得された予測残差信号をデータストリーム14に符号化するように構成される。同様に、デコーダ20は、データストリーム14から予測残差信号を復号し、それによって取得された予測残差信号にスペクトル-空間変換を受けさせるように構成される。
【0061】
内部的に、エンコーダ10は、元の信号、すなわち、ビデオまたはカレントピクチャ12から予測信号26の逸脱を測定するように予測残差24を生成する、予測残差信号形成器22を含んでもよい。予測残差信号形成器22は、例えば、元の信号、すなわち、カレントピクチャ12から予測信号を減算する減算器であってもよい。エンコーダ10は次いで、スペクトルドメイン予測残差信号24’を取得するよう、予測残差信号24に空間-スペクトル変換を受けさせる変換器28を更に含んでもよく、スペクトルドメイン予測残差信号24’は次いで、エンコーダ10によっても備えられた量子化器32によって量子化を受ける。よって、量子化済み予測残差信号24’’がビットストリーム14にコーディングされる。この目的のために、エンコーダ10は任意選択で、データストリーム14に変換及び量子化されるような予測残差信号をエントロピコーディングするエントロピコーダ34を含んでもよい。予測信号26は、データストリーム14に復号され、データストリーム14から復号可能な予測残差信号24’’に基づいて、エンコーダ10の予測ステージ36によって生成される。この目的のために、予測ステージ36は、
図4に示されるように、量子化損失を除き、信号24’に対応する、スペクトルドメイン予測残差信号24’’’を得るように、予測残差信号24’’を量子化解除する量子化解除器38と、それに続いて、量子化損失を除き、元の予測残差信号24に対応する、予測残差信号24’’’’を取得するよう、後者の予測残差信号24’’’に逆変換、すなわち、スペクトル-空間変換を受けさせる逆変換器40とを内部的に含む。予測ステージ36の結合器42は次いで、再構築済み信号46、すなわち、元の信号12の再構築を取得するように、予測信号26及び予測残差信号24’’’’を加算などによって再結合する。再構築済み信号46は、信号12’に対応してもよい。
【0062】
予測ステージ36の予測モジュール44は次いで、例えば、空間予測、すなわち、イントラ予測及び/または時間予測、すなわち、インター予測を使用することによって、信号46に基づいて予測信号26を生成する。これに関する詳細は以下に説明される。
【0063】
同様に、デコーダ20は内部的に、予測ステージ36に対応する構成要素から構成されてもよく、予測ステージ36に対応する方式において相互接続されてもよい。特に、デコーダ20のエントロピデコーダ50は、予測ステージ36のモジュールに関して上記説明された方式において相互接続され、協調する、量子化解除器52、逆変換器54、結合器56、及び予測モジュール58が予測残差信号24’’に基づいて再構築済み信号を回復すると、データストリームから量子化済みスペクトルドメイン予測残差信号24’’をエントロピ復号し、その結果、
図5に示されるように、結合器56の出力は、再構築済み信号、すなわち、そのビデオまたはカレントピクチャ12’を結果としてもたらす。
【0064】
上記に特に説明されていないが、エンコーダ10が、例えば、何らかのレート及び歪み関連基準、すなわち、コーディングコストを最適化し、及び/または何らかのレート制御を使用する方式などにおいて、いくつかの最適化スキームに従って、例えば、予測モード及び動きパラメータなどを含むいくつかのコーディングパラメータを設定することができることが容易に明らかである。以下で更に詳細に説明されるように、エンコーダ10及びデコーダ20並びに対応するモジュール44、58はそれぞれ、以下で更に詳細に説明される方式においてピクチャブロックのどの予測が構成されるかに基づいて、プリミティブ予測モードの、ある種類のセットまたはプールを形成するイントラコーディングモード及びインターコーディングモードなどの異なる予測モードをサポートする。エンコーダ及びデコーダがそれらの予測合成の間で切り替える粒度は、ブロックへのピクチャ12及び12’それぞれの細分割に対応してもよい。なお、それらのブロックのいくつかは、単独でイントラコーディングされたブロックであってもよく、いくつかのブロックは、単独でインターコーディングされたブロックであってもよく、任意選択で、更なるブロックは、イントラコーディング及びインターコーディングの両方を使用して取得されたブロックであってもよいが、詳細が以下に示される。イントラコーディングモードに従って、それぞれのブロックの空間的な既にコーディング/復号された隣接に基づいて、ブロックについての予測信号が取得される。いくつかのイントラコーディングサブモードが存在してもよく、その中の選択で、ある種類のイントラ予測パラメータを疑似的に表す。それぞれの方向性イントラコーディングサブモードについて特有である特定の方向に従って隣接のサンプル値をそれぞれのブロックに外挿することによって、それぞれのブロックについてのどの予測信号が埋められるかに従って、方向性または角度イントラコーディングサブモードが存在してもよい。イントラコーディングサブモードは、例えば、それぞれのブロックについてのどの予測信号がそれぞれのブロック内の全てのサンプルにDC値を割り当てるかに従った、DCコーディングモード、並びに/またはそれぞれのブロックのどの予測信号が、隣接サンプルに基づいて二次元線形関数によって定義された平面の傾き及びオフセットを導出することによりそれぞれのブロックのサンプル位置にわたって二次元線形によって記述されたサンプル値の空間的分散であると近似もしくは判定されることに従った、平面イントラコーディングモードなどの1つ以上の更なるサブモードをも含んでもよい。それらと比較して、インター予測モードに従って、ブロックについての予測信号は、例えば、ブロック内部を時間的に予測することによって取得されてもよい。インター予測モードのパラメータ化について、動きベクトルがデータストリーム内でシグナリングされてもよく、動きベクトルは、それぞれのブロックについての予測信号を取得するために、前にコーディング/復号されたピクチャがサンプリングされたビデオの前にコーディングされたピクチャの部分の空間的変位を示す。これは、量子化済みスペクトルドメイン予測残差信号24’’を表すエントロピコーディング済み変換係数レベルなど、データストリーム14によって備えられた残差信号コーディングに加えて、データストリーム14が、ブロック予測モードに割り当てるための予測関連パラメータ、インター予測モードについての動きパラメータなどの割り当てられた予測モードについての予測パラメータ、並びに任意選択で、以下で更に詳細に概説されるような割り当てられた予測モード及び予測パラメータを使用してブロックについての最終的な予測信号の合成を制御する更なるパラメータに符号化されている場合があることを意味する。加えて、データストリームは、ブロックへのピクチャ12及び12’のそれぞれの細分割を制御及びシグナリングするパラメータを含んでもよい。デコーダ20は、エンコーダが行ったのと同一の方式においてピクチャを細分割して、同一の予測モード及びパラメータをブロックに割り当て、同一の予測信号を結果としてもたらすよう同一の予測を実行するために、それらのパラメータを使用する。
【0065】
図6は、一方で、再構築済み信号、すなわち、再構築済みピクチャ12’と、他方で、データストリームでシグナリングされるような予測残差信号24’’’’及び予測信号26の結合との間の関係を例示する。上記で既に表されたように、結合は、加算であってもよい。可変サイズのブロック80へのピクチャエリアの細分割として予測信号26が
図6に例示されるが、これは例にすぎない。細分割は、ブロックの行及び列へのピクチャエリアの通常の細分割、または四分木細分割もしくは同様のものなどの可変サイズのリーフブロックへのピクチャ12の多分木細分割など、いずれかの細分割であってもよく、それらの混合は
図6に示され、そこでは、ピクチャエリアがツリールートブロックの行及び列に最初に細分割され、ツリールートブロックは次いで、ブロック80を結果としてもたらすよう、再帰多分木細分割に従って更に細分割される。
【0066】
図6における予測残差信号24’’’’も、ブロック84へのピクチャエリアの細分割として例示される。それらのブロックは、コーディングブロック80から同一のものを区別するために、変換ブロックまたは変換係数ブロックと称されてもよい。事実上、
図6は、エンコーダ10及びデコーダ20がブロックへのピクチャ12及びピクチャ12’のそれぞれの2つの異なる細分割、すなわち、1つがコーディングブロック80への細分割、もう一方がブロック84への細分割を使用してもよいことを例示する。両方の細分割は同一であってもよく、すなわち、各々のブロック80が変換ブロック84を同時に形成してもよく、逆であってもよいが、
図6は、例えば、変換ブロック84への細分割がブロック80への細分割の拡張を形成し、その結果、2つのブロック80の間のいずれかの境界が2つのブロック84の間の境界と重なり、または代わりに言うと、各々のブロック80のいずれかが変換ブロック84の1つと一致し、もしくは変換ブロック84のクラスタと一致するケースを例示する。しかしながら、細分割はまた、相互に独立して判定または選択されてもよく、その結果、変換ブロック84は代わりに、ブロック80の間のブロック境界を交差する。変換ブロック84への細分割が考慮される限り、ブロック80への細分割に関して提案されるものなどとして同様の言及が当てはまり、すなわち、ブロック84は、行及び列内に配列されたブロックへのピクチャエリアの通常の細分割の結果、ピクチャエリアの多分木細分割の結果、またはそれらの結合もしくは区分の他の分類であってもよい。ちなみに、ブロック80及び84は、二次、矩形、またはいずれかの他の形状に限定されないことに留意されよう。更に、予測信号が形成されるブロック80へのカレントピクチャ12の細分割、及び予測残差がコーディングされるブロック84へのカレントピクチャ12の細分割は、コーディング/復号のために使用される細分割のみでなくてもよい。予測信号判定及び残差コーディングが実行される粒度からのそれらの細分割について、まずは、残差コーディングが代わりに細分割なしに行われてもよく、2番目に、それらの細分割とは別の粒度において、エンコーダ及びデコーダは、予測パラメータ及び予測信号合成制御信号などの上述したパラメータの一部を含む、特定のコーディングパラメータを設定してもよい。
【0067】
図6は、予測信号26及び予測残差信号24’’’’の結合が再構築済み信号12’を結果として直接もたらすことを例示する。しかしながら、他のビュー、または、例えば、別個のDPBによる別個の予測ループにおいてコーディング/復号された他のコーディングレイヤから取得された予測信号などの代替的な実施形態に従って、ピクチャ12’への結果をもたらすよう、1つよりも多い予測信号26が予測残差信号24’’’’と結合されてもよいことに留意されるべきである。
【0068】
図6では、変換ブロック84は、以下の意義を有するはずである。変換器28及び逆変換器54は、それらの変換ブロック84の単位においてそれらの変換を実行する。例えば、多くのコーデックは、全ての変換ブロック84に対して何らかの分類のDSTまたはDCTを使用する。一部のコーデックは、変換ブロック84の一部について、予測残差信号が空間ドメインにおいて直接コーディングされるように変換をスキップすることを可能にする。しかしながら、本明細書で説明される実施形態に従って、エンコーダ10及びデコーダ20は、以下の
図7~12のうちの1つ以上に関して説明されるように、いくつかの変換、すなわち、利用可能な変換130のセットをそれらがサポートするような方式において構成される。
【0069】
以下では、それによって変換タイプシグナリングについてのコーディング効率を改善することができ、及び/またはそれによって複数の変換タイプの間の選択を可能にすることにより圧縮効率を改善することができる実施形態が説明される。以下での実施形態はほとんど、デコーダを考慮して特徴及び機能性を例示する。しかしながら、同一のまたは類似の特徴及び機能性がエンコーダによって備えられてもよく、例えば、デコーダによって実行される復号は、エンコーダによる符号化に対応することができることが明らかである。更に、エンコーダは、フィードバックループ、例えば、予測ステージ36におけるデコーダに関して説明されるような同一の特徴を含んでもよい。
【0070】
図7は、データストリーム14からサンプルブロック84の変換済み表現を復号するデコーダ20を示す。実施形態に従って、エンコーダは、変換係数ブロック104を取得するように、サンプルブロック84に、変換係数ブロック104の下層の変換を受けさせるように構成される。変換係数ブロック104の下層の変換131に従った変換係数ブロック104は、変換済み表現を定義する。
【0071】
図7に示されるデコーダ20は、データストリーム14から係数位置情報100を復号するように構成される。係数位置情報100は、変換係数ブロック104内の最初にコーディングされた係数位置102を示す。最初にコーディングされた係数位置102は、スキャン順序、例えば、第1の係数スキャン順序110または第2の係数スキャン順序114における第1の非ゼロ変換係数の位置を示すことができる。反転/逆スキャン順序のケースでは、最初にコーディングされた係数位置102は、反転/逆スキャン順序に従った最後の非ゼロ変換係数の位置を示すことができる。非ゼロ変換係数は本明細書で、ゼロに等しくない値を有する変換係数を定義し、ゼロ変換係数は、ゼロに等しい値を有する変換係数を定義する。
【0072】
デコーダ20は、最初にコーディングされた係数位置102が変換係数ブロック104の予め定められたサブエリア106内に位置するかどうかを検査する(107)ように構成される。
【0073】
最初にコーディングされた係数位置102が変換係数ブロック104の予め定められたサブエリア106の内側に位置する場合、デコーダ20は、データストリーム14において伝送された変換情報108を使用して、変換係数ブロック104の下層の変換131が利用可能な変換のセット130の1つ以上の利用可能な変換の第1のセット132または利用可能な変換のセット130の1つ以上の利用可能な変換の第2のセット134内にあるかどうかを検査する(111)ように構成される。実施形態に従って、1つ以上の利用可能な変換の第1のセット132は、変換係数118のような、予め定められたサブエリアの外側の非ゼロ変換係数を有する変換係数ブロック104に対する変換を含む。実施形態に従って、1つ以上の利用可能な変換の第2のセット134は、予め定められたサブエリア106の外側のいずれかの非ゼロ変換係数を有さない変換係数ブロック104に対する変換を含む。言い換えると、1つ以上の利用可能な変換の第2のセット134からの1つ以上の変換は、予め定められたサブエリアの外側の全ての変換係数がゼロに等しい値を有すること、及び非ゼロ変換係数が予め定められたサブエリア106の内側にのみ位置することの要件、すなわち、非ゼロ要件を有してもよい。1つ以上の利用可能な変換の第1のセット132からの変換は、この非ゼロ要件を満たす必要がなくてもよい。
【0074】
変換係数ブロック104の下層の変換131が1つ以上の利用可能な変換の第1のセット132内にある場合、デコーダ20は、最初にコーディングされた係数位置102から最後にスキャンされた位置101に方に位置する、第1の係数スキャン順序110に従った変換係数ブロック104の変換係数の値を復号し(109)、最初にコーディングされた係数位置102の上流に位置する、第1の係数スキャン順序110に従った変換係数ブロック104の変換係数112がゼロであると推測するように構成される。
図7に示されるように、この第1の条件について、デコーダ20は、変換係数ブロック104の網掛けエリア内の全ての変換係数112がゼロであると推測するように構成されてもよい。第1の係数スキャン順序110は、予め定められたサブエリア106の内側に位置する2つの変換係数120の間で第1の係数スキャン順序110によってスキャンされた予め定められたサブエリア106の外側の1つ以上の変換係数118が存在するような方式において変換係数ブロック104の変換係数をスキャンする。
図7の実施形態に例示的に示されるように、予め定められたサブエリア106の外側の変換係数118
1~118
3は、予め定められたサブエリア106の内側に位置する2つの変換係数120
1及び120
2の間の第1の係数スキャン順序110によってスキャンされ、予め定められたサブエリア106の外側の変換係数118
4は、予め定められたサブエリア106の内側に位置する2つの変換係数120
3及び120
4の間の第1の係数スキャン順序110によってスキャンされる。
【0075】
変換係数ブロック104の下層の変換131が1つ以上の利用可能な変換の第2のセット134内にある場合、デコーダ20は、予め定められたサブエリア106内に位置し、第2の係数スキャン順序114に従って、最初にコーディングされた係数位置102から最後にスキャンされた位置101に方に位置する変換係数ブロック104の変換係数の値を復号し(113)、第1の係数スキャン順序110に従って、最初にコーディングされた係数位置102の上流に位置する変換係数ブロック104の変換係数116及び予め定められたサブエリア106の外側に位置する変換係数ブロック104の変換係数118がゼロであると推測するように構成される。第2の係数スキャン順序114は、予め定められたサブエリア106内の変換係数120の間の予め定められたサブエリア106の外側のいずれの変換係数118をもスキャンすることなく、予め定められたサブエリア106内の変換係数120をスキャンする。
【0076】
実施形態に従って、最初にコーディングされた係数位置102が変換係数ブロック104の予め定められたサブエリア106内に位置するかどうかの検査107は、最初にコーディングされた係数位置102が予め定められたサブエリア106内に位置しないことを実現することを結果としてもたらすことができる。そのような否定的なケース210が
図8に示される。最初にコーディングされた係数位置102が予め定められたサブエリア106内に位置することを実現する肯定的なケース200は、肯定的なケースが既に
図7に関して説明されたので、3つのドットのみによって
図8に示される。
【0077】
最初にコーディングされた係数位置102が変換係数ブロック104の予め定められたサブエリア106の外側に位置する場合、デコーダ20は、1つ以上の利用可能な変換の第2のセット134を利用可能な変換のセット130から取り除くことによって、1つ以上の利用可能な変換の第1のセット132まで利用可能な変換のセット130を低減させ(220)、1つ以上の利用可能な変換の第1のセット132から変換係数ブロック104の下層の変換131を判定するように構成される。この判定は、データストリーム14において伝送された変換情報108を使用することによって、または1つ以上の利用可能な変換の第1のセット132が1つの変換のみを構成する場合、変換係数ブロック104の下層の変換131が1つの変換であると推測することによってのいずれかで実行されてもよい。加えて、デコーダ20は、第1の係数スキャン順序110に従って、最初にコーディングされた係数位置102から最後にスキャンされた位置101の方に位置する変換係数ブロック104の変換係数の値を復号し(109)、第1の係数スキャン順序110に従って、最初にコーディングされた係数位置102の上流に位置する変換係数ブロック104の変換係数112がゼロであると推測するように構成される。
図8に示されるように、デコーダ20は、変換係数ブロック104の網掛けエリア内の全ての変換係数112がゼロであると推測するように構成されてもよい。
【0078】
図8に関して説明された特徴及び/または機能性は、
図7のデコーダ20に対して任意選択である。
【0079】
実施形態に従って、
図7に示されたデコーダ20は、
図9に示されるように、コンテキスト適応エントロピ復号230、例えば、コンテキスト適応バイナリ算術コーディングを使用して、データストリーム14から変換情報108を復号するように構成される。デコーダ20は、予め定められた確率モデル232、例えば、特定のコンテキストに対して更新されるような特定のバイナリ値についての推測された確率を使用してもよい。デコーダは、最初にコーディングされた係数位置102が変換係数ブロック104内に位置する場所に応じて、予め定められた確率モデル232を判定する(234)ように構成されてもよく、それぞれの説明により
図9及び
図10を参照されたい。
【0080】
実施形態、例えば、
図9に示される第1の実施形態に従って、デコーダ20は、最初にコーディングされた係数位置102が変換係数ブロック104内に位置する場所に応じて、予め定められた確率モデル232を判定する際(234)、最初にコーディングされた係数位置102が最後にスキャンされた位置101と一致する場合、予め定められた確率モデル232を第1の確率モデル236
1に設定し、最初にコーディングされた係数位置102が、第1の係数スキャン順序110に従って、最後にスキャンされた位置101から離れて予め定められた数240の変換係数以下である場合、予め定められた確率モデル232を第2の確率モデル236
2に設定し、最初にコーディングされた係数位置102が、第1の係数スキャン順序110に従って、最後にスキャンされた位置101から離れて予め定められた数240の変換係数よりも大きい場合、予め定められた確率モデル232を第3の確率モデル236
3に設定するように構成される。この実施形態についての予め定められた数240は、10の変換係数に設定されてもよく、第1の係数スキャン順序110に従って、最後にスキャンされた位置101から離れて予め定められた数240の変換係数以下である最も可能性がない変換係数は、参照符号240によって示される。しかしながら、異なる予め定められた数240の変換係数が選択されてもよいことも明らかである。
【0081】
代替的な実施形態、例えば、
図9に示される実施形態に従って、デコーダ20は、最初にコーディングされた係数位置102が変換係数ブロック104内に位置する場所に応じて、予め定められた確率モデル232を判定する際(234)、最初にコーディングされた係数位置102が、第1の係数スキャン順序110に従って、最後にスキャンされた位置101から離れて予め定められた数240の変換係数以下であり、または最後にスキャンされた位置101に一致する場合、予め定められた確率モデル232を第1の確率モデル238
1に設定し、最初にコーディングされた変換係数位置102が、第1の係数スキャン順序110に従って、最後にスキャンされた位置101から離れて予め定められた数240の係数より大きい場合、予め定められた確率モデル232を第2の確率モデル238
2に設定するように構成される。この実施形態についての予め定められた数240は、8の変換係数に設定されてもよく、第1の係数スキャン順序110に従って、最後にスキャンされた位置101から離れて予め定められた数240の変換係数以下である最も可能性がない変換係数は、参照符号240によって示される。しかしながら、上記ですでに説明されたように、異なる予め定められた数240の変換係数が選択されてもよいことも明らかである。
【0082】
上記説明された実施形態の両方について、第1の係数スキャン順序110及び第2の係数スキャン順序114は、最後にスキャンされた位置101及び最後にスキャンされた位置101の上流の予め定められた数240の変換係数において一致する。
図7に示された第1の係数スキャン順序110及び第2の係数スキャン順序114を重ね合わせるケースでは(第1の係数スキャン順序110についての復号109を、及び第2の係数スキャン順序114についての復号113を参照されたい)、両方のスキャンが最後にスキャンされた位置101の上流で同一であるまでの変換係数が存在する。
図7に示された変換係数ブロック104のケースでは、両方のスキャンが最後にスキャンされた位置101の上流で同一であるまでの10の変換係数が存在する。予め定められた数240の変換係数は、第1の係数スキャン順序110及び第2の係数スキャン順序114が最後にスキャンされた位置101の上流で一致するまでの最大数の変換係数まで、3の変換係数の範囲内の数に設定されてもよい。予め定められた数240の変換係数は、8の変換係数のような、3~10の変換係数または3~9の変換係数の範囲内の数に設定されてもよい。
【0083】
上記説明された第1の実施形態の第1の確率モデル2361及び第2の確率モデル2362が、上記説明された第2の実施形態の第1の確率モデル2381及び第2の確率モデル2382に対して異なってもよいことに留意されよう。
【0084】
図10は、左側で、それに対して予め定められた数240の変換係数ブロック104が8の変換係数に設定され、それに対して変換係数ブロック104の最初にコーディングされた変換係数位置102が8の変換係数に等しい変換係数ブロック係数104を示す。加えて、
図10は、右側で、上述した最後にスキャンされた位置101に等しい最初にコーディングされた変換係数位置102を有する変換係数ブロック104を示す。
【0085】
図11a及び11bに示される実施形態に従って、
図7に関して示され、及び説明された利用可能な変換のセット130は、予め定められたサブエリア106内の一次変換136a及び二次変換136bの連結に対応し、予め定められたサブエリア106の外側の一次変換136aから構成された1つ以上の多段階変換136を含む。言い換えると、
図11aの右上に示されるように、例えば、エンコーダによって実行される前方変換において、処理済み係数ブロック84’を判定するために、サンプルブロック84の全体に、すなわち、予め定められたサブエリア106内であり、且つ予め定められたサブエリア106の外側に一次変換136aが適用され、変換係数ブロック104を判定するために、処理済み係数ブロック84’の予め定められたサブエリア10のみに二次変換が適用される。例えば、デコーダによって実行される逆変換において、処理済み係数ブロック84’を判定するために、変換係数ブロック104の予め定められたサブエリア106に二次変換136bの逆が適用され、サンプルブロック84を判定するために、処理済み係数ブロック84’の全体に一次変換136aの逆が適用される。代わりに、
図11aの左上に示されるように、1つの変換ステップにおいて一次変換及び二次変換を適用することも可能であり、予め定められたサブエリア106内で二次変換136bのみが適用され、予め定められたサブエリア106内で、且つ予め定められたサブエリア106の外側で一次変換136aが適用される。1つ以上の多段階変換136が、1つ以上の利用可能な変換の第2のセット134に包含される。
【0086】
加えて、利用可能な変換のセット130は、1つ以上の利用可能な変換の第1のセット132が構成するものからの1つ以上の第1の一次専用変換、及び1つ以上の利用可能な変換の第2のセット134に包含された1つ以上の第2の一次専用変換を含む一次専用変換のセット138を含む。
図11aは、1つの第1の一次専用変換T
0から構成された1つ以上の利用可能な変換の第1のセット132を示し、
図11bは、N1の第1の一次専用変換T
1~T
N1から構成された1つ以上の利用可能な変換の第1のセット132を示す。
図11aにおける1つ以上の第2の一次専用変換は、T
1…T
N1と参照符号が付され、
図11bにおける1つ以上の第2の一次専用変換は、T
N1+1…T
N2と参照符号が付される。
【0087】
以下の実施形態が
図11bに関して説明されるが、
図11aに示されるようなセット130に対しても変換係数ブロック104の下層の変換131の導入されたシグナリングを使用することも可能であることが明らかである。
【0088】
図11bに示される実施形態に従って、デコーダは、データストリームから二次変換インジケータ124を復号するように構成される。二次変換インジケータ124は、変換係数ブロック104の下層の変換131が多段階変換、すなわち、セット136内にあり、且つ1つ以上の多段階変換136からの1つの変換であるかどうか、または変換係数ブロック104の下層の変換131が一次専用変換、すなわち、セット138の変換であるかどうかを示す。変換係数ブロック104の下層の変換131が一次専用変換であると二次変換インジケータ124が示す場合、デコーダは、データストリームから、一次専用変換のセット138から一次専用変換を識別する変換インジケータ126、例えば、一次変換インジケータを復号するように構成される。
【0089】
図11bに示される追加の実施形態または代替的な実施形態に従って、デコーダは、データストリームから二次変換インジケータ124を復号するように構成され、二次変換インジケータ124は、変換係数ブロック104の下層の変換131が多段階変換136であるかどうかを示し、そうである場合、変換係数ブロック104の下層の変換131の多段階変換の二次変換136b、すなわち、T
(s)であることを示し、または変換係数ブロック104の下層の変換131が一次専用変換、すなわち、セット138内の変換であるかどうかを示す。加えて、デコーダは、データストリームから一次変換インジケータ126を復号し、一次変換インジケータ126は、変換係数ブロック104の下層の変換131が一次専用変換であることを二次変換インジケータ124が示すケースでは、一次専用変換のセット138からの一次専用変換、すなわち、セット138の1つを識別し、変換係数ブロック104の下層の変換131が多段階変換、すなわち、セット136の変換であり、1つ以上の多段階変換のセット136が相互に異なる一次変換136aを有する1つよりも多い多段階変換を含むことを二次変換インジケータ124が示すケースでは、多段階変換の一次変換136aを識別する。よって、このケースでは、一次変換インジケータ126は、一次専用変換のセット138からの一次専用変換を示し、二次変換インジケータ124が何を示すかに応じて多段階変換についての一次変換136aを示すように構成される。
【0090】
図11bに示される追加の実施形態または代替的な実施形態に従って、デコーダは、データストリームから一次変換インジケータ126を復号するように構成される。一次変換インジケータ126は、1つ以上の第1の一次専用変換T
1…T
N1、すなわち、変換の第1のセット132の一次変換、及び1つ以上の第2の一次専用変換T
N1+1…T
N2、すなわち、変換の第2のセット134一次変換を含む、一次専用変換のセット138からの第1の変換を示す。第1の変換が第1の一次専用変換T
1…T
N1の1つである場合、デコーダは、データストリームから二次変換インジケータ124を復号するように構成され、二次変換インジケータ124は、1つ以上の第1の一次専用変換T
1…T
N1を含むセットからの変換係数ブロック104の下層の変換131、及び多段階変換136、例えば、1つ以上の第2の一次専用変換T
N1+1…T
N2を有さない利用可能な変換のセット130からの1つを識別する。代わりに、第1の変換が第1の一次専用変換T
1…T
N1の1つであるケースでは、変換係数ブロック104の下層の変換131は、そのセットの間で一部の変換が相互に等しくなることができる、1つ以上の第1の一次専用変換T
1…T
N1及び多段階変換136の1つ以上の一次変換T
1
(p)~T
N3
(p)を含むセットから識別されてもよい。変換係数ブロック104の下層の変換131は、第1の変換が多段階変換の1つの一次変換であるケースでは、1つの多段階変換である。第1の変換が1つ以上の第2の一次専用変換T
N1+1…T
N2の1つであるケースでは、1つの第2の一次専用変換は、一次変換インジケータ126によって示される。よって、第1の変換が1つ以上の第1の一次専用変換T
1…T
N1の1つであるケースでは、二次変換インジケータ124は、変換係数ブロック104の下層の変換131を示し、第1の変換が1つ以上の第2の一次専用変換T
N1+1…T
N2の1つであるケースでは、一次変換インジケータ126は、変換係数ブロック104の下層の変換131を示す。
【0091】
図11bに示される追加の実施形態または代替的な実施形態に従って、デコーダは、データストリームから一次変換インジケータ126を復号するように構成される。一次変換インジケータ126は、1つ以上の第1の一次専用変換T
1…T
N1及び1つ以上の第2の一次専用変換T
N1+1…T
N2を含むセットからの第1の変換を示す。第1の変換が多段階変換136の1つ以上の一次変換T
1
(p)~T
N3
(p)に等しい第1の一次専用変換T
1…T
N1である場合、デコーダは、データストリームから二次変換インジケータ124を復号するように構成され、二次変換インジケータ124は、第1の一次専用変換及びその一次変換が第1の一次専用変換、例えば、一次変換インジケータ126によって示される第1の一次専用変換に等しい1つ以上の多段階変換を含むセットからの変換係数ブロック104の下層の変換131を識別する。
【0092】
実施形態に従って、デコーダ20は、予め定められた確率モデルを使用したコンテキスト適応エントロピ復号を使用して、データストリームから一次変換インジケータ126の復号を実行し、最初にコーディングされた係数位置102が変換係数ブロック104内に位置する場所に応じて、予め定められた確率モデルを判定するように構成される。
【0093】
実施形態に従って、デコーダ20は、最初にコーディングされた係数位置102が変換係数ブロック104内に位置する場所に応じて、予め定められた確率モデルを判定する際、
最初にコーディングされた係数位置102が最後にスキャンされた位置101と一致する場合、予め定められた確率モデルを第1の確率モデルに設定し、
最初にコーディングされた係数位置102が、第1の係数スキャン順序110に従って、最後にスキャンされた位置101から離れて予め定められた数240の変換係数120以下である場合、予め定められた確率モデルを第2の確率モデルに設定し、
最初にコーディングされた係数位置102が、第1の係数スキャン順序110に従って、最後にスキャンされた位置101から離れて予め定められた数240の変換係数よりも大きい場合、予め定められた確率モデルを第3の確率モデルに設定する、ように構成される。
【0094】
第1の係数スキャン順序110及び第2の係数スキャン順序114は、最後にスキャンされた位置101、及び最後にスキャンされた位置101の上流の予め定められた数240の変換係数120において一致する。
【0095】
代替的な実施形態に従って、デコーダ20は、最初にコーディングされた係数位置102が変換係数ブロック104内に位置する場所に応じて、予め定められた確率モデルを判定する際、
最初にコーディングされた係数位置102が、第1の係数スキャン順序110に従って、最後にスキャンされた位置101から離れて予め定められた数240の変換係数以下であり、または最後にスキャンされた位置101と一致する場合、予め定められた確率モデルを第1の確率モデルに設定し、
最初にコーディングされた変換係数位置102が、第1の係数スキャン順序110に従って、最後にスキャンされた位置101から離れて予め定められた数240の係数よりも大きい場合、予め定められた確率モデルを第2の確率モデルに設定する、ように構成される。
【0096】
第1の係数スキャン順序110及び第2の係数スキャン順序114は、最後にスキャンされた位置101、及び最後にスキャンされた位置101の上流の予め定められた数240の変換係数において一致する。
【0097】
データストリームからの一次変換インジケータ126のコンテキスト適応エントロピ復号のための予め定められた確率モデルの上記説明された設定は、
図9に示されたように、データストリーム14からの変換情報108のコンテキスト適応エントロピ復号230のための予め定められた確率モデル232の設定について説明されるような特徴及び/または機能性を含んでもよい。一次変換インジケータ126のコンテキスト適応エントロピ復号のための第1の確率モデル、第2の確率モデル、及び任意選択の第3の確率モデルは、変換情報108のコンテキスト適応エントロピ復号のための第1の確率モデル、第2の確率モデル、及び任意選択の第3の確率モデルとは異なってもよい。
【0098】
実施形態に従って、一次変換は、1つ以上の多段階変換136の全てに対して等しく、また、1つ以上の第1の一次専用変換T0またはT1~TN1の1つに等しい。
【0099】
実施形態に従って、
図11aに示されたように、1つのみの第1の一次専用変換T
0が存在する。
【0100】
実施形態に従って、デコーダ20は、サンプルブロック84を取得するように、変換係数ブロック104の下層の変換131を反転させる、反転変換、例えば、逆変換を変換係数ブロック104に受けさせるように構成される。
【0101】
実施形態に従って、デコーダ20は、イントラピクチャ予測またはインターピクチャ予測によって得られた予測信号を補正するために、サンプルブロック84を使用する。
【0102】
図12は、データストリーム14からサンプルブロック84の変換済み表現を復号するデコーダ20を示す。デコーダ20は、データストリーム14から係数位置情報150を復号するように構成される。係数位置情報150は、変換係数ブロック104内の最初にコーディングされた係数位置102を示す。係数位置情報150は、
図7に示されたデコーダの係数位置情報100に関して説明されたような同一の特徴及び/または機能性を有してもよい。
【0103】
デコーダ20は、予め定められた係数スキャン順序110に従って、最初にコーディングされた係数位置102から最後にスキャンされた位置101の方に位置する変換係数ブロック104の変換係数120の値を復号し、予め定められた係数スキャン順序110に従って、最初にコーディングされた係数位置102の上流に位置する変換係数ブロック104の変換係数112がゼロであると推測するように構成される。
図12に示されるように、変換係数ブロック104の網掛けエリア内の変換係数112は、ゼロであると推測される。
【0104】
デコーダは、予め定められた係数スキャン順序110に従って、最初にコーディングされた係数位置102から最後にスキャンされた位置101の方に位置する変換係数ブロック104の全ての変換係数118、すなわち、
図12におけるxによって示される変換係数が、変換係数ブロック104の予め定められたサブエリア106内に位置しない場合にゼロであるかどうかを検査する(152)ように構成される。この検査は、例えば、対応する重要度フラグに基づいて個々にそれらのゼロ度について係数が検査される方式において後に説明される実施形態において実行される。しかしながら、代替例が存在する。例えば、この検査152がサブブロック方式に実行されてもよく、予め定められたサブエリア106が、最低成分のいくつかのサブブロック、例えば、DC係数を含むDCサブブロックと共に最後にスキャンされた位置101を包含したサブブロックを包含するブロック104の左上隅におけるnxmサブブロックを除き、全てのサブブロックを包囲してもよい。nはmに等しくてもよく、例えば、nは4であってもよく、例えば、mは4であってもよい。より正確に、変換係数ブロックは、サブブロックに細分割されてもよく、各々のサブブロックは、例えば、4×4変換係数の大きさであり、その結果、左上のサブブロックは、最低スペクトル成分のサブブロックである。各々のサブブロックは、例えば、変換係数ブロック104内のそれぞれのサブブロックの位置を定義した、インデックスまたは座標、例えば、xS及びySによって示されてもよく、ゼロにおいて開始することをインデックス付けにより、xSは、それぞれのサブブロックのサブブロック列を示し、ySは、それぞれのサブブロックのサブブロック行を示し、すなわち、サブブロック(xS,yS)=(0,0)は、DCサブブロックである。予め定められた係数スキャン順序110は、ブロック104の係数をサブブロック方式でトラバースしてもよく、すなわち、サブブロック内の全ての係数は、次のサブブロックに進む前にトラバースされる。サブブロックは、各サブブロック内のスキャンと同様の方式において、すなわち、対角線上にトラバースされる。最低スペクトル成分のサブブロックと共に最後にスキャンされた位置101を包含したサブブロックを除くサブブロックごとに、サブブロックフラグがデータストリームにおいて伝送されてもよく、すなわち、デコーダによって復号されてもよく、エンコーダによってそれに符号化されてもよく、サブブロックは、それぞれのサブブロックについて、いずれかの有意係数がそれぞれのサブブロック内に包含されるかどうかを示す。デコーダは、それらのサブブロックフラグに基づいて、予め定められたエリアの外側のいずれかのサブブロック、すなわち、n×nの最低スペクトル成分と最後にコーディングされた係数を包含したサブブロックとの間のいずれかのサブブロック内に有意値が存在するかどうかを検査してもよい。この測定によって、予め定められた係数スキャン順序110に従って、最初にコーディングされた係数位置102から最後にスキャンされた位置101の方に位置する、変換係数ブロック104の全ての変換係数118が、変換係数ブロック104の予め定められたサブエリア106内に位置しない場合、すなわち、n×nサブブロックと最後にコーディングされた係数を包含したサブブロックとの間のサブブロックについての全てのコーディングされたサブブロックフラグがゼロであるケースでは、ゼロであるかどうかが試験される。例えば、予め定められたエリアが16×16変換係数の大きさ、すなわち、幅において4サブブロック及び高さにおいて4サブブロックであるケースでは、予め定められたサブエリア106の外側のサブブロック、例えば、座標xS>3またはyS>3により示されるサブブロックが、1つ以上の有意変換係数を含むかどうかが検査される(152)。説明を再開する。
【0105】
予め定められた係数スキャン順序110に従って、最初にコーディングされた係数位置102から最後にスキャンされた位置101の方に位置する、変換係数ブロック104の全ての変換係数118が、変換係数ブロック104の予め定められたサブエリア106内に位置しない場合にゼロである場合、デコーダ20は、データストリーム14から変換情報154を復号し(153)、変換情報154を使用して、利用可能な変換のセット130から、例えば、利用可能な変換のセット130からの1つ以上の利用可能な変換の第2のセット134から、変換係数ブロック104の下層の変換131を識別する(155)、ように構成される。
【0106】
予め定められた係数スキャン順序110に従って、最初にコーディングされた係数位置102から最後にスキャンされた位置101の方に位置する、変換係数ブロック104の全ての変換係数118が、変換係数ブロック104の予め定められたサブエリア106内に位置しない場合にゼロでない場合、デコーダは、1つ以上の利用可能な変換の第2のセット134の利用可能な変換のセット130から取り除くことによって、1つ以上の利用可能な変換の第1のセット132まで利用可能な変換のセット130を低減させ、1つ以上の利用可能な変換の第1のセット132からの変換係数ブロック104の下層の変換131を判定する。これは、以下の方式においても説明される。サブブロックが予め定められたエリア、例えば、左上の16×16係数の外側に位置し、それが有意である場合、すなわち、例えば、それぞれのサブブロックが少なくとも1つの非ゼロ係数を包含する場合、それは、制限された変換のセットのみ、例えば、1つ以上の利用可能な変換の第1のセット132の変換のみを利用することができることに従う。このセット132が1つの変換のみ、例えば、DCT-IIのみを包含する場合、mts_idxの値は、0であると推測されてもよい。
【0107】
実施形態に従って、利用可能な変換のセット130は、例えば、
図11aまたは11bに示されるように、例えば、1つ以上の利用可能な変換の第1のセット132に備えられる、1つ以上の第1の一次専用変換T
1…T
N1、及び例えば、1つ以上の利用可能な変換の第2のセット134に備えられる、1つ以上の第2の一次専用変換T
N1+1…T
N2を含む、一次専用変換のセット138であってもよい。好ましくは、利用可能な変換のセット130は、例えば、
図11aに示されるように、1つの第1の一次専用変換T
0及び1つ以上の第2の一次専用変換T
1…T
Nから構成される。よって、
図12におけるxによって示されるように、変換係数ブロック104の予め定められたサブエリア106の外側の変換係数ブロック104の全ての変換係数118がゼロでない第2のケースでは、デコーダは、変換係数ブロック104の下層の変換131として1つの第1の一次専用変換T
0を判定してもよい。
図12におけるxによって示されるように、変換係数ブロック104の予め定められたサブエリア106の外側の変換係数ブロック104の全ての変換係数118がゼロである他のケースでは、デコーダは、ブロック104に対してデータストリームにおいて伝送された、すなわち、この他のケースでは、デコーダによってデータストリームから復号され、エンコーダによってそれに符号化されたインデックスによって、セット130から変換係数ブロック104の下層の変換131を判定してもよい。利用可能な変換のセット130は、5つの異なるオプションを含んでもよく、1つの変換T
0は、DCT-II-DCT-II変換であってもよい。後者の例は、例えば、予め定められたエリアサブブロック方式の外側でゼロ度を検査する上述した例と組み合わされてもよい。加えて、この実施例では、ブロック104の下層の変換131が二次変換とのまさに概説されたように判定された一次変換の結合であることに従って、ブロック104についてのコーディングオプションが存在することは、任意選択であってもよい。例えば、それは、最後にコーディングされた変換係数の位置が特定の条件を充足する場合、更なるインデックスは、二次変換のセットから二次変換を選択するということであってもよい。このセットは、1つのオプションとして、非二次変換、すなわち、一次専用変換として一次変換から効果的に離れる識別変換を含んでもよい。特定の条件が満たされない場合、二次変換も使用されない。
【0108】
変換係数ブロック104に従った変換係数ブロック104の下層の変換131は、変換済み表現を定義し、予め定められた係数スキャン順序110は、1つ以上の変換係数118、すなわち、予め定められたサブエリア106の内側に位置する2つの変換係数120の間の予め定められた係数スキャン順序110によってスキャンされた予め定められたサブエリア106の外側の変換係数が存在するような方式において変換係数120をスキャンする。
【0109】
実施形態に従って、デコーダは、最初にコーディングされた係数位置102が変換係数ブロック104の予め定められたサブエリア106内に位置するかどうかを検査し、変換係数ブロック104の予め定められたサブエリア106の外側に位置し、予め定められた係数スキャン順序110に従って、最初にコーディングされた係数位置102から最後にスキャンされた位置101の方に位置する全ての変換係数118がゼロであるかどうかを検査する(152)ように構成される。任意選択で、検査152は単に、最初にコーディングされた係数位置102が変換係数ブロック104の予め定められたサブエリア106内に位置する場合に実行される。これは、最初にコーディングされた係数位置102が変換係数ブロック104の予め定められたサブエリア106の外側に位置するケースでは、予め定められたサブエリア106の外側の変換係数がゼロでないはずであるという事実に起因する。
【0110】
実施形態に従って、デコーダ20は、予め定められた確率モデルを使用したコンテキスト適応エントロピ復号を使用して、データストリーム14からの変換情報154の復号153を実行し、最初にコーディングされた係数位置102が変換係数ブロック104内に位置することに応じて、予め定められた確率モデルを判定するように構成される。任意選択で、データストリーム14からの変換情報154のコンテキスト適応エントロピ復号についての予め定められた確率モデルは、
図9に示されるように、データストリームからの変換情報108のコンテキスト適応エントロピ復号230についての予め定められた確率モデル232に関して説明されたように設定されてもよい。しかしながら、変換情報154のコンテキスト適応エントロピ復号についての第1の確率モデル、第2の確率モデル、及び任意選択の第3の確率モデルは、変換情報108のコンテキスト適応エントロピ復号についての第1の確率モデル、第2の確率モデル、及び任意選択の第3の確率モデルとは異なってもよいことが明白である。
【0111】
実施形態に従って、利用可能な変換のセット130は、
図11aに示されるように、その各々が予め定められたサブエリア106内の一次変換T
1
(p)~T
N2
(p)及び二次変換T
1
(s)~T
N2
(s)の連結に対応し、予め定められたサブエリア106の外側の一次変換T
1
(p)~T
N2
(p)から構成された多段階変換136を含む。多段階変換136は、1つ以上の利用可能な変換の第2のセット134に包含される。一次専用変換のセット138は、それから1つ以上の利用可能な変換の第1のセット132が構成し、1つ以上の多段階変換136の全てについての一次変換T
1
(p)~T
N2
(p)がそれに等しい第1の一次専用変換T
0、及び1つ以上の利用可能な変換の第2のセット134に包含される1つ以上の第2の一次専用変換T
1~T
N1を含む。
【0112】
実施形態に従って、上記説明され、
図11aに示された利用可能な変換のセット130が使用される。デコーダ20は、予め定められた係数スキャン順序110に従って、最初にコーディングされた係数位置102から最後にスキャンされた位置101に方に位置する変換係数ブロック104の全ての変換係数118が、変換係数ブロック104の予め定められたサブエリア106内に位置しない場合にゼロである場合、データストリーム14から二次変換インジケータ156を復号するように構成され、二次変換インジケータ156は、変換係数ブロック104の下層の変換131が多段階変換136であるかどうかを示し、及び1つ以上の多段階変換136からのいずれか1つを示し、または変換係数ブロック104の下層の変換131が一次専用変換138であるかどうかを示す。言い換えると、二次変換インジケータ156は、変換係数ブロック104の下層の変換131が多段階変換136または一次専用変換138に属するかどうかを示し、変換131が多段階変換136に属する場合、変換係数ブロック104の下層の変換131は、二次変換インジケータ156によって直接示される。加えて、この第1のケース157では、変換係数ブロック104の下層の変換131が一次専用変換138であることを二次変換インジケータ156が示すかどうかが検査され、及び変換係数ブロック104の下層の変換131が一次専用変換138であることを二次変換インジケータ156が示す場合、デコーダ20は、データストリーム14から、一次専用変換のセット138からの一次専用変換を識別する変換インジケータ160、例えば、一次変換インジケータを復号するように構成される。第2のケース159では、予め定められた係数スキャン順序110に従って、最初にコーディングされた係数位置102から最後にスキャンされた位置101の方に位置する変換係数ブロック104の全ての変換係数118が、変換係数ブロック104の予め定められたサブエリア106内に位置しない場合にゼロでない場合、変換係数ブロックの下層の変換は、第1の一次専用変換T
0である。
【0113】
実施形態に従って、上記説明され、
図11aに示された利用可能な変換のセット130が使用される。デコーダ20は、予め定められた係数スキャン順序110に従って、最初にコーディングされた係数位置102から最後にスキャンされた位置101に方に位置する変換係数ブロック104の全ての変換係数118が、変換係数ブロック104の予め定められたサブエリア106内に位置しない場合にゼロである場合、データストリーム14から一次変換インジケータ160を復号するように構成され、一次変換インジケータ160は、第1の一次専用変換T
0及び1つ以上の第2の一次専用変換T
1~T
N1を含むセットからの第1の変換を示す。第1の変換が、第1の一次専用変換T
0である場合、デコーダ20は、第1の一次専用変換T
0及び多段階変換136を含むセットから変換係数ブロック104の下層の変換131を識別する二次変換インジケータ156をデータストリーム14から復号する。第1の変換が1つ以上の第2の一次専用変換T
1~T
N1の1つである場合、変換係数ブロック104の下層の変換131は、1つの第2の一次専用変換、すなわち、一次変換インジケータ160によって示される第2の一次専用変換である。予め定められた係数スキャン順序110に従って、最初にコーディングされた係数位置102から最後にスキャンされた位置101の方に位置する変換係数ブロック104の全ての変換係数118が、変換係数ブロック104の予め定められたサブエリア106内に位置しない場合にゼロでない場合、変換係数ブロック104の下層の変換131は、第1の一次専用変換T
0である。
【0114】
実施形態に従って、一次変換T
1
(p)~T
N2
(p)は、1つ以上の多段階変換136の全てに対して等しく、また、1つ以上の第1の一次専用変換の1つに等しく、例えば、
図11aにおけるT
0に等しく、または
図11bにおけるT
1~T
N1の1つに等しい。
【0115】
実施形態に従って、
図11aに示されるように、1つの第1の一次専用変換T
0のみが存在する。
【0116】
実施形態に従って、デコーダ20は、サンプルブロック84を取得するように、変換係数ブロック104の下層の変換131を反転させる、逆変換を変換係数ブロック104に受けさせるように構成される。
【0117】
実施形態に従って、デコーダ20は、イントラピクチャ予測またはインターピクチャ予測によって得られた予測信号を補正するために、サンプルブロック84を使用するように構成される。
【0118】
実施形態に従って、
図7~12の1つに関して上記説明されたデコーダの1つと並列した特徴及び/または機能性を有するエンコーダは、変換係数ブロック104を取得するように、サンプルブロック84に変換係数ブロック104の下層の変換131を受けさせるように構成される。
【0119】
実施形態に従って、
図7~12の1つに関して上記説明されたデコーダの1つと並列した特徴及び/または機能性を有するエンコーダは、イントラピクチャ予測またはインターピクチャ予測によって得られた予測信号の予測残差を導出し、予測残差を表すよう、例えば、量子化を含むサンプルブロック84を判定するように構成される。
【0120】
以下の説明は、言い換えると、変換タイプシグナリングについてのコーディング効率を改善するための上記説明された2つの様式を説明する。
【0121】
1.サブブロック内の係数レベルの後のシグナリング変換タイプの保持
カレント変換ブロック104内の最初(最後)の有意係数位置102が、許可された変換の特定のサブセットに対して全ての係数が0に等しいことが必要とされるエリアの内側に位置するとき、すなわち、最初(最後)の有意係数位置102が予め定められたサブエリア106の外側に位置するとき(例えば、上記説明された非DCT-II変換に対して16×16エリアの外側)、非ゼロ要件を有さない許可された変換のサブセットのみ、例えば、利用可能な変換のセット130の利用可能な変換の第1のセット132の変換がシグナリングされてもよい。サブセットが1つの変換のみを包含するケースでは、シグナリングが必要ではなく、変換が推測される(例えば、MTSインデックスがシグナリングされず、代わりに、0に等しいと推測され、それは、
図13の両方の簡易化されたシンタックス図に例示される)。
【0122】
図13は、mts_idxによる変換選択に応じた修正されていないサブブロック(SB)スキャニングによる簡易化されたシンタックス図を示す。
【0123】
カレント変換ブロック104内の最初(最後)の有意係数位置102が、許可された変換の特定のサブセットに対して全ての係数が0に等しいことが必要とされるエリアの外側に位置するとき、すなわち、最初(最後)の有意係数位置102が予め定められたサブエリア106の内側に位置するとき(例えば、上記説明された非DCT-II変換に対して16×16エリアの内側)、
図12に示されたように、各々のその後にスキャンされる係数の位置が検査される(152)。少なくとも1つの係数118が非ゼロエリア、すなわち、予め定められたサブエリア106の外側に位置する場合、非ゼロ要件を有さない許可された変換のサブセットのみ、例えば、利用可能な変換のセット130の利用可能な変換の第1のセット132の変換がシグナリングされてもよい。サブセットが1つの変換のみを包含するケースでは、シグナリングが必要ではなく、変換が推測される(例えば、MTSインデックスがシグナリングされず、代わりに、0に等しいと推測される)。この条件は、
図13の右側上の簡易化されたシンタックス図に例示される(AllLumaCoeffOutside16x16AreZeroに関する条件を参照)。
【0124】
追加の変換、例えば、LFNSTを適用することができるケースでは、変換タイプの前にその選択がシグナリングされ(156)、それは、追加の変換が適用されることを示し、追加の変換と結合されることが許可された変換のサブセットのみがシグナリングされてもよい。サブセットが1つの変換のみを包含するケースでは、シグナリングが必要ではなく、変換が推測される(例えば、LFNSTが適用されることをシグナリングするLFNSTインデックスが0よりも大きい場合、MTSインデックスがシグナリングされず、代わりに、0に等しいと推測され、それは、
図13の両方の簡易化されたシンタックス図に例示される、DCT-IIに対応する)。
【0125】
追加の変換(例えば、LFNST)を適用することができるケースでは、変換タイプの後にその選択がシグナリングされ(156)、変換タイプは、追加の変換と結合されることが許可されない変換を示し、追加の変換の選択はシグナリングされないが、無効にされると推測される(例えば、非DCT-II変換が適用されることをシグナリングするMTSインデックスが0よりも大きい場合、LFNSTインデックスがシグナリングされず、代わりに、0に等しいと推測され、それは、LFNSTを無効にすることに対応する)。
【0126】
2.サブブロック内で最初(最後)の有意係数位置の後、及び係数レベルの前の信号変換タイプ
カレント変換ブロック104内の最初(最後)の有意係数位置102がシグナリングされ(100)、全ての係数が許可された変換の特定のサブセットに対して0に等しいことが必要とされるエリアの内側に位置した後、すなわち、最初(最後)の有意係数位置102が予め定められたサブエリア106の外側(例えば、上記説明された非DCT-II変換に対して16×16エリアの外側)に位置した後、非ゼロ要件を有さない許可された変換のサブセットのみ、例えば、
図8に示されるように、利用可能な変換のセット130の利用可能な変換の第1のセット132の変換がシグナリングされてもよい。サブセットが1つの変換を包含するケースでは、シグナリングが必要ではなく、変換が推測される(例えば、MTSインデックスがシグナリングされず、代わりに、0に等しいと推測される)。この条件は、
図14における両方の簡易化されたシンタックス図に例示される(16×16内のLastCoeffPosYに関する条件を参照)。
【0127】
図14は、mtx_idxによる変換選択に応じて修正済みサブブロック(SB)スキャニングによる簡易化されたインタックス図を示す。
【0128】
特定のエリア、すなわち、予め定められたサブエリア106の外側の全ての係数がゼロに等しいことを必要とする変換がシグナリングされるとき、
図3の左側に示され、及び
図7に示されるように、このエリア、すなわち、予め定められたサブエリア106の内側のサブブロック及び係数のみが、スキャニングパス114内にあるという様式においてスキャニング順序を変更する。この条件も、
図14における両方の簡易化されたシンタックス図において例示される(mtx_idx>0についての条件を参照)。
【0129】
追加の変換、例えば、LFNSTを適用することができるケースでは、変換タイプの後にその選択124がシグナリングされ、変換タイプは、追加の変換、例えば、第2の一次専用変換の変換と組み合わされることが許可されない変換を示し、追加の変換の選択はシグナリングされないが、無効にされると推測される(例えば、MTSインデックスが0よりも大きい場合、非DCT-II変換がどの信号に適用されるかについて、LFNSTインデックスはシグナリングされず、代わりに0に等しいと推測され、それは、
図14の左側の簡易化されたシンタックス図に例示されるように、LFNSTを無効にすることに対応する)。
【0130】
前のケースに加えて、変換タイプのシグナリングは、
図9に示されるように、コンテキスト適応エントロピコーディング230、例えば、コンテキスト適応バイナリ算術コーディング(CABAC)を使用して行われる。このケースでは、コンテキスト選択は、追加の変換(例えば、LFNST)を適用することを許可するか否かの条件に依存する。これは、最初(最後)の有意係数位置102から推測される、カレントブロック、すなわち、カレント変換係数ブロック104内の数240の非ゼロ係数であってもよい。追加の変換をDC係数、すなわち、最後にスキャンされた位置101、すなわち、左上(0,0)ゼロ周波数位置に適用することが、同一のDC係数を結果としてもたらす場合、1つのDC係数のみがカレント変換ブロックに存在する場合、すなわち、最初にコーディングされた係数位置102が最後にスキャンされた位置101と一致するケースでは、そのような追加の変換を適用及びシグナリングすることは意味をなさない。よって、最後(最初)の有意位置が、スキャン順序における最初の位置及び最後の位置でもあるDC位置を指し示す場合、追加の変換がシグナリングされる必要がなく、MTSインデックスについて特定のコンテキストA、例えば、第1の確率モデルが選択される。このケースは、
図10の右側に例示される。更に、乗算の回数に関して複雑度を低減させるために、スキャン順序110における追加の変換に対し、最初(最後)の有意位置102からDC、すなわち、最後にスキャンされた位置101まで特定の最大数240の係数(例えば、8)が許可されてもよい。このケースは、
図10の左側に例示される。追加の変換を適用することができ、及び/またはインジケーションがシグナリングされる全ての他のケースでは、別のコンテキストB、例えば、第2の確率モデルが選択される。要するに、前の実施例に基づいたコンテキスト選択についての条件は、
・カレント変換ブロック104がDCよりも多くの非ゼロ係数を有し、DCへの最後の有意位置からスキャン順序110において8以下の係数が存在する場合、コンテキストA、例えば、第2の確率モデル236
2を選択し、
・そうでなければ、コンテキストBを選択する。
【0131】
別の実施例は、条件に応じて2よりも多いコンテキストを有し、
・カレント変換ブロック104がDC以下の非ゼロ係数を有する場合、コンテキストA、すなわち、第1の確率モデル2361を選択する。
・そうでなければ、最後の有意位置からDCへのスキャン順序において8以下の係数が存在する場合、コンテキストB、すなわち、第2の確率モデル2362を選択する。
・そうでなければ、コンテキストC、すなわち、第3の確率モデル2363を選択する。
【0132】
条件は、複数の変換ブロックにも適用されてもよく、例えば、ルマブロック及び2つのクロマブロックに対し、またはルマ変換ブロックが複数の(例えば、4)変換ブロックに分割されるケースでは1つよりも多いルマブロック対し、DCよりも多い係数が存在する必要がある。
【0133】
図10は、4個の4×4サブブロック及びスキャン順序における8個の非ゼロ係数の最大値を有する8x8ブロック(左)、またはDC位置において1つの非ゼロ係数のみを有する8x8ブロック(右)を示す。
【0134】
追加の変換(例えば、LFNST)を適用することができるケースでは、変換タイプの前にその選択がシグナリングされ、変換タイプは、追加の変換が適用されることを示し、追加の変換結合されることが許可された変換のサブセットのみがシグナリングされてもよい。サブセットが1つの変換のみを包含するケースでは、シグナリングが必要なく、変換が推測される(例えば、LFNSTが適用されることをシグナリングするLFNSTインデックスが0よりも大きい場合、MTSインデックスがシグナリングされず、代わりに、0に等しいと推測され、それは、
図14の右側上の簡易化されたシンタックス図に例示されるように、DCT-IIに対応する)。
【0135】
3.実装態様の実施例
図11a及び11bに示された、一次変換T
i及びT
i
(p)は、
・DCT-II(または、DCT-III)、DCTは、離散コサイン変換を表す
・DST-IV、DSTは、離散サイン変換を表す
・DCT-IV
・DST-VII
・恒等変換
のうちの1つ以上を含んでもよい。
【0136】
一次変換Ti及びTi
(p)は、分離可能変換であってもよい。
【0137】
二次変換Ti(複数可)は、エンコーダにおいて前方方向において、最後の変換係数ブロック104の係数を得るためにサブエリア106内の一次変換のTi
(p)係数に適用される非分離可能変換であってもよく、デコーダは、サンプルブロック84を取得するよう変換係数ブロック104に対して逆変換T-1を適用することによって、結果として生じる多段階変換Ti
(s)・Ti
(p)を反転させる。
【0138】
以下の言及が行われるべきである。順序114及び110は、最高周波数係数(DC係数であってもよい最後にスキャンされた位置101に対するブロック104の反対隅に位置する)からの対角線スキャニング(水平及び垂直の)の示された実施例に限定されず、別のサブブロックに進む前に最初に、サブブロック内の全ての係数をスキャンするサブブロック方式スキャニング処理に従って係数をスキャンする必要はない。更に、サブアレイ106は、16×16係数の大きさであることに限定されず、最後のスキャニング位置101からブロック104内の反対の隅まで拡張する係数のいずれかの矩形サブアレイであってもよい。
【0139】
更に、
図11aは、例示的であるにすぎない。1つよりも多い一次専用変換がセット132に包含されてもよい。これは、
図11bに表される。多段階変換の一次変換T
1
(p)~T
N3
(p)は、相互に等しくなくてもよいが、その1つ以上がセット132の一次専用変換に属することができる、セット136において異なる数を有してもよく、またはそうでなくてもよい。
【0140】
更に、
図11aに例示的に示されるように、T
1
(p)=…=T
N2
(p)=T
0のコンステレーションを単に理由として、一次専用変換を示さないケースでは、多段階変換が選択されることを示すとして、または一次専用変換を示さないケースでは、二次変換が選択されることを示すとしてインジケータ124を考慮することが可能である。代わりに、インジケータ124は、二次変換がなおも利用可能であるかどうかを示すとして解釈されてもよい。
【0141】
一部の態様が装置のコンテキストにおいて説明されてきたが、それらの態様は、ブロックまたはデバイスが方法ステップまたは方法ステップの特徴に対応する、対応する方法の説明をも表すことが明白である。同様に、方法ステップのコンテキストにおいて説明説明された態様は、対応する装置の対応するブロックもしくは項目または特徴の説明をも表す。方法ステップの一部または全ては、例えば、マイクロプロセッサ、プログラマブルコンピュータ、または電子回路のようなハードウェア装置によって(または、使用して)実行されてもよい。いくつかの実施形態では、最も重要な方法ステップのうちの1つ以上は、そのような装置によって実行されてもよい。
【0142】
ビデオ信号などの発明の符号化済み信号は、デジタル記憶媒体に記憶されてもよく、インターネットなどの無線伝送媒体もしくは有線伝送媒体などの伝送媒体上で伝送されてもよい。
【0143】
特定の実施態様の要件に応じて、発明の実施形態は、ハードウェアまたはソフトウェアにおいて実装されてもよい。実施態様は、それぞれの方法が実行されるように、プログラマブルコンピュータシステムと協働する(または、協働することが可能な)、そこに記憶された電子可読制御信号を有する、例えば、デジタル記憶媒体、フロッピーディスク、DVD、Blu-Ray、CD、ROM、PROM、EPROM、EEPROM、またはフラッシュメモリを使用して実行されてもよい。したがって、デジタル記憶媒体は、コンピュータ可読であってもよい。
【0144】
発明に従ったいくつかの実施形態は、本明細書で説明される方法の1つが実行されるように、プログラマブルコンピュータシステムと協働することが可能な、電子的可読制御信号を有するデータキャリアを含む。
【0145】
概して、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実装されてもよく、プログラムコードは、コンピュータプログラム製品がコンピュータ上で稼働するとき、方法の1つを実行するように動作可能である。プログラムコードは、例えば、機械可読キャリアに記憶されてもよい。
【0146】
他の実施形態は、機械可読キャリアに記憶された、本明細書で説明される方法の1つを実行するためのコンピュータプログラムを含む。
【0147】
言い換えると、発明の方法の実施形態はしたがって、コンピュータプログラムがコンピュータ上で稼働するとき、本明細書で説明される方法の1つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0148】
発明の方法の更なる実施形態はしたがって、本明細書で説明される方法の1つを実行するための、そこに記録されたコンピュータプログラムを含むデータキャリア(または、デジタル記憶媒体またはコンピュータ可読媒体)である。データキャリア、デジタル記憶媒体、または記録された媒体は典型的には、有形及び/または非一時的である。
【0149】
発明の方法の更なる実施形態はしたがって、本明細書で説明される方法の1つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、データ通信接続を介して、例えば、インターネットを介して転送されるように構成されてもよい。
【0150】
更なる実施形態は、本明細書で説明される方法の1つを実行するように構成され、または実行するように適合された処理手段、例えば、コンピュータまたはプログラマブル論理デバイスを含む。
【0151】
更なる実施形態は、本明細書で説明される方法の1つを実行するためのコンピュータプログラムをそこにインストールしたコンピュータを含む。
【0152】
発明に従った更なる実施形態は、受信機に、本明細書で説明される方法の1つを実行するためのコンピュータプログラムを転送するように構成された(例えば、電子的にまたは光学的に)装置またはシステムを含む。受信機は、コンピュータ、モバイルデバイス、またはメモリデバイスなどであってもよい。装置またはシステムは、例えば、受信機にコンピュータプログラムを転送するためのファイルサーバを含んでもよい。
【0153】
いくつかの実施形態では、本明細書で説明される方法の機能性の一部または全てを実行するために、プログラマブル論理デバイス(例えば、フィールドプログラマブルゲートアレイ)が使用されてもよい。いくつかの実施形態では、フィールドプログラマブルゲートアレイは、本明細書で説明される方法の1つを実行するために、マイクロプロセッサを協働してもよい。概して、方法は好ましくは、いずれかのハードウェア装置によって実行される。
【0154】
本明細書で説明される装置は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置及びコンピュータの組み合わせを使用して実装されてもよい。
【0155】
本明細書で説明される装置、または本明細書で説明される装置の構成要素は、ハードウェア及び/またはソフトウェアにおいて少なくとも部分的に実装されてもよい。
【0156】
本明細書で説明される方法は、ハードウェア装置を使用して、またはコンピュータタを使用して、またはハードウェア装置及びコンピュータの組み合わせを使用して実行されてもよい。
【0157】
本明細書で説明される方法、または本明細書で説明される装置の構成要素は、ハードウェア及び/またはソフトウェアにおいて少なくとも部分的に実装されてもよい。
【0158】
上記説明された実施形態は、本発明の原理について例示するにすぎない。本明細書で説明される配列及び詳細の修正及び変形が当業者にとって明らかであることが理解されよう。したがって、係属している特許請求の範囲によってのみ限定され、本明細書における実施形態の記載及び説明によって提示された特定の詳細によっては限定されないことを意図している。