JP2008205612A - 画像処理回路およびこれを搭載したプリンタコントローラ - Google Patents

画像処理回路およびこれを搭載したプリンタコントローラ Download PDF

Info

Publication number
JP2008205612A
JP2008205612A JP2007036774A JP2007036774A JP2008205612A JP 2008205612 A JP2008205612 A JP 2008205612A JP 2007036774 A JP2007036774 A JP 2007036774A JP 2007036774 A JP2007036774 A JP 2007036774A JP 2008205612 A JP2008205612 A JP 2008205612A
Authority
JP
Japan
Prior art keywords
cell
pixel
output
raster
gradation value
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
JP2007036774A
Other languages
English (en)
Other versions
JP4803063B2 (ja
Inventor
Kanji Takematsu
寛治 竹松
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007036774A priority Critical patent/JP4803063B2/ja
Priority to US12/033,129 priority patent/US20080204777A1/en
Publication of JP2008205612A publication Critical patent/JP2008205612A/ja
Application granted granted Critical
Publication of JP4803063B2 publication Critical patent/JP4803063B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/407Control or modification of tonal gradation or of extreme levels, e.g. background level

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

【課題】セルスクリーン処理をハードウェアにより処理する技術を提供する。
【解決手段】プリンタコントローラに搭載し、画素ごとに階調値を持つ入力画像データを出力画像データに変換する画像処理回路111において、入力ラスタバッファ201と、セル切り出し制御部202と、セルバッファ203と、セルスクリーン処理部204と、ラスタバッファ書き込み制御部211と、ラスタバッファ読み出し制御部212と、出力ラスタバッファ213と、を有する。
【選択図】図2

Description

本発明は、セル単位でスクリーン処理を行う画像処理回路、および、それを搭載したプリンタコントローラに関する。
従来から、プリンタなどの画像処理装置は、画素ごとに多値の階調値を有する入力画像データに対して、ハーフトーン処理により、それよりも低い階調数(例えば2値)の出力画像データに変換して、印刷用紙に印刷が行われている。
ハーフトーン処理として種々の方法がある。例えば、ドット集中型ディザ法(多値ディザ法)による処理が知られている。多値ディザ法は、所定の大きさのマトリックス内に中央部からドットが成長するように閾値が配分され、各画素の入力階調値との比較により処理を行う。
また、複数画素から構成される所定の幾何学的形状のスクリーンセルを多階調画像に敷き詰めるように反復的に適用し、そのスクリーンセルにおいて、階調値の上昇に伴って、一定の順序に従ってドットを成長させていく処理が知られている。この処理においては、スクリーンセル内の画素それぞれに対応した、ガンマテーブル番号を示すインデックス値から構成される多値ディザマトリックス(インデックステーブル)と、各画素の入力階調値と出力階調値との対応関係を示すガンマテーブルを用い、各画素に対応するインデックス値の示すガンマテーブルを参照し、当該画素の入力階調値に対応する出力階調値を求める。
また、階調性と高解像度を両立させるため、複数画素から構成されるスクリーンセル内の各画素の階調値から重心位置を求め、その重心位置に各画素の階調値の和に対応するドットを成長させるようにしたものが、特許文献1に記載されている(以下「AAM(Advanced AMスクリーン)法」と称す)。さらに、AAM法では、例えばセル内に細線があると円形ドットとしてまとめられしまい出力画像がぼやけてしまうなどの問題点を解決するための方法が特許文献1に記載されている。
特開2006−325136号
以上に示したセルスクリーン処理は、一般的にはソフトウェアにより実現されており、1ページ分の画像データ(例えば、A4、600dpi、単一色で約35Mbyte)をRAMなどのメモリに保持しながら処理を行っていた。しかし、同様のセルスクリーン処理をハードウェアで行う場合、画像データ1ページ分のメモリをLSI内部で持つことはコスト面等から現実的ではない。
そこで、本発明は、セルスクリーン処理の結果を保持する容量の小さい出力ラスタバッファを用いて、セルスクリーン処理をハードウェアにより処理する技術を提供することを目的とする。
上記課題を解決するため、第1の態様は、プリンタコントローラに搭載し、画素ごとに階調値を持つ入力画像データを、複数画素から構成されるセルに分割し、セル単位でスクリーン処理を行って、出力画像データに変換する画像処理回路において、前記入力画像データの入力を受け付けて、前記入力画像データから、予め定めた形状でセルを切り出して、前記セルを構成する各画素の入力階調値から重心位置を求め、前記セル全体の入力階調値合計に対応するドットを、前記重心位置を基準にして成長させるように各画素の出力階調値を決定するスクリーン処理を行って、各画素の出力階調値を出力するセルスクリーン処理回路と、前記スクリーン処理後の各画素の出力階調値を保持する出力ラスタバッファと、前記スクリーン処理後の各画素の出力階調値を前記出力ラスタバッファに書き込む処理を行うラスタバッファ書き込み制御部と、前記出力ラスタバッファに書き込まれた各画素の出力階調値を読み出して出力する処理を行うラスタバッファ読み出し制御部と、を有することを特徴とする。
また、前記画像処理回路において、前記ラスタバッファ書き込み制御部は、前記出力ラスタバッファに書き込みを行う対象の画素が、隣接するセルの画素と重なりが生じている画素(共有画素)であるかを判断する共有画素判定機能と、前記対象の画素が共有画素ではない場合、前記スクリーン処理が出力した当該画素の階調値を前記出力ラスタバッファに書き込む処理を行い、共有画素である場合は、前記スクリーン処理が出力した当該画素の階調値に、前記ラスタバッファ読み出し制御部が読み出した隣接するセルの当該画素の階調値を加算して、前記出力ラスタバッファに書き込む処理を行う書き込み処理機能とを有する構成とすることができる。
また、前記画像処理回路において、前記ラスタバッファ書き込み制御部および前記ラスタバッファ読み出し制御部は、書き込みおよび読み出し対象の画素のアドレスを算出するアドレス演算部を共通に有し、前記アドレス演算部は、処理対象のセル行の書き込みを開始する前記ラスタバッファ内のラスタ行の位置を示す書き込み開始位置を記憶し、当該セル行の書き込み処理の終了後、前記書き込み開始位置にセル中心間の距離である垂直シフト量を加算することにより、次の処理対象であるセル行の書き込み開始位置を求め、垂直シフト量を加算した書き込み開始位置が、前記出力ラスタバッファの最後のラスタ行の位置を超える場合、当該超過するラスタ行数を、前記出力ラスタバッファの先頭のラスタ行の位置から加算した位置を前記書き込み開始位置とし、前記セル行の書き込み処理の終了後、前記垂直シフト量を加算する前の書き込み開始位置を読み出し開始位置とする構成とすることができる。
また、前記画像処理回路において、前記アドレス演算部は、前記書き込み開始位置において、処理対象のセル行を構成する複数のラスタ行のうち一部のラスタ行が、前記出力ラスタバッファの最後のラスタ行の位置を超える位置になる場合、当該一部のラスタ行についての書き込み開始位置を前記出力ラスタバッファの先頭のラスタ行として、各画素の階調値を書き込むアドレスを算出する構成とすることができる。
また、前記画像処理回路において、前記出力ラスタバッファは、ラスタ方向と垂直方向の幅が、少なくともセル二つ分の幅である構成とすることができる。
また、前記画像処理回路において、前記セルスクリーン処理回路は、前記入力画像データの入力を受け付けて、各画素の入力階調値を保持する入力ラスタバッファと、
前記入力ラスタバッファに格納された前記入力画像データから、予め定めた形状でセルを切り出すセル切り出し制御部と、前記セル切り出し制御部によって切り出されたセルを一時的に保持するセルバッファと、前記セルバッファに格納されたセルを構成する各画素の入力階調値から重心位置を求め、前記セル全体の入力階調値合計に対応するドットを、前記重心位置を基準にして成長させるように各画素の出力階調値を決定するスクリーン処理を行って、各画素の出力階調値を出力するセルスクリーン処理部と、を有することができる。
また、前記画像処理回路を搭載したプリンタコントローラを構成することができる。
以下、図面を参照して本発明を実施するための最良の形態について説明する。
スクリーンセルを用いた処理方法において、形状が非対称であるスクリーンセルを多階調画像に敷き詰めるように反復的に適用した場合、ノイズが発生するという問題がある。そこで、本発明においては、セル周辺部の画素を、隣接する他の複数のセルと共有することでセル形状が対称になるように構成する方法を例として説明する。以下当該方法の概略を説明する。
図3は、入力画像に対してスクリーンセルを繰り返し適用した例を示す図である。図4は、セル周辺部の画素を他のセルと共有した場合の出力階調値の計算方法の例を示す図である。
図3に示すように、例えばスクリーンセル301の様な形状のスクリーンセルを適用すると、いずれのセルにも組み入れられない画素A302、画素B303のような画素が存在することになる。これについては、画素A302、画素B303いずれか一方を組み入れた形状のスクリーンセルを適用することで、入力画像の全ての画素についてスクリーンセル処理を行うことができる。しかし、この場合のスクリーンセルは形状が非対称であるため、出力画像にノイズが発生することがある。
そこで、画素A302および画素B303を隣接するスクリーンセルで共有する。これにより、スクリーンセルの形状が対称となり、出力画像のノイズの発生を減少させることが可能となる。
次に、図4を用いて、画素共有を実現するための出力階調値の計算方法について説明する。図4に示す例では、形状の異なるセルA400(4−A参照)およびセルB401(4−B参照)を用いた場合のスクリーン処理について説明しているがこれに限られない。図3に示したように同一形状のセルを用いてもよい。共有画素についての処理は、各セルについてスクリーン処理を行った結果を使って、各セルにおける共有画素についての階調値を按分することにより行う。具体的には、次のように行う。
セルを構成する各画素について、共有レベルを示す値(ratio)が指定される。ratioは、共有される画素のセルごとの出力割合を表す値である。図4では、セルA400の共有画素402、403について、ratio=3を適用している。また、セルB401の共有画素402、403について、ratio=1を適用している。セルA400およびセルB401の非共有画素404については、ratio=4を適用している。ここで値4は最大値である(以下、maxratioと呼ぶ)。なお、ratioの値は、セルの形状等に応じて設定変更可能な値である。
例えば、セルA400の共有画素402の階調値=58、セルB401の共有画素402の階調値=26であるとする。この場合、共有画素402の出力階調値は以下の様に求めることができる(4−C参照)。{int((58*3+26*1)/4)=50}。
以上、隣接する複数のセル間で画素を共有する方法について説明した。なお、本発明は、画素共有を行わないセルスクリーン処理であっても適用できる。
図1は、本発明が適用されるプリンタコントローラの構成の概略を示す図である。プリンタコントローラ110は、例えば、図示しないインタフェースを介して、ホストコンピュータ100と接続される。また、プリンタコントローラ110が生成したデータを出力する印刷エンジン120が接続される。
ホストコンピュータ100は、例えば、アプリケーションプログラムにより文字データや図形データ等の印刷対象のデータを生成する。印刷に際し、印刷対象のデータをラスタライズした画像データをプリンタコントローラ110に出力する。
プリンタコントローラ110は、画像処理回路111と、パルス幅変調部112とを有する。画像処理回路111は、ホストコンピュータ100から入力された入力画像データを受け付け、例えば、セルスクリーン処理や、インデックステーブルとガンマテーブルを用いたハーフトーン処理を行う(以下、セルスクリーン処理およびハーフトーン処理を含めてセルスクリーン処理と呼ぶ)。セルスクリーン処理は、入力画像データの各画素について、例えば描画レーザパルス幅を示すデータ(出力階調値)に変換した出力画像データを生成し、パルス幅変調部112に出力する。パルス幅変調部112は、入力されたデータに対応したレーザパルス幅信号を生成し、印刷エンジン120に出力する。印刷エンジン120は、入力されたレーザパルス幅信号に基づいて印刷用紙に印刷を行う。印刷エンジン120は、例えばレーザプリンタであれば、レーザ照射機構、感光体ドラム、紙送り機構等により構成される。
次に、本発明に係るセルスクリーン処理を行う画像処理回路111について説明する。図2は、画像処理回路111の構成とデータの流れを説明するためのブロック図である。
画像処理回路111は、セルスクリーン処理回路200と、出力処理回路210を有する。セルスクリーン処理回路200は、入力ラスタバッファ201、セル切り出し制御部202、セルバッファ203およびセルスクリーン処理部204を有する。また、出力処理回路210は、ラスタバッファ書き込み制御部211、ラスタバッファ読み出し制御部212および出力ラスタバッファ213を有する。
入力ラスタバッファ201は、入力画像データの入力を受け付けて各画素の入力階調値を保持するハードウェアロジック回路内蔵メモリである。例えば、デュアルポートのDRAM、SRAMなどが用いられる。図5に示すように、ホストコンピュータ100から入力された、複数の画素501で構成される入力画像データ500が格納される。各画素501に対応するアドレスには各画素の入力階調値が保持される。
セル切り出し制御部202は、入力ラスタバッファ201に格納された入力画像データ500から、予め定めた形状のセルを切り出し、セルバッファ203に格納する。セルバッファ203は、例えば2面の領域を有し、セルスクリーン処理部204が片方の領域を読み出して処理を行っている間に、もう一方の領域に切り出した次のセルを書き込む処理を行う。図5に示すように、例えば、セル502の切り出し処理は右方向(ラスタ方向)に順に進む。
なお、図5では、説明の便宜上、5×5画素の領域をセル502として図示しているが、セル中心503を基準とした種々の形状およびサイズのセルを適用可能である。また、図5に示す例では、セル切り出し方向(ラスタ方向)のセル列について見かけ上の重なりが存在するが、説明を理解し易くするため、セル切り出し方向において隣接するセル列の間では画素の共有を回避したセル形状が適用されるものとして説明する。ここで、複数セルのラスタ方向への並びをセル行(ラスタであれば、ラスタ行)と呼び、ラスタ方向と垂直方向への並びをセル列(ラスタであれば、ラスタ列)と呼ぶものとする。また、隣接するセル行において、セル中心間の距離を垂直シフト量と呼ぶ。例えば、図5では、505である。
セルスクリーン処理部204は、複数画素から構成されるセル内の各画素の入力階調値から重心位置を求め、その重心位置を基準として各画素の階調値の和に対応するドットを成長させる処理を行う。
具体的には、セルスクリーン処理部204は、まず、セルバッファに202に格納されたセルを構成する各画素の座標、各画素の入力階調値、セル内の入力階調値の合計から重心位置を演算する。次に、多値ディザマトリックスおよびガンマテーブルを用い、セル全体の入力階調値合計を保ちながら、重心位置に最も近い画素から順に出力階調値を演算して出力する。
出力ラスタバッファ213は、セルスクリーン処理部204が出力した各画素の出力階調値を保持するハードウェアロジック回路内蔵メモリである。例えば、デュアルポートのDRAM、SRAMなどが用いられる。
ラスタバッファ書き込み制御部211は、セルスクリーン処理部204が出力した各画素の出力階調値を出力ラスタバッファ213に書き込む処理を行う。また、書き込み処理対象画素が共有画素である場合、セルスクリーン処理部204が出力した階調値と、ラスタバッファ読み出し制御部212が読み出した階調値を用いて、当該共有画素の出力階調値を決めるための演算を行い、出力ラスタバッファ213に書き込む処理を行う。ラスタバッファ読み出し制御部212は、出力ラスタバッファ213に書き込まれた各画素の出力階調値を読み出し、例えばパルス幅変調部112など、別の回路に出力する処理を行う。ラスタバッファ書き込み制御部211およびラスタバッファ読み出し制御部212は、それぞれ書き込み位置、および、読み出し位置となるアドレスを決定するためのアドレス演算部214(図6参照)を有する。なお、本実施形態では、アドレス演算部214は、ラスタバッファ書き込み制御部211およびラスタバッファ読み出し制御部212によって共有される。もちろん、これに限定されず、それぞれにアドレス演算部を設ける構成とすることもできる。
次に、本発明に係る、出力ラスタバッファを用いた出力処理回路210について具体的に説明する。図6は、第1の実施形態に係る、出力処理回路210の構成とデータの流れを説明する図である。図7は、第1〜3の実施形態に係る出力ラスタバッファ用いた処理を説明する図である。
図6、図7を参照して、第1の実施形態に係る出力ラスタバッファを用いた出力処理回路210の動作について説明する。なお、図7では、説明の便宜上、図5と同様に5×5画素の領域をセルとして図示しているが、セル中心701を基準とした種々の形状およびサイズのセルを適用可能である。また、図7に示す例では、横方向(ラスタ方向)のセル列について見かけ上の重なりが存在するが、説明を理解し易くするため、ラスタ方向において隣接するセル列の間では画素の共有を回避したセル形状が適用されるものとして説明する。
図6に示すように、セルスクリーン処理部204は、セル単位でスクリーン処理を行い、出力階調値を求めた画素から順に、その画素の出力階調値にratioを乗じた値を出力する。また、処理対象の画素の座標値を出力する。
ラスタバッファ書き込み制御部211は、アドレス演算部214により算出されたアドレスに、セルスクリーン処理部204から受け付けた階調値を書き込む処理を行う。ラスタバッファ読み出し制御部212は、アドレス演算部214により算出されたアドレスから、ラスタ行毎に各画素の階調値をラスタ方向に読み出す処理を行う。また、指定されたアドレスの各画素の階調値を読み出す処理を行う。
また、ラスタバッファ書き込み制御部211は、アドレス演算部214により算出されたアドレスが示す処理対象の画素が共有画素であるかを判定する処理を行う。処理対象の画素が共有画素であると判定した場合は、アドレス演算部214により算出されたアドレスをラスタバッファ読み出し制御部212に通知して当該画素の階調値を読み出させる。そして、ラスタバッファ書き込み制御部211は、アドレス演算部214により通知されたアドレスに、セルスクリーン処理部204から受け付けた階調値と、ラスタバッファ読み出し制御部212から通知された階調値とを加算した値を書き込む処理を行う。共有画素ではないと判定した場合は、アドレス演算部214により算出されたアドレスに、セルスクリーン処理部204から受け付けた階調値を書き込む処理を行う。
アドレス演算部214は、例えば、セルスクリーン処理部204から処理対象の画素のセル内における座標値を受け取り、図示しないセル切り出し制御部202から当該セルの入力ラスタバッファ201に格納された入力画像データ内における座標値を受け取る。これらの二つの座標値から、処理対象の画素について、出力ラスタバッファ213における書き込みアドレスを算出する。
また、アドレス演算部214は、出力ラスタバッファ213内において、セル行の書き込みを開始する位置(ラスタ行)を管理している。例えば、図7に示すように、(7−A)では、(RAM0:アドレス0)を記憶しておき、当該セル行の処理が終わると、垂直シフト量4を加算した(RAM4:アドレス0)を記憶する。当該セル行の処理が終わると(7−B参照)、垂直シフト量4を加算した(RAM8:アドレス0)を記憶する。当該セル行の処理が終わると、次に記憶する位置は、出力ラスタバッファ213のラスタ行数は9であるため、(RAM3:アドレス0)となる(7−C参照)。以降、同様に管理が行われる。
ここで、書き込み開始位置からセル行の各セルの処理を行うと、セル行を構成する複数のラスタ行の一部のラスタ行が、出力ラスタバッファ213の最後のラスタ行を超える位置になる場合がある。この場合は、当該一部のラスタ行の各画素については、出力ラスタバッファ213の最初のラスタ行から処理を行うものとする。例えば、図7に示すように、(7−C)では、セル11(セル中心711を基準としたセル)の書き込み開始位置は(RAM8:アドレス0)である。しかし、ラスタ行4行については、出力ラスタバッファ213の最後のラスタ行(RAM8)を超える。そこで、アドレス演算部214は、ラスタ行4行の中の座標値の画素について処理を行う場合、(RAM0〜3)のアドレスを算出する。
このように、アドレス演算部214は、座標値、書き込み開始位置、最後のラスタ行位置を用いて、各画素の階調値を書き込むアドレスを求める。処理が終了したラスタ行の読み出し位置についても同様に、読み出し開始位置の管理を行い、ラスタバッファ書き込み制御部211のよる書き込み処理と、ラスタバッファ読み出し制御部212による読み出し処理を並行して行わせる。なお、ここでは、出力ラスタバッファのラスタ行数9、セル行の垂直シフト量4として例示したがこれに限られない。セルの形状、ラスタバッファのサイズ等は適宜変更可能である。
具体的な書き込みおよび読み出し処理について図7を用いて説明する。先ず、ラスタバッファ書き込み制御部211は、セル1(セル中心701を基準としたセル、他のセルについても同様)の各画素についてデータの書き込み処理を行う(7−A参照)。この時、非共有画素(例えば、RAM1:アドレス1、RAM0:アドレス3)については、階調値にmaxratio(この例では4とする)を乗じた値を書き込む。共有画素(例えば、RAM4:アドレス3)については、階調値にセル1における当該画素のratio(この例では3とする)を乗じた値を書き込む。同一セル行のセル2〜セル5についても同様に処理が行われる。セル2〜セル5について処理が行われている間、セル1のデータは出力ラスタバッファ213に保持されている。セル1〜セル5について処理が終了すると、RAM0〜3:アドレス0〜21の範囲に書き込まれたデータには共有画素がないため、出力が可能となる。
次に、出力ラスタバッファ読み出し制御部212は、出力可能となったRAM0〜3:アドレス0〜21の範囲のデータを読み出す(7−B参照)。読み出す順序は、ラスタ行毎にラスタ方向へ、RAM0:アドレス0〜21、RAM1:アドレス0〜21であり、RAM2、RAM3についても同様である。読み出しが終わったアドレスには値0を書き込む。読み出されたデータは、シフタ216により、maxratioで割り算が行われ、出力階調値として次段の処理回路に出力される。
データの出力と並行して、セル6〜10についてもセル単位で書き込み処理が行われる。共有画素(例えば、RAM4:アドレス3)について処理を行う際は、出力ラスタバッファ読み出し制御部212を用いて、既に書き込まれたセル1における当該画素のデータ読み出し、階調値にセル6における当該画素のratio(この例では1とする)を乗じた値を、読み出したデータに加算して書き込む。加算は加算器215により行われる。非共有画素(例えば、RAM8:アドレス3、RAM7:アドレス0)については階調値に、maxratioを乗じた値を書き込む。セル7〜セル10についても同様に処理が行われる。セル7〜セル10について処理が行われている間、セル6のデータは出力ラスタバッファ213に保持されている。セル6〜セル10について処理が終了すると、RAM4〜7:アドレス0〜21の範囲に書き込まれたデータは、非共有画素、共有画素の両方について処理が終了しているため、出力が可能となる。
出力ラスタバッファ読み出し制御部212は、出力可能となったRAM4〜7:アドレス0〜21の範囲のデータを読み出し(7−C参照)、出力する。また、データの出力と並行して、セル11以降のセルについてセル単位で書き込み処理が行われる。書き込み処理は、RAM8:アドレス0〜21、RAM0〜3:アドレス0〜21に対して行われる。以降同様に書き込みと読み込みの処理が並行して行われる。
以上、第1の実施形態に係る、出力ラスタバッファを用いた画像処理回路について説明した。なお、セル1〜5の順序に処理を行うものとしたが、セル1、5、2、3、4の順序にしてもよい。本実施形態に係る出力ラスタバッファを実装する場合、例えば、メモリ容量は、{(8192word)*(10bit)*(9本)=(720kbit)}となる。10bitとなるのは、8bitの階調値にratio(ここでは、1〜4)を掛けるため、2bitが必要だからである。このような構成にすることにより、ハードウェアによるセルスクリーン処理を実現するとともに、大容量のメモリ(例えば1ページ分の画像データ)をLSI内部に持つ必要がなくなり、大幅なコストダウンを実現できる。また、メモリ容量の削減により消費電力削減を実現できる。
以下、図7、図8を参照して、第2の実施形態に係る、出力ラスタバッファを用いた画像処理回路について、第1の実施形態と異なる点を中心に説明する。図8は、第2の実施形態に係る、出力処理回路210の構成とデータの流れを説明する図である。
図8に示すように、第2の実施形態においては、シフタ216を、セルスクリーン処理部204の次段に配置する。セルスクリーン処理部204が出力する各画素の階調値にratioを乗じた値は、シフタ216によりmaxratioで割り算が行われる。すなわち、出力ラスタバッファ213に書き込まれるデータは、{(各画素の階調値)*(各画素のratio)/(maxratio)}となる。また、出力ラスタバッファ213から読み出されたデータは、そのまま出力階調値となる。他の処理については、第1の実施形態と同様なので説明を省略する。
本実施形態では、割り算回路としてシフタを用いており、maxratioで割った結果は小数点以下が切り捨てられることになる。そのため、本実施形態と第1の実施形態では共有画素の出力階調値が異なることがある。
例えば、セルAおよびセルBは画素を共有しており、セルAにおける共有画素に関する階調値およびratioは、それぞれ、階調値=58、および、ratio=3である。セルBにおける共有画素に関する階調値およびratioは、それぞれ、階調値=26、ratio=1である。また、maxratio=4とする。すると、第1の実施形態における共有画素の出力階調値は、{int((58*3+26*1)/4)=50}であり、第2の実施形態においては、{int(58*3/4)+int(26*1/4)=49}となる。
しかし、セルスクリーン処理において、入力された255階調(8bit)全てをそのまま一対一で変換して出力階調値を得ることは行われていない。例えば、出力階調値として意味を持つのは8bitのうち上位6bitであり、下位2bitは処理の便宜上拡張されているものである。従って、第1の実施形態および第2の実施形態で生じる出力階調値の差異は、実際の印刷結果には影響しない。
以上、第2の実施形態に係る、出力ラスタバッファを用いた画像処理回路について説明した。このような構成にすることにより、第1の実施形態における出力ラスタバッファの容量を約20%削減できる{(8192word*10bit*9本)−(8192word*8bit*9本)=144kbit}。これにより、さらにコストダウンおよび消費電力削減を実現することができる。
以下、図7、図9を参照して、第3の実施形態に係る。出力ラスタバッファを用いた画像処理回路について、第2の実施形態と異なる点を中心に説明する。第3の実施形態は、出力階調値として意味を持つ上位6bitを出力ラスタバッファ213に書き込むようにしたものである。図9は、第3の実施形態に係る、出力処理回路210の構成とデータの流れを説明する図である。
図9に示すように、第3の実施形態においては、シフタ216の次段に、低ビット化処理217を行う。また、出力ラスタバッファ213に書き込みを行う前に、最大値丸め処理218を設けている。出力ラスタバッファ213から読み出すデータについては8bit拡張処理219を行う。
低ビット化処理217は、8bitから6bitへの変換をシフタにより行う。また、シフト処理の際に四捨五入処理を行う。これは、シフタにより8bitから6bitへの変換を行うと下位ビットが切り捨てられ、出力ラスタバッファ213に書き込まれる階調値に誤差が生じる場合があるからである。例えば、共有画素についての階調値の加算結果が最大値になるべきところ、演算結果が最大値に満たない場合がある。これに対処するため、低ビット化を行うと同時に切り捨てるビットについて四捨五入を行う。なお、加算結果が最大値を超えた場合に、最大値に丸める処理を行う最大値丸め処理218を設けている。また、出力ラスタバッファ213から読み出すデータについて8bit拡張処理219を行う。これは、次段の処理回路の入力形式に合わせるためである。他の処理については、第1、2の実施形態と同様なので説明を省略する。
以上、第3の実施形態に係る。出力ラスタバッファを用いた画像処理回路について説明した。このような構成にすることにより、第1の実施形態における出力ラスタバッファの容量を約40%削減できる{(8192word*10bit*9本)−(8192word*6bit*9本)=288kbit}。これにより、さらにコストダウンおよび消費電力削減を実現することができる。
以上、本発明について、例示的な実施形態と関連させて記載した。多くの代替物、修正および変形例が当業者にとって明らかであることは明白である。したがって、上に記載の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。
本発明が適用されるプリンタコントローラの構成の概略を示す図 画像処理回路の構成とデータの流れを示すブロック図 入力画像にスクリーンセルを適用した例を示す図 共有画素の出力階調値の計算方法の説明図 入力画像データについてのセルスクリーン処理の説明図 第1の実施形態に係る出力処理回路の構成とデータの流れを示すブロック図 本発明に係る出力ラスタバッファを用いた処理の説明図 第2の実施形態に係る出力処理回路の構成とデータの流れを示すブロック図 第3の実施形態に係る出力処理回路の構成とデータの流れを示すブロック図
符号の説明
100・・・ホストコンピュータ、110・・・プリンタコントローラ、111・・・画像処理回路、112・・・パルス幅変調部、120・・・印刷エンジン、200・・・セルスクリーン処理回路、201・・・入力ラスタバッファ、202・・・セル切り出し制御部、203・・・セルバッファ、204・・・セルスクリーン処理部、210・・・出力処理回路、211・・・ラスタバッファ書き込み制御部、212・・・ラスタバッッファ読み出し制御部、213・・・出力ラスタバッファ、214・・・アドレス演算部、215・・・加算処理、216・・・シフタ、217・・・低ビット化処理、218・・・最大値丸め処理、219・・・8bit拡張処理、300・・・入力画像データ、301・・・セル、302・・・画素A、303・・・画素B、400・・・セルA、401・・・セルB、402・・・共有画素、403・・・共有画素、404・・・非共有画素、500・・・入力画像データ、501・・・画素、502・・・セル、503・・・セルの中心、504・・・セル縦サイズ、505・・・垂直シフト量、701・・・セル1の中心、702・・・セル2の中心、703・・・セル3の中心、704・・・セル4の中心、705・・・セル5の中心、706・・・セル6の中心、707・・・セル7の中心、708・・・セル8の中心、709・・・セル9の中心、710・・・セル10の中心、711・・・セル11の中心

Claims (7)

  1. プリンタコントローラに搭載し、画素ごとに階調値を持つ入力画像データを、複数画素から構成されるセルに分割し、セル単位でスクリーン処理を行って、出力画像データに変換する画像処理回路において、
    前記入力画像データの入力を受け付けて、前記入力画像データから、予め定めた形状でセルを切り出して、前記セルを構成する各画素の入力階調値から重心位置を求め、前記セル全体の入力階調値合計に対応するドットを、前記重心位置を基準にして成長させるように各画素の出力階調値を決定するスクリーン処理を行って、各画素の出力階調値を出力するセルスクリーン処理回路と、
    前記スクリーン処理後の各画素の出力階調値を保持する出力ラスタバッファと、
    前記スクリーン処理後の各画素の出力階調値を前記出力ラスタバッファに書き込む処理を行うラスタバッファ書き込み制御部と、
    前記出力ラスタバッファに書き込まれた各画素の出力階調値を読み出して出力する処理を行うラスタバッファ読み出し制御部と、を有すること、
    を特徴とする画像処理回路。
  2. 請求項1に記載の画像処理回路であって、
    前記ラスタバッファ書き込み制御部は、
    前記出力ラスタバッファに書き込みを行う対象の画素が、隣接するセルの画素と重なりが生じている画素(共有画素)であるかを判断する共有画素判定機能と、
    前記対象の画素が共有画素ではない場合、前記スクリーン処理が出力した当該画素の階調値を前記出力ラスタバッファに書き込む処理を行い、共有画素である場合は、前記スクリーン処理が出力した当該画素の階調値に、前記ラスタバッファ読み出し制御部が読み出した隣接するセルの当該画素の階調値を加算して、前記出力ラスタバッファに書き込む処理を行う書き込み処理機能と、を有すること、
    を特徴とする画像処理回路。
  3. 請求項2記載の画像処理回路であって、
    前記ラスタバッファ書き込み制御部および前記ラスタバッファ読み出し制御部は、書き込みおよび読み出し対象の画素のアドレスを算出するアドレス演算部を共通に有し、
    前記アドレス演算部は、
    処理対象のセル行の書き込みを開始する前記ラスタバッファ内のラスタ行の位置を示す書き込み開始位置を記憶し、当該セル行の書き込み処理の終了後、前記書き込み開始位置にセル中心間の距離である垂直シフト量を加算することにより、次の処理対象であるセル行の書き込み開始位置を求め、
    垂直シフト量を加算した書き込み開始位置が、前記出力ラスタバッファの最後のラスタ行の位置を超える場合、当該超過するラスタ行数を、前記出力ラスタバッファの先頭のラスタ行の位置から加算した位置を前記書き込み開始位置とし、
    前記セル行の書き込み処理の終了後、前記垂直シフト量を加算する前の書き込み開始位置を読み出し開始位置とすること、
    を特徴とする画像処理回路。
  4. 請求項3記載の画像処理回路であって、
    前記アドレス演算部は、
    前記書き込み開始位置において、処理対象のセル行を構成する複数のラスタ行のうち一部のラスタ行が、前記出力ラスタバッファの最後のラスタ行の位置を超える位置になる場合、当該一部のラスタ行についての書き込み開始位置を前記出力ラスタバッファの先頭のラスタ行として、各画素の階調値を書き込むアドレスを算出すること、
    を特徴とする画像処理回路。
  5. 請求項1、2、3および4のいずれか一項に記載の画像処理回路であって、
    前記出力ラスタバッファは、
    ラスタ方向と垂直方向の幅が、少なくともセル二つ分の幅である画像処理回路。
  6. 請求項1、2、3、4および5のいずれか一項に記載の画像処理回路であって、
    前記セルスクリーン処理回路は、
    前記入力画像データの入力を受け付けて、各画素の入力階調値を保持する入力ラスタバッファと、
    前記入力ラスタバッファに格納された前記入力画像データから、予め定めた形状でセルを切り出すセル切り出し制御部と、
    前記セル切り出し制御部によって切り出されたセルを一時的に保持するセルバッファと、
    前記セルバッファに格納されたセルを構成する各画素の入力階調値から重心位置を求め、前記セル全体の入力階調値合計に対応するドットを、前記重心位置を基準にして成長させるように各画素の出力階調値を決定するスクリーン処理を行って、各画素の出力階調値を出力するセルスクリーン処理部と、を有することを特徴とする画像処理回路。
  7. 請求項5または6に記載の画像処理回路を搭載したプリンタコントローラ。
JP2007036774A 2007-02-16 2007-02-16 画像処理回路およびこれを搭載したプリンタコントローラ Expired - Fee Related JP4803063B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007036774A JP4803063B2 (ja) 2007-02-16 2007-02-16 画像処理回路およびこれを搭載したプリンタコントローラ
US12/033,129 US20080204777A1 (en) 2007-02-16 2008-02-19 Image processing circuit and printer controller equipped with the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007036774A JP4803063B2 (ja) 2007-02-16 2007-02-16 画像処理回路およびこれを搭載したプリンタコントローラ

Publications (2)

Publication Number Publication Date
JP2008205612A true JP2008205612A (ja) 2008-09-04
JP4803063B2 JP4803063B2 (ja) 2011-10-26

Family

ID=39715513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007036774A Expired - Fee Related JP4803063B2 (ja) 2007-02-16 2007-02-16 画像処理回路およびこれを搭載したプリンタコントローラ

Country Status (2)

Country Link
US (1) US20080204777A1 (ja)
JP (1) JP4803063B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4285513B2 (ja) * 2006-08-10 2009-06-24 セイコーエプソン株式会社 画像処理回路及び印刷装置
US8629926B2 (en) 2011-11-04 2014-01-14 Honeywell International, Inc. Imaging apparatus comprising image sensor array having shared global shutter circuitry

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877385A (ja) * 1994-08-29 1996-03-22 Internatl Business Mach Corp <Ibm> コンピュータ・グラフィクス装置
JP2000354168A (ja) * 1999-04-05 2000-12-19 Seiko Epson Corp 画像処理装置およびコピーシステム
JP2001038964A (ja) * 1999-07-29 2001-02-13 Matsushita Electric Ind Co Ltd プリンタコントローラ
JP2005250534A (ja) * 2004-03-01 2005-09-15 Fuji Xerox Co Ltd 画像処理装置
JP2007019608A (ja) * 2005-07-05 2007-01-25 Seiko Epson Corp 画像処理装置、画像処理方法、及び画像処理プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100502413B1 (ko) * 2002-11-07 2005-07-19 삼성전자주식회사 라스터 스캔 순서 화상 데이터와 블록 스캔 순서 화상데이터 사이의 변환을 위한 화상 처리 장치 및 방법
US20040174570A1 (en) * 2002-12-02 2004-09-09 Plunkett Richard Thomas Variable size dither matrix usage
JP2005136612A (ja) * 2003-10-29 2005-05-26 Dainippon Screen Mfg Co Ltd 網点形成方法、網点形成装置および網点記録媒体
JPWO2005109851A1 (ja) * 2004-05-06 2008-03-21 セイコーエプソン株式会社 画像処理装置、画像処理方法、及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877385A (ja) * 1994-08-29 1996-03-22 Internatl Business Mach Corp <Ibm> コンピュータ・グラフィクス装置
JP2000354168A (ja) * 1999-04-05 2000-12-19 Seiko Epson Corp 画像処理装置およびコピーシステム
JP2001038964A (ja) * 1999-07-29 2001-02-13 Matsushita Electric Ind Co Ltd プリンタコントローラ
JP2005250534A (ja) * 2004-03-01 2005-09-15 Fuji Xerox Co Ltd 画像処理装置
JP2007019608A (ja) * 2005-07-05 2007-01-25 Seiko Epson Corp 画像処理装置、画像処理方法、及び画像処理プログラム

Also Published As

Publication number Publication date
JP4803063B2 (ja) 2011-10-26
US20080204777A1 (en) 2008-08-28

Similar Documents

Publication Publication Date Title
US8355580B2 (en) Method and system for generating boundary in the process of rasterizing vector graphic as well as method for producing the system
JP4803063B2 (ja) 画像処理回路およびこれを搭載したプリンタコントローラ
EP1874031A1 (en) Method and apparatus capable of producing fm lattice points in high speed
US10129434B2 (en) Generation of images at lower resolution
JP4479663B2 (ja) 固定セルによるハーフトーン処理を行う画像処理装置,画像処理方法,及び画像処理プログラム
US8089493B2 (en) Image processing circuit, display device, and printing device
US7369710B2 (en) Image processing device, image processing method and image processing program
JP4748079B2 (ja) 画像処理装置及び画像処理方法
US11632488B2 (en) Image processing apparatus and image processing method
JPH04199975A (ja) 画像形成装置
JP4650539B2 (ja) 画像処理装置および画像処理プログラム
JP3951953B2 (ja) 印刷装置、画像処理装置、印刷方法、画像処理方法及びプログラム
JP2005117642A (ja) ハーフトーン処理方法、画像処理装置、画像処理方法、及びプログラム
Trager et al. A GPU based implementation of Direct Multi-bit Search (DMS) screen algorithm
JP4424388B2 (ja) 画像処理回路、表示装置及び印刷装置
JP4122533B2 (ja) 画像形成装置
JP4661704B2 (ja) 画像処理装置、画像形成装置およびプログラム
JP4262148B2 (ja) 画像処理装置及び画像処理方法
JP2020080039A (ja) インクジェット印刷システム
JP2007081939A (ja) データ平滑化回路
JP2005064941A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2000184197A (ja) 画像処理装置
JPH07154600A (ja) 画像処理装置
JP2006025220A (ja) 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体
JP2005311414A (ja) 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110623

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: 20110712

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: 20110725

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: 20140819

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees