JP4006219B2 - Image processing device - Google Patents

Image processing device Download PDF

Info

Publication number
JP4006219B2
JP4006219B2 JP2001336493A JP2001336493A JP4006219B2 JP 4006219 B2 JP4006219 B2 JP 4006219B2 JP 2001336493 A JP2001336493 A JP 2001336493A JP 2001336493 A JP2001336493 A JP 2001336493A JP 4006219 B2 JP4006219 B2 JP 4006219B2
Authority
JP
Japan
Prior art keywords
threshold data
output
data
dither
scan line
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.)
Expired - Fee Related
Application number
JP2001336493A
Other languages
Japanese (ja)
Other versions
JP2003143404A5 (en
JP2003143404A (en
Inventor
知男 飯泉
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2001336493A priority Critical patent/JP4006219B2/en
Publication of JP2003143404A publication Critical patent/JP2003143404A/en
Publication of JP2003143404A5 publication Critical patent/JP2003143404A5/ja
Application granted granted Critical
Publication of JP4006219B2 publication Critical patent/JP4006219B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Color, Gradation (AREA)
  • Image Input (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、1色以上の画像を形成する画像処理装置に関し、特に、レーザビームやLED、またはインクジェットなどの手段を用いて印字媒体上に画像を形成するプリンタなどの画像処理装置に関するものである。
【0002】
【従来の技術】
従来より、モノクロやカラーで印字を行うプリンタが知られている。
【0003】
一般的にプリンタは、主として画像のデータを取り扱うコントローラと、インクやトナーを取り扱う印字部とによって構成される。
【0004】
図4は、印字を行うための画像を作成し印字部に出力するコントローラのブロック図で、モノクロの画像を作成する構成である。
【0005】
300はCPU、301は、全体を制御するプログラムや文字フォントなどが記憶されているROM、302は、CPU300の変数やホストシステム311からの印字データを格納するRAM、303は、出力する画像を発生する描画回路、303′は階調変換回路、304は、画像を保持するビットマップRAMである。
【0006】
305はビデオ回路、306は、ホストシステム311からのデータを受信するためのホストI/F、307は、オペレータへの設定などを表示するパネル308とのインタフェース回路であるパネルI/Fである。
【0007】
308はパネル、309はエンジンである。
【0008】
310はバスであって、CPU300は、このバス310を経由してコントローラ312内の各回路にアクセスし、制御を行う。
【0009】
311はホストシステム、312はコントローラである。
【0010】
まず、ホストシステム311で画像が作成され、ホストI/F306へ出力される。
【0011】
ホストI/F306へ出力された画像は、CPU300の制御のもとに一度RAM302に保持される。
【0012】
しかる後に、この画像は、描画回路303によって読み出されて必要な処理をされ、バンド単位でビットマップRAM304に出力される。
【0013】
そして、ビットマップRAM304に保持された画像は、ビデオ回路305によって読み出され、エンジン309に送られる。
【0014】
画像を受け取ったエンジン309は、その画像から紙などの印字媒体上に出力する画像を作成する。
【0015】
次に、印字を行う印字部について説明する。
【0016】
図5は、カラーのレーザプリンタの印字部の構造を説明した図である。
【0017】
カラーで印字をする印字部は、一般的にY(イエロー)M(マゼンダ)C(シアン)K(黒)の4つの色を用いて、必要なカラー画像を紙などの印字媒体上に形成する。
【0018】
画像の形成は、各色のデータを順に重ねることで行われる。
【0019】
200は紙などの印字媒体、201は給紙ローラ、202は、黒の画像を形成する現像ユニット、203は、イエローの画像を形成する現像ユニット、204は、マゼンタの画像を形成する現像ユニット、205は、シアンの画像を形成する現像ユニットである。
【0020】
206は、印字媒体200を搬送する搬送ベルト、207は、印字媒体200にトナーを定着させるヒータ、208は定着ローラであって、ヒータ207と印字媒体200を密着させる。
【0021】
まず、印字媒体200は、給紙ローラ201で1枚づつ搬送され、各色の画像を形成する現像ユニット202〜205によってトナーによる画像を連続的に形成される。
【0022】
そして、最後にヒータ207でトナーが印字媒体200に熱着されて、印字が終了する。
【0023】
すなわち、このような印字部の場合、出力する画像は、印字媒体200の移動のタイミングに合わせて、画像を形成する現像ユニット202〜205に、連続的に発生させる必要がある。
【0024】
以上のようにして印字が行われるのであるが、一般に、ホストシステム311から入力された画像(印字データ)を、そのまま印字することはできない。
【0025】
すなわち、ホストシステム311から入力される画像は、8ビットなどの高い階調であり、印字するエンジン309が1ドットあたりに出力できる階調は低い場合が多い。
【0026】
このようなときに、描画回路303にてビットマップRAM304に出力する画像を形成する際などに、階調変換回路303′による階調の変換が行われる。
【0027】
特に、図5に示されるような多色の印字に対応するためには、階調変換回路303′は高速で変換を行う必要がある。
【0028】
そのため、1つ1つの画素を順に変換するのではなく、2つ以上の画素データを並列に変換する構成が必要となる。
【0029】
階調変換にはディザ法を用いるのが一般的である。
【0030】
ディザ法はn×m(n,mは1つ以上の整数)の画素単位で閾値を設定し、その閾値と入力するデータを比較して閾値より大きいか、小さいかで出力する画素のデータを決定する方法である。
【0031】
入力されるデータや出力するエンジン309によって、ディザデータ(ディザの閾値)は調整される。
【0032】
図6は、画素を並列に処理できるようにディザデータを出力する回路例である。
【0033】
この例ではメモリを4つとしている。
【0034】
100はカウンタA、104〜107はメモリA〜Dであって、ディザデータ(ディザの閾値)を記憶する。
【0035】
120は、ディザデータと入力するデータとを比較して変換するデータ処理手段である比較回路である。
【0036】
処理する画素の位置にしたがってカウンタ100がインクリメントされる。
【0037】
この回路例では4画素を同時に出力するようにメモリA104はn番目、メモリB105はn+1番目、メモリC106はn+2番目、メモリD107はn+3番目のディザデータ(ディザの閾値)を、同じ組み合わせのデータが繰り返すまで保持する。
【0038】
その例を図7に示す。
【0039】
図7は、幅9(1番目〜9番目まで)のディザデータの出力説明図である。
【0040】
MAはメモリA104が記憶するディザデータ、MBはメモリB105が記憶するディザデータ、MCはメモリC106が記憶するディザデータ、MDはメモリD107が記憶するディザデータである。
【0041】
1番目〜9番目のディザデータを、順に並べて出力できるようにするために、例えばメモリA104は、1、5、9、4、8、3、7、2、6番目のデータをそれぞれメモリA104の0、1、2、3、4、5、6、7、8個目のデータとして記憶する必要がある。
【0042】
そして、そのデータを、カウンタA100の指示に従って(例えばカウンタAが、0個目と指示したら1番目のデータを、2個目と指示したら9番目のデータをというように)出力を行う。
【0043】
【発明が解決しようとする課題】
しかし、上記構成では、ディザデータがメモリの数の整数倍であるときは少ないメモリ容量でも良いが、そうでないときは大きなメモリ容量を必要としてしまう。
【0044】
図7のように、例えばディザデータの幅が9でメモリの数が4であれば、9*4のメモリ容量を必要としてしまう。
【0045】
本発明は、以上のような問題点に鑑みてなされたもので、その目的とする処は、メモリ容量を増やさずにディザデータの大きさを自由に設定できる上に、高速にディザ変換を行うことができる画像処理装置を提供することにある。
【0046】
【課題を解決するための手段】
上記目的を達成するため、本発明では、画像処理装置を次の(1)ないし(4)のとおりに構成する。
(1)ディザ処理に用いる1スキャンライン分の各閾値データを順に振り分けて記憶するN個(N≧2)の記憶手段と、
前記N個の記憶手段にそれぞれ記憶された最初の閾値データを記憶するN−1個のラッチ手段と、
ディザ処理される画素のアドレスを指定するアドレス指定手段と、
前記アドレス指定手段のアドレス指定に応じて前記N個の記憶手段から出力される閾値データと、前記N−1個のラッチ手段から出力される閾値データとのいずれか一方を選択する選択手段と、
前記選択手段で選択された閾値データの出力位置をシフト量に応じてシフトさせるシフト手段と、
前記スキャンラインの最終画素を検出し、検出結果に応じて、前記シフト量を設定する検出手段と、を有し、
前記選択手段は、前記1スキャンライン分の各閾値データを順に出力するために、前記閾値データの幅、前記検出手段の検出結果、前記シフト手段におけるシフト量に対応して出力される閾値データを示す選択条件に従って、前記閾値データを選択することを特徴とする画像処理装置。
(2)前記シフト手段によるシフト量に基づいて、前記アドレス指定手段の初期値を変更する設定手段を有することを特徴とする前記(1)に記載の画像処理装置。
(3)ディザ処理に用いる1スキャンライン分の各閾値データ及び当該スキャンラインの最終画素に対応する閾値データの後に、スキャンラインの先頭からN−1(N≧2)個分の閾値データを順に振り分けて記憶するN個の記憶手段と、
ディザ処理される画素のアドレスを指定するアドレス指定手段と、
前記アドレス指定手段のアドレス指定に応じて、前記N個の記憶手段から閾値データを出力する出力手段と、
前記記憶手段から出力された閾値データの出力位置をシフト量に応じてシフトさせるシフト手段と、
前記スキャンラインの最終画素を検出し、検出結果に応じて前記シフト量を設定する検出手段と、を有し、
前記出力手段は、前記1スキャンライン分の各閾値データを順に出力するために、前記閾値データの幅、前記検出手段の検出結果、前記シフト手段におけるシフト量に対応して出力される閾値データを示す選択条件に従って、前記閾値データを選択することを特徴とする画像処理装置。
(4)前記シフト手段によるシフト量に基づいて、前記アドレス指定手段の初期値を変更する設定手段を有することを特徴とする前記(3)に記載の画像処理装置。
【0049】
すなわち、上記目的を達成するために、
第一の実施例ではディザの1スキャンラインごとに、繰り返しのはじめから並列に処理する画素数−1の閾値データを記憶するラッチを用意し、セレクタにてメモリの各出力とラッチの出力とを切り替え、セレクタの出力にバレルシフタを用意することで、
第二の実施例ではディザを記憶する手段に1スキャンラインの閾値データのあとに続けて繰り返しのはじめから並列に処理する画素数−1の閾値データを続けて記憶させ、メモリの出力にバレルシフタを用意することで、メモリ容量を増やさずに高速にディザ変換を行うことを可能にする。
【0050】
【発明の実施の形態】
以下、複数の実施例に基づき、発明の実施の形態を説明する。
【0051】
(第一の実施例)
以下、図面を用いて第一の実施例について説明する。
【0052】
図1は、第一の実施例をもっともよく表すディザ閾値の出力回路のブロック図であり、4画素を同時に出力する場合について示している。
【0053】
100〜103は、ディザアドレス指定手段であるアドレスカウンタ(以下カウンタという)A′〜D′で、4つの画素毎に更新される。
【0054】
104〜107は、第一の記憶手段であるメモリA′〜D′で、ディザデータ(ディザの閾値)がCPU300から書きこまれて保持される。
【0055】
このとき、メモリA′104にはn番目、メモリB′105にはn+1番目、メモリC′106にはn+2番目、メモリD′107はn+3番目(nは整数)のディザデータ(ディザの閾値)だけが書きこまれる。
【0056】
例えば、1番目〜9番目までのディザデータでは、メモリA′104には、1、5、9(図2のMA′)、メモリB′105には、2、6(図2のMB′)、メモリC′106には、3、7(図2のMC′)、メモリD′107には4、8番目のディザデータ(図2のMD′)だけが記憶される。
【0057】
108〜110は、第二の記憶手段であるラッチA〜Cであり、それぞれメモリA′104〜メモリC′106の最初のディザデータをディザ変換が始まる前に保持する。
【0058】
例えば、1番目〜9番目までのディザデータでは、ラッチA108には1番目のデータ、ラッチB109には2番目のデータ、ラッチC110には3番目のディザデータを保持する。
【0059】
111〜114は、選択手段であるデータセレクタ(以下セレクタという)A〜Dで、メモリA′104〜メモリD′107の出力とラッチA108〜ラッチC110の出力とを切り替える。
【0060】
115は、データシフト手段であるバレルシフタで、セレクタA111〜セレクタD114からのディザデータをデータシフトして(出力位置をずらして)出力する。
【0061】
例えば、セレクタA111から1番目、セレクタB112から2番目、セレクタC113から3番目、セレクタD114から4番目のディザデータが出てきたとき、シフト量0であれば一番目の画素に一番目のディザデータ、二番目の画素に二番目のディザデータ、三番目の画素に三番目のディザデータ、四番目の画素に四番目のディザデータ、と当てはまるように比較回路120に出力が行われる。
【0062】
しかし、シフト量1であれば、一番目の画素に四番目のディザデータ、二番目の画素に一番目のディザデータ、三番目の画素に二番目のディザデータ、四番目の画素に三番目のディザデータ、と当てはまるように比較回路120に出力が行われる。
【0063】
120は、データ処理手段である比較回路、121は、ディザのスキャンラインの最終画素を含んでいることを検出する手段である検出回路、130はデコード回路である。
【0064】
図2は、幅9のディザデータの出力説明図である。
【0065】
(A)は、各メモリに記憶したデータを、各カウンタの指示に従ってそのまま行った出力、(B)は、ラッチ、セレクタ、および検知回路を用いて行った出力、(C)は、(B)の出力にバレルシフタ115を用いて行った出力を示している。
【0066】
横方向には処理につれて出力が変わる様子を示している。
【0067】
(C)の下の数字はバレルシフタ115に入力されるシフト量を示している。
【0068】
網のかかった部分は、セレクタが、メモリからの出力の変わりに、ラッチからの出力を選択したことを示している。
【0069】
(A)では、最初は順番通り出力されるが、3回目の出力からディザデータがずれはじめる。
【0070】
(B)では、検出回路121によって、9番目のデータを含んでいることを検知すると、セレクタA111〜セレクタD114がラッチA108〜ラッチC110のデータを選択して、1番目、2番目、3番目のディザデータを出力するので、3回目の出力までは順番通り出力される。
【0071】
しかし、4回目の出力からディザデータがずれはじめる。
【0072】
(C)では、検出回路121によって、9番目のデータを含んでいることを検知すると、セレクタA111〜セレクタD114がラッチA108〜ラッチC110のデータを選択して、1番目、2番目、3番目のディザデータを出力し、バレルシフタ115のシフト量が更新される(次の回の出力からバレルシフタのシフト量が+1される)。
【0073】
これにより、データの出力位置のずれは解消されるが、ラッチA108〜ラッチC110による出力の直後にいくつかのディザデータが繰り返してしまう。
【0074】
これを解消するために、本実施例ではデコード回路を用い、さらにそれに合わせたセレクタA111〜セレクタD114の選択の条件(セレクタの論理)を設定する。
【0075】
表1にデコード回路のカウンタ初期値表、表2にセレクタの論理表を示す。
【0076】
【表1】

Figure 0004006219
【0077】
【表2】
Figure 0004006219
表1は、デコード回路130を用いて各カウンタのカウンタ初期値を変更する様子を示す表である。
【0078】
まず、縦軸のシフトで、シフト量がいくつに更新されるかを見る。
【0079】
次に、横軸のカウンタから、いずれかのカウンタを見る。
【0080】
交差したところの数字が、そのカウンタが、シフト量が更新されるときに、記憶してある何個目のディザデータから出力を行うかを示している。
【0081】
例えば、シフト量が1でカウンタD′の欄は0となっている。
【0082】
すなわち、シフト量が1になったとき、カウンタDは0個目(4番目、8番目のうち4番目)のディザデータから出力を開始する。
【0083】
また、シフト量が1でカウンタBの欄は1となっている。
【0084】
すなわち、シフト量が1になったとき、カウンタBは1個目(2番目、6番目のうち6番目)のデータから出力を開始する。
【0085】
このとき、セレクタも表2に示すように設定を行う必要がある。
【0086】
その理由は、検出回路121によって、9番目のデータを含んでいることを検知したとしても、ラッチA108〜ラッチC110のデータを必ず3つとも同時に使用するとは限らないからである。
【0087】
場合によって、1つだけ使用、2つだけ使用、3つとも使用、となる。
【0088】
なお、この論理と、図1の回路のラッチA108〜ラッチC110とセレクタA111〜セレクタD114の配線とが対応している。
【0089】
デコード回路130とセレクタ論理とを用いたときの出力を図3に示す。
【0090】
図3は、図1の回路の出力を説明したもので、(A)はディザデータの幅が9(4n+1)の場合、(B)は幅が10(4n+2)の場合、(C)は幅が11(4n+3)の場合のバレルシフタ115からの出力を示している。
【0091】
横方向には処理につれて出力が変わる様子を示している。
【0092】
下の数字はバレルシフタ115に入力されるシフト量を示している。
【0093】
網のかかった部分は、セレクタが、メモリからの出力の変わりにラッチからの出力を選択したことを示している。
【0094】
枠が太いものはデコード回路130によって、他に比べてカウンタが+1インクリメントされていることを示している。
【0095】
(A)について説明する。
【0096】
検出回路121によって、ディザデータのスキャンラインの最終画素(この場合は9番目のデータ)を含んでいるところまで進むと、次の回の出力で、セレクタはセレクタの論理に従いラッチまたはメモリを選択し、バレルシフトのシフト量が更新される。
【0097】
例えば、(A)ではじめの1〜4、5〜8、と進んできて、最終の9までくると、次の回の出力で、セレクタB112〜セレクタD114はセレクタの論理により各々ラッチA108〜ラッチC110を選択し、バレルシフタ115は次の画素でシフト量+1される。
【0098】
また、カウンタA′100〜カウンタC′102は+1が初期値としてロードされる。
【0099】
これによって、4回目、5回目の出力の太字部分が、順番通りに出力される。
【0100】
このようにして、ディザデータの幅が9のときは、少ないメモリ容量で順番通りに出力することが可能となる。
【0101】
また、ディザデータの幅が9のときに限らず、メモリが4つで、ディザデータの幅が4n+1のときには、同様に出力することができる。
【0102】
さらに、メモリが4つで、ディザデータの幅が4n+2、または4n+3のときは、シフト量の更新を図3(B)、または図3(C)のように変更するだけで、同様に出力することができる。
【0103】
以上説明した通り、ディザデータの1スキャンラインごとに、繰り返しのはじめから並列に処理する画素数−1個の閾値データを記憶するラッチを用意し、セレクタにて各メモリの出力とラッチの出力を切り替え、セレクタの出力にバレルシフタ115を用意することで、ディザデータがメモリの数の整数倍でなくとも、メモリ容量を増やさずに高速にディザ変換を行うことが可能となる。
【0104】
(第二の実施例)
ラッチA108〜ラッチC110を用意する代わりに、ラッチしたデータをあらかじめディザの閾値の最後に続けて設定することで、セレクタを用意することなく、図3(A)〜(C)と同じ機能を動作させることが可能である。
【0105】
例えば、図3(A)の例では、メモリA′104に1、5、9、メモリB′105に2、6、1、メモリC′106に3、7、2、メモリD′107に4、8、3番目のデータを記憶しておくことで、ラッチを用いなくても、バレルシフタ115とデコード回路130のみで所望の結果を得ることができる。
【0106】
なお、第一および第二の実施例ではメモリが4つの場合について説明したが、本発明はこれのみに限定されるものではない。
【0107】
本発明は、メモリの数がいくつであっても、
第一の実施例ではディザデータの1スキャンラインごとに、繰り返しのはじめから並列に処理する画素数−1の閾値データを記憶するラッチを用意し、セレクタにて各メモリの出力とラッチの出力を切り替え、セレクタの出力にバレルシフタを用意することで、
第二の実施例ではディザデータを記憶する手段に、1スキャンラインの閾値データのあとに繰り返しのはじめから並列に処理する画素数−1の閾値データを続けて記憶させ、メモリの出力にバレルシフタを用意することで、所望の結果が得られるものである。
【0108】
【発明の効果】
以上説明したとおり、本発明によれば、メモリ容量を増やさずにディザの大きさを自由に設定できる上に、高速にディザ変換を行うことが可能な画像処理装置を提供することができる。
【図面の簡単な説明】
【図1】 本発明の実施例1をあらわした図
【図2】 幅9のディザデータの出力説明図
【図3】 ディザデータの出力例
【図4】 コントローラの構造図
【図5】 印字部の構造図
【図6】 従来の階調変換回路
【図7】 幅9のディザデータの出力説明図
【符号の説明】
100〜103 カウンタ
104〜107 メモリ
108〜110 ラッチ
111〜114 セレクタ
115 バレルシフタ
120 比較回路
121 検出回路
130 デコード回路
200 印字媒体
201 給紙ローラ
202〜205 現像ユニット
206 搬送ベルト
207 ヒータ
208 定着ローラ
300 CPU
301 ROM
302 RAM
303 描画回路
303′ 階調変換回路
304 ビットマップRAM
305 ビデオ回路
306 ホストI/F
307 パネルI/F
308 パネル
309 エンジン
310 バス
311 ホストシステム
312 コントローラ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus that forms an image of one or more colors, and more particularly to an image processing apparatus such as a printer that forms an image on a print medium using means such as a laser beam, LED, or inkjet. .
[0002]
[Prior art]
Conventionally, printers that perform monochrome and color printing are known.
[0003]
In general, a printer mainly includes a controller that handles image data and a printing unit that handles ink and toner.
[0004]
FIG. 4 is a block diagram of a controller that creates an image for printing and outputs the image to a printing unit. The controller creates a monochrome image.
[0005]
Reference numeral 300 denotes a CPU, 301 denotes a ROM that stores a program for controlling the whole and character fonts, 302 denotes a RAM that stores variables of the CPU 300 and print data from the host system 311, and 303 generates an image to be output. A drawing circuit 303, a gradation conversion circuit 303 ′, and a bitmap RAM 304 holds an image.
[0006]
Reference numeral 305 denotes a video circuit, reference numeral 306 denotes a host I / F for receiving data from the host system 311, and reference numeral 307 denotes a panel I / F which is an interface circuit with the panel 308 for displaying settings for an operator.
[0007]
308 is a panel and 309 is an engine.
[0008]
Reference numeral 310 denotes a bus, and the CPU 300 accesses and controls each circuit in the controller 312 via the bus 310.
[0009]
Reference numeral 311 denotes a host system, and 312 denotes a controller.
[0010]
First, an image is created by the host system 311 and output to the host I / F 306.
[0011]
The image output to the host I / F 306 is once held in the RAM 302 under the control of the CPU 300.
[0012]
Thereafter, this image is read out by the drawing circuit 303 and subjected to necessary processing, and is output to the bitmap RAM 304 in band units.
[0013]
The image held in the bitmap RAM 304 is read by the video circuit 305 and sent to the engine 309.
[0014]
Upon receiving the image, the engine 309 creates an image to be output on a print medium such as paper from the image.
[0015]
Next, a printing unit that performs printing will be described.
[0016]
FIG. 5 is a diagram illustrating the structure of a printing unit of a color laser printer.
[0017]
A printing section that prints in color generally forms a necessary color image on a printing medium such as paper by using four colors of Y (yellow), M (magenta), C (cyan), and K (black). .
[0018]
The image is formed by sequentially superimposing data of each color.
[0019]
200 is a printing medium such as paper, 201 is a paper feed roller, 202 is a developing unit that forms a black image, 203 is a developing unit that forms a yellow image, 204 is a developing unit that forms a magenta image, Reference numeral 205 denotes a developing unit that forms a cyan image.
[0020]
Reference numeral 206 denotes a conveyance belt that conveys the print medium 200, 207 a heater that fixes toner to the print medium 200, and 208 a fixing roller that closely contact the heater 207 and the print medium 200.
[0021]
First, the print medium 200 is conveyed one by one by the paper feed roller 201, and images of toner are continuously formed by developing units 202 to 205 that form images of the respective colors.
[0022]
Finally, the heater 207 heats the toner onto the printing medium 200, and printing is completed.
[0023]
That is, in the case of such a printing unit, it is necessary to continuously generate images to be output in the developing units 202 to 205 that form images in accordance with the timing of movement of the printing medium 200.
[0024]
Although printing is performed as described above, generally, an image (print data) input from the host system 311 cannot be printed as it is.
[0025]
That is, an image input from the host system 311 has a high gradation such as 8 bits, and the gradation that the printing engine 309 can output per dot is often low.
[0026]
In such a case, when the drawing circuit 303 forms an image to be output to the bitmap RAM 304, gradation conversion is performed by the gradation conversion circuit 303 ′.
[0027]
In particular, in order to cope with multi-color printing as shown in FIG. 5, the gradation conversion circuit 303 'needs to perform conversion at high speed.
[0028]
Therefore, it is necessary to have a configuration in which two or more pieces of pixel data are converted in parallel rather than sequentially converting each pixel.
[0029]
A dither method is generally used for gradation conversion.
[0030]
In the dither method, a threshold value is set in units of pixels of n × m (n and m are one or more integers), and the threshold value is compared with the input data. It is a method of determination.
[0031]
The dither data (dither threshold) is adjusted by the input data and the output engine 309.
[0032]
FIG. 6 shows an example of a circuit that outputs dither data so that pixels can be processed in parallel.
[0033]
In this example, there are four memories.
[0034]
Reference numeral 100 denotes a counter A, and 104 to 107 are memories A to D, which store dither data (dither threshold).
[0035]
A comparison circuit 120 is a data processing means for comparing and converting dither data and input data.
[0036]
The counter 100 is incremented according to the position of the pixel to be processed.
[0037]
In this circuit example, the memory A104 is nth, the memory B105 is n + 1th, the memory C106 is n + 2th, and the memory D107 is n + 3th dither data (dither threshold) so that four pixels are output simultaneously. Hold until repeated.
[0038]
An example is shown in FIG.
[0039]
FIG. 7 is an explanatory diagram of output of dither data having a width of 9 (from 1st to 9th).
[0040]
MA is dither data stored in the memory A104, MB is dither data stored in the memory B105, MC is dither data stored in the memory C106, and MD is dither data stored in the memory D107.
[0041]
In order to enable the first to ninth dither data to be arranged and output in order, for example, the memory A104 has the first, fifth, ninth, fourth, eighth, third, seventh, second and sixth data stored in the memory A104. It is necessary to store as 0, 1, 2, 3, 4, 5, 6, 7, 8th data.
[0042]
Then, the data is output in accordance with the instruction of the counter A100 (for example, when the counter A indicates the 0th data, the first data is output, and when the counter A indicates the second data, the 9th data is output).
[0043]
[Problems to be solved by the invention]
However, in the above configuration, a small memory capacity may be used when the dither data is an integral multiple of the number of memories, but a large memory capacity is required otherwise.
[0044]
As shown in FIG. 7, for example, if the dither data width is 9 and the number of memories is 4, 9 * 4 memory capacity is required.
[0045]
The present invention has been made in view of the above-described problems. The object of the present invention is that the size of dither data can be freely set without increasing the memory capacity, and the dither conversion is performed at high speed. An object of the present invention is to provide an image processing apparatus that can perform the above processing .
[0046]
[Means for Solving the Problems]
In order to achieve the above object , in the present invention , the image processing apparatus is configured as described in the following (1) to (4).
(1) N (N ≧ 2) storage means for sequentially distributing and storing threshold data for one scan line used for dither processing;
N-1 latch means for storing initial threshold data respectively stored in the N storage means;
Addressing means for specifying the address of the pixel to be dithered;
Selection means for selecting one of threshold data output from the N storage means and threshold data output from the N-1 latch means according to the address specification of the address specifying means;
Shift means for shifting the output position of the threshold data selected by the selection means according to the shift amount;
Detection means for detecting the last pixel of the scan line and setting the shift amount according to a detection result;
The selection means outputs threshold data corresponding to the width of the threshold data, the detection result of the detection means, and the shift amount in the shift means in order to sequentially output the threshold data for the one scan line. An image processing apparatus, wherein the threshold data is selected according to a selection condition shown.
(2) The image processing apparatus according to (1), further including a setting unit that changes an initial value of the address designation unit based on a shift amount by the shift unit.
(3) After each threshold data for one scan line used for dither processing and threshold data corresponding to the last pixel of the scan line, N−1 (N ≧ 2) threshold data from the head of the scan line are sequentially applied. N storage means for sorting and storing;
Addressing means for specifying the address of the pixel to be dithered;
Output means for outputting threshold data from the N storage means in response to the address designation of the address designation means;
Shift means for shifting the output position of the threshold data output from the storage means according to the shift amount;
Detecting means for detecting a final pixel of the scan line and setting the shift amount according to a detection result;
The output means outputs the threshold data corresponding to the width of the threshold data, the detection result of the detection means, and the shift amount in the shift means in order to output each threshold data for one scan line in order. An image processing apparatus, wherein the threshold data is selected according to a selection condition shown.
(4) The image processing apparatus according to (3), further including a setting unit that changes an initial value of the address designation unit based on a shift amount by the shift unit.
[0049]
That is, to achieve the above purpose,
In the first embodiment, for each scan line of dither, a latch for storing threshold value data of −1 pixel number to be processed in parallel from the beginning of the repetition is prepared, and each output of the memory and the output of the latch are selected by the selector. By preparing a barrel shifter for switching and selector output,
In the second embodiment, the means for storing the dither stores the threshold data of the number of pixels to be processed in parallel from the beginning of the repetition following the threshold data of one scan line, and stores the barrel shifter at the output of the memory. By preparing, it is possible to perform dither conversion at high speed without increasing the memory capacity.
[0050]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the invention will be described below based on a plurality of examples.
[0051]
(First embodiment)
The first embodiment will be described below with reference to the drawings.
[0052]
FIG. 1 is a block diagram of a dither threshold output circuit that best represents the first embodiment, and shows a case where four pixels are output simultaneously.
[0053]
Reference numerals 100 to 103 are address counters (hereinafter referred to as counters) A ′ to D ′ which are dither address designating means, and are updated every four pixels.
[0054]
Reference numerals 104 to 107 denote memories A ′ to D ′, which are first storage means, and dither data (dither threshold value) is written from the CPU 300 and held therein.
[0055]
At this time, the memory A′104 is nth, the memory B′105 is n + 1th, the memory C′106 is n + 2th, and the memory D′ 107 is n + 3th (n is an integer) dither data (dither threshold). Only written.
[0056]
For example, in the first to ninth dither data, the memory A′104 has 1, 5, 9 (MA ′ in FIG. 2), and the memory B′105 has 2, 6 (MB ′ in FIG. 2). The memory C ′ 106 stores only the third and seventh (MC ′ in FIG. 2), and the memory D ′ 107 stores only the fourth and eighth dither data (MD ′ in FIG. 2).
[0057]
Reference numerals 108 to 110 denote latches A to C which are second storage means, and hold the first dither data of the memories A ′ 104 to C ′ 106 before the dither conversion starts.
[0058]
For example, in the first to ninth dither data, the latch A 108 holds the first data, the latch B 109 holds the second data, and the latch C 110 holds the third dither data.
[0059]
Reference numerals 111 to 114 denote data selectors (hereinafter referred to as selectors) A to D which are selection means, and switch between outputs of the memory A ′ 104 to the memory D ′ 107 and outputs of the latch A 108 to the latch C 110.
[0060]
Reference numeral 115 denotes a barrel shifter which is a data shift means for shifting the dither data from the selectors A111 to D114 (shifting the output position) and outputting it.
[0061]
For example, when the first dither data from the selector A111, the second from the selector B112, the third from the selector C113, and the fourth dither data from the selector D114 come out, if the shift amount is 0, the first dither data is added to the first pixel. The second dither data is applied to the second pixel, the third dither data is applied to the third pixel, and the fourth dither data is applied to the fourth pixel.
[0062]
However, if the shift amount is 1, the fourth pixel has the fourth dither data, the second pixel has the first dither data, the third pixel has the second dither data, and the fourth pixel has the third dither data. An output is made to the comparison circuit 120 so as to be applied to the dither data.
[0063]
120 is a comparison circuit which is a data processing means, 121 is a detection circuit which is a means for detecting that the last pixel of the dither scan line is included, and 130 is a decoding circuit.
[0064]
FIG. 2 is an explanatory diagram of output of dither data having a width of 9.
[0065]
(A) is an output obtained by directly using the data stored in each memory in accordance with an instruction of each counter, (B) is an output obtained using a latch, a selector, and a detection circuit, and (C) is (B) The output performed using the barrel shifter 115 is shown.
[0066]
The horizontal direction shows how the output changes with processing.
[0067]
The numbers below (C) indicate the shift amount input to the barrel shifter 115.
[0068]
The shaded portion indicates that the selector has selected the output from the latch instead of the output from the memory.
[0069]
In (A), the output is performed in order at first, but the dither data begins to deviate from the third output.
[0070]
In (B), when the detection circuit 121 detects that the ninth data is included, the selectors A111 to D114 select the data of the latches A108 to C110, and the first, second, and third data are selected. Since dither data is output, it is output in order until the third output.
[0071]
However, the dither data starts to shift from the fourth output.
[0072]
In (C), when the detection circuit 121 detects that the ninth data is included, the selectors A111 to D114 select the data of the latches A108 to C110, and the first, second, and third data are selected. Dither data is output, and the shift amount of the barrel shifter 115 is updated (the shift amount of the barrel shifter is incremented by 1 from the next output).
[0073]
This eliminates the shift in the data output position, but some dither data is repeated immediately after the output from the latch A108 to the latch C110.
[0074]
In order to solve this problem, the present embodiment uses a decoding circuit, and further sets selection conditions (selector logic) for the selectors A111 to D114 in accordance with the decoding circuit.
[0075]
Table 1 shows a counter initial value table of the decoding circuit, and Table 2 shows a logic table of the selector.
[0076]
[Table 1]
Figure 0004006219
[0077]
[Table 2]
Figure 0004006219
Table 1 is a table showing how the counter initial value of each counter is changed using the decoding circuit 130.
[0078]
First, look at how many shifts are updated by shifting the vertical axis.
[0079]
Next, one of the counters is viewed from the counter on the horizontal axis.
[0080]
The numbers at the intersections indicate from which stored dither data the counter outputs when the shift amount is updated.
[0081]
For example, the shift amount is 1 and the counter D 'column is 0.
[0082]
That is, when the shift amount becomes 1, the counter D starts output from the 0th (fourth, fourth among the eighth) dither data.
[0083]
The shift amount is 1 and the counter B column is 1.
[0084]
That is, when the shift amount becomes 1, the counter B starts output from the first data (6th out of 2nd and 6th).
[0085]
At this time, the selector needs to be set as shown in Table 2.
[0086]
The reason is that even if the detection circuit 121 detects that the ninth data is included, not all of the data of the latches A108 to C110 are always used at the same time.
[0087]
In some cases, only one is used, only two are used, and all three are used.
[0088]
This logic corresponds to the wirings of the latch A108 to latch C110 and the selector A111 to selector D114 in the circuit of FIG.
[0089]
FIG. 3 shows an output when the decode circuit 130 and the selector logic are used.
[0090]
FIGS. 3A and 3B illustrate the output of the circuit of FIG. 1. FIG. 3A shows the case where the dither data width is 9 (4n + 1), FIG. 3B shows the case where the width is 10 (4n + 2), and FIG. Is an output from the barrel shifter 115 when 11 is 4 (4n + 3).
[0091]
The horizontal direction shows how the output changes with processing.
[0092]
The lower number indicates the shift amount input to the barrel shifter 115.
[0093]
The shaded portion indicates that the selector has selected the output from the latch instead of the output from the memory.
[0094]
A thick frame indicates that the counter is incremented by +1 by the decoding circuit 130 as compared with the others.
[0095]
(A) will be described.
[0096]
When the detection circuit 121 advances to a position including the last pixel of the scan line of dither data (in this case, the ninth data), the selector selects a latch or a memory according to the logic of the selector at the next output. The shift amount of the barrel shift is updated.
[0097]
For example, in (A), the first 1 to 4, 5 to 8 are advanced, and when the final 9 is reached, the selector B112 to the selector D114 are latched by the logic of the selector, respectively, at the next output. C110 is selected, and the barrel shifter 115 is incremented by 1 for the next pixel.
[0098]
The counters A′100 to C′102 are loaded with +1 as an initial value.
[0099]
As a result, the bold portions of the fourth and fifth outputs are output in order.
[0100]
In this way, when the dither data width is 9, the dither data can be output in order with a small memory capacity.
[0101]
Further, not only when the width of the dither data is 9, but when there are four memories and the width of the dither data is 4n + 1, the same output can be performed.
[0102]
Furthermore, when there are four memories and the dither data width is 4n + 2 or 4n + 3, the shift amount is updated as shown in FIG. 3B or FIG. be able to.
[0103]
As described above, for each scan line of dither data, a latch is prepared for storing threshold data of the number of pixels to be processed in parallel from the beginning of the repetition minus one, and the selector outputs the output of each memory and the output of the latch. By preparing the barrel shifter 115 for switching and selector output, it is possible to perform dither conversion at high speed without increasing the memory capacity even if the dither data is not an integral multiple of the number of memories.
[0104]
(Second embodiment)
Instead of preparing the latch A108 to the latch C110, the same function as that shown in FIGS. 3A to 3C can be operated without preparing a selector by setting the latched data at the end of the dither threshold value in advance. It is possible to make it.
[0105]
For example, in the example of FIG. 3A, the memory A'104 is 1, 5, 9, the memory B'105 is 2, 6, 1, the memory C'106 is 3, 7, 2, and the memory D'107 is 4 By storing the eighth, third, and third data, a desired result can be obtained by using only the barrel shifter 115 and the decoding circuit 130 without using a latch.
[0106]
In the first and second embodiments, the case where there are four memories has been described. However, the present invention is not limited to this.
[0107]
The present invention allows any number of memories,
In the first embodiment, for each scan line of dither data, a latch is prepared for storing threshold data of pixel number −1 to be processed in parallel from the beginning of the repetition, and the selector outputs the output of each memory and the output of the latch. By preparing a barrel shifter for switching and selector output,
In the second embodiment, the means for storing dither data stores threshold data for one scan line, followed by threshold data of the number of pixels to be processed in parallel from the beginning of the repetition minus 1, and stores a barrel shifter at the output of the memory. By preparing, a desired result can be obtained.
[0108]
【The invention's effect】
As described above, according to the present invention, it is possible to provide an image processing apparatus that can freely set the dither size without increasing the memory capacity and can perform dither conversion at high speed.
[Brief description of the drawings]
FIG. 1 is a diagram showing a first embodiment of the present invention. FIG. 2 is an explanatory diagram of dither data output of width 9. FIG. 3 is an example of dither data output. FIG. 4 is a structural diagram of a controller. FIG. 6 is a conventional gradation conversion circuit. FIG. 7 is an explanatory diagram of output of dither data with a width of 9. FIG.
100 to 103 Counter 104 to 107 Memory 108 to 110 Latch 111 to 114 Selector 115 Barrel shifter 120 Comparison circuit 121 Detection circuit 130 Decoding circuit 200 Printing medium 201 Paper feed rollers 202 to 205 Development unit 206 Conveying belt 207 Heater 208 Fixing roller 300 CPU
301 ROM
302 RAM
303 Drawing circuit 303 ′ Gradation conversion circuit 304 Bit map RAM
305 Video circuit 306 Host I / F
307 Panel I / F
308 Panel 309 Engine 310 Bus 311 Host system 312 Controller

Claims (4)

ディザ処理に用いる1スキャンライン分の各閾値データを順に振り分けて記憶するN個(N≧2)の記憶手段と、
前記N個の記憶手段にそれぞれ記憶された最初の閾値データを記憶するN−1個のラッチ手段と、
ディザ処理される画素のアドレスを指定するアドレス指定手段と、
前記アドレス指定手段のアドレス指定に応じて前記N個の記憶手段から出力される閾値データと、前記N−1個のラッチ手段から出力される閾値データとのいずれか一方を選択する選択手段と、
前記選択手段で選択された閾値データの出力位置をシフト量に応じてシフトさせるシフト手段と、
前記スキャンラインの最終画素を検出し、検出結果に応じて、前記シフト量を設定する検出手段と、を有し、
前記選択手段は、前記1スキャンライン分の各閾値データを順に出力するために、前記閾値データの幅、前記検出手段の検出結果、前記シフト手段におけるシフト量に対応して出力される閾値データを示す選択条件に従って、前記閾値データを選択することを特徴とする画像処理装置。
N (N ≧ 2) storage means for sequentially distributing and storing threshold data for one scan line used for dither processing;
N-1 latch means for storing initial threshold data respectively stored in the N storage means;
Addressing means for specifying the address of the pixel to be dithered;
Selection means for selecting one of threshold data output from the N storage means and threshold data output from the N-1 latch means according to the address specification of the address specifying means;
Shift means for shifting the output position of the threshold data selected by the selection means according to the shift amount;
Detection means for detecting the last pixel of the scan line and setting the shift amount according to a detection result;
The selection means outputs threshold data corresponding to the width of the threshold data, the detection result of the detection means, and the shift amount in the shift means in order to sequentially output the threshold data for the one scan line. according to the selection conditions shown, the image processing apparatus characterized by selecting said threshold data.
前記シフト手段によるシフト量に基づいて、前記アドレス指定手段の初期値を変更する設定手段を有することを特徴とする請求項に記載の画像処理装置。On the basis of the shift amount by the shift means, an image processing apparatus according to claim 1, characterized in that it comprises a setting means for changing the initial value of the addressing means. ディザ処理に用いる1スキャンライン分の各閾値データ及び当該スキャンラインの最終画素に対応する閾値データの後に、スキャンラインの先頭からN−1(N≧2)個分の閾値データを順に振り分けて記憶するN個の記憶手段と、
ディザ処理される画素のアドレスを指定するアドレス指定手段と、
前記アドレス指定手段のアドレス指定に応じて、前記N個の記憶手段から閾値データを出力する出力手段と、
前記記憶手段から出力された閾値データの出力位置をシフト量に応じてシフトさせるシフト手段と、
前記スキャンラインの最終画素を検出し、検出結果に応じて前記シフト量を設定する検出手段と、を有し、
前記出力手段は、前記1スキャンライン分の各閾値データを順に出力するために、前記閾値データの幅、前記検出手段の検出結果、前記シフト手段におけるシフト量に対応して出力される閾値データを示す選択条件に従って、前記閾値データを選択することを特徴とする画像処理装置。
After each threshold data for one scan line used for dither processing and threshold data corresponding to the last pixel of the scan line, N-1 (N ≧ 2) threshold data from the head of the scan line are sequentially sorted and stored. N storage means to
Addressing means for specifying the address of the pixel to be dithered;
Output means for outputting threshold data from the N storage means in response to the address designation of the address designation means;
Shift means for shifting the output position of the threshold data output from the storage means according to the shift amount;
Detecting means for detecting a final pixel of the scan line and setting the shift amount according to a detection result;
The output means outputs the threshold data corresponding to the width of the threshold data, the detection result of the detection means, and the shift amount in the shift means in order to output each threshold data for one scan line in order. according to the selection conditions shown, the image processing apparatus characterized by selecting said threshold data.
前記シフト手段によるシフト量に基づいて、前記アドレス指定手段の初期値を変更する設定手段を有することを特徴とする請求項に記載の画像処理装置。The image processing apparatus according to claim 3 , further comprising a setting unit that changes an initial value of the address specifying unit based on a shift amount by the shift unit.
JP2001336493A 2001-11-01 2001-11-01 Image processing device Expired - Fee Related JP4006219B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001336493A JP4006219B2 (en) 2001-11-01 2001-11-01 Image processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001336493A JP4006219B2 (en) 2001-11-01 2001-11-01 Image processing device

Publications (3)

Publication Number Publication Date
JP2003143404A JP2003143404A (en) 2003-05-16
JP2003143404A5 JP2003143404A5 (en) 2005-06-16
JP4006219B2 true JP4006219B2 (en) 2007-11-14

Family

ID=19151309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001336493A Expired - Fee Related JP4006219B2 (en) 2001-11-01 2001-11-01 Image processing device

Country Status (1)

Country Link
JP (1) JP4006219B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010272038A (en) * 2009-05-25 2010-12-02 Nippon Hoso Kyokai <Nhk> File management device and its program

Also Published As

Publication number Publication date
JP2003143404A (en) 2003-05-16

Similar Documents

Publication Publication Date Title
US5382968A (en) Raster image serial printer having variable buffer memory and method for operating same
JPH06217119A (en) Color separation method in color graphic printing
EP0707730B1 (en) Page-makeup system
EP1143696A2 (en) Image processing apparatus, image processing circuit, and image processing method
EP0457572B1 (en) Outputting method and apparatus
US5146554A (en) Page memory control in a raster image processor employed for digital halftoning
JP4006219B2 (en) Image processing device
US5299292A (en) Reduction printing apparatus
JP2021103902A (en) Image processing device, control method of the same, and program
US5768484A (en) Printing apparatus and control method therefor
JPH03112666A (en) Output unit
JP7332367B2 (en) Image processing device and image processing method
US5627652A (en) Multibit RAM for parallel lookup of high resolution halftone screens
JP2004255700A (en) Process for creating dot data while saving memory capacity
JP2001150743A (en) Color printer and color printing system
JP2845374B2 (en) Color image processing method
WO1992009168A1 (en) Image scaling for thermal printers and the like
JP3151248B2 (en) Image processing device
JP2008205611A (en) Image processing circuit and printer controller mounting the same
JPH10164365A (en) Image processing method and image forming device
JPH06245055A (en) Device and method for printing
JP2006021458A (en) Electronic device for processing printing information and program for controlling tandem type color printer
JPS63256446A (en) Printer
JPS622503B2 (en)
JPH08118732A (en) Printer

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040914

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061031

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070827

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110831

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130831

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees