(57)【特許請求の範囲】
【請求項１】
印刷データに従いビットマップデータを生成し、プリンタエンジンに出力する印刷制御装置において、
印刷データに従い第１の解像度で展開されたビットマップデータを格納するメモリと、
前記メモリに格納された前記ビットマップデータに含まれるバーコードデータを検出する検出手段と、
前記プリンタエンジンの第２の解像度の印刷ヘッドに対応して前記ビットマップデータを前記第２の解像度に対応したデータに変換する印刷密度変換手段と、
前記印刷密度変換手段で変換したデータを前記プリンタエンジンに出力する出力手段と
を備え、
前記印刷密度変換手段は、
前記検出手段で検出したバーコードデータの変換後の前記第２の解像度のデータが前記バーコードデータのバーの整列方向に伸長されるように、前記ビットマップデータのバーコードデータの１ドットに対する変換後の前記第２の解像度のドット数を前記バーコードデータ以外のデータの１ドットに対する変換後の前記第２の解像度のドット数よりも多い数に変換して、前記バーコードデータの印刷後のバーコードの幅が規定の大きさになるように変換する
ことを特徴とする印刷制御装置。
【請求項２】
前記検出手段は、前記ビットマップデータに含まれるバーコードデータのスタートパターンとストップパターンを検出し、前記ビットマップデータの前記スタートパターンとストップパターンに挟まれた領域を前記バーコードデータとして検出する
ことを特徴とする請求項１の印刷制御装置。
【請求項３】
印刷データに従いビットマップデータを生成し、プリンタエンジンに出力する印刷制御方法において、
印刷データに従い第１の解像度で展開されたビットマップデータをメモリに格納するデータ格納ステップと、
前記メモリの前記ビットマップデータに含まれるバーコードデータを検出する検出ステップと、
前記プリンタエンジンの第２の解像度の印刷ヘッドに対応して前記ビットマップデータを前記第２の解像度に対応したデータに変換する印刷密度変換ステップと、
前記印刷密度変換ステップで変換したデータを前記プリンタエンジンに出力する出力ステップと
を有し、
前記印刷密度変換ステップは、
前記検出ステップで検出したバーコードデータの変換後の前記第２の解像度のデータが前記バーコードデータのバーの整列方向に伸長されるように、前記ビットマップデータのバーコードデータの１ドットに対する変換後の前記第２の解像度のドット数を前記バーコードデータ以外のデータの１ドットに対する変換後の前記第２の解像度のドット数よりも多い数に変換して、前記バーコードデータの印刷後のバーコードの幅が規定の大きさになるように変換する
ことを特徴とする印刷制御方法。
【請求項４】
印刷データに従いビットマップデータを生成し、印刷する印刷装置において、
印刷データに従い第１の解像度で展開されたビットマップデータを格納するメモリと、
前記メモリに格納された前記ビットマップデータに含まれるバーコードデータを検出する検出手段と、
前記プリンタエンジンの第２の解像度の印刷ヘッドに対応して前記ビットマップデータを前記第２の解像度に対応したデータに変換する印刷密度変換手段と、
前記印刷密度変換手段で変換したデータを媒体に印刷するプリンタエンジンと
を備え、
前記印刷密度変換手段は、
前記検出手段で検出したバーコードデータの変換後の前記第２の解像度のデータが前記バーコードデータのバーの整列方向に伸長されるように、前記ビットマップデータのバーコードデータの１ドットに対する変換後の前記第２の解像度のドット数を前記バーコードデータ以外のデータの１ドットに対する変換後の前記第２の解像度のドット数よりも多い数に変換して、前記バーコードデータの印刷後のバーコードの幅が規定の大きさになるように変換する
ことを特徴とする印刷装置。
【請求項５】
コンピュータに、
印刷データに従い第１の解像度で展開されたビットマップデータをメモリに格納する格納手段、
前記メモリに格納された前記ビットマップデータに含まれるバーコードデータを検出する検出手段、
プリンタエンジンの第２の解像度の印刷ヘッドに対応して前記ビットマップデータを前記第２の解像度に対応したデータに変換する印刷密度変換手段、
前記印刷密度変換手段で変換したデータを前記プリンタエンジンに出力する出力手段として機能させ、
前記印刷密度変換手段が、
前記検出手段で検出したバーコードデータの変換後の前記第２の解像度のデータが前記バーコードデータのバーの整列方向に伸長されるように、前記ビットマップデータのバーコードデータの１ドットに対する変換後の前記第２の解像度のドット数を前記バーコードデータ以外のデータの１ドットに対する変換後の前記第２の解像度のドット数よりも多い数に変換して、前記バーコードデータの印刷後のバーコードの幅が規定の大きさになるように変換するように機能させる
ことを特徴とする印刷制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷データに従いビットマップデータを生成し、印刷する印刷制御装置、印刷制御方法及び印刷装置に関し、特に、特定の印刷データの印刷密度を他の印刷データの印刷密度と変えて印刷するための印刷制御装置、印刷制御方法及び印刷装置に関する。
【０００２】
【従来の技術】
コンピュータのデータ処理速度や通信速度の向上に伴い、データを出力するプリンタにも、様々な態様の印刷が要求されている。プリンタは、ホストから送られる印刷データ（コマンド、データ）を解析（エミュレート）し、ビットマップデータに展開した後、プリンタエンジンで、媒体に印刷を行う。
【０００３】
図２２は、従来のプリンタシステムの構成図である。ホスト１００からの印刷指令を受けるプリンタ２００は、コントローラ２０２と、機構制御部２０４と、ＬＥＤ印刷ヘッドを含むプリンタエンジン２０６とから構成される。
【０００４】
ホスト１００からの印刷指令は、コントローラ２０２の入力バッファ２１０に受信される。コントローラ２０２では、入力バッファ２１０の印刷指令を解析部２２０で解析し、解析結果に応じて、文字及びパターン生成部２３０で、ビットマップデータに変換する。変換されたビットマップデータは、出力用ページバッファ（ビットマップメモリ）２４０に展開され、１ページ分のビットマップデータは、ビデオインタフェイス部２５０から機構制御部２０４に出力される。
【０００５】
機構制御部２０４は、プリンタエンジン２０６を制御するものである。ビットマップデータの流れのみを説明すると、ビデオインタフェイス部２５０からの出力データは、機構制御部２０４のビデオインタフェイス受信バッファ２６０で受信された後、ＬＥＤヘッドインタフェイス変換部２７０でＬＥＤ駆動信号に変換される。このＬＥＤ駆動信号でプリンタエンジン２０６のＬＥＤ印刷ヘッドを駆動し、周知の電子写真プロセスにより、プリンタエンジン２０６の感光ドラムに画像を形成し、印刷を行う。
【０００６】
このようなプリンタは、２４０ｄｐｉ，４００ｄｐｉという固有の印刷密度を有し、その印刷密度でしか印刷できないものや、２４０ｄｐｉと４００ｄｐｉの両方の印刷密度を持ち、ページ単位に切り換えるもの（例えば、特開平７−３２３６０８号公報等）が知られている。例えば、図２３に示すような、１ページに、振込取扱票３００を印刷する場合に、バーコード部分３０２も文字部分３０４も同一の印刷密度で印刷する。この２４０ｄｐｉの印刷密度では、バーコード部分３０２のバー幅が、０．１０６ｍｍとなる。
【０００７】
一方、バーコード部分３０２は、バーコードリーダーで読み取られるための分解能を要求され、例えば、国際標準であるＥＡＮ−１２８バーコード仕様では、バー幅（モジュール幅）は、０．１６９ｍｍと要求されている。このため、従来の２４０ｄｐｉでの印刷では、このような仕様のバーコードの印刷に適合できないことになる。
【０００８】
このような要求に適合するためには、印刷密度が高密度（例えば、４００ｄｐｉ）のプリンタに置き換える方法が提案されている。又、ホストからの印刷コマンドの解析において、文字コマンドは、２４０ｄｐｉで展開し、設定コマンドにより、バーコードコマンドは、３００ｄｐｉで展開して、ページバッファ２４０で部分的に印刷密度を変更して、ビットマップ展開する方法も提案されている（例えば、特開平７−１７７３４８号公報等）。
【０００９】
【発明が解決しようとする課題】
しかしながら、印刷密度を高密度のプリンタに置き換える方法では、ホスト１００の印刷資源（即ち、印刷データ、特に、印刷位置）も、４００ｄｐｉに置き換える必要があり、膨大なデータ変更を伴うおそれがあり、ユーザーに負担がかかる。
【００１０】
又、ページバッファ２４０で部分的に印刷密度を変換する方法では、このような設定をホスト１００から行う必要があり、ユーザーシステムのコマンド変更を必要とする。又、ページバッファでビットマップ密度を切り換えるため、コントローラでの処理を高速化し、且つ高い印刷密度に合わせたページバッファを設ける必要があり、膨大なコストアップとなるという問題が生じる。
【００１１】
従って、本発明の目的は、現状の印刷資源を変更することなく、必要なパターンの印刷密度を他のパターンの印刷密度と変えて、印刷するための印刷制御装置、印刷制御方法及びこれを使用した印刷装置を提供することにある。
【００１２】
又、本発明の他の目的は、ページバッファの解像度を変更することなく、必要なパターンの印刷密度を他のパターンの印刷密度と変えて、印刷するための印刷制御装置、印刷制御方法及びこれを使用した印刷装置を提供することにある。
【００１３】
更に、本発明の更に他の目的は、現状の印刷資源を変更することなく、バーコードの印刷密度を、文字、線の印刷密度と変えて、印刷するための印刷制御装置、印刷制御方法及びこれを使用した印刷装置を提供することにある。
【００１４】
【課題を解決するための手段】
この目的の達成のため、本発明の印刷制御装置は、印刷データに従い第１の解像度で展開されたビットマップデータを格納するメモリと、前記メモリに格納された前記ビットマップデータに含まれるバーコードデータを検出する検出手段と、前記プリンタエンジンの第２の解像度の印刷ヘッドに対応して前記ビットマップデータを前記第２の解像度に対応したデータに変換する印刷密度変換手段と、前記印刷密度変換手段で変換したデータを前記プリンタエンジンに出力する出力手段とを備え、前記印刷密度変換手段は、前記検出手段で検出したバーコードデータの変換後の前記第２の解像度のデータが前記バーコードデータのバーの整列方向に伸長されるように、前記ビットマップデータのバーコードデータの１ドットに対する変換後の前記第２の解像度のドット数を前記バーコードデータ以外のデータの１ドットに対する変換後の前記第２の解像度のドット数よりも多い数に変換して、前記バーコードデータの印刷後のバーコードの幅が規定の大きさになるように変換することを特徴とする。
【００１５】
又、本発明の印刷制御方法は、印刷データに従い第１の解像度で展開されたビットマップデータをメモリに格納するデータ格納ステップと、前記メモリの前記ビットマップデータに含まれるバーコードデータを検出する検出ステップと、前記プリンタエンジンの第２の解像度の印刷ヘッドに対応して前記ビットマップデータを前記第２の解像度に対応したデータに変換する印刷密度変換ステップと、前記印刷密度変換ステップで変換したデータを前記プリンタエンジンに出力する出力ステップとを有し、前記印刷密度変換ステップは、
前記検出ステップで検出したバーコードデータの変換後の前記第２の解像度のデータが前記バーコードデータのバーの整列方向に伸長されるように、前記ビットマップデータのバーコードデータの１ドットに対する変換後の前記第２の解像度のドット数を前記バーコードデータ以外のデータの１ドットに対する変換後の前記第２の解像度のドット数よりも多い数に変換して、前記バーコードデータの印刷後のバーコードの幅が規定の大きさになるように変換することを特徴とする。
【００１６】
又、本発明の印刷装置は、印刷データに従い第１の解像度で展開されたビットマップデータを格納するメモリと、前記メモリに格納された前記ビットマップデータに含まれるバーコードデータを検出する検出手段と、前記プリンタエンジンの第２の解像度の印刷ヘッドに対応して前記ビットマップデータを前記第２の解像度に対応したデータに変換する印刷密度変換手段と、前記印刷密度変換手段で変換したデータを媒体に印刷するプリンタエンジンとを備え、前記印刷密度変換手段は、前記検出手段で検出したバーコードデータの変換後の前記第２の解像度のデータが前記バーコードデータのバーの整列方向に伸長されるように、前記ビットマップデータのバーコードデータの１ドットに対する変換後の前記第２の解像度のドット数を前記バーコードデータ以外のデータの１ドットに対する変換後の前記第２の解像度のドット数よりも多い数に変換して、前記バーコードデータの印刷後のバーコードの幅が規定の大きさになるように変換することを特徴とする。
又、本発明の印刷制御プログラムは、コンピュータに、印刷データに従い第１の解像度で展開されたビットマップデータをメモリに格納する格納手段、前記メモリに格納された前記ビットマップデータに含まれるバーコードデータを検出する検出手段、プリンタエンジンの第２の解像度の印刷ヘッドに対応して前記ビットマップデータを前記第２の解像度に対応したデータに変換する印刷密度変換手段、前記印刷密度変換手段で変換したデータを前記プリンタエンジンに出力する出力手段として機能させ、前記印刷密度変換手段が前記検出手段で検出したバーコードデータの変換後の前記第２の解像度のデータが前記バーコードデータのバーの整列方向に伸長されるように、前記ビットマップデータのバーコードデータの１ドットに対する変換後の前記第２の解像度のドット数を前記バーコードデータ以外のデータの１ドットに対する変換後の前記第２の解像度のドット数よりも多い数に変換して、前記バーコードデータの印刷後のバーコードの幅が規定の大きさになるように変換するように機能させることを特徴とする。
【００１７】
本発明では、ビットマップデータから特定パターンを検出し、このパターンとこのパターン以外とで、データ伸長ドット数を変化するため、印刷密度を変えて印刷できる。ホスト側の印刷資産やコマンド体系を変更することなく、しかもプリンタコントローラのビットマップ展開処理やビットマップ展開密度を変更することなく実現できる。このため、ユーザーシステムを変更することなく、プリンタ側の変更のみで実現でき、且つコントローラの処理速度やメモリ容量を大幅に増加することなく、低価格に実現できる。
【００１８】
又、本発明では、好ましくは、前記パターン検出部は、バーコードのスタートパターンとストップパターンを検出し、前記印刷密度変換部は、前記スタートパターンとストップパターンに挟まれた領域のビットマップデータのデータ伸長ドット数を、前記領域以外のビットマップデータのデータ伸長ドット数より多くして、前記ビットマップデータを伸長する。これにより、バーコード線幅を印刷資源を変化しないで、太く印刷できる。
【００１９】
又、本発明では、好ましくは、前記パターン検出部は、前記検出ウィンドウのパターンが空白パターンであることを検出した後、前記検出ウィンドウを主走査方向に所定数走査した時点で前記検出ウィンドウのパターンが前記スタートパターンと一致した場合に、前記スタートパターンと検出することにより、小さなサイズのウィンドウでも、高精度にスタートパターンを検出できる。
【００２０】
更に、本発明では、好ましくは、前記パターン検出部は、前記スタートパターンを検出した時点から前記ストップパターンを検出した時点までのドット数をカウントし、前記バーコード検出の確認を行うことにより、小さなサイズのウインドウでも、高精度にストップパターンを検出できる。
【００２１】
更に、本発明では、好ましくは、前記印刷密度変換部は、前記スタートパターンの検出に応じて、前記スタートパターンから前記ビットマップデータのデータ伸長ドット数を、前記領域以外のビットマップデータのデータ伸長ドット数より多くして、前記ビットマップデータを伸長することにより、検出動作と平行に印刷密度変換動作を行うことができる。
【００２２】
更に、本発明では、好ましくは、前記印刷密度変換部は、前記パターン検出部が、前記バーコード検出の確認をしない時に、前記スタートパターンから前記ビットマップデータのデータ伸長ドット数を、前記領域以外のビットマップデータのデータ伸長ドット数より多くして、前記ビットマップデータを伸長したデータを出力禁止することにより、誤検出の伸長データの出力を防止できる。
【００２３】
更に、本発明では、好ましくは、前記パターン検出部は、前記バーコードが水平バーコードであるか垂直バーコードであるを判定し、前記印刷密度変換部は、前記判定結果に応じて、前記データ伸長方向を変化することにより、水平及び垂直の印刷密度変換を実現できる。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態を、印刷装置、印刷密度変換方法、第１の実施の形態の印刷密度変換機構、第２の実施の形態の印刷密度変換機構、他の実施の形態の順で、図面を参照して、説明する。
【００２５】
［印刷装置］
図１は、本発明の印刷装置の一実施の形態のブロック図、図２は、図１のプリンタエンジンの構成図である。
【００２６】
図１及び図２は、本発明の一実施例に係わる印刷装置として、連続帳票を扱う電子写真プリンタ１を示す。プリンタ１は、ネットワークなどのインターフェイス経由にて、メインフレーム／ワークステーション／パソコンなどのホスト４０に接続されている。
【００２７】
プリンタ１は、プリンタコントローラ２０と、機構制御部３０と、電子写真プリンタエンジン１４とを有する。プリンタエンジン１４は、連続用紙２に印刷を行う。プリンタコントローラ２０は、ホスト４０からのコマンドを解析し、ビットマップ展開を行う。機構制御部３０は、プリンタコントローラ２０の指示に応じて、プリンタエンジン１４を制御する。
【００２８】
先ず、プリンタエンジン１４の構成及び動作を、図２により説明する。用紙ホッパ１１に積載された連続用紙（折り畳み用紙）２は、搬送系により、連続送りされ、転写器７及び定着ユニット１３を経てスタッカ１２に収容される。時計方向に回転される感光体ドラム４は、帯電器３により一様帯電された後、光学系（ここでは、ＬＥＤ印刷ヘッド）５により画像が露光される。これにより、感光体ドラム４に画像に応じた静電潜像が形成される。感光体ドラム４の静電潜像は、現像器６により現像された後、感光体ドラム４のトナー像が、転写器７により連続用紙２に転写される。
【００２９】
転写後、感光体ドラム４は、除電器９により除電され、残留トナーはクリーナブレード８、クリーナブラシ１０によりクリーニングされる。トナー像が転写された連続用紙２は、フラッシュ定着ユニット１３により、フラッシュ定着された後、スタッカ１２に収容される。
【００３０】
次に、プリンタ１のプリンタコントローラ２０及び機構制御部３０を、図１により説明する。プリンタコントローラ２０は、ホスト４０からの印刷指令（印刷データ）を受信する入力バッファ２２と、入力バッファ２２の印刷指令を解析する入力（印刷）解析部（エミュレータ）２４と、入力解析部２４の解析結果により、文字及び画像パターンを作成する文字／パターン作成部２６と、ページ単位で、作成された文字パターン及び画像パターンを、ビットマップ形式で展開するための出力用ページバッファ（ビットマップメモリ）２８と、出力用ページバッファ２８のビットマップデータを読み出し、ビデオデータとして出力するビデオインタフェイス部２９とを有する。
【００３１】
例えば、ホスト４０が、２４０ｄｐｉの印刷資産（印刷データ）を保有している場合には、文字／パターン作成部２６は、２４０ｄｐｉの文字、画像（線、イメージ）パターンを作成し、出力用ページバッファ２８は、２４０ｄｐｉの１ページ単位のページバッファからなる。
【００３２】
機構制御部３０は、ビデオインタフェイス部２９からのビデオデータを受信するビデオインタフェイス受信バッファ３２と、受信バッファ３２のデータからバーコードパターンを検出するバーコードパターン検出部３４と、データ伸長部３６と、ＬＥＤヘッドインタフェイス変換部３８とを有する。
【００３３】
ＬＥＤ印刷ヘッド５が、１２００ｄｐｉの印刷ヘッドである場合には、データ伸長部３６は、バーコードパターン検出部３４の出力により、バーコードパターンの１ドットを、９ドットに伸長し、バーコードパターン以外の１ドットを、５ドットに伸長する。
【００３４】
例えば、２４０ｄｐｉのデータを、１２００ｄｐｉのデータに解像度変換する際に、バーコードパターン以外では、２４０ｄｐｉの１ドットを、１２００／２４０＝５ドットに伸長するが、バーコードパターンでは、２４０ｄｐｉの１ドットを、９ドットに伸長する。即ち、２４０ｄｐｉで見ると、バーコードパターンの１ドットは、バーコードパターン以外の１ドットの１．８倍の大きさに変換される。
【００３５】
このため、バーコードパターンとバーコードパターン以外とで、印刷密度を変えて印刷できる。従って、バーコードパターンの１ドット幅は、０．１９１ｍｍとなり、ＥＮＡ−１２８バーコード仕様を充分満足できる。即ち、ページ内で特定パターンの部分の印刷密度を、他の部分の印刷密度と変えることができる。
【００３６】
本発明では、ホスト４０側の印刷資産やコマンド体系を変更することなく、しかもプリンタコントローラのビットマップ展開処理やビットマップ展開密度を変更することなく実現できる。このため、ユーザーシステムを変更することなく、プリンタ側の変更のみで実現でき、且つコントローラの処理速度やメモリ容量を大幅に増加することなく、低価格に実現できる。
【００３７】
又、ホスト４０からページ単位で、バーコードの有無を通知することにより、解析部２４がこの通知を解析し、ビデオインタフェイス部２９を介しバーコードパターン検出部３４の動作を制御する。バーコード有りの通知を受けた時は、バーコードパターン検出部３４をイネーブルとし、バーコード無しの通知を受けた時は、バーコードパターン検出部３４の動作を停止する。これにより、検出回路の動作に伴う消費電力を低減できる。
【００３８】
［印刷密度変換方法］
次に、前述の印刷密度変換方法を説明する。図３は、本発明の一実施の形態のバーコードパターン検出部のブロック図、図４は、本発明の一実施の形態のバーコードの説明図、図５は、図４のバーコードのスタート／ストップコードの説明図である。
【００３９】
図３に示すように、バーコードパターン検出部３４は、ページバッファ（ビットマップメモリ）２８のパターン検出用ウィンドウを構成するｎ×ｎ（ここでは、９×９）のシフトレジスタ３４２と、検出すべき登録パターンを保持し、ウィンドウのパターンと登録パターンとをパターン照合して、パターン検出を行うパターンデコーダ３４４とを有する。
【００４０】
即ち、ページバッファ２８のデータをｎ×ｎの検出ウィンドウで主走査方向に順次走査し、登録パターンと照合し、検出すべきパターン（ここでは、バーコードパターン）を検出する。
【００４１】
次に、本発明の検出パターンの実施の形態としてのバーコードを、図４及び図５により、ＥＮＡ−１２８仕様バーコードで説明する。図４に示すように、ＥＮＡ−１２８仕様バーコードは、全長が２８８ドット（モジュール）であり、前後の余白を持つ。バーコードの構成は、１１モジュールのスタートコードＳＣ，ファンクションコードＦＮ，１１×２２モジュールのデータ、１１モジュールのチエックデジットＣＤ、１３モジュールのストップコードＳＰからなる。
【００４２】
図５に示すように、スタートコードは、３種類あり、コードＡは、２モジュールのバー（Ｂ）、１モジュールのスペース（Ｓ），１モジュールのバー（Ｂ），４モジュールのスペース（Ｓ），１モジュールのバー（Ｂ），２モジュールのスペース（Ｓ）からなる。コードＢは、２モジュールのバー（Ｂ）、１モジュールのスペース（Ｓ），１モジュールのバー（Ｂ），２モジュールのスペース（Ｓ），１モジュールのバー（Ｂ），４モジュールのスペース（Ｓ）からなる。コードＣは、２モジュールのバー（Ｂ）、１モジュールのスペース（Ｓ），１モジュールのバー（Ｂ），２モジュールのスペース（Ｓ），３モジュールのバー（Ｂ），２モジュールのスペース（Ｓ）からなる。
【００４３】
ストップコードは、２モジュールのバー（Ｂ）、３モジュールのスペース（Ｓ），３モジュールのバー（Ｂ），１モジュールのスペース（Ｓ），１モジュールのバー（Ｂ），１モジュールのスペース（Ｓ）、２モジュールのバー（Ｂ）からなる。
【００４４】
本発明では、バーコードのパターン全体を検出するのではなく、このような構成のバーコード仕様を利用して、バーコードのスタートコードとバーコードのストップコードを検出し、これに挟まれた範囲をバーコード領域と判定する。
【００４５】
又、スタートコードは、１１モジュール、ストップコードは、１３モジュールであり、且つバーコードの高さは、１０ｍｍ（２４０ｄｐｉで約１００ドット）あり、このパターンサイズで照合することは、照合サイズが大きくなり、且つ照合速度も低下する。
【００４６】
そこで、本発明では、照合サイズを小さくし、且つ小さくしても、検出精度の低下を防止する工夫をしている。図６は、パターンデコーダの検出処理フロー図、図７、図８、図９は、その動作説明図である。
【００４７】
先ず、照合サイズについては、図５のスタートコード及びコードＡ，Ｂ，Ｃを識別するには、最初のバーから最後のバーまでの９モジュールで済む。バーコードは、横方向に配置される場合と、縦方向に配置される場合があるため、照合サイズ（ウィンドウサイズ）を、９×９の８１ビットに小さくする。
【００４８】
次に、図４及び図７に示すように、バーコードのスタートコードの前には、余白を設けることが規定されている。そこで、９×９の検出ウィンドウで余白を見つけた後、９ドット（９×９のウィンドウのため）ウィンドウを走査した時点で、スタートコードパターンを検出した時に、バーコードのスタートコードと認識するシーケンスとする。これにより、スタートコードの誤検出を防止する。
【００４９】
次に、ストップコードは、図４及び図７に示すように、スタートコードからストップコードまでのドット数が規定されている。即ちスタートコードからストップコードまでは、２８８ドットに規定されている。従って、スタートコード検出からストップコード検出までのウィンドウの走査ドット数をカウントし、ストップコードの後ろ９モジュールのパターン（図９参照）を検出した時に、カウントドット数が、スタートコード検出から規定の２８０ドットである時に、ストップコードと認識し、バーコードデータと確認する。
【００５０】
更に、ウィンドウサイズを小さくしたため、副走査方向でのバーコードの終了を検出する必要がある。図７に示すように、主走査方向でバーコード領域と判定した範囲で、９×９のウィンドウの１ライン目が、バーコードの１ライン目のパターンと異なるパターン（例えば、オールスペース）であることを検出して、副走査方向のバーコード領域の終了と認識する。
【００５１】
上述の例は、図４のように、バーコードが水平方向に配置された場合の検出を説明しているが、図４のバーコードを垂直（縦）方向に配置した場合にも、ウィンドウの主走査方向の走査で検出できる。
【００５２】
即ち、図８に示すように、スタートコードの９×９の垂直パターンを登録しておき、９×９の検出ウィンドウで余白を見つけた後、９ライン（９×９のウィンドウのため）ウィンドウを副走査した時点で、スタートコードパターンを検出した時に、バーコードのスタートコードと認識するシーケンスとする。これにより、スタートコードの誤検出を防止する。
【００５３】
次に、ストップコードは、図４及び図７に示すように、スタートコードからストップコードまでのドット数が規定されている。即ちスタートコードからストップコードまでは、２８８ドットに規定されている。従って、スタートコード検出からストップコード検出までのウィンドウの副走査ドット数をカウントし、ストップコードの後ろ９モジュールのパターン(図９参照）を検出した時に、カウントドット数が、スタートコード検出から規定の２８０ドットである時に、ストップコードと認識し、バーコードデータと確認する。
【００５４】
更に、ウィンドウサイズを小さくしたため、垂直バーコードでは、主走査方向でのバーコードの終了を検出する必要がある。図８に示すように、スタートコードを検出した後、主走査方向で、９×９のウィンドウの１列目が、バーコードの１ライン目のパターンと異なるパターン（例えば、オールスペース）であることを検出して、主走査方向のバーコード領域の終了と認識する。
【００５５】
パターンデコーダ３４４の水平バーコード検出処理を図６により、説明する。
【００５６】
（Ｓ１０）９×９の検出ウィンドウを主走査方向に走査し、余白パターンと照合し、余白パターンであるかを判定する。
【００５７】
（Ｓ１２）余白を見つけた後、９ドット（９×９のウィンドウのため）ウィンドウを走査した時点で、検出ウィンドウの９×９パターンと、スタートコードパターンを照合し、スタートコードパターンであるかを判定する。スタートコードパターンを検出しない場合には、ステップＳ１０に戻る。
【００５８】
（Ｓ１４）スタートコードパターンである時に、バーコードのスタートコードと認識し、バーコード領域カウンタの走査ドット数カウントを開始する。
【００５９】
（Ｓ１６）９×９の検出ウィンドウのパターンと、ストップコードパターンを照合する。
【００６０】
（Ｓ１８）ストップコードパターンを検出しない場合には、カウントドット数が規定値（２８０）を越えているかを判定する。越えていない場合には、ステップＳ１６に戻り、越えている場合には、バーコード領域でないと訂正する。
【００６１】
（Ｓ２０）一方、ストップコードの後ろ９モジュールのパターン（図９参照）を検出した時に、カウントドット数が、スタートコード検出から規定の２８０ドットであるかを判定し、カウントドット数が、規定値（２８０）である時に、ストップコードと認識し、バーコードデータと確認する。一方、カウントドット数が、規定値（２８０）でない時は、データの場合もあるため、ステップＳ１６に戻る。
【００６２】
このようにして、小さいサイズの検出ウィンドウで、誤検出なくバーコードを検出できる。又、水平及び垂直バーコードが１８０°回転している場合にも、同様に検出できる。
【００６３】
次に、データ伸長部では、図１０に示すように、パターンデコーダ３４４の出力に応じて、バーコード以外は、１ドットを５×５ドットに変換し、水平方向のバーコードは、５×９ドットに変換する。又、図１１に示すように、垂直方向のバーコードは、９×５ドットに変換する。
【００６４】
このようにして、一定の印刷密度のビットマップデータからバーコード等の対象パターンを検出し、対象パターン部分とそれ以外の部分で印刷密度を変えて印刷できる。
【００６５】
［第１の実施の形態の印刷密度変換機構］
次に、印刷密度変換機構の詳細を説明する。図１２は、図１のデータ伸長部（印刷密度変換部）３６の第１の実施の形態のブロック図、図１３は、図１２のフラグ書込み制御部のブロック図、図１４及び図１５は、フラグ書込み部の説明図、図１６及び図１７は、水平バーコード検出時の動作説明図、図１８及び図１９は、垂直バーコード検出時の動作説明図である。
【００６６】
図１２の印刷密度変換機構の構成は、水平バーコードの検出と平行にデータ伸長を行う構成であり、高速にＬＥＤへの印刷データを生成する。受信ラインバッファ３２及びバーコード検出部３４は、図１で説明したものであり、９×９シフトレジスタ３４２、パターン検出部（パターンデコーダ）３４４は、図３で説明したものである。
【００６７】
データ伸長部３６は、フラグメモリ３５０と、フラグメモリ書込み制御部３６０と、フラグメモリ読出し制御部３６３とを有する。フラグメモリ３５０は、１２００ｄｐｉのＬＥＤヘッド５が、１８インチ幅の印刷を行う場合に、幅分のビット数である２１６００ビット（２１．６ｋビット）分のフラグを保持する。この例では、２ライン分のメモリで構成され、書込み、読出しを交互に行う。フラグは、図１６乃至図１９で説明するように、水平、垂直、訂正の３つである。
【００６８】
データ伸長部３６は、伸長データを保持するための水平バーコードメモリ３５２、垂直バーコードメモリ３５４、出力バッファメモリ３５６の３つのデータメモリを有する。水平バーコードメモリ３５２、出力バッファメモリ３５６の各々は、印刷幅分の２１６００ビット（２１．６ｋビット）分のデータを保持し、この例では、２ライン分のメモリで構成され、書込み、読出しを交互に行う。出力バッファメモリ３５６は、前述のバーコード検出の訂正時に、訂正されたデータを出力するため、設けられる。
【００６９】
垂直バーコードメモリ３５４は、垂直方向の伸長されたバーコードデータを格納するものであり、バーコードの高さ分のビット数（例えば、５００ビット）×９ビットのデータを保持する。
【００７０】
次に、この水平バーコードメモリ３５２に、水平バーコードメモリ書込み制御部３６４と、水平バーコードメモリ読出し制御部３６５が設けられる。同様に、垂直バーコードメモリ３５４に、垂直バーコードメモリ書込み制御部３６６と、垂直バーコードメモリ読出し制御部３６７が設けられる。又、出力バッファメモリ３５６に、出力バッファメモリ書込み制御部３６８と、出力バッファメモリ読出し制御部３６９が設けられる。
【００７１】
データセレクタ３７０は、フラグメモリ３５０から読み出されたフラグに従い、水平バーコードメモリ３５２、垂直バーコードメモリ３５４、出力バッファメモリ３５６のいずれかの読出し出力を選択し、転送制御部（ＬＥＤヘッドインタフェイス変換部）３８に出力する。
【００７２】
図１３に示すように、フラグメモリ書込み制御部３６０は、パターン検出部３４４の出力を受け、水平バーコード期間を管理する水平バーコード期間管理部３６１と、パターン検出部３４４の出力を受け、垂直バーコード期間を管理する垂直バーコード期間管理部３６２と、これらの出力でフラグメモリ３５０の書込みを行うデータセレクト部３７２とで構成される。
【００７３】
水平バーコード期間管理部３６１は、図１４及び図１５に示すように、水平バーコードのスタートコード検出に応じて、所定期間（ここでは、２４０ｄｐｉで２８８ドット＋１２ドット分）水平バーコード主走査期間信号Ｓａをオンにし、水平バーコードのスタートコード検出に応じて、水平バーコード副走査期間信号Ｓｂをオンにし、水平バーコード訂正及び水平バーコード終了検出に応じて、水平バーコード副走査期間信号Ｓｂをオフする。又、管理部３６１は、図１５に示すように、水平バーコード訂正検出に応じて、訂正検出信号Ｓｃを出力する。
【００７４】
一方、垂直バーコード期間管理部３６６は、図１８に示すように、垂直バーコードのスタートコード検出に応じて、所定期間（ここでは、バーコードの高さである２４０ｄｐｉで９４ドット分）垂直バーコード主走査期間信号Ｓｄをオンにし、垂直バーコードのスタートコード検出に応じて、垂直バーコード副走査期間信号Ｓｅをオンにし、垂直バーコードのストップコード検出に応じて、垂直バーコード副走査期間信号Ｓｅをオフする。
【００７５】
次に、図１６及び図１７により、水平バーコードの印刷密度変換動作を説明する。図１６に示すように、一例として、２４０ｄｐｉで、主走査方向の２ドット目から２８９ドット目に水平バーコードがあるものとする。フラグメモリ３５０に、前述のフラグメモリ書込み制御部３６０の主走査期間信号Ｓａがオフの場合には、５ビットずつアドレスを更新し、オンの場合には、９ビット分水平フラグを書き込まれる。
【００７６】
一方、水平バーコードメモリ書込み制御部３６４は、フラグメモリ書込み制御部３６０の主走査期間信号Ｓａがオフの場合には、シフトレジスタ３４２の１ドット出力を５ドットに伸長して、信号Ｓａがオンの場合には、１ドット出力を９ドットに伸長し、水平バーコードメモリ３５２に書き込む。又、出力バッファメモリ書込み制御部３６８は、シフトレジスタ３４２の１ドットを５ドットに伸長して、出力バッファメモリ３５６に書き込む。
【００７７】
２４０ｄｐｉの１ラインのデータのメモリ３５２、３５６への書込みが終了すると、読出し制御部３６３、３６５及び３６９は、各メモリ３５０、３５２、３５６の読出しを開始する。セレクタ３７０は、フラグメモリ３５０の各ビットのフラグにより、メモリ３５２又はメモリ３５６の出力を選択する。
【００７８】
従って、図１６に示すように、フラグメモリ３５０のフラグが、水平を示す時は、水平バーコードメモリ３５２のデータが選択され、フラグメモリ３５０のフラグが、水平以外を示す時は、出力バッファメモリ３５６のデータが選択され、ＬＥＤヘッドへの出力データとなる。ここで、バーコードの部分の後ろに、空白を２５２ドット分とっている理由は、水平バーコード主走査期間Ｓａが終了した時点（即ち、図１６の２４０ｄｐｉで３０１ドット目）であるフラグメモリ３５０で２７０５ドット目の次の２７０６ドット目で、出力バッファメモリ３５６のデータが、通常印字領域の先頭データ「ｎ」であるよう同期するためであり、空白３０２ドット目から５４１ドット目は、同期のためのダミーである。
【００７９】
一方、図１７に示すように、この訂正フラグにより、フラグメモリ３５０の読出し出力の水平フラグを無効にするため、出力バッファメモリ３５６のデータが選択され、ＬＥＤヘッドへの出力データとなる。
【００８０】
次に、図１９により、垂直バーコードの印刷密度変換動作を説明する。図１９に示すように、一例として、２４０ｄｐｉで、主走査方向の２ドット目から９５ドット目に垂直バーコードがあるものとする。フラグメモリ３５０に、前述のフラグメモリ書込み制御部３６０の主走査期間信号Ｓｄがオフの場合には、５ビットずつアドレスを更新し、オンの場合には、５ビットの垂直フラグが書き込まれる。
【００８１】
一方、水平バーコードメモリ書込み制御部３６４は、シフトレジスタ３４２の１ドット出力を５ドットに伸長して、水平バーコードメモリ３５２に書き込む。又、垂直バーコードメモリ書込み制御部３６６は、フラグメモリ３５０の垂直フラグがオンである場合に、シフトレジスタ３４２の１ドットを垂直方向に９ドットに伸長して、垂直バーコードメモリ３５４に書き込む。
【００８２】
２４０ｄｐｉの１ラインのデータのメモリ３５２、３５６への書込みが終了すると、読出し制御部３６３、３６５及び３６７は、各メモリ３５０、３５２、３５４の読出しを開始する。セレクタ３７０は、フラグメモリ３５０の各ビットのフラグにより、メモリ３５２又はメモリ３５４の出力を選択する。
【００８３】
従って、図１９に示すように、フラグメモリ３５０のフラグが、垂直を示さない時は、水平バーコードメモリ３５２のデータが選択され、フラグメモリ３５０のフラグが、垂直を示す時は、垂直バーコードメモリ３５４のデータが選択され、ＬＥＤヘッドへの出力データとなる。
【００８４】
このようにして、検出と同時にデータ伸長を実行するため、高速の印刷密度変換が可能となる。又、出力バッファメモリにより、バーコード検出の訂正時にも、伸長結果を利用できる。
【００８５】
［第２の実施の形態の印刷密度変換機構］
次に、他の印刷密度変換機構の詳細を説明する。図２０は、図１のデータ伸長部（印刷密度変換部）３６の第２の実施の形態のブロック図、図２１は、水平バーコード検出時の動作説明図である。
【００８６】
図２０の印刷密度変換機構の構成も、水平バーコードの検出と平行にデータ伸長を行う構成であり、高速にＬＥＤへの印刷データを生成する。受信ラインバッファ３２及びバーコード検出部３４は、図１で説明したものであり、９×９シフトレジスタ３４２、パターン検出部（パターンデコーダ）３４４は、図３で説明したものである。
【００８７】
データ伸長部３６は、フラグメモリ３５０と、フラグメモリ書込み制御部３６０と、フラグメモリ読出し制御部３６３とを有する。フラグメモリ３５０は、１２００ｄｐｉのＬＥＤヘッド５が、１８インチ幅の印刷を行う場合に、幅分のビット数である２１６００ビット（２１．６ｋビット）分のフラグを保持する。この例では、２ライン分のメモリで構成され、書込み、読出しを交互に行う。フラグは、水平、垂直の２つである。
【００８８】
データ伸長部３６は、伸長データを保持するための水平バーコードメモリ３５２、垂直バーコードメモリ３５４の２つのデータメモリを有する。水平バーコードメモリ３５２は、印刷幅分の２１６００ビット（２１．６ｋビット）分のデータを保持し、この例では、２ライン分のメモリで構成され、書込み、読出しを交互に行う。この例では、訂正を行わないので、出力バッファメモリ３５６は、削除される。
【００８９】
垂直バーコードメモリ３５４は、垂直方向の伸長されたバーコードデータを格納するものであり、バーコードの高さ分のビット数（例えば、５００ビット）×９ビットのデータを保持する。
【００９０】
次に、この水平バーコードメモリ３５２に、水平バーコードメモリ書込み制御部３６４と、水平バーコードメモリ読出し制御部３６５が設けられる。同様に、垂直バーコードメモリ３５４に、垂直バーコードメモリ書込み制御部３６６と、垂直バーコードメモリ読出し制御部３６７が設けられる。
【００９１】
データセレクタ３７０は、フラグメモリ３５０から読み出されたフラグに従い、水平バーコードメモリ３５２、垂直バーコードメモリ３５４のいずれかの読出し出力を選択し、転送制御部（ＬＥＤヘッドインタフェイス変換部）３８に出力する。
【００９２】
図２１に示すように、この構成では、水平バーコードの検出訂正を行わないので、図１６と同様の水平バーコードの印刷密度変換動作を行う。尚、垂直バーコードの場合は、図１９と同一の動作である。この実施の形態では、回路規模を簡略化できるという点で有利である。
【００９３】
［他の実施の形態］
プリンタを、印刷媒体にトナー像を形成する電子写真プリンタで説明したが、他の印刷方式のプリンタにも適用できる。更に、印刷媒体として、連続用紙で説明したが、カット紙等のカット媒体にも適用でき、媒体も紙に限らず、フィルム等の他の媒体であっても良い。
【００９４】
以上、本発明を実施の形態で説明したが、本発明の趣旨の範囲内において、種々の変形が可能であり、これらを本発明の範囲から排除するものではない。
【００９５】
（付記１）印刷データに従いビットマップデータを生成し、プリンタエンジンに出力する印刷制御装置において、所定の印刷密度で展開されたビットマップデータを格納するメモリと、前記メモリのデータを所定の検出ウィンドウで走査し、印刷密度を変更すべきパターンを検出するパターン検出部と、前記検出結果に応じて、前記パターンのビットマップデータのデータ伸長ドット数を、前記パターン以外のビットマップデータのデータ伸長ドット数と変化して、前記ビットマップデータを伸長する印刷密度変換部とを有することを特徴とする印刷制御装置。
【００９６】
（付記２）前記パターン検出部は、バーコードのスタートパターンとストップパターンを検出し、前記印刷密度変換部は、前記スタートパターンとストップパターンに挟まれた領域のビットマップデータのデータ伸長ドット数を、前記領域以外のビットマップデータのデータ伸長ドット数より多くして、前記ビットマップデータを伸長することを特徴とする付記１の印刷制御装置。
【００９７】
（付記３）前記パターン検出部は、前記検出ウィンドウのパターンが空白パターンであることを検出した後、前記検出ウィンドウを主走査方向に所定数走査した時点で前記検出ウィンドウのパターンが前記スタートパターンと一致した場合に、前記スタートパターンと検出することを特徴とする付記２の印刷制御装置。
【００９８】
（付記４）前記パターン検出部は、前記スタートパターンを検出した時点から前記ストップパターンを検出した時点までのドット数をカウントし、前記バーコード検出の確認を行うことを特徴とする付記２の印刷制御装置。
【００９９】
（付記５）前記印刷密度変換部は、前記スタートパターンの検出に応じて、前記スタートパターンから前記ビットマップデータのデータ伸長ドット数を、前記領域以外のビットマップデータのデータ伸長ドット数より多くして、前記ビットマップデータを伸長することを特徴とする付記２の印刷制御装置。
【０１００】
（付記６）前記印刷密度変換部は、前記パターン検出部が、前記バーコード検出の確認をしない時に、前記スタートパターンから前記ビットマップデータのデータ伸長ドット数を、前記領域以外のビットマップデータのデータ伸長ドット数より多くして、前記ビットマップデータを伸長したデータを出力禁止することを特徴とする付記４の印刷制御装置。
【０１０１】
（付記７）前記パターン検出部は、前記バーコードが水平バーコードであるか垂直バーコードであるを判定し、前記印刷密度変換部は、前記判定結果に応じて、前記データ伸長方向を変化することを特徴とする付記２の印刷制御装置。
【０１０２】
（付記８）印刷データに従いビットマップデータを生成し、プリンタエンジンに出力する印刷制御方法において、所定の印刷密度でメモリにビットマップデータを展開するステップと、前記メモリのデータを所定の検出ウィンドウで走査し、印刷密度を変更すべきパターンを検出するステップと、前記検出結果に応じて、前記パターンのビットマップデータのデータ伸長ドット数を、前記パターン以外のビットマップデータのデータ伸長ドット数と変化して、前記ビットマップデータを伸長する印刷密度変換ステップとを有することを特徴とする印刷制御方法。
【０１０３】
（付記９）印刷データに従いビットマップデータを生成し、印刷する印刷装置において、所定の印刷密度で展開されたビットマップデータを格納するメモリと、前記メモリのデータを所定の検出ウィンドウで走査し、印刷密度を変更すべきパターンを検出するパターン検出部と、前記検出結果に応じて、前記パターンのビットマップデータのデータ伸長ドット数を、前記パターン以外のビットマップデータのデータ伸長ドット数と変化して、前記ビットマップデータを伸長する印刷密度変換部と、前記伸長されたビットマップデータを媒体に印刷するプリンタエンジンとを有することを特徴とする印刷装置。
【０１０４】
【発明の効果】
以上、説明したように、本発明によれば、以下の効果を奏する。
【０１０５】
ビットマップデータから印刷密度を変換すべきパターンを検出し、データ伸長数を変化するため、ページ内で特定パターンの部分の印刷密度を、他の部分の印刷密度と変えることができ、ホスト側の印刷資産やコマンド体系を変更することなく、しかもプリンタコントローラのビットマップ展開処理やビットマップ展開密度を変更することなく実現できる。
【０１０６】
このため、ユーザーシステムを変更することなく、プリンタ側の変更のみで実現でき、且つコントローラの処理速度やメモリ容量を大幅に増加することなく、低価格に実現できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態の印刷装置のブロック図である。
【図２】図１の印刷装置のプリンタエンジンの構成図である。
【図３】図１のバーコード検出部の構成図である。
【図４】本発明の一実施の形態のためのバーコード仕様の説明図である。
【図５】図４のバーコードの説明図である。
【図６】図３のバーコード検出処理フロー図である。
【図７】図３のバーコード検出動作の説明図である。
【図８】図７のバーコードのスタート検出動作の説明図である。
【図９】図７のバーコードのストップ検出動作の説明図である。
【図１０】図１のデータ伸長部の水平バーコード伸長動作説明図である。
【図１１】図１のデータ伸長部の垂直バーコード伸長動作説明図である。
【図１２】本発明の一実施の形態の印刷密度変換機構の構成図である。
【図１３】図１２のフラグメモリ書込み制御部の構成図である。
【図１４】図１３の制御部のバーコード検出時の説明図である。
【図１５】図１３の制御部のバーコード訂正検出動作の説明図である。
【図１６】図１２のバーコード検出時の動作の説明図である。
【図１７】図１２の水平バーコード訂正動作の説明図である。
【図１８】図１３の垂直バーコード期間管理部の動作説明図である。
【図１９】図１２の垂直バーコード検出時の動作説明図である。
【図２０】本発明の他の実施の形態の印刷密度変換機構の構成図である。
【図２１】図２０のバーコード検出動作の説明図である。
【図２２】従来技術の構成図である。
【図２３】従来技術の説明図である。
【符号の説明】
１  プリンタ
２  連続用紙
２０  プリンタコントローラ
２８  ページバッファ
３０  機構制御部
３４  バーコード検出部
３６  データ伸長部
１４  プリンタエンジン
【図１】
0004374822.tif 000002
【図２】
0004374822.tif 000003
【図３】
0004374822.tif 000004
【図４】
0004374822.tif 000005
【図５】
0004374822.tif 000006
【図６】
0004374822.tif 000007
【図７】
0004374822.tif 000008
【図８】
0004374822.tif 000009
【図９】
0004374822.tif 000010
【図１０】
0004374822.tif 000011
【図１１】
0004374822.tif 000012
【図１２】
0004374822.tif 000013
【図１３】
0004374822.tif 000014
【図１４】
0004374822.tif 000015
【図１５】
0004374822.tif 000016
【図１６】
0004374822.tif 000017
【図１７】
0004374822.tif 000018
【図１８】
0004374822.tif 000019
【図１９】
0004374822.tif 000020
【図２０】
0004374822.tif 000021
【図２１】
0004374822.tif 000022
【図２２】
0004374822.tif 000023
【図２３】
0004374822.tif 000024