(57)【要約】【課題】画像データの多重解像度レンダリングを提供する。【解決手段】画像データは、ベクトルデータなどを含み、コンピュータ（２２）は、レンダリングデバイス（２０など）に多重解像度フォーマットで画像データを送信する。多重解像度フォーマットは、周波数領域符号化（４２０）などにより達成される。画像データは、低解像度フォーマットで送信され（５０５）、レンダリングデバイスは、対応する画像またはテキストをレンダリングすべきかどうかを判断する。次に、ベクトルデータ（５１０）などがレンダリングデバイスに供給され、レンダリングデバイスのメモリ使用量を最大にするために、ベクトルデータなどの後に、より高い解像度のデータを送信し（５２５など）、さらに、印刷アプリケーションでは、画像データがスワス（３１０）に分割され、各スワスは、個別にプリンタに提供される。
2005508124.tif 000002
【特許請求の範囲】
【請求項１】
ベクトルデータおよびテキストデータを含む画像データファイルを構成する画像を、多重解像度周波数符号化を使用してレンダリングする方法であって、
前記画像データファイルの画像データに対して周波数変換を実行すること（４９２）であって、それによって、周波数変換された係数が生成されること（４９２）と、
前記周波数変換された係数を量子化すること（４９４）と、
前記周波数変換されて量子化された係数をスキャンすること（４９６）であって、該スキャンにおいて、該周波数変換されて量子化され、スキャンされた係数が、最も低い周波数から最も高い周波数の変換係数の配列を構成すること（４９６）と、
前記変換係数を１つまたは２つ以上の解像度レベルにパケット化すること（４９８）と、
少なくとも最も低い解像度レベルをレンダリングデバイスに送信すること（５０５）と、
前記ベクトルデータ（５１０）および前記テキストデータ（５１５）を前記レンダリングデバイスに送信すること
を含むレンダリングする方法。
【請求項２】
前記画像データファイルを１つまたは２つ以上のスワスに分割すること（４１０）であって、該分割において、該１つまたは２つ以上のスワスのそれぞれは、前記画像データファイルからのデータのサブセットを含み、
該分割するステップは、
前記画像データファイルのデータ密度量を求めることと、
該１つまたは２つ以上のスワスを構築することであって、前記画像データファイルの指定された高さを含める、１つまたは２つ以上のスワスを構築することと
を含む前記画像ファイルを１つまたは２つ以上のスワスに分割すること（４１０）と、
前記複数のスワスのそれぞれを前記レンダリングデバイスに連続的に提供すること（４２５）と
をさらに含む請求項１に記載のレンダリングする方法。
【請求項３】
前記複数のスワスのそれぞれは、前記多重解像度周波数符号化を受ける
請求項２に記載のレンダリングする方法。
【請求項４】
前記レンダリングデバイスは、プリンタ（７０）である
請求項２に記載のレンダリングする方法。
【請求項５】
前記レンダリングデバイスは、パーソナルコンピュータ（２２）の表示装置（３０）、携帯電子デバイス（２０）の表示装置（２４）およびファクシミリ装置のいずれかである
請求項１に記載のレンダリングする方法。
【請求項６】
前記ベクトルデータおよび前記テキストデータは、最も低い解像度レベルの送信後に前記レンダリングデバイスに送信される
請求項１に記載のレンダリングする方法。
【請求項７】
前記ベクトルデータおよび前記テキストデータの送信後に、１つまたは２つ以上のより高い解像度レベルを前記レンダリングデバイス送信することと、
最も低い解像度レベルの送信後に１つまたは２つ以上のより高い解像度レベルを送信することと
をさらに含む請求項６に記載のレンダリングする方法。
【請求項８】
画像の低メモリレンダリング方法であって、
レンダリングされる前記画像を第１のルールに従って第１に処理すること（４００）であって、それによって、第１の再分割セグメントが生成され、該処理において、該画像が画像データファイルを構成すること（４００）、
前記第１の再分割セグメントの１つまたは２つ以上を第２のルールに従って第２に処理すること（４２０）であって、それによって、多重解像度レイヤが生成されること（４２０）と、
前記多重解像度レイヤおよび前記セグメントをレンダリングデバイスに送信すること（４２５）であって、該送信において、前記第１のルールが、一続きのスワス（３１０）を構築し、前記再分割セグメントが、該スワスを含み、前記第２のルールが、該スワスの１つまたは２つ以上の周波数領域符号化を提供し、前記多重解像度レイヤを提供し、前記多重解像度レイヤが、離散コサイン変換（ＤＣＴ）符号化を使用して符号化され、
前記画像を８×８ピクセルブロックに分割すること（４９０）と、
前記ピクセルブロックのＤＣＴ（４９２）および量子化（４９４）を実行することであって、変換係数を生成する、前記ピクセルブロックのＤＣＴ（４９２）および量子化（４９４）を実行することと、
前記変換係数をスキャンすること（４９６）と、
前記スキャンされた変換係数をパケット化すること（４９８）であって、それによって、前記多重解像度レイヤを生成する、パケット化すること（４９８）と、
とを含む、前記多重解像度レイヤおよび前記セグメントをレンダリングデバイスに送信すること（４２５）と
を含む低メモリレンダリング方法。
【請求項９】
前記スワスのそれぞれは、
前記レンダリングされる画像からのデータのサブセット
を含み、
前記分割するステップは、
前記画像データファイルのデータ密度量を求めること（４１１）と、
前記１つまたは２つ以上のスワスを構築すること（４１４）であって、それによって、前記印刷される画像の指定された高さを含める、該１つまたは２つ以上のスワスを構築すること（４１４）と
を含む、請求項８に記載の低メモリレンダリング方法。
【請求項１０】
画像処理ステップを実行するために使用される低メモリレンダリング用プログラムを含むコンピュータ可読媒体であって、
画像に関係した画像データに対して周波数変換を実行すること（４９２）であって、それによって、周波数変換された係数が生成されることと、
前記周波数変換された係数を量子化すること（４９４）と、
前記周波数変換されて量子化された係数をスキャンすること（４９６）であって、該スキャンにおいて、該周波数変換されて量子化され、スキャンされた係数が、最も低い周波数から最も高い周波数の変換係数の配列を構成することと、
前記変換係数を１つまたは２つ以上の解像度レイヤにパケット化すること（４９８）と、
少なくとも最も低い解像度レベルをレンダリングデバイスに送信すること（５０５）と、
前記最も低い解像度レベルの送信後に、テキストデータ（５１５）およびベクトルデータ（５１０）を送信することと、
１つまたは２つ以上のより高い解像度レベルを送信すること（５２５、５３５）と
を含むコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野は、デジタルファイルに含まれる画像データから画像をレンダリングすることである。
【背景技術】
【０００２】
［背景］
レンダリングデバイスは、入力画像データに基づいて画像を生成するのに使用される。
入力画像データは、パーソナルコンピュータに関連付けられたメモリなどのメモリに記憶されているファイルに含まれたデジタルデータとすることができる。
レンダリングデバイスは、多くの形を取ることができ、ポータブルとすることもできるし、基本的に固定式とすることもできる。
レンダリングデバイスの例としては、携帯電話、ファクシミリ装置、表示装置を有するコンピュータ、およびプリンタがある。
携帯電話は、無線電話ネットワークからデータを受信することができ、そして、テキストおよびグラフィック画像を表示スクリーンにレンダリングすることができる。
ファクシミリ装置は、画像およびテキストを用紙または他の適切な媒体にレンダリングすることができる。
コンピュータは、画像データを受け取って記憶することができ、同時にまたはその後、画像を表示装置にレンダリングすることができる。
プリンタは、取り付けられたコンピュータから画像データを受信することができ、そして、レンダリングの前にその画像データを記憶することができる。
パーソナルコンピュータ、または、他のコンピュータおよび同様のデバイスと接続されて使用されるレンダリングデバイスは、ビットマップデータまたは線図形画像のいずれかとして、画像またはテキストをレンダリングすることができる。
レンダリングデバイスに供給される画像データは、デジタルカメラからの写真データであってもよいし、コンピュータグラフィックスパッケージによって生成されたデータであってもよいし、例えば文書処理プログラムなどによって生成された単なるテキストデータであってもよい。
画像データをレンダリングするのに使用されるプリンタは、ポスタ、建築画像、および他の大きな画像を印刷できる大判プリンタであってもよい。
また、プリンタは、より一般的なレーザプリンタおよびインクジェットプリンタであってもよい。
【０００３】
プリンタの特定のケースにおいて、プリンタによって受信されるコンピュータからの印刷データには、ビットマップ形式の画像を特定するビットマップデータ、ベクトルの観点の特徴を特定するベクトルデータ、およびテキスト文字を特定するテキストデータが含まれ得る。
例えば、建築家の印刷要件は、建設用地を示す背景写真、および、レンダリングされたテクスチャおよび色調を有する建物のコンピュータ生成画像を重ね合わせたものを含む。
また、建築家の画像は、建物の個々の特徴を指し示す矢印およびテキストも含むこともあり、これらの矢印およびテキストは、コンピュータ生成画像または背景写真のいずれかの上に重ね合わされる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、多くのレンダリングデバイスは、レンダリングする画像全体を記憶するのに十分なメモリ容量を有していない。
その結果、レンダリングする画像は、例えば、幅広な白のストライプが画像の全長に亘るなどの、データが欠けた状態でレンダリングされることがある。
【課題を解決するための手段】
【０００５】
［概要］
例えば、コンピュータまたは同様のデバイスと共に使用されるレンダリングシステムが、このレンダリングシステムにおけるレンダリングデバイスのメモリ容量に対応するように、背景画像データ、ベクトルデータ、およびテキストデータを含んだ画像データの多重解像度レンダリングを提供する。
このコンピュータは、自身から、レンダリングシステムに接続されたいくつかのレンダリングデバイスの１つに多重解像度フォーマットで画像データを送信することができる。
背景画像データは、まず、低解像度フォーマットで送信することができ、レンダリングデバイスは、自身のメモリ容量に基づいて、対応する画像またはテキストをレンダリングすべきかどうかを判断する。
次に、ベクトルデータおよび／またはテキストデータをレンダリングデバイスに供給することができる。
このようにして、レンダリングデバイスは、最初に、低解像度の背景画像データを、画像データに重ね合わさるあらゆるベクトルまたはテキスト用のベクトルデータおよびテキストデータと共に受信する。
最後に、コンピュータは、精細な画像データを高解像度フォーマットで送信する。
一実施の形態では、高解像度の画像データの送信を数回の繰り返しにわたって行うことができ、連続した各繰り返しにより、次第に高い解像度データが提供される。
【０００６】
一実施の形態において、レンダリングデバイスは、プリンタである。
このプリンタは、低解像度の背景画像データを受信し、その後、ベクトルデータおよび／またはテキストデータを受信して、受信したデータをメモリに記憶する。
この背景画像データは、低解像度フォーマットであるので、プリンタは、ベクトルデータおよび／またはテキストデータと共に背景画像データを記憶するのに大量のメモリを必要としない。
次いで、プリンタは、精細な背景画像データを高解像度フォーマットで受信する。
利用可能なメモリ量に応じて、プリンタは、精細な高解像度の画像データを記憶することができる。
一実施の形態では、プリンタは、自身のメモリ容量に達するまで、より高い高解像度の画像データを蓄積し、メモリ容量に達した時点で、プリンタは、画像をレンダリングするために、低解像度の画像データを高解像度の画像データと結合する。
プリンタのメモリに応じて、最も高い解像度の画像ファイルが記憶され、その画像データの印刷は、最も高い解像度の画像データを含む。
プリンタが、最も高い解像度の画像データを記憶するのに必要なメモリ容量よりも少ないメモリ容量しか持たない場合、印刷は、中間解像度の画像データ、ならびにあらゆるベクトルデータおよび／またはテキストデータに基づいて進めることができる。
【０００７】
代替的な実施の形態では、特定のプリンタの種類に適用されるように、コンピュータのプリンタドライバが、プリンタメモリに記憶できる量の印刷データのみをプリンタに送信することができる。
別の実施の形態では、コンピュータは、印刷データを一連のスワスまたは帯域に分解することができる。
各スワスは、印刷データの一部を表す。
印刷データの１番目のスワスは、印刷媒体上において、指定された高さで印刷されることになる画像データ、ベクトルデータ、およびテキストデータを含むことができる。
例えば、規格８１／２  Ｘ  １１ページ上に印刷する場合、１番目のスワスは、そのページの最初の２インチを表すことができる。
１番目のスワスの印刷データは、プリンタメモリに記憶することができ、印刷データのその部分は、そのページの画像部分を印刷するのに使用することができる。
次いで、印刷データは、メモリから廃棄され、コンピュータは、次のスワスの印刷データをプリンタに送信する。
このプロセスは、ページ全体が印刷されるまで繰り返す。
【０００８】
さらに別の実施の形態では、プリンタシステムは、スワスによる印刷と、スワスの１つまたは２つ以上のものの多重解像度印刷とを組み合わせたものを使用して、可能な最も高い画像解像度を提供し、プリンタメモリの使用を最大にする。
【０００９】
詳細な説明では、図面が参照される。
図面において、同じ符号は、同じ要素を参照する。
【発明を実施するための最良の形態】
【００１０】
［詳細な説明］
図１ａは、低メモリレンダリングデバイスの解決法として多重解像度レンダリングに適合されたシステム１０を示している。
このシステム１０は、画像データ源２０および複数のレンダリングデバイスを含む。
画像データ源２０は、パーソナルコンピュータ２２の場合もあるし、無線デバイス２４の場合もある。
複数のレンダリングデバイスには、コンピュータ表示装置３０、レーザプリンタ４０、インクジェットプリンタ５０、および大判プリンタ６０が含まれる。
無線デバイス２４およびパーソナルコンピュータ２２は、画像およびテキストをレンダリングするために、複数のレンダリングデバイスのすべてと通信して、複数のレンダリングデバイスのすべてに画像データを送信することができる。
無線デバイス２４は、例えば、無線コンピュータであってもよいし、携帯情報端末であってもよいし、携帯電話であってもよい。
さらに、無線デバイス２４の表示装置も、システム１０内のレンダリングデバイスとすることができる。
パーソナルコンピュータ２２は、適切なケーブル接続によって複数のレンダリングデバイスのすべてに接続することができる。
システム１０は、大規模ネットワーク接続コンピュータシステムの一部であってもよい。
この大規模ネットワーク接続コンピュータシステムでは、数台のパーソナルコンピュータが、中央のサーバ（図示せず）に接続され、それらのパーソナルコンピュータが、複数のレンダリングデバイスを含めた資源を共有する。
【００１１】
個々のレンダリングデバイスは、異なるメモリ容量を有することがある。
例えば、インクジェットプリンタ５０は、６４メガバイトのデータ記憶容量のＲＡＭを有することがある。
レーザプリンタ４０は、１２８メガバイトの記憶容量のＲＡＭを有することがある。
大判プリンタ６０は、２０ギガバイトのデータ記憶容量のハードドライブを有することがある。
以下の説明では、低メモリレンダリングの例示の実施の形態として印刷システムに言及する。
しかしながら、当業者ならば、同様の技術をプリンタ以外のレンダリングデバイスと共に使用することも可能であることを理解するであろう。
【００１２】
図１ｂは、プリンタ７０、および、例えばパーソナルコンピュータ２２などの対応する画像データ源２０を示している。
プリンタ７０は、通信ポート７２、印刷メカニズム７３、プロセッサ７４、メモリ７５、および印刷アプリケーション７６を含む。
画像データ源２０は、通信ポート１０１、データ記憶デバイス１０２、プロセッサ１０３、メモリ領域１０４、ユーザインターフェース１０５、オペレーティングシステム１０６、プリンタドライバ１０７、およびアプリケーションプログラム１０８を含む。
データ記憶デバイス１０２は、ハードドライブであってもよい。
ユーザインターフェース１０５は、ビデオモニタ、キーボード、およびポインティングデバイスを含むことができる。
プリンタ７０および画像データ源２０は、ローカルエリアネットワークケーブル１１０を使用して通信することができる。
【００１３】
プリンタ７０は、印刷アプリケーション７６を動作させる。
この印刷アプリケーション７６は、ヒューレットパッカードグラフィックス言語２（ＨＰＧＬ２（Hewlett-Packard Graphics Language 2））やＨＰラスタ転送言語（ＨＰＲＴＬ（HP Raster Transfer Language））などの既知の印刷言語で記述されている。
ＨＰＧＬ２は、ビットマップおよびベクトルを操作できる言語であり、ＨＰＲＴＬは、ラスタ化された形のビットマップデータを受け取ることができる言語である。
印刷アプリケーション７６は、印刷データを、印刷メカニズム７３が印刷画像を生成することができる形に変換する。
【００１４】
画像データ、特に画像データ源２０が送信する画像データは、その印刷データ源がプリンタ７０のメモリ容量について知ることなく、プリンタ７０に送信することができる。
そのように転送される画像データは、階層化することができる。
各階層の画像データは、解像度が次第に高くなる連続したデジタルデータファイルとして、画像データ源２０からプリンタ７０に送信することができる。
すなわち、画像データ源２０は、画像データを異なる解像度でサンプリングすることができ、このような各サンプルは、ある１つの解像度レイヤを構成する。
次いで、これらの連続した解像度レイヤは、プリンタ７０に送信される。
プリンタ７０に送信された画像データは、プリンタのメモリ容量にかかわらず、同じものとなる。
例えば、図１ａを参照して、画像データ源２０としてのパーソナルコンピュータ２２は、プリンタ４０、５０、および６０のメモリ容量がたとえ異なっていても、プリンタ４０、５０、および６０のそれぞれに同じ解像度レイヤの同じデータを送信する。
その結果、画像源２０から送信された画像データのフォーマットは、画像データのあて先にかかわらず、一定にしておくことができる。
【００１５】
図１ａに示すシステム１０を使用すると、レンダリングされる画像の背景画像に対応した画像データのサブセットのレンダリングと、レンダリングされる画像のテキストデータおよび／またはベクトルデータのレンダリングと、レンダリングデバイスのメモリ容量に応じた、背景画像に対応する付加的画像データのレンダリングとを行うことにより、許容範囲内の品質の画像をレンダリングすることができる。
この低メモリレンダリングを達成するために、レンダリングされる画像に対応したデータを第１のルールに従って分割し、複数の第１のデータセグメントを生成することができる。
次いで、これらの第１のデータセグメントのそれぞれを第２のルールに従って分割し、複数の第２のデータセグメントを提供することができる。
第１のルールは、第１のデータセグメントとして複数のスワス（swath）を生成することができ、第２のルールは、これらのスワスのそれぞれに対して多重解像度レベルを生成することができる。
このレンダリングデバイスにおいて、各スワスは、次に、多重解像度レンダリング方法を使用してレンダリングされる。
一実施の形態では、多重解像度データセグメント化のみが実行される。
多重解像度方法およびスワス方法については、以下で説明する。
【００１６】
図２ａ〜図２ｃは、周波数領域の圧縮を使用する多重解像度符号化の概念モデルを示している。
このような多重解像度符号化方式を使用すると、低メモリプリンタ使用時の印刷速度および印刷効率を改善することができる。
図２ａおよび図２ｂに示す概念モデルは、ＪＰＥＧの離散コサイン変換（ＤＣＴ）符号化に依拠している。
しかしながら、ウェーブレット符号化および領域ベースのサブバンド符号化を含めた他の周波数領域符号化方式を使用して、印刷効率を向上させることもできる。
【００１７】
図２ａにおいて、この符号化方式は、画像ビットマップからの８×８ピクセルブロックを処理するＪＰＥＧ  ＤＣＴ符号化を使用して、復号および印刷を行う印刷デバイスに送信可能な符号化画像を形成する。
この符号化プロセスは、空間領域からの２次元ピクセルブロックを、周波数領域における２次元配列の周波数係数に変換するＤＣＴステップから開始する。
このＤＣＴステップは、８×８ピクセルブロックの６４個の画像ピクセルの相関を解除（decorrelate）し、ピクセルのエネルギーのほとんどを周波数配列の左上角の係数に集中させ、ゼロに近い値を有する残りピクセルをそのままにする。
周波数係数のうち、ＤＣ係数は、空間領域における６４個のピクセルの平均強度値を表す。
それ以外の係数は、８×８ピクセルブロックの異なる周波数で発生する空間的特徴を表す。
周波数係数配列内において、最も低い周波数係数は、左上に配置され、最も高い周波数係数は、右下に配置される。
係数を十分な精度で表すと、８×８ピクセルブロックを正確に復元できることから、ＤＣＴステップは、可逆オペレーションである。
【００１８】
次のステップは、非可逆オペレーションである量子化である。
この量子化は、各周波数係数を、量子化テーブルで見つけられた最も近い多重値（multiple value）に縮尺することにより、本質的でない小さな周波数成分をゼロにする。
ジグザグシーケンスを使用して、量子化された周波数係数が読み出されて、印刷デバイスへの送信に備えた１次元配列にされる。
このシーケンスにより、周波数係数は、最も低い周波数係数から最も高い周波数係数へ並べられ、さらに、印刷デバイスへの効率的な送信用に符号化を適用することも可能になる。
【００１９】
プリンタ７０などの印刷デバイスにおいて受信が行われると、印刷デバイスのデコーダが、符号化デバイスで使用したものと同じ量子化テーブルを使用して、量子化された係数を逆量子化する。
次いで、逆ＤＣＴステップが実行されて、８×８ピクセルブロックがほぼ再現される。
【００２０】
ＪＰＥＧ  ＤＣＴ符号化方式は、階層的な方法で実施することができ、階層符号化（progressive coding）は、連続的な段階間で空間解像度が増加されていく。
したがって、印刷される画像は、多重解像度で符号化され、その結果、低解像度版を印刷デバイスに送信することができ、その最大解像度の画像を伸張する必要なく印刷することができる。
【００２１】
上述したように、他の周波数符号化方式を使用して、低メモリ印刷を向上させることもできる。
ウェーブレット符号化は、局所化された基底関数を使用して、画像をその本質的な細部に分解する。
ウェーブレット符号化は、ＤＣＴ符号化のような連続的な正弦曲線ではなく短期間の波を使用して、オブジェクトの端部で発生する急速な変化などの画像の小さな特徴をより効率的に表現することができる。
さらに、ウェーブレット符号化により、ＤＣＴ変換符号化が使用する８×８ブロック符号化構造ではなく全画像の符号化が可能になる。
これらの利点により、ウェーブレット符号化は、所与の画質に対して、より高い圧縮比を提供することが可能になる。
【００２２】
さらに別の符号化方式は、領域ベースサブバンド符号化（ＲＢＳＳＣ（region-based subband coding））である。
この符号化は、Joseph CasasおよびLuis Torresにより「A region-based subband coding scheme」に詳細に記載されている。
この文献は、参照により本明細書に援用される。
【００２３】
図２ｂは、低メモリレンダリングの解決法としてのＪＰＥＧ  ＤＣＴ符号化の概念を示している。
レンダリングされる初期画像は、背景画像、ベクトル、およびテキストを含む。
背景画像は、８×８ピクセルブロックに分割することができる。
次いで、８×８ピクセルブロックのそれぞれは、周波数変換符号化を受け、例えば、離散コサイン変換ステップおよび量子化ステップなどが完了する。
このように変換された８×８ピクセルブロックは、ジグザグスキャンを受け、最も低い周波数から最も高い周波数に整列された１次元配列の変換係数が生成される。
次に、この配列の変換係数は、所望の解像度レベル数または所望のレイヤ数に応じて、１つまたは２つ以上のパケットに分割される。
例えば、３つの解像度レベルが使用される場合、４個の最も低い周波数係数を含んだ第１のパケットが構築される。
第２のパケットは、次の１２個の係数を含む。
第３のパケットは、最後の４８個の最大周波数係数を含む。
４つの解像度レベルが使用される場合、１個の係数、３個の係数、１２個の係数、および４８個の係数を含む４つのパケットが組み立てられる。
より多くの解像度レベルに対しては、他の係数配置を使用することができる。
【００２４】
８×８ピクセルブロックのそれぞれについて、パケットが構築されると、第１の解像度レベルが、レンダリングデバイス（例えば表示装置、プリンタ、ファクシミリ）に送信される。
次に、あらゆるベクトルデータおよびテキストデータが、レンダリングデバイスに送信される。
次いで、次の解像度レイヤが、レンダリングデバイスに送信される。
第１の解像度レベルならびにベクトルデータおよびテキストデータを受信した時点で、レンダリングデバイスのメモリ容量に達したとしても、レンダリングデバイスは、許容範囲内の画像をレンダリングすることができる。
第１の解像度レベルならびにベクトルデータおよびテキストデータを受信した後にメモリ容量に達していない場合には、レンダリングデバイスは、次の解像度レベルの背景画像データを受信でき、そのデータを組み合わせて、より精細な背景画像を生成することができる。
【００２５】
図２ｃは、レンダリングデバイスにおける逆変換オペレーションを示している。
図示した例では、レンダリングデバイスのメモリ容量に達する前に、３つの解像度レベルのうちの第１のものおよび第２のものが、レンダリングデバイスにおいて受信されている。
すなわち、図示するように、最初の１６個の最も低い周波数変換係数のみが、レンダリングデバイスにおいて受信される。
受信された変換係数は、８×８ブロックに整列される。
このブロックにおいて、ゼロは、受信されていない係数を表す。
次いで、これらの係数は、逆量子化ステップおよび逆ＤＣＴステップを使用して復号され、元の８×８ピクセルブロックに近似したものが生成される。
【００２６】
原画像全体に対して、図２ｂおよび図２ｃに示すプロセスを完了することができる。
あるいは、原画像を１つまたは２つ以上の部分画像、すなわちスワスに分解することができ、そして、符号化プロセスおよびイマース符号化（immerse coding）プロセスを、このような各スワスに対して完了することができる。
スワスの使用は、特に、印刷オペレーションに適用可能であり、とりわけ、大規模プロッタおよびインクジェットプリンタを使用した印刷に適用可能である。
画像をスワスに分解することは、以下で図４を参照して説明する。
【００２７】
図３ａ〜図３ｃは、画像レンダリングプロセスにおけるダウンサンプリング（「Multi-Resolution Printing」という発明の名称の米国特許出願第１０／１３４，３０１号（日本における対応出願の公開公報は特開２００３−６０８９７）に詳細に説明されている。
この出願は、参照に本明細書に援用される）および周波数符号化の効果を示している。
図３ａ〜図３ｃのそれぞれにおいて、横軸は、プリンタ７０などのレンダリングデバイスに送信されるビットまたは係数（データ）の個数を表している。
縦軸は、人間視覚系画質（Human Visual System Quality）を表している。
第１の品質閾値、すなわち最小品質閾値を指定して、印刷品質が許容範囲内になることを保証することができる。
許容範囲外の印刷品質は、画像データが受信されていないことにより、印刷可能なビットマップが全体のビットマップよりも少ない場合に発生することがあり、その結果、例えば、印刷画像内に白のストライプが生じる。
白のストライプが見えない状況は、異議なし品質（ＮＯＱ（No Objection Quality））レベルと呼ばれることがある。
ＮＯＱレベルが達成された後、画質が（中間品質（ＩＱ（Intermediate Quality））レベルおよびそこからの最大品質（ＭＱ（Maximum Quality））レベルに）向上する速度は、ビットマップがレンダリングデバイスにどのように送信されるかに依存する。
【００２８】
図３ａを参照して、多重解像度符号化およびダウンサンプリングを行わない印刷オペレーションが示されている。
この場合、ＮＯＱレベルおよびＭＱレベルは、同時に得られ、具体的には、全体の画像ビットマップがプリンタ７０において受信された時に得られる。
これよりビットが少ないどの画像データ（ビットマップ）の送信も、異議が生じ得る品質レベルとなる。
【００２９】
図３ｂは、ダウンサンプリングの効果を示している。
この場合、最初の（最も低い）解像度セットのデータが、プリンタ７０において受信されると、画像は、白のストライプなしにレンダリングすることができる。
したがって、最も低い解像度レイヤがプリンタ７０において受信された時に、ＮＯＱレベルが達成される。
最も低い解像度レイヤの受信に続いて、追加の解像度レイヤが、プリンタ７０において受信されると、画質は、ＭＱレベルまで向上する。
【００３０】
図３ｃは、周波数領域符号化の効果を示している。
この場合、圧縮（例えば、ＪＰＥＧ  ＤＣＴまたは他の変換領域圧縮）により、はるかに速くＮＯＱに達する。
ＮＯＱレベルが達成された後、画質は、ＭＱレベルの近くに非常に急速に向上する。
このビットマップ送信（指定されたＩＱ）の時点で、画質は、（変換符号化で使用される量子化アルゴリズムの本来的な非可逆的性質のため）達成可能な高画質となり、非常に高い品質の画像が、プリンタ７０において受信されたＩＱビットだけで可能である。
【００３１】
図４は、低メモリプリンタを使用した多重解像度印刷に使用可能のスワスの構築３００の概念モデルを示している。
画像データ源（図４にパーソナルコンピュータ２２として表す）は、複数のプリンタ８０ｉに接続されている。
プリンタ８０ｉのそれぞれは、異なるメモリ容量を有することができる。
プリンタ８０ｉのいくつかは、ＲＡＭに印刷データ（画像データを含む）を記憶することができる。
それ以外のプリンタ８０ｉは、例えば、ハードドライブに印刷データを記憶することができる。
パーソナルコンピュータ２２は、印刷される画像３１０を複数のスワスに分割、すなわち分解することができる。
各スワスは、その画像のある一定の「高さ」を含む。
このように、画像３１０をスワス３１１〜Ｎに分解することができる。
例えば、画像３１０を１０個のスワスに分解することができ、各スワスは、画像３１０の１インチの「高さ」を表す。
次いで、パーソナルコンピュータ２２は、スワス３１１〜Ｎのそれぞれをプリンタ８０ｉに連続して送信することができる。
すなわち、パーソナルコンピュータ２２は、スワス３１１をプリンタ８０ｉに送信し、それに続いて、スワス３１２を送信するといったように、すべてのスワス３１１〜Ｎが送信されるまで、スワスを送信することができる。
【００３２】
一実施の形態では、プリンタ８０ｉのそれぞれは、スワス３１１〜Ｎを受信して、メモリにそれらのスワスを記憶することを試みる。
しかしながら、すべてのスワス３１１〜Ｎが受信されて記憶される前に、特定のプリンタ８０ｉがそのメモリ容量に達すると、そのプリンタ８０ｉは、記憶されたスワスの印刷を開始することができる。
それによって、残りのスワスを記憶するためにメモリを解放することができる。
代替的な実施の形態では、プリンタ８０ｉのそれぞれは、受信したスワスがメモリに記憶されると直ちに、受信したスワスの印刷を開始する。
次いで、このように印刷されたスワスは、メモリから廃棄することができる。
すべてのスワスの受信、記憶、印刷、および廃棄が行われるまで、このプロセスは続く。
【００３３】
別の実施の形態では、図２ａ〜図２ｃおよび図３ｃに示す概念を、スワスの構築３００と組み合わせることができる。
この実施の形態では、画像データ源２０は、印刷される画像を複数のスワスに分解する。
次いで、このような各スワスに対して、画像データ源２０は、例えばＪＰＥＧ  ＤＣＴ符号化などの周波数変換オペレーションを完了する。
次いで、画像の各スワスは、一連の次第に高くなる解像度レイヤとしてプリンタに転送される。
プリンタは、プリンタのメモリ容量に達するまで、スワス解像度レイヤのそれぞれを記憶する。
メモリ容量に達すると、転送されたデータは結合され、スワスが印刷される。
次いで、このように印刷されたスワスの画像データは、メモリから廃棄される。
次いで、画像データ源２０は、この場合も周波数圧縮符号化方式で、次に続くスワスをプリンタに送信する。
このプロセスは、画像全体がプリンタによってレンダリングされるまで続く。
【００３４】
図４について上記に提供した説明では、背景画像データのみが、画像データ源２０からプリンタへの転送前に周波数符号化されていた。
しかしながら、上記でも述べたように、レンダリングされる画像は、例えば、ベクトルデータおよびテキストデータも含むことがある。
ベクトルデータおよびテキストデータが、画像データに付随する場合には、少なくとも、背景画像データの最小の解像度レイヤが転送された後に、このようなベクトルデータおよびテキストデータをレンダリングデバイスに転送することができる。
あるいは、背景画像データが転送される前に、ベクトルデータおよびテキストデータを転送することができる。
【００３５】
図５は、画像データ源２０から図４のプリンタ８０ｉなどのレンダリングデバイスへ転送できる画像データファイル３５０を概略的に示している。
このファイル３５０は、ファイル３６０、３７０、３８０、３９０などの多数の画像データ解像度ファイルを含む。
ファイル３６０、３７０、３８０、および３９０のそれぞれは、多数のファイルを含む。
例えば、ファイル３６０は、レベル１データヘッダファイル３６１、データフィールド３６２、ベクトルデータフィールド３６３、およびテキストデータフィールド３６４を含む。
レベル１データヘッダファイル３６１は、第１の解像度レイヤに関係したデータが続くことを示すものである。
データフィールド３６２は、第１の解像度レイヤの変換係数を含む。
ベクトルデータフィールド３６３は、画像に関連付けられたあらゆるベクトルデータを含む。
テキストデータフィールド３６４は、画像のテキストデータを含む。
ベクトルデータフィールド３６３のベクトルデータおよびテキストデータフィールド３６４のテキストデータは、印刷時に、背景画像データに重ね合わせることができる。
後続の解像度レイヤファイルも、ファイル３１０と同様に構築することができる。
【００３６】
図４に戻って、図示したシステム３００では、特定のプリンタ８０ｉが、特定のスワスに関連付けられたすべての印刷データを記憶できると仮定すると、印刷される画像をスワス３１１〜Ｎに分解することができる。
すなわち、画像データ源２０は、取り付けられたプリンタの最小メモリに関して事前に知ることができ、画像データ源２０は、スワスの構築時に、プリンタ８０ｉのそれぞれが、特定のスワスに関係したすべてのデータを記憶できるようにスワスを構造化する。
代替的な実施の形態では、画像データ源２０は、プリンタのメモリ容量を事前に知らず、したがって、設定されたルールに従ってスワスを構築する。
この設定されたルールは、最も一般的なプリンタの平均的なメモリに基づくものとすることもできるし、利用可能なプリンタメモリの範囲の下限値とすることもできるし、それ以外のルールとすることもできる。
【００３７】
上述した低メモリレンダリング方法およびデバイスの実施の形態は、レンダリングデバイスのメモリ使用量を最大にする。
特に、これらの実施の形態により、レンダリングデバイスは、許容範囲内の品質レベルを有する背景画像をレンダリングすることが可能になり、また、テキストデータおよびベクトルデータをレンダリングすることも可能になる。
大きなメモリ機能を有するレンダリングデバイスほど、背景画像の品質を改善することができる。
【００３８】
図６は、低メモリプリンタによる多重解像度印刷を提供するために実行可能なプロセス４００を示すフローチャートである。
プロセス４００は、図１ａに示すシステム１０を使用して実行することができる。
画像は、図４に従ってスワスに分解され、図２ａ〜図２ｃに従ってスワス内のレイヤに分解される。
【００３９】
プロセス４００は、開始ブロック４０５から開始する。
ブロック４１０において、パーソナルコンピュータ２２は、印刷される画像を受け取り、その画像をＮ個のスワスに分解する。
印刷される画像は、画像データ、ベクトルデータ、およびテキストデータを含むことができ、例えば、ベクトルデータおよびテキストデータは、画像データに重ね合わされる。
あるいは、ベクトルデータの一部もしくはすべて、および／または、テキストデータの一部もしくはすべては、画像データと重ならない画像領域に含ませることができる。
印刷される画像をＮ個のスワスに分解する際に、パーソナルコンピュータ２２は、プロセスブロック４１０を実行し、印刷される画像の高さを使用して、Ｎ個のスワスのそれぞれの「高さ」を求めることができる。
あるいは、パーソナルコンピュータ２２は、印刷される画像のデータ密度を求めることができ、印刷される画像を印刷できるプリンタの定格または既知のメモリ容量に従って、Ｎ個のスワスのそれぞれの「高さ」を調整することができる。
パーソナルコンピュータ２２は、例えば、画像のスキャンによるか、印刷される画像に付随したファイルからのデータ密度情報の読み出しによるか、または、それ以外の手段によって、データ密度を求めることができる。
パーソナルコンピュータは、スワスの「高さ」を設定する際に、Ｎ個のスワスのそれぞれの「高さ」を等しくする必要はない。
【００４０】
スワス選択ブロック４１５において、パーソナルコンピュータ２２は、印刷される画像の１番目のスワスから開始して、ｉ番目のスワスを選択する。
１番目のスワスは、通常、印刷される画像の最上部に位置するスワスとすることができる。
多重解像度符号化ブロック４２０において、パーソナルコンピュータ２２は、サブルーチン４２０を実行して、ｉ番目のスワスの背景画像データを周波数領域に変換する。
このような周波数符号化ルーチンについては、図８を参照して詳細に説明する。
【００４１】
データ送信ブロック４２５において、パーソナルコンピュータ２２は、ｉ番目のスワスに関連付けられた印刷データを、パーソナルコンピュータ２２に接続可能な１つまたは２つ以上のプリンタに転送する。
一実施の形態では、すべての解像度レイヤを構築した後に、ｉ番目のスワスに関連付けられた印刷データを転送することができる。
あるいは、１つの解像度レイヤごとにｉ番目のスワスに関連付けられた印刷データを一度に転送することができる。
ｉ番目のスワスが、１つの解像度レイヤのみを含む場合には、Ｎ個のスワスが作成されるとすぐに、ｉ番目のスワスに関連付けられた印刷データを転送することができる。
図９は、データ送信サブルーチン４２５をより詳細に示している。
【００４２】
カウンタインクリメントブロック４３０において、パーソナルコンピュータ２２は、カウンタをインクリメントして、スワス番号を１インクリメントずつ進める。
ブロック４３５において、パーソナルコンピュータ２２は、このようにインクリメントされたｉの値がＮに等しいかどうかを判断する。
これらの値が等しい場合には、プロセス４００は、ブロック４４０に進み、終了する。
そうでない場合には、プロセス４００は、ブロック４１５に戻り、次のスワスが選択される。
【００４３】
図７は、印刷される画像をスワスに分割するサブルーチン４１０を示すフローチャートである。
ブロック４１１において、パーソナルコンピュータ２２は、印刷される画像のサイズを決定する。
一実施の形態では、パーソナルコンピュータ２２は、印刷される画像が印刷媒体にレンダリングされた時に現れる、印刷される画像の全体の寸法（例えば、インチ単位の高さおよび幅）を決定する。
また、パーソナルコンピュータ２２は、印刷される画像のデータ密度（例えば、画像、ベクトルデータ、およびテキストデータのピクセル数）も求めることができる。
ブロック４１２において、パーソナルコンピュータ２２は、画像の印刷に指定されているいずれかのプリンタが、メモリ容量情報を提供しているかどうかを判断する。
メモリ容量情報が提供されている場合には、サブルーチン４１０は、ブロック４１３に進むことができ、その提供されているメモリ容量情報に基づいてスワスの「高さ」を選択することができる。
次いで、サブルーチン４１０は、終了し、処理は、多重解像度印刷のメインルーチン４００に戻る。
【００４４】
ブロック４１２において、メモリ容量情報が提供されていないとパーソナルコンピュータ２２が判断すると、処理は、ブロック４１４に進むことができ、あらかじめ定義されたルールに基づいて、スワスの「高さ」を選択することができる。
例えば、あらかじめ定義されたルールは、各スワスが、印刷される画像の１インチの縦の高さに対応する「高さ」を有すべきであることを指定することができる。
次いで、サブルーチン４１０は終了する。
【００４５】
上述したように、ブロック４１０において決定されたＮ個のスワスのそれぞれは、多数の解像度レイヤにさらに分解することができる。
あるいは、印刷される画像全体を多数の解像度レイヤに分解することができ、この場合には、スワスは構築されない。
【００４６】
図８は、画像全体のビットマップの符号化または画像の各スワスの符号化に使用可能な周波数符号化サブルーチン４２０を示している。
このサブルーチン４２０は、画像（または解像度レイヤもしくはスワス）を８×８ピクセルブロックに分割すること（ブロック４９０）により開始する。
ブロック４９２において、ＪＰＥＧ  ＤＣＴ符号化方式を使用することにより、８×８ピクセルブロックのそれぞれは、周波数領域に変換される。
次に、ブロック４９４において、変換された８×８ピクセルブロックのそれぞれは、ＪＰＥＧ標準量子化テーブルを使用して量子化される。
ブロック４９６において、量子化された周波数係数は、読み出され、画像データ源２０からの送信に備えて１次元配列にされる。
ブロック４９８において、この配列の変換係数は、所望の解像度レベルの個数に従ってパケット化される。
次いで、サブルーチン４２０は、ブロック４９９で終了し、処理は、ブロック４２５に戻る。
【００４７】
図９は、データ送信サブルーチン４２５を示すフローチャートである。
ブロック５００において、第１のレベルのヘッダデータが生成される。
このヘッダデータは、多重解像度フォーマットが続くことを指定し、第１の解像度レベル（すなわち解像度レイヤ１）を指定するデータを含む。
ブロック５０５において、第１のレベルの画像データが、パーソナルコンピュータ２２から送信される。
この第１のレベルの画像データは、第１のレベルの周波数係数を含む。
ブロック５１０において、ベクトルデータが、ベクトルフィールドで送信される。
ブロック５１５において、画像に追加されるあらゆるテキストを記述したテキストデータが、テキストデータフィールドで送信される。
ブロック５２０において、第２の解像度レベルの画像データ（すなわち周波数係数）が続くことを示す第２のレベルのヘッダデータが送信される。
ブロック５２５において、第１の解像度レベルの画像データよりも高解像度の第２の解像度レベルの画像データが送信される。
ブロック５３０において、第３の解像度レベルの画像データが続くことを示す第３のレベルのヘッダデータが送信される。
ブロック５３５において、第１のレベルまたは第２のレベルの画像データよりも高解像度の第３の解像度レベルの画像データが送信される。
最も高い解像度レベルの画像データが送信されるまで、後続のレベルの画像データが、それぞれヘッダデータが先行して送信される。
【００４８】
後続の解像度レベルの画像データは、原画像データから得ることができる最大解像度になるまで送信することができる。
したがって、このプロセスは、レベル１〜Ｍの画像データを送信することを通り、原画像データによって可能な最大解像度に到達すると停止する。
【００４９】
上述した実施の形態により、限られたメモリ領域を有するレンダリングデバイス上で、高解像度のベクトルデータおよびテキストデータのレンダリングが可能になり、このレンダリングデバイス上で、背景画像は、レンダリングデバイスの利用可能なメモリ容量またはデータ記憶容量によって制限を受ける解像度でレンダリングされる。
例えば、建築家の図面は、用地の航空写真と共に、この航空画像に重ね合わせるいくつかのテキストデータの他に、ベクトルデータで指定される建築図面を含む。
航空画像のレンダリングの解像度は、プリンタのメモリによって制限を受けることがあるが、建築図面およびテキストデータの解像度は、プリンタデバイスのメモリ容量によってもデータ記憶容量によっても制限を受けず、例えば、ＨＰＧＬ２ベクトルグラフィックス言語を使用して、常に、非常に高い解像度で印刷される。
【００５０】
より大きなメモリ容量および／またはデータ記憶容量を有する異なるプリンタまたはレンダリングデバイスに送信された同じ画像データファイルは、より高い解像度の背景画像データを提供することができ、より小さなメモリ容量／データ記憶容量のプリンタデバイスと同じ解像度でベクトルデータ情報およびテキストデータ情報を提供することができる。
【図面の簡単な説明】
【００５１】
【図１ａ】多重解像度レンダリングを使用するシステムを示す。
【図１ｂ】多重解像度レンダリングを使用するシステムを示す。
【図２ａ】低メモリレンダリングに使用される多重解像度符号化の概念モデルおよびプロセスを示す。
【図２ｂ】低メモリレンダリングに使用される多重解像度符号化の概念モデルおよびプロセスを示す。
【図２ｃ】低メモリレンダリングに使用される多重解像度符号化の概念モデルおよびプロセスを示す。
【図３ａ】画質とビットマップ転送との関係を示す。
【図３ｂ】画質とビットマップ転送との関係を示す。
【図３ｃ】画質とビットマップ転送との関係を示す。
【図４】低メモリレンダリングの代替的な手法を示す。
【図５】画像データファイルの概略図を示す。
【図６】低メモリレンダリングのプロセスを示すフローチャートを示す。
【図７】低メモリレンダリングのプロセスを示すフローチャートを示す。
【図８】低メモリレンダリングのプロセスを示すフローチャートを示す。
【図９】低メモリレンダリングのプロセスを示すフローチャートを示す。
【符号の説明】
【００５２】
７０・・・プリンタ、
７２，１０１・・・通信ポート、
７３・・・印刷メカニズム、
７４，１０３・・・プロセッサ、
７５，１０４・・・メモリ、
７６・・・印刷アプリケーション、
１０２・・・データ記憶、
１０５・・・ユーザインターフェース、
１０６・・・オペレーティングシステム、
１０７・・・プリンタドライバ、
１０８・・・グラフィックスアプリケーション、
【図１ａ】
2005508124.tif 000003
【図１ｂ】
2005508124.tif 000004
【図２ａ】
2005508124.tif 000005
【図２ｂ】
2005508124.tif 000006
【図２ｃ】
2005508124.tif 000007
【図３ａ】
2005508124.tif 000008
【図３ｂ】
2005508124.tif 000009
【図３ｃ】
2005508124.tif 000010
【図４】
2005508124.tif 000011
【図５】
2005508124.tif 000012
【図６】
2005508124.tif 000013
【図７】
2005508124.tif 000014
【図８】
2005508124.tif 000015
【図９】
2005508124.tif 000016
【国際公開パンフレット】
2005508124.tif 000017
2005508124.tif 000018
2005508124.tif 000019
2005508124.tif 000020
2005508124.tif 000021
2005508124.tif 000022
2005508124.tif 000023
2005508124.tif 000024
2005508124.tif 000025
2005508124.tif 000026
2005508124.tif 000027
2005508124.tif 000028
2005508124.tif 000029
2005508124.tif 000030
2005508124.tif 000031
2005508124.tif 000032
2005508124.tif 000033
2005508124.tif 000034
2005508124.tif 000035
2005508124.tif 000036
2005508124.tif 000037
2005508124.tif 000038
2005508124.tif 000039
2005508124.tif 000040
2005508124.tif 000041
2005508124.tif 000042
2005508124.tif 000043
2005508124.tif 000044
2005508124.tif 000045
【国際調査報告】
2005508124.tif 000046
2005508124.tif 000047
2005508124.tif 000048