JP2004303156A - Image processor and image processing program and recording medium - Google Patents

Image processor and image processing program and recording medium Download PDF

Info

Publication number
JP2004303156A
JP2004303156A JP2003098088A JP2003098088A JP2004303156A JP 2004303156 A JP2004303156 A JP 2004303156A JP 2003098088 A JP2003098088 A JP 2003098088A JP 2003098088 A JP2003098088 A JP 2003098088A JP 2004303156 A JP2004303156 A JP 2004303156A
Authority
JP
Japan
Prior art keywords
image
data
memory
pixel
white
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003098088A
Other languages
Japanese (ja)
Other versions
JP4204889B2 (en
Inventor
Naoyuki Yamada
直行 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003098088A priority Critical patent/JP4204889B2/en
Publication of JP2004303156A publication Critical patent/JP2004303156A/en
Application granted granted Critical
Publication of JP4204889B2 publication Critical patent/JP4204889B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Image Input (AREA)
  • Fax Reproducing Arrangements (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processor for facilitating programmable countermeasures to the discharge pattern of ink in image data conversion processing for converting page image data into an image format suitable for ink jet recording. <P>SOLUTION: Scan data inversion by a pixel array designating means 7, data selection for multi-path by an image selection designating means 5, multi-path data packing and overlap processing by a logical arithmetic means 4 are combined with respect to image data read from a memory 20 so that scan data generation for an ink jet head can be quickly and flexibly executed by hardware. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理装置、画像処理装置において実行される画像処理プログラム及び記録媒体に関し、特に、レンダリング処理を行う画像処理装置、画像処理プログラム及び記録媒体に関する。
【0002】
【従来の技術】
出力画像の画質の劣化を起こすことなく、常にレンダリング処理速度が印字速度を上回るようにするための手段として、ハードウェアレンダリング機構の使用が挙げられる。このハードウェアレンダリング機構の使用にあたっては、バンド毎に管理され、メモリ上に分散して格納された中間コード画像データ保持ブロックを効率良く、ハードウェアレンダリング機構に供給する必要がある。
【0003】
中間コード画像データ保持ブロックを効率良くハードウェアレンダリング機構に供給する方法としてDMA(Direct Memory Access)転送があり、またメモリ上に分散して存在するデータ領域を1回のDMAの起動で転送可能とする方法としてチェーン式DMA制御方式がある。
【0004】
また、本出願より先の技術文献としては、バンド単位に中間コード画像データを生成し、レンダリング処理を行う画像処理装置において、中間コード画像データを高速にレンダリング機構に供給し、なおかつ、メモリの使用効率を高めた画像処理装置がある(例えば、特許文献1参照)。
【0005】
また、プリンタドライバのユーザインターフェース部に設けられた、アプリケーションの指示で起動するGUI形式のページレイアウト設定用パネルを利用して、複数枚の原稿を1枚の用紙に印刷する際のページレイアウトをユーザが自由に設定することができる印刷制御システムがある(例えば、特許文献2参照)。
【0006】
【特許文献1】
特開2000−158724号公報
【特許文献2】
特開2000−132369号公報
【0007】
【発明が解決しようとする課題】
このように、従来からメモリの使用効率を高めた画像処理装置の開発が行われており、本発明は、上記の従来の技術を鑑みて、画像データをインクジェット記録に適した画像フォーマットに変換する画像データ変換処理において、インクジェットヘッド用のスキャンデータ生成をハードウェアで実現し、小容量のメモリで処理速度の速いレンダリングを実現する画像処理装置、画像処理プログラム及び記録媒体を提供することを目的とする。
【0008】
【課題を解決するための手段】
かかる目的を達成するために本発明は以下のような特徴を有する。
請求項1記載の発明は、メモリに展開した画像データをレンダリングする画像処理装置であって、メモリから読み出した画像データを一時的に記憶するバッファ手段と、画素配列を指定する画素配列指定手段と、バッファ手段に一時的に記憶した画像データのデータ配列を画素配列指定手段の指定に従って画素単位で並べ替える画素配列変換手段と、画素選択を指定する画素選択指定手段と、画素選択指定手段の指定に従って、バッファ手段に一時的に記憶した画像データから画素データを選択する画素データ選択手段と、論理演算パターンを指定する論理演算パターン指定手段と、論理演算パターン指定手段の指定に従って、バッファ手段に一時的に記憶した画像データと論理演算パターンの論理演算を行う論理演算手段と、を有し、画素配列変換手段と、画素データ選択手段と、論理演算手段と、の少なくとも1つの手段による出力データを変換出力データとしてメモリへ書き込むことを特徴とする。
【0009】
請求項2記載の発明は、請求項1記載の画像処理装置において、画像データの画素パターンをカウントし、インクの吐出量を検出する画素パターンカウント手段と、画像データの主走査方向及び副走査方向の有効画像範囲を検出する有効画像範囲検出手段と、を更に有することを特徴とする。
【0010】
請求項3記載の発明は、請求項1または2記載の画像処理装置において、白画像挿入数を指定する白画像挿入数指定手段と、白画像挿入数指定手段の指定に従って、変換出力データの前後に白画像データを挿入する白画像挿入手段と、を更に有することを特徴とする。
【0011】
請求項4記載の発明は、請求項1から3の何れか1項に記載の画像処理装置において、白マスク数を指定する白マスク数指定手段と、白マスク数指定手段の指定に従って、変換出力データを白マスクする白マスク手段と、を更に有することを特徴とする。
【0012】
請求項5記載の発明は、請求項1から4の何れか1項に記載の画像処理装置において、メモリアドレス演算を指定するメモリアドレス演算指定手段と、メモリアドレス演算指定手段の指定に従って、メモリに出力するメモリアドレスを生成するメモリアドレス生成手段と、メモリから画像データを読み出し、メモリへ変換出力データを書き込むDMA転送手段と、を更に有することを特徴とする。
【0013】
請求項6記載の発明は、請求項6記載の画像処理装置において、メモリ上にDMA転送情報を設定するDMA転送情報設定手段と、メモリからDMA転送情報を読み出してDMA転送を繰り返し実行するチェーンDMA転送手段と、を更に有することを特徴とする。
【0014】
請求項7記載の発明は、請求項1記載の画像処理装置において、画素配列指定手段と、画素選択指定手段と、論理演算パターン指定手段と、はプログラマブルであることを特徴とする。
【0015】
請求項8記載の発明は、請求項3記載の画像処理装置において、白画像挿入数指定手段は、プログラマブルであることを特徴とする。
【0016】
請求項9記載の発明は、請求項4記載の画像処理装置において、白マスク数指定手段は、プログラマブルであることを特徴とする。
【0017】
請求項10記載の発明は、画像処理装置の具備するメモリに展開した画像データのレンダリングを画像処理装置において実行する画像処理プログラムであって、メモリから読み出した画像データを一時的に記憶するバッファ処理と、画素配列を指定する画素配列指定処理と、バッファ処理により一時的に記憶した画像データのデータ配列を画素配列指定処理の指定に従って画素単位で並べ替える画素配列変換処理と、画素選択を指定する画素選択指定処理と、画素選択指定処理の指定に従って、バッファ処理により一時的に記憶した画像データから画素データを選択する画素データ選択処理と、論理演算パターンを指定する論理演算パターン指定処理と、論理演算パターン指定処理の指定に従って、バッファ処理により一時的に記憶した画像データと論理演算パターンの論理演算を行う論理演算処理と、をコンピュータに実行させ、画素配列変換処理と、画素データ選択処理と、論理演算処理と、の少なくとも1つの処理による出力データを変換出力データとしてメモリへ書き込むことを特徴とする。
【0018】
請求項11記載の発明は、請求項10記載の画像処理プログラムにおいて、画像データの画素パターンをカウントし、インクの吐出量を検出する画素パターンカウント処理と、画像データの主走査方向及び副走査方向の有効画像範囲を検出する有効画像範囲検出処理と、を更にコンピュータに実行させることを特徴とする。
【0019】
請求項12記載の発明は、請求項10または11記載の画像処理プログラムにおいて、白画像挿入数を指定する白画像挿入数指定処理と、白画像挿入数指定処理の指定に従って、変換出力データの前後に白画像データを挿入する白画像挿入処理と、を更にコンピュータに実行させることを特徴とする。
【0020】
請求項13記載の発明は、請求項10から12の何れか1項に記載の画像処理プログラムにおいて、白マスク数を指定する白マスク数指定処理と、白マスク数指定処理の指定に従って、変換出力データを白マスクする白マスク処理と、を更にコンピュータに実行させることを特徴とする。
【0021】
請求項14記載の発明は、請求項10から13の何れか1項に記載の画像処理プログラムにおいて、メモリアドレス演算を指定するメモリアドレス演算指定処理と、メモリアドレス演算指定処理の指定に従って、メモリに出力するメモリアドレスを生成するメモリアドレス生成処理と、メモリから画像データを読み出し、メモリへ変換出力データを書き込むDMA転送処理と、を更にコンピュータに実行させることを特徴とする。
【0022】
請求項15記載の発明は、請求項14記載の画像処理プログラムにおいて、メモリ上にDMA転送情報を設定するDMA転送情報設定処理と、メモリからDMA転送情報を読み出してDMA転送を繰り返し実行するチェーンDMA転送処理と、を更にコンピュータに実行させることを特徴とする。
【0023】
請求項16記載の発明は、請求項10から請求項15に記載された画像処理プログラムをコンピュータ読み取り可能な記録媒体に記録したことを特徴とする。
【0024】
【発明の実施の形態】
以下、添付図面を参照しながら本発明にかかる実施の形態について詳細に説明する。
本発明にかかる画像処理装置は、レーザプリンタ等のページ画像データをインクジェット記録に適した画像フォーマットに変換する画像データ変換処理において、インクの吐出パターンに対してプログラマブルに対応出来る特徴を有する。
【0025】
まず、図1を参照しながら本発明にかかる画像処理装置について説明する。
本発明にかかる画像処理装置は、少なくともレンダリング制御部1と、CPU21と、メモリ20と、を有して構成される。
レンダリング制御部1は、メモリ20に展開した画像データをインクジェットのヘッド印字形式に合うデータ形式に変換する。なお、インクジェット記録において、ヘッドが主走査方向に動きながら一度に印字するデータをスキャンデータと呼ぶこととする。また、レンダリングとは、ページの画像データからスキャンデータを生成することであり、より詳細には、「スキャン反転、有効データ範囲検出、マルチパス対応、マルチパスパッキング処理、インターレース対応、オーバーラップ処理、ページ先端処理、ページ後端処理」などを組み合わせた結果を生成する。
【0026】
次に、レンダリング制御部1の内部構成について説明する。
レンダリング制御部1は、バッファ手段2と、論理演算パターン指定手段3と、論理演算手段4と、画素選択指定手段5と、画素データ選択手段6と、画素配列指定手段7と、画素配列変換手段8と、白画像挿入数指定手段9と、白画像挿入手段10と、白マスク数指定手段11と、白マスク手段12と、画素パターンカウント手段14と、有効画像範囲検出手段15と、DMA(Direct Memory Access)転送手段16と、メモリアドレス演算指定手段17と、メモリアドレス生成手段18と、チェーンDMA(Direct Memory Access)転送手段19と、を有して構成される。
【0027】
(各手段の機能)
上記構成からなる各手段の機能について以下に説明する。
バッファ手段2は、メモリ20から読み込んだ画像データを一時的に記憶する。なお、後述する図2では一例として512bitのデータ量を保持することとする。
倫理演算パターン指定手段3は、論理演算パターンを論理演算手段4に指定する。
論理演算手段4は、論理演算パターン指定手段3から指定された論理演算パターンとバッファ手段2に一時的に記憶した画像データとの論理演算を行い、マルチパス対応、オーバーラップ処理を行う。
【0028】
画素選択指定手段5は、スキャンデータに必要な画素データを画素データ選択手段6に指定する。
画素データ選択手段6は、バッファ手段2に一時的に記憶した画像データの中から、画素選択指定手段5から指定されたスキャンデータに必要な画素データを選択し、マルチパスパッキングに対応する。
【0029】
画素配列指定手段7は、スキャン反転データを生成する際の画素配列を画素配列変換手段8に指定する。
画素配列変換手段8は、画素配列指定手段7から指定された画素配列に従って画素単位で並べ替え、スキャン反転データを生成する。
【0030】
白画像挿入数指定手段9は、白画像挿入手段10に白画像挿入数を指定する。
白画像挿入手段10は、白画像挿入指定手段9から指定された白画像挿入数に従って画像データに白画像を挿入する。なお、この処理はページ先端処理、ページ後端処理における画質向上に有効である。
【0031】
白マスク数指定手段11は、白マスク数を白マスク手段12に指定する。
白マスク手段12は、白マスク数指定手段11から指定された白マスク数に従って画像データの白マスクを行う。なお、この処理はマルチパスでの印字の際にページ先端処理、ページ後端処理で使用する。
なお、白マスク手段12までの処理は必要に応じてスルーが可能である。例えば、ヘッドが記録媒体上を左から右へ動く場合と、右から左へ動く場合と、ではデータの配列が逆転する。左から右へ動く場合は、画素配列変換手段8をOFFにする。また、右から左へ動く場合は、画素配列変換手段8をONにする。
【0032】
画素パターンカウント手段14は、白マスク手段12までの処理が完了したスキャンデータ13の画素パターンをカウントし、インクの滴使用量を検出する。
有効画像範囲検出手段15は、スキャンデータ13の有効画像範囲を検出し、ヘッドのスタート位置や記録媒体の搬送量を決める情報を取得する。なお、カラー画像の場合は、各色について有効画像範囲を検出する。
【0033】
DMA転送手段16は、スキャンデータ13をメモリ20に転送する。
メモリアドレス演算指定手段17は、メモリ20に出力するアドレスを生成するためのメモリアドレス演算をメモリアドレス生成手段18に指定する。インターレース処理では、メモリ20から読み込むラインデータが不連続になるようにメモリアドレス生成手段18に指示を送る。
【0034】
メモリアドレス生成手段18は、メモリアドレス演算指定手段17から指定されたメモリアドレス演算を基にメモリ20に出力するアドレスを生成する。
チェーンDMA転送手段19は、DMA転送に先立ち、メモリ20からDMA転送情報を読み出して、該読み出したDMA転送情報の指示に従ったDMA転送を行う。
【0035】
次に、上記構成からなる画像処理装置の処理動作について説明する。
バッファ手段2は、メモリ20から読み込んだ画像データを一時的に記憶し、論理演算パターン指定手段3の指示に従ってバッファ手段2に一時的に記憶した画像データと論理演算パターンとの論理演算を論理演算手段4において行い、マルチパス対応、オーバーラップ処理を行う。
【0036】
また、画素選択指定手段5の指定に従って、バッファ手段2に一時的に記憶した画像データの中から、スキャンデータに必要な画素データを画素データ選択手段6おいて選択し、マルチパスパッキングに対応させる。
【0037】
また、画素配列指定手段7の指示に従って、バッファ手段2に一時的に記憶した画像データのデータ配列を画素配列変換手段8において画素単位で並べ替え、スキャン反転データを生成する。
【0038】
また、白画像挿入数指定手段9の指示に従って、白画像挿入手段10において、画像データへ白画像を挿入する。
【0039】
また、白マスク数指定手段11の指示に従って、白マスク手段12において、画像データを白マスクする。
【0040】
次に、白マスク手段12までの処理を通ったスキャンデータ13に対して、画素パターンカウント手段14において画素パターンをカウントし、インクの滴使用量を検出する。また、有効画像範囲検出手段15では、スキャンデータ13の有効画像範囲を検出し、ヘッドのスタート位置や記録媒体の搬送量を決める情報を決定する。
【0041】
次に、上記処理により生成されたスキャンデータ13は、DMA転送手段16によりメモリ20へ転送される。このとき、チェーンDMA転送手段19は、DMA転送に先立ち、メモリ20からDMA転送情報を読み出して、そのDMA転送情報の指示に従ったDMA転送を行う。メモリ20へ出力するアドレスは、メモリアドレス演算指定手段17の指示に従い、メモリアドレス生成手段18によって生成される。
【0042】
インターレース処理ではメモリ20から読み込むラインデータが不連続になるようメモリアドレス演算指定手段17で指示を送ることになる。
【0043】
このように、上記構成からなる画像処理装置は、メモリ20から読み出した画像データに対して、画素配列指定手段7によるスキャンデータ反転、画素選択指定手段5によるマルチパス用データ選択、マルチパスデータパッキング、論理演算パターン指定手段3によるオーバーラップ処理を組み合わせてインクジェットヘッド用のスキャンデータ生成をハードウェアで実現し、小容量のバンドメモリで処理速度の速いレンダリングを実現することが可能となる。
【0044】
また、画素パターンカウント手段14によるインクの吐出量の算出を行うと共に、有効画像範囲検出手段15による画像有効範囲検出の処理結果を用いて有効画像範囲に印字する為の記録媒体及びヘッド移動量情報を取得することが可能となり、インク残量及びインクヘッドの目詰まりの管理が容易となり、有効画像範囲のみを記録することによるスループットの向上が得られることとなる。
【0045】
また、白画像挿入数指定手段9により、記録媒体ではなく画像データを副走査方向に移動させることで、ページ先端及びページ後端においてヘッドと記録媒体の重なり部分を増やすことで安定した記録を行うこととなり、画質の向上が得られることとなる。
【0046】
また、白マスク数指定手段11により、ページ先端データ及びページ後端データに対して画像領域外をマスクし、マルチパス、インターレース記録に対応することが可能となる。
【0047】
また、メモリアドレス演算指定手段17と、DMA転送手段16と、によりCPU21の介在を最小限にして行うことが可能となる。
【0048】
また、チェーンDMA転送手段19により、CPU21の介在を最小限にして行うと共に、ノズル列数と無関係にモノクロ/カラー画情報について、処理速度の速いデータ変換処理を連続して行うことが可能となり、1つのDMAチャネルでマルチカラー(C、M、Y、K)を連続動作することが可能となる。
【0049】
また、画素配列指定手段7と、画素選択指定手段5と、論理演算パターン指定手段3と、白画像挿入数指定手段9と、白マスク数指定手段11と、がプログラマブルであることで、ヘッドノズル数やインク吐出方法の変更に対して、任意のマルチパス、データマスク、データパッキング、ページ先端処理、ページ後端処理をプログラマブルとして汎用性を持たせることが可能となる。
【0050】
次に、図2を参照しながら図1の画像処理装置を用いた第1のデータの変換処理について説明する。
なお、図2に示す第1のデータ変換処理は、データ変換処理の一例を示すものであり、リードデータ30は、図1に示すバッファ手段2を示唆しており、読み込んだデータ列(256画素、2bit/1画素)を画素配列指定手段7で反転するように指定された場合である。反転31は、リードデータ30を主走査方向に反転した状態である。マルチパス32は、画素選択指定手段5において、マルチパス32を4パスと指定され、画素データ選択手段6において必要な画素を選択し、128bitにマルチパスパッキングした状態である。マルチパス+反転33は、これらの組み合わせで実現している。
【0051】
次に、図3を参照しながら図1の画像処理装置を用いた第2のデータ変換処理について説明する。
図3に示す第2のデータ変換処理は、データ変換処理の一例を示すものであり、オーバーラップ処理を行っている。40に示す印字ヘッドが、41の部分のみをあえて重ねて印字を行う場合である。これにより、印字領域のつながりが良くなり画質向上に効果がある。
【0052】
41の部分のスキャンデータ生成は、オーバーラップ領域(上端)42と、オーバーラップ領域(下端)43と、に対して、オーバーラップ処理を追加しており、その他のスキャンデータ画像領域44に対しては、オーバーラップ処理を行っていない。46は、印字ヘッド40のノズル数を示しており、印字ヘッド40が主走査方向に動いて印字する場合、最大で「ノズル数×主走査画素数」のインク滴を吐出する。
【0053】
オーバーラップ領域では、前データと現データエリアが重なるため、オーバーラップ領域においては2度書きが無いようにオーバーラップ領域(上端)42と、オーバーラップ領域(下端)43と、の両方を印字した時に初めて印字が完成するように、スキャンデータに対して、オーバーラップ領域(上端)42と、オーバーラップ領域(下端)43と、で異なるオーバーラップパターンを用いてマスク処理を行う。オーバーラップ領域を作り出すためには、図1に示すメモリ20へ出力するアドレスは、メモリアドレス演算指定手段17において、オーバーラップ領域分だけ重なるよう指示を出し、メモリアドレス生成手段18で生成される。
【0054】
オーバーラップ処理は、論理演算パターン指定手段3の演算指定に従ってバッファ手段2のデータと、論理演算パターン(オーバーラップパターン)と、を論理演算手段4において演算することで行われる。
【0055】
次に、図4を参照しながら図1の画像処理装置を用いた第3のデータ変換処理について説明する。
図4は、第3のデータ変換処理の一例を示すものであり、ページ先端処理と、ページ後端処理と、を行っている。ページ先端処理と、ページ後端処理とは、記録媒体の搬送量を少なくし、記録媒体とヘッドとの重なり部分を増やし、安定した記録を行うことで画質の向上を図ることとしている。
【0056】
50は、ページ先端処理におけるヘッドの印字データ領域を示し、51は、ページ後端処理におけるヘッドの印字データ領域を示す。52は、ヘッドのノズル数、53、54は、図1に示す白画像挿入手段10による白画像挿入領域、55は、図1に示す白マスク手段12による画像の白マスク領域であり、56から開始する画像領域を白マスクしている。この結果、ページ先端及び、ページ後端では、1スキャンあたりの記録媒体の搬送量を少なくし、画像領域をその分シフトしていることになる。ページ外領域ではインクを吐出しないよう白挿入している。
【0057】
次に、図5、図6を参照しながら、本発明にかかる画像処理装置における処理動作について説明する。
まず、CPU21により、図1に示すメモリ20に対してDMA転送情報(転送アドレス、転送数、次DMA情報アドレス、割り込み等のDMA制御情報)をDMA起動回数分設定する(ステップS1)。例えば、C(シアン)、M(マゼンタ)、Y(イエロー)、K(ブラック)4色、各色2ノズル列のヘッドに対してスキャンデータを生成するDMAであれば、合計8回分のDMA転送情報をメモリ20へ設定する。
【0058】
次に、CPU21により、図1に示す論理演算パターン指定手段3と、画素選択指定手段5と、画素配列指定手段7と、白画像挿入数指定手段9と、白マスク数指定手段11と、画素パターンカウント手段14と、有効画像範囲検出手段15と、メモリアドレス演算指定手段17と、を設定する(ステップS2)。その後、CPU21によりDMA転送情報の先頭アドレスを指示してDMAをスタートする(ステップS3)。
【0059】
これにより、DMA転送情報の先頭アドレスから所定バイト数分だけDMA転送情報を読み出し(ステップS4)、そのDMA転送情報の内容を解析してDMAの動作を決定する(ステップS5)。解析の結果、メモリアドレス生成手段18において指定アドレスを生成し、メモリ20から画像データを読み出す(ステップS6)。そして、リードアクセス終了後、メモリアドレス生成手段18で次のメモリアドレスを生成し(ステップS7)、リードデータを、バッファ手段2に一時的に保存する(ステップS8)。
【0060】
次に、論理演算パターン指定手段3において、論理演算がONであるか否かを判定し(ステップS9)、倫理演算パターン指定手段3において、論理演算がONと判定した場合には(ステップS9/YES)、論理演算手段4は、論理演算パターン指定手段3の指示に従い、バッファ手段2の画像データと、論理演算パターンと、を論理演算し、マルチパス対応、オーバーラップ処理を行う(ステップS10)。
【0061】
次に、画素選択指定手段5において、画素データ選択がONであるか否かを判定し(ステップS11)、画素選択指定手段5において、画素データ選択がONと判定した場合には(ステップ11/YES)、バッファ手段2に読み込んだデータ、または、上流の処理を終えたデータの中から、これより生成するスキャンデータに必要なデータを画素データ選択手段6で選択し、マルチパスパッキングに対応する(ステップS12)。
【0062】
次に、画素配列指定手段7において、画素配列変換がONであるか否かを判定し(ステップS13)、画素配列指定手段7において、画素配列変換がONと判定した場合には(ステップS13/ON)、画素配列指定手段7の指示に従い、画素配列変換手段8でスキャン反転データを生成する(ステップS14)。
【0063】
次に、白画像挿入数指定手段9において、白画像挿入がONであるか否かを判定し(ステップS15)、白画像挿入数指定手段9において、白画像挿入がONであると判定した場合には(ステップS15/YES)、白画像挿入数指定手段9の指示に従い、白画像挿入手段10により画像データへ白画像を挿入する(ステップS16)。
【0064】
次に、白マスク数指定手段11において、白マスクがONであるか否かを判定し(ステップS17)、白マスク数指定手段11において、白マスクがONであると判定した場合には(ステップS17/YES)、白マスク数指定手段11の指示に従い、白マスク手段12により指定画像データを白マスクする(ステップS18)。
【0065】
次に、ステップS18までの処理を行ったスキャンデータに対して、画素パターンカウント手段14により画素パターンをカウントし(ステップS19)、インクの滴使用量を検出する。また、有効画像範囲検出手段15によりスキャンデータの有効画像範囲を検出し(ステップS20)、ヘッドのスタート位置や記録媒体の搬送量を決める情報として使用する。なお、カラー画像の場合には、各色について有効画像範囲を検出する。
【0066】
DMA転送手段16は、ステップS20までに生成したスキャンデータをラッチして(ステップS21)、メモリ20に転送する(ステップS22)。そして、DMAが終了したか否かを判定し(ステップS23)、DMAが終了していないと判定した場合には(ステップS23/NO)、再び、ステップS6からの処理を繰り返す。また、DMAが終了していると判定した場合には(ステップS23/YES)、DMAチェーンが終了したか否かを判定する(ステップS24)。該判定により、DMAチェーンが終了していると判定した場合には(ステップS24/YES)、処理を終了する。また、DMAチェーンが終了していないと判定した場合は(ステップS24/NO)、再び、ステップS4からの処理を繰り返す。
【0067】
なお、メモリ20からリードする変換前のデータは、最低主走査幅xノズル列分のデータがあれば良く、本画像データ変換方式で1スキャンデータの生成が終了したときに、空きエリアとなるデータを補充する。具体的には、1スキャンあたりの記録媒体搬送量に相当する変換前データを補充することで、1ページを通してスキャンデータを生成し続け、印字することが可能となる。
【0068】
このように、スキャンデータ生成の為の各機能を組み合わせて実現し、途中CPUの介在の無いチェーンDMAを用いた転送でカラー、モノクロを問わずスキャンデータを高速に生成すると共に、ヘッドのノズル数や、印字パターンの変更などの仕様変更に対して柔軟なハードウェア構成が可能となる。
【0069】
なお、上述する実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。
例えば、上述した処理を実現するソフトウェアのプログラムを画像処理装置に供給し、その画像処理装置において、プログラムを読み出して実行することも可能である。
【0070】
【発明の効果】
以上の説明より明らかなように本発明は以下のような効果を奏する。
メモリから読み出した画像データに対して、画素配列指定手段によるスキャンデータ反転、画素選択指定手段によるマルチパス用データ選択、マルチパスデータパッキング、論理演算手段によるオーバーラップ処理を組み合わせることでインクジェットヘッド用のスキャンデータ生成をハードウェアで高速、かつ、柔軟に行うことができる。
【図面の簡単な説明】
【図1】本発明にかかる画像処理装置の構成を示すブロック図である。
【図2】図1に示す画像処理装置を用いた第1のデータ変換処理を示す図である
【図3】図1に示す画像処理装置を用いた第2のデータ変換処理を示す図である。
【図4】図1に示す画像処理装置を用いた第3のデータ変換処理を示す図である。
【図5】図1に示す画像処理装置におけるデータ変換処理を示す第1のフローチャートである。
【図6】図1に示す画像処理装置におけるデータ変換処理を示す第2のフローチャートである。
【符号の説明】
1 レンダリング制御部
2 バッファ手段
3 論理演算パターン指定手段
4 論理演算手段
5 画素選択指定手段
6 画素データ選択手段
7 画素配列指定手段
8 画素配列変換手段
9 白画像挿入数指定手段
10 白画像挿入手段
11 白マスク数指手段
12 白マスク手段
13 スキャンデータ
14 画素パターンカウント手段
15 有効画像範囲検出手段
16 DMA転送手段
17 メモリアドレス演算指定手段
18 メモリアドレス生成手段
19 チェーンDMA転送手段
20 メモリ
21 CPU
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing apparatus, an image processing program executed by the image processing apparatus, and a recording medium, and more particularly, to an image processing apparatus that performs a rendering process, an image processing program, and a recording medium.
[0002]
[Prior art]
As a means for ensuring that the rendering processing speed always exceeds the printing speed without deteriorating the image quality of the output image, use of a hardware rendering mechanism can be mentioned. In using this hardware rendering mechanism, it is necessary to efficiently supply the intermediate code image data holding blocks managed for each band and distributed and stored on the memory to the hardware rendering mechanism.
[0003]
As a method of efficiently supplying the intermediate code image data holding block to the hardware rendering mechanism, there is DMA (Direct Memory Access) transfer, and it is possible to transfer a data area distributed and existing on a memory by one start of DMA. There is a chain type DMA control method as a method for performing this.
[0004]
Further, as a technical document prior to the present application, in an image processing apparatus that generates intermediate code image data in band units and performs a rendering process, the intermediate code image data is supplied to a rendering mechanism at high speed, and the use of a memory is performed. There is an image processing apparatus with improved efficiency (for example, see Patent Document 1).
[0005]
In addition, the user can use a GUI page layout setting panel, which is provided in the user interface unit of the printer driver and is activated by an instruction of an application, to change a page layout when printing a plurality of documents on one sheet. There is a print control system that can freely set (see, for example, Patent Document 2).
[0006]
[Patent Document 1]
JP 2000-158724 A
[Patent Document 2]
JP 2000-132369 A
[0007]
[Problems to be solved by the invention]
As described above, an image processing apparatus with a higher memory use efficiency has been developed, and the present invention converts image data into an image format suitable for inkjet recording in view of the above-described conventional technology. It is an object of the present invention to provide an image processing apparatus, an image processing program, and a recording medium that realize scan data generation for an inkjet head by hardware in image data conversion processing, and realize high-speed rendering with a small-capacity memory. I do.
[0008]
[Means for Solving the Problems]
To achieve this object, the present invention has the following features.
The invention according to claim 1 is an image processing apparatus that renders image data expanded in a memory, wherein the buffer unit temporarily stores image data read from the memory, and a pixel array designating unit that designates a pixel array. A pixel array conversion unit for rearranging the data array of the image data temporarily stored in the buffer unit on a pixel basis in accordance with the designation of the pixel array designation unit, a pixel selection designation unit for designating pixel selection, and a designation of pixel selection designation unit Pixel data selecting means for selecting pixel data from the image data temporarily stored in the buffer means, logical operation pattern specifying means for specifying a logical operation pattern, and temporarily storing data in the buffer means in accordance with the specification of the logical operation pattern specifying means. Logical operation means for performing logical operation of logically stored image data and logical operation pattern, A sequence converting section, and wherein the pixel data selection means, and logic operation means, of writing to the memory output data as transformed data in accordance with at least one means.
[0009]
According to a second aspect of the present invention, in the image processing apparatus of the first aspect, a pixel pattern counting means for counting a pixel pattern of the image data and detecting an ink ejection amount, and a main scanning direction and a sub-scanning direction of the image data. And an effective image range detecting means for detecting the effective image range.
[0010]
According to a third aspect of the present invention, there is provided the image processing apparatus according to the first or second aspect, wherein a white image insertion number designating means for designating the number of white image insertions, and before and after the converted output data according to the designation of the white image insertion number designating means. And white image insertion means for inserting white image data into the image data.
[0011]
According to a fourth aspect of the present invention, there is provided the image processing apparatus according to any one of the first to third aspects, wherein the white mask number specifying means for specifying the number of white masks and the conversion output according to the specification of the white mask number specifying means. And white mask means for white masking data.
[0012]
According to a fifth aspect of the present invention, in the image processing apparatus according to any one of the first to fourth aspects, a memory address calculation designating means for designating a memory address calculation and a memory in accordance with the designation of the memory address calculation designating means. A memory address generating means for generating a memory address to be output, and a DMA transfer means for reading image data from the memory and writing converted output data to the memory are further provided.
[0013]
According to a sixth aspect of the present invention, in the image processing apparatus of the sixth aspect, DMA transfer information setting means for setting DMA transfer information on a memory, and a chain DMA for reading DMA transfer information from the memory and repeatedly executing DMA transfer And transfer means.
[0014]
According to a seventh aspect of the present invention, in the image processing apparatus of the first aspect, the pixel array designating means, the pixel selection designating means, and the logical operation pattern designating means are programmable.
[0015]
According to an eighth aspect of the present invention, in the image processing apparatus of the third aspect, the white image insertion number designating means is programmable.
[0016]
According to a ninth aspect of the present invention, in the image processing apparatus of the fourth aspect, the white mask number designating means is programmable.
[0017]
The invention according to claim 10 is an image processing program for executing, in an image processing apparatus, rendering of image data expanded in a memory included in the image processing apparatus, wherein the buffer processing temporarily stores the image data read from the memory. A pixel array specifying process for specifying a pixel array, a pixel array converting process for rearranging the data array of the image data temporarily stored by the buffer process on a pixel basis according to the specification of the pixel array specifying process, and specifying a pixel selection. A pixel selection designation process, a pixel data selection process of selecting pixel data from the image data temporarily stored by the buffer process according to the designation of the pixel selection designation process, a logical operation pattern designation process of designating a logical operation pattern, Image temporarily stored by buffer processing according to the calculation pattern specification processing And causing the computer to execute a logical operation process for performing a logical operation of the data and the logical operation pattern, and converts and outputs output data obtained by at least one of a pixel array conversion process, a pixel data selection process, and a logical operation process. It is characterized in that it is written to a memory as data.
[0018]
According to an eleventh aspect of the present invention, in the image processing program according to the tenth aspect, a pixel pattern counting process for counting a pixel pattern of image data and detecting an ink ejection amount, and a main scanning direction and a sub-scanning direction of the image data. And an effective image range detecting process for detecting the effective image range.
[0019]
According to a twelfth aspect of the present invention, there is provided the image processing program according to the tenth or eleventh aspect, wherein before and after the conversion output data, the white image insertion number specifying process for specifying the number of white image insertions and the white image insertion number specifying process are specified. And inserting a white image data into the computer.
[0020]
According to a thirteenth aspect of the present invention, in the image processing program according to any one of the tenth to twelfth aspects, according to the white mask number designating process for designating the number of white masks and the white mask number designating process, the converted output is performed. And a white mask process for white masking the data.
[0021]
According to a fourteenth aspect of the present invention, in the image processing program according to any one of the tenth to thirteenth aspects, a memory address calculation designation process for designating a memory address calculation and a memory address calculation designation process for the memory address calculation designation process. The computer is further made to execute a memory address generation process for generating a memory address to be output, and a DMA transfer process for reading image data from the memory and writing converted output data to the memory.
[0022]
According to a fifteenth aspect of the present invention, in the image processing program of the fourteenth aspect, a DMA transfer information setting process for setting DMA transfer information on a memory, and a chain DMA for reading the DMA transfer information from the memory and repeatedly executing the DMA transfer And causing the computer to further execute the transfer process.
[0023]
According to a sixteenth aspect of the present invention, the image processing program according to the tenth to fifteenth aspects is recorded on a computer-readable recording medium.
[0024]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
The image processing apparatus according to the present invention has a feature that it can programmably correspond to an ink ejection pattern in an image data conversion process of converting page image data of a laser printer or the like into an image format suitable for inkjet recording.
[0025]
First, an image processing apparatus according to the present invention will be described with reference to FIG.
The image processing apparatus according to the present invention includes at least the rendering control unit 1, the CPU 21, and the memory 20.
The rendering control unit 1 converts the image data developed in the memory 20 into a data format that matches the print format of the inkjet head. In inkjet recording, data that is printed at a time while the head moves in the main scanning direction is referred to as scan data. Rendering refers to generating scan data from image data of a page, and more specifically, “scan inversion, valid data range detection, multi-pass correspondence, multi-pass packing processing, interlace correspondence, overlap processing, A result combining page top processing, page rear processing and the like is generated.
[0026]
Next, the internal configuration of the rendering control unit 1 will be described.
The rendering control unit 1 includes a buffer unit 2, a logical operation pattern specifying unit 3, a logical operation unit 4, a pixel selection specifying unit 5, a pixel data selecting unit 6, a pixel array specifying unit 7, a pixel array converting unit. 8, white image insertion number designating means 9, white image inserting means 10, white mask number designating means 11, white mask means 12, pixel pattern counting means 14, effective image range detecting means 15, DMA ( It includes a direct memory access (DMA) transfer unit 16, a memory address calculation designating unit 17, a memory address generation unit 18, and a chain DMA (Direct Memory Access) transfer unit 19.
[0027]
(Function of each means)
The function of each unit having the above configuration will be described below.
The buffer unit 2 temporarily stores the image data read from the memory 20. In FIG. 2 described later, a data amount of 512 bits is held as an example.
The ethical operation pattern designating means 3 designates a logical operation pattern to the logical operation means 4.
The logical operation unit 4 performs a logical operation on the logical operation pattern specified by the logical operation pattern specifying unit 3 and the image data temporarily stored in the buffer unit 2, and performs multi-pass correspondence and overlap processing.
[0028]
The pixel selection designation unit 5 designates pixel data necessary for the scan data to the pixel data selection unit 6.
The pixel data selection unit 6 selects pixel data necessary for the scan data specified by the pixel selection specification unit 5 from the image data temporarily stored in the buffer unit 2, and supports multi-pass packing.
[0029]
The pixel array designating unit 7 designates a pixel array for generating the scan inversion data to the pixel array converting unit 8.
The pixel array conversion unit 8 rearranges the image data on a pixel-by-pixel basis according to the pixel array specified by the pixel array specifying unit 7 to generate scan inversion data.
[0030]
The white image insertion number designation means 9 designates the white image insertion number to the white image insertion means 10.
The white image insertion means 10 inserts a white image into the image data according to the white image insertion number designated by the white image insertion designation means 9. This processing is effective for improving the image quality in the page leading edge processing and the page trailing edge processing.
[0031]
The white mask number designating means 11 designates the number of white masks to the white mask means 12.
The white mask unit 12 performs white masking of image data according to the number of white masks specified by the white mask number specifying unit 11. This processing is used in the page leading edge processing and the page trailing edge processing in multi-pass printing.
The processing up to the white mask means 12 can be through if necessary. For example, the data arrangement is reversed when the head moves on the recording medium from left to right and when it moves from right to left. When moving from left to right, the pixel array conversion means 8 is turned off. When moving from right to left, the pixel array conversion means 8 is turned on.
[0032]
The pixel pattern counting means 14 counts the pixel pattern of the scan data 13 which has been processed up to the white mask means 12, and detects the amount of ink used.
The effective image range detecting means 15 detects an effective image range of the scan data 13 and acquires information for determining a start position of the head and a transport amount of the recording medium. In the case of a color image, an effective image range is detected for each color.
[0033]
The DMA transfer unit 16 transfers the scan data 13 to the memory 20.
The memory address calculation specifying means 17 specifies a memory address calculation for generating an address to be output to the memory 20 to the memory address generation means 18. In the interlace processing, an instruction is sent to the memory address generating means 18 so that the line data read from the memory 20 becomes discontinuous.
[0034]
The memory address generating means 18 generates an address to be output to the memory 20 based on the memory address calculation specified by the memory address calculation specifying means 17.
Prior to the DMA transfer, the chain DMA transfer unit 19 reads the DMA transfer information from the memory 20 and performs the DMA transfer according to the instruction of the read DMA transfer information.
[0035]
Next, the processing operation of the image processing apparatus having the above configuration will be described.
The buffer means 2 temporarily stores the image data read from the memory 20, and performs a logical operation on the logical operation between the image data temporarily stored in the buffer means 2 and the logical operation pattern in accordance with an instruction from the logical operation pattern designating means 3. This is performed by the means 4, and multipath correspondence and overlap processing are performed.
[0036]
Further, pixel data necessary for scan data is selected from the image data temporarily stored in the buffer unit 2 by the pixel data selecting unit 6 in accordance with the designation of the pixel selection designating unit 5 so as to correspond to multi-pass packing. .
[0037]
Further, in accordance with the instruction of the pixel array designating unit 7, the data array of the image data temporarily stored in the buffer unit 2 is rearranged in pixel units by the pixel array converting unit 8, and scan inversion data is generated.
[0038]
Further, in accordance with an instruction from the white image insertion number designating means 9, the white image inserting means 10 inserts a white image into the image data.
[0039]
Further, in accordance with an instruction from the white mask number designating unit 11, the white masking unit 12 masks the image data with white.
[0040]
Next, the pixel pattern is counted by the pixel pattern counting means 14 with respect to the scan data 13 which has been processed up to the white mask means 12, and the amount of ink used is detected. The effective image range detecting means 15 detects an effective image range of the scan data 13 and determines information for determining a start position of the head and a transport amount of the recording medium.
[0041]
Next, the scan data 13 generated by the above processing is transferred to the memory 20 by the DMA transfer means 16. At this time, prior to the DMA transfer, the chain DMA transfer unit 19 reads the DMA transfer information from the memory 20 and performs the DMA transfer according to the instruction of the DMA transfer information. The address to be output to the memory 20 is generated by the memory address generation means 18 according to the instruction of the memory address calculation specification means 17.
[0042]
In the interlacing process, an instruction is sent by the memory address operation specifying means 17 so that the line data read from the memory 20 becomes discontinuous.
[0043]
As described above, the image processing apparatus having the above-described configuration performs scan data inversion by the pixel array designating unit 7, multi-pass data selection by the pixel selection designating unit 5, and multi-pass data packing for the image data read from the memory 20. The scan data generation for the ink jet head is realized by hardware by combining the overlap processing by the logical operation pattern designating means 3, and it is possible to realize the high-speed rendering with a small-capacity band memory.
[0044]
Further, the recording medium and the head movement amount information for performing the calculation of the ink ejection amount by the pixel pattern counting unit 14 and printing in the effective image range using the processing result of the image effective range detection by the effective image range detection unit 15. Can be obtained, the management of the remaining amount of ink and the clogging of the ink head become easy, and the improvement of the throughput by recording only the effective image range can be obtained.
[0045]
In addition, by moving the image data, not the recording medium, in the sub-scanning direction by the white image insertion number designating means 9, stable printing is performed by increasing the overlapping portion of the head and the recording medium at the leading edge and trailing edge of the page. This means that the image quality can be improved.
[0046]
In addition, the white mask number designating means 11 masks the outside of the image area with respect to the page leading edge data and the page trailing edge data, so that multi-pass and interlace printing can be supported.
[0047]
Further, the memory address operation designating unit 17 and the DMA transfer unit 16 can perform the operation with minimum intervention of the CPU 21.
[0048]
In addition, the chain DMA transfer unit 19 can minimize the intervention of the CPU 21 and continuously perform high-speed data conversion processing on monochrome / color image information regardless of the number of nozzle rows. Multi-color (C, M, Y, K) can be operated continuously by one DMA channel.
[0049]
Further, since the pixel array designating unit 7, the pixel selection designating unit 5, the logical operation pattern designating unit 3, the white image insertion number designating unit 9 and the white mask number designating unit 11 are programmable, the head nozzle With respect to the change of the number and the ink ejection method, it is possible to make the multi-pass, data mask, data packing, page leading end processing, and page trailing end processing programmable to have versatility.
[0050]
Next, a first data conversion process using the image processing apparatus of FIG. 1 will be described with reference to FIG.
The first data conversion processing shown in FIG. 2 is an example of the data conversion processing. The read data 30 indicates the buffer unit 2 shown in FIG. (2 bits / 1 pixel) is designated to be inverted by the pixel array designating means 7. The inversion 31 is a state where the read data 30 is inverted in the main scanning direction. The multi-pass 32 is a state in which the multi-pass 32 is designated as 4 passes by the pixel selection designation means 5, the necessary pixels are selected by the pixel data selection means 6, and the multi-pass packing is performed to 128 bits. The multipass + inversion 33 is realized by a combination of these.
[0051]
Next, a second data conversion process using the image processing apparatus of FIG. 1 will be described with reference to FIG.
The second data conversion process shown in FIG. 3 is an example of a data conversion process, and performs an overlap process. This is the case where the print head indicated by 40 dares and superimposes only the portion of 41 and performs printing. As a result, the connection of the printing areas is improved, which is effective in improving the image quality.
[0052]
In the scan data generation of the portion 41, an overlap process is added to the overlap region (upper end) 42 and the overlap region (lower end) 43, and the other scan data image region 44 Does not perform overlap processing. Reference numeral 46 denotes the number of nozzles of the print head 40. When the print head 40 moves in the main scanning direction and performs printing, the ink droplets of a maximum of “the number of nozzles × the number of main scanning pixels” are ejected.
[0053]
Since the previous data and the current data area overlap in the overlap area, both the overlap area (upper end) 42 and the overlap area (lower end) 43 are printed in the overlap area so that writing is not performed twice. Mask processing is performed on the scan data using different overlap patterns in the overlap area (upper end) 42 and the overlap area (lower end) 43 so that printing is sometimes completed for the first time. In order to create an overlap area, an address to be output to the memory 20 shown in FIG. 1 is instructed by the memory address calculation designating means 17 to overlap by the overlap area, and is generated by the memory address generation means 18.
[0054]
The overlap processing is performed by calculating the data of the buffer unit 2 and the logical operation pattern (overlap pattern) in the logical operation unit 4 according to the operation specification of the logical operation pattern specifying unit 3.
[0055]
Next, a third data conversion process using the image processing apparatus of FIG. 1 will be described with reference to FIG.
FIG. 4 shows an example of the third data conversion process, in which a page leading edge process and a page trailing edge process are performed. The page leading edge processing and the page trailing edge processing are intended to improve the image quality by reducing the conveyance amount of the recording medium, increasing the overlapping portion between the recording medium and the head, and performing stable recording.
[0056]
Reference numeral 50 denotes a print data area of the head in the page leading edge processing, and reference numeral 51 denotes a print data area of the head in the page trailing edge processing. 52 is the number of nozzles of the head, 53 and 54 are white image insertion areas by the white image insertion means 10 shown in FIG. 1, 55 is a white mask area of the image by the white mask means 12 shown in FIG. The starting image area is white masked. As a result, at the leading edge of the page and the trailing edge of the page, the transport amount of the recording medium per scan is reduced, and the image area is shifted accordingly. In the out-of-page area, white is inserted so as not to eject ink.
[0057]
Next, a processing operation in the image processing apparatus according to the present invention will be described with reference to FIGS.
First, the CPU 21 sets the DMA transfer information (the transfer address, the number of transfers, the next DMA information address, the DMA control information such as the interrupt) in the memory 20 shown in FIG. 1 by the number of times of the DMA activation (step S1). For example, in the case of a DMA that generates scan data for a head of two nozzle rows for each of four colors of C (cyan), M (magenta), Y (yellow), and K (black), DMA transfer information for a total of eight times Is set in the memory 20.
[0058]
Next, the CPU 21 causes the logical operation pattern designating unit 3, the pixel selection designating unit 5, the pixel array designating unit 7, the white image insertion number designating unit 9, the white mask number designating unit 11 shown in FIG. The pattern counting means 14, the effective image range detecting means 15, and the memory address calculation specifying means 17 are set (step S2). Thereafter, the CPU 21 instructs the start address of the DMA transfer information and starts the DMA (step S3).
[0059]
As a result, the DMA transfer information is read by a predetermined number of bytes from the start address of the DMA transfer information (step S4), and the contents of the DMA transfer information are analyzed to determine the operation of the DMA (step S5). As a result of the analysis, the designated address is generated by the memory address generating means 18 and the image data is read from the memory 20 (step S6). After the end of the read access, the next memory address is generated by the memory address generation means 18 (step S7), and the read data is temporarily stored in the buffer means 2 (step S8).
[0060]
Next, the logical operation pattern specifying means 3 determines whether or not the logical operation is ON (step S9), and if the logical operation pattern specifying means 3 determines that the logical operation is ON (step S9 / YES), the logical operation unit 4 performs a logical operation on the image data of the buffer unit 2 and the logical operation pattern in accordance with the instruction of the logical operation pattern designating unit 3, and performs a multipath compatible and overlap processing (step S10). .
[0061]
Next, the pixel selection specifying means 5 determines whether or not the pixel data selection is ON (step S11). If the pixel selection selection means 5 determines that the pixel data selection is ON (step 11 / YES), pixel data selecting means 6 selects data necessary for scan data to be generated from the data read into the buffer means 2 or the data which has been subjected to the upstream processing, to cope with multi-pass packing. (Step S12).
[0062]
Next, the pixel array designating unit 7 determines whether or not the pixel array conversion is ON (step S13). If the pixel array designating unit 7 determines that the pixel array conversion is ON (step S13 / ON), in accordance with the instruction of the pixel array designating means 7, the pixel array converting means 8 generates scan inversion data (step S14).
[0063]
Next, the white image insertion number specifying means 9 determines whether or not white image insertion is ON (step S15). If the white image insertion number specifying means 9 determines that white image insertion is ON. (Step S15 / YES), the white image is inserted into the image data by the white image insertion means 10 according to the instruction of the white image insertion number designation means 9 (Step S16).
[0064]
Next, the white mask number specifying means 11 determines whether or not the white mask is ON (step S17). If the white mask number specifying means 11 determines that the white mask is ON (step S17). (S17 / YES), the designated image data is white-masked by the white mask means 12 according to the instruction of the white mask number designating means 11 (step S18).
[0065]
Next, the pixel pattern is counted by the pixel pattern counting means 14 with respect to the scan data subjected to the processing up to step S18 (step S19), and the amount of ink used is detected. Further, the effective image area of the scan data is detected by the effective image area detecting means 15 (step S20), and is used as information for determining the start position of the head and the transport amount of the recording medium. In the case of a color image, an effective image range is detected for each color.
[0066]
The DMA transfer means 16 latches the scan data generated up to Step S20 (Step S21) and transfers the scan data to the memory 20 (Step S22). Then, it is determined whether or not the DMA has been completed (step S23). If it is determined that the DMA has not been completed (step S23 / NO), the processing from step S6 is repeated again. When it is determined that the DMA has been completed (step S23 / YES), it is determined whether the DMA chain has been completed (step S24). If it is determined that the DMA chain has ended (step S24 / YES), the process ends. If it is determined that the DMA chain has not been completed (step S24 / NO), the processing from step S4 is repeated again.
[0067]
It is sufficient that the data before conversion read from the memory 20 has data of at least the main scanning width x the number of nozzle rows. When the generation of one scan data by the present image data conversion method is completed, the data which becomes an empty area is obtained. Replenish. Specifically, by supplementing the pre-conversion data corresponding to the recording medium transport amount per scan, it is possible to continuously generate scan data throughout one page and print.
[0068]
As described above, the scan data generation function is realized by combining the functions, and the scan data is generated at high speed regardless of the color or monochrome by the transfer using the chain DMA without the intervention of the CPU. In addition, a flexible hardware configuration can be provided for a specification change such as a change in a print pattern.
[0069]
The above-described embodiment is a preferred embodiment of the present invention, and various modifications can be made without departing from the spirit of the present invention.
For example, a software program for realizing the above-described processing may be supplied to an image processing apparatus, and the image processing apparatus may read and execute the program.
[0070]
【The invention's effect】
As is clear from the above description, the present invention has the following effects.
The image data read from the memory is combined with scan data inversion by the pixel array designating unit, multi-pass data selection by the pixel selection designating unit, multi-pass data packing, and overlap processing by the logical operation unit to combine the image data read from the memory. Scan data can be generated at high speed and flexibly by hardware.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an image processing apparatus according to the present invention.
FIG. 2 is a diagram showing a first data conversion process using the image processing device shown in FIG.
FIG. 3 is a diagram showing a second data conversion process using the image processing device shown in FIG.
FIG. 4 is a diagram showing a third data conversion process using the image processing device shown in FIG. 1;
FIG. 5 is a first flowchart illustrating a data conversion process in the image processing apparatus illustrated in FIG. 1;
FIG. 6 is a second flowchart illustrating a data conversion process in the image processing apparatus illustrated in FIG. 1;
[Explanation of symbols]
1 Rendering control unit
2 Buffer means
3 Logical operation pattern designating means
4 Logical operation means
5 Pixel selection designation means
6. Pixel data selection means
7 Pixel array designating means
8 Pixel array conversion means
9 White image insertion number designation means
10 White image insertion means
11 White finger several finger means
12 White mask means
13 Scan data
14. Pixel pattern counting means
15 Effective image range detecting means
16 DMA transfer means
17 Memory address operation designation means
18. Memory address generation means
19 Chain DMA transfer means
20 memories
21 CPU

Claims (16)

メモリに展開した画像データをレンダリングする画像処理装置であって、
前記メモリから読み出した画像データを一時的に記憶するバッファ手段と、
画素配列を指定する画素配列指定手段と、
前記バッファ手段に一時的に記憶した画像データのデータ配列を前記画素配列指定手段の指定に従って画素単位で並べ替える画素配列変換手段と、
画素選択を指定する画素選択指定手段と、
前記画素選択指定手段の指定に従って、前記バッファ手段に一時的に記憶した画像データから画素データを選択する画素データ選択手段と、
論理演算パターンを指定する論理演算パターン指定手段と、
前記論理演算パターン指定手段の指定に従って、前記バッファ手段に一時的に記憶した画像データと論理演算パターンの論理演算を行う論理演算手段と、を有し、
前記画素配列変換手段と、前記画素データ選択手段と、前記論理演算手段と、の少なくとも1つの手段による出力データを変換出力データとして前記メモリへ書き込むことを特徴とする画像処理装置。
An image processing device that renders image data expanded in a memory,
Buffer means for temporarily storing image data read from the memory;
A pixel array specifying means for specifying a pixel array;
A pixel array conversion unit that rearranges the data array of the image data temporarily stored in the buffer unit in units of pixels according to the designation of the pixel array designation unit;
Pixel selection designating means for designating pixel selection;
Pixel data selection means for selecting pixel data from the image data temporarily stored in the buffer means, according to the designation of the pixel selection designation means,
Logical operation pattern specifying means for specifying a logical operation pattern;
According to the specification of the logical operation pattern specifying means, a logical operation means for performing a logical operation of a logical operation pattern and image data temporarily stored in the buffer means,
An image processing apparatus, wherein output data from at least one of the pixel array conversion unit, the pixel data selection unit, and the logical operation unit is written to the memory as converted output data.
前記画像データの画素パターンをカウントし、インクの吐出量を検出する画素パターンカウント手段と、
前記画像データの主走査方向及び副走査方向の有効画像範囲を検出する有効画像範囲検出手段と、
を更に有することを特徴とする請求項1記載の画像処理装置。
A pixel pattern counting unit that counts a pixel pattern of the image data and detects an ink ejection amount;
Effective image range detection means for detecting an effective image range of the image data in the main scanning direction and the sub-scanning direction,
The image processing apparatus according to claim 1, further comprising:
白画像挿入数を指定する白画像挿入数指定手段と、
前記白画像挿入数指定手段の指定に従って、前記変換出力データの前後に白画像データを挿入する白画像挿入手段と、
を更に有することを特徴とする請求項1または2記載の画像処理装置。
A white image insertion number specifying means for specifying a white image insertion number;
According to the designation of the white image insertion number designation means, white image insertion means for inserting white image data before and after the conversion output data,
The image processing apparatus according to claim 1, further comprising:
白マスク数を指定する白マスク数指定手段と、
前記白マスク数指定手段の指定に従って、前記変換出力データを白マスクする白マスク手段と、
を更に有することを特徴とする請求項1から3の何れか1項に記載の画像処理装置。
A white mask number specifying means for specifying the white mask number;
White mask means for white masking the converted output data according to the designation of the white mask number designating means,
The image processing apparatus according to claim 1, further comprising:
メモリアドレス演算を指定するメモリアドレス演算指定手段と、
前記メモリアドレス演算指定手段の指定に従って、前記メモリに出力するメモリアドレスを生成するメモリアドレス生成手段と、
前記メモリから画像データを読み出し、前記メモリへ前記変換出力データを書き込むDMA転送手段と、を更に有することを特徴とする請求項1から4の何れか1項に記載の画像処理装置。
A memory address calculation specifying means for specifying a memory address calculation;
Memory address generating means for generating a memory address to be output to the memory according to the specification of the memory address calculation specifying means;
5. The image processing apparatus according to claim 1, further comprising: a DMA transfer unit configured to read image data from the memory and write the converted output data to the memory. 6.
前記メモリ上にDMA転送情報を設定するDMA転送情報設定手段と、
前記メモリから前記DMA転送情報を読み出してDMA転送を繰り返し実行するチェーンDMA転送手段と、を更に有することを特徴とする請求項6記載の画像処理装置。
DMA transfer information setting means for setting DMA transfer information on the memory;
7. The image processing apparatus according to claim 6, further comprising a chain DMA transfer unit that reads the DMA transfer information from the memory and repeatedly executes the DMA transfer.
前記画素配列指定手段と、前記画素選択指定手段と、前記論理演算パターン指定手段と、はプログラマブルであることを特徴とする請求項1記載の画像処理装置。2. The image processing apparatus according to claim 1, wherein the pixel array designating unit, the pixel selection designating unit, and the logical operation pattern designating unit are programmable. 前記白画像挿入数指定手段は、プログラマブルであることを特徴とする請求項3記載の画像処理装置。4. The image processing apparatus according to claim 3, wherein said white image insertion number designating means is programmable. 前記白マスク数指定手段は、プログラマブルであることを特徴とする請求項4記載の画像処理装置。5. The image processing apparatus according to claim 4, wherein said white mask number designating means is programmable. 画像処理装置の具備するメモリに展開した画像データのレンダリングを前記画像処理装置において実行する画像処理プログラムであって、
前記メモリから読み出した画像データを一時的に記憶するバッファ処理と、
画素配列を指定する画素配列指定処理と、
前記バッファ処理により一時的に記憶した画像データのデータ配列を前記画素配列指定処理の指定に従って画素単位で並べ替える画素配列変換処理と、
画素選択を指定する画素選択指定処理と、
前記画素選択指定処理の指定に従って、前記バッファ処理により一時的に記憶した画像データから画素データを選択する画素データ選択処理と、
論理演算パターンを指定する論理演算パターン指定処理と、
前記論理演算パターン指定処理の指定に従って、前記バッファ処理により一時的に記憶した画像データと論理演算パターンの論理演算を行う論理演算処理と、をコンピュータに実行させ、
前記画素配列変換処理と、前記画素データ選択処理と、前記論理演算処理と、の少なくとも1つの処理による出力データを変換出力データとして前記メモリへ書き込むことを特徴とする画像処理プログラム。
An image processing program that executes, in the image processing device, rendering of image data expanded in a memory included in the image processing device,
Buffer processing for temporarily storing the image data read from the memory,
A pixel array specifying process for specifying a pixel array;
A pixel array conversion process of rearranging the data array of the image data temporarily stored by the buffer process in units of pixels according to the designation of the pixel array designation process;
Pixel selection designation processing for designating pixel selection;
According to the designation of the pixel selection designation process, a pixel data selection process of selecting pixel data from the image data temporarily stored by the buffer process,
A logical operation pattern specifying process for specifying a logical operation pattern;
According to the specification of the logical operation pattern specification processing, the computer executes the logical operation processing of performing the logical operation of the logical operation pattern and the image data temporarily stored by the buffer processing,
An image processing program, wherein output data obtained by at least one of the pixel array conversion process, the pixel data selection process, and the logical operation process is written to the memory as converted output data.
前記画像データの画素パターンをカウントし、インクの吐出量を検出する画素パターンカウント処理と、
前記画像データの主走査方向及び副走査方向の有効画像範囲を検出する有効画像範囲検出処理と、
を更にコンピュータに実行させることを特徴とする請求項10記載の画像処理プログラム。
A pixel pattern counting process of counting the pixel pattern of the image data and detecting an ink ejection amount;
Effective image range detection processing for detecting an effective image range of the image data in the main scanning direction and the sub-scanning direction,
11. The image processing program according to claim 10, further causing a computer to execute the following.
白画像挿入数を指定する白画像挿入数指定処理と、
前記白画像挿入数指定処理の指定に従って、前記変換出力データの前後に白画像データを挿入する白画像挿入処理と、
を更にコンピュータに実行させることを特徴とする請求項10または11記載の画像処理プログラム。
A white image insertion number specifying process for specifying the white image insertion number;
According to the designation of the white image insertion number designation process, a white image insertion process of inserting white image data before and after the converted output data,
12. The image processing program according to claim 10, further causing a computer to execute the following.
白マスク数を指定する白マスク数指定処理と、
前記白マスク数指定処理の指定に従って、前記変換出力データを白マスクする白マスク処理と、
を更にコンピュータに実行させることを特徴とする請求項10から12の何れか1項に記載の画像処理プログラム。
A white mask number specifying process for specifying the white mask number;
According to the specification of the white mask number specifying process, a white mask process for white masking the converted output data,
The image processing program according to any one of claims 10 to 12, further causing a computer to execute:
メモリアドレス演算を指定するメモリアドレス演算指定処理と、
前記メモリアドレス演算指定処理の指定に従って、前記メモリに出力するメモリアドレスを生成するメモリアドレス生成処理と、
前記メモリから画像データを読み出し、前記メモリへ前記変換出力データを書き込むDMA転送処理と、を更にコンピュータに実行させることを特徴とする請求項10から13の何れか1項に記載の画像処理プログラム。
A memory address calculation specifying process for specifying a memory address calculation;
Memory address generation processing for generating a memory address to be output to the memory according to the specification of the memory address calculation specification processing;
14. The computer-readable storage medium according to claim 10, further comprising: causing a computer to execute a DMA transfer process of reading image data from the memory and writing the converted output data to the memory.
前記メモリ上にDMA転送情報を設定するDMA転送情報設定処理と、
前記メモリから前記DMA転送情報を読み出してDMA転送を繰り返し実行するチェーンDMA転送処理と、を更にコンピュータに実行させることを特徴とする請求項14記載の画像処理プログラム。
DMA transfer information setting processing for setting DMA transfer information on the memory;
15. The computer-readable storage medium according to claim 14, further comprising causing a computer to execute a chain DMA transfer process of reading the DMA transfer information from the memory and repeatedly performing the DMA transfer.
請求項10から請求項15に記載された画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体。A computer-readable recording medium on which the image processing program according to claim 10 is recorded.
JP2003098088A 2003-04-01 2003-04-01 Image processing apparatus, image processing program, and recording medium Expired - Fee Related JP4204889B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003098088A JP4204889B2 (en) 2003-04-01 2003-04-01 Image processing apparatus, image processing program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003098088A JP4204889B2 (en) 2003-04-01 2003-04-01 Image processing apparatus, image processing program, and recording medium

Publications (2)

Publication Number Publication Date
JP2004303156A true JP2004303156A (en) 2004-10-28
JP4204889B2 JP4204889B2 (en) 2009-01-07

Family

ID=33409708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003098088A Expired - Fee Related JP4204889B2 (en) 2003-04-01 2003-04-01 Image processing apparatus, image processing program, and recording medium

Country Status (1)

Country Link
JP (1) JP4204889B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209458A (en) * 2005-01-28 2006-08-10 Ricoh Co Ltd Image processor
JP2006260328A (en) * 2005-03-18 2006-09-28 Ricoh Co Ltd Dma transfer device
JP2019126981A (en) * 2018-01-25 2019-08-01 京セラドキュメントソリューションズ株式会社 Adjustment method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209458A (en) * 2005-01-28 2006-08-10 Ricoh Co Ltd Image processor
JP4496098B2 (en) * 2005-01-28 2010-07-07 株式会社リコー Image processing device
JP2006260328A (en) * 2005-03-18 2006-09-28 Ricoh Co Ltd Dma transfer device
JP2019126981A (en) * 2018-01-25 2019-08-01 京セラドキュメントソリューションズ株式会社 Adjustment method
US10397440B2 (en) 2018-01-25 2019-08-27 Kyocera Document Solutions Inc. Image formation position adjustment method
JP7010024B2 (en) 2018-01-25 2022-01-26 京セラドキュメントソリューションズ株式会社 Adjustment method

Also Published As

Publication number Publication date
JP4204889B2 (en) 2009-01-07

Similar Documents

Publication Publication Date Title
JP2005529001A (en) Improvements related to the print engine
JP2000218890A (en) Print system for long matter
JP2002210949A (en) Method and apparatus for stitching printing swaths in imaging apparatus
JP4204889B2 (en) Image processing apparatus, image processing program, and recording medium
JPWO2005047003A1 (en) Recording apparatus and data processing method
JP2008142901A (en) Image formation controller and control method of image formation controller
JP2007219813A (en) Printing system and printing process
JP3744273B2 (en) RECORDING METHOD, RECORDING DEVICE, AND READABLE MEDIUM RECORDING PROGRAM FOR THE SAME
JP2006116975A (en) Printing system for continuous printing
JP5100079B2 (en) Replacing resolution factors for direct marking printing
JP5929128B2 (en) Printing device
JP4496098B2 (en) Image processing device
JP2009039880A (en) Image processor and its method
JPH0858080A (en) Method and device for recording image
JP2007136845A (en) Printing system, image processor, printer driver, and program
US7306310B2 (en) Technique for creating print data utilized by an ink jet printer
JP2012142849A (en) Image processing device, recording device, and image processing method
JP2007261096A (en) Inkjet printer, printing method, printing program and recording medium
JP2009177566A (en) Image processing capable of improving print image quality
JP2002316428A (en) Printer and printer information processing method
JP2006229428A (en) Image-formation controller, quantization method and printer device
JP4765590B2 (en) Printing apparatus and control method thereof
JP2001225460A (en) Print system in which number of using nozzles is changed depending on print conditions
JPH10211736A (en) Printing output apparatus
JP3800095B2 (en) Printer driver and print data generation method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080922

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081007

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081015

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131024

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees