(57)【要約】【課題】  少ない情報記憶並びに演算量で迅速に文字方向を識別する。【解決手段】  原稿画像から文字行の行内矩形を抽出する。行内矩形の始点高さ、幅等の配置情報を固定段階に量子化し、量子化された配置情報にシンボルを付与し、行内矩形をｓ１６５、ｓ０２９・・等のシンボル系列に変換する。該シンボル系列に基いて当該文字行のエヌグラムモデルを作成する。基準文書画像から文字方向（縦書き、横書き）及びその回転方向（0度、90度・・等）別に作成したエヌグラムモデルと前記作成したエヌグラムモデルとの比較により文字行毎の行内矩形の並び傾向（出現確率）を算出する。算出された並び傾向を文字方向及び回転方向別に集計し文字方向を判断する。【選択図】  図１０
2006031546.tif 000002
【特許請求の範囲】
【請求項１】
文字行の行内矩形の配置情報に基いて文書画像の文字方向を識別する装置において、
前記行内矩形の配置情報を固定段階に量子化する手段と、
前記量子化された配置情報にシンボルを付与して行内矩形のシンボル系列を作成する手段と、
該シンボル系列から当該文字行のエヌグラムモデルを作成する手段と、
基準文書画像から作成した所定文字方向毎の文字行のエヌグラムモデルを記憶する手段と、
作成したエヌグラムモデルと記憶したエヌグラムモデルとに基いて行内矩形のシンボルの並び傾向を算出する手段と、
前記算出された並び傾向に基いて文字方向を判断する手段と、
を備えたことを特徴とする文字方向識別装置。
【請求項２】
請求項１記載の文字方向識別装置において、
前記行内矩形の配置情報を固定段階に量子化する手段は、複数の配置情報をそれぞれ、又は複数の配置情報の任意の組合せを１つのパラメータで固定段階に量子化することを特徴とする文字方向識別装置。
【請求項３】
請求項２記載の文字方向識別装置において、
前記行内矩形の配置情報は、行内矩形の文字行内における始点の高さ、及び行内矩形の高さ、及び行内矩形の幅、及び行内矩形内の黒画素密度、及び隣接する行内矩形との距離であることを特徴とする文字方向識別装置。
【請求項４】
請求項１乃至３のいずれかに記載の文字方向識別装置を備えた文書処理装置。
【請求項５】
文書処理装置のコンピュータを、
行内矩形の配置情報を固定段階に量子化する手段、
前記量子化された配置情報の行内矩形にシンボルを付与する手段、
付与されたシンボルに基いて当該文字行のエヌグラムモデルを作成する手段、
基準文書画像から作成した文字行のエヌグラムモデルを記憶させる手段、
作成したエヌグラムモデルと記憶したエヌグラムモデルを比較する手段、
前記比較により行内矩形の並び傾向を算出する手段、
前記算出された並び傾向に基いて文字方向を判断する手段、
として機能させるためのプログラム。
【請求項６】
請求項５記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、行内矩形の配置情報の並び傾向に基いて文書画像の文字方向を識別する装置、該識別装置を有する文書処理装置及びプログラム並びに記憶媒体に関する。
【背景技術】
【０００２】
デジタル複写機及びスキャナ等の文書処理装置においては、原稿読取り時の主走査・副走査方向が原稿台上で固定されており、原稿台への原稿の載置方向により文書処理装置に入力される原稿の方向が決定される。このため原稿入力時に原稿の方向を誤って入力した場合、原稿を正しい方向にセットし直して再度入力を行うか、或いは文書処理装置の画像編集機能を用いて入力画像を正しい向きへ回転させることが行われている。このためユーザーは常に原稿の載置方向を意識して入力作業を行わなければならないという煩わしさがあった。この煩わしさから開放され、原稿の載置方向を意識しなくてもよいようにする発明として、入力回路で画像情報を入力し、入力した画像情報を画像メモリに記憶し、記憶した画像情報から文字切出回路により文字を切り出す。そして文字認識装置でその切り出した領域の文字の向きを検出し、文字が正立していると検出された時以外は、画像処理回路が画像メモリに記憶された画像情報を正立する向きに回転させる発明が公知である（特許文献１参照）。
【０００３】
【特許文献１】実開平５−１２９６０号公報（実願平３−５９７８５号明細書）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前記公知の発明は、文字認識装置（ＯＣＲ）を使用することが前提となっており、ＯＣＲは原稿で使用される文字を予め知ることはできないので、ＯＣＲを使用して文字方向を検出しようとすると、認識対象文字の全てを含む認識辞書を用意し、その全ての文字特徴と認識対象文字とを照合し、最も近い文字を選択しなくてはならない。しかも文字方向の可能性だけ、例えば０度、９０度、１８０度、２７０度回転であれば４回、照合処理、文字選択処理を繰返す必要がある。このため多くの記憶容量と多大な演算量を要する。このために文字方向検出に多大の時間がかかることになる。
【０００５】
そこで、本発明は、少ない情報記憶並びに少ない演算量で迅速に文字方向を識別するようにすることを発明の目的とする。
【課題を解決するための手段】
【０００６】
請求項１の発明は、文字行の行内矩形の配置情報に基いて文書画像の文字方向を識別する装置において、前記行内矩形の配置情報を固定段階に量子化する手段と、前記量子化された配置情報にシンボルを付与して行内矩形のシンボル系列を作成する手段と、該シンボル系列から当該文字行のエヌグラムモデルを作成する手段と、基準文書画像から作成した所定文字方向毎の文字行のエヌグラムモデルを記憶する手段と、作成したエヌグラムモデルと記憶したエヌグラムモデルとに基いて行内矩形のシンボルの並び傾向を算出する手段と、前記算出された並び傾向に基いて文字方向を判断する手段と、を備えたことを特徴とする文字方向識別装置である。
請求項２の発明は、請求項１記載の文字方向識別装置において、前記行内矩形の配置情報を固定段階に量子化する手段は、複数の配置情報をそれぞれ、又は複数の配置情報の任意の組合せを１つのパラメータで固定段階に量子化することを特徴とする文字方向識別装置である。
請求項３の発明は、請求項２記載の文字方向識別装置において、前記行内矩形の配置情報は、行内矩形の文字行内における始点の高さ、及び行内矩形の高さ、及び行内矩形の幅、及び行内矩形内の黒画素密度、及び隣接する行内矩形との距離であることを特徴とする文字方向識別装置である。
請求項４の発明は、請求項１乃至３のいずれかに記載の文字方向識別装置を備えた文書処理装置である。
請求項５の発明は、文書処理装置のコンピュータを、行内矩形の配置情報を固定段階に量子化する手段、前記量子化された配置情報の行内矩形にシンボルを付与する手段、付与されたシンボルに基いて当該文字行のエヌグラムモデルを作成する手段、基準文書画像から作成した文字行のエヌグラムモデルを記憶させる手段、作成したエヌグラムモデルと記憶したエヌグラムモデルを比較する手段、前記比較により行内矩形の並び傾向を算出する手段、前記算出された並び傾向に基いて文字方向を判断する手段、として機能させるためのプログラムである。
請求項６の発明は、請求項５記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【０００７】
本発明によれば、少ない記憶容量及び演算量で迅速に文字方向を識別することができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施形態に係る文字方向識別装置を説明する。
はじめに、本発明の文字方向識別手法の基本的概念を説明する。本発明では、行切り出しを行い、切り出し処理で既に求めている行内矩形の結果を用いて、行内矩形の始点の高さ、矩形サイズ(高さ、幅)、黒画素密度、隣接矩形との距離など配置に関する情報を量子化し、シンボルに変換した後、それらの並びの傾向を、文字方向毎に用意された訓練用データから、文字方向別に学習し、記録し、文字方向識別対象行に対して、文字方向別に学習した傾向を適用することによって、当該行の文字方向別の出現しやすさを評価し、文字方向を判定するものである。
【０００９】
次に、本発明の実施形態に係る文字方向識別装置を具体的に説明する。なお、本実施形態では日本語、英語の原稿の文字方向を識別する例について説明するが、特にこれらの言語に限定されるものではない。
図１は、本発明の実施形態に係る文字方向識別装置の要部構成図であり、図中、１００は文字方向識別装置、１は該文字方向識別装置を制御するＣＰＵ、２はＣＰＵ１を起動するためのプログラムが記憶されるＲＯＭ、３は不図示のスキャナにより読み取られた原稿画像又はパソコンで作成された原稿画像又は通信回線を通して送信された原稿画像を記憶するハードディスク形のメモリ、４は文字方向識別処理をするためにハードディスクメモリに記憶された原稿画像等を一時的に読み出して展開するＲＡＭ、５は基準となる言語毎の訓練用データについて求めた配置情報のトリグラム表を記憶する不揮発性メモリ（NVRAM）、６はオペレータが各種入力を行うキーボード、７は入力状況等を表示する表示装置、８はCD-ROM等に記憶された本発明を実行するためのプログラム等を入力するドライバ、９はインターネット、ＬＡＮ等の電気通信回線を介して原稿画像を送受信する通信装置である。
【００１０】
図２は、入力された原稿画像の行切出しを説明する図である。
いま、オペレータは、キーボード６から文字方向識別の指示を入力すると、ＣＰＵ１は、不図示のスキャナから入力された文字方向識別用文書の原稿画像（図２（Ａ））について、黒画素の連結成分を求め、それと外接する矩形11,12,13・・・を求める（図２（Ｂ））。求めた外接矩形を、近隣同士を連結して文字行２０に成長させる（図２（Ｃ））。外接矩形の成長を水平方向及び垂直方向の両方で実施すれば、水平行と垂直行の両方が切り出される。この時点では文字方向は不明であるので、切り出された文字行の外接矩形（以下、行内矩形）に対して文字方向識別処理を行い、文字方向を識別する。行内矩形の作成処理及び文字行の切出し処理自体は、公知の手法を使えばよいので詳細説明は省略する。
【００１１】
図３は、日本語の原稿画像について水平行及び垂直行切出しを行った場合の文字方向配置の可能性を示す図であり、未知の水平行に対し、横書きか縦書きかにより、横書き０度回転、横書き１８０度回転、縦書き９０度回転、縦書き２７０度回転の４種類の可能性のある配置例（図３（Ａ））、また未知の垂直行に対し、同様に横書き９０度回転、横書き２７０度回転、縦書き０度回転、縦書き１８０度回転の４種類の可能性のある配置例（図３（Ｂ））を示す。なお、回転角度は正立位置から時計回りを基準にする。
【００１２】
図４は、文字行内における行内矩形の配置情報の説明図であり、図中、図４（Ａ）は行内矩形の位置を設定するための座標を示す図、図４（Ｂ）は、英語の行内矩形を示す図、図４（Ｃ）は、日本語の行内矩形を示す図である。
【００１３】
図４（Ａ）において、行内矩形は、矩形の左上端（座標：Ｘs、Ｙs）を始点とし、矩形の右下端（座標：Ｘe、Ｙe）を終点として、行内における矩形の配置位置を規定する。
【００１４】
図４（Ｂ）において、英語は、大文字Ｗと小文字ｈ、ｙ等からなる。欧米系文字は、英語のアポストロフィ、仏語のアクサンテギュ、及び独語のウムラウト等の記号類が存在する場合も大文字及び小文字からなることになるので、行内矩形の始点の高さは、行の上端の位置ａと上端から所定距離下に下りた位置ｂの２カ所に集中する。また欧米系文字の場合、行内矩形の矩形サイズは数種類に限られる。
【００１５】
図４（Ｃ）において、日本語は、漢字、カタカナ、ひらがなが混在する。一般にアジア系文字は、韓国語の場合はハングルが混在するなど、文字構造が欧米系文字に比べて複雑であり、行内矩形の始点の高さは、欧米系文字のように２カ所への明確な集中はない。また行内矩形の矩形サイズは、欧米系文字の場合よりはるかに多くなる。
【００１６】
更に、アジア系文字の構造は、欧米系文字の構造より複雑であるため、その行内矩形の黒画素密度は、欧米系文字の行内矩形の黒画素密度より明らかに高い。更にまた、アジア系文字（日本語、中国語）は、単語間に空白が挿入されないが、欧米系文字は、単語間に空白が挿入される。
【００１７】
以上のような欧米系文字とアジア系文字の特徴の違いにより、欧米系文字とアジア系文字とで、ア）行内矩形の始点の高さ、イ）矩形サイズの高さ、ウ）矩形サイズの幅、エ）行内矩形の黒画素密度、オ）空白の有無等の配置情報が異ることになる。従って、この配置情報の違いを利用することにより、欧米系文字とアジア系文字等色々な種類の言語の原稿について文字方向の識別が可能になる。
【００１８】
本発明の文字方向識別手法では、まず、ＣＰＵ１は、前記切出した行内矩形の配置情報を固定段階に量子化し、これにラベル付けして行内矩形をシンボル系列に変換する。
【００１９】
図５は、行内矩形の配置情報を固定段階に量子化するための説明図であり、図中、行内矩形２１は、行高さＨの行内に、始点座標（Ｘs、Ｙs）、終点座標（Ｘe、Ye）で設定され、従って行内矩形始点高さＹs、行内矩形の幅Ｗ、行内矩形の高さｈ、の矩形として存在する。この矩形の行内における配置情報は、始点座標、高さ、幅の３成分（パラメータ）で表現でき、３次元ベクトルとみなすことができる。つまり、行内矩形の時系列情報（左から右へ並ぶ順序）は、この３次元ベクトルの系列として扱えるので、各次元の値を固定段階に量子化することにより、ベクトルのバラエティを有限個に制限することができる。
【００２０】
そこで、始点高さYsを固定段階に量子化するために、原稿を特定しない状況下では、行高さは可変であるので、行高さに依存しないように、YsRate＝Ys／Hのように正規化する。ここで、０<YsRate≦１であるから、YsRateを固定段階に量子化するには、例えば、Ｎ段階に量子化する場合、ＹsYal＝INT（YsRate＊（N-1））、ただしINT（）：小数点以下切捨て、とする。よって、各段階に、０〜（N-1）のＩＤラベルを付与することによりシンボル化する。このＩＤラベルの付与により、行内矩形の時系列情報は、離散的なＩＤの並び、即ちシンボル系列に変換される。
【００２１】
図６は、英語文字及び日本語文字を行内矩形の始点高さに基いてシンボル系列に変換する例を示す図であり、図中、英語文字ｗ、ｈ、ｙ、ｔ、ｗ、・・・には、量子化された始点高さによって、それぞれs021、s124、s032、s048、s012・・・のようなＩＤラベルを付与し、また日本語文字ソ、フ、ト、の、「、・・・には、それぞれs243、s086、s045、s189、s211・・・のようなＩＤラベルを付与する。
【００２２】
上記のシンボル系列変換を行うとき、原稿が傾いてスキャンされると、文字行が傾いてしまい、極端な場合は、行切出しを失敗してしまうことになるが、少々の傾きであれば、行間の空白部を利用して行切出しを行うことはできる。しかし、シンボル系列への変換は、行内矩形の始点高さＹsに注目するので、行内矩形の傾きはシンボル化に影響する。そこで、この傾きの影響を受けないようにする。
【００２３】
図７は、文字行の傾きの影響を排除する処理の説明図であり、図中、破線ｅは、切り出された文字行30の元のベースラインを示し、行内矩形31,32・・・の始点までの距離は、行高さに対して万遍なく分布することになり、英語文字の特徴である始点の高さの２カ所への集中がなくなってしまう。そこで、新ベースライン（破線）ｄを定め、このベースラインｄから行内矩形31,32・・・の始点高さを求める。ベースラインｄを求めるには、行内矩形の終点と文字行（矩形）の終点を結ぶ直線を求めるが、より具体的には、行内矩形の終点座標の分布に基く回帰直線から求める。回帰直線自体は、公知の手法により求めることができる。
【００２４】
このように、行内矩形はシンボル系列に変換されるので、シンボル系列の並び傾向を求めることができれば、行内矩形の配置情報の並び傾向を求めることと等価になる。
【００２５】
本発明では、トリグラムモデルを作成して行内矩形の配置情報の並び傾向を求める。
並び傾向を求める手法として、情報理論学者クロード・エルウッド・シャノン（Claude Elwood Shannon 1916-2001）が提唱したエヌグラム（N-gram）モデルを使用する。エヌグラムモデルは、「ある言語単位の系列の中で、言語単位のＮ個の並びの組み合わせが、どの程度出現するか」を求めるモデルである。
【００２６】
図８は、エヌグラムモデルを数学的に定義する式を示し、言語単位の系列Ｗ1、Ｗ2、Ｗ3、・・・Ｗnの生起確率Ｐ（Ｗ）の同時確率は、各生起確率の条件付き確率の積に分解される。しかし、全ての言語単位系列の組み合わせに対して、条件付き確率Ｐ（Ｗi｜Ｗ1、Ｗ2、Ｗ・・・Ｗi-2、Ｗi-1）を推定することは現実的には不可能である（なぜなら言語現象は固定ではなく、入れ子構造を持ち、無限に生成不可能である）ので、これをN-1重マルコフ過程（一般に、ある事象の確率が直前のN-1個の事象だけに依存するとき、これをN-1重マルコフ過程と呼んでいる）で近似することが行われる。Ｎの値が大きいほど、広い範囲の系列の特徴を表現できるが、系列の組み合わせのバラエティが指数関数的に増大するので、実用的に扱いにくくなる。そこで実際には、Ｎ＝３を使用することが多く、この場合をトリグラム（trigram）と呼んでいる。トリグラム（Ｎ＝３）とすることにより、図８の1.1式及び1.2式により生起確率を求めることができる。
【００２７】
本発明では、図３で説明した水平行及び垂直行切出しを行った場合の縦書き、横書き各４種類の文字方向配置を訓練用データとしてトリグラムモデルの作成を行う。つまり図８の1.1式Ｐ（Ｗi｜Ｗi-2、Ｗi-1）により、訓練データ毎に２つの連続する配置情報の後に所定の配置情報が現れる確率を算出する。この確率を３連続の配置情報と対応させてトリグラムモデルとする。
【００２８】
このトリグラムモデルをトリグラム表として記憶する。このトリグラムモデルが当該言語の文字方向（縦書き、0度、90度、180度、270度、横書き、0度、90度、180度、270度）において生起する確率を演算し、出現確率を各文字方向ごとに集計し、集計結果から当該方向の最大出現確率を求め、最大出現確率によって文字方向識別を行う。
【００２９】
図９は、訓練用データについて求めたトリグラムモデルの例を示す。図９において、トリグラムモデル［s013，s045，s032］では、s013，s045の後ろにs032が出現する確率は、１回中１回（1.00000（1/1））であり、トリグラムモデル［s013，s064，s033］では、s013，s064の後ろにs033が出現する確率は、４回中３回（0.75000（3/4））、以下、当該２つのシンボルの後に所定のシンボルが出現する確率を算出する。そして、出現確率の演算が高速で行えるように、確率値の対数をマイナス１０００（-1000）倍して整数にする。このトリグラムモデルを縦書き、横書きをそれぞれ0度、90度、180度、270度回転した各訓練用データについて作成し、トリグラム表として、不揮発性メモリ５に記憶する。
【００３０】
図１０は、本実施形態係る文字方向識別処理の流れを示す図である。図１０の矢印に従って説明すると、原稿画像の行内矩形をシンボルに変換し、シンボル系列s165、s029、s032・・・を作成する。一方、縦書き及び横書きのそれぞれ０度、９０度、１８０度、２７０度回転した訓練用データについて、それぞれトリグラム表を作成し記憶しておく。原稿画像のシンボル系列と記憶しているトリグラム表により、訓練用データごとに、シンボル系列s165、s029、s032・・・について生起確率演算を行い、当該シンボルの最大出現確率を求める。これを各文字行について行う。図１０の例では、横書き０度回転が２３０９８として最大出現確率が求められる。
【００３１】
続いて、文字行ごとの結果を１枚の原稿全体で集計し、縦書き０度方向の行数１０、縦書き９０度の方向の行数５、縦書き１８０度の行数１１・・・横書き０度の行数６８・・・のように求める。そして単純多数決により、本原稿の場合、文字方向は横書き０度の方向であると決定する。
【００３２】
図１１は、本発明の実施形態に係る文字方向識別処理のフロー図である。フロー図を参照して処理の工程を説明する。キーボード４から文字方向識別の指示が入力されると、ＣＰＵ１は、不図示のスキャナから原稿画像を入力させ（S1）、黒画素の連結成分を求め、それと外接する矩形を求め、この外接矩形（行内矩形）を、近隣同士を連結して文字行に成長させる（S2）。そして、この文字行を切出し（S3）、文字行について文字方向判定（識別）の処理を行う（S4）。なお、文字方向判定処理の詳細は、ステップＳ４１〜４４で述べる。次いで文字行ごとの配置情報の出現結果を1枚の原稿全体で集計し（S5）、多数決により原稿の文字方向を判定する（S6）。
【００３３】
前記文字方向判定工程（ステップＳ４）即ち１行ごとの文字方向識別工程を詳細に説明する。
【００３４】
文字行の切出しが行われると、ＣＰＵ１は、スキュー行であったり、行内矩形が小さなものばかりで構成されているときの対策のため、行内矩形の高さを集計し、その最大高さにより行高さを推定する。このために、それぞれの行内矩形高さｈを所定倍し、実際の行高さＨ（図５）と比較する。算出式で示せば、各行内矩形について、行内矩形高さｈ×Ａ（例えば、1.2） > 実際の行高さＨか否かをチェックし、行内矩形高さの最大高さｈsを1.2倍した値が実際の行高さＨより大であるとき、行内矩形高さの最大高さｈsを行高さＨとみなす（S41）。
【００３５】
続いて、文字行のベースラインを決める。このために、行内矩形の終点高さYeの回帰直線を求める。このとき、終点高さYeの位置は、文字行の半分以下のものに限定する。求めた回帰直線を文字行のベースラインとする（S42）。
【００３６】
そして、行内矩形の始点Ysにより行内矩形を整列する（S43）。整列した行内矩形の配置情報を量子化し行内矩形をシンボル系列に変換する（S44）。シンボル系列から可能性のある文字方向別に出現確率を算出する（S45）。
【００３７】
他の実施形態として、行内矩形をシンボル系列に変換するとき、前述の行内矩形の始点高さを使用する代りに、行内矩形の高さを使用してもよい。このときは、HeightRate＝ｈ／Ｈ、HeightVal＝INT（（HeightRate＊（N-1））+0.5）、但し、INT（）は小数点以下切捨て、として、０〜(N-1)段階にＩＤ付与（ラベル付け）する。ＩＤ付与後の方向識別処理は、既に述べた識別処理と同じである。
【００３８】
また行内矩形のシンボル系列への変換は、行内矩形の幅Ｗを使用してもよい。このときは、WidthRate＝ｗ／Ｈ、WidthVal＝INT（（WidthRate＊（N-1））+0.5）、但し、INT（）は小数点以下切捨て、として、０〜(N-1)段階にＩＤ付与（ラベル付け）する。
【００３９】
更に、黒画素密度を使用してもよい。欧米系文字は、構造が単純であるため、行内矩形の黒画素密度は低く、逆にアジア系文字は、構造が複雑であるので、行内矩形の黒画素密度は高い。このことから行内矩形の黒画素密度を文字方向識別の基準として使用することができる。よって、黒画素密度＝行内矩形の黒画素数／行内矩形の総画素数、として前記と同様０〜(N-1)段階にＩＤ付与（ラベル付け）する。
【００４０】
欧米系文字行とアジア系文字行における行内矩形の配置状況の違いは、隣接矩形との距離の差にもある。即ち、欧米系文字行では、隣接矩形との距離は正値である場合が多く、矩形同士が重複することは少ない。一方、アジア系文字行においては、隣接矩形と重複する場合が頻繁に生じる。また、欧米系文字行では、英文字のｉ、ｊのように、矩形の垂直上に１つの点が存在する文字、独文字のウムラウトのように、矩形の上に２つの点が存在する文字、西語文字のＮ+（エニェ）のように、矩形上に細長い長方形が存在するもの、など言語ごとに隣接矩形との距離に関して特徴的な文字が存在する。そこで、この隣接矩形との距離を文字方向識別の基準として使用する。
【００４１】
図１２は、隣接矩形間距離に基いて行内矩形をシンボル系列変換する例を説明する図である。図１２において、行高さＨの文字行４０内に存在する行内矩形４３は、始点（X1s、Y1s）、終点（X1e、Y1e）により規定される矩形であり、行内矩形４５は、始点（X2s、Y2s）、終点（X2e、Y2e）により規定される矩形である。矩形４３と４５とは、距離ｄだけ離れている。つまり、矩形４３と４５は正値の距離ｄを有する。よって、RightDistanceRate＝ｄ／Ｈ、RightDistanceVal＝INT（（RightDistanceRate＊（N-1））+0.5）、但し、INT（）は小数点以下切捨て、として、距離ｄの空白部を０〜(N-1)段階にＩＤ付与（ラベル付け）する。
【００４２】
なお、距離ｄが負値となるときは、矩形４３と４５が水平方向に重複しているので、重複していない場合と明確に区別するために、別のラベルを設定してもよい。
【００４３】
図１３は、矩形間距離によりシンボル化される文字行を示す図であり、図中、４４は、行内矩形４３と４５との間の、距離ｄの空白部であり、この空白部４４に対してsSPCというＩＤラベルを付与する。
【００４４】
以上、行内矩形の始点の高さ（Ｙs／Ｈ）、行内矩形の高さ（ｈ／Ｈ）、行内矩形の幅（Ｗ／Ｈ）、黒画素密度、行内矩形間の空白部、をそれぞれ使用してシンボル系列変換することを述べたが、複数の配置情報のベクトルを独立してシンボル系列変換するよりも、まとめてシンボル系列変換する方が、各ベクトルが関連し合って、言語独特の行内矩形の配置情報を表現するシンボル系列変換が行える。
【００４５】
そこで、行内矩形の始点の高さ（Ｙs／Ｈ）、行内矩形の高さ（ｈ／Ｈ）、行内矩形の幅（Ｗ／Ｈ）の３つをベクトル（３次元ベクトル）として、
行内矩形の始点の高さ（Ｙs／Ｈ）  →１５段階、
行内矩形の高さ（ｈ／Ｈ）    →８段階、
行内矩形の幅（Ｗ／Ｈ）、    →２段階
のようにシンボル系列変換する。そして、
行内矩形の始点の高さ（Ｙs／Ｈ）  １５段階  →４bits、
行内矩形の高さ（ｈ／Ｈ）  ８段階      →３bits、
行内矩形の幅（Ｗ／Ｈ）  ２段階      →１bit
で処理する。４bits＋３bits＋１bit＝８bitsであるから、１byteの各ビットに全情報を格納することができる。
【００４６】
図１４は、行内矩形の配置情報のデータ構造を示す図であり、図中、行内矩形の配置情報は、１配置情報（８ビット）を、４ビットの始点高さエリア及び３ビットの矩形高さエリア及び１ビットの矩形幅エリアで構成する。このような構成にすることにより、３つのベクトルから系列変換されるシンボルは、１５段階×８段階×２段階＝２４０種となる。なお、まとめる情報の種類及びその格納のための記憶エリア、記憶サイズは固定ではなく、文字方向識別対象である言語集合を分類するのに好適な情報を適宜選択し決定することは言うまでもない。
【００４７】
行内矩形の配置に関する複数の情報を多次元ベクトルの各次元とみなせば、行内矩形はその配置情報を用いて１つのベクトルデータに変換できる。ベクトル量子化は、ベクトルデータの多数のバラエティからそれらを代表する少数のベクトルデータを求めることであり、求められた代表ベクトルに順にラベル付けすれば、ベクトルデータの系列を単なる一次元のシンボルデータの系列に変換することができる。
【００４８】
シンボル系列に変換することができれば、その並び傾向は前記したようにトリグラム表を用いて学習することができる。前記３次元ベクトルの例では、訓練用データから行内矩形の配置情報に関する３次元のベクトルデータを求め、それらを240種の代表ベクトルを求める。この代表ベクトル群をコードブックと呼ぶ。コードブック中の240種のベクトルを区別する識別情報（ＩＤ）が、つまりシンボルである。識別対象の文字行データにおける行内矩形の配置情報を３次元ベクトルに変換し、コードブック内のベクトルと最も類似するベクトルを選び、その識別情報（ＩＤ）を当該矩形のシンボルとすることができる。
【００４９】
前記したように文字行内における空白の存在情報も空白部の左右に隣接する文字の傾向に関連して当該行の文字方向を特徴づける。行内における空白の存在は、行内矩形の隣接矩形との距離を行高さと比較することによって可能である。
【００５０】
図１２に戻り、行高さＨの文字行中の行内矩形４１と４２との間には距離ａの空白部があり、行内矩形４３と４５との間には距離ｂの空白部４４、行内矩形４６と４８との間には距離ｃの空白部４７があるとする。ＣＰＵ１は、これらの距離ａ，ｂ，ｃと行高さＨとの比と、所定のしきい値とを比較し、ａ／Ｈ < しきい値（例えば、0.25）のとき空白部なし、ｂ／Ｈ > しきい値（0.25）のとき空白部あり、ｃ/Ｈ> しきい値（0.25）のとき空白部あり、と判断する。空白部４４にラベルsSPCを付与することは既に述べたとおりである。３次元ベクトルの場合、シンボルの種類は２４０種であるが、記憶サイズは1バイトであるので、１６種類（＝256-240）のシンボルを更に設定することができる。空白部用のシンボルsSPCは、この１６種類のいずれかに対応させる。
【００５１】
行切り出しされた一行に含まれる行内矩形が正方形ばかりであれば、上下左右に関して対称であり、本方式では区別することができない。そのような場合、上位１位と上位２位の解の評価値の差は僅差であり、どちらかを選択する証拠とするには不確かである。よって、そのような場合は判定不可能行として扱い、他の行の、より確かな解に基いて判定した方が、原稿毎の識別精度が高くなることは明らかである。もちろん、原稿中の一定数を越える行が、文字方向判定不可能行となった場合には、当該原稿の文字方向判定は不可能であるとすることは言うまでもない。実現方法として、１位と２位の差にしきい値を設けておき、それを下回る差の場合には、判定不可能とすればよい。原稿全体に関しても、全行数に対する判定不可能行の割合に、しきい値を設けておく。
【００５２】
同一文字方向の、複数の行を含む、ある範囲の文字方向を、１行ごとの文字判定結果の多数決で決定することにおいて、上位２つの解の行数が僅差になった場合、行数の多い方を選択すると誤ることが少なくない。なぜなら、行の長さが長いほど、行内矩形が多いほど、上下左右に非対称な文字が含まれる可能性が高くなり、文字方向判定の証拠が多くなる傾向がある。つまり、行内矩形の数が多い行の文字方向判定結果は正しい可能性が高い。行数のみで比較した場合、行毎の解の確からしさはまったく考慮されていない。よって、上位２つの解の評価値が僅差である場合、各解の平均矩形数を求め、それが多い方の解を選択すれば、行毎の確からしさを考慮したことになる。
【００５３】
行切り出し処理では、水平方向に接近している矩形をまとめて水平行、垂直方向に接近している矩形をまとめて垂直行を作成する。行間が狭く、文字間距離より、わずかに広い程度である場合、正しくは水平行であるのに誤って垂直方向に矩形をまとめてしまう恐れがある。垂直行の場合でも同様の誤りは起こり得る。上位２つの解の評価値の差が僅差である場合であっても、行切り出し方向が異なっていれば（例えば１位の解は水平行で２位の解が垂直行）、いずれかは、文字方向の評価値を算出する以前の、行切り出し結果の時点で誤っている可能性が高い。行としてまとめた範囲が誤っている場合には、その行の平均矩形数は、特に有効な意味を持たない。しかし、正しく切り出された行ほど、１行あたりの平均行内矩形数は多くなる傾向があるから、１位と２位の解の、平均矩形数との差が、著しく大きい場合に限っては、平均矩形数の多い解を選択した方が、正しい解である確率が高い。よって、上位２つの解の評価値の差が僅差であり、行切り出し方向が異っている場合には、１行あたりの平均矩形数の差に関するしきい値を大きくすることができる。
【００５４】
以上述べた文字方向識別手法を実行させるために、前記処理手順を汎用のプログラム言語によりコンピュータプログラムとして記述し、かつ、このプログラムをフレキシブルディスク、CD−ROM、DVD-ROM、MO等の任意の記録媒体に記録し、これを文書処理装置のコンピュータに読み取らせることで本発明に係る文字方向識別手法を容易に実施することができる。本プログラムは、図１５のインターネット、イントラネット等のネットワークを介して、文書処理装置２００，３００のコンピュータに直接読み取らせることも可能である。
【産業上の利用可能性】
【００５５】
以上のように本発明に係る文字方向識別装置は、画像形成装置やスキャナ装置等の文書処理装置において有用であり、特に大きな記憶容量を備えていない文書処理装置に用いるのに適している。
【図面の簡単な説明】
【００５６】
【図１】本発明の実施形態に係る文字方向識別装置の要部構成図である。
【図２】入力された原稿画像の行切出しを説明する図である。
【図３】日本語の原稿画像について水平行及び垂直行切出しを行った場合の文字方向配置の可能性を示す図である。
【図４】文字行内における行内矩形の配置情報の説明図である。
【図５】行内矩形の配置情報のパラメータを固定段階に量子化するための説明図である。
【図６】英語文字及び日本語文字を行内矩形の始点高さに基いてシンボル系列に変換する例を示す図である。
【図７】文字行の傾きの影響を排除する処理の説明図である。
【図８】公知のエヌグラムモデルを数学的に定義する式を示す。
【図９】訓練用データに基いて求めたトリグラムモデルの例を示す。
【図１０】本実施形態に係る文字方向識別処理の流れを示す図である。
【図１１】本発明の実施形態に係る文字方向識別処理のフロー図である。
【図１２】隣接矩形間距離に基いて行内矩形をシンボル系列変換する例を説明する図である。
【図１３】矩形間距離によりシンボル化される文字行を示す図である。
【図１４】行内矩形の配置情報のデータ構造を示す図である。
【図１５】本発明の実施形態に係る文字方向識別装置が接続されるネットワーク構成を示す図である。
【符号の説明】
【００５７】
１・・・ＣＰＵ、２・・・ＲＯＭ、３・・・ハードディスク形のメモリ、４・・・ＲＡＭ、５・・・不揮発性メモリ６・・・キーボード、７・・・ドライバ、８・・・表示装置、９・・・通信装置。
【図１】
2006031546.tif 000003
【図２】
2006031546.tif 000004
【図３】
2006031546.tif 000005
【図４】
2006031546.tif 000006
【図５】
2006031546.tif 000007
【図６】
2006031546.tif 000008
【図７】
2006031546.tif 000009
【図８】
2006031546.tif 000010
【図９】
2006031546.tif 000011
【図１０】
2006031546.tif 000012
【図１１】
2006031546.tif 000013
【図１２】
2006031546.tif 000014
【図１３】
2006031546.tif 000015
【図１４】
2006031546.tif 000016
【図１５】
2006031546.tif 000017