JP2004287565A - 原稿方向判別用の辞書作成方法 - Google Patents
原稿方向判別用の辞書作成方法 Download PDFInfo
- Publication number
- JP2004287565A JP2004287565A JP2003075919A JP2003075919A JP2004287565A JP 2004287565 A JP2004287565 A JP 2004287565A JP 2003075919 A JP2003075919 A JP 2003075919A JP 2003075919 A JP2003075919 A JP 2003075919A JP 2004287565 A JP2004287565 A JP 2004287565A
- Authority
- JP
- Japan
- Prior art keywords
- image
- character
- dictionary
- image data
- characters
- 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.)
- Withdrawn
Links
Images
Landscapes
- Character Input (AREA)
Abstract
【課題】コストを上げることなく、且つ原稿方向判別の精度を落とさずに、より高速に原稿方向の判別を行えるようにすること。
【解決手段】原稿画像の方向を判別するために用いる辞書を作成する辞書作成方法であって、辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出工程(S401)と、前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較工程(S402)と、前記比較工程で類似文字であると判断された複数の文字ごとに1つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化工程(S403)と、前記グループの平均特徴ベクトルと、前記比較工程で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成工程(S405)とを有する。
【選択図】 図18
【解決手段】原稿画像の方向を判別するために用いる辞書を作成する辞書作成方法であって、辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出工程(S401)と、前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較工程(S402)と、前記比較工程で類似文字であると判断された複数の文字ごとに1つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化工程(S403)と、前記グループの平均特徴ベクトルと、前記比較工程で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成工程(S405)とを有する。
【選択図】 図18
Description
【0001】
【発明の属する技術分野】
本発明は、複写機、スキャナ等の画像入力装置などにおける原稿方向判別用の辞書作成方法に関する。
【0002】
【従来の技術】
従来の原稿方向自動判別方法を図19のフローチャートを参照して説明する。
【0003】
まず、ステップS101において、入力された画像データを、文字、写真、線画、表などの領域に分ける。
【0004】
次にステップS102において、ステップS101で分離された領域の中に、文字(例えば、本文、タイトル、キャプションなど)領域や表中の文字領域があるか否かを判断する。文字領域が無い場合、原稿方向を自動で判別することができないので、ステップS113に進み、原稿方向を自動判別できない旨を通知する。
【0005】
一方、文字領域があればステップS103に進み、ステップS101及びS102で得られた文字領域から、1文字分の矩形を抽出する。
【0006】
ステップS104では、ステップS103で文字矩形が得られたか否かを判断し、得られていればステップS105に移り、得られなければステップS110に移る。
【0007】
ステップS105では、ステップS103で抽出した1文字に対して文字認識処理を実行する。この文字認識動作について、ここで図20を参照して説明する。
【0008】
図19のステップS103で抽出された1文字について、ステップS201では、文字矩形内の画像から文字の特徴ベクトルを抽出する。この特徴ベクトルを抽出するためは、まず、図21に示すように文字に外接する矩形を求め、その外接矩形を図22に示すような4×4の領域に分割する。そして、それぞれの領域に対して図23に示す4方向に輪郭線の成分量を特徴量として抽出する。これにより、64次元のベクトルが特徴ベクトルとして抽出される。
【0009】
次に、ステップS202において、ステップS201で抽出された特徴ベクトルの次元数を削減するための変換を行う。上記のように抽出された認識対象文字の次元数を64とし、変換後の次元数を32とすると、変換行列は32×64の行列として表すことができる。この行列とステップS201で抽出されたベクトルを掛け算することで次元数を変えたベクトルを作成する。
【0010】
ステップS203では、次元数を変更した認識対象文字の特徴ベクトルと、予め記憶されている辞書内の各文字の特徴ベクトルとの距離を求める認識処理を行う。ここでは、各方向毎に第1候補文字と第2候補文字及びこれらの類似度を保存する。
【0011】
ステップS205では、抽出された文字の文字認識が0°、90°、180°、270°の各方向からすべて行われたかを判断し、まだ文字認識が行われていない方向があれば、ステップS206で特徴ベクトルをさらに90°回転させ、ステップS203では90°回転した状態で文字認識を行う。このようにして、90°ずつ特徴ベクトルが回転されて、4方向すべての方向について文字認識が行われることになる。
【0012】
すべての方向について文字認識が行われれば(ステップS205でYES)、処理を終了する。
【0013】
ステップS105において上記のように各方向から見た特徴ベクトルの判別を終えるとステップS106に移る。ステップS106では、ステップS105で認識した文字が方向判定に利用するのに適当な文字であるかについて判定を行う。この判定の方法として、例えば、各方向について文字認識を行った結果、それぞれの方向から認識された第1候補文字の確からしさを示す類似度が、各方向間で類似度の差が所定値よりも小さい場合に、不適当な文字であると判断する方法等が考えられる。
【0014】
ステップS106で方向判定に適した文字であると判定された場合、ステップS107に進み、その文字の方向を判定する。その一例として、第1候補文字の類似度が一番よい方向であり、スコアは、例えば類似度が小さいほうがよい場合
【0015】
スコア=(第2候補の類似度−第1候補の類似度)×定数/第1候補の類似度…(1)
【0016】
のような式で表され、スコアが大きいほどその方向である可能性が高いことになる。
このようにして文字から判定された方向(0°、90°、180°、270°)の頻度数頻度数O0、O90、O180、O270のいずれかをインクリメントし、その文字領域における各方向の累積スコアに今回算出したスコアを加算する。更に認識した文字数Cpをインクリメントする。
【0017】
一方、ステップS106で方向判定に適さない文字であると判定された場合、ステップS108に進み、例えば、不適当であると判定された文字数Cnpをインクリメントする。
【0018】
ステップS109では、現在、原稿方向の判定のための対象としている文字領域の処理を続けるか否かを判定する。例えば、対象としている文字領域において、処理した文字数Cp+CnpがN未満の場合、同文字領域の処理を続ける。
【0019】
ステップS110では、処理した文字領域が原稿方向判定に適当な領域であるか否かの判定を行う。例えば、4方向の累積スコアの差が小さい場合(例えば、頻度数O0、O90、O180、O270の最大値と2番目の値の差が所定値以下である場合)は、この文字領域の結果を捨てて、次の文字領域での処理に移行する(ステップS102へ)。
【0020】
ステップS110で、処理した文字領域が原稿方向判定に適当な領域であると判定されると、ステップS111に進み、ステップS110で得られた文字領域の累積スコアを原稿全体の累積スコアに加算する。
【0021】
次にステップS112では、認識した文字数や領域数、全体の認識結果等に基づいて、判定処理を続行するか否かを判定する。例えば、認識した文字数が予め設定されたK(定数)文字未満であったり、認識した領域数が予め設定されたM(定数)未満であれば、処理を続行するなどが考えられる。続行する場合にはステップS102に戻り、終了する場合にはステップS113へ進む。
【0022】
ステップS113では、得られた全体の結果から原稿の方向を判定する。例えば、 各方向の累積スコアを比較して一番大きい値の方向を原稿の方向として出力する。なお、上述したが、ステップS102において文字領域がないと判断された場合、判別不可能である旨を出力する。
【0023】
【発明が解決しようとする課題】
しかしながら、従来の方式では、詳細識別処理で行われる演算量が非常に大きく、原稿方向判定処理に時間がかかるため、特に複写機などの実時間処理が必要な場合において、文字認識速度の向上が求められている。より高速のMPUなどを用いれば判定処理速度を上げることができるが、通常、そういった高速のMPUは高価であり、コストが高くなってしまう。
【0024】
本発明は上記問題点を鑑みてなされたものであり、コストを上げることなく、且つ原稿方向判別の精度を落とさずに、より高速に原稿方向の判別を行えるようにすることを目的とする。
【0025】
【課題を解決するための手段】
上記目的を達成するために、本発明の原稿方向判別用の辞書作成方法は、原稿画像の方向を判別するために用いる辞書を作成する辞書作成方法であって、辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出工程と、前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較工程と、前記比較工程で類似文字であると判断された複数の文字ごとに1つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化工程と、前記グループの平均特徴ベクトルと、前記比較工程で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成工程とを有する。
【0026】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【0027】
<画像入出力装置の構成>
まず、本発明を適用可能な装置の一例である画像入出力装置の構成について説明する。
【0028】
図1は、画像入出力装置1001を横から見た場合の外観図である。
【0029】
画像入力装置であるスキャナ2070は、原稿上の画像を照明し、CCDラインセンサ(図示せず)により走査して電気信号に変換することにより、ラスターイメージデータを得る。原稿は、使用者が原稿を原稿フィーダ2072のトレイ2073にセットし、操作部2012から読み取り指示することにより、コントローラCPU2001がスキャナ2070に読み取り開始指示を与え、これにより原稿フィーダ2072は原稿用紙を1枚ずつフィードして原稿画像の読み取りが行われる。
【0030】
画像出力装置であるプリンタ2095は、ラスターイメージデータを用紙上に可視化(印刷)する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式や、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作は、CPU2001からの指示によって開始する。プリンタ2095は、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセット2101、2102、2103、2104が備えられている。また、排紙トレイ2111は印刷し終わった用紙を受けるものである。
【0031】
操作部2012は、画像入出力装置1001の見やすい場所に備えられており、その構成例を図2に示す。LCD表示部2013は、LCD上にタッチパネルシートが貼られて成るもので、システムの操作画面を表示するとともに、表示してあるソフトキーが押されるとその位置情報をCPU2001に伝える。これにより、CPU2001は操作者の操作内容を判断し、キーへの押下処理が完成する。状況に応じて適宜表示画面を切り替える。なお、操作部2012の構成は、LCD及びタッチパネルに限定されるものではなく、CRTを含む他の表示器、マウスやペンにより操作される他の座標入力手段でも良い。
【0032】
スタートキー2014は原稿画像の読み取り動作を開始する時などに用いる。スタートキー2014の中央部には、緑と赤の2色LED2018があり、点灯色によってスタートキー2014が使える状態にあるかどうかを示す。ストップキー2015は稼働中の動作を止める働きをする。IDキー2016は、使用者のユーザーIDを入力する時に用いる。リセットキー2017は操作部からの設定を初期化する時に用いる。
【0033】
次に、画像入出力装置1001の全体構成を図3を参照して説明する。図3に示すように、本実施の形態にかかる画像入出力装置1001は、基本的に、制御部2000と、ユーザーインターフェイス(UI)である操作部2012と、画像入力装置であるスキャナ2070と、画像出力装置であるプリンタ2095とにより構成されている。
【0034】
制御部2000は、スキャナ2070やプリンタ2095と接続し、一方ではLAN1010や公衆回線(WAN)2051と接続することで、画像情報やデバイス情報の入出力制御を行う。CPU2001はシステム全体を制御するコントローラである。RAM2002はCPU2001が動作するためのシステムワークメモリであり、また画像データを一時記憶するための画像メモリとしても機能する。ROM2003はブートROMであり、システムの起動プログラムが格納されている。2004はハードディスクドライブ(HDD)で、システムソフトウェア、画像データ等を格納する。操作部I/F2006は操作部2012とのインターフェイスを行い、操作部2012に表示する画像データを操作部2012に対して出力する。また、操作部2012から使用者が入力した情報を、CPU2001に伝える。モデム2050は公衆回線2051に接続し、情報の入出力を行う。また、ネットワークI/F2010はLAN1010に接続し、情報の入出力を行う。以上のデバイスがシステムバス2007上に配置される。
【0035】
画像バスI/F2005は、システムバス2007と画像データを高速で転送する画像バス2008とを接続し、データ構造を変換するバスブリッジである。
【0036】
画像バス2008は、PCIバスまたはIEEE1394バス等で構成される。画像バス2008上には以下のデバイスが接続される。
【0037】
ラスターイメージプロセッサ(RIP)2060はPDLコードをビットマップイメージに展開する。デバイスI/F部2020は、スキャナ2070やプリンタ2095と制御部2000を接続し、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部2080は、スキャナ2070により読み込まれ、デバイスI/F2020を介して入力した画像データに対し、補正、加工、編集を行う。プリンタ画像処理部2090は、プリント出力する画像データに対して、プリンタに対応する補正や解像度変換等を行う。画像回転部2030は画像データの回転を行う。画像圧縮/伸張部2040は、多値画像データはJPEGにより、2値画像画像データはJBIG、MMR、MHによる圧縮・伸張処理を行う。
【0038】
以上説明したような構成では、画像処理部分の拡張性を考慮して、システムバス2007に接続される構成と画像バス2008に接続される構成とが分離可能となっており、一般的なコンピュータの構成を応用したものである。上記構成では画像バスI/F2005を汎用にすることで、画像処理を任意に組み合わせることを可能にする自由度、また将来性を考慮した拡張性をもたせている。特にコーデック部(画像圧縮/伸張部2040)は、将来様々な規格が提案される可能性もあるため、容易に交換できるよう画像バス側に接続している。
【0039】
次に、制御部2000の各構成について説明する。
【0040】
(スキャナ画像処理部)
スキャナ画像処理部2080の構成を図4に示す。画像バスI/Fコントローラ2081は画像バス2008と接続し、そのバスアクセスシーケンスを制御すると共に、タイミング信号の生成及びスキャナ画像処理部2080内の各構成要素の制御(CTL)を行う。フィルタ処理部2082は空間フィルタで、入力画像データ(IM)についてコンボリューション演算を行う。編集部2083は、例えば入力画像データからマーカーペンで囲まれた閉領域を認識して、その閉領域内の画像データに対して、影つけ、網掛け、ネガポジ反転等の画像加工処理を行う。変倍処理部2084は、読み取り画像の解像度を変える場合にラスターイメージの主走査方向について補間演算を行い拡大、縮小を行う。なお、本実施の形態における副走査方向の変倍については、画像読み取り用のラインセンサ(図示せず)の副走査方向の走査速度を変えることにより行うため、変倍処理部2084での副走査方向の変倍処理は行わない。テーブル変換部2085は、読み取った輝度データである画像データを濃度データに変換するもので、テーブルを用いた変換を行う。2値化処理部2086は、多値のグレースケール画像データを誤差拡散処理やスクリーン処理によって2値化する。JPEG圧縮部2087は、テーブルから出力された多値画像データを既知のJPEG圧縮によりリアルタイム圧縮する部分である。JPEG圧縮部2087からはJPEG符号化された符号データが出力される。処理が終了した画像データ及び符号データは、再び画像バスI/Fコントローラ2081を介して、画像バス上に転送される。
【0041】
(プリンタ画像処理部)
プリンタ画像処理部2090の構成を図5に示す。画像バスI/Fコントローラ2091は、画像バス2008と接続し、そのバスアクセスシーケンスを制御すると共に、タイミング信号の生成及びプリンタ画像処理部2090内の各構成要素の制御(CTL)を行う。解像度変換部2092は、LAN1010あるいは公衆回線2051を介して入力する画像データ(IM)の解像度をプリンタ2095の解像度に変換する、解像度変換を行う。スムージング処理部2093は、解像度変換後の画像データのジャギー(斜め線等の白黒境界部に現れる画像のがさつき)を滑らかにする処理を行う。
【0042】
(画像圧縮/伸張部)
画像圧縮/伸張部2040の構成を図6に示す。画像バスI/Fコントローラ2041は、画像バス2008と接続し、そのバスアクセスシーケンスを制御すると共に、入力バッファ2042及び出力バッファ2045とのデータのやりとりを行うためのタイミング制御及び、画像圧縮/伸張部2043に対するモード設定などの制御を行う。以下に画像圧縮/処理部2040の処理手順を示す。
【0043】
画像バス2008を介して、CPU2001から画像バスI/Fコントローラ2041に画像圧縮/伸張制御のための設定を行う。この設定により画像バスI/Fコントローラ2041は画像圧縮/伸張部2043に対して画像圧縮/伸張に必要な設定(たとえばMMR圧縮・JBIG伸長等)を行う。必要な設定を行った後に、再度CPU2001から画像バスI/Fコントローラ2041に対して画像データ転送の許可を行う。この許可に従い、画像バスI/Fコントローラ2041はRAM2002もしくは画像バス2008上の各デバイスから画像データの受信を開始する。受け取った画像データは入力バッファ2042に一時格納され、画像圧縮/伸張部2043の画像データ要求に応じて一定のスピードで転送される。この際、入力バッファ2042は、画像バスI/Fコントローラ2041と画像圧縮/伸張部2043との間で、画像データを転送できるかどうかを判断し、画像バス2008からの画像データの読み込み、及び、画像圧縮/伸張部2043への画像の書き込みが不可能である場合は、データの転送を行わないように制御を行う(以後、このような制御を「ハンドシェーク」と呼ぶ。)。画像圧縮/伸張部2043は、受け取った画像データを、一旦RAM2044に格納する。これは、実行する画像圧縮/伸張処理の種類によっては、処理にあたって数ライン分のデータを要するからである。例えば、最初の1ライン分の圧縮/伸張を行うために数ライン分の画像データが必要な場合には、必要ライン数の画像データをRAM2044に格納した後に処理を行う。画像圧縮または伸張処理を施された画像データは直ちに出力バッファ2045に送られる。出力バッファ2045では、画像バスI/Fコントローラ2041及び画像圧縮/伸張部2043とのハンドシェークを行い、画像データを画像バスI/Fコントローラ2041に転送する。画像バスI/Fコントローラ2041では、転送された圧縮または伸長された画像データをRAM2002もしくは画像バス2008上の各デバイスに転送する。こうした一連の処理は、CPU2001からの処理要求が無くなるまで(例えば、必要なページ数の処理が終わるまで)、もしくはこの画像圧縮/伸張部2040から停止要求が出るまで(例えば、圧縮及び伸長時のエラー発生時等)繰り返される。
【0044】
(画像回転部)
画像回転部2030の構成を図7に示す。画像バスI/Fコントローラ2031は、画像バス2008と接続し、そのバスアクセスシーケンスを制御すると共に、画像回転部2032にモード等を設定する制御及び、画像回転部2032に画像データを転送するためのタイミング制御を行う。以下に画像回転部の処理手順を示す。
【0045】
画像バス2008を介して、CPU2001から画像バスI/Fコントローラ2031に画像回転制御のための設定を行う。この設定により画像バスI/Fコントローラ2031は画像回転部2032に対して画像回転に必要な設定(たとえば画像サイズや回転方向・角度等)を行う。必要な設定を行った後に、再度CPU2001から画像バスI/Fコントローラ2031に対して画像データ転送の許可を行う。この許可に従い、画像バスI/Fコントローラ2031はRAM2002もしくは画像バス2008上の各デバイスから画像データの受信を開始する。尚、ここでは32ビットを画像入力のサイズとし、回転を行う画像サイズを32×32ビットである場合について説明をする。また、画像バス2008上に画像データを転送する際にも32ビットを単位とする画像転送を行うものとする(扱う画像は2値を想定する)。
【0046】
上述のように、32×32ビットの画像を得るためには、上述の単位データ転送を32回行う必要があり、且つ、図8に示すように、不連続なアドレスから画像データを転送する必要がある。不連続アドレッシングにより転送された画像データは、読み出し時に所望の角度に回転されているように、RAM2033に書き込まれる。例えば、反時計方向に90度回転するのであれば、図9(a)に示されるように最初に転送された32ビットの画像データを、図9(b)に示すようにY方向に書き込んでいく。そして、読み出し時にX方向に読み出すことで、画像が回転される。
【0047】
32×32ビットの画像回転(すなわち、RAM2033への書き込み)が完了した後、画像回転部2032はRAM2033から上述した読み出し方法で画像データを読み出し、画像バスI/Fコントローラ2031に画像を転送する。
【0048】
回転処理された画像データを受け取った画像バスI/Fコントローラ2031は、連続アドレッシングを以て、RAM2002もしくは画像バス2008上の各デバイスにデータを転送する。こうした一連の処理は、CPU2001からの処理要求が無くなるまで(例えば、必要なページ数の処理が終わるまで)、もしくはこの画像回転部2030から停止要求が出るまで(例えば、回転処理時のエラー発生時等)繰り返される。
【0049】
(デバイスI/F部)
デバイスI/F部2020の構成を図10に示す。画像バスI/Fコントローラ2021は、画像バス2008と接続し、そのバスアクセスシーケンスを制御すると共に、タイミング信号の生成及びデバイスI/F部2020内の各デバイスの制御を行う。更に、外部のスキャナ2070及びプリンタ2095への制御信号を発生する。スキャンバッファ2022は、スキャナ2070から送られてくる画像データを一時保存し、画像バス2008に同期させて画像データを出力する。シリアルパラレル・パラレルシリアル変換部2023は、スキャンバッファ2022に保存された画像データを順番に並べて、あるいは分解して、画像バス2008に転送できるデータ幅に変換する。パラレルシリアル・シリアルパラレル変換2024は、画像バス2008から転送された画像データを分解して、あるいは順番に並べて、プリントバッファ2025に保存できるデータ幅に変換する。プリントバッファ2025は、画像バス2008から送られてくる画像データを一時保存し、プリンタ2095に同期させて画像データを出力する。
【0050】
まず、画像スキャン時の処理手順を以下に示す。スキャナ2070から送られてくる画像データを、スキャナ2070から送られてくるタイミング信号に同期させて、スキャンバッファ2022に保存する。そして、画像バス2008がPCIバスの場合には、スキャンバッファ2022内に画像データが32ビット以上格納されると、画像データを先入れ先出しで32ビット分、シリアルパラレル・パラレルシリアル変換2023に送り、そこで32ビットの画像データに変換し、画像バスI/Fコントローラ2021を通して画像バス2008上に転送する。また、画像バス2008がIEEE1394の場合には、スキャンバッファ2022内の画像データを先入れ先出しで、バッファからシリアルパラレル・パラレルシリアル変換2023に送り、シリアル画像データに変換し、画像バスI/Fコントローラ2021を通して画像バス2008上に転送する。
【0051】
次に画像プリント時の処理手順を以下に示す。画像バス2008がPCIバスの場合には、画像バスから32ビットずつ送られてくる画像データを画像バスI/Fコントローラ2021で受け取り、パラレルシリアル・シリアルパラレル変換2024に送り、プリンタ2095の入力データビット数の画像データに分解し、プリントバッファ2025に保存する。また、画像バス2008がIEEE1394の場合には、画像バスから送られてくるシリアル画像データを画像バスI/Fコントローラ2021で受け取り、パラレルシリアル・シリアルパラレル変換2024に送り、プリンタ2095の入力データビット数の画像データに変換し、プリントバッファ2025に保存する。そして、プリンタ2095から送られてくるタイミング信号に同期させて、バッファ内の画像データを先入れ先出しで、プリンタ2095に送る。
【0052】
<第1の実施形態>
以下、上記構成を有する装置に適用可能な本発明の第1の実施形態における原稿方向判別方法を、図面を用いて詳細に説明する。なお、本第1の実施形態における文書方向判別は、以下に説明する文書方向判別方法を実行するためのプログラムを記憶媒体(例えば図3のRAM2002、ROM2003、HDD2004、または不図示の外部記憶媒体)に保存し、当該プログラムをCPU2001により実行することにより実現される。
【0053】
基本的な概念は、従来例において図19を参照して説明したものと変わらず、画像データを領域に分割し(ステップS101)、文字領域を抽出して(ステップS102)、1文字ずつ文字認識処理を行う(ステップS103〜S106)。
【0054】
そして各文字の方向を判別し、各領域ごとに各文字の方向の情報を累積する(ステップS107〜S109)。累積した情報に基づいて各領域毎の方向を判別し、各文字領域の方向の情報を、画像データ中の文字領域全てについて累積する(ステップS110〜S112)。このようにして累積した情報に基づいて、原稿の方向を判別し、出力する(ステップS113)。
【0055】
次に、本第1の実施形態においてステップS105で行われる各文字の判別方法について、図11を参照して詳しく説明する。
【0056】
まず、ステップS103で抽出された1文字について、ステップS301では、文字に外接する矩形中の文字の特徴ベクトルを抽出する。この特徴ベクトルを抽出するためは、まず、図21に示すように文字に外接する矩形を求め、その外接矩形を図22に示すような4×4の領域に分割する。そして、それぞれの領域に対して図23に示す4方向に輪郭線の成分量を特徴量として抽出する。これにより、64次元のベクトルが特徴ベクトルとして抽出される。
【0057】
次に、ステップS302において、ステップS301で抽出された特徴ベクトルの次元数を削減するための変換を行う。上記のように抽出された認識対象文字の次元数を64とし、変換後の次元数を32とすると、変換行列は32×64の行列として表すことができる。この行列とステップS301で抽出されたベクトルを掛け算することで次元数を変えたベクトルを作成する。
【0058】
ステップS303では、次元数を変更した認識対象文字の特徴ベクトルと、予め記憶されている辞書内の各文字の平均ベクトルとの距離を求め、近い方から上位K文字を判別する文字の候補とする、文字認識処理(識別演算処理)を行う。
【0059】
本第1の実施形態においては、識別演算は、辞書作成時に予め求めておいた各文字の平均ベクトルと該特徴ベクトルとの距離を計算する。計算式は辞書中の文字Aの平均ベクトルを
【0060】
(A1,A2,…,A32) …(2)
(B1,B2,…,B32) …(3)
【0061】
と表される。本第1の実施形態では各方向毎に第1候補文字と第2候補文字とを出力し、その距離Dを類似度として返す。
なお、類似度としては、上記式(4)で演算される距離Dの他に、例えば碁盤目の線に沿った2点間の距離を示すシティブロック距離(Σ|Bk−Ak|)等、別の値を用いることも可能である。
【0062】
ステップS304では、抽出された文字の文字認識が0°、90°、180°、270°の各方向からすべて行われたかを判断し、まだ文字認識が行われていない方向があれば、ステップS305で特徴ベクトルをさらに90°回転させ、ステップS302に戻って90°回転した状態で文字認識を行う。ステップS204及びS202の処理を繰り返すと、90°ずつ特徴ベクトルが回転されて、4方向すべての方向について文字認識が行われることになる。
【0063】
すべての方向について文字認識が行われれば(ステップS304でYES)、処理を終了する。
【0064】
上記の通り、本第1の実施形態によれば、認識された文字に基づいて原稿方向の判別を行うことにより、コストを上げることなく、且つ原稿方向判別の精度を落とさずに、より高速に原稿方向を判別することができる。
【0065】
<第2の実施形態>
上記第1の実施形態で説明した認識処理において、従来方式の辞書を用いた場合、類似文字(平均ベクトルが近いもの)がある文字はその文字の方向の確からしさが小さくなり、正しい原稿方向を判別するためにはより多くの文字を認識しなければならないことがあった。
【0066】
上記認識処理に従来の辞書を用いた場合の例を、図12及び図13を参照して説明する。なお、説明の簡略化のため2次元で説明するが、3次元以上の次元であっても良い。
【0067】
図12に示すように、辞書に5つの文字A〜Eがあるとし、ある認識対象文字Xの各角度における特徴ベクトルがX0,X90,X180,X270であるとする。このとき、辞書中の各文字と認識対象文字間の距離を計算すると、図13のようになったとする。
【0068】
このとき、各角度における第1候補文字との距離から90°方向が正解であると考えられるが、90°方向の第2候補文字との差が小さいため、この文字の確からしさは小さくなっていた。
【0069】
従って、本第2の実施形態においては、文字認識部で使用する辞書を作成する段階で類似文字を1つにまとめ、第2候補文字との距離差を大きくすることにより、確からしさを向上させる。
【0070】
本第2の実施形態で使用される辞書の作成手段を、図12乃至図18を参照して説明する。図18は、辞書作成手順を示すフローチャートである。
【0071】
まず、図12に示すようにA〜Eの文字がある場合、ステップS401において各文字間の距離を計算する。計算を(4)式を用いて行うと、この結果は例えば図14のようになる。この演算結果をそれぞれ予め設定した閾値と比較し(ステップS402)、閾値より小さな値である文字は類似文字として1つにまとめる処理を行い(ステップS403)、ステップS404に進む。演算結果が閾値よりも大きい場合にはそのままステップS404に進み、全ての演算結果と閾値との比較が終了するまでステップS402〜S404を繰り返す。
【0072】
図14の場合、例えば、閾値を500とすると、距離が400であるBとC、距離が350であるBとD、距離が350であるCとD、すなわち、B〜Dの3文字を1つの文字にまとめる。そしてこのまとめた文字の平均ベクトル(特徴ベクトルの平均値)を再度計算し直し、この文字をFとする(ステップS405)。このようにすることで辞書中の文字は図15に示すようにA,E,Fの3文字となる。
【0073】
なお、上記式(4)で演算される距離Dの他に、例えば碁盤目の線に沿った2点間の距離を示すシティブロック距離(Σ|Bk−Ak|)等、別の値を用いることも可能である。また、ベクトルを単純平均せずに、距離に応じて重み付けを行うなど、様々な方法が考えられる。
【0074】
図11の手順で、図15に示される辞書を用いて図12中に示される認識対象文字X0,X90,X180,X270を認識する(図16に示す)と、図17のようになる。このように、本第2の実施形態で作成した辞書を用いた場合、第1候補文字と第2候補文字との距離差が大きくなる。
【0075】
上記の通り第2の実施形態によれば、従来の辞書内の類似文字をまとめることにより、大分類処理で得られる認識対象文字の確からしさが大きくなり、認識する文字数を削減することができるため、高価な高速度処理部を搭載することなく、且つ原稿方向判別の精度を落とさずに、より高速に原稿の方向を判定することが可能となる。
【0076】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、スキャナ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0077】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。ここでプログラムコードを記憶する記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、ROM、RAM、、磁気テープ、不揮発性のメモリカード、CD−ROM、CD−R、DVD、光ディスク、光磁気ディスク、MOなどが考えられる。
【0078】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0079】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した図19及び図11及び/又は図18に示すフローチャートに対応するプログラムコードが格納されることになる。
【0080】
本発明の特徴を以下に総括する。
【0081】
(実施態様1) 原稿画像の方向を判別するために用いる辞書を作成する辞書作成方法であって、辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出工程と、前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較工程と、前記比較工程で類似文字であると判断された複数の文字ごとに1つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化工程と、前記グループの平均特徴ベクトルと、前記比較工程で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成工程とを有することを特徴とする辞書作成方法。
【0082】
(実施態様2) 入力された原稿画像から文字画像を抽出する抽出工程と、前記抽出された各文字画像について、実施態様1に記載の辞書作成方法で作成された辞書を用いて複数の方向から認識処理を実行する文字認識工程と、前記文字認識結果に基づいて前記原稿画像の方向を判別する判別工程とを有することを特徴とする原稿方向判別方法。
【0083】
(実施態様3) 前記文字認識工程における複数の方向からの認識処理は、前記抽出された各文字画像の特徴ベクトルを回転させて、前記辞書に登録された特徴ベクトルと比較することにより文字認識処理が実行されることを特徴とする実施態様2に記載の原稿方向判別方法。
【0084】
(実施態様4) 原稿画像の方向を判別するために用いる辞書を作成する辞書作成装置であって、辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出手段と、前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較手段と、前記比較手段で類似文字であると判断された複数の文字ごとに1つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化手段と、前記グループの平均特徴ベクトルと、前記比較手段で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成手段とを有することを特徴とする辞書作成装置。
【0085】
(実施態様5) 入力された原稿画像から文字画像を抽出する抽出手段と、前記抽出された各文字画像について、実施態様4に記載の辞書作成装置で作成された辞書を用いて複数の方向から認識処理を実行する文字認識手段と、前記文字認識結果に基づいて前記原稿画像の方向を判別する判別手段とを有することを特徴とする原稿方向判別装置。
【0086】
(実施態様6) 前記文字認識手段における複数の方向からの認識処理は、前記抽出された各文字画像の特徴ベクトルを回転させて、前記辞書に登録された特徴ベクトルと比較することにより文字認識処理が実行されることを特徴とする実施態様5に記載の原稿方向判別装置。
【0087】
(実施態様7) 原稿画像の方向を判別するために用いる辞書を作成する辞書作成方法をコンピュータに実行させるためのコンピュータプログラムであって、辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出工程と、前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較工程と、前記比較工程で類似文字であると判断された複数の文字ごとに1つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化工程と、前記グループの平均特徴ベクトルと、前記比較工程で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成工程とをコンピュータに実行させるためのプログラムコードを含むことを特徴とするコンピュータ実行可能なコンピュータプログラム。
【0088】
(実施態様8) 入力された原稿画像から文字画像を抽出する抽出工程と、前記抽出された各文字画像について、実施態様7に記載の辞書作成方法で作成された辞書を用いて複数の方向から認識処理を実行する文字認識工程と、前記文字認識結果に基づいて前記原稿画像の方向を判別する判別工程とをコンピュータに実行させるためのプログラムコードを含むことを特徴とするコンピュータ実行可能なコンピュータプログラム。
【0089】
(実施態様9) 前記文字認識工程における複数の方向からの認識処理は、前記抽出された各文字画像の特徴ベクトルを回転させて、前記辞書に登録された特徴ベクトルと比較することにより文字認識処理が実行されることを特徴とする実施態様8に記載のコンピュータ実行可能なコンピュータプログラム。
【0090】
【発明の効果】
以上説明したように、本発明によれば、高価な高速度処理部を搭載することなく、且つ原稿方向判別の精度を落とさずに、より高速に原稿の方向を判定することが可能となる。
【図面の簡単な説明】
【図1】図3に示す画像入出力装置を横から見た場合の外観図である。
【図2】本発明の実施の形態における画像入出力装置の操作部を示す図である。
【図3】本発明の実施の形態における画像入出力装置の全体構成を示すブロック図である。
【図4】本発明の実施の形態におけるスキャナ画像処理部の構成を示すブロック図である。
【図5】本発明の実施の形態におけるプリンタ画像処理部の構成を示すブロック図である。
【図6】本発明の実施の形態における画像圧縮処理部の構成を示すブロック図である。
【図7】本発明の実施の形態における画像回転部の構成を示すブロック図である。
【図8】画像回転処理動作の説明図である。
【図9】画像回転処理動作の説明図である。
【図10】本発明の実施の形態におけるデバイスI/F部の構成を示すブロック図である。
【図11】本発明の第1の実施形態における各文字の判別処理を示すフローチャートである。
【図12】本発明の第1の実施形態における大分類処理を従来の辞書を用いて行った場合の例を示す図である。
【図13】本発明の第1の実施形態における大分類処理を従来の辞書を用いて行った場合の例を示す図である。
【図14】本発明の第2の実施形態における辞書の作成方法を説明するための図である。
【図15】本発明の第2の実施形態における辞書の作成方法を説明するための図である。
【図16】本発明の第2の実施形態における辞書を用いて行った大分類処理の例を示す図である。
【図17】本発明の第2の実施形態における辞書を用いて行った大分類処理の結果例を示す図である。
【図18】本発明の第2の実施形態における辞書作成の手順を示す図である。
【図19】原稿方向判別の手順を示すフローチャートである。
【図20】従来の各文字の判別処理を示すフローチャートである。
【図21】文字の外接矩形の例を示す図である。
【図22】4×4に分割した図21に示す外接矩形の例を示す図である。
【図23】輪郭線量を分割する方向を示す図である。
【発明の属する技術分野】
本発明は、複写機、スキャナ等の画像入力装置などにおける原稿方向判別用の辞書作成方法に関する。
【0002】
【従来の技術】
従来の原稿方向自動判別方法を図19のフローチャートを参照して説明する。
【0003】
まず、ステップS101において、入力された画像データを、文字、写真、線画、表などの領域に分ける。
【0004】
次にステップS102において、ステップS101で分離された領域の中に、文字(例えば、本文、タイトル、キャプションなど)領域や表中の文字領域があるか否かを判断する。文字領域が無い場合、原稿方向を自動で判別することができないので、ステップS113に進み、原稿方向を自動判別できない旨を通知する。
【0005】
一方、文字領域があればステップS103に進み、ステップS101及びS102で得られた文字領域から、1文字分の矩形を抽出する。
【0006】
ステップS104では、ステップS103で文字矩形が得られたか否かを判断し、得られていればステップS105に移り、得られなければステップS110に移る。
【0007】
ステップS105では、ステップS103で抽出した1文字に対して文字認識処理を実行する。この文字認識動作について、ここで図20を参照して説明する。
【0008】
図19のステップS103で抽出された1文字について、ステップS201では、文字矩形内の画像から文字の特徴ベクトルを抽出する。この特徴ベクトルを抽出するためは、まず、図21に示すように文字に外接する矩形を求め、その外接矩形を図22に示すような4×4の領域に分割する。そして、それぞれの領域に対して図23に示す4方向に輪郭線の成分量を特徴量として抽出する。これにより、64次元のベクトルが特徴ベクトルとして抽出される。
【0009】
次に、ステップS202において、ステップS201で抽出された特徴ベクトルの次元数を削減するための変換を行う。上記のように抽出された認識対象文字の次元数を64とし、変換後の次元数を32とすると、変換行列は32×64の行列として表すことができる。この行列とステップS201で抽出されたベクトルを掛け算することで次元数を変えたベクトルを作成する。
【0010】
ステップS203では、次元数を変更した認識対象文字の特徴ベクトルと、予め記憶されている辞書内の各文字の特徴ベクトルとの距離を求める認識処理を行う。ここでは、各方向毎に第1候補文字と第2候補文字及びこれらの類似度を保存する。
【0011】
ステップS205では、抽出された文字の文字認識が0°、90°、180°、270°の各方向からすべて行われたかを判断し、まだ文字認識が行われていない方向があれば、ステップS206で特徴ベクトルをさらに90°回転させ、ステップS203では90°回転した状態で文字認識を行う。このようにして、90°ずつ特徴ベクトルが回転されて、4方向すべての方向について文字認識が行われることになる。
【0012】
すべての方向について文字認識が行われれば(ステップS205でYES)、処理を終了する。
【0013】
ステップS105において上記のように各方向から見た特徴ベクトルの判別を終えるとステップS106に移る。ステップS106では、ステップS105で認識した文字が方向判定に利用するのに適当な文字であるかについて判定を行う。この判定の方法として、例えば、各方向について文字認識を行った結果、それぞれの方向から認識された第1候補文字の確からしさを示す類似度が、各方向間で類似度の差が所定値よりも小さい場合に、不適当な文字であると判断する方法等が考えられる。
【0014】
ステップS106で方向判定に適した文字であると判定された場合、ステップS107に進み、その文字の方向を判定する。その一例として、第1候補文字の類似度が一番よい方向であり、スコアは、例えば類似度が小さいほうがよい場合
【0015】
スコア=(第2候補の類似度−第1候補の類似度)×定数/第1候補の類似度…(1)
【0016】
のような式で表され、スコアが大きいほどその方向である可能性が高いことになる。
このようにして文字から判定された方向(0°、90°、180°、270°)の頻度数頻度数O0、O90、O180、O270のいずれかをインクリメントし、その文字領域における各方向の累積スコアに今回算出したスコアを加算する。更に認識した文字数Cpをインクリメントする。
【0017】
一方、ステップS106で方向判定に適さない文字であると判定された場合、ステップS108に進み、例えば、不適当であると判定された文字数Cnpをインクリメントする。
【0018】
ステップS109では、現在、原稿方向の判定のための対象としている文字領域の処理を続けるか否かを判定する。例えば、対象としている文字領域において、処理した文字数Cp+CnpがN未満の場合、同文字領域の処理を続ける。
【0019】
ステップS110では、処理した文字領域が原稿方向判定に適当な領域であるか否かの判定を行う。例えば、4方向の累積スコアの差が小さい場合(例えば、頻度数O0、O90、O180、O270の最大値と2番目の値の差が所定値以下である場合)は、この文字領域の結果を捨てて、次の文字領域での処理に移行する(ステップS102へ)。
【0020】
ステップS110で、処理した文字領域が原稿方向判定に適当な領域であると判定されると、ステップS111に進み、ステップS110で得られた文字領域の累積スコアを原稿全体の累積スコアに加算する。
【0021】
次にステップS112では、認識した文字数や領域数、全体の認識結果等に基づいて、判定処理を続行するか否かを判定する。例えば、認識した文字数が予め設定されたK(定数)文字未満であったり、認識した領域数が予め設定されたM(定数)未満であれば、処理を続行するなどが考えられる。続行する場合にはステップS102に戻り、終了する場合にはステップS113へ進む。
【0022】
ステップS113では、得られた全体の結果から原稿の方向を判定する。例えば、 各方向の累積スコアを比較して一番大きい値の方向を原稿の方向として出力する。なお、上述したが、ステップS102において文字領域がないと判断された場合、判別不可能である旨を出力する。
【0023】
【発明が解決しようとする課題】
しかしながら、従来の方式では、詳細識別処理で行われる演算量が非常に大きく、原稿方向判定処理に時間がかかるため、特に複写機などの実時間処理が必要な場合において、文字認識速度の向上が求められている。より高速のMPUなどを用いれば判定処理速度を上げることができるが、通常、そういった高速のMPUは高価であり、コストが高くなってしまう。
【0024】
本発明は上記問題点を鑑みてなされたものであり、コストを上げることなく、且つ原稿方向判別の精度を落とさずに、より高速に原稿方向の判別を行えるようにすることを目的とする。
【0025】
【課題を解決するための手段】
上記目的を達成するために、本発明の原稿方向判別用の辞書作成方法は、原稿画像の方向を判別するために用いる辞書を作成する辞書作成方法であって、辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出工程と、前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較工程と、前記比較工程で類似文字であると判断された複数の文字ごとに1つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化工程と、前記グループの平均特徴ベクトルと、前記比較工程で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成工程とを有する。
【0026】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【0027】
<画像入出力装置の構成>
まず、本発明を適用可能な装置の一例である画像入出力装置の構成について説明する。
【0028】
図1は、画像入出力装置1001を横から見た場合の外観図である。
【0029】
画像入力装置であるスキャナ2070は、原稿上の画像を照明し、CCDラインセンサ(図示せず)により走査して電気信号に変換することにより、ラスターイメージデータを得る。原稿は、使用者が原稿を原稿フィーダ2072のトレイ2073にセットし、操作部2012から読み取り指示することにより、コントローラCPU2001がスキャナ2070に読み取り開始指示を与え、これにより原稿フィーダ2072は原稿用紙を1枚ずつフィードして原稿画像の読み取りが行われる。
【0030】
画像出力装置であるプリンタ2095は、ラスターイメージデータを用紙上に可視化(印刷)する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式や、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作は、CPU2001からの指示によって開始する。プリンタ2095は、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセット2101、2102、2103、2104が備えられている。また、排紙トレイ2111は印刷し終わった用紙を受けるものである。
【0031】
操作部2012は、画像入出力装置1001の見やすい場所に備えられており、その構成例を図2に示す。LCD表示部2013は、LCD上にタッチパネルシートが貼られて成るもので、システムの操作画面を表示するとともに、表示してあるソフトキーが押されるとその位置情報をCPU2001に伝える。これにより、CPU2001は操作者の操作内容を判断し、キーへの押下処理が完成する。状況に応じて適宜表示画面を切り替える。なお、操作部2012の構成は、LCD及びタッチパネルに限定されるものではなく、CRTを含む他の表示器、マウスやペンにより操作される他の座標入力手段でも良い。
【0032】
スタートキー2014は原稿画像の読み取り動作を開始する時などに用いる。スタートキー2014の中央部には、緑と赤の2色LED2018があり、点灯色によってスタートキー2014が使える状態にあるかどうかを示す。ストップキー2015は稼働中の動作を止める働きをする。IDキー2016は、使用者のユーザーIDを入力する時に用いる。リセットキー2017は操作部からの設定を初期化する時に用いる。
【0033】
次に、画像入出力装置1001の全体構成を図3を参照して説明する。図3に示すように、本実施の形態にかかる画像入出力装置1001は、基本的に、制御部2000と、ユーザーインターフェイス(UI)である操作部2012と、画像入力装置であるスキャナ2070と、画像出力装置であるプリンタ2095とにより構成されている。
【0034】
制御部2000は、スキャナ2070やプリンタ2095と接続し、一方ではLAN1010や公衆回線(WAN)2051と接続することで、画像情報やデバイス情報の入出力制御を行う。CPU2001はシステム全体を制御するコントローラである。RAM2002はCPU2001が動作するためのシステムワークメモリであり、また画像データを一時記憶するための画像メモリとしても機能する。ROM2003はブートROMであり、システムの起動プログラムが格納されている。2004はハードディスクドライブ(HDD)で、システムソフトウェア、画像データ等を格納する。操作部I/F2006は操作部2012とのインターフェイスを行い、操作部2012に表示する画像データを操作部2012に対して出力する。また、操作部2012から使用者が入力した情報を、CPU2001に伝える。モデム2050は公衆回線2051に接続し、情報の入出力を行う。また、ネットワークI/F2010はLAN1010に接続し、情報の入出力を行う。以上のデバイスがシステムバス2007上に配置される。
【0035】
画像バスI/F2005は、システムバス2007と画像データを高速で転送する画像バス2008とを接続し、データ構造を変換するバスブリッジである。
【0036】
画像バス2008は、PCIバスまたはIEEE1394バス等で構成される。画像バス2008上には以下のデバイスが接続される。
【0037】
ラスターイメージプロセッサ(RIP)2060はPDLコードをビットマップイメージに展開する。デバイスI/F部2020は、スキャナ2070やプリンタ2095と制御部2000を接続し、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部2080は、スキャナ2070により読み込まれ、デバイスI/F2020を介して入力した画像データに対し、補正、加工、編集を行う。プリンタ画像処理部2090は、プリント出力する画像データに対して、プリンタに対応する補正や解像度変換等を行う。画像回転部2030は画像データの回転を行う。画像圧縮/伸張部2040は、多値画像データはJPEGにより、2値画像画像データはJBIG、MMR、MHによる圧縮・伸張処理を行う。
【0038】
以上説明したような構成では、画像処理部分の拡張性を考慮して、システムバス2007に接続される構成と画像バス2008に接続される構成とが分離可能となっており、一般的なコンピュータの構成を応用したものである。上記構成では画像バスI/F2005を汎用にすることで、画像処理を任意に組み合わせることを可能にする自由度、また将来性を考慮した拡張性をもたせている。特にコーデック部(画像圧縮/伸張部2040)は、将来様々な規格が提案される可能性もあるため、容易に交換できるよう画像バス側に接続している。
【0039】
次に、制御部2000の各構成について説明する。
【0040】
(スキャナ画像処理部)
スキャナ画像処理部2080の構成を図4に示す。画像バスI/Fコントローラ2081は画像バス2008と接続し、そのバスアクセスシーケンスを制御すると共に、タイミング信号の生成及びスキャナ画像処理部2080内の各構成要素の制御(CTL)を行う。フィルタ処理部2082は空間フィルタで、入力画像データ(IM)についてコンボリューション演算を行う。編集部2083は、例えば入力画像データからマーカーペンで囲まれた閉領域を認識して、その閉領域内の画像データに対して、影つけ、網掛け、ネガポジ反転等の画像加工処理を行う。変倍処理部2084は、読み取り画像の解像度を変える場合にラスターイメージの主走査方向について補間演算を行い拡大、縮小を行う。なお、本実施の形態における副走査方向の変倍については、画像読み取り用のラインセンサ(図示せず)の副走査方向の走査速度を変えることにより行うため、変倍処理部2084での副走査方向の変倍処理は行わない。テーブル変換部2085は、読み取った輝度データである画像データを濃度データに変換するもので、テーブルを用いた変換を行う。2値化処理部2086は、多値のグレースケール画像データを誤差拡散処理やスクリーン処理によって2値化する。JPEG圧縮部2087は、テーブルから出力された多値画像データを既知のJPEG圧縮によりリアルタイム圧縮する部分である。JPEG圧縮部2087からはJPEG符号化された符号データが出力される。処理が終了した画像データ及び符号データは、再び画像バスI/Fコントローラ2081を介して、画像バス上に転送される。
【0041】
(プリンタ画像処理部)
プリンタ画像処理部2090の構成を図5に示す。画像バスI/Fコントローラ2091は、画像バス2008と接続し、そのバスアクセスシーケンスを制御すると共に、タイミング信号の生成及びプリンタ画像処理部2090内の各構成要素の制御(CTL)を行う。解像度変換部2092は、LAN1010あるいは公衆回線2051を介して入力する画像データ(IM)の解像度をプリンタ2095の解像度に変換する、解像度変換を行う。スムージング処理部2093は、解像度変換後の画像データのジャギー(斜め線等の白黒境界部に現れる画像のがさつき)を滑らかにする処理を行う。
【0042】
(画像圧縮/伸張部)
画像圧縮/伸張部2040の構成を図6に示す。画像バスI/Fコントローラ2041は、画像バス2008と接続し、そのバスアクセスシーケンスを制御すると共に、入力バッファ2042及び出力バッファ2045とのデータのやりとりを行うためのタイミング制御及び、画像圧縮/伸張部2043に対するモード設定などの制御を行う。以下に画像圧縮/処理部2040の処理手順を示す。
【0043】
画像バス2008を介して、CPU2001から画像バスI/Fコントローラ2041に画像圧縮/伸張制御のための設定を行う。この設定により画像バスI/Fコントローラ2041は画像圧縮/伸張部2043に対して画像圧縮/伸張に必要な設定(たとえばMMR圧縮・JBIG伸長等)を行う。必要な設定を行った後に、再度CPU2001から画像バスI/Fコントローラ2041に対して画像データ転送の許可を行う。この許可に従い、画像バスI/Fコントローラ2041はRAM2002もしくは画像バス2008上の各デバイスから画像データの受信を開始する。受け取った画像データは入力バッファ2042に一時格納され、画像圧縮/伸張部2043の画像データ要求に応じて一定のスピードで転送される。この際、入力バッファ2042は、画像バスI/Fコントローラ2041と画像圧縮/伸張部2043との間で、画像データを転送できるかどうかを判断し、画像バス2008からの画像データの読み込み、及び、画像圧縮/伸張部2043への画像の書き込みが不可能である場合は、データの転送を行わないように制御を行う(以後、このような制御を「ハンドシェーク」と呼ぶ。)。画像圧縮/伸張部2043は、受け取った画像データを、一旦RAM2044に格納する。これは、実行する画像圧縮/伸張処理の種類によっては、処理にあたって数ライン分のデータを要するからである。例えば、最初の1ライン分の圧縮/伸張を行うために数ライン分の画像データが必要な場合には、必要ライン数の画像データをRAM2044に格納した後に処理を行う。画像圧縮または伸張処理を施された画像データは直ちに出力バッファ2045に送られる。出力バッファ2045では、画像バスI/Fコントローラ2041及び画像圧縮/伸張部2043とのハンドシェークを行い、画像データを画像バスI/Fコントローラ2041に転送する。画像バスI/Fコントローラ2041では、転送された圧縮または伸長された画像データをRAM2002もしくは画像バス2008上の各デバイスに転送する。こうした一連の処理は、CPU2001からの処理要求が無くなるまで(例えば、必要なページ数の処理が終わるまで)、もしくはこの画像圧縮/伸張部2040から停止要求が出るまで(例えば、圧縮及び伸長時のエラー発生時等)繰り返される。
【0044】
(画像回転部)
画像回転部2030の構成を図7に示す。画像バスI/Fコントローラ2031は、画像バス2008と接続し、そのバスアクセスシーケンスを制御すると共に、画像回転部2032にモード等を設定する制御及び、画像回転部2032に画像データを転送するためのタイミング制御を行う。以下に画像回転部の処理手順を示す。
【0045】
画像バス2008を介して、CPU2001から画像バスI/Fコントローラ2031に画像回転制御のための設定を行う。この設定により画像バスI/Fコントローラ2031は画像回転部2032に対して画像回転に必要な設定(たとえば画像サイズや回転方向・角度等)を行う。必要な設定を行った後に、再度CPU2001から画像バスI/Fコントローラ2031に対して画像データ転送の許可を行う。この許可に従い、画像バスI/Fコントローラ2031はRAM2002もしくは画像バス2008上の各デバイスから画像データの受信を開始する。尚、ここでは32ビットを画像入力のサイズとし、回転を行う画像サイズを32×32ビットである場合について説明をする。また、画像バス2008上に画像データを転送する際にも32ビットを単位とする画像転送を行うものとする(扱う画像は2値を想定する)。
【0046】
上述のように、32×32ビットの画像を得るためには、上述の単位データ転送を32回行う必要があり、且つ、図8に示すように、不連続なアドレスから画像データを転送する必要がある。不連続アドレッシングにより転送された画像データは、読み出し時に所望の角度に回転されているように、RAM2033に書き込まれる。例えば、反時計方向に90度回転するのであれば、図9(a)に示されるように最初に転送された32ビットの画像データを、図9(b)に示すようにY方向に書き込んでいく。そして、読み出し時にX方向に読み出すことで、画像が回転される。
【0047】
32×32ビットの画像回転(すなわち、RAM2033への書き込み)が完了した後、画像回転部2032はRAM2033から上述した読み出し方法で画像データを読み出し、画像バスI/Fコントローラ2031に画像を転送する。
【0048】
回転処理された画像データを受け取った画像バスI/Fコントローラ2031は、連続アドレッシングを以て、RAM2002もしくは画像バス2008上の各デバイスにデータを転送する。こうした一連の処理は、CPU2001からの処理要求が無くなるまで(例えば、必要なページ数の処理が終わるまで)、もしくはこの画像回転部2030から停止要求が出るまで(例えば、回転処理時のエラー発生時等)繰り返される。
【0049】
(デバイスI/F部)
デバイスI/F部2020の構成を図10に示す。画像バスI/Fコントローラ2021は、画像バス2008と接続し、そのバスアクセスシーケンスを制御すると共に、タイミング信号の生成及びデバイスI/F部2020内の各デバイスの制御を行う。更に、外部のスキャナ2070及びプリンタ2095への制御信号を発生する。スキャンバッファ2022は、スキャナ2070から送られてくる画像データを一時保存し、画像バス2008に同期させて画像データを出力する。シリアルパラレル・パラレルシリアル変換部2023は、スキャンバッファ2022に保存された画像データを順番に並べて、あるいは分解して、画像バス2008に転送できるデータ幅に変換する。パラレルシリアル・シリアルパラレル変換2024は、画像バス2008から転送された画像データを分解して、あるいは順番に並べて、プリントバッファ2025に保存できるデータ幅に変換する。プリントバッファ2025は、画像バス2008から送られてくる画像データを一時保存し、プリンタ2095に同期させて画像データを出力する。
【0050】
まず、画像スキャン時の処理手順を以下に示す。スキャナ2070から送られてくる画像データを、スキャナ2070から送られてくるタイミング信号に同期させて、スキャンバッファ2022に保存する。そして、画像バス2008がPCIバスの場合には、スキャンバッファ2022内に画像データが32ビット以上格納されると、画像データを先入れ先出しで32ビット分、シリアルパラレル・パラレルシリアル変換2023に送り、そこで32ビットの画像データに変換し、画像バスI/Fコントローラ2021を通して画像バス2008上に転送する。また、画像バス2008がIEEE1394の場合には、スキャンバッファ2022内の画像データを先入れ先出しで、バッファからシリアルパラレル・パラレルシリアル変換2023に送り、シリアル画像データに変換し、画像バスI/Fコントローラ2021を通して画像バス2008上に転送する。
【0051】
次に画像プリント時の処理手順を以下に示す。画像バス2008がPCIバスの場合には、画像バスから32ビットずつ送られてくる画像データを画像バスI/Fコントローラ2021で受け取り、パラレルシリアル・シリアルパラレル変換2024に送り、プリンタ2095の入力データビット数の画像データに分解し、プリントバッファ2025に保存する。また、画像バス2008がIEEE1394の場合には、画像バスから送られてくるシリアル画像データを画像バスI/Fコントローラ2021で受け取り、パラレルシリアル・シリアルパラレル変換2024に送り、プリンタ2095の入力データビット数の画像データに変換し、プリントバッファ2025に保存する。そして、プリンタ2095から送られてくるタイミング信号に同期させて、バッファ内の画像データを先入れ先出しで、プリンタ2095に送る。
【0052】
<第1の実施形態>
以下、上記構成を有する装置に適用可能な本発明の第1の実施形態における原稿方向判別方法を、図面を用いて詳細に説明する。なお、本第1の実施形態における文書方向判別は、以下に説明する文書方向判別方法を実行するためのプログラムを記憶媒体(例えば図3のRAM2002、ROM2003、HDD2004、または不図示の外部記憶媒体)に保存し、当該プログラムをCPU2001により実行することにより実現される。
【0053】
基本的な概念は、従来例において図19を参照して説明したものと変わらず、画像データを領域に分割し(ステップS101)、文字領域を抽出して(ステップS102)、1文字ずつ文字認識処理を行う(ステップS103〜S106)。
【0054】
そして各文字の方向を判別し、各領域ごとに各文字の方向の情報を累積する(ステップS107〜S109)。累積した情報に基づいて各領域毎の方向を判別し、各文字領域の方向の情報を、画像データ中の文字領域全てについて累積する(ステップS110〜S112)。このようにして累積した情報に基づいて、原稿の方向を判別し、出力する(ステップS113)。
【0055】
次に、本第1の実施形態においてステップS105で行われる各文字の判別方法について、図11を参照して詳しく説明する。
【0056】
まず、ステップS103で抽出された1文字について、ステップS301では、文字に外接する矩形中の文字の特徴ベクトルを抽出する。この特徴ベクトルを抽出するためは、まず、図21に示すように文字に外接する矩形を求め、その外接矩形を図22に示すような4×4の領域に分割する。そして、それぞれの領域に対して図23に示す4方向に輪郭線の成分量を特徴量として抽出する。これにより、64次元のベクトルが特徴ベクトルとして抽出される。
【0057】
次に、ステップS302において、ステップS301で抽出された特徴ベクトルの次元数を削減するための変換を行う。上記のように抽出された認識対象文字の次元数を64とし、変換後の次元数を32とすると、変換行列は32×64の行列として表すことができる。この行列とステップS301で抽出されたベクトルを掛け算することで次元数を変えたベクトルを作成する。
【0058】
ステップS303では、次元数を変更した認識対象文字の特徴ベクトルと、予め記憶されている辞書内の各文字の平均ベクトルとの距離を求め、近い方から上位K文字を判別する文字の候補とする、文字認識処理(識別演算処理)を行う。
【0059】
本第1の実施形態においては、識別演算は、辞書作成時に予め求めておいた各文字の平均ベクトルと該特徴ベクトルとの距離を計算する。計算式は辞書中の文字Aの平均ベクトルを
【0060】
(A1,A2,…,A32) …(2)
(B1,B2,…,B32) …(3)
【0061】
と表される。本第1の実施形態では各方向毎に第1候補文字と第2候補文字とを出力し、その距離Dを類似度として返す。
なお、類似度としては、上記式(4)で演算される距離Dの他に、例えば碁盤目の線に沿った2点間の距離を示すシティブロック距離(Σ|Bk−Ak|)等、別の値を用いることも可能である。
【0062】
ステップS304では、抽出された文字の文字認識が0°、90°、180°、270°の各方向からすべて行われたかを判断し、まだ文字認識が行われていない方向があれば、ステップS305で特徴ベクトルをさらに90°回転させ、ステップS302に戻って90°回転した状態で文字認識を行う。ステップS204及びS202の処理を繰り返すと、90°ずつ特徴ベクトルが回転されて、4方向すべての方向について文字認識が行われることになる。
【0063】
すべての方向について文字認識が行われれば(ステップS304でYES)、処理を終了する。
【0064】
上記の通り、本第1の実施形態によれば、認識された文字に基づいて原稿方向の判別を行うことにより、コストを上げることなく、且つ原稿方向判別の精度を落とさずに、より高速に原稿方向を判別することができる。
【0065】
<第2の実施形態>
上記第1の実施形態で説明した認識処理において、従来方式の辞書を用いた場合、類似文字(平均ベクトルが近いもの)がある文字はその文字の方向の確からしさが小さくなり、正しい原稿方向を判別するためにはより多くの文字を認識しなければならないことがあった。
【0066】
上記認識処理に従来の辞書を用いた場合の例を、図12及び図13を参照して説明する。なお、説明の簡略化のため2次元で説明するが、3次元以上の次元であっても良い。
【0067】
図12に示すように、辞書に5つの文字A〜Eがあるとし、ある認識対象文字Xの各角度における特徴ベクトルがX0,X90,X180,X270であるとする。このとき、辞書中の各文字と認識対象文字間の距離を計算すると、図13のようになったとする。
【0068】
このとき、各角度における第1候補文字との距離から90°方向が正解であると考えられるが、90°方向の第2候補文字との差が小さいため、この文字の確からしさは小さくなっていた。
【0069】
従って、本第2の実施形態においては、文字認識部で使用する辞書を作成する段階で類似文字を1つにまとめ、第2候補文字との距離差を大きくすることにより、確からしさを向上させる。
【0070】
本第2の実施形態で使用される辞書の作成手段を、図12乃至図18を参照して説明する。図18は、辞書作成手順を示すフローチャートである。
【0071】
まず、図12に示すようにA〜Eの文字がある場合、ステップS401において各文字間の距離を計算する。計算を(4)式を用いて行うと、この結果は例えば図14のようになる。この演算結果をそれぞれ予め設定した閾値と比較し(ステップS402)、閾値より小さな値である文字は類似文字として1つにまとめる処理を行い(ステップS403)、ステップS404に進む。演算結果が閾値よりも大きい場合にはそのままステップS404に進み、全ての演算結果と閾値との比較が終了するまでステップS402〜S404を繰り返す。
【0072】
図14の場合、例えば、閾値を500とすると、距離が400であるBとC、距離が350であるBとD、距離が350であるCとD、すなわち、B〜Dの3文字を1つの文字にまとめる。そしてこのまとめた文字の平均ベクトル(特徴ベクトルの平均値)を再度計算し直し、この文字をFとする(ステップS405)。このようにすることで辞書中の文字は図15に示すようにA,E,Fの3文字となる。
【0073】
なお、上記式(4)で演算される距離Dの他に、例えば碁盤目の線に沿った2点間の距離を示すシティブロック距離(Σ|Bk−Ak|)等、別の値を用いることも可能である。また、ベクトルを単純平均せずに、距離に応じて重み付けを行うなど、様々な方法が考えられる。
【0074】
図11の手順で、図15に示される辞書を用いて図12中に示される認識対象文字X0,X90,X180,X270を認識する(図16に示す)と、図17のようになる。このように、本第2の実施形態で作成した辞書を用いた場合、第1候補文字と第2候補文字との距離差が大きくなる。
【0075】
上記の通り第2の実施形態によれば、従来の辞書内の類似文字をまとめることにより、大分類処理で得られる認識対象文字の確からしさが大きくなり、認識する文字数を削減することができるため、高価な高速度処理部を搭載することなく、且つ原稿方向判別の精度を落とさずに、より高速に原稿の方向を判定することが可能となる。
【0076】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、スキャナ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0077】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。ここでプログラムコードを記憶する記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、ROM、RAM、、磁気テープ、不揮発性のメモリカード、CD−ROM、CD−R、DVD、光ディスク、光磁気ディスク、MOなどが考えられる。
【0078】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0079】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した図19及び図11及び/又は図18に示すフローチャートに対応するプログラムコードが格納されることになる。
【0080】
本発明の特徴を以下に総括する。
【0081】
(実施態様1) 原稿画像の方向を判別するために用いる辞書を作成する辞書作成方法であって、辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出工程と、前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較工程と、前記比較工程で類似文字であると判断された複数の文字ごとに1つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化工程と、前記グループの平均特徴ベクトルと、前記比較工程で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成工程とを有することを特徴とする辞書作成方法。
【0082】
(実施態様2) 入力された原稿画像から文字画像を抽出する抽出工程と、前記抽出された各文字画像について、実施態様1に記載の辞書作成方法で作成された辞書を用いて複数の方向から認識処理を実行する文字認識工程と、前記文字認識結果に基づいて前記原稿画像の方向を判別する判別工程とを有することを特徴とする原稿方向判別方法。
【0083】
(実施態様3) 前記文字認識工程における複数の方向からの認識処理は、前記抽出された各文字画像の特徴ベクトルを回転させて、前記辞書に登録された特徴ベクトルと比較することにより文字認識処理が実行されることを特徴とする実施態様2に記載の原稿方向判別方法。
【0084】
(実施態様4) 原稿画像の方向を判別するために用いる辞書を作成する辞書作成装置であって、辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出手段と、前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較手段と、前記比較手段で類似文字であると判断された複数の文字ごとに1つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化手段と、前記グループの平均特徴ベクトルと、前記比較手段で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成手段とを有することを特徴とする辞書作成装置。
【0085】
(実施態様5) 入力された原稿画像から文字画像を抽出する抽出手段と、前記抽出された各文字画像について、実施態様4に記載の辞書作成装置で作成された辞書を用いて複数の方向から認識処理を実行する文字認識手段と、前記文字認識結果に基づいて前記原稿画像の方向を判別する判別手段とを有することを特徴とする原稿方向判別装置。
【0086】
(実施態様6) 前記文字認識手段における複数の方向からの認識処理は、前記抽出された各文字画像の特徴ベクトルを回転させて、前記辞書に登録された特徴ベクトルと比較することにより文字認識処理が実行されることを特徴とする実施態様5に記載の原稿方向判別装置。
【0087】
(実施態様7) 原稿画像の方向を判別するために用いる辞書を作成する辞書作成方法をコンピュータに実行させるためのコンピュータプログラムであって、辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出工程と、前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較工程と、前記比較工程で類似文字であると判断された複数の文字ごとに1つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化工程と、前記グループの平均特徴ベクトルと、前記比較工程で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成工程とをコンピュータに実行させるためのプログラムコードを含むことを特徴とするコンピュータ実行可能なコンピュータプログラム。
【0088】
(実施態様8) 入力された原稿画像から文字画像を抽出する抽出工程と、前記抽出された各文字画像について、実施態様7に記載の辞書作成方法で作成された辞書を用いて複数の方向から認識処理を実行する文字認識工程と、前記文字認識結果に基づいて前記原稿画像の方向を判別する判別工程とをコンピュータに実行させるためのプログラムコードを含むことを特徴とするコンピュータ実行可能なコンピュータプログラム。
【0089】
(実施態様9) 前記文字認識工程における複数の方向からの認識処理は、前記抽出された各文字画像の特徴ベクトルを回転させて、前記辞書に登録された特徴ベクトルと比較することにより文字認識処理が実行されることを特徴とする実施態様8に記載のコンピュータ実行可能なコンピュータプログラム。
【0090】
【発明の効果】
以上説明したように、本発明によれば、高価な高速度処理部を搭載することなく、且つ原稿方向判別の精度を落とさずに、より高速に原稿の方向を判定することが可能となる。
【図面の簡単な説明】
【図1】図3に示す画像入出力装置を横から見た場合の外観図である。
【図2】本発明の実施の形態における画像入出力装置の操作部を示す図である。
【図3】本発明の実施の形態における画像入出力装置の全体構成を示すブロック図である。
【図4】本発明の実施の形態におけるスキャナ画像処理部の構成を示すブロック図である。
【図5】本発明の実施の形態におけるプリンタ画像処理部の構成を示すブロック図である。
【図6】本発明の実施の形態における画像圧縮処理部の構成を示すブロック図である。
【図7】本発明の実施の形態における画像回転部の構成を示すブロック図である。
【図8】画像回転処理動作の説明図である。
【図9】画像回転処理動作の説明図である。
【図10】本発明の実施の形態におけるデバイスI/F部の構成を示すブロック図である。
【図11】本発明の第1の実施形態における各文字の判別処理を示すフローチャートである。
【図12】本発明の第1の実施形態における大分類処理を従来の辞書を用いて行った場合の例を示す図である。
【図13】本発明の第1の実施形態における大分類処理を従来の辞書を用いて行った場合の例を示す図である。
【図14】本発明の第2の実施形態における辞書の作成方法を説明するための図である。
【図15】本発明の第2の実施形態における辞書の作成方法を説明するための図である。
【図16】本発明の第2の実施形態における辞書を用いて行った大分類処理の例を示す図である。
【図17】本発明の第2の実施形態における辞書を用いて行った大分類処理の結果例を示す図である。
【図18】本発明の第2の実施形態における辞書作成の手順を示す図である。
【図19】原稿方向判別の手順を示すフローチャートである。
【図20】従来の各文字の判別処理を示すフローチャートである。
【図21】文字の外接矩形の例を示す図である。
【図22】4×4に分割した図21に示す外接矩形の例を示す図である。
【図23】輪郭線量を分割する方向を示す図である。
Claims (1)
- 原稿画像の方向を判別するために用いる辞書を作成する辞書作成方法であって、
辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出工程と、
前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較工程と、
前記比較工程で類似文字であると判断された複数の文字ごとに1つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化工程と、
前記グループの平均特徴ベクトルと、前記比較工程で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成工程と
を有することを特徴とする辞書作成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003075919A JP2004287565A (ja) | 2003-03-19 | 2003-03-19 | 原稿方向判別用の辞書作成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003075919A JP2004287565A (ja) | 2003-03-19 | 2003-03-19 | 原稿方向判別用の辞書作成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004287565A true JP2004287565A (ja) | 2004-10-14 |
Family
ID=33291101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003075919A Withdrawn JP2004287565A (ja) | 2003-03-19 | 2003-03-19 | 原稿方向判別用の辞書作成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004287565A (ja) |
-
2003
- 2003-03-19 JP JP2003075919A patent/JP2004287565A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5042562B2 (ja) | 画像処理装置、手書き情報認識方法、手書き情報認識プログラム | |
US7317835B2 (en) | Image processing method and apparatus | |
JP4586241B2 (ja) | 画像処理装置 | |
JP4250483B2 (ja) | 画像処理装置、画像処理方法ならびにプログラム、記憶媒体 | |
JP3972751B2 (ja) | 画像処理装置 | |
JP3698136B2 (ja) | 画像処理装置および画像処理プログラム | |
JP2011008549A (ja) | 画像処理装置、画像読取装置、複合機、画像処理方法、プログラム、記録媒体 | |
JP4632443B2 (ja) | 画像処理装置及び画像処理方法並びにプログラム | |
JP2004287565A (ja) | 原稿方向判別用の辞書作成方法 | |
JP4001446B2 (ja) | 画像背景色特定のための方法、装置及びコンピュータ読み取り可能な記録媒体 | |
JP7301529B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP4324058B2 (ja) | 画像処理装置及びその方法 | |
JP5517028B2 (ja) | 画像処理装置 | |
JP2004080341A (ja) | 画像処理装置、画像処理方法、プログラム、及び記録媒体 | |
JP2010287178A (ja) | 画像処理装置、画像読取装置、複合機、画像処理方法、プログラム、記録媒体 | |
JP4055525B2 (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
JP3960756B2 (ja) | 文書画像レイアウト識別方法および装置 | |
JP2010068198A (ja) | 画像形成装置 | |
JP2008210327A (ja) | 文字画像出力システム及び文字画像出力方法 | |
JP3774502B2 (ja) | 画像処理装置およびその方法 | |
JP2010026986A (ja) | 画像形成装置 | |
JP2006344064A (ja) | 画像処理システム及び画像出力方法並びにプログラム | |
JP4957570B2 (ja) | 画像処理装置 | |
JP2007065864A (ja) | 画像処理装置、画像処理方法、画像形成装置、画像形成方法、原稿読み取り装置、及び原稿読み取り方法 | |
JP2001007978A (ja) | 画像形成システム、方法および記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060606 |