JP4006219B2 - Image processing device - Google Patents
Image processing device Download PDFInfo
- 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
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】
【0077】
【表2】
表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]
[0006]
[0007]
308 is a panel and 309 is an engine.
[0008]
[0009]
[0010]
First, an image is created by the
[0011]
The image output to the host I / F 306 is once held in the
[0012]
Thereafter, this image is read out by the
[0013]
The image held in the
[0014]
Upon receiving the image, the
[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,
[0020]
[0021]
First, the
[0022]
Finally, the
[0023]
That is, in the case of such a printing unit, it is necessary to continuously generate images to be output in the developing
[0024]
Although printing is performed as described above, generally, an image (print data) input from the
[0025]
That is, an image input from the
[0026]
In such a case, when the
[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
[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]
[0035]
A
[0036]
The
[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]
[0054]
[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]
[0058]
For example, in the first to ninth dither data, the
[0059]
[0060]
[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
[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
[0066]
The horizontal direction shows how the output changes with processing.
[0067]
The numbers below (C) indicate the shift amount input to the
[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
[0071]
However, the dither data starts to shift from the fourth output.
[0072]
In (C), when the
[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]
[0077]
[Table 2]
Table 1 is a table showing how the counter initial value of each counter is changed using the
[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
[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
[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
[0091]
The horizontal direction shows how the output changes with processing.
[0092]
The lower number indicates the shift amount input to the
[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
[0095]
(A) will be described.
[0096]
When the
[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
[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
[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
[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
100 to 103
301 ROM
302 RAM
303
305
307 Panel I / F
308
Claims (4)
前記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.
ディザ処理される画素のアドレスを指定するアドレス指定手段と、
前記アドレス指定手段のアドレス指定に応じて、前記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.
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)
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 |
-
2001
- 2001-11-01 JP JP2001336493A patent/JP4006219B2/en not_active Expired - Fee Related
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 |