(57)【要約】【課題】  圧縮されたデータを伸張して伸張後のデータを格納するメモリを、無駄なくかつ効率良く使うことができるようにする。【解決手段】  圧縮されたデータを伸張して伸張後のデータを格納するメモリを有する印刷装置と通信可能なデータ処理装置は、印刷設定の内容と前記メモリの容量とに基づいて、前記メモリに格納されるライン数を決定し、そのライン数に従ってデータを圧縮する。【選択図】  図３
2005182604.tif 000002
【特許請求の範囲】
【請求項１】
圧縮されたデータを伸張して伸張後のデータをメモリに格納する印刷装置と通信可能なデータ処理装置であって、
複数のラインに分かれたデータのうち、第１のラインにあるデータを参照することにより前記第１のラインとは異なる第２のラインにあるデータを圧縮する圧縮手段と、
設定された印刷設定の内容と前記メモリの容量とに基づいて、前記メモリに格納されるライン数を決定するライン数決定手段とを有し、
前記圧縮手段は、前記ライン数決定手段により決定されたライン数に従って、前記第１のラインにあるデータを参照することにより前記第２のラインにあるデータを圧縮することを特徴とするデータ処理装置。
【請求項２】
前記ライン数決定手段により決定されたライン数を前記印刷装置へ送信するライン数送信手段を有し、
前記印刷装置は、前記ライン数送信手段により送信されたライン数に従って、メモリに格納されるライン数を変更することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記圧縮手段は、前記第２のライン数から前記ライン数決定手段により決定されたライン数内の前記第１のラインにあるデータを参照することにより前記第２のラインにあるデータを圧縮することを特徴とする請求項１或いは２に記載のデータ処理装置。
【請求項４】
前記ライン数決定手段は、印刷の解像度、カラー印刷であるか白黒印刷であるか、階調及び用紙幅の少なくとも１つに基づいてライン数を決定することを特徴とする請求項１乃至３のいずれかに記載のデータ処理装置。
【請求項５】
前記ライン数決定手段は、複数の色のそれぞれごとに前記メモリを有する印刷装置に対して、複数の前記メモリのうちの２以上のメモリの合計容量に基づいてライン数を決定することを特徴とする請求項１乃至４のいずれかに記載のデータ処理装置。
【請求項６】
圧縮されたデータを伸張して伸張後のデータをメモリに格納するデータ処理装置であって、
複数のラインに分かれたデータのうち、第１のラインにあるデータを参照することにより前記第１のラインとは異なる第２のラインにあるデータを伸張する伸張手段と、
設定された印刷装置の内容と前記メモリの容量とに基づいて決定されたライン数を外部から受信する受信手段と、
前記受信手段により受信されたライン数に従って、前記メモリのライン構成を変更する変更手段とを有することを特徴とするデータ処理装置。
【請求項７】
前記メモリの容量を外部に送信する容量送信手段を有することを特徴とする請求項６に記載のデータ処理装置。
【請求項８】
複数の色のそれぞれごとに前記メモリを有し、
前記変更手段は、前記受信手段により受信されたライン数に従って、複数の前記メモリのうちの２以上のメモリのライン構成を変更することを特徴とする請求項６或いは７に記載のデータ処理装置。
【請求項９】
圧縮されたデータを伸張して伸張後のデータをメモリに格納する印刷装置と通信可能なデータ処理装置におけるデータ処理方法であって、
複数のラインに分かれたデータのうち、第１のラインにあるデータを参照することにより前記第１のラインとは異なる第２のラインにあるデータを圧縮する圧縮ステップと、
設定された印刷設定の内容と前記メモリの容量とに基づいて、前記メモリに格納されるライン数を決定するライン数決定ステップとを有し、
前記圧縮ステップでは、前記ライン数決定手段により決定されたライン数に従って、前記第１のラインにあるデータを参照することにより前記第２のラインにあるデータを圧縮することを特徴とするデータ処理方法。
【請求項１０】
圧縮されたデータを伸張して伸張後のデータをメモリに格納するデータ処理装置におけるデータ処理方法であって、
複数のラインに分かれたデータのうち、第１のラインにあるデータを参照することにより前記第１のラインとは異なる第２のラインにあるデータを伸張する伸張ステップと、
設定された印刷装置の内容と前記メモリの容量とに基づいて決定されたライン数に従って、前記メモリのライン構成を変更する変更ステップとを有することを特徴とするデータ処理方法。
【請求項１１】
圧縮されたデータを伸張して伸張後のデータをメモリに格納する印刷装置と通信可能なデータ処理装置を制御するためのプログラムであって、
複数のラインに分かれたデータのうち、第１のラインにあるデータを参照することにより前記第１のラインとは異なる第２のラインにあるデータを圧縮する圧縮ステップと、
設定された印刷設定の内容と前記メモリの容量とに基づいて、前記メモリに格納されるライン数を決定するライン数決定ステップとを前記データ処理装置に実行させ、
前記圧縮ステップでは、前記ライン数決定手段により決定されたライン数に従って、前記第１のラインにあるデータを参照することにより前記第２のラインにあるデータを圧縮することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの圧縮または伸張をするデータ処理装置に関するものである。
【背景技術】
【０００２】
例えばホストコンピュータベースの印刷装置においては、データの圧縮伸張方法は、印刷ジョブの印刷設定に関係なく、常に同じであった（例えば、特許文献１）。
【特許文献１】特開平０６−０５４２０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
データの圧縮伸張方法には、圧縮対象のデータを複数のラインに分けて、あるラインのデータを圧縮するために他のラインのデータを参照して圧縮を行う圧縮伸張方法がある。
【０００４】
図１６は、この圧縮伸張方式を用いた印刷装置内のデコーダの動きを示す図である。印刷装置は、ホストコンピュータから送信すれた圧縮データを受信バッファに格納する。受信バッファに格納された圧縮データはデコーダに渡されて伸張され、伸張後のデータはデコーダＲＡＭに格納されると同時に、後段の処理回路に渡される。
【０００５】
図１７は、このときのデコーダＲＡＭ内部のデータを表したものである。図１７の例では、デコーダＲＡＭは２ライン分のデータのみを格納するように設定されていて、現在は、ｎ−２ライン目のデータとｎ−１ライン名のデータがデコーダＲＡＭに格納されている。「Ｘ」はこれから伸張されるｎライン目のデータが格納される場所を示しており、「−」はデータが格納されていないことを示している。
【０００６】
「Ｘ」が記載されている部分に対応するデータは、「１ライン上のコマンドを４バイト分コピーする」というコマンドによってデータが圧縮されている。従って、デコーダはコマンドに従って、Ｂが示す４バイトのデータを「Ｘ」が示す場所にコピーする。なお、デコーダＲＡＭは２ライン分のデータのみを格納するように設定されているため、Ａが示す４バイトのデータが無効となる。
【０００７】
この圧縮伸張方法において、印刷ジョブの印刷設定に関係なく圧縮伸張方法が常に同じである場合、例えば印刷の設定において解像度、階調、カラーまたは白黒の等の設定によらず、デコーダＲＡＭが固定ライン数分のデータのみを格納し、常に決まったライン数内で印刷データを圧縮した場合、デコーダＲＡＭの一部しか使われず、データの圧縮率も悪くなる場合がある。
【０００８】
図１８の例では、デコーダＲＡＭが４ライン分のデータを格納するように設定されているとする。すると、「Ｘ」が記載されている部分に対応するデータは、「３ライン上のコマンドを４バイト分コピーする」というコマンドによって圧縮されることが可能である。
【０００９】
しかし、印刷ジョブの印刷設定に関係なく、デコーダＲＡＭに格納するライン数が常に２ラインである場合、コピーしたいデータが１ライン上ではなく３ライン上にあると、コピーを使った圧縮ができない。
【００１０】
つまり、印刷ジョブの印刷設定に合わせてデコーダＲＡＭを有効に使えれば、圧縮率を向上させることができ、さらには圧縮データの転送時間を短縮することが可能になる。
【００１１】
そこで、本発明では、印刷設定によって決定されたライン数に基づいてデータを圧縮できるようにする。または、印刷設定によってデコーダＲＡＭに格納するライン数を変更できるようにする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明に係るデータ処理装置は、圧縮されたデータを伸張して伸張後のデータをメモリに格納する印刷装置と通信可能なデータ処理装置であって、複数のラインに分かれたデータのうち、第１のラインにあるデータを参照することにより前記第１のラインとは異なる第２のラインにあるデータを圧縮する圧縮手段と、設定された印刷設定の内容と前記メモリの容量とに基づいて、前記メモリに格納されるライン数を決定するライン数決定手段とを有し、前記圧縮手段は、前記ライン数決定手段により決定されたライン数に従って、前記第１のラインにあるデータを参照することにより前記第２のラインにあるデータを圧縮することを特徴とする。
【００１３】
または、前記ライン数決定手段により決定されたライン数を前記印刷装置へ送信するライン数送信手段を有し、前記印刷装置は、前記ライン数送信手段により送信されたライン数に従って、メモリに格納されるライン数を変更することを特徴とする。
【００１４】
または、前記圧縮手段は、前記第２のライン数から前記ライン数決定手段により決定されたライン数内の前記第１のラインにあるデータを参照することにより前記第２のラインにあるデータを圧縮することを特徴とする。
【００１５】
または、前記ライン数決定手段は、印刷の解像度、カラー印刷であるか白黒印刷であるか、階調及び用紙幅の少なくとも１つに基づいてライン数を決定することを特徴とする。
【００１６】
または、前記ライン数決定手段は、複数の色のそれぞれごとに前記メモリを有する印刷装置に対して、複数の前記メモリのうちの２以上のメモリの合計容量に基づいてライン数を決定することを特徴とする。
【００１７】
上記課題を解決するために、本発明に係るデータ処理装置は、圧縮されたデータを伸張して伸張後のデータをメモリに格納するデータ処理装置であって、複数のラインに分かれたデータのうち、第１のラインにあるデータを参照することにより前記第１のラインとは異なる第２のラインにあるデータを伸張する伸張手段と、設定された印刷装置の内容と前記メモリの容量とに基づいて決定されたライン数を外部から受信する受信手段と、前記受信手段により受信されたライン数に従って、前記メモリのライン構成を変更する変更手段とを有することを特徴とする。
【００１８】
または、前記メモリの容量を外部に送信する容量送信手段を有することを特徴とする。
【００１９】
または、複数の色のそれぞれごとに前記メモリを有し、前記変更手段は、前記受信手段により受信されたライン数に従って、複数の前記メモリのうちの２以上のメモリのライン構成を変更することを特徴とする。
【発明の効果】
【００２０】
本発明によれば、圧縮されたデータを伸張して伸張後のデータを格納するメモリを、例えばデコーダＲＡＭを、無駄なくかつ効率良く使うことができるようになる。それによって、データの圧縮率が高まり、例えば、データ転送が間に合わずに印刷できなかったものが印刷出来るようになる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態について図面を用いながら説明する。
【００２２】
具体的な実施例の構成を説明する前に、以下の実施例を適用するに好適なレーザビームプリンタおよびインクジェットプリンタの構成について図１３〜図１５を参照しながら説明する。なお、以下の実施例を適用するプリンタは、レーザビームプリンタおよびインクジェットプリンタに限られるものではなく、他のプリンタ方式のプリンタでも良いことは言うまでもない。
【００２３】
図１３は本発明を適用可能な第１のタイプの印刷装置の構成を示す断面図であり、たとえば、レーザビームプリンタ（ＬＢＰ）の場合を示す。
【００２４】
図において、１５００はＬＢＰ本体であり、外部に接続されているホストコンピュータから供給される印刷情報（文字コード等）やフォーム情報あるいはマクロ命令等を入力して記憶するとともに、それらの情報にしたがって対応する文字パターンやフォームパターン等を作成し、記録媒体である記録紙等に像を形成する。１５０１は操作のためのスイッチ及びＬＥＤ表示器等が配されている操作パネル、１０００はＬＢＰ本体１５００全体の制御及びホストコンピュータから供給される文字情報を解析するプリンタ制御ユニットである。このプリンタ制御ユニット１０００は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ１５０２に出力する。レーザドライバ１５０２は半導体レーザ１５０３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１５０３から発射されるレーザ光１５０４をオン・オフ切り換えをする。レーザ光１５０４は回転多面鏡１５０５で左右方向に振らされて静電ドラム１５０６上を走査露光する。これにより、静電ドラム１５０６上には文字パターン静電潜像が形成される事になる。この潜像は、静電ドラム１５０６周囲に配設された現像ユニット１５０７により現像された後、記録紙に転写される。この記録紙にはカットシートを用い、カットシート記録紙はＬＢＰ１５００に装着した用紙かセット１５０８に収納され、給紙ローラ１５０９および搬送ローラ１５１０と搬送ローラ１５１１とにより、装置内に取り込まれて、静電ドラム１５０６に供給される。また、ＬＢＰ本体１５００には、図示しないカードスロットを少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なる制御カード（エミュレーションカード）を接続できるように構成されている。
【００２５】
図１４は本発明を適用可能な第２のタイプの印刷装置の構成を示す外観図であり、例えばイングジェット記録装置（ＩＪＲＡ）の場合を示す。
【００２６】
図において、駆動モータ５０１３の正逆回転に連動して駆動力伝達ギア５０１１、５００９を介して回転するリードスクリュー５００５の螺旋溝５００４に対して係合するキャリッジＨＣはピン（図示しない）を有し、矢印ａ，ｂ方向に往復移動される。このキャリッジＨＣには、インクジェットカートリッジＩＪＣが搭載されている。５００２は紙押さえ板であり、キャリッジ移動方向にわたって紙をプラテン５０００に対して押圧する。５００７、５００８はフォトカプラで、キャリッジのレバー５００６のこの域での存在を確認して、モータ５０１３の回転方向切り換え等を行なうためのホームポジション検知手段として機能する。５０１６は記録ヘッドの全面をキャップするキャップ部材５０２２を支持する部材、５０１５はこのキャップ内を吸引する吸引手段でキャップ内開口５０２３を介して記録ヘッドの吸引回復を行なう。５０１７はクリーニングブレードで、部材５０１９により前後方向に移動可能となる。５０１８は本体支持板で、上記５０１７、５０１９を支持する。５０１２は、吸引回復の吸引を開始するためのレバーで、キャリッジと係合するカム５０２０の移動に伴って移動し、駆動モータから駆動力がクラッチ切り換え等の公知の伝達手段で移動制御される。
【００２７】
これらのキャピング、クリーニング、吸収回復は、キャリッジがホームポジション側領域にきたときにリードスクリュー５００５の作用によってそれらの対応位置で所望の処理が行なえるように構成されているが、周知のタイミングで所望動作を行なうように構成されていればよい。
【００２８】
図１５は、図１４に示した第２のタイプの印刷装置の制御構成を説明するブロック図である。図において、１７００は記録信号を入力するインタフェース、１７０１はＭＰＵ，１７０２は前記ＭＰＵ１７０１が実行する制御プログラムやホスト印刷情報等を格納するＲＯＭ，１７０３はＤＲＡＭで、各種データ（上記記録信号やヘッドに供給される記録データ等）を保存しておく。１７０４は記録ヘッド１７０８に対する出力データの供給制御を行なうゲートアレイで、インタフェース１７００、ＭＰＵ１７０１，ＤＲＡＭ１７０３間のデータの転送制御も行なう。１７１０は前記記録ヘッド１７０８を搬送するためのキャリアモータ、１７０９は記録用紙搬送のための搬送モータ、１７０５は前記記録ヘッドを駆動するヘッドドライバ、１７０６は前記搬送モータ１７０９を駆動するモータドライバ、１７０７は前記キャリアモータ１７１０を駆動するモータドライバである。このように構成された印刷装置において、インタフェース１７００を介して後述するホストコンピュータ１００より入力情報が入力されると、ゲートアレイ１７０４とＭＰＵ１７０１との間で入力情報がプリント用の出力情報に変換される。そして、モータドライバ１７０６、１７０７が駆動されうとともに、ヘッドドライバ１７０５に送られた出力情報に従って記録ヘッドが駆動され印字が実行される。
【実施例１】
【００２９】
実施例１では、ホストコンピュータベースの印刷装置（以下、プリンタ）において、ホストコンピュータでの印刷設定で設定された情報と、プリンタコントローラのデコーダＲＡＭのメモリ容量とに基づき、デコーダＲＡＭのライン構成を決定し、ホストコンピュータがそのライン構成でエンコード（伸張）を行うことで、高い圧縮率を得られることを説明する。
【００３０】
図１は、本発明に係るホストコンピュータベースの印刷システムのブロック図である。
【００３１】
１は、印刷設定の設定値（解像度：６００ｄｐｉまたは１２００ｄｐｉ、カラーまたは白黒、階調：１、２または４ｂｉｔ、用紙の幅：Ａ４またはＡ３など）に基づいて１ライン（主走査方向）に必要なデコーダＲＡＭのメモリ容量を求め、何ライン（Ｎライン）分のデータがデコーダＲＡＭに入るかを計算し、そのＮライン分の画像データをエンコードするホストコンピュータである。
【００３２】
２は、ホストコンピュータ１からのデコーダＲＡＭのライン構成指示に従って、デコーダＲＡＭを構成し、ホストコンピュータ１から送られてきた画像データをデコード（圧縮）して印刷を行うプリンタである。
【００３３】
３は、ホストコンピュータ１からの画像データをデコードし、プリンタエンジン部へビデオデータを送るプリンタコントローラである。
【００３４】
４は、プリンタコントローラ３からのビデオデータをもとに、画像を用紙に印刷するプリンタエンジン部である。
【００３５】
５は、プリンタコントローラ３内部のＡＳＩＣであり、デコーダ、デコーダＲＡＭ、シッパーＦＩＦＯ、受信バッファ制御部を内蔵する。
【００３６】
６は、ホストコンピュータからのエンコードされた画像データを一時的に貯えるための受信バッファである。受信バッファ６はＤＲＡＭなどで構成される。
【００３７】
７は、ホストコンピュータとの間でコマンドまたはステータス情報を送受信したり、プリンタエンジン部４との間でコマンドまたはステータス情報を送受信したり、印刷のための制御の指示をＡＳＩＣに行うＣＰＵである。
【００３８】
８は、ホストコンピュータからの画像データをプリンタへ送るための通信媒体としてのＵＳＢケーブルである。
【００３９】
９は、プリンタエンジン部４とプリンタコントローラ３を接続するためのＶｉｄｅｏ  Ｉ／Ｆ（ビデオインターフェース）である。
【００４０】
図２は、ＡＳＩＣの内部構成を示すブロック図である。
【００４１】
１０は、ＡＳＩＣ５に内蔵されているデコーダである。１１は、ビデオデータをプリンタエンジン部４へ送るために、一時的にビデオデータを貯えるためのシッパーＦＩＦＯである。１２は、ＡＳＩＣ５に内蔵されているデコーダＲＡＭである。
【００４２】
図３は、実施例１のホストコンピュータ１が行うデータ処理を示すフローチャートである。例えば、ホストコンピュータ１のＣＰＵは、図３のフローチャートに基づくプログラムに従って、以下のようなデータ処理を行う。このデータ処理では、ホストコンピュータ１がプリンタ２へエンコードされた画像データを送り、印刷が行われる。
【００４３】
ステップＳ１１では、ホストコンピュータにおいて印刷ボタンが押されたときに、画像データの出力先となるプリンタから、当該プリンタに関する情報を受信する。プリンタに関する情報には、デコーダＲＡＭのメモリ容量が含まれている。
【００４４】
ステップＳ１２では、印刷ボタンが押されたときの印刷設定の設定値に基づいて、用紙の１ライン（主走査方向）分のデータを記憶するのに必要なデコーダＲＡＭのメモリ容量を求める。ここでの設定値には、解像度：３００、６００または１２００ｄｐｉ、カラーまたは白黒、階調：１、２または４ｂｉｔ、用紙幅：Ａ４またはＡ３などが挙げられる。
【００４５】
例えば、６００ｄｐｉ、白黒、１ｂｉｔ、Ａ４（２１０ｍｍ）という印刷設定では、（２１０ｍｍ／２５．４）×６００ｄｐｉ（解像度）×１ｂｉｔ（階調）＝４９６０ｂｉｔという計算により、１ラインに必要なメモリ容量は４９６０ｂｉｔ（６２０バイト）となる。
【００４６】
ステップＳ１３では、ステップＳ１１で受信したデコーダＲＡＭのメモリ容量に基づいて、デコーダＲＡＭが何ライン分を構成できるかを計算する。例えば、デコーダＲＡＭのメモリ容量が２Ｋバイトである場合、（２バイト×１０２４）／６２０バイト（ステップＳ１２で求めた値）＝３．３という計算により、３ライン分を構成できることが判る。この計算により求められたライン数をプリンタ２へ通知するべく、計算により求められたライン数を示すライン構成指示をプリンタ２へ送信する。
【００４７】
ステップＳ１４では、１ページ分の画像データをエンコードする。エンコードの処理では、ステップＳ１３で求めたライン数内であれば前のラインにあるデータを参照して（コピーするコマンドを使って）、データをエンコードすることが可能である。
【００４８】
ステップＳ１５では、ステップＳ１４でエンコードした画像データをプリンタ２へ転送する。または、ホストコンピュータ１とプリンタ２との間でコマンドやステータス情報の送受信を行う。これにより、任意のタイミングでプリンタエンジン部４の起動が行われる。または、印刷のためのマージン等の情報も送信する。
【００４９】
ステップＳ１６では、１ページ分の画像データの転送が終了したかどうかを判断する。転送が終了していない場合には、ステップＳ１５へ進む。転送が終了している場合には、ステップＳ１７へ進む。
【００５０】
ステップＳ１７では、次のページがあるかどうかを判断する。次のページがある場合には、ステップＳ１２へ進み、ない場合には、１つの印刷ジョブに関し処理を終了する。
【００５１】
図４は、プリンタ２が実行するデータ処理を示すフローチャートである。
【００５２】
ステップＳ２１では、プリンタ２に関する情報をホストコンピュータ１へ送る。プリンタ２に関する情報には、デコーダＲＡＭのメモリ容量を示す情報が含まれている。
【００５３】
ステップＳ２２では、ホストコンピュータ１からのライン構成指示に従って、図３のステップＳ１２で求められたライン数に基づいて、デコーダＲＡＭを構成する。
【００５４】
ステップＳ２３では、ホストコンピュータ１から転送されてくる圧縮された画像データを受信して、それを受信バッファ６に格納する。または、ホストコンピュータ１とプリンタ２との間でコマンドやステータスの送受信を行う。これにより、任意のタイミングでプリンタエンジン部４の起動が行われる。また、印刷のためのマージン等の情報も入手する。または、受信バッファ６の空き容量を示す情報をホストコンピュータ１へ送信する。
【００５５】
ステップＳ２４では、１ページ分の画像データの転送が終了したかを判断する。ステップＳ２５では、次のページがあるかどうかを判断する。
【００５６】
以上のデータ処理により、プリンタコントローラのデコーダＲＡＭを印刷設定に合わせて効率よく利用できるため、データの圧縮率を向上させることができる。
【実施例２】
【００５７】
実施例２は、ホストコンピュータベースの４ドラムのカラー印刷装置（以下、カラープリンタ）において、ホストコンピュータの印刷設定で設定された情報と、カラープリンタのプリンタコントローラの４つのデコーダＲＡＭのそれぞれのメモリ容量に基づき、デコーダＲＡＭの結合方法やライン構成を決定し、ホストコンピュータがそのライン構成でエンコードを行うことで、高い圧縮率を得られることを説明する。
【００５８】
なお、実施例２の場合のホストコンピュータベースの印刷システムは、図１の印刷システムと同様である。ただし、図１のＡＳＩＣ５は、図５または図６のＡＳＩＣ１５になる。
【００５９】
図５は、４ドラムのカラープリンタにおけるＡＳＩＣの内部構成を示すブロック図である。
【００６０】
１５は、プリンタコントローラ３内部のＡＳＩＣであり、４個のデコーダ、４個のデコーダＲＡＭ、４個のシッパーＦＩＦＯ及び受信バッファ制御部を内蔵する。
【００６１】
１６は、カラープリンタのプリンタエンジン部４とプリンタコントローラ３とを接続するためのＶｉｄｅｏＩ／Ｆである。
【００６２】
１７ａ、１７ｂ、１７ｃ及び１７ｄは、プリンタコントローラ３のＡＳＩＣに内蔵されているデコーダ（デコーダＹ、デコーダＭ、デコーダＣ、デコーダＫ）である。カラープリンタであるため、デコーダは各色（Ｙ、Ｍ、Ｃ、Ｋ）毎に１つずつ存在する。例えば、デコーダＹは、Ｙ用のデコーダである。
【００６３】
１８ａ、１８ｂ、１８ｃ及び１８ｄは、ビデオデータをプリンタエンジン部４へ送るために、一時的にビデオデータを貯えるためのシッパーＦＩＦＯ（ＦＩＦＯ  Ｙ、ＦＩＦＯ  Ｍ、ＦＩＦＯ  Ｃ、ＦＩＦＯ  Ｋ）である。シッパーＦＩＦＯも各色（Ｙ、Ｍ、Ｃ、Ｋ）毎に１つずつ存在する。ＦＩＦＯ  Ｙは、Ｙ用のシッパーＦＩＦＯである。
【００６４】
１９ａ、１９ｂ、１９ｃ及び１９ｄは、ＡＳＩＣに内蔵されているデコーダＲＡＭ（デコーダＲＡＭ  Ｙ、デコーダＲＡＭ  Ｍ、デコーダＲＡＭ  Ｃ、デコーダＲＡＭ  Ｋ）である。デコーダＲＡＭも各色（Ｙ、Ｍ、Ｃ、Ｋ）毎に１つ存在する。デコーダＲＡＭ  Ｙは、Ｙ用のデコーダＲＡＭである。
【００６５】
図６は、図５に示すＡＳＩＣに対する変形例です。図６に示すＡＳＩＣでは、デコーダは、バス接続回路を介してデコーダＲＡＭと接続されている。２０は、各色のデコーダと各色のデコーダＲＡＭとをつなぐバス接続回路である。このバス接続回路２１によれば、１つのデコーダに４つのデコーダＲＡＭを接続することができ、このとき、デコーダのデコーダＲＡＭのメモリ容量は４倍になる。
【００６６】
図７及び図９は、４ドラムのカラープリンタ２のデコーダＲＡＭの使われ方を示す図である。また、図８は、ドラムと印刷用紙との関係とを表した図である。
【００６７】
図７の（Ａ）は、デコーダＲＡＭのメモリマップ図であり、４つのデコーダのそれぞれに１つずつデコーダＲＡＭを割り当てた場合を示している。この場合、ドラムと印刷用紙との関係は、図８の（Ａ）のようになっている。
【００６８】
図７の（Ｂ）は、印刷用紙の長さＬが、ドラム間隔Ｄに対して、Ｌ＜２Ｄのとき（図８の（Ｂ）のとき）のメモリマップを示している。図８の（Ｂ）が示すように、印刷用紙が同時に２つのドラムに接触している（３つは接触しない）。この場合、（１）用紙が、Ｙのみにかかる時、デコーダＲＡＭのＹとＣを、デコーダＹの同一アドレス上にマップし容量を２倍として使用する。（２）用紙が、ＹとＭにかかっている時、デコーダＲＡＭのＹとＣを、デコーダＹの同一アドレス上にマップし、容量を２倍にして使用する。また、デコーダＲＡＭのＭとＫを、デコーダＭの同一アドレス上にマップし、容量を２倍にして使用する。（３）用紙が、ＭとＣにかかっている時、デコーダＲＡＭのＹとＣを、デコーダＣの同一アドレス上にマップし、容量を２倍にして使用する。また、デコーダＲＡＭのＭとＫを、デコーダＭの同一アドレス上にマップし、容量を２倍にして使用する。（４）用紙が、ＣとＫにかかっている時、デコーダＲＡＭのＹとＣを、デコーダＣの同一アドレス上にマップし、容量を２倍にして使用する。また、デコーダＲＡＭのＭとＫを、デコーダＫの同一アドレス上にマップし、容量を２倍にして使用する。（５）用紙が、Ｋのみにかかっている時、デコーダＲＡＭのＭとＫを、デコーダＫの同一アドレス上にマップし容量を２倍として使用する。
【００６９】
図７の（Ｃ）は、印刷用紙の長さＬが、ドラム間隔Ｄに対して、Ｌ＜３Ｄのとき（図８の（Ｃ）のとき）のメモリマップを示している。図８の（Ｃ）が示すように、印刷用紙が同時に３つのドラムの接触している（４つは接触しない）。この場合、始めは、デコーダＲＡＭのＹとＫを、デコーダＹの同一アドレス上にマップし、容量を２倍にして使用する。印刷用紙がＫのドラムにかかった時、デコーダＲＡＭのＹとＫを、デコーダＫの同一アドレス上にマップし、容量を２倍にして使用する。デコーダＲＡＭ  Ｍは、デコーダＭに接続し、デコーダＲＡＭ  Ｋは、デコーダＫに接続して使用する。
【００７０】
図９は、白黒印刷の場合を示しており、すべてのデコーダＲＡＭをデコーダＫに接続して使用する。
【００７１】
図１０及び１１は、実施例２のホストコンピュータ１が行うデータ処理を示すフローチャートである。例えば、ホストコンピュータ１のＣＰＵは、図１０及び１１のフローチャートに基づくプログラムに従って、以下のようなデータ処理を行う。このデータ処理では、ホストコンピュータ１がカラープリンタ２へエンコードされた画像データを送り、印刷が行われる。
【００７２】
ステップＳ３１では、ホストコンピュータにおいて印刷ボタンが押されたときに、画像データの出力先となるカラープリンタから、当該カラープリンタに関する情報を受信する。カラープリンタに関する情報は、デコーダＲＡＭのメモリ容量が含まれている。このとき、デコーダＲＡＭ１９ａ、１９ｂ、１９ｃ及び１９ｄそれぞれのメモリ容量を入手する。
【００７３】
ステップＳ３２では、印刷ボタンが押されたときの印刷設定の設定値に基づいて、用紙の１ライン（主走査方向）分のデータを記憶するのに必要なデコーダＲＡＭのメモリ容量を求める。ここでの設定値には、解像度：３００、６００または１２００ｄｐｉ、カラーまたは白黒、階調：１、２または４ｂｉｔ、用紙幅：Ａ４またはＡ３、用紙長さ：Ａ４またはＡ３などが挙げられる。
【００７４】
例えば、６００ｄｐｉ、カラー、２ｂｉｔ、Ａ４（２１０ｍｍ）という印刷設定では、（２１０ｍｍ／２５．４）×６００ｄｐｉ（解像度）×２ｂｉｔ（階調）＝９９２０ｂｉｔという計算により、１ラインに必要なメモリ容量は９９２０ｂｉｔ（１２４０バイト）となる。
【００７５】
ステップＳ３３では、カラー印刷であるか白黒印刷であるかを判断する。
【００７６】
ステップＳ３４では、印刷が白黒印刷であるため、Ｙ、Ｍ、Ｃ、Ｋ用のデコーダＲＡＭすべてをデコーダ１７ｄへ割り当てる。
【００７７】
ステップＳ３５では、デコーダ１７ｄに接続されたデコーダＲＡＭで何ライン分を構成できるかを計算する。例えば、６００ｄｐｉ、モノクロ、１ｂｉｔ、Ａ４（２１０ｍｍ）という印刷設定では、（２１０ｍｍ／２５．４）×６００ｄｐｉ（解像度）×１ｂｉｔ（階調）＝４９６０ｂｉｔという計算により、１ラインに必要なメモリ容量は４９６０ｂｉｔ（６２０バイト）となる。次に、デコーダＲＡＭ１９ａ、１９ｂ、１９ｃ及び１９ｄのそれぞれのメモリ容量が４Ｋバイトである場合、デコーダ１７ｄに割り当てられるデコーダＲＡＭのメモリ容量は、４Ｋバイト×４＝１６Ｋバイトとなる。さらに、（１６バイト×１０２４）／６２０バイト（ステップ＝２６．４という計算により、２６ライン分を構成できることが判る。この計算より求められたライン数をカラープリンタ２へ通知するべく、計算により求められたライン数を示すライン構成指示をカラープリンタ２へ送信する。
【００７８】
ステップＳ３６では、１ページ分の画像データをエンコードする。エンコードの処理では、ステップＳ３５で求めたライン数内であれば前のラインにあるデータを参照して（コピーするコマンドを使って）、データをエンコードすることが可能である。
【００７９】
ステップＳ３７では、ステップＳ３６でエンコードした圧縮した画像データをカラープリンタ２へ転送する。または、ホストコンピュータ１とカラープリンタ２との間でコマンドやステータス情報の送受信を行う。これにより、任意のタイミングでプリンタエンジン部４の起動が行われる。または、印刷の為のマージン等の情報を送信する。
【００８０】
ステップＳ３８では、１ページ分の画像データの転送が終了したかどうかを判断する。ステップＳ３９では、次のページがあるかどうかを判断する。次のページがない場合には、１つの印刷ジョブに関し処理を終了する。
【００８１】
一方、ステップＳ４０では、印刷用紙の長さＬと、各ドラムの間隔Ｄとの関係を判断する。ここでは、印刷用紙とドラムとの関係が図８の（Ｂ）であったと判断したとする。
【００８２】
ステップＳ４１では、デコーダにデコーダＲＡＭを割り当てる。具体的には、デコーダ１７ａにデコーダＲＡＭ１９ａとデコーダＲＡＭ１９ｃを割り当て、デコーダ１７ｂにデコーダＲＡＭ１９ｂとデコーダＲＡＭ１９ｄを割り当てる。
【００８３】
ステップＳ４２では、ステップＳ３１で受信した情報が示すデコーダＲＡＭのメモリ容量に基づき、デコーダＲＡＭが何ライン分を構成できるかを計算する。例えば、デコーダＲＡＭのメモリ容量が４Ｋバイトである場合、（４バイト×１０２４）／１２４０バイト（ステップＳ３２で求めた値）＝３．３となるので、３ライン分を構成できると判る。この計算より求められたライン数をカラープリンタ２へ通知するべく、計算に求められたライン数を示すライン構成指示をカラープリンタ２へ送信する。
【００８４】
ステップＳ４３では、１ページ分のＹ、Ｍ、Ｃ及びＫ成分のうちのいずれかの画像データをエンコードする。エンコードの処理では、ステップＳ４２で求めたライン数内であれば前のラインにあるデータを参照して（コピーするコマンドを使って）、データをエンコードすることが可能である。
【００８５】
ステップＳ４４では、ステップＳ４３でエンコードした画像データをカラープリンタ２へ転送する。
【００８６】
ステップＳ４５では、印刷用紙がいずれのドラムを通過したかを調べて、デコーダにデコーダＲＡＭを割り当てなおす必要があるかを判断する。割り当てなおす必要がある場合には、ステップＳ４５に進み、必要がない場合には、ステップＳ４４に進む。
【００８７】
ステップＳ４６では、デコーダにデコーダＲＡＭを割り当て直す。例えば、印刷用紙がＭのドラムを通過した後であれば、デコーダ１７ｃにデコーダＲＡＭ１９ａとデコーダＲＡＭ１９ｃを割り当て、デコーダ１７ｄにデコーダＲＡＭ１９ｂとデコーダＲＡＭ１９ｄを割り当てる。
【００８８】
ステップＳ４７では、ステップＳ４６で割り当てたデコーダＲＡＭに対しライン構成を計算し、カラープリンタ２へ指示する。例えば、デコーダＲＡＭのメモリ容量が４Ｋバイトである場合、（４バイト×１０２４）／１２４０バイト（ステップＳ３２で求めた値）＝３．３となるので、３ライン分を構成できることが判る。この計算より求められたライン数を、カラープリンタ２へ指示する。
【００８９】
ステップＳ４８では、１ページ分の画像データの転送が終了したかどうかを判断する。ステップＳ４０では、次のページがあるかどうかを判断する。次のページがなければ、１つの印刷ジョブの処理を終了する。
【００９０】
図１２は、実施例２のカラープリンタ２が行うデータ処理を示すフローチャートである。ステップＳ５１では、カラープリンタ２は、カラープリンタ２に関する情報をホストコンピュータ１へ送信する。送信される情報には、プリンタコントローラ３内の４つのデコーダＲＡＭのメモリ容量に関するものを含む。
【００９１】
ステップＳ５２では、ホストコンピュータ１からのライン構成指示に従って、デコーダＲＡＭを構成する。
【００９２】
ステップＳ５３では、ホストコンピュータ１からエンコードされた画像データを受信する。または、ホストコンピュータ１との間でコマンドやステータス情報の送受信を行う。これにより、任意のタイミングでプリンタエンジンの起動が行われる。送受信される情報には、印刷のためのマージン等に関する情報や、受信バッファの空き容量を示す情報が含まれる。
【００９３】
ステップＳ５４では、１ページの画像データが転送されたかを判断し、ステップＳ５５では、次のページがあるかどうかを判断する。
【図面の簡単な説明】
【００９４】
【図１】ホストコンピュータベースの印刷システムのブロック図である。
【図２】ＡＳＩＣの内部構成を示すブロック図である。
【図３】実施例１のホストコンピュータ１が行うデータ処理を示すフローチャートである。
【図４】プリンタ２が実行するデータ処理を示すフローチャートである。
【図５】４ドラムのカラープリンタにおけるＡＳＩＣの内部構成を示すブロック図である。
【図６】４ドラムのカラープリンタにおけるＡＳＩＣの内部構成を示すブロック図である。
【図７】４ドラムのカラープリンタ２のデコーダＲＡＭの使われ方を示す図である。
【図８】ドラムと印刷用紙との関係とを表した図である。
【図９】４ドラムのカラープリンタ２のデコーダＲＡＭの使われ方を示す図である。
【図１０】実施例２のホストコンピュータ１が行うデータ処理を示すフローチャートである。
【図１１】実施例２のホストコンピュータ１が行うデータ処理を示すフローチャートである。
【図１２】実施例２のカラープリンタ２が行うデータ処理を示すフローチャートである。
【図１３】第１のタイプの印刷装置の構成を示す断面図である。
【図１４】第２のタイプの印刷装置の構成を示す外観図である。
【図１５】第２のタイプの印刷装置の制御構成を説明するブロック図である。
【図１６】印刷装置内のデコーダの動きを示す図である。
【図１７】デコーダＲＡＭ内部のデータを表したものである。
【図１８】デコーダＲＡＭ内部のデータを表したものである。
【符号の説明】
【００９５】
１  ホストコンピュータ
２  プリンタ
３    プリンタコントローラ
４  プリンタエンジン部
５  ＡＳＩＣ
６  受信バッファ
７  ＣＰＵ
８  ＵＳＢケーブル
９  Ｖｉｄｅｏ  Ｉ／Ｆ
１０  デコーダ
１１  ＦＩＦＯ
１２  デコードＲＡＭ
１３  制御部
１５  ＡＳＩＣ
１６  Ｖｉｄｅｏ  Ｉ／Ｆ
１７  デコーダ
１８  ＦＩＦＯ
１９  デコーダＲＡＭ
２０  制御部
２１  バス接続回路
１５００  ＬＢＰ本体
１５０１  操作のためのスイッチ及びＬＥＤ
１５０２  レーザ・ドライバ
１５０３  半導体レーザ
１５０４  レーザ光
１５０５  回転多面鏡
１５０６  静電ドラム
１５０７  現像ユニット
１５０８  用紙カセット
１５０９  給紙ローラ
１５１０  搬送ローラ
１５１１  搬送ローラ
１７００  インタフェース
１７０１  ＭＰＵ
１７０２  ＲＯＭ
１７０３  ＤＲＡＭ
１７０４  Ｇ．Ａ
１７０５  ヘッドドライバ
１７０６  モータドライバ
１７０７  モータドライバ
１７０８  記録ヘッド
１７０９  搬送モータ
１７１０  キャリアモータ
５０００  プラテン
５００２  紙押さえ板
５００４  螺旋溝
５００５  リード・スクリュー
５００６  キャリッジのレバー
５００７  フォト・インタラプタ
５００８  フォト・インタラプタ
５００９  駆動力伝達ギア
５０１０  駆動力伝達ギア
５０１１  駆動力伝達ギア
５０１３  モータ
５０１５  記録ヘッドの吸引を行なう
５０１６  キャップ部材を指示する部材
５０１７  クリーニング・ブレード
５０１８  本体支持板
５０１９  部材
５０２０  カム
５０２２  キャップ部材
５０２３  キャップ内開口
【図１】
2005182604.tif 000003
【図２】
2005182604.tif 000004
【図３】
2005182604.tif 000005
【図４】
2005182604.tif 000006
【図５】
2005182604.tif 000007
【図６】
2005182604.tif 000008
【図７】
2005182604.tif 000009
【図８】
2005182604.tif 000010
【図９】
2005182604.tif 000011
【図１０】
2005182604.tif 000012
【図１１】
2005182604.tif 000013
【図１２】
2005182604.tif 000014
【図１３】
2005182604.tif 000015
【図１４】
2005182604.tif 000016
【図１５】
2005182604.tif 000017
【図１６】
2005182604.tif 000018
【図１７】
2005182604.tif 000019
【図１８】
2005182604.tif 000020