JP4137067B2 - 画像処理方法及びその装置 - Google Patents

画像処理方法及びその装置 Download PDF

Info

Publication number
JP4137067B2
JP4137067B2 JP2005061067A JP2005061067A JP4137067B2 JP 4137067 B2 JP4137067 B2 JP 4137067B2 JP 2005061067 A JP2005061067 A JP 2005061067A JP 2005061067 A JP2005061067 A JP 2005061067A JP 4137067 B2 JP4137067 B2 JP 4137067B2
Authority
JP
Japan
Prior art keywords
image data
data
contour
image
attribute
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
JP2005061067A
Other languages
English (en)
Other versions
JP2006244277A (ja
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 JP2005061067A priority Critical patent/JP4137067B2/ja
Publication of JP2006244277A publication Critical patent/JP2006244277A/ja
Application granted granted Critical
Publication of JP4137067B2 publication Critical patent/JP4137067B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

本発明は擬似中間調処理した画像に対して、エッジ部のジャギーを改善する画像処理方法及びその装置に関するものである。
従来から、低解像のプリンタで発生するジャギーを改善する技術が、いくつか提案されている。ここでいうジャギーとは、文字のエッジ部などで発生するガタツキ(ギザギザ)のことである。その様子の一例を図18に示した。同図には複数の升目があるが、この1つ1つが1画素に相当し、図18では300dpiである。図18のように画像解像度が300dpiのように低いと、特に斜めの輪郭のエッジ部にジャギーが発生する。
このようなジャギーに対して、従来の技術では、パターンマッチングをおこなってパターンに一致した箇所に画像データを付加またはジャギーの原因となる画素を除去し、ジャギーを改善していた。ここでいうパターンマッチングの詳細については、公知な技術であるため、詳細な説明は省略する。特許文献1にはスムージング技術の一例が開示されている。
図19に、そのジャギーを改善した例を示す。図19における(a)は、パターンマッチングで一致した画素にハーフトーンのデータを付加した様子を示している。先ほどのジャギーの発生箇所にハーフトーンデータが付加されている。特に電子写真プロセスを有するようなプリンタでは、このようなハーフトーンデータをジャギー部に付加するだけで画質を大きく改善できる効果がある。
一方、図19の(b)は、パターンマッチングで一致した画素に画素分割したデータを付加した様子を示している。画素分割とは、上記例では300dpiの1画素を複数に分割し部分的にドットを打つ技術である。ここでは、2分割を例にとって示している。画素分割の技術についても公知である為、ここでの詳細な説明は省略する。
前述した従来技術は、ジャギー部にハーフトーンのドットを付加したり、画素分割ドットを付加するものであったが、逆に、フルドットをハーフドットにしたり、フルドットを画素分割ドットにしたりするようなジャギー部の画素を薄くするような処理の場合もあり、このような処理を組み合わせることにより、前述したジャギーを改善していた。
しかしながら、このような手法では、図20に示したような問題がある。すなわち、図20の(a)のようなハーフトーン文字に対して、擬似中間調処理、例えばスクリーン処理を施した場合、図20の(b)のようになってしまう。つまり、ハーフトーン文字の場合、プリンタの解像度である300dpi以上に粗いスクリーン解像度で擬似中間調処理を施すため、文字や細線が切れた状態になってしまう。なぜならば、プリンタの画素(ドット)を複数まとめることで擬似的にスクリーン解像度を表現することになる為、プリンタの解像度より高いスクリーン解像度を用いて疑似中間調処理を実施することは無い。例えば、通常のスクリーン解像度(線数)は133線〜175線、高くとも268線程度である。これ以上高い線数の場合、電子写真プリンタの特性で安定した画質が得られない為である。その結果、前述したパターンマッチングによるスムージングではジャギーの改善ができないという問題があった。
一方、マクロに見た文字の一部を示す図21から明らかなように、問題にしているジャギー部が、ハーフトーン画像に対してスクリーン処理を施した画像のエッジ部に現われる場合がある。このように、上述したプリンタ解像度によるジャギーはもちろんのこと、スクリーン処理で発生する低線数のジャギーも問題となる。
さらに、JPEGのような非可逆な圧縮をかけた画像に対してスムージング処理を施そうとした場合には、圧縮による劣化で発生したモスキートノイズ(非可逆圧縮の圧縮率を高くして、ファイル容量を小さくしたとき、高域成分を含んだ映像やエッジ部分に発生するノイズ。蚊の群れがエッジ部分にまとわりついているように見えることから、画像処理技術分野においてモスキートノイズとして一般的に用いられている表現である)によって、パターンマッチング処理によってマッチすべき画像とパターンとが合致しないため、スムージング処理が実行されないといった課題もある。この場合は当然ながら、十分なスムージング効果が得られない。
逆に、上述のようなジャギーを改善するために行うドットを付加する処理を、例えば3ポイント以下の小文字や、1ドットや2ドットの細線に対して施すと、その弊害もあった。例えば、小文字が潰れたり、斜め細線のジャギー部にコブのような塊ができたりして見える現象である。
上記問題を解決する為の技術として、特許文献2があげられるが、特許文献2は多値画像から誤差拡散処理などによって変換された2値画像のジャギー改善を対象としているため、多値画像に対しては十分な効果が得られない。さらに、誤差拡散処理系の画像を対象としているため、様々な画像形成処理に対しての対応が難しいことが指摘されている。
特開平4−341060号 特開平10−42141号
本発明は、上記従来の問題点に鑑み、多値画像で誤差拡散処理系の画像でない種々の擬似中間調処理をした処理画像に対してジャギーを改善すると共に、ジャギー改善処理による弊害である、小文字が潰れたり、斜め細線のジャギー部にコブのような塊ができたりする現象を無くした画像処理方法及びその装置を提供する。
そこで、本発明では、以下の構成により前記課題を解決した。具体的には、以下の構成を備える。
本発明の画像処理装置は、多値画像データと、前記多値画像データを擬似中間調処理した処理画像データと、前記多値画像データの属性データとを入力し、前記処理画像データの輪郭部を補正して出力する画像処理回路を有する画像処理装置であって、前記画像処理回路が、前記多値画像データの注目画素の画像データと該画像データの属性を示す属性データに基づき、前記処理画像データの輪郭部画素の補正を行うか否かを制御する制御手段と、前記制御手段の制御に基づき、前記処理画像データの輪郭部の補正を行う輪郭部補正手段とを有し、前記属性データは、前記多値画像データの注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御手段は、該オブジェクトのサイズを考慮して前記処理画像データの輪郭部画素の補正を行うか否かを制御することを特徴とする。
ここで、前記属性データは、前記多値画像データの注目画素が細い、あるいは小さなオブジェクトに含まれることを表すデータを含む。また、前記属性データは、前記多値画像データの注目画素が線、グラフィック、文字のいずれかのオブジェクトに含まれることを表すデータを含む。また、前記制御手段は、前記多値画像データの注目画素の画像データと該画像データの属性を示す属性データとに基づき生成された輪郭検出用データに対応して、前記輪郭部補正手段により輪郭部画素の補正を行うか否かを制御する。また、前記輪郭部補正手段は、第1状態の前記輪郭検出用データの画素配置に基づいて輪郭部を検出して補正する第1輪郭部補正手段と、前記第1状態とは異なる第2状態の前記輪郭検出用データの画素配置に基づいて輪郭部を検出して補正する第2輪郭部補正手段とを含み、前記制御手段は、前記輪郭検出用データが第1状態の場合に前記第1輪郭部補正手段を選択し、前記輪郭検出用データが第2状態の場合に前記第2輪郭部補正手段を選択する。また、前記属性データが前記多値画像データの注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御手段は、前記輪郭部補正手段による輪郭部の補正を回避させる。また、前記制御手段は、前記輪郭部補正手段による輪郭部の検出を回避させる。
又、本発明の画像処理回路は、多値画像データと、前記多値画像データを擬似中間調処理した処理画像データと、前記多値画像データの属性データとを入力し、前記処理画像データの輪郭部を補正してスムージング処理する画像処理回路であって、前記多値画像データの注目画素の画像データと該画像データの属性を示す属性データに基づき、前記処理画像データの輪郭部画素の補正を行うか否かを制御する制御手段と、前記制御手段の制御に基づき、前記処理画像データの輪郭部の補正を行う輪郭部補正手段とを有し、前記属性データは、前記多値画像データの注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御手段は、該オブジェクトのサイズを考慮して前記処理画像データの輪郭部画素の補正を行うか否かを制御することを特徴とする。ここで、前記属性データが前記の多値画像データの注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御手段は、前記輪郭部補正手段による輪郭部の補正を回避させる。
又、本発明の画像処理方法は、多値画像データと、前記多値画像データを擬似中間調処理した処理画像データと、前記多値画像データの属性データとを入力し、前記処理画像データの輪郭部を補正してスムージング処理する画像処理方法であって、前記多値画像データの注目画素の画像データと該画像データの属性を示す属性データに基づき、前記処理画像データの輪郭部画素の補正を行うか否かを制御する制御工程と、前記制御工程での制御に基づき、前記処理画像データの輪郭部の補正を行う輪郭部補正工程とを有し、前記属性データは、前記多値画像データの注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御工程では、該オブジェクトのサイズを考慮して前記処理画像データの輪郭部画素の補正を行うか否かを制御することを特徴とする。ここで、前記属性データが前記多値画像データの注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記輪郭部の補正を回避させる。
又、本発明の画像処理プログラムは、多値画像データと、前記多値画像データを擬似中間調処理した処理画像データと、前記多値画像データの属性データとを入力し、前記処理画像データの輪郭部を補正してスムージング処理を含む画像処理を実行する画像処理プログラムであって、前記多値画像データの注目画素の画像データと該画像データの属性を示す属性データに基づき、前記処理画像データの輪郭部画素の補正を行うか否かを制御する制御モジュールと、前記制御モジュールの制御に基づき、前記処理画像データの輪郭部の補正を行う輪郭部補正モジュールとを有し、前記属性データは、前記多値画像データの注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御モジュールでは、該オブジェクトのサイズを考慮して前記処理画像データの輪郭部画素の補正を行うか否かを制御するよう、コンピュータに実行させる。ここで、前記属性データが前記多値画像データの注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御モジュールは、前記輪郭部補正モジュールによる輪郭部の補正を回避させる。
又、本発明の記憶媒体は、多値画像データと、前記多値画像データを擬似中間調処理した処理画像データと、前記多値画像データの属性データとを入力し、前記処理画像データの輪郭部を補正してスムージング処理を含む画像処理を実行する画像処理プログラムを記憶したコンピュータ読み取り可能記憶媒体であって、前記画像処理プログラムが、前記多値画像データの注目画素の画像データと該画像データの属性を示す属性データに基づき、前記処理画像データの輪郭部画素の補正を行うか否かを制御する制御モジュールと、前記制御モジュールの制御に基づき、前記処理画像データの輪郭部の補正を行う輪郭部補正モジュールとを有し、前記属性データは、前記多値画像データの注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、前記制御モジュールでは、該オブジェクトのサイズを考慮して前記処理画像データの輪郭部画素の補正を行うか否かを制御するよう、コンピュータに実行させるための画像処理プログラムであることを特徴とする。ここで、前記属性データが前記多値画像データの注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御モジュールは、前記輪郭部補正モジュールによる輪郭部の補正を回避させる。
本発明によれば、プリンタの解像度に依存して発生するジャギーはもちろんのこと、擬似中間調処理により発生するジャギーをも改善することが可能となった。このような疑似中間調処理によるジャギーは、プリンタの解像度より遥かに低い解像度で発生するため、ハーフトーン文字やラインで顕著に目立っていたが、これを改善することが可能となった。その際、従来は、例えば3ポイント以下の小文字や、1ドットや2ドットの細線において、例えば、小文字が潰れたり、斜め細線のジャギー部にコブのような塊ができたりして見えるという弊害があったが、それを改善することも可能となった。
さらに、本発明を用いると、スキャナで読み込んだイメージ画像をビットマップデータからアウトラインデータに変換した、所謂ベクトル化したものにも対応可能である。
以下、本発明にかかる一実施形態を、図面を参照しながら説明する。ここでは、好ましい実施形態として、電子写真技術を用いたスキャナ付きの複合機で説明するが、本発明が対象としている画像データは、ベクトル情報をあらわす画像信号である。ベクトル情報をあらわす画像信号とは、PCのようなもので送られてくるPDL(Page Description Language)データやPDLを解釈することで生成されるプリミティブな中間データは言うまでもなく、スキャナで読み取った画像信号をベクトル化したものなども含まれている。これらのベクトル情報は、テキストやグラフィックなどの各種オブジェクトを示すためのデータであり、最終的にビットマップデータに変換されるものである。又、以下の実施形態では、特に電子写真プロセスの複写機やプリンタなどを対象としているが、インクジェットやディスプレイのような他のプロセスを用いた機器でも応用可能である。
<本実施形態の複写機全体の構成例>
図2は、本実施形態で用いた複合機の機械的構成を示す概略断面図である。
図2に示したように、機械的構成としてカラースキャナ部Aとプリンタ部Bとからなる。
カラースキャナ部Aにおいて、原稿給送装置201Aは、原稿を最終頁から順に1枚ずつプラテンガラス202A上へ給送する。そして、原稿の読み取り動作終了後、プラテンガラス202A上の原稿を排出するものである。原稿がプラテンガラス202A上に搬送されると、ランプ203Aを点灯し、このランプ203Aを搭載したスキャナユニット204Aの移動をおこない原稿を露光走査する。この走査による原稿からの反射光は、ミラー205A,206A,207Aおよびレンズ208AによってCCDカラーイメージセンサ(以下、単に「CCD」という)209Aへ導かれる。そして、CCD209Aに入射した反射光は、R,G,Bの3色に色分解され色毎の輝度信号として読み取られる。さらに、CCD209Aから出力される輝度信号はA−D変換によってデジタル信号の画像データとして画像処理部(304;図3参照)に入力し、シェーディング補正、階調補正、量子化(N値化)、スムージング処理などの周知の画像処理が施された後、プリンタ部B(305)へ転送される。
プリンタ部Bにおいて、レーザドライバ221Bは、レーザ発光部201Bを駆動するものであり、画像処理部304から出力された色毎の画像データに応じたレーザ光をレーザ発光部201Bによって発光させる。このレーザ光は感光ドラム202Bに照射され、感光ドラム202Bにはレーザ光に応じた潜像が形成される。そして、この感光ドラム202Bの潜像の部分には現像器203Bによって現像剤であるトナーが付着される。なお、図2では、現像器は、図示の簡略化のため、唯一つのみが示されるが、C,M,Y,Kの色毎にトナーが用意され、それに応じて4つの現像器が設けられることは、勿論である。また、以上の構成の代わりに感光ドラムや現像器等を色毎に4組設ける構成であってもよい。
上述のレーザ光の照射開始と同期したタイミングで、カセット204Bまたはカセット205Bの選択されたいずれかから記録紙が給紙され、転写部206Bへ搬送される。これにより、感光ドラム202Bに付着した現像剤を記録紙に転写することができる。現像剤が転写された記録紙は、定着部207Bに搬送され、定着部207Bの熱と圧力により現像剤の記録紙への定着が行われる。そして、定着部207Bを通過した記録紙は排出ローラ208Bによって排出され、ソータ220Bはこの排出された記録紙をそれぞれ所定のビンに収納して記録紙の仕分けを行う。
なお、ソータ220Bは、仕分けが設定されていない場合は、最上位のビンに記録紙を収納する。また、両面記録が設定されている場合は、排出ローラ208Bのところまで記録紙を搬送した後、排出ローラ208Bの回転方向を逆転させ、フラッパ209Bによって再給紙搬送路へ導く。多重記録が設定されている場合は、記録紙を排出ローラ208Bまで搬送しないようにフラッパ209Bによって再給紙搬送路210Bへ導く。再給紙搬送路へ導かれた記録紙は上述したタイミングで転写部206Bへ給紙される。なお、色毎の潜像および現像の処理や定着は、上述の記録紙搬送機構を用いて、潜像形成等を4回分繰り返すことによって実現することは周知の通りである。
314はネットワークケーブルであり、一般的にイーサネット(登録商標)と呼ばれるシステムである。これは、10BaseTや10Base5などの物理的なケーブルを用いてTCP/IPなどのプロトコルにより、接続される各ユニット相互の情報授受やデータの転送を行うことができる。無論、ネットワークケーブルを用いた有線に限定されたものではなく、無線を用いても同様な環境構築ができることは言うまでもない。このようなネットワークケーブルを介し、PC上からPDLデータやディスプレイリストなどのPDLデータに基づいて生成される中間データ、または画像bitmap信号を受信し、前述したプリンタで出力することも可能な構成となっている。本実施形態では、このPDL信号や中間データに対して本発明の処理を施すことを目的としている。
<本実施形態の複合機の制御部の構成例>
次に、図2で説明した複写機の電気的な制御部の構成例を、図1のブロック図を用いて説明する。
画像読み取り部309は、レンズ301、CCDセンサ302、アナログ信号処理部303等により構成され、レンズ301を介してCCDセンサ302に結像された原稿画像300が、CCDセンサ302によりアナログ電気信号に変換される。変換された画像情報は、アナログ信号処理部303に入力され、サンプル&ホールド、ダークレベルの補正等が行われた後にアナログ/デジタル変換(A/D変換)される。
このようにして変換されたデジタル信号は、図3に内部構成を示す画像処理部304において、シェーディング補正部1601、色補正処理部1603、フィルタ処理部1604、γ補正部1602、ビデオカウント処理部1606、画像形成処理部401、スムージング処理部1605などで処理がおこなわれた後、プリンタ305へ出力される。これらの処理のうち、シェーディング補正部1601、色補正処理部1603、フィルタ処理部1604、γ補正部1602の構成及びこれらの処理部で実行される内容については、本発明の本質に直接的に関与しないため、説明を省略する。
また、図1のネットワークケーブル314を通して、ホストコンピュータなどから送信されたPDLデータは、プリンタに設けられたインタフェースとしてのネットワーク信号受信部315で受信される。このネットワーク信号受信部315には、受信したPDLデータを解釈して、画像を示す画素単位のビットマップデータを生成するラスタライズ部(不図示)が含まれている。
また、PDLデータはテキスト、グラフィック、イメージ等といったオブジェクト毎にその属性を示すデータを保持している。ラスタライズ部では、この属性データを利用して、画像データの生成とともに、各画素の像域信号atrも生成する。像域信号atrについては後に詳細に説明する。
そして、ラスタライズ部で生成された画像データは、画像読み取り部309から入力されたデータと同様に、画像処理部304に入力され、矢印で示したように、フィルタ処理部1604に入力され、必要な画像処理が実行される。また、像域信号はスムージング処理部1605に入力される。カラー画像データの場合、CMYKの色毎の濃度データが生成され、色毎のデータ夫々に対して後段の処理が実行される。
なお、ラスタライズ部はネットワーク信号受信部315の外部に設けられるものであってもよい。
画像形成処理部401では、通常スクリーン処理或いはディザ処理とよばれる処理が行われる。これらの処理については、本発明の本質に直接関係しないため詳細な説明は省略する。なお、本実施例では、画像形成処理部401に入力された色毎の8ビット画像信号を4ビット画像信号に変換したものをInDataSとしてスムージング処理部1605に出力している。
一方、上記のビデオカウント処理部1606では、トナーの消費量を測定するための処理がおこなわれる。これは、プリンタへ出力される信号値より、トナー消費量を計算するためのものである。これによって、トナーの残量をユーザに操作部313を介して知らせる構成となっている。処理の詳細については、周知なものであるため、説明を略する。
尚、ネットワーク信号受信部315からの信号が色補正処理部1603の後ろに接続されているが、これは、ネットワークを介して受信した信号がCMYKの濃度データであることを想定している為である。もし、受信した信号がRGBの輝度信号であった場合は、不図示だが色補正処理部1603の前に接続されるようになることは言うまでもない。また、正確にはネットワークを介して受信した信号はCPU回路部310を介しているのだが、ここでは、簡略化して図3のように直接画像処理部304に接続しているように示してある。
図1の説明に戻ると、プリンタ305は、レーザ等からなる露光制御部(図示せず)、画像形成部(図示せず)、転写紙の搬送制御部(図示せず)等により構成され、入力された画像信号を転写紙上に記録する。また、CPU回路部310は、CPU306、ROM307、RAM308等により構成され、画像読み取り部309、画像処理部304、プリンタ部305、操作部313等や、本装置のシーケンスを統括的に制御する。操作部313には、RAM311、ROM312が予め用意されており、UI(ユーザインタフェース)上に文字を表示したり、ユーザが設定した情報を記憶したり、表示したりすることが可能な構成となっている。ユーザによって操作部313で設定された情報は、CPU回路部310を介して、画像読み取り部309、画像処理部304、プリンタ305などに送られる構成となっている。
以上説明した構成の中で、本実施形態の特徴ある構成要素は、画像処理部304に含まれている。以下、画像処理部304内のスムージング処理部1605について詳細に説明をおこなう。
尚、以下の各構成要素については、ソフトウエアで実現したものとし、C言語で作成されたプログラムで示すが、これらは等価な機能をハードウエアやファームウエアで構築してもよい。つまり、各構成要素それぞれまたはいくつかの構成要素がASICなどの専用ハードウエアを用いて構成されていても、ソフトウエアによって得られる効果と同様の効果を得ることができる。
<本実施形態のスムージング処理の構成例>
図4に、本実施形態のスムージング処理1605の構成例を示す。
図4には、1色の処理しか示していないが、図3に示したようにスムージング処理部1605には4色分のデータが入力される。つまり、図4は、CMYK各色を独立に処理する構成となっている。これらの処理は色によらず基本的に同一なものであるため、本実施形態では説明を簡略化することを目的に、その内の1色だけを示したものとした。それでは、順に各ブロックを説明する。
まず、スムージング処理部1605の全体には、8bitの画像データImageData(InData')と、8bitの像域信号atrとが入力される。この画像データは、図3に示したように、γ補正部1602での処理などが施されたものである。像域信号は、画像の種類(文字、小文字、線、細線、イメージ、グラフィックなど)をあらわすためにラスタライズ部で生成されたビット値である。なお、像域信号atrは8bitに限定したものではない。これは、画像データImageDataの各画素に関連付けられている。
以下、スムージング処理部1605で実行される処理を順に説明する。なお、以下の説明はCPU306がC言語プログラム501を実行させることで行われる。もちろん、ハードウエアによって実行するものであってもよい。尚、以下の図面で注目画素及び参照画素を示した図において、太枠で囲まれた画素が注目画素、中太枠で囲まれた画素が各処理における参照画素、細枠の画素は非参照画素を示す。かかる参照画素領域はその一例であって、本実施形態はこれに限定されない。
(1.ビット変換部402)
ビット変換部402は、8ビット画像データであるImageData(InData')を3bit画像データへ変換(所謂、量子化)する処理を行う。この処理の詳細を、図5にC言語プログラム501の例で示した。
図5において、"InData_K[yy][xx]"502で示されるのがInData'として入力される8bitデータ(0〜11111111=255)であり、"InData_K[yy][xx]"503で示されるのが出力される3bitデータ(0〜111=7)である。図4では、ビット変換部402でから出力される3bitデータをInDataとして記載している。
また、C言語プログラム501の"params−>"で記されたものが、パラメータを表している。本実施例では、"params−>SevenConversionK7〜K1"までの7種類のパラメータが設定されている。具体的に、パラメータには、8bitのデータが各々に設定されており、例えば、値はそれぞれ"224,192,160,128,96,64,32"である。この構成により、8bitの入力データは32の等間隔で3bitに変換される。例えば、InData'≧224ならば3bitデータ=7が出力され、InData'<32ならば3bitデータ=0が出力される。なお、パラメータは上記例のように等間隔に限定されず、どの濃度レベルを詳細に制御するかにより任意に変更されるものである。
ビット変換部402では、このようなパラメータ値と各if文で大小を比較し、3bit画像データ(InData)を出力する構成となっている。上述した処理により、3bitに変換された画像データは、ビット変換部402から出力され、制御信号生成部403に入力される構成となっている。
(2.制御信号生成部403)
制御信号生成部403は、スムージング処理を施す画像を識別するための識別信号とエッジ信号生成用の画像データとを生成している。この識別信号OutDataZ(=out)は1bitであり、詳細は図6のC言語プログラム601に示したとおりである。
具体的には、図6のif文602を実行することにより、像域信号atrに応じて内部信号として生成される。内部信号とは、小文字・細線を表す要素"thin"と、グラフィックを表す要素"graphic"と、ラインを表す要素"line"と、フォントを表す要素"font"の4つ(4bit)から構成される信号である。これらの信号は、画像データを構成する各画素が上記の各要素のいずれかに対応する場合、"1"になり、ない場合に"0"になる。つまり、lineを構成する画素の場合、ラインを表すビットが1となる。
また、小文字・細線の識別信号"thin"に関しては、細線や小文字の場合にthinが"0"になり、それ以外が"1"になる構成となっている。従って、"graphic(グラフィック)"、"line(線)"、"font(文字)"は排他的に1となるが、"thin"は"graphic(グラフィック)"、"line(線)"、"font(文字)"と重複してよい。これら内部信号は、すべて上述した不図示のラスタライズ部から送られてくる0x02や0x04などの像域信号に応じて生成されるものである。
具体的には、本実施例では、
atr=0x02(00000010) : "image(ビットマップ)"
atr=0x04(00000100) : "graphic(グラフィック)"
atr=0x08(00001000) : "line(線)"
atr=0x10(00010000) : "font(文字)"
atr=0x20(00100000) : "thin-graphic(細いグラフィック)"
atr=0x40(01000000) : "thin-line(細線)"
atr=0x80(10000000) : "thin-font(小文字)"
尚、atr=0x20の細いグラフィックとは、矩形で囲んだ図形が細長い場合などを想定している。これらatr信号は、PDLが送信してくる像域信号であり、PDL側でこれら属性を識別している構成となっている。
ところで、ここでは、細線や小文字を区別する属性信号の組み合わせを
0x40(01000000)
0x80(10000000)
のように定義していたが、このような組み合わせではなく、任意のビットに"細い〜"や"小さい〜"のような意味合いのフラグを定義しても実現可能なことは言うまでもない。
例えば、LSBにそのフラグを定義した場合、以下のようになる。
atr=0x02(00000010) : "image(ビットマップ)"
atr=0x04(00000100) : "graphic(グラフィック)"
atr=0x08(00001000) : "line(線)"
atr=0x10(00010000) : "font(文字)"
atr=0x84(10000100) : "thin-graphic(細いグラフィック)"
atr=0x88(10001000) : "thin-line(細線)"
atr=0x90(10010000) : "thin-font(小文字)"
このように、図6に示した像域信号は、本実施例を説明するためのほんの1例でしかなく、この像域信号値に限定されたものではないことは言うまでもない。
次に、if文603も本実施形態の特徴部分であり、これは、ビット変換部402から出力される入力画像信号(InData:3bit)値と内部信号であるオブジェクト信号とに応じて、制御信号(OutDataZ=out)を生成している箇所である。ここでは、、"graphic(グラフィック)"、"line(線)"、"font(文字)"が条件であり、"thin"であるか否かは無関係である。入力画像信号(InData:3bit)値と比較されるreg_Zcheck3[0]〜reg_Zcheck3[2]は、レジスタ値であり、各オブジェクト毎に制御信号(OutDataZ=out)の生成初期濃度を設定できるようになっている。これらレジスタ値の設定により、所定濃度以上の線だけに輪郭部補正処理をかけたり、所定濃度以上の文字だけに輪郭部補正処理をかけたりすることがコントロール可能となる。例えば、オブジェクト信号が"font"を示している場合には、入力画像信号(InData:3bit)値≧reg_Zcheck3[0]が判定されて、YESの場合は制御信号(OutDataZ=out)に1が出力され、画像信号生成部404で輪郭部補正処理をかけるか否かの判断に使用される。ところで、入力画像信号(InData)は3ビットであるため、これらレジスタも3ビットとなっている。
最後に、if文604は、細線・小文字には、輪郭部補正処理をかけないようにする切り替え手段である。これも本実施形態の特徴部分であり、レジスタThinJudgeにより、どのオブジェクトをコントロールするのかを細かく指定できるようになっている。
例えば、レジスタThinJudg=1の場合は"graphic"のコントロールである。レジスタThinJudg=1の場合、"graphic"=1で且つ"thin"=1であれば、制御信号(OutDataZ=out)に1が出力され、さらに、輪郭部補正処理を施す箇所の入力データ(InData)は、レジスタreg_Zcheckの値に変更される。
if文603との関連でif文604の処理を表現すると、各オブジェクトで所定濃度以上でなかった場合であっても、レジスタThinJudgにより指定されれば、"thin"=1(細い・小さい)を判定して、制御信号(OutDataZ=out)に1を出力してInDataはレジスタreg_Zcheckの値に変更する。このreg_Zcheckの値は、後述の図11の所定値画素カウント1003でカウントされて、"edge"信号をリセットするのに使用される。
これは、前述したif文603で任意の濃度指定をおこなった場合、グラデーションなどのなだらかに階調が変化するオブジェクトにおいて、輪郭部補正処理をかけたための弊害が発生しないようにする為である。弊害回避処理は、以下の1003,1004,1403,1404などに示した。これら処理の詳細は後述するが、以下に本制御信号生成部403との関連の概略を示す。
図6のC言語プログラムでは、まず、if文602で文字やグラフィックなどのオブジェクト判定をおこなっている。次に、if文603で任意の濃度以上のオブジェクトのみ、本スムージング処理を施すための信号(out)を生成している。ただ、ここで問題(弊害)となるのが、幅が1画素の細線や、1〜2ポイント程度の小文字であり、このようなオブジェクトに本スムージング処理を施すと、細線のジャギー部(ガタツイた部分)が、電子写真プリンターの特性に関係した微妙な濃度バランスで、コブのようにガタガタするケースがある。又、文字に関しては、ガタガタしないまでも、潰れぎみになったりする。
そこでこれら問題を解決するために、PDL(ネットワークの先のPC)から、細線(小文字)フラグを像域信号として得ており、それが、if文604の"thin"である。このフラグ(thin)があるオブジェクトは、inData(入力画像信号)を任意のレジスタ(reg_Zcheck)で書き換えることで、後段の処理にその情報を伝えている。後段の処理とは、図11の1003や図15の1403などである。この箇所で、先ほど書き換えたレジスタ(reg_Zcheck)をカウントし、このカウント値が任意の閾値(params−>thre_B)を超えたときに、本スムージング処理を施さないためのフラグ(edge=0)を生成する。
以上のように、本制御信号生成部403では、画像形成処理部401でスクリーン処理などの擬似中間調処理を行っていない8bitの画像データから変換された3bitの画像データと、オブジェクトに対応する1bitの制御信号(OutDataZ=out)との組み合わせを生成して、そのデータに基づいて次段の画像信号生成部404でのスムージング処理を実現するような工夫がなされている。
(3.画像信号生成部404)
次に、画像信号生成部404について、図7を用いて説明するが、詳細な処理を説明する前に、まず概要を説明する。
画像信号生成部の特徴は、OutDataZ信号から非スムージング処理部を検出し、すべてのInData信号にスムージング処理を施した信号と未スムージング処理信号(InDataS)とを切り替えて出力することである。
つまり、通常のスムージング処理のように、スムージング処理部を検出するのではなく、非スムージング処理部を検出することで、スムージング処理がかからないパターンがあった問題を改善している。要するに、基本がすべての画素にスムージング処理を施す構成になっている為、従来の問題が改善できた。
さらに、パターンマッチング処理ではなく、注目画素近傍の画素を領域分割し、領域毎の画素カウント値に応じて、非スムージング処理部を検出することで、処理の簡易化・高精度化をおこなっている。
ところで、非スムージング処理部を検出する信号に像域信号(OutDataZ)を使用していることも特徴としている。これにより、オブジェクト(文字・グラフィック・写真など)毎に処理を切り替えることを可能としている。
以下、本処理の詳細をブロックごとに説明する。
入力される信号は、前述した制御信号生成部403から出力される1bitの制御信号"OutDataZ"と3bit画像信号"InData"、画像形成処理部401から出力される画像形成処理後の4bit信号"InDataS"である。画像信号生成部404では、上記入力される信号に基づいて、注目画素の制御信号(DataZ=OutDataZ)によるセレクタ707の選択で、制御信号が1のときは第1画像信号補正部705の出力を選択し、0のときは第2画像信号補正部706の出力を選択して、好適にスムージングされた、あるいはスムージング処理を回避した4bitの画像データOutputDataが出力される。
ここで、第1画像信号補正部705は0の制御信号(DataZ=OutDataZ)の配置に注目して、第2画像信号補正部706は1の制御信号(DataZ=OutDataZ)の配置に注目して補正あるいは弊害回避処理を行う。
以下、各処理の詳細について順に説明する。
(3−1.FiFoメモリ701〜703)
これらの信号は、後述する処理でエリア処理(例えば、図11や図15で7×7や15×7のエリアの"OutDataZ"や"InData"の同時参照処理)をおこなうため、FiFoメモリが数ライン分用意されている。ライン数の詳細は、FiFoメモリ701の6ライン、FiFoメモリ702の6ライン、FiFoメモリ703の3ラインであり、1bitの制御信号"OutDataZ"は一度に7ラインのエリアが、3bit画像信号"InData"も一度に7ラインのエリアが、画像形成処理後の4bit信号"InDataS"は一度に4ラインのエリアが、以降の第1及び第2画像信号補正部で参照できる。これらの信号を用いて、後述する処理を施した後、4bit信号"OutputData"が出力される構成となっている。
(3−2.乱数生成部704)
まず、図7における乱数生成部704の詳細を、図8にC言語プログラム801で示した。
図8において、関数802と関数803の2つの関数があるが、関数802は初期化用であり、はじめに1度しか実行されない。それに対し、関数803は画素毎に繰り返し処理されるものである。具体的には、まずはじめに初期化として、関数802において0〜25の26個の1bitレジスタ"p[ii](ii=0〜25)"に0が設定された後、"p[2],p[4],p[8],p[16]"の箇所のみ、1bitのパラメータ値"params−>rd1,rd2,rd3,rd4"が設定される処理となっている。そして、画素毎に関数803の演算を繰り返して乱数rd(out)を生成する処理となっている。
関数803の演算とは、"p[0]=( (p[25]^p[24]^p[23]^p[22]) & 1)"でp[25]〜p[22]の排他的論理和(XOR)演算をおこない、p[0]に結果を代入する。そして、for文で各データをシフトし、p[17]の1bit信号を乱数値rd(out)として出力するものである。このようにして求められた1bitの乱数値rd(out)は、図7に示した第1画像信号補正部705と第1画像信号補正部706とに出力される構成となっている。
(3−3.第1画像信号補正部705)
以下、第1画像信号補正部705について、図9を用いて説明する。
ここでは、図9に示したように、前述した輪郭部補正処理をかけるか否かの判断に使用される1bitの制御信号"OutDataZ"、制御信号生成部403でレジスタreg_Zcheckの値への変更などの処理を含む3bitの"InData"、画像形成処理部410で例えばスクリーン処理された"InDataS"、乱数発生部704からの乱数"rd"が入力され、補正信号として4bitの"OUTData_0"が出力される構成となっている。
内部の処理は、大きく分けて3つであり、第1補正部用第2エッジ検出手段101と第1補正部用第1エッジ検出手段102、そして、第1補正部用画像出力切り替え手段103である。
(3−3−1.第1補正部用第2エッジ検出手段101)
第1補正部用第2エッジ検出手段101の詳細は、図10のC言語プログラム901で示したとおりである。
図10に示したように第1補正部用第2エッジ検出手段101の処理は、大きく分けて、1bitの制御信号"OutDataZ"が0である画素数をカウントする水平カウント処理902と垂直カウント処理904との2つに分かれている。水平カウント処理902の方は、注目画素の上又は下画素が0である場合の、水平方向に注目画素左右の3画素を含む7画素中の0をカウントする処理となっている。その様子を903に示した。一方、垂直カウント処理904の方は、注目画素の左又は右画素が0である場合の、垂直方向に注目画素上下の3画素を含む7画素中の0をカウントする処理となっている。その様子を905に示した。
共に前述した1bitの制御信号が0の画素数のカウントからエッジを検出しようとする処理であるが、いずれも、ラプラシアンのようなフィルタ処理ではなく、画素数をカウントすることで水平方向と垂直方向とのエッジを検出していることを特徴としている。具体的な処理については、前述した水平カウント処理902と垂直カウント処理904に示したとおりである。このような処理によって求めたカウント結果を、注目画素における3bitのfg_xとfg_yとして出力する構成になっている。
すなわち、出力される3bitのfg_xとfg_yは、注目画素を含む水平・垂直方向の7画素中の、1bitの制御信号"OutDataZ"が0(図6の制御信号生成部403によれば、各オブジェクトで所定濃度未満であり、且つ"thin=1"の場合の回避処理が無い場合)である画素数である。
(3−3−2.第1補正部用第1エッジ検出手段102)
次に、もう1つのエッジ検出手段である第1補正部用第1エッジ検出手段102について説明する。処理の詳細を図11にC言語プログラム1001で示した。本処理は、大きく分けて3段階の処理になっている。最初の0制御信号検出1002で、注目画素を含む7×7のエリアで全ての1bitの制御信号"OutDataZ"が1でなければ"edge"を1とするが、第2及び第3段階では、15×7のエリアで、図6のif文604での"thin"判断で置き換えられた"reg_Zchech"の画素数に基づいて"edge"を0に変える。
まず、0制御信号検出1002では、1005に示したようにパラメータ"EdgeSizeB"の領域内に0の制御信号があるかどうか検出する。その結果がedge信号であり、0の制御信号が1つでもあれば"edge"を1とする。
次に、所定値画素カウント1003では、1006に示したように15x7の領域内にパラメータ"reg_Zcheck"と同じ値が何画素あるかをカウントする。そのカウント結果が、fg信号である。
そして、最後にedge信号リセット1004では、前述したfgのカウント値が閾値パラメータ"thre_B"以上の場合は、前述したedge信号を0にし、それ以外は、そのままedge信号を出力する構成となっている。
ここでの特徴は、前述したようにラプラシアンのようなフィルタを用いずにエッジ処理をおこなっていること、そして、パラメータ"reg_Zcheck"と同じ値がエリア内に存在するかをチェックし、同じ値が所定の数あった場合のみ、前述したedgeの情報をクリアすることである。
このedge情報をクリアする処理は、図6のif文603,604で説明した所定の濃度から輪郭部補正処理をおこなう弊害を回避するためのものである。ここでいう弊害とは、前にも説明したが、グラデーション部の途中濃度で、オブジェクトの中に輪郭部補正処理がかかってしまわないようにする為のものである。つまり、通常、本処理は、オブジェクトの輪郭のみに施すことを目的としており、それ以外の箇所に処理をかけない為である。
以上説明した処理により、1bitのエッジ信号が生成され"EdgeC"が出力される構成となっている。
(3−3−3.第1補正部用画像出力切り替え処理手段103)
つづいて、第1補正部用画像出力切り替え手段103について説明する。処理の詳細を、図12にC言語プログラム1101で示した。
本処理には、図12に示したように、前述した第1補正部用第2エッジ検出手段101から出力される"fg_x","fg_y"、第1補正部用第1エッジ検出手段102から出力される"EdgeC"、制御信号生成部403からの"InData"、画像形成処理部401からのスクリーンデータ"InDataS"、乱数生成部704からの乱数"rd"などが入力され、後述する処理を施した後、4bitの"OUTDATA_0"が出力される構成となっている。処理の詳細だが、大きくわけて、出力制御処理1102、出力制御処理1103、出力制御処理1104の3つに分かれている。以下、順に説明していく。
まず、出力制御処理1102では、
((fg_x>=(params−>seriateBKx) ) || (fg_y<=(params−>seriateBKy))) && edge!=0 ...(1)
のチェックをおこなう。params−>seriateBKxとparams−>seriateBKyは、3bitのパラメータである。
具体的には、第1補正部用第2エッジ検出手段101で注目画素に対して求めたfg_x、もしくは、fg_yが、上記パラメータ以上であるかどうかをチェックし、上記パラメータ以上ならば、さらに、第1補正部用第1エッジ検出手段102で注目画素に対して求めたedge信号が0以外かをチェックしている。このedge信号とは、前述したEdgeCと等価なものである。ここで、edge信号が0以外ということは、図11で説明したように所定の7×7のエリア内に0のデータが幾つか存在し、15×7のエリア内で"reg_Zcheck"と同じ値が所定数未満であるということを意味している。
要するに、注目画素のedge信号が0以外であった場合に、(1)の比較文を満足することは、注目画素が水平・垂直方向に所定の数以上のedge信号0が続くエッジ部にあることを示している。言い換えると、注目画素を含むエッジ部は水平・垂直以外のエッジ部であることを指し示している。
このようなエッジに対し、1105に示した範囲内の演算をおこなっている。この演算とは、パラメータ" params−>mask2"と注目画素を含む水平・垂直方向の7画素の3bitの入力データ"InData(Data)"との積和演算(Sum+=)である。尚、この積和演算は図12に限定しないが、基本的にスムージングのようなデジタルフィルタ処理であり、ジャギーの発生するエッジ部にハーフトーンデータを出力するためのデータ作成がおこなわれる構成となっている。
ここで作成された演算結果のデータは、最終的に4bitになるようにLUTIで示すようなルックアップテーブル(メモリ)によって、4bitに変換されて出力される。
次に、出力制御処理1103は、(1)の条件文にあてはまらないが、edge!=0---(2)の条件(注目画素に対応するedge信号が0以外)にあてはまる場合の処理をおこなっている。(2)の条件とは、要するに、水平・垂直方向のエッジであることを意味している。そのようなエッジに対しては、出力制御処理1103に示した処理を施している。
具体的には、注目画素のedge信号が0以外であった場合で、且つ注目画素の3bitのInData(Data[yy][xx])が0以外の場合に、{temp=(Data[yy][xx])+rd}のように3bitのInDataに乱数生成部704で生成した1bitの乱数を付加し、上記条件以外の場合は0を出力する(temp=0)処理である。尚、tempは最大7である。
Data(InData)は3bitにビット変換部1の402で変換されていた為、LUTEのようなテーブルを用いて4bitに変換して出力する必要がある。
尚、前述した乱数rdの加算は必須ではなく、加算しない場合(0を加算する場合)もあり得ることは言うまでもない。ただし、この乱数を加算すると、エッジ部の階調性が改善される効果はある。
最後に、出力制御処理1104は、前述した(1),(2)の条件にあてはまらなかった場合(すなわち、edge=0)の処理をおこなっている。つまり、エッジ以外の箇所である。そのような箇所に対しては、入力されたInDataSの値をそのまま出力する構成となっている。言い換えると、画像形成処理部401で擬似中間処理などの画像形成処理したデータをそのまま出力している。
以上、説明した輪郭部補正処理は、エッジ部を検出する処理のデータ(InDataやDataZ, reg_Zcheckなど)が、画像形成処理401の出力データ、つまり擬似中間調処理データとは異なることが、従来のスムージングとは異なる点である。その結果、スクリーンのような画像形成処理を施した画像に対しても、問題なくエッジ部にスムージング処理がかけられ、かつ、JPEGのような画像劣化がある画像に対しても、画像形成処理前のデータを3bit化して1bit信号を作成することで、問題なくスムージング処理がかけられる。さらに、本実施形態により、オブジェクト毎に、自由に輪郭部補正処理がコントロール可能となった。
(3−4.第2画像信号補正部706)
次に、図7に示した第2画像信号補正部706について、図13を用いて説明する。
図13に示した処理には、第1画像信号補正部705と同様に、前述した"OutDataZ","InData","InDataS","rd"が入力され、補正信号として4bitの"OUTData_1"が出力される構成となっている。入力される信号は、図9で説明したものと同じである。
内部の処理も、前述した図9と同様に3つに分かれており、第2補正部用第2エッジ検出手段1201と第2補正部用第1エッジ検出手段1202、そして、第2補正部用画像出力切り替え手段1203である。
(3−4−1.第2補正部用第2エッジ検出手段1201)
第2補正部用第2エッジ検出手段1201の詳細は、図14のC言語プログラム1301で示したとおりである。
図14に示したように、第2補正部用第2エッジ検出手段1201の処理は、大きく分けて、1bitの制御信号"OutDataZ"が1である画素数をカウントする水平カウント処理1302と垂直カウント処理1304との2つに分かれている。水平カウント処理1302の方は、注目画素の上又は下画素が0以外である場合の、水平方向に注目画素左右の3画素を含む7画素中の水平方向に0以外をカウントする処理となっている。その様子を1303に示した。一方、垂直カウント処理1304の方は、注目画素の左又は右画素が0以外である場合の、垂直方向に注目画素上下の3画素を含む7画素中の垂直方向に0以外をカウントする処理となっている。その様子を1305に示した。
共に前述した0以外である1bitの制御信号からエッジを検出する処理であるが、いずれも、前述した図9と同様、ラプラシアンのようなフィルタ処理ではなく、0以外の画素数をカウントすることで水平方向と垂直方向のエッジを検出している。ところで、fg_x1,fg_x2のように左右、或いは、fg_y1,fg_y2のように上下に分割してカウントし、左右、上下のいずれにも0以外である制御信号がある場合にはカウントを0としているところが、例えばif(fg_x1!=0&&fg_x2!=0){fg_x=0;}、前述した第1補正部用第2エッジ検出手段101と異なる。
以上、水平カウント処理1302と垂直カウント処理1304に示したような処理によって求めた0以外のカウント結果を、注目画素に対応し3bitのfg_xとfg_yとして出力する構成になっている。
(3−4−2.第2補正部用第1エッジ検出手段1202)
次に、もう1つのエッジ検出手段である第2補正部用第1エッジ検出手段1202について説明する。処理の詳細を図15にC言語プログラム1401で示した。本処理は、大きく分けて3段階の処理になっている。
まず、1制御信号検出処理1402に示した部分だが、1405に示したようにパラメータ"EdgeSizeW"の領域内に1の制御信号があるかどうか検出する。その結果が、edge信号である。
次に、所定値画素カウント1403に示した部分だが、1406に示したように15x7の領域内に、パラメータ"Zcheck"と同じ値が何画素あるかをカウントする。その結果が、fg信号である。
そして、最後にedge信号リセット1404では、前述したfgのカウント値がパラメータ"thre_W"以上の場合は、前述したedge信号を0にし、それ以外は、そのまま、edge信号を出力する構成となっている。
従来のスムージングと大きく異なる点は、前述したようにラプラシアンのようなフィルタを用いずにエッジ処理をおこなっていること、そして、パラメータ"Zcheck"と同じ値がエリア内に存在するかをチェックし、同じ値が任意の数あった場合のみ、前述したedgeの情報をクリアすることである。
これにより、得られる効果は、図11の説明でおこなったものと等価である。効果の内容については、繰り返しになるので、説明を略する。このような処理により、1bitのエッジ信号が生成され"EdgeC"が出力される構成となっている。
(3−4−3.第2補正部用画像出力切り替え手段1203)
つづいて、第2補正部用画像出力切り替え手段1203について説明する。処理の詳細を、図16にC言語プログラム1501で示した。
処理の基本は、前述した第1補正部用画像出力切り替え手段103と等価である為、詳細な説明は略する。ただし、fg_x,fg_y,EdgeC(edge)の信号の意味が異なる。これらの意味については前述したとおりであるが、まとめると、第1補正部用画像出力切り替え手段103へ入力されていたfg_x,fg_y,EdgeCは、制御信号(DataZ)が0の画素数をカウントした結果であった。一方、図16に示したfg_x,fg_y,EdgeCは、制御信号(DataZ)が1の画素数をカウントしている。その点が大きく異なる。その他については、基本的に等価である。
(3−5.セレクタ707)
以上説明してきた第1画像信号補正部705の出力"OUTData_1"と、第2画像信号補正部706の出力"OUTData_2"とが、図7に示したセレクタ707に入力され、4bitの最終出力信号"OutputData"が出力される構成となっている。
このセレクタ707は、注目画素位置のデータに応じて出力を切り替える処理をおこなっている。注目画素のデータとは、前述した制御信号(DataZ=OutDataZ)であり、この信号が1のときは、第1画像信号補正部705の出力を選択し、0のときは、第2画像信号補正部706の出力を選択する構成となっている。
<本実施形態の作用効果>
上記で説明した処理を施した結果が、スムージング処理結果としてプリンタ305に出力される構成となっている。
出力されたイメージを図17に示した。着目箇所は、エッジ部である。図17に示したようにスクリーンのパターンの間を埋めるようにデータが薄く出力されることを特徴としている。
不図示だが、さらに、JPEGのような非可逆な圧縮処理を施した画像に対しても、問題なくエッジ部の改善ができることも前述したとおりである。理由は、エッジ検出用の画像を作成する際、3ビットにビット変換し、さらに、その画像より1ビットの制御信号を作成しているため、圧縮による微妙な劣化情報を除去できる効果があるからである。
同様に不図示だが、本発明の特徴でもある小文字や線幅が1〜2ピクセル(任意)の細線に対してのみ、前述した処理をかけない制御も可能になる。
<その他の実施形態例>
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD-ROM,CD-R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
例えば、PC上のドライバでこれらの処理をおこなう場合が、これに相当することは言うまでもない。
本実施形態の制御システムのブロック構成の概略を示す図である。 本実施形態のシステムを構成する複写機の機械的構成の概略を示す図である。 本実施形態の画像処理信号のフローの概略を示すブロック図である。 本実施形態スムージング処理の概要を示すブロック図である。 図4のビット変換部を示すブロック図及びC言語プログラムの例を示す図である。 図4の制御信号生成部を示すブロック図及びC言語プログラムの例を示す図である。 図4の画像信号生成部を示すブロック図である。 図7の乱数生成部を示すブロック図及びC言語プログラムの例を示す図である。 図7の第1画像信号補正部を示すブロック図である。 図9の第1補正部用第2エッジ検出手段を示すブロック図及びC言語プログラムの例を示す図である。 図9の第1補正部用第1エッジ検出手段を示すブロック図及びC言語プログラムの例を示す図である。 図9の第1補正部用画像出力切り替え手段を示すブロック図及びC言語プログラムの例を示す図である。 図7の第2画像信号補正部を示すブロック図である。 図13の第2補正部用第2エッジ検出手段2を示すブロック図及びC言語プログラムの例を示す図である。 図13の第2補正部用第1のエッジ検出手段を示すブロック図及びC言語プログラムの例を示す図である。 図13の第2補正部用画像出力切り替え手段を示すブロック図及びC言語プログラムの例を示す図である。 本実施形態によりスクリーン処理のジャギーを改善したイメージ図である。 ジャギーを示すイメージ図である。 従来のスムージングでジャギーを改善した状態を示すイメージ図である。 ハーフトーン文字にスクリーン処理をかけたイメージ図である。 スクリーン処理により発生するジャギーを示すイメージ図である。

Claims (15)

  1. 多値画像データと、前記多値画像データを擬似中間調処理した処理画像データと、前記多値画像データの属性データとを入力し、前記処理画像データの輪郭部を補正して出力する画像処理回路を有する画像処理装置であって、
    前記画像処理回路が、
    前記多値画像データの注目画素の画像データと該画像データの属性を示す属性データに基づき、前記処理画像データの輪郭部画素の補正を行うか否かを制御する制御手段と
    前記制御手段の制御に基づき、前記処理画像データの輪郭部の補正を行う輪郭部補正手段とを有し、
    前記属性データは、前記多値画像データの注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、
    前記制御手段は、該オブジェクトのサイズを考慮して前記処理画像データの輪郭部画素の補正を行うか否かを制御することを特徴とする画像処理装置。
  2. 前記属性データは、前記多値画像データの注目画素が細い、あるいは小さなオブジェクトに含まれることを表すデータを含むことを特徴とする請求項1記載の画像処理装置。
  3. 前記属性データは、前記多値画像データの注目画素が線、グラフィック、文字のいずれかのオブジェクトに含まれることを表すデータを含むことを特徴とする請求項1又は2記載の画像処理装置。
  4. 前記制御手段は、前記多値画像データの注目画素の画像データと該画像データの属性を示す属性データとに基づき生成された輪郭検出用データに対応して、前記輪郭部補正手段により輪郭部画素の補正を行うか否かを制御することを特徴とする請求項1記載の画像処理装置。
  5. 前記輪郭部補正手段は、第1状態の前記輪郭検出用データの画素配置に基づいて輪郭部を検出して補正する第1輪郭部補正手段と、前記第1状態とは異なる第2状態の前記輪郭検出用データの画素配置に基づいて輪郭部を検出して補正する第2輪郭部補正手段とを含み、
    前記制御手段は、前記輪郭検出用データが第1状態の場合に前記第1輪郭部補正手段を選択し、前記輪郭検出用データが第2状態の場合に前記第2輪郭部補正手段を選択することを特徴とする請求項4記載の画像処理装置。
  6. 前記属性データが前記多値画像データの注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御手段は、前記輪郭部補正手段による輪郭部の補正を回避させることを特徴とする請求項2記載の画像処理装置。
  7. 前記制御手段は、前記輪郭部補正手段による輪郭部の検出を回避させることを特徴とする請求項6記載の画像処理装置。
  8. 多値画像データと、前記多値画像データを擬似中間調処理した処理画像データと、前記多値画像データの属性データとを入力し、前記処理画像データの輪郭部を補正してスムージング処理する画像処理回路であって、
    前記多値画像データの注目画素の画像データと該画像データの属性を示す属性データに基づき、前記処理画像データの輪郭部画素の補正を行うか否かを制御する制御手段と
    前記制御手段の制御に基づき、前記処理画像データの輪郭部の補正を行う輪郭部補正手段とを有し、
    前記属性データは、前記多値画像データの注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、
    前記制御手段は、該オブジェクトのサイズを考慮して前記処理画像データの輪郭部画素の補正を行うか否かを制御することを特徴とする画像処理回路。
  9. 前記属性データが前記の多値画像データの注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御手段は、前記輪郭部補正手段による輪郭部の補正を回避させることを特徴とする請求項8記載の画像処理回路。
  10. 多値画像データと、前記多値画像データを擬似中間調処理した処理画像データと、前記多値画像データの属性データとを入力し、前記処理画像データの輪郭部を補正してスムージング処理する画像処理方法であって、
    前記多値画像データの注目画素の画像データと該画像データの属性を示す属性データに基づき、前記処理画像データの輪郭部画素の補正を行うか否かを制御する制御工程と
    前記制御工程での制御に基づき、前記処理画像データの輪郭部の補正を行う輪郭部補正工程とを有し、
    前記属性データは、前記多値画像データの注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、
    前記制御工程では、該オブジェクトのサイズを考慮して前記処理画像データの輪郭部画素の補正を行うか否かを制御することを特徴とする画像処理方法。
  11. 前記属性データが前記多値画像データの注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記輪郭部の補正を回避させることを特徴とする請求項10記載の画像処理方法。
  12. 多値画像データと、前記多値画像データを擬似中間調処理した処理画像データと、前記多値画像データの属性データとを入力し、前記処理画像データの輪郭部を補正してスムージング処理を含む画像処理を実行する画像処理プログラムであって、
    前記多値画像データの注目画素の画像データと該画像データの属性を示す属性データに基づき、前記処理画像データの輪郭部画素の補正を行うか否かを制御する制御モジュールと
    前記制御モジュールの制御に基づき、前記処理画像データの輪郭部の補正を行う輪郭部補正モジュールとを有し、
    前記属性データは、前記多値画像データの注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、
    前記制御モジュールでは、該オブジェクトのサイズを考慮して前記処理画像データの輪郭部画素の補正を行うか否かを制御するよう、コンピュータに実行させるための画像処理プログラム。
  13. 前記属性データが前記多値画像データの注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御モジュールは、前記輪郭部補正モジュールによる輪郭部の補正を回避させることを特徴とする請求項12記載の画像処理プログラム。
  14. 多値画像データと、前記多値画像データを擬似中間調処理した処理画像データと、前記多値画像データの属性データとを入力し、前記処理画像データの輪郭部を補正してスムージング処理を含む画像処理を実行する画像処理プログラムを記憶したコンピュータ読み取り可能記憶媒体であって、
    前記画像処理プログラムが、
    前記多値画像データの注目画素の画像データと該画像データの属性を示す属性データに基づき、前記処理画像データの輪郭部画素の補正を行うか否かを制御する制御モジュールと
    前記制御モジュールの制御に基づき、前記処理画像データの輪郭部の補正を行う輪郭部補正モジュールとを有し、
    前記属性データは、前記多値画像データの注目画素の画像データを含むオブジェクトのサイズを示すデータを含み、
    前記制御モジュールでは、該オブジェクトのサイズを考慮して前記処理画像データの輪郭部画素の補正を行うか否かを制御するよう、コンピュータに実行させるための画像処理プログラムであることを特徴とする記憶媒体。
  15. 前記属性データが前記多値画像データの注目画素が細い、あるいは小さなオブジェクトに含まれることを表す場合に、前記制御モジュールは、前記輪郭部補正モジュールによる輪郭部の補正を回避させることを特徴とする請求項14記載の記憶媒体。
JP2005061067A 2005-03-04 2005-03-04 画像処理方法及びその装置 Expired - Fee Related JP4137067B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005061067A JP4137067B2 (ja) 2005-03-04 2005-03-04 画像処理方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005061067A JP4137067B2 (ja) 2005-03-04 2005-03-04 画像処理方法及びその装置

Publications (2)

Publication Number Publication Date
JP2006244277A JP2006244277A (ja) 2006-09-14
JP4137067B2 true JP4137067B2 (ja) 2008-08-20

Family

ID=37050619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005061067A Expired - Fee Related JP4137067B2 (ja) 2005-03-04 2005-03-04 画像処理方法及びその装置

Country Status (1)

Country Link
JP (1) JP4137067B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2230830A2 (en) 2009-03-19 2010-09-22 Canon Kabushiki Kaisha Image processing apparatus and control method of image forming apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2230830A2 (en) 2009-03-19 2010-09-22 Canon Kabushiki Kaisha Image processing apparatus and control method of image forming apparatus
US8416460B2 (en) 2009-03-19 2013-04-09 Canon Kabushiki Kaisha Image processing apparatus and control method of image forming apparatus with exclusive or relative control over the trapping and edge smoothing processing

Also Published As

Publication number Publication date
JP2006244277A (ja) 2006-09-14

Similar Documents

Publication Publication Date Title
US9734439B2 (en) Image processing apparatus and method thereof
JP4912270B2 (ja) 画像処理装置及びその制御方法
JP3822975B2 (ja) テキスト/線画とハーフトーンの判別方法
JP4045015B2 (ja) ラスタ画像の解像度向上方法
US8228561B2 (en) Method and system for selective bitmap edge smoothing
US11818319B2 (en) Information processing apparatus, image processing method, and medium
US7916352B2 (en) Image processing apparatus, image processing method, program, and recording medium
JPH11154226A (ja) 解像度改善方法及び装置
US20020067509A1 (en) Method, apparatus and system for dynamic switching of image processing techniques
JP5212294B2 (ja) 画像処理装置及び画像処理方法
EP0878771A2 (en) Programmable mapping of lower resolution digital data to a higher resolution output device
JP4894488B2 (ja) 画像処理装置および画像処理方法
JP4217706B2 (ja) 画像処理装置及び画像処理方法
US20070258101A1 (en) Method and system for improved copy quality in a multifunction reprographic system
JP4086756B2 (ja) 画像処理装置および画像処理方法
JP3950839B2 (ja) 画像処理装置及び画像処理方法
JP4861506B2 (ja) 画像処理装置およびその制御方法
JP4137067B2 (ja) 画像処理方法及びその装置
JP2007312013A (ja) 画像処理装置、画像形成装置および画像処理方法
JP4324532B2 (ja) 画像処理装置および記憶媒体
JP4143519B2 (ja) 画像処理方法及び装置
JP3768560B2 (ja) 画像処理装置および方法
JP2009134583A (ja) 画像形成装置及び画像形成方法、コンピュータプログラム及び記録媒体
JP5181916B2 (ja) 画像処理装置、圧縮方法及び伸張方法
JP2005175953A (ja) 画像処理方法およびそれを用いた画像形成装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080407

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4137067

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees