(57)【要約】【課題】他の図形を一部に利用することで表現された対象図形への整形精度を高めることができる整形装置を提供する。【解決手段】実施形態の整形装置は、取得部と、抽出部と、第１算出部と、第２算出部と、判定部と、整形部と、表示部と、を備える。取得部は、複数のストロークを取得する。抽出部は、複数のストロークのうちの１以上のストロークから成るストロークの組合せを複数抽出する。第１算出部は、複数の組合せそれぞれに対し、対象図形毎に当該対象図形らしさを表す第１尤度を算出する。第２算出部は、複数の組合せそれぞれに対し、不完全図形らしさを表す第２尤度を算出する。整形部は、第１尤度の少なくともいずれかが第１閾値以上であり、かつ第２尤度が第２閾値以下となる第１組合せがある場合、複数のストロークを、第１組合せにおいて第１閾値以上となった第１尤度の対象図形に整形する。表示部は、整形結果を表示する。【選択図】図１
2014186683.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが手書きした複数のストロークを取得する取得部と、
前記複数のストロークのうちの１以上のストロークから成るストロークの組合せを複数抽出する抽出部と、
前記複数の組合せそれぞれに対し、対象図形毎に当該対象図形らしさを表す第１尤度を算出する第１算出部と、
前記複数の組合せそれぞれに対し、不完全図形らしさを表す第２尤度を算出する第２算出部と、
前記複数の組合せのうち、前記第１尤度の少なくともいずれかが第１閾値以上であり、かつ前記第２尤度が第２閾値以下となる第１組合せがあるか否かを判定する判定部と、
前記第１組合せがある場合、前記複数のストロークを、前記第１組合せにおいて前記第１閾値以上となった前記第１尤度の対象図形に整形する整形部と、
整形結果を表示する表示部と、
を備える整形装置。
【請求項２】
前記整形部は、前記第１組合せが１以上ある場合、前記複数のストロークを、前記１以上の第１組合せにおいて最も高い第１尤度の対象図形に整形する請求項１に記載の整形装置。
【請求項３】
前記判定部は、前記第１組合せがない場合、前記第１尤度の少なくともいずれかが前記第１閾値以上であり、かつ前記第２尤度が前記第２閾値よりも大きい第３閾値以下となる第２組合せがあるか否かを更に判定し、
前記表示部は、前記第２組合せが１以上ある場合、前記１以上の第２組合せにおいて最も高い第１尤度の対象図形を整形候補として表示し、
整形候補の選択指示の入力を受け付ける受付部を更に備え、
前記整形部は、前記選択指示が受け付けられると、前記複数のストロークを、選択された整形候補である対象図形に整形し、
前記表示部は、整形結果を表示する請求項２に記載の整形装置。
【請求項４】
前記表示部は、前記第２組合せが１以上ある場合、整形の有無を確認する確認画面を表示し、
前記受付部は、整形の有無を確認する確認指示の入力を更に受け付け、
前記表示部は、整形有りを指示する確認指示が受け付けられると、前記１以上の第２組合せにおいて最も高い第１尤度の対象図形を整形候補として表示する請求項３に記載の整形装置。
【請求項５】
前記判定部は、前記複数の組合せに、前記第１尤度の少なくともいずれかが第１閾値以上となる組合せがない場合、前記第１尤度の少なくともいずれかが前記第１閾値よりも小さい第４閾値以上であり、かつ前記第２尤度が前記第２閾値以下となる第３組合せがあるか否かを更に判定し、
前記表示部は、前記第３組合せが１以上ある場合、前記１以上の第３組合せにおいて最も高い第１尤度の対象図形を整形候補として表示し、
整形候補の選択指示の入力を受け付ける受付部を更に備え、
前記整形部は、前記選択指示が受け付けられると、前記複数のストロークを、選択された整形候補である対象図形に整形し、
前記表示部は、整形結果を表示する請求項２に記載の整形装置。
【請求項６】
前記表示部は、前記第３組合せが１以上ある場合、整形の有無を確認する確認画面を表示し、
前記受付部は、整形の有無を確認する確認指示の入力を更に受け付け、
前記表示部は、整形有りを指示する確認指示が受け付けられると、前記１以上の第３組合せにおいて最も高い第１尤度の対象図形を整形候補として表示する請求項５に記載の整形装置。
【請求項７】
前記複数のストロークを２以上のストローク群に分類する分類部を更に備え、
前記抽出部は、前記ストローク群毎に、当該ストローク群のうちの１以上のストロークから成るストロークの組合せを複数抽出する請求項１〜６のいずれか１つに記載の整形装置。
【請求項８】
前記分類部は、前記複数のストロークそれぞれの位置に応じて、前記前記複数のストロークを前記２以上のストローク群に分類する請求項７に記載の整形装置。
【請求項９】
ユーザが手書きした複数のストロークを取得する取得部と、
前記複数のストロークのうちの１以上のストロークから成る複数の組合せのうち、対象図形らしさを表す第１尤度が第１閾値以上であり、かつ不完全図形らしさを表す第２尤度が第２閾値以下となる組合せがある場合、当該組合せにおいて前記第１閾値以上となった前記第１尤度の対象図形への前記複数のストロークの整形結果を表示する表示部と、
を備える整形装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、整形装置に関する。
【背景技術】
【０００２】
ユーザが手書き入力した複数のストロークを図形データに整形する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第１５４１９５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したような従来技術では、整形対象の図形が、他の図形を一部に利用することで表現されている場合、誤整形が生じやすい。本発明が解決しようとする課題は、他の図形を一部に利用することで表現された対象図形への整形精度を高めることができる整形装置を提供することである。
【課題を解決するための手段】
【０００５】
実施形態の整形装置は、取得部と、抽出部と、第１算出部と、第２算出部と、判定部と、整形部と、表示部と、を備える。取得部は、ユーザが手書きした複数のストロークを取得する。抽出部は、前記複数のストロークのうちの１以上のストロークから成るストロークの組合せを複数抽出する。第１算出部は、前記複数の組合せそれぞれに対し、対象図形毎に当該対象図形らしさを表す第１尤度を算出する。第２算出部は、前記複数の組合せそれぞれに対し、不完全図形らしさを表す第２尤度を算出する。判定部は、前記複数の組合せのうち、前記第１尤度の少なくともいずれかが第１閾値以上であり、かつ前記第２尤度が第２閾値以下となる第１組合せがあるか否かを判定する。整形部は、前記第１組合せがある場合、前記複数のストロークを、前記第１組合せにおいて前記第１閾値以上となった前記第１尤度の対象図形に整形する。表示部は、整形結果を表示する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態の整形装置の例を示す構成図。
【図２】第１実施形態の複数のストロークの表示例を示す図。
【図３】第１実施形態の判定手法の例の説明図。
【図４】第１実施形態の整形結果の例を示す図。
【図５】第１実施形態の処理例を示すフローチャート図。
【図６】第２実施形態の整形装置の例を示す構成図。
【図７】第２実施形態の複数のストロークの表示例を示す図。
【図８】第２実施形態の判定手法の例の説明図。
【図９】第２実施形態の整形候補の表示例を示す図。
【図１０】第２実施形態の処理例を示すフローチャート図。
【図１１】第３実施形態の整形装置の例を示す構成図。
【図１２】第３実施形態の確認画面の表示例を示す図。
【図１３】第４実施形態の整形装置の例を示す構成図。
【図１４】第４実施形態の複数のストロークの表示例を示す図。
【図１５】第４実施形態の判定手法の例の説明図。
【図１６】第４実施形態の整形結果の例を示す図。
【図１７】第５実施形態の整形装置の例を示す構成図。
【図１８】第５実施形態の複数のストロークの表示例を示す図。
【図１９】第５実施形態の整形結果の例を示す図。
【図２０】各実施形態の整形装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【０００７】
以下、添付図面を参照しながら、実施形態を詳細に説明する。
【０００８】
（第１実施形態）
図１は、第１実施形態の整形装置１の一例を示す構成図である。図１に示すように、整形装置１は、入力部１１と、取得部１３と、表示制御部１５と、表示部１７と、受付部１９と、抽出部２１と、記憶部２３と、第１算出部２５と、第２算出部２７と、判定部２９と、整形部３１と、出力部３３とを、備える。
【０００９】
入力部１１は、タッチパネル、タッチパッド、マウス、及び電子ペンなどの手書き入力可能な入力装置により実現できる。
【００１０】
取得部１３、表示制御部１５、受付部１９、抽出部２１、第１算出部２５、第２算出部２７、判定部２９、整形部３１、及び出力部３３は、例えば、ＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、即ち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェア及びハードウェアを併用して実現してもよい。
【００１１】
表示部１７は、例えば、タッチパネルディスプレイや液晶ディスプレイなどの表示装置により実現できる。
【００１２】
記憶部２３は、整形装置１で実行される各種プログラムや整形装置１で行われる各種処理に使用されるデータなどを記憶する。記憶部２３は、例えば、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、メモリカード、光ディスク、ＲＯＭ（Read  Only  Memory）、及びＲＡＭ（Random  Access  Memory）などの磁気的、光学的、又は電気的に記憶可能な記憶装置により実現できる。
【００１３】
入力部１１は、ユーザが図形などを手書きした複数のストローク（以下、「手書きデータ」と称する場合がある）を整形装置１に入力する。第１実施形態では、入力部１１はタッチパネルであり、ユーザがスタイラスペンや指を用いてタッチパネル上で図形などを手書きすることにより、複数のストロークを入力することを想定しているが、これに限定されるものではない。例えば、入力部１１をタッチパッド、マウス、及び電子ペンなどで実現してもよい。
【００１４】
ストロークは、ユーザが手書した図形などの１画、即ち、スタイラスペンや指がタッチパネルの入力面に接してから離れるまで（ペンダウンからペンアップまで）の軌跡を示すデータである。ストロークは、例えば、｛（ｘ１，ｙ１）、（ｘ２，ｙ２）、…、（ｘｎ，ｙｎ）｝のような、スタイラスペンや指と入力面との接点の時系列の座標値として表される。但し、ストロークの表現形式は、これに限定されるものではない。
【００１５】
また入力部１１は、入力した複数のストロークの整形指示、及び複数のストロークを整形した整形データのファイル出力指示などの各種指示を整形装置１に入力する。
【００１６】
本実施形態では、入力部１１がこれらの各種指示の入力も行うことを想定しているが、これに限定されるものではない。例えば、整形装置１が、操作子などの入力部１１とは異なる入力部を更に備えるようにして、当該入力部が上述の各種指示の入力を行うようにしてもよい。
【００１７】
取得部１３は、入力部１１により入力された複数のストロークを取得する。具体的には、取得部１３は、入力部１１により入力されたストロークを順次取得することで、複数のストロークを取得する。
【００１８】
表示制御部１５は、取得部１３により取得された複数のストロークを表示部１７に表示したり、複数のストロークの整形結果を表示部１７に表示したりする。例えば、表示制御部１５は、取得部１３により取得された複数のストロークの座標値を線形補完して当該複数のストロークを表示部１７に表示する。なお本実施形態では、表示部１７は、入力部１１と同一のタッチパネルにより実現されていることを想定しているが、これに限定されず、例えば、入力部１１と異なるタッチパネルで実現してもよいし、液晶ディスプレイなどで実現してもよい。
【００１９】
図２は、第１実施形態の複数のストロークの表示例を示す図である。図２に示す例では、データベースの図形を表す複数のストローク５０〜５３が表示部１７上の表示画面に表示されている。なお、ストローク５０〜５３は、ストローク５０、ストローク５１、ストローク５２、ストローク５３の順番で取得（入力）されたものとする。また表示画面には、整形ボタン５５が表示されており、ユーザにより整形ボタン５５がタッチ（選択）されると、ストローク５０〜５３の整形が行われる。なお、整形ボタン５５などのメニュー画面の表示形式はこれに限定されるものではなく、アイコンやテキストなど種々の表示形式を採用できる。
【００２０】
受付部１９は、入力部１１により入力された整形指示など各種指示を受け付ける。例えば、図２に示す例において、整形ボタン５５がタッチされると、入力部１１は、ストローク５０〜５３の整形指示を入力し、受付部１９は、当該整形指示を受け付ける。
【００２１】
抽出部２１は、取得部１３により取得された複数のストロークのうちの１以上のストロークから成るストロークの組合せを複数抽出する。具体的には、抽出部２１は、受付部１９により整形指示が受け付けられると、取得部１３により取得された複数のストロークから、当該複数のストロークのうちの１以上のストロークから成るストロークの組合せを複数抽出する。
【００２２】
ここで、ストロークの組合せは、連続するストロークの組み合わせ、全組合せ、及び先頭ストロークと重心位置が一定距離内にあるストロークの組み合わせなど、どのような組合せを用いてもよい。第１実施形態では、ストロークの組合せとして、連続するストロークの組み合わせ（詳細には、ストロークが取得（入力）される毎に、生成されるストロークの組合せ）を用いるものとするが、これに限定されるものではない。
【００２３】
例えば、図２で説明したストローク５０〜５３の場合、抽出部２１は、ストローク５０〜５３から、ストローク５０が取得（入力）されることで生成されるストローク５０から成る組合せ、ストローク５１が取得（入力）されることで生成されるストローク５０、５１から成る組合せ、ストローク５２が取得（入力）されることで生成されるストローク５０、５１、５２から成る組合せ、ストローク５３が取得（入力）されることで生成されるストローク５０、５１、５２、５３から成る組合せを抽出する。
【００２４】
記憶部２３は、複数の対象図形（詳細には、整形の対象図形）のテンプレートや不完全図形のテンプレートなどを記憶する。ここで、不完全図形とは、図形として未完成のものであり、第１実施形態では、１以上の線が描き足されることで図形となるものを想定している。例えば、記憶部２３は、対象図形や不完全図形のテンプレートとして、対象図形のストローク数とそれぞれのストロークを構成する時系列の座標値とを対応付けて記憶する。
【００２５】
第１算出部２５は、抽出部２１により抽出された複数の組合せそれぞれに対し、対象図形毎に当該対象図形らしさを表す第１尤度を算出する。具体的には、第１算出部２５は、抽出部２１により抽出された複数の組合せそれぞれを、記憶部２３に記憶されている対象図形のテンプレートそれぞれと比較することで、複数の組合せそれぞれに対し、対象図形毎に当該対象図形らしさを表す第１尤度を算出する。
【００２６】
第１尤度の算出には、公知の手法を用いることができる。例えば、第１算出部２５は、抽出部２１により抽出された１の組合せを取得し、当該１の組合せから、ストローク番号が連続するＫ本のストロークからなるストローク列を全て抽出する。当該１の組合せのストローク数がＮ、Ｋ＝３であれば、第１算出部２５は、当該１の組合せから、ストローク列として、（１，２，３）、（２，３，４）、…（Ｎ−２，Ｎ−１，Ｎ）を抽出する。
【００２７】
また第１算出部２５は、記憶部２３から対象図形のテンプレートを取得し、同様に、当該対象図形のテンプレートから、ストローク番号が連続するＫ本のストロークからなるストローク列を全て抽出する。
【００２８】
そして第１算出部２５は、１の組合せのストローク列及び対象図形のテンプレートのストローク列の位置及び大きさを正規化し、第１尤度を算出する。例えば、ストローク毎に一定の点数で点近似し、両者の対応する点間の距離の総和を相違度とし、その逆数を第１尤度とする。
【００２９】
また例えば、第１算出部２５は、抽出部２１により抽出された１の組合せを取得し、当該１の組合せの特徴量を抽出し、抽出した特徴量を対象図形であるか否かを判断するように学習された識別器に適用し、第１尤度を算出するようにしてもよい。識別器としては、例えば、Crammer,  K.,  &  Singer,  Y.  (2001).  On  the  algorithmic  implementation  of  multi-class  kernel-based  vector  machines.  Machine  Learning  Research,  2,  265-292.に開示されたマルチクラスＳＶＭや、特開２００９−２０７６９号公報に開示されたＫＮＮ識別器などを用いることができる。
【００３０】
第２算出部２７は、抽出部２１により抽出された複数の組合せそれぞれに対し、不完全図形らしさを表す第２尤度を算出する。具体的には、第２算出部２７は、抽出部２１により抽出された複数の組合せそれぞれを、記憶部２３に記憶されている不完全図形のテンプレートと比較することで、複数の組合せそれぞれに対し、不完全図形らしさを表す第１尤度を算出する。
【００３１】
第２尤度の算出にも、公知の手法を用いることができる。例えば、上述した第１尤度の算出手法において、対象図形を不完全図形に置き換えること、第２尤度を算出することができる。
【００３２】
判定部２９は、抽出部２１により抽出された複数の組合せのうち、第１尤度の少なくともいずれかが第１閾値以上であり、かつ第２尤度が第２閾値以下となる第１組合せがあるか否かを判定する。
【００３３】
図３は、第１実施形態の判定手法の一例の説明図である。図３に示す例では、抽出部２１により抽出されたストロークの組合せそれぞれについて、第１算出部２５により算出された対象図形毎の第１尤度と、第２算出部２７により算出された第２尤度とを示している。
【００３４】
ここで、ストロークの組合せ（０）とは、ストローク５０から成る組合せを示し、ストロークの組合せ（０、１）とは、ストローク５０、５１から成る組合せを示し、ストロークの組合せ（０、１、２）とは、ストローク５０、５１、５２から成る組合せを示し、ストロークの組合せ（０、１、２、３）とは、ストローク５０、５１、５２、５３から成る組合せを示す。また、対象図形としては、円、矩形、及びデータベースなどを示している。また、図３に示す例では、第１閾値が０．７、第２閾値が０．３であるものとするが、これに限定されるものではない。
【００３５】
この場合、第１尤度の少なくともいずれかが０．７以上となる組合せは、組合せ（０）、組合せ（０、１、２、３）となり、第２尤度が０．３以下となる組合せは、組合せ（０、１、２、３）となる。この結果、組合せ（０、１、２、３）が第１組合せに該当するため、判定部２９は、第１組合せがあると判定する。
【００３６】
整形部３１は、第１組合せがある場合、取得部１３により取得された複数のストロークを、当該第１組合せにおいて第１閾値以上となった第１尤度の対象図形に整形する。具体的には、整形部３１は、判定部２９により第１組合せが１以上あると判定された場合、取得部１３により取得された複数のストロークを、当該１以上の第１組合せにおいて最も高い第１尤度の対象図形に整形する。詳細には、整形部３１は、１以上の第１組合せにおいて最も高い第１尤度の対象図形のテンプレートを記憶部２３から取得し、取得部１３により取得された複数のストロークを、当該テンプレートを用いて整形する。
【００３７】
例えば、図３に示す例の場合、１以上の第１組合せである組合せ（０、１、２、３）において、最も高い第１尤度は、データベースの０．９である。このため、整形部３１は、データベースのテンプレートを記憶部２３から取得し、当該データベースのテンプレートを用いて、図４に示すように、ストローク５０〜５３をデータベースの図形データに整形する。
【００３８】
表示制御部１５は、前述したとおり、整形部３１の整形結果を表示部１７に表示する。
【００３９】
出力部３３は、整形部３１の整形結果をファイル出力し、図示せぬ記憶部や外部装置（例えば、クラウドなど）に当該整形結果のファイルを格納する。なお、整形結果のファイル化は、整形部３１が行ってもよいし、出力部３３が行ってもよい。
【００４０】
図５は、第１実施形態の整形装置１で行われる処理の手順の流れの一例を示すフローチャート図である。
【００４１】
まず、取得部１３は、入力部１１により入力された複数のストロークである手書きデータを取得する（ステップＳ１０１）。
【００４２】
続いて、表示制御部１５は、取得部１３により取得された手書きデータを表示部１７に表示する（ステップＳ１０３）。
【００４３】
続いて、受付部１９は、入力部１１により入力された整形指示を受け付ける（ステップＳ１０５）。
【００４４】
続いて、抽出部２１は、取得部１３により取得された手書きデータを構成する複数のストロークのうちの１以上のストロークから成るストロークの組合せを複数抽出する（ステップＳ１０７）。
【００４５】
続いて、第１算出部２５は、抽出部２１により抽出された複数の組合せそれぞれに対し、対象図形毎に当該対象図形らしさを表す第１尤度を算出する（ステップＳ１０９）。
【００４６】
続いて、第２算出部２７は、抽出部２１により抽出された複数の組合せそれぞれに対し、不完全図形らしさを表す第２尤度を算出する（ステップＳ１１１）。
【００４７】
続いて、判定部２９は、抽出部２１により抽出された複数の組合せのうち、第１尤度の少なくともいずれかが第１閾値以上であり、かつ第２尤度が第２閾値以下となる第１組合せがあるか否かを判定する（ステップＳ１１３）。
【００４８】
第１組合せがある場合（ステップＳ１１３でＹｅｓ）、整形部３１は、取得部１３により取得された複数のストロークである手書きデータを、当該１以上の第１組合せにおいて最も高い第１尤度の対象図形に整形する（ステップＳ１１５）。
【００４９】
続いて、表示制御部１５は、整形部３１の整形結果を表示部１７に表示し、出力部３３は、整形部３１の整形結果をファイル出力する（ステップＳ１１７）。
【００５０】
なお、図５に示す例では、第１組合せがない場合（ステップＳ１１３でＮｏ）、処理が終了となっているが、これに限定されるものではない。
【００５１】
例えば、ステップＳ１１３において、抽出部２１により抽出された複数の組合せに、第１尤度の少なくともいずれかが第１閾値以上となる組合せがない場合、表示部１７に表示されている手書きデータである複数のストロークを削除するようにしてもよい。
【００５２】
また例えば、ステップＳ１１３において、抽出部２１により抽出された複数の組合せのうち、第１尤度の少なくともいずれかが第１閾値以上の組合せがあるが、第２尤度が第２閾値以下となる組合せがない場合、整形部３１は、手書きデータを、最も高い第１尤度の対象図形に整形するようにしてもよい。
【００５３】
以上のように第１実施形態によれば、対象図形らしさだけでなく、不完全図形らしさを考慮して、複数のストロークを対象図形に整形するため、対象図形が他の図形を一部に利用することで表現されている場合であっても対象図形への整形精度を高めることができる。
【００５４】
（第２実施形態）
第２実施形態では、対象図形に対してストロークが足りない場合であっても、取得された複数のストロークを対象図形に整形可能な例について説明する。以下では、第１実施形態との相違点の説明を主に行い、第１実施形態と同様の機能を有する構成要素については、第１実施形態と同様の名称・符号を付し、その説明を省略する。
【００５５】
図６は、第２実施形態の整形装置１０１の一例を示す構成図である。図６に示すように、第２実施形態の整形装置１０１は、判定部１２９、表示制御部１１５、受付部１１９、及び整形部１３１が、第１実施形態と相違する。
【００５６】
図７は、第２実施形態の複数のストロークの表示例を示す図である。図７に示す例では、データベースの図形を表す複数のストローク１５０〜１５２が表示部１７上の表示画面に表示されている。但し、ストローク１５０〜１５２では、一部のストロークが足りないため、データベースを正しく表現できていない。なお、ストローク１５０〜１５２は、ストローク１５０、ストローク１５１、ストローク１５２の順番で取得（入力）されたものとする。
【００５７】
判定部１２９は、第１組合せがない場合、第１尤度の少なくともいずれかが第１閾値以上であり、かつ第２尤度が第２閾値よりも大きい第３閾値以下となる第２組合せがあるか否かを更に判定する。
【００５８】
図８は、第２実施形態の判定手法の一例の説明図である。ここで、ストロークの組合せ（０）とは、ストローク１５０から成る組合せを示し、ストロークの組合せ（０、１）とは、ストローク１５０、１５１から成る組合せを示し、ストロークの組合せ（０、１、２）とは、ストローク１５０、１５１、１５２から成る組合せを示す。また、図８に示す例では、第１閾値が０．７、第２閾値が０．３、第３閾値が０．９であるものとするが、これに限定されるものではない。
【００５９】
この場合、第１尤度の少なくともいずれかが０．７以上となる組合せは、組合せ（０）、組合せ（０、１、２）となり、第２尤度が０．３以下となる組合せは無く、第２尤度が０．９以下となる組合せは、組合せ（０、１）、組合せ（０、１、２）となる。この結果、第１組合せに該当する組合せは無く、組合せ（０、１、２）が第２組合せに該当するため、判定部１２９は、第１組合せが無く、第２組合せがあると判定する。
【００６０】
表示制御部１１５は、判定部１２９により第２組合せが１以上あると判定された場合、当該１以上の第２組合せにおいて最も高い第１尤度の対象図形を整形候補として表示部１７に表示する。
【００６１】
例えば、図８に示す例の場合、１以上の第２組合せである組合せ（０、１、２）において、最も高い第１尤度は、データベースの０．８である。このため、表示制御部１１５は、データベースのテンプレートを整形部１３１又は記憶部２３から取得し、図９に示すように、データベース１５６を整形候補として、表示部１７上の表示画面に表示する。
【００６２】
なお、図９に示す例では、表示制御部１１５は、組合せ（０、１、２）に対応する図形１５７も整形候補として、表示部１７上の表示画面に表示している。これは、最新のストロークの組合せである組合せ（０、１、２）が、データベースに対してストロークが足りないのではなく、組合せ（０、１、２）の形状をユーザが意図して手書き入力した可能性があるためである。
【００６３】
但し、図９に示す例では、表示制御部１１５は、図形１５７をデータベース１５６よりも優先度を下げた整形候補として表示している。
【００６４】
受付部１１９は、入力部１１により入力された整形候補の選択指示の入力を受け付ける。例えば、図９に示す例において、データベース１５６がタッチされると、入力部１１は、データベース１５６の選択指示を入力し、受付部１１９は、当該選択指示を受け付ける。また例えば、図９に示す例において、図形１５７がタッチされると、入力部１１は、図形１５７の選択指示を入力し、受付部１１９は、当該選択指示を受け付ける。
【００６５】
整形部１３１は、受付部１１９により選択指示が受け付けられると、取得部１３により取得された複数のストロークを、選択された整形候補である対象図形に整形する。例えば、整形部１３１は、図９に示す例において、受付部１１９によりデータベース１５６の選択指示が受け付けられると、ストローク１５０〜１５２を図４に示すようなデータベースの図形データに整形する。また例えば、整形部１３１は、図９に示す例において、受付部１１９により図形１５７の選択指示が受け付けられると、ストローク１５０〜１５２を図形１５７の図形データに整形する。
【００６６】
そして表示制御部１１５は、整形部１３１の整形結果を表示部１７に表示し、出力部３３は、整形部１３１の整形結果をファイル出力する。
【００６７】
図１０は、第２実施形態の整形装置１０１で行われる処理の手順の流れの一例を示すフローチャート図である。
【００６８】
まず、ステップＳ２０１〜Ｓ２１１までの処理は、図５のフローチャートのステップＳ１０１〜Ｓ１１１までの処理と同様である。
【００６９】
続いて、判定部１２９は、抽出部２１により抽出された複数の組合せのうち、第１尤度の少なくともいずれかが第１閾値以上の組合せがあるか否かを判定する（ステップＳ２１３）。
【００７０】
第１尤度の少なくともいずれかが第１閾値以上の組合せがある場合（ステップＳ２１３でＹｅｓ）、判定部１２９は、当該組合せのうち、第２尤度が第２閾値以下の組合せ（第１組合せ）があるか否かを判定する（ステップＳ２１５）。
【００７１】
第１組合せがある場合（ステップＳ２１５でＹｅｓ）、整形部１３１は、取得部１３により取得された複数のストロークである手書きデータを、当該１以上の第１組合せにおいて最も高い第１尤度の対象図形に整形する（ステップＳ２１７）。
【００７２】
続いて、表示制御部１１５は、整形部１３１の整形結果を表示部１７に表示し、出力部３３は、整形部１３１の整形結果をファイル出力する（ステップＳ２１９）。
【００７３】
一方、第１組合せがない場合（ステップＳ２１５でＮｏ）、判定部１２９は、当該組合せのうち、第２尤度が第３閾値以下の組合せ（第２組合せ）があるか否かを判定する（ステップＳ２２１）。
【００７４】
第２組合せがある場合（ステップＳ２２１でＹｅｓ）、表示制御部１１５は、当該１以上の第２組合せにおいて最も高い第１尤度の対象図形を整形候補として表示する（ステップＳ２２３）。
【００７５】
続いて、受付部１１９は、入力部１１により入力された整形候補の選択指示の入力を受け付ける（ステップＳ２２５）。
【００７６】
続いて、整形部１３１は、受付部１１９により選択指示が受け付けられると、取得部１３により取得された複数のストロークである手書きデータを、選択された整形候補である対象図形に整形する（ステップＳ２２７）。
【００７７】
続いて、表示制御部１１５は、整形部１３１の整形結果を表示部１７に表示し、出力部３３は、整形部１３１の整形結果をファイル出力する（ステップＳ２２９）。
【００７８】
なお、ステップＳ２１３において、抽出部２１により抽出された複数の組合せに、第１尤度の少なくともいずれかが第１閾値以上となる組合せがない場合、表示部１７に表示されている手書きデータである複数のストロークを削除するようにしてもよい。
【００７９】
また例えば、ステップＳ２２１において、抽出部２１により抽出された複数の組合せのうち、第１尤度の少なくともいずれかが第１閾値以上の組合せがあるが、第２尤度が第３閾値以下となる組合せがない場合、整形部３１は、手書きデータを、最も高い第１尤度の対象図形に整形するようにしてもよい。
【００８０】
以上のように第２実施形態によれば、不完全図形らしさの判定基準を緩めることで、対象図形に対してストロークが足りない複数のストロークについても、対象図形を整形候補とすることができ、当該複数のストロークを対象図形に整形することができる。
【００８１】
（第３実施形態）
第３実施形態では、対象図形に対してストロークが足りない場合に、整形を行うか否かをユーザに確認する例について説明する。以下では、第２実施形態との相違点の説明を主に行い、第２実施形態と同様の機能を有する構成要素については、第１実施形態と同様の名称・符号を付し、その説明を省略する。
【００８２】
図１１は、第３実施形態の整形装置２０１の一例を示す構成図である。図１１に示すように、第３実施形態の整形装置２０１は、表示制御部２１５及び受付部２１９が、第２実施形態と相違する。
【００８３】
表示制御部２１５は、判定部１２９により第２組合せが１以上あると判定された場合、整形の有無を確認する確認画面を表示部１７に表示する。例えば、表示制御部２１５は、図１２に示すように、整形の有無を確認する確認画面２５６を表示部１７上の表示画面に表示する。
【００８４】
受付部２１９は、入力部１１により入力された整形の有無を確認する確認指示の入力を受け付ける。例えば、図１２に示す例において、Ｙｅｓボタン２５７がタッチされると、入力部１１は、整形有りを指示する確認指示を入力し、受付部２１９は、当該確認指示を受け付ける。また例えば、図１２に示す例において、Ｎｏボタン２５８がタッチされると、入力部１１は、整形無しを指示する確認指示を入力し、受付部２１９は、当該確認指示を受け付ける。
【００８５】
表示制御部２１５は、受付部２１９により整形有りを指示する確認指示が受け付けられると、１以上の第２組合せにおいて最も高い第１尤度の対象図形を整形候補として表示部１７に表示する。
【００８６】
（第４実施形態）
第４実施形態では、対象図形に対してストロークが多い場合であっても、取得された複数のストロークを対象図形に整形可能な例について説明する。以下では、第１実施形態との相違点の説明を主に行い、第１実施形態と同様の機能を有する構成要素については、第１実施形態と同様の名称・符号を付し、その説明を省略する。
【００８７】
図１３は、第４実施形態の整形装置３０１の一例を示す構成図である。図１３に示すように、第４実施形態の整形装置３０１は、判定部３２９、表示制御部３１５、受付部３１９、及び整形部３３１が、第１実施形態と相違する。
【００８８】
図１４は、第４実施形態の複数のストロークの表示例を示す図である。図１４に示す例では、矢印の図形を表す複数のストローク３５０〜３５３が表示部１７上の表示画面に表示されている。但し、ストローク３５０〜３５３では、ストローク３５３がはみ出しているため（長すぎるため）、矢印を正しく表現できていない。なお、ストローク３５０〜３５３は、ストローク３５０、ストローク３５１、ストローク３５２、ストローク３５３の順番で取得（入力）されたものとする。
【００８９】
判定部３２９は、抽出部２１により抽出された複数の組合せに、第１尤度の少なくともいずれかが第１閾値以上となる組合せがない場合、第１尤度の少なくともいずれかが第１閾値よりも小さい第４閾値以上であり、かつ第２尤度が前記第２閾値以下となる第３組合せがあるか否かを更に判定する。
【００９０】
図１５は、第４実施形態の判定手法の一例の説明図である。ここで、ストロークの組合せ（０）とは、ストローク３５０から成る組合せを示し、ストロークの組合せ（０、１）とは、ストローク３５０、３５１から成る組合せを示し、ストロークの組合せ（０、１、２）とは、ストローク３５０、３５１、３５２から成る組合せを示し、ストロークの組合せ（０、１、２、３）とは、ストローク３５０、３５１、３５２、３５３から成る組合せを示す。また、図１５に示す例では、第１閾値が０．８、第２閾値が０．３、第４閾値が０．５であるものとするが、これに限定されるものではない。
【００９１】
この場合、第１尤度の少なくともいずれかが０．８以上となる組合せは無く、第１尤度の少なくともいずれかが０．５以上となる組合せは、組合せ（０、１）、組合せ（０、１、２）、組合せ（０、１、２、３）となり、第２尤度が０．３以下となる組合せは、組合せ（０、１、２、３）となる。この結果、第１組合せに該当する組合せは無く、組合せ（０、１、２、３）が第３組合せに該当するため、判定部３２９は、第１組合せが無く、第３組合せがあると判定する。
【００９２】
表示制御部３１５は、判定部３２９により第３組合せが１以上あると判定された場合、当該１以上の第３組合せにおいて最も高い第１尤度の対象図形を整形候補として表示部１７に表示する。当該１以上の第３組合せにおいて第１尤度が最も高く、第２尤度がもっとも低い対象図形を整形候補として表示部１７に表示するとなおよい。第２尤度は不完全図形らしさを表しており、第２尤度が低い図形が整形候補の図形になる場合が多いためである。
【００９３】
例えば、図１５に示す例の場合、１以上の第３組合せである組合せ（０、１、２、３）において、最も高い第１尤度は、矢印の０．７である。このため、表示制御部３１５は、矢印のテンプレートを整形部３３１又は記憶部２３から取得し、整形候補として、表示部１７上の表示画面に表示する。なお表示制御部３１５は、第２実施形態同様、最新のストロークの組合せである組合せ（０、１、２、３）に対応する図形も整形候補として、表示部１７上の表示画面に表示してもよい。
【００９４】
受付部３１９は、入力部１１により入力された整形候補の選択指示の入力を受け付ける。
【００９５】
整形部３３１は、受付部３１９により選択指示が受け付けられると、取得部１３により取得された複数のストロークを、選択された整形候補である対象図形に整形する。例えば、整形部３３１は、受付部３１９により矢印の選択指示が受け付けられると、図１６に示すように、ストローク３５０〜３５３を矢印の図形データに整形する。
【００９６】
そして表示制御部３１５は、整形部３３１の整形結果を表示部１７に表示し、出力部３３は、整形部３３１の整形結果をファイル出力する。
【００９７】
以上のように第４実施形態によれば、対称図形らしさの判定基準を緩めることで、対象図形に対してストロークが多い複数のストロークについても、対象図形を整形候補とすることができ、当該複数のストロークを対象図形に整形することができる。
【００９８】
なお第４実施形態において、第３実施形態と同様の変形を行うようにしてもよい。つまり、表示制御部３１５は、第３組合せが１以上ある場合、整形の有無を確認する確認画面を表示部１７に表示し、受付部３１９は、整形の有無を確認する確認指示の入力を更に受け付け、表示制御部３１５は、整形有りを指示する確認指示が受け付けられると、１以上の第３組合せにおいて最も高い第１尤度の対象図形を整形候補として表示部１７に表示するようにしてもよい。
【００９９】
（第５実施形態）
第５実施形態では、複数のストロークを２以上のストローク群に分類し、ストローク群毎に整形を行う例について説明する。以下では、第２実施形態との相違点の説明を主に行い、第２実施形態と同様の機能を有する構成要素については、第２実施形態と同様の名称・符号を付し、その説明を省略する。
【０１００】
図１７は、第５実施形態の整形装置４０１の一例を示す構成図である。図１７に示すように、第５実施形態の整形装置４０１は、分類部４１４及び抽出部４２１が、第２実施形態と相違する。
【０１０１】
分類部４１４は、取得部１３により取得された複数のストロークを２以上のストローク群に分類する。具体的には、分類部４１４は、取得部１３により取得された複数のストロークそれぞれの位置に応じて、複数のストロークを２以上のストローク群に分類する。
【０１０２】
ストロークの分類には、公知の手法を用いることができる。例えば、分類部４１４は、隣接関係にあるストロークや重心位置が一定距離内にあるストロークを同一のストローク群に分類する。また例えば、分類部４１４は、取得された各ストロークに対する尤度を算出し、座標面上での空間的な近さと連続性を加味するため、マルコフ確率場（ＭＲＦ：Markov  random  field）で表現し、当該手書きデータが存在する領域を分割する最も分離のよい複数の分割領域を推定するようにしてもよい（例えば、“Xiang-Dong  Zhou,  Cheng-Lin  Liu,  “Text/Non-text  Ink  Stroke  Classification  in  Japanese  Handwriting  Based  on  Markov  Random  Fields,”  Document  Analysis  and  Recognition,  2007.  ICDAR  2007.  Ninth  International  Conference  on,  23-26  Sept.  2007.”参照）。
【０１０３】
抽出部４２１は、分類部４１４により分類されたストローク群毎に、当該ストローク群のうちの１以上のストロークから成るストロークの組合せを複数抽出する。
【０１０４】
以下、第１算出部２５、第２算出部２７、判定部１２９、及び整形部１３１は、前述した処理を、ストローク群毎に行う。
【０１０５】
この結果、図１８に示すように、手書きフローチャート４５１と手書きデータベース４５２を整形する場合に、図１９に示すように、手書きフローチャート４５１については、フローチャート４５６に整形し、手書きデータベース４５２については、整形候補４５７、４５８を表示するなど、ストローク群毎に最適な整形処理が可能となる。なお、この例では、手書きフローチャート４５１は、第１組合せに該当し、手書きデータベース４５２は、第２組合せに該当する。
【０１０６】
（ハードウェア構成）
図２０は、上記各実施形態の整形装置のハードウェア構成の一例を示す図である。上記各実施形態の整形装置は、ＣＰＵなどの制御装置９０１と、ＲＯＭやＲＡＭなどの記憶装置９０２と、ＨＤＤなどの外部記憶装置９０３と、タッチパネルなどの表示装置９０４と、タッチパネルなどの入力装置９０５と、通信インタフェースなどの通信装置９０６と、を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１０７】
上記各実施形態の整形装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ（Digital  Versatile  Disk）、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。
【０１０８】
また、上記各実施形態の整形装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記各実施形態の整形装置を、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、上記各実施形態の整形装置で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するようにしてもよい。
【０１０９】
上記各実施形態の整形装置で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、ＣＰＵがＨＤＤからプログラムをＲＡＭ上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
【０１１０】
なお、本発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【０１１１】
例えば、上記各実施形態のフローチャートにおける各ステップを、その性質に反しない限り、実行順序を変更し、複数同時に実施し、あるいは実施毎に異なった順序で実施してもよい。
【０１１２】
以上のように、上記各実施形態によれば、他の図形を一部に利用することで表現された対象図形への整形精度を高めることができる。
【符号の説明】
【０１１３】
１、１０１、２０１、３０１、４０１  整形装置
１１  入力部
１３  取得部
１５、１１５、２１５、３１５  表示制御部
１７  表示部
１９、１１９、２１９、３１９  受付部
２１、４２１  抽出部
２３  記憶部
２５  第１算出部
２７  第２算出部
２９、１２９、３２９  判定部
３１、１３１、３３１  整形部
３３  出力部
４１４  分類部
【図１】
2014186683.tif 000003
【図２】
2014186683.tif 000004
【図３】
2014186683.tif 000005
【図４】
2014186683.tif 000006
【図５】
2014186683.tif 000007
【図６】
2014186683.tif 000008
【図７】
2014186683.tif 000009
【図８】
2014186683.tif 000010
【図９】
2014186683.tif 000011
【図１０】
2014186683.tif 000012
【図１１】
2014186683.tif 000013
【図１２】
2014186683.tif 000014
【図１３】
2014186683.tif 000015
【図１４】
2014186683.tif 000016
【図１５】
2014186683.tif 000017
【図１６】
2014186683.tif 000018
【図１７】
2014186683.tif 000019
【図１８】
2014186683.tif 000020
【図１９】
2014186683.tif 000021
【図２０】
2014186683.tif 000022