(57)【要約】【課題】コストを上げることなく、且つ原稿方向判別の精度を落とさずに、より高速に原稿方向の判別を行えるようにすること。【解決手段】原稿画像の方向を判別するために用いる辞書を作成する辞書作成方法であって、辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出工程（Ｓ４０１）と、前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較工程（Ｓ４０２）と、前記比較工程で類似文字であると判断された複数の文字ごとに１つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化工程（Ｓ４０３）と、前記グループの平均特徴ベクトルと、前記比較工程で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成工程（Ｓ４０５）とを有する。【選択図】  図１８
2004287565.tif 000002
【特許請求の範囲】
【請求項１】
原稿画像の方向を判別するために用いる辞書を作成する辞書作成方法であって、
辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出工程と、
前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較工程と、
前記比較工程で類似文字であると判断された複数の文字ごとに１つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化工程と、
前記グループの平均特徴ベクトルと、前記比較工程で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成工程と
を有することを特徴とする辞書作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複写機、スキャナ等の画像入力装置などにおける原稿方向判別用の辞書作成方法に関する。
【０００２】
【従来の技術】
従来の原稿方向自動判別方法を図１９のフローチャートを参照して説明する。
【０００３】
まず、ステップＳ１０１において、入力された画像データを、文字、写真、線画、表などの領域に分ける。
【０００４】
次にステップＳ１０２において、ステップＳ１０１で分離された領域の中に、文字（例えば、本文、タイトル、キャプションなど）領域や表中の文字領域があるか否かを判断する。文字領域が無い場合、原稿方向を自動で判別することができないので、ステップＳ１１３に進み、原稿方向を自動判別できない旨を通知する。
【０００５】
一方、文字領域があればステップＳ１０３に進み、ステップＳ１０１及びＳ１０２で得られた文字領域から、１文字分の矩形を抽出する。
【０００６】
ステップＳ１０４では、ステップＳ１０３で文字矩形が得られたか否かを判断し、得られていればステップＳ１０５に移り、得られなければステップＳ１１０に移る。
【０００７】
ステップＳ１０５では、ステップＳ１０３で抽出した１文字に対して文字認識処理を実行する。この文字認識動作について、ここで図２０を参照して説明する。
【０００８】
図１９のステップＳ１０３で抽出された１文字について、ステップＳ２０１では、文字矩形内の画像から文字の特徴ベクトルを抽出する。この特徴ベクトルを抽出するためは、まず、図２１に示すように文字に外接する矩形を求め、その外接矩形を図２２に示すような４×４の領域に分割する。そして、それぞれの領域に対して図２３に示す４方向に輪郭線の成分量を特徴量として抽出する。これにより、６４次元のベクトルが特徴ベクトルとして抽出される。
【０００９】
次に、ステップＳ２０２において、ステップＳ２０１で抽出された特徴ベクトルの次元数を削減するための変換を行う。上記のように抽出された認識対象文字の次元数を６４とし、変換後の次元数を３２とすると、変換行列は３２×６４の行列として表すことができる。この行列とステップＳ２０１で抽出されたベクトルを掛け算することで次元数を変えたベクトルを作成する。
【００１０】
ステップＳ２０３では、次元数を変更した認識対象文字の特徴ベクトルと、予め記憶されている辞書内の各文字の特徴ベクトルとの距離を求める認識処理を行う。ここでは、各方向毎に第１候補文字と第２候補文字及びこれらの類似度を保存する。
【００１１】
ステップＳ２０５では、抽出された文字の文字認識が０°、９０°、１８０°、２７０°の各方向からすべて行われたかを判断し、まだ文字認識が行われていない方向があれば、ステップＳ２０６で特徴ベクトルをさらに９０°回転させ、ステップＳ２０３では９０°回転した状態で文字認識を行う。このようにして、９０°ずつ特徴ベクトルが回転されて、４方向すべての方向について文字認識が行われることになる。
【００１２】
すべての方向について文字認識が行われれば（ステップＳ２０５でＹＥＳ）、処理を終了する。
【００１３】
ステップＳ１０５において上記のように各方向から見た特徴ベクトルの判別を終えるとステップＳ１０６に移る。ステップＳ１０６では、ステップＳ１０５で認識した文字が方向判定に利用するのに適当な文字であるかについて判定を行う。この判定の方法として、例えば、各方向について文字認識を行った結果、それぞれの方向から認識された第１候補文字の確からしさを示す類似度が、各方向間で類似度の差が所定値よりも小さい場合に、不適当な文字であると判断する方法等が考えられる。
【００１４】
ステップＳ１０６で方向判定に適した文字であると判定された場合、ステップＳ１０７に進み、その文字の方向を判定する。その一例として、第１候補文字の類似度が一番よい方向であり、スコアは、例えば類似度が小さいほうがよい場合
【００１５】
スコア＝（第２候補の類似度−第１候補の類似度）×定数／第１候補の類似度…（１）
【００１６】
のような式で表され、スコアが大きいほどその方向である可能性が高いことになる。
このようにして文字から判定された方向（０°、９０°、１８０°、２７０°）の頻度数頻度数Ｏ０、Ｏ９０、Ｏ１８０、Ｏ２７０のいずれかをインクリメントし、その文字領域における各方向の累積スコアに今回算出したスコアを加算する。更に認識した文字数Ｃｐをインクリメントする。
【００１７】
一方、ステップＳ１０６で方向判定に適さない文字であると判定された場合、ステップＳ１０８に進み、例えば、不適当であると判定された文字数Ｃｎｐをインクリメントする。
【００１８】
ステップＳ１０９では、現在、原稿方向の判定のための対象としている文字領域の処理を続けるか否かを判定する。例えば、対象としている文字領域において、処理した文字数Ｃｐ＋ＣｎｐがＮ未満の場合、同文字領域の処理を続ける。
【００１９】
ステップＳ１１０では、処理した文字領域が原稿方向判定に適当な領域であるか否かの判定を行う。例えば、４方向の累積スコアの差が小さい場合（例えば、頻度数Ｏ０、Ｏ９０、Ｏ１８０、Ｏ２７０の最大値と２番目の値の差が所定値以下である場合）は、この文字領域の結果を捨てて、次の文字領域での処理に移行する（ステップＳ１０２へ）。
【００２０】
ステップＳ１１０で、処理した文字領域が原稿方向判定に適当な領域であると判定されると、ステップＳ１１１に進み、ステップＳ１１０で得られた文字領域の累積スコアを原稿全体の累積スコアに加算する。
【００２１】
次にステップＳ１１２では、認識した文字数や領域数、全体の認識結果等に基づいて、判定処理を続行するか否かを判定する。例えば、認識した文字数が予め設定されたＫ（定数）文字未満であったり、認識した領域数が予め設定されたＭ（定数）未満であれば、処理を続行するなどが考えられる。続行する場合にはステップＳ１０２に戻り、終了する場合にはステップＳ１１３へ進む。
【００２２】
ステップＳ１１３では、得られた全体の結果から原稿の方向を判定する。例えば、  各方向の累積スコアを比較して一番大きい値の方向を原稿の方向として出力する。なお、上述したが、ステップＳ１０２において文字領域がないと判断された場合、判別不可能である旨を出力する。
【００２３】
【発明が解決しようとする課題】
しかしながら、従来の方式では、詳細識別処理で行われる演算量が非常に大きく、原稿方向判定処理に時間がかかるため、特に複写機などの実時間処理が必要な場合において、文字認識速度の向上が求められている。より高速のＭＰＵなどを用いれば判定処理速度を上げることができるが、通常、そういった高速のＭＰＵは高価であり、コストが高くなってしまう。
【００２４】
本発明は上記問題点を鑑みてなされたものであり、コストを上げることなく、且つ原稿方向判別の精度を落とさずに、より高速に原稿方向の判別を行えるようにすることを目的とする。
【００２５】
【課題を解決するための手段】
上記目的を達成するために、本発明の原稿方向判別用の辞書作成方法は、原稿画像の方向を判別するために用いる辞書を作成する辞書作成方法であって、辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出工程と、前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較工程と、前記比較工程で類似文字であると判断された複数の文字ごとに１つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化工程と、前記グループの平均特徴ベクトルと、前記比較工程で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成工程とを有する。
【００２６】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【００２７】
＜画像入出力装置の構成＞
まず、本発明を適用可能な装置の一例である画像入出力装置の構成について説明する。
【００２８】
図１は、画像入出力装置１００１を横から見た場合の外観図である。
【００２９】
画像入力装置であるスキャナ２０７０は、原稿上の画像を照明し、ＣＣＤラインセンサ（図示せず）により走査して電気信号に変換することにより、ラスターイメージデータを得る。原稿は、使用者が原稿を原稿フィーダ２０７２のトレイ２０７３にセットし、操作部２０１２から読み取り指示することにより、コントローラＣＰＵ２００１がスキャナ２０７０に読み取り開始指示を与え、これにより原稿フィーダ２０７２は原稿用紙を１枚ずつフィードして原稿画像の読み取りが行われる。
【００３０】
画像出力装置であるプリンタ２０９５は、ラスターイメージデータを用紙上に可視化（印刷）する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式や、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作は、ＣＰＵ２００１からの指示によって開始する。プリンタ２０９５は、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセット２１０１、２１０２、２１０３、２１０４が備えられている。また、排紙トレイ２１１１は印刷し終わった用紙を受けるものである。
【００３１】
操作部２０１２は、画像入出力装置１００１の見やすい場所に備えられており、その構成例を図２に示す。ＬＣＤ表示部２０１３は、ＬＣＤ上にタッチパネルシートが貼られて成るもので、システムの操作画面を表示するとともに、表示してあるソフトキーが押されるとその位置情報をＣＰＵ２００１に伝える。これにより、ＣＰＵ２００１は操作者の操作内容を判断し、キーへの押下処理が完成する。状況に応じて適宜表示画面を切り替える。なお、操作部２０１２の構成は、ＬＣＤ及びタッチパネルに限定されるものではなく、ＣＲＴを含む他の表示器、マウスやペンにより操作される他の座標入力手段でも良い。
【００３２】
スタートキー２０１４は原稿画像の読み取り動作を開始する時などに用いる。スタートキー２０１４の中央部には、緑と赤の２色ＬＥＤ２０１８があり、点灯色によってスタートキー２０１４が使える状態にあるかどうかを示す。ストップキー２０１５は稼働中の動作を止める働きをする。ＩＤキー２０１６は、使用者のユーザーＩＤを入力する時に用いる。リセットキー２０１７は操作部からの設定を初期化する時に用いる。
【００３３】
次に、画像入出力装置１００１の全体構成を図３を参照して説明する。図３に示すように、本実施の形態にかかる画像入出力装置１００１は、基本的に、制御部２０００と、ユーザーインターフェイス（ＵＩ）である操作部２０１２と、画像入力装置であるスキャナ２０７０と、画像出力装置であるプリンタ２０９５とにより構成されている。
【００３４】
制御部２０００は、スキャナ２０７０やプリンタ２０９５と接続し、一方ではＬＡＮ１０１０や公衆回線（ＷＡＮ）２０５１と接続することで、画像情報やデバイス情報の入出力制御を行う。ＣＰＵ２００１はシステム全体を制御するコントローラである。ＲＡＭ２００２はＣＰＵ２００１が動作するためのシステムワークメモリであり、また画像データを一時記憶するための画像メモリとしても機能する。ＲＯＭ２００３はブートＲＯＭであり、システムの起動プログラムが格納されている。２００４はハードディスクドライブ（ＨＤＤ）で、システムソフトウェア、画像データ等を格納する。操作部Ｉ／Ｆ２００６は操作部２０１２とのインターフェイスを行い、操作部２０１２に表示する画像データを操作部２０１２に対して出力する。また、操作部２０１２から使用者が入力した情報を、ＣＰＵ２００１に伝える。モデム２０５０は公衆回線２０５１に接続し、情報の入出力を行う。また、ネットワークＩ／Ｆ２０１０はＬＡＮ１０１０に接続し、情報の入出力を行う。以上のデバイスがシステムバス２００７上に配置される。
【００３５】
画像バスＩ／Ｆ２００５は、システムバス２００７と画像データを高速で転送する画像バス２００８とを接続し、データ構造を変換するバスブリッジである。
【００３６】
画像バス２００８は、ＰＣＩバスまたはＩＥＥＥ１３９４バス等で構成される。画像バス２００８上には以下のデバイスが接続される。
【００３７】
ラスターイメージプロセッサ（ＲＩＰ）２０６０はＰＤＬコードをビットマップイメージに展開する。デバイスＩ／Ｆ部２０２０は、スキャナ２０７０やプリンタ２０９５と制御部２０００を接続し、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部２０８０は、スキャナ２０７０により読み込まれ、デバイスＩ／Ｆ２０２０を介して入力した画像データに対し、補正、加工、編集を行う。プリンタ画像処理部２０９０は、プリント出力する画像データに対して、プリンタに対応する補正や解像度変換等を行う。画像回転部２０３０は画像データの回転を行う。画像圧縮／伸張部２０４０は、多値画像データはＪＰＥＧにより、２値画像画像データはＪＢＩＧ、ＭＭＲ、ＭＨによる圧縮・伸張処理を行う。
【００３８】
以上説明したような構成では、画像処理部分の拡張性を考慮して、システムバス２００７に接続される構成と画像バス２００８に接続される構成とが分離可能となっており、一般的なコンピュータの構成を応用したものである。上記構成では画像バスＩ／Ｆ２００５を汎用にすることで、画像処理を任意に組み合わせることを可能にする自由度、また将来性を考慮した拡張性をもたせている。特にコーデック部（画像圧縮／伸張部２０４０）は、将来様々な規格が提案される可能性もあるため、容易に交換できるよう画像バス側に接続している。
【００３９】
次に、制御部２０００の各構成について説明する。
【００４０】
（スキャナ画像処理部）
スキャナ画像処理部２０８０の構成を図４に示す。画像バスＩ／Ｆコントローラ２０８１は画像バス２００８と接続し、そのバスアクセスシーケンスを制御すると共に、タイミング信号の生成及びスキャナ画像処理部２０８０内の各構成要素の制御（ＣＴＬ）を行う。フィルタ処理部２０８２は空間フィルタで、入力画像データ（ＩＭ）についてコンボリューション演算を行う。編集部２０８３は、例えば入力画像データからマーカーペンで囲まれた閉領域を認識して、その閉領域内の画像データに対して、影つけ、網掛け、ネガポジ反転等の画像加工処理を行う。変倍処理部２０８４は、読み取り画像の解像度を変える場合にラスターイメージの主走査方向について補間演算を行い拡大、縮小を行う。なお、本実施の形態における副走査方向の変倍については、画像読み取り用のラインセンサ（図示せず）の副走査方向の走査速度を変えることにより行うため、変倍処理部２０８４での副走査方向の変倍処理は行わない。テーブル変換部２０８５は、読み取った輝度データである画像データを濃度データに変換するもので、テーブルを用いた変換を行う。２値化処理部２０８６は、多値のグレースケール画像データを誤差拡散処理やスクリーン処理によって２値化する。ＪＰＥＧ圧縮部２０８７は、テーブルから出力された多値画像データを既知のＪＰＥＧ圧縮によりリアルタイム圧縮する部分である。ＪＰＥＧ圧縮部２０８７からはＪＰＥＧ符号化された符号データが出力される。処理が終了した画像データ及び符号データは、再び画像バスＩ／Ｆコントローラ２０８１を介して、画像バス上に転送される。
【００４１】
（プリンタ画像処理部）
プリンタ画像処理部２０９０の構成を図５に示す。画像バスＩ／Ｆコントローラ２０９１は、画像バス２００８と接続し、そのバスアクセスシーケンスを制御すると共に、タイミング信号の生成及びプリンタ画像処理部２０９０内の各構成要素の制御（ＣＴＬ）を行う。解像度変換部２０９２は、ＬＡＮ１０１０あるいは公衆回線２０５１を介して入力する画像データ（ＩＭ）の解像度をプリンタ２０９５の解像度に変換する、解像度変換を行う。スムージング処理部２０９３は、解像度変換後の画像データのジャギー（斜め線等の白黒境界部に現れる画像のがさつき）を滑らかにする処理を行う。
【００４２】
（画像圧縮／伸張部）
画像圧縮／伸張部２０４０の構成を図６に示す。画像バスＩ／Ｆコントローラ２０４１は、画像バス２００８と接続し、そのバスアクセスシーケンスを制御すると共に、入力バッファ２０４２及び出力バッファ２０４５とのデータのやりとりを行うためのタイミング制御及び、画像圧縮／伸張部２０４３に対するモード設定などの制御を行う。以下に画像圧縮／処理部２０４０の処理手順を示す。
【００４３】
画像バス２００８を介して、ＣＰＵ２００１から画像バスＩ／Ｆコントローラ２０４１に画像圧縮／伸張制御のための設定を行う。この設定により画像バスＩ／Ｆコントローラ２０４１は画像圧縮／伸張部２０４３に対して画像圧縮／伸張に必要な設定（たとえばＭＭＲ圧縮・ＪＢＩＧ伸長等）を行う。必要な設定を行った後に、再度ＣＰＵ２００１から画像バスＩ／Ｆコントローラ２０４１に対して画像データ転送の許可を行う。この許可に従い、画像バスＩ／Ｆコントローラ２０４１はＲＡＭ２００２もしくは画像バス２００８上の各デバイスから画像データの受信を開始する。受け取った画像データは入力バッファ２０４２に一時格納され、画像圧縮／伸張部２０４３の画像データ要求に応じて一定のスピードで転送される。この際、入力バッファ２０４２は、画像バスＩ／Ｆコントローラ２０４１と画像圧縮／伸張部２０４３との間で、画像データを転送できるかどうかを判断し、画像バス２００８からの画像データの読み込み、及び、画像圧縮／伸張部２０４３への画像の書き込みが不可能である場合は、データの転送を行わないように制御を行う（以後、このような制御を「ハンドシェーク」と呼ぶ。）。画像圧縮／伸張部２０４３は、受け取った画像データを、一旦ＲＡＭ２０４４に格納する。これは、実行する画像圧縮／伸張処理の種類によっては、処理にあたって数ライン分のデータを要するからである。例えば、最初の１ライン分の圧縮／伸張を行うために数ライン分の画像データが必要な場合には、必要ライン数の画像データをＲＡＭ２０４４に格納した後に処理を行う。画像圧縮または伸張処理を施された画像データは直ちに出力バッファ２０４５に送られる。出力バッファ２０４５では、画像バスＩ／Ｆコントローラ２０４１及び画像圧縮／伸張部２０４３とのハンドシェークを行い、画像データを画像バスＩ／Ｆコントローラ２０４１に転送する。画像バスＩ／Ｆコントローラ２０４１では、転送された圧縮または伸長された画像データをＲＡＭ２００２もしくは画像バス２００８上の各デバイスに転送する。こうした一連の処理は、ＣＰＵ２００１からの処理要求が無くなるまで（例えば、必要なページ数の処理が終わるまで）、もしくはこの画像圧縮／伸張部２０４０から停止要求が出るまで（例えば、圧縮及び伸長時のエラー発生時等）繰り返される。
【００４４】
（画像回転部）
画像回転部２０３０の構成を図７に示す。画像バスＩ／Ｆコントローラ２０３１は、画像バス２００８と接続し、そのバスアクセスシーケンスを制御すると共に、画像回転部２０３２にモード等を設定する制御及び、画像回転部２０３２に画像データを転送するためのタイミング制御を行う。以下に画像回転部の処理手順を示す。
【００４５】
画像バス２００８を介して、ＣＰＵ２００１から画像バスＩ／Ｆコントローラ２０３１に画像回転制御のための設定を行う。この設定により画像バスＩ／Ｆコントローラ２０３１は画像回転部２０３２に対して画像回転に必要な設定（たとえば画像サイズや回転方向・角度等）を行う。必要な設定を行った後に、再度ＣＰＵ２００１から画像バスＩ／Ｆコントローラ２０３１に対して画像データ転送の許可を行う。この許可に従い、画像バスＩ／Ｆコントローラ２０３１はＲＡＭ２００２もしくは画像バス２００８上の各デバイスから画像データの受信を開始する。尚、ここでは３２ビットを画像入力のサイズとし、回転を行う画像サイズを３２×３２ビットである場合について説明をする。また、画像バス２００８上に画像データを転送する際にも３２ビットを単位とする画像転送を行うものとする（扱う画像は２値を想定する）。
【００４６】
上述のように、３２×３２ビットの画像を得るためには、上述の単位データ転送を３２回行う必要があり、且つ、図８に示すように、不連続なアドレスから画像データを転送する必要がある。不連続アドレッシングにより転送された画像データは、読み出し時に所望の角度に回転されているように、ＲＡＭ２０３３に書き込まれる。例えば、反時計方向に９０度回転するのであれば、図９（ａ）に示されるように最初に転送された３２ビットの画像データを、図９（ｂ）に示すようにＹ方向に書き込んでいく。そして、読み出し時にＸ方向に読み出すことで、画像が回転される。
【００４７】
３２×３２ビットの画像回転（すなわち、ＲＡＭ２０３３への書き込み）が完了した後、画像回転部２０３２はＲＡＭ２０３３から上述した読み出し方法で画像データを読み出し、画像バスＩ／Ｆコントローラ２０３１に画像を転送する。
【００４８】
回転処理された画像データを受け取った画像バスＩ／Ｆコントローラ２０３１は、連続アドレッシングを以て、ＲＡＭ２００２もしくは画像バス２００８上の各デバイスにデータを転送する。こうした一連の処理は、ＣＰＵ２００１からの処理要求が無くなるまで（例えば、必要なページ数の処理が終わるまで）、もしくはこの画像回転部２０３０から停止要求が出るまで（例えば、回転処理時のエラー発生時等）繰り返される。
【００４９】
（デバイスＩ／Ｆ部）
デバイスＩ／Ｆ部２０２０の構成を図１０に示す。画像バスＩ／Ｆコントローラ２０２１は、画像バス２００８と接続し、そのバスアクセスシーケンスを制御すると共に、タイミング信号の生成及びデバイスＩ／Ｆ部２０２０内の各デバイスの制御を行う。更に、外部のスキャナ２０７０及びプリンタ２０９５への制御信号を発生する。スキャンバッファ２０２２は、スキャナ２０７０から送られてくる画像データを一時保存し、画像バス２００８に同期させて画像データを出力する。シリアルパラレル・パラレルシリアル変換部２０２３は、スキャンバッファ２０２２に保存された画像データを順番に並べて、あるいは分解して、画像バス２００８に転送できるデータ幅に変換する。パラレルシリアル・シリアルパラレル変換２０２４は、画像バス２００８から転送された画像データを分解して、あるいは順番に並べて、プリントバッファ２０２５に保存できるデータ幅に変換する。プリントバッファ２０２５は、画像バス２００８から送られてくる画像データを一時保存し、プリンタ２０９５に同期させて画像データを出力する。
【００５０】
まず、画像スキャン時の処理手順を以下に示す。スキャナ２０７０から送られてくる画像データを、スキャナ２０７０から送られてくるタイミング信号に同期させて、スキャンバッファ２０２２に保存する。そして、画像バス２００８がＰＣＩバスの場合には、スキャンバッファ２０２２内に画像データが３２ビット以上格納されると、画像データを先入れ先出しで３２ビット分、シリアルパラレル・パラレルシリアル変換２０２３に送り、そこで３２ビットの画像データに変換し、画像バスＩ／Ｆコントローラ２０２１を通して画像バス２００８上に転送する。また、画像バス２００８がＩＥＥＥ１３９４の場合には、スキャンバッファ２０２２内の画像データを先入れ先出しで、バッファからシリアルパラレル・パラレルシリアル変換２０２３に送り、シリアル画像データに変換し、画像バスＩ／Ｆコントローラ２０２１を通して画像バス２００８上に転送する。
【００５１】
次に画像プリント時の処理手順を以下に示す。画像バス２００８がＰＣＩバスの場合には、画像バスから３２ビットずつ送られてくる画像データを画像バスＩ／Ｆコントローラ２０２１で受け取り、パラレルシリアル・シリアルパラレル変換２０２４に送り、プリンタ２０９５の入力データビット数の画像データに分解し、プリントバッファ２０２５に保存する。また、画像バス２００８がＩＥＥＥ１３９４の場合には、画像バスから送られてくるシリアル画像データを画像バスＩ／Ｆコントローラ２０２１で受け取り、パラレルシリアル・シリアルパラレル変換２０２４に送り、プリンタ２０９５の入力データビット数の画像データに変換し、プリントバッファ２０２５に保存する。そして、プリンタ２０９５から送られてくるタイミング信号に同期させて、バッファ内の画像データを先入れ先出しで、プリンタ２０９５に送る。
【００５２】
＜第１の実施形態＞
以下、上記構成を有する装置に適用可能な本発明の第１の実施形態における原稿方向判別方法を、図面を用いて詳細に説明する。なお、本第１の実施形態における文書方向判別は、以下に説明する文書方向判別方法を実行するためのプログラムを記憶媒体（例えば図３のＲＡＭ２００２、ＲＯＭ２００３、ＨＤＤ２００４、または不図示の外部記憶媒体）に保存し、当該プログラムをＣＰＵ２００１により実行することにより実現される。
【００５３】
基本的な概念は、従来例において図１９を参照して説明したものと変わらず、画像データを領域に分割し（ステップＳ１０１）、文字領域を抽出して（ステップＳ１０２）、１文字ずつ文字認識処理を行う（ステップＳ１０３〜Ｓ１０６）。
【００５４】
そして各文字の方向を判別し、各領域ごとに各文字の方向の情報を累積する（ステップＳ１０７〜Ｓ１０９）。累積した情報に基づいて各領域毎の方向を判別し、各文字領域の方向の情報を、画像データ中の文字領域全てについて累積する（ステップＳ１１０〜Ｓ１１２）。このようにして累積した情報に基づいて、原稿の方向を判別し、出力する（ステップＳ１１３）。
【００５５】
次に、本第１の実施形態においてステップＳ１０５で行われる各文字の判別方法について、図１１を参照して詳しく説明する。
【００５６】
まず、ステップＳ１０３で抽出された１文字について、ステップＳ３０１では、文字に外接する矩形中の文字の特徴ベクトルを抽出する。この特徴ベクトルを抽出するためは、まず、図２１に示すように文字に外接する矩形を求め、その外接矩形を図２２に示すような４×４の領域に分割する。そして、それぞれの領域に対して図２３に示す４方向に輪郭線の成分量を特徴量として抽出する。これにより、６４次元のベクトルが特徴ベクトルとして抽出される。
【００５７】
次に、ステップＳ３０２において、ステップＳ３０１で抽出された特徴ベクトルの次元数を削減するための変換を行う。上記のように抽出された認識対象文字の次元数を６４とし、変換後の次元数を３２とすると、変換行列は３２×６４の行列として表すことができる。この行列とステップＳ３０１で抽出されたベクトルを掛け算することで次元数を変えたベクトルを作成する。
【００５８】
ステップＳ３０３では、次元数を変更した認識対象文字の特徴ベクトルと、予め記憶されている辞書内の各文字の平均ベクトルとの距離を求め、近い方から上位Ｋ文字を判別する文字の候補とする、文字認識処理（識別演算処理）を行う。
【００５９】
本第１の実施形態においては、識別演算は、辞書作成時に予め求めておいた各文字の平均ベクトルと該特徴ベクトルとの距離を計算する。計算式は辞書中の文字Ａの平均ベクトルを
【００６０】
（Ａ１，Ａ２，…，Ａ３２）  …（２）
（Ｂ１，Ｂ２，…，Ｂ３２）  …（３）
2004287565.tif 000003
【００６１】
と表される。本第１の実施形態では各方向毎に第１候補文字と第２候補文字とを出力し、その距離Ｄを類似度として返す。
なお、類似度としては、上記式（４）で演算される距離Ｄの他に、例えば碁盤目の線に沿った２点間の距離を示すシティブロック距離（Σ｜Ｂｋ−Ａｋ｜）等、別の値を用いることも可能である。
【００６２】
ステップＳ３０４では、抽出された文字の文字認識が０°、９０°、１８０°、２７０°の各方向からすべて行われたかを判断し、まだ文字認識が行われていない方向があれば、ステップＳ３０５で特徴ベクトルをさらに９０°回転させ、ステップＳ３０２に戻って９０°回転した状態で文字認識を行う。ステップＳ２０４及びＳ２０２の処理を繰り返すと、９０°ずつ特徴ベクトルが回転されて、４方向すべての方向について文字認識が行われることになる。
【００６３】
すべての方向について文字認識が行われれば（ステップＳ３０４でＹＥＳ）、処理を終了する。
【００６４】
上記の通り、本第１の実施形態によれば、認識された文字に基づいて原稿方向の判別を行うことにより、コストを上げることなく、且つ原稿方向判別の精度を落とさずに、より高速に原稿方向を判別することができる。
【００６５】
＜第２の実施形態＞
上記第１の実施形態で説明した認識処理において、従来方式の辞書を用いた場合、類似文字（平均ベクトルが近いもの）がある文字はその文字の方向の確からしさが小さくなり、正しい原稿方向を判別するためにはより多くの文字を認識しなければならないことがあった。
【００６６】
上記認識処理に従来の辞書を用いた場合の例を、図１２及び図１３を参照して説明する。なお、説明の簡略化のため２次元で説明するが、３次元以上の次元であっても良い。
【００６７】
図１２に示すように、辞書に５つの文字Ａ〜Ｅがあるとし、ある認識対象文字Ｘの各角度における特徴ベクトルがＸ０，Ｘ９０，Ｘ１８０，Ｘ２７０であるとする。このとき、辞書中の各文字と認識対象文字間の距離を計算すると、図１３のようになったとする。
【００６８】
このとき、各角度における第１候補文字との距離から９０°方向が正解であると考えられるが、９０°方向の第２候補文字との差が小さいため、この文字の確からしさは小さくなっていた。
【００６９】
従って、本第２の実施形態においては、文字認識部で使用する辞書を作成する段階で類似文字を１つにまとめ、第２候補文字との距離差を大きくすることにより、確からしさを向上させる。
【００７０】
本第２の実施形態で使用される辞書の作成手段を、図１２乃至図１８を参照して説明する。図１８は、辞書作成手順を示すフローチャートである。
【００７１】
まず、図１２に示すようにＡ〜Ｅの文字がある場合、ステップＳ４０１において各文字間の距離を計算する。計算を（４）式を用いて行うと、この結果は例えば図１４のようになる。この演算結果をそれぞれ予め設定した閾値と比較し（ステップＳ４０２）、閾値より小さな値である文字は類似文字として１つにまとめる処理を行い（ステップＳ４０３）、ステップＳ４０４に進む。演算結果が閾値よりも大きい場合にはそのままステップＳ４０４に進み、全ての演算結果と閾値との比較が終了するまでステップＳ４０２〜Ｓ４０４を繰り返す。
【００７２】
図１４の場合、例えば、閾値を５００とすると、距離が４００であるＢとＣ、距離が３５０であるＢとＤ、距離が３５０であるＣとＤ、すなわち、Ｂ〜Ｄの３文字を１つの文字にまとめる。そしてこのまとめた文字の平均ベクトル（特徴ベクトルの平均値）を再度計算し直し、この文字をＦとする（ステップＳ４０５）。このようにすることで辞書中の文字は図１５に示すようにＡ，Ｅ，Ｆの３文字となる。
【００７３】
なお、上記式（４）で演算される距離Ｄの他に、例えば碁盤目の線に沿った２点間の距離を示すシティブロック距離（Σ｜Ｂｋ−Ａｋ｜）等、別の値を用いることも可能である。また、ベクトルを単純平均せずに、距離に応じて重み付けを行うなど、様々な方法が考えられる。
【００７４】
図１１の手順で、図１５に示される辞書を用いて図１２中に示される認識対象文字Ｘ０，Ｘ９０，Ｘ１８０，Ｘ２７０を認識する（図１６に示す）と、図１７のようになる。このように、本第２の実施形態で作成した辞書を用いた場合、第１候補文字と第２候補文字との距離差が大きくなる。
【００７５】
上記の通り第２の実施形態によれば、従来の辞書内の類似文字をまとめることにより、大分類処理で得られる認識対象文字の確からしさが大きくなり、認識する文字数を削減することができるため、高価な高速度処理部を搭載することなく、且つ原稿方向判別の精度を落とさずに、より高速に原稿の方向を判定することが可能となる。
【００７６】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、スキャナ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００７７】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。ここでプログラムコードを記憶する記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、ＲＯＭ、ＲＡＭ、、磁気テープ、不揮発性のメモリカード、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、光ディスク、光磁気ディスク、ＭＯなどが考えられる。
【００７８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７９】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した図１９及び図１１及び／又は図１８に示すフローチャートに対応するプログラムコードが格納されることになる。
【００８０】
本発明の特徴を以下に総括する。
【００８１】
（実施態様１）  原稿画像の方向を判別するために用いる辞書を作成する辞書作成方法であって、辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出工程と、前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較工程と、前記比較工程で類似文字であると判断された複数の文字ごとに１つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化工程と、前記グループの平均特徴ベクトルと、前記比較工程で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成工程とを有することを特徴とする辞書作成方法。
【００８２】
（実施態様２）  入力された原稿画像から文字画像を抽出する抽出工程と、前記抽出された各文字画像について、実施態様１に記載の辞書作成方法で作成された辞書を用いて複数の方向から認識処理を実行する文字認識工程と、前記文字認識結果に基づいて前記原稿画像の方向を判別する判別工程とを有することを特徴とする原稿方向判別方法。
【００８３】
（実施態様３）  前記文字認識工程における複数の方向からの認識処理は、前記抽出された各文字画像の特徴ベクトルを回転させて、前記辞書に登録された特徴ベクトルと比較することにより文字認識処理が実行されることを特徴とする実施態様２に記載の原稿方向判別方法。
【００８４】
（実施態様４）  原稿画像の方向を判別するために用いる辞書を作成する辞書作成装置であって、辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出手段と、前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較手段と、前記比較手段で類似文字であると判断された複数の文字ごとに１つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化手段と、前記グループの平均特徴ベクトルと、前記比較手段で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成手段とを有することを特徴とする辞書作成装置。
【００８５】
（実施態様５）  入力された原稿画像から文字画像を抽出する抽出手段と、前記抽出された各文字画像について、実施態様４に記載の辞書作成装置で作成された辞書を用いて複数の方向から認識処理を実行する文字認識手段と、前記文字認識結果に基づいて前記原稿画像の方向を判別する判別手段とを有することを特徴とする原稿方向判別装置。
【００８６】
（実施態様６）  前記文字認識手段における複数の方向からの認識処理は、前記抽出された各文字画像の特徴ベクトルを回転させて、前記辞書に登録された特徴ベクトルと比較することにより文字認識処理が実行されることを特徴とする実施態様５に記載の原稿方向判別装置。
【００８７】
（実施態様７）  原稿画像の方向を判別するために用いる辞書を作成する辞書作成方法をコンピュータに実行させるためのコンピュータプログラムであって、辞書に登録すべき複数の文字の特徴ベクトル間の類似度を算出する算出工程と、前記算出されたそれぞれの類似度を、所定の閾値と比較することによって、類似文字か否か判断する比較工程と、前記比較工程で類似文字であると判断された複数の文字ごとに１つのグループにまとめて、該まとめられたグループの平均特徴ベクトルを求めるグループ化工程と、前記グループの平均特徴ベクトルと、前記比較工程で類似文字と判断されなかった文字の特徴ベクトルとを用いて、原稿画像の方向を判別するために用いる辞書を作成する辞書作成工程とをコンピュータに実行させるためのプログラムコードを含むことを特徴とするコンピュータ実行可能なコンピュータプログラム。
【００８８】
（実施態様８）  入力された原稿画像から文字画像を抽出する抽出工程と、前記抽出された各文字画像について、実施態様７に記載の辞書作成方法で作成された辞書を用いて複数の方向から認識処理を実行する文字認識工程と、前記文字認識結果に基づいて前記原稿画像の方向を判別する判別工程とをコンピュータに実行させるためのプログラムコードを含むことを特徴とするコンピュータ実行可能なコンピュータプログラム。
【００８９】
（実施態様９）  前記文字認識工程における複数の方向からの認識処理は、前記抽出された各文字画像の特徴ベクトルを回転させて、前記辞書に登録された特徴ベクトルと比較することにより文字認識処理が実行されることを特徴とする実施態様８に記載のコンピュータ実行可能なコンピュータプログラム。
【００９０】
【発明の効果】
以上説明したように、本発明によれば、高価な高速度処理部を搭載することなく、且つ原稿方向判別の精度を落とさずに、より高速に原稿の方向を判定することが可能となる。
【図面の簡単な説明】
【図１】図３に示す画像入出力装置を横から見た場合の外観図である。
【図２】本発明の実施の形態における画像入出力装置の操作部を示す図である。
【図３】本発明の実施の形態における画像入出力装置の全体構成を示すブロック図である。
【図４】本発明の実施の形態におけるスキャナ画像処理部の構成を示すブロック図である。
【図５】本発明の実施の形態におけるプリンタ画像処理部の構成を示すブロック図である。
【図６】本発明の実施の形態における画像圧縮処理部の構成を示すブロック図である。
【図７】本発明の実施の形態における画像回転部の構成を示すブロック図である。
【図８】画像回転処理動作の説明図である。
【図９】画像回転処理動作の説明図である。
【図１０】本発明の実施の形態におけるデバイスＩ／Ｆ部の構成を示すブロック図である。
【図１１】本発明の第１の実施形態における各文字の判別処理を示すフローチャートである。
【図１２】本発明の第１の実施形態における大分類処理を従来の辞書を用いて行った場合の例を示す図である。
【図１３】本発明の第１の実施形態における大分類処理を従来の辞書を用いて行った場合の例を示す図である。
【図１４】本発明の第２の実施形態における辞書の作成方法を説明するための図である。
【図１５】本発明の第２の実施形態における辞書の作成方法を説明するための図である。
【図１６】本発明の第２の実施形態における辞書を用いて行った大分類処理の例を示す図である。
【図１７】本発明の第２の実施形態における辞書を用いて行った大分類処理の結果例を示す図である。
【図１８】本発明の第２の実施形態における辞書作成の手順を示す図である。
【図１９】原稿方向判別の手順を示すフローチャートである。
【図２０】従来の各文字の判別処理を示すフローチャートである。
【図２１】文字の外接矩形の例を示す図である。
【図２２】４×４に分割した図２１に示す外接矩形の例を示す図である。
【図２３】輪郭線量を分割する方向を示す図である。
【図１】
2004287565.tif 000004
【図２】
2004287565.tif 000005
【図３】
2004287565.tif 000006
【図４】
2004287565.tif 000007
【図５】
2004287565.tif 000008
【図６】
2004287565.tif 000009
【図７】
2004287565.tif 000010
【図８】
2004287565.tif 000011
【図９】
2004287565.tif 000012
【図１０】
2004287565.tif 000013
【図１１】
2004287565.tif 000014
【図１２】
2004287565.tif 000015
【図１３】
2004287565.tif 000016
【図１４】
2004287565.tif 000017
【図１５】
2004287565.tif 000018
【図１６】
2004287565.tif 000019
【図１７】
2004287565.tif 000020
【図１８】
2004287565.tif 000021
【図１９】
2004287565.tif 000022
【図２０】
2004287565.tif 000023
【図２１】
2004287565.tif 000024
【図２２】
2004287565.tif 000025
【図２３】
2004287565.tif 000026