(57)【要約】  １組の副標本抽出された画像データを解凍する方法が開示される。本方法は、副標本抽出された画像データの第１の部分集合をキャッシュ・メモリと、前記キャッシュ・メモリ以下のメモリ量を有しているバッファとに読み込むこと、解凍された画像データを形成するために、前記副標本抽出された画像データの部分集合の少なくとも幾つかの画素のクロミナンス値を演算すること、前記解凍された画像データを出力することを含んでいる。【選択図】      図２
2007521768.tif 000002
【特許請求の範囲】
【請求項１】
A×B画素配列に配置される１組の副標本抽出された画像データを解凍する方法であって、
前記副標本抽出された画像データの第１の部分集合をキャッシュ・メモリと、該キャッシュ・メモリよりも少ないメモリ量を有しているバッファとに読み込むこと、
解凍された画像データを形成するために、前記副標本抽出された画像データの部分集合の少なくとも幾つかの画素のクロミナンス値を演算すること、および
前記解凍された画像データを出力することを含む方法。
【請求項２】
前記バッファは、前記解凍された画像データのA×C画素配列を保持するように構成され、Cは、Bよりも小さい請求項１記載の方法。
【請求項３】
前記バッファは、前記解凍された画像データのA×3画素配列を保持するように構成されている請求項２記載の方法。
【請求項４】
前記副標本抽出された画像データは、4:2:0コジテッド（cosited）画像データである請求項１記載の方法。
【請求項５】
前記バッファは、１行目、２行目、および３行目を有し、前記１行目および前記３行目は、前記副標本抽出された画像データのサンプリングされたクロミナンス値を含んでいる請求項４記載の方法。
【請求項６】
前記クロミナンス値の演算は、前記１行目上のサンプリングされたクロミナンス値から前記１行目に対する欠落クロミナンス値を演算すること、
前記３行目上のサンプリングされたクロミナンス値からの前記３行目に対する欠落クロミナンス値を演算すること、および、次に、
前記１行目および３行目上のサンプリングされたクロミナンス値から前記２行目に対する欠落クロミナンス値を演算することを含んでいる請求項５記載の方法。
【請求項７】
前記１行目および２行目に対する欠落クロミナンス値を演算した後で、前記解凍された画像データを前記１行目および２行目から出力バッファに出力すること、前記１行目で前記３行目をリセットすることをさらに含む請求項６記載の方法。
【請求項８】
前記１行目で前記３行目をリセットすることは、前記２行目で前記１行目をリセットすること、および、前記３行目で前記２行目をリセットすることを含んでいる請求項７記載の方法。
【請求項９】
前記２行目で前記１行目をリセットし、前記３行目で前記２行目をリセットした後で、副標本抽出された画像データの新しい部分集合を前記２行目および３行目に読み込むことをにさらに含む請求項８記載の方法。
【請求項１０】
前記解凍された画像データを出力した後で、前記副標本抽出された画像データの第２の部分集合を前記キャッシュ・メモリおよび前記バッファに読み込むことをさらに含む請求項１記載の方法。
【請求項１１】
前記副標本抽出された画像データの部分集合を前記キャッシュ・メモリおよび前記バッファに反復して読み込むこと、前記副標本抽出された画像データの各部分集合の少なくとも幾つかの画素のクロミナンス値を演算すること、および、前記副標本抽出された画像データが完全に解凍されるまで、前記解凍された画像データを出力することをさらに含む請求項１０記載の方法。
【請求項１２】
前記解凍された画像データは、解凍された画像データの完全な組を保持するように構成された出力バッファに出力される請求項１記載の方法。
【請求項１３】
前記バッファは、前記解凍された画像データのA×C配列を保持するように構成され、前記解凍された画像データを出力することは、前記解凍された画像データのA×D配列を出力することを含み、Dは、Cよりも小さい請求項１記載の方法。
【請求項１４】
前記解凍された画像データのA×D配列を出力した後で、副標本抽出された画像データの別のA×D配列を読み込むことをさらに含む請求項１３記載の方法。
【請求項１５】
Cは、3に等しく、Dは、2である請求項１３記載の方法。
【請求項１６】
A×B画素配列に配置される１組の副標本抽出された画像データを解凍する方法であって、
（a）  副標本抽出された画像データの第１の部分集合を、解凍された画像データのA×C画素配列（Cは、Bよりも小さい）を保持するように構成されたキャッシュ・メモリおよび解凍バッファに読み込むこと、
（b）  解凍された画像データを形成するために、前記副標本抽出された画像データの少なくとも幾つかの画素のクロミナンス値を演算すること、
（c）  出力バッファに解凍された画像データのA×D画素配列（Dは、C以下）を出力すること、
（d）  前記副標本抽出された画像データの別の部分集合（前記副標本抽出された画像データの第２の部分集合は、画像データのA×D画素を有している）を前記キャッシュ・メモリおよび前記解凍バッファに読み込むこと、および
（e）  前記１組の副標本抽出された画像データが完全に解凍されるまで（b）〜（d）を繰り返すことを含む方法。
【請求項１７】
前記解凍バッファは、前記キャッシュ・メモリ以下のメモリ量を有している請求項１６記載の方法。
【請求項１８】
前記副標本抽出された画像データは、4:2:0コジテッド画像データである請求項１７記載の方法。
【請求項１９】
Cは、3である請求項１８記載の方法。
【請求項２０】
前記バッファは、１行目、２行目、および３行目を有し、前記解凍された画像データのA×D画素配列を出力することは、前記１行目および前記２行目から前記解凍された画像データを出力することを含んでいる請求項１９記載の方法。
【請求項２１】
副標本抽出された画像データの別の部分集合で読み込む前に１行目で３行目をリセットすることをさらに含むこと請求項２０記載の方法。
【請求項２２】
Dは、2である請求項１９記載の方法。
【請求項２３】
A×B画素配列に配置された副標本抽出された画像データを解凍する画像処理装置であって、
処理用の１組の前記副標本抽出された画像データを受信するように、また、前記画像データのA×C画素配列（Cは、Bよりも小さい）を保持するように構成されたバッファ・メモリと、
前記１組の副標本抽出された画像データを受信し、且つ、処理中に前記１組の副標本抽出された画像データを保持するように構成されたキャッシュ・メモリと、（前記画像データのA×C画素配列を記憶するために、キャッシュ・メモリは十分なサイズを有している）
前記バッファ・メモリに保持された前記１組の副標本抽出された画像データに対するクロミナンス値を演算するように構成されたプロセッサとを備える画像処理装置。
【請求項２４】
前記バッファ・メモリは、キャッシュ・メモリよりも小さい請求項２３記載の画像処理装置。
【請求項２５】
前記バッファ・メモリは、画像データを３行保持するように構成されている請求項２３記載の画像処理装置。
【請求項２６】
前記副標本抽出された画像データは、4:2:0コジテッド画像データである請求項２３記載の画像処理装置。
【請求項２７】
前記バッファ・メモリは、１行目、２行目、および３行目を有し、前記１行目および前記３行目は、サンプリングされたクロミナンス値を有した画像データを含むように構成されている請求項２６記載の画像処理装置。
【請求項２８】
前記プロセッサは、前記１行目のサンプリングされたクロミナンス値から該１行目に対する欠落クロミナンス値を、前記３行目のサンプリングされたクロミナンス値からの該３行目に対する欠落クロミナンス値を、および、前記１行目および３行目のサンプリングされたクロミナンス値から前記２行目の欠落クロミナンス値を演算するように構成されている請求項２７記載の画像処理装置。
【請求項２９】
前記プロセッサは、前記１行目および２行目に対する欠落クロミナンス値を演算した後で、前記１行目および２行目から前記解凍された画像データを出力バッファに出力し、その後、前記３行目を前記１行目でリセットするように構成されている請求項２８記載の画像処理装置。
【請求項３０】
前記プロセッサは、前記３行目を前記１行目でリセットするときに、前記１行目を前記２行目でリセットし、前記２行目を前記３行目でリセットするように構成されている請求項２９記載の画像処理装置。
【請求項３１】
前記１行目を前記２行目でリセットし、前記２行目を前記３行目でリセットした後で、副標本抽出された画像データの新しい部分集合を前記２行目および３行目に読み込むことをさらに含む請求項３０記載の方法。
【請求項３２】
コンピュータが読み取り可能な記憶媒体上で、プログラムは、副標本抽出された画像データを処理する演算装置によって実行可能な１組の命令を含んでおり、前記副標本抽出された画像データは、A×B画素配列に配置され、前記１組の命令は、
前記副標本抽出された画像データの第１の部分集合を、キャッシュ・メモリと、該キャッシュ・メモリよりも少ないメモリ量を有したバッファとに読み込むために、
解凍された画像データを形成するために前記副標本抽出された画像データの部分集合の少なくとも幾つかの画素に対するクロミナンス値を演算するために、および
前記解凍された画像データを出力するために、前記演算装置によって実行可能であるプログラム。
【請求項３３】
前記バッファは、前記解凍された画像データのA×C画素配列（Cは、Bよりも小さい）を保持するように構成されている請求項３２記載のプログラム。
【請求項３４】
前記バッファは、前記解凍された画像データのA×3画素配列を保持するように構成されている請求項３３記載のプログラム。
【請求項３５】
前記副標本抽出された画像データは、4:2:0コジテッド画像データである請求項３２記載のプログラム。
【請求項３６】
前記バッファは、１行目、２行目、および３行目を有し、前記１行目および前記３行目は、前記副標本抽出された画像データのサンプリングされたクロミナンス値を含んでいる請求項３５記載のプログラム。
【請求項３７】
前記命令は、１行目上のサンプリングされたクロミナンス値からの１行目に対する欠落クロミナンス値を演算し、３行目上のサンプリングされたクロミナンス値からの３行目に対する欠落クロミナンス値の演算、およびその後第１の上のサンプリングされたクロミナンス値から２行目および３行目上の演算する欠落クロミナンス値により、クロミナンス値を演算するのに実行可能である請求項３６記載のプログラム。
【請求項３８】
前記命令は、１行目および２行目に対する欠落クロミナンス値を演算した後で、１行目および２行目から出力バッファまで解凍された画像データを出力し、且つ、１行目で３行目をリセットするのに実行可能である請求項３７記載のプログラム。
【請求項３９】
前記命令は、３行目が１行目でリセットされるときに、３行目で２行目と２行目で１行目をリセットするのに実行可能である請求項３８記載のプログラム。
【請求項４０】
前記命令は、解凍された画像データを出力した後で、キャッシュ・メモリおよびバッファに副標本抽出された画像データの第２の部分集合を読み込むのに実行可能である請求項３２記載のプログラム。
【請求項４１】
前記命令は、前記副標本抽出された画像データの部分集合を前記キャッシュ・メモリおよび前記バッファに反復して読み込み、前記副標本抽出された画像データの各部分集合の少なくとも幾つかの画素に対するクロミナンス値を演算し、前記副標本抽出された画像データが完全に解凍されるまで、前記解凍された画像データを出力するように構成されている請求項４０記載のプログラム。
【請求項４２】
前記命令は、前記解凍された画像データを、解凍された画像データの完全な組を保持するように構成された出力バッファに出力するように実行可能である請求項３２記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
画像データは、頻繁に、圧縮形式で記憶および伝送される。画像データの圧縮は、データの記憶によって利用されるメモリ量を低減し、また、非圧縮データと比較して、限定された帯域幅を備えた通信チャネルに亘って画像データを伝送するための所要時間を低減する。
【０００２】
多くの異なる種類のデータ圧縮手法が知られている。画像データに一般に使用される１つの種類の圧縮は、副標本抽出である。画像中のカラー画像データの各画素は、選択された色空間における画素色の位置を特定する１組の３つの座標または成分として記述されることがある。副標本抽出された画像データは、他の色成分よりも低い空間周波数でサンプリングされた少なくとも１つの色成分を有する画像データである。
【０００３】
幾つかの色空間において使用される副標本の１つの種類は、「4:2:2」副標本と称される。この種類の副標本抽出は、典型的には、輝度（あるいは明るさ）成分および２つのクロミナンス（あるいは色）成分について画像を記述する色空間で使用される。4:2:2副標本抽出は、垂直方向に沿った輝度成分と同じ空間周波数であるが、水平方向における輝度成分の空間周波数の２分の１でクロミナンス成分をサンプリングすることを含んでいる。別の種類の副標本抽出は、「4:2:0」副標本抽出と称される。これは、4:2:2副標本抽出と同様であるが、垂直および水平方向の両方における輝度成分の空間周波数の２分の１でクロミナンス成分をサンプリングすることを含んでいる。
【０００４】
副標本抽出された画像データの解凍においては、副標本抽出データは、典型的には、データの全フレームを保持するように構成されたバッファに読み込まれ、そして、欠落クロミナンス値は、副標本抽出されたクロミナンス値から演算される。或る解凍システムにおいては、データは、それがバッファに読み込まれるときに、キャッシュ・メモリにも読み込まれる場合がある。キャッシュ・メモリは、多くのプロセッサに使用される高速メモリであり、プロセッサの速度を増加させるのに使用される。プロセッサは、演算用の値を必要とするときには、キャッシュ・メモリを最初にチェックする。その値がキャッシュ・メモリにない場合には、プロセッサは、次に、低速の一般的なメモリに記憶されたバッファ中に値を見つけなければならない。これは、「キャッシュ・ミス」として知られている。著しい数のキャッシュ・ミスは、処理速度を遅くすることがある。
【０００５】
キャッシュ・メモリは、典型的には、一般的なメモリに対して小さいサイズである。XGAのような高解像度形式の画像データに対しては、データの全フレームを保持するように構成されたバッファは、キャッシュよりも大きいことがある。この場合には、キャッシュ・メモリ内の或る画像データは、データがキャッシュ・メモリおよびバッファに読み込まれるときに、他の画像データによって上書きされることがある。これは、欠落クロミナンス値の演算中にキャッシュ・ミスを引き起こすことがある。あまりにも多くのキャッシュ・ミスの発生は、画像データの処理を遅くし、したがって、副標本抽出されたビデオ画像データの解凍および表示性能に否定的に影響することがある。それは、典型的には、約25フレーム／秒、または、それよりも速い速度で解凍されなければならない。
【発明の開示】
【０００６】
１つの実施の形態は、１組の副標本抽出された画像データを解凍する方法を提供する。本方法は、副標本抽出された画像データの第１の部分集合を、キャッシュ・メモリと、該キャッシュ・メモリよりも少ないメモリ量を有するバッファとに読み込むこと、解凍された画像データを形成するために、前記副標本抽出された画像データの部分集合の少なくとも幾つかの画素のクロミナンス値を演算すること、および、前記解凍された画像データを出力することを含んでいる。
【発明を実施するための最良の形態】
【０００７】
図１は、本発明の第１の実施の形態にかかる画像処理システムの概略図であり、概して10で示されている。画像処理システム10は、表示面14上に画像を表示するように構成された表示装置12を備えている。表示装置12は、任意の適切な種類の表示装置であることが可能である。本例は、液晶表示装置（LCD）、およびフロントあるいはリア・プロジェクションのいずれかを使用するデジタル光処理技術（DLP）プロジェクタ、テレビジョン・システム、およびコンピュータ・モニタなどを含むが、これらに限定されるものではない。
【０００８】
さらに、画像処理システム10は、表示装置12に関連付けられた画像レンダリングまたは処理装置16と、画像レンダリング装置16と電気通信（有線、無線、あるいは他の適切な種類の電気通信）する一又は複数の画像ソース18とを備えている。画像レンダリング装置16は、画像ソース18によって送信された画像データを受信し、且つ、表示装置12による表示のために、受信画像データを表示するように構成されている。画像レンダリング装置16は、表示装置12と一体化されることが可能であり、表示装置に接続可能な個別の要素として設けられることも可能である。適切な画像レンダリング装置の一例は、2003年6月2日に出願された米国特許出願第10/453,905号に開示されており、それは、参照することによってここに援用される。
【０００９】
画像ソース18は、画像レンダリング装置16に画像データを提供することができる任意の適切な装置を備えることが可能である。本例は、デスクトップ・コンピュータおよび／またはサーバ18a、ラップトップ・コンピュータ18b、携帯情報端末（PDA）18c、携帯電話機18dなどを含むが、これらに限定されるものではない。加えて、画像ソース18は、任意の適切な方法で画像レンダリング装置16と電気的に通信することが可能である。図示された実施の形態においては、各画像ソース18は、無線ネットワーク20を通じて画像レンダリング装置16と電気的に通信する。しかしながら、画像ソース18は、有線ネットワークを通じて、無線もしくは有線直接接続など、またはその任意の混合もしくは組み合わせを通じて、画像レンダリング装置16と通信することも可能である。
【００１０】
画像データは、画像ソース18から画像レンダリング装置16への伝送のために圧縮されることがある。上述したように、画像データが副標本抽出を通じて圧縮されることがある１つの方法は、他の色空間成分よりも低い空間周波数での一又は複数の色空間成分のサンプリングとして定義される。画像ソース18が、4:2:2あるいは4:2:0副標本抽出画像データのようなクロミナンス・副標本抽出画像データを画像レンダリング装置16に提供するように構成される場合には、画像レンダリング装置は、典型的には、副標本抽出されたクロミナンス値から欠落クロミナンス値を演算することによって、副標本抽出された画像データを解凍する。
【００１１】
副標本抽出された画像データを解凍する公知の解凍システムは、典型的には、欠落クロミナンス値を演算する前に、すべての圧縮画像を解凍バッファに読み込む。頻繁に、圧縮画像データは、バッファに読み込まれるときに、キャッシュ・メモリにコピーされる。画像レンダリング装置16上のキャッシュ・メモリおよびバッファは、それぞれ、24および26で示され、また、プロセッサは、22で示されている。しかしながら、圧縮画像のサイズがキャッシュ・メモリよりも大きいことがあるので、キャッシュ・メモリ内の或る画像データは、圧縮画像データがバッファにコピーされるときに、他の画像データによって上書きされることがある。キャッシュ・メモリ内の画像データの上書きは、画像データを解凍するプロセッサがキャッシュ・メモリ内の上書きされたデータを捜すときに、キャッシュ・ミスを引き起こさせる場合がある。あまりにも多くのキャッシュ・メモリの発生は、不利益な程度まで画像解凍を遅くすることがある。
【００１２】
キャッシュ・ミスの発生を回避するのを助けるために、画像レンダリング装置16（あるいは表示装置12）は、画像レンダリング装置上に位置するキャッシュ・メモリよりも小さい解凍バッファを備えることが可能である。キャッシュ・メモリが典型的には比較的小さなメモリであるので、そのような解凍バッファもまた、解凍された画像よりも小さいことがある。換言すれば、画像データがA×B画素配列を有する画像を表わす場合（Aは画像の縦列の画素数、Bは横列の画素数）、解凍バッファは、画像データのA×C配列（Cは、Bよりも小さい）を保持するように構成されることが可能である。そのようなバッファは、画像データの一連のより小さな部分集合としてバッファおよびキャッシュ・メモリに１組の副標本抽出された画像データを読み込むことによって、１組の副標本抽出された画像データを解凍するのに使用されることが可能である。画像データの各部分集合は、圧縮画像データの新しい部分集合が解凍バッファに読み込まれる前に、解凍され、そして、バッファから出力されることが可能である。解凍バッファがキャッシュ・メモリよりも小さいので、キャッシュ・メモリ内の任意の画像データは、解凍演算に使用される間、上書きされることはあまりない。
【００１３】
解凍バッファは、任意の適切なサイズを有することが可能である。一般に、解凍バッファがキャッシュ・メモリに対してより小さければ小さいほど、著しい数のキャッシュ・ミスの発生の可能性は低くなる。さらに、解凍バッファにおいて解凍される副標本抽出された画像データの種類、および圧縮画像データを解凍するのに使用される演算の種類は、解凍バッファのサイズに影響を及ぼすことがある。たとえば、4:2:0画像データ中の欠落クロミナンス成分は、副標本抽出されたクロミナンス値が同位置にあるか、あるいは非同位置にあるか否かによって異なる演算をされることがある。同位置のクロミナンス値は、選択された輝度値として画像の同じ物理的位置に位置している一方で、非同位置のクロミナンス値は、幾つかの関連する輝度値間で間質的に位置している。4:2:0同位置画像データの欠落クロミナンス値は、演算される欠落クロミナンス値の物理的位置に依存して、欠測値として同じ行、または、隣接する行のいずれかで副標本抽出されたクロミナンス値から演算されることが可能である。したがって、4:2:0画像データを解凍するための解凍バッファ（クロミナンス値がないデータ行を有している）は、欠落クロミナンス値が垂直方向に隣接したクロミナンス値から演算されることを可能にする複数行の画像データを保持するように構成されることが可能である。
【００１４】
図２は、概して100で示す、4:2:0同位置画像データを解凍する典型的な方法の実施の形態である。方法100は、水平および垂直の両方に隣接する副標本抽出されたクロミナンス値から欠落クロミナンス・データが演算されることを可能にする３行解凍バッファ（つまり、上記A×C解凍バッファのためのC=3）を利用している。方法100は、典型的には、画像レンダリング装置16上のメモリ24に記憶されたコードで具現化され、且つ、画像レンダリング装置16上のプロセッサ22によって実行されるが、それだけではなく、メモリ・プロジェクタ装置12に、または、ネットワーク20上の他のどこかに記憶されるコードで具現化されることが可能である。
方法100は、まず、102で１組の副標本抽出された画像データを受信することを含んでいる。画像データの単一の組が伝送のために多数の方法で頻繁に圧縮されるので、102で受信された１組の副標本抽出された画像データは、別の解凍プログラムから受信されることがある。これに代えて、102で受信された１組の副標本抽出された画像データは、画像ソース18のうちの１つから直接的に受信されることも可能である。次に、副標本抽出された画像データの最初の部分集合が、104で３行解凍バッファに読み込まれる。104で解凍バッファに読み込まれた副標本抽出された画像データの最初の部分集合は、典型的には、解凍バッファと同じくらい大きい。換言すれば、解凍バッファが３行の画像データを保持するように構成される場合には、副標本抽出された画像データの３行部分集合は、104で解凍バッファに読み込まれる。画像データの最初の部分集合は、１組の副標本抽出された画像データの任意の所望する部分から得られることが可能である。たとえば、最上３行、最下３行、またはA×B画像データの任意の所望する中間３行のいずれかが、解凍のために104で解凍バッファに読み込まれることが可能である。
【００１５】
副標本抽出された画像データの最初の部分集合を104で３行バッファに読み込んだ後で、欠落クロミナンス値が、副標本抽出されたクロミナンス値から演算される。欠落クロミナンス値は、任意の方法、および任意の適切な順番で、副標本抽出されたクロミナンス値から演算されることが可能である。図２の典型的な実施の形態においては、バッファの１行目の欠落クロミナンス値は、まず、106で演算され、そして、バッファの３行目は108で次に演算される。これらの演算は、図３において模式的に図示され、200が３行解凍バッファ、202が解凍バッファの１行目、204がバッファの２行目、および206がバッファの３行目を示している。
【００１６】
画像の各画素は、解凍バッファ200における単一の位置208によって表わされる。各位置208は、典型的には、輝度値、２つのクロミナンス値、および解凍された画像データの単一の画素に関連付けられた他のデータを保持するのに十分なメモリを有している。輝度値は、輝度値を含んだバッファ内の各位置208（つまり、4:2:0副標本抽出された画像データのためのすべて位置）で正方形210によって表わされ、また、同位置のクロミナンス値は、副標本抽出されたクロミナンス値が同位置にある輝度値を含んだバッファ内の記憶位置で円212によって表わされている。解凍バッファ200内のデータのクロミナンス値は、垂直および水平方向の両方において輝度値の頻度の半分だけでサンプリングされることが理解できる。図３において矢印214で模式的に表わされるソフトウェア・ポインタは、バッファ200のどの行が、解凍演算の目的のために１行目とされるのかを解凍プログラムに示すために設けられることが可能である。ポインタ（図示せず）は、バッファ200のどの行が、２行目および３行目であるかを示すのに使用されることも可能である。
【００１７】
１行目の副標本抽出されたクロミナンス値から１行目202および３行目206の欠落クロミナンス値を演算することは、矢印216で模式的に示されている。図示された実施の形態において、１行目202の欠落クロミナンス値は、水平方向にすぐ隣りに隣接する副標本抽出されたクロミナンス値から演算されるが、適切であれば垂直方向に隣接するクロミナンス値からも演算されることが可能である。各欠落クロミナンス値が、すぐ左の副標本抽出されたクロミナンス値から演算されるものとして図示されているが、当然のことながら、矢印216'によって図示されるように、各欠落クロミナンス値が、すぐ右の副標本抽出されたクロミナンス値から演算されることも可能である。欠落クロミナンス値が、すぐ右の副標本抽出されたクロミナンス値から演算される場合には、データ行における最後のクロミナンス値は、その行における最後から２番目の値をコピーすることによって埋められることが可能である。欠落クロミナンス値を判断するのに使用される実際の演算は、当業者にとっては周知であり、したがって、さらに詳細には記述されない。
【００１８】
図２および図３は、２行目の欠落クロミナンス値の前に演算されている３行目の欠落クロミナンス値を示しているが、当然のことながら、３行目の欠落クロミナンス値の前後に、２行目の欠落クロミナンス値が演算されることも可能である。
【００１９】
バッファ200の２行目204および３行目206の欠落クロミナンス値は、任意の適切な方法で演算されることが可能である。図４は、３行目206の副標本抽出されたクロミナンス値からの解凍バッファ200の２行目204の欠落クロミナンス値の第１の部分の典型的な演算の模式図を示している。バッファ200内のデータは、4:2:0副標本抽出データであるので、そのデータは、１行おきにクロミナンス値を有してはいない。したがって、これらの行の欠落クロミナンス値は、すぐ上あるいは下の行の副標本抽出されたクロミナンス値から演算されることが可能である。図４においては、解凍バッファ200の２行目204の欠落クロミナンス値220を交互にすることは、矢印223で示されるように、すぐ下に位置する、解凍バッファの３行目206のクロミナンス値222から演算される。これに代えて、欠落クロミナンス値は、破線矢印223'で示されるように、欠落クロミナンス値のすぐ上に位置したクロミナンス値から演算される。２行目204の欠落クロミナンス値は、すぐ下の行の副標本抽出されたクロミナンス値から演算され、また、１組の画像データ中の最後の行が欠落クロミナンス値を含んでいる場合には、該欠落クロミナンス値は、すぐ上のデータ行から演算あるいはコピーされることが可能である。１行目202および３行目206の欠落クロミナンス値のように、２行目204の欠落クロミナンス値を演算するための実際の演算は、当業者にとっては公知であり、したがって、ここでは詳細に記述されない。
【００２０】
図５は、２行目204の残りの欠落クロミナンス値の演算の概略図を示している。２行目204の残りの欠落クロミナンス値は、224で示され、位置220に対して前に演算されたクロミナンス値から演算される。上述された他の欠落クロミナンス値の演算のように、２行目204の残りの欠落クロミナンス値を埋めるのに使用される実際の演算は、当業者にとっては公知であり、したがって、詳細には議論されない。
【００２１】
イメージ全体のデータ量と比較して比較的小さい解凍バッファ200のサイズにより、データによって符号化された画像が高解像度形式であっても、画像データの最初の部分集合に対する上述された解凍演算によるキャッシュ・ミスは、殆ど生成されないであろう。さらに、解凍バッファ200が画像データを３行保持するので、副標本抽出されたクロミナンス値は、垂直方向に隣接する位置の欠落クロミナンス値を演算するのに使用されることが可能である。当然のことながら、解凍バッファ200の３行構成は、単に例示であり、本発明にかかる解凍バッファは、画像データの他の適切な行数を保持するように構成されることが可能である。
【００２２】
図２を再び参照して、副標本抽出された画像データの最初の部分集合における欠落クロミナンス値の演算を完了した後で、解凍された画像データは、112でバッファから出力される。解凍された画像データ、典型的には、解凍された画像全体を保持するように構成された出力バッファに出力され、また、任意の適切な方法で出力されることが可能である。たとえば、画像データの３行すべてが出力されるか、あるいは、画像データのより小さな部分集合が出力されることが可能である。図２の実施の形態においては、１行目および２行目から解凍されたデータだけが出力される。当然のことながら、他のステップは、解凍されたデータを出力する前に、副標本抽出された画像データの部分集合を解凍した後で、行なわれることが可能である。たとえば、輝度／クロミナンス色空間からRGB色空間へのカラー変換が、データを出力する前に行なわれることも可能である。
【００２３】
解凍バッファ200から、データの３行すべての代わりに、データを２行出力することには、データを３行すべて出力することに対して利点がある場合がある。たとえば、データを２行出力し、３行目を１行目でリセットすることは、常に、バッファの１行目および３行目を占める副標本抽出されたクロミナンス値に帰着する（画像データ行が、漸増的に解凍バッファに読み込まれると仮定する）これは、副標本抽出された画像データの複数の部分集合が解凍される場合に、解凍演算を簡略化するのを助ける。
【００２４】
この時点においては、解凍プログラムは、１組の副標本抽出された画像データが完全に解凍されたか否かを114で判断する。１組の副標本抽出された画像データが完全には解凍されていない場合には、図６において模式的に示されるように、１行目のポインタ214は、116で３行目206のポインタにリセットされる。これは、解凍演算を行なうために、バッファ200の１行目202'で３行目206をリセットする。１行目のポインタ214がリセットされるときに、１行目202もバッファの２行目204'でリセットされ、２行目204は、バッファの３行目206'でリセットされる。これが、３行の円環バッファである。
【００２５】
１行目のポインタ214をリセットすることは、メモリ内の３行目の画像データ値のうちのいずれの位置もシフトさせることなく、３行目を１行目でリセットすることを可能にする。したがって、１行目のポインタ214をリセットすることは、解凍バッファ内で画像データ値をのシフトさせることよりも、１行目で３行目をリセットする速く且つ効率的な方法である場合がある。これに代えて、バッファの３行目は、３行目の画像データ値を１行目にシフトさせることによって、バッファの１行目でリセットされることが可能である。
【００２６】
116でバッファ内の行の割り当てを１行目、２行目、および３行目202'，204'，および206'にそれぞれリセットした後で、副標本抽出された画像データの新しい２行の部分集合は、２行目204'および３行目206'に118で読み込まれる。また、方法100は、108での３行目および110での２行目の欠落クロミナンス値を演算するために、ステップ108に戻る。これらの演算は、図７において矢印230で模式的に示されている。方法100は、１組の副標本抽出された画像データが完全に解凍されるまで、ステップ108〜118の繰り返しを継続する。このループが繰り返されるとき、ポインタ214は、バッファの行を通じて繰り返し巡り、１行目202から３行目206に移動し、そして、１行目202に戻る。
【００２７】
一旦、１組の副標本抽出された画像データが完全に解凍されると、そのループは、ステップ114で途切れ、解凍バッファ200の３行目の解凍されたデータは、120でバッファから出力される。当然のことながら、１組の副標本抽出された画像データにおいて符号化された画像の形式に依存して、バッファ200に読み込まれた画像データの最後の部分集合は、データを２行ではなく、１行だけ有していることがある。この場合には、その行の欠落クロミナンス値は、バッファの現在の１行目における解凍されたデータから演算されることが可能であり、その後、両方の行を出力することが可能である。
【００２８】
解凍バッファ200が、画像データのA×C配列（C=3）を保持するように構成されているものとして開示されるが、当然のことながら、他のバッファ構成が使用されることも可能である。たとえば、画像データがA×B配列に配置される場合には、本発明にかかる解凍バッファは、C×B構成（Cは、Aよりも小さい）を有することが可能であり、あるいは、C×D構成（CおよびDは、AおよびBよりも小さい）を有することも可能である。
【００２９】
さらに、本開示は、特定の実施の形態を含んでいるが、特定の実施の形態は、多数の変形が可能であるので、限定された意味で考慮されるべきではない。本開示の主題は、ここに開示された種々の要素、特徴、機能、および／または、特性の新規且つ非自明なコンビネーションおよびサブコンビネーションをすべて含んでいる。請求項は、新規且つ非自明であると見なされた或るコンビネーションおよびサブコンビネーションを特に指し示している。これらの請求項は、「１つの」要素もしくは「第１の」要素、またはその均等物を参照することがある。そのような請求項は、一又は複数のそのような要素の援用を、複数のそのような要素を除外することも要求することもなく含むと解釈されるべきである。特徴、機能、要素、および／または特性の他のコンビネーションおよびサブコンビネーションは、現在の請求項の補正を通じて、あるいはこのもしくは関連する出願において新しい請求項を提示することを通じて請求されることが可能である。そのような請求項は、元の請求項の範囲より広く、より狭く、等しく、あるいは異なっても、本開示の主題に含まれると見なされる。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施の形態にかかる画像データ処理システムの概略図である。
【図２】本発明の別の実施の形態にかかる副標本抽出された画像データを解凍する方法のフローチャートである。
【図３】4:2:0副標本抽出画像データを含む典型的な解凍バッファの概略図である。
【図４】バッファの１行目で欠落クロミナンス値を演算した後の、図３のバッファの概略図である。
【図５】バッファの２行目で欠落クロミナンス値のうちの幾つかを演算した後の、図３のバッファの概略図である。
【図６】バッファの２行目および３行目で残った欠落クロミナンス値を演算した後の、図３のバッファの概略図である。
【図７】バッファから解凍された画像データの最初の２行を出力し、１行目のポインタをリセットし、圧縮画像データの２つの新しい行をバッファに読み込んだ後の、図３のバッファの概略図である。
【符号の説明】
【００３１】
10  画像処理システム
14  表示面
12  表示装置
16  画像レンダリング装置（処理装置）
18  画像ソース
18a  デスクトップ・コンピュータ（サーバ）
18b  ラップトップ・コンピュータ
18c  携帯情報端末（PDA）
18d  携帯電話機
20  無線ネットワーク
24  キャッシュ・メモリ
26  バッファ
22  プロセッサ
100  方法
200  解凍バッファ
【図１】
2007521768.tif 000003
【図２】
2007521768.tif 000004
【図３】
2007521768.tif 000005
【図４】
2007521768.tif 000006
【図５】
2007521768.tif 000007
【図６】
2007521768.tif 000008
【図７】
2007521768.tif 000009
【国際調査報告】
2007521768.tif 000010