(57)【要約】【課題】計算負荷、記憶容量の増大を招くことなく、高速に文字方向識別処理を実現できる文字方向識別装置を提供する。【解決手段】文書画像の文字行における行内矩形の配置情報を表す特徴（例えば、始点の高さ、矩形サイズ（高さ、幅）、黒画素密度、隣接矩形との距離など）を量子化し、シンボルに変換した後、それらの並びの傾向を、文書画像が正立方向である場合の訓練行における行内矩形の配置情報を表す特徴から学習して記録する。そして、文字方向識別対象行である試験行の行内矩形に対して、回転変換処理を順次実施した結果に対して、先の学習した正立方向の学習傾向を適用することによって、当該行の文字方向別の出現しやすさを評価し、文字方向を判定する。これにより、文字方向識別対象行の文字方向を行内矩形の配置情報によって分類するので、計算負荷、記憶容量の増大を招くことなく、高速に文字方向識別処理を実現できる。【選択図】        図１２
2006260274.tif 000002
【特許請求の範囲】
【請求項１】
文書画像から文字行を切り出す文字行切出し手段と、
この文字行切出し手段により切り出された前記文書画像の文字行における行内矩形の配置情報を表す特徴を固定段階に量子化する量子化手段と、
この量子化手段により量子化された前記行内矩形の配置情報を表す特徴にシンボルを付与して行内矩形のシンボル系列を作成するシンボル系列作成手段と、
前記量子化手段及び前記シンボル系列作成手段により前記文書画像が正立方向である場合の訓練行における前記行内矩形の配置情報を表す特徴をシンボル系列に変換し、その傾向を学習する訓練行学習手段と、
文字方向識別対象行である試験行の行内矩形に対して所定の角度で順次回転変換処理を実施する回転変換手段と、
この回転変換手段により順次回転変換処理された試験行における前記行内矩形の配置情報を表す特徴を、前記量子化手段及び前記シンボル系列作成手段によりシンボル系列に変換し、前記訓練行学習手段による訓練行の学習結果を用いて、試験行の評価値を算出する評価値算出手段と、
この評価値算出手段により算出された試験行の評価値に基づいて文書画像の文字方向を判定する文字方向判定手段と、
を備えることを特徴とする文字方向識別装置。
【請求項２】
前記訓練行学習手段は、訓練行における前記行内矩形の配置情報を、水平行および垂直行別にシンボル系列に変換し、その傾向を学習する、
ことを特徴とする請求項１記載の文字方向識別装置。
【請求項３】
前記回転変換手段における試験行の回転角度が、０度、９０度、１８０度、２７０度である、
ことを特徴とする請求項１記載の文字方向識別装置。
【請求項４】
前記回転変換手段における試験行の回転処理機能としては９０度だけを備え、１８０度、２７０度は、９０度回転の繰り返しによって実現する、
ことを特徴とする請求項１記載の文字方向識別装置。
【請求項５】
前記量子化手段及び前記シンボル系列作成手段は、試験行の圧縮画像に対して処理を実施する、
ことを特徴とする請求項１記載の文字方向識別装置。
【請求項６】
前記回転変換手段には、試験行の矩形座標の鏡像変換を含む、
ことを特徴とする請求項１記載の文字方向識別装置。
【請求項７】
前記回転変換手段は、回転変換について全方向を仮定する必要がない場合には、回転変換の可能性を限定する、
ことを特徴とする請求項１記載の文字方向識別装置。
【請求項８】
画像を用紙上に印刷する画像形成装置において、
文書原稿を読み取る画像読取手段と、
この画像読取手段により読み取られた文書画像から文字行を切り出す文字行切出し手段と、
この文字行切出し手段により切り出された前記文書画像の文字行における行内矩形の配置情報を表す特徴を固定段階に量子化する量子化手段と、
この量子化手段により量子化された前記行内矩形の配置情報を表す特徴にシンボルを付与して行内矩形のシンボル系列を作成するシンボル系列作成手段と、
前記量子化手段及び前記シンボル系列作成手段により前記文書画像が正立方向である場合の訓練行における前記行内矩形の配置情報を表す特徴をシンボル系列に変換し、その傾向を学習する訓練行学習手段と、
文字方向識別対象行である試験行の行内矩形に対して所定の角度で順次回転変換処理を実施する回転変換手段と、
この回転変換手段により順次回転変換処理された試験行における前記行内矩形の配置情報を表す特徴を、前記量子化手段及び前記シンボル系列作成手段によりシンボル系列に変換し、前記訓練行学習手段による訓練行の学習結果を用いて、試験行の評価値を算出する評価値算出手段と、
この評価値算出手段により算出された試験行の評価値に基づいて文書画像の文字方向を判定する文字方向判定手段と、
この文字方向判定手段により判定された文書画像の文字方向に基づいて、前記画像読取手段により読み取られた文書画像を正立する向きに回転させる文書画像回転手段と、
を備えることを特徴とする画像形成装置。
【請求項９】
文書画像から文字行を切り出す文字行切出し機能と、
この文字行切出し機能により切り出された前記文書画像の文字行における行内矩形の配置情報を表す特徴を固定段階に量子化する量子化機能と、
この量子化機能により量子化された前記行内矩形の配置情報を表す特徴にシンボルを付与して行内矩形のシンボル系列を作成するシンボル系列作成機能と、
前記量子化機能及び前記シンボル系列作成機能により前記文書画像が正立方向である場合の訓練行における前記行内矩形の配置情報を表す特徴をシンボル系列に変換し、その傾向を学習する訓練行学習機能と、
文字方向識別対象行である試験行の行内矩形に対して所定の角度で順次回転変換処理を実施する回転変換機能と、
この回転変換機能により順次回転変換処理された試験行における前記行内矩形の配置情報を表す特徴を、前記量子化機能及び前記シンボル系列作成機能によりシンボル系列に変換し、前記訓練行学習機能による訓練行の学習結果を用いて、試験行の評価値を算出する評価値算出機能と、
この評価値算出機能により算出された試験行の評価値に基づいて文書画像の文字方向を判定する文字方向判定機能と、
をコンピュータに実行させることを特徴とするプログラム。
【請求項１０】
前記訓練行学習機能は、訓練行における前記行内矩形の配置情報を、水平行および垂直行別にシンボル系列に変換し、その傾向を学習する、
ことを特徴とする請求項９記載のプログラム。
【請求項１１】
前記回転変換機能における試験行の回転角度が、０度、９０度、１８０度、２７０度である、
ことを特徴とする請求項９記載のプログラム。
【請求項１２】
前記回転変換機能における試験行の回転処理機能としては９０度だけを備え、１８０度、２７０度は、９０度回転の繰り返しによって実現する、
ことを特徴とする請求項９記載のプログラム。
【請求項１３】
前記量子化機能及び前記シンボル系列作成機能は、試験行の圧縮画像に対して処理を実施する、
ことを特徴とする請求項９記載のプログラム。
【請求項１４】
前記回転変換機能には、試験行の矩形座標の鏡像変換を含む、
ことを特徴とする請求項９記載のプログラム。
【請求項１５】
前記回転変換機能は、回転変換について全方向を仮定する必要がない場合には、回転変換の可能性を限定する、
ことを特徴とする請求項９記載のプログラム。
【請求項１６】
請求項９ないし１５のいずれか一記載のプログラムを記憶することを特徴とする記憶媒体。
【請求項１７】
文書画像から文字行を切り出す文字行切出し工程と、
この文字行切出し工程により切り出された前記文書画像の文字行における行内矩形の配置情報を表す特徴を固定段階に量子化する量子化工程と、
この量子化工程により量子化された前記行内矩形の配置情報を表す特徴にシンボルを付与して行内矩形のシンボル系列を作成するシンボル系列作成工程と、
前記量子化工程及び前記シンボル系列作成工程により前記文書画像が正立方向である場合の訓練行における前記行内矩形の配置情報を表す特徴をシンボル系列に変換し、その傾向を学習する訓練行学習工程と、
文字方向識別対象行である試験行の行内矩形に対して所定の角度で順次回転変換処理を実施する回転変換工程と、
この回転変換工程により順次回転変換処理された試験行における前記行内矩形の配置情報を表す特徴を、前記量子化工程及び前記シンボル系列作成工程によりシンボル系列に変換し、前記訓練行学習工程による訓練行の学習結果を用いて、試験行の評価値を算出する評価値算出工程と、
この評価値算出工程により算出された試験行の評価値に基づいて文書画像の文字方向を判定する文字方向判定工程と、
を含むことを特徴とする文字方向識別方法。
【請求項１８】
前記訓練行学習工程は、訓練行における前記行内矩形の配置情報を、水平行および垂直行別にシンボル系列に変換し、その傾向を学習する、
ことを特徴とする請求項１７記載の文字方向識別方法。
【請求項１９】
前記回転変換工程における試験行の回転角度が、０度、９０度、１８０度、２７０度である、
ことを特徴とする請求項１７記載の文字方向識別方法。
【請求項２０】
前記回転変換工程における試験行の回転処理機能としては９０度だけを備え、１８０度、２７０度は、９０度回転の繰り返しによって実現する、
ことを特徴とする請求項１７記載の文字方向識別方法。
【請求項２１】
前記量子化工程及び前記シンボル系列作成工程は、試験行の圧縮画像に対して処理を実施する、
ことを特徴とする請求項１７記載の文字方向識別方法。
【請求項２２】
前記回転変換工程には、試験行の矩形座標の鏡像変換を含む、
ことを特徴とする請求項１７記載の文字方向識別方法。
【請求項２３】
前記回転変換工程は、回転変換について全方向を仮定する必要がない場合には、回転変換の可能性を限定する、
ことを特徴とする請求項１７記載の文字方向識別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書画像の文字行の方向を識別する文字方向識別装置、画像形成装置、プログラム、記憶媒体および文字方向識別方法に関する。
【背景技術】
【０００２】
デジタル複写機及びスキャナ等の文書処理装置においては、原稿読取り時の主走査・副走査方向が原稿台上で固定されており、原稿台への原稿の戴置方向により文書処理装置に入力される原稿の方向が決定される。このため、原稿入力時に原稿の方向を誤って入力した場合、原稿を正しい方向にセットし直して再度入力を行うか、或いは文書処理装置の画像編集機能を用いて入力画像を正しい向きへ回転させることが行われている。したがって、ユーザは、常に原稿の戴置方向を意識して入力作業を行わなければならないという煩わしさがあった。
【０００３】
そこで、この煩わしさから開放すべく、原稿の戴置方向を意識しなくても良いようにする技術が特許文献１に開示されている。この特許文献１に開示されている技術は、入力回路で入力した画像情報を画像メモリに記憶し、記憶した画像情報から文字切出回路により文字を切り出し、その切り出した領域の文字の向きを文字認識装置で検出し、文字が正立していると検出された時以外は、画像処理回路が画像メモリに記憶された画像情報を正立する向きに回転させるというものである。
【０００４】
また、特許文献２には、原稿の端部の空白（綴じ代のために左空白の方が一般的に広い）に注目して原稿の天地識別を行う技術が開示されている。
【０００５】
【特許文献１】実開平５−１２９６０号公報（実願平３−５９７８５号明細書）
【特許文献２】特開平５−２０５１０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示されている技術によれば、文字認識装置（ＯＣＲ）の使用が前提とされており、ＯＣＲは原稿で使用される文字を予め知ることはできないので、ＯＣＲを使用して文字方向を検出しようとすると、認識対象文字の全てを含む認識辞書を用意し、その全ての文字特徴と認識対象文字とを照合し、最も近い文字を選択しなければならない。しかも、文字方向の可能性だけ、例えば０度、９０度、１８０度、２７０度回転であれば４回、照合処理、文字選択処理を繰り返す必要がある。したがって、特許文献１に開示されている技術によれば、多くの記憶容量と多大な演算量とを要することになり、文字方向検出に多大な時間がかかることになる。
【０００７】
また、特許文献２に開示されている技術によれば、原稿のレイアウト特徴にのみ注目しており、文字方向の特徴は一切考慮していない。したがって、端部の空白が上下左右、ほぼ等しい場合には、文字方向を決定することができないという問題がある。
【０００８】
本発明は、上記に鑑みてなされたものであって、計算負荷、記憶容量の増大を招くことなく、高速に文字方向識別処理を実現できる文字方向識別装置、画像形成装置、プログラム、記憶媒体および文字方向識別方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明の文字方向識別装置は、文書画像から文字行を切り出す文字行切出し手段と、この文字行切出し手段により切り出された前記文書画像の文字行における行内矩形の配置情報を表す特徴を固定段階に量子化する量子化手段と、この量子化手段により量子化された前記行内矩形の配置情報を表す特徴にシンボルを付与して行内矩形のシンボル系列を作成するシンボル系列作成手段と、前記量子化手段及び前記シンボル系列作成手段により前記文書画像が正立方向である場合の訓練行における前記行内矩形の配置情報を表す特徴をシンボル系列に変換し、その傾向を学習する訓練行学習手段と、文字方向識別対象行である試験行の行内矩形に対して所定の角度で順次回転変換処理を実施する回転変換手段と、この回転変換手段により順次回転変換処理された試験行における前記行内矩形の配置情報を表す特徴を、前記量子化手段及び前記シンボル系列作成手段によりシンボル系列に変換し、前記訓練行学習手段による訓練行の学習結果を用いて、試験行の評価値を算出する評価値算出手段と、この評価値算出手段により算出された試験行の評価値に基づいて文書画像の文字方向を判定する文字方向判定手段と、を備える。
【００１０】
また、請求項２にかかる発明は、請求項１記載の文字方向識別装置において、前記訓練行学習手段は、訓練行における前記行内矩形の配置情報を、水平行および垂直行別にシンボル系列に変換し、その傾向を学習する。
【００１１】
また、請求項３にかかる発明は、請求項１記載の文字方向識別装置において、前記回転変換手段における試験行の回転角度が、０度、９０度、１８０度、２７０度である。
【００１２】
また、請求項４にかかる発明は、請求項１記載の文字方向識別装置において、前記回転変換手段における試験行の回転処理機能としては９０度だけを備え、１８０度、２７０度は、９０度回転の繰り返しによって実現する。
【００１３】
また、請求項５にかかる発明は、請求項１記載の文字方向識別装置において、前記量子化手段及び前記シンボル系列作成手段は、試験行の圧縮画像に対して処理を実施する。
【００１４】
また、請求項６にかかる発明は、請求項１記載の文字方向識別装置において、前記回転変換手段には、試験行の矩形座標の鏡像変換を含む。
【００１５】
また、請求項７にかかる発明は、請求項１記載の文字方向識別装置において、前記回転変換手段は、回転変換について全方向を仮定する必要がない場合には、回転変換の可能性を限定する。
【００１６】
また、請求項８にかかる発明の画像形成装置は、画像を用紙上に印刷する画像形成装置において、文書原稿を読み取る画像読取手段と、この画像読取手段により読み取られた文書画像から文字行を切り出す文字行切出し手段と、この文字行切出し手段により切り出された前記文書画像の文字行における行内矩形の配置情報を表す特徴を固定段階に量子化する量子化手段と、この量子化手段により量子化された前記行内矩形の配置情報を表す特徴にシンボルを付与して行内矩形のシンボル系列を作成するシンボル系列作成手段と、前記量子化手段及び前記シンボル系列作成手段により前記文書画像が正立方向である場合の訓練行における前記行内矩形の配置情報を表す特徴をシンボル系列に変換し、その傾向を学習する訓練行学習手段と、文字方向識別対象行である試験行の行内矩形に対して所定の角度で順次回転変換処理を実施する回転変換手段と、この回転変換手段により順次回転変換処理された試験行における前記行内矩形の配置情報を表す特徴を、前記量子化手段及び前記シンボル系列作成手段によりシンボル系列に変換し、前記訓練行学習手段による訓練行の学習結果を用いて、試験行の評価値を算出する評価値算出手段と、この評価値算出手段により算出された試験行の評価値に基づいて文書画像の文字方向を判定する文字方向判定手段と、この文字方向判定手段により判定された文書画像の文字方向に基づいて、前記画像読取手段により読み取られた文書画像を正立する向きに回転させる文書画像回転手段と、を備える。
【００１７】
また、請求項９にかかる発明のプログラムは、文書画像から文字行を切り出す文字行切出し機能と、この文字行切出し機能により切り出された前記文書画像の文字行における行内矩形の配置情報を表す特徴を固定段階に量子化する量子化機能と、この量子化機能により量子化された前記行内矩形の配置情報を表す特徴にシンボルを付与して行内矩形のシンボル系列を作成するシンボル系列作成機能と、前記量子化機能及び前記シンボル系列作成機能により前記文書画像が正立方向である場合の訓練行における前記行内矩形の配置情報を表す特徴をシンボル系列に変換し、その傾向を学習する訓練行学習機能と、文字方向識別対象行である試験行の行内矩形に対して所定の角度で順次回転変換処理を実施する回転変換機能と、この回転変換機能により順次回転変換処理された試験行における前記行内矩形の配置情報を表す特徴を、前記量子化機能及び前記シンボル系列作成機能によりシンボル系列に変換し、前記訓練行学習機能による訓練行の学習結果を用いて、試験行の評価値を算出する評価値算出機能と、この評価値算出機能により算出された試験行の評価値に基づいて文書画像の文字方向を判定する文字方向判定機能と、をコンピュータに実行させる。
【００１８】
また、請求項１０にかかる発明は、請求項９記載のプログラムにおいて、前記訓練行学習機能は、訓練行における前記行内矩形の配置情報を、水平行および垂直行別にシンボル系列に変換し、その傾向を学習する。
【００１９】
また、請求項１１にかかる発明は、請求項９記載のプログラムにおいて、前記回転変換機能における試験行の回転角度が、０度、９０度、１８０度、２７０度である。
【００２０】
また、請求項１２にかかる発明は、請求項９記載のプログラムにおいて、前記回転変換機能における試験行の回転処理機能としては９０度だけを備え、１８０度、２７０度は、９０度回転の繰り返しによって実現する。
【００２１】
また、請求項１３にかかる発明は、請求項９記載のプログラムにおいて、前記量子化機能及び前記シンボル系列作成機能は、試験行の圧縮画像に対して処理を実施する。
【００２２】
また、請求項１４にかかる発明は、請求項９記載のプログラムにおいて、前記回転変換機能には、試験行の矩形座標の鏡像変換を含む。
【００２３】
また、請求項１５にかかる発明は、請求項９記載のプログラムにおいて、前記回転変換機能は、回転変換について全方向を仮定する必要がない場合には、回転変換の可能性を限定する。
【００２４】
また、請求項１６にかかる発明の記憶媒体は、請求項９ないし１５のいずれか一記載のプログラムを記憶する。
【００２５】
また、請求項１７にかかる発明の文字方向識別方法は、文書画像から文字行を切り出す文字行切出し工程と、この文字行切出し工程により切り出された前記文書画像の文字行における行内矩形の配置情報を表す特徴を固定段階に量子化する量子化工程と、この量子化工程により量子化された前記行内矩形の配置情報を表す特徴にシンボルを付与して行内矩形のシンボル系列を作成するシンボル系列作成工程と、前記量子化工程及び前記シンボル系列作成工程により前記文書画像が正立方向である場合の訓練行における前記行内矩形の配置情報を表す特徴をシンボル系列に変換し、その傾向を学習する訓練行学習工程と、文字方向識別対象行である試験行の行内矩形に対して所定の角度で順次回転変換処理を実施する回転変換工程と、この回転変換工程により順次回転変換処理された試験行における前記行内矩形の配置情報を表す特徴を、前記量子化工程及び前記シンボル系列作成工程によりシンボル系列に変換し、前記訓練行学習工程による訓練行の学習結果を用いて、試験行の評価値を算出する評価値算出工程と、この評価値算出工程により算出された試験行の評価値に基づいて文書画像の文字方向を判定する文字方向判定工程と、を含む。
【００２６】
また、請求項１８にかかる発明は、請求項１７記載の文字方向識別方法において、前記訓練行学習工程は、訓練行における前記行内矩形の配置情報を、水平行および垂直行別にシンボル系列に変換し、その傾向を学習する。
【００２７】
また、請求項１９にかかる発明は、請求項１７記載の文字方向識別方法において、前記回転変換工程における試験行の回転角度が、０度、９０度、１８０度、２７０度である。
【００２８】
また、請求項２０にかかる発明は、請求項１７記載の文字方向識別方法において、前記回転変換工程における試験行の回転処理機能としては９０度だけを備え、１８０度、２７０度は、９０度回転の繰り返しによって実現する。
【００２９】
また、請求項２１にかかる発明は、請求項１７記載の文字方向識別方法において、前記量子化工程及び前記シンボル系列作成工程は、試験行の圧縮画像に対して処理を実施する。
【００３０】
また、請求項２２にかかる発明は、請求項１７記載の文字方向識別方法において、前記回転変換工程には、試験行の矩形座標の鏡像変換を含む。
【００３１】
また、請求項２３にかかる発明は、請求項１７記載の文字方向識別方法において、前記回転変換工程は、回転変換について全方向を仮定する必要がない場合には、回転変換の可能性を限定する。
【発明の効果】
【００３２】
請求項１にかかる発明によれば、文書画像の文字行における行内矩形の配置情報を表す特徴（例えば、始点の高さ、矩形サイズ（高さ、幅）、黒画素密度、隣接矩形との距離など）を量子化し、シンボルに変換した後、それらの並びの傾向を、文書画像が正立方向である場合の訓練行における行内矩形の配置情報を表す特徴から学習して記録する。そして、文字方向識別対象行である試験行の行内矩形に対して、回転変換処理を順次実施した結果に対して、先の学習した正立方向の学習傾向を適用することによって、当該行の文字方向別の出現しやすさを評価し、文字方向を判定する。これにより、文字方向識別対象行の文字方向を行内矩形の配置情報によって分類するので、特に新たに行の特徴を抽出する処理を行わずに行切り出し処理の過程で得られる特徴を利用することにより、計算負荷、記憶容量の増大を招くことなく、高速に文字方向識別処理を実現できる。
【００３３】
また、請求項２にかかる発明によれば、予め学習しておく行内矩形の並び傾向を、水平行と垂直行との２種類を用意しておき、回転角度を試験する行の切り出し方向に応じて、切り替えて処理することができる。これは、文字行切出し手段において切り出される文字行は、水平行あるいは垂直行のいずれかであり、一つの行が、同時に水平行であり垂直行であることはないからである。
【００３４】
また、請求項３にかかる発明によれば、回転変換手段における試験行の回転角度が、０度、９０度、１８０度、２７０度であることにより、行内矩形座標の回転変換を行うには三角関数演算は不要になり（０度、９０度、１８０度、２７０度の場合、ｓｉｎθおよびｃｏｓθは固定値）、計算速度の向上および計算資源の節約を実現することができる。これは、一般的に、原稿は読み取りガイドに原稿の用紙を接触させて置くことが多く、回転角度の可能性としては０度、９０度、１８０度、２７０度の４種で、実用上は十分であることによる。
【００３５】
また、請求項４にかかる発明によれば、試験行の回転処理機能としては９０度だけを備え、１８０度、２７０度は、９０度回転の繰り返しによって実現することにより、現在の回転角度の場合の出現確率の演算が終了したら、現在の行内矩形をさらに９０度回転変換すれば、１８０度回転、２７０度回転処理も実現でき、無駄がないという効果を奏する。
【００３６】
また、請求項５にかかる発明によれば、量子化手段及びシンボル系列作成手段は、試験行の圧縮画像に対して処理を実施することにより、記憶容量節約および演算量低減を図ることができる。これは、記憶容量節約および演算量低減のためなどの理由で、画像処理においては原画像そのものではなく圧縮画像を処理対象にする場合が多いが、量子化手段及びシンボル系列作成手段は、文字画像の外接矩形に注目するものであり、画像そのものの詳細な特徴に基づくものではなく、圧縮画像に対しても有効に機能しうるからである。
【００３７】
また、請求項６にかかる発明によれば、回転変換手段には、試験行の矩形座標の鏡像変換を含むことにより、例えばスキャナとしてハンドスキャナなどを使用する場合において、読み込み画像が鏡像になった場合でも、正立画像に復元することができ、使用感を著しく改善することができる。
【００３８】
また、請求項７にかかる発明によれば、回転変換について全方向を仮定する必要がない場合には、回転変換の可能性を限定することにより、検知精度を向上させることができる。例えば、原稿の上下反転だけのみ検知するなら、０度と１８０度だけを試すだけでよい。
【００３９】
また、請求項８にかかる発明によれば、文書画像の文字行における行内矩形の配置情報を表す特徴（例えば、始点の高さ、矩形サイズ（高さ、幅）、黒画素密度、隣接矩形との距離など）を量子化し、シンボルに変換した後、それらの並びの傾向を、文書画像が正立方向である場合の訓練行における行内矩形の配置情報を表す特徴から学習して記録する。そして、文字方向識別対象行である試験行の行内矩形に対して、回転変換処理を順次実施した結果に対して、先の学習した正立方向の学習傾向を適用することによって、当該行の文字方向別の出現しやすさを評価し、文字方向を判定する。これにより、文字方向識別対象行の文字方向を行内矩形の配置情報によって分類するので、特に新たに行の特徴を抽出する処理を行わずに行切り出し処理の過程で得られる特徴を利用することにより、計算負荷、記憶容量の増大を招くことなく、高速に文字方向識別処理を実現できる。そして、この文字方向識別結果に応じて、使用者が所望する文字方向（正立方向）に文書画像を自動回転することができる。よって、使用者は、目視によって確認した後に原稿を回転させる必要がなく、使用感を著しく改善することができる。
【００４０】
また、請求項９にかかる発明によれば、文書画像の文字行における行内矩形の配置情報を表す特徴（例えば、始点の高さ、矩形サイズ（高さ、幅）、黒画素密度、隣接矩形との距離など）を量子化し、シンボルに変換した後、それらの並びの傾向を、文書画像が正立方向である場合の訓練行における行内矩形の配置情報を表す特徴から学習して記録する。そして、文字方向識別対象行である試験行の行内矩形に対して、回転変換処理を順次実施した結果に対して、先の学習した正立方向の学習傾向を適用することによって、当該行の文字方向別の出現しやすさを評価し、文字方向を判定する。これにより、文字方向識別対象行の文字方向を行内矩形の配置情報によって分類するので、特に新たに行の特徴を抽出する処理を行わずに行切り出し処理の過程で得られる特徴を利用することにより、計算負荷、記憶容量の増大を招くことなく、高速に文字方向識別処理を実現できる。
【００４１】
また、請求項１０にかかる発明によれば、予め学習しておく行内矩形の並び傾向を、水平行と垂直行との２種類を用意しておき、回転角度を試験する行の切り出し方向に応じて、切り替えて処理することができる。これは、文字行切出し機能において切り出される文字行は、水平行あるいは垂直行のいずれかであり、一つの行が、同時に水平行であり垂直行であることはないからである。
【００４２】
また、請求項１１にかかる発明によれば、回転変換機能における試験行の回転角度が、０度、９０度、１８０度、２７０度であることにより、行内矩形座標の回転変換を行うには三角関数演算は不要になり（０度、９０度、１８０度、２７０度の場合、ｓｉｎθおよびｃｏｓθは固定値）、計算速度の向上および計算資源の節約を実現することができる。これは、一般的に、原稿は読み取りガイドに原稿の用紙を接触させて置くことが多く、回転角度の可能性としては０度、９０度、１８０度、２７０度の４種で、実用上は十分であることによる。
【００４３】
また、請求項１２にかかる発明によれば、試験行の回転処理機能としては９０度だけを備え、１８０度、２７０度は、９０度回転の繰り返しによって実現することにより、現在の回転角度の場合の出現確率の演算が終了したら、現在の行内矩形をさらに９０度回転変換すれば、１８０度回転、２７０度回転処理も実現でき、無駄がないという効果を奏する。
【００４４】
また、請求項１３にかかる発明によれば、量子化機能及びシンボル系列作成機能は、試験行の圧縮画像に対して処理を実施することにより、記憶容量節約および演算量低減を図ることができる。これは、記憶容量節約および演算量低減のためなどの理由で、画像処理においては原画像そのものではなく圧縮画像を処理対象にする場合が多いが、量子化機能及びシンボル系列作成機能は、文字画像の外接矩形に注目するものであり、画像そのものの詳細な特徴に基づくものではなく、圧縮画像に対しても有効に機能しうるからである。
【００４５】
また、請求項１４にかかる発明によれば、回転変換機能には、試験行の矩形座標の鏡像変換を含むことにより、例えばスキャナとしてハンドスキャナなどを使用する場合において、読み込み画像が鏡像になった場合でも、正立画像に復元することができ、使用感を著しく改善することができる。
【００４６】
また、請求項１５にかかる発明によれば、回転変換について全方向を仮定する必要がない場合には、回転変換の可能性を限定することにより、検知精度を向上させることができる。例えば、原稿の上下反転だけのみ検知するなら、０度と１８０度だけを試すだけでよい。
【００４７】
また、請求項１６にかかる発明によれば、請求項９ないし１５のいずれか一記載のプログラムを記憶していることにより、この記憶媒体に記憶されたプログラムをコンピュータに読み取らせることで、請求項９ないし１５のいずれか一記載の発明と同様の作用効果を得ることができる。
【００４８】
また、請求項１７にかかる発明によれば、文書画像の文字行における行内矩形の配置情報を表す特徴（例えば、始点の高さ、矩形サイズ（高さ、幅）、黒画素密度、隣接矩形との距離など）を量子化し、シンボルに変換した後、それらの並びの傾向を、文書画像が正立方向である場合の訓練行における行内矩形の配置情報を表す特徴から学習して記録する。そして、文字方向識別対象行である試験行の行内矩形に対して、回転変換処理を順次実施した結果に対して、先の学習した正立方向の学習傾向を適用することによって、当該行の文字方向別の出現しやすさを評価し、文字方向を判定する。これにより、文字方向識別対象行の文字方向を行内矩形の配置情報によって分類するので、特に新たに行の特徴を抽出する処理を行わずに行切り出し処理の過程で得られる特徴を利用することにより、計算負荷、記憶容量の増大を招くことなく、高速に文字方向識別処理を実現できる。
【００４９】
また、請求項１８にかかる発明によれば、予め学習しておく行内矩形の並び傾向を、水平行と垂直行との２種類を用意しておき、回転角度を試験する行の切り出し方向に応じて、切り替えて処理することができる。これは、文字行切出し工程において切り出される文字行は、水平行あるいは垂直行のいずれかであり、一つの行が、同時に水平行であり垂直行であることはないからである。
【００５０】
また、請求項１９にかかる発明によれば、回転変換工程における試験行の回転角度が、０度、９０度、１８０度、２７０度であることにより、行内矩形座標の回転変換を行うには三角関数演算は不要になり（０度、９０度、１８０度、２７０度の場合、ｓｉｎθおよびｃｏｓθは固定値）、計算速度の向上および計算資源の節約を実現することができる。これは、一般的に、原稿は読み取りガイドに原稿の用紙を接触させて置くことが多く、回転角度の可能性としては０度、９０度、１８０度、２７０度の４種で、実用上は十分であることによる。
【００５１】
また、請求項２０にかかる発明によれば、試験行の回転処理機能としては９０度だけを備え、１８０度、２７０度は、９０度回転の繰り返しによって実現することにより、現在の回転角度の場合の出現確率の演算が終了したら、現在の行内矩形をさらに９０度回転変換すれば、１８０度回転、２７０度回転処理も実現でき、無駄がないという効果を奏する。
【００５２】
また、請求項２１にかかる発明によれば、量子化工程及びシンボル系列作成工程は、試験行の圧縮画像に対して処理を実施することにより、記憶容量節約および演算量低減を図ることができる。これは、記憶容量節約および演算量低減のためなどの理由で、画像処理においては原画像そのものではなく圧縮画像を処理対象にする場合が多いが、量子化工程及びシンボル系列作成工程は、文字画像の外接矩形に注目するものであり、画像そのものの詳細な特徴に基づくものではなく、圧縮画像に対しても有効に機能しうるからである。
【００５３】
また、請求項２２にかかる発明によれば、回転変換工程には、試験行の矩形座標の鏡像変換を含むことにより、例えばスキャナとしてハンドスキャナなどを使用する場合において、読み込み画像が鏡像になった場合でも、正立画像に復元することができ、使用感を著しく改善することができる。
【００５４】
また、請求項２３にかかる発明によれば、回転変換について全方向を仮定する必要がない場合には、回転変換の可能性を限定することにより、検知精度を向上させることができる。例えば、原稿の上下反転だけのみ検知するなら、０度と１８０度だけを試すだけでよい。
【発明を実施するための最良の形態】
【００５５】
［第１の実施の形態］
以下に添付図面を参照して、本発明にかかる文字方向識別装置（画像形成装置）の好適な実施の形態を詳細に説明する。なお、本実施の形態では、日本語、英語の原稿の文字方向を識別する例について説明するが、特にこれらの言語に限定されるものではない。
【００５６】
（文字方向識別装置のハードウェア構成）
図１は、本発明の第１の実施の形態にかかる文字方向識別装置１００のハードウェア構成を示すブロック図である。図１に示すように、この文字方向識別装置１００は、ＰＣなどのコンピュータであり、文字方向識別装置１００の各部を制御するＣＰＵ（Central Processing Unit）１、ＣＰＵ１を起動するためのプログラムが記憶されるＲＯＭ（Read Only Memory）２、不図示のスキャナにより読み取られた原稿画像やオペレーティングシステム、アプリケーションプログラム等を記憶するハードディスク３、文字方向識別処理を行うためにハードディスク３に記憶された原稿画像等を一時的に読み出して展開するワークエリアとして機能するＲＡＭ（Random Access Memory）４、基準となる言語毎の訓練用データについて求めた配置情報のｔｒｉｇｒａｍ表を記憶する不揮発性メモリ（ＮＶＲＡＭ）５、オペレータからの各種入力を受け付けるキーボード６、入力状況等を表示する表示装置７、ＣＤ−ＲＯＭなどの各種光情報記録メディア（図示せず）に記憶されたプログラム等を読み取る光ディスクドライブ８、インターネットやＬＡＮ（Local Area Network）等の電気通信回線を介して原稿画像を送受信する通信装置９等から構成されており、これらの各部間で送受信されるデータをバスコントローラ１０が調停して動作する。
【００５７】
このような文字方向識別装置１００では、オペレータが電源を投入するとＣＰＵ１がＲＯＭ２内のローダーというプログラムを起動させ、ハードディスク３よりオペレーティングシステムというコンピュータのハードウェアとソフトウェアとを管理するプログラムをＲＡＭ４に読み込み、このオペレーティングシステムを起動させる。このようなオペレーティングシステムは、オペレータの操作に応じてプログラムを起動したり、情報を読み込んだり、保存を行ったりする。オペレーティングシステムのうち代表的なものとしては、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）等が知られている。これらのオペレーティングシステム上で走る動作プログラムをアプリケーションプログラムと呼んでいる。
【００５８】
ここで、文字方向識別装置１００は、アプリケーションプログラムとして、文字方向識別プログラムをハードディスク３に記憶している。この意味で、ハードディスク３は、文字方向識別プログラムを記憶する記憶媒体として機能する。
【００５９】
また、一般的には、文字方向識別装置１００のハードディスク３にインストールされるアプリケーションプログラムは、ＣＤ−ＲＯＭなどの各種光情報記録メディアやＦＤ等の磁気メディア等の記憶媒体に記録され、この記憶媒体に記録されたアプリケーションプログラムがハードディスク３にインストールされる。このため、ＣＤ−ＲＯＭなどの各種光情報記録メディアやＦＤ等の磁気メディア等の可搬性を有する記憶媒体も、文字方向識別プログラムを記憶する記憶媒体となり得る。さらには、文字方向識別プログラムは、例えば通信装置９を介して外部から取り込まれ、ハードディスク３にインストールされても良い。
【００６０】
（文字方向識別処理）
文字方向識別装置１００は、オペレーティングシステム上で動作する文字方向識別プログラムが起動すると、この文字方向識別プログラムに従い、ＣＰＵ１が各種の演算処理を実行して各部を集中的に制御する。文字方向識別装置１００のＣＰＵ１が実行する各種の演算処理のうち、本実施の形態の特長的な処理である文字方向識別処理について以下に説明する。
【００６１】
なお、リアルタイム性が重要視される場合には、処理を高速化する必要がある。そのためには、論理回路（図示せず）を別途設け、論理回路の動作により各種の演算処理を実行するようにするのが望ましい。
【００６２】
図２は、文字方向識別処理の流れを示すフローチャートである。図２に示すように、キーボード６から文字方向識別の指示が入力されると、ＣＰＵ１は、スキャナから原稿画像を入力させ（ステップＳ１）、入力した原稿画像の黒画素の連結成分を求め、それと外接する矩形を求め、この外接矩形（行内矩形）を、近隣同士を連結して文字行に成長させた後（ステップＳ２）、文字行を切り出す（ステップＳ３：文字行切出し手段）。
【００６３】
ここで、入力された原稿画像の行の切り出しについて図３−１〜図３−３を参照して簡単に説明する。スキャナから入力された文字方向識別用文書の原稿画像（図３−１）について、黒画素の連結成分を求め、それと外接する矩形Ａ，Ｂ，Ｃ・・・を求める（図３−２）。そして、求めた外接矩形を、近隣同士を連結して文字行Ｚに成長させる（図３−３）。外接矩形の成長を水平方向及び垂直方向の両方で実施すれば、水平行と垂直行の両方が切り出される。この時点では文字方向は不明であるので、切り出された文字行の外接矩形（以下、行内矩形）に対して文字方向識別処理を行い、文字方向を識別する。なお、行内矩形の作成処理及び文字行の切り出し処理自体は、公知の手法を使えば良いので詳細な説明は省略する。
【００６４】
図４−１及び図４−２は、日本語の原稿画像について水平行及び垂直行切り出しを行った場合の文字方向配置の可能性を示すものである。図４−１は、未知の水平行に対し、横書きか縦書きかにより、横書き０度回転、横書き１８０度回転、縦書き９０度回転、縦書き２７０度回転の４種類の可能性のある配置例である。また、図４−２は、未知の垂直行に対し、横書きか縦書きかにより、横書き９０度回転、横書き２７０度回転、縦書き０度回転、縦書き１８０度回転の４種類の可能性のある配置例である。なお、回転角度は、正立位置から時計回りを基準にする。このように、未知の水平行に対して、縦書き／横書き、回転角度４種の組み合わせから、文字行の可能性は４種が存在する。未知の垂直行に関しても、同様に４種類、文字方向の可能性が存在する。行切り出し処理が終わった時点で、水平行と垂直行が切り出されるから、文字方向識別処理は、各々の可能性４種の内から、正しい１方向を選択すればよい。
【００６５】
続くステップＳ４においては、ステップＳ３で切り出した文字行について、行内矩形の始点の頻度を集計して、文字方向を識別する文字方向判定（識別）の処理を行う。より詳細には、矩形の配置状態を表す特徴の量子化処理、および量子化された矩形の配置状態を表す特徴からシンボルを生成する処理である。
【００６６】
まず、矩形の配置状態を表す特徴の量子化処理（量子化手段）について説明する。
【００６７】
ほとんどの文字は上下左右に対称ではないから、矩形の配置状態も上下左右に対称ではない。したがって、矩形の配置状態の上下左右を識別できれば、文字画像そのものの上下左右を識別できることになる。しかし、１文字を構成する、黒ランの外接矩形は多くなく、１文字で１矩形になることも多い。その場合には矩形の配置状態に上下左右の差はないので、文字方向を識別することができない。そこで、本実施の形態においては、複数の文字、つまり一行全体の矩形の配置状態を、文字方向識別特徴として利用する。一行に含まれる文字のすべてが１文字１矩形であることは、通常文では稀れであるから、ほとんどの行は文字方向毎に矩形の配置状態は傾向が異なるはずである。行単位の上下左右を判定するにあたって、再度、矩形の配置状態に注目する。句読点、ピリオド、アポストロフィーなどの記号類や、英文における大文字／小文字の差の存在により、１文字内の矩形配置状態だけでなく、行内における矩形の存在も、上下左右に特徴がある。
【００６８】
ここで、図５−１および図５−２は行内矩形の配置例を示す説明図である。欧米系文字行は、図５−１に示すように、大文字と小文字とが混在していることに加え、アポストロフィー、アクサンテギュ、ウムラウトなど、記号類の有無が存在するので、行内矩形の始点の高さは、図５−１のａの位置とｂの位置との２カ所に集中することは明らかである。つまり、矩形の配置位置は上下に対称ではない。一方、アジア系文字行は、図５−２に示すように、漢字、ひらがな、カタカナ、ハングルなど、文字の構造が複雑であり、行内矩形の始点の高さは、欧米系文字行で見られるような、２カ所への明確な集中はない。しかし、矩形の配置位置が上下左右、対称ではないことは、欧米系行と同じである。
【００６９】
図５−１の欧文文字の行内矩形と、図５−２のアジア系文字の行内矩形とを比較してみると、行内矩形の並び方は、言語の種類に関わらず、その文字行の内容に応じて変化していることがわかる。そこで、文字の外接矩形を抽出することで、文字の大まかな特徴を捉えることができる。すなわち、文字そのものを特定しなくても、例えば図６に示すように、矩形座標の始点（Ｘｓ，Ｙｓ）と終点（Ｘｅ，Ｙｅ）を求め、これを利用した文字画像の外接矩形の配置状態を表す特徴を取得するだけで文字行の画像特徴を捉えることができる。
【００７０】
行内における一つの矩形は、行内矩形の始点の高さ、矩形サイズ（幅、高さ）行内矩形中の黒画素密度を計測することによって唯一に定義される。これらの計測結果を用いて、行内矩形の配置状態を定義する。行内矩形は、行切り出し処理の過程で既に求められているので、文字行を特定するために、追加の特徴抽出処理を行う必要がないので都合が良い。
【００７１】
以下、行内矩形の始点の高さを基準にして行内矩形の配置状態を定義する一例を示す。図７は、行内矩形の配置状態を示す特徴を量子化する方法を示す説明図である。原稿を特定していない状況下では、行高さは可変であり、処理が行高さの値に依存しないように、行内矩形の高さを次式で正規化する。
ＹｓＲａｔｅ＝ｙｓ／Ｈ    ・・・（１）
（ただし、ｙｓは行内矩形始点の高さ、Ｈは行高さを示す。）
【００７２】
ここで、０＜ＹｓＲａｔｅ≦１であるから、ＹｓＲａｔｅを固定段階に量子化することは容易である。例えば、Ｎ段階に量子化するなら、
ＹｓＶａｌ＝ＩＮＴ（ＹｓＲａｔｅ＊（Ｎ−１））    ・・・（２）
（ただし、ＩＮＴ（）：小数点以下切捨て）
とすればよい。各段階は、０〜（Ｎ−１）とラベル付けされる。矩形幅ｗおよび矩形高さｈも同様な手順で量子化される。
【００７３】
ところで、記憶容量節約および演算量低減のためなどの理由で、画像処理においては原画像そのものではなく圧縮画像を処理対象にする場合が多い。圧縮画像は、画素数が減るために文字画像の細部に関する情報は失われる。本発明は、図７に示すように、文字画像の外接矩形に注目するものであり、画像そのものの詳細な特徴に基づくものではない。したがって、原画像だけでなく、圧縮画像に対しても有効に機能しうる。
【００７４】
なお、原稿をスキャンする際に原稿が傾いてしまうと、図８に示すように文字行も傾いてしまう。極端な傾きの場合には、行切り出し処理が失敗してしまうが、少々の傾きであれば、行間の空白部を利用して、行を切り出すことができる。しかし、行内矩形の始点の高さに注目する場合、行のわずかな傾きでも、結果に大きく影響する。図８において、行内矩形の終点から始点までの距離は、行高さに対して万遍なく分布することになり、欧米系文字行の特徴である、頻度の明確な２ヶ所への集中が観測できない。そこで、傾きを補正するために、図８における破線ｄのようなベースラインを求め、そこから行内矩形の始点までの高さを求めることにする。ベースラインｄを求めるには、行内矩形の終点を結ぶような直線を求めればよい。具体的には、行内矩形の終点座標の分布の回帰直線を求めればよい。回帰直線の求め方に関しては周知であるため、ここでは説明しないが、例えば、「工科系のための統計概論」（培風館）Ｉ・ガットマン、Ｓ・Ｓ・ウィルクス共著などに詳しい。
【００７５】
以上の処理により、行内矩形の始点の高さは量子化できる。
【００７６】
同様に、文字行画像の特徴として行内矩形の高さを用いる場合は、図７において、次のとおりである。
ＨｅｉｇｈｔＲａｔｅ＝ｈ／Ｈ    ・・・（３）
ＨｅｉｇｈｔＶａｌ
＝ＩＮＴ（ＨｅｉｇｈｔＲａｔｅ＊（Ｎ−１））＋０．５    ・・・（４）
（ただし、ＩＮＴ（）：小数点以下切捨て）
各段階は、０〜（Ｎ−１）とラベル付けされる。
【００７７】
また、文字行画像の特徴として行内矩形の幅を用いる場合は、次のとおりである。
ＷｉｄｔｈＲａｔｅ＝ｗ／Ｈ    ・・・（５）
ＷｉｄｔｈＶａｌ
＝ＩＮＴ（ＷｉｄｔｈＲａｔｅ＊（Ｎ−１））＋０．５    ・・・（６）
（ただし、ＩＮＴ（）：小数点以下切捨て）
各段階は、０〜（Ｎ−１）とラベル付けされる。
【００７８】
次に、量子化された矩形の配置状態を表す特徴からシンボルを生成する処理（シンボル系列作成手段）を説明する。ここでは、一つの行内矩形に関する、複数種類の測定結果を一つにまとめてシンボル化することによって、一つの行内矩形を一つのシンボルに対応させることが可能になる。例えば、矩形の始点の高さ、矩形高さ、矩形幅の３種の情報をまとめる。仮に、前述の処理で、矩形の始点の高さ（ｙｓ／Ｈ）を１５段階、矩形高さ（ｈ／Ｈ）を８段階、矩形幅（ｗ／Ｈ）を２段階に量子化するとする。この結果、図９に示すように、各情報は、矩形の始点の高さ（ｙｓ／Ｈ）は１５段階であるから４ｂｉｔｓ、矩形高さ（ｈ／Ｈ）は８段階であるから３ｂｉｔｓ、矩形幅（ｗ／Ｈ）は２段階であるから１ｂｉｔで表現することができる。また、
４ｂｉｔｓ＋３ｂｉｔｓ＋１ｂｉｔ＝８ｂｉｔｓ
であるから、１ｂｙｔｅの各ビットに全情報を格納することができる。そして、これらの３種の情報を一つにまとめたシンボルの種類は、
１５段階×８段階×２段階＝２４０種
となる。
【００７９】
ところで、矩形の配置状態を表す複数の特徴を多次元ベクトルの各次元とみなせば、矩形は、その各特徴を用いて一つのベクトルデータに変換（ベクトル量子化）できる。ベクトル量子化とは、周知のように、ベクトルデータの多数のバラエティから、それらを代表する少数のベクトルデータを求めることである。求められた代表ベクトルに順にラベル付けすれば、ベクトルデータの系列を単なる一次元のシンボルデータの系列に変換することができる。ベクトル量子化に関しては、「ベクトル量子化と情報圧縮」（コロナ社）Ａｌｌｅｎ  Ｇｅｒｓｈｏ，Ｒｏｂｅｒｔ  Ｍ．Ｇｒａｙ著、田崎三郎ほか訳、に詳しい。
【００８０】
このように、シンボル系列に変換することができれば、先に述べたように、その並び傾向を学習できる。例えば、訓練データから矩形の配置に関する３次元のベクトルデータを求め、それらから２４０種の代表ベクトルを求める。この代表ベクトル群をコードブックと呼ぶ。つまり、コードブック中の２４０種のベクトルを区別するＩＤが、シンボルである。識別対象の文字行データにおける行内矩形の配置を３次元ベクトルに変換し、コードブロック内のベクトルと最も類似するベクトルを選び、そのＩＤを当該矩形のシンボルとする。
【００８１】
以上の作業を経ることによって、行に含まれる矩形は、固定個のシンボル（ラベル）に変換することができる。したがって、実際の行内矩形の配置は、図１０に示すような単なるシンボル系列とみなすことができる。これで、シンボル系列の並び傾向を記録することができ、行内矩形の並び傾向を記録することと等価となる。シンボル系列に変換された後には、テキスト検索と同様に、一般的な検索手法によって検索することが可能になる。つまり、シンボル系列間の完全一致を求めればよい。ただし、文字行画像の読み取り誤差によって、文字矩形の特徴の計測結果は異なるので、文字行画像が同一であっても、そのシンボル変換結果が同一にならない場合もある。よって、シンボル列の完全一致を求めるのみでは、同一文字行画像を検索できないおそれがある。
【００８２】
そこで、本発明の文字方向識別装置１００では、シンボル列の完全一致ではなく、シンボルの並び傾向の類似度を求める。具体的には、変換されたシンボルに対し、言語別にあらかじめ訓練用の行内矩形シンボルデータで学習したｔｒｉｇｒａｍ表を適用し、当該シンボル系列の出現確率を言語別に算出し、集計する。以下、詳述する。
【００８３】
並びの傾向を記録する手段としては、ｎ−ｇｒａｍモデルがある。ｎ−ｇｒａｍモデルは、クロード・エルウッドシャノンによって提案された言語モデルである。系列中のシンボルの出現が、直前のｎ個（ｎは自然数）のシンボルに影響されるとする。現在の状態がｎ個前の入力に依存して決まる確率プロセスをｎ重マルコフ過程と呼び、ｎ−ｇｒａｍモデルは（ｎ−１）重マルコフモデルとも呼ばれる。特に、ｎ＝３の場合をｔｒｉｇｒａｍと呼び、広く使用されている。
【００８４】
具体的には、次の式（７）で示されるモデルである。さらに、式（８）にしたがって、訓練用のシンボル系列データからシンボルの３つ組みの出現頻度を計数し、条件付き確率を求めることが、シンボルの並びの傾向を記録することに相当する。
【数１】
2006260274.tif 000003
【００８５】
ここで、表１は訓練用データについて求めたｔｒｉｇｒａｍ確率表の例を示すものである。
【表１】
2006260274.tif 000004
【００８６】
表１において、ｔｒｉｇｒａｍモデル［s013，s045，s032］では、s013，s045の後ろにs032が出現する確率は１回中１回（1.00000（1/1））であり、ｔｒｉｇｒａｍモデル［s013，s064，s033］では、s013，s064の後ろにs033が出現する確率は４回中３回（0.75000（3/4））、以下、当該２つのシンボルの後ろに所定のシンボルが出現する確率を算出する。そして、試験行の評価値である出現確率の演算が高速で行えるように、確率値の対数をマイナス1000（-1000）倍して整数にする。これによって整数の和算のみで確率値が算出できる。このｔｒｉｇｒａｍモデルを縦書き、横書きをそれぞれ０度、９０度、１８０度、２７０度回転した各訓練用データについて作成し、ｔｒｉｇｒａｍ表として、不揮発性メモリ（ＮＶＲＡＭ）５に記憶する。
【００８７】
なお、行切り出し処理は、水平方向および垂直方向に２方向を仮定して、各々実行される。すなわち行切り出し処理において切り出される行は、水平行あるいは垂直行のいずれかであり、一つの行が、同時に水平行であり垂直行であることはない。したがって、本実施の形態においては、予め学習しておく行内矩形の並び傾向（ｔｒｉｇｒａｍ表）は、水平行と垂直行との２種類を用意しておき、回転角度を試験する行の切り出し方向に応じて、ｔｒｉｇｒａｍ表を切り替えて処理することになる。
【００８８】
このように、学習データとして、原稿を正立方向のみにそろえて、訓練用シンボル系列データを用意すれば、原稿が正立している場合における文字方向に固有な行内矩形の並び傾向を学習できる。ここに、訓練行学習手段が実現されている。
【００８９】
そして、識別したい文字行の行内矩形の配置情報を学習時と同じ要領でシンボル系列に変換した後、学習済みのｔｒｉｇｒａｍ表を用いて、そのシンボル系列の出現確率を算出する（評価値算出手段）。
【００９０】
上述したような処理を終了すると、識別したい文字行の行内矩形の座標を９０度回転させた後（回転変換手段）、同様に、行内矩形の配置情報を学習時と同じ要領でシンボル系列に変換した後、学習済みのｔｒｉｇｒａｍ表を用いて、そのシンボル系列の出現確率を算出する（評価値算出手段）。
【００９１】
このように回転角度が９０度きざみになっていることに注目すると、回転処理は９０度を、所定回数だけ繰り返すことによって実現可能である。回転角度毎に出現確率を演算する必要があるので、現在の回転角度の場合の出現確率の演算が終了したら、現在の行内矩形をさらに９０度回転変換すれば、９０度回転用の処理を用意するだけで、１８０度回転、２７０度回転処理も実現でき、無駄がない。
【００９２】
座標の回転演算には三角関数を用いる。回転前の座標を（ｘ，ｙ）、回転角をθ、回転後の座標を（ｒｘ，ｒｙ）とした場合、原点（０，０）を中心に回転する式は以下のように定義される。
ｒｘ＝ｃｏｓθ＊ｘ＋ｓｉｎθ＊ｙ
ｒｙ＝−ｓｉｎθ＊ｘ＋ｃｏｓθ＊ｙ
【００９３】
なお、一般的に、原稿は読み取りガイドに原稿の用紙を接触させて置くことが多く、回転角度の可能性としては０度、９０度、１８０度、２７０度の４種で、実用上は十分である。上記の４種に限定した場合、行内矩形座標の回転変換を行うには三角関数演算は不要になり（０度、９０度、１８０度、２７０度の場合、ｓｉｎθおよびｃｏｓθは固定値）、計算速度の向上および計算資源の節約が実現できる。
【００９４】
また、回転変換について全方向を仮定する必要がない場合には、回転変換の可能性を限定することにより、検知精度を向上させることができることは明らかである。例えば、原稿の上下反転だけのみ検知するなら、０度と１８０度だけを試すだけでよい。
【００９５】
図７に示すように、行内矩形をシンボルに変換する処理は、行内における相対的な位置関係に基づくものであり、絶対座標に依存しない。
【００９６】
その後、識別したい文字行の行内矩形の座標を１８０度回転させた場合（回転変換手段）、および、２７０度回転させた場合（回転変換手段）にも、一連の同じ処理を経て、行内矩形座標を回転させた後の各出現確率を算出する（評価値算出手段）。
【００９７】
図１１は、図２におけるステップＳ４の処理の流れを示すフローチャートである。まず、ステップＳ４１では、行高さを集計する。行内矩形の高さの最大高さを求め、実際の行高さと比較する。
行内矩形の高さの最大高さ×Ａ（例えば１．２）倍＞実際の行高さ
なら、行内矩形の高さの最大高さを行高さとみなす。そうでないなら、実際の行高さ（＝行切り出し結果）を行高さとする。スキュー行や、行内矩形が小さなものばかりで構成されている場合への対策である。
【００９８】
続くステップＳ４２においては、行内矩形の終点Ｙｅ（水平行の場合）、あるいはＸｓ（垂直行の場合）の回帰直線を求める。その際、終点Ｙｅ、あるいはＸｓ位置は行の半分以下のものに限定する。求められた直線は行のベースラインとする。
【００９９】
続くステップＳ４３においては、行内矩形の始点Ｙｓ（水平行の場合）、あるいはＸｓ（垂直行の場合）に基づいて、行内矩形を整列する。
【０１００】
そして、図７に基づいて行内矩形の配置情報を量子化してシンボルに変換し（ステップＳ４４）、注目行の出現確率を学習済みのｔｒｉｇｒａｍ表を用いて文字方向別に算出する（ステップＳ４５）。
【０１０１】
ステップＳ４６においては、考慮する回転角度の可能性が残っているか否かを判断し、考慮する回転角度の可能性が残っている場合には（ステップＳ４６のＹ）、回転すべき角度を設定し（最初の回転角度は０度）、行内矩形座標を回転し（ステップＳ４７）、ステップＳ４１に戻る。考慮する回転角度の可能性を全て処理し終えた場合には（ステップＳ４６のＮ）、ステップＳ４の処理を終了する。なお、変換可能性は、メモリ等にデフォルト設定を記憶しておき、必要ならば操作者が作業前にキーボード等により指定することができる。
【０１０２】
そして、ステップＳ４における１行毎の言語判定結果を原稿全体で集計し（ステップＳ５）、原稿全体の集計結果に基づいて、当該原稿の文字方向を決定する（ステップＳ６：文字方向判定手段）。一般的には、文書における文字方向は原稿毎あるいは領域毎に一種である場合が多く、ある範囲において文字方向が混在して使われることは稀れである。よって、１行毎の識別結果を１枚の原稿全体あるいは、領域識別の一領域にわたって集計すれば、当該原稿もしくは当該領域が属する文字方向を決定することができる。集計結果を判断する基準は、たとえば多数決などが考えられる。なお、多数決により決定する場合、差が設定値以上（僅差なら不明と判断）、長い行の多い方を考慮（短い行は考慮しない）、最頻値の行高さを持つ行のみで多数決（本文行のみを決定対象とする）、などにより決定しても良い。
【０１０３】
図１２は、文字方向識別処理の流れを示す説明図である。図１２の矢印に従って説明すると、行内矩形座標の回転すべき角度を設定した後（最初の回転角度は０度）、識別対象の原稿画像を行切り出し、図７を用いて行内矩形の配置情報をシンボルに変換し、一行内の行内矩形をシンボル系列に変換する。該シンボル系列に対し、予め訓練用の行内矩形シンボルデータで学習したｔｒｉｇｒａｍ表を適用し、各行の生起確率演算を行い、該シンボル系列の出現確率を算出する。以上の処理を回転角度の可能性だけ繰り返す。これにより、回転角度別に出現確率が算出される。そして、１行毎の言語判定結果を原稿全体で集計し、垂直方向０度の行数１０、垂直方向９０度の行数５、・・・、水平方向０度の行数６８、・・・、水平方向２７０度の行数２のように集計する。そして、単純多数決により、本原稿は、最も高い出現確率を示した回転角度である当該行の属する文字方向、横書原稿０度であると判断する。
【０１０４】
このように本実施の形態によれば、文書画像の文字行における行内矩形の配置情報を表す特徴（例えば、始点の高さ、矩形サイズ（高さ、幅）、黒画素密度）を量子化し、シンボルに変換した後、それらの並びの傾向を、文書画像が正立方向である場合の訓練行における行内矩形の配置情報を表す特徴から学習して記録する。そして、文字方向識別対象行である試験行の行内矩形に対して、回転変換処理を順次実施した結果に対して、先の学習した正立方向の学習傾向を適用することによって、当該行の文字方向別の出現しやすさを評価し、文字方向を判定する。これにより、文字方向識別対象行の文字方向を行内矩形の配置情報によって分類するので、特に新たに行の特徴を抽出する処理を行わずに行切り出し処理の過程で得られる特徴を利用することにより、計算負荷、記憶容量の増大を招くことなく、高速に文字方向識別処理を実現できる。
【０１０５】
なお、スキャナとしてハンドスキャナなどを使用する場合、主走査方向を本来とは逆にすると、図１３に示すように、読み込み画像は鏡像になる。この場合を自動的に検出し、正立画像に復元することができれば、使用感を著しく改善することができる。鏡像変換されていることを検出するには、回転変換処理の部分を鏡像変換処理に置換すればよい。鏡像変換する前と後の行内矩形データ系列の、各々の出現確率を、正立画像から学習済みのｔｒｉｇｒａｍ表を用いて算出し、鏡像変換前と後とのどちらが出現確率が高いかを判断の基準にする。平面図形の鏡像変換は、その座標のアフィン変換によって容易に実現できる。なお、回転変換処理もアフィン変換によって実現可能であるし、鏡像変換と回転変換とを組み合わせた変換も同様であることは言うまでもない。このような鏡像変換は、フラッドベットスキャナのような、主走査方向とデータ格納順序とが固定である装置に関しては考慮する必要がない。
【０１０６】
［第２の実施の形態］
次に、本発明の第２の実施の形態を図１４および図１５に基づいて説明する。なお、前述した第１の実施の形態と同じ部分は同じ符号で示し説明も省略する。文字行内における空白の存在情報も、当該行を特徴づける。特に、単語間に空白を挿入する習慣があるラテン系文字行では重要な特徴である。行内における空白の存在は、行内矩形の隣接矩形との距離を行高さと比較することによって検出可能である。また、句読点やピリオドなどは、その右側に空白が挿入される場合が多いので、文字間に空白が存在するか否かも、文字方向識別の特徴となる。そこで、本実施の形態においては、文書画像の文字行における行内矩形の配置情報を表す特徴として隣接矩形との距離も含めるようにしたものである。
【０１０７】
図１４は、隣接矩形間距離を量子化する方法を示す説明図である。図１４において、行高さＨの文字行内に存在する行内矩形１は始点（Ｘ１ｓ，Ｙ１ｓ）、終点（Ｘ１ｅ，Ｙ１ｅ）により規定される矩形であり、行内矩形２は始点（Ｘ２ｓ，Ｙ２ｓ）、終点（Ｘ２ｅ，Ｙ２ｅ）により規定される矩形である。矩形１と矩形２とは、距離ｄだけ離れている。つまり、矩形１と矩形２とは正値の距離ｄを有する。よって、
ＲｉｇｈｔＤｉｓｔａｎｃｅＲａｔｅ＝ｄ／Ｈ    ・・・（８）
ＲｉｇｈｔＤｉｓｔａｎｃｅＶａｌ＝
ＩＮＴ（ＲｉｇｈｔＤｉｓｔａｎｃｅＲａｔｅ＊（Ｎ−１））＋０．５    ・・・（９）
（ただし、ＩＮＴ（）：小数点以下切捨て）
となり、距離ｄの空白部を０〜（Ｎ−１）段階にラベル付け（ＩＤ付与）することができる。
【０１０８】
図１５は、行内矩形の配置情報を表す特徴及び矩形間距離からシンボルを生成した例を示す説明図である。図１５において、行高さに対する矩形間距離の割合（ａ／Ｈ，ｂ／Ｈ，ｃ／Ｈ）に、しきい値を設ける。そして、それら行高さに対する矩形間距離の割合としきい値とを比較して、しきい値より行高さに対する矩形間距離の割合が大きい値を示した場合に空白ありと判定する。空白ありと判定された場合には、空白を意味するシンボル（例えば、ｓＳＰＣ）を挿入する。第１の実施の形態の例であれば、矩形の配置情報に対応するシンボルが２４０種類であることに対し、記憶領域サイズは１ｂｙｔｅなので１６種類（＝２５６−２４０）の特別シンボルを、さらに設定することができる。空白用のシンボルｓＳＰＣは、この１６種類のいずれかに対応させる。
【０１０９】
このように本実施の形態によれば、文書画像の文字行における行内矩形の配置情報を表す特徴（例えば、始点の高さ、矩形サイズ（高さ、幅）、黒画素密度、隣接矩形との距離）を量子化し、シンボルに変換した後、それらの並びの傾向を、文書画像が正立方向である場合の訓練行における行内矩形の配置情報を表す特徴から学習して記録する。そして、文字方向識別対象行である試験行の行内矩形に対して、回転変換処理を順次実施した結果に対して、先の学習した正立方向の学習傾向を適用することによって、当該行の文字方向別の出現しやすさを評価し、文字方向を判定する。これにより、文字方向識別対象行の文字方向を行内矩形の配置情報によって分類するので、特に新たに行の特徴を抽出する処理を行わずに行切り出し処理の過程で得られる特徴を利用することにより、計算負荷、記憶容量の増大を招くことなく、高速に文字方向識別処理を実現できる。
【０１１０】
なお、各実施の形態の文字方向識別装置１００においては、通信装置９を備えているので、通信装置９を介してインターネットやＬＡＮ等のネットワークと接続することができる。例えば、図１６に示すように、複数の文字方向識別装置１００をネットワークＮと接続することで、機能の一部をネットワークＮ上に持つような形態で実施しても良い。
【０１１１】
また、各実施の形態においては、文字方向識別装置１００としてＰＣなどのコンピュータを適用したがこれに限るものではない。例えば、図１７に示すように、画像読取手段であるスキャナ部２０１及び画像印刷装置であるプリンタ部２０２を備えた画像形成装置であるデジタル複合機２００に備えられる情報処理装置に文字方向識別装置１００を適用し、デジタル複合機２００のスキャナ部２０１で読み取ったスキャン画像（文書画像）に対して文字方向識別処理を施し、スキャン画像を正立する向きに回転（文書画像回転手段）させるようにしても良い。スキャン画像を正立する向きに回転する技術（文書画像回転手段）については、周知であるので、説明は省略する。これにより、文字方向識別結果に応じて、使用者が所望する文字方向（正立方向）にスキャン画像（文書画像）を自動回転することができる。よって、使用者は、目視によって確認した後に原稿を回転させる必要がなく、使用感を著しく改善することができる。
【図面の簡単な説明】
【０１１２】
【図１】本発明の第１の実施の形態にかかる文字方向識別装置のハードウェア構成を示すブロック図である。
【図２】文字方向識別処理の流れを示すフローチャートである。
【図３−１】スキャナから入力された文字方向識別用文書の原稿画像の一例を示す説明図である。
【図３−２】原稿画像から求められる黒画素の外接矩形の一例を模式的に示す説明図である。
【図３−３】行切り出し処理を模式的に示す説明図である。
【図４−１】水平行切り出しを行った場合の文字方向の配置の可能性を示す説明図である。
【図４−２】垂直行切り出しを行った場合の文字方向の配置の可能性を示す説明図である。
【図５−１】欧米系文字行の行内矩形の配置例を示す説明図である。
【図５−２】アジア系文字行の行内矩形の配置例を示す説明図である。
【図６】矩形に対する座標の設定例を示す説明図である。
【図７】行内矩形の配置状態を示す特徴を量子化する方法を示す説明図である。
【図８】矩形の終点座標を利用してベースラインを求める例を示す説明図である。
【図９】行内矩形の配置情報のデータ構造を示す模式図である。
【図１０】行内矩形の配置情報を表す特徴からシンボルを生成した例を示す説明図である。
【図１１】図２におけるステップＳ４の処理の流れを示すフローチャートである。
【図１２】文字方向識別処理の流れを示す説明図である。
【図１３】鏡像の一例を示す説明図である。
【図１４】本発明の第２の実施の形態にかかる隣接矩形間距離を量子化する方法を示す説明図である。
【図１５】行内矩形の配置情報を表す特徴及び矩形間距離からシンボルを生成した例を示す説明図である。
【図１６】文字方向識別装置を用いたネットワーク構成の一例を示すシステム構成図である。
【図１７】デジタル複合機を示す外観斜視図である。
【符号の説明】
【０１１３】
３        記憶媒体
１００    文字方向識別装置
２００    画像形成装置
２０１    画像読取手段
【図１】
2006260274.tif 000005
【図２】
2006260274.tif 000006
【図３−１】
2006260274.tif 000007
【図３−２】
2006260274.tif 000008
【図３−３】
2006260274.tif 000009
【図４−１】
2006260274.tif 000010
【図４−２】
2006260274.tif 000011
【図５−１】
2006260274.tif 000012
【図５−２】
2006260274.tif 000013
【図６】
2006260274.tif 000014
【図７】
2006260274.tif 000015
【図８】
2006260274.tif 000016
【図９】
2006260274.tif 000017
【図１０】
2006260274.tif 000018
【図１１】
2006260274.tif 000019
【図１２】
2006260274.tif 000020
【図１３】
2006260274.tif 000021
【図１４】
2006260274.tif 000022
【図１５】
2006260274.tif 000023
【図１６】
2006260274.tif 000024
【図１７】
2006260274.tif 000025