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

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

Info

Publication number
JP2009039880A
JP2009039880A JP2007204614A JP2007204614A JP2009039880A JP 2009039880 A JP2009039880 A JP 2009039880A JP 2007204614 A JP2007204614 A JP 2007204614A JP 2007204614 A JP2007204614 A JP 2007204614A JP 2009039880 A JP2009039880 A JP 2009039880A
Authority
JP
Japan
Prior art keywords
pixel
size
length
edge
image
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.)
Pending
Application number
JP2007204614A
Other languages
English (en)
Inventor
Nobuhiro Karido
信宏 狩戸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007204614A priority Critical patent/JP2009039880A/ja
Publication of JP2009039880A publication Critical patent/JP2009039880A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Ink Jet (AREA)
  • Particle Formation And Scattering Control In Inkjet Printers (AREA)

Abstract

【課題】演算量やメモリ参照回数が少なく、高速なエッジ処理を実現できるようにする。
【解決手段】エッジ処理部24のエッジ検出部24Aは注目画素の下側,右側,上側に存在するエッジを検出する。長さ計算部24Bは、縦方向または横方向の直線に沿って連なる黒色画素列の長さを計算する。置換部24Cは、計算して得られた長さに基づき、置換パターンを決定して、縦方向または横方向の直線に沿って連なる黒色画素(Lドット)について、ドットの異なるサイズへの置換を行う。
【選択図】図1

Description

