以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確立されるのであって、以下の個別の実施形態によって限定されるわけではない。
<第1の実施形態>
以下、本発明の第1の実施形態について説明する。本実施形態の画像処理装置の一例として画像形成装置を例に挙げて、本実施形態を説明する。なお、本発明は画像形成装置に限定されず、以下で説明する画像処理を実行可能な装置であればよく、画像形成機能を保持しない装置であっても適用可能である。上記画像処理は、画像データに含まれる文字を太らせる画像処理である。
本実施形態の画像データは複数の画素からなり、各画素は画素値を有する。RGBの画素データにおいては、各画素がR、G、Bの3成分の輝度値を有し、CMYKの画像データにおいては、各画素がC、M、Y、Kの4成分の濃度値を有する。また本実施形態の属性データは、画像データの画素ごとに関連付けられるものであり、各画素が属するオブジェクトの種別を示すものである。各画素には、関連付けられる属性の種類に応じて、対応する画像処理が行われる。例えば、イメージ属性やグラフィクス属性(第1属性)の画素は滑らかな階調性が求められるので、階調性を重視した処理が適用され、文字属性や線属性(第2属性)の画素は視認性が求められるので、解像性を重視した処理が適用される。そこで、画素の属性がイメージ属性(第1属性)である場合、線数の低いスクリーン(第1線数のスクリーン)が後述のスクリーン処理部204で適用される。そして、線数の低いスクリーンに合わせたガンマテーブルがガンマ補正処理部203において適用される。また、画素の属性が文字属性(第2属性)である場合、線数の高いスクリーン(第2線数のスクリーン)が後述のスクリーン処理部204で適用される。そして、線数の高いスクリーンに合わせたガンマテーブルがガンマ補正処理部203において適用される。
このように、本実施形態によれば、画像データに含まれる文字を特定するために、属性データが用いられる。属性データの生成方法はいくつかある。例えば、属性データは、PDL(Page Description Language:ページ記述言語)コマンドに基づくレンダリングによってページの画像データが生成される際に、そのPDLコマンドの種別に応じて生成される。例えば文字を描画するためのPDLコマンドであれば、そのPDLコマンドによって生成されるオブジェクトを構成する画素が有する属性は文字属性(TEXT)となる。また、線を描画するためのPDLコマンドであれば、そのPDLコマンドによって生成されるオブジェクトを構成する画素の持つ属性は線属性となる。一方、ベクタグラフィックやイメージ(ビットマップイメージやラスタイメージ)を描画するためのPDLコマンドであれば、そのPDLコマンドによって生成されるオブジェクトを構成する画素の持つ属性はグラフィック属性やイメージ属性となる。上述したように、生成された属性データと、生成された画像データとは、互いに関連付けられる。本実施形態では、属性でいうところの文字属性を有する画素で構成されるオブジェクトを、文字として扱う。
<システム構成>
まず、図1を参照して、本実施形態に係るシステム構成の一例について説明する。図1に示される画像処理システムは、ホストコンピュータ1、画像形成装置2によって構成される。本実施形態の画像形成装置2は、本発明の画像処理装置の一例であり、コントローラ21、印刷エンジン22、及び操作部23を備える。なお、操作部23は、操作のための各種スイッチやLED表示器等を有する。
ホストコンピュータ1は、一般のPC(パーソナルコンピュータ)やWS(ワークステーション)などのコンピュータ等の情報処理装置である。このホストコンピュータ1上の不図示のプリンタドライバ等のソフトウェアアプリケーションで作成された画像や文書は、PDLデータとしてネットワーク(例えばLocal Area Network)を介して画像形成装置2に送信される。画像形成装置2では、コントローラ21が、送信されたPDLデータを受け取る。
コントローラ21は、印刷エンジン22に接続され、ホストコンピュータ1からPDLデータを受け取り、印刷エンジン22で処理可能な印刷データに変換し、その印刷データを印刷エンジン22に出力する。印刷エンジン22は、コントローラ21より出力された印刷データに基づいて、画像の印刷を行う。なお、本実施形態における印刷エンジン22は、一例として電子写真方式の印刷エンジンとする。操作部23は、ユーザにより操作され、種々の機能を選択したり、操作指示を行うために使用される。操作部23は、表面にタッチパネルが設けられた液晶ディスプレイや、スタートキーやストップキー、テンキー等の各種キー等を配置したキーボード等を備える。
次に、コントローラ21の詳細について説明する。コントローラ21はホストI/F(インタフェース)部101、CPU102、RAM103、ROM104、画像処理部(画像処理ユニット)105、及びエンジンI/F部106を備える。各部は内部バス107を介して相互にデータ等を送受信することができる。
ホストI/F部101は、ホストコンピュータ1から送信されたPDLデータを受け取るためのインタフェースである。CPU102は、RAM103やROM104に格納されているプログラムやデータを用いて画像形成装置2の全体を統括的に制御するとともに、コントローラ21が行う後述の処理を実行する。RAM103は、CPU102が各種の処理を実行する際に用いるワークエリアを備える。ROM104は、後述の各種処理をCPU102に実行させるためのプログラムやデータ、また、コントローラ21の設定データなどが格納されている。エンジンI/F部106は、画像処理部105によって生成された印刷データを、印刷エンジン22に送信するインタフェースである。
画像処理部105は、CPU102からの設定に応じて、ホストI/F部101が受け取ったPDLデータに対してプリント用画像処理を行い、印刷エンジン22で処理可能な印刷データを生成する。画像処理部105は特に、受け取ったPDLデータに対してラスタライズを行うことで、1画素あたり複数の色成分を有する画像データを生成する。複数の色成分とは、RGB(赤、緑、青)などの色空間において独立した色成分のことである。画像データは、画素毎に1つの色成分につき8ビット(256階調)の値を有する。すなわち、画像データは多値の画素を含む、多値のビットマップデータである。また以上のラスタライズでは、画像データの他に、画像データの画素の属性を画素毎に示す属性データも生成される。この属性データは、画素がどの種類のオブジェクトに属するかを示し、例えば文字や線、グラフィック、イメージ、背景といったオブジェクトの種類を示す値である。画像処理部105は、生成された画像データ及び属性データを用いて、RGB色空間からCMYK(シアン、マゼンタ、イエロー、ブラック)色空間への色変換やスクリーン処理などの画像処理を施すことで印刷データを生成する。画像処理部105の詳細については後述する。
<画像処理部>
次に、図2を参照して、画像処理部105の詳細について説明する。画像処理部105は、図2に示すように、色変換処理部201、画像補正処理部202、ガンマ補正処理部203、及びスクリーン処理部204を備える。なお、上述したように、画像処理部105は、ホストI/F部101で受け取ったPDLデータに対してラスタライズ処理を行うことで、RGBの多値の画像データを生成する。ここでは、その生成された多値の画像データに対して行われるプリント用の画像処理について詳述する。
色変換処理部201は、入力された多値の画像データ(入力画像データ)に対してRGB色空間からCMYK色空間への色変換処理を行う。この色変換処理によって1画素あたり8ビット(256階調)の多値の濃度値(階調値、信号値とも称する。)を有するCMYK画像データが生成される。このCMYK画像データは色変換処理部201内の不図示のバッファに格納される。なお、ここでは、CPU102が入力手段として機能し、画像処理部105へ、ホストコンピュータ1等から受信した画像データを画像処理部105に入力する。
画像補正処理部202は、画像データ中の文字や線などの太さを補正するために、入力されたCMYK画像データに対して後述する太らせ処理(画像補正処理)を実行する。
ガンマ補正処理部203は、後述するスクリーン処理部204でスクリーン処理された画像データが記録紙へと転写された際の濃度特性が所望の特性となるよう、一次元のルックアップテーブルを用いて、入力された画素データを補正する。本実施形態では、例としてリニアな形状をした一次元のルックアップテーブルを用いる。このルックアップテーブルは入力がそのまま出力されるようなルックアップテーブルである。ただし、印刷エンジン22の状態の変化に応じて、CPU102は、この一次元のルックアップテーブルを書き換えることもできる。ガンマ補正後の画素データは、スクリーン処理部204に入力される。
スクリーン処理部204は、入力された画素データにスクリーン処理を行って、印刷データとして、エンジンI/F部106へ出力する。スクリーン処理の詳細については後述する。
<スクリーン処理>
次に、図3を用いて、本実施形態におけるスクリーン処理部204で行われるスクリーン処理について詳細に説明する。スクリーン処理は、1画素あたり8ビット(256階調)の画像データを、印刷エンジン22で処理可能な1画素あたり4ビット(16階調)の画像データに変換する。この変換には、16階調の画像データに変換するため、15個の閾値マトリックスを含む閾値マトリックス群を用いる。
ここで、各々の閾値マトリックスは、幅M、高さNのM×N個の閾値をマトリックス状に配置したものである。スクリーン処理で用いられる閾値マトリックスの個数は出力する画像データの階調(Lビット(Lは2以上の整数)の場合、2のL乗(2L)階調)に応じて決定され、(2L-1)がマトリックスの個数となる。ここではL=4ビットであるため、マトリックスの個数は15となる。スクリーン処理は、画像データの各画素に対応した閾値を閾値マトリックスの各面から読み出し、画素の値と面数分の閾値との比較を行う。
16階調へのスクリーン処理の場合、各閾値マトリックスには第1レベル~第15レベル(Level 1~Level 15)が設定される。そしてスクリーン処理部204は、画素の値を各閾値マトリックスにおける該当する閾値と比較し、画素の値以下の閾値を有するマトリックスのレベルの中で最も大きい値を出力する。この出力されるレベルの値がスクリーン処理後の4ビットの階調値に相当する。以上の処理によって画像データの各画素の濃度値を4ビット値に変換する。閾値マトリックスは、画像データの横方向にM画素、縦方向にN画素の周期でタイル状に繰り返し適用される。
ここで、スクリーン処理部204で用いる閾値マトリックスは、図3に例示的に示されるような閾値マトリックスを用いる。具体的な例として、図3の画像データの一番左上の画素に対するスクリーン処理について説明する。画像データの画素の値は5である。この画素に対応するLevel 1の閾値マトリックスの閾値は、14である。スクリーン処理部204は、画素の値である5と、閾値の14を比較し、閾値の方が大きいので、出力として0を出力する。この出力値”0”がスクリーンデータとなる。
<処理設定>
以下では、図4を参照して、画像補正処理部202の処理に関する設定について説明する。操作部23は、タッチスクリーンのユーザインタフェースであって、画像補正処理部202における処理の設定の指示をユーザから受け付ける。例えば、操作部23は、図4に示されるような設定画面400、410を表示し、画像補正処理部202による画像補正処理の設定をユーザから受け付ける。
ここでは、画像補正処理に必要な情報の設定方法について説明する。ここでは、画像補正処理として、操作部23で決定された情報を基に太らせる場合に限定して説明を行う。
以下、操作部23の設定内容について述べる。まず、属性ごとに太さの調整が設定される。属性とは、設定画面400に示すように処理対象の画素ごとの属性であり、例えば、当該画素が文字、線、グラフィック、又はイメージかを示す。設定画面400では、太らせ設定41にあるように属性ごとに「なし」、「弱」、「強」のボタン42が選択可能に表示されている。「なし」は補正なしを示し、「弱」及び「強」は太らせ処理において文字を太くする程度を示し、「強」の方が「弱」よりも文字を太くする設定となる。
設定画面400で詳細設定ボタン43が押下されると、太さを調整したい方向を指定する設定画面410が操作部23に表示される。例えばデバイスの特性で主走査方向又は副走査方向とで印字幅が異なることが起こりうるため、設定画面410の補正方向44にあるように、用紙の搬送方向に対して縦方向であるか横方向であるかが選択可能である。これらの設定画面400、410を介したユーザ入力に応じて、画像補正処理部202に必要な情報が設定される。
操作部23は、この設定情報を画像補正管理テーブルとして画像補正処理部202に通知する。図5は、画像補正管理テーブル500に保存されるデータの一例である。この画像補正管理テーブル500は、RAM103に保存される。画像補正処理部202は、画像データの属性情報を参照し、操作部23で指定した属性を、指定していない属性へ置換することで、指定した属性の太さを補正する。例えば、画像補正処理部202は、文字属性の画素が置換属性として指定されると、置換属性として指定されていない背景属性の画素を文字属性の画素に置換することにより、文字を太らせる。
画像補正管理テーブル500は、置換される属性と置換する属性を制御するための情報である。具体的には、画像補正管理テーブル500は、2つの情報、管理情報と属性情報とから構成される。管理情報には、置換属性と被置換属性とが定義される。置換属性は、置換することで太さを補正する属性のことを示す。被置換属性は、置換属性によって置換される属性であり、操作部23にて、太らせ設定されなかった属性を示す。図5の例では、置換属性として、文字及び線属性が指定され、被置換属性として、グラフィック、イメージ、背景属性が指定されている。
<画像補正管理テーブルの生成方法>
続いて、画像補正管理テーブルの具体的な生成方法について説明する。設定画面400によって、属性「文字」の太らせ設定が「弱」又は「強」に設定されると、文字属性のオブジェクトに対して画像補正処理が行われる。このとき、操作部23は、画像補正管理テーブル500の置換属性に文字属性を追加して当該テーブルを更新する。なお、画像補正管理テーブル500の更新は、操作部23によって受け付けた情報に基づいてCPU102が実行してもよい。一方、属性「文字」の太らせ設定が「なし」に設定されると、文字属性のオブジェクトに対して画像補正処理が行われない。このとき、操作部23は、画像補正管理テーブル500の被置換属性に文字属性を追加する。
線(LINE)、グラフィック、イメージ属性に対しても同様に、設定画面400によって、太らせ設定が「弱」又は「強」に設定されると、当該属性のオブジェクトに対して画像補正処理が行われる。このとき、操作部23は、画像補正管理テーブル500の置換属性にそれらの属性を追加する。一方、太らせ設定が「なし」に設定されると、それらの属性のオブジェクトに対して画像補正処理が行われない。このとき、操作部23は、画像補正管理テーブル500の被置換属性にそれらの属性を追加する。
また、背景属性はどの属性からも太らされるので、設定に関わらず、CPU102は、画像補正管理テーブル500の被置換属性に背景属性を追加する。例えば、全ての属性に対して太らせ設定を行った場合は、設定した全ての属性が背景属性に太ることとなる。
本実施形態では、設定画面400にあるように(文字:弱、線:弱、グラフィック:なし、イメージ:なし)と設定した場合について述べる。そして、設定画面410の詳細設定については、補正方向は、横のみが指定されている場合について述べる。このとき、図5に示すように、画像補正管理テーブル500の置換属性(第2属性)に文字属性、及び線属性の少なくとも1つが指定される。また、被置換属性(第1属性)にグラフィック、イメージ、及び背景の少なくとも1つが指定される。
<画像補正処理>
次に、図6乃至図9を参照して、画像補正処理部202による画像補正処理について説明する。図8は、画像補正処理部202で用いる画素の位置関係を説明する図である。
本実施形態においては、画像補正処理部202には、図8に示されるように、画素801、画素802、画素803の3画素の画像データ及び対応する属性データが色変換処理部201から入力される。この3画素の画像データ及び属性データは、画素801が注目画素、画素802が注目画素に隣接する画素である参照画素として配置される。そして、画素803が注目画素に対して参照画素の反対方向に隣接する画素(反対画素)として配置される。注目画素は、画像補正処理202において画像補正処理の対象となる画素、即ち、被置換属性の画素である。参照画素は、注目画素に画像補正処理が適用されるか判定するために参照する画素である。反対画素は、注目画素を基準に参照画素とは反対方向に配置され、注目画素に画像補正処理が適用されるか判定するために参照する。
画像補正処理の概要を説明する。なお、図6に本実施形態の画像補正処理部202の詳細を示す。画像補正処理部202は画像データ601、及びその属性を示す属性データ602を入力とし、補正後の画像データ及び属性データをそれぞれ608、609として出力する。
まず、画像処理部202の全体動作に関して説明する。操作部23から画像補正管理テーブル500が通知され、置換属性と被置換属性が画像補正処理部202に設定される。(1)注目画素属性判定部2021は、画像データに含まれる注目画素の属性が置換属性か又は被置換属性かを判定する。(2)参照画素属性判定部2022は、画像データに含まれる参照画素の属性が置換属性か又は被置換属性かを判定する。(3)反対画素属性判定部2023は、画像データに含まれる反対画素の属性が参照画素と同じ属性かどうかを判定する。(4)画像属性置換部2024は、参照画素の画素値と属性を用いて注目画素の画素値と属性を置換する。(5)画像属性選択部2025は、上記(1)~(3)の判定結果に基づいて、画像データ601と属性データ602が補正された画像データ608と属性データ609を、ガンマ補正処理部203に出力する。なお、上記参照画素の画素値と属性を用いて注目画素の画素値と属性を置換する処理としては、例えば参照画素の画素値及び属性と同一の画素値及び属性を注目画素の画素値及び属性として設定する処理である。或いは、当該置換処理は、参照画素の画素値及び属性と類似の画素値及び属性を注目画素の画素値及び属性として設定する処理であってもよい。
次に、画像処理部202を構成する各処理部の詳細動作を説明する。注目画素属性判定部2021は、注目画素における属性データ602を参照し、注目画素の属性を判定する。注目画素の属性が被置換属性として定義された属性の何れかであれば、注目画素属性判定部2021は、注目画素が被置換属性と一致することを示す情報を、フラグ603に設定して画像属性選択部2025に出力する。参照画素属性判定部2022は、参照画素における属性データ602を参照し、参照画素の属性を判定する。参照画素の属性が置換属性であれば、参照画素属性判定部2022は、参照画素が置換属性と一致することを示す情報を、フラグ604に設定して画像属性選択部2025に出力する。反対画素属性判定部2023は、反対画素における属性データ602を参照し、反対画素の属性を判定する。反対画素の属性が参照画素の属性と同じであるかを判定し、反対画素属性判定部2023は、反対画素が参照画素と同じ属性と一致することを示す情報を、フラグ605に設定して画像属性選択部2025に出力する。画像属性置換部2024は、参照画素における画像データ601と属性データ602を用いて注目画素の画素値及び属性データを置き換える処理である。そして、置換した結果の画像データ606と属性データ607を画像属性選択部2025へ出力する。
画像属性選択部2025には、フラグ603、604、605、注目画素における画像データ601、606、属性データ602、607が入力される。これらの入力に基づいて、画像属性選択部2025は、注目画素における画像データ608、属性データ609をガンマ補正処理部203に出力する。この出力動作について、図7のフローチャートと図9の説明図を用いて説明する。
図7は、画像補正処理部202で行われる画像補正処理の処理手順を示す。なお、以下で説明する処理は、CPU102の指示のもとで画像補正処理部202により実行されるものとする。より具体的には、これらの処理は、例えば、CPU102がROM104に格納されたプログラムをRAM103に読み出して実行することにより実現される。また、図9は、本実施形態における画像補正処理部202で行われる画像処理について詳細に説明する図を示す。図中の白画素は、背景属性の画素であり、黒画素は、文字属性の画素を示している(図中“T”の表記)。
画像900は、画像補正処理部202に入力される属性の画像である。画像910は、注目画素と参照画素のみを参照して画像補正処理を行った場合(従来手法)の処理結果である。画像920は、本実施形態における画像補正処理を行った場合の処理結果である。ここで、置換属性は、文字、線、被置換属性は、イメージ、グラフィック、背景であることが、CPU102から画像補正処理部202へ通知されている場合を例に説明を行う。また、以下の説明では、画素901と画素904に注目して、説明を行う。
S701で、画像属性選択部2025は、フラグ603を参照する。フラグ603が、注目画素の属性が被置換属性と一致することを示す場合(S701でYES)に処理はS702に移行し、そうでない場合(S701でNO)に処理はS707へ移行する。例えば、注目画素が画素901である場合、注目画素は背景属性であり、S701の判定で被置換属性と一致すると判定されるため、S702へ移行する。また、同様に、注目画素が画素904である場合、注目画素は背景属性であるため、S702へ移行する。画像補正処理は、参照画素を注目画素と同様の画素値及び同じ属性に置換することで、対象の属性画像を太らせる処理である。従って、S701では注目画素が置換の対象である被置換属性である画素か否かを判定している。
S702で、画像属性選択部2025は、フラグ604を参照する。フラグ604が、参照画素の属性が置換属性と一致することを示す場合(S702でYES)に処理はS703に移行し、そうでない場合(S702でNO)に処理はS707へ移行する。例えば、注目画素が画素901である場合、参照画素は画素901に隣接する画素902となる。画素902は文字属性であり、S702で置換属性と一致すると判定されるため、S703へ移行する。また、同様に、注目画素が画素904である場合、参照画素は画素905となる。画素905は文字属性なであるため、S703へ移行する。
S703で、画像属性選択部2025は、フラグ605を参照する。フラグ605によって反対画素の属性が参照画素と異なることが示される場合(S703でYES)に処理はS704に移行し、そうでない場合(S703でNO)に処理はS707へ移行する。例えば、注目画素が画素901である場合、反対画素は画素903となる。画素903は、背景属性なので、S703で参照画素の画素902の文字属性と属性が異なると判定されるため、S704へ移行する。この後、S704及びS705で、置換処理が行われることとなる。また、同様に、注目画素が画素904である場合、反対画素は画素906となる。画素906は文字属性であり、S703で参照画素の画素905の文字属性と属性が一致すると判定されるため、S707へ移行する。
ここで、比較例として、注目画素と参照画素のみを参照して画像補正処理を行う場合、S703における判定は実施されず、画素904を画素905で置換することになり、画素904を画素905の属性で置換した結果が画素908である。このような比較例としての結果を画像910に示す。画像910に示すように、画素905を含む文字属性の縦棒が左方向に1画素太り、画素906を含む文字属性の縦棒と接合してしまい、潰れが発生していることが分かる。
本実施形態では、S703において、反対画素が参照画素と異なることを判定している。これは、参照画素の属性が反対画素と異なることを判定することで、参照画素で注目画素が置換されても、参照画素、注目画素、反対画素と同じ属性が連続することがないことを判定している。そして、S703において、反対画素の画素906と参照画素の画素905は同じ文字属性であるため、画像補正処理を行うと潰れが発生すると判断され、置換結果ではなく、入力データを出力する。
S704で、画像属性置換部2024は、参照画素の画素値を注目画素の画素値と置換することで、注目画素を太らせる。続いて、S705で、画像属性置換部2024は、参照画素の属性で注目画素の属性を置換する。S706で、画像属性選択部2025は、画像データ606と属性データ607を注目画素における画像データ608、属性データ609として、ガンマ補正処理部203に出力し、S708に移行する。ここで、画像データ606は、画像属性置換部2024で補正された、注目画素における画像データである。また、属性データ609は、画像属性置換部2024で補正された、注目画素における属性データである。
一方、S707で、画像属性選択部2025は、画像データ601と属性データ602を注目画素における画像データ608、属性データ609として、ガンマ補正処理部203に出力し、S708に移行する。S708で、画像補正処理部202は、全ての画素に処理を行ったか判定する。全ての画素に処理が終了していない場合は、S701へ移行する。即ち、ここでは、全ての画素を注目画素としてS701乃至S708の処理を実行したか否かを判定している。全ての画素に処理が終了した場合は、本処理を終了する。
以上説明したように、本実施形態に係る画像処理装置は、入力される画像データのうちの1つの画素を順に注目画素として、少なくとも注目画素、参照画素、及び反対画素の属性に基づいて、注目画素に対して画像処理を実行するか否かを選択する。ここで、参照画素とは、注目画素に対して一方向に隣接する画素であり、反対画素とは、一方向とは反対方向において注目画素と隣接する画素である。より具体的には、本画像処理装置は、注目画素が補正される対象となる第1属性であり、かつ、参照画素が補正される対象でない第2属性であり、かつ、参照画素と反対画素が異なる属性であれば、注目画素の画像データとして補正された画像データを選択する。一方、そうでない場合は、画像処理装置は、注目画素の画像データとして入力された画像データを選択する。このように、本実施形態によれば、参照画素の反対方向の画素を参照することで、画素910のような太ると文字の視認性が低下する部分は画像補正しないことで、文字の視認性の低下を最小限にとどめながら、画像補正処理を行うことが可能となる。また、本実施形態では、注目画素に対して左方向に1画素太らせる場合について説明を行ったが、別の方向でもよいことは言うまでもない。例えば、上方向に1画素でもよいし、右方向に1画素でもよい。注目画素に対して上方向の画素が参照画素であれば、反対画素は下方向の画素となる。
本発明は上記実施形態に限定されず様々な変形が可能である。例えば、上記実施形態では、全ての入力データに対して画像属性置換部2024において画像処理を実行した画像データと、画像処理を実行していない画像データを画像属性選択部2025によって選択して出力する構成について説明した。これにより、上記実施形態では、画像処理を実行するか否かを選択する構成を実現している。しかし、画像処理を実行するか否かを選択する構成としては、入力データのうち選択した入力データにのみ画像属性置換部2024による画像処理を実行することによって実現されてもよい。この場合、画像属性置換部2024と画像属性選択部2025とを統合して同一のユニットとして構成し、各判定部2021、2022、2023の判定結果が当該ユニットへ出力されることになる。当該ユニットは、入力データのうち選択した入力データにのみ画像処理(置換処理)を実行して出力し、それ以外の入力データには画像処理を実行せずにそのままのデータを出力する。なお、このような変形は、以下で説明する第2の実施形態や第3の実施形態に対しても適用可能である。
また、本実施形態では、背景属性の画素と文字属性の画素を含む画像に対する処理を例に挙げたが、背景属性の画素と文字属性の画素とイメージ属性の画素が混在する画像でもよい。複数の属性が混在する場合は、優先順位を付けて処理を実施してもよい。例えば、イメージ属性よりも文字属性を優先する。これは、イメージ属性の画素は写真などを構成することが多く、複数画素から構成される場合が多い。小さいポイントの文字は、1画素幅の字画が多く存在し、優先的に太らせたい要望が多い。
例えば、文字属性、背景属性、イメージ属性の3画素が順番に並んでいるとき、背景属性の画素には文字属性の画素が優先的に太ることとなる。このとき、背景属性の画素が文字属性の画素によって太られるので、背景属性の画素がなくなってしまうが、問題とはならない。なぜなら、太らせ処理による潰れが原因の文字の視認性の低下は、文字の隣接する字画が太り、潰れることで発生するためである。
<第2の実施形態>
以下、本発明の第2の実施形態に係る画像処理について説明する。第1の実施形態では、太らせ設定41が「弱」で、1画素太らせる場合について説明を行った。第2の実施形態では、太らせ設定41が「強」で、左右に1画素ずつ太らせる場合について説明を行う。なお、以下では第1の実施形態との差分のみについて詳細に説明する。つまり、「弱」及び「強」の選択は、太らせ処理の画素範囲を設定している。ここでは、「弱」の場合は1画素であり、「強」の場合は2画素となる。なお、本発明はこれに限定されず、3画素以上の画素範囲を指定することもできる。
<画像補正処理>
第2の実施形態における画像補正処理部202による画像補正処理について説明する。まず、図11を参照して、画像補正処理部202で用いる画素の位置関係について説明する。
本実施形態によれば、画像補正処理部202には、図11に示すように、画素1101、画素1102、画素1103、画素1104、及び画素1105の5画素の画像データ及び対応する属性データが色変換処理部201から入力される。画像補正処理の対象となる注目画素は、5画素の中心である画素1103に配置される。
本実施形態では、左右に1画素ずつ太らせるので、注目画素に対する参照画素の方向(ref_dir)は、左と右の2方向となる。注目画素が画素1103に対して、画素1102の方向をref_dir=1とする。そして、注目画素の画素1103に対して、画素1104の方向をref_dir=2とする。そして、注目画素に対して参照画素の反対方向に隣接する画素(反対画素)は、それぞれの参照画素に存在することとなる。
参照画素の画素1104に対する反対画素は、画素1102と画素1101の2画素となる。反対画素が2画素となるのは、参照画素が画素1102と画素1104の2画素だからである。例えば、横方向に2画素の背景属性の画素を2画素の文字属性の画素が横方向に挟んでいる場合、それぞれの背景属性の画素に隣接する文字属性の画素が参照画素となる。このとき、文字属性の画素が背景属性の画素に太ってくることとなり、背景属性の画素が潰れてなくなってしまう。従って、参照画素の反対方向の2画素が参照画素と異なる属性であれば、潰れは発生しない。参照画素の画素1102に対する反対画素は、画素1104と画素1105の2画素となる。ここで、注目画素からそれぞれの反対画素の距離(re_dis)は、画素1102は1、画素1101は2となる。
次に、画像処理部202を構成する各処理部の詳細動作を説明する。画像属性選択部2025には、フラグ603、604、605、注目画素における画像データ601、606、及び属性データ602、607が入力される。これらの入力に基づいて、画像属性選択部2025は、注目画素における画像データ608、及び属性データ609をガンマ補正処理部203に出力する。この出力動作について、図10のフローチャートと図12を参照して説明する。
図10は、画像補正処理部202で行われる画像補正処理のフローチャートを示す。なお、以下で説明する処理は、CPU102の指示のもとで画像補正処理部202により実行されるものとする。より具体的には、これらの処理は、例えば、CPU102がROM104に格納されたプログラムをRAM103に読み出して実行することにより実現される。図12は、本実施形態における画像補正処理部202で行われる画像処理について詳細に説明する図である。図中の白画素は、背景属性の画素であり、黒画素は、文字属性の画素を示している(図中の“T”表記)。画像1200は、画像補正処理部202に入力される属性の画像である。画像1220は、比較例として、注目画素と参照画素のみを参照して画像補正処理を行った場合の処理結果である。画像1230は、本実施形態における画像補正処理を行った場合の処理結果である。ここでは、置換属性が、文字、線であり、被置換属性が、イメージ、グラフィック、背景であることが、CPU102から画像補正処理部202へ通知されている場合を例に説明を行う。
S1001で、画像補正処理部202は、各パラメータの初期値を設定する。即ち、ref_dirとre_disに1を設定する。S1002で、画像属性選択部2025は、フラグ603を参照する。フラグ603によって、注目画素の属性が被置換属性と一致することが示される場合(S1002でYES)に、処理はS1003に移行し、そうでない場合(S1002でNO)に、処理はS1012へ移行する。
注目画素が被置換属性でない場合は、補正処理の対象でないので、S1012へ移行し、入力データを出力する。一方、注目画素が画素1201である場合、注目画素は、背景属性なので、S1002で被置換属性と一致するため、S1003へ移行する。また、同様に、注目画素が画素1205である場合、注目画素は背景属性なのでS1003へ移行する。
S1003乃至S1005では、全ての参照画素の属性が置換属性と一致するか否かを判定する。S1003で、画像属性選択部2025は、フラグ604を参照する。フラグ604によって、参照画素の属性が置換属性と一致することが示される場合(S1003でYES)に、処理はS1006に移行し、そうでない場合(S1003でNO)に、処理はS1004へ移行する。
S1004で、画像属性選択部2025は、全ての参照方向を参照したか否かを判定する。本実施形態では、ref_dirの最大値は2なので、ref_dirが2であるかを判定する。ref_dirが2の場合(S1004でYES)に、処理はS1012へ移行し、そうでない場合(S1004)でNOに、処理S1005へ移行する。S1005で、画像補正処理部202は、参照画素の方向を変えるために、ref_dirに1を加えてS1003へ移行する。
例えば、注目画素が画素1201である場合、ref_dirが1なので、参照画素は画素1203となる。画素1203は、背景属性なので、S1003において、置換属性と一致しないため、S1004へ移行する。S1004でref_dirは1なので、次の参照画素を参照するために、S1005へ移行する。S1005で、画像補正処理部202は、ref_dirに1を加えて、S1003へ移行する。ref_dirが2なので、参照画素は画素1202となる。画素1202は、文字属性なので、S1003において、置換属性と一致するので、S1006へ移行する。
また、同様に、注目画素が画素1205である場合、ref_dirが1なので、参照画素は画素1207となる。画素1207は、背景属性なので、S1003において、置換属性と一致しないため、S1004へ移行する。S1004において、ref_dirは1なので、次の参照画素を参照するために、S1005へ移行する。S1005において、画像補正処理部202は、ref_dirに1を加えて、S1003へ移行する。ref_dirが2なので、参照画素は画素1206となる。画素1206は、文字属性なので、S1003において、置換属性と一致するので、S1006へ移行する。
S1006乃至S1008では、全ての反対画素の属性が参照画素の属性と一致するか否かを判定する。S1006で、画像属性選択部2025は、フラグ605を参照する。フラグ605によって、反対画素の属性が参照画素と一致することが示される場合(S1006でYES)に、処理はS1004に移行し、そうでない場合(S1006でNO)に、処理はS1007へ移行する。
S1007で、画像補正処理部202は、全ての反対画素を参照したか否かを判定する。本実施形態では、反対画素は2画素なので、画像補正処理部202はre_disが2であるかを判定し、2である場合は、全ての反対画素に処理が行われたと判断し、S1009へ移行する。re_disが1である場合は、全ての反対画素に処理が行われていないと判断して、S1008へ移行する。S1008で、画像補正処理部202は、参照する反対画素を変更するために、re_disに1を加え、S1006へ移行し、変更した反対画素の属性が参照画素と一致するか否かを判定する。
例えば、注目画素が画素1201であり、参照画素が画素1202である場合、反対画素は画素1203、画素1204である。ここで、re_disは1なので、反対画素は画素1203となる。S1006で、反対画素の画素1203の属性は背景属性であり、参照画素の画素1202の文字属性と異なるので、S1007へ移行する。S1007でre_disは1なので、次の反対画素を参照するために、S1008へ移行する。S1008でre_disに1が足されて、2となる。そして、S1006でre_disは2なので、反対画素の画素1204となる。反対画素の画素1204の属性は背景属性であり、参照画素の画素1202の文字属性と異なるので、S1007へ移行する。S1007で、re_disは2なので、S1009へ移行する。注目画素が画素1201であり、参照画素が画素1202である場合、反対画素は共に参照画素と異なる属性であったので、注目画素の画素1201は補正処理の対象と判断され、S1009乃至S1011において、補正処理が適用される。
続いて、注目画素が画素1205であり、参照画素が画素1206である場合、反対画素は画素1207、画素1208である。ここで、re_disは1なので、反対画素は画素1207となる。S1006で反対画素の画素1207の属性は背景属性であり、参照画素の画素1206の文字属性とは異なるので、S1007へ移行する。S1007でre_disは1なので、次の反対画素を参照するために、S1008へ移行する。S1008でre_disに1が足されて、2となる。そして、S1006でre_disは2なので、反対画素の画素1208となる。反対画素の画素1208の属性は文字属性であり、参照画素の画素1206の文字属性と一致するので、S1004へ移行する。さらに、ref_dirも2なので、S1012へ移行する。
注目画素が画素1205であり、参照画素が画素1206である場合、反対画素の片方が参照画素と同じ属性であったので、注目画素の画素1201は補正処理の対象でないと判断され、S1012において、入力データが出力データとして出力される。そして、処理結果は、画素1214となる。
ここで、比較例として、注目画素と参照画素のみを参照して画像補正処理を行う場合について説明する。注目画素が画素1205であり、ref_dirが1の場合、参照画素は画素1207となり、画素1207の属性は背景属性なので、S1003で参照画素の属性が置換属性であると判断し、S1004へ移行する。そして、S1005で、ref_dirが2となる。ref_dirが2の場合、参照画素は画素1206となり、画素1207の属性は文字属性なので、S1003において、S1006へ移行する。反対画素は参照されないので、注目画素の画素1205は補正処理の対象となり、参照画素の画素値と属性を用いて注目画素を置換し、処理結果は画像1220の画素1211のようになる。また、注目画素が画素1207の場合は参照画素は画素1208となり、処理結果は、画素1210となる。画素1205、画素1207において、左右に1画素ずつ太らせる場合、画素1205に対しては、画素1206が参照画素となり、画素1207に対しては、画素1208が参照画素となり、補正され、画素1210と画素1211のような処理結果となる。
一方で、本実施形態では、反対画素を2画素参照することで、画素1205に対しては参照画素の画素1206と反対画素の画素1208が文字属性である。さらに、画素1207に対しては、参照画素の画素1208と反対画素の画素1206が文字属性なので、補正処理されず、画像1230の画素1213と画素1214のような処理結果となる。左右に1画素ずつ太らせる場合において、比較例の手法は、画素1205と画素1207が潰れてしまっているのに対して、本実施形態では、潰れが発生していないことが分かる。
図10の説明に戻る。S1009で、画像属性置換部2024は、参照画素の画素値で注目画素の画素値を置換することで、参照画素の画素値を注目画素に太らせる。つまり、ここでは、注目画素の文字画素を参照画素に拡大し、文字の線幅を太らせている。S1010で、画像属性置換部2024は、参照画素の属性を用いて注目画素の属性を置換することで、参照画素の属性を注目画素に太らせる。
次に、S1011で、画像属性選択部2025は、画像データ606と属性データ607を注目画素における画像データ608、属性データ609として、ガンマ補正処理部203に出力する。ここで、画像データ606は、画像属性置換部2024で補正された、注目画素における画像データである。また、属性データ609は、画像属性置換部2024で補正された、注目画素における属性データである。一方、S1012で、画像属性選択部2025は、画像データ601と属性データ602を注目画素における画像データ608、属性データ609として、ガンマ補正処理部203に出力する。
S1013で、画像補正処理部202は、全ての画素に処理を行ったか否かを判定する。全ての画素に処理が終了していない場合は、S1001へ移行する。全ての画素に処理が終了した場合は、本処理を終える。
以上説明したように、参照画素の反対方向の画素を2画素参照し、画素1205、画素1207のように、太ると文字の視認性が低下する部分は画像補正しないようにする。これにより、文字の視認性の低下を最小限にとどめながら、画像補正処理を行うことが可能となる。
<第3の実施形態>
以下、本発明の第3の実施形態について説明する。上記第2の実施形態では、2画素太らせる場合について説明した。本実施形態では、参照する画素の範囲を方向によって変えた場合について説明する。上記第2の実施形態では、補正判定において、参照画素と注目画素と参照画素の反対側の2画素を参照することで、補正対象画素を判定するものであった。しかし、文字属性に囲まれた1画素と2画素幅の背景属性は、補正の対象外だが、文字属性に囲まれた3画素や4画素以上の画素幅の背景属性は、補正の対象と判定される。このとき、3画素幅の背景属性は、補正後に1画素幅となり、もともと2画素幅の背景属性と比較して細くなり、入力画像の画素幅(例えば線幅)の関係性が逆転してしまう。そこで、本実施形態では、入力画素の画素幅の関係性を維持しながら、補正処理を行う制御について説明する。本実施形態では、上記第2の実施形態と同様に左右に1画素ずつ太らせた場合について説明を行う。なお、以下では上記第2の実施形態との差分のみについて詳細に説明する。
<画像補正処理>
第3の実施形態における画像補正処理部202による画像補正処理について説明する。まず、図14を参照して、画像補正処理部202で用いる画素の位置関係について説明する。
本実施形態においては、画像補正処理部202には、図14に示すように、画素1401、画素1402、画素1403、及び画素1404の4画素の画像データ及び対応する属性データが色変換処理部201から入力される。画像補正処理の対象となる注目画素は、画素1403に配置される。本実施形態では、左右に1画素ずつ太らせるので、注目画素に対する参照画素の方向(ref_dir)は、左と右の2方向となる。注目画素が画素1403に対して、画素1402の方向をref_dir=1とする。そして、注目画素の画素1403に対して、画素1404の方向をref_dir=2とする。そして、注目画素に対して参照画素の反対方向の画素(反対画素)は、それぞれの参照画素に存在することとなる。
参照画素の画素1404に対する反対画素は、画素1402と画素1401の2画素となる。参照画素の画素1402に対する反対画素は、画素1404の1画素となる。第2の実施形態では、参照画素の画素1402に対する反対画素は2画素配置していたが、本実施形態では、参照画素の画素1402に対する反対画素は1画素のみを配置する。ここで、注目画素からそれぞれの反対画素の距離(re_dis)は、画素1402は1、画素1401は2となる。
次に、画像処理部202を構成する各処理部の詳細動作を説明する。画像属性選択部2025には、フラグ603、604、605、注目画素における画像データ601、606、属性データ602、607が入力される。これらの入力に基づいて、画像属性選択部2025は、注目画素における画像データ608、属性データ609をガンマ補正処理部203に出力する。この出力動作について、図13のフローチャートと図15を参照して説明する。
図13は、画像補正処理部202で行われる画像補正処理のフローチャートを示す。なお、以下で説明する処理は、CPU102の指示のもとで画像補正処理部202により実行されるものとする。より具体的には、これらの処理は、例えば、CPU102がROM104に格納されたプログラムをRAM103に読み出して実行することにより実現される。図15は、本実施形態における画像補正処理部202で行われる画像処理について詳細に示す。図中の白画素は、背景属性の画素であり、黒画素は、線属性の画素を示している。画像1500は、画像補正処理部202に入力される属性の画像である。画像1520は、注目画素と参照画素のみを参照して画像補正処理を行った場合の処理結果である。画像1530は、本実施形態における画像補正処理を行った場合の処理結果である。ここで、置換属性は、文字、線であり、被置換属性は、イメージ、グラフィック、背景であることが、CPU102から画像補正処理部202へ通知されている場合を例に説明を行う。また、以下の説明では、画素1502、画素1503と画素1506、画素1507、及び画素1508に注目して、説明を行う。
S1301で、画像補正処理部202は、各パラメータの初期値を設定する。具体的にはref_dirとre_disに1を設定する。S1302で、画像属性選択部2025は、フラグ603を参照する。フラグ603によって、注目画素の属性が被置換属性と一致することが示される場合(S1302でYES)に、処理はS1303に移行し、そうでない場合(S1302でNO)に、処理はS1313へ移行する。注目画素が被置換属性でない場合は、補正処理の対象でないので、S1313へ移行し、画像属性選択部2025は、入力データを出力する。例えば、注目画素が画素1502、画素1503である場合、注目画素は、背景属性なので、S1302で被置換属性と一致するため、S1303へ移行する。また、同様に、注目画素が画素1506、画素1507、及び画素1508である場合、注目画素は背景属性なので、S1003へ移行する。
S1303乃至S1306では、全ての参照画素の属性が置換属性と一致するか否かを判定する。S1303で、画像属性選択部2025は、フラグ604を参照する。フラグ604が、参照画素の属性が置換属性と一致することを示す場合(S1303でYES)に、処理はS1307に移行し、そうでない場合(S1303でNO)に、処理はS1304へ移行する。
S1304で、画像属性選択部2025は、全ての参照方向を参照したか否かを判定する。本実施形態では、ref_dirの最大値は2なので、ref_dirが2であるかを判定する。ref_dirが2の場合(S1304でYES)に、処理はS1313へ移行し、そうでない場合(S1304)でNOに、処理S1305へ移行する。S1305で、画像補正処理部202は、参照画素の方向を変えるために、ref_dirに1を加えてS1306へ移行する。
S1306で、画像補正処理部202は、参照方向に応じて反対画素の最大距離(DIS_MAX)を決定する。ref_dirが1のときは、反対画素が画素1404なので、DIS_MAXは1となる。一方、ref_dirが2のときは、反対画素が画素1402と画素1401なので、DIS_MAXは2となる。例えば、注目画素が画素1502である場合、ref_dirが1なので、参照画素は画素1501となる。画素1501は、線属性なので、S1303で置換属性と一致するため、S1307へ移行する。注目画素が画素1503である場合、参照画素の画素1504は線属性なので、S1303で置換属性と一致するため、S1307へ移行する。また、注目画素が画素1506である場合、参照画素の画素1505は線属性なので、S1303で置換属性と一致するため、S1307へ移行する。注目画素が画素1507である場合、参照画素の画素1506、画素1507は共に背景属性なので、S1303乃至S1306で置換属性とは異なるため、S1313へ移行され、画素1507には補正処理が適用されない。注目画素が画素1508である場合、参照画素の画素1509は線属性なので、S1303で置換属性と一致するため、S1307へ移行する。
S1307乃至S1309では、全ての反対画素の属性が参照画素の属性と一致するか否かを判定する。S1307で、画像属性選択部2025は、フラグ605を参照する。フラグ605によって反対画素の属性が参照画素と一致することが示される場合(S1307でYES)に、処理はS1308に移行し、そうでない場合(S1307でNO)に、処理はS1304へ移行する。
S1308で、画像補正処理部202は、全ての反対画素を参照したか否かを判定する。本実施形態では、反対画素の数は方向によって異なる。画像補正処理部202はre_disがDIS_MAXと一致するかを判定し、全ての反対画素に処理が行われたかを判断する。re_disがDIS_MAXと一致する場合は、全ての反対画素に処理が行われたと判断し、S1310へ移行する。re_disがDIS_MAXと一致しない場合は、全ての反対画素に処理が行われていないと判断し、S1309へ移行し、次の反対画素の判定を行う。
S1309で、画像補正処理部202は、参照する反対画素を変更するために、re_disに1を加え、S1307へ移行し、変更した反対画素の属性が参照画素と一致するか否かを判定する。例えば、注目画素が画素1502の場合、参照画素が画素1501なので、反対画素は、画素1503となる。画素1503は、背景属性で、参照画素の画素1501の線属性と異なるので、S1310へ移行して、補正処理を行う。本実施形態における画素1502の処理結果は、画像1530の画素1515である。
注目画素が画素1503の場合、参照画素が画素1504で、反対画素は、画素1501と画素1502となる。参照画素の画素1504と反対画素の画素1501は同じ線属性なので、S1313へ移行し、補正処理されない。本実施形態における画素1503の処理結果は、画像1530の画素1516である。
続いて、画素1506は、参照画素が画素1505となり、反対画素が画素1507であり、画素1505は、線属性、反対画素の画素1507は背景属性なので、補正処理される。本実施形態における画素1506の処理結果は、画像1530の画素1517である。同様に、画素1508は、参照画素が画素1509となり、反対画素が画素1507、画素1506であり、画素1505は、線属性、反対画素は共に背景属性なので、補正処理される。本実施形態における画素1508の処理結果は、画像1530の画素1519である。
ここで、上記第2の実施形態における手法で、画像1500を処理した場合について説明する。注目画素が画素1502の場合、画素1501が参照画素、画素1503と画素1504が反対画素となる。しかし、参照画素の画素1501と反対画素の画素1504は同じ線属性であるため、S1006において、反対画素と参照画素の属性が一致すると判断され、補正処理されない。従って、上記第2の実施形態における画素1502の処理結果は、画像1520の画素1510となる。
また、同様に、注目画素が画素1503の場合、画素1504が参照画素、画素1501と画素1502が反対画素となる。しかし、参照画素の画素1504と反対画素の画素1501は同じ線属性であるため、S1006において、反対画素と参照画素の属性が一致すると判断され、補正処理されない。上記第2の実施形態における画素1503の処理結果は、画像1520の画素1511となる。注目画素が画素1506の場合、画素1505が参照画素、画素1507と画素1509が反対画素となる。参照画素の画素1505と反対画素は異なる属性であるため、S1006において、反対画素と参照画素の属性が一致しないと判断され、補正処理される。上記第2の実施形態における画素1506の処理結果は、画像1520の画素1512となる。
注目画素が画素1507の場合、参照画素の画素1506と画素1508はともに、背景属性なので、補正処理されない。第2の実施形態における画素1507の処理結果は、画像1520の画素1513となる。また、注目画素が画素1508の場合、画素1509が参照画素、画素1506と画素1507が反対画素となる。参照画素の画素1509と反対画素は異なる属性であるため、S1006において、反対画素と参照画素の属性が一致しないと判断され、補正処理される。上記第2の実施形態における画素1508の処理結果は、画像1520の画素1514となる。
画像1500に示すように、画素1501を含む縦線と画素1504を含む縦線は、画素1502と画素1503の2画素の距離が存在している。また、画素1506を含む縦線と画素1508を含む縦線は、画素1506、画素1507、画素1508の3画素の距離が存在している。しかし、上記第2の実施形態の処理結果である画像1520に示すように、それぞれの線の間隔が逆転してしまっている。具体的には、画素1501と画素1504の間隔は、2画素太らせると潰れが発生するため画素1510と画素1511の2画素のままだが、画素1505と画素1509の間隔は、2画素太らせた結果、画素1513の1画素となっている。このように、画素1505と画素1508の間隔の方が、画素1501と画素1504の間隔よりも狭くなってしまう。
一方で、本実施形態によれば、それぞれの線の間隔は逆転していない。画素1501と画素1504の間隔は、1画素太らせて画素1515の1画素である。画素1505と画素1509の間隔は、2画素太らせて画素1518の1画素である。従って、画素1505と画素1508の間隔が、画素1501と画素1504の間隔の関係性は逆転していないことが分かる。
図13の説明に戻る。S1310で、画像属性置換部2024は、参照画素の画素値で注目画素の画素値を置換することで、参照画素の画素値を注目画素に太らせる。つまり、ここでは、注目画素の文字画素を参照画素に拡大し、文字の線幅を太らせている。S1311で、画像属性置換部2024は、参照画素の属性で注目画素の属性を置換することで、参照画素の属性を注目画素に太らせる。
S1312で、画像属性選択部2025は、画像データ606と属性データ607を注目画素における画像データ608、属性データ609として、ガンマ補正処理部203に出力する。ここで、画像データ606は、画像属性置換部2024で補正された、注目画素における画像データである。また、属性データ609は、画像属性置換部2024で補正された、注目画素における属性データである。
S1313で、画像属性選択部2025は、画像データ601と属性データ602を注目画素における画像データ608、属性データ609として、ガンマ補正処理部203に出力する。S1314で、画像補正処理部202は、全ての画素に処理を行ったか判定する。全ての画素に処理が終了していない場合は、S1301へ移行する。全ての画素に処理が終了した場合は、本処理を終える。
以上説明したように、本実施形態では、右に太る場合の参照画素の反対方向の画素の幅が2画素から1画素とすることで、画素幅の関係性を逆転させることがない。
本発明は上記実施形態に限らず様々な変形が可能である。例えば、上記第1乃至第3の実施形態における各太らせアルゴリズムをユーザによって選択可能としてもよい。この場合、サンプルとして、例示の文字に各実施形態における処理を施した結果を表示部に表示するようにしてもよい。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。