画像処理装置、画像処理方法、プログラムおよび記憶媒体
【課題】本発明の課題は、電子ファイルの高圧縮性と高画質性とを両立させて、電子ファイルの利便性を高めることである。
【解決手段】上記課題を解決するために、本発明に係る画像処理装置は、入力画像を領域解析し、領域解析の結果に基づいて、文字領域ベクトル化手段による処理と図画領域ベクトル化手段による処理とのいずれを先に行うかを決定する。このとき、文字領域の文字の画素が図画領域の図画に重なっていると判断した場合、前記図画領域ベクトル化手段による処理を先に行うように制御し、重なっていないと判断した場合、前記文字領域ベクトル化手段による処理を先に行うように制御する。
【解決手段】上記課題を解決するために、本発明に係る画像処理装置は、入力画像を領域解析し、領域解析の結果に基づいて、文字領域ベクトル化手段による処理と図画領域ベクトル化手段による処理とのいずれを先に行うかを決定する。このとき、文字領域の文字の画素が図画領域の図画に重なっていると判断した場合、前記図画領域ベクトル化手段による処理を先に行うように制御し、重なっていないと判断した場合、前記文字領域ベクトル化手段による処理を先に行うように制御する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、紙文書を電子化する画像処理装置、画像処理方法、プログラムおよび記憶媒体に関する。
【背景技術】
【0002】
近年、情報の電子化が進み、紙の文書をそのまま保存するのではなく、スキャナにより紙の文書をスキャンして電子化し、電子ファイルとして保存し、その電子ファイルを他の装置に送信するシステムが普及している。
【0003】
このように電子ファイルを他装置に送信するシステムでは、送信コストを削減するため、文書を電子化して得られた電子ファイルには、高圧縮性が要求される。
【0004】
また、電子ファイルには、電子ファイルを部分的に編集できる再利用性と、電子ファイルを拡大しても縮小しても画質が落ちない高画質性とが要求される。
【0005】
ところが、電子ファイルに文字領域や図画領域(写真などの領域)が混在する場合には、以下のような問題がある。すなわち、電子ファイルの文字領域に適した圧縮(MMR圧縮などの可逆圧縮)を行うと、文字領域の画質が良好となるが、電子ファイルの圧縮率が低くなる。また、電子ファイルの図画領域に適した圧縮(JPEG圧縮などの非可逆圧縮)を行うと、電子ファイルの圧縮率が高くなるが、文字が劣化してしまう。
【0006】
そこで、以下のような手法が特許文献1に開示されている。特許文献1に係る手法では、電子ファイルが文字領域や線画領域、図画領域等に分離され、文字領域や線画領域がベクトルデータに変換される。そして、容易にはベクトル化(ベクトルデータへの変換)で再現できない領域等がJPEGで圧縮され、各領域の圧縮結果が合成して出力される。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2007−272601号公報
【特許文献2】国際特許公開WO2006/066325号公報
【特許文献3】特開2006−344069号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、電子ファイルの文字領域のベクトル化が常に行われると、電子ファイルの図画領域内に文字領域があった場合にも、文字領域のベクトル化が行われてしまう。そして、文字領域のベクトル化が行われた部分に関して、文字領域の背景となる図画領域の圧縮率を高めるために穴埋め処理が行われる。このため、図画領域の画質が落ちてしまう場合がある。
【0009】
また、特許文献1に係る手法では、領域の分離処理が行われるときに、各領域を矩形で定義することにより、領域の切り出しが簡単に行えるようになっている。しかし、矩形で切り出して処理を行う場合に、図画領域が文字領域を含んでしまう場合がある。このような場合、図画領域をベクトル化して得られたベクトルデータが劣化する場合がある。これは、文字領域をベクトルデータに変換する処理と、図画領域をベクトルデータに変換する処理とでは変換処理の方法が異なるためである。
【0010】
上記の課題に関して、図19を用いて説明を行う。図19(a)は、入力画像から切り出された矩形の図画領域を示している。図19(b)は、図19(a)の図画領域に含まれる文字領域がベクトルデータに変換された後の状態を示している。図19(b)では、穴埋め処理された図画領域の上にベクトルデータに変換された文字領域が重ねて表示されている。図19(c)は、図19(b)の図画領域から文字領域を含まない図画領域のみを取り出したもので、ベクトルデータに変換された文字領域の部分は、例えば文字領域の近傍画素の平均値等で穴埋め処理されているものとする。このとき図画領域の画質が劣化する場合がある。例えば、文字領域近傍の背景に柄があるような場合、穴埋めされた部分はその周辺との差異が顕著になりやすく、画質が劣化しやすくなる。図19(d)は、図19(a)から取り出した文字領域をベクトルデータに変換したものであり、図19(b)の文字領域に相当するものである。図19(c)に示されているように、図画領域内の文字領域を穴埋め処理すると、図画領域の画質が劣化してしまう場合がある。
【0011】
本発明は、上記のような問題点を鑑みなされたものであり、文字領域および図画領域を含んだ電子ファイルの高圧縮性と高画質性とを両立させることを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決するために、本発明に係る画像処理装置は、入力画像を領域解析する領域解析手段と、文字領域のベクトル化を行う文字領域ベクトル化手段と、図画領域のベクトル化を行う図画領域ベクトル化手段と、前記領域解析手段による領域解析の結果に基づいて、前記文字領域ベクトル化手段による処理と前記図画領域ベクトル化手段による処理とのいずれを先に行うかを決定する決定手段と、を備える画像処理装置であって、前記決定手段は、前記文字領域の文字の画素が前記図画領域の図画に重なっていると判断した場合、前記図画領域ベクトル化手段による処理を先に行うように制御し、重なっていないと判断した場合、前記文字領域ベクトル化手段による処理を先に行うように制御することを特徴とする。
【発明の効果】
【0013】
本発明によれば、電子ファイルの高圧縮性と高画質性とを両立させて、電子ファイルの利便性を高めることができる。
【図面の簡単な説明】
【0014】
【図1】本発明に係る画像処理装置を示すブロック図である。
【図2】図1のMFP100の詳細を示すブロック図である。
【図3】実施形態1に係る処理を実行する構成を説明するためのブロック図である。
【図4】ベクトル化を説明する図である。
【図5】太さをもった線に対するベクトル化を説明する図である。
【図6】図画領域に対する処理を決定するためのフロー図である。
【図7】図画領域ベクトル化処理を説明するブロックフロー図である。
【図8】図画領域穴埋め処理を説明するフロー図である。
【図9】ページ描画情報生成処理で生成されたデータの一例を示す図である。
【図10】XMLフォーマットに従って作られた電子ファイルの一例を示す図である。
【図11】図画領域を含んでいる画像の一例を示す図である。
【図12】画像を示す図である。
【図13】木構造を示す図である。
【図14】領域解析の結果の一例を示す図である。
【図15】領域解析の結果の一例を示す図である。
【図16】処理方法決定部305が実行するフローチャートである。
【図17】実施形態2に係る処理を実行する構成を説明するためのブロック図である。
【図18】処理方法決定部305が実行するフローチャートである。
【図19】課題の一例を示す図である。
【図20】効果の一例を示す図である。
【発明を実施するための形態】
【0015】
<実施形態1>
以下、図面を参照して実施形態1を詳細に説明する。
【0016】
図1は、本発明に係る画像処理装置を示すブロック図である。図1に示されているように、オフィス10とオフィス20とがインターネット104で接続されている。
【0017】
オフィス10内に構築されたLAN107には、MFP(複合機)100、MFP100を制御するマネージメントPC101、ローカルPC102a、文書管理サーバ106a、文書管理サーバ106aのためのデータベース105aが接続されている。
【0018】
オフィス20内に構築されたLAN108には、文書管理サーバ106b、および文書管理サーバ106bのためのデータベース105bが接続されている。
【0019】
LAN107にはプロキシサーバ103aが接続され、LAN107は、プロキシサーバ103aを介してインターネット104に接続される。
【0020】
LAN108にはプロキシサーバ103bが接続され、LAN108はプロキシサーバ103bを介してインターネット104に接続される。
【0021】
MFP100は、紙の文書を読み取り、画像処理を行い、画像処理結果を、LAN109を経由してマネージメントPC101に送信したり、LAN107を経由してローカルPC102a、又は不図示の汎用PCに送信したりする機能を有する。また、MFP100は、ローカルPC102a、又は不図示の汎用PCから送信されるPage Discription Language(PDL)を解釈して、印刷出力する機能も有する。さらに、MFP100は、紙の文書を読み取り、複写用の画像処理を行って印刷出力するコピー機能を有してもよい。
【0022】
マネージメントPC101は、通常のコンピュータである。なお、本実施形態では、マネージメントPC101を介してデータベース105aにおいて、後述する登録処理などの処理が実行されるものとするが、マネージメントPC101で行われる処理が、MFP100で実行されても良い。
【0023】
さらに、図1に示されているように、MFP100は、LAN109によってマネージメントPC101に直接接続されている。
【0024】
図2は、図1のMFP100の詳細を示すブロック図である。
【0025】
図2において、MFP100は、不図示のAuto Document Feeder(ADF)を有する画像読み取り部110を有する。画像読み取り部110は、原稿を光源で照射し、反射画像をレンズで固体撮像素子上に結像する。固体撮像素子は、所定解像度(例えば600dpi)および所定輝度レベル(例えば8ビット)の画像読み取り信号を生成し、画像読み取り信号からラスターデータよりなる画像が生成される。
【0026】
MFP100は、さらに、記憶装置(BOX)111および記録装置112を有し、通常の複写機能を実行する際には、画像をデータ処理装置115によって、複写用に画像処理して記録信号に変換する。MFP100が、複数枚複写する場合には、1頁分の記録信号を一旦BOX111に記憶保持した後、記録装置112に順次出力して、記録紙上に記録画像を形成する。
【0027】
MFP100は、さらに、図1のLAN107との接続のためのネットワークI/F(インターフェース)114を有する。MFP100は、ネットワークI/F114を経由して、ローカルPC102a、又は他の不図示の汎用PCのドライバーを利用して、MFP100が出力するPDLデータを、記録装置112に記録できる。ローカルPC102aのドライバーを経由して出力されるPDLデータは、LAN107からネットワークI/F114を経てデータ処理装置115で、記録可能な記録信号に変換される。その後、MFP100において、記録紙上に記録信号が記録される。
【0028】
BOX111は、画像読み取り部110からのデータやローカルPC102aからドライバーを経由して出力されるPDLデータをレンダリングしたデータを、保存できる。
【0029】
MFP100は、MFP100に設けられたキー操作部(入力装置113)、あるいはマネージメントPC101の入力装置(キーボード、ポインティングデバイス等)を通じて操作される。データ処理装置115 は、これらの操作のための制御を実行する。
【0030】
MFP100は、さらに表示装置116を有し、これらの操作による入力の状態と、処理すべき画像とを、表示装置116によって表示する。
【0031】
マネージメントPC101は、ネットワークI/F117を介して、BOX111を直接制御することができる。LAN109は、MFP100と、マネージメントPC101との間のデータの授受、制御信号授受に用いられる。
【0032】
図2に示されているように、データ処理装置115には、画像読み取り部110、記憶装置111および記録装置112が接続されている。また、データ処理装置115には、表示装置116、ネットワークI/F114、ネットワークI/F117および入力装置113が接続されている。
【0033】
図3は、実施形態1に係る処理を実行するMFP100の有する構成を説明するためのブロック図である。
【0034】
以下で、図3に示されている構成について、詳細に説明する。
【0035】
まず、入力画像処理部302は、画像入力を受け付ける。そして、入力画像処理部302には、画像が入力される。そして、入力画像処理部302は、入力画像に対して、入力画像に応じた周知の画像処理を行う。ここで、周知の画像処理は、例えば、色変換やフィルタ処理などであり、色変換やフィルタ処理以外の他の画像処理でも良い。
【0036】
領域解析部303は、入力画像処理部302から、画像処理後の画像を受け取り、この画像に対して領域解析を実行し、画像中の文字領域、図画領域等を判別し、複数の領域に分割する。ここで、領域解析部303は、例えば、特許文献2に開示されているような公知のカラー画像を領域分割する技術を用いても良い。
【0037】
そして、領域解析部303は、カラー連結成分、文字、線画、写真、表、枠、ページ背景などの属性情報と位置情報をもち、領域同士の関係が木構造で表される領域情報を生成する。ここで、画像内の領域ごとの画像処理結果も領域情報に記録される。
【0038】
処理方法決定部305は、前述した領域の木構造の状態に基づいて、画像処理の処理方法を決定する。処理方法決定部305が実行する処理の詳細に関しては、後述する。
【0039】
文字領域ベクトル化処理部306は、入力画像処理部302から受け取った画像を、輝度情報のYのみを取り出したグレースケール、解像度600dpiに変換する。そして、文字領域ベクトル化処理部306は、文字領域ベクトル化処理用の画像(文字領域ベクトル化処理用画像)を生成し、文字領域ベクトル化処理を実行する。
【0040】
以下で、文字領域ベクトル化処理について詳細を説明する。
【0041】
まず、文字領域の2値化処理を行い、2値画像を生成する。領域解析部303により生成された領域情報から、文字領域内の黒画素の連結成分(黒画素塊)が取り出され、まず、黒画素連結成分の外側の輪郭(外輪郭)がベクトルデータに変換される。
【0042】
具体的には、まず、文字領域の連結成分を直線および/または曲線の組み合わせにより表現するために、輪郭線を複数の区間(画素列)に区切る「角」が検出される。ここで、「角」とは、曲率が極大となる点である。例えば、図4の曲線上の画素Piが、角か否かの判断は以下のように行われる。
【0043】
まず、Piを起点とし、曲線に沿ってPiから両方向に所定画素(例えば、k個の画素)ずつ離れた画素Pi−k、Pi+kを線分Lで結ぶ。次に、画素Pi−k、Pi+k間の距離をd1、線分Lと画素Piとの距離をd2、曲線の画素Pi−k、Pi+k間の弧の長さをAとする。そして、d2が極大となるとき、あるいは比(d1/A)が閾値以下となるときに画素Piが角と判断される。
【0044】
角によって分割された画素列は、直線あるいは曲線で近似される。直線への近似は最小二乗法等により実行され、曲線への近似は3次スプライン関数などが用いられる。ここで、画素列を分割する角の画素は近似直線あるいは近似直線における、始端または終端となる。
【0045】
連結成分の外輪郭をベクトル化した後、更に、ベクトル化された輪郭内に白画素塊の内輪郭が存在するか否かが判断される。そして、内輪郭が存在すると判断されたときはその輪郭がベクトル化され、内部の輪郭に基づくベクトルデータが得られる。更に、内輪郭の内輪郭というように、再帰的に反転画素の内輪郭がベクトル化される。
【0046】
以上のように、連結成分の輪郭の区分線近似を用いて、文字領域のアウトラインがベクトル化される。なお、このとき黒画素塊の位置に対応する入力画像上の画素値に基づいて、文字の色情報(文字色)を取得する。また、線画も同様の手法でベクトルデータへ変換することが可能である。
【0047】
また、図5に示されているように、ある注目区間で外輪郭PRjと、内輪郭PRj+1あるいは別の外輪郭が近接している場合、2個あるいは複数の輪郭線をひとまとめにし、太さを持った線として表現することができる。例えば、輪郭PRj+1の各画素Piから輪郭PRj上で最短距離となる画素Qiまでの距離PiQiを算出し、PQiのばらつきがわずかである場合には、注目区間を画素Pi、Qiの中点Miの点列に沿った直線または曲線で近似し得る。このとき、近似直線、近似曲線の太さを、例えば距離PQiの平均値とすることができる。
【0048】
また、線や線の集合体である表罫線は、太さを持つ線の集合とすることにより、効率よくベクトル化される。
【0049】
このようにして変換されたベクトルデータと連結成分の色情報を合わせた文字ベクトルが領域情報に記録される。
【0050】
また、文字領域について、文字領域ベクトル化処理部306は、文字領域穴埋め処理を実行する。
【0051】
本実施形態では、文字領域穴埋め処理として、文字領域を文字領域の周囲の画素の平均色で塗る公知の方法が用いられる。以下で、文字領域穴埋め処理について説明する。
【0052】
まず、領域情報から文字領域の画素連結成分が取り出され、文字領域穴埋めメモリに画像として展開される。次に、文字領域穴埋めメモリに展開された画像の画素位置と、図画領域ベクトル化処理用画像の位置とが重ね合わされて、図画領域ベクトル化処理用画像における文字領域が特定される。
【0053】
次に、図画領域ベクトル化処理用画像における文字領域の周辺画素の平均色が算出される。
【0054】
最後に、図画領域ベクトル化処理用画像における文字領域が当該算出した平均色で塗りつぶされる。これにより、文字領域が、周辺の背景色で塗りつぶされた、文字がない図画領域ベクトル化処理用画像が生成される。
【0055】
図画領域ベクトル化処理部308が、上記の図画領域ベクトル化処理用画像を生成する。図画領域を処理する際には色の情報が重要となるので、図画領域ベクトル化処理用画像には、カラーで中解像度の画像が適している。
【0056】
図画領域ベクトル化処理部308は、入力画像を、Y:Cr:Cb=4:1:1の形式で解像度300dpiに変換し、図画領域ベクトル化処理用画像を生成し、その図画領域をベクトル化する。
【0057】
図画領域のベクトル化の処理について、図6を参照して以下で説明する。
【0058】
まず、図6のステップS701で、図画領域ベクトル化処理部308は、図画領域の領域情報を基に、該当する領域の図画領域ベクトル化処理用画像がベクトル化処理可能かを判定する。
【0059】
ステップS701で、ベクトル化処理が可能であると判定された場合には、ステップS702へ処理が進む。ステップS701で、ベクトル化処理が可能ではないと判定された場合には、ステップS703へ処理が進む。
【0060】
具体的には、例えば、ステップS701では、図画領域の領域情報の属性が参照され、当該属性が、線画、クリップアート(色数(例えば32色)が限られたイラスト)、表であればベクトル化処理が可能であると判断されても良い。
【0061】
また、例えば、ステップS701では、ベクトル化の計算量と処理速度を考慮して、色量子化結果が過分割と判断された図画領域の面積が一定値以上である場合に、ベクトル化処理が可能ではないと判定されても良い。
【0062】
ステップS702では図画領域ベクトル化処理が行われる。ステップS702で実行される図画領域ベクトル化処理の一例として、特許文献3に開示されている処理を、図7を用いて以下で説明する。
【0063】
図7のステップS7021〜S7024は、図6のステップS702で実行される図画領域ベクトル化処理の詳細な処理を示している。
【0064】
まず、ステップS7021で、複数の色成分のうちの少なくとも1つ以上の色成分の解像度が粗い画像が、入力画像のもつ解像度と等しい解像度の画像に戻される。
【0065】
本実施形態では、一例として、図画領域ベクトル化処理用画像204は、Y:Cb:Cr=4:1:1の画像であり、これが、ステップS7021において、高解像度なRGB画像212に変換される。
【0066】
次に、ステップS7022で、図画領域にある各画素が、色の特徴に基づき、複数の領域に分割される。
【0067】
次に、ステップS7023で、ステップS7022における図画領域の分割結果に基づいて、図画領域の背景部分と背景色が同定される。
【0068】
次に、ステップS7024で、ステップ7023で実行された処理による同定結果に基づき、図画領域のうち背景以外の部分がベクトル化され、図画領域ベクトル207が生成される。
【0069】
図7の中間情報215には、ステップS7022とステップS7023との処理の途中で生成される各種の情報が保持されている。例えば、中間情報215には、ステップS7023の同定処理の結果得られる図画領域の背景領域情報214が含まれる。また、例えば、中間情報215には、ステップS7023の同定処理の結果得られる図画領域の背景色213が含まれる。
【0070】
なお、中間情報215には、背景領域情報214と図画領域の背景色213以外の情報が含まれても良い。
【0071】
背景領域情報214および図画領域の背景色213は、後述する図8に示されている図画領域穴うめ処理S80で使用される。図画領域穴うめ処理では、後述するように、図画領域のうち、図画ベクトル化された領域に相当する個所が穴埋め処理される。
【0072】
一方、図6のステップS703では、画像切り出し処理が実行される。すなわち、ステップS703では、図画領域ベクトル化処理用画像204から、矩形画像が切り出される。
【0073】
ステップS7024で生成された図画領域ベクトル207と、ステップS703で切り出された矩形画像は、領域情報として、記憶装置111に記録される。
【0074】
以下、図画領域がベクトル化された場合の穴埋め処理S80の詳細について、図8、11を主に参照して説明する。
【0075】
図11(a)は、一例として、図画領域を含んでいる画像1100を表している。
【0076】
図11(b)は、ベクトル化の対象として抽出された図画領域を含むオブジェクト外接矩形81を表している。また、背景領域83は、図画領域を色の類似度により複数の領域に領域分割した結果から同定された背景領域である。
【0077】
図11(a),(b)において、図画領域内背景82は、図画領域内の背景を示している。
【0078】
図11(c)は、図画領域における、背景領域83以外のオブジェクト87のみを示す図である。図11(c)において、境界部1(85)は、オブジェクト87と画像1100の下地84との境界である。また、図11(c)において、境界部2(86)は、オブジェクト87と背景領域83との境界である。
【0079】
図8は、図画領域穴埋め処理のフローチャートを示す図である。以下、図8について詳細に説明する。例えば、図8に示されている穴埋め処理を、図11に一例として示されている図画領域を含んでいる画像1100に適用することができる。
【0080】
まず図8の、ステップS8000で、初期化の処理が行われる。ステップS8000の初期化の処理では、まず背景領域情報214から背景マスク画像が生成され、中間情報215に保持される。
【0081】
ここで、背景マスク画像とは、高解像度化された1画素1ビットで生成された2値画像としてのビットマップとして生成され、図画領域における背景領域82とそれ以外の領域とを、画素値がそれぞれ1か0かで判別できる画像である。
【0082】
また、ステップS8000では、画像1100の図画領域の背景色213が中間情報215に確保される。
【0083】
この際、画像1100の図画領域に対応する画像のラスター走査順での処理を行なう準備のための一連の初期化処理が行われる。
【0084】
ステップS8000の初期化の処理が終了すると、ステップS8010へ処理が進む。
【0085】
ステップS8010で、ラスター走査順に、画像1100の図画領域に対応する部分画像の穴埋め処理が開始される。
【0086】
まず、ステップS8010で、図画領域ベクトル化処理用画像204のCbデータがラスター走査される。そして、その時点でのラスター走査順の注目位置における画素が、図11の境界部1(85)でもなくかつ境界部2(86)でもない図画領域内背景82にある画素か否かが判定される。
【0087】
図画領域ベクトル化処理用画像204とラスター走査順の注目位置における1画素は、ステップS8000で生成された背景マスク画像の対応部分の2×2画素分に対応する。
【0088】
そのため、ステップS8010では、例えば、背景マスク画像の対応部分の2×2画素の4画素の全てが図画領域内背景82にある画素か否かが判定されても良い。
【0089】
ステップS8010で、注目位置における画素が、図画領域内背景82にある画素であると判定された場合には、ステップS8050に処理が進む。すなわち、図画領域内背景82の画素値はそのまま保持される。
【0090】
ステップS8010で、注目位置における画素が、図画領域内背景82にある画素ではないと判定された場合には、ステップS8020に処理が進む。
【0091】
ステップS8020では、この注目画素が図11の境界部2(86)の画素であるか否かが判定される。
【0092】
ステップS8020では、以下の処理が実行されても良い。すなわち、ラスター走査順の注目位置の注目画素である背景マスク画像の2×2(=4)画素のうち、いずれかの画素が図画領域内背景82で、かつ、4画素中の残る画素がすべて図画領域内背景82以外の領域の画素であるか否かが判定されても良い。
【0093】
ステップS8020で、注目画素が境界部2(86)の画素であると判定された場合には、ステップS8071に処理が進む。ステップS8020で、注目画素が境界部2(86)の画素でないと判定された場合には、ステップS8030に処理が進む。
【0094】
ステップS8030では、注目画素が図11の境界部1(85)の画素であるか否かが判定される。
【0095】
ステップS8030では、以下の処理が実行されても良い。すなわち、ラスター走査順の注目位置の注目画素である背景マスク画像の2×2(=4)画素のうち、いずれかの画素がオブジェクト87の画素で、かつ、4画素中の残る画素のいずれかが下地84の画素であるか否かが判定されても良い。
【0096】
ステップS8030で、注目画素が境界部1(85)の画素であると判定された場合には、ステップS8080に処理が進む。ステップS8030で、注目画素が境界部1(85)の画素でないと判定された場合には、ステップS8041に処理が進む。
【0097】
次に、ステップS8041で、中間情報から図画領域の背景色213が取得される。ここで、図画領域の背景色213には、RGBデータが保持されていても良い。
【0098】
次に、ステップS8042で、図画領域の背景色213が変換される。ここで、例えば、RGBデータがYCrCbデータに変換される。
【0099】
次に、ステップS8043で、注目画素のCbデータ、Crデータ、及び、Yデータの全てが置き換えられる。
【0100】
次に、ステップS8050で、図画領域のラスター走査順での処理が図画領域の最終画素まで進んだか否かが判定される。
【0101】
ステップS8050で、最終画素まで進んだと判定された場合には、処理が終了する。
【0102】
ステップS8050で、最終画素まで進んでいないと判定された場合には、ステップS8060に処理が進む。
【0103】
ステップS8060で、図画領域ベクトル化処理用画像204のCbデータ上での、その時点でのラスター走査順の注目位置が次の位置に進められて変更され、ステップS8010に処理が進む。
【0104】
また、S8071では、中間情報から図画領域の背景色213が取得される。ここで、図画領域の背景色213には、RGBデータが保持されていても良い。
【0105】
次に、ステップS8072で、図画領域の背景色213が変換される。ここで、例えば、RGBデータがYCrCbデータに変換される。
【0106】
次に、ステップS8073で、注目画素のCbデータ、Crデータのみが置き換えられる。
【0107】
ステップS8073の処理が終了すると、ステップS8050へ処理が進む。
【0108】
また、ステップS8080では、図画領域ベクトル化処理用画像204上での、その時点でのラスター走査順の注目位置における注目画素のYデータ、Cbデータ、Crデータは、置き換えられず、そのままの値として残される。
【0109】
ステップS8080の処理が終了すると、ステップS8050へ処理が進む。
【0110】
以上で、本発明に係る画像処理装置を用いた図画領域の穴埋め処理に関する説明を終了する。
【0111】
図3のページ描画情報生成部310は、例えば、図9に示されているページ描画情報を生成する。
【0112】
図9は、ページ描画情報生成部310で生成されたデータの一例を示している。
【0113】
図9において、ページ描画情報2100は、ページ描画情報生成部310で生成されるデータの全体構成例である。
【0114】
図9において、文字オブジェクト2101は、図3の領域解析部303が文字と判断した領域のベクトル変換結果と画像中の位置情報を保持する。同様に、写真オブジェクト2102、図画オブジェクト2103、背景オブジェクト2104は、それぞれ写真、図画、ページの背景と判断された領域のベクトル変換結果と画像中の位置情報を保持する。
【0115】
図9の書誌情報2105は、入力データの書誌情報を保持する。例えば、書誌情報2105は、ページ数、ページサイズ、入力機器情報、タイムスタンプを保持する。
【0116】
ページ描画情報生成部310は、生成したページ描画情報を、電子ファイルに変換する。
【0117】
ここで、例えば、ページ描画情報生成部310は、生成したページ描画情報を、図1のローカルPC102a、102bで再生、編集が可能な電子ファイルへ変換しても良い。
【0118】
図10は、本実施形態で用いることができるXMLフォーマットに従って作られた電子ファイルの一例である電子ファイル2110を示す図である。
【0119】
図10の記述2111は、図9の背景オブジェクト2104の画像を1ページ全体に描画する、XMLフォーマットによる記述である。
【0120】
図10の記述2112は、図9の写真オブジェクト2102をページ内の指定箇所に描画する、XMLフォーマットによる記述である。
【0121】
図10の記述2113は、図画オブジェクト2103をページ内の指定箇所に描画する、XMLフォーマットによる記述である。
【0122】
図10の記述2114は、文字オブジェクト2101をページ内の指定箇所に描画する、XMLフォーマットによる記述である。
【0123】
図10の電子ファイルを受けとった図1のローカルPC102a、102bでは、記述2111〜2114に記述された情報を順に描画することができる。これにより、図1のローカルPC102a、102bは、背景、写真、図画のベクトル、文字のベクトルを重ねあわせて元の文書と同等の外観を有すページを構成できる。また、記述2111〜2114の記述それぞれをオブジェクトとして編集用途に供することもできる。
【0124】
なお、図10に示されている電子ファイル2110は、あくまで一例であって、他の一般に公開された記述形式が電子ファイルの記述に用いられてもよい。例えば、PDF、XPS、SVGなどのグラフィックページ記述、Office Open XML、Open Document Format などのページ編集データ記述などが、電子ファイルの記述に用いられてもよい。
【0125】
次に、図12、13を参照して、領域同士の関係を示す木構造に関して、以下で説明する。図12は、領域同士の関係を示す木構造の生成処理の対象となる画像を領域分割した結果の例を示す。図13は、領域同士の関係を示す木構造を示す。
【0126】
図12の例では、最上部で、矩形ブロックT1、T2が横方向に並列されている。矩形ブロックT1、T2の下には横方向セパレータS1が存在し、横方向セパレータS1の下に矩形ブロックT3、T4、T5、T6、T7が存在する。
【0127】
図12の矩形ブロックT3、T4、T5は、横方向セパレータS1下側の領域における左半部において上から下に、縦方向に配列され、矩形ブロックT6、T7は、横方向セパレータS1下側の領域における右半部において上下に配列されている。
【0128】
以上の処理結果は図13の領域情報木構造として登録される。
【0129】
図13において、入力画像V0は、最上位階層にグループH1、H2、セパレータS1を有し、グループH1には第2階層の矩形ブロックT1、T2が属する。
【0130】
グループH2には、第2階層のグループV1、V2が属し、グループV1には、第3階層の矩形ブロックT3、T4、T5が属し、グループV2には、第3階層の矩形ブロックT6、T7が属する。
【0131】
次に、図3の処理方法決定部305に関して、図14〜16を用いて説明をする。
【0132】
図14の画像の領域解析の結果1401には、図画領域と文字領域が存在している。木構造1402は、画像の領域解析の結果1401の領域同士の関係を示している。図14に示されている例では、図画領域と文字領域が重なっている。
【0133】
図3の処理方法決定部305は、木構造を解析して、領域同士が重なっているかそうでないかを判定する。図14に示されている例では、図画領域内に文字領域が存在している。この場合に、図画領域の画素と文字領域の画素が混在しているので、処理方法決定部305は、図画領域と文字領域を含む領域の画像に対しては、文字領域の部分に対しても図画領域ベクトル化処理を行うようにする。
【0134】
図15は、文字領域と図画領域の重なり方が図14と異なる場合の画像の領域解析の結果1501を示している。木構造1502は、画像の領域解析の結果1501の領域同士の関係を示している。ここで、木構造1502から、画像の領域解析の結果1501において、文字領域と図画領域が重なっていることはわかる。ただし、図15に示されている例では、画像の領域解析の結果1501は矩形で表しているので、実際の図画領域が存在する部分が矩形でない場合には、実際の図画領域でない部分も図画領域として扱われ、文字領域と重なっていると判定されている。図15に示されている例では、文字領域は、木構造1502からは、図画領域と重なっていると判断されるが、図14の場合と異なり、文字領域の画素と、実際の図画が存在する画素とを独立に扱うことができる。これは、領域情報の中に文字領域に関しては、文字領域を構成する画素の位置情報が入っているので、文字領域の画素と図画領域の画素とを区別して扱うことが可能であるからである。この場合には、文字領域の画像に対しては文字領域ベクトル化処理が行われ、その後、図画領域の画像に対して図画領域ベクトル化処理が行われる。
【0135】
図16は、前述した処理方法決定部305が実行するフローチャートを示している。
【0136】
まず、図16のステップS1602で、領域情報の取得が行われる。ここでは、図14、15に示されているような領域の木構造の情報が取得される。
【0137】
次に、ステップS1603で、ステップS1602で取得された木構造を解析して、領域同士の関係が解析され、ステップS1604で、領域が重なり合っているか否かが判定される。具体的には、文字領域と図画領域に重なりがあるかないかが判定される。
【0138】
ステップS1604で、文字領域と図画領域の重なりがないと判定された場合には、ステップS1612に処理が進む。ステップS1604で、文字領域と図画領域の重なりがあると判定された場合には、ステップS1605に処理が進む。
【0139】
ステップS1605では、文字領域に含まれる文字の画素と、実際の図画が存在する図画領域とについて、画素の重なりがあるか否かが判定される。例えば、図15に示されているように、文字の画素が図画に直接重なっていないと判定された場合には、ステップS1612に処理が進む。一方、図14のように、文字領域に含まれる文字の画素が実際の図画領域に重なっていると判定された場合には、ステップS1606に処理が進む。
【0140】
ステップS1606では、図画領域と文字領域とを含む画像から図画領域ベクトル化処理用画像が生成される。
【0141】
次に、ステップS1607で、ステップS1606で生成された図画領域ベクトル化処理用画像に対して、図画領域ベクトル化処理が行われる。すなわち、図画と文字とが重なっている場合は、文字の穴埋め処理を行われていない状態で、図画領域のベクトル化処理が行われ、図画領域のベクトルデータが生成される。
【0142】
次に、ステップS1608で、文字領域のみの画像から文字領域ベクトル化処理用画像が生成される。
【0143】
次に、ステップS1609で、ステップS1608で生成された文字領域ベクトル化処理用画像に対して文字ベクトル化処理が行われ、文字のベクトルデータが生成される。
【0144】
一方、ステップS1612では、文字領域のみの画像から文字領域ベクトル化処理用画像が生成される。
【0145】
次に、ステップS1613で、ステップS1612で生成された文字領域ベクトル化処理用画像に対して、文字領域ベクトル化処理が行われ、文字のベクトルデータが生成される。このとき、矩形の図画領域において、文字の画素があった部分に対しては穴埋め処理が行われる。
【0146】
次に、ステップS1614で、文字穴埋め処理後の矩形の図画領域の画像から図画領域ベクトル化処理用画像が生成される。
【0147】
次に、ステップS1615で、ステップS1614で生成された図画領域ベクトル化処理用画像に対して、図画領域ベクトル化処理が行われる。そして、ステップS1610に処理が進む。
【0148】
ステップS1610で、ページ描画情報がベクトルデータを用いて生成される。ステップS1610で、用いられるベクトルデータには、ステップS1607で生成された図画領域のベクトルデータとステップS1609で生成された文字領域のベクトルデータが含まれる。また、ステップS1610で、用いられるベクトルデータには、ステップS1613で生成された文字領域のベクトルデータとステップS1615で生成された図画領域のベクトルデータが含まれる。
【0149】
次に、ステップS1611で、ステップS1610で生成されたページ描画情報が変換されて電子ファイルが生成される。
【0150】
すなわち、文字と図画が重なっている場合、先に文字のベクトル化処理を行って文字部分の穴埋め処理を行った後に、図画のベクトル化処理を行うと、文字の穴埋め処理による画質劣化の影響で、図画部分の画質が悪くなる場合がある。そこで、上述したように、本実施形態では、文字と図画が重なっている場合は、先に図画領域のベクトル化処理を行うように構成している。
【0151】
<実施形態2>
以下、実施形態2について図17を用いて説明する。
【0152】
図17は、実施形態2に係る処理を実行するMFP100の有する構成を説明するためのブロック図である。
【0153】
以下で、図17に示されている構成について、詳細に説明する。
【0154】
まず、入力画像処理部1702は、画像入力を受け付ける。そして、入力画像処理部1702には、画像が入力される。そして、入力画像処理部1702は、入力画像に対して、入力画像に応じた周知の画像処理を行う。ここで、周知の画像処理は、例えば、色変換やフィルタ処理などであり、色変換やフィルタ処理以外の他の画像処理でも良い。
【0155】
領域解析部1703は、入力画像処理部1702から、画像処理後の画像を受け取り、この画像に対して領域解析を実行し、画像中の文字領域、図画領域等を判別し、領域を分割する。ここで、領域解析部1703は、例えば、特許文献2に開示されているような公知のカラー画像を領域分割する技術を用いても良い。
【0156】
そして、領域会席部1703は、カラー連結成分、文字、線画、写真、表、枠、ページ背景などの属性情報と位置情報をもち、領域同士の関係が木構造で表される領域情報を生成する。ここで、画像内の領域ごとの画像処理結果も領域情報に記録される。
【0157】
処理方法決定部1705は、前述した領域の木構造の状態に基づいて、画像処理の処理方法を決定する。処理方法決定部1705が実行する処理の詳細に関しては、後述する。
【0158】
文字領域ベクトル化処理部1706は、入力画像処理部1702から受け取った画像を、輝度情報のYのみを取り出したグレースケール、解像度600dpiに変換する。そして、文字領域ベクトル化処理部1706は、文字領域ベクトル化処理用の画像(文字領域ベクトル化処理用画像)を生成し、文字領域ベクトル化処理を実行する。文字領域ベクトル化処理については、例えば、図4、5を用いて既に説明した通りに行われる。
【0159】
また、文字領域について、文字領域ベクトル化処理部1706は、文字領域穴埋め処理を実行する。
【0160】
本実施形態では、文字領域穴埋め処理として、文字領域を文字領域の周囲の画素の平均色で塗る公知の方法が用いられる。
【0161】
OCR処理部1713は、文字領域ベクトル化処理部から文字領域ベクトル化処理用画像を受け取り、この文字領域ベクトル化処理用画像をOCR処理(文字認識処理)する。
【0162】
図画領域ベクトル化処理部1708は、入力画像処理部1702により入力された画像を変換して、図画領域ベクトル化処理に適した図画領域ベクトル化処理用画像を生成する。図画領域を処理する際には色の情報が重要となるので、図画領域ベクトル化処理用画像には、カラー中解像度の画像が適している。
【0163】
図画領域ベクトル化処理部1708は、入力画像を、Y:Cr:Cb=4:1:1の形式で解像度300dpiに変換し、図画領域ベクトル化処理用画像を生成し、その図画領域をベクトル化する。
【0164】
図画領域ベクトル化処理部1708が実行するベクトル化処理は、実施形態1に係る図画領域ベクトル化処理部308により実行されるベクトル化処理と同様であっても良い。
【0165】
ページ描画情報生成部1710は、例えば、図9に示されているページ描画情報を生成する。
【0166】
図17の処理方法決定部1705が実行する処理に関して、図18を用いて、以下で詳細に説明する。
【0167】
図18は、前述した処理方法決定部1705が実行するフローチャートを示している。
【0168】
まず、図18のステップS1802で、領域情報の取得が行われる。ここでは、図14、15に示されているような領域の木構造の情報が取得される。
【0169】
次に、ステップS1803で、ステップS1802で取得された木構造を解析して、領域同士の関係が解析される。例えば、図14、15に示したような解析が行われる。
【0170】
次に、ステップS1804で、領域が重なり合っているか否かが判定される。具体的には、文字領域と図画領域に重なりがあるかないかが判定される。
【0171】
ステップS1804で、文字領域と図画領域の重なりがないと判定された場合には、ステップS1812に処理が進む。ステップS1804で、文字領域と図画領域の重なりがあると判定された場合には、ステップS1805に処理が進む。
【0172】
ステップS1805では、文字領域に含まれる文字の画素と、実際の図画が存在する図画領域とについて、画素の重なりがあるか否かが判定される。例えば、図15に示されているように、文字の画素が図画に直接重なっていないと判定された場合には、ステップS1812に処理が進む。一方、図14のように、文字領域に含まれる文字の画素が実際の図画領域に重なっていると判定された場合には、ステップS1806に処理が進む。
【0173】
ステップS1812では、文字領域のみの画像から文字領域ベクトル化処理用画像が生成される。
【0174】
次に、ステップS1813で、ステップS1812で生成された文字領域ベクトル化処理用画像に対して、文字領域ベクトル化処理が行われ、文字のベクトルデータが生成される。このとき、矩形の図画領域において、文字の画素があった部分に対しては穴埋め処理が行われる。
【0175】
ステップS1814では、文字穴埋め処理後の矩形の図画領域の画像から図画領域ベクトル化処理用画像が生成される。
【0176】
次に、ステップS1815で、ステップS1814で生成された図画領域ベクトル化処理用画像に対して、図画領域ベクトル化処理が行われる。
【0177】
また、ステップS1813〜S1815の処理とは別に、ステップS1819で、ステップS1812で生成された文字領域ベクトル化処理用画像に対して公知のOCR(文字コード化)処理が行われる。そして、ステップS1813で得た文字のベクトルデータと、ステップS1815の処理によって生成された図画のベクトルデータと、ステップS1819の処理によって生成されたOCRデータは、後述するステップS1810で用いられる。
【0178】
一方、ステップS1806では、図画領域と文字領域とを含む画像から図画領域ベクトル化処理用画像が生成される。
【0179】
次に、ステップS1807で、ステップS1806で生成された図画領域ベクトル化処理用画像に対して、図画領域ベクトル化処理が行われる。すなわち、図画と文字とが重なっている場合は、文字の穴埋め処理を行われていない状態で、図画領域のベクトル化処理が行われ、図画領域のベクトルデータが生成される。
【0180】
次に、ステップS1808で、文字領域のみの画像から文字領域ベクトル化処理用画像が生成される。
【0181】
次に、ステップS1817で、ステップS1808で生成された文字領域ベクトル化処理用画像に対してOCR(文字コード化)処理が行われる。
【0182】
次に、ステップS1818で、文字領域をベクトル化するか否かの判定が行われる。
ステップS1818の判定は、例えば、文字領域をベクトル化するか否かが設定されたパラメータが予め記憶されたレジスタを参照することにより実行することができる。
【0183】
ステップS1818で、文字領域をベクトル化すると判定された場合には、ステップS1809で、文字領域のベクトル化処理が行われ、ステップS1810へ処理が進む。
【0184】
ステップS1818で、文字領域をベクトル化しないと判定された場合には、ステップS1810へ処理が進む。
【0185】
ステップS1810では、ベクトルデータに基づいて、ページ描画情報が生成される。ステップS1810で用いられるベクトルデータには、ステップS1813で生成された文字のベクトルデータとステップS1815で生成された図画のベクトルデータとステップS1819で生成されたOCR結果の文字コードデータが含まれる。また、ステップS1810で用いられるベクトルデータには、ステップS1807で生成された図画のベクトルデータとステップS1809で生成された文字のベクトルデータとステップS1817で生成されたOCR結果の文字コードデータが含まれる。
【0186】
次に、ステップS1811で、ステップS1810で生成されたページ描画情報が変換されて電子ファイルが生成される。このときOCR結果の文字コードデータは、メタデータとして電子ファイルに付加される。
【0187】
以上説明したように、領域解析の結果、文字領域と図画領域の関係を考慮することによって、画像処理の処理方法を適応的に切り替えることができる。
【0188】
図20は、実施形態1、2によって得られる効果の一例を示している。図20(a)は、図画領域を切り出したものである。図20(b)は、実施形態1、2が適用された処理結果の一例を示しており、文字が図画に重なっている場合に、図画領域内の文字の穴埋め処理を行わずに、図画領域ベクトル化処理のみが行われ、1つの図画ベクトルデータに変換された画像である。図20(c)は、図画領域内の文字をOCRして認識した文字コードを示しており、この文字コードは、図画領域に対するメタデータとして、実施形態2において生成される電子ファイルに付与される。これによって、高圧縮性と高画質性とを両立させて、利便性が高められた電子ファイルが提供される。
【0189】
<その他の実施形態>
本発明は、さらに、複数の機器(例えばコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用することも、一つの機器からなる装置(複合機、プリンタ、ファクシミリ装置など)に適用することも可能である。
【0190】
また本発明の目的は、上述した実施形態で示したフローチャートの手順を実現するプログラムコードを記憶した記憶媒体から、システムあるいは装置のコンピュータ(またはCPUやMPU)が、そのプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになる。そのため、このプログラムコード及びプログラムコードを記憶/記録したコンピュータ読み取り可能な記憶媒体も本発明の一つを構成することになる。
【0191】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0192】
また、前述した実施形態の機能は、コンピュータが、読み出したプログラムを実行することによって実現される。また、このプログラムの実行とは、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行う場合も含まれる。
【0193】
さらに、前述した実施形態の機能は、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットによっても実現することもできる。この場合、まず、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行う。こうした機能拡張ボードや機能拡張ユニットによる処理によっても前述した実施形態の機能が実現される。
【技術分野】
【0001】
本発明は、紙文書を電子化する画像処理装置、画像処理方法、プログラムおよび記憶媒体に関する。
【背景技術】
【0002】
近年、情報の電子化が進み、紙の文書をそのまま保存するのではなく、スキャナにより紙の文書をスキャンして電子化し、電子ファイルとして保存し、その電子ファイルを他の装置に送信するシステムが普及している。
【0003】
このように電子ファイルを他装置に送信するシステムでは、送信コストを削減するため、文書を電子化して得られた電子ファイルには、高圧縮性が要求される。
【0004】
また、電子ファイルには、電子ファイルを部分的に編集できる再利用性と、電子ファイルを拡大しても縮小しても画質が落ちない高画質性とが要求される。
【0005】
ところが、電子ファイルに文字領域や図画領域(写真などの領域)が混在する場合には、以下のような問題がある。すなわち、電子ファイルの文字領域に適した圧縮(MMR圧縮などの可逆圧縮)を行うと、文字領域の画質が良好となるが、電子ファイルの圧縮率が低くなる。また、電子ファイルの図画領域に適した圧縮(JPEG圧縮などの非可逆圧縮)を行うと、電子ファイルの圧縮率が高くなるが、文字が劣化してしまう。
【0006】
そこで、以下のような手法が特許文献1に開示されている。特許文献1に係る手法では、電子ファイルが文字領域や線画領域、図画領域等に分離され、文字領域や線画領域がベクトルデータに変換される。そして、容易にはベクトル化(ベクトルデータへの変換)で再現できない領域等がJPEGで圧縮され、各領域の圧縮結果が合成して出力される。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2007−272601号公報
【特許文献2】国際特許公開WO2006/066325号公報
【特許文献3】特開2006−344069号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、電子ファイルの文字領域のベクトル化が常に行われると、電子ファイルの図画領域内に文字領域があった場合にも、文字領域のベクトル化が行われてしまう。そして、文字領域のベクトル化が行われた部分に関して、文字領域の背景となる図画領域の圧縮率を高めるために穴埋め処理が行われる。このため、図画領域の画質が落ちてしまう場合がある。
【0009】
また、特許文献1に係る手法では、領域の分離処理が行われるときに、各領域を矩形で定義することにより、領域の切り出しが簡単に行えるようになっている。しかし、矩形で切り出して処理を行う場合に、図画領域が文字領域を含んでしまう場合がある。このような場合、図画領域をベクトル化して得られたベクトルデータが劣化する場合がある。これは、文字領域をベクトルデータに変換する処理と、図画領域をベクトルデータに変換する処理とでは変換処理の方法が異なるためである。
【0010】
上記の課題に関して、図19を用いて説明を行う。図19(a)は、入力画像から切り出された矩形の図画領域を示している。図19(b)は、図19(a)の図画領域に含まれる文字領域がベクトルデータに変換された後の状態を示している。図19(b)では、穴埋め処理された図画領域の上にベクトルデータに変換された文字領域が重ねて表示されている。図19(c)は、図19(b)の図画領域から文字領域を含まない図画領域のみを取り出したもので、ベクトルデータに変換された文字領域の部分は、例えば文字領域の近傍画素の平均値等で穴埋め処理されているものとする。このとき図画領域の画質が劣化する場合がある。例えば、文字領域近傍の背景に柄があるような場合、穴埋めされた部分はその周辺との差異が顕著になりやすく、画質が劣化しやすくなる。図19(d)は、図19(a)から取り出した文字領域をベクトルデータに変換したものであり、図19(b)の文字領域に相当するものである。図19(c)に示されているように、図画領域内の文字領域を穴埋め処理すると、図画領域の画質が劣化してしまう場合がある。
【0011】
本発明は、上記のような問題点を鑑みなされたものであり、文字領域および図画領域を含んだ電子ファイルの高圧縮性と高画質性とを両立させることを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決するために、本発明に係る画像処理装置は、入力画像を領域解析する領域解析手段と、文字領域のベクトル化を行う文字領域ベクトル化手段と、図画領域のベクトル化を行う図画領域ベクトル化手段と、前記領域解析手段による領域解析の結果に基づいて、前記文字領域ベクトル化手段による処理と前記図画領域ベクトル化手段による処理とのいずれを先に行うかを決定する決定手段と、を備える画像処理装置であって、前記決定手段は、前記文字領域の文字の画素が前記図画領域の図画に重なっていると判断した場合、前記図画領域ベクトル化手段による処理を先に行うように制御し、重なっていないと判断した場合、前記文字領域ベクトル化手段による処理を先に行うように制御することを特徴とする。
【発明の効果】
【0013】
本発明によれば、電子ファイルの高圧縮性と高画質性とを両立させて、電子ファイルの利便性を高めることができる。
【図面の簡単な説明】
【0014】
【図1】本発明に係る画像処理装置を示すブロック図である。
【図2】図1のMFP100の詳細を示すブロック図である。
【図3】実施形態1に係る処理を実行する構成を説明するためのブロック図である。
【図4】ベクトル化を説明する図である。
【図5】太さをもった線に対するベクトル化を説明する図である。
【図6】図画領域に対する処理を決定するためのフロー図である。
【図7】図画領域ベクトル化処理を説明するブロックフロー図である。
【図8】図画領域穴埋め処理を説明するフロー図である。
【図9】ページ描画情報生成処理で生成されたデータの一例を示す図である。
【図10】XMLフォーマットに従って作られた電子ファイルの一例を示す図である。
【図11】図画領域を含んでいる画像の一例を示す図である。
【図12】画像を示す図である。
【図13】木構造を示す図である。
【図14】領域解析の結果の一例を示す図である。
【図15】領域解析の結果の一例を示す図である。
【図16】処理方法決定部305が実行するフローチャートである。
【図17】実施形態2に係る処理を実行する構成を説明するためのブロック図である。
【図18】処理方法決定部305が実行するフローチャートである。
【図19】課題の一例を示す図である。
【図20】効果の一例を示す図である。
【発明を実施するための形態】
【0015】
<実施形態1>
以下、図面を参照して実施形態1を詳細に説明する。
【0016】
図1は、本発明に係る画像処理装置を示すブロック図である。図1に示されているように、オフィス10とオフィス20とがインターネット104で接続されている。
【0017】
オフィス10内に構築されたLAN107には、MFP(複合機)100、MFP100を制御するマネージメントPC101、ローカルPC102a、文書管理サーバ106a、文書管理サーバ106aのためのデータベース105aが接続されている。
【0018】
オフィス20内に構築されたLAN108には、文書管理サーバ106b、および文書管理サーバ106bのためのデータベース105bが接続されている。
【0019】
LAN107にはプロキシサーバ103aが接続され、LAN107は、プロキシサーバ103aを介してインターネット104に接続される。
【0020】
LAN108にはプロキシサーバ103bが接続され、LAN108はプロキシサーバ103bを介してインターネット104に接続される。
【0021】
MFP100は、紙の文書を読み取り、画像処理を行い、画像処理結果を、LAN109を経由してマネージメントPC101に送信したり、LAN107を経由してローカルPC102a、又は不図示の汎用PCに送信したりする機能を有する。また、MFP100は、ローカルPC102a、又は不図示の汎用PCから送信されるPage Discription Language(PDL)を解釈して、印刷出力する機能も有する。さらに、MFP100は、紙の文書を読み取り、複写用の画像処理を行って印刷出力するコピー機能を有してもよい。
【0022】
マネージメントPC101は、通常のコンピュータである。なお、本実施形態では、マネージメントPC101を介してデータベース105aにおいて、後述する登録処理などの処理が実行されるものとするが、マネージメントPC101で行われる処理が、MFP100で実行されても良い。
【0023】
さらに、図1に示されているように、MFP100は、LAN109によってマネージメントPC101に直接接続されている。
【0024】
図2は、図1のMFP100の詳細を示すブロック図である。
【0025】
図2において、MFP100は、不図示のAuto Document Feeder(ADF)を有する画像読み取り部110を有する。画像読み取り部110は、原稿を光源で照射し、反射画像をレンズで固体撮像素子上に結像する。固体撮像素子は、所定解像度(例えば600dpi)および所定輝度レベル(例えば8ビット)の画像読み取り信号を生成し、画像読み取り信号からラスターデータよりなる画像が生成される。
【0026】
MFP100は、さらに、記憶装置(BOX)111および記録装置112を有し、通常の複写機能を実行する際には、画像をデータ処理装置115によって、複写用に画像処理して記録信号に変換する。MFP100が、複数枚複写する場合には、1頁分の記録信号を一旦BOX111に記憶保持した後、記録装置112に順次出力して、記録紙上に記録画像を形成する。
【0027】
MFP100は、さらに、図1のLAN107との接続のためのネットワークI/F(インターフェース)114を有する。MFP100は、ネットワークI/F114を経由して、ローカルPC102a、又は他の不図示の汎用PCのドライバーを利用して、MFP100が出力するPDLデータを、記録装置112に記録できる。ローカルPC102aのドライバーを経由して出力されるPDLデータは、LAN107からネットワークI/F114を経てデータ処理装置115で、記録可能な記録信号に変換される。その後、MFP100において、記録紙上に記録信号が記録される。
【0028】
BOX111は、画像読み取り部110からのデータやローカルPC102aからドライバーを経由して出力されるPDLデータをレンダリングしたデータを、保存できる。
【0029】
MFP100は、MFP100に設けられたキー操作部(入力装置113)、あるいはマネージメントPC101の入力装置(キーボード、ポインティングデバイス等)を通じて操作される。データ処理装置115 は、これらの操作のための制御を実行する。
【0030】
MFP100は、さらに表示装置116を有し、これらの操作による入力の状態と、処理すべき画像とを、表示装置116によって表示する。
【0031】
マネージメントPC101は、ネットワークI/F117を介して、BOX111を直接制御することができる。LAN109は、MFP100と、マネージメントPC101との間のデータの授受、制御信号授受に用いられる。
【0032】
図2に示されているように、データ処理装置115には、画像読み取り部110、記憶装置111および記録装置112が接続されている。また、データ処理装置115には、表示装置116、ネットワークI/F114、ネットワークI/F117および入力装置113が接続されている。
【0033】
図3は、実施形態1に係る処理を実行するMFP100の有する構成を説明するためのブロック図である。
【0034】
以下で、図3に示されている構成について、詳細に説明する。
【0035】
まず、入力画像処理部302は、画像入力を受け付ける。そして、入力画像処理部302には、画像が入力される。そして、入力画像処理部302は、入力画像に対して、入力画像に応じた周知の画像処理を行う。ここで、周知の画像処理は、例えば、色変換やフィルタ処理などであり、色変換やフィルタ処理以外の他の画像処理でも良い。
【0036】
領域解析部303は、入力画像処理部302から、画像処理後の画像を受け取り、この画像に対して領域解析を実行し、画像中の文字領域、図画領域等を判別し、複数の領域に分割する。ここで、領域解析部303は、例えば、特許文献2に開示されているような公知のカラー画像を領域分割する技術を用いても良い。
【0037】
そして、領域解析部303は、カラー連結成分、文字、線画、写真、表、枠、ページ背景などの属性情報と位置情報をもち、領域同士の関係が木構造で表される領域情報を生成する。ここで、画像内の領域ごとの画像処理結果も領域情報に記録される。
【0038】
処理方法決定部305は、前述した領域の木構造の状態に基づいて、画像処理の処理方法を決定する。処理方法決定部305が実行する処理の詳細に関しては、後述する。
【0039】
文字領域ベクトル化処理部306は、入力画像処理部302から受け取った画像を、輝度情報のYのみを取り出したグレースケール、解像度600dpiに変換する。そして、文字領域ベクトル化処理部306は、文字領域ベクトル化処理用の画像(文字領域ベクトル化処理用画像)を生成し、文字領域ベクトル化処理を実行する。
【0040】
以下で、文字領域ベクトル化処理について詳細を説明する。
【0041】
まず、文字領域の2値化処理を行い、2値画像を生成する。領域解析部303により生成された領域情報から、文字領域内の黒画素の連結成分(黒画素塊)が取り出され、まず、黒画素連結成分の外側の輪郭(外輪郭)がベクトルデータに変換される。
【0042】
具体的には、まず、文字領域の連結成分を直線および/または曲線の組み合わせにより表現するために、輪郭線を複数の区間(画素列)に区切る「角」が検出される。ここで、「角」とは、曲率が極大となる点である。例えば、図4の曲線上の画素Piが、角か否かの判断は以下のように行われる。
【0043】
まず、Piを起点とし、曲線に沿ってPiから両方向に所定画素(例えば、k個の画素)ずつ離れた画素Pi−k、Pi+kを線分Lで結ぶ。次に、画素Pi−k、Pi+k間の距離をd1、線分Lと画素Piとの距離をd2、曲線の画素Pi−k、Pi+k間の弧の長さをAとする。そして、d2が極大となるとき、あるいは比(d1/A)が閾値以下となるときに画素Piが角と判断される。
【0044】
角によって分割された画素列は、直線あるいは曲線で近似される。直線への近似は最小二乗法等により実行され、曲線への近似は3次スプライン関数などが用いられる。ここで、画素列を分割する角の画素は近似直線あるいは近似直線における、始端または終端となる。
【0045】
連結成分の外輪郭をベクトル化した後、更に、ベクトル化された輪郭内に白画素塊の内輪郭が存在するか否かが判断される。そして、内輪郭が存在すると判断されたときはその輪郭がベクトル化され、内部の輪郭に基づくベクトルデータが得られる。更に、内輪郭の内輪郭というように、再帰的に反転画素の内輪郭がベクトル化される。
【0046】
以上のように、連結成分の輪郭の区分線近似を用いて、文字領域のアウトラインがベクトル化される。なお、このとき黒画素塊の位置に対応する入力画像上の画素値に基づいて、文字の色情報(文字色)を取得する。また、線画も同様の手法でベクトルデータへ変換することが可能である。
【0047】
また、図5に示されているように、ある注目区間で外輪郭PRjと、内輪郭PRj+1あるいは別の外輪郭が近接している場合、2個あるいは複数の輪郭線をひとまとめにし、太さを持った線として表現することができる。例えば、輪郭PRj+1の各画素Piから輪郭PRj上で最短距離となる画素Qiまでの距離PiQiを算出し、PQiのばらつきがわずかである場合には、注目区間を画素Pi、Qiの中点Miの点列に沿った直線または曲線で近似し得る。このとき、近似直線、近似曲線の太さを、例えば距離PQiの平均値とすることができる。
【0048】
また、線や線の集合体である表罫線は、太さを持つ線の集合とすることにより、効率よくベクトル化される。
【0049】
このようにして変換されたベクトルデータと連結成分の色情報を合わせた文字ベクトルが領域情報に記録される。
【0050】
また、文字領域について、文字領域ベクトル化処理部306は、文字領域穴埋め処理を実行する。
【0051】
本実施形態では、文字領域穴埋め処理として、文字領域を文字領域の周囲の画素の平均色で塗る公知の方法が用いられる。以下で、文字領域穴埋め処理について説明する。
【0052】
まず、領域情報から文字領域の画素連結成分が取り出され、文字領域穴埋めメモリに画像として展開される。次に、文字領域穴埋めメモリに展開された画像の画素位置と、図画領域ベクトル化処理用画像の位置とが重ね合わされて、図画領域ベクトル化処理用画像における文字領域が特定される。
【0053】
次に、図画領域ベクトル化処理用画像における文字領域の周辺画素の平均色が算出される。
【0054】
最後に、図画領域ベクトル化処理用画像における文字領域が当該算出した平均色で塗りつぶされる。これにより、文字領域が、周辺の背景色で塗りつぶされた、文字がない図画領域ベクトル化処理用画像が生成される。
【0055】
図画領域ベクトル化処理部308が、上記の図画領域ベクトル化処理用画像を生成する。図画領域を処理する際には色の情報が重要となるので、図画領域ベクトル化処理用画像には、カラーで中解像度の画像が適している。
【0056】
図画領域ベクトル化処理部308は、入力画像を、Y:Cr:Cb=4:1:1の形式で解像度300dpiに変換し、図画領域ベクトル化処理用画像を生成し、その図画領域をベクトル化する。
【0057】
図画領域のベクトル化の処理について、図6を参照して以下で説明する。
【0058】
まず、図6のステップS701で、図画領域ベクトル化処理部308は、図画領域の領域情報を基に、該当する領域の図画領域ベクトル化処理用画像がベクトル化処理可能かを判定する。
【0059】
ステップS701で、ベクトル化処理が可能であると判定された場合には、ステップS702へ処理が進む。ステップS701で、ベクトル化処理が可能ではないと判定された場合には、ステップS703へ処理が進む。
【0060】
具体的には、例えば、ステップS701では、図画領域の領域情報の属性が参照され、当該属性が、線画、クリップアート(色数(例えば32色)が限られたイラスト)、表であればベクトル化処理が可能であると判断されても良い。
【0061】
また、例えば、ステップS701では、ベクトル化の計算量と処理速度を考慮して、色量子化結果が過分割と判断された図画領域の面積が一定値以上である場合に、ベクトル化処理が可能ではないと判定されても良い。
【0062】
ステップS702では図画領域ベクトル化処理が行われる。ステップS702で実行される図画領域ベクトル化処理の一例として、特許文献3に開示されている処理を、図7を用いて以下で説明する。
【0063】
図7のステップS7021〜S7024は、図6のステップS702で実行される図画領域ベクトル化処理の詳細な処理を示している。
【0064】
まず、ステップS7021で、複数の色成分のうちの少なくとも1つ以上の色成分の解像度が粗い画像が、入力画像のもつ解像度と等しい解像度の画像に戻される。
【0065】
本実施形態では、一例として、図画領域ベクトル化処理用画像204は、Y:Cb:Cr=4:1:1の画像であり、これが、ステップS7021において、高解像度なRGB画像212に変換される。
【0066】
次に、ステップS7022で、図画領域にある各画素が、色の特徴に基づき、複数の領域に分割される。
【0067】
次に、ステップS7023で、ステップS7022における図画領域の分割結果に基づいて、図画領域の背景部分と背景色が同定される。
【0068】
次に、ステップS7024で、ステップ7023で実行された処理による同定結果に基づき、図画領域のうち背景以外の部分がベクトル化され、図画領域ベクトル207が生成される。
【0069】
図7の中間情報215には、ステップS7022とステップS7023との処理の途中で生成される各種の情報が保持されている。例えば、中間情報215には、ステップS7023の同定処理の結果得られる図画領域の背景領域情報214が含まれる。また、例えば、中間情報215には、ステップS7023の同定処理の結果得られる図画領域の背景色213が含まれる。
【0070】
なお、中間情報215には、背景領域情報214と図画領域の背景色213以外の情報が含まれても良い。
【0071】
背景領域情報214および図画領域の背景色213は、後述する図8に示されている図画領域穴うめ処理S80で使用される。図画領域穴うめ処理では、後述するように、図画領域のうち、図画ベクトル化された領域に相当する個所が穴埋め処理される。
【0072】
一方、図6のステップS703では、画像切り出し処理が実行される。すなわち、ステップS703では、図画領域ベクトル化処理用画像204から、矩形画像が切り出される。
【0073】
ステップS7024で生成された図画領域ベクトル207と、ステップS703で切り出された矩形画像は、領域情報として、記憶装置111に記録される。
【0074】
以下、図画領域がベクトル化された場合の穴埋め処理S80の詳細について、図8、11を主に参照して説明する。
【0075】
図11(a)は、一例として、図画領域を含んでいる画像1100を表している。
【0076】
図11(b)は、ベクトル化の対象として抽出された図画領域を含むオブジェクト外接矩形81を表している。また、背景領域83は、図画領域を色の類似度により複数の領域に領域分割した結果から同定された背景領域である。
【0077】
図11(a),(b)において、図画領域内背景82は、図画領域内の背景を示している。
【0078】
図11(c)は、図画領域における、背景領域83以外のオブジェクト87のみを示す図である。図11(c)において、境界部1(85)は、オブジェクト87と画像1100の下地84との境界である。また、図11(c)において、境界部2(86)は、オブジェクト87と背景領域83との境界である。
【0079】
図8は、図画領域穴埋め処理のフローチャートを示す図である。以下、図8について詳細に説明する。例えば、図8に示されている穴埋め処理を、図11に一例として示されている図画領域を含んでいる画像1100に適用することができる。
【0080】
まず図8の、ステップS8000で、初期化の処理が行われる。ステップS8000の初期化の処理では、まず背景領域情報214から背景マスク画像が生成され、中間情報215に保持される。
【0081】
ここで、背景マスク画像とは、高解像度化された1画素1ビットで生成された2値画像としてのビットマップとして生成され、図画領域における背景領域82とそれ以外の領域とを、画素値がそれぞれ1か0かで判別できる画像である。
【0082】
また、ステップS8000では、画像1100の図画領域の背景色213が中間情報215に確保される。
【0083】
この際、画像1100の図画領域に対応する画像のラスター走査順での処理を行なう準備のための一連の初期化処理が行われる。
【0084】
ステップS8000の初期化の処理が終了すると、ステップS8010へ処理が進む。
【0085】
ステップS8010で、ラスター走査順に、画像1100の図画領域に対応する部分画像の穴埋め処理が開始される。
【0086】
まず、ステップS8010で、図画領域ベクトル化処理用画像204のCbデータがラスター走査される。そして、その時点でのラスター走査順の注目位置における画素が、図11の境界部1(85)でもなくかつ境界部2(86)でもない図画領域内背景82にある画素か否かが判定される。
【0087】
図画領域ベクトル化処理用画像204とラスター走査順の注目位置における1画素は、ステップS8000で生成された背景マスク画像の対応部分の2×2画素分に対応する。
【0088】
そのため、ステップS8010では、例えば、背景マスク画像の対応部分の2×2画素の4画素の全てが図画領域内背景82にある画素か否かが判定されても良い。
【0089】
ステップS8010で、注目位置における画素が、図画領域内背景82にある画素であると判定された場合には、ステップS8050に処理が進む。すなわち、図画領域内背景82の画素値はそのまま保持される。
【0090】
ステップS8010で、注目位置における画素が、図画領域内背景82にある画素ではないと判定された場合には、ステップS8020に処理が進む。
【0091】
ステップS8020では、この注目画素が図11の境界部2(86)の画素であるか否かが判定される。
【0092】
ステップS8020では、以下の処理が実行されても良い。すなわち、ラスター走査順の注目位置の注目画素である背景マスク画像の2×2(=4)画素のうち、いずれかの画素が図画領域内背景82で、かつ、4画素中の残る画素がすべて図画領域内背景82以外の領域の画素であるか否かが判定されても良い。
【0093】
ステップS8020で、注目画素が境界部2(86)の画素であると判定された場合には、ステップS8071に処理が進む。ステップS8020で、注目画素が境界部2(86)の画素でないと判定された場合には、ステップS8030に処理が進む。
【0094】
ステップS8030では、注目画素が図11の境界部1(85)の画素であるか否かが判定される。
【0095】
ステップS8030では、以下の処理が実行されても良い。すなわち、ラスター走査順の注目位置の注目画素である背景マスク画像の2×2(=4)画素のうち、いずれかの画素がオブジェクト87の画素で、かつ、4画素中の残る画素のいずれかが下地84の画素であるか否かが判定されても良い。
【0096】
ステップS8030で、注目画素が境界部1(85)の画素であると判定された場合には、ステップS8080に処理が進む。ステップS8030で、注目画素が境界部1(85)の画素でないと判定された場合には、ステップS8041に処理が進む。
【0097】
次に、ステップS8041で、中間情報から図画領域の背景色213が取得される。ここで、図画領域の背景色213には、RGBデータが保持されていても良い。
【0098】
次に、ステップS8042で、図画領域の背景色213が変換される。ここで、例えば、RGBデータがYCrCbデータに変換される。
【0099】
次に、ステップS8043で、注目画素のCbデータ、Crデータ、及び、Yデータの全てが置き換えられる。
【0100】
次に、ステップS8050で、図画領域のラスター走査順での処理が図画領域の最終画素まで進んだか否かが判定される。
【0101】
ステップS8050で、最終画素まで進んだと判定された場合には、処理が終了する。
【0102】
ステップS8050で、最終画素まで進んでいないと判定された場合には、ステップS8060に処理が進む。
【0103】
ステップS8060で、図画領域ベクトル化処理用画像204のCbデータ上での、その時点でのラスター走査順の注目位置が次の位置に進められて変更され、ステップS8010に処理が進む。
【0104】
また、S8071では、中間情報から図画領域の背景色213が取得される。ここで、図画領域の背景色213には、RGBデータが保持されていても良い。
【0105】
次に、ステップS8072で、図画領域の背景色213が変換される。ここで、例えば、RGBデータがYCrCbデータに変換される。
【0106】
次に、ステップS8073で、注目画素のCbデータ、Crデータのみが置き換えられる。
【0107】
ステップS8073の処理が終了すると、ステップS8050へ処理が進む。
【0108】
また、ステップS8080では、図画領域ベクトル化処理用画像204上での、その時点でのラスター走査順の注目位置における注目画素のYデータ、Cbデータ、Crデータは、置き換えられず、そのままの値として残される。
【0109】
ステップS8080の処理が終了すると、ステップS8050へ処理が進む。
【0110】
以上で、本発明に係る画像処理装置を用いた図画領域の穴埋め処理に関する説明を終了する。
【0111】
図3のページ描画情報生成部310は、例えば、図9に示されているページ描画情報を生成する。
【0112】
図9は、ページ描画情報生成部310で生成されたデータの一例を示している。
【0113】
図9において、ページ描画情報2100は、ページ描画情報生成部310で生成されるデータの全体構成例である。
【0114】
図9において、文字オブジェクト2101は、図3の領域解析部303が文字と判断した領域のベクトル変換結果と画像中の位置情報を保持する。同様に、写真オブジェクト2102、図画オブジェクト2103、背景オブジェクト2104は、それぞれ写真、図画、ページの背景と判断された領域のベクトル変換結果と画像中の位置情報を保持する。
【0115】
図9の書誌情報2105は、入力データの書誌情報を保持する。例えば、書誌情報2105は、ページ数、ページサイズ、入力機器情報、タイムスタンプを保持する。
【0116】
ページ描画情報生成部310は、生成したページ描画情報を、電子ファイルに変換する。
【0117】
ここで、例えば、ページ描画情報生成部310は、生成したページ描画情報を、図1のローカルPC102a、102bで再生、編集が可能な電子ファイルへ変換しても良い。
【0118】
図10は、本実施形態で用いることができるXMLフォーマットに従って作られた電子ファイルの一例である電子ファイル2110を示す図である。
【0119】
図10の記述2111は、図9の背景オブジェクト2104の画像を1ページ全体に描画する、XMLフォーマットによる記述である。
【0120】
図10の記述2112は、図9の写真オブジェクト2102をページ内の指定箇所に描画する、XMLフォーマットによる記述である。
【0121】
図10の記述2113は、図画オブジェクト2103をページ内の指定箇所に描画する、XMLフォーマットによる記述である。
【0122】
図10の記述2114は、文字オブジェクト2101をページ内の指定箇所に描画する、XMLフォーマットによる記述である。
【0123】
図10の電子ファイルを受けとった図1のローカルPC102a、102bでは、記述2111〜2114に記述された情報を順に描画することができる。これにより、図1のローカルPC102a、102bは、背景、写真、図画のベクトル、文字のベクトルを重ねあわせて元の文書と同等の外観を有すページを構成できる。また、記述2111〜2114の記述それぞれをオブジェクトとして編集用途に供することもできる。
【0124】
なお、図10に示されている電子ファイル2110は、あくまで一例であって、他の一般に公開された記述形式が電子ファイルの記述に用いられてもよい。例えば、PDF、XPS、SVGなどのグラフィックページ記述、Office Open XML、Open Document Format などのページ編集データ記述などが、電子ファイルの記述に用いられてもよい。
【0125】
次に、図12、13を参照して、領域同士の関係を示す木構造に関して、以下で説明する。図12は、領域同士の関係を示す木構造の生成処理の対象となる画像を領域分割した結果の例を示す。図13は、領域同士の関係を示す木構造を示す。
【0126】
図12の例では、最上部で、矩形ブロックT1、T2が横方向に並列されている。矩形ブロックT1、T2の下には横方向セパレータS1が存在し、横方向セパレータS1の下に矩形ブロックT3、T4、T5、T6、T7が存在する。
【0127】
図12の矩形ブロックT3、T4、T5は、横方向セパレータS1下側の領域における左半部において上から下に、縦方向に配列され、矩形ブロックT6、T7は、横方向セパレータS1下側の領域における右半部において上下に配列されている。
【0128】
以上の処理結果は図13の領域情報木構造として登録される。
【0129】
図13において、入力画像V0は、最上位階層にグループH1、H2、セパレータS1を有し、グループH1には第2階層の矩形ブロックT1、T2が属する。
【0130】
グループH2には、第2階層のグループV1、V2が属し、グループV1には、第3階層の矩形ブロックT3、T4、T5が属し、グループV2には、第3階層の矩形ブロックT6、T7が属する。
【0131】
次に、図3の処理方法決定部305に関して、図14〜16を用いて説明をする。
【0132】
図14の画像の領域解析の結果1401には、図画領域と文字領域が存在している。木構造1402は、画像の領域解析の結果1401の領域同士の関係を示している。図14に示されている例では、図画領域と文字領域が重なっている。
【0133】
図3の処理方法決定部305は、木構造を解析して、領域同士が重なっているかそうでないかを判定する。図14に示されている例では、図画領域内に文字領域が存在している。この場合に、図画領域の画素と文字領域の画素が混在しているので、処理方法決定部305は、図画領域と文字領域を含む領域の画像に対しては、文字領域の部分に対しても図画領域ベクトル化処理を行うようにする。
【0134】
図15は、文字領域と図画領域の重なり方が図14と異なる場合の画像の領域解析の結果1501を示している。木構造1502は、画像の領域解析の結果1501の領域同士の関係を示している。ここで、木構造1502から、画像の領域解析の結果1501において、文字領域と図画領域が重なっていることはわかる。ただし、図15に示されている例では、画像の領域解析の結果1501は矩形で表しているので、実際の図画領域が存在する部分が矩形でない場合には、実際の図画領域でない部分も図画領域として扱われ、文字領域と重なっていると判定されている。図15に示されている例では、文字領域は、木構造1502からは、図画領域と重なっていると判断されるが、図14の場合と異なり、文字領域の画素と、実際の図画が存在する画素とを独立に扱うことができる。これは、領域情報の中に文字領域に関しては、文字領域を構成する画素の位置情報が入っているので、文字領域の画素と図画領域の画素とを区別して扱うことが可能であるからである。この場合には、文字領域の画像に対しては文字領域ベクトル化処理が行われ、その後、図画領域の画像に対して図画領域ベクトル化処理が行われる。
【0135】
図16は、前述した処理方法決定部305が実行するフローチャートを示している。
【0136】
まず、図16のステップS1602で、領域情報の取得が行われる。ここでは、図14、15に示されているような領域の木構造の情報が取得される。
【0137】
次に、ステップS1603で、ステップS1602で取得された木構造を解析して、領域同士の関係が解析され、ステップS1604で、領域が重なり合っているか否かが判定される。具体的には、文字領域と図画領域に重なりがあるかないかが判定される。
【0138】
ステップS1604で、文字領域と図画領域の重なりがないと判定された場合には、ステップS1612に処理が進む。ステップS1604で、文字領域と図画領域の重なりがあると判定された場合には、ステップS1605に処理が進む。
【0139】
ステップS1605では、文字領域に含まれる文字の画素と、実際の図画が存在する図画領域とについて、画素の重なりがあるか否かが判定される。例えば、図15に示されているように、文字の画素が図画に直接重なっていないと判定された場合には、ステップS1612に処理が進む。一方、図14のように、文字領域に含まれる文字の画素が実際の図画領域に重なっていると判定された場合には、ステップS1606に処理が進む。
【0140】
ステップS1606では、図画領域と文字領域とを含む画像から図画領域ベクトル化処理用画像が生成される。
【0141】
次に、ステップS1607で、ステップS1606で生成された図画領域ベクトル化処理用画像に対して、図画領域ベクトル化処理が行われる。すなわち、図画と文字とが重なっている場合は、文字の穴埋め処理を行われていない状態で、図画領域のベクトル化処理が行われ、図画領域のベクトルデータが生成される。
【0142】
次に、ステップS1608で、文字領域のみの画像から文字領域ベクトル化処理用画像が生成される。
【0143】
次に、ステップS1609で、ステップS1608で生成された文字領域ベクトル化処理用画像に対して文字ベクトル化処理が行われ、文字のベクトルデータが生成される。
【0144】
一方、ステップS1612では、文字領域のみの画像から文字領域ベクトル化処理用画像が生成される。
【0145】
次に、ステップS1613で、ステップS1612で生成された文字領域ベクトル化処理用画像に対して、文字領域ベクトル化処理が行われ、文字のベクトルデータが生成される。このとき、矩形の図画領域において、文字の画素があった部分に対しては穴埋め処理が行われる。
【0146】
次に、ステップS1614で、文字穴埋め処理後の矩形の図画領域の画像から図画領域ベクトル化処理用画像が生成される。
【0147】
次に、ステップS1615で、ステップS1614で生成された図画領域ベクトル化処理用画像に対して、図画領域ベクトル化処理が行われる。そして、ステップS1610に処理が進む。
【0148】
ステップS1610で、ページ描画情報がベクトルデータを用いて生成される。ステップS1610で、用いられるベクトルデータには、ステップS1607で生成された図画領域のベクトルデータとステップS1609で生成された文字領域のベクトルデータが含まれる。また、ステップS1610で、用いられるベクトルデータには、ステップS1613で生成された文字領域のベクトルデータとステップS1615で生成された図画領域のベクトルデータが含まれる。
【0149】
次に、ステップS1611で、ステップS1610で生成されたページ描画情報が変換されて電子ファイルが生成される。
【0150】
すなわち、文字と図画が重なっている場合、先に文字のベクトル化処理を行って文字部分の穴埋め処理を行った後に、図画のベクトル化処理を行うと、文字の穴埋め処理による画質劣化の影響で、図画部分の画質が悪くなる場合がある。そこで、上述したように、本実施形態では、文字と図画が重なっている場合は、先に図画領域のベクトル化処理を行うように構成している。
【0151】
<実施形態2>
以下、実施形態2について図17を用いて説明する。
【0152】
図17は、実施形態2に係る処理を実行するMFP100の有する構成を説明するためのブロック図である。
【0153】
以下で、図17に示されている構成について、詳細に説明する。
【0154】
まず、入力画像処理部1702は、画像入力を受け付ける。そして、入力画像処理部1702には、画像が入力される。そして、入力画像処理部1702は、入力画像に対して、入力画像に応じた周知の画像処理を行う。ここで、周知の画像処理は、例えば、色変換やフィルタ処理などであり、色変換やフィルタ処理以外の他の画像処理でも良い。
【0155】
領域解析部1703は、入力画像処理部1702から、画像処理後の画像を受け取り、この画像に対して領域解析を実行し、画像中の文字領域、図画領域等を判別し、領域を分割する。ここで、領域解析部1703は、例えば、特許文献2に開示されているような公知のカラー画像を領域分割する技術を用いても良い。
【0156】
そして、領域会席部1703は、カラー連結成分、文字、線画、写真、表、枠、ページ背景などの属性情報と位置情報をもち、領域同士の関係が木構造で表される領域情報を生成する。ここで、画像内の領域ごとの画像処理結果も領域情報に記録される。
【0157】
処理方法決定部1705は、前述した領域の木構造の状態に基づいて、画像処理の処理方法を決定する。処理方法決定部1705が実行する処理の詳細に関しては、後述する。
【0158】
文字領域ベクトル化処理部1706は、入力画像処理部1702から受け取った画像を、輝度情報のYのみを取り出したグレースケール、解像度600dpiに変換する。そして、文字領域ベクトル化処理部1706は、文字領域ベクトル化処理用の画像(文字領域ベクトル化処理用画像)を生成し、文字領域ベクトル化処理を実行する。文字領域ベクトル化処理については、例えば、図4、5を用いて既に説明した通りに行われる。
【0159】
また、文字領域について、文字領域ベクトル化処理部1706は、文字領域穴埋め処理を実行する。
【0160】
本実施形態では、文字領域穴埋め処理として、文字領域を文字領域の周囲の画素の平均色で塗る公知の方法が用いられる。
【0161】
OCR処理部1713は、文字領域ベクトル化処理部から文字領域ベクトル化処理用画像を受け取り、この文字領域ベクトル化処理用画像をOCR処理(文字認識処理)する。
【0162】
図画領域ベクトル化処理部1708は、入力画像処理部1702により入力された画像を変換して、図画領域ベクトル化処理に適した図画領域ベクトル化処理用画像を生成する。図画領域を処理する際には色の情報が重要となるので、図画領域ベクトル化処理用画像には、カラー中解像度の画像が適している。
【0163】
図画領域ベクトル化処理部1708は、入力画像を、Y:Cr:Cb=4:1:1の形式で解像度300dpiに変換し、図画領域ベクトル化処理用画像を生成し、その図画領域をベクトル化する。
【0164】
図画領域ベクトル化処理部1708が実行するベクトル化処理は、実施形態1に係る図画領域ベクトル化処理部308により実行されるベクトル化処理と同様であっても良い。
【0165】
ページ描画情報生成部1710は、例えば、図9に示されているページ描画情報を生成する。
【0166】
図17の処理方法決定部1705が実行する処理に関して、図18を用いて、以下で詳細に説明する。
【0167】
図18は、前述した処理方法決定部1705が実行するフローチャートを示している。
【0168】
まず、図18のステップS1802で、領域情報の取得が行われる。ここでは、図14、15に示されているような領域の木構造の情報が取得される。
【0169】
次に、ステップS1803で、ステップS1802で取得された木構造を解析して、領域同士の関係が解析される。例えば、図14、15に示したような解析が行われる。
【0170】
次に、ステップS1804で、領域が重なり合っているか否かが判定される。具体的には、文字領域と図画領域に重なりがあるかないかが判定される。
【0171】
ステップS1804で、文字領域と図画領域の重なりがないと判定された場合には、ステップS1812に処理が進む。ステップS1804で、文字領域と図画領域の重なりがあると判定された場合には、ステップS1805に処理が進む。
【0172】
ステップS1805では、文字領域に含まれる文字の画素と、実際の図画が存在する図画領域とについて、画素の重なりがあるか否かが判定される。例えば、図15に示されているように、文字の画素が図画に直接重なっていないと判定された場合には、ステップS1812に処理が進む。一方、図14のように、文字領域に含まれる文字の画素が実際の図画領域に重なっていると判定された場合には、ステップS1806に処理が進む。
【0173】
ステップS1812では、文字領域のみの画像から文字領域ベクトル化処理用画像が生成される。
【0174】
次に、ステップS1813で、ステップS1812で生成された文字領域ベクトル化処理用画像に対して、文字領域ベクトル化処理が行われ、文字のベクトルデータが生成される。このとき、矩形の図画領域において、文字の画素があった部分に対しては穴埋め処理が行われる。
【0175】
ステップS1814では、文字穴埋め処理後の矩形の図画領域の画像から図画領域ベクトル化処理用画像が生成される。
【0176】
次に、ステップS1815で、ステップS1814で生成された図画領域ベクトル化処理用画像に対して、図画領域ベクトル化処理が行われる。
【0177】
また、ステップS1813〜S1815の処理とは別に、ステップS1819で、ステップS1812で生成された文字領域ベクトル化処理用画像に対して公知のOCR(文字コード化)処理が行われる。そして、ステップS1813で得た文字のベクトルデータと、ステップS1815の処理によって生成された図画のベクトルデータと、ステップS1819の処理によって生成されたOCRデータは、後述するステップS1810で用いられる。
【0178】
一方、ステップS1806では、図画領域と文字領域とを含む画像から図画領域ベクトル化処理用画像が生成される。
【0179】
次に、ステップS1807で、ステップS1806で生成された図画領域ベクトル化処理用画像に対して、図画領域ベクトル化処理が行われる。すなわち、図画と文字とが重なっている場合は、文字の穴埋め処理を行われていない状態で、図画領域のベクトル化処理が行われ、図画領域のベクトルデータが生成される。
【0180】
次に、ステップS1808で、文字領域のみの画像から文字領域ベクトル化処理用画像が生成される。
【0181】
次に、ステップS1817で、ステップS1808で生成された文字領域ベクトル化処理用画像に対してOCR(文字コード化)処理が行われる。
【0182】
次に、ステップS1818で、文字領域をベクトル化するか否かの判定が行われる。
ステップS1818の判定は、例えば、文字領域をベクトル化するか否かが設定されたパラメータが予め記憶されたレジスタを参照することにより実行することができる。
【0183】
ステップS1818で、文字領域をベクトル化すると判定された場合には、ステップS1809で、文字領域のベクトル化処理が行われ、ステップS1810へ処理が進む。
【0184】
ステップS1818で、文字領域をベクトル化しないと判定された場合には、ステップS1810へ処理が進む。
【0185】
ステップS1810では、ベクトルデータに基づいて、ページ描画情報が生成される。ステップS1810で用いられるベクトルデータには、ステップS1813で生成された文字のベクトルデータとステップS1815で生成された図画のベクトルデータとステップS1819で生成されたOCR結果の文字コードデータが含まれる。また、ステップS1810で用いられるベクトルデータには、ステップS1807で生成された図画のベクトルデータとステップS1809で生成された文字のベクトルデータとステップS1817で生成されたOCR結果の文字コードデータが含まれる。
【0186】
次に、ステップS1811で、ステップS1810で生成されたページ描画情報が変換されて電子ファイルが生成される。このときOCR結果の文字コードデータは、メタデータとして電子ファイルに付加される。
【0187】
以上説明したように、領域解析の結果、文字領域と図画領域の関係を考慮することによって、画像処理の処理方法を適応的に切り替えることができる。
【0188】
図20は、実施形態1、2によって得られる効果の一例を示している。図20(a)は、図画領域を切り出したものである。図20(b)は、実施形態1、2が適用された処理結果の一例を示しており、文字が図画に重なっている場合に、図画領域内の文字の穴埋め処理を行わずに、図画領域ベクトル化処理のみが行われ、1つの図画ベクトルデータに変換された画像である。図20(c)は、図画領域内の文字をOCRして認識した文字コードを示しており、この文字コードは、図画領域に対するメタデータとして、実施形態2において生成される電子ファイルに付与される。これによって、高圧縮性と高画質性とを両立させて、利便性が高められた電子ファイルが提供される。
【0189】
<その他の実施形態>
本発明は、さらに、複数の機器(例えばコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用することも、一つの機器からなる装置(複合機、プリンタ、ファクシミリ装置など)に適用することも可能である。
【0190】
また本発明の目的は、上述した実施形態で示したフローチャートの手順を実現するプログラムコードを記憶した記憶媒体から、システムあるいは装置のコンピュータ(またはCPUやMPU)が、そのプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになる。そのため、このプログラムコード及びプログラムコードを記憶/記録したコンピュータ読み取り可能な記憶媒体も本発明の一つを構成することになる。
【0191】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0192】
また、前述した実施形態の機能は、コンピュータが、読み出したプログラムを実行することによって実現される。また、このプログラムの実行とは、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行う場合も含まれる。
【0193】
さらに、前述した実施形態の機能は、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットによっても実現することもできる。この場合、まず、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行う。こうした機能拡張ボードや機能拡張ユニットによる処理によっても前述した実施形態の機能が実現される。
【特許請求の範囲】
【請求項1】
入力画像を領域解析する領域解析手段と、
文字領域のベクトル化を行う文字領域ベクトル化手段と、
図画領域のベクトル化を行う図画領域ベクトル化手段と、
前記領域解析手段による領域解析の結果に基づいて、前記文字領域ベクトル化手段による処理と前記図画領域ベクトル化手段による処理とのいずれを先に行うかを決定する決定手段と、を備える画像処理装置であって、
前記決定手段は、前記文字領域の文字の画素が前記図画領域の図画に重なっていると判断した場合、前記図画領域ベクトル化手段による処理を先に行うように制御し、重なっていないと判断した場合、前記文字領域ベクトル化手段による処理を先に行うように制御することを特徴とする画像処理装置。
【請求項2】
前記図画領域ベクトル化手段は、前記図画領域をベクトル化処理可能か否か判断し、ベクトル化処理可能であると判断した場合に、当該図画領域のベクトル化処理を行ってベクトルデータを生成することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記図画領域ベクトル化手段は、前記図画領域がベクトル化処理可能でないと判断した場合は、当該図画領域を画像として切り出すことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
更に、前記文字領域を文字認識処理して文字コードを生成する文字認識手段を備えることを特徴とする請求項1乃至3のいずれかに記載の画像処理装置。
【請求項5】
前記文字領域ベクトル化手段で生成されるベクトルデータと、前記図画領域ベクトル化手段で生成されるベクトルデータとを含む電子ファイルを生成する電子ファイルの変換手段を更に備えることを特徴とする請求項1乃至4のいずれかに記載の画像処理装置。
【請求項6】
前記文字領域ベクトル化手段は、前記文字領域内の文字の輪郭に基づいてベクトルデータを生成するとともに、当該文字の部分の穴埋め処理を行うことを特徴とする請求項1乃至5のいずれかに記載の画像処理装置。
【請求項7】
領域解析手段が、入力画像を領域解析する領域解析ステップと、
決定手段が、前記領域解析ステップでの領域解析の結果に基づいて、文字領域ベクトル化手段による処理と図画領域ベクトル化手段による処理とのいずれを先に行うかを決定する決定ステップと、
前記文字領域ベクトル化手段が、文字領域のベクトル化を行う文字領域ベクトル化ステップと、
前記図画領域ベクトル化手段が、図画領域のベクトル化を行う図画領域ベクトル化ステップと、を備える画像処理装置であって、
前記決定ステップでは、前記文字領域の文字の画素が前記図画領域の図画に重なっていると判断した場合、前記図画領域ベクトル化手段による処理を先に行うように制御し、重なっていないと判断した場合、前記文字領域ベクトル化手段による処理を先に行うように制御することを特徴とする画像処理方法。
【請求項8】
コンピュータを、
入力画像を領域解析する領域解析手段、
文字領域のベクトル化を行う文字領域ベクトル化手段、
図画領域のベクトル化を行う図画領域ベクトル化手段、
前記領域解析手段による領域解析の結果に基づいて、前記文字領域ベクトル化手段による処理と前記図画領域ベクトル化手段による処理とのいずれを先に行うかを決定する決定手段、として機能させるためのプログラムであって、
前記決定手段では、前記文字領域の文字の画素が前記図画領域の図画に重なっていると判断した場合、前記図画領域ベクトル化手段による処理を先に行うように制御し、重なっていないと判断した場合、前記文字領域ベクトル化手段による処理を先に行うように制御することを特徴とするプログラム。
【請求項9】
請求項8に記載のプログラムを記憶した、コンピュータ読み取り可能な記憶媒体。
【請求項1】
入力画像を領域解析する領域解析手段と、
文字領域のベクトル化を行う文字領域ベクトル化手段と、
図画領域のベクトル化を行う図画領域ベクトル化手段と、
前記領域解析手段による領域解析の結果に基づいて、前記文字領域ベクトル化手段による処理と前記図画領域ベクトル化手段による処理とのいずれを先に行うかを決定する決定手段と、を備える画像処理装置であって、
前記決定手段は、前記文字領域の文字の画素が前記図画領域の図画に重なっていると判断した場合、前記図画領域ベクトル化手段による処理を先に行うように制御し、重なっていないと判断した場合、前記文字領域ベクトル化手段による処理を先に行うように制御することを特徴とする画像処理装置。
【請求項2】
前記図画領域ベクトル化手段は、前記図画領域をベクトル化処理可能か否か判断し、ベクトル化処理可能であると判断した場合に、当該図画領域のベクトル化処理を行ってベクトルデータを生成することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記図画領域ベクトル化手段は、前記図画領域がベクトル化処理可能でないと判断した場合は、当該図画領域を画像として切り出すことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
更に、前記文字領域を文字認識処理して文字コードを生成する文字認識手段を備えることを特徴とする請求項1乃至3のいずれかに記載の画像処理装置。
【請求項5】
前記文字領域ベクトル化手段で生成されるベクトルデータと、前記図画領域ベクトル化手段で生成されるベクトルデータとを含む電子ファイルを生成する電子ファイルの変換手段を更に備えることを特徴とする請求項1乃至4のいずれかに記載の画像処理装置。
【請求項6】
前記文字領域ベクトル化手段は、前記文字領域内の文字の輪郭に基づいてベクトルデータを生成するとともに、当該文字の部分の穴埋め処理を行うことを特徴とする請求項1乃至5のいずれかに記載の画像処理装置。
【請求項7】
領域解析手段が、入力画像を領域解析する領域解析ステップと、
決定手段が、前記領域解析ステップでの領域解析の結果に基づいて、文字領域ベクトル化手段による処理と図画領域ベクトル化手段による処理とのいずれを先に行うかを決定する決定ステップと、
前記文字領域ベクトル化手段が、文字領域のベクトル化を行う文字領域ベクトル化ステップと、
前記図画領域ベクトル化手段が、図画領域のベクトル化を行う図画領域ベクトル化ステップと、を備える画像処理装置であって、
前記決定ステップでは、前記文字領域の文字の画素が前記図画領域の図画に重なっていると判断した場合、前記図画領域ベクトル化手段による処理を先に行うように制御し、重なっていないと判断した場合、前記文字領域ベクトル化手段による処理を先に行うように制御することを特徴とする画像処理方法。
【請求項8】
コンピュータを、
入力画像を領域解析する領域解析手段、
文字領域のベクトル化を行う文字領域ベクトル化手段、
図画領域のベクトル化を行う図画領域ベクトル化手段、
前記領域解析手段による領域解析の結果に基づいて、前記文字領域ベクトル化手段による処理と前記図画領域ベクトル化手段による処理とのいずれを先に行うかを決定する決定手段、として機能させるためのプログラムであって、
前記決定手段では、前記文字領域の文字の画素が前記図画領域の図画に重なっていると判断した場合、前記図画領域ベクトル化手段による処理を先に行うように制御し、重なっていないと判断した場合、前記文字領域ベクトル化手段による処理を先に行うように制御することを特徴とするプログラム。
【請求項9】
請求項8に記載のプログラムを記憶した、コンピュータ読み取り可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2010−186236(P2010−186236A)
【公開日】平成22年8月26日(2010.8.26)
【国際特許分類】
【出願番号】特願2009−28583(P2009−28583)
【出願日】平成21年2月10日(2009.2.10)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成22年8月26日(2010.8.26)
【国際特許分類】
【出願日】平成21年2月10日(2009.2.10)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]