本発明は、2種類以上のサイズの異なるドットを用いて画像を印刷するために、その画像を表す画像データを処理する技術に関するものである。
紙や布、フィルムなどの各種印刷媒体にドットを形成して画像を印刷する印刷装置としては、インクジェットプリンタが知られている。このインクジェットプリンタは、シアン(C)やマゼンダ(M)、イエロ(Y)、ブラック(K)といった各色のインクを印刷媒体に向けて吐出して、吐出したインクにより印刷媒体上にドットを形成して印刷を行う。
このような印刷装置にあっては、印刷する際、画像の輪郭(エッジ)部にインクを吐出したときに、付着したインクが画像の輪郭からはみ出てしまい、輪郭がぼやけてしまうといった不具合が発生することがあった。これは、インクが印刷媒体に付着したときに印刷媒体に滲んだために生じたもので、画像の輪郭部から滲み出てはみ出してしまったものである。このため、特に文字や記号等のテキスト画像を印刷したときに、文字や記号等の輪郭がはっきりせず、読みにくくなったり、見栄えが悪くなるなどといった問題が発生する恐れがあった。
そこで、従来において、このような問題を解決するために、例えば、下記の特許文献1に記載の技術では、画像を印刷する際に、エッジ処理として、画像の最外郭に形成すべきドットをより小さなサイズのドットに置き換えて形成し、その最外郭の内側に沿って形成すべきドットもより小さなサイズのドットに置き換えて形成するようにしていた。
なお、この種の関連する技術として、従来では、例えば、下記の特許文献2〜5に記載の技術が知られている。
特開2005−178144号公報 特開2003−48340号公報 特開2004−114303号公報 特許第2886192号 特許第3029533号
しかしながら、上記した従来のエッジ処理においては、パターンマッチングなどの手法を用いて処理を行っていたため、演算量やメモリ参照回数が多くなり、処理速度が遅くなるという問題があった。
従って、本発明の目的は、上記した従来技術の問題点を解決し、演算量やメモリ参照回数が少なく、高速なエッジ処理を実現できる画像処理装置を提供することにある。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
[適用例1]
少なくとも2種類のサイズの異なるドットを形成可能な印刷装置を用いて画像を印刷するときに、複数の画素から構成される前記画像を表す画像データを処理する画像処理装置であって、
前記画像データは、前記画素に対応する前記ドットのサイズに関する情報を含み、
前記画像データに基づいて、前記ドットで形成すべき前記画素が複数集まって構成される画素集合体について、前記画素集合体の最外郭を検出する最外郭検出部と、
前記画像データに基づいて、前記画素集合体を構成する前記画素のうち、前記最外郭を構成する第1の画素から所定方向の直線に沿って連なる画素列の長さを算出する算出部と、
前記長さに基づいて、少なくとも前記第1の画素に対応する前記ドットのサイズを、最大サイズ以外のなかから決定し、前記画像データにおいて、前記第1の画素に対応する前記ドットのサイズに関する情報を、前記決定したサイズに置き換える置換部と、
を備える、画像処理装置。
このように、適用例1の画像処理装置では、画素集合体の最外郭を検出し、画素集合体内の画素のうち、その最外郭の画素から所定方向の直線に沿って連なる画素列の長さを算出し、その長さに基づいて、第1の画素に対応するドットのサイズを最大サイズ以外のなかから決定し、画像データにおけるその第1の画素に対応するドットのサイズに関する情報を、決定したサイズに置き換えるようにしている。なお、画素集合体の最外郭とは、画素集合体の輪郭(エッジ)を言い、最外郭を構成する画素とは、画素集合体を構成する画素のうち、画素集合体の輪郭に沿って、輪郭の最も近くに配置されている画素をいう。
従って、適用例1の画像処理装置では、無駄な演算やメモリ参照を減らすことができるので、演算量やメモリ参照回数が少なく、高速なエッジ処理を実現することができる。また、画像を印刷した際には、印刷された画素集合体の部分について、全体の濃さを落とすことなく、輪郭部において、第1の画素に対応するドット形成に起因する滲み出しを防止し、滲み出しによる不具合を軽減することができる。
[適用例2]
適用例1に記載の画像処理装置において、
前記置換部は、前記長さに基づいて、前記直線において前記第1の画素に隣接する第2の画素について、前記第2の画素に対応する前記ドットのサイズを、前記最大サイズ以外のなかから決定し、前記画像データにおいて、前記第2の画素に対応する前記ドットのサイズに関する情報を、前記第2の画素について前記決定したサイズに置き換える、画像処理装置。
このように構成することにより、最外郭を構成する第1の画素だけでなく、その内側に隣接する第2の画素についても、そのドット形成に起因する滲み出しを防止することができるので、輪郭部における滲み出しによる不具合をより一層軽減することができる。
[適用例3]
適用例2に記載の画像処理装置において、
前記置換部は、前記第1の画素に対応する前記ドットのサイズとして、前記第2の画素に対応する前記ドットについて決定するサイズよりも、小さいサイズを決定する、画像処理装置。
このようにドットのサイズを決定することにより、全体の濃さを落とすことなく、滲み出しによる不具合を効果的に軽減することができる。
[適用例4]
適用例1または適用例2に記載の画像処理装置において、
前記置換部は、前記長さに基づいて、前記直線に位置する画素であって、前記画素集合体の最外郭を構成する画素のうち、前記第1の画素とは異なる第3の画素について、前記第3の画素に対応する前記ドットのサイズを、前記最大サイズ以外のなかから決定し、前記画像データにおいて、前記第3の画素に対応する前記ドットのサイズに関する情報を、前記第3の画素について前記決定したサイズに置き換える、画像処理装置。
このように、最外郭を構成する画素について、算出した長さに基づいて、第1の画素だけでなく、直線上に位置する他の画素(第3の画素)についても、そのドットのサイズの置き換えを同時に行うことにより、それら画素について、長さの算出が1回で済むため、その分、処理速度を上げることができる。
[適用例5]
適用例4に記載の画像処理装置において、
前記置換部は、前記第3の画素に対応する前記ドットのサイズとして、前記第1の画素に対応する前記ドットについて決定するサイズと同じサイズを決定する、画像処理装置。
このようにドットのサイズを決定することにより、輪郭部における滲み出しによる不具合を均一的に軽減することができる。
[適用例6]
適用例4に記載の画像処理装置において、
前記置換部は、前記長さに基づいて、前記直線において前記第3の画素に隣接する第4の画素について、前記第4の画素に対応する前記ドットのサイズを、前記最大サイズ以外のなかから決定し、前記画像データにおいて、前記第4の画素に対応する前記ドットのサイズに関する情報を、前記第4の画素について前記決定したサイズに置き換える、画像処理装置。
このように、算出した長さに基づいて、第1及び第2の画素だけでなく、第3の画素の内側に隣接する第4の画素についても、そのドット形成に起因する滲み出しを防止することができるので、輪郭部における滲み出しによる不具合をさらに一層軽減することができる。また、算出した長さに基づいて、それら画素に対応するドットのサイズの置き換えを同時に行うことにより、それら画素について、長さの算出が1回で済むため、その分、処理速度をさらに上げることができる。
[適用例7]
適用例6に記載の画像処理装置において、
前記置換部は、前記第3の画素に対応する前記ドットのサイズとして、前記第4の画素に対応する前記ドットについて決定するサイズよりも、小さなサイズを決定する、画像処理装置。
このようにドットのサイズを決定することにより、全体の濃さを落とすことなく、滲み出しによる不具合を効果的に軽減することができる。
[適用例8]
適用例1ないし適用例7のいずれかに記載の画像処理装置において、
前記置換部は、前記長さと、前記ドットのサイズと、を対応付けるテーブルを備え、前記算出した前記長さを基に、前記テーブルを参照して、前記ドットのサイズを導き出す、画像処理装置。
このように構成することにより、演算量をさらに少なくすることができるため、より高速なエッジ処理を実現することができる。また、印刷媒体の種類や、インクなどの種類や、印刷装置におけるヘッドの種類などに応じて、テーブルを自由に設定することができるため、エッジ処理の実行に際して、フレキシブルな対応をとることができる。
[適用例9]
適用例1ないし適用例8のいずれかに記載の画像処理装置において、
前記所定方向は、第1の方向と、該第1の方向と直交する第2の方向であると共に、
前記置換部は、前記第2の方向の直線に関して算出した前記長さに基づいて、前記ドットのサイズに関する情報を置き換える場合に、前記第1の方向の直線に関して算出した前記長さに基づいて、前記ドットのサイズに関する情報の置き換えがなされている画素については、前記第2の方向の直線に関して算出した前記長さが、前記第1の方向の直線に関して算出した前記長さよりも小さい場合に、置き換えを実行する画像処理装置。
このように構成することにより、画像を印刷した際には、例えば、画素集合体が線画である場合に、より長い方向の輪郭部において同じサイズのドットが並ぶように形成できるので、より長い方向の輪郭をより滑らかに再現することができる。
[適用例10]
適用例1ないし適用例9のいずれかに記載の画像処理装置において、
前記所定方向は、第1の方向と、該第1の方向とは直交する第2の方向であると共に、
前記置換部は、前記第2の方向の直線に関して算出した前記長さの値に基づいて、前記ドットのサイズに関する情報を置き換える場合に、既に、前記第1の方向の直線に関して算出した前記長さに基づいて、前記ドットのサイズに関する情報の置き換えがなされている画素については、前記情報の示すサイズよりも、今回置き換えようとしているサイズの方が、小さいサイズである場合に、置き換えを実行し、同じか大きいサイズである場合には、置き換えを実行しない、画像処理装置。
このように構成することにより、滲み出し不具合の解消に効果的でない、サイズの置き換えを排除することができるため、その分、処理速度を上げることができる。
[適用例11]
適用例1ないし適用例10のいずれかに記載の画像処理装置において、
前記算出部は、前記画素列の長さがn画素分(nは3以上の任意の整数)以上の長さである場合には、前記長さをnであると算出する、画像処理装置。
このように構成することにより、演算量をさらに少なくすることができるため、より高速なエッジ処理を実現することができる。
[適用例12]
少なくとも2種類のサイズの異なるドットを形成可能な印刷装置を用いて画像を印刷するときに、複数の画素から構成される前記画像を表す画像データを処理する画像処理方法であって、
前記画像データは、前記画素に対応する前記ドットのサイズに関する情報を含み、
前記画像データに基づいて、前記ドットで形成すべき前記画素が複数集まって構成される画素集合体について、前記画素集合体の最外郭を検出する工程と、
前記画像データに基づいて、前記画素集合体を構成する前記画素のうち、前記最外郭を構成する第1の画素から所定方向の直線に沿って連なる画素列の長さを算出する工程と、
前記長さに基づいて、少なくとも前記第1の画素に対応する前記ドットのサイズを、最大サイズ以外のなかから決定する工程と、
前記画像データにおいて、前記第1の画素に対応する前記ドットのサイズに関する情報を、前記決定したサイズに置き換える工程と、
を含む、画像処理方法。
適用例12の画像処理方法によれば、適用例1と同様の効果を奏することができる。
[適用例13]
少なくとも2種類のサイズの異なるドットを形成可能な印刷装置を用いて画像を印刷するときに、複数の画素から構成される前記画像を表す画像データを処理するためのコンピュータプログラムであって、
前記画像データは、前記画素に対応する前記ドットのサイズに関する情報を含み、
前記画像データに基づいて、前記ドットで形成すべき前記画素が複数集まって構成される画素集合体について、前記画素集合体の最外郭を検出する機能と、
前記画像データに基づいて、前記画素集合体を構成する前記画素のうち、前記最外郭を構成する第1の画素から所定方向の直線に沿って連なる画素列の長さを算出する機能と、
前記長さに基づいて、少なくとも前記第1の画素に対応する前記ドットのサイズを、最大サイズ以外のなかから決定する機能と、
前記画像データにおいて、前記第1の画素に対応する前記ドットのサイズに関する情報を、前記決定したサイズに置き換える機能と、
をコンピュータにおいて実現させるためのコンピュータプログラム。
適用例13のコンピュータプログラムによれば、適用例1と同様の効果を奏することができる。
なお、本発明は、上記した画像処理装置などの装置発明の態様や画像処理方法などの方法発明としての態様や方法や装置を構築するためのコンピュータプログラムとしての態様に限ることなく、そのようなコンピュータプログラムを記録した記録媒体としての態様や、上記コンピュータプログラムを含み搬送波内に具現化されたデータ信号など、種々の態様で実現することも可能である。
以下、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.実施例の構成:
B.実施例の動作:
B−1.画像処理及び印刷処理:
B−2.エッジ処理の概要:
B−3.線画Aに対するエッジ処理:
B−4.線画Bに対するエッジ処理:
B−5.線画Cに対するエッジ処理:
C.実施例の効果:
D.変形例:
A.実施例の構成:
図1は本発明の一実施例としての画像処理装置を含む印刷システムの構成を示すブロック図である。図1に示す印刷システムは、画像処理装置100と、その画像処理装置100にケーブル等の有線または無線により接続される印刷装置200と、で構成されている。このうち、画像処理装置100は、パーソナルコンピュータから成り、主として、プログラムを実行することにより種々の処理や制御を行うCPU110と、プログラムを格納したり、データや情報を格納したりするためのメモリ120と、外部に接続される周辺機器との間でデータや情報のやりとりを行うための入出力インタフェース(I/F)部130と、を備えている。なお、上記構成要素以外にも、キーボードやポインティングデバイスなどの入力装置やディスプレイなどの表示装置や、CD−ROMドライブ装置などの記録再生装置なども備えているが、図では省略されている。
画像処理装置100には、アプリケーション10やプリンタドライバ20などのプログラムがインストールされている。このうち、プリンタドライバ20は、アプリケーション10から出力された画像データを印刷データに変換する機能を実現させるためのプログラムである。このプリンタドライバ20は、CD−ROMなどの各種記憶媒体(コンピュータ読み取り可能な記録媒体等)に記憶されて配布されたり、またはインターネットなど、各種通信手段を通じて配信されたりする。
画像処理装置100におけるCPU110では、コンピュータに搭載されたオペレーティングシステム(図示せず)の下、アプリケーション10やプリンタドライバ20などのプログラムが動作している。アプリケーション10は、例えば、画像編集などを行う機能を有し、画像データを作成したり、所望の処理を施したりする。ユーザは、アプリケーション10のユーザインターフェースを介して、アプリケーション10により編集した画像を印刷する指示を与えることができる。アプリケーション10は、印刷の指示を受けると、プリンタドライバ20に画像データを出力する。
プリンタドライバ20は、アプリケーション10から画像データを受け取り、この画像データを印刷データに変換し、印刷データを印刷装置200に出力する。ここで、印刷データとは、印刷装置200が解釈できる形式のデータであって、各種のコマンドデータと画素データとを有するデータである。また、コマンドデータとは、印刷装置200に特定の動作の実行を指示するためのデータである。また、画素データとは、印刷される画像(印刷画像)を構成する画素に関するデータであり、例えば、ある画素に対応する印刷媒体上の位置に形成されるドットに関するデータ(ドットの色や大きさ等のデータ)である。
ここで、「ドット」とは、印刷装置から吐出されたインクが印刷媒体に着弾して形成される1つの領域をいう。
プリンタドライバ20は、アプリケーション10から出力された画像データを印刷データに変換するために、解像度変換処理部21と、色変換処理部22と、ハーフトーン処理部23と、エッジ処理部24と、ラスタライズ処理部25と、を備えている。
このうち、解像度変換処理部21は、アプリケーション10から出力された画像データ(テキストデータ、イメージデータなど)を、印刷媒体に印刷する際の解像度に変換する解像度変換処理を行う。色変換処理部22は、RGBデータをCMYK色空間により表される多階調のCMYKデータに変換する色変換処理を行う。ハーフトーン処理部23は、高階調数のデータを、印刷装置200が形成可能な階調数のデータに変換するハーフトーン処理を行う。エッジ処理部24は、印刷しようとする画像の輪郭部に形成すべきドットを、より小さいサイズのドットに置き換えて形成するエッジ処理を行う。ラスタライズ処理部25は、マトリクス状の画像データを、印刷装置200に転送すべきデータ順に変更する処理を行う。
また、エッジ処理部24は、エッジ検出部24Aと、長さ計算部24Bと、置換部24Cと、を備えている。なお、このうち、エッジ検出部24Aは請求項における最外郭検出部に、長さ計算部24Bは請求項における算出部に、置換部24Cは請求項における置換部に、それぞれ相当する。
また、メモリ120には、エッジ処理などにおいて用いるために、出力バッファ32及び長さ記録バッファ34がそれぞれ用意されている。
一方、印刷装置200は、インクジェットプリンタから成り、主として、プログラムを実行することにより印刷装置200全体の制御や各種処理を行うCPU210と、プログラムを格納したり、データや情報を格納したりするためのメモリ220と、外部に接続される画像処理装置100との間でデータや情報のやりとりを行うための入出力インタフェース(I/F)部230と、CPU210からの指示に従って各ユニットを制御するユニット制御回路240と、ヘッドユニット250と、キャリッジユニット260と、搬送ユニット270と、を備えている。
ヘッドユニット250は、印刷媒体にインクを吐出するためのヘッド(図示せず)を有している。ヘッドはノズルを複数有し、各ノズルから断続的にインクを吐出する。このヘッドはキャリッジ(図示せず)に搭載されており、キャリッジが所定の走査方向に移動すると、ヘッドも走査方向に移動する。従って、ヘッドが走査方向に移動している間にインクを断続的に吐出することによって、走査方向に沿ったドットライン(ラスタライン)が印刷媒体に形成される。
キャリッジユニット260は、ヘッドを搭載するキャリッジを走査方向に往復移動させるための駆動装置である。キャリッジには、ヘッドの他、インクを収容するインクカートリッジも着脱可能に保持されている。
搬送ユニット270は、印刷媒体を印刷可能な位置に送り込み、印刷時に所定の搬送方向に所定の搬送量で印刷媒体を搬送させるための駆動装置である。搬送ユニット270は、例えば、給紙ローラ、搬送モータ、搬送ローラ、プラテン、及び排紙ローラ(図示せず)などによって構成されている。
B.実施例の動作:
B−1.画像処理及び印刷処理:
まず、図1に示す印刷システムにおける画像データに対する画像処理及び印刷処理の流れについて簡単に説明する。ユーザがアプリケーション10上で印刷を指示すると、アプリケーション10からプリンタドライバ20に印刷命令が発せられる。この印刷命令には、例えばアプリケーション10上で編集された画像データが含まれている。
次に、プリンタドライバ20では、解像度変換処理部21が、印刷命令の中に含まれている画像データを、例えば、720dpi(横)×720dpi(縦)の解像度のRGBデータに変換する。続いて、色変換処理部22は、RGBデータをCMYKデータに変換する。色変換処理後のCMYKデータは、例えば、256階調のCMYKデータとなっている。
次に、ハーフトーン処理部23は、256階調のCMYKデータを、各画素につき2ビットのデータが割り当てられた4階調の多値データに変換する。具体的には、この多値データでは、各画素には、「00」、「01」、「10」または「11」の多値のデータが割り当てられており、「00」が割り当てられた画素にはドットが形成されず、「01」が割り当てられた画素には小サイズの小ドット(以下、Sドットという場合がある)が形成され、「10」が割り当てられた画素には中サイズの中ドット(以下、Mドットという場合がある)が形成され、「11」が割り当てられた画素には大サイズの大ドット(以下、Lドットという場合がある)が形成される。なお、これら小(S)サイズ、中(M)サイズ、大(L)サイズが、請求項におけるサイズに相当する。
次に、エッジ処理部24は、変換して得られた多値データに対しエッジ処理を施す。エッジ処理では、印刷する画像の輪郭部に形成すべきドットのサイズを、より小さいサイズに置換する。なお、エッジ処理部24におけるエッジ処理の内容については、後ほど詳細に説明する。
続いて、ラスタライズ処理部25は、エッジ処理された多値データに対し、データ順序を印刷装置200に転送すべきデータ順に変更する処理(ラスタライズ処理)を施し、得られたデータを印刷データとして印刷装置200に出力する。
一方、印刷装置200では、画像処理装置100から印刷データが送られてくると、印刷処理を実行する。まず、CPU210は、画像処理装置100から入出力インタフェース部230を介して、印刷命令と共に印刷データを受信し、受信した印刷データに含まれる各種コマンドの内容を解析する。
そして、その解析結果を基に、まず、CPU210は、ユニット制御回路240を介して、搬送ユニット270を制御する。この制御により、搬送ユニット270は、印刷すべき紙(印刷媒体)を印刷装置200内に供給させ、印刷開始位置に紙を位置決めする。紙が印刷開始位置に位置決めされたとき、ヘッドの少なくとも一部のノズルは、紙と対向している。
次に、CPU210は、ユニット制御回路240を介して、キャリッジユニット260を制御する。この制御により、キャリッジユニット260は、ヘッドを搭載したキャリッジを走査方向に移動させる。また、CPU210は、ユニット制御回路240を介して、印刷データに基づいてヘッドユニット250を制御する。この制御により、ヘッドユニット250は、走査方向に沿って移動するヘッドから、印刷データに基づいてインクを断続的に吐出させ、吐出されたインク滴が紙上に着弾することにより、紙上にドットを形成させる。さらに、CPU210は、搬送ユニット270を制御し、紙を搬送方向に搬送させて、ヘッドに対し相対的に移動させる。これにより、ヘッドは、先ほど形成されたドットの位置とは異なる位置に、ドットを形成することが可能になる。
こうして、印刷するためのデータがなくなるまで、ドット形成や搬送などの処理を繰り返し、ドットから構成される画像を紙に印刷する。その後、印刷するためのデータがなくなれば、印刷処理を終了する。
B−2.エッジ処理の概要:
次に、上記したエッジ処理について、さらに詳細に説明する。図2は図1におけるエッジ処理部24において実行されるエッジ処理の処理フローを示すフローチャートであり、図3は印刷対象である画像の一例と図1における出力バッファ32内及び長さ記録バッファ34内の状態を示す説明図である。図3において、(a)は、印刷しようとする画像を示し、(b)は、その画像に対応した出力バッファ32内の状態を示し、(c)は、その画像に対応した長さ記録バッファ34内の状態を示している。なお、以下では、図3(a)に示す画像40を印刷対象とするものとして説明する。
画像40は、図3(a)に示すように、線画A,B,Cの3つから成っている。線画Aは、横4×縦11の黒色画素によって構成されている。線画Bは、横8×縦4の黒色画素によって構成されている。線画Cは、横6×縦6の黒色画素によって構成されている。ここで、黒色画素は、印刷の際にドットで形成すべき画素であり、線画は、これらの画素が複数集まって構成される画素集合体の一種である。従って、画像40における線画A,B,Cは、請求項における画素集合体に相当する。また、図3(a)において、×印は、後述する注目画素を示しており、また、実線矢印は、その注目画素が移動する軌跡を示している。なお、図3(b),(c)では、出力バッファ32及び長さ記録バッファ34は、画像40全体を記憶させることが可能な記憶容量を有しているように描いてあるが、実際には、それだけの記憶容量は必要なく、例えば、180ライン分くらい記憶させることができる記憶容量を用意して、データをいわゆるバンド単位で出し入れするようにしている。
そこで、図2に示す処理が開始されると、まず、エッジ処理部24は、ハーフトーン処理部23において階調変換して得られた画像データ(すなわち、4階調の多値データ)を、メモリ120内の出力バッファ32に読み込む(ステップS102)。なお、ハーフトーン処理部23も、出力バッファ32を利用して階調変換処理を行っている場合には、階調変換して得られた画像データは、既に、出力バッファ32に格納されているので、その場合には、読み込みを行う必要はない。
出力バッファ32内では、図3(b)に示すように、読み込まれた画像データ(多値データ)のうち、黒色画素の部分は、全て、Lドット(大ドット)となっており、それ以外の部分は、全て、ドット無しとなっている。なお、実際には、前述したとおり、Lドットが形成される画素には、多値データとして「11」が割り当てられていることになり、ドットなしの画素には、多値データとして「00」が割り当てられていることになる。
次に、エッジ処理部24は、メモリ120内の長さ記録バッファ34の初期化を行う(ステップS104)。この初期化によって、長さ記録バッファ34内は、図3(c)に示すように、黒色画素に対応する部分の値が、全て、初期値に設定される。初期値としては、長さ5以上の値が用いられる。なお、理解を容易にするため、図3(c)では、初期値(すなわち、長さ5以上の値)を「−」で記述している。この場合の長さについては、後ほど説明する。
図4は図2における下側エッジ置換処理の処理フローを示すフローチャートであり、図5は図2における水平方向置換処理の処理フローを示すフローチャートであり、図6は図2における上側エッジ置換処理の処理フローを示すフローチャートである。
次に、エッジ処理部24は、画像40における左上の画素を注目画素として設定する(ステップS106)。そして、エッジ処理部24におけるエッジ検出部24Aは、その注目画素の下側にエッジが存在するか否かを判定する(ステップS108)。画像40において、エッジは各線画A,B,Cの最外郭に当たる。従って、注目画素の下側にエッジがある状態とは、具体的には、注目画素がドット無しで、その1つ下側の画素がLドットである状態をいう。そこで、判定の結果、注目画素の下側にエッジがある場合、エッジ処理部24は、図4に示す下側エッジ置換処理を行い(ステップS110)、無い場合は、次の処理に移行する。
次に、エッジ処理部24におけるエッジ検出部24Aは、その注目画素の右側にエッジが存在するか否かを判定する(ステップS112)。注目画素の右側にエッジがある状態とは、具体的には、注目画素がドット無しで、その1つ右側の画素がLドットである状態をいう。そこで、判定の結果、注目画素の右側にエッジがある場合、エッジ処理部24は、図5に示す水平方向エッジ置換処理を行い(ステップS114)、エッジが無い場合は、次の処理に移行する。
次に、エッジ処理部24におけるエッジ検出部24Aは、その注目画素の上側にエッジが存在するか否かを判定する(ステップS116)。注目画素の上側にエッジがある状態とは、具体的には、注目画素がドット無しで、その1つ上側の画素がLドットである状態をいう。判定の結果、注目画素の上側にエッジがある場合、エッジ処理部24は、図6に示す上側エッジ置換処理を行い(ステップS118)、エッジが無い場合は、次の処理に移行する。
その後、エッジ処理部24は、注目画素を移動させながら、上記の処理を繰り返す。すなわち、エッジ処理部24は、図3(a)に示すように、ステップS106で設定した左上の画素を始点として、注目画素を左から右に1画素ずつ移動させ(ステップS122)、右端まで来たら(ステップS120 Yes)、1ライン下の左端に移動させ(ステップS126)、再び左から右に1画素ずつ移動させ(ステップS122)、以下、同様の移動を繰り返し、画像40の下端まで来たら(ステップS124 Yes)、処理を終了する。
B−3.線画Aに対するエッジ処理:
それでは、画像40における各線画A,B,Cに対し、具体的にどのようなエッジ処理がなされるかについて、線画Aから順に説明する。
図7は図3の線画Aに対するエッジ処理によるドットサイズの置換の様子を示す説明図である。線画Aは、前述したとおり、横4×縦11の黒色画素によって構成されており、縦方向が横方向よりも長くなっているため、図7に示すように、縦方向において同じサイズのドットが並ぶよう、ドットサイズの置換を行い、長い方向のエッジをより滑らかに再現できるようにしている。
具体的には、線画Aに対しては、注目画素の移動に従って、次のようにエッジ処理がなされることになる。図8は図3の出力バッファ及び長さ記録バッファのうち、線画Aに対応する部分の状態遷移を、注目画素の下側にエッジがある場合について示した説明図である。図8において、上段は出力バッファ内の状態遷移を、下段は長さ記録バッファ内の状態遷移を、それぞれ示しており、左から右に向かって時間は進んでいる。また、×印は注目画素を示している。なお、これらのことは、以降の図においても同様である。
図8(a)に示す状態は初期状態であり、注目画素が、線画Aにおける左上の黒色画素(Lドット)の、1つ上側に位置している状態である。従って、エッジ処理部24におけるエッジ検出部24Aは、図2のステップS108において、注目画素の下側にエッジが存在するか否かを判定し、判定の結果、下側にエッジが存在するため、図4に示す下側エッジ置換処理を実行する(ステップS110)。
下側エッジ置換処理が開始されると、エッジ処理部24では、まず、長さ計算部24Bが、注目画素の下側に、縦方向の直線に沿って連なる黒色画素列の長さDを計算する(ステップS202)。長さDは、1画素(すなわち、1ドット)分の長さを「1」とする。従って、この場合、線画Aの縦方向は11画素であるため、D=11となる。
次に、エッジ処理部24は、この計算して得られた長さDに基づき、注目画素の下側に、縦方向の直線に沿って連なる黒色画素(Lドット)について、ドットの異なるサイズへの置換を行う。本実施例では、予め、長さDに応じて、ドットサイズの置換パターンがそれぞれ図9に示すごとくに設定されている。
図9は長さDとドットサイズの置換パターンとの対応関係を示す説明図である。長さDが4以下である場合には、図9(a)に示すように、長さD毎に、それぞれ、独自の置換パターンとなっているが、長さDが5以上である場合には、図9(b)に示すように、長さDの値に関わらず、左右両端の各々2画素がSM,MSに置き換えられる置換パターン(以下、端部向け置換パターンという場合がある。)となっている。
このような置換パターンにてドットサイズの置換を行うために、エッジ処理部24は、2種類のパターンテーブルを持っている。
すなわち、長さDが4以下である場合のドットサイズの置換には、各ドットサイズ{S,M,L}={1,2,3}に対応付けた、次のようなパターンテーブルを利用する。
replace_pattern1[4][4]={{2,0,0,0},{2,2,0,0},{2,3,2,0},{1,3,3,1}}
また、長さDが5以上である場合の、両端の各々2画素のドットサイズの置換には、次のようなパターンテーブルを利用する。
replace_pattern2[2][2]={ {1,2},{2,1}}
そこで、次に、エッジ処理部24は、ステップS202で得られた長さDが4より大きい(D>4)か否かを判定する(ステップS204)。この場合、長さDは、D=11で、4より大きいため、エッジ処理部24における置換部24Cは、長さDが5以上である場合の端部向け置換パターン(パターンテーブルreplace_pattern2)を読み出す(ステップS212)。そして、エッジ処理部24は、その置換パターンに基づいて、図8(b)に示すように、注目画素の下側に縦方向の直線に沿って連なる黒色画素のうち、上端の2画素(Lドット)を、SドットとMドットにそれぞれ置換する(ステップS214)。なお、この場合、長さ記録バッファ34には何ら値を記録しない。こうして、図4に示す下側エッジ置換処理は終了する。
次に、エッジ処理部24におけるエッジ検出部24Aは、注目画素の右側、上側にエッジが存在するか否かの判定を行い(ステップS112,S116)、エッジが存在しないため、注目画素を右に1画素分移動させる(ステップS122)。そして、図8(c)に示すように、移動後の注目画素の下側には、エッジが存在し、縦方向の直線に沿って連なる黒色画素列の長さDは、D=11であるため、エッジ処理部24は、前回と同様にして、上端の2画素(Lドット)を、SドットとMドットにそれぞれ置換する。エッジ処理部24は、このような置換処理を、注目画素の移動に従って合計4回行う。その結果、出力バッファ32内は、図8(e)に示す状態となる。
ここで、長さ記録バッファ34に何ら値を記録しなかったのは、次の理由による。長さ記録バッファ34は、後述するように、線画における縦方向と横方向のそれぞれ線幅(すなわち、各方向の直線に沿って連なる黒色画素列の長さ)を比較するために用いるバッファである。初期値「−」は、十分線幅が長い状態であるとみなすように対応づけられており、今回の処理の対象となった縦方向の線幅(すなわち、注目画素の下側に縦方向の直線に沿って連なる黒色画素列の長さD)は、D=11と十分長く、初期値を更新する必要がないからである。もし、仮に、縦方向の線幅が、D<5 の場合には、長さ記録バッファ34に長さDの値を設定する処理を行うことになる。
図10は図3の出力バッファ及び長さ記録バッファのうち、線画Aに対応する部分の状態遷移を、注目画素の右側にエッジがある場合について示した説明図である。図10(a)に示す状態は、図8(e)に示す状態から、注目画素が、移動して1ライン下に移った後、線画Aにおける左上の黒色画素(Sドット)の、1つ左側に位置している状態である。
この状態において、エッジ処理部24は、再び、注目画素に対し下側エッジ、右側エッジの有無をそれぞれ判定し(ステップS108,S112)、その判定の結果、注目画素の下側にはエッジは存在しないが、右側にはエッジが存在するため、図5に示す水平方向エッジ置換処理を実行する(ステップS114)。
水平方向エッジ置換処理が開始されると、エッジ処理部24では、まず、長さ計算部24Bが、注目画素の右側に、横方向の直線に沿って連なる黒色画素列の長さDを計算する(ステップS302)。この場合、線画Aの横方向は4画素であるため、D=4となる。
次に、エッジ処理部24は、この計算して得られた長さDに基づき、注目画素の右側に、横方向の直線に沿って連なる黒色画素(Sドット)について、ドットの異なるサイズへの置換を行う。
そこで、エッジ処理部24は、長さDが4より大きい(D>4)か否かを判定する(ステップS304)。この場合、長さDは、D=4で、4より大きくないため、エッジ処理部24における置換部24Cは、長さDの値(D=4)に対応した置換パターン(パターンテーブルreplace_pattern1)を読み出す(ステップS306)。そして、エッジ処理部24は、長さ計算の対象となった、注目画素の右側に連なる4つの黒色画素を、左側から順にP1,P2,P3,P4として設定する(ステップS308)。
次に、エッジ処理部24は、これら画素P1〜P4のうち、まず、画素P1について(ステップS310)、長さ記録バッファ34内に記録されている値と、長さDの値(D=4)と、を比較する(ステップS312)。この場合、長さ記録バッファ34には、図10(a)に示すように、左端の画素P1について、初期値「−」(すなわち、5以上の値)が記録されているため、その記録されている値(すなわち、初期値)は、長さDの値(D=4)より大きい(初期値>4)。従って、エッジ処理部24は、読み出した置換パターンに基づいて、左端の画素P1を置換する(ステップS324)。この場合、長さDは4であって(D=4)、それに対応する置換パターンは、図9に示すように{S,L,L,S}であるため、図10(b)に示すとおり、左端の画素P1(Sドット)は、同じサイズのSドットに置換される。さらに、エッジ処理部24は、画素P1について、長さ記録バッファ34に初期値が記録されているため(ステップS326)、図10(b)に示すように、その記録を長さDの値(D=4)に書き換える(ステップS328)。
そして、エッジ処理部24は、画素P2,P3,P4についても、同様の処理を行う(ステップS320,S322)。その結果、図10(b)に示すように、画素P1,P2,P3,P4は、上記した置換パターン{S,L,L,S}に従って、Sドット,Lドット,Lドット,Sドットにそれぞれ置換される。また、長さ記録バッファ34においても、画素P1,P2,P3,P4について、それぞれの記録が長さDの値(D=4)に書き換えられる。こうして、図5に示す水平方向エッジ置換処理は終了する。
次に、エッジ処理部24は、注目画素に対し上側エッジの有無を判定し(ステップS116)、エッジが存在しないため、注目画素を右に移動させるが、図10(b)に示すように、注目画素の右側にはエッジが存在するため、図5のステップS302で計算した長さDの値(この場合、D=4)だけ、注目画素を移動させる(ステップS122)。この結果、注目画素は、右側に横方向の直線に沿って連なる黒色画素を飛び越えて移動することになる。
その後、注目画素が移動して1ライン下に移った後、線画Aにおける左端の黒色画素の、1つ左側に位置すると、エッジ処理部24は、前回と同様の処理を繰り返し、その結果、出力バッファ32内及び長さ記録バッファ34内は、図10(c)に示すような状態となる。さらに、注目画素の移動に伴い、同様の処理が繰り返されて、最終的には、図10(d)に示すような状態となる。
図11は図3の出力バッファ及び長さ記録バッファのうち、線画Aに対応する部分の状態遷移を、注目画素の上側にエッジがある場合について示した説明図である。図11(a)に示す状態は、図10(d)に示す状態から、注目画素が、移動して1ライン下に移った後、線画Aにおける左下の黒色画素(Sドット)の、1つ下側に位置している状態である。
この状態において、エッジ処理部24は、再び、注目画素に対し下側エッジ、右側エッジ、上側エッジの有無をそれぞれ判定し(ステップS108,S112、S116)、その判定の結果、注目画素の下側及び右側にはエッジは存在しないが、上側にはエッジが存在するため、図6に示す上側エッジ置換処理を実行する(ステップS118)。
上側エッジ置換処理が開始されると、エッジ処理部24は、まず、上側エッジの下端に位置する画素(すなわち、注目画素の1つ上の画素)について、長さ記録バッファ34内に記録されている値が、初期値であるか否かを判定する(ステップS402)。この場合、図11(a)に示すように、その画素について、長さ記録バッファ34内には長さ「4」が記録されており、初期値ではないため、エッジ処理部24は、置換を行うことなく、図6に示す上側エッジ置換処理を終了する。
次に、エッジ処理部24は、注目画素を右に1画素分移動させ(ステップS122)、前回と同様の処理を繰り返す。すると、出力バッファ32内及び長さ記録バッファ34内は、図11(b)に示すような状態となる。こうして、注目画素の移動に伴い、同様の処理が合計4回繰り返されて、最終的には、図11(d)に示すような状態となる。
以上によって、線画Aに対するエッジ処理は完了する。
線画Aは、前述したとおり、縦方向が横方向よりも長くなっているため、例えば、記録バッファ34を用いた判定処理など(図5のステップS312,S336など)によって、より長い方向である縦方向においてSドットが並ぶよう、ドットサイズの置換を行っているので、長い方向のエッジをより滑らかに再現することができる。
なお、上記説明では特に言及しなかったが、ステップS312における比較処理の結果、長さ記録バッファ34に記録されている値が、長さDの値と等しいか大きい場合には、エッジ処理部24は、さらに、その記録されている値が、長さDの値と等しいか否か判定する(ステップS314)。その判定の結果、等しい場合には、エッジ処理部24は、その画素Piについて置換しようしているドットサイズが、現時点で画素Piに割り当てられているドットサイズよりも、小さいか否かを判定し(ステップS316)、小さい場合は、画像Piについて、置換パターンに基づく置換を実行するようにする(ステップS318)。
B−4.線画Bに対するエッジ処理:
次に、線画Bに対するエッジ処理について説明する。図12は図3の線画Bに対するエッジ処理によるドットサイズの置換の様子を示す説明図である。線画Bは、前述したとおり、横8×縦4の黒色画素によって構成されており、横方向が縦方向よりも長くなっているため、図12に示すように、横方向において同じサイズのドットが並ぶよう、ドットサイズの置換を行い、長い方向のエッジをより滑らかに再現できるようにしている。
具体的には、線画Bに対しては、注目画素の移動に従って、次のようにエッジ処理がなされることになる。図13は図3の出力バッファ及び長さ記録バッファのうち、線画Bに対応する部分の状態遷移を、注目画素の下側にエッジがある場合について示した説明図である。図13(a)に示す状態は初期状態であり、注目画素が、線画Bにおける左上の黒色画素(Lドット)の、1つ上側に位置している状態である。
そこで、エッジ処理部24は、図2のステップS108において、注目画素の下側にエッジが存在するか否かを判定し、判定の結果、下側にエッジが存在するため、図4に示す下側エッジ置換処理を実行する(ステップS110)。
下側エッジ置換処理が開始されると、エッジ処理部24は、注目画素の下側に、縦方向の直線に沿って連なる黒色画素列の長さDを計算する(ステップS202)。この場合、線画Bの縦方向は4画素であるため、D=4となる。
次に、エッジ処理部24は、得られた長さDが4より大きい(D>4)か否かを判定する(ステップS204)。この場合、長さDは、D=4で、4より大きくないため、エッジ処理部24は、長さDの値(D=4)に対応した置換パターン(パターンテーブルreplace_pattern1)を読み出す(ステップS206)。そして、エッジ処理部24は、その置換パターンに基づいて、図13(b)に示すように、注目画素の下側に縦方向に連なる4つの黒色画素を置換する(ステップS208)。この場合、長さDは4であって(D=4)、それに対応する置換パターンは、図9に示すように{S,L,L,S}であるため、上記した縦方向に連なる4つの黒色画素(Lドット)は、置換パターン{S,L,L,S}に従って、Sドット,Lドット,Lドット,Sドットにそれぞれ置換される。さらに、エッジ処理部24は、これら4つの黒色画素について、図10(b)に示すように、長さ記録バッファ34内の記録を、長さDの値(D=4)に書き換える(ステップS210)。こうして、図4に示す下側エッジ置換処理は終了する。
次に、エッジ処理部24は、注目画素の右側、上側にエッジが存在するか否かの判定を行い(ステップS112,S116)、エッジが存在しないため、注目画素を右に1画素分移動させる(ステップS122)。このようして、注目画素の移動に伴い、上記と同様の処理が繰り返されて、出力バッファ32内及び記録バッファ34内は、最終的に、図13(c)に示すような状態となる。
図14は図3の出力バッファ及び長さ記録バッファのうち、線画Bに対応する部分の状態を、注目画素の右側にエッジがある場合について示した説明図である。図14に示す状態は、図13(c)に示す状態から、注目画素が、移動して1ライン下に移った後、線画Bにおける左上の黒色画素(Sドット)の、1つ左側に位置している状態である。
この状態において、エッジ処理部24は、再び、注目画素に対し下側エッジ、右側エッジの有無をそれぞれ判定し(ステップS108,S112)、その判定の結果、注目画素の下側にはエッジは存在しないが、右側にはエッジが存在するため、図5に示す水平方向エッジ置換処理を実行する(ステップS114)。
水平方向エッジ置換処理が開始されると、エッジ処理部24は、注目画素の右側に、横方向の直線に沿って連なる黒色画素列の長さDを計算する(ステップS302)。この場合、線画Bの横方向は8画素であるため、D=8となる。
次に、エッジ処理部24は、得られた長さDが4より大きい(D>4)か否かを判定する(ステップS304)。この場合、長さDは、D=8で、4より大きいため、エッジ処理部24は、長さDが5以上である場合の端部向け置換パターン(パターンテーブルreplace_pattern2)を読み出す(ステップS330)。そして、エッジ処理部24は、注目画素の右側に横方向に連なる黒色画素のうち、左端の2画素(すなわち、右側エッジ付近の2画素)と右端の2画素(すなわち、左側エッジ付近の2画素)の、合計4つの画素を、左側から順にP1,P2,P3,P4として設定する(ステップS332)。
次に、エッジ処理部24は、これら画素P1〜P4のうち、まず、画素P1について(ステップS334)、長さ記録バッファ34内に記録されている値と、初期値(すなわち、5以上の値)と、を比較する(ステップS336)。この場合、長さ記録バッファ34には、図14に示すように、左端の画素P1について、長さ「4」が記録されているため、その記録されている値(すなわち、4)は、初期値(すなわち、5以上の値)と一致しない(4≠初期値)。従って、エッジ処理部24は、画素P1について、置換を行わない。
そして、エッジ処理部24は、画素P2,P3,P4についても、同様の処理を行う(ステップS342,S344)。その結果、図14に示すように、画素P1,P2,P3,P4については、何れも、置換は行われない。こうして、図5に示す水平方向エッジ置換処理は終了する。
次に、エッジ処理部24は、注目画素に対し上側エッジの有無を判定し(ステップS116)、エッジが存在しないため、注目画素を右に移動させるが、図14に示すように、注目画素の右側にはエッジが存在するため、図5のステップS302で計算した長さDの値(この場合、D=8)だけ、注目画素を移動させる(ステップS122)。その後、注目画素がさらに移動して1ライン下に移った後、線画Bにおける左端の黒色画素の、1つ左側に位置すると、エッジ処理部24は、前回と同様の処理を繰り返すが、その処理おいても、置換を行わない。さらに、注目画素の移動に伴い、同様の処理が繰り返されるが、注目画素の何れの位置における処理においても、上記の場合と同様に、置換は行われない。
図15は図3の出力バッファ及び長さ記録バッファのうち、線画Bに対応する部分の状態を、注目画素の上側にエッジがある場合について示した説明図である。図15に示す状態は、注目画素がさらに移動して、線画Bにおける左下の黒色画素(Sドット)の、1つ下側に位置している状態である。
この状態において、エッジ処理部24は、再び、注目画素に対し下側エッジ、右側エッジ、上側エッジの有無をそれぞれ判定し(ステップS108,S112、S116)、その判定の結果、注目画素の下側及び右側にはエッジは存在しないが、上側にはエッジが存在するため、図6に示す上側エッジ置換処理を実行する(ステップS118)。
上側エッジ置換処理が開始されると、エッジ処理部24は、上側エッジの下端に位置する画素(すなわち、注目画素の1つ上の画素)について、長さ記録バッファ34内に記録されている値が、初期値であるか否かを判定する(ステップS402)。この場合、図15に示すように、その画素について、長さ記録バッファ34内には長さ「4」が記録されており、初期値ではないため、エッジ処理部24は、置換を行うことなく、図6に示す上側エッジ置換処理を終了する。
次に、エッジ処理部24は、注目画素を右に1画素分移動させ(ステップS122)、前回と同様の処理を繰り返すが、この処理においても、置換を行わない。こうして、注目画素の移動に伴い、同様の処理が繰り返されるが、注目画素の何れの位置における処理においても、上記の場合と同様に、置換は行われない。
以上によって、線画Bに対するエッジ処理は完了する。
線画Bは、前述したとおり、横方向が縦方向よりも長くなっているため、例えば、記録バッファ34を用いた判定処理など(図5のS336など)によって、より長い方向である横方向においてSドットが並ぶよう、ドットサイズの置換を行っているので、長い方向のエッジをより滑らかに再現することができる。
B−5.線画Cに対するエッジ処理:
次に、線画Cに対するエッジ処理について説明する。図16は図3の線画Cに対するエッジ処理によるドット置換の様子を示す説明図である。線画Cは、前述したとおり、横6×縦6の黒色画素によって構成されており、縦方向も横方向も同じ長さとなっているため、図16に示すように、縦方向も横方向も同様なパターンでドットが並ぶよう、ドット置換を行うようにしている。
具体的には、線画Cに対しては、注目画素の移動に従って、次のようにエッジ処理がなされることになる。図17は図3の出力バッファ及び長さ記録バッファのうち、線画Cに対応する部分の状態遷移を、注目画素の下側にエッジがある場合について示した説明図である。図17(a)に示す状態は初期状態であり、注目画素が、線画Cにおける左上の黒色画素(Lドット)の、1つ上側に位置している状態である。
そこで、エッジ処理部24は、図2のステップS108において、注目画素の下側にエッジが存在するか否かを判定し、判定の結果、下側にエッジが存在するため、図4に示す下側エッジ置換処理を実行する(ステップS110)。
下側エッジ置換処理が開始されると、エッジ処理部24は、注目画素の下側に、縦方向の直線に沿って連なる黒色画素列の長さDを計算する(ステップS202)。この場合、線画Cの縦方向は6画素であるため、D=6となる。次に、エッジ処理部24は、得られた長さDが4より大きい(D>4)か否かを判定する(ステップS204)。この場合、長さDは「6」であり、線画Aの場合と同様に、4より大きいため、以下の処理は、線画Aの場合と同様となる。従って、線画Cに関し、注目画素の下側にエッジがある場合の、これ以降の処理についての説明は、省略する。
図18は図3の出力バッファ及び長さ記録バッファのうち、線画Cに対応する部分の状態遷移を、注目画素の右側にエッジがある場合について示した説明図である。図18(a)に示す状態は、図17(d)に示す状態から、注目画素が、移動して1ライン下に移った後、線画Cにおける左上の黒色画素(Sドット)の、1つ左側に位置している状態である。
この状態において、エッジ処理部24は、再び、注目画素に対し下側エッジ、右側エッジの有無をそれぞれ判定し(ステップS108,S112)、その判定の結果、注目画素の下側にはエッジは存在しないが、右側にはエッジが存在するため、図5に示す水平方向エッジ置換処理を実行する(ステップS114)。
水平方向エッジ置換処理が開始されると、エッジ処理部24は、注目画素の右側に、横方向の直線に沿って連なる黒色画素列の長さDを計算する(ステップS302)。この場合、線画Cの横方向は6画素であるため、D=6となる。次に、エッジ処理部24は、得られた長さDが4より大きい(D>4)か否かを判定する(ステップS304)。この場合、長さDは、D=6で、4より大きいため、エッジ処理部24は、長さDが5以上である場合の端部向け置換パターン(パターンテーブルreplace_pattern2)を読み出す(ステップS330)。そして、エッジ処理部24は、注目画素の右側に横方向に連なる黒色画素のうち、左端の2画素と右端の2画素の、合計4つの画素を、左側から順にP1,P2,P3,P4として設定する(ステップS332)。
次に、エッジ処理部24は、これら画素P1〜P4のうち、まず、画素P1について(ステップS334)、長さ記録バッファ34内に記録されている値と、初期値(すなわち、5以上の値)と、を比較する(ステップS336)。この場合、長さ記録バッファ34には、図18(a)に示すように、左端の画素P1について、初期値「−」が記録されているため、その記録されている値は、初期値と一致する。
従って、エッジ処理部24は、処理をステップS338に移行し、画素P1について置換しようしているドットサイズが、現時点で画素P1に割り当てられているドットサイズよりも、小さいか否かを判定する(ステップS338)。この場合、ステップS330で読み出された端部向け置換パターンは、図9に示すように{S,M},{M,S}であるため、左端の画素P1について置換しようとしているドットサイズは、Sサイズである。また、現時点で画素P1に割り当てられているドットサイズも、図18(a)に示すごとく、出力バッファ32内の、画素P1についてのデータ値から明らかなように、Sサイズである。従って、画素P1について置換しようとしているドットサイズは、現時点で画素P1について割り当てられているドットサイズよりも小さくはないため、エッジ処理部24は、画素P1について、置換を行わない。
そして、エッジ処理部24は、画素P2,P3,P4についても、同様の処理を行う(ステップS342,S344)。図18(a)に示すように、現時点で画素P2〜P4に割り当てられているドットサイズは、何れも、Sサイズであるため、エッジ処理部24は、これら画素P2〜P4についても、置換を行わない。こうして、図5に示す水平方向エッジ置換処理は終了する。
次に、エッジ処理部24は、注目画素に対し上側エッジの有無を判定し(ステップS116)、エッジが存在しないため、注目画素を右に移動させるが、図18(a)に示すように、注目画素の右側にはエッジが存在するため、図5のステップS302で計算した長さDの値(この場合、D=6)だけ、注目画素を移動させる(ステップS122)。その後、注目画素がさらに移動して1ライン下に移った後、線画Cにおける左端の黒色画素(上から2つ目)の、1つ左側に位置すると、図18(b)に示す状態となる。
この状態において、エッジ処理部24は、注目画素に対し下側エッジ、右側エッジの有無をそれぞれ判定し(ステップS108,S112)、その判定の結果、右側にはエッジが存在するため、再び、図5に示す水平方向エッジ置換処理を実行する(ステップS114)。
水平方向エッジ置換処理が開始されると、エッジ処理部24は、注目画素の右側に、横方向の直線に沿って連なる黒色画素列の長さDを計算し(ステップS302)、前回と同様にして、D=6を得る。次に、エッジ処理部24は、その長さDが4より大きい(D>4)か否かを判定し(ステップS304)、前回と同様に、長さDは4より大きいため、長さDが5以上である場合の端部向け置換パターン(パターンテーブルreplace_pattern2)を読み出す(ステップS330)。そして、エッジ処理部24は、注目画素の右側に横方向に連なる黒色画素のうち、図18(b)に示すように、左端の2画素と右端の2画素の、合計4つの画素を、左側から順にP1,P2,P3,P4として設定する(ステップS332)。
次に、エッジ処理部24は、これら画素P1〜P4のうち、まず、画素P1について(ステップS334)、長さ記録バッファ34内に記録されている値と、初期値と、を比較する(ステップS336)。この場合も、長さ記録バッファ34には、図18(b)に示すように、左端の画素P1について、初期値「−」が記録されているため、その記録されている値は、初期値と一致する。
そこで、エッジ処理部24は、処理をステップS338に移行し、画素P1について置換しようしているドットサイズが、現時点で画素P1に割り当てられているドットサイズよりも、小さいか否かを判定する(ステップS338)。この場合も、ステップS330で読み出された端部向け置換パターンは、{S,M},{M,S}であるため、左端の画素P1について置換しようとしているドットサイズは、Sサイズである。一方、現時点で画素P1に割り当てられているドットサイズは、図18(b)に示すごとく、出力バッファ32内の、画素P1についてのデータ値から明らかなように、Mサイズである。従って、画素P1について置換しようとしているドットサイズは、現時点で画素P1について割り当てられているドットサイズよりも小さいため、エッジ処理部24は、画像P1について置換を実行し、図18(c)に示すように、画素P1(Mドット)をSドットに置換する(ステップS340)。
次に、エッジ処理部24は、画素P2について、同様の処理を繰り返すが(ステップS342,S344)、この場合、ステップS330で読み出された端部向け置換パターンは、{S,M},{M,S}であるため、左端から2番目の画素P2について置換しようとしているドットサイズは、Mサイズである。一方、現時点で画素P2について割り当てられているドットサイズは、図18(c)に示すごとく、出力バッファ32内の、画素P2についてのデータ値から明らかなように、Mサイズである。従って、画素P2について置換しようとしているドットサイズは、現時点で画素P2について割り当てられているドットサイズよりも小さくはないため、エッジ処理部24は、画素P2について、置換を行わない。
一方、画素P3については、画素P2の場合と同様に、置換しようとしているドットサイズはMサイズであり、現時点で割り当てられているドットサイズもMサイズであるため、エッジ処理部24は、画素P3について、置換を行わない。
また、画素P4については、画素P1の場合と同様に、置換しようとしているドットサイズはSサイズであるのに対し、現時点で割り当てられているドットサイズはMサイズであり、置換しようとしているドットサイズの方が小さいため、エッジ処理部24は、画素P4について置換を実行し、図18(c)に示すように、画素P4(Mドット)をSドットに置換する。こうして、図5に示す水平方向エッジ置換処理は終了する。
その後、注目画素の移動に伴い、右側エッジ及び左側エッジに関して同様の処理が繰り返されて、最終的には、図18(d)に示すような状態となる。
図19及び図20は図3の出力バッファ及び長さ記録バッファのうち、線画Cに対応する部分の状態遷移を、注目画素の上側にエッジがある場合について示した説明図である。図19(a)に示す状態は、図18(d)に示す状態から、注目画素が、移動して1ライン下に移った後、線画Cにおける左下の黒色画素(Sドット)の、1つ下側に位置している状態である。
この状態において、エッジ処理部24は、再び、注目画素に対し下側エッジ、右側エッジ、上側エッジの有無をそれぞれ判定し(ステップS108,S112、S116)、その判定の結果、注目画素の下側及び右側にはエッジは存在しないが、上側にはエッジが存在するため、図6に示す上側エッジ置換処理を実行する(ステップS118)。
上側エッジ置換処理が開始されると、エッジ処理部24は、上側エッジの下端に位置する画素(すなわち、注目画素の1つ上の画素)について、長さ記録バッファ34内に記録されている値が、初期値であるか否かを判定する(ステップS402)。この場合、図19(a)に示すように、その画素について、長さ記録バッファ34内には初期値「−」が記録されているため、エッジ処理部24は、長さ記録バッファ34内に記録されている値が初期値であるとして、長さDが5以上である場合の端部向け置換パターン(パターンテーブルreplace_pattern2)を読み出す(ステップS404)。そして、エッジ処理部24は、図19(a)に示すように、注目画素の上側に縦方向に連なる黒色画素のうち、下端の2画素(すなわち、上側エッジ付近の2画素)を、下側から順にP1,P2として設定する(ステップS406)。
次に、エッジ処理部24は、これら画素P1,P2のうち、まず、画素P1について(ステップS408)、置換しようしているドットサイズが、現時点で画素P1に割り当てられているドットサイズよりも、小さいか否かを判定する(ステップS410)。この場合、ステップS404で読み出された端部向け置換パターンは、{S,M}であるため、下端の画素P1について置換しようとしているドットサイズは、Sサイズである。一方、現時点で画素P1に割り当てられているドットサイズは、図19(a)に示すごとく、出力バッファ32内の、画素P1についてのデータ値から明らかなように、Sサイズである。従って、画素P1について置換しようとしているドットサイズは、現時点で画素P1について割り当てられているドットサイズよりも小さくはないため、エッジ処理部24は、画素P1について、置換を行わない。
次に、エッジ処理部24は、画素P2について、同様の処理を繰り返すが(ステップS414,S416)、この場合、ステップS404で読み出された端部向け置換パターンは、{S,M}であるため、下端から2番目の画素P2について置換しようとしているドットサイズは、Mサイズである。一方、現時点で画素P2について割り当てられているドットサイズは、図19(a)に示すごとく、出力バッファ32内の、画素P2についてのデータ値から明らかなように、Sサイズである。従って、画素P2について置換しようとしているドットサイズは、現時点で画素P2について割り当てられているドットサイズよりも小さくはないため、エッジ処理部24は、画素P2についても、置換を行わない。こうして、図6に示す上側エッジ置換処理は終了する。
次に、エッジ処理部24が、注目画素を右に1画素分移動させると(ステップS122)、注目画素は、線画Cにおける下端の黒色画素(左から2つ目)の、1つ下側に位置する。そこで、エッジ処理部24は、注目画素に対し下側エッジ、右側エッジ、上側エッジの有無をそれぞれ判定し(ステップS108,S112、S116)、その判定の結果、上側にはエッジが存在するため、再度、図6に示す上側エッジ置換処理を実行する(ステップS118)。
上側エッジ置換処理が開始されると、エッジ処理部24は、上側エッジの下端に位置する画素について、長さ記録バッファ34内に記録されている値が、初期値であるか否かを判定し(ステップS402)、この場合も、図19(b)に示すように、その画素について、長さ記録バッファ34内には初期値「−」が記録されているため、エッジ処理部24は、前回と同様に、長さ記録バッファ34内に記録されている値が初期値であるとして、長さDが5以上である場合の端部向け置換パターン(パターンテーブルreplace_pattern2)を読み出す(ステップS404)。そして、エッジ処理部24は、図19(b)に示すように、注目画素の上側に縦方向に連なる黒色画素のうち、下端の2画素を、下側から順にP1,P2として設定する(ステップS406)。但し、図19(b)では、これら画素P1,P2に関して、置換処理完了後の状態を示している。
次に、エッジ処理部24は、これら画素P1,P2のうち、まず、画素P1について(ステップS408)、置換しようしているドットサイズが、現時点で画素P1に割り当てられているドットサイズよりも、小さいか否かを判定する(ステップS410)。この場合、ステップS404で読み出された端部向け置換パターンは、{S,M}であるため、下端の画素P1について置換しようとしているドットサイズは、Sサイズである。一方、現時点で画素P1に割り当てられているドットサイズは、出力バッファ32内の、画素P1についてのデータ値から明らかなように、Mサイズである。従って、画素P1について置換しようとしているドットサイズは、現時点で画素P1について割り当てられているドットサイズよりも小さいため、エッジ処理部24は、画像P1について置換を実行し、図19(b)に示すように、画素P1(Mドット)をSドットに置換する(ステップS412)。
次に、エッジ処理部24は、画素P2について、同様の処理を繰り返すが(ステップS414,S416)、この場合、ステップS404で読み出された端部向け置換パターンは、{S,M}であるため、下端から2番目の画素P2について置換しようとしているドットサイズは、Mサイズである。一方、現時点で画素P2について割り当てられているドットサイズは、出力バッファ32内の、画素P2についてのデータ値から明らかなように、Mサイズである。従って、画素P2について置換しようとしているドットサイズは、現時点で画素P2について割り当てられているドットサイズよりも小さくはないため、エッジ処理部24は、画素P2について、置換を行わない。こうして、図6に示す上側エッジ置換処理は終了する。
その後、注目画素の移動に伴い、上側エッジに関して同様の処理が繰り返されて、最終的には、図20に示すような状態となる。
C.実施例の効果:
本実施例によれば、線画のエッジを検出し、そのエッジと対向する他のエッジとの間の画素列の長さDを計算して、その長さの値に応じて置換パターンを決定し、ドットの置換を行うことで、無駄な演算やメモリ参照を減らすことができ、演算量やメモリ参照回数が少なく、高速なエッジ処理を実現することができる。
なお、この効果を定量的に示すため、処理実験を行い、処理の実行の際に行われる、メモリ参照(記録含む)、乗算、加算それぞれの回数を測定した。
図21はその処理実験に用いた画像を示す説明図であり、図22はその処理実験の結果を比較例と本実施例とで比較して示した説明図である。
処理には、図21に示すような画像を用いた。すなわち、画素数が100×100、線画の長辺の長さが49、線画の線幅が9である画像を用いた。また、比較例として、特開2005−178144号公報に記載の処理を用いた。
その結果、本実施例では、図22に示すように、メモリ参照、乗算、加算すべてにおいて、比較例よりも回数を減らすことができ、高速に実行できる効果が得られた。特に、比較例では、7×7のラプラシアンフィルタを用いてエッジからの距離の計算などのために、乗算処理を行っているのに対し、本実施例では、そのような乗算処理を行うことなく、長さDの計算などのために、加算処理を行っているだけであるため、その分、高速な処理を実現することができる。
D.変形例:
なお、本発明は上記した実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
上記した実施例では、画像において、エッジ処理の対象となる領域については、特に言及しなかったが、画像を印刷した際、輪郭部における滲み出しによる不具合は、文字や記号等がある文字・線画領域において発生しやすいため、エッジ処理はテキスト領域を対象とするのが好ましい。その場合、画像において、文字・線画領域であるか否かを判定し、文字・線画領域であれば、エッジ処理を行い、文字・線画領域以外の領域であれば、エッジ処理を行わないようにしてもよい。ここで、文字・線画領域とは、文字、記号、図形、グラフなどが存在する領域を言う。
なお、画像において、文字・線画領域であるか否かは、例えば、CMYKデータの値に基づいて判定するようにしてもよい。また、画素の輝度が所定値(例えば、256階調のうちの160階調)未満であるか否かに基づき、所定値未満であれば、文字・線画領域であると判定するようにしてもよい。また、画素の輝度が所定値(例えば、15)未満であるか否かに基づき、所定値未満であれば、文字・線画領域であると判定するようにしてもよい。
また、オペレーティングシステムから画素毎の属性情報を取得し、画素毎にドットサイズの置換の実行可否を判定するようにしてもよい。この方法を用いることで、より精度の高い判定が可能となる。
上記した実施例では、ドットサイズの置換パターンとして、図9に示すような置換パターンを用いるようにしているが、本発明はこれに限定されるものではなく、異なる置換パターンを用いるようにしてもよい。また、端部向け置換パターンは、長さDが5以上である場合に用いるようにしていたが、「5」の値に限定されるものではない。また、長さ記録バッファ34に記録されている初期値も5以上の値であるとしていたが、「5」の値に限定されるものではない。
上記した実施例では、所定方向の直線に沿って連なる黒色画素列の長さDを計算するようにしていたが、その際、その黒色画素列の全ての長さを計算する必要はなく、長さ記録バッファ34に記録されている初期値が5以上の値であるため、計算途中でその長さが5以上であることが明らかであれば、そこで計算を止め、長さDを5、または、5以上の値としてもよい。
上記した実施例では、画像処理装置100は、パーソナルコンピュータから成るものとしていたが、サーバコンピュータなど他の種類のコンピュータで構成するようにしてもよい。また、印刷装置200は、プリンタから成るものとしていたが、印刷機能を有する複合機やファクシミリ装置などで構成するようにしてもよい。また、画像処理装置100を、印刷装置200内に搭載するようにしてもよく、また、その他、画像の取り扱いを行うことが可能な装置に搭載するようにしてもよい。
本発明の一実施例としての画像処理装置を含む印刷システムの構成を示すブロック図である。 図1におけるエッジ処理部24において実行されるエッジ処理の処理フローを示すフローチャートである。 印刷対象である画像の一例と図1における出力バッファ32内及び記録バッファ34内の状態を示す説明図である。 図2における下側エッジ置換処理の処理フローを示すフローチャートである。 図2における水平方向置換処理の処理フローを示すフローチャートである。 図2における上側エッジ置換処理の処理フローを示すフローチャートである。 図3の線画Aに対するエッジ処理によるドットサイズの置換の様子を示す説明図である。 図3の出力バッファ及び長さ記録バッファのうち、線画Aに対応する部分の状態遷移を、注目画素の下側にエッジがある場合について示した説明図である。 長さDとドットサイズの置換パターンとの対応関係を示す説明図である。 図3の出力バッファ及び長さ記録バッファのうち、線画Aに対応する部分の状態遷移を、注目画素の右側にエッジがある場合について示した説明図である。 図3の出力バッファ及び長さ記録バッファのうち、線画Aに対応する部分の状態遷移を、注目画素の上側にエッジがある場合について示した説明図である。 図3の線画Bに対するエッジ処理によるドットサイズの置換の様子を示す説明図である。 図3の出力バッファ及び長さ記録バッファのうち、線画Bに対応する部分の状態遷移を、注目画素の下側にエッジがある場合について示した説明図である。 図3の出力バッファ及び長さ記録バッファのうち、線画Bに対応する部分の状態を、注目画素の右側にエッジがある場合について示した説明図である。 図3の出力バッファ及び長さ記録バッファのうち、線画Bに対応する部分の状態を、注目画素の上側にエッジがある場合について示した説明図である。 図3の線画Cに対するエッジ処理によるドット置換の様子を示す説明図である。 図3の出力バッファ及び長さ記録バッファのうち、線画Cに対応する部分の状態遷移を、注目画素の下側にエッジがある場合について示した説明図である。 図3の出力バッファ及び長さ記録バッファのうち、線画Cに対応する部分の状態遷移を、注目画素の右側にエッジがある場合について示した説明図である。 図3の出力バッファ及び長さ記録バッファのうち、線画Cに対応する部分の状態遷移を、注目画素の上側にエッジがある場合について示した説明図である。 図3の出力バッファ及び長さ記録バッファのうち、線画Cに対応する部分の状態を、注目画素の上側にエッジがある場合について示した説明図である。 処理実験に用いた画像を示す説明図である。 処理実験の結果を比較例と実施例とで比較して示した説明図である。
符号の説明
10…アプリケーション
20…プリンタドライバ
21…解像度変換処理部
22…色変換処理部
23…ハーフトーン処理部
24…エッジ処理部
24A…エッジ検出部
24B…長さ計算部
24C…置換部
25…ラスタライズ処理部
32…出力バッファ
34…長さ記録バッファ
40…画像
100…画像処理装置
110…CPU
120…メモリ
130…入出力インタフェース部
200…印刷装置
210…CPU
220…メモリ
230…入出力インタフェース部
240…ユニット制御回路
250…ヘッドユニット
260…キャリッジユニット
270…搬送ユニット

