説明

レシートデータ認識装置およびそのプログラム

【課題】各テナントの店舗から売上管理データを正確かつ効率よく収集し,テナント売上管理業務におけるスピード化,効率化を図る。
【解決手段】レシート画像から読み取られた認識文字について,レシートデータ抽出部141は,店舗ごとに異なる定義データに登録されたレシート内の項目名称の文字列とレシート内位置からの金額項目の位置データとから認識文字を抽出し,傾き検出部142は,抽出された認識文字の位置データから認識文字の傾きを検出し,傾き補正部143は,認識文字の傾きが検出された場合に,該当する金額項目の位置データを検出された傾きに応じて補正し,レシートデータ特定部144は,補正された位置データを用いて認識文字と位置データから金額項目を表す認識文字を抽出し,売上管理データ生成部15は,項目名称に一致する認識文字と金額項目を表す認識文字とから認識結果のデータを出力または記憶する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,レシートデータ認識装置およびそのプログラムに関し,特に,例えばショッピングモールなどの複数の店舗の売上を管理するために,文字認識により読み取ったレシートデータから必要なデータを正確に抽出する技術に関するものである。
【背景技術】
【0002】
ショッピングセンター,ショッピングモール等に出店するテナント(店舗を運営する会社など)の店舗を管理するテナント管理部門では,各店舗の一日の売上を収集し,現金売上,クーポン売上,…といった売上内訳(売上管理項目)を作成している。この売上内訳作成の際には,各店舗から提供される精算レシートが集められて,売上管理項目の数値を算出することが行われる。しかし,各店舗から提供される精算レシートの形式は,店舗毎に導入されているPOSシステムに依存するため,さまざまな形式で作成されているのが現状である。そのため,テナント管理部門が処理する精算レシートは,項目の種類,項目名,印字サイズ,印字字体などにおいて多種多様である。
【0003】
例えば,精算レシートの項目の名称について,売上合計,売上計,合計売上,総売上,…等は,同等の内容を示すものであっても,POSシステムによって異なる名称が印字されている。また,出店するテナントの店舗の入れ替えなどが頻繁に行われるため,新たな精算レシートの形式にも対応しなければならない。そのため,テナント管理部門では,精算レシートを統一された売上データとして集計する売上集計作業に莫大な労力を要し,そのための人的および時間的負担に多大なコストを要しているのが現状である。
【0004】
なお,特許文献1には,文書画像認識装置が開示されている。この文書画像認識装置では,文書画像を参照して文字を構成する成分の集合を抽出し,これをもとに横および縦の行候補を抽出し,行候補に対して信頼度を推定する。その後,推定した行信頼度に基づいて確度の高い行の集合を抽出し,その結果をもとに確度の高い行の集合の文字成分の配置を用いて傾きを推定する。そして,文書画像を構成する基礎要素の集合から行方向の確定した行集合を抽出し,行同士の関連付けによる段抽出と段を制約とした行抽出とを相互に実行して行と段を抽出する。
【0005】
また,特許文献2には,レシート処理装置が開示されている。このレシート処理装置では,レシートの画像から文字を認識してテキストデータを生成し,テキストデータから所定の文字列を選択し,選択された所定の文字列が含まれる行位置を検出する。そして,検出された行位置に基づいて定まるテキストデータ上の所定の行範囲から行を単位とするラインデータを順に選択し,ラインデータから品目に関わるデータを抽出する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平11−219407号公報
【特許文献2】特開2004−164218号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
前述したような,ショッピングセンター等の各店舗から提供される精算レシート(以下,レシートという)を集計するために,ショッピングセンター等を運営する会社(組織)のテナント管理部門では,従来,事務員が目視でレシートを読み取り,読み取ったデータを手作業でデータ処理装置に入力していた。この売上集計作業の作業量は,店舗数が100店舗以上に及ぶこともあり,しかも毎日行わなければならない作業であるため,非常に負担が大きいものであった。
【0008】
この負担を軽減するための一案としては,各店舗の売上データ(レシートデータ)を,各店舗の端末からネットワークを介して自動収集することが考えられる。しかし,一般に各店舗は企業体が異なるため,個々にネットワーク開設の許諾を得る必要があり,さらに導入されているシステムによって接続するネットワーク種類やアプリケーションの追加・修正の難易度が異なるなど,解決が困難な問題が存在する。
【0009】
既存のシステムの変更,特に各店舗における端末などの情報機器の変更をできるだけ行わないで,前述した作業負担を軽減する他の案としては,レシートデータを人間が読み取るのではなく,文字画像の認識によって読み取る方法が考えられる。すなわち,各店舗のレシートを,例えばOCR(Optical Character Recognition )機能を有する読取装置,スキャナー等で読み取り,読み取ったレシート項目とその数値データについて売上管理項目に必要なものを抽出し,売上管理データに入力し直す方法である。
【0010】
しかし,この方法の場合にも,一般的な従来の文字画像の認識では解決できない問題を解決しなければならない。次に,この問題について説明する。
【0011】
OCR機能を有する読取装置等によりレシートを読み取らせる場合,レシートを透明シートに挟んだり,紙などに貼付するなどして固定した状態で,読取装置等に読み取らせる必要がある。
【0012】
例えば,透明シートなどに挟持されたレシートは,細長いスリット状の形式であり,読み込ませる際に,挟持された精算レシート(レシート)がシートに対して傾きが発生することがある。また,シートなどに挟持されたレシートは,レシート全体が一定の角度で傾くのではなく,途中から別の角度で傾く場合がある。また,印字された際に,プリンタの紙送りずれや,調整不備などで,レシートの途中の行で,印字された項目がその前の行の項目よりもスペースが空いたりすることや,傾きを有することがある。また,レシートの途中で紙が一部折れ曲がって固定されることもある。
【0013】
図15は,レシートのOCR処理において誤認識が生じる例を説明する図である。図15に示すように,例えばレシート22uが長いシートの場合など,レシート上部221uからレシート下部222uの途中で紙が一部折れ曲がって傾いてしまうことがある。このような状態で,シートに挟持されているレシート22uを読取装置で読み取り,OCR処理した場合,レシート項目中の項目名称と金額との対応が正しい対応関係の行で読み取られず,項目名称と金額とが異なる行の関係で読み取られることがある。その結果,レシート項目の金額が別なレシート項目の金額に誤認識されて,売上が集計されてしまうことがある。
【0014】
図16(A)に,レシート項目の金額が誤認識されない場合の一例を示し,図16(B)に,レシート項目の金額が誤認識される場合の一例を示す。
【0015】
図16(A)では,レシート22vにおける傾いたレシート下部222vが示されている。レシート22vの基準とする方向Lbからの傾きの角度α1(図示の破線に対する角度)は,レシート項目の金額が誤認識されない範囲であるとする。例えば,レシート下部項目222vにあるレシート項目名称「総売上」(図に示すStr#101)に対応する金額項目Dat#101は,「¥654,735」であり,OCR処理により「総売上 ¥654,735」と正しく認識される。
【0016】
一方,図16(B)では,精算レシート22wにおける傾いたレシート下部222wが示されている。レシート22wの基準とする方向Lcからの傾きの角度α2(図示の破線に対する角度)は,レシート項目の金額が誤認識される範囲であるとする。例えば,レシート下部222wにあるレシート項目名称「総売上」(図に示すStr#102)に対応する金額項目Dat#102は,正しくは「¥654,735」であるが,ここでは,OCR処理の結果により「総売上 ¥623,603」と誤認識されてしまっている。
【0017】
この誤認識の原因は,OCR処理結果の出力が各項目の文字列とそれらの座標情報だけであるので,その座標情報から,項目名称「総売上」(Str#102)の下段の行に位置する項目名称「純売上」に対応する金額項目Dat#102の「¥623,603」が,傾きの角度α2の大きさに起因して,レシート項目名称「総売上」と同じ行に位置する文字列として認識してしまうためである。
【0018】
基準とする方向に対して,レシート22全体が同じ傾きの角度である場合には,解決手段として,OCR処理においてレシート22全体の傾きの角度を検出して,レシート全体の行の傾きを補正することにより,正しい金額を抽出することはできる。しかし,図15に示すような場合,レシート上部221uでは傾きの角度が小さく,途中の部分からのレシート下部222uでは大きく傾いている場合,レシート22u全体の傾きの角度を検出し,補正しても,図15に示したように行の一部が異なる傾きである場合には適用できない。
【0019】
以上説明したように,このようなレシート22uを読取装置等で読み取り,レシートの数値データをOCR処理した場合,レシート項目名称と対応しない金額項目が処理されることがある。それにより,売上管理データに集計エラーが発生する。そのチェックのために,手作業で,精算レシートを照合する作業が必要となり,人的負担が軽減されない。
【0020】
本発明は,以上の点に鑑み,各店舗の情報機器などの現状のシステムを大幅に変えることなく,各テナントの店舗のレシートから売上管理データを正確かつ効率よく収集し,売上管理業務におけるスピード化,効率化を図ることを目的としている。
【課題を解決するための手段】
【0021】
本発明は,例えば店舗ごとに印刷されたレシートを,統一された売上管理項目に集計し直すために,レシート画像を読み取り得られた認識文字について,レシートを発行した店舗ごとに異なる定義データに登録されたレシート内の項目名称の文字列と,レシート内位置からの金額項目の相対位置データとから,必要な認識文字を抽出し,抽出された認識文字の位置データから,認識文字の傾きを検出し,認識文字の傾きが検出された場合に,該当する金額項目の相対位置データを検出された傾きに応じて補正し,補正された相対位置データを用いて,認識文字とその位置データから金額項目を表す認識文字を抽出し,項目名称に一致する認識文字と金額項目を表す認識文字とから,認識結果のデータを出力または記憶することを特徴とする。
【0022】
すなわち,レシート画像を読取機で読み取るときに,レシートが細長いスリット状の形式であるため,レシートに傾きが発生したり,レシートの途中から傾く場合があっても,正確にレシート内の項目と金額を読み取ることができるようにしたものであり,複数の異なる形式で印刷されたレシートから必要な項目のみを正確に抽出して,売上管理に必要なレシート内の項目と金額を,認識結果のデータとして出力または記憶することができるようにしている。詳しくは,本発明は以下の手段を備える。
【0023】
(1)本発明は,レシートデータ認識装置が,レシート画像を文字認識することにより得られた認識文字とその位置データとを記憶する画像データ記憶部と,レシートに印字される項目名称の文字列と,前記項目名称のレシート内位置からの,その項目名称に対応する金額項目の相対位置データとを,レシートにおける読取り対象となる各項目名称ごとに定義した定義データを記憶する定義データ記憶部と,前記画像データ記憶部に記憶された認識文字から前記定義データに定義された項目名称の文字列に一致する認識文字を抽出するレシートデータ抽出部と,抽出された認識文字の位置データから,認識文字の傾きを検出する傾き検出部と,認識文字の傾きが検出された場合に,前記定義データにおける該当する金額項目の相対位置データを,検出された傾きに応じて補正する傾き補正部と,補正された相対位置データを用いて,前記画像データ記憶部に記憶された認識文字とその位置データから前記金額項目を表す認識文字を抽出するレシートデータ特定部と,前記項目名称に一致する認識文字と前記金額項目を表す認識文字とから,認識結果のデータを生成し,認識結果のデータを出力または記憶するデータ生成部とを備えることを特徴とする。
【0024】
これによって,事前に入力された売上管理項目に変換すべきレシート項目について,項目名称とそれに対応する金額欄の相対位置とを定義データに登録し,レシート画像から読み取った認識文字の傾きを検出するため,認識文字の傾きがある場合であっても,認識文字の傾きを補正することにより,項目名称に対応する金額欄の相対位置を補正することができ,正確に売上管理項目に必要なレシート項目の金額を読み取ることができる。
【0025】
(2)また,本発明は,さらに前記発明において,前記レシートは,店舗ごとに異なるフォーマットで印刷されたレシートであり,前記定義データ記憶部には,店舗ごとに前記定義データが記憶され,レシートを発行した店舗ごとに異なる定義データを用いて,前記レシートデータ抽出部と,前記傾き検出部と,前記傾き補正部と,前記レシートデータ特定部と,前記データ生成部による処理を実行することを特徴とする。
【0026】
これによって,店舗ごとに印刷されたレシートの項目名称や印字位置が異なる場合であっても,店舗ごとに項目名称とそれに対応する金額欄の相対位置とを定義データに登録するため,店舗ごとのレシート項目名称およびそれに対応する金額欄の位置の相違に関係なく,レシート画像から必要なレシートデータを読み取ることができる。
【0027】
(3)また,本発明は,さらに前記発明において,前記定義データ記憶部に記憶される定義データは,前記レシートに印字される項目名称の文字列に対応して,複数の店舗の売上管理に共通に用いられる売上管理項目名称のデータを含み,前記データ生成部は,前記項目名称に一致する認識文字を,前記定義データに定義された対応する売上管理項目名称に変換した認識結果のデータを生成することを特徴とする。
【0028】
これによって,店舗ごとに印刷されたレシートの項目名称や印字位置が異なる場合であっても,事前に入力された売上管理項目に変換すべきレシート項目について,店舗ごとに項目名称とそれに対応する金額欄の相対位置とを定義データに登録するため,店舗ごとのレシート項目名称およびそれに対応する金額欄の位置の相違に関係なく,レシート画像から必要なレシートデータを読み取り,統一した売上管理データを生成することができる。
【発明の効果】
【0029】
本発明の効果は以下のとおりである。
(1)レシートから売上管理項目に必要なレシート項目を予め定義データに登録することにより,それらを用いて自動的に必要なレシートデータを抽出することができるため,売上情報の入力作業の省力化およびスピード化が達成できる。
(2)予め店舗ごとに登録,設定された定義データによって,どのような種類のレシートであるか,どのような項目名称を有し,金額に関する相対位置などの情報を画像の解析に利用することができ,文字認識などを含めて読み取りの精度を高めることができる。
(3)レシートから読み取られた認識文字の各々について文字列の傾きを検出して,それらを用いて定義データの金額に関する相対位置を補正することができるため,レシートの一部の行に傾きがある場合に,レシートデータの抽出の誤認識を回避し,正しいレシートデータを抽出することができる。このため,文字認識などを含めて読み取りの精度を,さらに高めることができる。また,誤認識を低減できるため,チェック作業の省力化およびスピード化が達成できる。
(4)また,レシートの項目が異なる各店舗のレシートデータから,売上管理部門が必要とする基本的なデータを統一的に収集し,売上管理データベースなどに保存することができるようになる。
【図面の簡単な説明】
【0030】
【図1】本発明の実施形態の装置構成例を示す図である。
【図2】レシート挟持用シートを説明する図である。
【図3】売上管理項目とレシート項目との対応関係の例を示す図である。
【図4】本発明の実施形態に係るレシートデータ認識装置の処理フローチャートである。
【図5】レシート画像の例を示す図である。
【図6】認識文字データの一例を示す図である。
【図7】認識文字テーブルの例を示す図である。
【図8】定義データテーブルを説明する図である。
【図9】レシートデータ処理のフローチャートである。
【図10】傾き補正処理のフローチャートである。
【図11】傾き検出処理および傾き補正処理を説明する図である。
【図12】特定されたレシートデータの一例を示す図である。
【図13】売上管理データ生成処理のフローチャートである。
【図14】売上管理DBの例を示す図である。
【図15】本発明の課題を説明する図である。
【図16】本発明の課題を説明する図である。
【発明を実施するための形態】
【0031】
以下,図面を用いながら,本発明の実施の形態について詳細に説明する。なお,以下では,主に店舗売上を集計する装置の例について説明するが,本発明は売上集計に限られるわけではなく,仕入集計データやその他の伝票などに印字された実績データを集計するための装置などにも同様に適用することができる。
【0032】
図1は,本発明の概要を説明するための装置構成例を示す。図1において,1はCPUおよびハードディスクやメモリ等の記憶装置等から構成され,レシートから読み取ったデータをもとに売上の集計に関する処理を実行するレシートデータ認識装置,20は各店舗に対応付けられた識別コード21(図2に示す)がマーキングされ,各店舗のレシート22(図2に示す)を挟持するレシート挟持用シートである。レシート22は,店舗ごとに異なるフォーマットで印刷されたレシートである。
【0033】
なお,レシート22は,テナントの店舗ごとに,例えば一日の店舗の売上を各店舗に備えられたキャッシュレジスタなどで集計した結果が印刷されたものである。また,これらのレシート22は,売上集計に関する一例として示したものであり,売上集計以外にも,仕入集計,その他帳票処理に関するものであってもよい。
【0034】
最初に,レシート挟持用シート20について説明する。図2は,レシート挟持用シート20の一実施態様の構成を示す図である。特に,図2(A)は,レシート挟持用シート20を透明フィルム231側から見た上面図であり,図2(B)は,レシート挟持用シート20においてレシート22が透明シート23に挟持される前の状態を説明する斜視図である。
【0035】
図2(A)に示すように,例えばレシート挟持用シート20は各店舗のレシート22を台紙付の透明シート23に挟持する。透明シート23の上右端隅には,当該店舗に対応する識別コード21(QRコード(登録商標)などの2次元コード等)が印刷,またはシールなどでマーキングされる。
【0036】
図2(B)に示すように,透明シート23は,例えば透明フィルム(シート)231と台紙232とが一端233で接続(粘着等)されており,レシート22を挟持する前の状態では透明シート23が半開封状態にある。この半開封状態の透明シート23の台紙232上にレシート22が載せられ,例えば密着面が多少粘着性を有する透明フィルム231と台紙232とが貼り合わされることにより,レシート22が挟持される。なお,前述の識別コード21は,例えば台紙232の上右端隅に位置決めされた範囲で,印刷,シールなどによりマーキングされる。
【0037】
次に,レシートデータ認識装置1が処理する,店舗ごとのレシート22におけるレシート項目と,テナント管理部門が集計する売上管理項目との対応関係について説明する。
【0038】
図3は,売上管理項目とレシート項目との対応関係の一例を示す図である。図3の例では,テナント管理部門が店舗の売上管理に実際に必要な売上集計のデータは,No.1の現金売上からNo.11の客数までの11個の売上管理項目である。しかし,これらの売上管理項目が各店舗のレシート22のレシート項目として,そのまま1対1の関係で印字されていることはない。そこで,店舗ごとの対応関係情報1022(1022a)を用いて,各店舗のレシート項目から11個の各売上管理項目を算出する処理を行う。
【0039】
図3に示すレシート22aの場合,14番目のレシート項目の「現金売上金額」が,No.1の売上管理項目の「現金売上」に相当することが,対応関係情報1022(1022a)に示されている。その他の売上管理項目についても,それぞれ対応関係情報1022によって対応付けられる。なお,図3に示すような店舗ごとの売上管理項目とレシート項目との対応関係情報1022は,定義データ記憶部102(図1に示す)に予め登録され,格納される。
【0040】
図3では,レシート22aに示すレシート項目が,例えば14番目に「現金売上金額」等と示しているが,実際には,14番目(n番目)がレシート内の最上段の位置から固定した行の位置にあるわけではない。店舗の当日のレシート集計結果により,n番目以前のレシート項目で印字行数が増えたり,また印刷時に省かれるレシート項目などがある。このため,レシートデータ認識装置1では,レシート項目におけるレシート項目名称とそれに対応する金額項目の相対位置(相対的な金額欄の位置)とを含む定義データを予め登録し,対応関係情報1022と共に用いることで,上記課題の解決を図っている。
【0041】
レシートデータ認識装置1は,以上のような定義データおよび対応関係情報1022に従って,店舗コードごとに,「売上日付」,売上管理項目No.1「現金売上」,No.2「掛売上」,No.3「クレジット売上」,…などの売上に関する項目に対応する金額を集計し,売上管理データ記憶部103に格納する。そのために,レシートデータ認識装置1は,以下に説明する処理を実行する。
【0042】
レシートデータ認識装置1は,レシート挟持用シート20からレシート22を読み取る。レシートデータ認識装置1は,レシート22についての定義データを用いて,レシート項目中の項目名称および金額を含むレシートデータを抽出する。レシートデータ認識装置1は,売上管理項目とレシート項目との対応関係情報1022を用いて,抽出したレシートデータの項目を売上管理データに変換する。すなわち,売上管理データに必要となるレシート項目が抽出され,レシート項目の金額が売上管理データとして集計される。
【0043】
以上のように,レシートデータ認識装置1は,レシート22を発行した店舗ごとに定義データを用いて,レシートデータ認識処理を実行する。
【0044】
以下,上述したレシートデータ認識処理を実行するための,図1に示すレシートデータ認識装置1の構成について,具体的に説明する。
【0045】
画像データ記憶部101は,読取機10により読み取られたレシート挟持用シート20の画像データを記憶する。画像データは,レシート22の画像をOCR処理することにより得られた認識文字およびその座標(位置データ)を含むデータである。さらに,画像データは,識別コード21を含んでもよい。また,画像データ記憶部101は,画像データに関連付けて,レシート挟持用シート20の画像ファイル,例えばビットマップ形式ファイル等を格納してもよい。
【0046】
定義データ記憶部102は,レシートデータ認識装置1に用いられる定義データを格納する記憶手段である。定義データは,店舗ごとにレシート22のレシート項目および金額の位置などの情報を含む。
【0047】
具体的には,定義データは,レシート22に印字されるレシート項目名称の文字列に対応して,複数の店舗の売上管理に共通に用いられる売上管理項目名称が登録される。例えば,定義データは,レシート22に印字されるレシート項目名称の文字列と,レシート項目名称のレシート内位置からの,そのレシート項目名称に対応する金額項目の相対位置データとを含み,レシート22における読取り対象となる各レシート項目名称ごとに定義される。このような定義データは,集計する店舗のレシート22ごとに,予め作成され,定義データ記憶部102に格納される。なお,定義データの詳細は,図8を用いて後述する。
【0048】
売上管理データ記憶部103は,レシートデータ認識装置1が生成する売上管理データを保存する記憶手段である。売上管理データは,店舗ごとに異なるレシート項目を統一した売上管理項目に対応させて,各店舗のレシート項目の金額を収集した結果のデータである。なお,売上管理データの詳細は,図14を用いて後述する。
【0049】
読取機10は,画像のスキャンニングに光学方式などを用いて,レシート挟持用シート20の画像を読み取る装置である。読取機10は,レシート挟持用シート20が入力されると,レシート挟持用シート20を画像データに変換する。画像データは,例えば画像ファイル,OCRによる認識文字データを含む。読取機10は,変換した画像データを画像データ記憶部101に保存する。例えば,読取機10は,スキャナー,OCR処理装置などの周知の技術によるものである。
【0050】
画像データ読込部11は,画像データ記憶部101に保存された画像データを読み出す。なお,画像データ読込部11が,レシートデータ認識装置1の外部の入力装置から画像データを入力してもよい。外部の入力装置は,読取装置,ネットワーク装置などである。この場合には,例えばネットワーク等を介して,レシートデータ認識装置1の設置場所以外に設置されている読取装置で入力されたレシート挟持用シート20の画像データを,入力装置(図示しない)が入力し,画像データ記憶部101に保存する。
【0051】
店舗特定部12は,レシート挟持用シート20の識別コード21を識別して,店舗コード(または店舗)を特定する。なお,図1の構成例では,店舗コードのための識別コード21がレシート挟持用シート20上に認識マーク化されているが,店舗コードの読み取り方法は本実施例に限定されない。例えば,レシート22の読み取りの際に,ユーザが,店舗コードをテンキー,カードリーダなどの外部の入力装置を介して入力してもよい。その場合には,外部の入力装置から入力された店舗コードを店舗特定部12が受ける。また,読取機10がレシート挟持用シート20の識別コード21を読み取り,店舗特定部12がその読み取られた識別コード21から店舗コードを特定してもよい。
【0052】
定義データ読込部13は,店舗特定部12により特定された店舗コードを受けると,定義データ記憶部102から店舗コードに対応付けられた定義データを検索する。定義データ読込部13は,定義データ記憶部102から検索した定義データを読み出し,読み出した定義データをレシートデータ処理部14に送る。
【0053】
レシートデータ処理部14は,店舗コードごとの定義データを用いて,画像データからレシート項目名称およびその金額を含むレシートデータを抽出し,抽出したレシートデータから売上管理項目に必要となるレシートデータを特定する。そのために,レシートデータ処理部14は,図1に示すように,以下の機能部を含む。
【0054】
レシートデータ抽出部141は,画像データ記憶部101に記憶された画像データの認識文字データから,定義データに定義されたレシート項目名称の文字列に一致する認識文字を検索し,その認識文字データを抽出する。認識文字データは,予めレシートデータ認識装置1が備える辞書(図示しない)による候補文字と,OCR処理による認識文字との相違度を示す値と,文字の範囲を示す相対的な座標位置(相対位置)を含む。なお,認識文字データについては,図6を用いて後述する。
【0055】
傾き検出部142は,抽出された認識文字データの認識文字の相対位置を用いて,認識文字の傾きを検出する。例えば,認識文字の傾きを検出するために,傾き検出部142は,レシート項目名称の文字列に一致する,1または複数の認識文字について,予め基準とする方向に対しての相対位置のずれを求める。傾き検出部142は,予め基準とする方向に対しての相対位置のずれの方向とのなす角を,傾きの角度として求める。なお,傾きの検出方法については,図11を用いて後述する。
【0056】
傾き補正部143は,認識文字の傾きが検出された場合に,定義データを参照して,レシート項目名称の文字列に一致する認識文字に対応する金額項目の相対位置を,検出された傾きの角度に応じて補正する。一方,傾き補正部143は,認識文字の傾きが検出されない場合に,レシート項目名称の文字列に一致する認識文字に対応する金額項目の相対位置を補正しない。
【0057】
レシートデータ特定部144は,傾き補正部143からレシート項目名称に対応する金額項目の相対位置を受けると,画像データ記憶部101に記憶された認識文字の中から,その金額項目の相対位置に対応する認識文字を抽出する。これにより,レシートデータ特定部144は,レシート項名称に対応する金額項目を正確に特定することができる。
【0058】
売上管理データ生成部15は,レシートデータ処理部14により特定されたレシートデータを用いて,売上管理データを生成する。具体的には,売上管理データ生成部15は,レシート項目名称に一致する認識文字と,定義データに定義された対応する売上管理項目名称とに対応付けられる対応関係情報1022とを用いて,認識結果における金額項目の数値データを演算(変換)し,売上管理データを生成する。売上管理データは,店舗コード,売上管理項目および売上管理項目に対応する金額を含む。
【0059】
例えば,売上管理データ生成部15は,売上管理項目とレシート項目との対応関係情報1022に従って,店舗コードごとに,「売上日付」,売上管理項目No.1「現金売上」,No.2「掛売上」,No.3「クレジット売上」,…などの売上に関する項目に対応する金額に変換し,これらを売上管理データ記憶部103に記憶する。
【0060】
以下に,図4,図9,図10および図13の処理フローチャートに従って,その他の図も用いながら,図1に示すレシートデータ認識装置1の詳細な機能について説明する。
【0061】
図4は,本発明の実施形態に係るレシートデータ認識装置1の処理フローチャートである。図4に従って,レシートデータ認識装置1が実行する処理について具体的に説明する。
【0062】
レシートデータ認識装置1が起動されて,本処理が開始される。読取機10にレシート挟持用シート20が入力されると,読取機10がレシート挟持用シート20を読み取り,読み取ったレシート挟持用シート20の画像データを,画像データ記憶部101に保存する(ステップS11)。
【0063】
具体的に説明するために,図5〜図7を用いて,レシートの画像データからOCR処理される文字列を説明する。
【0064】
図5は,読取機10により読み取られたレシート22bの画像の例を示している。読取機10により生成された画像データは,OCR処理による認識文字データを含む。読取機10は,レシート22(22b)の画像をOCR処理すると,認識文字データを生成し,画像データ読込部11に記憶する。認識文字データは,認識文字からなる文字列の文字数および文字列の座標,文字列を構成する文字の座標および辞書からの候補文字とされる認識文字リストを含む。OCR処理による認識文字の対象は,レシート22bに印刷されている文字列#1,文字列#2,…,文字列#14,…等である。例えば,文字列#14は,「総売上」である。
【0065】
図6は,OCR処理による認識文字データの一例を示す図である。特に,図6には,図5に示す文字列#14「総売上」の認識文字データ110について示す。
【0066】
図6において,認識文字データ110は,文字列#14「総売上」の文字数3,座標(x,y)−(x’,y’)を含む。また,認識文字データ110は,文字列#14を構成する文字#141「総」,#142「売」および#143「上」の3文字について,各々の座標を含む。例えば,文字#141「総」の座標は,(x1,y1)−(x’1,y’1)であり,その他の文字についても,図示のとおりである。なお,(x,y)−(x’,y’)等は,図示の長方形枠の座標を表すものであり,紙面上から見て(x,y)が左上,(x’,y’)が右下に対応する座標である。例えば,左上が座標原点へ向かう方向であり,右下が原点座標から離れる方向である。座標原点は,例えばレシート挟持用シート20における画像の特定位置とされる。
【0067】
さらに,認識文字データ110は,文字#141「総」,#142「売」および#143「上」の3文字の認識文字リストを含む。認識文字リストは,辞書からの候補文字とされる認識順位に応じて,その候補とされる認識文字と,その認識文字と読み取られた文字の相違度(または一致度)とが格納される。例えば,文字#141「総」の認識文字リストでは,順位「1」が,認識文字「総」,相違度「1311」であり,順位「2」が,「脆」,相違度「1581」であり,その他の順位についても同様に示される。相違度は,例えば0に近い数値ほど,予め備えられた辞書(図示しない)の候補文字と一致する度合いが大きく,その値が大きいほど,辞書の候補文字と相違する度合いが大きいことを示す。文字#142「売」および#143「上」の認識文字リストについても,図6に示すとおりである。
【0068】
図7は,画像データ記憶部101に保存される認識文字テーブル1011の一例を示す図である。認識文字テーブル1011は,読み込まれた画像データごとに,認識文字データを格納するテーブルである。さらに,認識文字テーブル1011は,レシート22の認識された文字列ごとに,認識文字データを含む。認識文字データは,前述したとおりである。
【0069】
図7に示す認識文字テーブル1011は,図5で示す文字列#1〜#14,…等の認識文字データを格納する。例えば,前述した文字列#14「総売上」,文字列#14を構成する文字#141「総」,#142「売」および#143「上」が,認識文字テーブル1011に格納されている。その他の文字列についても同様に格納されている。なお,図7に示す認識文字テーブル1011における項目,設定等の定義は,図6の認識文字データのそれらと同様であるため,ここでは説明を省く。
【0070】
次に,画像データ読込部11が,画像データ記憶部101から画像データを読み込むと,店舗特定部12は,画像データからレシート挟持用シート20の識別コード21を判別し,判別した識別コード21から店舗コードを読み取る(ステップS12)。
【0071】
具体的には,店舗特定部12は,例えばQRコード等を復号し,復号したデータから店舗コード,もしくは,店舗コードに対応付けられた識別番号などを特定する。なお,読取機10によりQRコードを復号し,店舗特定部12が復号したデータから店舗コードを特定してもよく,その特定方法は限定されない。
【0072】
次に,定義データ読込部13は,店舗特定部12により特定された店舗コードを受けると,店舗コードに対応付けられた定義データを,定義データ記憶部102から取得する(ステップS13)。
【0073】
具体的には,図8に,定義データテーブル1021を説明する図を示す。以下,図8を用いて,定義データ読込部13が取得する定義データの一例を説明する。
【0074】
図8に示すレシート22tは,ある店舗の定義データの作成のために用意されるレシート22(基準レシートとする)の画像の一部である。また,図8において,定義データテーブル1021は,予め作成された定義データを格納し,定義データ記憶部102に記憶されるデータである。なお,レシート22tには,行番号と,レシート項目名称と,金額とが表示されている。このレシート22tから,14行目(BX14)の「現金売上金額」と,18行目(BX18)の「その他金券金額」とが抽出対象のレシート項目であるとする。
【0075】
定義データテーブル1021では,抽出対象のレシート項目が,定義データとして登録される。定義データを予め作成するために,店舗ごとの基準とされる基準レシート(レシート22t)が用いられ,基準レシートをもとにして店舗ごとのレシート22に対する定義データが作成される。
【0076】
定義データテーブル1021には,対象の店舗コードと,抽出するレシート項目ごとに,「読取項目」,「項目属性」,「読取文字」および「金額欄の読取位置」とが格納される。「店舗コード」は,対象となるレシートの店舗に対応する店舗ごとの識別番号である。「読取項目」は,売上管理項目の名称である。「項目属性」は,読み取るべきレシート項目名称の属性である。その属性は,例えば“1”,“2”または“3”のいずれかの値である。“1”は売上管理項目に対応するレシート項目名称が基準レシートに重複していない(通常の項目)場合,“2”は重複している同一名称がありかつアンカー文字を設定する場合,“3”は重複している同一名称がありかつ複数キーワードを設定する場合の属性とされる。「読取文字」は,売上管理項目に対応する基準レシート上に印字されるレシート項目名称である。「金額欄の読取位置」は,読取文字からのレシート項目の金額(数値文字,通貨記号などを含む)の相対位置である。
【0077】
図8に示す基準レシートとされるレシート22tにおいて,画像位置BX14には,「現金売上金額」および「¥139,639」とされる文字列Str#1およびDat#1がある。また,文字列Str#1と文字列Dat#1との相対距離は,Dis#1とする。画像位置BX18には,「その他金券金額」および「¥8,000」とされる文字列Str#2およびDat#2がある。また,文字列Str#2と文字Dat#2との相対距離は,Dis#2とする。
【0078】
図8に示す定義データテーブル1021は,図8に示すレシート22tから作成される定義データを格納する。図8に示すように,定義データテーブル1021には,「店舗コード」:“100001”が,基準レシートの対象となる店舗コードとして設定される。「読取項目#1」:“現金売上”は,売上管理項目の中の項目名称“現金売上”が設定された結果である。「項目属性#1」:“1”は,前述した通常の項目が設定された結果である。「読取文字#1」:“現金売上金額”は,レシート22tの画像位置BX14における文字列Str#1が設定された結果である。「金額欄の読取位置#1」:“(x11,y11)−(x’11,y’11)”は,文字列Str#1と文字列Dat#1との相対距離Dis#1として,文字列Str#1の位置から文字列Dat#1の位置の相対位置が設定された結果である。なお,相対位置として,図示された文字列Dat#1の長方形枠の左上の座標(x11,y11),同じく右下の座標(x’11,y’11)が格納されていることを示す。なお,これらの座標は,相対的な座標である。その他の定義データについても同様に格納されている。なお,図8に示す定義データテーブル1021における#nは,複数の定義データの設定項目を区別するための識別子であり,nは1,2等の整数とする。
【0079】
以上説明した定義データテーブル1021は,レシートデータ抽出部141がレシートデータを抽出する際に,定義データ読込部13を介して参照される。レシートデータ抽出部141は,定義データテーブル1021に格納された定義データに基づき,読み込んだ画像データ(レシート22の認識文字)について,レシート項目を抽出する。すなわち,レシートデータ抽出部141は,基準レシートの定義データにより,抽出すべきレシート項目を判断することができる。
【0080】
なお,実際には,精算レシート(レシート22)は,同じPOSシステムで印刷した場合であっても,その時々の出力により,途中のレシート項目の一部を飛ばして(抜かす)印刷する場合がある。従って,定義データテーブル1021における「金額欄の読取位置」を固定座標で作成すると,このような一部のレシート項目を飛ばして印刷する場合に対応できない。そのため,図8に示す定義データテーブル1021のように,レシート項目名称の文字列位置からの相対位置の座標位置を定義データとして用いることにより,このような一部のレシート項目を飛ばして印刷する場合に対応することができる。また,図8においては,レシート項目名称とその対応する金額が,同じ行に印刷されている例で説明しているが,レシート項目名称とその対応する金額が,異なる行であっても良い。その場合には,定義データにその異なる行の金額の相対位置などが登録される。
【0081】
次に,レシートデータ処理部14は,定義データ読込部13から店舗コードに対応付けられた定義データを受けると,レシートデータ処理を実行する(ステップS14)。このレシートデータ処理の詳細なフローについては,図9を用いて後述する。
【0082】
レシートデータ処理部14によりレシートデータ処理された後に,売上管理データ生成部15は,処理されたレシートデータから売上管理データを生成する。売上管理データ生成部15は,生成した売上管理データを売上管理データ記憶部103に保存する(ステップS15)。売上管理データを保存後,レシートデータ認識装置1は,本処理を終了する。なお,ステップS15の詳細な処理フローについては,図13を用いて後述する。
【0083】
以上説明した処理フローが,レシートデータ認識装置1が実行する処理全体のフローである。
【0084】
図9は,図4に示すステップS14におけるレシートデータ処理の詳細な処理フローチャートである。図9に従って,レシートデータ処理部14が実行するレシートデータ処理について具体的に説明する。
【0085】
レシートデータ抽出部141は,画像データの中からレシート22の対象とする行の項目名称のみを抽出する(ステップS21)。
【0086】
具体的には,レシートデータ抽出部141は,画像データ読込部11から画像データ(認識文字データ)を受けると,レシート22の1行目から項目名称のみを抽出する。例えば,図5の画像データである場合,レシート22bの文字列#1「2010年10月10日(日) 22:30 No:0002」が抽出され。文字列#2「**」,…,文字列#7「売計」,文字列#8「297点」,文字列#9「¥226,701」,…等が抽出され,空行などは抽出されない。なお,このステップS21では,項目名称として,レシート項目名称,金額,記号(例えば「**」)なども含めて抽出される。
【0087】
次に,レシートデータ抽出部141は,定義データテーブル1021に格納された定義データを参照する(ステップS22)。
【0088】
具体的には,定義データ読込部13が,定義データ記憶部102に格納された定義データテーブル1021から店舗コードに対応する定義データを読み出す。定義データ読込部13は,読み出した定義データをレシートデータ抽出部141に送る。レシートデータ抽出部141は,ステップS23以降の処理において,定義データ読込部13から送られた定義データを用いる。なお,レシートデータ抽出部141は,定義データ読込部13から送られた定義データを,ワークメモリ(図示しない)に保存し,ワークメモリ上で定義データを参照する。
【0089】
次に,レシートデータ抽出部141は,抽出した項目名称が定義データに設定されているかをチェックする(ステップS23)。
【0090】
具体的には,レシートデータ抽出部141は,図5に示す文字列#14「総売上」について,定義データテーブル1021の読取文字#n(nは整数)の中に一致するものがあるかをチェックする。
【0091】
次に,定義データに設定されている場合(ステップS23:Yes),傾き検出部142が,定義データの読取文字と一致する認識文字について傾きを算出する(ステップS24)。一方,定義データに設定されていない場合(ステップS23:No),ステップS28に処理を移す。
【0092】
具体的には,傾き検出部142が,定義データの読取文字と一致する認識文字のy座標から傾きを検出する。
【0093】
図11は,傾き検出処理および傾き補正処理を説明する図である。特に,図11(A)は,レシート22dにおけるレシート項目の並びの例を示す図であり,図11(B)は,認識文字の傾きの検出および補正の動作を説明する図である。
【0094】
図11(A)および図11(B)に示すように,文字列Str#20「総売上」は,認識文字Str#21「総」,Str#22「売」およびStr#23「上」からなる文字列であり,これらの文字は,画像データ上において基準となる方向に対して,傾きの角度αを成すものとする。
【0095】
画像データ読込部11から送られた認識文字について,レシートデータ抽出部141は,定義データテーブル1021の読取文字#nを参照して,一致するものがあるかをチェックする。例えば,認識文字である文字列Str#20「総売上」について,定義データテーブル1021の読取文字#n「総売上」にあるとする。
【0096】
レシートデータ抽出部141は,画像データ読込部11から送られた文字列Str#20「総売上」について,ワークメモリ上の認識文字テーブル1011を参照する。レシートデータ抽出部141は,認識文字テーブル1011上で検索ヒットした認識文字Str#21「総」,Str#22「売」およびStr#23「上」の画像データ(認識文字データ)を取得する。すなわち,レシートデータ抽出部141は,レシート項目名称として,文字列Str#20「総売上」を抽出する。
【0097】
傾き検出部142は,レシートデータ抽出部141により取得された認識文字データを用いて,以下のように,認識文字の傾きを求める。
【0098】
例えば,レシートデータ抽出部141により取得された画像データは,図6の例に示すようなStr#21「総」の座標位置(x1,y1)−(x’1,y’1),Str#22「売」の座標位置(x2,y2)−(x’2,y’2),Str#23「上」の座標位置(x3,y3)−(x’3,y’3)等である。なお,座標位置(x1,y1)−(x’1,y’1)等は,長方形枠の左上および右下の座標を示すものとする。また,図11(B)に示す座標(図示では黒丸)Pt1=(x’1,y’1),座標Pt2=(x’2,y’2),座標Pt3=(x’3,y’3)として説明する。
【0099】
傾き検出部142は,図11(B)に示すx座標間距離k1およびy座標間距離k2について,座標Pt1〜Pt3を用いることにより,以下に示すように,傾きの角度αを算出する。k1,k2,tan(α)を求めると,
k1= x’3−x’1
k2=y’3−y’1
tan(α)=k2/k1
α=arctan(k2/k1)
となる。
【0100】
次に,傾き補正部143は,算出された傾きから認識文字の傾きを補正する必要があるかを判断する(ステップS25)。傾きを補正する必要がない場合(ステップS25:No),ステップS27に処理が進む。一方,傾きを補正する必要がある場合(ステップS25:Yes),傾き補正部143は,傾き補正処理を実行する(ステップS26)。
【0101】
具体的に説明すると,傾き補正部143は,算出された傾きの角度αを予め定めた許容角度と比較して,許容角度より小さい場合に,図11(B)に示す金額項目Dat#30に対して,Y座標を補正する必要がないと判断する。一方,算出された傾きの角度αが許容角度以上の場合に,傾き補正部143は,図11(B)に示す金額項目Dat#30に対して,Y座標を補正する必要があると判断する。なお,図11(B)の例では,算出された傾きの角度αが許容角度以上の場合である。
【0102】
図12は,特定されたレシートデータの一例を示す図である。特に,図12では,レシート22内の異なる行の文字列を例として,比較して説明する。
【0103】
(1)傾き検出を行わなかった場合
レシートデータ抽出部141は,OCR処理の結果および定義データテーブル1021を用いて,レシート項目名称の文字列Str#10「現金在高」に対応する金額項目が,Dat#10の「¥335,275」であると認識する。また,レシート項目名称の文字列Str#20「総売上」に対応する金額項目が,Dat#30の「¥623,603」であると認識する。これは正しい結果ではない。これを傾きの検出を行うことにより,次のように正しい金額項目を抽出し,解決する。
(2)傾き検出を行った場合
図12に示す文字列Str#10「現金在高」について,傾き検出部142が傾きの角度α1を検出する。傾き補正部143は,傾きの角度α1を予め定めた許容角度と比較して,許容角度より小さいと判断し,補正処理を行わない。
【0104】
図12に示す文字列Str#20「総売上」について,傾き検出部142が傾きの角度α2を検出する。傾き補正部143は,傾きの角度α2を予め定めた許容角度と比較して,許容角度以上と判断し,補正処理を行う。
【0105】
図10は,ステップS26における傾き補正処理の詳細な処理フローチャートである。以下,図10に従って,レシートデータ処理部14が実行する傾き補正処理について具体的に説明する。
【0106】
レシートデータ抽出部141は,定義データの中からレシート項目名称に対応する金額項目の位置情報(金額欄の位置)を取得する(ステップS261)。
【0107】
具体的に説明するために,図11(A)に,レシートデータの抽出対象となるレシート22dを示す。図11(A)において,レシート22dには,レシート項目名称として認識される文字列Str#10〜#30と,その各々に対応する金額項目(金額の文字列)Dat#10〜#30とがある。例えば,レシート項目名称として認識される文字列Str#10「現金在高」,Str#20「総売上」およびStr#30「純売上」とし,その各々に対応する金額項目Dat#10「¥335,275」,Dat#20「¥654,735」およびDat#30「¥623,603」とする。
【0108】
レシートデータ抽出部141は,レシート22dに対応する店舗コードの定義データテーブル1021(例えば図8)を用いて,「読取文字#10」からレシート項目名称の文字列Str#10を取得し,「金額欄の読取位置#10」から対応する金額項目Dat#10の位置情報(金額欄の位置)を取得する。また,同様に,文字列Str#20およびStr#30についても,同様に金額項目Dat#20およびDat#30の位置情報が取得される。
【0109】
次に,傾き補正部143は,検出された傾きの角度から金額欄の位置のY座標の補正量を算出する(ステップS262)。続いて,傾き補正部143は,算出された補正量から金額欄の位置のY座標を補正する(ステップS263)。
【0110】
具体的には,傾き補正部143は,金額項目Dat#30に対して,以下に説明するように,金額欄の位置のY座標を補正する。
【0111】
補正前の金額欄の位置は,図11(B)の実線長方形枠に示すように,「金額欄の読取位置#20」から取得した位置情報(x21,y21)−(x’21,y’21)にある。傾き補正部143は,検出された傾きの角度αを用いて,取得した位置情報におけるy座標の補正量Δyを算出する。ここで,
Δy=x21・tan(α)
とされる。なお,上記に示す傾き角度および補正量の算出法は一例であり,その他の算出方法であっても良い。例えば,
Δy={(x21+x’21)/2}・tan(α)
というように,金額欄の読取位置#20における左端と右端のx座標の平均値を用いて計算してもよい。
【0112】
これにより,図11(B)の破線長方形枠に示すように,傾き補正部143は,補正後の金額欄の位置を(x21,y21+Δy)−(x’21,y’21+Δy)と補正する。図11(B)の破線長方形枠内に金額項目Dat#20「¥654,735」があることより,傾き補正部143は,文字列Str#20に対応する金額項目はDat#20であると判断する。
【0113】
以上説明した補正処理後,ステップS26(S261〜S263)を終了する。ここで,図9の処理フローチャートのステップS27に戻り,図9に従って,説明する。
【0114】
次に,レシートデータ特定部144は,定義データに設定されている金額の位置情報または補正された金額の位置情報を用いて,金額項目を取得する(ステップS27)。
【0115】
具体的には,レシートデータ特定部144は,補正された位置情報の座標または補正されずにそのままとされた金額の位置情報の座標に近い,定義データの「読取項目#n」の座標の文字列を取得する。
【0116】
例えば,図12に示す文字列Str#10「現金在高」の金額項目については,傾き補正部143は,傾きの角度α1が許容角度より小さいため,傾き補正処理を実行しない。これにより,レシートデータ特定部144は,文字列Str#10「現金在高」に対応する金額項目Dat#10「¥335,275」と認識する。すなわち,レシート項目名称「現金在高」および金額項目「¥335,275」とされるレシートデータが特定される。
【0117】
一方,図12において,文字列Str#20「総売上」の金額項目については,傾き検出部142により検出した傾きの角度α2が許容角度以上のため,傾き補正部143は,傾き補正処理を実行する。傾き補正処理を実行後,傾き補正部143は,文字列Str#20「総売上」の金額項目について,方向L#21の距離Dis#21にある金額項目Dat#20「¥654,735」とする。これにより,レシートデータ特定部144は,文字列Str#20「総売上」に対応する金額項目Dat#20「¥654,735」と認識する。すなわち,レシート項目名称「総売上」および金額項目「654,735」とされるレシートデータが特定される。
【0118】
次に,レシート項目の最終行の処理が終了したかを判断する(ステップS28)。レシート項目の最終行の処理が終了していない場合(ステップS28:No),ステップS21に処理を戻し,次のレシート項目の行からのステップS21〜S27の処理を繰り返す。一方,レシート項目の最終行の処理が終了した場合(ステップS28:Yes),本処理を終了する。
【0119】
以上の補正処理により,図11(A)に示すように,レシートデータ特定部144は,例えばレシート項目名称Str#20「総売上」に対応する金額項目Dat#20「¥654,735」を特定することができる。
【0120】
以上のように,レシートデータ処理部14は,定義データを用いて,レシート画像から読み取ったレシート項目の認識文字に対して,各々について傾きを検出し,検出した傾きに応じて補正処理を実行し,必要なレシートデータを抽出することができる。
【0121】
また,レシートデータ処理部14は,売上管理データに必要なレシートデータを抽出することができ,抽出したレシートデータのレシート項目名称および金額を,予め定めた対応関係で売上管理項目の売上管理データに変換(集計)することができる。
【0122】
以上説明したレシートデータ認識処理によって,レシート行の各々の認識文字に対して,傾きの検出とその傾きの補正とを行うことができるため,レシート用紙が途中で折れ曲がっている場合や,印刷ずれ等の影響を排除して,レシート項目名称および対応する金額項目を正確に抽出することができる。これにより,売上管理データを正確に集計することができる。
【0123】
図13は,ステップS15における売上管理データ生成処理の詳細な処理フローチャートを示す。図13に従って,売上管理データ生成部15が実行する売上管理データ生成処理について具体的に説明する。
【0124】
売上管理データ生成部15は,レシートデータ特定部144から売上集計に必要となるレシートデータを取得する(ステップS31)。
【0125】
具体的には,売上管理データ生成部15は,店舗コードと,認識文字データから特定したレシート項目名称およびその金額を含むデータと,図3に示す対応関係情報1022とを含むレシートデータを,レシートデータ特定部144から取得する。
【0126】
次に,売上管理データ生成部15は,対応関係情報1022を用いて,売上管理項目の売上管理データとして集計する(ステップS32)。
【0127】
具体的には,売上管理データ生成部15は,対応関係情報1022から売上管理項目とレシート項目の対応関係に基づいて,レシート項目名称に対応する金額を,売上管理項目の売上管理データとして集計する。以上により,レシート項目の金額(数値データ)が,売上管理項目の数値データに変換される。
【0128】
次に,売上管理データ生成部15は,保存対象となる店舗コードの売上管理データを,売上管理データ記憶部103の売上管理DB1031に保存する(ステップS33)。
【0129】
例えば,図14に,売上管理DB(データベース)1031の例を示す。売上管理DB1031には,図14に示すように,店舗コードごとに,「売上日付」,売上管理項目No.1「現金売上」,No.2「掛売上」,No.3「クレジット売上」,…などの売上に関する精算項目に対応する数値(金額)が格納される。
【0130】
以上により,売上管理DB1031には,店舗ごとにまったく異なるフォーマット(シート形式)であったレシート22のレシート項目が一元化され,各テナントの店舗により出力されたレシートで統一の取れないレシート項目,名称,数値などが,統一性のとれた売上管理項目による売上管理データとして,手入力による作業なしに自動的に収集できるようになる。これにより,テナント管理部門の業務担当者は,自動的に店舗ごとの売上を集計することができるため,店舗の売上管理業務を効率よく,スピーディに行うことができる。
【0131】
また,各店舗に備えられたキャッシュレジスタなどのレシート出力装置を変更する必要がないため,テナント側にとっては余計な出費を抑えることができる。
【0132】
以上のレシートデータ認識装置が行う処理は,コンピュータとソフトウェアプログラムとによって実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも,ネットワークを通して提供することも可能である。
【符号の説明】
【0133】
1 レシートデータ認識装置
10 読取機
11 画像データ読込部
12 店舗特定部
13 定義データ読込部
14 レシートデータ処理部
15 売上管理データ生成部
20 レシート挟持用シート
101 画像データ記憶部
102 定義データ記憶部
103 売上管理データ記憶部
141 レシートデータ抽出部
142 傾き検出部
143 傾き補正部
144 レシートデータ特定部

【特許請求の範囲】
【請求項1】
レシート画像を文字認識することにより得られた認識文字とその位置データとを記憶する画像データ記憶部と,
レシートに印字される項目名称の文字列と,前記項目名称のレシート内位置からの,その項目名称に対応する金額項目の相対位置データとを,レシートにおける読取り対象となる各項目名称ごとに定義した定義データを記憶する定義データ記憶部と,
前記画像データ記憶部に記憶された認識文字から前記定義データに定義された項目名称の文字列に一致する認識文字を抽出するレシートデータ抽出部と,
抽出された認識文字の位置データから,認識文字の傾きを検出する傾き検出部と,
認識文字の傾きが検出された場合に,前記定義データにおける該当する金額項目の相対位置データを,検出された傾きに応じて補正する傾き補正部と,
補正された相対位置データを用いて,前記画像データ記憶部に記憶された認識文字とその位置データから前記金額項目を表す認識文字を抽出するレシートデータ特定部と,
前記項目名称に一致する認識文字と前記金額項目を表す認識文字とから,認識結果のデータを生成し,認識結果のデータを出力または記憶するデータ生成部とを備える
ことを特徴するレシートデータ認識装置。
【請求項2】
請求項1記載のレシートデータ認識装置において,
前記レシートは,店舗ごとに異なるフォーマットで印刷されたレシートであり,
前記定義データ記憶部には,店舗ごとに前記定義データが記憶され,
レシートを発行した店舗ごとに異なる定義データを用いて,前記レシートデータ抽出部と,前記傾き検出部と,前記傾き補正部と,前記レシートデータ特定部と,前記データ生成部による処理を実行する
ことを特徴とするレシートデータ認識装置。
【請求項3】
請求項2記載のレシートデータ認識装置において,
前記定義データ記憶部に記憶される定義データは,前記レシートに印字される項目名称の文字列に対応して,複数の店舗の売上管理に共通に用いられる売上管理項目名称のデータを含み,
前記データ生成部は,前記項目名称に一致する認識文字を,前記定義データに定義された対応する売上管理項目名称に変換した認識結果のデータを生成する
ことを特徴とするレシートデータ認識装置。
【請求項4】
コンピュータを,
レシート画像を文字認識することにより得られた認識文字とその位置データとを記憶する画像データ記憶手段と,
レシートに印字される項目名称の文字列と,前記項目名称のレシート内位置からの,その項目名称に対応する金額項目の相対位置データとを,レシートにおける読取り対象となる各項目名称ごとに定義した定義データを記憶する定義データ記憶手段と,
前記画像データ記憶手段に記憶された認識文字から前記定義データに定義された項目名称の文字列に一致する認識文字を抽出するレシートデータ抽出手段と,
抽出された認識文字の位置データから,認識文字の傾きを検出する傾き検出手段と,
認識文字の傾きが検出された場合に,前記定義データにおける該当する金額項目の相対位置データを,検出された傾きに応じて補正する傾き補正手段と,
補正された相対位置データを用いて,前記画像データ記憶手段に記憶された認識文字とその位置データから前記金額項目を表す認識文字を抽出するレシートデータ特定手段と,
前記項目名称に一致する認識文字と前記金額項目を表す認識文字とから,認識結果のデータを生成し,認識結果のデータを出力または記憶するデータ生成手段として
機能させるためのレシートデータ認識プログラム。
【請求項5】
請求項4記載のレシートデータ認識プログラムにおいて,
前記レシートは,店舗ごとに異なるフォーマットで印刷されたレシートであり,
前記定義データ記憶手段には,店舗ごとに前記定義データが記憶され,
前記コンピュータに,
レシートを発行した店舗ごとに異なる定義データを用いて,前記レシートデータ抽出手段と,前記傾き検出手段と,前記傾き補正手段と,前記レシートデータ特定手段と,前記データ生成手段による処理を実行させる
ことを特徴とするレシートデータ認識プログラム。
【請求項6】
請求項5記載のレシートデータ認識プログラムにおいて,
前記定義データ記憶手段に記憶される定義データは,前記レシートに印字される項目名称の文字列に対応して,複数の店舗の売上管理に共通に用いられる売上管理項目名称のデータを含み,
前記データ生成手段は,前記項目名称に一致する認識文字を,前記定義データに定義された対応する売上管理項目名称に変換した認識結果のデータを生成する
ことを特徴とするレシートデータ認識プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2012−221183(P2012−221183A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−85854(P2011−85854)
【出願日】平成23年4月8日(2011.4.8)
【出願人】(598097552)株式会社富士通マーケティング (30)
【出願人】(309033839)株式会社富士通コンピュータテクノロジーズ (8)
【Fターム(参考)】