(57)【要約】【課題】文字数が少ない原稿であっても精度よく原稿の正方向を検知すること。【解決手段】単一文字毎の特徴量を保持する第１の辞書と、所定の文字毎の重み付け倍率を保持する第２の辞書と、前記原稿画像データに含まれる文字画像データの特徴量を抽出する抽出手段と、前記原稿画像データの複数の所定の向きに関して、前記抽出手段により抽出した特徴量と前記第１の辞書の特徴量とを比較して、比較した前記第１の辞書の特徴量に対応付けられた文字に関する信頼度を取得する信頼度取得手段と、前記信頼度を取得した文字が前記第２の辞書に存在する場合、一致した文字の前記信頼度に前記重み付け倍率で重み付けする重み付け手段と、前記複数の所定の向きのうちから、重み付けされた前記信頼度に基づいて前記原稿画像データの正方向を決定する正方向決定手段とを備えたことを特徴とする。【選択図】図１２
2020135022.tif 000002
【特許請求の範囲】
【請求項１】
原稿をスキャンして原稿画像データを生成する画像取得手段を有する画像処理装置であって、
単一文字毎の特徴量を保持する第１の辞書と、
所定の文字毎の重み付け倍率を保持する第２の辞書と、
前記原稿画像データに含まれる文字画像データの特徴量を抽出する抽出手段と、
前記原稿画像データの複数の所定の向きに関して、前記抽出手段により抽出した特徴量と前記第１の辞書の特徴量とを比較して、比較した前記第１の辞書の特徴量に対応付けられた文字に関する信頼度を取得する信頼度取得手段と、
前記信頼度を取得した文字が前記第２の辞書に存在する場合、一致した文字の前記信頼度に前記重み付け倍率で重み付けする重み付け手段と、
前記複数の所定の向きのうちから、重み付けされた前記信頼度に基づいて前記原稿画像データの正方向を決定する正方向決定手段と
を備えたことを特徴とする画像処理装置。
【請求項２】
前記正方向決定手段は、前記所定の向き毎にすべての前記信頼度の累積値を取得し、前記累積値が最も大きい前記所定の向きを正方向とすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２の辞書は、複数の文字からなる所定の文字列毎の重み付け倍率をさらに保持し、
前記重み付け手段は、前記信頼度を取得した文字が前記第２の辞書の所定の文字列を構成する場合、前記所定の文字列を構成する各文字の前記信頼度に前記第２の辞書の対応する前記所定の文字列の重み付け倍率で重み付けする
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記第２の辞書が保持する前記所定の文字列は、前記原稿の種別毎に頻出する文字列であることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記第２の辞書は、前記原稿の種別毎に別々に作成された複数の原稿種別辞書を含み、
前記重み付け手段は、前記原稿画像データに対応する前記原稿の種別に応じた前記原稿種別辞書に基づいて重み付けすることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記原稿画像データの向きが前記正方向決定手段で決定した前記正方向と一致しない場合、前記原稿画像データの向きが前記正方向となるよう前記原稿画像データに回転処理を行う回転処理手段をさらに備えたことを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記画像取得手段は、原稿台に載置された複数の原稿に対応する画像領域を含むスキャン画像データを生成し、
前記スキャン画像データから前記画像領域を切り出して前記複数の原稿それぞれに対応する複数の原稿画像データを生成する画像処理手段をさらに備えたことを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記原稿画像データの文字列向きを取得する文字列向き取得手段をさらに備えたことを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
前記文字列向き取得手段は、前記原稿画像データに対応する前記原稿の種別に基づき、前記原稿の種別に対応付けられた前記文字列向きを取得することを特徴とする請求項８記載の画像処理装置。
【請求項１０】
前記原稿画像データにおける文字列向き候補を検出する文字列向き検出手段をさらに備え、
前記信頼度取得手段および前記正方向決定手段は、検出された前記文字列向き候補を前記複数の所定の向きとする
ことを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記信頼度取得手段および前記正方向決定手段は、前記原稿画像データの各辺を水平な上辺とする向きを前記複数の所定の向きとする
ことを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１２】
画像取得手段で原稿をスキャンして生成された原稿画像データに含まれる文字画像データの特徴量を抽出する抽出手段と、
単一文字毎の特徴量を保持する第１の辞書を有し、前記原稿画像データの複数の所定の向きに関して、前記抽出手段により抽出した特徴量と前記第１の辞書の特徴量とを比較して、比較した前記第１の辞書の特徴量に対応付けられた文字に関する信頼度を取得するステップと、
所定の文字毎の重み付け倍率を保持する第２の辞書を有し、前記信頼度を取得した文字が前記第２の辞書に存在する場合、一致した文字の前記信頼度に前記重み付け倍率で重み付けするステップと、
前記複数の所定の向きのうちから、重み付けされた前記信頼度に基づいて前記原稿画像データの正方向を決定するステップと
を有することを特徴とする画像処理方法。
【請求項１３】
請求項１２に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャナの原稿台に載置された原稿を読み取る技術に関するものである。
【背景技術】
【０００２】
従来から、帳票や、非定型面積の領収書や、名刺、カードなどの原稿をスキャナの原稿台上に複数枚並べてまとめて読み取り、生成されたスキャン画像データから各原稿に対応する画像領域を検出して切り出すマルチクロップ処理が知られている。
【０００３】
マルチクロップ処理を使用する場合、ユーザが手作業で複数枚の原稿を原稿台上に並べるため、原稿の向きが同一方向（上向き・下向き・左向き・右向きのいずれか１つ）に揃わない場合がある。そのためマルチクロップ処理では、まず、スキャン画像データにおける原稿に対応する画像領域と背景との境界線を検出し、検出した境界線で構成される矩形領域の４頂点を特定し、その矩形領域を切り出す。このとき、原稿に対応する画像領域である矩形領域がスキャン画像データに対して傾いている場合は傾きを補正するように切り出した原稿画像データに対して回転処理を行う。このようにして各原稿に対応する画像領域を切り出して原稿画像データを生成した後に、各原稿画像データの向きが正方向となるように（例えば、文字が正しい向きとなるように）必要に応じてさらに回転処理を行う。この原稿画像データを正方向となるように補正する画像処理を「方向検知（または方向補正）処理」と呼ぶこととする。
【０００４】
方向検知処理には、原稿画像データに対してＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）処理などを実施し、その結果を方向検知処理に用いる方法がある。特許文献１では、１枚の原稿を読み取って生成した原稿画像データに対しＯＣＲ処理を行い、その結果認識された文字方向に基づき方向検知処理を行う方法が検討されている。さらに、特許文献２では、方向検知処理に用いる文字として適切でないものを省くことで、原稿画像データの方向検知精度を上げる方法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−１８１１３７号公報
【特許文献２】特開２０１１−３３８２６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、小売やサービス業で支払いの証明として顧客が受け取る「レシート」などの比較的文字数が少ない領収書等の原稿画像データを対象とする場合、特許文献１のような方向検知処理では十分な方向検知精度を実現することが難しいという課題がある。方向検知精度を上げるために特許文献２のような方法を用いることもできるが、レシートのように文字数が少ない場合には十分な改善効果が得られないという課題がある。
【０００７】
そこで本発明では、文字数が少ない原稿であっても精度よく原稿の正方向を検知することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、原稿をスキャンして原稿画像データを生成する画像取得手段を有する画像処理装置であって、単一文字毎の特徴量を保持する第１の辞書と、所定の文字毎の重み付け倍率を保持する第２の辞書と、前記原稿画像データに含まれる文字画像データの特徴量を抽出する抽出手段と、前記原稿画像データの複数の所定の向きに関して、前記抽出手段により抽出した特徴量と前記第１の辞書の特徴量とを比較して、比較した前記第１の辞書の特徴量に対応付けられた文字に関する信頼度を取得する信頼度取得手段と、前記信頼度を取得した文字が前記第２の辞書に存在する場合、一致した文字の前記信頼度に前記重み付け倍率で重み付けする重み付け手段と、前記複数の所定の向きのうちから、重み付けされた前記信頼度に基づいて前記原稿画像データの正方向を決定する正方向決定手段とを備えたことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、文字数が少ない原稿であっても精度よく原稿の正方向を検知することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に関する適用可能なシステムの全体構成を示す図である。
【図２】本発明の一実施形態に関する画像読取装置のハードウェア構成例を示す図である。
【図３】本発明の一実施形態に関する画像処理機能全体のシーケンスを示す図である。
【図４】本発明の一実施形態に関するＵＩ表示を示す図である。
【図５】本発明の一実施形態に関するサンプル画像など説明を行うための図である。
【図６】本発明の一実施形態に関する原稿の向きと文字領域の定義を示す図である。
【図７】本発明の一実施形態に関する文字領域の向きを説明する図である。
【図８】本発明の一実施形態に関する文字領域の向きとＯＣＲ結果の例を示す図である。
【図９】本発明の一実施形態に関するＯＣＲ辞書の内容の概要例を示す図である。
【図１０】本発明の一実施形態に関する画像データ種別文字列辞書の内容の概要例である。
【図１１】本発明の一実施形態に関するＯＣＲ結果による累積信頼度の例を示す図である。
【図１２】本発明の一実施形態に関する方向検知処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を用いて本発明に係る実施形態を詳細に説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらに限定する趣旨のものではない。
【００１２】
＜システム構成＞
図１は本発明の一実施形態に係る画像処理装置が適用可能なシステム例の全体構成を示す図である。
【００１３】
本発明が適用可能な典型的なシステムは、図１に示すように、画像処理装置１００、ＰＣ／サーバ端末１０１はイーサネット（登録商標）や無線ＬＡＮなどからなるＬＡＮ１０４に接続され、ＬＡＮ１０４はさらにインターネット１０５に接続された構成である。また、モバイル端末１０３は公衆無線通信網１０２などからインターネット１０５に接続されている。画像処理装置１００、ＰＣ／サーバ端末１０１及び、モバイル端末１０３は、ＬＡＮ１０４又は公衆無線通信網１０２からインターネット１０５に接続され、相互に通信可能となっている。なお、ＰＣ／サーバ端末１０１とモバイル端末１０３に関しては、どちらか一方のみの構成でも良いし、画像処理装置１００のみがＰＣ／サーバ端末１０１やモバイル端末１０３などが実施する処理を行っても良い。
【００１４】
画像処理装置１００は、操作部、スキャナ部及び、プリンタ部を有する複写複合機である。本実施例のシステムで、画像処理装置１００は１枚以上の名刺や免許証、ハガキなど原稿を読み取るスキャン端末として利用される。また、画像処理装置１００は、原稿台上に配置された複数の原稿を読み取って得られたスキャン画像データから原稿毎の原稿画像データを抽出するマルチクロップ処理を実施する。さらに、画像処理装置１００は、表示部や、タッチパネルやハードボタンなどの操作部を有し、操作部ではエラー通知や指示通知などの表示や、ユーザがスキャン操作や設定操作などの操作を行うことができる。
【００１５】
ＰＣ／サーバ端末１０１は、画像処理装置１００で生成された原稿画像を表示することができる。また、ＰＣ／サーバ端末１０１は、画像処理装置１００で生成された原稿画像の保存や、ＯＣＲ処理などを実施し、再利用可能なコンテンツデータを生成する。なお、画像処理装置１００が実施するマルチクロップ処理をＰＣ／サーバ端末１０１で実施しても良い。更に、ＰＣ／サーバ端末１０１は、クラウドやサーバなどの外部ストレージとの通信も可能で、保存した原稿画像データやメタデータを外部ストレージへ送信することができる。なお、本実施例では、画像処理装置１００で原稿画像データの保存、メタデータ生成及び、外部ストレージへの送信を行うフローを説明するが、ＰＣ／サーバ端末１０１で同機能を実現してもよい。
【００１６】
また、モバイル端末１０３は、操作部、無線通信部、ウェブブラウザを動作させるアプリ部を有するスマートフォンやタブレット端末である。本実施例のシステムで、モバイル端末１０３は、ＰＣ／サーバ端末１０１と同様に表示端末、操作端末及び、コンテンツデータ生成・保存端末として利用される。なお、ＰＣ／サーバ端末１０１とモバイル端末１０３は、表示、操作及び、メタデータ生成・コンテンツデータ生成・保存の機能など、どちらか一方の構成でもかまわない。
【００１７】
以上の構成要素はあくまで例示であり、すべての構成が必要というものではない。
【００１８】
＜画像処理装置１００のハードウェア構成＞
図２は、画像処理装置１００の構成を示すブロック図である。制御部１１０は、ＣＰＵ１１１、記憶装置１１２、ネットワークＩ／Ｆ部１１３、スキャナＩ／Ｆ部１１４、表示・操作部Ｉ／Ｆ部１１５を備え、これらはシステムバス１１６を介して互いに通信可能に接続されている。制御部１１０は、画像処理装置１００全体の動作を制御する。
【００１９】
ＣＰＵ１１１は、記憶装置１１２に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御を行う。
【００２０】
記憶装置１１２は、上記プログラム、画像データ、メタデータ、設定データ及び、処理結果データなどを格納し保持する。記憶装置１１２は、不揮発性メモリであるＲＯＭ１１７、揮発性メモリであるＲＡＭ１１８及び、大容量記憶領域であるＨＤＤ１１９などを含む。
【００２１】
ＲＯＭ１１７は、制御プログラムなどを保持する。ＣＰＵ１１１はＲＯＭ１１７に記憶された制御プログラムを読み出し、画像処理装置１００を制御する。
【００２２】
ＲＡＭ１１８は、ＣＰＵ１１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。
【００２３】
ＨＤＤ１１９は、大容量記憶領域であるＨＤＤで、画像データ、メタデータなどを保存する記憶領域として用いられる。
【００２４】
ネットワークＩ／Ｆ部１１３は、制御部１１０（画像処理装置１００）をＬＡＮ１０４に接続するインタフェースである。ネットワークＩ／Ｆ部１１３は、ＰＣ／サーバ端末１０１やモバイル端末１０３等のＬＡＮ１０４上の外部装置に画像データを送信したり、ＬＡＮ１０４上の外部装置から各種情報を受信したりする。
【００２５】
スキャナＩ／Ｆ部１１４は、スキャナ部１２０と制御部１１０を接続するインタフェースである。スキャナ部１２０は、原稿台上の原稿を読み取ってスキャン画像データを生成し、スキャナＩ／Ｆ部１１４を介して制御部１１０に入力する画像取得手段である。
【００２６】
表示・操作部Ｉ／Ｆ部１１５は、表示・操作部１２１と制御部１１０とを接続するインタフェースである。表示・操作部１２１には、タッチパネル機能を有する液晶表示部やテンキー、スタートボタン、キャンセルボタン等のハードキーが備えられている。スタートボタンは、コピーやスキャンの処理を開始させるためのボタンである。キャンセルボタンは画像処理装置１００が実行中の処理を一時停止、または中止するためのボタンである。
【００２７】
その他、画像処理装置１００にはプリンタ部等もあるものがあるが、本実施例では用いないため省略する。
【００２８】
以上のように、本実施例に係る画像処理装置１００では、上記のハードウェア構成によって、画像処理機能を提供することが可能である。
【００２９】
＜「スキャンして送信」機能の実行フロー＞
図３を用いて、ユーザが「スキャンして送信」機能を用いてマルチクロップ処理を実行するための処理シーケンスを説明する。本実施例で説明する処理は、画像処理装置１００が有しているＣＰＵ１１１が記憶装置１１２に記憶された制御プログラムを読み出して制御プログラムを実行することにより実現される。
【００３０】
「スキャンして送信」機能とは、ＬＡＮ等ネットワークに接続された画像処理装置１００で原稿をスキャンし、得られたスキャン画像データを外部装置に送信する機能である。具体的には、スキャナで読み取って生成したスキャン画像データに対し、画像処理やフォーマット変換を実行し、ユーザの指定したサーバのフォルダや、電子メール、複写機内のＨＤＤ１１９に送信する機能である。
【００３１】
機能使用指示Ｓ４００において、ユーザは、表示・操作部１２１を操作して「スキャンして送信」機能ボタンを選択することで、画像形成装置１００に対してスキャン機能の使用を指示することができる。画像処理装置１００は、表示・操作部１２１を介して「スキャンして送信」機能ボタンの選択を受け付ける。図４（ａ）は表示・操作部１２１に表示されるメインメニューＵＩ５００である。メインメニューＵＩ５００は、画像処理装置１００で実施可能な機能がボタンとして表示される画面である。例えば、「コピー」機能ボタン５０１、「スキャンして送信」機能ボタン５０２、「スキャンして保存」機能ボタン５０３、「保存ファイルの利用」機能ボタン５０４、「プリント」機能ボタン５０５などが表示される。画像処理装置１００はメインメニューＵＩ５００を介して、ユーザからの実施したい機能の選択を受け付ける。本実施例では、ユーザが「スキャンして送信」機能ボタン５０２をタップ操作して選択したとする。
【００３２】
設定ＵＩ表示Ｓ４０１において、画像処理装置１００は、表示・操作部１２１に「スキャンして送信」機能の設定画面を表示する。図４（ｂ）は表示・操作部１２１に表示される設定画面である「スキャンして送信」設定ＵＩ５１０の一例である。「スキャンして送信」設定ＵＩ５１０は「スキャンして送信」機能の各種設定の状態を示している。例えば、「送信先」ブロック５１１は、スキャンして生成したスキャン画像データを送信する送信先のアドレスを表示する。ユーザが「送信先」ブロック５１１をタップ操作すると不図示の送信先設定画面が表示され、ユーザはスキャン画像データの送信先を入力することができる。本実施例では、画像処理装置１００がスキャン画像データに対してマルチクロップ処理を行って生成した原稿画像データをＰＣ／サーバ端末１０１に送信する。そこで、「送信先」ブロック５１１にＰＣ／サーバ端末１０１のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）やＩＰアドレス等が設定される。「スキャン／送信設定」ボタン５１２は、生成するスキャン画像データのカラー設定や生成する画像ファイルのフォーマット、原稿の種類の状態を表示する。また、「その他の機能」ボタン５１３は「スキャンして送信」設定ＵＩ５１０に表示されていない応用機能を設定するためのボタンである。
【００３３】
基本設定指示Ｓ４０２において、ユーザは、表示・操作部１２１を操作して「スキャンして送信」設定ＵＩ５１０上の各ボタンを選択することで、画像形成装置１００に対して基本機能の設定を指示することができる。画像処理装置１００は、ユーザから「スキャンして送信」設定ＵＩ５１０で設定することのできる設定項目の設定指示を受け付ける。基本設定指示Ｓ４０２で受け付けられる設定とは、例えば、生成するスキャン画像データのカラー設定や生成する画像ファイルのフォーマット選択などである。画像処理装置１００は、「送信先」ブロック５１１、「スキャン／送信設定」ブロック５１２のいずれかのタップ操作を受け付けて、それぞれに対応する設定項目の入力を受け付ける。
【００３４】
基本設定Ｓ４０３において、画像形成装置１００は、Ｓ４０２でユーザが指示した「スキャンして送信」機能の基本設定の設定値を画像処理装置１００のＲＡＭ１１８に記憶する。
【００３５】
次に、応用設定指示Ｓ４０４において、ユーザは、「その他の機能」ボタン５１３をタップ操作し選択することで、画像形成装置１００に対して応用機能の設定を指示することができる。
【００３６】
詳細設定ＵＩ表示Ｓ４０５において、画像処理装置１００は、ユーザによる「その他の機能」ボタン５１３の選択を受け付けると、応用機能の設定を行うための画面を表示・操作部１２１に表示する。図４（ｃ）は応用機能を設定するための「その他の機能」設定ＵＩ５２０の一例である。「その他の機能」設定ＵＩ５２０は、画像処理装置１００が実行可能な「スキャンして送信」機能の各種応用機能を設定するためのボタンを表示する。「その他の機能」設定ＵＩ５２０は、例えば、「ページ集約」ボタン５２１や「カラータイプ」ボタン５２２、「原稿の種類」ボタン５２３、「カラーの調整」ボタン５２４、「ファイル名」ボタン５２５、「マルチクロップ」ボタン５２６などを表示する。「マルチクロップ」ボタン５２６は、原稿を読み取って生成されたスキャン画像データから、各原稿に対応する原稿画像データを抽出する処理の実行を指示するためのボタンである。本実施例では、「その他の機能」設定ＵＩ５２０は、「スキャンして送信」設定ＵＩ５１０から設定することのできる設定項目と重複する設定項目を表示する。「その他の機能」設定ＵＩ５２０は、「スキャンして送信」設定ＵＩ５１０から設定することのできる設定項目を除いた設定項目を表示するものとしてもよい。
【００３７】
マルチクロップ設定指示Ｓ４０６において、ユーザは「その他の機能」設定ＵＩ５２０の「マルチクロップ」ボタン５２６をタップ操作して選択することで、画像形成装置１００に対してマルチクロップ処理の設定を指示することができる。
【００３８】
ユーザが「マルチクロップ」ボタン５２６をタップ操作して選択すると、Ｓ４０７において画像処理装置１００は、マルチクロップ処理を実行することを示すマルチクロップ処理フラグをＯＮに設定する。マルチクロップ処理フラグはＲＡＭ１１８に記憶される。また、Ｓ４０７において、画像処理装置１００は、表示・操作部１２１に「その他の機能」設定ＵＩ５２０において図４（ｄ）に示すように「マルチクロップ」ボタン５２６を選択されたことを示すように表示させる。例えば、ユーザが「マルチクロップ」ボタン５２６を選択すると、「その他の機能」設定ＵＩ５２０の「マルチクロップ」ボタン５２６の色が反転し、マルチクロップ処理がオンに設定されていることを示す画面が表示される。
【００３９】
また、ユーザが「マルチクロップ」ボタン５２６をタップすると、図４（ｅ）のようにユーザに原稿の文字列の向きを設定するための画面５３０が表示される。ここにはレシートが該当する「横書き」ボタン５３１、名刺などが該当する「縦書き」ボタン５３２、縦書きと横書きの原稿が混在して原稿台に置かれている場合に設定する「混在」ボタン５３３が配置されている。なお、選択肢となるボタンの表示には、文字列の向きではなく「レシート」、「名刺」といった原稿の種類名を使用しても構わない。
【００４０】
原稿の文字列向き設定指示Ｓ４０８において、ユーザは、「横書き」ボタン５３１、「縦書き」ボタン５３２、「混在」ボタン５３３のいずれか１つをタップ操作して選択することで、画像形成装置１００に対して原稿の文字列向きを指示することができる。本実施例での対象原稿はレシートなので、ユーザにより「横書き」ボタン５３１がタップ操作により選択されたものとする。
【００４１】
このユーザ操作に従って、Ｓ４０９において画像処理装置１００は、原稿の文字列向きを示す文字列向き設定を「横書き」に設定する。文字列向き設定はＲＡＭ１１８に記憶される。また、Ｓ４０９において、画像処理装置１００は、表示・操作部１２１に図４（ｅ）に示す「横書き」ボタン５３１の色を反転させることにより、横書き原稿設定がオンに設定されていることを示す。続いてユーザが「閉じる」ボタン５３４をタップ操作して選択すると、表示・操作部１２１は「その他の機能」設定ＵＩ５２０を表示する。さらにユーザが、「閉じる」ボタン５２７をタップ操作して選択すると、表示・操作部１２１は「スキャンして送信」設定ＵＩ５１０を表示する。
【００４２】
スキャン指示Ｓ４１０において、ユーザは、スタートキー５０６をタップすることで、画像処理装置１００に原稿の読み取り開始を指示することができる。スタートキー５０６がタップされると、画像処理装置１００は、原稿をスキャンするための各種設定情報をＲＡＭ１１８に書き込み、原稿の読み取り処理の準備を開始する。
【００４３】
原稿の読み取り処理が開始されるとまず、スキャンＳ４１１において、画像処理装置１００は、スキャナ部１２０に対してスキャナを駆動させ、スキャナ部１２０の原稿台に置かれた原稿を読み取らせる。
【００４４】
画像形成Ｓ４１２において、画像処理装置１００は、スキャンＳ４１１で原稿を読み取らせることによりスキャナ部１２０から得られる信号値を画像処理で扱えるビットマップ形式の画像データ（スキャン画像データ）へ変換する。例えば、Ｓ４１２において、画像処理装置１００は、スキャナ部１２０から入力された輝度信号値を８ビットのデジタル信号に変換し、ＨＤＤ１１９にスキャン画像データとして格納を行う。
【００４５】
図５は、複数枚のレシート原稿が原稿台に載置された状態を示す模式図である。ここでは、Ａ３サイズの領域を読み取ることが可能なスキャナ部１２０に７枚の原稿が配置されているとする。レシートは比較的サイズの小さな原稿であり、様々なサイズや縦横比の種類が存在する。また見た目のデザインもまちまちであり、ユーザに向かって裏返しに置くことを考えると、図のように乱雑に置かれることが一般的となる。もちろん原稿台に載置される原稿の枚数、配置はこれに限らない。
【００４６】
マルチクロップ処理Ｓ４１３において、画像処理装置１００は、Ｓ４１２においてＨＤＤ１１９内に格納したスキャン画像データを取得する。画像処理装置１００は、ＣＰＵ１１１により、取得したスキャン画像データから各原稿領域と背景との境界（エッジ）を識別して各原稿に対応する矩形の原稿領域を構成する４頂点の座標を検出し、検出した各原稿領域の４頂点座標値をＲＡＭ１１８に記憶する。画像処理装置１００は、マルチクロップ座標検出処理Ｓ４１３で検出した各原稿領域の４頂点座標値を取得し、Ｓ４１２において生成されたスキャン画像データから各原稿領域に対応する画像データ（原稿画像データ）を切り出す。画像処理装置１００は、原稿領域の各辺がスキャン画像の各辺に対して平行又は垂直でない場合は、各原稿領域の４頂点座標を元に、射影変換や台形変換、アフィン変換などを用いて傾き補正も同時に行われるようにして、原稿画像データの切り出し処理を行う。画像処理装置１００は、切り出し後の各原稿画像データをＨＤＤ１１９に格納する。このとき画像処理装置１００は、原稿画像データを圧縮し、データ圧縮後の原稿画像データをＨＤＤ１１９に格納してもよい。
【００４７】
文字認識前処理Ｓ４１４において、画像処理装置１００は、ＨＤＤ１１９から原稿画像データを取得する。画像処理装置１００は、ＣＰＵ１１１により、取得した原稿画像データに対してＯＣＲ処理に必要な画像前処理（例えば、二値化、線分除去、ノイズ除去、レイアウト分析など）を行い、処理済の原稿画像データをＲＡＭ１１８に記憶する。原稿画像データが圧縮されている場合は、画像前処理前に原稿画像データに復号を行う。
【００４８】
方向検知処理Ｓ４１５において、画像処理装置１００は、ＣＰＵ１１１によりＲＡＭ１１８に記憶した原稿画像データに対して原稿向きの絞り込み処理を行う。その後画像処理装置１００は、ＯＣＲ処理を実行し、文字画像から得られた文字毎の特徴ベクトルから、原稿画像データの方向を判別する。この処理については詳細を後述する。
【００４９】
方向補正画像処理Ｓ４１６において、画像処理装置１００は、Ｓ４１５において検知された回転角度に基づいて、Ｓ４１３で切り出された原稿画像データに対し正方向になるように回転処理を行う。一般的に原稿画像データの正方向は、原稿領域が矩形の場合、その原稿領域の各辺を水平な上辺とする向きである、０°、９０°、１８０°、２７０°のいずれかの１方向なので、ここでの回転処理は上記４方向への方向補正処理となる。なお、言うまでもないが、Ｓ４１５で正方向が０°と判定された場合は、Ｓ４１６の回転処理をスキップするようにしてもよい。
【００５０】
マルチクロップ処理結果ＵＩ表示Ｓ４１７において、画像処理装置１００は、マルチクロップ処理および原稿方向補正処理後の各原稿画像データを表示・操作部１２１に表示する。図４（ｆ）は表示・操作部１２１に表示されるマルチクロップ及び原稿方向補正の処理結果を示す画面の一例である。図４（ｆ）に示すように「原稿検出結果表示」ＵＩ５４０は、マルチクロップ及び原稿方向補正処理で得られた各原稿画像を並べて表示する。
【００５１】
送信指示Ｓ４１８において、ユーザは、表示・操作部１２１に表示された原稿画像から原稿画像データの切り出し・方向補正処理結果を確認する。そして、ユーザは切り出されて方向補正された原稿画像データの保存、送信指示をする。ユーザは、スタートキー５０６を押下することで、切り出し・方向補正処理後の各原稿画像データの保存、送信を画像処理装置１００に指示する。画像処理装置１００は、Ｓ４１８において、原稿画像データをＰＣ／サーバ端末１０１へ送信を行うための送信指示をユーザから受け付ける。
【００５２】
画像送信Ｓ４１９において、画像処理装置１００は、クロップ処理後の原稿画像データをＰＣ/サーバ端末１０１に送信する。Ｓ４１９においてＰＣ/サーバ端末１０１に送信される原稿画像データは、「スキャンして送信」設定ＵＩ５１０や「その他の機能」設定ＵＩ５２０を介して設定された設定値を反映した画像データである。
【００５３】
保存Ｓ４２０において、ＰＣ／サーバ端末１０１は、画像処理装置１００から送信された各原稿画像データを保存する。ここで、ＰＣ/サーバ端末１０１は原稿画像データを保存するだけでも良いが、例えば、原稿画像データに対し文字認識処理（ＯＣＲ処理）を行い、文字認識処理結果をメタデータとして原稿画像データに付加して記憶するようにしてもよい。このようにすることで、原稿画像データの検索性が向上させたり、原稿画像データから抽出された情報をシステムに登録したりすることができる。
【００５４】
格納データの閲覧指示Ｓ４２１において、ユーザは、ＰＣ／サーバ端末１０１を操作して原稿画像データの表示を指示することができる。
【００５５】
格納データの表示提供Ｓ４２２において、ＰＣ／サーバ端末１０１は、ユーザから表示が指示された原稿画像データをＰＣ/サーバ端末１０１の表示部に表示する。ＰＣ/サーバ端末１０１に記憶された原稿画像データに対してＯＣＲ処理等の処理がされている場合、ＰＣ/サーバ端末１０１はＳ４２０においてＯＣＲ処理の結果等を表示することも可能である。本実施例では、保存された原稿画像データをＰＣ/サーバ端末１０１の表示部に表示するとした。ＰＣ/サーバ端末１０１がユーザからの指示に従って、ユーザのＰＣやタブレット端末等のクライアント端末に原稿画像データを送信するとしてもよい。
【００５６】
＜方向検知に利用するＯＣＲの信頼度の計算＞
本実施例の方向検知処理Ｓ４１５において、画像処理装置１００は、ＣＰＵ１１１により既存技術である「特徴ベクトルを利用したＯＣＲ」による文字認識を実行する。ここで説明するのは、後述するステップＳ６０３とステップＳ６０４に相当する処理である。
【００５７】
ここで本発明は、原稿の方向を最も正確に表しているのは文字であることに着目し、原稿中の数種類の文字領域に対して０°、９０°、１８０°、２７０°の方向から文字認識を行う。つまり、原稿画像データを画像回転処理により、９０°、１８０°、２７０°と回転させ、回転前の０°を含むそれぞれの向きでＯＣＲを行う。その結果得られるそれら各方向における文字認識の信頼度が最も高い方向を原稿の正方向とするよう正方向決定を行う。信頼度とは、文字認識結果の信頼度、もしくは文字認識結果と文字認識辞書に含まれる文字毎の特徴量との類似度と読み替えることもできる。文字認識辞書の詳細については後述する。
【００５８】
本実施例では、後述するステップＳ６０１の処理にて、原稿の向きとしては０°と１８０°又は９０°と２７０°に候補が絞り込まれるため、ここからは絞り込まれた２方向について図示しながら説明する。
【００５９】
一般的にＯＣＲの前処理として、原稿画像データから文字領域の矩形情報を抽出する。ここで、文字領域とは、文章部、タイトル部、表中の文字部などである。例えば、図６（ａ）、（ｃ）に示す原稿の場合は、それぞれ図６（ｂ）、（ｄ）に示すような文字領域の矩形情報が抽出される。抽出された文字領域に対して、さらに文字領域内文字ブロック（各文字単位のブロック）に分割して、すべての文字領域内の各文字ブロックに対してＯＣＲによる文字認識を行う。文字領域内文字ブロックとは、図６（ｅ）に示す文字領域に対して図６（ｆ）に示すような１文字単位での矩形情報を指す。
【００６０】
図７（ａ）、（ｂ）は、「合」と「計」とからなる文字領域内文字ブロック列を抽出した例である。図７（ａ）はこの文字列が正方向である場合を示しており、図７（ｂ）は同文字列が１８０°回転した状態を示している。ここでこの文字ブロック列の最初の「合」に注目する。「合」により文字方向を判別する場合は、図８（ａ）に示すように、１つの文字画像「合」について、０°、１８０°の２方向から文字認識を行う。なお、２方向について文字認識を行う方法としては、例えば、切り出された原稿画像データ（または各文字画像データ）を０°、１８０°の２方向に回転させて各文字画像データの特徴ベクトルを抽出し、文字認識辞書と比較して文字認識を行うようにしてもよい。また、各文字画像データから特徴ベクトルを抽出して、抽出した特徴ベクトルを０°、１８０°の２方向に回転させて文字認識辞書との比較を行うようにしてもよい。
【００６１】
各回転角度における文字認識結果は、図８（ｂ）に示すように、互いに異なっている。さらに、図８（ｃ）には図８（ｂ）に示された各回転角度における文字認識処理結果の信頼度が示されている。なお、図８（ｂ）、（ｃ）の文字認識処理結果および信頼度は一例であり、ＯＣＲのアルゴリズムやスキャン環境（ノイズ等）に依存するので、現実にこのとおりになるとは限らない。
【００６２】
図８（ｂ）に示すように、正方向（０°）から文字認識を行った場合は、「合」と正しく認識され、信頼度も０．９０と高い値となる。１８０°回転した方向から文字認識を行った場合は、「号」と誤認識され、信頼度も０．３０と低下する。このように誤認識が発生し、信頼度も低下するのは、回転した方向から見た場合の特徴ベクトルに基づいて文字認識を行ったからである。なお、文字認識の方向判別の信頼度は、複雑な文字であればある程、その差が顕著に現れてくる。
【００６３】
＜ＯＣＲ辞書（文字認識辞書）の構成＞
図９は本実施例で使用するＯＣＲ辞書の一例である。ＯＣＲ辞書とは、既存技術である特徴ベクトルを利用したＯＣＲにおいて、認識したい単一文字毎に対応付けられた基準となる特徴ベクトル（特徴量）を収めたものであり、ＲＯＭ１１７等に格納されている。このＯＣＲ辞書は、後述するステップＳ６０４で使用されるものである。ＯＣＲ辞書に格納する文字の数に制限はない。しかし、図９に示すようにレシートに頻出する文字や、レシートには必ず現れる数字（０〜９）など、後述する原稿の種別の文字列辞書に格納している文字については必ず格納しておく。レシートに頻出する文字としては、「合」、「計」、「金」、「額」、「点」、「数」、「品」、「目」などの文字がある。なお、図９のＯＣＲ辞書例に示した文字には、上記の一部しか記載していないことに注意されたい。また、後述する頻出文字例も一部のみであり、利用実例に基づいて追加調整されるべきなのはいうまでもない。
【００６４】
辞書内では、これらの文字がｎ次元の特徴ベクトルに変換されて保存される。この特徴ベクトルは、ＯＣＲ処理の際に取り出され、原稿画像データから抽出された各文字ブロック内の文字画像データと比較される。なお、図６に示す特徴ベクトルの値は一例であり、実装する特徴ベクトルが現実にこの通りである必要は無い。
【００６５】
＜ＯＣＲの信頼度と重み付けを考慮した累積信頼度の計算＞
図１１（ａ）〜（ｄ）には、ある１枚のレシート原稿を、前述のように０°、９０°、１８０°、２７０°と回転させ原稿を示し、図１１（ａ）、（ｃ）にはそれぞれの向きでＯＣＲしたときの累積信頼度の一例を表している。本実施例では、後述するステップＳ６０１の処理にて、原稿向きとしては０°と１８０°に候補が絞り込まれるため、絞り込まれた２方向についてのみ累積信頼度をグラフ１１００、グラフ１１０５として図示している。
【００６６】
ここでは、前述したＯＣＲ辞書を使い、各文字がＯＣＲで検出されたときの原稿向き毎の信頼度を、原稿全体で合計した累積値を「累積信頼度」として、黒い棒グラフとして表している。つまり、図１１（ａ）に示す原稿向きでの文字「合」の累積信頼度は黒い棒グラフ１１０１となり、図１１（ｃ）に示す原稿向きでの文字「合」の累積信頼度は黒い棒グラフ１１０３となる。一般的にＯＣＲでは、１文字を認識処理したとき、複数の候補の抽出とそれらの候補に対する信頼度を計算できる。累積信頼度はその各候補に対する信頼度値を原稿内で総計したヒストグラムと考えてよい。
【００６７】
ここまでは一般的な累積信頼度の求め方の一例であるが、ここから本発明における特徴である、特定文字の信頼度に対する重み付けに関して説明する。本説明は、後述するステップＳ６０５、ステップＳ６０６、ステップＳ６０７に相当する処理に該当する。
【００６８】
まず、図１０の原稿画像データに対応する原稿の種別毎に別々に作成された原稿種別辞書、又は文字列辞書について説明する。ここでは単一文字も文字列に含むものとし、以降、原稿種別文字列辞書とする。本実施例における原稿種別文字列辞書とは、原稿画像データを生成する際に読み取られた原稿の種別（本実施例ではレシート）に頻出する文字列と、各文字列に対応する方向検知の信頼度に対する所定の重み付け倍率が記載されている辞書である。レシートに頻出する文字列とは、例えば「合計」、「金額」、「点数」、「品目」といった文字列である。これらがＯＣＲ処理により検出された場合は、その文字列に含まれる各文字（例えば「合計」であれば「合」と「計」）の信頼度それぞれに２．０倍の重み付け倍率を乗算する。この重み付け倍率は文字列毎に変更することが可能であり、「領収書」といった３文字からなる文字列に対しては各文字の重み付け倍率を３．０倍にするといった変化をつけることも可能である。逆に、文字列としては現れなくても頻出する文字である「合」が検出された場合は１．５倍にするといった調整も可能である。なお、図１０の辞書例に示した文字は、レシートに頻出する文字列の一部しか記載していないことに注意されたい。ここにあげた頻出文字例も一部のみであり利用実例に基づいて追加し調整されるべきなのはいうまでもない。
【００６９】
画像データ種別の文字列辞書は、「レシート」、「名刺」といった原稿画像データ種別毎に複数作成することができ、ＲＯＭ１１７等に格納できる。これらはスキャンする原稿に応じて切り替えて使用することができる。
【００７０】
続いて、各原稿向きにおいて原稿内のすべての文字の重み付けを加味した信頼度を合算して累積信頼度を算出する。原稿向き図１１（ａ）の累積信頼度グラフ１１００内にある白い棒グラフ１１０２や、原稿向き図１１（ｃ）の累積信頼度グラフ１１０５内にある白い棒グラフ１１０３は、重み付けを考慮した信頼度の増分である。そのため、黒い棒グラフ１１０１＋白い棒グラフ１１０２や黒い棒グラフ１１０３＋白い棒グラフ１１０４の値が、本実施例における各原稿向きにおける「合」の累積信頼度となる。また、図１１（ｅ）は、図１１（ａ）、（ｃ）の白い棒グラフ１１０２、１１０４を数値で示したものである。図中の累積信頼度の値は一例であり、実装する特徴ベクトルが現実にこの通りになる必要は無い。
【００７１】
＜「方向検知処理Ｓ４１５」のフローチャート＞
図１２は、前述の構成と計算の方法を統合して、方向検知をおこなう画像処理装置１００の処理を示すフローチャートである。図３のＳ４１５の内容を詳細に記載したものである。以下の処理は、ＣＰＵ１１１がＲＯＭ１１７、ＨＤＤ１１９等に記憶された制御プログラムを実行することにより実現される。
【００７２】
ステップＳ６０１において、画像処理装置１００は、ＣＰＵ１１１により原稿の向きを絞り込む処理を行う。具体的には、まず原稿画像データをＨＤＤ１１９から読み込み、ＲＡＭ１１８に記憶された原稿の文字列向き設定「横書き」を読み込む。続いて、原稿画像データを０°、９０°、１８０°、２７０°（図１１(ａ)〜（ｄ））と回転させ、各方向の原稿画像データの縦方向・横方向に対して黒画素数のヒストグラムを取ることによって、どの方向に文字列が並んでいるかを判定する。この方法の具体的な例としては、特開２０１２−８３５００の手法などが考えられる。そして上記４方向のうち横書きに対応する「水平方向に文字列が並ぶ２方向」を絞り込む。本実施例では図１１（ａ）、（ｃ）が該当し、これら２方向を原稿の正方向候補として抽出する。
【００７３】
ステップＳ６０２において、画像処理装置１００は、ＣＰＵ１１１により辞書の内容をＲＯＭ１１７等から読み出してＲＡＭ１１８に格納する。ここで展開する辞書は、図９に示したＯＣＲ辞書と、図１０に例示した画像データ種別の文字列辞書である。
【００７４】
ステップＳ６０３において、画像処理装置１００は、原稿画像データから文字領域を１つ選択し、その文字領域内の各文字ブロックの特徴ベクトルを抽出する。
【００７５】
ステップＳ６０４において、画像処理装置１００は、Ｓ６０２のＯＣＲ辞書内の特徴ベクトルと、Ｓ６０３で抽出した同一文字領域内の各文字ブロックの特徴ベクトルとを比較し、認識された各文字のＯＣＲ処理の信頼度を算出し、信頼度取得を行う。
【００７６】
ステップＳ６０５において、画像処理装置１００は、文字ブロックの１つを選択し、その文字ブロックで認識された文字が、同一文字領域内の連続する前後の他の文字ブロックで認識された文字とで文字列辞書に登録された文字列を構成するか否かを判定する。選択した文字ブロックで認識された文字が文字列辞書に登録された文字列と一致する文字列を構成する場合、ステップＳ６０６へ進む。一致する文字列がなければステップＳ６０７へ進む。
【００７７】
ステップＳ６０６において、画像処理装置１００は、Ｓ６０５で選択した文字ブロックで認識された文字の信頼度に対して、文字列辞書に設定された重み付け倍率に従って重み付けを行う。
【００７８】
ステップＳ６０７において、画像処理装置１００は、Ｓ６０５で選択した文字ブロックで算出した信頼度を、その文字ブロックで認識された文字の累積信頼度に加算する。なお、ステップＳ６０３からステップＳ６０７の処理の詳細については、前述したとおりである。
【００７９】
ステップＳ６０８において、画像処理装置１００は、Ｓ６０３で選択した現在の文字領域内の全文字ブロックに対して各文字ブロックで算出した信頼度を文字別の累積信頼度に加算したか否かを判定する。累積信頼度への加算が終了していない文字ブロックが同一文字領域内に存在すれば、ステップＳ６０５に戻る。同一文字領域内の全文字ブロックで累積信頼度への加算が終了していれば、ステップＳ６０９へ進む。
【００８０】
ステップＳ６０９にて、画像処理装置１００は、原稿画像データ内の全文字領域に対して特徴ベクトルの抽出が終了したか否かを判定する。特徴ベクトルの抽出が終了していない文字領域が存在すればステップＳ６１１へ進んで、次の文字領域を選択してステップＳ６０３に戻る。
【００８１】
ステップＳ６１０において、画像処理装置１００は、図１１（ａ）に示す原稿向き０°と、図１１（ｃ）に示す原稿向き１８０°とに対してこれまでの処理を行ったか否かを判定する。終了していない原稿向きがあればステップＳ６１２に進み、次に処理するべき角度へ原稿画像データを回転させ、ステップＳ６０３に戻る。すべての原稿向きに関して処理を終了していれば、ステップＳ６１３へ進む。
【００８２】
ステップＳ６１３において、画像処理装置１００は、後述する方法に基づき原稿の正方向を決定する。ここで本処理について図１１を使って説明する。図１１は、本実施形態により図１０に示したＯＣＲ信頼度の結果から原稿の方向検知を行う計算例である。図１１（ｅ）で各文字の累積信頼度を図１１（ａ）、（ｃ）の原稿向き毎に合計している。ここで原稿向き０°（図１１（ａ））の合計値が９５．６８と、原稿向き１８０°（図１１（ｃ））の合計値５２．８４よりも高い。そのため、画像処理装置１００は、原稿画像データの正方向は図１１（ａ）に示す０°の向きであると決定する。
【００８３】
以上により、本発明では、文字数が比較的少ない帳票であるレシートであっても、特定の文字列を構成する文字の信頼度に重み付けすることにより、原稿向き毎の累積信頼度の差を大きくすることが可能である。
【００８４】
＜原稿の文字列向き設定指示Ｓ４０８において「混在」＞
上記実施例では、原稿を横書きのレシートと限定し、図３のステップＳ４０８にてマルチクロップ時の文字列向き設定に「横書き」を指定されていた場合について説明した。ここでは、文字列向き設定時に「混在」と指定された場合について説明する。
【００８５】
ユーザから「混在」を指定されるケースは、例えば縦書き・横書きのどちらも多く存在する名刺を複数スキャンするケースである。この場合は図１２におけるステップＳ６０１の原稿向きを絞り込む処理前に、文字列向きを検出する処理を追加する方法がある。文字列向きを検出する方法としては、特開２０１２−８３５００で示された方法などがある。
【００８６】
また、文字列向き検出処理を追加しない場合は、ステップＳ６０１での原稿向き絞り込み処理はスキップし、原稿向き０°、９０°、１８０°、２７０°のすべてに対して累積信頼度の算出処理を行う方法でもよい。
【００８７】
なお、原稿文字列向き設定に「縦書き」と指定された場合は、ステップＳ６０１の原稿向き絞り込み時に縦方向に文字列が並んでいる原稿向きを採用する。
【００８８】
また、本実施例では文字列向きおよび原稿の種類の設定が必ず行われることを前提に説明したが、文字列向きおよび原稿の種類の設定が行われない場合は、「混在」と指定された場合と同じ処理を行えばよい。
【００８９】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９０】
画像処理装置  １００
制御部  １１０
スキャナ部  １２０
【図１】
2020135022.tif 000003
【図２】
2020135022.tif 000004
【図３】
2020135022.tif 000005
【図４】
2020135022.tif 000006
【図５】
2020135022.tif 000007
【図６】
2020135022.tif 000008
【図７】
2020135022.tif 000009
【図８】
2020135022.tif 000010
【図９】
2020135022.tif 000011
【図１０】
2020135022.tif 000012
【図１１】
2020135022.tif 000013
【図１２】
2020135022.tif 000014