Claims (8)

  1. 少なくとも2種類のサイズの異なるドットを形成可能な印刷装置を用いて画像を印刷するときに、複数の画素から構成される前記画像を表す画像データを処理する画像処理装置であって、
    前記画像データは、前記画素に対応する前記ドットのサイズに関する情報を含み、
    前記画像データに基づいて、前記ドットで形成すべき前記画素が複数集まって構成される画素集合体について、前記画素集合体の最外郭を検出する最外郭検出部と、
    前記画像データに基づいて、前記画素集合体を構成する前記画素のうち、前記最外郭を構成する第1の画素から所定方向の直線に沿って連なる画素列の長さを算出する算出部と、
    前記長さに基づいて、少なくとも前記第1の画素に対応する前記ドットのサイズを、最大サイズ以外のなかから決定し、前記画像データにおいて、前記第1の画素に対応する前記ドットのサイズに関する情報を、前記決定したサイズに置き換える置換部と、
    を備える、画像処理装置。
  2. 請求項1に記載の画像処理装置において、
    前記置換部は、前記長さに基づいて、前記直線において前記第1の画素に隣接する第2の画素について、前記第2の画素に対応する前記ドットのサイズを、前記最大サイズ以外のなかから決定し、前記画像データにおいて、前記第2の画素に対応する前記ドットのサイズに関する情報を、前記第2の画素について前記決定したサイズに置き換える、画像処理装置。
  3. 請求項1または請求項2に記載の画像処理装置において、
    前記置換部は、前記長さに基づいて、前記直線に位置する画素であって、前記画素集合体の最外郭を構成する画素のうち、前記第1の画素とは異なる第3の画素について、前記第3の画素に対応する前記ドットのサイズを、前記最大サイズ以外のなかから決定し、前記画像データにおいて、前記第3の画素に対応する前記ドットのサイズに関する情報を、前記第3の画素について前記決定したサイズに置き換える、画像処理装置。
  4. 請求項3に記載の画像処理装置において、
    前記置換部は、前記長さに基づいて、前記直線において前記第3の画素に隣接する第4の画素について、前記第4の画素に対応する前記ドットのサイズを、前記最大サイズ以外のなかから決定し、前記画像データにおいて、前記第4の画素に対応する前記ドットのサイズに関する情報を、前記第4の画素について前記決定したサイズに置き換える、画像処理装置。
  5. 請求項1ないし請求項4のいずれかに記載の画像処理装置において、
    前記置換部は、前記長さと、前記ドットのサイズと、を対応付けるテーブルを備え、前記算出した前記長さを基に、前記テーブルを参照して、前記ドットのサイズを導き出す、画像処理装置。
  6. 請求項1ないし請求項5のいずれかに記載の画像処理装置において、
    前記所定方向は、第1の方向と、該第1の方向と直交する第2の方向であると共に、
    前記置換部は、前記第2の方向の直線に関して算出した前記長さに基づいて、前記ドットのサイズに関する情報を置き換える場合に、前記第1の方向の直線に関して算出した前記長さに基づいて、前記ドットのサイズに関する情報の置き換えがなされている画素については、前記第2の方向の直線に関して算出した前記長さが、前記第1の方向の直線に関して算出した前記長さよりも小さい場合に、置き換えを実行する画像処理装置。
  7. 少なくとも2種類のサイズの異なるドットを形成可能な印刷装置を用いて画像を印刷するときに、複数の画素から構成される前記画像を表す画像データを処理する画像処理方法であって、
    前記画像データは、前記画素に対応する前記ドットのサイズに関する情報を含み、
    前記画像データに基づいて、前記ドットで形成すべき前記画素が複数集まって構成される画素集合体について、前記画素集合体の最外郭を検出する工程と、
    前記画像データに基づいて、前記画素集合体を構成する前記画素のうち、前記最外郭を構成する第1の画素から所定方向の直線に沿って連なる画素列の長さを算出する工程と、
    前記長さに基づいて、少なくとも前記第1の画素に対応する前記ドットのサイズを、最大サイズ以外のなかから決定する工程と、
    前記画像データにおいて、前記第1の画素に対応する前記ドットのサイズに関する情報を、前記決定したサイズに置き換える工程と、
    を含む、画像処理方法。
  8. 少なくとも2種類のサイズの異なるドットを形成可能な印刷装置を用いて画像を印刷するときに、複数の画素から構成される前記画像を表す画像データを処理するためのコンピュータプログラムであって、
    前記画像データは、前記画素に対応する前記ドットのサイズに関する情報を含み、
    前記画像データに基づいて、前記ドットで形成すべき前記画素が複数集まって構成される画素集合体について、前記画素集合体の最外郭を検出する機能と、
    前記画像データに基づいて、前記画素集合体を構成する前記画素のうち、前記最外郭を構成する第1の画素から所定方向の直線に沿って連なる画素列の長さを算出する機能と、
    前記長さに基づいて、少なくとも前記第1の画素に対応する前記ドットのサイズを、最大サイズ以外のなかから決定する機能と、
    前記画像データにおいて、前記第1の画素に対応する前記ドットのサイズに関する情報を、前記決定したサイズに置き換える機能と、
    をコンピュータにおいて実現させるためのコンピュータプログラム。
