(57)【要約】サブ画素パッキングを使用したディスプレイストリーム圧縮画素フォーマット拡張のための方法及び装置が開示される。一態様では、方法は、Ｍチャネルコーデックによって符号化するためにＯチャネルフォーマットで配列された画素値をパックすることを伴う。方法は、一組の入力画素値を受けることを更に伴い得、各入力画素値は、Ｏチャネルフォーマットで配列されたＯ個の入力サブ画素値を含む。方法は、入力サブ画素値の各々を一組の出力画素値へと再配列することを伴い得、出力画素値の各組は、Ｍチャネルフォーマットで配列されたＭ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、再配列されたＭ個の出力サブ画素の少なくとも一部は、Ｏ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する。方法はまた、出力画素値をＭチャネルコーデックに供給することを伴い得る。【選択図】  図４
2018524932.tif 000002
【特許請求の範囲】
【請求項１】
Ｍチャネルコーデックによって符号化するためにＯチャネルフォーマットで配列された画素値をパックする方法であって、
一組の入力画素値を受けることと、各入力画素値は、前記Ｏチャネルフォーマットで配列されたＯ個の入力サブ画素値を備える、
前記入力サブ画素値の各々を一組の出力画素値へと再配列することと、出力画素値の各組は、Ｍチャネルフォーマットで配列されたＭ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、前記再配列されたＭ個の出力サブ画素の少なくとも一部は、前記Ｏ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、
前記出力画素値を前記Ｍチャネルコーデックに供給することと
を備える方法。
【請求項２】
前記Ｍチャネルフォーマットは、Ｍ個の異なるカラーチャネルを含み、前記Ｏチャネルフォーマットは、前記Ｍ個のカラーチャネルと、少なくとも１つの追加のカラーチャネルとを含み、前記方法は、
前記Ｍ個のカラーチャネルの前記入力サブ画素値の各々を、前記出力画素値の対応する前記Ｍ個のカラーチャネルに配列することと、
前記少なくとも１つの追加のカラーチャネルの前記入力サブ画素値の各々を、前記少なくとも１つの追加のカラーチャネルだけを含む出力画素値へと配列することと
を更に備える、請求項１に記載の方法。
【請求項３】
前記Ｍ個のカラーチャネルの前記入力サブ画素値の各々を第１のバッファにバッファすることと、
前記少なくとも１つの追加のカラーチャネルの前記入力サブ画素値の各々を第２のバッファにバッファすることと、
前記出力画素値を構築するために、前記第１のバッファからの画素を選択することと、
前記第２のバッファが、Ｎ個の出力画素値を構築するのに十分な数のサブ画素値を包含した後、前記少なくとも１つの追加のカラーチャネルだけを含む前記Ｎ個の出力画素値を構築するために、前記第２のバッファからの画素を選択することと、前記Ｎ個の出力画素値は、互いに直接隣接している、
を更に備える、請求項２に記載の方法。
【請求項４】
前記第１のバッファ及び前記第２のバッファは、先入れ先出し（ＦＩＦＯ）バッファである、請求項３に記載の方法。
【請求項５】
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の出力画素値において列優先順で配列される、請求項３に記載の方法。
【請求項６】
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の出力画素値において行優先順で配列される、請求項３に記載の方法。
【請求項７】
前記第１のバッファ及び前記第２のバッファのうちのどちらから前記出力画素値を再構築するためのサブ画素を受けるかを、ステートマシンを介して選択すること
を更に備える、請求項３に記載の方法。
【請求項８】
前記一組の入力画素値を受けるレートより大きいレートで前記出力画素値を前記Ｍチャネルコーデックに供給すること
を更に備える、請求項１に記載の方法。
【請求項９】
Ｍチャネルコーデックによって符号化するためにＯチャネルフォーマットで配列された画素値をパックするためのデバイスであって、
前記Ｏチャネルフォーマットで配列された入力画素値のＯ個の入力サブ画素値をそれぞれ受けるように構成されたＯ個の入力チャネルを備えるトランシーバ回路と、
前記Ｏ個の入力サブ画素をバッファするように構成された少なくとも１つバッファと、
前記Ｏ個の入力サブ画素を一組の出力画素値へと再配列するように構成された論理回路と、各出力画素値は、Ｍチャネルフォーマットで配列されたＭ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、前記再配列されたＭ個の出力サブ画素の少なくとも一部は、前記Ｏ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、
を備え、
前記トランシーバ回路は、前記一組の出力画素値を前記Ｍチャネルコーデックに出力するように構成されたＭ個の出力チャネルを更に備える、デバイス。
【請求項１０】
前記Ｍチャネルフォーマットは、Ｍ個の異なるカラーチャネルを含み、前記Ｏチャネルフォーマットは、前記Ｍ個のカラーチャネルと、少なくとも１つの追加のカラーチャネルとを含み、前記論理回路は、
前記Ｍ個のカラーチャネルの前記入力サブ画素値の各々を、前記出力画素値の対応する前記Ｍ個のカラーチャネルに配列することと、
前記少なくとも１つの追加のカラーチャネルの前記入力サブ画素値の各々を、前記少なくとも１つの追加のカラーチャネルだけを含む出力画素値へと配列することと
を行うように更に構成される、請求項９に記載のデバイス。
【請求項１１】
前記バッファは、
前記Ｍ個のカラーチャネルの前記入力サブ画素値の各々をバッファするように構成された第１のバッファと、
前記少なくとも１つの追加のカラーチャネルの前記入力サブ画素値の各々をバッファするように構成された第２のバッファと
を更に備え、
前記論理回路は、
前記出力画素値を構築するために、前記第１のバッファからの画素を選択することと、
前記第２のバッファが、Ｎ個の出力画素値を構築するのに十分な数のサブ画素値を包含した後、前記少なくとも１つの追加のカラーチャネルだけを含む前記Ｎ個の出力画素値を構築するために、前記第２のバッファからの画素を選択することと、前記Ｎ個の出力画素値は、互いに直接隣接している、
を行うように更に構成される、請求項１０に記載のデバイス。
【請求項１２】
前記第１のバッファ及び前記第２のバッファは、先入れ先出し（ＦＩＦＯ）バッファである、請求項１１に記載のデバイス。
【請求項１３】
前記論理回路は、前記少なくとも１つの追加のカラーチャネルの前記サブ画素を列優先順で配列するように更に構成される、請求項１１に記載のデバイス。
【請求項１４】
前記論理回路は、前記少なくとも１つの追加のカラーチャネルの前記サブ画素を行優先順で配列するように更に構成される、請求項１１に記載のデバイス。
【請求項１５】
前記論理回路は、ステートマシンを備え、前記ステートマシンは、前記第１のバッファ及び前記第２のバッファのうちのどちらから前記出力画素値を再構築するためのサブ画素を受けるかを、選択するように構成される、請求項１１に記載のデバイス。
【請求項１６】
前記Ｍ個の出力チャネルは、前記Ｏ個の入力チャネルが前記一組の入力画素値を受けるレートより大きいレートで前記一組の出力画素値を前記Ｍチャネルコーデックに出力するように更に構成される、請求項９に記載のデバイス。
【請求項１７】
Ｍチャネルフォーマットで配列された画素値をアンパックする方法であって、
Ｍチャネルコーデックから一組の入力画素値を受けることと、各入力画素は、前記Ｍチャネルフォーマットで配列されたＭ個の入力サブ画素を備える、
前記入力サブ画素値の各々を一組の出力画素値へと再配列することと、出力画素値の各組は、Ｏチャネルフォーマットで配列されたＯ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、前記再配列されたＯ個の出力サブ画素の少なくとも一部は、前記Ｍ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、
出力として前記出力画素値を供給することと
を備える方法。
【請求項１８】
前記Ｍチャネルフォーマットは、Ｍ個の異なるカラーチャネルを含み、前記Ｏチャネルフォーマットは、前記Ｍ個のカラーチャネルと、少なくとも１つの追加のカラーチャネルとを含み、前記方法は、
前記Ｍ個のカラーチャネルの複数の前記入力サブ画素値を、前記出力画素値の対応する前記Ｏ個のカラーチャネルに配列することと、
前記少なくとも１つの追加のカラーチャネルに対応する前記入力サブ画素値の各々を、前記少なくとも１つの追加のカラーチャネルの出力画素値へと配列することと
を更に備える、請求項１７に記載の方法。
【請求項１９】
前記Ｍ個のカラーチャネルに対応する前記入力サブ画素値の各々を第１のバッファにバッファすることと、
前記少なくとも１つの追加のカラーチャネルに対応する前記入力サブ画素値の各々を第２のバッファにバッファすることと、
前記出力画素値を構築するために、前記第１のバッファからＭ個の画素を、前記第２のバッファから少なくとも１つの画素を選択することと
を更に備える、請求項１８に記載の方法。
【請求項２０】
前記第１のバッファ及び前記第２のバッファは、先入れ先出し（ＦＩＦＯ）バッファである、請求項１９に記載の方法。
【請求項２１】
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の入力画素値において列優先順で配列される、請求項１９に記載の方法。
【請求項２２】
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の入力画素値において行優先順で配列される、請求項１９に記載の方法。
【請求項２３】
前記第１のバッファ及び前記第２のバッファのうちのどちらに前記入力サブ画素値の各々を配置するかを、ステートマシンを介して選択すること
を更に備える、請求項１９に記載の方法。
【請求項２４】
前記一組の入力画素値を受けるレートより小さいレートで前記出力画素値を供給すること
を更に備える、請求項１７に記載の方法。
【請求項２５】
Ｍチャネルフォーマットで配列された画素値をアンパックするためのデバイスであって、
前記Ｍチャネルフォーマットで配列された入力画素値のＭ個の入力サブ画素値をそれぞれ受けるように構成されたＭ個の入力チャネルを備えるトランシーバ回路と、
前記Ｍ個の入力サブ画素をバッファするように構成された少なくとも１つバッファと、
前記Ｍ個の入力サブ画素を一組の出力画素値へと再配列するように構成された論理回路と、各出力画素値は、Ｏチャネルフォーマットで配列されたＯ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、前記再配列されたＯ個の出力サブ画素の少なくとも一部は、前記Ｍ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、
を備え、
前記トランシーバ回路は、前記一組の出力画素値を出力するように構成されたＯ個の出力チャネルを更に備える、
デバイス。
【請求項２６】
前記Ｍチャネルフォーマットは、Ｍ個の異なるカラーチャネルを含み、前記Ｏチャネルフォーマットは、前記Ｍ個のカラーチャネルと、少なくとも１つの追加のカラーチャネルとを含み、前記論理回路は、
前記Ｍ個のカラーチャネルの複数の前記入力サブ画素値を、前記出力画素値の対応する前記Ｏ個のカラーチャネルに配列することと、
前記少なくとも１つの追加のカラーチャネルに対応する前記入力サブ画素値の各々を、前記少なくとも１つの追加のカラーチャネルの出力画素値へと配列することと
を行うように更に構成される、請求項２５に記載のデバイス。
【請求項２７】
前記バッファは、
前記Ｍ個のカラーチャネルに対応する前記入力サブ画素値の各々をバッファするように構成された第１のバッファと、
前記少なくとも１つの追加のカラーチャネルに対応する前記入力サブ画素値の各々に構成された第２のバッファと
を更に備え、
前記論理回路は、前記出力画素値を構築するために、前記第１のバッファからＭ個の画素を、前記第２のバッファから少なくとも１つの画素を選択するように更に構成される、
請求項２６に記載のデバイス。
【請求項２８】
前記第１のバッファ及び前記第２のバッファは、先入れ先出し（ＦＩＦＯ）バッファである、請求項２７に記載のデバイス。
【請求項２９】
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の入力画素値において列優先順で配列される、請求項２７に記載のデバイス。
【請求項３０】
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の入力画素値において行優先順で配列される、請求項２７に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は、ビデオコード化及び圧縮の分野に関し、特に、ディスプレイストリーム圧縮のような、ディスプレイリンクを介した送信のためのビデオ圧縮に関する。
【背景技術】
【０００２】
[0002]デジタルビデオ機能は、デジタルテレビ、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、デスクトップモニタ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングデバイス、ビデオゲームコンソール、セルラ又は衛星無線電話、ビデオ電話会議デバイス、等を含む、広範囲のディスプレイに組み込まれることができる。ディスプレイリンク（display links）は、ディスプレイを適切な発信源デバイスに接続するために使用される。ディスプレイリンクの帯域幅要件は、ディスプレイの解像度に比例し、故に、高解像度ディスプレイは、広帯域幅のディスプレイリンクを必要とする。いくつかのディスプレイリンクは、高解像度ディスプレイをサポートする帯域幅を有さない。帯域幅要件を低減して、より低い帯域幅のディスプレイリンクが、デジタルビデオを高解像度ディスプレイに供給するのに使用されることができるようにするために、ビデオ圧縮が使用されることができる。
【０００３】
[0003]他にも画素データに対して画像圧縮を利用しようとした。しかしながら、そのようなスキームは、視覚的にロスレスではないことがあるか、従来のディスプレイデバイスで実施するのが困難かつ高価であり得る。
【０００４】
[0004]ＶＥＳＡ（Video Electronics Standards Association）は、ディスプレイリンクビデオ圧縮のための規格として、ディスプレイストリーム圧縮（ＤＳＣ）を開発した。ＤＳＣのようなディスプレイリンクビデオ圧縮技法は、とりわけ、視覚的にロスレスなピクチャ品質（すなわち、圧縮がアクティブであることをユーザに悟られないような品質レベルを有するピクチャ）を供給するべきである。ディスプレイリンクビデオ圧縮技法はまた、従来のハードウェアを用いてリアルタイムで実施するのが容易かつ非高価なスキームを提供するべきである。
【発明の概要】
【０００５】
[0005]本開示のシステム、方法、及びデバイスは各々、いくつかの革新的な態様を有し、それらは１つとして、本明細書で開示される望ましい属性を単独で担うものではない。
【０００６】
[0006]一態様では、Ｍチャネルコーデックによって符号化するためにＯチャネルフォーマットで配列された画素値をパックする方法が提供される。方法は、一組の入力画素値を受けることと、ここで、各入力画素値は、Ｏチャネルフォーマットで配列されたＯ個の入力サブ画素値を備える、入力サブ画素値の各々を一組の出力画素値へと再配列することと、ここで、出力画素値の各組は、Ｍチャネルフォーマットで配列されたＭ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、再配列されたＭ個の出力サブ画素の少なくとも一部は、Ｏ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、出力画素値をＭチャネルコーデックに供給することとを伴い得る。
【０００７】
[0007]別の態様では、Ｍチャネルコーデックによって符号化するためにＯチャネルフォーマットで配列された画素値をパックするためのデバイスが提供される。デバイスは、Ｏチャネルフォーマットで配列された入力画素値のＯ個の入力サブ画素値をそれぞれ受けるように構成されたＯ個の入力チャネルを備えるトランシーバ回路と、Ｏ個の入力サブ画素をバッファするように構成された少なくとも１つバッファと、Ｏ個の入力サブ画素を一組の出力画素値へと再配列するように構成された論理回路とを含み得、各出力画素値は、Ｍチャネルフォーマットで配列されたＭ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、再配列されたＭ個の出力サブ画素の少なくとも一部は、Ｏ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持し、トランシーバ回路は、一組の出力画素値をＭチャネルコーデックに出力するように構成されたＭ個の出力チャネルを更に備える。
【０００８】
[0008]更に別の態様では、Ｍチャネルフォーマットで配列された画素値をアンパックする方法が提供される。方法は、Ｍチャネルコーデックから一組の入力画素値を受けることと、ここで、各入力画素は、Ｍチャネルフォーマットで配列されたＭ個の入力サブ画素を備える、入力サブ画素値の各々を一組の出力画素値へと再配列することと、ここで、出力画素値の各組は、Ｏチャネルフォーマットで配列されたＯ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、再配列されたＯ個の出力サブ画素の少なくとも一部は、Ｍ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、出力として出力画素値を供給することとを伴い得る。
【０００９】
[0009]更に別の態様では、Ｍチャネルフォーマットで配列された画素値をアンパックするためのデバイスが提供される。デバイスは、Ｍチャネルフォーマットで配列された入力画素値のＭ個の入力サブ画素値をそれぞれ受けるように構成されたＭ個の入力チャネルを備えるトランシーバ回路と、Ｍ個の入力サブ画素をバッファするように構成された少なくとも１つバッファと、Ｍ個の入力サブ画素を一組の出力画素値へと再配列するように構成された論理回路とを含み得、各出力画素値は、Ｏチャネルフォーマットで配列されたＯ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、再配列されたＯ個の出力サブ画素の少なくとも一部は、Ｍ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持し、トランシーバ回路は、一組の出力画素値を出力するように構成されたＯ個の出力チャネルを更に備える。
【図面の簡単な説明】
【００１０】
【図１Ａ】[0010]図１Ａは、本開示で説明される態様に係る、技法を利用し得る例となるビデオ符号化及び復号システムを例示するブロック図である。
【図１Ｂ】[0011]図１Ｂは、本開示で説明される態様に係る、技法を実行し得る別の例となるビデオ符号化及び復号システムを例示するブロック図である。
【図２Ａ】[0012]図２Ａは、本開示で説明される態様に係る、技法を実施し得るビデオエンコーダの例を例示するブロック図である。
【図２Ｂ】[0013]図２Ｂは、本開示で説明される態様に係る、技法を実施し得るビデオデコーダの例を例示するブロック図である。
【図３】[0014]図３は、本開示で説明される態様に係る、技法を実施し得るビデオエンコーダの別の例を例示するブロック図である。
【図４】[0015]図４は、画素パッキング／アンパッキングのための例となるシステムのブロック図である。
【図５】[0016]図５は、本開示で説明される態様に係る、例となる画素パッキングスキームを例示する図である。
【図６】図６は、本開示で説明される態様に係る、例となる画素パッキングスキームを例示する図である。
【図７】図７は、本開示で説明される態様に係る、例となる画素パッキングスキームを例示する図である。
【図８】図８は、本開示で説明される態様に係る、例となる画素パッキングスキームを例示する図である。
【図９】[0017]図９は、本開示で説明される態様に係る、画素パッキングのための例となるアーキテクチャを例示する図である。
【図１０】[0018]図１０は、本開示で説明される態様に係る、例となるパッキングタイムラインである。
【図１１】[0019]図１１は、品質評価についてのテスト画像を説明する表である。
【図１２】[0020]図１２は、本開示で説明される画素パッキング技法に基づいたピクチャ品質結果を有する表である。
【図１３】[0021]図１３は、本開示で説明される態様に係る、画素パッキングのための方法を例示するフローチャートである。
【図１４】[0022]図１４は、本開示で説明される態様に係る、画素アンパッキングのための方法を例示するフローチャートである。
【発明を実施するための形態】
【００１１】
[0023]一般に、本開示は、伝統的な又はレガシのコード化技法を介して、明度（brightness）、輝度（luminance）すなわちルーマ（luma）、及びカラーを表す追加の色空間をサポートするための技法に関する。例えば、ディスプレイストリーム圧縮（ＤＳＣ）のようなビデオ圧縮技法は、典型的な既存のディスプレイに適している赤，緑，青（ＲＧＢ）又はＹＣｂＣｒ入力フォーマットをサポートし得る。しかしながら、特定のディスプレイは、所与の明度に対してより高い電力効率を達成するために、例えば、第４のサブ画素（例えば、白（Ｗ））といった追加のサブ画素を導入する。第１の入力フォーマット（例えば、ＲＧＢ）から第２の入力フォーマット（例えば、ＲＧＢＷ）フォーマットに変換するためには特別な処理が必要とされ得る。例えば、そのような変換は、ディスプレイドライバ集積回路（ＤＤＩＣ）のようなディスプレイドライバによって実行され得る。しかしながら、システムコストを下げるために、システムオンチップ（ＳｏＣ）を介してそのような変換プロセスをサポートすることが望まれ得る。これは、ＳｏＣがディスプレイリンクにわたった送信についてのＲＧＢＷ情報を生成する必要があり得ることを意味する。ＤＳＣへの既存のアプローチは、現在はＲＧＢＷをサポートしていないため、そのようなシナリオについての圧縮解決策の必要性が残っている。
【００１２】
[0024]特定の実施形態は本明細書ではＤＳＣ規格のコンテキストで説明されているが、当業者であれば、本明細書で開示されるシステム及び方法が、任意の適切なビデオコード化規格に適用可能であり得ることは認識するであろう。例えば、本明細書で開示される実施形態は、以下の規格のうちの１つ又は複数に適用可能であり得る：国際電気通信連合（ＩＴＵ）電気通信標準化部門（ＩＴＵ−Ｔ）Ｈ．２６１、国際標準化機構／国際電気標準会議（ＩＳＯ／ＩＥＣ）ＭＰＥＧ−１（Moving Picture Experts Group-1）ビジュアル、ＩＴＵ−Ｔ Ｈ．２６２すなわちＩＳＯ／ＩＥＣ ＭＰＥＧ−２ビジュアル、ＩＴＵ−Ｔ Ｈ．２６３、ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ビジュアル、（ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ ＡＶＣとしても知られている）ＩＴＵ−Ｔ Ｈ．２６４、高効率ビデオコード化（ＨＥＶＣ）、及びそのような規格に対する任意の拡張。本明細書で説明される技法は、固定ビットレート（ＣＢＲ）バッファモデルを組み込む規格に特に適用可能であり得る。また、本開示で説明される技法は、将来開発される規格の一部となり得る。換言すると、本開示で説明される技法は、前に開発されたビデオコード化規格、現在開発中のビデオコード化規格、及び今度のビデオコード化規格に適用可能であり得る。
【００１３】
ビデオコード化規格
[0025]ビデオ画像、ＴＶ画像、静止画像、又はビデオレコーダ若しくはコンピュータによって生成された画像のようなデジタル画像は、水平線状若しくは垂直線状に配列された画素又はサンプルを含み得る。単一画像中の画素数は典型的に、数万である。各画素は典型的に、輝度及びクロミナンス情報を含む。圧縮なしの場合、画像エンコーダから画像デコーダに伝達されるべき膨大な量の情報は、リアルタイムの画像送信を実現困難にするであろう。送信されるべき情報量を低減するために、ＪＰＥＧ、ＭＰＥＧ、及びＨ．２６３規格のような多数の異なる圧縮方法が開発されてきた。
【００１４】
[0026]ビデオコード化規格には、ＩＴＵ−Ｔ Ｈ．２６１、ＩＳＯ／ＩＥＣ ＭＰＥＧ−１ビジュアル、ＩＴＵ−Ｔ Ｈ．２６２すなわちＩＳＯ／ＩＥＣ ＭＰＥＧ−２ビジュアル、ＩＴＵ−Ｔ Ｈ．２６３、ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ビジュアル、（ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ ＡＶＣとしても知られている）ＩＴＵ−Ｔ Ｈ．２６４、及びＨＥＶＣと、それらの規格の拡張とが含まれる。
【００１５】
[0027]加えて、ビデオコード化規格、すなわちＤＳＣ、は、ＶＥＳＡによって開発されてきた。ＤＳＣ規格は、ディスプレイリンクでの送信のためにビデオを圧縮することができるビデオ圧縮規格である。ディスプレイの解像度が増加するにつれ、このディスプレイを駆動するのに必要とされるビデオデータの帯域幅が相応して増加する。いくつかのディスプレイリンクは、そのような解像度のためのディスプレイにビデオデータの全てを送信するだけの帯域幅を有さない可能性がある。従って、ＤＳＣ規格は、ディスプレイリンクでの相互利用可能で視覚的にロスレスな圧縮のための圧縮規格を規定する。
【００１６】
[0028]ＤＳＣ規格は、Ｈ．２６４及びＨＥＶＣのような他のビデオコード化規格とは異なる。ＤＳＣは、イントラフレーム圧縮を含むが、インターフレーム圧縮は含まず、これは、ビデオデータをコード化する際に時間情報がＤＳＣ規格によって使用されないであろうことを意味する。対照的に、他のビデオコード化規格は、それらのビデオコード化技法においてインターフレーム圧縮を用い得る。
【００１７】
ビデオコード化システム
[0029]新規なシステム、装置、及び方法の様々な態様が、添付の図面に関連して以下でより十分に説明される。しかしながら、本開示は、多くの異なる形式で具現化され得、本開示全体にわたって提示される任意の特定の構造又は機能に限られるものとして解釈されるべきではない。むしろ、これらの態様は、本開示が十分かつ完全となり、本開示の範囲を当業者に十分に伝えるために提供される。本明細書における教示に基づき、当業者は、本開示の範囲が、本明細書で開示される新規なシステム、装置、及び方法の任意の態様を、本発明の任意の他の態様から独立して実施されようとそれと組み合わせられようと、カバーするよう意図されることを認識するべきである。例えば、本明細書で示される任意の数の態様を使用して、装置が実施され得るか、方法が実践され得る。加えて、本開示の範囲は、本明細書で示される開示の様々な態様に加えて、又は、それ以外に、他の構造、機能性、若しくは構造と機能性を使用して実践されるこのような装置又は方法をカバーするよう意図されている。本明細書で開示される任意の態様が、請求項の１つ又は複数の要素によって具現化され得ることは理解されるべきである。
【００１８】
[0030]特定の態様が本明細書で説明されるが、これらの態様の多くの変形及び置換は、本開示の範囲内である。好ましい態様のいくつかの利益及び利点が述べられるが、本開示の範囲は、特定の利益、用途、又は目的に限られるよう意図されない。むしろ、本開示の態様は、異なるワイヤレス技術、システム構成、ネットワーク、及び送信プロトコルに広く適用可能であるよう意図されており、それらのうちのいくつかは、図において及び好ましい態様の以下の説明において例として例示される。発明を実施するための形態及び図面は、限定というよりはむしろ、本開示の単なる例示であり、本開示の範囲は、添付の特許請求の範囲及びそれらの同等物によって定義されている。
【００１９】
[0031]添付の図面は例を例示している。添付の図面において参照番号で示されている要素は、以下の説明において同様の参照番号で示されている要素に対応する。本開示では、順序を示す言葉（例えば、「第１の」、「第２の」、「第３の」、等）で始まる名前を有する要素は、必ずしも、それらの要素が特定の順序を持つことを意味するものではない。むしろ、そのような順序を示す言葉は単に、同じ又は同様のタイプの異なる要素を指すために使用され得る。
【００２０】
[0032]図１Ａは、本開示で説明される態様に係る、技法を利用し得る例となるビデオコード化システム１０を例示するブロック図である。本明細書で説明される使用される場合、「ビデオコーダ」又は「コーダ」という用語は、概して、ビデオエンコーダ及びビデオデコーダの両方を指す。本開示では、「ビデオコード化」又は「コード化」という用語は、概して、ビデオ符号化及びビデオ復号を指し得る。ビデオエンコーダ及びビデオデコーダに加えて、本願で説明される態様は、トランスコーダ（例えば、ビットストリームを復号し、別のビットストリームを再符号化することができるデバイス）及びミドルボックス（例えば、ビットストリームを修正、変換、及び／又は他の方法で操作することができるデバイス）のような他の関連デバイスに拡張され得る。
【００２１】
[0033]図１Ａに示されるように、ビデオコード化システム１０は、宛先デバイス１４によって後に復号されることとなる符号化済みビデオデータを生成する発信源デバイス１２を含む。図１Ａの例では、発信源デバイス１２及び宛先デバイス１４は、別個のデバイスの構成要素となる。しかしながら、図１Ｂの例で示されるように、発信源デバイス１２及び宛先デバイス１４が同じデバイス上にあり得ること又はその一部であり得ることに留意されたい。
【００２２】
[0034]図１Ａを再度参照すると、発信源デバイス１２及び宛先デバイス１４は、それぞれ、デスクトップコンピュータ、ノートブック（例えば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、車載コンピュータ、ビデオストリーミングデバイス、エンティティ内に配置されている、取り込まれている、又は消費されること（consumed）ができるアイウェア（眼鏡類）及び／又はウェアラブルなコンピュータ、デバイス、又は装置のような、エンティティ（例えば、人間、動物、及び／又は別の被制御デバイス）によって（に）ウェアラブルな（又は、取り外し可能に取り付けられる）デバイス、及び／又は同様のものを含む広範囲のデバイスのうちの任意のものを備え得る。様々な実施形態では、発信源デバイス１２及び宛先デバイス１４は、ワイヤレス通信に対応し得る。
【００２３】
[0035]宛先デバイス１４は、復号されることとなる符号化済みビデオデータを、リンク１６を介して、受信し得る。リンク１６は、符号化済みビデオデータを発信源デバイス１２から宛先デバイス１４に移動することができる任意のタイプの媒体又はデバイスを備え得る。図１Ａの例では、リンク１６は、発信源デバイス１２が符号化済みビデオデータを宛先デバイス１４にリアルタイムで送信することを可能にする通信媒体を備え得る。符号化済みビデオデータは、ワイヤレス通信プロトコルのような通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトル又は１つ又は複数の物理伝送回線のような任意のワイヤレス又はワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、広域ネットワーク、又はインターネットのようなグローバルネットワークといった、パケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、又は発信源デバイス１２から宛先デバイス１４への通信を容易にするのに有益であり得る任意の他の機器を含み得る。
【００２４】
[0036]図１Ａの例では、発信源デバイス１２は、ビデオ発信源１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。いくつかのケースでは、出力インターフェース２２は、変調器／復調器（モデム）及び／又は送信機を含み得る。発信源デバイス１２では、ビデオ発信源１８は、例えば、ビデオカメラのような撮影装置、前に撮られたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受けるためのビデオフィードインターフェース、及び／又は発信源ビデオとしてコンピュータグラフィックデータを生成するためのコンピュータグラフィックシステムのような発信源又はそのような発信源の組み合わせを含み得る。一例として、ビデオ発信源１８がビデオカメラである場合、発信源デバイス１２及び宛先デバイス１４は、図１Ｂの例で例示されるような、いわゆる「カメラ付電話」又は「ビデオ電話」を形成し得る。しかしながら、本開示で説明される技法は、概して、ビデオコード化に適用可能であり得、ワイヤレス及び／又はワイヤードアプリケーションに適用され得る。
【００２５】
[0037]撮られた、予め撮られている（pre-captured）、又はコンピュータにより生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化済みビデオデータは、発信源デバイス１２の出力インターフェース２２を介して、宛先デバイス１４に直接送信され得る。符号化済みビデオデータはまた（又は、代替的に）、復号及び／又は再生のための、宛先デバイス１４又は他のデバイスによる後のアクセスのために記憶デバイス３１上に記憶され得る。図１Ａ及び１Ｂに例示されるビデオエンコーダ２０は、図２Ａに例示されるビデオエンコーダ２０又は本明細書で説明される任意の他のビデオエンコーダを備え得る。
【００２６】
[0038]図１Ａの例では、宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。いくつかのケースでは、入力インターフェース２８は、受信機及び／又はモデムを含み得る。宛先デバイス１４の入力インターフェース２８は、リンク１６を介して及び／又は記憶デバイス３１から符号化済みビデオデータを受け得る。リンク１６を介して通信される又は記憶デバイス上で供給される符号化済みビデオデータは、ビデオデコーダ３０のようなビデオデコーダがビデオデータを復号する際に使用するためにビデオエンコーダ２０によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体に記憶されるか、ファイルサーバに記憶される符号化済みビデオデータに含まれ得る。図１Ａ及び１Ｂに例示されるビデオデコーダ３０は、図２Ｂに例示されるビデオデコーダ３０又は本明細書で説明される任意の他のビデオデコーダを備え得る。
【００２７】
[0039]ディスプレイデバイス３２は、宛先デバイス１４と一体化され得るか、それに外付けであり得る。いくつかの例では、宛先デバイス１４は、統合ディスプレイデバイスを含み得、同じく、外部のディスプレイデバイスとインターフェース接続するように構成され得る。他の例では、宛先デバイス１４は、ディスプレイデバイスであり得る。一般に、ディスプレイデバイス３２は、復号済みビデオデータをユーザに表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、又は別のタイプのディスプレイデバイスのような、様々なディスプレイデバイスのうちの任意のものを備え得る。
【００２８】
[0040]関連する態様では、図１Ｂは、例となるビデオコード化システム１０’を示し、ここにおいて、発信源デバイス１２及び宛先デバイス１４は、デバイス１１上にあるか、その一部である。デバイス１１は、「スマート」フォンのような電話ハンドセット又は同様のものであり得る。デバイス１１は、発信源デバイス１２及び宛先デバイス１４と動作可能に通信状態にある（オプションで存在する）プロセッサ／コントローラデバイス１３を含み得る。図１Ｂのビデオコード化システム１０’及びその構成要素は、他の点では（otherwise）、図１Ａのビデオコード化システム１０及びその構成要素に類似し得る。
【００２９】
[0041]ビデオエンコーダ２０及びビデオデコーダ３０は、ＤＳＣのようなビデオ圧縮規格に従って動作し得る。代替的に、ビデオエンコーダ２０及びビデオデコーダ３０は、別名、ＭＰＥＧ−４，Ｐａｒｔ１０，ＡＶＣと呼ばれるＩＴＵ−Ｔ Ｈ．２６４規格、ＨＥＶＣ、又はそのような規格の拡張のような、他の専有又は工業規格に従って動作し得る。しかしながら、本開示の技法は、任意の特定のコード化規格に限られない。ビデオ圧縮規格の他の例は、ＭＰＥＧ−２及びＩＴＵ−Ｔ Ｈ．２６３を含む。
【００３０】
[0042]図１Ａ及び１Ｂの例では示されていないが、ビデオエンコーダ２０及びビデオデコーダ３０は、各々、オーディオエンコーダ及びデコーダと一体化され得、共通のデータストリーム又は別個のデータストリームにおけるオーディオ及びビデオの両方の符号化に対処するために、適切なＭＵＸ−ＤＥＭＵＸユニット又は他のハードウェア及びソフトウェアを含み得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）のような他のプロトコルに準拠し得る。
【００３１】
[0043]ビデオエンコーダ２０及びビデオデコーダ３０は、各々、１つ又は複数のマイクロプロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせのような、様々な適切なエンコーダ回路の任意のものとして実施され得る。本技法が部分的にソフトウェアにより実施される場合、デバイスは、このソフトウェアのための命令を、適切かつ非一時的なコンピュータ読取可能な媒体に記憶し、本開示の技法を実行するために、１つ又は複数のプロセッサを使用してハードウェアで命令を実行し得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は、１つ又は複数のエンコーダ又はデコーダに含まれ得、それらのどちらも、それぞれのデバイスにおける複合エンコーダ／デコーダの一部として一体化され得る。
【００３２】
ビデオコード化プロセス
[0044]簡単に上述したように、ビデオエンコーダ２０は、ビデオデータを符号化する。ビデオデータは、１つ又は複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。いくつかの事例では、ピクチャは、ビデオ「フレーム」と呼ばれ得る。ビデオエンコーダ２０がビデオデータを符号化するとき、ビデオエンコーダ２０は、ビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化表現を形成する一連のビットを含み得る。ビットストリームは、コード化済みピクチャと関連データとを含み得る。コード化済みピクチャは、ピクチャのコード化表現である。
【００３３】
[0045]ビットストリームを生成するために、ビデオエンコーダ２０は、ビデオデータ中の各ピクチャに対して符号化動作を実行し得る。ビデオエンコーダ２０がピクチャに対して符号化動作を実行するとき、ビデオエンコーダ２０は、一連のコード化済みピクチャと関連データとを生成し得る。関連データは、量子化パラメータ（ＱＰ）のような一組のコード化パラメータを含み得る。コード化済みピクチャを生成するために、ビデオエンコーダ２０は、ピクチャを、同じ大きさの複数のビデオブロックへと区分化し得る。ビデオブロックは、２次元アレイのサンプルであり得る。コード化パラメータは、ビデオデータの全てのブロックについてコード化オプション（例えば、コード化モード）を定義し得る。所望のレート−歪み性能（rate-distortion performance）を達成するために、コード化オプションが選択され得る。
【００３４】
[0046]いくつかの例では、ビデオエンコーダ２０は、ピクチャを、複数のスライスへと区分化し得る。スライスの各々は、画像（例えば、フレーム）中に空間的に異なる領域を含み得、それは、画像又はフレーム中の残りの領域からの情報なく独立して復号されることができる。各画像又はビデオフレームは、単一のスライスにおいて符号化され得るか、各画像又はビデオフレームは、いくつかのスライスにおいて符号化され得る。ＤＳＣでは、各スライスを符号化するために割り振られるターゲットビットは、略一定であり得る。ピクチャに対して符号化動作を実行することの一部として、ビデオエンコーダ２０は、ピクチャの各スライスに対して符号化動作を実行し得る。ビデオエンコーダ２０がスライスに対して符号化動作を実行するとき、ビデオエンコーダ２０は、このスライスに関連付けられた符号化済みデータを生成し得る。スライスに関連付けられた符号化済みデータは、「コード化済みスライス」と呼ばれ得る。
【００３５】
例となるビデオエンコーダ
[0047]図２Ａは、本開示で説明される態様に係る、技法を実施し得るビデオエンコーダ２０の例を例示するブロック図である。ビデオエンコーダ２０は、本開示の技法のうちのいくつか又は全てを実行するように構成され得る。いくつかの例では、本開示で説明される技法は、ビデオエンコーダ２０の様々な構成要素の間で共有され得る。いくつかの例では、追加的又は代替的に、プロセッサ（図示されない）は、本開示で説明される技法のうちのいくつか又は全てを実行するように構成され得る。
【００３６】
[0048]説明の目的のために、本開示は、ＤＳＣコード化のコンテキストにおいてビデオエンコーダ２０を説明する。しかしながら、本開示の技法は、他のコード化規格又は方法に適用可能であり得る。
【００３７】
[0049]図２Ａの例では、ビデオエンコーダ２０は、複数の機能的な構成要素を含む。ビデオエンコーダ２０の機能的な構成要素には、色空間コンバータ１０５と、バッファ１１０と、平坦度検出器１１５と、レートコントローラ１２０と、予測器、量子化器、及び再構築器構成要素１２５と、ラインバッファ１３０と、インデックス付き色履歴１３５と、エントロピーエンコーダ１４０と、サブストリームマルチプレクサ１４５と、レートバッファ１５０とが含まれる。他の例では、ビデオエンコーダ２０は、より多い数の、より少ない数の、又は異なる機能的な構成要素を含み得る。
【００３８】
[0050]色空間コンバータ１０５は、入力された色空間を、コード化実施で使用される色空間に変換し得る。例えば、１つの例示的な実施形態では、入力されたビデオデータの色空間は、赤，緑，青（ＲＧＢ）色空間にあり、コード化は、輝度Ｙ、クロミナンス緑Ｃｇ、及びクロミナンスオレンジＣｏ（ＹＣｏＣｇ）色空間により実施される。色空間変換は、ビデオデータへの追加及びシフトを含む方法によって実行され得る。他の色空間にある入力されたビデオデータが処理され得ること及び他の色空間への変換もまた実行され得ることに留意されたい。
【００３９】
[0051]特定のコーデックは、全ての色空間期間間での変換を実行するように設計されていない可能性がある。例えば、赤，緑，青，白（ＲＧＢＷ）のような特定の色空間は、上に記載されたより一般的な３チャネル色フォーマットより多い４つのカラーチャネルを含み得る。ディスプレイ技術の進歩は、追加のサブ画素、例えば、ＲＧＢＷを用い得、この色フォーマットに対する需要を生み出す。しかしながら、レガシの３チャネルコーデックは、３つの入力／出力しか有しておらず、故に、４チャネル入力を受けるようには自然には構成されない。従って、これら３チャネルコーデックは、３チャネル規格の仕様及び内部構造への修正なしにＲＧＢＷビデオデータをコード化することができない。
【００４０】
[0052]関連する態様では、ビデオエンコーダ２０は、バッファ１１０、ラインバッファ１３０、及び／又はレートバッファ１５０を含み得る。例えば、バッファ１１０は、ビデオエンコーダ２０の他の部分による使用より前、色空間変換されたビデオデータを保持し得る。別の例では、ビデオデータは、ＲＧＢ色空間に記憶され得、色空間変換されたデータがより多くのビットを必要とし得るため、色空間変換が必要に応じて実行され得る。
【００４１】
[0053]レートバッファ１５０は、ビデオエンコーダ２０においてレート制御メカニズムの一部として機能し得、これは、レートコントローラ１２０に関連して以下でより詳細に説明される。各ブロックを符号化するのに費やされるビットは、極めて実質的にブロックの性質に基づいて変動することができる。レートバッファ１５０は、圧縮ビデオにおけるレート変動を滑らかにすることができる。いくつかの実施形態では、固定ビットレートでバッファからビットが取り出される固定ビットレート（ＣＢＲ）バッファモデルが用いられる。ＣＢＲバッファモデルでは、ビデオエンコーダ２０が過度に多くのビットをビットストリームに追加する場合、レートバッファ１５０はオーバーフローし得る。他方で、ビデオエンコーダ２０は、レートバッファ１５０のアンダーフローを防ぐために、十分なビットを追加しなければならない。
【００４２】
[0054]ビデオデコーダ側では、ビットが、固定ビットレートでビデオデコーダ３０のレートバッファ１５５（以下でより詳細に説明される図２Ｂを参照）に追加され得、ビデオデコーダ３０は、ブロックごとに可変の数のビットを取り除き得る。適切な復号を確実にするために、ビデオデコーダ３０のレートバッファ１５５は、圧縮ビットストリームの復号中、「アンダーフロー」又は「オーバーフロー」するべきではない。
【００４３】
[0055]いくつかの実施形態では、バッファフルネス（ＢＦ）は、バッファ中に現在あるビット数を表す値BufferCurrentSizeと、レートバッファ１５０のサイズを表すBufferMaxSize、すなわち、いずれかの時点でレートバッファ１５０に記憶されることができる最大ビット数、とに基づいて定義され得る。ＢＦは、次のように算出され得る：
ＢＦ＝（（BufferCurrentSize*１００）／BufferMaxSize）
【００４４】
[0056]ＢＦを算出する上記アプローチが単なる例示であること及びＢＦが、特定の実施又はコンテキストに依存して、任意の数の異なる方法で算出され得ることに留意されたい。
【００４５】
[0057]平坦度検出器１１５は、ビデオデータ中の複雑な（すなわち、平坦でない）エリアからビデオデータ中の平坦な（すなわち、単純な又は均一の）エリアへの及び／又はその逆への変化を検出することができる。「複雑（な）」及び「平坦（な）」という用語は、一般に、ビデオエンコーダ２０がビデオデータのそれぞれの領域を符号化することの難しさを示すために本明細書で使用されるであろう。故に、複雑（な）という用語は、本明細書で使用される場合、一般に、ビデオデータの領域を、ビデオエンコーダ２０が符号化し難いものとして説明し、例えば、テキスチャ化されたビデオデータ、高空間周波数、及び／又は符号化し難い他の特徴を含み得る。平坦（な）という用語は、本明細書で使用される場合、一般に、ビデオデータの領域を、ビデオエンコーダ２０が符号化し易いものとして説明し、例えば、ビデオデータ中の滑らかな勾配、低空間周波数、及び／又は符号化し易い他の特徴を含み得る。符号化済みビデオデータ中の量子化アーティファクトを低減するために、複雑領域から平坦領域への遷移が、ビデオエンコーダ２０によって使用され得る。具体的には、レートコントローラ１２０及び予測器、量子化器、及び再構築器構成要素１２５は、複雑領域から平坦領域への遷移が識別されるときに、そのような量子化アーティファクトを低減することができる。同様に、平坦領域から複雑領域への遷移は、現在ブロックをコード化するのに必要とされる期待レートを低減するためにＱＰを増加するため、ビデオエンコーダ２０によって使用され得る。
【００４６】
[0058]レートコントローラ１２０は、一組のコード化パラメータ、例えば、ＱＰ、を決定する。ＱＰは、レートバッファ１５０がオーバーフロー又はアンダーフローしないことを確実にするターゲットビットレートについてのピクチャ品質を最大化するために、レートバッファ１５０のバッファフルネスとビデオデータの画像アクティビティ（例えば、複雑領域から平坦領域への遷移又はその逆）とに基づいて、レートコントローラ１２０によって調整され得る。レートコントローラ１２０はまた、最適なレート−歪み性能を達成するために、ビデオデータの各ブロックについて特定のコード化オプション（例えば、特定のモード）を選択する。レートコントローラ１２０は、ビットレート制約を満たすように、すなわち、実際のコード化レート全体がターゲットビットレート内に収まるように、再構築された画像の歪みを最小化する。故に、レートコントローラ１２０の１つの目的は、レート−歪み性能を最大化しつつレートに対する瞬間的及び平均的な制約を満たすために、コード化モード、ＱＰ、等の一組のコード化パラメータを決定することである。
【００４７】
[0059]予測器、量子化器、及び再構築器構成要素１２５は、ビデオエンコーダ２０の少なくとも３つの符号化動作を実行し得る。予測器、量子化器、及び再構築器構成要素１２５は、多数の異なるモードで予測を実行し得る。１つの例となる断定モード（predication mode）は、中央値適応予測の修正バージョンである。中央値適応予測は、ロスレスなＪＰＥＧ規格（ＪＰＥＧ−ＬＳ）によって実施され得る。予測器、量子化器、及び再構築器構成要素１２５によって実行され得る中央値適応予測の修正バージョンは、３つの連続したサンプル値の並行予測を可能にし得る。別の例となる予測モードは、ブロック予測である。ブロック予測では、上の線又は同じ線の左にある、前に再構築された画素からサンプルが予測される。いくつかの実施形態では、ビデオエンコーダ２０及びビデオデコーダ３０は両方とも、再構築された画素に対して同一探索を実行して、ブロック予測用法を決定し得るため、ブロック予測モードではいずれのビットも送られる必要はない。他の実施形態では、ビデオエンコーダ２０は、その探索を実行し、ビットストリームにおいてブロック予測ベクトルを信号伝達し得、これによって、ビデオデコーダ３０は、別個の探索を実行する必要がない。構成要素範囲（component range）の中間点を使用してサンプルが予測される中間点予測モードもまた実施され得る。中間点予測モードは、ワーストケースのサンプルにおいて圧縮ビデオに必要とされるビット数の境界決め（bounding）を可能にし得る。
【００４８】
[0060]予測器、量子化器、及び再構築器構成要素１２５もまた、量子化を実行する。例えば、量子化は、シフタを使用して実施され得る２のべき乗量子化器（power-of-2 quantizer）を介して実行され得る。２のべき乗量子化器の代わりに他の量子化技法が実施され得ることに留意されたい。予測器、量子化器、及び再構築器構成要素１２５によって実行される量子化は、レートコントローラ１２０によって決定されるＱＰに基づき得る。最後に、予測器、量子化器、及び再構築器構成要素１２５はまた、逆量子化残差を予測値に加えることと、その結果がサンプル値の有効範囲外にならないことを確実にすることとを含む再構築を実行する。
【００４９】
[0061]予測器、量子化器、及び再構築器構成要素（reconstructor component）１２５によって実行される予測、量子化、及び再構築への上述した例となるアプローチは単なる例示であること及び他のアプローチが実施され得ることに留意されたい。予測器、量子化器、及び再構築器構成要素１２５が、予測、量子化、及び／又は再構築を実行するための従属構成要素を含み得ることも留意されたい。予測、量子化、及び／又は再構築が、予測器、量子化器、及び再構築器構成要素１２５の代わりに、いくつかの別個のエンコーダ構成要素によって実行され得ることに更に留意されたい。
【００５０】
[0062]ラインバッファ１３０は、予測器、量子化器、及び再構築器構成要素１２５とインデックス付き色履歴１３５とが、バッファされたビデオデータを使用することできるように、予測器、量子化器、及び再構築器構成要素１２５からの出力を保持する。インデックス付き色履歴（indexed color history）１３５は、最近使用された画素値を記憶する。これらの最近使用された画素値は、専用シンタックスを介して、ビデオエンコーダ２０によって直接参照されることができる。
【００５１】
[0063]エントロピーエンコーダ１４０は、インデックス付き色履歴１３５と、平坦度検出器１１５によって識別される平坦度遷移とに基づいて、予測器、量子化器、及び再構築器構成要素１２５から受けた予測残差及び任意の他のデータ（例えば、予測器、量子化器、及び再構築器構成要素１２５によって識別されるインデックス）を符号化する。いくつかの例では、エントロピーエンコーダ１４０は、サブストリームエンコーダにつき１クロックあたり３つのサンプルを符号化し得る。サブストリームマルチプレクサ１４５は、ヘッダーレスパケット多重化スキームに基づいて、ビットストリームを多重化し得る。これは、ビデオデコーダ３０が、並列に３つのエントロピーデコーダを稼働させることを可能にし、これは、１クロックあたり３つの画素の復号を容易にする。サブストリームマルチプレクサ１４５は、パケットがビデオデコーダ３０によって効率的に復号されることができるようにパケット順序を最適化し得る。エントロピーコード化への異なるアプローチが実施され得、これは、１クロックあたり２のべき乗個の画素（例えば、２画素／クロック又は４画素／クロック）の復号を容易にし得ることに留意されたい。
【００５２】
例となるビデオデコーダ
[0064]図２Ｂは、本開示で説明される態様に係る、技法を実施し得るビデオデコーダ３０の例を例示するブロック図である。ビデオデコーダ３０は、本開示の技法のうちのいくつか又は全てを実行するように構成され得る。いくつかの例では、本開示で説明される技法は、ビデオデコーダ３０の様々な構成要素の間で共有され得る。いくつかの例では、追加的又は代替的に、プロセッサ（図示されない）は、本開示で説明される技法のうちのいくつか又は全てを実行するように構成され得る。
【００５３】
[0065]説明の目的のために、本開示は、ＤＳＣコード化のコンテキストにおいてビデオデコーダ３０を説明する。しかしながら、本開示の技法は、他のコード化規格又は方法に適用可能であり得る。
【００５４】
[0066]図２Ｂの例では、ビデオデコーダ３０は、複数の機能的な構成要素を含む。ビデオデコーダ３０の機能的な構成要素には、レートバッファ１５５と、サブストリームデマルチプレクサ１６０と、エントロピーデコーダ１６５と、レートコントローラ１７０と、予測器、量子化器、及び再構築器構成要素１７５と、インデックス付き色履歴１８０と、ラインバッファ１８５と、色空間コンバータ１９０とが含まれる。ビデオデコーダ３０の例示される構成要素は、図２Ａのビデオエンコーダ２０に関連して上述した対応する構成要素に類似する。このように、ビデオデコーダ３０の構成要素の各々は、上述したようなビデオエンコーダ２０の対応する構成要素と同様の方式で動作し得る。
【００５５】
ＤＳＣでのスライス
[0067]上述したように、スライスは一般に、画像又はフレーム中の領域の残りからの情報を使用することなく独立して復号されることができる画像又はフレーム中の空間的に異なる領域を指す。各画像又はビデオフレームは、単一のスライスにおいて符号化され得るか、各画像又はビデオフレームは、いくつかのスライスにおいて符号化され得る。ＤＳＣでは、各スライスを符号化するために割り振られるターゲットビットは、略一定であり得る。
【００５６】
量子化パラメータ（ＱＰ）
[0068]上述したように、ビデオコード化は、例えば、予測器、量子化器、及び再構築器構成要素１２５を介したビデオデータの量子化を含み得る。量子化は、信号にロスを導入し得、このロスの量は、レートコントローラ１２０によって決定されるＱＰによって制御されることができる。各ＱＰについての量子化ステップサイズを記憶するよりむしろ、スケーリング行列が、ＱＰの関数として特定され得る。各ＱＰについての量子化ステップサイズは、スケーリング行列から導出され得、導出された値は、必ずしも、２のべき乗である必要はなく、すなわち、導出される値はまた、２のべき乗以外（non-power of two）であり得る。
【００５７】
ビデオエンコーダの更なる例
[0069]図３は、ビデオエンコーダ２０の別の例を例示するブロック図であり、それを用いて本明細書で説明される態様に係る技法を実施する。ビデオエンコーダ２０又はそれの構成要素は、本開示の技法のうちのいくつか又は全てを実行するように構成され得る。いくつかの例では、本開示で説明される技法は、ビデオエンコーダ２０の様々な構成要素の間で共有又は分散され得る。いくつかの例では、追加的又は代替的に、プロセッサ（図示されない）は、本明細書で説明される技法のうちのいくつか又は全てを実行するように構成され得る。
【００５８】
[0070]図３の例では、ビデオエンコーダ２０は、複数の機能的な構成要素を含む。ビデオエンコーダ２０の機能的な構成要素には、例えば、平坦度検出器１１５と、レートコントローラ１２０と、エントロピーエンコーダ１４０と、サブストリームマルチプレクサ１４５と、レートバッファ１５０と、ラインバッファ３０５と、ラスタ−ブロックコンバータ３１０と、モード評価器３１５と、モードセレクタ３２０と、再構築器３２５と、更新再構築バッファ構成要素３３０と、更新パターンデータベース構成要素３３５とが含まれ得る。他の例では、ビデオエンコーダ２０は、より多い数の、より少ない数の、又は異なる機能的な構成要素を含み得る。平坦度検出器１１５、レートコントローラ１２０、エントロピーエンコーダ１４０、サブストリームマルチプレクサ１４５、及びレートバッファ１５０は、図２Ａに関連して上述したビデオエンコーダ２０の対応する構成要素に類似して機能し得、故に、これらの構成要素の更なる詳細な解説は、繰り返されないであろう。
【００５９】
[0071]ラインバッファ３０５は、１つのバッファ、又は、例えば、ビデオデータの２〜４つのラインを記憶する複数のバッファであり得る。ラインバッファ３０５によって記憶されるビデオデータのラインは、ラスタ−ブロックコンバータ３１０に供給され得る。ラインバッファ３０５によって記憶されるラインの数は、画素のブロック（例えば、Ｋ×２又はＫ×４ブロック）を作成するために使用される画素の行の数に対応し得る。ラスタ−ブロックコンバータ３１０は、ビデオデータのラインを、エンコーダ２０が作用するよう設計されたビデオデータのブロックへと変換し得る。
【００６０】
[0072]ラスタ−ブロックコンバータ３１０は、これらのブロックを平坦度検出器１１５及び／又はモード評価器３１５に供給するように構成され得る。平坦度検出器１１５は、ビデオデータ中の平坦エリアを検出し、図２Ａの平坦度検出器１１５と同様の方法で動作し得る。同様に、平坦度検出器１１５からの出力を受けるレートコントローラ１２０は、図２Ａのレートコントローラ１２０と同様の方法で動作し得る。
【００６１】
[0073]モード評価器３１５は、複数のコード化モードにおいてラスタ−ブロックコンバータ３１０から受けたブロックのコード化に関連付けられた１つ又は複数のパラメータを評価するように構成され得る。例えば、モード評価器３１５は、複数のコード化モードの各々について現在ブロックを符号化することに関するレート−歪みコストを決定し得る。コード化モードの例には、変換コード化モード（例えば、ＤＣＴ、アマダール、等）、ブロック予測コード化モード、差動パルス符号変調（ＤＰＣＭ）コード化モード、パターンコード化モード、中間点予測（ＭＰＰ）コード化モード、及びＭＰＰフォールバック（ＭＰＰＦ）コード化モードが含まれ得る。モードセレクタ３２０は、ビデオデータの現在ブロックを符号化するための複数のコード化モードのうちの１つを選択し得る。一実施では、モードセレクタ３２０は、モード評価器３１５によって決定された最も低いレート−歪みコストを有するコード化モードを選択するように構成され得る。モードセレクタ３２０の出力は、再構築器３２５及び／又はエントロピーエンコーダ１４０に供給され得る。エントロピーエンコーダ１４０、サブストリームマルチプレクサ１４５、及びレートバッファ１５０の各々は、図２Ａに関して説明された例となるエンコーダの対応する構成要素に類似して動作し得る。
【００６２】
[0074]図２Ａのエンコーダの予測器、量子化器、及び再構築器構成要素１２５と同様に、再構築器３２５は、最初に受けたビデオデータの再構築を実行し得、これは、逆量子化された残差を予測値に追加することと、この結果が、サンプル値の許容範囲又は有効範囲外にならないことを確実にすることとを含み得る。更新再構築バッファ３３０は、再構築器３２５からのビデオデータの再構築に関する情報を記憶するように構成され得る。例えば、更新再構築バッファ３３０は、現在ブロックと同じライン及び前に再構築されたラインに再構築された画素値を記憶し得る。特定の実施では、これらの再構築された画素値は、特定のコード化モードでの予測に使用され得る。
【００６３】
[0075]更新パターンデータベース３３５は、ビデオデータ中に繰り返して又はよく現れる画素値を記憶するように構成され得る。これらの記憶された画素値は、インデックスを参照するコード化モードのような特定のコード化モード（例えば、パターンコード化モード）によって使用され得る。記憶された画素値を参照するための更新パターンデータベース３３５における１つ又は複数のインデックスの使用は、大きな領域が小さい組の異なる画素値を含み得る、グラフィックスコンテンツのような特定のコンテンツタイプについてレート−歪みを改善し得る。
【００６４】
[0076]詳細には説明又は例示されていないが、当業者であれば、対応するビデオデコーダが、図３に例示されたビデオエンコーダ２０に基づいて構築され得ることは認識するであろう。そのようなビデオデコーダは、ビデオエンコーダ２０が受けたビデオデータに対応する視覚的にロスレスな画像を再生するために、符号化済みビデオビットストリームを復号するように構成され得る。
【００６５】
[0077]ビデオエンコーダ及び／又はビデオデコーダの特定の実施形態は、本明細書ではＤＳＣ規格のコンテキストにおいて説明されているが、当業者であれば、本明細書で開示されるシステム及び方法が、任意の適切なビデオコーダ又はコード化規格に適用可能であり得ることは認識するであろう。
【００６６】
[0078]図１Ａ−１Ｂ、図２Ａ−２Ｂ、及び／又は図３に例示されたビデオエンコーダ２０、ビデオデコーダ３０、及び／又はそれらの構成要素が、本明細書で説明されるコード化技法の特徴のうちの１つ又は複数を実行するように構成され得ることに留意されたい。
【００６７】
[0079]ビデオエンコーダ、ビデオデコーダ、及び／又はそれらの構成要素は、バッファを含む複数のプログラマブル計算ユニットによって共有される統合グローバルメモリを含むデバイスで実施され得、ここにおいて、バッファは、先入れ先出し（ＦＩＦＯ）バッファを含み得る。デバイスは、少なくとも１つのプロセッサ又はプロセッサ回路（例えば、中央処理ユニット（ＣＰＵ））及び／又はグラフィックス処理ユニット（ＧＰＵ）を含み得る集積回路（ＩＣ）を更に含み得、ここにおいて、ＧＰＵは、１つ又は複数のプログラマブル計算ユニットを含み得る。デバイスは、ＳｏＣの一部であり得、ここにおいて、少なくとも１つの低減命令セット計算（ＲＩＳＣ）命令セットを使用するＣＰＵを含み得るＳｏＣ。ＳｏＣは、複数のＣＰＵコア及びＧＰＵを含み得る。
【００６８】
サブ画素パッキングを使用した画素フォーマット拡張
[0080]本開示の１つ又は複数の態様に従って、ＤＳＣが、例えば、ＲＧＢＷのような新しい画素フォーマットをサポートすることを可能にするサブ画素パッキングのための技法が提供される。本開示は、ＤＳＣの有用性をＲＧＢ及びＹＣｂＣｒベースのフォーマットを超えて拡張し、ＤＳＣ規格に関連付けられた高レベルのピクチャ品質を保ちつつ、ＤＳＣが４つ以上の原色（例えば、ＲＧＢＷ）に作用する（operate on）ことを可能にする技法を提供する。これは、エンコーダの入力においてカスタム事前処理ステップを、デコーダの後に対応する事後処理ステップを追加することによって達成され得る。エンコーダ及びデコーダは、それら自体、いずれの修正も必要としない。
【００６９】
[0081]図４の例を参照すると、ＤＳＣ規格が、４つ以上の原色を有する画素フォーマットのようなＲＧＢ及びＹＣｂＣｒを超えた新しい画素フォーマットをサポートすることを可能にするサブ画素パッキング／アンパッキングのためのシステム２００のブロック図が示されている。４つ以上の原色をサポートする画素フォーマットの例は、ＲＧＢＷである。例示を目的として、本開示の態様を例示するために、ＲＧＢＷのサブ画素パッキングが使用される；しかしながら、本明細書で説明される技法が、ＲＧＢＷ、ＲＧＢ、及びＹＣｂＣｒを超えた他の画素フォーマットに適用可能であることは理解されるであろう。
【００７０】
[0082]システム２００の例には、互いに通信状態にあるＳｏＣ２１０及びディスプレイドライバ集積回路（ＩＣ）２５０が含まれ得る。ＳｏＣ２１０は、圧縮データストリームをディスプレイドライバＩＣ２５０に送出する。
【００７１】
[0083]ＳｏＣ２１０は、４つ上のサブ画素値（例えば、ＲＧＢＷ）を受け、これら４つ上のサブ画素値をパックし、より小さい数（例えば、３つ）のサブ画素値（例えば、ＲＧＢ）を出力する画素パッキングユニット２２０を含み得る。所与のフォーマットでのサブ画素値の数は、以降、チャネルの数と呼ばれ得る（これは、サブストリームの数とも呼ばれ得る）。ＳｏＣ２１０は、画素パッキングユニット２２０から３つのサブ画素値を受けるＤＳＣエンコーダ２０を含み得る。例えば、ＤＳＣエンコーダ２０は、図２Ａ又は図３のエンコーダ２０を備え得る。より小さい数の画素値への４つ以上のサブ画素値のパッキングは、４つ以上のサブ画素値を、ＤＳＣエンコーダ２０への入力として許容できるフォーマットへとフォーマット化し得る。
【００７２】
[0084]ディスプレイドライバＩＣ２５０は、ＤＳＣエンコーダ２０から圧縮データストリームを受けるＤＳＣデコーダ３０を含み得る。ディスプレイドライバＩＣ２５０は、ＤＳＣデコーダ３０から３つのサブ画素値（例えば、ＲＧＢ）を受け、これら３つのサブ画素値を４つ以上のサブ画素値（例えば、ＲＧＢＷ）へとアンパックする画素アンパッキングユニット２６０を含み得る。アンパックされたサブ画素値のチャネルの数は、画素パッキングユニット２２０が受けるチャネルの数に対応し得る。
【００７３】
[0085]ＳｏＣ２１０における３つのサブ画素値への４つのサブ画素値のパッキングに加えて、ディスプレイドライバＩＣ２５０における４つのサブ画素値への３つのサブ画素値の対応するアンパッキングは、例示を目的として、本明細書において示され、説明される。サブ画素パッキング技法が、任意の適切な数のサブ画素値に使用され得ることに留意されたい。追加的に、サブ画素値の数は、所与のディスプレイデバイスによって使用されるサブ画素の数に対応する場合もしない場合もある。
【００７４】
[0086]図５を参照すると、画素パッキングへの例となるアプローチが示されている。レートｘのＲＧＢＷ入力シーケンス４００が図５の左側に示されている。データ４１０に適用されるような（４ｘ／３のレートでの）相関特性を持つパッキングスキームが右側に示されている。具体的には、図５の右上にあるパッキングスキームは、（例えば、上から下、左から右に）データの順序を変更することなくＲＧＢＷデータをＲＧＢチャネルへとパックするにすぎない。データ４１０は、図５の右下に示されているように、データ４２０のように、ＲＧＢ入力フォーマットを仮定するＤＳＣコーデック（例えば、図４のＤＳＣエンコーダ２０又はＤＳＣデコーダ３０）によって解釈される。図５のパッキングスキームが、低減されたデータ相関による、最適に満たない圧縮画像品質に導き得る準最適な相関特性を有し得ることに留意されたい。例えば、ＤＳＣコーデックは、赤画素として画素値Ｒ１を解釈し、この仮定に基づいて符号化／復号技法を適用し得る。しかしながら、図５のパッキング技法によれば、この画素は、画素値Ｗ０でパックされている。故に、画素値Ｗ０を、それが画素値Ｒ０と特定の相関を有するべきであると仮定して、ＤＳＣエンコーダが符号化しようと試みるつもりである場合、エンコーダは、この仮定が真であった場合にそうしないと生じたであろう効率を実現しないであろう。
【００７５】
[0087]図６を参照すると、画素パッキングへの別の例となるアプローチが示されている。レートｘのＲＧＢＷ入力シーケンス５００は、図６の左側に示されている。図６のパッキングスキームが、高ピクチャ品質圧縮に対する空間相関を保つように設計されることに留意されたい。図６における白（Ｗ）サブ画素は、列優先順（column-major order）で配列されている。
【００７６】
[0088]データ５１０に適用されるような相関特性（レート４ｘ／３）を維持する１つのパッキングスキームが、図６の右上に示されており、ここでＮ＝１である。より大きいＮ値が相関を改善し得ることに留意されたい。Ｎ＝２である場合にデータ５２０に適用されるような相関特性（レート４ｘ／３）を維持するパッキングスキーム、も、図６の右側に示されている。Ｎ＝３である場合にデータ５３０に適用されるような相関特性（レート４ｘ／３）を維持するパッキングスキーム、も、図６の右側に示されている。データ５１０（Ｎ＝１）、データ５２０（Ｎ＝２）、又はデータ５３０（Ｎ＝３）は、図５の右下に示されているように、データ５４０のように、ＲＧＢ入力フォーマットを仮定するＤＳＣコーデックによって解釈され得る。Ｎが任意の整数であり得ること、及び、Ｎが、例示を目的として本明細書で使用されるＮ値（例えば、Ｎ＝１、２、又は３）に限られないことに留意されたい。
【００７７】
[0089]図６のパッキングスキームでは、ＤＳＣコーダは、白画素値Ｗ０〜Ｗ８をＲＧＢ画素値として解釈する。しかしながら、図６のパッキングスキーム内の白画素値Ｗ０〜Ｗ８の配列により、画素値間の空間相関は、図５の画素パッキングスキームの場合より失われない。例えば、Ｎ＝１のパッキングスキームでは、画素値Ｒ０〜Ｒ２、Ｇ０〜Ｇ２、及びＢ０〜Ｂ２の相対空間位置は変らないままである。故に、これらの画素値についての空間相関は、画素値Ｗ０〜Ｗ２が出力画素値に配置されるまで、そのままである。Ｎ＝２及びＮ＝３のパッキングスキームから分かるように、更なる空間相関でさえも、画素値Ｗ０〜Ｗ８の配列により維持される。追加的に、まとめて配列され得る白画素値Ｗ０〜Ｗ８間には、白画素値Ｗ０〜Ｗ８と他のカラーチャネルの画素値との間より大きい相関が存在し得る。。
【００７８】
[0090]図６を更に参照すると、当業者であれば、例示された画素パッキングスキームが、出力シーケンス５１０、５２０、５３０の各々において、入力シーケンスからの画素の相対空間位置決め（例えば、空間配列）の少なくともいくらかを維持することを認識するであろう。例えば、サブ画素値Ｒ０〜Ｒ２、Ｇ０〜Ｇ２、及びＺＢ０〜Ｂ２を含む最初の３つの画素値は、出力シーケンス５１０において、入力シーケンス５００と同じ空間配列を有する。白画素Ｗ０〜Ｗ２の空間配列は、出力シーケンス５１０において変えられるが、少なくともサブ画素値Ｒ０〜Ｒ２、Ｇ０〜Ｇ２、及びＢ０〜Ｂ２の空間位置決めは、実質的に維持される。更に、より高いＮ値を有するパッキングスキーム５２０及び５３０では、より多くの数の入力サブ画素が、同じ相対空間位置決めで維持される。
【００７９】
[0091]図７を参照すると、画素パッキングへの更に別の例となるアプローチが示されている。レートｘのＲＧＢＷ入力シーケンス６００が図７の左側に示されている。図６のものと同様に、図７のパッキングスキームが、高ピクチャ品質圧縮に対する空間相関を保つように設計されることに留意されたい。しかしながら、図７におけるＷサブ画素は、列優先順序よりむしろ行優先順（row-major order）で配列される。符号化されることとなるビデオデータのコンテンツに依存して、行優先順又は列優先順でのＷサブ画素の配列は、ＤＳＣエンコーダ２０の効率に対して影響を与え得る。
【００８０】
[0092]データ６１０に適用されるような相関特性（レート４ｘ／３）を維持するパッキングスキームが、図７の右上に示されており、ここでＮ＝１である。図６の実施形態にあるように、より大きいＮ値が相関を改善し得ることに留意されたい。Ｎ＝２である場合にデータ６２０に適用されるような相関特性（レート４ｘ／３）を維持するパッキングスキーム、も、図７の右側に示されている。Ｎ＝３である場合にデータ６３０に適用されるような相関特性（レート４ｘ／３）を維持するパッキングスキーム、も、図７の右側に示されている。データ６１０（Ｎ＝１）、データ６２０（Ｎ＝２）、又はデータ６３０（Ｎ＝３）は、図７の右下に示されるように、データ６４０のように、ＲＧＢ入力フォーマットを仮定するＤＳＣコーデックによって解釈され得る。
【００８１】
[0093]図８を参照すると、画素パッキングへの更に別の例となるアプローチが示されている。レートｘのＲＧＢＷ入力シーケンス７００が図８の左側に示されている。図６及び図７のものと同様に、図８のパッキングスキームが、高ピクチャ品質圧縮に対する空間相関を保つように設計されることに留意されたい。しかしながら、図８に示されているＷサブ画素は、行優先順で３×３のグループに順序付けされて配列される。Ｎは、この例では、３の倍数である。
【００８２】
[0094]データ７１０に適用されるような相関特性を維持するパッキングスキームが、図８の右上に示されており、ここでＮ＝３である。この場合も同様に、より大きいＮ値が相関を改善し得ることは留意されたい。Ｎ＝６である場合にデータ７２０に適用されるような相関特性を維持するパッキングスキーム、も、図８の右側に示されている。データ７２０（Ｎ＝３）及びデータ７２０（Ｎ＝６）は、図８の右下に示されるように、データ７３０のように、ＲＧＢ入力フォーマットを仮定するＤＳＣコーデックによって解釈され得る。
【００８３】
[0095]パッキングスキームに対する３の倍数の使用は、Ｎの他の値が取得しない特定の効率につながり得る。例えば、ＤＳＣコーダは、３チャネルコードであり、故に、入力データを、３つのグループに分割される相対空間位置決めを有するグループへとフォーマット化する（例えば、Ｗサブ画素をまとめてグループ化し、ここで、Ｎは３の倍数である）ことで、コード化されたＤＳＣは、このコーデックを設計する際に使用される仮定を利用し得る。一般に、Ｎの値を、コーデックによって使用されるカラーチャネルの数の倍数にすることは有益であり得る。
【００８４】
[0096]図９を参照すると、画素パッキングのための例となるアーキテクチャが示されている。例えば、４つ以上のサブ画素値（例えば、ＲＧＢＷ）を受け、これら４つ上のサブ画素値をパックし、より小さい数（例えば、３つ）のサブ画素値（例えば、ＲＧＢ）を出力する画素パッキングユニット２２０が示されている。例示を目的として、この例は、図６の例となる技法に対応し、６つのＲＧＢＷサンプル（Ｎ＝２）についてのＲＧＢＷからＲＧＢへの画素パッキングの動作のためのものである。６つのＲＧＢＷサンプルは、６（４／３）＝８つのＲＧＢサンプルになるであろう。ＲＧＢＷサンプルについての入力クロックは、出力クロックに対して４／３比率でスケールアップされる。ｔが、入力クロックについての１サイクルの周期である場合、出力クロックについての１サイクルの周期は、３ｔ／４である。
【００８５】
[0097]画素パッキングユニット２２０は、２つ以上のＦＩＦＯバッファを含み得る。例えば、画素パッキングユニット２２０は、図９に示されるように配列された、ＦＩＦＯバッファ２２２及びＦＩＦＯバッファ２２４並びにステートマシン２２６及びセレクタユニット２２８を含み得る。ＦＩＦＯバッファ２２２は、ＲＧＢサブ画素値を記憶するように構成され得る。ＦＩＦＯバッファ２２４は、Ｗサブ画素を記憶するように構成され得る。ＦＩＦＯバッファ２２２及びＦＩＦＯバッファ２２４の記憶要件は、Ｎの値と、パッキング技法（例えば、図６−８の例となる技法）とに依存する。
【００８６】
[0098]ＦＩＦＯバッファ２２２及びＦＩＦＯバッファ２２４の各々は、クロック入力と、４Ｘ／３クロック乗数入力とを受け、ステートマシン２２６から入力を受けるように構成される。セレクタユニット２２８は、ＦＩＦＯバッファ２２２及びＦＩＦＯバッファ２２４の両方から入力を受ける。
【００８７】
[0099]画素アンパッキングユニット２６０のための対応するアーキテクチャは、画素パッキングユニット２２０のものに実質的に類似するが、画素アンパッキングユニット２６０への入力がＲＧＢサブ画素値を含み得るのに対して、出力がＲＧＢＷサブ画素値を含み得るように逆機能を実行することに留意されたい。
【００８８】
[0100]図９の例となるアーキテクチャを有する図６の例となる技法の実施に対応するタイミング図は、図１０に示されている。このように、図９の例となるアーキテクチャの動作は、図１０のタイミング図に関連して詳細に説明される。例えば、ｔが入力クロックについての１サイクルの周期である場合で、かつ、Ｎ＝２である場合、入力クロックの第１のサイクル中、示されるように、サブ画素値Ｒ０ Ｇ０ Ｂ０は、ＦＩＦＯバッファ２２２に記憶され得、サブ画素Ｗ０は、ＦＩＦＯバッファ２２２に記憶され得る。入力クロックの第２のサイクルにおいて、示されるように、サブ画素値Ｒ１ Ｇ１ Ｂ１はまた、ＦＩＦＯバッファ２２２に記憶され得、サブ画素Ｗ１は、ＦＩＦＯバッファ２２２に記憶され得る。入力ブロックの第３のサイクルにおいて、示されるように、サブ画素値Ｒ２ Ｇ２ Ｂ２はまた、ＦＩＦＯバッファ２２２に記憶され得、サブ画素Ｗ２は、ＦＩＦＯバッファ２２４に記憶され得る。入力ブロックの第４のサイクルにおいて、示されるように、他のサブ画素値（例えば、サブ画素値Ｒ３ Ｇ３ Ｂ３ Ｗ３、等）のための場所を空けるために、サブ画素値Ｒ０ Ｇ０ Ｂ０は、ＦＩＦＯバッファ２２２から除去され得、サブ画素Ｗ０は、ＦＩＦＯバッファ２２４から除去され得る。他の実施形態では、ＦＩＦＯバッファ２２２及び２２４がフルになると、単に、最も古いサブ画素値（例えば、Ｒ０ Ｇ０ Ｂ０ Ｗ０）が上書きされる。
【００８９】
[0101]入力クロックの第２及び第３のサイクルと重複する、出力クロックの第１のサイクル（３ｔ／４）において、サブ画素値Ｒ０ Ｇ０ Ｂ０が、画素パッキングユニット２２０によって（例えば、セレクタユニット２２８を介して）出力される。出力クロックの第２のサイクル中、サブ画素値Ｒ１ Ｇ１ Ｂ１が、画素パッキングユニット２２０によって出力される。画素パッキングユニット２２０は、出力クロックの第２〜第６のサイクル中、同様の方法で、サブ画素値Ｒ２ Ｇ２ Ｂ２、Ｒ３ Ｇ３ Ｂ３、Ｒ４ Ｇ４ Ｂ４、Ｒ５ Ｇ５ Ｂ５を出力する。０から５の下付き値を有するＲＧＢサブ画素値の出力中、ステートマシン２２６は、セレクタユニット２２８への出力のためにＦＩＦＯ２２２を選択し得る。
【００９０】
[0102]画素パッキングユニット２２０は、出力クロックの第７のサイクル中、サブ画素値Ｗ０ Ｗ１ Ｗ２を出力し、出力クロックの第８のサイクル中、画素値Ｗ３ Ｗ４ Ｗ５を出力する。第７及び第８のサイクル中、ステートマシン２２６は、セレクタユニット２２８への出力のためにＦＩＦＯ２２４を選択し得る。
【００９１】
[0103]図１０における例となるタイミング図が、例示だけを目的としたものであること、及び、異なるタイミング図を有する異なるタイミングパッキング／アンパッキング解決策をもたらす、入力／出力サブ画素値、入力／出力クロック、Ｗサブ画素値の配列、等に関する異なるパラメータが実施され得ることに留意されたい。
【００９２】
[0104]本明細書で説明されたサブ画素パッキング／アンパッキング技法及びアーキテクチャのいくつかの利点が存在することに更に留意されたい。１つの利点は、例えば、他の色空間変換技法と比べて極めて小さいサブ画素再順序付けユニット（subpixel re-ordering units）だけを含む、プリ／ポストプロセッサが低コストであることである。そのような、プリ／ポストプロセッサは、いくらかのバッファリングを伴い、これは、典型的なラインバッファのサイズのほんのわずかであり、故に、コスト効率が良い。別の利点は、圧縮の結果が、主観的及び知覚的メトリックの観点で、高ピクチャ品質を示すことである。更に別の利点は、ＤＳＣエンコーダ／デコーダへの変更が必要ないことであり、これによって、開示された技法がＤＳＣ規格に準拠したものとなる。更に別の利点は、開示された技法が、ＲＧＢＷを超えた他の色フォーマットに適用され得ることであり、ＤＳＣ規格が追加のアプリケーションに拡張されることを可能にする。
【００９３】
[0105]品質評価についてのテスト画像が、図１１における表に説明されており、対応するピクチャ品質結果が、図１２の表において提供され得る。方法２は、図６の方法に対応し、方法３は、図７の方法に対応し、方法４は、図８の方法に対応する。方法２、３、及び４は、図５の基本的な方法に対して著しい性能向上を実証する。図１２におけるＰＮＳＲ値は、ＲＧＢＷ色空間における計算に基づく。図１２のＰＮＳＲ値から明らかなように、最良のピクチャ品質結果を生む方法は、テスト画像の空間相関に依存して変動し得る。故に、特定の状況下では、画素パッキングスキームのうちの１つが、その他全てのスキームより良い結果を生み出し得る。
【００９４】
第１のフォーマットで配列された画素値を第２のフォーマットへとパックするための例となるフローチャート
[0106]図１３を参照すると、第１のフォーマットで配列された画素値を第２のフォーマットへとパックするための例となる手順が説明される。図１３は、本開示の実施形態に係る、ビデオデータをコード化するための方法８００を例示するフローチャートである。図１３に例示されるステップは、ビデオエンコーダ（例えば、図２Ａ又は図３のビデオエンコーダ２０）又はそれらの構成要素によって実行され得る。便宜上、方法８００は、ビデオエンコーダ２０又は別の構成要素であり得る、（単にコーダとも呼ばれる）ビデオコーダによって実行されると説明される。
【００９５】
[0107]方法８００は、ブロック８０１から開始する。ブロック８０５において、コーダは、一組の入力画素値を受ける。入力画素値は、第１のフォーマット（例えば、Ｏチャネルフォーマット）で配列される。各入力画素値は、Ｏ個の入力サブ画素値を含み得る。ブロック８１０において、コーダは、入力サブ画素値を一組の出力画素値へと再配列する。出力画素値の各組は、Ｍチャネルフォーマットで配列されたＭ個の出力サブ画素値を含み得る。特定の実施では、Ｏは、Ｍより大きい値を有し得る。再配列の後、再配列されたＭ個の出力サブ画素の少なくとも一部は、Ｏ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する。
【００９６】
[0108]ブロック８１５において、コーダは、出力画素値をＭチャネルコーデックに供給する。Ｍチャネルフォーマットへの入力画素値の再配列により、コード化されたＭチャネルは、再配列された出力画素値をコード化することができ得る。更に、Ｍチャネルコーデックが、受けた画素値間の特定の仮定された空間関係性に基づいて、受けた画素値をコード化し得るため、再配列されたＭ個の出力サブ画素は、それらの維持された相対空間位置決めに基づいて特定のコード化効率を達成し得る。方法８００は、ブロック８２０で終了する。
【００９７】
[0109]方法８００では、図１３に示されるブロックのうちの１つ又は複数は、除去され得（例えば、実行されず）、及び／又は、方法が実行される順序が入れ替えられ得る。いくつかの実施形態では、追加のブロックが、方法８００に追加され得る。本開示の実施形態は、図１３に示される例に限られるものでもそれらによって制限されるものでもなく、他の変形が、本開示の精神から逸脱することなく実施され得る。
【００９８】
第１のフォーマットで配列された画素値を第２のフォーマットへとアンパックするための例となるフローチャート
[0110]図１４を参照すると、第１のフォーマットで配列された画素値を第２のフォーマットへとパックするための例となる手順が説明される。図１４は、本開示の実施形態に係る、ビデオデータをコード化するための方法９００を例示するフローチャートである。図１４に例示されているステップは、ビデオデコーダ（例えば、図２Ｂのビデオエンコーダ３０）又はその構成要素によって実行され得る。便宜上、方法９００は、ビデオデコーダ３０又は別の構成要素であり得る、（単にコーダとも呼ばれる）ビデオコーダによって実行されると説明されている。
【００９９】
[0111]方法９００は、ブロック９０１から開始する。ブロック９０５において、コーダは、Ｍチャネルコーデックから一組の入力画素値を受ける。入力画素値は、第１のフォーマット（例えば、Ｍチャネルフォーマット）で配列される。各入力画素値は、Ｍ個の入力サブ画素値を含み得る。ブロック９１０において、コーダは、入力サブ画素値を一組の出力画素値へと再配列する。出力画素値の各組は、Ｏチャネルフォーマットで配列されたＯ個の出力サブ画素値を含み得る。特定の実施では、Ｏは、Ｍより大きい値を有し得る。再配列の後、再配列されたＯ個の出力サブ画素の少なくとも一部は、Ｍ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する。
【０１００】
[0112]ブロック９１５において、コーダは、出力として出力画素値を供給する。例えば、出力画素値は、ユーザへの表示のためにディスプレイに供給され得る。ディスプレイは、Ｏチャネルディスプレイ、例えば、複数の画素を有するディスプレイ（例えば、ＲＧＢＷディスプレイ）であり得、各画素は、Ｏ個のサブ画素を有する。Ｏチャネルフォーマットへの入力画素値の再配列により、ディスプレイは、フル色空間コンバータを含むことなく、再配列された出力画素値を表示することができ得る。方法９００は、ブロック９２０で終了する。
【０１０１】
[0113]方法９００では、図１４に示されるブロックのうちの１つ又は複数は、除去され得（例えば、実行されず）、及び／又は、方法が実行される順序が入れ替えられ得る。いくつかの実施形態では、追加のブロックが、方法９００に追加され得る。本開示の実施形態は、図１４に示される例に限られるものでもそれらによって制限されるものでもなく、他の変形が、本開示の精神から逸脱することなく実施され得る。
【０１０２】
他の検討事項
[0114]本開示の態様が、図９の画素パッキングユニット２２０のようなエンコーダの観点から説明されていることは留意されるべきである。しかしながら、当業者であれば、上述したものの逆動作が、例えば、図４の画素アンパッキングユニット２６０によって、生成されたビットストリームを復号するために適用され得ることは認識するであろう。
【０１０３】
[0115]本明細書で開示された情報及び信号は、多種多様な技術及び技法のうちの任意のものを使用して表され得る。例えば、上記説明全体にわたって参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁場又は磁性粒子、光場又は光粒子、又はこれらの任意の組み合わせによって表され得る。
【０１０４】
[0116]本明細書で開示された実施形態に関連して説明された実例となる様々な論理ブロック及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、又は両方の組み合わせとして実施され得る。このハードウェアとソフトウェアとの互換性を明確に例示するために、実例となる様々な構成要素、ブロック、及びステップが、概してそれらの機能の観点から上述されている。このような機能がハードウェアとして実施されるかソフトウェアとして実施されるかは、特定の用途及びシステム全体に課せられている設計制約に依存する。当業者は、説明した機能を特定の用途ごとに様々な方法で実施し得るが、このような実施の判定は本開示の範囲からの逸脱の原因になるとして解釈されるべきではない。
【０１０５】
[0117]本明細書で説明した技法は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組み合わせにより実施され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、又は、ワイヤレス通信デバイスハンドセット及び他のデバイスへのアプリケーションを含む複数の用途を有する集積回路デバイスのような様々なデバイスの任意のものにより実施され得る。デバイス又は構成要素として説明された任意の特徴は、集積論理デバイスでまとめて、又は、ディスクリートではあるが相互動作可能な論理デバイスとして別々に実施され得る。ソフトウェアにより実施される場合、本技法は、少なくとも部分的に、命令を含むプログラムコードを備えるコンピュータ読取可能なデータ記憶媒体によって実施され得、これらの命令は、実行されると、上述した方法のうちの１つ又は複数を実行する。コンピュータ読取可能なデータ記憶媒体は、パッケージングマテリアルを含み得る、コンピュータプログラム製品の一部を形成し得る。コンピュータ読取可能な媒体は、同期動的ランダムアクセスメモリ（ＳＤＭＡＭ）のようなランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、不揮発ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能なプログラマブル読取専用メモリ（ＥＥＰＲＯＭ（登録商標））、ＦＬＡＳＨメモリ、磁気又は光学データ記憶媒体、等のメモリ又はデータ記憶媒体を備え得る。本技法は、追加的に又は代替的に、少なくとも部分的に、伝播される信号又は波のような、コンピュータによってアクセスされ、読み取られ、及び／又は実行されることができ、かつ、データ構造又は命令の形式でプログラムコードを搬送又は通信するコンピュータ読取可能な通信媒体によって実施され得る。
【０１０６】
[0118]コンピュータ読取可能な媒体（例えば、メモリ又は他のデータ記憶デバイス）と通信状態にある（例えば、協力して動作する）プロセッサは、プログラムコードの命令を実行し得、１つ又は複数のデジタルシグナルプロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）のような１つ又は複数のプロセッサ、又は他の同等の集積又はディスクリート論理回路を含み得る。そのようなプロセッサは、本開示で説明された技法のうちの任意のものを実行するように構成され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替的に、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、ＤＳＰと、１つのマイクロプロセッサ、複数のマイクロプロセッサ、ＤＳＰコアと連動する１つまたは複数のマイクロプロセッサ、または任意の他のそのような構成との組み合わせとして実施され得る。従って、「プロセッサ」という用語は、本明細書で使用される場合、前述の構造の任意のもの、前述の構造の任意の組み合わせ、又は本明細書で説明した技法の実施に適した任意の他の構造又は装置を指し得る。加えて、いくつかの態様では、本明細書で説明した機能性は、符号化及び復号のために構成された専用のソフトウェア又はハードウェア内に提供されるか、複合ビデオエンコーダ−デコーダ（ＣＯＤＥＣ）に組み込まれ得る。また、本技法は、１つ又は複数の回路又は論理要素により完全に実施され得る。
【０１０７】
[0119]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、又は一組のＩＣ（例えば、チップセット）を含む、幅広い種類のデバイス又は装置により実施され得る。様々な構成要素又はユニットは、開示された技法を実行するように構成されたデバイスの機能的な態様を強調するように本開示では説明されているが、必ずしも異なるハードウェアユニットによる実施を必要とするわけではない。むしろ、上述したように、様々なユニットは、コデックハードウェアユニットへと組み合わせられるか、又は、上述したように、１つ又は複数のプロセッサを含む、相互動作するハードウェアユニットの一群によって、適切なソフトウェア及び／又はファームウェアと併せて提供され得る。
【０１０８】
[0120]前述のものは、様々な異なる実施形態に関連して説明されているが、１つの実施形態からの特徴又は要素は、本開示の教示から逸脱することなく、他の実施形態と組み合わせられる。しかしながら、それぞれの実施形態間の特徴の組み合わせは、必ずしもそれらに限られるわけではない。本開示の様々な実施形態が説明されている。これらの実施形態及び他の実施形態は、以下の特許請求の範囲の範囲内である。
【図１Ａ】
2018524932.tif 000003
【図１Ｂ】
2018524932.tif 000004
【図２Ａ】
2018524932.tif 000005
【図２Ｂ】
2018524932.tif 000006
【図３】
2018524932.tif 000007
【図４】
2018524932.tif 000008
【図５】
2018524932.tif 000009
【図６】
2018524932.tif 000010
【図７】
2018524932.tif 000011
【図８】
2018524932.tif 000012
【図９】
2018524932.tif 000013
【図１０】
2018524932.tif 000014
【図１１】
2018524932.tif 000015
【図１２】
2018524932.tif 000016
【図１３】
2018524932.tif 000017
【図１４】
2018524932.tif 000018
【手続補正書】
【提出日】平成30年3月12日(2018.3.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
Ｍチャネルコーデックによって符号化するためにＯチャネルフォーマットで配列された画素値をパックする方法であって、
一組の入力画素値を受けることと、各入力画素値は、前記Ｏチャネルフォーマットで配列されたＯ個の入力サブ画素値を備える、
前記入力サブ画素値の各々を一組の出力画素値へと再配列することと、出力画素値の各組は、Ｍチャネルフォーマットで配列されたＭ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、前記再配列されたＭ個の出力サブ画素の少なくとも一部は、前記Ｏ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持し、前記入力サブ画素値を前記再配列することは、前記サブ画素値を変らないままする、
前記出力画素値を前記Ｍチャネルコーデックに供給することと
を備える方法。
【請求項２】
前記Ｍチャネルフォーマットは、Ｍ個の異なるカラーチャネルを含み、前記Ｏチャネルフォーマットは、前記Ｍ個のカラーチャネルと、少なくとも１つの追加のカラーチャネルとを含み、前記方法は、
前記Ｍ個のカラーチャネルの前記入力サブ画素値の各々を、前記出力画素値の対応する前記Ｍ個のカラーチャネルに配列することと、
前記少なくとも１つの追加のカラーチャネルの前記入力サブ画素値の各々を、前記少なくとも１つの追加のカラーチャネルのサブ画素だけを含む出力画素値へと配列することと
を更に備える、請求項１に記載の方法。
【請求項３】
前記Ｍ個のカラーチャネルの前記入力サブ画素値の各々を第１のバッファにバッファすることと、
前記少なくとも１つの追加のカラーチャネルの前記入力サブ画素値の各々を第２のバッファにバッファすることと、
前記出力画素値を構築するために、前記第１のバッファからの画素を選択することと、
前記第２のバッファが、Ｎ個の出力画素値を構築するのに十分な数のサブ画素値を包含した後、前記少なくとも１つの追加のカラーチャネルだけを含む前記Ｎ個の出力画素値を構築するために、前記第２のバッファからの画素を選択することと、前記Ｎ個の出力画素値は、互いに直接隣接している、
を更に備える、請求項２に記載の方法。
【請求項４】
前記第１のバッファ及び前記第２のバッファは、先入れ先出し（ＦＩＦＯ）バッファである、請求項３に記載の方法。
【請求項５】
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の出力画素値において列優先順で配列される、請求項３に記載の方法。
【請求項６】
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の出力画素値において行優先順で配列される、請求項３に記載の方法。
【請求項７】
前記第１のバッファ及び前記第２のバッファのうちのどちらから前記出力画素値を再構築するためのサブ画素を受けるかを、ステートマシンを介して選択すること
を更に備える、請求項３に記載の方法。
【請求項８】
前記一組の入力画素値を受けるレートより大きいレートで前記出力画素値を前記Ｍチャネルコーデックに供給すること
を更に備える、請求項１に記載の方法。
【請求項９】
Ｍチャネルコーデックによって符号化するためにＯチャネルフォーマットで配列された画素値をパックするためのデバイスであって、
前記Ｏチャネルフォーマットで配列された入力画素値のＯ個の入力サブ画素値をそれぞれ受けるように構成されたＯ個の入力チャネルを備えるトランシーバ回路と、
前記Ｏ個の入力サブ画素をバッファするように構成された少なくとも１つのバッファと、
前記Ｏ個の入力サブ画素を一組の出力画素値へと再配列するように構成された論理回路と、各出力画素値は、Ｍチャネルフォーマットで配列されたＭ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、前記再配列されたＭ個の出力サブ画素の少なくとも一部は、前記Ｏ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持し、前記入力サブ画素値を前記再配列することは、前記サブ画素値を変らないままにする、
を備え、
前記トランシーバ回路は、前記一組の出力画素値を前記Ｍチャネルコーデックに出力するように構成されたＭ個の出力チャネルを更に備える、デバイス。
【請求項１０】
前記Ｍチャネルフォーマットは、Ｍ個の異なるカラーチャネルを含み、前記Ｏチャネルフォーマットは、前記Ｍ個のカラーチャネルと、少なくとも１つの追加のカラーチャネルとを含み、前記論理回路は、
前記Ｍ個のカラーチャネルの前記入力サブ画素値の各々を、前記出力画素値の対応する前記Ｍ個のカラーチャネルに配列することと、
前記少なくとも１つの追加のカラーチャネルの前記入力サブ画素値の各々を、前記少なくとも１つの追加のカラーチャネルのサブ画素だけを含む出力画素値へと配列することと
を行うように更に構成される、請求項９に記載のデバイス。
【請求項１１】
前記バッファは、
前記Ｍ個のカラーチャネルの前記入力サブ画素値の各々をバッファするように構成された第１のバッファと、
前記少なくとも１つの追加のカラーチャネルの前記入力サブ画素値の各々をバッファするように構成された第２のバッファと
を更に備え、
前記論理回路は、
前記出力画素値を構築するために、前記第１のバッファからの画素を選択することと、
前記第２のバッファが、Ｎ個の出力画素値を構築するのに十分な数のサブ画素値を包含した後、前記少なくとも１つの追加のカラーチャネルだけを含む前記Ｎ個の出力画素値を構築するために、前記第２のバッファからの画素を選択することと、前記Ｎ個の出力画素値は、互いに直接隣接している、
を行うように更に構成される、請求項１０に記載のデバイス。
【請求項１２】
前記第１のバッファ及び前記第２のバッファは、先入れ先出し（ＦＩＦＯ）バッファである、請求項１１に記載のデバイス。
【請求項１３】
前記論理回路は、前記少なくとも１つの追加のカラーチャネルの前記サブ画素を列優先順で配列するように更に構成される、請求項１１に記載のデバイス。
【請求項１４】
前記論理回路は、前記少なくとも１つの追加のカラーチャネルの前記サブ画素を行優先順で配列するように更に構成される、請求項１１に記載のデバイス。
【請求項１５】
前記論理回路は、ステートマシンを備え、前記ステートマシンは、前記第１のバッファ及び前記第２のバッファのうちのどちらから前記出力画素値を再構築するためのサブ画素を受けるかを、選択するように構成される、請求項１１に記載のデバイス。
【請求項１６】
前記Ｍ個の出力チャネルは、前記Ｏ個の入力チャネルが前記一組の入力画素値を受けるレートより大きいレートで前記一組の出力画素値を前記Ｍチャネルコーデックに出力するように更に構成される、請求項９に記載のデバイス。
【請求項１７】
Ｍチャネルフォーマットで配列された画素値をアンパックする方法であって、
Ｍチャネルコーデックから一組の入力画素値を受けることと、各入力画素は、前記Ｍチャネルフォーマットで配列されたＭ個の入力サブ画素を備える、
前記入力サブ画素値の各々を一組の出力画素値へと再配列することと、出力画素値の各組は、Ｏチャネルフォーマットで配列されたＯ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、前記再配列されたＯ個の出力サブ画素の少なくとも一部は、前記Ｍ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持し、前記入力サブ画素値を前記再配列することは、前記サブ画素値を変らないままにする、
出力として前記出力画素値を供給することと
を備える方法。
【請求項１８】
前記Ｍチャネルフォーマットは、Ｍ個の異なるカラーチャネルを含み、前記Ｏチャネルフォーマットは、前記Ｍ個のカラーチャネルと、少なくとも１つの追加のカラーチャネルとを含み、前記方法は、
前記Ｍ個のカラーチャネルの複数の前記入力サブ画素値を、前記出力画素値の対応する前記Ｏ個のカラーチャネルに配列することと、
前記少なくとも１つの追加のカラーチャネルに対応する前記入力サブ画素値の各々を、前記少なくとも１つの追加のカラーチャネルの出力画素値へと配列することと
を更に備える、請求項１７に記載の方法。
【請求項１９】
前記Ｍ個のカラーチャネルに対応する前記入力サブ画素値の各々を第１のバッファにバッファすることと、
前記少なくとも１つの追加のカラーチャネルに対応する前記入力サブ画素値の各々を第２のバッファにバッファすることと、
前記出力画素値を構築するために、前記第１のバッファからＭ個の画素を、前記第２のバッファから少なくとも１つの画素を選択することと
を更に備える、請求項１８に記載の方法。
【請求項２０】
前記第１のバッファ及び前記第２のバッファは、先入れ先出し（ＦＩＦＯ）バッファである、請求項１９に記載の方法。
【請求項２１】
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の入力画素値において列優先順で配列される、請求項１９に記載の方法。
【請求項２２】
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の入力画素値において行優先順で配列される、請求項１９に記載の方法。
【請求項２３】
前記第１のバッファ及び前記第２のバッファのうちのどちらに前記入力サブ画素値の各々を配置するかを、ステートマシンを介して選択すること
を更に備える、請求項１９に記載の方法。
【請求項２４】
前記一組の入力画素値を受けるレートより小さいレートで前記出力画素値を供給すること
を更に備える、請求項１７に記載の方法。
【請求項２５】
Ｍチャネルフォーマットで配列された画素値をアンパックするためのデバイスであって、
前記Ｍチャネルフォーマットで配列された入力画素値のＭ個の入力サブ画素値をそれぞれ受けるように構成されたＭ個の入力チャネルを備えるトランシーバ回路と、
前記Ｍ個の入力サブ画素をバッファするように構成された少なくとも１つのバッファと、
前記Ｍ個の入力サブ画素を一組の出力画素値へと再配列するように構成された論理回路と、各出力画素値は、Ｏチャネルフォーマットで配列されたＯ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、前記再配列されたＯ個の出力サブ画素の少なくとも一部は、前記Ｍ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持し、前記入力サブ画素値を前記再配列することは、前記サブ画素値を変らないままにする、
を備え、
前記トランシーバ回路は、前記一組の出力画素値を出力するように構成されたＯ個の出力チャネルを更に備える、
デバイス。
【請求項２６】
前記Ｍチャネルフォーマットは、Ｍ個の異なるカラーチャネルを含み、前記Ｏチャネルフォーマットは、前記Ｍ個のカラーチャネルと、少なくとも１つの追加のカラーチャネルとを含み、前記論理回路は、
前記Ｍ個のカラーチャネルの複数の前記入力サブ画素値を、前記出力画素値の対応する前記Ｏ個のカラーチャネルに配列することと、
前記少なくとも１つの追加のカラーチャネルに対応する前記入力サブ画素値の各々を、前記少なくとも１つの追加のカラーチャネルの出力画素値へと配列することと
を行うように更に構成される、請求項２５に記載のデバイス。
【請求項２７】
前記バッファは、
前記Ｍ個のカラーチャネルに対応する前記入力サブ画素値の各々をバッファするように構成された第１のバッファと、
前記少なくとも１つの追加のカラーチャネルに対応する前記入力サブ画素値の各々に構成された第２のバッファと
を更に備え、
前記論理回路は、前記出力画素値を構築するために、前記第１のバッファからＭ個の画素を、前記第２のバッファから少なくとも１つの画素を選択するように更に構成される、
請求項２６に記載のデバイス。
【請求項２８】
前記第１のバッファ及び前記第２のバッファは、先入れ先出し（ＦＩＦＯ）バッファである、請求項２７に記載のデバイス。
【請求項２９】
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の入力画素値において列優先順で配列される、請求項２７に記載のデバイス。
【請求項３０】
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の入力画素値において行優先順で配列される、請求項２７に記載のデバイス。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１０８
【補正方法】変更
【補正の内容】
【０１０８】
[0120]前述のものは、様々な異なる実施形態に関連して説明されているが、１つの実施形態からの特徴又は要素は、本開示の教示から逸脱することなく、他の実施形態と組み合わせられる。しかしながら、それぞれの実施形態間の特徴の組み合わせは、必ずしもそれらに限られるわけではない。本開示の様々な実施形態が説明されている。これらの実施形態及び他の実施形態は、以下の特許請求の範囲の範囲内である。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
Ｍチャネルコーデックによって符号化するためにＯチャネルフォーマットで配列された画素値をパックする方法であって、
一組の入力画素値を受けることと、各入力画素値は、前記Ｏチャネルフォーマットで配列されたＯ個の入力サブ画素値を備える、
前記入力サブ画素値の各々を一組の出力画素値へと再配列することと、出力画素値の各組は、Ｍチャネルフォーマットで配列されたＭ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、前記再配列されたＭ個の出力サブ画素の少なくとも一部は、前記Ｏ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、
前記出力画素値を前記Ｍチャネルコーデックに供給することと
を備える方法。
［Ｃ２］
前記Ｍチャネルフォーマットは、Ｍ個の異なるカラーチャネルを含み、前記Ｏチャネルフォーマットは、前記Ｍ個のカラーチャネルと、少なくとも１つの追加のカラーチャネルとを含み、前記方法は、
前記Ｍ個のカラーチャネルの前記入力サブ画素値の各々を、前記出力画素値の対応する前記Ｍ個のカラーチャネルに配列することと、
前記少なくとも１つの追加のカラーチャネルの前記入力サブ画素値の各々を、前記少なくとも１つの追加のカラーチャネルだけを含む出力画素値へと配列することと
を更に備える、Ｃ１に記載の方法。
［Ｃ３］
前記Ｍ個のカラーチャネルの前記入力サブ画素値の各々を第１のバッファにバッファすることと、
前記少なくとも１つの追加のカラーチャネルの前記入力サブ画素値の各々を第２のバッファにバッファすることと、
前記出力画素値を構築するために、前記第１のバッファからの画素を選択することと、
前記第２のバッファが、Ｎ個の出力画素値を構築するのに十分な数のサブ画素値を包含した後、前記少なくとも１つの追加のカラーチャネルだけを含む前記Ｎ個の出力画素値を構築するために、前記第２のバッファからの画素を選択することと、前記Ｎ個の出力画素値は、互いに直接隣接している、
を更に備える、Ｃ２に記載の方法。
［Ｃ４］
前記第１のバッファ及び前記第２のバッファは、先入れ先出し（ＦＩＦＯ）バッファである、Ｃ３に記載の方法。
［Ｃ５］
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の出力画素値において列優先順で配列される、Ｃ３に記載の方法。
［Ｃ６］
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の出力画素値において行優先順で配列される、Ｃ３に記載の方法。
［Ｃ７］
前記第１のバッファ及び前記第２のバッファのうちのどちらから前記出力画素値を再構築するためのサブ画素を受けるかを、ステートマシンを介して選択すること
を更に備える、Ｃ３に記載の方法。
［Ｃ８］
前記一組の入力画素値を受けるレートより大きいレートで前記出力画素値を前記Ｍチャネルコーデックに供給すること
を更に備える、Ｃ１に記載の方法。
［Ｃ９］
Ｍチャネルコーデックによって符号化するためにＯチャネルフォーマットで配列された画素値をパックするためのデバイスであって、
前記Ｏチャネルフォーマットで配列された入力画素値のＯ個の入力サブ画素値をそれぞれ受けるように構成されたＯ個の入力チャネルを備えるトランシーバ回路と、
前記Ｏ個の入力サブ画素をバッファするように構成された少なくとも１つバッファと、
前記Ｏ個の入力サブ画素を一組の出力画素値へと再配列するように構成された論理回路と、各出力画素値は、Ｍチャネルフォーマットで配列されたＭ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、前記再配列されたＭ個の出力サブ画素の少なくとも一部は、前記Ｏ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、
を備え、
前記トランシーバ回路は、前記一組の出力画素値を前記Ｍチャネルコーデックに出力するように構成されたＭ個の出力チャネルを更に備える、デバイス。
［Ｃ１０］
前記Ｍチャネルフォーマットは、Ｍ個の異なるカラーチャネルを含み、前記Ｏチャネルフォーマットは、前記Ｍ個のカラーチャネルと、少なくとも１つの追加のカラーチャネルとを含み、前記論理回路は、
前記Ｍ個のカラーチャネルの前記入力サブ画素値の各々を、前記出力画素値の対応する前記Ｍ個のカラーチャネルに配列することと、
前記少なくとも１つの追加のカラーチャネルの前記入力サブ画素値の各々を、前記少なくとも１つの追加のカラーチャネルだけを含む出力画素値へと配列することと
を行うように更に構成される、Ｃ９に記載のデバイス。
［Ｃ１１］
前記バッファは、
前記Ｍ個のカラーチャネルの前記入力サブ画素値の各々をバッファするように構成された第１のバッファと、
前記少なくとも１つの追加のカラーチャネルの前記入力サブ画素値の各々をバッファするように構成された第２のバッファと
を更に備え、
前記論理回路は、
前記出力画素値を構築するために、前記第１のバッファからの画素を選択することと、
前記第２のバッファが、Ｎ個の出力画素値を構築するのに十分な数のサブ画素値を包含した後、前記少なくとも１つの追加のカラーチャネルだけを含む前記Ｎ個の出力画素値を構築するために、前記第２のバッファからの画素を選択することと、前記Ｎ個の出力画素値は、互いに直接隣接している、
を行うように更に構成される、Ｃ１０に記載のデバイス。
［Ｃ１２］
前記第１のバッファ及び前記第２のバッファは、先入れ先出し（ＦＩＦＯ）バッファである、Ｃ１１に記載のデバイス。
［Ｃ１３］
前記論理回路は、前記少なくとも１つの追加のカラーチャネルの前記サブ画素を列優先順で配列するように更に構成される、Ｃ１１に記載のデバイス。
［Ｃ１４］
前記論理回路は、前記少なくとも１つの追加のカラーチャネルの前記サブ画素を行優先順で配列するように更に構成される、Ｃ１１に記載のデバイス。
［Ｃ１５］
前記論理回路は、ステートマシンを備え、前記ステートマシンは、前記第１のバッファ及び前記第２のバッファのうちのどちらから前記出力画素値を再構築するためのサブ画素を受けるかを、選択するように構成される、Ｃ１１に記載のデバイス。
［Ｃ１６］
前記Ｍ個の出力チャネルは、前記Ｏ個の入力チャネルが前記一組の入力画素値を受けるレートより大きいレートで前記一組の出力画素値を前記Ｍチャネルコーデックに出力するように更に構成される、Ｃ９に記載のデバイス。
［Ｃ１７］
Ｍチャネルフォーマットで配列された画素値をアンパックする方法であって、
Ｍチャネルコーデックから一組の入力画素値を受けることと、各入力画素は、前記Ｍチャネルフォーマットで配列されたＭ個の入力サブ画素を備える、
前記入力サブ画素値の各々を一組の出力画素値へと再配列することと、出力画素値の各組は、Ｏチャネルフォーマットで配列されたＯ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、前記再配列されたＯ個の出力サブ画素の少なくとも一部は、前記Ｍ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、
出力として前記出力画素値を供給することと
を備える方法。
［Ｃ１８］
前記Ｍチャネルフォーマットは、Ｍ個の異なるカラーチャネルを含み、前記Ｏチャネルフォーマットは、前記Ｍ個のカラーチャネルと、少なくとも１つの追加のカラーチャネルとを含み、前記方法は、
前記Ｍ個のカラーチャネルの複数の前記入力サブ画素値を、前記出力画素値の対応する前記Ｏ個のカラーチャネルに配列することと、
前記少なくとも１つの追加のカラーチャネルに対応する前記入力サブ画素値の各々を、前記少なくとも１つの追加のカラーチャネルの出力画素値へと配列することと
を更に備える、Ｃ１７に記載の方法。
［Ｃ１９］
前記Ｍ個のカラーチャネルに対応する前記入力サブ画素値の各々を第１のバッファにバッファすることと、
前記少なくとも１つの追加のカラーチャネルに対応する前記入力サブ画素値の各々を第２のバッファにバッファすることと、
前記出力画素値を構築するために、前記第１のバッファからＭ個の画素を、前記第２のバッファから少なくとも１つの画素を選択することと
を更に備える、Ｃ１８に記載の方法。
［Ｃ２０］
前記第１のバッファ及び前記第２のバッファは、先入れ先出し（ＦＩＦＯ）バッファである、Ｃ１９に記載の方法。
［Ｃ２１］
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の入力画素値において列優先順で配列される、Ｃ１９に記載の方法。
［Ｃ２２］
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の入力画素値において行優先順で配列される、Ｃ１９に記載の方法。
［Ｃ２３］
前記第１のバッファ及び前記第２のバッファのうちのどちらに前記入力サブ画素値の各々を配置するかを、ステートマシンを介して選択すること
を更に備える、Ｃ１９に記載の方法。
［Ｃ２４］
前記一組の入力画素値を受けるレートより小さいレートで前記出力画素値を供給すること
を更に備える、Ｃ１７に記載の方法。
［Ｃ２５］
Ｍチャネルフォーマットで配列された画素値をアンパックするためのデバイスであって、
前記Ｍチャネルフォーマットで配列された入力画素値のＭ個の入力サブ画素値をそれぞれ受けるように構成されたＭ個の入力チャネルを備えるトランシーバ回路と、
前記Ｍ個の入力サブ画素をバッファするように構成された少なくとも１つバッファと、
前記Ｍ個の入力サブ画素を一組の出力画素値へと再配列するように構成された論理回路と、各出力画素値は、Ｏチャネルフォーマットで配列されたＯ個の出力サブ画素値を備え、Ｏは、Ｍより大きい値を有し、ここにおいて、前記再配列されたＯ個の出力サブ画素の少なくとも一部は、前記Ｍ個の入力サブ画素値から再配列されるより前からのそれらの相対空間位置決めを維持する、
を備え、
前記トランシーバ回路は、前記一組の出力画素値を出力するように構成されたＯ個の出力チャネルを更に備える、
デバイス。
［Ｃ２６］
前記Ｍチャネルフォーマットは、Ｍ個の異なるカラーチャネルを含み、前記Ｏチャネルフォーマットは、前記Ｍ個のカラーチャネルと、少なくとも１つの追加のカラーチャネルとを含み、前記論理回路は、
前記Ｍ個のカラーチャネルの複数の前記入力サブ画素値を、前記出力画素値の対応する前記Ｏ個のカラーチャネルに配列することと、
前記少なくとも１つの追加のカラーチャネルに対応する前記入力サブ画素値の各々を、前記少なくとも１つの追加のカラーチャネルの出力画素値へと配列することと
を行うように更に構成される、Ｃ２５に記載のデバイス。
［Ｃ２７］
前記バッファは、
前記Ｍ個のカラーチャネルに対応する前記入力サブ画素値の各々をバッファするように構成された第１のバッファと、
前記少なくとも１つの追加のカラーチャネルに対応する前記入力サブ画素値の各々に構成された第２のバッファと
を更に備え、
前記論理回路は、前記出力画素値を構築するために、前記第１のバッファからＭ個の画素を、前記第２のバッファから少なくとも１つの画素を選択するように更に構成される、
Ｃ２６に記載のデバイス。
［Ｃ２８］
前記第１のバッファ及び前記第２のバッファは、先入れ先出し（ＦＩＦＯ）バッファである、Ｃ２７に記載のデバイス。
［Ｃ２９］
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の入力画素値において列優先順で配列される、Ｃ２７に記載のデバイス。
［Ｃ３０］
前記少なくとも１つの追加のカラーチャネルの前記サブ画素は、前記Ｎ個の入力画素値において行優先順で配列される、Ｃ２７に記載のデバイス。
【国際調査報告】
2018524932.tif 000019
2018524932.tif 000020
2018524932.tif 000021