(文字認識装置の構成)
以下、本発明の一実施形態に係る文字認識装置について説明する。図1は、本実施形態の文字認識装置1の機能構成を示すブロック図である。
図1に示すように、文字認識装置1は、入力手段2と、入力軌跡取得手段3と、判定領域設定手段4と、判定値算出手段5と、文字判定手段6と、データベース7と、表示手段8とを備える。文字認識装置1は、CPU、RAM、ハードディスクや不揮発性メモリ等の記憶装置を備え、CPUが所定の文字認識プログラムを実行することにより、CPUが図1に示す各手段として機能する。
入力手段2は、ユーザが文字(速記文字)を入力するための入力装置であり、例えば、タッチパネルやマウス等の位置入力装置が用いられる。入力軌跡取得手段3は、入力手段2によって入力された軌跡を取得する。判定領域設定手段4は、後述する複数の判定領域を設定するとともに、表示手段8に当該複数の判定領域を表示する。判定値算出手段5は、入力軌跡取得手段3によって取得された入力軌跡と、判定領域設定手段4によって設定された判定領域とに基づいて、各判定領域について判定値を算出する。文字判定手段6は、判定値算出手段5によって算出された判定値と、データベース7に保存されたパターンとに基づいて、入力軌跡が示す文字を判定するとともに、表示手段8に判定した文字を出力する。
(文字認識処理の概要)
本実施形態の文字認識装置1は、速記者によって入力された速記文字を通常の文字(ひらがなやカタカナ等)に変換する。本実施形態の文字認識装置1は、任意の速記法(V式、衆議院式、参議院式、中根式、早稲田式、田鎖式等、任意の速記法)によって入力された速記文字を通常の文字に変換してもよいが、以下ではV式速記法に基づいて入力された速記文字を変換する場合について説明する。
図2は、V式速記文字の一例を示す図である。図2に示すように、速記文字は、線の長さや角度によってそれぞれ五十音の文字が対応付けられている。例えば、「あ」は、右上に向かう直線であって、水平から30度傾いた線によって表され、「い」は、左下に向かう線であって、水平から60度(垂直から30度)傾いた線によって表される。また、「か」は、右上に向かう左回りの曲線によって表される。また、「た」行は、「あ」行の半分の長さの線によって表される。
図3は、入力された入力軌跡を判別するための判定領域を示す図である。本実施形態では、例えば、図3に示すような複数の判定領域が並べられて表示された画面に対して、速記者が速記文字を入力し、入力された速記文字を通常の文字に変換する。
図3に示すように、複数の判定領域は、メイン判定領域Mと、メイン判定領域Mの右側に配置されるサブ判定領域Aと、メイン判定領域Mの下側に配置されるサブ判定領域Bとを含む。サブ判定領域Aおよびサブ判定領域Bは、同じ半径の円であり、メイン判定領域Mよりも小さな円である。なお、各判定領域の形状は円に限らず、四角形等の多角形であってもよい。また、全ての判定領域の大きさは同じであってもよい。図3に示すように、メイン判定領域Mと、その右側のサブ判定領域Aおよび下側のサブ判定領域Bとの3つの判定領域をセットとして、複数のセットの判定領域が縦および横方向に等間隔で設けられる。
具体的には、メイン判定領域M11の右側にはサブ判定領域A11が設けられ、その右側には、メイン判定領域M12が設けられ、その右側には、サブ判定領域A12が設けらる。また、メイン判定領域M11の下側にはサブ判定領域B11が設けられ、その下側には、メイン判定領域M21が設けられ、その下側には、サブ判定領域B21が設けられる。このように、メイン判定領域Mおよびそのサブ判定領域A,Bは、それぞれ縦方向(行)および横方向(列)に等間隔で配置される。
以下では、左上端のメイン判定領域M11から数えてi行目、j列目に位置するメイン判定領域を「Mi,j」(i,jはそれぞれ正の整数)と表記する。また、メイン判定領域Mi,jの右側のサブ判定領域を「Ai,j」と表記し、メイン判定領域Mi,jの下側のサブ判定領域を「Bi,j」と表記する。
本実施形態の文字認識装置1は、入力された速記文字が示す線が、図3に示す複数の判定領域のそれぞれをどのように通過しているか(当たっているか)によって各判定領域に対する判定値を求め、各判定領域の判定値に基づいて、速記文字に対応する通常の文字を判別する。
図4は、判定領域に対する判定値の定義を説明するための図である。本実施形態では、判定値として、「当」値と、「通」値とが定義される。「当」値は、線あるいは点が、判定領域に入った(当たった)ときに「1」増加する。より具体的には、ユーザによって入力された入力軌跡の少なくとも一部が、判定領域内に存在する場合に、入力軌跡が当該判定領域に当たったとされる。「通」値は、線が、判定領域の境界を通過したとき(判定領域外から判定領域内に入ったとき、又は、判定領域内から判定領域外に出たとき)に「1」増加する。
図4(A)に示すように、線が判定領域外から判定領域内を通って判定領域外に出ている場合、上記定義により、線は判定領域に1回だけ当たっているため、「当」値は「1」となる。また、上記定義により、線は判定領域外から判定領域内に入ったときに「1」増加し、さらに、判定領域内から判定領域外に出たときに「1」増加するため、「通」値は「2」となる。以下では、この2つの値を判定値「当1通2」と表記する。
ここで、V式速記においては、濁音又は半濁音を表す「切り線」と、促音を表す「交差」又は「並行」と、長音(又はイ音)を表す「流し」と、「ん」を表す「円(小円)」と、「く、き」を表す「大円」と、「つ」を表す「長円」とが定義されている。本実施形態の文字認識装置1では、これらを次のように表現する。
例えば、図4(B)に示すように、2本の線が1つの判定領域を通過した場合に「切り線」と判定する。具体的には、「切り線」では、2本の線が判定領域外から判定領域内を通って判定領域外に出る。このときの判定値は、上記定義により、「当2通4」である。
また、図4(C)に示すように、2本の線が1つの判定領域内に入り、当該判定領域から出ない場合に「交差」と判定する。具体的には、「交差」では、2本の線が判定領域外(又は内)から判定領域内(又は外)に進入し、判定領域内で交差して当該判定領域から出ない。このときの判定値は「当2通2」である。また、図4(D)に示すように、2本の線が1つの判定領域内に入り、当該判定領域から出ない場合に「並行」と判定する。具体的には、「並行」では、2本の線が判定領域外(又は内)から判定領域内(又は外)に進入し、判定領域内で交差せずに当該判定領域から出ない。このときの判定値は「当2通2」である。
図4(C)および(D)に示すように、この2つの判定値は何れも「当2通2」であり、上記定義ではこの2つを区別することができない。しかしながら、V式速記では「交差」も「並行」も同じ促音を意味するため、これらを区別する必要がない。
また、図4(E)に示すように、1本の線が1つの判定領域内に入り、当該判定領域から出ない場合に「流し」と判定する。具体的には、「流し」では、1本の線が判定領域外から判定領域内に進入し、当該判定領域から出ないため、判定値は「当1通1」である。
また、図4(F)に示すように、1本の線が1つの判定領域内に入り、当該判定領域から出て再びこの判定領域内に入る場合、「小円」と判定する。このときの判定値は、線が判定領域内に入ってから出て、再び入るため、上記定義により「当2通3」である。また、1本の線が1つの判定領域内に入り、当該判定領域から出て再びこの判定領域内に入り、さらに判定領域外に出る場合も、「小円」と判定する。このときの判定値は、上記定義により「当2通4」である。なお、「小円」と「切り線」とは判定値は同じであるが、「切り線」は文字の最初又は最後の判定領域に対して用いられることはなく、「小円」は必ず文字の最後の判定領域に用いられるため、これらの判定値が同じであっても、「小円」と「切り線」とを区別することができる。
また、図4(G)に示すように、「大円」は、最後の判定領域については上記「小円」と同様の判定値を取り得るが、当該最後のメイン判定領域に隣接するサブ判定領域を含めて円が描かれる。このようなパターンは、最後のメイン判定領域の判定値と、それに隣接するサブ判定領域(メイン判定領域の上下左右のサブ判定領域)の判定値とに基づいて認識される。
また、図4(H)に示すように、「長円」は、最後の判定領域については上記「小円」と同様の判定値を取り得るが、当該最後のメイン判定領域の斜め方向のサブ判定領域を含めて円が描かれる。このようなパターンは、最後のメイン判定領域の判定値と、その斜め方向のサブ判定領域の判定値とに基づいて認識される。
次に、具体的な速記文字の一部を例にして各判定領域の通過、および、そのときの判定値について説明する。図5は、あ行の各速記文字のパターンを示す図である。図6は、か行の各速記文字のパターンを示す図である。図7は、た行の各速記文字のパターンを示す図である。なお、本実施形態では、必ずメイン判定領域Mから文字が書き始められるものとするが、サブ判定領域から文字が書き始められてもよい。また、本実施形態では、メイン判定領域Mで文字が書き終わるものとするが、サブ判定領域で文字が書き終わってもよい。
図5に示すように、「あ」を表す線は、例えばメイン判定領域M42を通過し、M42の右上のサブ判定領域B33を通過し、その右のサブ判定領域B34を通過し、その右上のメイン判定領域M35を通過する。このときの各判定領域の判定値は「当1通2」である。
また、「い」を表す線は、例えばメイン判定領域M24を通過し、M24の左下のサブ判定領域A33を通過し、その下のサブ判定領域A43を通過し、その左下のメイン判定領域M53を通過する。
また、「う」を表す線は、例えばメイン判定領域M32を通過し、M32の右下のサブ判定領域B33を通過し、その右のサブ判定領域B34を通過し、その右下のメイン判定領域M45を通過する。
また、「え」を表す線は、例えばメイン判定領域M24を通過し、M24の下のサブ判定領域B24を通過し、その下のメイン判定領域M34を通過し、その下のサブ判定領域B34を通過し、その下のメイン判定領域M44を通過する。
また、「お」を表す線は、例えばメイン判定領域M32を通過し、その右のサブ判定領域A32を通過し、その右のメイン判定領域M33を通過し、その右のサブ判定領域A33を通過し、その右のメイン判定領域M34を通過する。
また、図6に示すように、「か」を表す線は、例えばメイン判定領域M32、サブ判定領域B32、メイン判定領域M33、メイン判定領域M24を通過する。また、「き」を表す線は、例えばメイン判定領域M24、サブ判定領域A33、サブ判定領域A43、メイン判定領域M44を通過する。また、「く」を表す線は、例えばメイン判定領域M32、サブ判定領域A42、サブ判定領域B43、メイン判定領域M54を通過する。また、「け」を表す線は、例えばメイン判定領域M24、サブ判定領域A33、サブ判定領域A43、メイン判定領域M54を通過する。また、「こ」を表す線は、例えばメイン判定領域M32、サブ判定領域B33、サブ判定領域B34、メイン判定領域M35を通過する。
また、図7に示すように、「た」を表す線は、例えばメイン判定領域M43、サブ判定領域B34、メイン判定領域M35を通過する。また、「ち」を表す線は、例えばメイン判定領域M34、サブ判定領域A43、メイン判定領域M53を通過する。また、「つ」を表す線は、例えばメイン判定領域M33、サブ判定領域B34、メイン判定領域M45を通過する。また、「て」を表す線は、例えばメイン判定領域M34、サブ判定領域B34、メイン判定領域M44を通過する。また、「と」を表す線は、例えばメイン判定領域M33、サブ判定領域A33、メイン判定領域M34を通過する。
なお、図5〜図7に示す書きはじめの判定領域の位置は一例であり、各線はどの領域から書きはじめられてもよい。文字認識装置1は、書きはじめの判定領域(あるいは最後の判定領域)からの相対位置によって、入力された線がどの文字を表すかを判別することができる。例えば、図5に示す「あ」は、i行j列目のメイン判定領域Mi,jから書き始められたとすると、「あ」を示す線は、Mi,jと、Bi−1,j+1と、Bi−1,j+2と、Mi−1,j+3とを通過することになる。
このように、各五十音のひらがなは、V式速記に準じた形状と大きさの線(V式速記に準拠して若干の変更が加えられた形状や大きさの線でもよいし、V式速記に完全に一致する形状や大きさの線でもよい)で定義され、文字毎にどの判定領域を通過するかが定義される。通常の五十音の文字では、線は各判定領域を通過するため、その判定値は「当1通2」である。本実施形態の文字認識装置1では、各判定領域の判定値のパターンと、文字とが対応付けされて記憶されている。文字認識装置1は、入力された線についてどの判定領域をどの順番で通過したか、および、各判定領域の判定値を計算することにより、入力された速記文字に対応する通常の文字を判別することができる。
次に、上述のようにして定義された速記文字を連結して書く場合について説明する。図8は、連結して書かれた文字について説明するための図である。
図8は、「ち」、「け」、「い」の3つの文字が連結して書かれた場合が示されている。「ちけい」が連結して書かれる場合は、「ち」を示す線がメイン判定領域M14と、サブ判定領域A23と、メイン判定領域M33を通過し、その線が「け」を示す線の一部として続けて描かれて、M33の次にサブ判定領域A42及びA52を通過して、メイン判定領域M63を通過する。さらに、その線が「い」を示す線として続けて描かれて、M63の次にサブ判定領域A72及びA82を通過して、最後にメイン判定領域M92を通過する。このように、文字が連結して(一筆書きで)描かれる場合は、ある文字の最後の判定領域と、その次に描かれる文字の最初の判定領域とが共通する。
次に、濁音および半濁音について説明する。図9は、濁音文字の一例を示す図である。図10は、半濁音文字の一例を示す図である。
図9に示すように、濁音文字の「ご」は、図6で定義した「こ」の最後の判定領域の1つ前の判定領域(サブ判定領域B34)に対して、「切り線」が加えられる。このとき、サブ判定領域B34の判定値は「当2通4」となる。すなわち、「こ」のサブ判定領域B34の判定値が「当1通2」であるのに対して、「ご」のサブ判定領域B34の判定値が「当2通4」であり、その他の判定領域の判定値は「こ」と「ご」で同じである。
また、図10(A)に示すように、「は」を示す線は、例えばメイン判定領域M43、サブ判定領域A43、メイン判定領域M44、メイン判定領域M35、メイン判定領域M26を通過する。これに対して、半濁音文字の「ぱ」では、「は」の2番目の判定領域(サブ判定領域A43)に対して、「切り線」が加えられる。すなわち、「は」のサブ判定領域A43の判定値が「当1通2」であるのに対して、「ぱ」のサブ判定領域A43の判定値が「当2通4」であり、その他の判定領域の判定値は「は」と「ぱ」で同じである。
次に、促音および長音の表現について説明する。図11は、促音の一例を示す図である。図12は、長音の一例を示す図である。
図11では、促音を含む「かった」の文字が記載されている。上述のように、「か」がメイン判定領域M41から書き始められたとすると、線は書き始めの次にサブ判定領域B41、及び、メイン判定領域M42を通過し、最後にメイン判定領域M33を通過する。これに対して、図11に示すように、促音を含む「かった」の場合、「か」を示す線は最後のメイン判定領域M33内で止まるように描かれる。そして、そのメイン判定領域M33内から「た」を示す線が書き始められる。このとき、メイン判定領域M33の判定値は、上述のように「当2通2」である(図4(D)に示す「並行」)。
また、図12では、長音を含む「くうこう」(くーこー)の文字が記載されている。上述のように、「く」がメイン判定領域M31から書き始められたとすると、線は書き始めの次にサブ判定領域A41、及び、サブ判定領域B42を通過し、最後にメイン判定領域M53を通過する。これに対して、図12に示すように、長音「くうこう」の場合、「く」を示す線は最後のメイン判定領域M53内で止まるように描かれ、「こ」を示す線は、このメイン判定領域M53の外から書き始められる。このとき、メイン判定領域M53の判定値は、上述のように「当1通1」である(図4(E)に示す「流し」)。なお、文字の終わりが「流し」である場合において、「あ」列の文字の後には「い」が付加される。例えば、「あ」の最後の判定領域が「流し」である場合は、「あい」となる。
次に、拗音の表現について説明する。図13は、拗音の一例を示す図である。
V式速記法では、「きゃ」などの拗音は、「か」に小さなカギを付けることによって表現される。「きゅ」は「く」に小さなカギを付けることによって表現され、「きょ」は「こ」に小さなカギを付けることによって表現される。
本実施形態では、このV式速記の表記に準じて、図13(A)に示すように、「か」にカギを付けることで、「きゃ」を表現する。具体的には、「か」を例えばメイン判定領域M42から書き始めるとすると、「きゃ」を示す線は、メイン判定領域M32から書き始められ、続けてメイン判定領域M42を通過する。その後は「か」と同様である。また、図13(B)に示すように、「く」を例えばメイン判定領域M32から書き始めるとすると、「きゅ」を示す線は、メイン判定領域M22から書き始められ、続けてメイン判定領域M32を通過し、その後は「く」と同様の判定領域を通過する。また、図13(C)に示すように、「こ」を例えばメイン判定領域M32から書き始めるとすると、「きょ」を示す線は、メイン判定領域M22から書き始められ、続けてメイン判定領域M32を通過し、その後は「こ」と同様の判定領域を通過する。すなわち、本実施形態では、拗音は、書き始めに、上のメイン判定領域M(1つ上のサブ判定領域のさらに1つ上のメイン判定領域)を通過するカギが付加されることによって表現される。
次に、撥音(「ん」)の表現について説明する。図14は、撥音の一例を示す図である。図14に示す例では、「かんとう(かんとー)」と書かれている。具体的には、「か」を示す線が、例えばメイン判定領域M51から描かれる場合、サブ判定領域B51、メイン判定領域M52、及び、メイン判定領域M43を通る。このとき、「か」を示す線の最後はメイン判定領域M43を通過することになるが、「かん」と表記する場合には、この最後のメイン判定領域M43に小円(図4(F)参照)を追加する。この場合のメイン判定領域M43の判定値は、図4(F)に示すように「当2通4」である。さらにその小円から続けて「と」を示す線が描かれ、「と」の最後であるM44では流されて、「とー」が表現される。このようにして描かれた1本の線は、「かんとう」として認識される。
図15は、「ク(キ)」音の一例を示す図である。「ク(キ)」音を表現する場合は、上述した大円(図4(G)参照)が描かれる。例えば、図15に示すように、メイン判定領域M21から「か」が書き始められ、「か」の最後のメイン判定領域M13と、その左隣のサブ判定領域A12とを含む大円が描かれると、書かれた文字「か」に「く」が付加されて、「かく」として認識される。図15では、さらに続けて「に」が書かれており、「に」の最後のメイン判定領域M34には小円が描かれているため、図15に示す線は、「かくにん」として認識される。このように大円が描かれる場合、文字の最後のメイン判定領域の判定値が「当2通3」又は「当2通4」であり、かつ、当該最後のメイン判定領域の上下左右の何れかのサブ判定領域は「当」値(「当1通2」)を有することとなる。このようなパターンの文字が認識された場合は、文字の後に「く」が付加される。なお、上下左右の何れのサブ判定領域を含めて大円が描かれるかは、その文字によって異なる。また、「え」列の文字の最後に大円が書かれた場合には、当該「え」列の文字の後に「き」が付加される。例えば、「え」の最後のメイン判定領域Mに大円が付加されている場合は、「えき」として認識される。
図16は、「ツ」音の一例を示す図である。「ツ」音を表現する場合は、上述した長円(図4(H)参照)が描かれる。例えば、図16に示すように、メイン判定領域M31から「か」が書き始められ、「か」の最後のメイン判定領域M23と、その右斜め上のサブ判定領域A13とを含む長円が描かれると、書かれた文字「か」に「つ」が付加されて、「かつ」として認識される。図16では、さらに続けて「と」が書かれており、「と」の最後のメイン判定領域M24は「流し」となっている。また、「と」を示す線のサブ判定領域A23は「切り線」となっている。このため、図16に示す線は「かつどう」として認識される。このように長円が描かれる場合、文字の最後のメイン判定領域の判定値が「当2通3」又は「当2通4」であり、かつ、当該最後のメイン判定領域の斜めのサブ判定領域は「当」値(「当1通2」)を有することとなる。このようなパターンの文字が認識された場合は、文字の後に「つ」が付加される。なお、斜め方向の何れのサブ判定領域を含めて長円が描かれるかは、その文字によって異なる。
次に、「ヲコト点」処理について説明する。ここで、速記における「ヲコト点」は、ある文字を示す線の終端からの所定位置に点を付した場合に、その点を所定の文字列とみなすものである。図17は、V式速記における「ヲコト点」を説明するための図である。
V式速記では、図17の(1)に示すように、線の終端に対して右斜め上の位置P1の点は文字「こと」を意味し、線の終端に対して右の位置P2の点は文字「ので」を意味し、線の終端に対して下の位置P3の点は文字「わけで」を意味し、線の終端に対して左斜め下の位置P4の点は文字「もの」を意味する。また、V式速記では、図17の(2)に示すように、線の終端に対して右斜め上の位置P1の点は文字「した」を意味し、線の終端に対して右の位置P2の点は文字「おり」を意味し、線の終端に対して下の位置P3の点は文字「いる」を意味し、線の終端に対して左斜め下の位置P4の点は文字「して」を意味する。また、図17の(2)に示すように、線の終端に対して右斜め下の位置P5の点は文字「する」を意味する。ここで、図17の(1)及び(2)に示すように、同じ位置P1の点は異なる文字を意味するが、速記においては通常、(1)のパターンか、(2)のパターンかは、文脈から判断する。
本実施形態の文字認識装置1では、図17に示した「ヲコト点」にならって、ヲコト点を定義する。図18は、本実施形態の文字認識装置1における「ヲコト点」の定義を示す図である。図18の(1)は、図17の(1)のパターンに対応するヲコト点を示し、図18の(2)は、図17の(2)のパターンに対応するヲコト点を示す。
図18の(1)に示すように、ある文字の終端を示すメイン判定領域M23の右上のメイン判定領域M14の判定値が「当1通1」である場合は、図17の(1)のパターンにおける位置P1の点とみなして、「こと」を意味するものとする。また、ある文字の終端を示すメイン判定領域M23の右のメイン判定領域M24の判定値が「当1通1」である場合は、「ので」を意味し、メイン判定領域M23の下のメイン判定領域M33の判定値が「当1通1」である場合は、「わけで」を意味する。また、ある文字の終端を示すメイン判定領域M23の左斜め下のメイン判定領域M32又はサブ判定領域A32の判定値が「当1通1」である場合は、「もの」を意味する。
また、各判定領域の判定値が「当1通0」の場合(すなわち、判定領域内に点が描かれ、判定領域外には出ない場合)には、図17の(2)のパターンに対応するヲコト点として判定される。具体的には、図18の(2)に示すように、ある文字の終端を示すメイン判定領域M23の右上のメイン判定領域M14の判定値が「当1通0」である場合は、図17の(2)のパターンにおける位置P1の点とみなして、「した」を意味するものとする。また、ある文字の終端を示すメイン判定領域M23の右のメイン判定領域M24の判定値が「当1通0」である場合は、「おり」を意味し、メイン判定領域M23の下のメイン判定領域M33の判定値が「当1通0」である場合は、「いる」を意味する。また、ある文字の終端を示すメイン判定領域M23の左斜め下のメイン判定領域M32又はサブ判定領域A32の判定値が「当1通0」である場合は、「して」を意味する。また、ある文字の終端を示すメイン判定領域M23の右斜め下のメイン判定領域M34の判定値が「当1通0」である場合は、「する」を意味する。
図19は、図18に示すヲコト点を含む速記文字の一例を示す図である。図19の(1)は、図18の(1)に示すヲコト点を含む速記文字の一例を示し、図19の(2)は、図18の(2)に示すヲコト点を含む速記文字の一例を示す。
図19の(1)において、メイン判定領域M11〜M14の線は、通常の文字「よ」として認識され、続けて描かれたM14〜M43の線は、「い」として認識される。この「い」の終端であるメイン判定領域M43の右斜め上のメイン判定領域M34の判定値は「当1通1」であるため、このM34は上記ヲコト点の定義に従って「こと」と認識される。さらにこのM34から続けてM26まで線が描かれており、このM34〜M26の線は、通常の文字「な」として認識される。そして、この「な」を示す線の終端であるM26の右のM27の判定値が「当1通1」であるため、上記ヲコト点の定義に従って「ので」と認識される。したがって、図19の(1)に示す一連の軌跡は、「よいことなので」と認識される。
また、図19の(2)において、メイン判定領域M11〜M23の線は、通常の文字「す」として認識され、続けて描かれたM23〜M33の線は、「て」を意味するが、M23とM33の間のB23に切り線が加えられているため(B23の判定値が「当2通4」であるため)、「で」として認識される。M33に続けてM54まで連続的に線が描かれており、このM33〜M54までの線は、通常の文字「に」として認識される。このM54の左斜め下のM63の判定領域は「当1通0」であるため、このM63内に描かれた点は、上記ヲコト点の定義にしたがって「して」と認識される。同様に、このM63の右側のM64の判定値は「当1通0」であるため、M64内に描かれた点は、上記ヲコト点の定義にしたがって「おり」と認識される。そして、M64に続けてM57まで描かれた線は、通常の文字「ま」として認識され、M57に続けてM69まで描かれた線は、通常の文字「す」として認識される。したがって、図19の(2)に示す一連の軌跡は、「すでにしております」と認識される。
なお、図18の(1)に示すヲコト点を示す判定値は、上述した「流し」のときの判定値と同じである。このため、「流し」を意図して線が描かれた場合に、ヲコト点として誤認識される可能性がある。このような誤認識を防止するために、パターン(線分)の最後の判定領域の判定値が「当1通1」(流し)のときは、そのパターンを認識した後に、パターンの最後の判定領域の判定値を「当1通2」(通常)に変更する。また、流し以外の「平行」や「交差」、「小円」、「大円」、「長円」など、パターン(文字に対応する線)の最後の判定領域の判定値が「当1通2」以外の値である場合も同様に、そのパターンを認識した後に、パターンの最後の判定領域の判定値を「当1通2」(通常)に変更する。
次に、予めデータベースに記憶された文字判定のための判定テーブルについて説明する。図20は、判定領域に対する判定値のパターンと文字とを対応させた判定パターンテーブルの一例を示す図である。なお、図20では、上述した「あ行」、「か行」、「た行」、「は」、及び、拗音の一部(「きゃ」、「きゅ」、「きょ」)のみが示されているが、他の文字についても各文字の定義に従ったパターンがテーブルに記憶されている。具体的には、判定パターンテーブルには、判定値が当1通2の判定領域によって定義されるすべての文字が記憶されており、通常の五十音のひらがなの他に拗音の文字等が記憶されている。
図20に示すように、例えば、パターン1は、線が1番目にメイン判定領域「Mi,j」を通過し、2番目にサブ判定領域「Ai,j」を通過し、3番目にメイン判定領域「Mi,j+1」を通過するパターンであり、このパターン1は、「と」を意味する。また、パターン2では、線は、1番目にメイン判定領域「Mi,j」、2番目にサブ判定領域「Ai,j」、3番目にメイン判定領域「Mi,j+1」、4番目にサブ判定領域「Ai,j+1」、5番目にメイン判定領域「Mi,j+2」を通過し、このパターン2は、「お」を意味する。文字認識装置1は、ユーザによって入力された軌跡がどの判定領域をどの順番で当たったか(通過したか)を検出し、その当たり(通過)のパターンが、図20に示す何れのパターンと一致するかを判定し、一致するパターンに対応する文字を出力する。
(文字認識処理の詳細)
次に、本実施形態の文字認識装置1における文字認識処理の詳細について説明する。図21は、本実施形態に係る文字認識処理の詳細を示すフローチャートである。図21に示す処理は、文字認識装置1のCPUが文字認識プログラムを実行することによって行われる。なお、図21に示すフローチャートの処理では、説明の便宜上、図20に示すテーブルを用いて文字を判定するものとして説明するものとし、このテーブルにリストされた19のパターン以外のパターンは無いものとして説明する。
図21に示すように、まず、CPUは、表示装置に各判定領域を表示する(ステップS1)。具体的には、CPUは、複数の判定領域の位置及び大きさを設定するとともに、表示装置の画面の予め定められた位置に複数の判定領域を並べて表示する。次に、CPUは、速記文字を示す軌跡の入力を受け付ける(ステップS2)。具体的には、CPUは、入力手段を用いて入力された画面上の位置(縦横の座標値)を順次取得する。ユーザによって軌跡が入力されると、CPUは、次に、入力軌跡の判定情報を取得する(ステップS3)。ここでは、CPUは、取得した入力軌跡に対して、各判定領域の判定値(「当」値、及び、「通」値)を算出する。具体的には、CPUは、入力された位置を示す座標値と各判定領域の位置及び大きさとに基づいて、入力軌跡が判定領域に当たったか否か、判定領域を通過したか否かを判定することにより、各判定領域の判定値を算出する。
次に、CPUは、文字判定処理を行う(ステップS4)。ここで、ステップS4の文字判定処理について、図22及び図23を参照して説明する。図22は、入力軌跡の一例を示す図である。図23は、図22に示す入力軌跡が取得された場合の文字判定処理の概要を示す図である。
例えば、図22に示すような入力軌跡が取得された場合、ステップS3において、10個の判定領域の判定値が「当1通2」と算出される。算出された各判定領域の判定情報は、図23(A)に示すように、入力軌跡が当たった順に配列に格納される。図23(A)では、M14、A23、M33、A42、M53、A52、M63、A72、A82、及び、M92の順に並べられている。具体的には、判定領域の種類(メイン判定領域M、サブ判定領域A、B)及びその位置を示す情報(何行目の何列目かを示す情報)と、その判定領域の判定値とが、配列の各要素に格納される。なお、図23では、判定領域の種類及びその位置を示す情報のみが示されている。
ここで、CPUは、配列の1番目及び2番目に格納された情報を取り出し、1番目に判定領域M14、2番目に判定領域A32となるパターンが、図20で示す判定パターンの中にあるか否かを判定する。M14の次にA23(相対位置で示すと「Mi,j」の次に「Ai+1,j−1」)がくるパターンとしては、パターン12〜15があるため、CPUは、これらパターン12〜15を判定文字の候補として選択する。さらにCPUは、3番目のM33を含めて、M14、A23、M33の順に並ぶパターンが、候補として選択したパターン12〜15の中にあるか否かを判定する。ここでは、パターン15が唯一、一致するパターンであるため、CPUは、M14、A23、M33の順に並ぶパターンをパターン15として認識する。すなわち、この3つの判定領域M14、A23、及び、M33を通過する線を文字「ち」と判定する。なお、この段階では、「当」値が1以上か否かしか判定されないため、例えば、A23の判定値が「当2通4」の場合も同様に「ち」と判定される。しかしながら、CPUは、入力軌跡が示す各文字を判定した後で、それぞれの文字に対応する各判定領域の判定値を参照することで、例えば切り線が加えられたかどうかを判定し、「ち」か「ぢ」かを判定する。交差や並行、流し、小円かどうかも、同様に、各文字を認識した後に判定される。
続いて、CPUは、1文字目の最後の判定領域M33(配列の3番目)を最初の判定領域とする2文字目のパターンの検索を開始する。具体的には、図23(B)に示すように、3番目〜10番目を残りの入力軌跡として、上記と同様の手順で図20に示す複数のパターンの中から一致するパターンを探索する。具体的には、2文字目の1番目及び2番目(配列の3番目及び4番目)は、それぞれM33及びA42(相対位置では、「Mi,j」及び「Ai+1,j−1」)であるため、CPUは、図20に示すテーブルを参照して一致するパターンを選択することにより、パターン12〜15を判定文字の候補として選択する。次に、CPUは、図23(C)に示すように、配列の5番目(2文字目の3番目)を参照し、M33、A42、M53の順に並ぶパターンが図20に示すテーブルにあるか否かを判定する。このようなパターンはテーブルには存在しない。このため、CPUは、5番目のM53を無視し、次に6番目を2文字目の3番目として参照する。ここで、5番目のM53を無視するのは、ユーザによる書き間違いを考慮するためであり、本実施形態では、判定領域を1つ進むごとに1つの書き間違いを許容するものとする。すなわち、入力された線が、正しい判定領域(1番目)を通過した後に誤った判定領域(2番目)を通過し、さらに正しい判定領域(3番目)を通過している場合は、当該誤った判定領域(2番目)を無視し、正しい2つの判定領域(1番目と3番目)を用いて文字認識が行われる。一方、入力された線が、正しい判定領域(1番目)を通過した後に2つ続けて誤った判定領域(2番目及び3番目)を通過している場合は、認識不能として処理するものとする。なお、ユーザによる書き間違いをどの程度許容するかは適宜調整されてもよい。
すなわち、本実施形態では、ある判定領域(N番目)の次の判定領域(N+1番目)を参照して、予め定められたパターンと一致しない場合は、当該判定領域(N+1番目)を無視し、さらに次の判定領域(N+2番目)を参照して、N番目とN+2番目とを含むパターンが、予め定められたパターンと一致するか否かを判定する。6番目はM52であるため、CPUは、図23(C)に示すように、M33、A42、A52の順に並ぶパターンが、図20に示すパターン12〜15の中にあるか否かを判定する。ここでは、パターン12〜14が候補として残るため、CPUは、探索を続行する。CPUは、さらに次の7番目を参照して、M33、A42、A52、M63の順に並ぶパターンが、候補として残ったパターン12〜14の何れかと一致するか否かを判定する。ここでは、パターン14が唯一、一致するパターンであるため、CPUは、M33、A42、A52、M63の順に並ぶパターンをパターン14として認識する。すなわち、この3つの判定領域M33、A42、A52、M63を通過する線を文字「け」と判定する(図23(D))。
残りの入力軌跡についても同様である。すなわち、図23(E)に示すように、CPUは、配列の7番目〜10番目を参照して、M63、A72、A82、M92の順に並ぶパターンをパターン12として認識し、文字「い」と判定する。
このように、ステップS4の文字判定処理では、当値が1以上の領域が順に格納された配列を最初から探索して1文字ずつ判定が行われる。なお、当値が1以上の領域であって当該領域の判定値が図4に示す何れでもない場合は、その領域の判定値は「当1通2」としてステップS4の文字判定処理を行ってもよい。
ステップS4に続いて、CPUは、文字判定処理で判定された文字を出力する(ステップS5)。そして、CPUは、図21の処理を終了するか否かを判定する(ステップS6)。例えば、ユーザによって終了が指示された場合は、CPUは、ステップS6においてYESと判定して、図21に示す処理を終了する。一方、ステップS6でNOと判定した場合、CPUは、再びステップS2の処理を実行する。
なお、入力軌跡が独立した文字か、連結された複数の文字かによって出力される文字が異なる場合がある。また、連結された文字列の最初か最後かによっても出力する文字を異ならせてもよい。このため、CPUは、ステップS4の文字判定処理において、独立した文字か、連結した文字かを判定してもよい。
図24は、文字の独立と連結の判定を説明するための図である。図24(A)は、独立した文字を示し、図24(B)は、連結された文字を示す。
図24(A)に示すように、文字が独立して描かれている場合、その文字を示す最初の判定領域M42の周囲(8個のメイン判定領域M及び12個のサブ判定領域)には、次の判定領域B33を除いて、「当」値が1以上となる領域は存在しない。また、文字の最後の判定領域M35の周囲には、判定領域M35の前の判定領域B34を除いて、「当」値が1以上となる領域は存在しない。したがって、CPUは、このようなパターンは、独立したものであると判定することができる。
一方、図24(B)に示すように、文字が連結されている場合は、連結された文字列のうちの先頭の文字については、複数の判定領域のうち、最初の判定領域M24の周囲(判定領域M24の次の判定領域A33を除く)に「当」値が無く、その先頭の文字の最後の判定領域M43の周囲(M43の前のA33を除く)には、「当」値がある(A52には「当」値がある)。かつ、連結された文字列のうちの末尾の文字については、複数の判定領域のうち、最初の判定領域M73の周囲(次のA82を除く)に「当」値があり(A62には「当」値がある)、その末尾の文字における最後の判定領域M10,2の周囲(M10,2の前のA92を除く)には、「当」値が無い。すなわち、連結された文字列のうちの先頭の文字については、その先頭の文字における最初の判定領域Mの周囲(次の領域を除く19個の領域)に「当」値がなく、かつ、その先頭の文字における最後の判定領域Mの周囲(前の領域を除く19個の領域)に「当」値がある。連結された文字列のうちの末尾の文字については、その末尾の文字における最初の判定領域Mの周囲(次の領域を除く19個の領域)には「当」値があり、かつ、その末尾の文字における最後の判定領域Mの周囲(前の領域を除く19個の領域)には「当」値がない。したがって、CPUは、このようなパターンは、先頭から末尾までが連結したものであると判定することができる。このように、ある文字が連結しているか独立しているかは、その文字の最初と最後の判定領域の周囲の判定領域のうち、その文字自身で用いられる判定領域を除いた複数の領域に「当」値があるかどうかで判定することができる。すなわち、ある文字が別の文字と連結される場合、ある文字の最初又は最後の判定領域が、別の文字の最後又は最初の判定領域として用いられる。このため、ある文字について、その文字の最初の判定領域の周囲(20個の判定領域のうち、その文字自身で用いる判定領域を除く複数の判定領域)に当値がある場合は、少なくともその文字の前に別の文字が連結されていると判断することができる。同様に、ある文字について、その文字の最後の判定領域の周囲(20個の判定領域のうち、その文字自身で用いる判定領域を除く複数の判定領域)に当値がある場合は、少なくともその文字の後に別の文字が連結されていると判断することができる。なお、文字の定義によっては文字の最初及び最後の判定領域の周囲の判定領域に当値があるか否かを判断するだけでは、その文字が連結されたものかどうかを判断できない場合もある。しかしながら、そのような特殊な文字についてもその文字特有の判定を行うことで、その文字が連結されたものかどうかを判断することはできる。
このような特徴を探索することで、入力軌跡が取得された場合に、CPUは、独立した文字か連結された文字かを判断することができ、連結された文字列単位で文字を認識することができる。本実施形態の文字認識装置1は、上述のようにして文字が連結されているか否か、および、文字の連結の最初と最後を判断し、その結果に応じて出力する文字を変えることができる。例えば、通常の速記においては略語があり、文字「あ」を「あります」として用いることがある。通常の速記においては、文字「あ」と略語の「あります」は同じであり、これらを文脈から判断する。本実施形態の文字認識装置1は、文字の連結の最初と最後を上述のようにして判断し、例えば、連結された文字列が「あ」で終わる場合には当該最後の文字「あ」を「あります」として出力してもよい。一方で、独立した「あ」や連結された文字列中の最後以外の「あ」は、そのまま「あ」として出力してもよい。このように、各文字を認識した場合に、独立した文字か、連結された文字か、連結された文字列のうちのどの位置かによって、出力する文字を異ならせてもよい。
次に、上記文字認識装置1の具体的な実施例について説明する。例えば、文字認識装置1の実施例として、タッチパネルを備えるタブレット型の携帯電子機器100が用いられてもよい。図25は、文字認識装置1の一実施例としての携帯電子機器100を示す図である。携帯電子機器100は、ディスプレイ108と、当該ディスプレイ上に設けられたタッチパネル102とを備える。また、ディスプレイ108には、判定した文字を表示するための文字表示領域が設けられる。また、ディスプレイ108には、「消しゴムボタン」、「漢字変換ボタン」、「クリアボタン」等が設けられてもよい。
ディスプレイ108としては、例えば、液晶表示装置や有機EL表示装置等、任意の表示装置が用いられてもよい。また、タッチパネル102は、タッチペン(又はユーザの指)でディスプレイ108の画面がタッチされた場合に、当該タッチされた位置を検出する位置入力装置であり、抵抗膜方式、静電容量方式等、任意のものが用いられてもよい。
図25に示すように、ユーザがペンを用いてディスプレイ108上をタッチしたままペンを移動させると、携帯電子機器100は所定の時間間隔でタッチ位置を順次検出し、検出したタッチ位置に点を描画することで、入力軌跡を示す画像をディスプレイ108にリアルタイムで表示する。入力された入力軌跡は、所定のタイミングで文字に変換されて、文字表示領域に表示される。例えば、ユーザによって変換の指示がされた場合に文字認識処理が行われて、文字表示領域に文字が表示されてもよいし、一筆書きの軌跡が入力された後に自動的に文字認識処理が行われ、一筆書きの軌跡に対応する文字列が表示されてもよい。
「消しゴムボタン」は、ユーザが誤ってある判定領域をタッチしてしまった場合に、その判定領域の判定値を消去するためのものである。図23を参照して説明した例では、文字認識装置1がユーザの誤入力を自動的に検出するものとしたが、「消しゴムボタン」を用いることで、ユーザが自身で誤って接触してしまった判定領域を削除することができる。例えば、ユーザは、所定の操作を行うことで判定値を消去したい判定領域を選択し、「消しゴムボタン」をタッチすることにより、選択した領域の判定値をクリアすることができる。
また、「漢字変換ボタン」は、入力された文字を漢字変換して出力させるためのものである。ユーザは、速記文字を入力した後、漢字変換ボタンをタッチすることで、文字表示領域に漢字変換後の文字が表示される。なお、一度ひらがなで表示された後に、漢字変換ボタンがタッチされた場合に漢字に変換されてもよい。このような漢字変換ボタンの他にも、ひらがなボタン、カタカナボタン、英字ボタン、数字・記号ボタン、略語ボタン(略語を出力するためのボタン)等が設けられ、各ボタンに応じて出力する文字を変更してもよい。また、濁音、半濁音を入力するためのボタンを設け、当該ボタンが押されているときに軌跡が入力された場合、その入力された軌跡が示す文字に濁音又は半濁音がつけられてもよい。
また、「クリアボタン」は、入力された軌跡を消去するためのものである。このクリアボタンがタッチされると、ディスプレイ109に表示された入力軌跡が全て消去されるとともに、文字表示領域に表示された文字も消去される。なお、入力された軌跡を消去するためのボタンと、文字表示領域に出力された文字を消去するボタンとが別に設けられてもよい。
このような機能の他にも、入力された軌跡を示す画像を保存する機能があってもよい。例えば、「クリアボタン」がタッチされた場合に、入力軌跡が画像として保存されてもよいし、「保存ボタン」が設けられ、保存ボタンがタッチされた場合に画像を不揮発性メモリやハードディスク等の記憶手段に保存するようにしてもよい。このように、入力された軌跡を示す画像が保存されることにより、ユーザは、どのような文字を入力したかを後に確認することができる。
また、文字認識装置1の他の具体的な実施例としては、入力された軌跡をデータとして保存可能なデジタルペンが用いられてもよい。具体的には、デジタルペンは、紙に文字や図形等を書くことが可能なペンであり、描かれた文字や図形を示すデータを当該デジタルペン内部の不揮発性メモリに保存することができる。例えば、デジタルペンは、専用紙に印刷された所定のパターンをデジタルペンに設けられたカメラで読み取ることで、書き込み位置を把握して記憶することができる。このようなデジタルペンを用いて入力された速記文字を、上述した方法により通常の文字に変換することができる。例えば、デジタルペンと無線又は有線で接続された情報処理装置が上記処理を実行するように構成されてもよい。具体的には、デジタルペンで読み取った入力軌跡を示すデータが情報処理装置に送信され、送信されたデータに基づいて、情報処理装置が上述した処理を行う。あるいは、デジタルペンに記憶されたデータを後に情報処理装置に取り込んで、当該データに基づいて上述した処理を実行することにより、入力された速記文字を通常の文字に変換してもよい。また、例えば、デジタルペン自体が上述した処理を実行し、入力された速記文字を読み取って通常の文字に変換してもよい。
また、本発明は、タッチパネルが設けられた画面やデジタルペンを用いて専用紙に入力された入力軌跡を読み取って文字に変換する場合に限らず、他の方法によって入力された入力軌跡を読み取って文字に変換してもよい。例えば、画面に複数の判定領域が表示され、マウスやジョイスティック等の位置入力装置を用いて画面上を指示しながら入力軌跡が入力されてもよい。マウス等の位置入力装置を用いて指示された画面上の位置には、ポインタが表示され、ユーザは当該ポインタを移動させることで速記文字を入力してもよい。
なお、このような判定領域が表示された画面に対して入力軌跡が入力された場合において、判定領域の判定値に応じて、判定領域が異なる表示態様で表示されてもよい。例えば、入力軌跡が当たっていない領域については通常の色で表示され、「当1通1」の判定領域については、青色で表示され、「当2通4」の判定領域については緑色で表示されてもよい。
また、通常の紙に通常のペンを用いて入力された入力軌跡が読み取られて通常の文字に変換されてもよい。この場合、紙には上述した判定領域が印刷され、ユーザは、印刷された判定領域を見ながら速記文字を入力することができる。紙に入力された入力軌跡は、スキャナやカメラ等で読み取られ、上述した文字認識処理が行われることで、文字に変換される。具体的には、文字認識装置は、読み取った紙に印刷された判定領域をパターンマッチング等により認識するとともに、ユーザによって入力された入力軌跡を認識する。そして、文字認識装置は、判定領域と入力軌跡との位置関係に基づいて、各判定領域に入力軌跡が当たったか(通過したか)を判別することができる。この場合は、文字認識装置は、入力軌跡の方向(入力軌跡が各判定領域に当たった順番)を認識する必要があるが、速記文字は基本的に左から右方向に、上から下方向に入力されるという前提を用いて、読み取られた入力軌跡がどこからどの方向に書かれたのかを推定することができる。すなわち、読み取られた線が左から右方向、上から下方向に向かって描かれたと仮定すると、実際に描かれた向きと同じ向きで紙を読み取ることで、線が描かれた方向を推定することができる。線が描かれた方向を推定した後は、上述した方法により、線がどの判定領域にどのような順番で当たったかを判定することができる。また、紙に上下左右方向を認識させるための所定のパターンを印刷しておけば、文字認識装置は、当該所定のパターンを認識することで紙の方向を認識することができ、入力軌跡の方向を推定することができる。
また、ユーザによって種々のカスタマイズが可能であってもよい。例えば、文字判定に用いられる判定パターンテーブルに、ユーザ独自のパターンが登録されてもよい。この場合ユーザ独自に登録されたパターン(文字を示すパターン)が優先的に出力されてもよい。また、ユーザによって判定領域のサイズや形状、配置、行数、列数が設定されてもよいし、メインとサブの判定領域の大きさの比率、メインとサブの判定領域の間の距離等が設定されてもよい。また、判定領域の判定値毎の色や入力軌跡を描画する線の色や太さ等がユーザによって設定されてもよい。
また、上記実施形態のフローチャートで示した処理は単なる一例であり、上述した文字認識方法を実現する処理であれば、上記処理の一部又は全部が変更されてもよいし、上記処理の一部が実行されなくてもよいし、上記処理の他の処理が付加されてもよい。また、処理の順番はどのようなものでもよい。例えば、全ての判定領域を順に調べて、「当」値がある判定領域を探索するようにしてもよい。「当」値がある判定領域が見つかった場合に、その判定領域を起点として周囲に「当」値がある判定領域があるか否かを判定することで、入力軌跡のパターンを探索してもよい。
また、例えば、上記実施形態では、複数の判定領域が画面に表示されたが、必ずしも複数の判定領域は表示される必要はなく、文字認識装置の内部的に複数の判定領域が定義されてもよい。
また、速記文字を入力するため入力領域に、行(範囲)が複数設けられ、行単位で速記文字が入力されてもよい。例えば、縦方向にメイン判定領域Mが複数並んだ領域を1行目とし、その1行目の下に同様に縦方向にメイン判定領域Mが複数並んだ領域が設けられて2行目と定義されてもよい。
また、上記実施形態では、速記文字が入力され、入力された速記文字を認識するものとしたが、速記文字に限らず、他の文字(ひらがなやカタカナ、漢字、アルファベット等)が入力されて上述の方法により認識されてもよい。例えば、アルファベットの筆記体は速記文字と同様に続けて書かれるが、上述した方法を用いることで、筆記体で書かれた各文字を認識することができる。このように、連結されて書かれる文字(一筆書きで書かれる文字)について、本発明を適用することにより、手書きされた文字を認識することができる。
また、他の実施形態では、複数(又は単数)の装置によって構成されるシステムによって上記処理が行われてもよい。例えば、ネットワークに接続された複数の装置が処理を分担して実行することにより、上記処理が実行されてもよい。いわゆるクラウドコンピューティングのような分散型のネットワークシステムによって上記処理が行われてもよい。また、上記処理の一部又は全部が複数のプロセッサによって実行されてもよいし、上記処理の一部又は全部が専用回路によって行われてもよい。