JP2007204614A 2007-08-06 2007-08-06 画像処理装置及びその方法 Pending JP2009039880A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007204614A JP2009039880A (ja) 2007-08-06 2007-08-06 画像処理装置及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007204614A JP2009039880A (ja) 2007-08-06 2007-08-06 画像処理装置及びその方法

Publications (1)

Publication Number Publication Date
JP2009039880A true JP2009039880A (ja) 2009-02-26

Family

ID=40441184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007204614A Pending JP2009039880A (ja) 2007-08-06 2007-08-06 画像処理装置及びその方法

Country Status (1)

Country Link
JP (1) JP2009039880A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8419146B2 (en) 2009-12-29 2013-04-16 Brother Kogyo Kabushiki Kaisha Image recording apparatus
US8619332B2 (en) 2008-11-27 2013-12-31 Seiko Epson Corporation Apparatus, method, and storage medium for improving print quality of an image
JP2014176982A (ja) * 2013-03-13 2014-09-25 Ricoh Co Ltd 画像処理装置、画像形成装置、および画像処理方法、並びにプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8619332B2 (en) 2008-11-27 2013-12-31 Seiko Epson Corporation Apparatus, method, and storage medium for improving print quality of an image
US8419146B2 (en) 2009-12-29 2013-04-16 Brother Kogyo Kabushiki Kaisha Image recording apparatus
JP2014176982A (ja) * 2013-03-13 2014-09-25 Ricoh Co Ltd 画像処理装置、画像形成装置、および画像処理方法、並びにプログラム

