(57)【特許請求の範囲】
【請求項１】
レシート画像を文字認識することにより得られた認識文字とその位置データとを記憶する画像データ記憶部と，
レシートに印字される項目名称の文字列と，前記項目名称のレシート内位置からの，その項目名称に対応する金額項目の相対位置データとを，レシートにおける読取り対象となる各項目名称ごとに定義した定義データを記憶する定義データ記憶部と，
前記画像データ記憶部に記憶された認識文字から前記定義データに定義された項目名称の文字列に一致する認識文字を抽出するレシートデータ抽出部と，
抽出された認識文字の位置データから，認識文字の傾きが検出された場合に，前記定義データにおける該当する金額項目の相対位置データを，検出された傾きに応じて補正する傾き補正部と，
補正された相対位置データを用いて，前記画像データ記憶部に記憶された認識文字とその位置データから前記金額項目を表す認識文字を抽出するレシートデータ特定部と，
前記項目名称に一致する認識文字と前記金額項目を表す認識文字とから，認識結果のデータを生成し，認識結果のデータを出力または記憶するデータ生成部とを備える
ことを特徴するレシートデータ認識装置。
【請求項２】
請求項１記載のレシートデータ認識装置において，
前記レシートは，店舗ごとに異なるフォーマットで印刷されたレシートであり，
前記定義データ記憶部には，店舗ごとに前記定義データが記憶され，
レシートを発行した店舗ごとに異なる定義データを用いて，前記レシートデータ抽出部と，前記傾き補正部と，前記レシートデータ特定部と，前記データ生成部による処理を実行する
ことを特徴とするレシートデータ認識装置。
【請求項３】
請求項２記載のレシートデータ認識装置において，
前記定義データ記憶部に記憶される定義データは，前記レシートに印字される項目名称の文字列に対応して，複数の店舗の売上管理に共通に用いられる売上管理項目名称のデータを含み，
前記データ生成部は，前記項目名称に一致する認識文字を，前記定義データに定義された対応する売上管理項目名称に変換した認識結果のデータを生成する
ことを特徴とするレシートデータ認識装置。
【請求項４】
コンピュータを，
レシート画像を文字認識することにより得られた認識文字とその位置データとを記憶する画像データ記憶手段と，
レシートに印字される項目名称の文字列と，前記項目名称のレシート内位置からの，その項目名称に対応する金額項目の相対位置データとを，レシートにおける読取り対象となる各項目名称ごとに定義した定義データを記憶する定義データ記憶手段と，
前記画像データ記憶手段に記憶された認識文字から前記定義データに定義された項目名称の文字列に一致する認識文字を抽出するレシートデータ抽出手段と，
抽出された認識文字の位置データから，認識文字の傾きが検出された場合に，前記定義データにおける該当する金額項目の相対位置データを，検出された傾きに応じて補正する傾き補正手段と，
補正された相対位置データを用いて，前記画像データ記憶手段に記憶された認識文字とその位置データから前記金額項目を表す認識文字を抽出するレシートデータ特定手段と，
前記項目名称に一致する認識文字と前記金額項目を表す認識文字とから，認識結果のデータを生成し，認識結果のデータを出力または記憶するデータ生成手段として
機能させるためのレシートデータ認識プログラム。
【請求項５】
請求項４記載のレシートデータ認識プログラムにおいて，
前記レシートは，店舗ごとに異なるフォーマットで印刷されたレシートであり，
前記定義データ記憶手段には，店舗ごとに前記定義データが記憶され，
前記コンピュータに，
レシートを発行した店舗ごとに異なる定義データを用いて，前記レシートデータ抽出手段と，前記傾き補正手段と，前記レシートデータ特定手段と，前記データ生成手段による処理を実行させる
ことを特徴とするレシートデータ認識プログラム。
【請求項６】
請求項５記載のレシートデータ認識プログラムにおいて，
前記定義データ記憶手段に記憶される定義データは，前記レシートに印字される項目名称の文字列に対応して，複数の店舗の売上管理に共通に用いられる売上管理項目名称のデータを含み，
前記データ生成手段は，前記項目名称に一致する認識文字を，前記定義データに定義された対応する売上管理項目名称に変換した認識結果のデータを生成する
ことを特徴とするレシートデータ認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，レシートデータ認識装置およびそのプログラムに関し，特に，例えばショッピングモールなどの複数の店舗の売上を管理するために，文字認識により読み取ったレシートデータから必要なデータを正確に抽出する技術に関するものである。
【背景技術】
【０００２】
ショッピングセンター，ショッピングモール等に出店するテナント（店舗を運営する会社など）の店舗を管理するテナント管理部門では，各店舗の一日の売上を収集し，現金売上，クーポン売上，…といった売上内訳（売上管理項目）を作成している。この売上内訳作成の際には，各店舗から提供される精算レシートが集められて，売上管理項目の数値を算出することが行われる。しかし，各店舗から提供される精算レシートの形式は，店舗毎に導入されているＰＯＳシステムに依存するため，さまざまな形式で作成されているのが現状である。そのため，テナント管理部門が処理する精算レシートは，項目の種類，項目名，印字サイズ，印字字体などにおいて多種多様である。
【０００３】
例えば，精算レシートの項目の名称について，売上合計，売上計，合計売上，総売上，…等は，同等の内容を示すものであっても，ＰＯＳシステムによって異なる名称が印字されている。また，出店するテナントの店舗の入れ替えなどが頻繁に行われるため，新たな精算レシートの形式にも対応しなければならない。そのため，テナント管理部門では，精算レシートを統一された売上データとして集計する売上集計作業に莫大な労力を要し，そのための人的および時間的負担に多大なコストを要しているのが現状である。
【０００４】
なお，特許文献１には，文書画像認識装置が開示されている。この文書画像認識装置では，文書画像を参照して文字を構成する成分の集合を抽出し，これをもとに横および縦の行候補を抽出し，行候補に対して信頼度を推定する。その後，推定した行信頼度に基づいて確度の高い行の集合を抽出し，その結果をもとに確度の高い行の集合の文字成分の配置を用いて傾きを推定する。そして，文書画像を構成する基礎要素の集合から行方向の確定した行集合を抽出し，行同士の関連付けによる段抽出と段を制約とした行抽出とを相互に実行して行と段を抽出する。
【０００５】
また，特許文献２には，レシート処理装置が開示されている。このレシート処理装置では，レシートの画像から文字を認識してテキストデータを生成し，テキストデータから所定の文字列を選択し，選択された所定の文字列が含まれる行位置を検出する。そして，検出された行位置に基づいて定まるテキストデータ上の所定の行範囲から行を単位とするラインデータを順に選択し，ラインデータから品目に関わるデータを抽出する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−２１９４０７号公報
【特許文献２】特開２００４−１６４２１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述したような，ショッピングセンター等の各店舗から提供される精算レシート（以下，レシートという）を集計するために，ショッピングセンター等を運営する会社（組織）のテナント管理部門では，従来，事務員が目視でレシートを読み取り，読み取ったデータを手作業でデータ処理装置に入力していた。この売上集計作業の作業量は，店舗数が１００店舗以上に及ぶこともあり，しかも毎日行わなければならない作業であるため，非常に負担が大きいものであった。
【０００８】
この負担を軽減するための一案としては，各店舗の売上データ（レシートデータ）を，各店舗の端末からネットワークを介して自動収集することが考えられる。しかし，一般に各店舗は企業体が異なるため，個々にネットワーク開設の許諾を得る必要があり，さらに導入されているシステムによって接続するネットワーク種類やアプリケーションの追加・修正の難易度が異なるなど，解決が困難な問題が存在する。
【０００９】
既存のシステムの変更，特に各店舗における端末などの情報機器の変更をできるだけ行わないで，前述した作業負担を軽減する他の案としては，レシートデータを人間が読み取るのではなく，文字画像の認識によって読み取る方法が考えられる。すなわち，各店舗のレシートを，例えばＯＣＲ（Optical Character Recognition ）機能を有する読取装置，スキャナー等で読み取り，読み取ったレシート項目とその数値データについて売上管理項目に必要なものを抽出し，売上管理データに入力し直す方法である。
【００１０】
しかし，この方法の場合にも，一般的な従来の文字画像の認識では解決できない問題を解決しなければならない。次に，この問題について説明する。
【００１１】
ＯＣＲ機能を有する読取装置等によりレシートを読み取らせる場合，レシートを透明シートに挟んだり，紙などに貼付するなどして固定した状態で，読取装置等に読み取らせる必要がある。
【００１２】
例えば，透明シートなどに挟持されたレシートは，細長いスリット状の形式であり，読み込ませる際に，挟持された精算レシート（レシート）がシートに対して傾きが発生することがある。また，シートなどに挟持されたレシートは，レシート全体が一定の角度で傾くのではなく，途中から別の角度で傾く場合がある。また，印字された際に，プリンタの紙送りずれや，調整不備などで，レシートの途中の行で，印字された項目がその前の行の項目よりもスペースが空いたりすることや，傾きを有することがある。また，レシートの途中で紙が一部折れ曲がって固定されることもある。
【００１３】
図１５は，レシートのＯＣＲ処理において誤認識が生じる例を説明する図である。図１５に示すように，例えばレシート２２ｕが長いシートの場合など，レシート上部２２１ｕからレシート下部２２２ｕの途中で紙が一部折れ曲がって傾いてしまうことがある。このような状態で，シートに挟持されているレシート２２ｕを読取装置で読み取り，ＯＣＲ処理した場合，レシート項目中の項目名称と金額との対応が正しい対応関係の行で読み取られず，項目名称と金額とが異なる行の関係で読み取られることがある。その結果，レシート項目の金額が別なレシート項目の金額に誤認識されて，売上が集計されてしまうことがある。
【００１４】
図１６（Ａ）に，レシート項目の金額が誤認識されない場合の一例を示し，図１６（Ｂ）に，レシート項目の金額が誤認識される場合の一例を示す。
【００１５】
図１６（Ａ）では，レシート２２ｖにおける傾いたレシート下部２２２ｖが示されている。レシート２２ｖの基準とする方向Ｌｂからの傾きの角度α１（図示の破線に対する角度）は，レシート項目の金額が誤認識されない範囲であるとする。例えば，レシート下部項目２２２ｖにあるレシート項目名称「総売上」（図に示すＳｔｒ＃１０１）に対応する金額項目Ｄａｔ＃１０１は，「￥６５４，７３５」であり，ＯＣＲ処理により「総売上  ￥６５４，７３５」と正しく認識される。
【００１６】
一方，図１６（Ｂ）では，精算レシート２２ｗにおける傾いたレシート下部２２２ｗが示されている。レシート２２ｗの基準とする方向Ｌｃからの傾きの角度α２（図示の破線に対する角度）は，レシート項目の金額が誤認識される範囲であるとする。例えば，レシート下部２２２ｗにあるレシート項目名称「総売上」（図に示すＳｔｒ＃１０２）に対応する金額項目Ｄａｔ＃１０２は，正しくは「￥６５４，７３５」であるが，ここでは，ＯＣＲ処理の結果により「総売上  ￥６２３，６０３」と誤認識されてしまっている。
【００１７】
この誤認識の原因は，ＯＣＲ処理結果の出力が各項目の文字列とそれらの座標情報だけであるので，その座標情報から，項目名称「総売上」（Ｓｔｒ＃１０２）の下段の行に位置する項目名称「純売上」に対応する金額項目Ｄａｔ＃１０２の「￥６２３，６０３」が，傾きの角度α２の大きさに起因して，レシート項目名称「総売上」と同じ行に位置する文字列として認識してしまうためである。
【００１８】
基準とする方向に対して，レシート２２全体が同じ傾きの角度である場合には，解決手段として，ＯＣＲ処理においてレシート２２全体の傾きの角度を検出して，レシート全体の行の傾きを補正することにより，正しい金額を抽出することはできる。しかし，図１５に示すような場合，レシート上部２２１ｕでは傾きの角度が小さく，途中の部分からのレシート下部２２２ｕでは大きく傾いている場合，レシート２２ｕ全体の傾きの角度を検出し，補正しても，図１５に示したように行の一部が異なる傾きである場合には適用できない。
【００１９】
以上説明したように，このようなレシート２２ｕを読取装置等で読み取り，レシートの数値データをＯＣＲ処理した場合，レシート項目名称と対応しない金額項目が処理されることがある。それにより，売上管理データに集計エラーが発生する。そのチェックのために，手作業で，精算レシートを照合する作業が必要となり，人的負担が軽減されない。
【００２０】
本発明は，以上の点に鑑み，各店舗の情報機器などの現状のシステムを大幅に変えることなく，各テナントの店舗のレシートから売上管理データを正確かつ効率よく収集し，売上管理業務におけるスピード化，効率化を図ることを目的としている。
【課題を解決するための手段】
【００２１】
本発明は，例えば店舗ごとに印刷されたレシートを，統一された売上管理項目に集計し直すために，レシート画像を読み取り得られた認識文字について，レシートを発行した店舗ごとに異なる定義データに登録されたレシート内の項目名称の文字列と，レシート内位置からの金額項目の相対位置データとから，必要な認識文字を抽出し，抽出された認識文字の位置データから，認識文字の傾きを検出し，認識文字の傾きが検出された場合に，該当する金額項目の相対位置データを検出された傾きに応じて補正し，補正された相対位置データを用いて，認識文字とその位置データから金額項目を表す認識文字を抽出し，項目名称に一致する認識文字と金額項目を表す認識文字とから，認識結果のデータを出力または記憶することを特徴とする。
【００２２】
すなわち，レシート画像を読取機で読み取るときに，レシートが細長いスリット状の形式であるため，レシートに傾きが発生したり，レシートの途中から傾く場合があっても，正確にレシート内の項目と金額を読み取ることができるようにしたものであり，複数の異なる形式で印刷されたレシートから必要な項目のみを正確に抽出して，売上管理に必要なレシート内の項目と金額を，認識結果のデータとして出力または記憶することができるようにしている。詳しくは，本発明は以下の手段を備える。
【００２３】
（１）本発明は，レシートデータ認識装置が，レシート画像を文字認識することにより得られた認識文字とその位置データとを記憶する画像データ記憶部と，レシートに印字される項目名称の文字列と，前記項目名称のレシート内位置からの，その項目名称に対応する金額項目の相対位置データとを，レシートにおける読取り対象となる各項目名称ごとに定義した定義データを記憶する定義データ記憶部と，前記画像データ記憶部に記憶された認識文字から前記定義データに定義された項目名称の文字列に一致する認識文字を抽出するレシートデータ抽出部と，抽出された認識文字の位置データから，認識文字の傾きが検出された場合に，前記定義データにおける該当する金額項目の相対位置データを，検出された傾きに応じて補正する傾き補正部と，補正された相対位置データを用いて，前記画像データ記憶部に記憶された認識文字とその位置データから前記金額項目を表す認識文字を抽出するレシートデータ特定部と，前記項目名称に一致する認識文字と前記金額項目を表す認識文字とから，認識結果のデータを生成し，認識結果のデータを出力または記憶するデータ生成部とを備えることを特徴とする。
【００２４】
これによって，事前に入力された売上管理項目に変換すべきレシート項目について，項目名称とそれに対応する金額欄の相対位置とを定義データに登録し，レシート画像から読み取った認識文字の傾きを検出するため，認識文字の傾きがある場合であっても，認識文字の傾きを補正することにより，項目名称に対応する金額欄の相対位置を補正することができ，正確に売上管理項目に必要なレシート項目の金額を読み取ることができる。
【００２５】
（２）また，本発明は，さらに前記発明において，前記レシートは，店舗ごとに異なるフォーマットで印刷されたレシートであり，前記定義データ記憶部には，店舗ごとに前記定義データが記憶され，レシートを発行した店舗ごとに異なる定義データを用いて，前記レシートデータ抽出部と，前記傾き補正部と，前記レシートデータ特定部と，前記データ生成部による処理を実行することを特徴とする。
【００２６】
これによって，店舗ごとに印刷されたレシートの項目名称や印字位置が異なる場合であっても，店舗ごとに項目名称とそれに対応する金額欄の相対位置とを定義データに登録するため，店舗ごとのレシート項目名称およびそれに対応する金額欄の位置の相違に関係なく，レシート画像から必要なレシートデータを読み取ることができる。
【００２７】
（３）また，本発明は，さらに前記発明において，前記定義データ記憶部に記憶される定義データは，前記レシートに印字される項目名称の文字列に対応して，複数の店舗の売上管理に共通に用いられる売上管理項目名称のデータを含み，前記データ生成部は，前記項目名称に一致する認識文字を，前記定義データに定義された対応する売上管理項目名称に変換した認識結果のデータを生成することを特徴とする。
【００２８】
これによって，店舗ごとに印刷されたレシートの項目名称や印字位置が異なる場合であっても，事前に入力された売上管理項目に変換すべきレシート項目について，店舗ごとに項目名称とそれに対応する金額欄の相対位置とを定義データに登録するため，店舗ごとのレシート項目名称およびそれに対応する金額欄の位置の相違に関係なく，レシート画像から必要なレシートデータを読み取り，統一した売上管理データを生成することができる。
【発明の効果】
【００２９】
本発明の効果は以下のとおりである。
（１）レシートから売上管理項目に必要なレシート項目を予め定義データに登録することにより，それらを用いて自動的に必要なレシートデータを抽出することができるため，売上情報の入力作業の省力化およびスピード化が達成できる。
（２）予め店舗ごとに登録，設定された定義データによって，どのような種類のレシートであるか，どのような項目名称を有し，金額に関する相対位置などの情報を画像の解析に利用することができ，文字認識などを含めて読み取りの精度を高めることができる。
（３）レシートから読み取られた認識文字の各々について文字列の傾きを検出して，それらを用いて定義データの金額に関する相対位置を補正することができるため，レシートの一部の行に傾きがある場合に，レシートデータの抽出の誤認識を回避し，正しいレシートデータを抽出することができる。このため，文字認識などを含めて読み取りの精度を，さらに高めることができる。また，誤認識を低減できるため，チェック作業の省力化およびスピード化が達成できる。
（４）また，レシートの項目が異なる各店舗のレシートデータから，売上管理部門が必要とする基本的なデータを統一的に収集し，売上管理データベースなどに保存することができるようになる。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施形態の装置構成例を示す図である。
【図２】レシート挟持用シートを説明する図である。
【図３】売上管理項目とレシート項目との対応関係の例を示す図である。
【図４】本発明の実施形態に係るレシートデータ認識装置の処理フローチャートである。
【図５】レシート画像の例を示す図である。
【図６】認識文字データの一例を示す図である。
【図７】認識文字テーブルの例を示す図である。
【図８】定義データテーブルを説明する図である。
【図９】レシートデータ処理のフローチャートである。
【図１０】傾き補正処理のフローチャートである。
【図１１】傾き検出処理および傾き補正処理を説明する図である。
【図１２】特定されたレシートデータの一例を示す図である。
【図１３】売上管理データ生成処理のフローチャートである。
【図１４】売上管理ＤＢの例を示す図である。
【図１５】本発明の課題を説明する図である。
【図１６】本発明の課題を説明する図である。
【発明を実施するための形態】
【００３１】
以下，図面を用いながら，本発明の実施の形態について詳細に説明する。なお，以下では，主に店舗売上を集計する装置の例について説明するが，本発明は売上集計に限られるわけではなく，仕入集計データやその他の伝票などに印字された実績データを集計するための装置などにも同様に適用することができる。
【００３２】
図１は，本発明の概要を説明するための装置構成例を示す。図１において，１はＣＰＵおよびハードディスクやメモリ等の記憶装置等から構成され，レシートから読み取ったデータをもとに売上の集計に関する処理を実行するレシートデータ認識装置，２０は各店舗に対応付けられた識別コード２１（図２に示す）がマーキングされ，各店舗のレシート２２（図２に示す）を挟持するレシート挟持用シートである。レシート２２は，店舗ごとに異なるフォーマットで印刷されたレシートである。
【００３３】
なお，レシート２２は，テナントの店舗ごとに，例えば一日の店舗の売上を各店舗に備えられたキャッシュレジスタなどで集計した結果が印刷されたものである。また，これらのレシート２２は，売上集計に関する一例として示したものであり，売上集計以外にも，仕入集計，その他帳票処理に関するものであってもよい。
【００３４】
最初に，レシート挟持用シート２０について説明する。図２は，レシート挟持用シート２０の一実施態様の構成を示す図である。特に，図２（Ａ）は，レシート挟持用シート２０を透明フィルム２３１側から見た上面図であり，図２（Ｂ）は，レシート挟持用シート２０においてレシート２２が透明シート２３に挟持される前の状態を説明する斜視図である。
【００３５】
図２（Ａ）に示すように，例えばレシート挟持用シート２０は各店舗のレシート２２を台紙付の透明シート２３に挟持する。透明シート２３の上右端隅には，当該店舗に対応する識別コード２１（ＱＲコード（登録商標）などの２次元コード等）が印刷，またはシールなどでマーキングされる。
【００３６】
図２（Ｂ）に示すように，透明シート２３は，例えば透明フィルム（シート）２３１と台紙２３２とが一端２３３で接続（粘着等）されており，レシート２２を挟持する前の状態では透明シート２３が半開封状態にある。この半開封状態の透明シート２３の台紙２３２上にレシート２２が載せられ，例えば密着面が多少粘着性を有する透明フィルム２３１と台紙２３２とが貼り合わされることにより，レシート２２が挟持される。なお，前述の識別コード２１は，例えば台紙２３２の上右端隅に位置決めされた範囲で，印刷，シールなどによりマーキングされる。
【００３７】
次に，レシートデータ認識装置１が処理する，店舗ごとのレシート２２におけるレシート項目と，テナント管理部門が集計する売上管理項目との対応関係について説明する。
【００３８】
図３は，売上管理項目とレシート項目との対応関係の一例を示す図である。図３の例では，テナント管理部門が店舗の売上管理に実際に必要な売上集計のデータは，Ｎｏ．１の現金売上からＮｏ．１１の客数までの１１個の売上管理項目である。しかし，これらの売上管理項目が各店舗のレシート２２のレシート項目として，そのまま１対１の関係で印字されていることはない。そこで，店舗ごとの対応関係情報１０２２（１０２２ａ）を用いて，各店舗のレシート項目から１１個の各売上管理項目を算出する処理を行う。
【００３９】
図３に示すレシート２２ａの場合，１４番目のレシート項目の「現金売上金額」が，Ｎｏ．１の売上管理項目の「現金売上」に相当することが，対応関係情報１０２２（１０２２ａ）に示されている。その他の売上管理項目についても，それぞれ対応関係情報１０２２によって対応付けられる。なお，図３に示すような店舗ごとの売上管理項目とレシート項目との対応関係情報１０２２は，定義データ記憶部１０２（図１に示す）に予め登録され，格納される。
【００４０】
図３では，レシート２２ａに示すレシート項目が，例えば１４番目に「現金売上金額」等と示しているが，実際には，１４番目（ｎ番目）がレシート内の最上段の位置から固定した行の位置にあるわけではない。店舗の当日のレシート集計結果により，ｎ番目以前のレシート項目で印字行数が増えたり，また印刷時に省かれるレシート項目などがある。このため，レシートデータ認識装置１では，レシート項目におけるレシート項目名称とそれに対応する金額項目の相対位置（相対的な金額欄の位置）とを含む定義データを予め登録し，対応関係情報１０２２と共に用いることで，上記課題の解決を図っている。
【００４１】
レシートデータ認識装置１は，以上のような定義データおよび対応関係情報１０２２に従って，店舗コードごとに，「売上日付」，売上管理項目Ｎｏ．１「現金売上」，Ｎｏ．２「掛売上」，Ｎｏ．３「クレジット売上」，…などの売上に関する項目に対応する金額を集計し，売上管理データ記憶部１０３に格納する。そのために，レシートデータ認識装置１は，以下に説明する処理を実行する。
【００４２】
レシートデータ認識装置１は，レシート挟持用シート２０からレシート２２を読み取る。レシートデータ認識装置１は，レシート２２についての定義データを用いて，レシート項目中の項目名称および金額を含むレシートデータを抽出する。レシートデータ認識装置１は，売上管理項目とレシート項目との対応関係情報１０２２を用いて，抽出したレシートデータの項目を売上管理データに変換する。すなわち，売上管理データに必要となるレシート項目が抽出され，レシート項目の金額が売上管理データとして集計される。
【００４３】
以上のように，レシートデータ認識装置１は，レシート２２を発行した店舗ごとに定義データを用いて，レシートデータ認識処理を実行する。
【００４４】
以下，上述したレシートデータ認識処理を実行するための，図１に示すレシートデータ認識装置１の構成について，具体的に説明する。
【００４５】
画像データ記憶部１０１は，読取機１０により読み取られたレシート挟持用シート２０の画像データを記憶する。画像データは，レシート２２の画像をＯＣＲ処理することにより得られた認識文字およびその座標（位置データ）を含むデータである。さらに，画像データは，識別コード２１を含んでもよい。また，画像データ記憶部１０１は，画像データに関連付けて，レシート挟持用シート２０の画像ファイル，例えばビットマップ形式ファイル等を格納してもよい。
【００４６】
定義データ記憶部１０２は，レシートデータ認識装置１に用いられる定義データを格納する記憶手段である。定義データは，店舗ごとにレシート２２のレシート項目および金額の位置などの情報を含む。
【００４７】
具体的には，定義データは，レシート２２に印字されるレシート項目名称の文字列に対応して，複数の店舗の売上管理に共通に用いられる売上管理項目名称が登録される。例えば，定義データは，レシート２２に印字されるレシート項目名称の文字列と，レシート項目名称のレシート内位置からの，そのレシート項目名称に対応する金額項目の相対位置データとを含み，レシート２２における読取り対象となる各レシート項目名称ごとに定義される。このような定義データは，集計する店舗のレシート２２ごとに，予め作成され，定義データ記憶部１０２に格納される。なお，定義データの詳細は，図８を用いて後述する。
【００４８】
売上管理データ記憶部１０３は，レシートデータ認識装置１が生成する売上管理データを保存する記憶手段である。売上管理データは，店舗ごとに異なるレシート項目を統一した売上管理項目に対応させて，各店舗のレシート項目の金額を収集した結果のデータである。なお，売上管理データの詳細は，図１４を用いて後述する。
【００４９】
読取機１０は，画像のスキャンニングに光学方式などを用いて，レシート挟持用シート２０の画像を読み取る装置である。読取機１０は，レシート挟持用シート２０が入力されると，レシート挟持用シート２０を画像データに変換する。画像データは，例えば画像ファイル，ＯＣＲによる認識文字データを含む。読取機１０は，変換した画像データを画像データ記憶部１０１に保存する。例えば，読取機１０は，スキャナー，ＯＣＲ処理装置などの周知の技術によるものである。
【００５０】
画像データ読込部１１は，画像データ記憶部１０１に保存された画像データを読み出す。なお，画像データ読込部１１が，レシートデータ認識装置１の外部の入力装置から画像データを入力してもよい。外部の入力装置は，読取装置，ネットワーク装置などである。この場合には，例えばネットワーク等を介して，レシートデータ認識装置１の設置場所以外に設置されている読取装置で入力されたレシート挟持用シート２０の画像データを，入力装置（図示しない）が入力し，画像データ記憶部１０１に保存する。
【００５１】
店舗特定部１２は，レシート挟持用シート２０の識別コード２１を識別して，店舗コード（または店舗）を特定する。なお，図１の構成例では，店舗コードのための識別コード２１がレシート挟持用シート２０上に認識マーク化されているが，店舗コードの読み取り方法は本実施例に限定されない。例えば，レシート２２の読み取りの際に，ユーザが，店舗コードをテンキー，カードリーダなどの外部の入力装置を介して入力してもよい。その場合には，外部の入力装置から入力された店舗コードを店舗特定部１２が受ける。また，読取機１０がレシート挟持用シート２０の識別コード２１を読み取り，店舗特定部１２がその読み取られた識別コード２１から店舗コードを特定してもよい。
【００５２】
定義データ読込部１３は，店舗特定部１２により特定された店舗コードを受けると，定義データ記憶部１０２から店舗コードに対応付けられた定義データを検索する。定義データ読込部１３は，定義データ記憶部１０２から検索した定義データを読み出し，読み出した定義データをレシートデータ処理部１４に送る。
【００５３】
レシートデータ処理部１４は，店舗コードごとの定義データを用いて，画像データからレシート項目名称およびその金額を含むレシートデータを抽出し，抽出したレシートデータから売上管理項目に必要となるレシートデータを特定する。そのために，レシートデータ処理部１４は，図１に示すように，以下の機能部を含む。
【００５４】
レシートデータ抽出部１４１は，画像データ記憶部１０１に記憶された画像データの認識文字データから，定義データに定義されたレシート項目名称の文字列に一致する認識文字を検索し，その認識文字データを抽出する。認識文字データは，予めレシートデータ認識装置１が備える辞書（図示しない）による候補文字と，ＯＣＲ処理による認識文字との相違度を示す値と，文字の範囲を示す相対的な座標位置（相対位置）を含む。なお，認識文字データについては，図６を用いて後述する。
【００５５】
傾き検出部１４２は，抽出された認識文字データの認識文字の相対位置を用いて，認識文字の傾きを検出する。例えば，認識文字の傾きを検出するために，傾き検出部１４２は，レシート項目名称の文字列に一致する，１または複数の認識文字について，予め基準とする方向に対しての相対位置のずれを求める。傾き検出部１４２は，予め基準とする方向に対しての相対位置のずれの方向とのなす角を，傾きの角度として求める。なお，傾きの検出方法については，図１１を用いて後述する。
【００５６】
傾き補正部１４３は，認識文字の傾きが検出された場合に，定義データを参照して，レシート項目名称の文字列に一致する認識文字に対応する金額項目の相対位置を，検出された傾きの角度に応じて補正する。一方，傾き補正部１４３は，認識文字の傾きが検出されない場合に，レシート項目名称の文字列に一致する認識文字に対応する金額項目の相対位置を補正しない。
【００５７】
レシートデータ特定部１４４は，傾き補正部１４３からレシート項目名称に対応する金額項目の相対位置を受けると，画像データ記憶部１０１に記憶された認識文字の中から，その金額項目の相対位置に対応する認識文字を抽出する。これにより，レシートデータ特定部１４４は，レシート項名称に対応する金額項目を正確に特定することができる。
【００５８】
売上管理データ生成部１５は，レシートデータ処理部１４により特定されたレシートデータを用いて，売上管理データを生成する。具体的には，売上管理データ生成部１５は，レシート項目名称に一致する認識文字と，定義データに定義された対応する売上管理項目名称とに対応付けられる対応関係情報１０２２とを用いて，認識結果における金額項目の数値データを演算（変換）し，売上管理データを生成する。売上管理データは，店舗コード，売上管理項目および売上管理項目に対応する金額を含む。
【００５９】
例えば，売上管理データ生成部１５は，売上管理項目とレシート項目との対応関係情報１０２２に従って，店舗コードごとに，「売上日付」，売上管理項目Ｎｏ．１「現金売上」，Ｎｏ．２「掛売上」，Ｎｏ．３「クレジット売上」，…などの売上に関する項目に対応する金額に変換し，これらを売上管理データ記憶部１０３に記憶する。
【００６０】
以下に，図４，図９，図１０および図１３の処理フローチャートに従って，その他の図も用いながら，図１に示すレシートデータ認識装置１の詳細な機能について説明する。
【００６１】
図４は，本発明の実施形態に係るレシートデータ認識装置１の処理フローチャートである。図４に従って，レシートデータ認識装置１が実行する処理について具体的に説明する。
【００６２】
レシートデータ認識装置１が起動されて，本処理が開始される。読取機１０にレシート挟持用シート２０が入力されると，読取機１０がレシート挟持用シート２０を読み取り，読み取ったレシート挟持用シート２０の画像データを，画像データ記憶部１０１に保存する（ステップＳ１１）。
【００６３】
具体的に説明するために，図５〜図７を用いて，レシートの画像データからＯＣＲ処理される文字列を説明する。
【００６４】
図５は，読取機１０により読み取られたレシート２２ｂの画像の例を示している。読取機１０により生成された画像データは，ＯＣＲ処理による認識文字データを含む。読取機１０は，レシート２２（２２ｂ）の画像をＯＣＲ処理すると，認識文字データを生成し，画像データ読込部１１に記憶する。認識文字データは，認識文字からなる文字列の文字数および文字列の座標，文字列を構成する文字の座標および辞書からの候補文字とされる認識文字リストを含む。ＯＣＲ処理による認識文字の対象は，レシート２２ｂに印刷されている文字列＃１，文字列＃２，…，文字列＃１４，…等である。例えば，文字列＃１４は，「総売上」である。
【００６５】
図６は，ＯＣＲ処理による認識文字データの一例を示す図である。特に，図６には，図５に示す文字列＃１４「総売上」の認識文字データ１１０について示す。
【００６６】
図６において，認識文字データ１１０は，文字列＃１４「総売上」の文字数３，座標（ｘ，ｙ）−（ｘ’，ｙ’）を含む。また，認識文字データ１１０は，文字列＃１４を構成する文字＃１４１「総」，＃１４２「売」および＃１４３「上」の３文字について，各々の座標を含む。例えば，文字＃１４１「総」の座標は，（ｘ１，ｙ１）−（ｘ’１，ｙ’１）であり，その他の文字についても，図示のとおりである。なお，（ｘ，ｙ）−（ｘ’，ｙ’）等は，図示の長方形枠の座標を表すものであり，紙面上から見て（ｘ，ｙ）が左上，（ｘ’，ｙ’）が右下に対応する座標である。例えば，左上が座標原点へ向かう方向であり，右下が原点座標から離れる方向である。座標原点は，例えばレシート挟持用シート２０における画像の特定位置とされる。
【００６７】
さらに，認識文字データ１１０は，文字＃１４１「総」，＃１４２「売」および＃１４３「上」の３文字の認識文字リストを含む。認識文字リストは，辞書からの候補文字とされる認識順位に応じて，その候補とされる認識文字と，その認識文字と読み取られた文字の相違度（または一致度）とが格納される。例えば，文字＃１４１「総」の認識文字リストでは，順位「１」が，認識文字「総」，相違度「１３１１」であり，順位「２」が，「脆」，相違度「１５８１」であり，その他の順位についても同様に示される。相違度は，例えば０に近い数値ほど，予め備えられた辞書（図示しない）の候補文字と一致する度合いが大きく，その値が大きいほど，辞書の候補文字と相違する度合いが大きいことを示す。文字＃１４２「売」および＃１４３「上」の認識文字リストについても，図６に示すとおりである。
【００６８】
図７は，画像データ記憶部１０１に保存される認識文字テーブル１０１１の一例を示す図である。認識文字テーブル１０１１は，読み込まれた画像データごとに，認識文字データを格納するテーブルである。さらに，認識文字テーブル１０１１は，レシート２２の認識された文字列ごとに，認識文字データを含む。認識文字データは，前述したとおりである。
【００６９】
図７に示す認識文字テーブル１０１１は，図５で示す文字列＃１〜＃１４，…等の認識文字データを格納する。例えば，前述した文字列＃１４「総売上」，文字列＃１４を構成する文字＃１４１「総」，＃１４２「売」および＃１４３「上」が，認識文字テーブル１０１１に格納されている。その他の文字列についても同様に格納されている。なお，図７に示す認識文字テーブル１０１１における項目，設定等の定義は，図６の認識文字データのそれらと同様であるため，ここでは説明を省く。
【００７０】
次に，画像データ読込部１１が，画像データ記憶部１０１から画像データを読み込むと，店舗特定部１２は，画像データからレシート挟持用シート２０の識別コード２１を判別し，判別した識別コード２１から店舗コードを読み取る（ステップＳ１２）。
【００７１】
具体的には，店舗特定部１２は，例えばＱＲコード等を復号し，復号したデータから店舗コード，もしくは，店舗コードに対応付けられた識別番号などを特定する。なお，読取機１０によりＱＲコードを復号し，店舗特定部１２が復号したデータから店舗コードを特定してもよく，その特定方法は限定されない。
【００７２】
次に，定義データ読込部１３は，店舗特定部１２により特定された店舗コードを受けると，店舗コードに対応付けられた定義データを，定義データ記憶部１０２から取得する（ステップＳ１３）。
【００７３】
具体的には，図８に，定義データテーブル１０２１を説明する図を示す。以下，図８を用いて，定義データ読込部１３が取得する定義データの一例を説明する。
【００７４】
図８に示すレシート２２ｔは，ある店舗の定義データの作成のために用意されるレシート２２（基準レシートとする）の画像の一部である。また，図８において，定義データテーブル１０２１は，予め作成された定義データを格納し，定義データ記憶部１０２に記憶されるデータである。なお，レシート２２ｔには，行番号と，レシート項目名称と，金額とが表示されている。このレシート２２ｔから，１４行目（ＢＸ１４）の「現金売上金額」と，１８行目（ＢＸ１８）の「その他金券金額」とが抽出対象のレシート項目であるとする。
【００７５】
定義データテーブル１０２１では，抽出対象のレシート項目が，定義データとして登録される。定義データを予め作成するために，店舗ごとの基準とされる基準レシート（レシート２２ｔ）が用いられ，基準レシートをもとにして店舗ごとのレシート２２に対する定義データが作成される。
【００７６】
定義データテーブル１０２１には，対象の店舗コードと，抽出するレシート項目ごとに，「読取項目」，「項目属性」，「読取文字」および「金額欄の読取位置」とが格納される。「店舗コード」は，対象となるレシートの店舗に対応する店舗ごとの識別番号である。「読取項目」は，売上管理項目の名称である。「項目属性」は，読み取るべきレシート項目名称の属性である。その属性は，例えば“１”，“２”または“３”のいずれかの値である。“１”は売上管理項目に対応するレシート項目名称が基準レシートに重複していない（通常の項目）場合，“２”は重複している同一名称がありかつアンカー文字を設定する場合，“３”は重複している同一名称がありかつ複数キーワードを設定する場合の属性とされる。「読取文字」は，売上管理項目に対応する基準レシート上に印字されるレシート項目名称である。「金額欄の読取位置」は，読取文字からのレシート項目の金額（数値文字，通貨記号などを含む）の相対位置である。
【００７７】
図８に示す基準レシートとされるレシート２２ｔにおいて，画像位置ＢＸ１４には，「現金売上金額」および「￥１３９，６３９」とされる文字列Ｓｔｒ＃１およびＤａｔ＃１がある。また，文字列Ｓｔｒ＃１と文字列Ｄａｔ＃１との相対距離は，Ｄｉｓ＃１とする。画像位置ＢＸ１８には，「その他金券金額」および「￥８，０００」とされる文字列Ｓｔｒ＃２およびＤａｔ＃２がある。また，文字列Ｓｔｒ＃２と文字Ｄａｔ＃２との相対距離は，Ｄｉｓ＃２とする。
【００７８】
図８に示す定義データテーブル１０２１は，図８に示すレシート２２ｔから作成される定義データを格納する。図８に示すように，定義データテーブル１０２１には，「店舗コード」：“１００００１”が，基準レシートの対象となる店舗コードとして設定される。「読取項目＃１」：“現金売上”は，売上管理項目の中の項目名称“現金売上”が設定された結果である。「項目属性＃１」：“１”は，前述した通常の項目が設定された結果である。「読取文字＃１」：“現金売上金額”は，レシート２２ｔの画像位置ＢＸ１４における文字列Ｓｔｒ＃１が設定された結果である。「金額欄の読取位置＃１」：“（ｘ１１，ｙ１１）−（ｘ’１１，ｙ’１１）”は，文字列Ｓｔｒ＃１と文字列Ｄａｔ＃１との相対距離Ｄｉｓ＃１として，文字列Ｓｔｒ＃１の位置から文字列Ｄａｔ＃１の位置の相対位置が設定された結果である。なお，相対位置として，図示された文字列Ｄａｔ＃１の長方形枠の左上の座標（ｘ１１，ｙ１１），同じく右下の座標（ｘ’１１，ｙ’１１）が格納されていることを示す。なお，これらの座標は，相対的な座標である。その他の定義データについても同様に格納されている。なお，図８に示す定義データテーブル１０２１における＃ｎは，複数の定義データの設定項目を区別するための識別子であり，ｎは１，２等の整数とする。
【００７９】
以上説明した定義データテーブル１０２１は，レシートデータ抽出部１４１がレシートデータを抽出する際に，定義データ読込部１３を介して参照される。レシートデータ抽出部１４１は，定義データテーブル１０２１に格納された定義データに基づき，読み込んだ画像データ（レシート２２の認識文字）について，レシート項目を抽出する。すなわち，レシートデータ抽出部１４１は，基準レシートの定義データにより，抽出すべきレシート項目を判断することができる。
【００８０】
なお，実際には，精算レシート（レシート２２）は，同じＰＯＳシステムで印刷した場合であっても，その時々の出力により，途中のレシート項目の一部を飛ばして（抜かす）印刷する場合がある。従って，定義データテーブル１０２１における「金額欄の読取位置」を固定座標で作成すると，このような一部のレシート項目を飛ばして印刷する場合に対応できない。そのため，図８に示す定義データテーブル１０２１のように，レシート項目名称の文字列位置からの相対位置の座標位置を定義データとして用いることにより，このような一部のレシート項目を飛ばして印刷する場合に対応することができる。また，図８においては，レシート項目名称とその対応する金額が，同じ行に印刷されている例で説明しているが，レシート項目名称とその対応する金額が，異なる行であっても良い。その場合には，定義データにその異なる行の金額の相対位置などが登録される。
【００８１】
次に，レシートデータ処理部１４は，定義データ読込部１３から店舗コードに対応付けられた定義データを受けると，レシートデータ処理を実行する（ステップＳ１４）。このレシートデータ処理の詳細なフローについては，図９を用いて後述する。
【００８２】
レシートデータ処理部１４によりレシートデータ処理された後に，売上管理データ生成部１５は，処理されたレシートデータから売上管理データを生成する。売上管理データ生成部１５は，生成した売上管理データを売上管理データ記憶部１０３に保存する（ステップＳ１５）。売上管理データを保存後，レシートデータ認識装置１は，本処理を終了する。なお，ステップＳ１５の詳細な処理フローについては，図１３を用いて後述する。
【００８３】
以上説明した処理フローが，レシートデータ認識装置１が実行する処理全体のフローである。
【００８４】
図９は，図４に示すステップＳ１４におけるレシートデータ処理の詳細な処理フローチャートである。図９に従って，レシートデータ処理部１４が実行するレシートデータ処理について具体的に説明する。
【００８５】
レシートデータ抽出部１４１は，画像データの中からレシート２２の対象とする行の項目名称のみを抽出する（ステップＳ２１）。
【００８６】
具体的には，レシートデータ抽出部１４１は，画像データ読込部１１から画像データ（認識文字データ）を受けると，レシート２２の１行目から項目名称のみを抽出する。例えば，図５の画像データである場合，レシート２２ｂの文字列＃１「２０１０年１０月１０日（日）  ２２：３０  Ｎｏ：０００２」が抽出され。文字列＃２「＊＊」，…，文字列＃７「売計」，文字列＃８「２９７点」，文字列＃９「￥２２６，７０１」，…等が抽出され，空行などは抽出されない。なお，このステップＳ２１では，項目名称として，レシート項目名称，金額，記号（例えば「＊＊」）なども含めて抽出される。
【００８７】
次に，レシートデータ抽出部１４１は，定義データテーブル１０２１に格納された定義データを参照する（ステップＳ２２）。
【００８８】
具体的には，定義データ読込部１３が，定義データ記憶部１０２に格納された定義データテーブル１０２１から店舗コードに対応する定義データを読み出す。定義データ読込部１３は，読み出した定義データをレシートデータ抽出部１４１に送る。レシートデータ抽出部１４１は，ステップＳ２３以降の処理において，定義データ読込部１３から送られた定義データを用いる。なお，レシートデータ抽出部１４１は，定義データ読込部１３から送られた定義データを，ワークメモリ（図示しない）に保存し，ワークメモリ上で定義データを参照する。
【００８９】
次に，レシートデータ抽出部１４１は，抽出した項目名称が定義データに設定されているかをチェックする（ステップＳ２３）。
【００９０】
具体的には，レシートデータ抽出部１４１は，図５に示す文字列＃１４「総売上」について，定義データテーブル１０２１の読取文字＃ｎ（ｎは整数）の中に一致するものがあるかをチェックする。
【００９１】
次に，定義データに設定されている場合（ステップＳ２３：Ｙｅｓ），傾き検出部１４２が，定義データの読取文字と一致する認識文字について傾きを算出する（ステップＳ２４）。一方，定義データに設定されていない場合（ステップＳ２３：Ｎｏ），ステップＳ２８に処理を移す。
【００９２】
具体的には，傾き検出部１４２が，定義データの読取文字と一致する認識文字のｙ座標から傾きを検出する。
【００９３】
図１１は，傾き検出処理および傾き補正処理を説明する図である。特に，図１１（Ａ）は，レシート２２ｄにおけるレシート項目の並びの例を示す図であり，図１１（Ｂ）は，認識文字の傾きの検出および補正の動作を説明する図である。
【００９４】
図１１（Ａ）および図１１（Ｂ）に示すように，文字列Ｓｔｒ＃２０「総売上」は，認識文字Ｓｔｒ＃２１「総」，Ｓｔｒ＃２２「売」およびＳｔｒ＃２３「上」からなる文字列であり，これらの文字は，画像データ上において基準となる方向に対して，傾きの角度αを成すものとする。
【００９５】
画像データ読込部１１から送られた認識文字について，レシートデータ抽出部１４１は，定義データテーブル１０２１の読取文字＃ｎを参照して，一致するものがあるかをチェックする。例えば，認識文字である文字列Ｓｔｒ＃２０「総売上」について，定義データテーブル１０２１の読取文字＃ｎ「総売上」にあるとする。
【００９６】
レシートデータ抽出部１４１は，画像データ読込部１１から送られた文字列Ｓｔｒ＃２０「総売上」について，ワークメモリ上の認識文字テーブル１０１１を参照する。レシートデータ抽出部１４１は，認識文字テーブル１０１１上で検索ヒットした認識文字Ｓｔｒ＃２１「総」，Ｓｔｒ＃２２「売」およびＳｔｒ＃２３「上」の画像データ（認識文字データ）を取得する。すなわち，レシートデータ抽出部１４１は，レシート項目名称として，文字列Ｓｔｒ＃２０「総売上」を抽出する。
【００９７】
傾き検出部１４２は，レシートデータ抽出部１４１により取得された認識文字データを用いて，以下のように，認識文字の傾きを求める。
【００９８】
例えば，レシートデータ抽出部１４１により取得された画像データは，図６の例に示すようなＳｔｒ＃２１「総」の座標位置（ｘ１，ｙ１）−（ｘ’１，ｙ’１），Ｓｔｒ＃２２「売」の座標位置（ｘ２，ｙ２）−（ｘ’２，ｙ’２），Ｓｔｒ＃２３「上」の座標位置（ｘ３，ｙ３）−（ｘ’３，ｙ’３）等である。なお，座標位置（ｘ１，ｙ１）−（ｘ’１，ｙ’１）等は，長方形枠の左上および右下の座標を示すものとする。また，図１１（Ｂ）に示す座標（図示では黒丸）Ｐｔ１＝（ｘ’１，ｙ’１），座標Ｐｔ２＝（ｘ’２，ｙ’２），座標Ｐｔ３＝（ｘ’３，ｙ’３）として説明する。
【００９９】
傾き検出部１４２は，図１１（Ｂ）に示すｘ座標間距離ｋ１およびｙ座標間距離ｋ２について，座標Ｐｔ１〜Ｐｔ３を用いることにより，以下に示すように，傾きの角度αを算出する。ｋ１，ｋ２，ｔａｎ（α）を求めると，
ｋ１= ｘ’３−ｘ’１
ｋ２＝ｙ’３−ｙ’１
ｔａｎ（α）＝ｋ２／ｋ１
α＝ａｒｃｔａｎ（ｋ２／ｋ１）
となる。
【０１００】
次に，傾き補正部１４３は，算出された傾きから認識文字の傾きを補正する必要があるかを判断する（ステップＳ２５）。傾きを補正する必要がない場合（ステップＳ２５：Ｎｏ），ステップＳ２７に処理が進む。一方，傾きを補正する必要がある場合（ステップＳ２５：Ｙｅｓ），傾き補正部１４３は，傾き補正処理を実行する（ステップＳ２６）。
【０１０１】
具体的に説明すると，傾き補正部１４３は，算出された傾きの角度αを予め定めた許容角度と比較して，許容角度より小さい場合に，図１１（Ｂ）に示す金額項目Ｄａｔ＃３０に対して，Ｙ座標を補正する必要がないと判断する。一方，算出された傾きの角度αが許容角度以上の場合に，傾き補正部１４３は，図１１（Ｂ）に示す金額項目Ｄａｔ＃３０に対して，Ｙ座標を補正する必要があると判断する。なお，図１１（Ｂ）の例では，算出された傾きの角度αが許容角度以上の場合である。
【０１０２】
図１２は，特定されたレシートデータの一例を示す図である。特に，図１２では，レシート２２内の異なる行の文字列を例として，比較して説明する。
【０１０３】
（１）傾き検出を行わなかった場合
レシートデータ抽出部１４１は，ＯＣＲ処理の結果および定義データテーブル１０２１を用いて，レシート項目名称の文字列Ｓｔｒ＃１０「現金在高」に対応する金額項目が，Ｄａｔ＃１０の「￥３３５，２７５」であると認識する。また，レシート項目名称の文字列Ｓｔｒ＃２０「総売上」に対応する金額項目が，Ｄａｔ＃３０の「￥６２３，６０３」であると認識する。これは正しい結果ではない。これを傾きの検出を行うことにより，次のように正しい金額項目を抽出し，解決する。
（２）傾き検出を行った場合
図１２に示す文字列Ｓｔｒ＃１０「現金在高」について，傾き検出部１４２が傾きの角度α１を検出する。傾き補正部１４３は，傾きの角度α１を予め定めた許容角度と比較して，許容角度より小さいと判断し，補正処理を行わない。
【０１０４】
図１２に示す文字列Ｓｔｒ＃２０「総売上」について，傾き検出部１４２が傾きの角度α２を検出する。傾き補正部１４３は，傾きの角度α２を予め定めた許容角度と比較して，許容角度以上と判断し，補正処理を行う。
【０１０５】
図１０は，ステップＳ２６における傾き補正処理の詳細な処理フローチャートである。以下，図１０に従って，レシートデータ処理部１４が実行する傾き補正処理について具体的に説明する。
【０１０６】
レシートデータ抽出部１４１は，定義データの中からレシート項目名称に対応する金額項目の位置情報（金額欄の位置）を取得する（ステップＳ２６１）。
【０１０７】
具体的に説明するために，図１１（Ａ）に，レシートデータの抽出対象となるレシート２２ｄを示す。図１１（Ａ）において，レシート２２ｄには，レシート項目名称として認識される文字列Ｓｔｒ＃１０〜＃３０と，その各々に対応する金額項目（金額の文字列）Ｄａｔ＃１０〜＃３０とがある。例えば，レシート項目名称として認識される文字列Ｓｔｒ＃１０「現金在高」，Ｓｔｒ＃２０「総売上」およびＳｔｒ＃３０「純売上」とし，その各々に対応する金額項目Ｄａｔ＃１０「￥３３５，２７５」，Ｄａｔ＃２０「￥６５４，７３５」およびＤａｔ＃３０「￥６２３，６０３」とする。
【０１０８】
レシートデータ抽出部１４１は，レシート２２ｄに対応する店舗コードの定義データテーブル１０２１（例えば図８）を用いて，「読取文字＃１０」からレシート項目名称の文字列Ｓｔｒ＃１０を取得し，「金額欄の読取位置＃１０」から対応する金額項目Ｄａｔ＃１０の位置情報（金額欄の位置）を取得する。また，同様に，文字列Ｓｔｒ＃２０およびＳｔｒ＃３０についても，同様に金額項目Ｄａｔ＃２０およびＤａｔ＃３０の位置情報が取得される。
【０１０９】
次に，傾き補正部１４３は，検出された傾きの角度から金額欄の位置のＹ座標の補正量を算出する（ステップＳ２６２）。続いて，傾き補正部１４３は，算出された補正量から金額欄の位置のＹ座標を補正する（ステップＳ２６３）。
【０１１０】
具体的には，傾き補正部１４３は，金額項目Ｄａｔ＃３０に対して，以下に説明するように，金額欄の位置のＹ座標を補正する。
【０１１１】
補正前の金額欄の位置は，図１１（Ｂ）の実線長方形枠に示すように，「金額欄の読取位置＃２０」から取得した位置情報（ｘ２１，ｙ２１）−（ｘ’２１，ｙ’２１）にある。傾き補正部１４３は，検出された傾きの角度αを用いて，取得した位置情報におけるｙ座標の補正量Δｙを算出する。ここで，
Δｙ＝ｘ２１・ｔａｎ（α）
とされる。なお，上記に示す傾き角度および補正量の算出法は一例であり，その他の算出方法であっても良い。例えば，
Δｙ＝｛（ｘ２１＋ｘ’２１）／２｝・ｔａｎ（α）
というように，金額欄の読取位置＃２０における左端と右端のｘ座標の平均値を用いて計算してもよい。
【０１１２】
これにより，図１１（Ｂ）の破線長方形枠に示すように，傾き補正部１４３は，補正後の金額欄の位置を（ｘ２１，ｙ２１＋Δｙ）−（ｘ’２１，ｙ’２１＋Δｙ）と補正する。図１１（Ｂ）の破線長方形枠内に金額項目Ｄａｔ＃２０「￥６５４，７３５」があることより，傾き補正部１４３は，文字列Ｓｔｒ＃２０に対応する金額項目はＤａｔ＃２０であると判断する。
【０１１３】
以上説明した補正処理後，ステップＳ２６（Ｓ２６１〜Ｓ２６３）を終了する。ここで，図９の処理フローチャートのステップＳ２７に戻り，図９に従って，説明する。
【０１１４】
次に，レシートデータ特定部１４４は，定義データに設定されている金額の位置情報または補正された金額の位置情報を用いて，金額項目を取得する（ステップＳ２７）。
【０１１５】
具体的には，レシートデータ特定部１４４は，補正された位置情報の座標または補正されずにそのままとされた金額の位置情報の座標に近い，定義データの「読取項目＃ｎ」の座標の文字列を取得する。
【０１１６】
例えば，図１２に示す文字列Ｓｔｒ＃１０「現金在高」の金額項目については，傾き補正部１４３は，傾きの角度α１が許容角度より小さいため，傾き補正処理を実行しない。これにより，レシートデータ特定部１４４は，文字列Ｓｔｒ＃１０「現金在高」に対応する金額項目Ｄａｔ＃１０「￥３３５，２７５」と認識する。すなわち，レシート項目名称「現金在高」および金額項目「￥３３５，２７５」とされるレシートデータが特定される。
【０１１７】
一方，図１２において，文字列Ｓｔｒ＃２０「総売上」の金額項目については，傾き検出部１４２により検出した傾きの角度α２が許容角度以上のため，傾き補正部１４３は，傾き補正処理を実行する。傾き補正処理を実行後，傾き補正部１４３は，文字列Ｓｔｒ＃２０「総売上」の金額項目について，方向Ｌ＃２１の距離Ｄｉｓ＃２１にある金額項目Ｄａｔ＃２０「￥６５４，７３５」とする。これにより，レシートデータ特定部１４４は，文字列Ｓｔｒ＃２０「総売上」に対応する金額項目Ｄａｔ＃２０「￥６５４，７３５」と認識する。すなわち，レシート項目名称「総売上」および金額項目「６５４，７３５」とされるレシートデータが特定される。
【０１１８】
次に，レシート項目の最終行の処理が終了したかを判断する（ステップＳ２８）。レシート項目の最終行の処理が終了していない場合（ステップＳ２８：Ｎｏ），ステップＳ２１に処理を戻し，次のレシート項目の行からのステップＳ２１〜Ｓ２７の処理を繰り返す。一方，レシート項目の最終行の処理が終了した場合（ステップＳ２８：Ｙｅｓ），本処理を終了する。
【０１１９】
以上の補正処理により，図１１（Ａ）に示すように，レシートデータ特定部１４４は，例えばレシート項目名称Ｓｔｒ＃２０「総売上」に対応する金額項目Ｄａｔ＃２０「￥６５４，７３５」を特定することができる。
【０１２０】
以上のように，レシートデータ処理部１４は，定義データを用いて，レシート画像から読み取ったレシート項目の認識文字に対して，各々について傾きを検出し，検出した傾きに応じて補正処理を実行し，必要なレシートデータを抽出することができる。
【０１２１】
また，レシートデータ処理部１４は，売上管理データに必要なレシートデータを抽出することができ，抽出したレシートデータのレシート項目名称および金額を，予め定めた対応関係で売上管理項目の売上管理データに変換（集計）することができる。
【０１２２】
以上説明したレシートデータ認識処理によって，レシート行の各々の認識文字に対して，傾きの検出とその傾きの補正とを行うことができるため，レシート用紙が途中で折れ曲がっている場合や，印刷ずれ等の影響を排除して，レシート項目名称および対応する金額項目を正確に抽出することができる。これにより，売上管理データを正確に集計することができる。
【０１２３】
図１３は，ステップＳ１５における売上管理データ生成処理の詳細な処理フローチャートを示す。図１３に従って，売上管理データ生成部１５が実行する売上管理データ生成処理について具体的に説明する。
【０１２４】
売上管理データ生成部１５は，レシートデータ特定部１４４から売上集計に必要となるレシートデータを取得する（ステップＳ３１）。
【０１２５】
具体的には，売上管理データ生成部１５は，店舗コードと，認識文字データから特定したレシート項目名称およびその金額を含むデータと，図３に示す対応関係情報１０２２とを含むレシートデータを，レシートデータ特定部１４４から取得する。
【０１２６】
次に，売上管理データ生成部１５は，対応関係情報１０２２を用いて，売上管理項目の売上管理データとして集計する（ステップＳ３２）。
【０１２７】
具体的には，売上管理データ生成部１５は，対応関係情報１０２２から売上管理項目とレシート項目の対応関係に基づいて，レシート項目名称に対応する金額を，売上管理項目の売上管理データとして集計する。以上により，レシート項目の金額（数値データ）が，売上管理項目の数値データに変換される。
【０１２８】
次に，売上管理データ生成部１５は，保存対象となる店舗コードの売上管理データを，売上管理データ記憶部１０３の売上管理ＤＢ１０３１に保存する（ステップＳ３３）。
【０１２９】
例えば，図１４に，売上管理ＤＢ（データベース）１０３１の例を示す。売上管理ＤＢ１０３１には，図１４に示すように，店舗コードごとに，「売上日付」，売上管理項目Ｎｏ．１「現金売上」，Ｎｏ．２「掛売上」，Ｎｏ．３「クレジット売上」，…などの売上に関する精算項目に対応する数値（金額）が格納される。
【０１３０】
以上により，売上管理ＤＢ１０３１には，店舗ごとにまったく異なるフォーマット（シート形式）であったレシート２２のレシート項目が一元化され，各テナントの店舗により出力されたレシートで統一の取れないレシート項目，名称，数値などが，統一性のとれた売上管理項目による売上管理データとして，手入力による作業なしに自動的に収集できるようになる。これにより，テナント管理部門の業務担当者は，自動的に店舗ごとの売上を集計することができるため，店舗の売上管理業務を効率よく，スピーディに行うことができる。
【０１３１】
また，各店舗に備えられたキャッシュレジスタなどのレシート出力装置を変更する必要がないため，テナント側にとっては余計な出費を抑えることができる。
【０１３２】
以上のレシートデータ認識装置が行う処理は，コンピュータとソフトウェアプログラムとによって実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも，ネットワークを通して提供することも可能である。
【符号の説明】
【０１３３】
１      レシートデータ認識装置
１０    読取機
１１    画像データ読込部
１２    店舗特定部
１３    定義データ読込部
１４    レシートデータ処理部
１５    売上管理データ生成部
２０    レシート挟持用シート
１０１  画像データ記憶部
１０２  定義データ記憶部
１０３  売上管理データ記憶部
１４１  レシートデータ抽出部
１４２  傾き検出部
１４３  傾き補正部
１４４  レシートデータ特定部
【図１】
0005202677.tif 000002
【図２】
0005202677.tif 000003
【図３】
0005202677.tif 000004
【図４】
0005202677.tif 000005
【図５】
0005202677.tif 000006
【図６】
0005202677.tif 000007
【図７】
0005202677.tif 000008
【図８】
0005202677.tif 000009
【図９】
0005202677.tif 000010
【図１０】
0005202677.tif 000011
【図１１】
0005202677.tif 000012
【図１２】
0005202677.tif 000013
【図１３】
0005202677.tif 000014
【図１４】
0005202677.tif 000015
【図１５】
0005202677.tif 000016
【図１６】
0005202677.tif 000017