(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-07
(45)【発行日】2023-08-16
(54)【発明の名称】実装効率の良いパーティションベースのイントラ符号化概念
(51)【国際特許分類】
H04N 19/119 20140101AFI20230808BHJP
H04N 19/70 20140101ALI20230808BHJP
H04N 19/593 20140101ALI20230808BHJP
H04N 19/176 20140101ALI20230808BHJP
【FI】
H04N19/119
H04N19/70
H04N19/593
H04N19/176
(21)【出願番号】P 2021554722
(86)(22)【出願日】2020-03-11
(86)【国際出願番号】 EP2020056489
(87)【国際公開番号】W WO2020182874
(87)【国際公開日】2020-09-17
【審査請求日】2021-11-05
(32)【優先日】2019-03-12
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】500341779
【氏名又は名称】フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(74)【代理人】
【識別番号】100085660
【氏名又は名称】鈴木 均
(74)【代理人】
【識別番号】100149892
【氏名又は名称】小川 弥生
(74)【代理人】
【識別番号】100185672
【氏名又は名称】池田 雅人
(72)【発明者】
【氏名】デ ルクサン ヘルナンデス,サンティアゴ
(72)【発明者】
【氏名】ブロス,ベンヤミン
(72)【発明者】
【氏名】グェン,ファン ホアン トン
(72)【発明者】
【氏名】ゲオルゲ,ファレリ
(72)【発明者】
【氏名】シュヴァルツ,ハイコ
(72)【発明者】
【氏名】マルペ,デトレフ
(72)【発明者】
【氏名】ヴィ―ガント,トーマス
【審査官】大濱 宏之
(56)【参考文献】
【文献】特開2017-175629(JP,A)
【文献】Santiago De Luxan Hernandez, Heiko Schwarz, Detlev Marpe, Thomas Wiegand Fraunhofer HHI Einsteinufer 37 10587 Berlin, Germany,CE3: Line-based intra coding mode (Tests 2.1.1 and 2.1.2) [online], JVET-L JVET-L0076-v2,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L0076-v2.zip>,2018年09月30日,pp.1-6
【文献】Jianle Chen Yan Ye Seung Hwan Kim,Algorithm description for Versatile Video Coding and Test Model 4 (VTM 4) [online], JVET-M JVET-M1002-v1,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/13_Marrakech/wg11/JVET-M1002-v1.zip>,2019年02月16日,pp.20-22
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
データストリーム(14)からのピクチャ(12)のブロックベースのデコードに関するデコーダであって、
前記ピクチャの所定のブロック(80)について、イントラ符号化モード(116)を、前記データストリーム(14)からデコード化することと、
前記ピクチャの前記所定のブロックについて、パーティション寸法フラグ(114)を、前記データストリームからデコード化し、前記パーティション寸法フラグに依存するパーティション寸法(104)を水平又は垂直に設定すること
であって、前記所定のブロック(80)は、前記パーティション寸法(104)に沿って、パーティション寸法に垂直な前記所定のブロックと同じ幅である変換パーティション(300)にパーティション化される、設定することと、
変換パーティションごとに、予測残差の変換(182)を、前記データストリームからデコード化することと、
前記イントラ符号化モードに依存する方法で、前記所定のブロックに隣接する1つ又は複数の既に再構築されたサンプルに依存する前記所定のブロックをイントラ予測して、前記所定のブロックについてプレディクタを得ることと、
前記それぞれの変換パーティションについてデコード化された前記予測残差の前記変換を使用して各変換パーティション内の前記プレディクタを補正(122)することによって前記所定のブロックを再構築することと
を実行するように構成され
、
前記デコーダは、
前記イントラ符号化モードに依存する方法で現在のサブパーティションに隣接する1つ又は複数の既に再構築されたサンプルに依存する前記現在のサブパーティションを充填することによって前記現在のサブパーティションのプレディクタを導出する(122)し、
前記それぞれの変換パーティションの前記変換を使用して前記現在のサブパーティションを形成する変換パーティションのグループによって構成される各変換パーティション内の前記プレディクタを補正(122)することによって前記現在のサブパーティションを再構築する、
ことによって、
前記所定のブロックの前記変換パーティションが変換パーティションのグループごとに前記サブパーティションを形成するようにグループ化される変換パーティションの少なくとも1つのグループを再構築することによって前記イントラ予測及び前記再構築を実行するよう構成され、
前記変換パーティションの1つの前記再構築されたサンプルは、前記現在のサブパーティションの他の変換パーティションの予測には使用されない、デコーダ。
【請求項2】
前記イントラ符号化モードが、角度モード、及び1つ又は複数の非角度モードを含むサポートされたイントラ符号化モードのセットのうちの1つである、請求項1に記載のデコーダ。
【請求項3】
前記1つ又は複数の非角度モードは、DCモード及び/又は平面モードを含む、請求項2に記載のデコーダ。
【請求項4】
前記イントラ符号化モードは、前記1つ又は複数の非角度モードのうちの1つである、請求項2又は3に記載のデコーダ。
【請求項5】
前記変換パーティションの数が、2よりも大きく、かつ/又は、前記変換パーティションが、前記
パーティション寸法に沿った1サンプル幅である、請求項1から4の何れか一項に記載のデコーダ。
【請求項6】
前記デコーダは、変換パーティションごとに、前記それぞれの変換パーティション内の前記プレディクタを補正する際に使用するために、前記変換を空間領域に再変換するように構成される、請求項1から5の何れか一項に記載のデコーダ。
【請求項7】
前記デコーダは、
符号化された変換パーティションフラグ(188)を、前記データストリームからデコード化することによって、
パーティションごとに、前記変換を、前記データストリームからデコード化し、
前記符号化された変換パーティションフラグが設定されていない場合、前記それぞれの変換パーティションについて前記予測残差をゼロに設定
し、
前記符号化された変換パーティションフラグが設定されている場合、前記それぞれの変換パーティションの前記予測残差の前記変換の変換係数を、前記データストリームからデコード化す
る、
ように構成された、請求項1から6のいずれか一項に記載のデコーダ。
【請求項8】
前記デコーダは、すべての先行する符号化された変換パーティションフラグが設定されていない場合、前記変換パーティションについて、前記符号化された変換パーティションフラグを、前記データストリームから逐次デコード化し、変換パーティション順における最終変換パーティションについて、前記符号化された変換パーティションフラグが設定されていると推測するように構成された、請求項7に記載のデコーダ。
【請求項9】
前記デコーダは、前記所定の変換パーティション順において、それぞれの変換パーティションに先行する先行変換パーティションについてデコード化された前記符号化された変換パーティションフラグに依存するコンテキストを使用するコンテキスト依存エントロピーデコードを使用することによって、前記それぞれの変換パーティションについて前記符号化された変換パーティションフラグを、前記データストリームからデコード化するように構成される、請求項8に記載のデコーダ。
【請求項10】
前記デコーダは、1寸法変換の変換係数を走査する所定の走査順に沿って前記変換の最終変換係数位置を示す前記データストリームを形成する最終位置指示(190)をデコード化することによって、かつ
前記所定の走査順に沿って前記最終変換係数位置までの前記変換の変換係数(198)を、前記データストリームからデコード化し、更に、前記所定の走査順に沿って前記最終変換係数位置を超える前記変換の変換係数がゼロであると推測することによって、
所定の変換パーティションについて、前記所定のパーティションの前記予測残差の前記変換を、前記データストリームからデコード化するように構成された、請求項1から9のいずれか一項に記載のデコーダ。
【請求項11】
前記変換パーティションが、前記
パーティション寸法に沿った1サンプル幅であり、前記変換が、1寸法変換である、請求項10に記載のデコーダ。
【請求項12】
前記変換は
、イントラ予測モードが平面モードでない場合にはDCT変換であり、前記イントラ予測モードが前記平面モードである場合にはDST変換であり、あるいは、
前記変換は、前記イントラ予測モード、前記所定のブロックのブロックサイズ、及び/又は、専用のシンタックス要素に基づいて、種類が選択される線形変換である、請求項1から11のいずれか一項に記載のデコーダ。
【請求項13】
前記ピクチャの前記所定のブロックについて、分割モードフラグ(160)を、前記データストリームからデコード化することと、
前記分割モードフラグが第1の分割モードを示す場合、前記パーティション寸法フラグの前記デコード化、変換パーティションごとの前記変換の前記パーティション化と前記デコード化を実行することと、
前記分割モードフラグが第2の分割モードを示す場合、前記パーティション寸法フラグの前記デコード化、変換パーティションごとの前記変換の前記パーティション化と前記デコード化の代わりに、前記所定のブロック内の前記予測残差の1つの変換をデコード化すること
を実行するように構成された、請求項1から12のいずれか一項に記載のデコーダ。
【請求項14】
前記イントラ符号化モードに依存するコンテキストを使用するコンテキスト依存エントロピーデコードを使用することによって、前記パーティション寸法フラグ(114)をデコード化するように構成された、請求項1から13のいずれか一項に記載のデコーダ。
【請求項15】
前記デコーダは、
非角度モードをシグナリングする前記イントラ符号化モードと、
水平モードをシグナリングする前記イントラ符号化モードと、
垂直モードをシグナリングする前記イントラ符号化モードと
を含む3つのコンテキストのうちの1つを使用するコンテキスト依存エントロピーデコードを使用することによって、前記パーティション寸法フラグ(114)をデコード化するように構成された、請求項1から14のいずれか一項に記載のデコーダ。
【請求項16】
前記デコーダは、
前記パーティション寸法(104)に沿った前記所定のブロック(80)のサイズに依存して、及び/又は
前記所定のブロックに関する前記イントラ符号化モードに依存して、及び/又は
前記所定のブロックに関する前記イントラ符号化モードが角度モードであるか否かに依存して、
前記
パーティション寸法(104)に沿って測定された、前記変換パーティションの幅を設定するように構成された、請求項1から15のいずれか一項に記載のデコーダ。
【請求項17】
前記デコーダは、サブパーティションあたりの変換パーティション(300)の数が、前記所定のブロックの寸法に依存するように構成された、請求項
1に記載のデコーダ。
【請求項18】
前記デコーダは、サブパーティションあたりの変換パーティション(300)の前記数は、前記所定のブロックの寸法が所定の閾値を超える場合には1であり、前記所定のブロックの寸法が所定の閾値を超えない場合には1より大きくなるように構成された、請求項
17に記載のデコーダ。
【請求項19】
前記所定のブロック内のサブパーティションの数が、前記所定のブロックの寸法及び/又は前記
パーティション寸法(104)に依存するように構成された、請求項17
又は18に記載のデコーダ。
【請求項20】
前記デコーダは、前記所定のブロック内のサブパーティション(300)の前記数は、前記所定のブロックの寸法が、更なる所定の閾値を下回る場合には1であり、前記所定のブロックの寸法が、前記更なる所定の閾値を下回らない場合は1よりも大きくなるように構成された、請求項
19に記載のデコーダ。
【請求項21】
前記デコーダは、前記所定のブロック内のサブパーティションの数は、前記所定のブロックの寸法が第1の幅及び第1の高さを想定する場合、第1の数に等しく、第2の数は、前記所定のブロックの前記寸法が前記第1の高さに等しい第2の幅、及び前記第1の幅に等しい第2の高さを想定する場合、第1と異なるという点で、前記所定のブロック内のサブパーティションの前記数は、前記所定のブロックの前記寸法に依存するように構成された、請求項
19又は20に記載のデコーダ。
【請求項22】
ピクチャ(12)からデータストリーム(14)へのブロックベースのエンコードに関するエンコーダであって、
前記ピクチャの所定のブロック(80)について、イントラ符号化モード(116)を、前記データストリーム(14)にエンコード化することと、
前記ピクチャの前記所定のブロックについて、パーティション寸法フラグ(114)を、前記データストリームにエンコード化することであって、前記パーティション寸法フラグは、パーティション寸法(104)が、水平又は垂直に設定されるべきであることをシグナリングする、エンコード化することと、
前記
パーティション寸法(104)に沿って、前記所定のブロック(80)を、
前記パーティション寸法に垂直な前記所定のブロックと同じ幅の変換パーティション(300)にパーティション化することと、
前記イントラ符号化モードに依存する方法で、前記所定のブロックに隣接する1つ又は複数の既に再構築されたサンプルに依存する前記所定のブロックをイントラ予測して、前記所定のブロックについてプレディクタを得ることと、
前記それぞれの変換パーティションについてエンコード化され
た予測残差
の変換を使用して各変換パーティション内の前記プレディクタを補正(122)することによって、前記所定のブロックが再構築可能であるように、変換パーティションごとに、予測残差の変換(182)を、前記データストリームにエンコード化すること
を実行するように構成され
、
前記エンコーダは、
前記イントラ符号化モードに依存する方法で現在のサブパーティションに隣接する1つ又は複数の既に再構築されたサンプルに依存する前記現在のサブパーティションを充填することによって前記現在のサブパーティションのプレディクタを導出するため、前記所定のブロックの前記変換パーティションが変換パーティションのグループごとにサブパーティション(102,112)を形成するようにグループ化されている変換パーティションの少なくとも1つのグループに予測を行い、
前記それぞれの変換パーティションの前記変換を使用して前記現在のサブパーティションを形成する変換パーティションのグループによって構成される各変換パーティション内の前記プレディクタを補正(122)することによって前記現在のサブパーティションを再構築するため、前記現在のサブパーティションを形成する前記変換パーティションのグループによって構成される各変換パーティション内の予測残差の変換を決定する、
ことによって、
前記イントラ符号化モードに依存した方法で前記所定のブロックに隣接する1つ又は複数の既に再構築されたサンプルに依存して前記所定のブロックをイントラ予測することを実行し、前記所定のブロックのプレディクタを取得し、前記それぞれの変換パーティションのために符号化される前記予測残差の変換を利用して各変換パーティション内の前記プレディクタを補正する(122)ため前記所定のブロックの予測残差を決定するよう構成される、エンコーダ。
【請求項23】
データストリーム(14)からのピクチャ(12)のブロックベースのデコードに関する方法であって、
前記ピクチャの所定のブロック(80)について、イントラ符号化モード(116)を、前記データストリーム(14)からデコード化することと、
前記ピクチャの前記所定のブロックについて、パーティション寸法フラグ(114)を、前記データストリームからデコード化し、前記パーティション寸法フラグに依存するパーティション寸法(104)を水平又は垂直に設定すること
であって、前記所定のブロック(80)は、前記パーティション寸法(104)に沿って、パーティション寸法に垂直な前記所定のブロックと同じ幅である変換パーティション(300)にパーティション化される、設定することと、
変換パーティションごとに、予測残差の変換(182)を、前記データストリームからデコード化することと、
前記イントラ符号化モードに依存する方法で、前記所定のブロックに隣接する1つ又は複数の既に再構築されたサンプルに依存する前記所定のブロックをイントラ予測して、前記所定のブロックについてプレディクタを得ることと、
前記それぞれの変換パーティションについてデコード化された前記予測残差の前記変換を使用して各変換パーティション内の前記プレディクタを補正(122)することによって前記所定のブロックを再構築することと
を含
み、
前記イントラ予測及び前記再構築は、
前記イントラ符号化モードに依存する方法で現在のサブパーティションに隣接する1つ又は複数の既に再構築されたサンプルに依存する前記現在のサブパーティションを充填することによって前記現在のサブパーティションのプレディクタを導出する(122)し、
前記それぞれの変換パーティションの前記変換を使用して前記現在のサブパーティションを形成する変換パーティションのグループによって構成される各変換パーティション内の前記プレディクタを補正(122)することによって前記現在のサブパーティションを再構築する、
ことによって、
前記所定のブロックの前記変換パーティションが変換パーティションのグループごとに前記サブパーティションを形成するようにグループ化される変換パーティションの少なくとも1つのグループを再構築することによって実行され、
前記変換パーティションの1つの前記再構築されたサンプルは、前記現在のサブパーティションの他の変換パーティションの予測には使用されない、方法。
【請求項24】
ピクチャ(12)からデータストリーム(14)へブロックベースでエンコード化する方法であって、
前記ピクチャの所定のブロック(80)について、イントラ符号化モード(116)を、前記データストリーム(14)にエンコード化することと、
前記ピクチャの前記所定のブロックについて、
パーティション寸法(104)が水平又は垂直に設定されるべきであることをシグナリングするパーティション寸法フラグ(114)を、前記データストリームにエンコード化すること
と、
前記
パーティション寸法(104)に沿って、前記所定のブロック(80)を、前記
パーティション寸法に垂直な前記所定のブロックと同じ幅の変換パーティション(300)にパーティション化することと、
前記イントラ符号化モードに依存する方法で、前記所定のブロックに隣接する1つ又は複数の既に再構築されたサンプルに依存する前記所定のブロックをイントラ予測して、前記所定のブロックについてプレディクタを得ることと、
前記それぞれの変換パーティションに関してエンコード化され
た予測残差
の変換を使用して、各変換パーティション内の前記プレディクタを補正(122)することによって、前記所定のブロックが再構築可能であるように、変換パーティションごとに、予測残差の変換(182)を、前記データストリームにエンコード化すること
を含
み、
エンコーダは、
前記イントラ符号化モードに依存する方法で現在のサブパーティションに隣接する1つ又は複数の既に再構築されたサンプルに依存する前記現在のサブパーティションを充填することによって前記現在のサブパーティションのプレディクタを導出するため、前記所定のブロックの前記変換パーティションが変換パーティションのグループごとにサブパーティション(102,112)を形成するようにグループ化されている変換パーティションの少なくとも1つのグループに予測を行い、
前記それぞれの変換パーティションの前記変換を使用して前記現在のサブパーティションを形成する変換パーティションのグループによって構成される各変換パーティション内の前記プレディクタを補正(122)することによって前記現在のサブパーティションを再構築するため、前記現在のサブパーティションを形成する前記変換パーティションのグループによって構成される各変換パーティション内の予測残差の変換を決定する、
ことによって、
前記イントラ符号化モードに依存した方法で前記所定のブロックに隣接する1つ又は複数の既に再構築されたサンプルに依存して前記所定のブロックをイントラ予測することを実行し、前記所定のブロックのプレディクタを取得し、前記それぞれの変換パーティションのために符号化される前記予測残差の変換を利用して各変換パーティション内の前記プレディクタを補正する(122)ため前記所定のブロックの予測残差を決定するよう構成される、方法。
【請求項25】
コンピュータ上で実行されると、請求項
23及び/又は
24に記載の方法を実行するためのプログラムコードを有するコンピュータプログラム。
【請求項26】
前記変換パーティション(300)は、前記パーティション寸法が水平であるときには前記所定のブロック(80)の垂直高さに及び、前記パーティション寸法が垂直であるときには前記所定のブロック(80)の水平幅に及ぶ、請求項1に記載のデコーダ。
【請求項27】
前記変換パーティション(300)は、前記パーティション寸法が水平であるときには前記所定のブロック(80)の垂直高さに及び、前記パーティション寸法が垂直であるときには前記所定のブロック(80)の水平幅に及ぶ、請求項22に記載のエンコーダ。
【請求項28】
前記変換パーティション(300)は、前記パーティション寸法が水平であるときには前記所定のブロック(80)の垂直高さに及び、前記パーティション寸法が垂直であるときには前記所定のブロック(80)の水平幅に及ぶ、請求項23に記載の方法。
【請求項29】
前記変換パーティション(300)は、前記パーティション寸法が水平であるときには前記所定のブロック(80)の垂直高さに及び、前記パーティション寸法が垂直であるときには前記所定のブロック(80)の水平幅に及ぶ、請求項24に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、例えばハイブリッド・ビデオ・コーデックなどのブロックベースのコーデックで使用するためのイントラ符号化概念に関する。
【背景技術】
【0002】
特定のブロックが与えられると、イントラ予測は、特定のパターン、つまり33個の角度モード及びDC及び平面モード[1]に従って、隣接するブロックのデコード化された境界サンプルを外挿することによってHEVCにおいて実行される。次いで、レート歪みコストを最小化する1つのイントラ予測モードがデコーダにシグナリングされる。多くのイントラ予測モード(IPM)をサポートするコーデックが知られているにもかかわらず、それによって達成されるイントラ予測については、高い符号化効率をもたらす良好なイントラプレディクタを見つけることが依然として開発の対象である。これは、HEVCだけでなく、イントラ予測を使用する他のブロックベースのコーデックにも関係する。ブロックの内側を効率的に符号化するために好適なイントラ予測モードのセットを見つけるには、より正確なプレディクタが予測残差を低減し、それによって予測残差の符号化に関連するシグナリングオーバーヘッドを低減するということにより、シグナリングオーバーヘッドに関してイントラ予測モードをシグナリングするためのオーバーヘッド、及びこれらのイントラ予測モードによって得られたプレディクタの結果としての品質を考慮する必要がある。イントラ予測モードに関連付けられたシグナリングオーバーヘッドを低く保つために、イントラ予測されたブロックは大きくなければならず、つまり、イントラ予測モードがシグナリングされる粒度は粗く保たれなければならないが、一方で、より大きなブロックの空間予測は、イントラ予測されたブロック、つまり予測されるブロックの内側において、このブロックに隣接する既にデコード化/エンコード化されたサンプル、つまり、基準サンプルに対して、サンプルの平均サンプル距離が長いため、精度が低くなる傾向がある。HEVCは、符号化ユニットがマルチツリーサブ分割化によってサブ分割されるリーフブロックを、変換残差ブロックが形成することに対して、変換残差ブロックが、対応する符号化ユニットのイントラ予測モードを継承し得ることによって、このジレンマを少し緩和する。しかしながら、これは、それぞれイントラ符号化された符号化ユニットの変換ブロックへのサブパーティション化を、エンコーダからデコーダにシグナリングするためのシグナリングオーバーヘッドを依然として必要とする。
【発明の概要】
【発明が解決しようとする課題】
【0003】
新規開発中のイントラ符号化概念は、新規開発中の多用途ビデオ符号化(VVC:Versatile Video Coding)規格におけるイントラサブパーティション(ISP)符号化モードによって提示されるが、ここでは実装効率の改善が必要とされる。
【0004】
したがって、同等の符号化効率でイントラ符号化の実装効率を更に高める概念を手にすることが好ましい。
【0005】
よって、本発明の目的は、より効率的なイントラ符号化の概念を提供することである。
【課題を解決するための手段】
【0006】
本目的は、本出願の独立請求項の主題によって達成される。
【0007】
本発明の有利な態様は、従属請求項の主題である。
【0008】
本発明の第1の態様によれば、イントラ符号化に関連してサブパーティション化を使用するときに遭遇する1つの問題は、予測が個別に行われるブロックあたりのサブパーティションの数が、結果として生じるサブパーティションサイズ、例えば、サイクルあたり16個のサンプルの所望の最小スループット、及び/又は予測あたり最小4個のサンプル広域アドバンスなど、符号化サイクルあたりの符号化アドバンスの最小幅を考慮して制限されるべきであることを、本出願の発明者らは認識した。これらの考えは、予測残差変換の観点から、この所定のブロックのパーティション化、更にイントラ予測の観点からのサブパーティション化につながるイントラ符号化(所定の)ブロックに関するフラグ制御イントラ予測モード/決定を解釈するというアイデアにつながった、つまり、所定のブロックが統合的な方法で(一度に)イントラ予測されるか否か、又は変換パーティションが、予測残差の中間使用と、次のサブパーティションのイントラ予測にも同じものを使用する、まさにイントラ予測されたサブパーティションの補正とを有する逐次で、パーティション単位のイントラ予測に使用されるか否か、又は、例えば、実行されるイントラ予測あたりのサンプル数が少なすぎる、若しくはイントラ予測の幅アドバンスが小さすぎるという結果になるイントラ予測を回避する目的で、後者の選択をブロックサイズに依存してレンダリングすることなど、予測サブパーティションに関する変換パーティションのグループが、必要に応じて自由に実装され得るか否かである。変換パーティションの符号化及びデコード化は、変換パーティション間で独立して行われてもよく、つまり、それらは並列に符号化/デコード化されてもよく、それによって、サイクルごとの最小サンプル又はサイクルごとの幅アドバンスの問題を生じさせないことに留意されたい。これにより、複数のパーティションを同じサイクルでイントラ予測し、再構築し得るので、イントラ予測されたブロックを、例えば、16個未満のサンプルを有するパーティションにパーティション化することが可能になる。同じサイクルでエンコード化又はデコード化されたすべてのサブパーティションが、少なくとも16個のサンプルを共に含む場合、有利である。ここでも、本明細書に記載された変形形態によれば、符号化された符号は、多くのブロックサイズをサポートし、所定のイントラ予測されたブロックのサイズに依存して、並びに/あるいは、その幅及び/又は高さに依存して、デコーダ及びエンコーダは、予測に関してパーティションを設定して、以下の選択肢のうちの1つをもたらす。
【0009】
1)イントラ予測ブロックをグローバルに、つまり全部で(一度に)又は全体として(言い換えれば、例えば、所定のブロック全体を一度に予測すること、又は更に言い換えれば、その所定のブロックの外側に排他的に位置する隣接サンプルに基づいて所定のブロック内のすべてのサンプルを予測し、所定のブロックの変換パーティションを独立して処理すること(つまり、変換は、各変換パーティション内で領域ごとに実行される。))、並びに/あるいは、
2)次いで予測サブパーティションとしても機能する変換パーティションの単位での逐次イントラ予測(言い換えれば、例えば、変換パーティションを予測し、その変換パーティション内の再構築されたサンプルを得ることによってその変換パーティションに関する予測残差を符号化/デコード化し、その後、前の変換パーティションのために得られた再構築されたサンプルを使用して所定のブロック内の次の変換パーティションを予測し、次の変換パーティションに関する予測残差を符号化/デコード化することなど)並びに/あるいは、
3)変換パーティションのグループの単位での逐次イントラ予測(各変換パーティションは厳密に1つのパーティショングループに属する)(言い換えれば、例えば、その予測サブパーティションの外側に排他的に位置する隣接サンプルに基づいて、変換パーティションのグループ、つまり予測サブパーティションを予測し、その予測サブパーティション内の変換パーティションの単位で、その予測サブパーティション内の再構築されたサンプルを得て、その予測サブパーティションに関する予測残差を符号化/デコード化し(つまり、変換は、各変換パーティション内で領域ごとに実行され)、次に、前の予測サブパーティションのために得られたサンプルを含むが、次の予測サブパーティション内に位置するサンプルを除く、再構築されたサンプルを使用して、所定のブロック内の変換パーティションの次のグループ、つまり次の予測サブパーティションを予測し、変換パーティションの単位で、次の予測サブパーティションに関する予測残差を符号化/デコード化することなど)。
【0010】
したがって、本出願の第1の態様によれば、データストリームからのピクチャのブロックベースのデコードに関するデコーダは、ピクチャの所定のブロックについて、イントラ符号化モードを、データストリームからデコード化するように構成される。デコーダは、データストリームからピクチャの所定のブロックについて、パーティション寸法フラグをデコード化して、パーティション寸法フラグに依存するパーティション寸法を、水平又は垂直に設定するように構成される。言い換えれば、パーティション寸法フラグは、パーティション寸法が水平であるか垂直であるかを示す。デコーダは、所定の寸法に沿って(つまり、パーティション寸法に沿って)、所定の寸法に垂直な所定のブロックと同じ幅の変換パーティションに、所定のブロックをパーティション化するように構成される。パーティション寸法が垂直である場合、変換パーティションは、垂直に積み重ねられた水平ブロックに関連付けられ、パーティション寸法が水平である場合、変換パーティションは、水平に並んで配置された垂直ブロックに関連付けられ得る。デコーダは、変換パーティションごとに、予測残差の変換を、データストリームからデコード化するように構成される。更に、デコーダは、イントラ符号化モードに依存する方法で、所定のブロックに隣接する1つ又は複数の既に再構築されたサンプルに依存する所定のブロックをイントラ予測して、所定のブロックについてプレディクタを得て、それぞれの変換パーティションについてデコードされた予測残差の変換を使用して、各変換パーティション内のプレディクタを補正することによって、所定のブロックを再構築するように構成される。
【0011】
第1の選択肢によれば、デコーダは、任意の変換パーティションについて、次々にプレディクタを逐次イントラ予測し、それぞれの変換パーティションについてデコード化された予測残差の変換を使用して各変換パーティション内のプレディクタを補正することによって変換パーティションを再構築するように構成される。
【0012】
第2の代替選択肢によれば、デコーダは、各変換パーティションごとに、プレディクタをイントラ予測し、各変換パーティションごとに、予測残差の変換を、データストリームからデコード化するように構成される。次いで、デコーダは、それぞれの変換パーティションについてデコード化された予測残差の変換を使用して、プレディクタを補正することによって所定のブロックを再構築するように構成される。したがって、まず、すべてのプレディクタがイントラ予測され、予測残差のすべての変換がデコード化され、次に、すべての変換パーティションが、それぞれの変換パーティションについてデコード化された予測残差の変換を使用して、各変換パーティション内のプレディクタを補正することによって再構築される。したがって、例えば、1つのステップで、すべてのプレディクタが補正される。
【0013】
対照的に、第1の選択肢によれば、任意の変換パーティションが次々に再構築される。言い換えれば、第1の選択肢によれば、現在の変換パーティションについて、プレディクタはイントラ予測され、かつ補正され、その後、後続の変換パーティションについて、新規のプレディクタはイントラ予測され、かつ補正される。
【0014】
第3の代替選択肢によれば、デコーダは、1つのステップで所定のブロック全体をイントラ予測して、予測信号(つまり、プレディクタ)を得て、この予測信号を、例えば、所定のブロックの変換パーティションに関するプレディクタに分割するように構成される。一実施形態によれば、各プレディクタは異なる変換パーティションに関連付けられる。変換パーティションは、例えば、デコーダによって独立して処理される。したがって、例えば、デコーダは、変換パーティションごとに、予測残差の変換を、データストリームからデコード化し、それぞれの変換パーティションについてデコード化された予測残差の変換を使用してプレディクタを補正することによって、所定のブロックを再構築するように構成される。あるいは、これはブロック全体に関して一度に実行されるのではなく、変換パーティションに更に分割され得る所定のブロックのサブパーティションに関して実行される。この場合、例えば、デコーダは、1つステップで所定のブロックのサブパーティションをイントラ予測して、予測信号(つまり、プレディクタ)を得て、所定のブロックのサブパーティションの変換パーティションについて、この予測信号を、例えば、プレディクタに分割するように構成される。
【0015】
一実施形態によれば、デコーダは、ブロックサイズに依存する所定のブロックを、サブパーティションに分割するように構成され、ハードウェア実装形態の複雑さを低減するために4の最小予測幅を設定する。本発明は、デコーダによって実行される様々なパーティション化に関する以下の例によって限定されない。他のサブパーティション及び/又は変換パーティションもデコーダによって実現できることは明らかである。
【0016】
・4×4ブロック(実施例1)
・水平分割(Hor.Split):1つの4×4 PU(予測ユニット)と、4つの独立した4×1 TU(変換ユニット)。
・垂直分割(Ver.Split):1つの4×4 PUと、4つの独立した1×4 TU。
言い換えれば、4×4ブロック全体が一度に予測され、次いで4つの変換パーティションに分割されて独立して処理される。
【0017】
・8×4ブロック(実施例2)
・水平分割(Hor.Split):2つの8×2 PUと、4つの8×1 TU。第2のPUは、第2のTUの再構築されたサンプルを使用して予測される。
・垂直分割(Ver.Split):2つの4×4 PUと、4つの2×4 TU。第2のPUは、第2のTUの再構築されたサンプルを使用して予測される。
言い換えれば、8×4ブロックは2つのサブパーティション(つまり、PU)に分割され、各サブパーティションは独立して処理される2つの変換パーティションに分割される。
【0018】
・4×8ブロック(実施例3)
・水平分割(Hor.Split):2つの4×4 PUと、4つの4×2 TU。第2のPUは、第2のTUの再構築されたサンプルを使用して予測される。
・垂直分割(Ver.Split):1つの4×8 PUと、4つの独立した1×8 TU。
言い換えれば、水平分割では、4x8ブロックは2つのサブパーティション(つまり、PU)に分割され、各サブパーティションは独立して処理される2つの変換パーティションに分割され、垂直分割では、4x8ブロック全体が一度に予測され、次いで独立して処理される4つの変換パーティションに分割される。
【0019】
・4×8ブロック(実施例3’、実施例3の代替)
・水平分割(Hor.Split)(予測及び変換残差符号化/デコード化の両方に関してサブパーティションの処理と比較して変更なし):2つの4×4 TUを同時に形成する2つの4×4 PUが使用される。第2のPUは、第1のPUの再構築されたサンプルを使用して予測される。
・垂直分割(Ver.Split)(修正):1つの4×8 PUと、2つの独立した2×8 TU。
言い換えれば、水平分割では、4x8ブロックは、2つのサブパーティション(つまり、PU)に分割され、各サブパーティションは、1つの変換パーティションに終了し、垂直分割では、4x8ブロック全体が一度に予測され、次いで独立して処理される2つの変換パーティションに分割される。
【0020】
・4×Mブロック(実施例4)
4xMブロック全体が一度に予測され、次いで独立して処理される4つの1xM変換パーティションに分割される。
【0021】
・4×Mブロック(M>8である実施例4’)
・水平分割(Hor.Split)(予測及び変換残差符号化/デコード化の両方に関してサブパーティションの処理と比較して変更なし):4xMブロックは、4x(M/4)の4つのPUで予測され、その各々は同時に4つの変換パーティションのうちの1つである
・垂直分割(Ver.Split):4xMブロック全体が一度に予測され、次いで独立して処理される4つの1xM変換パーティションに分割される。
【0022】
・8×Nブロック(実施例5)
8xNブロックは、2つの4xNサブパーティションに分割され、4つの1xN変換パーティションに更に分割され得る。
【0023】
・8×Nブロック(N>4である実施例5’)
・水平分割(Hor.Split)(予測及び変換残差符号化/デコード化の両方に関してサブパーティションの処理と比較して修正なし):8xNブロックは、(予測及び変換残差符号化/デコード化のために)4つの8x(N/4)サブパーティションに分割される。
・垂直分割(Ver.Split):8xNブロックは、(予測のために)2つの2xN変換パーティションに更に分割され得る2つの4xNサブパーティションに分割される。
【0024】
上記で概説した例は、異なるブロックサイズに関し、対応する実施形態(つまり、デコーダ及びエンコーダのそれぞれ)によるコーデックに、個別に、全体的に適用し得、又はそれら例のうちの2つ以上の組合わせがコーデックに適用し得る。理解され得るように、一実施形態によれば、少なくとも1つの所定のブロックサイズ(例えば、比較実施例3~5)について、分割方向に依存して、前述の選択肢1~3の間で(1~3のうちの2つの間で)、どのように選択するかに関する決定に違いがあり得、選択肢2などの水平分割の場合には、1つの選択肢が選択され、各TUもPUであり、したがって、PUの数及びTUの数は同じである一方で、選択肢1などの垂直分割の場合には、異なる選択肢が選択され得、ブロック全体は、PUとして機能するが、いくつかのTuに分割され、したがって、PUの数及びTUの数は異なり、又は選択肢3では、所定のブロックがPUに分割され、そのそれぞれが更にTUに分割され、したがって、PUの数及びTUの数は異なる。追加的に又は代替的に、別のブロックサイズ(比較実施例2)の場合、この決定は、分割方向に関係なく、最終的に同じ選択肢になり得る。したがって、分割方向に対する選択肢間の選択の上述した依存関係は、既に述べたブロックサイズ方向に加えられてもよいが、当然ながら後者なしで適用されてもよい。
【0025】
本発明による一実施形態は、ピクチャの所定のブロックについて、イントラ符号化モードをデータストリームにエンコード化するように構成された、ピクチャからデータストリームへのブロックベースでエンコード化するエンコーダに関する。エンコーダは、ピクチャの所定のブロックについて、パーティション寸法フラグをデータストリームにエンコード化するように構成され、パーティション寸法フラグは、パーティション寸法が水平又は垂直に設定されることをシグナリングする。言い換えれば、パーティション寸法フラグは、パーティション寸法が水平であるか垂直であるかを示す。エンコーダは、所定の寸法に沿って(つまり、パーティション寸法に沿って)、所定のブロックを変換パーティションに分割するように構成され、変換パーティションは、所定の寸法に垂直な所定のブロックと同じ幅である。パーティション寸法が垂直である場合、変換パーティションは、垂直に積み重ねられた水平ブロックに関連付けられ、パーティション寸法が水平である場合、変換パーティションは、水平に並んで配置された垂直ブロックに関連付けられ得る。更に、エンコーダは、所定のブロックについてプレディクタを得るために、イントラ符号化モードに依存する方法で、所定のブロックに隣接する1つ又は複数の既に再構築されたサンプルに依存する所定のブロックをイントラ予測するように構成される。各変換パーティションについて、エンコーダは、予測残差のデータストリームへの変換をエンコード化するように構成され、その結果、所定のブロックは、それぞれの変換パーティションについてエンコード化された予測残差の変換を使用して各変換パーティション内のプレディクタを補正することによって再構築可能である。
【0026】
上述のエンコーダ、並びに本明細書に記載のエンコーダ及びデコーダによって実行される方法、及び本明細書に記載の任意のエンコーダによって実行される方法によって生成されるデータストリームは、上述のデコーダと同じ考慮事項に基づいている。ところで、本方法は、デコーダ及び/又はエンコーダに関しても説明しているすべての特徴及び機能で完了され得る。
【0027】
本出願の好ましい実施形態は、図面を参照して以下に説明する。
【図面の簡単な説明】
【0028】
【
図1】ISP概念が実装され得るエンコーダの一例として、ピクチャを予測的に符号化するための装置のブロック図である。
【
図2】ISP概念が実装され得るデコーダの一例として、
図1の装置に適合する、ピクチャを予測的にデコード化するための装置のブロック図である。
【
図3】符号化モード選択、変換選択、及び変換性能それぞれのためのサブ分割の設定の可能性を示すために、予測残差信号と、予測信号と、再構築信号との間の関係の一例を示す概略図である。
【
図4】異なるパーティション寸法間、つまり水平分割と垂直分割との間の選択を可能にするISP変形形態によるイントラ符号化ブロックのパーティション処理を示す概略図である。
【
図5】ISP符号化ブロックのパーティションの逐次処理を示す概略図である。
【
図6】パーティションの充填プロセスの予測導出を示す概略図である。
【
図7】イントラ予測されたブロックに関連付けられたイントラ予測モード上でパーティション順のレンダリング依存決定の可能性を示すために、水平分割モード及び垂直分割モードのそれぞれに従って分割され、かつそれぞれに関連付けられた2つの異なるイントラ予測モードを有するISPブロックの例を示す図である。
【
図8】パーティション選択肢を使用して処理されるイントラ予測されたブロック80に費やされる可能なシグナル伝達を示す概略図である。
【
図9】パーティションの予測残差を送信する可能な方法を示す概略図である。
【
図10】通常のイントラ予測モードのいずれよりも良好にならないことが明らかである場合に、テストを中止し得るようにするために、イントラ予測モードのパーティションに関連する符号化コストの部分和決定を示す概略図である。
【
図11】パーティション・モード・テストを実行するために、エンコーダのモード又は動作のフローチャート図である。
【
図12】本発明のISP概念が実装された、ピクチャのブロックベースのデコードに関するデコーダを示す概略図である。
【
図13】最終位置シンタックス要素の使用を示す概略図である。
【
図14】本発明のISP概念が実装された、ピクチャのブロックベースのデコードに関するエンコーダを示す概略図である。
【
図15a】垂直方向に分割された4×4ブロックの個々の変換パーティションのイントラ予測を例示する概略図である。
【
図15b】垂直方向に分割された4×4ブロックの個々の変換パーティションのイントラ予測を例示する概略図である。
【
図15c】垂直方向に分割された4×4ブロックの個々の変換パーティションのイントラ予測を例示する概略図である。
【
図15d】垂直方向に分割された4×4ブロックの個々の変換パーティションのイントラ予測を例示する概略図である。
【
図16a】水平方向に分割された4×4ブロックの個々の変換パーティションのイントラ予測を例示する概略図である。
【
図16b】水平方向に分割された4×4ブロックの個々の変換パーティションのイントラ予測を例示する概略図である。
【
図16c】水平方向に分割された4×4ブロックの個々の変換パーティションのイントラ予測を例示する概略図である。
【
図16d】水平方向に分割された4×4ブロックの個々の変換パーティションのイントラ予測を例示する概略図である。
【
図17】垂直方向に分割された4×8ブロックの個々の変換パーティションのイントラ予測を例示する概略図である。
【
図18】水平方向に分割された8x4ブロックの個々の変換パーティションのイントラ予測を例示する概略図である。
【
図19a】VVCドラフト5(左)及び提案したバージョン(右)におけるISP設計の4×Mブロック(M>8)の垂直分割を示す図である。
【
図19b】VVCドラフト5(左)及び提案したバージョン(右)におけるISP設計の8×Nブロック(N>4)の垂直分割を示す図である。
【発明を実施するための形態】
【0029】
図面は必ずしも縮尺通りではなく、代わりに、全体的に本発明の原理を説明することに重点が置かれている。
【0030】
図の以下の説明は、イントラ予測コーデックの実施形態が組み込まれ得る符号化フレームワークの例を形成するために、ビデオのピクチャを符号化するブロックベースの予測コーデックのエンコーダ及びデコーダを説明する提示から始まる。前者のエンコーダ及びデコーダについて、
図1~
図3を参照して説明する。以下では、ISP概念の変形形態の説明は、その概念を
図1及び
図2のエンコーダ及びデコーダに組み込み得る方法に関する説明と共に提示するが、後続の
図4及び以下で説明する概念は、
図1及び
図2のエンコーダ及びデコーダの基礎となる符号化フレームワークに従って動作しないエンコーダ及びデコーダを形成するためにも使用され得る。後に、ISPを利用するが実装効率の点で改善された実施形態を説明する。また、パーティションベースのイントラ符号化の変形形態を利用する実施形態を説明する。
【0031】
図1は、変換ベースの残差符号化を例示的に使用して、ピクチャ12をデータストリーム14に、予測的に符号化する装置を示す。装置又はエンコーダは、参照符号10を使用して示している。
図2は、対応するデコーダ20、つまり、変換ベースの残差デコードを更に使用してデータストリーム14からピクチャ12’を予測的にデコード化するように構成された装置20を示し、ここで、アポストロフィは、デコーダ20によって再構築されたピクチャ12’が、予測残差信号の量子化によって取り込まれる符号化損失に関して、装置10によって最初にエンコード化されたピクチャ12から逸脱していることを示すために使用している。
図1及び
図2は、例示的に、変換ベースの予測残差符号化を使用するが、本出願の実施形態は、この種の予測残差符号化に限定されない。これは、以下に概説するように、
図1及び
図2に関して説明する他の詳細にも当てはまる。
【0032】
エンコーダ10は、予測残差信号を空間からスペクトルへ変換し、このようにして得た予測残差信号をデータストリーム14にエンコード化するように構成される。同様に、デコーダ20は、データストリーム14から予測残差信号をデコード化し、このようにして得た予測残差信号をスペクトルから空間へ変換するように構成される。
【0033】
内部的に、エンコーダ10は、元の信号、つまりピクチャ12からの予測信号26の偏差を測定するために、予測残差24を生成する予測残差信号形成器22を備え得る。予測残差信号形成器22は、例えば、元の信号、つまりピクチャ12からの予測信号を減算する減算器であってもよい。次いで、エンコーダ10は、予測残差信号24を空間からスペクトルへ変換して、スペクトル領域予測残差信号24’を得る変換器28を更に備え、予測残差信号24’もエンコーダ10に備えられる量子化器32によって量子化される。このように量子化された予測残差信号24’’は、ビットストリーム14に符号化される。この目的のために、エンコーダ10は、任意選択で、変換及び量子化された予測残差信号をデータストリーム14にエントロピー符号化するエントロピー符号化器34を備え得る。予測残差24は、データストリーム14にデコード化され、データストリーム14からデコード化可能な予測残差信号24’’に基づいて、エンコーダ10の予測ステージ36によって生成される。この目的のために、予測ステージ36は、
図1に示すように、量子化損失以外の信号24’に対応するスペクトル領域予測残差信号24’’’を得るために、予測残差信号24’’を逆量子化する逆量子化器38と、量子化損失以外の元の予測残差信号24に対応する予測残差信号24’’’’を得るために、後者の予測残差信号24’’’を逆変換、つまりスペクトルから空間へ変換する逆変換器40とを内部に備え得る。次いで、予測ステージ36の結合器42は、再構築信号46、つまり元の信号12の再構築を得るために、加算などによって予測信号26及び予測残差信号24’’’’を再結合する。再構築された信号46は、信号12’に対応し得る。次に、予測ステージ36の予測モジュール44は、例えば、空間予測、つまりイントラ予測、及び/又は時間予測、つまりインター予測を使用することによって、信号46に基づいて予測信号26を生成する。
【0034】
同様に、デコーダ20は、予測ステージ36に対応する構成要素から内部的に構成され、予測ステージに対応する方法で相互接続されてもよい。特に、デコーダ20のエントロピーデコーダ50は、量子化されたスペクトル領域予測残差信号24’’を、データストリームからエントロピーデコード化し得、その際、予測ステージ36のモジュールに関して上述した方法で相互接続されて協働する逆量子化器52、逆変換器54、結合器56及び予測モジュール58は、予測残差信号24’’に基づいて再構築された信号を回復し、その結果、
図2に示すように、結合器56の出力は再構築された信号、すなわちピクチャ12’をもたらす。
【0035】
上記では具体的に説明していないが、エンコーダ10は、例えば、いくつかのレート及び歪み関連基準、つまり符号化コストを最適化する方法などのいくつかの最適化方式に従って、例えば、予測モード、動きパラメータなどを含むいくつかの符号化パラメータを設定し得ることは容易に明らかである。例えば、エンコーダ10及びデコーダ20並びに対応するモジュール44、58はそれぞれ、イントラ符号化モード及びインター符号化モードなどの様々な予測モードをサポートし得る。エンコーダ及びデコーダがこれらの予測モードタイプを切り替える粒度は、ピクチャ12及び12’それぞれの符号化セグメント又は符号化ブロックへのサブ分割に対応し得る。これらの符号化セグメントの単位で、例えば、ピクチャは、イントラ符号化されているブロック及びインター符号化されているブロックに、サブ分割され得る。イントラ符号化ブロックは、以下でより詳細に概説するように、それぞれのブロックの空間的な既に符号化/デコード化された近傍に基づいて予測される。それぞれの指向性イントラ符号化モードに固有の特定の方向に沿った近傍のサンプル値を、それぞれのイントラ符号化セグメントに外挿することによって、それぞれのセグメントが充填される、指向性イントラ符号化モード又は角度イントラ符号化モードを含む、それぞれのイントラ符号化セグメントについて、いくつかのイントラ符号化モードが、存在し、選択され得る。例として、それぞれのイントラ符号化されたブロックの予測がそれぞれのイントラ符号化されたセグメント内のすべてのサンプルにDC値を割り当てるDC符号化モード、並びに/又はそれぞれのブロックの予測が駆動傾斜を有するそれぞれのイントラ符号化されたブロックのサンプル位置にわたる2寸法線形関数によって記述されるサンプル値の空間分布、及び隣接するサンプルに基づいて2寸法線形関数によって定義される平面のオフセットであると、近似又は決定される平面イントラ符号化モードなど、1つ又は複数の更なるモードを、イントラ符号化モードは含み得る。これと比較して、インター符号化されたブロックは、例えば時間的に予測され得る。インター符号化されたブロックの場合、データストリーム内で動きベクトルをシグナリングし得、動きベクトルは、ピクチャ12が属するビデオの以前に符号化されたピクチャの部分の空間変位を示し、ここで、以前に符号化/デコード化されたピクチャは、それぞれのインター符号化されたブロックの予測信号を得るためにサンプリングされる。量子化されたスペクトル領域予測残差信号24’’を表すエントロピー符号化された変換係数レベルなど、データストリーム14に含まれる残差信号符号化に加えて、符号化モードを様々なブロックに割り当てるための符号化モードパラメータ、インター符号化されたセグメントの動きパラメータなどブロックのいくつかの予測パラメータ、並びにピクチャ12及び12’それぞれのセグメントへのサブ分割を制御及びシグナリングするパラメータなどの任意選択の更なるパラメータに、データストリーム14がエンコード化され得ることを、これは意味する。デコーダ20は、これらのパラメータを使用して、エンコーダが実施したのと同じ方法でピクチャをサブ分割し、セグメントに同じ予測モードを割り当て、同じ予測を実行して同じ予測信号をもたらす。
【0036】
図3は、一方では再構築信号、つまり再構築ピクチャ12’と、他方ではデータストリーム内でシグナリングされる予測残差信号24’’’’と予測信号26との組合わせとの間の関係を示している。既に上述したように、組合わせは加算であってもよい。
図3では、予測信号26は、ハッチングを使用して例示的に示したイントラ符号化ブロックと、ハッチングを使用せずに例示的に示したインター符号化ブロックとに、ピクチャエリアをサブ分割したものとして示している。サブ分割は、1つ又は複数のブロックの行及び列へのピクチャエリアの規則的なサブ分割、あるいはブロックへの四分木サブ分割などの様々なサイズのリーフブロックへのピクチャ12のマルチツリーサブ分割など、任意のサブ分割であってもよく、それらの混合を
図3に示しており、ピクチャエリアは、ツリールートブロックの行及び列に最初にサブ分割化され、次いで再帰的マルチツリーサブ分割化に従って更にサブ分割化される。ここでも、データストリーム14は、イントラ符号化されたブロック80のために符号化されたイントラ符号化モードを有し得、いくつかのサポートされたイントラ符号化モードのうちの1つを、それぞれのイントラ符号化されたブロック80へ割り当てる。更なる詳細を以下に記載する。インター符号化されたブロック82の場合、データストリーム14は、そこに符号化された1つ又は複数の動きパラメータを有し得る。一般的に言えば、インター符号化されたブロック82は、時間的に符号化されることに限定されない。あるいは、インター符号化されたブロック82は、ピクチャ12が属するビデオの以前に符号化されたピクチャ、又はエンコーダ及びデコーダがそれぞれスケーラブルなエンコーダ及びデコーダである場合には、別のビュー又は階層的に下位のレイヤのピクチャなど、現在のピクチャ12自体を超える以前に符号化された部分から予測された任意のブロックであってもよい。
図3の予測残差信号24’’’’も、ピクチャエリアのブロック84へのサブ分割として示されている。これらのブロックは、符号化ブロック80及び82と区別するために、変換ブロックと呼ばれる場合がある。実際には、
図3は、エンコーダ10及びデコーダ20が、ブロックへのピクチャ12及びピクチャ12’の2つの異なるサブ分割をそれぞれ使用し得ること、すなわち、1つは符号化ブロック80及び82にそれぞれサブ分割され、もう1つはブロック84にサブ分割される。両方のサブ分割は同じであってもよく、つまり、各符号化ブロック80及び82は同時に変換ブロック84を形成してもよいが、
図3は、例えば、変換ブロック84へのサブ分割が符号化ブロック80/82へのサブ分割の拡張を形成し、その結果、ブロック80及び82の2つのブロック間の任意の境界が2つのブロック84間の境界を覆う場合を示し、つまり代替的に言えば、各ブロック80/82が、変換ブロック84のうちの1つと一致するか、又は変換ブロック84のクラスタと一致する場合を示している。しかしながら、変換ブロック84が代替的にブロック80/82間のブロック境界を横切り得るように、サブ分割はまた、互いに独立して決定又は選択され得る。したがって、変換ブロック84へのサブ分割に関する限り、ブロック80/82へのサブ分割に関して提示されたものと同様の記述が当てはまり、つまり、ブロック84は、行及び列に配置された1つ又は複数のブロックへのピクチャエリアの規則的なサブ分割の結果であっても、ピクチャエリアの再帰的マルチツリーサブ分割化の結果であっても、あるいはそれらの組合わせ、又は任意の他の種類のブロック化であってもよい。余談であるが、ブロック80、82及び84は、二次、長方形、又は任意の他の形状に限定されないことに留意されたい。
【0037】
図3は、予測信号26と予測残差信号24’’’’との組合わせが再構築された信号12’を直接もたらすことを示している。しかしながら、代替実施形態によれば、複数の予測信号26を予測残差信号24’’’’と組み合わせて、ピクチャ12’にし得ることに留意されたい。
【0038】
図3では、変換セグメント84は以下の重要性を有するものとする。変換器28及び逆変換器54は、これらの変換セグメント84の単位で変換を実行する。例えば、多くのコーデックは、すべての変換ブロック84に関する何らかの種類のDST又はDCTを使用する。一部のコーデックは、変換セグメント84のいくつかについて、予測残差信号が空間領域において直接符号化されるように、変換をスキップすることができる。しかしながら、後述する実施形態によれば、エンコーダ10及びデコーダ20は、いくつかの変換をサポートするような方法で構成される。例えば、エンコーダ10及びデコーダ20によってサポートされる変換は、以下を含み得る
・DCT-II(又はDCT-III)、ここで、DCTは離散コサイン変換(Discrete Cosine Transform)の略である。
・DST-IV、ここで、DSTは離散サイン変換(Discrete Sine Transform)の略である。
・DCT-IV
・DST-VII
・アイデンティティ変換(IT)
【0039】
当然ながら、変換器28はこれらの変換の順変換バージョンのすべてをサポートするが、デコーダ20又は逆変換器54は、以下の対応する逆方向又は逆方向バージョンをサポートする。
・Inverse DCT-II(又はInverse DCT-III)
・Inverse DST-IV
・Inverse DCT-IV
・Inverse DST-VII
・アイデンティティ変換(IT)
【0040】
以下の説明は、変換がエンコーダ10及びデコーダ20によってサポートされ得ることに関する更なる詳細を提供する。いずれの場合でも、サポートされる変換のセットは、1つのスペクトルから空間への変換又は空間からスペクトルへの変換などの変換のみを含み得ることに留意されたい。
【0041】
既に前述したように、
図1~3は、以下で更に説明するイントラ予測概念が実装され得る例として提示されている。その限りにおいて、
図1及び
図2のエンコーダ及びデコーダはそれぞれ、本明細書で後述するエンコーダ及びデコーダの可能な実装形態を表す。以下に詳細に概説するように、本出願によるイントラ予測のための後述する実施形態を
図1及び
図2のエンコーダ及びデコーダに組み込む場合、
図1のエンコーダ及び
図2のデコーダは、少なくとも1つの選択肢として、以下に詳細に概説する方法でイントラ予測されたブロック80を処理することをサポートする。したがって、以下に説明する実施形態は、以下で詳細に概説する方法でイントラ符号化ブロック80を処理する
図1のエンコーダ10に等しいエンコーダを指し、
図2のデコーダに関して同じことが当てはまり、したがって、イントラ符号化ブロックが、以下で詳細に概説する方法で処理される実施形態によるデコーダの一例を表している。しかしながら、
図1及び
図2は、特定の例にすぎない。しかしながら、本出願の実施形態によるエンコーダは、以下で詳細に概説する概念を使用してピクチャ12のブロックベースのエンコード化を実行し得、例えば、エンコーダがビデオエンコーダではない点、エンコーダがインター予測をサポートしない点、又はブロック80へのサブ分割が、
図3に例示されたものと異なる方法で実行される点などで、
図1のエンコーダとは異なるものであってもよく、あるいは実施形態に依存して、このエンコーダは、変換予測残差符号を使用せず、例えば代わりに空間領域で直接的に予測残差を符号化してもよい。同様に、本出願の実施形態によるデコーダは、以下で更に概説するイントラ予測符号化概念を使用してピクチャ12’のブロックベースのデコードを、データストリーム14から実行し得るが、例えば、デコーダがビデオデコーダではなく静止画デコーダであるという点で、デコーダがイントラ予測をサポートしないという点で、又は
図3に関してデコーダが説明したものとは異なる方法でピクチャ12’をブロックにサブ分割するという点で、及び/あるいはデコーダが変換領域ではなく空間領域でデータストリーム14から予測残差を導出するという点で、
図2のデコーダ20とは異なり得る。
【0042】
前述したように、以下の説明は、まず、ISPベースのイントラ予測の説明に焦点を当てている。ISPイントラ予測によれば、
図4のブロック80などのイントラ予測されたブロックは、1寸法水平パーティション又は1寸法垂直パーティションに分割され得る。その方法でブロックを処理する可用性は、任意のサイズのイントラ予測されたブロック80に関して提供され得るか、又は特定のサイズより大きいブロックなど、ブロックサイズの事前定義された範囲内のブロック80に制限され得る。「1寸法」とは、関連するパーティションがパーティション化の結果である場合、パーティションはパーティション寸法に沿った1つのサンプル幅しかないという事実を指す。しかしながら、本明細書で説明するパーティションモードの1寸法性は、パーティションが特定の寸法に沿って行われ、結果として生じるパーティションは、パーティション方向を横断する方向のブロックにわたって完全に延びるストライプのようなものであるという事実を指す。例えば、
図4を参照されたい。
図4は、イントラ予測されたブロック80、つまり、デコード化されるべきブロック又はエンコード化されるべきブロックを左側に示す。それは寸法W×Hを有する。すなわち、それはW×H寸法ブロックであり、Hはサンプルで測定されたブロック80の高さであり、Wはサンプルで測定されたブロック80の幅である。
図4によれば、利用可能な2つの分割又はパーティション化選択肢、すなわち、ブロック80が、垂直軸、つまりパーティション寸法104に沿ったいくつかのパーティション102
1、102
2、102
3及び102
4に分割又はパーティション化される水平分割100がある。以下の説明で適用される例である
図4の例によれば、各パーティション102
1~102
4は、ブロック80から生じるパーティション102
1~102
4の数が、ブロック80のサンプル108の単位でのブロック80の高さHに等しくなるように、両方向矢印106によって示すように1サンプル幅であるが、エンコーダとデコーダとの間で合意された異なる方法に従ってもエンコーダとデコーダによってパーティション化が実行され得ることは明らかであり、例えば、寸法104に沿ったブロック80のパーティション化が、所定数のパーティション102
iとなるような方法で実施され得、所定の数は、例えば、2より大きい又はそれらの混合であり、パーティション寸法に沿って、ブロック80のサイズを所定数のパーティションに均等に分配する。
【0043】
図4に示し、参照符号110で示した他の符号化選択肢は、ブロック80を垂直パーティション112
1、112
2、...112
8に分割することに対応する。つまり、選択肢110によれば、ブロック80は、水平軸、つまり水平パーティション寸法104に沿ったパーティション112
iにパーティション化される。選択肢100の場合、各パーティション102
iはブロック80と同じ幅であり、つまりブロックの幅Wを有するが、パーティション112
iは、ブロック80の高さHを採用し、つまり高さHを有する。要約すると、選択肢100の説明と同様の方法で、垂直分割110は、ブロック80をパーティション112
iの数W個に分割し得、Wはサンプル108内で測定されたブロック80の水平幅を示し、その結果各パーティション112
iは、水平方向で、1サンプル幅であり、しかしながら、選択肢110によるパーティション化は、エンコーダとデコーダとの間で合意された別の方法で実行されてもよい。
【0044】
したがって、
図4によれば、エンコーダは、水平分割選択肢100に従ってブロック80をH Wx1パーティション102
i、又は垂直分割選択肢110に従ってW 1xHパーティション112
iに自由にパーティション化し、ブロック80のエンコーダによって選択された分割選択肢は、例えば、データストリーム14内の対応するパーティション寸法フラグ114などによって、ブロック80について、データストリーム14内でシグナリングされ得る。しかしながら、本出願の実施形態は、デフォルトで、データストリーム内のフラグ114を必要とせずに選択肢100及び110の一方のみを使用するエンコーダ及びデコーダも対象とすることは明らかである。更に、フラグ114は、ブロック80について、データストリーム14内でエンコーダからデコーダへシグナリングされるイントラ符号化モード116に依存して、他の例ではデータストリーム80内で伝達されてもよい。イントラ符号化モードは、上述したように、例えば角度モード、及び任意選択で、DCモード又は平面モードなどの1つ又は複数の非角度モードを含む利用可能でサポートされたイントラ符号化モードのセットのうちの1つを示し得る。つまり、フラグ114は、以下で更に説明しない代替の実施形態によれば、条件付きでイントラ符号化モード116に依存する方法でデータストリーム14内で伝達されてもよい。以下で説明する実施形態によれば、フラグ114は、データストリーム14内で、ブロック80についてシグナリングされたイントラ符号化モード116とは無関係に、ブロック80についてデータストリーム14内に存在する。しかしながら、依存関係は、前述したイントラ符号化されたブロック80のパーティション化処理と、以下に概説するようなブロック80のイントラ符号化を処理する異なる方法との間でのフラグ切替えに対して存在し得る。
【0045】
ISPによれば、パーティション102/112の各々は、この方法でパーティションを逐次処理して、個別に、予測され、変換され、量子化され、符号化される。したがって、特定のパーティションの再構築されたサンプルは、ブロック80がパーティション化されたパーティション間で、パーティション順に後続のパーティション102/112を予測するために使用され得、この方法で、イントラ予測のプロセスは、ブロック80がパーティション化されたパーティション102/112を介して循環する。
図5は、選択肢100に従って分割されたイントラ予測されたブロック80を例示的に示す。ブロック80の各パーティション102
1~102
4は、予測、つまり、それぞれのパーティション102
iのプレディクタの導出、及び予測残差関連タスク、すなわち予測残差を使用したプレディクタの補正の対象となる。後者のタスクは、予測残差とプレディクタとを組み合わせることによって実行されてもよい。これは、再構築のためにデコーダで行われる。エンコーダは、予測残差関連タスクとして、例えば、変換及び量子化を含む予測残差の決定を実行し、並びに、予測残差を使用するプレディクタの補正、すなわち、エンコーダ内のデコード化されたピクチャバッファをピクチャの再構築で充填することによって予測ループをデコーダと同期させ続けることを実行する。上述したタスク、つまり予測及び残差処理は、パーティション102
1~102
4の間で個別に、かつ逐次実行される。現在処理されているパーティションのこれらの2つのステップの後、パーティション順に従った次のパーティション102
iは同じ方法で処理される。パーティション順は、3つの矢印126を使用して
図5に例示的に示している。
【0046】
図5は、ブロック80の最も左上の画素を含むパーティションが、
図5のパーティション102
1~102
4へのインデックスの割当てに対応して、すぐ下の隣接パーティション102
2などに進む前に、最初に処理されることを示しているが、この順序は単なる例であり、以下の説明が明らかになるように、このパーティション順は、イントラ符号化モード及び/又はブロック80のサイズなどの他の設定に依存する方法で選択されてもよく、前者の依存関係は以下で説明される。
【0047】
以下で更に説明する例では、パーティション順126は、分割タイプ100の場合には、パーティション順が上から下又は下から上に、パーティション化タイプ110の場合には、左から右又は右から左に向かうように、すぐ後のパーティションが互いに直接隣接するような方法で、パーティション102/112を横断するものの間で単に変化する。しかしながら、他の例も考えられることに留意されたい。例えば、最初の走査において、上から下へ、下から上へ、左から右へ、又は右から左への各第2のパーティションを処理する2回の走査で、パーティションがちょうど輪郭が描かれた隣接する順序で走査されるような方法で、パーティション順を選択することができ、何が適用されても、その後、同じ順序方向又は反対方向に、それらの間の残りのパーティションを処理する。
【0048】
いずれの場合でも、最初に処理され、現在処理されているパーティションである第1のパーティション102
1を、
図5は示している。第1のパーティション、ここでは例示的に102
1の場合、パーティション102
1のプレディクタを形成するために使用される隣接サンプル118
1のセットは、ブロック80の第1のパーティションの処理時に、ブロック80の境界の外側にあるサンプルに基づいて選択されるだけでよく、ブロック80のサンプルは、まだ処理されていない、つまり再構築化又はエンコード化されていない。つまり、セット118
1内のサンプルは、データストリーム内で送信された予測残差を使用して、対応するプレディクタの任意の予測及び補正を使用してエンコーダ内で既に再構築される。それらは、以前に符号化/デコード化されたピクチャブロックに属し、インター符号化又はイントラ符号化又は任意の他の符号化ブロックであってもよい。第1のパーティション102
1のプレディクタを形成するために使用される隣接サンプルのセット118
1のサンプルの数及び正確な位置に関して、同じことは、ブロック80に割り当てられたイントラ符号化モードに依存する。このイントラ符号化モードは、以下で説明するように、ブロック80のすべてのパーティションの処理のために共に、又は等しく使用される。セット118
1内の1つ又は複数の既に再構築された/エンコード化されたサンプルに依存する、このパーティション102
1を充填することによってデコーダ及びエンコーダで導出されたこのパーティション102
1のプレディクタは、第1のパーティション102
1の処理を終了するために、エンコーダが関係する限り、すなわち上記で概説したように変換及び量子化によって、その予測残差が決定され、次に、この予測残差は、データストリーム内で送信されるバージョンでは、つまり、量子化損失を含んで、データストリーム14内の予測残差を使用してプレディクタを補正することによって、このパーティション102
1の再構築に使用される。例えば、
図5は、120
1におけるパーティション102
1の予測残差を例示的に示す。つまり、120
1は、パーティション102
1の予測残差の変換に対応する変換係数を含み、データ120
1の説明は以下でより詳細に説明する。
【0049】
次に、パーティション順の次のパーティション、すなわち
図5の例におけるパーティション102
2に注目する。パーティション102
2のプレディクタを導出するために使用される隣接する既に再構築された/エンコード化されたサンプルのセットが、ブロック80の外側に位置するサンプル及び/又はブロック80内に位置するサンプル、すなわち任意の既に処理されたパーティションに位置するサンプル、ここでは
図5の例では現在パーティション102
1に位置するサンプルから構成され得る限り、状況は変化しており、これらのサンプルについては、予測残差は既に決定されており、データストリーム14で既に利用可能である。つまり、エンコーダ及びデコーダは、このパーティション102
2のプレディクタを導出し、その後、エンコーダにおける予測残差決定、及びエンコーダ及びデコーダにおけるプレディクタの補正のための予測残差使用がそれぞれ続く。次いで、このプロセスは、列内の次のパーティション、つまりパーティション順の次のパーティションで継続され、それによってブロック80のすべてのパーティションを逐次処理する。
【0050】
既に上述したように、パーティション順126は、パーティションを横断する別の方法で選択され、その結果、すぐ連続したパーティションは、パーティションのすぐ隣になる可能性がある。つまり、パーティション順は、任意のパーティションから次のパーティションにジャンプし得る。これは、それぞれのパーティション102
iを充填することによって、それぞれのプレディクタを導出するために使用される隣接サンプルのセット118
iが、
図5に示すように、それぞれのパーティションの直近のサンプル隣接に限定されないことを意味する。これは、パーティション順126の開始の選択にも関係する。例えば、パーティション102
4がパーティション順で最初のパーティションであったと仮定する。次に、そのプレディクタは、ブロック80の外周に沿って、ブロック80の左及び上に位置するサンプルを収集する、
図5に示していない隣接サンプル118
4のセットに依存する、同じもの充填することによって導出され得る。セット118
4におけるサンプルのいくつかは、パーティション102
4にすぐに隣接しない。ちなみに、これは、ブロック80の通常のイントラ予測充填における最後のサンプル行を一括して充填する状況に対応する。上述した可能性は、任意のその後に処理されるパーティション、つまり、パーティション順の第2のパーティション及び更なるパーティションに関しても当てはまる。つまり、それらの隣接サンプルセット118
iはまた、それぞれのパーティション102
iに直接隣接していないサンプルを含み得る。更に、連続するパーティションが互いに直接隣接するような方法で、パーティションを横断するパーティション順を制限しない場合、その後、任意の第2の又は後続して処理されるパーティション102
iの基準サンプルのセット118
iは、それぞれのパーティション102
iの左及び上にあるサンプルを収集するだけでなく、ブロック80の任意のパーティションがパーティション順に従ってパーティション102
1よりも早く処理されたか否かに依存する、それぞれのパーティション102
1の下にあるサンプルであってもよい。つまり、セット180
iは、パーティション102
iの3つ以上の側に位置するサンプルを含んでもよい。
【0051】
簡潔に要約すると、
図5は、ここでは例示的に水平パーティションに関してブロック80のパーティション102/112の逐次処理を示したが、同じ説明は、垂直パーティション112
iに関して垂直モード110にも適用される。各パーティション102
iについて、対応する予測残差102
iがデータストリーム14に含まれる。データ120
1~120
4は共に、ブロック80について、予測残差すなわち120を形成する。本出願の代替の実施形態によれば、変換残差符号化は使用されなくてもよく、つまり、ブロック80の予測残差120は、データストリーム14において、例えば、空間領域において直接シグナリングされてもよいことを想起されたい。この場合、様々なパーティション102
1~102
4のデータ120
1~120
4は、
図5に示すように、データストリーム14内のパーティション分離フィールドを含まなくてもよく、各データ部分120
iは、それぞれのパーティション102
iの特定の変換のシグナリングを表す。むしろ、ブロック80の予測残差120は、その場合、データ14の1つのフィールドを形成し得る。デコーダは、特定のパーティション102
iを処理するときに、この代替実施形態では、フィールド120から、このパーティション102
iの予測残差に関する情報を収集する。量子化が空間領域で行われ得るように、変換の厳密に可逆的なバージョンを使用する場合にも、この手順を適用し得る。
【0052】
したがって、
図5は、エンコーダ及びデコーダにおいて、各パーティション102
iについて実行される2つのタスクがあり、すなわち、1)それぞれのパーティション102
1の予測又はプレディクタ、つまり、それぞれのパーティション102
iの各サンプルの予測サンプル値を生成する予測導出タスク122であり、並びに2)その後に実行される予測残差関連タスク、すなわち、データストリーム14への入力のための予測残差の量子化を含むエンコーダでの予測残差導出であり、及びこのパーティション102
iの再構築されたサンプルを取得するように、予測残差とプレディクタとを組み合わせる又はそれらを補正することによる、それぞれのパーティション102
iのサンプルの再構築である。後者の再構築されたサンプルは、予測導出タスクのために、パーティション順126に従って、後続の処理されたパーティション102
jの隣接するサンプルセット118
jのリザーバとして機能し得る。
【0053】
ISP概念の可能性の詳細の更なる説明に進む前に、
図6は、現在処理されているパーティション102
iを充填することによる予測導出122のプロセスを示しており、水平パーティション102に関する説明は単に例示的に選択されており、同じ説明は垂直パーティション112にも関連することを想起されたい。
図6は、現在処理されているパーティション102
i及び既に再構築された/エンコード化された隣接サンプル118
iのその対応するセットを示す。
図5に関して既に上述したように、セット118
iは、パーティション102
iに直接隣接する、又は隣接するサンプル128に限定されない場合がある。しかしながら、パーティション化に起因して、パーティション102
iのサンプルと、セット118
iのサンプル128との間の平均距離130は、ブロック80のすべてのサンプルにわたって平均化された場合、例えば、H.264又はHEVCから知られているように、ブロック80のイントラ予測を実行することと比較して小さい。
図5に関して説明したように、プレディクタ導出又は充填122は、ブロック80に関連するイントラ予測モードを使用して、パーティション102
iごとに実行され、このモードは、利用可能なイントラ予測モードのセットのうちの1つを示す。このセットは、隣接するサンプルセット118
iのサンプル内容がパーティション102
iのサンプル134にコピーされる角度又は方向132において、互いに異なる角度又は方向モードを含み得る。このコピーを実行するために、パーティション102
iの各サンプル134の予測は、方向132の反対に面する方向に、サンプル134に対して位置するセット118
iのうちの隣接サンプル134の数に基づいて導出され得る。この数は、例えば、サンプルセット118
iのサンプル128間の画素間位置を導出するために使用される補間フィルタのカーネルによって定義される。
図6は、例えば、セット118
iのうちの3つのサンプル128が、現在処理されているパーティション102
iのうちの1つのサンプル134の予測を算出するために使用されることを示す。平均距離130が比較的小さいため、パーティション102
iのサンプル134あたりの基準サンプル134の数を低く保ち得る。更なる詳細を以下に提示する。しかしながら、完全を期すために、利用可能なイントラ予測モードのセットはまた、パーティション102
iのすべてのサンプル134に1つのDC値が割り当てられるDCモードを備え、このDC値を、隣接サンプルのセット118
iの平均化を実行することによって導出することに留意されたい。更に、サンプル134の予測値がパーティション102
i内のサンプル位置に関する線形関数によって定義され、隣接サンプル118
iに基づいてこの線形関数の勾配及びオフセットを導出する平面モードが存在し得る。更に、隣接セット118
iは、ブロック80のために選択されたイントラ予測モードに依存して異なり得、例えば、特に角度モードと非角度モードDC/平面との間で異なり得ることに留意されたい。
【0054】
例えば、最先端のJEMデコーダでは、67個のイントラ予測モードが利用可能であり、それらのうちの65は角度モードであり、残りの2つは、DC及び平面のモデル無指向性テクスチャである。ブロック80が、寸法104に沿ったパーティションに、パーティション化され/分割され、結果として得られるパーティションは、方向104に沿った1サンプル幅又は2サンプル幅以上で、寸法104に対して横方向にブロックの全幅にわたって延在する、1Dパーティション化モード(簡単に1Dパーティションモードと呼ぶ)、つまり、上記及び以下で概説するパーティション102/112に対して実行されるプレディクタ導出122は、それらパーティションのいずれかと組み合わされ得る、又は異なる言い方をすれば、それらパーティションのいずれかを使用して実施され得る。
図5に関して既に説明したように、符号化ユニットCUなどの1つのブロック80のすべてのパーティション102/112は、ブロック80の同じ関連付けられたイントラ予測モードを使用し、それにより、イントラ予測モード116がブロック80に対して一度だけデータストリーム14内で送信されるだけでよいため、シグナル伝達における過剰なオーバーヘッドが回避される。
【0055】
つまり、予測122は、JEMデコーダで概説されている2寸法の場合と同じ方法で実行されてもよい。しかしながら、JEMと比較して、予測プロセス122がそれに応じて調整されるように、現在処理されているパーティション102/112に対して水平又は垂直にかかわらず、1つのラインだけが計算される。連続するパーティションが互いにすぐに隣接するような方法で、パーティションを横断するためのパーティション順を選択する場合、予測プロセス122は、JEMの2寸法の場合に対応し得るが、第1のライン、つまり、既に再構築された/エンコード化された近傍に最も近いものに関してのみ対応し得る。場合によっては、HEVCとJEMの両方が、基準サンプル128又は結果として得られるプレディクタに適用される特定のフィルタの使用を可能にする。これは、境界不連続性を低減するために、基準サンプル128から遠く離れている予測ブロック80内のサンプルを良好に予測する2寸法の場合に有用である。しかしながら、パーティション102/112へのパーティション化を使用することによって、近くの画素間の高い相関関係を利用することが可能であり、そのことが目的であるべきである。
【0056】
つまり、低減された平均距離130が利用されるべきである。過度の平滑化は、この品質を低下させる。したがって、エンコーダ又はデコーダが、両方の種類のイントラ予測、すなわち
図4~
図6に関して、及び以下で概説するようなパーティション化を使用したイントラ予測を実行し得る場合、イントラフィルタ、つまり、プレディクタ導出122に関与するフィルタは、無効化される、あるいは、ブロック80のイントラ予測がブロックに対して実行されるか、又はHEVCに従って実行される、すなわち、ブロック80を矩形ブロックに階層的四分木サブ分割化するリーフブロックに分解される2寸法の場合に、少なくとも、パーティションサンプル134あたりの寄与サンプル134の数が、1つのサンプルに寄与するサンプルの数に対して低減される。
【0057】
上記の説明から明らかになったように、予測残差関連タスク124を実行するために、デコーダは、例えば、現在処理されているパーティションのそれぞれの予測残差の変換を、データストリーム14からデコード化し、スペクトルから空間への変換などの逆変換をこの変換に対して実行して、予測残差を生成し、予測残差はその後、組合わせ/加算によって122で得られたプレディクタを補正するために使用される。同じことが、予測ループをデコーダと同期させ続けるためにエンコーダにおいて行われる。加えて、エンコーダは、現在処理されているパーティションについて、122を使用して決定されたプレディクタの予測誤差の変換を実行し、それは空間からスペクトルへの変換などの変換を受け、続いて変換係数の量子化が行われ、次いで、その変換をデータストリーム14に符号化して、現在処理されているパーティション102
iの対応するデータ120
iを生成する。変換に関して、ブロック80内のすべてのパーティション102/112は、この同じ変換を使用して処理され得る。これは、例えばDST-VIIが使用され得る平面モードの場合を除いて、DCT-IIであってもよい。このため、エンコーダ及びデコーダが変換スキップ、つまり空間領域における符号化、EMT(EMT=明示的な複数のコア変換)、NSST(NSST=モード依存の分離不可能な二次変換)などの他のブロックのために使用し得る変換及び逆変換に関連するすべてのツールは、不要なオーバヘッドビットを回避するために、
図4~
図7に関してこれまで概説し、以下で更に概説するパーティション化方法でイントラ予測モードを使用してブロック80が符号化される場合に、無効にされ得る。更に代替的に、変換は、イントラ予測モード、専用シンタックス要素、及び所定のパーティション順のうちの1つ又は複数に基づいて、選択されるタイプの線形変換であってもよい。
【0058】
現在処理されているブロック80のパーティション102/112が逐次処理されるパーティション順126に関して、いくつかの用語が既に使用されている。本実施形態は単なる例であり、パーティション順は、代替の実施形態に従って静的であってもよく、又は以下に示す例に従って異なる方法で変更されてもよいことを強調する。
図7は、
図5の矢印126を使用して示される可能なパーティション/処理順序を内接番号で示す。ここで、この順序は、昇順の内接番号に続く。
図5は、順126がブロック80の左上画素/サンプル140を含むパーティションで開始され、下方に向かって最下位パーティションに至る例を示している。同様に、分割タイプが垂直であった場合、処理順序は、右方向に先頭を有する左上画素/サンプルを再び含む最も左側のパーティションから始まる。しかしながら、これは、すべての既存のイントラ予測モードにとって最適な場合ではない。これを、対角モードについてもブロック80の垂直方向及び水平方向のパーティションを示す
図7に例示しており、つまり、コピー角度/方向132は、左下から右上に45°を指し、34、つまり、コピー角度/方向132は、左上から右下に-45°を指す。前者の場合、分割が水平である場合、ブロック80の左上隅から開始してパーティションを生成し、その再構築されたサンプルは後続のパーティションの予測に影響を及ぼさない。その結果、各パーティションの再構築されたサンプルを使用してパーティション順に次のパーティションを予測し得るように、ブロックの左下隅で開始することがより合理的である。それにもかかわらず、垂直分割では、前述の図で観察され得るように、これは必要ではない。一方、モード34は、サンプルが水平方向及び垂直方向の両方の分割に両側から現れるため、これらの問題は発生しない。したがって、通常の処理順序を両方の分割で採用することができる。
【0059】
表1は、イントラ予測モード及び分割タイプによる処理順序の完全なリストを示す。
表1:イントラモード及び分割タイプによる処理順序。HOR_DIR及びVER_DIRはそれぞれ水平モード及び垂直モードであり、VDIA_DIRは垂直対角モードである
【0060】
シグナル伝達のオーバーヘッドに関してこれまで説明したISPの概念を要約しつつ、
図8を参照する。
図8は、本出願の一実施形態によるブロック80について送信されるものを示す。特に、どのイントラ予測モードがブロック80に適用されるべきかに関するイントラ予測モードシグナル伝達116シグナリングがある。したがって、シグナル伝達116は、角度モードのうちの1つ、例えば、角度モード、並びにDC及び平面などの非角度モードを含む利用可能なモードのうちの1つを示す。このシグナル伝達116に加えて、エンコーダによってデータストリーム14に符号化され、デコーダによってブロック80について、そこからデコード化されるパーティションフラグ160があり、これは、
図4~
図7によるパーティション処理がブロック80に適用されるか否か、あるいは、そのパーティション処理が、ひとまとめで、又は一体的又は2寸法的などで、「正常に」処理されるか否か、つまりブロック80の外側のサンプルのみが、基準サンプルリザーバ118を形成するために使用され、ブロック80内の各サンプルを予測するか否かを示す。あるいは、フラグ160は、一方では
図4~
図7に関して説明したパーティション化処理と、変換ブロックへの四分木サブ分割化を使用したブロック80の分解との間を切り替え得るが、その後変換ブロックは、データストリーム14内の分解をシグナリングしなければならないという欠点を伴って逐次処理される。パーティションフラグ160が
図4によるパーティション化を示す場合、データストリーム14は、ブロック80について、
図4に関して説明したパーティション化タイプ100と110との間で切り替わるパーティション寸法フラグ114を含む。そして、パーティションフラグ160がこのパーティション化選択肢を示す場合、ブロック80がサブ分割化/パーティション化されるブロック80の各パーティションについて、データストリーム14は、上述したように、変換領域内などにエンコード化されたそれぞれのパーティションの予測残差を有するシグナリング/データ120
1を含む。
【0061】
図8に関して、予測残差データ120
1、120
2...は、パーティション/符号化順126に対応する順序で、データストリーム14に符号化され得ることに留意されたい。後者は、上述したように、シグナル伝達116によって示されるイントラ予測モードによって一意に決定され得る。しかしながら、代替案は、パーティション順126が、データストリーム14内の任意選択の追加的シグナル伝達に基づいて、少なくとも部分的に決定されることである。
【0062】
本明細書で提示する説明の更なる代替案は、パーティション化選択肢が使用されるか否かを示すために、シグナル伝達116が代替的に使用され得るという事実である。言い換えれば、1つのシンタックス要素が、116及び160のシグナル伝達を共通に担当してもよい。そのようなシンタックス要素は、イントラ予測モードと、ブロックパーティションが使用されるか否かの指示との組合わせに各々対応する値の範囲のうちの1つを想定する。そのような場合、単に、イントラ予測モードのサブセットのためのパーティション化選択肢を提供することも可能である。最後に、パーティションフラグ160はまた、シグナル伝達116によって示されるイントラ予測モードが利用可能なイントラ予測モードのうちの特定のサブセットを想定する場合にのみ、条件付きでデータストリーム14内で伝達され得ることに留意されたい。
【0063】
図9は、特定のパーティション102/112
iの予測残差を有するデータ120
iがどのように見えるかについて例示的に示す。
図9によれば、予測残差は、変換領域においてデータストリーム14に符号化される。つまり、エンコーダは、逆変換184によって予測残差及び空間領域を導出するデコーダを用いて、変換180によって、予測残差の変換182を生成する。
図9は、例えば、異なるスペクトル周波数fに対応する変換182の変換係数186を示す。データ120
iは、符号化ブロックフラグCBFを含み得、データ120
iは、変換182が有意な変換係数186を含むか否か、つまり、変換182が完全にゼロであるか否かを示す符号化ブロックフラグCBF188を含み得る。CBF188が設定される場合、変換182はゼロではなく、データ120
iは、有意な変換係数、つまり、最小又はDC係数196から始まる非ゼロ変換係数186の増加するスペクトル周波数(軸194を参照)に沿った最終位置192を示す最終位置(LP)シンタックス要素190を含み得る。次に、データ120
iは、196から192への変換係数をシグナリングするシグナリング198を備える。
【0064】
つまり、
図9は、各パーティション102
i/112
iが、CBF188、LP190及び変換係数データ198によってデータストリーム14に符号化されたその予測残差を有し得ることを示す。つまり、n個のパーティション102/112を有するブロック80について、n個のCBF188と、非ゼロCBF188を有する各パーティションごとに1つのLP190と、単に、関連する非ゼロCBF188を有するこれらのパーティションについての変換係数データ198とがある。パーティションが1サンプル幅(そうでなければ、通常通り2つの座標を必要とする)である場合、すなわち、xが水平分割100の場合、yが垂直分割110の場合、各LP190は、ただ1つの座標を必要とする例外を除いて、通常処理されるイントラ予測されたブロック、つまり、パーティションフラグ160が非パーティション化選択肢を示すブロック80に対して行われるのと同じ方法で、係数データ198は符号化され得る。ただし、2寸法パーティションの場合、LP190は、ランク表示を使用して、又はx及びy座標を使用して、走査方向又は経路に沿った最終位置を示す。各CBF188のコンテキストは、以前に符号化されたCBF、つまりパーティション順126の前のパーティションのCBFの値であるように選択され得る。更に、パーティション化により、変換係数データ198は異なる形状に関連する。すなわち、変換182も異なる形状を有する。変換182は、
図4に関して説明したように、パーティションが1寸法パーティションである場合の1寸法変換である。つまり、変換182は、分割タイプ100又は110に依存する変換係数186のW/H長ベクトルであってもよい。
【0065】
図8のフラグ160及び114、並びにそれらの符号化に関して、以下が注目される。ブロック80がパーティション102/112に分割されるべきか否かを示すフラグ160は、フラグ114が、ブロック80について、データストリーム14内で伝達されるか否かをチェックされるべき条件を定義する。特に、フラグ160がパーティション102/112にパーティション化することを示す場合、フラグ114は、データストリーム14内に存在し、分割100/110のどのタイプ、つまり水平又は垂直のいずれかが実行されるべきかをシグナリングするために、デコーダに送信される。フラグCBFと同様に、フラグ114もまた、コンテキスト依存エントロピー符号化/デコード化を使用して符号化され得る。フラグ114のコンテキストは、ブロック80のイントラ予測モードに従って、3つの可能性を有し得、それは、非角度モードの場合の0、水平モードの場合の1、及び垂直モードの場合の2である。
【0066】
図9は、CBF188が現在のブロック80のパーティションiごとに一度存在し得ることを示しており、追加的又は代替的に、現在のブロックのパーティション120iの変換182は、そのサブブロック内の変換係数186がすべてゼロであるか、又はその少なくとも1つの係数が非ゼロであるかを示すデータ120i内のサブブロックごとにシグナリングされた、符号化されたサブブロックフラグを有する1つ又は複数のサブブロックに、それぞれ分割され得る。したがって、符号化されたサブブロックフラグが非ゼロ係数の存在をシグナリングするサブブロック内の係数186のみが符号化され、符号化されたサブブロックフラグが非ゼロ係数の不在をシグナリングするサブブロック内の他の係数は、デコーダ側でゼロであると推測される。各パーティション120iが別々に変換されるので、1つのパーティションに属するサブブロックは、そのパーティションの変換182のスペクトル成分が異なり、サブブロックがその変換で構成される変換係数186が異なることに留意されたい。例えば、それぞれのパーティション102
i/112
iがx(パーティション幅)及びy(パーティション高さ)の寸法を有し、それらが両方とも4つ以上のサンプル140である限り、その結果、それぞれのパーティション102
i/112
iの変換180がx及びyの寸法を有し、その寸法が両方とも4つ以上の係数186である限り、サブブロックは、4x4係数ブロックであるように設定され得る。4×Nパーティションの場合、サブブロックは、m*4=Nで、mが整数であるm個の4×4サブブロックの列を形成する。N×4パーティションの場合、サブブロックは、m*4=Nで、mが整数であるm個の4×4サブブロックの行を形成する。広いパーティションの場合、行及び列に配置された4×4サブブロックの配列が結果として生じ得る。しかしながら、埋め込みに依存して、そのようなパーティション、つまり4つのサンプルよりも広い、及び/又は4つのサンプルと同程度に広いパーティションは発生しない可能性がある。出現の有無にかかわらず、狭いパーティション、つまり、その寸法のうちの1つが、寸法x又はyの少なくとも1つにおいて、4つのサンプル未満である、つまり4つのサンプル幅未満であるパーティションの場合、その変換180の係数の異なるグループをそれぞれ収集するサブブロックに、その変換180をサブブロックパーティション化することは、サブブロックが、現在のブロックのサイズについて、すべての可能な場合において最小数Mの係数を有するように行われてもよい。つまり、パーティションは、1つの寸法に沿ったブロック幅Nと同じ大きさに設定され、パーティション化は、他の寸法104に沿って行われてもよい。したがって、各パーティションの変換180は、サイズ1×N、2×N、N×1又はN×2であり得る。実際、特定のパーティションの変換180は、このパーティションにおけるサンプル数に等しい数の係数を有し得る。1×Nパーティション/変換の場合、サブブロックは、m*M=Nで、mが整数である、m個の1×Mサブブロックの列を形成し得る。N×1パーティションの場合、サブブロックは、m*M=Nで、mが整数である、m個のM×1サブブロックの行を形成する。2×Nパーティション/変換の場合、サブブロックは、m*(M/2)=Nで、mが整数である、m個の2x(M/2)サブブロックの列を形成し得る。N×2パーティションの場合、サブブロックは、m*(M/2)=Nで、mが整数である、m個の(M/2)x 2サブブロックの行を形成し得る。このことを、最小数の係数について、M=16の例示的な場合で、表2に例示的に示す。
【0067】
【0068】
図9は、現在のブロック80のパーティションiごとに、CBF188が一度存在し得ることを示しているが、現在のブロック80について、パーティション中のn個のパーティションのうちの少なくとも1つが非ゼロCBF188を有することは、デコーダとエンコーダとの間で合意され得る。このため、nがサブパーティションの数であり、符号化順の最初のn-1サブパーティションがゼロCBFを生成した場合、第nのパーティションのCBFは1であると推測される。したがって、それをデコード化する必要はなく、エンコード化されない。したがって、データ120nのCBFが欠落しているのは、ゼロでシグナリングされたデータ120
1~120
n-1のCBFであり、デコーダは、このCBFを推測して、そのパーティションの変換に少なくとも1つの非ゼロ係数が存在することをシグナリングする。
【0069】
イントラ符号化モードシグナル伝達116に関する限り、以下が成立し得る。符号化モードシグナル伝達116は、最も可能性の高いモード(MPM)のリストのうちの1つを指すポインタ又はインデックスとして送信される。後者のMPMリストは、空間的及び/又は時間的に隣接するイントラ予測モードなど、以前に符号化された/デコード化された、イントラ予測されたブロックに使用されるイントラ予測モードに基づいて、エンコーダ及びエンコーダによって同じ方法で決定され得る。したがって、MPMリストは、利用可能で/サポートされたイントラ予測モードの適切なサブセット、すなわち前述の角度モード及び/又はDC及び平面モードのうちの1つ又は複数を表し得る。上述したように、従来のイントラ予測されたものの他に、つまりひとまとめで、又はイントラ予測されたブロックが再帰四分木パーティション化を使用してパーティション化される変換ブロックの単位で、イントラ予測されたものの他に、図のブロック80などのLIP又はISP方式を使用してイントラ予測されたブロックが存在する可能性がある。両方のタイプのイントラ予測されたブロックは、利用可能で/サポートされたイントラ予測モードの同じセットをサポートし得る。後の通常/従来のイントラ予測されたブロックについて、MPMフラグがデータストリーム内でシグナリングされ得、デコーダはこれをデコード化し、エンコーダはこれをエンコード化し、そのブロックのモードがMPMリストから選択されるか否かを示し、その場合、このMPMリストへのポインタ/インデックスが送信され、デコーダはこれをデコード化し、エンコーダはこれをエンコード化し、MPMフラグは、ブロック80などのLIP又はISP方式を使用するイントラ予測されたブロックの場合に、MPMリスト制限をシグナリングするために推測される。特定の通常/従来のイントラ予測されたブロックについて、MPMモードのいずれもが使用されていないことを、MPMフラグがシグナリングする場合、データストリーム内のそのブロックにはインデックス/ポインタが存在せず、イントラ予測モードの残余リストへの代替ポインタ/インデックスが、代わりにそのブロックについて、データストリーム内で送信される。残余リストはまた、利用可能で/サポートされたイントラ予測モードのセットの適切なサブセットであってもよく、特に、利用可能で/サポートされたイントラ予測モードのセットと比較したMPMリストの相補的なセットであってもよく、つまり、利用可能で/サポートされたイントラ予測モードのセットのすべての要素は、MPMリスト又は残余セットのいずれかの要素である。MPMリストへのポインタ/インデックスは、VLC符号化されてもよく、残余セットへのポインタ/インデックスは、固定長符号を使用して符号化されてもよい。当然ながら、LIP又はISP方式のイントラ予測されたブロックであっても、MPMフラグが送信されてもよく、更に、エンコーダは、選択されたモードがMPMリスト又は残余セットのどちらが薄いかに依存するMPMフラグを設定して、利用可能で/サポートされたイントラ予測モードのセットの中から任意のモードを自由に選択してもよい。
【0070】
MPMリストは同じであってもよく、つまり、通常/従来のイントラ予測されたブロック及びISP/LIPイントラ予測されたブロックについて、エンコーダ及びエンコーダによって同じ方法で決定されてもよい。しかしながら、ISP/LIPイントラ予測されたブロックのMPMリスト使用をシグナリングするためのMPMリストへの制限及びMPMフラグの推測が適用されるか否かに関係なく、代替的に、ISP/LIPモードの統計に適応するために、ISP/LIPイントラ予測ブロックについて、MPMリストを別の方法で決定し得る。例えば、それは、DCイントラモードをMPリストから除外し、ISP水平分割のための水平イントラモード、つまり水平方向104、及び垂直分割のための垂直イントラモード、つまり垂直方向104を優先するように変更され得る。つまり、通常/従来のイントラ予測されたブロックの場合、MPMリストは、利用可能で/サポートされたイントラ予測モードのセットの適切なサブセットを形成し得、モードは、特定の概念に従って選択及び順序付けされる。ISP/LIPイントラ予測されたブロック80の場合、フラグ114によってシグナルされたパーティション方向104に依存し、かつ/あるいは、DCモードよりも少ない、又は、DC及び平面モードよりも少ない、利用可能で/サポートされたイントラ予測モードのセットの適切なサブセット、つまり、利用可能で/サポートされたイントラ予測モードのセットにおける角度モードの適切なサブセットを形成する、MPMリストを、MPMインデックスは指し得る。以前の符号化/デコード化で以前に使用されたイントラ予測モードに基づくMPMリスト構築は、パーティション方向104が水平であることを示すフラグ114の場合、水平寸法に近い角度イントラ予測方向の角度モードが好ましく、パーティション方向104が垂直であることを示すフラグ114の場合、垂直寸法に近い角度イントラ予測方向の角度モードが好ましい場合がある。
【0071】
直前の説明に関して、本明細書で概説しているように、通常処理されるイントラ予測モードと、パーティション化を使用して処理されるイントラ予測モードとの間の並置は不要であることに再び留意されたい。つまり、エンコーダ及びデコーダは、本明細書に提示したパーティション化を必然的に使用してイントラ予測されたブロック80を処理し得、それに応じて、例えば、パーティションフラグ160は陳腐化する。しかしながら、フラグ160によってシグナリングされたパーティション選択肢がエンコーダのための決定として利用可能である場合、以下の説明は、エンコーダが決定をどのように実行するかについての可能性を明らかにし、又は、パーティションモードが特定のブロック80のために使用されるべきか否か、及びどの分割タイプ、すなわち水平又は垂直が最良のものであるかを見出す。これを実行するために、エンコーダは、各ブロックの異なるイントラ予測モードの両方の選択肢をテストする必要がある。エンコーダが通常選択肢などの1つの選択肢のみを有する場合と比較して、多くの選択肢をテストする必要があるため、エンコーダは遅くなる。この影響を低減するために、フラグ160によってシグナリングされるパーティションモードは、以下の戦略によるエンコード化によってテストされ得、ここでは、
図10及び
図11を参照する。
【0072】
1)1Dパーティションモードは、テストされる最後のイントラモードである。
2)1Dパーティションモードがテストされる時点でのこれまでの最小コストをC
minとする。
3)テストされるイントラモードと分割タイプの組合わせを選択する。
4)ブロックはN個の1Dパーティションに分割され、これらのパーティションの各々のインデックスをiとし、ここで、i=[1,N]である。
5)すべてのパーティションが符号化された後、そのサブコストJ
iが計算される。したがって、パーティションiが符号化された後に利用可能なすべてのサブコストの合計、つまり
を知ることができる。この手順は
図10に示されており、したがって、ブロック全体の最終コストを得るための1Dパーティションサブコストの累積を示している。
6)すべてのパーティションが処理された後、式Si<C
minが評価される。これが真である場合、最後までパーティションを符号化し続ける。そうでなければ、このテストモードがC
minより低いRDコストをもたらさないことが保証されるので、プロセスは中断され、イントラモードと分割タイプとの次の組合わせに進む。
7)すべての1Dパーティションが符号化されている場合、テストモードは最良モードであり、C
minは、それに応じて更新される。
【0073】
この手順の利点は、1Dパーティションモードが既存の最小コストよりも良いコストをもたらさないことが既に知られているため、必要ではない1Dパーティションの処理を回避することである。更に、RD損失の点で欠点はない。プロセス全体は、
図11のフローチャートとして示している。
【0074】
方向104を横断する1つのサンプル幅ストライプ内で行われるものとしてパーティション化を示す上記のISP例のすべてが、代替的にパーティションが広くなるような方法で行われ、それによって2寸法パーティションをもたらし得ることに再び留意されたい。パーティション化に関する更なる代替案を以下に示す。
【0075】
特定のISPの例では、分割方向104に沿った幅は、1)イントラ予測モードが角度モードであるか非角度モードであるか、及び2)その方向104に沿ったイントラ予測されたブロックの幅に基づいて定義される。
【0076】
1)W×H(2の累乗であるWとHを仮定する)ブロック80は、w×h寸法を有するKに等しいパーティション102/112に、水平又は垂直(例えば、デコーダに送信されるシンタックス要素114で示される)に分割され得、その値を表3に記載している。表3によれば、非角度イントラモードを使用して予測され、例えば、垂直分割(つまり、方向104が垂直である場合)の対象となるW=16でH=8であるブロックは、4つのパーティション102に分割され、そのすべてが寸法w=16及びh=2を有する。同じブロック80が角度イントラモードを使用して予測された場合、それは、各々が寸法w=16及びh=1を有する8つのパーティション102に分割される。
【0077】
【0078】
2)W×H(2の累乗であるWとHを仮定する)ブロック80は、代替的に、w×h寸法を有するKに等しいパーティションに、水平又は垂直(例えば、デコーダに送信されるシンタックス要素114で示される)に分割され得、ここで、Kの値は、固定されず(したがって、それはシンタックス要素とともにデコーダに送信され)、その範囲は、2とSの間の任意の2の累乗であってもよく、ここで、Sは、分割されている寸法の値(垂直分割の幅及び水平分割の高さ)である。w及びhの値は、表4に記載されるように得られる。
【0079】
【0080】
代わりに、寸法104に沿ったパーティションの幅は、ブロック80に対して直接シグナリングされ得る。
【0081】
3)W×H(2の累乗であるWとHを仮定する)ブロック80は、代替的に、wi×hi寸法を有する(ここで、i=1,2,…,Kである)K個のパーティション(ここで、KはW及びHに依存する)に、水平又は垂直(例えば、デコーダに送信されるシンタックス要素114で示される)に分割され得る。分割が水平である場合S=Hで、si=hiであり、及び垂直である場合S=Wで、si=wiである)。siの値の様々な選択肢を、寸法104に沿ったブロック80の幅を測定するSの異なる値について表5に記載しており、siは、寸法104に沿ったパーティションiの幅を測定する。
【0082】
【0083】
デコーダによって使用される選択肢は、固定するか、又はデコーダ側の既存のパラメータの値に従って暗黙的に決定し得る。
【0084】
4)W×H(2の累乗であるWとHを仮定する)ブロック80は、代替的に、wi×hi寸法を有する(ここで、i=1,2,…,Kである)K個のパーティション(ここで、KはW及びHに依存する)に、水平又は垂直(例えば、デコーダに送信されるシンタックス要素114で示される)に分割され得る。分割が水平である場合S=Hで、si=hiであり、及び垂直である場合S=Wで、si=wiである)。siの値は、例3)に提示された3つの選択肢のうちのどれを使用してブロックをサブパーティションに分割するかを示すシンタックス要素によって決定される。
【0085】
したがって、上記の例1~4に例示したように、パーティションが所定の寸法に垂直な所定のブロックと同じ幅になるように、パーティション化は、1つの寸法104に沿って行われてもよく、所定の寸法104に沿って測定されたパーティションの幅は、少なくとも2つの異なる幅設定又は選択肢から選択される。明示的又は暗黙的なシグナリング概念を使用して、エンコーダとデコーダとの間の選択の同期を維持し得る。したがって、この選択は、パーティション化を、同じサイズ及び形状のブロック間で変化し得る一方で、この変化に関連するオーバーヘッドが適度に低く保たれることを可能にする。選択は、例えば、所定のブロックのイントラ符号化モードが角度モードであるか否かに依存するなど、所定のブロックのイントラ符号化モードに依存して行われ得る。選択はまた、例番号4に示すように、少なくとも2つの異なる幅設定の所定のブロックインデックス付けについて、データストリーム内のインデックスに依存して行われてもよい。パーティションは、パーティション寸法に沿った、1つ又は複数のサンプル幅であってもよい。1つのブロック内で、パーティション化/所定の方向に沿ったパーティション幅は変化し得る。あるものは、1つのサンプル幅であってもよく、つまり1寸法ストライプであり、別のものは、1よりも大きい数のサンプル幅であり、サンプルの2寸法フィールドである。
【0086】
残差符号化に関する限り、上述したように、変換符号化を使用して同じことを行うことができる。データストリーム内で、デコーダに送信される、それ自体の符号化ブロックフラグ(CBF)188、最終位置(LP)シンタックス要素190、及び変換係数198を、各サブパーティション102/112は有し得る。したがって、K個のサブパーティション102/112を有するCUなどのブロック80の場合、非ゼロCBFを有する各パーティション102/112について、K個のCBF188及び1つのLP190が存在する。各CBF188を符号化するために使用されるコンテキストは、例えば、順126に沿って、同じブロック内の以前に符号化されたサブパーティションのCBFの値に依存し得る。更に、ISP概念がすべてのブロックで使用されるか否かを示すために、又はデータストリーム全体若しくは特定のピクチャ若しくは特定のピクチャのスライスに対応する範囲で、例えば、本明細書に記載のパーティション化されたイントラ予測概念がその範囲内のすべてのイントラ予測されたブロック80で使用されるか否かを示すために、又は一部がシグナリングされて、一体的に、つまり、ただ1つのパーティションに分割されるように扱われるか否かを示すために、まだ言及していない更なるシンタックス要素が、データストリーム内のデコーダに送信され得る。
【0087】
同様に、各サブパーティションは、1つの変換を使用して別々に変換され、それによってすべてゼロに量子化されていない各パーティション102/112について、1つの変換をもたらし得ることを上述している。特定のパーティション102/112の変換として、そのパーティション102/112の寸法の1つが1である場合を除いて、2D変換が使用され得、その場合、1D変換が適用される。変換コアは、DCT-IIか、又はサブパーティションがデコード化されることになる時点でデコーダ側の既存のパラメータによって決定される任意の他の変換とし得る。例えば、変換は、イントラモード、サブパーティションインデックス、及びサブパーティション寸法の組合わせ、又は後者のパラメータのいくつかのサブセットに従って選択され得る。それはまた、デコーダに直接シグナリングされ得る、あるいは別の言い方をすれば、例えば、ブロック80内のすべてのパーティションについて、又は1つのブロック80の各パーティション102/112ごとに、別々に送信される追加のシンタックス要素の形態でシグナリングされ得る。
【0088】
また、既に上述した一態様は、各パーティションの予測残差をパーティション個別に変換することによって到達される空間的又は何らかの中間変換領域における量子化の後、ブロック80のパーティション102/112の残差が、量子化される変換係数であってもよく、可逆的(lossless)又は可逆的(reversible)な更なる変換の対象であってもよいという事実である。したがって、デコーダは、ブロック80全体の変換の変換係数レベルを得て、それを逆可逆変換して、空間領域における各パーティション102/112ごとに予測残差を得ることができ、又は空間領域における予測残差からの中間変換領域は、各パーティション102/112ごとの再変換によって得られる。
【0089】
更に、ブロック80の様々なパーティションの予測残差が量子化され、これらのパーティションの個々のイントラ予測に対して交互に、パーティションごとに順次データストリームに符号化されることは、既に上述している。これは、
図5に関して、並びに
図10及び
図11に関して説明した。しかしながら、デコーダは、一方での残差デコードと、一方でのイントラ予測及び他方での予測残差を組み合わせることによる様々なパーティションの再構築との間を交互に行うことによってデコードを行う必要はない。つまり、特定のブロック80をデコード化する際に、デコーダは、様々なパーティションの個々のイントラ予測を含む実際の再構築手順から、様々なパーティションの予測残差120のデコードを切り離し得る。
図5を参照すると、デコーダは、データストリーム14から、すべてのパーティションの予測残差120、つまりブロック80について、予測残差120
1~120
4を、1つの処理タスクに従ってデコード化し、かつデコーダは、別のタスクに従って、パーティション102
iの予測残差120
iを使用して、パーティション順126に従って、パーティションごとにブロック80の内部を再構築し得る。この目的のために、デコーダは、第2のタスクにおいて、ブロック80のイントラ予測モードを使用して各パーティション120
iについて、イントラ予測を実行し、次いで、第1のタスクから得られた予測残差120
iを加算し、次いで、空間予測を実行するためにパーティション順126で次のパーティション120
i+1にステップすることによってブロック80の再構築を継続し、続いて、イントラ予測結果を補正するためにそのパーティションの予測残差を使用して再構築する。デコーダは、予測残差を使用して予測及び予測補正を実行する第2のタスクを開始する前に、データストリーム14から予測残差120を導出する第1のタスクを完全に実行し得るか、又はデコーダは、特定のパーティション102
iの予測残差120
iが、必要なとき、すなわち、そのパーティション102
iの予測結果がブロックのイントラ予測モードを使用して得られ、補正される必要があるときに、準備されていることを保証するための手段を提供することと並行して2つのタスクを実行し得る。特に、第1のタスク又はフェーズの間、デコーダは、すべての非ゼロパーティション、つまり、予測残差120
iが非ゼロであるようにシグナリングされるすべてのパーティション102について、逆変換を並列にすべて実行し得る。
【0090】
余談であるが、パーティションiの残差120iが変換領域において量子化されるとき、これらのパーティションの再構築されたサンプルが特定の許容サンプル値範囲を離れる、つまり、超えるか又は成功することが起こり得ることに留意されたい。上述したように、それらは、順126に続くパーティションjについての基準サンプル118jの要素として機能し得る。ISPの変形形態によれば、これらのサンプルは、順126に続くパーティションjを予測する目的でそのまま残され、ブロック80全体の最終クリッピングステップとしてブロック80のこれらのサンプルのクリッピングを実行し、それによって、例えばデコーダ側の実装形態の利便性を高める。したがって、パーティション102iのプレディクタを導出する際に、現在のパーティションの基準として機能する1つ又は複数の既に再構築されたサンプル118iの中にある、パーティション順126に従ってこのパーティション102iに先行するパーティションの再構築されたサンプルを、まだクリッピングされていない状態で使用し得、ここで、再構築されたサンプルを、まだクリッピングされていない状態から、許容されるサンプル値範囲にクリッピングされた状態にクリッピングすることは、逐次再構築を実行した後に、最後に、所定のブロックを最終的に再構築するために行われる。エンコーダ側では、クリッピングは、デコーダとの基準同期を維持するために、その後にエンコード化されるブロックの予測基準として機能するためのそのようなサンプルの再構築されたバージョンを得るために実行されるにすぎない。しかしながら、この最終的なクリーンアップの種類のクリッピングは一例にすぎず、クリッピングは、直ちに、つまりパーティションiの再構築されたサンプルが、続いて処理されるパーティションjの基準サンプル118jとして機能する前に、代替的に実行され得る。
【0091】
1つのISPの例を以下に具体的に示す。特に、この例によれば、データストリーム14は、ISP方式を使用して符号化されているか否かにかかわらず、分割モードフラグ160によってイントラ符号化されたブロック80にシグナリングする。データストリーム14内の対応するシンタックス要素を、intra_subpartitions_mode_flagと命名することができる。例えば、このフラグが1である場合、イントラ符号化されたブロック80は、LIP又はISP方式を使用して符号化され得、そうでない場合、ブロック80は、通常のイントラ予測を使用して符号化される。LIP又はISP方式は、例えば、特定の1つ又は複数の条件が満たされる場合にのみ、現在のイントラ符号化されたブロック80に対して利用可能であり得る。1つ又は複数の条件は、例えば、イントラ符号化されたブロック80が、例えば、ブロック80のサンプル数に関して、ある最小サイズを超える必要があること、及び/又は、イントラ符号化されたブロック80が、例えば、大きすぎる変換サイズをもたらさないようにするため、少なくとも水平及び垂直の両方において、特定の寸法を超えることを許容され得ないこと、を含み得る。正確には、LSP又はISPモードは、ブロック80が、少なくとも一方向、つまり、水平方向又は垂直方向において、上述の最大変換関連サイズ以下である場合にのみ利用可能である。したがって、intra_subpartitions_mode_flagは、ブロック80が上述の条件を満たす場合にのみデータストリーム内に存在し得る。そうでない場合、デコーダは、イントラ符号化されたブロック80が通常のイントラ符号化されていると推測し得る。イントラ符号化されたブロック80がLSP又はISP符号化ブロックであることを示す、分割モードフラグ、intra_subpartitions_mode_flagの場合、パーティション寸法フラグ114を、イントラ符号化ブロック80に更にシグナリングし得る。しかしながら、このintra_subpartitions_mode_flagは、必然的に明示的にシグナリングされるのではなく、特定の状況の場合に特定のパーティション寸法104を示すと推測されることもあり得る。例えば、前述の最大変換サイズを超える幅を有する(しかし、超えない高さを有する)イントラ符号化されたブロック80の場合、パーティション寸法104は、水平であることを余儀なくされる可能性があり、ブロック80の高さが、前述の最大変換サイズを超える(しかし、幅は、これを超えない)場合、寸法104は、垂直であることを余儀なくされる可能性がある。どちらの場合も、intra_subpartitions_split_flagは、データストリーム内で明示的にシグナリングされないが、デコーダによってそのように推測される。イントラ符号化モード116は、上記で概説したように、すなわちエンコーダ及びデコーダ側で構築される最も可能性の高いイントラ予測モードのリストを使用することによって、データストリーム内でシグナリングされ得る。LIP又はISPイントラ符号化されたブロック80の場合、データストリーム14は、例えば、intra_luma_mpm_IDXと呼ばれる、必然的にイントラ予測モードの可能性があるリストを指し示すMPMリストポインタによってイントラ符号化モードをシグナリングし得るが、このポインタは、イントラ符号化されたブロックがISP方式で符号化されていない場合、データストリーム14内でMPMフラグによって先行され得る。例えば、intra_luma_mpm_flagと呼ばれるそのMPMフラグが特定のフラグ状態を有する場合、最も可能性の高いイントラ予測モードリストへのポインタの代わりに、イントラ予測モードのリマインダリストへのポインタがデータストリーム内でシグナリングされる。しかしながら、上述したように、これは単なる例であり、イントラ予測モードのシグナリング可能なセットは同じであってもよく、すなわち通常の符号化されたイントラ予測ブロックとISPイントラ予測ブロックの両方について、サポートされたすべてのイントラ予測モードを対象とし得る。例えば、intra_luma_mpm_flagは、両方のタイプのイントラ符号化されたブロックのために送信され得る。あるいは、両方のタイプのイントラ予測されたブロックについて送信されたポインタは、両方のタイプのイントラ符号化されたブロックについて、MPMフラグなしで、サポートされたイントラ予測モードの完全なリストを直接指し示し得る。イントラ符号化されたブロック80がISP方式を使用して符号化される場合、パーティション102/112の数は以下のように定義され得る。特に、エンコーダ及びデコーダは、ブロック80のサイズに依存するパーティションの数を決定し得る。信号はデータストリーム内で費やされない。小さいブロックサイズの場合、その数は2であり得るが、それ以外の場合パーティション102/112の数は4である。パーティションのイントラ予測及びデータストリーム内の予測残差の符号化が行われるパーティション順は、水平方向n14の場合には最も左側のパーティションからパーティション方向104に沿って、かつ垂直パーティション方向の場合には最も上側のパーティションから、逐次、最も遠いパーティションに進み得る。これにもシグナリングは費やされない。残差変換は、上述のように、パーティション102/112ごとに行われ得る。つまり、各パーティションを別々に変換し得る。これと比較して、通常のイントラ符号化されたブロック80の場合、変換の数は、以下のようにイントラ符号化されたブロック80のサイズに依存し得、イントラ符号化されたブロックが水平方向及び垂直方向で、前述の最大変換サイズよりも小さい場合、イントラ符号化されたブロック80の残差は、1つの変換を使用して符号化される、つまり、ブロック80の残差は、完全に1つの変換の対象である。最大変換サイズが水平方向で超える場合、イントラ符号化されたブロック80は、半分又は変換ブロックが最大変換サイズを満たし、ブロック80の残差が半分/変換ブロックごとに1つの変換の対象となるように、水平方向に、変換ブロックの二つの半分又は対応する数に分割される。同じことが、ブロック80が垂直方向で最大変換サイズを超える場合にも当てはまる。垂直方向及び水平方向の両方で最大変換サイズを超える場合、4つ又は対応する数の変換が使用されて、このブロック80の4つの象限内のブロック80の残差、又はブロック80の規則的な2寸法サブ分割を、対応する数の変換ブロックに変換する。更に、通常のイントラ符号化されたブロック80の処理は、通常のイントラ符号化されたブロックがひとまとめでイントラ予測されるという点で、LIP又はISP符号化されたイントラ符号化されたブロック80の処理から逸脱し得る。つまり、それはサブパーティション化されていない。更なる違いは、ブロック80の予測残差を符号化するための変換の符号化に関連し得る。各変換の場合、tu_cbf_lumaなどの符号化されたブロックフラグ188が送信され得るが、通常のイントラ符号化されたブロック80の場合、このフラグはブロック80内の変換ごとに必然的に符号化され得、このフラグは、ブロック80がISB符号化されており、以前の変換に関するすべての以前のCBFがゼロである場合に、そのブロック80の最後の変換に関するフラグであると推測され得る。更に、各変換内のサブブロックの寸法の選択は、一方の通常イントラ符号化されたブロック80と、他方のISP符号化されたブロック80との間で異なり得る。詳細は上述のとおりである。しかしながら、代替として、変換182のサブブロックへのサブ分割化は、通常のイントラ符号化されたブロック及びISP符号化されたブロックについて等しく行われ得る。例えば、log2SbW及びlog2SbHをサブブロックの幅及び高さの対数の双対とし、log2TbWidth及びlog2TbHeightをそれぞれ変換の幅及び高さとする。次に、サブブロック寸法を以下のように決定することができる。
log2SbW = (Min(log 2TbWidth, log2TbHeight) < 2 ? 1 : 2)
log2SbH = log2SbW
if (log2TbWidth < 2){
log2SbW = log2TbWidth
log2SbH = 4 - log2SbW
} else if (log2TbHeight < 2){
log2SbH = log2TbHeight
log2SbW = 4 - log2SbH
}
【0092】
上記の擬似コードは、表2に示すサイズのサブブロックをもたらす。イントラ符号化されたブロック80の固有の最小サイズ及び通常のイントラ符号化されたブロックの非サブ分割のために、4×4係数のサブブロックのみが通常のイントラ符号化されたブロック80のために生じる可能性がある。最後に、上記の例は、2つのパーティション102/112のみにパーティション化されたものを含む様々なサイズのISPイントラ予測されたブロックをもたらし得るが、そのようなISPイントラ予測されたブロックが存在するか否かにかかわらず、2よりも大きい数のパーティションにパーティション化されたISPイントラ予測されたブロックが存在することに留意されたい。
【0093】
これは、以下に提示される実装効率の改善された実施形態の説明の出発点である。その説明は、4x4、8x4、4x8ブロックなどの特定のサイズのISPブロックを処理しながら、上述したように大きなISPブロックを処理する代替方法として提示されているが、更なる代替実施形態は、これまでに概説したブロックのISP処理なしで、以下のパーティションベースのイントラ符号化概念をブロックベースのコーデックに転送することによって達成され得ることに留意されたい。
【0094】
図12は、一実施形態による、データストリーム14からのピクチャのブロックベースのデコードに関するデコーダ20を示す。したがって、所定のブロック80は、デコード化され得、それによって所定のブロックは、サブブロックにパーティション化され得、これは、変換パーティション300として理解され得る。データストリーム14は、エンコード化されたイントラ符号化モード116、エンコード化されたパーティション寸法フラグ114、及び予測残差のいくつかのエンコード化された変換120を備え得る。イントラ符号化モード116及びパーティション寸法フラグ114は、例えば、所定のブロック80に対してシグナリングされる。反対に、予測残差の変換120は、例えば、所定のブロック80の個々の変換パーティションに対してシグナリングされる。
【0095】
デコーダ20は、ピクチャの所定のブロック80について、パーティション寸法フラグ114を、データストリーム14からデコード化し、パーティション寸法フラグ114に依存するパーティション寸法104を、水平1041又は垂直1042に設定するように構成される。パーティション寸法104は、例えば、所定のブロック80を、デコーダ20によってパーティション化する方向105を示す。
【0096】
一実施形態によれば、デコーダ20は、イントラ符号化モード116に依存するコンテキストを使用するコンテキスト依存エントロピーデコードを使用することによって、パーティション寸法フラグ114をデコード化するように構成される。一実施形態によれば、デコーダ20は、非角度モードをシグナリングするイントラ符号化モード、水平モードをシグナリングするイントラ符号化モード、及び垂直モードをシグナリングするイントラ符号化モードを含む3つのコンテキストのうちの1つを使用するコンテキスト依存エントロピーデコードを使用することによって、パーティション寸法フラグ114をデコード化するように構成される。
【0097】
パーティション寸法1041が水平である場合、所定のブロック80は、例えば、所定のブロック801の垂直高さ全体に及ぶ垂直変換パーティション3001b~3006bにパーティション化又は分割される。あるいは、パーティション寸法1042が垂直である場合、所定のブロック80は、例えば、所定のブロック802の水平幅全体に及ぶ水平変換パーティション3001a~3004aにパーティション化又は分割される。言い換えれば、デコーダは、所定のブロック80を、所定の寸法1041又は1042に沿って、所定の寸法1041又は1042に垂直な所定のブロック80と同じ幅1031又は1032の変換パーティション300に、パーティション化するように構成される。所定の寸法は、例えばパーティション寸法104である。
【0098】
変換パーティション300の数は、例えば、2よりも多く、かつ/又は、変換パーティション300は、所定の寸法1041又は1042に沿って、1つのサンプル幅1011又は1012である。あるいは、変換パーティション300は、パーティション寸法1041又は1042に沿って、2つ以上のサンプル幅であり得る。
【0099】
一実施形態によれば、デコーダ20は、所定の寸法104に沿って、所定のブロック80のサイズ101aに依存して、及び/又は所定のブロック80のイントラ符号化モード116に依存して、及び/又は所定のブロック80のイントラ符号化モード116が角度モードであるか否かに依存して、所定の寸法104に沿って測定された変換パーティション300の幅101を設定するように構成される。
【0100】
一実施形態による、幅W、及び高さH、つまりW×H寸法を有する所定のブロック80は、例えば、(垂直分割寸法に沿った)水平分割のための寸法W×H/K、又は(水平分割寸法に沿った)垂直分割のための寸法W/K×Hを有する等しいサイズのK個の変換パーティションにおいて水平又は垂直に分割される。
【0101】
デコーダ20は、所定のブロック80に隣接する既に再構築されたサンプル118に基づいてイントラ符号化モード116に基づいて、及び予測残差の変換120に基づいて、所定のブロック80を再構築123するように構成される。
【0102】
したがって、デコーダは、変換パーティションごとに、予測残差の変換120を、データストリームからデコード化するように構成される。一実施形態によれば、デコーダ20は、符号化された変換パーティションフラグ188を、データストリームからデコード化することによって、パーティションごとに、変換120を、データストリームからデコード化するように構成される。符号化された変換パーティションフラグ188が設定されていない場合、デコーダ20は、それぞれの変換パーティション300について、予測残差をゼロに設定するように構成され、符号化された変換パーティションフラグが設定されている場合、デコーダ20は、それぞれの変換パーティションの予測残差の変換120の変換係数を、データストリームからデコード化するように構成される。例えば、符号化された変換パーティションフラグ188がゼロである場合、符号化された変換パーティションフラグ188は設定されない。
【0103】
図12に示す実施形態によれば、各変換パーティション300ごとに、任意選択で、符号化された変換パーティションフラグ188がデータストリーム14内でエンコード化されており、それに基づいて、デコーダ20は、変換パーティション300について、予測残差の変換120をデコード化するか、予測残差がゼロであることと、変換120がこの変換パーティションについてデコーダ20によってデコード化される必要がないことを推測するように構成される。あるいは、符号化された変換パーティションフラグ188はデコーダによってデコード化されず、代わりに、デコーダは、変換パーティション300ごとに、予測残差の変換120を直接デコード化するか、又は所定のブロック80全体について1つの変換をデコード化するように構成される。
【0104】
一実施形態によれば、デコーダ20は、変換パーティション300について、符号化された変換パーティションフラグ188を、データストリーム14から逐次デコード化し、すべての先行する符号化された変換パーティションフラグ188が設定されていない場合、変換パーティション順210における最終変換パーティション、例えば変換パーティション3004a又は変換パーティション3006bについて、符号化された変換パーティションフラグ188が設定されていると推測するように構成される。
【0105】
一実施形態によれば、デコーダ20は、所定の変換パーティション順210でそれぞれの変換パーティションに先行する、先行変換パーティション、例えば第1の変換パーティション3001a又は3001bについてデコード化された、符号化された変換パーティションフラグ1881に依存するコンテキストを使用するコンテキスト依存エントロピーデコードを使用することによって、それぞれの変換パーティションについて、例えば第2の変換パーティション3002a又は3002bについて、符号化された変換パーティションフラグ1882を、データストリーム14からデコード化するように構成される。
【0106】
更に、デコーダ20は、ピクチャの所定のブロック80について、イントラ符号化モード116を、データストリーム14からデコード化するように構成される。
【0107】
デコーダ20は、所定のブロック80についてプレディクタを得るために、イントラ符号化モード116に依存する方法で、所定のブロック80に隣接する1つ又は複数の既に再構築されたサンプル118に依存する所定のブロック80をイントラ予測122するように構成される。一実施形態によれば、デコーダ20は、変換パーティション300ごとに、プレディクタをイントラ予測122するように構成される。
【0108】
第1の選択肢によれば、変換パーティション300は、デコーダ20によって逐次再構築される。したがって、デコーダは、第1の変換パーティション300
1a又は300
1bについて、プレディクタをイントラ予測122
1し、第1の変換パーティション300
1a又は300
1bについてデコード化された予測残差の変換120
1を使用してこのプレディクタを補正し、その後、第2の変換パーティション300
2a又は300
2bについて、プレディクタをイントラ予測122
2し、第2の変換パーティション300
2a又は300
2bについてデコード化された予測残差の変換120
2を使用してこのプレディクタを補正するように構成される。
図12に示すパーティション化された所定のブロック80
1及び80
2によれば、ブロック80
2について、後続の変換パーティション300
3a及び300
4a、並びにブロック80
1について、後続の変換パーティション300
3b、300
4b、300
5b及び300
6bは、イントラ予測され、それに応じて補正される。
【0109】
第2の選択肢によれば、変換パーティション300は、1つのステップで再構築される。したがって、デコーダ20は、変換パーティション300ごとに、予測残差の変換120を、データストリーム14からデコード化し、かつ変換パーティション300ごとに、プレディクタをイントラ予測122するように構成される。変換120のデコード化は、例えば、イントラ予測とは独立して実行される。一実施形態によれば、所定のブロック80の再構築123において、予測残差のすべての変換120は、デコーダ20によってデコード化され、すべてのプレディクタがデコーダ20によってイントラ予測される。言い換えれば、所定のブロック80の再構築123においては、変換パーティション300ごとに、それぞれの変換パーティション300についてデコード化された予測残差の変換120、及び利用可能なそれぞれの変換パーティション300に関連付けられたプレディクタである。
【0110】
一実施形態によれば、デコーダ20は、変換パーティション300ごとに、それぞれの変換パーティション300内のプレディクタを補正する際に使用するために、変換120を空間領域に再変換するように構成される。言い換えれば、空間領域内の予測残差を得るために、予測残差の変換120の変換係数に、逆変換が適用され得る。
【0111】
一実施形態によれば、変換120は、イントラ予測モード(つまり、イントラ符号化モード116)が平面モードでない場合のDCT変換であり、かつイントラ予測モードが平面モードである場合のDST変換であり、あるいは変換は、イントラ予測モード、所定のブロック80のブロックサイズ、及び/又は専用シンタックス要素に基づいてタイプが選択される線形変換である。したがって、デコーダは、例えば、イントラ符号化モードに基づいて、予測残差の変換120の変換タイプを決定するように構成される。上記の再変換のために、デコーダは、例えば逆変換タイプを使用する。
【0112】
一実施形態によれば、デコーダ20は、ピクチャの所定のブロック80について、分割モードフラグ160をデータストリーム14からデコード化するように構成される。分割モードフラグ160が第1の分割モードを示す場合、デコーダ20は、パーティション寸法フラグ114のデコード化、パーティション化105、及び変換パーティションごとの変換120のデコード化を実行するように構成される。分割モードフラグ160が第2の分割モードを示す場合、パーティション寸法フラグ114のデコード化、パーティション化105、及び変換パーティション300ごとの変換120のデコード化の代わりに、デコーダ20は、所定のブロック80内の予測残差の1つの変換120をデコード化するように構成される。言い換えれば、第1の分割モードは、変換パーティションに基づく所定のブロック80のデコード化を示し、第2の分割モードは、パーティション化105なしに、所定のブロック80全体のデコード化を示す。したがって、第2の分割モードでは、デコーダ20によって変換パーティションは使用されず、例えば、パーティション寸法フラグ114、符号化された変換パーティションフラグ188、及び変換パーティションに関連付けられた予測残差の個々の変換120は、所定のブロック80についてデータストリーム14内でエンコード化されない。
【0113】
図13は、
図12に示すデコーダによって実行され得る、変換パーティション300の予測残差の変換120を、データストリーム14からデコード化するための実施形態を示す。実施形態によれば、デコーダ20は、所定の変換パーティション300
3a又は300
3b(実施形態は、垂直パーティション寸法104
2に沿ってパーティション化された所定のブロック80
2について、及び水平パーティション寸法104
1に沿ってパーティション化された所定のブロック80
1について示されている)について、1寸法変換120
3の変換係数120
31~120
36(変換パーティション300
3aに関連する)又は120
31~120
34(変換パーティション300
3bに関連する)を走査する所定の走査順193に沿って、変換120
3の最終変換係数位置191を示すデータストリーム14を形成する最終位置指示190
3をデコード化することによって、所定の変換パーティション300
3a又は300
3bの予測残差の変換120
3を、データストリーム14からデコード化するように構成される。更に、デコーダ20は、所定の変換パーティション300
3a又は300
3bについて、所定の走査順193に沿って最終変換係数位置191までの変換120
3の変換係数120
31~120
33(変換パーティション300
3aに関連する)又は120
31~120
33(変換パーティション300
3bに関連する)を、データストリーム14からデコード化することによって、かつ所定の走査順193に沿って最終変換係数位置191を超える変換120の変換係数120
34~120
36(変換パーティション300
3aに関連する)又は120
34(変換パーティション300
3bに関連する)がゼロであることを推測することによって、所定の変換パーティション300
3a又は300
3bの予測残差の変換120
3を、データストリーム14からデコード化するように構成される。
【0114】
実施形態によれば、最終位置指示190は、例えば
図9に関して説明したように、符号化された変換パーティションフラグ188に加えてデータストリーム14内でエンコード化され得る。あるいは、最終位置指示190のみがデータストリーム14内でエンコード化され、符号化された変換パーティションフラグ188はエンコード化されない。
【0115】
一実施形態によれば、変換パーティション300は、所定の寸法104に沿った1サンプル幅であり、変換120は、1寸法変換である。
【0116】
図14は、ピクチャからデータストリーム14にブロックベースでエンコード化するエンコーダ10の実施形態を示し、そのエンコーダは、ピクチャの所定のブロック80について、パーティション寸法フラグ114をデータストリーム14にエンコード化するように構成され、パーティション寸法フラグ114は、パーティション寸法104が水平104
1又は垂直104
2に設定されるべきであることをシグナリングする。所定のブロック80がパーティション化されるべきか否か、更に所定のブロック80がパーティション化されるべきである場合に、どのパーティション寸法104が選択されるべきか、のエンコーダ10による決定200は、例えば、所定のブロック80のブロックサイズに依存する、及び/あるいは、ピクチャの1つ又は複数の以前にエンコード化されたブロックに関するエンコーダの1つ又は複数のパーティション決定200に依存する。
【0117】
エンコーダ10は、所定の寸法104に沿って、所定のブロック80を、所定の寸法に垂直な所定のブロック80と同じ幅103である変換パーティション300に、パーティション化105するように構成される。所定の寸法は、例えばパーティション寸法104である。したがって、エンコーダ10は、パーティション寸法104
1が水平である場合、垂直分割を実行し、パーティション寸法104
2が垂直である場合、水平分割を実行するように構成される。パーティションは、デコーダのコンテキストにおいて
図12及び
図13に記載するように、及び/又は
図15から
図18に関して記載するように、任意選択的に実行される。
【0118】
エンコーダ10は、イントラ符号化モード116に依存する方法で、所定のブロック80に隣接する1つ又は複数の既に再構築されたサンプル118に依存する所定のブロック80をイントラ予測して、所定のブロック80についてプレディクタを得るように構成される。これは、例えば、イントラ予測モード116を使用することによって、予測信号26を生成する、予測ステージ36の予測モジュール44によって実行される。一実施形態によれば、エンコーダ10は、所定のブロックの変換パーティション300ごとに、イントラ予測を個別に実行するように構成される。変換パーティション300は、例えば、逐次イントラ予測され、変換28され、量子化32され、エンコード化34されて、データストリーム14になる。
【0119】
一実施形態によれば、エンコーダ10は、ピクチャの所定のブロック80について、イントラ符号化モード116をデータストリーム14にエンコード化するように構成される。エンコーダ10は、例えば、完全な所定のブロック80について、同じイントラ符号化モード116を使用して、所定のブロック80の各変換パーティションの予測残差24を得るように構成され、それは、変換28され、量子化32され、エンコード化34されて、データストリーム14になり得る。
【0120】
エンコーダ10は、変換パーティション300ごとに、予測残差の変換120をデータストリーム14にエンコード化するように構成され、その結果、所定のブロック80は、それぞれの変換パーティション300についてエンコード化された予測残差の変換120を使用して、各変換パーティション300内のプレディクタを補正することによって再構築可能である。言い換えれば、エンコーダ10は、例えば、変換パーティション300ごとに、それぞれのパーティション300内の予測残差24を、それぞれの変換パーティション300内のプレディクタを補正する際に使用するためのスペクトル領域に、変換28するように構成される。
【0121】
一実施形態によれば、変換パーティションの数は、2よりも大きく、かつ/又は、変換パーティションは、所定の寸法に沿った1サンプル幅である。
【0122】
一実施形態によれば、エンコーダ10は、パーティション300ごとに、符号化された変換パーティションフラグ188をデータストリーム14にエンコード化することによって、変換120をデータストリーム14にエンコード化するように構成される。符号化された変換パーティションフラグ188が設定されていない場合、符号化された変換パーティションフラグ188は、それぞれの変換パーティション300について、予測残差24がゼロであることをシグナリングし、符号化された変換パーティションフラグ188が設定されている場合、エンコーダは、それぞれの変換パーティション300の予測残差24の変換120の変換係数をデータストリーム14にエンコード化するように構成される。例えば、符号化された変換パーティションフラグ188がゼロである場合、符号化された変換パーティションフラグ188は設定されない。
【0123】
一実施形態によれば、すべての先行する符号化された変換パーティションフラグ、例えば、垂直分割に関するすべての先行する符号化された変換パーティションフラグ1881~1887、又は水平分割に関するすべての先行する符号化された変換パーティションフラグ1881~1883が設定されておらず、その後設定されると推測される場合、変換パーティション順210において、最終変換パーティション、例えば、垂直分割に関する変換パーティション3008b又は水平分割に関する変換パーティション3004bについて、符号化された変換パーティションフラグ、例えば、垂直分割に関する符号化された変換パーティションフラグ1888、又は水平分割に関する符号化された変換パーティションフラグ1884を除いて、エンコーダ10は、変換パーティション300について、符号化された変換パーティションフラグ188を、データストリーム14に逐次エンコード化するように構成される。
【0124】
一実施形態によれば、エンコーダ10は、所定の変換パーティション順210において、それぞれの変換パーティション300に先行する先行変換パーティション300についてエンコード化された符号化された変換パーティションフラグ188に依存するコンテキストを使用するコンテキスト依存エントロピー符号化を使用することによって、それぞれの変換パーティション300について、符号化された変換パーティションフラグ188をデータストリーム14にエンコード化するように構成される。
【0125】
一実施形態によれば、エンコーダ10は、所定の変換パーティション300について、1寸法変換の所定の走査順走査変換係数に沿って変換の最終変換係数位置を示すデータストリーム14に、最終位置指示190をエンコード化することによって、所定のパーティション300の予測残差の変換120をデータストリーム14にエンコード化するように構成される。更に、エンコーダは、所定の変換パーティション300について、所定の走査順に沿って最終変換係数位置までの変換の変換係数をデータストリームにエンコード化することによって、所定のパーティション300の予測残差の変換120をデータストリーム14にエンコード化するように構成され、ここで、所定の走査順に沿って最終変換係数位置を超える変換の変換係数はゼロであり、ゼロであると推測される。これは、
図13で説明したように、デコーダと同様に実行され得る。
【0126】
変換パーティションは、例えば、所定の寸法104に沿った1サンプル幅であり、変換は1寸法変換である。
【0127】
変換は、例えば、イントラ予測モード116が平面モードでない場合、DCT変換であり、イントラ予測モード116が平面モードである場合、DST変換である。あるいは、変換は、イントラ予測モード116、所定のブロック80のブロックサイズ、及び/又は専用シンタックス要素に基づいて、タイプが選択される線形変換である。
【0128】
一実施形態によれば、エンコーダ10は、ピクチャの所定のブロック80について、分割モードフラグ160をデータストリーム14にエンコード化するように構成される。分割モードフラグが第1の分割モードを示す場合、エンコーダは、変換パーティション300ごとに、パーティション寸法フラグ114のエンコード化、変換120のパーティション化及びエンコード化を実行するように構成される。分割モードフラグが第2の分割モードを示す場合、変換パーティション300ごとに、パーティション寸法フラグ114のエンコード化、変換120のパーティション化及びエンコード化の代わりに、エンコーダは、所定のブロック内の予測残差の1つの変換120をエンコード化するように構成される。
【0129】
一実施形態によれば、エンコーダは、イントラ符号化モードに依存するコンテキストを使用するコンテキスト依存エントロピー符号化を使用することによって、パーティション寸法フラグ114をエンコード化するように構成される。
【0130】
一実施形態によれば、エンコーダは、非角度モードをシグナリングするイントラ符号化モード116、水平モードをシグナリングするイントラ符号化モード116、垂直モードをシグナリングするイントラ符号化モード116を含む3つのコンテキストのうちの1つを使用するコンテキスト依存エントロピーエンコード化を使用することによって、パーティション寸法フラグ114をエンコード化するように構成される。
【0131】
一実施形態によれば、所定の寸法104に沿って所定のブロック80のサイズに依存して、及び/又は所定のブロック80のイントラ符号化モード116に依存して、及び/又は所定のブロック80のイントラ符号化モード116が角度モードであるか否かに依存して、エンコーダは、所定の寸法104に沿って測定された変換パーティション300の幅101を設定するように構成される。
【0132】
以下では、イントラサブパーティション(ISP)符号化モードの4×4への拡張、並びに4×8及び8×4ブロックのサブパーティションの数の変更が記載され、拡張が動機付けられる。16個のサンプル/サイクルの最悪シナリオスループットを維持するために、互いに独立したサブパーティションがある。実験結果は、AI構成に関するCTC及びクラスFのそれぞれについて、0、1%及び0.47%の利得を示し、並びにRAの場合でCTC及びクラスFのそれぞれについて0、01%及び0.25%の利得を示す。エンコード化ランタイムに対する影響は、AIの場合では102%であり、RAの場合では100%である。
【0133】
4つよりも小さい幅を有するサブパーティションを生成するすべてのISPブロックにISP概念を拡張することの影響に関する追加のテスト結果を提供する。実験結果は、AI構成に関するCTC及びクラスFのそれぞれについて、0.05%及び0.44%の利得を示し、並びにRAの場合で、クラスFについて0.24%の利得(CTCに変化なし)を示す。
一方、現在のISP設計の4つより小さい幅を有するサブパーティションの完全な除去の影響を試験している。この追加情報は、AI構成に関するCTC及びクラスFのそれぞれについて、0.14%及び0.31%の損失、並びにRAの場合で、CTC及びクラスFのそれぞれについて、0.04%及び0.23%の損失を示す。
【0134】
1 導入
[1]に示すように、イントラサブパーティション(ISP)符号化モードは、CU寸法に従ってルーマイントラ予測ブロックを垂直又は水平に、2つ又は4つの等しいサイズのサブパーティションに分割する。表6は、異なる可能性を示す。
【0135】
表6:現在のVVCドラフトにおけるCU寸法に従ってISPによって作成されたサブパーティションの数
【0136】
各サブパーティションが予測され、変換され、量子化され、更にエントロピー符号化された係数が、デコーダに送信される。次に、サブパーティションの再構築されたサンプルは、次のサブパーティションの予測を生成するために使用されるが、使用されるイントラモードは、すべてのサブパーティション間で共有される。
【0137】
このプロセスが、イントラ予測クリティカルパスにあるため(一般的な場合、以前のサブパーティションの再構築されたサンプルが得られるまで、サブパーティションをデコード化することはできない)、各サブパーティションで最低16個のサンプルを実施する必要があり、これにより、16個のサンプル/サイクルの最悪シナリオスループットが保証される。これは、実際に、4×8及び8×4ブロックが(4つではなく)2つのサブパーティションを有し、4×4ブロックをサブ分割できない理由である。
【0138】
以下の説明は、16個のサンプル/サイクルスループット制約を維持しつつ、4×4ブロックでのその使用を可能にし、4×8及び8×4ブロックの場合にサブパーティションの数を変更するISPの拡張を提示する。この目標は、互いに独立したサブパーティションを生成することによって、すなわち、次のものを予測するためにサブパーティションの再構築されたサンプルを使用しないことによって、達成され得る。
【0139】
例えば、4×8及び8×4ブロックについて、
図15~
図18に関して以下に説明するような所定のブロック80のパーティション化及び再構築は、
図12及び
図13に関して説明するようなデコーダによって、又は
図14に関して説明するようなエンコーダによって実行され得る。
【0140】
ISPにおける特定の修正のその後の提示は、可能な実施形態の提示のみを表し、その変形形態は、容易に入手可能であることに留意されたい。例えば、あまり複雑でない、又は直線的な前方変形形態は、以下のセクション6に記載している。
【0141】
2 新規のブロックサイズへのISP拡張
この寄与で導入されたISPの変更は、4×4、8×4及び4×8ブロックに影響を及ぼす。
【0142】
2.1 4×4ブロック
図15及び
図16に示す実施形態によれば、所定のブロック80は、4つの、4×1(水平分割:hor.split)又は1×4(垂直分割:ver.split)パーティションに分割される。しかしながら、それらの各々の予測信号122は、CU境界の隣接サンプル118を基準サンプルとして使用して生成される。したがって、各サブパーティション(つまり、変換パーティション300)は、互いに独立しており、それらのすべてを単一のステップで並列に処理し得る。言い換えれば、上記で適用した用語を再使用すると、ブロック80はパーティション化されない、又は1つのパーティション112として残され、イントラ予測又は予測導出に使用された基準サンプル118は、すべてブロック80の外側にある。パーティション化は、むしろ、以下に概説するように、変換ベースの残差符号化に適用される。ここで、1つのパーティション112、つまりブロックは、変換パーティション300にパーティション化され、変換パーティションの各々は、別々に変換され、データ構造120に関して上述した方法で符号化されたそれぞれの変換182をもたらす。
【0143】
図15a~
図15dは、4×4ブロックの垂直分割、つまり水平パーティション寸法に沿ったパーティション化の一実施形態を示す。各1×4予測を生成するために使用される基準サンプル118は、CU境界サンプルのみである。予測は非ISPの場合と同じであることに留意されたい。
【0144】
すべての変換パーティション300の予測サンプルは、ISPを使用しないブロックに関して生成されるものと同じであることに留意されたい(すべてのISPブロックに関して無効にされる基準サンプル及びPDPCフィルタリング動作を除く)。ISPを使用する4×4ブロックと、それを使用しないブロックとの間の違いは、変換(ISPの場合には4つの1D変換があり、非ISPの場合には単一の4×4変換がある)及び係数のエントロピー符号化にある。
【0145】
2.2 8×4及び4×8ブロック
図17又は
図18に示す実施形態によれば、ISP設計は、変換パーティション300の数が4になり、サブパーティション112
1及び112
2の数が2になるように変更される。各サブパーティション112
1及び112
2は、2つの変換パーティション300にサブ分割される。
図17又は
図18の実施形態に示すように、変換パーティション2及び4の予測信号122は、変換パーティション1及び3の再構築されたサンプルをそれぞれ使用して生成され得ない。したがって、変換パーティション2は、変換パーティション1から独立しており、同様に、変換パーティション4は、3から独立している。したがって、4×8又は8×4ブロックは2つのサイクルで処理され得、これは16個のサンプル/サイクル全体に相当する。図は、水平パーティション化及び垂直パーティション化についてこれを示している。
【0146】
図17は、所定のブロック80の垂直分割の一実施形態を示す。所定のブロック80は、例えば、M≧8である4つの1×M変換パーティション300に分割された4×Mブロックであり、N≧4である4つの2×N変換パーティション300に分割された8×Nブロックであり、又はO≧1である4つの4×O変換パーティション300に分割された16×Oブロックである。変換パーティション2からの再構築されたサンプルは、変換パーティション3を予測するために使用され得るが、変換パーティション1及び3からの再構築されたサンプルは、それぞれ2及び4を予測するために使用され得ない。垂直分割は、水平パーティション寸法に沿ったパーティション化に対応する。
【0147】
図18は、所定のブロック80の水平分割の一実施形態を示す。所定のブロック80は、例えば、M≧8である4つのMx1変換ブロックに分割されたMx4ブロックであり、N≧4である4つのN×2変換パーティション300に分割されたN×8ブロックであり、又はO≧4である4つのOx4変換パーティション300に分割されたOx16ブロックである。変換パーティション2からの再構築されたサンプルは、変換パーティション3を予測するために使用され得るが、変換パーティション1及び3からの再構築されたサンプルは、それぞれ2及び4を予測するために使用され得ない。水平分割は、垂直パーティション寸法に沿ったパーティション化に対応する。
【0148】
図17及び
図18に示すように、本明細書に記載のデコーダは、所定のブロック80についてプレディクタを得るために、イントラ符号化モードに依存する方法で、所定のブロック80に隣接する1つ又は複数の既に再構築されたサンプル118
1に依存する所定のブロック80をイントラ予測122することと、現在のサブパーティション、例えば、
図17に示すサブパーティション112
1又は
図18に示すサブパーティション102
1について、次のサブパーティション、例えば、
図17に示すサブパーティション112
2又は
図18に示すサブパーティション102
2に進む前に、所定の寸法104に沿ってサブパーティション102/112を逐次横断する所定のサブパーティション順126に従って変換パーティション300のグループごとに、サブパーティション、例えば、
図17に示す112
1及び112
2、又は
図18に示す102
1及び102
2を形成するように、所定のブロック80の変換パーティション300がグループ化される、変換パーティション300のグループを逐次再構築することによって、それぞれの変換パーティション300についてデコードされた予測残差の変換を使用して各変換パーティション300内のプレディクタを補正することによって所定のブロック80を再構築することとを実行するように構成される。デコーダは、イントラ符号化モードに依存する方法で、現在のサブパーティションに隣接する1つ又は複数の既に再構築されたサンプル118
1に依存する現在のサブパーティションを充填することによって、現在のサブパーティションのプレディクタを導出122するように構成される。更に、デコーダは、それぞれの変換パーティション300の変換を使用して、現在のサブパーティションを形成する変換パーティションのグループに含まれる各変換パーティション300内のプレディクタを補正することによって、現在のサブパーティションを再構築するように構成される。
【0149】
図17及び
図18に示すように、本明細書で説明するエンコーダは、デコーダと同様であり、所定のブロック80についてプレディクタを得るためにイントラ符号化モードに依存する方法で所定のブロック80に隣接する1つ又は複数の既に再構築されたサンプル118
1に依存する所定のブロック80をイントラ予測122することと、イントラ符号化モードに依存する方法で現在のサブパーティションに隣接する1つ又は複数の既に再構築されたサンプル118
1に依存する現在のサブパーティションを充填することによって、現在のサブパーティション、例えば、
図17に示すサブパーティション112
1又は
図18に示すサブパーティション102
1のプレディクタを導出するように、所定のブロック80の変換パーティション300が、所定の寸法104に沿ったサブパーティション102/112を逐次横断する所定のサブパーティション順126に従って変換パーティションのグループごとに、サブパーティション、例えば、
図17に示す112
1及び112
2又は
図18に示す102
1及び102
2を形成するようにグループ化される、変換パーティション300のグループを逐次予測することによって、かつ次のサブパーティション、例えば、
図17に示すサブパーティション112
2又は
図18に示すサブパーティション102
2に進む前に、それぞれの変換パーティションの変換を使用して現在のサブパーティション102/112を形成する変換パーティションのグループによって構成される各変換パーティション300内のプレディクタを補正することによって現在のサブパーティションの再構築に役立つように、現在のサブパーティション102/112を形成する変換パーティションのグループによって構成される各変換パーティション300内の予測残差の変換を決定することによって、それぞれの変換パーティション300についてエンコード化されるべき予測残差の変換を使用して各変換パーティション300の内のプレディクタを補正するための所定のブロック80の予測残差を決定することとを実行するように構成される。
【0150】
図17及び
図18によれば、デコーダ及び/又はエンコーダは、例えば、第1のサブパーティション、例えば、
図17に示すサブパーティション112
1又は
図18に示すサブパーティション102
1を形成するために共にグループ化される第1及び第2の変換パーティション300のプレディクタの予測122を実行するために、所定のブロック80に隣接する既に再構築されたサンプル118
1を使用するように構成される。第2のサブパーティション、例えば、
図17に示すサブパーティション112
2、又は
図18に示すサブパーティション102
2を形成するために共にグループ化された、第3及び第4の変換パーティション300のプレディクタを予測122するために、デコーダは、例えば、所定のブロック80に隣接する既に再構築されたサンプル118
2及び/又は第3の変換パーティション300に隣接する第2の変換パーティション300の既に再構築されたサンプル118
2を使用する。言い換えれば、第2のサブパーティション112
2/102
2の変換パーティション300のプレディクタを予測122するために、デコーダは、例えば、第2のサブパーティション112
2/102
2に隣接する既に再構築されたサンプル118
2を使用するように構成され、既に再構築されたサンプルの少なくとも一部は、先行するサブパーティション、例えば、
図17に示すサブパーティション112
1、又は
図18に示すサブパーティション102
1の既に再構築されたサンプルに関連付けられ得る。
【0151】
一実施形態によれば、所定のブロック80のサブパーティションは、逐次再構築又はエンコード化される。言い換えれば、第1のサブパーティション、例えば、
図17によるサブパーティション112
1、又は
図18によるサブパーティション102
1は、第1のサイクルで再構築又はエンコード化され、その後、第2のサブパーティション、例えば、
図17によるサブパーティション112
2、又は
図18によるサブパーティション102
2は、第2のサイクルで再構築又はエンコード化される。したがって、同じサブパーティションのすべての変換パーティションは、同じサイクルで再構築又はエンコード化される。言い換えれば、同じサブパーティションに関連付けられた変換パーティションは、並列に再構築又はエンコード化され得る。したがって、一実施形態によれば、すべての変換パーティション300が並列に再構築されるので、
図15又は
図16の完全な所定のブロック80は、1つのパーティション(つまり、サブパーティション)として理解され得る。
【0152】
一実施形態によれば、デコーダ及び/又はエンコーダは、サブパーティション102/112あたりの変換パーティション300の数が、所定のブロック80の寸法に依存するように構成される。
【0153】
一実施形態によれば、デコーダ及び/又はエンコーダは、サブパーティション102/112あたりの変換パーティション300の数が、所定のブロック80の寸法が所定の閾値を超える場合には1であり、所定のブロック80の寸法が所定の閾値を超えない場合には1よりも大きくなるように構成される。所定のブロックが特定の寸法を超える場合、デコードランタイム又はエンコードランタイムをさらに強化するために、サブパーティションを更に分割することを控えることが有利である。所定の閾値は、例えば、64×64サンプルのブロック寸法である。言い換えれば、ISPの使用は、所定の閾値を超えない所定のブロック80の寸法に制限される。
【0154】
一実施形態によれば、デコーダ及び/又はエンコーダは、所定のブロック内のサブパーティション102/112の数が、所定のブロックの寸法及び/又は所定の寸法に依存するように構成される。
【0155】
一実施形態によれば、デコーダ及び/又はエンコーダは、所定のブロック80内のサブパーティション102/112の数が、所定のブロック80の寸法が更なる所定の閾値を下回る場合には1であり、所定のブロック80の寸法が更なる所定の閾値を下回らない場合には1より大きくなるように構成される。更なる所定の閾値は、例えば、所定のブロック80が少なくとも16個のサンプルを含むように決定される。更なる所定の閾値は、例えば、4×4サンプル、8×2サンプル、2×8サンプル、1×16又は16×1サンプルよりも大きい所定のブロック80の寸法である。4×4サンプルの場合、
図15又は
図16に示すように、所定のブロック80は、例えば、4つの1×4変換パーティション又は4つの4×1変換パーティションを有する1つのサブパーティションを備える。2×8サンプルの場合、所定のブロック80は、例えば、2つの1×8変換パーティションを有する1つのサブパーティションを備え、8×2サンプルの場合、所定のブロック80は、例えば、2つの8×1変換パーティションを有する1つのサブパーティションを備える。1x16又は16x1サンプルの所定のブロック寸法の場合、ブロック全体は、同時にサブパーティション及び変換パーティションである。所定のブロック80がただ1つのサブパーティションを備える場合、このサブパーティションは、例えば、所定のブロック80全体に等しい。あるいは、
図17及び
図18に示すように、所定のブロック80のより大きい寸法は、2つ以上の変換パーティションを備える2つ以上のサブパーティションをもたらし得る。
【0156】
一実施形態によれば、所定のブロック内のサブパーティションの数は、所定のブロックの寸法が第1の幅及び第1の高さを想定する場合、第1の数に等しく、第2の数は、所定のブロックの寸法が第1の高さに等しい第2の幅、及び第1の幅に等しい第2の高さを想定する場合、第1と異なっているという点で、所定のブロック内のサブパーティションの数が、所定のブロックの寸法に依存するように、デコーダ及び/又はエンコーダは構成される。
図15~
図18に示すように、等しい幅及び高さを有するブロックについて、サブパーティションの数は、同じ幅を有するが異なる高さを有するブロックと比較して異なる。4×4寸法を有する所定のブロック80は、例えば、分割されない、つまり、ブロック全体は、4つの変換パーティションを有する1つのパーティション(つまり、サブパーティション)を表す。逆に、4×8寸法又は8×4寸法を有する所定のブロックは、2つのサブパーティションに分割される。これは、大きいブロックにも適用し得る。例えば、128x128寸法を有する所定のブロック80は分割されないが、128x64寸法を有する所定のブロック80は、垂直に(水平パーティション寸法に沿って)4つのサブパーティションに分割され得る。
【0157】
3 実験結果
一般的なテスト条件[2]によれば、提案した方法は、VTM-4.0.1ソフトウェアを用いて、イントラオンリー(AI)、ランダムアクセス(RA)、及び低遅延b(LDB)構成について評価される。対応するシミュレーションは、Linux(登録商標) OS及びGCC 7.2.1コンパイラを備えたIntel Xeonクラスタ(E5-2697A v4、AVX2オン、ターボブーストオフ)上で実行された。
【0158】
【0159】
【0160】
【0161】
4 追加情報
4.1 4つより小さい幅を有するサブパーティションの使用
サンプルが、通常、ラスタ走査方式で割り当てられ、特定の実施態様が、4×1グループの再構築されたサンプルの出力を書き込むため、4つより小さい幅を有するサブパーティションの使用は、ハードウェアの潜在的な懸念としてJVETリフレクタで言及されている。したがって、例えば、1xN又は2xNのサブパーティションは、問題をもたらす可能性がある。1×Nサブパーティションからの予測は大きな問題ではない、1×Nサブパーティションデータの書き出しは、通常、データがサイクルあたり4つ又は8つのサンプルで水平に書き込まれるため、問題である。これを機能させるには、このデータを記憶するために4×Nの中間バッファ(レジスタ)を保持し、次いで、例えば、4つのサンプルを一度にメモリに書き込む必要がある(例えば、非ブロック化のため)。再構築のための1xN逆変換出力を読み取る場合にも同じ問題が発生する。これは遅延を増やし、二重バッファリングも必要になる可能性がある。このため、以下では、これらのサブパーティションの使用の影響を評価するための追加情報を提供する。
【0162】
4.1.1 4つより小さい幅を有するサブパーティションの除去
この変更は、4×N及び8×Nブロックの垂直分割に以下のように影響する。
・4×N:垂直分割はもはや存在せず、つまり水平パーティション寸法に沿っている。したがって、ISPがこれらのブロックのうちの1つにおいて使用されるときはいつでも、デコーダ又はエンコーダは、水平分割が使用されると推測し、したがって、分割フラグシンタックス要素を解析する必要がない。したがって、例えば、1xN変換パーティションの代わりに、4x1変換パーティションが使用される。
・8×N:垂直分割は、4つではなく2つのサブパーティションを生成する。したがって、所定のブロック80は、例えば、1×N又は2×Nのサブパーティションの代わりに、4×Nのサブパーティションに分割される。
【0163】
この修正されたISPアプローチは、[1]において、2019年1月のマラケシュ会議のCE3でTest 1.1.2として提案されたことに留意されたい。VTM-4.0.1に加えたこのアプローチの結果を、表10、表11及び表12に示す。
【0164】
表10:AI構成について4つより小さい幅を有するサブパーティションを有しない結果
【0165】
表11:RA構成について4つより小さい幅を有するサブパーティションを有しない結果
【0166】
表12:LDB構成について4つより小さい幅を有するサブパーティションを有しない結果
【0167】
4.1.2 4つより小さい幅を有するサブパーティションへの独立したサブパーティションアプローチを用いたISPの拡張
この場合、4つより小さい幅を有するサブパーティションは、ISP構造から除去されない。代わりに、4×4、8×4及び4×8についてセクション2で導入された設計と同じ設計がそれらに適用される。2つの異なる場合を以下のように区別する。
・4×Nブロックの垂直分割は、セクション2.1で説明した4×4の垂直分割と同じ方法で処理される。例えば、4×32ブロックは、1つのパーティション112を形成する4つの独立した1×32変換パーティション300に、垂直に分割され得る。
・8×Nブロックの垂直分割は、セクション2.2で説明した8×4ブロックの垂直分割と同じ方法で処理される。例えば、8×16ブロックは、4つの2×16変換パーティション300に分割され得、ここで、変換パーティション1及び2は、パーティション1121を形成し、変換パーティション3及び4は、パーティション1122を形成し、変換パーティション2及び4は、その対応する予測信号を生成するために、それぞれ変換パーティション1及び3の再構築されたサンプルを使用し得ない。
【0168】
本方法は、すべての垂直分割の場合に、少なくとも4×4サンプルのグループで再構築されたサンプルを書き込むことを可能にする(水平分割の場合、最小値は16×1のままである)。VTM-4.0.1に加えたこのアプローチ(4×4、4×8、8×4の独立した変換パーティション、4×N及び8×Nブロックの垂直分割を使用して)の結果を、表13、表14及び表15に示す。
【0169】
したがって、一実施形態によれば、デコーダは、所定のブロックを、M≧1である16×Mサブブロックに、あるいはN≧4である4×Nサブブロック又はN×4サブブロックに分割するように構成される。このサブブロックは、上述したように、任意選択で、2つ以上の小さい変換パーティションにパーティション化される。
【0170】
表13:AI構成について、4×4、4×8、8×4の独立したサブパーティション、並びに4×N及び8×Nブロックの垂直分割の使用結果
【0171】
表14:RA構成について、4×4、4×8、8×4の独立したサブパーティション、並びに4×N及び8×Nブロックの垂直分割の使用結果
【0172】
表15:LDB構成について、4×4、4×8、8×4の独立したサブパーティション、並びに4×N及び8×Nブロックの垂直分割の使用結果
【0173】
5 結論
報告された結果は、エンコードランタイムにおいて極めてわずかな(AI)又は影響なし(RA及びLDB)を有するCTC及びクラスFにおける利得を示す。
【0174】
提示した追加情報に関して、実験結果は、AIにおけるクラスC及びE、全ての構成におけるクラスFの場合、4つより小さい幅を有するサブパーティションの除去が顕著な損失をもたらすことを示している。更に、この損失は、エンコードランタイムにおいてわずかに減少する。一方、4つより小さい幅を有するサブパーティションを生成するブロックへの新規のISP設計の拡張は、損失を生成せず、エンコードランタイム上で極めて小さい影響を有するクラスFにおいて著しい利得を生成することを考えると、BDレート利得に関してこれらのサブパーティションの完全な除去よりも良好な性能を有する。
【0175】
6 ISPパーティション構造の複雑さの低減態様
既に上述したように、上記の概念の変形形態が存在し、ここでは1つ存在する。上記で概説したように、通常のデコーダハードウェア実装形態において、最上位システムパイプラインに影響を及ぼす最も重要な態様の1つは、処理依存性である。ISPの場合、VVCの最小ルーマブロックが4×4寸法、つまり16個のサンプルを有するので、最小16個のサンプル制約は、イントラ予測に存在するループ内依存性がスループットに関して問題にならないことを保証する。
【0176】
しかしながら、ISPは、VVC設計に新規の極めて狭い形状、つまり1xN、2xN、Mx2及びMx1を導入する。画素が、4×1のグループ内のサンプルにアクセスするラスタ走査方式で内部ライン・バッファ・メモリ内に通常割り当てられることを考えると、1×N及び2×Nのサブパーティションの場合、処理依存性が問題になる可能性がある。このため、このバッファを充填することは、4つ未満の幅を有するすべてのサブパーティションにとって非効率的である。この問題の影響は、異なるハードウェア実装形態(画素の割当て方法の変更又は転置メモリの使用など)によって低減され得るが、それでもやはりハードウェア実装形態の複雑さが増えることを意味する。
【0177】
図19a及び
図19bは、所定のブロック80の異なるブロックサイズについて、異なるサブパーティション112/P及び変換パーティション300/Tの例を示し、左側の例は、従来のパーティションを示し、右側の例は、本明細書に記載の発明による提案したパーティションを示す。
図19aの右側の所定のブロック80のデコード化及び/又はエンコード化は、
図15a~
図15dと同様に又は説明したように実行され得、
図19bの右側の所定のブロック80のデコード化及び/又はエンコード化は、
図17と同様に又は説明したように実行され得る。
【0178】
ハードウェア実装形態の複雑さを低減するために、4つの最小予測幅(変換サイズは変更されないままである)が確立される。これは、以下のように4xM(M>4である)及び8xN(N>4である)ブロックの垂直分割に影響を及ぼす。
・4xM:
図1aに示すように、ブロック全体が非ISPブロックのように一度に予測され、4xM残差信号が計算される。次いで、残差は、独立して処理される4つの1xM(又はM=8の場合、2つの2x8)変換サブパーティションに分割される。
・8xN:
図1bに示すように、ブロックは2つの4xN予測サブパーティションP1及びP2に分割される。P1の予測を計算した後、4xN残差信号が生成され、独立して処理される2つの2xN変換サブパーティションT1及びT2に分割される。そして、同様のプロセスを、P2、T3及びT4についても同様に繰り返す。しかしながら、この場合、予測信号は、P1エリアの再構築されたサンプルを使用し得る。
【0179】
7 参考文献
[1]S.De-Luxan-Hernandez,V.George,J.Ma,T.Nguyen, H.Schwarz,D.Marpe,T.Wiegandらによる「CE3:Intra Sub-Partitions Coding Mode(テスト1.1.1及び1.1.2)」、2019年、モロッコ、マラケシュでのJVET-M0102文書。
[2]F.Bossen,J.Boyce,X.Li,V.Seregin,K.Suhringらによる、「JVET common test conditions and software reference configurations for SDR video」、2019年、モロッコ、マラケシュでのJVET-M1010文書。
【0180】
いくつかの態様を装置の文脈で説明したが、これらの態様は対応する方法の説明も表すことは明らかであり、ブロック又はデバイスは、方法ステップ、又は方法ステップの機能に対応する。同様に、方法ステップの文脈で説明される態様はまた、対応する装置の対応するブロック又は項目又は機能の説明を表す。方法ステップの一部又は全部は、例えば、マイクロプロセッサ、プログラマブルコンピュータ、又は電子回路などのハードウェア装置によって(又は使用して)実行され得る。いくつかの実施形態では、最も重要な方法ステップの1つ又は複数は、そのような装置によって実行されてもよい。
【0181】
本発明のデータストリームは、デジタル記憶媒体に記憶され得、あるいは無線伝送媒体などの伝送媒体、又はインターネットなどの有線伝送媒体上で伝送され得る。
【0182】
特定の実装形態に依存して、本発明の実施形態は、ハードウェア又はソフトウェアで実装され得る。実装形態は、電子的に読み取り可能な制御信号をそこに記憶するデジタル記憶媒体、例えば、フロッピーディスク、DVD、Blu-Ray、CD、ROM、PROM、EPROM、EEPROM又はフラッシュメモリを使用して実行され得、これらは、それぞれの方法が実行されるようにプログラマブル・コンピュータ・システムと協働する(又は協働し得る)。したがって、デジタル記憶媒体はコンピュータ可読であり得る。
【0183】
本発明によるいくつかの実施形態は、本明細書に記載の方法のうちの1つが実行されるように、プログラマブル・コンピュータ・システムと協働し得る電子的に読み取り可能な制御信号を有するデータキャリアを含む。
【0184】
一般に、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実装され得、プログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されるときに、方法のうちの1つを実行するように動作する。プログラムコードは、例えば、機械可読キャリアに記憶され得る。
【0185】
他の実施形態は、機械可読キャリアに記憶された、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを備える。
したがって、言い換えれば、本発明の方法の一実施形態は、コンピュータプログラムがコンピュータ上で実行されるときに、コンピュータプログラムは、本明細書に記載の方法のうちの1つを実行するためのプログラムコードを有する。
【0186】
したがって、本発明の方法の更なる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを記録して備えるデータキャリア(又はデジタル記憶媒体、又はコンピュータ可読媒体)である。データキャリア、デジタル記憶媒体、又は記録された媒体は、通常、有形及び/又は非一時的である。
【0187】
したがって、本発明の方法の更なる実施形態は、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムを表すデータストリーム又は信号のシーケンスである。データストリーム又は信号のシーケンスは、例えば、データ通信接続を介して、例えばインターネットを介して転送されるように構成され得る。
【0188】
更なる実施形態は、本明細書に記載の方法のうちの1つを実行するように構成又は適合された処理手段、例えば、コンピュータ又はプログラマブル論理デバイスを備える。
更なる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムがインストールされたコンピュータを備える。
【0189】
本発明による更なる実施形態は、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムを受信機に、(例えば、電子的又は光学的に)転送するように構成された装置又はシステムを備える。受信機は、例えば、コンピュータ、モバイルデバイス、メモリデバイスなどであってもよい。装置又はシステムは、例えば、コンピュータプログラムを受信機に転送するためのファイルサーバを備えてもよい。
【0190】
いくつかの実施形態では、プログラマブル論理デバイス(例えば、フィールド・プログラマブル・ゲート・アレイ)を使用して、本明細書に記載の方法の機能の一部又は全部を実行してもよい。いくつかの実施形態では、フィールド・プログラマブル・ゲート・アレイは、本明細書に記載の方法のうちの1つを実行するために、マイクロプロセッサと協働してもよい。一般に、方法は、任意のハードウェア装置によって実行されることが好ましい。
【0191】
本明細書に記載の装置は、ハードウェア装置を使用して、又はコンピュータを使用して、又はハードウェア装置とコンピュータとの組合わせを使用して実装されてもよい。
【0192】
本明細書に記載の装置、又は本明細書に記載の装置の任意の構成要素は、少なくとも部分的にハードウェア及び/又はソフトウェアで実装されてもよい。
【0193】
本明細書に記載の方法は、ハードウェア装置を使用して、又はコンピュータを使用して、又はハードウェア装置とコンピュータとの組合わせを使用して実行されてもよい。
【0194】
本明細書に記載の方法、又は本明細書に記載の装置の任意の構成要素は、少なくとも部分的にハードウェア及び/又はソフトウェアによって実行されてもよい。
【0195】
上述の実施形態は、本発明の原理の単なる例示である。本明細書に記載された構成及び詳細の修正形態及び変形形態は、他の当業者には明らかであることが理解される。したがって、本明細書の実施形態の記述及び説明として提示された特定の詳細によってではなく、後述の特許請求の範囲によってのみ限定されることが意図される。