(57)【要約】  本開示はビデオ符号化又は復号化における現在のブロックのイントラ予測のための方法及びデバイスを提供する。方法は、方向性イントラ予測モードに従って現在のブロックのイントラ予測処理を実行するステップであって、１つ以上の参照ブロックにおける参照サンプルに適用される参照サンプル・フィルタリング又はサブピクセル補間フィルタリングを含み、方向性イントラ予測モードは、以下のグループ：（Ａ）垂直又は水平モード、（Ｂ）４５度の倍数である角度を表す対角モードを含む方向性モード、（Ｃ）残りの方向性モードのうちの１つに分類される、ステップを含み、方向性イントラ予測モードがグループＢに属していると分類される場合には、参照サンプル・フィルタが参照サンプルに適用され、方向性イントラ予測モードがグループＣに属していると分類される場合には、イントラ参照サンプル補間フィルタが参照サンプルに適用される。【特許請求の範囲】
【請求項１】
ビデオ符号化又は復号化における現在のブロックのイントラ予測のための方法であって、
方向性イントラ予測モードに従って前記現在のブロックのイントラ予測処理を実行するステップであって、１つ以上の参照ブロックにおける参照サンプルに適用される参照サンプル・フィルタリング又はサブピクセル補間フィルタリングを含み、前記方向性イントラ予測モードは、以下のグループ：
Ａ．垂直又は水平モード、
Ｂ．４５度の倍数である角度を表す対角モードを含む方向性モード、
Ｃ．残りの方向性モード
のうちの１つに分類される、ステップを含み、
前記方向性イントラ予測モードがグループＢに属していると分類される場合には、参照サンプル・フィルタが前記参照サンプルに適用され、
前記方向性イントラ予測モードがグループＣに属していると分類される場合には、イントラ参照サンプル補間フィルタが前記参照サンプルに適用される、方法。
【請求項２】
前記方向性イントラ予測モードがグループＡに属していると分類される場合には、イントラ予測子を生成するために前記参照サンプルにフィルタは適用されない、請求項１に記載の方法。
【請求項３】
前記方向性イントラ予測モードがグループＢに属していると分類される場合には、前記方向性イントラ予測モードに従って、フィルタリングされた値をイントラ予測子にコピーするために前記参照サンプルに前記参照サンプル・フィルタが適用され、及び
前記方向性イントラ予測モードがグループＣに属していると分類される場合には、前記方向性イントラ予測モードに従って、前記参照サンプル間の分数又は整数位置に該当する予測されたサンプルを生成するために、前記参照サンプルに前記イントラ参照サンプル補間フィルタが適用される、請求項１又は２に記載の方法。
【請求項４】
前記参照サンプル・フィルタ又は前記イントラ予測処理は３タップ・フィルタである、請求項１−３のうちの何れか１項に記載の方法。
【請求項５】
前記イントラ予測処理の前記参照サンプル・フィルタは［１，２，１］の３タップ・フィルタである、請求項４に記載の方法。
【請求項６】
所与のサブピクセル・オフセットに対する前記イントラ予測処理の補間フィルタは、フィルタのセットから選択され、そのうちの１つはインター予測処理に対するフィルタと同じである、請求項１−５のうちの何れか１項に記載の方法。
【請求項７】
前記補間フィルタは、４タップの長さ、及びそれの６ビットの係数の精度を有する、請求項１−６のうちの何れか１項に記載の方法。
【請求項８】
グループＢは、広角整数勾配モードを更に含む、請求項１−７のうちの何れか１項に記載の方法。
【請求項９】
広角整数勾配モードは、水平、垂直及び対角以外の方向性イントラ予測モードであり、前記現在のブロックの予測されるサンプル各々の参照サンプル位置は、非分数である、請求項７に記載の方法。
【請求項１０】
グループＢは、イントラ予測角度パラメータの値が３２の非ゼロ倍数であるイントラ予測モードを更に含む、請求項１−９のうちの何れか１項に記載の方法。
【請求項１１】
グループＢは、前記イントラ予測モード：［−１４，−１２，−１０，−６，２，３４，６６，７２，７６，７８，８０］のうちの１つ又は全てを含む、請求項１−１０のうちの何れか１項に記載の方法。
【請求項１２】
現在のコーディング・ブロックのイントラ予測処理を実行するためのビデオ・コーディングの方法であって、前記方法は、
前記現在のコーディング・ブロックのイントラ予測モードを取得するステップと、
前記現在のコーディング・ブロックの前記イントラ予測モードが対角モードである場合に、前記現在のコーディング・ブロックの参照サンプルに関して参照サンプル・フィルタリング処理を実行することにより、前記現在のコーディング・ブロックの前記イントラ予測モードに従って前記現在のコーディング・ブロックのイントラ予測処理を実行するステップ、又は
前記現在のコーディング・ブロックの前記イントラ予測モードが、方向性モードではあるが、以下の方向性イントラ予測モード：垂直モード、水平モード及び対角モードのうちの１つではない場合に、前記現在のコーディング・ブロックの参照サンプルに関して補間フィルタリング処理を実行することにより、前記現在のコーディング・ブロックの前記イントラ予測モードに従って前記現在のコーディング・ブロックのイントラ予測処理を実行するステップ
を含む方法。
【請求項１３】
前記対角モードは、４５度の倍数である角度を表す、請求項１２に記載の方法。
【請求項１４】
前記方法は、
前記現在のコーディング・ブロックの前記イントラ予測モードと前記現在のコーディング・ブロックの参照サンプルとに従って、前記現在のコーディング・ブロックのイントラ予測処理を実行するステップを更に含み、
前記現在のコーディング・ブロックの前記イントラ予測モードが垂直モード又は水平モードである場合には、前記現在のコーディング・ブロックの前記参照サンプルにフィルタリング処理は適用されない、請求項１２又は１３に記載の方法。
【請求項１５】
前記参照サンプル・フィルタリング処理は、３タップの［１，２，１］フィルタリングに基づいて実行される、請求項１２−１４のうちの何れか１項に記載の方法。
【請求項１６】
前記補間フィルタリング処理は、参照サンプル間の分数又は整数位置に該当する予測されたサンプルを生成するために実行される、請求項１２−１５のうちの何れか１項に記載の方法。
【請求項１７】
ビデオ符号化又は復号化における現在のブロックのイントラ予測のための装置であって、前記装置は、方向性イントラ予測モードに従って前記現在のブロックのイントラ予測処理を実行するように構成された処理回路であって、１つ以上の参照ブロックにおける参照サンプルに適用される参照サンプル・フィルタリング又はサブピクセル補間フィルタリングを含み、前記方向性イントラ予測モードは、以下のグループ：
Ａ．垂直又は水平モード、
Ｂ．４５度の倍数である角度を表す対角モードを含む方向性モード、
Ｃ．残りの方向性モード
のうちの１つに分類される、処理回路を含み、
前記方向性イントラ予測モードがグループＢに属していると分類される場合には、参照サンプル・フィルタが前記参照サンプルに適用され、
前記方向性イントラ予測モードがグループＣに属していると分類される場合には、イントラ参照サンプル補間フィルタが前記参照サンプルに適用される、装置。
【請求項１８】
コンピュータ又はプロセッサで実行される場合に請求項１−１６のうちの何れか１項に記載の方法を実行するためのプログラム・コードを含むコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像及び／又はビデオ・コーディング及び復号化の技術分野、特にイントラ／インター予測のための方法及び装置に関連する。
【背景技術】
【０００２】
ビデオ・コーディング（ビデオ符号化及び復号化）は、広範囲のデジタル・ビデオ・アプリケーション、例えば放送デジタルＴＶ、インターネット及びモバイル・ネットワークを介したビデオ伝送、ビデオ・チャットのようなリアルタイムの会話アプリケーション、ビデオ会議、ＤＶＤ及びブルーレイ・ディスク、ビデオ・コンテンツの取得及び編集システム、並びにセキュリティ・アプリケーションのカムコーダで使用されている。
比較的短いビデオでさえ描写するために必要とされるビデオ・データの量は相当なものになる可能性があり、これは、限られた帯域幅容量を有する通信ネットワークを介して、データがストリーミングされるか又は別の方法で通信される場合に困難を生じさせる可能性がある。従って、ビデオ・データは、一般に、現代の電気通信ネットワークを介して通信される前に圧縮される。また、メモリ・リソースが限られているかもしれないことに起因して、ビデオがストレージ・デバイスに記憶される場合には、ビデオのサイズも問題となる可能性がある。ビデオ圧縮デバイスは、しばしば、ソースにおいてソフトウェア及び／又はハードウェアを使用して、伝送又は記憶の前にビデオ・データをコーディングし、それによってデジタル・ビデオ画像を表すために必要とされるデータ量を減少させる。次いで、圧縮されたデータは、ビデオ・データを復号化するビデオ圧縮解除デバイスによって宛先で受信される。限られたネットワーク・リソース、及びより高いビデオ品質の絶えず増加する要請により、画質にほとんど犠牲を払わずに圧縮比を改善する改良された圧縮及び圧縮解除技術が望まれている。
【０００３】
デジタル・ビデオは、ＤＶＤディスクの導入以来、広く使用されてきた。伝送の前にビデオは符号化され、伝送媒体を用いて伝送される。視聴者はビデオを受信し、視聴デバイスを使用してビデオを復号化し、表示する。長年にわたって、ビデオの品質は、例えばより高い解像度、色の深度、及びフレーム・レートのために改善されてきた。これは、今日、インターネット及び移動通信ネットワークを介して一般的に転送される、より大きなデータ・ストリームを招いている。
【０００４】
しかしながら、より高い解像度のビデオは、典型的には、より多くの情報を有するので、より多くの帯域幅を必要とする。帯域幅要件を低減するために、ビデオの圧縮を含むビデオ・コーディング規格が導入されている。ビデオが符号化される場合、帯域幅要件（又はストレージの場合は対応するメモリ要件）が低減される。しばしば、この低減は品質を犠牲にして行われる。従って、ビデオ・コーディング規格は、帯域幅要件と品質との間のバランスを見出すことを試みる。
【０００５】
高効率ビデオ・コーディング（ＨＥＶＣ）は、当業者に一般的に知られているビデオ・コーディング規格の一例である。ＨＥＶＣでは、コーディング・ユニット（ＣＵ）を予測ユニット（ＰＵ）又は変換ユニット（ＴＵ）に分割する。汎用ビデオ・コーディング（ＶＶＣ）次世代規格は、ＩＴＵ−Ｔビデオ・コーディング・エキスパート・グループ（ＶＣＥＧ）とＩＳＯ／ＩＥＣ動画エキスパート・グループ（ＭＰＥＧ）標準化機構との最新の共同ビデオ・プロジェクトであり、共同ビデオ探索チーム（ＪＶＥＴ）として知られるパートナーシップにおいて共に機能している。ＶＶＣは、ＩＴＵ−Ｔ  Ｈ．２６６／次世代ビデオ・コーディング（ＮＧＶＣ）規格とも呼ばれる。ＶＶＣでは、最大変換長のために長すぎるサイズを有するＣＵに対して必要とされることを除いて、複数のパーティション・タイプの概念、即ちＣＵ、ＰＵ及びＴＵの概念の区別が削除されるものとされており、ＣＵパーティション形状に対して、より柔軟性をサポートする。
【０００６】
これらのコーディング・ユニット（ＣＵ）（ブロックとも呼ばれる）の処理は、エンコーダによって指定されるそれらのサイズ、空間位置、及びコーディング・モードに依存する。コーディング・モードは、予測のタイプに従って、イントラ予測及びインター予測モードの２つのグループに分類することができる。イントラ予測モードは、同じ画像のサンプル（フレーム又は画像とも呼ばれる）を使用して参照サンプルを生成し、再構成されるブロックのサンプルの予測値を計算する。イントラ予測は、空間予測とも呼ばれる。インター予測モードは、時間的予測のために設計されており、現在のピクチャのブロックのサンプルを予測するために、以前の又は次のピクチャの参照サンプルを使用する。
【０００７】
ＩＴＵ−Ｔ  ＶＣＥＧ（Ｑ６／１６）及びＩＳＯ／ＩＥＣ  ＭＰＥＧ（ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１）は、現在のＨＥＶＣ規格のものを大幅に上回る圧縮能力を有する将来のビデオ・コーディング技術（スクリーン・コンテンツ・コーディング及びハイ・ダイナミック・レンジ・コーディングのための現行の拡張及び短期的な拡張を含む）の標準化のための潜在的ニーズを研究している。グループは、この分野の専門家によって提案された圧縮技術設計を評価するために、共同ビデオ探索チーム（ＪＶＥＴ）として知られる共同作業において、この探査活動で共に機能している。
【０００８】
ＶＴＭ（Ｖｅｒｓａｔｉｌｅ  Ｔｅｓｔ  Ｍｏｄｅｌ）規格は３５個のイントラ・モードを使用する一方、ＢＭＳ（Ｂｅｎｃｈｍａｒｋ  Ｓｅｔ）は６７個のイントラ・モードを使用する。
現在ＢＭＳで記述されているイントラ・モード・コーディング方式は複雑と考えられており、選択されていないモード・セットの欠点は、インデックス・リストが常に一定であり、現在のブロック特性（例えば、その隣接するブロックのＩＮＴＲＡモード）に基づいて適応的でないことである。
【発明の概要】
【０００９】
本願の実施形態は独立請求項による符号化及び復号化のための装置及び方法を提供する。
上記及び他の目的は、独立請求項の対象事項によって達成される。更なる実装形式は、従属請求項、明細書及び図面から明らかである。
【００１０】
第１態様によれば、本発明はビデオ符号化又は復号化における現在のブロックのイントラ予測のための方法に関連し、方法は、方向性イントラ予測モードに従って現在のブロックのイントラ予測処理を実行するステップであって、１つ以上の参照ブロックにおける参照サンプルに適用される参照サンプル・フィルタリング又はサブピクセル補間フィルタリングを含み、方向性イントラ予測モードは、以下のグループ：（Ａ）垂直又は水平モード、（Ｂ）４５度の倍数である角度を表す対角モードを含む方向性モード、（Ｃ）残りの方向性モードのうちの１つに分類される、ステップを含み、方向性イントラ予測モードがグループＢに属していると分類される場合には、参照サンプル・フィルタが参照サンプルに適用され、方向性イントラ予測モードがグループＣに属していると分類される場合には、イントラ参照サンプル補間フィルタが参照サンプルに適用される。
【００１１】
実施形態において、方向性イントラ予測モードがグループＡに属していると分類される場合には、イントラ予測器を生成するために参照サンプルにフィルタは適用されない。
実施形態において、方向性イントラ予測モードがグループＢに属していると分類される場合には、方向性イントラ予測モードに従って、フィルタリングされた値をイントラ予測器にコピーするために参照サンプルに参照サンプル・フィルタが適用され、及び方向性イントラ予測モードがグループＣに属していると分類される場合には、方向性イントラ予測モードに従って、参照サンプル間の分数又は整数位置に該当する予測されたサンプルを生成するために、参照サンプルにイントラ参照サンプル補間フィルタが適用される。
【００１２】
実施形態において、参照サンプル・フィルタ又はイントラ予測処理は３タップ・フィルタである。例えば、イントラ予測処理の参照サンプル・フィルタは［１，２，１］の３タップ・フィルタである。
【００１３】
実施形態において、所与のサブピクセル・オフセットに対するイントラ予測処理の補間フィルタは、フィルタのセットから選択され、そのうちの１つはインター予測処理に対するフィルタと同じである。
【００１４】
実施形態において、補間フィルタは、４タップの長さ、及び６ビットの係数の精度を有する。
実施形態において、グループＢは、広角整数勾配モードを更に含む。
【００１５】
例えば、広角整数勾配モードは、水平、垂直及び対角以外の方向性イントラ予測モードであり、現在のブロックの予測されるサンプル各々の参照サンプル位置は、非分数である。
【００１６】
実施形態において、グループＢは、イントラ予測角度パラメータの値が３２の非ゼロ倍数であるイントラ予測モードを更に含む。
実施形態において、グループＢは、イントラ予測モード：［−１４，−１２，−１０，−６，２，３４，６６，７２，７６，７８，８０］のうちの１つ又は全てを含む。
【００１７】
第２態様によれば、本発明は、ビデオ符号化又は復号化における現在のブロックのイントラ予測のための装置に関連し、装置は、方向性イントラ予測モードに従って現在のブロックのイントラ予測処理を実行するように構成された処理回路であって、１つ以上の参照ブロックにおける参照サンプルに適用される参照サンプル・フィルタリング又はサブピクセル補間フィルタリングを含み、方向性イントラ予測モードは、以下のグループ：（Ａ）垂直又は水平モード、（Ｂ）４５度の倍数である角度を表す対角モードを含む方向性モード、（Ｃ）残りの方向性モードのうちの１つに分類される、処理回路を含み、方向性イントラ予測モードがグループＢに属していると分類される場合には、参照サンプル・フィルタが参照サンプルに適用され、方向性イントラ予測モードがグループＣに属していると分類される場合には、イントラ参照サンプル補間フィルタが参照サンプルに適用される。
【００１８】
本発明の第２態様による装置の更なる特徴及び実装形式は、本発明の第１態様による装置の特徴及び実装形式に対応する。
【００１９】
第３態様によれば、本発明は、コンピュータ又はプロセッサで実行される場合に上記の方法の何れか１つを実行するためのプログラム・コードを含むコンピュータ・プログラム製品に関連する。
【００２０】
１つ以上の実施形態の詳細は、添付の図面及び以下の説明において述べられる。他の特徴、目的、及び利点は、明細書、図面、及び特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【００２１】
以下の実施形態は添付の図及び図面に関連してより詳細に説明される。
【図１】本発明の実施形態を実現するように構成されたビデオ・コーディング・システムの一例を示すブロック図である。
【図２】本発明の実施形態を実現するように構成されたビデオ・エンコーダの一例を示すブロック図である。
【図３】本発明の実施形態を実現するように構成されたビデオ・デコーダの例示的な構造を示すブロック図である。
【図４】６７個のイントラ予測モードを示す概略図を示す。
【図５】イントラ及びインター予測における異なる補間フィルタの第１使用例を示す。
【図６】イントラ及びインター予測における異なる補間フィルタの第２使用例を示す。
【図７】イントラ及びインター予測における異なる補間フィルタの第３使用例を示す。
【図８】イントラ及びインター予測サンプルに使用される共通補間フィルタの利用を示す。
【図９】動き補償におけるクロミナンス・サンプルの予測、及びイントラ予測を実行する際のルミナンス及びクロミナンス・サンプルの予測に係わるフィルタリング・モジュールを使用する実施形態を示す。
【図１０】ハードウェア・フィルタリング・モジュールがＲＯＭに記憶された係数をロードする実施形態を示す。
【図１１】複数のイントラ予測モードの概略図を示す。
【図１２】非正方形ブロックの場合に対角より小さい及び大きいモードに対する補間フィルタ選択の例を示す。
【図１３】四分木プラス二分木（ＱＴＢＴ）ブロック・パーティショニングを示す。
【図１４】ブロックの水平及び垂直方向を示す。
【図１５】非正方形ブロックのための補間フィルタの選択を概略的に示す。
【図１６】非正方形ブロックのための参照サンプル補間フィルタ選択の実施形態を示す。
【図１７】非正方形ブロックのための参照サンプル補間フィルタ選択のための代替的な実施形態を示す。
【図１８】９３個のイントラ予測方向を示す概略図を示す。
【図１９】実施形態による装置のブロック図を示す。
【図２０】別の実施形態による装置のブロック図を示す。
【図２１】イントラ予測モードを使用して予測されるブロックを示す。
【発明を実施するための形態】
【００２２】
以下の説明では、本開示の一部を形成し、本発明が置かれる可能性のある特定の態様を例示として示す、添付図面に対する参照が行われる。本発明の実施形態は、他の態様で使用されてもよく、図面に示されていない構造的又は論理的な変更を含んでもよいことが理解される。従って、以下の詳細な説明は、限定的な意味で捉えられるべきではなく、本発明の範囲は、添付の特許請求の範囲によって規定される。
【００２３】
例えば、説明される方法に関連する開示は、方法を実行するように構成された対応するデバイス又はシステムについても当てはまり、その逆もまた真である可能性があることが理解される。
例えば、１つ又は複数の特定の方法ステップが説明される場合、対応するデバイスは、たとえそのような１つ以上のユニットが明示的に説明も図中に図示もされていなかったとしても、説明された１つ又は複数の方法ステップを実行するために、１つ又は複数のユニット、例えば機能ユニット（例えば、１つ又は複数のステップを実行する１つのユニット、又は複数のステップのうちの１つ以上を各々が実行する複数のユニット）を含む可能性がある。一方、例えば、１つ又は複数のユニット、例えば機能ユニットに基づいて、特定の装置が記載される場合、対応する方法は、たとえそのような１つ又は複数のステップが明示的に説明も図中に図示もされていなかったとしても、１つ又は複数のユニットの機能を実行するために１つのステップ（例えば、１つ又は複数のユニットの機能を実行する１つのステップ、又は複数のユニットのうちの１つ以上の機能をそれぞれが実行する複数のステップ）を含む可能性がある。更に、本願で説明される種々の例示的な実施形態及び／又は態様の特徴は、特に断らない限り、互いに組み合わせられる可能性があることが理解される。
【００２４】
ビデオ・コーディングは、典型的には、ビデオ又はビデオ・シーケンスを形成する一連のピクチャの処理を指す。ピクチャ、画像、又はフレームという用語は、ビデオ・コーディングの分野においてだけでなく本願においても同義に使用される可能性がある／使用される。各ピクチャは、典型的には、重複しないブロックのセットに区分けされる。ピクチャの符号化／復号化は典型的にはブロック・レベルで実行され、例えば、インター・フレーム予測又はイントラ・フレーム予測は、予測ブロックを生成し、予測ブロックを現在のブロック（現在処理されている／処理されるべきブロック）から減算して残差ブロックを取得し、これは更に変換及び量子化されて、伝送されるべきデータの量を削減（圧縮）するために使用される一方、デコーダ側では、逆の処理が、符号化／圧縮されたブロックに適用されて、表現のためのブロックを再構成する。
【００２５】
ロスレス・ビデオ・コーディングの場合、オリジナル・ビデオ・ピクチャが再構成されることが可能であり、即ち、再構成されたビデオ・ピクチャは、オリジナル・ビデオ・ピクチャと同じ品質を有する（記憶又は伝送の間の伝送損失又はその他のデータ損失は無いことを仮定している）。ロスレスでないビデオ・コーディングの場合、デコーダで完全には再構成することができないビデオ・ピクチャを表すデータ量を削減するために、例えば量子化による更なる圧縮が実行され、即ち、再構成されたビデオ・ピクチャの品質は、オリジナル・ビデオ・ピクチャの品質よりも低いか又は劣化している。
【００２６】
幾つかのビデオ・コーディング規格は「ロスレスでないハイブリッド・ビデオ・コーデック」のグループに属する（即ち、サンプル・ドメインにおける空間的及び時間的予測と、変換ドメインにおける量子化を適用するための２Ｄ変換コーディングとを組み合わせる）。ビデオ・シーケンスの各ピクチャは、典型的には、重複しないブロックのセットに区分けされ、コーディングは典型的にはブロック・レベルで実行される。換言すれば、エンコーダにおいて、ビデオは、典型的には、ブロック（ビデオ・ブロック）レベルで、例えば、空間（イントラ・ピクチャ）予測及び／又は時間（インター・ピクチャ）予測を用いて予測ブロックを生成すること、現在のブロック（現在処理されている／処理されるべきブロック）から予測ブロックを減算して残差ブロックを取得すること、残差ブロックを変換すること、及び伝送されるべきデータ量を削減（圧縮）するために、変換ドメインにおいて残差ブロックを量子化することにより、処理される、即ち符号化される一方、デコーダでは、表現用に現在のブロックを再構成するために、エンコーダと比較して逆の処理が、符号化された又は圧縮されたブロックに適用される。更に、エンコーダはデコーダ処理ループを複製し、その結果、両者が同一の予測（例えば、イントラ及びインター予測）、及び／又は後続のブロックを処理、即ちコーディングするための再構成を生成するであろう。
【００２７】
ビデオ・コーディング・システム１０の以下の実施形態において、ビデオ・エンコーダ２０及びビデオ・デコーダ３０が図１−３に基づいて説明される。
【００２８】
図１は、例示的なコーディング・システム１０、例えば本願（本開示）の技術を利用することが可能なビデオ・コーディング・システムを示す概念的又は概略的なブロック図である。ビデオ・コーディング・システムのエンコーダ２０（例えば、ビデオ・エンコーダ２０）及びデコーダ３０（例えば、ビデオ・デコーダ３０）は、本願で説明される種々の例に従って技術を実行するように構成されることが可能なデバイスの例を表す。図１に示すように、コーディング・システムは、符号化されたデータ１３、例えば符号化されたピクチャ１３を、例えば、符号化されたデータ１３を復号化する宛先デバイス１４に提供するように構成されたソース・デバイス１２を含む。
【００２９】
ソース・デバイス１２は、エンコーダ２０を含み、追加的に、即ちオプションとして、ピクチャ・ソース１６、前処理ユニット１８、例えばピクチャ前処理ユニット１８、通信インターフェース又は通信ユニット２２を含むことが可能である。
【００３０】
ピクチャ・ソース１６は、例えば、現実世界のピクチャを捕捉するための任意の種類のピクチャ捕捉デバイス、及び／又は、任意の種類のピクチャ又はコメント（スクリーン・コンテンツ符号化のために、スクリーン上の幾つかのテキストはまた、符号化されるべき画像又は画像の一部とみなされる）を生成するデバイス、例えばコンピュータ・アニメーション・ピクチャを生成するためのコンピュータ・グラフィックス・プロセッサ、又は、現実世界のピクチャ、コンピュータ・アニメーション・ピクチャ（例えば、スクリーン・コンテンツ、バーチャル・リアリティ（ＶＲ）ピクチャ）を取得及び／又は提供するための任意の種類のデバイス、及び／又はそれらの任意の組み合わせ（例えば、拡張リアリティ（ＡＲ）ピクチャ）を含んでもよいし、或いはそれらであってもよい。
【００３１】
（デジタル）ピクチャは、強度値を有するサンプルの２次元アレイ又はマトリクスであるか、又はそのように考えることが可能である。アレイ中のサンプルは、ピクセル（ピクセル・エレメントの短縮形）又はペルとも言及されることが可能である。アレイ又はピクチャの水平及び垂直方向（又は軸）におけるサンプルの数は、ピクチャのサイズ及び／又は解像度を規定する。色の表現に関し、典型的には、３つの色成分が使用され、即ち、ピクチャは、３つのサンプル・アレイで表現されるか、又はそれを含むことが可能である。ＲＢＧフォーマット又は色空間において、ピクチャは、対応する赤、緑及び青のサンプル・アレイを含む。しかしながら、ビデオ・コーディングにおいて、各ピクセルは、典型的には、ルミナンス／クロミナンス・フォーマット又は色空間、例えば、Ｙで示されるルミナンス成分（しばしば、Ｌも代わりに使用される）と、Ｃｂ及びＣｒで示される２つのクロミナンス成分とを含むＹＣｂＣｒで表現される。ルミナンス（又は略称、ルマ）成分Ｙは、輝度又はグレー・レベル強度（例えば、グレー・スケール・ピクチャ等におけるもの）を表す一方、２つのクロミナンス（又は略称、クロマ）成分Ｃｂ及びＣｒは色度又は色情報成分を表す。従って、ＹＣｂＣｒフォーマットにおけるピクチャは、ルミナンス・サンプル値（Ｙ）のルミナンス・サンプル・アレイと、クロミナンス値（Ｃｂ及びＣｒ）の２つのクロミナンス・サンプル・アレイとを含む。ＲＧＢフォーマットにおけるピクチャは、ＹＣｂＣｒフォーマットにコンバージョン又は変換されことが可能であり、その逆も可能であり、この処理は色変換又はコンバージョンとしても知られている。ピクチャがモノクロである場合、ピクチャは、ルミナンス・サンプル・アレイのみを含むことが可能である。
【００３２】
ピクチャ・ソース１６（例えば、ビデオ・ソース１６）は、例えばピクチャを捕捉するカメラ、以前に捕捉した又は生成したピクチャを含む又は記憶するメモリ、例えばピクチャ・メモリ、及び／又はピクチャを取得又は受信する任意の種類のインターフェース（内部又は外部）であるとすることが可能である。カメラは、例えば、ソース・デバイスに一体化されたローカルな又は一体化されたカメラであってもよく、メモリは、例えばソース・デバイスに一体化された、ローカルな又は一体化されたメモリであってもよい。インターフェースは、例えば、外部ビデオ・ソース、例えばカメラのような外部ピクチャ捕捉デバイス、外部メモリ、又は外部ピクチャ生成デバイス、例えば外部コンピュータ・グラフィックス・プロセッサ、コンピュータ又はサーバーから、ピクチャを受信するための外部インターフェースであってもよい。インターフェースは、任意のプロプライエタリの又は標準化されたインターフェース・プロトコルに従う任意の種類のインターフェース、例えば有線又は無線インターフェース、光インターフェースであるとすることが可能である。ピクチャ・データ１７を取得するためのインターフェースは、通信インターフェース２２と同じインターフェースであるか又はその一部であってもよい。
【００３３】
前処理ユニット１８及び前処理ユニット１８によって実行される処理との区別において、ピクチャ又はピクチャ・データ１７（例えば、ビデオ・データ１６）は、処理前ピクチャ又は処理前ピクチャ・データ１７と言及される場合もある。
【００３４】
前処理ユニット１８は、（処理前）ピクチャ・データ１７を受信し、ピクチャ・データ１７に対して前処理を実行し、前処理されたピクチャ１９又は前処理されたピクチャ・データ１９を取得するように構成されている。前処理ユニット１８によって実行される前処理は、例えば、トリミング、カラー・フォーマット変換（例えば、ＲＧＢからＹＣｂＣｒへ）、カラー補正、又はノイズ除去を含んでもよい。前処理ユニット１８は、オプション的な構成要素であってもよいことを理解することができる。
【００３５】
エンコーダ２０（例えば、ビデオ・エンコーダ２０）は、前処理されたピクチャ・データ１９を受信し、符号化されたピクチャ・データ２１を提供するように構成される（例えば、図２に基づいて、更なる詳細が以下において説明されるであろう）。
【００３６】
ソース・デバイス１２の通信インターフェース２２は、符号化されたピクチャ・データ２１を受信し、それを他のデバイス、例えば宛先デバイス１４又は任意の他のデバイスへ、記憶又は直接的な再構成のために伝送し、又は、符号化されたデータ１３を記憶し及び／又は符号化されたデータ１３を他のデバイス、例えば宛先デバイス１４又は任意の他のデバイスへ復号化又は記憶のために伝送する前に、符号化されたピクチャ・データ２１をそれぞれ処理するように構成されることが可能である。
【００３７】
宛先デバイス１４は、デコーダ３０（例えば、ビデオ・デコーダ３０）を含み、通信インターフェース又は通信ユニット２８、後処理ユニット３２、及び表示デバイス３４を追加的に、即ちオプション的に含んでもよい。
【００３８】
宛先デバイス１４の通信インターフェース２８は、符号化されたピクチャ・データ２１又は符号化されたデータ１３を、例えばソース・デバイス１２から直接に、又は他の任意のソース、例えばストレージ・デバイス、例えば符号化されたピクチャ・データのストレージ・デバイスから受信するように構成される。
【００３９】
通信インターフェース２２及び通信インターフェース２８は、ソース・デバイス１２と宛先デバイス１４との間の直接的な通信リンク、例えば直接的な有線若しくは無線接続を介して、又は任意の種類のネットワーク、例えば有線若しくは無線ネットワーク若しくはそれらの任意の組み合わせ、又は任意の種類の私的及び公的なネットワーク、又はそれらの任意の種類の組み合わせを介して、符号化されたピクチャ・データ２１又は符号化されたデータ１３を送信又は受信するように構成されることが可能である。
【００４０】
通信インターフェース２２は、例えば、通信リンク又は通信ネットワークを介して伝送するために、符号化されたピクチャ・データ２１を、適切なフォーマット、例えばパケットにパッケージングするように構成されることが可能である。
【００４１】
通信インターフェース２２の対応物を形成する通信インターフェース２８は、例えば、符号化されたピクチャ・データ２１を取得するために、符号化されたデータ１３のパッケージングを解除するように構成されることが可能である。
【００４２】
通信インターフェース２２及び通信インターフェース２８は、双方とも、ソース・デバイス１２から宛先デバイス１４を指し示す図１Ａにおける符号化されたピクチャ・データ１３の矢印によって示されるように、一方向通信インターフェースとして構成されることが可能であり、且つ例えば、通信リンク及び／又はデータ伝送、例えば符号化されたピクチャ・データの伝送に関連する任意の他の情報を確認及び交換するために、例えばメッセージを送信及び受信する、例えば接続をセットアップするように構成されることが可能である。
【００４３】
デコーダ３０は、符号化されたピクチャ・データ２１を受信し、復号化されたピクチャ・データ３１又は復号化されたピクチャ３１を提供するように構成される（例えば、図３に基づいて、更なる詳細が以下において説明されるであろう）。
【００４４】
宛先デバイス１４の後処理プロセッサ３２は、復号化された画像データ３１（再構成されたピクチャ・データとも呼ばれる）、例えば復号化されたピクチャ３１を後処理して、後処理されたピクチャ・データ３３、例えば後処理されたピクチャ３３を取得するように構成される。後処理ユニット３２によって実行される後処理は、例えば、カラー・フォーマット変換（例えば、ＹＣｂＣｒからＲＧＢへ）、カラー補正、トリミング、又は再サンプリング、又は、任意の他の処理、例えば表示デバイス３４による表示のために、復号化されたピクチャ・データ３１を準備するためのものを含むことが可能である。
【００４５】
宛先デバイス１４の表示デバイス３４は、ピクチャを表示するために、例えばユーザー又は視聴者に対して、後処理されたピクチャ・データ３３を受信するように構成される。表示デバイス３４は、再構成されたピクチャを表現するための任意の種類のディスプレイ、例えば、統合された又は外部のディスプレイ又はモニタであってもよいし、又はそれらを含んでもよい。ディスプレイは、例えば、液晶ディスプレイ（ＬＣＤ）、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、プラズマ・ディスプレイ、プロジェクタ、マイクロＬＥＤディスプレイ、液晶オン・シリコン（ＬＣｏＳ）、デジタル光プロセッサ（ＤＬＰ）、又は任意の他の種類のディスプレイを含むことができる。
【００４６】
図１は、ソース・デバイス１２と宛先デバイス１４とを別々のデバイスとして描いているが、デバイスの実施形態はまた、双方又は双方の機能、ソース・デバイス１２又は対応する機能、及び宛先デバイス１４又は対応する機能を含む可能性がある。そのような実施形態では、ソース・デバイス１２又は対応する機能と宛先デバイス１４又は対応する機能とは、同じハードウェア及び／又はソフトウェアを使用して、又は別個のハードウェア及び／又はソフトウェア、又はそれらの任意の組み合わせにより実現されてもよい。
【００４７】
明細書に基づいて当業者には明らかであるように、図１に示すソース・デバイス１２及び／又は宛先デバイス１４における機能又は様々なユニットの機能の存在及び（厳密な）分割は、実際のデバイス及び用途によって異なる可能性がある。
【００４８】
エンコーダ２０（例えば、ビデオ・エンコーダ２０）及びデコーダ３０（例えば、ビデオ・デコーダ３０）は、それぞれ、種々の任意の適切な回路、例えば１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、ディスクリート・ロジック、ハードウェア、又はそれらの任意の組み合わせとして実現されることが可能である。技術がソフトウェアで部分的に実現される場合、デバイスは、ソフトウェアの命令を、適切な非一時的なコンピュータ読み取り可能な記憶媒体に記憶することが可能であり、本開示の技術を実行するために１つ以上のプロセッサを使用して、ハードウェアで命令を実行することが可能である。（ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組み合わせ等を含む）上記の何れも、１つ以上のプロセッサであると考えられてもよい。ビデオ・エンコーダ２０及びビデオ・デコーダ３０の各々は、１つ以上のエンコーダ又はデコーダに含まれる可能性があり、何れも個々のデバイス内の組み合わされたエンコーダ／デコーダ（ＣＯＤＥＣ）の一部として統合されてもよい。
【００４９】
ソース・デバイス１２及び宛先デバイス１４は、任意の種類のハンドヘルド又はステーショナリ・デバイスを含む広範囲に及ぶ任意のデバイス、例えば、ノートブック又はラップトップ・コンピュータ、携帯電話、スマートフォン、タブレット又はタブレット・コンピュータ、カメラ、デスクトップ・コンピュータ、セット・トップ・ボックス、テレビ、表示デバイス、デジタル・メディア・プレーヤ、ビデオ・ゲーム・コンソール、ビデオ・ストリーミング・デバイス（コンテンツ・サービス・サーバー又はコンテンツ配信サーバー等）、放送受信デバイス、放送送信デバイス等を含む可能性があり、任意の種類のオペレーティング・システムを使用してもよいし、又は使用しなくてもよい。場合によっては、ソース・デバイス１２及び宛先デバイス１４は無線通信用に装備されてもよい。従って、ソース・デバイス１２及び宛先デバイス１４は、無線通信デバイスであってもよい。
【００５０】
場合によっては、図１に示すビデオ・コーディング・システム１０は単なる一例に過ぎず、本願の技術は、符号化デバイスと復号化デバイスとの間で如何なるデータ通信も含む必要のないビデオ・コーディング設定（例えば、ビデオ符号化又はビデオ復号化）に適用される可能性がある。他の例において、データは、ローカル・メモリから検索され、ネットワークを介してストリーミング等される。ビデオ符号化デバイスは、データを符号化してメモリに格納することが可能であり、及び／又はビデオ復号化デバイスは、データをメモリから検索して復号化することが可能である。幾つかの例では、符号化及び復号化は、互いに通信しないが、メモリへのデータを符号化し及び／又はメモリからデータを検索して復号化するだけのデバイスによって実行される。
【００５１】
図２は、本願の技術を実現するように構成された例示的なビデオ・エンコーダ２０の概略的／概念的なブロック図を示す。図２の例では、ビデオ・エンコーダ２０は、残差計算ユニット２０４と、変換処理ユニット２０６と、量子化ユニット２０８と、逆量子化ユニット２１０と、逆変換処理ユニット２１２と、再構成ユニット２１４と、バッファ２１６と、ループ・フィルタ・ユニット２２０と、復号化されたピクチャのバッファ（ＤＰＢ）２３０と、予測処理ユニット２６０と、エントロピー符号化ユニット２７０とを含む。予測処理ユニット２６０は、インター予測ユニット２４４と、イントラ予測ユニット２５４と、モード選択ユニット２６２とを含むことが可能である。インター予測ユニット２４４は、動き推定ユニットと、動き補償ユニット（不図示）とを含むことが可能である。図２に示すビデオ・エンコーダ２０はまた、ハイブリッド・ビデオ・エンコーダ又はハイブリッド・ビデオ・コーデックによるビデオ・エンコーダと言及されてもよい。
【００５２】
例えば、残差計算ユニット２０４、変換処理ユニット２０６、量子化ユニット２０８、予測処理ユニット２６０、及びエントロピー符号化ユニット２７０は、エンコーダ２０の順方向信号経路を形成し、例えば、逆量子化ユニット２１０、逆変換処理ユニット２１２、再構成ユニット２１４、バッファ２１６、ループ・フィルタ２２０、復号化されたピクチャのバッファ（ＤＰＢ）２３０、予測処理ユニット２６０は、エンコーダの逆方向信号経路を形成し、エンコーダの逆方向信号経路は、デコーダの信号経路に対応する（図３のデコーダ３０を参照されたい）。
【００５３】
エンコーダ２０は、例えば入力２０２、ピクチャ２０１、又はピクチャ２０１のブロック２０３によって、例えばビデオ又はビデオ・シーケンスを形成するピクチャのシーケンスのうちのピクチャを受信するように構成される。ピクチャ・ブロック２０３はまた、現在のピクチャ・ブロック又はコーディングされるべきピクチャ・ブロックとも言及され、ピクチャ２０１は、現在のピクチャ又はコーディングされるべきピクチャと言及される（特に、ビデオ・コーディングにおいて、現在のピクチャを他のピクチャから、例えば同じビデオ・シーケンス、即ち現在のピクチャも含むビデオ・シーケンスの以前に符号化された及び／又は復号化されたピクチャから区別する）。
【００５４】
予測処理ユニット２６０はまた、ブロック予測処理ユニット２６０とも言及され、ブロック２０３（現在のピクチャ２０１の現在のブロック２０３）及び再構成されたピクチャ・データ、例えばバッファ２１６からの同じ（現在の）ピクチャの参照サンプル、及び／又は復号化されたピクチャのバッファ２３０からの１つ以上の以前に復号化されたピクチャからの参照ピクチャ・データ２３１を受信又は取得し、そのデータを予測のために処理し、即ち、インター予測ブロック２４５又はイントラ予測ブロック２５５である可能性がある予測ブロック２６５を提供するように構成される。
【００５５】
モード選択ユニット２６２は、残差ブロック２０５の計算のために及び再構成されたブロック２１５の再構成のために、予測モード（例えば、イントラ又はインター予測モード）及び／又は予測ブロック２６５として使用されるべき対応する予測ブロック２４５又は２５５を選択するように構成されることが可能である。
【００５６】
モード選択ユニット２６２の実施形態は、予測モードを（例えば、予測処理ユニット２６０によりサポートされるものから）選択するために構成されてもよく、予測モードは、最良の一致又は言い換えれば最小の残差（最小の残差は、伝送又は記憶に対して、より良い圧縮を意味する）、又は最小のシグナリング・オーバーヘッド（最小のシグナリング・オーバーヘッドは、伝送又は記憶に対する、より良い圧縮を意味する）を提供し、或いは両者を考慮する又はバランスをとる。モード選択ユニット２６２は、レート歪最適化（ＲＤＯ）に基づいて予測モードを決定するように、即ち、最小レート歪最適化を提供する予測モード、又は関連するレート歪が少なくとも予測モード選択基準を満たす予測モードを選択するように構成されてもよい。
【００５７】
イントラ予測ユニット２５４は、イントラ予測パラメータ、例えば選択されたイントラ予測モード、イントラ予測ブロック２５５に基づいて決定するように更に構成される。何れにせよ、ブロックに対するイントラ予測モードを選択した後、イントラ予測部２５４はまた、イントラ予測パラメータ、即ちブロックに対する選択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット２７０に提供するようにも構成されている。一例において、イントラ予測ユニット２５４は、後述するイントラ予測技術の任意の組み合わせを実行するように構成されてもよい。
【００５８】
エンコーダ２０の実施形態は、ピクチャを、複数の（典型的には重複しない）ピクチャ・ブロックに区分けするように構成されたピクチャ・パーティショニング・ユニット（図２には示されていない）を含むことが可能である。これらのブロックはまた、ルート・ブロック、マクロ・ブロック（Ｈ．２６４／ＡＶＣ）又はコーディング・ツリー・ブロック（ＣＴＢ）又はコーディング・ツリー・ユニット（ＣＴＵ）（Ｈ．２６５／ＨＥＶＣ及びＶＶＣ）と言及される場合もある。ピクチャ・パーティショニング・ユニットは、ビデオ・シーケンスの全てのピクチャに対して同一のブロック・サイズとブロック・サイズを規定する対応するグリッドとを使用するように、又は、ピクチャ、サブセット、又はピクチャのグループ間でブロック・サイズを変更し、各ピクチャを対応するブロックに区分けするように構成されることが可能である。
【００５９】
ピクチャ２０１と同様に、ピクチャ・ブロックは、再び、ピクチャよりも小さな寸法ではあるが、強度値（サンプル値）を有するサンプルの２次元アレイ又はマトリクスであるか、又はそれらとして考えることが可能である。換言すると、ブロックは、例えば、１つのサンプル・アレイ（例えば、モノクロ・ピクチャの場合におけるルマ・アレイ、又はカラー・ピクチャの場合におけるルマ又はクロマ・アレイ）又は３つのサンプル・アレイ（例えば、カラー・ピクチャの場合におけるルマ及び２つのクロマ・アレイ）、又は適用されるカラー・フォーマットに依存する任意の他の数量及び／又は種類のアレイを含んでもよい。ブロックの水平及び垂直方向（又は軸）のサンプルの数は、ブロックのサイズを規定する。従って、ブロックは、例えば、サンプルのＭｘＮ（Ｍ列Ｎ行）アレイ、又は変換係数のＭｘＮアレイであってもよい。
【００６０】
図２に示すように、エンコーダの実施形態は、ブロック毎にピクチャを符号化するように構成されることが可能であり、例えば符号化及び予測はブロック毎に実行される。
【００６１】
図２に示すビデオ・エンコーダの実施形態は、更に、スライス（ビデオ・スライスとも呼ばれる）を使用することによってピクチャを区分け及び／又は符号化するように構成されることが可能であり、ピクチャは、（典型的には、重複しない）１つ以上のスライスに区分けされ、各スライスは、１つ以上のブロック（例えば、ＣＴＵ）を含むことが可能である。
【００６２】
図２に示すビデオ・エンコーダの実施形態は、タイル・グループ（ビデオ・タイル・グループとも呼ばれる）及び／又はタイル（ビデオ・タイルとも呼ばれる）を使用することによって、ピクチャを区分けする及び／又は符号化するように更に構成されることが可能であり、ピクチャは、（典型的には、重複しない）１つ以上のタイル・グループに区分けされることが可能であり、各タイル・グループは、例えば１つ以上のブロック（例えば、ＣＴＵ）又は１つ以上のタイルを含むことが可能であり、各タイルは、例えば矩形の形状であってもよく、１つ以上のブロック（例えば、ＣＴＵ）、例えば完全な又は断片的なブロックを含む可能性がある。
【００６３】
図３は、本件出願の技術を実現するように構成された例示的なビデオ・デコーダ３０を示す。ビデオ・デコーダ３０は、符号化されたピクチャ・データ（例えば符号化されたビットストリーム）２１、例えばエンコーダ１００によって符号化されたものを受信して、復号化されたピクチャ１３１を得るように構成される。復号化処理の間に、ビデオ・デコーダ３０は、ビデオ・データ、例えば符号化されたビデオ・スライスのピクチャ・ブロック及び関連するシンタックス要素を表す符号化されたビデオ・ビットストリームを、ビデオ・エンコーダ１００から受信する。
【００６４】
図３の例では、デコーダ３０は、エントロピー復号化ユニット３０４、逆量子化ユニット３１０、逆変換処理ユニット３１２、再構成ユニット３１４（例えば、加算器３１４）、バッファ３１６、ループ・フィルタ３２０、復号化されたピクチャのバッファ３３０、及び予測処理ユニット３６０を含む。予測処理ユニット３６０は、インター予測ユニット３４４、イントラ予測ユニット３５４、及びモード選択ユニット３６２を含んでもよい。ビデオ・デコーダ３０は、幾つかの例において、図２によりビデオ・エンコーダ１００に関して説明した符号化パスと概ね逆の復号化パスを実行することが可能である。
【００６５】
エントロピー復号化ユニット３０４は、符号化されたピクチャ・データ２１に対するエントロピー復号化を実行して、例えば量子化係数３０９及び／又は復号化されたコーディング・パラメータ（図３には示されていない）、例えば（復号化された）インター予測パラメータ、イントラ予測パラメータ、ループ・フィルタ・パラメータ、及び／又は他のシンタックス要素の何れか又は全てを取得するように構成される。エントロピー復号化ユニット３０４は、更に、インター予測パラメータ、イントラ予測パラメータ、及び／又は他のシンタックス要素を、予測処理ユニット３６０に転送するように構成される。ビデオ・デコーダ３０は、ビデオ・スライス・レベル及び／又はビデオ・ブロック・レベルでシンタックス要素を受信することができる。
【００６６】
逆量子化ユニット３１０は、逆量子化ユニット１１０と機能的に同一であってもよく、逆変換処理ユニット３１２は、逆変換処理ユニット１１２と機能的に同一であってもよく、再構成ユニット３１４は、再構成ユニット１１４と機能的に同一であってもよく、バッファ３１６は、バッファ１１６と機能的に同一であってもよく、ループ・フィルタ３２０は、ループ・フィルタ１２０と機能的に同一であってもよく、復号化されたピクチャのバッファ３３０は、復号化されたピクチャのバッファ１３０と機能的に同一であってもよい。
【００６７】
予測処理ユニット３６０は、インター予測ユニット３４４とイントラ予測ユニット３５４とを含む可能性があり、インター予測ユニット３４４は機能的にはインター予測ユニット１４４と類似していてもよく、イントラ予測ユニット３５４は機能的にはイントラ予測ユニット１５４と類似していてもよい。予測処理ユニット３６０は、典型的には、ブロック予測を実行し、及び／又は符号化されたデータ２１から予測ブロック３６５を取得して、予測関連パラメータ及び／又は選択された予測モードに関する情報を、例えばエントロピー復号化ユニット３０４から（明示的又は暗示的に）受信又は取得するように構成される。
【００６８】
ビデオ・スライスがイントラ符号化（Ｉ）スライスとして符号化されると、予測処理ユニット３６０のイントラ予測ユニット３５４は、現在のフレーム又はピクチャの以前の復号化されたブロックからのデータ及びシグナリングされたイントラ予測モードに基づいて、現在のビデオ・スライスのピクチャ・ブロックに対する予測ブロック３６５を生成するように構成される。ビデオ・フレームが、インター・コーディングされた（即ち、Ｂ又はＰ）スライスとしてコーディングされると、予測処理ユニット３６０のインター予測ユニット３４４（例えば、動き補償ユニット）は、エントロピー復号化ユニット３０４から受信した動きベクトル及び別のシンタックス要素に基づいて、現在のビデオ・スライスのビデオ・ブロックに対する予測ブロック３６５を生成するように構成される。インター予測に関し、予測ブロックは、１つの参照ピクチャ・リスト内の１つの参照ピクチャから生成されてもよい。ビデオ・デコーダ３０は、ＤＰＢ３３０に記憶された参照ピクチャに基づくデフォルトの構成技術を使用することによって、参照フレーム・リスト、Ｌｉｓｔ０及びＬｉｓｔ１を構成することができる。
【００６９】
予測処理ユニット３６０は、動きベクトル及び他のシンタックス要素を解析することによって、現在のビデオ・スライスのビデオ・ブロックに対する予測情報を決定し、その予測情報を使用して、復号化される現在のビデオ・ブロックに対する予測ブロックを生成するように構成される。例えば、予測処理ユニット３６０は、受信したシンタックス要素の一部を使用して、ビデオ・スライスのビデオ・ブロックをコーディングするために使用される予測モード（例えば、イントラ又はインター予測）、インター予測スライス・タイプ（例えば、Ｂスライス、Ｐスライス、又はＧＰＢスライス）、スライスに対する参照ピクチャ・リストのうちの１つ以上に対する構成情報、スライスのインター符号化されたビデオ・ブロック各々に対する動きベクトル、スライスのインター符号化されたビデオ・ブロック各々に対するインター予測ステータス、及び現在のビデオ・スライス内のビデオ・ブロックを復号化するための他の情報を決定する。
【００７０】
逆量子化ユニット３１０は、ビットストリームにおいて提供され、エントロピー復号化ユニット３０４によって復号化される量子化変換係数を逆量子化、即ち非量子化するように構成される。逆量子化処理は、ビデオ・スライスにおける各ビデオ・ブロックについてビデオ・エンコーダ１００によって計算される量子化パラメータを使用して、量子化の程度、及び、同様に適用されるべき逆量子化の程度を決定することを含む可能性がある。
【００７１】
逆変換処理ユニット３１２は、逆変換、例えば逆ＤＣＴ、逆整数変換、又は概念的に類似する逆変換処理を変換係数に適用して、ピクセル・ドメインにおいて残差ブロックを生成するように構成される。
【００７２】
再構成ユニット３１４（例えば、加算器３１４）は、逆変換ブロック３１３（即ち、再構成された残差ブロック３１３）を予測ブロック３６５に追加して、サンプル・ドメインにおける再構成されたブロック３１５を、例えば再構成された残差ブロック３１３のサンプル値と予測ブロック３６５のサンプル値とを追加することによって、取得するように構成される。
【００７３】
ループ・フィルタ・ユニット３２０（符号化ループ内又は符号化ループの後の何れか）は、再構成されたブロック３１５をフィルタリングして、フィルタリングされたブロック３２１を取得し、例えばピクセル遷移を平滑化し、又は別の方法でビデオ品質を改善するように構成される。一例において、ループ・フィルタ・ユニット３２０は、後述するフィルタリング技術の任意の組み合わせを実行するように構成されることが可能である。ループ・フィルタ・ユニット３２０は、デブロッキング・フィルタ、サンプル・アダプティブ・オフセット（ＳＡＯ）フィルタ、又は他のフィルタ、例えばバイラテラル・フィルタ又は適応ループ・フィルタ（ＡＬＦ）、鮮鋭化若しくは平滑化フィルタ又は協調フィルタのような１つ以上のループ・フィルタを表すように意図されている。ループ・フィルタ・ユニット３２０は、図３ではループ内フィルタとして示されているが、他の構成では、ループ・フィルタ・ユニット３２０は、ポスト・ループ・フィルタとして実現されてもよい。
【００７４】
次いで、所与のフレーム又はピクチャにおける復号化されたビデオ・ブロック３２１は、以後の動き補償に使用される参照ピクチャを格納する、復号化されたピクチャのバッファ３３０内に格納される。
【００７５】
デコーダ３０は、復号化されたピクチャ３３１を、ユーザーに提示又は表示するために、例えば出力３３２を介して出力するように構成される。
【００７６】
ビデオ・エンコーダ３０の他の変形が、圧縮されたビットストリームを復号化するために使用されることが可能である。例えば、デコーダ３０は、ループ・フィルタリング・ユニット３２０なしに出力ビデオ・ストリームを生成することが可能である。例えば、非変換ベースのデコーダ３０は、特定のブロック又はフレームに対して、逆変換処理ユニット３１２なしに直接的に残差信号を逆量子化することができる。別の実装において、ビデオ・デコーダ３０は、逆量子化ユニット３１０及び逆変換処理ユニット３１２を単一のユニットに結合させることができる。
【００７７】
図３に示すビデオ・デコーダ３０の実施形態は、スライス（ビデオ・スライスとも呼ばれる）を使用することによってピクチャを区分け及び／又は復号化するように構成されることが可能であり、ピクチャは、（典型的には、重複しない）１つ以上のスライスに区分け又は復号化されることが可能であり、各スライスは、１つ以上のブロック（例えば、ＣＴＵ）を含むことが可能である。
【００７８】
図３に示すビデオ・デコーダ３０の実施形態は、タイル・グループ（ビデオ・タイル・グループとも呼ばれる）及びタイル（ビデオ・タイルとも呼ばれる）を使用することにより、ピクチャを区分け及び／又は復号化するように構成されることが可能であり、ピクチャは、（典型的には、重複しない）１つ以上のタイル・グループに区分け又は復号化されることが可能であり、各タイル・グループは、例えば１つ以上のブロック（例えば、ＣＴＵ）又は１つ以上のタイルを含むことが可能であり、各タイルは、例えば矩形の形状であってもよく、１つ以上のブロック（例えば、ＣＴＵ）、例えば完全な又は断片的なブロックを含む可能性がある。
【００７９】
エンコーダ及びデコーダでは、現在のステップの処理結果は更に処理され、そして、次のステップに出力される可能性があることは理解されるべきである。例えば、補間フィルタリング、動きベクトル導出、又はループ・フィルタリングの後に、クリップ又はシフトなどの更なる処理が、補間フィルタリング、動きベクトル導出、又はループ・フィルタリングの処理結果に対して実行されてもよい。
【００８０】
ＨＥＶＣ／Ｈ．２６５規格によると、３５個のイントラ予測モードが利用可能である。このセットは、以下のモード：平面モード（イントラ予測モード・インデックスは０である）、ＤＣモード（イントラ予測モード・インデックスは１である）、及び、１８０°のレンジをカバーし且つ２ないし３４のイントラ予測モード・インデックス値レンジを有する方向性（角度）モードを含む。自然なビデオに存在する任意のエッジ方向を捕捉するために、方向性イントラ・モードの数は、ＨＥＶＣで使用されるような３３から、６５に拡張される。追加的な方向性モードは図４に示されており、平面及びＤＣモードは同じまま残る。イントラ予測モードでカバーされるレンジが１８０°より広くなり得ることは注目に値する。特に、３ないし６４のインデックス値を有する６２個の方向性モードは、約２３０°のレンジをカバーし、即ち、幾つかのペアのモードは、反対の方向性を有する。ＨＥＶＣ参照モデル（ＨＭ）及びＪＥＭプラットフォームの場合、図４に示すように、唯１つのペアの角度モード（即ちモード２及び６６）が、反対の方向性を有する。予測子を構成するために、従来の角度モードは、参照サンプルを取り、（必要であれば）それらをフィルタリングしてサンプル予測子を得る。予測子を構成するために必要な参照サンプルの数は、補間に使用されるフィルタの長さに依存する（例えば、バイリニア・フィルタ及びキュービック・フィルタはそれぞれ２及び４の長さを有する）。
【００８１】
図４は、例えばＶＶＣに対して提案される６７個のイントラ予測モードの例を示し、６７個のイントラ予測モードの複数のイントラ予測モードは、平面モード（インデックス０）、ｄｃモード（インデックス１）、及びインデックス２ないし６６を有する角度モードを含み、図４の左下角度モードはインデックス２を指し、インデックスの番号付けは、インデックス６６が図４の最も右上の角度モードになるまでインクリメントされる。
【００８２】
Ｈ．２６４／ＡＶＣ及びＨＥＶＣのようなビデオ・コーディング方式は、ブロック・ベースのハイブリッド・ビデオ・コーディングの功を奏した原理に沿って設計されている。この原理を用いて、ピクチャは先ず、ブロックに区分けされ、次いで各ブロックは、イントラ・ピクチャ又はインター・ピクチャ予測を用いることによって予測される。
【００８３】
本願で使用されるように、用語「ブロック」は、ピクチャ又はフレームの一部であってもよい。説明の便宜上、本発明の実施形態は、ＩＴＵ−Ｔビデオ・コーディング・エキスパート・グループ（ＶＣＥＧ）及びＩＳＯ／ＩＥＣ動画エキスパート・グループ（ＭＰＥＧ）のビデオ・コーディングに関する共同コラボレーション・チーム（ＪＣＴ−ＶＣ）により開発された、高効率ビデオ・コーディング（ＨＥＶＣ）又は汎用ビデオ・コーディング（ＶＶＣ）の参照ソフトウェアを参照して本願では説明される。当業者は、本発明の実施形態がＨＥＶＣ又はＶＶＣに限定されないことを理解するであろう。それはＣＵ、ＰＵ、及びＴＵを指す可能性がある。ＨＥＶＣでは、ＣＴＵは、コーディング・ツリーとして示される四分木構造を使用することによりＣＵに分割される。インター・ピクチャ（時間的）又はイントラ・ピクチャ（空間的）予測を使用してピクチャ・エリアをコーディングするかどうかの決定は、ＣＵレベルで行われる。各ＣＵは更に、ＰＵ分割タイプに応じて、１つ、２つ、又は４つのＰＵに分割されることが可能である。１つのＰＵ内では、同じ予測処理が適用され、関連情報はＰＵベースでデコーダに伝送される。ＰＵ分割タイプに基づいて予測処理を適用することにより残差ブロックを取得した後に、ＣＵは、ＣＵのコーディング・ツリーに類似する別の四分木構造に従って、変換ユニット（ＴＵ）に区分けされることが可能である。ビデオ圧縮技術の最新の開発では四分木及び二分木（ＱＴＢＴ）パーティショニングが、コーディング・ブロックを区分けするために使用される。ＱＴＢＴブロック構造では、ＣＵは正方形又は長方形のいずれかの形状を有することが可能である。例えば、コーディング・ツリー・ユニット（ＣＴＵ）は先ず四分木構造によって区分けされる。四分木リーフ・ノードは、二分木構造によって更に区分けされる。二分木リーフ・ノードは、コーディング・ユニット（ＣＵ）と呼ばれ、更なる如何なるパーティショニングも行わずに、予測及び変換処理のためにそのセグメンテーションが使用される。これは、ＣＵ、ＰＵ、及びＴＵがＱＴＢＴコーディング・ブロック構造において同じブロック・サイズを有することを意味する。と同時に、複数パーティション、例えば三分木パーティションも、ＱＴＢＴブロック構造と共に使用されるように提案された。
【００８４】
ＩＴＵ−Ｔ  ＶＣＥＧ（Ｑ６／１６）及びＩＳＯ／ＩＥＣ  ＭＰＥＧ（ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１）は、現在のＨＥＶＣ規格のものを大幅に上回る圧縮能力を有する将来のビデオ・コーディング技術（スクリーン・コンテンツ・コーディング及びハイ・ダイナミック・レンジ・コーディングのための現行の拡張及び近い将来の拡張を含む）の標準化のための潜在的ニーズを研究している。グループは、この分野の専門家によって提案される圧縮技術設計を評価するために、共同ビデオ探索チーム（ＪＶＥＴ）として知られる共同作業における探査活動で共に機能している。
【００８５】
ＶＴＭ（Versatile  Test  Model）は３５個のイントラ・モードを使用するが、ＢＭＳ（Benchmark  Set）は６７個のイントラ・モードを使用する。イントラ予測は、所与のフレームのみが関与し得る場合に圧縮効率を増加させるために、多くのビデオ・コーディング・フレームワークで使用されるメカニズムである。
【００８６】
図４に示すように、ＪＥＭの最新バージョンは、スキュー・イントラ予測方向に対応する幾つかのモードを有する。これらの内の任意のモードに関し、ブロック内のサンプルを予測するために、ブロック側の内にある対応する位置が分数である場合に、隣接する参照サンプルのセットの補間が実行されるべきである。ＨＥＶＣ及びＶＶＣは、隣接する２つの参照サンプルの間で線形補間を使用する。ＪＥＭは、より高度な４タップ補間フィルタを使用する。フィルタ係数は、幅又は高さの値に応じて、ガウシアン又はキュービックの何れかであるように選択される。幅又は高さを使用するかどうかの決定は、主要な参照側の選択に関する決定と調和し、即ち、イントラ予測モードが対角モードより大きいか又は等しい場合には、参照サンプルの上側が、主要な参照側であるとして選択され、幅の値は、使用する補間フィルタを決定するために選択される。そうではない場合、主要な参照側は、ブロックの左側から選択され、高さはフィルタ選択処理を制御する。具体的には、選択された側の長さが８サンプル以下である場合、キュービック補間４タップが適用される。そうではない場合、補間フィルタは４タップ・ガウシアンのものである。
【００８７】
ＪＥＭで使用される特定のフィルタ係数が表１に示されている。予測されるサンプルは、次のように、サブピクセル・オフセット及びフィルタ・タイプに従って、表１から選択される係数で畳み込むことによって計算される：
【数１】
2021536203.tif 000002
この式において、“>>”はビットワイズ右シフト演算を示す。
【００８８】
キュービック・フィルタが選択される場合、予測されるサンプルは、ＳＰＳで規定されるか又は選択された成分のビット深度から導出される許容される値のレンジに更にクリップされる。
表１．イントラ予測補間フィルタ
【表１】
2021536203.tif 000003
【００８９】
動き補償処理はまた、参照ブロックのピクセルの変位が分数である場合に、サンプル値を予測するためにフィルタリングを使用する。ＪＥＭでは、８タップ・フィルタリングがルミナンス成分について使用され、４タップ長フィルタリングがクロミナンス成分について使用される。動き補間フィルタは、先ず水平に適用され、水平フィルタリングの出力は、更に垂直にフィルタされる。４タップのクロミナンス・フィルタの係数は、表２に与えられている。
【００９０】
表２．クロミナンス動き補間フィルタ係数
【表２】
2021536203.tif 000004
最先端のビデオ・コーディング解決策は、イントラ及びインター予測で異なる補間フィルタを使用する。特に、図５ないし７は、補間フィルタの様々な例を示す。
【００９１】
図５は、ＪＥＭで使用される補間フィルタを概略的に示す。図から分かるように、動き補償補間、インター予測における分数位置に関し、６ビット係数を有する８タップ補間フィルタがルマについて使用され、６ビット係数を有する４タップ補間フィルタがクロマについて使用される。更に、イントラ予測におけるイントラ参照サンプル補間に関し、８ビット係数を有するガウシアン４タップ補間フィルタ又は８ビット係数を有するキュービック４タップ補間フィルタが使用される。
【００９２】
図６は、コア実験ＣＥ３  ３．１．３（G.  Van  der  Auwera  et  al:  JVET  K1023  “Description  of  Core  Experiment  3  (CE3):  Intra  Prediction  and  Mode  Coding”，  version  2）に対して提案される補間フィルタを概略的に示す。図から分かるように、動き補償補間、インター予測における分数位置に関し、６ビット係数を有する８タップ補間フィルタがルマについて使用され、６ビット係数を有する４タップ補間フィルタがクロマについて使用される。更に、イントラ予測におけるイントラ参照サンプル補間に関し、８ビット係数を有するガウシアン６タップ補間フィルタ又は８ビット係数を有するキュービック４タップ補間フィルタが使用される。
【００９３】
図７は、G.  Van  der  Auwera  et  al.:  JVET  K0064  “CE3-related:  On  MDIS  and  intra  interpolation  filter  switching”，  version  2において提案される補間フィルタを概略的に示す。図から分かるように、動き補償補間、インター予測における分数位置に関し、６ビット係数を有する８タップ補間フィルタがルマについて使用され、６ビット係数を有する４タップ補間フィルタがクロマについて使用される。更に、イントラ予測におけるイントラ参照サンプル補間に関し、８ビット係数を有するガウシアン６タップ補間フィルタ又は８ビット係数を有するキュービック６タップ補間フィルタが使用される。
【００９４】
本開示によれば、クロマ動き補償サブ・ペル・フィルタのルック・アップ・テーブル及びハードウェア・モジュールは、参照サンプル間の分数位置に該当する場合に、イントラ予測器内でピクセル値を補間するために再利用される。同じハードウェアが、インター及びイントラ予測の両方で使用されるように意図されているので、フィルタ係数の精度は一貫しているべきであり、即ち、イントラ参照サンプル補間のためのフィルタ係数を表すビット数は、動きサブ・ペル動き補償補間フィルタリングの係数精度と整合しているべきである。
【００９５】
図８は、提供される開示のアイディアを示す。破線の「クロマについては６ビット係数を有する４タップ補間フィルタ」（更に、「統一されたイントラ／インター・フィルタ」と呼ばれる）は、両方の処理：イントラ及びインター予測サンプルの補間に使用されることが可能である。この設計を利用する実施形態は図９に示される。この実装では、フィルタリング・モジュールは、動き補償におけるクロミナンス・サンプルの予測とイントラ予測を実行する際のルミナンス及びクロミナンス・サンプルの予測との両方に従事する別個のユニットとして実装されている。この実装では、ハードウェア・フィルタリング部は、イントラ及びインター予測処理の両方で使用されている。
【００９６】
別の実施形態は、図１０に示すように、フィルタ係数のＬＵＴのみが再利用される場合の実装を示す。この実施形態では、ハードウェア・フィルタリング・モジュールは、ＲＯＭに格納されたＬＵＴから係数をロードする。イントラ予測処理で示されるスイッチは、イントラ予測処理のために選択される主要な側の長さに応じて、使用されるフィルタ・タイプを決定する。
【００９７】
提供される本願の実施形態は、以下の係数を使用することができる（表３参照）。
表３：イントラ及びインター補間フィルタ
【表３】
2021536203.tif 000005
【００９８】
イントラ予測されたサンプルは、次のように、サブピクセル・オフセット及びフィルタ・タイプに従って、表1から選択される係数を有する畳み込みによって計算されることが可能である:
【数２】
2021536203.tif 000006
この式において、“>>”はビットワイズ右シフト演算を示す。
【００９９】
「統一されたイントラ／インター・フィルタ」のフィルタが選択される場合、予測されるサンプルは、ＳＰＳで規定されるか又は選択された成分のビット深度から導出される許容される値のレンジに更にクリップされる。
【０１００】
イントラ参照サンプル補間及びサブ・ペル動き補償補間の場合、ハードウェア・モジュールを再利用するため、及び必要なメモリの全体のサイズを削減するために、同じフィルタを使用することが可能である。
【０１０１】
再利用されるフィルタに加えて、イントラ参照サンプル補間に使用されるフィルタ係数の精度は、上記の再利用されるフィルタの係数の精度と整合しているべきである。
【０１０２】
動き補償におけるルマ処理は、必ずしも８タップ・フィルタリングを使用するわけではなく、４タップ・フィルタリングで動作する可能性もあることに留意されたい。この場合、統一されるために、４タップ・フィルタが選択されることが可能である。
【０１０３】
方法は、補間を含む可能性があるイントラ予測処理の異なる部分に適用されることが可能である。特に、主要な参照サンプルを拡張する場合、参照側サンプルもまた、統一された補間フィルタを使用してフィルタリングされてもよい（詳細については、V.  Drugeon:  JVET-K0211  “CE3:  DC  mode  without  divisions  and  modifications  to  intra  filtering  (Tests  1.2.1，  2.2.2  and  2.5.1)”  version  1を参照されたい）。
【０１０４】
イントラ・ブロック・コピー動作はまた、提案される方法を使用する可能性がある補間ステップを含む（イントラ・ブロック・コピーの説明については、[Xiaozhong  Xu，  Shan  Liu，  Tzu-Der  Chuang，  Yu-Wen  Huang，  Shawmin  Lei，  Krishnakanth  Rapaka，  Chao  Pang，  Vadim  Seregin，  Ye-Kui  Wang，  Marta  Karczewicz:  Intra  Block  Copy  in  HEVC  Screen  Content  Coding  Extensions.  IEEE  J.  Emerg.  Sel.  Topics  Circuits  Syst.  6(4):  409-419  (2016)]を参照されたい）。イントラ予測のための方法が提供され、方法は、ブロックのイントラ予測のための補間フィルタとして、クロミナンス成分の補間フィルタを使用することを含む。
【０１０５】
実施形態において、クロミナンス成分に対する補間フィルタのルック・アップ・テーブルは、イントラ予測のための補間フィルタのルック・アップ・テーブルと同じである。
【０１０６】
実施形態において、クロミナンス成分に対する補間フィルタのルック・アップ・テーブルは、イントラ予測のための補間フィルタのルック・アップ・テーブルと同じではない。
【０１０７】
実施形態において、補間フィルタは４タップ・フィルタである。
【０１０８】
実施形態において、クロミナンス成分に対する補間フィルタのルック・アップ・テーブルは、以下のとおりである。
【表４】
2021536203.tif 000007
【０１０９】
イントラ予測のための方法が提供され、方法は、ブロックのイントラ予測のために、補間フィルタのセットから補間フィルタを選択することを含む。
【０１１０】
実施形態において、補間フィルタのセットは、ガウス・フィルタ及びキュービック・フィルタを含む。
【０１１１】
実施形態において、選択された補間フィルタのルック・アップ・テーブルは、クロミナンス成分に対する補間フィルタのルック・アップ・テーブルと同じである。
【０１１２】
実施形態において、選択された補間フィルタは４タップ・フィルタである。
【０１１３】
実施形態において、選択された補間フィルタはキュービック・フィルタである。
【０１１４】
実施形態において、選択された補間フィルタのルック・アップ・テーブルは、以下のとおりである。
【表５】
2021536203.tif 000008
【０１１５】
実施形態において、選択された補間フィルタのルック・アップ・テーブルは、以下のとおりである。
【表６】
2021536203.tif 000009
【０１１６】
上記方法の任意の１つを実行するための処理回路を含むエンコーダが提供される。
【０１１７】
上記方法の任意の１つを実行するための処理回路を含むデコーダが提供される。
【０１１８】
上記方法の任意の１つを実行するためのプログラム・コードを含むコンピュータ・プログラム製品が提供される。
【０１１９】
１つ以上のプロセッサと、プロセッサに結合され、プロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ読み取り可能な記憶媒体とを含むデコーダが提供され、プログラミングは、プロセッサによって実行されると、上記方法の任意の１つを実行するようにデコーダを構成する。
【０１２０】
１つ以上のプロセッサと、プロセッサに結合され、プロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ読み取り可能な記憶媒体とを含むエンコーダが提供され、プログラミングは、プロセッサによって実行されると、上記方法の任意の１つを実行するようにエンコーダを構成する。
【０１２１】
例えば、説明される方法に関連する開示は、方法を実行するように構成された対応するデバイス又はシステムについても当てはまり、その逆もまた真である可能性があることは理解される。例えば、特定の方法ステップが説明される場合、対応するデバイスは、たとえそのようなユニットが明示的に説明も図中に図示もされていなかったとしても、説明された方法ステップを実行するためのユニットを含むことが可能である。更に、本願で説明される種々の例示的な態様の特徴は、特に断らない限り、互いに組み合わせられる可能性があることは理解される。
【０１２２】
イントラ予測のためのアスペクト比依存性フィルタリングの方法が提供され、方法は、ブロックのアスペクト比に応じて、予測されるブロックに対する補間フィルタを選択することを含む。
【０１２３】
一例において、補間フィルタは、予測されるブロックのイントラ予測モードを閾値処理する方向に応じて選択される。
【０１２４】
一例において、方向は、予測されるブロックの主要な対角の角度に対応する。
【０１２５】
一例において、方向の角度は、
【数３】
2021536203.tif 000010
として計算され、ここで、Ｗ，Ｈはそれぞれ予測されるブロックの幅及び高さである。
【０１２６】
一例において、アスペクト比は
ＲＡ＝ｌｏｇ２（Ｗ）−ｌｏｇ２（Ｈ）
であり、ここで、Ｗ，Ｈはそれぞれ予測されるブロックの幅及び高さである。
【０１２７】
一例において、予測されるブロックの主要な対角の角度は、アスペクト比に基づいて決定される。
【０１２８】
一例において、ブロックのイントラ予測モードの閾値は、予測されるブロックの主要な対角の角度に基づいて決定される。
【０１２９】
一例において、補間フィルタは、使用される参照サンプルがどの側に属するかに応じて選択される。
【０１３０】
一例において、イントラ方向に対応する角度を有する直線は、ブロックを２つのエリアに分割する。
【０１３１】
一例において、異なるエリアに属する参照サンプルは、異なる補間フィルタを使用して予測される。
【０１３２】
一例において、フィルタは、キュービック補間フィルタ又はガウス補間フィルタを含む。
【０１３３】
本願の一実装形式において、フレームはピクチャと同じである。
【０１３４】
本開示の一実装形式において、ＶＥＲ＿ＩＤＸに対応する値は５０であり、ＨＯＲ＿ＩＤＸに対応する値は１８であり、ＶＤＩＡ＿ＩＤＸに対応する値は６６であり、この値は角度モードに対応する値の最大値である可能性があり、イントラ・モード２に対応する値２は、角度モードに対応する値の最小値である可能性があり、ＤＩＡ＿ＩＤＸに対応する値は３４である。
【０１３５】
本開示は、イントラ・モード・シグナリング方式における改善を目標としている。本開示では、ビデオ復号化方法及びビデオ・デコーダが提案される。
【０１３６】
本開示の別の態様において、処理回路を含むデコーダは、上記復号化方法を実行するように開示され構成されている。
【０１３７】
本開示の別の態様において、上記復号化方法の任意の１つを実行するためのプログラム・コードを含むコンピュータ・プログラム製品が提供される。
【０１３８】
本開示の別の態様において、ビデオ・データを復号化するためのデコーダが提供され、デコーダは、１つ以上のプロセッサと、プロセッサに結合され、プロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ読み取り可能な記憶媒体とを含み、プログラミングは、プロセッサによって実行されると、上記復号化方法の任意の１つを実行するようにデコーダを構成する。
【０１３９】
処理回路は、ハードウェアで、又は、ハードウェアとソフトウェアの組み合わせで、例えばソフトウェア・プログラマブル・プロセッサ等によって実現することが可能である。
【０１４０】
処理回路は、ハードウェアで、又は、ハードウェアとソフトウェアの組み合わせで、例えば、ソフトウェア・プログラマブルプロセッサ等によって実現することが可能である。
【０１４１】
図１１は、ＨＥＶＣ  ＵＩＰ方式で使用される複数のイントラ予測モードの概略図を示す。ルミナンス・ブロックに関し、イントラ予測モードは３６個までのイントラ予測モードを含むことが可能であり、これは３つの非方向性モードと３３個の方向性モードとを含むことが可能である。非方向性モードは、平面予測モード、平均（ＤＣ）予測モード、及びクロマ・フロム・ルマ（ＬＭ）予測モードを含む可能性がある。平面予測モードは、ブロックの境界から導出された水平及び垂直勾配を有するブロック振幅表面を仮定することによって、予測を実行することができる。ＤＣ予測モードは、ブロック境界の平均値に一致する値を有する平坦なブロック表面を仮定することによって、予測を実行することができる。ＬＭ予測モードは、ブロックに対するクロマ値がブロックに対するルマ値と一致することを仮定することによって、予測を実行することができる。方向モードは、図１１に示すように、隣接するブロックに基づいて予測を実行することができる。
【０１４２】
Ｈ．２６４／ＡＶＣ及びＨＥＶＣは、イントラ予測処理で使用される前に、参照サンプルにローパス・フィルタが適用され得ることを規定している。参照サンプル・フィルタを使用するか否かの決定は、イントラ予測モード及びブロック・サイズによって決定される。このメカニズムはモード依存イントラ平滑化（ＭＤＩＳ）と呼ばれることがある。また、ＭＤＩＳに関連する複数の方法が存在する。例えば、適応参照サンプル平滑化（ＡＲＳＳ）法は、明示的に（即ち、フラグがビットストリームに含まれる）、又は暗黙に（即ち、例えば、データの隠蔽を利用してビットストリームにフラグを置くことを回避し、シグナリング・オーバーヘッドを削減する）、予測サンプルがフィルタリングされるかどうかを合図する。この場合、エンコーダは、全ての潜在的なイントラ予測モードについてレート歪（ＲＤ）コストを検査することによって、平滑化に関する決定を行うことができる。
【０１４３】
図１１に示すように、ＪＥＭ（ＪＥＭ−７．２）の最新バージョンは、スキュー・イントラ予測方向に対応する幾つかのモードを有する。これらの内の任意のモードに関し、ブロック内のサンプルを予測するために、ブロック側の内にある対応する位置が分数である場合に、隣接する参照サンプルのセットの補間が実行されるべきである。ＨＥＶＣ及びＶＶＣは、隣接する２つの参照サンプルの間で線形補間を使用する。ＪＥＭは、より高度な４タップ補間フィルタを使用する。フィルタ係数は、幅又は高さの値に応じて、ガウシアン又はキュービックの何れかであるように選択される。幅又は高さを使用するかどうかの決定は、主要な参照側の選択に関する決定と調和し：イントラ予測モードが対角モードより大きいか又は等しい場合には、参照サンプルの上側が、主要な参照側であるとして選択され、幅の値は、使用する補間フィルタを決定するために選択される。そうではない場合、主要な参照側は、ブロックの左側から選択され、高さはフィルタ選択処理を制御する。具体的には、選択された側の長さが８サンプル以下である場合、キュービック補間４タップが適用される。そうではない場合、補間フィルタは４タップ・ガウシアンのものである。
【０１４４】
３２×４ブロックの場合において、対角のもの（４５°として示されている）より小さい及び大きいモードに対する補間フィルタ選択の例が図１２に示されている。
【０１４５】
ＶＶＣでは、ＱＴＢＴとして知られる、四分木及び二分木双方に基づくパーティショニング・メカニズムが使用される。図１３に示されるように、ＱＴＢＴパーティショニングは、正方形だけではなく、長方形ブロックも提供することが可能である。もちろん、幾らかのシグナリング・オーバーヘッド及びエンコーダ側での計算の複雑さの増加は、ＨＥＶＣ／Ｈ．２６５規格で使用される従来の四分木ベースのパーティショニングと比較した場合のＱＴＢＴパーティショニングの代償である。それにもかかわらず、ＱＴＢＴベースのパーティショニングは、より良いセグメンテーション特性を与え、従って、従来の四分木よりもかなり高いコーディング効率を示す。
【０１４６】
しかしながら、現在の状態においてＶＶＣは、参照サンプルの両側（左側及び上側）に同じフィルタを適用する。たとえブロックが垂直であろうと水平であろうと、参照サンプル・フィルタは、両方の参照サンプルの側で同じであろう。
【０１４７】
この文書において、「垂直方向ブロック」（「ブロックの垂直方向」）及び「水平方向ブロック」（「ブロックの水平方向」）という用語は、ＱＴＢＴのフレームワークで生成される矩形ブロックに適用される。これらの用語は、図１４に示されるものと同じ意味を有する。
【０１４８】
本開示は、ブロックの向きを考慮するために、異なる参照サンプル・フィルタを選択するメカニズムを提供する。具体的には、ブロックの幅及び高さが独立して検査され、その結果、異なる参照サンプル・フィルタが、予測されるブロックの異なる側に位置する参照サンプルに適用される。
【０１４９】
先行技術の検討において、補間フィルタの選択は主要な参照側の選択に関する決定と調和することが説明された。これら双方の決定は、現在、イントラ予測モードと対角（４５度）方向との比較に依存している。
【０１５０】
しかしながら、この設計は細長いブロックに対する重大な欠陥を有することを認めることができる。図１５から、たとえモード比較基準を用いて、より短い側が主要な参照として選択されたとしても、予測されるピクセルの大部分は、依然として、より長い側の参照サンプル（破線エリアとして示されている）から導かれるであろう、ということが観察される。
【０１５１】
本開示は、補間フィルタ選択処理の間に、イントラ予測モードを閾値処理するために別の方向を使用することを提案する。具体的には、方向は、予測されるブロックの主要な対角の角度に対応する。例えば、サイズ３２×４及び４×３２のブロックに対して、参照サンプル・フィルタを決定するために使用される閾値モードｍＴは、図１６に示されるように規定される。
【０１５２】
閾値イントラ予測角度の特定の値は、以下の式を用いて計算されることが可能である。
【数４】
2021536203.tif 000011
ここで、Ｗ，Ｈはそれぞれブロックの幅及び高さである。
【０１５３】
本開示の別の実施形態は、使用される参照サンプルがどちらの側に属するかに応じて、異なる補間フィルタを使用するものである。この決定の一例は図１７に示されている。
【０１５４】
イントラ方向ｍに対応する角度を有する直線は、予測されるブロックを、２つのエリアに分割する。異なるエリアに属するサンプルは、異なる補間フィルタを用いて予測される。
【０１５５】
ｍＴの例示的な値（ＢＭＳ１．０で規定されるイントラ予測モードのセットに対するもの）及び対応する角度は、表４に与えられている。角度αは図１６に示されるように与えられる。
表４．ｍＴの例示的な値（ＢＭＳ１．０で規定されるイントラ予測モードのセットに対するもの）
【表７】
2021536203.tif 000012
【０１５６】
既存の技術及び解決策と比較して、本開示は、異なる補間フィルタを使用して予測されるブロック内のサンプルを使用しており、サンプルを予測するために使用される補間フィルタは、ブロックの形状、水平又は垂直である方向、及びイントラ予測モード角度に従って選択される。
【０１５７】
本開示は、参照サンプル・フィルタリングの段階で適用される可能性がある。特に、補間フィルタ選択処理に対して上述した同様の規則を使用して、参照サンプル平滑化フィルタを決定することが可能である。
【０１５８】
補間フィルタリングに加えて、参照サンプル・フィルタリングは、イントラ予測器内でサンプルを予測する直前の参照サンプルに適用することも可能である。参照サンプル・フィルタリングの後に取得されるフィルタリングされた参照サンプルは、イントラ予測モードの選択された方向に従ってイントラ予測器内で対応するサンプルにそれらをコピーするため、又は更なる補間フィルタリングのため、の何れかに使用されることが可能である。以下のフィルタは、この方法で参照サンプルに適用されることが可能である。
表５．例示的な参照サンプル・フィルタ
【表８】
2021536203.tif 000013
【０１５９】
図２１は、サンプル１１２０を含む、周囲の太枠で示された現在のブロック１１３０を示す。更に、図面は、隣接するブロックの参照サンプル１１１０を示す。例えば、参照サンプルは、上ブロック又は左ブロックのサンプルであってもよい。
【０１６０】
実施形態によれば、提供される方法は、以下のステップを含む：
１．選択された方向性イントラ予測モードの各々は、以下のグループのうちの１つに分類される：
Ａ．垂直又は水平モード、
Ｂ．４５度の倍数である角度を表す対角モード、
Ｃ．残りの方向性モード；
２．方向性イントラ予測モードがグループＡに属していると分類される場合には、フィルタは、イントラ予測器に属するサンプル１１２０を生成するために参照サンプル１１１０には適用されない。参照サンプル１１１０は、図１１に示すように、ブロック境界１１３０を用いて予測されるブロック（イントラ予測器）内でサンプル１１２０から分離される；
３．モードがグループＢに該当する場合には、参照サンプル・フィルタ（表５に示されている任意の参照サンプル・フィルタ、例えば［１，２，１］）が参照サンプルに適用され、選択された方向に従ってこれらのフィルタリングされた値をイントラ予測器に更にコピーするが、補間フィルタは適用されない；
４．モードがグループＣに属していると分類される場合には、選択された方向に従って参照サンプルの間の分数又は整数位置に該当する予測されたサンプルを生成するために、参照サンプルに、イントラ参照サンプル補間フィルタ（例えば、表３に示されたフィルタ）のみが適用される（参照サンプル・フィルタリングは実行されない）。
【０１６１】
実施形態によれば、提供される方法は、以下のステップを提供する：
１．現在のブロックのイントラ予測処理に対する方向性イントラ予測モードは、以下のグループのうちの１つに分類される：
Ａ．垂直又は水平モード、
Ｂ．４５度の倍数である角度を表す対角モードを含む方向性モード、
Ｃ．残りの方向性モード；
２．方向性イントラ予測モードがグループＢに属していると分類される場合には、参照サンプル・フィルタが参照サンプルに適用される；
３．方向性イントラ予測モードがグループＣに属していると分類される場合には、イントラ参照サンプル補間フィルタが参照サンプルに適用される。
【０１６２】
換言すれば、現在のブロックのイントラ予測に使用されるべきイントラ予測モードの分類に応じて、参照サンプルが適用されるか（分類Ｂ）、又は参照サンプル補間フィルタが適用される（分類Ｃ）。
【０１６３】
特に、実施形態によれば、サンプル・フィルタ又はサンプル補間フィルタの何れかが適用される。特に、方向性イントラ予測モードによる参照サンプル・フィルタが分数サンプルでない場合には、補間フィルタは適用されない。換言すれば、予測方向による参照サンプルが整数サンプルに該当する場合、補間フィルタは使用されることを要しない。
【０１６４】
更に、分類に従って、フィルタは全く使用されない可能性がある。例えば、現在のブロックのイントラ予測に使用されるイントラ予測モードの分類Ａの場合、参照サンプル・フィルタ又は参照サンプル補間フィルタの何れも使用されない可能性がある。
【０１６５】
予測されるサンプルは、図２１に示されるように、参照サンプルの左及び上ラインから取得されることが可能である。イントラ予測モードに応じて、予測されたサンプルの各々について、参照サンプルの対応する位置が決定される。モードが非整数勾配を有する場合、参照サンプルの位置は分数であり、参照サンプル値は、この分数位置に隣接する参照サンプルのサブセットに、補間フィルタを適用することによって取得される。
【０１６６】
参照サンプルのライン内のこの参照サンプルの位置は、予測されるサンプル位置に対して水平（イントラ予測モードがＤＩＡ＿ＩＤＸより大きい場合）又は垂直（イントラ予測モードがＤＩＡ−ＩＤＸより小さい場合）オフセットを有する。このオフセットの値は、モードの角度と、予測されるサンプルから参照サンプルのラインまでの距離とに依存する。イントラ予測モードが２又はＶＤＩＡ＿ＩＤＸである場合、予測の角度は４５度に等しく、オフセットの値は参照サンプルのラインまでの距離の値に等しい。
【０１６７】
グループＢの対角モードは、整数勾配広角モードを含むことも可能である。この場合、モードＤＩＡ＿ＩＤＸ及びＶＤＩＡ＿ＩＤＸと同様に、オフセットの値は参照サンプルのラインまでの距離の倍数であり、予測されるサンプル各々に対する参照サンプル位置は非分数である。
【０１６８】
例えば、マルチ参照ライン予測が使用されず（参照ライン・インデックスはゼロに等しい）、ブロック内の予測されるサンプルの位置が、位置（０，０）を有する左上の予測されるサンプルに対して（１，３）に等しい場合、イントラ予測モードがＤＩＡ＿ＩＤＸより大きい場合には、参照サンプルのラインまでの距離は４サンプルに等しい。イントラ予測モードがＤＩＡ＿ＩＤＸより小さい場合、この距離は２に等しい。
【０１６９】
イントラ予測モードが広角モードであり、その勾配が整数である場合、予測されるサンプルの値は、次のように計算することが可能である：
イントラ予測モードがＤＩＡ＿ＩＤＸより大きい場合には
predSamples[x，y]=p[  x  +Δ]  [  -1]，    
Δ=N  *  (y+1)
であり、そうではない場合には
predSamples[x，y]=p[-1][  y  +Δ]，
Δ=  N  *  (x+1)  
である。ここで、Δはオフセットの値を示す。
４５角度モード２及びＶＤＩＡ＿ＩＤＸに対する値Ｎは１に等しい。
【０１７０】
４５度の倍数である角度を表すモードは、予測されるサンプル“predSamples[x][y]”を決定するために同じ式を使用するが、Ｎの値は１より大きな整数であろう。４５度の倍数である角度を表すモードは、必ずしも水平及び垂直モードを含まないことに留意されたい。
【０１７１】
広角整数勾配モードのオフセットの値Δは、モード２及びモードＶＤＩＡ＿ＩＤＸに対するオフセットの倍数であることが分かる。
【０１７２】
一般に、オフセットの値は、パラメータ“intraPredAngle”を使用して、イントラ予測モード（predModeIntra）にマッピングされることが可能である。このパラメータのイントラ予測モードへの特定のマッピングは、以下の表６に示されている。
表６−intraPredAngleの仕様
【表９】
2021536203.tif 000014
【０１７３】
逆角度パラメータinvAngleは、intraPredAngleに基づいて次のように導出される:
invAngle  =  Round(256*32/intraPredAngle)
【０１７４】
予測サンプルの例示的な導出が以下において説明される:
予測サンプルpredSamples[x][y]，x=0..nTbW-1，y=0..TbH−1の値は、次のように導出される:
−  predModeIntraが３４以上である場合、以下の順序ステップが適用される：
１．参照サンプル・アレイref[x]は、次のように指定される：
−  以下が適用される：
ref[ x ]  =  p[ −1 − refIdx + x ][ −1 − refIdx ]，  x = 0..nTbW + refIdx
−  intraPredAngleが０より小さい場合、主要な参照サンプル・アレイは、次のように拡張される：
−  （nTbH * intraPredAngle）>>５が−１より小さい場合、
ref[ x ]=p[ −1 − refIdx ][ −1 − refIdx + (  ( x * invAngle + 128 )  >>  8) ]，  x = −1..( nTbH * intraPredAngle )  >>  5
ref[ ( ( nTbH * intraPredAngle )  >>  5 ) − 1 ]  =  ref[ ( nTbH * intraPredAngle )  >>  5 ]
ref[ nTbW + 1 + refIdx ]  =  ref[ nTbW + refIdx ]
−  そうではない場合
ref[ x ]  =  p[ −1 − refIdx + x ][ −1 − refIdx ]，  x  =  nTbW + 1 + refIdx..refW + refId
ref[ −1 ]  =  ref[ 0 ]
−  追加サンプルref[ refW + refIdx +x ]，  x = 1..( Max( 1， nTbW / nTbH ) * refIdx + 1)  は、次のように導出される：
ref[ refW + refIdx +x ]  =  p[ −1 + refW ][ −1 − refIdx ]
【０１７５】
２．予測サンプルの値predSamples[ x ][ y ]，  x = 0..nTbW − 1，  y = 0..nTbH − 1は、次のように導出される：
−  インデックス変数iIdx及び乗算因子iFactは、次のように導出される：
iIdx  =  (  ( y + 1 + refIdx ) * intraPredAngle )  >>  5 + refIdx
iFact  =  (  ( y + 1 + refIdx ) * intraPredAngle ) & 31
−  cIdxが０に等しい場合、以下が適用される：
−  補間フィルタ係数fT[j]，j=0..3は、次のように導出される：
fT[ j ]  =  filterFlag  ?  fG[ iFact ][ j ]  :  fC[ iFact ][ j ]
−  予測サンプルの値predSamples[ x ][ y ]は、次のように導出される：
【数５】
2021536203.tif 000015
−  そうではない場合（cIdxが０に等しくない）、iFactの値に依存して、以下が適用される：
−  iFactが０に等しくない場合、予測サンプルの値predSamples[ x ][ y ]は、次のように導出される：
predSamples[ x ][ y ]=  (  ( 32 − iFact ) * ref[ x + iIdx + 1 ] + iFact * ref[ x + iIdx + 2 ] + 16  )  >>  5
−  そうではない場合、予測サンプルの値predSamples[ x ][ y ]は、次のように導出される：
predSamples[ x ][ y ]  =  ref[ x + iIdx + 1 ]
−  そうではない場合（predModeIntraが３４より小さい）、以下の順序ステップが適用される：
【０１７６】
３．参照サンプル・アレイref[x]は、次のように指定される：
−  以下が適用される：
ref[ x ]  =  p[ −1 − refIdx ][ −1 − refIdx + x ]，  x = 0..nTbH + refIdx
−  intraPredAngleが０より小さい場合、主要な参照サンプル・アレイは、次のように拡張される：
−  ( nTbW * intraPredAngle )  >>  5が−１より小さい場合、
ref[ x ]  =  p[ −1 − refIdx + (  ( x * invAngle + 128 )  >>  8  ) ][ −1 − refIdx ]，    x = −1..( nTbW * intraPredAngle )  >>  5
ref[ ( ( nTbW * intraPredAngle )  >>  5 ) − 1 ]  =  ref[ ( nTbW * intraPredAngle )  >>  5 ]
ref[ nTbG + 1 + refIdx ]  =  ref[ nTbH + refIdx ]
−  そうではない場合
ref[ x ]  =  p[ −1 − refIdx ][ −1 − refIdx + x ]，  x = nTbH + 1 + refIdx..refH + refIdx
ref[ −1 ]  =  ref[ 0 ]
−  追加サンプルref[ refH + refIdx +x ]，x = 1..( Max( 1， nTbW / nTbH ) * refIdx + 1)は、次のように導出される：
ref[ refH + refIdx +x ]  =  p[ −1 + refH ][ −1 − refIdx ]
【０１７７】
４．予測サンプルの値predSamples[ x ][ y ]，  x = 0..nTbW − 1，  y = 0..nTbH − 1は、次のように導出される：
−  インデックス変数iIdx及び乗算因子iFactは、次のように導出される：
iIdx  =  (  ( x + 1 + refIdx ) * intraPredAngle )  >>  5
iFact  =  (  ( x + 1 + refIdx ) * intraPredAngle ) & 31
−  cIdxが０に等しい場合、以下が適用される：
−  補間フィルタ係数fT[ j ]，  j  =  0..3は、次のように導出される：
fT[ j ]  =  filterFlag  ?  fG[ iFact ][ j ]  :  fC[ iFact ][ j ]
−  予測サンプルの値predSamples[ x ][ y ]は、次のように導出される：
【数６】
2021536203.tif 000016
−  そうではない場合（cIdxは０に等しくない）、iFactの値に依存して、以下が適用される：
−  iFactが０に等しくない場合、予測サンプルの値predSamples[ x ][ y ]は、次のように導出される：
predSamples[ x ][ y ]  =                (  ( 32 − iFact ) * ref[ y + iIdx + 1 ] + iFact * ref[ y + iIdx + 2 ] + 16  )  >>  5
−  そうではない場合、予測サンプルの値predSamples[ x ][ y ]は、次のように導出される：
predSamples[ x ][ y ]  =  ref[ y + iIdx + 1 ]              
【０１７８】
上記の例及び上記の表から、幾つかのモードに対する補間の呼び出しは冗長であることが分かる。具体的には、これは、３２の倍数である対応するintraPredAngleパラメータを有するモードに対して生じる。値３２は、整数の４５度の勾配を有するモードに対応する。実際、predAngleの値は、参照サンプルのラインに隣接する予測されるサンプルに使用されるであろうオフセットの値に対する５ビット固定小数点の整数表現である。
【０１７９】
具体的には、モード[-14，  -12，  -10，  -6，  2，  34，  66，  72，  76，  78，  80]に関し、予測されるサンプルの計算は補間を必要としない。予測されるサンプルの値は、参照サンプルをコピーすることによって得ることができる。
【０１８０】
開示の実施形態の例示的な実装を組み込んだＶＶＣドラフト仕様のバージョンは、以下のテキストで与えられる：
8.4.4.2.1  一般的なイントラ・サンプル予測
この処理に対する入力は、以下のとおりである：
−  現在のピクチャの左上サンプルに対する、現在の変換ブロックの左上サンプルを指定するサンプル位置（xTbCmp， yTbCmp），
−  イントラ予測モードを指定する変数predModeIntra，
−  変換ブロック幅を指定する変数nTbW，
−  変換ブロック高さを指定する変数nTbH，
−  コーディング・ブロック幅を指定する変数nCbW，
−  コーディング・ブロック高さを指定する変数nCbH，
−  現在のブロックの色成分を指定する変数cIdx。
この処理の出力は、予測されたサンプルpredSamples[  x  ][  y  ]，x  =  0..nTbW  −  1，  y  =  0..nTbH  −  1である。
【０１８１】
変数refW及びrefHは、次のように導出される：
−  IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しいか、又はcIdxが０に等しくない場合、以下が適用される：
refW  =  nTbW  *  2    (8−103)
refH  =  nTbH  *  2    (8−104)
−  そうではない場合（IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しくない、且つcIdxが０に等しい）、以下が適用される：
refW  =  nCbW * 2    (8−105)
refH  =  nCbH * 2    (8−106)
【０１８２】
イントラ予測参照ライン・インデックスを指定する変数refIdxは、次のように導出される：
refIdx  =  ( cIdx  = =  0 )  ?  IntraLumaRefLineIdx[ xTbCmp ][ yTbCmp ]  :  0  (8−107)
【０１８３】
参照サンプルp[ x ][ y ]，x = −1 − refIdx，  y = −1 − refIdx..refH − 1及びx = −refIdx..refW − 1，  y = −1 − refIdxに関し、以下の順序ステップが適用される：
１．Bross  B  et  al.:  “Versatile  Cideo  Coding  (Draft  4)”，  JVET-M1001-v7，  March  2019，  (以下、この文献はJVET-M1001-v7と言及される)の条項8.4.4.2.2で指定されているような参照サンプル利用可能性マーキング処理が、サンプル位置( xTbCmp， yTbCmp )、イントラ予測参照ライン・インデックスrefIdx、参照サンプル幅refW、参照サンプル高さrefH、色成分インデックスcIdxを入力とし、且つ参照サンプルrefUnfilt[ x ][ y ]，x = −1 − refIdx，  y = −1 − refIdx..refH − 1及びx = − refIdx..refW − 1，  y = −1 − refIdxを出力として呼び出される。
【０１８４】
２．少なくとも１つのサンプルrefUnfilt[ x ][ y ]，x = −1 − refIdx，  y = −1 − refIdx..refH − 1及びx = −refIdx..refW − 1，  y = −1 − refIdxが、「イントラ予測に利用可能でない」としてマークされる場合、JVET-M1001-v7の条項8.4.4.2.3で指定されているような参照サンプル置換処理が、イントラ予測参照ライン・インデックスrefIdx、参照サンプル幅refW、参照サンプル高さrefH、参照サンプルrefUnfilt[ x ][ y ]，x = −1 − refIdx，  y = −1 − refIdx..refH − 1及びx = − refIdx..refW − 1，  y = −1 − refIdx、及び色成分インデックスcIdxを入力とし、且つ修正された参照サンプルrefUnfilt[ x ][ y ]，x = −1 − refIdx，  y = −1 − refIdx..refH − 1及びx = −refIdx..refW − 1，  y = −1 − refIdxを出力として呼び出される。
【０１８５】
３．predModeIntraがINTRA_DCに等しい場合、RefFilterFlagは０に設定される。そうではない場合、パラメータPredAngle，  RefFilterFlag、及びInterpolationFlagは、対応するintraPredAngleパラメータ、及び条項8.4.4.2.7以降で指定されているフィルタ・フラグ導出処理を、イントラ予測モードpredModeIntra、イントラ予測参照ライン・インデックスrefIdx、変換ブロック幅nTbW、変換ブロック高さnTbH、コーディング・ブロック幅nCbW及び高さnCbH、並びに色成分インデックスcIdxとともに呼び出すことによって取得される。
【０１８６】
４．条項 8.4.4.2.4以降で指定されているような参照サンプル・フィルタリング処理は、イントラ予測参照ライン・インデックスrefIdx、変換ブロック幅nTbW及び高さnTbH、参照サンプル幅refW、参照サンプル高さrefH、フィルタリングされていないサンプルrefUnfilt[ x ][ y ]，x = −1 − refIdx，  y = −1 − refIdx..refH − 1及びx = −refIdx..refW − 1，  y = −1 − refIdx，  RefFilterFlagパラメータ、並びに色成分インデックスcIdxを入力とし、且つ参照サンプルp[ x ][ y ]，  x = −1 − refIdx，  y = −1 − refIdx..refH − 1及びx = −refIdx..refW − 1，  y = −1 − refIdxを出力として呼び出される。
【０１８７】
predModeIntraによるイントラ・サンプル予測処理は、次のように適用される:
−  predModeIntraがINTRA_PLANARに等しい場合、JVET-M1001-v7の条項 8.4.4.2.5で指定されている対応するイントラ予測モード処理が、変換ブロック幅nTbW及び変換ブロック高さnTbH、並びに参照サンプル・アレイｐを入力として呼び出され、出力は予測されたサンプル・アレイpredSamplesである。  
【０１８８】
−  そうではない場合、predModeIntraがINTRA_DCに等しい場合、JVET-M1001-v7の条項8.4.4.2.6で指定されている対応するイントラ予測モード処理が、変換ブロック幅nTbW、変換ブロック高さnTbH、及び参照サンプル・アレイｐを入力として呼び出され、出力は予測されたサンプル・アレイpredSamplesである。    
【０１８９】
−  そうではない場合、predModeIntraがINTRA_LT_CCLM、INTRA_L_CCLM又はINTRA_T_CCLMに等しい場合、条項8.4.4.2.8で指定される対応するイントラ予測モード処理が、イントラ予測モードpredModeIntra、( xTbCmp， yTbCmp )に等しく設定されたサンプル位置( xTbC， yTbC )、変換ブロック幅nTbW及び高さnTbH、並びに参照サンプル・アレイｐを入力として呼び出され、出力は予測されたサンプル・アレイpredSamplesである。
【０１９０】
−  そうではない場合、条項 8.4.4.2.8以降で指定される対応するイントラ予測モード処理が、イントラ予測モードpredModeIntra、イントラ予測参照ライン・インデックスrefIdx、変換ブロック幅nTbW、変換ブロック高さnTbH、参照サンプル幅refW、参照サンプル高さrefH、コーディング・ブロック幅nCbW及び高さnCbH、補間フィルタ選択フラグInterpolationFlag、並びに参照サンプル・アレイｐを入力とし、且つ修正されたイントラ予測モードpredModeIntra及び予測されたサンプル・アレイpredSamplesを出力として呼び出される。
【０１９１】
JVET-M1001-v7の条項8.4.4.2.9で指定される位置依存予測サンプル・フィルタリング処理が、イントラ予測モードpredModeIntra、変換ブロック幅nTbW、変換ブロック高さnTbH、予測されるサンプルpredSamples[ x ][ y ]，x = 0..nTbW − 1，  y = 0..nTbH − 1、参照サンプル幅refW、参照サンプル高さrefH、参照サンプルp[ x ][ y ]，x = −1，  y = −1..refH − 1及びx = 0..refW − 1，  y = −1、並びに色成分インデックスcIdxを入力として呼び出され、出力は、修正された予測されたサンプル・アレイpredSamplesである。
−  IntraSubPartitionsSplitTypeはISP_NO_SPLITに等しいか、又はcIdxは０に等しくない
−  refIdxは０に等しいか、又はcIdxは０に等しくない
−  以下の条件のうちの１つが真である：
−  predModeIntraがINTRA_PLANARに等しい
−  predModeIntraがINTRA_DCに等しい
−  predModeIntraがINTRA_ANGULAR18に等しい
−  predModeIntraがINTRA_ANGULAR50に等しい
−  predModeIntraがINTRA_ANGULAR10に等しい
−  predModeIntraがINTRA_ANGULAR58以上である
【０１９２】
8.4.4.2.4  参照サンプル・フィルタリング処理
この処理に対する入力は次のとおりである：
−  イントラ参照ライン・インデックスを指定する変数refIdx，
−  変換ブロック幅を指定する変数nTbW，
−  変換ブロック高さを指定する変数nTbH，
−  参照サンプル幅を指定する変数refW，
−  参照サンプル高さを指定する変数refH，
−  （フィルタリングされていない）隣接するサンプルrefUnfilt[ x ][ y ]，  x = −1 − refIdx， y = −1 − refIdx..refH − 1及び  x = −refIdx..refW − 1， y = −1 − refIdx，
−  RefFilterFlagパラメータ
この処理の出力は、参照サンプルp[ x ][ y ]，  x = −1 − refIdx， y = −1 − refIdx..refH − 1及びx = −refIdx..refW − 1， y = −1 − refIdxである。
【０１９３】
参照サンプルp[ x ][ y ]の導出に関し、以下が適用される：
−  RefFilterFlagが１に等しい場合、フィルタリングされた値p[ x ][ y ]，  x = −1， y = −1..refH − 1及びx = 0..refW − 1， y = −1は、次のように導出される：
p[ −1 ][ −1 ]  =  ( refUnfilt[ −1 ][ 0 ] + 2 * refUnfilt[ −1 ][ −1 ] + refUnfilt[ 0 ][ −1 ] + 2 )  >>  2    (8−111)
p[ −1 ][ y ]  =  ( refUnfilt[ −1 ][ y + 1 ] + 2 * refUnfilt[ −1 ][ y ] + refUnfilt[ −1 ][ y − 1 ] + 2 )  >>  2
for  y = 0..refH − 2                     (8−112)
p[ −1 ][ refH − 1 ]  =  refUnfilt[ −1 ][ refH − 1 ]                      (8−113)
p[ x ][ −1 ]  =  ( refUnfilt[ x − 1 ][ −1 ] + 2 * refUnfilt[ x ][ −1 ] + refUnfilt[ x + 1 ][ −1 ] + 2 )  >>  2
for  x = 0..refW − 2                    (8−114)
p[ refW − 1 ][ −1 ]  =  refUnfilt[ refW − 1 ][ −1 ]                     (8−115)
−  そうではない場合、参照サンプル値p[ x ][ y ]は、フィルタリングされていないサンプル値refUnfilt[ x ][ y ]，x = −1− refIdx， y = −1− refIdx..refH − 1及び  x = −refIdx..refW − 1， y = −1− refIdxに等しく設定される。
【０１９４】
8.4.4.2.7    intraPredAngleパラメータの仕様及びフィルタ・フラグ導出
この処理に対する入力は次のとおりである：
−  イントラ予測モードpredModeIntra，
−  変換ブロック幅を指定する変数nTbW
−  変換ブロック高さを指定する変数nTbH
−  コーディング・ブロック幅を指定する変数nCbW
−  コーディング・ブロック高さを指定する変数nCbH
−  色成分インデックスcIdx
この処理の出力は、修正されたイントラ予測モードpredModeIntra、intraPredAngleパラメータRefFilterFlag及びInterpolationFlag変数である。
【０１９５】
変数nW及びnHは次のように導出される：
−  IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しいか、又はcIdxが０に等しくない場合、以下が適用される：
nW = nTbW
nH = nTbH
−  そうではない場合（IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しくない、且つcIdxが０に等しい）、以下が適用される：
nW = nCbW
nH = nCbH
変数whRatioは、Abs( Log2( nW / nH ) )に等しく設定される。
【０１９６】
非正方形ブロック（nWがnHに等しくない）に関し、イントラ予測モードpredModeIntraは、次のように修正される：
−  以下の条件の全てが真である場合、predModeIntraは(predModeIntra + 65)に等しく設定される。
−  nWはnHより大きい
−  predModeIntraは２以上である
−  predModeIntraは  (  whRatio > 1  )より小さい ?  ( 8 + 2 * whRatio )  :  8
−  そうではない場合、以下の条件の全てが真である場合、predModeIntraは(predModeIntra -  67)に等しく設定される。
−  nHはnWより大きい
−  predModeIntraは６６以下である
−  predModeIntraは(  whRatio > 1 )より大きい ?  ( 60 − 2 * whRatio )  :  60
【０１９７】
角度パラメータintraPredAngleは、predModeIntraの値を用いて表７で指定されるように決定される。
表７−intraPredAngleの仕様
【表１０】
2021536203.tif 000017
【０１９８】
変数filterFlagは次のように導出される：
−  以下の条件のうちの１つ以上が真である場合、filterFlagは０に等しく設定される。
−  cIdxは０に等しくない
−  refIdxは０に等しくない
−  IntraSubPartitionsSplitTypeはISP_NO_SPLITに等しくない、cIdxは０に等しい、predModeIntraはINTRA_ANGULAR34以上である、及びnWは８より大きい
−  IntraSubPartitionsSplitTypeはISP_NO_SPLITに等しくない、cIdxは０に等しい、predModeIntraはINTRA_ANGULAR34より小さい、及びnHは８より大きい
【０１９９】
−  そうではない場合、predModeIntraがINTRA_PLANARである場合、変数filterFlagはnTbS  >5?1:0に設定される
−  そうではない場合、intraPredAngleが３２より大きい場合、変数filterFlagは１に等しく設定される
−  そうではない場合、以下が適用される：
−  変数minDistVerHorはMin( Abs( predModeIntra − 50 )， Abs( predModeIntra − 18 ) )  に等しく設定される。
−  変数intraHorVerDistThres[ nTbS ]は、表８において指定されている。
−  変数filterFlagは、次のように導出される：
−  minDistVerHorがintraHorVerDistThres[ nTbS ]より大きいか、又はAbs  (intraPredAngle)>32である場合、filterFlagは１に等しく設定される。
【０２００】
表８−様々な変換ブロック・サイズnTbSに対するintraHorVerDistThres[ nTbS ]の仕様
【表１１】
2021536203.tif 000018
【０２０１】
出力変数RefFilterFlag及びInterpolationFlagは、次のように導出される：
−  predModeIntraがINTRA_PLANARであるか、又はpredIntraAngが３２の整数倍である場合、変数RefFilterFlagはfilterFlagに等しく設定され、InterpolationFlagは０に等しく設定される。
−  そうではない場合、変数RefFilterFlagは０に等しく設定され、InterpolationFlagはfilterFlagに等しく設定される。
【０２０２】
参考：RefFilterFlag及びInterpolationFlagは、任意のpredModeIntraに関し、決して両方とも１には等しくないものとする。表９を参照されたい）
表９−RefFilterFlag及びInterpolationFlagの仕様（参考）
【表１２】
2021536203.tif 000019
【０２０３】
8.4.4.2.8  角度イントラ予測モードの仕様
この処理に対する入力は、次のとおりである：
−  イントラ予測モードpredModeIntra
−  intraPredAngleパラメータ
−  イントラ予測参照ライン・インデックスを指定する変数refIdx
−  変換ブロック幅を指定する変数nTbW
−  変換ブロック高さを指定する変数nTbH
−  参照サンプル幅を指定する変数refW
−  参照サンプル高さを指定する変数refH
−  コーディング・ブロック幅を指定する変数nCbW
−  コーディング・ブロック高さを指定する変数nCbH
−  ４タップ・フィルタ補間の利用を指定する変数InterpolationFlag
−  隣接サンプルがフィルタリングされるかどうかを指定する変数RefFilterFlag
−  隣接サンプルp[ x ][ y ]，x = −1− refIdx， y = −1− refIdx..refH − 1及びx = −refIdx..refW − 1， y = −1− refIdx。
【０２０４】
この処理の出力は、修正されたイントラ予測モードpredModeIntra及び予測されたサンプルpredSamples[ x ][ y ]，x = 0..nTbW − 1，  y = 0..nTbH − 1である。
【０２０５】
変数nTbS は( Log2 ( nTbW ) + Log2 ( nTbH ) )   >>   1に等しく設定される。
【０２０６】
図１８は９３個の予測方向を示し、ここで、破線の方向は、非正方形ブロックにのみ適用される広角モードに関連している。
【０２０７】
逆角度パラメータinvAngleは、intraPredAngleに基づいて次のように導出される:
invAngle  =  Round(256*32/intraPredAngle)
【０２０８】
補間フィルタ係数fC[phase][j]及びfG[phase][j]，phase=0..31及びj=0..3は、表１０において指定されている。
表１０−補間フィルタ係数fC及びfGの仕様
【表１３】
2021536203.tif 000020
【０２０９】
予測サンプルの値predSamples[ x ][ y ]，x = 0..nTbW − 1，  y = 0..nTbH − 1は、次のように導出される：
−  predModeIntraが３４以上である場合、以下の順序ステップが適用される：
１．参照サンプル・アレイref[ x ]は、次のように指定される：
−  以下が適用される：
ref[ x ]  =  p[ −1 − refIdx + x ][ −1 − refIdx ]，x = 0..nTbW + refIdx
−  intraPredAngleが０より小さい場合、主要参照サンプル・アレイは、次のように拡張される：
−  ( nTbH * intraPredAngle )  >>  5が−１より小さい場合、
ref[ x ]  =  p[ −1 − refIdx ][ −1 − refIdx + (  ( x * invAngle + 128 )  >>  8  ) ]，  x = −1..( nTbH * intraPredAngle )  >>  5
ref[ ( ( nTbH * intraPredAngle )  >>  5 ) − 1 ]  =  ref[ ( nTbH * intraPredAngle )  >>  5 ]
ref[ nTbW + 1 + refIdx ]  =  ref[ nTbW + refIdx ]
−  そうではない場合、
ref[ x ]  =  p[ −1 − refIdx + x ][ −1 − refIdx ]，x  =  nTbW + 1 + refIdx..refW + refIdx
ref[ −1 ]  =  ref[ 0 ]
−  追加サンプルref[ refW + refIdx +x ]，  x = 1..( Max( 1， nTbW / nTbH ) * refIdx + 1)は、次のように導出される：  
ref[ refW + refIdx +x ]  =  p[ −1 + refW ][ −1 − refIdx ]
【０２１０】
２．予測サンプルの値predSamples[ x ][ y ]，x = 0..nTbW − 1，  y = 0..nTbH − 1は、次のように導出される：
−  インデックス変数iIdx及び乗算因子iFactは、次のように導出される：
iIdx  =  (  ( y + 1 + refIdx ) * intraPredAngle )  >>  5 + refIdx
iFact  =  (  ( y + 1 + refIdx ) * intraPredAngle ) & 31
−  RefFilterFlagが０に等しい場合、以下が適用される：
−  補間フィルタ係数fT[ j ]，j  =  0..3は、次のように導出される：
fT[ j ]  =  InterpolationFlag  ?  fG[ iFact ][ j ]  :  fC[ iFact ][ j ]
−  予測サンプルの値predSamples[ x ][ y ]は、次のように導出される：
【数７】
2021536203.tif 000021
−  そうではない場合（RefFilterFlagは０に等しくない）、iFactの値に依存して、以下が適用される：
−  iFactが０に等しくない場合、予測サンプルの値predSamples[ x ][ y ]は、次のように導出される：
predSamples[ x ][ y ]  =                (  ( 32 − iFact ) * ref[ x + iIdx + 1 ] + iFact * ref[ x + iIdx + 2 ] + 16  )  >>  5
−  そうではない場合、予測サンプルの値predSamples[ x ][ y ]は、次のように導出される：
predSamples[ x ][ y ]  =  ref[ x + iIdx + 1 ]              
【０２１１】
−  そうではない場合（predModeIntraは３４より小さい）、以下の順序ステップが適用される：
１．参照サンプル・アレイref[ x ]  は、次のように指定される：
−  以下が適用される：
ref[ x ]  =  p[ −1 − refIdx ][ −1 − refIdx + x ]，x = 0..nTbH + refIdx
−  intraPredAngleが０より小さい場合、主要参照サンプル・アレイは、次のように拡張される：
−  ( nTbW * intraPredAngle )  >>  5が−１より小さい場合、
ref[ x ]  =  p[ −1 − refIdx + (  ( x * invAngle + 128 )  >>  8  ) ][ −1 − refIdx ]，  x = −1..( nTbW * intraPredAngle )  >>  5
ref[ ( ( nTbW * intraPredAngle )  >>  5 ) − 1 ]  =  ref[ ( nTbW * intraPredAngle )  >>  5 ]
ref[ nTbG + 1 + refIdx ]  =  ref[ nTbH + refIdx ]
−  そうではない場合
ref[ x ]  =  p[ −1 − refIdx ][ −1 − refIdx + x ]，x = nTbH + 1 + refIdx..refH + refIdx
ref[ −1 ]  =  ref[ 0 ]
−  追加サンプルref[ refH + refIdx +x ]，x = 1..( Max( 1， nTbW / nTbH ) * refIdx + 1)  は、次のように拡張される：
ref[ refH + refIdx +x ]  =  p[ −1 + refH ][ −1 − refIdx ]
【０２１２】
２．予測サンプルの値predSamples[ x ][ y ]，x = 0..nTbW − 1，  y = 0..nTbH − 1  は、次のように導出される：
−  インデックス変数iIdx及び乗算因子iFactは、次のように導出される：
iIdx  =  (  ( x + 1 + refIdx ) * intraPredAngle )  >>  5
iFact  =  (  ( x + 1 + refIdx ) * intraPredAngle ) & 31
−  RefFilterFlagが０に等しい場合、以下が適用される：
−  補間フィルタ係数fT[ j ]，j  =  0..3は、次のように導出される：
fT[ j ]  =  InterpolationFlag?  fG[ iFact ][ j ]  :  fC[ iFact ][ j ]
−  予測サンプルの値predSamples[ x ][ y ]は、次のように導出される：
【数８】
2021536203.tif 000022
−  そうではない場合（RefFilterFlagは０に等しくない）、iFactの値に依存して、以下が適用される：
−  iFactが０に等しくない場合、予測サンプルの値predSamples[ x ][ y ]  は、次のように導出される：
predSamples[ x ][ y ]  =                (  ( 32 − iFact ) * ref[ y + iIdx + 1 ] + iFact * ref[ y + iIdx + 2 ] + 16  )  >>  5
−  そうではない場合、予測サンプルの値predSamples[ x ][ y ]は、次のように導出される：
predSamples[ x ][ y ]  =  ref[ y + iIdx + 1 ]
【０２１３】
予測されるブロックのサイズに基づいて、広角モードは、異なるグループに該当する可能性がある。以下の所与の例では、これらのモードは、それらが非分数勾配を有するか否かに応じて、依然としてグループ「Ｂ」又はグループ「Ｃ」の何れかに属するであろう。しかしながら、グループ「Ｃ」のモードに対する補間フィルタの選択及びグループ「Ｂ」のモードに対する参照サンプル・フィルタリング・ステップの存在は、ブロックのサイズに依存する。filterFlag導出の部分は、次のように修正されることが可能である。
変数filterFlagは、次のように導出される：
−  以下の条件のうちの１つ以上が真である場合、filterFlagは０に等しく設定される。
−  cIdxは０に等しくない
−  refIdxは０に等しくない
−  IntraSubPartitionsSplitTypeはISP_NO_SPLITに等しくない、cIdxは０に等しい、predModeIntraはINTRA_ANGULAR34以上である、及びnWは８より大きい
−  IntraSubPartitionsSplitTypeはISP_NO_SPLITに等しくない、cIdxは０に等しい、predModeIntraはINTRA_ANGULAR34より小さい、nHは８より大きい
−  そうではない場合、predModeIntraがINTRA_PLANARである場合に、変数filterFlagはnTbS  >5?1:0に等しく設定される
−  そうではない場合、intraPredAngleが32より大きく、nTbW*nTbHが３２より大きい場合、変数filterFlagは１に設定される。
【０２１４】
−  そうではない場合、以下が適用される：
−  変数minDistVerHorは、Min( Abs( predModeIntra − 50 )， Abs( predModeIntra − 18 ) )に等しく設定される。
−  変数intraHorVerDistThres[ nTbS ]は、表１１において指定されている。
−  変数filterFlagは、次のように導出される：
−  minDistVerHorがintraHorVerDistThres[ nTbS ]より大きいか、又はAbs  (intraPredAngle)>32である場合、filterFlagは１に等しく設定される。
【０２１５】
表１１−様々な変換ブロック・サイズnTbSに対するintraHorVerDistThres[ nTbS ]の仕様
【表１４】
2021536203.tif 000023
【０２１６】
広角モードは、左下象限の下方部分又は右部分又は右上象限を示すモードであってもよい。具体的には、図１８に示す例において、広角モードは、−１４ないし−１及びモード６７ないし８０である。
【０２１７】
本開示の実施形態の例示的な実装を組み込んだＶＶＣドラフト仕様の別のバージョンは、参照サンプル・フィルタリングに関連する以下の部分を含み、以下に与えられ
る:
参照サンプルp[ x ][ y ]，x = −1 − refIdx，  y = −1 − refIdx..refH − 1及びx = −refIdx..refW − 1，  y = −1 − refIdxの生成に関し、以下の順序ステップが適用され：
【０２１８】
１．JVET-M1001-v7の条項8.4.4.2.2で指定されるような参照サンプル利用可能性マーキング処理が、サンプル位置( xTbCmp， yTbCmp )、イントラ予測参照ライン・インデックスrefIdx、参照サンプル幅refW、参照サンプル高さrefH、色成分インデックスcIdxを入力とし、且つ参照サンプルrefUnfilt[ x ][ y ]，x = −1 − refIdx，  y = −1 − refIdx..refH − 1及びx = − refIdx..refW − 1，  y = −1 − refIdxを出力として呼び出される。
【０２１９】
２．少なくとも１つのサンプルrefUnfilt[ x ][ y ]，x = −1 − refIdx，  y = −1 − refIdx..refH − 1及びx = −refIdx..refW − 1，  y = −1 − refIdxが、「イントラよ予測に対して利用可能でない」とマークされる場合、JVET-M1001-v7の条項8.4.4.2.3で指定されるような参照サンプル置換処理が、イントラ予測参照ライン・インデックスrefIdx、参照サンプル幅refW、参照サンプル高さrefH、参照サンプルrefUnfilt[ x ][ y ]，  x = −1 − refIdx，  y = −1 − refIdx..refH − 1及びx = −refIdx..refW − 1，  y = −1 − refIdx、並びに色成分インデックスcIdxを入力とし、且つ修正された参照サンプルrefUnfilt[ x ][ y ]，x = −1 − refIdx，  y = −1 − refIdx..refH − 1及びx = −refIdx..refW − 1，  y = −1 − refIdxを出力として呼び出される。predModeIntraがINTRA_PLANARに等しくはなく、predModeIntraがINTRA_DCに等しくない場合、パラメータintraPredAngleは、条項8.4.4.2.7以降で指定される対応するイントラ予測モード処理を呼び出すことによって取得され、そうではない場合、predModeIntraがINTRA_PLANARに等しい場合、intraPredAngleは３２に設定され、そうではない場合、intraPredAngleは０に設定される。
【０２２０】
３．条項8.4.4.2.4以降で指定されるような参照サンプル・フィルタリング処理は、イントラ予測参照ライン・インデックスrefIdx、変換ブロック幅nTbW及び高さnTbH、参照サンプル幅refW、参照サンプル高さrefH、フィルタリングされていないサンプルrefUnfilt[ x ][ y ]，  x = −1 − refIdx，  y = −1 − refIdx..refH − 1及びx = −refIdx..refW − 1，  y = −1 − refIdx、intraPredAngleパラメータ、及び色成分インデックスcIdxを入力とし、且つ参照サンプルp[ x ][ y ]，x = −1 − refIdx，  y = −1 − refIdx..refH − 1及びx = −refIdx..refW − 1，  y = −1 − refIdxを出力として呼び出される。
【０２２１】
predModeIntraによるイントラ・サンプル予測処理は、次のように適用される：
−  predModeIntraがINTRA_PLANARに等しい場合、JVET-M1001-v7の条項8.4.4.2.5で指定される対応するイントラ予測モード処理は、変換ブロック幅nTbW、変換ブロック高さnTbH、及び参照サンプル・アレイｐを入力として呼び出され、出力は、予測されたサンプル・アレイpredSamplesである。
【０２２２】
−  そうではない場合、predModeIntraがINTRA_DCに等しい場合、JVET-M1001-v7の条項8.4.4.2.6で指定される対応するイントラ予測モード処理が、変換ブロック幅nTbW、変換ブロック高さnTbH、及び参照サンプル・アレイｐを入力として呼び出され、出力は、予測されたサンプル・アレイpredSamplesである。
【０２２３】
−  そうではない場合、predModeIntraがINTRA_LT_CCLM，  INTRA_L_CCLM又はINTRA_T_CCLMに等しい場合、条項8.4.4.2.8以降で指定される対応するイントラ予測モード処理が、イントラ予測モードpredModeIntra、( xTbCmp， yTbCmp )に等しく設定されるサンプル位置( xTbC， yTbC )、変換ブロック幅nTbW及び高さnTbH、並びに参照サンプル・アレイｐを入力として呼び出され、出力は、予測されたサンプル・アレイpredSamplesである。
【０２２４】
−  そうではない場合、以下の条件のうちの１つ以上が真である場合、fourTapFlagは０に等しく設定される：
−  色成分インデックスcIdxは０に等しくない
−  intraPredAngleは３２の倍数である。
【０２２５】
−  そうではない場合、条項8.4.4.2.7以降で指定される対応するイントラ予測モード処理は、イントラ予測モードpredModeIntra、イントラ予測参照ライン・インデックスrefIdx、変換ブロック幅nTbW、変換ブロック高さnTbH、参照サンプル幅refW、参照サンプル高さrefH、コーディング・ブロック幅nCbW及び高さnCbH、fourTapFlag、並びに参照サンプル・アレイｐを入力とし、且つ修正されたイントラ予測モードpredModeIntra及び予測されたサンプル・アレイpredSamplesを出力として呼び出される。
【０２２６】
8.4.4.2.4  参照サンプル・フィルタリング処理
この処理に対する入力は、以下のとおりである：
−  イントラ予測参照ライン・インデックスを指定する変数refIdx
−  変換ブロック幅を指定する変数nTbW
−  変換ブロック高さを指定する変数nTbH
−  参照サンプル幅を指定する変数refW
−  参照サンプル高さを指定する変数refH
−  （フィルタリングされていないサンプル）隣接サンプルrefUnfilt[ x ][ y ]，  x = −1 − refIdx， y = −1 − refIdx..refH − 1及び  x = −refIdx..refW − 1， y = −1 − refIdx，
−  predIntraAngleパラメータ
−  現在のブロックの色成分を指定する変数cIdx。
この処理の出力は、参照サンプルp[ x ][ y ]，  x = −1 − refIdx， y = −1 − refIdx..refH − 1  及び  x = −refIdx..refW − 1， y = −1 − refIdxである。
【０２２７】
変数filterFlagは、次のように導出される：
−  以下の全ての条件が真である場合、filterFlagは１に等しく設定される：
−  refIdxは０に等しい
−  nTbW*nTbHは３２より大きい
−  cIdxは０に等しい
−  IntraSubPartitionsSplitTypeはISP_NO_SPLITに等しい
−  predIntraAngleは０に等しくない、且つそれは３２の倍数である
−  そうではない場合、filterFlagは０に等しく設定される。
【０２２８】
参照サンプルp[ x ][ y ]の導出に関し、以下が適用される：
−  filterFlagが１に等しい場合、フィルタリングされたサンプル値p[ x ][ y ]，  x = −1， y = −1..refH − 1  and  x = 0..refW − 1， y = −1は、次のように導出される：
p[ −1 ][ −1 ]  =  ( refUnfilt[ −1 ][ 0 ] + 2 * refUnfilt[ −1 ][ −1 ] + refUnfilt[ 0 ][ −1 ] + 2 )  >>  2    (8−111)
p[ −1 ][ y ]  =  ( refUnfilt[ −1 ][ y + 1 ] + 2 * refUnfilt[ −1 ][ y ] + refUnfilt[ −1 ][ y − 1 ] + 2 )  >>  2
for  y = 0..refH − 2                     (8−112)
p[ −1 ][ refH − 1 ]  =  refUnfilt[ −1 ][ refH − 1 ]                      (8−113)
p[ x ][ −1 ]  =  ( refUnfilt[ x − 1 ][ −1 ] + 2 * refUnfilt[ x ][ −1 ] + refUnfilt[ x + 1 ][ −1 ] + 2 )  >>  2
for  x = 0..refW − 2                    (8−114)
p[ refW − 1 ][ −1 ]  =  refUnfilt[ refW − 1 ][ −1 ]                     (8−115)
−  そうではない場合、参照サンプル値p[ x ][ y ]は、フィルタリングされていないサンプル値refUnfilt[ x ][ y ]，x = −1− refIdx， y = −1− refIdx..refH − 1及び  x = −refIdx..refW − 1， y = −1− refIdxに等しく設定される。
【０２２９】
8.4.4.2.7    intraPredAngleパラメータの仕様
この処理に対する入力は、次のとおりである：
−  イントラ予測モードpredModeIntra，
−  変換ブロック幅を指定する変数nTbW
−  変換ブロック高さを指定する変数nTbH
−  コーディング・ブロック幅を指定する変数nCbW
−  コーディング・ブロック高さを指定する変数nCbH
【０２３０】
この処理の出力は、修正されたイントラ予測モードpredModeIntra、intraPredAngleパラメータ、及びfilterFlag変数である。
【０２３１】
変数nW及びnHは、次のように導出される：
−  IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しいか、又はcIdxが０に等しくない場合、以下が適用される：
nW = nTbW                                          (8−125)
nH = nTbH                             (8−126)
−  そうではない場合（IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しくない、及びcIdxが０に等しい）、以下が適用される：
nW = nCbW                                          (8−127)
nH = nCbH                             (8−128)
変数whRatioは、Abs( Log2( nW / nH ) )に等しく設定される。
【０２３２】
非正方形ブロック（nWがnHと等しくない）に関し、イントラ予測モードpredModeIntraは、次のように修正される：
−  以下の全ての条件が真である場合、predModeIntraは( predModeIntra + 65 )に等しく設定される。
−  nWはnHより大きい
−  predModeIntraは２以上である
−  predModeIntra  は  (  whRatio > 1  )  より小さい？( 8 + 2 * whRatio )  :  8
−  そうではない場合、以下の全ての条件が真である場合、predModeIntraは  ( predModeIntra − 67 )に等しく設定される。
−  nHはnWより大きい
−  predModeIntraは６６以下である
−  predModeIntraは  is  greater  than  (  whRatio > 1 )より大きい？ ( 60 − 2 * whRatio )  :  60
【０２３３】
角度パラメータintraPredAngleはpredModeIntra値を用いて表１２で指定されるように決定される。
表１２−intraPredAngleの仕様
【表１５】
2021536203.tif 000024
【０２３４】
変数filterFlagは、次のように導出される：
−  以下の条件のうちの１つ以上が真である場合、filterFlagは０に等しく設定される。
−  refIdxは０に等しくない
−  IntraSubPartitionsSplitTypeはISP_NO_SPLITに等しくない、cIdxは０に等しい、predModeIntraはINTRA_ANGULAR34以上である、及びnWは8より大きい
−  IntraSubPartitionsSplitTypeはISP_NO_SPLITに等しくない、cIdxは0に等しい、predModeIntraはINTRA_ANGULAR34より小さい、及びnHは8より大きい。
−  そうではない場合、以下が適用される：
−  変数minDistVerHorは、Min( Abs( predModeIntra − 50 )， Abs( predModeIntra − 18 ) )に等しく設定される。
−  変数intraHorVerDistThres[ nTbS ]は表１１において指定されている。
−  変数filterFlagは、以下のように導出される：
−  minDistVerHorがintraHorVerDistThres[ nTbS ]より大きいか、又はAbs  (intraPredAngle)>32である場合、filterFlagは１に等しく設定される。
【０２３５】
8.4.4.2.8  角度イントラ予測モードの仕様
この処理に対する入力は、以下のとおりである：
−  イントラ予測モードpredModeIntra，
−  intraPredAngleパラメータ，
−  イントラ予測参照ライン・インデックスを指定する変数refIdx，
−  変換ブロック幅を指定する変数nTbW，
−  変換ブロック高さを指定する変数nTbH
−  参照サンプル幅を指定する変数refW
−  参照サンプル高さを指定する変数refH
−  コーディング・ブロック幅を指定する変数nCbW
−  コーディング・ブロック幅を指定する変数nCbH
−  ４タップ・フィルタ補間の利用を指定する変数fourTapFlag
−  変数filterFlag
−  隣接サンプルp[ x ][ y ]，x = −1− refIdx， y = −1− refIdx..refH − 1及びx = −refIdx..refW − 1， y = −1− refIdx。
【０２３６】
この処理の出力は、修正されたイントラ予測モードpredModeIntra及び予測されたサンプルpredSamples[ x ][ y ]，x = 0..nTbW − 1，  y = 0..nTbH − 1である。
【０２３７】
変数nTbSは  ( Log2 ( nTbW ) + Log2 ( nTbH ) )   >>   1.に等しく設定される。
【０２３８】
変数filterFlagは、次のように導出される：
−  以下の条件のうちの１つ以上が真である場合、filterFlagは0に等しく設定される。
−  refIdxは０に等しくない
−  IntraSubPartitionsSplitTypeはISP_NO_SPLITに等しくない、cIdxは０に等しい、predModeIntraはINTRA_ANGULAR34以上である、及びnWは8より大きい
−  IntraSubPartitionsSplitTypeはISP_NO_SPLITに等しくない、cIdxは0に等しい、predModeIntraはINTRA_ANGULAR34より小さい、及びnHは8より大きい。
−  そうではない場合、以下が適用される：
−  変数minDistVerHorは、Min( Abs( predModeIntra − 50 )， Abs( predModeIntra − 18 ) )に等しく設定される。
−  変数variable  intraHorVerDistThres[ nTbS ]は、表１３において指定されている。
−  変数filterFlagは、次のように導出される：
−  minDistVerHorがintraHorVerDistThres[ nTbS ]より大きいか、又はAbs(intraPredAngle)  が32より大きい場合、filterFlagは1に等しく設定される。
−  そうではない場合、filterFlagは０に等しく設定される。
【０２３９】
表１３−様々な変換ブロック・サイズnTbSに対するintraHorVerDistThres[ nTbS ]の仕様
【表１６】
2021536203.tif 000025
【０２４０】
図１８は、９３個の予測方向を示しており、破線の方向は、非正方形ブロックにのみ適用される広角モードに関連している。
【０２４１】
逆角度パラメータinvAngleは、intraPredAngleに基づいて次のように導出される:
invAngle  =  Round(256*32/intraPredAngle)    （8-129）
補間フィルタ係数fC[phase][j]及びfG[phase][j]，phase=0..31及びj=0..3は、表１４において指定されている。
【表１７】
2021536203.tif 000026
表１４−補間フィルタ係数fC及びfGの仕様
【０２４２】
予測サンプルの値predSamples[ x ][ y ]，x = 0..nTbW − 1，  y = 0..nTbH − 1は、次のように導出される：
−  predModeIntraが34以上である場合、以下の順序ステップが適用される：
１．参照サンプル・アレイref[ x ]が、次のように指定される：
−  以下が適用される：
ref[ x ]  =  p[ −1 − refIdx + x ][ −1 − refIdx ]，x = 0..nTbW + refIdx           (8−130)
−  intraPredAngleが0より小さい場合、主要参照サンプル・アレイは、次のように拡張される：
−  ( nTbH * intraPredAngle )  >>  5  が−１より小さい場合、
ref[ x ]  =  p[ −1 − refIdx ][ −1 − refIdx + (  ( x * invAngle + 128 )  >>  8  ) ]，  x = −1..( nTbH * intraPredAngle )  >>  5         (8−131)
ref[ ( ( nTbH * intraPredAngle )  >>  5 ) − 1 ]  =  ref[ ( nTbH * intraPredAngle )  >>  5 ]            (8−132)
ref[ nTbW + 1 + refIdx ]  =  ref[ nTbW + refIdx ]           (8−133)
−  そうではない場合、
ref[ x ]  =  p[ −1 − refIdx + x ][ −1 − refIdx ]，  with  x  =  nTbW + 1 + refIdx..refW + refIdx              (8−134)
ref[ −1 ]  =  ref[ 0 ]                   (8−135)
−  追加サンプルref[ refW + refIdx +x ]，  x = 1..( Max( 1， nTbW / nTbH ) * refIdx + 1)は、次のように導出される：
ref[ refW + refIdx +x ]  =  p[ −1 + refW ][ −1 − refIdx ]   (8−136)
【０２４３】
２．予測サンプルの値predSamples[ x ][ y ]，x = 0..nTbW − 1，  y = 0..nTbH − 1は、次のように導出される：
−  インデックス変数iIdx及び乗算因子iFactは、次のように導出される：
iIdx  =  (  ( y + 1 + refIdx ) * intraPredAngle )  >>  5 + refIdx   (8−137)
iFact  =  (  ( y + 1 + refIdx ) * intraPredAngle ) & 31  (8−138)
fourTapFlagが1に等しい場合、以下のステップが適用される：
−  補間フィルタ係数fT[ j ]，j  =  0..3は、次のように導出される：
fT[ j ]  =  filterFlag  ?  fG[ iFact ][ j ]  :  fC[ iFact ][ j ]  (8−139)
−  予測サンプルの値predSamples[ x ][ y ]は、次のように導出される：
【数９】
2021536203.tif 000027
そうではない場合（fourTapFlagは１に等しくない）、iFactの値に依存して、以下が適用される：
−  iFactが０に等しくない場合、予測サンプルの値predSamples[ x ][ y ]  は、次のように導出される：
predSamples[ x ][ y ]  =                (  ( 32 − iFact ) * ref[ x + iIdx + 1 ] + iFact * ref[ x + iIdx + 2 ] + 16  )  >>  5     (8−141)
−  そうではない場合、予測サンプルの値predSamples[ x ][ y ]は、次のようにして導出される：
predSamples[ x ][ y ]  =  ref[ x + iIdx + 1 ]                            (8−142)
【０２４４】
−  そうではない場合（predModeIntraは３４より小さい）、以下の順序ステップが適用される：
１．参照サンプル・アレイref[ x ]は、次のように指定される：
−  以下が適用される：
ref[ x ]  =  p[ −1 − refIdx ][ −1 − refIdx + x ]，  x = 0..nTbH + refIdx            (8−143)
−  intraPredAngleが0より小さい場合、主要参照サンプル・アレイは、次のように拡張される：
−  ( nTbW * intraPredAngle )  >>  5が−１より小さい場合、
ref[ x ]  =  p[ −1 − refIdx + (  ( x * invAngle + 128 )  >>  8  ) ][ −1 − refIdx ]，  x = −1..( nTbW * intraPredAngle )  >>  5        (8−144)
ref[ ( ( nTbW * intraPredAngle )  >>  5 ) − 1 ]  =  ref[ ( nTbW * intraPredAngle )  >>  5 ]           (8−145)
ref[ nTbG + 1 + refIdx ]  =  ref[ nTbH + refIdx ]             (8−146)
−  そうではない場合、
ref[ x ]  =  p[ −1 − refIdx ][ −1 − refIdx + x ]，  with  x = nTbH + 1 + refIdx..refH + refIdx (8−147)
ref[ −1 ]  =  ref[ 0 ]                   (8−148)
−  追加サンプルref[ refH + refIdx +x ]，x = 1..( Max( 1， nTbW / nTbH ) * refIdx + 1)は、次のように導出される：
ref[ refH + refIdx +x ]  =  p[ −1 + refH ][ −1 − refIdx ]    (8−149)
【０２４５】
２．予測サンプルの値predSamples[ x ][ y ]，x = 0..nTbW − 1，  y = 0..nTbH − 1は、次のように導出される：
−  インデックス変数iIdx及び乗算因子iFactは、次のように導出される：
iIdx  =  (  ( x + 1 + refIdx ) * intraPredAngle )  >>  5  (8−150)
iFact  =  (  ( x + 1 + refIdx ) * intraPredAngle ) & 31  (8−151)
−  fourTapFlagが1に等しい場合、以下が適用される：
−  補間フィルタ係数fT[ j ]，j  =  0..3は、次のように導出される：
fT[ j ]  =  filterFlag  ?  fG[ iFact ][ j ]  :  fC[ iFact ][ j ]        (8−152)
−  予測サンプルの値predSamples[ x ][ y ]は、次のように導出される：
【数１０】
2021536203.tif 000028
−  そうではない場合（fourTapFlagは1に等しくない)、iFactの値に依存して、以下が適用される：
−  iFactが0に等しくない場合、予測サンプルの値predSamples[ x ][ y ]は、次のように導出される：
predSamples[ x ][ y ]  =                (  ( 32 − iFact ) * ref[ y + iIdx + 1 ] + iFact * ref[ y + iIdx + 2 ] + 16  )  >>  5     (8−154)
−  そうではない場合、予測サンプルの値predSamples[ x ][ y ]は、次のように導出される：
predSamples[ x ][ y ]  =  ref[ y + iIdx + 1 ]
【０２４６】
図１９は、本開示の実施形態によるネットワーク・デバイス１３００（例えば、コーディング・デバイス）の概略図である。ネットワーク・デバイス１３００は、本願で説明されるような開示される実施形態を実装するのに適している。ネットワーク・デバイス１３００は、データを受信するための入口ポート１３１０及び受信機ユニット（Ｒｘ）１３２０と、データを処理するためのプロセッサ、論理ユニット、又は中央処理ユニット１３３０と、データを送信するための送信機ユニット（Ｔｘ）１３４０及び出口ポート１３５０と、データを記憶するためのメモリ１３６０とを含む。ネットワーク・デバイス１３００はまた、光信号又は電気信号の出入りのために、入口ポート１３１０、受信機ユニット１３２０、送信機ユニット１３４０、及び出口ポート１３５０に結合された光−電気（ＯＥ）構成要素及び電気−光（ＥＯ）構成要素を含んでもよい。
【０２４７】
プロセッサ１３３０は、ハードウェア及びソフトウェアによって実現される。プロセッサ１３３０は、１つ以上のＣＰＵチップ、コア（例えば、マルチコア・プロセッサ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、及びデジタル信号プロセッサ（ＤＳＰ）として実現されることが可能である。プロセッサ１３３０は、入口ポート１３１０、受信機ユニット１３２０、送信機ユニット１３４０、出口ポート１３５０、及びメモリ１３６０と通信する。プロセッサ１３３０は、コーディング・モジュール１３７０を含む。コーディング・モジュール１３７０は、上述の開示された実施形態を実現する。例えば、コーディング・モジュール１３７０は、種々のネットワーキング機能を実現、処理、準備、又は提供する。従って、コーディング・モジュール１３７０を含むことは、ネットワーク・デバイス１３００の機能に対する実質的な改善をもたらし、ネットワーク・デバイス１３００の異なる状態への変換に影響を及ぼす。代替的に、コーディング・モジュール１３７０は、メモリ１３６０に格納された命令として実装され、プロセッサ１３３０によって実行される。
【０２４８】
メモリ１３６０は、１つ以上のディスク、テープ・ドライブ、及びソリッド・ステート・ドライブを含み、オーバー・フロー・データ・ストレージ・デバイスとして使用されることが可能であり、このようなプログラムが実行のために選択される場合にプログラムを記憶し、プログラムの実行中に読み込まれた命令及びデータを記憶する。メモリ１３６０は、揮発性及び／又は不揮発性であってもよく、リード・オンリ・メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、ターナリ・コンテンツ・アドレス指定可能メモリ（ＴＣＡＭ）、及び／又はスタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）であってもよい。
【０２４９】
上記方法の任意の１つを実行するように構成された処理回路を含むデコーダが提供される。
【０２５０】
本開示において、コンピュータ・プログラム製品が提供され、プログラム・コードを含むコンピュータ・プログラム製品は、上記方法の任意の１つを実行するように開示される。
【０２５１】
本開示において、ビデオ・データを復号化するためのデコーダが提供され、デコーダは、１つ以上のプロセッサと、プロセッサに結合され、プロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ読み取り可能な記憶媒体とを含み、プログラミングは、プロセッサにより実行される場合に、上記方法の任意の１つを実行するようにデコーダを構成する。
【０２５２】
本願で説明されるように、開示される実施形態を実施するのに適したネットワーク・デバイスが以下において説明される。ネットワーク・デバイスは、データを受信するための入口ポート及び受信機ユニット（Ｒｘ）と、データを処理するためのプロセッサ、論理ユニット、又は中央処理ユニット（ＣＰＵ）と、データを送信するための送信機ユニット（Ｔｘ）及び出口ポートと、データを記憶するためのメモリとを含む。ネットワーク・デバイスはまた、光又は電気信号の出入りのために、入口ポート、受信機ユニット、送信機ユニット、及び出口ポートに結合された光−電気（ＯＥ）構成要素及び電気−光（ＥＯ）構成要素を含んでもよい。
【０２５３】
プロセッサは、ハードウェア及びソフトウェアによって実現される。プロセッサは、１つ以上のＣＰＵチップ、コア（例えば、マルチコア・プロセッサ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、及びデジタル信号プロセッサ（ＤＳＰ）として実現されることが可能である。プロセッサは、入口ポート、受信機ユニット、送信機ユニット、出口ポート、及びメモリと通信する。プロセッサは、コーディング・モジュールを含む。コーディング・モジュールは、上述の開示された実施形態を実現する。例えば、コーディング・モジュールは、種々のネットワーキング機能を実現、処理、準備、又は提供する。従って、コーディング・モジュールを含むことは、ネットワーク・デバイスの機能に対する実質的な改善をもたらし、ネットワーク・デバイスの異なる状態への変換に影響を及ぼす。代替的に、コーディング・モジュールは、メモリに格納された命令として実装され、プロセッサによって実行される。
【０２５４】
メモリは、１つ以上のディスク、テープ・ドライブ、及びソリッド・ステート・ドライブを含み、オーバー・フロー・データ・ストレージ・デバイスとして使用されることが可能であり、このようなプログラムが実行のために選択される場合にプログラムを記憶し、プログラムの実行中に読み込まれた命令及びデータを記憶する。メモリは、揮発性及び／又は不揮発性であってもよく、リード・オンリ・メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、ターナリ・コンテンツ・アドレス指定可能メモリ（ＴＣＡＭ）、及び／又はスタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）であってもよい。
【０２５５】
図２０は、様々な実施形態を実施するために使用されることが可能な装置１５００のブロック図である。装置１５００は、図１に示すようなソース・デバイス１２、又は図２に示すようなビデオ・エンコーダ２０、又は図１に示すような宛先デバイス１４、又は図３に示すようなビデオ・デコーダ３０であってもよい。更に、装置１５００は、説明される要素のうちの１つ以上に応対することが可能である。幾つかの実施形態において、装置１５００は、スピーカ、マイクロホン、マウス、タッチスクリーン、キーパッド、キーボード、プリンタ、ディスプレイ等の１つ以上の入力／出力デバイスを備える。装置１５００は、１つ以上の中央処理ユニット（ＣＰＵ）１５１０、メモリ１５２０、大容量ストレージ１５３０、ビデオ・アダプタ１５４０、及びバスに接続されたＩ／Ｏインターフェース１５６０を含んでもよい。バスは、メモリ・バス又はメモリ・コントローラ、周辺バス、ビデオ・バス等を含む任意のタイプの複数のバス・アーキテクチャのうちの１つ以上である。
【０２５６】
ＣＰＵ１５１０は、任意のタイプの電子データ・プロセッサを有することが可能である。メモリ１５２０は、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、それらの組み合わせ等のような任意のタイプのシステム・メモリを有していてもよいし、又はそれらであってもよい。実施形態において、メモリ１５２０は、起動時に使用するためのＲＯＭと、プログラムを実行する間に使用するためのプログラム及びデータ・ストレージのためのＤＲＡＭとを含んでもよい。実施形態において、メモリ１５２０は非一時的である。大容量ストレージ１５３０は、データ、プログラム、及び他の情報を記憶し、データ、プログラム、及び他の情報を、バスを介してアクセス可能にする任意のタイプのストレージ・デバイスを含む。大容量ストレージ１５３０は、例えばソリッド・ステート・ドライブ、ハード・ディスク・ドライブ、磁気ディスク・ドライブ、光ディスク・ドライブ等のうちの１つ以上を含む。
【０２５７】
ビデオ・アダプタ１５４０及び入出力インターフェース１５６０は、外部入力及び出力デバイスを装置１５００に結合するインターフェースを提供する。例えば、装置１１００は、ＳＱＬコマンド・インタフェースをクライアントに提供してもよい。図示のように、入力及び出力デバイスの例は、ビデオ・アダプタ１５４０に結合されたディスプレイ１５９０、及びＩ／Ｏインターフェース１５６０に結合されたマウス／キーボード／プリンタ１５７０の任意の組み合わせを含む。他のデバイスは、装置１５００に結合される可能性があり、追加の又はより少ないインターフェース・カードが使用されてもよい。例えば、シリアル・インターフェース・カード（図示せず）が、シリアル・インターフェースをプリンタに提供するために使用されてもよい。
【０２５８】
また、装置１１００は、イーサーネット・ケーブル等の有線リンク、及び／又はアクセス・ノード又は１つ以上のネットワーク１５８０への無線リンクを含む、１つ以上のネットワーク・インターフェース１５５０を含む。ネットワーク・インターフェース１５５０は、装置１５００が、ネットワーク１５８０を介してリモート・ユニットと通信することを可能にする。例えば、ネットワーク・インターフェース１５５０は、データベースに対する通信を提供することができる。実施形態おいて、装置１５００は、他の処理ユニット、インターネット、リモート・ストレージ施設のようなリモート・デバイスとの通信及びデータ処理のために、ローカル・エリア・ネットワーク又はワイド・エリア・ネットワークに結合される。
【０２５９】
所与のブロック内のピクセルを予測するために必要な重み係数の値を計算するために、ピースワイズ線形近似が導入される。ピースワイズ線形近似は、一方では、直接的な重み付け係数計算と比較して、距離重み付け予測メカニズムの計算複雑性を著しく低減し、他方では、先行技術の単純化と比較して、重み付け係数値のより高い精度を達成することを支援する。
【０２６０】
実施形態は、ピクチャの異なる部分を混合するために、１つのピクセルから別のものへの距離に依存する重み係数を使用するメカニズム（例えば、画像処理における幾つかの混合方法）だけでなく、他の双方向及び位置依存性のイントラ予測技術（例えば、ＰＤＰＣの異なる修正）にも適用される可能性がある。
【０２６１】
本開示において幾つかの実施形態が提供されたが、開示されるシステム及び方法は、本開示の精神又は範囲から逸脱することなく、多くの他の具体的な形態で具現化されてもよいことが理解されるはずである。本実施例は、例示的であって限定的なものではないと考えられるべきであり、その意図は、本願で与えられる詳細に限定されるものではない。例えば、種々の要素又は構成要素は別のシステムに組み合わせされ又は統合されることが可能であり、或いはある特徴は省略されてもよいし、或いは実装されなくてもよい。
【０２６２】
更に、様々な実施形態において個々に又は別々に説明及び図示された技術、システム、サブシステム、及び方法は、他のシステム、モジュール、技術、又は方法と組み合わせられ又は統合されてもよい。互いに結合され、又は直接的に結合され、又は通信するように示された又は議論された他のアイテムは、電気的に、機械的に、又は他の方法であるかどうかによらず、幾つかのインターフェース、デバイス、又は中間構成要素を介して間接的に結合され又は通信することが可能である。変更、置換、及び代替の他の例は、当業者によって確認可能であり、実施可能である。
【０２６３】
本開示で説明される対象事項及び動作の実装は、デジタル電子回路、又は本開示で開示された構造及びそれらの構造的均等物を含むコンピュータ・ソフトウェア、ファームウェア、又はハードウェア、又はそれらの１つ以上の組み合わせで実現されることが可能である。本開示で説明される対象事項の実装は、１つ以上のコンピュータ・プログラム、即ち、データ処理装置による実行のため、又はその動作を制御するために、コンピュータ記憶媒体上に符号化されたコンピュータ・プログラム命令の１つ以上のモジュールとして実現されることが可能である。代替的又は追加的に、プログラム命令は、人工的に生成される伝搬信号、例えば、データ処理装置による実行のために適切な受信機装置に送信するための情報を符号化するために生成されるマシンで生成される電気信号、光信号、又は電磁信号上に符号化されてもよい。コンピュータ記憶媒体、例えばコンピュータ読み取り可能な媒体は、コンピュータ読み取り可能な記憶装置、コンピュータ読み取り可能な記憶基板、ランダム又はシリアル・アクセス・メモリ・アレイ又はデバイス、又はそれらのうちの１つ以上の組み合わせであってもよいし、又はそれらに含まれてもよい。更に、コンピュータ記憶媒体は伝搬される信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬される信号に符号化されたコンピュータ・プログラム命令のソース又は宛先であってもよい。また、コンピュータ記憶媒体は、１つ以上の別個の物理的な及び／又は非一時的な構成要素又は媒体（例えば、複数のＣＤ、ディスク、又は他のストレージ・デバイス）であってもよいし、又はそれらに含まれてもよい。
【０２６４】
幾つかの実装において、本開示に説明される動作は、クラウド・コンピューティング・ネットワーク内のサーバーで提供されるホスト型サービスとして実現されてもよい。例えば、コンピュータ読み取り可能な記憶媒体は、クラウド・コンピューティング・ネットワーク内で論理的にグループ化され、アクセス可能であってもよい。クラウド・コンピューティング・ネットワーク内のサーバーは、クラウド・ベースのサービスを提供するためのクラウド・コンピューティング・プラットフォームを含むことができる。用語「クラウド」、「クラウド・コンピューティング」、及び「クラウド・ベース」は、本開示の範囲から逸脱することなく、適切に交換可能に使用されることが可能である。クラウド・ベースのサービスは、クライアント・コンピュータ上でローカルに実行されるアプリケーションを強化、補足、又は置換するために、サーバーによって提供され、ネットワークを介してクライアント・プラットフォームに配信されるホスト型サービスである可能性がある。回路は、クラウド・ベースのサービスを使用して、ソフトウェアのアップグレード、アプリケーション、及び、別の方法ならばリソースが回路に配信され得る前に長い時間を必要としたであろう他のリソースを、素早く受信することができる。
【０２６５】
コンピュータ・プログラム（プログラム、ソフトウェア、ソフトウェア・アプリケーション、スクリプト、又はコードとしても知られる）は、コンパイルされる又は解釈される言語、宣言又は手続き言語を含む、任意の形態のプログラミング言語で書き込まれることが可能であり、それは、スタンドアロン・プログラムとして、又はコンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチン、オブジェクト、又は他のユニットとして包含する、任意の形態で配備されることが可能である。コンピュータ・プログラムは、ファイル・システム内のファイルに対応する可能性があるが、それは必須ではない。プログラムは、他のプログラム又はデータを保持するファイルの一部分（例えば、マークアップ言語文書に記憶される１つ以上のスクリプト）、問題としているプログラムに専用の単独ファイル、又は複数の協調したファイル（例えば、１つ以上のモジュール、サブプログラム、又はコードの一部分を記憶するファイル）に記憶されてもよい。コンピュータ・プログラムは、１つのコンピュータ上で、又は１つのサイトに配置されるか若しくは複数のサイトに分散されて通信ネットワークによって相互接続される複数のコンピュータ上で、実行されるように配備されてもよい。
【０２６６】
本開示で説明される処理及び論理フローは、１つ以上のコンピュータ・プログラムを実行する１つ以上のプログラマブル・プロセッサによって実行されて、入力データに作用し、出力を生成することによって、動作を実行することができる。処理及び論理フローはまた、例えばＦＰＧＡ（field  programmable  gate  array）又はＡＳＩＣ（application−specific  integrated  circuit）のような特殊目的の論理回路によって実行されてもよいし、それらとして装置が実現されてもよい。
【０２６７】
コンピュータ・プログラムの実行に適したプロセッサは、例えば、汎用及び専用のマイクロプロセッサの両方、及び任意の種類のデジタル・コンピュータの任意の１つ以上のプロセッサを含む。一般に、プロセッサは、リード・オンリ・メモリ又はランダム・アクセス・メモリ又はその両方から命令及びデータを受信するであろう。コンピュータの必須要素は、命令に従って動作を実行するためのプロセッサ、並びに命令及びデータを記憶するための１つ以上のメモリ・デバイスである。一般に、コンピュータはまた、データを記憶するための１つ以上の大容量ストレージ・デバイス、例えば、磁気、光磁気ディスク、又は光ディスクを含むであろうし、あるいはそれらからデータを受信する若しくはそれらへデータを送信する又は双方のために動作可能に結合されるであろう。しかしながら、コンピュータは、そのような装置を有することを必須とはしない。更に、コンピュータは、他のデバイス、例えば、数例を挙げれば、携帯電話、パーソナル・デジタル・アシスタント（ＰＤＡ）、モバイル・オーディオ又はビデオ・プレーヤ、ゲーム・コンソール、グローバル・ポジショニング・システム（ＧＰＳ）受信機、又は携帯用ストレージ・デバイス（例えば、ユニバーサル・シリアル・バス（ＵＳＢ）フラッシュ・ドライブ）に組み込まれてもよい。コンピュータ・プログラム命令及びデータを記憶するのに適したデバイスは、例えば半導体メモリ・デバイス、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュ・メモリ・デバイス；磁気ディスク、例えば内部ハード・ディスク又はリムーバブル・ディスク；光磁気ディスク；並びにＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスクを含む、全ての形態の不揮発性メモリ、媒体及びメモリ・デバイスを含む。プロセッサ及びメモリは、特殊目的論理回路によって補足されてもよいし、又は、そこに組み込まれてもよい。
【０２６８】
本開示は多くの具体的な実装の詳細を含んでいるが、これらは、如何なる実装の又はクレームされ得るものの範囲に対する制限として解釈されるべきではなく、むしろ特定の実装の特定のうちの実装に特有の特徴の説明として解釈されるべきである。別々の実装の文脈で本開示において説明される特定の特徴はまた、単一の実装において組み合わせて実装されてもよい。逆に、単一の実装の文脈で説明される種々の特徴はまた、複数の実装で別々に、又は任意の適切なサブコンビネーションで実装されてもよい。更に、特徴は、特定の組み合わせにおいて作用するように上述され、そのように当初にクレームされてさえいるかもしれないが、クレームされる組み合わせのうちの１つ又は複数の特徴は、場合によっては、組み合わせから切り出されてもよく、クレームされる組み合わせは、サブコンビネーション又はサブコンビネーションのバリエーションに向けられてもよい。
【０２６９】
同様に、図面には特定の順序で動作が示されているが、これは、所望の結果を達成するために、このような動作が図示された特定の順序で又は連続的な順序で実行されること、又は、例示された全ての動作が実行されることを要求するものとして理解されるべきではない。特定の状況下では、マルチタスク及び並列処理が有利であるかもしれない。更に、上述の実装における種々のシステム構成要素の分離は、全ての実装においてそのような分離を要求するものとして理解されるべきではなく、上述のプログラム構成要素及びシステムは、一般に、単一のソフトウェア製品内に一緒に統合されてもよいし、又は複数のソフトウェア製品内にパッケージされてもよいことが理解されるべきである。
【０２７０】
かくて対象事項の特定の実装が説明されてきた。他の実装は以下のクレームの範囲内にある。場合によっては、クレームに記載された動作は、異なる順序で実行されてもよく、それでも所望の結果を達成することができる。更に、添付図面に示される処理は、所望の結果を達成するために、図示の特定の順序又は連続的な順序を必ずしも必要としない。特定の実装において、マルチタスク及び並列処理が有利であるかもしれない。
【０２７１】
本開示において幾つかの実施形態が提供されてきたが、開示されたシステム及び方法は、本開示の精神又は範囲から逸脱することなく、多くの他の特定の形態で具現化され得ることが理解されるべきである。本実施例は、例示的であって限定的ではないものとして考えられるべきであり、その意図は、本願で与えられる詳細に限定されるものではない。例えば、種々の要素又は構成要素は、別のシステムに組み合わせられ又は統合されることが可能であり、或いはある特徴は省略されてもよいし、或いは実装されなくてもよい。
【０２７２】
更に、様々な実施形態において個々に又は別個に説明及び図示された技術、システム、サブシステム、及び方法は、本開示の範囲から逸脱することなく、他のシステム、モジュール、技術、又は方法と組み合わせられる又は統合されることが可能である。互いに結合され、又は直接的に結合され、又は通信するように図示又は議論される他のアイテムは、電気的に、機械的に、又は他の方法であるかどうかによらず、幾つかのインターフェース、デバイス、又は中間的な構成要素を介して間接的に結合され、又は通信することが可能である。変更、置換、及び代替の他の例は、当業者によって確認可能であり、本願で開示される精神及び範囲から逸脱することなく行うことが可能である。
【０２７３】
頭字語の定義及び用語集
JEM    Joint  Exploration  Model  (将来的なビデオ・コーディング探求のためのソフトウェア・コードベース)
JVET                   Joint  Video  Experts  Team
LUT                     Look-Up  Table
QT                       QuadTree
QTBT                  QuadTree  plus  Binary  Tree
RDO                    Rate-distortion  Optimization
ROM                    Read-Only  Memory
VTM                    VVC  Test  Model
VVC                     Versatile  Video  Coding，  JVETにより発展させられる標準化プロジェクト
CTU  /  CTB                Coding  Tree  Unit  /  Coding  Tree  Block
CU  /  CB         Coding  Unit  /  Coding  Block
PU  /  PB       Prediction  Unit  /  Prediction  Block
TU/TB                  Transform  Unit  /  Transform  Block
HEVC                             High  Efficiency  Video  Coding
【図１】
2021536203.tif 000029
【図２】
2021536203.tif 000030
【図３】
2021536203.tif 000031
【図４】
2021536203.tif 000032
【図５】
2021536203.tif 000033
【図６】
2021536203.tif 000034
【図７】
2021536203.tif 000035
【図８】
2021536203.tif 000036
【図９】
2021536203.tif 000037
【図１０】
2021536203.tif 000038
【図１１】
2021536203.tif 000039
【図１２】
2021536203.tif 000040
【図１３】
2021536203.tif 000041
【図１４】
2021536203.tif 000042
【図１５】
2021536203.tif 000043
【図１６】
2021536203.tif 000044
【図１７】
2021536203.tif 000045
【図１８】
2021536203.tif 000046
【図１９】
2021536203.tif 000047
【図２０】
2021536203.tif 000048
【図２１】
2021536203.tif 000049
【国際調査報告】
2021536203.tif 000050
2021536203.tif 000051