(57)【特許請求の範囲】
【請求項１】
原稿画像の画像データに基づいてこの原稿画像に含まれる罫線画像を抽出する画像処理装置であって、
上記画像データにおける文字および線画に対応する画素の画素値をエッジ検出画素の画素値とし、文字および線画に対応する画素以外の画素の画素値を非エッジ検出画素の画素値とした２値画像データに基づいて上記罫線画像を抽出する罫線抽出部を備え、
上記罫線抽出部は、
直列に接続された複数段のフリップフロップを有し、上記２値画像データにおける主走査方向に延伸する各ラインの画像データにおける各画素の画像データが主走査方向の上流側の画素から下流側の画素の順に１画素ずつ１段目のフリップフロップに入力され、入力された各画素の画像データを順次次段のフリップフロップに出力するフリップフロップ回路と、
上記フリップフロップ回路における最終段のフリップフロップから出力される画像データが入力され、当該画像データに対応する画素を注目画素とし、上記注目画素がエッジ検出画素であるか非エッジ画素であるかを判定する画素値判定部と、
上記２値画像データにおいて上記注目画素と同じラインに属する画素であって、上記注目画素に対して主走査方向の上流側に隣接し、かつ連続して存在するエッジ検出画素の画素数を計数する第１計数部と、
上記２値画像データにおける上記注目画素がエッジ検出画素であって、かつこの注目画素に対応する上記第１計数部の計数値が予め設定しておいた主走査ラン判定閾値以上である場合に、当該注目画素、および当該注目画素に対して主走査方向上流側に隣接する、上記主走査ラン判定閾値よりも大きな値に設定される所定数の画素を上記罫線画像を構成する画素として示した罫線画像データを生成する罫線画像データ生成部と、
上記２値画像データにおいて副走査方向に延伸する各画素列について、主走査方向に延伸する上記注目画素を含むラインに属する画素から副走査方向の上流側に連続して存在するエッジ検出画素の数を計数する第２計数部とを備えており、
上記罫線画像データ生成部は、
上記２値画像データにおける上記注目画素が非エッジ検出画素である場合、上記罫線画像データにおける上記注目画素に対して主走査方向の上流側に隣接する画素である前回注目画素が罫線画像を構成する画素であるか否かを判断し、
上記罫線画像データにおける前回注目画素が罫線画像を構成する画素ではないと判断した場合には、上記罫線画像データにおける上記注目画素を、罫線画像を構成する画素ではない画素にする一方、
上記罫線画像データにおける前回注目画素が罫線画像を構成する画素であると判断した場合には、上記フリップフロップ回路における各段のフリップフロップから出力される画像データに基づいて上記２値画像データにおける上記注目画素に対して主走査方向下流側に隣接するｍ画素（ｍは１以上かつ上記フリップフロップ回路に備えられるフリップフロップの段数よりも小さい値の範囲内で設定される整数）の中にエッジ検出画素が存在するか否かを判断し、存在する場合には上記罫線画像データにおける上記注目画素を、罫線画像を構成する画素とし、
上記ｍ画素の中にエッジ検出画素が存在しないと判断した場合であって、上記注目画素が属する上記画素列についての上記第２計数部による計数値が予め設定された副走査ラン判定閾値以上である場合には、上記罫線画像データにおける上記注目画素を、罫線画像を構成する画素にし、
上記ｍ画素の中にエッジ検出画素が存在しないと判断した場合であって、上記注目画素が属する上記画素列についての上記第２計数部による計数値が上記副走査ラン判定閾値未満である場合には、上記罫線画像データにおける上記注目画素を、罫線画像を構成しない画素にすることを特徴とする画像処理装置。
【請求項２】
上記罫線画像データにおける各画素を注目画素として順次選択し、注目画素の周囲８画素の中に上記罫線画像を構成する画素が存在する場合にこの注目画素を上記罫線画像を構成する画素とする膨張処理を行う膨張処理部と、
膨張処理後の上記罫線画像データにおける各画素を注目画素として順次選択し、注目画素の周囲８画素の中に上記罫線画像を構成しない画素が存在する場合にこの注目画素を上記罫線画像を構成しない画素とする縮退処理を行う縮退処理部とを備えていることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
上記縮退処理後の罫線画像データに対してエッジ強調処理を行うエッジ補正部を備えていることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
上記２値画像データを記憶する画像データ記憶部と、
上記画像データ記憶部から上記２値画像データを主走査方向に沿ったライン毎に読み出す第１データ読出部および第２データ読出部と、
上記各画素列についての上記第２計数部による計数値が予め設定された副走査ラン判定閾値以上であるか否かを示す情報を記憶する副走査ラン履歴記憶部とを備え、
上記第２計数部は、上記第１データ読出部によってライン毎に読み出された上記２値画像データに基づいて上記計数を行い、
上記第１計数部は、上記第２データ読出部によってライン毎に読み出された上記２値画像データに基づいて上記計数を行うようになっており、
上記第２データ読出部は、上記第１データ読出部よりも上記２値画像データの読出しを予め設定された所定ライン分遅れて開始し、
上記罫線画像データ生成部は、上記注目画素が属する上記画素列についての上記第２計数部による計数値が予め設定された副走査ラン判定閾値以上であるか否かの判断を、上記副走査ラン履歴記憶部に記憶されている上記情報に基づいて行うことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
上記罫線画像データにおける上記罫線画像を構成する画素に対応する上記２値画像データの各画素の画素値を非エッジ検出画素の画素値に置き換えることにより上記２値画像データから罫線画像を除去する罫線除去部と、
罫線画像を除去した後の上記２値画像データに含まれるエッジ検出画素からなる文字画像について文字認識処理を行う文字解析部とを備えていることを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
登録画像に含まれる罫線の特徴量である登録罫線情報を記憶する登録罫線情報記憶部と、
原稿画像に対応する上記罫線画像データの特徴量を抽出する原稿特徴量抽出部と、
上記登録罫線情報と上記原稿特徴量抽出部の抽出した上記罫線画像データの特徴量とに基づいて上記原稿画像と上記登録画像との照合処理を行う照合処理部とを備えていることを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
原稿画像を読み取って原稿画像の画像データを取得する撮像部と、
請求項１から６のいずれか１項に記載の画像処理装置とを備え、
上記画像処理装置は、上記撮像部によって取得した原稿画像の画像データに基づいてこの原稿画像の罫線画像データを生成することを特徴とする画像読取装置。
【請求項８】
画像データに対して出力処理を施す画像データ出力処理装置であって、
請求項６に記載の画像処理装置と、
上記画像処理装置における上記照合処理の結果に基づいて、原稿画像の画像データに対する出力処理を制御する出力処理制御部とを備えていることを特徴とする画像データ出力処理装置。
【請求項９】
原稿画像の画像データに基づいてこの原稿画像に含まれる罫線画像を抽出する画像処理方法であって、
上記画像データにおける文字および線画に対応する画素の画素値をエッジ検出画素の画素値とし、文字および線画に対応する画素以外の画素の画素値を非エッジ検出画素の画素値とした２値画像データに基づいて上記罫線画像を抽出する罫線抽出工程を含み、
上記罫線抽出工程は、
直列に接続された複数段のフリップフロップを有し、上記２値画像データにおける主走査方向に延伸する各ラインの画像データにおける各画素の画像データが主走査方向の上流側の画素から下流側の画素の順に１画素ずつ１段目のフリップフロップに入力され、入力された各画素の画像データを順次次段のフリップフロップに出力するフリップフロップ回路における最終段のフリップフロップから出力される画像データに対応する画素を注目画素とし、上記注目画素がエッジ検出画素であるか非エッジ画素であるかを判定する画素値判定工程と、
上記２値画像データにおいて上記注目画素と同じラインに属する画素であって、上記注目画素に対して主走査方向の上流側に隣接し、かつ連続して存在するエッジ検出画素の画素数を計数する第１計数工程と、
上記２値画像データにおける上記注目画素がエッジ検出画素であって、かつこの注目画素に対応する上記第１計数工程の計数値が予め設定しておいた主走査ラン判定閾値以上である場合に、当該注目画素、および当該注目画素に対して主走査方向上流側に隣接する、上記主走査ラン判定閾値よりも大きな値に設定される所定数の画素を上記罫線画像を構成する画素として示した罫線画像データを生成する罫線画像データ生成工程と、
上記２値画像データにおいて副走査方向に延伸する各画素列について、主走査方向に延伸する上記注目画素を含むラインに属する画素から副走査方向の上流側に連続して存在するエッジ検出画素の数を計数する第２計数工程とを含み、
上記罫線画像データ生成工程では、
上記２値画像データにおける上記注目画素が非エッジ検出画素である場合、上記罫線画像データにおける上記注目画素に対して主走査方向の上流側に隣接する画素である前回注目画素が罫線画像を構成する画素であるか否かを判断し、
上記罫線画像データにおける前回注目画素が罫線画像を構成する画素ではないと判断した場合には、上記罫線画像データにおける上記注目画素を、罫線画像を構成する画素ではない画素にする一方、
上記罫線画像データにおける前回注目画素が罫線画像を構成する画素であると判断した場合には、上記フリップフロップ回路における各段のフリップフロップから出力される画像データに基づいて上記２値画像データにおける上記注目画素に対して主走査方向下流側に隣接するｍ画素（ｍは１以上かつ上記フリップフロップ回路に備えられるフリップフロップの段数よりも小さい値の範囲内で設定される整数）の中にエッジ検出画素が存在するか否かを判断し、存在する場合には上記罫線画像データにおける上記注目画素を、罫線画像を構成する画素とし、
上記ｍ画素の中にエッジ検出画素が存在しないと判断した場合であって、上記注目画素が属する上記画素列についての上記第２計数工程の計数値が予め設定された副走査ラン判定閾値以上である場合には、上記罫線画像データにおける上記注目画素を、罫線画像を構成する画素にし、
上記ｍ画素の中にエッジ検出画素が存在しないと判断した場合であって、上記注目画素が属する上記画素列についての上記第２計数工程による計数値が上記副走査ラン判定閾値未満である場合には、上記罫線画像データにおける上記注目画素を、罫線画像を構成しない画素にすることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿画像の画像データに基づいてこの原稿画像に含まれる罫線画像を抽出する技術に関するものである。
【背景技術】
【０００２】
近年、デジタルカラー複合機等のデジタル画像処理装置において、入力画像データをデジタル信号として扱うことを利用した様々な付加機能を適用することが提案されている。
【０００３】
上記付加機能の一例としては、例えば、原稿画像から文字画像を抽出し、抽出した文字画像をテキストデータに変換するＯＣＲ機能が挙げられる。ＯＣＲ機能は、一般に、原稿画像を領域分離処理し、文字部分の特徴として抽出されるエッジ検出画素の連続領域、すなわち原稿画像内に存在する主走査および副走査方向のエッジ検出画素ランを検出することで文字と考えられる矩形領域を抽出し、抽出した矩形領域内のエッジ検出画素分布を解析することでその文字の特定を行い、その文字に対して付与されている文字コードに変換することによって行われている。このため、文字矩形部分の抽出処理がＯＣＲ処理の精度を左右する大きな要因となっている。
【０００４】
ところで、上記した従来の文字矩形領域の抽出処理は、基本的に、原稿画像における文字画像間には主走査および副走査方向共にエッジ検出画素がないこと、すなわち各文字が繋がっていないことを前提としている。
【０００５】
しかしながら、原稿画像の中に文字部の下線、文字部を囲む線、あるいは主走査および副走査方向に伸びる線等の罫線画像が含まれている場合、これらの罫線画像も文字画像部分と同様にエッジ検出画素のランと判断されてしまうため、文字矩形抽出処理において罫線画像を基準とした複数文字で構成される横長もしくは縦長の画像エリアが１つの文字矩形として抽出されてしまう。このため、上記の画像エリアにおいて文字解析処理の精度が著しく低下し、それに伴ってＯＣＲ機能の精度が著しく低下してしまう。
【０００６】
そこで、ＯＣＲ機能においては、文字矩形抽出処理の前処理として原稿画像内の罫線除去処理（罫線抽出処理）を行う必要があり、ＯＣＲ機能の精度を高めるために罫線抽出処理の精度を向上させることが求められている。
【０００７】
また、上記付加機能の他の例として、文書照合処理が挙げられる。例えば、特許文献１には、原稿画像から罫線情報を抽出し、抽出した罫線情報を用いて帳票等の照合処理を行う技術が開示されている。このような、罫線情報を用いて照合処理を行う技術においても、照合処理の精度を高めるためには罫線抽出処理の精度を向上させることが求められている。
【０００８】
なお、罫線抽出処理に関する技術として、例えば特許文献２には、まず、原稿画像を第１の方向にスキャンし、閾値以上の長さの線分を「第１の罫線」として検出し、その後、上記線分上のいずれかの点から第２の方向に伸びている線分のうち閾値以上の長さを有する線分を「第２の罫線」として検出する技術が開示されている。
【特許文献１】特開平８−２５５２３６号公報（平成８年１０月１日公開）
【特許文献２】特開２００７−１９３４４６号公報（平成１９年８月２日公開）
【特許文献３】特許第３７７９７４１号公報（平成８年２月２日公開）
【特許文献４】特開２００２−０９４８０５号公報（平成１４年３月２９日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献２の技術では、「第２の罫線」として抽出される罫線は「第１の罫線」と連結している罫線に限られるので、「第１の罫線」と連結しておらず孤立して存在する罫線が存在する場合にはこの罫線が抽出されないという問題がある。
【００１０】
また、上記特許文献２の技術では、原稿画像を様々な方向にスキャンする必要があるので、検出装置の内部に原稿画像全体の画像データを格納するためのフレームバッファ用のメモリを備える必要があり、検出装置の回路規模が増大してしまうという問題がある。
【００１１】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、罫線抽出処理を精度よく行うことのできる画像処理装置、画像処理方法、画像読取装置、および画像データ出力処理装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の画像処理装置は、上記の課題を解決するために、原稿画像の２値画像データに基づいてこの原稿画像に含まれる罫線画像を抽出する画像処理装置であって、上記２値画像データにおける注目画素が黒画素であるか白画素であるかを判定する画素値判定部と、上記２値画像データにおける上記注目画素に対して主走査方向の上流側に連続して存在する黒画素の数を計数する計数部と、上記２値画像データにおける上記注目画素が黒画素であって、かつこの注目画素に対応する上記計数値が予め設定しておいた主走査ラン判定閾値以上である場合に、この注目画素から主走査方向上流側に隣接する所定数の画素の画素値を黒画素に対応する画素値に補正して罫線画像データを生成する罫線画像データ生成部とを備えていることを特徴としている。
【００１３】
上記の構成によれば、画素値判定部が上記２値画像データにおける注目画素が黒画素であるか白画素であるかを判定し、計数部が上記２値画像データにおける注目画素に対して主走査方向の上流側に連続して存在する黒画素の数を計数する。そして、罫線画像データ生成部が、上記２値画像データにおける上記注目画素が黒画素であって、かつこの注目画素に対応する上記計数値が予め設定しておいた主走査ラン判定閾値以上である場合に、この注目画素から主走査方向上流側に隣接する所定数の画素の画素値を黒画素に対応する画素値に補正して罫線画像データを生成する。
【００１４】
これにより、画像読取時の読取誤差等によって主走査方向の罫線にかすれや途切れ等が生じている場合であっても、これらのかすれや途切れを補った罫線画像データを作成することができる。つまり、本来は１本の罫線であるにもかかわらず、読取誤差等によって断片化した罫線画像を１本の罫線画像に補正できる。したがって、罫線抽出処理を精度よく行うことができる。また、上記特許文献２の技術のように原稿画像を様々な方向にスキャンする必要がないので、特許文献２の構成よりも画像処理装置の回路規模を小さくできる。
【００１５】
また、上記罫線画像データにおける注目画素の周囲８画素の中に黒画素が存在する場合にこの注目画素の画素値を黒画素に対応する画素値に補正する膨張処理を行う膨張処理部と、膨張処理後の上記罫線画像データにおける注目画素の周囲８画素の中に白画素が存在する場合にこの注目画素の画素値を白画素に対応する画素値に補正する縮退処理を行う縮退処理部とを備えている構成としてもよい。
【００１６】
上記の構成によれば、罫線画像データに対して上記膨張処理および上記縮退処理を施すことにより、文字や孤立点（罫線画像と連結していない黒画素）を除去するとともに、罫線内部の白画素の穴埋めを行うことができる。
【００１７】
また、上記縮退処理後の罫線画像データに対してエッジ強調処理を行うエッジ補正部を備えている構成としてもよい。
【００１８】
上記の構成によれば、上記縮退処理後の罫線画像データに対してエッジ強調処理を行うことにより、罫線画像をより明瞭に表すことができる。
【００１９】
また、上記罫線画像データ生成部は、上記２値画像データにおける上記注目画素が白画素である場合、上記罫線画像データにおける上記注目画素に対して主走査方向の上流側に隣接する画素である前回注目画素が黒画素であるか白画素であるかを判断し、上記罫線画像データにおける前回注目画素が白画素であると判断した場合には、上記罫線画像データにおける上記注目画素の画素値を白画素に対応する画素値にする一方、上記罫線画像データにおける前回注目画素が黒画素であると判断した場合には、上記２値画像データにおける上記注目画素に対して主走査方向上流側に隣接する所定数の画素の中に黒画素が存在するか否かを判断し、存在する場合には上記罫線画像データにおける上記注目画素の画素値を黒画素に対応する画素値にする構成としてもよい。
【００２０】
上記の構成によれば、上記２値画像データにおける注目画素が白画素である場合であっても、上記罫線画像データにおける前回注目画素が黒画素であって、かつ上記２値画像データにおける注目画素に対して主走査方向上流側に隣接する所定数の画素の中に黒画素が存在する場合には上記罫線画像データにおける注目画素の画素値を黒画素に対応する画素値にする。これにより、画像読取時の読取誤差等によって主走査方向の罫線にかすれや途切れ等が生じている場合であっても、これらのかすれや途切れを補った罫線画像データを作成することができるので、罫線抽出処理を精度よく行うことができる。
【００２１】
また、上記２値画像データにおいて副走査方向に延伸する各画素列について、副走査方向に連続して存在する黒画素の数を計数する第２計数部を備え、上記罫線画像データ生成部は、上記所定数の画素の中に黒画素が存在しないと判断した場合であって、上記注目画素が属する上記画素列についての上記第２計数部による計数値が予め設定された副走査ラン判定閾値以上である場合には上記罫線画像データにおける上記注目画素の画素値を黒画素に対応する画素値にし、上記所定数の画素の中に黒画素が存在しないと判断した場合であって、上記注目画素が属する上記画素列についての上記第２計数部による計数値が上記副走査ラン判定閾値未満である場合には上記罫線画像データにおける上記注目画素の画素値を白画素に対応する画素値にする構成としてもよい。
【００２２】
上記の構成によれば、画像読取時の読取誤差等によって主走査方向の罫線にかすれや途切れ等が生じている場合であっても、これらのかすれや途切れに対応する画素列に副走査方向のラン画像（副走査方向に連続して存在する黒画素の数が副走査ラン判定閾値以上である画像）が存在する場合には、上記のかすれや途切れの領域を黒画素とし、かすれや途切れを補った罫線画像データを作成できる。
【００２３】
また、上記２値画像データを記憶する画像データ記憶部と、上記画像データ記憶部から上記２値画像データを主走査方向に沿ったライン毎に読み出す第１データ読出部および第２データ読出部と、上記各画素列についての上記第２計数部による計数値が予め設定された副走査ラン判定閾値以上であるか否かを示す情報を記憶する副走査ラン履歴記憶部とを備え、上記第２計数部は、上記第１データ読出部によってライン毎に読み出された上記２値画像データに基づいて上記計数を行い、上記計数部は、上記第２データ読出部によってライン毎に読み出された上記２値画像データに基づいて上記計数を行うようになっており、上記第２データ読出部は、上記第１データ読出部よりも上記２値画像データの読出しを予め設定された所定ライン分遅れて開始し、上記罫線画像データ生成部は、上記注目画素が属する上記画素列についての上記第２計数部による計数値が予め設定された副走査ラン判定閾値以上であるか否かの判断を、上記副走査ラン履歴記憶部に記憶されている上記情報に基づいて行う構成としてもよい。
【００２４】
上記の構成によれば、第２データ読出部が第１データ読出部よりも２値画像データの読出しを予め設定された所定ライン分遅れて開始するので、罫線画像データ生成部が注目画素が属する画素列についての第２計数部による計数値が副走査ラン判定閾値以上であるか否かの判断を行うときには、注目画素が属する画素列のうち少なくとも注目画素から副走査方向上流側の所定ライン分についての第２計数部による計数値と副走査ラン判定閾値との比較結果を示す情報が副走査ラン履歴記憶部に既に格納されている。したがって、この情報を用いて上記判断を行うことができるので、第２計数部による計数値と副走査ラン判定閾値との比較を全ラインおよび全画素について行ってから上記判断を行う場合に比べて処理時間を短くできる。また、副走査ラン履歴記憶部に各画素列の計数値が副走査ラン判定閾値以上であるかを示す情報を記憶させておくだけでいいので、全ラインについての各画素の計数値と副走査ラン判定閾値との比較結果を記憶させておく必要がなく、記憶容量の小さい記憶手段を用いて上記の構成を実現できる。
【００２５】
また、上記２値画像データから上記罫線画像データに対応する罫線画像を除去する罫線除去部と、罫線除去後の上記２値画像データに含まれる文字画像について文字認識処理を行う文字解析部とを備えている構成としてもよい。
【００２６】
上記の構成によれば、罫線画像を高精度に抽出し、この罫線画像を２値画像データから除去した結果に基づいて文字認識処理を行うことができる。したがって、文字認識処理の精度を向上させることができる。
【００２７】
また、登録画像に含まれる罫線の特徴量である登録罫線情報を記憶する登録罫線情報記憶部と、原稿画像に対応する上記罫線画像データの特徴量を抽出する原稿特徴量抽出部と、上記登録罫線情報と上記原稿特徴量抽出部の抽出した上記罫線画像データの特徴量とに基づいて上記原稿画像と上記登録画像との照合処理を行う照合処理部とを備えている構成としてもよい。
【００２８】
上記の構成によれば、原稿画像の罫線画像を高精度に抽出し、抽出した罫線画像の特徴量と、登録画像に含まれる罫線の特徴量とに基づいて原稿画像と登録画像との照合処理を行うことができる。したがって、したがって、照合処理の精度を向上させることができる。
【００２９】
本発明の画像読取装置は、原稿画像を読み取って原稿画像の画像データを取得する撮像部と、上記したいずれかの画像処理装置とを備え、上記画像処理装置は、上記撮像部によって取得した原稿画像の画像データに基づいてこの原稿画像の罫線画像データを生成することを特徴としている。
【００３０】
上記の構成によれば、撮像部によって取得した原稿画像から罫線画像を高精度に抽出できる。
【００３１】
本発明の画像データ出力処理装置は、画像データに対して出力処理を施す画像データ出力処理装置であって、上記した照合処理部を備えた画像処理装置と、上記画像処理装置における上記照合処理の結果に基づいて、原稿画像の画像データに対する出力処理を制御する出力処理制御部とを備えていることを特徴としている。なお、上記画像データ出力処理装置は、例えば、画像データに応じた画像を記録材上に形成するものであってもよく、画像データを所定の送信先に送信するものであってもよく、画像データを所定の保存先に保存するものであってもよい。
【００３２】
上記の構成によれば、原稿画像と登録画像との照合処理を高精度に行うことができるので、出力処理の制御を精度よく行える。
【００３３】
本発明の画像処理方法は、上記の課題を解決するために、原稿画像の２値画像データに基づいてこの原稿画像に含まれる罫線画像を抽出する画像処理方法であって、上記２値画像データにおける注目画素が黒画素であるか白画素であるかを判定する画素値判定工程と、上記２値画像データにおける上記注目画素に対して主走査方向の上流側に連続して存在する黒画素の数を計数する計数工程と、上記２値画像データにおける上記注目画素が黒画素であって、かつこの注目画素に対応する上記計数値が予め設定しておいた主走査ラン判定閾値以上である場合に、この注目画素から主走査方向上流側に隣接する所定数の画素の画素値を黒画素に対応する画素値に補正して罫線画像データを生成する罫線画像データ生成工程とを含むことを特徴としている。
【００３４】
上記の方法によれば、
上記の構成によれば、画素値判定工程で上記２値画像データにおける注目画素が黒画素であるか白画素であるかを判定し、計数工程で上記２値画像データにおける注目画素に対して主走査方向の上流側に連続して存在する黒画素の数を計数する。そして、罫線画像データ生成工程では、上記２値画像データにおける上記注目画素が黒画素であって、かつこの注目画素に対応する上記計数値が予め設定しておいた主走査ラン判定閾値以上である場合に、この注目画素から主走査方向上流側に隣接する所定数の画素の画素値を黒画素に対応する画素値に補正して罫線画像データを生成する。
【００３５】
これにより、画像読取時の読取誤差等によって主走査方向の罫線にかすれや途切れ等が生じている場合であっても、これらのかすれや途切れを補った罫線画像データを作成することができる。したがって、罫線抽出処理を精度よく行うことができる。また、上記特許文献２の技術のように原稿画像を様々な方向にスキャンする必要がないので、特許文献２の構成よりも画像処理装置の回路規模を小さくできる。
【発明の効果】
【００３６】
以上のように、本発明の画像処理装置は、上記２値画像データにおける注目画素が黒画素であるか白画素であるかを判定する画素値判定部と、上記注目画素に対して主走査方向の上流側に連続して存在する黒画素の数を計数する計数部と、上記注目画素が黒画素であって、かつこの注目画素に対応する上記計数値が予め設定しておいた主走査ラン判定閾値以上である場合に、この注目画素から主走査方向上流側に隣接する所定数の画素の画素値を黒画素に対応する画素値に補正して罫線画像データを生成する罫線画像データ生成部とを備えている。
【００３７】
また、本発明の画像処理方法は、上記２値画像データにおける注目画素が黒画素であるか白画素であるかを判定する画素値判定工程と、上記２値画像データにおける上記注目画素に対して主走査方向の上流側に連続して存在する黒画素の数を計数する計数工程と、上記２値画像データにおける上記注目画素が黒画素であって、かつこの注目画素に対応する上記計数値が予め設定しておいた主走査ラン判定閾値以上である場合に、この注目画素から主走査方向上流側に隣接する所定数の画素の画素値を黒画素に対応する画素値に補正して罫線画像データを生成する罫線画像データ生成工程とを含む。
【００３８】
それゆえ、罫線抽出処理を精度よく行うことができる。また、画像処理装置の回路規模を小さくできる。
【発明を実施するための最良の形態】
【００３９】
〔実施形態１〕
本発明の一実施形態について説明する。なお、本実施形態では、ＯＣＲ機能を備えたデジタル複合機に本発明を適用する場合の例について説明するが、本発明の適用対象はこれに限るものではなく、原稿画像に含まれる罫線画像を抽出する画像処理装置であれば適用できる。
【００４０】
（１．デジタル複合機１の全体構成）
図２は、本実施形態にかかるデジタル複合機（画像形成装置）１の概略構成を示すブロック図である。この図に示すように、デジタル複合機１は、カラー画像入力装置２、カラー画像処理装置３、カラー画像出力装置４、通信装置５、および操作パネル６を備えている。
【００４１】
カラー画像入力装置２は、原稿の画像を読み取って画像データを生成し、生成した画像データをカラー画像処理装置３に出力するものである。カラー画像入力装置２は、例えば、原稿に対して読取用の光を照射する光源と、ＣＣＤ（Charge Coupled Device ）などの光学情報を電気信号に変換する撮像素子を備えたスキャナ部（図示せず）とから構成されている。
【００４２】
カラー画像処理装置３は、カラー画像入力装置２から入力されたアナログ信号に、種々の処理を施すと共にカラー画像出力装置４が扱える形に変換して、カラー画像出力装置４へと出力するものである。
【００４３】
カラー画像処理装置３は、図２に示したように、Ａ／Ｄ変換部１１、シェーディング補正部１２、入力階調補正部１３、圧縮処理部１４、ＯＣＲ処理部１５、領域分離処理部１６、色補正部１７、黒生成下色除去部１８、空間フィルタ処理部１９、出力階調補正部２０、階調再現処理部２１を備えている。カラー画像入力装置２からカラー画像処理装置３に出力されたアナログ信号は、カラー画像処理装置３内を、Ａ／Ｄ変換部１１、シェーディング補正部１２、入力階調補正部１３、圧縮処理部１４、領域分離処理部１６、色補正部１７、黒生成下色除去部１８、空間フィルタ処理部１９、出力階調補正部２０、階調再現処理部２１の順で送られ、ＣＭＹＫのデジタルカラー信号としてカラー画像出力装置４に出力される。また、圧縮処理部１４は圧縮処理後の画像データを領域分離処理部１６とＯＣＲ処理部１５とに出力するようになっており、ＯＣＲ処理部１５は圧縮処理部１４から入力された画像データに基づいてＯＣＲ処理を行うようになっている。
【００４４】
Ａ／Ｄ（アナログ／デジタル）変換部１１は、ＲＧＢのアナログ信号をデジタル信号に変換するものである。
【００４５】
シェーディング補正部１２は、Ａ／Ｄ変換部１１より送られてきたデジタルのＲＧＢ信号に対して、カラー画像入力装置２の照明系、結像系、撮像系で生じる各種の歪みを取り除く処理を施すものである。
【００４６】
入力階調補正部１３は、シェーディング補正部にて各種の歪みが取り除かれたＲＧＢ信号（ＲＧＢの反射率信号）に対して、カラーバランスを整えると同時に、濃度信号などカラー画像処理装置３の扱い易い信号に変換する処理を施すものである。また、入力階調補正部１３は、下地濃度の除去やコントラストなどの画質調整処理を施す。
【００４７】
圧縮処理部１４は、入力階調補正処理が施されたＲＧＢ信号に対して圧縮処理を行い、圧縮した画像データをハードディスク等の記憶手段（図示せず）に一旦格納させる。記憶手段に格納された圧縮後の画像データは、カラー画像処理装置３の各部の動作に応じて適宜読み出される。例えば、操作パネル６において、scan to e-mailモードが選択されている場合、メールに添付されて設定された送信先に通信装置５を介して送信される。なお、圧縮処理が施されない場合、圧縮処理部１４は入力階調補正部１３から入力されたＲＧＢ信号をそのまま後段の領域分離処理部１６に出力する。また、圧縮処理部１４は、入力画像データから文字・線画（罫線を含む）の画像を抽出し、抽出した文字・線画の画像を２値化してＯＣＲ処理部１５に出力する。なお、圧縮処理部１４の詳細については後述する。
【００４８】
ＯＣＲ処理部１５は、罫線抽出部４１、罫線除去部４２、および文字解析部４３を備えている。罫線抽出部４１は、圧縮処理部１４から入力された文字・線画の画像を２値化した２値化画像データから、罫線の画像を抽出する。罫線除去部４２は、上記の２値化画像データから罫線の画像を除去する。文字解析部４３は、罫線の画像を除去された２値化画像データに基づいてこの画像データが示す文字を解析し、解析結果を主制御部に送る。なお、文字認識処理を行うか否かは、例えば操作パネル６等を介したユーザからの指示に応じて決定される。ＯＣＲ処理部１５の詳細については後述する。
【００４９】
領域分離処理部１６は、ＲＧＢ信号より、入力画像中の各画素を文字領域、網点領域、写真領域のいずれかに分離するものである。領域分離処理部１６は、分離結果に基づき、画素がどの領域に属しているかを示す領域識別信号を、黒生成下色除去部１８、空間フィルタ処理部１９、および階調再現処理部２１へと出力するとともに、圧縮処理部１４から出力された入力信号をそのまま後段の色補正部１７に出力する。
【００５０】
色補正部１７は、色再現の忠実化実現のために、不要吸収成分を含むＣＭＹ（Ｃ：シアン・Ｍ：マゼンタ・Ｙ：イエロー）色材の分光特性に基づいた色濁りを取り除く処理を行うものである。
【００５１】
黒生成下色除去部１８は、色補正後のＣＭＹの３色信号から黒（Ｋ）信号を生成する黒生成処理、および元のＣＭＹ信号から黒生成で得たＫ信号を差し引いて新たなＣＭＹ信号を生成する下色除去処理を行うものである。これにより、ＣＭＹの３色信号はＣＭＹＫの４色信号に変換される。
【００５２】
なお、黒生成処理の方法は特に限定されるものではなく、従来から公知の種々の方法を用いることができる。例えば、スケルトンブラックによる黒生成を行う方法（一般的方法）を用いてもよい。この方法では、スケルトンカーブの入出力特性をｙ＝ｆ（ｘ）、入力されるデータをＣ，Ｍ，Ｙ，出力されるデータをＣ'，Ｍ'，Ｙ'，Ｋ'、ＵＣＲ（Under Color Removal）率をα（０＜α＜１）とすると、黒生成下色除去処理は、
Ｋ’＝ｆ｛ｍｉｎ（ｃ，ｍ，ｙ）｝
Ｃ’＝Ｃ−αＫ’
Ｍ’＝Ｍ−αＫ’
Ｙ’＝Ｙ−αＫ’                  ・・・（１）
で表される。
【００５３】
空間フィルタ処理部１９は、黒生成下色除去部１８から入力されるＣＭＹＫ信号の画像データに対して、領域識別信号を基にデジタルフィルタによる空間フィルタ処理を行い、空間周波数特性を補正する。これにより、出力画像のぼやけや粒状性劣化を軽減することができる。また、階調再現処理部２１は、空間フィルタ処理部１９と同様、ＣＭＹＫ信号の画像データに対して領域識別信号を基に所定の処理を施す。
【００５４】
例えば、領域分離処理部１６にて文字に分離された領域は、特に黒文字あるいは色文字の再現性を高めるために、空間フィルタ処理部１９による空間フィルタ処理における鮮鋭強調処理で高周波数の強調量が大きくされる。同時に、階調再現処理部２１においては、高域周波数の再現に適した高解像度のスクリーンでの二値化または多値化処理が選択される。
【００５５】
また、領域分離処理部１６にて網点領域に分離された領域に関しては、空間フィルタ処理部１９において、入力網点成分を除去するためのローパス・フィルタ処理が施される。そして、出力階調補正部２０では、濃度信号などの信号をカラー画像出力装置４の特性値である網点面積率に変換する出力階調補正処理を行った後、階調再現処理部２１で、最終的に画像を画素に分離してそれぞれの階調を再現できるように処理する階調再現処理（中間調生成）が施される。領域分離処理部１６にて写真に分離された領域に関しては、階調再現性を重視したスクリーンでの二値化または多値化処理が行われる。
【００５６】
上述した各処理が施された画像データは、記憶装置（図示せず）に一旦記憶され、所定のタイミングで読み出されてカラー画像出力装置４に入力される。
【００５７】
カラー画像出力装置４は、カラー画像処理装置３から入力された画像データを記録材（例えば紙等）上に出力するものである。カラー画像出力装置４の構成は特に限定されるものではなく、例えば、電子写真方式やインクジェット方式を用いたカラー画像出力装置を用いることができる。
【００５８】
通信装置５は、例えばモデムやネットワークカードより構成される。通信装置５は、ネットワークカード、ＬＡＮケーブル等を介して、ネットワークに接続された他の装置（例えば、パーソナルコンピュータ、サーバー装置、他のデジタル複合機、ファクシミリ装置等）とデータ通信を行う。
【００５９】
なお、通信装置５は、画像データを送信する場合、相手先との送信手続きを行って送信可能な状態が確保されると、所定の形式で圧縮された画像データ（スキャナで読み込まれた画像データ）をメモリから読み出し、圧縮形式の変更など必要な処理を施して、通信回線を介して相手先に順次送信する。
【００６０】
また、通信装置５は、画像データを受信する場合、通信手続きを行うとともに、相手先から送信されてくる画像データを受信してカラー画像処理装置３に入力する。受信した画像データは、カラー画像処理装置３で伸長処理、回転処理、解像度変換処理、出力階調補正、階調再現処理などの所定の処理が施され、カラー画像出力装置４によって出力される。なお、受信した画像データを記憶装置（図示せず）に保存し、カラー画像処理装置３が必要に応じて読み出して上記所定の処理を施すようにしてもよい。
【００６１】
操作パネル６は、例えば、液晶ディスプレイなどの表示部と設定ボタンなどより構成され（いずれも図示せず）、デジタル複合機１の主制御部（図示せず）の指示に応じた情報を上記表示部に表示するとともに、上記設定ボタンを介してユーザから入力される情報を上記主制御部に伝達する。ユーザは、操作パネル６を介して入力画像データに対する処理要求（例えば処理モード（複写、印刷、送信、編集など）、処理枚数（複写枚数、印刷枚数）、入力画像データの送信先など）を入力することができる。
【００６２】
上記主制御部は、例えばＣＰＵ（Central Processing Unit）等からなり、図示しないＲＯＭ等に格納されたプログラムや各種データ、操作パネル６から入力される情報等に基づいて、デジタル複合機１の各部の動作を制御する。
【００６３】
（２．圧縮処理部１４の構成）
図３は、圧縮処理部１４の構成を表すブロック図である。この図に示すように、圧縮処理部１４は、前景マスク抽出部３１、前景色インデックス化処理部３２、背景レイヤー生成部３３、２値画像生成部３４、および圧縮部３５を備えている。
【００６４】
前景マスク抽出部３１は、入力階調補正部１３から入力される入力画像データに含まれる原稿画像から文字・線画（罫線を含む）の画像を前景マスクとして抽出し、入力画像データと抽出した前景マスクとを前景色インデックス化処理部３２に出力する。なお、前景マスクの抽出方法は特に限定されるものではなく、従来から公知の方法を用いることができる。例えば、特許文献３に開示されている方法を用いてもよい。この方法では、原稿画像の各画素を走査して輝度値に対して微分処理を施し、＋方向の微分値と−方向の微分値とが得られる位置をエッジ部位とし、＋方向の微分値が出現してから、−方向の微分値が出現するまでの範囲を文字・線画の画像（前景マスク）として抽出する。
【００６５】
前景色インデックス化処理部３２は、前景マスク抽出部３１から入力された前景マスクを各画素の色に応じてインデックス化したインデックス画像を生成し、インデックス画像を表す前景レイヤーと、前景レイヤーの各文字色、各文字色領域の座標（例えば各文字色領域のｘ座標およびｙ座標が最小または最大である点の座標）および各インデックス画像に属する画素数を対応付けて格納した座標テーブル（前景インデックスカラーテーブル）とを生成する。そして、前景色インデックス化処理部３２は、入力画像データ、前景レイヤー、および座標テーブルを背景レイヤー生成部３３に出力する。
【００６６】
なお、インデックス画像とは、入力画像データから予め用意された色パレットで指定される色を抽出して得られる画像であり、そのインデックス画像に対応する色パレットで指定された色だけを有する。
【００６７】
上記のインデックス画像の生成方法は特に限定されるものではなく、従来から公知の方法を用いることができる。例えば、特許文献４に記載されている方法を用いてもよい。この方法では、まず、前景マスクの各画素（各前景画素）について、当該前景画素の色が前景インデックスカラーテーブルに既に登録されているか否かを判断する。そして、既に登録されていると判断した場合、前景インデックスカラーテーブル内で最も近い色を有するインデックス値を割り当てる。一方、前景画素の色が前景インデックスカラーテーブルに登録されていないと判断された場合、新規インデックス値を割り当てて前景インデックスカラーテーブルに登録する。この処理を全ての前景画素について繰り返すことにより、前景マスクをインデックス化する。また、ラインについても同様にインデックス化する。
【００６８】
背景レイヤー生成部３３は、原稿画像から文字・線画の画像（前景マスク）を取り除いた背景レイヤーの圧縮率を向上するために、入力画像データから前景レイヤーを取り除いて背景レイヤーを生成し、前景レイヤー、背景レイヤー、および座標テーブルを２値画像生成部３４に出力する。例えば、前景画素（前景レイヤーを構成する画素）を当該前景画素の周辺の背景画素（背景レイヤーを構成する画素）を用いて穴埋めする。つまり、前景画素の周辺の前景画素でない背景画素を参照し、これらの背景画素の平均値を用いて前景画素を穴埋めする（上記平均値に置き換える）。なお、前景画素の周辺（所定の参照範囲（例えば、５×５画素）内）に前景画素でない背景画素が存在しない場合には、既に穴埋め処理を行った結果を参照して穴埋め処理を行う。例えば、穴埋めを行う画素に対して、左隣または上隣の画素の穴埋め処理結果、または、これら各画素の平均値を用いても穴埋め処理を行う。
【００６９】
２値画像生成部３４は、背景レイヤー生成部３３から入力される前景レイヤーと、前景色インデックス化処理部３２で生成された座標テーブルとを用いて各インデックスの２値画像（１ｂｉｔ×ｎ画素（ｎは２以上の整数）の前景レイヤー）を生成し、圧縮部３５に出力する。
【００７０】
圧縮部３５は、前景レイヤーおよび背景レイヤーをそれぞれの特性に応じた方法で圧縮処理し、図示しないハードディスク等の記憶手段に記憶させる。あるいは、圧縮した画像を、通信装置５を介して通信可能な他の装置に送信する。また、圧縮部３５は、主制御部からの指示に応じて、記憶手段に記憶させておいた圧縮画像を読み出して復元し、復元した画像データを領域分離処理部１６に出力する。また、圧縮部３５は、２値画像生成部３４から入力された２値画像をハードディスク、ＤＲＡＭ等の記憶手段からなる前景２値画像記憶部Ｍ１（後述する図１参照）に記憶させる。
【００７１】
なお、本実施形態では、圧縮部３５は、前景画像については、ＪＢＩＧ（Joint Bilevel Image Group）、ＭＭＲ（Modified Modified Read Code）、あるいはＬＺＷ（Lempel Ziv Welch）などの可逆圧縮技術を用いて圧縮する。一方、背景画像については、ＪＰＥＧ（Joint Photographic Experts Group）に代表される非可逆圧縮技術を用いて圧縮する。なお、前景画像の圧縮率を向上させるために、マルチビット前景画像を、２値からなるマスクと１つ以上の文字色からなる文字色情報とに分解して圧縮するようにしてもよい。
【００７２】
（３．ＯＣＲ処理部１５の構成）
ＯＣＲ処理部１５は、図２に示したように、罫線抽出部４１、罫線除去部４２、および文字解析部４３を備えている。
【００７３】
一般に、ＯＣＲ処理ではその第１段階として、処理対象となる画像データから原稿画像内における各文字に対応する領域である文字矩形領域（グリフ）を抽出する処理が実施される。このグリフ抽出処理は、基本的に、入力画像データの主走査方向および副走査方向のラン情報（連続して存在する出力値が１の画素）の検出し、その検出結果を用いて行われる。
【００７４】
このため、罫線（文字の下線、文字領域を囲む線、表等の罫線など）が複数の文字領域に渡ってラン画像として存在する場合、グリフ抽出処理では上記複数の文字領域の全てを１個のグリフ、すなわち１文字として検出してしまい、その結果、文字情報への変換処理の精度が非常に悪くなる。
【００７５】
そこで、このような問題を回避するため、本実施形態では、罫線抽出部４１が２値画像生成部３４によって生成された前景レイヤーの２値画像から罫線画像を抽出し、罫線除去部４２が上記２値画像から罫線画像を除去し、文字解析部４３が罫線画像を除去した２値画像に基づいて文字認識（ＯＣＲ処理）を行う。なお、文字解析部４３は、文字認識処理（ＯＣＲ処理）の結果を入力画像データの圧縮画像データと関連づけて図示しない記憶手段に格納する。記憶手段に格納された文字認識結果は、主制御部によって適宜読み出され、例えば、検索等に用いられる。
【００７６】
図１は、罫線抽出部４１の概略構成を示すブロック図である。この図に示すように、罫線抽出部４１は、第１データ変換部５１、第２データ変換部５２、罫線解析部５３、および第３データ変換部５４を備えている。また、罫線解析部５３は、ＤＭＡ制御部６１、副走査罫線抽出部６２、主走査罫線抽出部６３、および罫線情報補正部６４を備えている。
【００７７】
（３−１．第１データ変換部５１、第２データ変換部５２、ＤＭＡ制御部６１）
第１データ変換部（ＤＭＡ→ＶＩＤＥＯ変換部）５１は、ＤＭＡインターフェースとＶＩＤＥＯインターフェースとを備えている。そして、第１データ変換部５１は、ＤＭＡ制御部６１から入力されるＶＥＮＢ（制御信号）に応じたタイミングで、前景２値画像記憶部（外部メモリ）Ｍ１に記憶されている前景レイヤーの２値画像（以下、ＢＩＮＩＭＧという）を上記ＤＭＡインターフェースにより読み出し、１ライン分の画像データを生成し、上記ＶＩＤＥＯインターフェースを介して罫線解析部５３に備えられている副走査罫線抽出部６２に出力する。
【００７８】
図４は、上記ＢＩＮＩＭＧの概要を示す説明図である。上記ＢＩＮＩＭＧは、カラー（多色）／多ｂｉｔの入力画像データに対して背景除去処理および各種のエッジ検出処理を実施して抽出されたエッジ領域とそれ以外の領域とを、画素単位で０と１（もしくは１と０）で表記した単色／１ｂｉｔ（２値）画像である。
【００７９】
第２データ変換部（ＤＭＡ→ＶＩＤＥＯ変換部）５２は、第１データ変換部５１と同様、ＤＭＡ制御部６１から入力されるＶＥＮＢに応じたタイミングで、前景２値画像記憶部Ｍ１に記憶されているＢＩＮＩＭＧをＤＭＡインターフェースにより読み出し、１ライン分の画像データを生成し、ＶＩＤＥＯインターフェースを介して罫線解析部５３に備えられている主走査罫線抽出部６３に出力する。
【００８０】
なお、本実施形態では、前景２値画像記憶部（外部メモリ）Ｍ１に記憶されている前景レイヤーの２値画像（ＢＩＮＩＭＧ）のサイズが、主走査方向の画素数が８１９２以下、副走査方向の画素数が６５５３６以下の場合について説明するが、主走査方向および副走査方向の画素数（サイズ）はこれに限るものではない。処理対象画像のサイズを変更する場合には、罫線抽出部４１内のレジスタやバスのｂｉｔ（ビット）幅を当該サイズに応じた幅に設定すればよい。
【００８１】
図５は、第１データ変換部５１から副走査罫線抽出部６２、第２データ変換部５２から主走査罫線抽出部６３、主走査罫線抽出部６３から罫線情報補正部６４、罫線情報補正部６４から第３データ変換部５４へ送信される各信号の信号波形を示す説明図である。
【００８２】
図１に示したように、第１データ変換部５１から副走査罫線抽出部６２へは、ＶＩＤＥＯインターフェースを介して、以下の（ａ）〜（ｄ）に示す各信号が出力される。
（ａ）ＨＳＹＮＣ１（水平同期信号；各ライン開始信号（ライン先頭の無効区間を含む））、
（ｂ）ＬＥＮＩ１（ライン有効信号；Ｈ（＝１）のときに画像転送が有効となり、Ｌ（＝０）のときに画像転送が無効となる。ＨＳＹＮＣ１信号の立上りエッジに同期して立上り／立下りを行う）、
（ｃ）ＰＥＮＩ１（画素有効信号；Ｈ（＝１）の期間にＢＩＮＩＭＧが第１データ変換部５１から副走査罫線抽出部６２に出力される。画素有効信号の立上り開始タイミングおよびＨ期間は、図示しないレジスタに対する設定により決定される）、
（ｄ）ＢＩＮＩＭＧ（上記した２値画像の画像データ）。
なお、第１データ変換部５１から出力される上記各信号は、いずれも主制御部から罫線抽出部４１に入力される基準クロック信号ＣＬＫに同期して動作している（ＬＥＮ１信号はＨＳＹＮＣ１信号の立上りエッジに同期しているが、ＨＳＹＮＣ１信号がＣＬＫ信号に同期しているため、ＬＥＮ１信号もＣＬＫ信号同期となる）。
【００８３】
したがって、図５に示したように、ＬＥＮＩ１信号がＨ、かつＰＥＮＩ１信号がＨの期間、前景２値画像記憶部Ｍ１から読み出されてラインデータ化されたＢＩＮＩＭＧ信号がライン毎に、各ラインの先頭画素、すなわち各ライン画像の左端から順次副走査罫線抽出部６２へ入力される。このため、ＰＥＮＩ１信号がＨの期間に罫線抽出部４１に入力されるＣＬＫ信号数はＢＩＮＩＭＧの主走査サイズ（主走査方向の画素数）となり、ＬＥＮＩ１信号がＨの期間に第１データ変換部５１から出力されるＨＳＹＮＣ１信号の立上りエッジの数は副走査サイズとなる。
【００８４】
また、図１に示したように、第２データ変換部５２から主走査罫線抽出部６３へは、ＶＩＤＥＯインターフェースを介して、以下の（ａ’）〜（ｄ’）に示す各信号が出力される。
（ａ’）ＨＳＹＮＣ２（水平同期信号；各ライン開始信号（ライン先頭の無効区間を含む））、
（ｂ’）ＬＥＮＩ２（ライン有効信号；Ｈ（＝１）のときに画像転送が有効となり、Ｌ（＝０）のときに画像転送が無効となる。ＨＳＹＮＣ２信号の立上りエッジに同期して立上り／立下りを行う）、
（ｃ’）ＰＥＮＩ２（画素有効信号；Ｈ（＝１）の期間にＢＩＮＩＭＧが第２データ変換部５２から主走査罫線抽出部６３に出力される。画素有効信号の立上り開始タイミングおよびＨ期間は、図示しないレジスタに対する設定により決定される）、
（ｄ’）ＢＩＮＩＭＧ（上記した２値画像の画像データ）。
なお、第２データ変換部５２から出力されるこれら各信号は、いずれも主制御部から罫線抽出部４１に入力される基準クロック信号ＣＬＫに同期して動作している。
【００８５】
したがって、図５に示したように、ＬＥＮＩ２信号がＨ、かつＰＥＮＩ２信号がＨの期間、前景２値画像記憶部Ｍ１から読み出されてラインデータ化されたＢＩＮＩＭＧ信号がライン毎に、各ラインの先頭画素、すなわち各ライン画像の左端から順次主走査罫線抽出部６３へ入力される。このため、ＰＥＮＩ２信号がＨの期間に罫線抽出部４１に入力されるＣＬＫ信号数はＢＩＮＩＭＧの主走査サイズ（主走査方向の画素数）となり、ＬＥＮＩ２信号がＨの期間に第２データ変換部５２から出力されるＨＳＹＮＣ１信号の立上りエッジの数は副走査サイズとなる。
【００８６】
図６は、主走査サイズ（画素数）＝Ｘ［ｐｉｘｅｌ］、副走査サイズ（ライン数）＝Ｙ［ｌｉｎｅ］のＢＩＮＩＭＧを処理する場合の第１データ変換部５１および第２データ変換部５２の動作を示す説明図である。
【００８７】
まず、ＤＭＡ制御部６１は、主制御部から罫線抽出処理の開始命令を受けると、ＶＥＮＢ＝Ｈ（＝１）を第１データ変換部５１および第２データ変換部５２に出力する。なお、ＤＭＡ制御部６１と第２データ変換部５２との間にはインバータが備えられており、ＤＭＡ制御部６１からＶＥＮＢ＝Ｈを出力されると、第２データ変換部５２にはＶＥＮＢ＝Ｌが入力される。
【００８８】
第１データ変換部５１は、ＶＥＮＢ＝Ｈを入力されると、前景２値画像記憶部Ｍ１にＤＭＡデータ取得命令を発行し（送り）、ＤＭＡインターフェースを介して前景２値画像記憶部Ｍ１からＢＩＮＩＭＧを取得する。取得したＢＩＮＩＭＧは第１データ変換部５１に備えられるラインバッファメモリ（図示せず）に先頭画素から順に格納される。なお、１回のＤＭＡ転送で１［ｌｉｎｅ］分のデータを取得できない場合には、前景２値画像記憶部Ｍ１にＤＭＡデータ取得命令を再度発行し、不足分のデータを取得するようにすればよい。
【００８９】
このようにして１［ｌｉｎｅ］分のＢＩＮＩＭＧ（ｙａ＝０ラインのラインデータ）が第１データ変換部５１の上記ラインバッファメモリに格納されると、図６に示すように、第１データ変換部５１から副走査罫線抽出部６２にｙａ＝０のラインデータが送られる。
【００９０】
その後、図６に示すように、ｙａの値がユーザ設定レジスタの設定値ｄｅｌａｙ＿ｖに到達するまで（図６に示したＶＡＲＥＡ１の期間中）、第１データ変換部５１による前景２値画像記憶部Ｍ１からのＢＩＮＩＭＧの取得、ラインデータの生成、および副走査罫線抽出部６２へのデータ出力がライン毎に順次行われる。なお、この期間中、ＤＭＡ制御部６１は、ＶＥＮＢ＝Ｈを常時出力する。また、この期間中、第２データ変換部５２は、ＶＥＮＢ＝Ｌを入力されており、ＤＭＡ転送要求を発行せずにスタンバイ状態を保持している。なお、上記の設定値ｄｅｌａｙ_ｖは、ユーザあるいは主制御部によって０≦ｄｅｌａｙ_ｖ＜副走査最大サイズ（ライン数）の間で設定される。
【００９１】
表１は、第１データ変換部５１によるｙａ＝（ｄｅｌａｙ_ｖ−１）のラインデータの処理完了後（ＶＡＲＥＡ１の期間終了後）の第１データ変換部５１、第２データ変換部５２、およびＤＭＡ制御部６１の動作を示している。
【００９２】
【表１】
0004491488.tif 000002
【００９３】
この表に示すように、第１データ変換部５１は、ｙａ＝（ｄｅｌａｙ_ｖ−１）のラインデータの処理が完了すると（ＶＡＲＥＡ１の期間終了後）、ｙａ＝（ｄｅｌａｙ_ｖ）のラインデータの処理を行う。そして、ＤＭＡ制御部６１は、第１データ変換部５１によるｙａ＝（ｄｅｌａｙ_ｖ）のラインデータの処理が完了すると、制御信号ＶＥＮＢをＶＥＮＢ＝Ｌ（＝０）に切り替える。これにより、第１データ変換部５１にはＶＥＮＢ＝Ｌが入力され、第２データ変換部５２にはＶＥＮＢ＝Ｈが入力される。
【００９４】
したがって、第１データ変換部５１はＤＭＡ転送要求を発行せずにスタンバイ状態（停止状態）となり、第２データ変換部５２がｙｂ＝０のラインについてのラインデータの処理を開始する。つまり、前景２値画像記憶部Ｍ１にＤＭＡデータ取得命令を発行し（送り）、ＤＭＡインターフェースを介して前景２値画像記憶部Ｍ１からｙｂ＝０のラインのＢＩＮＩＭＧを取得し、取得したＢＩＮＩＭＧを第２データ変換部５２に備えられるラインバッファメモリ（図示せず）に先頭画素から順に格納する。また、第２データ変換部５２は、ラインバッファに格納したラインデータを主走査罫線抽出部６３に出力する。
【００９５】
その後、第２データ変換部５２によるｙｂ＝０のラインデータの処理が完了すると、ＤＭＡ制御部６１はＶＥＮＢ信号をＶＥＮＢ＝Ｈに再び切り替える。これにより、第２データ変換部５２はスタンバイ状態となり、第１データ変換部５１はｙａ＝（ｄｅｌａｙ_ｖ＋１）ラインのラインデータの処理を行う。以降、第２データ変換部５２によるｙｂ＝（Ｙ−ｄｅｌａｙ＿ｖ−１）ラインのラインデータの処理が完了するまで（図６に示したＶＡＲＥＡ２の期間中）、ＤＭＡ制御部６１は、第１データ変換部５１または第２データ変換部５２による１ライン分のラインデータの処理が完了する毎にＶＥＮＢを順次切り替える。したがって、第１データ変換部５１および第２データ変換部５２によって１ラインずつ交互にラインデータの処理（ライン転送処理）が行われる。
【００９６】
第２データ変換部５２によるｙｂ＝（Ｙ−ｄｅｌａｙ＿ｖ−１）ラインのラインデータの処理が完了すると、ＤＭＡ制御部６１は、第２データ変換部５２によるｙｂ＝（Ｙ−１）ラインのラインデータの処理が完了するまで（図６に示したＶＡＲＥＡ３の期間中）、制御信号ＶＥＮＢを常時Ｌにする。これにより、第１データ変換部５１はスタンバイ状態に保持され、第２データ変換部５２はｙｂ＝（Ｙ−ｄｅｌａｙ＿Ｖ）からｙｂ＝（Ｙ−１）までの各ラインのラインデータの処理を順次行う。
【００９７】
（３−２．副走査罫線抽出部６２）
副走査罫線抽出部６２は、第１データ変換部５１から入力されたＢＩＮＩＭＧにおける各画素の信号を解析し、副走査方向へのラン、すなわち副走査方向へ一定画素数以上連続するエッジ画素の有無を検出し、検出結果を示す情報を保持する。例えば、入力画像データが図７に示す２値画像である場合、白画像として表示されているエッジ検出画素のうち、画像中の矩形領域内に存在する３本の縦線ＶＬが副走査方向へのランとして検出される。
【００９８】
図８は、副走査罫線抽出部６２の構成を示すブロック図である。この図に示すように、副走査罫線抽出部６２は、副走査ラン判定部７１、ＲＵＮＶアクセス制御部７２、ＲＵＮＶＨＳＴアクセス制御部７３、副走査ランカウント値格納バッファ（以下、ＲＵＮＶという）、および副走査ラン履歴格納バッファ（以下、ＲＵＮＶＨＳＴという）を備えている。なお、ＲＵＮＶは８ｂｉｔ／Ｗｏｒｄ×８１９２Ｗｏｒｄの構成であり、ＲＵＮＶＨＳＴは１ｂｉｔ／Ｗｏｒｄ×８１９２Ｗｏｒｄの構成である。また、これら各バッファのメモリは例えばＳＲＡＭ等のメモリ素子で構成されている。
【００９９】
（３−２−１.副走査ラン判定部７１）
副走査ラン判定部７１は、第１データ変換部５１からＨＳＹＮＣ１（水平同期信号）、ＬＥＮＩ１（ライン有効信号）、ＰＥＮＩ１（画素有効信号）、およびＢＩＮＩＭＧ（画像データ）を入力される。また、副走査ラン判定部７１は、ｈｃｏｕｎｔ_v［１２：０］およびｒｕｎｖ_ｔｍｐ［７：０］の各内部レジスタを有している。
【０１００】
ｈｃｏｕｎｔ_v［１２：０］は、入力されているＢＩＮＩＭＧ（ラインデータ）の主走査画素アドレス値を示すものである。具体的には、ｈｃｏｕｎｔ_v［１２：０］は、各ラインの入力開始時、すなわちＨＳＹＮＣＩ１の立上り毎にクリアされる（０に設定される）。そして、ＰＥＮＩ１＝１が成立した後、１画素入力毎にインクリメントされる。また、ｈｃｏｕｎｔ_v［１２：０］の値は、アクセスアドレス信号ＡＤ_Ｖ［１２：０］としてＲＵＮＶアクセス制御部７２に出力される。このアクセスアドレス信号ＡＤ_Ｖ［１２：０］に基づいて、ＲＵＮＶアクセス制御部７２あるいはＲＵＮＶＨＳＴアクセス制御部７３において、後述するように、処理中の画素に対応したＲＵＮＶの格納値あるいはＲＵＮＶＨＳＴの格納値へのアクセスが行われる。
【０１０１】
ｒｕｎｖ_ｔｍｐ［７：０］は上記格納値へのアクセス時のＲｅａｄ／Ｗｒｉｔｅデータを格納するための内部レジスタであり、その値はアクセスデータ信号ＲＵＮＶ_ＤＴ_Ｖ［７：０］としてＲＵＮＶアクセス制御部７２に出力される。なお、ＲＵＮＶおよびＲＵＮＶＨＳＴの格納値は、ページ処理開始時点（罫線抽出処理の開始時点）で全て０にクリアされる。
【０１０２】
副走査ラン判定部７１は、図５に示した画像入力有効期間、すなわちＰＥＮＩ１＝Ｈ（＝１）の期間中、画素毎に以下の処理を行う。
【０１０３】
まず、各画素の主走査座標値ｈｃｏｕｎｔ＿ｖ［１２：０］に対応するＲＵＮＶの格納値を、ＲＵＮＶアクセス制御部７２を介してｒｕｎｖ_ｔｍｐ［７：０］に読み出す。具体的には、アクセスアドレス信号ＡＤ_Ｖ［１２：０］、Ｒｅａｄ／Ｗｒｉｔｅ指示信号ＢＵＦＲ／Ｗ（ここでは読み出し処理なのでＢＵＦＲ／Ｗ＝０とする。書き込み処理の場合はＢＵＦＲ／Ｗ＝１とする。）、アクセス選択信号ＢＵＦＳＥＬ（ＲＵＮＶおよびＲＵＮＶＨＳＴのいずれに対するアクセスであるのかを示す信号。ここではＲＵＮＶへのアクセスなのでＢＵＦＳＥＬ＝０とする。ＲＵＮＶＨＳＴへのアクセスの場合にはＢＵＦＳＥＬ＝１とする。）、およびメモリアクセストリガ信号ＡＣＣＲＥＱ_Ｖの各出力信号を処理対象の画素に応じて設定してＲＵＮＶアクセス制御部７２に出力することにより、ＲＵＮＶアクセス制御部７２を介して対応するＲＵＮＶの格納値を読み出す。なお、ＲＵＮＶアクセス制御部７２の構成および動作については後述する。
【０１０４】
次に、副走査ラン判定部７１は、注目画素のＢＩＮＩＭＧの値が１の場合にはｒｕｎｖ_ｔｍｐ［７：０］の値を１インクリメントし、ＲＵＮＶアクセス制御部７２を介してインクリメント後の値ＲＵＮＶ_ＤＴ_Ｖ［７：０］をＲＵＮＶのアドレス＝ｈｃｏｕｎｔ_v［１２：０］に再度書き込ませる。具体的には、アクセスアドレス信号ＡＤ_Ｖ［１２：０］、Ｒｅａｄ／Ｗｒｉｔｅ指示信号ＢＵＦＲ／Ｗ（書き込み処理なのでＢＵＦＲ／Ｗ＝１）、アクセス選択信号ＢＵＦＳＥＬ（ＲＵＮＶへのアクセスなのでＢＵＦＳＥＬ＝０）、アクセスデータ信号ＲＵＮＶ_ＤＴ_Ｖ［７：０］、およびメモリアクセストリガ信号ＡＣＣＲＥＱ_Ｖの各出力信号をＲＵＮＶアクセス制御部７２に出力することにより、ＲＵＮＶアクセス制御部７２を介してＲＵＮＶのアドレス＝ｈｃｏｕｎｔ_v［１２：０］に書き込ませる。
【０１０５】
また、副走査ラン判定部７１は、注目画素のＢＩＮＩＭＧの値が０の場合には、ｒｕｎｖ_ｔｍｐ［７：０］＝０、すなわち内部レジスタｒｕｎｖ_ｔｍｐ［７：０］をリセットし、ＲＵＮＶアクセス制御部７２を介してリセット後の値ＲＵＮＶ_ＤＴ_Ｖ［７：０］をＲＵＮＶのアドレス＝ｈｃｏｕｎｔ_v［１２：０］に再度書き込ませる。
【０１０６】
この際、ｒｕｎｖ_ｔｍｐ［７：０］≧ｒｕｎ_ｖ_ｔｈ［７：０］となった場合は、副走査ラン判定部７１は、ｈｃｏｕｎｔ_v［１２：０］に対応するＲＵＮＶＨＳＴアドレスに１を書き込ませる。なお、ｒｕｎ_ｖ_ｔｈ［７：０］はユーザあるいは主制御部によって予め設定される副走査罫線抽出閾値である。具体的には、アクセスアドレス信号ＡＤ_Ｖ［１２：０］、Ｒｅａｄ／Ｗｒｉｔｅ指示信号ＢＵＦＲ／Ｗ（ここでは書き込み処理なのでＢＵＦＲ／Ｗ＝１）、アクセス選択信号ＢＵＦＳＥＬ（ここではＲＵＮＶＨＳＴへのアクセスなのでＢＵＦＳＥＬ＝１）、アクセスデータ信号ＲＵＮＶＨＳＴ_ＤＴ_Ｖ_Ｍ［０］、およびメモリアクセストリガ信号ＡＣＣＲＥＱ_Ｖの各出力信号をＲＵＮＶアクセス制御部７２に出力する。これにより、ＲＵＮＶアクセス制御部７２およびＲＵＮＶＨＳＴアクセス制御部７３を介してｈｃｏｕｎｔ_v［１２：０］に対応するＲＵＮＶＨＳＴアドレスへの書き込みが行われる。なお、ＲＵＮＶアクセス制御部７２およびＲＵＮＶＨＳＴアクセス制御部７３の構成および動作については後述する。
【０１０７】
これにより、ある主走査画素座標において副走査方向にエッジ検出画素が連続している場合、その画素に対応するＲＵＮＶ格納値は、ライン毎にインクリメントされて行き、エッジ検出画素の連続が途切れた時点で０にクリアされる。ただし、エッジ検出画素の連続数がｒｕｎ_ｖ_ｔｈ［７：０］に到達した場合は、その主走査画素座標に対応するＲＵＮＶＨＳＴ格納値に１が設定される。なお、連続エッジ検出画素数がＲＵＮＶ格納値の最大値（＝２５５）を越えた場合は、エッジ検出画素の連続が途切れるまで２５５が維持される。
【０１０８】
（３−２−２．ＲＵＮＶアクセス制御部７２）
ＲＵＮＶアクセス制御部７２は、副走査ラン判定部７１からバッファアクセス命令を受けて、ＲＵＮＶまたはＲＵＮＶＨＳＴのどちらにアクセス命令を発行するかの決定、ＲＵＮＶへのアクセスの場合にはＲｅａｄ（書き込み）アクセスまたはＷｒｉｔｅ（読み出し）アクセスの実行、ＲＵＮＶＨＳＴへのアクセスの場合にはＲＵＮＶＨＳＴアクセス制御部７３との間でアクセスに関連する情報の伝達を行う。
【０１０９】
図９は、ＲＵＮＶアクセス制御部７２の構成を示すブロック図である。この図に示すように、ＲＵＮＶアクセス制御部７２は、デマルチプレクサ８１〜８３と、ＲＵＮＶバッファＣＥ発生部８４とを備えている。
【０１１０】
デマルチプレクサ８１には、副走査ラン判定部７１から出力されたアクセスアドレス信号ＡＤ_Ｖ［１２：０］、およびアクセス選択信号ＢＵＦＳＥＬが入力される。そして、アクセス選択信号ＢＵＦＳＥＬの値が０の場合（ＲＵＮＶへのアクセスの場合）、デマルチプレクサ８１はＲＵＮＶに対してアクセスアドレス信号ＲＵＮＶ_ＡＤ［１２：０］を出力する。一方、アクセス選択信号ＢＵＦＳＥＬの値が１の場合（ＲＵＮＶＨＳＴへのアクセスの場合）、デマルチプレクサ８１は、ＲＵＮＶＨＳＴに対してアクセスアドレス信号ＲＵＮＶＨＳＴ_ＡＤ＿Ｖ＿Ｍ［１２：０］を出力する。
【０１１１】
デマルチプレクサ８２には、副走査ラン判定部７１から出力されたＲｅａｄ／Ｗｒｉｔｅ指示信号ＢＵＦＲ／Ｗ、およびアクセス選択信号ＢＵＦＳＥＬが入力される。そして、アクセス選択信号ＢＵＦＳＥＬの値が０の場合（ＲＵＮＶへのアクセスの場合）、デマルチプレクサ８２はＲＵＮＶに対してＲｅａｄ／Ｗｒｉｔｅ指示信号ＲＵＮＶ_Ｒ／Ｗを出力する。一方、アクセス選択信号ＢＵＦＳＥＬの値が１の場合（ＲＵＮＶＨＳＴへのアクセスの場合）、デマルチプレクサ８２は、ＲＵＮＶＨＳＴに対してＲｅａｄ／Ｗｒｉｔｅ指示信号ＲＵＮＶＨＳＴ_Ｒ／Ｗ＿Ｖ＿Ｍを出力する。
【０１１２】
デマルチプレクサ８２には、副走査ラン判定部７１から出力されたメモリアクセストリガ信号ＡＣＣＲＥＱ_Ｖ、およびアクセス選択信号ＢＵＦＳＥＬが入力される。
そして、アクセス選択信号ＢＵＦＳＥＬの値が０の場合（ＲＵＮＶへのアクセスの場合）、デマルチプレクサ８３はメモリアクセストリガ信号ＡＣＣＲＥＱ_ＶをＲＵＮＶバッファＣＥ発生部８４に出力する。一方、アクセス選択信号ＢＵＦＳＥＬの値が１の場合（ＲＵＮＶＨＳＴへのアクセスの場合）、デマルチプレクサ８３は、ＲＵＮＶＨＳＴにメモリアクセストリガ信号ＡＣＣＲＥＱ_Ｖを出力する。
【０１１３】
なお、ＲＵＮＶアクセス制御部７２は、ＲＵＮＶに対する書き込みの場合には副走査ラン判定部７１から出力されたＲＵＮＶ_ＤＴ［７：０］をそのままＲＵＮＶに出力し、ＲＵＮＶＨＳＴに対する書き込みの場合には副走査ラン判定部７１から出力されたＲＵＮＶＨＳＴ_ＤＴ＿Ｖ＿Ｍ［０］をそのままＲＵＮＶＨＳＴに出力する。
【０１１４】
ＲＵＮＶバッファＣＥ発生部８４は、デマルチプレクサ８３からメモリアクセストリガ信号ＡＣＣＲＥＱ_Ｖを入力されると、これをトリガとしてＲＵＮＶに対するチップイネーブル信号ＲＵＮＶ_ＣＥを出力する。これにより、ＲＵＮＶに対するＲＵＮＶ_ＡＤ［１２：０］、ＲＵＮＶ_ＤＴ［７：０］（Ｗｒｉｔｅ処理の場合）、ＲＵＮＶ_Ｒ／Ｗ、およびＲＵＮＶ_ＣＥの各信号が確定し、ＲＵＮＶの所定アドレスへのアクセスが実行される。
【０１１５】
（３−２−３．ＲＵＮＶＨＳＴアクセス制御部７３）
ＲＵＮＶＨＳＴアクセス制御部７３は、副走査ラン判定部７１からバッファアクセス命令を受けて、ＲＵＮＶＨＳＴに対するＲｅａｄ（書き込み）アクセスまたはＷｒｉｔｅ（読み出し）アクセスの実行を行う。また、ＲＵＮＶＨＳＴアクセス制御部７３は、主走査罫線抽出部６３からのバッファアクセス命令を受けてＲＵＮＶＨＳＴに対するＲｅａｄ（書き込み）アクセスまたはＷｒｉｔｅ（読み出し）アクセスの実行を行う。
【０１１６】
図１０は、ＲＵＮＶＨＳＴアクセス制御部７３の構成を示すブロック図である。この図に示すように、ＲＵＮＶＨＳＴアクセス制御部７３は、マルチプレクサ８５〜８８と、ＲＵＮＶＨＳＴバッファＣＥ発生部８９とを備えている。
【０１１７】
マルチプレクサ８５には、ＲＵＮＶアクセス制御部７２から出力されるアクセスアドレス信号ＲＵＮＶＨＳＴ_ＡＤ＿Ｖ＿Ｍ［１２：０］と、主走査罫線抽出部６３から出力されるアクセスアドレス信号ＲＵＮＶＨＳＴ_ＡＤ＿Ｈ［１２：０］と、ＤＭＡ制御部６１から出力される制御信号ＶＥＮＢとが入力される。そして、マルチプレクサ８５は、ＶＥＮＢ＝Ｈの場合（第１データ変換部５１の選択期間中）にはＲＵＮＶアクセス制御部７２から入力されたアクセスアドレス信号ＲＵＮＶＨＳＴ_ＡＤ＿Ｖ＿Ｍ［１２：０］を、ＶＥＮＢ＝Ｌの場合（第２データ変換部５２の選択期間中）には主走査罫線抽出部６３から入力されたアクセスアドレス信号ＲＵＮＶＨＳＴ_ＡＤ＿Ｈ［１２：０］を、ＲＵＮＶＨＳＴにアクセスアドレス信号ＲＵＮＶＨＳＴ＿ＡＤ［１２．０］として出力する。
【０１１８】
マルチプレクサ８６には、ＲＵＮＶアクセス制御部７２から出力されるアクセスデータ信号ＲＵＮＶＨＳＴ_ＤＴ＿Ｖ＿Ｍ［０］と、主走査罫線抽出部６３から出力されるアクセスデータ信号ＲＵＮＶＨＳＴ＿ＤＴ＿Ｈ［０］と、ＤＭＡ制御部６１から出力される制御信号ＶＥＮＢとが入力される。そして、マルチプレクサ８５は、ＶＥＮＢ＝Ｈの場合（第１データ変換部５１の選択期間中）にはＲＵＮＶアクセス制御部７２から入力されたアクセスデータ信号ＲＵＮＶＨＳＴ_ＤＴ＿Ｖ＿Ｍ［０］を、ＶＥＮＢ＝Ｌの場合（第２データ変換部５２の選択期間中）には主走査罫線抽出部６３から入力されたアクセスデータ信号ＲＵＮＶＨＳＴ＿ＤＴ＿Ｈ［０］を、アクセスデータ信号ＲＵＮＶＨＳＴ＿ＤＴ［０］としてＲＵＮＶＨＳＴに出力する。
【０１１９】
マルチプレクサ８７には、ＲＵＮＶアクセス制御部７２から出力されるＲｅａｄ／Ｗｒｉｔｅ指示信号ＲＵＮＶＨＳＴ_Ｒ／Ｗ＿Ｖ＿Ｍと、主走査罫線抽出部６３から出力されるＲｅａｄ／Ｗｒｉｔｅ指示信号ＲＵＮＶＨＳＴ_Ｒ／Ｗ＿Ｈと、ＤＭＡ制御部６１から出力される制御信号ＶＥＮＢとが入力される。そして、マルチプレクサ８５は、ＶＥＮＢ＝Ｈの場合（第１データ変換部５１の選択期間中）にはＲＵＮＶアクセス制御部７２から入力されたＲｅａｄ／Ｗｒｉｔｅ指示信号ＲＵＮＶＨＳＴ_Ｒ／Ｗ＿Ｖ＿Ｍを、ＶＥＮＢ＝Ｌの場合（第２データ変換部５２の選択期間中）には主走査罫線抽出部６３から入力されたＲｅａｄ／Ｗｒｉｔｅ指示信号ＲＵＮＶＨＳＴ_Ｒ／Ｗ＿Ｈを、Ｒｅａｄ／Ｗｒｉｔｅ指示信号ＲＵＮＶＨＳＴ_Ｒ／ＷとしてＲＵＮＶＨＳＴに出力する。
【０１２０】
マルチプレクサ８８には、ＲＵＮＶアクセス制御部７２から出力されるメモリアクセストリガ信号ＡＣＣＲＥＱ_Ｖと、主走査罫線抽出部６３から出力されるメモリアクセストリガ信号ＡＣＣＲＥＱ_Ｈと、ＤＭＡ制御部６１から出力される制御信号ＶＥＮＢとが入力される。そして、マルチプレクサ８５は、ＶＥＮＢ＝Ｈの場合（第１データ変換部５１の選択期間中）にはＲＵＮＶアクセス制御部７２から入力されたメモリアクセストリガ信号ＡＣＣＲＥＱ_Ｖを、ＶＥＮＢ＝Ｌの場合（第２データ変換部５２の選択期間中）には主走査罫線抽出部６３から入力されたメモリアクセストリガ信号ＡＣＣＲＥＱ_Ｈを、ＲＵＮＶＨＳＴバッファＣＥ発生部８９に出力する。
【０１２１】
ＲＵＮＶＨＳＴバッファＣＥ発生部８９は、マルチプレクサ８８からメモリアクセストリガ信号を入力されると、これをトリガとしてＲＵＮＶＨＳＴに対するチップイネーブル信号ＲＵＮＶＨＳＴ_ＣＥを出力する。これにより、ＲＵＮＶＨＳＴに対するＲＵＮＶＨＳＴ_ＡＤ［１２：０］、ＲＵＮＶＨＳＴ_ＤＴ［０］（Ｗｒｉｔｅ処理の場合）、ＲＵＮＶＨＳＴ_Ｒ／Ｗ、およびＲＵＮＶＨＳＴ_ＣＥの各信号が確定し、ＲＵＮＶＨＳＴの所定アドレスへのアクセスが実行される。
【０１２２】
なお、制御信号ＶＥＮＢは、１ラインの処理時間単位でＨとＬとに切り替わり、かつ、処理中は副走査罫線抽出部６２および主走査罫線抽出部６３のうちの一方のみが動作する（ＶＥＮＢ＝Ｈの時は副走査罫線抽出部６２のみが動作し、ＶＥＮＢ＝Ｌ時は主走査罫線抽出部６３のみが動作する）ため、副走査ラン判定部７１からのアクセス、および主走査罫線抽出部６３からのアクセスを交互に行っても基本的にＲＵＮＶＨＳＴに対するアクセスミスは発生しない構成となっている。また、上記の構成では、万が一、副走査ラン判定部７１および主走査罫線抽出部６３からの同時アクセスが発生しても、不正動作が行われている側からのアクセスは受付けられないようになっている。
【０１２３】
（３−２−４．副走査罫線抽出部６２による罫線抽出処理の例）
図１１は、副走査罫線抽出部６２による罫線抽出処理の一例を示す説明図であり、上段から順に処理対象のＢＥＮＩＭＧデータ、先頭ラインから１３ラインに対する処理が完了した時点でのＲＵＮＶへの格納値、およびこのときのＲＵＮＶＨＳＴへの格納値を示している。なお、ＢＥＮＩＭＧデータ中の白抜きの四角印は非エッジ検出画素（画素値＝）を示しており、黒塗りの四角印はエッジ検出画素（画素値＝１）を示している。
【０１２４】
なお、ここでは、説明の便宜上、図１１において１点鎖線で囲んだ主走査座標（ｘ座標）Ｃ３、Ｃ９、Ｃ１１、およびＣ８１９０に対応する副走査方向の各画素に着目して処理内容を説明する。また、以下の説明では、主走査座標ＣＸ（ｘは０〜８１９１までの整数）に対応するＲＵＮＶ、ＲＵＮＶＨＳＴのデータ格納アドレスを、ＲＵＮＶ（ｘ）、ＲＵＮＶＨＳＴ（ｘ）と表記する。また、副走査罫線抽出閾値ｒｕｎ_ｖ_ｔｈ［７：０］の設定値は１０であるものとする。
【０１２５】
まず、主走査座標Ｃ３に対応する各画素は、副走査座標（ｙ座標）Ｒ０〜Ｒ１２までエッジ検出画素が連続している。このため、Ｒ１２のラインに対する処理終了時点でＲＵＮＶ（３）＝１３となり、かつＲ９のライン処理終了時点で副走査方向の連続エッジ検出画素数（ＲＵＮＶ（３）の値）がｒｕｎ_ｖ_ｔｈ［７：０］の設定値である１０に到達しているため、ＲＵＮＶＨＳＴ（３）＝１が格納されている。
【０１２６】
また、Ｃ９については、Ｒ４からＲ１２までエッジ検出画素が連続しているため、１３ライン終了時点でＲＵＮＶ（９）＝９となっている。ただし、この時点では連続エッジ検出画素数がｒｕｎ_ｖ_ｔｈ［７：０］の設定値１０に到達していないため、ＲＵＮＶＨＳＴ（９）＝０のままとなっている。
【０１２７】
また、Ｃ１１については、Ｒ０〜Ｒ９までエッジ検出画素が連続しており、Ｒ９終了時点で連続エッジ検出画素数がｒｕｎ_ｖ_ｔｈ［７：０］の設定値１０に到達しているため、ＲＵＮＶＨＳＴ（１１）＝１となっている。ただし、ＲＵＮＶ（１１）については、Ｒ１０でエッジ検出画素が一旦途切れたため、その時点でＲＵＮＶ（１１）＝０にクリアされ、その後Ｒ１２に再度エッジ検出画素が存在しているために１３ライン終了時点でＲＵＮＶ（１１）＝１となっている。
【０１２８】
また、Ｃ８１９０についてはＲ１〜Ｒ１０までエッジ検出画素が連続しており、Ｒ１０終了時点で連続エッジ検出画素数がｒｕｎ_ｖ_ｔｈ［７：０］の設定値１０に到達しているため、ＲＵＮＶＨＳＴ（８１９０）＝１となっている。ただし、ＲＵＮＶ（８１９０）については、Ｒ１２でエッジ検出画素が途切れるため、１３ライン終了時点でＲＵＮＶ（８１９０）＝０となっている。
【０１２９】
この様にして、副走査方向に１箇所以上、ｒｕｎ_ｖ_ｔｈ［７：０］の設定値よりも大きなラン、すなわちエッジ検出画素の連続領域が検出された主走査座標は、それに対応するＲＵＮＶＨＳＴ（ｘ）に１が格納される。換言すれば、ＲＵＮＶＨＩＳＴ（ｘ）は、各主走査画素毎に、ｒｕｎ_ｖ_ｔｈ［７：０］以上のサイズのランが１箇所以上検出されたかどうかを示すフラグ（履歴）を格納するバッファメモリとなる。
【０１３０】
このように、副走査罫線抽出部６２では、副走査方向の罫線画像イメージそのものが抽出されるのではなく、各主走査座標において一定サイズ（ｒｕｎ_ｖ_ｔｈ［７：０］）以上のサイズのランが検出されたかどうかと言う情報を抽出する。なお、実際の副走査方向の罫線画像イメージは後述する主走査罫線抽出部６３において、主走査方向の罫線画像イメージと共に抽出される。
【０１３１】
なお、ｒｕｎ_ｖ_ｔｈ［７：０］に設定する値は、ＢＩＮＩＭＧのサイズおよび解像度等に応じてユーザが任意に設定すればよい。例えば、ユーザが目視で副走査方向のラン画像、すなわち縦線と認識する最小の長さがどの程度であるかに応じて設定してもよい。例えば、６００ｄｐｉ（１ｉｎｃｈ＝２５．４ｍｍあたり６００ｄｏｔ）の画像において、ユーザが縦線であると認識可能なランの長さを５ｍｍとした場合、ｒｕｎ_ｖ_ｔｈ［７：０］を、
ｒｕｎ＿ｖ＿ｈ［７：０］＝（６００×５．０）／２５．４
≒１１８
＝０ｘ７６                      ・・・（式１）
により算出すればよい。
【０１３２】
（３−３．主走査罫線抽出部６３）
主走査罫線抽出部６３は、第２データ変換部５２から入力されたＢＩＮＩＭＧにおける各画素の信号を解析し、主走査方向へのラン、すなわち主走査方向へ一定画素数以上連続するエッジ画素の画像情報（イメージ）をライン毎に検出し、検出結果を示す情報を罫線情報補正部６４に出力する。
【０１３３】
また、主走査罫線抽出部６３は、副走査罫線抽出部６２の副走査ラン履歴格納バッファ（ＲＵＮＶＨＳＴ）に格納されている副走査方向へのラン検出情報を参照し、上記のエッジ画素の画像情報（イメージ）に反映させる。
【０１３４】
また、主走査罫線抽出部６３は、入力画像データにおける罫線部分のかすれ、途切れ等（例えば画像読取時の読み取り誤差等によって生じる）を補正するための画像処理を行う。
【０１３５】
図１２は、主走査罫線抽出部６３の構成を示すブロック図である。この図に示すように、主走査罫線抽出部６３は、フリップフロップ（Ｆ／Ｆ）回路９１、ギャップ判定部９２、ディレイ回路９３ａ〜９３ｃ、主走査ラン判定部９４、出力タイミング信号生成部９５、ＲＵＮＨアクセス制御部９６、および主走査ラン情報格納バッファ（以下、ＲＵＮＨという）を備えている。なお、なお、ＲＵＮＨは１ｂｉｔ／Ｗｏｒｄ×８１９２Ｗｏｒｄのバッファメモリからなり、このメモリは例えばＳＲＡＭ等のメモリ素子で構成されている。
【０１３６】
（３−３−１．フリップフロップ回路９１）
フリップフロップ回路９１は７段のフリップフロップからなり、第２データ変換部５２から出力されたＢＩＮＩＭＧを入力される。１段目のフリップフロップに入力されたある画素のＢＩＮＩＭＧは、以降の画素のＢＩＮＩＭＧが入力される毎に順次次のフリップフロップへと送られ、７段目のフリップフロップに送られたＢＩＮＩＭＧはＢＩＮＩＭＧ＿ＤＥＬとして主走査ラン判定部９４に出力される。また、１段目から６段目までのフリップフロップは、入力されたＢＩＮＩＭＧを次段のフリップフロップとギャップ判定部９２とに出力するようになっている。
【０１３７】
したがって、主走査ラン判定部９４にある画素のＢＩＮＩＭＧ_ＤＥＬが入力される時点で、フリップフロップ回路９１には当該画素から７画素先のデータが入力されている。また、この時点で、ギャップ判定部９２に対しては、左端（１段目）のフリップフロップから順に、主走査ラン判定部９４にＢＩＮＩＭＧが入力される上記画素の６画素先，５画素先，・・・，２画素先,１画素先の各画素のＢＩＮＩＭＧ、すなわち、主走査ラン判定部９４にＢＩＮＩＭＧが入力される上記画素の直後の画素から６画素先までのＢＩＮＩＭＧが入力される。
【０１３８】
（３−３−２．ギャップ判定部９２）
ギャップ判定部９２は、フリップフロップ回路９１から入力される６画素分のＢＩＮＩＭＧに基づいて、これら６画素が全て非エッジ検出画素であるか否かを判定し、判定結果を示す信号ＧＡＰ＿ＩＮＦＯを主走査ラン判定部９４に出力する。すなわち、注目画素の先が罫線のギャップ（主走査ランのかすれ）であってラン自体は継続しているのか、あるいは注目画素の先でランが途切れ（主走査ランの終点）であるのかを判定する。したがって、主走査ラン判定部９４には、注目画素のＢＩＮＩＭＧ＿ＤＥＬと、この注目画素の１画素先から６画素先までの各画素が全て非エッジ検出画素であるかの判定結果を示すＧＡＰ＿ＩＮＦＯとが入力される。
【０１３９】
なお、ギャップ判定部９２は、注目画素の１画素先〜６画素先までの各画素のＢＩＮＩＭＧをそれぞれＦ１〜Ｆ６とすると、
ｎ＿ｇａｐ［２：０］＝１の場合、ＧＡＰ＿ＩＮＦＯ＝Ｆ１、
ｎ＿ｇａｐ［２：０］＝２の場合、ＧＡＰ＿ＩＮＦＯ＝Ｆ１｜Ｆ２、
ｎ＿ｇａｐ［２：０］＝３の場合、ＧＡＰ＿ＩＮＦＯ＝Ｆ１｜Ｆ２｜Ｆ３、
ｎ＿ｇａｐ［２：０］＝４の場合、ＧＡＰ＿ＩＮＦＯ＝Ｆ１｜Ｆ２｜Ｆ３｜Ｆ４、
ｎ＿ｇａｐ［２：０］＝５の場合、ＧＡＰ＿ＩＮＦＯ＝Ｆ１｜Ｆ２｜Ｆ３｜Ｆ４｜Ｆ５、
ｎ＿ｇａｐ［２：０］＝６の場合、ＧＡＰ＿ＩＮＦＯ＝Ｆ１｜Ｆ２｜Ｆ３｜Ｆ４｜Ｆ５｜Ｆ６      ・・・（式２）
の処理を行う。なお、Ｆ１〜Ｆ６の値は、エッジ検出画素の場合には１となり、非エッジ検出画素の場合は０となる。また、ｎ＿ｇａｐ［２：０］は、注目画素の何画素先までギャップ判定に用いるかを示す値であり、ユーザによって１≦ｎ＿ｇａｐ［２：０］≦６の範囲内で任意に設定される。
【０１４０】
すなわち、ユーザにより注目画素の何画素先までを確認対象画素にするかという値がｎ＿ｇａｐ［２：０］に設定され、ギャップ判定部９２は、確認対象画素に１画素でもエッジ検出画素が存在すれば、たとえ他の画素が非エッジ検出画素であったとしてもＧＡＰ＿ＩＮＦＯ＝１とする。このＧＡＰ＿ＩＮＦＯにより、後述するように、確認対象画素の中に非エッジ検出画素が存在していたとしても、確認対象画素にエッジ検出画素が含まれている場合には、確認対象画素からなる領域は主走査ランのギャップ領域（例えば入力画像データを取得するための画像読取時に生じた主走査罫線部分のかすれ等）と判断される。
【０１４１】
例えば、ｎ＿ｇａｐ［２：０］＝５と設定されている場合であって、注目画素の１画素先〜４画素先がいずれも非エッジ検出画素であり、５画素先がエッジ検出画素である場合、ギャップ判定部９２では上記（式２）のｎ＿ｇａｐ［２：０］＝５の場合の式が適用され、ＧＡＰ＿ＩＮＦＯ＝０｜０｜０｜０｜１＝１となる。すなわち、確認対象画素（注目画素の１画素先〜５画素先まで）のうち１画素先〜４画素先までについては非エッジ検出画素であるが、５画素先にエッジ検出画素があるため、上記の非エッジ検出画素は主走査ランのギャップ区間であり、ランは継続しているという判定される。
【０１４２】
（３−３−３．ディレイ回路９３ａ〜９３ｃ）
ディレイ回路９３ａ〜９３ｃは、それぞれ、第２データ変換部５２から主走査罫線抽出部６３に入力されるＨＳＹＮＣ２、ＬＥＮＩ２、およびＰＥＮＩ２を７クロック分ディレイさせて主走査ラン判定部９４に出力する。
【０１４３】
つまり、上記したように、フリップフロップ回路９１に入力されたＢＩＮＩＭＧは７クロック分ディレイして主走査ラン判定部９４に入力される。このため、第２データ変換部５２から主走査罫線抽出部６３にＢＩＮＩＭＧと同期入力されるＨＳＹＮＣ２、ＬＥＮＩ２、およびＰＥＮＩ２の各信号について、ＢＩＮＩＭＧ＿ＤＥＬ信号と同タイミングで主走査ラン判定部９４に入力させる必要がある。そこで、ディレイ回路９３ａ〜９３ｃにより、ＨＳＹＮＣ２、ＬＥＮＩ２、およびＰＥＮＩ２を７クロック分ディレイさせて主走査ラン判定部９４に入力させる。
【０１４４】
なお、ディレイ回路９３ａ〜９３ｃの回路構成は特に限定されるものではなく、例えばフリップフロップ回路９１と同様の構成としてもよい。
【０１４５】
また、上記の説明では注目画素に対するギャップ区間の判定領域（確認対象画素数）を１画素先〜最大６画素先までとしていたが、これに限らず、さらに長い区間を設定できるハードウェア構成としてもよい。また、その場合には、各ＶＩＤＥＯインターフェース信号に対するディレイ回路９３ａ〜９３ｃによってＨＳＹＮＣ２、ＬＥＮＩ２、およびＰＥＮＩ２をディレイさせる期間（ディレイ数；Ｆ／Ｆ数）を、ギャップ区間の判定領域（確認対象画素数）の最大画素数に合わせて変更すればよい。
【０１４６】
（３−３−４．主走査ラン判定部９４）
主走査ラン判定部９４は、図１２に示したように、内部レジスタ（主走査ラン判定部９４の内部処理に用いられるレジスタ）として、ｈｃｏｕｎｔ_ｈ［１２：０］、ｒｕｎ_ｈ［９：０］、ｉｎｌｉｎｅ_ｈ［０］、およびｃａｎｃｅｌ_ｒｕｎ［０］を備えている。また、ユーザ設定レジスタ（外部からパラメータ設定されるレジスタ）として、ｒｕｎ_ｈ_ｔｈ［９：０］およびｌｅｎｇｔｈ［９：０］を備えている。
【０１４７】
ｈｃｏｕｎｔ_ｈ［１２：０］は、フリップフロップ回路９１から入力されるＢＩＮＩＭＧ_ＤＥＬ（ラインデータ）の主走査画素アドレス値を示すものである。具体的には、ｈｃｏｕｎｔ_ｈ［１２：０］は、各ラインの入力開始時、すなわちＨＳＹＮＣＩ２の立上り毎にクリアされる（０に設定される）。そして、ＰＥＮＩ２＝１が成立した後、１画素入力毎にインクリメントされる。また、このｈｃｏｕｎｔ_ｈ［１２：０］の値に対応するアクセスアドレス信号ＲＵＮＨ_ＡＤ［１２：０］がＲＵＮＨアクセス制御部９６に出力され、ＲＵＮＨアクセス制御部９６はこの値に基づいて現在処理されている画素（注目画素）に対応するＲＵＮＨの格納値にアクセスする。なお、ＲＵＮＨは、ページ処理開始時点で全て０クリアされる。
【０１４８】
ｒｕｎ_ｈ［９：０］は、上記格納値へのアクセス時のＲｅａｄ／Ｗｒｉｔｅデータである主走査方向のランサイズ、すなわち連続エッジ検出画素数を格納する。ただし、この連続数は、後述するように、ラン領域中の１つないし複数のギャップ領域を跨いで連続している連続エッジ検出画素数を示している場合がある。
【０１４９】
ｉｎｌｉｎｅ_ｈ［０］は注目画素が主走査ラン領域内であることを示すフラグレジスタであり、ｃａｎｃｅｌ_ｒｕｎ［０］は注目画素が主走査ラン領域外であることを示すフラグレジスタである。ｉｎｌｉｎｅ_ｈ［０］およびｃａｎｃｅｌ_ｒｕｎ［０］の設定処理の詳細については後述する。
【０１５０】
ｒｕｎ_ｈ_ｔｈ［９：０］は、上記ｒｕｎ_ｈ［９：０］に対する主走査ラン判定を行う際の判定閾値を格納する。また、ｌｅｎｇｔｈ［９：０］は、ｒｕｎ_ｈ_ｔｈ［９：０］とｒｕｎ_ｈ［９：０］との閾値判定（主走査ラン判定）が実施される際に行われるＲＵＮＨのフィル処理に用いられるパラメータを格納する。ｒｕｎ_ｈ_ｔｈ［９：０］およびｌｅｎｇｔｈ［９：０］の設定処理の詳細については後述する。
【０１５１】
図１３は、主走査ラン判定部９４の処理の流れを示すフロー図である。この図に示すように、主走査ラン判定部９４は、まず、画像入力有効期間であるか否か、すなわちＰＥＮＩ２＝Ｈ（＝１）の期間中であるか否かを判断する（Ｓ１）。そして、画像入力有効期間であると判断した場合、画素毎に以下のＳ２以降の処理を行う。
【０１５２】
まず、各画素の主走査座標値ｈｃｏｕｎｔ＿ｈ［１２：０］に対応するＲＵＮＨのアドレスに、ＲＵＮＨアクセス制御部９６を介してＢＩＮＩＭＧ_ＤＥＬの信号値を書き込む（Ｓ２）。具体的には、アクセスアドレス信号ＲＵＮＨ_ＡＤ［１２：０］、Ｒｅａｄ／Ｗｒｉｔｅ指示信号ＲＵＮＨ＿Ｒ／Ｗ、およびメモリアクセストリガ信号ＡＣＣＲＥＱ_Ｈの各出力信号を処理対象の画素に応じて設定してＲＵＮＨアクセス制御部９６に出力することにより、ＲＵＮＨアクセス制御部９６を介して対応するＲＵＮＨのアドレスにＢＩＮＩＭＧ_ＤＥＬの信号値を書き込む。
【０１５３】
次に、主走査ラン判定部９４は、注目画素のＢＩＮＩＭＧ＿ＤＥＬの値が１であるか否か（注目画素がエッジ検出画素であるか否か）を判断する（Ｓ３）。そして、ＢＩＮＩＭＧ＿ＤＥＬ＝１の場合（注目画素がエッジ検出画素である場合）にはｒｕｎ_ｈ［９：０］の値を１インクリメントする（Ｓ４）。ただし、ｒｕｎ_ｈ［９：０］の格納値が最大値（＝１０２３）に到達している場合にはｒｕｎ_ｈ［９：０］を最大値のまま保持する。そして、ｒｕｎ_ｈ［９：０］とｒｕｎ_ｈ_ｔｈ［９：０］との比較を行う（Ｓ５）。
【０１５４】
この比較の結果、ｒｕｎ_ｈ［９：０］≧ｒｕｎ_ｈ_ｔｈ［９：０］であると判断した場合、主走査ラン判定部９４は、ｉｎｌｉｎｅ_ｈ［０］＝１に設定するとともに（Ｓ６）、ＲＵＮＨのアドレスｈｃｏｕｎｔ_ｈ［１２：０］（注目画素に対応するアドレス）を開始アドレスとして、ＲＵＮＨの先頭方向（注目画素の左側の画素に対応するアドレス方向）に向けてｌｅｎｇｔｈ［９：０］アドレス分（すなわちｌｅｎｇｔｈ［９：０］の値に対応する画素分）の格納データを無条件に１（エッジ検出画素）とする（フィルする）（Ｓ７）。その後、全画素について主走査ラン判定処理が完了したか否かを判断し（Ｓ８）、完了していない場合には次の注目画素に対してＳ１以降の処理を行い、完了した場合には処理を終了する。
【０１５５】
一方、上記の比較の結果、ｒｕｎ_ｈ［９：０］＜ｒｕｎ_ｈ_ｔｈ［９：０］であった場合、ｉｎｌｉｎｅ_ｈ［０］の設定値の変更やＲＵＮＨの格納値の変更は行わずにＳ８の処理に移行する。
【０１５６】
また、主走査ラン判定部９４は、Ｓ３において注目画素のＢＩＮＩＭＧ＿ＤＥＬの値が０であると判断した場合（注目画素が非エッジ検出画素の場合）には、まず、ｃａｎｃｅｌ_ｒｕｎ［０］＝１に設定する（Ｓ９）。
【０１５７】
次に、主走査ラン判定部９４は、ｉｎｌｉｎｅ_ｈ［０］＝１であるか否か（注目画素の左隣の画素が主走査ラン領域内であるか否か）を判断する（Ｓ１４）。そして、ｉｎｌｉｎｅ_ｈ［０］＝１ではないと判断した場合（注目画素の左隣の画素が主走査ラン領域外である場合）には、後述するＳ１５の処理に移行する。
【０１５８】
一方、ｉｎｌｉｎｅ_ｈ［０］＝１であると判断した場合（注目画素の左隣の画素が主走査ラン領域内である場合）、主走査ラン判定部９４は、ＧＡＰ_ＩＮＦＯ＝１であるか否か（注目画素に対して主走査方向下流側の６画素にエッジ検出画素が含まれているか否か）を判断する（Ｓ１１）。そして、ＧＡＰ_ＩＮＦＯ＝１である場合（注目画素に対して主走査方向下流側の６画素にエッジ検出画素が含まれている場合）にはｃａｎｃｅｌ_ｒｕｎ［０］＝０に設定し（Ｓ１２）、後述するＳ１５の処理に移行する。
【０１５９】
一方、ＧＡＰ_ＩＮＦＯ＝０である場合（注目画素に対して主走査方向下流側の６画素にエッジ検出画素が含まれていない場合）には、副走査罫線抽出部６２に備えられるＲＵＮＶＨＳＴからギャップ観測領域（確認対象画素）、すなわちｈｃｏｕｎｔ_ｈ［１２：０］＋１〜ｈｃｏｕｎｔ_ｈ［１２：０］＋ｎ_ｇａｐ［２：０］の各画素に対応する格納値を読み出し、格納値が１である画素があるか否かを判断する（Ｓ１３）。具体的には、主走査ラン判定部９４は、ｈｃｏｕｎｔ_ｈ［１２：０］＋１〜ｈｃｏｕｎｔ_ｈ［１２：０］＋ｎ_ｇａｐ［２：０］の各画素に対応するＲＵＮＶＨＳＴ_ＡＤ_Ｈ［１２：０］、ＲＵＮＶＨＳＴ_ＤＴ_Ｈ［０］、ＲＵＮＶＨＳＴ_Ｒ／Ｗ_Ｈ、ＡＣＣＲＥＱ_Ｈを副走査罫線抽出部６２に出力し、上記各画素の格納値を取得する。
【０１６０】
そして、ＲＵＮＶＨＳＴにおけるギャップ観測領域の各画素の中に格納値が１である画素が１つでも存在する場合には、ｃａｎｃｅｌ_ｒｕｎ［０］＝０に設定し（Ｓ１４）、後述するＳ１５の処理に移行する。一方、ＲＵＮＶＨＳＴにおけるギャップ観測領域の各画素が全て０である場合にはｃａｎｃｅｌ_ｒｕｎ［０］の設定値を変更せずに後述するＳ１５の処理に移行する。したがって、この場合にはｃａｎｃｅｌ_ｒｕｎ［０］＝１となる。
【０１６１】
Ｓ１５において、主走査ラン判定部９４は、ｃａｎｃｅｌ_ｒｕｎ［０］＝０であるか否かを判断する（Ｓ１５）。そして、ｃａｎｃｅｌ_ｒｕｎ［０］＝０である場合には、ｒｕｎ_ｈ［９：０］およびｉｎｌｉｎｅ_ｈ［０］の値を変更することなく、後述するＳ１７の処理に移行する。一方、ｃａｎｃｅｌ_ｒｕｎ［０］＝１であると判断した場合には、ｒｕｎ_ｈ［９：０］およびｉｎｌｉｎｅ_ｈ［０］の値を共に０に設定（リセット）し（Ｓ１６）、Ｓ１７に移行する。
【０１６２】
次に、主走査ラン判定部９４は、ｉｎｌｉｎｅ_ｈ［０］＝１であるか否かを判断する（Ｓ１７）。そして、ｉｎｌｉｎｅ_ｈ［０］＝１であると判断した場合、ＲＵＮＨのアドレスｈｃｏｕｎｔ_ｈ［１２：０］に１を書き込み（上書き）（Ｓ１８）、Ｓ８の処理に移行する。この処理により、主走査ラン領域のギャップ部分については全て１で埋められる。一方、ｉｎｌｉｎｅ_ｈ［０］＝０であると判断した場合には、ＲＵＮＨの格納値を変更することなくＳ８の処理に移行する。
【０１６３】
以上の処理により、ＲＵＮＨには１ライン分のラン画像（罫線画像）の画像データが格納される。主走査ラン判定部９４は、ＲＵＮＨに１ライン分のラン画像データＬＩＮＥ_Ｍが完成すると、このラン画像データＬＩＮＥ_Ｍを、ＶＩＤＥＯインターフェースを介して罫線情報補正部６４に出力する。
【０１６４】
（３−３−５．出力タイミング信号生成部９５）
出力タイミング信号生成部９５は、ディレイ回路９３ａ〜９３ｃから入力されるＨＳＹＮＣ２_ＤＥＬ、ＬＥＮＩ２_ＤＥＬ、およびＰＥＮＩ２_ＤＥＬの各信号の立上り／立下りタイミング（０／１期間情報）に基づいて、主走査ラン判定部９４から出力されるラン画像（罫線画像）データＬＩＮＥ＿Ｍに同期したＨＳＹＮＣ_Ｍ、ＬＥＮＩ_Ｍ、およびＰＥＮＩ２_Ｍを生成し、罫線情報補正部６４に出力する。
【０１６５】
（３−４．罫線情報補正部６４）
罫線情報補正部６４は、主走査罫線抽出部６３から入力される罫線情報を含むラン画像データＬＩＮＥ_Ｍに対して、文字部分および孤立点部分の除去作業を行う。
【０１６６】
罫線情報補正部６４は、図１に示したように、膨張・縮退処理部６５、フィルタ処理部６６、およびライン情報格納部６７を備えている。また、ライン情報格納部６７は、前ラインラン情報格納バッファ（以下、ＬＩＮＥＩＮＦＯ＿ＰＲＥという）、および注目ラインラン情報格納バッファ（以下、ＬＩＮＥＩＮＦＯ＿ＣＵＲという）を備えている。なお、ＬＩＮＥＩＮＦＯ＿ＰＲＥおよびＬＩＮＥＩＮＦＯ＿ＣＵＲは、１ｂｉｔ／Ｗｏｒｄ×８１９２Ｗｏｒｄのバッファメモリであり、例えばＳＲＡＭ等のメモリ素子で構成される。
【０１６７】
ＬＩＮＥＩＮＦＯ＿ＰＲＥには、注目画素を含むラインの１ライン前のラン画像データＬＩＮＥ＿Ｍが格納される。また、ＬＩＮＥＩＮＦＯ＿ＣＵＲには注目画素を含むラインのラン画像データＬＩＮＥ＿Ｍが格納される。
【０１６８】
膨張・縮退処理部６５は、ＬＩＮＥＩＮＦＯ＿ＰＲＥに格納されている注目画素を含むラインの１ライン前のラン画像、ＬＩＮＥＩＮＦＯ＿ＣＵＲ格納されている注目画素を含むラインのラン画像、および主走査罫線抽出部６３から入力される注目画素を含むラインの１ライン後のラン画像に基づいて、文字部分および孤立点部分を除去するように注目画素の値を補正する。具体的には、図１４に示すように、注目画素の周囲８画素の値を参照し、これら８画素の中に１画素でも黒画素（値１）が存在する場合に注目画素の値を１にする処理（膨張処理）を各画素について行う。また、膨張処理後のラン画像に対し、注目画素の周囲８画素に白画素（値０）が存在する場合に注目画素の値を０にする処理（縮退処理）を各画素について行う。これにより、ラン画像における文字部分および孤立点部分を除去できる。
【０１６９】
フィルタ処理部（エッジ強調処理部）６６は、主走査ラン画像イメージおよび副走査ラン画像イメージの強調を目的とした縦横エッジ強調フィルタ処理を行う。この縦横エッジ強調フィルタ処理には、例えば、図１５（ａ）および図１５（ｂ）に示したフィルタ係数を用いる。
【０１７０】
そして、罫線情報補正部６４は、膨張・縮退処理およびフィルタ処理を施した２値画像データをＤＬＩＮＥ信号として第３データ変換部５４に出力し、主走査罫線抽出部６３から入力されたラン画像データＬＩＮＥ_Ｍをそのまま（何も処理を施さずに）ＬＩＮＥ信号として第３データ変換部５４に出力（スルー）する。また、罫線情報補正部６４は、主走査罫線抽出部６３から入力されたＨＳＹＮＣ＿Ｍ、ＬＥＮ＿Ｍ、およびＰＥＮ＿Ｍをそのまま（何も処理を施さずに）ＨＳＹＮＣＯ、ＬＥＮＯ、およびＰＥＮＯとして第３データ変換部５４に出力（スルー）する。
【０１７１】
（３−５．第３データ変換部５４）
第３データ変換部（ＶＩＤＥＯ→ＤＭＡ変換部）５４は、罫線情報補正部６４からＶＩＤＥＯインターフェースを介して入力されるＬＩＮＥおよびＤＬＩＮＥの各画像データをＤＭＡ転送単位になるまで蓄積し、ＤＭＡ転送単位のデータが蓄積される毎にＤＭＡインターフェースを介して罫線画像記憶部（外部メモリ）Ｍ２に順次出力する。なお、第３データ変換部５４は、図６に示したｙａ＝０のライン画像に対応するＬＩＮＥおよびＤＬＩＮＥの出力時に動作を開始し、ｙｂ＝（Ｙ−１）のライン画像に対応するＬＩＮＥおよびＤＬＩＮＥの出力を終えるまで動作を継続する。
【０１７２】
（４．実施形態１のまとめ）
以上のように、本実施形態では、主走査罫線抽出部６３が、上記Ｓ２において非エッジ検出画素についてＢＩＮＩＭＧ_ＤＥＬ＝０をＲＵＮＨのアドレスｈｃｏｕｎｔ_ｈ［１２：０］に書き込んだ後、Ｓ９においてｃａｃｃｅｌ＿ｒｕｎ［０］の設定値を１に設定、すなわち主走査ラン領域外であるという判定フラグを設定する。
【０１７３】
そして、Ｓ１０においてｉｎｌｉｎｅ_ｈ［０］＝１であるか否か、すなわち注目画素の１つ前の画素が主走査ラン領域内であったのかどうかを判断し、ｉｎｌｉｎｅ_ｈ［０］＝１である場合にはＳ１１においてＧＡＰ_ＩＮＦＯ＝１であるか否か、すなわち注目画素がギャップ領域であるか否かをさらに判断する。
【０１７４】
そして、ギャップ領域である（ＧＡＰ_ＩＮＦＯ＝１）と判断した場合、Ｓ１２においてｃａｎｃｅｌ_ｒｕｎ［０］を０（主走査ラン領域内であることを示す）に設定する。一方、ギャップ領域ではない（ＧＡＰ_ＩＮＦＯ＝０）と判断した場合には、即座に主走査ラン領域外であるという判定を行うのではなく、Ｓ１３においてギャップ領域判定範囲内の画素（確認対象画素）についてのＲＵＮＶＨＳＴの格納値を調べる。すなわち、確認対象画素において副走査方向ランが検出された履歴の有無を調べる。
【０１７５】
そして、確認対象画素の中にＲＵＮＶＨＳＴの格納値が１である画素、すなわち副走査方向ランとして検出された画素がある場合には、ｃａｎｃｅｌ_ｒｕｎ［０］を０（主走査ラン領域内であることを示す）に設定する。
【０１７６】
このように、本実施形態では、Ｓ１１におけるＧＡＰ_ＩＮＦＯ＝１であるか否かの判定結果、およびＳ１３における確認対象画素において副走査方向ランが検出された履歴の有無の検出結果に基づいて注目画素が主走査ラン領域内であるか否かを判断する。
【０１７７】
これにより、例えば、Ｓ１１におけるギャップ判定だけでは主走査ラン領域外であると判定されてしまう罫線部分のかすれや途切れ等について、主走査ラン領域内である、すなわち主走査ラン領域は継続していると判定することができる。
【０１７８】
なお、Ｓ１３では、注目画素が主走査ラン領域内であるか否かの判定を行う際に副走査ラン情報を参照しているが、この副走査ラン情報は単にそのアドレスで一定サイズ以上の副走査ランが検出されたかどうかという履歴情報であり、検出処理中の主走査ランと上記副走査ラン情報に対応する副走査ランが交差しているかどうかについては主走査ラン領域内であるか否かの判断材料にならない。
【０１７９】
したがって、例えば、画像の読み取り時に、本来は１本に繋がっている主走査罫線画像が読取装置（入力装置）の不良や経年劣化等によって所々かすれた状態で電子データ化され、その結果点在した罫線の一部の主走査ランサイズがｒｕｎ_ｈ_ｔｈ［９：０］よりも小さくなる場合、Ｓ１１のギャップ判定処理だけでは罫線でないものとして見落されるが、Ｓ１１のギャップ処理とＳ１３の処理とを行うことにより、１本の罫線として認識することができる。すなわち、読取装置の性能に起因する主走査罫線の判定精度の低下を防止できる。
【０１８０】
また、上記の構成によれば、主走査ラン判定部９４に入力されるＢＩＮＩＭＧ_ＤＥＬに対してＳ７の処理（フィル処理）およびＳ１８の処理（ギャップ埋め処理）を施すことにより、断片化した複数の主走査方向の罫線について、副走査方向の罫線と必ずしも交差していなくても１本の罫線として判断される。例えば、図１６（ａ）に示したＢＩＮＩＭＧにおける矩形画像内の主走査ランのように、断片化しており、かつ副走査ランと交差していない主走査ランであっても、図１６（ｂ）に示すように連結した１本の主走査ランとして処理され、ＲＵＮＨに格納される主走査ラン画像は図１６（ｃ）において１本の主走査ランとなる。
【０１８１】
このように、副走査罫線抽出部６２のＲＵＮＶＨＳＴに格納される副走査ラン履歴情報（履歴格納情報）は、主走査ラン画像のギャップ領域の補正処理用データとして使用される。
【０１８２】
なお、各ラインの先頭部分にｒｕｎ_ｈ_ｔｈ［９：０］設定値に満たない領域、すなわちｉｎｌｉｎｅ_ｈ［０］＝１が成立しない領域においてある程度の大きさの主走査ラン領域が存在している場合、ｉｎｌｉｎｅ_ｈ［０］＝０の状態で上記Ｓ１１およびＳ１３の処理が行われるため、上記Ｓ７の処理を行わない場合にはこの様な主走査ラン領域については認識されない。
【０１８３】
これに対して、上記Ｓ７の処理を行うことにより、上記領域を主走査ランとして検出できる。なお、フィル処理の実施サイズであるｌｅｎｇｔｈ［９：０］については、主走査ラン閾値ｒｕｎ_ｈ_ｔｈ［９：０］よりも大きな値を設定しておく必要がある。また、ｒｕｎ_ｈ_ｔｈ［９：０］の設定値については、ユーザが主走査ランと認識できる画素数を紙面サイズ、解像度等の要因に基づいて決定した上で上記（式１）に基づいて算出すればよい。
【０１８４】
また、これら一連の処理を実施する過程で、副走査ラン画像イメージの抽出も、主走査ラン画像の抽出とは独立して並行実施される。例えば、入力画像の０ライン目から９９ライン目までの主走査画素座標＝５０の地点に罫線が存在する場合、上記Ｓ２の処理により、ＲＵＮＨのｈｃｏｕｎｔ_ｈ［１２：０］＝５０のアドレスには、０ライン目から９９ライン目まで１がＷｒｉｔｅされ、これを２次元画像として再構成すると副走査方向のラン画像イメージが再構成される。この際、上述した通り、主走査方向のランと副走査方向のランは全く無関係にイメージ抽出が行われるため、両者の位置関係（例えば交差しているか否か）にかかわらず、両方向のラン画像イメージを確実に抽出できる。
【０１８５】
また、本実施形態では、最初に副走査方向に対して予備的な罫線情報抽出を行い、その後に、そのデータを用いた精度の高い主走査方向の罫線抽出と副走査方向の罫線抽出とを行う。この際、必要となる画像格納用メモリは、副走査方向の罫線抽出用に入力ライン最大幅のメモリバッファが２つ（ＲＵＮＶおよびＲＵＮＶＨＳＴ）、主走査方向の罫線抽出用に入力ライン最大幅のメモリバッファが１つ（ＲＵＮＨ）、罫線情報補正用のメモリバッファが２つ（ＬＩＮＥＩＮＦＯ＿ＰＲＥおよびＬＩＮＥＩＮＦＯ＿ＣＵＲ）の計５つだけでよいので、罫線抽出処理を行う従来の画像処理装置よりもメモリバッファ数を低減できる。また、これら各メモリバッファは１ライン分のデータを格納できるサイズであればよく、ごく小容量のメモリで構成可能である。したがって、罫線抽出処理を行う従来の画像処理装置よりも、回路規模を低減して低コスト化を図るとともに、罫線画像情報の認識精度を向上させることができる。
【０１８６】
なお、本実施形態では、圧縮処理部１４が入力画像データから文字・線画の画像からなる前景レイヤーを抽出し、この前景レイヤーを２値化した結果に基づいて罫線抽出処理を行っているが、これに限るものではない。例えば、入力画像データよりエッジを検出し、エッジが検出された画像データを２値化した画像データに対して罫線の抽出を行うようにしてもよい。エッジの抽出方法は特に限定されるものではなく、例えば、図１７（ａ）および図１７（ｂ）に示す３×３のフィルタやゾーベルフィルタなどを用いた従来から公知の方法を用いて行うことができる。また、２値化を行う方法についても特に限定されるものではなく、従来から公知の種々の方法を用いることができる。例えば、画像データが８ビットで表されている場合には閾値として１２８を設定して２値化を行ってもよい。あるいは、複数の画素からなるブロックの平均値を求めて、この平均値を閾値として注目画素の２値化を行ってもよい。
【０１８７】
また、本実施形態では、本発明をデジタルカラー複合機に適用する場合について説明したが、本発明の適用対象はこれに限るものではない。例えば、モノクロの複合機に適用してもよい。また、複合機に限らず、例えば単体のファクシミリ通信装置、複写機、画像読取装置などに適用してもよい。
【０１８８】
図１８は、本発明を画像読取装置１ｂに適用した場合の構成例を示すブロック図である。
【０１８９】
この図に示す画像読取装置１ｂは、カラー画像入力装置２とカラー画像処理装置３ｂとを備えている。カラー画像処理装置３ｂは、Ａ／Ｄ変換部１１、シェーディング補正部１２、入力階調補正部１３、圧縮処理部１４、ＯＣＲ処理部１５、および主制御部（図示せず）から構成されており、これに、カラー画像入力装置２が接続され、全体として画像読取装置１ｂを構成している。Ａ／Ｄ変換部１１、シェーディング補正部１２、入力階調補正部１３、圧縮処理部１４、およびＯＣＲ処理部１５の構成および動作は上記したデジタル複合機１に備えられるこれら各部材と略同様である。
【０１９０】
〔実施形態２〕
本発明の他の実施形態について説明する。なお、説明の便宜上、実施形態１で説明した部材と同様の機能を有する部材については実施形態１と同じ符号を付し、その説明を省略する。なお、本実施形態では、罫線情報抽出結果を用いて帳票認識処理（文書照合処理）を行う場合の実施例について説明する。
【０１９１】
図１９は、本実施形態にかかるデジタル複合機（画像形成装置）１ｃの概略構成を示すブロック図である。この図に示すように、デジタル複合機１ｃでは、圧縮処理部１４がシェーディング補正部１２と入力階調補正部１３との間に設けられており、この圧縮処理部１４に対してＯＣＲ処理部１５に代えて文書照合処理部１５ｂが接続されている点が実施形態１のデジタル複合機１と異なっている。なお、デジタル複合機１ｃでは、カラーバランスの調整および濃度信号への変換をシェーディング補正部１２で行い、入力階調補正部１３では下地濃度の除去やコントラストなどの画質調整処理が行われるようになっている。
【０１９２】
文書照合処理部１５ｂは、図１９に示すように、罫線抽出部４１と文書照合部４４とを備えている。罫線抽出部４１の構成および機能は実施形態１と同様である。
【０１９３】
文書照合部４４は、罫線抽出部４１において原稿画像データ（照合対象画像）に基づいて生成された罫線画像情報（ＤＬＩＮＥ信号）を用いて、原稿画像と、ハードディスク等の記憶部（図示せず）に予め記憶させておいた免許証、住民票、戸籍謄本等の所定の定型フォーマットを有する帳票データの罫線画像情報とを照合し、照合結果を主制御部に伝達する。
【０１９４】
照合処理の方法は特に限定されるものではないが、本実施形態では特許文献１に記載されている方法を用いる。
【０１９５】
具体的には、まず、輪郭抽出処理で罫線画像をラスタスキャンして追跡開始点（例えばラン画像の端部）を検出した後、その追跡開始点から時計周りあるいは反時計周りに図形境界がつくる閉曲線を追跡することによって行なわれる。このような閉曲線追跡により抽出された輪郭の情報は座標点列として保存される。
【０１９６】
次に、抽出された輪郭線データをもとに、画像の交差部や角点などの特徴点を検出し、点列の組合せから枠を抽出する。そして、入力枠情報の外接図形を算出する。
【０１９７】
次に、各々の枠データの中心座標データを算出する。例えば、枠座標を左下隅から（ｘ０，ｙ０），（ｘ１，ｙ１），（ｘ２，ｙ２），（ｘ３，ｙ３）とした場合に、対角線の交差点を（ｃｘ，ｃｙ）とする。
【０１９８】
次に、予め登録しておいた定型フォーマットにおける枠の左上の座標と、上記罫線画像上の左上の座標との差分を（ｄｘ，ｄｙ）とし、登録定型フォーマットの枠または罫線画像の枠の中心位置を補正して両者の位置合わせを行う。
【０１９９】
次に、登録定型フォーマットの枠データと罫線画像の枠データとを対応づける。例えば、登録定型フォーマット上の枠データの中心座標を（ｔｃｘ，ｔｃｙとし、罫線画像上の枠データの中心座標を（ｉｃｘ，ｉｃｙ）とし、両者の距離ＤをＤ＝（ｉｃｘ−ｔｃｘ）2 ＋（ｉｃｙ−ｔｃｙ）2とする。
【０２００】
そして、罫線画像上の枠のうち、登録定型フォーマット上の枠に対応する枠の数を計数する。具体的には、予め設定された閾値ｄｔｈを用いて、Ｄ＜ｄｔｈである場合には罫線画像上の枠と登録定型フォーマット上の枠とが対応していると判断し、Ｄ≧ｄｔｈの場合には対応していないと判断する。そして、対応する枠の数を登録定型フォーマット上の枠の数で除算した値を類似度として算出する（類似度＝対応する枠の数／登録定型フォーマット上の枠の数）。そして、この類似度と予め設定しておいた類似判定閾値とを比較することにより、罫線画像（原稿画像）と登録定型フォーマットとが類似しているか否か（照合の有無）を判断する。
【０２０１】
以上のように、本実施形態では、罫線抽出部４１によって生成された罫線画像情報（ＤＬＩＮＥ信号）を用いて文書照合処理を行う。したがって、高精度に抽出された罫線画像情報に基づいて文書照合処理を行うことができるので、文書照合処理の精度を向上させることができる。
【０２０２】
なお、文書照合処理の結果を用いて、デジタル複合機１ｃの主制御部、あるいはデジタル複合機１ｃに通信可能に接続された他の装置が、原稿画像データに対する処理（例えば印字、電子データの保存、送信等）の実行を禁止したり制限したりするようにしてもよい。
【０２０３】
例えば、免許証、住民票、戸籍謄本などの所定の定型フォーマットを有する帳票データの罫線画像情報をデジタル複合機（画像形成装置）１ｃやサーバー内に予め保存しておき、デジタル複合機１ｃにおいて原稿画像データに対する処理（例えば印字、電子データの保存、送信等）の実行が指示された場合に、原稿画像データから罫線画像情報を抽出し、抽出した罫線画像情報と予め保存しておいた免許証、住民票、戸籍謄本等の罫線画像情報との照合処理（マッチング処理）を行い、照合の結果一致していると判定された場合には、原稿画像データに対する処理（例えば印字、電子データの保存、送信等）の実行を禁止したり、所定の制限を加えたりするなどの処理を行うようにしてもよい。
【０２０４】
より具体的には、例えば、ユーザが免許証のコピーを取るために免許書原本を画像形成装置でスキャンした場合、スキャンによって取得された免許証の画像データから罫線画像を抽出する。そして、抽出した罫線画像情報と、画像形成装置に備えられるハードディスク等の記憶手段に格納されている定型フォーマットの罫線画像情報とを順次照合する。そして、照合処理によりユーザがスキャンした画像データが免許証であると判定された場合、上記画像データの画像形成を行う際にこの画像データに「複写」あるいは「コピー」等の透かし文字を重畳させたり、あるいは画像形成処理をキャンセル（禁止）させたりするといったセキュリティ処理を行うようにしてもよい。
【０２０５】
なお、本実施形態では、圧縮処理部１４をシェーディング補正部１２と入力階調補正部１３との間に設けているが、これに限らず、実施形態１と同様、圧縮処理部１４を入力階調補正部１３と領域分離処理部１６との間に設けてもよい。
【０２０６】
また、本実施形態では、圧縮処理部１４が入力画像データから文字・線画の画像からなる前景レイヤーを抽出し、この前景レイヤーを２値化した結果に基づいて罫線抽出処理を行っているが、これに限られるものではない。例えば、入力画像データよりエッジを検出し、エッジが検出された画像データを２値化した画像データに対して罫線の抽出を行うようにしてもよい。この場合には、圧縮処理部１４に代えて、エッジ検出および２値化処理を行う処理部（図示せず）を設ければよい。
【０２０７】
また、本実施形態では、本発明をデジタルカラー複合機に適用する場合について説明したが、本発明の適用対象はこれに限るものではない。例えば、モノクロの複合機に適用してもよい。また、複合機に限らず、例えば単体のファクシミリ通信装置、複写機、画像読取装置などに適用してもよい。例えば、図１８に示した画像読取装置１ｂにおいて、ＯＣＲ処理部１５に代えて文書照合処理部１５ｂを備えてもよい。この場合、例えば、画像データと文書照合結果を示す信号とが画像読取装置１ｂからコンピュータやネットワークを介して接続された複合機やプリンタ等の画像形成装置に入力され、文書照合結果に基づく処理が行われる。
【０２０８】
また、上記各実施形態において、デジタル複写機１，１ｃ、および画像読取装置１ｂに備えられる画像処理装置３の各部（例えば、圧縮処理部１４、ＯＣＲ処理部１５、および文書照合処理部１５ｂの各部）は、ＣＰＵ等のプロセッサを用いてソフトウェアによって実現されるものであってもよい。すなわち、デジタル複写機１，１ｃおよび画像読取装置１ｂは、各機能を実現する制御プログラムの命令を実行するＣＰＵ（central processing unit）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるデジタル複写機１，１ｃおよび画像読取装置１ｂの制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、デジタル複写機１に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによって達成される。
【０２０９】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０２１０】
また、デジタル複写機１，１ｃおよび画像読取装置１ｂを通信ネットワークと接続可能に構成し、通信ネットワークを介して上記プログラムコードを供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０２１１】
また、デジタル複写機１，１ｃおよび画像読取装置１ｂの各ブロックは、ソフトウェアを用いて実現されるものに限らず、ハードウェアロジックによって構成されるものであってもよく、処理の一部を行うハードウェアと当該ハードウェアの制御や残余の処理を行うソフトウェアを実行する演算手段とを組み合わせたものであってもよい。
【０２１２】
本発明のコンピュータシステムは、フラットベッドスキャナ・フィルムスキャナ・デジタルカメラなどの画像入力装置、所定のプログラムがロードされることにより上記画像処理などの様々な処理が行われるコンピュータ、コンピュータの処理結果を表示するＣＲＴディスプレイ・液晶ディスプレイなどの画像表示装置、およびコンピュータの処理結果を紙などに出力するプリンタ等の画像形成装置により構成されてもよい。さらには、ネットワークを介してサーバーなどに接続するための通信手段としてのネットワークカードやモデムなどが備えられていてもよい。
【０２１３】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段あるいは異なる請求項に記載した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０２１４】
本発明は、原稿画像データから罫線画像情報を抽出する画像処理装置に適用できる。
【図面の簡単な説明】
【０２１５】
【図１】本発明の一実施形態にかかる画像処理装置（画像読取装置、画像データ出力処理装置）に備えられる罫線抽出部の構成を示すブロック図である。
【図２】本発明の一実施形態にかかる画像処理装置（画像読取装置、画像データ出力処理装置）の概略構成を示すブロック図である。
【図３】図２に示した画像処理装置に備えられる圧縮処理部の構成を示すブロック図である。
【図４】図３に示した圧縮処理部に入力される入力画像データ、およびこの入力画像データに対する圧縮処理部による処理結果の一例を示す説明図である。
【図５】図１に示した罫線抽出部で扱われる信号の信号波形図である。
【図６】図１に示した罫線抽出部に備えられる第１データ変換部および第２データ変換部における処理を説明するための説明図である。
【図７】図１に示した罫線抽出部に備えられる副走査罫線抽出部によって検出される副走査ラン画像の一例を示す説明図である。
【図８】図１に示した罫線抽出部に備えられる副走査罫線抽出部の構成を示すブロック図である。
【図９】図８に示した副走査罫線抽出部に備えられるＲＵＮＶアクセス制御部の構成を示すブロック図である。
【図１０】図８に示した副走査罫線抽出部に備えられるＲＵＮＶＨＳＴアクセス制御部の構成を示すブロック図である。
【図１１】図８に示した副走査罫線抽出部において行われる罫線抽出処理を説明するための説明図である。
【図１２】図１に示した罫線抽出部に備えられる主走査罫線抽出部の構成を示すブロック図である。
【図１３】図１２に示した主走査罫線抽出部における処理の流れを示すフロー図である。
【図１４】図１に示した罫線抽出部に備えられる罫線情報補正部において行われる膨張・縮退処理を説明するための説明図である。
【図１５】（ａ）および（ｂ）は、図１に示した罫線抽出部に備えられる罫線情報補正部において行われるフィルタ処理におけるフィルタ係数の一例を示す説明図である。
【図１６】（ａ）は図１２に示した主走査罫線抽出部に入力される画像データを示す説明図であり、（ｂ）は（ａ）に示した画像データに対する主走査罫線抽出部による処理を示す説明図であり、（ｃ）は（ｂ）の処理によって生成される画像データを示す説明図である。
【図１７】（ａ）および（ｂ）は、図２に示した画像処理装置（画像読取装置、画像データ出力処理装置）において、入力画像データからエッジ画像を抽出する場合に用いられるフィルタ係数の一例を示す説明図である。
【図１８】本発明の一実施形態にかかる画像処理装置の変形例（画像読取装置）の概略構成を示すブロック図である。
【図１９】本発明の他の実施形態にかかる画像処理装置（画像読取装置、画像データ出力処理装置）の概略構成を示すブロック図である。
【符号の説明】
【０２１６】
１，１ｃ  デジタル複合機（画像処理装置、画像読取装置、画像データ出力処理装置）
１ｂ      画像読取装置（画像処理装置、画像読取装置）
２        カラー画像入力装置（撮像部）
３，３ｂ  カラー画像処理装置（画像処理装置）
４        カラー画像出力装置
１４      圧縮処理部
１５      ＯＣＲ処理部
１５ｂ    文書照合処理部
４１      罫線抽出部
４２      罫線除去部
４３      文字解析部
４４      文書照合部（原稿特徴量抽出部、照合処理部）
５１      第１データ変換部
５２      第２データ変換部
５３      罫線解析部
５４      第３データ変換部
６１      ＤＭＡ制御部
６２      副走査罫線抽出部（第２計数部）
６３      主走査罫線抽出部（画素値判定部、計数部、罫線画像データ生成部）
６４      罫線情報補正部
６５      膨張・縮退処理部（膨張処理部、縮退処理部）
６６      フィルタ処理部（エッジ補正部）
６７      ライン情報格納部
７１      副走査ラン判定部（第２計数部）
７２      ＲＵＮＶアクセス制御部
７３      ＲＵＮＶＨＳＴアクセス制御部
８１〜８３  デマルチプレクサ
８４      ＲＵＮＶバッファＣＥ発生部
８５〜８８  マルチプレクサ
８９      ＲＵＮＶＨＳＴバッファＣＥ発生部
９１      フリップフロップ回路
９２      ギャップ判定部
９３ａ〜９３ｃ  ディレイ回路
９４      主走査ラン判定部（画素値判定部、計数部、罫線画像データ生成部）
９５      出力タイミング信号生成部
９６      ＲＵＮＨアクセス制御部
Ｍ１      前景２値画像記憶部
Ｍ２      罫線画像記憶部
【図１】
0004491488.tif 000003
【図２】
0004491488.tif 000004
【図３】
0004491488.tif 000005
【図４】
0004491488.tif 000006
【図５】
0004491488.tif 000007
【図６】
0004491488.tif 000008
【図７】
0004491488.tif 000009
【図８】
0004491488.tif 000010
【図９】
0004491488.tif 000011
【図１０】
0004491488.tif 000012
【図１１】
0004491488.tif 000013
【図１２】
0004491488.tif 000014
【図１３】
0004491488.tif 000015
【図１４】
0004491488.tif 000016
【図１５】
0004491488.tif 000017
【図１６】
0004491488.tif 000018
【図１７】
0004491488.tif 000019
【図１８】
0004491488.tif 000020
【図１９】
0004491488.tif 000021