JP4491488B2 - 画像処理装置、画像読取装置、画像データ出力処理装置、および画像処理方法 - Google Patents

画像処理装置、画像読取装置、画像データ出力処理装置、および画像処理方法 Download PDF

Info

Publication number
JP4491488B2
JP4491488B2 JP2008052337A JP2008052337A JP4491488B2 JP 4491488 B2 JP4491488 B2 JP 4491488B2 JP 2008052337 A JP2008052337 A JP 2008052337A JP 2008052337 A JP2008052337 A JP 2008052337A JP 4491488 B2 JP4491488 B2 JP 4491488B2
Authority
JP
Japan
Prior art keywords
pixel
image data
ruled line
image
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008052337A
Other languages
English (en)
Other versions
JP2009211296A (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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2008052337A priority Critical patent/JP4491488B2/ja
Priority to US12/395,913 priority patent/US8116568B2/en
Priority to CN2009101264222A priority patent/CN101526998B/zh
Publication of JP2009211296A publication Critical patent/JP2009211296A/ja
Application granted granted Critical
Publication of JP4491488B2 publication Critical patent/JP4491488B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/155Removing patterns interfering with the pattern to be recognised, such as ruled lines or underlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Description

本発明は、原稿画像の画像データに基づいてこの原稿画像に含まれる罫線画像を抽出する技術に関するものである。
近年、デジタルカラー複合機等のデジタル画像処理装置において、入力画像データをデジタル信号として扱うことを利用した様々な付加機能を適用することが提案されている。
上記付加機能の一例としては、例えば、原稿画像から文字画像を抽出し、抽出した文字画像をテキストデータに変換するOCR機能が挙げられる。OCR機能は、一般に、原稿画像を領域分離処理し、文字部分の特徴として抽出されるエッジ検出画素の連続領域、すなわち原稿画像内に存在する主走査および副走査方向のエッジ検出画素ランを検出することで文字と考えられる矩形領域を抽出し、抽出した矩形領域内のエッジ検出画素分布を解析することでその文字の特定を行い、その文字に対して付与されている文字コードに変換することによって行われている。このため、文字矩形部分の抽出処理がOCR処理の精度を左右する大きな要因となっている。
ところで、上記した従来の文字矩形領域の抽出処理は、基本的に、原稿画像における文字画像間には主走査および副走査方向共にエッジ検出画素がないこと、すなわち各文字が繋がっていないことを前提としている。
しかしながら、原稿画像の中に文字部の下線、文字部を囲む線、あるいは主走査および副走査方向に伸びる線等の罫線画像が含まれている場合、これらの罫線画像も文字画像部分と同様にエッジ検出画素のランと判断されてしまうため、文字矩形抽出処理において罫線画像を基準とした複数文字で構成される横長もしくは縦長の画像エリアが1つの文字矩形として抽出されてしまう。このため、上記の画像エリアにおいて文字解析処理の精度が著しく低下し、それに伴ってOCR機能の精度が著しく低下してしまう。
そこで、OCR機能においては、文字矩形抽出処理の前処理として原稿画像内の罫線除去処理(罫線抽出処理)を行う必要があり、OCR機能の精度を高めるために罫線抽出処理の精度を向上させることが求められている。
また、上記付加機能の他の例として、文書照合処理が挙げられる。例えば、特許文献1には、原稿画像から罫線情報を抽出し、抽出した罫線情報を用いて帳票等の照合処理を行う技術が開示されている。このような、罫線情報を用いて照合処理を行う技術においても、照合処理の精度を高めるためには罫線抽出処理の精度を向上させることが求められている。
なお、罫線抽出処理に関する技術として、例えば特許文献2には、まず、原稿画像を第1の方向にスキャンし、閾値以上の長さの線分を「第1の罫線」として検出し、その後、上記線分上のいずれかの点から第2の方向に伸びている線分のうち閾値以上の長さを有する線分を「第2の罫線」として検出する技術が開示されている。
特開平8−255236号公報(平成8年10月1日公開) 特開2007−193446号公報(平成19年8月2日公開) 特許第3779741号公報(平成8年2月2日公開) 特開2002−094805号公報(平成14年3月29日公開)
しかしながら、上記特許文献2の技術では、「第2の罫線」として抽出される罫線は「第1の罫線」と連結している罫線に限られるので、「第1の罫線」と連結しておらず孤立して存在する罫線が存在する場合にはこの罫線が抽出されないという問題がある。
また、上記特許文献2の技術では、原稿画像を様々な方向にスキャンする必要があるので、検出装置の内部に原稿画像全体の画像データを格納するためのフレームバッファ用のメモリを備える必要があり、検出装置の回路規模が増大してしまうという問題がある。
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、罫線抽出処理を精度よく行うことのできる画像処理装置、画像処理方法、画像読取装置、および画像データ出力処理装置を提供することにある。
本発明の画像処理装置は、上記の課題を解決するために、原稿画像の2値画像データに基づいてこの原稿画像に含まれる罫線画像を抽出する画像処理装置であって、上記2値画像データにおける注目画素が黒画素であるか白画素であるかを判定する画素値判定部と、上記2値画像データにおける上記注目画素に対して主走査方向の上流側に連続して存在する黒画素の数を計数する計数部と、上記2値画像データにおける上記注目画素が黒画素であって、かつこの注目画素に対応する上記計数値が予め設定しておいた主走査ラン判定閾値以上である場合に、この注目画素から主走査方向上流側に隣接する所定数の画素の画素値を黒画素に対応する画素値に補正して罫線画像データを生成する罫線画像データ生成部とを備えていることを特徴としている。
上記の構成によれば、画素値判定部が上記2値画像データにおける注目画素が黒画素であるか白画素であるかを判定し、計数部が上記2値画像データにおける注目画素に対して主走査方向の上流側に連続して存在する黒画素の数を計数する。そして、罫線画像データ生成部が、上記2値画像データにおける上記注目画素が黒画素であって、かつこの注目画素に対応する上記計数値が予め設定しておいた主走査ラン判定閾値以上である場合に、この注目画素から主走査方向上流側に隣接する所定数の画素の画素値を黒画素に対応する画素値に補正して罫線画像データを生成する。
これにより、画像読取時の読取誤差等によって主走査方向の罫線にかすれや途切れ等が生じている場合であっても、これらのかすれや途切れを補った罫線画像データを作成することができる。つまり、本来は1本の罫線であるにもかかわらず、読取誤差等によって断片化した罫線画像を1本の罫線画像に補正できる。したがって、罫線抽出処理を精度よく行うことができる。また、上記特許文献2の技術のように原稿画像を様々な方向にスキャンする必要がないので、特許文献2の構成よりも画像処理装置の回路規模を小さくできる。
また、上記罫線画像データにおける注目画素の周囲8画素の中に黒画素が存在する場合にこの注目画素の画素値を黒画素に対応する画素値に補正する膨張処理を行う膨張処理部と、膨張処理後の上記罫線画像データにおける注目画素の周囲8画素の中に白画素が存在する場合にこの注目画素の画素値を白画素に対応する画素値に補正する縮退処理を行う縮退処理部とを備えている構成としてもよい。
上記の構成によれば、罫線画像データに対して上記膨張処理および上記縮退処理を施すことにより、文字や孤立点(罫線画像と連結していない黒画素)を除去するとともに、罫線内部の白画素の穴埋めを行うことができる。
また、上記縮退処理後の罫線画像データに対してエッジ強調処理を行うエッジ補正部を備えている構成としてもよい。
上記の構成によれば、上記縮退処理後の罫線画像データに対してエッジ強調処理を行うことにより、罫線画像をより明瞭に表すことができる。
また、上記罫線画像データ生成部は、上記2値画像データにおける上記注目画素が白画素である場合、上記罫線画像データにおける上記注目画素に対して主走査方向の上流側に隣接する画素である前回注目画素が黒画素であるか白画素であるかを判断し、上記罫線画像データにおける前回注目画素が白画素であると判断した場合には、上記罫線画像データにおける上記注目画素の画素値を白画素に対応する画素値にする一方、上記罫線画像データにおける前回注目画素が黒画素であると判断した場合には、上記2値画像データにおける上記注目画素に対して主走査方向上流側に隣接する所定数の画素の中に黒画素が存在するか否かを判断し、存在する場合には上記罫線画像データにおける上記注目画素の画素値を黒画素に対応する画素値にする構成としてもよい。
上記の構成によれば、上記2値画像データにおける注目画素が白画素である場合であっても、上記罫線画像データにおける前回注目画素が黒画素であって、かつ上記2値画像データにおける注目画素に対して主走査方向上流側に隣接する所定数の画素の中に黒画素が存在する場合には上記罫線画像データにおける注目画素の画素値を黒画素に対応する画素値にする。これにより、画像読取時の読取誤差等によって主走査方向の罫線にかすれや途切れ等が生じている場合であっても、これらのかすれや途切れを補った罫線画像データを作成することができるので、罫線抽出処理を精度よく行うことができる。
また、上記2値画像データにおいて副走査方向に延伸する各画素列について、副走査方向に連続して存在する黒画素の数を計数する第2計数部を備え、上記罫線画像データ生成部は、上記所定数の画素の中に黒画素が存在しないと判断した場合であって、上記注目画素が属する上記画素列についての上記第2計数部による計数値が予め設定された副走査ラン判定閾値以上である場合には上記罫線画像データにおける上記注目画素の画素値を黒画素に対応する画素値にし、上記所定数の画素の中に黒画素が存在しないと判断した場合であって、上記注目画素が属する上記画素列についての上記第2計数部による計数値が上記副走査ラン判定閾値未満である場合には上記罫線画像データにおける上記注目画素の画素値を白画素に対応する画素値にする構成としてもよい。
上記の構成によれば、画像読取時の読取誤差等によって主走査方向の罫線にかすれや途切れ等が生じている場合であっても、これらのかすれや途切れに対応する画素列に副走査方向のラン画像(副走査方向に連続して存在する黒画素の数が副走査ラン判定閾値以上である画像)が存在する場合には、上記のかすれや途切れの領域を黒画素とし、かすれや途切れを補った罫線画像データを作成できる。
また、上記2値画像データを記憶する画像データ記憶部と、上記画像データ記憶部から上記2値画像データを主走査方向に沿ったライン毎に読み出す第1データ読出部および第2データ読出部と、上記各画素列についての上記第2計数部による計数値が予め設定された副走査ラン判定閾値以上であるか否かを示す情報を記憶する副走査ラン履歴記憶部とを備え、上記第2計数部は、上記第1データ読出部によってライン毎に読み出された上記2値画像データに基づいて上記計数を行い、上記計数部は、上記第2データ読出部によってライン毎に読み出された上記2値画像データに基づいて上記計数を行うようになっており、上記第2データ読出部は、上記第1データ読出部よりも上記2値画像データの読出しを予め設定された所定ライン分遅れて開始し、上記罫線画像データ生成部は、上記注目画素が属する上記画素列についての上記第2計数部による計数値が予め設定された副走査ラン判定閾値以上であるか否かの判断を、上記副走査ラン履歴記憶部に記憶されている上記情報に基づいて行う構成としてもよい。
上記の構成によれば、第2データ読出部が第1データ読出部よりも2値画像データの読出しを予め設定された所定ライン分遅れて開始するので、罫線画像データ生成部が注目画素が属する画素列についての第2計数部による計数値が副走査ラン判定閾値以上であるか否かの判断を行うときには、注目画素が属する画素列のうち少なくとも注目画素から副走査方向上流側の所定ライン分についての第2計数部による計数値と副走査ラン判定閾値との比較結果を示す情報が副走査ラン履歴記憶部に既に格納されている。したがって、この情報を用いて上記判断を行うことができるので、第2計数部による計数値と副走査ラン判定閾値との比較を全ラインおよび全画素について行ってから上記判断を行う場合に比べて処理時間を短くできる。また、副走査ラン履歴記憶部に各画素列の計数値が副走査ラン判定閾値以上であるかを示す情報を記憶させておくだけでいいので、全ラインについての各画素の計数値と副走査ラン判定閾値との比較結果を記憶させておく必要がなく、記憶容量の小さい記憶手段を用いて上記の構成を実現できる。
また、上記2値画像データから上記罫線画像データに対応する罫線画像を除去する罫線除去部と、罫線除去後の上記2値画像データに含まれる文字画像について文字認識処理を行う文字解析部とを備えている構成としてもよい。
上記の構成によれば、罫線画像を高精度に抽出し、この罫線画像を2値画像データから除去した結果に基づいて文字認識処理を行うことができる。したがって、文字認識処理の精度を向上させることができる。
また、登録画像に含まれる罫線の特徴量である登録罫線情報を記憶する登録罫線情報記憶部と、原稿画像に対応する上記罫線画像データの特徴量を抽出する原稿特徴量抽出部と、上記登録罫線情報と上記原稿特徴量抽出部の抽出した上記罫線画像データの特徴量とに基づいて上記原稿画像と上記登録画像との照合処理を行う照合処理部とを備えている構成としてもよい。
上記の構成によれば、原稿画像の罫線画像を高精度に抽出し、抽出した罫線画像の特徴量と、登録画像に含まれる罫線の特徴量とに基づいて原稿画像と登録画像との照合処理を行うことができる。したがって、したがって、照合処理の精度を向上させることができる。
本発明の画像読取装置は、原稿画像を読み取って原稿画像の画像データを取得する撮像部と、上記したいずれかの画像処理装置とを備え、上記画像処理装置は、上記撮像部によって取得した原稿画像の画像データに基づいてこの原稿画像の罫線画像データを生成することを特徴としている。
上記の構成によれば、撮像部によって取得した原稿画像から罫線画像を高精度に抽出できる。
本発明の画像データ出力処理装置は、画像データに対して出力処理を施す画像データ出力処理装置であって、上記した照合処理部を備えた画像処理装置と、上記画像処理装置における上記照合処理の結果に基づいて、原稿画像の画像データに対する出力処理を制御する出力処理制御部とを備えていることを特徴としている。なお、上記画像データ出力処理装置は、例えば、画像データに応じた画像を記録材上に形成するものであってもよく、画像データを所定の送信先に送信するものであってもよく、画像データを所定の保存先に保存するものであってもよい。
上記の構成によれば、原稿画像と登録画像との照合処理を高精度に行うことができるので、出力処理の制御を精度よく行える。
本発明の画像処理方法は、上記の課題を解決するために、原稿画像の2値画像データに基づいてこの原稿画像に含まれる罫線画像を抽出する画像処理方法であって、上記2値画像データにおける注目画素が黒画素であるか白画素であるかを判定する画素値判定工程と、上記2値画像データにおける上記注目画素に対して主走査方向の上流側に連続して存在する黒画素の数を計数する計数工程と、上記2値画像データにおける上記注目画素が黒画素であって、かつこの注目画素に対応する上記計数値が予め設定しておいた主走査ラン判定閾値以上である場合に、この注目画素から主走査方向上流側に隣接する所定数の画素の画素値を黒画素に対応する画素値に補正して罫線画像データを生成する罫線画像データ生成工程とを含むことを特徴としている。
上記の方法によれば、
上記の構成によれば、画素値判定工程で上記2値画像データにおける注目画素が黒画素であるか白画素であるかを判定し、計数工程で上記2値画像データにおける注目画素に対して主走査方向の上流側に連続して存在する黒画素の数を計数する。そして、罫線画像データ生成工程では、上記2値画像データにおける上記注目画素が黒画素であって、かつこの注目画素に対応する上記計数値が予め設定しておいた主走査ラン判定閾値以上である場合に、この注目画素から主走査方向上流側に隣接する所定数の画素の画素値を黒画素に対応する画素値に補正して罫線画像データを生成する。
これにより、画像読取時の読取誤差等によって主走査方向の罫線にかすれや途切れ等が生じている場合であっても、これらのかすれや途切れを補った罫線画像データを作成することができる。したがって、罫線抽出処理を精度よく行うことができる。また、上記特許文献2の技術のように原稿画像を様々な方向にスキャンする必要がないので、特許文献2の構成よりも画像処理装置の回路規模を小さくできる。
以上のように、本発明の画像処理装置は、上記2値画像データにおける注目画素が黒画素であるか白画素であるかを判定する画素値判定部と、上記注目画素に対して主走査方向の上流側に連続して存在する黒画素の数を計数する計数部と、上記注目画素が黒画素であって、かつこの注目画素に対応する上記計数値が予め設定しておいた主走査ラン判定閾値以上である場合に、この注目画素から主走査方向上流側に隣接する所定数の画素の画素値を黒画素に対応する画素値に補正して罫線画像データを生成する罫線画像データ生成部とを備えている。
また、本発明の画像処理方法は、上記2値画像データにおける注目画素が黒画素であるか白画素であるかを判定する画素値判定工程と、上記2値画像データにおける上記注目画素に対して主走査方向の上流側に連続して存在する黒画素の数を計数する計数工程と、上記2値画像データにおける上記注目画素が黒画素であって、かつこの注目画素に対応する上記計数値が予め設定しておいた主走査ラン判定閾値以上である場合に、この注目画素から主走査方向上流側に隣接する所定数の画素の画素値を黒画素に対応する画素値に補正して罫線画像データを生成する罫線画像データ生成工程とを含む。
それゆえ、罫線抽出処理を精度よく行うことができる。また、画像処理装置の回路規模を小さくできる。
〔実施形態1〕
本発明の一実施形態について説明する。なお、本実施形態では、OCR機能を備えたデジタル複合機に本発明を適用する場合の例について説明するが、本発明の適用対象はこれに限るものではなく、原稿画像に含まれる罫線画像を抽出する画像処理装置であれば適用できる。
(1.デジタル複合機1の全体構成)
図2は、本実施形態にかかるデジタル複合機(画像形成装置)1の概略構成を示すブロック図である。この図に示すように、デジタル複合機1は、カラー画像入力装置2、カラー画像処理装置3、カラー画像出力装置4、通信装置5、および操作パネル6を備えている。
カラー画像入力装置2は、原稿の画像を読み取って画像データを生成し、生成した画像データをカラー画像処理装置3に出力するものである。カラー画像入力装置2は、例えば、原稿に対して読取用の光を照射する光源と、CCD(Charge Coupled Device )などの光学情報を電気信号に変換する撮像素子を備えたスキャナ部(図示せず)とから構成されている。
カラー画像処理装置3は、カラー画像入力装置2から入力されたアナログ信号に、種々の処理を施すと共にカラー画像出力装置4が扱える形に変換して、カラー画像出力装置4へと出力するものである。
カラー画像処理装置3は、図2に示したように、A/D変換部11、シェーディング補正部12、入力階調補正部13、圧縮処理部14、OCR処理部15、領域分離処理部16、色補正部17、黒生成下色除去部18、空間フィルタ処理部19、出力階調補正部20、階調再現処理部21を備えている。カラー画像入力装置2からカラー画像処理装置3に出力されたアナログ信号は、カラー画像処理装置3内を、A/D変換部11、シェーディング補正部12、入力階調補正部13、圧縮処理部14、領域分離処理部16、色補正部17、黒生成下色除去部18、空間フィルタ処理部19、出力階調補正部20、階調再現処理部21の順で送られ、CMYKのデジタルカラー信号としてカラー画像出力装置4に出力される。また、圧縮処理部14は圧縮処理後の画像データを領域分離処理部16とOCR処理部15とに出力するようになっており、OCR処理部15は圧縮処理部14から入力された画像データに基づいてOCR処理を行うようになっている。
A/D(アナログ/デジタル)変換部11は、RGBのアナログ信号をデジタル信号に変換するものである。
シェーディング補正部12は、A/D変換部11より送られてきたデジタルのRGB信号に対して、カラー画像入力装置2の照明系、結像系、撮像系で生じる各種の歪みを取り除く処理を施すものである。
入力階調補正部13は、シェーディング補正部にて各種の歪みが取り除かれたRGB信号(RGBの反射率信号)に対して、カラーバランスを整えると同時に、濃度信号などカラー画像処理装置3の扱い易い信号に変換する処理を施すものである。また、入力階調補正部13は、下地濃度の除去やコントラストなどの画質調整処理を施す。
圧縮処理部14は、入力階調補正処理が施されたRGB信号に対して圧縮処理を行い、圧縮した画像データをハードディスク等の記憶手段(図示せず)に一旦格納させる。記憶手段に格納された圧縮後の画像データは、カラー画像処理装置3の各部の動作に応じて適宜読み出される。例えば、操作パネル6において、scan to e-mailモードが選択されている場合、メールに添付されて設定された送信先に通信装置5を介して送信される。なお、圧縮処理が施されない場合、圧縮処理部14は入力階調補正部13から入力されたRGB信号をそのまま後段の領域分離処理部16に出力する。また、圧縮処理部14は、入力画像データから文字・線画(罫線を含む)の画像を抽出し、抽出した文字・線画の画像を2値化してOCR処理部15に出力する。なお、圧縮処理部14の詳細については後述する。
OCR処理部15は、罫線抽出部41、罫線除去部42、および文字解析部43を備えている。罫線抽出部41は、圧縮処理部14から入力された文字・線画の画像を2値化した2値化画像データから、罫線の画像を抽出する。罫線除去部42は、上記の2値化画像データから罫線の画像を除去する。文字解析部43は、罫線の画像を除去された2値化画像データに基づいてこの画像データが示す文字を解析し、解析結果を主制御部に送る。なお、文字認識処理を行うか否かは、例えば操作パネル6等を介したユーザからの指示に応じて決定される。OCR処理部15の詳細については後述する。
領域分離処理部16は、RGB信号より、入力画像中の各画素を文字領域、網点領域、写真領域のいずれかに分離するものである。領域分離処理部16は、分離結果に基づき、画素がどの領域に属しているかを示す領域識別信号を、黒生成下色除去部18、空間フィルタ処理部19、および階調再現処理部21へと出力するとともに、圧縮処理部14から出力された入力信号をそのまま後段の色補正部17に出力する。
色補正部17は、色再現の忠実化実現のために、不要吸収成分を含むCMY(C:シアン・M:マゼンタ・Y:イエロー)色材の分光特性に基づいた色濁りを取り除く処理を行うものである。
黒生成下色除去部18は、色補正後のCMYの3色信号から黒(K)信号を生成する黒生成処理、および元のCMY信号から黒生成で得たK信号を差し引いて新たなCMY信号を生成する下色除去処理を行うものである。これにより、CMYの3色信号はCMYKの4色信号に変換される。
なお、黒生成処理の方法は特に限定されるものではなく、従来から公知の種々の方法を用いることができる。例えば、スケルトンブラックによる黒生成を行う方法(一般的方法)を用いてもよい。この方法では、スケルトンカーブの入出力特性をy=f(x)、入力されるデータをC,M,Y,出力されるデータをC',M',Y',K'、UCR(Under Color Removal)率をα(0<α<1)とすると、黒生成下色除去処理は、
K’=f{min(c,m,y)}
C’=C−αK’
M’=M−αK’
Y’=Y−αK’ ・・・(1)
で表される。
空間フィルタ処理部19は、黒生成下色除去部18から入力されるCMYK信号の画像データに対して、領域識別信号を基にデジタルフィルタによる空間フィルタ処理を行い、空間周波数特性を補正する。これにより、出力画像のぼやけや粒状性劣化を軽減することができる。また、階調再現処理部21は、空間フィルタ処理部19と同様、CMYK信号の画像データに対して領域識別信号を基に所定の処理を施す。
例えば、領域分離処理部16にて文字に分離された領域は、特に黒文字あるいは色文字の再現性を高めるために、空間フィルタ処理部19による空間フィルタ処理における鮮鋭強調処理で高周波数の強調量が大きくされる。同時に、階調再現処理部21においては、高域周波数の再現に適した高解像度のスクリーンでの二値化または多値化処理が選択される。
また、領域分離処理部16にて網点領域に分離された領域に関しては、空間フィルタ処理部19において、入力網点成分を除去するためのローパス・フィルタ処理が施される。そして、出力階調補正部20では、濃度信号などの信号をカラー画像出力装置4の特性値である網点面積率に変換する出力階調補正処理を行った後、階調再現処理部21で、最終的に画像を画素に分離してそれぞれの階調を再現できるように処理する階調再現処理(中間調生成)が施される。領域分離処理部16にて写真に分離された領域に関しては、階調再現性を重視したスクリーンでの二値化または多値化処理が行われる。
上述した各処理が施された画像データは、記憶装置(図示せず)に一旦記憶され、所定のタイミングで読み出されてカラー画像出力装置4に入力される。
カラー画像出力装置4は、カラー画像処理装置3から入力された画像データを記録材(例えば紙等)上に出力するものである。カラー画像出力装置4の構成は特に限定されるものではなく、例えば、電子写真方式やインクジェット方式を用いたカラー画像出力装置を用いることができる。
通信装置5は、例えばモデムやネットワークカードより構成される。通信装置5は、ネットワークカード、LANケーブル等を介して、ネットワークに接続された他の装置(例えば、パーソナルコンピュータ、サーバー装置、他のデジタル複合機、ファクシミリ装置等)とデータ通信を行う。
なお、通信装置5は、画像データを送信する場合、相手先との送信手続きを行って送信可能な状態が確保されると、所定の形式で圧縮された画像データ(スキャナで読み込まれた画像データ)をメモリから読み出し、圧縮形式の変更など必要な処理を施して、通信回線を介して相手先に順次送信する。
また、通信装置5は、画像データを受信する場合、通信手続きを行うとともに、相手先から送信されてくる画像データを受信してカラー画像処理装置3に入力する。受信した画像データは、カラー画像処理装置3で伸長処理、回転処理、解像度変換処理、出力階調補正、階調再現処理などの所定の処理が施され、カラー画像出力装置4によって出力される。なお、受信した画像データを記憶装置(図示せず)に保存し、カラー画像処理装置3が必要に応じて読み出して上記所定の処理を施すようにしてもよい。
操作パネル6は、例えば、液晶ディスプレイなどの表示部と設定ボタンなどより構成され(いずれも図示せず)、デジタル複合機1の主制御部(図示せず)の指示に応じた情報を上記表示部に表示するとともに、上記設定ボタンを介してユーザから入力される情報を上記主制御部に伝達する。ユーザは、操作パネル6を介して入力画像データに対する処理要求(例えば処理モード(複写、印刷、送信、編集など)、処理枚数(複写枚数、印刷枚数)、入力画像データの送信先など)を入力することができる。
上記主制御部は、例えばCPU(Central Processing Unit)等からなり、図示しないROM等に格納されたプログラムや各種データ、操作パネル6から入力される情報等に基づいて、デジタル複合機1の各部の動作を制御する。
(2.圧縮処理部14の構成)
図3は、圧縮処理部14の構成を表すブロック図である。この図に示すように、圧縮処理部14は、前景マスク抽出部31、前景色インデックス化処理部32、背景レイヤー生成部33、2値画像生成部34、および圧縮部35を備えている。
前景マスク抽出部31は、入力階調補正部13から入力される入力画像データに含まれる原稿画像から文字・線画(罫線を含む)の画像を前景マスクとして抽出し、入力画像データと抽出した前景マスクとを前景色インデックス化処理部32に出力する。なお、前景マスクの抽出方法は特に限定されるものではなく、従来から公知の方法を用いることができる。例えば、特許文献3に開示されている方法を用いてもよい。この方法では、原稿画像の各画素を走査して輝度値に対して微分処理を施し、+方向の微分値と−方向の微分値とが得られる位置をエッジ部位とし、+方向の微分値が出現してから、−方向の微分値が出現するまでの範囲を文字・線画の画像(前景マスク)として抽出する。
前景色インデックス化処理部32は、前景マスク抽出部31から入力された前景マスクを各画素の色に応じてインデックス化したインデックス画像を生成し、インデックス画像を表す前景レイヤーと、前景レイヤーの各文字色、各文字色領域の座標(例えば各文字色領域のx座標およびy座標が最小または最大である点の座標)および各インデックス画像に属する画素数を対応付けて格納した座標テーブル(前景インデックスカラーテーブル)とを生成する。そして、前景色インデックス化処理部32は、入力画像データ、前景レイヤー、および座標テーブルを背景レイヤー生成部33に出力する。
なお、インデックス画像とは、入力画像データから予め用意された色パレットで指定される色を抽出して得られる画像であり、そのインデックス画像に対応する色パレットで指定された色だけを有する。
上記のインデックス画像の生成方法は特に限定されるものではなく、従来から公知の方法を用いることができる。例えば、特許文献4に記載されている方法を用いてもよい。この方法では、まず、前景マスクの各画素(各前景画素)について、当該前景画素の色が前景インデックスカラーテーブルに既に登録されているか否かを判断する。そして、既に登録されていると判断した場合、前景インデックスカラーテーブル内で最も近い色を有するインデックス値を割り当てる。一方、前景画素の色が前景インデックスカラーテーブルに登録されていないと判断された場合、新規インデックス値を割り当てて前景インデックスカラーテーブルに登録する。この処理を全ての前景画素について繰り返すことにより、前景マスクをインデックス化する。また、ラインについても同様にインデックス化する。
背景レイヤー生成部33は、原稿画像から文字・線画の画像(前景マスク)を取り除いた背景レイヤーの圧縮率を向上するために、入力画像データから前景レイヤーを取り除いて背景レイヤーを生成し、前景レイヤー、背景レイヤー、および座標テーブルを2値画像生成部34に出力する。例えば、前景画素(前景レイヤーを構成する画素)を当該前景画素の周辺の背景画素(背景レイヤーを構成する画素)を用いて穴埋めする。つまり、前景画素の周辺の前景画素でない背景画素を参照し、これらの背景画素の平均値を用いて前景画素を穴埋めする(上記平均値に置き換える)。なお、前景画素の周辺(所定の参照範囲(例えば、5×5画素)内)に前景画素でない背景画素が存在しない場合には、既に穴埋め処理を行った結果を参照して穴埋め処理を行う。例えば、穴埋めを行う画素に対して、左隣または上隣の画素の穴埋め処理結果、または、これら各画素の平均値を用いても穴埋め処理を行う。
2値画像生成部34は、背景レイヤー生成部33から入力される前景レイヤーと、前景色インデックス化処理部32で生成された座標テーブルとを用いて各インデックスの2値画像(1bit×n画素(nは2以上の整数)の前景レイヤー)を生成し、圧縮部35に出力する。
圧縮部35は、前景レイヤーおよび背景レイヤーをそれぞれの特性に応じた方法で圧縮処理し、図示しないハードディスク等の記憶手段に記憶させる。あるいは、圧縮した画像を、通信装置5を介して通信可能な他の装置に送信する。また、圧縮部35は、主制御部からの指示に応じて、記憶手段に記憶させておいた圧縮画像を読み出して復元し、復元した画像データを領域分離処理部16に出力する。また、圧縮部35は、2値画像生成部34から入力された2値画像をハードディスク、DRAM等の記憶手段からなる前景2値画像記憶部M1(後述する図1参照)に記憶させる。
なお、本実施形態では、圧縮部35は、前景画像については、JBIG(Joint Bilevel Image Group)、MMR(Modified Modified Read Code)、あるいはLZW(Lempel Ziv Welch)などの可逆圧縮技術を用いて圧縮する。一方、背景画像については、JPEG(Joint Photographic Experts Group)に代表される非可逆圧縮技術を用いて圧縮する。なお、前景画像の圧縮率を向上させるために、マルチビット前景画像を、2値からなるマスクと1つ以上の文字色からなる文字色情報とに分解して圧縮するようにしてもよい。
(3.OCR処理部15の構成)
OCR処理部15は、図2に示したように、罫線抽出部41、罫線除去部42、および文字解析部43を備えている。
一般に、OCR処理ではその第1段階として、処理対象となる画像データから原稿画像内における各文字に対応する領域である文字矩形領域(グリフ)を抽出する処理が実施される。このグリフ抽出処理は、基本的に、入力画像データの主走査方向および副走査方向のラン情報(連続して存在する出力値が1の画素)の検出し、その検出結果を用いて行われる。
このため、罫線(文字の下線、文字領域を囲む線、表等の罫線など)が複数の文字領域に渡ってラン画像として存在する場合、グリフ抽出処理では上記複数の文字領域の全てを1個のグリフ、すなわち1文字として検出してしまい、その結果、文字情報への変換処理の精度が非常に悪くなる。
そこで、このような問題を回避するため、本実施形態では、罫線抽出部41が2値画像生成部34によって生成された前景レイヤーの2値画像から罫線画像を抽出し、罫線除去部42が上記2値画像から罫線画像を除去し、文字解析部43が罫線画像を除去した2値画像に基づいて文字認識(OCR処理)を行う。なお、文字解析部43は、文字認識処理(OCR処理)の結果を入力画像データの圧縮画像データと関連づけて図示しない記憶手段に格納する。記憶手段に格納された文字認識結果は、主制御部によって適宜読み出され、例えば、検索等に用いられる。
図1は、罫線抽出部41の概略構成を示すブロック図である。この図に示すように、罫線抽出部41は、第1データ変換部51、第2データ変換部52、罫線解析部53、および第3データ変換部54を備えている。また、罫線解析部53は、DMA制御部61、副走査罫線抽出部62、主走査罫線抽出部63、および罫線情報補正部64を備えている。
(3−1.第1データ変換部51、第2データ変換部52、DMA制御部61)
第1データ変換部(DMA→VIDEO変換部)51は、DMAインターフェースとVIDEOインターフェースとを備えている。そして、第1データ変換部51は、DMA制御部61から入力されるVENB(制御信号)に応じたタイミングで、前景2値画像記憶部(外部メモリ)M1に記憶されている前景レイヤーの2値画像(以下、BINIMGという)を上記DMAインターフェースにより読み出し、1ライン分の画像データを生成し、上記VIDEOインターフェースを介して罫線解析部53に備えられている副走査罫線抽出部62に出力する。
図4は、上記BINIMGの概要を示す説明図である。上記BINIMGは、カラー(多色)/多bitの入力画像データに対して背景除去処理および各種のエッジ検出処理を実施して抽出されたエッジ領域とそれ以外の領域とを、画素単位で0と1(もしくは1と0)で表記した単色/1bit(2値)画像である。
第2データ変換部(DMA→VIDEO変換部)52は、第1データ変換部51と同様、DMA制御部61から入力されるVENBに応じたタイミングで、前景2値画像記憶部M1に記憶されているBINIMGをDMAインターフェースにより読み出し、1ライン分の画像データを生成し、VIDEOインターフェースを介して罫線解析部53に備えられている主走査罫線抽出部63に出力する。
なお、本実施形態では、前景2値画像記憶部(外部メモリ)M1に記憶されている前景レイヤーの2値画像(BINIMG)のサイズが、主走査方向の画素数が8192以下、副走査方向の画素数が65536以下の場合について説明するが、主走査方向および副走査方向の画素数(サイズ)はこれに限るものではない。処理対象画像のサイズを変更する場合には、罫線抽出部41内のレジスタやバスのbit(ビット)幅を当該サイズに応じた幅に設定すればよい。
図5は、第1データ変換部51から副走査罫線抽出部62、第2データ変換部52から主走査罫線抽出部63、主走査罫線抽出部63から罫線情報補正部64、罫線情報補正部64から第3データ変換部54へ送信される各信号の信号波形を示す説明図である。
図1に示したように、第1データ変換部51から副走査罫線抽出部62へは、VIDEOインターフェースを介して、以下の(a)〜(d)に示す各信号が出力される。
(a)HSYNC1(水平同期信号;各ライン開始信号(ライン先頭の無効区間を含む))、
(b)LENI1(ライン有効信号;H(=1)のときに画像転送が有効となり、L(=0)のときに画像転送が無効となる。HSYNC1信号の立上りエッジに同期して立上り/立下りを行う)、
(c)PENI1(画素有効信号;H(=1)の期間にBINIMGが第1データ変換部51から副走査罫線抽出部62に出力される。画素有効信号の立上り開始タイミングおよびH期間は、図示しないレジスタに対する設定により決定される)、
(d)BINIMG(上記した2値画像の画像データ)。
なお、第1データ変換部51から出力される上記各信号は、いずれも主制御部から罫線抽出部41に入力される基準クロック信号CLKに同期して動作している(LEN1信号はHSYNC1信号の立上りエッジに同期しているが、HSYNC1信号がCLK信号に同期しているため、LEN1信号もCLK信号同期となる)。
したがって、図5に示したように、LENI1信号がH、かつPENI1信号がHの期間、前景2値画像記憶部M1から読み出されてラインデータ化されたBINIMG信号がライン毎に、各ラインの先頭画素、すなわち各ライン画像の左端から順次副走査罫線抽出部62へ入力される。このため、PENI1信号がHの期間に罫線抽出部41に入力されるCLK信号数はBINIMGの主走査サイズ(主走査方向の画素数)となり、LENI1信号がHの期間に第1データ変換部51から出力されるHSYNC1信号の立上りエッジの数は副走査サイズとなる。
また、図1に示したように、第2データ変換部52から主走査罫線抽出部63へは、VIDEOインターフェースを介して、以下の(a’)〜(d’)に示す各信号が出力される。
(a’)HSYNC2(水平同期信号;各ライン開始信号(ライン先頭の無効区間を含む))、
(b’)LENI2(ライン有効信号;H(=1)のときに画像転送が有効となり、L(=0)のときに画像転送が無効となる。HSYNC2信号の立上りエッジに同期して立上り/立下りを行う)、
(c’)PENI2(画素有効信号;H(=1)の期間にBINIMGが第2データ変換部52から主走査罫線抽出部63に出力される。画素有効信号の立上り開始タイミングおよびH期間は、図示しないレジスタに対する設定により決定される)、
(d’)BINIMG(上記した2値画像の画像データ)。
なお、第2データ変換部52から出力されるこれら各信号は、いずれも主制御部から罫線抽出部41に入力される基準クロック信号CLKに同期して動作している。
したがって、図5に示したように、LENI2信号がH、かつPENI2信号がHの期間、前景2値画像記憶部M1から読み出されてラインデータ化されたBINIMG信号がライン毎に、各ラインの先頭画素、すなわち各ライン画像の左端から順次主走査罫線抽出部63へ入力される。このため、PENI2信号がHの期間に罫線抽出部41に入力されるCLK信号数はBINIMGの主走査サイズ(主走査方向の画素数)となり、LENI2信号がHの期間に第2データ変換部52から出力されるHSYNC1信号の立上りエッジの数は副走査サイズとなる。
図6は、主走査サイズ(画素数)=X[pixel]、副走査サイズ(ライン数)=Y[line]のBINIMGを処理する場合の第1データ変換部51および第2データ変換部52の動作を示す説明図である。
まず、DMA制御部61は、主制御部から罫線抽出処理の開始命令を受けると、VENB=H(=1)を第1データ変換部51および第2データ変換部52に出力する。なお、DMA制御部61と第2データ変換部52との間にはインバータが備えられており、DMA制御部61からVENB=Hを出力されると、第2データ変換部52にはVENB=Lが入力される。
第1データ変換部51は、VENB=Hを入力されると、前景2値画像記憶部M1にDMAデータ取得命令を発行し(送り)、DMAインターフェースを介して前景2値画像記憶部M1からBINIMGを取得する。取得したBINIMGは第1データ変換部51に備えられるラインバッファメモリ(図示せず)に先頭画素から順に格納される。なお、1回のDMA転送で1[line]分のデータを取得できない場合には、前景2値画像記憶部M1にDMAデータ取得命令を再度発行し、不足分のデータを取得するようにすればよい。
このようにして1[line]分のBINIMG(ya=0ラインのラインデータ)が第1データ変換部51の上記ラインバッファメモリに格納されると、図6に示すように、第1データ変換部51から副走査罫線抽出部62にya=0のラインデータが送られる。
その後、図6に示すように、yaの値がユーザ設定レジスタの設定値delay_vに到達するまで(図6に示したVAREA1の期間中)、第1データ変換部51による前景2値画像記憶部M1からのBINIMGの取得、ラインデータの生成、および副走査罫線抽出部62へのデータ出力がライン毎に順次行われる。なお、この期間中、DMA制御部61は、VENB=Hを常時出力する。また、この期間中、第2データ変換部52は、VENB=Lを入力されており、DMA転送要求を発行せずにスタンバイ状態を保持している。なお、上記の設定値delay_vは、ユーザあるいは主制御部によって0≦delay_v<副走査最大サイズ(ライン数)の間で設定される。
表1は、第1データ変換部51によるya=(delay_v−1)のラインデータの処理完了後(VAREA1の期間終了後)の第1データ変換部51、第2データ変換部52、およびDMA制御部61の動作を示している。
Figure 0004491488
この表に示すように、第1データ変換部51は、ya=(delay_v−1)のラインデータの処理が完了すると(VAREA1の期間終了後)、ya=(delay_v)のラインデータの処理を行う。そして、DMA制御部61は、第1データ変換部51によるya=(delay_v)のラインデータの処理が完了すると、制御信号VENBをVENB=L(=0)に切り替える。これにより、第1データ変換部51にはVENB=Lが入力され、第2データ変換部52にはVENB=Hが入力される。
したがって、第1データ変換部51はDMA転送要求を発行せずにスタンバイ状態(停止状態)となり、第2データ変換部52がyb=0のラインについてのラインデータの処理を開始する。つまり、前景2値画像記憶部M1にDMAデータ取得命令を発行し(送り)、DMAインターフェースを介して前景2値画像記憶部M1からyb=0のラインのBINIMGを取得し、取得したBINIMGを第2データ変換部52に備えられるラインバッファメモリ(図示せず)に先頭画素から順に格納する。また、第2データ変換部52は、ラインバッファに格納したラインデータを主走査罫線抽出部63に出力する。
その後、第2データ変換部52によるyb=0のラインデータの処理が完了すると、DMA制御部61はVENB信号をVENB=Hに再び切り替える。これにより、第2データ変換部52はスタンバイ状態となり、第1データ変換部51はya=(delay_v+1)ラインのラインデータの処理を行う。以降、第2データ変換部52によるyb=(Y−delay_v−1)ラインのラインデータの処理が完了するまで(図6に示したVAREA2の期間中)、DMA制御部61は、第1データ変換部51または第2データ変換部52による1ライン分のラインデータの処理が完了する毎にVENBを順次切り替える。したがって、第1データ変換部51および第2データ変換部52によって1ラインずつ交互にラインデータの処理(ライン転送処理)が行われる。
第2データ変換部52によるyb=(Y−delay_v−1)ラインのラインデータの処理が完了すると、DMA制御部61は、第2データ変換部52によるyb=(Y−1)ラインのラインデータの処理が完了するまで(図6に示したVAREA3の期間中)、制御信号VENBを常時Lにする。これにより、第1データ変換部51はスタンバイ状態に保持され、第2データ変換部52はyb=(Y−delay_V)からyb=(Y−1)までの各ラインのラインデータの処理を順次行う。
(3−2.副走査罫線抽出部62)
副走査罫線抽出部62は、第1データ変換部51から入力されたBINIMGにおける各画素の信号を解析し、副走査方向へのラン、すなわち副走査方向へ一定画素数以上連続するエッジ画素の有無を検出し、検出結果を示す情報を保持する。例えば、入力画像データが図7に示す2値画像である場合、白画像として表示されているエッジ検出画素のうち、画像中の矩形領域内に存在する3本の縦線VLが副走査方向へのランとして検出される。
図8は、副走査罫線抽出部62の構成を示すブロック図である。この図に示すように、副走査罫線抽出部62は、副走査ラン判定部71、RUNVアクセス制御部72、RUNVHSTアクセス制御部73、副走査ランカウント値格納バッファ(以下、RUNVという)、および副走査ラン履歴格納バッファ(以下、RUNVHSTという)を備えている。なお、RUNVは8bit/Word×8192Wordの構成であり、RUNVHSTは1bit/Word×8192Wordの構成である。また、これら各バッファのメモリは例えばSRAM等のメモリ素子で構成されている。
(3−2−1.副走査ラン判定部71)
副走査ラン判定部71は、第1データ変換部51からHSYNC1(水平同期信号)、LENI1(ライン有効信号)、PENI1(画素有効信号)、およびBINIMG(画像データ)を入力される。また、副走査ラン判定部71は、hcount_v[12:0]およびrunv_tmp[7:0]の各内部レジスタを有している。
hcount_v[12:0]は、入力されているBINIMG(ラインデータ)の主走査画素アドレス値を示すものである。具体的には、hcount_v[12:0]は、各ラインの入力開始時、すなわちHSYNCI1の立上り毎にクリアされる(0に設定される)。そして、PENI1=1が成立した後、1画素入力毎にインクリメントされる。また、hcount_v[12:0]の値は、アクセスアドレス信号AD_V[12:0]としてRUNVアクセス制御部72に出力される。このアクセスアドレス信号AD_V[12:0]に基づいて、RUNVアクセス制御部72あるいはRUNVHSTアクセス制御部73において、後述するように、処理中の画素に対応したRUNVの格納値あるいはRUNVHSTの格納値へのアクセスが行われる。
runv_tmp[7:0]は上記格納値へのアクセス時のRead/Writeデータを格納するための内部レジスタであり、その値はアクセスデータ信号RUNV_DT_V[7:0]としてRUNVアクセス制御部72に出力される。なお、RUNVおよびRUNVHSTの格納値は、ページ処理開始時点(罫線抽出処理の開始時点)で全て0にクリアされる。
副走査ラン判定部71は、図5に示した画像入力有効期間、すなわちPENI1=H(=1)の期間中、画素毎に以下の処理を行う。
まず、各画素の主走査座標値hcount_v[12:0]に対応するRUNVの格納値を、RUNVアクセス制御部72を介してrunv_tmp[7:0]に読み出す。具体的には、アクセスアドレス信号AD_V[12:0]、Read/Write指示信号BUFR/W(ここでは読み出し処理なのでBUFR/W=0とする。書き込み処理の場合はBUFR/W=1とする。)、アクセス選択信号BUFSEL(RUNVおよびRUNVHSTのいずれに対するアクセスであるのかを示す信号。ここではRUNVへのアクセスなのでBUFSEL=0とする。RUNVHSTへのアクセスの場合にはBUFSEL=1とする。)、およびメモリアクセストリガ信号ACCREQ_Vの各出力信号を処理対象の画素に応じて設定してRUNVアクセス制御部72に出力することにより、RUNVアクセス制御部72を介して対応するRUNVの格納値を読み出す。なお、RUNVアクセス制御部72の構成および動作については後述する。
次に、副走査ラン判定部71は、注目画素のBINIMGの値が1の場合にはrunv_tmp[7:0]の値を1インクリメントし、RUNVアクセス制御部72を介してインクリメント後の値RUNV_DT_V[7:0]をRUNVのアドレス=hcount_v[12:0]に再度書き込ませる。具体的には、アクセスアドレス信号AD_V[12:0]、Read/Write指示信号BUFR/W(書き込み処理なのでBUFR/W=1)、アクセス選択信号BUFSEL(RUNVへのアクセスなのでBUFSEL=0)、アクセスデータ信号RUNV_DT_V[7:0]、およびメモリアクセストリガ信号ACCREQ_Vの各出力信号をRUNVアクセス制御部72に出力することにより、RUNVアクセス制御部72を介してRUNVのアドレス=hcount_v[12:0]に書き込ませる。
また、副走査ラン判定部71は、注目画素のBINIMGの値が0の場合には、runv_tmp[7:0]=0、すなわち内部レジスタrunv_tmp[7:0]をリセットし、RUNVアクセス制御部72を介してリセット後の値RUNV_DT_V[7:0]をRUNVのアドレス=hcount_v[12:0]に再度書き込ませる。
この際、runv_tmp[7:0]≧run_v_th[7:0]となった場合は、副走査ラン判定部71は、hcount_v[12:0]に対応するRUNVHSTアドレスに1を書き込ませる。なお、run_v_th[7:0]はユーザあるいは主制御部によって予め設定される副走査罫線抽出閾値である。具体的には、アクセスアドレス信号AD_V[12:0]、Read/Write指示信号BUFR/W(ここでは書き込み処理なのでBUFR/W=1)、アクセス選択信号BUFSEL(ここではRUNVHSTへのアクセスなのでBUFSEL=1)、アクセスデータ信号RUNVHST_DT_V_M[0]、およびメモリアクセストリガ信号ACCREQ_Vの各出力信号をRUNVアクセス制御部72に出力する。これにより、RUNVアクセス制御部72およびRUNVHSTアクセス制御部73を介してhcount_v[12:0]に対応するRUNVHSTアドレスへの書き込みが行われる。なお、RUNVアクセス制御部72およびRUNVHSTアクセス制御部73の構成および動作については後述する。
これにより、ある主走査画素座標において副走査方向にエッジ検出画素が連続している場合、その画素に対応するRUNV格納値は、ライン毎にインクリメントされて行き、エッジ検出画素の連続が途切れた時点で0にクリアされる。ただし、エッジ検出画素の連続数がrun_v_th[7:0]に到達した場合は、その主走査画素座標に対応するRUNVHST格納値に1が設定される。なお、連続エッジ検出画素数がRUNV格納値の最大値(=255)を越えた場合は、エッジ検出画素の連続が途切れるまで255が維持される。
(3−2−2.RUNVアクセス制御部72)
RUNVアクセス制御部72は、副走査ラン判定部71からバッファアクセス命令を受けて、RUNVまたはRUNVHSTのどちらにアクセス命令を発行するかの決定、RUNVへのアクセスの場合にはRead(書き込み)アクセスまたはWrite(読み出し)アクセスの実行、RUNVHSTへのアクセスの場合にはRUNVHSTアクセス制御部73との間でアクセスに関連する情報の伝達を行う。
図9は、RUNVアクセス制御部72の構成を示すブロック図である。この図に示すように、RUNVアクセス制御部72は、デマルチプレクサ81〜83と、RUNVバッファCE発生部84とを備えている。
デマルチプレクサ81には、副走査ラン判定部71から出力されたアクセスアドレス信号AD_V[12:0]、およびアクセス選択信号BUFSELが入力される。そして、アクセス選択信号BUFSELの値が0の場合(RUNVへのアクセスの場合)、デマルチプレクサ81はRUNVに対してアクセスアドレス信号RUNV_AD[12:0]を出力する。一方、アクセス選択信号BUFSELの値が1の場合(RUNVHSTへのアクセスの場合)、デマルチプレクサ81は、RUNVHSTに対してアクセスアドレス信号RUNVHST_AD_V_M[12:0]を出力する。
デマルチプレクサ82には、副走査ラン判定部71から出力されたRead/Write指示信号BUFR/W、およびアクセス選択信号BUFSELが入力される。そして、アクセス選択信号BUFSELの値が0の場合(RUNVへのアクセスの場合)、デマルチプレクサ82はRUNVに対してRead/Write指示信号RUNV_R/Wを出力する。一方、アクセス選択信号BUFSELの値が1の場合(RUNVHSTへのアクセスの場合)、デマルチプレクサ82は、RUNVHSTに対してRead/Write指示信号RUNVHST_R/W_V_Mを出力する。
デマルチプレクサ82には、副走査ラン判定部71から出力されたメモリアクセストリガ信号ACCREQ_V、およびアクセス選択信号BUFSELが入力される。
そして、アクセス選択信号BUFSELの値が0の場合(RUNVへのアクセスの場合)、デマルチプレクサ83はメモリアクセストリガ信号ACCREQ_VをRUNVバッファCE発生部84に出力する。一方、アクセス選択信号BUFSELの値が1の場合(RUNVHSTへのアクセスの場合)、デマルチプレクサ83は、RUNVHSTにメモリアクセストリガ信号ACCREQ_Vを出力する。
なお、RUNVアクセス制御部72は、RUNVに対する書き込みの場合には副走査ラン判定部71から出力されたRUNV_DT[7:0]をそのままRUNVに出力し、RUNVHSTに対する書き込みの場合には副走査ラン判定部71から出力されたRUNVHST_DT_V_M[0]をそのままRUNVHSTに出力する。
RUNVバッファCE発生部84は、デマルチプレクサ83からメモリアクセストリガ信号ACCREQ_Vを入力されると、これをトリガとしてRUNVに対するチップイネーブル信号RUNV_CEを出力する。これにより、RUNVに対するRUNV_AD[12:0]、RUNV_DT[7:0](Write処理の場合)、RUNV_R/W、およびRUNV_CEの各信号が確定し、RUNVの所定アドレスへのアクセスが実行される。
(3−2−3.RUNVHSTアクセス制御部73)
RUNVHSTアクセス制御部73は、副走査ラン判定部71からバッファアクセス命令を受けて、RUNVHSTに対するRead(書き込み)アクセスまたはWrite(読み出し)アクセスの実行を行う。また、RUNVHSTアクセス制御部73は、主走査罫線抽出部63からのバッファアクセス命令を受けてRUNVHSTに対するRead(書き込み)アクセスまたはWrite(読み出し)アクセスの実行を行う。
図10は、RUNVHSTアクセス制御部73の構成を示すブロック図である。この図に示すように、RUNVHSTアクセス制御部73は、マルチプレクサ85〜88と、RUNVHSTバッファCE発生部89とを備えている。
マルチプレクサ85には、RUNVアクセス制御部72から出力されるアクセスアドレス信号RUNVHST_AD_V_M[12:0]と、主走査罫線抽出部63から出力されるアクセスアドレス信号RUNVHST_AD_H[12:0]と、DMA制御部61から出力される制御信号VENBとが入力される。そして、マルチプレクサ85は、VENB=Hの場合(第1データ変換部51の選択期間中)にはRUNVアクセス制御部72から入力されたアクセスアドレス信号RUNVHST_AD_V_M[12:0]を、VENB=Lの場合(第2データ変換部52の選択期間中)には主走査罫線抽出部63から入力されたアクセスアドレス信号RUNVHST_AD_H[12:0]を、RUNVHSTにアクセスアドレス信号RUNVHST_AD[12.0]として出力する。
マルチプレクサ86には、RUNVアクセス制御部72から出力されるアクセスデータ信号RUNVHST_DT_V_M[0]と、主走査罫線抽出部63から出力されるアクセスデータ信号RUNVHST_DT_H[0]と、DMA制御部61から出力される制御信号VENBとが入力される。そして、マルチプレクサ85は、VENB=Hの場合(第1データ変換部51の選択期間中)にはRUNVアクセス制御部72から入力されたアクセスデータ信号RUNVHST_DT_V_M[0]を、VENB=Lの場合(第2データ変換部52の選択期間中)には主走査罫線抽出部63から入力されたアクセスデータ信号RUNVHST_DT_H[0]を、アクセスデータ信号RUNVHST_DT[0]としてRUNVHSTに出力する。
マルチプレクサ87には、RUNVアクセス制御部72から出力されるRead/Write指示信号RUNVHST_R/W_V_Mと、主走査罫線抽出部63から出力されるRead/Write指示信号RUNVHST_R/W_Hと、DMA制御部61から出力される制御信号VENBとが入力される。そして、マルチプレクサ85は、VENB=Hの場合(第1データ変換部51の選択期間中)にはRUNVアクセス制御部72から入力されたRead/Write指示信号RUNVHST_R/W_V_Mを、VENB=Lの場合(第2データ変換部52の選択期間中)には主走査罫線抽出部63から入力されたRead/Write指示信号RUNVHST_R/W_Hを、Read/Write指示信号RUNVHST_R/WとしてRUNVHSTに出力する。
マルチプレクサ88には、RUNVアクセス制御部72から出力されるメモリアクセストリガ信号ACCREQ_Vと、主走査罫線抽出部63から出力されるメモリアクセストリガ信号ACCREQ_Hと、DMA制御部61から出力される制御信号VENBとが入力される。そして、マルチプレクサ85は、VENB=Hの場合(第1データ変換部51の選択期間中)にはRUNVアクセス制御部72から入力されたメモリアクセストリガ信号ACCREQ_Vを、VENB=Lの場合(第2データ変換部52の選択期間中)には主走査罫線抽出部63から入力されたメモリアクセストリガ信号ACCREQ_Hを、RUNVHSTバッファCE発生部89に出力する。
RUNVHSTバッファCE発生部89は、マルチプレクサ88からメモリアクセストリガ信号を入力されると、これをトリガとしてRUNVHSTに対するチップイネーブル信号RUNVHST_CEを出力する。これにより、RUNVHSTに対するRUNVHST_AD[12:0]、RUNVHST_DT[0](Write処理の場合)、RUNVHST_R/W、およびRUNVHST_CEの各信号が確定し、RUNVHSTの所定アドレスへのアクセスが実行される。
なお、制御信号VENBは、1ラインの処理時間単位でHとLとに切り替わり、かつ、処理中は副走査罫線抽出部62および主走査罫線抽出部63のうちの一方のみが動作する(VENB=Hの時は副走査罫線抽出部62のみが動作し、VENB=L時は主走査罫線抽出部63のみが動作する)ため、副走査ラン判定部71からのアクセス、および主走査罫線抽出部63からのアクセスを交互に行っても基本的にRUNVHSTに対するアクセスミスは発生しない構成となっている。また、上記の構成では、万が一、副走査ラン判定部71および主走査罫線抽出部63からの同時アクセスが発生しても、不正動作が行われている側からのアクセスは受付けられないようになっている。
(3−2−4.副走査罫線抽出部62による罫線抽出処理の例)
図11は、副走査罫線抽出部62による罫線抽出処理の一例を示す説明図であり、上段から順に処理対象のBENIMGデータ、先頭ラインから13ラインに対する処理が完了した時点でのRUNVへの格納値、およびこのときのRUNVHSTへの格納値を示している。なお、BENIMGデータ中の白抜きの四角印は非エッジ検出画素(画素値=)を示しており、黒塗りの四角印はエッジ検出画素(画素値=1)を示している。
なお、ここでは、説明の便宜上、図11において1点鎖線で囲んだ主走査座標(x座標)C、C、C11、およびC8190に対応する副走査方向の各画素に着目して処理内容を説明する。また、以下の説明では、主走査座標C(xは0〜8191までの整数)に対応するRUNV、RUNVHSTのデータ格納アドレスを、RUNV(x)、RUNVHST(x)と表記する。また、副走査罫線抽出閾値run_v_th[7:0]の設定値は10であるものとする。
まず、主走査座標Cに対応する各画素は、副走査座標(y座標)R〜R12までエッジ検出画素が連続している。このため、R12のラインに対する処理終了時点でRUNV(3)=13となり、かつRのライン処理終了時点で副走査方向の連続エッジ検出画素数(RUNV(3)の値)がrun_v_th[7:0]の設定値である10に到達しているため、RUNVHST(3)=1が格納されている。
また、Cについては、RからR12までエッジ検出画素が連続しているため、13ライン終了時点でRUNV(9)=9となっている。ただし、この時点では連続エッジ検出画素数がrun_v_th[7:0]の設定値10に到達していないため、RUNVHST(9)=0のままとなっている。
また、C11については、R〜Rまでエッジ検出画素が連続しており、R終了時点で連続エッジ検出画素数がrun_v_th[7:0]の設定値10に到達しているため、RUNVHST(11)=1となっている。ただし、RUNV(11)については、R10でエッジ検出画素が一旦途切れたため、その時点でRUNV(11)=0にクリアされ、その後R12に再度エッジ検出画素が存在しているために13ライン終了時点でRUNV(11)=1となっている。
また、C8190についてはR〜R10までエッジ検出画素が連続しており、R10終了時点で連続エッジ検出画素数がrun_v_th[7:0]の設定値10に到達しているため、RUNVHST(8190)=1となっている。ただし、RUNV(8190)については、R12でエッジ検出画素が途切れるため、13ライン終了時点でRUNV(8190)=0となっている。
この様にして、副走査方向に1箇所以上、run_v_th[7:0]の設定値よりも大きなラン、すなわちエッジ検出画素の連続領域が検出された主走査座標は、それに対応するRUNVHST(x)に1が格納される。換言すれば、RUNVHIST(x)は、各主走査画素毎に、run_v_th[7:0]以上のサイズのランが1箇所以上検出されたかどうかを示すフラグ(履歴)を格納するバッファメモリとなる。
このように、副走査罫線抽出部62では、副走査方向の罫線画像イメージそのものが抽出されるのではなく、各主走査座標において一定サイズ(run_v_th[7:0])以上のサイズのランが検出されたかどうかと言う情報を抽出する。なお、実際の副走査方向の罫線画像イメージは後述する主走査罫線抽出部63において、主走査方向の罫線画像イメージと共に抽出される。
なお、run_v_th[7:0]に設定する値は、BINIMGのサイズおよび解像度等に応じてユーザが任意に設定すればよい。例えば、ユーザが目視で副走査方向のラン画像、すなわち縦線と認識する最小の長さがどの程度であるかに応じて設定してもよい。例えば、600dpi(1inch=25.4mmあたり600dot)の画像において、ユーザが縦線であると認識可能なランの長さを5mmとした場合、run_v_th[7:0]を、
run_v_h[7:0]=(600×5.0)/25.4
≒118
=0x76 ・・・(式1)
により算出すればよい。
(3−3.主走査罫線抽出部63)
主走査罫線抽出部63は、第2データ変換部52から入力されたBINIMGにおける各画素の信号を解析し、主走査方向へのラン、すなわち主走査方向へ一定画素数以上連続するエッジ画素の画像情報(イメージ)をライン毎に検出し、検出結果を示す情報を罫線情報補正部64に出力する。
また、主走査罫線抽出部63は、副走査罫線抽出部62の副走査ラン履歴格納バッファ(RUNVHST)に格納されている副走査方向へのラン検出情報を参照し、上記のエッジ画素の画像情報(イメージ)に反映させる。
また、主走査罫線抽出部63は、入力画像データにおける罫線部分のかすれ、途切れ等(例えば画像読取時の読み取り誤差等によって生じる)を補正するための画像処理を行う。
図12は、主走査罫線抽出部63の構成を示すブロック図である。この図に示すように、主走査罫線抽出部63は、フリップフロップ(F/F)回路91、ギャップ判定部92、ディレイ回路93a〜93c、主走査ラン判定部94、出力タイミング信号生成部95、RUNHアクセス制御部96、および主走査ラン情報格納バッファ(以下、RUNHという)を備えている。なお、なお、RUNHは1bit/Word×8192Wordのバッファメモリからなり、このメモリは例えばSRAM等のメモリ素子で構成されている。
(3−3−1.フリップフロップ回路91)
フリップフロップ回路91は7段のフリップフロップからなり、第2データ変換部52から出力されたBINIMGを入力される。1段目のフリップフロップに入力されたある画素のBINIMGは、以降の画素のBINIMGが入力される毎に順次次のフリップフロップへと送られ、7段目のフリップフロップに送られたBINIMGはBINIMG_DELとして主走査ラン判定部94に出力される。また、1段目から6段目までのフリップフロップは、入力されたBINIMGを次段のフリップフロップとギャップ判定部92とに出力するようになっている。
したがって、主走査ラン判定部94にある画素のBINIMG_DELが入力される時点で、フリップフロップ回路91には当該画素から7画素先のデータが入力されている。また、この時点で、ギャップ判定部92に対しては、左端(1段目)のフリップフロップから順に、主走査ラン判定部94にBINIMGが入力される上記画素の6画素先,5画素先,・・・,2画素先,1画素先の各画素のBINIMG、すなわち、主走査ラン判定部94にBINIMGが入力される上記画素の直後の画素から6画素先までのBINIMGが入力される。
(3−3−2.ギャップ判定部92)
ギャップ判定部92は、フリップフロップ回路91から入力される6画素分のBINIMGに基づいて、これら6画素が全て非エッジ検出画素であるか否かを判定し、判定結果を示す信号GAP_INFOを主走査ラン判定部94に出力する。すなわち、注目画素の先が罫線のギャップ(主走査ランのかすれ)であってラン自体は継続しているのか、あるいは注目画素の先でランが途切れ(主走査ランの終点)であるのかを判定する。したがって、主走査ラン判定部94には、注目画素のBINIMG_DELと、この注目画素の1画素先から6画素先までの各画素が全て非エッジ検出画素であるかの判定結果を示すGAP_INFOとが入力される。
なお、ギャップ判定部92は、注目画素の1画素先〜6画素先までの各画素のBINIMGをそれぞれF1〜F6とすると、
n_gap[2:0]=1の場合、GAP_INFO=F1、
n_gap[2:0]=2の場合、GAP_INFO=F1|F2、
n_gap[2:0]=3の場合、GAP_INFO=F1|F2|F3、
n_gap[2:0]=4の場合、GAP_INFO=F1|F2|F3|F4、
n_gap[2:0]=5の場合、GAP_INFO=F1|F2|F3|F4|F5、
n_gap[2:0]=6の場合、GAP_INFO=F1|F2|F3|F4|F5|F6 ・・・(式2)
の処理を行う。なお、F1〜F6の値は、エッジ検出画素の場合には1となり、非エッジ検出画素の場合は0となる。また、n_gap[2:0]は、注目画素の何画素先までギャップ判定に用いるかを示す値であり、ユーザによって1≦n_gap[2:0]≦6の範囲内で任意に設定される。
すなわち、ユーザにより注目画素の何画素先までを確認対象画素にするかという値がn_gap[2:0]に設定され、ギャップ判定部92は、確認対象画素に1画素でもエッジ検出画素が存在すれば、たとえ他の画素が非エッジ検出画素であったとしてもGAP_INFO=1とする。このGAP_INFOにより、後述するように、確認対象画素の中に非エッジ検出画素が存在していたとしても、確認対象画素にエッジ検出画素が含まれている場合には、確認対象画素からなる領域は主走査ランのギャップ領域(例えば入力画像データを取得するための画像読取時に生じた主走査罫線部分のかすれ等)と判断される。
例えば、n_gap[2:0]=5と設定されている場合であって、注目画素の1画素先〜4画素先がいずれも非エッジ検出画素であり、5画素先がエッジ検出画素である場合、ギャップ判定部92では上記(式2)のn_gap[2:0]=5の場合の式が適用され、GAP_INFO=0|0|0|0|1=1となる。すなわち、確認対象画素(注目画素の1画素先〜5画素先まで)のうち1画素先〜4画素先までについては非エッジ検出画素であるが、5画素先にエッジ検出画素があるため、上記の非エッジ検出画素は主走査ランのギャップ区間であり、ランは継続しているという判定される。
(3−3−3.ディレイ回路93a〜93c)
ディレイ回路93a〜93cは、それぞれ、第2データ変換部52から主走査罫線抽出部63に入力されるHSYNC2、LENI2、およびPENI2を7クロック分ディレイさせて主走査ラン判定部94に出力する。
つまり、上記したように、フリップフロップ回路91に入力されたBINIMGは7クロック分ディレイして主走査ラン判定部94に入力される。このため、第2データ変換部52から主走査罫線抽出部63にBINIMGと同期入力されるHSYNC2、LENI2、およびPENI2の各信号について、BINIMG_DEL信号と同タイミングで主走査ラン判定部94に入力させる必要がある。そこで、ディレイ回路93a〜93cにより、HSYNC2、LENI2、およびPENI2を7クロック分ディレイさせて主走査ラン判定部94に入力させる。
なお、ディレイ回路93a〜93cの回路構成は特に限定されるものではなく、例えばフリップフロップ回路91と同様の構成としてもよい。
また、上記の説明では注目画素に対するギャップ区間の判定領域(確認対象画素数)を1画素先〜最大6画素先までとしていたが、これに限らず、さらに長い区間を設定できるハードウェア構成としてもよい。また、その場合には、各VIDEOインターフェース信号に対するディレイ回路93a〜93cによってHSYNC2、LENI2、およびPENI2をディレイさせる期間(ディレイ数;F/F数)を、ギャップ区間の判定領域(確認対象画素数)の最大画素数に合わせて変更すればよい。
(3−3−4.主走査ラン判定部94)
主走査ラン判定部94は、図12に示したように、内部レジスタ(主走査ラン判定部94の内部処理に用いられるレジスタ)として、hcount_h[12:0]、run_h[9:0]、inline_h[0]、およびcancel_run[0]を備えている。また、ユーザ設定レジスタ(外部からパラメータ設定されるレジスタ)として、run_h_th[9:0]およびlength[9:0]を備えている。
hcount_h[12:0]は、フリップフロップ回路91から入力されるBINIMG_DEL(ラインデータ)の主走査画素アドレス値を示すものである。具体的には、hcount_h[12:0]は、各ラインの入力開始時、すなわちHSYNCI2の立上り毎にクリアされる(0に設定される)。そして、PENI2=1が成立した後、1画素入力毎にインクリメントされる。また、このhcount_h[12:0]の値に対応するアクセスアドレス信号RUNH_AD[12:0]がRUNHアクセス制御部96に出力され、RUNHアクセス制御部96はこの値に基づいて現在処理されている画素(注目画素)に対応するRUNHの格納値にアクセスする。なお、RUNHは、ページ処理開始時点で全て0クリアされる。
run_h[9:0]は、上記格納値へのアクセス時のRead/Writeデータである主走査方向のランサイズ、すなわち連続エッジ検出画素数を格納する。ただし、この連続数は、後述するように、ラン領域中の1つないし複数のギャップ領域を跨いで連続している連続エッジ検出画素数を示している場合がある。
inline_h[0]は注目画素が主走査ラン領域内であることを示すフラグレジスタであり、cancel_run[0]は注目画素が主走査ラン領域外であることを示すフラグレジスタである。inline_h[0]およびcancel_run[0]の設定処理の詳細については後述する。
run_h_th[9:0]は、上記run_h[9:0]に対する主走査ラン判定を行う際の判定閾値を格納する。また、length[9:0]は、run_h_th[9:0]とrun_h[9:0]との閾値判定(主走査ラン判定)が実施される際に行われるRUNHのフィル処理に用いられるパラメータを格納する。run_h_th[9:0]およびlength[9:0]の設定処理の詳細については後述する。
図13は、主走査ラン判定部94の処理の流れを示すフロー図である。この図に示すように、主走査ラン判定部94は、まず、画像入力有効期間であるか否か、すなわちPENI2=H(=1)の期間中であるか否かを判断する(S1)。そして、画像入力有効期間であると判断した場合、画素毎に以下のS2以降の処理を行う。
まず、各画素の主走査座標値hcount_h[12:0]に対応するRUNHのアドレスに、RUNHアクセス制御部96を介してBINIMG_DELの信号値を書き込む(S2)。具体的には、アクセスアドレス信号RUNH_AD[12:0]、Read/Write指示信号RUNH_R/W、およびメモリアクセストリガ信号ACCREQ_Hの各出力信号を処理対象の画素に応じて設定してRUNHアクセス制御部96に出力することにより、RUNHアクセス制御部96を介して対応するRUNHのアドレスにBINIMG_DELの信号値を書き込む。
次に、主走査ラン判定部94は、注目画素のBINIMG_DELの値が1であるか否か(注目画素がエッジ検出画素であるか否か)を判断する(S3)。そして、BINIMG_DEL=1の場合(注目画素がエッジ検出画素である場合)にはrun_h[9:0]の値を1インクリメントする(S4)。ただし、run_h[9:0]の格納値が最大値(=1023)に到達している場合にはrun_h[9:0]を最大値のまま保持する。そして、run_h[9:0]とrun_h_th[9:0]との比較を行う(S5)。
この比較の結果、run_h[9:0]≧run_h_th[9:0]であると判断した場合、主走査ラン判定部94は、inline_h[0]=1に設定するとともに(S6)、RUNHのアドレスhcount_h[12:0](注目画素に対応するアドレス)を開始アドレスとして、RUNHの先頭方向(注目画素の左側の画素に対応するアドレス方向)に向けてlength[9:0]アドレス分(すなわちlength[9:0]の値に対応する画素分)の格納データを無条件に1(エッジ検出画素)とする(フィルする)(S7)。その後、全画素について主走査ラン判定処理が完了したか否かを判断し(S8)、完了していない場合には次の注目画素に対してS1以降の処理を行い、完了した場合には処理を終了する。
一方、上記の比較の結果、run_h[9:0]<run_h_th[9:0]であった場合、inline_h[0]の設定値の変更やRUNHの格納値の変更は行わずにS8の処理に移行する。
また、主走査ラン判定部94は、S3において注目画素のBINIMG_DELの値が0であると判断した場合(注目画素が非エッジ検出画素の場合)には、まず、cancel_run[0]=1に設定する(S9)。
次に、主走査ラン判定部94は、inline_h[0]=1であるか否か(注目画素の左隣の画素が主走査ラン領域内であるか否か)を判断する(S14)。そして、inline_h[0]=1ではないと判断した場合(注目画素の左隣の画素が主走査ラン領域外である場合)には、後述するS15の処理に移行する。
一方、inline_h[0]=1であると判断した場合(注目画素の左隣の画素が主走査ラン領域内である場合)、主走査ラン判定部94は、GAP_INFO=1であるか否か(注目画素に対して主走査方向下流側の6画素にエッジ検出画素が含まれているか否か)を判断する(S11)。そして、GAP_INFO=1である場合(注目画素に対して主走査方向下流側の6画素にエッジ検出画素が含まれている場合)にはcancel_run[0]=0に設定し(S12)、後述するS15の処理に移行する。
一方、GAP_INFO=0である場合(注目画素に対して主走査方向下流側の6画素にエッジ検出画素が含まれていない場合)には、副走査罫線抽出部62に備えられるRUNVHSTからギャップ観測領域(確認対象画素)、すなわちhcount_h[12:0]+1〜hcount_h[12:0]+n_gap[2:0]の各画素に対応する格納値を読み出し、格納値が1である画素があるか否かを判断する(S13)。具体的には、主走査ラン判定部94は、hcount_h[12:0]+1〜hcount_h[12:0]+n_gap[2:0]の各画素に対応するRUNVHST_AD_H[12:0]、RUNVHST_DT_H[0]、RUNVHST_R/W_H、ACCREQ_Hを副走査罫線抽出部62に出力し、上記各画素の格納値を取得する。
そして、RUNVHSTにおけるギャップ観測領域の各画素の中に格納値が1である画素が1つでも存在する場合には、cancel_run[0]=0に設定し(S14)、後述するS15の処理に移行する。一方、RUNVHSTにおけるギャップ観測領域の各画素が全て0である場合にはcancel_run[0]の設定値を変更せずに後述するS15の処理に移行する。したがって、この場合にはcancel_run[0]=1となる。
S15において、主走査ラン判定部94は、cancel_run[0]=0であるか否かを判断する(S15)。そして、cancel_run[0]=0である場合には、run_h[9:0]およびinline_h[0]の値を変更することなく、後述するS17の処理に移行する。一方、cancel_run[0]=1であると判断した場合には、run_h[9:0]およびinline_h[0]の値を共に0に設定(リセット)し(S16)、S17に移行する。
次に、主走査ラン判定部94は、inline_h[0]=1であるか否かを判断する(S17)。そして、inline_h[0]=1であると判断した場合、RUNHのアドレスhcount_h[12:0]に1を書き込み(上書き)(S18)、S8の処理に移行する。この処理により、主走査ラン領域のギャップ部分については全て1で埋められる。一方、inline_h[0]=0であると判断した場合には、RUNHの格納値を変更することなくS8の処理に移行する。
以上の処理により、RUNHには1ライン分のラン画像(罫線画像)の画像データが格納される。主走査ラン判定部94は、RUNHに1ライン分のラン画像データLINE_Mが完成すると、このラン画像データLINE_Mを、VIDEOインターフェースを介して罫線情報補正部64に出力する。
(3−3−5.出力タイミング信号生成部95)
出力タイミング信号生成部95は、ディレイ回路93a〜93cから入力されるHSYNC2_DEL、LENI2_DEL、およびPENI2_DELの各信号の立上り/立下りタイミング(0/1期間情報)に基づいて、主走査ラン判定部94から出力されるラン画像(罫線画像)データLINE_Mに同期したHSYNC_M、LENI_M、およびPENI2_Mを生成し、罫線情報補正部64に出力する。
(3−4.罫線情報補正部64)
罫線情報補正部64は、主走査罫線抽出部63から入力される罫線情報を含むラン画像データLINE_Mに対して、文字部分および孤立点部分の除去作業を行う。
罫線情報補正部64は、図1に示したように、膨張・縮退処理部65、フィルタ処理部66、およびライン情報格納部67を備えている。また、ライン情報格納部67は、前ラインラン情報格納バッファ(以下、LINEINFO_PREという)、および注目ラインラン情報格納バッファ(以下、LINEINFO_CURという)を備えている。なお、LINEINFO_PREおよびLINEINFO_CURは、1bit/Word×8192Wordのバッファメモリであり、例えばSRAM等のメモリ素子で構成される。
LINEINFO_PREには、注目画素を含むラインの1ライン前のラン画像データLINE_Mが格納される。また、LINEINFO_CURには注目画素を含むラインのラン画像データLINE_Mが格納される。
膨張・縮退処理部65は、LINEINFO_PREに格納されている注目画素を含むラインの1ライン前のラン画像、LINEINFO_CUR格納されている注目画素を含むラインのラン画像、および主走査罫線抽出部63から入力される注目画素を含むラインの1ライン後のラン画像に基づいて、文字部分および孤立点部分を除去するように注目画素の値を補正する。具体的には、図14に示すように、注目画素の周囲8画素の値を参照し、これら8画素の中に1画素でも黒画素(値1)が存在する場合に注目画素の値を1にする処理(膨張処理)を各画素について行う。また、膨張処理後のラン画像に対し、注目画素の周囲8画素に白画素(値0)が存在する場合に注目画素の値を0にする処理(縮退処理)を各画素について行う。これにより、ラン画像における文字部分および孤立点部分を除去できる。
フィルタ処理部(エッジ強調処理部)66は、主走査ラン画像イメージおよび副走査ラン画像イメージの強調を目的とした縦横エッジ強調フィルタ処理を行う。この縦横エッジ強調フィルタ処理には、例えば、図15(a)および図15(b)に示したフィルタ係数を用いる。
そして、罫線情報補正部64は、膨張・縮退処理およびフィルタ処理を施した2値画像データをDLINE信号として第3データ変換部54に出力し、主走査罫線抽出部63から入力されたラン画像データLINE_Mをそのまま(何も処理を施さずに)LINE信号として第3データ変換部54に出力(スルー)する。また、罫線情報補正部64は、主走査罫線抽出部63から入力されたHSYNC_M、LEN_M、およびPEN_Mをそのまま(何も処理を施さずに)HSYNCO、LENO、およびPENOとして第3データ変換部54に出力(スルー)する。
(3−5.第3データ変換部54)
第3データ変換部(VIDEO→DMA変換部)54は、罫線情報補正部64からVIDEOインターフェースを介して入力されるLINEおよびDLINEの各画像データをDMA転送単位になるまで蓄積し、DMA転送単位のデータが蓄積される毎にDMAインターフェースを介して罫線画像記憶部(外部メモリ)M2に順次出力する。なお、第3データ変換部54は、図6に示したya=0のライン画像に対応するLINEおよびDLINEの出力時に動作を開始し、yb=(Y−1)のライン画像に対応するLINEおよびDLINEの出力を終えるまで動作を継続する。
(4.実施形態1のまとめ)
以上のように、本実施形態では、主走査罫線抽出部63が、上記S2において非エッジ検出画素についてBINIMG_DEL=0をRUNHのアドレスhcount_h[12:0]に書き込んだ後、S9においてcaccel_run[0]の設定値を1に設定、すなわち主走査ラン領域外であるという判定フラグを設定する。
そして、S10においてinline_h[0]=1であるか否か、すなわち注目画素の1つ前の画素が主走査ラン領域内であったのかどうかを判断し、inline_h[0]=1である場合にはS11においてGAP_INFO=1であるか否か、すなわち注目画素がギャップ領域であるか否かをさらに判断する。
そして、ギャップ領域である(GAP_INFO=1)と判断した場合、S12においてcancel_run[0]を0(主走査ラン領域内であることを示す)に設定する。一方、ギャップ領域ではない(GAP_INFO=0)と判断した場合には、即座に主走査ラン領域外であるという判定を行うのではなく、S13においてギャップ領域判定範囲内の画素(確認対象画素)についてのRUNVHSTの格納値を調べる。すなわち、確認対象画素において副走査方向ランが検出された履歴の有無を調べる。
そして、確認対象画素の中にRUNVHSTの格納値が1である画素、すなわち副走査方向ランとして検出された画素がある場合には、cancel_run[0]を0(主走査ラン領域内であることを示す)に設定する。
このように、本実施形態では、S11におけるGAP_INFO=1であるか否かの判定結果、およびS13における確認対象画素において副走査方向ランが検出された履歴の有無の検出結果に基づいて注目画素が主走査ラン領域内であるか否かを判断する。
これにより、例えば、S11におけるギャップ判定だけでは主走査ラン領域外であると判定されてしまう罫線部分のかすれや途切れ等について、主走査ラン領域内である、すなわち主走査ラン領域は継続していると判定することができる。
なお、S13では、注目画素が主走査ラン領域内であるか否かの判定を行う際に副走査ラン情報を参照しているが、この副走査ラン情報は単にそのアドレスで一定サイズ以上の副走査ランが検出されたかどうかという履歴情報であり、検出処理中の主走査ランと上記副走査ラン情報に対応する副走査ランが交差しているかどうかについては主走査ラン領域内であるか否かの判断材料にならない。
したがって、例えば、画像の読み取り時に、本来は1本に繋がっている主走査罫線画像が読取装置(入力装置)の不良や経年劣化等によって所々かすれた状態で電子データ化され、その結果点在した罫線の一部の主走査ランサイズがrun_h_th[9:0]よりも小さくなる場合、S11のギャップ判定処理だけでは罫線でないものとして見落されるが、S11のギャップ処理とS13の処理とを行うことにより、1本の罫線として認識することができる。すなわち、読取装置の性能に起因する主走査罫線の判定精度の低下を防止できる。
また、上記の構成によれば、主走査ラン判定部94に入力されるBINIMG_DELに対してS7の処理(フィル処理)およびS18の処理(ギャップ埋め処理)を施すことにより、断片化した複数の主走査方向の罫線について、副走査方向の罫線と必ずしも交差していなくても1本の罫線として判断される。例えば、図16(a)に示したBINIMGにおける矩形画像内の主走査ランのように、断片化しており、かつ副走査ランと交差していない主走査ランであっても、図16(b)に示すように連結した1本の主走査ランとして処理され、RUNHに格納される主走査ラン画像は図16(c)において1本の主走査ランとなる。
このように、副走査罫線抽出部62のRUNVHSTに格納される副走査ラン履歴情報(履歴格納情報)は、主走査ラン画像のギャップ領域の補正処理用データとして使用される。
なお、各ラインの先頭部分にrun_h_th[9:0]設定値に満たない領域、すなわちinline_h[0]=1が成立しない領域においてある程度の大きさの主走査ラン領域が存在している場合、inline_h[0]=0の状態で上記S11およびS13の処理が行われるため、上記S7の処理を行わない場合にはこの様な主走査ラン領域については認識されない。
これに対して、上記S7の処理を行うことにより、上記領域を主走査ランとして検出できる。なお、フィル処理の実施サイズであるlength[9:0]については、主走査ラン閾値run_h_th[9:0]よりも大きな値を設定しておく必要がある。また、run_h_th[9:0]の設定値については、ユーザが主走査ランと認識できる画素数を紙面サイズ、解像度等の要因に基づいて決定した上で上記(式1)に基づいて算出すればよい。
また、これら一連の処理を実施する過程で、副走査ラン画像イメージの抽出も、主走査ラン画像の抽出とは独立して並行実施される。例えば、入力画像の0ライン目から99ライン目までの主走査画素座標=50の地点に罫線が存在する場合、上記S2の処理により、RUNHのhcount_h[12:0]=50のアドレスには、0ライン目から99ライン目まで1がWriteされ、これを2次元画像として再構成すると副走査方向のラン画像イメージが再構成される。この際、上述した通り、主走査方向のランと副走査方向のランは全く無関係にイメージ抽出が行われるため、両者の位置関係(例えば交差しているか否か)にかかわらず、両方向のラン画像イメージを確実に抽出できる。
また、本実施形態では、最初に副走査方向に対して予備的な罫線情報抽出を行い、その後に、そのデータを用いた精度の高い主走査方向の罫線抽出と副走査方向の罫線抽出とを行う。この際、必要となる画像格納用メモリは、副走査方向の罫線抽出用に入力ライン最大幅のメモリバッファが2つ(RUNVおよびRUNVHST)、主走査方向の罫線抽出用に入力ライン最大幅のメモリバッファが1つ(RUNH)、罫線情報補正用のメモリバッファが2つ(LINEINFO_PREおよびLINEINFO_CUR)の計5つだけでよいので、罫線抽出処理を行う従来の画像処理装置よりもメモリバッファ数を低減できる。また、これら各メモリバッファは1ライン分のデータを格納できるサイズであればよく、ごく小容量のメモリで構成可能である。したがって、罫線抽出処理を行う従来の画像処理装置よりも、回路規模を低減して低コスト化を図るとともに、罫線画像情報の認識精度を向上させることができる。
なお、本実施形態では、圧縮処理部14が入力画像データから文字・線画の画像からなる前景レイヤーを抽出し、この前景レイヤーを2値化した結果に基づいて罫線抽出処理を行っているが、これに限るものではない。例えば、入力画像データよりエッジを検出し、エッジが検出された画像データを2値化した画像データに対して罫線の抽出を行うようにしてもよい。エッジの抽出方法は特に限定されるものではなく、例えば、図17(a)および図17(b)に示す3×3のフィルタやゾーベルフィルタなどを用いた従来から公知の方法を用いて行うことができる。また、2値化を行う方法についても特に限定されるものではなく、従来から公知の種々の方法を用いることができる。例えば、画像データが8ビットで表されている場合には閾値として128を設定して2値化を行ってもよい。あるいは、複数の画素からなるブロックの平均値を求めて、この平均値を閾値として注目画素の2値化を行ってもよい。
また、本実施形態では、本発明をデジタルカラー複合機に適用する場合について説明したが、本発明の適用対象はこれに限るものではない。例えば、モノクロの複合機に適用してもよい。また、複合機に限らず、例えば単体のファクシミリ通信装置、複写機、画像読取装置などに適用してもよい。
図18は、本発明を画像読取装置1bに適用した場合の構成例を示すブロック図である。
この図に示す画像読取装置1bは、カラー画像入力装置2とカラー画像処理装置3bとを備えている。カラー画像処理装置3bは、A/D変換部11、シェーディング補正部12、入力階調補正部13、圧縮処理部14、OCR処理部15、および主制御部(図示せず)から構成されており、これに、カラー画像入力装置2が接続され、全体として画像読取装置1bを構成している。A/D変換部11、シェーディング補正部12、入力階調補正部13、圧縮処理部14、およびOCR処理部15の構成および動作は上記したデジタル複合機1に備えられるこれら各部材と略同様である。
〔実施形態2〕
本発明の他の実施形態について説明する。なお、説明の便宜上、実施形態1で説明した部材と同様の機能を有する部材については実施形態1と同じ符号を付し、その説明を省略する。なお、本実施形態では、罫線情報抽出結果を用いて帳票認識処理(文書照合処理)を行う場合の実施例について説明する。
図19は、本実施形態にかかるデジタル複合機(画像形成装置)1cの概略構成を示すブロック図である。この図に示すように、デジタル複合機1cでは、圧縮処理部14がシェーディング補正部12と入力階調補正部13との間に設けられており、この圧縮処理部14に対してOCR処理部15に代えて文書照合処理部15bが接続されている点が実施形態1のデジタル複合機1と異なっている。なお、デジタル複合機1cでは、カラーバランスの調整および濃度信号への変換をシェーディング補正部12で行い、入力階調補正部13では下地濃度の除去やコントラストなどの画質調整処理が行われるようになっている。
文書照合処理部15bは、図19に示すように、罫線抽出部41と文書照合部44とを備えている。罫線抽出部41の構成および機能は実施形態1と同様である。
文書照合部44は、罫線抽出部41において原稿画像データ(照合対象画像)に基づいて生成された罫線画像情報(DLINE信号)を用いて、原稿画像と、ハードディスク等の記憶部(図示せず)に予め記憶させておいた免許証、住民票、戸籍謄本等の所定の定型フォーマットを有する帳票データの罫線画像情報とを照合し、照合結果を主制御部に伝達する。
照合処理の方法は特に限定されるものではないが、本実施形態では特許文献1に記載されている方法を用いる。
具体的には、まず、輪郭抽出処理で罫線画像をラスタスキャンして追跡開始点(例えばラン画像の端部)を検出した後、その追跡開始点から時計周りあるいは反時計周りに図形境界がつくる閉曲線を追跡することによって行なわれる。このような閉曲線追跡により抽出された輪郭の情報は座標点列として保存される。
次に、抽出された輪郭線データをもとに、画像の交差部や角点などの特徴点を検出し、点列の組合せから枠を抽出する。そして、入力枠情報の外接図形を算出する。
次に、各々の枠データの中心座標データを算出する。例えば、枠座標を左下隅から(x0,y0),(x1,y1),(x2,y2),(x3,y3)とした場合に、対角線の交差点を(cx,cy)とする。
次に、予め登録しておいた定型フォーマットにおける枠の左上の座標と、上記罫線画像上の左上の座標との差分を(dx,dy)とし、登録定型フォーマットの枠または罫線画像の枠の中心位置を補正して両者の位置合わせを行う。
次に、登録定型フォーマットの枠データと罫線画像の枠データとを対応づける。例えば、登録定型フォーマット上の枠データの中心座標を(tcx,tcyとし、罫線画像上の枠データの中心座標を(icx,icy)とし、両者の距離DをD=(icx−tcx)2 +(icy−tcy)2とする。
そして、罫線画像上の枠のうち、登録定型フォーマット上の枠に対応する枠の数を計数する。具体的には、予め設定された閾値dthを用いて、D<dthである場合には罫線画像上の枠と登録定型フォーマット上の枠とが対応していると判断し、D≧dthの場合には対応していないと判断する。そして、対応する枠の数を登録定型フォーマット上の枠の数で除算した値を類似度として算出する(類似度=対応する枠の数/登録定型フォーマット上の枠の数)。そして、この類似度と予め設定しておいた類似判定閾値とを比較することにより、罫線画像(原稿画像)と登録定型フォーマットとが類似しているか否か(照合の有無)を判断する。
以上のように、本実施形態では、罫線抽出部41によって生成された罫線画像情報(DLINE信号)を用いて文書照合処理を行う。したがって、高精度に抽出された罫線画像情報に基づいて文書照合処理を行うことができるので、文書照合処理の精度を向上させることができる。
なお、文書照合処理の結果を用いて、デジタル複合機1cの主制御部、あるいはデジタル複合機1cに通信可能に接続された他の装置が、原稿画像データに対する処理(例えば印字、電子データの保存、送信等)の実行を禁止したり制限したりするようにしてもよい。
例えば、免許証、住民票、戸籍謄本などの所定の定型フォーマットを有する帳票データの罫線画像情報をデジタル複合機(画像形成装置)1cやサーバー内に予め保存しておき、デジタル複合機1cにおいて原稿画像データに対する処理(例えば印字、電子データの保存、送信等)の実行が指示された場合に、原稿画像データから罫線画像情報を抽出し、抽出した罫線画像情報と予め保存しておいた免許証、住民票、戸籍謄本等の罫線画像情報との照合処理(マッチング処理)を行い、照合の結果一致していると判定された場合には、原稿画像データに対する処理(例えば印字、電子データの保存、送信等)の実行を禁止したり、所定の制限を加えたりするなどの処理を行うようにしてもよい。
より具体的には、例えば、ユーザが免許証のコピーを取るために免許書原本を画像形成装置でスキャンした場合、スキャンによって取得された免許証の画像データから罫線画像を抽出する。そして、抽出した罫線画像情報と、画像形成装置に備えられるハードディスク等の記憶手段に格納されている定型フォーマットの罫線画像情報とを順次照合する。そして、照合処理によりユーザがスキャンした画像データが免許証であると判定された場合、上記画像データの画像形成を行う際にこの画像データに「複写」あるいは「コピー」等の透かし文字を重畳させたり、あるいは画像形成処理をキャンセル(禁止)させたりするといったセキュリティ処理を行うようにしてもよい。
なお、本実施形態では、圧縮処理部14をシェーディング補正部12と入力階調補正部13との間に設けているが、これに限らず、実施形態1と同様、圧縮処理部14を入力階調補正部13と領域分離処理部16との間に設けてもよい。
また、本実施形態では、圧縮処理部14が入力画像データから文字・線画の画像からなる前景レイヤーを抽出し、この前景レイヤーを2値化した結果に基づいて罫線抽出処理を行っているが、これに限られるものではない。例えば、入力画像データよりエッジを検出し、エッジが検出された画像データを2値化した画像データに対して罫線の抽出を行うようにしてもよい。この場合には、圧縮処理部14に代えて、エッジ検出および2値化処理を行う処理部(図示せず)を設ければよい。
また、本実施形態では、本発明をデジタルカラー複合機に適用する場合について説明したが、本発明の適用対象はこれに限るものではない。例えば、モノクロの複合機に適用してもよい。また、複合機に限らず、例えば単体のファクシミリ通信装置、複写機、画像読取装置などに適用してもよい。例えば、図18に示した画像読取装置1bにおいて、OCR処理部15に代えて文書照合処理部15bを備えてもよい。この場合、例えば、画像データと文書照合結果を示す信号とが画像読取装置1bからコンピュータやネットワークを介して接続された複合機やプリンタ等の画像形成装置に入力され、文書照合結果に基づく処理が行われる。
また、上記各実施形態において、デジタル複写機1,1c、および画像読取装置1bに備えられる画像処理装置3の各部(例えば、圧縮処理部14、OCR処理部15、および文書照合処理部15bの各部)は、CPU等のプロセッサを用いてソフトウェアによって実現されるものであってもよい。すなわち、デジタル複写機1,1cおよび画像読取装置1bは、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるデジタル複写機1,1cおよび画像読取装置1bの制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、デジタル複写機1に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによって達成される。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、デジタル複写機1,1cおよび画像読取装置1bを通信ネットワークと接続可能に構成し、通信ネットワークを介して上記プログラムコードを供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
また、デジタル複写機1,1cおよび画像読取装置1bの各ブロックは、ソフトウェアを用いて実現されるものに限らず、ハードウェアロジックによって構成されるものであってもよく、処理の一部を行うハードウェアと当該ハードウェアの制御や残余の処理を行うソフトウェアを実行する演算手段とを組み合わせたものであってもよい。
本発明のコンピュータシステムは、フラットベッドスキャナ・フィルムスキャナ・デジタルカメラなどの画像入力装置、所定のプログラムがロードされることにより上記画像処理などの様々な処理が行われるコンピュータ、コンピュータの処理結果を表示するCRTディスプレイ・液晶ディスプレイなどの画像表示装置、およびコンピュータの処理結果を紙などに出力するプリンタ等の画像形成装置により構成されてもよい。さらには、ネットワークを介してサーバーなどに接続するための通信手段としてのネットワークカードやモデムなどが備えられていてもよい。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段あるいは異なる請求項に記載した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明は、原稿画像データから罫線画像情報を抽出する画像処理装置に適用できる。
本発明の一実施形態にかかる画像処理装置(画像読取装置、画像データ出力処理装置)に備えられる罫線抽出部の構成を示すブロック図である。 本発明の一実施形態にかかる画像処理装置(画像読取装置、画像データ出力処理装置)の概略構成を示すブロック図である。 図2に示した画像処理装置に備えられる圧縮処理部の構成を示すブロック図である。 図3に示した圧縮処理部に入力される入力画像データ、およびこの入力画像データに対する圧縮処理部による処理結果の一例を示す説明図である。 図1に示した罫線抽出部で扱われる信号の信号波形図である。 図1に示した罫線抽出部に備えられる第1データ変換部および第2データ変換部における処理を説明するための説明図である。 図1に示した罫線抽出部に備えられる副走査罫線抽出部によって検出される副走査ラン画像の一例を示す説明図である。 図1に示した罫線抽出部に備えられる副走査罫線抽出部の構成を示すブロック図である。 図8に示した副走査罫線抽出部に備えられるRUNVアクセス制御部の構成を示すブロック図である。 図8に示した副走査罫線抽出部に備えられるRUNVHSTアクセス制御部の構成を示すブロック図である。 図8に示した副走査罫線抽出部において行われる罫線抽出処理を説明するための説明図である。 図1に示した罫線抽出部に備えられる主走査罫線抽出部の構成を示すブロック図である。 図12に示した主走査罫線抽出部における処理の流れを示すフロー図である。 図1に示した罫線抽出部に備えられる罫線情報補正部において行われる膨張・縮退処理を説明するための説明図である。 (a)および(b)は、図1に示した罫線抽出部に備えられる罫線情報補正部において行われるフィルタ処理におけるフィルタ係数の一例を示す説明図である。 (a)は図12に示した主走査罫線抽出部に入力される画像データを示す説明図であり、(b)は(a)に示した画像データに対する主走査罫線抽出部による処理を示す説明図であり、(c)は(b)の処理によって生成される画像データを示す説明図である。 (a)および(b)は、図2に示した画像処理装置(画像読取装置、画像データ出力処理装置)において、入力画像データからエッジ画像を抽出する場合に用いられるフィルタ係数の一例を示す説明図である。 本発明の一実施形態にかかる画像処理装置の変形例(画像読取装置)の概略構成を示すブロック図である。 本発明の他の実施形態にかかる画像処理装置(画像読取装置、画像データ出力処理装置)の概略構成を示すブロック図である。
符号の説明
1,1c デジタル複合機(画像処理装置、画像読取装置、画像データ出力処理装置)
1b 画像読取装置(画像処理装置、画像読取装置)
2 カラー画像入力装置(撮像部)
3,3b カラー画像処理装置(画像処理装置)
4 カラー画像出力装置
14 圧縮処理部
15 OCR処理部
15b 文書照合処理部
41 罫線抽出部
42 罫線除去部
43 文字解析部
44 文書照合部(原稿特徴量抽出部、照合処理部)
51 第1データ変換部
52 第2データ変換部
53 罫線解析部
54 第3データ変換部
61 DMA制御部
62 副走査罫線抽出部(第2計数部)
63 主走査罫線抽出部(画素値判定部、計数部、罫線画像データ生成部)
64 罫線情報補正部
65 膨張・縮退処理部(膨張処理部、縮退処理部)
66 フィルタ処理部(エッジ補正部)
67 ライン情報格納部
71 副走査ラン判定部(第2計数部)
72 RUNVアクセス制御部
73 RUNVHSTアクセス制御部
81〜83 デマルチプレクサ
84 RUNVバッファCE発生部
85〜88 マルチプレクサ
89 RUNVHSTバッファCE発生部
91 フリップフロップ回路
92 ギャップ判定部
93a〜93c ディレイ回路
94 主走査ラン判定部(画素値判定部、計数部、罫線画像データ生成部)
95 出力タイミング信号生成部
96 RUNHアクセス制御部
M1 前景2値画像記憶部
M2 罫線画像記憶部

Claims (9)

  1. 原稿画像の画像データに基づいてこの原稿画像に含まれる罫線画像を抽出する画像処理装置であって、
    上記画像データにおける文字および線画に対応する画素の画素値をエッジ検出画素の画素値とし、文字および線画に対応する画素以外の画素の画素値を非エッジ検出画素の画素値とした2値画像データに基づいて上記罫線画像を抽出する罫線抽出部を備え、
    上記罫線抽出部は
    直列に接続された複数段のフリップフロップを有し、上記2値画像データにおける主走査方向に延伸する各ラインの画像データにおける各画素の画像データが主走査方向の上流側の画素から下流側の画素の順に1画素ずつ1段目のフリップフロップに入力され、入力された各画素の画像データを順次次段のフリップフロップに出力するフリップフロップ回路と、
    上記フリップフロップ回路における最終段のフリップフロップから出力される画像データが入力され、当該画像データに対応する画素を注目画素とし、上記注目画素がエッジ検出画素であるか非エッジ画素であるかを判定する画素値判定部と、
    上記2値画像データにおいて上記注目画素と同じラインに属する画素であって、上記注目画素に対して主走査方向の上流側に隣接し、かつ連続して存在するエッジ検出画素画素数を計数する第1計数部と、
    上記2値画像データにおける上記注目画素がエッジ検出画素であって、かつこの注目画素に対応する上記第1計数部の計数値が予め設定しておいた主走査ラン判定閾値以上である場合に、当該注目画素、および当該注目画素に対して主走査方向上流側に隣接する、上記主走査ラン判定閾値よりも大きな値に設定される所定数の画素を上記罫線画像を構成する画素として示した罫線画像データを生成する罫線画像データ生成部と
    上記2値画像データにおいて副走査方向に延伸する各画素列について、主走査方向に延伸する上記注目画素を含むラインに属する画素から副走査方向の上流側に連続して存在するエッジ検出画素の数を計数する第2計数部とを備えており、
    上記罫線画像データ生成部は、
    上記2値画像データにおける上記注目画素が非エッジ検出画素である場合、上記罫線画像データにおける上記注目画素に対して主走査方向の上流側に隣接する画素である前回注目画素が罫線画像を構成する画素であるか否かを判断し、
    上記罫線画像データにおける前回注目画素が罫線画像を構成する画素ではないと判断した場合には、上記罫線画像データにおける上記注目画素を、罫線画像を構成する画素ではない画素にする一方、
    上記罫線画像データにおける前回注目画素が罫線画像を構成する画素であると判断した場合には、上記フリップフロップ回路における各段のフリップフロップから出力される画像データに基づいて上記2値画像データにおける上記注目画素に対して主走査方向下流側に隣接するm画素(mは1以上かつ上記フリップフロップ回路に備えられるフリップフロップの段数よりも小さい値の範囲内で設定される整数)の中にエッジ検出画素が存在するか否かを判断し、存在する場合には上記罫線画像データにおける上記注目画素を、罫線画像を構成する画素とし、
    上記m画素の中にエッジ検出画素が存在しないと判断した場合であって、上記注目画素が属する上記画素列についての上記第2計数部による計数値が予め設定された副走査ラン判定閾値以上である場合には、上記罫線画像データにおける上記注目画素を、罫線画像を構成する画素にし、
    上記m画素の中にエッジ検出画素が存在しないと判断した場合であって、上記注目画素が属する上記画素列についての上記第2計数部による計数値が上記副走査ラン判定閾値未満である場合には、上記罫線画像データにおける上記注目画素を、罫線画像を構成しない画素にすることを特徴とする画像処理装置。
  2. 上記罫線画像データにおける各画素を注目画素として順次選択し、注目画素の周囲8画素の中に上記罫線画像を構成する画素が存在する場合にこの注目画素を上記罫線画像を構成する画素とする膨張処理を行う膨張処理部と、
    膨張処理後の上記罫線画像データにおける各画素を注目画素として順次選択し、注目画素の周囲8画素の中に上記罫線画像を構成しない画素が存在する場合にこの注目画素を上記罫線画像を構成しない画素とする縮退処理を行う縮退処理部とを備えていることを特徴とする請求項1に記載の画像処理装置。
  3. 上記縮退処理後の罫線画像データに対してエッジ強調処理を行うエッジ補正部を備えていることを特徴とする請求項2に記載の画像処理装置。
  4. 上記2値画像データを記憶する画像データ記憶部と、
    上記画像データ記憶部から上記2値画像データを主走査方向に沿ったライン毎に読み出す第1データ読出部および第2データ読出部と、
    上記各画素列についての上記第2計数部による計数値が予め設定された副走査ラン判定閾値以上であるか否かを示す情報を記憶する副走査ラン履歴記憶部とを備え、
    上記第2計数部は、上記第1データ読出部によってライン毎に読み出された上記2値画像データに基づいて上記計数を行い、
    上記第1計数部は、上記第2データ読出部によってライン毎に読み出された上記2値画像データに基づいて上記計数を行うようになっており、
    上記第2データ読出部は、上記第1データ読出部よりも上記2値画像データの読出しを予め設定された所定ライン分遅れて開始し、
    上記罫線画像データ生成部は、上記注目画素が属する上記画素列についての上記第2計数部による計数値が予め設定された副走査ラン判定閾値以上であるか否かの判断を、上記副走査ラン履歴記憶部に記憶されている上記情報に基づいて行うことを特徴とする請求項に記載の画像処理装置。
  5. 上記罫線画像データにおける上記罫線画像を構成する画素に対応する上記2値画像データの各画素の画素値を非エッジ検出画素の画素値に置き換えることにより上記2値画像データから罫線画像を除去する罫線除去部と、
    罫線画像を除去した後の上記2値画像データに含まれるエッジ検出画素からなる文字画像について文字認識処理を行う文字解析部とを備えていることを特徴とする請求項1からのいずれか1項に記載の画像処理装置。
  6. 登録画像に含まれる罫線の特徴量である登録罫線情報を記憶する登録罫線情報記憶部と、
    原稿画像に対応する上記罫線画像データの特徴量を抽出する原稿特徴量抽出部と、
    上記登録罫線情報と上記原稿特徴量抽出部の抽出した上記罫線画像データの特徴量とに基づいて上記原稿画像と上記登録画像との照合処理を行う照合処理部とを備えていることを特徴とする請求項1からのいずれか1項に記載の画像処理装置。
  7. 原稿画像を読み取って原稿画像の画像データを取得する撮像部と、
    請求項1からのいずれか1項に記載の画像処理装置とを備え、
    上記画像処理装置は、上記撮像部によって取得した原稿画像の画像データに基づいてこの原稿画像の罫線画像データを生成することを特徴とする画像読取装置。
  8. 画像データに対して出力処理を施す画像データ出力処理装置であって、
    請求項に記載の画像処理装置と、
    上記画像処理装置における上記照合処理の結果に基づいて、原稿画像の画像データに対する出力処理を制御する出力処理制御部とを備えていることを特徴とする画像データ出力処理装置。
  9. 原稿画像の画像データに基づいてこの原稿画像に含まれる罫線画像を抽出する画像処理方法であって、
    上記画像データにおける文字および線画に対応する画素の画素値をエッジ検出画素の画素値とし、文字および線画に対応する画素以外の画素の画素値を非エッジ検出画素の画素値とした2値画像データに基づいて上記罫線画像を抽出する罫線抽出工程を含み、
    上記罫線抽出工程は
    直列に接続された複数段のフリップフロップを有し、上記2値画像データにおける主走査方向に延伸する各ラインの画像データにおける各画素の画像データが主走査方向の上流側の画素から下流側の画素の順に1画素ずつ1段目のフリップフロップに入力され、入力された各画素の画像データを順次次段のフリップフロップに出力するフリップフロップ回路における最終段のフリップフロップから出力される画像データに対応する画素を注目画素とし、上記注目画素がエッジ検出画素であるか非エッジ画素であるかを判定する画素値判定工程と、
    上記2値画像データにおいて上記注目画素と同じラインに属する画素であって、上記注目画素に対して主走査方向の上流側に隣接し、かつ連続して存在するエッジ検出画素画素数を計数する第1計数工程と、
    上記2値画像データにおける上記注目画素がエッジ検出画素であって、かつこの注目画素に対応する上記第1計数工程の計数値が予め設定しておいた主走査ラン判定閾値以上である場合に、当該注目画素、および当該注目画素に対して主走査方向上流側に隣接する、上記主走査ラン判定閾値よりも大きな値に設定される所定数の画素を上記罫線画像を構成する画素として示した罫線画像データを生成する罫線画像データ生成工程と
    上記2値画像データにおいて副走査方向に延伸する各画素列について、主走査方向に延伸する上記注目画素を含むラインに属する画素から副走査方向の上流側に連続して存在するエッジ検出画素の数を計数する第2計数工程とを含み
    上記罫線画像データ生成工程では、
    上記2値画像データにおける上記注目画素が非エッジ検出画素である場合、上記罫線画像データにおける上記注目画素に対して主走査方向の上流側に隣接する画素である前回注目画素が罫線画像を構成する画素であるか否かを判断し、
    上記罫線画像データにおける前回注目画素が罫線画像を構成する画素ではないと判断した場合には、上記罫線画像データにおける上記注目画素を、罫線画像を構成する画素ではない画素にする一方、
    上記罫線画像データにおける前回注目画素が罫線画像を構成する画素であると判断した場合には、上記フリップフロップ回路における各段のフリップフロップから出力される画像データに基づいて上記2値画像データにおける上記注目画素に対して主走査方向下流側に隣接するm画素(mは1以上かつ上記フリップフロップ回路に備えられるフリップフロップの段数よりも小さい値の範囲内で設定される整数)の中にエッジ検出画素が存在するか否かを判断し、存在する場合には上記罫線画像データにおける上記注目画素を、罫線画像を構成する画素とし、
    上記m画素の中にエッジ検出画素が存在しないと判断した場合であって、上記注目画素が属する上記画素列についての上記第2計数工程の計数値が予め設定された副走査ラン判定閾値以上である場合には、上記罫線画像データにおける上記注目画素を、罫線画像を構成する画素にし、
    上記m画素の中にエッジ検出画素が存在しないと判断した場合であって、上記注目画素が属する上記画素列についての上記第2計数工程による計数値が上記副走査ラン判定閾値未満である場合には、上記罫線画像データにおける上記注目画素を、罫線画像を構成しない画素にすることを特徴とする画像処理方法。
JP2008052337A 2008-03-03 2008-03-03 画像処理装置、画像読取装置、画像データ出力処理装置、および画像処理方法 Expired - Fee Related JP4491488B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008052337A JP4491488B2 (ja) 2008-03-03 2008-03-03 画像処理装置、画像読取装置、画像データ出力処理装置、および画像処理方法
US12/395,913 US8116568B2 (en) 2008-03-03 2009-03-02 Image processing apparatus, image reading apparatus, image data output processing apparatus, and image processing method
CN2009101264222A CN101526998B (zh) 2008-03-03 2009-03-02 图像的处理装置及方法、读取装置和数据输出处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008052337A JP4491488B2 (ja) 2008-03-03 2008-03-03 画像処理装置、画像読取装置、画像データ出力処理装置、および画像処理方法

Publications (2)

Publication Number Publication Date
JP2009211296A JP2009211296A (ja) 2009-09-17
JP4491488B2 true JP4491488B2 (ja) 2010-06-30

Family

ID=41013216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008052337A Expired - Fee Related JP4491488B2 (ja) 2008-03-03 2008-03-03 画像処理装置、画像読取装置、画像データ出力処理装置、および画像処理方法

Country Status (3)

Country Link
US (1) US8116568B2 (ja)
JP (1) JP4491488B2 (ja)
CN (1) CN101526998B (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5003394B2 (ja) * 2007-10-05 2012-08-15 セイコーエプソン株式会社 ファイル生成プログラム、画像処理装置、および画像処理方法
JP4491488B2 (ja) * 2008-03-03 2010-06-30 シャープ株式会社 画像処理装置、画像読取装置、画像データ出力処理装置、および画像処理方法
TW201103307A (en) * 2009-07-10 2011-01-16 Shanghai Microtek Technology Co Ltd Calibrating device, mapping and compensation method for image sensors
US9454607B1 (en) * 2010-12-10 2016-09-27 A9.Com, Inc. Image as database
US20120162449A1 (en) * 2010-12-23 2012-06-28 Matthias Braun Digital image stabilization device and method
US8334911B2 (en) 2011-04-15 2012-12-18 Dolby Laboratories Licensing Corporation Encoding, decoding, and representing high dynamic range images
JP5863000B2 (ja) * 2011-07-22 2016-02-16 富士ゼロックス株式会社 画像処理装置、画像形成装置およびプログラム
CN102999897A (zh) * 2011-09-19 2013-03-27 香港中文大学 基于sar图像检测海面溢油的方法和装置
JP5899918B2 (ja) * 2011-12-27 2016-04-06 株式会社リコー 画像処理装置、画像処理方法
JP6039944B2 (ja) * 2012-07-11 2016-12-07 グローリー株式会社 帳票種類判別装置および帳票種類判別方法
JP5822865B2 (ja) * 2013-04-25 2015-11-25 京セラドキュメントソリューションズ株式会社 画像処理装置、罫線判定方法、及び罫線判定プログラム
US10171696B2 (en) * 2017-01-09 2019-01-01 Kabushiki Kaisha Toshiba Image processing apparatus and image processing method for recognizing characters in character string regions and table regions on a medium
US10685459B2 (en) 2018-06-01 2020-06-16 Adobe Inc. Generating enhanced digital images by selectively transforming raster images to vector drawing segments
US10607374B2 (en) * 2018-06-01 2020-03-31 Adobe Inc. Generating enhanced digital images by selectively transforming raster images to vector drawing segments
US10769429B2 (en) * 2018-08-31 2020-09-08 Wipro Limited Method and system for extracting text from an engineering drawing
US11126788B2 (en) * 2019-09-11 2021-09-21 Adobe Inc. Font capture from images of target decorative character glyphs
JP2022014322A (ja) * 2020-07-06 2022-01-19 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
JP2022121131A (ja) * 2021-02-08 2022-08-19 京セラドキュメントソリューションズ株式会社 画像処理装置および画像形成装置
US11665296B2 (en) * 2021-06-24 2023-05-30 Brother Kogyo Kabushiki Kaisha Image reading device
US20230094651A1 (en) 2021-09-30 2023-03-30 Konica Minolta Business Solutions U.S.A., Inc. Extracting text from an image
CN114332744B (zh) * 2022-03-10 2022-06-07 成都诺比侃科技有限公司 一种基于机器视觉的变电站自适应安防方法及系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208744B1 (en) * 1994-12-14 2001-03-27 Casio Computer Co., Ltd. Document image processor and method for setting a document format conforming to a document image
JP3469345B2 (ja) 1995-03-16 2003-11-25 株式会社東芝 画像のファイリング装置及びファイリング方法
JP3749282B2 (ja) * 1995-05-16 2006-02-22 株式会社東芝 画像処理装置
JP3814320B2 (ja) * 1995-12-14 2006-08-30 キヤノン株式会社 画像処理方法及び装置
US6226402B1 (en) * 1996-12-20 2001-05-01 Fujitsu Limited Ruled line extracting apparatus for extracting ruled line from normal document image and method thereof
US6327387B1 (en) * 1996-12-27 2001-12-04 Fujitsu Limited Apparatus and method for extracting management information from image
JP3411472B2 (ja) * 1997-05-30 2003-06-03 富士通株式会社 パターン抽出装置
JP3995185B2 (ja) * 2000-07-28 2007-10-24 株式会社リコー 枠認識装置及び記録媒体
CN1294523C (zh) * 2004-06-04 2007-01-10 北京大学计算机科学技术研究所 一种已知表格的版面自动定向和定位方法
CN100517374C (zh) * 2005-12-29 2009-07-22 佳能株式会社 从复杂背景文档图像提取文本的装置、方法
JP4329764B2 (ja) 2006-01-17 2009-09-09 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置および罫線抽出プログラム
CN100464346C (zh) * 2006-04-29 2009-02-25 北大方正集团有限公司 一种表格图像几何畸变的数字校正方法
JP4270266B2 (ja) * 2006-11-29 2009-05-27 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、線幅制御方法、および線幅制御プログラム
CN101009018A (zh) * 2007-01-17 2007-08-01 白涛 房屋所有权证、卡防伪核验查询信息系统
JP4491488B2 (ja) * 2008-03-03 2010-06-30 シャープ株式会社 画像処理装置、画像読取装置、画像データ出力処理装置、および画像処理方法

Also Published As

Publication number Publication date
JP2009211296A (ja) 2009-09-17
CN101526998B (zh) 2012-01-04
US8116568B2 (en) 2012-02-14
US20090220154A1 (en) 2009-09-03
CN101526998A (zh) 2009-09-09

Similar Documents

Publication Publication Date Title
JP4491488B2 (ja) 画像処理装置、画像読取装置、画像データ出力処理装置、および画像処理方法
US7599099B2 (en) Image processing apparatus and image processing method
JP4362528B2 (ja) 画像照合装置、画像照合方法、画像データ出力処理装置、プログラム、及び記録媒体
US8351707B2 (en) Image processing apparatus, image forming apparatus, image processing system, and image processing method
US8265345B2 (en) Image processing method, image processing apparatus, image forming apparatus, and image reading apparatus
US8050501B2 (en) Image matching apparatus, image matching method, and image data output processing apparatus
JP2002084420A (ja) 画像処理装置、画像処理方法および画像処理プログラムが格納された記録媒体
US20080187249A1 (en) Image processing method, image processing apparatus, image reading apparatus, image forming apparatus, and recording medium
US20080031549A1 (en) Image processing apparatus, image reading apparatus, image forming apparatus, image processing method, and recording medium
JP3715905B2 (ja) 画像処理装置、画像処理方法、プログラム並びに記憶媒体
JP4487000B2 (ja) 画像処理装置、画像形成装置、画像処理方法、画像処理システム、画像処理プログラムおよびその記録媒体
JP6370080B2 (ja) 画像処理装置、画像処理方法及びプログラム。
JP3073837B2 (ja) 画像領域分離装置及び画像領域分離方法
JP2007088912A (ja) 画像処理装置およびプログラム
JP5517028B2 (ja) 画像処理装置
JP7413751B2 (ja) 画像処理システムおよびプログラム
US20100188670A1 (en) Image processing apparatus, image processing method and program executing the image processing method
JP2010074300A (ja) 画像処理装置、画像読取装置及び画像形成装置
JP7185451B2 (ja) 画像処理装置と画像処理方法、及びプログラム
JP2010286917A (ja) 画像処理装置、画像読取装置、複合機、画像処理方法、プログラムおよび記録媒体
JPH06150059A (ja) 像域分離装置
JP3564216B2 (ja) 画像処理装置
JP2006262215A (ja) 画像処理装置、画像処理方法、画像処理プログラム、および該プログラムを記録した記録媒体
JPH11127353A (ja) 画像処理装置及び画像処理方法
JP2007082164A (ja) 画像処理装置、画像形成装置、画像処理方法、プログラム及び記憶媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100122

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100405

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees