JP2020088524A - 画像処理装置、画像処理方法及びプログラム - Google Patents

画像処理装置、画像処理方法及びプログラム Download PDF

Info

Publication number
JP2020088524A
JP2020088524A JP2018218285A JP2018218285A JP2020088524A JP 2020088524 A JP2020088524 A JP 2020088524A JP 2018218285 A JP2018218285 A JP 2018218285A JP 2018218285 A JP2018218285 A JP 2018218285A JP 2020088524 A JP2020088524 A JP 2020088524A
Authority
JP
Japan
Prior art keywords
image
pixel
data
correction
output
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.)
Granted
Application number
JP2018218285A
Other languages
English (en)
Other versions
JP7171382B2 (ja
JP2020088524A5 (ja
Inventor
健一郎 春田
Kenichiro Haruta
健一郎 春田
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 JP2018218285A priority Critical patent/JP7171382B2/ja
Priority to US16/679,022 priority patent/US10798267B2/en
Publication of JP2020088524A publication Critical patent/JP2020088524A/ja
Publication of JP2020088524A5 publication Critical patent/JP2020088524A5/ja
Application granted granted Critical
Publication of JP7171382B2 publication Critical patent/JP7171382B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/409Edge or detail enhancement; Noise or error suppression
    • H04N1/4092Edge or detail enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1867Post-processing of the composed and rasterized print image
    • G06K15/1872Image enhancement
    • G06K15/1873Increasing spatial resolution; Anti-aliasing
    • G06K15/1874Increasing spatial resolution; Anti-aliasing with provisions for treating some of the print data differently
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1867Post-processing of the composed and rasterized print image
    • G06K15/1872Image enhancement
    • G06K15/1881Halftoning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/34Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/52Circuits or arrangements for halftone screening
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/58Edge or detail enhancement; Noise or error suppression, e.g. colour misregistration correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Processing (AREA)

Abstract

【課題】 ユーザにとって違和感の少ないエッジ補正処理を行う仕組みを提供することを目的とする。【解決手段】 画像処理部105は、入力画像のエッジ部を検出し、当該検出されたエッジ部を補正するための第1のデータを出力する。また、入力画像内の細線を検出し、当該検出された細線を補正するための第2のデータを出力する。最後に、前記第1のデータにおける注目画素と前記第2の補正画素における前記注目画素の両方が補正対象である場合、補正幅が大きい注目画素を選択し、当該選択した注目画素に基づき補正した出力画像を出力する。【選択図】 図2

Description

本発明は、印刷に用いる画像に対して補正処理を行う画像処理装置、画像処理方法、及びプログラムに関するものである。
従来、画像処理装置においてジャギーと呼ばれる文字等のエッジ部に発生するガタツキを改善する補正処理を実行する機能(エッジスムージング機能とも呼ぶ)が知られている(特許文献1)。また、画像に含まれる細線に対して視認性を高めるため、細線画素の画素値や細線画素に隣接する画素の画素値を補正する機能(細線太らせ機能とも呼ぶ)が知られている(特許文献2)。
特開平10−42141号公報 特開2016−167777号公報
ところで、画像に対して、エッジスムージング機能による処理と細線太らせ機能による処理の両方を行うことが考えられる。このように同じ画像に対して複数の異なる画像処理を実行する場合、いずれの結果を優先するかを予め装置の動作設定として記憶しておき、同じ画素に対して補正処理が行われた場合にいずれの補正結果を優先するかを切り替えることが知られている。
例えば、エッジのがたつきを抑えることを最優先とした場合を例に説明する。同じ画素に対してエッジスムージング機能による画素補正と、細線太らせ機能による画素補正が行われた場合において、常にエッジスムージング機能の補正結果を選択することが考えられる。この場合、エッジスムージングが適用され、濃度値が下がった画素と、当該画素に隣接し、細線太らせ処理が行われた画素とで、急激な濃度の変化が生じる恐れがある。この場合、エッジ部に発生するがたつきを改善することを優先したにも関わらず、なめらかなエッジ表現が行えない恐れがある。
本発明は、上述の懸念点の少なくとも1つを鑑みなされたものである。本発明は、画像に対してスムージング処理を含む複数の画像処理を適用する場合において、ユーザにとって違和感の少ない結果を出力できる仕組みを提供することを目的の1つとする。また、本発明の別の側面としては、画像に対してスムージング処理と線幅補正処理の両方を実行する場合に、当該両方の処理を反映した画像において滑らかなエッジ表現が行える仕組みを提供することを目的の1つとする。
上記の少なくとも1つの目的を達成するために本発明の画像処理装置は、入力画像のエッジ部を検出し、当該検出されたエッジ部を補正するための第1のデータを出力する第1の出力手段と、前記入力画像内の細線を検出し、当該検出された細線を補正するための第2のデータを出力する第2の出力手段と、前記第1のデータにおける注目画素と前記第2の補正画素における注目画素の両方が補正対象である場合、補正幅が大きい注目画素を選択し、当該選択した注目画素に基づき補正した出力画像を出力する第3の出力手段と、を有することを特徴とする。
本発明の1つの側面としては、画像に対してスムージング処理を含む複数の画像処理を適用する場合において、ユーザにとって違和感の少ない結果を出力できるようになる。また、本発明の1つの側面としては、画像に対してスムージング処理と線幅補正処理の両方を実行する場合であっても、当該両方の処理を反映した画像において滑らかなエッジ表現が行えるようになる。
印刷システムの一例を示す図である。 画像処理部のハードウェア構成の一例を示す図である。 画像補正処理部のハードウェア構成の一例を示す図である。 注目画素と周辺画素を含む参照領域を説明する図である。 スムージング処理部のハードウェア構成の一例を示す図である。 スムージング処理部における処理の一例を示すフローチャートである。 エッジ判定パターンの一例を説明するための模式図である。 エッジ補正に用いるルックアップテーブルの特性の一例である。 細線補正処理部のハードウェア構成の一例を示す図である。 細線補正処理部における処理の一例を説明するフローチャートである。 細線判定パターンの一例を説明するための模式図である。 細線補正に用いるルックアップテーブルの特性の一例である。 画像処理部による画像出力処理の一例を示すフローチャートである。 出力画像を説明するための図である。 第2の実施形態における画像出力処理の一例を示すフローチャートである。 第2の実施形態における出力画像を説明するための図である。 本発明における、スムージング処理と太らせ処理を適用した場合の出力結果及びその効果を説明するための図である。 従来技術において、スムージング処理と太らせ処理を適用した場合の出力結果を説明するための図である。
以下、本発明を実施するための実施形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせのすべてが発明の解決手段に必須のものとは限らない。
<第1の実施形態>
本発明に係る画像処理装置の第1実施形態として、スムージング処理と細線補正処理を実行可能な画像処理装置2を例に挙げて以下に説明する。
<装置構成>
図1は、本実施形態におけるシステム構成の概略図である。図1に示される画像処理システムは、ホストコンピュータ1、画像形成装置2によって構成される。ホストコンピュータ1は、一般のPC(パーソナルコンピュータ)などのコンピュータである。このホストコンピュータ1上の不図示のプリンタドライバ等のソフトウェアアプリケーションで作成された画像や文書は、PDL(Page Description Language)データとしてネットワークを介して画像形成装置2に送信される。画像形成装置2は、PDLデータを含む印刷ジョブをホストコンピュータ1から受信し、当該印刷ジョブに基づきシートに画像を印刷する機能を有する。
なお、本実施形態では画像処理装置の一例として印刷機能を有する画像形成装置を例示しているがこれに限定されるものではない。印刷のための画像を生成するプリントサーバなどであってもよい。
続けて画像形成装置2のハードウェア構成について説明する。画像形成装置2は、コントローラ21、印刷エンジン22、UI(ユーザインタフェース)部23を有する。
コントローラ21は、印刷エンジン22に接続され、ホストコンピュータ1からPDLデータを受け取り、印刷エンジン22で処理可能な印刷データに変換し、その印刷データを印刷エンジン22に出力する。
印刷エンジン22は、コントローラ21より出力された印刷データに基づいて、シートに画像を印刷する。画像が印刷されたシートは図示省略の排紙部に排紙される。なお、本実施形態の説明における印刷エンジン22は、電子写真方式の印刷エンジンを想定している。
UI部23は、ユーザにより操作され、種々の機能を選択したり、操作指示を行うために使用される。即ち、UI部23は、ユーザ操作を受け付ける受付部やユーザに情報を提示する表示部として機能する。このUI部23は、表面にタッチパネルが設けられた液晶ディスプレイや、スタートキーやストップキー、テンキー等の各種キー等を配置したキーボード等を備えている。なお、後述する細線補正の機能や、エッジスムージングの機能をONとするかどうかは、図示省略の設定画面を介して予め設定され、RAM103や画像処理部105のコンフィギュレーションメモリなどに記憶されているものとする。本実施形態では、説明の都合上エッジスムージングの機能と、細線補正の機能の両方がONに設定されているものとする。
次に、コントローラ21の詳細について説明する。コントローラ21はホストI/F(インターフェース)部101、CPU(Central Processing Unit)102、RAM(Random Access Memory)103を有する。またコントローラ21は、ROM(Read Only Memory)104、画像処理部105、エンジンI/F部106、内部バス107を有する。ホストI/F部101は、ホストコンピュータ1から送信されたPDLデータを受け取るためのインターフェースである。
CPU102は、RAM103やROM104に格納されているプログラムやデータを用いて画像形成装置2全体の制御を行うと共に、コントローラ21が行う後述の処理を実行する。RAM103は、CPU102が各種の処理を実行する際に用いるワークエリアを備えている。ROM104は、後述の各種処理をCPU102に実行させるためのプログラムやデータ、また、コントローラ21の設定データなどが格納されている。
画像処理部105は、CPU102からの設定に応じて、ホストI/F部101が受け取ったPDLデータに対してプリント用画像処理を行い、印刷エンジン22で処理可能な印刷データを生成する。画像処理部105は特に、受け取ったPDLデータに対してラスタライズを行うことで、1画素あたり複数の色成分を持つ画像データを生成する。複数の色成分とは、RGB(赤、緑、青)などの色空間において独立した色成分のことである。画像データは、画素毎に1つの色成分につき8ビット(256階調)の値を持つ。すなわち、画像データは多値の画素を含む、多値のビットマップデータである。画像処理部105は、生成された画像データを用いて、RGB色空間からCMYK(シアン、マゼンタ、イエロー、ブラック)色空間への色変換やスクリーン処理などの画像処理を施すことで印刷データを生成する。また、画像処理部105では、エッジ補正処理や細線の太らせ処理なども行われる。画像処理部105の詳細については後述する。
エンジンI/F部106は、画像処理部105によって生成された印刷データを、印刷エンジン22に送信するインターフェースである。内部バス107は、上述の各部に対してデータや制御コマンドを送受信するためのシステムバスである。
ところで、画像処理部105による画像処理において、エッジスムージング機能による処理と細線太らせ機能による画像処理の両方を行うことが考えられる。このように同じ画像に対して複数の異なる画像処理を実行する場合、いずれの結果を優先するかを予め装置の動作設定として記憶しておき、同じ画素に対して補正処理が行われた場合にいずれの補正結果を優先するかを切り替えることが知られている。
ここで、例えば、エッジのがたつきを抑えることを最優先とした場合を例にとして説明する。この場合、同じ画素に対してエッジスムージング機能による画素補正と、細線太らせ機能による画素補正が行われた場合において、常にエッジスムージング機能の補正結果を選択することが考えられる。この場合、エッジスムージングが適用され、濃度値が下がった画素と、当該画素に隣接し、細線太らせ処理が行われた画素とで、急激な濃度の変化が生じる恐れがある。具体的な例について図18を用いて説明する。図18(a)〜(f)は、従来技術における画像処理の一例を説明する図であり、図18(a)は入力画像の一例である。図18(a)に示す入力画像に対して、太らせ処理、及び、スムージング処理を適用した例について(b)〜(f)を用いて説明する。
図18(b)は、図18(a)のLに示すラインの画素列(n−4からn+1の6画素)の画素値(濃度)を示している。
図18(c)は、図18(b)に示す画素列に対してスムージング処理を行った場合の画素値を示す図である。例えば、画素n−1の画素値を0から85に補正し、画素nの画素値を255から170に補正することで、画素n−2から画素n+1までの濃度が階段状に増える。従って画素n−1から画素nの間の段差を目立たなくすることができる。
図18(d)は、図18(b)に示す画素列に対して太らせ処理を行った場合の画素値を示す図である。例えば、画素n−4から画素n−1までのそれぞれの画素値を、0から180に補正することで、列Lに隣接するL−1の細線を太らせることができる。
図18(e)は、図18(b)に示す画素列に対して、従来技術による太らせ処理、及び、スムージング処理を行った場合における補正結果を示す図である。図18(e)は、1つの画素が太らせ処理とスムージング処理の両方の対象となっている場合に、常にスムージング処理部の処理結果を選択するというルールで補正を行った例を示している。網掛け部分は太らせ処理が適用された画素の画素値を示し、斜線部分はスムージング処理が適用された画素の画素値を示す。
図18(c)及び(d)に示される通り、画素n−1は、太らせ処理、及び、スムージング処理の両方の処理の対象となる。その結果として図18(e)に示される通り、画素n−2と画素n−1の間で急激に出力画素値が低下する。また、画素n−1と画素nの間で急激に出力画素値が増加するといった補正結果となる。
図18(f)は、図18(a)の入力画像の各画素に対して図18(c)〜(f)で説明した補正処理を行った場合における出力画像を示している。図18(f)に示すように結果として、画素n−2から画素nにおいて滑らかな濃度表現が失われてしまう。
この場合、エッジ部に発生するがたつきを改善することを優先したにも関わらず、なめらかなエッジ表現が行えない恐れがある。
本実施形態では、上述の懸念点の少なくとも1つを鑑み、ユーザにとって違和感の少ない画像処理結果を出力できるようにする。より具体的には、画像に対してスムージング処理と線幅補正処理の両方を実行する場合に、当該両方の処理を反映した画像において滑らかなエッジ表現が行えるようにする。以下具体的な処理を実現する画像処理の方法について説明する。
<画像処理部>
次に、画像処理部105の詳細について説明する。なお、上述したように画像処理部105は、ホストI/F部101で受け取ったPDLデータに対してラスタライズ処理を行うことで、RGBの多値の画像データを生成する。図2は、画像処理部105において、当該生成された多値の画像データに対して行われるプリント用画像処理について説明するための図である。画像処理部105は、図2に示すように、色変換処理部201、ガンマ補正処理部202、スクリーン処理部203、画像補正処理部204、画像選択部205を有する。
色変換処理部201は、多値の画像データに対してRGB色空間からCMYK色空間への色変換処理を行う。この色変換処理によって1画素あたり8ビット(256階調)の多値の濃度値(階調値、信号値とも呼ぶ)を持つCMYK画像データが生成される。
ガンマ補正処理部202は、後述するスクリーン処理部203でスクリーン処理された画像データが記録紙へと転写された際の濃度特性が所望の特性となるよう、一次元のルックアップテーブルを用いて、入力された画素データを補正する。本実施形態では、例としてリニアな形状をした一次元のルックアップテーブルを用いて濃度補正を行う。
スクリーン処理部203は、ガンマ補正処理部202から受け取った多値(例えば、8ビット、256階調)のCMYKイメージを印刷エンジン22の色材の潜像画像である多値(例えば、4ビット、16階調)のCMYKイメージに変換し出力する。即ち、スクリーン処理部は、階調数の高いイメージデータを階調数の低い中間調イメージに変換する中間調処理を行う。
画像補正処理部204は、色変換処理部201から多値のCMYKイメージを受け取り、スムージング処理と細線補正処理を適用して補正データを生成する。その後、生成した補正データと補正フラグを画像選択部205に出力する。画像補正処理部204の処理の詳細については図3を参照して後述する。
画像選択部205は、画像補正処理部204から受け取った補正フラグに基づいて、スクリーン処理部203から受け取ったスクリーンデータと画像補正処理部204から受け取った補正データの何れかを選択して出力する。補正フラグが“1”の場合は、補正対象画素であると判断され、補正データを出力する。補正フラグが“0”の場合は、補正対象画素でないと判断され、スクリーンデータを出力する。その後、画像合成処理後の画像をエンジンI/F(インタフェース)部106に出力する。
<画像補正処理部204>
次に、画像補正処理部204の詳細について説明する。画像補正処理部204では、スムージング処理と細線補正処理を適用して補正データを出力する。また、補正対象画素には、補正フラグに“1”を代入して出力する。補正対象画素でない場合は、“0”を代入して出力する。図3は、画像補正処理部204のブロック図である。画像補正処理部204は、図3に示すように、ウィンドウ生成部301、スムージング処理部302、細線補正処理部303、画像合成部304を有する。図4は、ウィンドウ生成部301で生成される7×7画素のウィンドウを説明するための図である。注目画素は画素[33]である。
まず、CMYK色空間に変換された画像データは、ウィンドウ生成部301内部のFIFOメモリに蓄えられる。FIFOメモリは画像データを6ライン遅延させ、中央を注目画素とする幅7画素、高さ7画素から成るウィンドウを形成する。スムージング処理は3×3画素のエッジパターンとパターンマッチングを行うので、7×7画素の内、注目画素の画素[33]を含む、画素[33]に隣接する3×3画素をスムージング処理部302へ出力する。細線補正処理は、7×7画素の細線パターンとパターンマッチングを行うので、7×7画素を細線補正処理部303へ出力する。
スムージング処理部302は、注目画素の画素[33]を含む3×3画素から3×3画素の判定画像を生成し、注目画素に対してエッジパターン判定処理を行う。予め用意したエッジパターンと3×3画素の判定画像を比較し、注目画素がスムージング対象画素であると判断された場合は、注目画素のスムージングフラグに“1”を代入して出力する。また、スムージング対象画素であると判断された場合は、注目画素のスムージングデータを算出して出力する。スムージング処理の詳細については、後述する。
細線補正処理部303は、注目画素を含む7×7画素から7×7画素の判定画像を生成し、細線パターン判定処理を行う。予め用意した細線パターンと7×7画素の判定画像を比較し、細線補正対象画素であると判断された場合は、注目画素の細線補正フラグに所望の値を代入して出力する。また、細線補正対象画素であると判断された場合は、注目画素の細線補正データを算出して出力する。細線補正処理については、後述する。
画像合成部304は、スムージング処理部302からスムージングデータとスムージングフラグを受け取り、細線補正処理部303から細線補正データと細線補正フラグを受け取り、画像合成処理を行う。そして、スムージングフラグと細線補正フラグに基づいて補正フラグを生成し、補正フラグを出力する。スムージングデータ、スムージングフラグ、細線補正データと細線補正フラグに基づいて補正データを算出し、補正データを出力する。画像合成部304で実施される画像合成処理の詳細については後述する。その後、画像選択部205に補正データと補正フラグを出力する。
<スムージング処理部302>
次に、本実施形態におけるスムージング処理部302で行われるスムージング処理について詳細を説明する。図5は、スムージング処理部302のブロック図である。図6は、実施形態におけるスムージング処理のフローチャートである。図7は、本実施形態におけるエッジパターンの一例である。図8は、本実施形態におけるスムージング処理で用いるルックアップテーブルの特性の一例である。図8(a)は、図7のパターン番号1又は3と一致する場合に用いるルックアップテーブルSMLUT1の特性の一例であり、図8(b)は、図7のパターン番号2又は4と一致する場合に用いるルックアップテーブルSMLUT2の特性の一例である。図14は、実施形態における処理結果を説明するための図である。
図14(a)は、画像補正処理部204の入力画像の一例であり、図14(b)は、スクリーン処理部203の出力結果の一例である。図14(c)は、二値化処理部501の処理結果の一例であり、図14(d)は、スムージング処理部302から出力されるスムージングフラグの一例である。図14(e)は、スムージング処理部302から出力されるスムージングデータの一例であり、図14(f)は、後述する細線二値化処理部901の処理結果の一例である。図14(g)は、後述する細線補正処理部303から出力される細線補正フラグの一例であり、図14(h)は、後述する細線補正処理部303から出力される細線補正データの一例である。また、図14(i)は、画像合成部304から出力される補正フラグの一例であり、図14(j)は、本実施形態ではなく、従来の手法を採用した場合の補正データの一例である。また、図14(k)は、本実施形態における画像合成部304から出力される補正データの一例である。
スムージング処理部302内部の各ブロックの処理概要について図5のブロック図を使って説明する。二値化処理部501は、3×3画素の8ビットの画像を受け取り、各画素値と予め定められた閾値と比較し、判定画像を生成し、パターンマッチング部502に出力する。この判定画像はパターンマッチング部502でパターンマッチングを行うために生成する。
パターンマッチング部502は、判定画像とエッジパターンを比較し、一致する場合には、パターンデータに一致するパターン番号を代入して、パターンデータを出力する。
平均値算出部503は、スムージング処理を行うために、注目画素を中心とする3×3画素を受け取り、3×3画素の平均値を算出して出力する。
補正値決定部504は、パターンマッチング部502から入力されたパターンデータと平均値に基づいて、スムージングデータとスムージングフラグを算出して出力する。
スムージング処理部302の詳細な動作について、図6のフローチャットを使って説明する。図6のフローチャートは、ASIC等のハードウェア回路で実現されたスムージング処理部302が実行する制御を説明するためのフローチャートである。なお、本実施形態では、図6のフローチャートにおける処理がハードウェア回路によって実現される場合を想定しているが、これに限定されるものではない。例えば、画像処理のためのプログラムをプロセッサが読み出し、入力画像に対する画像処理を実現するようにしてもよい。
まず、ステップS601において、パターンマッチング部502は、パターンデータに“0”を代入することで、パターンデータの初期化を行う。
次に、ステップS602において、二値化処理部501は、ウィンドウ生成部301から画像を受け取り、3×3画素から判定画像を生成する。二値化処理部501は、予め定められた閾値(本実施例では、127)と3×3画素の各画素値と比較し、閾値よりも画素値が大きい場合は、“1”を出力し、それ以外の場合は、“0”を出力する。そして、判定画像をパターンマッチング部502に出力する。例えば、図14(a)の3×3画素1402が二値化処理部501に入力された場合、画素値が“0”の画素は、閾値127よりも小さいので、“0”が出力され、画素値が“255”の画素は“1”が出力される。その結果、判定画像として、図14(c)の3×3画素1403が得られる。
ステップS603からステップS606において、パターンマッチング部502は、二値化処理部501から受け取った判定画像とエッジパターンを比較し、一致するパターンがあれば、パターンデータを出力する。
ステップS603において、パターンマッチング部502は、二値化処理部501から受け取った判定画像(3×3画素)とエッジパターン(3×3画素)の同じ位置の画素(合計9画素)を比較し、一致するか判定する。9画素全てが一致する場合は、ステップS604へ移行し、一つでも一致しない画素がある場合は、ステップS605へ移行する。例えば、図14(c)の3×3画素1403が判定画像であった場合、まず、パターン番号1のAと一致するかを判定する。3×3画素1403は、パターン番号1のAと一つでも一致しない画素があるため、ステップS605へ移行する。
ステップS604において、パターンマッチング部502は、判定画像とエッジパターンの全ての画素が一致したと判断し、パターンデータに一致したパターン番号を代入することでパターンデータを更新する。例えば、図14(c)の3×3画素1403が判定画像であった場合、パターン番号2のAと一致するので、ステップS604において、パターンデータにパターン番号の2を代入して、パターンデータを更新する。従って、3×3画素1403の注目画素のパターンデータは“2”となる。
ステップS605において、パターンマッチング部502は、全てのエッジパターンと比較を行ったか判定する。全てのエッジパターンと比較を行った場合は、ステップS607へ移行する。全てのエッジパターンと比較していないと判定した場合は、ステップS606へ移行する。
ステップS606において、パターンマッチング部502は、比較の対象とするエッジパターンを次のパターンに移し、ステップS603からステップS605を実行する。図7はエッジパターンの一例である。パターンマッチング部502は、パターン番号1のAから、B、C、D、E、F、G、Hの順にパターンマッチングを実施する。パターン番号1のHの次は、パターン番号2のAのパターンマッチングを実施する。そして、パターン番号2のB、C、D、E、F、G、Hの順にパターンマッチングを実施し、パターン番号4のFまでパターンマッチングを実施する。パターン番号4のFのパターンマッチングが終わるとステップS605において、パターンマッチング部502は、全てのパターンでパターンマッチングを行ったと判断して、ステップS607へ移行する。
ステップS607において、平均値算出部503は、入力された3×3画素の平均値を算出する。平均値算出部503は、入力された参照領域内における注目画素を中心とした幅3画素、高さ3画素の9画素から8ビットの平均値AVEを求める。
ただし、本実施形態では除算を省くために、(式1)に示すビット演算を用いて平均値とする。
AVE=(SUM>>3)・・・(式1)
式1において、「>>」は右辺の値を、左辺に記載されたビットシフト量に基づき右にシフト演算するビット演算を示している。つまり、前記9画素の画素値の合計SUMを3ビットだけ右シフトさせる(8で割る)ことで、除算を省きながら8ビットの平均値AVEを求める。なお、例えば9画素の画素値の合計SUMを9で除算して平均値を求めても良い。例えば、図14(a)の3×3画素1402が入力された場合、平均値AVEは(式2)の通り127となる。
AVE=(1020>>3)=127・・・(式2)
ステップS608からステップS611において、補正値決定部504は、パターンマッチング部502からパターンデータ、平均値算出部から平均値AVEを受け取る。そして、一次元のルックアップテーブルSMLUTを参照してスムージングデータを算出し、スムージングデータとスムージングフラグを出力する。ここで、前記SMLUTは、8ビット入力4ビット出力のルックアップテーブルであり、プリンタの特性に応じて非線形な特性に設定される。本実施形態では、複数のSMLUTを保持し、エッジパターンに応じて、対応するSMLUTを切り替える。図8は、本実施形態におけるSMLUTの一例である。図8(a)に特性を例示するルックアップテーブルSMLUT1は、パターン番号1と3用のルックアップテーブルである。図8(b)に特性を例示するルックアップテーブルSMLUT2は、パターン番号2と4用のルックアップテーブルである。
ステップS608において、補正値決定部504は、パターンデータの判定を行う。パターンデータが0の場合は、判定画像と一致するエッジパターンが存在しなかったと判断し、ステップS609へ移行する。パターンデータが1又は3の場合は、ステップS610へ移行する。パターンデータが2又は4の場合は、ステップS611へ移行する。
ステップS609において、補正値決定部504は、判定画像と一致するエッジパターンが存在しなかったと判断し、スムージングフラグSM_FLAGに“0”を代入する。そして、注目画素の上位4ビットをスムージングデータSM_DATAとして出力して、処理を終了する。例えば、注目画素の画素値が255(8ビット)の場合は、上位4ビットの“15”がスムージングデータSM_DATAとして出力される。
ステップS610において、補正値決定部504は、注目画素が黒のパターンと一致したと判断し、注目画素が黒の場合に参照する一次元のルックアップテーブルSMLUT1を参照し、SM_DATAを算出する。補正値決定部504は、前記平均値AVEを一次元のルックアップテーブルSMLUT1で変調し、変調した値をスムージングデータSM_DATAとして出力する。補正値決定部504は、スムージングフラグSM_FLAGに“1”を代入し、処理を終了する。
ステップS611において、補正値決定部504は、注目画素が白のパターンと一致したと判断し、注目画素が白の場合に参照する一次元のルックアップテーブルSMLUT2を参照し、SM_DATAを算出する。補正値決定部504は、前記平均値AVEを一次元のルックアップテーブルSMLUT2で変調し、変調した値をスムージングデータSM_DATAとして出力する。補正値決定部504は、スムージングフラグSM_FLAGに“1”を代入し、処理を終了する。例えば、図14(c)の3×3画素1403が判定画像であった場合、パターンデータは“2”なので、図14(d)の1404に示すように、スムージングフラグSM_FLAGに“1”を代入して出力する。また、平均値は127なので、図9(b)の一次元のルックアップテーブルSMLUT2を参照し、補正値“5”を得る。図14(e)の画素1405に示すように、スムージングデータとして“5”を出力する。
以上、説明した処理のように、スムージング処理を適用することで、図14(e)に示すように、エッジ画素を滑らかにすることができる。なお、本実施形態では、1つのパターンマッチング回路を用いてS603〜S606の処理を繰り返し行う場合を例示したがこれに限定されるものではない。例えば、パターンマッチング回路を複数用意して処理を並列化することもできる。
なお、エッジスムージングの方法はこれに限定されるものではなく、多種多様なエッジスムージングの手法を適用することもできる。例えば、学習済みのパラメータを反映したニューラルネットワークなど用いてエッジスムージングを行うこともできる。
<細線補正処理部303の詳細な説明>
次に、本実施形態における細線補正処理部303で行われる細線補正処理について詳細を説明する。図9は、細線補正処理部303のブロック図である。図10は、実施形態における細線補正処理のフローチャートである。図11は、本実施形態における細線パターンの一例である。図12は、本実施形態における細線補正処理で用いるルックアップテーブルの特性の一例である。図12(a)は、図11のパターン番号1又は3と一致する場合に用いるルックアップテーブルLNLUT1の特性の一例である。図12(b)は、図11のパターン番号2又は4と一致する場合に用いるルックアップテーブルLNLUT2の特性の一例である。図12(c)は、図11のパターン番号5又は6と一致する場合に用いるルックアップテーブルLNLUT3の特性の一例である。
細線補正処理部303内部の各ブロックの処理概要について図9のブロック図を使って説明する。細線二値化処理部901は、7×7画素の8ビットの画像を受け取り、各画素値と予め定められた閾値と比較し、判定画像を生成し、細線パターンマッチング部902に出力する。この判定画像は細線パターンマッチング部902でパターンマッチングを行うために生成する。
細線パターンマッチング部902は、判定画像と細線パターンを比較し、一致する場合には、細線パターンデータに一致するパターン番号を代入して、細線パターンデータを出力する。
細線補正値決定部903は、細線パターンマッチング部902から入力された細線パターンデータと注目画素を中心とする3×3画素の画素値に基づいて、細線補正データと細線補正フラグを算出して出力する。
細線補正処理部303の詳細な動作について、図10のフローチャットを使って説明する。図10のフローチャットを使って説明する。図10のフローチャートは、ASIC等のハードウェア回路で実現された処理部303が実行する制御を説明するためのフローチャートである。なお、本実施形態では、図10のフローチャートにおける処理がハードウェア回路によって実現される場合を想定しているが、これに限定されるものではない。例えば、画像処理のためのプログラムをプロセッサが読み出し、入力画像に対する画像処理を実現するようにしてもよい。
まず、ステップS1001において、細線パターンマッチング部902は、細線パターンデータに“0”を代入することで、細線パターンデータの初期化を行う。
次に、ステップS1002において、細線二値化処理部901は、ウィンドウ生成部301から画像を受け取り、7×7画素から判定画像を生成する。細線二値化処理部901は、予め定められた閾値(本実施例では、127)と7×7画素の各画素値と比較し、閾値よりも画素値が大きい場合は、“1”を出力し、それ以外の場合は、“0”を出力する。そして、判定画像を細線パターンマッチング部902に出力する。例えば、図14(a)の7×7画素1406が細線二値化処理部901に入力された場合、画素値が“0”の画素は、閾値127よりも小さいので、“0”が出力され、画素値が“255”の画素は“1”が出力される。その結果、判定画像として、図14(f)の7×7画素1407が得られる。
ステップS1003からステップS1006において、細線パターンマッチング部902は、細線二値化処理部901から受け取った判定画像と細線パターンを比較し、一致するパターンがあれば、細線パターンデータを出力する。
ステップS1003において、細線パターンマッチング部902は、細線二値化処理部901から受け取った判定画像(7×7画素)と細線パターン(7×7画素)の同じ位置の画素(合計49画素)を比較する。図11は、細線パターンの一例であり、詳細に説明を行う。図11のパターンにおいて、“0”と記された画素は、判定画像の対応する画素の画素値が“0”であるかを判定し、“0”の場合は一致したと判定する。図11のパターンにおいて、“1”と記された画素は、判定画像の対応する画素の画素値が“1”であるかを判定し、“1”の場合は一致したと判定する。図11のパターンにおいて、“2”と記された判定画像の画素において少なくとも一つ以上の画素の画素値が“1”であるかを判定し、少なくとも一つ以上の画素の画素値が“1”の場合は一致したと判定する。図11のパターンにおいて、“3”と記された画素は、判定画像の画素の画素値に関わらず一致したと判定する。
以上の判定方法を全て満たす場合は、ステップS1004へ移行し、満たさない場合は、ステップS1005へ移行する。例えば、図14(f)の7×7画素1407が判定画像であった場合、まず、パターン番号1のAと一致するかを判定する。7×7画素1407は、パターン番号1のAと一致しないため、ステップS1005へ移行する。
ステップS1004において、細線パターンマッチング部902は、判定画像と細線パターンが一致したと判断し、細線パターンデータに一致したパターン番号を代入することで細線パターンデータを更新する。
ステップS1005において、細線パターンマッチング部902は、全ての細線パターンと比較を行ったか判定する。全ての細線パターンと比較を行った場合は、ステップS1007へ移行する。全ての細線パターンと比較していないと判定した場合は、ステップS1006へ移行する。
ステップS1006において、細線パターンマッチング部902は、比較の対象とする細線パターンを次のパターンに移し、ステップS1003からステップS1005を実行する。例えば、図14(f)の7×7画素1407が判定画像でパターン番号4のAと比較を行う場合について説明する。パターン番号4のAは、画素[33]と画素[36]が“0”であること。画素[34]と画素[35]が“1”であること。画素[23]、画素[24]、画素[25]、画素[26]、画素[43]、画素[44]、画素[45]、画素[46]の少なくとも一つの画素が“1”であることが判定条件である。7×7画素1407の画素[33]と画素[36]は“0”である。また、7×7画素1407の画素[34]と画素[35]は“1”である。そして、7×7画素1407の画素[24]、画素[25]、画素[43]、画素[44]、画素[45]は“1”なので、上記条件を全て満たしている。従って、図14(f)の7×7画素1407が判定画像であった場合、パターン番号4のAを満たしている。ステップS1004において、細線パターンマッチング部902は、細線パターンデータにパターン番号の“4”を代入して、細線パターンデータを更新する。従って、7×7画素1407の注目画素の細線パターンデータは“4”となる。細線パターンマッチング部902は、パターン番号1のAからBの順にパターンマッチングを実施する。パターン番号1のBの次は、パターン番号2のAのパターンマッチングを実施する。そして、パターン番号2のB、C、Dの順にパターンマッチングを実施し、パターン番号6のDまでパターンマッチングを実施する。パターン番号4のDのパターンマッチングが終わるとステップS1005において、細線パターンマッチング部902は、全てのパターンでパターンマッチングを行ったと判断して、ステップS1007へ移行する。
ステップS1007からステップS1012において、細線補正値決定部903は、細線パターンマッチング部902から細線パターンデータ、ウィンドウ生成部301から注目画素を中心とする3×3画素の画素値を受け取る。そして、一次元のルックアップテーブルLNLUTを参照して細線補正データを算出し、細線補正データと細線補正フラグを出力する。ここで、前記LNLUTは、8ビット入力4ビット出力のルックアップテーブルであり、プリンタの特性に応じて非線形な特性に設定される。本実施形態では、複数のLNLUTを保持し、細線パターンに応じて、対応するLNLUTを切り替える。図12は、本実施形態におけるLNLUTの特性を例示する図である。図12(a)に特性を例示しているルックアップテーブルLNLUT1は、パターン番号1と3用のルックアップテーブルである。図12(b)のルックアップテーブルLNLUT2は、パターン番号2と4用のルックアップテーブルである。図12(c)のルックアップテーブルLNLUT3は、パターン番号5と6用のルックアップテーブルである。
ステップS1007において、細線補正値決定部903は、細線パターンデータの判定を行う。細線パターンデータが0の場合は、判定画像と一致する細線パターンが存在しなかったと判断し、ステップS1009へ移行する。細線パターンデータが0以外の場合は、ステップS1008へ移行する。
ステップS1008において、細線補正値決定部903は、細線パターンデータの判定を行う。細線パターンデータが1又は3の場合は、ステップS1010へ移行する。細線パターンデータが2又は4の場合は、ステップS1011へ移行する。細線パターンデータが5又は6の場合は、ステップS1012へ移行する。
ステップS1009において、細線補正値決定部903は、判定画像と一致する細線パターンが存在しなかったと判断し、細線補正フラグLN_FLAGに“0”を代入する。そして、注目画素の上位4ビットを細線補正データLN_DATAとして出力して、処理を終了する。例えば、注目画素の画素値が255(8ビット)の場合は、上位4ビットの“15”が細線補正データLN_DATAとして出力される。
ステップS1010において、細線補正値決定部903は、注目画素が細線画素であると判断し、注目画素が細線画素の場合に参照する一次元のルックアップテーブルLNLUT1を参照し、LN_DATAを算出する。細線補正値決定部903は、注目画素の画素値を一次元のルックアップテーブルLNLUT1で変調し、変調した値を細線補正データLN_DATAとして出力する。細線補正値決定部903は、細線補正フラグLN_FLAGに“1”を代入し、処理を終了する。
ステップS1011において、細線補正値決定部903は、注目画素が細線に隣接する画素であると判断し、注目画素が細線に隣接する画素の場合に参照する一次元のルックアップテーブルLNLUT2を参照し、LN_DATAを算出する。細線補正値決定部903は、隣接する細線の画素値を一次元のルックアップテーブルLNLUT2で変調し、変調した値を細線補正データLN_DATAとして出力する。パターン番号2のAの細線パターンの場合は、画素[34]の画素値をLNLUT2で変調する。パターン番号2のBの細線パターンの場合は、画素[43]の画素値をLNLUT2で変調する。パターン番号2のCの細線パターンの場合は、画素[32]の画素値をLNLUT2で変調する。パターン番号2のDの細線パターンの場合は、画素[23]の画素値をLNLUT2で変調する。パターン番号4のAの細線パターンの場合は、画素[34]の画素値をLNLUT2で変調する。パターン番号4のBの細線パターンの場合は、画素[43]の画素値をLNLUT2で変調する。パターン番号4のCの細線パターンの場合は、画素[32]の画素値をLNLUT2で変調する。パターン番号4のDの細線パターンの場合は、画素[23]の画素値をLNLUT2で変調する。
細線補正値決定部903は、細線補正フラグLN_FLAGに“1”を代入し、処理を終了する。例えば、図14(f)の7×7画素1407が判定画像であった場合、細線パターンデータは“4”なので、図14(g)の画素1408に示すように、細線補正フラグLN_FLAGに“2”を代入して出力する。また、細線の画素値は255なので、図12(b)の一次元のルックアップテーブルLNLUT2を参照し、補正値“10”を得る。図14(h)の画素1409に示すように、細線補正データとして“10”を出力する。
ステップS1012において、細線補正値決定部903は、注目画素が白細線に隣接する画素であると判断し、注目画素が白細線に隣接する画素の場合に参照する一次元のルックアップテーブルLNLUT3を参照し、LN_DATAを算出する。細線補正値決定部903は、隣接する細線の画素値を一次元のルックアップテーブルLNLUT3で変調し、変調した値を細線補正データLN_DATAとして出力する。細線補正値決定部903は、細線補正フラグLN_FLAGに“3”を代入し、処理を終了する。
以上、説明したように、細線補正処理を適用することで、図14(h)に示すように、細線の線幅を制御することができる。
なお、本実施形態では、1つのパターンマッチング回路を用いてS1003〜S1006の処理を繰り返す場合を例示したがこれに限定されるものではない。例えば、パターンマッチング回路を複数用意して処理を並列化することもできる。
なお、細線補正の方法はこれに限定されるものではなく、多種多様な手法を採用することもできる。例えば、学習済みのパラメータを反映したニューラルネットワークなど用いて細線の検出及び細線の補正を行うこともできる。
<画像合成部304>
本実施形態における画像合成部304で行われる画像合成処理について詳細を説明する。図13は、実施形態における画像合成処理のフローチャートである。図13のフローチャートは、ASIC等のハードウェア回路で実現された画像合成部304が実行する制御を説明するためのフローチャートである。なお、本実施形態では、図13のフローチャートにおける処理がハードウェア回路によって実現される場合を想定しているが、これに限定されるものではない。例えば、画像処理のためのプログラムをプロセッサが読み出し、入力画像に対する画像処理を実現するようにしてもよい。
まず、S1300において、画像合成部304は、エッジスムージング機能と、細線太らせ機能の両方がONに設定されているかどうかを判断する。具体的には、起動時にコントローラから通知され、画像合成部304のコンフィグレーションメモリに記憶された画像処理の設定に基づきエッジスムージング機能と、細線太らせ機能の両方がONに設定されていると判断すると処理をS1301に進める。一方、いずれか一方がON又はいずれの機能もOFFである場合は処理をS1310に進める。
ステップS1301において、画像合成部304は、注目画素がスムージング処理と細線補正処理の両方の対象なのかを判断する。注目画素のSM_FLAGが“1”かつLN_FLAGが“0”よりも大きい場合は、注目画素がスムージング処理と細線補正処理の両方の対象の画素であると判断して、ステップS1302へ移行する。
次に、ステップS1302において、画像合成部304は、SM_DATAとLN_DATAを比較し、大きい方のデータを補正データとして出力する。すなわち、SM_DATAとLN_DATAの論理和を出力する。SM_DATAがLN_DATAよりも大きい場合は、ステップS1304へ移行する。SM_DATAがLN_DATA以下の場合は、ステップS1305へ移行する。
ステップS1303において、画像合成部304は、注目画素がスムージング処理の対象画素であるかを判断する。SM_FLAGが“1”の場合は、ステップS1307へ移行する。SM_FLAGが“0”の場合は、ステップS1306へ移行する。
ステップS1304において、画像合成部304は、SM_DATAを補正データとして出力する。また、補正フラグに“1”を代入して出力する。
ステップS1305において、画像合成部304は、LN_DATAを補正データとして出力する。また、補正フラグに“1”を代入して出力する。
ステップS1306において、画像合成部304は、注目画素が細線補正処理の対象画素であるかを判断する。LN_FLAGが“0”より大きい場合は、ステップS1308へ移行する。LN_FLAGが“0”の場合は、ステップS1309へ移行する。
ステップS1307において、画像合成部304は、注目画素がスムージング処理の対象画素であると判断し、SM_DATAを補正データとして出力する。また、補正フラグに“1”を代入して出力する。ステップS1308において、画像合成部304は、注目画素が細線補正処理の対象画素であると判断し、LN_DATAを補正データとして出力する。また、補正フラグに“1”を代入して出力する。ステップS1309において、画像合成部304は、注目画素が細線補正処理の対象画素であると判断し、LN_DATAを補正データとして出力する。また、補正フラグに“0”を代入して出力する。
一方、S1310においては、画像合成部304は、機能ONの補正データ及び、当該補正データに対応する補正フラグを出力する。具体的には、細線補正機能がONに設定され、エッジスムージングがOFFに設定されている場合は、LN_DATAを補正データとして出力し、LN_DATAの各画素ついて補正値が格納されている画素に対応する補正フラグを生成する。一方、細線補正機能がOFFに設定され、エッジスムージング機能がONに設定されている場合は、SM_DATAを補正データとして出力し、SM_DATAの各画素値に対応する補正フラグを出力する。なお、両方の機能がOFFの場合、補正フラグに0をセットした出力データを生成する。
以上説明した一連の処理が入力データの各注目画素に対して実行され、入力画像に対応する補正データ及び補正フラグを構成することができる。
<印刷処理>
画像補正処理部204が出力した補正データ及び補正フラグは、図2で説明したように、画像処理部105の画像選択部205に入力される。画像選択部205は、スクリーン処理部203で処理されたハーフトーン画像を補正データ及び補正フラグに基づき補正した出力画像を生成する。具体的には、スクリーン処理部203から受け取ったハーフトーン画像であるスクリーンデータと画像補正処理部204から受け取った補正データの何れかを選択して出力する。補正フラグが“1”の場合は、補正対象画素であると判断され、補正データを出力する。補正フラグが“0”の場合は、補正対象画素でないと判断され、スクリーンデータを出力する。その後、画像合成処理後の出力画像をエンジンI/F部106に出力する。印刷エンジン22は、エンジンI/Fを介して受信した出力画像に基づきシートに画像を印刷する。
<具体的な画像処理の例>
図13に示す一連の画像処理について具体例を挙げて説明する。注目画素が画素1401の場合について説明する。ステップS1301において、画像合成部304は、画素1404が“1”かつ画素1407が“0”より大きいので、注目画素は、両方の処理対象画素であると判断され、ステップS1302へ移行する。ステップS1302において、画像合成部304は、SM_DATAとLN_DATAの比較を行う。SM_DATAである画素1405は“5”、LN_DATAである画素1409は“10”である。LN_DATAの方が大きいので、ステップS1305へ移行する。
ステップS1305において、画像合成部304は、補正データとして、LN_DATAの“10”を出力する。従って、補正データの画素1413は“10”となる。そして、画像合成部304は、補正フラグの画素1416に“1”を代入して出力する。
ここで、比較のため従来手法のように、細線補正処理よりもスムージング処理を優先的に実施した場合について説明する。注目画素が画素1401の場合は、スムージングフラグの画素1404が“1”なので、補正データはスムージングデータが出力される。従って、スムージングデータの画素1405の画素値“5”が補正データの画素1410の画素値として出力される。従来手法では、急激な信号値の変化が生じ、エッジにがたつきが生じてしまう。
一方、図13に示す処理を実行すると、細線補正処理後の細線補正データとスムージング処理後のスムージングデータを比較し、大きい方を補正データとして出力すると、図14(k)に示すように、信号値の急激な変化を防止することができる。補正データの画素1413が“10”、隣接する画素1414も画素1415も信号値が“10”であり、急激な信号値の変化が防止できていることがわかる。
最後に本実施形態における処理の効果について、図17(a)から(c)を用いて説明する。図17(a)に示す画像に対して、本実施形態の処理を適用した結果を図17(c)に示す。図17(b)は、スムージング処理と、太らせ処理の両方の処理対象となる画素n−1について、各処理のうち出力値が大きい方の処理を適用した例を示している。網掛け部分は太らせ処理を適用した画素の画素値を示し、斜線部分はスムージング処理を適用した画素の画素値を示す。図17(b)の例では、画素n−1について、太らせ処理の出力値を適用する。
結果として、図17(c)のような補正結果となり、画素n−2から画素nについて滑らかな濃度表現が実現される。このように、本実施形態によれば、スムージング処理及び線幅補正処理を行う場合に、滑らかなエッジ表現を実現することができる。
<第2の実施形態>
第1の実施形態では、濃度を有する細線に対する補正について説明した。第2の実施形態では、第1の実施形態に加え、濃度を有しない細線に関する処理を考慮する場合について説明する。なお、ハードウェアの基本構成は第1の濃度を有しない細線とは、濃度の高い周辺画素に囲まれた、白画素により構成された細線のことを示している。
第2実施形態における画像合成部304で行われる画像合成処理について詳細を説明する。図15は、第1の実施形態の図13の処理に代えて実行される、画像合成処理のフローチャートである。また、図16は、処理結果を説明する図である。図16(a)は、画像補正処理部204の入力画像の一例である。図16(b)は、スクリーン処理部203の出力結果の一例である。図16(c)は、二値化処理部501の処理結果の一例である。図16(d)は、スムージング処理部302から出力されるスムージングフラグの一例である。図16(e)は、スムージング処理部302から出力されるスムージングデータの一例である。図16(f)は、細線二値化処理部901の処理結果の一例である。
また、図16(g)は、細線補正処理部303から出力される細線補正フラグの一例である。図16(h)は、細線補正処理部303から出力される細線補正データの一例である。図16(i)は、画像合成部304から出力される補正フラグの一例である。図16(j)は、第1の実施形態における補正データの一例である。図16(k)は、第2の実施形態における画像合成部304から出力される補正データの一例である。
まず、S1500において、画像合成部304は、エッジスムージング機能と、細線太らせ機能の両方がONに設定されているかどうかを判断する。エッジスムージング機能と、細線太らせ機能の両方がONに設定されていると判断すると処理をS1501に進める。一方、いずれか一方がON又はいずれの機能もOFFである場合は処理をS1514に進める。S1514の処理は、第1の実施形態におけるS1310と同様の処理であるため説明を省略する。
まず、ステップS1501において、画像合成部304は、注目画素がスムージング処理と細線補正処理の両方の対象なのかを判断する。注目画素のSM_FLAGが“1”かつLN_FLAGが“0”より大きいである場合は、注目画素がスムージング処理と細線補正処理の両方の対象の画素であると判断して、ステップS1502へ移行する。
次に、ステップS1502において、画像合成部304は、注目画素が白抜き細線に隣接する画素であるかを判断する。パターン番号が5と6は、白抜き細線に隣接する画素の検知パターンなので、LN_FLAGが“3”の場合、注目画素が白抜き細線に隣接する画素であると判断して、ステップS1504へ移行する。LN_FLAGが“3”以外の場合、注目画素が白抜き細線に隣接する画素でないと判断して、ステップS1505へ移行する。
ステップS1504において、画像合成部304は、SM_DATAとLN_DATAを比較し、小さい方のデータを補正データとして出力する。SM_DATAがLN_DATAよりも小さい場合は、ステップS1506へ移行する。SM_DATAがLN_DATA以上の場合は、ステップS1507へ移行する。
ステップS1506において、画像合成部304は、SM_DATAを補正データとして出力する。また、補正フラグに“1”を代入して出力する。ステップS1507において、画像合成部304は、LN_DATAを補正データとして出力する。また、補正フラグに“1”を代入して出力する。
ステップS1505において、画像合成部304は、注目画素が白抜き細線でないと判断して、SM_DATAとLN_DATAを比較し、大きい方のデータを補正データとして出力する。SM_DATAがLN_DATAよりも大きい場合は、ステップS1508へ移行する。SM_DATAがLN_DATA以下の場合は、ステップS1509へ移行する。
ステップS1508において、画像合成部304は、SM_DATAを補正データとして出力する。また、補正フラグに“1”を代入して出力する。ステップS1509において、画像合成部304は、LN_DATAを補正データとして出力する。また、補正フラグに“1”を代入して出力する。ステップS1503において、画像合成部304は、注目画素がスムージング処理の対象画素であるかを判断する。SM_FLAGが“1”の場合は、ステップS1510へ移行する。SM_FLAGが“0”の場合は、ステップS1511へ移行する。
ステップS1510において、画像合成部304は、注目画素がスムージング処理の対象画素であると判断し、SM_DATAを補正データとして出力する。また、補正フラグに“1”を代入して出力する。
ステップS1511において、画像合成部304は、注目画素が細線補正処理の対象画素であるかを判断する。LN_FLAGが“0”より大きいの場合は、ステップS1512へ移行する。LN_FLAGが“0”の場合は、ステップS1513へ移行する。
ステップS1512において、画像合成部304は、注目画素が細線補正処理の対象画素であると判断し、LN_DATAを補正データとして出力する。また、補正フラグに“1”を代入して出力する。ステップS1513において、画像合成部304は、LN_DATAを補正データとして出力する。また、補正フラグに“0”を代入して出力する。
<具体的な画像処理の例>
注目画素が画素1601の場合について説明する。ステップS1501において、画像合成部304は、画素1602が“1”かつ画素1603が“0”より大きいので、注目画素は、両方の処理対象画素であると判断され、ステップS1502へ移行する。
ステップS1502において、画像合成部304は、注目画素が白抜き細線に隣接する画素であるかを判断する。LN_FLAGの画素1603は“3”なので、注目画素が白抜き細線に隣接する画素であると判断してステップS1504へ移行する。
ステップS1504において、画像合成部304は、SM_DATAとLN_DATAの比較を行う。SM_DATAである画素1604は“10”、LN_DATAである画素1605は“7”である。LN_DATAの方が小さいので、ステップS1507へ移行する。
ステップS1507において、画像合成部304は、補正データとして、LN_DATAの“7”を出力する。従って、図16(k)の画素1609は“7”となる。そして、画像合成部304は、補正フラグの画素1612に“1”を代入して出力する。
第1の実施形態の場合、SM_DATAとLN_DATAの大きい方が出力されるので、補正データは値が大きい方のSM_DATAの“10”となる。また、従来手法のように、細線補正処理よりもスムージング処理を優先的に実施した場合においても、SM_DATAの“10”が補正データとして出力されることとなる。
以上説明したように、第1の実施形態の場合、補正処理が競合する画素と当該画素に隣接する画素を比較すると、急激な信号値の変化が生じてしまっていることがわかる。補正データの画素1606の信号値が“10”であるのに対して、画素1607は“7”、画素1608は“5”であり、急激な信号値の変化が生じている。
一方、白抜き細線に隣接する画素を補正する場合は、細線補正処理後の細線補正データとスムージング処理後のスムージングデータを比較し、小さい方を補正データとして出力する。従って、図16(k)に示すように、信号値の急激な変化を防止することができる。その結果として、補正データの画素1609が“7”、隣接する画素1610は“7”、画素1611は信号値が“5”であり、急激な信号値の変化が防止できていることがわかる。
<その他の実施形態>
本発明は、上述の各実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASICやFPGA)によっても実現可能である。
2 画像形成装置
105 画像処理部
22 印刷エンジン

Claims (11)

  1. 入力画像のエッジ部を検出し、当該検出されたエッジ部を補正するための第1のデータを出力する第1の出力手段と、
    前記入力画像内の細線を検出し、当該検出された細線を補正するための第2のデータを出力する第2の出力手段と、
    前記第1のデータにおける注目画素と前記第2の補正画素における注目画素の両方が補正対象である場合、補正幅が大きい注目画素を選択し、当該選択した注目画素に基づき補正した出力画像を出力する第3の出力手段と、
    を有することを特徴とする画像処理装置。
  2. 前記入力画像に対して中間調処理を実行し、前記入力画像より階調性が低いハーフトーン画像を生成する生成手段を更に備え、
    前記第3の出力手段は、前記生成されたハーフトーン画像における注目画素を、当該選択された注目画素に基づき補正した出力画像を出力することを特徴とする請求項1に記載の画像処理装置。
  3. 前記第2のデータにおける注目画素が白抜きの細線に対する補正を示している場合であって、且つ、前記第2のデータにおける前記注目データが補正対象である場合、前記第3の出力手段は、補正幅が小さい注目画素を選択し、当該選択した注目画素に基づき前記ハーフトーン画像の注目画素を補正した出力画像を出力することを特徴とする請求項2に記載の画像処理装置。
  4. シートに画像を印刷する印刷手段を更に備え、
    前記印刷手段は、前記出力手段で出力された画像に基づきシートに画像を印刷することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
  5. 前記第1乃至第3の出力手段として機能するハードウェア回路を有することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
  6. 前記第3の出力手段は、エッジ部を補正する設定及び細線を補正する設定がなされていない場合、前記第1のデータ及び前記第2のデータに基づく補正を行うことなしに、前記入力画像に基づいた出力画像を出力することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
  7. 画像を処理する画像処理方法であって、
    入力画像のエッジ部を検出し、当該検出されたエッジ部を補正するための第1のデータを出力する第1の出力工程と、
    前記入力画像内の細線を検出し、当該検出された細線を補正するための第2のデータを出力する第2の出力工程と、
    前記第1のデータにおける注目画素と前記第2の補正画素における注目画素の両方が補正対象である場合、補正幅が大きい注目画素を選択し、当該選択した注目画素に基づき補正した出力画像を出力する第3の出力工程と、
    を有することを特徴とする画像処理方法。
  8. 前記入力画像に対して中間調処理を実行し、前記入力画像より階調性が低いハーフトーン画像を生成する生成工程を更に有し、
    前記第3の出力工程では、前記生成されたハーフトーン画像における注目画素を、当該選択された注目画素に基づき補正した出力画像を出力することを特徴とする請求項7に記載の画像処理方法。
  9. 前記第2のデータにおける注目画素が白抜きの細線に対する補正を示している場合であって、且つ、前記第2のデータにおける前記注目データが補正対象である場合、前記第3の出力工程では、補正幅が小さい注目画素を選択し、当該選択した注目画素に基づき前記ハーフトーン画像の注目画素を補正した出力画像を出力することを特徴とする請求項8に記載の画像処理方法。
  10. 前記第3の出力工程では、エッジ部を補正する設定及び細線を補正する設定がなされていない場合、前記第1のデータ及び前記第2のデータに基づく補正を行うことなしに、前記入力画像に基づいた出力画像を出力することを特徴とする請求項7乃至9のいずれか1項に記載の画像処理装置。
  11. 請求項7乃至10のいずれか1項に記載の画像処理装置の制御方法をコンピュータに実行させるためのプログラム。
JP2018218285A 2018-11-21 2018-11-21 画像処理装置、画像処理方法及びプログラム Active JP7171382B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018218285A JP7171382B2 (ja) 2018-11-21 2018-11-21 画像処理装置、画像処理方法及びプログラム
US16/679,022 US10798267B2 (en) 2018-11-21 2019-11-08 Image processing to set output pixel values subject to edge or thin line correction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018218285A JP7171382B2 (ja) 2018-11-21 2018-11-21 画像処理装置、画像処理方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2020088524A true JP2020088524A (ja) 2020-06-04
JP2020088524A5 JP2020088524A5 (ja) 2021-10-21
JP7171382B2 JP7171382B2 (ja) 2022-11-15

Family

ID=70727096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018218285A Active JP7171382B2 (ja) 2018-11-21 2018-11-21 画像処理装置、画像処理方法及びプログラム

Country Status (2)

Country Link
US (1) US10798267B2 (ja)
JP (1) JP7171382B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001148009A (ja) * 1999-11-19 2001-05-29 Fujitsu Ltd 画像処理装置及び画像処理プログラムを格納した記憶媒体
JP2010252194A (ja) * 2009-04-17 2010-11-04 Canon Inc 画像処理装置及び画像処理方法
JP2012124874A (ja) * 2010-12-10 2012-06-28 Canon Inc 画像形成装置及びその画像形成方法
JP2013172284A (ja) * 2012-02-21 2013-09-02 Konica Minolta Inc 画像処理装置及び画像処理方法
JP2017208739A (ja) * 2016-05-19 2017-11-24 株式会社リコー 画像処理装置、駆動制御装置、光源制御装置、画像形成装置、および画像処理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3222183B2 (ja) * 1992-02-19 2001-10-22 株式会社リコー 画像処理装置
JP3492096B2 (ja) 1996-07-22 2004-02-03 キヤノン株式会社 画像処理装置
JP3463645B2 (ja) * 2000-03-06 2003-11-05 日本電気株式会社 画像処理装置及びその方法並びに画像処理プログラムを記録したコンピュータ読取可能な記録媒体
JP6452504B2 (ja) 2015-03-10 2019-01-16 キヤノン株式会社 画像形成装置、画像形成方法、プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001148009A (ja) * 1999-11-19 2001-05-29 Fujitsu Ltd 画像処理装置及び画像処理プログラムを格納した記憶媒体
JP2010252194A (ja) * 2009-04-17 2010-11-04 Canon Inc 画像処理装置及び画像処理方法
JP2012124874A (ja) * 2010-12-10 2012-06-28 Canon Inc 画像形成装置及びその画像形成方法
JP2013172284A (ja) * 2012-02-21 2013-09-02 Konica Minolta Inc 画像処理装置及び画像処理方法
JP2017208739A (ja) * 2016-05-19 2017-11-24 株式会社リコー 画像処理装置、駆動制御装置、光源制御装置、画像形成装置、および画像処理方法

Also Published As

Publication number Publication date
US20200162635A1 (en) 2020-05-21
US10798267B2 (en) 2020-10-06
JP7171382B2 (ja) 2022-11-15

Similar Documents

Publication Publication Date Title
JP6824052B2 (ja) 画像処理装置、その制御方法、及びプログラム
KR20070035990A (ko) 색 조정 장치, 표시 장치, 인쇄 장치, 화상 처리 장치, 색조정 방법, 그래픽 사용자 인터페이스의 표시 방법 및프로그램
JP2009069680A (ja) 画像処理装置及びプログラム
JP7110840B2 (ja) プログラム、画像形成装置、情報処理装置、及び情報処理システム
US20080043265A1 (en) System and method of adjusting colors of print data
JP6417191B2 (ja) 画像処理装置及び画像処理方法
US9218552B2 (en) Image processing apparatus and image processing method
US20140085681A1 (en) Print controlling apparatus, image forming apparatus, method of controlling print, method of image forming and computer-readable recording medium
JP5865864B2 (ja) 画像形成装置及びその濃淡色材設定プログラム
EP1538825A2 (en) Color reduction processing apparatus, printer control device, color reduction method, and printer control method
JP2020042543A (ja) 画像処理装置、画像処理プログラムおよび画像処理方法
JP2009065529A (ja) 画像形成装置、情報処理装置、及び画像形成方法
US9077914B2 (en) Image processing apparatus and control method thereof printing image data having M tones under infrared light
JP7171382B2 (ja) 画像処理装置、画像処理方法及びプログラム
US9064205B2 (en) Method of printing document based on black optimization printing option and image forming apparatus and host device to perform the same
JP7077451B2 (ja) 画像形成装置および画像形成装置の制御方法、ならびにプログラム
JP7005796B2 (ja) 画像形成装置、その制御方法、及びプログラム
JP2005286625A (ja) 画像処理装置及びその方法
JP3268712B2 (ja) 画像形成方法とその装置
JP6794821B2 (ja) 画像処理装置、および、コンピュータプログラム
JP2003230020A (ja) 画像処理装置、印刷装置および画像処理方法
JP2020017846A (ja) 印刷システム、印刷方法、画像処理装置及び画像処理方法
JP7490447B2 (ja) 画像処理装置、その制御方法及びプログラム
JP2020136775A (ja) 画像処理装置とその制御方法、及びプログラム
JP2005328197A (ja) 画像処理システム並びに画像処理装置及び方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210909

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220523

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221102

R151 Written notification of patent or utility model registration

Ref document number: 7171382

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151