説明

色データ圧縮のシステム及び方法

【課題】それぞれ個別の色平面に関連する複数の画像コンポーネントを有する少なくとも一つのビットマップ画像のデータサイズを縮小するシステム及び方法を提供する。
【解決手段】関連する画像コンポーネントのデータに基づく色平面の支配性順位を用いて、複数の色平面の順位を付ける。前記画像コンポーネントに関連する色平面の前記支配性順位に基づいて前記少なくとも一つの画像コンポーネントのデータサイズを縮小する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は印刷システムにおけるデータ圧縮に関し、特に、レーザプリンタにおける色データ圧縮のためのシステム及び方法に関する。
【背景技術】
【0002】
一般的な印刷システムは、所定の印刷速度でデータをページ上に印刷するように構成された様々な機械的及び電気的部分を制御するプリントエンジンを有しうる。プリントエンジンは通常プリントコントローラによって制御され、プリントコントローラはプリントデータ入力デバイス(例えばパーソナルコンピュータ)及びプリントエンジンを用いて通信し、印刷処理に関するタイミングやその他のパラメータを調整する。プリントコントローラは入力デバイスからデータ転送インターフェースを経由して適切な速度で印刷用の画像データを受信することができ、ラスタライズされた画像を生成することができ、これらを印刷のためにプリントエンジンへ送信しうる。
【0003】
レーザ印刷システム等のいくつかの印刷システムは、困難なリアルタイム要件を有するので、印刷ジョブが一旦開始されると、データは中断無く所定の速度でプリントエンジンに転送されなければならない。しかし、データ転送インターフェースの帯域幅は時々印刷速度を維持するのに十分ではないことがある。例えば、高解像度画像を含むページは画像圧縮後も大きいデータサイズを有しうる。このようなページが印刷速度で印刷データ入力デバイスからプリントコントローラに転送される場合、一定の時間にわたり画像データは帯域幅を超えることがある。その結果、物理的な印刷が始まる前に印刷用のページはプリントコントローラ及びプリントエンジンに完全に転送されず、結果的にデータのアンダーランが生じる。よって、当該ページは正しく印刷されないことがある。これにより、印刷システムの性能は大きく犠牲にされる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来プリンタコントローラは、印刷が開始される前にページ全体をバッファすることができるページバッファを有することがあった。これにより、印刷データ入力デバイスからプリントコントローラにどのように印刷データが転送されるかの柔軟性がいくらか与えられた。例えば、高解像度画像を含む印刷データのページ全体を格納するには、プリントコントローラはコード及びデータの両方の格納のために大量の追加のメモリを用いうる。これにより印刷システムに大幅なコストが追加されうる。また、一般に多くの既存のプリンタにはユーザがメモリを追加することができないので、追加のメモリを用いるアプローチではすでに売り出されているプリンタには役に立たない。よって、既存のプリンタにおいても実現可能な、プリントエンジンにおける追加のメモリの必要性を除去するための確実な印刷の解決策を提供するシステム及び方法が必要である。
【課題を解決するための手段】
【0005】
本発明によれば、それぞれ個別の色平面に関連する複数の画像コンポーネントを有する少なくとも一つのビットマップ画像のデータサイズを縮小するシステム及び方法が提供される。関連する画像コンポーネントのデータに基づく色平面の支配性順位を用いて、複数の色平面の順位を付けうる。前記画像コンポーネントに関連する色平面の前記支配性順位に基づいて前記少なくとも一つの画像コンポーネントのデータサイズを縮小しうる。
【0006】
また、本発明の実施例はコンピュータ読取可能な媒体又はコンピュータ読取可能なメモリを用いるプロセッサによって作成、格納、アクセス、又は修正されるソフトフェア、ファームウェア及びプログラム命令に関する。説明される方法は、コンピュータ及び/又は印刷装置上で実行することができる。
【0007】
本発明の付加的な特徴及び効果は、以下の記述において説明され、その一部は該記述より明らかであり、又は本発明の実施により理解されうる。本発明の目的及びその他の効果は、特に、添付されたクレームにおいて摘示される要素及び組合せによって実現され、達成される。当然のことながら、先の一般的記載及び後の詳細な説明は、例示的かつ説明的なもののみであり、請求の範囲に記載された発明を限定するものではない。これら及びその他の実施例について図面を参照しながら詳細に説明する。
【図面の簡単な説明】
【0008】
【図1】図1は、例示的なプリンタのブロック図を図示している。
【図2】図2は、色データ圧縮に関する、例示的なコンピュータと例示的なプリンタの間の例示的なデータフローを示すブロック図を図示している。
【図3】図3は、色データ解像度切替に関する例示的な動作処理のフローチャートを図示している。
【図4】図4は、色データ圧縮比切替に関する例示的な動作処理のフローチャートを図示している。
【図5a】図5aは、支配性順位を決定する第一の例示的な動作処理のフローチャートを図示している。
【図5b】図5bは、支配性順位を決定する第二の例示的な動作処理のフローチャートを図示している。
【発明を実施するための形態】
【0009】
ここで、添付の図面に図示される以下の様々な実施例について詳細に説明する。図面においては、可能な限り、同じ参照符号が同様又は類似の部分を参照する際に用いられる。
【0010】
図1は例示的コンピュータ200に連結された例示的プリンタ100のブロック図を図示している。いくつかの実施例においては、プリンタ100はレーザプリンタ、LEDプリンタ又はその他の本発明の理念と合致するプリンタでありうる。接続120はコンピュータ200とプリンタ100とを連結し、従来の通信プロトコル及び/又はデータポートインターフェースを用いた有線又は無線通信として実現しうる。一般に接続120はデバイス間のデータ通信を可能とするあらゆる通信チャンネルでありうる。ある実施例においては、例えば、適切な接続120を通じたデータ通信のため、デバイスにはUSB、ファイヤーワイヤー、及び/又はシリアルもしくはパラレルポート等の従来のデータポートが設けられうる。通信リンクは無線リンクもしくは有線リンク又はコンピューティングデバイス200とプリンタ100との間で通信を可能にする本発明の実施例に一致するあらゆる組合せでありうる。
【0011】
いくつかの実施例においては、接続120は所定のデータ転送周波数で動作し又はそうでなければ限られた帯域幅を有しうる。例えば、接続120は決定された周波数である480MHzで動作し、対応する最大の未加工帯域幅は60メガバイト/秒でありうる。いくつかの実施例においては、未加工データの最大の転送速度は、符号化及びプロトコルオーバーヘッドにより最大の未加工帯域幅より低くなりうる。いくつかの例示的プロトコルの下では、アイソクロナス方式の転送がサポートされて一定の帯域幅が予約されて対応する転送速度でのデータ配信が保証されうる。保証された転送速度が、プリントエンジンが画像データを消費する速度(つまり印刷速度)より遅い場合はデータのアンダーランがプリンタ100上で起こりうる。
【0012】
いくつかの実施例においては、接続120の帯域幅は複数のサブチャンネルに分割され、一定の帯域幅が各チャンネルについて確保されて、各チャンネルについて対応する転送速度でのデータ配信が保証されうる。データはパラレル方式で複数のサブチャンネルを経由して転送されうる。例えば、シアン(「C」)、マゼンタ(「M」)、イエロー(「Y」)、及びブラック(「K」)を用いるCMYKカラープリンタについては、印刷色データは四つの平面を有し、各色平面に関するデータは接続12の異なるサブチャンネルを経由して転送されうる。いくつかの実施例においては、同じ帯域幅が各サブチャンネルについて確保されうる。いくつかの実施例においては、様々な帯域幅が異なるサブチャンネルについて確保されうる。
【0013】
ある例示的な実施例においては、シリアルパイプを経由してデータを受信するインターフェースとしてUSBインターフェース102を用いうる。他のインターフェースを用いて、例えばファイヤーワイヤー又は無線等の他の形式の接続120を経由してデータを受信することが考えられる。USBインターフェース102によって受信されたデータは、プリンタ100の制御論理による判断に基づいて、データバス等の内部のデータ経路又はデータ及び制御信号経路を通じて内部を経由してプリンタ100の様々な内部機能モジュールへ送られうる。また、いくつかの実施例によれば、コンピュータ200によりプリンタ100へ送信されたデータはあて先アドレス及び/又はルーティングを容易にする命令をも含みうる。
【0014】
いくつかの実施例によれば、CPU103、メモリ104、制御ブロック105、RAMが取り付けられた伸張モジュール106、PWM論理モジュール107、及び駆動回路108はデータバスを用いて連結されうる。本発明のいくつかの実施例によれば、USBインターフェース102により受信されたデータは、CPU103の制御の下、メモリ104に置かれうる。また、伸張器106及びそれに取り付けられたRAMはPWM論理モジュール107に連結されうる。いくつかの実施例においては、伸張モジュール106は圧縮された画像データを受信し、受信した画像データを伸張し、伸張したデータをRAMに格納して、PWM論理モジュール107にデータを送信しうる。
【0015】
様々なデータ及び制御信号経路によって、PWM論理モジュール107、駆動回路108、プリントヘッド109、機械コントローラ123、ビーム検知センサ112、及び転写ベルト位置センサ125が連結されうる。いくつかの実施例においては、プリントヘッド109はレーザプリントヘッドでありうる。いくつかの実施例においては、ビーム検知センサ112は画像の各スキャンライン又は画像のスキャンラインのセットについてスキャン開始(SOS)又は「hsync」信号を生成し、生成された信号を機械コントローラ123に送り、続いて機械コントローラ123はPWM論理モジュール107へ信号を送る。
【0016】
駆動回路108はPWM論理モジュール107及びプリントヘッド109に通信可能に連結されうる。いくつかの実施例においては、スキャンミラー110は機械的又は電磁的にスキャンモータ111に連結され、これを用いてスキャンミラー110が回転されうる。プリントヘッド109からの各レーザビームはスキャンミラー110へ送られて、スキャンミラー110によってビームは異なる時点でビーム検知センサ112及び円柱レンズ、fシータレンズ、ガイドレンズ等を含みうる光学系システム113へ反射されうる。光学系システム113はレーザビームをスキャンミラー110から感光体ドラム114へ導きうる。ドラム帯電器116を用いて感光体ドラム114を帯電しうる。図面においてはスキャンミラー110、スキャンモータ111、及びビーム検知センサ112は1セットしか図示されていないが、それぞれのレーザビームにスキャンミラー110、スキャンモータ111、及びビーム検知センサ112を設け、合わせて4セット設けうる。この場合、各ビーム検知センサ112はSOS信号を生成する。
【0017】
いくつかの実施例においては、感光体ドラム114からの潜像が現像ステーション115においてトナーを用いて現像されてから、用紙175へ転写されうる。用紙175は給紙トレイ126から転写ローラ124を通じて転写ベルト117へ搬送され、そこで、現像ステーション115で現像されたトナー像が転写ベルト117上に重ねられ、用紙175へ転写されうる。画像が転写された後、用紙175は転写ローラ124を用いて用紙搬送路118上を搬送されて、定着器119、ガイドローラ121を通過して排紙トレイ122へ搬送されうる。いくつかの実施例においては、定着器119によって転写された画像の用紙175への定着が促進されうる。
【0018】
例示的実施例においては、プリンタ100はプリンタコントローラ180及びプリンタエンジン190を有しうる。プリンタコントローラ180は接続120を経由してコンピュータ200から受信した画像データを処理し、処理されたデータを印刷のために印刷エンジン190へ送信するのに構成しうる。プリンタ100のプリンタコントローラ180は他のものに加え、USBインターフェース102、CPU103、メモリ104、制御ブロック105、ランダムアクセスメモリ(「RAM」)が取り付けられた少なくとも一つの伸張モジュール106、少なくとも一つのパルス幅変調(「PWM」)論理モジュール107、及び少なくとも一つの駆動回路108を有しうる。プリンタ100の例示的なプリンタエンジン190はビーム検知センサ112、光学系システム113、現像ステーション115、感光体ドラム114、ドラム帯電器116、スキャンミラー110、スキャンモータ111及びプリントヘッド109を有しうる。上述の様々なモジュール及びサブシステムはハードウェア、ソフトウェア、もしくはファームウェア又はこれらの様々な組合せにより実現しうる。
【0019】
いくつかの実施例においては、コンピュータ200は画像データを接続120によってプリンタコントローラ180へ送信しうる。コンピュータ200から送信された画像データは圧縮しうる。いくつかの実施例においては、圧縮された画像データはラインシーケンス圧縮形式でありうる。USBインターフェース102により画像データが受信された後、画像データはCPU103の制御の下、メモリ104に置かれうる。いくつかの実施例においては、ページ全体の画像データがメモリ104に格納された場合、プリントシーケンスが開始されうる。いくつかの実施例においては、機械コントローラ123は適切なデータ及び/又は制御信号を通じてスキャンモータ110、感光体ドラム114、及び転写ベルト117の動作を開始しうる。
【0020】
ビーム検知センサ112はレーザビームの位置を検知して、プリンタコントローラ180に送られるパルス(SOS信号)を生成することができ、これによって、印刷画像において画像データをライン毎に適切に並べることができる。いくつかの実施例においては、画像の各ラインのスキャンの開始時において、プリントヘッド109からの光はスキャンミラー110によってビーム検知センサ112に反射されうる。ビーム検知センサ112は機械コントローラ123へ信号を送り、続いて機械コントローラ123はPWM論理モジュール107へSOS信号を送りうる。また、いくつかの実施例においては、転写ベルト位置センサ125から受信された情報に基づいて、一般にトップオブデータ(TOD)又は「vsync」と称される異なる信号が機械コントローラ123によって生成されうる。TODまたはvsync信号は用紙175について画像データ転送を開始することができる場合を示す。例えば、いくつかの実施例においては、TOD信号は機械コントローラ123を経由してPWM論理モジュール107へ送信されうる。一旦TOD信号が受信されると、CPU103はメモリ104から伸張モジュール106への転送を開始しうる。いくつかの実施例においては、伸張モジュール106は画像データを伸張し、結果として得られる未加工の画像データをPWM論理モジュール107へ渡しうる。PWM論理モジュール107から結果として得られるPWMパルスは次に駆動回路108へ流し、駆動回路108はPWMパルスをプリントヘッド109へ送信しうる。
【0021】
いくつかの実施例においては、プリントヘッド109からのレーザビームは変調されて、スキャンミラー110及び光学系システム113に反射されて、これによって感光体ドラム114上に帯電領域と放電領域の潜像が形成されうる。いくつかの実施例においては、現像ステーション115においてトナーによって当該潜像は現像され、当該トナー像は転写ベルト117へ転写される。カラー画像等の複数コンポーネント画像の場合は、潜像形成処理は各コンポーネントについて繰り返される。例えば、シアン(「C」)、マゼンタ(「M」)、イエロー(「Y」)、及びブラック(「K」)を用いるCMYKカラープリンタについては、感光体ドラム114上の潜像形成処理はC、M、Y及びKの各色について繰り返されうる。四色すべてのトナー像が転写ベルト117に形成された後に完全なトナー像が転写ローラ124においてページに転写される。
【0022】
いくつかの実施例において、すべてのコンポーネントが転写ベルト117に集められた後、用紙175が給紙トレイ126から転写ローラ124へ給紙され、そこでさらに用紙175に画像が転写されうる。次に定着器119によってトナーは用紙175へ定着され、用紙175はガイドローラ121を用いて排紙トレイ122へ搬送される。いくつかの実施例においては、用紙175へ画像が転写される速度(つまり印刷速度)は、転写ベルト117の回転速度によって決定されうる。例えば、一旦転写ベルト117についての回転速度が設定されると、印刷速度は一定となり、プリントエンジン190への画像データ転送のあらゆる遅延はビデオアンダーランを引き起こし、当該ページは適切に印刷されないことがある。
【0023】
ピクセルクロック生成モジュール(図示せず)は水晶発振器もしくはプログラム可能なクロック発振器又はその他の適切なクロック生成デバイスでありうる。いくつかの実施例においては、例えば順次連続的に各色の映像データを送信する「マルチパス」プリンタ100等の場合、ピクセルクロック生成モジュールによって生成されたクロックの周波数はプリンタの各パスによって固定されうる。例示的なマルチパスプリンタ100においては、ピクセルクロック生成モジュールは水晶発振器でありうる。他の実施例においては、時に「タンデムエンジン」と集合的に称される複数セットのプリンタエンジン190を用いるプリンタ100等の場合、各色コンポーネントに対応するピクセルクロックの間で周波数が異なるときには、各チャンネルの周波数は変調されうる。このような実施例においては、一以上のプログラム可能なクロック発振器を用いて変調を可能としうる。
【0024】
プリンタ100の例示的な実施例は、複数セットのプリンタエンジン190を駆動する駆動回路108を有し、これは複数のプリントヘッド109に接続されうる。いくつかの実施例においては、プリントヘッド109はすべてレーザプリントヘッドであることができる。また、プリンタコントローラ180の個別のモジュールが複数存在しうる。例えば、単独の伸張モジュール106は、複数のPWM論理モジュール107に接続され、各PWMモジュール107は一以上のピクセルクロック生成モジュール及び一以上の駆動回路108に接続されうる。伸張モジュール106及び取り付けられたRAMによって各PWM論理モジュール107に画像の一以上の色コンポーネントを提供し、これは次に複数の駆動回路108に送信されて、さらに一以上のセットのプリンタエンジン190に送信されうる。
【0025】
他の実施例においては、複数の伸張モジュール106が複数のPWM論理モジュール107に連結されうる。各伸張モジュール106は画像の伸張されたコンポーネントをPWM論理モジュール107に提供しうる。例えば、シアン(「C」)、マゼンタ(「M」)、イエロー(「Y」)、及びブラック(「K」)の画像コンポーネントを有する、CMYK色空間の複数コンポーネントの画像については、各個別の画像コンポーネントは各伸張モジュール106によって処理され、各対応するPWM論理モジュール107にパラレル方式で送られうる。
【0026】
いくつかの実施例においては、異なる画像コンポーネントに異なる圧縮アルゴリズムを用いることによって、最適な圧縮を達成しうる。例えば、単純代数的圧縮を用いてC、M及びKコンポーネントを圧縮し、JPEGを用いてYコンポーネントを圧縮しうる。いくつかの実施例においては、同じ圧縮アルゴリズムを、異なる画像コンポーネントについては異なる圧縮パラメータで用いることによって所望の圧縮比を達成しうる。例えば、JPEGのより低い圧縮比を用いてC、M、及びKコンポーネントを圧縮し、JPEGのより高い圧縮比を用いてYコンポーネントを圧縮しうる。いくつかの実施例においては、色データを圧縮するのに用いられる圧縮アルゴリズム及びパラメータに関する情報は、圧縮された色データとともに接続120を経由してプリンタ100に転送されうる。伸張モジュール106は次に各画像コンポーネントを適切な伸張アルゴリズムを用いて伸張しうる。
【0027】
いくつかの実施例においては、プリンタ100はレーザプリントヘッド109毎に複数のレーザを有しうる。いくつかの実施例においては、プリントヘッド109は複数ラインのデータを駆動回路108から受信し、複数ラインのデータをスキャンミラー110へ投影しうる。スキャンミラー110は次に複数ラインのデータをビーム検知センサ112及び光学系システム113へ反射させ、これらは複数ラインを感光体ドラム114へ反射させうる。いくつかの実施例においては、ビーム検知センサ112はスキャンミラー110から反射されたレーザ信号等の信号を検知し、又はスキャンミラー110から反射された複数の信号を検知しうる。
【0028】
プリンタ100に関する、上述のそれぞれの論理的又は機能的モジュールは、複数のモジュールを備えうる。モジュールは個別に実装され、又はこれらの機能は他のモジュールの機能と組み合わせられうる。さらに、各モジュールは個別のコンポーネントに実装され、又はモジュールはコンポーネントの組合せとして実装されうる。
【0029】
例示的コンピュータ200はコンピュータワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、又はプリンタ100と用いることができるその他のあらゆるコンピューティングデバイスであることができる。いくつかの実施例においては、例示的コンピュータ200は他のものに加え、プロセッサ280、メモリ281、及びUSBインターフェース282を有しうる。プロセッサ280は中央処理装置(「CPU」)でありうる。用いられるコンピュータ200の種類によって、プロセッサ280は一以上のプリント回路基板及び/又はマイクロプロセッサチップを有しうる。プロセッサ280はコンピュータプログラム命令のシーケンスを実行して、様々な処理を実行しうる。コンピュータプログラム命令はメモリ281又はその他の好適な記憶域にアクセスして読み出して、プロセッサ240によって実行することができる。メモリ281はあらゆる形式のダイナミックランダムアクセスメモリ(「DRAM」)であることができ、例えばSDRAM又はRDRAMが含まれるが、これらに限定されない。
【0030】
ある例示的な実施例においては、コンピュータ200はシリアルパイプを経由してデータを送信及び受信するインターフェースとしてUSBインターフェース282を有しうる。例えば、USBインターフェース282は、プロセッサ280と連結し、接続120を
経由して印刷すべきデータを受信し、プリンタ100へデータを送信しうる。また、例えばパラレルポート、ファイヤーワイヤー又は無線インターフェース等その他のインターフェースを用いてその他の種類の接続120を経由してデータを送信しうると考えられる。
【0031】
プリンタ100でのデータのアンダーランを防ぐため、プリンタ100の印刷速度より速い速度又は少なくとも同じ速度でコンピュータ200からプリンタ100へページ全体の画像データが転送することができる。コンピュータ200には色データ解像度切替アプリケーション及び/又は色データ圧縮比切替アプリケーション等の色データ圧縮アプリケーションが含まれ、カラー画像データは必要に応じてサイズが縮小されうるので、画像データ転送速度は接続120の帯域幅を超えることはない。いくつかの実施例においては、解像度切替アプリケーションはコンピュータ200上で動作しうる。色データ圧縮アプリケーションは、着脱可能なコンピュータ読取可能な媒体、例えばハードドライブ、コンピュータディスク、CD−ROM、DVD ROM、CD±RWもしくはDVD±RW、USBフラッシュドライブ、メモリスティック又はその他のあらゆる適切な媒体に格納しうると考えられる。
【0032】
図2は、開示される実施例に基づく、色データ圧縮に関する、例示的なコンピュータと例示的なプリンタの間の例示的なデータフローを示すブロック図を図示している。例示的な実施例においては、印刷ジョブはコンピュータ200上で動作するアプリケーション201によって開始されうる。例えば、アプリケーション210はグラフィックデバイスインターフェース(「GDI」)及びプリンタドライバ202を用いて、印刷ジョブの記述を生成しうる。記述は文字又は画像等の印刷すべき画像データ、並びに画像データを適切に印刷されたページに形成するフォーマット及び印刷命令を含みうる。いくつかの実施例においては、アプリケーション201はGDI及びプリンタドライバ202を用いて記述をメタデータの形式にフォーマットしてプリントスプールファイル210を生成しうる。
【0033】
画像データのサイズは、データに関連する色平面の数及び画像の解像度によって異なる。いくつかの実施例においては、画像データは複数の色平面に関連する複数のコンポーネントを含みうる。例えば、画像はCMYK色空間に存在し、シアン(「C」)、マゼンタ(「M」)、イエロー(「Y」)、及びブラック(「K」)の画像コンポーネントを含みうる。各画像コンポーネントは順次又は並列した方式で処理及び/又は転送されうる。いくつかの実施例においては、フォーマット及び印刷命令は作成されて、プリントスプールファイル210にヘッダとして格納されうる。いくつかの実施例においては、ヘッダファイルのサイズは印刷ジョブにわたって比較的一定しうる。
【0034】
いくつかの実施例においては、生成されたプリントスプールファイル210はコンピュータ200上のプリンタプロセッサ203に送信されうる。プリンタプロセッサ203は照合等のタスクをプリントスプールファイル210に実行してからプリントスプールファイル210を実行のための実行モジュール204へ送信しうる。いくつかの実施例においては、実行モジュール204はプリントスプールファイル210のGDI記述に基づいて、ラスタライザ205によってラスタライズ可能であるシンプルオブジェクトのリストを生成しうる。
【0035】
プリントスプールファイル210は次にラスタライザ205へ送信されうる。ラスタライザ205はプリントスプールファイル210の画像データをビットマップデータへ変換するように構成しうる。ラスタライザ205はさらにフレームバッファを有し、フレームバッファにはピクセルがプリンタ100によってどのように印刷媒体に印刷されるかに関する情報を含むことができる。ラスタライズされたビットマップデータはフレームバッファに格納されうる。いくつかの実施例においては、ラスタライザ205は画像データのサイズが比較的大きい場合は、ブロック毎に画像データを変換しうる。いくつかの実施例においては、コンピュータ200は色データを複数のビットマップにラスタライズするように構成された複数のラスタライザを有しうる。例えば、図2に示すように、ラスタライザ205はパラレル方式でC平面色データ220、M平面色データ230、Y平面色データ240及びK平面色データ250をラスタライズすることができる。いくつかの実施例においては、ラスタライザ205は個々の色平面に対応するサブラスタライザモジュールを有し、各サブラスタライザモジュールはそれぞれの色平面のデータに対して動作しうる。
【0036】
本明細書のある実施例によれば、ラスタライザ205はさらに支配性計算機215を有し画像に関する複数の色平面間の支配性順位を判断しうる。色平面は、その色平面の色データが印刷されたカラー画像に他の色平面のデータよりも大きく貢献している場合に画像に関して「支配的」であると判断することができる。いくつかの実施例においては、支配性は人間の視覚の感度に従って判断しうる。よって画像を見る際に、支配的な色はより強い感覚を視覚に呼び起こさせうる。例えば、印刷画像の表現において、より支配的な色平面はより支配的ではない色平面よりも濃度の高いデータを有しうる。他の例として、より支配的な色平面のデータはより支配的ではない色平面のデータよりも高い解像度を有しうる。
【0037】
支配性計算機215は様々なアルゴリズムを用いて他の色との関係である色の支配性を判断しうる。いくつかの実施例においては画像についての色平面間の支配性順位は各色平面のビットマップドットの数を数えて、計数に基づいて平面に順位を付けて判断しうる。例えば、ビットマップドットが最も低い数値を有する色は最も支配的ではない色と判断しうる。また、いくつかの他の実施例においては色平面間の支配性順位は、各色についてグラデーションヒストグラムを生成し、ヒストグラムの複雑性に基づいて各色に順位を付けることによって判断しうる。グラデーションヒストグラムは画像における色グラデーションの分布を示すヒストグラムチャートでありうる。例えば、ヒストグラムの複雑性は幅、ピークの数、及びヒストグラムのその他のパラメータによって影響されうる。画像については、最も単純なグラデーションヒストグラムを有する色平面が最も支配的ではない色平面と判断されうる。例えば、CMYKカラー画像についてはY平面が最も支配的ではない色平面と判断されうる。支配性計算機215はカラープレーン間の支配性順位を示す数字を各色平面に付与しうる。例えば、より支配的ではない色平面により小さい数字を付与しうる。
【0038】
本明細書のある実施例によれば、ラスタライザ205はさらに支配性順位が所定の順位閾値を下回る色平面を判断し、これらの画像についての画像データの二つのコンポーネントを演算するように構成しうる。いくつかの実施例においては、これらのコンポーネントは、これらの色平面の画像データについての低解像度化された画像コンポーネント及びデルタ画像コンポーネントに対応することができる。例えば、プリントスプールファイル201の特定の色平面の元の色データは600dpiの解像度を有しうる。ラスタライザ205は480dpiの解像度を有する低解像度化画像及びその平面の元の画像と低解像度化画像との間の差分に関する情報を表すデルタ画像を演算しうる。いくつかの実施例においては、デルタ画像は元の高い解像度の画像データの一部を含みうる。いくつかの実施例においては、元画像の低解像度化画像とともにデルタ画像を用いて、元のより高い解像度の画像を復元することができる。デルタ画像を演算するのに用いられた演算について逆計算を実行して、低解像度化画像及びデルタ画像から元の画像を再構築しうる。
【0039】
いくつかの実施例においては、一つの物理的な次元においてのみ解像度を減らしうる。例えば、解像度は画像データ転送速度が印刷速度に遅れずに維持されるように主走査方向(つまり用紙がプリンタに給紙される方向に垂直な方向)においてのみ減らしうる。例えば、用紙が長さ(縦)に沿ってプリンタに給紙される場合、解像度は横方向で減らしうる。いくつかの実施例においては、解像度は両方の次元(横及び縦)について減らしうる。例えば、ローパスフィルタ及びハイパスフィルタを元の画像に適用する等、様々な他のアルゴリズムを用いて低解像度化画像及びデルタ画像を演算しうる。
【0040】
ラスタライズされた画像データ(ビットマップデータ)はコンプレッサ206によって圧縮しうる。圧縮は画像データのサイズを縮小し、よって画像データ転送の際に接続120が必要とする帯域幅を減らしうる。いくつかの実施例においては、コンプレッサ206は、伸張モジュール106における伸張によって画像を完璧に再構築しうるように、例えばJBIG及びGIF圧縮等の可逆圧縮方法を用いうる。可逆圧縮が用いられる場合、圧縮及び伸張処理を通じて画像品質を維持することができる。しかし、可逆圧縮については高い圧縮比を必ずしも保証することができない。例えば、高解像度の細部を有する画像は必ずしもうまく圧縮されず、つまり時に圧縮画像のサイズは圧縮前の元の画像のサイズと同等となりうる。
【0041】
他のいくつかの実施例においては、コンプレッサ206は例えばJPEG及びウェーブレット圧縮等の不可逆圧縮方法を用いうる。不可逆圧縮を用いる場合、可逆圧縮より平均して高い圧縮比が得られるが、圧縮データから正確な元の画像の再構築は必ずしも実現されない。いくつかの実施例においては、また、コンプレッサ206は様々な圧縮アルゴリズムの組合せを用いるように構成しうる。また、例えば、コンプレッサ206は画像品質と圧縮比とのバランスを実現するため、可逆圧縮と不可逆圧縮の組合せを用いるように構成しうる。
【0042】
いくつかの実施例においては、コンピュータ200は色平面の色データを圧縮するように構成された、複数のコンプレッサを有しうる。例えば、図2に示すように、コンプレッサ206はC平面色データ220、M平面色データ230、Y平面色データ240、及びK平面色データ250をパラレル方式で圧縮するための四つのサブコンプレッサを有しうる。いくつかの実施例においては、同じ圧縮アルゴリズム及びパラメータがすべての色平面の色データに適用されうる。
【0043】
いくつかの実施例においては、異なる圧縮アルゴリズムが異なる画像コンポーネントに用いられて、最適な圧縮が実現されうる。例えば、単純代数的圧縮を用いてより高い支配性の色データを圧縮し、JPEGを用いてより低い支配性の色データを圧縮しうる。いくつかの実施例においては、同じ圧縮アルゴリズムが、異なる圧縮パラメータを用いてではあるが、異なる画像コンポーネントに用いて、所望の圧縮比を実現しうる。例えば、圧縮比はJPEG圧縮の量子化段階に用いられる除数においてよりアグレッシブにする又はよりアグレッシブではなくすることによって変えることができる。より高い圧縮比はより大きく画像品質に影響しうる。例えば、10対1の圧縮は通常、視覚上は元の画像との区別が付けられない画像が結果として得られるが、100対1の圧縮では元の画像とはほとんど類似性を有しないものとなりうる。ある実施例によれば、より低いJPEG圧縮比を用いてC、M及びK平面に対応するより高い支配性の色データを圧縮し、より高いJPEG圧縮比を用いてY平面に対応するより低い支配性の色データを圧縮しうる。いくつかの実施例においては、各色平面について演算された低解像度化画像及びデルタ画像はいずれもコンプレッサ206を用いて圧縮しうる。
【0044】
圧縮された色データはコンプレッサ206からデータサイズインスペクタ207へ渡しうる。データサイズインスペクタ207はすべてのビットマップ画像が接続120の帯域幅を越えることなく接続120上を送信することができるか判断するように構成しうる。いくつかの実施例においては、データサイズインスペクタ207は、プリンタコントローラ180のバッファのサイズ及び/又は解像度切替スキームの粒度によってブロック毎の判断を行いうる。例えば、最小の粒度については、ライン毎を基準に判断を行いうる。
【0045】
いくつかの実施例においては、データサイズインスペクタ207は元の画像データのブロックを調査し、当該ブロックに対応する各色平面の圧縮された色データの各部分の合計データサイズを判断しうる。データサイズインスペクタ207は次に合計データサイズをデータサイズ閾値と比較しうる。ある実施例によれば、データサイズ閾値はプリンタ100の印刷速度及び接続120の帯域幅に基づいて判断しうる。データサイズインスペクタ207はブロックがデータサイズ閾値よりも大きいデータサイズを有する場合、そのブロックにタグを付けうる。
【0046】
圧縮された色データはさらにデータサイズインスペクタ207からフォーマッタ208へ渡されうる。フォーマッタ208は一ページ全体をメモリに蓄積してからUSBインターフェース282へそれを渡してプリンタ100へ転送するように構成しうる。本明細書のある実施例によれば、フォーマッタ208はさらにデータサイズインスペクタ207から受信されたブロック画像にタグが付いているか調査するように構成されうる。あるブロックにタグが付いている場合、フォーマッタ208は一以上の色平面についてタグが付いたブロックに関連するデルタ画像の部分を削除しうる。いくつかの実施例においては、フォーマッタ208はまず始めにより支配的ではない色平面、つまり順位閾値よりも低い支配性順位を有する色平面に関するデルタ画像を削除しうる。
【0047】
写真等の極めて詳細な画像の途中での体裁の悪い解像度移行を避けるため、いくつかの実施例においては、フォーマッタ208はタグが付いたブロックから「安全移行」ブロックに達するまで非移行領域を拡げうる。非移行領域は解像度移行に適切ではない領域でありうる。例えば、非移行領域には画像の高解像度の細部又は画像のデータが集中した部分を含みうる。いくつかの実施例においては、非移行領域の各ブロックの解像度は減らすことができる。安全移行ブロックは画像解像度を減少しても、画像の視覚上の品質に影響しない程度の比較的低解像度画像情報を含み、よって、解像度移行は視覚上気付かないものとなりうる。例えば、余白(空白)又はベタ一色のみの領域は解像度移行に適切でありうる。
【0048】
非移行領域には少なくとも一つの画像ブロックが含まれうる。例えば、タグが付いたブロックは隣接したブロックのセットとともに含まれうる。いくつかの実施例においては、フォーマッタ208は非移行領域の一辺に隣接するブロックが安全移行ブロックではない場合に隣接するブロックを含めて非移行領域を拡げるように構成しうる。一旦安全移行ブロックが領域の両端に到達すると、フォーマッタ208は領域を拡げるのを止め、非移行領域全体と関連するデルタ画像の部分を削除しうる。
【0049】
タグが付いておらず、タグが付いたブロックから拡げられた領域に含まれていないブロックについては、フォーマッタ208は圧縮された低解像度化画像及び圧縮されたデルタ画像の対応する部分に基づいてブロックを再構築しうる。フォーマッタ208は次に一つの画像全体をメモリにバッファし、バッファされた画像は減少された解像度のブロックと元の解像度のブロックを含みうる。フォーマッタ208は蓄積された画像全体をUSBインターフェース282へ提供しうる。
【0050】
コンピュータ200のUSBインターフェース282は圧縮された形式でバッファされた画像データを、接続120を経由してプリンタ100のUSBインターフェース102へ転送しうる。また、いくつかの実施例においては、バッファされた画像とともに、USBインターフェース282はコンプレッサ206によって色データを圧縮するのに用いられる圧縮アルゴリズム及びパラメータに関する情報を、接続120を経由してプリンタ100のUSBインターフェース102へ転送しうる。当該情報はプリンタ100の伸張ユニット106によって後段に用いられうる。いくつかの実施例においては、アイソクロナス方式の転送がサポートされて各C/M/Y/K画像コンポーネントについて一定の帯域幅が予約されて、対応する転送速度でのデータ配信が保証されうる。いくつかの実施例においては、同じ帯域幅が各サブチャンネルについて確保されうる。他のいくつかの実施例においては、様々な帯域幅が異なるサブチャンネルについて確保されうる。
【0051】
いくつかの実施例においては、圧縮された画像データは、コンプレッサ206に用いられた圧縮アルゴリズムに対応する伸張アルゴリズムを用いて伸張モジュール106によって伸張しうる。例えば、コンプレッサ206によってJBIG圧縮が用いられている場合、JBIG伸張が伸張モジュール106によって用いられうる。コンプレッサ206によって不可逆圧縮が用いられている場合、伸張によってプリントスプールファイル210にあるような画像データを正確に再構築しないことがある。いくつかの実施例においては、コンプレッサ206においては、異なる圧縮アルゴリズム又は同じ圧縮アルゴリズムで異なる圧縮パラメータを異なる画像コンポーネントに用いて、所望の圧縮比を実現しうる。よって、伸張モジュール106は、コンプレッサ206によって用いられたアルゴリズム及び/又はパラメータに基づいて、各画像コンポーネントを伸張しうる。
【0052】
いくつかの実施例においては、伸張モジュール106は伸張された画像データをPWM論理モジュール107へ渡しうる。PWM論理モジュール107から結果として得られるPWMパルスは次に駆動回路108へ流し、続いて駆動回路108はPWMパルスをプリントヘッド109へ送信しうる。いくつかの実施例においては、画像はブロックごとに伸張されうる。本明細書に後述する実施例によれば、伸張された画像データの各ブロックは異なる解像度を有しうる。例えば、後述の例示的な実施例に示されるように、ブロックは480dpiの解像度を有し、他のブロックは600dpiの解像度を有しうる。よって、いくつかの実施例においては、PWM論理モジュール107は、自動的にブロック毎に高解像度モード(600dpi駆動のため)又は低解像度モード(480dpi駆動のため)のいずれかの間で動的に切り替えられるように構築しうる。あらゆる従来の方法又は機構を採用してPWM論理モジュールの動作モードを切り替えうる。
【0053】
図3は、開示された実施例に基づく、色データ解像度切替に関する例示的な動作処理のフローチャートを図示している。図3で示されるアルゴリズムは、当該デバイスに適切な変更と本明細書に開示される実施例に一致する態様で、例えばコピー機や複合機などの様々な他の種類の印刷システムに適用しうる。図3で示されるアルゴリズムはさらに様々なソフトウェアアプリケーションと連動して用いて解像度切替を実行しうる。
【0054】
処理30はコンピュータ処理ステージ31及びプリンタ処理ステージ32を有しうる。コンピュータ処理ステージ31はステップ301〜310を含みうる。ステップ301において、画像データを受信しうる。例えば、アプリケーション201は印刷画像データ及び印刷命令を含むプリントスプールファイル210を生成し、プリントスプールファイル210はアプリケーション201からプリンタプロセッサ203に受信されうる。元の画像データは、ドット/インチ(「dpi」)によって示される元の解像度Aを有しうる(例えば、A=600dpi)。いくつかの実施例によれば、画像データは複数の色平面と関連する複数のコンポーネントを有しうる。
【0055】
ステップ302において、画像データに基づいて、色平面間の支配性順位を判断しうる。例えば、支配性計算機215を任意に用いて支配性順位を判断しうる。いくつかの実施例においては、支配性順位は各色についてビットマップドットの数を数えて、その数に基づいて各色に順位を付けることによって判断しうる。また、いくつかの実施例においては、色平面間の支配性順位は各色についてグラデーションヒストグラムを生成し、ヒストグラムの複雑性に基づいて各色に順位を付けることによって判断しうる。例として、コンピュータ200はシアン平面、マゼンタ平面、イエロー平面、及びブラック平面を有するCMYK色空間を用いており、イエロー平面が最も支配的ではない平面と判断されうる。いくつかの実施例においては、支配性順位はプリンタ100についてあらかじめ決定されて設定され、ステップ302は省略しうる。例えば、CMYK色空間を用いるプリンタ100についてはイエロー平面を最も支配的ではない色平面と設定しうる。
【0056】
いくつかの実施例においては、各色に支配性順位を示す数字を付与して各色の極性の間の支配性順位を示しうる。例えば、より低い順位をより支配的ではない色に付与しうる。例えば、支配性順位1を有する平面は最も支配的ではないものでありうる。いくつかの実施例においては、支配性順位は1〜Nにわたる整数であることができ、Nは色平面の数である。説明の目的上、より高い支配性順位を有する平面はより低い支配性順位を有する平面よりも支配的とし、支配性順位は1と色平面の数との間の整数であるとする。よって、四次元色空間においては、支配性順位2を有する色平面は支配性順位1を有する色平面よりも支配的であり、支配性順位4を有する色平面は最も支配的である。当業者には明らかなように、異なるスキームを用いて支配性順位を判断する場合はアルゴリズムを容易に変更しうる。
【0057】
ステップ303において、最初又は次の色平面が処理されうる。ステップ304において、アルゴリズムは現在の色平面の支配性順位が所定の順位閾値を超えるか判断しうる。いくつかの実施例においては、順位閾値はプリンタ100の印刷速度及び接続120の帯域幅に基づいて判断しうる。例えば、接続120の帯域幅が印刷データのサイズと比較して大きい場合には、順位閾値をより低く設定しうる。いくつかの実施例においては、順位閾値は最も支配性が高い色に対応する支配性順位よりも高く設定して、順位閾値がいずれの色平面によって超えられないようにしうる。
【0058】
現在の色平面の支配性順位が順位閾値を越えない場合は、次にステップ305において、現在の色平面データについて低解像度化画像及び対応するデルタ画像を演算しうる。例えば、ラスタライザ205は、現在の平面の画像データについてのより低い解像度画像及びデルタ画像を演算しうる。例えば、480dpiの解像度を有する低解像度化画像は600dpiの解像度を有する元の画像から演算しうる。対応するデルタ画像も同時に演算しうる。デルタ画像は元の画像と低解像度化画像との間の差についての情報を表現しうる。デルタ画像の演算について逆計算を実行して低解像度化画像及びデルタ画像から元の画像を再構築しうる。
【0059】
ステップ305において低解像度化画像及びデルタ画像を演算すると、ステップ306において両方の画像は圧縮されうる。例えば、各画像はコンプレッサ206によって圧縮されうる。圧縮は画像のサイズをさらに縮小しうる。例えば、コンプレッサ206は伸張によって画像が正確に再構築されうるように可逆圧縮方法を用いうる。いくつかの実施例においては高解像度の細部を有する画像は十分に圧縮されず、よって、画像のデータサイズは圧縮後に十分に縮小されていないことがある。
【0060】
ステップ307において、アルゴリズムは両方の画像が接続120の帯域幅を超えることなく接続120上を送信することができるか判断しうる。いくつかの実施例においては、圧縮された低解像度化画像及びデルタ画像の合計データサイズを判断しうる。合計データサイズはある所定のデータサイズ閾値と比較しうる。ある実施例によれば、データサイズ閾値はプリンタ100の印刷速度及び接続120の帯域幅に基づいて判断しうる。
【0061】
ステップ308において、合計データサイズがデータサイズ閾値を超える場合、現在の平面に対応するデルタ画像は削除され、現在の平面は解像度減少フラグがタグとして付けられうる。デルタ画像の削除によって現在の平面の色データの解像度は、例えば600dpiから480dpiへ減少しうる。同時に、デルタ画像の削除によって、現在の平面と関連する色データのサイズは減少しうる。いくつかの実施例においては、解像度減少フラグは現在の平面に対応するデルタ画像が削除されたことを示しうる。
【0062】
いくつかの実施例においては、ステップ307における判断はブロック毎を基準に行われうる。例えば、画像はブロックに分割されうる。最小の粒度については、ブロックは画像の個別のラインでありうる。例えば、ライン毎を基準に判断し、圧縮された低解像度化画像の各ライン及び圧縮されたデルタ画像の各ラインの合計ピクセル数をデータサイズインスペクタ207によって判断しうる。
【0063】
よって、ステップ308における、デルタ画像の削除もまたブロック毎を基準に実行しうる。例えば、圧縮されたブロックの合計データサイズがデータサイズ閾値を超える場合、ブロックに対応するデルタ画像は削除されうる。いくつかの実施例においては、アルゴリズムはブロックに基づいて非移行領域を拡げ、その非移行領域の対応するデルタ画像ブロックをすべて削除しうる。例えば、非移行領域は解像度を減少したブロックを含む画像の少なくとも一つのブロック及び、いくつかの前のブロックを含みうる。いくつかの実施例においては、非移行領域を拡げている辺に隣接するブロックが安全移行ブロックではない場合、当該隣接するブロックを非移行領域に含めて拡げうる。非移行領域は解像度移行に適しない領域でありうる。例えば、非移行領域は、画像の高解像度の細部又は画像のデータが集中している部分を含みうる。一旦安全移行ブロックに到達すると、領域拡大は停止し、拡げられた領域全体に関連するデルタ画像の部分は削除されうる。よって、現在の平面の色データの解像度は、デルタ画像の解像度に基づいて、解像度Aから解像度Bへと減少しうる。
【0064】
ステップ309において、アルゴリズムは現在の平面についてスキャンラインの数Nを設定しうる。スキャンライン数は解像度Bに基づいて選択しうる。例えば、より高い解像度Bについてはより大きいスキャンライン数を用いうる。いくつかの実施例においては、ビーム検知センサ112は、画像のスキャンラインについて、スキャン開始(SOS)又は「hsync」信号を生成しうる。よって、SOS信号の数は解像度Bに比例し、Bが高い場合には印刷速度を減少しうる。
【0065】
ステップ307において、合計データサイズがデータサイズ閾値を超えない場合は、現在の平面の色データは帯域幅を超えず、解像度減少は必要なく、アルゴリズムはステップ311へ進みうる。
【0066】
ステップ304において、現在の色平面の支配性順位が順位閾値を越える場合、次にステップ310において、現在の平面の色データは圧縮されうる。よって、ステップ311において、アルゴリズムは現在の平面についてスキャンライン数Mを設定しうる。スキャンライン数は解像度Aに基づいて選択しうる。いくつかの実施例においては、解像度Aが解像度Bよりも高い場合、Mはステップ309で設定されたNよりも大きくなりうる。
【0067】
ステップ312において、すべての色平面がコンピュータによって処理されたか判断しうる。印刷画像の少なくとも一つの色平面がまだ処理されていないままである場合、アルゴリズムはステップ303へ戻り、次の色平面を処理しうる。アルゴリズムはすべての色平面がコンピュータによって処理されるまでステップ303〜312を繰り返すことができる。ステップ313において、すべての色平面の色データは圧縮された形式でプリンタへ転送しうる。例えば、色データはコンピュータ200から接続120を経由してプリンタ100へ転送しうる。いくつかの実施例においては、複数の色平面の色データは、パラレル方式で転送しうる。いくつかの実施例においては、ステップ313において、ステップ306及び310において色データを圧縮するのに用いられる圧縮アルゴリズム及びパラメータに関する情報は、圧縮された色データとともに接続120を経由してプリンタ100へ転送されうる。例えば、情報は圧縮された色データのヘッダとして含まれうる。
【0068】
いくつかの実施例においては、コンピュータ処理ステージ31はここで完了し、ステップ314においてプリンタ処理ステージ32が開始されうる。いくつかの実施例においては、プリンタ処理ステージ32はステップ314〜321を含みうる。ステップ314においては、すべての色平面の色データがプリンタ(例えばプリンタ100)によって受信されうる。ステップ315において、最初又は次の色平面が処理されうる。ステップ316において、アルゴリズムは現在の色平面について解像度減少フラグが設定されているか判断しうる。解像度減少フラグが設定されている場合、ステップ308において現在の色平面の色データの解像度が減少されたことを示す。
【0069】
ステップ317において、解像度Bに対応する現在の平面のプリントヘッドに関する主走査方向での印刷解像度が設定されうる。いくつかの実施例においては、プリンタ100はCMYK色空間を用いて、プリントヘッド109はC、M、Y、及びK平面に対応する四つのプリントヘッドを有し、各プリントヘッドについての解像度は個別に設定しうる。ステップ317において、減少された解像度Bが現在の色平面について設定されうる。例えば、Y平面のデータの解像度は減少されうる。解像度減少フラグが設定されていない場合、ステップ318において、現在の平面のプリントヘッドについて、印刷解像度Aを設定しうる。
【0070】
ステップ319において、現在の平面の色データは伸張されうる。例えば、現在の平面の色データは、ステップ306又はステップ310において用いられた圧縮アルゴリズム及びパラメータに対応する伸張アルゴリズム及びパラメータを用いて伸張ユニット106によって伸張しうる。例えば、ステップ306においてJBIG圧縮が用いられている場合、ステップ319においてJBIG伸張が用いられうる。いくつかの実施例においては、ステップ313において転送された印刷データのヘッダはステップ306又は310において用いられた圧縮の形式を示しうる。
【0071】
ステップ320において、プリントヘッドは駆動されて、現在の平面の色データを出力し、現在の平面のトナー画像を現像しうる。例えば、プリンタ100において、PWMパルスはPWM論理モジュール107から駆動回路108へ流されて、続いて駆動回路108からPWMパルスはプリントヘッド109へ送信されうる。いくつかの実施例においては、プリントヘッド109からのレーザビームは変調されてスキャンミラー110及び光学系113を反射されて、これによって感光体ドラム114上に帯電領域と放電領域の潜像が形成されて、現像ステーション115においてこの潜像に基づいてトナー画像が現像されうる。
【0072】
ステップ321において、すべての色平面がプリンタによって処理されたかについて判断しうる。印刷画像の少なくとも一つの色平面が処理されないままである場合、アルゴリズムはステップ315へ戻り、次の色平面を処理しうる。アルゴリズムはすべての色平面がプリンタによって処理されるまでステップ315〜321を繰り返すことができ、その後にプリンタ処理ステージ32は完了しうる。
【0073】
図4は、色データ圧縮比切替に関する例示的な処理40のフローチャートを図示している。図4で示されるアルゴリズムは当該デバイスに適切な変更と本明細書に開示される実施例に一致する態様で、例えばコピー機や複合機などの様々な他の種類の印刷システムに適用しうる。図4で示されるアルゴリズムはさらに様々なソフトウェアアプリケーションと連動して用いて色データのサイズを縮小しうる。例えば、これは図3で示されるアルゴリズムと連動して用いうる。
【0074】
処理40はコンピュータ処理ステージ41及びプリンタ処理ステージ42を含みうる。コンピュータ処理ステージ41はステップ401〜408を含みうる。ステップ401において、画像データを受信しうる。いくつかの実施例においては、画像データは複数の色平面に関する複数のコンポーネントを含みうる。ステップ402において、画像データに基づいて、例えば支配性計算機215によって各色平面間の支配性順位を決定しうる。支配性順位を決定する実施例は、図3における処理30のステップ302に関連して開示されたものに類似する。いくつかの実施例においては、アルゴリズムは支配性順位が処理40についてあらかじめ決定されて設定されている場合、ステップ402を省略しうる。例えば、イエロー平面を最も支配的ではない色平面と設定しうる。
【0075】
ステップ403において、最初又は次の色平面が処理されうる。ステップ404において、アルゴリズムは現在の色平面の支配性順位が所定の順位閾値を超えるかを判断しうる。いくつかの実施例においては、順位閾値はプリンタ100の印刷速度及び接続120の帯域幅に基づいて判断しうる。
【0076】
現在の色平面の支配性順位が順位閾値を越えない場合は、次にステップ405において、現在の平面の色データは圧縮比Xで圧縮されうる。様々な圧縮アルゴリズム及び/又は同じ圧縮アルゴリズムに用いられる様々なパラメータセットの間で圧縮比は異なりうる。いくつかの実施例においては、コンピュータ200は複数の色平面の色データを圧縮するように構成された複数のコンプレッサを有しうる。例えば、コンプレッサ206は異なる圧縮比でC、M、Y、及びKデータを圧縮する四つのサブコンプレッサを有しうる。いくつかの実施例においては、より高い圧縮アルゴリズムを用いてより支配的ではない色データを圧縮し、所望の圧縮比を実現しうる。例えば、ステップ405においてJPEG等のより高度な圧縮アルゴリズムを現在の平面の色データに用いうる。
【0077】
いくつかの実施例においては、より支配的ではない色データに適用する圧縮アルゴリズムにより高い圧縮比に対応する圧縮パラメータを用いうる。例えば、ステップ405において、JPEG圧縮の量子化段階においてよりアグレッシブな除数を用いて現在の平面の色データを圧縮しうる。ある実施例によれば、CMYK色空間を用いるプリンタには、Y平面色データを圧縮するのにより高い圧縮比を用いうる。
【0078】
いくつかの実施例によれば、現在の平面の色データはより低いビット深度を用いて圧縮しうる。例えば、元々4ビットを用いて表現された色データは2ビットに切り捨てうる。よって、色データのサイズは半分に縮小されうる(圧縮比2に等しい)。
【0079】
ステップ404において、現在の色平面の支配性順位が順位閾値を越える場合、次にステップ406において、現在の平面の色データは圧縮比Yで圧縮されうる。いくつかの実施例においては、圧縮比Yは圧縮比Xよりも低くなりうる。よって、より高い支配性順位を有する現在の平面の色データは、より少なく圧縮されうる。例えば、CMYK色空間を用いるプリンタにおいて、より低い圧縮比Yを用いてC、M及びK平面の色データを圧縮しうる。
【0080】
いくつかの実施例においては、より低い圧縮アルゴリズムを用いてより支配的な色データを圧縮しうる。例えば、ステップ406において、現在の平面の色データにはより単純な圧縮アルゴリズムを用いうる。いくつかの他の実施例においては、より低い圧縮比に対応する圧縮パラメータは、より支配的な色データに適用される圧縮アルゴリズムに用いうる。例えば、ステップ406において、JPEG圧縮の量子化段階においてよりアグレッシブではない除数を用いて現在の平面の色データを圧縮しうる。
【0081】
ステップ407において、すべての色平面がコンピュータによって処理されたかを判断しうる。印刷画像の少なくとも一つの色平面が処理されていないままである場合、アルゴリズムはステップ403へ戻り、次の色平面を処理しうる。アルゴリズムはすべての色平面がコンピュータによって処理されるまでステップ403〜407を繰り返しうる。ステップ408において、すべての色平面の色データは圧縮された形式でプリンタに転送しうる。例えば、色データはコンピュータ200から接続120を経由してプリンタ100へ転送しうる。いくつかの実施例においては、複数の色平面の色データはパラレル方式で転送しうる。いくつかの実施例においては、ステップ408において、ステップ405及び406において色データを圧縮するのに用いられる圧縮アルゴリズム及びパラメータに関する情報は、圧縮された色データとともに接続120を経由してプリンタ100へ転送されうる。例えば、情報は用いられる圧縮アルゴリズムの形式、これらの圧縮アルゴリズムに用いられるパラメータのセット、及び圧縮比を含みうる。情報は圧縮された色データのヘッダとして含まれうる。また、いくつかの実施例においては、ステップ402において決定された複数の色平面の支配性順位も圧縮された色データのヘッダに含めて、ステップ408においてコンピュータ200からプリンタ100へ転送しうる。
【0082】
いくつかの実施例においては、コンピュータ処理ステージ41はステップ408の後に完了し、ステップ409においてプリンタ処理ステージ42が開始されうる。いくつかの実施例においては、プリンタ処理ステージ42はステップ409〜415を含みうる。ステップ409において、すべての色平面についての色データがプリンタ(例えばプリンタ100)によって受信されうる。ステップ410において、最初又は次の色平面がプリンタによって処理されうる。ステップ411において、アルゴリズムは現在の色平面の支配性順位が所定の順位閾値を超えるかを判断しうる。
【0083】
現在の色平面の支配性順位が順位閾値を越えない場合は、これはステップ405において圧縮比Xが用いられていることを示す。よって、ステップ412において、現在の色平面の色データは伸張比1/Xで伸張されうる。例えばプリンタ100の伸張モジュール106は、現在の色平面についてステップ405においてコンプレッサ206に用いられた対応する圧縮アルゴリズム及び/又はパラメータに基づいて伸張アルゴリズム及び関連するパラメータを選択ししうる。例えば、ステップ405において圧縮比XでJPEG圧縮が用いられている場合、ステップ412において伸張比1/XでJPEG伸張が用いられうる。
【0084】
現在の色平面の支配性順位が順位閾値を超える場合、これはステップ406において圧縮比Yが用いられていることを示す。よって、ステップ413において、現在の色平面の色データは伸張比1/Yを用いて伸張しうる。例えば、ステップ406において圧縮比YでJBIG圧縮が用いられている場合、ステップ413において伸張比1/YでJBIG伸張が用いられうる。
【0085】
ステップ414において、プリントヘッドは駆動されて、現在の平面の色データを出力し、現在の平面のトナー画像を現像しうる。ステップ415において、すべての色平面がプリンタによって処理されたか判断しうる。印刷画像の少なくとも一つの色平面が処理されないままである場合、アルゴリズムはステップ410へ戻り、次の色平面を処理しうる。アルゴリズムはすべての色平面がプリンタによって処理されるまでステップ410〜415を繰り返すことができ、その後にプリンタ処理ステージ42は完了する。
【0086】
処理30のステップ302や処理40のステップ402等のように様々なアルゴリズムを用いて印刷画像の複数の色平面の間の支配性順位を判断しうる。例えば、図5において支配性計算機215によって実現しうる支配性順位を判断するための二つの例示的な処理が示されている。
【0087】
図5aは、支配性順位を決定する第一の例示的な動作処理51のフローチャートを図示している。例示的処理51において、色平面間の支配性順位は各色についてのビットマップドットの数を数えて、その数に基づいて各色の順位を付けることによって判断しうる。ステップ511において最初又は次の色平面について判断しうる。ステップ512において、現在の色平面の色データのビットマップドットの合計数を数えうる。ステップ513において、すべての色平面が検討され、ビットマップドットが数えられたか判断しうる。印刷画像の少なくとも一つの色平面が検討されていないままである場合には、アルゴリズムはすべての色平面が検討されるまで、ステップ511〜513を繰り返しうる。
【0088】
ステップ514において、複数の色平面はステップ513において数えられたビットマップドット数に基づいて順位を付けうる。例えば、色平面はドット数の大きい方から順に順位を付けうる。いくつかの実施例においては、各色に数字を付与して、他の色との関係で支配性順位を示しうる。例えばより小さい数字をより支配的ではない色に付与しうる。例えば、CMYK色空間におけるラスタライズされた画像においては四つの色平面すべての間で、Y平面が最も少ないビットマップドットを有しうる。よって、Y平面には最も低い支配性順位を付与し、すべての平面の間で、最も支配的ではない色平面であることを示しうる。
【0089】
図5bは、支配性順位を決定する第二の例示的な動作処理52のフローチャートを図示している。例示的処理52において、色平面間の支配性順位は複数の色平面に対応するグラデーションヒストグラムの複雑性に基づいて判断しうる。ステップ521において、最初又は次の色平面について判断しうる。ステップ522において、現在の色平面の色データについてのグラデーションヒストグラムを生成しうる。例えば、グラデーションヒストグラムは、コンピュータ200内の支配性計算機215のルーチンによって生成されうる。いくつかの実施例においては、グラデーションヒストグラムは色グラデーションの分布を示すヒストグラムチャートであり、ヒストグラムの複雑性は視覚がデータに敏感に反応する程度を示しうる。
【0090】
ステップ523において、現在の平面に関するグラデーションヒストグラムの複雑性を判断しうる。いくつかの実施例においては、幅、ピークの数等のヒストグラムのパラメータを用いて複雑性を示しうる。例えば、細いヒストグラムを有する色データはデータが現在の色平面のサブセットによって十分に表現されうることを示唆しうる。よって、より高い圧縮比を用いてデータを圧縮し及び/又はより低い解像度をデータに用いうる。ステップ524において、すべての色平面が検討され、ビットマップドットが数えられたか判断しうる。印刷画像の少なくとも一つの色平面が検討されていないままである場合には、アルゴリズムはすべての色平面が検討されるまで、ステップ521〜524を繰り返しうる。
【0091】
ステップ525において、複数の色平面は、ステップ523において決定されたヒストグラムの複雑性に基づいて順位を付けうる。例えば、色平面は複雑性の高い方から順に順位を付けうる。いくつかの実施例においては、各色に数字が付与され、他の色との関係で支配性順位を示しうる。例えば、より小さい数字をより単純なヒストグラムに関連する色平面に付与しうる。例えば、CMYK色空間におけるY平面色データが四つの平面の間で最も単純なグラデーションヒストグラムを有しうる。よって、Y平面には最も低い順位数を付与し、すべての平面の間で、最も支配的ではない色平面であることを示しうる。
【0092】
本発明のその他の実施例は、本明細書に開示される、詳細な説明の検討及び本発明の実施により当業者にとって明らかとなるであろう。いくつかの実施例においては、図3に示されるアルゴリズム及び図4に示されるアルゴリズムはプリンタに用いられる印刷画像及び色空間に従って、入れ替え、又は組み合わせうる。例えば、図3に示される例示的処理30は一以上の色平面においてより低い解像度情報を有する印刷画像に適用し、図4に示される例示的処理40は一以上の色平面においてまばらな色データを有する印刷画像に適用しうる。他の例としては、図4に示される例示的処理40はより低い支配性順位の色平面に適用し、図3に示される例示的処理30は比較的高い支配性順位の色平面に適用しうる。さらなる例としては、解像度切替及び圧縮比切替の両方がより低い支配性順位の色平面に適用されるような形で、図3に示される例示的処理30と図4に示される例示的処理40とを組み合わせうる。本明細書と実施例は、例示とすることのみを意図しており、本発明の真の範囲や意図は添付される請求項において示される。

