(57)【要約】【課題】手書き入力された記号を、膨大なデータを保持することなく正確に認識できるようにする。【解決手段】入力手段が画面に触れてから離れるまで、前記入力手段が移動するごとにその位置情報を取得するタッチ情報取得手段と、前記タッチ情報取得手段から得た位置情報から前記入力手段の移動を示すベクトル情報を作成し、前記入力手段が画面に触れてから完全に離れるまでの一連のベクトルを１つのストローク情報として記憶するストローク情報記憶手段と、一連の１乃至は複数のベクトル情報が記憶されたストローク情報を、１乃至は複数記憶するオブジェクト情報記憶手段と、前記ベクトル情報から、そのストロークの特徴量を算出するストローク特徴量算出手段とを有する。【選択図】図６
2015176491.tif 000002
【特許請求の範囲】
【請求項１】
入力手段が画面に触れてから離れるまで、前記入力手段が移動するごとにその位置情報を取得するタッチ情報取得手段と、
前記タッチ情報取得手段から得た位置情報から前記入力手段の移動を示すベクトル情報を作成し、前記入力手段が画面に触れてから完全に離れるまでの一連のベクトルを１つのストローク情報として記憶するストローク情報記憶手段と、
一連の１乃至は複数のベクトル情報が記憶されたストローク情報を、１乃至は複数記憶するオブジェクト情報記憶手段と、
前記ベクトル情報から、そのストロークの特徴量を算出するストローク特徴量算出手段とを有することを特徴とする手書き音楽記号認識装置。
【請求項２】
前記ベクトル情報は、ベクトルの傾きをもとに、点、下→上、左下→右上、左→右、左上→右下、上→下、右上→左下、右→左、右下→左上、の９種類に分類され、そのＩＤを含んでいることを特徴とする請求項１に記載の手書き音楽記号認識装置。
【請求項３】
前記ストローク特徴量算出手段により算出されるストローク特徴量は、少なくとも、始点から終点の距離、ストロークが内接する矩形の４点の座標と中心座標、当該ベクトルと次のベクトルの角度が示す接続タイプ、接続タイプが鋭角であるベクトルのインデックス、当該ベクトルから次のベクトルへの回転方向、当該ベクトルから次のベクトルへの回転角、左右方向への移動方向、上下方向への移動方向、最左点、最右点、最上点、最下点にあたるインデックス、のうち１乃至は全てを含んでおり、ストローク情報に記憶することを特徴とする請求項１に記載の手書き音楽記号認識装置。
【請求項４】
前記ストローク特徴量のうち、当該ベクトルから次のベクトルへの回転方向とは、回転方向が時計回りか、反時計回りか、どちらでもないかを示すことを特徴とする請求項３に記載の手書き音楽記号認識装置。
【請求項５】
前記ストローク特徴量と、記号の特徴とを比較し、そのストロークが何の記号なのか認識するストローク認識手段をさらに備えることを特徴とする請求項３に記載の手書き音楽記号認識装置。
【請求項６】
前記ストローク認識手段により認識された複数のストロークの位置関係より、複数のストロークで描かれた記号を認識するオブジェクト認識手段をさらに備えることを特徴とする請求項５に記載の手書き音楽記号認識装置。
【請求項７】
前記オブジェクト認識手段は、１つのストロークの入力が終了してから、一定時間内に別のストロークの入力があれば、その入力が完了するまで待機し、入力がなければ、未認識のストロークをオブジェクトに登録し、そのオブジェクトの認識を行うことを特徴とする請求項６に記載の手書き音楽記号認識装置。
【請求項８】
ユーザーが操作可能な認識開始指示手段を備え、前記認識開始指示手段が操作されると、前記オブジェクト認識手段は、認識されていないストロークをオブジェクトに登録し、そのオブジェクトの認識を行うことを特徴とする請求項６に記載の手書き音楽記号認識装置。
【請求項９】
入力画面に予め五線が表示されており、前記オブジェクト認識手段は、オブジェクトが円などと認識した場合、音符として認識し、その音高も特定できることを特徴とする請求項７または請求項８に記載の手書き音楽記号認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は手書き音楽記号認識装置に関し、特に、タッチパネルが装着された端末装置に手書き（ペン使用を含む）入力された記号を認識して楽譜を作成するために用いて好適な技術に関する。
【背景技術】
【０００２】
手書き入力に対応するタブレット端末は、指などの入力手段がタッチパネルを走査した軌跡情報を検出し、検出した情報に基づいて記号あるいは図形などを認識するようにしている。
【０００３】
例えば、特許文献１には、次のような方法が提案されている。文字を変換するための特定の記号あるいは図形をあらかじめ登録設定しておく。文字認識を行うために手書き文字を入力する手書き文字入力文字枠に文字が入力され、その文字を入力した後で、その特定の記号又は図形を入力した場合に文字認識するために入力された文字が目的の文字に変換されるようにしている。例えば、入力した文字を小文字として認識するなどを、容易に実現できる手書き文字認識装置及び手書き文字認識の文字入力方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１９４７９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１で提案された技術は、文字を変換するための特定の記号あるいは図形をあらかじめ登録しておく必要がある。このため、認識可能な文字、記号あるいは図形の個数分だけデータを保持しておく必要があるので、大きな記憶容量の記憶媒体が必要であった。
【０００６】
また、入力された文字と、記憶媒体に大量に記憶されている文字候補とを１対１に対応付ける必要があるので、複雑で大掛かりなプログラムを必要とする問題点があった。また、記憶媒体に登録されていない文字や記号は認識することができない問題点や、綺麗に入力しないと正確な記号認識が行なわれない問題点があった。
本発明は前述の問題点に鑑み、手書き入力された記号を、膨大なデータを保持することなく正確に認識できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の手書き音楽記号認識装置は、入力手段が画面に触れてから離れるまで、前記入力手段が移動するごとにその位置情報を取得するタッチ情報取得手段と、前記タッチ情報取得手段から得た位置情報から前記入力手段の移動を示すベクトル情報を作成し、前記入力手段が画面に触れてから完全に離れるまでの一連のベクトルを１つのストローク情報として記憶するストローク情報記憶手段と、一連の１乃至は複数のベクトル情報が記憶されたストローク情報を、１乃至は複数記憶するオブジェクト情報記憶手段と、前記ベクトル情報から、そのストロークの特徴量を算出するストローク特徴量算出手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、音楽記号を構成するベクトルの特徴点を評価して記号を認識するようにしたので、手書き入力された記号を、膨大なデータを保持することなく正確に認識することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態における手書き音楽記号認識装置の構成例を示すブロック図である。
【図２】ベクトル、ストローク、オブジェクトの関係を、セーニョマークを例にして説明する図である。
【図３】ベクトルを９つの種類に分類する例を示す図である。
【図４】Ｓ字ベクトルの内接矩形と中心座標の例を示す図である。
【図５】当該ベクトルから次のベクトルへの回転角度の変化例を示す図である。
【図６】音楽記号認識処理の手順を説明するフローチャートである。
【図７】ベクトル情報の作成例を示す図である。
【図８】オブジェクトの認識処理の手順を説明するフローチャートである。
【図９】ストローク認識の詳細について説明するフローチャートである。
【図１０】２ベクトルで構成された４つの記号を示す図である。
【図１１】認識する記号の一例を示す図である。
【図１２】回転方向の変化によって記号を認識する処理を説明するフローチャートである。
【図１３】円、楕円の判定を行う様子を説明する図である。
【図１４】Ｓの回転方向変化ポイントを示す図である。
【図１５】ト音記号の判定を行う様子を説明する図である。
【図１６】ユーザーが操作可能な認識実行ボタンが表示されるタッチパネルの一例を示す図である。
【図１７】（ａ）はシャープ記号を示し、（ｂ）はシャープ用のデータベースを示す図である。
【図１８】（ａ）はシャープ記号を構成する各ストロークの重心を示し、（ｂ）は重心の位置関係を示す図である。
【図１９】セーニョマークの各ベクトルの始点、終点座標、ベクトルＩＤ、及びストローク特徴量を示す図である。
【図２０】接続タイプの決め方を示し、当該ベクトルのＩＤと次のベクトルのＩＤとの関係を示す図である。
【図２１】回転方向の決め方を示し、当該ベクトルのＩＤと次のベクトルのＩＤとの関係を示す図である。
【図２２】２ベクトルストロークで構成された記号の決め方を示し、ベクトル１のＩＤとベクトル２のＩＤとの関係を示す図である。
【図２３】セーニョマークオブジェクトの位置ＩＤ配列を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら本発明の手書き音楽記号認識装置の実施形態を説明する。
図１は、手書き音楽記号認識装置１０の概略構成を示すブロック図であり、手書き音楽記号認識装置１０はタブレット端末（タッチ対応ＰＣを含む）により構成されている。
【００１１】
図１において、１１はバス、１２はＲＯＭ、１３はＲＡＭ、１４はＣＰＵ、１５はフラッシュメモリ、１６はネットワークインターフェイス、１７はタッチディスプレイ、１８はオーディオ出力装置、１９はＭＩＤＩ出力装置である。
【００１２】
手書き音楽記号認識装置１０の全体動作を制御するプログラムはフラッシュメモリ１５に記憶されており、これを読み出してＲＡＭ１３に展開し、ＣＰＵ１４が実行することにより動作する。
本実施形態の主要な構成要件である、タッチ情報取得手段は、タッチディスプレイ１７、ＲＡＭ１３、ＣＰＵ１４、フラッシュメモリ１５などにより構成され、タッチ位置が移動するごとにその位置情報を取得する。
【００１３】
ストローク情報記憶手段、オブジェクト情報記憶手段は、ＲＡＭ１３で構成される。
ストローク特徴量算出手段、ストローク認識手段、オブジェクト認識手段は、ＲＡＭ１３、ＣＰＵ１４、フラッシュメモリ１５、で構成される。ストローク情報記憶手段は、タッチ情報取得手段から得た位置情報から、指やタッチペンなどの入力手段の移動を示すベクトル情報を作成し、入力手段が画面に触れてから完全に離れるまでの一連のベクトルを１つのストローク情報として記憶する。
【００１４】
ネットワークインターフェイス１６は、認識した音楽記号情報をファイルとして他のハードウェアに保存、または保存済の音楽記号情報ファイルを読み込むためのものである。
オーディオ出力装置１８は、認識した音楽記号から音楽演奏情報を作成し、音響出力できるようにするために設けられている。
ＭＩＤＩ出力装置１９は、認識した音楽記号からＭＩＤＩ情報を作成し、ＭＩＤＩ出力できるようにするために設けられている。
【００１５】
＜ベクトル、ストローク、オブジェクトの説明＞
図２を参照しながらベクトル、ストローク、オブジェクトの関係を、セーニョマークを例にして説明する。
セーニョマークオブジェクトは、Ｓ字ストロークと、直線ストロークと、２つの点ストロークで構成される。直線ストローク、点ストロークは１ベクトルで構成されている。
【００１６】
（ベクトルＩＤのつけ方）
本実施形態においては、処理を簡略化するために、ベクトルを９つの種類に分類する。
図３に示すように、ベクトルの始点（x1,ｙ1）、終点（x2,ｙ2）から傾きａを式（１）より求める。
そして、x1,ｙ1,x2,ｙ2の位置関係を考慮してベクトルＩＤを決める。ｙ軸は下側が「＋」である。
【００１７】
【数１】
2015176491.tif 000003
【００１８】
|ａ|＞２
ｙ２＜ｙ１：下→上
ｙ２＞ｙ１：下→上
−２≦ａ＜−０．５
ｘ２＜ｘ１：左下→右上
ｘ２＞ｘ１：右上→左下
|ａ|≦０．５
ｘ２＞ｘ１：左→右
ｘ２＜ｘ１：右→左
０．５＜ａ≦２
ｘ２＞ｘ１：左上→右下
ｘ２＜ｘ１：右下→左上
ｘ１＝ｘ２
ｙ２＜ｙ１：下→上
ｙ２＞ｙ１：下→上
ｘ１＝ｘ２  かつ  ｙ１＝ｙ２
点
【００１９】
図２のストローク０のベクトル０の場合、
ａ＝（３５２−４００）／（４２１−４２４）＝１６であり、終点Ｙ座標が、始点Ｙ座標値よりも小さい（上）ので、ＩＤは下→上となる（図１９を参照）。
【００２０】
＜各特徴量の説明＞
図１９に、特徴量の例として、図２のセーニョマークの各ベクトルの始点、終点座標、ベクトルＩＤ、及びストローク特徴量を示す。
（始点終点距離）
この距離が規定値よりも小さい場合は、円のように閉じた図形と考えられ、大きい場合は弧線のように閉じていない図形と考えられる。
先頭ベクトルの始点座標を（x1,ｙ1）、最終ベクトルの終点座標を（x2,ｙ2）とすると、始点終点距離Ｄseは、次の式（２）で求める。
【００２１】
【数２】
2015176491.tif 000004
【００２２】
（ストロークが内接矩形の４点の座標と中心座標）
この値は、互いのストロークの位置関係を得るために使用される。
図４に、Ｓ字ベクトルの内接矩形と中心座標の例を示す。
矩形座標左は、全ベクトルの始点または終点の中で最も左のＸ座標。
矩形座標右は、全ベクトルの始点または終点の中で最も右のＸ座標。
矩形座標上は、全ベクトルの始点または終点の中で最も上のＹ座標。
矩形座標下は、全ベクトルの始点または終点の中で最も下のＹ座標。
中心座標は、矩形座標左と矩形座標右の中間のＸ座標、矩形座標上と矩形座標下の中間のＹ座標で表される。
【００２３】
（接続タイプ）
この値は、記号が滑らかどうか、角はあるかどうか、などを判断するために用いる。
当該ベクトルのＩＤと次のベクトルのＩＤから決める（図２０を参照）。本実施形態においては、鈍角：１か、直角：２か、鋭角：３か、いずれでもない場合：０、として決めている。
セーニョマークのストローク０では、最初のベクトルＩＤが１（下→上）、次のベクトルＩＤ８（右下→左上）なので、接続タイプは１（鈍角）となる。
【００２４】
（回転方向）
回転方向が変わった点は、記号を特定する手がかりとして重要である。
例えば、「ｆ」の１画目は、「Ｓ」のように滑らかにベクトルが連続しており、始点と終点が離れているが、「Ｓ」には回転方向が変わる点が１か所あるので、区別することができる。これも、当該ベクトルのＩＤと、次のベクトルのＩＤより決定する（図２１を参照）。セーニョマークのストローク０では、ベクトル０のＩＤが下→上（１）、ベクトル１のＩＤが右下→左上（８）なので、反時計回り（２）となる。
【００２５】
（回転角度）
図５に、当該ベクトルから次のベクトルへの回転角度の変化例を示す。この累計で、記号が円であるか多重円であるかを判別できる。
当該ベクトルの始点を（x11,ｙ11）、終点を（x12,ｙ12）とし、次のベクトルの始点を（x21,ｙ21）、終点を（x22,ｙ22）とすると、２つのベクトルのなす角Ｄｅｇ（°）は、以下の式で求まる。
【００２６】
【数３】
2015176491.tif 000005
【００２７】
（左右移動方向及び上下移動方向）
単純に上から下、左から右にかかれた線分のような記号かどうかを判定する。
ベクトルＩＤより求める。ベクトルＩＤが下→上（１）であれば、左右移動方向はなし（０）、上下移動方向は上（１）である。また、ベクトルＩＤが右下→左上（８）であれば、左右移動方向は左(１)、上下移動方向は上（１）となる。
【００２８】
（最左点、最右点、最上点、最下点のインデックス）
例えば、最左点Ｉｎｄｅｘが０（最初のベクトルの始点）、最右点ＩｎｄｅｘがＮ（最終のベクトルの始点）とした場合、最上点ＩｎｄｅｘがＮ／２付近であれば、下が開いた山形の記号と判断できる。図４の場合、最左点Ｉｎｄｅｘが１２、最右点Ｉｎｄｅｘが９、最上点Ｉｎｄｅｘが２、最下点Ｉｎｄｅｘが１１となる。
【００２９】
次に、図６のフローチャートを参照しながら本実施形態の手書き音楽記号認識装置の動作を説明する。図６は、音楽記号認識処理の手順を説明するフローチャートである。
Ｓ６１では、画面がタッチされたか否かを判断する。画面がタッチされていない場合は待機状態となる。画面がタッチされるとＳ６２に進む。
【００３０】
Ｓ６２では、座標配列を空にして、タッチされた座標を座標配列に記憶する。画面がタッチされてから、離れるまで指が動くたびに指の移動処理が行なわれる。この処理は、移動した指の座標を、座標配列に記憶する。
Ｓ６３では、タッチした指が画面から離れたか否かを判断する。画面から指が離れていない場合はＳ６２に戻り、指が画面から離れるまで、指が動くたびにＳ６２の指の移動処理が行なわれる。Ｓ６３の判断の結果、指が画面から離れるとＳ６４に進む。
【００３１】
Ｓ６４では、ストロークの生成が行なわれる。この処理は、先ず新規にストローク情報が生成される。
次に、最初の座標を始点、２番目の座標を終点とするベクトル座標が作成される。この時、ベクトルＩＤの設定も行なわれる。また、ベクトルの大きさも計算される。作成されたベクトル情報は、ストローク情報のベクトル配列に記憶される。
【００３２】
次に、２番目の座標を始点、３番目の座標を終点とするベクトル情報が作成され、ストローク情報に記憶される。図７の例、すなわち、セーニョマーク、ストローク０では、１２個のベクトル情報が作られる。全ての座標からベクトル情報を作成し、ストローク情報に記憶すると、ストローク特徴量を生成し、ストローク情報に記憶する。
【００３３】
次に、Ｓ６５では、一定時間内に画面がタッチされたか否かを判断する。一定時間内に次のストロークの入力が開始されればＳ６２に戻り、Ｓ６２〜Ｓ６４の処理を行い、新たなストロークを作成する。
【００３４】
図２では、Ｓ字ストロークの入力の後、一定時間内に直線ストロークが入力されて、さらに一定時間内に点ストロークが入力され、さらに一定時間内に点ストロークが入力される、例を示している。このような入力が行なわれた場合、それぞれのストロークが入力のたびに生成される。一定時間内に次のストロークの入力がない場合はＳ６６に進む。
【００３５】
Ｓ６６では、新たに１つのオブジェクトを生成するオブジェクト生成処理を行い、そのストローク配列にこれまで生成したストロークを記憶する。さらに、各ストロークの相対的な位置関係＝位置ＩＤを求めておく。位置ＩＤは、基準となるストロークに対する当該ストロークの位置を示すＩＤである。
本実施形態においては、同じ（０）、下→上（１）、左下→右上（２）、左→右（３）、左上→右下（４）、上→下（５）、右上→左下（６）、右→左（７）、右下→左上（８）の９種類であり、ベクトルＩＤと似たようなものである。
【００３６】
ここで、位置ＩＤの求め方を説明する。
基準となるストロークの内接矩形の中心座標を始点、当該ストロークの内接矩形の中心座標を終点とするベクトルを考え、このベクトルのベクトルＩＤを求める。ベクトルＩＤが下→上であれば、位置ＩＤは上、ベクトルＩＤが左→右であれば、位置ＩＤは右となる。
【００３７】
図２の例では、最初にＳ字ストロークの位置ＩＤを求める。Ｓ字ストロークは、最初のストロークなので、基準となるストロークは最後の点ベクトルとする。この場合、ベクトルの傾きａ＝（４２６−４４９）／（３７５−４２８）＝０．４３であり、始点のＸ座標が終点のＸ座標よりも大きいので、ベクトルＩＤは右→左となり、位置ＩＤは「左」となる。
【００３８】
次に、直線ベクトルＩＤを求める。この場合、Ｓ字ストロークの内接矩形の中心座標を始点、直線ストロークの内接矩形の中心座標を終点とするベクトルを考え、このＩＤを求める。
始点と終点のＸ座標が同じであり、また、始点のＹ座標が終点のＹ座標より小さいので、ベクトルＩＤは下→上となり、位置ＩＤは「上」となる。
以下、同様に位置ＩＤを求めると、「左」、「上」、「左」、「右」の４つのＩＤが求まる。これらを、図２３に示す、オブジェクトの位置ＩＤ配列に記憶する。
Ｓ６７では、オブジェクトへストロークと位置ＩＤを記憶したら、オブジェクトが何の記号なのか認識を行う。
Ｓ６７で行うオブジェクトの認識処理の手順を、図８のフローチャートに示す。
【００３９】
Ｓ８１では、ストロークの認識を行う。ストローク認識の詳細については後述する。
Ｓ８２では、他に未認識のストロークの有無を判断する。未認識のストロークがある場合にはＳ８１に戻り、未認識のストロークがない場合にはＳ８３に進む。
Ｓ８３では、オブジェクトの認識処理を行う。オブジェクトの認識処理については後述する。
図８に示すように、オブジェクトに記憶した各ストロークの認識を行った後に、オブジェクトの認識を行う。
【００４０】
図８のＳ８１で行なわれるストローク認識の詳細について、図９のフローチャートを参照しながら説明する。
Ｓ９１では、ベクトル数に応じた処理の分岐を行う。Ｓ９１の分岐処理において、１ベクトルで構成されたストロークであればＳ９２に進む。２ベクトルで構成されたストロークであればＳ９３に進む。それ以外のストロークであればＳ９４に進む。
【００４１】
Ｓ９２では、１ベクトルで構成されたストロークの認識処理が行なわれる。これにより、ベクトルＩＤによって、縦線、横線、斜め右上がり線、斜め左上がり線、点のいずれかの図形を認識する。例えば、ベクトルＩＤが右下→左上、または左上→右下であれば、斜め左上がり線となる。
【００４２】
Ｓ９３では、２ベクトルで構成されたストロークの認識処理が行なわれる。本実施形態においては、図１０に示す４つの記号を認識する場合について説明する。２つのベクトルＩＤによってどの記号であるか認識する際、記号の決め方を図２２に示す。図２２で示した以外の組み合わせの場合は、該当記号なしとなる。
【００４３】
図２２で示すように、ベクトル１のＩＤが左下→右上、ベクトル２のＩＤが右上→左下のように、２つの記号の可能性がある場合は、内接矩形が縦長か横長かを判断し、縦長であればブレスまたはアクセント、横長であればクレシェンドまたはデクレシェンドになる。
【００４４】
Ｓ９４では、それ以外（３ベクトル以上）のストロークの認識処理が行なわれる。
図１１に示す記号を認識する処理を、図１２のフローチャートを参照しながら説明する。
Ｓ１２１では、特徴量の回転方向を参照し、回転方向が変わった回数を数え、その数によって分岐する。回数が０であればＳ１２２に進み、回数が１であればＳ１２３に進み、回数が２であればＳ１２４に進む。本実施形態においては、回数０、１、２以外であれば該当記号なしとする。
【００４５】
（回転方向変化数が０の場合）
Ｓ１２２において、「Ｓ」、「ト音記号」以外の判定を以下の手順で行う。
（１）鋭角点があるかどうか調べる。鋭角点があれば該当記号なしとなる。
（２）回転角度の合計を求め、それにより記号を判定する。
【００４６】
回転角度≦１８０°
弧線の判定を以下の条件で行う。
・左右移動方向に「右」が有り、「左」が無い。
・最上点が始点および終点以外→上弧線
・最上点が始点または終点→下弧線
【００４７】
・左右移動方向に「右」が無く、「左」が或る。
・最上点が始点および終点以外→上弧線
・最上点が始点または終点→下弧線
【００４８】
・上下移動方向に「下」が有り、「上」が無い。
・最左点が始点および終点以外→左弧線
・最左点が始点または終点→右弧線
【００４９】
・上下移動方向に「下」が無く、「上」が有る。
・最左点が始点および終点以外→左弧線
・最左点が始点または終点→右弧線
・上記以外→該当記号なし。
【００５０】
回転角度＞３６０°→多重円
【００５１】
それ以外
円、楕円の判定を以下の手順で行う（図１３を参照）
１．最左点―最右点を結ぶ直線（長径とする）の方程式を求める。
２．各点から前記直線に下した垂線の足を求める。
３．各点とその垂線の足の長さが最も大きいものを楕円の半短径とする。
４．半短径×２（短径とする）の長径の比を求める。
・前記求めた比がほぼ１：１→円
・それ以外→楕円
【００５２】
（回転方向変化数が１の場合）
Ｓ１２３において、「Ｓ」の判定を行う。
図１４に「Ｓ」の回転方向変化ポイントを示す。
・回転方向変化ポイント前後のベクトルの数を調べ、弧を描ける数（３個）に満たなければ、該当記号無しとする。本実施形態の場合は、変化前が７ベクトル、変化後が５ベクトルあるので、条件を満たしている。
・回転方向変化ポイントまでと、それ以降の回転角度合計の絶対値が、共に１００°以上であれば「Ｓ」とする。本実施形態の場合、回転方向変化前が２５７°、後が２２０°であるので、「Ｓ」と判定できる。
【００５３】
（回転方向変化数が２の場合）
Ｓ１２４において、「ト音記号」の判定を行う（図１５を参照）。
「ト音記号」の判定の条件は以下の通りである。
・回転方向が時計回りから反時計回りに変化するポイント（回転方向変化ポイント１）と、反時計回りから時計回りに変化するポイント（回転方向変化ポイント２）がそれぞれ１つずつ存在する。
・回転方向変化ポイント１が内接矩形中心より上にある。
・回転方向変化ポイント２が内接矩形中心より下にある。
【００５４】
次に、図８のフローチャートのＳ８３で行なわれるオブジェクトの認識処理について説明する。
以下においては、セーニョマークの場合について説明する。書いた記号がセーニョマークとして判定されるには、以下の条件を満たす必要がある。
条件１：「Ｓ」、「斜め線右上がり」、「点」、「点」の４つのストロークで構成されている。
条件２：「Ｓ」と「斜め線右上がり」の内接矩形中心が近い位置にあること。
条件３：「Ｓ」または「斜め線右上がり」の内接矩形中心左右に「点」があること。
【００５５】
本実施形態では、ストローク０に対するストローク１の位置ＩＤが「上」なので、Ｘ軸方向に関しては近い位置にある。また、内接矩形中心のＹ座標も２０しか離れていないので、近いとみなせる（条件２はクリア）。
【００５６】
ストローク１に対してストローク２の位置ＩＤは「左」である。また、ストローク１の内接矩形中心のＹ座標とストローク３の内接矩形中心のＹ座標は３であり、ストローク１の内接矩形中心のＸ座標は、ストローク３の内接矩形中心のＸ座標より５０小さいので、ストローク３はストローク１の右に位置している。
よって、本実施形態では、条件１〜３を満たすため、セーニョマークと判定することができる。
【００５７】
オブジェクト認識処理においては、１つのストロークの入力が終了してから、一定時間内に別のストロークの入力があれば、その入力が完了するまで待機し、入力がなければ、未認識のストロークをオブジェクトに登録し、そのオブジェクトを認識する処理を行う。
【００５８】
図１６に示すように、タッチパネル１６０に、認識開始指示を行なわせるために、ユーザーが操作可能な認識実行ボタン１６１が表示される。ユーザーが全てのストローク（楕円、縦線）を書いた後、認識実行ボタン１６１が操作されると、認識を開始する。ＣＰＵ１４は、認識されていないストロークをオブジェクトに登録し、そのオブジェクトの認識を行う。
【００５９】
本実施形態の手書き音楽記号認識装置は、入力画面に予め五線１６２が表示されており、オブジェクトが円などと認識された場合、音符として認識し、その音高も特定できるようにしている。図１６の例では、オブジェクトの楕円部分が第１線と第２線との間にあるので、音程は「ファ」である２分音符１６３を認識した例を示している。
【００６０】
複数ストロークの検出について、シャープ記号「♯」を例として説明する。
図１７(ａ)に示すように、シャープ記号「♯」の場合はＳｔｒｏｋｅ１、Ｓｔｒｏｋｅ２、Ｓｔｒｏｋｅ３、Ｓｔｒｏｋｅ４、により構成されている。そして、このような複数ストロークで構成される記号は、図１７（ｂ）に示すようにデータベース（辞書データ）を有している。なお、辞書データは、１つのストロークが何の記号なのか記憶したものであり、実際の座標データや、それに基づいて作成されたベクトル情報が記憶されているものではない。
【００６１】
シャープ用のデータベース（辞書データ）は、Ｓｔｒｏｋｅ１は「右上斜め」、「横」、「右上斜め」、「横」である。
Ｓｔｒｏｋｅ２は、「横」、「右上斜め」、「右上斜め」、「横」である。
Ｓｔｒｏｋｅ３及びＳｔｒｏｋｅ４は、「縦」、「縦」、「縦」、「縦」である。
【００６２】
また、図１８（ａ）に示す各ストローク１〜４の重心は、図１８（ｂ）に示すように、１→２は、「下」、「下」、「右下」、「右下」である。
２→３は、「左上」、「上」、「上」、「左上」である。
３→４は、「右」、「右」、「右」、「右」である。
【００６３】
前述した実施形態においては、音楽記号を認識する例を示したが、本発明の手書き音楽記号認識装置は、「Ｃｏｄａ」などの文字や、数字なども認識することが可能である。
【００６４】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６５】
１０  手書き音楽記号認識装置
１１  バス
１２  ＲＯＭ
１３  ＲＡＭ
１４  ＣＰＵ
１５  フラッシュメモリ
１６  ネットワークインターフェイス
１７  タッチディスプレイ
１８  オーディオ出力装置
１９  ＭＩＤＩ出力装置
【図１】
2015176491.tif 000006
【図２】
2015176491.tif 000007
【図３】
2015176491.tif 000008
【図４】
2015176491.tif 000009
【図５】
2015176491.tif 000010
【図６】
2015176491.tif 000011
【図７】
2015176491.tif 000012
【図８】
2015176491.tif 000013
【図９】
2015176491.tif 000014
【図１０】
2015176491.tif 000015
【図１１】
2015176491.tif 000016
【図１２】
2015176491.tif 000017
【図１３】
2015176491.tif 000018
【図１４】
2015176491.tif 000019
【図１５】
2015176491.tif 000020
【図１６】
2015176491.tif 000021
【図１７】
2015176491.tif 000022
【図１８】
2015176491.tif 000023
【図１９】
2015176491.tif 000024
【図２０】
2015176491.tif 000025
【図２１】
2015176491.tif 000026
【図２２】
2015176491.tif 000027
【図２３】
2015176491.tif 000028