(57)【要約】      （修正有）【課題】記録装置における処理の高速化とプリントバッファの最適化によるコスト削減を実現する。【解決手段】ホストコンピュータ等の外部機器からのイメージデータを画像データとして受信して印刷する記録装置であって、前記ホストコンピュータからのイメージデータはＣ，Ｍ，Ｙ，Ｋそれぞれ１ビット２値データ、もしくはＹ，Ｍ，Ｃ，Ｋ多値データが入力され、１ビット２値データ、多値データはラスター方向に生成された画像データであり、前記記録装置は、ラスター画像データを格納する記憶部を有し、前記記憶部からラスターデータを読み出しカラムデータに縦横変換する際に、画像データが何ビットあるかのカウントするドットカウントハードウェアを具備し、前記２値データ、もしくは多値データのドットカウント処理で、２値データとともに多値データにおいても多値データの状態でドットカウントを行う。【選択図】図１
2005066826.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータ等の外部機器からイメージデータを画像データとして受信して印刷する記録装置であって、前記ホストコンピュータからのイメージデータはＣ，Ｍ，Ｙ，Ｋそれぞれ１ビット２値データ、もしくはＹ，Ｍ，Ｃ，Ｋ多値データが入力され、１ビット２値データ、多値データはラスター方向に生成された画素データであり、前記、記録装置はラスター画素データを格納する記憶部を有し、前記記憶部からラスターデータを読み出しカラムデータに変換する縦横変換する際に画像データが何ビットあるかのカウントするドットカウントハードウエアを具備し、前記２値データとともに多値データにおいても多値データの状態でドットカウントするハードウエアを具備することを特徴とする記録装置。
【請求項２】
前記、記録装置に装備された記録ヘッドはカラム方向に並んだ吐出ノズルを具備し、Ｙ，Ｍ，Ｃ，Ｋそれぞれ横並びに配置され、Ｙ，Ｍ，ＣとＢｋは解像度が異なり、それぞれ印字モードに応じて２値データ、多値データで入力されＹ，Ｍ，ＣとＢｋは異なる印字モードで入力され、それぞれＹ，Ｍ，Ｃ，Ｂｋと別々にドットカウントされることを特徴とする請求項１記載の記録装置。
【請求項３】
前記、ドットカウントは縦横変換されるラスター数とカラム数から縦横変換サイズが規定され、この規定されたサイズ内の印字ドットをカウントし、ＤＭＡにより予め設定されたメモリアドレスへ格納され、１ライン分を順次格納するハードウエアを具備したことを特徴とする請求項１の記録装置。
【請求項４】
前記、多値データは少なくとも２ビット以上であらわされ、その値により形成される画像データが予め設定されており、多値データであらわされる記録画像データは任意に設定できるものでドットカウントする際、前記任意に設定されたデータをもとにカウントされるハードウエアを具備することを特徴とする請求項１記載の記録装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホストコンピュータ等の外部機器より画像データを入力し、記録媒体に記録する、画像記録装置に関するものである。
【０００２】
【従来の技術】
従来、ホストコンピュータからのラスター画素データは順次受信バッファに格納され、この受信バッファからプリントバッファに格納する時、カラム方向（縦ならび）記録ヘッドに対応したバッファに格納し直し、縦横変換をして再度プリントバッファを作成し画素データを印字ヘッドに転送していた。
【０００３】
従来の記録装置には所定の記録領域を所定単位で分割し印字データ数をカウントするものがある。
【０００４】
これは所定の記録領域を所定単位に分割することによって得られる各分割領域に対応する印字データ中の実際に印字されるデータの数をカウントするカウント手段と、前記カウント手段でカウントされた各分割領域毎のカウント値に応じたデータの組み合わせに基づいて、前記所定の記録領域に対する印字モードを選択する選択手段とを備えるというものである。
【０００５】
ホストコンピュータで生成されるデータは２値データの場合、多値データの場合がある。多値データとは図５に示すように実際の印字される解像度とは異なる解像度であるピクセルを２ビット以上であらわされるデータのことである。
【０００６】
図５のＩｎｄｅｘ値と展開例の一例で説明すると６００ｄｐｉ×６００ｄｐｉ  ２ビットであらわされる多値データは実際に印字する時の解像度としては１２００ｄｐｉ×１２００ｄｐｉのマトリックスのなかで図５のように展開され、印字される。この多値データをＩｎｄｅｘと呼ぶ。Ｉｎｄｅｘ値＝００の場合はヌル、Ｉｎｄｅｘ値＝０１の場合１ドット、Ｉｎｄｅｘ値＝１０の場合２ドット、Ｉｎｄｅｘ値＝１１の場合３ドット印字される。Ｉｎｄｅｘ値による印字ドットは一例であり、この限りではない。１２００ｄｐｉ×１２００ｄｐｉを２×２のマトリックスに展開した場合４ビット必要となる。Ｉｎｄｅｘで生成されるデータは２値データと比較してデータ量としては半分で済む訳である。最近の記録装置では解像度が上がる一方、処理すべきデータ量は膨大になる。そこで前述のようにＩｎｄｅｘにすることでホスト側の修理負荷軽減、転送データ数の削減をおこなうことでシステムとしてのスループット向上を実現している訳である。
【０００７】
ここでＩｎｄｅｘデータの場合、縦横変換をする時２値データに変換してから印字される画像のドットカウントを行っていた。ドットカウントは印字制御を行う際の各種モニター用として使われる。例えばドットカウント値から印字ＤＵＴＹを算出し、電源のパワーモニター、印字範囲の設定等である。
【０００８】
【特許文献１】
特開平０８−０５８０８０号公報
【０００９】
【発明が解決しようとする課題】
上記従来例では次のような欠点があった。すなわち、上記従来例に示すように、Ｉｎｄｅｘデータを２値に変換してドットカウントを行うため２値に変換する処理時間がかかることと、プリントバッファが２値データとなることでプリントバッファサイズが大きくなりコストアップの要因となる。
【００１０】
記録ヘッドの解像度が今後益々、高密度となり、しかもノズル列が長くなることを考えると、処理時間の増大によりプリンタのスループットを満足出来なくなってしまう。しかも回路が煩雑、メモリ規模の増大によりコストアップの要因にもつながってしまう。
【００１１】
本発明は以上のような局面に鑑みてなされたもので、Ｉｎｄｅｘデータのままドットカウントを行うことで２値データ、多値データも同じ処理スピードで実現できＩｎｄｅｘデータのままプリントバッファに格納出来る構造にすることで、さまざまな印字モードに対応するハードウエアを実現し、処理の高速化、プリントバッファの最適化が可能となり、コストアップをすることなく、実現する。
【００１２】
【課題を解決するための手段】
近年、シリアルプリンタと呼ばれる記録装置の解像度は３００ｄｐｉ，６００ｄｐｉ，１２００ｄｐｉ、２４００ｄｐｉと高密度の一途をたどっている。当然多くの画素データを格納したり、読み出したりする頻度が多くなりメモリをアクセスする時間が全体システムパフォーマンスを満足する上で大きなネックとなる。また高解像度になるに従いプリントバッファ等に使用するメモリ容量も大きくなりコストアップの要因となっている。そこで後述するようにホストコンピュータから入力されるＩｎｄｅｘデータの状態で記録ヘッドに合わせラスターデータからカラムデータの変換を行い、プリントバッファの容量を極力押え、２値データ、多値データの縦横変換回路を具備し、その際縦横変換する処理に２値のみならず、多値データの状態でドットカウントを行うことでパフォーマンスを満足するシステム構成を提供するものである。
【００１３】
図４にＩｎｄｅｘデータの場合のラスターデータ一時格納用のワークバッファの構成を示す。２値の場合と異なり、多値であらわせるＩｎｄｅｘデータはこの場合２ラスターにまたがるデータで、ある解像度のピクセルでデータは成り立っている。また解像度の異なる記録ヘッドを扱う場合２値データ、多値データにおいて、ワークバッファへの格納方法を変えることによりプリントバッファへの格納方法を共通にしてハードウエアの共通化を図っている。図４のホスト受信ラスターデータ図はラスターデータの格納状態をわかりやすく図にしたものである。この場合は３２ビットバスのメモリに（ａ１，１），（ａ１，２）…とラスターデータがメモリのアドレス順に並んでいる。ワークバッファ１、ワークバッファ２はラスターデータをカラムデータに変換する際、あるマトリックス単位で変換（ＨＶ変換と呼ぶ）するため、横方向６４ビット単位でラスターデータを切り出し格納していく。
ワークバッファのバス幅はシステムの必要とするパフォーマンス、或いはＨＶ変換する回路規模により異なり、可変でも構わない。この場合横ドット数を６４ビットでＨＶ変換する場合を想定している。ＨＶ変換する場合ワークバッファ１は３２×６４ビットでＨＶ変換する場合の格納方法でワークバッファ２は１６×６４ビットでＨＶ変換をする場合の格納方法である。ワークバッファ２は２ビットＩｎｄｅｘ時に用いる。それを図２、図３を用いて説明する。前述のワークバッファからラスターデータを順次カラムデータに変換する回路にデータを送り、カラムデータに変換する時には以下のように処理する。図２により説明する。
【００１４】
ＨＶ変換する処理サイズを図２のように６４ビット×１６ビットとすると実際に印字すべき展開後のデータ構造は図のようになる。つまり展開後のデータとしては６４ビット×３２ビットになるわけである。
【００１５】
図２のＨＶ変換処理サイズのＤ６３，Ｄ６２は２ビットＩｎｄｅｘデータをあらわす。この２ビットＩｎｄｅｘデータを展開した場合、展開後データ構造のＡの位置の２×２のマトリックスに展開される。同様にＨＶ処理サイズのＤ１，Ｄ０は展開後データ構造のＢの２×２マトリックスに展開される。
【００１６】
次に図３を用いて２ビットＩｎｄｅｘの場合のＨＶ変換処理からプリントバッファに格納されるまでを説明する。
【００１７】
ラスターデータ６４ビットは２ビットのＩｎｄｅｘデータであるため３２個のＩｎｄｅｘデータが図のａ（１、６３），ａ（１、６２），…ａ（１、１），ａ（１、０），２ラスター目はａ（２、６３），ａ（２、６２）…ａ（１、０），１６ラスター目はａ（１６，６３），ａ（１６，６２）…ａ（１６，１），ａ（１６，０）と２ビットづつ１６ラスターを３２ビットデータとし、上位ビットからａ（１，６３），ａ（１，６２），ａ（２，６３），ａ（２，６２），…ａ（１６，６３），ａ（１６，６２）とする。この３２ビットのデータをプリントバッファに転送することにより２ビットＩｎｄｅｘデータをＨＶ変換し格納される。同様にａ（１，６１），ａ（１，６０），ａ（２，６１），ａ（２，６０）…ａ（１６，６１），ａ（１６，６０）と取り出し２カラム目のデータとしてＨＶ変換されプリントバッファに格納される。このように１６×６４単位でＨＶ変換され３２×３２ビットカラムデータが生成されこの単位で１ラインＨＶ変換されプリントバッファに格納される。
【００１８】
次に図２のＨＶ変換処理サイズと図５のＩｎｄｅｘ値と展開データの１例を用いてＩｎｄｅｘデータのドットカウント方法を説明する。図５はＩｎｄｅｘ２ビットで展開されるデータとＩｎｄｅｘ値によるドットカウントを表わしている。
Ｉｎｄｅｘ値＝００の場合、ドットカウント＝０、Ｉｎｄｅｘ値＝０１の場合、ドットカウント＝１、Ｉｎｄｅｘ値＝１０の場合、ドットカウント＝２、Ｉｎｄｅｘ値＝１１の場合、ドットカウント＝３となる。図２から６４ビットのラスターデータはＤ６３，Ｄ６２，…Ｄ１，Ｄ０と並んでいる。この６４ビットのラスターデータのドットカウントは以下のようになる。
ＤＯＴＣＮＴ＝（Ｄ６３，Ｄ６２）＋（Ｄ６１，Ｄ６０）＋…＋（Ｄ１，Ｄ０）
つまり２ビットで表わされるＩｎｄｅｘを２進数で表現した２ビットの足し算で６４ビットのドットカウント値とする。６４ビットが全て‘１’の場合、
“１１”＋“１１”＋…“１１”＝“０１１０  ００００”
１０進数表現では
３＋３＋３＋…＋３＝９６
となるわけである。
【００１９】
これが１６ラスター分あるので上記計算を１６ラスター分おこなえば多値データ（Ｉｎｄｅｘ）のドットカウント値となる。
【００２０】
２値データの場合は図４のようにＨＶ変換される。図４からわかるように２値データの場合６４ビットのラスターデータが１ビットづつ取り出されることにより３２ビットのカラムデータが生成される。
【００２１】
ＨＶのマトリックス単位として３２×６４単位でおこなわれる点がＩｎｄｅｘと異なる点であるが生成されるカラムデータは２ビットＩｎｄｅｘと同じ３２ビットである。
【００２２】
２値の場合は単純に“１”のデータを加算すればドットカウント値となる。
【００２３】
【発明の実施の形態】
（実施例）
以下に本発明の実施の形態を一実施例に基づき、図面を用いて詳細に説明する。
【００２４】
図１に本発明の一実施例による記録装置の制御系の構成を示す電気ブロック図を示す。図１において、１００は、記録装置へデータを送るホストコンピュータ、１０１は、ホストコンピュータ１００等の外部機器との間で通信制御を行い、ホストコンピュータ１００より送られてくる記録画素データを受信するインターフェイス制御部、１０２はこの記録装置における動作、処理を実行するＣＰＵ，１０３はＣＰＵ１０２の制御プログラム、各種データを格納するＲＯＭ，１０４は、各種データを一時保存するためのＲＡＭで、ホストコンピュータからの画像ラスターデータを格納するラスターデータバッファ、１ライン中のプリントデータを格納するプリントバッファはここに含まれる。１０５は前述したラスターデータをＨＶ変換するために並べ直すためのワークバッファ制御部、１０６は１０４のラスターデータを１０５のワークバッファ制御部を通じて並べなおされたラスターデータを格納するワークバッファ、１０７はラスターデータを記録ヘッドに合わせカラム変換してプリントバッファに格納するためのＨＶ変換部でこの中に２値、多値でのドットカウント部も含む。１０８は記録装置が記録媒体に画像を記録するために制御信号をヘッドドライバーに供給、またプリントバッファから画像データを読み込み記録ヘッドに合わせ、画像データを生成しヘッドドライバーに印刷すべきデータを供給するヘッド制御部である。キャリッジモータードライバーとキャリッジモータのＣＲ駆動部１１１、紙送りモータードライバーと紙送りモーターのＬＦ駆動部１１０はＣＰＵ１０２からそれぞれのドライバーに制御信号を供給し、印字を記録媒体に行う際に必要な記録ヘッドの水平方向移動と記録媒の垂直方向移動を促す制御系である。
【００２５】
次に本発明実施例の制御の手順を同様に図１を用いて説明する。
【００２６】
まずホストコンピュータ１００から記録装置に送られたデータはインターフェイス制御部１０１によって入力され、受信バッファのあるＲＡＭ１０４に格納される。ＲＯＭ１０３に格納してあるプログラムに沿ってＣＰＵ１０２により受信バッファから受信データを読み込みコマンドの解析が行われラスターイメージデータの場合、順次ラスターデータが格納される。１０４に格納されたラスターデータはワークバッファ制御部１０５にラスターデータが送られ、指定されたアドレスに従いワークバッファに格納される。この時印字モードが２値データの場合アドレスは３２ラスター飛び、つまりワークバッファのバス幅が６４ビットのため８＊３２アドレス飛びに６４ビットづつ順に格納される。印字モードが２ビットＩｎｄｅｘの場合、アドレスは１６ラスター飛び、つまり８＊１６アドレス飛びに格納される。このワークバッファへの格納方法を図６に示す。２ビットＩｎｄｅｘデータの場合縦１６ビット１ラインのデータが格納されるとＣＰＵに対してワークバッファにデータがそろったことを伝える。また２値データの場合、縦３２ビット１ラインのデータが格納されると同様にＣＰＵに伝える。ＣＰＵはＨＶ変換部の起動を行う。ＨＶ変換部では縦１６ビット横６４ビットのデータをワークバッファから読み込みカラムデータ３２ビットを作成してプリントバッファに転送する。この処理を記録ヘッドノズル数１ライン、Ｙ，Ｍ，Ｃ，Ｋプリントバッファに格納するまで繰り返される。またＨＶ変換部へはＣＰＵで解析された印字モードが何であるかを予めＣＰＵから通知される。多値データの場合、Ｉｎｄｅｘ値をそのままＨＶ変換しＹ，Ｍ，Ｃ，Ｋのプリントバッファに格納する。またこのＨＶ変換部ではドットカウントが多値のまま行われ、１０４のＲＡＭに格納される。Ｙ，Ｍ，Ｃ，Ｋの空間指定はあらかじめ格納アドレスとしてＣＰＵから設定する。記録ヘッドの縦方向のノズル数、Ｙ，Ｍ，Ｃ，Ｋ１ライン分のデータがプリントバッファに格納された時点でＣＰＵはドットカウント値を順次読み出しＤＵＴＹ計算をし、１パスで印字するか或いはマルチパスで印字するかを決定する。
またこのドットカウント値を順次読み出した時に０であればそこにはデータが存在しないことからデータが存在するところのみＣＲを動かす範囲を設定する。ＣＲ駆動部をドライブし記録ヘッドを水平方向に移動させる。プリントバッファのデータは記録媒体の印字位置に記録ヘッドが到達すると、画素データがヘッド駆動部順次送られる。プリントバッファからヘッド駆動部に送られたデータがノズル数分そろうと記録ヘッドに吐出データとして転送される。記録ヘッドに転送された吐出データは記録ヘッド内に一時格納され吐出制御信号にあわせて記録媒体にデータが吐出される。この時印字モードはＨＶ変換部と同様ＣＰＵから予め通知されており、多値データの場合、ヘッド制御部でＩｎｄｅｘが１ビット２値データに展開され記録ヘッドに転送される。１ビット２値データの場合記録ヘッドのｏｄｄ，ｅｖｅｎの記録位置でそれぞれのｏｄｄデータ、ｅｖｅｎデータがプリントバッファから読み出され、記録ヘッドに転送される。このようにして１ラインの印字が終了するとＬＦ駆動部がドライブされ一連のシーケンスが終了する。
【００２７】
【発明の効果】
以上説明したように入力データの印字モードに応じて、つまり２値データ、多値データの場合でラスターデータからカラムデータの変換を全て２値データに変換することなく、入力データのまま行うハードウエアを具備し、また多値データのままドットカウントを行い、プリントバッファバッファに格納にすることにより、プリントバッファの容量を最小限で実現でき、コストアップすることなく、高解像度に対応したシステムを実現することを可能とするものである。
【図面の簡単な説明】
【図１】本発明における実施例の電気ブロック図
【図２】２ビットＩｎｄｅｘ  ＨＶ処理サイズと展開後データ構造
【図３】２ビットＩｎｄｅｘ  ＨＶ変換処理とプリントバッファ格納方法
【図４】２値データＨＶ変換処理とプリントバッファ格納方法
【図５】Ｉｎｄｅｘ値と展開データの一例
【図６】本発明におけるワークバッファ格納方法
【図１】
2005066826.tif 000003
【図２】
2005066826.tif 000004
【図３】
2005066826.tif 000005
【図４】
2005066826.tif 000006
【図５】
2005066826.tif 000007
【図６】
2005066826.tif 000008