(57)【要約】【課題】ブロックは複数の画像要素を含み、各々の画像要素は別個のカラープレーンと関連付けられており、少なくとも１つのブロックを含む、少なくとも１つのビットマップ画像のデータサイズを減少させるためのシステムおよび方法が提供される。【解決手段】  少なくとも一つのブロックを含む少なくとも一つのビットマップのデータサイズを減少させるシステムおよび方法が提供される。ここで、ブロックは複数の画像要素を含み、各々の画像要素が別個のカラープレーンと関連付けられている。当該方法は、画像要素のための圧縮率に基づく、画像要素のための支配性順位を使用して、複数の画像要素を順位付けするステップをさらに含む。当該方法は、画像要素と関連付けられたカラープレーンの支配性順位に基づいて、ブロックと関連付けられた少なくとも一つの画像要素の解像度を減少させるステップを、さらに含む。【選択図】図２
2009246950.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのブロックを含む少なくとも一つのビットマップのデータサイズを減少させる方法であって、ここで、前記ブロックは複数の画像要素を含み、各々の前記画像要素が別個のカラープレーンと関連付けられており、
少なくとも一つの前記ブロックの、前記複数の画像要素を圧縮するステップと、
前記画像要素のための圧縮率に基く、前記画像要素のための前記支配性順位を使用して、前記複数の画像要素を順位付けするステップと、
前記画像要素と関連付けられた前記カラープレーンの前記支配性順位に基づいて、前記ブロックと関連付けられた少なくとも一つの前記画像要素の解像度を減少させるステップと、
を含む、データサイズ減少方法。
【請求項２】
前記支配性順位を使用して前記複数の画像要素を順位付けするステップは、
前記各々の画像要素のための前記圧縮率を計算するステップと、
前記圧縮率の昇順に前記画像要素をソートするステップと、
前記カラープレーンと関連付けられた前記画像要素の順位に基づいて、前記カラープレーンへ前記支配性順位を割り当てるステップと、
をさらに含む、請求項１に記載のデータサイズ減少方法。
【請求項３】
前記各々の画像要素の圧縮率を計算する方法は、
圧縮されていない前記画像要素の第１のデータサイズを測定するステップと、
圧縮された前記画像要素の第２のデータサイズを測定するステップと、
前記第１のデータサイズを前記第２のデータサイズで割るステップと、
をさらに含む、請求項２に記載のデータサイズ減少方法。
【請求項４】
前記圧縮された画像要素の前記第２のデータサイズは、前記圧縮された画像要素内のピクセル数をカウントすることで得られる、請求項３に記載のデータサイズ減少方法。
【請求項５】
前記画像要素と関連付けられた支配性順位が支配性順位閾値を下回る場合、前記少なくとも一つの画像要素の前記解像度が減少される、請求項１〜請求項４のいずれか一項に記載のデータサイズ減少方法。
【請求項６】
少なくとも一つの画像要素の解像度を減少させるステップは、
前記画像要素から、低解像度化された画像およびデルタ画像を導出するステップと、
前記低解像度化された画像および前記デルタ画像を圧縮するステップと、
前記圧縮された低解像度化された画像のデータサイズおよび前記圧縮されたデルタ画像のデータサイズの合計が、前記支配性順位閾値を超える場合、前記圧縮された低解像度化された画像を保持するステップと、
をさらに含む、請求項１〜請求項５のいずれか一項に記載のデータサイズ減少方法。
【請求項７】
前記少なくとも一つのカラープレーンの前記画像要素の前記減少された解像度に基づいて、前記少なくとも一つの画像要素と関連付けられた前記少なくとも一つのカラープレーンのために印刷解像度を設定するステップをさらに含む、請求項１〜請求項６のいずれか一項に記載のデータサイズ減少方法。
【請求項８】
前記ブロックと関連付けられた、前記少なくとも一つの画像要素の解像度を減少させるステップは、
前記低解像度化された画像および前記デルタ画像を、前記画像要素から導出するステップと、
前記画像要素と関連付けられた前記カラープレーンにタグを付けるステップと、
非遷移領域は少なくとも一つの付加ブロックを含んでいて、安全遷移領域ブロックに達するまで、前記タグを付けられたカラープレーン内の前記非遷移領域を増長するステップと、
前記非遷移領域内の前記各々の画像要素の、圧縮された低解像度化された画像を保持するステップと、
をさらに含む、請求項１〜請求項７のいずれか一項に記載のデータサイズ減少方法。
【請求項９】
少なくとも一つのブロックを含む少なくとも一つのビットマップのデータサイズを減少させる方法を実行するための、プロセッサによって実行されるコンピュータプログラムであって、ここで、前記ブロックは複数の画像要素を含み、各々の前記画像要素が別個のカラープレーンと関連付けられており、
前記データサイズを減少させる方法は、
少なくとも一つの前記ブロックの、前記複数の画像要素を圧縮するステップと、
前記画像要素のための圧縮率に基づく、前記画像要素のための前記支配性順位を使用して、前記複数の画像要素を順位付けするステップと、
前記画像要素と関連付けられた前記カラープレーンの前記支配性順位に基づいて、前記ブロックと関連付けられた少なくとも一つの前記画像要素の解像度を減少させるステップと、
を含むコンピュータプログラム。
【請求項１０】
前記支配性順位を使用して前記複数の画像要素の順位付けするステップは、
前記各々の画像要素のための前記圧縮率を計算するステップと、
前記圧縮率の昇順に前記画像要素をソートするステップと、
前記カラープレーンと関連付けられた前記画像要素の順位に基づいて、前記カラープレーンへ支配性順位を割り当てるステップと、
をさらに含む、請求項９に記載のコンピュータプログラム。
【請求項１１】
前記各々の画像要素の圧縮率を計算する方法は、
圧縮されていない前記画像要素の第１のデータサイズを測定するステップと、
圧縮された前記画像要素の第２のデータサイズを測定するステップと、
前記第１のデータサイズを前記第２のデータサイズで割るステップと、
をさらに含む、請求項１０に記載のコンピュータプログラム。
【請求項１２】
前記圧縮された画像要素の前記第２のデータサイズは、前記圧縮された画像要素内のピクセル数をカウントすることで得られる、請求項１１に記載のコンピュータプログラム。
【請求項１３】
前記画像要素と関連付けられた支配性順位が支配性順位閾値を下回る場合、前記少なくとも一つの画像要素の前記解像度が減少される、請求項９〜請求項１２のいずれか一項に記載のコンピュータプログラム。
【請求項１４】
少なくとも一つの画像要素の解像度を減少させるステップは、
前記画像要素から、低解像度化された画像およびデルタ画像を導出するステップと、
前記低解像度化された画像および前記デルタ画像を圧縮するステップと、
前記圧縮された低解像度化された画像のデータサイズおよび前記圧縮されたデルタ画像のデータサイズの合計が、前記支配性順位閾値を超える場合、前記圧縮された低解像度化された画像を保持するステップと、
をさらに含む、請求項９〜請求項１３のいずれか一項に記載のコンピュータプログラム。
【請求項１５】
前記ブロックと関連付けられた、前記少なくとも一つの画像要素の解像度を減少させるステップは、
前記画像要素と関連付けられた前記カラープレーンにタグを付けるステップと、
非遷移領域は少なくとも一つの付加ブロックを含んでいて、安全遷移領域ブロックに達するまで、前記タグを付けられたカラープレーン内の前記非遷移領域を増長するステップと、
前記非遷移内の前記各々の画像要素の、圧縮された低解像度化された画像を保持するステップと、
をさらに含む、請求項９〜請求項１４のいずれか一項に記載のコンピュータプログラム。
【請求項１６】
請求項９〜請求項１５のいずれか一項のコンピュータプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【請求項１７】
プリンタへ接続されたコンピュータを含むシステムであって、ここで、コンピュータおよびプリンタは、少なくとも一つのブロックを含む少なくとも一つのビットマップのデータサイズを減少させる方法を実行し、前記ブロックは複数の画像要素を含み、各々の前記画像要素が別個のカラープレーンと関連付けられており、
前記システムは、
前記少なくとも一つのブロックの、前記複数の画像要素を圧縮するよう構成されたコンプレッサと、
前記画像要素のための圧縮率に基づく前記画像要素のための支配性順位を使用して、前記複数の画像要素を順位付けるよう構成された支配性計算機と、
前記画像要素と関連付けられたカラープレーンの前記支配性順位に基づいて、前記ブロックと関連付けられた少なくとも一つの画像要素の解像度を減少させるよう構成されたフォーマッタと、
を含むシステム。
【請求項１８】
前記複数の画像要素を順位付けするよう構成された前記支配性計算機は、
前記各々の画像要素のために圧縮率を計算して、
前記圧縮率の昇順に前記画像要素をソートして、
前記カラープレーンと関連付けられた前記画像要素の順位に基づいて前記カラープレーンへ支配性順位を割り当てる、
ようにさらに構成される、請求項１７に記載のシステム。
【請求項１９】
前記各々の画像要素のために圧縮率を計算するよう構成された前記支配性計算機は、
圧縮されていない前記画像要素の第１のデータサイズを計算して、
圧縮された前記画像要素の第２のデータサイズを計算して、
前記第１のデータサイズを前記第２のデータサイズで割る、
ようにさらに構成される、請求項１８に記載のシステム。
【請求項２０】
前記少なくとも一つの画像要素の解像度を減少させるように構成されるフォーマッタは、
前記画像要素から低解像度化された画像およびデルタ画像を導出して、
前記低解像度化された画像および前記デルタ画像を圧縮して、
前記圧縮された低解像度化された画像のデータサイズおよび前記圧縮されたデルタ画像のデータサイズの合計が、支配性順位閾値を超える場合、前記圧縮された低解像度化された画像を保持する、
ようにさらに構成される、請求項１７〜請求項１９のいずれか一項に記載のシステム。
【請求項２１】
前記少なくとも一つの画像要素と関連付けられた前記支配性順位が前記支配性順位閾値を超える場合、前記画像要素の前記解像度が減少される、請求項１７〜請求項１９のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリントシステムのためのデータ圧縮、特にレーザプリンタのカラーデータ圧縮のためのシステムと方法に関する。
【背景技術】
【０００２】
典型的なプリントシステムは、あらかじめ決められた印刷速度でページ上にデータをプリントするよう構成された、様々な機械的および電気的部品を制御するプリントエンジンを含む。プリントエンジンは、印刷プロセスに関連したタイミングとその他のパラメータを連係させるため、通常プリントデータ入力装置（たとえば、パソコン）およびプリントエンジンと通信するプリントコントローラによって制御される。プリントコントローラは、データ転送インタフェースを介して適切な速度で入力装置から画像データをプリントのために受信し、ラスタライズされた画像を生成でき、そしてその画像を印刷のためにプリントエンジンに送信できる。
【０００３】
一度プリントジョブが開始されたなら、中断されることなく同一の速度でプリントエンジンへのデータ転送ができるように、レーザプリンタシステムのようないくつかのプリントシステムには、厳格なリアルタイムの要請がある。しかし、データ転送インタフェースのバンド幅は、時に印刷速度を維持するのに十分ではない。たとえば、高解像度の画像を含むページは、画像圧縮の後でさえ大きなデータサイズを持っていることがある。そのようなページがある印刷速度でプリンタからプリントコントローラへ転送されている時、画像データはある時間中バンド幅を超えることがある。その結果、物理的なプリントがデータ・アンダーラン（ｄａｔａ  ｕｎｄｅｒ−ｒｕｎ）を引き起こす前に、プリント用のページがプリントコントローラとプリントエンジンに完全に転送されない可能性がある。結果として、ページは適切にプリントされない。よってプリントシステムの性能は大幅に妥協されることとなる。
【０００４】
従来、プリンタコントローラは、プリントが開始される前に全ページをバッファすることができるページバッファを持っていることもある。これは、プリントデータがプリントデータ入力装置からプリントコントローラにどのように転送されるかについて、多少の柔軟性がある。たとえば、高解像度の画像を含むプリントデータの全ページを保存するためには、プリントコントローラはコードとデータ保存の両方のために大量の増設メモリを使うだろう。これはプリントシステムへの大幅なコスト増となる。さらに、一般的に多くの既存のプリンタへはメモリ増設はできないので、増設メモリを使う方法は市場に既にあるプリンタには適用できない。ゆえに、既存のプリンタに実装できて、プリントエンジン内の増設メモリへの必要性を未然に防ぐことができる、信頼性あるプリント解決策を提供するシステムと方法への必要性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明によると、ブロックは複数の画像要素を含み、各々の画像要素は別個のカラープレーンと関連付けられており、少なくとも１つのブロックを含む、少なくとも１つのビットマップ画像のデータサイズを減少させるためのシステムおよび方法が提供される。
【課題を解決するための手段】
【０００６】
当該方法は、少なくとも１つのブロックの、複数の画像要素を圧縮するステップを含む。当該方法は、支配性順位を使用する、複数の画像要素を順位付けるステップをさらに含む。ここで、画像要素の支配性は、画像要素の圧縮率に基づく。当該方法はまた、画像要
素に関連付けられたカラープレーンの支配性順位に基づいて、ブロックに関連付けられた少なくとも１つの画像要素の解像度を減少させるステップも含む。
【０００７】
本開示の実施の形態はまた、ソフトウェア、ファームウェア、および、コンピュータによって読み取り可能な媒体またはメモリを使うプロセッサによって生成、保存、アクセス、変更されるプログラム命令に関連する。記述される方法はコンピュータおよび／またはプリントデバイスでも実行される。
【０００８】
さらなる目的と利点は続く記述中に部分的に述べられ、部分的には記述から明らかであり、または実行によって習得されうる。目的および利点は、添付のクレームに特に指摘される要素と組み合わせにより、理解され達成されるだろう。これまで述べられた一般的な記述および以下の詳細な記述は、典型的で説明的であるのみで、主張されるように、限定的に解釈されるべきではない。これらと他の実施の形態は、次の図に関連付けられて、さらに以下に説明する。
【図面の簡単な説明】
【０００９】
【図１】図１は、典型的なプリンタのブロック図を示す。
【図２】図２は、カラーデータ圧縮のための、典型的なコンピュータおよび典型的なプリンタ間の、典型的なデータフローを示す。
【図３Ａ】図３Ａは、カラーデータ解像度切替の典型的な動作プロセスのフローチャートである。
【図３Ｂ】図３Ａからの続きの、カラーデータ解像度切替の典型的な動作プロセスのフローチャートである。
【図４】図３Ａの支配性順位を決定するための典型的な動作プロセスのフローチャートを示す。
【発明を実施するための形態】
【００１０】
付随する図に示される様々な実施の形態の参照が、ここに詳細にされる。可能な限り、同一参照番号が同一か同様の部品を参照するよう、全ての図面を通して使用される。
【００１１】
図１は、典型的なコンピュータ２００に接続された、典型的なプリンタ１００のブロック図である。いくつかの実施形態においては、プリンタ１００は、レーザプリンタ、ＬＥＤプリンタ、またはその他本発明の原理と整合性のあるどのようなプリンタでもよい。接続１２０はコンピュータ２００とプリンタ１００を接続し、従来の通信プロトコルおよび／またはデータポートインタフェースを使用する有線、無線通信として実装されうる。一般的に、接続１２０は、デバイス間のデータ転送を可能とする、いかなる通信チャネルであってもよい。ある実施形態においては、デバイスとしては、従来のデータポート、たとえばＵＳＢ、ＦＩＲＥＷＩＲＥ（登録商標）、および／または、適切な接続１２０を通してのデータ転送のためのシリアルまたはパラレルのポートが提供される。通信リンクは、無線リンク、有線リンク、またはコンピュータデバイス２００とプリンタ１００との間の通信を可能とする本発明の実施の形態と整合性のあるいかなる組み合わせの通信でもよい。
【００１２】
いくつかの実施形態においては、接続１２０はあらかじめ決められたデータ転送周波数で動作でき、または限られたバンド幅を有する。たとえば、接続１２０は、４８０ＭＨｚの周波数で動作でき、対応する最大生バンド幅（ｍａｘｉｍｕｍ  ｒａｗ  ｂａｎｄｗｉｄｔｈ）は毎秒６０Ｍバイトでもよい。いくつかの実施形態においては、生データの最大転送速度は、エンコーディングとプロトコルオーバーヘッドに起因して、最大バンド幅より低いかもしれない。いくつかの典型的なプロトコルでは、一定量のバンド幅が保存されるように、および対応する転送速度でのデータ配送が保証されるように、転送の等時性（
ｉｓｏｃｈｒｏｎｏｕｓ）モードがサポートされる。保証された転送速度が、プリントエンジンが画像データを処理する速度（つまり、印刷速度）より低い場合、データ・アンダーラン（ｄａｔａ  ｕｎｄｅｒ−ｒｕｎ）がプリンタ１００で発生する。
【００１３】
いくつかの実施形態においては、接続１２０は複数のサブチャネルに分けられる。そして、バンド幅のある一定量は各々のチャネル用に保存されてもよく、対応する転送速度でのデータ配送が各々のチャネルのために保証される。データは複数のサブチャネルを介して並列に転送されてもよい。たとえば、シアン（「Ｃ」）、マゼンタ（「Ｍ」）、イエロー（「Ｙ」）、ブラック（「Ｂ」）を使うＣＭＹＫカラープリンタでは、プリントカラーデータは４つのプレーンを持ち、各々のカラープレーンのデータは、接続１２０の別個のサブチャネルを通して転送される。いくつかの実施形態においては、同じバンド幅が各々のサブチャネル用に確保される。いくつかの実施形態においては、様々なバンド幅が異なるサブチャネル用に確保される。
【００１４】
いくつかの実施形態においては、ＵＳＢインタフェース１０２は、シリアルパイプを介してデータを受信するためのインタフェースとして使用される。たとえば、ＦＩＲＥＷＩＲＥ（登録商標）や無線のような他種の接続１２０を介して、他のインタフェースがデータを受信するために使用されることが考えられる。プリンタ１００内の制御ロジックによって決定されるように、ＵＳＢインタフェース１０２によって受信されたデータは、プリンタ１００の様々な内部機能モジュールへ、データバスのような内部データパスまたはデータ・制御信号パスに沿って、内部的に送られる。いくつかの実施形態においては、コンピュータ２００によってプリンタ１００に転送されたデータはまた、ルーティングを容易にするために、目的アドレスおよび／またはコマンドを含む。
【００１５】
いくつかの実施形態においては、ＣＰＵ１０３、メモリ１０４、コントロールブロック１０５、ＲＡＭが増設された伸張モジュール１０６、ＰＷＭ論理モジュール１０７、およびドライバ回路１０８は、データバスを使用して連結される。本発明のいくつかの実施形態においては、ＵＳＢインタフェース１０２によって受信されたデータは、ＣＰＵ１０３の制御下でメモリ１０４に記憶される。伸張モジュール１０６および増設ＲＡＭはまた、ＰＷＭ論理モジュール１０７に連結される。いくつかの実施形態においては、伸張モジュール１０６は、圧縮された画像データを受信し、受信された画像データを伸張し、ＲＡＭに伸張されたデータを保存し、そしてＰＷＭ論理モジュール１０７にデータを送信する。
【００１６】
様々なデータおよび制御信号パスが、ＰＷＭ論理モジュール１０７、ドライバ回路１０８、プリントヘッド１０９、機械的コントローラ１２３、ビーム検知センサ１１２、および転写ベルト位置センサ１２５へ連結される。いくつかの実施形態においては、プリントヘッド１０９はレーザプリントヘッドである。いくつかの実施形態においては、ビーム検知センサ１１２は、画像中の各々の走査ラインまたは走査ラインのセットへの走査開始（ＳＯＳ）または「ｈｓｙｎｃ」信号を生成し、生成された信号を機械的コントローラ１２３へ送信する。そして、機械的コントローラ１２３は、その信号をＰＷＭ論理モジュール１０７へ送信する。
【００１７】
ドライバ回路１０８は、通信のためにＰＷＭ論理モジュール１０７およびプリントヘッド１０９へ連結される。いくつかの実施形態においては、走査ミラー１１０は、走査ミラー１１０を回転するために使用される走査モータ１１１へ機械的にまたは電磁気的に連結される。プリントヘッド１０９からの各々のレーザビームは走査ミラー１１０へ転写され、走査ミラー１１０は時間差をもって、そのビームをビーム検知センサ１１２と光学システム１１３へ反射する。光学システム１１３はシリンドリカルレンズ、ｆθレンズ、ガイドレンズ等を含む。光学システム１１３は、走査ミラー１１０から感光体ドラム１１４へレーザビームをガイドする。ドラムチャージャ１１６は、感光体ドラム１１４を帯電する
ために使用される。走査ミラー１１０、走査ミラー１１１、ビーム検知センサ１１２を含む１セットのみがこの図に示されているが、４セットの走査ミラー１１０、走査ミラー１１１、ビーム検知センサ１１２、および光学システム１１３があり、これらの４つのセットのそれぞれがレーザビームに対して提供される。この場合、各々のビーム検知センサ１１２は、ＳＯＳ信号を生成する。
【００１８】
いくつかの実施形態においては、感光ドラム１１４からの潜像は、用紙１７５へ転写される前に、現像ステーション１１５でトナーによって現像される。用紙１７５は、用紙入力トレイ１２６から転写ロール１２４を通して転写ベルト１１７へ渡される。転写ベルト１１７では、現像ステーション１１５で現像され、転写ベルト１１７上に蓄積されたトナー画像は、用紙１７５へ転写される。画像が転写された後、用紙１７５は、転写ロール１２４使って用紙パス１１８上を通り、定着器１１９とガイドローラ１２１を過ぎて、そして用紙出力トレイ１２２へと移動する。いくつかの実施形態においては、定着器１１９は転写された画像の用紙１７５への定着を促す。
【００１９】
典型的な実施形態においては、プリンタ１００はプリンタコントローラ１８０およびプリンタエンジン１９０を含む。プリンタコントローラ１８０は、接続１２０を介してコンピュータ２００から受信された画像データを処理し、そしてプリントのためにプリントエンジン１９０へ処理されたデータを送信するように構成される。プリンタ１００のプリンタコントローラ１８０は、とりわけ、ＵＳＢインタフェース１０２、ＣＰＵ１０３、メモリ１０４、制御ブロック１０５、ランダムアクセスメモリ（「ＲＡＭ」）が増設された少なくとも一つの伸張モジュール１０６、少なくとも一つのパルス幅変調（「ＰＷＭ」）論理モジュール１０７、および少なくとも一つのドライバ回路１０８を含む。プリンタ１００の典型的なプリントエンジン１９０は、ビーム検知センサ１１２、光学システム１１３、現像ステーション１１５、感光ドラム１１４、ドラムチャージャ１１６、走査ミラー１１０、走査モータ１１１、およびプリントヘッド１０９を含む。上述の様々なモジュールとサブシステムは、ハードウェア、ソフトウェア、ファームウェア、またはその様々な組み合わせで実装される。
【００２０】
いくつかの実施形態においては、コンピュータ２００は、接続１２０を介して画像データをプリンタコントローラ１８０へ送信する。コンピュータ２００から送信された画像データは、圧縮される。いくつかの実施形態においては、圧縮された画像データは行順圧縮フォーマット（ｌｉｎｅ−ｓｅｑｕｅｎｔｉａｌ  ｃｏｍｐｒｅｓｓｅｄ  ｆｏｒｍａｔ）である。ＵＳＢインタフェース１０２によって画像データが受信された後、画像データはＣＰＵ１０３の制御下、メモリ１０４へ保存される。いくつかの実施形態においては、完全なページのための画像データがメモリ１０４に保存された時、プリントシーケンスが開始する。いくつかの実施形態においては、機械的コントローラ１２３は、適切なデータおよび／または制御信号を通して、走査モータ１１０、感光体ドラム１１４、および転写ベルト１１７の動作を開始できる。
【００２１】
ビーム検知センサ１１２はレーザビームの位置を検知し、プリンタコントローラ１８０へ送信されるパルス（ＳＯＳシグナル）を生成できる。これは、印刷された画像内で画像データが、適切に行から行へ並べられるようにするためである。いくつかの実施形態においては、画像の各行の走査の始めにおいて、プリントヘッド１０９からの光は、走査ミラー１１０によってビーム検知センサ１１２上へ反射される。ビーム検知センサ１１２は機械的コントローラ１２３へ信号を送信し、コントローラ１２３が、それをうけてＰＷＭ論理モジュール１０７へＳＯＳシグナルを送信する。いくつかの実施形態においては、通常、データトップ（ＴＯＤ）または「ｖｓｙｎｃ」と呼ばれる別信号が、転写ベルト位置センサ１２５から受信された情報を基に、機械的コントローラ１２３によって生成される。ＴＯＤまたは「ｖｓｙｎｃ」信号は、いつ画像データ転送が用紙１７５のために始められ
るかを示す。たとえば、いくつかの実施形態においては、ＴＯＤ信号は機械的コントローラ１２３を経てＰＷＭ論理モジュール１０７へ送信される。一度ＴＯＤ信号が受信されると、ＣＰＵ１０３は伸張モジュール１０６への、メモリ１０４からの転送を開始する。いくつかの実施形態においては、伸張モジュール１０６は画像データを伸張し、その結果生じた生画像データをＰＷＭ論理モジュール１０７へ渡すことができる。その結果生じるＰＷＭ論理モジュール１０７からのＰＷＭパルスは、それからドライバ回路１０８へ流され、そしてプリントヘッド１０９へＰＷＭパルスを伝播する。
【００２２】
いくつかの実施形態においては、プリントヘッド１０９からのレーザビームは変調され、走査ミラー１１０と光学システム１１３へ反射される。このため、帯電されて放電される領域の潜像画像が感光ドラム１１４上に蓄積される。いくつかの実施形態においては、トナーは現像ステーション１１５でこの潜像を現像し、トナー画像が転写ベルト１１７へ転写される。カラー画像などマルチ要素を含む画像には、潜像確立（ｌａｔｅｎｔ  ｉｍａｇｅ  ｂｕｉｌｄｉｎｇ  ｐｒｏｃｅｓｓ）プロセスがそれぞれの要素について繰り返される。たとえば、シアン（「Ｃ」）、マゼンタ（「Ｍ」）、イエロー（「Ｙ」）、およびブラック（「Ｋ」）を使用するＣＭＹＫカラープリンタでは、感光体ドラム１１４上の潜像確立プロセスは、各々のカラーＣ、Ｍ、Ｙ、Ｋについて繰り返される。完全なトナー画像が転写ローラ１２４でページへ転写される前に、全４色トナー画像は、転写ベルト１１７上に蓄積される。
【００２３】
いくつかの実施形態においては、全ての要素が転写ベルト１１７上に集約されたとき、用紙１７５が用紙入力トレイ１２６から転写ロール１２４へ供給され、そこからさらに画像が用紙１７５へ転写される。定着器１１９はそれから、用紙１７５にトナーを固定し、そして用紙１７５はガイドローラ１２１を使用して用紙出力トレイ１２２に送られる。
いくつかの実施形態においては、画像が用紙１７５へ転写される速度（すなわち印刷速度）は、転写ベルト１１７の回転速度により決定されうる。たとえば、一度回転速度が転写ベルト１１７用にセットされると、印刷速度は一定になり、プリントエンジン１９０へのデータ転送のどのような遅れもビデオアンダーランを引き起こすこととなり、ページは適切に印刷されない。
【００２４】
ピクセルクロック生成モジュール（図示せず）は、水晶発振器またはプログラマブルクロックオシレータでも、その他の適切なクロック生成デバイスでも良い。いくつかの実施形態においては、連続的に順番に各々のカラーのビデオデータを送り出す「マルチパス」プリンタ１００では、ピクセルクロック生成モジュールにより生成されるクロックの周波数は、プリンタの各々のパスの中で修正される。マルチパスプリンタ１００の例では、ピクセルクロック生成モジュールは水晶発振器である。他の実施形態では、複数セットのプリンタエンジン１９０（「タンデムエンジン」とも呼ばれる）を使用するプリンタ１００のように、周波数が各々のカラー要素に対応するピクセルクロックの間で異なる場合、各々のチャンネルの周波数が較正（ｃａｌｉｂｒａｔｅ）される。このような実施形態においては、一つ以上のプログラマブルクロックオシレータが、較正を可能とするために用いられる。
【００２５】
プリンタ１００の典型的な実施形態は、プリンタエンジン１９０を駆動しているドライバ回路１０８を含み、そして、ドライバ回路１０８は複数のプリントヘッド１０９に接続される。いくつかの実施形態においては、プリントヘッド１０９は全てレーザプリントヘッドでもあってもよい。プリンタコントローラ１８０の複数の個々のモジュールがあってもよい。たとえば、単一の伸張モジュール１０６は、複数のＰＷＭロジックモジュール１０７と接続される。各々のＰＷＭモジュール１０７は、一つ以上のピクセルクロック生成モジュールおよび一つ以上のドライバ回路１０８に接続されている。伸張モジュール１０６および増設ＲＡＭは、各々のＰＷＭ論理モジュール１０７に画像の一つ以上のカラー要
素を提供できる。そして、その画像のカラー要素は、一つ以上のセットのプリンタエンジン１９０への前進転送のために、複数のドライバ回路１０８へ送信される。
【００２６】
他の実施形態においては、複数の伸張モジュール１０６は、複数のＰＷＭ論理モジュール１０７に接続される。各々の伸張モジュール１０６は、画像の伸張された要素をＰＷＭ論理モジュール１０７に渡す。たとえば、シアン（「Ｃ」）、マゼンタ（「Ｍ」）、イエロー（「Ｙ」）、および、ブラック（「Ｋ」）の画像要素を含むＣＭＹＫ色空間内のマルチ要素画像については、個々の画像要素が各々の伸張モジュール１０６により処理され、各々の対応するＰＷＭ論理モジュール１０７へ並列に送信される。
【００２７】
たとえば、単純な代数圧縮、ＪＢＩＧ、およびＪＰＥＧのような、様々な圧縮アルゴリズムが、最適な圧縮を達成するために使用される。ある特定の圧縮アルゴリズムに対して、様々な圧縮パラメータが、所望の圧縮率を得るために使用される。同じ圧縮アルゴリズムに対する異なる圧縮パラメータと同様に、ある画像へ適用される時、異なる圧縮アルゴリズムが、異なる圧縮率を生じる。一般的に、圧縮率は、圧縮されてないデータのデータサイズを、同じデータの圧縮された形式のデータサイズで割ることで得られる。
【００２８】
画像に対しては、圧縮率は、圧縮されてない画像データのデータサイズを、同じ画像の圧縮された形式のデータサイズで割ることで得られる。圧縮アルゴリズムおよび圧縮されるデータの本質に依存する圧縮率は、データ圧縮の程度の目安となる。高圧縮率は、データがより高い程度でデータが圧縮されたことを示唆する。
【００２９】
いくつかの実施形態においては、圧縮アルゴリズムに関連する情報およびカラーデータを圧縮するために使用されるパラメータは、圧縮されたカラーデータと共に、接続１２０を介してプリンタ１００へ転送される。それから伸張モジュール１０６は、適切な伸張アルゴリズムで各々の画像要素を伸張する。
【００３０】
いくつかの実施形態においては、プリンタ１００は、レーザプリントヘッド１０９ごとに複数のレーザを持つ。いくつかの実施形態においては、プリントヘッド１０９はドライバ回路１０８から複数行のデータを受信し、走査ミラー１１０へ複数行のデータを投射する。走査ミラー１１０は、それから、ビーム検出センサ１１２と光学システム１１３へ複数行のデータを反射し、そこから感光性体ドラム１１４に複数行のデータを反射する。いくつかの実施形態においては、ビーム検出センサ１１２は、たとえば走査ミラー１１０から反射されるレーザ信号のような信号を検出でき、または走査ミラー１１０から反射される複合信号を検出できる。
【００３１】
上述のプリンタ１００の論理的または機能的モジュールの各々は、複数モジュールを含む。モジュールは個々に実装されるか、またはそれらの機能は他のモジュールの機能と組み合わせられることもできる。さらに、各々のモジュールは個々の要素上に実装され、またモジュールは要素の組合せとして実装されることができる。
【００３２】
典型的なコンピュータ２００は、コンピュータワークステーション、テスクトップコンピュータ、ラップトップコンピュータ、またはプリンタ１００と使用されうるその他の計算機器である。いくつかの実施形態においては、典型的なコンピュータ２００は、とりわけ、プロセッサ２８０、メモリ２８１、ＵＳＢインタフェース２８２を含む。プロセッサ２８０は、中央演算処理装置（「ＣＰＵ」）である。使用されるコンピュータ２００のタイプによっては、プロセッサ２８０は、一つ以上のプリント回路基板および／またはマイクロプロセッサチップを含む。プロセッサ２８０は、様々な処理を実行するために、一連のコンピュータプログラム指令を実行する。コンピュータプログラム指令は、メモリ２８１からまたはその他のいかなる適切なメモリ箇所からアクセスおよび読み取られ、そして
プロセッサ２４０によって実行される。メモリ２８１は、どのようなタイプのダイナミックランダムアクセスメモリ（「ＤＲＡＭ」）でもよく、たとえばＳＤＲＡＭまたはＲＤＲＡＭがあるが、これに限られない。
【００３３】
ある実施の形態では、ＵＳＢインタフェース２８２は、シリアルパイプを介してデータを送受信するインタフェースとしてコンピュータ２００に含まれる。たとえば、ＵＳＢインタフェース２８２は、印刷されるデータを受信するためにプロセッサ２８０へ接続され、接続１２０を介してプリンタ１００へデータを送信する。たとえばパラレルポート、ＦＩＲＥＷＩＲＥ（登録商標）、または無線インタフェースのような、その他のインタフェースもまた、その他のタイプの接続１２０を通じてデータを送信するために使用することが考えられる。
【００３４】
データ・アンダーランをプリンタ１００上で防止するために、画像データの全ページは、プリンタ１００の印刷速度より速いか同等の速度で、コンピュータ２００からプリンタ１００へ転送される。ある実施形態においては、カラーデータ解像度切替アプリケーションのようなカラーデータ圧縮アルゴリズムは、コンピュータ２００に含まれる。画像データ転送率が利用可能なバンド幅を超えないよう保証する一方、画像データ転送率が接続１２０の利用可能なバンド幅を最適に使用できるように、カラー画像データのサイズを減少させる、カラーデータ圧縮アプリケーションが使用される。たとえば、カラーデータ圧縮アプリケーションは、１つ異常の画像要素の解像度が減少されるかどうかを決定するモジュールを含む。いくつかの実施形態においては、カラーデータ圧縮アプリケーションはコンピュータ２００上でも作動する。カラーデータ圧縮アプリケーションは、ハードディスク、コンピュータディスク、ＣＤ−ＲＯＭ、ＤＶＤ  ＲＯＭ、ＣＤ±ＤＷ、またはＤＶＤ±ＲＷ、ＵＳＢフラッシュドライブ、メモリスティック、またはその他適切な媒体のような、リムーバブルでありコンピュータで読み込み可能な媒体上に保存されうると考えられる。
【００３５】
開示される実施形態に従って、図２は、カラーデータ圧縮のための典型的なコンピュータと典型的なプリンタ間の、典型的なデータフローを示すブロック図を表す。典型的な実施の形態においては、プリントジョブはコンピュータ２００上で稼動するアプリケーション２０１によって開始される。
【００３６】
たとえば、アプリケーション２０１は、プリントジョブの記述を生成するグラフィックデバイスインタフェース（「ＧＤＩ」）とプリンタドライバ２０２を使用できる。記述は、文字や絵のような印刷される画像データ、および、画像データを適切に印刷されたページへ形成するフォーマットおよびプリント指令を含む。いくつかの実施形態においては、アプリケーション２０１は、メタデータの形式の記述をフォーマットし、プリントスプールファイル２１０を生成するために、ＧＤＩとプリントドライバ２０２を使用する。
【００３７】
画像データのサイズは、データおよび画像の解像度に関連付けられたカラープレーンの数に応じて変化する。いくつかの実施形態においては、画像データは、多色カラープレーンに関連付けられた複数の要素を含む。たとえば、画像はＣＭＹＫ色空間にあり、シアン（「Ｃ」）、マゼンタ（「Ｍ」）、イエロー（「Ｙ」）、ブラック（「Ｂ」）の画像要素を含む。各々の画像要素は、順次か並列に処理および／または転送される。いくつかの実施形態においては、フォーマットおよびプリント指令は、プリントスプールファイル２１０のヘッダファイルとして生成され保存される。いくつかの実施形態においては、ヘッダファイルのサイズはプリントジョブを通して相対的に一定である。
【００３８】
いくつかの実施形態においては、生成されたプリントスプールファイル２１０は、コンピュータ２００上のプリンタプロッセサ２０３へ送信される。プリンタプロセッサ２０３
は、プリントスプールファイル２１０を再生のために再生モジュール２０４へ送信する前に、プリントスプールファイル２１０上で照合などのタスクを実行する。いくつかの実施形態においては、再生モジュール２０４は、プリントスプールファイル２１０内のＧＤＩ記述に基づいて、ラスタライザ２０５によってラスタライズされうる単純な対象のリストを生成する。
【００３９】
プリントスプールファイル２１０は、それからラスタライザ２０５へ送信される。ラスタライザ２０５は、プリントスプールファイル２１０内の画像データをビットマップデータへ変換するよう構成される。ラスタライザ２０５はさらに、ピクセルがプリント媒体上でプリンタ１００によってどのように印刷されるかに関連する情報を含む。ラスタライズされたビットマップデータは、フレームバッファ内に保存される。いくつかの実施形態においては、画像データのサイズが比較的大きい場合、ラスタライザ２０５は画像データをブロック毎に変換する。カラー画像は、複数の画像ブロックを含む。画像ブロックは、複数の画像要素を含むことが可能である。各々の画像要素は、別個のカラープレーンに対して、画像データを表現できる。たとえば、画像ブロック用のシアン画像要素は、その画像ブロック用に全てのＣプレーンデータを含むことができる。
【００４０】
いくつかの実施形態においては、コンピュータ２００は複数のビットマップへカラーデータをラスタライズするよう構成された、複数のラスタライザを含む。たとえば、図２に示されるように、ラスタライザ２０５はＣプレーンカラーデータ２２０、Ｍプレーンカラーデータ２３０、Ｙプレーンカラーデータ２４０、Ｋプレーンカラーデータ２５０を並列にラスタライズできる。いくつかの実施形態においては、ラスタライザ２０５は、個々のカラープレーンに対応する、サブラスタライザモジュールを含む。それぞれのサブラスタライザは、その関連するカラープレーン内のデータ上で機能する。
【００４１】
本開示の一実施の形態と整合性して、ラスタライザ２０５は、画像に対する画像データの、２つの要素をさらに計算する。いくつかの実施形態においては、これらの要素は、カラープレーンの画像データのための、より低解像度な画像要素およびデルタ画像要素に相当する。たとえば、プリントスプールファイル２０１内の特定のカラープレーンの元のカラーデータは、解像度６００ｄｐｉである。ラスタライザ２０５は解像度４８０ｄｐｉである低解像度化された画像、および元の画像データと低解像度化された画像の差情報であるデルタ画像を計算する。いくつかの実施形態においては、デルタ画像は元の高解像度な画像データの部分を含む。いくつかの実施形態においては、デルタ画像は低解像度化された画像と共に使用される時は、元のより高解像度な画像を復旧するために使われる。デルタ画像を計算するために使われる計算式は、低解像度化画像およびデルタ画像から元の画像を再構築するために、数学的に逆算されうる。
【００４２】
いくつかの実施形態においては、解像度は一つの物理的な次元方向にのみ減少される。たとえば、解像度は一つの主走査方向のみに（すなわち、用紙がプリンタに供給される方向と垂直に）減少されうる。主走査方向に解像度を減少させることで、画像データが印刷速度についていけるようにできる。たとえば、用紙がプリンタの長辺に沿って（つまり垂直に）供給される場合、解像度は水平方向に減少される。いくつかの実施形態においては、解像度は両次元方向（水平および垂直）に減少される。たとえばローパスフィルタとハイパスフィルタを元の画像に適用するなどのように、様々なアルゴリズムが、低解像度化された画像を計算するために使用される。
【００４３】
ラスタライズされた画像データ（ビットマップ）は、コンプレッサ２０６によって圧縮される。圧縮は画像データのサイズを減少させ、ゆえに利用可能なバンド幅を使用しての、接続１２０を介する圧縮された画像データの転送を可能とする。いくつかの実施形態においては、コンプレッサ２０６は、たとえばＪＢＩＧやＧＩＦ圧縮のような、可逆圧縮法
を使用する。これは、伸張モジュール１０６での伸張による画質の損失がないように画像を再構築するためである。可逆圧縮法が使用される場合、圧縮および伸張処理を通して画質は保たれる。しかし、高圧縮率が常に可逆圧縮として保証されるわけではない。たとえば、高解像度の細目を含んでいる画像は、いつもうまく圧縮されることができるわけではない。すなわち、圧縮画像のサイズは、時には圧縮前の元の画像のサイズと同等であるかもしれない。
【００４４】
いくつかの実施形態においては、コンプレッサ２０６は非可逆圧縮法、たとえばＪＰＥＧおよびウェーブレット圧縮、を使用できる。非可逆圧縮法によると、可逆変換にくらべて平均して高い圧縮率をもたらしうるが、圧縮データから元の画像の正確な再構築が常に達成されるとは限らない。いくつかの実施形態においては、コンプレッサ２０６はまた、さまざまな圧縮法の組合せを使用するように構成される。たとえば、コンプレッサ２０６は、画質と圧縮率とのバランスをとるために、非可逆圧縮法と可逆圧縮の組合せを使用するように構成される。
【００４５】
いくつかの実施形態においては、コンピュータ２００は、カラープレーン内のカラーデータを圧縮するよう構成された、複数のコンプレッサを含む。たとえば、図２に示されるように、コンプレッサ２０６は、Ｃプレーンカラーデータ２２０、Ｍプレーンカラーデータ２３０、Ｙプレーンカラーデータ２４０、およびＫプレーンカラーデータ２５０を並列に圧縮するための４つのサブコンプレッサを含む。いくつかの実施形態においては、同じ圧縮アルゴリズムおよびパラメータが、全てのカラープレーン内の画像要素へ適用される。各々の画像要素の圧縮性は、圧縮率によって計測される。圧縮率は、圧縮されていないデータサイズを同じデータの圧縮されたデータサイズで割ることによって、得られる。より高い圧縮率は、より低い圧縮率よりもより厳格にデータサイズを減少させる。たとえば、詳細な情報を含む、変化に富むデータ（たとえば、画像）は、よく圧縮されず、ゆえに、より低い圧縮率を持つ。他方で、多少しか変化しないデータを持つ画像要素は、よく圧縮され、高い圧縮率を持つ。したがって、コンプレッサ２０６における各々の画像要素に対して達成される圧縮率は、画像要素が高解像度の情報を含むかどうかの示唆として機能する。
【００４６】
いくつかの実施形態においては、圧縮率は圧縮アルゴリズムおよび圧縮パラメータの選択によって、さらに変化する。たとえば、最適な圧縮を達成するために、異なる圧縮アルゴリズムが異なる画像要素に対して使用される。たとえば、単純な代数圧縮が高支配性なカラーデータを圧縮するために使用され、ＪＰＥＧ圧縮がより低支配性なカラーデータに対して使用される。いくつかの実施形態においては、所望の圧縮率を達成するために異なる圧縮パラメータによってではあるが、同じ圧縮アルゴリズムが異なる画像要素に対して使用される。たとえば、圧縮率は、ＪＰＥＧ圧縮の量子化段階で使用される約数について多かれ少なかれ厳格であることによって、変化できる。
【００４７】
本開示の１実施形態と整合して、コンプレッサ２０６は、別個のカラープレーンに関連づけられた、複数の画像要素間の支配性の順位を決定するための、支配性計算機２１５をさらに含む。カラープレーンのカラーデータが他の画像要素のデータより高い度合で画像ブロックに貢献する場合、画像要素は、その画像ブロックに関して「支配的」であると想定される。いくつかの実施形態においては、支配性は、画像要素内に含まれる情報量に従って決定される。たとえば、印刷された画像を表現する際に、より高支配性であるカラープレーンは、より低支配性である画像要素より濃密なデータを含む。その他の例として、より高支配性である画像要素のデータは、低支配性である画像要素のデータより高い解像度を持つ。
【００４８】
画像ブロック内の他の画像要素と関連して、その画像要素の支配性を決定するために、
様々なアルゴリズムが支配性計算機２１５によって使用される。いくつかの実施形態においては、画像要素間の支配性の順位は、各々のカラープレーンと関連付けられた画像要素を圧縮し、そして圧縮率を計算することによって決定される。いくつかのその他の実施形態においては、画像要素は、それぞれの圧縮率の順位で順位付けされる。ゆえに、最も高い圧縮率と関連づけられた画像要素は、最も支配性が低い画像要素として決定される。たとえば、Ｋプレーンと関連付けられた画像要素は、ＣＭＹＫカラー画像では、最も支配性が低い画像要素として決定される。
【００４９】
支配性計算機２１５は、画像要素の支配性順位を示すために、画像要素に番号を割り当てる。たとえば、より低い番号が、より低支配性の画像要素へ割り当てられる。いくつかの実施形態においては、支配性順位は、様々な画像要素のブロックへの順位をマップする、ルックアップテーブル内に保存される。
【００５０】
圧縮されたカラーデータは、コンプレッサ２０６からデータサイズインスペクタ２０７へ渡される。データサイズインスペクタ２０７は、接続１２０の利用可能なバンド幅を超えることなく、全てのビットマップ画像が接続１２０を介して送信されうるかどうかを決定するように構成される。いくつかの実施形態においては、データサイズインスペクタ２０７は、ブロック毎または行毎に決定される。いくつかの実施形態においては、データサイズインスペクタ２０７は元の画像データのブロックを検査し、ブロックに対応する各々のカラープレーンの圧縮されたカラーデータの部分の全データサイズを測定する。データサイズインスペクタ２０７は、それから、全データサイズとデータサイズ閾値を比較する。一つの実施形態によると、データサイズ閾値は、プリンタ１００の印刷速度および接続１２０の利用可能なバンド幅に基づいて決定される。いくつかの実施形態においては、データサイズインスペクタ２０７は、ブロックがデータサイズ閾値より大きいデータサイズである場合、そのブロックにタグを付ける。
【００５１】
圧縮されたカラーデータは、さらに、データサイズインスペクタ２０７からフォーマッタ２０８へ渡される。フォーマッタ２０８は、１つのフル画像をＵＳＢインタフェース２８２へ渡してプリンタ１００へ転送する前に、１つの全体画像を蓄積するよう構成される。本開示の１実施形態と整合して、フォーマッタ２０８は、さらに、データサイズインスペクタ２０７から受信された画像ブロックにタグが付けられているかどうかを検査するよう構成される。画像ブロックにタグが付けられている場合、フォーマッタ２０８は、一つ以上の画像要素について、タグを付けられたブロックに関連付けられたデルタ画像の部分を除去するよう構成される。いくつかの実施形態においては、フォーマッタ２０８は、最初に、より低支配性度の画像要素、つまり順位閾値より低支配性順位を持つ画像要素と関連付けられたデルタ画像を除去する。
【００５２】
いくつかの実施形態においては、例えば写真のような高精細な画像の中で見苦しい解像度の変わり目（遷移）ができるのを避けるために、フォーマッタ２０８は、タグが付けられたブロックから「安全遷移」ブロックに達するまで、非遷移領域を増長する。非遷移領域は、解像度遷移に適していない領域であってもよい。たとえば、非遷移領域は、画像の高解像度細目を含むことができる他、画像のデータ密度の高い部分であってもよい。いくつかの実施形態においては、非遷移領域内の各々のブロックの解像度は減少される。画像解像度を減らすことが画像の視覚品質に影響を及ぼすことがないように、安全遷移ブロックは相対的に低解像度の画像情報を含むことができる。このようにすることで、解像度遷移は人間の目にとって顕著ではなくされうる。たとえば、ホワイトスペース（空白）または無地色だけがある領域は、解像度遷移に適している。
【００５３】
非遷移領域は、少なくとも一つの画像ブロックを含む。例えば、非遷移領域は、隣接するブロックの一定のセットと共に、タグが付けられたブロックを含む。いくつかの実施形
態においては、現在非遷移領域内にひとつも安全遷移ブロックがない場合、その領域のひとつの境界に隣接する付加ブロックを含めることによって、フォーマッタ２０８は、非遷移領域を増長するように構成される。いくつかの実施形態においては、一度安全遷移ブロックが該領域の両端に達すると、フォーマッタ２０８は領域を増長するのを中断し、全ての非遷移領域に関連付けられたデルタ画像の部分を取り除く。
【００５４】
タグが付けられてもなく、タグが付けられたブロックから増長された領域に含まれもしないブロックのために、フォーマッタ２０８は、圧縮された低解像度化された画像および圧縮されたデルタ画像の対応する部分に基づいて、ブロックを再構築できる。フォーマッタ２０８は、それからメモリ内の１つの全体画像をバッファリングする。ここで、バッファリングされた画像は、減少された解像度のブロックおよび元の解像度のブロックを含む。フォーマッタ２０８は、ＵＳＢインタフェース２８２に、蓄積された全体画像を提供できる。
【００５５】
コンピュータ２００のＵＳＢインタフェース２８２は、接続１２０を介してプリンタ１００のＵＳＢインタフェース１０２へ、圧縮形式のバッファリングされた画像データを転送する。ＵＳＢインタフェースは例示的のみであり、利用可能なバンド幅の概算が得られるどのような他のインタフェース／接続の組み合わせが使用されてもよい。いくつかの実施形態においては、ＵＳＢインタフェース２８２はまた、接続１２０を通してプリンタ１００のＵＳＢインタフェース１０２へ、カラーデータを圧縮するコンプレッサ２０６によって使用される圧縮アルゴリズムおよびパラメータに関連する情報を、バッファリングされた画像と共に転送する。その情報はその後、プリンタ１００上の伸張ユニット１０６において使用される。いくつかの実施形態においては、一定量のバンド幅が各々のＣ/Ｍ/Ｙ/Ｋ画像要素用に確保されるように転送の等時性モードが採用され、対応する転送速度で
のデータ配信が保証される。いくつかの実施形態においては、同じバンド幅が各々のサブチャネルに対して保存される。いくつかの他実施形態においては、様々なバンド幅が異なるサブチャネルについて保存される。
【００５６】
いくつかの実施形態においては、圧縮画像データは、コンプレッサ２０６によって使用される圧縮アルゴリズムに対応する伸張アルゴリズムを使用して、伸張モジュール１０６によって伸張される。たとえば、ＪＢＩＧ圧縮がコンプレッサ２０６によって使用される場合、ＪＢＩＧ伸張が伸張モジュール１０６によって使用される。非可逆圧縮がコンプレッサ２０６によって用いられるときは、伸張は必ずしもプリントスプールファイル２１０にあるように、画像データを再構築することができない。いくつかの実施形態においては、所望の圧縮率を達成するために、単一の圧縮アルゴリズムに対して異なる圧縮アルゴリズムまたは異なる圧縮パラメータが、コンプレッサ２０６によって異なる画像要素に対して使用される。したがって、伸張モジュール１０６は、コンプレッサ２０６によって使用されるアルゴリズムおよび／またはパラメータに基づいて、各々の画像要素を伸張する。
【００５７】
いくつかの実施形態においては、伸張モジュール１０６は、ＰＷＭ論理モジュール１０７へ伸張された画像データを送信する。ＰＷＭ論理モジュール１０７から結果として生じるＰＷＭパルスは、それからドライバ回路１０８にストリームされる。そして、ドライバ回路１０８は、ＰＷＭパルスをプリントヘッド１０９に伝播することができる。いくつかの実施形態においては、画像はブロック毎に伸張される。いくつかの実施形態においては、伸張された画像データのブロックは、他のブロックとは異なる解像度を持つ。たとえば、ブロックは４８０ｄｐｉの解像度を持ち、一方で他のブロックは解像度６００ｄｐｉを持つ。いくつかの実施形態においては、ＰＷＭ論理モジュール１０７は、ゆえに、動的に高解像度モード（たとえば６００ｄｐｉ駆動）または低解像度モード（たとえば４８０ｄｐｉ駆動）からブロック毎に切り替えられるよう構成される。いかなる従来の方法または仕組みが、ＰＷＭ論理モジュールの動作モードの切り替えのために配備されることができ
る。
【００５８】
図３Ａおよび３Ｂは、カラーデータ解像度切替の典型的な動作プロセスのフローチャートを示す。図３Ａおよび３Ｂに記載されるアルゴリズムは、また、本願明細書において開示される実施態様と整合して、デバイスに特定の適切な修正を伴って、たとえば複写機および多機能デバイスのような様々な他種のプリントシステムへ適用されうる。図３Ａおよび３Ｂに記載されるアルゴリズムは、さらに、解像度切替および／または圧縮率切替を実行するさまざまなソフトウェアアプリケーションと連動して使われる。
【００５９】
一実施形態においては、プロセス３０は、コンピュータ処理ステージ３１および印刷処理ステージ３２を含む。たとえば、コンピュータ処理ステージ３１は、ステップ３０１から３１４を含む。ステップ３０１では、解像度「Ａ」の画像データが受信される。たとえば、アプリケーション２０１は印刷画像データおよび印刷指令を含むプリントスプールファイル２１０を生成し、プリントスプールファイル２１０はアプリケーション２１０からプリンタプロセッサ２０３によって受信される。元の画像データは、ドット・パー・インチ（「ｄｐｉ］）（たとえば解像度６００ｄｐｉ）によって表示される、元の解像度「Ａ」を有する。いくつかの実施形態においては、画像データは、多重カラープレーンと関連付けられた複数要素を含む。いくつかの実施形態においては、画像データは、ブロックへ分割される。最小の粒度として、ブロックは画像の個々の行に相当する。各々のブロックは複数の要素を含み、各々の画像要素は個々のカラープレーンと関連付けられている。
【００６０】
ステップ３０２では、最初のまたは次のブロックが検査される。いくつかの実施形態においては、ステップ３０３では、低解像度化された画像が計算され、そして、現ブロックの画像データについて対応するデルタ画像が計算される。たとえば、ラスタライザ２０５は、現ブロックの画像データに対する、低解像度化された画像およびデルタ画像を計算できる。低解像度化された画像は、解像度「Ｂ」（「Ｂ」＜「Ａ」）と関連付けられる。たとえば、解像度４８０ｄｐｉである低解像度化画像は、解像度６００ｄｐｉである元の画像から計算される。対応するデルタ画像がまた、同時に計算される。デルタ画像は、元の画像と、現ブロックの低解像度化画像間の差情報を表す。デルタ画像の計算は、低解像度化画像およびデルタ画像から、現ブロックの元の画像を再構築するために数学的に逆算される。低解像度化画像は、複数の画像要素を含み、各々の要素はカラープレーンと関連付けられている。同様に、デルタ画像もまた、カラープレーンと関連付けられている、画像要素の各々を含む。
【００６１】
低解像度化画像およびデルタ画像が計算された後、両方の画像はステップ３０４で圧縮される。たとえば、画像はコンプレッサ２０６によって圧縮される。圧縮は、さらに画像サイズを減少させることができる。たとえば、画像が損失なく伸張されるように、コンプレッサ２０６は可逆圧縮法を使用できる。
【００６２】
いくつかの実施形態においては、コンピュータ２００は、複数のカラープレーンのカラーデータを圧縮するように構成された、複数のコンプレッサを含む。たとえば、コンプレッサ２０６は、Ｃ、Ｍ、Ｙ、およびＫデータを圧縮するための、４つのサブコンプレッサを含む。いくつかの実施形態においては、画像ブロックと関連付けられた画像要素の圧縮率は、お互いに異なる。たとえば、特定のカラーと関連付けられた画像要素が高解像度な詳細を含み、よって、他のカラーと関連付けられた一つ以上の他の画像要素より低く圧縮される。その結果、高解像度な画像要素のデータサイズは、圧縮後著しくは減少しない。したがって、各々のカラープレーンの画像要素は、異なる圧縮率と関連付けられる。圧縮率は、データサイズが圧縮によって減少される程度を表す。高圧縮率は、元のデータがより圧縮されたことを示す。
【００６３】
ステップ３０５では、画像要素間の支配性の順位が、現ブロックに対して決定される。たとえば、支配性計算機２１５は、支配性の順位によって、カラープレーンと関連付けられた画像要素を順位付けするために選択的に使用される。各々の画像要素と関連付けられた圧縮率が計算される。たとえば、支配性計算機は、圧縮されていない画像要素のデータサイズと、同じデータの圧縮された画像要素のデータサイズ間の割合を計算する。いくつかの実施形態においては、画像要素は圧縮率の順位で順位付けされる。ゆえに、最も高い圧縮率と関連づけられた画像要素は、現ブロック内の最低の支配的画像要素として決定される。たとえば、ＣＭＹＫ画像ブロックでは、Ｋプレーン画像要素は、最低の支配的画像要素として決定される。ステップ３０５を実装する典型的なプロセスは、図４と関連して、本開示中に後述される。
【００６４】
支配性の順位を決定するために、その他の様々なアルゴリズムが使用される。いくつかの実施形態においては、支配性の順位は、各々のカラーのビットマップドットの数を数えること、およびその数に基づいてカラーの順位付けをすることによって決定される。いくつかの実施形態においては、画像要素間の支配性の順位は、また、各々のカラーのグラデーションヒストグラムを生成し、そのヒストグラムの複雑さを基にカラーを順位付けすることによってでも、決定される。いくつかの実施形態においては、支配性の順位は予め決定され、プリンタ１００に設定される。
【００６５】
いくつかの実施形態においては、現ブロックの複数の画像要素間でその支配性順位を示せるように、支配性順位を示す番号が各々のカラーへ割り当てられる。たとえば、より低い順位がより低支配性の画像要素へ割り当てられる。たとえば、支配性順位１である画像要素が、現ブロック内で最低支配性をもつ。いくつかの実施形態においては、支配性順位は１からＮまで変化する整数である。ここで、Ｎはカラープレーンの数である。本解説の目的としては、より高い支配性順位を持つ画像要素は、より低い支配性順位を持つ画像要素よりも支配性が高いと想定され、Ｎがカラープレーンの数である場合、支配性順位は１からＮまでの整数であると想定される。ゆえに、４次元カラースペースでは、支配性順位２を持つ画像要素は、支配性順位１を持つ画像要素よりも支配性が高く、支配性順位４を持つ画像要素は最も支配性が高い。このような技術の通常のスキルを持つ者が察するように、異なるスキームが支配性順位を決定するために使用される場合、アルゴリズムは容易に変更されうる。たとえば、４カラープレーンシステムでは、異なるカラープレーンと関連付けられた画像要素はまた、２つまたは３つの支配性クラスへ分けられる。
【００６６】
ステップ３０６では、最初または次のカラープレーンが、現ブロックのために処理される。ステップ３０７では、アルゴリズムは、現画像要素の支配性順位がある特定された順位閾値を超えるかどうかを決定する。いくつかの実施形態においては、順位閾値は、プリンタ１００の印刷速度および接続１２０の利用可能なバンド幅に基づいて決定される。たとえば、接続１２０の利用可能なバンド幅がプリントデータのサイズと比べて大きい場合、順位閾値はより低く設定される。いくつかの実施形態においては、順位閾値がどの画像要素によってでも超えないように、順位閾値は、最高の支配的画像要素に対応する支配性順位より高く設定される。
【００６７】
現画像要素の支配性順位が特定された順位閾値を超える場合、ステップ３０８では、アルゴリズムは、現ブロックの「Ｐ」画像要素走査ライン（ｓｃａｎ  ｌｉｎｅｓ）に相当する、解像度「Ａ」を使用する。ビーム検知センサ１１２が、画像内の各々の走査ラインへ走査の開始（ＳＯＳ）または「ｈｓｙｎｃ」信号を生成するいくつかの実施形態においては、ＳＯＳ信号の数が解像度「Ａ」に比例する。ゆえに、「Ａ」が高い場合、印刷はより長くかかる。
【００６８】
ステップ３０９では、現画像要素の支配性順位が予め決められた支配性順位閾値を超え
ない場合、アルゴリズムは、圧縮されたおよびデルタ画像要素の両方が、接続１２０の利用可なバンド幅を超えることなく接続１２０を介して送信されることを決定する。いくつかの実施形態においては、圧縮された低解像度化された画像および、現カラープレーンと関連付けられたデルタ画像要素の全デーサイズが測定される。たとえば、データサイズインスペクタ２０７は、現ブロックの圧縮された、低解像度化画像およびデルタ画像のデータサイズを計算するために、全ピクセル数を使用する。全データサイズは、それから、ある予め決められたデータサイズ閾値と比較される。一実施形態に従って、データサイズ閾値は、プリンタ１００の印刷速度および接続１２０のバンド幅に基づいて特定される。
【００６９】
ステップ３１０では、画像要素の全データサイズ（低解像度化されかつデルタ部分を含む）がデータサイズ閾値を超える場合、現プレーンのデルタ画像要素は除去され、現ブロックの現プレーンは解像度減少フラグのタグを付けられる。現ブロックのデルタ画像要素の除去は、カラーデータの解像度を「Ａ」から「Ｂ」、たとえば６００ｄｐｉから４００ｄｐｉ、へ減少させる。解像度「Ｂ」は、「Ｑ」画像要素走査ラインに相当する。デルタ画像要素の除去はまた、現プレーンに関連付けられたカラーデータのサイズも減少させる。いくつかの実施形態においては、解像度減少フラグは、現ブロックの現プレーンに相当するデルタ画像要素が除去されたことを示す。
【００７０】
いくつかの実施形態においては、アルゴリズムは、現ブロックのタグを付けられた画像要素に基づいて非遷移領域を増長し、そしてタグを付けられた画像要素のカラープレーンと関連付けられた非遷移領域内の、対応する全てのデルタ画像要素を除去する。たとえば、非遷移領域は、現ブロックの解像度を減少された画像要素を含む少なくとも一つの画像要素、およびタグ付画像要素としていくつかのカラープレーンと関連付けられた、他のブロックの画像要素を含む。いくつかの実施形態においては、ブロックが安全遷移ブロックではない場合、増長する非遷移領域のエッジに隣接するブロックを該非遷移領域に含めることで、非遷移領域が増長されうる。
【００７１】
一度安全遷移ブロックに達すると、非遷移領域のさらなる増長は止められ、増長された領域内のブロックに関連付けられたデルタ画像要素は除去される。その結果、増長された非遷移領域と関連付けられた画像要素の解像度は、解像度「Ａ」から「Ｂ」へ減少される。ステップ３１１では、アルゴリズムは、「Ｑ」走査ラインに対応する解像度「Ｂ」を使用する。いくつかの実施形態においては、解像度「Ｂ」は解像度「Ａ」より低いように、ＱはＰ（ステップ３０８から）より低い。
【００７２】
ステップ３０９では、圧縮された画像要素の全データサイズがデータサイズ閾値を超えない場合、現プレーンおよび現ブロックのカラーデータはバンド幅を超えない。従って、非遷移領域が必要とされ、アルゴリズムはステップ３０８へと進む。
【００７３】
ステップ３１１またはステップ３０８後、全ての画像要素が、現ブロックについて処理されたかをステップ３１２で決定される。現ブロックに関連付けられた画像要素が処理されずに依然一つでも残っている場合、アルゴリズムはステップ３０６に戻り、そして次の画像要素を処理する。アルゴリズムは、全ての画像要素が現プレーンに対して処理されるまで、ステップ３０６〜３１２を繰り返す。
【００７４】
ステップ３１３では、画像データの全てのブロックが、コンピュータによって処理されたかが決定される。画像データのブロックが処理されずに依然一ブロックでも残っている場合、アルゴリズムはステップ３０２に戻り、そして次のブロックを処理する。アルゴリズムは、全てのブロックがコンピュータによって処理されるまで、ステップ３０２〜３１３を繰り返す。
【００７５】
ステップ３１４では、全てのカラープレーンのカラーデータは、圧縮されたフォーマットでプリンタへ転送される。たとえば、カラーデータは、接続１２０を介してコンピュータ２００からプリンタ１００へ転送される。いくつかの実施形態においては、複数のカラープレーンのカラーデータは、並列に転送される。いくつかの実施形態においては、ステップ３１４では、解像度切替に関連する情報が、圧縮されたカラーデータと共に接続１２０を介してプリンタ１００へ転送される。ここで、解像度切替に関連する情報とは、たとえば解像度「Ｂ」や「Ａ」、データ圧縮アルゴリズム、およびステップ３０４でカラーデータを圧縮するために使用されるパラメータである。たとえば、その情報は、圧縮されたカラーデータのヘッダファイルとして含まれる。
【００７６】
いくつかの実施形態においては、コンピュータ処理ステージ３１はこの時点で終了し、プリンタ処理ステージ３２がステップ３１５で開始する。いくつかの実施形態においては、プリンタ処理ステージ３２はステップ３１５から３２４を含む。ステップ３１５では、全てのカラープレーンのカラーデータがプリンタ（たとえばプリンタ１００）によって受信される。ステップ３１６では、最初または次のカラープレーンが処理される。ステップ３１７では、圧縮された画像データの、最初または次のブロックが処理される。
【００７７】
ステップ３１８では、解像度減少フラグが、現カラープレーンと関連付けられた現ブロックの画像要素に対してセットされるかどうかが決定される。解像度減少フラグがセットされていない場合、それは現圧縮された画像要素のデルタ画像要素が除去されていなく、対応する画像要素の解像度が「Ａ」のまま残ることを示す。したがって、ステップ３１９では、解像度「Ａ」に対応する現プレーンのプリントヘッドに対して、主走査方向での印刷解像度が、設定される。いくつかの実施形態においては、プリンタ１００はＣＭＹＫ色空間を使用し、プリントヘッド１０９はＣ、Ｍ、Ｙ、Ｋに相当する４つのプリントヘッドを含み、それぞれのプリントヘッドのための解像度は独立して設定可能である。
【００７８】
解像度減少フラグがステップ３１８で設定される場合、それは、現圧縮された画像要素のデルタ画像が除去され、対応する画像要素の解像度が「Ａ」から「Ｂ」へ減少されたことを示す。したがって、ステップ３２０では、減少された解像度「Ｂ」に対応する現プレーンのプリントヘッドに対して、主走査方向での印刷解像度が、設定される。
【００７９】
ステップ３２１では、現カラープレーンの全てのブロックが、プリンタによって処理されたかどうかが決定される。現カラープレーンの画像データが処理されずに依然一ブロックでも残っている場合、アルゴリズムはステップ３１７に戻り、そして次のブロックを処理する。アルゴリズムは、全てのブロックがプリンタによって処理されるまで、ステップ３１７〜３２１を繰り返す。
【００８０】
ステップ３２２では、現カラープレーンのカラーデータが伸張される。たとえば、現プレーンのカラーデータは、ステップ３０４で使用された圧縮アルゴリズムおよびパラメータに対応する伸張アルゴリズムおよびパラメータを使用して、伸張ユニット１０６によって伸張される。たとえば、ＪＢＩＧ圧縮がステップ３０４で使用される場合、ＪＢＩＧ伸張がステップ３２２で使用される。いくつかの実施形態においては、ステップ３１４で転送されたプリントデータ内のヘッダは、ステップ３０４で使用された圧縮のタイプを示す。
【００８１】
ステップ３２３では、プリントヘッドは、現プレーンのトナー画像を現像するために、現プレーンのカラーデータを印刷するように駆動される。たとえば、プリンタ１００では、ＰＷＭ論理モジュール１０７からのＰＷＭパルスは、ドライバ回路１０８へストリームされ、そしてプリントヘッド１０９へＰＷＭパルスを伝播する。いくつかの実施形態においては、プリントヘッド１０９からのレーザビームは変調され、走査ミラー１１０と光学
システム１１３へ反射される。このため、帯電および放電される領域の潜像画像が感光体ドラム１１４上に蓄積される。そして、トナー画像は、この潜像画像に基づいて現像ステーション１１５において現像される。
【００８２】
ステップ３２４では、全てのカラープレーンが、プリンタによって処理されたかどうかが決定される。印刷画像のカラープレーンが処理されずに依然一つでも残っている場合、アルゴリズムはステップ３１６へ戻り、次のカラープレーンを処理する。アルゴリズムは、全てのカラープレーンがプリンタによって処理されるまで、ステップ３１６〜３２４を繰り返す。その後、プリンタ処理ステージ３２は終了する。
【００８３】
様々なアルゴリズムが、プロセス３０のステップ３０５にあるように、画像ブロックのための複数の画像要素間の、支配性順位を決定するために使用される。図４は、ある画像要素の支配性順位を決定するための、最初の典型的な動作プロセス４０のフローチャートを図示する。典型的なプロセス４０では、複数のカラープレーンに対応する画像要素の圧縮率に基づいて、画像要素間の支配性順位が決定される。
【００８４】
ステップ４０１では、最初または次のカラープレーンに関連付けられた、最初のまたは次の画像要素が考慮される。ステップ４０２では、全データサイズ「Ｌ」が、現画像要素の圧縮されていないカラーデータに対して計算される。たとえば、圧縮されていないカラーデータのピクセル数は、コンピュータ２００内の支配性計算機２１５のルーチンによってカウントされる。
【００８５】
ステップ４０３では、全データサイズ「Ｍ」が、現画像要素の圧縮されたカラーデータのために計算される。圧縮処理後、カラーデータのデータサイズは著しく減少される。たとえば、ウェーブレット基調のＪＰＥＧ−２０００圧縮では、ウェーブレット変換はカラーデータへ適用され、値を画像ピクセル間で再分配する。変換後、多数のピクセルが名目値を持ち、よって、圧縮処理の後工程で除去される。本開示の目的では、名目値とはゼロに近い数値である。したがって、非名目値は、ゼロとは著しくかけ離れた数値である。非名目値を持つピクセルは、圧縮されたカラーデータ内に保持され、接続１２０を介して転送される。いくつかの実施形態においては、圧縮されたカラーデータ内の残留ピクセル数は、支配性計算機２１５のルーチンによってカウントされる。
【００８６】
ステップ４０４では、現画像要素のカラーデータの圧縮率が計算される。たとえば、圧縮率は「Ｌ」を「Ｍ」で割ることによって計算される。より高い圧縮率とは、カラーデータが高い圧縮性を持つことを示す。つまり、圧縮中、名目値を持つピクセルの意味のある部分が、除去される。したがって、より高い圧縮率はまた、カラーデータが比較的少ない画像情報（特に高解像度な情報）を含むことを示す。ゆえに、対応する画像要素は、他の画像要素と比べて比較的重要ではない。
【００８７】
ステップ４０５では、全てのカラープレーンと関連付けられた画像要素が検討され、圧縮率が計算されたかどうかが決定される。現ブロックの画像要素が処理されずに依然一ブロックでも残っている場合、全ての画像要素が検討されるまでステップ４０１〜４０５を繰り返す。
【００８８】
ステップ４０６では、ステップ４０４で決定された圧縮率に基づいて、複数の画像要素に支配性順位が割り当てられる。たとえば、支配性順位は、圧縮率の昇順に画像要素をソートすることで割り当てられる。たとえば、より小さい番号が、最も高い圧縮率と関連付けられた画像要素へ割り当てられる。たとえば、ＣＭＹＫ色空間内のＫプレーン画像要素は、４画像要素間では、最も高い圧縮率を持つ。したがって、Ｋプレーン画像要素は、他の画像要素に比べて、最小値である支配性順位が割り当てられる。これは、Ｋプレーン画
像要素が、最低の支配的画像要素であることを示す。
【００８９】
本発明のその他の実施形態は、明細書の考慮および本願明細書において開示される本発明の実施から、当業者により明らかである。本発明の本当の範囲および思想は特許請求の範囲の主張に示されており、明細書および実施例は例示であると考慮されるべきである。
【図１】
2009246950.tif 000003
【図２】
2009246950.tif 000004
【図３Ａ】
2009246950.tif 000005
【図３Ｂ】
2009246950.tif 000006
【図４】
2009246950.tif 000007
【外国語明細書】
2009246950000001.pdf
2009246950000002.pdf
2009246950000003.pdf
2009246950000004.pdf