(57)【特許請求の範囲】
【請求項１】
ビデオデコーダ又は画像デコーダを有するコンピューティングデバイスにおける方法であって、
ビットストリーム内の符号化されたデータを受信する受信ステップであって、前記符号化されたデータは、シーケンス内のビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び色深度がどのように切り替わるかを示す１以上の信号を含み、前記色空間は、ＲＧＢタイプの色空間とＹＣｏＣｇ色空間とを含み、前記１以上の信号は、前記ビデオの前記ユニットのうちの所与のユニットについてのフラグ値を含み、前記フラグ値は、コンテキスト適応バイナリ算術符号化を用いてエントロピ符号化されており、前記フラグ値は、前記所与のユニットについての、前記ＲＧＢタイプの色空間と前記ＹＣｏＣｇ色空間との間の選択を示し、前記１以上の信号は、前記所与のユニットについての、２以上の色サンプリングレートの間の選択及び２以上の色深度の間の選択を示す、受信ステップと、
前記符号化されたデータを復号する復号ステップであって、前記復号ステップ中に、前記フラグ値をエントロピ復号するステップと、前記シーケンス内の前記ビデオの前記少なくともいくつかのユニットの間で、前記色空間、前記色サンプリングレート、及び前記色深度を、空間的且つ／又は時間的に切り替えるステップと、を含む復号ステップと、
を含む方法。
【請求項２】
前記符号化されたデータの少なくとも一部は、前記ＲＧＢタイプの色空間と前記ＹＣｏＣｇ色空間との間で切り替えるために、可逆色空間変換演算と増加された中間色深度とを用いた可逆符号化により符号化されている、請求項１記載の方法。
【請求項３】
前記ビデオの前記ユニットは、前記シーケンスの所与のピクチャの変換ブロックである、請求項１又は２記載の方法。
【請求項４】
前記符号化されたデータは、前記色空間を識別又は規定する情報をさらに含む、請求項１乃至３いずれか一項記載の方法。
【請求項５】
前記所与のユニットの異なる色成分は、異なる色深度を有する、請求項１乃至４いずれか一項記載の方法。
【請求項６】
前記復号ステップは、１以上のルールに従って、以前に再構成されたコンテンツをデブロックするデブロッキングステップをさらに含む、請求項１乃至５いずれか一項記載の方法。
【請求項７】
前記デブロッキングステップは、２つの隣接ブロックのプライマリ成分がゼロでない残差値を有するかどうかに応じて、デブロッキングフィルタの強度を調整するステップを含む、請求項６記載の方法。
【請求項８】
前記所与のユニットについての残差値が存在する場合、前記フラグ値は、前記所与のユニットについてのブロックシンタックス構造の一部としてシグナリングされる、請求項１乃至７いずれか一項記載の方法。
【請求項９】
コンピューティングデバイスに請求項１乃至８いずれか一項記載の方法を実行させるコンピュータプログラム。
【請求項１０】
請求項９記載のコンピュータプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
エンジニアは、デジタルビデオのビットレートを低減させるために、圧縮（ソース符号化とも呼ばれる）を使用する。圧縮は、ビデオ情報をより低いビットレート形式に変換することにより、ビデオ情報を記憶及び伝送するコストを低減させる。伸張（復号とも呼ばれる）は、圧縮形式からオリジナル情報のバージョンを再構成する。「コーデック」はエンコーダ／デコーダシステムである。
【０００２】
ここ２０年の間、ＩＴＵ−Ｔ  Ｈ．２６１規格、Ｈ．２６２（ＭＰＥＧ−２又はＩＳＯ／ＩＥＣ  １３８１８−２）規格、Ｈ．２６３規格、及びＨ．２６４（ＭＰＥＧ−４  ＡＶＣ又はＩＳＯ／ＩＥＣ  １４４９６−１０）規格、並びに、ＭＰＥＧ−１（ＩＳＯ／ＩＥＣ  １１１７２−２）規格、ＭＰＥＧ−４  Ｖｉｓｕａｌ（ＩＳＯ／ＩＥＣ  １４４９６−２）規格、及びＳＭＰＴＥ  ４２１Ｍ（ＶＣ−１）規格を含む様々なビデオコーデック規格が採用されてきた。より最近では、Ｈ．２６５／ＨＥＶＣ（ＩＴＵ−Ｔ  Ｈ．２６５又はＩＳＯ／ＩＥＣ  ２３００８−２）規格が承認されている。Ｈ．２６５／ＨＥＶＣ規格に対する拡張（例えば、スケーラブルビデオ符号化／復号に関するもの、サンプル色深度又はクロマサンプリングレートの観点でのより高い忠実度を伴うビデオの符号化／復号に関するもの、スクリーンキャプチャコンテンツに関するもの、又はマルチビュー符号化／復号に関するもの）を現在策定中である。ビデオコーデック規格は、通常、特定の特徴が符号化及び復号において使用されるときの符号化ビデオビットストリームにおけるパラメータを詳述する、符号化ビデオビットストリームのシンタックスのためのオプションを定義している。多くの場合、ビデオコーデック規格はまた、デコーダが復号において整合する結果を達成するために実行すべき復号オペレーションに関する詳細を提供している。コーデック規格とは別に、様々なプロプライエタリコーデックフォーマット（proprietary  codec  format）が、符号化ビデオビットストリームのシンタックスのための他のオプション及び対応する復号オペレーションを定義している。
【０００３】
カメラ、アニメーション出力、スクリーンキャプチャモジュール等といったビデオソースは、通常、特定の色空間におけるビデオであって、ビデオの色成分が、特定の色サンプリングレートに従ってサブサンプリングされ、サンプル値が、特定の色深度を有するビデオを提供する。一般に、色空間（時として色モデルと呼ばれる）は、１つの物理位置につきｎ（ｎ≧１）個の値として色を表現するためのモデルであり、ｎ個の値の各値は、その位置についての色成分値を提供する。例えば、ＹＵＶ色空間において、ルマ（又はＹ）成分値は、ある位置におけるおおよその輝度を表し、複数のクロマ（又はＵ及びＶ）成分値は、その位置における色差を表す。あるいは、ＲＧＢ色空間において、赤（Ｒ）成分値は、ある位置における赤強度を表し、緑（Ｇ）成分値は、その位置における緑強度を表し、青（Ｂ）成分値は、その位置における青強度を表す。歴史的に見て、異なる色空間は、表示、印刷、ブロードキャスト、及び符号化／復号等の異なる用途についての利点を有する。サンプル値は、色空間変換演算を用いて、色空間の間で変換することができる。
【０００４】
色サンプリングレート（時としてクロマサンプリングレートと呼ばれる）とは、色成分の間の相対空間解像度を指す。例えば、４：４：４という色サンプリングレートの場合、セカンダリ成分（例えば、ＹＵＶのＵ成分及びＶ成分）についての情報は、プライマリ成分（例えば、ＹＵＶのＹ成分）についての情報と同じ空間解像度を有する。４：２：２又は４：２：０という色サンプリングレートの場合、セカンダリ成分についての情報は、プライマリ成分についての情報に対してダウンサンプリングされる。ＹＵＶ４：２：０フォーマットが、符号化／復号のために一般的に使用される。設計原理として、符号化／復号のためにＹＵＶ４：２：０フォーマットを使用するとの判断は、ほとんどのユースケースに関して、観察者が、ＹＵＶ４：２：０フォーマットで符号化／復号されたビデオとＹＵＶ４：４：４フォーマットで符号化／復号されたビデオとの間の多くの視覚的差異に気付かないという理解に基づいている。したがって、１フレーム当たりより少ないサンプルしか有さないＹＵＶ４：２：０フォーマットの圧縮上の利点は、抗いがたいものである。
【０００５】
色深度とは、１サンプル値当たりのビット数を指す。一般的な色深度は、１サンプル当たり８ビット、１サンプル当たり１０ビット、及び１サンプル当たり１２ビットである。一般に、１サンプル当たりより多くのビットを有することは、ビデオの色のより正確なグラデーションを可能にするが、ビデオのためにより多くのストレージを用いる。１サンプル当たりより少ないビットを有することは、通常、品質が低減される代わりに、ビットレートを低減させる。
【０００６】
多くの商用利用可能なビデオエンコーダ及びビデオデコーダは、ＹＵＶ４：２：０フォーマットのみサポートしている。他の商用利用可能なエンコーダ及びデコーダ（例えば、Ｈ．２６４／ＡＶＣ規格用又はＨ．２６５／ＨＥＶＣ規格用のエンコーダ及びデコーダ）は、エンコーダが、所与のシーケンスについて、色空間、色サンプリングレート、及び色深度を指定することを可能にする。指定された色空間、色サンプリングレート、及び色深度が、ビデオシーケンス全体について使用される。これらのアプローチは、単一のビデオシーケンス内の非常に異なる種類のビデオコンテンツを処理することがある汎用コーデックシステムには、十分な柔軟性を提供しない。
【発明の概要】
【０００７】
要約すると、詳細な説明は、適応符号化及び適応復号の領域におけるイノベーションを提示している。例えば、本イノベーションのうちのいくつかは、符号化中に、ビデオシーケンス内のユニットの間で色空間を切り替えるエンコーダ、及び対応するデコーダに関する。他のイノベーションは、符号化中に、ビデオシーケンス内のユニットの間で色サンプリングレートを切り替えるエンコーダ、及び対応するデコーダに関する。さらに他のイノベーションは、符号化中に、ビデオシーケンス内のユニットの間で色深度を切り替えるエンコーダ、及び対応するデコーダに関する。これらのイノベーションは、多くのシナリオにおいて、符号化効率を向上させることができる。
【０００８】
本明細書に記載のイノベーションの第１の態様に従うと、画像エンコーダ又はビデオエンコーダは、シーケンス内のビデオを符号化する。符号化の一部として、エンコーダは、シーケンス内のビデオの少なくともいくつかのユニット（例えば、シーケンスのピクチャ、シーケンスの所与のピクチャのスライス、シーケンスの所与のピクチャのブロック）の間で、色空間、色サンプリングレート、及び／又は色深度を、空間的且つ／又は時間的に切り替える。エンコーダは、ビットストリーム内に符号化されたデータを出力する。符号化されたデータは、シーケンス内のビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び／又は色深度がどのように切り替わるかを示す１以上の信号を含む。
【０００９】
対応するデコーダは、ビットストリーム内の符号化されたデータを受信する。符号化されたデータは、シーケンス内のビデオの少なくともいくつかのユニット（例えば、シーケンスのピクチャ、シーケンスの所与のピクチャのスライス、シーケンスの所与のピクチャのブロック）の間で、色空間、色サンプリングレート、及び／又は色深度がどのように切り替わるかを示す１以上の信号を含む。デコーダは、符号化されたデータを復号する。復号の一部として、デコーダは、シーケンス内のビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び／又は色深度を、空間的且つ／又は時間的に切り替える。
【００１０】
例えば、符号化中又は復号中、切り替えることは、色空間変換演算を用いて、色空間のうちの２つの色空間の間で変更することを含む。色空間変換演算に関して、色空間は、少なくとも１つのＹＵＶタイプの色空間と、少なくとも１つのＲＧＢタイプの色空間と、を含み得る。
【００１１】
あるいは、別の例として、符号化中又は復号中、切り替えることは、色空間並べ替え（reordering）演算を用いて、色空間のうちの２つの色空間の間で変更することを含む。色空間並べ替え演算に関して、色空間は、複数のＲＧＢタイプの色空間を含み得る。
【００１２】
あるいは、別の例として、符号化中又は復号中、切り替えることは、色サンプリングレートのうちの２つの色サンプリングレートの間で変更することを含む。色サンプリングレートは、４：４：４、４：２：２、４：２：０、及び４：０：０のうちの２以上を含み得る。
【００１３】
あるいは、別の例として、符号化中又は復号中、切り替えることは、色深度のうちの２つの色深度の間で変更することを含む。色深度は、１サンプル当たり１２ビット、１サンプル当たり１０ビット、及び１サンプル当たり８ビットのうちの２以上を含み得る。また、ビデオの所与のユニットの異なる色成分は、異なる色深度を有し得る。
【００１４】
色空間、色サンプリングレート、及び／又は色深度がどのように切り替わるかを示す１以上の信号についてのシンタックス及びセマンティクスは、実装に依存する。例えば、１以上の信号は、ビデオの所与のユニットについてのフラグ値を含む。フラグ値は、色空間、色サンプリングレート、又は色深度についての２つのオプション間の選択を示す。あるいは、１以上の信号は、ビデオの所与のユニットについてのシンタックス要素を含む。シンタックス要素は、色空間、色サンプリングレート、又は色深度についての３以上のオプション間の選択を示す。信号は、予測符号化され得る。この場合、ビデオの所与のユニットについてのパラメータの差分（デルタ）値（delta  value）が、パラメータの実際の値とパラメータの予測因子（predictor）との差を表す。予測因子は、シーケンスレイヤパラメータであり得る。あるいは、予測因子は、ビデオの１以上の以前のユニットについてのパラメータの１以上の実際の値に基づいてもよい。
【００１５】
１以上の信号に加えて、符号化されたデータは、色空間、色サンプリングレート、及び／又は色深度を識別又は規定する情報を含んでもよい。例えば、この情報は、色空間のうちの２つの色空間の間の色空間変換演算のために使用可能な値の行列を含み得る。
【００１６】
符号化又は復号は、以前に再構成されたコンテンツのサンプル値のセットに少なくとも部分的に基づく、現ピクチャ内の現ブロックのサンプル値の予測を含み得る。イントラピクチャ予測（ピクチャ内予測）に関して、以前に再構成されたコンテンツのサンプル値のセットは、現ピクチャの一部である。インターピクチャ予測（ピクチャ間予測）に関して、以前に再構成されたコンテンツのサンプル値のセットは、参照ピクチャの一部である。予測の一部として、エンコーダ又はデコーダは、以前に再構成されたコンテンツのサンプル値のセットと現ブロックのサンプル値とが、異なるフォーマットであるかどうかを評価することができる。
【００１７】
いくつかの場合において、以前に再構成されたコンテンツのサンプル値のセットは、第１のフォーマットで記憶されており、現ブロックのサンプル値は、第１のフォーマットとは異なる第２のフォーマットで符号化されている。この場合、予測の一部として、エンコーダ又はデコーダは、（ａ）第１のフォーマットから第２のフォーマットに、以前に再構成されたコンテンツのサンプル値のセットを変換し（例えば、２つの色空間の間で変換し、２つの色サンプリングレートの間で変換し、且つ／又は、２つの色深度の間で変換し）、（ｂ）以前に再構成されたコンテンツの変換されたサンプル値のセットを使用して、現ブロックのサンプル値を予測し、（ｃ）現ブロックの予測されたサンプル値に少なくとも部分的に基づいて、現ブロックのサンプル値を再構成することができる。あるいは、予測の一部として、エンコーダ又はデコーダは、（ａ）以前に再構成されたコンテンツのサンプル値のセットを使用して、現ブロックのサンプル値を予測し、（ｂ）第１のフォーマットから第２のフォーマットに、現ブロックの予測されたサンプル値を変換し、（ｃ）現ブロックの変換された予測されたサンプル値に少なくとも部分的に基づいて、現ブロックのサンプル値を再構成することができる。予測の後に、エンコーダ又はデコーダは、（ｄ）、第２のフォーマットから第１のフォーマットに、現ブロックの再構成されたサンプル値を変換し、（ｅ）以前に再構成されたコンテンツの一部として、（第１のフォーマットである）現ブロックの変換された再構成されたサンプル値を記憶することができる。
【００１８】
符号化又は復号はまた、１以上のルールに従って、以前に再構成されたコンテンツをデブロックすることを含み得る。例えば、デブロッキングの一部として、エンコーダ又はデコーダは、２つの隣接ブロックのプライマリ成分がゼロでない残差値を有するかどうかに応じて、デブロッキングフィルタの強度を調整する。あるいは、デブロッキングの一部として、エンコーダ又はデコーダは、２つの隣接ブロックの対応する成分がゼロでない残差値を有するかどうかに応じて、デブロッキングフィルタの強度を調整する。したがって、１以上のルールは、２つの隣接ブロックの異なる色空間を考慮し得る。
【００１９】
色空間、色サンプリングレート、及び／又は色深度の適応切り替えのためのイノベーションは、方法の一部として、方法を実行するよう適合されたコンピューティングデバイスの一部として、又は、コンピューティングデバイスに方法を実行させるコンピュータ実行可能な命令を記憶した有体のコンピュータ読み取り可能な媒体の一部として実施され得る。様々なイノベーションが、組み合わせて又は別々に、使用され得る。詳細には、ビデオエンコーダ及びビデオデコーダは、ビデオシーケンス内で色空間のみを適応的に切り替えることができる（色サンプリングレート及び色深度は固定される）。あるいは、ビデオエンコーダ及びビデオデコーダは、ビデオシーケンス内で色サンプリングレートのみを適応的に切り替えることができる（色空間及び色深度は固定される）。あるいは、ビデオエンコーダ及びビデオデコーダは、ビデオシーケンス内で色深度のみを適応的に切り替えることができる（色空間及び色サンプリングレートは固定される）。あるいは、ビデオエンコーダ及びビデオデコーダは、（１）ビデオシーケンス内で、色深度を切り替えずに、色空間及び色サンプリングレートを適応的に切り替えることができ、（２）ビデオシーケンス内で、色サンプリングレートを切り替えずに、色空間及び色深度を適応的に切り替えることができ、又は（３）ビデオシーケンス内で、色空間を切り替えずに、色サンプリングレート及び色深度を適応的に切り替えることができる。あるいは、ビデオエンコーダ及びビデオデコーダは、ビデオシーケンス内で、色空間、色サンプリングレート、及び色深度を適応的に切り替えることができる。
【００２０】
本発明の前述の目的及び他の目的、特徴、並びに利点が、添付の図面を参照しながら進む以下の詳細な説明からより明らかになるであろう。
【図面の簡単な説明】
【００２１】
【図１】いくつかの説明する実施形態を実装することができる例示的なコンピューティングシステムの図。
【図２ａ】いくつかの説明する実施形態を実装することができる例示的なネットワーク環境の図。
【図２ｂ】いくつかの説明する実施形態を実装することができる例示的なネットワーク環境の図。
【図３】いくつかの説明する実施形態を協働して実装することができる例示的なエンコーダシステムの図。
【図４】いくつかの説明する実施形態を協働して実装することができる例示的なデコーダシステムの図。
【図５ａ】いくつかの説明する実施形態を協働して実装することができる例示的なビデオエンコーダを示す図。
【図５ｂ】いくつかの説明する実施形態を協働して実装することができる例示的なビデオエンコーダを示す図。
【図６】いくつかの説明する実施形態を協働して実装することができる例示的なビデオデコーダを示す図。
【図７】スクリーンキャプチャのための入力を提供することができる、コンテンツを含むコンピュータデスクトップ環境を示す図。
【図８】自然ビデオコンテンツ及び人工ビデオコンテンツを含む混合ビデオを示す図。
【図９】シーケンス内のピクチャについてのピクチャ適応的な色空間、色サンプリングレート、及び／又は色深度を示す図。
【図１０】シーケンス内のピクチャのスライスについてのスライス適応的な色空間、色サンプリングレート、及び／又は色深度を示す図。
【図１１】シーケンス内のピクチャのスライスのブロックについてのブロック適応的な色空間、色サンプリングレート、及び／又は色深度を示す図。
【図１２】符号化中に、色空間、色サンプリングレート、及び／又は色深度を適応的に切り替えるための一般化された技術を示すフローチャート。
【図１３】符号化中に、ユニットごとに適応的に切り替えるためのより詳細な例示的な技術を示すフローチャート。
【図１４】復号中に、色空間、色サンプリングレート、及び／又は色深度を適応的に切り替えるための一般化された技術を示すフローチャート。
【図１５】復号中に、ユニットごとに適応的に切り替えるためのより詳細な例示的な技術を示すフローチャート。
【図１６】１つのフォーマットで符号化されているブロックのサンプル値の、別のフォーマットの以前に再構成されたコンテンツのサンプル値のセットからの予測のための技術を示すフローチャート。
【発明を実施するための形態】
【００２２】
詳細な説明は、適応符号化及び適応復号の領域におけるイノベーションを提示している。例えば、本イノベーションのうちのいくつかは、符号化中に、ビデオシーケンス内のユニットの間で色空間を切り替えるエンコーダ、及び対応するデコーダに関する。他のイノベーションは、符号化中に、ビデオシーケンス内のユニットの間で色サンプリングレートを切り替えるエンコーダ、及び対応するデコーダに関する。さらに他のイノベーションは、符号化中に、ビデオシーケンス内のユニットの間で色深度を切り替えるエンコーダ、及び対応するデコーダに関する。これらのイノベーションは、多くのシナリオにおいて、符号化効率を向上させることができる。
【００２３】
一般に、色空間（時として色モデルと呼ばれる）は、１つの物理位置につきｎ（ｎ≧１）個の値として色を表現するためのモデルであり、ｎ個の値の各値は、その位置についての色成分値を提供する。
【００２４】
例えば、ＹＵＶ色空間において、ルマ（又はＹ）成分値は、ある位置におけるおおよその輝度を表し、複数のクロマ（又はＵ及びＶ）成分値は、その位置における色差を表す。色差値（及び、ＹＵＶ色空間からＲＧＢ等の別の色空間へ変換演算、ＲＧＢ等の別の色空間からＹＵＶ色空間への変換演算）の正確な定義は、実装に依存する。一般に、符号化及び復号の目的では、Ｙ成分がプライマリ成分であり、Ｕ成分及びＶ成分がセカンダリ成分である。一般に、本明細書で使用されるとき、ＹＵＶタイプの色空間という用語は、１つのルマ（又はルミナンス）成分と１以上のクロマ（又はクロミナンス）成分とを有する任意の色空間を示し、Ｙ’ＵＶ、ＹＩＱ、Ｙ’ＩＱ、及びＹＤｂＤｒに加えて、ＹＣｂＣｒ及びＹＣｏＣｇ等の変形を含む。
【００２５】
使用される成分信号尺度（measure）は、非線形伝達特性関数（「ガンマプレ補償（gamma  pre-compensation）」として一般に知られており、プライム記号を使用してしばしば表記されるが、プライム記号は、表記の都合上しばしば省略される）の適用を通じて調整され得る。あるいは、成分信号尺度は、光振幅と線形関係を有するドメインにあり得る。ルマ成分信号及びクロマ信号成分は、人間の視覚系についての輝度及び色の知覚に非常に沿ったものであり得る、あるいは、ルマ成分信号及びクロマ信号成分は、そのような尺度からいくらかそれたものであり得る（例えば、ＹＣｏＣｇの変形におけるように、色成分値の計算を単純化する式が適用される）。
【００２６】
別の例として、ＲＧＢ色空間において、赤（Ｒ）成分値は、ある位置における赤強度を表し、緑（Ｇ）成分値は、その位置における緑強度を表し、青（Ｂ）成分値は、その位置における青強度を表す。本明細書で使用されるとき、ＲＧＢタイプの色空間という用語は、Ｒ色成分、Ｇ色成分、及びＢ色成分を任意の順番で有する色空間を示す。例は、ＲＧＢ色空間、ＢＧＲ色空間、及びＧＢＲ色空間を含み、これらの色空間は、符号化及び復号の目的でのプライマリ成分の点で異なる。プライマリ成分は、色空間の最初の文字（例えば、ＲＧＢの場合はＲ）により示される。
【００２７】
色サンプリングレート（時としてクロマサンプリングレートと呼ばれる）とは、色成分の間の相対空間解像度を指す。例えば、４：４：４という色サンプリングレートの場合、セカンダリ成分（例えば、ＹＵＶのＵ成分及びＶ成分）についての情報は、プライマリ成分（例えば、ＹＵＶのＹ成分）についての情報と同じ空間解像度を有する。４：２：２又は４：２：０という色サンプリングレートの場合、セカンダリ成分についての情報は、プライマリ成分についての情報に対してダウンサンプリングされる。ＹＵＶ４：２：０フォーマットは、ＹＵＶ４：４：４フォーマットと比べて、クロマ情報をサブサンプリングしたフォーマットであるので、クロマ解像度は、水平方向及び垂直方向の両方においてルマ解像度の半分である。ＹＵＶ４：２：０フォーマットは、ＹＵＶ４：４：４フォーマットと比べて、水平方向においてクロマ情報をサブサンプリングしたフォーマットであるので、クロマ解像度は、水平方向においてルマ解像度の半分である。色サンプリングレートの他の例は、４：１：１（セカンダリ成分が水平方向において１／４の解像度を有する）及び４：０：０（セカンダリ成分が欠如している）を含む。色サブサンプリングは、通常、ＹＵＶタイプの色空間に適用される。ＲＧＢタイプの色空間は、通常、４：４：４という色サンプリングレートを有するが、セカンダリ色成分がサブサンプリングされる異なる色サンプリングレートを有してもよい。
【００２８】
ＹＵＶ４：２：０フォーマットは、従来、ビデオ符号化及びビデオ復号のために使用されていたが、ビデオがよりリッチな色情報を有し、より高い色忠実度が妥当であろういくつかのユースケースが存在する。そのようなユースケースにおいて、ＹＵＶ４：４：４クロマサンプリングフォーマットとＹＵＶ４：２：０クロマサンプリングフォーマットとの差が、観察者によってより容易に知覚される。例えば、コンピュータスクリーンテキストコンテンツ、人工的な鋭い境界を有するアニメーション化されたビデオコンテンツ、又はより一般的にビデオコンテンツの所定の特徴（スクロールするタイトル及び鋭いグラフィックス、又はクロマチャネルにおいて集結された情報を有するビデオ）の符号化／復号に関して、４：４：４フォーマットが、４：２：０フォーマットより好ましい場合がある。
【００２９】
色深度とは、１サンプル値当たりのビット数を指す。一般的な色深度は、１サンプル当たり８ビット、１サンプル当たり１０ビット、及び１サンプル当たり１２ビットである。他の可能な色深度は、１サンプル当たり４ビット及び１サンプル当たり１６ビットを含む。
【００３０】
本明細書に記載のオペレーションは、ビデオエンコーダ又はビデオデコーダにより実行されるものとして所々で説明されるが、多くの場合、このようなオペレーションは、別のタイプのメディア処理ツール（例えば、画像エンコーダ又は画像デコーダ）により実行することができる。例えば、このようなオペレーションは、静止画像符号化／復号、医療スキャンコンテンツ符号化／復号、マルチスペクトル画像コンテンツ符号化／復号等といった用途のために実行することができる。
【００３１】
本明細書に記載のイノベーションのうちのいくつかは、Ｈ．２６５／ＨＥＶＣ規格に固有のシンタックス要素及びオペレーションを参照して示される。例えば、Ｈ．２６５／ＨＥＶＣ規格のドラフトバージョンＪＣＴＶＣ−Ｐ１００５（”High  Efficiency  Video  Coding  (HEVC)  Range  Extensions  Text  Specification:  Draft  6”,  JCTVC-P1005_v1,  February  2014）を参照する。本明細書に記載のイノベーションはまた、他の規格又はフォーマットのためにも実装することができる。
【００３２】
より一般的に、本明細書に記載の例に対する様々な代替例が可能である。例えば、本明細書に記載の方法のうちのいくつかは、例えば、説明する方法動作の順番を変えることにより、所定の方法動作を分けることにより、所定の方法動作を繰り返すことにより、又は所定の方法動作を省略することにより、変更することができる。開示する技術の様々な態様が、組み合わせて又は別々に、使用され得る。様々な実施形態が、説明するイノベーションのうちの１以上を使用する。本明細書に記載のイノベーションのうちのいくつかは、背景技術において記した問題のうちの１以上に対処する。一般的に、所与の技術／ツールが、そのような問題の全てを解決するわけではない。
【００３３】
Ｉ．例示的なコンピューティングシステム
図１は、説明するイノベーションのうちのいくつかを実装することができる適切なコンピューティングシステム（１００）の一般化された例を示している。コンピューティングシステム（１００）は、使用又は機能の範囲に関して限定を示唆するよう意図するものではない。なぜならば、本イノベーションは、多様な汎用コンピューティングシステム又は専用コンピューティングシステムにおいて実施することができるからである。
【００３４】
図１を参照すると、コンピューティングシステム（１００）は、１以上の処理装置（１１０、１１５）及びメモリ（１２０、１２５）を含む。処理装置（１１０、１１５）は、コンピュータ実行可能な命令を実行する。処理装置は、汎用中央処理装置（「ＣＰＵ」）、特定用途向け集積回路（「ＡＳＩＣ」）におけるプロセッサ、又は任意の他のタイプのプロセッサとすることができる。マルチ処理システムにおいては、複数の処理装置が、処理能力を増大させるために、コンピュータ実行可能な命令を実行する。例えば、図１は、中央処理装置（１１０）に加えて、グラフィックス処理装置又は共処理装置（１１５）も示している。有体のメモリ（１２０、１２５）は、１以上の処理装置によりアクセス可能な、揮発性メモリ（例えば、レジスタ、キャッシュ、ＲＡＭ）であってもよいし、不揮発性メモリ（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ等）であってもよいし、これら２つの何らかの組合せであってもよい。メモリ（１２０、１２５）は、１以上の処理装置による実行に適したコンピュータ実行可能な命令の形態で、色空間、色サンプリングレート、及び／又は色深度の適応切り替えのための１以上のイノベーションを実装するソフトウェア（１８０）を記憶する。
【００３５】
コンピューティングシステムは、さらなる特徴を有することができる。例えば、コンピューティングシステム（１００）は、ストレージ（１４０）、１以上の入力デバイス（１５０）、１以上の出力デバイス（１６０）、及び１以上の通信接続（１７０）を含む。バス、コントローラ、又はネットワーク等の相互接続機構（図示せず）が、コンピューティングシステム（１００）のコンポーネントを相互接続する。通常、オペレーティングシステムソフトウェア（図示せず）が、コンピューティングシステム（１００）において実行される他のソフトウェアのための動作環境を提供し、コンピューティングシステム（１００）のコンポーネントの動作を調整する。
【００３６】
有体のストレージ（１４０）は、着脱可能であっても着脱不可能であってもよく、磁気ディスク、磁気テープ、磁気カセット、ＣＤ−ＲＯＭ、ＤＶＤ、又は、情報を記憶するために使用することができ、コンピューティングシステム（１００）内でアクセスされ得る任意の他の媒体を含む。ストレージ（１４０）は、色空間、色サンプリングレート、及び／又は色深度の適応切り替えのための１以上のイノベーションを実装するソフトウェア（１８０）の命令を記憶する。
【００３７】
１以上の入力デバイス（１５０）は、キーボード、マウス、ペン、若しくはトラックボール等のタッチ入力デバイス、音声入力デバイス、スキャニングデバイス、又はコンピューティングシステム（１００）への入力を提供する別のデバイスとすることができる。ビデオに関して、１以上の入力デバイス（１５０）は、カメラ、ビデオカード、ＴＶチューナカード、スクリーンキャプチャモジュール、若しくはアナログ形態あるいはデジタル形態のビデオ入力を受け入れる同様のデバイス、又はビデオ入力をコンピューティングシステム（１００）に読み込むＣＤ−ＲＯＭあるいはＣＤ−ＲＷとすることができる。１以上の出力デバイス（１６０）は、ディスプレイ、プリンタ、スピーカ、ＣＤライタ、又はコンピューティングシステム（１００）からの出力を提供する別のデバイスとすることができる。
【００３８】
１以上の通信接続（１７０）は、通信媒体を介した別のコンピューティングエンティティとの通信を可能にする。通信媒体は、変調されたデータ信号により、コンピュータ実行可能な命令、オーディオ入力、ビデオ入力、オーディオ出力、ビデオ出力、又は他のデータ等の情報を伝達する。変調されたデータ信号とは、信号内の情報を符号化するように設定又は変更された特性のうちの１以上を有する信号である。限定ではなく例として、通信媒体は、電気、光、ＲＦ、又は他のキャリアを使用することができる。
【００３９】
本イノベーションは、コンピュータ読み取り可能な媒体の一般的なコンテキストにおいて説明され得る。コンピュータ読み取り可能な媒体は、コンピューティング環境内でアクセスされ得る任意の利用可能な有体の媒体である。限定ではなく例として、コンピューティングシステム（１００）において、コンピュータ読み取り可能な媒体は、メモリ（１２０、１２５）、ストレージ（１４０）、及びこれらの任意の組合せを含む。
【００４０】
本イノベーションは、コンピュータ実行可能な命令の一般的なコンテキストにおいて説明され得る。コンピュータ実行可能な命令は、例えば、プログラムモジュールに含まれ、コンピューティングシステムにおいて、ターゲット実プロセッサ又は仮想プロセッサ上で実行される。一般に、プログラムモジュールは、特定のタスクを実行する又は特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造等を含む。プログラムモジュールの機能は、様々な実施形態において、必要に応じて、組み合わされてもよいし、プログラムモジュール間で分割されてもよい。プログラムモジュールのコンピュータ実行可能な命令は、ローカルコンピューティングシステム又は分散コンピューティングシステム内で実行され得る。
【００４１】
「システム」及び「デバイス」という用語は、本明細書において置き換え可能に使用される。文脈が別途明確に示さない限り、これらの用語は、コンピューティングシステム又はコンピューティングデバイスのタイプに関していかなる限定も示すものではない。一般に、コンピューティングシステム又はコンピューティングデバイスは、局在することもあるし分散されることもあり、専用ハードウェア及び／又は汎用ハードウェアと、本明細書に記載の機能を実装するソフトウェアと、の任意の組合せを含み得る。
【００４２】
開示する方法は、開示する方法のいずれかを実行するよう構成された専用コンピューティングハードウェアを用いて実装することもできる。例えば、開示する方法は、開示する方法のいずれかを実行するよう特別に設計又は構成された集積回路（例えば、ＡＳＩＣ（ＡＳＩＣデジタル信号プロセッサ（「ＤＳＰ」）等）、グラフィックス処理装置（「ＧＰＵ」）、又はフィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）等のプログラマブルロジックデバイス（「ＰＬＤ」）等）により実装することができる。
【００４３】
提示の目的上、詳細な説明では、コンピューティングシステムにおけるコンピュータオペレーションを説明するための「決定する」及び「使用する」のような用語が使用される。これらの用語は、コンピュータにより実行されるオペレーションの高レベル抽象表現であって、人間により実行される動作と混同すべきではない。これらの用語に対応する実際のコンピュータオペレーションは、実装に応じて変化する。
【００４４】
ＩＩ．例示的なネットワーク環境
図２ａ及び図２ｂは、ビデオエンコーダ（２２０）及びビデオデコーダ（２７０）を含む例示的なネットワーク環境（２０１、２０２）を示している。エンコーダ（２２０）及びデコーダ（２７０）は、適切な通信プロトコルを用いて、ネットワーク（２５０）を介して接続される。ネットワーク（２５０）は、インターネット又は別のコンピュータネットワークを含み得る。
【００４５】
図２ａに示されるネットワーク環境（２０１）において、各リアルタイム通信（「ＲＴＣ」）ツール（２１０）は、双方向通信のためのエンコーダ（２２０）及びデコーダ（２７０）の両方を含む。所与のエンコーダ（２２０）は、Ｈ．２６５／ＨＥＶＣ規格の変形又は拡張、ＳＭＰＴＥ  ４２１Ｍ規格、ＩＳＯ／ＩＥＣ  １４４９６−１０規格（Ｈ．２６４又はＡＶＣとしても知られている）、別の規格、又はプロプライエタリフォーマットに準拠する出力を生成することができ、対応するデコーダ（２７０）は、エンコーダ（２２０）からの符号化データを受け入れることができる。双方向通信は、ビデオ会議、ビデオ通話、又は他の２パーティ若しくはマルチパーティ通信シナリオの一部であり得る。図２ａのネットワーク環境（２０１）は、２つのリアルタイム通信ツール（２１０）を含むが、ネットワーク環境（２０１）は、マルチパーティ通信に参加する３以上のリアルタイム通信ツール（２１０）を含んでもよい。
【００４６】
リアルタイム通信ツール（２１０）は、エンコーダ（２２０）による符号化を管理する。図３は、リアルタイム通信ツール（２１０）に含まれ得る例示的なエンコーダシステム（３００）を示している。代替的に、リアルタイム通信ツール（２１０）は、別のエンコーダシステムを使用してもよい。リアルタイム通信ツール（２１０）はまた、デコーダ（２７０）による復号も管理する。図４は、リアルタイム通信ツール（２１０）に含まれ得る例示的なデコーダシステム（４００）を示している。代替的に、リアルタイム通信ツール（２１０）は、別のデコーダシステムを使用してもよい。
【００４７】
図２ｂに示されるネットワーク環境（２０２）において、符号化ツール（２１２）は、デコーダ（２７０）を含む複数の再生ツール（２１４）に配信するためのビデオを符号化するエンコーダ（２２０）を含む。単方向通信は、ビデオが符号化されて１つのロケーションから１以上の他のロケーションに送信される、ビデオ監視システム、ウェブカメラモニタリングシステム、スクリーンキャプチャモジュール、リモートデスクトップ会議プレゼンテーション、又は他のシナリオのために提供され得る。図２ｂのネットワーク環境（２０２）は、２つの再生ツール（２１４）を含むが、ネットワーク環境（２０２）は、それより多い又はそれより少ない再生ツール（２１４）を含んでもよい。一般に、再生ツール（２１４）は、再生ツール（２１４）が受信するビデオのストリームを判定するために、符号化ツール（２１２）と通信する。再生ツール（２１４）は、ストリームを受信し、受信した符号化データを適切な期間の間バッファし、復号及び再生を開始する。
【００４８】
図３は、符号化ツール（２１２）に含まれ得る例示的なエンコーダシステム（３００）を示している。代替的に、符号化ツール（２１２）は、別のエンコーダシステムを使用してもよい。符号化ツール（２１２）はまた、１以上の再生ツール（２１４）との接続を管理するためのサーバサイドコントローラロジックも含み得る。図４は、再生ツール（２１４）に含まれ得る例示的なデコーダシステム（４００）を示している。代替的に、再生ツール（２１４）は、別のデコーダシステムを使用してもよい。再生ツール（２１４）はまた、符号化ツール（２１２）との接続を管理するためのクライアントサイドコントローラロジックも含み得る。
【００４９】
ＩＩＩ．例示的なエンコーダシステム
図３は、いくつかの説明する実施形態を協働して実装することができる例示的なエンコーダシステム（３００）のブロック図である。エンコーダシステム（３００）は、リアルタイム通信のための低遅延符号化モード、トランスコーディングモード、及びファイル又はストリームからの再生のためのメディアを生成するためのより高遅延の符号化モード等の複数の符号化モードのうちのいずれかで動作することができる汎用符号化ツールであってもよいし、そのような１つの符号化モードのために適合された専用符号化ツールであってもよい。エンコーダシステム（３００）は、特定のタイプのコンテンツ（例えば、スクリーンキャプチャコンテンツ）を符号化するよう適合されてもよいし、複数の異なるタイプのコンテンツ（例えば、スクリーンキャプチャコンテンツ及び自然ビデオ）のうちの任意のコンテンツを符号化するよう適合されてもよい。エンコーダシステム（３００）は、オペレーティングシステムモジュールとして、アプリケーションライブラリの一部として、又はスタンドアロンアプリケーションとして、実装することができる。概して、エンコーダシステム（３００）は、ビデオソース（３１０）から、一連のソースビデオフレーム（３１１）を受信し、チャネル（３９０）への出力として符号化データを生成する。チャネルに出力される符号化データは、色空間、色サンプリングレート、及び／又は色深度の適応切り替えにより符号化されたコンテンツを含み得る。
【００５０】
ビデオソース（３１０）は、カメラ、チューナカード、記憶媒体、スクリーンキャプチャモジュール、又は他のデジタルビデオソースとすることができる。ビデオソース（３１０）は、例えば、毎秒３０フレームといったフレームレートで一連のビデオフレームを生成する。本明細書で使用されるとき、「フレーム」という用語は、一般に、ソースの符号化又は再構成された画像データを指す。プログレッシブスキャンビデオに関して、フレームは、プログレッシブスキャンビデオフレームである。インターレースビデオに関して、例示的な実施形態において、インターレースビデオフレームは、符号化の前にインターレース解除され得る（de-interlaced）。代替的に、２つの相補的インターレースビデオフィールドが、１つのビデオフレームとして一緒に符号化されてもよいし、２つの別々に符号化されるフィールドとして符号化されてもよい。プログレッシブスキャンビデオフレーム又はインターレーススキャンビデオフレームを示すかは別にして、「フレーム」又は「ピクチャ」という用語は、単一の対でないビデオフィールド、相補的な一対のビデオフィールド、所与の時間におけるビデオオブジェクトを表すビデオオブジェクトプレーン、又はより大きな画像における関心領域を示し得る。ビデオオブジェクトプレーン又は領域は、シーンの複数のオブジェクト又は領域を含むより大きな画像の一部であり得る。
【００５１】
到着ソースフレーム（３１１）は、複数のフレームバッファ記憶領域（３２１、３２２、．．．、３２ｎ）を含むソースフレーム一時メモリ記憶領域（３２０）に記憶される。フレームバッファ（３２１、３２２等）は、ソースフレーム記憶領域（３２０）内で１つのソースフレームを保持する。ソースフレーム（３１１）のうちの１以上がフレームバッファ（３２１、３２２等）に記憶された後、フレームセレクタ（３３０）が、ソースフレーム記憶領域（３２０）から個々のソースフレームを選択する。エンコーダ（３４０）への入力のためにフレームセレクタ（３３０）によりフレームが選択される順番は、ビデオソース（３１０）によりフレームが生成される順番とは異なり得る。例えば、いくつかの後続フレームが最初に符号化され、これにより、時間的後方予測を容易にすることを可能にするために、いくつかのフレームの符号化は、順に遅延されることがある。エンコーダ（３４０）の前に、エンコーダシステム（３００）は、符号化の前に選択されたフレーム（３３１）の前処理（例えば、フィルタリング）を実行するプリプロセッサ（図示せず）を含み得る。
【００５２】
エンコーダ（３４０）は、選択されたフレーム（３３１）を符号化して、符号化フレーム（３４１）を生成するとともに、メモリ管理制御操作（「ＭＭＣＯ」）信号（３４２）又は参照ピクチャセット（「ＲＰＳ」）情報を生成する。ＲＰＳは、現フレーム又は任意の後続フレームのための動き補償における参照のために使用され得るフレームのセットである。現フレームが、符号化された最初のフレームではない場合、符号化プロセスを実行するとき、エンコーダ（３４０）は、復号フレーム一時メモリ記憶領域（３６０）に記憶されている１以上の以前に符号化／復号されたフレーム（３６９）を使用することができる。そのような記憶されている復号フレーム（３６９）は、現ソースフレーム（３３１）のコンテンツのインターフレーム予測のための参照フレームとして使用される。ＭＭＣＯ／ＲＰＳ情報（３４２）は、どの再構成フレームが、参照フレームとして使用され得るかを、したがって、フレーム記憶領域に記憶されるべきかを、デコーダに示す。
【００５３】
エンコーダ（３４０）は、特定の色空間（例えば、ＹＵＶタイプの色空間、ＲＧＢタイプの色空間）におけるビデオであって、特定の色サンプリングレート（例えば、４：４：４）であり１サンプル当たり特定のビット数（例えば、１サンプル当たり１２ビット）のビデオを受け入れる。符号化中、異なるピクチャ、スライス、ブロック、又はビデオの他のユニットについて、エンコーダ（３４０）は、色空間変換を実行して、ＹＵＶタイプの色空間とＲＧＢタイプの色空間との間で、又は、何らかの他の色空間へ／から、変換することができる。エンコーダ（３４０）はまた、色空間変換を実行して、色成分を並べ替え、どの色成分がプライマリ成分であるかを変更することができる（例えば、ＲＧＢフォーマットとＢＧＲフォーマットとＧＢＲフォーマットとの間で変換することができる）。符号化中、エンコーダ（３４０）はまた、再サンプリング処理を実行して、異なるピクチャ、スライス、ブロック、又はビデオの他のユニットについて、色サンプリングレートを（例えば、４：４：４フォーマットと４：２：２フォーマットと４：２：０フォーマットとの間で）変更することができる。エンコーダ（３４０）はまた、符号化中、異なるピクチャ、スライス、ブロック、又はビデオの他のユニットについて、色深度を（例えば、１サンプル当たり１２ビットと１サンプル当たり１０ビットと１サンプル当たり８ビットとの間で）変更することができる。いくつかの例示的な実装において、エンコーダ（３４０）は、符号化中、ピクチャごとに、色空間、色サンプリングレート、及び／又は色深度を切り替えることができる。
【００５４】
一般に、エンコーダ（３４０）は、タイルへの分割、色空間、色サンプリングレート、及び／又は色深度の適応、イントラ予測推定及び予測、動き推定及び動き補償、周波数変換、量子化、並びにエントロピ符号化等の符号化タスクを実行する複数の符号化モジュールを含む。エンコーダ（３４０）により実行される正確なオペレーションは、圧縮フォーマットに応じて変わり得る。出力される符号化データのフォーマットは、Ｈ．２６５／ＨＥＶＣフォーマットの変形又は拡張、Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ｖｉｄｅｏフォーマット、ＶＣ−１フォーマット、ＭＰＥＧ−ｘフォーマット（例えば、ＭＰＥＧ−１、ＭＰＥＧ−２、又はＭＰＥＧ−４）、Ｈ．２６ｘフォーマット（例えば、Ｈ．２６１、Ｈ．２６２、Ｈ．２６３、Ｈ．２６４）、又は別のフォーマットであり得る。
【００５５】
エンコーダ（３４０）は、フレームを、同じサイズ又は異なるサイズの複数のタイルに分割することができる。例えば、エンコーダ（３４０）は、フレーム境界を用いてフレーム内のタイルの水平境界及び垂直境界を規定するタイル行及びタイル列に沿って、フレームを分割する。ここで、各タイルは矩形領域である。タイルは、並列処理のためのオプションを提供するために、しばしば使用される。フレームはまた、１以上のスライスとして編成され得る。ここで、スライスは、フレーム全体又はフレームの一領域であり得る。スライスは、フレーム内の他のスライスとは独立して復号することができ、これは、誤り耐性を向上させる。スライス又はタイルのコンテンツは、符号化及び復号のために、ブロック又はサンプル値の他のセットにさらに分割される。いくつかの例示的な実装において、エンコーダ（３４０）は、符号化中、スライスごとに、色空間、色サンプリングレート、及び／又は色深度を切り替えることができる。
【００５６】
Ｈ．２６５／ＨＥＶＣ規格に従ったシンタックスに関して、エンコーダは、フレーム（又はスライス若しくはタイル）のコンテンツを、符号化ツリーユニットに分割する。符号化ツリーユニット（「ＣＴＵ」）は、１つのルマ符号化ツリーブロック（「ＣＴＢ」）として編成されるルマサンプル値と、２つのクロマＣＴＢとして編成される対応するクロマサンプル値と、を含む。ＣＴＵ（及びそのＣＴＢ）のサイズは、エンコーダにより選択され、例えば、６４×６４サンプル値、３２×３２サンプル値、又は１６×１６サンプル値であり得る。ＣＴＵは、１以上の符号化ユニットを含む。符号化ユニット（「ＣＵ」）は、１つのルマ符号化ブロック（「ＣＢ」）と２つの対応するクロマＣＢとを有する。例えば、１つの６４×６４ルマＣＴＢと２つの６４×６４クロマＣＴＢとを有するＣＴＵ（ＹＵＶ４：４：４フォーマット）は、４つのＣＵに分割され得る。ここで、各ＣＵは、１つの３２×３２ルマＣＢと２つの３２×３２クロマＣＢとを含み、各ＣＵは、可能であれば、より小さなＣＵにさらに分割される。あるいは、別の例として、１つの６４×６４ルマＣＴＢと２つの３２×３２クロマＣＴＢとを有するＣＴＵ（ＹＵＶ４：２：０フォーマット）は、４つのＣＵに分割され得る。ここで、各ＣＵは、１つの３２×３２ルマＣＢと２つの１６×１６クロマＣＢとを含み、各ＣＵは、可能であれば、より小さなＣＵにさらに分割される。ＣＵの最小許容可能サイズ（例えば、８×８、１６×１６）が、ビットストリームに含められてシグナリングされ得る。
【００５７】
一般に、ＣＵは、インター又はイントラ等の予測モードを有する。ＣＵは、予測情報（例えば、予測モード詳細、変位値等）のシグナリング及び／又は予測処理のために、１以上の予測ユニットを含む。予測ユニット（「ＰＵ」）は、１つのルマ予測ブロック（「ＰＢ」）と２つのクロマＰＢとを有する。イントラ予測ＣＵに関して、ＣＵが最小サイズ（例えば、８×８）を有する場合を除いて、ＰＵは、ＣＵと同じサイズを有する。この場合、ＣＵは、４つのより小さなＰＵ（例えば、最小ＣＵサイズが８×８である場合、それぞれ４×４である）に分割され得る、あるいは、ＰＵは、ＣＵについてのシンタックス要素により示される最小ＣＵサイズを有し得る。ＣＵはまた、残差符号化／復号のために、１以上の変換ユニットを有する。ここで、変換ユニット（「ＴＵ」）は、１つのルマ変換ブロック（「ＴＢ」）と２つのクロマＴＢとを有する。イントラ予測ＣＵ内のＰＵは、１つのＴＵ（ＰＵとサイズが等しい）又は複数のＴＵを含み得る。エンコーダは、ビデオをＣＴＵ、ＣＵ、ＰＵ、ＴＵ等にどのように分割するかを決定する。
【００５８】
Ｈ．２６５／ＨＥＶＣ実装において、スライスは、１つのスライスセグメント（独立スライスセグメント）を含み得る、又は、複数のスライスセグメント（１つの独立スライスセグメント及び１以上の従属スライスセグメント）に分割され得る。スライスセグメントは、１つのネットワーク抽象化レイヤ（「ＮＡＬ」）ユニットに含まれる、タイルスキャンにおいて連続して順番付けられる整数個のＣＴＵである。独立スライスセグメントに関して、スライスセグメントヘッダは、独立スライスセグメントについて適用されるシンタックス要素の値を含む。従属スライスセグメントに関して、短（truncated）スライスセグメントヘッダは、その従属スライスセグメントについて適用されるシンタックス要素の少しの値を含み、その従属スライスセグメントについての他のシンタックス要素の値は、復号順で先行する独立スライスセグメントについての値から推測される。
【００５９】
本明細書で使用されるとき、「ブロック」という用語は、文脈に応じて、マクロブロック、予測ユニット、残差データユニット、すなわち、ＣＢ、ＰＢ、若しくはＴＢ、又は、サンプル値の何らかの他のセットを示し得る。いくつかの例示的な実装において、エンコーダ（３４０）は、符号化中、ブロックごとに、色空間、色サンプリングレート、及び／又は色深度を切り替えることができる。
【００６０】
図３に戻ると、エンコーダは、ソースフレーム（３３１）内の他の以前に再構成されたサンプル値からの予測の観点でそのソースフレーム（３３１）のイントラ符号化ブロックを表現する。イントラブロックコピー（「ＢＣ」）予測に関して、イントラピクチャ推定部が、他の以前に再構成されたサンプル値に対するブロックの変位を推定する。イントラフレーム予測参照領域とは、ブロックのためのＢＣ予測値を生成するために使用される、フレーム内のサンプル値の領域である。イントラフレーム予測領域は、（ブロックベクトル（「ＢＶ」）推定において決定された）ＢＶ値により示され得る。ブロックのためのイントラ空間予測に関して、イントラピクチャ推定部が、ブロックへの、隣接する再構成されたサンプル値の外挿（extrapolation）を推定する。イントラピクチャ推定部は、予測情報（イントラＢＣ予測のためのＢＶ値やイントラ空間予測のための予測モード（方向）等）を出力することができ、この予測情報が、エントロピ符号化される。イントラフレーム予測予測部は、イントラ予測値を決定するために、予測情報を適用する。
【００６１】
エンコーダ（３４０）は、参照フレームからの予測の観点でソースフレーム（３３１）のインターフレーム符号化予測ブロックを表現する。動き推定部は、１以上の参照フレーム（３６９）に対するブロックの動きを推定する。複数の参照フレームが使用される場合、複数の参照フレームは、異なる時間的方向からのものであってもよいし、同じ時間的方向からのものであってもよい。動き補償予測参照領域とは、現フレームのブロックのサンプル値のための動き補償予測値を生成するために使用される、１以上の参照フレーム内のサンプル値の領域である。動き推定部は、動きベクトル（「ＭＶ」）情報等の動き情報を出力し、この動き情報が、エントロピ符号化される。動き補償部は、インターフレーム予測のための動き補償予測値を決定するために、ＭＶを参照フレーム（３６９）に適用する。
【００６２】
エンコーダは、ブロックの予測値（イントラ又はインター）と対応するオリジナルの値との間の差（あれば）を決定することができる。このような予測残差値が、周波数変換、量子化、及びエントロピ符号化を用いて、さらに符号化される。例えば、エンコーダ（３４０）は、ピクチャ、タイル、スライス、及び／又はビデオの他の部分のための量子化パラメータ（「ＱＰ」）の値を設定し、それに従って変換係数を量子化する。エンコーダ（３４０）のエントロピ符号化部が、量子化された変換係数値に加えて、所定のサイド情報（例えば、ＭＶ情報、ＢＶ予測因子のインデックス値、ＢＶ差分、ＱＰ値、モード決定、パラメータ選択）も圧縮する。一般的なエントロピ符号化技術は、指数ゴロム符号化、ゴロムライス符号化、算術符号化、差分符号化、ハフマン符号化、ランレングス符号化、「Ｖ２Ｖ（variable-length-to-variable-length）」符号化、「Ｖ２Ｆ（variable-length-to-fixed-length）」符号化、「ＬＺ（Lempel-Ziv）」符号化、辞書符号化、「ＰＩＰＥ（probability  interval  partitioning  entropy）」符号化、及びこれらの組合せを含む。エントロピ符号化部は、様々な種類の情報のための様々な符号化技術を使用することができ、複数の技術を組み合わせて適用することができ（例えば、ゴロムライス符号化を適用した後に算術符号化を適用することにより）、特定の符号化技術における複数の符号テーブルの中から選択することができる。
【００６３】
復号フレーム内のブロック境界行及び／又はブロック境界列にわたる不連続さを平滑化するために、適応デブロッキングフィルタが、エンコーダ（３４０）における動き補償ループ内に含まれる。代替的又は追加的に、他のフィルタリング（デリンギングフィルタリング、適応ループフィルタリング（「ＡＬＦ」）、又はサンプル適応オフセット（「ＳＡＯ」）フィルタリング等；図示せず）が、ループ内フィルタリングオペレーションとして、適用されてもよい。
【００６４】
エンコーダ（３４０）により生成された符号化データは、ビットストリームシンタックスの様々なレイヤについてのシンタックス要素を含む。Ｈ．２６５／ＨＥＶＣ規格に従ったシンタックスに関して、例えば、ピクチャパラメータセット（「ＰＰＳ」）は、ピクチャに関連付けられ得るシンタックス要素を含むシンタックス構造である。いくつかの例示的な実装において、ＰＰＳは、１つのピクチャ（又は、ＰＰＳを使用する複数のピクチャ）について適用される色空間、色サンプリングレート、及び／又は色深度を示す１以上の信号に加えて、利用可能な色空間、利用可能な色サンプリングレート、及び／又は利用可能な色深度を識別又は規定する他の情報を含み得る。ＰＰＳは、１つのピクチャについて使用されることもあるし、ＰＰＳは、シーケンス内の複数のピクチャについて再使用されることもある。ＰＰＳは、通常、ピクチャについての符号化データとは別にシグナリングされる（例えば、１つのＮＡＬユニットは、ＰＰＳ用であり、１以上の他のＮＡＬユニットは、ピクチャについての符号化データ用である）。ピクチャについての符号化データにおいて、シンタックス要素は、ピクチャについてどのＰＰＳを使用するかを示す。同様に、Ｈ．２６５／ＨＥＶＣ規格に従ったシンタックスに関して、シーケンスパラメータセット（「ＳＰＳ」）は、ピクチャのシーケンスに関連付けられ得るシンタックス要素を含むシンタックス構造である。ビットストリームは、１つのＳＰＳ又は複数のＳＰＳを含み得る。ＳＰＳは、通常、シーケンスについての他のデータとは別にシグナリングされ、他のデータにおけるシンタックス要素が、どのＳＰＳを使用するかを示す。いくつかの例示的な実装において、シーケンスについてのＳＰＳは、利用可能な色空間、利用可能な色サンプリングレート、及び／又は利用可能な色深度を識別又は規定する情報を含み得、これが、シーケンス内で、色空間、色サンプリングレート、及び／又は色深度を切り替えるときに、参照される。
【００６５】
スライスレイヤに関して、スライスヘッダ（例えば、スライスセグメントヘッダ）は、スライス（例えば、独立スライスセグメント及びそれに続くあらゆる従属スライスセグメント）について適用されるシンタックス要素の値を含む。いくつかの例示的な実装において、スライスヘッダは、スライスについて適用される色空間、色サンプリングレート、及び／又は色深度を示す１以上の信号を含み得る。いくつかの例示的な実装において、スライスヘッダはまた、利用可能な色空間、利用可能な色サンプリングレート、及び／又は利用可能な色深度を識別又は規定する情報を含み得、これが、スライス内で、色空間、色サンプリングレート、及び／又は色深度を切り替えるときに、参照される。ブロックレイヤに関して（例えば、ＣＴＵに関して）、シンタックス構造は、ブロックについて適用されるシンタックス要素の値を含む。いくつかの例示的な実装において、ブロックについてのシンタックス構造は、ブロックについて適用される色空間、色サンプリングレート、及び／又は色深度を示す１以上の信号を含み得る。
【００６６】
符号化フレーム（３４１）及びＭＭＣＯ／ＲＰＳ情報（３４２）（又は、フレームについての依存関係及び順番構造がエンコーダ（３４０）において既に知られているため、ＭＭＣＯ／ＲＰＳ情報（３４２）と同等の情報）が、復号プロセスエミュレータ（３５０）により処理される。復号プロセスエミュレータ（３５０）は、例えば、参照フレームを再構成する復号タスク等のデコーダの機能の一部を実装している。復号プロセスエミュレータ（３５０）は、ＭＭＣＯ／ＲＰＳ情報（３４２）と整合するように、所与の符号化フレーム（３４１）が、符号化される後続フレームのインターフレーム予測において参照フレームとして使用するために再構成されて記憶される必要があるかどうかを判定する。符号化フレーム（３４１）が記憶される必要がある場合、復号プロセスエミュレータ（３５０）は、符号化フレーム（３４１）を受信して対応する復号フレーム（３５１）を生成するデコーダにより行われるであろう復号プロセスを模擬する。そうする際に、エンコーダ（３４０）が、復号フレーム記憶領域（３６０）に記憶されている１以上の復号フレーム（３６９）を使用したとき、復号プロセスエミュレータ（３５０）は、復号プロセスの一部として、記憶領域（３６０）から１以上の復号フレーム（３６９）を使用する。
【００６７】
復号フレーム一時メモリ記憶領域（３６０）は、複数のフレームバッファ記憶領域（３６１、３６２、．．．、３６ｎ）を含む。復号プロセスエミュレータ（３５０）は、ＭＭＣＯ／ＲＰＳ情報（３４２）と整合するように、参照フレームとして使用するためにエンコーダ（３４０）によりもはや必要とされなくなったフレームを有する任意のフレームバッファ（３６１、３６２等）を識別するために、記憶領域（３６０）のコンテンツを管理する。復号プロセスを模擬した後、復号プロセスエミュレータ（３５０）は、このように識別されるフレームバッファ（３６１、３６２等）に、新たに復号されたフレーム（３５１）を記憶する。
【００６８】
符号化フレーム（３４１）及びＭＭＣＯ／ＲＰＳ情報（３４２）は、一時符号化データ領域（３７０）にバッファされる。符号化データ領域（３７０）に収集される符号化データは、エレメンタリ符号化ビデオビットストリームのシンタックスの一部として、１以上のピクチャの符号化データを含む。符号化データ領域（３７０）に収集される符号化データはまた、（例えば、１以上の付加拡張情報（「ＳＥＩ」）メッセージ又はビデオユーザビリティ情報（「ＶＵＩ」）メッセージにおける１以上のパラメータとして、）符号化ビデオデータに関連するメディアメタデータを含み得る。
【００６９】
一時符号化データ領域（３７０）からの収集されたデータ（３７１）は、チャネルエンコーダ（３８０）により処理される。チャネルエンコーダ（３８０）は、（例えば、ＩＴＵ−Ｔ  Ｈ．２２２．０｜ＩＳＯ／ＩＥＣ  １３８１８−１等のメディアプログラムストリーム若しくはトランスポートストリームフォーマット、又は、ＩＥＴＦ  ＲＦＣ  ３５５０等のインターネットリアルタイムトランスポートプロトコルフォーマットに従って）メディアストリームとして伝送又は記憶するために、収集されたデータをパケット化及び／又は多重化することができる。そのような場合、チャネルエンコーダ（３８０）は、メディア伝送ストリームのシンタックスの一部として、シンタックス要素を付加することができる。あるいは、チャネルエンコーダ（３８０）は、（例えば、ＩＳＯ／ＩＥＣ  １４４９６−１２等のメディアコンテナフォーマットに従って）ファイルとして記憶するために、収集されたデータを編成することができる。そのような場合、チャネルエンコーダ（３８０）は、メディア記憶ファイルのシンタックスの一部として、シンタックス要素を付加することができる。あるいは、より一般的に、チャネルエンコーダ（３８０）は、１以上のメディアシステム多重化プロトコル又はトランスポートプロトコルを実装することができる。そのような場合、チャネルエンコーダ（３８０）は、１以上のプロトコルのシンタックスの一部として、シンタックス要素を付加することができる。チャネルエンコーダ（３８０）は、チャネル（３９０）への出力を提供する。チャネル（３９０）は、ストレージ、通信接続、又は出力のための別のチャネルを表す。チャネルエンコーダ（３８０）又はチャネル（３９０）はまた、例えば、前方誤り訂正（「ＦＥＣ」）符号化及びアナログ信号変調のための他の要素（図示せず）を含み得る。
【００７０】
ＩＶ．例示的なデコーダシステム
図４は、いくつかの説明する実施形態を協働して実装することができる例示的なデコーダシステム（４００）のブロック図である。デコーダシステム（４００）は、リアルタイム通信のための低遅延復号モード及びファイル又はストリームからのメディア再生のためのより高遅延の復号モード等の複数の復号モードのうちのいずれかで動作することができる汎用復号ツールであってもよいし、そのような１つの復号モードのために適合された専用復号ツールであってもよい。デコーダシステム（４００）は、特定のタイプのコンテンツ（例えば、スクリーンキャプチャコンテンツ）を復号するよう適合されてもよいし、複数の異なるタイプのコンテンツ（例えば、スクリーンキャプチャコンテンツ及び自然ビデオ）のうちの任意のコンテンツを復号するよう適合されてもよい。デコーダシステム（４００）は、オペレーティングシステムモジュールとして、アプリケーションライブラリの一部として、又はスタンドアロンアプリケーションとして、実装することができる。概して、デコーダシステム（４００）は、チャネル（４１０）から符号化データを受信し、出力先（４９０）への出力として再構成フレームを生成する。符号化データは、色空間、色サンプリングレート、及び／又は色深度の適応切り替えにより符号化されたコンテンツを含み得る。
【００７１】
デコーダシステム（４００）は、ストレージ、通信接続、又は入力としての符号化データのための別のチャネルを表し得るチャネル（４１０）を含む。チャネル（４１０）は、チャネル符号化された符号化データを生成する。チャネルデコーダ（４２０）は、符号化データを処理することができる。例えば、チャネルデコーダ（４２０）は、（例えば、ＩＴＵ−Ｔ  Ｈ．２２２．０｜ＩＳＯ／ＩＥＣ  １３８１８−１等のメディアプログラムストリーム若しくはトランスポートストリームフォーマット、又は、ＩＥＴＦ  ＲＦＣ  ３５５０等のインターネットリアルタイムトランスポートプロトコルフォーマットに従って）メディアストリームとして伝送又は記憶するために収集されたデータを逆パケット化及び／又は逆多重化する。そのような場合、チャネルデコーダ（４２０）は、メディア伝送ストリームのシンタックスの一部として付加されたシンタックス要素を解析することができる。あるいは、チャネルデコーダ（４２０）は、（例えば、ＩＳＯ／ＩＥＣ  １４４９６−１２等のメディアコンテナフォーマットに従って）ファイルとして記憶するために収集された符号化ビデオデータを分離する。そのような場合、チャネルデコーダ（４２０）は、メディア記憶ファイルのシンタックスの一部として付加されたシンタックス要素を解析することができる。あるいは、より一般的に、チャネルデコーダ（４２０）は、１以上のメディアシステム逆多重化プロトコル又はトランスポートプロトコルを実装することができる。そのような場合、チャネルデコーダ（４２０）は、１以上のプロトコルのシンタックスの一部として付加されたシンタックス要素を解析することができる。チャネル（４１０）又はチャネルデコーダ（４２０）はまた、例えば、ＦＥＣ復号及びアナログ信号復調のための他の要素（図示せず）を含み得る。
【００７２】
十分な量のデータが受信されるまで、チャネルデコーダ（４２０）から出力される符号化データ（４２１）は、一時符号化データ領域（４３０）に記憶される。符号化データ（４２１）は、符号化フレーム（４３１）及びＭＭＣＯ／ＲＰＳ情報（４３２）を含む。符号化データ領域（４３０）内の符号化データ（４２１）は、エレメンタリ符号化ビデオビットストリームのシンタックスの一部として、１以上のピクチャの符号化データを含む。符号化データ領域（４３０）内の符号化データ（４２１）はまた、（例えば、１以上のＳＥＩメッセージ又はＶＵＩメッセージにおける１以上のパラメータとして、）符号化ビデオデータに関連するメディアメタデータを含み得る。
【００７３】
一般に、符号化データ（４２１）がデコーダ（４５０）により使用されるまで、符号化データ領域（４３０）は、そのような符号化データ（４２１）を一時的に記憶する。その時点で、符号化フレーム（４３１）及びＭＭＣＯ／ＲＰＳ情報（４３２）の符号化データが、符号化データ領域（４３０）からデコーダ（４５０）に伝送される。復号が進むにつれ、新たな符号化データが、符号化データ領域（４３０）に追加され、符号化データ領域（４３０）に残っている最も古い符号化データが、デコーダ（４５０）に伝送される。
【００７４】
デコーダ（４５０）は、符号化フレーム（４３１）を復号して、対応する復号フレーム（４５１）を生成する。必要に応じて、復号プロセスを実行するとき、デコーダ（４５０）は、インターフレーム予測のための参照フレームとして、１以上の以前に復号されたフレーム（４６９）を使用することができる。デコーダ（４５０）は、復号フレーム一時メモリ記憶領域（４６０）から、そのような以前に復号されたフレーム（４６９）を読み出す。
【００７５】
復号中、異なるピクチャ、スライス、ブロック、又はビデオの他のユニットについて、デコーダ（４５０）は、色空間変換を実行して、ＹＵＶタイプの色空間とＲＧＢタイプの色空間との間で、又は、何らかの他の色空間へ／から、変換することができる。デコーダ（４５０）はまた、色空間変換を実行して、異なるピクチャ、スライス、ブロック、又はビデオの他のユニットについて、色成分を並べ替え、どの色成分がプライマリ成分であるかを変更することができる（例えば、ＲＧＢフォーマットとＢＧＲフォーマットとＧＢＲフォーマットとの間で変換することができる）。復号中、デコーダ（４５０）はまた、再サンプリング処理を実行して、異なるピクチャ、スライス、ブロック、又はビデオの他のユニットについて、色サンプリングレート及び／又は色深度を変更することができる。いくつかの例示的な実装において、デコーダ（４５０）は、復号中、ピクチャごとに、色空間、色サンプリングレート、及び／又は色深度を切り替えることができる。代替的に、デコーダ（４５０）は、復号中、スライスごとに又はブロックごとに、色空間、色サンプリングレート、及び／又は色深度を切り替えてもよい。
【００７６】
一般に、デコーダ（４５０）は、エントロピ復号、色空間、色サンプリングレート、及び／又は色深度の適応、イントラフレーム予測、動き補償インターフレーム予測、逆量子化、逆周波数変換、及びタイルのマージ等の復号タスクを実行する複数の復号モジュールを含む。デコーダ（４５０）により実行される正確なオペレーションは、圧縮フォーマットに応じて変わり得る。
【００７７】
例えば、デコーダ（４５０）は、圧縮フレーム又は一連のフレームの符号化データを受信し、復号フレーム（４５１）を含む出力を生成する。デコーダ（４５０）において、バッファは、圧縮フレームの符号化データを受け入れ、適切な時間に、受け入れた符号化データをエントロピ復号部に利用可能にする。エントロピ復号部は、通常はエンコーダにおいて実行されたエントロピ符号化の逆を適用することにより、エントロピ符号化された量子化されたデータに加えて、エントロピ符号化されたサイド情報もエントロピ復号する。動き補償部は、再構成されているフレームのインター符号化ブロックの動き補償予測値を形成するために、動き情報を１以上の参照フレームに適用する。イントラフレーム予測モジュールは、隣接する以前に再構成されたサンプル値から、現ブロックのサンプル値を空間的に予測することができる、又は、イントラＢＣ予測に関して、フレーム内のイントラフレーム予測参照領域の以前に再構成されたサンプル値を使用して、現ブロックのサンプル値を予測することができる。この参照領域は、ＢＶ値により示され得る。デコーダ（４５０）はまた、予測残差値を再構成する。逆量子化部は、エントロピ復号されたデータを逆量子化する。例えば、デコーダ（４５０）は、ビットストリームにおけるシンタックス要素に基づいて、ピクチャ、タイル、スライス、及び／又はビデオの他の部分のためのＱＰの値を設定し、それに従って変換係数を逆量子化する。逆周波数変換部は、量子化された周波数領域データを空間領域データに変換する。インターフレーム予測ブロックに関して、デコーダ（４５０）は、再構成された予測残差値を動き補償予測値と結合する。デコーダ（４５０）は、同様に、予測残差値を、イントラ予測からの予測値と結合することができる。復号フレーム（４５１）内のブロック境界行及び／又はブロック境界列にわたる不連続さを平滑化するために、適応デブロッキングフィルタが、ビデオデコーダ（４５０）における動き補償ループ内に含まれる。代替的又は追加的に、他のフィルタリング（デリンギングフィルタリング、ＡＬＦ、又はＳＡＯフィルタリング等；図示せず）が、ループ内フィルタリングオペレーションとして、適用されてもよい。
【００７８】
復号フレーム一時メモリ記憶領域（４６０）は、複数のフレームバッファ記憶領域（４６１、４６２、．．．、４６ｎ）を含む。復号フレーム記憶領域（４６０）は、復号ピクチャバッファの一例である。デコーダ（４５０）は、ＭＭＣＯ／ＲＰＳ情報（４３２）を使用して、復号フレーム（４５１）を記憶することができるフレームバッファ（４６１、４６２等）を識別する。デコーダ（４５０）は、そのフレームバッファに復号フレーム（４５１）を記憶する。
【００７９】
出力シーケンサ（４８０）は、出力順で生成される次のフレームが復号フレーム記憶領域（４６０）内で利用可能になるときを識別する。出力順で生成される次のフレーム（４８１）が、復号フレーム記憶領域（４６０）内で利用可能になったとき、そのフレームが、出力シーケンサ（４８０）により読み出され、出力先（４９０）（例えば、ディスプレイ）に出力される。一般に、復号フレーム記憶領域（４６０）から出力シーケンサ（４８０）によりフレームが出力される順番は、デコーダ（４５０）によりフレームが復号される順番とは異なり得る。
【００８０】
Ｖ．例示的なビデオエンコーダ
図５ａ及び図５ｂは、いくつかの説明する実施形態を協働して実装することができる一般化されたビデオエンコーダ（５００）のブロック図である。エンコーダ（５００）は、現ピクチャを含む一連のビデオピクチャを、入力ビデオ信号（５０５）として受信し、符号化ビデオビットストリーム（５９５）内の符号化データを、出力として生成する。
【００８１】
エンコーダ（５００）は、ブロックベースであり、実装に依存するブロックフォーマットを使用する。ブロックは、例えば、予測段階、周波数変換段階、及び／又はエントロピ符号化段階において等の様々な段階において、さらに細分割され得る。例えば、ピクチャは、６４×６４ブロック、３２×３２ブロック、又は１６×１６ブロックに分割され得、今度は、それらのブロックが、符号化及び復号のために、サンプル値のより小さなブロックに分割され得る。Ｈ．２６５／ＨＥＶＣ規格のための符号化の実装において、エンコーダは、ピクチャを、ＣＴＵ（ＣＴＢ）、ＣＵ（ＣＢ）、ＰＵ（ＰＢ）、及びＴＵ（ＴＢ）に分割する。
【００８２】
エンコーダ（５００）は、イントラピクチャ符号化及び／又はインターピクチャ符号化を用いて、ピクチャを圧縮する。エンコーダ（５００）のコンポーネントの多くが、イントラピクチャ符号化及びインターピクチャ符号化の両方のために使用される。これらのコンポーネントにより実行される正確なオペレーションは、圧縮される情報のタイプに応じて変わり得る。
【００８３】
タイル化モジュール（５１０）は、任意的に、ピクチャを、同じサイズ又は異なるサイズの複数のタイルに分割する。例えば、タイル化モジュール（５１０）は、ピクチャ境界を用いてピクチャ内のタイルの水平境界及び垂直境界を規定するタイル行及びタイル列に沿って、ピクチャを分割する。ここで、各タイルは矩形領域である。Ｈ．２６５／ＨＥＶＣ実装において、エンコーダ（５００）は、ピクチャを１以上のスライスに分割する。ここで、各スライスは、１以上のスライスセグメントを含む。
【００８４】
一般符号化制御部（５２０）は、入力ビデオ信号（５０５）のピクチャに加えて、エンコーダ（５００）の様々なモジュールからのフィードバック（図示せず）を受信する。概して、一般符号化制御部（５２０）は、符号化中に符号化パラメータを設定及び変更するために、他のモジュール（タイル化モジュール（５１０）、変換部／スケーリング部／量子化部（５３０）、スケーリング部／逆変換部（５３５）、イントラピクチャ推定部（５４０）、動き推定部（５５０）、及びイントラ／インタースイッチ等）に制御信号（図示せず）を供給する。詳細には、一般符号化制御部（５２０）は、符号化中に、ピクチャごとに、スライスごとに、ブロックごとに、又は何らかの他の単位で、色空間、色サンプリングレート、及び／又は色深度をどのように適応的に切り替えるかを決定することができる。一般符号化制御部（５２０）はまた、符号化中に中間結果を評価することができる。一般符号化制御部（５２０）は、符号化中になされた決定を示す一般制御データ（５２２）を生成するので、対応するデコーダは、整合する決定を行うことができる。一般制御データ（５２２）は、ヘッダフォーマット化部／エントロピ符号化部（５９０）に提供される。
【００８５】
現ピクチャが、インターピクチャ予測を用いて予測される場合、動き推定部（５５０）は、１以上の参照ピクチャに対する、入力ビデオ信号（５０５）の現ピクチャのサンプル値のブロックの動きを推定する。復号ピクチャバッファ（５７０）は、参照ピクチャとして使用するために、１以上の以前に再構成された符号化ピクチャをバッファする。複数の参照ピクチャが使用される場合、複数の参照ピクチャは、異なる時間的方向からのものであってもよいし、同じ時間的方向からのものであってもよい。動き推定部（５５０）は、サイド情報として、ＭＶデータ等の動きデータ（５５２）、マージモードインデックス値、及び参照ピクチャ選択データを生成する。動きデータ（５５２）は、ヘッダフォーマット化部／エントロピ符号化部（５９０）及び動き補償部（５５５）に提供される。
【００８６】
動き補償部（５５５）は、復号ピクチャバッファ（５７０）からの１以上の再構成された参照ピクチャに、ＭＶを適用する。動き補償部（５５５）は、現ピクチャのための動き補償予測を生成する。ピクチャについてのセカンダリ成分が、プライマリ成分と同じ解像度を有する場合（例えば、フォーマットが、ＹＵＶ４：４：４フォーマット又はＲＧＢ４：４：４フォーマットである場合）、セカンダリ成分ブロックについて適用されるＭＶ値は、対応するプライマリ成分ブロックについて適用されるＭＶ値と同じであり得る。一方、ピクチャについてのセカンダリ成分が、プライマリ成分より低い解像度を有する場合（例えば、フォーマットが、ＹＵＶ４：２：０フォーマットである場合）、セカンダリ成分ブロックについて適用されるＭＶ値は、低減され、可能であれば、解像度における差を調整するために丸められ得る（例えば、ＭＶ値の垂直成分及び水平成分を２で除算して、それらを整数値に切り捨てる又は丸めることにより）。
【００８７】
エンコーダ（５００）内の分離パス（separate  path）において、イントラピクチャ推定部（５４０）は、入力ビデオ信号（５０５）の現ピクチャのサンプル値のブロックのためのイントラピクチャ予測をどのように実行するかを決定する。現ピクチャは、イントラピクチャ符号化を用いて、全体又は一部が符号化され得る。イントラ空間予測に関して、イントラピクチャ推定部（５４０）は、現ピクチャの再構成（５３８）の値を使用して、現ピクチャの隣接する以前に再構成されたサンプル値から、現ピクチャの現ブロックのサンプル値をどのように空間的に予測するかを決定する。あるいは、ＢＶ値を使用するイントラＢＣ予測に関して、イントラピクチャ推定部（５４０）は、現ピクチャ内の異なる候補参照領域への、現ブロックのサンプル値の変位を推定する。図５ｂにおいて、候補参照領域は、再構成されたサンプル値を含む。代替的に、ＢＶ推定のために、候補参照領域は、入力サンプル値を含んでもよい。
【００８８】
イントラピクチャ推定部（５４０）は、サイド情報として、イントラ予測が空間予測を使用するかイントラＢＣ予測を使用するかを示す情報（例えば、イントラブロックごとのフラグ値）、予測モード方向（イントラ空間予測に関して）、及びＢＶ値（イントラＢＣ予測に関して）等のイントラ予測データ（５４２）を生成する。イントラ予測データ（５４２）は、ヘッダフォーマット化部／エントロピ符号化部（５９０）及びイントラピクチャ予測部（５４５）に提供される。
【００８９】
イントラピクチャ予測部（５４５）は、イントラ予測データ（５４２）に従って、現ピクチャの隣接する以前に再構成されたサンプル値から、現ピクチャの現ブロックのサンプル値を空間的に予測する。あるいは、イントラＢＣ予測に関して、イントラピクチャ予測部（５４５）は、現ブロックのＢＶ値により示されるイントラピクチャ予測参照領域の以前に再構成されたサンプル値を使用して、現ブロックのサンプル値を予測する。いくつかの場合において、ＢＶ値は、ＢＶ予測因子（予測されたＢＶ値）であり得る。他の場合において、ＢＶ値は、その予測されたＢＶ値とは異なり得、このような場合、ＢＶ差分が、予測されるＢＶ値とＢＶ値との差を示す。ピクチャについてのセカンダリ成分が、プライマリ成分と同じ解像度を有する場合（例えば、フォーマットが、ＹＵＶ４：４：４フォーマット又はＲＧＢ４：４：４フォーマットである場合）、セカンダリ成分ブロックについて適用されるＢＶ値は、対応するプライマリ成分ブロックについて適用されるＢＶ値と同じであり得る。一方、ピクチャについてのセカンダリ成分が、プライマリ成分より低い解像度を有する場合（例えば、フォーマットが、ＹＵＶ４：２：０フォーマットである場合）、セカンダリ成分ブロックについて適用されるＢＶ値は、低減され、可能であれば、解像度における差を調整するために丸められ得る（例えば、ＢＶ値の垂直成分及び水平成分を２で除算して、それらを整数値に切り捨てる又は丸めることにより）。
【００９０】
イントラ／インタースイッチは、所与のブロックのための予測（５５８）が、動き補償予測であるか又はイントラピクチャ予測であるかを選択する。非スキップモードブロックに関して、予測（５５８）のブロックと、入力ビデオ信号（５０５）のオリジナルの現ピクチャの対応する部分と、の間の差（あれば）が、残差（５１８）の値を提供する。非スキップモードブロックに関して、現ピクチャの再構成中に、再構成された残差値が、予測（５５８）と結合されて、ビデオ信号（５０５）からのオリジナルのコンテンツのおおよその又は正確な再構成（５３８）が生成される。（損失圧縮（lossy  compression）では、いくつかの情報が、ビデオ信号（５０５）から失われる。）
【００９１】
変換部／スケーリング部／量子化部（５３０）において、周波数変換部は、空間領域ビデオ情報を周波数領域（すなわち、スペクトル変換）データに変換する。ブロックベースのビデオ符号化に関して、周波数変換部は、離散コサイン変換（「ＤＣＴ」）、その整数近似、又は別のタイプの順ブロック変換（例えば、離散サイン変換又はその整数近似）を予測残差データ（又は、予測（５５８）がヌルの場合にはサンプル値データ）のブロックに適用して、周波数変換係数のブロックを生成する。エンコーダ（５００）はまた、そのような変換ステップがスキップされることを指示することができる。スケーリング部／量子化部は、変換係数をスケーリングして量子化する。例えば、量子化部は、ピクチャごとに、タイルごとに、スライスごとに、ブロックごとに、周波数固有の単位で、又は他の単位で変わる量子化ステップサイズで、デッドゾーン（dead-zone）スカラ量子化を周波数領域データに適用する。量子化された変換係数データ（５３２）は、ヘッダフォーマット化部／エントロピ符号化部（５９０）に提供される。
【００９２】
スケーリング部／逆変換部（５３５）において、スケーリング部／逆量子化部は、量子化された変換係数に対して、逆スケーリング及び逆量子化を実行する。逆周波数変換部は、逆周波数変換を実行して、再構成された予測残差値又はサンプル値のブロックを生成する。非スキップモードブロックに関して、エンコーダ（５００）は、再構成された残差値を、予測（５５８）の値（例えば、動き補償予測値、イントラピクチャ予測値）と結合して、再構成（５３８）を生成する。スキップモードブロックに関して、エンコーダ（５００）は、再構成（５３８）として、予測（５５８）の値を使用する。
【００９３】
イントラピクチャ予測に関して、再構成（５３８）の値は、イントラピクチャ推定部（５４０）及びイントラピクチャ予測部（５４５）にフィードバックされ得る。また、再構成（５３８）の値は、後続ピクチャの動き補償予測のためにも使用され得る。再構成（５３８）の値は、さらにフィルタリングされ得る。フィルタリング制御部（５６０）は、ビデオ信号（５０５）の所与のピクチャについて、再構成（５３８）の値に対して、デブロックフィルタリング及びＳＡＯフィルタリングをどのように実行するかを決定する。フィルタリング制御部（５６０）は、フィルタリング制御データ（５６２）を生成する。フィルタリング制御データ（５６２）は、ヘッダフォーマット化部／エントロピ符号化部（５９０）及びマージ部／１以上のフィルタ（５６５）に提供される。
【００９４】
マージ部／１以上のフィルタ（５６５）において、エンコーダ（５００）は、異なるタイルからのコンテンツを、ピクチャの再構成バージョンにマージする。エンコーダ（５００）は、ピクチャ内の境界にわたる不連続さを適応的に平滑化するために、フィルタリング制御データ（５６２）に従って、デブロックフィルタリング及びＳＡＯフィルタリングを選択的に実行する。代替的又は追加的に、他のフィルタリング（デリンギングフィルタリング又はＡＬＦ等；図示せず）が、適用されてもよい。タイル境界は、エンコーダ（５００）の設定に応じて、選択的にフィルタリングされ得る又はフィルタリングされず、エンコーダ（５００）は、そのようなフィルタリングが適用されたか否かを示すシンタックスを、符号化ビットストリーム内に提供することができる。復号ピクチャバッファ（５７０）は、後続の動き補償予測において使用するために、再構成された現ピクチャをバッファする。
【００９５】
ヘッダフォーマット化部／エントロピ符号化部（５９０）は、一般制御データ（５２２）、量子化された変換係数データ（５３２）、イントラ予測データ（５４２）、動きデータ（５５２）、及びフィルタリング制御データ（５６２）をフォーマット化及び／又はエントロピ符号化する。一般制御データ（５２２）は、ピクチャ、スライス、ブロック、又はビデオの他のユニットについての色空間、色サンプリングレート、及び／又は色深度を示す信号を含む。そのような信号は、例えば、ＰＰＳ、スライスヘッダ、ブロックシンタックス構造、又は他のシンタックス構造に含められ得、固定長の値としてエントロピ符号化又はシグナリングされ得る。ヘッダフォーマット化部／エントロピ符号化部（５９０）はまた、利用可能な色空間を識別又は規定する情報（例えば、予め定められた色空間のリスト、色空間変換演算のためのカスタム行列）、利用可能な色サンプリングレートを識別又は規定する情報（例えば、予め定められた色サンプリングレート、他の色サンプリングレート、又はダウンサンプリング及びアップサンプリングについての演算のアイデンティフィケーションのリスト）、及び／又は、利用可能な色深度を識別又は規定する情報（例えば、予め定められた色深度、他の色深度、又は色深度変換についての演算のアイデンティフィケーションのリスト）をフォーマット化及び／又はエントロピ符号化することができ、これらは、適応切り替え中にデコーダにより使用可能である。
【００９６】
ヘッダフォーマット化部／エントロピ符号化部（５９０）は、符号化データを、符号化ビデオビットストリーム（５９５）内に提供する。符号化ビデオビットストリーム（５９５）のフォーマットは、Ｈ．２６５／ＨＥＶＣフォーマットの変形又は拡張、Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ｖｉｄｅｏフォーマット、ＶＣ−１フォーマット、ＭＰＥＧ−ｘフォーマット（例えば、ＭＰＥＧ−１、ＭＰＥＧ−２、又はＭＰＥＧ−４）、Ｈ．２６ｘフォーマット（例えば、Ｈ．２６１、Ｈ．２６２、Ｈ．２６３、Ｈ．２６４）、又は別のフォーマットであり得る。
【００９７】
実装及び所望の圧縮のタイプに応じて、エンコーダ（５００）のモジュールを追加してもよいし、省略してもよいし、複数のモジュールに分割してもよいし、他のモジュールと結合してもよいし、且つ／又は同様のモジュールと置換してもよい。代替実施形態において、異なるモジュール及び／又はモジュールの他の構成を有するエンコーダは、説明した技術のうちの１以上を実行する。エンコーダの特定の実施形態は、通常、エンコーダ（５００）の変形又は補完バージョンを使用する。エンコーダ（５００）内のモジュール間の示された関係は、エンコーダ内の情報の一般的な流れを示すものである。他の関係は、簡潔さのため示されていない。
【００９８】
ＶＩ．例示的なビデオデコーダ
図６は、いくつかの説明する実施形態を協働して実装することができる一般化されたデコーダ（６００）のブロック図である。デコーダ（６００）は、符号化ビデオビットストリーム（６０５）内の符号化データを受信し、再構成ビデオ（６９５）のためのピクチャを含む出力を生成する。符号化ビデオビットストリーム（６０５）のフォーマットは、Ｈ．２６５／ＨＥＶＣフォーマットの変形又は拡張、Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ｖｉｄｅｏフォーマット、ＶＣ−１フォーマット、ＭＰＥＧ−ｘフォーマット（例えば、ＭＰＥＧ−１、ＭＰＥＧ−２、又はＭＰＥＧ−４）、Ｈ．２６ｘフォーマット（例えば、Ｈ．２６１、Ｈ．２６２、Ｈ．２６３、Ｈ．２６４）、又は別のフォーマットであり得る。
【００９９】
デコーダ（６００）は、ブロックベースであり、実装に依存するブロックフォーマットを使用する。ブロックは、様々な段階において、さらに細分割され得る。例えば、ピクチャは、６４×６４ブロック、３２×３２ブロック、又は１６×１６ブロックに分割され得、今度は、それらのブロックが、サンプル値のより小さなブロックに分割され得る。Ｈ．２６５／ＨＥＶＣ規格のための復号の実装において、ピクチャは、ＣＴＵ（ＣＴＢ）、ＣＵ（ＣＢ）、ＰＵ（ＰＢ）、及びＴＵ（ＴＢ）に分割される。
【０１００】
デコーダ（６００）は、イントラピクチャ復号及び／又はインターピクチャ復号を用いて、ピクチャを伸張する。デコーダ（６００）のコンポーネントの多くが、イントラピクチャ復号及びインターピクチャ復号の両方のために使用される。これらのコンポーネントにより実行される正確なオペレーションは、伸張される情報のタイプに応じて変わり得る。
【０１０１】
バッファは、符号化ビデオビットストリーム（６０５）内の符号化データを受け入れ、受け入れた符号化データを解析部／エントロピ復号部（６１０）に利用可能にする。解析部／エントロピ復号部（６１０）は、通常はエンコーダ（５００）において実行されたエントロピ符号化の逆（例えば、コンテキスト適応バイナリ算術復号）を適用することにより、エントロピ符号化されたデータをエントロピ復号する。解析及びエントロピ復号の結果として、解析部／エントロピ復号部（６１０）は、一般制御データ（６２２）、量子化された変換係数データ（６３２）、イントラ予測データ（６４２）、動きデータ（６５２）、及びフィルタリング制御データ（６６２）を生成する。一般制御データ（６２２）は、ピクチャ、スライス、ブロック、又はビデオの他のユニットについての色空間、色サンプリングレート、及び／又は色深度を示す信号を含む。そのような信号は、例えば、ＰＰＳ、スライスヘッダ、ブロックシンタックス構造、又は他のシンタックス構造に含められ得、固定長の値としてエントロピ符号化又はシグナリングされ得る。解析部／エントロピ復号部（６１０）はまた、利用可能な色空間を識別又は規定する情報（例えば、予め定められた色空間のリスト、色空間変換演算のためのカスタム行列）、利用可能な色サンプリングレートを識別又は規定する情報（例えば、予め定められた色サンプリングレート、他の色サンプリングレート、又はダウンサンプリング及びアップサンプリングについての演算のアイデンティフィケーションのリスト）、及び／又は、利用可能な色深度を識別又は規定する情報（例えば、予め定められた色深度、他の色深度、又は色深度変換についての演算のアイデンティフィケーションのリスト）を解析及び／又はエントロピ復号することができ、これらは、適応切り替え中にデコーダ（６００）により使用可能である。
【０１０２】
一般復号制御部（６２０）は、一般制御データ（６２２）を受信し、復号中に復号パラメータを設定及び変更するために、他のモジュール（スケーリング部／逆変換部（６３５）、イントラピクチャ予測部（６４５）、動き補償部（６５５）、及びイントラ／インタースイッチ等）に制御信号（図示せず）を供給する。詳細には、一般復号制御部（６２０）は、復号中に、ピクチャごとに、スライスごとに、ブロックごとに、又は何らかの他の単位で、色空間、色サンプリングレート、及び／又は色深度を、デコーダ（６００）に切り替えさせることができる。
【０１０３】
現ピクチャが、インターピクチャ予測を用いて予測される場合、動き補償部（６５５）は、ＭＶデータ等の動きデータ（６５２）、参照ピクチャ選択データ、及びマージモードインデックス値を受信する。動き補償部（６５５）は、復号ピクチャバッファ（６７０）からの１以上の再構成された参照ピクチャに、ＭＶを適用する。動き補償部（６５５）は、現ピクチャのインター符号化ブロックのための動き補償予測を生成する。復号ピクチャバッファ（６７０）は、参照ピクチャとして使用するために、１以上の以前に再構成されたピクチャを記憶する。
【０１０４】
デコーダ（６００）内の分離パスにおいて、イントラピクチャ予測予測部（６４５）は、イントラ予測が空間予測を使用するかイントラＢＣ予測を使用するかを示す情報（例えば、イントラブロックごとのフラグ値）、予測モード方向（イントラ空間予測に関して）、及びＢＶ値（イントラＢＣ予測に関して）等のイントラ予測データ（６４２）を受信する。イントラ空間予測に関して、イントラピクチャ予測部（６４５）は、現ピクチャの再構成（６３８）の値を使用して、予測モードデータに従って、現ピクチャの隣接する以前に再構成されたサンプル値から、現ピクチャの現ブロックのサンプル値を空間的に予測する。あるいは、ＢＶ値を使用するイントラＢＣ予測に関して、イントラピクチャ予測部（６４５）は、現ブロックのＢＶ値により示されるイントラピクチャ予測参照領域の以前に再構成されたサンプル値を使用して、現ブロックのサンプル値を予測する。
【０１０５】
イントラ／インタースイッチは、所与のブロックのための予測（６５８）が、動き補償予測であるか又はイントラピクチャ予測であるかを選択する。例えば、Ｈ．２６５／ＨＥＶＣシンタックスに従うと、イントラ／インタースイッチは、イントラ予測ＣＵ及びインター予測ＣＵを含み得るピクチャのＣＵについて符号化されたシンタックス要素に基づいて制御され得る。非スキップモードブロックに関して、デコーダ（６００）は、予測（６５８）を、再構成された残差値と結合して、ビデオ信号からのコンテンツの再構成（６３８）を生成する。スキップモードブロックに関して、デコーダ（６００）は、再構成（６３８）として、予測（６５８）の値を使用する。
【０１０６】
非スキップモードモードブロックについて残差を再構成するために、スケーリング部／逆変換部（６３５）は、量子化された変換係数データ（６３２）を受信して処理する。スケーリング部／逆変換部（６３５）において、スケーリング部／逆量子化部は、量子化された変換係数に対して、逆スケーリング及び逆量子化を実行する。逆周波数変換部は、逆周波数変換を実行して、再構成された予測残差値又はサンプル値のブロックを生成する。例えば、逆周波数変換部は、逆ブロック変換を周波数変換係数に適用して、サンプル値データ又は予測残差データを生成する。逆周波数変換は、逆ＤＣＴ、その整数近似、又は別のタイプの逆周波数変換（例えば、逆離散サイン変換又はその整数近似）であり得る。
【０１０７】
イントラピクチャ予測に関して、再構成（６３８）の値は、イントラピクチャ予測部（６４５）にフィードバックされ得る。インターピクチャ予測に関して、再構成（６３８）の値は、さらにフィルタリングされ得る。マージ部／１以上のフィルタ（６６５）において、デコーダ（６００）は、異なるタイルからのコンテンツを、ピクチャの再構成バージョンにマージする。デコーダ（６００）は、ピクチャ内の境界にわたる不連続さを適応的に平滑化するために、フィルタリング制御データ（６６２）とフィルタ適応のためのルールとに従って、デブロックフィルタリング及びＳＡＯフィルタリングを選択的に実行する。代替的又は追加的に、他のフィルタリング（デリンギングフィルタリング又はＡＬＦ等；図示せず）が、適用されてもよい。タイル境界は、デコーダ（６００）の設定又は符号化ビットストリームデータ内のシンタックスインジケーションに応じて、選択的にフィルタリングされ得る又はフィルタリングされない。復号ピクチャバッファ（６７０）は、後続の動き補償予測において使用するために、再構成された現ピクチャをバッファする。
【０１０８】
デコーダ（６００）はまた、後処理フィルタを含み得る。後処理フィルタ（６０８）は、デリンギングフィルタリング、適応ウィナーフィルタリング、フィルムグレイン再現フィルタリング（film-grain  reproduction  filtering）、ＳＡＯフィルタリング、又は別の種類のフィルタリングを含み得る。
【０１０９】
実装及び所望の伸張のタイプに応じて、デコーダ（６００）のモジュールを追加してもよいし、省略してもよいし、複数のモジュールに分割してもよいし、他のモジュールと結合してもよいし、且つ／又は同様のモジュールと置換してもよい。代替実施形態において、異なるモジュール及び／又はモジュールの他の構成を有するデコーダは、説明した技術のうちの１以上を実行する。デコーダの特定の実施形態は、通常、デコーダ（６００）の変形又は補完バージョンを使用する。デコーダ（６００）内のモジュール間の示された関係は、デコーダ内の情報の一般的な流れを示すものである。他の関係は、簡潔さのため示されていない。
【０１１０】
ＶＩＩ．色空間、色サンプリングレート、及び／又は色深度の適応切り替え
符号化中、エンコーダは、様々な点（例えば、符号化モードのより多くのオプション、潜在的により低い量子化ステップサイズ）で、セカンダリ色成分よりも慎重にプライマリ色成分を扱い得る。また、エンコーダは、セカンダリ色成分をサブサンプリングすることにより、相対的により多くのビット（したがって品質）を、プライマリ色成分に割り当てることができる。
【０１１１】
ビデオシーケンスの異なるピクチャ、スライス、又はブロックのサンプル値は、異なる統計的特性を有し得る。これらの異なる統計的特性は、レート歪み性能の観点で測定され得る符号化効率に影響を及ぼし得る（所与のビットレートについてより低い又はより高い品質；又は、所与の品質についてより低い又はより高いビットレート）。
【０１１２】
このセクションは、ビデオシーケンスのユニットのための適応符号化及び適応復号の様々な特徴を提示している。ユニットは、ビデオシーケンスのピクチャ、スライス、ブロック、又は他の部分であり得る。例えば、これらの特徴のうちのいくつかは、ビデオシーケンス内のユニットの間の色空間の適応切り替えを含む符号化／復号に関する。他の特徴は、ビデオシーケンス内のユニットの間の色サンプリングレートの適応切り替えを含む符号化／復号に関する。さらに他の特徴は、ビデオシーケンス内のユニットの間の色深度の適応切り替えを含む符号化／復号に関する。これらの特徴は、多くのシナリオにおいて、符号化効率を向上させることができ、組み合わせて又は別々に使用することができる。
【０１１３】
詳細には、色空間、色サンプリングレート、及び／又は色深度の適応切り替えは、スクリーンキャプチャコンテンツ等の所定の「人工的に」作成されたビデオコンテンツを符号化する際のレート歪み性能又は自然ビデオと人工的に作成されたビデオコンテンツとの混合を符号化する際のレート歪み性能を向上させることができる。
【０１１４】
Ａ．ビデオのタイプ
一般に、スクリーンキャプチャビデオは、コンピュータスクリーン又は他のディスプレイの出力を表す。図７は、スクリーンキャプチャのための入力を提供することができる、コンテンツを含むコンピュータデスクトップ環境（７１０）を示している。例えば、スクリーンキャプチャビデオは、コンピュータデスクトップ（７１１）全体の一連の画像を表すことができる。あるいは、スクリーンキャプチャビデオは、ゲームコンテンツを含むアプリケーションウィンドウ（７１３）、ウェブページコンテンツを含むブラウザウィンドウ（７１２）、又はワードプロセッサコンテンツを含むウィンドウ（７１４）等の、コンピュータデスクトップ環境のウィンドウのうちの１つのウィンドウについての一連の画像を表すことができる。
【０１１５】
コンピュータにより生成される人工的に作成されるビデオコンテンツであるので、スクリーンキャプチャコンテンツは、ビデオカメラを使用してキャプチャされる自然ビデオコンテンツと比較して、相対的に少ない離散サンプル値を有する傾向にある。例えば、スクリーンキャプチャコンテンツの領域は、しばしば、単一の均一な色を含むのに対し、自然ビデオコンテンツ内の領域は、徐々に変化する色を含む可能性がより高い。また、スクリーンキャプチャコンテンツは、通常、当該コンテンツが空間的に移動され得るとしても、（例えば、スクロールに起因して）フレームからフレームへと正確に繰り返される異なる構造（例えば、グラフィックス、テキスト文字）を含む。スクリーンキャプチャコンテンツは、しばしば、高クロマサンプリング解像度を有するフォーマット（例えば、ＹＵＶ４：４：４又はＲＧＢ４：４：４）で符号化されるが、より低いクロマサンプリング解像度を有するフォーマット（例えば、ＹＵＶ４：２：０、ＹＵＶ４：２：２）で符号化されてもよい。
【０１１６】
図８は、自然ビデオ（８２１）及び人工的に作成されたビデオコンテンツを含む混合ビデオ（８２０）を示している。人工的に作成されたビデオコンテンツは、自然ビデオ（８２１）の横にあるグラフィック（８２２）及び自然ビデオ（８２１）の下を横断するティッカー（ticker）（８２３）を含む。図７に示されるスクリーンキャプチャコンテンツと同様に、図８に示される人工的に作成されたビデオコンテンツは、相対的に少ない離散サンプル値を有する傾向にある。この人工的に作成されたビデオコンテンツはまた、（例えば、スクロールに起因して）フレームからフレームへと正確に繰り返される異なる構造（例えば、グラフィックス、テキスト文字）を有する傾向にある。
【０１１７】
Ｂ．適応切り替えの例
色空間の適応切り替えに関して、シーケンス内のビデオの異なるユニットは、異なる色空間で符号化される。例えば、これらのユニットのうちのいくつかは、ＹＵＶタイプの色空間（例えば、ＹＣｂＣｒ、ＹＣｏＣｇ）で符号化され、他のユニットは、ＲＧＢタイプの色空間（例えば、ＲＧＢ、ＢＧＲ、ＧＢＲ）で符号化される。この場合、エンコーダ又はデコーダは、適切なときに、サンプル値に対して色空間変換演算を実行して、ＹＵＶタイプの色空間とＲＧＢタイプの色空間との間で切り替える。通常、色空間変換演算は、位置ごとに実行される行列乗算演算として表され得、第１の色空間におけるある位置についてのｎ個のサンプル値が、ｎ×ｎ行列で乗算されて、第２の色空間におけるその位置についてのｎ個のサンプル値が生成される。実際には、色空間変換演算は、他の算術を用いて実施されてもよい。
【０１１８】
色空間の適応切り替えの別の例として、異なるユニットは、プライマリ成分と、成分が（例えば、残差データについて）シグナリングされる順番と、の観点で相違する異なるＲＧＢタイプの色空間で符号化され得る。この場合、エンコーダ又はデコーダは、適切なときに、サンプル値のブロック又はプレーンに対して色空間並べ替え演算を実行して、どの色成分がプライマリ色成分であるかを変更する。
【０１１９】
いくつかの例示的な実装において、非可逆符号化に関して、エンコーダは、異なる色空間のうちの任意の色空間の間で切り替えることができる。しかしながら、可逆符号化に関して、エンコーダは、可逆色空間変換しか実行しない（例えば、ＲＧＢ色空間とＢＧＲ色空間とＧＢＲ色空間との間の色成分の並べ替え、又は、いくつかの実装において、増加された中間色深度を用いたＹＣｏＣｇへ／からの変換）。
【０１２０】
色サンプリングレートの適応切り替えに関して、シーケンス内のビデオの異なるユニットは、異なる色サンプリングレートで符号化される。例えば、これらのユニットのいくつかは、４：２：２フォーマット又は４：２：０フォーマット（ＹＵＶ４：２：２又はＹＵＶ４：２：０等）で符号化されるのに対し、他のユニットは、４：４：４フォーマット（ＹＵＶ４：４：４等）で符号化される。ＲＧＢタイプの色空間は、通常、４：４：４という色サンプリングレートを有するが、その色成分が、４：２：２又は４：２：０という色サンプリングレートに従って代わりにサブサンプリングされ得る。
【０１２１】
水平方向又は垂直方向においてセカンダリ成分のサンプル値をダウンサンプリングするとき、エンコーダ又はデコーダは、単純なサブサンプリング、ローパスフィルタリングとサブサンプリング、又は他のフィルタリングとサブサンプリングを実行することができる。セカンダリ成分のサンプル値の対応するアップサンプリングに関して、エンコーダ又はデコーダは、例えば、サンプル値繰り返し（sample  values  repetition）及び／又はフィルタリングを用いて、サブサンプリングを逆にする。
【０１２２】
色深度の適応切り替えに関して、シーケンス内のビデオの異なるユニットは、異なる色深度で符号化される。例えば、これらのユニットのいくつかは、１２ビットサンプル値で符号化されるのに対し、他のユニットは、１０ビットサンプル値又は８ビットサンプル値で符号化される。色深度の間で変換するとき、エンコーダ又はデコーダは、（丸め係数を追加して又は追加しないで）より高い色深度のサンプル値を切り捨てて、より低い色深度のサンプル値を生成することができる、又は、より低い色深度のサンプル値をスケーリングして、より高い色深度のサンプル値を生成することができる。
【０１２３】
エンコーダは、通常、１２ビットサンプル値を有するＲＧＢ４：４：４等の所与のフォーマットの入力ビデオを受信する。エンコーダは、ビデオの所与のユニットについて、入力フォーマットと（異なる色空間、異なる色サンプリングレート、及び／又は異なる色深度を有する）別のフォーマットとの間で変換することができる。色空間適応は、ピクチャレベル、スライスレベル、ブロックレベル、又は何らかの他のレベルで、単独で、又は、色サンプリングレート適応及び／又は色深度適応と組み合わせて、実行され得る。同様に、色サンプリングレート適応は、ピクチャレベル、スライスレベル、ブロックレベル、又は何らかの他のレベルで、単独で、又は、色空間適応及び／又は色深度適応と組み合わせて、実行され得る。色深度適応も、ピクチャレベル、スライスレベル、ブロックレベル、又は何らかの他のレベルで、単独で、又は、色空間適応及び／又は色サンプリングレート適応と組み合わせて、実行され得る。
【０１２４】
図９は、シーケンス（９００）内のピクチャについてのピクチャ適応的な（picture-adaptive）色空間、色サンプリングレート、及び／又は色深度を示している。シーケンス（９００）は、一連のピクチャを含む。必要とされるときに、エンコーダは、入力ビデオフォーマットから、所与のピクチャについて選択されたフォーマットに、入力ビデオを変換する。ピクチャ１のフォーマットは、８ビットサンプル値を有するＹＣｂＣｒ４：２：０であり、ピクチャ２のフォーマットは、８ビットサンプル値を有するＲＧＢ４：４：４である。ピクチャ３及びピクチャ４は、ＢＧＲ４：４：４ビデオであるが、ピクチャ３のサンプル値とピクチャ４のサンプル値とは、異なる色深度を有する。
【０１２５】
図１０は、シーケンス内のピクチャ（１０００）のスライスについてのスライス適応的な（slice-adaptive）色空間、色サンプリングレート、及び／又は色深度を示している。ピクチャ（１０００）は、５つのスライスを含み、これらのスライスの境界が、破線で示されている。例えば、スライス０、スライス１、スライス３、及びスライス４は、スクリーンキャプチャコンテンツ又は他の人工的に作成されたビデオコンテンツに関連付けられたものであり得るのに対し、スライス２は、自然ビデオコンテンツに関連付けられている。スライス０及びスライス３のフォーマットは、１０ビットサンプル値を有するＢＧＲ４：４：４である。スライス１は、ＧＢＲ４：４：４ビデオの１２ビットサンプル値を含む。スライス２のフォーマットは、８ビットサンプル値を有するＹＣｂＣｒ４：２：０であり、スライス４のフォーマットは、８ビットサンプル値を有するＲＧＢ４：４：４である。
【０１２６】
図１１は、シーケンス内のピクチャのスライス（１１００）のブロックについてのブロック適応的な（block-adaptive）色空間、色サンプリングレート、及び／又は色深度を示している。スライス（１１００）は、３つの異なるブロックサイズを有する１６個のブロックを含む。最初の２つのブロックのフォーマットは、８ビットサンプル値を有するＹＣｂＣｒ４：２：０であり、最後のブロックのフォーマットは、１０ビットサンプル値を有するＹＣｂＣｒ４：２：０である。ブロック２〜ブロック１５は、ＲＧＢタイプの色空間における４：４：４というサンプリングレートの１２ビットサンプル値を含む。ブロック２〜ブロック１５についての色空間は、ＲＧＢとＢＧＲとＧＢＲとの間で変化する。
【０１２７】
Ｃ．符号化中の適応切り替えの例
図１２は、符号化中に、色空間、色サンプリングレート、及び／又は色深度を適応的に切り替えるための一般化された技術（１２００）を示している。図３若しくは図５ａ〜図５ｂを参照して説明したエンコーダ等の画像エンコーダ又はビデオエンコーダが、技術（１２００）を実行することができる。
【０１２８】
エンコーダは、シーケンス内のビデオを符号化する（１２１０）。符号化の一部として、エンコーダは、符号化中に、シーケンス内のビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び／又は色深度を切り替える。エンコーダは、ピクチャ内で空間的に、色空間、色サンプリングレート、及び／又は色深度を切り替えることができる。エンコーダはまた、ピクチャからピクチャへと時間的に、色空間、色サンプリングレート、及び／又は色深度を切り替えることができる。適応切り替えの目的では、ビデオのユニットは、シーケンスのピクチャ、シーケンスの所与のピクチャのスライス、シーケンスの所与のピクチャのブロック、又はビデオシーケンスの他の部分であり得る。
【０１２９】
例えば、切り替えることは、色空間変換演算を用いて、色空間のうちの２つの色空間の間で変更することを含み得る。色空間変換演算に関して、色空間は、少なくとも１つのＹＵＶタイプの色空間と、少なくとも１つのＲＧＢタイプの色空間と、を含み得る。あるいは、別の例として、切り替えることは、色空間並べ替え演算を用いて、色空間のうちの２つの色空間の間で変更することを含む。色空間並べ替え演算に関して、色空間は、複数のＲＧＢタイプの色空間を含み得る。代替的に、色空間は、他の色空間及び／又はさらなる色空間を含んでもよい。
【０１３０】
あるいは、別の例として、切り替えることは、色サンプリングレートのうちの２つの色サンプリングレートの間で変更することを含み得る。色サンプリングレートは、４：４：４、４：２：２、４：２：０、及び４：０：０のうちの２以上を含み得る。代替的に、色サンプリングレートは、他の色サンプリングレート及び／又はさらなる色サンプリングレートを含んでもよい。
【０１３１】
あるいは、別の例として、切り替えることは、色深度のうちの２つの色深度の間で変更することを含み得る。色深度は、１サンプル当たり１２ビット、１サンプル当たり１０ビット、及び１サンプル当たり８ビットのうちの２以上を含み得る。ビデオの所与のユニットの異なる色成分は、同じ色深度又は異なる色深度を有し得る。代替的に、色深度は、他の色深度及び／又はさらなる色深度を含んでもよい。
【０１３２】
符号化中、エンコーダは、以前に再構成されたコンテンツのサンプル値のセットに少なくとも部分的に基づいて、現ピクチャ内の現ブロックのサンプル値の予測することができる。イントラピクチャ予測に関して、以前に再構成されたコンテンツのサンプル値のセットは、現ピクチャの一部である。インターピクチャ予測に関して、以前に再構成されたコンテンツのサンプル値のセットは、参照ピクチャの一部である。現ブロックのサンプル値と、以前に再構成されたコンテンツのサンプル値のセットと、が、異なるフォーマットである場合、エンコーダは、変換演算を実行して、予測を容易にすることができる。そのような変換演算の例は、セクションＶＩＩ．Ｅで説明される。
【０１３３】
符号化中、エンコーダはまた、１以上のルールに従って、以前に再構成されたコンテンツについて適応ループ内デブロッキングを実行することができる。１以上のルールは、以前に再構成されたコンテンツ内の２つの隣接ブロックの異なる色空間を考慮し得る。適応デブロッキングについてのルールの例は、セクションＶＩＩ．Ｆで説明される。
【０１３４】
エンコーダは、ビットストリーム内に符号化されたデータを出力する（１２２０）。符号化されたデータは、シーケンス内のビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び／又は色深度がどのように切り替わるかを示す１以上の信号を含む。１以上の信号についてのシンタックス要素の例は、セクションＶＩＩ．Ｄで説明される。
【０１３５】
図１３は、符号化中に、色空間、色サンプリングレート、及び／又は色深度を適応的に切り替えるためのより詳細な技術（１３００）を示している。図３若しくは図５ａ〜図５ｂを参照して説明したエンコーダ等の画像エンコーダ又はビデオエンコーダが、技術（１３００）を実行することができる。詳細には、図１３は、エンコーダによりなされるユニットごとの決定を示しているが、符号化についての他のオプションが、図１２を参照して説明されている。
【０１３６】
エンコーダは、次のユニット（例えば、ピクチャ、スライス、ブロック）を取得し（１３１０）、そのユニットについて、色空間、色サンプリングレート、及び／又は色深度を設定する（１３２０）。必要とされるときに、エンコーダは、サンプル値を、そのユニットについて設定された別の色空間、色サンプリングレート、及び／又は色深度に変換し、次いで、そのユニットを符号化する（１３３０）。エンコーダは、そのユニットについての色空間、色サンプリングレート、及び／又は色深度を示す１以上の信号を含む、そのユニットについての符号化されたデータを出力する（１３４０）。エンコーダは、次のユニットに進むかどうかをチェックし（１３５０）、次のユニットに進む場合、次のユニットを取得する（１３１０）。
【０１３７】
Ｃ．復号中の適応切り替えの例
図１４は、復号中に、色空間、色サンプリングレート、及び／又は色深度を適応的に切り替えるための一般化された技術（１４００）を示している。図４又は図６を参照して説明したデコーダ等の画像デコーダ又はビデオデコーダが、技術（１４００）を実行することができる。
【０１３８】
デコーダは、ビートストリーム内の符号化されたデータを受信する（１４１０）。符号化されたデータは、シーケンス内のビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び／又は色深度がどのように切り替わるかを示す１以上の信号を含む。１以上の信号についてのシンタックス要素の例は、セクションＶＩＩ．Ｄで説明される。
【０１３９】
デコーダは、シーケンス内のビデオを復号する（１４２０）。復号の一部として、デコーダは、復号中に、シーケンス内のビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び／又は色深度を切り替える。デコーダは、ピクチャ内で空間的に、色空間、色サンプリングレート、及び／又は色深度を切り替えることができる。デコーダはまた、ピクチャからピクチャへと時間的に、色空間、色サンプリングレート、及び／又は色深度を切り替えることができる。適応切り替えの目的では、ビデオのユニットは、シーケンスのピクチャ、シーケンスの所与のピクチャのスライス、シーケンスの所与のピクチャのブロック、又はビデオシーケンスの他の部分であり得る。
【０１４０】
例えば、切り替えることは、色空間変換演算を用いて、色空間のうちの２つの色空間の間で変更することを含み得る。色空間変換演算に関して、色空間は、少なくとも１つのＹＵＶタイプの色空間と、少なくとも１つのＲＧＢタイプの色空間と、を含み得る。あるいは、別の例として、切り替えることは、色空間並べ替え演算を用いて、色空間のうちの２つの色空間の間で変更することを含む。色空間並べ替え演算に関して、色空間は、複数のＲＧＢタイプの色空間を含み得る。代替的に、色空間は、他の色空間及び／又はさらなる色空間を含んでもよい。
【０１４１】
あるいは、別の例として、切り替えることは、色サンプリングレートのうちの２つの色サンプリングレートの間で変更することを含み得る。色サンプリングレートは、４：４：４、４：２：２、４：２：０、及び４：０：０のうちの２以上を含み得る。代替的に、色サンプリングレートは、他の色サンプリングレート及び／又はさらなる色サンプリングレートを含んでもよい。
【０１４２】
あるいは、別の例として、切り替えることは、色深度のうちの２つの色深度の間で変更することを含み得る。色深度は、１サンプル当たり１２ビット、１サンプル当たり１０ビット、及び１サンプル当たり８ビットのうちの２以上を含み得る。ビデオの所与のユニットの異なる色成分は、同じ色深度又は異なる色深度を有し得る。代替的に、色深度は、他の色深度及び／又はさらなる色深度を含んでもよい。
【０１４３】
復号中、デコーダは、以前に再構成されたコンテンツのサンプル値のセットに少なくとも部分的に基づいて、現ピクチャ内の現ブロックのサンプル値を予測することができる。イントラピクチャ予測に関して、以前に再構成されたコンテンツのサンプル値のセットは、現ピクチャの一部である。インターピクチャ予測に関して、以前に再構成されたコンテンツのサンプル値のセットは、参照ピクチャの一部である。現ブロックのサンプル値と、以前に再構成されたコンテンツのサンプル値のセットと、が、異なるフォーマットである場合、デコーダは、変換演算を実行して、予測を容易にすることができる。そのような変換演算の例は、セクションＶＩＩ．Ｅで説明される。
【０１４４】
復号中、デコーダはまた、１以上のルールに従って、以前に再構成されたコンテンツについて適応ループ内デブロッキングを実行することができる。１以上のルールは、以前に再構成されたコンテンツ内の２つの隣接ブロックの異なる色空間を考慮し得る。適応デブロッキングについてのルールの例は、セクションＶＩＩ．Ｆで説明される。
【０１４５】
図１５は、復号中に、色空間、色サンプリングレート、及び／又は色深度を適応的に切り替えるためのより詳細な技術（１５００）を示している。図４又は図６を参照して説明したデコーダ等の画像デコーダ又はビデオデコーダが、技術（１５００）を実行することができる。詳細には、図１５は、デコーダによりなされるユニットごとの決定を示しているが、復号についての他のオプションが、図１４を参照して説明されている。
【０１４６】
デコーダは、次のユニット（例えば、ピクチャ、スライス、ブロック）についての符号化されたデータを取得する（１５１０）。符号化されたデータは、そのユニットについての色空間、色サンプリングレート、及び／又は色深度を示す１以上の信号を含む。デコーダは、そのユニットについての色空間、色サンプリングレート、及び／又は色深度を決定する（１５２０）。デコーダは、必要とされるときに、そのユニットについて設定された色空間、色サンプリングレート、及び／又は色深度からサンプル値を変換して、そのユニットを復号する（１５３０）。デコーダは、次のユニットに進むかどうかをチェックし（１５４０）、次のユニットに進む場合、次のユニットについての符号化されたデータを取得する（１５１０）。
【０１４７】
Ｄ．適応切り替え情報のシグナリングの例
このセクションでは、シーケンス内のビデオの少なくともいくつかのユニットの間で、色空間、色サンプリングレート、及び／又は色深度がどのように切り替わるかを示す信号の例が説明される。一般に、ビットストリーム内の信号は、ユニットを符号化／復号する２以上のオプション間の選択を示す。色空間適応に関して、信号は、ユニットを符号化／復号するときに使用される２以上の色空間の間の選択を示す。色サンプリングレート適応に関して、信号は、ユニットを符号化／復号するときに使用される２以上の色サンプリングレートの間の選択を示す。色深度適応に関して、信号は、ユニットを符号化／復号するときに使用される２以上の色深度の間の選択を示す。異なる色深度が、ユニットの異なる色成分についてシグナリングされ得る。
【０１４８】
信号は、所与のユニットを符号化／復号するための色空間（又は、色サンプリングレート若しくは色深度）についての２つのオプション間の選択を示す、所与のユニットについてのフラグ値であり得る。あるいは、信号は、所与のユニットを符号化／復号するための色空間（又は、色サンプリングレート若しくは色深度）についての３以上のオプション間の選択を示す、所与のユニットについての何らかの他のシンタックス要素（又は、所与のユニットについての複数のフラグ）であり得る。
【０１４９】
所与のユニットについての信号は、ビットストリームシンタックスの様々なレベルの任意のレベルにおいて存在し得る。ピクチャごとの適応に関して、例えば、色空間（又は、色サンプリングレート若しくは色深度）の選択を示すシンタックス要素は、ＰＰＳの一部であり得る。あるいは、スライスごとの適応に関して、色空間（又は、色サンプリングレート若しくは色深度）の選択を示すシンタックス要素は、スライスヘッダの一部であり得る。あるいは、ブロックごとの適応に関して、色空間（又は、色サンプリングレート若しくは色深度）の選択を示すシンタックス要素は、ブロックについてのシンタックス構造（例えば、ＣＵシンタックス構造）の一部であり得る。一般に、ピクチャごとの適応は、スライスごとの適応又はブロックごとの適応よりも柔軟性が低いが、より少ないシグナリングビットしか使用しない。ブロックごとの適応は、スライスごとの適応よりも多くのシグナリングビットを使用するが、より柔軟性が高い。
【０１５０】
所与のユニットについての信号は、例えば、ＣＡＢＡＣを用いて、エントロピ符号化され得る、又は、固定長の値としてフォーマット化され得る。所与のユニットについての信号は、予測符号化され得る。この場合、所与のユニットについてのパラメータの差分（デルタ）値が、パラメータの実際の値とパラメータの予測因子との差を表す。予測因子は、より高いシンタックスレベルで（例えば、ＳＰＳの一部として、又は、別のシーケンスレイヤパラメータとして）シグナリングされるパラメータの値であり得る。例えば、現ブロック又はスライスについての色深度値は、ＳＰＳにより指定された色深度に対する差分（デルタ）値としてシグナリングされ得る。あるいは、予測因子は、ビデオの１以上の以前のユニットについてのパラメータの１以上の実際の値（例えば、最後に符号化されたユニットについてのパラメータの実際の値、又は、所与のユニットの周囲の隣接ユニットにおけるパラメータの実際の値の中央値）に基づいてもよい。例えば、現ブロックについての色深度は、以前の符号化されたブロックの色深度に対する差分（デルタ）値としてシグナリングされてもよい。
【０１５１】
符号化されたデータはまた、利用可能な色空間を識別又は規定する情報、利用可能な色サンプリングレートを識別又は規定する情報、及び／又は利用可能な色深度を識別又は規定する情報を含み得る。そのような情報は、ＳＰＳ、ＰＰＳ、スライスヘッダ、又はビットストリームシンタックスの他の構造の一部としてシグナリングされ得る。利用可能な色空間、色サンプリングレート、又は色深度は、エンコーダ及びデコーダに既知である予め定められたオプションの中から選択され得る。あるいは、エンコーダは、エンコーダ及びデコーダによる使用のために、符号化されたデータにおいて、カスタム色空間（又は、色サンプリングレート若しくは色深度）を指定することができる。例えば、この情報は、色空間のうちの２つの色空間の間の色空間変換演算のために使用可能な値の行列を含み得る。カスタムオプションを指定することは、予め定められたオプションのセットを識別することよりも多くのビットを使用するが、より柔軟性が高い。別の可能なものは、ＳＰＳ、ＰＰＳ、スライスヘッダ等の一部としてシグナリングされる識別情報なく、エンコーダ及びデコーダに既知である予め定められたオプションを使用することである。これは、追加の情報のためのビットを使用しないが、オプションのうちの多くが、シーケンスについての符号化中に全く使用されないときには、信号のより効率性の低い符号化につながるおそれがある。
【０１５２】
利用可能な色空間（又は、色サンプリングレート若しくは色深度）を識別又は規定する情報は、ビデオのユニットについてのオプションの選択を示す信号とともに使用される。例えば、ＳＰＳが、利用可能な色空間と、シーケンスについてどの色空間変換が許容されるかと、を識別する情報を含み得、ＰＰＳ（又は、スライスヘッダ若しくはブロックシンタックス構造）ごとのシンタックス要素が、利用可能な色空間の指定されたリストからの選択を示す。あるいは、スライスヘッダが、利用可能な色サンプリングレートを識別する情報を含み得、ブロックシンタックス構造ごとのシンタックス要素が、利用可能な色サンプリングレートの指定されたリストからの選択を示す。あるいは、前述のバリエーションの何らかの組合せが使用されてもよい。例えば、ＳＰＳが、予め定められた色空間のリストを示し得、ＰＰＳ又はスライスヘッダが、予め定められた色空間のうちの１つの色空間の選択を含む、又は、カスタム色空間についての情報を含む。
【０１５３】
いくつかの例示的な実装において、さらなるルールが、色空間インジケータのＣＵレベルのシグナリングについて適用される。現ＣＵが、イントラ空間予測ＣＵである場合、色空間インジケータは、ＣＵシンタックス構造の一部としてシグナリングされ得る。現ＣＵが、イントラＢＣ予測ＣＵ又はインターピクチャ予測ＣＵである場合、色空間インジケータは、残差が存在するときにＣＵシンタックス構造の一部としてシグナリングされ得るが、（例えば、ＲＧＢとＢＧＲとＧＢＲとの間の）並べ替えしか伴わない色空間変換は許容されない。このコンテキストにおいて、このような色空間変換は、性能を向上させず、色成分をどのように並べ替えるかをシグナリングするのに費やされるビットは無駄となってしまうであろう。
【０１５４】
Ｅ．予測のための変換演算の例
符号化中又は復号中、エンコーダ又はデコーダは、以前に再構成されたコンテンツのサンプル値のセットに少なくとも部分的に基づいて、現ピクチャ内の現ブロックのサンプル値を予測することができる。イントラピクチャ予測に関して、以前に再構成されたコンテンツのサンプル値のセットは、現ピクチャの一部である（例えば、イントラ空間予測に関しては、空間的に隣接する位置におけるサンプル値である、又は、イントラＢＣ予測に関しては、以前のブロックの再構成されたサンプル値である）。インターピクチャ予測に関して、以前に再構成されたコンテンツのサンプル値のセットは、参照ピクチャの一部である。現ブロックのサンプル値と、以前に再構成されたコンテンツのサンプル値のセットと、が、異なるフォーマットである場合、エンコーダ又はデコーダは、変換演算を実行して、現ブロックのサンプル値の予測を容易にする。
【０１５５】
例えば、以前に再構成されたコンテンツのサンプル値のセットが、ＧＢＲ色空間であるあり、現ブロックが、ＹＣｂＣｒ色空間で符号化されている場合、エンコーダ又はデコーダは、変換されたサンプル値のセットを使用するイントラピクチャ予測又はインターピクチャ予測の前に、以前に再構成されたコンテンツのサンプル値のセットを、ＹＣｂＣｒ色空間に変換することができる。
【０１５６】
実装を単純にするために、エンコーダ及びデコーダは、「メイン」フォーマットで、以前に再構成されたコンテンツのサンプル値を記憶することができる。メインフォーマットは、特定の色空間における、特定のサンプリングレートであり、サンプル値が特定の色深度を有する、再構成されたコンテンツのための一般的な表現を提供する。実装に応じて、メインフォーマットは、１２ビットサンプル値を有するＧＢＲ４：４：４、１２ビットサンプル値を有するＹＵＶ４：４：４、又は、色空間と色サンプリングレートと色深度との何らかの他の組合せであり得る。メインフォーマットは、エンコーダ及びデコーダのために、予め定められている。代替的に、メインフォーマットは、再構成されたコンテンツの記憶のための色空間、色サンプリングレート、及び／又は色深度を示す、ビットストリーム内の信号により指定されてもよい。メインフォーマットは、例えば、多くの場合において変換演算を回避するために、ビデオシーケンスのユニットについて最もよく起こる符号化フォーマットとするように選択され得る。メインフォーマットとして、１２ビットサンプル値を有するＧＢＲ４：４：４を使用することは、色空間切り替えはよく起こるが、色サンプリングレート切り替えはまれにしか起こらない場合、スクリーンキャプチャコンテンツにとって効率的であり得る。メインフォーマットとして、１２ビットサンプル値を有するＹＵＶ４：４：４を使用することは、色空間切り替え及び色サンプリングレート切り替えの両方がよく起こる場合、効率的であり得る。
【０１５７】
図１６は、１つのフォーマットで符号化されているブロックのサンプル値の、別のフォーマットの以前に再構成されたコンテンツのサンプル値のセットからの予測のための技術（１６００）を示している。エンコーダ又はデコーダが、符号化中又は復号中に、技術（１６００）を実行することができる。
【０１５８】
始めに、エンコーダ又はデコーダは、現ピクチャの現ブロックのサンプル値の予測のために使用されることになる、以前に再構成されたコンテンツのサンプル値のセットを取得する（１６１０）。以前に再構成されたコンテンツのサンプル値のセットは、予測のタイプに応じて、現ピクチャ又は参照ピクチャであり得る。
【０１５９】
以前に再構成されたコンテンツのサンプル値は、第１のフォーマット（例えば、メインフォーマット）で記憶されている。エンコーダ又はデコーダは、現ブロックが第１のフォーマットで符号化されているかどうかをチェックする（１６２０）。より一般的に、エンコーダ又はデコーダは、以前に再構成されたコンテンツのサンプル値のセットと、現ブロックのサンプル値と、が、異なるフォーマットであるかどうかを評価する。
【０１６０】
現ブロックが第１のフォーマット（例えば、メインフォーマット）で符号化されている場合、エンコーダ又はデコーダは、予測の前に、変換演算を実行する必要がない。エンコーダ又はデコーダは、以前に再構成されたコンテンツのサンプル値のセットを使用して、現ブロックのサンプル値を予測する（１６４０）。符号化中、エンコーダは、次いで、残差値を生成、符号化、及び再構成することができる（１６５０）。復号中、デコーダは、残差値を再構成することができる（１６５０）。エンコーダ又はデコーダは、次いで、予測されたサンプル値に少なくとも部分的に基づいて、現ブロックのサンプル値を再構成する（１６６０）。非スキップブロックに関して、エンコーダ又はデコーダは、予測されたサンプル値を、再構成された残差値と結合して、再構成されたサンプル値を生成することができる。エンコーダ又はデコーダは、次いで、以前に再構成されたコンテンツの一部として、現ブロックの再構成されたサンプル値を記憶する（１６７０）。現ブロックは第１のフォーマット（例えば、メインフォーマット）で符号化されているので、エンコーダ又はデコーダは、予測の後に、変換演算を実行する必要がない。
【０１６１】
一方、現ブロックが第１のフォーマット（例えば、メインフォーマット）で符号化されていない場合、エンコーダ又はデコーダは、第１のフォーマットから、現ブロックが符号化されている第２のフォーマットに、以前に再構成されたコンテンツのサンプル値のセットを変換する（１６３２）。例えば、第１のフォーマットと第２のフォーマットとが異なる色空間を有する場合、エンコーダ又はデコーダは、色空間変換演算及び／又は色空間並べ替え演算を実行して、以前に再構成されたコンテンツのサンプル値のセットの色空間を、第２のフォーマットに変更する。例えば、エンコーダ又はデコーダは、以下のように、ＲＧＢ色空間からＹＣｏＣｇ色空間に、以前に再構成されたコンテンツのサンプル値のセットＰを変換することができる。
【０１６２】
ＲＧＢ色空間におけるある位置についてのサンプル値が、それぞれ、
PsR、PsG、及びPsB
であり、現色深度が、
bit_depthcurrent
であると仮定する。最小サンプル値は、０であり、最大サンプル値は、
(1<<bit_depthcurrent)-1
（例えば、８ビットサンプル値については２５５）である。Ｃｏ及びＣｇのダイナミックレンジを調整するために、項
add_value
が、1<<(bit_depthcurrent-1)
（例えば、８ビットサンプル値については１２８）として定義される。ＹＣｏＣｇ空間におけるその位置についてのサンプル値
PsY、PsCo、及びPsCg
は、
PsY=(PsR+(2*PsG)+PsB)>>2
PsCo=((PsR-PsB)>>1)+add_value
PsCg=(((2*PsG)-PsR-PsB)>>2)+add_value
により算出され得る。
【０１６３】
サンプル値
PsY、PsCo、及びPsCg
は、最小サンプル値と最大サンプル値とによって規定されるレンジ内にクリップされる。
【０１６４】
より一般的に、第１の色空間から第２の色空間への変換のための色変換行列
CC_matrix1_to_2
は、
［  c00,  c01,  c02
c10,  c11,  c12
c20,  c21,  c22  ］
として定義され得る。
【０１６５】
出力のダイナミックレンジを調整するために、オフセット
CC_offsets1_to_2
の行列が使用され得る。オフセット
CC_offsets1_to_2
は、
［  o0,
o1,
o2  ］
として定義され得る。
【０１６６】
第１の色空間におけるある位置についてのサンプル値が、
PsCC1=[Ps00,  Ps01,  Ps02]T
であると仮定する。第２の色空間におけるその位置についてのサンプル値
PsCC2
は、
PsCC2=CC_matrix1_to_2*PsCC1+CC_offsets1_to_2
として算出され得る。
【０１６７】
サンプル値
PsCC2
は、適切なレンジにクリップされる。
【０１６８】
以前に再構成されたコンテンツのサンプル値のセットＰのための色空間並べ替え演算は、プライマリ色成分及びセカンダリ色成分の順番を変更するために、サンプル値のブロック又はプレーンの色成分を並べ替えることにより実施され得る。
【０１６９】
第１のフォーマットと第２のフォーマットとが異なる色サンプリングレートを有する場合、エンコーダ又はデコーダは、（フィルタリングあり又はフィルタリングなしで）ダウンサンプリング又はアップサンプリングを実行して、以前に再構成されたコンテンツのサンプル値のセットの色サンプリングレートを、第２のフォーマットに変更する。例えば、エンコーダ又はデコーダは、以下のように、４：４：４色サンプリングレートから４：２：０色サンプリングレートに、以前に再構成されたコンテンツのサンプル値のセットＰを変換することができる。
【０１７０】
以前に再構成されたコンテンツのサンプル値がＹＵＶ４：４：４サンプル値であると仮定する。ＹＵＶ４：４：４ビデオの空間解像度は、全ての色成分について、
width  x  height
である。色サンプリングレート変換の後、ＹＵＶ４：２：０ビデオの空間解像度は、Ｙ成分については、
width  x  height
であり、Ｕ成分及びＶ成分については、
(width/2)  x  (height/2)
である。
0≦i＜width
であり、
0≦j＜height
である各位置
(i,  j)
について、エンコーダ又はデコーダは、ＹＵＶ４：２：０ビデオについてのサンプル値を、
Y420[i][j]=Y444[i][j]
U420[i][j]=(U444[2*i][2*j]+U444[2*i+1[2*j]+U444[2*i][2*j+1]+
U444[2*i+1][2*j+1])>>2
V420[i][j]=(V444[2*i][2*j]+V444[2*i+1[2*j]+V444[2*i][2*j+1]+
V444[2*i+1][2*j+1])>>2
として算出することができる。
【０１７１】
このアプローチでは、Ｕ成分及びＶ成分についてのサンプル値は、フィルタリングなしで決定される。代替的に、エンコーダ又はデコーダは、ダウンサンプリングされたＵ成分及びＶ成分を取得する際に、フィルタリングを用いてもよい。
【０１７２】
第１のフォーマットと第２のフォーマットとが異なる色深度を有する場合、エンコーダ又はデコーダは、以下のように、色深度
bit_depthref
から、現ブロックのサンプル値の色深度
bit_depthcurrent
に、以前に再構成されたコンテンツのサンプル値のセットＰを変更する。
bit_depthref>bit_depthcurrentである場合
shift=bit_depthref-bit_depthcurrent
add=1<<(shift-1)
P=(P+add)>>shift
bit_depthref<bit_depthcurrentである場合
shift=bit_depthcurrent-bit_depthref
P<<=shift
【０１７３】
例えば、第１のフォーマットの色深度が、１サンプル当たり１０ビットであり、第２のフォーマットの色深度が、１サンプル当たり８ビットであり、現ブロックが、イントラ空間予測を使用すると仮定する。エンコーダ又はデコーダは、イントラ空間予測において使用される隣接位置の１０ビットサンプル値を取得する。これらの１０ビットサンプル値は、８ビットサンプル値に変換され、次いで、これらの８ビットサンプル値を使用して、現ブロックのための８ビット予測サンプル値を生成する。
【０１７４】
変換（１６３２）の後、エンコーダ又はデコーダは、以前に再構成されたコンテンツの変換されたサンプル値のセットを使用して、現ブロックのサンプル値を予測する（１６４２）。符号化中、エンコーダは、次いで、残差値を生成、符号化、及び再構成することができる（１６５２）。復号中、デコーダは、残差値を再構成することができる（１６５２）。エンコーダ又はデコーダは、次いで、予測されたサンプル値に少なくとも部分的に基づいて、現ブロックのサンプル値を再構成する（１６６２）。非スキップブロックに関して、エンコーダ又はデコーダは、予測されたサンプル値を、再構成された残差値と結合して、再構成されたサンプル値を生成することができる。
【０１７５】
この時点において、現ブロックの再構成されたサンプル値は、第２のフォーマットである。現ブロックの再構成されたサンプル値が、再構成されたコンテンツの一部として記憶される前に、第１のフォーマットに変換される。エンコーダ又はデコーダは、第２のフォーマットから第１のフォーマットに、現ブロックの再構成されたサンプル値を変換し（１６７２）、この時点においては第１のフォーマット（例えば、メインフォーマット）である、現ブロックの変換された再構成されたサンプル値を、以前に再構成されたコンテンツの一部として記憶する（１６７０）。
【０１７６】
例えば、第１のフォーマットと第２のフォーマットとが異なる色空間を有する場合、エンコーダ又はデコーダは、色空間変換演算及び／又は色空間並べ替え演算を実行して、現ブロックの再構成されたサンプル値の色空間を、第１のフォーマットに変換する。（第２のフォーマットから第１のフォーマットへの色空間変換演算は、概して、第１のフォーマットから第２のフォーマットへの先の色空間変換演算に類似している。）例えば、エンコーダ又はデコーダは、以下のように、ＹＣｏＣｇ色空間からＲＧＢ色空間に、現ブロックの再構成されたサンプル値Ｒを変換することができる。
【０１７７】
ＹＣｏＣｇ色空間におけるある位置についてのサンプル値が、それぞれ、
RsY、RsCo、及びRsCg
であり、現色深度が、
bit_depthcurrent
であると仮定する。ダイナミックレンジを調整するために、項
add_value
が、
1<<(bit_depthcurrent-1)
（例えば、８ビットサンプル値については１２８）として定義される。ＲＧＢ色空間におけるその位置についてのサンプル値
RsR、RsG、及びRsB
は、
RsCo-=add_value
RsCg-=add_value
RsR=RsY+RsCo-RsCg
RsG=RsY+RsCg
RsB=RsY-RsCo-RsCg
により算出され得る。
【０１７８】
サンプル値
RsR、RsG、及びRsB
は、最小サンプル値と最大サンプル値とにより規定されるレンジ内にクリップされる。
【０１７９】
より一般的に、第２の色空間から第１の色空間に戻す変換のための色変換行列
CC_matrix2_to_1
は、
［  c'00,  c'01,  c'02
c'10,  c'11,  c'12
c'20,  c'21,  c'22  ］
として定義され得る。
【０１８０】
出力のダイナミックレンジを調整するために、オフセット
CC_offsets2_to_1
の行列が使用され得る。オフセット
CC_offsets2_to_1
は、
［  o'0,
o'1,
o'2  ］
として定義され得る。
【０１８１】
第２の色空間における位置についてのサンプル値が、
RsCC2=[Rs00,  Rs01,  Rs02]T
であると仮定する。第１の色空間におけるその位置についてのサンプル値
RsCC1
は、
RsCC1=CC_matrix2_to_1*(RsCC2+CC_offsets2_to_1)
として算出され得る。
【０１８２】
サンプル値
RsCC1
は、適切なレンジにクリップされる。
【０１８３】
再構成されたサンプル値Ｒのための色空間並べ替え演算は、プライマリ色成分及びセカンダリ色成分の順番を変更するために、サンプル値のブロック又はプレーンの色成分を並べ替えることにより実施され得る。
【０１８４】
第１のフォーマットと第２のフォーマットとが異なる色サンプリングレートを有する場合、エンコーダ又はデコーダは、（フィルタリングあり又はフィルタリングなしで）ダウンサンプリング又はアップサンプリングを実行して、現ブロックの再構成されたサンプル値の色サンプリングレートを、第１のフォーマットに変更する。（第２のフォーマットから第１のフォーマットへの色サンプリングレート変換演算は、概して、第１のフォーマットから第２のフォーマットへの先の色サンプリングレート変換演算に類似している。）例えば、エンコーダ又はデコーダは、ダウンサンプリングされた色成分をアップサンプリングすることにより、４：２：０色サンプリングレートから４：４：４色サンプリングレートに、現ブロックの再構成されたサンプル値Ｒを変換することができる。
【０１８５】
第１のフォーマットと第２のフォーマットとが異なる色深度を有する場合、エンコーダ又はデコーダは、以下のように、色深度
bit_depthcurrent
から、再構成されたコンテンツのサンプル値の色深度
bit_depthref
に、現ブロックの再構成されたサンプル値Ｒを変更する。
bit_depthref>bit_depthcurrentである場合
shift=bit_depthref-bit_depthcurrent
R<<=shift
bit_depthref<bit_depthcurrentである場合
shift=bit_depthcurrent-bit_depthref
add=1<<(shift-1)
R=(R+add)>>shift
【０１８６】
エンコーダ又はデコーダは、スライス又はピクチャの他のブロックについて、技術（１６００）を繰り返すことができる。
【０１８７】
図１６において、変換（１６３２）は、予測（１６４２）の前に生じている。代替的に、いくつかのタイプの予測（例えば、イントラ空間予測、イントラＢＣ予測）に関しては、変換は、予測の後でもよい。この場合、エンコーダ又はデコーダは、以前に再構成されたコンテンツのサンプル値のセットを使用して、現ブロックのサンプル値を予測し、次いで、第１のフォーマットから第２のフォーマットに、現ブロックの予測されたサンプル値を変換する。エンコーダ又はデコーダは、現ブロックの変換された予測されたサンプル値に少なくとも部分的に基づいて、現ブロックのサンプル値を再構成する。
【０１８８】
例えば、第１のフォーマットの色深度が、１サンプル当たり１０ビットであり、第２のフォーマットの色深度が、１サンプル当たり８ビットであり、現ブロックが、イントラ空間予測を使用すると仮定する。エンコーダ又はデコーダは、イントラ空間予測において使用される隣接位置の１０ビットサンプル値を取得する。これらの１０ビットサンプル値を使用して、１０ビット予測サンプル値を生成し、次いで、これらの１０ビット予測サンプル値が、８ビットサンプル値に変換される。
【０１８９】
代替的に、再構成されたコンテンツのユニットのサンプル値は、ユニットが符号化されているフォーマットで記憶されてもよい。それぞれのユニットについての符号化フォーマットの何らかのインジケーションも記憶される。再構成されたコンテンツのサンプル値が、必要とされるときに、予測のために別のフォーマットに変換される。
【０１９０】
Ｆ．デブロッキングオペレーションの例
符号化中又は復号中、エンコーダ又はデコーダは、１以上のルールに従って、以前に再構成されたコンテンツについて適応ループ内デブロッキングを実行することができる。いくつかの場合において、デブロッキングは、異なる色空間で符号化された２つのブロック間の境界にわたって適用され得る。
【０１９１】
例えば、適応デブロッキングのいくつかの実装において、２つのブロック間の境界についてのデブロッキングフィルタの強度は、これらの隣接ブロックの一方がゼロでない残差値を有するかどうかに少なくとも部分的に基づく。２つの隣接ブロックが異なる色空間を有する場合、これらのブロックの間の境界についてのデブロッキングフィルタの強度は、これらの２つの隣接ブロックのプライマリ成分がゼロでない残差値を有するかどうかに依存し得る。例えば、色空間が、これらの２つのブロックについて異なるとしても、第１の隣接ブロックのプライマリ成分が評価されるとともに、第２の隣接ブロックのプライマリ成分が評価される。フィルタ強度は、これらのブロックの一方のプライマリ成分がゼロでない残差値を有するかどうか依存する。
【０１９２】
代替的に、１以上のルールは、２つの隣接ブロックの異なる色空間を考慮してもよい。この場合、２つの隣接ブロックが異なる色空間を有する場合、これらのブロックの間の境界についてのデブロッキングフィルタの強度は、これらの２つの隣接ブロックの対応する成分がゼロでない残差値を有するかどうかに依存する。例えば、一方の隣接ブロックの色空間がＧＢＲであり、他方の隣接ブロックの色空間がＲＧＢであると仮定する。両方の色空間とも、ＲＧＢタイプの色空間である。Ｇ成分についてのフィルタ強度を決定するとき、エンコーダ又はデコーダは、第１のブロックの１番目の成分（Ｇ）の残差値と、第２のブロックの２番目の成分（Ｇ）の残差値と、を考慮する。適応デブロッキングのこの変形例は、異なるＲＧＢタイプの色空間を有するブロックについて使用され得る。
【０１９３】
開示した本発明の原理を適用することができる多くの可能な実施形態の観点から、例示した実施形態は、本発明の好ましい例に過ぎないことを認識すべきであり、本発明の範囲を限定するものとして解釈すべきではない。そうではなく、本発明の範囲は、請求項により定められる。したがって、我々は、請求項の範囲及び主旨に含まれる全てを、我々の発明として特許請求する。
【図１】
0006340083.tif 000002
【図２ａ】
0006340083.tif 000003
【図２ｂ】
0006340083.tif 000004
【図３】
0006340083.tif 000005
【図４】
0006340083.tif 000006
【図５ａ】
0006340083.tif 000007
【図５ｂ】
0006340083.tif 000008
【図６】
0006340083.tif 000009
【図７】
0006340083.tif 000010
【図８】
0006340083.tif 000011
【図９】
0006340083.tif 000012
【図１０】
0006340083.tif 000013
【図１１】
0006340083.tif 000014
【図１２】
0006340083.tif 000015
【図１３】
0006340083.tif 000016
【図１４】
0006340083.tif 000017
【図１５】
0006340083.tif 000018
【図１６】
0006340083.tif 000019