しかしながら、上記従来の構成では、名刺から読み取った情報を日本国内で利用する用途に限定された名刺認識装置であって、名刺から読み取った情報を日本と外国とのコミュニケーション等に利用するような用途には対応していない。さらに、認識する名刺に書かれた内容からその名刺の持ち主の国や地域等を特定することはできるが、それ以外の情報を認識結果に付加することができなかった。
具体的には、例えば、利用者が日本国外の在住者からもらった名刺を名刺認識装置に認識させて、その認識結果を利用して国際電話をかける際、名刺には国際電話に必要な国番号が記載されていないことがあるため、利用者は別途何らかの方法で国番号を取得し、国際電話をかけなくてはならなかった。
つまり、前記の装置では、認識する名刺に書かれた内容からその名刺の持ち主の国や地域、言語などの属性を特定し、文書に書かれていない国や地域、言語などの属性に関する別の情報を認識結果に付加することができなかった。
また、国外の名刺を何度か入力する場合、最初認識した結果がフランス語の名刺であった場合、次の認識もフランス語の名刺だと分かれば、フランス語に特化した認識を行うことができるが、上述の装置では、1度認識して得た国や地域、言語などの属性を次の認識に反映させることができなかった。
また、1枚のフランスの名刺を一度に数行認識させた後に、もう一度1行だけ認識させ、以前の数行認識した結果特定される国や地域、言語などの属性を次の1行の認識結果に反映させることができなかった。
また、1枚のフランスの名刺を1行毎に何度かに分けて認識させて入力する場合、最初認識した結果でフランスの名刺と特定された場合、次の認識に、フランスの情報を付与することができればよいが、上述の装置では、認識して得た国や地域、言語等の属性を次の認識に反映させることができなかった。
また、フランスの1枚の名刺を1行毎に何度かに分けて認識させ入力する場合、何度目かに認識した結果でフランスの名刺と特定された場合、前の認識も、フランスの情報を付与することができればよいが、上述の装置では、認識して得た国や地域、言語等の属性を前の認識に反映させることができなかった。
また、名刺認識装置として、名刺読み取り機能を持つ携帯電話が商品化されているが、この装置は、1行毎に項目を指定し、その項目の書いてある文字列を1行撮影し、文字認識を行うもので、1枚の名刺の内容を入力するために何度も画像を取り込まなくてはならなかった。また、国や地域、言語等の属性を認識処理に利用していなかった。
また、従来の技術では、1行認識において、1行単独で国や地域、言語等の属性の特定を行うことができない時に、国や地域、言語等の属性を利用した文字列加工などの後処理を行うことができなかった。
本発明は、上記の課題を解決するためになされたものであり、その目的は、認識した文字または文字列に、その文字または文字列の言語の種類または意味等に関連する有用情報を付加することによって、必要または有用な情報が盛り込まれた文字列となり、文字認識装置が読み取った文字列の利用価値を向上させたり、利用の便利度を向上させることができる文字認識装置、文字認識方法、プログラム等を提供することにある。
本発明に係る文字認識装置は、上記の課題を解決するために、特定文字または特定文字列に関連した情報としての属性情報と、当該特定文字または特定文字列、あるいは当該特定文字または特定文字列を表すコードとが対応付けて格納されている属性情報格納部と、取り込んだ画像から、文字または文字列を抽出するとともに、抽出した文字または文字列から上記特定文字または特定文字列を抽出する抽出手段と、上記抽出した特定文字または特定文字列を検索キーとして、あるいは当該特定文字または特定文字列を表すコードを特定し、特定したコードを検索キーとして、上記属性情報格納部を検索することによって、上記抽出した特定文字または特定文字列に対応する属性情報を特定する属性情報特定手段と、上記抽出した文字または文字列に上記特定した属性情報を付加するように、上記抽出した文字または文字列を加工する文字列加工手段と、を備えていることを特徴としている。
また、本発明に係る文字認識方法は、上記の課題を解決するために、特定文字または特定文字列の言語の種類に関連した情報もしくは当該特定文字または特定文字列の意味に関連した情報としての属性情報と、当該特定文字または特定文字列、あるいは当該特定文字または特定文字列を表すコードとが対応付けて格納されている属性情報格納部と、抽出手段と、属性情報特定手段と、文字列加工手段とを備えた文字認識装置が実行する文字認識方法において、上記抽出手段が、取り込んだ画像から、文字または文字列を抽出するとともに、抽出した文字または文字列から上記特定文字または特定文字列を抽出するステップと、上記属性情報特定手段が、上記抽出した特定文字または特定文字列を検索キーとして、あるいは当該特定文字または特定文字列を表すコードを特定し、特定したコードを検索キーとして、上記属性情報格納部を検索することによって、上記抽出した特定文字または特定文字列に対応する属性情報を特定するステップと、上記文字列加工手段が、上記抽出した文字または文字列に上記特定した属性情報を付加するように、上記抽出した文字または文字列を加工するステップと、を備えていることを特徴としている。
上記の構成において、属性情報とは、取り込んだ画像から抽出した文字または文字列に付加することによって、文字列の利用価値を向上させたり、利用の便利度を向上させることができる情報である。属性情報の例として、文字列としての電話番号に付加することによって国際電話をかけるときに有用な国際アクセス番号または国番号、文字列としての住所に付加されていると便利な郵便番号、文字列としての会社名に付加されていると便利な会社コード番号(株式会社等に一意に割り振られた番号)などを挙げることができる。
したがって、上記属性情報は、特定文字または特定文字列の言語の種類(例えば、日本語か、英語か、ドイツ語か等)に関連した情報、あるいは当該特定文字または特定文字列の意味(例えば、住所、会社名等)に関連した情報とも言い得る。
上記特定文字または特定文字列(のデータ)は、属性情報格納部において、例えばテーブルによって上記属性情報と対応付けられている。その属性情報との対応付けは、特定文字または特定文字列(のデータ)ばかりではなく、特定文字または特定文字列を表すコード(のデータ)でもよい。
なお、特定文字または特定文字列の各データ、あるいは上記コードのデータは、テキストデータ、符号化データ、または上記テキストデータまたは符号化データ等を格納したメモリ上のアドレスデータであってもよい。
また、上記特定文字または特定文字列は、属性情報が付加される文字または文字列と同一であってもよい。例えば、電話番号だけを画像として読み取った場合に、その電話番号が使用されている地域の情報を属性情報として特定し、読み取った電話番号に、特定した地域を示す住所のような文字列を付加するケースでは、電話番号が、特定文字または特定文字列でもあるし、属性情報が付加される文字または文字列でもある。
上記の構成によれば、文字認識装置が取り込んだ画像に特定文字または特定文字列が含まれている場合、属性情報特定手段は、抽出した特定文字または特定文字列を検索キーとして、あるいは当該特定文字または特定文字列を表すコードを検索キーとして、属性情報格納部を検索することによって、属性情報を特定する。そして、文字列加工手段は、抽出手段が抽出した文字または文字列に上記特定した属性情報を付加するように、上記抽出した文字または文字列を加工する。
これによって、抽出手段が抽出した文字または文字列には、文字認識装置の利用者にとって必要または有用な情報が、画像を取り込むだけで付加されるので、文字認識装置が読み取った文字列の利用価値を向上させたり、利用の便利度を向上させることができるという効果を奏する。
なお、上記の構成では、抽出手段が、取り込んだ画像から文字または文字列を抽出するとしたが、そのような文字認識装置としての構成に限らず、文字または文字列を入力する入力手段を備えたデータ変換装置に置き換えることもできる。この場合、上記抽出手段が、入力手段から入力された文字または文字列から上記特定文字または特定文字列を抽出する。
この構成においても、データ変換装置の利用者にとって、入力手段から文字または文字列を入力するだけで、必要または有用な情報が、その入力した文字または文字列に付加されるので、データ変換装置に入力された文字列の利用価値を向上させたり、利用の便利度を向上させたりすることができるという同様の効果を奏する。
本発明に係る文字認識装置において、上記文字列加工手段によって加工される文字または文字列は、上記特定文字または特定文字列を抽出した文字または文字列と異なっていてもよい。
例えば、名刺の画像から、上記抽出手段が文字または文字列としてメールアドレスと電話番号とを抽出し、抽出したメールアドレスから、特定文字または特定文字列として「.jp」を抽出した場合、上記属性情報特定手段が「.jp」を検索キーとして属性情報格納部を検索した結果、「.jp」に対応付けされた日本の国番号である「81」を特定したとする。
これによって、文字列加工手段が、抽出手段の抽出した電話番号の先頭に、国番号「81」を付加するように、電話番号を加工した場合が、文字列加工手段によって加工される文字または文字列が、上記特定文字または特定文字列を抽出した文字または文字列と異なっている場合の一具体例である。
このように、文字列加工手段によって加工される文字または文字列と、上記特定文字または特定文字列を抽出した文字または文字列とを違えるか、同じとするかは、特定した属性情報の内容に応じて予め決めておけばよい。
本発明に係る文字認識装置は、上記の構成において、上記抽出手段が抽出した文字または文字列を格納しておく認識結果格納部をさらに備え、上記属性情報特定手段は、上記認識結果格納部に既に文字または文字列が格納されているか検索し、文字または文字列が格納済みであるとき、その格納済みの文字または文字列から抽出した特定文字または特定文字列に対応する属性情報を既存属性情報として特定し、上記文字列加工手段は、上記抽出手段が、取り込んだ画像から文字または文字列を新たに抽出したときに、文字認識装置の操作者の指示に基づいて、その新たに抽出した文字または文字列に、上記既存属性情報を付加するように、その新たに抽出した文字または文字列を加工してもよい。
上記の構成によれば、上記認識結果格納部に既に文字または文字列が格納されているとき、属性情報特定手段が、その既に格納された文字または文字列から既存属性情報を特定し、抽出手段が新たに抽出した文字または文字列に、上記既存属性情報を付加するように、その新たに抽出した文字または文字列が加工される。
したがって、1回目の認識結果である文字または文字列からは、属性情報が特定できるが、2回目の認識結果である文字または文字列からは属性情報が特定できない場合にでも2回目の認識結果である文字または文字列に対して文字列加工を行なうことができるという効果を奏する。
たとえば、1回目にメールアドレスを抽出し、2回目に電話番号を抽出した場合、メールアドレス中の文字列「.jp」から属性(国名)が分かるので、2回目の電話番号に「81」という国番号の属性情報を付加することができる。
また、2回目の認識結果である文字または文字列に対して属性情報を特定することが必ずしも必要でなくなるという効果を奏する。
なお、上記の文字認識装置を前述のデータ変換装置に置き換える場合、上記認識結果格納部には、上記抽出手段が抽出した文字または文字列を格納しておく代わりに、入力手段から入力された文字または文字列を格納しておけばよい。
本発明に係る文字認識装置は、上記の構成において、上記抽出手段が抽出した文字または文字列を格納しておく認識結果格納部がさらに設けられ、上記属性情報特定手段は、上記認識結果格納部に既に文字または文字列が格納されているか検索し、文字または文字列が格納済みであるとき、その格納済みの文字または文字列から抽出した特定文字または特定文字列に対応する属性情報を既存属性情報として特定し、上記属性情報格納部には、複数種類の属性情報が格納されている場合、各属性情報の優先度に関する優先度情報が、各属性情報に対応付けて格納されており、上記抽出手段が、取り込んだ画像から新たに抽出した文字または文字列から特定文字または特定文字列を新たに抽出し、上記属性情報特定手段が、その新たに抽出された特定文字または特定文字列に対応する新たな属性情報を特定したとき、その新たな属性情報の優先度と、上記既存属性情報の優先度との高い方を、上記属性情報格納部を参照することによって判定する優先判定手段がさらに設けられ、上記文字列加工手段は、優先判定手段の判定結果を受けて、新たな属性情報および既存属性情報のうち優先度が高い方を上記新たに抽出した文字または文字列に付加するように、その新たに抽出した文字または文字列を加工してもよい。
上記の構成によれば、認識結果格納部に格納済みの文字または文字列に関して、属性情報特定手段が特定した既存属性情報と、抽出手段が、取り込んだ画像から新たに抽出した文字または文字列に関して、属性情報特定手段が特定した新たな属性情報との内、優先度の高い方が、新たに抽出した文字または文字列に付加される。既存属性情報および新たな属性情報の優先度の比較判定は、優先判定手段が、属性情報格納部に格納された優先度を参照して行う。
複数種類の属性情報の優先度について、属性情報を特定する元になる特定文字または特定文字列の抽出のしやすさ(抽出しやすい文字形状、少ない画数または少ない文字数等)によって予め順位付けしておくことができる。もしくは、属性情報が、文字認識装置で読み取った文字列の利用価値を向上させる度合い、あるいは利用の便利度を向上させる度合いなどによって、予め優先度を順位付けしておいてもよい。
これにより、属性情報の特定が容易になる、または属性情報の特定の確実度が向上するという効果や、あるいは文字列の利用価値または利用の便利度をできるだけ向上させることができるという効果を奏する。
なお、上記の文字認識装置を前述のデータ変換装置に置き換える場合、上記認識結果格納部には、上記抽出手段が抽出した文字または文字列を格納しておく代わりに、入力手段から入力された文字または文字列を格納しておけばよい。
本発明に係る文字認識装置は、上記の構成において、上記抽出手段が抽出した文字または文字列を格納しておく認識結果格納部をさらに備え、前記属性情報特定手段は、取り込んだ画像から抽出された最新の文字または文字列について、最新の属性情報を特定し、前記文字列加工手段は、上記最新の文字または文字列より前に抽出された以前の文字または文字列が上記認識結果格納部に格納されている場合、上記以前の文字または文字列に上記最新の属性情報を付加するように、上記以前の文字または文字列を加工してもよい。
上記の構成によれば、既に抽出済みで認識結果格納部に格納されていた以前の文字または文字列に最新の属性情報を付加することができる。
これにより、2回目の認識結果文字または文字列からは、属性情報が特定できるが、1回目の認識結果文字または文字列からは属性情報が特定できない場合にでも、1回目の認識結果文字または文字列に対して文字列加工を行なうことができるという効果を奏する。
たとえば、1回目に電話番号を抽出し、2回目にメールアドレスを抽出した場合、メールアドレス中の文字列「.jp」から属性(国名)が分かるので、1回目の電話番号に「81」という国番号の属性情報を付加することができる。
なお、属性情報が経時的に変化するような情報である場合、属性情報格納部を書き換え可能とし、常に最新の属性情報を格納しておく構成とすれば、例えば、郵便番号のように、地域割りの変更に伴って変更されるような属性情報であっても、常に最新の属性情報を文字または文字列に付加することができる。
なお、上記の文字認識装置を前述のデータ変換装置に置き換える場合、上記認識結果格納部には、上記抽出手段が抽出した文字または文字列を格納しておく代わりに、入力手段から入力された文字または文字列を格納しておけばよい。
本発明に係る文字認識装置は、上記の構成において、上記抽出手段によって抽出された上記特定文字または特定文字列は、国または地域を表すものであり、上記属性情報は、上記抽出手段によって抽出された文字または文字列から認識された国または地域の電話番号に関する特定情報であり、上記文字列加工手段は、上記抽出手段によって抽出された文字または文字列としての電話番号に、上記電話番号に関する特定情報を付加するように、上記抽出した電話番号を加工してもよい。
上記の構成によれば、特に名刺の画像を取り込んだ場合に、名刺に記載された電話番号の文字列に有用な属性情報を付加することができるという特段の効果を奏する。
例えば、名刺に記載された文字自体(日本語の文字か、英語の文字か等)、メールアドレス中の国または地域を表す文字列、または住所中の国または地域を表す文字列などが、すなわち国または地域を表す特定文字または特定文字列となる。国または地域の電話番号に関する特定情報は、例えば国際電話の国際アクセス番号または国番号であり、あるいは国内の市外局番である。したがって、名刺に記載された文字自体、メールアドレスまたは住所中の特定文字または特定文字列に対応付けされた国際アクセス番号等を読み取って、電話番号に付加することができる。
これにより、文字認識装置の利用者が、名刺の持ち主等に市外電話、国際電話などをかける場合に、必要な電話番号を取得することができ、画像から抽出した電話番号の利用価値、あるいは利用の便利度が向上する。
なお、上記の文字認識装置を前述のデータ変換装置に置き換える場合、電話番号に関する特定情報が付加される電話番号として、抽出手段によって抽出された電話番号を用いる代わりに、入力手段から入力された電話番号を用いればよい。
これにより、データ変換装置の利用者が、名刺の持ち主等に市外電話、国際電話などをかける場合に、入力手段から電話番号を入力するだけで、特定情報が付加された電話番号を取得することができ、電話番号の利用価値、あるいは利用の便利度が向上する。
本発明に係る文字認識装置は、上記の構成において、上記文字認識装置の現在の位置を位置情報として検出する位置情報検出手段をさらに備え、上記属性情報が、上記抽出手段によって抽出された文字または文字列から認識された国または地域を示す特定情報であり、上記属性情報特定手段は、上記認識された国または地域に上記検出された位置情報が該当するか否かを判断し、該当しない場合、上記検出された位置情報に該当する国または地域を示す情報を上記属性情報として改めて特定してもよい。
上記の構成において、抽出された文字または文字列から認識された国または地域に、上記検出された位置情報が該当しない場合とは、取り込んだ画像の作成元の国または地域と、文字認識装置が実際に存在している国または地域とが異なっていることを意味する。そうすると、抽出された文字または文字列から認識された国または地域を示す情報を属性情報として、抽出された文字または文字列に付加しても、その加工された文字または文字列は、文字認識装置が実際に存在する国または地域で役に立たないおそれが有る。
これに対し、上記の構成によれば、文字認識装置が実際に存在する国または地域を示す情報を属性情報として付加するように、抽出された文字または文字列を加工するので、その加工された文字または文字列が、文字認識装置が実際に存在する国または地域で役に立たないというおそれを解消することができる。
例えば、文字認識装置が実際に存在している米国において、日本人から名刺を受け取ったとして、その名刺の電話番号に国際アクセス番号が記載されていないというケースを想定する。もし、名刺に記載されたメールアドレスから日本の国際アクセス番号「001」を属性情報として特定したとするなら、その属性情報は、日本から国外に国際電話をかける場合に有用であっても、米国から日本に国際電話をかける場合には役に立たない。
しかし、上記の構成によれば、位置情報検出手段の位置情報に基づいて米国を示す情報を特定することができるから、米国から国際電話をかけるための国際アクセス番号「011」を属性情報として特定し、名刺から読み取った電話番号に付加することができる。
これにより、文字認識装置が読み取った文字列の利用価値、または利用の便利度をより一層向上させることができるという効果を奏する。
なお、上記属性情報特定手段が、上記認識された国または地域に上記検出された位置情報が該当するか否かを判断するためには、国または地域の位置情報の範囲を示す情報を格納した内蔵メモリまたは外部メモリにアクセスできるように構成すればよい。
また、上記の文字認識装置を前述のデータ変換装置に置き換える場合、国または地域を示す特定情報は、抽出手段によって抽出された文字または文字列から認識される代わりに、入力手段から入力された文字または文字列から認識される。
ところで、上記文字認識装置(またはデータ変換装置)は、ハードウェアで実現してもよいし、文字認識プログラム(またはデータ変換プログラム)をコンピュータに実行させることによって実現してもよい。具体的には、本発明に係る文字認識プログラム(またはデータ変換プログラム)は、少なくとも抽出手段・属性情報特定手段・文字列加工手段としてコンピュータを動作させるプログラムであり、本発明に係る記録媒体には、当該文字認識プログラム(またはデータ変換プログラム)が記録されている。
この文字認識プログラム(またはデータ変換プログラム)がコンピュータによって実行されると、当該コンピュータは、上記文字認識装置(またはデータ変換装置)として動作する。したがって、上記文字認識装置(またはデータ変換装置)と同様に、上記抽出した文字列は、必要な情報が盛り込まれた文字列となり、上記従来の問題点が解消され、利用者は、上記文字列を有効に利用することができるという効果を奏する。
本発明に係る文字認識装置は、以上のように、特定文字または特定文字列に関連した情報としての属性情報と、当該特定文字または特定文字列、あるいは当該特定文字または特定文字列を表すコードとが対応付けて格納されている属性情報格納部と、取り込んだ画像から、文字または文字列を抽出するとともに、抽出した文字または文字列から上記特定文字または特定文字列を抽出する抽出手段と、上記抽出した特定文字または特定文字列を検索キーとして、あるいは当該特定文字または特定文字列を表すコードを特定し、特定したコードを検索キーとして、上記属性情報格納部を検索することによって、上記抽出した特定文字または特定文字列に対応する属性情報を特定する属性情報特定手段と、上記抽出した文字または文字列に上記特定した属性情報を付加するように、上記抽出した文字または文字列を加工する文字列加工手段とを備えているので、上記抽出した認識結果は、必要または有用な情報が盛り込まれた文字列となり、上記従来の問題点が解消され、文字認識装置が読み取った文字列の利用価値を向上させたり、利用の便利度を向上させることができるという効果を奏する。
本発明に係るデータ変換装置は、以上のように、特定文字または特定文字列に関連した情報としての属性情報と、当該特定文字または特定文字列、あるいは当該特定文字または特定文字列を表すコードとが対応付けて格納されている属性情報格納部と、文字または文字列を入力する入力手段と、上記入力手段から入力された文字または文字列から上記特定文字または特定文字列を抽出する抽出手段と、上記抽出した特定文字または特定文字列を検索キーとして、あるいは当該特定文字または特定文字列を表すコードを特定し、特定したコードを検索キーとして、上記属性情報格納部を検索することによって、上記抽出した特定文字または特定文字列に対応する属性情報を特定する属性情報特定手段と、上記入力された文字または文字列に上記特定した属性情報を付加するように、上記入力された文字または文字列を加工する文字列加工手段と、を備えているので、上記入力された文字または文字列は、必要または有用な情報が盛り込まれた文字列となり、上記従来の問題点が解消され、入力された文字列の利用価値を向上させたり、利用の便利度を向上させることができるという効果を奏する。
〔実施の形態1〕
本発明の一実施形態について図面に基づいて説明すると以下の通りである。
以下において、文字認識装置は、便宜上、カメラ付き携帯電話によって、名刺の文字(文字列)を認識することを想定して説明する。
(1.文字認識装置の構成)
本発明に係る文字認識装置1は、図1に示すように、画像入力部11と、入力部12と、表示部13と、制御部20と、格納部50とを備えている。
また、制御部20は、入力制御部21と、認識対象行指定部22と、画像入力制御部23と、新規継続指定部24と、行抽出部25と、文字列切り出し部26と、パターンマッチング部27(抽出手段)と、項目分類部28(抽出手段)と、属性特定部29(属性情報特定手段)と、文字列整形部30(文字列加工手段)と、表示制御部31と、優先判定部32(優先判定手段)とを備えている。
さらに、格納部50は、パターン辞書格納部51と、項目名格納部52と、属性特定キーワード格納部53と、属性情報格納部54と、文字列整形辞書格納部55と、認識データ格納部56(認識結果格納部)と、整形文字列格納部57とを備えている。
画像入力部11は、認識対象の画像を光学的に取り込む機能を有し、例えば、カメラやスキャナ等の画像取り込み装置により構成されている。画像入力部11により、例えば名刺に記載されている文字列が画像(以下、名刺画像と称する)として取り込まれる。
入力部12は、利用者の各種指示を受け付け、制御部20に伝える。本実施の形態における入力部12は、認識行指定メニューを表示部13に表示させる指示(文字認識装置の起動指示)を利用者から受け付けると、その指示を表示制御部31に伝える。これにより、表示制御部31は、図2に示すような認識行指定メニューを表示部13に表示させる。
認識行指定メニューが表示された状態で、入力部12を用いて利用者が複数行の文字列を認識させるモード(以下、複数行認識モードと称する)を選択した場合は、その旨の指示信号(以下、複数行認識指示信号と称する)を、入力制御部21を介して認識対象行指定部22に送る。また、入力部12を用いて利用者が1行の文字列を認識させるモード(以下、1行認識モードと称する)を選択した場合は、その旨の指示信号(以下、1行認識指示信号と称する)を、入力制御部21を介して認識対象行指定部22に送る。
以下では、利用者が複数行認識モードを選択した場合について説明する。なお、利用者が1行認識モードを選択した場合については、画像入力部11が名刺画像の1行を取り込むか、複数行を取り込むかという違い以外は同様の処理を行うため、説明は省略する。
まず認識対象行指定部22は、上記複数行認識指示信号を画像入力制御部23に送り、新規撮影するモード(以下、新規撮影モードと称する)にするのか継続撮影するモード(以下、継続撮影モードと称する)にするのかを利用者に選択させるための選択画像を表示することを指示する信号(以下、新規継続選択信号と称する)を表示制御部31に送る。
以下では、表示制御部31が上記新規継続選択信号を受け付けた場合の一連の動作と、画像入力制御部23が上記複数行認識指示信号を受け付けた場合の一連の動作とを分けて説明する。
まず表示制御部31が新規継続選択信号を受け付けた場合、表示制御部31は、受け付けた信号を新規撮影モードまたは継続撮影モードを選択するための選択画像に変換し、その画像を表示部13に送る。そして、表示部13は、受け付けた上記選択画像を表示し、利用者はそれを見て入力部12を用いて新規撮影モードにするのか継続撮影モードにするのかを選択する。
その選択に応じ、入力部12は新規撮影モードにする旨の信号(以下、新規撮影モード指示信号と称する)または継続撮影モードにする旨の信号(以下、継続撮影モード指示信号と称する)を入力制御部21に送る。
入力制御部21は、上記新規撮影モード指示信号または上記継続撮影モード指示信号を受け付けた場合、受け付けた信号を認識対象行指定部22に送り、認識対象行指定部22は上記信号を新規継続指定部24に送る。
新規継続指定部24は、上記新規撮影モード指示信号を受け付けた場合は、上記指示信号を文字列整形部30に送り、認識データ格納部56に格納されている従前のデータを削除する。一方、上記継続撮影モード指示信号を受け付けた場合は、上記指示信号を文字列整形部30に送るのみである。
一方、画像入力制御部23は、上記複数行認識指示信号を受け付けると、画像入力部11から名刺画像を取り込み、その画像を名刺画像信号に変換し、その信号を行抽出部25に送る。
行抽出部25は、上記名刺画像信号を受け付けると、その信号に信号処理(例えば、ぼけ補正処理・2値化処理等)を施し、その信号のつながり情報(文字列が行としてどこまでつながっているのかを示す情報)を基に行を切り出し、切り出された行を行画像信号として文字列切り出し部26に送る。
文字列切り出し部26は、上記行画像信号を受け付けると、画素の切れ目や画素のヒストグラム情報、パターン辞書とのマッチング等を用いて文字を切り出し、切り出された文字を文字信号としてパターンマッチング部27に送る。
パターンマッチング部27は、上記文字信号を受け付けると、パターン情報(上記切り出された文字のパターンマッチングに用いる情報)を格納するパターン辞書格納部51を参照してマッチングを行い、認識結果の候補となる文字の文字コードを特定する。その後、パターンマッチング部27は、上記認識結果の候補となる文字または文字列(以下、認識結果候補文字列と称する)、あるいは当該文字または文字列を表すコードを認識結果候補文字列信号として項目分類部28および属性特定部29に送る。
項目分類部28は、上記認識結果候補文字列信号を受け付けると、項目名格納部52を参照して、上記認識結果候補文字列の項目名を特定し、その結果を項目名信号として属性特定部29に送る。ここで、上記項目名とは、その文字列が表す意味の上位概念である項目を表すものであり、この一例として、「山田太郎」という文字列の項目は氏名なので、項目名は「氏名」ということになる。
なお、上記項目名格納部52には、図3に示すように、文字列と項目名とを対応付けたテーブルが格納されている。図3は、文字列が色々な国の言語における電話を意味する文字列と、項目名としての「電話番号」とを対応付けしたテーブルの例を示すものである。項目名としては、その他に、メールアドレス、住所、会社名、所属部署名、肩書き名などがある。
また、上記項目名を、認識結果候補文字列の大きさを基準として特定するように予め定めておけば、文字認識処理を簡略化することもできる。具体的には、例えば認識結果候補文字列が名刺における「氏名」の場合、「氏名」は名刺に記載されている他の文字に比べて大きいため、その項目名が「氏名」であると特定できる。
属性特定部29は、上記認識結果候補文字列信号および上記項目名信号を受け付けると、文字列または当該文字列を表すコードと国名・地域名に関する情報とを格納する属性特定キーワード格納部53を参照して、上記認識結果候補文字列信号の国名・地域名を特定する。そして、属性特定部29は、上記認識結果候補文字列信号と上記項目名信号と上記国名・地域名を示す信号とを対応付けたデータ(以下、認識データと称する)を認識データ格納部56に格納する。
なお、属性情報とは、文字または文字列から特定される言語の種類に関連する情報、または文字または文字列の意味に関連する情報のことである。
以下では、属性特定キーワード格納部53および属性情報格納部54について説明する。
属性特定キーワード格納部53は、図4に示すように、上記項目名に優先順位を付し、例えば文字列と国名・地域名とを対応付けて格納している。なお、本実施形態では、項目名に、後述する項目名の優先度を考慮した処理を行うために優先順位をつけているが、この順番に限られない。また、図4に示すテーブル1〜テーブル4の何れか1つのみを用いることとしてもよい。
具体的には、属性特定キーワード格納部53は、例えば、項目名を「メールアドレス」に設定した場合、図4のテーブル1に示すように、メールアドレスのドメイン名における国を示す記号(例えば「.jp」「.de」等の文字列または当該文字列を表すコード)と国名・地域名とを対応付けて格納している。また、項目名を「電話番号」や「住所」に設定した場合、図4のテーブル2・テーブル3を用いればよい。
なお、上記属性特定キーワード格納部53は、国名・地域名を判別することができる情報(例えば、「アメリカのカリフォルニア」を表す「CA」という情報や、「フランスのパリ」を表す「Paris」という情報)を格納していればよい。
また、項目名を特に設定していない場合、図4のテーブル4に示すように、名刺に記載されている色々な国の言語の文字(例えば「電」という漢字)と国名(例えば「日本」)・地域名とを対応付けたテーブルを用いればよい。
また、属性情報格納部54は、その一例として図5(1)に示すように、国情報(国名)と国番号とを対応付けたテーブルを格納している。これは、例えば、日本国外から日本に国際電話をかける場合の日本に割り当てられた国番号が「81」、ドイツに割り当てられた国番号は「49」であるので、日本という国(地域または言語情報でもよい)と国際電話の国番号とが対応付けて記載されている。
また、属性情報格納部54は、図5(2)に示すように、国情報と国際アクセス番号とを対応付けたテーブルも格納している。これは、例えば、日本から国外に国際電話をかける場合、最初につける国際アクセス番号は「001」、ドイツから国外に国際電話をかける場合、最初につける国際アクセス番号は「0049」というように、国(地域または言語情報でもよい)と国際アクセス番号とが対応付けて格納されている。
優先判定部32は、認識データ格納部56から従前に特定した認識データを取り込み、その認識データから項目名を特定する。その後、優先判定部32は、上記属性特定部29から最新の認識データを受け付けると、属性特定キーワード格納部53を参照して、上記最新の認識データにおける項目名の優先順位と、上記従前に特定した認識データにおける項目名の優先順位とを比較する。ここで、優先判定部32は、これら優先順位の高い項目名から特定される国名・地域名を特定し、その国名・地域名を全体の国・地域・言語特定結果とし、上記認識データにこの結果を含めて文字列整形部30に送る。
文字列整形部30は、上記全体の国・地域・言語特定結果を含んだ認識データを受け付けると、属性情報格納部54を参照して、その国名・地域名の国番号を特定する。その後、文字列整形部30は、その特定した国番号を用いて、例えば電話番号の先頭に国番号を付加するといったような、認識した文字列を適切な形式に整形することにより整形文字列信号を生成し、その整形文字列信号を整形文字列データとして整形文字列格納部57に格納する。
ここで、上記項目名信号が「郵便番号」である場合、郵便番号と住所文字列とを対応付けて格納する文字列整形辞書格納部55を参照して住所の誤字を訂正することもあわせて行ってもよい。
表示制御部31は、上記整形文字列データを整形文字列格納部57から取り込むと、そのテキストデータ(以下整形文字列と呼ぶ)を表示部13に送る。
表示部13は、上記整形文字列を受け付けると、そのテキストデータを表示する。なお、表示部13は、例えば液晶ディスプレイ等の画像表示装置により構成されている。
(2.文字認識整形処理)
次に、図6に示すフローチャートを参照しながら、本実施形態における文字認識装置1で実行される処理の流れについて説明する。
まず、ステップ1(以降、S1のように称する)において、利用者が文字認識装置1を起動すると、図2に示すような認識行指定メニューが表示部13に現れる。そして、利用者は、この認識行指定メニューを見ながら、入力部12を操作することによって、上記複数行認識モードまたは上記1行認識モードを選択する。ここで、利用者が複数行認識モードを選択した場合、処理はS2へ移行し、1行認識モードを選択した場合、処理はS8へ移行する。
以下、S2以降の処理とS8以降の処理とに分けて説明する。
(2−1.複数行認識モード)
まず、上記S2において、入力部12は利用者から複数行認識モードを選択した旨の指示を受け付けると、上記複数行認識指示信号を、入力制御部21を介して認識対象行指定部22に送る。そして、認識対象行指定部22は、上記複数行認識指示信号を画像入力制御部23に送る。また、認識対象行指定部22は、上記新規継続選択信号を表示制御部31に送る。
表示制御部31は、上記新規継続選択信号を受け付けると、表示部13に新規撮影モードにするのか、継続撮影モードにするのかを選択する選択画像を表示させ、利用者はその選択画像に基づいて選択する。なお、上記選択画像は、例えば図7に示すような画像である。ここで、利用者が新規撮影モードを選択すると、処理はS3へ移行し、利用者が継続撮影モードを選択すると、処理はS4へ移行する。
以下、S3とS4とを分けて説明する。
上記S3において、入力部12は、利用者から新規撮影モードを選択する旨の信号を受け付けると、上記新規撮影モード指示信号を入力制御部21に送り、入力制御部21は、上記指示信号を認識対象行指定部22に送る。そして、認識対象行指定部22は、上記指示信号を受け付けると、その指示信号を新規継続指定部24に送る。新規継続指定部24は、上記指示信号を受け付けると、新規撮影モードに設定する。さらに、新規継続指定部24は、認識データ格納部56に格納されている従前のデータを破棄する。その後、処理はS5へ移行する。
また、上記S4において、入力部12は、利用者から継続撮影モードを選択する旨の信号を受け付けると、上記継続撮影モード指示信号を入力制御部21に送り、入力制御部21は、上記指示信号を認識対象行指定部22に送る。そして、認識対象行指定部22は、上記指示信号を受け付けると、その信号を新規継続指定部24に送る。新規継続指定部24は、上記指示信号を受け付けると、継続撮影モードに設定する。その後、処理はS5へ移行する。
上記S5において、画像入力制御部23は、画像入力部11を用いて例えば名刺を撮影した後、数行が入る大きさで画像が取り込まれる。ここで、複数行認識モードに設定された場合における入力画像例を図8に示す。画像入力制御部23は、取り込んだ画像を行抽出部25に送る。
以降、行抽出部25、文字列切り出し部26、パターンマッチング部27、項目分類部28における処理は一連の文字認識処理として行われる(S6)。その後、属性特定部29は、項目分類部28から項目名信号を受け付けると、国・地域・言語の特定を行う(S7)。なお、上記S7における処理については後述する。その後、処理はS14へ移行する。
(2−2.1行認識モード)
一方、S8において、入力部12は利用者から1行認識モードを選択した旨の指示を受け付けると、上記1行認識指示信号を入力制御部21に送り、入力制御部21は、上記指示信号を認識対象行指定部22に送る。そして、認識対象行指定部22は、上記指示信号を画像入力制御部23に送る。また、認識対象行指定部22は、上記新規継続選択信号を表示制御部31に送り、表示制御部31は、上記信号を受け付けると、表示部13に、利用者が新規撮影モードに設定するのか継続撮影モードに設定するのかを選択するための選択画像を表示させ、利用者はその選択画像に基づいて選択する。ここで、利用者が新規撮影モードを選択すると、処理はS9へ移行し、利用者が継続撮影モードを選択すると、処理はS10へ移行する。
上記S9およびS10に関しては、上述のS3およびS4と同様の工程であるため、説明は省略する。
S11において、画像入力制御部23は、画像入力部11を用いて例えば名刺を撮影した後、1行の大きさで画像が取り込まれる。画像入力制御部23は、取り込んだ画像を文字列切り出し部26に送る。ここで、1行認識モードに設定された場合における入力画像例を図9に示す。図9に示す破線枠内の画像が文字列切り出し部26に送られる。
以降、文字列切り出し部26、パターンマッチング部27、項目分類部28における処理は一連の文字認識処理として行われる(S12)。そして、属性特定部29は、パターンマッチング部27から認識結果候補文字列信号を、項目分類部28から項目名信号を受け付けると、国・地域・言語の特定を行う(S13)。なお、上記S13における処理については後述する。その後、処理はS14へ移行する。
(2−3.文字整形処理)
上記S14において、新規撮影モードに設定されている場合、処理はS15へ移行し、継続撮影モードに設定されている場合、処理はS17へ移行する。
上記S15において、属性特定部29は、国・地域・言語を特定した結果と認識結果候補文字列と項目名とを認識データとして認識データ格納部56に格納する。その後、文字列整形部30は、上記認識データ格納部56から認識データを取り込むと、上記認識データに合った形に整形される(S16)。その後、処理はS19へ移行する。
一方、S17において、文字列整形部30は、以前に、認識データ格納部56に格納されている認識データを取り込む。そして、文字列整形部30は、以前あるいは最新の認識データに合った形に文字列を整形する(S18)。なお、継続撮影モードの文字列整形処理について後述する。その後、処理はS19へ移行する。
S19において、文字列整形部30は、表示部13を介して、一連の処理を終了するか否かを利用者に選択させる。ここで、一連の処理を終了する場合、処理はS20へ移行し、S20において、文字列整形部30は、上記整形した文字列を、表示制御部31を介して、表示部13に表示させる。終了しない場合、処理はS1に戻る。
(2−4.属性特定処理)
以下に、上記図6のS7およびS13における属性特定処理の具体的な流れについて、図10に示すフローチャートおよび図8に示す具体例を参照しながら説明する。
まず、属性特定部29は、上記認識結果候補文字列信号をパターンマッチング部27から、上記項目名信号を項目分類部28から1行ずつ受け付ける(S100)。具体的には、属性特定部29は、図8に示すとおり、1行目として「○×株式会社(項目名:会社名)」、2行目として「営業本部(項目名:部署名)」、3行目として「課長(項目名:肩書)」「山田太郎(項目名:氏名)」、4行目として「奈良県天理市△○町(項目名:住所)」「〒632−8567(項目名:郵便番号)」、5行目として「電話(0743)12−3456(項目名:電話番号)」、6行目として「E-Mail:yamadataro@abc.def.jp(項目名:メールアドレス)」という順番で認識結果候補文字列信号および項目名信号を受け付ける。
そして、属性特定部29は、1行目から、図4を参照して、各項目名に対応するテーブルがあるか否かを判定する(S101)。ここで、各項目名に対応するテーブルがある場合、処理はS102へ移行し、ない場合は、処理はS100に戻る。
具体的には、テーブル1は、1行目の項目名にマッチする文字列がないため、テーブル2を参照する。ここでも、マッチする文字列がないため、テーブル3を参照する。テーブル4まで参照してもマッチしないため、1行目の認識結果候補文字列信号に関する国・地域・言語特定結果は、“なし”となる。
同様の処理を2行目〜6行目の認識結果候補文字列信号に対して行うと、2行目および3行目の認識結果候補文字列信号に関しても国・地域・言語特定結果は、“なし”となる。そして、4行目の認識結果候補文字列信号は、テーブル3にマッチする文字列があるので、処理はS102へ移行する。
上記S102において、属性特定部29は、テーブルに言語(日本語か、英語か等)を特定する文字または文字列、あるいは当該文字または文字列を表すコードがあるか否かを判定する。ここで、言語を特定する文字または文字列またはコードがある場合、処理はS103へ移行し、S103において、国・地域・言語特定結果およびその優先順位がセットされ、認識データとして認識データ格納部56に格納される。一方、ない場合は、処理はS101に戻る。
具体的には、4行目の「奈良県天理市△○町(項目名:住所)」について、テーブル3を参照した国・地域・言語特定結果は“日本”、優先順位にはテーブル3に付されている“2”がセットされ、これらが認識データとして認識データ格納部56に格納される(S103)。
同様の処理が6行目まで繰り返される。すべての行の処理が終了すると、属性特定部29は、処理が終了した旨の信号を優先判定部32に送る。
優先判定部32は、上記信号を受け付けると、認識データ格納部56から認識データを取り込み、それらの優先順位を判定する(S104)。具体的には、優先判定部32は、最も優先順位の高い特定結果である「E-Mail:yamadataro@abc.def.jp(項目名:メールアドレス)」を全体の認識結果候補文字とする。これにより、この例における全体の国・地域・言語特定結果は、「日本」となる。そして、優先判定部32は、上記全体の国・地域・言語特定結果を文字列整形部30に送る。その後、処理は図6のフローチャートにおけるS14へ移行する。ここで、属性特定部29によって判定された判定結果と全体の特定結果の出力例を図11に示す。ここでは、複数行認識モードの場合について説明したが、1行認識モードの場合では、S104を省略するだけで、他は同様の処理を行う。
以上のように、複数行認識モードについて、複数の国・地域・言語が特定されれば、特定の結果が異なる場合もあるため、どの特定結果が優先されるかの優先順位情報を用いることもある。
(2−5.文字整形処理1)
続いて、上記S16における具体的な処理の流れについて、図12のフローチャートおよび図8の具体例を参照しながら説明する。なお、ここでは、複数認識モードである場合における処理について説明するが、1行認識モードである場合における処理は、複数認識モードの場合と同様の工程であるため、説明は省略する。
まず、文字列整形部30は、認識データ格納部56から上記認識データを各行毎に取り込む(S200)。
そして、文字列整形部30は、取り込む行があるのか否かを判定する(S201)。ここで、取り込む行があれば、処理はS202へ移行し、なければ、処理は図6の前記S19へ移行する。具体的には、文字列整形部30は、1行目である項目名:会社名、認識結果候補文字列:○×株式会社、国・地域・言語特定結果:なし、特定優先順位:0を取り込む。そして、文字列整形部30は、上記“項目名”の欄を参照して、その項目名が“電話番号”であるか否かを判定する(S202)。ここで、上記項目名が“電話番号”でない場合、処理はS201に戻る。また、“電話番号”である場合、処理はS203へ移行する。具体的には、1行目〜4行目は、項目名が“電話番号”ではなく、5行目は、“電話番号”であるので、5行目が取り込まれた時点で処理はS203へ移行する。
上記S203において、文字列整形部30は、取り込んだ認識結果候補文字列の先頭に国番号があるか否かを判定する。ここで、先頭に国番号がなければ、処理はS204へ移行し、先頭に国番号があれば、処理はS201に戻る。この具体例では、先頭に国番号がないため、処理はS204へ移行する。
上記S204において、文字列整形部30は、上記認識データから全体の国・地域・言語特定結果:日本をキーとして図5(1)に示す国名と国番号とを対応付けたテーブルを格納している属性情報格納部54を参照することにより、国番号「81」を取得する。
なお、上記の具体例では、図4のテーブルと図5(1)のテーブルとを分け、認識された文字列に対応する国名を属性特定部29が特定するテーブル検索と、特定した国名に対応する国番号を文字列整形部30が特定するテーブル検索とを分けて説明した。しかし、認識された文字列またはその文字列を表すコードと国番号とを対応付けた新たなテーブルを用意し、属性特定部29が、認識された文字列(例えば、住所の奈良県)またはその文字列を検索キーとして、当該新たなテーブルを検索することによって、認識された文字列に対応する国番号(例えば、81)を属性情報として特定しても構わない。
また、S200〜204の処理を属性特定部29が行ってもよい。
そして、文字列整形部30は、取得した国番号を5行目の認識結果候補文字列「(0743)12−3456」に付加し、0を削除して、「+81−743−12−3456」という文字列に整形する(S205)。その後、処理はS201に戻り、処理対象行がなくなれば、処理は、図6のフローチャートにおけるS19へ移行する。
(2−6.文字整形処理2)
以下では、図6のS14においてNOの場合、すなわち継続撮影モードの場合、優先順位の高い特定結果を優先して認識結果候補文字列に付加する処理の流れについて、図13に示すフローチャートを参照しながら説明する。
この処理は、複数行認識モードであっても、1行認識モードであっても行われる。継続撮影モードで処理が開始されると、優先判定部32は、認識データ格納部56から以前の認識データを取り込む(S301)。そして、属性特定部29は、上記図6のフローチャートにおけるS5〜S7およびS11〜S13によって得られた認識データを認識データ格納部56に送る。その後、優先判定部32は、上記認識データ格納部56に格納されている最新の認識データを取り込み、上記最新の認識データにおける特定結果の優先順位(項目名に付された優先順位)と、上記以前の認識データにおける特定結果の優先順位(項目名に付された優先順位)とを比較する(S302)。
比較した結果、優先判定部32は、優先順位が高い方の結果を元に新たな属性情報を取り込み(S303)、その属性情報と上記認識結果文字列とを対応付けた認識データを文字列整形部30に送る。その後、文字列整形部30は、上記受け付けた属性情報を用いて、文字列を整形する(S304)。その後、処理は、図6のフローチャートにおけるS19へ移行する。なお、上記新たな属性情報とは、認識結果候補文字列に付加する情報であり、例えば国番号が挙げられる。
(2−7.文字整形処理3)
以下では、図6のS14においてNOの場合、すなわち継続撮影モードの場合、以前の特定結果を元にした属性情報を最新の認識結果候補文字列に付加する処理の流れについて、図14に示すフローチャートを参照しながら説明する。なお、このフローチャートは、上記図13に記載のフローチャートと同様の工程については説明を省略する。また、この処理に関しても、複数行認識モードであっても、1行認識モードであっても行われる。
S401は、図13に記載のS301と同様の工程である。
S402において、優先判定部32は、認識データ格納部56から以前の特定結果を元にした属性情報(以下、既存属性情報と呼ぶ)を取得する。その後、優先判定部32は、パターンマッチング部27において認識された最新の認識結果候補文字列に上記既存属性情報を付加するか否かを利用者に選択させるための信号を表示制御部31に送る(S403)。その後、表示制御部31は受け付けた信号を表示部13に送ることによって、表示部13は、利用者に選択させるための選択画面を表示する。ここで、利用者が最新の認識結果候補文字列に上記既存属性情報を付加する旨を選択した場合、処理はS404へ移行し、付加しない旨を選択した場合、処理はS405へ移行する。
上記S404において、入力部12は、利用者から、最新の認識結果候補文字列に上記既存属性情報を付加する旨の指示を受け付けると、入力制御部21を介して、優先判定部32にその旨の指示信号を送る。そして、優先判定部32は、上記既存属性情報と、最新の認識結果候補文字列に上記既存属性情報を付加する旨の指示信号とを文字列整形部30に送る。文字列整形部30は、上記既存属性情報と上記指示信号とを受け付けると、最新の認識結果候補文字列に上記既存属性情報を付加する。その後、処理は、図6のフローチャートにおけるS19へ移行する。
一方、上記S405において、入力部12は、利用者から、最新の認識結果候補文字列に上記既存属性情報を付加しない旨の指示を受け付け、その指示信号を優先判定部32に送り、優先判定部32は、上記指示信号を文字列整形部30に送る。文字列整形部30は、上記指示信号を受け付けると、上記認識結果候補文字列のみを整形文字列格納部57に格納する。その後、処理は、図6のフローチャートにおけるS19へ移行する。
(2−8.文字整形処理4)
また、図6のS14においてNOの場合、すなわち継続撮影モードの場合、以前の認識結果候補文字列に最新の特定結果を元に取得した新たな属性情報を付加する処理の流れについて、図15に示すフローチャートを参照しながら説明する。なお、このフローチャートに関し、上記図13に記載のフローチャートと同様の工程については説明を省略する。また、この処理に関しても、複数行認識モードであっても、1行認識モードであっても行われる。
S501は、図13に記載のS301と同様の工程である。
S502において、属性特定部29は、認識データにおける最新の特定結果を元に新たな属性情報を取得し、その新たな属性情報を優先判定部32に送る。
優先判定部32は、上記新たな属性情報を受け付けると、以前の認識結果候補文字列に新たな属性情報を付加するか否かを利用者に選択させるための信号を表示制御部31に送る(S503)。その後、表示制御部31は受け付けた信号を表示部13に送ることによって、表示部13は、利用者に選択させるための選択画面を表示する。ここで、利用者が以前の認識結果候補文字列に上記新たな属性情報を付加する旨を選択した場合、処理はS504へ移行し、付加しない旨を選択した場合、処理は、図6のフローチャートにおけるS19へ移行する。
上記S504において、優先判定部32は、上記新たな属性情報と、以前の認識結果候補文字列に新たな属性情報を付加する旨を指示する信号とを文字列整形部30に送る。そして、文字列整形部30は、上記新たな属性情報および上記指示信号を受け付けると、以前の認識結果候補文字列を整形し、上記整形した文字列を整形文字列格納部57に格納する。その後、処理は、図6のフローチャートにおけるS19へ移行する。
(2−9.文字整形処理5)
さらに、図6のS14においてNOの場合、すなわち継続撮影モードの場合、以前の認識結果候補文字列に、以前特定した項目名の優先順位と新たに特定した項目名の優先順位とのうち、優先順位の最も高い属性から得られる新たな属性情報を付加する処理の流れについて、図16に示すフローチャートを参照しながら説明する。なお、この処理に関しても、複数行認識モードであっても、1行認識モードであっても行われる。
S601において、優先判定部32は、認識データ格納部56に格納されている以前の認識結果候補文字列と特定結果(項目名)とを取得する。
S602において、優先判定部32は、最新の特定結果における優先順位が上記以前の認識結果候補文字列における優先順位よりも高いか否かを判断する。ここで、上記最新の特定結果における優先順位が上記以前の認識結果候補文字列における優先順位よりも高い場合、優先判定部32は、上記最新の特定結果を元に新たな属性情報を取得する。その後、処理はS603へ移行する。
また、上記以前の認識結果候補文字列における優先順位が上記最新の特定結果における優先順位よりも高い場合、処理は図6のS19へ移行する。
上記S603において、優先判定部32は、上記新たな属性情報を取得する。そして、優先判定部32は、上記以前の認識結果候補文字列に上記取得した新たな属性情報を付加するか否かを選択させるために表示するための信号を表示制御部31に送る。表示制御部31は、上記信号を受け付けると、上記以前の認識結果候補文字列に上記取得した新たな情報を付加するか否かを選択させるための選択画面を、表示部13を介して表示する(S604)。ここで、利用者が付加する旨を選択すると、入力部12は、その旨の指示を受け付け、その指示信号を、入力制御部21を介して、優先判定部32に送る。その後、処理はS605へ移行する。また、利用者が付加しない旨を選択すると、処理は図6のS19へ移行する。
優先判定部32は、上記指示信号を受け付けると、上記新たな属性情報を文字列整形部30に送る。そして、文字列整形部30は、上記新たな属性情報を受け付けると、認識データ格納部56に格納されている、以前の認識結果候補文字列を取得して、それに上記新たな属性情報を付加することにより文字列を整形する。その後、文字列整形部30は、上記整形した文字列を整形文字列格納部57に格納する(S605)。その後、処理は、図6のフローチャートにおけるS19へ移行する。
上記入力制御部21、認識対象行指定部22、画像入力制御部23、新規継続指定部24、行抽出部25、文字列切り出し部26、パターンマッチング部27、項目分類部28、属性特定部29、文字列整形部30、表示制御部31、優先判定部32、後述する位置検出部33は、CPUが記憶装置に格納されたプログラムを実行し、図示しない入出力回路などの周辺回路を制御することによって実現される機能ブロックである。
〔実施の形態2〕
本発明の他の実施形態について図面に基づいて説明すると以下の通りである。なお、前記した実施の形態1で説明した構成と同様の機能を有する構成には同一の符号を付記し、その説明を省略する。また、本実施形態では、複数行認識モードで、新規撮影モードである場合について説明する。
(文字認識装置の構成)
本実施形態に係る文字認識装置2の構成を図17に示す。同図に示すように、文字認識装置2は、実施の形態1の文字認識装置1と比べて位置情報受信部14をさらに備えている。また、本実施形態に係る文字認識装置2の制御部201は、実施の形態1に係る文字認識装置1の制御部20と比べて位置検出部33(位置情報検出手段)をさらに備えており、文字列整形部300は、実施の形態1に係る文字列整形部30と比べて異なる機能をさらに備えている。
以下では、本実施形態に係る文字認識装置2において、実施の形態1に係る文字認識装置1と比べて変更した各構成要素について詳述する。
位置情報受信部14は、図示しない人工衛星から送信された位置情報を受信し、その情報を位置検出部33に送る。なお、位置情報受信部14は、例えばGPS(Global Positioning System)などの現在位置の情報を受信するものである。
位置検出部33は、上記現在位置の情報を受け付けると、その情報に基づいて現在位置を検出し、検出した現在位置の情報を属性特定部29に送る。
属性特定部29は、パターンマッチング部27から認識結果候補文字列信号を受け付け、項目分類部28から項目名信号を受け付けると、国名・地域名を特定し、その情報と、上記認識結果候補文字列信号と、上記現在位置の情報とからなる認識データを認識データ格納部56に格納する。
その後、文字列整形部300は、上記認識データを取り込むと、上記現在位置の情報から得られた場所と上記属性特定部29によって特定した国名・地域名から得られた場所とが同一であるか否かを判断する。これらの場所が違っている場合、例えば名刺画像から特定した国(すなわち、名刺の持ち主の母国)と、名刺画像を取得した場所(現在位置)の国とが異なっていることを意味する。したがって、その名刺の持ち主が帰国した場合に、その持ち主に電話をかけるとき、その持ち主の母国の国番号だけではなく、国際アクセス番号も必要となる。そこで、文字列整形部300は、国際アクセス番号が格納されている属性情報格納部54を参照して、現在位置の情報から特定した国名・地域名に関する属性情報(付加情報)として、例えば国際アクセス番号を特定し、取得する。
そして、文字列整形部300は、特定した国際アクセス番号および国番号を認識結果候補文字列に付加する。
(文字認識整形処理)
次に、図18に示すフローチャートを参照しながら、本実施形態における処理の流れについて、具体例として本実施形態に係る文字認識装置2が、アメリカ合衆国で日本語によって記載されている名刺を認識した場合について説明する。
画像入力制御部23は、画像入力部11によって名刺画像を取り込む(S700)。そして、画像入力制御部23は、取り込んだ名刺画像を行抽出部25に送る。
以降、行抽出部25、文字列切り出し部26、パターンマッチング部27、項目分類部28における処理は一連の文字認識処理として行われる(S701)。その後、属性特定部29は、パターンマッチング部27から認識結果候補文字列信号を、項目分類部28から項目名信号を受け付けると、それらを用いて国名・地域名を特定する(S702)。
また、位置情報受信部14は、図示しない人工衛星から送信された位置情報を受信し、その情報を位置検出部33に送る。具体的には、位置情報受信部14は、アメリカ合衆国またはアメリカ合衆国の地域に関する位置情報を受信し、位置検出部33に送る。位置検出部33は、上記位置情報から現在位置(アメリカ合衆国またはアメリカ合衆国の地域)を検出し、検出した現在位置の情報を属性特定部29に送る。
その後、属性特定部29は、上記認識結果候補文字列信号と、上記国名・地域名と、上記現在位置の情報とを認識データとして認識データ格納部56に格納する。
文字列整形部300は、上記認識データを認識データ格納部56から取り込むことにより、上記現在位置の情報を取得する(S703)。その後、文字列整形部300は、属性情報格納部54を参照して、文字列整形処理を行う(S704)。なお、S704における文字列整形処理の詳細については後述する。
そして、文字列整形部300は、整形された文字列を整形文字列格納部57に格納する。その後、表示制御部31は、整形文字列格納部57に格納されている、整形された文字列を取り込むと、表示部13を介して、上記整形された文字列を表示する(S705)。
(文字列整形処理)
以下に、上記S704における具体例を用いた処理の流れについて、図19を参照しながら説明する。
文字列整形部300は、上記認識結果候補文字列信号と、上記国名・地域名と、上記位置情報とを属性特定部29から受け付ける(S801)。ここで、上記認識結果候補文字列信号とは、具体的には、1行目:○×株式会社(項目名:会社名、国・地域・言語特定結果:なし)、2行目:営業本部(項目名:部署名、国・地域・言語特定結果:なし、)、3行目:課長(項目名:肩書、国・地域・言語特定結果:なし)、山田太郎(項目名:氏名、国・地域・言語特定結果:なし、)、4行目:奈良県天理市△○町(項目名:住所、国・地域・言語特定結果:日本)、5行目:(0743)12−3456(項目名:電話番号、国・地域・言語特定結果:日本)、6行目:E-Mail:yamadataro@abc.def.jp(項目名:メールアドレス、国・地域・言語特定結果:日本)である。また、上記国名・地域名とは、具体的には、国名・地域名:日本である。さらに、上記現在位置の情報とは、具体的には、現在位置の情報:アメリカ合衆国である。
その後、文字列整形部300は、取り込む行があるのか否かを判定する(S802)。ここで、取り込む行があれば、処理はS803へ移行し、なければ、処理は、図18(13)のフローチャートにおけるS705へ移行する。具体的には、文字列整形部300は、1行目である項目名:会社名、認識結果候補文字列:○×株式会社、国・地域・言語特定結果:なし、特定優先順位:0を取り込む。そして、文字列整形部300は、上記“項目名”の欄を参照して、その項目名が“電話番号”であるか否かを判定する(S803)。ここで、上記項目名が“電話番号”でない場合、処理はS802に戻る。また、“電話番号”である場合、処理はS804へ移行する。具体的には、1行目〜4行目は、項目名が“電話番号”ではなく、5行目は、“電話番号”であるので、5行目が取り込まれた時点で処理はS804へ移行する。
上記S804において、文字列整形部300は、上記国名・地域名と上記現在位置の情報とが同じであるか否かを判定する。ここで、同じである場合、処理はS802へ戻り、違う場合、処理はS805へ移行する。
上記S805において、文字列整形部300は、上記現在位置の情報:アメリカ合衆国をキーとして図5(2)に示す国名と国際アクセス番号とを対応付けたテーブルを格納している属性情報格納部54を参照することにより、上記現在位置の情報から該現在位置の情報に対応した国際アクセス番号「011」を取得する。
その後、文字列整形部300は、取り込んだ認識結果候補文字列の先頭に国番号があるか否かを判定する(S806)。ここで、先頭に国番号がなければ、処理はS807へ移行し、先頭に国番号があれば、処理はS808へ移行する。この具体例では、先頭に国番号がないため、処理はS807へ移行する。
上記S807において、文字列整形部300は、上記認識データから全体の国・地域・言語特定結果:日本をキーとして図5(1)に示す国名と国番号とを対応付けたテーブルを格納している属性情報格納部54を参照することにより、国番号「81」を取得する。
そして、文字列整形部300は、取得した国番号および国際アクセス番号を5行目の認識結果候補文字列「(0743)12−3456」に付加し、0を削除して、「011−81−743−12−3456」という文字列に整形する(S808)。その後、処理はS802に戻り、処理対象行がなくなれば、処理は、図18のフローチャートにおけるS705へ移行する。
なお、上記各実施形態に係る文字認識装置は、カメラ付き携帯電話を想定して説明したが、これに限られず、画像入力装置によって文字(文字列)を取り込むものであれば何でもよい。
また、画像入力手段を持たず、住所録のようなテキストデータのみを入力とし、入力された文字または文字列のテキストデータに特定情報を付加するデータの変換を行なうデータ変換装置に本発明を適用してもよい。テキストデータの入力は、例えば図1また図17に示す入力部12の操作によってなされる。
なお、格納部50には図示しないテキストデータ格納部が設けられ、入力部12に設けられたテンキーを操作すると、操作されたキーに応じた信号が入力制御部21に送られる。続いて、操作されたキーに応じたテキストデータをテキストデータ格納部から読み出す信号が、入力制御部21からテキストデータ格納部に送られる。テキストデータ格納部から読み出されたテキストデータは、表示制御部31に送られ、文字として表示部13に表示される。
また、画像入力手段をもたず、OCRの認識結果または住所録データベース等のテキストデータを別途入力させて、入力された文字または文字列のテキストデータに特定情報を付加するようにデータ変換するデータ変換装置に本発明を適用してもよい。
例えば、日本で本発明のデータ変換装置を使用した例として、住所録データベースからデータ変換装置に以下の或る住所録を読み込んだとする。すなわち、入力部12が、例えば格納部50に格納された住所録データベースの中から、以下に示す特定の住所録のテキストデータを切り出し、項目分類部28へ送り込む。
(変換前)
Name:山田太郎
住所:奈良県天理市△○町
Email:xxx@sharp.de
Tel: 12-3456
そうすると、本発明のデータ変換装置は、既に説明した文字列整形処理を実行することにより、上記住所録に含まれた電話番号の文字列に、国番号および最初の0を除いた市外局番を付加し、下記の住所録に変換する。
(変換後)
Name:山田太郎
住所:奈良県天理市△○町
Email:xxx@sharp.de
Tel: +81-743-12-3456
さらに、ドイツで本発明のデータ変換装置を使用し、日本の住所録データベースからデータ変換装置に以下の或る住所録を読み込んだとする。
(変換前)
Name:山田太郎
Email:xxx@sharp.co.jp
Tel: 06-xxx-xxxx
そうすると、認識された電話番号の文字列に、ドイツから国際電話をかけるための国際アクセス番号と、日本の国番号とが付加されるとともに、日本の市外局番の最初に付された「0」が削除され、以下の住所録となる。
(変換後)
Name:山田太郎
Email:xxx@sharp.co.jp
Tel: 0049-81-6-xxx-xxxx
このようなデータ変換装置の構成は、文字認識装置において、取り込んだ画像から文字または文字列を抽出する抽出手段の機能部分を、文字または文字列を入力する入力手段に置き換えればよく、その他の構成はすでに詳述した文字認識装置の構成と基本的に同じである。
また、上記実施形態に係る文字認識装置の画像入力部11においては、複数行の文字列を認識させることを選択した場合と、1行の文字列を認識させることを選択した場合とでは入力画像の大きさを変えてもよい。
さらに、上記各実施形態では、国名・地域名を特定する説明を行ったが、これに限られず、例えば、氏名からアドレス帳への登録の有無を特定してもよいし、会社名からその会社の業種、品番から商品名、URLからそのURLの内容を特定してもよい。
また、現在、名刺認識装置として、名刺読み取り機能を持つ携帯電話が商品化されているが、上記装置は、1行毎に項目を指定し、その項目の文字列を1行撮影し、文字認識を行うものであり、1枚の名刺の内容を入力するために何度も画像を取り込まなくてはならなかった。また、国・地域等の属性を認識処理に利用していなかった。しかしながら、本発明に係る文字認識装置は、1行を認識するだけでなく、複数行を認識することも可能であるため、利用者は、効率的に利用することができる。さらに、認識した文字または文字列から、言語の種類または意味に関する関連情報を特定し、特定した関連情報を付加するように文字または文字列を加工するので、利用者の加工作業を省くこともできる。
さらに、上記各実施形態では、名刺に記載されている文字(文字列)を認識しているが、これに限られず、名刺以外に文字(文字列)が記載されているものであれば何でもよい。
なお、従来の文字認識装置では、一度認識して得た国・地域等の種別を次の認識に反映させることができなかったが、本発明に係る文字認識装置1・2は、例えば、国外の名刺を何度か入力する場合、最初に認識した結果がフランス語の名刺であり、次の認識もフランス語の名刺であると分かれば、フランス語に適した認識を行うことができる。
また、従来の文字認識装置では、認識した国・地域等の属性を次の認識に反映させることができなかったが、本発明に係る文字認識装置1・2では、例えば、1枚のフランスの名刺を1行毎に何度かに分けて認識させて入力する場合、最初認識した結果でフランスの名刺と特定されると、次の認識には、フランスの情報を付与することができる。
さらに、従来の文字認識装置では、認識して得た国・地域等の属性を前の認識に反映させることができなかったが、本発明に係る文字認識装置1・2では、例えば、1枚のフランスの名刺を1行毎に何度かに分けて認識させて入力する場合、何度目かに認識した結果でフランスの名刺と特定されると、前の認識結果にも、フランスの情報を付加することができる。
また、上記各実施形態に係る文字認識装置1・2は、文字列の書かれた文書の画像を取り込むカメラなどの画像取り込み手段と、取り込まれた画像に対して文字認識を行う文字認識手段と、前記文字認識手段で認識された結果を蓄積する認識結果蓄積手段と、文字認識結果文字列の表す属性を特定する属性情報特定手段と、前記属性情報特定手段が特定した属性情報を用いて認識結果文字列を加工する文字列加工手段を持つ文字装置で、文字認識手段が文字認識した結果に対して、属性の特定を行い、その属性に関する新たな情報を文字認識結果文字列に付加してもよい。
従来の文字認識装置では、1行認識において、ある1行が単独で国・地域等の属性の特定することができなければ、国・地域等の属性を利用した文字列整形等の後処理を行うことができなかった。そのため、文字認識装置1・2は、文字列の書かれた文書の画像を取り込むカメラなどの画像取り込み手段と、新規認識か継続認識かを指定する新規継続認識指定手段と取り込まれた画像に対して文字認識を行う文字認識手段と、前記文字認識手段で認識された結果を蓄積する認識結果蓄積手段と、前記文字認識手段で文字認識された文字列の表す属性を特定する属性情報特定手段と、前記属性情報特定手段が特定した情報を用いて認識結果文字列を加工する文字列加工手段とを持ち、新規継続認識指定手段により継続認識が指定された場合に、前記属性情報特定手段は、ある1つの認識結果文字列から属性を特定し、前記文字列加工手段は、前記属性から得られる新たな情報を別の認識結果に付加してもよい。
また、文字認識装置1・2は、属性情報特定手段は、認識結果蓄積手段に蓄積されている認識結果文字列から属性を特定し、前記文字列加工手段は、前記属性から得られる新たな情報を最新の認識結果に付加してもよい。
さらに、文字認識装置1・2は、属性情報特定手段は、最新の認識結果文字列から属性を特定し、前記文字列加工手段は、前記属性から得られる新たな情報を認識結果蓄積手段に蓄積されている認識結果に付加してもよい。
従来の文字認識装置では、例えば、1枚のフランスの名刺を一度に複数行認識させた後、もう一度1行だけ認識させた場合、以前の数行認識した結果に特定した国・地域等の属性を反映させることができなかった。しかしながら、本発明に係る文字認識装置は、新しく特定した属性を用いて、以前に認識した文字列を加工することができる。
また、文字認識装置1・2は、前記文字列加工手段における処理は、前記属性情報特定手段により特定された地域の電話番号に関する特定情報を認識結果に反映させてもよい。
さらに、文字認識装置1・2は、現在認識が行われる地点を得る地点情報取得手段を持ち、前記文字列加工手段は、前記属性情報特定手段により特定される属性と地域情報取得手段により取得される地点情報とを比較し、比較により特定される新たな情報を認識結果に付加してもよい。
また、文字認識方法は、文字列の書かれた文書の画像を取り込む画像取り込みステップと、取り込まれた画像に対して文字認識を行う文字認識ステップと、前記文字認識ステップで認識された結果を蓄積する認識結果蓄積ステップと、文字認識結果文字列の表す属性を特定する属性特定ステップと、前記属性特定ステップが特定した属性情報を用いて認識結果文字列を加工する文字列加工ステップを持つ文字装置で、文字認識ステップが文字認識した結果に対して、属性の特定を行い、その属性に関する新たな情報を文字認識結果文字列に付加してもよい。
さらに、文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体、文字認識方法をコンピュータに実行させるための文字認識プログラムを記録したコンピュータで読み取り可能な記録媒体であって、前記文字認識方法は、文字列の書かれた文書の画像を取り込む画像取り込みステップと、取り込まれた画像に対して文字認識を行う文字認識ステップと、前記文字認識ステップで認識された結果を蓄積する認識結果蓄積ステップと、文字認識結果文字列の表す属性を特定する属性特定ステップと、前記属性特定ステップが特定した属性情報を用いて認識結果文字列を加工する文字列加工ステップを持つ文字装置で、文字認識ステップが文字認識した結果に対して、属性の特定を行い、その属性に関する新たな情報を文字認識結果文字列に付加してもよい。
また、上記各実施形態では、文字認識装置を構成する各部材が、「CPUなどの演算手段がROMやRAMなどの記録媒体に格納されたプログラムコードを実行することで実現される機能ブロックである」場合を例にして説明したが、同様の処理を行うハードウェアで実現してもよい。また、処理の一部を行うハードウェアと、当該ハードウェアの制御や残余の処理を行うプログラムコードを実行する上記演算手段とを組み合わせても実現することもできる。さらに、上記各部材のうち、ハードウェアとして説明した部材であっても、処理の一部を行うハードウェアと、当該ハードウェアの制御や残余の処理を行うプログラムコードを実行する上記演算手段とを組み合わせても実現することもできる。なお、上記演算手段は、単体であってもよいし、装置内部のバスや種々の通信路を介して接続された複数の演算手段が共同してプログラムコードを実行してもよい。また、上記各部材のうちの格納部50は、メモリなどの記憶装置自体であってもよい。
上記演算手段によって直接実行可能なプログラムコード自体、または、後述する解凍などの処理によってプログラムコードを生成可能なデータとしてのプログラムは、当該プログラム(プログラムコードまたは上記データ)を記録媒体に格納し、当該記録媒体を配付したり、あるいは、上記プログラムを、有線または無線の通信路を介して伝送するための通信手段で送信したりして配付され、上記演算手段で実行される。
なお、通信路を介して伝送する場合、通信路を構成する各伝送媒体が、プログラムを示す信号列を伝搬し合うことによって、当該通信路を介して、上記プログラムが伝送される。また、信号列を伝送する際、送信装置が、プログラムを示す信号列により搬送波を変調することによって、上記信号列を搬送波に重畳してもよい。この場合、受信装置が搬送波を復調することによって信号列が復元される。一方、上記信号列を伝送する際、送信装置が、デジタルデータ列としての信号列をパケット分割して伝送してもよい。この場合、受信装置は、受信したパケット群を連結して、上記信号列を復元する。また、送信装置が、信号列を送信する際、時分割/周波数分割/符号分割などの方法で、信号列を他の信号列と多重化して伝送してもよい。この場合、受信装置は、多重化された信号列から、個々の信号列を抽出して復元する。いずれの場合であっても、通信路を介してプログラムを伝送できれば、同様の効果が得られる。
ここで、プログラムを配付する際の記録媒体は、取外し可能である方が好ましいが、プログラムを配付した後の記録媒体は、取外し可能か否かを問わない。また、上記記録媒体は、プログラムが記憶されていれば、書換え(書き込み)可能か否か、揮発性か否か、記録方法および形状を問わない。記録媒体の一例として、磁気テープやカセットテープなどのテープ、あるいは、フロッピー(登録商標)ディスクやハードディスクなどの磁気ディスク、または、CD−ROMや光磁気ディスク(MO)、ミニディスク(MD)やデジタルビデオディスク(DVD)などのディスクが挙げられる。また、記録媒体は、ICカードや光カードのようなカード、あるいは、マスクROMやEPROM、EEPROMまたはフラッシュROMなどのような半導体メモリであってもよい。あるいは、CPUなどの演算手段内に形成されたメモリであってもよい。
なお、上記プログラムコードは、上記各処理の全手順を上記演算手段へ指示するコードであってもよいし、所定の手順で呼び出すことで、上記各処理の一部または全部を実行可能な基本プログラム(例えば、オペレーティングシステムやライブラリなど)が既に存在していれば、当該基本プログラムの呼び出しを上記演算手段へ指示するコードやポインタなどで、上記全手順の一部または全部を置き換えてもよい。
また、上記記録媒体にプログラムを格納する際の形式は、例えば、実メモリに配置した状態のように、演算手段がアクセスして実行可能な格納形式であってもよいし、実メモリに配置する前で、演算手段が常時アクセス可能なローカルな記録媒体(例えば、実メモリやハードディスクなど)にインストールした後の格納形式、あるいは、ネットワークや搬送可能な記録媒体などから上記ローカルな記録媒体にインストールする前の格納形式などであってもよい。また、プログラムは、コンパイル後のオブジェクトコードに限るものではなく、ソースコードや、インタプリトまたはコンパイルの途中で生成される中間コードとして格納されていてもよい。いずれの場合であっても、圧縮された情報の解凍、符号化された情報の復号、インタプリト、コンパイル、リンク、または、実メモリへの配置などの処理、あるいは、各処理の組み合わせによって、上記演算手段が実行可能な形式に変換可能であれば、プログラムを記録媒体に格納する際の形式に拘わらず、同様の効果を得ることができる。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。