(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-31
(45)【発行日】2024-11-11
(54)【発明の名称】位置依存イントラ予測コンビネーションを用いたピクチャ符号化及び復号の方法及びデバイス
(51)【国際特許分類】
H04N 19/105 20140101AFI20241101BHJP
H04N 19/159 20140101ALI20241101BHJP
H04N 19/176 20140101ALI20241101BHJP
H04N 19/593 20140101ALI20241101BHJP
【FI】
H04N19/105
H04N19/159
H04N19/176
H04N19/593
(21)【出願番号】P 2021574780
(86)(22)【出願日】2020-06-15
(86)【国際出願番号】 EP2020066522
(87)【国際公開番号】W WO2020254264
(87)【国際公開日】2020-12-24
【審査請求日】2023-06-05
(32)【優先日】2019-06-20
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】518341334
【氏名又は名称】インターディジタル・シーイー・パテント・ホールディングス・ソシエテ・パ・アクシオンス・シンプリフィエ
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】ラス,ガガン
(72)【発明者】
【氏名】アーバン,ファブリス
(72)【発明者】
【氏名】ラケイプ,ファビアン
【審査官】山▲崎▼ 雄介
(56)【参考文献】
【文献】Gagan Rath, et.al.,Non-CE3: Simplifications of PDPC for diagonal and adjacent diagonal directions(本願発明者が本願優先日後に発表した本願内容を含む寄書),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 15th Meeting: Gothenburg, SE, 3-12 July 2019,JVET-O0229 v2,2019年06月27日,p1-9
【文献】Benjamin Bross,Versatile Video Coding (Draft 5),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Geneva, CH, 19-27 Mar. 2019,JVET-N1001-v8,2019年06月11日,p149, 150
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
画像のブロックのサンプルの値を決定する方法であって、
前記サンプルの予測値を取得することであって、前記値は、イントラ予測角度を表す値に応じてイントラ予測される、取得することと、
以下のように前記サンプルの前記値を決定することであって、前記イントラ予測角度が、予測モード66に対応する対角線右上から左下方向であり
、
P(x,y) = Ppred(x,y) + ((((Pleft - Ppred(x,y)) << log2(wL)) + 32) >> 6)
式中、Ppred(x,y)が、前記サンプルの前記取得された予測値であり、Pleftが、左基準サンプルの値に基づいて決定され
、wLが、重み付けである、決定することと、
を含む、方法。
【請求項2】
垂直角度方向に関して、前記左基準サンプルが、前記ブロックの左にある列の前記サンプルの値を含む左基準アレイから決定され、前記左基準サンプルが、垂直角度イントラ予測方向を前記ブロックの左にある前記列に拡張し、及び前記左基準アレイから、前記垂直角度イントラ予測方向と前記ブロックの左にある前記列との交点に最も近い前記サンプルを選択することによって決定され
る、請求項1に記載の方法。
【請求項3】
前記左基準サンプルの前記値P
leftが、
P
left = refSide[deltay]によって決定され、refSideが、前記ブロックの左にある列のサンプルの値のアレイであり、deltay = y + (((1+x) * invAngle + 128) >> 8)であり
、
式中、invAngleが、前記予測角度に対応する角度パラメータの逆数である、請求項1に記載の方法。
【請求項4】
前記重み付けが
、
wL = wLmax >> min(31, ((x << 1) >> scale))
に従って決定され、式中、wLmax = 16であり
、
及びscaleが、((log2(W) - 2 + log2(H) -2 + 2) >> 2)に等しい、請求項1~3の何れか一項に記載の方法。
【請求項5】
前記方法が、予測モード66に対応する前記対角線右上から左下方
向に隣接するイントラ予測角度にも適用される、請求項1~4の何れか一項に記載の方法。
【請求項6】
前記方法が、予測モード58~72に含まれる予測モードに対応するイントラ予測角度にも適用される、請求項1~5の何れか一項に記載の方法。
【請求項7】
ブロックビデオを符号化する方法であって、前記ビデオの前記ブロックに関して、
前記ビデオの前記ブロックのサンプルごとに、
前記サンプルのイントラ予測を行うことと、
請求項1~
6の何れか一項に記載の方法による前記サンプルの値を変更することと、
前記ブロックを符号化することと、
を含む、方法。
【請求項8】
ブロックビデオを復号する方法であって、前記ビデオの前記ブロックに関して、
前記ビデオの前記ブロックのサンプルごとに、
前記サンプルのイントラ予測を行うことと、
請求項1~
6の何れか一項に記載の方法による前記サンプルの値を変更することと、
前記ブロックを符号化することと、
を含む、方法。
【請求項9】
ピクチャデータを符号化するエンコーダを含む装置であって、前記エンコーダが、ビデオのブロックに関して、
前記ビデオの前記ブロックのサンプルごとに、
前記サンプルのイントラ予測を行うことと、
請求項1~
6の何れか一項に記載の方法による前記サンプルの値を変更することと、
前記ブロックを符号化することと、
を行うように構成されている、装置。
【請求項10】
ピクチャデータを復号するデコーダを含む装置であって、前記デコーダが、ビデオのブロックに関して、
前記ビデオの前記ブロックのサンプルごとに、
前記サンプルのイントラ予測を行うことと、
請求項1~
6の何れか一項に記載の方法による前記サンプルの値を変更することと、
前記ブロックを符号化することと、
を行うように構成されている、装置。
【請求項11】
プロセッサによって実行されると、請求項1~
8の少なくとも一項に記載の方法のステップを実装するためのプログラムコード命令を含む、一時的ではないコンピュータ可読媒体。
【請求項12】
プロセッサによって実行されると、請求項1~
8の少なくとも一項に記載の方法のステップを実装するためのプログラムコード命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本実施形態の少なくとも1つは、一般に、ビデオコード化システムに関し、特に、位置依存イントラ予測コンビネーション(position dependent intra prediction combination)の後処理段階に関する。
【背景技術】
【0002】
背景技術
高圧縮効率を実現するべく、画像及びビデオのコード化方式は、通常、ビデオコンテンツ内の空間及び時間冗長性を活用するために予測及び変換を用いる。一般には、イントラ又はインターフレーム相関を利用するべく、イントラ又はインター予測が使用され、次いで、しばしば、予測誤差又は予測残差と表記される、オリジナルの画像ブロックと、予測された画像ブロックとの間の差が変換され、量子化され、及びエントロピーコード化される。符号化中に、オリジナルの画像ブロックは、通常、例えば、可能であればクアッドツリーパーティション化を用いて、サブブロックにパーティション化/スプリッティングされる。ビデオを再構築するべく、予測、変換、量子化、及びエントロピーコード化に対応する逆プロセスにより、圧縮されたデータが復号される。
【発明の概要】
【0003】
概要
ビデオコード化システムは、予測サンプルが、左基準サンプル又は上基準サンプルの値、及びサンプルに関する取得された予測値間の重み付けに基づいて変更され、左基準サンプル又は上基準サンプルが、イントラ予測角度に基づいて決定される、位置依存イントラ予測コンビネーションの後処理段階を含む。これにより、同一の圧縮性能を維持しつつ、より良い演算効率が提供される。この後処理段階に基づいた符号化方法、復号方法、符号化装置、及び復号装置が提案される。
【0004】
少なくとも1つの実施形態の第1の態様によれば、画像のブロックのサンプルの値を決定する方法であって、この値がイントラ予測角度を表す値に応じてイントラ予測される、方法が、サンプルの予測値を取得することと、イントラ予測角度が基準にマッチする場合、左基準サンプル又は上基準サンプルの値、及びサンプルの取得された予測値間の重み付けに基づいて、サンプルの値を決定することであって、左基準サンプル又は上基準サンプルが、イントラ予測角度に基づいて決定される、決定することと、を含む。
【0005】
少なくとも1つの実施形態の第2の態様によれば、ビデオ符号化方法は、ビデオのブロックのサンプルごとに、サンプルのイントラ予測を行うことと、第1の態様によるサンプルの値を変更することと、ブロックを符号化することと、を含む。
【0006】
少なくとも1つの実施形態の第3の態様によれば、ビデオ復号方法は、ビデオのブロックのサンプルごとに、サンプルのイントラ予測を行うことと、第1の態様によるサンプルの値を変更することと、を含む。
【0007】
少なくとも1つの実施形態の第4の態様によれば、ビデオ符号化装置は、ビデオのブロックのサンプルごとに、サンプルのイントラ予測を行うことと、第1の態様によるサンプルの値を変更することと、ブロックを符号化することと、を行うように構成されたエンコーダを含む。
【0008】
少なくとも1つの実施形態の第5の態様によれば、ビデオ復号装置は、ビデオのブロックのサンプルごとに、サンプルのイントラ予測を行うことと、第1の態様によるサンプルの値を変更することと、を行うように構成されたデコーダを含む。
【0009】
本実施形態の1つ又は複数は、上記方法の何れか1つの少なくとも一部に従ってビデオデータを符号化又は復号するための命令を保存した、一時的ではないコンピュータ可読ストレージ媒体も提供する。1つ又は複数の実施形態は、上記方法の何れか1つの少なくとも一部を行うための命令を含むコンピュータプログラムプロダクトも提供する。
【図面の簡単な説明】
【0010】
図面の概要
【
図1A】一実施形態によるビデオエンコーダのブロック図を示す。
【
図1B】一実施形態によるビデオデコーダのブロック図を示す。
【
図2】様々な態様及び実施形態が実装されるシステムの一例のブロック図を示す。
【
図3A】角度イントラ予測に関係する表記法を示す。
【
図3B】角度イントラ予測に関係する表記法を示す。
【
図4】左下モード(モード66)に関する位置依存イントラ予測コンビネーションを示す。
【
図6】方向の投影と基準ピクセルのミスマッチが存在するPDPCの角度モードの一例を示す。
【
図7】VTM5.0の実装例による対角線(モード2及びモード66)並びに隣接対角線モードに関するPDPCプロセスのフローチャート例を示す。
【
図8】左基準サンプルに対するターゲットピクセルが利用不能である垂直対角線モード66に関するPDPCの一例を示す。
【
図9】変更PDPCプロセスの第1の実施形態によるフローチャート例を示す。
【
図10】変更PDPCプロセスの第2の実施形態によるフローチャート例を示す。
【
図13】本開示に記載される様々な実施形態によるフローチャート例を示す。
【発明を実施するための形態】
【0011】
詳細な説明
様々な実施形態は、画像のブロックのサンプルの予測値の後処理方法であって、この値が、イントラ予測角度に従って予測され、サンプルの値が、左基準サンプルの値と、サンプルの取得された予測値との間の差の重み付けに基づいて決定されるように、予測後に変更され、左基準サンプルが、イントラ予測角度に基づいて決定される、方法に関する。この後処理方法に基づいた、符号化方法、復号方法、符号化装置、復号装置が提案される。
【0012】
また、本態様は、VVC(多用途ビデオコード化)の特定のドラフト、又はHEVC(High Efficiency Video Coding)仕様に関連する原理を記載するが、VVC又はHEVCに限定されず、例えば、既存のものであるのか、又は将来開発されるものであるのかを問わず、その他の規格及び推奨、並びに任意のそのような規格及び推奨(VVC及びHEVCを含む)の拡張版に適用することができる。そうではない旨が示されていない限り、或いは技術的に排除されていない限り、本出願に記載される態様は、個々に又は組合せで使用することができる。
【0013】
図1Aは、ビデオエンコーダ100を示している。このエンコーダ100の変形が想定されるが、すべての予想される変形を記述することなしに、わかりやすさを目的として、以下、このエンコーダ100について説明する。符号化される前に、ビデオシーケンスは、例えば、(例えば、色成分の1つのもののヒストグラム等化を使用して)圧縮に対してより弾力的な信号分布を得るために、入力カラーピクチャに対する色変換(例えば、RGB4:4:4からYCbCr4:2:0への変換)の適用又は入力されたピクチャコンポーネントのリマッピングの実行などの事前符号化処理(101)を経ることができる。メタデータを前処理と関連付けることが可能であり及びビットストリームに添付することができる。
【0014】
エンコーダ100においては、ピクチャが、後述するように、エンコーダ要素によって符号化されている。符号化対象のピクチャは、パーティション化され(102)、例えば、CUを単位として処理されている。それぞれの単位は、例えば、イントラ又はインターモードを使用して符号化されている。1つの単位がイントラモードにおいて符号化される際には、これは、イントラ予測(160)を実行している。インターモードにおいては、動き推定(175)及び補償(170)が実行されている。エンコーダは、その単位の符号化のために使用するべきイントラ又はインターモードの1つを決定し(105)、例えば、予測モードフラグにより、イントラ/インター決定を通知している。例えば、オリジナル画像ブロックから予測されたブロックを減算する(110)ことにより、予測残差が算出されている。
【0015】
次いで、予測残差が、変換(125)され且つ量子化(130)されている。ビットストリームを出力するべく、量子化された変換係数のみならず、動きベクトル及びその他の構文要素がエントロピーコード化されている(145)。エンコーダは、変換をスキップすることが可能であり、且つ量子化を変換されていない残差信号に対して直接的に適用することができる。エンコーダは、変換及び量子化の両方をバイパスすることが可能であり、即ち、残差が、変換又は量子化プロセスの適用を伴うことなしに、直接的にコード化されている。
【0016】
エンコーダは、更なる予測のための基準を提供するべく符号化されたブロックを復号している。予測残差を復号するべく、量子化された変換係数が逆量子化され(140)且つ逆変換されている(150)。復号された予測残差及び予測されたブロックを組み合わせること(155)により、画像ブロッが再構築されている。例えば、符号化アーチファクトを低減するべく、例えば、デブロッキング/SAO(Sample Adaptive Offset)、アダプティブループフィルタ(ALF)フィルタリングを実行するべく、インループフィルタ(165)が、再構築済みのピクチャに適用されている。フィルタリング済みの画像は、基準ピクチャバッファ(180)内において保存されている。
【0017】
図1Bは、ビデオデコーダ200のブロック図を示している。デコーダ200において、ビットストリームは、後述するように、デコーダ要素によって復号されている。ビデオデコーダ200は、一般に、
図18において記述されているように、符号化パスとは逆である復号パスを実行している。また、エンコーダ100は、一般に、ビデオデータの符号化の一部としてビデオ復号を実行している。具体的には、デコーダの入力は、ビデオエンコーダ100によって生成されうるビデオビットストリームを含む。ビットストリームは、まず、変換係数、動きベクトル、及びその他のコード化済みの情報を得るべく、エントロピー復号されている(230)。ピクチャパーティション情報は、ピクチャがパーティション化される方式を示している。従って、デコーダは、復号済みのピクチャパーティション化情報に従ってピクチャを分割している(235)。予測残差を復号するべく、変換係数が逆量子化され(240)且つ逆変換されている(250)。復号済みの予測残差及び予測されたブロックを組み合わせることにより(255)、画像ブロックが再構築されている。予測されたブロックは、イントラ予測(260)又は動き補償された予測(即ち、インター予測)(275)から取得することができる(270)。インループフィルタ(265)が再構築済みの画像に適用されている。フィルタリング済みの画像は、基準ピクチャバッファ(280)において保存されている。
【0018】
復号済みのピクチャは、例えば、逆色変換(例えば、YCbCr4:2:0からRGB4:4:4への変換)又は事前符号化処理(101)において実行されたリマッピングプロセスの逆を実行する逆リマッピングなどの事後復号処理(285)を更に経ることができる。事後復号処理は、事前符号化処理において導出された及びビットストリーム内においてシグナリングされたメタデータを使用することができる。
【0019】
図2は、様々な態様及び実施形態が実装されるシステムの一例のブロック図を示している。システム1000は、後述する様々なコンポーネントを含む装置として実施することが可能であり、本明細書において記述されている態様の1つ又は複数を実行するように構成されている。このような装置の例は、限定を伴うことなしに、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受像機、パーソナルビデオレコーディングシステム、接続されたホームアプライアンス、及びサーバーなどの様々な電子装置を含む。システム1000の要素は、単独で又は組合せにおいて、単一集積回路(IC)、複数のIC、及び/又は個別コンポーネントにおいて実施することができる。例えば、少なくとも1つの実施形態において、システム1000の処理及びエンコーダ/デコーダ要素は、複数のIC及び/又は個別コンポーネントに跨って分散されている。様々な実施形態において、システム1000は、例えば、通信バスを介して或いは専用の入力及び/又は出力ポートを通じて1つ又は複数のその他のシステム又はその他の電子装置に通信自在に結合されている。様々な実施形態において、システム1000は、本明細書において記述されている態様の1つ又は複数を実装するように構成されている。
【0020】
システム1000は、例えば、本明細書において記述されている様々な態様を実装するべくその内部において読み込まれた命令を実行するように構成された少なくとも1つのプロセッサ1010を含む。プロセッサ1010は、当技術分野において既知の埋め込み型のメモリ、入出力インターフェイス、及び様々なその他の回路を含みうる。システム1000は、少なくとも1つのメモリ1020(例えば、揮発性メモリ装置及び/又は不揮発性メモリ装置)を含む。システム1000は、ストレージ装置1040を含み、これは、限定を伴うことなしに、電気的に消去可能なプログラム可能な読み出し専用メモリ(EEPROM)、読み出し専用メモリ(ROM)、プログラム可能な読み出し専用メモリ(PROM)、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュ、磁気ディスクドライブ、及び/又は光ディスクドライブを含む不揮発性メモリ及び/又は揮発性メモリを含みうる。ストレージ装置1040は、非限定的な例として、内部ストレージ装置、装着されたストレージ装置(着脱自在及び非着脱自在のストレージ装置を含む)、及び/又はネットワークアクセス可能ストレージ装置を含みうる。
【0021】
システム1000は、例えば、符号化済みのビデオ又は復号済みのビデオを提供するべくデータを処理するように構成されたエンコーダ/デコーダモジュール1030を含み、エンコーダ/デコーダ1030は、その独自のプロセッサ及びメモリを含みうる。エンコーダ/デコーダ1030は、符号化及び/又は復号機能を実行するべく装置内において含まれうる1つ又は複数のモジュールを表している。既知のように、装置は、符号化及び復号モジュールの1つ又は両方を含みうる。これに加えて、エンコーダ/デコーダモジュール1030は、システム1000の別個の要素として実装することも可能であり、或いは、当業者に既知であるようにハードウェア及びソフトウェアの組合せとしてプロセッサ1010内において内蔵することもできる。
【0022】
本明細書において記述されている様々な態様を実行するべくプロセッサ1010又はエンコーダ/デコーダ1030上に読み込まれるプログラムコードは、ストレージ装置1040内において保存することが可能であり、プロセッサ1010による実行のためにメモリ1020上に後から読み込むことができる。様々な実施形態によれば、プロセッサ1010、メモリ1020、ストレージ装置1040、及びエンコーダ/デコーダモジュール1030の1つ又は複数は、本明細書において記述されているプロセスの稼働の際に様々な項目の1つ又は複数を保存することができる。このような保存された項目は、限定を伴うことなしに、入力ビデオ、復号済みのビデオ又は復号済みのビデオの一部分、ビットストリーム、行列、変数、及び式、定式、動作、及び動作ロジックの処理から結果的に得られる中間又は最終的結果を含みうる。
【0023】
いくつかの実施形態において、プロセッサ1010及び/又はエンコーダ/デコーダモジュール1030の内側のメモリは、命令を保存するべく且つ符号化又は復号において必要とされる処理用のワーキングメモリを提供するべく使用されている。但し、その他の実施形態においては、処理装置(例えば、処理装置は、プロセッサ1010又はエンコーダ/デコーダモジュール1030でありうる)の外部のメモリが、これらの機能の1つ又は複数のために使用されている。外部メモリは、例えば、ダイナミック揮発性メモリ及び/又は不揮発性フラッシュメモリなどのメモリ1020及び/又はストレージ装置1040であってよい。いくつかの実施形態において、外部不揮発性フラッシュメモリは、例えば、テレビのオペレーティングシステムを保存するべく使用されている。少なくとも1つの実施形態において、RAMなどの高速外部ダイナミック揮発性メモリは、MPEG-2(MPEGは、Moving Picture Experts Groupを意味し、MPEG-2は、また、ISO/IEC13818とも呼称され、また、13818-1は、H.222とも呼称され、13818-2は、また、H.262とも呼称されている)、HEVC(HEVCは、High Efficiency Video Codingを意味し、また、H.265及びMPEG-H Part2とも呼称されている)、或いは、VVC(多用途ビデオコード化であり、新しい規格がJoint Video Experts Team(JVET)によって開発中である)などのビデオコード化及び復号動作のためのワーキングメモリとして使用されている。
【0024】
システム1000の要素に対する入力は、ブロック1130において示されている様々な入力装置を通じて提供することができる。このような入力装置は、限定を伴うことなしに、(i)例えば、ブロードキャスタによって無線で送信されたRF信号を受け取る高周波(RF)部分、(ii)コンポーネント(COMP)入力端末(或いは、COMP入力端末の組)、(iii)ユニバーサルシリアルバス(USB)入力端末、及び/又は(iv)高精細マルチメディアインターフェイス(HDMI)入力端末を含む。
図18に示されていないその他の例は、コンポジットビデオを含む。
【0025】
様々な実施形態において、ブロック1130の入力装置は、当技術分野において既知である関連する個々の入力処理要素を有する。例えば、RF部分は、(i)望ましい周波数を選択すること(また、信号を選択すること、或いは、信号を周波数の帯域に帯域制限すること)、(ii)選択された信号をダウンコンバージョンすること、(iii)(例えば)特定の実施形態においてチャネルと呼称されうる信号周波数帯域を選択するべく、再度周波数の狭い帯域に帯域制限すること、(iv)ダウンコンバージョンされた及び帯域限定された信号を復調すること、(v)エラー補正を実行すること、並びに、(vi)データパケットの望ましいストリームを選択するべく逆多重化することに適した要素と関連付けることができる。様々な実施形態のRF部分は、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、エラー補正器、及びデマルチプレクサなどの、これらの機能を実行するための1つ又は複数の要素を含む。RF部分は、例えば、受け取られた信号を相対的に低い周波数(例えば、中間周波数又はベースバンドに近い周波数)に又はベースバンドにダウンコンバージョンすることを含むこれらの機能の様々なものを実行するチューナを含みうる。1つのセットトップボックス実施形態において、RF部分及びその関連する入力処理要素は、有線(例えば、ケーブル)媒体上において送信されるRF信号を受け取り、再度、望ましい周波数帯域にフィルタリング、ダウンコンバージョン、及びフィルタリングすることにより、周波数選択を実行している。様々な実施形態は、上述の(並びに、その他の)要素を再構成し、これらの要素のいくつかを除去し、及び/又は類似の又は異なる機能を実行するその他の要素を追加している。要素の追加は、例えば、増幅器及びアナログ-デジタルコンバータの挿入などの要素を既存の要素の間において挿入することを含みうる。様々な実施形態において、RF部分は、アンテナを含む。
【0026】
これに加えて、USB及び/又はHDMI端子は、USB及び/又はHDMI接続に跨ってシステム1000をその他の電子装置に接続するための個々のインターフェイスプロセッサを含みうる。例えば、例えば、必要に応じて、別個の入力処理IC内において又はプロセッサ1010内において、リード・ソロモンエラー補正などの入力処理の様々な態様を実装しうることを理解されたい。同様に、必要に応じて、別個のインターフェイスIC内において又はプロセッサ1010内においてUSB又はHDMIインターフェイス処理の態様を実装することもできる。復調された、エラー補正された、及び逆多重化されたストリームは、例えば、出力装置上における提示のために必要に応じてデータストリームを処理するべくメモリ及びストレージ要素との組合せにおいて稼働しているプロセッサ1010及びエンコーダ/デコーダ1030を含む様々な処理要素に提供されている。
【0027】
システム1000の様々な要素は、統合されたハウジング内において提供することができる。統合されたハウジング内において、様々な要素は、相互接続することが可能であり例えば、インターIC(I2C)バス、配線、及び印刷回路基板を含む当技術分野において既知の内部バスなどの適切な接続構成1140を使用してその間においてデータを送信することができる。
【0028】
システム1000は、通信チャネル1060を介したその他の装置との間の通信を可能にする通信インターフェイス1050を含む。通信インターフェイス1050は、限定を伴うことなしに、通信チャネル1060上においてデータを送信し且つ受け取るように構成されたトランシーバを含みうる。通信インターフェイス1050は、限定を伴うことなしに、モデム又はネットワークカードを含むことが可能であり、通信チャネル1060は、例えば、有線及び/又は無線媒体内において実装することができる。
【0029】
データは、様々な実施形態において、例えば、IEEE802.11(IEEEは、Institute of Electrical and Electronics Engineersを意味している)などのWi-Fiネットワークなどの無線ネットワークを使用してシステム1000にストリーミングされているか又はその他の方法で提供されている。これらの実施形態のWi-Fi信号は、Wi-Fi通信用に適合された通信チャネル1060及び通信インターフェイス1050上において受け取られている。これらの実施形態の通信チャネル1060は、通常、ストリーミングアプリケーション及びその他のオーバーザトップ通信を許容するインターネットを含む外部ネットワークに対するアクセスを提供するアクセスポイント又はルーターに接続されている。その他の実施形態は、入力ブロック1130のHDMI接続上においてデータを供給するセットトップボックスを使用することにより、ストリーミングされたデータをシステム1000に提供している。更にその他の実施形態は、入力されたブロック1130のRF接続を使用することにより、ストリーミングされたデータをシステム1000に提供している。上述のように、様々な実施形態は、非ストリーミング方式により、データを提供している。これに加えて、様々な実施形態は、例えば、セルラーネットワーク又はBluetoothネットワークなどの、Wi-Fi以外の無線ネットワークをも使用している。
【0030】
システム1000は、ディスプレイ1100、スピーカ1110、及びその他の周辺装置1120を含む様々な出力装置に出力信号を提供することができる。様々な実施形態のディスプレイ1100は、例えば、タッチスクリーンディスプレイ、有機発光ダイオード(OLED)ディスプレイ、湾曲したディスプレイ、及び/又は折り畳み可能なディスプレイの1つ又は複数を含む。ディスプレイ1100は、テレビ、タブレット、ラップトップ、セル電話機(携帯電話機)、又はその他の装置用であってよい。また、ディスプレイ1100は、(例えば、スマートフォンにおけるように)その他のコンポーネントと統合することも可能であり、或いは、別個であってもよい(例えば、ラップトップ用の外部モニタ)。その他の周辺装置1120は、実施形態の様々な例において、スタンドアロンデジタルビデオディスク(又は、デジタルバーサタイルディスク)(両方の用語について、DVR)、ディスクプレーヤー、ステレオシステム、及び/又は照明システムの1つ又は複数を含む。様々な実施形態は、システム1000の出力に基づいて機能を提供する1つ又は複数の周辺装置1120を使用している。例えば、ディスクプレーヤーは、システム1000の出力を再生する機能を実行している。
【0031】
様々な実施形態において、制御信号は、ユーザー介入を伴って又は伴うことなしに装置間制御を可能にするAV.Link、消費者電子回路制御(CEC)、又はその他の通信プロトコルなどのシグナリングを使用することにより、システム1000とディスプレイ1100、スピーカ1110、又はその他の周辺装置1120の間において伝達されている。出力装置は、個々のインターフェイス1070、1080、及び1090を通じて専用の接続を介してシステム1000に通信自在に結合することができる。或いは、この代わりに、出力装置は、通信インターフェイス1050を介して通信チャネル1060を使用してシステム1000に接続することもできる。ディスプレイ1100及びスピーカ1110は、例えば、テレビなどの電子装置内において、システム1000のその他のコンポーネントと単一ユニット内において統合することができる。様々な実施形態において、ディスプレイインターフェイス1070は、例えば、タイミングコントローラ(T Con)チップなどのディスプレイドライバを含む。
【0032】
ディスプレイ1100及びスピーカ1110は、この代わりに、例えば、入力1130のRF部分が別個のセットトップボックスの一部分である場合には、その他のコンポーネントの1つ又は複数とは別個のものであってよい。ディスプレイ1100及びスピーカ1110が外部コンポーネントである様々な実施形態において、出力信号は、例えば、HDMIポート、USBポート、又はCOMP出力を含む専用の出力接続を介して提供することができる。
【0033】
実施形態は、プロセッサ1010により、又はハードウェアにより、又はハードウェア及びソフトウェアの組合せにより、実装されたコンピュータソフトウェアによって実行することができる。非限定的な例として、実施形態は、1つ又は複数の統合された回路によって実装することができる。メモリ1020は、技術的環境に適する任意のタイプであることが可能であり、非限定的な例として、光メモリ装置、磁気メモリ装置、半導体に基づいたメモリ装置、固定されたメモリ、及び着脱自在のメモリなどの任意の適切なデータストレージ技術を使用して実装することができる。プロセッサ1010は、技術的環境に適した任意のタイプであることが可能であり、非限定的な例として、マイクロプロセッサ、汎用コンピュータ、特殊目的コンピュータ、及びマルチコアアーキテクチャに基づいたプロセッサの1つ又は複数を包含しうる。
【0034】
多用途ビデオコード化(VVC)では、イントラ予測は、全イントラフレームにおいて、及びインターフレームのイントラブロックにおいて適用され、コード化ユニット(CU)と呼ばれるターゲットブロックが、同じフレーム内の因果的近傍ブロック(causal neighbor block)、すなわち、上及び右上のブロック、左及び左下のブロック、並びに左上のブロックから空間的に予測される。これらのブロックの復号済みのピクセル値に基づいて、エンコーダは、ターゲットブロックの異なる複数の予測を構築し、及び最良のレート歪み(RD)性能をもたらすものを選択している。これらの予測は、(モード0とインデックス付けされる)1つのPLANARモード、(モード1とインデックス付けされる)1つのDCモード、及び65個の角度モードを含む、67個の予測モードに関して試験されている。角度モードは、モード2~モード66の通常角度予測モードのみを含んでもよく、又は矩形ブロックの場合、45度~-135度の通常角度範囲を超えて定義される広角度モードも含んでもよい。
【0035】
予測モードに応じて、予測されたサンプルは、位置依存イントラ予測コンビネーション(PDPC)などの後処理段階を更に受けうる。PDPCは、ターゲットブロックの予測を向上させるために、特定の予測モードに関して、ブロック境界における不連続性をスムージングすることを狙いとしている。DC及びPLANAR予測モード、並びに完全垂直(strictly vertical)(モード50)、完全水平(strictly horizontal)(モード18)、対角線モード2、及びVDIA_IDX(モード66)などのいくつかの角度予測モード、並びに他のすべての正の角度モード(広角度モードを含む)は、ターゲットブロックの一辺において、隣接基準アレイ上の基準サンプルとはかなり異なる予測値をもたらしうる。どのような種類のポストフィルタリングも使用しなければ、後続の残差信号は、特に、より高いQP値において、ブロッキングアーチファクトを引き起こすだろう。PDPCの目的は、ターゲットブロック境界における強度変化が多少緩やかとなるように、ターゲットブロック境界における予測をグレースフルなやり方でスムージングすることによって、これらのブロッキングアーチファクトを防止することである。しかしながら、PDPCは、これをかなりの複雑さで達成する。予測されたサンプルは、乗算及びクリッピングを伴う加重平均として、上基準アレイ及び左基準アレイからの基準サンプルと組み合わせられる。
【0036】
イントラ予測される所与のターゲットブロックに関して、エンコーダ又はデコーダは、まず、2つの基準アレイ(一方は、上にあり、他方は、左にある)を構築する。基準サンプルは、上、右上、左、左下、及び左上の復号済みのブロックの復号済みのサンプルから採取されたものである。上又は左にあるサンプルのいくつかが、対応するCUが同一のスライス内に存在しないこと、又は現CUがフレーム境界上に位置することなどによって、利用不能である場合には、基準サンプル置換と呼ばれる方法が行われ、この方法では、消失サンプルが、時計回りの方向に利用可能なサンプルから複写される。次いで、現CUサイズ及び予測モードに応じて、指定のフィルタを使用して、基準サンプルがフィルタリングされる。
【0037】
一般性を目的として、幅W個のピクセル及び高さH個のピクセルを有する矩形ターゲットブロックを仮定する。上及び左にある基準アレイをそれぞれrefMain及びrefSideで表す。アレイrefMainは、2*W+1個のピクセルを有し、これらは、refMain[0]~refMain[2W]とインデックス付けされ、refMain[0]は、左上基準ピクセルに対応する。同様に、アレイrefSideは、2*H+1個のピクセルを有し、これらは、refSide[0]~refSide[2H]とインデックス付けされ、refSide[0]は、この場合もやはり、左上基準ピクセルに対応する。各辺がN個のピクセルを有する正方形ブロックの特殊ケースの場合、両基準アレイは、2N+1個のピクセルを有する。水平予測モード(すなわち、対角線モードDIA_IDX又はモード34未満のインデックスを有するモード)は、上基準アレイ及び左基準アレイ(ターゲットブロックの高さ及び幅も)を交換することによって実施することができる。これは、完全垂直(水平)方向に関する垂直(水平)モードの対称性のおかげで可能である。本明細書全体を通して、水平予測モードに関して、refMain及びrefSideが、交換された後の上基準アレイ及び左基準アレイを表記すると仮定する。更に、PDPCは、いくつかの正の垂直方向及び正の水平方向(PLANAR及びDCモード、並びに完全垂直モード及び完全水平モードの角度のないケースを除く)にのみ適用されるため、本開示において、議論を正の予測方向にのみ限定する。
【0038】
任意のターゲットピクセルに関して、refMain上の基準サンプルが、それの予測子と呼ばれる。所与の角度予測モードに関して、refMain上の予測子サンプルが、ターゲットPU内の対応する方向に沿って複写される。いくつかの予測子サンプルは、整数場所を有してもよく、その場合、それらは、対応する基準サンプルとマッチし、他の予測子の場所は、それらの場所が2つの基準サンプル間にあることを示す小数部分を有する。後者の場合、予測子サンプルは、ルマコンポーネントに対して、4タップキュービック又は4タップガウスフィルタを使用して補間され、クロマコンポーネントに対して、線形に補間される。
【0039】
モード2は、左下から右上に向けて45度の角度の予測方向に対応し、モード66(モードVDIA_IDXとも呼ばれる)は、反対方向に対応する。これらのモードの両方に関して、現ブロックのすべてのターゲットピクセルが、refMain上の整数位置に予測子を有する。すなわち、各予測サンプルは、45度の角度のおかげで、常に固有の基準サンプルと一致する。ターゲットピクセルごとに、PDPCは、予測方向に沿って、2つの基準ピクセル(各基準アレイ上に1つずつ)を見つけ出し、次いで、それらの値を予測値と組み合わせる。
【0040】
図3A及び
図3Bは、角度イントラ予測に関係する表記法を示す。
図3Aは、モードの番号付与を示し、
図3Bは、対応するintraPredAngle値を示す。
【0041】
図4は、左下モード(モード66)に関する位置依存イントラ予測コンビネーションを示す。上基準サンプル及び左基準サンプルが、対角線上反対方向に位置する。左基準サンプルが利用不能なターゲットピクセルは、PDPCでは扱われない。それは、モード66の2つの基準ピクセルを示している。ターゲットブロックの高さ及び幅と共に、上基準及び左基準が交換されたと仮定して、同じ図をモード2に関して得ることができる。
【0042】
まず、モード66に関して、ターゲットピクセルPが、座標(x,y)を有し、ここでは、0≦x<W、及び0≦y<Hであると仮定する。PDPCは、予測方向を拡張することによって、refMain及びrefSide上の基準ピクセルを見つけ出す。Ptop及びPleftが、ターゲットピクセルPに対応する上基準ピクセル及び左基準ピクセルの値を表記するとする。その場合:
Ptop=refMain[c+1];
Pleft=refSide[c+1];
式中、c=1+x+yである。Ppred(x,y)が予測値を表記する場合、ピクセルPにおける最終予測値は、
P(x,y)=Clip(((64-wT-wL)*Ppred(x,y)+wT*Ptop+wL*Pleft+32)>>6), (1)
として取得され、式中、重みwT及びwLは、以下のように演算され:
wT=16>>min(31,((y<<1)>>scale))
wL=16>>min(31,((x<<1)>>scale))
scaleは、
scale=((log2(W)-2+log2(H)-2+2)>>2)
として予め算出される。
【0043】
あるターゲットピクセルに関して、refSide上の第2の基準サンプルが、それの長さを超えて位置する場合、このピクセルは、利用不能と見なされる。この場合、このターゲットピクセルは、上記の変更を受けず、ピクセルの第1の予測値は、変化しないままである。
図3は、PDPCを受けないターゲットブロックの右下の灰色のピクセルを示す。
【0044】
モード2に関して、上基準アレイ及び左基準アレイがターゲットブロックの高さ及び幅と共に交換されると、PDPCプロセスは、モード66の場合と全く同じである。
【0045】
図5Aは、モード66に隣接した角度モードを示し、
図5Bは、モード2に隣接した角度モードを示す。実際には、モード2及びモード66に隣接した角度モードもPDPCから恩恵を受けうる。具体的には、PDPCについて、モード2及びモード66のそれぞれに隣接した8つの通常モードが考慮される。更に、PDPCについて、すべての広角度モードも考慮される。従って、
図4に示すように、W=2*Hの例示用のフラットな矩形ブロックの場合、モード58~65及び広角度モード67~72がPDPCを受ける。同様に、
図5に示す、H=2*Wの例示用の背の高い矩形ブロックの場合、モード3~10及び広角度モード-1~-6がPDPCを受ける。あるターゲットブロックに関して、適用可能な広角度モードの数は、そのアスペクト比、すなわち、高さに対する幅の比率の関数である。いくつかの実装では、ターゲットブロックの形状にかかわらず、PDPCについて、すべての有効な広角度モードが考慮されうる。これは、必要とされる基準ピクセルが利用可能であるため、最も端の角度モード72及び角度モード-6がそれぞれ有効な
図4及び
図5に示される状況に該当する。W=2H又はH=2Wの矩形ブロックの場合、広角度モードの数は6である。
【0046】
図6は、方向の投影と基準ピクセルのミスマッチが存在するPDPCの角度モードの一例を示す。実際には、モード68のこの例では、左基準ピクセルは、整数サンプル場所と一致せず、そのため、最も近い基準ピクセルが選択される必要がある。より正確には、交点の最近傍が、左基準ピクセルとして選択される。
【0047】
VVCでは、基準ピクセルのインデックスは、以下のように演算される。
Δ
xが、ターゲットピクセル位置からの第1の基準サンプルの水平方向変位を表記するとする:
【数1】
、式中、Aは、以下の表1に示す通り、VVCによって指定される予測モードインデックスに応じた角度パラメータintraPredAngleである。正の予測方向は、正のA値を有し、負の予測方向は、負のA値を有する。Δ
xは、小数部分を有しうる。
【0048】
表1は、垂直方向に関するVVCの角度パラメータAに対する例示用のモードインデックスのマッピングを示す。水平方向に関するマッピングは、垂直インデックス及び水平インデックスを交換することによって推測することができる。
【0049】
【0050】
左基準ピクセルを導出するために、類似のプロセスが適用される。invAngleが、PDPCについて考慮される予測モードに対応する逆角度パラメータを表記するとする。invAngle値は、モードパラメータに依存し、intraPredAngleから推測することができる。表2は、垂直方向に関するVVCの逆角度パラメータに対する例示用のモードインデックスのマッピング例を示す。水平方向に関するマッピングは、垂直インデックス及び水平インデックスを交換することによって推測することができる。
【0051】
【0052】
Pleftが座標(x,y)のターゲットピクセルPに対応する左基準ピクセルの値を表記するとする。Pleftは、以下のように取得される。
deltaPos = ((1+x)invAngle + 2) >> 2;
deltaInt = deltaPos >> 6;
deltaFrac = deltaPos & 63;
deltay = 1 + y + deltaInt;
Pleft = refSide[deltay + (deltaFrac >> 5)]
【0053】
上記では、deltaPosは、(1/64)の分解能における基準ピクセルrefSide[1+y]からのPleftの距離を表す。deltaIntは、1の分解能におけるdeltaPosの整数部分であり、deltaFracは、分解能(1/64)における残りの小数部分を表す(換言すれば、deltaPos = (deltaInt << 6) + deltaFrac)。deltaFracが32未満であれば、Pleftは、より小さい整数近傍refSide[deltay]であり、deltaFracが32以上であれば、Pleftは、より大きい整数近傍refSide[deltay+1]である。
【0054】
Ppred(x,y)が、初期予測値を表記する場合、ピクセルPにおける最終予測値は、
P(x,y)=Clip(((64-wL)*Ppred(x,y)+wL*Pleft+32)>>6) (2)
として取得され、式中、重みwLは、wL=32>>min(31,((x<<1)>>scale))として演算され、scaleは、scale = ((log2(W) - 2 + log2(H) - 2 + 2) >> 2)として予め算出される。
【0055】
あるターゲットピクセルに関して、refSide上の左基準サンプルが、それの長さを超えて位置する場合、そのピクセルは、利用不能と見なされる。この場合、このターゲットピクセルは、上記の変更を受けず、ピクセルの第1の予測値は、変化しないままである。つまり、この場合、PDPC後処理が適用されない。
【0056】
PDPCを受ける、モード2付近の水平予測モードの場合、上基準アレイ及び左基準アレイがターゲットブロックの高さ及び幅と共に交換されると、プロセスは類似している。
【0057】
ここで、wLが、xの非負減少関数であることに留意されたい。x=xnの場合にwL=0であれば、x>xnの場合にwL=0である。式(2)から、wL=0であれば、左基準ピクセルは、加重和に影響を与えないことを確認した。この場合、考慮されるターゲットピクセルに対してPDPC動作の必要がない。wLの上記の特性により、ブロックの同じ行上の残りのターゲットピクセルに対してもPDPCを適用する必要がない。従って、現PDPCツールは、wLが0になると直ぐに、行におけるPDPC動作を終了させる。
【0058】
図7は、VTM5.0の実装例による対角線(モード2及びモード66)並びに隣接対角線モードに関するPDPCプロセスのフローチャート例を示す。このフローグラフは、PLANAR、DC、完全垂直、及び完全水平のイントラ予測モードに関するPDPCを含まない。VTM5.0は、モードが水平であるときに(すなわち、モードインデックス<34である(ただし、0又は1に等しくない)ときに)、基準アレイrefMain及びrefSideを交換するため、モードインデックスが2又はその隣接モードの何れかに等しいときに、refMainは、左の基準アレイを表し、refSideは、現CUの上にある基準アレイを表す。従って、これらの場合、パラメータwL、wT、P
left、P
topなどは、実際に、パラメータwT、wL、P
top、P
leftなどにそれぞれ対応する。このプロセスは、複数の試験(ステップ710、730)、並びに演算(ステップ743及び753)のそれぞれにおいて必要とされる複数の乗算を含む。このプロセスでは、まず、intraPredAngleが12以上でない場合、ステップ710の「no」分岐において、イントラ予測が終了され、PDPC後処理が適用されない。intraPredAngleが32に等しい場合、ステップ730の「yes」分岐において、ステップ741でwT及びwLが演算され、ステップ742でP
top及びP
leftが取得され、その後、ステップ743でPDPC後処理が適用される。ステップ744ですべての行が処理されるまで、次のピクセルに対してこのプロセスが反復適用される。intraPredAngleが32に等しくない場合、ステップ730の「no」分岐において、ステップ751でwLが演算され、ステップ752でP
leftが取得され、その後、ステップ753でPDPC後処理が適用される。ステップ754ですべての行が処理されるまで、次のピクセルに対してこのプロセスが反復適用される。
【0059】
以下に記載する実施形態は、上記を念頭において設計されたものである。
【0060】
図1Aのエンコーダ100、
図1Bのデコーダ200、及び
図2のシステム1000は、下記の実施形態の少なくとも1つを実装するように適合する。
【0061】
少なくとも1つの実施形態では、ビデオコード化又は復号は、同一の圧縮性能を維持しつつ、より良い演算効率を提供するために演算が単純化される、位置依存イントラ予測コンビネーションの後処理段階を含む。
【0062】
第1の単純化
図3を参照すると、任意のターゲットピクセルの予測値が、そのピクセルの上基準ピクセルに等しい。すなわち、P
predがP
topに等しい。P
topの値を式(1)に代入することによって、
P(x,y)=Clip(((64-wT-wL)
*P
pred(x,y)+wT*P
predx,y)+wL*P
left+32)>>6)
が得られる。
【0063】
項wT*Ppred(x,y)を消去すると、上記表現は、
P(x,y)=Clip(((64-wL)*Ppred(x,y)+wL*Pleft+32)>>6) (3)
に単純化され、式中、wL = 16 >> min(31,((x << 1) >> scale));である。
【0064】
この表現は、重みwLの値を除き、式(2)と同一である。理解されるように、wTも項Ptopも(結果的に、項wT*Ptopを)演算する必要がない。この単純化により、モード2及びモード66に関するPDPCのケースを他の角度モードに関するPDPCのケースと統合することが可能である。この場合:
wL = wLmax >> min(31,((x << 1) >> scale));
wLmax = 16 if predMode = 2 or predMode = 66;
= 32, otherwise
である。
【0065】
角度パラメータintraPredAngleが32に等しい場合に限り、predModeが2又は66に等しいため、wLに関する上記表現は、
wL = wLmax >> min(31,((x << 1) >> scale));
wLmax = 16 if intraPredAngle = 32;
= 32, otherwise
と言い換えることができる。
【0066】
2つのケースが統合された場合でも、モード2又はモード66に関する左基準サンプルの位置が変化しないことにも留意されたい。
【数2】
であるため、モード2及びモード66に関するinvAngleの値は、256に等しくなりうる。この値を使用して、
deltaPos = ((1 + x)*256 + 2) >> 2 = (1 + x)*64;
deltaInt = deltaPos >> 6 = (1 + x);
deltaFrac = deltaPos & 63 = 0;
deltay = 1 + y + deltaInt = 1 + y + 1 + x;
P
left = refSide[1 + y + 1 + x] = refSide[c + 1] where c = 1 + x + y;
が得られる。
【0067】
理解されるように、これは、前の通り、モード2及びモード66の場合に演算されたのと同じ値である。従って、上記の統合は、従来の実装と同一の結果をもたらすが、必要な行われるべき動作の数が少なく、その結果、演算要件に関してより効率的な式に基づいている。
【0068】
実際のところ、項deltaFracは、実際には何の役にも立たない。初期のPDPC提案では、左基準サンプルの位置がdeltaFracの値に基づいて線形補間されたため、deltaFracが含められた。更なる提案では、線形補間は、最近傍に取って代わられた。しかしながら、このために、次の実施形態で示すように、deltaFrac項の演算は、かなり冗長である。
【0069】
第2の単純化
上記で演算したように、deltay項は、間に左基準サンプルが占有しうる隣接整数ペアのより小さい値をもたらす。deltaFracの値は、deltaFrac<32であるか、或いはdeltaFrac≧32であるかに応じて、それぞれrefSide[deltay]又はrefSide[deltay+1]に左基準ピクセルをマッピングすることを決める。このプロセスは、左基準ピクセルの利用可能性のチェックに影響を及ぼす。先述の通り、PDPCは、左基準ピクセルが左基準アレイの長さを超えて位置するターゲットピクセルには適用されない。この場合、左基準ピクセルは利用不能であると見なされ、初期予測値は、変更されない。
【0070】
図8は、左基準サンプルに対するターゲットピクセルが利用不能である垂直対角線モード66に関するPDPCの一例を示す。
【0071】
第1のサンプルがインデックス0(refSide[0])にあり、最後のサンプルがインデックス2H(refSide[2H])にある、左基準アレイrefSideの長さが2H+1であることを思い起こして、PDPCを使用して、deltayは、左サンプルが利用不能かどうかを決めるために、deltay>(2*H-1)であるかどうかがチェックされる。この定式化により、(deltaFracがヌルでない場合に)左ピクセルが補間されることが可能となる。補間のために、refSide[deltay]及びrefSide[deltay+1]のペアが必要とされる。ここで、補間の代わりに最近傍が使用されるため、ツールは、deltaFracの値に応じて、ペアの一方のピクセルを選ぶ。しかしながら、モード2及びモード66に関するPDPCの場合、左基準サンプルが整数場所(refSide[c+1]=refSide[2+x+y])に位置するため、ツールは、左基準サンプルが利用不能かどうかを決めるために、c≧2*Hをチェックする。これにより、多少の曖昧さが導入される。
【0072】
前に触れたように、左基準サンプルの導出は、距離deltaPosを演算することを伴う:deltaPos = ((1 + x)invAngle + 2) >> 2;
【0073】
右側の項は、再帰的和のみである。従って、deltaPosは、xによる乗算を除去するために、以下のように演算することができる。
invAngleSum[-1] = 2;
For 0 <=x < W
invAngleSum[x] = invAngleSum[x-1] + invAngle;
deltaPos = invAngleSum[x] >> 2;
deltaInt = deltaPos >> 6;
deltaFrac = deltaPos & 63;
deltay = 1 + y + deltaInt;
Pleft = refSide[deltay + (deltaFrac >> 5)]
【0074】
少なくとも1つの実施形態では、以下の通りプロセスを変更することを提案する。
invAngleSum[-1] = 128;
For 0 <= x < W
invAngleSum[x] = invAngleSum[x-1] + invAngle;
deltay = 1 + y + (invAngleSum[x] >> 8),
Pleft = refSide[deltay]
【0075】
上記の単純化において、以下の3つのステップを1つに統合したことに気付かれたい。
deltaPos = invAngleSum[x] >> 2;
deltaInt = deltaPos >> 6;
deltay = 1 + y + deltaInt;
【0076】
ビットシフト動作(invAngleSum >> 8)が、丸めにより、最も近い整数をもたらすように、2の代わりに128でinvAngleSumを初期化した。これは、パラメータdeltaFracを算出することを回避する。その結果、左基準サンプルが利用不能かどうかを知るために、deltay>2*Hかどうかをチェックするだけでよい。これは、PDPCがモード2又はモード66に適用されるときのチェックと同一である。
【0077】
この単純化の二次的影響は、refSideの最後の基準ピクセル、すなわちrefSide[2H]のより良い使用である。基準サンプルの実際の位置が2Hと2H+1との間に位置し、且つrefSide[2H]により近い場合、上記プロセスは、上記位置を2Hにマッピングし、PleftとしてピクセルrefSide[2H]を使用する。従来のPDPC実装では、このケースは、deltay>2Hとして単にスキップされてもよく、その結果、現ピクセルの初期予測値は、変化しないままである。この特殊ケースを除き、提案される単純化は、VTM5.0と同一のターゲットピクセルの予測値をもたらす。
【0078】
従って、式(3)は、加重和がクリッピングを必要としないという所見がある場合、単純化することができる。
P(x,y)=(((64-wL)*Ppred(x,y)+wL*Pleft+32)>>6)
for 0 ≦x < W, 0 ≦ y < H;
【0079】
この式は、以下のように更に単純化することができる。
P(x,y)=(64*Ppred(x,y)-wL*Ppred(x,y)+wL*Ppred+32)>>6)
= Ppred(x,y)+ (( wL*(Pleft- Ppred(x,y))+32)≫6)
【0080】
この単純化により、2のべき乗である必要のない(64-wL)による乗算を回避する。既に理解されるように、wLは、非負値のみを有する。wL>0であれば、それは、2のべき乗でもある。従って、上記式の唯一の乗算は、式(4)に示されるように、ビットシフトを用いて行うことができる。
【0081】
少なくとも1つの実施形態では、ビデオコード化又は復号は、予測演算が以下の式(4)を使用するPDPCを用いた後処理段階を含む。
P(x,y)= Ppred(x,y)+((((Pleft-Ppred(x,y))≪ log2(wL))+32)≫6) (4)
【0082】
当業者は、上記の単純化提案が、反復ループ、及び乗算を回避するためのループ外のinvAngleSumの初期化を用いたVTM5.0コードに対応することに気付くだろう。同じことを以下のように同等に書くことができる。
for 0 <= x < W
deltay=1+y+(((1+x)*invAngle+128)>>8)
Pleft=refSide[deltay]
【0083】
refSide基準アレイは、左上ピクセルに、すなわち、再構築サンプルの座標(-1,-1)に0番目の座標を有することに留意されたい。そうでない場合は、座標(-1,0)で初期化される場合、上記の式は以下のように変更される。
for 0 <= x < W
deltay=y+(((1+x)*invAngle+128)>>8)
Pleft=refSide[deltay]
【0084】
従って、上記座標調整がある場合、垂直モード66及びモード66の隣接モードに関する提案されるPDPC単純化は、以下の通りである。
for 0 <= x < W
deltay=y+(((1+x)*invAngle+128)>>8)
Pleft=refSide[deltay]
P(x,y)=Ppred(x,y)+((wL*(Pleft-Ppred(x,y))+32)>>6)
wL=wLmax>>min(31,((x<<1)>>scale))
wLmax=16 if mode=66,else wLmax=32
【0085】
同様に、水平予測モード2及びモード2の隣接モードに関して、提案されるPDPC変更は、以下の通りである。
for 0 <= y < H
deltax=x+(((1+y)*invAngle+128)>>8)
Ptop=refMain[deltax]
P(x,y)=Ppred(x,y)+((wT*(Ptop-Ppred(x,y))+32)>>6)
wT=wTmax>>min(31,((y<<1)>>scale))
wTmax=16 if mode=2,else wTmax=32
式中、refMainは、ターゲットブロックの上にある基準アレイを表記し、Ptopは、予測方向の拡張との交差によって得られた、基準アレイ上の基準ピクセルを表記する。
【0086】
図9は、VTM5.0に基づく実装例に続く変更PDPCプロセスの第1の実施形態によるフローチャート例を示す。この変更プロセスでは、ビデオコード化又は復号は、第1の単純化で示したように、及び第1の単純化として上記で説明したように、2つの異なる予測演算が統合され、ピクチャのブロックの少なくとも1つのピクセルが、その予測値と、角度方向に従って重み付けられた隣接ブロックの基準値とに従って再構築される角度モードでPDPCを用いた後処理段階を含む。
図7の右分岐に見られるように、refSideは、予測モードが水平であるときに、現CUの上にある基準アレイを表す。従って、モードインデックスが2又はその隣接モードの何れかに等しい場合、パラメータwL、wLMax、P
leftなどは、実際に、パラメータwT、wTMax、P
topなどにそれぞれ対応する。
【0087】
この実施形態では、後処理は、角度パラメータintraPredAngleが12より大きい場合(従って、表1及び
図3A及び3Bに示されるように、58以上又は10以下のモードインデックスに対応する)、ステップ910の「yes」分岐において、ピクセルに関して、ステップ951で重み付け値wLを演算することと、ステップ952において、予測方向を左基準アレイに拡張することによって左基準ピクセルを取得することと、ステップ953において、式(3):
P(x,y)=Clip(((64-wL)
*P
pred(x,y)+wL*P
left+32)>>6) (3)に従って予測ピクセルの後処理値を演算することと、を含む。
【0088】
つまり、予測ピクセルは、その予測値、及び角度予測モードの角度に基づいてブロックの左にある列から選択された基準ピクセル間の重み付けに基づいて変更される。
【0089】
ステップ201で行われる試験は、intraPredAngle値の代わりにモードインデックス値に対して行われうるが、その場合、予測角度が値範囲(範囲は、垂直モードのセット又は水平モードのセットに対応しうる)内にあるかどうかをチェックするために、2つ以上の比較が必要となることに留意されたい。本実施形態では、10及び58のモードインデックスに対応する12の固定値に関してintraPredAngleが試験されるが、比較の他の値が使用されてもよく、及びこの第1の実施形態の原理に準拠しうる。例えば、別の実施形態では、18及び50のモードインデックスに対応する0の固定値に関してintraPredAngleが試験される。別の実施形態では、10~18及び50~58のモードインデックスに対応する0~12の範囲内の固定値に関してintraPredAngleが試験される。
【0090】
図10は、VTM5.0に基づく実装例に続く変更PDPCプロセスの第2の実施形態によるフローチャート例を示す。この第2の実施形態では、ビデオコード化又は復号は、
図9に示したように、及び第2の単純化として上記で説明したように、2つの異なる予測演算が統合され、ピクチャのブロックの少なくとも1つのピクセルが、その予測値と、角度方向に従って重み付けられた隣接ブロックの基準値とに従って再構築される角度モードでPDPCを用いた後処理段階を含む。
図9に見られるように、refSideは、予測モードが水平であるときに、現CUの上にある基準アレイを表す。従って、モードインデックスが2又はその隣接モードの何れかに等しい場合、パラメータwL、wLMax、P
leftなどは、実際に、パラメータwT、wTMax、P
topなどにそれぞれ対応する。
【0091】
この実施形態では、後処理は、角度パラメータintraPredAngleが所定の値(例えば12)より大きい場合、ピクセルに関して、ステップ1003で重み付け値wLを演算することと、ステップ1004において、予測方向を左基準アレイに拡張することによって左基準ピクセルを取得することと、ステップ1005において、式(4):
P(x,y)= Ppred(x,y)+((((Pleft-Ppred(x,y))≪ log2(wL))+32)≫6) (4)
に従って予測ピクセルの後処理値を演算することと、を含む。
【0092】
つまり、予測ピクセルは、その予測値、及び角度予測モードの角度に基づいて上記ピクセルを含むブロックの左にある列から選択された基準ピクセル間の重み付けに基づいて変更される。
【0093】
従来のPDPCは、複数のチェック及びいくつかの乗算を使用するが、第2の実施形態は、たった1つのチェック、並びに演算要件の観点から乗算演算よりもはるかに効率的なシフト、加算、及び減算演算を使用する。
【0094】
この実施形態では、12の固定値に関してintraPredAngleが試験されるが、比較の他の値が使用されてもよく、及びこの第1の実施形態の原理に準拠しうる。
【0095】
第3の実施形態
第3の実施形態は、第1又は第2の実施形態に基づき、ここでは、intraPredAngleの値にかかわらず、(x,y)にあるターゲットピクセルに関して、左基準サンプルが常にrefSide[c+1]であり、c=1+x+yである。
【0096】
第4の実施形態
第4の実施形態は、上記実施形態の1つに基づき、ここでは、左基準サンプルの位置は、refSideの長さを超えて位置し、行上の現ターゲットピクセルでPDPCを終了させる代わりに、最後の基準サンプルrefSide[2H]を使用する。
【0097】
第5の実施形態
第5の実施形態は、上記実施形態の1つに基づき、ここでは、PLANAR(モード0)、DC(モード1)、完全垂直(モード50)、及び完全水平(モード18)の4つの固定モードに加えて、PDPCの適格モードとしてすべての正の垂直及び水平方向が挙げられる。
【0098】
第6の実施形態
第6の実施形態は、上記実施形態の1つに基づき、ここでは、重みwLを導出するための任意の非負及び減少関数が使用される。一例として、重みは、予測方向に基づいて、以下のように導出することができる。
wL = wLmax >> ((x << 1) >> scale);
wLmax = 16*((intraPredAngle+32)≫5)
【0099】
第7の実施形態
第7の実施形態は、上記実施形態の1つに基づき、ここでは、適格モードに関してPDPCを使用した、及びPDPCを使用しないRD性能がチェックされる。PDPCの使用は、CUレベルで1ビットPDPCフラグとしてデコーダにシグナリングされる。フラグは、コンテキストが固定値でありうる場合、又は近隣、予測方向などから推測することができる場合に、コンテキスト符号化することができる。
【0100】
第8の実施形態
第8の実施形態は、上記実施形態の1つに基づき、ここでは、スライス内のすべてのCUに対してPDPCが行われ、このようなPDPCの適用は、スライスヘッダの1ビットフラグを使用してデコーダにシグナリングされる。
【0101】
第9の実施形態
第9の実施形態は、上記実施形態の1つに基づき、ここでは、スライス内のすべてのCUに対してPDPCが行われ、このようなPDPCの適用は、ピクチャパラメータセット(PPS)ヘッダの1ビットフラグを使用してデコーダにシグナリングされる。
【0102】
第10の実施形態
第10の実施形態は、上記実施形態の1つに基づき、ここでは、PDPCがシーケンスの任意のフレームで行われ、このようなPDPCの適用は、シーケンスパラメータセット(SPS)ヘッダの1ビットフラグを使用してデコーダにシグナリングされる。
【0103】
結果
すべての必要とされる試験条件を用いて、全イントラ(AI:All-INTRA)構成で、VTM5.0コーデックを用いて実験を行った。
【0104】
図11は、第1の実施形態の実装の結果を示し、
図12は、第2の実施形態の実装の結果を示す。これらの図は、VTM5.0アンカーのものと比較した、提案される単純化のBDレート性能を示す。これらの表では、ラインは、オリジナルのビデオコンテンツのサンプルに対応して符号化又は復号されるコンテンツの異なるクラスを表す。1番目の列は、これらのクラスを列挙する。それぞれY、U、Vと名付けられた列2、列3、及び列4は、それぞれオリジナルのビデオのY、U、Vコンポーネントに関する、VTM5.0コーデックと提案される実施形態との間のサイズに関する差を示す。従って、これらの列は、VTM5.0と比較した圧縮効率の差を示す。それぞれEncT及びDecTと名付けられた列5及び6は、それぞれVTM5.0の符号化時間及び復号時間に対する、符号化時間及び復号時間の差を示す。符号化及び復号に必要とされる時間の比較は、VTM5.0実装と比較した、提案される実施形態の圧縮効率を表す。
図11は、符号化及び復号時間に関する全体的な改善を示す。
図12は、符号化及び復号時間、並びに符号化サイズに関する全体的な改善を示す。
【0105】
図13は、本開示に記載される様々な実施形態によるフローチャート例を示す。このフローチャートは、PDPC後処理が行われうるときに起動され、サンプルのブロックのサンプルに反復適用される。まず、ステップ1301において、予測角度を表す情報が試験され、それが基準にマッチするかどうかが決定される。この角度は、イントラ予測を行うため、及び従って、現サンプルを生成するために使用された角度に対応する。この試験は、角度値に基づいて、イントラ予測モードに対して、intraPredAngleパラメータの値に対して、又は予測角度を表すあらゆる値に対して行うことができる。角度が正しくないときは、分岐1302において、PDPC後処理は行われず、予測サンプルは変更されない。
【0106】
少なくとも1つの実施形態では、intraPredAngleパラメータが12以上であるときに、角度が正しいと見なされる。ある変形実施形態では、イントラ予測モードが-6~10、又は58~72の範囲内にあるときに、角度が正しいと見なされる。当業者は、これら2つの異なるマッチング基準が、角度イントラ予測の同一角度範囲に対応することに気付くだろう。
【0107】
角度が正しいと見なされる場合、ステップ1303において、重み付けが演算される。この重み付けは、サンプルの予測値と基準サンプルとの間で、補正の量、及び従って結果として得られるサンプルの値のバランスを取ることを可能にする。
【0108】
ステップ1305では、基準サンプルが取得される。少なくとも1つの実施形態では、基準サンプルは、ブロックの左にある列のサンプルの値を含む左基準アレイから、角度イントラ予測方向をブロックの左にある列に拡張し、及び角度イントラ予測方向とブロックの左にある列との交点に最も近いサンプルを左基準アレイから選択することによって取得される。このアレイに対するインデックスは、deltayの名で先述したような単純なやり方で演算することができる。
【0109】
ステップ1307では、取得され、及び演算されたパラメータに従って、サンプル値が決定される。上記の式3及び4は、サンプル値を演算するための異なる公式を提供する。これらの式、特に式4は、少なくとも、従来の技術よりも必要とされる演算が少ないという利点を有する。これの理由の1つは、上基準アレイからの基準サンプルが、サンプルの予測値を決定するためにこれが既に考慮されているため、考慮されないからである。少なくとも別の理由は、小数部分がもはや考慮されず、従って、更なる演算の単純化を可能にするからである。別の理由は、更に1つの角度試験が切り捨てられるからである。ステップ1307によるサンプル値の決定は、以前に予測されたサンプルの補正、変更、又は後処理とも理解することができる。
【0110】
ステップ1301の動作は、ブロックごとに一度実行されうる。しかしながら、ステップ1303~1307
図13の動作は、関与するパラメータがサンプルの位置及び/又は値に依存するため、ブロックの各サンプルに対して実行される必要がある。ブロックの全サンプルが処理されれば、次にブロックが、処理、例えば符号化されうる。
【0111】
本出願は、ツール、特徴、実施形態、モデル、方式などを含む様々な態様について記述している。これらの態様の多くは、専門性を伴って記述されており、個々の特性を少なくとも示すべく、しばしば、限定のように解釈されうる方式によって記述されている。但し、これは、説明におけるわかりやすさを目的としたものであり、その態様の適用又は範囲を限定するものではない。実際に、更なる態様を提供するべく、異なる態様のすべてを組み合わせることが可能であり、及び相互交換することができる。更には、態様は、同様に、先行する出願において記述されている態様と組み合わせることも可能であり、及び相互交換することもできる。
【0112】
本出願において記述及び想定されている態様は、多くの異なる形態において実装することができる。
図1A、
図1B、及び
図2は、いくつかの実施形態を提供しているが、その他の実施形態も想定されており、これらの図の説明は、実装の幅を限定するものではない。態様の少なくとも1つは、一般に、ビデオ符号化及び復号に関し、少なくとも1つのその他の態様は、一般に、生成又は符号化されたビットストリームの送信に関する。これらの及びその他の態様は、方法、装置、記述されている方法の任意のものに従ってビデオデータを符号化又は復号するための命令を保存したコンピュータ可読ストレージ媒体、及び/又は、記述されている方法の任意のものに従って生成されたビットストリームを保存したコンピュータ可読ストレージ媒体として実装することができる。
【0113】
様々な方法が本明細書において記述されており、方法のそれぞれは、記述されている方法を実現するための1つ又は複数のステップ又はアクションを有する。ステップ又はアクションの特定の順序が方法の適切な動作のために必要とされていない限り、特定のステップ及び/又はアクションの順序及び/又は使用は、変更されてもよく、或いは組み合わせられてもよい。
【0114】
本出願において記述されている様々な方法及びその他の態様は、例えば、
図1A及び
図1Bに示されるようなビデオエンコーダ100及びデコーダ200の動き補償及び動き推定モジュール(170、175、275)などのモジュールを変更するべく使用することができる。更には、本態様は、VVC又はHEVCに限定されるものではなく、例えば、既存のものであるのか、又は将来開発されるものであるのかを問わず、その他の規格及び推奨並びに任意のそのような規格及び推奨(VVC及びHEVCを含む)の拡張版に適用することができる。そうではない旨が示されていない限り、或いは技術的に排除されていない限り、本出願において記述されている態様は、個々に又は組合せにおいて使用することができる。
【0115】
本出願においては、様々な数値が使用されている。特定の値は、例示目的のものであり、記述されている態様は、これらの特定の値に限定されるものではない。
【0116】
様々な実装は、復号を伴っている。本出願において使用されている「復号」は、例えば、表示に適した最終出力を生成するべく受け取られた符号化済みのシーケンスに対して実行されるプロセスのすべて又は一部分を包含しうる。様々な実施形態において、このようなプロセスは、デコーダによって通常実行されているプロセスの1つ又は複数を含む。更には、又はこの代わりに、様々な実施形態において、このようなプロセスは、本出願において記述されている様々な実装のデコーダによって実行されるプロセスをも含む。
【0117】
更なる例として、一実施形態においては、「復号」は、エントロピー復号のみを意味しており、別の実施形態においては、「復号」は、差分復号のみを意味しており、別の実施形態においては、「復号」は、エントロピー復号及び差分復号の組合せを意味している。「復号プロセス」というフレーズが、動作のサブセットを具体的に意味するべく意図されているのか、或いは、相対的に広い復号プロセスを一般的に意味するべく意図されているのか、は、特定の記述のコンテキストに基づいて明らかとなり、当業者には、十分に理解されるものと考えられる。
【0118】
様々な実装は、符号化を伴っている。「復号」に関する上述の記述と同様に、本出願において使用されている「符号化」は、例えば、符号化されたビットストリームを生成するべく入力ビデオシーケンスに対して実行されるプロセスのすべて又は一部分を包含しうる。様々な実施形態において、このようなプロセスは、エンコーダによって通常実行されているプロセスの1つ又は複数を含む。更には、又はこの代わりに、様々な実施形態において、このようなプロセスは、本出願において記述されている様々な実装のエンコーダによって実行されるプロセスをも含む。
【0119】
更なる例として、一実施形態においては、「符号化」は、エントロピー符号化のみを意味しており、別の実施形態においては、「符号化」は、差分符号化のみを意味しており、別の実施形態においては、「符号化」は、差分符号化及びエントロピー符号化の組合せを意味している。「符号化プロセス」というフレーズが、具体的に動作のサブセットを意味するべく意図されているのか、或いは、相対的に広い符号化プロセスを一般的に意味するべく意図されているのか、は、特定の記述のコンテキストに基づいて明らかとなり、当業者によって十分に理解されるものと考えられる。
【0120】
本明細書において使用されている構文要素は、記述的用語であることに留意されたい。従って、これらは、その他の構文要素名の使用を排除するものではない。
【0121】
図がフロー図として提示されている際には、これは、対応する装置のブロック図をも提供していることを理解されたい。また、同様に、図がブロック図として提示されている際には、これは、対応する方法/プロセスのフロー図をも提供していることを理解されたい。
【0122】
様々な実施形態は、レート歪最適化を参照している。具体的には、符号化プロセスにおいて、しばしば、演算複雑性の制約が付与された状態において、通常、レートと歪の間のバランス又はトレードオフが考慮されている。レート歪最適化は、通常、レート歪関数を極小化するものとして定式化され、これは、レート及び歪の重み付けされた合計である。レート歪最適化問題を解決するための異なる方式が存在している。例えば、方式は、コード化及び復号の後の再構築済みの信号のそのコード化費用及び関係する歪の完全な評価を伴う、すべての検討されたモード又はコード化パラメータ値を含むすべての符号化選択肢の集約的な試験に基づいたものであってよい。また、特に、再構築されたものではなく、予測又は予測残差信号に基づいた近似歪の演算に伴う符号化の複雑さを低減するべく、相対的に高速な方式を使用することもできる。また、例えば、可能な符号化選択肢のいくつかのみにおける近似歪又はその他の符号化選択肢用の完全な歪を使用することにより、これら2つの方式の混合体を使用することもできる。その他の方式は、可能な符号化選択肢のサブセットのみを評価している。更に一般的には、多くの方式は、最適化を実行するべく様々な技法の任意のものを利用しているが、最適化は、必ずしも、コード化費用及び関係する歪の両方の完全な評価ではない。
【0123】
本出願は、ツール、特徴、実施形態、モデル、方式などを含む様々な態様について記述している。これらの態様の多くは、専門性を伴って記述されており、個々の特性を少なくとも示すべく、しばしば、限定のように解釈されうる方式によって記述されている。但し、これは、説明におけるわかりやすさを目的としたものであり、その態様の適用又は範囲を限定するものではない。実際に、更なる態様を提供するべく、異なる態様のすべてを組み合わせることが可能であり、及び相互交換することができる。更には、態様は、同様に、先行する出願において記述されている態様と組み合わせることも可能であり、及び相互交換することもできる。
【0124】
本明細書において記述されている実装及び態様は、例えば、方法又はプロセス、装置、ソフトウェアプログラム、データストリーム、又は信号において実装することができる。実装の単一の形態の文脈においてのみ記述されている(例えば、方法としてのみ記述されている)場合にも、記述されている特徴の実装は、その他の形態(例えば、装置又はプログラム)においても実装することができる。装置は、例えば、適切なハードウェア、ソフトウェア、及びファームウェアにおいて実装することができる。例えば、方法は、例えば、コンピュータ、マイクロプロセッサ、集積回路、又はプログラム可能なロジック装置を含む一般に処理装置を意味するプロセッサにおいて実装することができる。また、プロセッサは、例えば、コンピュータ、タブレット、スマートフォン、セル電話機、携帯型/パーソナルデジタルアシスタント、及びエンドユーザーの間の情報の通信を促進するその他の装置などの通信装置を含む。
【0125】
「一実施形態(one embodiment)」又は「一実施形態(an embodiment)」又は「一実装(one implementation)」又は「一実装(an implementation)」のみならず、これらのその他の変形に対する参照は、実施形態との関連において記述されている特定の特徴、構造、特性、などが、少なくとも1つの実施形態において含まれていることを意味している。従って、本出願の全体を通じて様々な場所において出現する「一実施形態において」又は「一実施形態において」又は「一実装において」又は「一実装において」という句のみならず、任意のその他の変形は、必ずしも、すべてが同一の実施形態を参照しているものではない。
【0126】
これに加えて、本出願は、情報の様々な断片の「判定」を参照している場合がある。情報の判定は、例えば、情報の推定、情報の算出、情報の予測、又はメモリからの情報の取得の1つ又は複数を含みうる。
【0127】
更には、本出願は、情報の様々な断片に対する「アクセス」を参照している場合がある。情報にアクセスすることは、例えば、情報の受取り、(例えば、メモリから)情報の取得、情報の保存、情報の移動、情報の複写、情報の算出、情報の判定、情報の予測、又は情報の推定の1つ又は複数を含みうる。
【0128】
これに加えて、本出願は、情報の様々な断片の「受取り」を参照している場合がある。受け取ることは、「アクセス」することと同様に、広い用語となるべく意図されている。情報の受取りは、例えば、情報のアクセス又は(例えば、メモリからの)情報の取得の1つ又は複数を含みうる。更には、「受取り」は、通常、1つの又は別の方式により、例えば、情報の保存、情報の処理、情報の送信、情報の移動、情報の複写、情報の消去、情報の算出、情報の判定、情報の予測、又は情報の推定などの動作の際に伴っている。
【0129】
本出願において、「再構築される(reconstructed)」及び「復号される(decoded)」という用語は、相互交換可能に使用されてもよく、「ピクセル」及び「サンプル」という用語は、相互交換可能に使用されてもよく、「画像」、「ピクチャ」、「フレーム」、「スライス」、及び「タイル」という用語は、相互交換可能に使用されてもよい。通常は、但し、必須ではないが、「再構築される」という用語は、エンコーダ側において使用され、「復号される」は、デコーダ側において使用される。
【0130】
例えば、「A/B」、「A及び/又はB」、及び「A及びBの少なくとも1つ」のケースにおける「/」、「及び/又は」、及び「~の少なくとも1つ」の任意のものの使用は、第1の列挙された選択肢(A)のみの選択、又は第2の列挙された選択肢(B)のみの選択、或いは、両方の選択肢(A及びB)の選択を包含するべく意図されていることを理解されたい。更なる例として、「A、B、及び/又はC」及び「A、B、及びCの少なくとも1つ」のケースにおいて、このようなフレーズは、第1の列挙された選択肢(A)のみの選択、又は第2の列挙された選択肢(B)のみの選択、或いは、第3の列挙された選択肢(C)のみの選択、或いは、第1及び第2の列挙された選択肢(A及びB)のみの選択、或いは、第1及び第3の列挙された選択肢(A及びC)のみの選択、或いは、第2及び第3の列挙された選択肢(B及びC)のみの選択、或いは、すべての3つの選択肢(A及びB及びC)の選択を包含するべく意図されている。これは、当技術分野及び関係する技術分野における当業者には明らかなように、列挙されているものと同じ数の項目について拡張することができる。
【0131】
また、本明細書において使用される場合、「信号」という用語は、とりわけ、なにかを対応するデコーダに通知することを意味している。例えば、特定の実施形態において、エンコーダは、照明補正パラメータの特定の1つをシグナリングしている。この結果、一実施形態においては、同一のパラメータは、エンコーダ側及びデコーダ側の両方において使用されている。従って、例えば、エンコーダは、デコーダが同一の特定のパラメータを使用しうるように、特定のパラメータをデコーダに送信することができる(明示的なシグナリング)。逆に、デコーダが既に特定のパラメータのみならず、その他のものをも有している場合には、シグナリングは、デコーダが特定のパラメータを認知し及び選択することを単純に許容するべく、送信を伴うことなしに使用することができる(黙示的なシグナリング)。任意の実際の機能の送信を回避することにより、ビットの節約が様々な実施形態において実現されている。シグナリングは、様々な方式で実現されうることを理解されたい。例えば、1つ又は複数の構文要素、フラグ、などが、様々な実施形態において、対応するデコーダに情報をシグナリングするべく使用されている。以上は、「信号」という用語の動詞の形態に関係している一方で、「信号」という用語は、名詞としても本明細書において使用されうる。
【0132】
当業者には明らかなように、実装は、例えば、保存又は送信されうる情報を搬送するべくフォーマッティングされた様々な信号を生成することができる。情報は、例えば、方法を実行するための命令又は記述されている実装の1つによって生成されたデータを含みうる。例えば、信号は、記述されている実施形態のビットストリームを搬送するべくフォーマッティングすることができる。このような信号は、例えば、(例えば、スペクトルの高周波数部分を使用する)電磁波として又はベースバンド信号としてフォーマッティングすることができる。フォーマッティングは、例えば、データストリームを符号化することと、符号化されたデータストリームによって搬送波を変調することと、を含みうる。信号が搬送している情報は、例えば、アナログ又はデジタル情報であってよい。信号は、既知のように、様々な異なる有線又は無線リンク上において送信することができる。信号は、プロセッサ可読媒体上において保存することができる。
【0133】
第1の態様の第1の変形では、イントラ予測角度が第1の値以下、又は第2の値以上であり、第1の値が第2の値よりも小さいときに、角度基準にマッチすると見なされる。第1の変形の一変形では、第1の値は10であり、第2の値は58である。
【0134】
第1の態様の第2の変形では、イントラ予測角度を表すintraPredAngle値が、ある値以上であるときに、角度基準にマッチすると見なされる。第1の変形の一変形では、イントラ予測角度を表すintraPredAngle値が12以上であるときに、角度基準にマッチすると見なされる。
【0135】
第1の態様の更なる変形では、垂直角度方向に関して、左基準サンプルは、ブロックの左にある列のサンプルの値を含む左基準アレイから決定され、左基準サンプルは、垂直角度イントラ予測方向をブロックの左にある列に拡張し、及び左基準アレイから、垂直角度イントラ予測方向とブロックの左にある列との交点に最も近いサンプルを選択することによって決定され、水平角度方向に関して、上基準サンプルは、ブロックの上にある行のサンプルの値を含む上基準アレイから決定され、上基準サンプルは、水平角度イントラ予測方向をブロックの上にある行に拡張し、及び上基準アレイから、水平角度イントラ予測方向とブロックの上にある行との交点に最も近いサンプルを選択することによって決定される
【0136】
第1の態様の更なる変形では、サンプルの値P(x,y)は、垂直方向に関しては、P(x,y) = Ppred(x,y) + ((((Pleft - Ppred(x,y)) << log2(wL)) + 32) >> 6)に従って、及び水平方向に関しては、P(x,y) = Ppred(x,y) + ((((Ptop- Ppred(x,y)) << log2(wT)) + 32) >> 6)に従って決定され、式中、Ppred(x,y)は、サンプルの取得された予測値であり、Pleft又はPtopは、左基準サンプル又は上基準サンプルの値であり、wL又はwTは、重み付けである。
【0137】
第1の態様の更なる変形では、垂直角度方向に関して、左基準サンプルの値Pleftは、Pleft = refSide[deltay]によって決定され、refSideは、ブロックの左にある列のサンプルの値のアレイであり、deltay = y + (((1+x) * invAngle + 128) >> 8)であり、水平角度方向に関して、上基準サンプルの値Ptopは、Ptop = refMain[deltax]によって決定され、refMainは、ブロックの上にある行のサンプルの値のアレイであり、deltax = x + (((1+y) * invAngle + 128) >> 8)であり、invAngleは、予測角度に対応する角度パラメータの逆数である。
【0138】
第1の態様の更なる変形では、重み付けは、wL = wLmax >> min(31, ((x << 1) >> scale))(式中、intraPredAngleが32に等しいときはwLmax = 16であり、又はそれ以外のときは、wLmax = 32である)と、wT = wTmax >> min(31, ((y << 1) >> scale))(式中、intraPredAngleが32に等しいときはwTmax = 16であり、又はそれ以外のときは、wTmax = 32であり、scaleは、((log2(W) -2 + log2(H) -2 + 2) >> 2)に等しい)と、に従って決定される。