(57)【特許請求の範囲】
【請求項１】
装置であって、
１又は２以上のプロセッサと、
前記１又は２以上のプロセッサによって実行されるように１又は２以上の有形媒体に符号化されたロジックと、
を備え、前記ロジックは、実行時に、
エリアアナログデジタル（ＡＤ）センサによって取り込まれた、所定の符号化順に基づくデータチャージ相データ又は画像データである画像データの予測値を計算するステップを含む動作を実行し、
前記予測値を計算するステップは、
前記画像データを符号化ブロックに分割するステップであって、各符号化ブロックは、所定数の画像データサンプルを含み、前記画像データサンプルはそれぞれのサンプル位置と関連付けられている、分割するステップと、
サブサンプル符号化ブロックを生成するステップであって、前記サブサンプル符号化ブロックの第１のサブサンプル符号化ブロックは、前記サンプル位置に基づく前記画像データサンプルの第１の部分を含み、圧縮ビットストリームの計算はブロック間予測に基づいている、生成するステップと、
前記サブサンプル符号化ブロックに基づいて前記画像データの各符号化ブロックに対する前記予測値を計算するステップとを備え、
前記ロジックは更に、
前記予測値に基づいて残差データを計算するステップを含む動作を実行し、
前記残差データを計算するステップは、
前記残差データを量子化するステップと、
エントロピー符号化後に、前記残差データ及び使い残されたビット配分の数に基づいて、逆量子化された残差データを洗練するステップとを備えた
ことを特徴とする装置。
【請求項２】
前記予測値を計算するステップは、異なるサブサンプル符号化ブロック内の同じ位置のサンプルデータに基づく、
請求項１に記載の装置。
【請求項３】
前記予測値を計算するステップは、前のサブサンプル符号化ブロック内の同じ位置のサンプルデータに基づく、
請求項１に記載の装置。
【請求項４】
前記予測値を計算するステップは、
第１のサブサンプル符号化ブロックのサンプルと第２のサブサンプル符号化ブロックのサンプルとを比較することに基づいて前記予測値を計算するステップと、
を含む請求項１に記載の装置。
【請求項５】
前記所定の符号化順はラスタ順である、
請求項１に記載の装置。
【請求項６】
前記所定の符号化順はジグザグ順である、
請求項１に記載の装置。
【請求項７】
１又は２以上のプロセッサによって実行されるように１又は２以上の非一時的コンピュータ可読媒体に符号化されたソフトウェアであって、実行時に、
エリアアナログデジタル（ＡＤ）センサによって取り込まれた、所定の符号化順に基づくデータチャージ相データ又は画像データである画像データの予測値を計算するステップを含む動作を実行し、
前記予測値を計算するステップは、
前記画像データを符号化ブロックに分割するステップであって、各符号化ブロックは、所定数の画像データサンプルを含み、前記画像データサンプルはそれぞれのサンプル位置と関連付けられている、分割するステップと、
サブサンプル符号化ブロックを生成するステップであって、前記サブサンプル符号化ブロックの第１のサブサンプル符号化ブロックは、前記サンプル位置に基づく前記画像データサンプルの第１の部分を含み、圧縮ビットストリームの計算はブロック間予測に基づいている、生成するステップと、
前記サブサンプル符号化ブロックに基づいて前記画像データの各符号化ブロックに対する前記予測値を計算するステップと
を備え、
前記ソフトウェアは更に、
前記予測値に基づいて残差データを計算するステップを含む動作を実行し、
前記残差データを計算するステップは、
前記残差データを量子化するステップと、
エントロピー符号化後に、前記残差データ及び使い残されたビット配分の数に基づいて、逆量子化された残差データを洗練するステップと、
を備える、
ことを特徴とするソフトウェア。
【請求項８】
前記予測値を計算するステップは、異なるサブサンプル符号化ブロック内の同じ位置のサンプルデータに基づく、
請求項７に記載のソフトウェア。
【請求項９】
前記予測値を計算するステップは、前のサブサンプル符号化ブロック内の同じ位置のサンプルデータに基づく、
請求項７に記載のソフトウェア。
【請求項１０】
前記予測値を計算するステップは、
第１のサブサンプル符号化ブロックのサンプルと第２のサブサンプル符号化ブロックのサンプルとを比較することに基づいて前記予測値を計算するステップと、
を含む請求項７に記載のソフトウェア。
【請求項１１】
前記所定の符号化順は固定される、
請求項７に記載のソフトウェア。
【請求項１２】
前記所定の符号化順はラスタ順である、
請求項７に記載のソフトウェア。
【請求項１３】
前記所定の符号化順はジグザグ順である、
請求項７に記載のソフトウェア。
【請求項１４】
コンピュータ実装方法であって、
エリアアナログデジタル（ＡＤ）センサによって取り込まれた、所定の符号化順に基づくデータチャージ相データ又は画像データである画像データの予測値を計算するステップを備え、
前記予測値を計算するステップは、
前記画像データを符号化ブロックに分割するステップであって、各符号化ブロックは、所定数の画像データサンプルを含み、前記画像データサンプルはそれぞれのサンプル位置と関連付けられている、分割するステップと、
サブサンプル符号化ブロックを生成するステップであって、前記サブサンプル符号化ブロックの第１のサブサンプル符号化ブロックは、前記サンプル位置に基づく前記画像データサンプルの第１の部分を含み、圧縮ビットストリームの計算はブロック間予測に基づいている、生成するステップと、
前記サブサンプル符号化ブロックに基づいて前記画像データの各符号化ブロックに対する前記予測値を計算するステップとを備え、
前記コンピュータ実装方法は更に、
前記予測値に基づいて残差データを計算するステップを備え、
前記残差データを計算するステップは、
前記残差データを量子化するステップと、
エントロピー符号化後に、前記残差データ及び使い残されたビット配分の数に基づいて、逆量子化された残差データを洗練するステップと
を含むことを特徴とする方法。
【請求項１５】
前記予測値を計算するステップは、異なるサブサンプル符号化ブロック内の同じ位置のサンプルデータに基づく、
請求項１４に記載の方法。
【請求項１６】
前記予測値を計算するステップは、前のサブサンプル符号化ブロック内の同じ位置のサンプルデータに基づく、
請求項１４に記載の方法。
【請求項１７】
前記予測値を計算するステップは、
第１のサブサンプル符号化ブロックのサンプルと第２のサブサンプル符号化ブロックのサンプルとを比較することに基づいている、
を含む請求項１４に記載の方法。
【請求項１８】
前記所定の符号化順は固定される、
請求項１４に記載の方法。
【請求項１９】
前記所定の符号化順はラスタ順である、
請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
〔関連出願との相互参照〕
本出願は、２０１５年６月１１日に出願された「データチャージ相データ圧縮アーキテクチャ（ＤＡＴＡ−ＣＨＡＲＧＥ  ＰＨＡＳＥ  ＤＡＴＡ  ＣＯＭＰＲＥＳＳＩＯＮ  ＡＲＣＨＩＴＥＣＴＵＲＥ）」という名称の米国特許出願第１４／７３６，６３１号に基づく優先権を主張するものであり、この文献は、本出願に完全に記載されているかのように全ての目的で引用により本明細書に組み入れられる。
【背景技術】
【０００２】
デジタルカメラなどの装置では、デジタル画像を生成するために画像センサが広く使用されている。画像センサでは、アナログ信号をデジタル信号に変換するアナログデジタルコンバータ（ＡＤＣ）が使用されている。具体的に言えば、ＡＤＣは、画素アレイからのアナログ画素信号をデジタルデータに変換する。画像を表すデジタルデータの圧縮及び画像品質の維持のために、圧縮技術を使用することもできる。
【発明の概要】
【課題を解決するための手段】
【０００３】
実装は、一般にデータチャージ相データの圧縮に関し、エリアアナログデジタル（ＡＤ）センサによって取り込まれた、所定の出力エリアＡＤ符号化順又は取り込み順に基づく画像画素データの圧縮に関する。いくつかの実装では、装置が、１又は２以上のプロセッサと、１又は２以上のプロセッサによって実行されるように１又は２以上の有形媒体に符号化されたロジックとを含み、このロジックは、実行時に、データチャージ相データである画像データの予測値をブロック間予測に基づいて計算するステップと、予測値に基づいて残差データを計算するステップと、残差データを量子化するステップと、量子化された残差データをエントロピー符号化するステップと、エントロピー符号化後に、残差データ及び使い残されたビット配分の数の一方又は両方に基づいて、逆量子化された残差データを洗練するステップとを含む動作を実行する。いくつかの実装では、ソフトウェアが、１又は２以上のプロセッサによって実行されるように１又は２以上の非一時的コンピュータ可読媒体に符号化される。このソフトウェアは、実行時に、データチャージ相データである画像データの予測値をブロック間予測に基づいて計算するステップと、予測値に基づいて残差データを計算するステップと、残差データを量子化するステップと、量子化された残差データをエントロピー符号化するステップと、エントロピー符号化後に、残差データ及び使い残されたビット配分の数の一方又は両方に基づいて、逆量子化された残差データを洗練するステップとを含む動作を実行する。
【０００４】
いくつかの実装では、方法が、データチャージ相データである画像データの予測値をブロック間予測に基づいて計算するステップを含む。この方法は、予測値に基づいて残差データを計算するステップをさらに含む。この方法は、残差データを量子化するステップをさらに含む。この方法は、量子化された残差データをエントロピー符号化するステップをさらに含む。この方法は、エントロピー符号化後に、残差データ及び使い残されたビット配分の数の一方又は両方に基づいて、逆量子化された残差データを洗練するステップをさらに含む。
【０００５】
本明細書の残り部分及び添付図面を参照することにより、本明細書に開示する特定の実施形態の性質及び利点をさらに理解することができる。
【図面の簡単な説明】
【０００６】
【図１】本明細書で説明する実装に使用できるエリアアナログデジタルコンバータ（ＡＤＣ）のブロック図である。
【図２】いくつかの実装による、相関二重サンプリング（ＣＤＳ）ベースの動作から得られるデータを示すグラフ図例である。
【図３】いくつかの実装によるデータ圧縮器例のブロック図である。
【図４】いくつかの実装による画像データ圧縮方法例のフロー図である。
【図５】いくつかの実装によるビットストリーム構造例を示す図である。
【図６Ａ】いくつかの実装によるＤ相データ例のブロック図である。
【図６Ｂ】いくつかの実装によるサブサンプル符号化ブロック例のブロック図である。
【図６Ｃ】いくつかの実装によるサブサンプル符号化ブロック例のブロック図である。
【図６Ｄ】いくつかの実装によるサブサンプル符号化ブロック例のブロック図である。
【図６Ｅ】いくつかの実装によるサブサンプル符号化ブロック例のブロック図である。
【図７Ａ】いくつかの実装による入力ピクチャ例のブロック図である。
【図７Ｂ】いくつかの実装によるサブピクチャ例のブロック図である。
【図７Ｃ】いくつかの実装によるサブピクチャ例のブロック図である。
【図８Ａ】いくつかの実装による入力ピクチャ例のブロック図である。
【図８Ｂ】いくつかの実装によるサブピクチャ例のブロック図である。
【図８Ｃ】いくつかの実装によるサブピクチャ例のブロック図である。
【図９】いくつかの実装による、符号化順がラスタ順である入力ピクチャ例のブロック図である。
【図１０】いくつかの実装による、符号化順がジグザグ順である入力ピクチャ例のブロック図である。
【図１１】いくつかの実装による入力ピクチャ例のブロック図である。
【図１２】本明細書で説明する実装に使用できるコンピュータシステム例のブロック図である。
【発明を実施するための形態】
【０００７】
実装は、一般にデータチャージ相データの圧縮に関する。以下でさらに詳細に説明するように、実装は、エリアアナログデジタル（ＡＤ）センサのデータチャージ相（Ｄ相）データなどのＤ相データのデータ圧縮のために、ブロック間予測に基づく技術を採用する。以下でさらに詳細に説明するように、ブロック間予測は、ブロック間の依存性を伴う。いくつかの実装は、ブロック内予測を採用することもできる。
【０００８】
様々な実装では、装置が、データチャージ相データである画像データの予測値をブロック間予測に基づいて計算する。装置は、予測値に基づいて残差データをさらに計算する。装置は、残差データをさらに量子化する。装置は、量子化された残差データをさらにエントロピー符号化する。装置は、エントロピー符号化後に、残差データ及び使い残されたビット配分の数の一方又は両方に基づいて、逆量子化された残差データをさらに洗練する。この結果、イントラ予測ベースの技術に比べて、主観的性能と客観的性能の両方が改善される。
【０００９】
図１は、本明細書で説明する実装に使用できるエリアアナログデジタルコンバータ（ＡＤＣ）１００のブロック図である。エリアＡＤＣ１００は、プリチャージ相（Ｐ相）データとデータチャージ層（Ｐ相）データとを生成する画素の領域又はブロック１０２を含む。
【００１０】
様々な実装では、エリアＡＤＣ１００が、ブロック１０２において並列処理を実行する。説明を容易にするために、ブロック１０２は正方形で示している。様々な実装では、ブロック１０２を矩形、円などのあらゆる形状とすることができる。
【００１１】
様々な実装では、センサがオンになってから安定した出力に達するまでの時間とすることができるエリアＡＤＣ１００の整定時間を大幅に短縮することができる。このような短い整定時間は、高速カメラにとって有益である。
【００１２】
図２に、いくつかの実装による、相関二重サンプリング（ＣＤＳ）ベースの動作から得られるデータを示すグラフ図例２００を示す。様々な実装では、ＣＤＳベースの動作が、Ｐ相データとＤ相データとを伴う。エリアＡＤＣ１００は、ノイズ低減技術であるＣＤＳを実行し、この時にＤ相データとＰ相データとの差分からＣＤＳデータが生じる。ＣＤＳデータは、画像内のノイズの消去を反映する。
【００１３】
コーデックの観点からすると、Ｐ相データを取得するタイミングとＤ相データを取得するタイミングとが異なるので、エリアＡＤＣ１００はＰ相データを記憶する。例えば、エリアＡＤＣ１００は、Ｐ相データを取得して記憶する。エリアＡＤＣ１００は、Ｄ相データを取得すると、ノイズを消去するためにＰ相データをフェッチしてＣＤＳを実行することができる。以下でさらに詳細に説明するように、Ｐ相は圧縮することが望ましく、従って圧縮が行われる。
【００１４】
図３は、いくつかの実装によるデータ圧縮器例３００のブロック図である。様々な実装では、データ圧縮器３００を、図１のエリアＡＤＣの一部とすることができる。図示のように、データ圧縮器３００は、予測ユニット３０２と、量子化器３０４と、エントロピー符号化器３０６と、洗練ユニット３０８とを含む。データ圧縮器３００の動作のための実装例については、以下で図４に関連してさらに詳細に説明する。
【００１５】
本明細書に示す実装は、画像データの文脈で説明することができるが、これらの及びその他の実装は、非画像データにも適用される。例えば、Ｐ相データは、主に非画像データ又はノイズである。本明細書に示す実装は、非画像データ又はノイズで構成されたＰ相データの圧縮にも、画像データで構成されたＤ相データの圧縮にも適用することができる。
【００１６】
様々な実装では、エリアＡＤＣ１００が、２つのモードで動作することができる。第１のモードは、２つのモードのうちの単純な方のモードであり、パルス符号変調（ＰＣＭ）と呼ばれる。第２のモードは、差分パルス符号変調（ＤＰＣＭ）と呼ばれる。様々な実装では、どちらのモードを適用すべきかを１ビット信号（例えば、０又は１のビット）が示す。
【００１７】
エリアＡＤＣ１００は、ＰＣＭモードについては、ビット配分が全て使用されるまで各ビットプレーンを最上位ビット（ＭＳＢ）から最下位ビット（ＬＳＢ）への順番で送る。いくつかの実装では、エリアＡＤＣ１００が、未符号化ビットの中間点復元を実行することができる。いくつかの実装では、各ブロックがランダムにアクセスされるランダムアクセス（ＲＡ）画素アレイにＰＣＭモードを適用することができる。換言すれば、周囲のブロックに依存することなく各ブロックに個別にアクセスして個別に符号化及び／又は復号することができる。
【００１８】
実装例では、所与の画素ブロックが、８×１ブロック又は８×１画素である。画素ブロックは、あらゆるサイズ（例えば、４×４など）とすることができる。この例では、ブロックが８×１画素である。この例では、８つの画素の各々に１２ビット深度（ビットプレーン）が存在する。各画素は１２ビットであって６ビットに圧縮されるが、特定の実装に応じて他のあらゆるビット数（例えば、４ビットなど）に圧縮することができる。
【００１９】
１２ビット深度から６ビット深度に符号化する必要がある場合には、サンプル当たり８×１２又は９６ビットが、サンプル当たり８×６又は４８ビットになる。この結果、８×１ブロックは、（９６ビットではなく）４８ビットで符号化される。
【００２０】
いくつかの実装では、エリアＡＤＣ１００が、最初にビット配分を計算する。４８ビット配分の場合、ＰＣＭモードを示すために１ビットが使用される。従って、この例では４７ビットが残っている。次に、エリアＡＤＣ１００は、ヘッダビットを削除する。その後、エリアＡＤＣ１００は、ビット配分を使い切るまで各ブロックをＭＳＢからＬＳＢまで符号化する。その後に、いくつかの実装では、エリアＡＤＣ１００が、誤差を最小化するために中間点復元を実行する。
【００２１】
ＤＰＣＭモードの実装例については、以下で図４に関連してさらに詳細に説明する。
【００２２】
図４は、いくつかの実装による画像データ圧縮方法例のフロー図である。図３及び図４を共に参照すると、この方法は、ブロック４０２から開始して、圧縮器３００が画像データの予測値を計算する。様々な実装では、画像データがデータチャージ相データである。データ圧縮器３００は、画像データをブロックに分割し、画像データのブロック毎に予測値を計算し、ブロック間予測に基づいて予測値を計算する。換言すれば、データ圧縮器３００は、第１のブロックのサンプルと第２のブロックのサンプルとを比較することに基づいて予測値を計算する。様々な実装では、ブロック間予測の利点として、性能が高くなり、見返りとして大型のランダムアクセスユニットが必要になり得る。いくつかの実装では、データ圧縮器３００が、ブロック内予測に基づいて予測値を計算することができる。様々な実装では、ブロック内予測の利点として、必要なランダムアクセスユニットが小型になり、見返りとして性能が低くなり得る。
【００２３】
以下でさらに詳細に説明するように、様々な実装では、予測値の計算が、異なるブロック内の同じ位置のサンプルデータに基づく。例えば、予測値の計算は、前のブロック内の同じ位置のサンプルデータに基づくことができる。
【００２４】
再び図４を参照すると、データ圧縮器３００は、ブロック４０４において、予測値に基づいて残差データを計算する。
【００２５】
データ圧縮器３００は、ブロック４０６において残差データを量子化する。様々な実装では、データ圧縮器３００が、残差画像データを量子化値に基づいて量子化する。様々な実装では、データ圧縮器３００が、ビットストリーム内で送られる量子化パラメータ（ｑｎ）をモード決定処理において決定する。いくつかの実装では、以下で詳細に説明する２つの技術が考えられる。
【００２６】
第１の技術については、いくつかの実装において、データ圧縮器３００が所定の量子化値（ｑｎ）を選択する。様々な実装が可能である。例えば、いくつかの実装では、量子化値が、所定のビット深度に基づくことができる。いくつかの実装では、データ圧縮器３００が、所定の数（例えば、０、１、２、など）から所定のビット深度に及ぶ一連の量子化値から量子化値を選択することができる。例えば、所定のビット深度が１２の場合には、量子化値を０〜１１（１２個の考えられる量子化値）とすることができる。別の実装例では、量子化値が２ｎのＱステップサイズに基づくことができ、ｎ＝１、２、３、４などである。いくつかの実装では、ヘッダ内に量子化値を知らせるための４ビットが存在することができる。データ圧縮器３００は、異なる量子化値を試す。
【００２７】
第２の技術については、いくつかの実装において、データ圧縮器３００が、１又は２以上の所定の量子化値から量子化値を選択する。このような量子化値は、特定の実装に応じて変化することができる。モード決定は、これらの２つの所定の量子化値を比較することができる。従って、この技術は、モード決定処理を単純化する。また、量子化値を知らせるために、ヘッダ内に１ビットしか必要としない。
【００２８】
データ圧縮器３００は、ブロック４０８において、量子化された残差データをエントロピー符号化する。いくつかの実装では、データ圧縮器３００が、エントロピー符号化をゴロム符号（例えば、指数ゴロム符号、順次（ｐｒｏｇｒｅｓｓｉｖｅ）ゴロム符号など）に基づいて実行する。特定の実装に応じて、他のエントロピー符号化を使用することもできる。
【００２９】
データ圧縮器３００は、ブロック４１０において、量子化された残差データの逆数を洗練する。いくつかの実装では、データ圧縮器３００が、エントロピー符号化後に、残差データ及び使い残されたビット配分の数の一方又は両方に基づいて、逆量子化された残差データを洗練する。
【００３０】
図５に、いくつかの実装によるビットストリーム構造例５００を示す。様々な実装では、ビットストリーム構造５００がＤＰＣＭモードに使用され、ビットストリーム構造５００内のビットストリームで様々な上述した値が送られる。図示のように、（「モード」として表記した）モードフィールド５０２は、ＰＣＭ又はＤＰＣＭのいずれを使用すべきかを示す１ビット信号（例えば、０又は１）を記憶する。（「Ｑｎ」として表記した）量子化フィールド５０４は、量子化値を記憶する。エントロピー符号化フィールド５０６は、エントロピー符号化値を記憶する。（「残差」として表記した）残差フィールド５０８は、残差データを記憶する。
【００３１】
様々な実装では、ビットストリーム構造５００が、サブサンプリングされた画像データに基づく。また、走査順は可変とすることができ、全ての領域間で一様な走査が望ましい。
【００３２】
本明細書の実装に示すステップは、データ圧縮器３００が実行するものとして説明しているが、説明するステップは、エリアＡＤＣ１００のあらゆる好適なコンポーネント又はコンポーネントの組み合わせ、或いはエリアＡＤＣ１００及び／又はデータ圧縮器３００に関連するあらゆる好適な１又は複数のプロセッサ、及び／又はあらゆる好適なシステムが実行することができる。
【００３３】
図６Ａは、いくつかの実装によるＤ相データ例６００のブロック図である。様々な実装では、Ｄ相データ６００が、エリアＡＤＣ１００などのエリアＡＤＣからのＤ相画像データである。
【００３４】
様々な実装では、Ｄ相データ６００が、未加工ベイヤー画像と概ね同じものである。Ｐ相データとは異なり、Ｄ相データは、ダイナミックレンジがはるかに高く、強い空間相関が存在する。Ｄ相データ６００と未加工ベイヤーとの主な違いとしては、以下が挙げられる。各ブロックが、ベイヤー画像の連続する隣接サンプルで構成されていない。また、以下でさらに詳細に説明するように、ブロックの各サンプルが異なる領域に属する。例えば、領域のサイズを４×４とすることができ、ブロックのサイズを４×２とすることができる。
【００３５】
図示のように、Ｄ相データ６００は、（太線で示す）４×４の領域６０２、６０４、６０６、６０８、６１０、６１２、６１４、６１６、６１８、６２０、６２２、６２４、６２６、６２８、６３０及び６３２に分割される。この特定の例では、各領域のサイズが４×４である。特定の実装に応じて、他のサイズ（例えば、６×６、８×８、１０×１０など）も可能である。
【００３６】
各４×４の領域は、（点線で示す）符号化ブロック６４０などの符号化ブロックを含む。この特定の例では、符号化ブロックが４×２である。４×２の符号化ブロックは、ベイヤー画像符号化の典型である。特定の実装に応じて、他のサイズ（例えば、４×４、４×３、４×１など）も可能である。
【００３７】
各符号化ブロックは、所定のサンプル数を有する。この例では、８つのサンプルが存在する。符号化ブロック当たりの特定のサンプル数は、特定の実装に依存する。
【００３８】
各符号化ブロックは、関連するサンプル位置を有する。例えば、符号化ブロック６４０は、サンプル位置Ａ１、Ａ２、Ａ３、Ａ４、Ａ５、Ａ６、Ａ７及びＡ８を有する。
【００３９】
様々な実装では、データ圧縮器１００が、元々の符号化ブロック内の各サンプルの位置に基づいて、Ｄ相データ６００を異なるサブサンプル符号化ブロックに分離する。この特定の例では、サブサンプル符号化ブロックが４×２である。特定の実装に応じて、他のサイズ（例えば、４×４、４×３、４×１など）も可能である。
【００４０】
図６Ｂ〜図６Ｅは、いくつかの実装によるサブサンプル符号化ブロック例６５０、６６０、６７０及び６８０のブロック図である。
【００４１】
図示のように、この特定の実装では、４つの４×２のサブサンプル符号化ブロック６５０、６６０、６７０及び６８０が存在する。図示のように、サブサンプル符号化ブロック６５０は、Ａ１、Ｂ１、Ｃ１、Ｄ１、Ｅ１、Ｆ１、Ｇ１及びＨ１に対応するサンプルを含む。所与のサブサンプルブロックの各サンプルは、入力ピクチャ６００の異なる領域に属するので、相関性は低くなる。データ圧縮器３００は、たとえ相関性が低くても、ブロック間予測に基づいてＤ相データを圧縮することができる。
【００４２】
この結果、予測値の計算は、異なる符号化ブロック内の同じ位置のサンプルデータに基づく。例えば、予測値の計算は、前のブロック内の同じ位置のサンプルデータに基づくことができる。
【００４３】
図示のように、サブサンプル符号化ブロック６６０は、Ａ２、Ｂ２、Ｃ２、Ｄ２、Ｅ２、Ｆ２、Ｇ２及びＨ２に対応するサンプルを含む。
【００４４】
図示のように、サブサンプル符号化ブロック６７０は、Ｉ１、Ｊ１、Ｋ１、Ｌ１、Ｍ１、Ｎ１、Ｏ１及びＰ１に対応するサンプルを含む。
【００４５】
図示のように、サブサンプル符号化ブロック６８０は、Ｉ２、Ｊ２、Ｋ２、Ｌ２、Ｍ２、Ｎ２、Ｏ２及びＰ２に対応するサンプルを含む。
【００４６】
様々な実装では、データ圧縮器３００が、所与のサブサンプルブロック内の全ての画素を個別に符号化する。例えば、データ圧縮器３００は、サブサンプルブロック６５０内の全ての画素を符号化し、その後にサブサンプルブロック６６０、サブサンプルブロック６７０、サブサンプルブロック６８０の順に符号化することができる。この場合、実際の順序は異なることもあり、特定の実装に依存する。
【００４７】
エリアＡＤＣ符号化ブロックは、サブサンプリングされたデータで構成されるので、ブロック内の空間相関は、連続サンプルを含む従来の符号化ブロックに比べてはるかに低い。従って、これにより、（同じブロック内のサンプルからサンプルを予測する）イントラ予測を使用する場合にＤＰＣＭモードの効果が低くなる。
【００４８】
上述したように、本明細書で説明する実装は、ＰＣＭモードとＤＰＣＭモードの両方をサポートする。ＤＰＣＭモードの実装では、予測のために隣接ブロックにアクセスすることができる。いくつかの実装では、これらの技術の一部に、他のブロックを記憶する追加のメモリが必要になることもある。また、ランダムアクセスユニットが大型になることもある。
【００４９】
図７Ａは、いくつかの実装による入力ピクチャ例７００のブロック図である。入力ピクチャ７００は、Ｄ相データを含む。図示の入力ピクチャ７００は、３６×２４のピクチャサイズ、３×３のエリアＡＤＣサイズ、及び４×１の埋め込みブロック符号化（ＥＢＣ）ブロックサイズを有する。いくつかの実装では、単一のカラーフォーマット（図を単純にするために、Ｒ、Ｇｒ、Ｇｂ、Ｂのカラーではない）が存在する。
【００５０】
図７Ｂ及び図７Ｃは、いくつかの実装によるサブピクチャ例７１０及び７２０のブロック図である。各サブピクチャ７１０及び７２０は、４×１のブロックサイズのブロックを２４個有する。様々な実装では、各サブピクチャ例７１０及び７２０が、入力ピクチャ７００内の位置に基づく。
【００５１】
図８Ａは、いくつかの実装による入力ピクチャ例８００のブロック図である。この実装例における入力ピクチャ８００は、図７Ａの入力ピクチャ７００と同じものである。
【００５２】
図８Ｂ及び図８Ｃは、いくつかの実装によるサブピクチャ例８１０及び８２０のブロック図である。この実装例におけるサブピクチャ８１０及び８２０は、図７Ｂのサブピクチャ７１０及び７２０と同じものである。
【００５３】
サブピクチャ８３０も示す。様々な実装では、現在のサンプルの予測因子が、前のブロック又はサブピクチャ内の同じ位置のサンプルである。換言すれば、予測因子が異なるブロックからのものであるブロック間予測を使用する。例えば、図８Ｂに示すように、サブピクチャ７１０を予測するためにサブピクチャ７２０を使用する。また、図８Ｃに示すように、サブピクチャ７３０を予測するためにもサブピクチャ７２０を使用する。いくつかの実装では、サブピクチャを記憶するために追加のメモリを使用することもできる。
【００５４】
様々な実装では、符号化順を固定することも、ブロックレベルで適応させることも、或いはフレームレベルで適応させることもできる。特定の実装に応じて、様々な符号化順が可能である。
【００５５】
図９は、いくつかの実装による、符号化順がラスタ順である入力ピクチャ例９００のブロック図である。図示のように、いくつかの実装では、符号化順がラスタ順である。この実装例では、（太線の矩形で示す）ランダムアクセスユニットのサイズが小さい。また、（太線の矢線で示す）サブピクチャ０、サブピクチャ３、サブピクチャ６は、全てイントラ予測符号化される（黄色のサンプル）。
【００５６】
図１０は、いくつかの実装による、符号化順がジグザグ順である入力ピクチャ例１０００のブロック図である。図示のように、いくつかの実装では、符号化順がジグザグ順である。この実装例では、（太線の矩形で示す）ランダムアクセスユニットのサイズが大きい。また、サブピクチャ０のみが、全てイントラ予測符号化される（黄色のサンプル）。客観的性能と主観的性能の両方がラスタ順よりも良好である。
【００５７】
図１１は、いくつかの実装によるサブピクチャ例１１００のブロック図である。
【００５８】
図１２は、本明細書で説明した実装に使用できるコンピュータシステム例１２００のブロック図である。例えば、コンピュータシステム１２００は、図１のエリアＡＤＣ１００又は他のいずれかの関連装置を実装するために使用することができる。いくつかの実装では、コンピュータシステム１２００が、プロセッサ１２０２と、オペレーティングシステム１２０４と、メモリ１２０６と、入力／出力（Ｉ／Ｏ）インターフェイス１２１０と、センサ１２１２とを含むことができる。ソフトウェアアプリケーション１２０８は、メモリ１２０６、或いは他のいずれかの好適な記憶位置又はコンピュータ可読媒体に記憶することができる。ソフトウェアアプリケーション１２０８は、本明細書で説明した機能をプロセッサ１２０２が実行できるようにする命令を与える。他の実施形態では、コンピュータシステム１２００が、上述したコンポーネントを全て有していないことも、及び／又は上述したコンポーネントの代わりに又はこれらに加えて、他のコンポーネントを有することもできる。コンピュータシステム１２００のコンポーネントは、１又は２以上のプロセッサ、又はハードウェア装置のいずれかの組み合わせ、及びハードウェア、ソフトウェア、ファームウェアなどのいずれかの組み合わせによって実装することができる。
【００５９】
特定の実施形態を参照しながら説明したが、これらの特定の実施形態は例示にすぎず、限定的なものではない。
【００６０】
特定の実施形態のルーチンの実装には、Ｃ、Ｃ＋＋、Ｊａｖａ、アセンブリ言語などを含むいずれかの好適なプログラム言語を使用することができる。手続き指向型又はオブジェクト指向型などの異なるプログラミング技術を使用することができる。これらのルーチンは、単一の処理装置又は複数のプロセッサ上で実行することができる。ステップ、動作又は計算を特定の順序で示していることもあるが、異なる特定の実施形態ではこの順序を変更することができる。いくつかの特定の実施形態では、本明細書において連続的するものとして示した複数のステップを同時に実行することもできる。
【００６１】
特定の実施形態は、命令実行システム、装置、システム又は機器が使用する、或いはこれらに接続された非一時的コンピュータ可読記憶媒体に実装することができる。特定の実施形態は、ソフトウェア又はハードウェア又はこれらの組み合わせにおける制御論理の形で実装することもできる。制御論理は、１又は２以上のプロセッサによって実行された時に、特定の実施形態において説明した内容を実行することができる。
【００６２】
特定の実施形態は、プログラムされた汎用デジタルコンピュータを使用することにより、特定用途向け集積回路、プログラマブル論理装置、フィールドプログラマブルゲートアレイ、光学、化学、生物学、量子又はナノエンジニアリングシステム、コンポーネント及び機構を使用することによって実装することができる。一般に、特定の実施形態の機能は、当業で周知のあらゆる手段によって実現することができる。分散型のネットワークシステム、コンポーネント及び／又は回路を使用することもできる。データの通信又は転送は、有線、無線又は他のいずれかの手段によるものとすることができる。
【００６３】
特定の用途に従って有用な場合には、図面／図に示す要素の１つ又は２つ以上をさらに分離又は統合させて実装することも、或いは場合によっては削除し、又は動作不能とすることもできると理解されたい。機械可読媒体に記憶できるプログラム又はコードを実装して、上述した方法のいずれかをコンピュータが実行できるようにすることも本発明の趣旨及び範囲に含まれる。
【００６４】
「プロセッサ」は、データ、信号又はその他の情報を処理するいずれかの好適なハードウェア及び／又はソフトウェアシステム、機構又はコンポーネントを含む。プロセッサは、汎用中央処理装置、複数の処理装置、機能を実現するための専用回路又はその他のシステムを有するシステムを含むことができる。ある地理的位置に処理を限定したり、又は処理に時間的制限を設けたりする必要はない。例えば、プロセッサは、その機能を「リアルタイム」、「オフライン」、「バッチモード」などで実行することができる。処理の一部は、異なる時間に異なる場所で、異なる（又は同じ）処理システムによって実行することができる。処理システムの例としては、サーバ、クライアント、エンドユーザ装置、ルータ、スイッチ、ネットワークストレージなどを挙げることができる。コンピュータは、メモリと通信するあらゆるプロセッサとすることができる。メモリは、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、磁気又は光学ディスク、或いはプロセッサが実行する命令を記憶するのに適した他の有形媒体などのあらゆる好適なプロセッサ可読記憶媒体とすることができる。
【００６５】
本明細書において、及び以下の特許請求の範囲を通じて使用する「１つの（英文不定冠詞）」及び「その（英文定冠詞）」は、文脈において別途明確に示していない限り複数形の意味を含む。また、本明細書において、及び以下の特許請求の範囲を通じて使用する「〜内（ｉｎ）」の意味は、文脈において別途明確に示していない限り、「〜内（ｉｎ）」及び「〜上（ｏｎ）」の意味を含む。
【００６６】
以上、本明細書では特定の実施形態について説明したが、上述の開示では修正、様々な変更及び置き換えの自由が意図されており、場合によっては、説明した範囲及び趣旨から逸脱することなく、特定の実施形態のいくつかの特徴が、対応する他の特徴の使用を伴わずに採用されると理解されたい。従って、基本的な範囲及び趣旨に特定の状況又は材料を適合させる多くの修正を行うことができる。
【符号の説明】
【００６７】
３００  データ圧縮器
３０２  予測ユニット
３０４  量子化器
３０６  エントロピー符号化器
３０８  洗練ユニット
【図１】
0006614420.tif 000002
【図２】
0006614420.tif 000003
【図３】
0006614420.tif 000004
【図４】
0006614420.tif 000005
【図５】
0006614420.tif 000006
【図６Ａ】
0006614420.tif 000007
【図６Ｂ】
0006614420.tif 000008
【図６Ｃ】
0006614420.tif 000009
【図６Ｄ】
0006614420.tif 000010
【図６Ｅ】
0006614420.tif 000011
【図７Ａ】
0006614420.tif 000012
【図７Ｂ】
0006614420.tif 000013
【図７Ｃ】
0006614420.tif 000014
【図８Ａ】
0006614420.tif 000015
【図８Ｂ】
0006614420.tif 000016
【図８Ｃ】
0006614420.tif 000017
【図９】
0006614420.tif 000018
【図１０】
0006614420.tif 000019
【図１１】
0006614420.tif 000020
【図１２】
0006614420.tif 000021