(57)【要約】【課題】  ホストコンピュータ等の情報処理装置からカラープリンタに、各記録色成分のデータを圧縮符号化して送信する場合、カラープリンタが有する受信バッファメモリを有効に機能させることができるカラープリンタを提供することを目的とするものである。【解決手段】  シアン、マゼンタ、イエロー、ブラックの色成分毎に圧縮符号化されたイメージデータを一時的に格納する受信バッファを、第１〜第５領域に予め分割し、上記第１、２、３、４領域を、それぞれ、シアン、マゼンタ、イエローのイメージデータに割り当て、上記第５領域を、印刷データ受信開始後に任意の色に割り当てるメモリ分割手段と、受信した符号化データを、シアン、マゼンタ、イエロー、ブラックの色成分毎に、独立して、イメージデータに復号するカラープリンタである。【選択図】  図１
2005349755.tif 000002
【特許請求の範囲】
【請求項１】
印刷データを受信し、カラー画像を所定の記憶媒体上に記録するカラープリンタにおいて、
シアン、マゼンタ、イエロー、ブラックの色成分毎に圧縮符号化されたイメージデータを受信し、一時的に格納する受信バッファと；
上記受信バッファを、第１〜第５領域に予め分割し、上記第１領域を、シアンのイメージデータに割り当て、上記第２領域を、マゼンタのイメージデータに割り当て、上記第３領域を、イエローのイメージデータに割り当て、上記第４領域を、ブラックのイメージデータに割り当て、上記第５領域を、印刷データ受信開始後に任意の色に割り当てるメモリ分割手段と；
受信した符号化データを、シアン、マゼンタ、イエロー、ブラックの色成分毎に、独立して、イメージデータに復号する複数の復号手段と；
を有することを特徴とするカラープリンタ。
【請求項２】
請求項１において、
色毎の受信データ量を、計測する受信データ量計測手段と；
色毎に、データ量比較用基準値を予め設定するデータ量比較用基準値設定手段と；
上記設定されたデータ量比較用基準値と、上記受信データ量計測手段が計測した計測値とを比較する比較手段と；
を有し、
上記メモリ分割手段は、受信データを開始した後に、上記比較手段による比較結果に基づいて、上記データ量比較用基準値を最も早く越えた領域に対応した色に対して、第５領域を受信バッファとして割り当てることを特徴とするカラープリンタ。
【請求項３】
請求項１または請求項２において、
各色成分に割り当てられた上記受信バッファの各領域は、リングバッファとして機能することを特徴とするカラープリンタ。
【請求項４】
印刷データを受信し、カラー画像を所定の記憶媒体上に記録するカラープリンタの制御方法において、
シアン、マゼンタ、イエロー、ブラックの色成分毎に圧縮符号化されたイメージデータを受信し、受信バッファへ一時的に格納する受信工程と；
上記受信バッファを、第１〜第５領域に予め分割し、上記第１領域を、シアンのイメージデータに割り当て、上記第２領域を、マゼンタのイメージデータに割り当て、上記第３領域を、イエローのイメージデータに割り当て、上記第４領域を、ブラックのイメージデータに割り当て、上記第５領域を、印刷データ受信開始後に任意の色に割り当てるメモリ分割工程と；
受信した符号化データを、シアン、マゼンタ、イエロー、ブラックの色成分毎に、独立して、イメージデータに復号する複数の復号工程と；
を有することを特徴とするカラープリンタの制御方法。
【請求項５】
請求項４において、
色毎の受信データ量を、計測する受信データ量計測工程と；
色毎に、データ量比較用基準値を予め設定するデータ量比較用基準値設定工程と；
上記設定されたデータ量比較用基準値と、上記受信データ量計測手段が計測した計測値とを比較する比較工程と；
を有し、
上記メモリ分割工程は、受信データを開始した後に、上記比較工程による比較結果に基づいて、上記データ量比較用基準値を最も早く越えた領域に対応した色に対して、第５領域を受信バッファとして割り当てることを特徴とするカラープリンタの制御方法。
【請求項６】
請求項４または請求項５において、
各色成分に割り当てられた上記受信バッファの各領域をリングバッファとして使用することを特徴とするカラープリンタの制御方法。
【請求項７】
印刷データを受信し、カラー画像を所定の記憶媒体上に記録するカラープリンタの制御プログラムにおいて、
シアン、マゼンタ、イエロー、ブラックの色成分毎に圧縮符号化されたイメージデータを受信し、受信バッファへ一時的に格納する受信工程と；
上記受信バッファを、第１〜第５領域に予め分割し、上記第１領域を、シアンのイメージデータに割り当て、上記第２領域を、マゼンタのイメージデータに割り当て、上記第３領域を、イエローのイメージデータに割り当て、上記第４領域を、ブラックのイメージデータに割り当て、上記第５領域を、印刷データ受信開始後に任意の色に割り当てるメモリ分割工程と；
受信した符号化データを、シアン、マゼンタ、イエロー、ブラックの色成分毎に、独立して、イメージデータに復号する複数の復号工程と；
を有することを特徴とするカラープリンタの制御プログラム。
【請求項８】
請求項７において、
色毎の受信データ量を、計測する受信データ量計測工程と；
色毎に、データ量比較用基準値を予め設定するデータ量比較用基準値設定工程と；
上記設定されたデータ量比較用基準値と、上記受信データ量計測手段が計測した計測値とを比較する比較工程と；
を有し、
上記メモリ分割工程は、受信データを開始した後に、上記比較工程による比較結果に基づいて、上記データ量比較用基準値を最も早く越えた領域に対応した色に対して、第５領域を受信バッファとして割り当てることを特徴とするカラープリンタの制御プログラム。
【請求項９】
請求項７または請求項８において、
各色成分に割り当てられた上記受信バッファの各領域をリングバッファとして使用することを特徴とするカラープリンタの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カラー画像を印刷するカラープリンタに関する。
【背景技術】
【０００２】
ホストコンピュータからの印刷データを受信して印刷を行うカラープリンタにおいて、色成分毎に、同一サイズのバッファメモリを予め確保し、それらをリングバッファとして使用する技術が知られている。
【０００３】
この技術によれば、少ないメモリ容量を有効活用して印刷することができるので、カラープリンタをコストダウンすることができる。
【０００４】
従来、プリンタのバッファ制御に関する技術が知られている（たとえば、特許文献１参照）。
【特許文献１】特開平８−２５７５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、現在、ユーザのプリンタへの解像度要求は高まり、また、ホストコンピュータからプリンタに転送するデータ量も膨大なサイズになっている。これに対応するためには、印刷すべきイメージデータを圧縮し、データ量を減らすことが必要であり、これによって、データ転送を効率良く行いつつ、必要なメモリ量を削減し、コストダウンを実現することができる。
【０００６】
ここで、各色成分の圧縮されたデータ量は、概して同じ比率ではない。
【０００７】
したがって、上記従来例では、記録色成分毎に同サイズで、リングバッファを確保した場合、メモリの利用効率が高いとは言えず、受信バッファメモリを有効に機能させることができないという問題がある。
【０００８】
つまり、上記従来例では、圧縮率の違いによって特定の色成分の画像データが大きい場合、記録スピードに対してデータ転送が間に合わなくなる可能性があるという問題がある。
【０００９】
また、上記従来例では、確実に間に合わせるようにメモリ量を設定した場合、必要なメモリサイズが大きくなるという問題がある。
【００１０】
本発明は、ホストコンピュータ等の情報処理装置からカラープリンタに、各記録色成分のデータを圧縮符号化して送信する場合、カラープリンタが有する受信バッファメモリを有効に機能させることができるカラープリンタを提供することを目的とするものである。
【課題を解決するための手段】
【００１１】
本発明は、印刷データを受信し、カラー画像を所定の記憶媒体上に記録するカラープリンタにおいて、シアン、マゼンタ、イエロー、ブラックの色成分毎に圧縮符号化されたイメージデータを受信し、一時的に格納する受信バッファと、上記受信バッファを、第１〜第５領域に予め分割し、上記第１領域を、シアンのイメージデータに割り当て、上記第２領域を、マゼンタのイメージデータに割り当て、上記第３領域を、イエローのイメージデータに割り当て、上記第４領域を、ブラックのイメージデータに割り当て、上記第５領域を、印刷データ受信開始後に任意の色に割り当てるメモリ分割手段と、受信した符号化データを、シアン、マゼンタ、イエロー、ブラックの色成分毎に、独立して、イメージデータに復号する複数の復号手段とを有するカラープリンタである。
【発明の効果】
【００１２】
本発明によれば、ホストコンピュータ等の情報処理装置からカラープリンタに各記録色成分のデータを圧縮符号化して送信する場合、カラープリンタが有する受信バッファメモリを有効に機能させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１３】
発明を実施するための最良の形態は、次の実施例である。
【実施例１】
【００１４】
図１は、本発明の実施例１であるカラープリンタ１０とホストコンピュータ１とを示すブロック図である。
【００１５】
ホストコンピュータ１は、オペレーティングシステム（ＯＳ）２と、アプリケーション３と、プリンタドライバ４と、ランゲージモニタ５と、ＵＳＢポートドライバ６とを有する。
【００１６】
ホストコンピュータ１は、印刷データを生成するパーソナルコンピュータ等のコンピュータであり、ＣＰＵ、メモリ、ハードディスク、フロッピー（登録商標）ディスクドライブ、キーボード、マウス等のポインティングデバイス、モニタ、ＵＳＢポート等のハードウェア（不図示）を具備する。
【００１７】
オペレーティングシステム（ＯＳ）２は、ホストコンピュータ１が具備するハードウェアと、アプリケーション３、プリンタドライバ４、ランゲージモニタ５、ＵＳＢポートドライバ６等のソフトウェアを管理する。
【００１８】
アプリケーション３は、たとえばワードプロセッサのようなアプリケーションソフトウェアであり、操作者の指示に従って文書の作成・印刷等を行う。
【００１９】
プリンタドライバ４は、アプリケーション３が発行した印刷指令をオペレーティングシステム２経由で受け取り、該印刷指令を、ランゲージモニタ５とカラープリンタ１０とが解釈可能なプリンタコマンドに変換する。
【００２０】
ランゲージモニタ５は、プリンタドライバ４が出力したプリンタコマンドを受け取り、ＵＳＢポートドライバ６を経由し、カラープリンタ１０に送信する。
【００２１】
ＵＳＢポートドライバ６は、ランゲージモニタ５が出力したプリンタコマンドを、ＵＳＢポートを経て、カラープリンタ１０に送信し、また、カラープリンタ１０からステータスを受信すると、ランゲージモニタ５に出力する。
【００２２】
カラープリンタ１０は、ＵＳＢポートドライバ６から受信したプリンタコマンドに従って、印刷する。なお、実施例１は、カラープリンタ１０とホストコンピュータ１とは、ＵＳＢインタフェースを介して接続する例であるが、他のインタフェース、たとえばネットワークを介して接続するようにしてもよい。
【００２３】
図２は、実施例１におけるカラープリンタ１０の構成を示すブロック図である。
【００２４】
カラープリンタ１０は、ＵＳＢポート１１と、ＤＭＡコントローラ１２と、メモリ１３と、復号回路１４Ｙ、１４Ｍ、１４Ｃ、１４Ｋと、プリンタエンジン１５と、制御回路１６とを有する。
【００２５】
ＵＳＢポート１１は、コンピュータ１からプリンタコマンドを含む印刷データを受信する。なお、上記のように、ホストコンピュータ１と接続するインタフェースとして、ＵＳＢに限らず、ネットワークインタフェースを使用するようにしてもよい。
【００２６】
ＤＭＡコントローラ１２は、ＵＳＢポート１１を介して受信した画像データを、メモリ１３に格納し、また、メモリ１３から読み出した画像データを構成するイエロー（以下Ｙ）、マゼンタ（以下Ｍ）、シアン（以下Ｃ）、ブラック（以下Ｋ）成分のそれぞれに対応して用意されている復号回路１４Ｙ、１４Ｍ、１４Ｃ、１４Ｋに出力する。
【００２７】
メモリ１３は、たとえば１６Ｍバイトの容量を有し、ＤＭＡコントローラ１２の制御のもとに、画像データを格納し、リングバッファとして機能し、メモリ１３は、５つの論理チャネル、たとえば４つの３．８Ｍバイトメモリと、１つの０．８Ｍバイトメモリとの容量を有し、ＦＩＦＯ（ファーストインファーストアウト）メモリとして動作する。
【００２８】
復号回路１４Ｙ、１４Ｍ、１４Ｃ、１４Ｋは、メモリ１３に記憶されている圧縮画像データを、それぞれ復号し、プリンタエンジン１５に出力する。復号回路１４Ｙ、１４Ｍ、１４Ｃ、１４Ｋのそれぞれは、互いに独立した回路であり、各チャネルの画像データを同時に復号することができる。
【００２９】
プリンタエンジン１５は、レーザビームプリンタエンジンであり、制御回路１６の指示によって、復号回路１４Ｙ、１４Ｍ、１４Ｃ、１４Ｋが出力する画像データに従って、印刷する。プリンタエンジン１５は、４つのドラムを有し、各チャネルの画像データを、Ｙ、Ｍ、Ｃ、Ｋの４色の画像データとして同時に印刷する。
【００３０】
制御回路１６は、たとえば１チップＣＰＵで構成され、ＵＳＢポート１１、ＤＭＡコントローラ１２、メモリ１３、復号回路１４、プリンタエンジン１５等のカラープリンタ１０の全体を制御する。
【００３１】
次に、実施例１におけるプリンタエンジン１５の構成について説明する。
【００３２】
図３は、実施例１におけるプリンタエンジン１５を示す概念図である。
【００３３】
図４は、実施例１におけるプリンタエンジン１５内のスキャナ部３０１を示す概念図である。
【００３４】
プリンタエンジン１５は、電子写真プロセスによってＹ、Ｍ、Ｃ、Ｋの各画像データを可視像化し、転写材上に転写する。画像生成部は、Ｙ、Ｍ、Ｃ、Ｋそれぞれに対応した４つの同様なブロックによって構成されている。以下、イエロー（Ｙ）を例にとって詳細に説明する。
【００３５】
スキャナ部３０１は、レーザドライバ３１２と、レーザ発光部３１３Ｙと、コリメータレンズ３１４Ｙと、ポリゴンモータ３１５Ｙと、多面体ミラー３１６Ｙと、結像レンズ３１７Ｙと、ミラー３１８Ｙと、感光ドラム３１９Ｙと、固定ミラー３２０Ｙと、受光素子３２１Ｙとを有する。なお、スキャナ部３０１は、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）についても、イエロー（Ｙ）における上記構成と同様の構成を有する。
【００３６】
イエロー（Ｙ）に着目した場合、レーザドライバ３１２は、プリンタ画像処理部３５２から出力された画像データに応じて、レーザ発光部３１３Ｙを駆動する。ここで、プリンタ画像処理部３５２は、図２に示す各復号回路１４Ｙ、１４Ｍ、１４Ｃ、１４Ｋを含み、画像データは、各復号回路１４Ｙ、１４Ｍ、１４Ｃ、１４Ｋによって出力される。レーザ発光部３１３Ｙは、プリンタ画像処理部３５２から出力された画像データに応じて、レーザビームを変調し、出力する。変調されたレーザビームは、コリメータレンズ３１４Ｙによって平行光に変換された後に、ポリゴンモータ３１５Ｙの回転によって、一定速度で回転する多面体ミラー３１６Ｙに入射される。
【００３７】
多面体ミラー３１６Ｙの前に配置されている結像レンズ３１７Ｙによって、また、ミラー３１８Ｙを介して、感光ドラム３１９Ｙ上に焦点を結ぶ。多面体ミラー３１６Ｙが一定速度で回転すると、レーザビームは、一定速度で感光ドラム３１９Ｙ上を走査する。感光ドラム３１９Ｙが一定速度で回転し、かつレーザビームが、一定速度で感光ドラム３１９Ｙ上を走査すると、感光ドラム３１９Ｙ上には静電潜像が形成される。
【００３８】
レーザビームの光路中に、固定ミラー３２０Ｙが配置され、走査開始位置に到達したレーザビームは、固定ミラー３２０Ｙによって反射され、受光素子３２１Ｙに入射される。受光素子３２１Ｙに入射された光を、受光素子３２１Ｙが電流に変換し、さらに電流−電圧変換し、水平同期信号の生成に用いられる。
【００３９】
感光体ドラム３１９Ｙは、導電ドラムと光導電層とによって構成され、その周りに、一次帯電器３２２Ｙ、現像器３２３Ｙ、転写帯電器３２４Ｙ、ブレード方式のクリーニング器３２５Ｙ（不図示）、除電器３２６Ｙ（不図示）が構成されている。
【００４０】
さて、感光体ドラム３１９Ｙ、一次帯電器３２２Ｙ、現像器３２３Ｙ内の現像スリーブ３２３Ｙａ（不図示）、転写帯電器３２４Ｙは、モータ３２７によって駆動される。駆動された感光ドラム３１９Ｙは、一次帯電器３２２Ｙが通過することによって、その表面が、均一にマイナスに直接帯電され、その後に、レーザ発光部３１３Ｙからレーザ光を受け、露光される。このレーザ光の照射によって、明部のマイナス電荷が中和され、静電潜像が形成される。
【００４１】
そして、上記静電潜像は、現像器３２３Ｙ中のイエロー現像剤ＹＴに近接すると、マイナス帯電した現像剤ＹＴが、潜像の電位と現像器３２３Ｙの電位との電位差によって、感光ドラム３１９Ｙの表面に、ジャンプし、可視像化される。
【００４２】
そして、転写帯電器３２４Ｙによってプラス電荷をかけ、感光体ドラム３１９Ｙ上のトナー像を転写材Ｐ上に転写する。また、転写が終了した感光体ドラム３１９Ｙの表面は、クリーニング器３２５Ｙが、残留トナーを除去した後に、一次帯電器３２２Ｙがドラム電位を均一にし、次の静電潜像の形成に備える。ドラム表面上から除去された残留トナーは、図示しない現像剤回収容器に回収される。
【００４３】
さて、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）においても、それぞれマゼンタ現像剤ＭＴ、シアン現像剤ＣＴ、ブラック現像剤ＫＴを用いて、感光体ドラム３１９Ｍ、３１９Ｃ、３１９Ｋ上に、上記と同様のプロセスで、画像が生成される。そして、転写剤Ｐ上に転写され、フルカラーのプリントアウトが行われる。
【００４４】
ここで、色成分毎の感光ドラム３１９Ｙ、３１９Ｍ、３１９Ｃ、３１９Ｋは、それぞれ所定間隔ｄを置いて配置されている。このために、その距離ｄと記録紙の搬送速度とに見合ったタイミングだけ、図２に示す復号回路１４Ｙ、１４Ｍ、１４Ｃ、１４Ｋをずらして駆動することによって、転写材Ｐ上の所定位置に画像を重ね合わせている。すなわち、同一タイミングに着目した場合、復号回路１４Ｙ、１４Ｍ、１４Ｃ、１４Ｋは、印刷位置のイメージデータを同時に復号している。
【００４５】
さて、転写材Ｐは、用紙カセット３６０にセットされ、レーザ光の照射開始と同期したタイミングで給紙され、レジストローラ３３３を経て、図３に示す矢印方向に搬送される。そして、転写材Ｐは、感光ドラム３１９Ｙ、３１９Ｍ、３１９Ｃ、３１９Ｋに付着された現像剤ＹＴ、ＭＴ、ＣＴ、ＫＴが転写された後に、定着部３３５に搬送される。定着部３３５に運ばれた転写材Ｐに転写された現像剤ＹＴ、ＭＴ、ＣＴ、ＫＴが、熱と圧力とによって、転写材Ｐに定着される。定着部３３５を通過した転写材Ｐは、排出ローラ３３８によって排出される。
【００４６】
なお、実施例１では、ホストコンピュータ側において、ディザ処理を行い、１画素２ビットの画像データを生成することができる。また、プリンタエンジン１５において、レーザビームを、ＰＷＭパルス変調することによって、色成分毎に、１画素２ビット（すなわち４階調）の画像を記録することができる。
【００４７】
次に、実施例１の特徴となる点を説明する。
【００４８】
図５は、カラープリンタ１０に設けられているリングバッファを示すブロック図である。
【００４９】
リングバッファは、ＤＭＡコントローラ１２とメモリ１３とによって構成されている。
【００５０】
また、メモリ１３は、メモリブロックＭＢ１（第１領域）、メモリブロックＭＢ２（第２領域）、メモリブロックＭＢ３（第３領域）、メモリブロックＭＢ４（第４領域）、メモリブロックＭＢ５（第５領域）の５つのメモリブロック（領域）に分割されている。
【００５１】
ここで、メモリブロックＭＢ１は、Ｙに予め割り当てられ、メモリブロックＭＢ２は、Ｍに予め割り当てられ、メモリブロックＭＢ３は、Ｃに予め割り当てられ、メモリブロックＭＢ４は、Ｋに予め割り当てられている。
【００５２】
境界データ２００〜２０５は、ＤＭＡコントローラ１２に内蔵されている境界データである。すなわち、境界データ２００は、メモリブロックＭＢ１の先頭位置を示し、境界データ２０１は、メモリブロックＭＢ１の末尾位置とメモリブロックＭＢ２の先頭位置とを示し、境界データ２０２は、メモリブロックＭＢ２の末尾位置とメモリブロックＭＢ３との先頭位置とを示し、境界データ２０３は、メモリブロックＭＢ３の末尾位置とメモリブロックＭＢ４の先頭位置とを示し、境界データ２０４は、メモリブロックＭＢ４の末尾位置とメモリブロックＭＢ５との先頭位置を示し、境界データ２０５は、メモリブロックＭＢ５の末尾位置を示す。
【００５３】
リードポインタ制御回路２１１〜２１４は、ＤＭＡコントローラ１２に内蔵されているリードポインタ制御回路であり、各メモリブロックＭＢから、復号回路１４Ｙ、Ｍ、Ｃ、Ｋにデータを読み出すアドレスを保持し、また、ＤＭＡコントローラ１２によって、読み出されたデータサイズに応じて、次に読み出すデータのアドレスを保持するように更新する。
【００５４】
ライトポインタ制御回路２２１〜２２４は、ＤＭＡコントローラ１２に内蔵されているライトポインタ制御回路であり、各メモリブロックＭＢに、ホストコンピュータ１からのＹ、Ｍ、Ｃ、Ｋ印刷データを書き込むアドレスを保持し、また、ＤＭＡコントローラ１２によって、書き込まれたデータサイズに応じて、次に書き込むデータのアドレスを保持するように更新する。
【００５５】
比較アドレス設定レジスタ２３１〜２３４は、ＤＭＡコントローラ１２に内蔵されているデータレジスタである。
【００５６】
比較器２４１〜２４４は、ＤＭＡコントローラ１２に内蔵され、境界データ２００、２０１、２０２、２０３からスタートするライトポインタ２２１〜２２４が、比較データレジスタ２３１〜２３４が設定した比較アドレスに達したか否かを検出する。
【００５７】
ここで、ＤＭＡコントローラ１２は、１ページプリントの中で最も早く、上記比較アドレスに達したライトポインタの示す色成分に、メモリブロックＭＢ５を割り当てる。すなわち、最も早く比較アドレスに達したライトポインタが、Ｙ用のライトポインタであれば、Ｙのアドレス空間は、境界データ２００〜２０１と、境界データ２０４〜２０５とになる。
【００５８】
この場合、ＤＭＡコントローラ１２は、ライトポインタ制御回路２２１、２２２、２２３、２２４と、リードポインタ制御回路２１１、２１２、２１３、２１４と、比較器２４１、２４２、２４３、２４４と、比較アドレス設定レジスタ２３１、２３２、２３３、２３４とを有する。
【００５９】
ＤＭＡコントローラ１２において、ライトポインタ制御回路２２１またはリードポインタ制御回路２１１が、境界データ２０１に達したときに、ネクストアドレスが２０４になるように制御し、リングメモリを更新する。ライトポインタ制御回路２２１またはリードポインタ制御回路２１１が、末尾アドレス２０５に達すると、ネクストアドレスが先頭アドレス２００になるように更新する。
【００６０】
上記と同様に、最も早く比較アドレスに達したライトポインタが、Ｍ用のライトポインタであれば、Ｍのアドレス空間は、境界データ２０１〜２０２と、境界データ２０４〜２０５とになる。
【００６１】
この場合、ＤＭＡコントローラ１２において、ライトポインタ制御回路２２２またはリードポインタ制御回路２１２が、境界データ２０２に達したときに、ネクストアドレスが２０４になるように制御し、リングメモリを更新する。ライトポインタ制御回路２２２またはリードポインタ制御回路２１２が、末尾アドレス２０５に達すると、ネクストアドレスが、先頭アドレス２０１になるように更新する。
【００６２】
上記と同様に、最も早く比較アドレスに達したライトポインタが、Ｃ用のライトポインタであれば、Ｃのアドレス空間は、境界データ２０２〜２０３と、境界データ２０４〜２０５になる。
【００６３】
この場合、ＤＭＡコントローラ１２において、ライトポインタ制御回路２２３またはリードポインタ制御回路２１３が、境界データ２０３に達したときに、ネクストアドレスが２０４になるように制御し、リングメモリを更新する。ライトポインタ制御回路２２３またはリードポインタ制御回路２１３が、末尾アドレス２０５に達すると、ネクストアドレスが先頭アドレス２０２になるように更新する。
【００６４】
上記と同様に、最も早く比較アドレスに達したライトポインタが、Ｋ用のライトポインタであれば、Ｋのアドレス空間は、境界データ２０３〜２０４と、境界データ２０４〜２０５になる。
【００６５】
この場合、ＤＭＡコントローラ１２において、ライトポインタ制御回路２２４またはリードポインタ制御回路２１４が、境界データ２０４に達すると、ネクストアドレスが２０４になるように制御し、リングメモリを更新する。ライトポインタ制御回路２２４またはリードポインタ制御回路２１４が、末尾アドレス２０５に達すると、ネクストアドレスが、先頭アドレス２０３になるように更新する。
【００６６】
以下、実施例１における印刷動作について説明する。
【００６７】
操作者が、ホストコンピュータ１上で動作しているアプリケーション３を操作し、印刷データを生成し、これを印刷指示すると、アプリケーション３からオペレーティングシステム２を経由して、プリンタドライバ４に印刷指令が渡される。
【００６８】
プリンタドライバ４は、アプリケーション３から発行された印刷指令に基づいて、画像データに変換し、圧縮し、圧縮した画像データを、用紙サイズ、ビットマップデータのラインの長さとライン数等を指定する印刷条件指定コマンド、ページ終了を示すページ終了コマンドとともに出力する。
【００６９】
出力されたプリンタコマンドは、オペレーティングシステム２を経由し、ランゲージモニタ５に渡される。ランゲージモニタ５は、受け取ったプリンタコマンドを、カラープリンタ１０に転送する。カラープリンタ１０は、印刷条件指定コマンドを受信すると、プリンタエンジン１５に対して、印刷の開始を指示する。また、カラープリンタ１０は、画像データコマンドを受信すると、記録色成分毎の画像データを、メモリ１３中の該当するメモリブロックＭＢに、ライトポインタに従って、格納し、そのライトポインタを更新する。
【００７０】
プリンタエンジン１５は、印刷の指示を受けると、給紙を開始し、給紙した用紙が所定の位置に達すると、画像データの出力を要求する。画像データの出力が要求されると、各復号回路１４は、ＤＭＡコントローラ１２を経て、メモリ１３のメモリブロックＭＢの１つに格納されている画像データの読み取りを要求する。
【００７１】
ＤＭＡコントローラ１２は、この読取要求を受け付け、該当するメモリブロックＭＢのリードポインタで示されるデータから読出し、この読み出されたデータを、要求元の復号回路に出力する。このときに、リードポインタを更新することになるが、既に読み出されたデータを格納していたアドレス空間は、後続する画像データを格納することができる空き領域になる。復号回路１４は、ＤＭＡコントローラ１２によって転送されたデータを復号し、プリンタエンジン１５に出力する。
【００７２】
次に、ホストコンピュータ１におけるプリンタドライバ４の処理の詳細について説明する。
【００７３】
図６は、プリンタドライバ４がオペレーティングシステム２から１描画単位のデータを受信した場合の動作を示すフローチャートである。
【００７４】
なお、１ページのプリントを行う際に、図６に示すフローチャートの動作が複数回、実行される。
【００７５】
まず、Ｓ６では、オペレーティングシステム２から渡されたデータ種類がページ開始指令であるか否かを判定する。ページ開始指令でなければ、Ｓ７に示すように、データの種類に応じたその他の処理（たとえばプリンタ能力問い合わせ指令等に対応する処理）を実行し、Ｓ６に戻る。
【００７６】
Ｓ６では、データ種類がページ開始指令であれば、Ｓ１に示すように、データの種類が描画指令であるか否かを判定する。描画指令であれば、Ｓ２に示すように、描画処理を行う。
【００７７】
ここで、描画データは、赤（Ｒ）、緑（Ｇ）、青（Ｂ）の各色８ビットによって生成される。たとえば、フォント種別やフォントサイズ、文字コードを受信した場合、それに応じた文字パターンを生成し、そのイメージデータの描画データを作成し、中間調画像の場合、指定された位置に、受信したイメージデータの描画データを作成する。
【００７８】
次いで、Ｓ９では、Ｓ２に示す描画したイメージの領域位置と、その領域の属性（すなわち文字・線画の描画であるか、中間調イメージであるかを示す領域属性）とを示す領域属性テーブルを作成する。この領域属性テーブルは、１ページの開始時にリセットされる。また、１ページの終了を示す情報を、オペレーティングシステム２が受信したときに、上記領域属性テーブルを参照することによって、どの領域が文字線画であるのか、どの領域が中間調画像領域であるのかを認識することができる。上記領域属性テーブルを作成した後に、Ｓ１に戻る。
【００７９】
さて、Ｓ１において、データの種類が描画指令でなければ、Ｓ３では、データの種類がページ終了指令であるか否かを判定する。データの種類が、ページ終了指令であれば、Ｓ４において、色変換処理と量子化数削減処理とを実行する。
【００８０】
具体的には、先に生成されたＲＧＢ３色の各色８ビットの画像を、公知の変換処理によって、記録色成分シアン（Ｃ）、マゼンタ（Ｍ）、黄（Ｙ）、黒（Ｋ）（各色成分とも８ビット／画素）とし、各記録色成分の画像データを、２ビット（４値化）に変換する。４値化は、たとえばディザ処理を行うことによって生成する。なお、色変換処理と量子化処理とを高速なものにするためのＬＵＴ（ルックアップテーブル）による処理で実現してもよい。このときに、用いるディザマトリクステーブルは、ユーザが印刷時に指定したモードに応じて決定される。
【００８１】
各テーブルの相違は、主に文章用、写真印刷用、図形等のグラフィック用のものであり、さらに、画質を優先するもの、圧縮率を優先させるもの等がある。
【００８２】
さて、Ｓ４では、記録色空間への変換と、４値化とが行われると、Ｓ５では、たとえば用紙サイズ、給紙元の選択、解像度、階調数、１ラインのバイト数、１ページのライン数等、印刷に必要な条件を指定する印刷条件指定コマンドを出力する。
【００８３】
続いて、Ｓ１０では、色毎の比較アドレスを設定するための比較アドレス設定コマンドを出力する。これによって、画像データ量の多い色に対して、メモリブロックＭＢを多く割り当てることができる。
【００８４】
次に、Ｓ１１、Ｓ１２、Ｓ１３において、シアン、マゼンタ、イエロー、ブラックの色毎に、圧縮符号化した画像データをコマンドとともに出力する。まず、Ｓ１１では、所定の圧縮手順に従い、画像データを圧縮符号化する。Ｓ１２では、Ｓ１１において符号化された画像データの色とサイズとを指定する画像データコマンドヘッダを出力する。
【００８５】
次に、Ｓ１３では、Ｓ１１において符号化された画像データを出力し、Ｓ１４では、シアン、マゼンタ、黄、黒の各プレーンの処理が全て終了したかどうかを判定する。全色成分のプレーンの処理の全ては終了していないと判断した場合、Ｓ１１に戻り、色を変えて、次のプレーンを処理する。このようにして、シアン、マゼンタ、イエロー、ブラックの各プレーンの処理が全て終了すると、Ｓ１５では、ページの終了を指定するページ終了コマンドを出力し、処理を終了する。
【００８６】
さて、Ｓ３において、データの種類がページ終了指令でなければ、Ｓ８のように、データの種類に応じたその他の処理（たとえばプリンタ能力問い合わせ指令等に対応する処理）を実行し、終了する。
【００８７】
上記のようにして作成された一連のコマンドは、オペレーティングシステム２を経て、ランゲージモニタ５に渡される。ランゲージモニタ５からカラープリンタ１０に至る通信路は、論理的に１つのコマンドチャネルと、シアン、マゼンタ、黄、黒の各色に対応する４つのデータチャネルによって構成される。
【００８８】
各チャネルでデータ転送が可能であるかどうかは、ステータス取得コマンドのレスポンスであるステータスによって示されている。ランゲージモニタ５は、コマンドを受け取ると、ＵＳＢポートドライバ６を経て、カラープリンタ１０にステータス要求コマンドを送信する。カラープリンタ１０は、ステータス要求コマンドを受信するとステータスを送信する。送信されたステータスは、ＵＳＢポートドライバ６を経て、ランゲージモニタ５に渡される。
【００８９】
ランゲージモニタ５は、渡されたステータスを調べ、送信が許可されているチャネルで送信すべきコマンド（データ）を送信する。たとえば、コマンドチャネルでの送信が許可され、印刷条件指定コマンド等、画像データコマンド以外のコマンドで、未送信のものがあれば、それを送信する。また、ブラックの画像に対応するデータチャネルでの送信が許可され、ブラックの画像データコマンドで、未送信のものがあれば、それを送信する。このようにして、ランゲージモニタ５は、ステータスを確認しながら、コマンドを送信し、渡された一連のコマンドを全て送信し終えるまで、送信を続ける。
【００９０】
ここで、送信の方法は、ある１つの色成分について全て出力してから、次の色成分に移るのではなく、複数の色成分のデータを、適当なデータ量単位に順次送信する。
【００９１】
次に、実施例１におけるランゲージモニタ５の処理手順の具体例について説明する。
【００９２】
図７は、実施例１におけるランゲージモニタ５の処理手順の具体例を示すフローチャートである。
【００９３】
まず、Ｓ３１では、１ページを構成する一連のコマンド（圧縮イメージデータを含む）全体を受信したかどうかを判定する。１ページを構成する一連のコマンド全体を受信していなければ、Ｓ３２では、ジョブが終了したか（すなわちそのジョブのコマンドを全て受信し終えたか）どうかを判定する。このジョブのコマンドを全て受信し終えた場合、処理を終了し、ジョブのコマンドを全て受信し終えていなければ、Ｓ３１に戻り、１ページを構成する一連のコマンド全体の受信を待つ。
【００９４】
Ｓ３１において、１ページを構成する一連のコマンド全体を受信したと判断すれば、Ｓ３３では、カラープリンタ１０のステータスを要求し、取得する。プリンタのステータスには、各メモリブロックＭＢに格納されている画像データのサイズが含まれている。
【００９５】
次に、Ｓ３４では、各メモリブロックＭＢに全色データを格納可能であるかどうかを判断する。各メモリブロックＭＢに全色データを格納可能であれば、Ｓ３９では、各色成分の圧縮符号化データをコマンドとして送信する。
【００９６】
Ｓ３４において、全色データを格納可能ではないと判断すると、Ｓ３５では、カラープリンタ１０のステータスを要求し、取得する。そして、Ｓ３６では、未処理の印刷データの有無を判断する。未処理のデータがあれば、Ｓ３５に戻る。Ｓ３６において、未処理の印刷データがなくなったと判断すると、Ｓ３９では、各色成分の圧縮符号化データを送信する。このＳ３９内では、各色成分について送信できる圧縮データについては送信し、バッファーフルになった後には、空きエリアができ次第、各色成分のデータを細切れにし、平均的に送信する。
【００９７】
次に、実施例１におけるカラープリンタ１０による印刷処理について説明する。
【００９８】
図８は、カラープリンタ１０に設けられている制御回路１６の処理手順（主に受信処理）を示すフローチャートである。
【００９９】
先ず、Ｓ２１では、コマンドを受信したか否かを判定し、コマンド受信を待つ。コマンドを受信したと判断すれば、Ｓ２２では、受信したコマンドがステータス要求コマンドであるか否かを判定する。受信したコマンドがステータス要求コマンドであれば、Ｓ２３では、ステータスを送信し、Ｓ２１に戻る。
【０１００】
また、Ｓ２２において、受信したコマンドがステータス要求コマンドでなければ、Ｓ２４では、受信したコマンドが印刷条件指定コマンドであるかどうかを判定する。受信したコマンドが、印刷条件指定コマンドであれば、Ｓ２５において、指定された印刷条件に従って、プリンタエンジン１５に印刷の開始を指示し、Ｓ２１に戻る。この印刷条件には、記録解像度や給紙元を指定する等が含まれている。
【０１０１】
Ｓ２４では、受信したコマンドが、印刷条件指定コマンドでもないと判断すれば、Ｓ２６では、受信したコマンドが、比較アドレス設定コマンドであるか否かを判定する。受信したコマンドが、比較アドレス設定コマンドであれば、Ｓ２７では、受信したメモリ比率指定コマンドに従って、比較アドレス設定レジスタを設定し、Ｓ２１に戻る。４つのリードポインタ制御回路２１１〜２１４と、４つのライトポインタ制御回路２２１〜２２４とを、初期化する。
【０１０２】
また、Ｓ２６において、受信したコマンドが比較アドレス設定コマンドでなければ、Ｓ２８では、受信したコマンドが画像データコマンドのヘッダ部分であるかどうかを判定する。受信したコマンドが画像データコマンドのヘッダ部分であれば、Ｓ２９において、画像データコマンドのヘッダ部分に、引き続く画像データを、画像データコマンドのヘッダ部分が示す画像の色に応じたメモリブロックＭＢに格納するように、ＤＭＡコントローラ１２を設定し、転送させ、Ｓ２１に戻る。
【０１０３】
ＤＭＡコントローラ１２は、画像データコマンドのヘッダ部分に続く画像データを、読み込むと、指定されたメモリブロックＭＢに格納する。一回の転送が完了した場合、ライトポインタを更新する。
【０１０４】
なお、Ｓ２８において、受信したコマンドが、画像データコマンドのヘッダ部分でなければ、Ｓ３０では、その他のコマンドの処理を行い、Ｓ２１に戻る。
【０１０５】
上記のようにして、各記録色成分のデータの転送が終わると、制御回路１６は、所定のタイミング（記録紙が所定位置まで搬送されるタイミング）で、各復号回路１４Ｙ、１４Ｍ、１４Ｃ、１４Ｋについて、記録順とドラムの間隔ｄとに見合った時間だけずれたタイミングで、復号処理を開始させる。これによって、処理済みとなった空きエリアが、各色成分のメモリブロックＭＢに発生するので、ホストコンピュータ１は、未転送のデータが存在すれば、そのデータを転送することができる。
【０１０６】
実施例１によれば、プリンタ内部のメモリ１３を、データ量が多い色成分に、多く割り当てることができるので、限られたメモリを有効利用することができる。したがって、圧縮率の違いによって、特定の色成分の画像データが大きくなった場合、少ないメモリ量であっても、記録スピードに対してデータ転送が間に合わなくなることを防止できる。
【０１０７】
また、特定の色に多くのメモリを再割り当てする場合、予め比較アドレスを設定しておくことによって、ハードウェアのみで実現されるので、ホストにおいて全ての記録データが生成されていなくても、データ転送を開始することができる。これによって、プリントのスループットをあげることができる。
【０１０８】
また、ホストコンピュータ側で、各記録色成分８ビットを、より少ないビット数にする際に、ディザ法を利用する例を示したが、ディザに限らず、誤差拡散法を利用してもよく、誤差拡散する場合には、誤差拡散に利用する誤差拡散係数とマトリクスサイズとを変更することによって、ディザマトリクスと同等に扱うことができる。
【０１０９】
また、実施例におけるカラープリンタ１０は、４階調（１画素２ビット）の階調画像を記録すると説明したが、印刷可能な階調数は、これに限らず、如何なる階調数でもよい。また、ホストコンピュータ１側で量子化する４値化も、同様であり、必ずしも少ビット化を必要とするものではない。ただし、最近のプリンタの記録解像度は非常に高いので、１ドットを多段階の濃度で再現するよりも、複数のドットで面積階調で、再現することが効率よく、しかもデータ量を削減できるので、望ましくは、上記実施例のように、１記録色成分のビット数を減らすことが望ましい。
【０１１０】
また、実施例１では、プリンタエンジンとして、レーザビームプリンタを使用しているが、インク液滴を吐出するタイプのプリンタにも、実施例１を適用することができる。たとえば、１走査ライン分の吐出ノズルが並んだフルラインヘッドを、記録色成分の数だけ用意した装置にも適用できる。
【０１１１】
また、ランゲージモニタ５に相当するコンピュータプログラムは、広義のプリンタドライバの一部でもあるので、プリンタドライバ４とランゲージモニタ５との両方から構成されるコンピュータプログラムを、プリンタドライバプログラムとして見ることもできる。
【０１１２】
また、プリンタドライバは、通常、ＣＤＲＯＭ等の可搬性のコンピュータ記憶媒体をコンピュータにセットし、システムにコピーまたはインストールして機能するものであるので、実施例１を、コンピュータ可読記憶媒体として把握することができる。
【図面の簡単な説明】
【０１１３】
【図１】本発明の実施例１であるカラープリンタ１０とホストコンピュータ１とを示すブロック図である。
【図２】実施例１におけるカラープリンタ１０の構成を示すブロック図である。
【図３】実施例１におけるプリンタエンジン１５を示す概念図である。
【図４】実施例１におけるプリンタエンジン１５内のスキャナ部３０１を示す概念図である。
【図５】カラープリンタ１０に設けられているリングバッファを示すブロック図である。
【図６】プリンタドライバ４がオペレーティングシステム２から１描画単位のデータを受信した場合の動作を示すフローチャートである。
【図７】実施例１におけるランゲージモニタ５の処理手順の具体例を示すフローチャートである。
【図８】カラープリンタ１０に設けられている制御回路１６の処理手順（主に受信処理）を示すフローチャートである。
【符号の説明】
【０１１４】
１…ホストコンピュータ、
１０…カラープリンタ、
１２…ＤＭＡコントローラ、
１３…メモリ、
ＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４、ＭＢ５…メモリブロック、
１５…プリンタエンジン。
【図１】
2005349755.tif 000003
【図２】
2005349755.tif 000004
【図３】
2005349755.tif 000005
【図４】
2005349755.tif 000006
【図５】
2005349755.tif 000007
【図６】
2005349755.tif 000008
【図７】
2005349755.tif 000009
【図８】
2005349755.tif 000010