(57)【特許請求の範囲】
【請求項１】
コンピューティングデバイスにおける方法であって、
ピクチャの第１のブロック及び第２のブロックを再構成するステップであって、前記ピクチャは、イントラブロックコピー予測を用いて符号化されている少なくともいくつかのブロックを含む、ステップと、
前記第１のブロックと前記第２のブロックとの間の境界にわたるループ内デブロックフィルタリングを実行するステップであって、前記第１のブロック及び前記第２のブロックは、イントラブロックコピー予測を用いて符号化されており、前記ループ内デブロックフィルタリングを前記実行することは、前記第１のブロック及び前記第２のブロックそれぞれのブロックベクトルの値に基づいて、前記ループ内デブロックフィルタリングを調整することを含む、ステップと、
を含み、
前記ループ内デブロックフィルタリングを前記調整することは、フィルタリング強度値を割り当てることを含み、
前記の割り当てられるフィルタリング強度値は、
前記第１のブロック及び前記第２のブロックの前記ブロックベクトルの値が等しくない場合、又は
前記第１のブロック及び前記第２のブロックのいずれかのブロックベクトル成分間の差が、閾量よりも大きい場合には、
適度なフィルタリングを指示する、方法。
【請求項２】
前記ピクチャを受信するステップと、
前記ピクチャを符号化して、前記ピクチャの符号化データを生成するステップであって、前記ピクチャを前記符号化することは、前記再構成することと、ループ内デブロックフィルタリングを前記実行することと、を含む、ステップと、
ビットストリームの一部として、前記ピクチャの前記符号化データを出力するステップと、
をさらに含む、請求項１記載の方法。
【請求項３】
ビットストリームの一部として、前記ピクチャの符号化データを受信するステップと、
前記符号化データを復号して、前記ピクチャを再構成するステップであって、前記復号することは、前記再構成することと、ループ内デブロックフィルタリングを前記実行することと、を含む、ステップと、
をさらに含む、請求項１記載の方法。
【請求項４】
前記閾量は１サンプルである、請求項１記載の方法。
【請求項５】
コンピューティングデバイスに請求項１乃至４いずれか一項記載の方法を実行させるプログラム。
【請求項６】
請求項５記載のプログラムを記憶している記憶媒体。
【請求項７】
ピクチャの第１のブロック及び第２のブロックを再構成する手段であって、前記ピクチャは、イントラブロックコピー予測を用いて符号化されている少なくともいくつかのブロックを含む、手段と、
前記第１のブロックと前記第２のブロックとの間の境界にわたるループ内デブロックフィルタリングを実行する手段であって、前記第１のブロック及び前記第２のブロックは、イントラブロックコピー予測を用いて符号化されており、前記ループ内デブロックフィルタリングを前記実行することは、前記第１のブロック及び前記第２のブロックそれぞれのブロックベクトルの値に基づいて、前記ループ内デブロックフィルタリングを調整することを含む、手段と、
を備え、
前記ループ内デブロックフィルタリングを前記調整することは、フィルタリング強度値を割り当てることを含み、
前記の割り当てられるフィルタリング強度値は、
前記第１のブロック及び前記第２のブロックの前記ブロックベクトルの値が等しくない場合、又は
前記第１のブロック及び前記第２のブロックのいずれかのブロックベクトル成分間の差が、閾量よりも大きい場合には、
適度なフィルタリングを指示する、コンピューティングデバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
エンジニアは、デジタルビデオのビットレートを低減させるために、圧縮（ソース符号化とも呼ばれる）を使用する。圧縮は、ビデオ情報をより低いビットレート形式に変換することにより、ビデオ情報を記憶及び伝送するコストを低減させる。伸張（復号とも呼ばれる）は、圧縮形式からオリジナル情報のバージョンを再構成する。「コーデック」はエンコーダ／デコーダシステムである。
【０００２】
ここ２０年の間、ＩＴＵ−Ｔ  Ｈ．２６１規格、Ｈ．２６２（ＭＰＥＧ−２又はＩＳＯ／ＩＥＣ  １３８１８−２）規格、Ｈ．２６３規格、及びＨ．２６４（ＭＰＥＧ−４  ＡＶＣ又はＩＳＯ／ＩＥＣ  １４４９６−１０）規格、並びに、ＭＰＥＧ−１（ＩＳＯ／ＩＥＣ  １１１７２−２）規格、ＭＰＥＧ−４  Ｖｉｓｕａｌ（ＩＳＯ／ＩＥＣ  １４４９６−２）規格、及びＳＭＰＴＥ  ４２１Ｍ規格を含む様々なビデオコーデック規格が採用されてきた。より最近では、ＨＥＶＣ（ＩＴＵ−Ｔ  Ｈ．２６５又はＩＳＯ／ＩＥＣ  ２３００８−２）規格が承認されている。ＨＥＶＣ規格に対する拡張（例えば、スケーラブルビデオ符号化／復号に関するもの、サンプルビット深度又はクロマサンプリングレートの観点でのより高い忠実度を伴うビデオの符号化／復号に関するもの、又はマルチビュー符号化／復号に関するもの）を現在策定中である。ビデオコーデック規格は、通常、特定の特徴が符号化及び復号において使用されるときの符号化ビデオビットストリームにおけるパラメータを詳述する、符号化ビデオビットストリームのシンタックスのためのオプションを定義している。多くの場合、ビデオコーデック規格はまた、デコーダが復号において整合する結果を達成するために実行すべき復号オペレーションに関する詳細を提供している。コーデック規格とは別に、様々なプロプライエタリコーデックフォーマット（proprietary  codec  format）が、符号化ビデオビットストリームのシンタックスのための他のオプション及び対応する復号オペレーションを定義している。
【０００３】
イントラブロックコピー（「ＢＣ」）は、ＨＥＶＣ拡張のために検討されている予測モードである。イントラＢＣ予測モードに関して、ピクチャの現ブロックのサンプル値は、同じピクチャ内の以前に再構成されたサンプル値を用いて予測される。ブロックベクトル（「ＢＶ」）は、現ブロックから、予測のために使用される以前に再構成されたサンプル値を含む、ピクチャの領域への変位を示す。ＢＶは、ビットストリームにおいてシグナリングされる。イントラＢＣ予測は、ピクチャ内予測の一形態であり、ピクチャのブロックのためのイントラＢＣ予測は、同じピクチャ内のサンプル値以外のいずれのサンプル値も使用しない。
【０００４】
イントラＢＣ予測モードが、現在、ＨＥＶＣ規格において規定されており、ＨＥＶＣ規格のための何らかの参照ソフトウェアにおいて実装されているが、イントラＢＣ予測モードは、いくつかの問題を有している。例えば、イントラＢＣ予測モードは、周波数変換／逆周波数変換、ループ内デブロックフィルタリング、及び制約付きイントラ予測のためのオプション等の、ＨＥＶＣ規格の様々な特徴と効果的には融合されていない。ＢＶ値を選択するプロセスは、効果的には制約されておらず、ＢＶ値の符号化は、ビットレート利用の観点で非効率的である。
【発明の概要】
【０００５】
要約すると、詳細な説明は、イントラブロックコピー（「ＢＣ」）予測モードにおけるイノベーションを提示している。例えば、そのようなイノベーションのうちのいくつかは、ブロックベクトル（「ＢＶ」）値をより効率的に選択する方法を提供する。他のイノベーションは、ＢＶ値をより効率的に符号化／復号する方法を提供する。さらに他のイノベーションは、ブロックがイントラＢＣ予測モードを有するときにループ内デブロックフィルタリングをどのように実行するか、又は、制約付きイントラ予測が有効にされているときにイントラＢＣ予測をどのように実行するか、に対処する。これらのイノベーションは、レート−歪み性能、並びに／又は、符号化及び復号の計算効率性の観点でより効率的であるイントラＢＣ予測を容易にすることができる。
【０００６】
イントラＢＣ予測モードのためのイノベーションは、方法の一部として、方法を実行するよう適合されたコンピューティングデバイスの一部として、又は、コンピューティングデバイスに方法を実行させるコンピュータ実行可能な命令を記憶した有体のコンピュータ読み取り可能な媒体の一部として実施され得る。様々な実施形態は、組み合わせて又は別々に、使用され得る。
【０００７】
本発明の前述の目的及び他の目的、特徴、並びに利点が、添付の図面を参照しながら進む以下の詳細な説明からより明らかになるであろう。
【図面の簡単な説明】
【０００８】
【図１】いくつかの説明する実施形態を実装することができる例示的なコンピューティングシステムの図。
【図２ａ】いくつかの説明する実施形態を実装することができる例示的なネットワーク環境の図。
【図２ｂ】いくつかの説明する実施形態を実装することができる例示的なネットワーク環境の図。
【図３】いくつかの説明する実施形態を協働して実装することができる例示的なエンコーダシステムの図。
【図４】いくつかの説明する実施形態を協働して実装することができる例示的なデコーダシステムの図。
【図５ａ】いくつかの説明する実施形態を協働して実装することができる例示的なビデオエンコーダを示す図。
【図５ｂ】いくつかの説明する実施形態を協働して実装することができる例示的なビデオエンコーダを示す図。
【図６】いくつかの説明する実施形態を協働して実装することができる例示的なビデオデコーダを示す図。
【図７】ピクチャのブロックのためのイントラＢＣ予測を示す図。
【図８】ＢＶ値に関する探索範囲に対する例示的な制約を示す図。
【図９】ＢＶ値の選択に対する１以上の制約を受けてイントラＢＣ予測モードで符号化するための一般化された技術を示すフローチャート。
【図１０】ピクチャのブロックのための例示的なｚ走査順序を示す図。
【図１１ａ】フィルイン値により置換される再構成されていないサンプル値を有する領域を示す図。
【図１１ｂ】フィルイン値により置換される再構成されていないサンプル値を有する領域を示す図。
【図１２】制約付きイントラ予測が有効にされ得るときに符号化中又は復号中にイントラＢＣ予測モードを使用するための一般化された技術を示すフローチャート。
【図１３】制約付きイントラ予測が有効にされているときの許容可能なＢＶ値に対する例示的な制約を示す図。
【図１４】制約付きイントラ予測が有効にされているときにイントラＢＣ予測モードを無効にする例示的なアプローチを示すテーブル。
【図１５ａ】符号化の際に利用することができる特性を有するＢＶ値の例示的な範囲を示す図。
【図１５ｂ】符号化の際に利用することができる特性を有するＢＶ値の例示的な範囲を示す図。
【図１６】ＢＶ値を符号化するための一般化された技術を示すフローチャート。
【図１７】ＢＶ値を復号するための一般化された技術を示すフローチャート。
【図１８】イントラＢＣ予測モード及び代替の順周波数変換を使用して符号化するための一般化された技術を示すフローチャート。
【図１９】イントラＢＣ予測モード及び代替の逆周波数変換を使用して復号するための一般化された技術を示すフローチャート。
【図２０】ブロックの予測モードに応じてループ内デブロックフィルタリングのアプローチを変更するための例示的なルールを示す図。
【図２１】イントラＢＣ予測モードを有するブロックに関する符号化中又は復号中のループ内デブロックフィルタリングのための一般化された技術を示すフローチャート。
【発明を実施するための形態】
【０００９】
詳細な説明は、符号化中及び／又は復号中のイントラブロックコピー（「ＢＣ」）予測モードの使用におけるイノベーションを提示している。詳細には、詳細な説明は、ブロックベクトル（「ＢＶ」）値の選択、ＢＶ値の符号化／復号、イントラＢＣ予測モードと制約付きイントラ予測との融合、イントラＢＣ予測モードが使用されているときの順周波数変換及び逆周波数変換の選択、及び、イントラＢＣ予測モードを有するブロックの境界にわたるループ内デブロックフィルタリングのためのイノベーションを提示している。
【００１０】
本明細書で説明するオペレーションは、ビデオエンコーダ又はビデオデコーダにより実行されるものとして所々で説明されるが、多くの場合、このようなオペレーションは、別のタイプのメディア処理ツール（例えば、画像エンコーダ、画像デコーダ）により実行することができる。
【００１１】
本明細書で説明するイノベーションのうちのいくつかは、ＨＥＶＣ規格に固有のシンタックス要素及びオペレーションを参照して示される。例えば、ＨＥＶＣ規格のドラフトバージョンＪＣＴＶＣ−Ｎ１００５（”High  Efficiency  Video  Coding  (HEVC)  Range  Extensions  Text  Specification:  Draft  4”,  JCTVC-N1005,  July  2013）を参照する。本明細書で説明するイノベーションはまた、他の規格又はフォーマットのためにも実装することができる。
【００１２】
より一般的に、本明細書で説明する例に対する様々な代替例が可能である。例えば、本明細書で説明する方法のうちのいくつかは、例えば、説明する方法動作の順番を変えることにより、所定の方法動作を分けることにより、所定の方法動作を繰り返すことにより、又は所定の方法動作を省略することにより、変更することができる。開示する技術の様々な態様が、組み合わせて又は別々に、使用され得る。様々な実施形態が、説明するイノベーションのうちの１以上を使用する。本明細書で説明するイノベーションのうちのいくつかは、背景技術において記した問題のうちの１以上に対処する。一般的に、所与の技術／ツールが、そのような問題の全てを解決するわけではない。
【００１３】
Ｉ．例示的なコンピューティングシステム
図１は、説明するイノベーションのうちのいくつかを実装することができる適切なコンピューティングシステム（１００）の一般化された例を示している。コンピューティングシステム（１００）は、使用又は機能の範囲に関して限定を示唆するよう意図するものではない。なぜならば、本イノベーションは、多様な汎用コンピューティングシステム又は専用コンピューティングシステムにおいて実施することができるからである。
【００１４】
図１を参照すると、コンピューティングシステム（１００）は、１以上の処理装置（１１０、１１５）及びメモリ（１２０、１２５）を含む。処理装置（１１０、１１５）はコンピュータ実行可能な命令を実行する。処理装置は、汎用中央処理装置（「ＣＰＵ」）、特定用途向け集積回路（「ＡＳＩＣ」）におけるプロセッサ、又は任意の他のタイプのプロセッサとすることができる。マルチ処理システムにおいては、複数の処理装置が、処理能力を増大させるために、コンピュータ実行可能な命令を実行する。例えば、図１は、中央処理装置（１１０）に加えて、グラフィックス処理装置又は共処理装置（１１５）も示している。有体のメモリ（１２０、１２５）は、１以上の処理装置によりアクセス可能な、揮発性メモリ（例えば、レジスタ、キャッシュ、ＲＡＭ）であってもよいし、不揮発性メモリ（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ等）であってもよいし、これら２つの何らかの組合せであってもよい。メモリ（１２０、１２５）は、１以上の処理装置による実行に適したコンピュータ実行可能な命令の形態で、イントラＢＣ予測モードのための１以上のイノベーションを実装するソフトウェア（１８０）を記憶する。
【００１５】
コンピューティングシステムはさらなる特徴を有することができる。例えば、コンピューティングシステム（１００）は、ストレージ（１４０）、１以上の入力デバイス（１５０）、１以上の出力デバイス（１６０）、及び１以上の通信接続（１７０）を含む。バス、コントローラ、又はネットワーク等の相互接続機構（図示せず）が、コンピューティングシステム（１００）のコンポーネントを相互接続する。通常、オペレーティングシステムソフトウェア（図示せず）が、コンピューティングシステム（１００）において実行される他のソフトウェアのための動作環境を提供し、コンピューティングシステム（１００）のコンポーネントの動作を調整する。
【００１６】
有体のストレージ（１４０）は、着脱可能であっても着脱不可能であってもよく、磁気ディスク、磁気テープ、磁気カセット、ＣＤ−ＲＯＭ、ＤＶＤ、又は、情報を記憶するために使用することができ、コンピューティングシステム（１００）内でアクセスされ得る任意の他の媒体を含む。ストレージ（１４０）は、イントラＢＣ予測モードのための１以上のイノベーションを実装するソフトウェア（１８０）の命令を記憶する。
【００１７】
１以上の入力デバイス（１５０）は、キーボード、マウス、ペン、若しくはトラックボール等のタッチ入力デバイス、音声入力デバイス、スキャニングデバイス、又はコンピューティングシステム（１００）への入力を提供する別のデバイスとすることができる。ビデオに関して、１以上の入力デバイス（１５０）は、カメラ、ビデオカード、ＴＶチューナカード、若しくはアナログ形態あるいはデジタル形態のビデオ入力を受け入れる同様のデバイス、又はビデオサンプルをコンピューティングシステム（１００）に読み込むＣＤ−ＲＯＭあるいはＣＤ−ＲＷとすることができる。１以上の出力デバイス（１６０）は、ディスプレイ、プリンタ、スピーカ、ＣＤライタ、又はコンピューティングシステム（１００）からの出力を提供する別のデバイスとすることができる。
【００１８】
１以上の通信接続（１７０）は、通信媒体を介した別のコンピューティングエンティティとの通信を可能にする。通信媒体は、変調されたデータ信号により、コンピュータ実行可能な命令、オーディオ入力、ビデオ入力、オーディオ出力、ビデオ出力、又は他のデータ等の情報を伝達する。変調されたデータ信号とは、信号内の情報を符号化するように設定又は変更された特性のうちの１以上を有する信号である。限定ではなく例として、通信媒体は、電気、光、ＲＦ、又は他のキャリアを使用することができる。
【００１９】
本イノベーションは、コンピュータ読み取り可能な媒体の一般的なコンテキストにおいて説明され得る。コンピュータ読み取り可能な媒体は、コンピューティング環境内でアクセスされ得る任意の利用可能な有体の媒体である。限定ではなく例として、コンピューティングシステム（１００）において、コンピュータ読み取り可能な媒体は、メモリ（１２０、１２５）、ストレージ（１４０）、及びこれらの任意の組合せを含む。
【００２０】
本イノベーションは、コンピュータ実行可能な命令の一般的なコンテキストにおいて説明され得る。コンピュータ実行可能な命令は、例えば、プログラムモジュールに含まれ、コンピューティングシステムにおいて、ターゲット実プロセッサ又は仮想プロセッサ上で実行される。一般に、プログラムモジュールは、特定のタスクを実行する又は特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造等を含む。プログラムモジュールの機能は、様々な実施形態において、必要に応じて、組み合わされてもよいし、プログラムモジュール間で分割されてもよい。プログラムモジュールのコンピュータ実行可能な命令は、ローカルコンピューティングシステム又は分散コンピューティングシステム内で実行され得る。
【００２１】
「システム」及び「デバイス」という用語は、本明細書において置き換え可能に使用される。文脈が別途明確に示さない限り、これらの用語は、コンピューティングシステム又はコンピューティングデバイスのタイプに関していかなる限定も示すものではない。一般に、コンピューティングシステム又はコンピューティングデバイスは、局在することもあるし分散されることもあり、専用ハードウェア及び／又は汎用ハードウェアと、本明細書で説明する機能を実装するソフトウェアと、の任意の組合せを含み得る。
【００２２】
開示する方法は、開示する方法のいずれかを実行するよう構成された専用コンピューティングハードウェアを用いて実装することもできる。例えば、開示する方法は、開示する方法のいずれかを実行するよう特別に設計又は構成された集積回路（例えば、ＡＳＩＣ（ＡＳＩＣデジタル信号処理装置（「ＤＳＰ」））、グラフィックス処理装置（「ＧＰＵ」）、又はフィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）等のプログラマブルロジックデバイス（「ＰＬＤ」）等）により実装することができる。
【００２３】
提示の目的上、詳細な説明では、コンピューティングシステムにおけるコンピュータオペレーションを説明するための「決定する」及び「使用する」のような用語が使用される。これらの用語は、コンピュータにより実行されるオペレーションの高レベル抽象表現であって、人間により実行される動作と混同すべきではない。これらの用語に対応する実際のコンピュータオペレーションは、実装に応じて変化する。
【００２４】
ＩＩ．例示的なネットワーク環境
図２ａ及び図２ｂは、ビデオエンコーダ（２２０）及びビデオデコーダ（２７０）を含む例示的なネットワーク環境（２０１、２０２）を示している。エンコーダ（２２０）及びデコーダ（２７０）は、適切な通信プロトコルを用いて、ネットワーク（２５０）を介して接続される。ネットワーク（２５０）は、インターネット又は別のコンピュータネットワークを含み得る。
【００２５】
図２ａに示されるネットワーク環境（２０１）において、各リアルタイム通信（「ＲＴＣ」）ツール（２１０）は、双方向通信のためのエンコーダ（２２０）及びデコーダ（２７０）の両方を含む。所与のエンコーダ（２２０）は、ＨＥＶＣ規格の変形又は拡張、ＳＭＰＴＥ  ４２１Ｍ規格、ＩＳＯ／ＩＥＣ  １４４９６−１０規格（Ｈ．２６４又はＡＶＣとしても知られている）、別の規格、又はプロプライエタリフォーマットに準拠する出力を生成することができ、対応するデコーダ（２７０）は、エンコーダ（２２０）からの符号化データを受け入れることができる。双方向通信は、ビデオ会議、ビデオ通話、又は他の２パーティ通信シナリオの一部であり得る。図２ａのネットワーク環境（２０１）は、２つのリアルタイム通信ツール（２１０）を含むが、ネットワーク環境（２０１）は、マルチパーティ通信に参加する３以上のリアルタイム通信ツール（２１０）を含んでもよい。
【００２６】
リアルタイム通信ツール（２１０）は、エンコーダ（２２０）による符号化を管理する。図３は、リアルタイム通信ツール（２１０）に含まれ得る例示的なエンコーダシステム（３００）を示している。代替的に、リアルタイム通信ツール（２１０）は、別のエンコーダシステムを使用してもよい。リアルタイム通信ツール（２１０）はまた、デコーダ（２７０）による復号も管理する。図４は、リアルタイム通信ツール（２１０）に含まれ得る例示的なデコーダシステム（４００）を示している。代替的に、リアルタイム通信ツール（２１０）は、別のデコーダシステムを使用してもよい。
【００２７】
図２ｂに示されるネットワーク環境（２０２）において、符号化ツール（２１２）は、デコーダ（２７０）を含む複数の再生ツール（２１４）に配信するためのビデオを符号化するエンコーダ（２２０）を含む。一方向通信は、ビデオが符号化されて１つのロケーションから１以上の他のロケーションに送信される、ビデオ監視システム、ウェブカメラモニタリングシステム、リモートデスクトップ会議プレゼンテーション、又は他のシナリオのために提供され得る。図２ｂのネットワーク環境（２０２）は、２つの再生ツール（２１４）を含むが、ネットワーク環境（２０２）は、それより多い又はそれより少ない再生ツール（２１４）を含んでもよい。一般に、再生ツール（２１４）は、再生ツール（２１４）が受信するビデオのストリームを判定するために、符号化ツール（２１２）と通信する。再生ツール（２１４）は、ストリームを受信し、受信した符号化データを適切な期間の間バッファし、復号及び再生を開始する。
【００２８】
図３は、符号化ツール（２１２）に含まれ得る例示的なエンコーダシステム（３００）を示している。代替的に、符号化ツール（２１２）は、別のエンコーダシステムを使用してもよい。符号化ツール（２１２）はまた、１以上の再生ツール（２１４）との接続を管理するためのサーバサイドコントローラロジックも含み得る。図４は、再生ツール（２１４）に含まれ得る例示的なデコーダシステム（４００）を示している。代替的に、再生ツール（２１４）は、別のデコーダシステムを使用してもよい。再生ツール（２１４）はまた、符号化ツール（２１２）との接続を管理するためのクライアントサイドコントローラロジックも含み得る。
【００２９】
ＩＩＩ．例示的なエンコーダシステム
図３は、いくつかの説明する実施形態を協働して実装することができる例示的なエンコーダシステム（３００）のブロック図である。エンコーダシステム（３００）は、リアルタイム通信のための低遅延符号化モード、トランスコーディングモード、及びファイル又はストリームからのメディア再生のための通常の符号化モード等の複数の符号化モードのうちのいずれかで動作することができる汎用符号化ツールであってもよいし、そのような１つの符号化モードのために適合された専用符号化ツールであってもよい。エンコーダシステム（３００）は、オペレーティングシステムモジュールとして、アプリケーションライブラリの一部として、又はスタンドアロンアプリケーションとして、実装することができる。概して、エンコーダシステム（３００）は、ビデオソース（３１０）から、一連のソースビデオフレーム（３１１）を受信し、チャネル（３９０）への出力として符号化データを生成する。チャネルに出力される符号化データは、イントラＢＣ予測モードを用いて符号化されるコンテンツを含み得る。
【００３０】
ビデオソース（３１０）は、カメラ、チューナカード、記憶媒体、又は他のデジタルビデオソースとすることができる。ビデオソース（３１０）は、例えば、毎秒３０フレームといったフレームレートで一連のビデオフレームを生成する。本明細書で使用されるとき、「フレーム」という用語は、一般に、ソースの符号化又は再構成された画像データを指す。プログレッシブビデオに関して、フレームはプログレッシブビデオフレームである。インターレースビデオに関して、例示的な実施形態において、インターレースビデオフレームは、符号化の前にインターレース解除される（de-interlaced）。代替的に、２つの相補的インターレースビデオフィールドが、インターレースビデオフレーム又は別々のフィールドとして符号化されてもよい。プログレッシブビデオフレームを示すかは別にして、「フレーム」又は「ピクチャ」という用語は、単一の対でないビデオフィールド、相補的な一対のビデオフィールド、所与の時間におけるビデオオブジェクトを表すビデオオブジェクトプレーン、又はより大きな画像における関心領域を示し得る。ビデオオブジェクトプレーン又は領域は、シーンの複数のオブジェクト又は領域を含むより大きな画像の一部であり得る。
【００３１】
到着ソースフレーム（３１１）は、複数のフレームバッファ記憶領域（３２１、３２２、．．．、３２ｎ）を含むソースフレーム一時メモリ記憶領域（３２０）に記憶される。フレームバッファ（３２１、３２２等）は、ソースフレーム記憶領域（３２０）内で１つのソースフレームを保持する。ソースフレーム（３１１）のうちの１以上がフレームバッファ（３２１、３２２等）に記憶された後、フレームセレクタ（３３０）が、ソースフレーム記憶領域（３２０）から個々のソースフレームを周期的に選択する。エンコーダ（３４０）への入力のためにフレームセレクタ（３３０）によりフレームが選択される順番は、ビデオソース（３１０）によりフレームが生成される順番とは異なり得る。例えば、一時的に後方予測を容易にするために、あるフレームが先の順番になることがある。エンコーダ（３４０）の前に、エンコーダシステム（３００）は、符号化の前に選択されたフレーム（３３１）の前処理（例えば、フィルタリング）を実行するプリプロセッサ（図示せず）を含み得る。前処理はまた、符号化のためのプライマリ成分及びセカンダリ成分への色空間変換を含み得る。通常、符号化の前に、ビデオは、ＹＵＶ等の色空間に変換されている。ＹＵＶでは、ルマ（Ｙ）成分のサンプル値は、輝度値又は明度値を表し、クロマ（Ｕ、Ｖ）成分のサンプル値は、色差値を表す。クロマサンプル値は、（例えば、ＹＵＶ４：２：０フォーマットに合わせるために）より低いクロマサンプリングレートにサブサンプリングされ得る、あるいは、クロマサンプル値は、（例えば、ＹＵＶ４：４：４フォーマットに合わせるために）ルマサンプル値と同じ解像度を有し得る。あるいは、ビデオは、（例えば、ＲＧＢ４：４：４フォーマットといった）別のフォーマットで符号化され得る。
【００３２】
エンコーダ（３４０）は、符号化フレーム（３４１）を生成するために、選択されたフレーム（３３１）を符号化するとともに、メモリ管理制御操作（「ＭＭＣＯ」）信号（３４２）又は参照ピクチャセット（「ＲＰＳ」）情報を生成する。現フレームが、符号化された最初のフレームではない場合、符号化プロセスを実行するとき、エンコーダ（３４０）は、復号フレーム一時メモリ記憶領域（３６０）に記憶されている１以上の以前に符号化／復号されたフレーム（３６９）を使用することができる。そのような記憶されている復号フレーム（３６９）は、現ソースフレーム（３３１）のコンテンツのフレーム間予測のための参照フレームとして使用される。一般に、エンコーダ（３４０）は、タイルへの分割、イントラ予測推定及び予測、動き推定及び動き補償、周波数変換、量子化、並びにエントロピ符号化等の符号化タスクを実行する複数の符号化モジュールを含む。エンコーダ（３４０）により実行される正確なオペレーションは、圧縮フォーマットに応じて変わり得る。出力される符号化データのフォーマットは、ＨＥＶＣフォーマットの変形又は拡張、Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ｖｉｄｅｏフォーマット、ＶＣ−１フォーマット、ＭＰＥＧ−ｘフォーマット（例えば、ＭＰＥＧ−１、ＭＰＥＧ−２、又はＭＰＥＧ−４）、Ｈ．２６ｘフォーマット（例えば、Ｈ．２６１、Ｈ．２６２、Ｈ．２６３、Ｈ．２６４）、又は別のフォーマットであり得る。
【００３３】
エンコーダ（３４０）は、フレームを、同じサイズ又は異なるサイズの複数のタイルに分割することができる。例えば、エンコーダ（３４０）は、フレーム境界を用いてフレーム内のタイルの水平境界及び垂直境界を規定するタイル行及びタイル列に沿って、フレームを分割する。ここで、各タイルは矩形領域である。タイルは、並列処理のためのオプションを向上させるために、しばしば使用される。フレームはまた、１以上のスライスとして編成され得る。ここで、スライスは、フレーム全体又はフレームの一領域であり得る。スライスは、フレーム内の他のスライスとは独立して復号することができ、これは、誤り耐性を向上させる。スライス又はタイルのコンテンツは、符号化及び復号のために、ブロック又はサンプルの他のセットにさらに分割される。
【００３４】
ＨＥＶＣ規格に従ったシンタックスに関して、エンコーダは、フレーム（又はスライス若しくはタイル）のコンテンツを、符号化ツリーユニットに分割する。符号化ツリーユニット（「ＣＴＵ」）は、１つのルマ符号化ツリーブロック（「ＣＴＢ」）として編成されるルマサンプル値と、２つのクロマＣＴＢとして編成される対応するクロマサンプル値と、を含む。ＣＴＵ（及びそのＣＴＢ）のサイズは、エンコーダにより選択され、例えば、６４×６４サンプル値、３２×３２サンプル値、又は１６×１６サンプル値であり得る。ＣＴＵは、１以上の符号化ユニットを含む。符号化ユニット（「ＣＵ」）は、１つのルマ符号化ブロック（「ＣＢ」）と２つの対応するクロマＣＢとを有する。例えば、１つの６４×６４ルマＣＴＢと２つの６４×６４クロマＣＴＢを有するＣＴＵ（ＹＵＶ４：４：４フォーマット）は、４つのＣＵに分割され得る。ここで、各ＣＵは、１つの３２×３２ルマＣＢと２つの３２×３２クロマＣＢとを含み、各ＣＵは、可能であれば、より小さなＣＵにさらに分割される。あるいは、別の例として、１つの６４×６４ルマＣＴＢと２つの３２×３２クロマＣＴＢとを有するＣＴＵ（ＹＵＶ４：２：０フォーマット）は、４つのＣＵに分割され得る。ここで、各ＣＵは、１つの３２×３２ルマＣＢと２つの１６×１６クロマＣＢとを含み、各ＣＵは、可能であれば、より小さなＣＵにさらに分割される。ＣＵの最小許容可能サイズ（例えば、８×８、１６×１６）が、ビットストリームにおいてシグナリングされ得る。
【００３５】
一般に、ＣＵは、インター又はイントラ等の予測モードを有する。ＣＵは、予測情報（例えば、予測モード詳細、変位値等）のシグナリング及び／又は予測処理のために、１以上の予測ユニットを含む。予測ユニット（「ＰＵ」）は、１つのルマ予測ブロック（「ＰＢ」）と２つのクロマＰＢとを有する。イントラ予測ＣＵに関して、ＣＵが最小サイズ（例えば、８×８）を有する場合を除いて、ＰＵは、ＣＵと同じサイズを有する。この場合、ＣＵは、４つのより小さなＰＵ（例えば、最小ＣＵサイズが８×８である場合、それぞれ４×４である）に分割され得る、あるいは、ＰＵは、ＣＵに関してシンタックス要素により示される最小ＣＵサイズを有し得る。ＣＵはまた、残差符号化／復号のために、１以上の変換ユニットを有する。ここで、変換ユニット（「ＴＵ」）は、１つの変換ブロック（「ＴＢ」）と２つのクロマＴＢとを有する。イントラ予測ＣＵ内のＰＵは、１つのＴＵ（ＰＵとサイズが等しい）又は複数のＴＵを含み得る。本明細書で使用されるとき、「ブロック」という用語は、文脈に応じて、ＣＢ、ＰＢ、ＴＢ、又はサンプル値の他のセットを示し得る。エンコーダは、ビデオをＣＴＵ、ＣＵ、ＰＵ、ＴＵ等にどのように分割するかを決定する。
【００３６】
図３に戻ると、エンコーダは、ソースフレーム（３３１）内の他の以前に再構成されたサンプル値の観点でそのソースフレーム（３３１）のイントラ符号化ブロックを表現する。イントラＢＣ予測に関して、イントラピクチャ推定部が、他の以前に再構成されたサンプル値に対するブロックの変位を推定する。イントラ予測参照領域とは、ブロックのためのＢＣ予測値を生成するために使用される、フレーム内のサンプルの領域である。ブロックのためのイントラ空間予測に関して、イントラピクチャ推定部は、ブロックへの、隣接する再構成されたサンプル値の外挿（extrapolation）を推定する。イントラ予測推定部は、予測情報（イントラＢＣ予測のためのブロックベクトル（「ＢＶ」）値及びイントラ空間予測のための予測モード（方向）等）を出力し、この予測情報が、エントロピ符号化される。イントラ予測予測部は、イントラ予測値を決定するために、予測情報を適用する。
【００３７】
エンコーダ（３４０）は、参照フレームからの予測の観点でソースフレーム（３３１）のインター符号化予測ブロックを表現する。動き推定部は、１以上の参照フレーム（３６９）に対するブロックの動きを推定する。複数の参照フレームが使用される場合、複数の参照フレームは、異なる時間的方向からのものであってもよいし、同じ時間的方向からのものであってもよい。動き補償予測参照領域とは、現フレームのブロックのサンプルのための動き補償予測値を生成するために使用される、１以上の参照フレーム内のサンプルの領域である。動き推定部は、動きベクトル情報等の動き情報を出力し、この動き情報が、エントロピ符号化される。動き補償部は、動き補償予測値を決定するために、動きベクトルを参照フレーム（３６９）に適用する。
【００３８】
エンコーダは、ブロックの予測値（イントラ又はインター）と対応するオリジナルの値との間の差（あれば）を決定する。このような予測残差値が、周波数変換、量子化、及びエントロピ符号化を用いて、さらに符号化される。例えば、エンコーダ（３４０）は、ピクチャ、タイル、スライス、及び／又はビデオの他の部分のための量子化パラメータ（「ＱＰ」）の値を設定し、それに従って変換係数を量子化する。エンコーダ（３４０）のエントロピ符号化部が、量子化された変換係数値に加えて、所定のサイド情報（例えば、動きベクトル情報、ＢＶ値、ＱＰ値、モード決定、パラメータ選択）も圧縮する。一般的なエントロピ符号化技術は、指数ゴロム符号化、算術符号化、差分符号化、ハフマン符号化、ランレングス符号化、「Ｖ２Ｖ（variable-length-to-variable-length）」符号化、「Ｖ２Ｆ（variable-length-to-fixed-length）」符号化、ＬＺ符号化、辞書符号化、「ＰＩＰＥ（probability  interval  partitioning  entropy）」符号化、及びこれらの組合せを含む。エントロピ符号化部は、様々な種類の情報のための様々な符号化技術を使用することができ、特定の符号化技術における複数の符号テーブルの中から選択することができる。
【００３９】
符号化フレーム（３４１）及びＭＭＣＯ／ＲＰＳ情報（３４２）が、復号プロセスエミュレータ（３５０）により処理される。復号プロセスエミュレータ（３５０）は、例えば、参照フレームを再構成する復号タスク等のデコーダの機能の一部を実装している。復号プロセスエミュレータ（３５０）は、ＭＭＣＯ／ＲＰＳ情報（３４２）を使用して、所与の符号化フレーム（３４１）が、符号化される後続フレームのフレーム間予測において参照フレームとして使用するために再構成されて記憶される必要があるかどうかを判定する。符号化フレーム（３４１）が記憶される必要があるとＭＭＣＯ／ＲＰＳ情報（３４２）が示す場合、復号プロセスエミュレータ（３５０）は、符号化フレーム（３４１）を受信して対応する復号フレーム（３５１）を生成する、デコーダにより行われるであろう復号プロセスを模擬する。そうする際に、エンコーダ（３４０）が、復号フレーム記憶領域（３６０）に記憶されている１以上の復号フレーム（３６９）を使用したとき、復号プロセスエミュレータ（３５０）は、復号プロセスの一部として、記憶領域（３６０）から１以上の復号フレーム（３６９）を使用する。
【００４０】
復号フレーム一時メモリ記憶領域（３６０）は、複数のフレームバッファ記憶領域（３６１、３６２、．．．、３６ｎ）を含む。復号プロセスエミュレータ（３５０）は、ＭＭＣＯ／ＲＰＳ情報（３４２）を使用して、参照フレームとして使用するためにエンコーダ（３４０）によりもはや必要とされなくなったフレームを有する任意のフレームバッファ（３６１、３６２等）を識別するために、記憶領域（３６０）のコンテンツを管理する。復号プロセスを模擬した後、復号プロセスエミュレータ（３５０）は、このように識別されるフレームバッファ（３６１、３６２等）に、新たに復号されたフレーム（３５１）を記憶する。
【００４１】
符号化フレーム（３４１）及びＭＭＣＯ／ＲＰＳ情報（３４２）は、一時符号化データ領域（３７０）にバッファされる。符号化データ領域（３７０）に収集される符号化データは、エレメンタリ符号化ビデオビットストリームのシンタックスの一部として、１以上のピクチャの符号化データを含む。符号化データ領域（３７０）に収集される符号化データはまた、（例えば、１以上の付加拡張情報（「ＳＥＩ」）メッセージ又はビデオユーザビリティ情報（「ＶＵＩ」）メッセージにおける１以上のパラメータとして、）符号化ビデオデータに関連するメディアメタデータを含み得る。
【００４２】
一時符号化データ領域（３７０）からの収集されたデータ（３７１）は、チャネルエンコーダ（３８０）により処理される。チャネルエンコーダ（３８０）は、（例えば、ＩＳＯ／ＩＥＣ  １３８１８−１等のメディアストリーム多重化フォーマットに従って）メディアストリームとして伝送するために、収集されたデータをパケット化することができる。そのような場合、チャネルエンコーダ（３８０）は、メディア伝送ストリームのシンタックスの一部として、シンタックス要素を付加することができる。あるいは、チャネルエンコーダ（３８０）は、（例えば、ＩＳＯ／ＩＥＣ  １４４９６−１２等のメディアコンテナフォーマットに従って）ファイルとして記憶するために、収集されたデータを編成することができる。そのような場合、チャネルエンコーダ（３８０）は、メディア記憶ファイルのシンタックスの一部として、シンタックス要素を付加することができる。あるいは、より一般的に、チャネルエンコーダ（３８０）は、１以上のメディアシステム多重化プロトコル又はトランスポートプロトコルを実装することができる。そのような場合、チャネルエンコーダ（３８０）は、１以上のプロトコルのシンタックスの一部として、シンタックス要素を付加することができる。チャネルエンコーダ（３８０）は、チャネル（３９０）への出力を提供する。チャネル（３９０）は、ストレージ、通信接続、又は出力のための別のチャネルを表す。
【００４３】
ＩＶ．例示的なデコーダシステム
図４は、いくつかの説明する実施形態を協働して実装することができる例示的なデコーダシステム（４００）のブロック図である。デコーダシステム（４００）は、リアルタイム通信のための低遅延復号モード及びファイル又はストリームからのメディア再生のための通常の復号モード等の複数の復号モードのうちのいずれかで動作することができる汎用復号ツールであってもよいし、そのような１つの復号モードのために適合された専用復号ツールであってもよい。デコーダシステム（４００）は、オペレーティングシステムモジュールとして、アプリケーションライブラリの一部として、又はスタンドアロンアプリケーションとして、実装することができる。概して、デコーダシステム（４００）は、チャネル（４１０）から符号化データを受信し、出力先（４９０）への出力として再構成フレームを生成する。符号化データは、イントラＢＣ予測モードを用いて符号化されたコンテンツを含み得る。
【００４４】
デコーダシステム（４００）は、ストレージ、通信接続、又は入力としての符号化データのための別のチャネルを表し得るチャネル（４１０）を含む。チャネル（４１０）は、チャネル符号化された符号化データを生成する。チャネルデコーダ（４２０）は、符号化データを処理することができる。例えば、チャネルデコーダ（４２０）は、（例えば、ＩＳＯ／ＩＥＣ  １３８１８−１等のメディアストリーム多重化フォーマットに従って）メディアストリームとして伝送するために収集されたデータを脱パケット化する。そのような場合、チャネルデコーダ（４２０）は、メディア伝送ストリームのシンタックスの一部として付加されたシンタックス要素を解析することができる。あるいは、チャネルデコーダ（４２０）は、（例えば、ＩＳＯ／ＩＥＣ  １４４９６−１２等のメディアコンテナフォーマットに従って）ファイルとして記憶するために収集された符号化ビデオデータを分離する。そのような場合、チャネルデコーダ（４２０）は、メディア記憶ファイルのシンタックスの一部として付加されたシンタックス要素を解析することができる。あるいは、より一般的に、チャネルデコーダ（４２０）は、１以上のメディアシステム逆多重化プロトコル又はトランスポートプロトコルを実装することができる。そのような場合、チャネルデコーダ（４２０）は、１以上のプロトコルのシンタックスの一部として付加されたシンタックス要素を解析することができる。
【００４５】
十分な量のデータが受信されるまで、チャネルデコーダ（４２０）から出力される符号化データ（４２１）は、一時符号化データ領域（４３０）に記憶される。符号化データ（４２１）は、符号化フレーム（４３１）及びＭＭＣＯ／ＲＰＳ情報（４３２）を含む。符号化データ領域（４３０）内の符号化データ（４２１）は、エレメンタリ符号化ビデオビットストリームのシンタックスの一部として、１以上のピクチャの符号化データを含む。符号化データ領域（４３０）内の符号化データ（４２１）はまた、（例えば、１以上のＳＥＩメッセージ又はＶＵＩメッセージにおける１以上のパラメータとして、）符号化ビデオデータに関連するメディアメタデータを含み得る。
【００４６】
一般に、符号化データ（４２１）がデコーダ（４５０）により使用されるまで、符号化データ領域（４３０）は、そのような符号化データ（４２１）を一時的に記憶する。その時点で、符号化フレーム（４３１）及びＭＭＣＯ／ＲＰＳ情報（４３２）の符号化データが、符号化データ領域（４３０）からデコーダ（４５０）に伝送される。復号が進むにつれ、新たな符号化データが、符号化データ領域（４３０）に追加され、符号化データ領域（４３０）に残っている最も古い符号化データが、デコーダ（４５０）に伝送される。
【００４７】
デコーダ（４５０）は、対応する復号フレーム（４５１）を生成するために、符号化フレーム（４３１）を周期的に復号する。必要に応じて、復号プロセスを実行するとき、デコーダ（４５０）は、フレーム間予測のための参照フレームとして、１以上の以前に復号されたフレーム（４６９）を使用することができる。デコーダ（４５０）は、復号フレーム一時メモリ記憶領域（４６０）から、そのような以前に復号されたフレーム（４６９）を読み出す。一般に、デコーダ（４５０）は、エントロピ復号、逆量子化、逆周波数変換、イントラ予測、動き補償、及びタイルのマージ等の復号タスクを実行する複数の復号モジュールを含む。デコーダ（４５０）により実行される正確なオペレーションは、圧縮フォーマットに応じて変わり得る。
【００４８】
例えば、デコーダ（４５０）は、圧縮フレーム又は一連のフレームの符号化データを受信し、復号フレーム（４５１）を含む出力を生成する。デコーダ（４５０）において、バッファは、圧縮フレームの符号化データを受け入れ、適切な時間に、受け入れた符号化データをエントロピ復号部に利用可能にする。エントロピ復号部は、通常はエンコーダにおいて実行されたエントロピ符号化の逆を適用することにより、エントロピ符号化された量子化データに加えて、エントロピ符号化されたサイド情報もエントロピ復号する。動き補償部は、再構成されているフレームのインター符号化ブロックの動き補償予測値を形成するために、動き情報を１以上の参照フレームに適用する。イントラ予測モジュールは、隣接する以前に再構成されたサンプル値から、現ブロックのサンプル値を空間的に予測することができる、又は、イントラＢＣ予測に関して、フレーム内のイントラ予測領域の以前に再構成されたサンプル値を用いて、現ブロックのサンプル値を予測することができる。デコーダ（４５０）はまた、予測残差を再構成する。逆量子化部は、エントロピ復号されたデータを逆量子化する。例えば、デコーダ（４５０）は、ビットストリームにおけるシンタックス要素に基づいて、ピクチャ、タイル、スライス、及び／又はビデオの他の部分のためのＱＰの値を設定し、それに従って変換係数を逆量子化する。逆周波数変換部は、量子化された周波数領域データを空間領域情報に変換する。インター予測ブロックに関して、デコーダ（４５０）は、再構成された予測残差を動き補償予測と結合する。デコーダ（４５０）は、同様に、予測残差を、イントラ予測からの予測と結合することができる。ビデオデコーダ（４５０）における動き補償ループは、復号フレーム（４５１）内のブロック境界行及び／又はブロック境界列にわたる不連続さを平滑化する適応デブロッキングフィルタを含む。
【００４９】
復号フレーム一時メモリ記憶領域（４６０）は、複数のフレームバッファ記憶領域（４６１、４６２、．．．、４６ｎ）を含む。復号フレーム記憶領域（４６０）は、復号ピクチャバッファの一例である。デコーダ（４５０）は、ＭＭＣＯ／ＲＰＳ情報（４３２）を使用して、復号フレーム（４５１）を記憶することができるフレームバッファ（４６１、４６２等）を識別する。デコーダ（４５０）は、そのフレームバッファに復号フレーム（４５１）を記憶する。
【００５０】
出力シーケンサ（４８０）は、ＭＭＣＯ／ＲＰＳ情報（４３２）を使用して、出力順で生成される次のフレームが復号フレーム記憶領域（４６０）内で利用可能になるときを識別する。出力順で生成される次のフレーム（４８１）が、復号フレーム記憶領域（４６０）内で利用可能になったとき、そのフレームが、出力シーケンサ（４８０）により読み出され、出力先（４９０）（例えば、ディスプレイ）に出力される。一般に、復号フレーム記憶領域（４６０）から出力シーケンサ（４８０）によりフレームが出力される順番は、デコーダ（４５０）によりフレームが復号される順番とは異なり得る。
【００５１】
Ｖ．例示的なビデオエンコーダ
図５ａ及び図５ｂは、いくつかの説明する実施形態を協働して実装することができる一般化されたビデオエンコーダ（５００）のブロック図である。エンコーダ（５００）は、現ピクチャを含む一連のビデオピクチャを、入力ビデオ信号（５０５）として受信し、符号化ビデオビットストリーム（５９５）内の符号化データ（５９５）を、出力として生成する。
【００５２】
エンコーダ（５００）は、ブロックベースであり、実装に依存するブロックフォーマットを使用する。ブロックは、例えば、予測段階、周波数変換段階、及び／又はエントロピ符号化段階において等の様々な段階において、さらに細分割され得る。例えば、ピクチャは、６４×６４ブロック、３２×３２ブロック、又は１６×１６ブロックに分割され得、今度は、それらのブロックが、符号化及び復号のために、サンプル値のより小さなブロックに分割され得る。ＨＥＶＣ規格のための符号化の実装において、エンコーダは、ピクチャを、ＣＴＵ（ＣＴＢ）、ＣＵ（ＣＢ）、ＰＵ（ＰＢ）、及びＴＵ（ＴＢ）に分割する。
【００５３】
エンコーダ（５００）は、ピクチャ内符号化及び／又はピクチャ間符号化を用いて、ピクチャを圧縮する。エンコーダ（５００）のコンポーネントの多くが、ピクチャ内符号化及びピクチャ間符号化の両方のために使用される。これらのコンポーネントにより実行される正確なオペレーションは、圧縮される情報のタイプに応じて変わり得る。
【００５４】
タイル化モジュール（５１０）は、任意的に、ピクチャを、同じサイズ又は異なるサイズの複数のタイルに分割する。例えば、タイル化モジュール（５１０）は、ピクチャ境界を用いてピクチャ内のタイルの水平境界及び垂直境界を規定するタイル行及びタイル列に沿って、ピクチャを分割する。ここで、各タイルは矩形領域である。次いで、タイル化モジュール（５１０）は、これらのタイルを、１以上のタイルセットにグループ化することができる。ここで、タイルセットは、これらのタイルのうちの１以上のタイルのグループである。
【００５５】
一般符号化制御部（５２０）は、入力ビデオ信号（５０５）のピクチャに加えて、エンコーダ（５００）の様々なモジュールからのフィードバック（図示せず）を受信する。概して、一般符号化制御部（５２０）は、符号化中に符号化パラメータを設定及び変更するために、他のモジュール（タイル化モジュール（５１０）、変換部／スケーリング部／量子化部（５３０）、スケーリング部／逆変換部（５３５）、イントラピクチャ推定部（５４０）、動き推定部（５５０）、及びイントラ／インタースイッチ等）に制御信号（図示せず）を供給する。詳細には、一般符号化制御部（５２０）は、符号化中にイントラＢＣ予測を使用するかどうかとどのようにイントラＢＣ予測を使用するかとを決定することができる。一般符号化制御部（５２０）はまた、例えば、レート−歪み解析を実行して、符号化中に中間結果を評価することができる。一般符号化制御部（５２０）は、符号化中になされた決定を示す一般制御データ（５２２）を生成するので、対応するデコーダは、整合する決定を行うことができる。一般制御データ（５２２）は、ヘッダフォーマット化部／エントロピ符号化部（５９０）に提供される。
【００５６】
現ピクチャが、ピクチャ間予測を用いて予測される場合、動き推定部（５５０）は、１以上の参照ピクチャに対する、入力ビデオ信号（５０５）の現ピクチャのサンプル値のブロックの動きを推定する。復号ピクチャバッファ（５７０）は、参照ピクチャとして使用するために、１以上の以前に再構成された符号化ピクチャをバッファする。複数の参照ピクチャが使用される場合、複数の参照ピクチャは、異なる時間的方向からのものであってもよいし、同じ時間的方向からのものであってもよい。動き推定部（５５０）は、サイド情報として、動きベクトルデータ及び参照ピクチャ選択データ等の動きデータ（５５２）を生成する。動きデータ（５５２）は、ヘッダフォーマット化部／エントロピ符号化部（５９０）及び動き補償部（５５５）に提供される。
【００５７】
動き補償部（５５５）は、動きベクトルを、復号ピクチャバッファ（５７０）からの１以上の再構成された参照ピクチャに適用する。動き補償部（５５５）は、現ピクチャのための動き補償予測を生成する。
【００５８】
エンコーダ（５００）内の分離パス（separate  path）において、イントラピクチャ推定部（５４０）は、入力ビデオ信号（５０５）の現ピクチャのサンプル値のブロックのためのピクチャ内予測をどのように実行するかを決定する。現ピクチャは、ピクチャ内符号化を用いて、全体又は一部が符号化され得る。イントラ空間予測に関して、現ピクチャの再構成（５３８）の値を用いて、イントラピクチャ推定部（５４０）は、現ピクチャの隣接する以前に再構成されたサンプル値から、現ピクチャの現ブロックのサンプル値をどのように空間的に予測するかを決定する。あるいは、イントラＢＣ予測に関して、イントラピクチャ推定部（５４０）は、現ピクチャ内の異なる候補領域への、現ブロックのサンプル値の変位を推定する。イントラＢＣ予測に関して、イントラ予測推定部（５４０）は、以下で説明する１以上の制約を用いて、ＢＶ選択プロセスを制約することができる。イントラ予測推定部（５４０）はまた、以下で説明するように、制約付きイントラ予測が有効にされているときには、イントラＢＣ予測の使用を制限することができる。
【００５９】
イントラ予測推定部（５４０）は、サイド情報として、イントラ予測が空間予測を使用するかＢＣ予測を使用するかを示す情報（例えば、イントラブロックごとのフラグ値）、予測モード方向（イントラ空間予測に関して）、及びＢＶ値（イントラＢＣ予測に関して）等のイントラ予測データ（５４２）を生成する。イントラ予測データ（５４２）は、ヘッダフォーマット化部／エントロピ符号化部（５９０）及びイントラピクチャ予測部（５４５）に提供される。
【００６０】
イントラピクチャ予測部（５４５）は、イントラ予測データ（５４２）に従って、現ピクチャの隣接する以前に再構成されたサンプル値から、現ピクチャの現ブロックのサンプル値を空間的に予測する。あるいは、イントラＢＣ予測に関して、イントラピクチャ予測部（５４５）は、現ブロックのＢＶ値により示されるイントラ予測領域の以前に再構成されたサンプル値を用いて、現ブロックのサンプル値を予測する。ピクチャのクロマデータが、ルマデータと同じ解像度を有する場合（例えば、フォーマットが、ＹＵＶ４：４：４フォーマット又はＲＧＢ４：４：４フォーマットである場合）、クロマブロックに関して適用されるＢＶ値は、ルマブロックに関して適用されるＢＶ値と同じであり得る。一方、ピクチャのクロマデータが、ルマデータと比較して低い解像度を有する場合（例えば、フォーマットが、ＹＵＶ４：２：０フォーマットである場合）、クロマブロックに関して適用されるＢＶ値は、低減され得、可能であれば、クロマ解像度における差を調整するために丸められ得る（例えば、ＢＶ値の垂直成分及び水平成分を２で除算して、それらを整数値に切り捨てる又は丸めることにより）。
【００６１】
イントラ／インタースイッチは、所与のブロックのための予測（５５８）として使用するために、動き補償予測又はピクチャ内予測の値を選択する。予測（５５８）のブロックと、入力ビデオ信号（５０５）のオリジナルの現ピクチャの対応する部分と、の間の差（あれば）は、残差（５１８）の値を提供する。現ピクチャの再構成中に、再構成された残差値が、予測（５５８）と結合されて、ビデオ信号（５０５）からのオリジナルのコンテンツの再構成（５３８）が生成される。しかしながら、損失圧縮（lossy  compression）では、それでも、いくつかの情報が、ビデオ信号（５０５）から失われる。
【００６２】
変換部／スケーリング部／量子化部（５３０）において、周波数変換部は、空間領域ビデオ情報を周波数領域（すなわち、スペクトル変換）データに変換する。ブロックベースのビデオ符号化に関して、周波数変換部は、離散コサイン変換（「ＤＣＴ」）、その整数近似、又は別のタイプの順ブロック変換を予測残差データ（又は、予測（５５８）がヌルの場合にはサンプル値データ）のブロックに適用して、周波数変換係数のブロックを生成する。イントラＢＣ予測が使用される場合、エンコーダ（５００）は、以下で説明するように、少なくともいくつかのサイズのブロックのイントラＢＣ予測残差値に関して、離散サイン変換（「ＤＳＴ」）、その整数近似、又は別のタイプの順ブロック変換（他のブロックに関して適用される変換とは異なる）を適用することができる。エンコーダ（５００）はまた、そのような変換ステップがスキップされることを指示することができる。スケーリング部／量子化部は、変換係数をスケーリングして量子化する。例えば、量子化部は、フレームごとに、タイルごとに、スライスごとに、ブロックごとに、又は他の単位で変わるステップサイズで、一様でないスカラ量子化を周波数領域データに適用する。量子化された変換係数データ（５３２）は、ヘッダフォーマット化部／エントロピ符号化部（５９０）に提供される。
【００６３】
スケーリング部／逆変換部（５３５）において、スケーリング部／逆量子化部は、量子化された変換係数に対して、逆スケーリング及び逆量子化を実行する。逆周波数変換部は、逆周波数変換を実行して、再構成された予測残差又はサンプル値のブロックを生成する。エンコーダ（５００）は、再構成された残差を、予測（５５８）の値（例えば、動き補償予測値、ピクチャ内予測値）と結合して、再構成（５３８）を形成する。
【００６４】
ピクチャ内予測に関して、再構成（５３８）の値は、イントラピクチャ推定部（５４０）及びイントラピクチャ予測部（５４５）にフィードバックされ得る。また、再構成（５３８）の値は、後続ピクチャの動き補償予測のためにも使用され得る。再構成（５３８）の値は、さらにフィルタリングされ得る。フィルタリング制御部（５６０）は、ビデオ信号（５０５）の所与のピクチャに関して、再構成（５３８）の値に対して、デブロックフィルタリング及びサンプル適応オフセット（「ＳＡＯ」）フィルタリングをどのように実行するかを決定する。フィルタリング制御部（５６０）は、フィルタリング制御データ（５６２）を生成する。フィルタリング制御データ（５６２）は、ヘッダフォーマット化部／エントロピ符号化部（５９０）及びマージ部／１以上のフィルタ（５６５）に提供される。
【００６５】
マージ部／１以上のフィルタ（５６５）において、エンコーダ（５００）は、異なるタイルからのコンテンツを、ピクチャの再構成バージョンにマージする。エンコーダ（５００）は、フレーム内の境界にわたる不連続さを適応的に平滑化するために、フィルタリング制御データ（５６２）に従って、デブロックフィルタリング及びＳＡＯフィルタリングを選択的に実行する。エンコーダ（５００）は、以下で説明するように、予測モードが、それぞれのブロックに関して、イントラ空間予測であるかイントラＢＣ予測であるかインター予測であるかに応じて、ループ内デブロックフィルタリングがピクチャのブロック間の境界に適用されるときに、異なるアプローチを適用することができる。タイル境界は、エンコーダ（５００）の設定に応じて、選択的にフィルタリングされ得る又はフィルタリングされず、エンコーダ（５００）は、そのようなフィルタリングが適用されたか否かを示すシンタックスを、符号化ビットストリーム内に提供することができる。復号ピクチャバッファ（５７０）は、後続の動き補償予測において使用するために、再構成された現ピクチャをバッファする。
【００６６】
ヘッダフォーマット化部／エントロピ符号化部（５９０）は、一般制御データ（５２２）、量子化された変換係数データ（５３２）、イントラ予測データ（５４２）、動きデータ（５５２）、及びフィルタリング制御データ（５６２）をフォーマット化及び／又はエントロピ符号化する。例えば、ヘッダフォーマット化部／エントロピ符号化部（５９０）は、様々なシンタックス要素のエントロピ符号化のために、コンテキスト適応バイナリ算術符号化を使用する。詳細には、ＢＶ値を符号化するときに、ヘッダフォーマット化部／エントロピ符号化部（５９０）は、以下で説明するように、ＢＶの他方の成分（例えば、垂直成分）の値を考慮して、ＢＶの一方の成分（例えば、水平成分）の値の出現の確率を利用することができる。
【００６７】
ヘッダフォーマット化部／エントロピ符号化部（５９０）は、符号化データを、符号化ビデオビットストリーム（５９５）内に提供する。符号化ビデオビットストリーム（５９５）のフォーマットは、ＨＥＶＣフォーマットの変形又は拡張、Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ｖｉｄｅｏフォーマット、ＶＣ−１フォーマット、ＭＰＥＧ−ｘフォーマット（例えば、ＭＰＥＧ−１、ＭＰＥＧ−２、又はＭＰＥＧ−４）、Ｈ．２６ｘフォーマット（例えば、Ｈ．２６１、Ｈ．２６２、Ｈ．２６３、Ｈ．２６４）、又は別のフォーマットであり得る。
【００６８】
実装及び所望の圧縮のタイプに応じて、エンコーダのモジュールを追加してもよいし、省略してもよいし、複数のモジュールに分割してもよいし、他のモジュールと結合してもよいし、且つ／又は同様のモジュールと置換してもよい。代替実施形態において、異なるモジュール及び／又はモジュールの他の構成を有するエンコーダは、説明した技術のうちの１以上を実行する。エンコーダの特定の実施形態は、通常、エンコーダ（５００）の変形又は補完バージョンを使用する。エンコーダ（５００）内のモジュール間の示された関係は、エンコーダ内の情報の一般的な流れを示すものである。他の関係は、簡潔さのため示されていない。
【００６９】
ＶＩ．例示的なビデオデコーダ
図６は、いくつかの説明する実施形態を協働して実装することができる一般化されたデコーダ（６００）のブロック図である。デコーダ（６００）は、符号化ビデオビットストリーム（６０５）内の符号化データを受信し、再構成ビデオ（６９５）のためのピクチャを含む出力を生成する。符号化ビデオビットストリーム（６０５）のフォーマットは、ＨＥＶＣフォーマットの変形又は拡張、Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ｖｉｄｅｏフォーマット、ＶＣ−１フォーマット、ＭＰＥＧ−ｘフォーマット（例えば、ＭＰＥＧ−１、ＭＰＥＧ−２、又はＭＰＥＧ−４）、Ｈ．２６ｘフォーマット（例えば、Ｈ．２６１、Ｈ．２６２、Ｈ．２６３、Ｈ．２６４）、又は別のフォーマットであり得る。
【００７０】
デコーダ（６００）は、ブロックベースであり、実装に依存するブロックフォーマットを使用する。ブロックは、様々な段階において、さらに細分割され得る。例えば、ピクチャは、６４×６４ブロック、３２×３２ブロック、又は１６×１６ブロックに分割され得、今度は、それらのブロックが、サンプル値のより小さなブロックに分割され得る。ＨＥＶＣ規格のための復号の実装において、ピクチャは、ＣＴＵ（ＣＴＢ）、ＣＵ（ＣＢ）、ＰＵ（ＰＢ）、及びＴＵ（ＴＢ）に分割される。
【００７１】
デコーダ（６００）は、ピクチャ内復号及び／又はピクチャ間復号を用いて、ピクチャを伸張する。デコーダ（６００）のコンポーネントの多くが、ピクチャ内復号及びピクチャ間復号の両方のために使用される。これらのコンポーネントにより実行される正確なオペレーションは、伸張される情報のタイプに応じて変わり得る。
【００７２】
バッファは、符号化ビデオビットストリーム（６０５）内の符号化データを受け入れ、受け入れた符号化データを解析部／エントロピ復号部（６１０）に利用可能にする。解析部／エントロピ復号部（６１０）は、通常はエンコーダ（５００）において実行されたエントロピ符号化の逆（例えば、コンテキスト適応バイナリ算術復号）を適用することにより、エントロピ符号化されたデータをエントロピ復号する。詳細には、ＢＶ値を復号するとき、解析部／エントロピ復号部（６１０）は、以下で説明するように、ＢＶのそれぞれの成分を復号することができる。解析及びエントロピ復号の結果として、解析部／エントロピ復号部（６１０）は、一般制御データ（６２２）、量子化された変換係数データ（６３２）、イントラ予測データ（６４２）、動きデータ（６５２）、及びフィルタリング制御データ（６６２）を生成する。
【００７３】
一般復号制御部（６２０）は、一般制御データ（６２２）を受信し、復号中に復号パラメータを設定及び変更するために、他のモジュール（スケーリング部／逆変換部（６３５）、イントラピクチャ予測部（６４５）、動き補償部（６５５）、及びイントラ／インタースイッチ等）に制御信号（図示せず）を供給する。
【００７４】
現ピクチャが、ピクチャ間予測を用いて予測される場合、動き補償部（６５５）は、動きベクトルデータ及び参照ピクチャ選択データ等の動きデータ（６５２）を受信する。動き補償部（６５５）は、動きベクトルを、復号ピクチャバッファ（６７０）からの１以上の再構成された参照ピクチャに適用する。動き補償部（６５５）は、現ピクチャのインター符号化ブロックのための動き補償予測を生成する。復号ピクチャバッファ（６７０）は、参照ピクチャとして使用するために、１以上の以前に再構成されたピクチャを記憶する。
【００７５】
デコーダ（６００）内の分離パスにおいて、イントラ予測予測部（６４５）は、イントラ予測が空間予測を使用するかＢＣ予測を使用するかを示す情報（例えば、イントラブロックごとのフラグ値）、予測モード方向（イントラ空間予測に関して）、及びＢＶ値（イントラＢＣ予測に関して）等のイントラ予測データ（６４２）を受信する。イントラ空間予測に関して、イントラピクチャ予測部（６４５）は、現ピクチャの再構成（６３８）の値を用いて、予測モードデータに従って、現ピクチャの隣接する以前に再構成されたサンプル値から、現ピクチャの現ブロックのサンプル値を空間的に予測する。あるいは、イントラＢＣ予測に関して、イントラピクチャ予測部（６４５）は、現ブロックのＢＶ値により示されるイントラ予測領域の以前に再構成されたサンプル値を用いて、現ブロックのサンプル値を予測する。イントラピクチャ予測部（６４５）はまた、以下で説明するように、制約付きイントラ予測が有効にされているときには、イントラＢＣ予測の使用を制限することができる。
【００７６】
イントラ／インタースイッチは、所与のブロックのための予測（６５８）として使用するために、動き補償予測又はピクチャ内予測の値を選択する。例えば、ＨＥＶＣシンタックスに従うと、イントラ／インタースイッチは、イントラ予測ＣＵ及びインター予測ＣＵを含み得るピクチャのＣＵに関して符号化されたシンタックス要素に基づいて制御され得る。デコーダ（６００）は、予測（６５８）を、再構成された残差値と結合して、ビデオ信号からのコンテンツの再構成（６３８）を生成する。
【００７７】
残差を再構成するために、スケーリング部／逆変換部（６３５）は、量子化された変換係数データ（６３２）を受信して処理する。スケーリング部／逆変換部（６３５）において、スケーリング部／逆量子化部は、量子化された変換係数に対して、逆スケーリング及び逆量子化を実行する。逆周波数変換部は、逆周波数変換を実行して、再構成された予測残差又はサンプル値のブロックを生成する。例えば、逆周波数変換部は、逆ブロック変換を周波数変換係数に適用して、サンプル値データ又は予測残差データを生成する。逆周波数変換は、逆ＤＣＴ、その整数近似、又は別のタイプの逆周波数変換であり得る。イントラＢＣ予測が使用される場合、デコーダ（６００）は、以下で説明するように、少なくともいくつかのサイズのブロックのイントラＢＣ予測残差値に関して、逆ＤＳＴ、その整数近似、又は別のタイプの逆ブロック変換（他のブロックに関して適用される変換とは異なる）を適用することができる。
【００７８】
ピクチャ内予測に関して、再構成（６３８）の値は、イントラピクチャ予測部（６４５）にフィードバックされ得る。ピクチャ間予測に関して、再構成（６３８）の値は、さらにフィルタリングされ得る。マージ部／１以上のフィルタ（６６５）において、デコーダ（６００）は、異なるタイルからのコンテンツを、ピクチャの再構成バージョンにマージする。デコーダ（６００）は、フレーム内の境界にわたる不連続さを適応的に平滑化するために、フィルタリング制御データ（６６２）とフィルタ適応のためのルールとに従って、デブロックフィルタリング及びＳＡＯフィルタリングを選択的に実行する。デコーダ（６００）は、以下で説明するように、予測モードが、それぞれのブロックに関して、イントラ空間予測であるかイントラＢＣ予測であるかインター予測であるかに応じて、ループ内デブロックフィルタリングがピクチャのブロック間の境界に適用されるときに、異なるアプローチを適用することができる。タイル境界は、デコーダ（６００）の設定又は符号化ビットストリームデータ内のシンタックスインジケーションに応じて、選択的にフィルタリングされ得る又はフィルタリングされない。復号ピクチャバッファ（６７０）は、後続の動き補償予測において使用するために、再構成された現ピクチャをバッファする。
【００７９】
デコーダ（６００）はまた、後処理デブロックフィルタを含み得る。後処理デブロックフィルタは、任意的に、再構成ピクチャ内の不連続さを平滑化する。他のフィルタリング（デリングフィルタリング等）も、後処理フィルタリングの一部として適用され得る。
【００８０】
実装及び所望の伸張のタイプに応じて、デコーダのモジュールを追加してもよいし、省略してもよいし、複数のモジュールに分割してもよいし、他のモジュールと結合してもよいし、且つ／又は同様のモジュールと置換してもよい。代替実施形態において、異なるモジュール及び／又はモジュールの他の構成を有するデコーダは、説明した技術のうちの１以上を実行する。デコーダの特定の実施形態は、通常、デコーダ（６００）の変形又は補完バージョンを使用する。デコーダ（６００）内のモジュール間の示された関係は、デコーダ内の情報の一般的な流れを示すものである。他の関係は、簡潔さのため示されていない。
【００８１】
ＶＩＩ．イントラブロックコピー予測モードのためのイノベーション
このセクションは、イントラブロックコピー（「ＢＣ」）予測モードのための様々なイノベーションを提示する。これらのイノベーションのうちのいくつかは、ブロックベクトル（「ＢＶ」）値の選択に関するのに対し、他のイノベーションは、ＢＶ値の符号化／復号に関する。さらに他のイノベーションは、イントラＢＣ予測モードと制約付きイントラ予測との融合、イントラＢＣ予測モードが使用されているときの順周波数変換及び逆周波数変換の選択、又は、イントラＢＣ予測モードを有するブロックの境界にわたるループ内デブロックフィルタリングに関する。これらのイノベーションは、レート−歪み性能、並びに／又は、符号化及び復号の計算効率性の観点でより効率的であるイントラＢＣ予測を容易にすることができる。詳細には、イントラＢＣ予測は、スクリーンキャプチャコンテンツ等の所定の「人工的に」作成されたビデオコンテンツを符号化する際のレート−歪み性能を向上させることができる。スクリーンキャプチャコンテンツは、一般に、繰り返し構造（例えば、グラフィックス、テキスト文字）を含み、これは、イントラＢＣ予測が性能を向上させる機会を提供する。スクリーンキャプチャコンテンツは、通常、高クロマサンプリング解像度のフォーマット（例えば、ＹＵＶ４：４：４又はＲＧＢ４：４：４）で符号化されるが、より低いクロマサンプリング解像度のフォーマット（例えば、ＹＵＶ４：２：０）で符号化されてもよい。
【００８２】
Ａ．イントラＢＣ予測モード−序論
イントラＢＣ予測モードに関して、ピクチャの現ブロックのサンプル値は、同じピクチャ内のサンプル値を用いて予測される。ＢＶは、現ブロックから、予測のために使用されるサンプル値を含む、ピクチャの領域への変位を示す。通常、予測のために使用されるサンプル値は、以前に再構成されたサンプル値である。ＢＶは、ビットストリームにおいてシグナリングされる。イントラＢＣ予測は、ピクチャ内予測の一形態であり、ピクチャのブロックのためのイントラＢＣ予測は、同じピクチャ内のサンプル値以外のいずれのサンプル値も使用しない。
【００８３】
図７は、現フレーム（７１０）の現ブロック（７３０）のためのイントラＢＣ予測を示している。現ブロックは、符号化ユニット（「ＣＵ」）の符号化ブロック（「ＣＢ」）、予測ユニット（「ＰＵ」）の予測ブロック（「ＰＢ」）、変換ユニット（「ＴＵ」）の変換ブロック（「ＴＢ」）、又は他のブロックであり得る。現ブロックのサイズは、６４×６４、３２×３２、１６×１６、８×８、又は何らかの他のサイズであり得る。より一般的に、現ブロックのサイズは、ｍ×ｎであり、ここで、ｍ及びｎの各々は、整数であり、ｍ及びｎは、互いに等しいこともあるし、異なる値を有することもある。代替的に、現ブロックは、何らかの他の形状（例えば、非矩形形状の符号化ビデオオブジェクトの領域）を有してもよい。
【００８４】
ＢＶ（７４０）は、現ブロック（７３０）から、予測のために使用されるサンプル値を含む、ピクチャの領域（７５０）への変位（又はオフセット）を示す。現ブロックの左上位置が、現フレームにおいて位置（ｘ０，ｙ０）にあると仮定し、イントラ予測領域の左上位置が、現フレームにおいて位置（ｘ１，ｙ１）にあると仮定する。ＢＶは、変位（ｘ１−ｘ０，ｙ１−ｙ０）を示す。例えば、現ブロックの左上位置が、位置（３２０，２５６）にあり、イントラ予測領域の左上位置が、位置（２９５，２７０）にあるとすると、ＢＶ値は、（−２５，１４）である。負の水平変位は、現ブロックの左の位置を示し、負の垂直変位は、現ブロックの上の位置を示す。
【００８５】
いくつかの例示的な実装において、イントラ予測領域（７５０）は、現ブロック（７３０）と同じスライス及びタイル内にあるように制約される。そのようなイントラＢＣ予測は、他のスライス又はタイル内のサンプル値を使用しない。イントラ予測領域（７５０）の位置は、１以上の他の制約（例えば、探索範囲に関するもの、インター符号化ブロックの再構成されたサンプル値の使用に関するもの）を受けることがある。
【００８６】
イントラＢＣ予測の予測モードを有するブロックは、ＣＢ、ＰＢ、又は他のブロックであり得る。ブロックがＣＢである場合、ブロックのＢＶは、ＣＵレベルでシグナリングされ得る（ＣＵ内の他のＣＢは、同じＢＶ又はそのスケーリングバージョンを使用する）。あるいは、ブロックがＰＢである場合、ブロックのＢＶは、ＰＵレベルでシグナリングされ得る（ＰＵ内の他のＰＢは、同じＢＶ又はそのスケーリングバージョンを使用する）。より一般的に、イントラＢＣ予測ブロックのＢＶは、ブロックのための適切なシンタックスレベルでシグナリングされる。
【００８７】
イントラＢＣ予測モードに従った予測のブロックコピーオペレーションは、ＣＢのレベルで実行され得る（ＢＶがＣＢごとにシグナリングされる場合）又はＰＢのレベルで実行され得る（ＢＶがＰＢごとにシグナリングされる場合）。例えば、１６×１６ＣＢが１つの１６×１６ＰＢを有すると仮定する。（ＰＢの）ＢＶは、１６×１６領域をブロックコピーするために適用される。イントラ予測領域が、予測される１６×１６ブロックとオーバーラップしないように制約される場合、ＢＶは、水平方向又は垂直方向に少なくとも１６の大きさ（magnitude）（絶対値）を有する。
【００８８】
代替的に、ブロックコピーオペレーションは、ＢＶがＰＢ又はＣＢに関してシグナリングされる場合であっても、ＰＢ又はＣＢ内のＴＢのレベルで実行されてもよい。このように、ＴＢに関して適用されるＢＶは、同じＰＢ又はＣＢ内の他のＴＢの位置を参照することができる。例えば、１６×１６ＣＢが１つの１６×１６ＰＢを有するが、残差符号化／復号のために１６個の４×４ＴＢに分割されると仮定する。（ＰＢの）ＢＶは、ラスタ走査順で最初のＴＢのための４×４領域をブロックコピーするために適用され、次いで、同じＢＶが、ラスタ走査順で２番目のＴＢのための４×４領域をブロックコピーするために適用される、等である。ＴＢのためのＢＣオペレーションにおいて使用される４×４領域は、残差値を、同じＣＢ内の以前に再構成されたＴＢの予測値と結合した後の、そのような以前に再構成されたＴＢ内の位置を含み得る（ＢＶは、予測されている同じＴＢ内の位置をそれでも参照しない）。ＴＢレベルでＢＣオペレーションを適用することは、比較的小さな大きさのＢＶの使用を容易にする。
【００８９】
ＣＵのクロマブロックのためのイントラＢＣ予測オペレーションは、一般に、そのＣＵのルマブロックのためのイントラＢＣ予測オペレーションに対応する。通常、クロマＰＢ及びクロマＴＢのセグメンテーションは、ＣＵ内のルマＰＢ及びルマＴＢのセグメンテーションに直接的に対応する。ビデオのフォーマットがＹＵＶ４：４：４である場合、クロマＰＢ及びクロマＴＢのサイズは、対応するルマＰＢ及びルマＴＢのサイズに合致する。ビデオのフォーマットがＹＵＶ４：２：０である場合、クロマＰＢ及びクロマＴＢは、対応するルマＰＢ及びルマＴＢの半分の幅及び半分の高さである。しかしながら、ルマＴＢが最小変換サイズを有する場合、その最小変換サイズを有する１つのクロマＴＢが使用される。
【００９０】
いくつかの実装において、イントラＢＣ予測ＣＵに関して、ＰＵ内のクロマブロックのためのイントラＢＣ予測は、クロマデータがルマデータと比較して低い解像度を有する場合（例えば、フォーマットがＹＵＶ４：２：０フォーマットである場合）可能であればスケーリングして丸めた後に、そのＰＵ内のルマブロックのためのイントラＢＣ予測と同じＢＶ値を使用する。代替的に、ＰＵのルマブロック及びクロマブロックに関して、異なるＢＶ値がシグナリングされてもよい。
【００９１】
いくつかの実装において、ＰＵのルマブロックの予測モードが、イントラＢＣ予測である場合、そのＰＵのクロマブロックの予測モードもイントラＢＣ予測である。例えば、予測モードが、ＰＵに関してシグナリングされる。代替的に、予測モードは、ＰＵのルマブロック及びクロマブロックの両方に関してではなく、一方に関してイントラＢＣ予測であってもよい。
【００９２】
Ｂ．イントラＢＣ予測モードのためのＢＶ探索の制約
いくつかの例示的な実装において、エンコーダは、１以上の制約に従ってＢＶ範囲を制限する。ＢＶ範囲を制限することにより、符号化中及び復号中にイントラＢＣ予測のための高速メモリアクセスにより参照される、再構成されたサンプル値の領域を低減させることができ、これは、より低い実装コストをもたらす。
【００９３】
図８は、ＢＶ値の探索範囲に対する例示的な制約を示している。現フレーム（８１０）の現ブロック（８３０）に加えて、図８は、２つのＣＴＢ（８２０、８２２）により規定される探索範囲を示している。現ＣＴＢ（８２０）は、現ＣＴＵの一部であり、現ブロック（８３０）を含む。現ＣＴＢ（８２０）は、その左のＣＴＢ（８２２）により、現ブロック（８３０）に関して許容可能なＢＶを見つけることができる探索範囲を規定する。ＢＶ（８４２、８４４）は、探索範囲外にある領域を参照するので、これらのＢＶ値（８４２、８４４）は許容されない。
【００９４】
いくつかの例示的な実装において、現ブロックのＢＶ値の探索範囲は、現ＣＴＢ及びその左のＣＴＢである。例えば、ＣＴＢは、６４×６４サンプル値、３２×３２サンプル値、又は１６×１６サンプル値のサイズを有することができ、これは、１２８×６４サンプル値、６４×３２サンプル値、又は３２×１６サンプル値の探索範囲をもたらす。現ＣＴＢ及び左のＣＴＢ内のサンプル値のみが、現ブロックのためのイントラＢＣ予測のために使用される。これは、探索プロセスを制約することにより、エンコーダ実装を単純化する。これはまた、デコーダがイントラ予測のために高速メモリにバッファするサンプル値の数を制限することにより、デコーダ実装を単純化する。別の制約は、イントラ予測は別のスライス又はタイルからのサンプル値を参照することができない、ということである。左上位置が（ｘ０，ｙ０）にある現ｍ×ｎブロック、及び各々がＣＴＢｓｉｚｅＹ×ＣＴＢｓｉｚｅＹという寸法を有する１以上のＣＴＢに関して、エンコーダは、水平成分ＢＶ［０］及び垂直成分ＢＶ［１］を有する２次元ＢＶに関するこれらの制約を、以下のようにチェックすることができる。
・ＢＶ［０］≧−（（ｘ０％ＣＴＢｓｉｚｅＹ）＋ＣＴＢｓｉｚｅＹ）
・ＢＶ［１］≧−（ｙ０％ＣＴＢｓｉｚｅＹ）
・位置（ｘ０，ｙ０）、位置（ｘ０＋ＢＶ［０］，ｙ０＋ＢＶ［１］）、及び位置（ｘ０＋ＢＶ［０］＋ｍ−１，ｙ０＋ＢＶ［１］＋ｎ−１）におけるサンプル値は、同じスライス内にある必要がある。
・位置（ｘ０，ｙ０）、位置（ｘ０＋ＢＶ［０］，ｙ０＋ＢＶ［１］）、及び位置（ｘ０＋ＢＶ［０］＋ｍ−１，ｙ０＋ＢＶ［１］＋ｎ−１）におけるサンプル値は、同じタイル内にある必要がある。
【００９５】
図９は、ＢＶ値の選択に対する１以上の制約を受けてイントラＢＣ予測モードで符号化するための技術（９００）を示している。図３又は図５ａ〜図５ｂを参照して説明したもの等のエンコーダは、技術（９００）を実行することができる。
【００９６】
最初に、エンコーダは、ピクチャの現ブロックのＢＶを決定する（９１０）。現ブロックは、ＣＢ、ＰＢ、又は他のブロックであり得る。ＢＶは、ピクチャ内の領域への変位を示す。ＢＶを決定する際、エンコーダは、１以上の制約をチェックする。
【００９７】
１つの可能な制約に従って、エンコーダは、イントラＢＣ予測のために使用されるサンプル値の範囲をチェックする。エンコーダは、候補イントラ予測領域が、現ＣＴＢ及び１以上の他のＣＴＢ（例えば、現ＣＴＢの左のＣＴＢ）により規定される範囲内にあることをチェックすることができる。例えば、ＢＶが、第１の成分ＢＶ［０］及び第２の成分ＢＶ［１］を有し、現ブロックの左上位置が、位置（ｘ０，ｙ０）にあり、１以上のＣＴＢの各々が、幅ＣＴＢｗｉｄｔｈ及び高さＣＴＢｈｅｉｇｈｔを有するとすると、ＢＶ［０］＞＝−（（ｘ０％ＣＴＢｗｉｄｔｈ）＋ＣＴＢｗｉｄｔｈ）且つＢＶ［１］＞＝−（ｙ０％ＣＴＢｈｅｉｇｈｔ）である場合に、制約が満たされる。エンコーダは、探索範囲内のＢＶ［０］及びＢＶ［１］の値の上限を同様にチェックすることができる：ＢＶ［０］＜（ＣＴＢｗｉｄｔｈ−ｍ−（ｘ０％ＣＴＢｗｉｄｔｈ））且つＢＶ［１］＜（ＣＴＢｈｅｉｇｈｔ−ｎ−（ｙ０％ＣＴＢｈｅｉｇｈｔ））。代替的に、探索範囲は、より多くの又はより少ないＣＴＢを含んでもよいし、探索範囲は、何らかの他の方法により規定されてもよい。
【００９８】
別の可能な制約に従って、エンコーダは、現スライス及びタイルに対する探索を制限する（すなわち、現ブロック及び領域は、ピクチャのたった１つのスライス及びピクチャのたった１つのタイルの一部である）。エンコーダは、現ブロックの左上位置、候補イントラ予測領域の左上位置、及び候補イントラ予測領域の右下位置が、１つのスライス及び１つのタイルの一部であることをチェックすることができる。例えば、（ｘ０，ｙ０）、（ｘ０＋ＢＶ［０］，ｙ０＋ＢＶ［１］）、及び（ｘ０＋ＢＶ［０］＋ｍ−１，ｙ０＋ＢＶ［１］＋ｎ−１）が、１つのスライス及び１つのタイルの一部である場合に、制約が満たされる。
【００９９】
代替的に、エンコーダは、他の制約及び／又は追加の制約をチェックしてもよい。
【０１００】
エンコーダは、ＢＶを用いて、現ブロックのためのイントラＢＣ予測を実行する（９２０）。例えば、エンコーダは、現ブロック全体のためのイントラＢＣ予測を実行する。あるいは、エンコーダは、現ブロックに関連付けられた複数のブロックのためのイントラＢＣ予測を実行する（例えば、ＢＶを有する現ＰＢに関連付けられている複数のＴＢのためのイントラＢＣ予測をＴＢごとに実行する）。
【０１０１】
エンコーダは、ＢＶを符号化する（９３０）。例えば、エンコーダは、以下で説明するように、ＢＶを符号化する（９３０）。エンコーダは、別のイントラＢＣ予測モードブロックに対して、技術（９００）を繰り返すことができる。
【０１０２】
イントラＢＣ予測に関して、エンコーダ及びデコーダは、再構成されたサンプル値を使用する。再構成されていないサンプル値は、まだ符号化されておらず再構成されていないピクチャの一部として提示され得る。イントラＢＣ予測のために再構成されていないサンプル値を使用するのを避けるために、エンコーダは、実際の以前に再構成されたサンプル値のみが、ＢＶに従って、イントラＢＣ予測のために使用されるように、ＢＶの許容可能な値に対する制約を設定することができる。
【０１０３】
いくつかの例示的な実装において、エンコーダは、現ブロックのｚ走査順序と候補イントラ予測領域の右下位置を含むブロックのｚ走査順序とを考慮することにより、ＢＶ値をチェックする。より詳細には、エンコーダは、位置（ｘ０＋ＢＶ［０］＋ｍ−１，ｙ０＋ＢＶ［１］＋ｎ−１）を含むブロックのｚ走査順序が、（ｘ０，ｙ０）を含むブロックのｚ走査順序よりも小さいかどうかをチェックする。そうである場合、イントラ予測領域の右下位置を含むブロックは、以前に再構成されたものである（したがって、イントラ予測領域の残りの部分も以前に再構成されたものである）。ＢＶはまた、イントラ予測領域が現ブロックとオーバーラップしないことを確実にする、ＢＶ［０］＋ｍ≦０という条件及びＢＶ［１］＋ｎ≦０という条件のうちの少なくとも一方も満たす。
【０１０４】
ｚ走査順序は、ピクチャを分割するブロックのシーケンシャルに指定された順序に従う。図１０は、現ブロック（１０３０）と候補ＢＶに関してイントラ予測領域の右下位置を含み得るブロックとの例示的なｚ走査順序（１０００）を示している。現ブロック（１０３０）は、ＣＢ、ＰＢ、又は他のブロックであり得る。ｚ走査順序は、一般に、行内を左から右にシーケンシャルに進み、上から下に連続する行内で繰り返されるように、ブロックに割り当てられ。ブロックが分割されている場合、ｚ走査順序は、分割ブロック内で再帰的に割り当てられる。ＨＥＶＣ規格のための符号化／復号の実装に関して、ｚ走査順序は、ＣＴＢラスタ走査パターン（ＣＴＢ行内を左から右に進み、上から下に連続するＣＴＢ行内で繰り返される）により、ＣＴＢからＣＴＢに進む。ＣＴＢが分割されている場合、ｚ走査順序は、分割ＣＴＢ内の四分木（quadtree）のＣＢに関するラスタ走査パターンに従う。ＣＢが（例えば、複数のＣＢ又は複数のＰＢに）分割されている場合、ｚ走査順序は、分割ＣＢ内のブロックに関するラスタ走査パターンに従う。
【０１０５】
代替的に、イントラＢＣ予測のために再構成されていないサンプル値を使用するのを避けるために、エンコーダ（及びデコーダ）は、再構成されていないサンプル値を、デフォルト値又は他の形で決定された値で置換してもよい。図１１ａ及び図１１ｂは、フィルイン値（fill-in  value）により置換される再構成されていないサンプル値を有するイントラ予測領域の例を示している。図１１ａにおいて、現ブロック（１１３０）のイントラ予測領域（１１５０）は、以前に再構成された行のブロック内のいくつかのサンプル値を含むだけでなく、その行より下にある再構成されていないサンプル値も含む。図１１ｂにおいて、イントラ予測領域（１１５２）は、現ブロック（１１３０）より上にあり現ブロック（１１３０）の左にある以前に再構成されたブロック内のいくつかのサンプル値を含むだけでなく、現ブロック（１１３０）内のいくつかの再構成されていないサンプル値も含む。エンコーダ（及びデコーダ）は、予め定められた値を用いて、再構成されていないサンプル値を埋める（フィルする（fill））ことができる。例えば、予め定められた値は、８のビット深度を有するサンプル値に関して、１２８（グレー）である。あるいは、予め定められた値は、別の値であってもよい。あるいは、予め定められた値を用いて埋める（フィルする）代わりに、再構成されていないサンプル値は、水平方向又は垂直方向の拡張（expanding）又は内挿により埋められても（フィルされても）よいし、角度方向拡張（angular  directional  expanding）、平面表面フィッティング拡張（planar  surface  fitting  expanding）、又はいくつかの利用可能な再構成されたサンプル値の平均値を用いた拡張等の何らかの他の形の拡張又は内挿により埋められても（フィルされても）よい。そのような場合、エンコーダは、探索範囲にないサンプル値がイントラＢＣ予測のために使用されないように、依然として制約をチェックすることができる。エンコーダはまた、再構成されていないサンプル値を埋める（フィルする）プロセスを制御するためのシンタックス情報を、符号化ビットストリームデータ内に提供することができる（例えば、使用される定数値を送信することにより、角度方向拡張の予測角度のインジケータを送信することにより、又は、拡張の複数の方法間で選択するためのインジケータを送信することにより）。
【０１０６】
符号化中、エンコーダは、イントラＢＣ予測プロセスの一部として、パッドサンプル値（padded  sample  value）（例えば、実際の再構成されたサンプル値内での内挿又は実際の再構成されたサンプル値からの外挿に基づく）、又は、予め定められた値（例えば、グレー値）を有するフィルインサンプル値を用いて、イントラ予測領域の再構成されていないサンプル値を埋める（フィルする）ことができる。復号中も同様に、デコーダは、イントラＢＣ予測プロセスの一部として、パッドサンプル値、又は、予め定められた値を有するフィルインサンプル値を用いて、イントラ予測領域の再構成されていないサンプル値を埋める（フィルする）ことができる。
【０１０７】
代替的に、イントラＢＣ予測がＴＢごとに実行され得る場合（セクションＧを参照）、エンコーダ及びデコーダは、イントラ予測領域と現ブロック（ＴＢ）との間の可能なオーバーラップについてチェックし、次いで、このチェックの結果を使用して、現ＴＢがイントラＢＣ予測オペレーションの適用のためにより小さなＴＢに分割されるべきであるかどうかを決定してもよい。現ＴＢが、ｍ×ｎのサイズを有すると仮定する（ｍ及びｎは、互いに等しいこともあるし、異なる値を有することもある）。ＢＶ［０］＞−ｍ且つＢＶ［１］＞−ｎである場合、イントラ予測領域は、現ｍ×ｎＴＢとオーバーラップし、これは、現ｍ×ｎＴＢがイントラＢＣ予測オペレーションの適用のためにより小さなＴＢに分割される場合を除いて問題である。したがって、ＢＶ［０］＞−ｍ且つＢＶ［１］＞−ｎである場合、エンコーダ及びデコーダは、現ＴＢを、より小さなＴＢに分割する。同じ条件が、より小さなＴＢに対してもチェックされる（例えば、再帰的にチェックされる）。分割後のｍ及びｎのより小さな値に関してもＢＶ［０］＞−ｍ且つＢＶ［１］＞−ｎである場合には、より小さなＴＢは、さらに分割され得る。
【０１０８】
例えば、ＰＢのＢＶが（−９，−５）であり、現ＴＢが３２×３２ブロックであると仮定する。エンコーダ及びデコーダは、−９＞−３２且つ−５＞−３２であると判定し、これは、イントラ予測領域（左上角が、−９，−５だけ変位されている）が現３２×３２ＴＢとオーバーラップするであろうことを示す。エンコーダ及びデコーダは、３２×３２ＴＢを４つの１６×１６ＴＢに分割する。各１６×１６ＴＢについて、エンコーダ及びデコーダは、−９＞−１６且つ−５＞−１６であると判定し、これは、イントラ予測領域（左上角が、−９，−５だけ変位されている）が現１６×１６ＴＢとオーバーラップするであろうことを示す。エンコーダ及びデコーダは、各１６×１６ＴＢを続けて４つの８×８ＴＢに分割する。８×８ＴＢに関して、（−９，−５）のＢＶは、問題とはならないので、８×８ＴＢは、さらに分割されることを強いられない。
【０１０９】
このシナリオにおいて、ＢＶ値及びＴＢのサイズに起因して、ＴＢが分割される場合、エンコーダは、そうでなければ現ＴＢをより小さなＴＢに分割するかどうかをシグナリングするであろうフラグ値のシグナリングをスキップすることができる。符号化データのビットストリームは、現ＴＢをより小さなＴＢに分割するよう指示するフラグ値を有さない。代わりに、デコーダは、ＢＶ値及びＴＢのサイズに起因して、ＴＢが分割されるべきであることを推測することができる。これは、そうでなければＴＢの分割に関する情報をシグナリングするのに使用されるであろうビットを節約することができる。
【０１１０】
Ｃ．制約付きイントラ予測が有効にされている場合のイントラＢＣ予測モード
いくつかの例示的な実装において、イントラＢＣ予測がどのように実行されるかは、制約付きイントラ予測が有効にされているかどうかに依拠する。制約付きイントラ予測は、（例えば、干渉からのビットフリップ又はパケット損失に起因して）符号化ビデオデータに取り込まれ得る誤りに対する耐性を制御するために使用される設定である。制約付きイントラ予測は、イントラ予測のためにどの再構成されたサンプル値を使用できるかを制限する。制約付きイントラ予測が有効にされている場合、インター符号化ブロックからの再構成されたサンプル値は、イントラＢＣ予測又はイントラ空間予測のために使用することができない。ビットストリーム内のフラグは、制約付きイントラ予測が有効にされるかどうかを指示することができる。
【０１１１】
図１２は、制約付きイントラ予測が有効にされ得るときにイントラＢＣ予測モードを使用するための技術（１２００）を示している。図３又は図５ａ〜図５ｂを参照して説明したもの等のエンコーダは、技術（１２００）を実行することができる。あるいは、図４又は図６を参照して説明したもの等のデコーダは、技術（１２００）を実行することができる。
【０１１２】
エンコーダ又はデコーダは、制約付きイントラ予測が有効にされているかどうかを判定する（１２１０）。例えば、エンコーダ又はデコーダは、制約付きイントラ予測が有効にされているかどうかを制御するフラグの値をチェックする。このフラグは、ピクチャパラメータセットの一部として又は何らかの他のレベルで、シグナリングされ得る。
【０１１３】
エンコーダ又はデコーダは、制約付きイントラ予測が有効にされているかどうかに少なくとも部分的に応じて、現ブロックのためのイントラＢＣ予測を実行する（１２２０）。以下で説明するように、制約付きイントラ予測が有効にされているかどうかに応じてイントラＢＣ予測を調整するいくつかのアプローチが存在する。エンコーダ又はデコーダは、別のイントラＢＣ予測モードブロックに対して、技術（１２００）を繰り返すことができる。
【０１１４】
一アプローチでは、エンコーダが、現ブロックのＢＶを決定するときに、制約付きイントラ予測が有効にされていれば、エンコーダは、候補イントラ予測領域のサンプル値が、インター符号化ブロックからの再構成されたサンプル値ではないことをチェックする。制約付きイントラ予測が有効にされていなければ、この制約は適用されず、イントラＢＣ予測は、インター符号化ブロックからの再構成されたサンプル値を使用することができる。
【０１１５】
図１３は、制約付きイントラ予測が有効にされているときの許容可能なＢＶ値に対するこの制約を示している。イントラ符号化ブロック内のイントラ予測領域のＢＶ（１３４２、１３４４）は、このブロックがイントラ空間予測を用いて符号化されたかイントラＢＣ予測を用いて符号化されたかにかかわらず、許容されている。例えば、制約付きイントラ予測が有効にされている場合、現ブロックのＢＶを決定するときに、エンコーダは、候補イントラ予測領域のサンプル値ｐ［ｘ］［ｙ］が、イントラ符号化ブロック内にあることをチェックする。すなわち、左上位置が位置（ｘ０，ｙ０）にある現ｍ×ｎブロックに関して、エンコーダは、ｘ＝ｘ０＋ＢＶ［０］．．．ｘ０＋ＢＶ［０］＋ｍ−１、及び、ｙ＝ｙ０＋ＢＶ［１］．．．ｙ０＋ＢＶ［１］＋ｎ−１である全てのｐ［ｘ］［ｙ］に対して、この条件をチェックする。
【０１１６】
別のアプローチは、制約付きイントラ予測が有効にされている場合、インター符号化ブロックの再構成されたサンプル値の代わりに、フィルインサンプル値を使用する。制約付きイントラ予測が有効にされている場合、イントラＢＣ予測は、インター符号化ブロックからの再構成されたサンプル値である、イントラ予測領域のサンプル値の代わりに、フィルインサンプル値又はパッドサンプル値（外挿又は内挿による）を決定することを含む。
【０１１７】
さらに別のアプローチでは、制約付きイントラ予測が有効にされている場合、イントラＢＣ予測は、非イントラスライスにおいて無効にされる。イントラＢＣ予測は、（イントラ符号化コンテンツのみを有する）イントラスライスについて、及び、制約付きイントラ予測が有効にされていないときの非イントラスライスについて、依然として許容される。図１４は、このアプローチを示している。図１４において、シンタックステーブル（１４００）内の条件は、イントラＢＣ予測のために使用されるｉｎｔｒａ＿ｂｃ＿ｆｌａｇシンタックス要素の有無を示す。イントラＢＣ予測が有効にされている（ｉｎｔｒａ＿ｂｌｏｃｋ＿ｃｏｐｙ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１である）としても、イントラＢＣフラグは、現スライスがイントラスライスである（ｓｌｉｃｅ＿ｔｙｐｅがＩである）又は制約付きイントラ予測が有効にされていない（ｃｏｎｓｔｒａｉｎｅｄ＿ｉｎｔｒａ＿ｐｒｅｄ＿ｆｌａｇが０である）場合にのみ、シグナリングされる。
【０１１８】
Ｄ．ＢＶ値の符号化及び復号
いくつかの例示的な実装において、２次元ＢＶ値は、第２の成分の値を所与として、第１の成分の値の出現の確率を利用することにより、効率的に符号化される。
【０１１９】
図１５ａ及び図１５ｂは、符号化の際に利用することができる特性を有するＢＶ値の例示的な範囲を示している。図１５ａ及び図１５ｂにおいて、ＢＶが、現ｍ×ｎブロックに関して見つけられる（１５３０）。ＢＶは、水平成分ＢＶ［０］及び垂直成分ＢＶ［１］を有する。イントラＢＣ予測は、実際の再構成されたサンプル値を使用することのみに制約される。（再構成されていないサンプル値を参照する他のＢＶ値の代替例が可能であり、このセクションの最後に説明される。）
【０１２０】
イントラＢＣ予測は、実際の再構成されたサンプル値しか使用しないので、ＢＶ［０］＞−ｍ且つＢＶ［１］＞−ｎの範囲のＢＶ値は許容されない。この範囲では、候補イントラ予測領域は、少なくともいくつかの再構成されていないサンプル値を有する。
【０１２１】
図１５ａに示されるように、ＢＶ［１］≦−ｎである場合、ＢＶ［０］は、正値又は負値を有し得る。しかしながら、ＢＶ［１］＞−ｎである場合、許容可能なＢＶは、ＢＶ［０］≦−ｍを有する（イントラＢＣ予測が、実際の再構成されたサンプル値を使用することのみに制約されると仮定して）。ＢＶの水平成分は、オフセット値だけ調整され得る。これは、典型的なエントロピ符号化方式の符号化効率を向上させる。なぜならば、ゼロにより近い値が、より少ないビットを用いて符号化されるからである。例えば、ＢＶ［０］を直接符号化する代わりに、水平成分は、ＤＶ［０］＝ＢＶ［０］＋ｍとして符号化される。ＤＶ［０］値は、ＢＶ［０］よりも０に近く、通常、より少ないビットを用いて符号化される。ＤＶ［０］が、ビットストリームから復号されるときに、ＢＶ［０］は、ＤＶ［０］−ｍとして再構成することができる。詳細には、ＢＶは、次のように再構成される。最初に、ＢＶ［１］が復号される。ＢＶ［１］＞−ｎである場合、ＢＶ［０］＝ＤＶ［０］−ｍである。そうでなければ（ＢＶ［１］≦−ｎである場合）、ＢＶ［０］＝ＤＶ［０］である。
【０１２２】
同様に、図１５ｂに示されるように、ＢＶ［０］≦−ｍである場合、ＢＶ［１］は、正値又は負値を有し得る。しかしながら、ＢＶ［０］＞−ｍである場合、許容可能なＢＶは、ＢＶ［１］≦−ｎを有する（イントラＢＣ予測が、実際の再構成されたサンプル値を使用することのみに制約されると仮定して）。ＢＶの垂直成分は、例えば、ＤＶ［１］＝ＢＶ［１］＋ｎのように、オフセット値だけ調整され得る。ＤＶ［１］が、ビットストリームから復号されるときに、ＢＶ［１］は、ＤＶ［１］−ｎとして再構成することができる。
【０１２３】
代替的に、現ブロックの寸法ｍ又はｎに基づく代わりに、オフセット値は、ビットストリーム（例えば、シーケンスパラメータセット、ピクチャパラメータセット、又はスライスヘッダ）において設定されてもよいし、所与の予め定められた値であってもよい。例えば、オフセット値は、８、１６、又は何らかの他の値に設定することができる。調整されたＢＶ成分値は、ほとんどの場合において、そうされない場合よりもやはりゼロに近くなる。
【０１２４】
図１６は、ＢＶ値を符号化するための技術（１６００）を示している。図３又は図５ａ〜図５ｂを参照して説明したもの等のエンコーダは、技術（１６００）を実行することができる。
【０１２５】
エンコーダは、ピクチャの現ブロックの２次元ＢＶを決定する（１６１０）。ＢＶは、第１の成分及び第２の成分を有する。例えば、エンコーダは、上述したように、１以上の制約を受ける探索範囲においてＢＶを探索する。エンコーダは、ＢＶを用いて、現ブロックのためのイントラＢＣ予測を実行する（１６２０）。例えば、エンコーダは、現ブロック全体のためのイントラＢＣ予測を実行する。あるいは、エンコーダは、現ブロックに関連付けられた複数のブロックのためのイントラＢＣ予測を実行する（例えば、ＢＶを有する現ＰＢに関連付けられている複数のＴＢのためのイントラＢＣ予測をＴＢごとに実行する）。
【０１２６】
エンコーダは、ＢＶを符号化する（１６３０）。ＢＶの符号化は、第２の成分の値を所与として、第１の成分の値の出現の確率を利用する。いくつかの実装において、第１のＢＶ成分の値の符号化は、第２のＢＶ成分の値に依拠する。エンコーダは、第２の成分の値を第１のオフセット値と比較し、次いで、第２のオフセット値を用いて、第１の成分の値を選択的に調整することができる。例えば、第１の成分は水平成分ＢＶ［０］であり、第２の成分は垂直成分ＢＶ［１］であり、現ブロックはｍ×ｎブロックである。第１のオフセット値はｎに依拠し、第２のオフセット値はｍに依拠する。垂直成分ＢＶ［１］の値が、−ｎよりも大きい場合、水平成分ＢＶ［０］の値は、ｍだけ増加される。この調整の後に、ＢＶの符号化は、バイナリ算術符号化又は別の形態のエントロピ符号化を含み得る。
【０１２７】
エンコーダは、別のイントラＢＣ予測モードブロックに対して、技術（１６００）を繰り返すことができる。
【０１２８】
図１７は、ＢＶ値を復号するための技術（１７００）を示している。図４又は図６を参照して説明したもの等のデコーダは、技術（１７００）を実行することができる。
【０１２９】
デコーダは、ピクチャの現ブロックの２次元ＢＶを復号する（１７１０）。ＢＶは、第１の成分及び第２の成分を有する。デコーダは、第２の成分の値を所与として、第１の成分の値の出現の確率を利用する、ＢＶの符号化の逆を行う。ＢＶの復号は、バイナリ算術復号又は別の形態のエントロピ復号を含み得る。
【０１３０】
バイナリ算術復号又は別のエントロピ復号の後、第１のＢＶ成分の値が調整される。いくつかの実装において、第１のＢＶ成分の値の復号は、第２のＢＶ成分の値に依拠する。デコーダは、第２の成分の値を第１のオフセット値と比較し、次いで、第２のオフセット値を用いて、第１の成分の値を選択的に調整することができる。例えば、第１の成分は水平成分ＢＶ［０］であり、第２の成分は垂直成分ＢＶ［１］であり、現ブロックはｍ×ｎブロックである。第１のオフセット値はｎに依拠し、第２のオフセット値はｍに依拠する。垂直成分ＢＶ［１］の値が、−ｎよりも大きい場合、水平成分ＢＶ［０］の値は、ｍだけ減少される。
【０１３１】
デコーダは、ＢＶを用いて、現ブロックのためのイントラＢＣ予測を実行する（１７２０）。例えば、デコーダは、現ブロック全体のためのイントラＢＣ予測を実行する。あるいは、デコーダは、現ブロックに関連付けられた複数のブロックのためのイントラＢＣ予測を実行する（例えば、ＢＶを有する現ＰＢに関連付けられている複数のＴＢのためのイントラＢＣ予測をＴＢごとに実行する）。デコーダは、別のイントラＢＣ予測モードブロックに対して、技術（１７００）を繰り返すことができる。
【０１３２】
代替的に、図１６及び図１７に示される技術（１６００、１７００）に関して、第１の成分は垂直成分ＢＶ［１］であり、第２の成分は水平成分ＢＶ［０］であり、第１のオフセット値はｍに依拠し、第２のオフセット値はｎに依拠する。水平成分ＢＶ［０］の値が、−ｍよりも大きい場合、垂直成分ＢＶ［１］の値は、（符号化中）ｎだけ増加されるか、又は、（復号中）ｍだけ減少される。
【０１３３】
あるいは、図１６及び図１７に示される技術（１６００、１７００）に関して、第１の成分及び第２の成分は、第１の成分及び第２の成分の少なくともいくつかの組合せに関する符号が存在しないことを利用する方法により、一緒に符号化されてもよい。例えば、エンコーダ及びデコーダは、現ブロックに隣接する範囲にある第１の成分及び第２の成分の組合せに関して存在しない符号を含む可変長符号テーブルを使用する。
【０１３４】
再構成されていないサンプル値を有するイントラ予測領域を参照するＢＶ値が許容される場合、エンコーダ及びデコーダは、依然としてＢＶ成分値を調整することができる。例えば、エンコーダは、ＢＶ成分のうちの一方の値を調整して、他方のＢＶ成分の値を考慮して、平均してゼロにより近付ける。ＢＶ成分の調整された値は、正値を有し得るが、ゼロにより近い可能性がより高く、したがって、より少ないビットを用いて符号化される。
【０１３５】
例示的な実装において、イントラＢＣ予測は、ＢＶのために整数値を使用する。小数変位（fractional  displacement）（及び、したがって、再構成されたサンプル値間の小数内挿（fractional  interpolation））は使用されない。代替的に、ＢＶは、小数変位を有してもよい。
【０１３６】
代替的に、探索範囲が制約されている場合、ＢＶ値の符号化及び復号は、モジュロラッピング（modulo  wrapping）を使用してもよい。ＢＶ値の成分が、探索範囲外にある位置を示す場合、成分は、探索範囲の反対側に「ラップアラウンドし（wrap  around）」、そこから続く。これは、変位の極値を符号化するのをより効率的にすることができる。例えば、ｘよりも大きい正変位が、探索範囲外を示すＢＶ［０］値をもたらすであろう場合、ＢＶ［０］のｘの変位は、探索範囲の反対側の極負値を示すために使用され得る。
【０１３７】
（上述した）オフセット値の使用を含む、ＢＶ値のエントロピ符号化／復号とは別に、エンコーダ及びデコーダは、ＢＶ値を符号化／復号するときに、ＢＶ予測及び／又はマージモード／ＢＶ競合（BV  prediction  and/or  merge  mode/BV  competition）を使用することができる。
【０１３８】
符号化中及び復号中の基本的なＢＶ予測に関して、現ブロックのＢＶ値は、１以上の前のブロックのＢＶ値に基づいて予測され得る。隣接ブロック（例えば、現ブロックの左のブロック）のＢＶ値を使用して、現ブロックのＢＶ値のＢＶ予測子（predictor）を決定することができる。あるいは、現ブロックのＢＶ値のＢＶ予測子は、複数の隣接ブロック（例えば、現ブロックの左のブロック、上のブロック、及び左上のブロック）のＢＶ値の成分ごとの中央値又は平均値であってもよい。符号化中、ＢＶ差が、ＢＶ値及びＢＶ予測子を用いて決定され、ＢＶ差が符号化される。復号中、再構成されたＢＶ差が、ＢＶ予測子と結合される。
【０１３９】
あるいは、エンコーダ及びデコーダは、現ブロックに空間的に隣接する再構成ブロック（例えば、現ブロックの左のブロック、現ブロックの上のブロック等）のために使用されたＢＶ値の中から、現ブロックの１以上の候補ＢＶ値を決定する。１以上の候補ＢＶ値はまた、現ブロックに時間的に隣接する再構成ブロックのために使用された１以上のＢＶ値を含み得る。ここで、時間的に隣接するブロックは、別のピクチャ内の現ブロックとして対応する位置（例えば、同じ位置又は重なり合う位置）にあるものである。１以上の候補ＢＶ値のリストが、冗長なＢＶ値を除外するために、符号化中及び復号中、ルールにより決定される。符号化中、エンコーダは、１以上の候補ＢＶ値のうちどの候補ＢＶ値を現ブロックのＢＶ予測子として使用するかを示す１以上のシンタックス要素をシグナリングすることができる。いくつかのモードにおいて、そのＢＶ予測子が、現ブロックのＢＶ値として使用され得、これは、現ブロックのＢＶ値を、候補ＢＶ値を提供した隣接するブロックのＢＶ値と効率的に「マージする」。あるいは、エンコーダは、ＢＶ値及びＢＶ予測子に基づくＢＶ差を決定及び符号化することができる。ＢＶ差がシグナリングされるときに、ＢＶ予測子の選択が（候補ＢＶ値を選択するシンタックス要素のシグナリングなく）自動的に生じ得る。復号中、デコーダは、１以上の候補ＢＶ値のうちどの候補ＢＶ値を現ブロックのＢＶ予測子として使用するかを示す１以上のシンタックス要素を受信することができる。いくつかのモードにおいて、そのＢＶ予測子が、現ブロックのＢＶ値として使用され得、これは、現ブロックのＢＶ値を、候補ＢＶ値を提供した隣接するブロックのＢＶ値と効率的に「マージする」。あるいは、デコーダは、ＢＶ差を受信及び復号することができ、デコーダは、このＢＶ差をＢＶ予測子と結合して、ＢＶ値を再構成する。ＢＶ差がシグナリングされるときに、ＢＶ予測子の選択が（候補ＢＶ値を選択するシンタックス要素のシグナリングなく）自動的に生じ得る。ＢＶ「スキップ」モード又はＢＶ「ダイレクト」モードが提供され得、これらのモードにおいては、（ルールにより選択された）ＢＶ予測子が、現ブロックのＢＶ値として使用され、残差値は、現ブロックに関してシグナリングされない。
【０１４０】
Ｅ．イントラＢＣ予測モードブロックのための順変換及び逆変換
イントラＢＣ予測が使用される場合、いくつかの例示的な実装において、所定のサイズのルマ残差ブロックは、離散サイン変換（「ＤＳＴ」）又はその整数近似を用いて符号化され、逆ＤＳＴ又はその整数近似を用いて復号される。詳細には、ＤＳＴ（又はその整数近似）及び逆ＤＳＴ（又はその整数近似）は、イントラＢＣ予測からの４×４ルマブロックの残差値に対して使用される。より一般的に、イントラＢＣ予測が使用される場合、エンコーダは、イントラＢＣ予測からのいくつかのサイズのルマブロックの残差値とクロマブロックとに対して、第１のタイプの順変換（「標準の」変換）を使用し、デコーダは、そのようなブロックに対して、第１のタイプの逆変換（「標準の」逆変換）を使用する。一方、他のサイズのルマブロックの残差値に対しては、エンコーダは、第２のタイプの順変換（「代替の」変換）を使用し、デコーダは、第２のタイプの逆変換（「代替の」逆変換）を使用する。
【０１４１】
図１８は、イントラＢＣ予測モード及び代替の変換を用いて符号化するための一般化された技術（１８００）を示している。図３又は図５ａ〜図５ｂを参照して説明したもの等のエンコーダは、技術（１８００）を実行することができる。
【０１４２】
エンコーダは、イントラＢＣ予測モードを用いて、サンプル値を予測し（１８１０）、次いで、予測されたサンプル値及びオリジナルのサンプル値に基づいて、残差値を決定する（１８２０）。
【０１４３】
エンコーダは、特別なブロック（例えば、特別なサイズを有するルマブロック）が符号化されているかどうかをチェックする（１８２５）。そうである場合、エンコーダは、代替の順変換を残差値に適用して変換係数を生成し（１８３２）、変換係数が、量子化及びエントロピ符号化される（１８４０）。例えば、エンコーダは、ＤＳＴ、その整数近似、又は他のタイプの順変換を、イントラＢＣ予測からの４×４ルマブロックの残差値に適用する。そうでない場合、エンコーダは、標準の順変換を残差値に適用して変換係数を生成し（１８３０）、変換係数が、量子化及びエントロピ符号化される（１８４０）。例えば、エンコーダは、ＤＣＴ、その整数近似、又は他のタイプの順変換を、イントラＢＣ予測からの他のサイズのブロックの残差値とクロマブロックとに適用する。エンコーダは、別のイントラＢＣ予測モードブロックに対して、技術（１８００）を繰り返すことができる。
【０１４４】
図１９は、イントラＢＣ予測モード及び代替の逆変換を用いて復号するための一般化された技術（１９００）を示している。図４又は図６を参照して説明したもの等のデコーダは、技術（１９００）を実行することができる。
【０１４５】
デコーダは、変換係数をエントロピ復号及び逆量子化する（１９１０）。デコーダは、特別なブロック（例えば、特別なサイズを有するルマブロック）が復号されているかどうかをチェックする（１９１５）。そうである場合、デコーダは、代替の逆変換を変換係数に適用して残差値を生成する（１９２２）。例えば、デコーダは、逆ＤＳＴ、その整数近似、又は他のタイプの逆変換を、イントラＢＣ予測からの４×４ルマブロックの残差値のための変換係数に適用する。そうでない場合、デコーダは、標準の逆変換を変換係数に適用する（１９２０）。例えば、デコーダは、逆ＤＣＴ、その整数近似、又は他のタイプの逆変換を、イントラＢＣ予測からの他のサイズのブロックとクロマブロックとに適用する。デコーダは、イントラＢＣ予測モードを用いて、サンプル値を予測する（１９３０）。デコーダは、残差値と予測されたサンプル値とを結合して、サンプル値を再構成する（１９４０）。デコーダは、別のイントラＢＣ予測モードブロックに対して、技術（１９００）を繰り返すことができる。
【０１４６】
Ｆ．イントラＢＣ予測モードブロックのためのループ内デブロックフィルタリング
いくつかの例示的な実装において、ブロック間の境界にわたるデブロックフィルタリングは、それらのブロックの予測モード（例えば、イントラ空間予測、イントラＢＣ予測、又はインター予測）に依拠する。また、いくつかの例示的な実装において、イントラＢＣ予測ブロック間の境界にわたるデブロックフィルタリングは、ＢＶ値に応じて適応される。
【０１４７】
一般に、デブロッキングフィルタは、ブロック（例えば、ＰＢ、ＴＢ）のブロック境界に隣接するサンプル値に選択的に適用される。ピクチャ境界、スライス境界、又はタイル境界におけるフィルタリングを無効にする又は変更するために、特別なルールが適用され得る。エンコーダ又はデコーダは、予測モード（イントラ空間、イントラＢＣ予測、インター）、参照インデックス値及び動きベクトル値（インター符号化ブロックに関して）、ＢＶ値（イントラＢＣ予測ブロックに関して）、並びにゼロでない変換係数の有無を含む様々なファクタに応じて、デブロックフィルタリングの強度を設定する。
【０１４８】
例えば、ブロックＰ及びＱが、共通の境界を有する隣接ブロックであると仮定する。ブロックＰ及びＱの一方又は両方が、イントラ空間予測の予測モードを有する場合、フィルタリング強度は、（例えば、最も強いフィルタリングを指示する）第１の値を有する。一方、ブロックＰ及びＱの両方が、インター符号化である場合、ブロックＰ及びＱの両方が、イントラＢＣ予測である場合、又は、ブロックＰ及びＱの一方がインター符号化であり、他方がイントラＢＣ予測である場合、フィルタリング強度は、（例えば、適度な（moderate）フィルタリングを指示する又はフィルタリングを指示しない）別の値を有する。
【０１４９】
ブロックＰ及びＱの両方が、インター符号化である場合、適度なフィルタリングを指示するフィルタリング強度値は、（ａ）いずれかのブロックがゼロでない変換係数を有する場合、（ｂ）これら２つのブロックの参照インデックス値が等しくない場合、（ｃ）これら２つのブロックの動きベクトル値が等しくない場合、又は（ｄ）いずれかのブロックの２つの動きベクトル成分間の差が閾量（例えば、１サンプル）よりも大きい場合に、割り当てられる。そうでない場合（どの条件も満たされない場合）、フィルタリングを指示しないフィルタリング強度値が割り当てられる。
【０１５０】
ブロックＰ及びＱの両方が、イントラＢＣ予測である場合、適度なフィルタリングを指示するフィルタリング強度値は、（ａ）いずれかのブロックがゼロでない変換係数を有する場合、（ｂ）これら２つのブロックのＢＶ値が等しくない場合、又は（ｃ）いずれかのブロックのＢＶ成分間の差が閾量（例えば、１サンプル）よりも大きい場合に、割り当てられる。そうでない場合（どの条件も満たされない場合）、フィルタリングを指示しないフィルタリング強度値が割り当てられる。
【０１５１】
ブロックＰ及びＱの一方がインター符号化であり、他方がイントラＢＣ予測である場合、適度なフィルタリングを指示するフィルタリング強度値は、（ａ）いずれかのブロックがゼロでない変換係数を有する場合に、割り当てられる。そうでない場合、フィルタリングを指示しないフィルタリング強度値が割り当てられる。代替的に、ブロックＰ及びＱの一方がインター符号化であり、他方がイントラＢＣ予測である場合、フィルタリング強度値は、（例えば、最も強いフィルタリングを指示する）第１の値を有してもよい。
【０１５２】
強いフィルタリング及び適度なフィルタリングに関して、そのようなフィルタリングは、量子化パラメータ値又は他の考慮事項に応じて、さらに調整され得る。代替的に、フィルタリング強度は、他のルールに従って、割り当てられる且つ／又は調整される。
【０１５３】
図２０は、ブロックの予測モードに応じてループ内デブロックフィルタリングのアプローチを変更するための例示的なルール（２０００）を示している。２つの隣接ブロックのいずれかが、イントラ空間予測の予測モードを有する場合、エンコーダ又はデコーダは、これらのブロック間の境界に対して、デブロックフィルタリングの第１のアプローチ（例えば、強いフィルタリング）を適用する。そうではなく、２つの隣接ブロックの一方の予測モードがインター予測であり、他方の予測モードがイントラＢＣ予測である場合、エンコーダ又はデコーダは、デブロックフィルタリングの第２のアプローチ（例えば、ゼロでない変換係数レベルの有無に応じて適度なフィルタリング又はフィルタリングなし）を適用する。そうではなく、２つの隣接ブロックの両方の予測モードが、イントラＢＣ予測である場合、エンコーダ又はデコーダは、デブロックフィルタリングの第３のアプローチ（例えば、ゼロでない変換係数レベルの有無及びＢＶ値に応じて適度なフィルタリング又はフィルタリングなし）を適用する。そうでない場合（両方のブロックの予測モードがインター予測である場合（図２０には示されていない））、エンコーダ又はデコーダは、デブロックフィルタリングの第４のアプローチ（例えば、ゼロでない変換係数レベルの有無、参照インデックス値、及び動きベクトル値に応じて適度なフィルタリング又はフィルタリングなし）を適用する。全てのアプローチに関して、これらのフィルタリングは、量子化パラメータ値又は他の考慮事項に応じて、さらに調整され得る。
【０１５４】
図２１は、イントラＢＣ予測モードを有するブロックに関するループ内デブロックフィルタリングのための技術（２１００）を示している。図３又は図５ａ〜図５ｂを参照して説明したもの等のエンコーダは、技術（２１００）を実行することができる。あるいは、図４又は図６を参照して説明したもの等のデコーダは、技術（２１００）を実行することができる。
【０１５５】
エンコーダ又はデコーダは、イントラＢＣ予測の予測モードを有する少なくともいくつかのブロックを含むピクチャの第１のブロック及び第２のブロックを再構成する（２１１０）。
【０１５６】
エンコーダ又はデコーダは、第１のブロックと第２のブロックとの間の境界にわたるループ内デブロックフィルタリングを実行する。ループ内デブロックフィルタリングの一部として、エンコーダ又はデコーダは、第１のブロック及び第２のブロックの各々の予測モードを決定し（２１２０）、予測モードに少なくとも部分的に応じた、デブロックフィルタリングのアプローチを使用する（２１３０）。詳細には、第１のブロック及び第２のブロックの両方の予測モードが、イントラＢＣ予測である場合、エンコーダ又はデコーダは、第１のブロック及び第２のブロックそれぞれのＢＶの値に少なくとも部分的に基づいて、ループ内デブロックフィルタリングを調整する。
【０１５７】
エンコーダ又はデコーダは、ピクチャ内の他のブロック境界に対して、技術（２１００）を繰り返すことができる。
【０１５８】
イントラＢＣ予測に対するデブロックフィルタリング（及びＳＡＯフィルタリング等のループ内オペレーション）のタイミングに関して、いくつかの実装において、イントラＢＣ予測オペレーションは、ピクチャの前の部分に関して適用されるべきいずれのデブロックフィルタリングオペレーション及びＳＡＯフィルタリングオペレーションよりも先行する。例えば、イントラＢＣ予測オペレーションは、これらのフィルタリングプロセスの適用の前に、サンプル値の記憶されているコピーを使用することができる。これは、フィルタリングプロセスをイントラＢＣ予測プロセスと同期させる必要性をなくす。これはまた、フィルタリングが、スライス、タイル等の外にあるサンプル値（又は、制約付きイントラ予測が有効にされている場合には、インター符号化ブロック内にあるサンプル値）を使用するときに、そのようなサンプル値への間接的な依存を防ぐ。
【０１５９】
代替的に、イントラＢＣ予測オペレーションは、ピクチャの前の部分に関して適用されるべきいずれのデブロックフィルタリングオペレーション及びＳＡＯフィルタリングオペレーションの後に続いてもよい。これは、フィルタリングオペレーションと予測オペレーションとの同期を要し得るものであり、別のスライス、タイル等の中のサンプル値への依存をもたらし得る。一方、イントラＢＣ予測のためにフィルタリングされたサンプル値を使用することは、レート−歪み性能の観点で効果的な圧縮を提供し得る。
【０１６０】
Ｇ．イントラＢＣ予測の特徴群を組み合わせた例示的な実装
前述したように、イントラＢＣ予測の先の特徴は、別々に個々に使用され得る。あるいは、イントラＢＣ予測の先の特徴は、組み合わせて使用されてもよい。
【０１６１】
例えば、ＨＥＶＣシンタックスに一般に従う１つの組合せ実装において、ＢＶ値は、ＰＵ（ＣＵ又はＣＵの一部であり得る）に関してシグナリングされる。ＰＵは、１以上のＴＵを含み得る。イントラＢＣ予測プロセスは、ＰＵに関してシグナリングされるＢＶ値を用いて、ＴＢのレベルで、ＴＢごとに動作する（全てのＴＢが同じＢＶ値を使用し、現ＴＢのためのイントラＢＣ予測は、同じＣＵ内の他の以前のＴＢの再構成されたサンプル値を使用することができる）。ＢＶ値は、１以上の隣接ＰＵのＢＶ値を用いて予測され得る。ＢＶ予測が使用されるか否かにかかわらず、ＢＶ値（又はＢＶ差値）が、許容可能なＢＶ値を考慮する形で、符号化され得る（例えば、水平方向／水平方向の許容される値を考慮することにより、又は、ＢＶ値を符号化するときにモジュロラッピングを使用することにより）。ＢＶ値の選択は、（ａ）エンコーダが、まだ符号化／再構成されていない領域内差に存在するサンプル値を参照させるであろうＢＶ値を選択するのを禁止するように（すなわち、現ＴＢのためのイントラ予測領域のサンプル値は、復号／ビットストリーム順で現ＴＢよりも先行する他のＴＢによりカバーされる領域内に存在しなければならない；すなわち、所与のＴＢに関して、ＢＶ値は、そのＴＢ外にある領域を参照すると制約される）；（ｂ）デコーダにおいて必要なメモリ容量を低減させるように（例えば、ＢＶ値に従った参照を、現ＣＴＢ内及び現ＣＴＢの左の１つ又は２つのＣＴＢ内に制約することにより）；（ｃ）ＢＶ値に従った参照が、現スライス外、現タイル外、又は現ピクチャ外になるのを禁止するように；（ｄ）制約付きイントラ予測が有効にされているときには、エンコーダが、ピクチャ間予測を用いたサンプル値を参照するであろうＢＶ値を使用するのを禁止するように；制約される。
【０１６２】
開示した本発明の原理を適用することができる多くの可能な実施形態の観点から、例示した実施形態は、本発明の好ましい例に過ぎないことを認識すべきであり、本発明の範囲を限定するものとして解釈すべきではない。むしろ、本発明の範囲は、請求項により定められる。したがって、我々は、請求項の範囲及び主旨に含まれる全てを、我々の発明として特許請求する。
【図１】
0006359101.tif 000002
【図２ａ】
0006359101.tif 000003
【図２ｂ】
0006359101.tif 000004
【図３】
0006359101.tif 000005
【図４】
0006359101.tif 000006
【図５ａ】
0006359101.tif 000007
【図５ｂ】
0006359101.tif 000008
【図６】
0006359101.tif 000009
【図７】
0006359101.tif 000010
【図８】
0006359101.tif 000011
【図９】
0006359101.tif 000012
【図１０】
0006359101.tif 000013
【図１１ａ】
0006359101.tif 000014
【図１１ｂ】
0006359101.tif 000015
【図１２】
0006359101.tif 000016
【図１３】
0006359101.tif 000017
【図１４】
0006359101.tif 000018
【図１５ａ】
0006359101.tif 000019
【図１５ｂ】
0006359101.tif 000020
【図１６】
0006359101.tif 000021
【図１７】
0006359101.tif 000022
【図１８】
0006359101.tif 000023
【図１９】
0006359101.tif 000024
【図２０】
0006359101.tif 000025
【図２１】
0006359101.tif 000026