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