(57)【要約】長方形ブロックがより大きい予測角度を可能にするため、広角イントラ予測を使用する方法および装置。広角イントラ予測は、従来の４５度および−１３５度を超えるイントラ予測方向角度を可能にする。一実施形態では、符号化またはデコードされるビデオブロックが非正方形であるとき、長い方のブロックエッジの方向において、追加のイントラ予測方向が可能にされ、そのエッジに沿って、より多くの参照サンプルを利用できる。インデックスが、予測方向を示すために使用され、インデックスは、長い方の方向における追加のイントラ予測に従って適合させられ、それに対応して、短い方のブロックエッジに沿っては、より少数の予測方向が用いられる。インデックス付けされる必要がある予測モードの数を保ち、それらの角度がブロックの形状に対応することを可能にする。
2022502959.tif 000002
【特許請求の範囲】
【請求項１】
長方形ビデオブロックのサンプルを、前記長方形ビデオブロックの上側の行からのＮ個の参照サンプルのうちの少なくとも１つ、または前記長方形ビデオブロックの左側の列からのＭ個の参照サンプルのうちの少なくとも１つを使用して、予測するステップであって、前記参照サンプルは、前記長方形ブロックのアスペクト比に比例して増加する広角の数に基づいている、ステップと、
イントラ符号化モードにおいて、前記予測を使用して、前記長方形ビデオブロックをエンコードするステップと
を備える方法。
【請求項２】
長方形ビデオブロックのサンプルを、前記長方形ビデオブロックの上側の行からのＮ個の参照サンプルのうちの少なくとも１つ、または前記長方形ビデオブロックの左側の列からのＭ個の参照サンプルのうちの少なくとも１つを使用して、予測し、前記参照サンプルは、前記長方形ブロックのアスペクト比に比例して増加する広角の数に基づいており、
イントラ符号化モードにおいて、前記予測を使用して、前記長方形ビデオブロックをエンコードする
ように構成されたプロセッサ
を備えた装置。
【請求項３】
長方形ビデオブロックのサンプルを、前記長方形ビデオブロックの上側の行からのＮ個の参照サンプルのうちの少なくとも１つ、または前記長方形ビデオブロックの左側の列からのＭ個の参照サンプルのうちの少なくとも１つを使用して、予測するステップであって、前記参照サンプルは、前記長方形ブロックのアスペクト比に比例して増加する広角の数に基づいている、ステップと、
イントラ符号化モードにおいて、前記予測を使用して、前記長方形ビデオブロックをデコードするステップと
を備える方法。
【請求項４】
長方形ビデオブロックのサンプルを、前記長方形ビデオブロックの上側の行からのＮ個の参照サンプルのうちの少なくとも１つ、または前記長方形ビデオブロックの左側の列からのＭ個の参照サンプルのうちの少なくとも１つを使用して、予測し、前記参照サンプルは、前記長方形ブロックのアスペクト比に比例して増加する広角の数に基づいており、  イントラ符号化モードにおいて、前記予測を使用して、前記長方形ビデオブロックをデコードする
ように構成されたプロセッサ
を備えた装置。
【請求項５】
イントラ中の予測方向が、−１３５度および４５度を超えて拡張される請求項１もしくは３に記載の方法、または請求項２もしくは４に記載の装置。
【請求項６】
予測方向を増加させることは、方向総数を等しい数に維持するために、反対方向のいくつかの方向を削除しながら、水平方向または垂直方向において前記予測方向を拡張することを含む請求項１もしくは３に記載の方法、または請求項２もしくは４に記載の装置。
【請求項７】
予測方向は、拡張された広角予測方向のサブセットに制限される請求項１もしくは３に記載の方法、または請求項２もしくは４に記載の装置。
【請求項８】
前記ビデオブロックは、長方形形状を有する符号化ユニットである請求項１もしくは３に記載の方法、または請求項２もしくは４に記載の装置。
【請求項９】
前記参照サンプルは、隣接ブロックから選択される請求項１もしくは３に記載の方法、または請求項２もしくは４に記載の装置。
【請求項１０】
角度パラメータのセットは、３２の因数を含む請求項１もしくは３に記載の方法、または請求項２もしくは４に記載の装置。
【請求項１１】
角度値は、角度の均等な間隔を可能にするように変更される請求項７に記載の方法または装置。
【請求項１２】
請求項４乃至１１のいずれか一項に記載の装置と、
（ｉ）信号を受信するように構成されたアンテナであって、前記信号が前記ビデオブロックを含む、アンテナ、（ｉｉ）前記受信された信号を、前記ビデオブロックを含む周波数の帯域に制限するように構成された帯域リミッタ、および（ｉｉｉ）ビデオブロックを表す出力を表示するように構成されたディスプレイのうちの少なくとも１つと
を備えるデバイス。
【請求項１３】
プロセッサを使用して、再生のために、請求項１および５乃至１１のいずれか一項に記載の方法に従って、または請求項２および５乃至１１のいずれか一項に記載の装置によって生成されたデータコンテンツを含む非一時的コンピュータ可読媒体。
【請求項１４】
プロセッサを使用して、再生のために、請求項１および５乃至１１のいずれか一項に記載の方法に従って、または請求項２および５乃至１１のいずれか一項に記載の装置によって生成されたビデオデータを含む信号。
【請求項１５】
プログラムがコンピュータによって実行されたとき、請求項１、３、および５乃至１１のいずれか一項に記載の方法を前記コンピュータに実行させる命令を含むコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態の少なくとも１つは、一般に、ビデオエンコーディングまたはデコーディング、圧縮または伸張のための方法または装置に関する。
【背景技術】
【０００２】
高い圧縮効率を達成するために、画像およびビデオ符号化スキームは通常、動きベクトル予測を含む予測、および変換を利用して、ビデオコンテンツ内における空間的および時間的冗長性を活用する。一般に、イントラまたはインターフレーム相関を活用するために、イントラまたはインター予測が使用され、その後、予測誤差または予測残差としばしば呼ばれる、元の画像と予測された画像との間の差が、変換され、量子化され、エントロピ符号化される。ビデオを再構築するために、圧縮されたデータは、エントロピ符号化、量子化、変換、および予測に対応する、逆プロセスによってデコードされる。
【０００３】
多用途ビデオ符号化（ＶＶＣ: Versatile Video Coding）規格の開発においては、より多数のイントラ符号化モードが、利用される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ビデオエンコーディングまたはデコーディング、圧縮または伸張のための方法または装置に関する。
【課題を解決するための手段】
【０００５】
本実施形態の少なくとも１つは、一般に、ビデオエンコーディングまたはデコーディングのための方法または装置に関し、より詳細には、ビデオエンコーダまたはビデオデコーダにおける、最大変換サイズと変換符号化ツールとの間のインタラクションのための方法または装置に関する。
【０００６】
第１の態様に従うと、方法が、提供される。方法は、長方形ビデオブロックのサンプルを、長方形ビデオブロックの上側の行からのＮ個の参照サンプルのうちの少なくとも１つ、または長方形ビデオブロックの左側の列からのＭ個の参照サンプルのうちの少なくとも１つを使用して、予測するためのステップであって、前記参照サンプルは、長方形ブロックのアスペクト比に比例して増加する広角の数に基づく、ステップと、イントラ符号化モードにおいて、前記予測を使用して、長方形ビデオブロックをエンコードするためのステップとを含む。
【０００７】
第２の態様に従うと、方法が、提供される。方法は、長方形ビデオブロックのサンプルを、長方形ビデオブロックの上側の行からのＮ個の参照サンプルのうちの少なくとも１つ、または長方形ビデオブロックの左側の列からのＭ個の参照サンプルのうちの少なくとも１つを使用して、予測するためのステップであって、前記参照サンプルは、長方形ブロックのアスペクト比に比例して増加する広角の数に基づく、ステップと、イントラ符号化モードにおいて、前記予測を使用して、長方形ビデオブロックをデコードするためのステップとを含む。
【０００８】
別の態様に従うと、装置が、提供される。装置は、プロセッサを備える。プロセッサは、上述の方法のいずれかを実行することによって、ビデオのブロックをエンコードするように、またはビットストリームをデコードするように構成することができる。
【０００９】
少なくとも１つの実施形態の別の一般的な態様に従うと、デコーディングの実施形態のいずれかに従った装置と、（ｉ）信号を受信するように構成されたアンテナであって、信号がビデオブロックを含む、アンテナ、（ｉｉ）受信された信号を、ビデオブロックを含む周波数の帯域に制限するように構成された帯域リミッタ、または（ｉｉｉ）ビデオブロックを表す出力を表示するように構成されたディスプレイのうちの少なくとも１つとを備える、デバイスが、提供される。
【００１０】
少なくとも１つの実施形態の別の一般的な態様に従うと、説明されたエンコーディング実施形態または変形のいずれかに従って生成されたデータコンテンツを含む非一時的コンピュータ可読媒体が、提供される。
【００１１】
少なくとも１つの実施形態の別の一般的な態様に従うと、説明されたエンコーディング実施形態または変形のいずれかに従って生成されたビデオデータを含む信号が、提供される。
【００１２】
少なくとも１つの実施形態の別の一般的な態様に従うと、ビットストリームは、説明されたエンコーディング実施形態または変形のいずれかに従って生成されたデータコンテンツを含むように、フォーマットされる。
【００１３】
少なくとも１つの実施形態の別の一般的な態様に従うと、プログラムがコンピュータによって実行されたとき、説明されたデコーディング実施形態または変形のいずれかをコンピュータに実行させる命令を含むコンピュータプログラム製品が、提供される。
【００１４】
一般的な態様のこれらおよび他の態様、特徴、および利点は、添付の図面との関連において読まれるべき、例示的な実施形態の以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【００１５】
【図１】（ａ）モード３５およびモード３６が、それぞれ、モード２およびモード３に取って変わった、（ｂ）６５個の方向を有し、角度が０２から６６までラベル付けされた、広角予測方向を示す図である。
【図２】（ａ）開始角度が第２対角線の僅か下、終了角度がそれの僅か上にある、Ｗ＝２Ｈのブロック、（ｂ）小さい拡張を必要とする左側の参照アレイの例の図である。
【図３】Ｈ＝２Ｗのブロックの例で、（ａ）開始角度が第２対角線の僅か上、終了角度がその僅か下にある、（ｂ）上側参照アレイが小さい拡張を必要とする例の図である。
【図４】標準的で汎用的なビデオ圧縮スキームを示す図である。
【図５】標準的で汎用的なビデオ伸張スキームを示す図である。
【図６】一般的な説明される態様を実施する例示的プロセッサベースのサブシステムを示す図である。
【図７】説明される態様下における方法の一実施形態を示す図である。
【図８】説明される態様下における方法の別の実施形態を示す図である。
【図９】説明される態様下における例示的な装置を示す図である。
【発明を実施するための形態】
【００１６】
ここで説明される実施形態は、ビデオ圧縮の分野にあり、一般に、ビデオ圧縮、ならびにビデオエンコーディングおよびデコーディングに関する。本実施形態の少なくとも１つは、より具体的には、強化された複数の変換および／または２次変換が、広角イントラ予測と組み合わせて使用される、イントラ予測残差の変換符号化に関連する、ビデオエンコーディングおよびデコーディングに関する。
【００１７】
高い圧縮効率を達成するために、画像およびビデオ符号化スキームは通常、動きベクトル予測を含む予測、および変換を利用して、ビデオコンテンツ内における空間的および時間的冗長性を活用する。一般に、イントラまたはインターフレーム相関を活用するために、イントラまたはインター予測が、使用され、その後、予測誤差または予測残差としばしば呼ばれる、元の画像と予測された画像との間の差が、変換され、量子化され、エントロピ符号化される。ビデオを再構築するために、圧縮されたデータは、エントロピ符号化、量子化、変換、および予測に対応する、逆プロセスによってデコードされる。
【００１８】
ＨＥＶＣ（高効率ビデオ符号化、ＩＳＯ／ＩＥＣ２３００８−２、ＩＴＵ−Ｔ  Ｈ．２６５）ビデオ圧縮規格においては、ビデオの連続するピクチャ間に存在する冗長性を活用するために、動き補償された時間予測が、利用される。
【００１９】
そうするために、動きベクトルが、各予測ユニット（ＰＵ）に関連付けられる。各符号化ツリーユニット（ＣＴＵ）は、圧縮された領域内において、符号化ツリーによって表される。これは、ＣＴＵの四分木分割であり、各リーフは、符号化ユニット（ＣＵ:Coding Unit）と呼ばれる。
【００２０】
その後、各ＣＵは、いくつかのイントラまたはインター予測パラメータ（予測情報）を与えられる。そうするために、それは、１つまたは複数の予測ユニット（ＰＵ）に空間的に分割され、各ＰＵは、いくつかの予測情報を割り当てられる。イントラまたはインター符号化モードは、ＣＵレベル上において割り当てられる。
【００２１】
共同調査モデル（ＪＥＭ）として知られる、新しいビデオ圧縮規格のための、ＪＶＥＴ（共同ビデオ調査チーム）提案においては、高い圧縮性能のために、四分木−二分木（ＱＴＢＴ）ブロック分割構造を受け入れることが、提案された。二分木（ＢＴ）におけるブロックは、それを中央で水平または垂直に分割することによって、２つの等しいサイズのサブブロックに分割することができる。その結果、ＢＴブロックは、ブロックが常に高さと幅が等しい正方形を有する、ＱＴにおけるブロックとは異なり、幅と高さが等しくない長方形形状を有することができる。ＨＥＶＣにおいては、角度イントラ予測方向は、４５度から−１３５度まで、１８０度にわたって定義され、それらは、ＪＥＭにおいて維持され、それが、角度方向の定義を、ターゲットブロック形状とは無関係にしている。
【００２２】
これらのブロックをエンコードするために、以前に再構築された隣接サンプルを使用して、ブロックの推定されるバージョンを提供するために、イントラ予測が、使用される。その後、ソースブロックと予測との間の差が、エンコードされる。上記の古典的なコーデックにおいては、参照サンプルの単一ラインが、現在のブロックの左側および上側において使用される。
【００２３】
ＨＥＶＣ（高効率ビデオ符号化、Ｈ．２６５）においては、ビデオシーケンスのフレームのエンコーディングは、四分木（ＱＴ）ブロック分割構造に基づく。フレームは、正方形の符号化ツリーユニット（ＣＴＵ）に分割され、それらは、すべて、レート−歪み（ＲＤ）基準に基づいた、複数の符号化ユニット（ＣＵ）への四分木ベースの分割を施される。各ＣＵは、イントラ予測され、すなわち、それは、原因となる隣接ＣＵから空間的に予測され、またはインター予測され、すなわち、すでにデコードされた参照フレームから時間的に予測される。Ｉスライスにおいては、すべてのＣＵが、イントラ予測され、一方、ＰスライスおよびＢスライスにおいては、ＣＵは、イントラまたはインター両方で予測することができる。イントラ予測に対して、ＨＥＶＣは、（モード０としてインデックス付けされる）１つの平面モード、（モード１としてインデックス付けされる）１つのＤＣモード、および（モード２〜３４としてインデックス付けされる）３３個の角度モードを含む、３５個の予測モードを定義する。角度モードは、時計回り方向に４５度から−１３５度までの範囲にわたる、予測方向と関連付けられる。ＨＥＶＣは、四分木（ＱＴ）ブロック分割構造をサポートするので、すべての予測ユニット（ＰＵ）は、正方形形状を有する。したがって、４５度から−１３５度までの予測角度の定義は、ＰＵ（予測単位）形状の観点から妥当である。サイズＮ×Ｎピクセルのターゲット予測ユニットに対して、上側参照アレイ(Top reference array)および左側参照アレイ(left reference array)は、各々、サイズ２Ｎ＋１のサンプルであり、それは、すべてのターゲットピクセルのために、上述の角度範囲をカバーすることを要求される。ＰＵの高さと幅が等しい長さであることを考えると、２つの参照アレイの長さの等しいことも、理に適っている。
【００２４】
次代のビデオ符号化規格に対して、共同調査モデル（ＪＥＭ）としてのＪＶＥＴの試みは、平面モードおよびＤＣモードに加えて、６５個の角度イントラ予測モードを使用することを提案している。しかしながら、予測方向は、同じ角度範囲にわたって、すなわち、時計回りに４５度から−１３５度まで定義される。サイズがＷ×Ｈピクセルのターゲットブロックに対して、上側参照アレイおよび左側参照アレイは、各々、サイズ（Ｗ＋Ｈ＋１）ピクセルであり、それは、すべてのターゲットピクセルのために、上述の角度範囲をカバーすることを要求される。ＪＥＭにおける角度のこの定義は、いずれかの他の特定の理由よりも単純化のために行われた。しかしながら、そうする際に、いくつかの非効率性が、導入された。最近の研究において、広角イントラ予測が、提案され、それは、従来の４５度よりも高い、イントラ予測方向角度を可能にする。
【００２５】
図１は、広角予測方向を示している。ここでは、モード３５およびモード３６が、それぞれ、モード２およびモード３に取って代わって（replaced）いる（ａ）。図１においては、矢印は、いずれかのモードと関連付けられた反対方向を指していることに留意されたい。この図においては、角度は、０２から３４までラベル付けされており、それらは、ＶＶＣソフトウェアにおける６５個の予測方向の採用前の、角度名に対応することに留意されたい。現在は、６５個の方向を有し（ｂ）、角度は、０２から６６までラベル付けされている。
【００２６】
広角イントラ予測（ＷＡＩＰ:Wide Angle Intra Prediction）は、Ｈ．２６６としても知られる、次代の多用途ビデオ圧縮（ＶＶＣ）規格において使用するために採用された。ＷＡＩＰとは、イントラ予測において使用される通常の４５度および−１３５度の範囲を超える、追加の予測方向の使用のことを指す。ターゲットブロックが、長方形のとき、ブロック形状に応じて、いくつかの通常の予測方向は、反対方向の等しい数の広角方向によって取って代わられる(置き換えられる)。ＶＶＣ／Ｈ．２６６においては、最大１０個の広角方向を使用することができ、それは、予測方向のための通常の４５度から−１３５度の範囲を超える、２０個の広角方向をもたらす。これらの広角方向をサポートするために、参照アレイ長(Reference Array Length)が、適切に定義される。
【００２７】
採用されたＷＡＩＰに伴う１つの問題は、定義される広角が、既存の通常の角度から導出されることである。通常の角度は、正方形ブロック(square block)形状に対して最適化されているが、長方形ブロック(rectangle block)に対しては最適化されていない。その結果、長方形ブロックのために定義される角度は、対角線方向に沿って整列されていない(not aligned：揃っていない)。長方形ブロック形状に応じて、対角線は、これらの方向から何らかの少しの量だけずれることがある。これに伴う問題は、参照アレイの必要とされる長さが、ブロックの対応する辺の長さの正確な２倍でないことである。ブロックの小さい方の辺においては、参照アレイは、辺の長さの２倍より長い。小さい拡張の長さは、ブロック形状の関数である。さらに、ＶＶＣ／Ｈ．２６６［１］において採用されたように、広角方向の数が、１０個であるように制限される場合、アスペクト比８、１６、および３２を有する長方形ブロックに対して、拡張の長さが大きいことがある。本開示では、広角の数が１０個に制限されないとき、小さい方の辺における拡張が必要とされないような、いくつかの方法を提供する。
【００２８】
説明された一般的な態様は、正方形ブロックおよび長方形ブロックのためのイントラ予測方向の設計を統一するための、いくつかの方法を提案する。それは、単に正方形ブロックのケースから導出される角度の代わりに、長方形ブロックの形状に適した角度を使用することを目的とする。したがって、予測方向の範囲は、ターゲットブロックの第２対角線上に正確に広がる。この設計は、上側および左側の参照アレイの長さが、ターゲットブロックの対応する辺の長さの正確に２倍であることを必要とする。したがって、広角の数が、２０から２８（辺毎に１４）に拡張されれば、小さい方の辺において必要とされる小さい拡張は、必要とされない。これは、それを、上側および左側における参照サンプルの総数が、ターゲットブロックの高さと幅との合計の２倍に等しい、ＷＡＩＰを用いないイントラ予測と一致させる。ＶＶＣ／Ｈ．２６６において採用されたように、広角の数が、１０個であるように制限される場合、アスペクト比８：１、１６：１、および３２：１を有する長方形ブロックは、定義された予測方向をサポートするために、参照の小さい方の辺における拡張をまだ必要とする。
【００２９】
広角イントラ予測（ＷＡＩＰ）は、Ｈ．２６６としても知られる、次代の多用途ビデオ圧縮（ＶＶＣ）規格において使用するために採用された。ＷＡＩＰとは、イントラ予測において使用される通常の４５度および−１３５度の範囲を超える、追加の予測方向の使用のことを指す。ターゲットブロックが、長方形のとき、ブロック形状に応じて、いくつかの通常の予測方向は、反対方向の等しい数の広角方向によって取って代わられる。したがって、ターゲットブロックが、平たい、すなわち、それの幅が、高さよりも大きいとき、４５度に近いいくつかの水平方向は、−１３５度を超える等しい数の垂直方向によって取って代わられる。同様に、ターゲットブロックが、背の高い、すなわち。それの高さが、その幅よりも大きいとき、−１３５度に近いいくつかの垂直方向は、４５度を超えるいくつかの水平方向によって取って代わられる。これが、図１に例示されており、（やはりＨＥＶＣにおける）ＶＶＣの初期バージョンにおけるように、３５個の角度モードが、使用される。ＶＶＣの現在のバージョンにおいては、角度４５度から−１３５度の間の角度モードの数は、６５個に増加している。図１においては、矢印は、いずれかのモードと関連付けられた反対方向を指していることに留意されたい。
【００３０】
ＶＶＣ／Ｈ．２６６においては、最大１０個の広角方向を使用することができ、それは、予測方向のための通常の４５度から−１３５度の範囲を超える、２０個の広角方向をもたらす。したがって、使用される角度モードの総数は、８５（＝６５＋２０）個であり、そのうちの６５個だけが、与えられたターゲットブロックのために使用される。ターゲットブロックが、正方形形状である場合、４５度から−１３５度の間の通常の６５個のモードが、予測のために使用される。
【００３１】
現在のＷＡＩＰ仕様に伴う２つの問題が、存在する。第１の問題は、定義される広角が、正方形ブロック形状に対して最適化された、既存の角度から導出されるという事実からもたらされる。その結果、長方形ブロックのための予測角度は、元の角度が正方形ブロック用であるのと同じ意味で、参照アレイの長さに関して最適化されていない。これが、図２および図３に例示されている。
【００３２】
図２の例においては、Ｗ＝２Ｈである。平たいブロックのための（ａ）においては、開始角度（通常）は、第２対角線の僅かに下にあり、終了角度（広角）は、それの僅かに上にある。（ｂ）においては、左側の参照アレイは、（Ｅｘｔとして示される）小さい拡張を必要とする。
【００３３】
図３の例においては、Ｈ＝２Ｗである。背の高いブロックのための（ａ）においては、開始角度（広角）は、第２対角線の僅かに上あり、終了角度（通常）は、それの僅かに下にある。（ｂ）においては、上側の参照アレイは、（Ｅｘｔとして示される）小さい拡張を必要とする。
【００３４】
長方形ブロックのための開始角度および終了角度は、第２対角線から少量だけずれる。平たい長方形ブロックについては、開始角度は、（３２×Ｈ／Ｗ）＋１に等しい（角度パラメータＡとも呼ばれる）ｉｎｔｒａＰｒｅｄＡｎｇｌｅを有し、終了角度は、ｒｏｕｎｄ（１０２４／（（３２×Ｈ／Ｗ）＋１））に等しいｉｎｔｒａＰｒｅｄＡｎｇｌｅを有する、逆角度（inverse angle）に対応する。同様に、背の高い長方形ブロックについては、終了角度は、（３２×Ｈ／Ｗ）＋１に等しいｉｎｔｒａＰｒｅｄＡｎｇｌｅを有し、開始角度は、ｒｏｕｎｄ（１０２４／（（３２×Ｈ／Ｗ）＋１））に等しいｉｎｔｒａＰｒｅｄＡｎｇｌｅを有する、逆角度に対応する。第２対角線からのこの小さいずれのため、（左上隅の参照サンプルなしの）ターゲットブロックの短い方の辺における参照アレイの長さは、辺の長さの２倍より僅かに大きい。同時に、それの長さがブロックの辺の２倍である、（左上隅の参照サンプルなしの）長い方の辺における参照アレイは、アレイの終端に向かって数個の冗長なサンプルを含み、これらのサンプルは、いずれの予測モードのためにも決して使用されない。これは、定義される予測角度の設計を準最適にする。
【００３５】
現在のＷＡＩＰ仕様に伴う第２の問題は、広角の数を辺毎に１０個（すなわち、標準的な角度を超えるさらに１０個の角度）に制限することからもたらされる。この数は、４：１に等しいアスペクト比（短辺に対する長辺の比）を有する、ターゲット長方形ブロックに対して最適化されている。そのようなブロックについては、上述されたように、開始角度および終了角度は、第２対角線に近くなる。しかし、現在のＶＶＣ規格は、アスペクト比８：１、１６：１、および３２：１を有する長方形ブロックもサポートする。これらのケースにおいては、開始角度および終了角度は、第２対角線から著しくずれ、それが、今度は、（辺の長さの２倍を超える）短い方の参照アレイのはるかに大きい拡張を必要とし、いずれの予測モードにも使用されない、終端におけるより多数のサンプルだけ、長い方の参照アレイを冗長にもする。したがって、広角の数を辺毎に１４個に拡張することが提案されており、それは、アスペクト比３２：１までのすべての長方形ブロックをサポートする。これは、本文において後で詳しく説明される。
【００３６】
広角予測の背後にある基本的な考えは、予測モードの総数を同じに保ちながら、ブロック形状に従って、予測方向を適合させることである。これは、ブロックの大きい方の辺において、いくつかの予測方向を追加し、短い方の辺において、予測方向を削減することによって行われる。全体的な目的は、予測精度を向上させて、より高い圧縮効率をもたらすことである。新たに導入される方向は、４５度から−１３５度までの通常の１８０度の範囲を超えるので、それらは、広角方向と呼ばれる。
【００３７】
本開示においては、現在のＶＶＣ規格によって採用されている、ターゲットブロックのための６５個のイントラ予測モードを仮定する。ターゲットブロックが、正方形のとき、ブロックのための定義されるモードは、無変更のままなので、広角には、果たす役割がない。ターゲットブロックが、平たい、すなわち、それの幅Ｗが、それの高さＨよりも大きいとき、４５度に近いいくつかのモードが、削除され、−１３５度を超える等しい数の広角モードが、追加される。追加された方向は、予測モード６７、６８、．．．などとして、インデックス付けされる。同様に、ターゲットブロックが、背が高い場合、−１３５度に近いいくつかのモードが、削除され、４５度を超える等しい数の広角モードが、追加される。予測モード０および１は、平面予測およびＤＣ予測のために予約されているので、追加された方向は、予測モード−１、−２、．．．などとして、インデックス付けされる。表１は、異なるブロック形状について、広角モードによって取って代わられる通常モードの数を示している。このパラメータをｍｏｄｅＳｈｉｆｔと呼ぶ。
【００３８】
【表１】
2022502959.tif 000003
【００３９】
いずれのターゲットブロックについても、取って代わられる通常モードから広角モードへのマッピングは、以下のように行われる。
modeShift = (Min(2, Abs(Log2(W/H))) << 2) + 2;
if W > H and  1 < predMode < 2 + modeShift 
predMode = predMode + 65;
else if H > W and (66 - modeShift) < predMode <= 66
predMode = predMode - 67;
【００４０】
時計回りに予測方向を見る場合（表１を参照）、平たい長方形ブロックについては、方向は、通常モードで開始し、広角モードで終了することが明らかである。一方、背の高い長方形ブロックについては、方向は、広角モードで開始するが、通常モードで終了する。
【００４１】
広角の角度パラメータ（ｉｎｔｒａＰｒｅｄＡｎｇｌｅ）は、取って代わられる通常モードの角度パラメータから、以下のように導出される。
【００４２】
Ｗ＞Ｈであり、Ａnが、取って代わられるモード＃ｎについてのｉｎｔｒａＰｒｅｄＡｎｇｌｅの値を表す場合、取って代わる広角モードは、ｒｏｕｎｄ
【００４３】
【数１】
2022502959.tif 000004
【００４４】
に等しいｉｎｔｒａＰｒｅｄＡｎｇｌｅを有し、ここで、Ａn+1は、モード＃（ｎ＋１）のためのｉｎｔｒａＰｒｅｄＡｎｇｌｅを表す。同様に、Ｈ＞Ｗであり、Ａnが、取って代わられるモード＃ｎについてのｉｎｔｒａＰｒｅｄＡｎｇｌｅの値を表す場合、取って代わる広角モードは、
ｒｏｕｎｄ
【００４５】
【数２】
2022502959.tif 000005
【００４６】
に等しいｉｎｔｒａＰｒｅｄＡｎｇｌｅを有し、ここで、Ａn-1は、モード＃（ｎ−１）のためのｉｎｔｒａＰｒｅｄＡｎｇｌｅを表す。例として、表２は、Ｗ／Ｈ＝４についてのｉｎｔｒａＰｒｅｄＡｎｇｌｅ値を示している。
【００４７】
【表２】
2022502959.tif 000006
【００４８】
別の例として、表３は、Ｗ／Ｈ＝１／４についてのｉｎｔｒａＰｒｅｄＡｎｇｌｅ値を示している。
【００４９】
【表３】
2022502959.tif 000007
【００５０】
どちらのケースにおいても、新しいモードの逆角度パラメータｉｎｖＡｎｇｌｅは、ｒｏｕｎｄ（８１９２／ｉｎｔｒａＰｒｅｄＡｎｇｌｅ）として与えられる。
【００５１】
広角予測モードをサポートするために、上側および左側参照アレイの長さが、以下のように獲得される。
refW = 2 * W;
refH = 2 * H;
if W > H
refH = H + (W >> whRatio) + Ceil(W/32);
else if H > W
refW = W + (H >> whRatio) + Ceil(H/32);
ここで、ｗｈＲａｔｉｏ＝Ｍｉｎ（Ａｂｓ（Ｌｏｇ２（Ｗ／Ｈ））、２）である。
上記のアルゴリズムは、等価的に以下のように表すことができる。
refW = 2 * W;
refH = 2 * H;
if W > H,
refH = refH + ((W >> whRatio) - H) + Ceil(W/32);
else if H > W,
refW = refW + ((H >> whRatio) - W) + Ceil(H/32);
【００５２】
上述の決定から、短い方の参照アレイの長さは、辺の長さの２倍より長いことは明らかである。例えば、Ｗ＞Ｈの場合、左側の参照アレイは、２×Ｈよりも長い。同様に、Ｈ＞Ｗの場合、上側の参照アレイは、２×Ｗよりも長い。違いは、２つの異なる原因からもたらされる２つの項の合計である。第１項は、広角の数を１０に制限したことからもたらされる（ｗｈＲａｔｉｏは、２に等しい最大値を有し、それは、Ｗ／Ｈ≧４またはＷ／Ｈ≦１／４に対応する）。Ｗ／Ｈ≦４またはＷ／Ｈ≧１／４については、第１項は、ゼロに等しいが、Ｗ／Ｈ＞４またはＷ／Ｈ＜１／４については、第１項は、非ゼロの正である。（シーリング関数によって表される）第２項は、（Ｗ＞Ｈについての）開始角度または（Ｈ＞Ｗについての）終了角度が、ブロックの第２対角線に沿って整列しないという事実からもたらされる。以下で説明される実施形態は、これらの項を排除する、いくつかの例示的な方法を提示する。
【００５３】
現在のＶＶＣ規格におけるような、広角の数を１０にする制限が、存在しない場合、第１項は、ゼロにすることができる。長方形ブロックのアスペクト比に比例して、広角の数を増やすことができる。異なるブロック形状についての、取って代わられるモードの数、および対応する広角が、以下の表４において与えられている。現在のＶＶＣ規格において許可されるすべてのブロックサイズをカバーするためには、どちらの辺においても最大１４個の広角（合計２８個の広角）で十分であることに留意されたい。
【００５４】
【表４】
2022502959.tif 000008
【００５５】
以下の実施形態は、ブロックのための開始および終了予測方向をそれの第２対角線に沿って整列させることを目的とする、いくつかの例示的な方法を提示する。これらの方法の適用は、（先のセクションにおいて与えられた式における）第２項をゼロにする。これらの方法のいずれも、例示的な実施形態と考えることができる。
【００５６】
方法１：切り捨て
この方法においては、指定された予測方向は、無変更のままである。いずれのターゲット長方形ブロックについても、最も端の２つの方向だけが、それの対角線に整列させられる。
【００５７】
平たいブロック、すなわち、Ｗ＞Ｈについては、開始通常モードは、（３２×Ｈ／Ｗ）＋１に等しい、角度パラメータｉｎｔｒａＰｒｅｄＡｎｇｌｅを有し、終了広角モードは、ｒｏｕｎｄ（１０２４／（（３２×Ｈ／Ｗ）＋１））に等しい、ｉｎｔｒａＰｒｅｄＡｎｇｌｅを有する。同様に、背の高いブロック、すなわち、Ｈ＞Ｗについては、終了通常モードは、（３２×Ｗ／Ｈ）＋１に等しい、ｉｎｔｒａＰｒｅｄＡｎｇｌｅを有し、開始広角モードは、ｒｏｕｎｄ（１０２４／（（３２×Ｗ／Ｈ）＋１））に等しい、ｉｎｔｒａＰｒｅｄＡｎｇｌｅを有する。これらの方向をブロックの対角線に整列させる最も簡単な方法は、以下のように、それらを切り捨てることである。
If, W > H and  predMode = 2 + modeShift  
intraPredAngle = (32 * H / W)
else if, H > W and predMode  =  66 - modeShift
intraPredAngle = (32 * W / H)
これらの２つのステートメントは、第２項をゼロにする。任意選択で、最後（最初）の広角を平たい（背の高い）ブロックの第２の対角線に整列させるために、以下の変更を提案する。
If W > H and predMode = 66 + modeShift, 
intraPredAngle = (32 * W /H)
else if H > W and predMode = -modeShift
intraPredAngle = (32 * H / W)
すべてのケースにおいて、逆角度パラメータｉｎｖＡｎｇｌｅは、以下のように導出される。
ｉｎｖＡｎｇｌｅ＝ｒｏｕｎｄ（８１３２／ｉｎｔｒａＰｒｅｄＡｎｇｌｅ）
例として、表５（ａ）および表５（ｂ）は、それぞれ、Ｗ／Ｈ＝２およびＷ／Ｈ＝４についての、開始方向および終了方向のためのｉｎｔｒａＰｒｅｄＡｎｇｌｅ値を示している。赤い数字は、切り捨てが原因で行われた変更である。
【００５８】
【表５】
2022502959.tif 000009
【００５９】
【表６】
2022502959.tif 000010
【００６０】
同様に、表６（ａ）および表６（ｂ）は、それぞれ、Ｗ／Ｈ＝１／２およびＷ／Ｈ＝１／４についての、開始方向および終了方向のためのｉｎｔｒａＰｒｅｄＡｎｇｌｅ値を示している。
【００６１】
【表７】
2022502959.tif 000011
【００６２】
【表８】
2022502959.tif 000012
【００６３】
方法２：ダイアディック（Dyadic）整列
この方法においては、角度パラメータ、すなわち、ｉｎｔｒａＰｒｅｄＡｎｇｌｅのセットが３２の因数（factors of 32）すべてを含むように、予測方向が、変更される。これに対応して、それらに対応する広角も、３２の倍数になる。プロセスにおいて、いくつかの既存のｉｎｔｒａＰｒｅｄＡｎｇｌｅ値を置き換える。新しい角度パラメータのセットは、正方形ブロックを含むすべてのブロック形状のために使用される。変形として、新しいセットは、長方形ブロックのためだけに使用することができる。ここでの角度値は、広角の数を１０にする制限が存在しないことを仮定して、導出される。
【００６４】
【表９】
2022502959.tif 000013
【００６５】
ｉｎｔｒａＰｒｅｄＡｎｇｌｅ値２が、すでに存在するので、ｍｏｄｅＳｈｉｆｔ値も、僅かに変更されることに留意されたい。また、Ａｌｌ＿ＩＮＴＲＡ構成におけるＶＶＣ／Ｈ．２６６についてのケースである、最大で１６：１までのアスペクト比については、どちらの辺においても、１４個の広角が追加される必要があるだけである。
【００６６】
【表１０】
2022502959.tif 000014
【００６７】
方法３：すべてのブロック形状のための新しい方向
角度のダイアディック挿入は、角度値の等しくない間隔のせいで、角度値の分布をいくらか不規則にするので、間隔をいくらか均等にするために、他の角度値を変更することを提案する。どの１つの値の僅かな変更も、ほぼ同じ結果をもたらすので、角度を分布させる一意的な方法は、存在しないことに留意されたい。変形として、新しいセットは、長方形ブロックのためだけに使用することができ、元の値は、規格におけるように、正方形ターゲットブロックのために使用することができる。例として、以下の角度値を提案する。
【００６８】
【表１１】
2022502959.tif 000015
【００６９】
【表１２】
2022502959.tif 000016
【００７０】
上記の例については、表８におけるように、ｍｏｄｅＳｈｉｆｔ値も、僅かに変更する必要がある。
【００７１】
最後に、ＶＶＣ／Ｈ．２６６符号におけるように、広角の数が依然として１０に制限される場合、上述の方法は、依然として第２項をゼロにすることにも留意されたい。Ｗ／Ｈ≦４の平たいブロック、またはＷ／Ｈ≧１／４の背の高いブロックについては、第１項は、ゼロである。したがって、Ｗ／Ｈ＞４である平たいブロック、またはＷ／Ｈ＜１／４である背の高いブロックについては、短い方の参照アレイは、辺の長さの２倍を超える拡張を依然として必要とする。
【００７２】
提案される本発明の１つの利点は、それらが、ブロック形状に適した予測方向を整列させることによって、現在のＷＡＩＰ設計における準最適性を取り除くことである。この最適化によって、（左上の参照サンプルを除く）参照アレイ長は、ブロックの対応する辺の長さの２倍である必要があるだけである。
【００７３】
ここで説明される一般的な態様下における方法７００の一実施形態が、図７に示されている。方法は、開始ブロック７０１において開始し、制御は、長方形ビデオブロックのサンプルを、長方形ビデオブロックの上側の行からのＮ個の参照サンプルのうちの少なくとも１つ、または長方形ビデオブロックの左側の列からのＭ個の参照サンプルのうちの少なくとも１つを使用して、予測するためのブロック７１０に進み、参照サンプルは、長方形ブロックのアスペクト比に比例して増加する、広角の数に基づく。制御は、ブロック７１０から、イントラ符号化モードにおいて、予測を使用して、長方形ビデオブロックをエンコードするためのブロック７２０に進む。
【００７４】
ここで説明される一般的な態様下における方法８００の別の実施形態が、図８に示されている。方法は、開始ブロック８０１において開始し、制御は、長方形ビデオブロックのサンプルを、長方形ビデオブロックの上側の行からのＮ個の参照サンプルのうちの少なくとも１つ、または長方形ビデオブロックの左側の列からのＭ個の参照サンプルのうちの少なくとも１つを使用して、予測するためのブロック８１０に進み、参照サンプルは、長方形ブロックのアスペクト比に比例して増加する、広角の数に基づく。制御は、ブロック８１０から、イントラ符号化モードにおいて、予測を使用して、長方形ビデオブロックをデコードするためのブロック８２０に進む。
【００７５】
図９は、広角イントラ予測を使用して、ビデオデータをエンコードし、デコードし、圧縮し、または伸張するための装置９００の一実施形態を示している。装置は、プロセッサ９１０を備え、少なくとも１つのポートを通してメモリ９２０に相互接続することができる。プロセッサ９１０およびメモリ９２０は、ともに、外部接続への１つまたは複数の追加の相互接続を有することもできる。
【００７６】
プロセッサ９１０は、また、情報をビットストリームに挿入する、または受け取るように、および説明された態様のいずれかを使用して、圧縮、エンコード、またはデコードするように構成される。
【００７７】
本文書は、ツール、特徴、実施形態、モデル、手法などを含む、様々な態様について説明する。これらの態様の多くは、具体性をもって説明され、少なくとも個々の特性を示すために、限定的に思われることができる方法で、しばしば説明される。しかしながら、これは、説明における明瞭さのためであり、それらの態様の適用または範囲を制限しない。実際、異なる態様のすべては、さらなる態様を提供するために、組み合わせること、および交換することができる。さらに、態様は、同様に、先の出願において説明された態様と組み合わせること、および交換することができる。
【００７８】
本文書において説明および企図される実施形態は、多くの異なる形態で実施することができる。以下の図４、図５、および図６は、いくつかの実施形態を提供するが、他の実施形態が、企図され、図４、図５、および図６の説明は、実施の広さを限定しない。態様の少なくとも１つは、一般に、ビデオエンコーディングおよびデコーディングに関し、少なくとも１つの他の態様は、一般に、生成またはエンコードされたビットストリームの送信に関する。これらおよび他の態様は、方法、装置、説明された方法のいずれかに従ってビデオデータをエンコードもしくはデコードするための命令をその上に記憶したコンピュータ可読記憶媒体、および／または説明される方法のいずれかに従って生成されたビットストリームをその上に記憶したコンピュータ可読記憶媒体として実施することができる。
【００７９】
本出願においては、「再構築された」および「デコードされた」という用語は、交換可能に使用することができ、「ピクセル」および「サンプル」という用語は、交換可能に使用することができ、「画像」、「ピクチャ」、および「フレーム」という用語は、交換可能に使用することができる。必ずではないが、通常、「再構築された」という用語は、エンコーダ側において使用され、「デコードされた」は、デコーダ側において使用される。
【００８０】
本明細書においては、様々な方法が、説明され、方法の各々は、説明された方法を達成するための、１つまたは複数のステップまたはアクションを含む。ステップまたはアクションの特定の順序が、方法の適切な動作のために必要とされない限り、特定のステップおよび／またはアクションの順序および／または使用は、変更すること、または組み合わせることができる。
【００８１】
本文書において説明される様々な方法および他の態様を使用して、モジュール、例えば、図４および図５に示されるようなビデオエンコーダ１００およびデコーダ２００の、イントラ予測モジュール、エントロピ符号化モジュール、および／またはデコーディングモジュール（１６０、３６０、１４５、３３０）を変更することができる。さらに、本態様は、ＶＶＣまたはＨＥＶＣに限定されず、例えば、既存のものか、それとも将来開発されるものかにかかわらず、他の規格および勧告に、ならびに（ＶＶＣおよびＨＥＶＣを含む）いずれかそのような規格および勧告の拡張に適用することができる。別段の指摘がない限り、または技術的に除外されない限り、本文書において説明される態様は、個別に、または組み合わせて使用することができる。
【００８２】
本文書においては、例えば、｛｛１，０｝、｛３，１｝、｛１，１｝｝など、様々な数値が、使用される。特定の値は、例示を目的としたものであり、説明される態様は、これらの特定の値に限定されない。
【００８３】
図４は、エンコーダ１００を例示している。このエンコーダ１００の変形が、企図されるが、エンコーダ１００は、明瞭にするために、すべての予想される変形を説明することなく、以下で説明される。
【００８４】
エンコードされる前に、ビデオシーケンスは、例えば、カラー変換を入力カラーピクチャに適用し（例えば、ＲＧＢ  ４：４：４からＹＣｂＣｒ  ４：２：０への変換）、または（例えば、カラー成分の１つのヒストグラム均等化を使用して）圧縮に対してより回復力のある信号分布を取得するために、入力ピクチャ成分の再マッピングを実行する、プリエンコーディング処理（１０１）を通過することができる。メタデータは、前処理と関連付け、ビットストリームに添付することができる。
【００８５】
エンコーダ１００において、ピクチャは、以下で説明されるように、エンコーダ要素によってエンコードされる。エンコードされるピクチャは、分割され（１０２）、例えば、ＣＵの単位で、処理される。各ユニットは、例えば、イントラモードまたはインターモードのどちらかを使用して、エンコードされる。ユニットが、イントラモードでエンコードされるとき、それは、イントラ予測（１６０）を実行する。インターモードにおいては、動き推定（１７５）および補償（１７０）が、実行される。エンコーダは、ユニットをエンコードするために使用する、イントラモードまたはインターモードのどちらか一方を決定し（１０５）、例えば、予測モードフラグによって、イントラ／インター決定を示す。予測残差が、例えば、予測されたブロックを元の画像ブロックから減算（１１０）することによって、計算される。
【００８６】
その後、予測残差は、変換（１２５）され、量子化（１３０）される。量子化された変換係数、ならびに動きベクトルおよび他の構文要素が、エントロピ符号化（１４５）されて、ビットストリームを出力する。エンコーダは、変換をスキップし、変換されていない残差信号に直接的に量子化を適用することができる。エンコーダは、変換および量子化の両方をバイパスすることができ、すなわち、残差は、変換または量子化プロセスの適用なしに、直接的に符号化される。
【００８７】
エンコーダは、エンコードされたブロックをデコードして、さらなる予測のための参照を提供する。量子化された変換係数は、予測残差をデコードするために、逆量子化（１４０）および逆変換（１５０）される。デコードされた予測残差と予測されたブロックとを組み合わせて（１５５）、画像ブロックが、再構築される。例えば、デブロッキング／ＳＡＯ（サンプル適応オフセット）フィルタリングを実行するために、インループフィルタ（１６５）が、再構築されたピクチャに適用されて、エンコーディングアーチファクトを低減させる。フィルタリングされた画像は、参照ピクチャバッファ（１８０）に記憶される。
【００８８】
図５は、ビデオデコーダ２００のブロック図を例示している。デコーダ２００において、ビットストリームは、以下で説明されるように、デコーダ要素によってデコードされる。ビデオデコーダ２００は、一般に、図４に説明されるようなエンコーディングパスと相反的な、デコーディングパスを実行する。エンコーダ１００も、一般に、ビデオデータをエンコードする一環として、ビデオデコーディングを実行する。
【００８９】
特に、デコーダの入力は、ビデオエンコーダ１００によって生成することができる、ビデオビットストリームを含む。ビットストリームは、最初に、エントロピデコード（２３０）されて、変換係数、動きベクトル、および他の符号化された情報を獲得する。ピクチャ分割情報は、ピクチャがどのように分割されているかを示す。したがって、デコーダは、デコードされたピクチャの分割情報に従って、ピクチャを分割する（２３５）ことができる。変換係数は、予測残差をデコードするために、逆量子化（２４０）および逆変換（２５０）される。デコードされた予測残差と予測されたブロックとを組み合わせて（２５５）、画像ブロックが、再構築される。予測されたブロックは、イントラ予測（２６０）または動き補償予測（すなわち、インター予測）（２７５）から、獲得する（２７０）ことができる。インループフィルタ（２６５）が、再構築された画像に適用される。フィルタリングされた画像は、参照ピクチャバッファ（２８０）に記憶される。
【００９０】
デコードされたピクチャは、さらに、ポストデコーディング処理（２８５）、例えば、逆カラー変換（例えば、ＹＣｂＣｒ  ４：２：０からＲＧＢ  ４：４：４への変換）、またはプリエンコーディング処理（１０１）において実行された再マッピングプロセスの逆を実行する逆再マッピングを通過することができる。ポストデコーディング処理は、プリエンコーディング処理において導出され、ビットストリームでシグナリングされた、メタデータを使用することができる。
【００９１】
図６は、様々な実施形態が実施されるシステムの例のブロック図を例示している。システム１０００は、以下で説明される様々な構成要素を含むデバイスとして具体化することができ、本文書において説明される態様のうちの１つまたは複数を実行するように構成される。そのようなデバイスの例は、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受像機、パーソナルビデオ録画システム、接続された家電製品、およびサーバなど、様々な電子デバイスを含むが、それらに限定されない。システム１０００の要素は、単独で、または組み合わせて、単一の集積回路、複数のＩＣ、および／または個別の構成要素で具体化することができる。例えば、少なくとも１つの実施形態においては、システム１０００の処理およびエンコーダ／デコーダ要素は、複数のＩＣおよび／または個別の構成要素にわたって分散される。様々な実施形態においては、システム１０００は、例えば、通信バスを介して、または専用入力および／もしくは出力ポートを通して、他の類似のシステムに、または他の電子デバイスに通信可能に結合される。様々な実施形態においては、システム１０００は、本文書において説明される態様のうちの１つまたは複数を実施するように構成される。
【００９２】
システム１０００は、例えば、本文書において説明される様々な態様を実施するために、そこにロードされた命令を実行するように構成された、少なくとも１つのプロセッサ１０１０を含む。プロセッサ１０１０は、組み込みメモリ、入出力インターフェース、および当技術分野において知られた様々な他の回路を含むことができる。システム１０００は、少なくとも１つのメモリ１０２０（例えば、揮発性メモリデバイス、および／または不揮発性メモリデバイス）を含む。システム１０００は、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュ、磁気ディスクドライブ、および／または光ディスクドライブを含むが、それらに限定されない、不揮発性メモリおよび／または揮発性メモリを含むことができる、ストレージデバイス１０４０を含む。ストレージデバイス１０４０は、非限定的な例として、内部ストレージデバイス、取り付けられたストレージデバイス、および／またはネットワークアクセス可能なストレージデバイスを含むことができる。
【００９３】
システム１０００は、例えば、データを処理して、エンコードされたビデオまたはデコードされたビデオを提供するように構成された、エンコーダ／デコーダモジュール１０３０を含み、エンコーダ／デコーダモジュール１０３０は、それ自体のプロセッサおよびメモリを含むことができる。エンコーダ／デコーダモジュール１０３０は、エンコーディングおよび／またはデコーディング機能を実行するために、デバイスに含めることができる、モジュールを表す。知られているように、デバイスは、エンコーディングモジュールおよびデコーディングモジュールの一方または両方を含むことができる。加えて、エンコーダ／デコーダモジュール１０３０は、システム１０００の別々の要素として実施することができ、または当業者に知られているように、ハードウェアおよびソフトウェアの組み合わせとして、プロセッサ１０１０内に組み込むことができる。
【００９４】
本文書において説明される様々な実施形態を実行するために、プロセッサ１０１０またはエンコーダ／デコーダ１０３０上にロードされるプログラムコードは、ストレージデバイス１０４０内に記憶され、その後、プロセッサ１０１０による実行のために、メモリ１０２０上にロードすることができる。様々な実施形態に従うと、プロセッサ１０１０、メモリ１０２０、ストレージデバイス１０４０、およびエンコーダ／デコーダモジュール１０３０のうちの１つまたは複数は、本文書において説明されるプロセスの実行中に、様々なアイテムのうちの１つまたは複数を記憶することができる。そのような記憶されたアイテムは、入力ビデオ、デコードされたビデオまたはデコードされたビデオの一部、ビットストリーム、行列、変数、ならびに方程式、公式、演算、および演算論理の処理からの中間または最終結果を含むことができるが、それらに限定されない。
【００９５】
いくつかの実施形態においては、プロセッサ１０１０および／またはエンコーダ／デコーダモジュール１０３０の内部のメモリは、命令を記憶し、エンコーディングまたはデコーディング中に必要とされる処理のための作業メモリを提供するために使用される。しかしながら、他の実施形態においては、処理デバイス（例えば、処理デバイスは、プロセッサ１０１０またはエンコーダ／デコーダモジュール１０３０のどちらかであることができる）の外部のメモリが、これらの機能のうちの１つまたは複数のために使用される。外部メモリは、メモリ１０２０および／またはストレージデバイス１０４０、例えば、ダイナミック揮発性メモリおよび／または不揮発性フラッシュメモリであることができる。いくつかの実施形態においては、外部不揮発性フラッシュメモリは、テレビのオペレーティングシステムを記憶するために使用される。少なくとも１つの実施形態においては、ＲＡＭなどの高速な外部動的揮発性メモリが、ＭＰＥＧ−２、ＨＥＶＣ、またはＶＶＣ（多用途ビデオ符号化）など、ビデオ符号化およびデコーディング演算のための作業メモリとして使用される。
【００９６】
システム１０００の要素への入力は、ブロック１１３０に示されるような、様々な入力デバイスを通して、提供することができる。そのような入力デバイスは、（ｉ）例えば、放送局によって無線で送信された、ＲＦ信号を受信するＲＦ部、（ｉｉ）複合入力端子、（ｉｉｉ）ＵＳＢ入力端子、および／または（ｉｖ）ＨＤＭＩ入力端子を含むが、それらに限定されない。
【００９７】
様々な実施形態においては、ブロック１１３０の入力デバイスは、当技術分野において知られるような、関連付けられたそれぞれの入力処理要素を有する。例えば、ＲＦ部は、（ｉ）所望の周波数を選択し（信号を選択する、または信号を周波数の帯域に帯域制限するとも言われる）、（ｉｉ）選択された信号をダウンコンバートし、（ｉｉｉ）ある実施形態においてはチャネルと呼ぶことができる（例えば）信号周波数帯域を選択するために、周波数のより狭い帯域に再び帯域制限し、（ｉｖ）ダウンコンバートおよび帯域制限された信号を復調し、（ｖ）誤り訂正を実行し、および（ｖｉ）データパケットの所望のストリームを選択するために逆多重化するための要素に関連付けることができる。様々な実施形態のＲＦ部は、これらの機能を実行するための１つまたは複数の要素、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、誤り訂正器、およびデマルチプレクサを含む。ＲＦ部は、例えば、受信された信号を、より低い周波数（例えば、中間周波数もしくは近ベースバンド周波数）に、またはベースバンドにダウンコンバートすることを含む、様々なこれらの機能を実行する、チューナを含むことができる。セットトップボックスの一実施形態においては、ＲＦ部およびそれの関連付けられた入力処理要素は、有線（例えば、ケーブル）媒体上において送信されたＲＦ信号を受信し、所望の周波数帯域にフィルタリングし、ダウンコンバートし、および再びフィルタリングすることによって、周波数選択を実行する。様々な実施形態は、上で説明された（および他の）要素の順序を再配置し、これらの要素のいくつかを削除し、および／または類似もしくは異なる機能を実行する他の要素を追加する。要素を追加することは、既存の要素の間に要素を挿入すること、例えば、増幅器およびアナログ−デジタルコンバータを挿入することを含むことができる。様々な実施形態においては、ＲＦ部は、アンテナを含む。
【００９８】
加えて、ＵＳＢおよび／またはＨＤＭＩ端子は、ＵＳＢおよび／またはＨＤＭＩ接続を介して、システム１０００を他の電子デバイスに接続するための、それぞれのインターフェースプロセッサを含むことができる。入力処理の様々な態様、例えば、リード−ソロモン誤り訂正は、例えば、別個の入力処理ＩＣ内において、またはプロセッサ１０１０内において実施することができることを理解されたい。同様に、ＵＳＢまたはＨＤＭＩインターフェース処理の態様は、別個のインターフェースＩＣ内において、またはプロセッサ１０１０内において実施することができる。復調され、誤り訂正され、逆多重化されたストリームは、出力デバイス上における提示用にデータストリームを処理するために、メモリおよびストレージ要素と組み合わされて動作する、例えば、プロセッサ１０１０、およびエンコーダ／デコーダ１０３０を含む、様々な処理要素に提供される。
【００９９】
システム１０００の様々な要素は、統合ハウジング内において提供することができる。統合ハウジング内においては、様々な要素は、相互接続され、適切な接続構成１１４０、例えば、Ｉ２Ｃバス、配線、およびプリント回路基板を含む、当技術分野において知られた内部バスを使用して、それらの間でデータを送信することができる。
【０１００】
システム１０００は、通信チャネル１０６０を介した他のデバイスとの通信を可能にする、通信インターフェース１０５０を含む。通信インターフェース１０５０は、通信チャネル１０６０上においてデータを送信および受信するように構成された、送受信機を含むことができるが、それに限定されない。通信インターフェース１０５０は、モデムまたはネットワークカードを含むことができるが、それらに限定されず、通信チャネル１０６０は、例えば、有線および／または無線媒体内において実施することができる。
【０１０１】
様々な実施形態においては、データは、ＩＥＥＥ８０２．１１などの無線ネットワークを使用して、システム１０００にストリーミングされる。これらの実施形態の無線信号は、例えば、Ｗｉ−Ｆｉ通信のために適合された、通信チャネル１０６０および通信インターフェース１０５０上において受信される。これらの実施形態の通信チャネル１０６０は、典型的には、ストリーミングアプリケーションおよび他のオーバザトップ通信を可能にするための、インターネットを含む外部ネットワークへのアクセスを提供する、アクセスポイントまたはルータに接続される。他の実施形態は、入力ブロック１１３０のＨＤＭＩ接続上においてデータを配信する、セットトップボックスを使用して、ストリーミングされるデータをシステム１０００に提供する。さらに他の実施形態は、入力ブロック１１３０のＲＦ接続を使用して、ストリーミングされるデータをシステム１０００に提供する。
【０１０２】
システム１０００は、出力信号を、ディスプレイ１１００、スピーカ１１１０、および他の周辺デバイス１１２０を含む、様々な出力デバイスに提供することができる。実施形態の様々な例においては、他の周辺デバイス１１２０は、スタンドアロンＤＶＲ、ディスクプレーヤ、ステレオシステム、照明システム、およびシステム１０００の出力に基づいた機能を提供する他のデバイスのうちの１つまたは複数を含む。様々な実施形態においては、ＡＶ．Ｌｉｎｋ、ＣＥＣ、またはユーザ介入ありもしくはなしのデバイス間制御を可能にする他の通信プロトコルなどのシグナリングを使用して、制御信号が、システム１０００と、ディスプレイ１１００、スピーカ１１１０、または他の周辺デバイス１１２０との間でシグナリングされる。出力デバイスは、それぞれのインターフェース１０７０、１０８０、および１０９０を通した専用接続を介して、システム１０００に通信可能に結合することができる。あるいは、出力デバイスは、通信インターフェース１０５０を介して、通信チャネル１０６０を使用して、システム１０００に接続することができる。ディスプレイ１１００およびスピーカ１１１０は、電子デバイス、例えば、テレビにおいて、システム１０００の他の構成要素とともに、単一のユニット内に統合することができる。様々な実施形態においては、ディスプレイインターフェース１０７０は、ディスプレイドライバ、例えば、タイミングコントローラ（Ｔ  Ｃｏｎ）チップを含む。
【０１０３】
あるいは、例えば、入力１１３０のＲＦ部が、別個のセットトップボックスの一部である場合、ディスプレイ１１００およびスピーカ１１１０は、他の構成要素のうちの１つまたは複数から分離していることができる。ディスプレイ１１００およびスピーカ１１１０が外部構成要素である、様々な実施形態においては、出力信号は、例えば、ＨＤＭＩポート、ＵＳＢポート、またはＣＯＭＰ出力を含む、専用出力接続を介して、提供することができる。
【０１０４】
実施形態は、プロセッサ１０１０によって実施されるコンピュータソフトウェアによって、もしくはハードウェアによって、またはハードウェアおよびソフトウェアの組み合わせによって、実行することができる。非限定的な例として、実施形態は、１つまたは複数の集積回路によって実施することができる。メモリ１０２０は、技術環境に対して適切な任意のタイプであることができ、非限定的な例として、光メモリデバイス、磁気メモリデバイス、半導体ベースのメモリデバイス、固定メモリ、およびリムーバブルメモリなどの、任意の適切なデータストレージ技術を使用して、実施することができる。プロセッサ１０１０は、技術環境に対して適切な任意のタイプであることができ、非限定的な例として、マイクロプロセッサ、汎用コンピュータ、専用コンピュータ、およびマルチコアアーキテクチャに基づいたプロセッサのうちの１つまたは複数を包含することができる。
【０１０５】
様々な実施は、デコーディングを含む。本出願において使用される場合、「デコーディング」は、表示に適した最終出力を生成するために、例えば、受信されたエンコードされたシーケンスに対して実行される、プロセスのすべてまたは一部を包含することができる。様々な実施形態においては、そのようなプロセスは、典型的にはデコーダによって実行されるプロセス、例えば、エントロピデコーディング、逆量子化、逆変換、および差分デコーディングのうちの１つまたは複数を含む。様々な実施形態においては、そのようなプロセスは、本出願において説明される様々な実施のデコーダによって実行されるプロセス、例えば、様々なイントラ予測参照アレイのために使用される重みのインデックスを抽出することも含み、または代替として、それを含む。
【０１０６】
さらなる例として、一実施形態においては、「デコーディング」とは、エントロピデコーディングだけのことであり、別の実施形態においては、「デコーディング」とは、差分デコーディングだけのことであり、別の実施形態においては、「デコーディング」とは、エントロピデコーディングおよび差分デコーディングの組み合わせのことである。「デコーディングプロセス」という語句が、特定的に操作のサブセットを指すことを意図しているか、それとも一般的により広いデコーディングプロセスを指すことを意図しているかは、具体的な説明の文脈に基づいて明らかであり、当業者によく理解されると信じられる。
【０１０７】
様々な実施は、エンコーディングを含む。「デコーディング」についての上述の説明と同様に、本出願において使用される場合、「エンコーディング」は、エンコードされたビットストリームを生成するために、例えば、入力ビデオシーケンスに対して実行される、プロセスのすべてまたは一部を包含することができる。様々な実施形態においては、そのようなプロセスは、典型的にはエンコーダによって実行されるプロセス、例えば、分割、差分エンコーディング、変換、量子化、およびエントロピエンコーディングのうちの１つまたは複数を含む。様々な実施形態においては、そのようなプロセスは、本出願において説明される様々な実施のエンコーダによって実行されるプロセス、例えば、イントラ予測参照アレイの重み付けも含み、または代替として、それを含む。
【０１０８】
さらなる例として、一実施形態においては、「エンコーディング」とは、エントロピエンコーディングだけのことであり、別の実施形態においては、「エンコーディング」とは、差分エンコーディングだけのことであり、別の実施形態においては、「エンコーディング」とは、差分エンコーディングおよびエントロピエンコーディングの組み合わせのことである。「エンコーディングプロセス」という語句が、特定的に操作のサブセットを指すことを意図しているか、それとも一般的により広いエンコーディングプロセスを指すことを意図しているかは、具体的な説明の文脈に基づいて明らかであり、当業者によく理解されると信じられる。
【０１０９】
構文要素は、本明細書において使用される場合、記述用語であることに留意されたい。そのため、それらは、他の構文要素名の使用を排除しない。
【０１１０】
図が、フロー図として提示されるとき、それは、対応する装置のブロック図も提供することを理解されたい。同様に、図が、ブロック図として提示されるとき、それは、対応する方法／プロセスのフロー図も提供することを理解されたい。
【０１１１】
様々な実施形態は、レート歪み計算またはレート歪み最適化に言及する。特に、エンコーディングプロセス中、しばしば計算複雑さの制約を与えられて、レートと歪みのバランスまたはトレードオフが、通常、考慮される。レート歪み最適化は、通常、レートと歪みの加重和である、レート歪み関数を最小化することとして定式化される。レート歪み最適化問題を解決するための異なる手法が、存在する。例えば、手法は、符号化コストならびに符号化およびデコーディング後の再構築された信号の関連する歪みの完全な評価を伴った、すべての検討されるモードまたは符号化パラメータ値を含む、すべてのエンコーディングオプションの広範なテストに基づくことができる。エンコーディング複雑さを省くために、特に、再構築されたものではなく、予測または予測残差信号に基づいた、近似された歪みの計算を用いる、より高速な手法を使用することもできる。可能なエンコーディングオプションのいくつかだけに対しては近似された歪みを使用し、他のエンコーディングオプションに対しては完全な歪みを使用することなどによって、これら２つの手法の混合を使用することもできる。他の手法は、可能なエンコーディングオプションのサブセットだけを評価する。より一般的には、多くの手法は、様々な技法のいずれかを利用して、最適化を実行するが、最適化は、必ずしも、符号化コストおよび関連する歪みの両方の完全な評価ではない。
【０１１２】
本明細書において説明される実施および態様は、例えば、方法もしくはプロセス、装置、ソフトウェアプログラム、データストリーム、または信号で実施することができる。実施の単一の形態との関連においてのみ説明された（例えば、方法としてのみ説明された）場合であっても、説明された特徴の実施は、他の形態（例えば、装置またはプログラム）でも実施することができる。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアで実施することができる。方法は、例えば、一般に処理デバイスを指す、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラマブル論理デバイスを含む、プロセッサで実施することができる。プロセッサは、例えば、コンピュータ、セルフォン、ポータブル／パーソナルデジタルアシスタント（「ＰＤＡ」）、およびエンドユーザ間の情報の伝達を容易にする他のデバイスなど、通信デバイスも含む。
【０１１３】
「一実施形態」もしくは「実施形態」、または「一実施」もしくは「実施」、およびそれらの他の変形に対する言及は、実施形態との関連において説明される特定の特徴、構造、および特性などが、少なくとも１つの実施形態に含まれることを意味する。したがって、本文書全体の様々な場所に現れる、「一実施形態において」もしくは「実施形態において」という語句、または「一実施において」もしくは「実施において」という語句、および他の任意の変形の出現は、すべてが、必ずしも同じ実施形態に言及しているとは限らない。
【０１１４】
加えて、本文書は、様々な情報を「決定する」ことに言及することがある。情報を決定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、またはメモリから情報を取り出すことのうちの１つまたは複数を含むことができる。
【０１１５】
さらに、本文書は、様々な情報に「アクセスする」ことに言及することがある。情報にアクセスすることは、例えば、情報を受信すること、（例えば、メモリから）情報を取り出すこと、情報を記憶すること、情報を移動すること、情報をコピーすること、情報を計算すること、情報を決定すること、情報を予測すること、または情報を推定することのうちの１つまたは複数を含むことができる。
【０１１６】
加えて、本文書は、様々な情報を「受信する」ことに言及することがある。受信することは、「アクセスする」ことと同様、広義の用語であることが意図されている。情報を受信することは、例えば、情報にアクセスすること、または（例えば、メモリから）情報を取り出すことのうちの１つまたは複数を含むことができる。さらに、「受信する」ことは、一般に、例えば、情報を記憶すること、情報を処理すること、情報を送信すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を計算すること、情報を決定すること、情報を予測すること、または情報を推定することなどの操作中に、様々な方法で含まれる。
【０１１７】
例えば、「Ａ／Ｂ」、「Ａおよび／またはＢ」、および「ＡおよびＢの少なくとも一方」のケースにおける、以下の「／」、「および／または」、および「少なくとも一方」のいずれかの使用は、第１の列挙された選択肢（Ａ）だけの選択、または第２の列挙された選択肢（Ｂ）だけの選択、または両方の選択肢（ＡおよびＢ）の選択を包含することが意図されていることを理解されたい。さらなる例として、「Ａ、Ｂ、および／またはＣ」、および「Ａ、Ｂ、およびＣのうちの少なくとも１つ」のケースにおいては、そのような言い回しは、第１の列挙された選択肢（Ａ）だけの選択、または第２の列挙された選択肢（Ｂ）だけの選択、または第３の列挙された選択肢（Ｃ）だけの選択、または第１および第２の列挙された選択肢（ＡおよびＢ）だけの選択、または第１および第３の列挙された選択肢（ＡおよびＣ）だけの選択、または第２および第３の列挙された選択肢（ＢおよびＣ）だけの選択、または３つの選択肢すべて（ＡおよびＢおよびＣ）の選択を包含することが意図されている。これは、当業者および関連技術分野の技術者に明らかなように、列挙された数のアイテムだけ拡張することができる。
【０１１８】
また、本明細書において使用される場合、「ｓｉｇｎａｌ（シグナリングする）」という語は、とりわけ、対応するデコーダに何かを示すことを指す。例えば、ある実施形態においては、エンコーダは、イントラ予測参照アレイのために使用される、複数の重みのうちの特定の１つをシグナリングする。このように、実施形態においては、同じパラメータが、エンコーダ側およびデコーダ側の両方において使用される。したがって、例えば、エンコーダは、デコーダが、同じ特定のパラメータを使用することができるように、特定のパラメータをデコーダに送信することができる（明示的なシグナリング）。逆に、デコーダが、特定のパラメータその他をすでに有する場合、送信せずに、シグナリングを使用して、単にデコーダが特定のパラメータを知り、選択することを可能にすることができる（暗黙のシグナリング）。いずれかの実際の機能の送信を回避することによって、様々な実施形態において、ビット節約が、実現される。シグナリングは、様々な方法で達成することができることを理解されたい。例えば、様々な実施形態においては、情報を対応するデコーダにシグナリングするために、１つまたは複数の構文要素、およびフラグなどが、使用される。上述のことは、「ｓｉｇｎａｌ」という語の動詞形に関するが、「ｓｉｇｎａｌ（信号）」という語は、本明細書において、名詞として使用することもできる。
【０１１９】
当業者に明らかであるように、実施は、例えば、記憶または送信することができる情報を運ぶようにフォーマットされた、様々な信号を生成することができる。情報は、例えば、方法を実行するための命令、または説明された実施のうちの１つによって生成されたデータを含むことができる。例えば、信号は、説明された実施形態のビットストリームを運ぶようにフォーマットすることができる。そのような信号は、例えば、（例えば、スペクトルの無線周波数部分を使用する）電磁波として、またはベースバンド信号として、フォーマットすることができる。フォーマッティングは、例えば、データストリームをエンコーディングすること、およびエンコードされたデータストリームを用いてキャリアを変調することを含むことができる。信号が運ぶ情報は、例えば、アナログ情報、またはデジタル情報であることができる。信号は、知られているように、様々な異なる有線または無線リンク上において送信することができる。信号は、プロセッサ可読媒体上に記憶することができる。
【０１２０】
上述の説明は、数々の実施形態を説明した。これらおよびさらなる実施形態は、様々な異なる請求項カテゴリおよびタイプにわたる、以下の任意選択の特徴を、単独または任意の組み合わせで含む。
【０１２１】
−エンコーディングおよびデコーディングにおいて、イントラ予測中に、−１３５度および４５度を超える予測方向を使用すること。
【０１２２】
−広角モードとＰＤＰＣ（予測依存の予測の組み合わせ）との間のインタラクションを拡張すること。
【０１２３】
−方向総数を等しい数に維持するために、反対方向のいくつかの方向を削除しながら、
水平方向または垂直方向において予測方向を拡張すること。
【０１２４】
−−１３５度超えおよび４５度超えの両方において、方向の数を拡張すること。
【０１２５】
−ブロック内のサンプルに対してＰＤＰＣと広角イントラ予測とを組み合わせること。
【０１２６】
−どの予測方向が使用されているかをエンコーダからデコーダにシグナリングすること。
【０１２７】
−予測方向のサブセットを使用すること。
【０１２８】
−ブロックは長方形形状を有するＣＵであること。
【０１２９】
−参照サンプルが、隣接ブロックであるブロックから取得されること。
【０１３０】
−記述された構文要素のうちの１つもしくは複数、またはその変形を含む、ビットストリームまたは信号。
【０１３１】
−エンコーダによって実行されたのと逆の方法で、デコーダがビットストリームを処理することを可能にする構文要素を、シグナリング内に挿入すること。
【０１３２】
−説明された構文要素のうちの１つもしくは複数、またはそれらの変形を含む、ビットストリームまたは信号を作成し、および／または送信し、および／または受信し、および／またはデコードすること。
【０１３３】
−説明された実施形態のいずれかを実行する、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイス。
【０１３４】
−説明された実施形態のいずれかを実行し、結果の画像を（例えば、モニタ、スクリーン、または他のタイプのディスプレイを使用して）表示する、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイス。
【０１３５】
−エンコードされた画像を含む信号を受信するようにチャネルを（例えば、チューナを使用して）チューニングし、説明された実施形態のいずれかを実行する、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイス。
【０１３６】
−エンコーディングされた画像を含む信号を（例えばアンテナを使用して）受信し、説明された実施形態のいずれかを実行する、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイス。
【０１３７】
−様々な他の一般化された、および特定化された機能も、本開示全体においてサポートされ、企図される。
【図１】
2022502959.tif 000017
【図２】
2022502959.tif 000018
【図３】
2022502959.tif 000019
【図４】
2022502959.tif 000020
【図５】
2022502959.tif 000021
【図６】
2022502959.tif 000022
【図７】
2022502959.tif 000023
【図８】
2022502959.tif 000024
【図９】
2022502959.tif 000025
【国際調査報告】
2022502959.tif 000026
2022502959.tif 000027
2022502959.tif 000028