(57)【要約】【課題】画像データの伝送に要する帯域幅を縮小するための方法及び装置。【解決手段】表示装置に画像データを伝送するのに要する帯域幅を縮小するための方法及び装置に関する発明である。画像データは表示装置に表示する画像を定義する複数の画素を表わし、且つ画像データはデータストリームで伝送され、データは所定の画素成分の順番になっていると想定する。この方法は、データストリームから画像データを受け取るステップと、表示装置がアクセスできるようにメモリに画像データのいくらかを選択的に保持するが残りを放棄することによって画像データを変換するステップとを有する。【選択図】    図１３
2005045797.tif 000002
【特許請求の範囲】
【請求項１】
画像データを表示装置に伝送するためのシステムの伝送要件を軽減するための方法であって、画像データは表示装置に表示する画像を定義する複数の画素を表わし、画像データはデータストリームで伝送され、所定の画素成分の順番になっており、
データストリームから画像データを受け取るステップと、
表示装置がアクセスできるようにメモリに画像データのいくらかを選択的に保持するが残りを放棄することによって画像データを受け取ると変換するステップとを有することを特徴とする方法。
【請求項２】
請求項１において、前記画像データ受信ステップは一回目に表示の一行に対応する第１データ要素を受け取ることを含み、前記画像データを選択的に保持するステップは前記一回目の後の二回目に前記第１データ要素を保持することを含み、前記受信ステップはさらに前記二回目の後の三回目に同じ前記行に対応する第２データ要素を受け取ることを含むことを特徴とする方法。
【請求項３】
請求項２において、前記データ要素は画素であることを特徴とする方法。
【請求項４】
請求項２において、前記データ要素は画素成分であることを特徴とする方法。
【請求項５】
請求項１において、前記画像データ受信ステップでは前記第１及び第２データ要素を連続して受け取ることを特徴とする方法。
【請求項６】
請求項５において、前記データ要素は画素であることを特徴とする方法。
【請求項７】
請求項５において、前記データ要素は画素成分であることを特徴とする方法。
【請求項８】
請求項１において、前記画像データ受信ステップは画像データをＣＯＤＥＣから受け取ることを特徴とする方法。
【請求項９】
請求項１において、前記データストリームはＪＰＥＧ復号化されたブロックインタリーブ型データからなることを特徴とする方法。
【請求項１０】
請求項１において、前記画像データを受け取ると変換するステップは画像をクロッピングすることを含むことを特徴とする方法。
【請求項１１】
請求項１において、前記画像データを受け取ると変換するステップは画像をスケーリングすることを含むことを特徴とする方法。
【請求項１２】
画像データを表示装置に伝送するためのシステムの伝送要件を軽減するための装置であって、画像データは表示装置に表示する画像を定義する複数の画素を表わし、画像データはデータストリームで伝送され、所定の画素成分順になっており、
データストリームから画像データを受け取るようになっている受信モジュールと、
表示装置がアクセスできるようにメモリに画像データのいくらかを選択的に保持するが残りを放棄することによって画像データを受け取ると変換するようになっている変換モジュールとを備えることを特徴とする装置。
【請求項１３】
請求項１２において、前記受信モジュールは一回目に表示の一行に対応する第１データ要素を受け取るようになり、前記変換モジュールは前記一回目の後の二回目に前記第１データ要素を選択的に保持するようになり、前記受信モジュールはさらに前記二回目の後の三回目に同じ前記行に対応する第２データ要素を受け取るようになっていることを特徴とする装置。
【請求項１４】
請求項１３において、前記データ要素は画素であることを特徴とする装置。
【請求項１５】
請求項１３において、前記データ要素は画素成分であることを特徴とする装置。
【請求項１６】
請求項１２において、前記受信モジュールは前記第１及び第２データ要素を連続して受け取るようになっていることを特徴とする装置。
【請求項１７】
請求項１６において、前記データ要素は画素であることを特徴とする装置。
【請求項１８】
請求項１６において、前記データ要素は画素成分であることを特徴とする装置。
【請求項１９】
請求項１２において、前記受信モジュールは画像データをＣＯＤＥＣから受け取るようになっていることを特徴とする装置。
【請求項２０】
請求項１２において、前記データストリームはＪＰＥＧ復号化されたブロックインタリーブ型データからなることを特徴とする装置。
【請求項２１】
請求項１２において、前記変換モジュールは画像をクロッピングするようになっていることを特徴とする装置。
【請求項２２】
請求項１２において、前記変換モジュールは画像をスケーリングするようになっていることを特徴とする装置
【請求項２３】
請求項１２において、前記装置はグラフィックスコントローラに実施されていることを特徴とする装置。
【請求項２４】
画像データを表示装置に伝送するためのシステムの伝送要件を軽減するための方法を実行するために機械で実行する命令プログラムを実装している機械可読媒体であって、画像データは表示装置に表示する画像を定義する複数の画素を表わし、画像データはデータストリームで伝送され、所定の画素成分順になっており、この方法は、
データストリームから画像データを受け取るステップと、
表示装置がアクセスできるようにメモリに画像データのいくらかを選択的に保持するが残りを放棄することによって画像データを受け取ると変換するステップとを有することを特徴とする機械可読媒体。
【請求項２５】
請求項２４において、前記画像データ受信ステップは一回目に表示の一行に対応する第１データ要素を受け取ることを含み、前記画像データを選択的に保持するステップは前記一回目の後の二回目に前記第１データ要素を保持することを含み、前記受信ステップはさらに前記二回目の後の三回目に同じ前記行に対応する第２データ要素を受け取ることを含むことを特徴とする機械可読媒体。
【請求項２６】
請求項２５において、前記データ要素は画素であることを特徴とする機械可読媒体。
【請求項２７】
請求項２５において、前記データ要素は画素成分であることを特徴とする機械可読媒体。
【請求項２８】
請求項２４において、前記画像データ受信ステップは前記第１及び第２データ要素を連続して受け取ることを含むことを特徴とする装置。
【請求項２９】
請求項２８において、前記データ要素は画素であることを特徴とする機械可読媒体。
【請求項３０】
請求項２８において、前記データ要素は画素成分であることを特徴とする機械可読媒体。
【請求項３１】
請求項２４において、前記画像データ受信ステップは画像データをＣＯＤＥＣから受け取ることを特徴とする機械可読媒体。
【請求項３２】
請求項２４において、前記データストリームはＪＰＥＧ復号化されたブロックインタリーブ型データからなることを特徴とする機械可読媒体。
【請求項３３】
請求項２４において、前記画像データを受け取ると変換するステップは画像をクロッピングすることを含むことを特徴とする機械可読媒体。
【請求項３４】
請求項２４において、前記画像データを受け取ると変換するステップは画像をスケーリングすることを含むことを特徴とする機械可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、画像データの伝送に要する帯域幅を縮小するための方法及び装置に関し、より具体的には、ＪＰＥＧ復号化されたブロックインタリー型データの伝送のに要する帯域幅を縮小するための方法及び装置に関する発明である。
【背景技術】
【０００２】
「コンピュータシステム」という表現は、今日では、幅広く様々な装置に用いられている。メインフレームコンピュータ、パーソナルコンピュータ、パーソナルデジタルアシスタント、携帯電話はほんの数少ない例である。コンピュータシステムにおいて、ＣＲＴやＬＣＤといった表示装置にＣＰＵを結合するためにグラフィックスコントローラ（「ＧＣ」）が広く採用されている。ＧＣは、普通、ＣＰＵが実行しなくてもいいように、テキスト及び画像の表示に関係する一定の専用機能を実行するために使用される。一般に、ＧＣは、画像のクロッピングやスケーリングといった画像変換操作を実行する能力を有する。さらに、ＧＣは、圧縮されたデータを送受信するためにデータ圧縮／解凍プログラム（ＣＯＤＥＣ）を有していることがある。
【０００３】
インターネットなどで、画像データをコンピュータシステム間で伝送するとき、大量の伝送容量又は「帯域幅」が必要となる。このために、画像データを伝送するのに要する時間はかなり長くなる可能性がある。さらに、画像データの転送によってネットワークが混雑して、他のデータの伝送が遅くなる。この問題に対する一つの解決法は、データを伝送する前に圧縮することである。静止画像を圧縮するために広く使われている方法はJoint Photographic Experts Group（ＪＰＥＧ）によって開発されたもので、この方法で圧縮されたファイルは「ＪＰＥＧファイル」と呼ばれたり、又は「ＪＰＥＧフォーマット」になっていると言われる。ＪＰＥＧの標準には変形やバージョンがあるが、説明を簡単にするために、そうした変形やバージョンを含めるために本書ではこの頭辞語を大体の意味で使用している。画像データは、ＪＰＥＧファイルに圧縮される前に、グループ又は「ブロック」に先ず変換及び分割されなければならない。さらに、画像データのブロックは、圧縮される前に、交互に又は「インタリーブ状」の順序に配列される。コンピュータシステムはＪＰＥＧファイルを受け取ったとき、先ずそのファイルを解凍しなければ表示できない。その上、画像データは、解凍後、ブロックインタリーブ状の順序になっている（「ＪＰＥＧ復号化されたブロックインターリーブ型データ」と呼ぶ）から、変換操作だけでなくグループ化しなす操作もしなければならない。ＣＯＤＥＣを有するＧＣを備えるコンピュータシステムにおいて、ＧＣは、データ圧縮及び解凍だけでなく、その他の所要操作も実行する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
画像データの圧縮によって、ネットワークがデータを転送するスピードが大きく改善される。さらに、圧縮及び解凍をＧＣを用いて処理することによってそうしたタスクからＣＰＵが開放されるから、ＣＰＵは他の仕事を実行することができる。しかしながら、画像データがＧＣで解凍されると、データの量が大幅に増える。さらに、ＧＣ内のモジュール間で画像データを伝送するのに要する帯域幅の量が非常に大きくなる。解凍された画像は保持されて、表示される前にメモリから読み出されるのが普通だから、これらの操作でかなりな帯域幅の量が消費される。従って、解凍された画像データの処理はＧＣにとって有意な負荷になるから、それが原因でＧＣが消費する電力が増える。加えて、高メモリ帯域幅を必要とするためにメモリアクセスのボトルネックが生じ、そのために他の装置のメモリアクセス時間が長びく。とりわけ、ＣＰＵがメモリにタイミングよくアクセスできなくなる。明らかに、解凍された画像データをＧＣがメモリとの間で転送するのに要するメモリ帯域幅の量を縮小する能力を有する方法又は装置が望ましい。
【０００５】
このように、画像データの伝送に要する帯域幅を縮小するための方法及び装置、より具体的に言えば、ＪＰＥＧ復号化されたブロックインタリーブ型データの伝送に要する帯域幅を縮小するための方法及び装置に対するニーズがある。
【課題を解決するための手段】
【０００６】
本発明は、画像データを表示装置に伝送するのに要する帯域幅を縮小するための方法及び装置に関するものである。画像データは表示装置に表示するための画像を定義する複数の画素を表わし、また画像データはデータストリームとして伝送され、データは所定の画素成分の順番になっている。この方法は、データストリームから画像データを受け取るステップと、表示装置がアクセスできるようにメモリに画像データのうちのいくらかを選択的に保持する一方、画像データの残りを放棄することによって、画像データを受け取ると変換するステップとを有する。
【０００７】
発明の目的、構成、効果については、添付の図面と共に、以下に述べる発明の詳細な説明を考慮すれば、容易に理解できる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施形態を図面に基づいて説明する。
【実施例１】
【０００９】
本発明は、画像データの伝送に要する帯域幅を縮小するための方法及び装置に関し、より具体的には、ＪＰＥＧ復号化されたブロックインタリーブ型データを伝送するのに要する帯域幅を縮小するための方法及び装置に関するものである。添付の図面に示した、本発明の好適な実施例について詳細に説明する。可能な限り、図面と説明とで、同じ又は同じような部品には同じ参照番号を用いている。
【００１０】
表示装置の画像は、「画素」として知られる小さな個別要素の配列から形成されている。輝度及びカラーといった各画素の属性は数値で表わされ、普通は、コンピュータシステムに不可欠なバイナリ形式で表わされる。従って、画像はデータのバイナリ要素の配列と考えることもできる。説明の便宜上、またこの技術分野におけるこの用語の使い方に合わせて、本書では「画素」という用語を用いて、時には表示装置の表示素子のことを、また時にはコンピュータシステム内に保持及びコンピュータシステム内で操作されると共にそうした表示素子の属性を定義しているデータのバイナリ要素のことを、またさらに時にはその両方のことを言っているが、この用語のしかるべき意味は文脈から明らかである。
【００１１】
図１に示すのは、画素の属性を数値表現に用いることのできる２個の２４ビットデータワードである。データワード２０はＲＧＢカラーモデルによって画素を定義し、データワード２２はＹＣRＣBカラーモデルを用いて画素を定義している。カラーモデルでは、或る特定の色域内で個々の色を指定するのに３次元デカルト座標系（ｘ、ｙ、ｚ）が使用される。ＬＣＤやＣＲＴに表示できる色域を定義するのにＲＧＢモデルが広く採用されているのに対し、画像データは圧縮方法が施される前のＹＣRＣBカラーモデルに従って表わされるのが一般的である。ＲＧＢモデルにおいて、各原色（赤、緑、青）は一つの軸を表わし、所望の色を生成するために３原色が合わされる。２４ビットワードを用いて画素を定義する場合には、１個の画素を定義するのに使用するバイナリ値を形成するために３バイト（８ビット）が、原色毎に一つずつ、連結される。２４ビットのＹＣRＣBカラーモデルを採用すると、８ビットが１個のＹ（輝度）値を定義し、８ビットずつがＣR（クロミナンス赤）とＣB（クロミナンス青）の色差値を定義する。
【００１２】
図２に示すのは、表示装置２４上のラスタスキャンパターンである。表示装置２４の画素は一般的にラスタスキャンパターンに従って更新又は「リフレッシュ」される。配列の最上部走査線２６の左端の画素から始まって、表示装置２４の画素が左から右に画素ごとに更新される。最上行の画素が全てリフレッシュされてから、配列の上から２番目の行の画素がまた左端の画素から始まって更新される。ラスタスキャンパターンは、配列の中の全ての行が更新されるまで、連続して下がっていく各行に対して続けられる。
【００１３】
各画素配列は、普通、フレームと呼ばれる。フレームの中の画素はラスタ順に表示されるから、画素はメモリにラスタ順に保持されるのが普通である。その上、コンピュータシステムの構成要素間で又は構成要素内でフレームが伝送されるとき、転送されるのはしばしば画素のラスタストリームである。従って、表示装置の画素の行と列との座標位置をしばしばメモリ内の又はデータストリーム内の相対位置に基づいて決定することができる。対照して、ＪＰＥＧ復号化されたブロックインタリーブ型データとして保持された又はストリームになったデータは、以下に説明するように、ラスタ順になっていない。
【００１４】
表示される前にフレームに施されることがある一つの操作はクロッピング操作である。オリジナルフレーム２６とクロッピングされたフレーム２８とを図３に示す。各フレームは複数の画素３０からなり、各画素は正方形で表わされている。或る特定の画素３０の座標位置がフレームの上部と左側の数字で与えられている。画像がクロッピングされる量はクロッピングパラメータ集合によって決められる。具体的に言えば、クロッピングパラメータはオリジナルフレーム２６からどのエリアが除去されるか定義し、座標値を用いて指定することができる。例えば、クロッピングパラメータは水平及び垂直方向の始めの画素（start pixel）と終わりの画素（stop pixel）で構わない。例えば、オリジナルフレーム２６で、４個の画素に等しい距離がフレームの上下及び左右から除去されるとしたら、始めの画素の座標は（４，４）で、終わりの画素の座標は（１５，１５）である。
【００１５】
図４に、表示装置２４に表示される前にクレームに施される別の操作を示す。具体的に、図４に示すのはスケーリング操作である。画像がスケーリングされる量は倍率によって決まる。例えば、クロッピングされたフレーム２８をオリジナルサイズの四分の一に縮小する場合、倍率は二分の一である。数あるアルゴリズムのどれを用いて画像を縮小しても構わない。二分の一の倍率を用いて単純な線形アルゴリズムに従って画像を縮小すると、画素３０の行が一行置きに放棄され、一行の中で画素が一個置きに放棄される。この線形アルゴリズムと二分の一の倍率を用いてクロップされたフレーム２８を縮小すると、クロッピング及び縮小されたフレーム３２が生まれる。画素３０と放棄されない行に入っている画素の行のマッピングを説明するために、図４にフレーム２８の２個の模式的画素の座標（（１，１０）及び（１１，２））と縮小されたフレーム３２におけるこれらの画素の位置を示す。
【００１６】
述べたように、数あるスケーリングアルゴリズムのうち任意の一つを用いて画像を縮小して構わない。上記の単純な線形アルゴリズムは画素を放棄するが、全てのアルゴリズムがこの性質をもっているわけではない。図５に別の方法を示す。この方法では、表示装置に表示される前に、クロッピングされたフレーム２８が縮小される。図４と同様に、図５はクロッピングされたフレーム２８と縮小されたフレーム３３を示している。縮小されたフレーム３３はクロッピングされたクレームの四分の一の大きさである。単純な線形アルゴリズムによって生成されている図４の縮小フレーム３２とは違って、図５の縮小フレーム３３は、クロッピングされた（オリジナル）フレーム２８の中のどの画素３０も放棄しない又はオリジナルフレームの中の画素のどれも直接使用しないアルゴリズムを用いて生成されている。縮小フレーム３３の中の各画素３０の属性を定義する数値が、オリジナルフレーム２８の中の４個の画素の平均値（average value）を計算して生み出され、その後その平均値が縮小フレーム３３における各縮小された画素に使用される。例えば、オリジナルフレーム２８の中の座標（０，０）（０，１）（１，０）（１，１）を有する画素３０を合計し、その和を４で割り、その商が縮小フレーム３３で座標（０，０）を有する画素３０の値として割り当てられる。縮小フレーム３３の中の各画素の値が同様に計算される。オリジナルフレームをスケーリングするのに他のアルゴリズムを採用しても構わないことが分かる。
【００１７】
フレームのクロッピングかスケーリングかいずれかを又はその両方を行なってフレームの大きさを変える操作のことを本書では「次元変換」というフレーズを用いて表現している。この表現によって、クロッピング、スケーリング、及び技術分野で今現在知られている又は今後知られるようになるその他の類似の操作のための任意のアルゴリズムを含むつもりである。
【００１８】
図６に、本発明の背景（context）を理解するのに役立つと考える画素フレームの別の図を示す。述べたように、表示装置上のＲＧＢ画素の属性を定義する数値を３バイトワードで表現することができ、１バイトが各カラー成分を表わす。図６に、画素成分の３個の「フレーム」が示されている。すなわち、画素のＲ成分の全てがＲフレーム内のそれぞれの座標位置に表示され、Ｇ成分の全てがＧフレーム内に表示され、Ｂ成分の全てがＢフレーム内に表示されている。図４に示したようなコンポーネント画像は時には「画素平面（pixel plane）」と呼ばれる。他のカラーモデルで表わされた画像で類似の画素平面を形成してもいい。
【００１９】
図１〜６によって説明した背景を考慮して、ＪＰＥＧファイルの作成を図７に説明する。ＪＰＥＧファイルの作成は込み入ったプロセスで、ここで細かく説明しない。むしろ、本発明の背景を理解するのに最も重要と考えるプロセスの態様に限定して説明する。一般的に言って、ＪＰＥＧファイルの作成は、例えば、６４ｘ４８画素の大きさを有するＲＧＢ画像から始まる。図７はＲＧＢ画像をＲ、Ｇ、Ｂのコンポーネント画像３８又は画素平面に分離する第１ステップ３６（ＳＥＰ）を説明している。コンポーネント画像３８は図６の画素平面に対応し、３原色カラー成分の各々に対して１個の画素平面３８が作成される。第２ステップ４０（ＣＳＣ）はＲ、Ｇ、Ｂの画素平面３８をＹ、ＣR、ＣBの画素平面４２に変換する。以下にさらに説明するように、サンプリングのステップ４４（ＳＡＭ）で、Ｙ、ＣR、ＣB画素平面４２がサンプリングされる。
【００２０】
画素平面４２はいろいろな方法でサンプリングすることができ、特定のサンプリング方法は時には「サンプリングフォーマット」と呼ばれる。サンプリングフォーマットが４個の連続画素からなるグループをどのようにサンプリングするか定義し、ＮY：ＮCR：ＮCBと指定することができる。例えば、サンプリングフォーマットが４：４：４だとしたら、４個の連続画素からなる各グループにおいて、Ｙ，ＣR，ＣBの画素平面から、Ｙ，ＣR，ＣB成分が各々４個ずつサンプリングされる。言い換えれば、４：４：４のサンプリングフォーマットは結果として画素成分の１００％サンプリングになる。サンプリングフォーマットが４：２：２の場合には、画素成分Ｙ成分の１００％サンプリングになるが、ＣR及びＣB成分は５０％しかサンプリングされない。
【００２１】
ステップ４４のサンプリングをさらに図８に説明している。表示しているサンプリングは４：２：２のサンプリングフォーマットである。図８は、サンプリング前の「オリジナル」Ｙ，ＣR，ＣB画素平面４２と、サンプリングから生まれたＹ，ＣR，ＣB画素平面４６，４７，４８とを示している。Ｙ，ＣR，ＣB画素平面４２の第１行の画素成分にＰ０，Ｐ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５，Ｐ６，Ｐ７の番号が付いているとしよう。さらに、各画素を正方形で表わし、サンプリング後の画素を正方形の中の円で示すとしよう。各行は、従って、各々４個の連続画素成分からなる２個のグループから構成されている。Ｙ画素平面４２では、各グループの成分全てがサンプリングされる。しかしながら、ＣR及びＣB画素平面４２では、第１グループの４画素の中の画素成分Ｐ０とＰ２だけがサンプリングされ、第２グループではＰ４及びＰ６だけがサンプリングされる。Ｙ，ＣR，ＣB画素平面４６，４７，４８は、４：２：２のサンプリングフォーマットを用いてＹ，ＣR，ＣB画素平面全体をサンプリングした結果を示している。
【００２２】
サンプリング後のＣR及びＣB画素平面４７及び４８は画素成分ブロック４２の半分の大きさであることに注目。圧縮前にサンプリングすることによりフレームを表わすファイルの大きさを縮小することができる。オリジナルフレームの中の情報のいくらかを放棄するので、その放棄された情報は失われ、回復することはできない。従って、サンプリング後のフレームを表示する場合、放棄された情報の値を推定する何らかの手段を採用しなければならない。例えば、Ｐ０のサンプリング後の画素成分ＣB又はＣRをＰ０及びその次の連続画素Ｐ１の両方に用いても構わない。
【００２３】
４：１：１のサンプリングフォーマットを採用した場合には、ＣR及びＣB平面４８内の４個の画素からなる各グループから画素成分Ｐ０とＰ４だけがサンプリングされるが、ここでもＹブロック４８からは画素成分全てがサンプリングされる。当業者ならば、４：２：２のサンプリングフォーマットでＰ１及びＰ３といった、４画素のグループの中の他の画素をサンプリングしても構わないことが分かる。４：２：２のサンプリングフォーマットはあくまで模式的で、４：４：４又は４：１：１フォーマットなど、他のサンプリングフォーマットも可能である。
【００２４】
述べたように、図８はステップ４４におけるＹ，ＣR，ＣB画素平面４２のサンプリングを説明する図である。説明のために、図７のサンプリングは４：２：２のサンプリングフォーマットを採用している、つまり、画素平面４２が８ｘ８の画素平面４８よりも大きいことを除けば、ステップ４４で起きるサンプリングは図８に示したサンプリングと同じである。サンプリングのステップ４４の結果、サンプリング後のＹ，ＣR，ＣB画素平面４６，４７，４８がそれぞれ生まれる。ステップ５０（ＤＩＶ）で、サンプリング後のＹ，ＣR，ＣB画素平面４６，４７，４８が各々、ブロックに分割される。その際、ブロックは８ｘ８ブロックが好ましい。ブロック分割後の画素平面には５２，５３，５４の番号が付けられる。これについて図９にさらに詳細に示す。
【００２５】
図９において、ブロック分割後の画素平面５２は４８個のブロック（８ｘ６）から構成される６４ｘ４８画素平面で、ブロック分割画素平面４６から形成されている。各ブロックは８ｘ８の画素マトリックスからなる。同様に、画素平面５３及び５４は２４個のブロック（４ｘ６）から構成される３２ｘ４８画素平面で、ブロック分割画素平面４７及び４８からそれぞれ形成されている。
【００２６】
再び図７に戻ると、各ブロックはステップ５５（ＥＮＣ）でＪＰＥＧ符号化される、つまり、各ブロックはＪＰＥＧ方法に従って別々に圧縮される。ステップ５６（ＳＡＡ）で、圧縮された画素成分ブロックが選択されＪＰＥＧファイル５８に配列される。その一部を図９にかなり詳細に表示している。データ境界を示すために様々なマーカー（未表示）がＪＰＥＧファイル５８の中に挿入される。ＪＰＥＧファイル５８は、以下に説明するように、「ブロックインタリーブ型フォーマット」になっていると言われる。
【００２７】
図９に示すように、ＪＰＥＧファイル５８は正則パターン配列になった画素平面５２，５３，５４に基づいたブロックから構成される。具体的に言えば、ＪＰＥＧファイル５８は、Ｙ画素平面５２から２個のシーケンシャルブロック、その次にＣR及びＣB画素平面５３，５４の各々から１個のブロックという構成になっている。全ての平面から全てのブロックが選択されるまで、このパターンが繰り返される。図９は、４：２：２のサンプリングフォーマットを採用したとき、ブロックがどのようにインタリーブするか説明したものである。使用するサンプリングフォーマットが異なると、それに応じてブロックインタリーブ型フォーマットが修正されることが分かるだろう。
【００２８】
図１０は、ＪＰＥＧファイル５８がどのように解凍され、表示装置に表示するために処理されるかを説明する図である。図１０に示すＪＰＥＧファイル５８は、ネットワークで受け取られたデータストリーム又はメモリから検索されたデータストリームで構わない。ステップ６７（ＩＤＮ）で、圧縮されたデータの各ブロックが識別され、ステップ６８（ＤＥＣ）で、符号化された各データブロックが解凍される。その際、ＣＯＤＥＣを用いて解凍されるのが好ましい。Ｙ，ＣR，ＣB画素成分７０〜７３の代表的なブロックを出力として解凍順に表示している。表示した画素成分ブロックはＪＰＲＧファイルのわずかな一部分にしかすぎない。さらに、当業者ならば、４：２：２のサンプリングフォーマットの場合、表示されているブロック７０〜７３がコード化された最小単位、つまり「ＭＣＵ」であることが分かるだろう。解凍後のＪＰＥＧファイル全体だけでなく、ブロック７０〜７３もブロックインタリーブ型フォーマットになっていることも分かるだろう。解凍後のＪＰＥＧファイルはラスタフォーマットではなく、しかも画素ではなく画素成分から構成されているから、ＪＰＥＧファイルを表示装置にスキャンするための正しいフォーマットに順序を並び替える必要がある。すなわち、解凍後のＪＰＥＧファイルを画素のラスタ順にアセンブルする必要がある。
【００２９】
ステップ７５（ＷＲ）で、画素成分ブロック７０〜７３がタイプによって識別され、ラインバッファ７４の中でそのタイプのブロック用に保存されるエリアに書き込まれる。図１０に、Ｙ画素ブロック７０，７１がラインバッファ７４の上半分に書き込まれ、下半分にＣR及びＣB画素ブロック７２，７３が書き込まれることが表示されている。ラインバッファ７４は、表示装置に２行の画素を形成するのに十分なブロックを保持できる程度の大きさのメモリである。つまり、４：２：２のサンプリングの場合、ラインバッファは４行のブロックを保持できる程度の大きさでなければならない。この例では、一行にＹが８ブロックとＣR及びＣBが各々４ブロック必要である。サイズ要件の理由は、フレームの次元変換を行なう回路は画素の一行全体を必要とし、一行全体を提供するにはその行を保持するブロック全てを提供することによってしか他に方法がないからである。さらに、次元変換回路が一行のブロックを読み取っている間、ラインバッファ７４には次の行のブロックを保持するためのスペースがなければならない。
【００３０】
ステップ７６（ＦＡＡ）で、或る特定の画素に対応する個々の画素成分がラインバッファ７４内のそれぞれのロケーションからフェッチされ、画素にアセンブルされる。ステップ７６で、画素はラインバッファからシーケンシャルにフェッチされないで、或る特定の順番でフェッチされる。具体的に言えば、アセンブル後の画素として次の処理ステップに送られるときラスタ順になっているように、ステップ７６で画素成分はラスタ順にフェッチされる。ステップ７８（ＤＴ）で、アセンブル後の画素に対してクロッピングやスケーリングといった次元変換操作が行なわれる。ステップ７８で受け取った画素はラスタ順になっているから、表示装置における各画素の行と列の座標位置は暗に分かっているので、ステップ７８で採用される次元変換アルゴリズムはこの情報を用いる。ステップ８０（ＣＳＣ）で、画素がＹＣRＣBからＲＧＢモデルに変換され、フレームバッファメモリ８２に書き込まれる。フレームバッファ８２の画素は、表示装置に必要なＲＧＢフォーマット及びラスタ順になっている。
【００３１】
図１１は、ＪＰＥＧファイル５８によって表わされた画像を解凍及び表示するためのコンピュータシステムを表示している。コンピュータシステムには、ＣＰＵ８４、ＧＣ８６、及びＬＣＤ８９がある。ＧＣ８６は公知の次元変換回路８８及び色空間変換回路９０を備えている。図１１で、ＣＰＵ８４はＪＰＥＧファイル５８をＦＩＦＯメモリ９２に書き込み、ＦＩＦＯメモリ９２はバッファリングのために用いられる。ＦＩＦＯ９２から、ＪＰＥＧファイル５８がＣＯＤＥＣ９４に送られる。表示したＧＣ８６には埋め込みメモリ９６がある。メモリ９６の一部はラインバッファとして取っておき、その他の部分はフレームバッファ９６として取っておかれる。ＣＯＤＥＣ９４はＪＰＥＧファイル５８を解凍し、その出力をラインバッファ７４に書き込む。次元変換回路８８はラインバッファ７４に保持された成分ブロックから画素成分を読み取る。次元変換回路８８は、画素成分をシーケンシャルに読み出すのではなく、ラスタ順に読み出す。次元変換回路８８は、画素成分を画素にアセンブルし、クロッピング又はスケーリングといった任意の望ましい次元変換操作を実行した後、画素を色空間変換回路９０に送る。色空間変換回路９０は画素をＲＧＢフォーマットに変換してフレームバッファ８２に書き込む。ＬＣＤインタフェース回路９８は画素をフレームバッファ８２から読み出してＬＣＤ９８に送る。
【００３２】
ＣＯＤＥＣ９４からラインバッファ７４に解凍されたＪＰＥＧファイルを転送するにはかなりの量のメモリ帯域幅がなければならない。例えば、ラインバッファまでのデータパスの幅が３２ビットで、圧縮時に４：２：２のサンプリングフォーマットを採用し、さらに各画素成分に８ビットを要するとしたら、解凍された６４０ｘ４８０画素の画像をラインバッファ７４に転送するには２３０，４００の書き込み操作を要する。さらに、次元変換回路８８がファイルをラインバッファ７４から読み出すにはさらに別の２３０，４００の書き込み操作を要する。従って、解凍された画像データをＣＯＤＥＣ９４から次元変換回路８８に転送するには合計４６０，８００の読み書き操作を要する。所要のメモリ帯域幅が高くなると電力消費が増える。この操作に要するメモリ帯域幅の量を減らすことが望ましいことは明らかである。
【００３３】
図１２に、本発明による、ＪＰＥＧ復号化されたブロックインタリーブ型データを伝送するのに要する帯域幅を縮小するための方法１００の好適な実施例を示す。方法１００を説明する目的で、各画素は３バイト（３原色成分各々に１バイトずつ）で数値表現されていると想定する。しかしながら、画素をもっと多い成分又は少ない成分で表わすことができ、また成分を表わす単位は８ビットのバイトに限られるものではなく、任意のビット数で表わせることが分かるだろう。ステップ１０２（レシーブ）で、ＣＯＤＥＣから画像データをデータ要素のストリームとして受け取る。各データ要素は、画素を定義するのに必要な複数の画素成分の中の一個、例えば、３個、つまりＹ，ＣR，ＣB画素成分の中の１個を表わすバイトであるのが好ましい。もしくは、各データ要素が画素を定義するのに必要な画素成分の全てを表わしていても構わない。ステップ１０４（トランスフォーム）で、画像データのいくつかが選択及び保持される一方、その他の画像データが放棄されるように、受け取った画像データに次元変換操作が行なわれる。次元変換された後の画像を表示するのに必要な画像データが保持され、画像を表示するのに必要としない画像データが放棄されるのが好ましい。例えば、画像のクロッピングされた部分に対応するデータ要素は放棄される。別の例として、縮小された画像に表われないデータ要素は放棄される。
【００３４】
図１３は、本発明により、ＪＰＥＧファイル５８を解凍及び伝送し、そのファイルが表わす画像を表示するのに要する帯域幅を縮小するためのコンピュータシステムの好適な実施例を説明する図である。ＪＰＥＧファイル５８はＪＰＥＧフォーマットになっているが、他のファイルフォーマットも可能である。コンピュータシステムにはＣＰＵ８４、ＧＣ１８６、ＬＣＤ８９がある。ＧＣ１８６には、本発明により、ＪＰＥＧ復号化されたブロックインタリーブ型データをアンダーサンプリングするための次元変換回路１９０がある。さらに、ＧＣ１８６には埋め込みメモリがあるが、メモリが埋め込み型であるというのは不可欠なことではない。別の実施例で、メモリ１９６はオフチップとして配置されている。図１３で、ＣＰＵ８４はＪＰＥＧファイル５８をＦＩＦＯ９２に書き込む。ＦＩＦＯ９２はバッファリング目的で使用されている。ＦＩＦＯ９２から、ＪＰＥＧファイル５８はＣＯＤＥＣ９４に送られ、そこで解凍される。ＣＯＤＥＣ９４はブロックインタリーブ型フォーマットのＹ，ＣR，ＣB画素成分を次元変換回路１９０に書き込む。画素単位で次元変換操作を行なう公知の次元変換回路８８と違って、次元変換回路１９０は次元変換操作を画素成分単位で実行する。
【００３５】
次元変換回路１９０には、画像データストリームを受け取る受信モジュール（未表示）がある。受信モジュールには、ＪＰＥＧコーデック９４から受け取った画素成分ごとに成分タイプ及び（ｘ、ｙ）座標値を計算するマッピングロジックがある。一つの好適な実施例では、入ってくる画素成分を数えるのにバイトカウンタを用いており、カウント数が６４に達すると、回路が８ｘ８ブロック全体の成分を受け取ったことを認識する。次元変換回路１９０は、次の成分、つまり６５番目のバイトはタイプが異なる成分であることを判定するためにカウント数が６４に達したという事実も利用する。さらに、次元変換回路１９０には、ｘ座標値を記録するのに用いられる水平カウンタ（未表示）と、ｙ座標値を記録するのに用いられる垂直カウンタ（未表示）とがある。
【００３６】
次元変換回路１９０は次元変換モジュール（未表示）も有する。次元変換モジュールは、クロッピングやスケーリングといった次元変換操作を行なうのに各画素成分の計算された（ｘ、ｙ）座標値を用いる。データストリーム内の或る特定のデータ要素をラインバッファ７４に書き込むべきかどうか判定するのに各画素成分の座標値を用いる。ラインバッファ７４のどこに画素成分を書き込むべきか判定するのに計算された成分タイプを用いる。一つの実施例では、ラインバッファ７４の前半にＹ成分が書き込まれ、後半にＣR及びＣB成分ブロックが書き込まれる。
【００３７】
ラインバッファ７４から、色空間変換回路２０２（ＣＳＣ）によって画素成分がフェッチされ、画素に配列される。色空間変換回路２０２から、画素がフレームバッファ８２に送られる。ＬＣＤインタフェース９８がフレームバッファ８２から画素を読み出し、読み出した画素をＬＣＤ８９に供給する。
【産業上の利用可能性】
【００３８】
本発明の顕著な特徴は、ＧＣ内の所要メモリ帯域幅の量を著しく削減できることである。これにより、同様に、電力消費がかなり削減される。メモリ帯域幅が削減される量はクロッピング及びスケーリングの程度により異なる。例えば、画像が半分に縮小される場合には、最終画像に現れるのはオリジナル画像の画素数の四分の一だけになる。従って、公知の装置及び方法と比べ、本発明では回数にして四分の一の読み書き操作しか要らない。
【００３９】
上記の明細書で用いた用語及び表現は説明として用いており、限定として用いてはいない。また、表示及び説明した構成又はその一部と同等のものを除外するつもりはない。発明の範囲は、以下の特許請求の範囲によってのみ定義並びに限定されるものである。
【図面の簡単な説明】
【００４０】
【図１】画素の属性を表わすデータワードのブロック図。
【図２】表示装置のラスタスキャンパターンの正面図。
【図３】オリジナルの正面図及びクロッピングされたフレーム。
【図４】図３のクロッピングされたフレームの正面図及び縮小されたフレーム。
【図５】図３のクロッピングされたフレームの正面図及び別の縮小されたフレーム。
【図６】画素平面集合としてのフレームの斜視図。
【図７】ＪＰＥＧファイルの作成を説明するブロック図。
【図８】サンプリングのステップを説明する画素平面集合の正面図。
【図９】サンプリング及びブロック分割された画素平面集合及びブロックインタリーブ型ＪＰＥＧファイルの一部分。
【図１０】ＪＰＥＧファイルの表示準備を説明するブロック図。
【図１１】ＪＰＥＧファイルを解凍及び表示するためのコンピュータシステムのブロック図。
【図１２】本発明による、表示装置に画像データを伝送するのに要する帯域幅を縮小するための方法のフローチャート。
【図１３】本発明による、ＪＰＥＧファイルを解凍及び表示するためのコンピュータシステムのブロック図。
【符号の説明】
【００４１】
２０・・・データワード
２２・・・データワード
２４・・・表示装置
２６・・・オリジナルフレーム
２８・・・クロッピングされたフレーム
３０・・・画素
【図１】
2005045797.tif 000003
【図２】
2005045797.tif 000004
【図３】
2005045797.tif 000005
【図４】
2005045797.tif 000006
【図５】
2005045797.tif 000007
【図６】
2005045797.tif 000008
【図７】
2005045797.tif 000009
【図８】
2005045797.tif 000010
【図９】
2005045797.tif 000011
【図１０】
2005045797.tif 000012
【図１１】
2005045797.tif 000013
【図１２】
2005045797.tif 000014
【図１３】
2005045797.tif 000015