Similar Documents

Publication Publication Date Title
JP2007296754A (ja) インクジェット記録方法およびミスト低減条件設定装置
JP2010179576A (ja) ドット記録システム、ドット記録方法、及び、コンピュータープログラム
JP2010130303A (ja) 印刷制御装置、印刷装置、印刷制御方法およびコンピュータプログラム
JP2007307891A (ja) インクジェット記録装置、画像処理装置および画像処理方法
JP6119322B2 (ja) 画像データ処理装置、印刷装置および印刷システム
JP4469184B2 (ja) カラーコンビネーションを有する画像を処理する方法及び装置
JP2009039880A (ja) 画像処理装置及びその方法
JP2009194894A (ja) エッジ周辺の印刷画質を向上可能な画像処理
JP2005001202A (ja) インクジェットプリンタ及びインクジェット印刷システム
JP2005088342A (ja) 改善インクの減色処理
US7246867B2 (en) Ink jet recording apparatus and ink jet recording method
JP6307939B2 (ja) 画像形成装置、及び、画像形成方法
JP5773767B2 (ja) 画像処理装置、画像形成装置および画像処理方法
JP2005081780A (ja) 印刷装置、印刷方法およびプログラム
JP2007245583A (ja) インクジェット記録装置、インクジェット記録方法、およびプログラム
JP2004306392A (ja) 印刷装置、制御装置、印刷方法、制御方法およびプログラム
JP2005040994A (ja) 印刷装置、印刷方法及びプログラム
JP2009177566A (ja) 印刷画質を向上可能な画像処理
JP2009278416A (ja) 画像処理装置、画像処理方法およびコンピュータプログラム
JP2004314411A (ja) 印刷装置、制御装置、印刷方法、制御方法およびプログラム
JP4921133B2 (ja) 記録装置
JP2005001189A (ja) 印刷装置、および印刷方法
JP2009268030A (ja) 画像処理装置、画像処理方法およびコンピュータプログラム
JP2008000959A (ja) インクジェット記録装置および画像処理方法
JP2005178144A (ja) 印刷装置、印刷制御装置、印刷方法およびプログラム