JP2015046835A - 画像形成装置及び画像形成方法 - Google Patents
画像形成装置及び画像形成方法 Download PDFInfo
- Publication number
- JP2015046835A JP2015046835A JP2013178205A JP2013178205A JP2015046835A JP 2015046835 A JP2015046835 A JP 2015046835A JP 2013178205 A JP2013178205 A JP 2013178205A JP 2013178205 A JP2013178205 A JP 2013178205A JP 2015046835 A JP2015046835 A JP 2015046835A
- Authority
- JP
- Japan
- Prior art keywords
- image
- value
- pixel
- pixel value
- unit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1867—Post-processing of the composed and rasterized print image
- G06K15/1872—Image enhancement
- G06K15/1878—Adjusting colours
- G06K15/188—Adjusting colours with provisions for treating some of the print data differently
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/40012—Conversion of colour to monochrome
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1801—Input data handling means
- G06K15/1822—Analysing the received data before processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/387—Composing, repositioning or otherwise geometrically modifying originals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/409—Edge or detail enhancement; Noise or error suppression
- H04N1/4092—Edge or detail enhancement
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Record Information Processing For Printing (AREA)
- Editing Of Facsimile Originals (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】似たような色の画像が隣接する場合でも、これらの画像を容易に区別することができるように画像を形成すること。【解決手段】印刷装置100は、形成する複数の画像を指示する印刷データに基づいて、複数の画像の画素値を示す画像データを生成するデータ生成部130と、データ生成部130で生成された画像データに基づいて、記録媒体に画像を形成する印刷部140とを備え、データ生成部130は、複数の画像に含まれる一の画像の画素値と、一の画像に隣接する画像の画素値とが近似する場合には、一の画像と、隣接する画像との境界を強調するように、画像データを生成する。【選択図】図1
Description
本発明は、画像形成装置及び画像形成方法に関する。
カラーで表現された画像を含む印刷データに基づいて、記録媒体にモノクロの画像を形成する場合がある。このような場合、従来の画像形成装置は、特許文献1に開示されているように、カラーの色に対応した傾き、太さ又は密度を持つ罫線でパタンを作成し、そのパタンをカラーの前景色と置き換えて描画を行う。これにより、カラーでは異なる色だったにもかかわらずグレー化したときに同じような色となってしまい視認性が下がってしまうような場合でも、視認性を保つことができる。
しかしながら、前景色をパタンに置き換えてしまう方式では、出力結果が前景色によるものとかけ離れてしまう可能性があり、また、生成されるパタンによっては、見づらいものとなってしまうという問題があった。
また、カラーで表現された画像を含む印刷データに基づいて、記録媒体にカラーの画像を形成する場合でも、似たような色の画像が隣接している場合には、画像同士を区別することが困難な場合もある。
また、カラーで表現された画像を含む印刷データに基づいて、記録媒体にカラーの画像を形成する場合でも、似たような色の画像が隣接している場合には、画像同士を区別することが困難な場合もある。
そこで、本発明は、似たような色の画像が隣接する場合でも、これらの画像を容易に区別することができるように画像を形成することを目的とする。
本発明の一態様に係る画像形成装置は、形成する複数の画像を指示する画像形成データに基づいて、前記複数の画像の画素値を示す画像データを生成するデータ生成部と、前記データ生成部で生成された画像データに基づいて、記録媒体に画像を形成する画像形成部と、を備え、前記データ生成部は、前記複数の画像に含まれる一の画像の画素値と、当該一の画像に隣接する画像の画素値とが近似する場合には、当該一の画像と、当該隣接する画像との境界を強調するように、前記画像データを生成することを特徴とする。
本発明の一態様に係る画像形成方法は、形成する複数の画像を指示する画像形成データに基づいて、前記複数の画像の画素値を示す画像データを生成するデータ生成過程と、前記データ生成過程で生成された画像データに基づいて、記録媒体に画像を形成する画像形成過程と、を有し、前記データ生成過程では、前記複数の画像に含まれる一の画像の画素値と、当該一の画像に隣接する画像の画素値とが近似する場合には、当該一の画像と、当該隣接する画像との境界を強調するように、前記画像データが生成されることを特徴とする。
本発明の一態様によれば、似たような色の画像が隣接する場合でも、これらの画像を容易に区別することができるように画像を形成することができる。
以下、図面を参照して、本発明が適用された画像形成装置及び画像形成方法について説明する。
実施の形態1.
(構成の説明)
図1は、実施の形態1に係る画像形成装置としての印刷装置100の構成を概略的に示すブロック図である。印刷装置100は、実施の形態1に係る画像形成方法を実行する。なお、図1の括弧内の符号は、実施の形態2における構成を示している。
印刷装置100は、通信部110と、受信バッファ120と、データ生成部130と、印刷部140とを備える。
ここで、印刷装置100は、プリンタであり、ネットワーク160を介して、PCである上位装置170に接続されている。
(構成の説明)
図1は、実施の形態1に係る画像形成装置としての印刷装置100の構成を概略的に示すブロック図である。印刷装置100は、実施の形態1に係る画像形成方法を実行する。なお、図1の括弧内の符号は、実施の形態2における構成を示している。
印刷装置100は、通信部110と、受信バッファ120と、データ生成部130と、印刷部140とを備える。
ここで、印刷装置100は、プリンタであり、ネットワーク160を介して、PCである上位装置170に接続されている。
通信部110は、上位装置170からPDL(Page Description Language)等で表現されたコマンドを含む印刷データ(画像形成データ)を受信する受信部として機能する。例えば、通信部110は、ネットワーク160を介して、上位装置170から印刷データを受信する。印刷データは、形成する複数の画像を指示するデータである。なお、実施の形態1における印刷データは、複数の画像をカラーで形成するように指示するデータである。
受信バッファ120は、通信部110で受信された印刷データを格納する印刷データ記憶部(画像形成データ記憶部)として機能する。
受信バッファ120は、通信部110で受信された印刷データを格納する印刷データ記憶部(画像形成データ記憶部)として機能する。
データ生成部130は、印刷データに基づいて、画像を形成するための画像データを生成する。画像データは、印刷データで形成することが指示されている複数の画像の画素値を示すデータである。ここで、データ生成部130は、印刷データで形成することが指示されている複数の画像に含まれる一の画像の画素値と、この一の画像に隣接する画像の画素値とが近似する場合には、この一の画像と、この隣接する画像との境界を強調するように、画像データを生成する。
データ生成部130は、編集部131と、ページバッファ132と、中間コード解析部133と、エッジ抽出部134と、展開部135と、エッジ展開部136と、ラスタバッファ137とを備える。
データ生成部130は、編集部131と、ページバッファ132と、中間コード解析部133と、エッジ抽出部134と、展開部135と、エッジ展開部136と、ラスタバッファ137とを備える。
編集部131は、印刷データに基づいて、この印刷データで形成することが指示された複数の画像を描画するための中間コードを生成する。例えば、編集部131は、受信バッファ120に記憶されている印刷データから、コマンドをコマンド単位で取得する。編集部131は、取得されたコマンドに応じて中間コードを生成し、生成された中間コードをページバッファ132に格納する。実施の形態1においては、編集部131は、塗りつぶしパタンとして、カラーの前景色を指定するコマンドを、対応するグレースケールで印刷(画像形成)する中間コードに変換する。また、編集部131は、1ページ分のコマンドを処理すると、中間コード解析部133に編集終了を通知する。
編集部131で生成される中間コードには、前景色を指定する前景色中間コード、矩形を描画する矩形中間コード、及び、台形を描画する台形中間コード等のコードが含まれる。また、前景色中間コードは、256階調で表現された前景色階調値を含んでいる。言い換えると、グレーの階調値を示す前景色階調値を含む前景色中間コードと、この前景色中間コードの後に処理される矩形中間コードとは、前景色中間コードに対応するグレーの階調値で、矩形中間コードで示される矩形の画像が形成されることを意味する。また、前景色中間コードと、この前景色中間コードの後に処理される台形中間コードとは、前景色中間コードに対応するグレーの階調値で、台形中間コードで示される台形の画像が形成されることを意味する。即ち、編集部131で生成される中間コードには、階調値を示す前景色中間コードと、その階調値で描画されるグラフィックを示すグラフィック中間コードとが含まれることになる。
ページバッファ132は、編集部131が作成する中間コードを記憶する中間コード記憶部として機能する。
編集部131で生成される中間コードには、前景色を指定する前景色中間コード、矩形を描画する矩形中間コード、及び、台形を描画する台形中間コード等のコードが含まれる。また、前景色中間コードは、256階調で表現された前景色階調値を含んでいる。言い換えると、グレーの階調値を示す前景色階調値を含む前景色中間コードと、この前景色中間コードの後に処理される矩形中間コードとは、前景色中間コードに対応するグレーの階調値で、矩形中間コードで示される矩形の画像が形成されることを意味する。また、前景色中間コードと、この前景色中間コードの後に処理される台形中間コードとは、前景色中間コードに対応するグレーの階調値で、台形中間コードで示される台形の画像が形成されることを意味する。即ち、編集部131で生成される中間コードには、階調値を示す前景色中間コードと、その階調値で描画されるグラフィックを示すグラフィック中間コードとが含まれることになる。
ページバッファ132は、編集部131が作成する中間コードを記憶する中間コード記憶部として機能する。
中間コード解析部133は、ページバッファ132に記憶されている中間コードを解析して、印刷データで形成することが指示された複数の画像の描画範囲及び画素値を特定する。
また、中間コード解析部133は、ページバッファ132に記憶されている中間コードを解析し、その解析結果に応じて、処理を行う。例えば、中間コード解析部133は、解析された中間コードが前景色中間コードである場合、以降、前景色を参照して展開処理を行うように状態を更新するとともに、解析された前景色中間コードに含まれている前景色階調値に従い、前景色階調値設定を更新する。この前景色階調値は、形成される画像の画素値となる。そして、中間コード解析部133は、前景色を参照して展開処理を行う状態のときに、矩形中間コード又は台形中間コードを解析すると、中間コードに対応した描画範囲の情報をエッジ抽出部134に与えて、エッジ抽出部134に中間コード展開を依頼する。前景色を参照して展開処理を行う状態ではない場合、又は、矩形又は台形等のグラフィックの描画以外の描画の場合には、中間コード解析部133は、描画範囲の情報を展開部135に与えて、展開部135に中間コード展開を依頼する。
例えば、矩形の描画範囲の情報には、描画すべき矩形の左上座標と右下座標とが含まれている。台形の描画範囲の情報には、描画すべき台形の上底のy座標yTと、上底の左端x座標xLと、上底の右端x座標xRと、下底のy座標yBと、左辺の傾きdxLと、右辺の傾きdxRとが含まれている。描画するべき台形の上底と下底との間の左辺及び右辺のx座標は、計算により算出することができる。例えば、y座標yTとy座標yBとの間にあるy座標ycにおける左辺のx座標xcL及び右辺のx座標xcRは、下記の(1)及び(2)式で算出される。但し、小数点以下は切り捨てられる。
xcL=xL+(yT−yc)×dxL (1)
xcR=xR+(yT−yc)×dxR (2)
ここで、左辺の傾きdxL及び右辺の傾きdxRは、y軸における変化量に対するx軸における変化量の割合(Δx/Δy)である。
そして、中間コード解析部133は、1ページ分の中間コードを処理したら、印刷部140へ展開終了を通知する。
また、中間コード解析部133は、ページバッファ132に記憶されている中間コードを解析し、その解析結果に応じて、処理を行う。例えば、中間コード解析部133は、解析された中間コードが前景色中間コードである場合、以降、前景色を参照して展開処理を行うように状態を更新するとともに、解析された前景色中間コードに含まれている前景色階調値に従い、前景色階調値設定を更新する。この前景色階調値は、形成される画像の画素値となる。そして、中間コード解析部133は、前景色を参照して展開処理を行う状態のときに、矩形中間コード又は台形中間コードを解析すると、中間コードに対応した描画範囲の情報をエッジ抽出部134に与えて、エッジ抽出部134に中間コード展開を依頼する。前景色を参照して展開処理を行う状態ではない場合、又は、矩形又は台形等のグラフィックの描画以外の描画の場合には、中間コード解析部133は、描画範囲の情報を展開部135に与えて、展開部135に中間コード展開を依頼する。
例えば、矩形の描画範囲の情報には、描画すべき矩形の左上座標と右下座標とが含まれている。台形の描画範囲の情報には、描画すべき台形の上底のy座標yTと、上底の左端x座標xLと、上底の右端x座標xRと、下底のy座標yBと、左辺の傾きdxLと、右辺の傾きdxRとが含まれている。描画するべき台形の上底と下底との間の左辺及び右辺のx座標は、計算により算出することができる。例えば、y座標yTとy座標yBとの間にあるy座標ycにおける左辺のx座標xcL及び右辺のx座標xcRは、下記の(1)及び(2)式で算出される。但し、小数点以下は切り捨てられる。
xcL=xL+(yT−yc)×dxL (1)
xcR=xR+(yT−yc)×dxR (2)
ここで、左辺の傾きdxL及び右辺の傾きdxRは、y軸における変化量に対するx軸における変化量の割合(Δx/Δy)である。
そして、中間コード解析部133は、1ページ分の中間コードを処理したら、印刷部140へ展開終了を通知する。
エッジ抽出部134は、形成される画像のエッジとなる画素を抽出する。例えば、エッジ抽出部134は、中間コード解析部133から与えられた描画範囲の情報を用いて、中間コードで描画されるグラフィック単位で、グラフィックのエッジとなる画像を抽出する。そして、エッジ抽出部134は、グラフィックのエッジとなる画素については、エッジ展開部136に展開を依頼する。エッジ抽出部134は、グラフィックのエッジとはならない画素については、展開部135に展開を依頼する。
展開部135は、中間コード解析部133、エッジ抽出部134又はエッジ展開部136で特定された画素に対して、中間コードに基づいて、画素値を特定する。例えば、展開部135は、中間コード解析部133より、中間コード展開を依頼されると、そのときの前景色又はパタン等の塗りつぶし指定を参照しながら、ラスタバッファ137上に確保されたページ単位の展開結果格納領域において、描画範囲の情報で指定されている画素の画素値を更新する。なお、展開結果を格納する領域では、各画素が256階調の画素値で表現されている。また、展開部135は、エッジ抽出部134又はエッジ展開部136から展開を依頼されると、指定された画素に対して前景色又はパタン等の塗りつぶし指定を参照しながら、該当画素の画素値を更新する。例えば、塗りつぶし指定が前景色だった場合、展開部135は、そのときの前景色階調値を参照して、描画対象画素の画素値を前景色階調値に更新する。
エッジ展開部136は、印刷データで形成することが指示された複数の画像に含まれる一の画像の画素値と、この一の画像に隣接する画像の画素値とが近似する場合に、この一の画像と、この隣接する画像との境界を強調するように、エッジ抽出部134で抽出されたエッジとなる画素の画素値を特定する。例えば、エッジ抽出部134から展開を依頼されると、エッジ展開部136は、ラスタバッファ137上の描画を行う描画対象画素の画素値と、前景色階調値とを参照しながら描画を行う。描画対象画素の画素値が0の場合、エッジ展開部136は、その画素はまだ何も描画が行われていないと判断し、展開部135に展開を依頼する。描画対象画素の画素値が0ではない場合、エッジ展開部136は、前景色階調値と、描画対象画素に既に設定されている画素値とを比較し、その差が予め定められた値(以下、第1の値ともいう)以上であれば、階調の差が十分あると判断し、展開部135に展開を依頼する。その階調の差が第1の値未満であれば、エッジ展開部136は、隣接する画像との間の境界を強調する画素値となるように、描画対象画素の画素値を更新する。ここで、第1の値は、例えば、10である。
また、境界を強調する場合、エッジ展開部136は、その前景色階調値の値に応じて、境界を強調する画素値を変える。境界を強調する画素値は、前景色階調値及び隣接する画像の画素値(描画対象画素に既に設定されている画素値)とは異なる値となるように設定されることが望ましい。例えば、境界を強調する場合、エッジ展開部136は、その前景色階調値が予め定められた値(以下、第2の値ともいう)以上であれば、描画対象画素の画素値を、その前景色階調値で示される色よりも薄くなるように(例えば、0に)更新する。その前景色階調値が第2の値未満であれば、エッジ展開部136は、描画対象画素の画素値を、その前景色階調値で示される色よりも濃くなるように(例えば、255に)更新する。ここで、第2の値は、例えば、128である。
また、境界を強調する場合、エッジ展開部136は、その前景色階調値の値に応じて、境界を強調する画素値を変える。境界を強調する画素値は、前景色階調値及び隣接する画像の画素値(描画対象画素に既に設定されている画素値)とは異なる値となるように設定されることが望ましい。例えば、境界を強調する場合、エッジ展開部136は、その前景色階調値が予め定められた値(以下、第2の値ともいう)以上であれば、描画対象画素の画素値を、その前景色階調値で示される色よりも薄くなるように(例えば、0に)更新する。その前景色階調値が第2の値未満であれば、エッジ展開部136は、描画対象画素の画素値を、その前景色階調値で示される色よりも濃くなるように(例えば、255に)更新する。ここで、第2の値は、例えば、128である。
ラスタバッファ137は、ページ単位で、各画素の画素値が256階調で表現される展開結果である画像データを記憶する画像データ記憶部として機能する。
印刷部140は、中間コード解析部133から展開終了を通知されるとラスタバッファ137に記憶された画像データに基づいて、記録媒体に画像を形成する画像形成部である。印刷部137は、印刷データで形成することが指示された複数の画像を記録媒体に形成する。
印刷部140は、中間コード解析部133から展開終了を通知されるとラスタバッファ137に記憶された画像データに基づいて、記録媒体に画像を形成する画像形成部である。印刷部137は、印刷データで形成することが指示された複数の画像を記録媒体に形成する。
(動作の説明)
以下、実施の形態1に係る印刷装置100の動作について説明する。
図2は、実施の形態1に係る印刷装置100の処理の流れを示すシーケンス図である。
上位装置170は、ユーザの指示により、ネットワーク160を介して印刷データを印刷装置100へ送信する(S10)。このとき送信された印刷データは、前景色の塗りつぶし指定として、シアン(C)、マゼンタ(M)、イエロー(Y)及びブラック(K)の各成分として、(C、M、Y、K)=(0x00、0xFF、0xFF、0x00)を指定するコマンドと、台形で描画を行うコマンドと、矩形で描画を行うコマンドとを含んでいるものとする。
上位装置170から送信された印刷データは、印刷装置100の通信部110で受信される。通信部110は、受信された印刷データを受信バッファ120に格納する。
以下、実施の形態1に係る印刷装置100の動作について説明する。
図2は、実施の形態1に係る印刷装置100の処理の流れを示すシーケンス図である。
上位装置170は、ユーザの指示により、ネットワーク160を介して印刷データを印刷装置100へ送信する(S10)。このとき送信された印刷データは、前景色の塗りつぶし指定として、シアン(C)、マゼンタ(M)、イエロー(Y)及びブラック(K)の各成分として、(C、M、Y、K)=(0x00、0xFF、0xFF、0x00)を指定するコマンドと、台形で描画を行うコマンドと、矩形で描画を行うコマンドとを含んでいるものとする。
上位装置170から送信された印刷データは、印刷装置100の通信部110で受信される。通信部110は、受信された印刷データを受信バッファ120に格納する。
編集部131は、受信バッファ120に格納された印刷データの解析処理を行う(S11)。印刷データの解析処理は、コマンド解析(S12)と、中間コード作成(S13)とを含む。
編集部131は、受信バッファ120に格納された印刷データから各々のコマンドを抽出して、抽出されたコマンドを解析する(S12)。例えば、編集部131は、コマンド解析を開始すると、受信バッファ120に格納された印刷データの先頭のコマンドを参照し、このコマンドを解析する。ここで、このコマンドは前景色の塗りつぶし指定として(C、M、Y、K)=(0x00、0xFF、0xFF、0x00)を指定するコマンドであるものとする。このような場合、編集部131は、指定された前景色をグレースケールに変換する。例えば、編集部131は、一旦、成分C、成分M、成分Y及び成分KのデータをRGB変換する。ここでは、変換された値は、(R、G、B)=(255、0、0)となる。そして、編集部131は、RGBの値を、下記の(3)式で示される変換式を用いて、K変換する。但し、小数点以下は四捨五入する。
そして、編集部131は、変換された結果(K)=(0xB3)を前景色階調値として指定する前景色中間コードを作成し、ページバッファ132に格納する(S13)。
以降、同様に、編集部131は、受信バッファ120に格納されている印刷データからコマンド単位でコマンドを読み出し、読み出されたコマンドの解析を行い(S12)、その解析結果に基づいて中間コードを作成して、ページバッファ132に格納する(S13)。編集部131は、1ページ分のコマンドを処理するまで、コマンド解析(S12)と、中間コード作成(S13)を繰り返す。
以降、同様に、編集部131は、受信バッファ120に格納されている印刷データからコマンド単位でコマンドを読み出し、読み出されたコマンドの解析を行い(S12)、その解析結果に基づいて中間コードを作成して、ページバッファ132に格納する(S13)。編集部131は、1ページ分のコマンドを処理するまで、コマンド解析(S12)と、中間コード作成(S13)を繰り返す。
編集部131は、1ページ分のコマンドの処理が終了すると、中間コード解析部133に編集終了を通知する(S14)。
中間コード解析部133、エッジ抽出部134、展開部135及びエッジ展開部136は、編集部131から編集終了が通知されると、画像データ生成処理を行う(S15)。画像データ生成処理は、第1の中間コード解析(S16)と、前景色指定更新(S17)と、第2の中間コード解析(S18)と、中間コード展開(S19)と、エッジ抽出及び展開処理(S20)とを含む。
中間コード解析部133は、ページバッファ132に記憶されている中間コードを取得して、第1の中間コード解析を行う(S16)。例えば、ページバッファ132に記憶されている先頭の中間コードは、前景色中間コードで、前景色階調値として(K)=(0xB3)を指定する中間コードである。このため、中間コード解析部133は、前景色により塗りつぶしを行う状態にし、前景色階調値を(K)=(0xB3)に更新する(S17)。
そして、中間コード解析部133は、ページバッファ132に記憶されている次の中間コードを取得し、第2の中間コード解析を行う(S18)。次の中間コードは、例えば、yT=300xL、100xR=400、yB=500、dxL=−0.25、dxR=0.25とする台形中間コードであるものとする。ステップS16及びS17により、前景色により塗りつぶしを行う状態となっているため、中間コード解析部133は、エッジ抽出部134に描画範囲の情報とともに中間コード展開を通知する(S19)。
中間コード解析部133から中間コード展開の通知を受けると、エッジ抽出部134、エッジ展開部136及び展開部135は、エッジ抽出及び展開処理を行う(S20)。エッジ抽出及び展開処理は、エッジ抽出(S21)と、第1の展開(S22)と、第2の展開(S23)とを含む。
エッジ抽出部134は、中間コード解析部133から通知された描画範囲の情報に基づいて、エッジ抽出を行う(S21)。エッジ抽出部134は、エッジと判断された画素については、エッジ展開部136に展開を依頼する(S22)。エッジ展開部136は、依頼された画素について、展開処理を行い、当該画素の画素値を特定する。一方、エッジ抽出部134は、エッジとは判断されなかった画素については、展開部135に展開を依頼する(S23)。展開部135は、依頼された画素について、展開処理を行い、当該画素の画素値を特定する。
中間コード解析部133、エッジ抽出部134、エッジ展開部136及び展開部135は、ページバッファ132に記憶されている中間コードがなくなるまで、上記と同様の処理を進める。
なお、エッジ抽出及び展開処理(S20)については、図3〜図6を参照して詳細に説明する。
エッジ抽出部134は、中間コード解析部133から通知された描画範囲の情報に基づいて、エッジ抽出を行う(S21)。エッジ抽出部134は、エッジと判断された画素については、エッジ展開部136に展開を依頼する(S22)。エッジ展開部136は、依頼された画素について、展開処理を行い、当該画素の画素値を特定する。一方、エッジ抽出部134は、エッジとは判断されなかった画素については、展開部135に展開を依頼する(S23)。展開部135は、依頼された画素について、展開処理を行い、当該画素の画素値を特定する。
中間コード解析部133、エッジ抽出部134、エッジ展開部136及び展開部135は、ページバッファ132に記憶されている中間コードがなくなるまで、上記と同様の処理を進める。
なお、エッジ抽出及び展開処理(S20)については、図3〜図6を参照して詳細に説明する。
そして、中間コード解析部133は、ページバッファ132に記憶されている全ての中間コードの処理が完了すると、印刷部140に展開終了を通知する(S24)。
印刷部140は、ラスタバッファ137に記憶された展開結果である画像データに基づいて印刷を行う(S25)。
印刷部140は、ラスタバッファ137に記憶された展開結果である画像データに基づいて印刷を行う(S25)。
図3は、中間コードが台形を描画するコードである場合のエッジ抽出及び展開処理を示すフローチャートである。なお、ここでの座標系は、左上方に原点を配置し、原点から右方向にx軸、原点から下方にy軸が配置されているものとする。
まず、エッジ抽出部134は、エッジ抽出処理のため、各種初期化を行う(S30〜S33)。例えば、エッジ抽出部134は、あるy座標におけるこの台形の左端のx座標を示す値xLLを、この台形の上底の左端のx座標xLの値(例えば、100)に更新する(S30)。また、エッジ抽出部134は、あるy座標におけるこの台形の右端のx座標を示す値xRLを、この台形の上底の右端のx座標xRの値(例えば、400)に更新する(S31)。さらに、エッジ抽出部134は、現在描画を行っている描画対象画素のx座標を示す値xcをxLの値(例えば、100)に更新する(S32)。さらにまた、エッジ抽出部134は、現在描画を行っている描画対象画素のy座標を示す値ycを、この台形の上底のy座標yTの値(例えば、300)に更新する(S33)。
まず、エッジ抽出部134は、エッジ抽出処理のため、各種初期化を行う(S30〜S33)。例えば、エッジ抽出部134は、あるy座標におけるこの台形の左端のx座標を示す値xLLを、この台形の上底の左端のx座標xLの値(例えば、100)に更新する(S30)。また、エッジ抽出部134は、あるy座標におけるこの台形の右端のx座標を示す値xRLを、この台形の上底の右端のx座標xRの値(例えば、400)に更新する(S31)。さらに、エッジ抽出部134は、現在描画を行っている描画対象画素のx座標を示す値xcをxLの値(例えば、100)に更新する(S32)。さらにまた、エッジ抽出部134は、現在描画を行っている描画対象画素のy座標を示す値ycを、この台形の上底のy座標yTの値(例えば、300)に更新する(S33)。
次に、エッジ抽出部134は、描画対象画素のy座標の値ycが、描画する台形の下底のy座標の値yB以下であるか否かを判断する(S34)。値ycが値yB以下である場合(S34:Yes)には、描画する台形に検出すべきエッジが残っているため、処理はステップS35に進む。値ycが値yBよりも大きい場合(S34:No)には、描画する台形において全てのエッジの検出が完了したため、フローは終了する。
ステップS35では、エッジ抽出部134は、描画対象画素のx座標の値xcが、描画対象画素のy座標の値ycに対応する左端のx座標の値xRL以下であるか否かを判断する。値xcが値xRL以下である場合(S35:Yes)には、値ycに対応して検出すべきエッジが残っているため、処理はステップS36に進む。値xcが値xRLよりも大きい場合(S35:No)には、値ycに対応する全てのエッジの検出が完了したため、処理は、ステップS41に進む。
ステップS36では、エッジ抽出部134は、描画対象画素のx座標の値xcが、描画対象画素のy座標の値ycに対応する左端のx座標の値xLL、又は、その右端のx座標の値xRLであるか否かを判断する。値xcが値xLL又は値xRLである場合(S36:Yes)には、処理対象画素がエッジであるため、処理はステップS38に進む。値xcが値xLL及び値xRLではない場合(S36:No)には、処理はステップS37に進む。
ステップS37では、エッジ抽出部134は、描画対象画素のy座標の値ycが、描画される台形の上底のy座標の値yT、又は、その下底のy座標の値yBであるか否かを判断する。値ycが値yT又は値yBである場合(S37:Yes)には、描画対象座標がエッジであるため、処理はステップS38に進む。値ycが値yT及び値yBではない場合(S37:No)には、描画対象座標はエッジではないため、処理はステップS39に進む。
ステップS38では、エッジ抽出部134は、描画対象画素が描画する台形のエッジであると判断し、エッジ展開部136に展開を依頼する。展開を依頼された際のエッジ展開部136の処理については、図5を参照して、詳細に説明する。そして、処理はステップS40に進む。
ステップS39では、エッジ抽出部134は、描画対象画素が描画する台形のエッジではないと判断し、展開部135に展開を依頼する。このような依頼を受けた展開部135は、描画対象画素の画素値を、図2のステップS17で更新された前景色階調値の値に更新する。そして、処理はステップS40に進む。
ステップS40では、エッジ抽出部134は、描画対象座標のx座標の値xcに1を加算する。そして、処理はステップS34に戻る。
ステップS35で、値xcが値xRLよりも大きくなった場合(S35:No)には、描画対象画素のx座標の値xcは、描画する台形の右端のx座標の値xRLよりも大きくなったため、エッジ抽出部134は、値ycに対応する全てのエッジの検出が完了したと判断することができる。このため、エッジ抽出部134は、ステップS41に処理を進め、描画対象座標のy座標の値ycに1を加算する。
そして、エッジ抽出部134は、描画対象座標のy座標の値ycに対応する、描画する台形の左端のx座標を示す値xLLを、上記の(1)式で算出される値xcLに更新する(S42)。
また、エッジ抽出部134は、描画対象座標のy座標の値ycに対応する、描画する台形の右端のx座標を示す値xRLを、上記の(2)式で算出される値xcRに更新する(S43)。
そして、エッジ抽出部134は、描画対象座標のx座標の値xcを、値ycに対応する左端のx座標を示す値xLLに更新する(S44)。そして、処理はステップS34に戻る。
また、エッジ抽出部134は、描画対象座標のy座標の値ycに対応する、描画する台形の右端のx座標を示す値xRLを、上記の(2)式で算出される値xcRに更新する(S43)。
そして、エッジ抽出部134は、描画対象座標のx座標の値xcを、値ycに対応する左端のx座標を示す値xLLに更新する(S44)。そして、処理はステップS34に戻る。
図4は、中間コードが矩形を描画するコードである場合のエッジ抽出及び展開処理を示すフローチャートである。なお、ここでも座標系は、左上方に原点を配置し、原点から右方向にx軸、原点から下方にy軸が配置されているものとする。
まず、エッジ抽出部134は、エッジ抽出処理のため、各種初期化を行う(S50〜S52)。例えば、エッジ抽出部134は、描画する矩形の左上座標(xl,yt)を登録する(S50)。次に、エッジ抽出部134は、描画する矩形の右下座標(xr,yb)を登録する(S51)。そして、エッジ抽出部134は、処理座標である描画対象座標(xc,yc)を、ステップS50で登録された左上座標(xl,yt)に初期化する(S52)。
次に、エッジ抽出部134は、描画対象画素のy座標の値ycが、描画する矩形の右下のy座標の値yb以下であるか否かを判断する(S53)。値ycが値yb以下である場合(S53:Yes)には、描画する矩形に検出すべきエッジが残っているため、処理はステップS54に進む。値ycが値ybよりも大きい場合(S53:No)には、描画する矩形の全てのエッジの検出が完了したため、フローは終了する。
ステップS54では、エッジ抽出部134は、描画対象画素のx座標の値xcが、描画する矩形の右下のx座標の値xr以下であるか否かを判断する。値xcが値xr以下である場合(S54:Yes)には、値ycに対応して検出すべきエッジが残っているため、処理はステップS55に進む。値xcが値xrよりも大きい場合(S54:No)には、値ycに対応する全てのエッジの検出が完了したため、処理はステップS60に進む。
ステップS55では、エッジ抽出部134は、描画対象画素のx座標の値xcが、描画される矩形の左上のx座標の値xl、又は、その右下のx座標の値xrであるか否かを判断する。値xcが値xl又は値xrである場合(S55:Yes)には、処理対象画素がエッジであるため、処理はステップS57に進む。値xcが値xl及び値xrではない場合(S55:No)には、処理はステップS56に進む。
ステップS56では、エッジ抽出部134は、描画対象画素のy座標の値ycが、描画される矩形の左上のy座標の値yt、又は、その右下のy座標の値ybであるか否かを判断する。値ycが値yt又は値ybである場合(S56:Yes)には、処理対象画素がエッジであるため、処理はステップS57に進む。値ycが値yt及び値ybではない場合(S56:No)には、処理はステップS58に進む。
ステップS57では、エッジ抽出部134は、描画対象画素が描画する矩形のエッジであると判断し、エッジ展開部136に展開を依頼する。展開を依頼された際のエッジ展開部136の処理については、図5を参照して、詳細に説明する。そして、処理はステップS59に進む。
ステップS58では、エッジ抽出部134は、描画対象画素が描画する矩形のエッジではないと判断し、展開部135に展開を依頼する。このような依頼を受けた展開部135は、描画対象画素の画素値を、図2のステップS17で更新された前景色階調値の値に更新する。そして、処理はステップS59に進む。
ステップS59では、エッジ抽出部134は、描画対象座標のx座標の値xcに1を加算する。そして、処理はステップS54に戻る。
ステップS54で、値xcが値xrよりも大きくなった場合(S54:No)には、描画対象画素のx座標の値xcは、描画する矩形の右端のx座標の値xrよりも大きくなったため、エッジ抽出部134は、値ycに対応する全てのエッジの検出が完了したと判断することができる。このため、エッジ抽出部134は、ステップS60に処理を進め、描画対象座標のx座標の値xcを、描画する矩形の左端のx座標の値xlに更新する(S60)。
また、エッジ抽出部134は、描画対象座標のy座標の値ycに1を加算する(S61)。そして、処理はステップS53に戻る。
また、エッジ抽出部134は、描画対象座標のy座標の値ycに1を加算する(S61)。そして、処理はステップS53に戻る。
図5は、エッジ展開部136による展開処理を示すフローチャートである。なお、ラスタバッファ137に格納されている各画素の画素値の初期値は0であるものとする。
まず、エッジ展開部136は、ラスタバッファ137に既に格納(設定)されている描画対象画素の画素値が0であるか否かを判断する(S70)。既に格納されている描画対象画素の画素値が0である場合(S70:Yes)には、描画対象画素が他の画像に隣接していないものと判断して、処理はステップS73に進む。一方、既に格納されている描画対象画素の画素値が0ではない場合(S70:No)には、描画対象画素が他の画像に隣接しているものと判断して、処理はステップS71に進む。
まず、エッジ展開部136は、ラスタバッファ137に既に格納(設定)されている描画対象画素の画素値が0であるか否かを判断する(S70)。既に格納されている描画対象画素の画素値が0である場合(S70:Yes)には、描画対象画素が他の画像に隣接していないものと判断して、処理はステップS73に進む。一方、既に格納されている描画対象画素の画素値が0ではない場合(S70:No)には、描画対象画素が他の画像に隣接しているものと判断して、処理はステップS71に進む。
ステップS71では、エッジ展開部136は、ラスタバッファ137に既に格納されている描画対象画素の画素値と、中間コード解析部133が更新した前景色階調値との間の差分を算出する。
そして、エッジ展開部136は、ステップS71で算出された差分が予め定められた値(例えば、10)以上であるか否かを判断する(S72)。そして、その差分が予め定められた値以上である場合(S72:Yes)には、隣接する画像同士の色が近似していないと判断して、処理はステップS73に進む。一方、その差分が予め定められた値未満である場合(S72:No)には、隣接する画像同士の色が近似していると判断して、処理はステップS74に進む。
そして、エッジ展開部136は、ステップS71で算出された差分が予め定められた値(例えば、10)以上であるか否かを判断する(S72)。そして、その差分が予め定められた値以上である場合(S72:Yes)には、隣接する画像同士の色が近似していないと判断して、処理はステップS73に進む。一方、その差分が予め定められた値未満である場合(S72:No)には、隣接する画像同士の色が近似していると判断して、処理はステップS74に進む。
ステップS73では、今回描画する画像が他の画像に隣接していないため、又は、今回描画する画像の色と隣接する画像の色とが近似していないため、今回描画する画像は容易に識別することができる。このため、エッジ展開部136は、展開部135に展開を依頼する。このような依頼を受けた展開部135は、描画対象画素の画素値を、中間コード解析部133により更新された前景色階調値の値に更新する。
一方、ステップS74では、今回描画する画像の色と隣接する画像の色とが近似しているため、境界を強調する必要がある。このため、エッジ展開部136は、中間コード解析部133により更新された前景色階調値が予め定められた値(例えば、128)以上であるか否かを判断する。そして、前景色階調値が予め定められた値以上である場合(S74:Yes)には、処理はステップS75に進む。一方、前景色階調値が予め定められた値未満である場合(S74:No)には、処理はステップS76に進む。
ステップS75では、エッジ展開部136は、今回描画する画像の色が濃い色であると判断し、ラスタバッファ137に既に格納されている描画対象画素の画素値を、今回描画する画像の色よりも薄い色、例えば、0にする。なお、画素値が小さいほど、より薄い色になるものとする。
一方、ステップS76では、エッジ展開部136は、今回描画する画像の色が薄い色であると判断し、ラスタバッファ137に既に格納されている描画対象画素の画素値を、今回描画する画像の色よりも濃い色、例えば、255にする。なお、画素値が大きいほど、より濃い色になるものとする。
一方、ステップS76では、エッジ展開部136は、今回描画する画像の色が薄い色であると判断し、ラスタバッファ137に既に格納されている描画対象画素の画素値を、今回描画する画像の色よりも濃い色、例えば、255にする。なお、画素値が大きいほど、より濃い色になるものとする。
以上に記載された処理により、例えば、1つの台形の画像と、3つの矩形の画像とを描画する印刷データから展開されて生成された画像データの一例を図6に示す。
図6に示されているように、台形の画像IM1と、矩形の画像IM2とは隣接し、これらの画素値(前景色階調値)は近似しているため、画像IM1の後に描画される画像IM2のエッジの一部が強調されている。ここでは、画像IM2が比較的濃い色で描画されているため、エッジの一部は、画素値が0(白)にされている。
一方、矩形の画像IM2と、矩形の画像IM3とは隣接しているが、これらの画素値(前景色階調値)は近似していないため、エッジの強調は行われていない。
また、矩形の画像IM3と、矩形の画像IM4とは隣接し、これらの画素値(前景色階調値)は近似しているため、画像IM3の後に描画される画像IM4のエッジの一部が強調されている。ここでは、画像IM4が比較的薄い色で描画されているため、エッジの一部は、画素値が255(黒)にされている。
図6に示されているように、台形の画像IM1と、矩形の画像IM2とは隣接し、これらの画素値(前景色階調値)は近似しているため、画像IM1の後に描画される画像IM2のエッジの一部が強調されている。ここでは、画像IM2が比較的濃い色で描画されているため、エッジの一部は、画素値が0(白)にされている。
一方、矩形の画像IM2と、矩形の画像IM3とは隣接しているが、これらの画素値(前景色階調値)は近似していないため、エッジの強調は行われていない。
また、矩形の画像IM3と、矩形の画像IM4とは隣接し、これらの画素値(前景色階調値)は近似しているため、画像IM3の後に描画される画像IM4のエッジの一部が強調されている。ここでは、画像IM4が比較的薄い色で描画されているため、エッジの一部は、画素値が255(黒)にされている。
以上のように、実施の形態1によれば、グレーで描画を行う際に階調値が近く、且つ、描画が重なっている箇所にのみ、描画される画像のエッジが強調される。さらに、強調されているエッジは、塗りつぶしの色に応じて視認しやすい色で描画されるため、エッジ強調を行わない場合の出力結果に近い形を保持することができ、かつ、同じような色で描画されている箇所の視認性を高めることができる。
以上に記載された実施の形態1では、図5に示されているように、エッジ展開部136は、描画対象座標において既に設定されている画素値を用いて処理を行っているが、このような例に限定されるものではない。
例えば、印刷データで形成することが指示された複数の画像に含まれる一の画像に隣接する画像の画素の内、この一の画像のエッジとなる画素に隣接する画素を用いて処理を行うこともできる。具体的には、エッジ展開部136は、描画対象座標において既に設定されている画素値の代わりに、描画するグラフィックの外側の座標に既に設定されている画素値を用いて、図5に示されている処理を行ってもよい。
このような場合、エッジ展開部136は、描画対象画素の周囲の画素のうち、描画する画像の外側の画素を用いればよい。例えば、図3のステップS36でxc=xLLと判断された場合には、描画対象画素は、描画する台形の左側の辺にあるため、エッジ展開部136は、描画対象画素の左隣の画素の画素値を用いればよい。また、図3のステップS36でxc=xRLと判断された場合には、描画対象画素は、描画する台形の右側の辺にあるため、エッジ展開部136は、描画対象画素の右隣の画素の画素値を用いればよい。さらに、図3のステップS37でyc=yTと判断された場合には、描画対象画素は、描画する台形の上底にあるため、エッジ展開部136は、描画対象画素の1つ上の画素の画素値を用いればよい。さらにまた、図3のステップS37でyc=yBと判断された場合には、描画対象画素は、描画する台形の下底にあるため、エッジ展開部136は、描画対象画素の1つ下の画素の画素値を用いればよい。描画するグラフィックが矩形の場合も同様に、エッジ展開部136は、描画対象画素が矩形の左辺にある場合には描画対象画素の左隣の画素の画素値を用い、描画対象画素が矩形の右辺にある場合には描画対象画素の右隣の画素の画素値を用い、描画対象画素が矩形の上辺にある場合には描画対象画素の1つ上の画素の画素値を用い、描画対象画素が矩形の下辺にある場合には描画対象画素の1つ下の画素の画素値を用いればよい。
例えば、印刷データで形成することが指示された複数の画像に含まれる一の画像に隣接する画像の画素の内、この一の画像のエッジとなる画素に隣接する画素を用いて処理を行うこともできる。具体的には、エッジ展開部136は、描画対象座標において既に設定されている画素値の代わりに、描画するグラフィックの外側の座標に既に設定されている画素値を用いて、図5に示されている処理を行ってもよい。
このような場合、エッジ展開部136は、描画対象画素の周囲の画素のうち、描画する画像の外側の画素を用いればよい。例えば、図3のステップS36でxc=xLLと判断された場合には、描画対象画素は、描画する台形の左側の辺にあるため、エッジ展開部136は、描画対象画素の左隣の画素の画素値を用いればよい。また、図3のステップS36でxc=xRLと判断された場合には、描画対象画素は、描画する台形の右側の辺にあるため、エッジ展開部136は、描画対象画素の右隣の画素の画素値を用いればよい。さらに、図3のステップS37でyc=yTと判断された場合には、描画対象画素は、描画する台形の上底にあるため、エッジ展開部136は、描画対象画素の1つ上の画素の画素値を用いればよい。さらにまた、図3のステップS37でyc=yBと判断された場合には、描画対象画素は、描画する台形の下底にあるため、エッジ展開部136は、描画対象画素の1つ下の画素の画素値を用いればよい。描画するグラフィックが矩形の場合も同様に、エッジ展開部136は、描画対象画素が矩形の左辺にある場合には描画対象画素の左隣の画素の画素値を用い、描画対象画素が矩形の右辺にある場合には描画対象画素の右隣の画素の画素値を用い、描画対象画素が矩形の上辺にある場合には描画対象画素の1つ上の画素の画素値を用い、描画対象画素が矩形の下辺にある場合には描画対象画素の1つ下の画素の画素値を用いればよい。
実施の形態2.
(構成の説明)
図1に示すように、実施の形態2に係る画像形成装置としての印刷装置200は、通信部110と、受信バッファ120と、データ生成部230と、印刷部140とを備える。実施の形態2に係る印刷装置200は、データ生成部230での処理において、実施の形態1に係る印刷装置100と異なっている。なお、印刷装置200は、実施の形態2に係る画像形成方法を実行する。
(構成の説明)
図1に示すように、実施の形態2に係る画像形成装置としての印刷装置200は、通信部110と、受信バッファ120と、データ生成部230と、印刷部140とを備える。実施の形態2に係る印刷装置200は、データ生成部230での処理において、実施の形態1に係る印刷装置100と異なっている。なお、印刷装置200は、実施の形態2に係る画像形成方法を実行する。
データ生成部230は、印刷データに基づいて、画像を形成するための画像データを生成する。
データ生成部230は、編集部131と、ページバッファ132と、中間コード解析部233と、エッジ抽出部234と、展開部135と、エッジ展開部236と、ラスタバッファ137とを備える。実施の形態2におけるデータ生成部230は、中間コード解析部233、エッジ抽出部234及びエッジ展開部236での処理において、実施の形態1におけるデータ生成部130と異なっている。
データ生成部230は、編集部131と、ページバッファ132と、中間コード解析部233と、エッジ抽出部234と、展開部135と、エッジ展開部236と、ラスタバッファ137とを備える。実施の形態2におけるデータ生成部230は、中間コード解析部233、エッジ抽出部234及びエッジ展開部236での処理において、実施の形態1におけるデータ生成部130と異なっている。
中間コード解析部233は、実施の形態1と同様の処理を行う他、前景色を参照して展開処理を行う状態のときに、テキスト中間コードを解析すると、中間コードに対応した描画範囲の情報とともにエッジ抽出部234に中間コード展開を依頼する。ここで、テキスト中間コードには、描画すべき文字を0と1で表現したビットマップデータと、文字の描画位置情報とを含む。文字の描画位置情報は、例えば、左上座標(xlT,ytT)及び右下座標(xrT,ybT)である。
エッジ抽出部234は、実施の形態1と同様の処理を行う他、印刷データで形成することが指示された複数の画像に含まれる一の画像に対してエッジとなる、この一の画像に隣接する画像の画素を抽出する。例えば、エッジ抽出部234は、中間コード解析部233から与えられた、テキスト中間コードに対応した描画範囲の情報を用いて、中間コードで描画されるテキスト単位で、テキストとの間のエッジとなる画素を抽出する。そして、エッジ抽出部234は、テキストとの間のエッジとなる画素については、エッジ展開部236に展開を依頼する。エッジ抽出部134は、テキストとの間のエッジとなる画素以外の画素については、展開部135に展開を依頼する。例えば、エッジ抽出部234は、描画対象座標に対応する座標において、テキストのビットマップデータが描画を行うことを示す1になっている場合、展開部135に展開を依頼する。エッジ抽出部234は、描画対象座標に対応する座標において、テキストのビットマップデータが描画を行わないことを示す0になっている場合、描画対象座標の上下左右の画素に対応するビットマップデータの値を参照する。エッジ抽出部234は、参照されたビットマップ値の中で1個でも1になっている画素がある場合、エッジ展開部236にテキスト画素展開を依頼する。エッジ抽出部234は、参照されたビットマップ値が全て0の場合、その画素は描画を行わない画素と判断し、次の画素の処理に移る。エッジ抽出部234は、以上のような処理の繰り返しを、(xlT−1,ytT−1)から(xrT+1,YbT+1)の座標まで繰り返す。なお、ビットマップデータの値が存在しない画素は、常に対応するビットマップ値が0になっているとみなされる。
エッジ展開部236は、実施の形態1におけるエッジ展開部136と同様の処理を行う他、エッジ抽出部234からの依頼に応じて、テキスト画素展開を行う。テキスト画素展開では、エッジ展開部236は、描画するテキストの前景色階調値と、この描画するテキストに隣接する領域の画素値とが近似する場合に、描画されるテキストとの間の境界を強調するように、描画されるテキストに対してエッジとなる画素の画素値を特定する。例えば、エッジ展開部236は、エッジ抽出部234からテキスト画素展開を依頼されると、描画対象画素の画素値と前景色階調値を比較し、その差分が予め定められた第1の値(例えば、10)以上ある場合には、その描画対象画素の画素値を更新しない。一方、エッジ展開部236は、その差分が予め定められた第1の値未満の場合には、描画されるテキストとの間の境界を強調する画素値となるように、描画対象画素の画素値を更新する。
また、境界を強調する場合、エッジ展開部236は、その前景色階調値の値に応じて、境界を強調する画素値を変える。境界を強調する画素値は、前景色階調値及び描画対象画素に既に設定されている画素値とは異なる値となるように設定されることが望ましい。例えば、境界を強調する場合、前景色階調値が予め定められた第2の値(例えば、128)以上のときには、エッジ展開部236は、その前景色階調値よりも薄くなるように(例えば、0に)、その描画対象画素の画素値を更新し、前景色階調値が予め定められた値未満のときには、その前景色階調値よりも濃くなるように(例えば、255に)、その描画対象画素の画素値を更新する。
また、境界を強調する場合、エッジ展開部236は、その前景色階調値の値に応じて、境界を強調する画素値を変える。境界を強調する画素値は、前景色階調値及び描画対象画素に既に設定されている画素値とは異なる値となるように設定されることが望ましい。例えば、境界を強調する場合、前景色階調値が予め定められた第2の値(例えば、128)以上のときには、エッジ展開部236は、その前景色階調値よりも薄くなるように(例えば、0に)、その描画対象画素の画素値を更新し、前景色階調値が予め定められた値未満のときには、その前景色階調値よりも濃くなるように(例えば、255に)、その描画対象画素の画素値を更新する。
(動作の説明)
図7は、中間コードがテキストを描画するコードである場合のエッジ抽出及び展開処理を示すフローチャートである。なお、ここでも座標系は、左上方に原点を配置し、原点から右方向にx軸、原点から下方にy軸が配置されているものとする。
図7は、中間コードがテキストを描画するコードである場合のエッジ抽出及び展開処理を示すフローチャートである。なお、ここでも座標系は、左上方に原点を配置し、原点から右方向にx軸、原点から下方にy軸が配置されているものとする。
まず、エッジ抽出部234は、エッジ抽出処理のため、各種初期化を行う(S80〜S83)。例えば、エッジ抽出部234は、描画するテキストの左上座標(xlT,ytT)を登録する(S80)。次に、エッジ抽出部234は、描画するテキストの右下座標(xrT,ybT)を登録する(S81)。そして、エッジ抽出部234は、処理座標である描画対象座標(xc,yc)を、ステップS80で登録された左上座標(xlT,ytT)よりも1画素分拡大した拡大領域の左上座標(xlT−1,ytT−1)に初期化する(S82)。なお、左上座標(xlT,ytT)及び右下座標(xrT,ybT)で特定される、テキストが配置される領域を1画素分拡大した領域が、エッジの確認領域となる。さらに、エッジ抽出部234は、描画するテキストのビットマップデータの左上を、ステップS80で登録した左上座標(xlT,ytT)に関連付ける(S83)。これにより、描画するテキストのビットマップデータと、描画対象座標とが対応付けられる。例えば、(xlT,ytT)から、(x,y)=(10,20)移動した座標のビットマップデータを参照する場合、ビットマップデータの左上の座標から(x,y)=(10,20)だけ移動した位置のビットマップ値を参照することで、その座標に対して描画を行うかどうかを知ることができる。対応するビットマップ値が1であれば、その画素には描画を行う必要がある。
次に、エッジ抽出部234は、描画対象画素のy座標の値ycが、エッジの確認領域の右下のy座標の値ybT+1以下であるか否かを判断する(S84)。値ycが値ybT+1以下である場合(S84:Yes)には、エッジの確認領域に検出すべきエッジが残っているため、処理はステップS85に進む。値ycが値ybT+1よりも大きい場合(S84:No)には、エッジの確認領域の全てでエッジの検出が完了したため、フローは終了する。
ステップS85では、エッジ抽出部234は、描画対象画素のx座標の値xcが、エッジの確認領域の右端のx座標の値xrT+1以下であるか否かを判断する。値xcが値xrT+1以下である場合(S85:Yes)には、値ycに対応して検出すべきエッジが残っているため、処理はステップS86に進む。値xcが値xrT+1よりも大きい場合(S85:No)には、値ycに対応する全てのエッジの検出が完了したため、処理はステップS91に進む。
ステップS86では、エッジ抽出部234は、描画対象座標に対応するビットマップデータの値が1であるか否かを確認する。描画対象座標に対応するビットマップデータの値が1である場合(S86:Yes)には、処理はステップS87に進む。描画対象座標に対応するビットマップデータの値が1ではない場合(S86:No)には、処理はステップS88に進む。
ステップS87では、描画対象座標は、テキストが実際に描画される座標であり、テキストとの間のエッジではないため、展開部135に展開を依頼する。このような依頼を受けた展開部135は、描画対象画素の画素値を、中間コード解析部233により更新された前景色階調値の値に更新する。そして、処理はステップS90に進む。
一方、ステップS88では、エッジ抽出部234は、描画対象座標の周囲(ここでは、上下左右)の座標に対応するビットマップデータの値に1が含まれるか否かを確認する。描画対象座標の周囲の座標に対応するビットマップデータの値に1が含まれる場合(S88:Yes)には、処理はステップS89に進む。描画対象座標の周囲の座標に対応するビットマップデータの値に1が含まれない場合(S88:No)には、処理はステップS90に進む。
ステップS89では、エッジ抽出部234は、描画対象座標をテキストとの間のエッジであると判断し、エッジ展開部236に展開を依頼する。展開を依頼された際のエッジ展開部236の処理については、図8を参照して、詳細に説明する。そして、処理はステップS90に進む。
ステップS90では、エッジ抽出部234は、描画対象座標のx座標の値xcに1を加算する。そして、処理はステップS85に戻る。
ステップS85で、値xcが値xrT+1よりも大きくなった場合(S85:No)には、描画対象画素のx座標の値xcは、エッジの確認領域の右端のx座標の値xrT+1よりも大きくなったため、エッジ抽出部234は、値ycに対応する全てのエッジの検出が完了したと判断することができる。このため、エッジ抽出部234は、ステップS91に処理を進め、描画対象座標のx座標の値xcを、エッジの確認領域の左端のx座標の値xlT−1に更新する(S91)。
また、エッジ抽出部234は、描画対象座標のy座標の値ycに1を加算する(S92)。そして、処理はステップS84に戻る。
また、エッジ抽出部234は、描画対象座標のy座標の値ycに1を加算する(S92)。そして、処理はステップS84に戻る。
図8は、中間コードがテキストを描画するコードである場合のエッジ展開部236による展開処理を示すフローチャートである。
まず、エッジ展開部236は、ラスタバッファ137に既に格納されている描画対象画素の画素値と、中間コード解析部233が更新した前景色階調値との間の差分を算出する(S100)。
そして、エッジ展開部236は、ステップS100で算出された差分が予め定められた第1の値(例えば、10)以上であるか否かを判断する(S101)。そして、その差分が予め定められた第1の値以上である場合(S101:Yes)には、隣接する画像の色が描画されるテキストの色と近似していないと判断して、フローを終了する。一方、その差分が予め定められた値未満である場合(S101:No)には、隣接する画像の色が描画されるテキストの色と近似していると判断して、処理はステップS102に進む。
まず、エッジ展開部236は、ラスタバッファ137に既に格納されている描画対象画素の画素値と、中間コード解析部233が更新した前景色階調値との間の差分を算出する(S100)。
そして、エッジ展開部236は、ステップS100で算出された差分が予め定められた第1の値(例えば、10)以上であるか否かを判断する(S101)。そして、その差分が予め定められた第1の値以上である場合(S101:Yes)には、隣接する画像の色が描画されるテキストの色と近似していないと判断して、フローを終了する。一方、その差分が予め定められた値未満である場合(S101:No)には、隣接する画像の色が描画されるテキストの色と近似していると判断して、処理はステップS102に進む。
ステップS102では、今回描画するテキストの色と隣接する領域の色とが近似しているため、境界を強調する必要がある。このため、エッジ展開部236は、中間コード解析部233により更新された前景色階調値が予め定められた第2の値(例えば、128)以上であるか否かを判断する。そして、前景色階調値が予め定められた第2の値以上である場合(S102:Yes)には、処理はステップS103に進む。一方、前景色階調値が予め定められた第2の値未満である場合(S102:No)には、処理はステップS104に進む。
ステップS103では、エッジ展開部236は、今回描画されるテキストの色が濃い色であると判断し、ラスタバッファ137に既に格納されている描画対象画素の画素値を、今回描画されるグラフィックスの色よりも薄い色、例えば、0にする。
一方、ステップS104では、エッジ展開部236は、今回描画するテキストの色が薄い色であると判断し、ラスタバッファ137に既に格納されている描画対象画素の画素値を、今回描画されるテキストの色よりも濃い色、例えば、255にする。
一方、ステップS104では、エッジ展開部236は、今回描画するテキストの色が薄い色であると判断し、ラスタバッファ137に既に格納されている描画対象画素の画素値を、今回描画されるテキストの色よりも濃い色、例えば、255にする。
以上に記載された処理で、テキスト(ここでは、文字「A」)を描画するコマンドを含む印刷データに基づいて、印刷された結果を図9に示す。
ここでは、例えば、編集部131は、上位装置170から送信された印刷データに基づいて、(K)=(0xB3)を指定する前景色中間コードと、矩形中間コードと、(K)=(0x30)を指定する前景色中間コードと、矩形中間コードと、(K)=(0x35)を指定する前景色中間コードと、「A」を表すビットマップデータ、左上座標として(x,y)=(400,450)及び右下座標として(x,y)=(529,569)の情報をもつテキスト中間コードとを受信バッファ120に記憶させるものとする。
このような場合には、中間コード解析部233は、(K)=(0xB3)を指定する前景色中間コードと、矩形中間コードと、(K)=(0x30)を指定する前景色中間コードと、矩形中間コードと、(K)=(0x35)を指定する前景色中間コードとを実施の形態1と同様に処理を行う。その後、中間コード解析部233は、テキスト中間コードに基づいて、テキスト中間コードに対応した描画範囲の情報とともに、エッジ抽出部234に中間コード展開を通知する。
このような場合、例えば、図9に示されているように、「A」の文字TX1の画素値(前景色階調値)と、矩形の画像IM5の画素値(前景色階調値)とは近似していないため、エッジの強調は行われていない。一方、「A」の文字TX1の画素値(前景色階調値)と、矩形の画像IM6の画素値(前景色階調値)とは近似しているため、矩形の画像IM6のエッジの一部が強調されている。ここでは、「A」の文字TX1が比較的薄い色で描画されているため、エッジの一部は、画素値が255(黒)にされている。
ここでは、例えば、編集部131は、上位装置170から送信された印刷データに基づいて、(K)=(0xB3)を指定する前景色中間コードと、矩形中間コードと、(K)=(0x30)を指定する前景色中間コードと、矩形中間コードと、(K)=(0x35)を指定する前景色中間コードと、「A」を表すビットマップデータ、左上座標として(x,y)=(400,450)及び右下座標として(x,y)=(529,569)の情報をもつテキスト中間コードとを受信バッファ120に記憶させるものとする。
このような場合には、中間コード解析部233は、(K)=(0xB3)を指定する前景色中間コードと、矩形中間コードと、(K)=(0x30)を指定する前景色中間コードと、矩形中間コードと、(K)=(0x35)を指定する前景色中間コードとを実施の形態1と同様に処理を行う。その後、中間コード解析部233は、テキスト中間コードに基づいて、テキスト中間コードに対応した描画範囲の情報とともに、エッジ抽出部234に中間コード展開を通知する。
このような場合、例えば、図9に示されているように、「A」の文字TX1の画素値(前景色階調値)と、矩形の画像IM5の画素値(前景色階調値)とは近似していないため、エッジの強調は行われていない。一方、「A」の文字TX1の画素値(前景色階調値)と、矩形の画像IM6の画素値(前景色階調値)とは近似しているため、矩形の画像IM6のエッジの一部が強調されている。ここでは、「A」の文字TX1が比較的薄い色で描画されているため、エッジの一部は、画素値が255(黒)にされている。
以上のように、実施の形態2によれば、グラフィックなど、座標で描画を表現しているものだけでなく、テキストのように、座標情報とビットマップデータとを合せて描画範囲を表現するような場合でも、塗りつぶしの前景色が近い場合、その境界を強調することができる。
以上のように、実施の形態1及び2によれば、グレースケールにおいて、隣接する領域同士が、近い値又は同じ値になった場合でも、隣接する画像のエッジが強調されるため、画像同士の境界が分かりやすく、かつ、もともとのグレー変換のみを行った出力結果に近い出力を得ることができる。
以上に記載された実施の形態1及び2では、エッジ展開部136、236がエッジを強調する際に、図5のステップS84又は図8のステップS102に示されているように、前景色階調値のみを参照して、描画対象画素の画素値を変えているが、このような例に限定されるものではない。
例えば、エッジ展開部136、236は、前景色階調値ではなく、描画対象画素の画素値として既に格納されている画素値を参照して、描画対象画素の画素値を変えてもよい。例えば、描画対象画素の画素値として既に設定されている画素値が第2の値以上である場合に、処理がステップS75又はステップS103に進んでもよく、このような画素値が第2の値未満である場合に、処理はステップS76又はステップS104に進んでもよい。
また、エッジ展開部136、236は、前景色階調値と、描画対象画素の画素値として既に設定されている画素値とを参照して、描画対象画素の画素値を変えてもよい。例えば、これらの値の少なくとも何れか一方が第2の値以上である場合に、処理がステップS75又はステップS103に進んでもよく、これらの値の何れもが第2の値未満である場合に、処理がステップS76又はステップS104に進んでもよい。また、前景色階調値と、描画対象画素の画素値として既に設定されている画素値との加算値が、予め定められた第3の値以上である場合に、処理がステップS75又はステップS103に進んでもよく、これらの値の加算値が第3の値未満である場合に、処理がステップS76又はステップS104に進んでもよい。ここで、第3の値は、例えば、256である。
例えば、エッジ展開部136、236は、前景色階調値ではなく、描画対象画素の画素値として既に格納されている画素値を参照して、描画対象画素の画素値を変えてもよい。例えば、描画対象画素の画素値として既に設定されている画素値が第2の値以上である場合に、処理がステップS75又はステップS103に進んでもよく、このような画素値が第2の値未満である場合に、処理はステップS76又はステップS104に進んでもよい。
また、エッジ展開部136、236は、前景色階調値と、描画対象画素の画素値として既に設定されている画素値とを参照して、描画対象画素の画素値を変えてもよい。例えば、これらの値の少なくとも何れか一方が第2の値以上である場合に、処理がステップS75又はステップS103に進んでもよく、これらの値の何れもが第2の値未満である場合に、処理がステップS76又はステップS104に進んでもよい。また、前景色階調値と、描画対象画素の画素値として既に設定されている画素値との加算値が、予め定められた第3の値以上である場合に、処理がステップS75又はステップS103に進んでもよく、これらの値の加算値が第3の値未満である場合に、処理がステップS76又はステップS104に進んでもよい。ここで、第3の値は、例えば、256である。
実施の形態1及び2では、カラーの印刷データから、グレースケールの画像データに変換する場合を例に説明したが、このような例に限定されるものではない。例えば、カラーの印刷データからカラーの画像データを生成する場合にも、隣接し、近似する色を有する画像のエッジを強調することができる。
例えば、中間コード解析部133、233は、図2のステップS17において、印刷データで特定される、Y成分、M成分、C成分及びK成分の値を前景色階調値として更新する。
また、図5のステップS70において、描画対象画素の画素値として既に設定されている値のうち、Y成分、M成分、C成分及びK成分の全てが0である場合には、エッジ展開部136は、処理をステップS73に進め、Y成分、M成分、C成分及びK成分の少なくとも何れか1つが0ではない場合には、処理をステップS71に進める。
図5のステップS71又は図8のステップS100では、エッジ展開部136、236は、描画対象画素に既に設定されている画素値と、前景色階調値とのそれぞれにおいて、CMYKの各色の256階調の値を加算した値を用いて、その差分を算出する。ステップS72又はS101では、エッジ展開部136、236は、ステップS71又はS100で算出された差分が、40以上の場合、色が近似しないと判断し、処理をステップS73に進める、又は、フロー終了する。一方、エッジ展開部136、236は、その差分が、40未満の場合、色が近似すると判断して、処理をステップS74又はS102に進める。なお、このような例に限定されず、例えば、描画対象画素に既に設定されている画素値と、前景色階調値との色差を算出して、算出された色差を予め定められた第4の値と比較することで、色が近似しているか否かが判断されてもよい。
図5のステップS74又は図8のステップS102では、エッジ展開部136、236は、C成分、M成分、Y成分及びK成分の各色の値をRGBに変換する。そして、エッジ展開部136は、変換された1つの成分、例えば、B成分が予め定められた値(例えば、128)以上である場合には、ステップS75又はS103において、描画対象画素の画素値をCMYK=(0、0、0、0)に更新し、B成分が予め定められた値未満である場合には、ステップS76又はS104において、描画対象画素の画素値をCMYK=(0xFF、0xFF、0xFF、0xFF)に更新する。なお、ここでは、変換された1つの成分、例えば、B成分を予め定められた値と比較しているが、エッジ展開部136、236は、変換された複数の成分の内少なくとも1つの成分が予め定められた値以上か否かを判断してもよい。また、エッジ展開部136、236は、変換された複数の成分の加算値を予め定められた値と比較してもよい。
例えば、中間コード解析部133、233は、図2のステップS17において、印刷データで特定される、Y成分、M成分、C成分及びK成分の値を前景色階調値として更新する。
また、図5のステップS70において、描画対象画素の画素値として既に設定されている値のうち、Y成分、M成分、C成分及びK成分の全てが0である場合には、エッジ展開部136は、処理をステップS73に進め、Y成分、M成分、C成分及びK成分の少なくとも何れか1つが0ではない場合には、処理をステップS71に進める。
図5のステップS71又は図8のステップS100では、エッジ展開部136、236は、描画対象画素に既に設定されている画素値と、前景色階調値とのそれぞれにおいて、CMYKの各色の256階調の値を加算した値を用いて、その差分を算出する。ステップS72又はS101では、エッジ展開部136、236は、ステップS71又はS100で算出された差分が、40以上の場合、色が近似しないと判断し、処理をステップS73に進める、又は、フロー終了する。一方、エッジ展開部136、236は、その差分が、40未満の場合、色が近似すると判断して、処理をステップS74又はS102に進める。なお、このような例に限定されず、例えば、描画対象画素に既に設定されている画素値と、前景色階調値との色差を算出して、算出された色差を予め定められた第4の値と比較することで、色が近似しているか否かが判断されてもよい。
図5のステップS74又は図8のステップS102では、エッジ展開部136、236は、C成分、M成分、Y成分及びK成分の各色の値をRGBに変換する。そして、エッジ展開部136は、変換された1つの成分、例えば、B成分が予め定められた値(例えば、128)以上である場合には、ステップS75又はS103において、描画対象画素の画素値をCMYK=(0、0、0、0)に更新し、B成分が予め定められた値未満である場合には、ステップS76又はS104において、描画対象画素の画素値をCMYK=(0xFF、0xFF、0xFF、0xFF)に更新する。なお、ここでは、変換された1つの成分、例えば、B成分を予め定められた値と比較しているが、エッジ展開部136、236は、変換された複数の成分の内少なくとも1つの成分が予め定められた値以上か否かを判断してもよい。また、エッジ展開部136、236は、変換された複数の成分の加算値を予め定められた値と比較してもよい。
実施の形態1及び2では、グラフィックを描画するものである場合について記載したが、このような例に限定されるものではない。例えば、イメージデータに基づいて画像を描画する場合でも、イメージデータで示された、描画を行う領域を矩形領域とみなし、矩形に対する処理と同様の処理を行うことで、画像間の境界を必要に応じて強調することができる。
以上に記載された実施の形態1及び2では、本発明を印刷装置に適用した例を説明したが、本発明は、複合機、複写機及びファクシミリ装置等の画像形成装置にも適応可能である。また、印刷データとして、展開済みのイメージを送信する形式のプリンタドライバに対しても、送信用のイメージを作成する過程で、以上に記載された実施の形態と同様の過程を踏めば適応可能である。
100 印刷装置、 110 通信部、 120 受信バッファ、 130 データ生成部、 131 編集部、 132 ページバッファ、 133 中間コード解析部、 134 エッジ抽出部、 135 展開部、 136 エッジ展開部、 137 ラスタバッファ、 140 印刷部、 160 ネットワーク、 170 上位装置。
Claims (18)
- 形成する複数の画像を指示する画像形成データに基づいて、前記複数の画像の画素値を示す画像データを生成するデータ生成部と、
前記データ生成部で生成された画像データに基づいて、記録媒体に画像を形成する画像形成部と、を備え、
前記データ生成部は、前記複数の画像に含まれる一の画像の画素値と、当該一の画像に隣接する画像の画素値とが近似する場合には、当該一の画像と、当該隣接する画像との境界を強調するように、前記画像データを生成すること
を特徴とする画像形成装置。 - 前記データ生成部は、
前記一の画像のエッジとなる画素を抽出するエッジ抽出部と、
前記エッジ抽出部で抽出された画素に既に設定されている画素値と、前記画像形成データに基づいて前記一の画像を形成するための画素値との差分が、予め定められた第1の値未満である場合に、前記エッジ抽出部で抽出された画素の画素値を、前記境界を強調する画素値に更新するエッジ展開部と、を備えること
を特徴とする請求項1に記載の画像形成装置。 - 前記エッジ展開部は、
前記エッジ抽出部で抽出された画素に既に設定されている画素値、及び、前記画像形成データに基づいて前記一の画像を形成するための画素値、の少なくとも何れか一つの値に応じて、前記境界を強調する画素値を変えること
を特徴とする請求項2に記載の画像形成装置。 - 前記境界を強調する画素値は、前記エッジ抽出部で抽出された画素に既に設定されている画素値、及び、前記画像形成データに基づいて前記一の画像を形成するための画素値とは異なる値であること
を特徴とする請求項3に記載の画像形成装置。 - 前記エッジ展開部は、
前記エッジ抽出部で抽出された画素に既に設定されている画素値、及び、前記画像形成データに基づいて前記一の画像を形成するための画素値、の少なくとも何れか一つの値で示される色が、予め定められた第2の値で示される色以上の濃さである場合には、前記エッジ抽出部で抽出された画素の画素値を、前記画像形成データに基づいて前記一の画像を形成するための画素値で示される色よりも薄い色となるように更新し、
前記エッジ抽出部で抽出された画素に既に設定されている画素値、及び、前記画像形成データに基づいて前記一の画像を形成するための画素値、の少なくとも何れか一つの値で示される色が、前記予め定められた第2の値で示される色よりも薄い場合には、前記エッジ抽出部で抽出された画素の画素値を、前記画像形成データに基づいて前記一の画像を形成するための画素値で示される色よりも濃い色となるように更新すること
を特徴とする請求項3又は4に記載の画像形成装置。 - 前記データ生成部は、
前記一の画像のエッジとなる画素を抽出するエッジ抽出部と、
前記エッジ抽出部で抽出された画素に隣接する、前記隣接する画像の画素の画素値と、前記画像形成データに基づいて前記一の画像を形成するための画素値との差分が、予め定められた第1の値未満である場合に、前記エッジ抽出部で抽出された画素の画素値を、前記境界を強調する画素値に更新するエッジ展開部と、を備えること
を特徴とする請求項1に記載の画像形成装置。 - 前記エッジ展開部は、
前記エッジ抽出部で抽出された画素に隣接する、前記隣接する画像の画素の画素値、及び、前記画像形成データに基づいて前記一の画像を形成するための画素値の少なくとも何れか一つの値に応じて、前記境界を強調する画素値を変えること
を特徴とする請求項6に記載の画像形成装置。 - 前記境界を強調する画素値は、前記エッジ抽出部で抽出された画素に隣接する、前記隣接する画像の画素の画素値、及び、前記画像形成データに基づいて前記一の画像を形成するための画素値とは異なる値であること
を特徴とする請求項7に記載の画像形成装置。 - 前記エッジ展開部は、
前記エッジ抽出部で抽出された画素に隣接する、前記隣接する画像の画素の画素値、及び、前記画像形成データに基づいて前記一の画像を形成するための画素値の少なくとも何れか一つの値で示される色が、予め定められた第2の値で示される色以上の濃さである場合には、前記エッジ抽出部で抽出された画素の画素値を、前記画像形成データに基づいて前記一の画像を形成するための画素値で示される色よりも薄い色となるように更新し、
前記エッジ抽出部で抽出された画素に隣接する、前記隣接する画像の画素の画素値、及び、前記画像形成データに基づいて前記一の画像を形成するための画素値の少なくとも何れか一つの値で示される色が、前記予め定められた第2の値で示される色よりも薄い場合には、前記エッジ抽出部で抽出された画素の画素値を、前記画像形成データに基づいて前記一の画像を形成するための画素値で示される色よりも濃い色となるように更新すること
を特徴とする請求項7又は8に記載の画像形成装置。 - 前記データ生成部は、
前記一の画像に対してエッジとなる、前記隣接する画像の画素を抽出するエッジ抽出部と、
前記エッジ抽出部で抽出された画素に既に設定されている画素値と、前記画像形成データに基づいて前記一の画像を形成するための画素値との差分が、予め定められた第1の値未満である場合に、前記エッジ抽出部で抽出された画素の画素値を、前記境界を強調する画素値に更新するエッジ展開部と、を備えること
を特徴とする請求項1に記載の画像形成装置。 - 前記エッジ展開部は、
前記エッジ抽出部で抽出された画素に既に設定されている画素値、及び、前記画像形成データに基づいて前記一の画像を形成するための画素値、の少なくとも何れか一つの値に応じて、前記境界を強調する画素値を変えること
を特徴とする請求項10に記載の画像形成装置。 - 前記境界を強調する画素値は、前記エッジ抽出部で抽出された画素に既に設定されている画素値、及び、前記画像形成データに基づいて前記一の画像を形成するための画素値とは異なる値であること
を特徴とする請求項11に記載の画像形成装置。 - 前記エッジ展開部は、
前記エッジ抽出部で抽出された画素に既に設定されている画素値、及び、前記画像形成データに基づいて前記一の画像を形成するための画素値、の少なくとも何れか一つの値で示される色が、予め定められた第2の値で示される色以上の濃さである場合には、前記エッジ抽出部で抽出された画素の画素値を、前記画像形成データに基づいて前記一の画像を形成するための画素値で示される色よりも薄い色となるように更新し、
前記エッジ抽出部で抽出された画素に既に設定されている画素値、及び、前記画像形成データに基づいて前記一の画像を形成するための画素値、の少なくとも何れか一つの値で示される色が、前記予め定められた第2の値で示される色よりも薄い場合には、前記エッジ抽出部で抽出された画素の画素値を、前記画像形成データに基づいて前記一の画像を形成するための画素値で示される色よりも濃い色となるように更新すること
を特徴とする請求項11又は12に記載の画像形成装置。 - 前記エッジ展開部は、
前記薄い色を白色とし、
前記濃い色を黒色とすること
を特徴とする請求項5、9及び13の何れか一項に記載の画像形成装置。 - 前記データ生成部は、
前記画像形成データに基づいて、前記複数の画像を描画するための中間コードを生成する編集部と、
前記編集部で生成された中間コードを記憶する中間コード記憶部と、
前記中間コード記憶部に記憶されている中間コードを解析し、前記複数の画像の描画範囲及び画素値を特定する中間コード解析部と、をさらに備え、
前記エッジ抽出部は、前記中間コード解析部で特定された描画範囲に基づいて、前記一の画像のエッジとなる画素を抽出し、
前記エッジ展開部は、前記中間コード解析部で特定された画素値を、前記画像形成データに基づいて前記一の画像を形成するための画素値とすること
を特徴とする請求項2又は6に記載の画像形成装置。 - 前記データ生成部は、
前記画像形成データに基づいて、前記複数の画像を描画するための中間コードを生成する編集部と、
前記編集部で生成された中間コードを記憶する中間コード記憶部と、
前記中間コード記憶部に記憶されている中間コードを解析し、前記複数の画像の描画範囲及び画素値を特定する中間コード解析部と、をさらに備え、
前記エッジ抽出部は、前記中間コード解析部で特定された描画範囲に基づいて、前記一の画像に対してエッジとなる、前記隣接する画像の画素を抽出し、
前記エッジ展開部は、前記中間コード解析部で特定された画素値を、前記画像形成データに基づいて前記一の画像を形成するための画素値とすること
を特徴とする請求項10に記載の画像形成装置。 - 前記画像形成データは、前記複数の画像をカラーで形成するように指示するデータであり、
前記編集部は、前記画像形成データに基づいて、前記複数の画像をグレースケールで描画するための中間コードを生成すること
を特徴とする請求項15又は16に記載の画像形成装置。 - 形成する複数の画像を指示する画像形成データに基づいて、前記複数の画像の画素値を示す画像データを生成するデータ生成過程と、
前記データ生成過程で生成された画像データに基づいて、記録媒体に画像を形成する画像形成過程と、を有し、
前記データ生成過程では、前記複数の画像に含まれる一の画像の画素値と、当該一の画像に隣接する画像の画素値とが近似する場合には、当該一の画像と、当該隣接する画像との境界を強調するように、前記画像データが生成されること
を特徴とする画像形成方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013178205A JP2015046835A (ja) | 2013-08-29 | 2013-08-29 | 画像形成装置及び画像形成方法 |
US14/468,390 US9251447B2 (en) | 2013-08-29 | 2014-08-26 | Image formation apparatus and method of forming image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013178205A JP2015046835A (ja) | 2013-08-29 | 2013-08-29 | 画像形成装置及び画像形成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015046835A true JP2015046835A (ja) | 2015-03-12 |
Family
ID=52582852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013178205A Pending JP2015046835A (ja) | 2013-08-29 | 2013-08-29 | 画像形成装置及び画像形成方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9251447B2 (ja) |
JP (1) | JP2015046835A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6489763B2 (ja) * | 2014-06-18 | 2019-03-27 | キヤノン株式会社 | 画像処理装置、画像処理方法、プログラム |
US20190043148A1 (en) * | 2015-07-30 | 2019-02-07 | The Government of the United States of America, as represented by the Secretary of Homeland Security | Information collection using multiple devices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000050098A (ja) * | 1998-05-29 | 2000-02-18 | Canon Inc | 画像形成装置,方法,画像処理装置,方法および記録媒体 |
JP2001239705A (ja) * | 2000-02-28 | 2001-09-04 | Casio Electronics Co Ltd | 図形境界作成装置及び作成方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3028553B2 (ja) * | 1990-04-09 | 2000-04-04 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
US5418574A (en) * | 1992-10-12 | 1995-05-23 | Matsushita Electric Industrial Co., Ltd. | Video signal correction apparatus which detects leading and trailing edges to define boundaries between colors and corrects for bleeding |
JP3399486B2 (ja) * | 1993-06-30 | 2003-04-21 | 富士ゼロックス株式会社 | カラー画像処理装置及び方法 |
JPH1117961A (ja) | 1997-06-20 | 1999-01-22 | Nec Corp | 印刷装置及び印刷装置の制御プログラムを記録した媒体 |
JP4001162B2 (ja) * | 2005-11-04 | 2007-10-31 | オムロン株式会社 | 画像処理方法、画像処理用のプログラムならびにその記憶媒体、および画像処理装置 |
US8406515B2 (en) * | 2009-06-24 | 2013-03-26 | Hewlett-Packard Development Company, L.P. | Method for automatically cropping digital images |
-
2013
- 2013-08-29 JP JP2013178205A patent/JP2015046835A/ja active Pending
-
2014
- 2014-08-26 US US14/468,390 patent/US9251447B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000050098A (ja) * | 1998-05-29 | 2000-02-18 | Canon Inc | 画像形成装置,方法,画像処理装置,方法および記録媒体 |
JP2001239705A (ja) * | 2000-02-28 | 2001-09-04 | Casio Electronics Co Ltd | 図形境界作成装置及び作成方法 |
Also Published As
Publication number | Publication date |
---|---|
US20150062657A1 (en) | 2015-03-05 |
US9251447B2 (en) | 2016-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8830546B2 (en) | Apparatus and method determining whether object specified to enable an underlying object to be seen there through is included in data to be printed, and medium having instructions for performing the method | |
EP3355568B1 (en) | Image processing apparatus and method for controlling the same | |
US10592766B2 (en) | Image processing apparatus and medium storing program executable by image processing apparatus | |
JP7110840B2 (ja) | プログラム、画像形成装置、情報処理装置、及び情報処理システム | |
JP2008166967A (ja) | 印刷製版用の画像処理装置および画像処理プログラム | |
US8369614B2 (en) | Edge control in a digital color image via tone and size dependent dilation of pixels | |
US11341597B2 (en) | Image processing method, image processing apparatus, and storage medium | |
JP5741756B1 (ja) | 画像形成装置及びプログラム | |
JP2021093719A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP5293328B2 (ja) | 画像処理装置及びプログラム | |
US9122980B2 (en) | Information processing device and method extracting a contour from image of combined pixel data object and vector data object | |
JP2015046835A (ja) | 画像形成装置及び画像形成方法 | |
KR101716278B1 (ko) | 화상형성장치, 인쇄제어단말장치 및 그 화상형성방법 | |
JP2005243003A (ja) | 画像処理方法及び画像処理装置 | |
US8400691B2 (en) | Image forming apparatus generating color image data with varying emphasis | |
JP2018182464A (ja) | 画像処理装置及びプログラム | |
JP2011130422A (ja) | 印刷データ調整装置、印刷データ調整方法、および印刷データ調整プログラム | |
US8390907B2 (en) | Image-processing device, image-forming device, image-processing method, and computer readable medium | |
JP2009159388A (ja) | 文書画像処理プログラム、文書画像処理装置、および文書画像処理方法 | |
JP7331595B2 (ja) | 色変換パラメーター生成装置、色変換パラメーター生成方法及びプログラム | |
JP7187300B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP5496230B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2010062960A (ja) | 地紋画像生成プログラム及び地紋画像生成装置 | |
JP2007081886A (ja) | 描画処理装置 | |
JP6051526B2 (ja) | 画像処理システム、画像形成装置、画像処理プログラム、および画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150316 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150714 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20151124 |