【特許請求の範囲】
【請求項1】
それぞれ個別の色平面に関連する複数の画像コンポーネントを有する少なくとも一つのビットマップ画像のデータサイズを縮小する方法であって、
関連する画像コンポーネントのデータに基づく色平面の支配性順位を用いて、複数の色平面の順位を付けるステップと、
前記画像コンポーネントに関連する色平面の前記支配性順位に基づいて前記少なくとも一つの画像コンポーネントのデータサイズを縮小するステップと、
を備える方法。
【請求項2】
前記支配性順位を用いて前記複数の色平面に順位を付けるステップは、
前記画像コンポーネントの各々のビットマップドット数の計数を生成するステップと、
ビットマップドットの計数の昇順に前記画像コンポーネントを並べ替えるステップと、
前記色平面に関連する前記画像コンポーネントの順番に基づいて前記色平面に前記支配性順位を付与するステップと、
をさらに備える請求項1に記載の方法。
【請求項3】
前記支配性順位を用いて前記複数の色平面に順位を付けるステップは、
前記画像コンポーネントの各々のグラデーションヒストグラムを生成するステップと、
前記グラデーションヒストグラムの複雑性の昇順に前記画像コンポーネントを並べ替えるステップと、
前記色平面に関連する前記画像コンポーネントの順番に基づいて前記色平面に前記支配性順位を付与するステップと、
をさらに備える請求項1に記載の方法。
【請求項4】
少なくとも一つの前記画像コンポーネントの前記データサイズを縮小するステップは、対応する前記支配性順位が順位閾値より下である場合、前記少なくとも一つの画像コンポーネントの解像度を減少させるステップを備える請求項1に記載の方法。
【請求項5】
前記少なくとも一つの画像コンポーネントの解像度を減少させるステップは、
前記画像コンポーネントから低解像度化された画像及びデルタ画像を導き出すステップと、
前記低解像度化画像及び前記デルタ画像を圧縮するステップと、
圧縮された前記低解像度化画像のデータサイズ及び圧縮された前記デルタ画像のデータサイズの合計がデータサイズ閾値を超える場合、圧縮された前記デルタ画像を削除するステップと、
をさらに備える請求項4に記載の方法。
【請求項6】
前記少なくとも一つの色平面の前記画像コンポーネントの前記解像度に基づいて前記少なくとも一つの画像コンポーネントに関連する前記少なくとも一つの色平面の印刷解像度を設定するステップをさらに備える請求項4に記載の方法。
【請求項7】
前記少なくとも一つの色平面の前記画像コンポーネントの前記解像度に基づいて前記少なくとも一つの画像コンポーネントに関連する前記少なくとも一つの色平面の印刷速度を設定するステップをさらに備える請求項4に記載の方法。
【請求項8】
前記少なくとも一つの画像コンポーネントの前記データサイズを縮小するステップは、
対応する前記支配性順位が順位閾値より下である場合、前記少なくとも一つの画像コンポーネントについて第一ビット深度を用いるステップと、
対応する前記支配性順位が前記順位閾値より下ではない場合、前記少なくとも一つの画像コンポーネントについて第二ビット深度を用いるステップと、
を備え、
前記第一ビット深度は前記第二ビット深度よりも低い、
請求項1に記載の方法。
【請求項9】
前記少なくとも一つの画像コンポーネントの前記データサイズを縮小するステップは、
対応する前記支配性順位が順位閾値より下である場合、第一圧縮比で前記少なくとも一つの画像コンポーネントを圧縮するステップと、
対応する前記支配性順位が前記順位閾値より下ではない場合、第二圧縮比で前記少なくとも一つの画像コンポーネントを圧縮するステップと、
を備え、
前記第一圧縮比は前記第二圧縮比よりも高い、
請求項1に記載の方法。
【請求項10】
前記第一圧縮比は第一圧縮アルゴリズムを用いて実現され、前記第二圧縮比は第二圧縮アルゴリズムを用いて実現される請求項9に記載の方法。
【請求項11】
前記第一圧縮比は圧縮アルゴリズムのための圧縮パラメータの第一セットを用いて実現され、前記第二圧縮比は圧縮アルゴリズムのための圧縮パラメータの第二セットを用いて実現される請求項9に記載の方法。
【請求項12】
プロセッサによって命令が実行された場合、それぞれ個別の色平面に関連する複数の画像コンポーネントを有する少なくとも一つのビットマップ画像のデータサイズを縮小する方法を実行する命令を含むコンピュータ読取可能な媒体であって、当該方法は、
関連する画像コンポーネントのデータに基づく色平面の支配性順位を用いて、複数の色平面の順位を付けるステップと、
前記画像コンポーネントに関連する色平面の前記支配性順位に基づいて前記少なくとも一つの画像コンポーネントのデータサイズを縮小するステップと、
を備える。
【請求項13】
前記支配性順位を用いて前記複数の色平面に順位を付けるステップは、
前記画像コンポーネントの各々のビットマップドット数の計数を生成するステップと、
ビットマップドットの計数の昇順に前記画像コンポーネントを並べ替えるステップと、
前記色平面に関連する前記画像コンポーネントの順番に基づいて前記色平面に前記支配性順位を付与するステップと、
をさらに備える請求項12に記載のコンピュータ読取可能な媒体。
【請求項14】
前記支配性順位を用いて前記複数の色平面に順位を付けるステップは、
前記画像コンポーネントの各々のグラデーションヒストグラムを生成するステップと、
前記グラデーションヒストグラムの複雑性の昇順に前記画像コンポーネントを並べ替えるステップと、
前記色平面に関連する前記画像コンポーネントの順番に基づいて前記色平面に前記支配性順位を付与するステップと、
をさらに備える請求項12に記載のコンピュータ読取可能な媒体。
【請求項15】
少なくとも一つの前記画像コンポーネントの前記データサイズを縮小するステップは、対応する前記支配性順位が順位閾値より下である場合、前記少なくとも一つの画像コンポーネントの解像度を減少させるステップを備え、
前記少なくとも一つの画像コンポーネントの解像度を減少させるステップは、
前記画像コンポーネントから低解像度化された画像及びデルタ画像を導き出すステップと、
前記低解像度化画像及び前記デルタ画像を圧縮するステップと、
圧縮された前記低解像度化画像のデータサイズ及び圧縮された前記デルタ画像のデータサイズの合計がデータサイズ閾値を超える場合、圧縮された前記デルタ画像を削除するステップと、
をさらに備える請求項12に記載のコンピュータ読取可能な媒体。
【請求項16】
前記少なくとも一つの画像コンポーネントの前記データサイズを縮小するステップは、
対応する前記支配性順位が順位閾値より下である場合、前記少なくとも一つの画像コンポーネントについて第一ビット深度を用いるステップと、
対応する前記支配性順位が前記順位閾値より下ではない場合、前記少なくとも一つの画像コンポーネントについて第二ビット深度を用いるステップと、
を備え、
前記第一ビット深度は前記第二ビット深度よりも低い、
請求項12に記載のコンピュータ読取可能な媒体。
【請求項17】
前記少なくとも一つの画像コンポーネントの前記データサイズを縮小するステップは、
対応する前記支配性順位が順位閾値より下である場合、第一圧縮比で前記少なくとも一つの画像コンポーネントを圧縮するステップと、
対応する前記支配性順位が前記順位閾値より下ではない場合、第二圧縮比で前記少なくとも一つの画像コンポーネントを圧縮するステップと、
を備え、
前記第一圧縮比は前記第二圧縮比よりも高い、
請求項12に記載のコンピュータ読取可能な媒体。
【請求項18】
それぞれ個別の色平面に関連する複数の画像コンポーネントを有する少なくとも一つのビットマップ画像のデータサイズを縮小するシステムであって、
関連する画像コンポーネントのデータに基づく色平面の支配性順位を用いて、複数の色平面の順位を付けるように構成された支配性計算機と、
前記画像コンポーネントに関連する色平面の前記支配性順位に基づいて前記少なくとも一つの画像コンポーネントのデータサイズを縮小するように構成されたコンプレッサと、
を備えるシステム。
【請求項19】
前記画像コンポーネントから低解像度化された画像及びデルタ画像を導き出すラスタライザと、
前記低解像度化画像及び前記デルタ画像を圧縮した後に、圧縮された前記低解像度化画像のデータサイズ及び圧縮された前記デルタ画像のデータサイズの合計がデータサイズ閾値を超えるかを判断するように構成されたデータサイズインスペクタと、
前記合計が前記データサイズ閾値を超える場合、圧縮された前記デルタ画像を削除するように構成されたフォーマッタと、
をさらに備える請求項18に記載のシステム。
【請求項20】
前記コンプレッサは、
対応する前記支配性順位が順位閾値より下である場合、第一圧縮比で前記少なくとも一つの画像コンポーネントを圧縮するように構成された第一圧縮ユニットと、
対応する前記支配性順位が前記順位閾値より下ではない場合、第二圧縮比で前記少なくとも一つの画像コンポーネントを圧縮するように構成された第二圧縮ユニットと、
を備え、
前記第一圧縮比は前記第二圧縮比よりも高い、
請求項18に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5a】
image rotate

【図5b】
image rotate


【公開番号】特開2009−246952(P2009−246952A)
【公開日】平成21年10月22日(2009.10.22)
【国際特許分類】
【外国語出願】
【出願番号】特願2009−31159(P2009−31159)
【出願日】平成21年2月13日(2009.2.13)
【出願人】(507031918)コニカ ミノルタ システムズ ラボラトリー, インコーポレイテッド (157)
【Fターム(参考)】