JP6417851B2 - 画像処理装置、および、コンピュータプログラム - Google Patents

画像処理装置、および、コンピュータプログラム Download PDF

Info

Publication number
JP6417851B2
JP6417851B2 JP2014219307A JP2014219307A JP6417851B2 JP 6417851 B2 JP6417851 B2 JP 6417851B2 JP 2014219307 A JP2014219307 A JP 2014219307A JP 2014219307 A JP2014219307 A JP 2014219307A JP 6417851 B2 JP6417851 B2 JP 6417851B2
Authority
JP
Japan
Prior art keywords
image
mask
type
unsharp
data
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.)
Active
Application number
JP2014219307A
Other languages
English (en)
Other versions
JP2016086350A (ja
Inventor
竜司 山田
竜司 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2014219307A priority Critical patent/JP6417851B2/ja
Priority to US14/918,645 priority patent/US9571697B2/en
Publication of JP2016086350A publication Critical patent/JP2016086350A/ja
Application granted granted Critical
Publication of JP6417851B2 publication Critical patent/JP6417851B2/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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • G06T5/75Unsharp masking
    • 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/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00167Processing or editing
    • 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
    • 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/60Colour correction or control
    • H04N1/6072Colour correction or control adapting to different types of images, e.g. characters, graphs, black and white image portions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20004Adaptive image processing
    • G06T2207/20012Locally adaptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30176Document

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

本開示は、印刷用の画像処理に関する。
従来から、印刷される画像の画質を向上するために、種々の画像処理が行われている。例えば、アンシャープマスクを用いて画像を鮮鋭化する処理が行われている。ここで、画像の鮮鋭領域の中心をピークとして非鮮鋭領域の側から徐々に鮮鋭度合いを高める技術が提案されている。
特開2000−285231号公報 特開平10−200778号公報 特開2010−4300号公報
印刷される画像は、複数種類のオブジェクトを表し得る。上記従来技術では、複数種類のオブジェクトに対する画像処理について言及されていない。複数種類のオブジェクトを含む画像に画像処理を行う場合に、複数のオブジェクトのうちの一部のオブジェクトの画質が向上するものの、残りのオブジェクトの画質が低下する場合があった。
本開示は、複数のオブジェクトを適切に印刷する技術を開示する。
本開示は、例えば、以下の適用例を開示する。
[適用例1]画像処理装置であって、複数のオブジェクトを含む入力画像を表す入力画像データを取得する取得部と、前記入力画像中の前記複数のオブジェクトを表す複数のオブジェクト領域を特定する特定部と、オブジェクト領域毎にシャープネス調整の強度を決定することによってアンシャープマスク処理に用いられるマスク画像を生成するマスク生成部と、前記マスク画像を用いて前記入力画像にアンシャープマスク処理を実行することによって、シャープネスが調整された画像を表す出力画像データを生成するデータ生成部と、前記出力画像データを印刷部に出力する出力部と、を備える、画像処理装置。
この構成によれば、オブジェクト領域毎にシャープネス調整の強度を決定することによってマスク画像が生成されるので、全てのオブジェクト領域に同じ強度のシャープネス調整が行われる場合と比べて、複数のオブジェクトを適切なシャープネスで印刷することができる。
[適用例2]
適用例1に記載の画像処理装置であって、
前記マスク生成部は、前記オブジェクト領域毎に前記強度を決定することによって前記入力画像の全体に適用される1つの全体マスク画像を生成し、
前記データ生成部は、前記1つの全体マスク画像を前記入力画像に適用することによって、前記アンシャープマスク処理を実行する、
画像処理装置。
[適用例3]
適用例1または2に記載の画像処理装置であって、
前記マスク生成部は、
ビットマップデータによって表される第1種オブジェクト領域のための第1種部分マスク画像を、前記第1種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成し、
ビットマップデータ以外のデータによって表される第2種オブジェクト領域のための第2種部分マスク画像を、前記第2種オブジェクト領域内の画像と同じ画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成する、
画像処理装置。
[適用例4]
適用例1または2に記載の画像処理装置であって、
前記マスク生成部は、
ビットマップデータによって表される第1種オブジェクト領域のための第1種部分マスク画像を、前記第1種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成し、
ビットマップデータ以外のデータによって表される第2種オブジェクト領域のための第2種部分マスク画像を、前記第1種部分マスク画像を生成する場合よりも弱く前記第2種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成する、
画像処理装置。
[適用例5]
適用例3または4に記載の画像処理装置であって、
前記マスク生成部は、
前記第1種オブジェクト領域内の画像を解析することによって前記画像中の第1種処理部分と第2種処理部分とを決定し、
前記第1種処理部分のための部分マスク画像を、前記第1種処理部分内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成し、
前記第2種処理部分のための部分マスク画像を、前記第2種処理部分内の画像と同じ画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成する、または、前記第1種処理部分のための前記部分マスク画像を生成する場合よりも弱く前記第2種処理部分内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて前記第2種処理部分のための部分マスク画像を生成する、
画像処理装置。
[適用例6]
適用例3から5のいずれか1項に記載の画像処理装置であって、
前記入力画像データは、前記複数のオブジェクトを描画するための複数の描画コマンドを含み、
前記特定部は、オブジェクト領域内のオブジェクトを描画する描画コマンドの種類に応じて、前記オブジェクト領域が第1種のオブジェクト領域であるか第2種のオブジェクト領域であるかを特定する、
画像処理装置。
[適用例7]
適用例6に記載の画像処理装置であって、
前記特定部は、1つ以上の描画コマンドによって描画される1つの注目オブジェクト領域を特定する特定処理を実行し、
前記マスク生成部は、
前記注目オブジェクト領域内の画像を表す注目ラスタデータを生成する処理と、
前記注目オブジェクト領域のための注目マスク画像を生成する処理と、
を含む生成処理を実行し、
前記複数のオブジェクト領域のうち1つの注目オブジェクト領域について前記特定処理および前記生成処理が実行された後に、他の注目オブジェクト領域について前記特定処理および前記生成処理が実行される、
画像処理装置。
[適用例8]
適用例6または7に記載の画像処理装置であって、
前記マスク生成部は、
前記複数の描画コマンドのラスタライズによって前記入力画像を表す入力ラスタデータを生成し、
前記入力ラスタデータのうち少なくとも前記第1種オブジェクト領域を表す部分に対する平滑化処理を実行することによって得られる画像を前記アンシャープマスクの算出のための前記アンシャープ画像として用いて、前記マスク画像を生成する、
画像処理装置。
[適用例9]
適用例1から8のいずれか1項に記載の画像処理装置であって、
前記マスク画像は、前記アンシャープマスクの算出のための前記アンシャープ画像である、
画像処理装置。


なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
実施例の画像処理システム1000を示す説明図である。 印刷処理の手順を示すフローチャートである。 入力画像IMiの例を示す概略図である。 マスクの生成の手順の例を示すフローチャートである。 マスクIMmの例を示す概略図である。 シャープネス調整処理の手順の例を示すフローチャートである。 調整済画像IMaの例を示す概略図である。 参考例の調整済画像IMrの例を示す概略図である。 マスク生成処理の別の実施例のフローチャートの一部である。 全体マスクIMm2の例を示す概略図である。 調整済画像IMa2の例を示す概略図である。
A.第1実施例:
図1は、実施例の画像処理システム1000を示す説明図である。画像処理システム1000は、画像処理装置100と、画像処理装置100に接続された印刷部200と、を有している。
画像処理装置100は、例えば、パーソナルコンピュータである。画像処理装置100は、プロセッサ110と、揮発性記憶装置120と、不揮発性記憶装置130と、表示部140と、操作部150と、装置インタフェース160と、を有している。
プロセッサ110は、データ処理を行う装置であり、例えば、CPUである。揮発性記憶装置120は、例えば、DRAMであり、不揮発性記憶装置130は、例えば、フラッシュメモリである。不揮発性記憶装置130は、プログラム132を格納している。プロセッサ110は、プログラム132を実行することによって、種々の機能を実現する(詳細は、後述)。また、プロセッサ110は、プログラム(例えば、プログラム132)の実行に利用される種々の中間データを、記憶装置(例えば、揮発性記憶装置120、または、不揮発性記憶装置130)に、一時的に格納する。
表示部140は、画像を表示する装置であり、例えば、液晶ディスプレイである。操作部150は、ユーザによる操作を受け取る装置であり、例えば、表示部140上に重ねて配置されたタッチパネルである。ユーザは、操作部150を操作することによって、後述する印刷処理の開始指示等の種々の指示を画像処理装置100に入力可能である。
装置インタフェース160は、他の装置と通信するためのインタフェースである(例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェース)。図1の画像処理システム1000では、装置インタフェース160に、印刷部200が接続されている。
印刷部200は、用紙(印刷媒体の一例)上に画像を印刷する装置である。印刷部200は、本実施例では、シアンCとマゼンタMとイエロYとブラックKのそれぞれのインクを用いるインクジェット式印刷装置である。ただし、印刷部200は、他の種類の印刷装置(例えば、レーザ式の印刷装置)であってもよい。
図2は、印刷処理の手順を示すフローチャートである。この印刷処理は、例えば、ユーザが、操作部150(図1)を通じて印刷処理の開始指示を入力した場合に、プロセッサ110によって開始される。例えば、ユーザは、画像処理装置100に、文書やグラフィック等を表す画像データを生成する画像処理アプリケーション(図示省略)を動作させる。そして、ユーザは、画像処理アプリケーションを通じて印刷指示を入力する。プロセッサ110は、印刷指示に応じて印刷処理を開始する。プロセッサ110は、プログラム132に従って、印刷処理を制御する。以下、処理を示す符号として、文字「S」と、文字「S」に続く数字と、を組み合わせた符号を用いる。
S100では、プロセッサ110は、印刷対象の画像データである入力画像データを取得する。例えば、プロセッサ110は、画像処理アプリケーションによって生成された画像データを、入力画像データとして取得する。
図3は、入力画像データによって表される入力画像IMiの例を示す概略図である。図3の例では、入力画像IMiは、写真を表す1個のオブジェクトOPと、グラフィックを表す2個のオブジェクトOG1、OG2を、表している。写真オブジェクトOPは、人物Pを表している。グラフィックの第1オブジェクトOG1は、表を表し、グラフィックの第2オブジェクトOG2は、円グラフを表している。これらのオブジェクトOP、OG1、OG2は、背景BG(例えば、白色の領域)上に互いに離れて配置されている。
本実施例では、ページ記述言語で記述された画像データが、入力画像データとして用いられる。具体的には、入力画像データとしては、例えば、EMF(Enhanced Meta File)形式のデータが用いられる。EMF形式のデータは、オブジェクトを構成する要素を描画する描画コマンドであるGDIコマンドと、GDIコマンドによる要素の描画に利用されるパラメータと、を含んでいる。描画コマンドの例としては、円などの図形を描画するコマンドや、圧縮されたビットマップデータを展開するコマンド、などが挙げられる。描画に利用されるパラメータの例としては、円の中心の位置と半径などの図形の位置と形状とを定めるパラメータや、画像データ中に埋め込まれた圧縮済のビットマップデータ、などが挙げられる。図3の写真オブジェクトOPは、写真を表すビットマップデータを展開するコマンドによって描画される。グラフィックの第1オブジェクトOG1は、枠を描画するコマンドと、値を表す文字を描画するコマンドと、によって描画される。グラフィックの第2オブジェクトOG2は、枠を描画するコマンドと、各セクタを塗りつぶすコマンドと、によって描画される。
図2のS110では、プロセッサ110は、アンシャープマスク処理のためのマスク画像を生成する。一般的に、アンシャープマスクは、入力画像IMiから、入力画像IMiを平滑化して得られる画像を引くことによって、生成される。アンシャープマスクの算出のために入力画像IMiから引かれる画像は「アンシャープ画像」と呼ばれる。本実施例では、S110で生成されるマスク画像は、入力画像IMiの特定の部分を平滑化することによって生成される画像であり、アンシャープマスクの算出のために入力画像IMiから引かれるアンシャープ画像である。以下、マスク画像のことを、単に「マスク」とも呼ぶ。S120では、プロセッサ110は、生成したマスクを用いて入力画像IMiにアンシャープマスク処理(すなわち、シャープネス調整処理)を実行する。これらの処理S110、S120の詳細については、後述する。なお、これらの処理S110、S120によって、シャープネスが調整された画像(「調整済画像」と呼ぶ)を表すビットマップデータが生成される。生成されるビットマップデータの各画素の色値は、本実施例では、0〜255の256階調のR(赤)G(緑)B(青)の階調値で表されている。
S130では、プロセッサ110は、調整済画像を表すビットマップデータの各画素の色値を、RGBの階調値から、印刷用の色材の色成分に対応するCMYKの階調値に変換する。RGBとCMYKとの間の対応関係は、不揮発性記憶装置130に予め格納されたルックアップテーブル(図示省略)によって予め規定されている。プロセッサ110は、このルックアップテーブルを参照して、色変換を実行する。
S140では、プロセッサ110は、色変換済のデータを用いて、ハーフトーン処理を行う。ハーフトーン処理としては、いわゆる誤差拡散法に従った処理が行われる。この代わりに、ディザマトリクスを用いる方法を採用してもよい。プロセッサ110は、ハーフトーン処理によって、画像を印刷部200に印刷させるための出力画像データを生成する。出力画像データは、印刷部200によって解釈可能な形式のデータである。
S150では、プロセッサ110は、出力画像データを印刷部200に出力する。S160では、印刷部200は、受信した出力画像データに従って、画像を印刷する。以上により、調整済画像が印刷され、そして、印刷処理が終了する。
図4は、アンシャープマスク処理のためのマスクの生成(図2:S110)の手順の例を示すフローチャートである。S200では、プロセッサ110(図1)は、揮発性記憶装置120の中に、入力画像IMiを表すラスタデータを格納するための第1領域121と、マスクデータを格納するための第2領域122とを確保し、各領域121、122のデータを予め決められた初期データに初期化する。ラスタデータとマスクデータとは、第1方向D1(図3)と、第1方向D1に垂直な第2方向D2と、に沿って格子状に配置された図示しない複数の画素の色値を表している。初期データとしては、本実施例では、全ての画素の色値が背景BGを表す色値(例えば、R=G=B=255)であるデータが用いられる。
S210では、プロセッサ110は、入力画像データから1個のオブジェクトを描画するための1個以上の描画コマンドを取得する。入力画像中の各オブジェクトは、複数の描画コマンドによって描画される複数の要素を背景BGで分離することによって、特定される。本実施例では、背景BGに囲まれる1個の連続な領域内に含まれる1個以上の要素の全体が、1個のオブジェクトとして用いられる。例えば、図3の入力画像IMiからは、3個のオブジェクトOP、OG1、OG2が特定される。プロセッサ110は、描画コマンドによって描画される要素の位置を特定することによって、各オブジェクトを特定できる。以下、S210で取得される描画コマンドによって描画される1個のオブジェクトを「注目オブジェクト」と呼ぶ。
S220では、プロセッサ110は、注目オブジェクトを表す注目オブジェクト領域を特定する。本実施例では、注目オブジェクト領域は、注目オブジェクトを包含する最小の連続な領域である。プロセッサ110は、S210で取得した1個以上の描画コマンドを解析することによって、注目オブジェクト領域を特定できる。例えば、図3の例では、第1オブジェクトOG1からはオブジェクト領域OA1が特定され、第2オブジェクトOG2からはオブジェクト領域OA2が特定され、写真オブジェクトOPからはオブジェクト領域OA3が特定される。
図4のS230では、プロセッサ110は、注目オブジェクト領域がビットマップデータによって表される第1種オブジェクト領域であるか否かを判断する。プロセッサ110は、S210で取得した描画コマンドがビットマップデータを展開するコマンドを含む場合に、注目オブジェクト領域が第1種オブジェクト領域であると判断する(S230:Yes)。S210で取得した描画コマンドがビットマップデータを展開するコマンドを含まずに、他の種類のコマンド(例えば、図形や文字等の要素を描画するコマンド)で構成されている場合、すなわち、注目オブジェクト領域がビットマップデータ以外のデータで表される場合、プロセッサ110は、注目オブジェクト領域が第2種オブジェクト領域であると判断する(S230:No)。例えば、図3の2個のオブジェクト領域OA1、OA2は、第2種オブジェクト領域であると判断され(S230:No)、第3オブジェクト領域OA3は、第1種オブジェクト領域であると判断される(S230:Yes)。
注目オブジェクト領域が第1種オブジェクト領域である場合(S230:Yes)、S260で、プロセッサ110は、S210で取得した1個の注目オブジェクト領域のための全ての描画コマンドをラスタライズすることによって、注目オブジェクト領域の画像(「注目領域画像」と呼ぶ)を表す注目ラスタデータを生成する。注目領域画像は、注目オブジェクトを表している。また、注目ラスタデータの画素密度としては、印刷処理用の所定の画素密度が用いられる。注目ラスタデータの各画素の色値は、本実施例では、0〜255の256階調のR(赤)G(緑)B(青)の階調値で表されている。なお、ラスタデータは、ビットマップデータとも呼ばれる。以下、プロセッサ110によるラスタライズによって生成されたビットマップデータを、ラスタデータとも呼ぶ。
S268では、プロセッサ110(図1)は、生成した注目ラスタデータを、揮発性記憶装置120の第1領域121に格納する。第1領域121のサイズは、入力画像IMiの全体を表すラスタデータのデータサイズと同じである。第1領域121内のデータ格納位置(例えば、メモリアドレス)と、入力画像IMi中の画素位置と、の対応関係は、予め決められている。プロセッサ110は、第1領域121のうち、注目オブジェクト領域に対応付けられたデータ格納位置の部分に、注目ラスタデータを格納する。
S270では、プロセッサ110は、第1種オブジェクト領域である注目オブジェクト領域に適用するための注目マスクを生成する(「第1種部分マスク」とも呼ぶ)。生成される注目マスクは、注目オブジェクト領域と同じ形状の画像であり、注目オブジェクト領域の複数の画素と同じ複数の画素の色値によって表される。本実施例では、プロセッサ110は、S260で生成された注目ラスタデータによって表される注目領域画像を平滑化することによって、第1種部分マスクを生成する。図4の下部には、平滑化処理の概要が示されている。本実施例では、第1種部分マスクの注目画素Pqの色値VeUは、注目領域画像内の注目画素Pqと同じ位置の画素Prを中心とする3行3列の9個の画素の9個の色値Va〜Viの平均値に、決定される。第1種部分マスクの各画素の色値の算出は、RとGとBとの色成分毎に行われる。このような平滑化処理により、プロセッサ110は、第1種部分マスクを表す部分マスクデータを生成する。なお、上記の平滑化処理は、予め決められた強度(「第1平滑強度」と呼ぶ)で平滑化する処理である。従って、S270は平滑化の強度を第1平滑強度に決定して部分マスクを生成する処理である、と言うことができる。
図5は、入力画像IMiに適用される全体マスクIMmの例を示す概略図である。図中には、図3で説明した3個のオブジェクト領域OA1、OA2、OA3が示されている。第3オブジェクト領域OA3は、第1種オブジェクト領域であるので、第3オブジェクト領域OA3のための部分マスクOPmは、図4のS270で生成される。図5に示すように、第3オブジェクト領域OA3の部分マスクOPmは、図3の写真オブジェクトOPをぼやけさせた画像であり、ぼやけた人物Pbを表している。
図4のS278では、プロセッサ110(図1)は、生成した第1種部分マスクを表す部分マスクデータを、揮発性記憶装置120の第2領域122に格納する。第2領域122のサイズは、全体マスクIMmの全体を表すビットマップデータのデータサイズ(すなわち、入力画像IMiの全体を表すラスタデータのデータサイズ)と同じである。第2領域122内のデータ格納位置(例えば、メモリアドレス)と、マスクIMm中の画素位置と、の対応関係は、予め決められている。プロセッサ110は、第2領域122のうち、注目オブジェクト領域に対応付けられたデータ格納位置の部分に、第1種部分マスクを表す部分マスクデータを格納する。
S280では、プロセッサ110は、全ての描画コマンドの処理が終了したか否かを判断する。未処理の描画コマンドが残っている場合(S280:No)、プロセッサ110は、S210に移行して、未処理の描画コマンドの処理を進行する。
注目オブジェクト領域が第2種オブジェクト領域である場合(S230:No)、プロセッサ110は、S240で注目ラスタデータを生成し、S248で注目ラスタデータを第1領域121に格納する。これらの処理S240、S248は、上述のS260、S268と、それぞれ同じである。
S250では、プロセッサ110は、第2種オブジェクト領域である注目オブジェクト領域に適用するための注目マスクを生成する(「第2種部分マスク」とも呼ぶ)。本実施例では、プロセッサ110は、第2種部分マスクを、注目領域画像を平滑化せずに、注目領域画像と同じ画像に決定する。すなわち、S250では平滑強度がゼロに決定される、ということができる。プロセッサ110は、S240で生成された注目ラスタデータをコピーして、第2種部分マスクを表す部分マスクデータを生成する。
図5の例では、2個のオブジェクト領域OA1、OA2が、第2種オブジェクト領域であるので、これらのオブジェクト領域OA1、OA2のための部分マスクOG1m、OG2mは、図4のS250で生成される。図5に示すように、オブジェクト領域OA1、OA2の部分マスクOG1m、OG2mは、図3のオブジェクトOG1、OG2を表す画像と、それぞれ同じである。
図4のS258では、プロセッサ110(図1)は、生成した第2種部分マスクを表す部分マスクデータを、揮発性記憶装置120の第2領域122に格納する。この処理は、上述のS278の処理と同じである。S258の後、プロセッサ110は、S280に移行する。
全ての描画コマンドの処理が終了した場合(S280:Yes)、プロセッサ110(図1)は、図4の処理を終了する。このように、全ての描画コマンド(ひいては、全てのオブジェクト領域)に関して、注目ラスタデータを生成する処理(S240、S260)と、生成した注目ラスタデータを揮発性記憶装置120の第1領域121に格納する処理(S248、S268)とが、実行される。従って、図4の処理が終了した段階で、揮発性記憶装置120の第1領域121には、入力画像IMi(図3)の全体を表すラスタデータが格納されている(「入力ラスタデータ」と呼ぶ)。
また、全てのオブジェクト領域に関して、注目マスクを表す部分マスクデータを生成する処理(S250、S270)と、生成した部分マスクデータを揮発性記憶装置120の第2領域122に格納する処理(S258、S278)とが、実行される。従って、図4の処理が終了した段階で、揮発性記憶装置120の第2領域122には、入力画像IMiの全体に対応するマスクIMm(「全体マスクIMm」とも呼ぶ)の全体を表す全体マスクデータが格納されている。本実施例では、全体マスクデータは、入力ラスタデータのうち第1種オブジェクト領域を表す部分に平滑化処理(図4:S270)を実行することによって生成されたデータである。
図2のS120では、プロセッサ110は、揮発性記憶装置120の第1領域121に格納された入力ラスタデータと第2領域122に格納された全体マスクデータとを用いて、入力画像IMiのシャープネス調整処理を実行する。図6は、シャープネス調整処理の手順の例を示すフローチャートである。図6には、1つの色成分の色値を調整する手順が示されている。本実施例では、プロセッサ110は、RGBの3個の色成分のそれぞれの色値を、図6の手順に従って調整する。
S300では、プロセッサ110は、入力画像IMi中の未処理の画素から1つの画素を選択し、選択した画素(「注目画素」と呼ぶ)の色値Vtを入力ラスタデータから取得する。S310では、プロセッサ110は、全体マスクIMm中の注目画素と同じ位置の画素の色値Vmを、全体マスクデータから取得する。S320では、プロセッサ110は、調整済の色値Vtuを算出する。本実施例では、Vtu=Vt+k×(Vt−Vm)である。係数kは、予め決められた値であり、例えば、ゼロよりも大きく1よりも小さい値に設定される。この計算式のうち「Vt−Vm」によって算出される色値は、入力画像IMiからマスクIMm(ここでは、アンシャープ画像)を差し引くことによって得られる色値である。この色値(Vt−Vm)は、入力画像IMi中のエッジの近傍を表す画像を表している(このような画像は、アンシャープマスクとも呼ばれる)。色値Vtuの計算式は、入力画像IMiからマスクIMm(アンシャープ画像)を差し引くことによってアンシャープマスクを算出し、そして、算出したアンシャープマスクに係数kを乗じて入力画像IMiに加算することを示している。このような計算式を用いる画像処理は、アンシャープマスク処理と呼ばれている。アンシャープマスク処理によって、調整後のシャープネスが強くなる。部分マスクの生成時の平滑強度が強いほど、調整後のシャープネスが強くなる。また、アンシャープマスクに付与される係数kが大きいほど、調整後のシャープネスが強くなる。すなわち、平滑強度と係数kとは、シャープネス調整の強度に対応している。なお、本実施例では、プロセッサ110は、揮発性記憶装置120(図1)の第1領域121に格納されている未調整の色値Vtを表すデータを、調整済の色値Vtuを表すデータで上書きする。
S330では、プロセッサ110(図1)は、全ての画素の処理が終了したか否かを判断する。未処理の画素が残っている場合(S330:No)、プロセッサ110は、S300に移行して、未処理の画素の処理を実行する。全ての画素の処理が終了した場合(S330:Yes)、図6の処理は、終了する。このように、プロセッサ110は、入力画像IMiの全体に対して、全体マスクIMmを用いるアンシャープマスク処理を実行する。本実施例では、プロセッサ110は、描画コマンドのラスタライズによって生成された入力ラスタデータに対するアンシャープマスク処理によって、調整済画像を表すデータを生成する。なお、図6の処理が終了した段階で、揮発性記憶装置120の第1領域121には、アンシャープマスク処理によって生成される調整済画像を表すデータが格納されている。
図7は、調整済画像IMaの例を示す概略図である。図中には、図3で説明した3個のオブジェクト領域OA1、OA2、OA3が示されている。第3オブジェクト領域OA3では、入力画像IMiの写真オブジェクトOPの平滑化によって得られた部分マスクOPm(図5)が適用されるので、アンシャープマスク処理によってシャープネスが強調される。調整済画像IMaの第3オブジェクト領域OA3は、入力画像IMi(図3)の写真オブジェクトOPよりもシャープネスが強調された写真オブジェクトOPaを表している。例えば、人物Paの髪Pahは、入力画像IMiの人物Pの髪Ph(図3)よりもシャープに表現されている。
図7の2個のオブジェクト領域OA2、OA3では、入力画像IMiの同じ領域OA2、OA3の画像と同じ画像を表す部分マスクOG1m、OG2m(図5)が適用される。従って、調整済の色値Vtuの上記の計算式において「Vt−Vm」がゼロであるので、アンシャープマスク処理の前後で、画像は変化しない(すなわち、シャープネスは変化しない)。調整済画像IMaの第1オブジェクト領域OA1は、入力画像IMiの第1オブジェクト領域OA1の画像と同じ画像(すなわち、第1オブジェクトOG1)を表している。同様に、調整済画像IMaの第2オブジェクト領域OA2は、入力画像IMiの第2オブジェクト領域OA2の画像と同じ画像(すなわち、第2オブジェクトOG2)を表している。
図8は、参考例の調整済画像IMrの例を示す概略図である(「参考画像IMr」と呼ぶ)。参考画像IMrは、入力画像IMi(図3)の全体に同じ強度のシャープネス調整処理を適用することによって得られる調整済画像である。図7の調整済画像IMaとの差異は、2個のオブジェクト領域OA1、OA2が、入力画像IMiのオブジェクトOG1、OG2よりもシャープネスが強調されたオブジェクトOG1a、OG2aを表している点だけである。シャープネス強調によって、枠などのエッジの近傍に、視認可能なラインALが生じている。このようなエッジ近傍のラインALは、入力画像IMiには存在しないラインである。従って、仮に参考画像IMrが印刷される場合には、オブジェクトOG1a、OG2aのラインALが、印刷された画像を観察するユーザに違和感を与える可能性がある。
一方、本実施例では、ビットマップデータによって表される第1種オブジェクト領域でシャープネスが強調され、ビットマップデータ以外のデータによって表される第2種オブジェクト領域では、シャープネスは強調されない。
一般的に、ビットマップデータによって表される画像では、シャープネスが望ましい強度よりも弱い場合が多い。例えば、ビットマップデータは、デジタルカメラやスキャナ等の読み取り装置によって生成される場合が多い。読み取り装置によるデータ生成時に読み取り装置の焦点が読み取り対象に合わずに、ぼやけた画像を表すデータが生成され得る。また、ビットマップデータは、非可逆的に圧縮されている場合が多い(例えば、JPEG形式)。そのようなデータの圧縮と展開が繰り返されることによって、画像がぼやける場合がある。従って、ビットマップデータによって表される第1種オブジェクト領域でシャープネスを強調することによって、画質を向上できる。
また、ビットマップデータ以外のデータによって表される第2種オブジェクト領域では、描画コマンドのラスタライズによってオブジェクトが描画される。従って、適切なシャープネスが既に実現されている可能性が高い。そのような領域でシャープネスを強調すると、図8で説明したような不自然なラインALが生じ得る。従って、シャープネス強調を省略することによって、不自然なラインALが目立つことを抑制できる。
以上のように、本実施例では、プロセッサ110は、オブジェクト領域毎に平滑強度(すなわち、シャープネス調整の強度)を決定することによって、全体マスクIMm(すなわち、アンシャープ画像)を生成する(図4)。従って、全てのオブジェクト領域に同じ強度のシャープネス調整が行われる場合と比べて、複数のオブジェクトを適切なシャープネスで印刷することができる。
また、プロセッサ110は、オブジェクト領域毎に平滑強度(すなわち、シャープネス調整の強度)を決定することによって、入力画像IMiの全体に適用される1つの全体マスクIMmを生成する(図4、図5)。そして、プロセッサ110は、1つの全体マスクIMmを、入力画像IMiに適用することによって、アンシャープマスク処理を実行する(図2:S120)。従って、プロセッサ110は、複数のオブジェクト領域に、1つの全体マスクIMmを用いる共通のアンシャープマスク処理を実行すればよいので、オブジェクト領域毎に処理内容を変更しつつアンシャープマスク処理を進行する場合と比べて、アンシャープマスク処理を簡素化できる。これにより、複数のオブジェクトの適切なシャープネスでの印刷を、容易に実行できる。
また、プロセッサ110は、ビットマップデータによって表される第1種オブジェクト領域のための部分マスクを、第1種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて、生成する(図4:S270)。そして、プロセッサ110は、ビットマップデータ以外のデータによって表される第2種オブジェクト領域のための部分マスクを、第2種オブジェクト領域の画像と同じ画像をアンシャープマスクの算出のためのアンシャープ画像として用いて、生成する(図4:S250)。従って、1つの全体マスクIMmを用いてアンシャープマスク処理が実行される場合であっても、容易に、第2種オブジェクト領域ではシャープネスを強調せずに、第1種オブジェクト領域でシャープネスを強調できる。この結果、第1種オブジェクト領域の画質を向上し、さらに、第2種オブジェクト領域で不自然なラインが目立つことを抑制できる。
また、プロセッサ110は、オブジェクト領域内のオブジェクトを描画する描画コマンドの種類に応じて、オブジェクト領域が第1種オブジェクト領域であるか第2種オブジェクト領域であるかを特定する(図4:S230)。従って、オブジェクト領域の種類を適切に特定できるので、オブジェクト領域毎に適切な部分マスクを生成できる。
また、プロセッサ110は、図4のS220で、1つの注目オブジェクト領域を特定する特定処理を実行し、S240、S250、S260、S270で、注目ラスタデータを生成する処理と部分マスクを生成する処理とを含む生成処理を実行する。そして、1つの注目オブジェクト領域について特定処理と生成処理とが実行された後に、他の注目オブジェクト領域について特定処理と生成処理とが実行される(図4)。従って、注目ラスタデータの生成と部分マスクの生成とが、別々に繰り返される場合と比べて、描画コマンドを解析する処理を共通化できるので、処理の負担を軽減できる。ただし、注目ラスタデータの生成を複数のオブジェクト領域について繰り返す処理と、部分マスクの生成を複数のオブジェクト領域について繰り返す処理とが、別々に行われても良い。
また、プロセッサ110は、入力画像IMiを表す入力ラスタデータを生成し(図4:S240、S248、S260、S268)、そして、入力ラスタデータのうち第1種オブジェクト領域を表す部分に対する平滑化処理を実行することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて、全体マスクIMmを生成する(図4:S270)。従って、入力画像IMiに適した全体マスクIMmを生成できる。
B.第2実施例:
図9は、マスク生成処理の別の実施例のフローチャートの一部である。図4の実施例との差異は、図4のS270が、図9のS272、S274、S276に置換されている点だけである。第2実施例のマスク生成処理の他のステップは、図4の第1実施例のステップと同じである。印刷処理の手順は、図2の実施例と同じである。印刷処理を実行する画像処理装置のハードウェア構成は、図1の構成と同じである。
S268の後、S272で、プロセッサ110は、第1種オブジェクト領域である注目オブジェクト領域内の画像を解析することによって、注目オブジェクト領域を第1種処理部分と第2種処理部分とに区分する。この解析には、S260(図4)で生成された注目ラスタデータが用いられる。第1種処理部分は、画像内の位置の変化に対する色値の変化が比較的大きい部分であり、第2種処理部分は、画像内の位置の変化に対する色値の変化が比較的小さい部分である。
図10は、第2実施例のマスク生成処理で生成される全体マスクIMm2の例を示す概略図である。この全体マスクIMm2は、図3の入力画像IMiに応じて生成された全体マスクの例である。図5の全体マスクIMmとの差異は、第3オブジェクト領域OA3の画像が第1種処理部分Pb2hと第2種処理部分Pb2fとに区分されている点だけである。第1種処理部分Pb2hは、人物Pb2の髪を表す部分であり、第2種処理部分Pb2fは、人物Pb2の顔を表す部分である。
本実施例では、プロセッサ110は、第1種オブジェクト領域内の画素を、以下の方法に従って、第1種処理部分、または、第2種処理部分に分類する。まず、プロセッサ110は、注目画素の色値と、注目画素の第1方向D1の隣の画素の色値と、の差である色値差を算出する。色値差は、RGBの3つの色成分の3つの差の合計値である。色値差の算出は、第1種オブジェクト領域内の各画素について行われる。次に、プロセッサ110は、第1種オブジェクト領域から、色値差が予め決められた色閾値以下である画素が連続する連続領域を抽出する。そして、プロセッサ110は、各連続領域の画素数を算出する。1個の連続領域の画素数が予め決められた画素数閾値以上である場合、プロセッサ110は、その1個の連続領域を第2種処理部分に分類する。第2種処理部分に分類されなかった画素は、第1種処理部分に分類される。なお、図10では図示が省略されているが、目や口などの器官を表す部分も、第1種処理部分に分類され得る。そして、肌を表す部分のように位置の変化に対する色値の変化が小さい部分が、第2種処理部分に分類される。
図9のS274では、プロセッサ110は、第1種処理部分に適用するための部分マスクを生成する。本実施例では、図4のS270と同様に、プロセッサ110は、S260(図4)で生成された注目ラスタデータによって表される第1種処理部分の画像を平滑化することによって、部分マスクを生成する。図10の例では、第3オブジェクト領域OA3の部分マスクOPm2のうち第1種処理部分Pb2hは、図3の人物Pの髪Phをぼやけさせた画像である。なお、S274は、平滑化の強度を第1平滑強度に決定することによって平滑化を行う処理である、と言うことができる。
図9のS276では、プロセッサ110は、第2種処理部分に適用するための部分マスクを生成する。本実施例では、図4のS250と同様に、プロセッサ110は、S260(図4)で生成された注目ラスタデータによって表される第2種処理部分の画像を、平滑化せずに、部分マスクとして採用する。すなわち、S276では、平滑化の強度をゼロに決定して部分マスクを生成する処理である、と言うことができる。図10の例では、第3オブジェクト領域OA3の部分マスクOPm2のうち第2種処理部分Pb2fは、図3の人物Pの顔Pfと同じ画像である。
S278(図4)では、プロセッサ110は、S274、S276で生成された部分マスクを表す部分マスクデータを、揮発性記憶装置120の第2領域122に格納する。
図11は、調整済画像IMa2の例を示す概略図である。この調整済画像IMa2は、図10の全体マスクIMm2を用いるアンシャープマスク処理で生成される。図7の調整済画像IMaとの差異は、第2種処理部分Pb2f(図10)に対応する部分Paf2が、図7の同じ部分Pafと比べて、滑らかに表現されている点だけである。調整済画像IMa2の他の部分は、図7の調整済画像IMaの同じ部分と同じである。例えば、第1種処理部分Pb2h(図10)に対応する部分Pahは、図7の同じ部分Pahと同じである。この髪の部分Pahは、入力画像IMi(図3)の髪Phよりもシャープに表現されている。
このように、第2実施例では、プロセッサ110は、第1種オブジェクト領域内の画像を解析することによって、第1種処理部分と第2種処理部分とを決定する(図9:S272)。本実施例では、第1種処理部分は、画像中の位置の変化に対する色値の変化が比較的大きい部分であり、第2種処理部分は、画像中の位置の変化に対する色値の変化が比較的小さい部分である。そして、プロセッサ110は、第1種処理部分のための部分マスクを、第1種処理部分内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて、生成する(S274)。また、プロセッサ110は、第2種処理部分のための部分マスクを、第2種処理部分内の画像と同じ画像をアンシャープマスクの算出のためのアンシャープ画像として用いて、生成する(S276)。
以上により、画像中の位置の変化に対する色値の変化が比較的小さい第2種処理部分では、シャープネスが強調されない。従って、ビットマップデータによって表される第1種オブジェクト領域のうち、オブジェクトの滑らかな面(例えば、肌)を表す部分のシャープネスが過度に強調されることを抑制できる。仮に第2種処理部分のシャープネスが強調される場合には、人物の肌のようにオブジェクトの滑らかな面の中の細かいエッジ(例えば、細かい凹凸)が過度に強調されてしまい。滑らかなはずの画像がざらついた画像になり得る。このようなざらついた画像は、印刷された画像を観察するユーザに違和感を与える可能性がある。第2実施例では、このような不具合を抑制できる。
また、第2実施例では、画像中の位置の変化に対する色値の変化が比較的大きい第1種処理部分では、シャープネスが強調される。従って、ビットマップデータによって表される第1種オブジェクト領域のうち、細かいオブジェクト(例えば、髪や芝生など)を表す部分のシャープネスを強調することができる。この結果、細かいオブジェクトの視認性を向上できる。
なお、第2実施例では、第1種オブジェクト領域内を第1種処理部分と第2種処理部分とに区分して部分マスクを生成する点を除いて、印刷のための画像処理は、第1実施例の画像処理と同じである。従って、第2実施例は、第1実施例と同じ種々の効果を奏する。
C.変形例:
(1)アンシャープマスク処理で調整される色成分は、RGBの3個の色成分に代えて、他の種々の色成分を採用可能である。例えば、輝度成分を採用してもよい。プロセッサ110は、入力ラスタデータとして、例えば、YCbCr色空間の色値を表すデータを生成し、そして、Y成分の色値をアンシャープマスク処理で調整してもよい。
(2)図4のS250で、プロセッサ110は、第2種オブジェクト領域のための部分マスクを、第2種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて、生成してもよい。S250での平滑化の強度は、S270での第1平滑強度よりも弱いことが好ましい(「第2平滑強度」と呼ぶ)。こうすれば、不自然なラインAL(図8)が目立つことを抑制しつつ、第2種オブジェクト領域の画像のシャープネスを強くすることによって、画質を向上できる。
同様に、図9のS276で、プロセッサ110は、第2種処理部分のための部分マスクを、第2種処理部分内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて、生成してもよい。S276での平滑化の強度は、S274での平滑強度(ここでは、第1平滑強度)よりも弱いことが好ましい(例えば、第2平滑強度)。こうすれば、第2種処理部分のシャープネスを適切に強くすることによって、画質を向上できる。なお、図9のS274での平滑強度は、図4のS270での第1平滑強度と異なっていても良い。また、図9のS276での平滑強度は、図4のS250での第2平滑強度と異なっていても良い。
なお、互いに異なる複数の平滑強度を実現する方法としては、任意の方法を採用可能である。例えば、図4の下部に示す平滑化処理の概要において、注目画素Prの色値Veの重みを1に維持しつつ、注目画素Pr以外の画素の色値Va〜Vd、Vf〜Viに1未満の重みを付して得られる重み付き平均値を、部分マスクの色値VeUとして採用してもよい。これにより、平滑強度を弱くすることができる。このように、各画素の色値の重みを調整することによって、平滑化の強度を調整可能である。注目画素Prの色値の重みが小さいほど、平滑強度が強く、そして、注目画素Pr以外の画素の色値の重みが大きいほど、平滑強度が強い。また、S270では、注目画素Prを中心とする5行5列の25個の画素の画素値の平均値を部分マスクの色値VeUとして採用し、S250では、注目画素Prを中心とする3行3列の9個の画素の画素値の平均値を部分マスクの色値VeUとして採用してもよい。このように、部分マスクの色値VeUの算出に利用する画素の範囲を調整することによって、平滑強度を調整してもよい。この場合、画素の範囲が広いほど、平滑強度が強い。
いずれの場合も、アンシャープマスクの算出に利用されるアンシャープ画像(ここでは、全体マスクIMm、IMm2)を生成するための平滑化の強度は、シャープネス調整の強度を示している。従って、S270(図4)とS274(図9)は、シャープネス調整の強度を第1強度に決定して部分マスクを生成する処理である、と言うことができる。また、S250(図4)とS276(図9)は、シャープネス調整の強度を第1強度よりも弱い第2強度に決定して部分マスクを生成する処理である、と言うことができる。平滑化が省略される場合、第2強度はゼロである、ということができる。
なお、平滑化の強度は、エッジ量の変化を用いて評価可能である。エッジ量は、公知のsobelフィルタを適用することによって画素毎に算出される。ここで、1つの画素のエッジ量(「画素エッジ量」と呼ぶ)として、アンシャープマスク処理で調整される全ての色成分のエッジ量の合計値を採用する。例えば、上記各実施例では、R成分のエッジ量とG成分のエッジ量とB成分のエッジ量の合計値が、画素エッジ量として採用される。平滑化の対象の画像中の全ての画素の画素エッジ量の合計値である合計エッジ量は、平滑化によって減少する。処理済画像の合計エッジ量が小さいほど、すなわち、未処理画像の合計エッジ量から処理済画像の合計エッジ量を引いた第1差分エッジ量が大きいほど、平滑化の強度が強い。平滑化が省略される場合、第1差分エッジ量はゼロである。このように、第1差分エッジ量を、平滑化の強度の指標として利用可能である。
シャープネス調整の強度についても、同様に、合計エッジ量を用いて評価可能である。合計エッジ量は、シャープネス調整処理(アンシャープマスク処理)によって増大する。処理済画像の合計エッジ量が大きいほど、すなわち、処理済画像の合計エッジ量から未処理画像の合計エッジ量を引いた第2差分エッジ量が大きいほど、シャープネス調整処理の強度が強い。シャープネスが調整されない場合、第2差分エッジ量はゼロである。このように、第2差分エッジ量を、シャープネス調整処理の強度の指標として利用可能である。
(3)アンシャープ画像を生成するための平滑化処理としては、図4で説明した処理に代えて、色値を平滑化する他の任意の処理を採用可能である。例えば、注目画素Prからの距離が短いほど大きな重みが付された重み付き平均値を採用してもよい(例えば、ガウシアンフィルタ)。
(4)図9のS272で第1種オブジェクト領域を第1種処理部分と第2種処理部分とに区分する方法としては、図9で説明した方法に代えて、他の種々の方法を採用可能である。例えば、エッジ量を用いる方法を採用してもよい。プロセッサ110は、第1種オブジェクト領域内の各画素の画素エッジ量を算出する。そして、画素エッジ量が予め決められたエッジ閾値以下である画素が連続する連続領域を抽出する。そして、プロセッサ110は、各連続領域の画素数を算出する。1個の連続領域の画素数が予め決められた画素数閾値以上である場合、プロセッサ110は、その1個の連続領域を第2種処理部分に分類する。第2種処理部分に分類されなかった画素は、第1種処理部分に分類される。
また、画像認識を用いる方法を採用してもよい。プロセッサ110は、第1種オブジェクト領域内の画像を解析することによって、人物の顔を表す顔領域を特定する。そして、プロセッサ110は、顔領域を第2種処理部分に分類し、他の領域を第1種処理部分に分類する。顔領域を特定する方法としては、公知の顔認識技術を採用可能である。例えば、所定の器官画像(例えば、目や口を表す画像)を用いたパターンマッチングによって、顔領域を特定する方法を採用可能である。
(5)図2のS110で生成されるマスク画像としては、アンシャープ画像に代えて、アンシャープマスク処理で利用される種々の画像を採用可能である。例えば、プロセッサ110は、調整済の色値Vtuを算出する計算式「Vtu=Vt+k×(Vt−Vm)」のうちの「Vt−Vm」によって表される画像(すなわち、アンシャープマスク)を、マスク画像として生成してもよい。また、プロセッサ110は、「k×(Vt−Vm)」によって表される画像を、マスク画像として生成してもよい。いずれの場合も、マスク画像のうちの注目オブジェクト領域に適用される部分マスクは、図4のS250、S270、図9のS274、S276で生成される。そして、図4のS258、S278では、生成された部分マスクを表す部分マスクデータが、揮発性記憶装置120(図1)の第2領域122に格納される。この結果、図4の処理が終了した段階で、第2領域122には、マスク画像の全体を表すデータが格納されている。
なお、上記各実施例では、アンシャープマスク処理は、マスク画像の生成(図2:S110)と、残りの処理(S120)と、に区分されている。マスク画像の生成は、図4に示すように、オブジェクト領域毎の条件分岐を複数のオブジェクト領域について繰り返す処理(「分岐ループ処理」とも呼ぶ)によって、実現される。残りの処理は、図6に示すように、オブジェクト領域毎の条件分岐を用いずに、簡素な処理で実現されている。アンシャープマスク処理のうち分岐ループ処理に組み込まれる部分が大きい場合には、分岐ループ処理が複雑になるので、不具合の可能性が高くなる(例えば、誤動作の可能性の上昇や、開発コストの上昇)。従って、アンシャープマスク処理のうち分岐ループ処理に組み込まれる部分が小さいことが好ましい。
例えば、上記各実施例のように、S110で生成されるマスク画像としてアンシャープ画像を採用することが好ましい。仮にマスク画像としてアンシャープマスクを採用する場合には、アンシャープ画像の生成に加えてアンシャープマスクの算出が、分岐ループ処理に組み込まれる。従って、分岐ループ処理が複雑になる。マスク画像としてアンシャープ画像を採用すれば、アンシャープマスクの算出を分岐ループ処理から除くことができる。従って、分岐ループ処理を簡素化できるので、不具合の可能性を低減できる。
(6)オブジェクト領域毎にシャープネス調整の強度を決定する方法としては、アンシャープ画像を生成するための平滑強度をオブジェクト領域毎に決定する方法に代えて、他の種々の方法を採用可能である。例えば、調整済の色値Vtuを算出する計算式「Vtu=Vt+k×(Vt−Vm)」の係数kをオブジェクト領域毎に決定する方法を採用してもよい。例えば、プロセッサ110は、S270では、係数kを第1値に決定し、そして、「k×(Vt−Vm)」によって表される画像を、部分マスクとして生成する。S250では、プロセッサ110は、係数kを、第1値よりも小さい第2値に決定し、そして、「k×(Vt−Vm)」によって表される画像を、部分マスクとして生成する(第2値はゼロであってもよい)。ここで、S250、S270では、色値Vmとして、同じ平滑強度で平滑化されたアンシャープ画像の色値が用いられる。
(7)入力画像データの形式としては、EMF形式に代えて、ページ記述言語で記述される他の種々の形式を採用可能である。例えば、印刷部200に固有なページ記述言語で記述される形式を採用してもよく、PDF(Portable Document Format)のように印刷部200とは独立なページ記述言語で記述される形式を採用してもよい。
また、ページ記述言語で記述される形式に代えて、ビットマップ形式を採用してもよい。この場合、プロセッサ110は、ビットマップデータを解析することによって、オブジェクト領域とその種類とを特定すればよい。そして、プロセッサ110は、特定の種類のオブジェクト領域(例えば、写真のオブジェクト領域)を、第1種オブジェクト領域として採用し、他の種類のオブジェクト領域を、第2種オブジェクト領域として採用すればよい。
オブジェクト領域とその種類を特定する方法としては、公知の方法を採用可能である。例えば、以下の方法を採用してもよい。入力画像を複数の処理領域(例えば、所定サイズの矩形領域)に分割する。所定の背景色範囲(例えば、白を含む部分色範囲)内の色の画素のみを含む処理領域を、背景を表す処理領域として除外する。残りの処理領域に関して、処理領域毎に特定の色成分の色値(例えば、輝度値)の分散を算出する。分散が所定の写真閾値よりも大きい処理領域を写真領域に分類し、分散が写真閾値以下である処理領域を他種領域に分類する。他種領域は、例えば、文字やグラフィックを表す領域である。そして、同じ種類の処理領域が連続することによって構成される1つの連続な領域を、1つのオブジェクト領域として特定する。なお、オブジェクト領域の特定には、分散に限らず、他の種々の情報(例えば、各処理領域で用いられている色の数)を採用可能である。また、複数の情報を組み合わせることによって、複数の種類のオブジェクト領域を特定してもよい。
(8)マスク画像の生成の手順としては、上述した手順に代えて、他の種々の手順を採用可能である。例えば、図4のS250、S270では、プロセッサ110は、注目ラスタデータを用いずに、平滑強度に従って描画コマンドをラスタライズすることによって部分マスクを生成してもよい。
(9)図1の画像処理装置100は、パーソナルコンピュータとは異なる種類の装置(例えば、デジタルカメラ、スキャナ、スマートフォン)であってもよい。また、画像処理装置が、印刷装置の一部であってもよい。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、画像処理装置による画像処理の機能を一部ずつ分担して、全体として、画像処理の機能を提供してもよい(これらの装置を備えるシステムが画像処理装置に対応する)。
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図1のプロセッサ110の機能(例えば、マスク画像を生成する機能と、アンシャープマスク処理を実行する機能)を、専用のハードウェア回路によって実現してもよい。
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD−ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含んでいる。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
100...画像処理装置、110...プロセッサ、120...揮発性記憶装置、121...第1領域、122...第2領域、130...不揮発性記憶装置、132...プログラム、140...表示部、150...操作部、160...装置インタフェース、200...印刷部、1000...画像処理システム、IMi...入力画像、IMm、IMm2...全体マスク、IMa...調整済画像、IMr...参考画像(調整済画像)、IMa2...調整済画像、OG1...第1オブジェクト、OG2...第2オブジェクト、OP...写真オブジェクト、BG...背景、P...人物、Pf...顔、Ph...髪、OA1...第1オブジェクト領域、OA2...第2オブジェクト領域、OA3...第3オブジェクト領域、D1...第1方向、D2...第2方向、Pb2h...第1種処理部分、Pb2f...第2種処理部分

Claims (10)

  1. 画像処理装置であって、
    複数のオブジェクトを含む入力画像を表す入力画像データを取得する取得部と、
    前記入力画像中の前記複数のオブジェクトを表す複数のオブジェクト領域を特定する特定部と、
    オブジェクト領域毎にシャープネス調整の強度を決定することによってアンシャープマスク処理に用いられるマスク画像を生成するマスク生成部と、
    前記マスク画像を用いて前記入力画像にアンシャープマスク処理を実行することによって、シャープネスが調整された画像を表す出力画像データを生成するデータ生成部と、
    前記出力画像データを印刷部に出力する出力部と、
    を備え
    前記マスク生成部は、
    ビットマップデータによって表される第1種オブジェクト領域のための第1種部分マスク画像を、前記第1種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成し、
    ビットマップデータ以外のデータによって表される第2種オブジェクト領域のための第2種部分マスク画像を、前記第2種オブジェクト領域内の画像と同じ画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成する、
    画像処理装置。
  2. 画像処理装置であって、
    複数のオブジェクトを含む入力画像を表す入力画像データを取得する取得部と、
    前記入力画像中の前記複数のオブジェクトを表す複数のオブジェクト領域を特定する特定部と、
    オブジェクト領域毎にシャープネス調整の強度を決定することによってアンシャープマスク処理に用いられるマスク画像を生成するマスク生成部と、
    前記マスク画像を用いて前記入力画像にアンシャープマスク処理を実行することによって、シャープネスが調整された画像を表す出力画像データを生成するデータ生成部と、
    前記出力画像データを印刷部に出力する出力部と、
    を備え
    前記マスク生成部は、
    ビットマップデータによって表される第1種オブジェクト領域のための第1種部分マスク画像を、前記第1種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成し、
    ビットマップデータ以外のデータによって表される第2種オブジェクト領域のための第2種部分マスク画像を、前記第1種部分マスク画像を生成する場合よりも弱く前記第2種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成する、
    画像処理装置。
  3. 請求項1または2に記載の画像処理装置であって、
    前記マスク生成部は、前記オブジェクト領域毎に前記強度を決定することによって前記入力画像の全体に適用される1つの全体マスク画像を生成し、
    前記データ生成部は、前記1つの全体マスク画像を前記入力画像に適用することによって、前記アンシャープマスク処理を実行する、
    画像処理装置。
  4. 請求項1から3のいずれか1項に記載の画像処理装置であって、
    前記マスク生成部は、
    前記第1種オブジェクト領域内の画像を解析することによって前記画像中の第1種処理部分と第2種処理部分とを決定し、
    前記第1種処理部分のための部分マスク画像を、前記第1種処理部分内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成し、
    前記第2種処理部分のための部分マスク画像を、前記第2種処理部分内の画像と同じ画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成する、または、前記第1種処理部分のための前記部分マスク画像を生成する場合よりも弱く前記第2種処理部分内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて前記第2種処理部分のための部分マスク画像を生成する、
    画像処理装置。
  5. 請求項からのいずれか1項に記載の画像処理装置であって、
    前記入力画像データは、前記複数のオブジェクトを描画するための複数の描画コマンドを含み、
    前記特定部は、オブジェクト領域内のオブジェクトを描画する描画コマンドの種類に応じて、前記オブジェクト領域が第1種のオブジェクト領域であるか第2種のオブジェクト領域であるかを特定する、
    画像処理装置。
  6. 請求項に記載の画像処理装置であって、
    前記特定部は、1つ以上の描画コマンドによって描画される1つの注目オブジェクト領域を特定する特定処理を実行し、
    前記マスク生成部は、
    前記注目オブジェクト領域内の画像を表す注目ラスタデータを生成する処理と、
    前記注目オブジェクト領域のための注目マスク画像を生成する処理と、
    を含む生成処理を実行し、
    前記複数のオブジェクト領域のうち1つの注目オブジェクト領域について前記特定処理および前記生成処理が実行された後に、他の注目オブジェクト領域について前記特定処理および前記生成処理が実行される、
    画像処理装置。
  7. 請求項またはに記載の画像処理装置であって、
    前記マスク生成部は、
    前記複数の描画コマンドのラスタライズによって前記入力画像を表す入力ラスタデータを生成し、
    前記入力ラスタデータのうち少なくとも前記第1種オブジェクト領域を表す部分に対する平滑化処理を実行することによって得られる画像を前記アンシャープマスクの算出のための前記アンシャープ画像として用いて、前記マスク画像を生成する、
    画像処理装置。
  8. 請求項1からのいずれか1項に記載の画像処理装置であって、
    前記マスク画像は、前記アンシャープマスクの算出のための前記アンシャープ画像である、
    画像処理装置。
  9. コンピュータプログラムであって、
    複数のオブジェクトを含む入力画像を表す入力画像データを取得する取得機能と、
    前記入力画像中の前記複数のオブジェクトを表す複数のオブジェクト領域を特定する特定機能と、
    オブジェクト領域毎にシャープネス調整の強度を決定することによってアンシャープマスク処理に用いられるマスク画像を生成するマスク生成機能と、
    前記マスク画像を用いて前記入力画像にアンシャープマスク処理を実行することによって、シャープネスが調整された画像を表す出力画像データを生成するデータ生成機能と、
    前記出力画像データを印刷部に出力する出力機能と、
    をコンピュータに実現させ
    前記マスク生成機能は、
    ビットマップデータによって表される第1種オブジェクト領域のための第1種部分マスク画像を、前記第1種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成し、
    ビットマップデータ以外のデータによって表される第2種オブジェクト領域のための第2種部分マスク画像を、前記第2種オブジェクト領域内の画像と同じ画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成する、
    コンピュータプログラム。
  10. コンピュータプログラムであって、
    複数のオブジェクトを含む入力画像を表す入力画像データを取得する取得機能と、
    前記入力画像中の前記複数のオブジェクトを表す複数のオブジェクト領域を特定する特定機能と、
    オブジェクト領域毎にシャープネス調整の強度を決定することによってアンシャープマスク処理に用いられるマスク画像を生成するマスク生成機能と、
    前記マスク画像を用いて前記入力画像にアンシャープマスク処理を実行することによって、シャープネスが調整された画像を表す出力画像データを生成するデータ生成機能と、
    前記出力画像データを印刷部に出力する出力機能と、
    をコンピュータに実現させ
    前記マスク生成機能は、
    ビットマップデータによって表される第1種オブジェクト領域のための第1種部分マスク画像を、前記第1種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成し、
    ビットマップデータ以外のデータによって表される第2種オブジェクト領域のための第2種部分マスク画像を、前記第1種部分マスク画像を生成する場合よりも弱く前記第2種オブジェクト領域内の画像を平滑化することによって得られる画像をアンシャープマスクの算出のためのアンシャープ画像として用いて生成する、
    コンピュータプログラム。
JP2014219307A 2014-10-28 2014-10-28 画像処理装置、および、コンピュータプログラム Active JP6417851B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014219307A JP6417851B2 (ja) 2014-10-28 2014-10-28 画像処理装置、および、コンピュータプログラム
US14/918,645 US9571697B2 (en) 2014-10-28 2015-10-21 Image processing device setting sharpness adjustment degrees for object regions and performing unsharp masking process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014219307A JP6417851B2 (ja) 2014-10-28 2014-10-28 画像処理装置、および、コンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2016086350A JP2016086350A (ja) 2016-05-19
JP6417851B2 true JP6417851B2 (ja) 2018-11-07

Family

ID=55792984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014219307A Active JP6417851B2 (ja) 2014-10-28 2014-10-28 画像処理装置、および、コンピュータプログラム

Country Status (2)

Country Link
US (1) US9571697B2 (ja)
JP (1) JP6417851B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6418055B2 (ja) * 2015-04-28 2018-11-07 ブラザー工業株式会社 画像処理装置、および、コンピュータプログラム
KR102488563B1 (ko) * 2016-07-29 2023-01-17 삼성전자주식회사 차등적 뷰티효과 처리 장치 및 방법
US10140728B1 (en) * 2016-08-11 2018-11-27 Citrix Systems, Inc. Encoder with image filtering and associated methods
US11551059B1 (en) * 2017-11-15 2023-01-10 Snap Inc. Modulated image segmentation
KR102507165B1 (ko) * 2018-02-12 2023-03-08 삼성전자주식회사 영상 처리 장치 및 그 영상 처리 방법
US10963995B2 (en) 2018-02-12 2021-03-30 Samsung Electronics Co., Ltd. Image processing apparatus and image processing method thereof
CN110796617B (zh) 2019-10-24 2022-09-02 北京小米智能科技有限公司 面部图像的增强方法及装置、电子设备
US11593520B2 (en) * 2021-04-19 2023-02-28 Western Digital Technologies, Inc. Privacy enforcing memory system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351558B1 (en) 1996-11-13 2002-02-26 Seiko Epson Corporation Image processing system, image processing method, and medium having an image processing control program recorded thereon
JP3981779B2 (ja) 1996-11-18 2007-09-26 セイコーエプソン株式会社 画像処理装置、画像処理方法および画像処理プログラムを記録した媒体
JP3981785B2 (ja) 1999-03-31 2007-09-26 セイコーエプソン株式会社 画像鮮鋭化プログラムを記録した媒体、画像鮮鋭化装置および画像鮮鋭化方法
JP4019239B2 (ja) * 1999-03-31 2007-12-12 セイコーエプソン株式会社 画像鮮鋭化方法および画像鮮鋭化装置
AU2001241620A1 (en) * 2000-02-22 2001-09-03 Visualgold.Com, Inc. System and method for image processing
US6891977B2 (en) * 2002-02-27 2005-05-10 Eastman Kodak Company Method for sharpening a digital image without amplifying noise
US7269300B2 (en) * 2003-10-24 2007-09-11 Eastman Kodak Company Sharpening a digital image in accordance with magnification values
JP2006113658A (ja) * 2004-10-12 2006-04-27 Canon Inc 画像処理装置及び方法、及びプログラムを記録した記憶媒体
JP2010004300A (ja) 2008-06-19 2010-01-07 Seiko Epson Corp 画像処理方法、画像処理装置、画像処理プログラムおよび印刷装置
JP6031286B2 (ja) * 2012-07-23 2016-11-24 キヤノン株式会社 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
US20160119503A1 (en) 2016-04-28
US9571697B2 (en) 2017-02-14
JP2016086350A (ja) 2016-05-19

Similar Documents

Publication Publication Date Title
JP6417851B2 (ja) 画像処理装置、および、コンピュータプログラム
KR101248858B1 (ko) 화상처리장치 및 화상처리방법
CN106303150B (zh) 图像处理装置及图像处理装置的控制方法
JP4262151B2 (ja) 画像処理方法および画像処理装置およびコンピュータプログラムおよび記憶媒体
US10592766B2 (en) Image processing apparatus and medium storing program executable by image processing apparatus
JP6127877B2 (ja) 画像処理装置、および、コンピュータプログラム
JP2007241424A (ja) 画像処理装置および画像処理方法
JP2008011286A (ja) 画像処理プログラムおよび画像処理装置
JP2015002442A (ja) 画像処理装置および方法
JP6736299B2 (ja) 印刷装置、印刷方法、および、プログラム
JP5924112B2 (ja) 画像処理装置及び画像処理方法
JP3673675B2 (ja) 画像処理方法及び画像処理装置並びに記録媒体
JP4455261B2 (ja) 画像処理方法、画像処理装置および画像形成システム
JP6869709B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP6794821B2 (ja) 画像処理装置、および、コンピュータプログラム
JP6500638B2 (ja) 画像処理装置、および、コンピュータプログラム
JP2000285232A (ja) 画像鮮鋭化プログラムを記録した媒体、画像鮮鋭化装置および画像鮮鋭化方法
JP2000285232A5 (ja)
JP4375223B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2017130721A (ja) 画像処理装置及びプログラム
JP6693701B2 (ja) 画像処理装置、画像形成装置、画像処理方法及びコンピュータプログラム
JP2023069216A (ja) 画像処理装置、印刷装置、画像処理方法、及びプログラム
JP6394247B2 (ja) 画像処理装置、および、コンピュータプログラム
JP5632937B2 (ja) 画像処理装置及び方法、及びコンピュータプログラム
JP6418055B2 (ja) 画像処理装置、および、コンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180424

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180821

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180924

R150 Certificate of patent or registration of utility model

Ref document number: 6417851

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150