(57)【要約】【課題】よりユーザにとって使い勝手の良いサイン登録を実現すること。【解決手段】手書きのサインを装置１で入力し、サインデータを解析して、サインの書き方に基づき登録すべきサインか否かを判定する。登録すべきでないと判定した場合、サインの書き方に応じて、登録可能とするための対処メッセージを画面２に表示する。判定基準として、サインの軌跡における角度変化の累積値と、サインの記入速度の変動値と、サインに含まれる文字毎の大きさの変動値と、サインに含まれる文字の中心位置の変動値との、少なくともいずれか一つの値を用いる。登録すべきでないとの判定の根拠となった判定基準に基づいて、登録可能となるために必要な変形を導きだし、解析したサインに該変形を加えて表示してもよい。また、登録可能となるために必要な書き方を導きだし、導き出した書き方によってサインが書かれる様子を動画で表示してもよい。【選択図】図１
2007299226.tif 000002
【特許請求の範囲】
【請求項１】
手書きのサインを表わすサインデータを解析し、サインの書き方に基づき登録すべきサインか否かを判定する判定手段と、
前記判定手段によって登録すべきでないと判定した場合、前記サインの書き方に応じて、登録可能とするための対処方法を通知する通知手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記判定手段は、サインのストローク形状の特徴に基づき、登録の可否を判定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、判定基準として、サインの軌跡における角度変化の累積値と、サインの記入速度の変動値と、サインに含まれる文字毎の大きさの変動値と、サインに含まれる文字の中心位置の変動値との、少なくともいずれか一つの値を用いて、登録の可否を判定することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記通知手段は、登録すべきでないとの判定の根拠となった判定基準に応じた対処方法を、メッセージとして表示することを特徴とする請求項１、２または３に記載の画像処理装置。
【請求項５】
前記通知手段は、登録すべきでないとの判定の根拠となった判定基準に基づいて、登録可能となるために必要な変形を導きだし、解析したサインに該変形を加えて表示することを特徴とする請求項１、２、３または４に記載の画像処理装置。
【請求項６】
前記通知手段は、サインを登録すべきでないとの判定の根拠となった判定基準に基づいて、登録可能となるために必要な書き方を導きだし、導き出した書き方によって前記サインが書かれる様子を動画で表示することを特徴とする請求項１、２、３または４に記載の画像処理装置。
【請求項７】
手書きのサインを表わすサインデータを解析し、サインの書き方に基づき登録すべきサインか否かを判定する判定工程と、
前記判定工程によって登録すべきでないと判定した場合、前記サインの書き方に応じて、登録可能とするための対処方法を通知する通知工程と、
を備えることを特徴とする画像処理方法。
【請求項８】
手書きのサインを表わすサインデータを認証用に登録するためのサイン登録プログラムであって、コンピュータに、
手書きのサインを表わすサインデータを解析し、サインの書き方に基づき登録すべきサインか否かを判定する判定工程と、
前記判定工程によって登録すべきでないと判定した場合、前記サインの書き方に応じて、登録可能とするための対処方法を通知する通知工程と、
を実行させることを特徴とするサイン登録プログラム。
【請求項９】
請求項８に記載のサイン登録プログラムを格納したことを特徴とするコンピュータ読取可能な記憶媒体
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置、画像処理方法、サイン登録プログラム及び記憶媒体に関するものである。
【背景技術】
【０００２】
従来から、サイン認証用の画像処理装置及び方法は良く知られている（特許文献１参照）。この種の装置では、認証すべきサインを登録する機能を有していることがある。サインを登録する場合、入力されたサインの情報量を計数し、情報量が既定値以上の時に登録を許可し、情報量が既定値以下の時は、登録を許可しない装置が知られている。
【特許文献１】特開２００１−１５５１６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述した従来の画像処理装置では、登録されないときは、登録されないことを報せるメッセージが表示されるのみで、それをどう書き直したら良いかを報せる手段は存在しなかった。そのため、ユーザは、登録されるまで、何度も書き直すことを余儀なくされる場合があり、便利が良くなかった。
【０００４】
本発明は、上述の課題を解決するためになされたもので、よりユーザにとって使い勝手の良いサイン登録を実現することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明に係る装置は、手書きのサインを表わすサインデータを解析し、サインの書き方に基づき登録すべきサインか否かを判定する判定手段と、前記判定手段によって登録すべきでないと判定した場合、前記サインの書き方に応じて、登録可能とするための対処方法を通知する通知手段と、を備えることを特徴とする。
【０００６】
上記目的を達成するため、本発明に係る方法は、手書きのサインを表わすサインデータを解析し、サインの書き方に基づき登録すべきサインか否かを判定する判定工程と、前記判定工程によって登録すべきでないと判定した場合、前記サインの書き方に応じて、登録可能とするための対処方法を通知する通知工程と、を備えることを特徴とする。
【０００７】
上記目的を達成するため、本発明に係るプログラムは、手書きのサインを表わすサインデータを認証用に登録するためのサイン登録プログラムであって、コンピュータに、手書きのサインを表わすサインデータを解析し、サインの書き方に基づき登録すべきサインか否かを判定する判定工程と、前記判定工程によって登録すべきでないと判定した場合、前記サインの書き方に応じて、登録可能とするための対処方法を通知する通知工程と、を実行させることを特徴とする。
【０００８】
本発明に係る記憶媒体は、上記サイン登録プログラムを格納したことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、よりユーザにとって使い勝手の良いサイン登録を実現することができる。
【発明を実施するための最良の形態】
【００１０】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１１】
（第１実施形態）
図１は、本発明に係る画像処理装置の第１実施形態としてのサイン認証装置１を使用するシステムを表わす図である。サイン認証装置１は、表示一体型入力部２、及び、ネットワーク３を介して他のパーソナルコンピュータ４と接続するためのインターフェイスを備えている。更に、記録メディアを差し込むスロットを備えても良い。ユーザは、サイン認証装置１の入力部２に対して、手書きのサインを入力したり、その他の操作指示等を行ったり、メニュー等の選択を行ったりできる。入力部２には、入力されたサイン軌跡や、警告メッセージ等が表示される。サイン認証のデータが付加された親展メールを、パーソナルコンピュータ４からサイン認証装置１に送ることができる。
【００１２】
図２はサイン認証装置１の内部構成を示すブロック図である。表示一体型入力部２は、座標入力部５と、画像表示部６を備えている。また、サイン認証装置１はＣＰＵ７、ＲＡＭ８、ＲＯＭ９、ＨＤ１０、を備えている。座標入力部５は、透明抵抗膜デジタイザ等で構成されていてシステムバス１２経由でＣＰＵ７に接続している。画像表示部６は、液晶表示素子、液晶制御回路、表示メモリから構成され、システムバス１２経由でＣＰＵ７に接続している。ＣＰＵ７からの指示で、画像の表示が実行される。
【００１３】
ＣＰＵ７は、システムバス１２を介して、ＲＡＭ８、ＲＯＭ９、と接続しており、ＲＯＭ９に記憶されているプログラムによって処理動作を行う。
【００１４】
ＲＡＭ８は、ワーク領域として使われる。ＲＯＭ９は、サイン登録時の登録サイン筆跡評価処理、評価結果による再入力時のアドバイス表示処理用のデータやプログラムを記憶している。ハードディスク１０は、登録サインデータ辞書や一般的なファイルや、設定情報等を記憶している。その他、サイン認証装置１は、ローカルエリアネットワークと接続するためのインターフェースカード１１を備え、それにより他のパーソナルコンピュータと通信を行う。
【００１５】
図３は、サイン認証装置の機能構成図である。座標入力部５の入力領域をなぞる軌跡（ＸＹの位置座標データ列）が、手書きのサイン軌跡として入力される。サイン特徴量抽出部１３は、入力部５で入力したＸＹ位置座標データから、サイン認証に利用する特徴量を抽出する。抽出された特徴データは、特徴量判定部１４とサイン特徴登録部１５に送られる。
【００１６】
特徴量判定部１４は、複数の特徴量の種類別に、過去に収集した複数人のサインデータから統計的手法等で決定した基準値と比較し、サイン登録を許可するか否かを決定する。否と決定した場合はその特徴量種別と特徴量の値を判定パターン別対処メッセージ作成部１７に送る。サイン特徴登録部１５は、サイン特徴量抽出部１３から送られてくる抽出された特徴データと、設定されているサイン入力者のユーザＩＤ等と、入力されたサイン軌跡の位置座標データ等を、サイン特徴辞書１６に登録する。
【００１７】
サイン特徴辞書１６は、サイン入力者のユーザＩＤ別に、登録されたサインデータの特徴データが記録されている。このサイン特徴辞書１６は、図２のＨＤ１０の特定ファイル内に構築されている。判定パターン別対処メッセージ作成部１７は、特徴量判定部１４から送られてくる、特徴量種別の特徴量の値に対応した、対処方法を表わすテキストメッセージを作成する。表示部６は、メッセージ作成部１７で作成されたテキストメッセージ等を表示する。
【００１８】
図４、図５は入力されたサインの筆跡例である。図６は、識別するサイン軌跡の特徴条件と各特徴条件に対応する対処メッセージを表した表である。特徴条件１は、ストロークの累積角度変化値であり、直線のみで構成されるサインを書かれた場合その累積角度変化値は低い値になる。例えば、図４で表したサイン軌跡であれば、ほぼ全ての線が直線で構成されているため、累積角度変化値が小さく、条件１に相当する。累積角度変化値が小さいと、そのサイン自体を見られた場合に、真似されるおそれがある。このため、「直線で構成されているために真似されやすいサインです」とのメッセージを表示させる。図５のような続け字のサイン軌跡にすると、文字の続け方や、記入スピードの変化等があるとより真似される恐れが低くなる。
【００１９】
特徴条件２は、ストロークを書く速度の変化値である。例えば、一定速度で筆記した場合この速度変化値は小さくなる。一定速度で書かれたサインは真似しやすいので、登録を拒絶する。その対処方法としては、書く時に、直線部分は早く書き、曲り角、変極点や、終点部分は遅くする等の方法がある。したがって、「一定の速度で書かないように」とのメッセージを表示する。
【００２０】
条件番号３は、標準パターンとの形状相違度が小さいかどうかを測定する。例えば、標準的な書き方と同一だと、この形状相違度は低くなり、その入力単語等が判ると、予想されて書かれる書き方でサイン認証が通ってしまう可能性がある。その為、続け字や、草書の書き方を推奨する。つまり、「標準的な書き方に近いので、異なる書き方を試してください」とのメッセージを表示する。
【００２１】
条件番号４は、各文字の大きさの相違度が小さいかを測定する。各文字を異なる大きさで書けばより予測されにくいサイン軌跡になる。その為、各文字を異なる大きさで書いた方が良いと推奨する。つまり、「各文字を異なる大きさで書いた方が良さそうです」とのメッセージを表示する。
【００２２】
条件番号５は、各文字の位置の相違度が小さいかを測定する。各文字を異なる位置で書けばより予測されにくいサイン軌跡になる。そこで「各文字を異なる位置で書いた方が良さそうです」とメッセージを表示する。
【００２３】
この実施の形態では、特徴条件として５種類を説明したが、この５種類のいずれかを単独で用いても良いし、２種類以上の組合せで用いても構わない。
【００２４】
図７はサイン登録画面の一例を示す図である。１８の領域がサイン入力領域であり、此処にペンを用いて軌跡を入力するとその軌跡の位置座標データがサイン登録処理に渡される。１９は、登録ボタンであり。この領域をペンで押下すると、１８の領域に書かれている軌跡データをサイン登録する処理を開始する。２０は、クリアボタンである。この領域をペンで押下すると、１８の領域に書かれている軌跡データがクリアされる。
【００２５】
図８はサイン登録処理後の警告画面例である。サイン認証装置１のＣＰＵ７は、登録ボタン１９のタッチをトリガーにして領域１８に書かれている軌跡データを評価する。その結果、登録すべきでないと評価されると、その軌跡の特徴に対応したメッセージ２１が警告表示される。
【００２６】
図９は登録サインデータのチェック処理を表したフローチャートである。図１０は各ストロークの累積角度変化計測処理を表したフローチャートである。図９、図１０のフローチャートに沿って、処理を説明する。
【００２７】
ステップ２２において、登録サインデータのチェック処理を開始する。ワーク領域の確保や、変数の初期化が行われる。ステップ２３において、ストローク記憶バッファに複数ストロークから構成されるサインデータのＸＹ位置座標データ列が記憶される。図７の領域１８に書かれた軌跡データが、登録ボタン１９押下時にサインデータ記憶領域に記憶される。軌跡の座標データは、一般的な位置座標入力であるデジタイザーからもたらされるものである。例えば、ＸＹ座標データが秒間１００点等のサンプリングレートで測定される。また、デジタイザーによっては筆圧情報も測定できるものがあるが、その場合は、筆圧情報も利用する。空中の座標も測定できるものでは、１筆と１筆の軌跡データ間の空中座標データを利用する。
【００２８】
ステップ２４において、各ストロークの累積角度変化を加算する処理を行う。直線でストロークが構成されていれば、値は小さくなり、多くの曲線で構成されているサインであれば、この累積角度変化値は大きくなる。但し、デジタイザーの性能によっては、微小な入力ノイズによって直線を書いたのに、直線が真直ぐに書けない場合もあるが、そのような微小な変化は誤差として無視するように処理を行う。
【００２９】
ステップ２５において、ステップ２４で求めたサイン軌跡データの累積角度変化が規定値ΔＲＤ１以上かを判断する。ΔＲＤ１以上であれば、ステップ２６に進み、ΔＲＤ１以下であれば、ステップ２８に進む。規定値ΔＲＤ１は、数人のサンプルデータを書かせ、それを真似できるか等のテストにより規定する。また、ユーザ設定によって、その値をあるレベルで可変にする構成も簡単に実現できる。
【００３０】
ステップ２６において、入力ストロークの位置座標点間の速度変化を加算する処理を行う。ここで「位置座標点」とは、一定時間毎のペンの位置である。各ストロークにおいて、始点から終点までの、各位置座標点間の距離を次の座標点間の距離と比較し、各距離の差分を加算していく。但し微小な差分は加算しない。１ストロークの距離の差分を加算したら、次のストロークを処理し、全ストロークの距離の差分を加算することによって、速度変化の累積値を求める。
【００３１】
ステップ２７において、サインデータの累積速度変化値が規定値ΔＴ以下であるかのチェックを行う。規定値ΔＴ以下であればステップ３０に進み、規定値ΔＴ以下でなければステップ２９に進む。規定値ΔＴは、数人のサンプルデータを書かせ、それを真似できるか等のテストにより規定する。試験用データと、それによる認証結果と、また、真似したサンプルデータと認証結果から統計を取り規定する。また、ユーザ設定によって、その値をあるレベルで可変にする構成も簡単に実現できる。また、ユーザの登録データを元にこの規定値を修正するも簡単にできる。例えば、複数ユーザの登録を行えるシステムである場合では、登録されているサインデータの累積速度変化値の最小値と規定値ΔＴと比較し変更する処理を設けることができる。最小値の方が規定値ΔＴより、１.５倍ほど大きい場合に、最小値×０.９＝新な規定値ΔＴとする。
【００３２】
ステップ２８において、登録サインがほぼ直線で構成されている時の対応メッセージを作成する処理を行う。この場合のメッセージは、図６の表に記載してある条件番号１の対処メッセージ：「直線で構成されている為に、真似されやすいサインです。曲線が混じる文字（例えば平仮名等）を追加するか、草書体又は続け字がお勧めです。」である。図２のＲＯＭ９内に記憶されている条件番号別の対処メッセージのテキストコードを読み出し、対処メッセージバッファに記憶する。
【００３３】
さらに、直線部分と一部に曲線部分がある様な登録サインデータの場合は、サインデータ評価後に直線部分の強調表示を行う構成例も考えられる。図７の入力領域１８に書かれている登録サインデータの軌跡に対して、直線部分の軌跡の色を変て強調し、その部分の変更を示唆する。
【００３４】
ステップ２９において、標準辞書とのマッチングを行い、その標準パターンとの相違度を計算する処理を行う。この処理は、一般的な文字認識処理と同様な処理である。即ち、一般的な書き方のサインデータを登録すると、もしサインとして登録する文字列が単語等で容易に類推できるものであった場合には、真似される恐れがあるわけである。テキスト入力のパスワード方式の認証システムであると単語が解読されてしまうと認証されてしまうが、手書き軌跡のサインであると同じ単語でも、書き方は無限に存在できるので、標準的な書き方でなければ、類推するのは不可能と考えられる。
【００３５】
処理構成例としては、従来からある文字切りアルゴリズムで、サインデータとして入力された軌跡データを１文字単位に区切る。例えば、図７のサインデータ「新井」であれば、文字切りを行うと「新」「井」の２文字に区切られる。その後に１文字単位の認識処理を行う。区切られた「新」と同じ画数の辞書の標準パターンとマッチング処理を行いその、標準パターンとの相違度を計算する訳である。相違度が低ければ、標準パターンとの同じ書き方であるので、類推による認証の恐れがある。もし、標準パターンに存在しないような書き方であれば、相違度は高くなり、類推による認証の恐れはまずありえない。
【００３６】
また、さらに標準パターンとの相違度が低い場合は、その認識結果の文字列と単語辞書とのマッチングを計る処理も考えられる。もし、単語や固有名詞と一致すると、より類推による認証の恐れが高いと考えられる。単語辞書とのマッチングでなければ、文字の遷移確立辞書による確立の度合いが高いほどＮＧとする処理等が考えられる。
【００３７】
ステップ３０において、一定のタイミングで書かれている時の対処方法メッセージを作成する処理を行う。この場合のメッセージは、図６の表に記載してある条件番号２の対処メッセージ：「一定のタイミングで書かれている為、真似されやすいです。書く時にメリハリをつけて書いて下さい」である。
【００３８】
さらに、書かれたサインデータの軌跡データストロークの１ストロークは、メリハリがあるが、他のストロークは一定のタイミングで書かれている場合等を考える。一定タイミングで書かれたストロークのみを強調することにより、良い書き方を示唆する構成も考えられる。例えば、図７の１８に書かれた「新井」の「新」の方が一定間隔で書かれているとする。評価する前の入力時は軌跡を黒い表示で描画し、次にステップ２７の評価を行う訳であるが、１ストローク毎の累積速度変化値が０に近いストロークの場合は、そのストロークを赤い色で再描画する処理を行う。そうすると、「新井」の例では、「新」が赤い色で描画され、「井」は黒い色での描画のままとなり、「黒い軌跡と同じ様な書き方で、赤い色で描画している軌跡を書き直して登録して下さい。」の様なメッセージを表示して、ユーザに理解させることができる。図２のＲＯＭ９内に記憶されている条件番号別の対処メッセージのテキストコードを読み出し、対処メッセージバッファに記憶する。
【００３９】
ステップ３１において、標準パターンとの相違度がＭＴ以下であるかをチェックする。標準パターンとの相違度がＭＴ以下であればステップ３２に進み、標準パターンとの相違度がＭＴ以下でなければステップ３４に進む。ＭＴの値は、ステップ２９で行う認識処理アルゴリズムと標準パターンに依存するが、基本的に正常に認識される場合だとそれは、その登録サインは標準パターンと同一であるのでその相違度はＭＴ以下である。サンプルのサイン登録データと標準パターンと認識処理を行い、ＭＴの値を統計的に決定する。もしも、略字、続け時、草書対応の認識アルゴリズムを用いる場合は、辞書やアルゴリズム内の処理モードを変更することにより楷書のみの標準パターンに限定するように処理する必要があるかもしれない。
【００４０】
ステップ３２において、標準的書き方の時の対処方法メッセージを作成する。ここでのメッセージは、図６の表に記載してある条件番号３の対処メッセージ：「標準的辞書の書き方に近い為、異なる書き方か、異なる文字を試してください。例えば、草書、続けじ、英文字の筆記体など」である。図２の９のＲＯＭ内に記憶されている条件番号別の対処メッセージのテキストコードを読み出し、対処メッセージバッファに記憶する。
【００４１】
さらに、登録されるサイン軌跡が、２文字以上の場合には、何れかの文字が標準パターンで書かれていれば、他の文字と区別して表示すればよい。例えば「新井」と書いた場合に「新」は続け字なので４筆で書かれていて、「井」は標準的な４筆で書かれている場合等であれば、「井」の４筆の書き方は標準パターンに存在する為、「井」の字を強調表示する。このように、１文字単位で、認識した後に相違度がＭＣＴ以下かをチェックし、以下であれば、その１文字に対応する軌跡を他の文字と異なる色で再描画する処理を行なう。
【００４２】
ステップ３３において、作成したメッセージの表示処理を行う。ステップ２８等で作成された対処メッセージを図８の２１の様な一般的なポップアップウィンドウを作成し、その中に対処メッセージバッファに記憶されているテキストコードを表示する。このポップアップウィンドウはウィンドウ外をペンで押下するとクローズする。
【００４３】
ステップ３４において、サインデータ登録処理へ移行する。全てのサイン登録条件に合致すれば、サイン登録処理へ移行し、登録サインデータ処理を終了する。
【００４４】
このフローチャートでは、特徴条件としては、図６の１、２、３、を使った例を説明した。同様に図６の特徴条件４、５を追加することは容易に実施できる。
【００４５】
特徴条件４であれば、例えばステップ２９の代りに、各文字の大きさの相違度を検出する処理を行う。まず登録サインデータを従来からある文字切りアルゴリズムで、サインデータとして入力された軌跡データを１文字単位に区切る。例えば、図７のサインデータ「新井」であれば、文字切りを行うと「新」「井」の２文字に区切られる。
【００４６】
そして、「新」「井」の各文字の外接矩形を求め、その外接矩形の面積を求め、各文字の面積を比較し、差分を相違度として検出する。即ち、同じ大きさで書けば、相違度は小さくなり、ばらばらな大きさで書くと相違度は大きくなる。大きさの相違度が所定の閾値より大きければステップ３２に進み、図６の特徴条件４の対処メッセージ「各文字の大きさを異なる大きさで書いた方が予測しずらいです」を対処メッセージ記憶バッファに記憶する処理を行えば良い。
【００４７】
特徴条件５であれば、例えばステップ２９の代りに、各文字中心位置のＹ軸方向の相違度検出処理を行う。まず登録サインデータを従来からある文字切りアルゴリズムで、サインデータとして入力された軌跡データを１文字単位に区切る。例えば、図７の１８のサインデータ「新井」であれば、文字切りを行うと「新」「井」の２文字に区切られる。
【００４８】
そして、「新」「井」の各文字の外接矩形を求め、その外接矩形の中心位置のＹ座標を求める。各文字のＹ座標の差分を計算し、加算する。図７のように横に揃えて書くと、大体差分は微少な値になる。微少な差であれば、ステップ３２に進み、図６の特徴条件５の対処メッセージ「各文字を異なる位置に書いた方が予測しずらいです。」を対処メッセージ記憶バッファに記憶する処理を行えば良い。
【００４９】
次に各ストローク累積角度変化計測処理を図１０のフローチャートを用いて詳細に説明する。
【００５０】
ステップ３６において、各ストローク累積角度変化計測処理を開始する。ワーク領域等の確保を行う。ΔΣを０に初期化する。ステップ３７において、１ストロークの軌跡位置座標データ列をバッファに読み込む処理を行う。このステップにおいて、順次入力順に登録サインデータの軌跡を読み込んでいく。ステップ３８において、ｎの値をｎ＝１で初期化する。
【００５１】
ステップ３９において、ステップ３７で読み込んだストローク位置座標点のｎ番目の位置座標ＸＹを読み込む処理を行う。Ｘ１＝ｘ（ｎ）、Ｙ１＝ｙ（ｎ）とする。ステップ４０において、次の点であるｎ＋１番目の位置座標ＸＹを読み込む処理を行う。Ｘ２＝ｘ（ｎ＋１）、Ｙ２＝ｙ（ｎ＋１）とする。ステップ４１において、次の点であるｎ＋２番目の位置座標ＸＹを読み込む処理を行う。Ｘ３＝ｘ（ｎ＋２）、Ｙ３＝ｙ（ｎ＋２）とする。ステップ４２において、（Ｘ１、Ｙ１）と（Ｘ２、Ｙ２）を結ぶ直線とＸ軸が構成する角度を求める処理を行う。これは一般的な、数学のアルゴリズムを使用して角度を求めΔ１に記憶する。
【００５２】
ステップ４３において、（Ｘ２、Ｙ２）と（Ｘ３、Ｙ３）をを結ぶ直線とＸ軸が構成する角度を求める処理を行う。これは一般的な、数学のアルゴリズムを使用して角度を求めΔ２に記憶する。ステップ４４において、Δ１とΔ２の角度差分の絶対値を求めてΔΣに加算する処理を行う。これにより軌跡の角度の変化値を加算できるわけである。ステップ４５において、読み込まれている軌跡の座標点に次の点ｎ＋３の座標点データがあるかをチェックする。全ての点の座標点データが処理されていれば、ステップ４７に進み、まだ座標点があればステップ４６に進む。ステップ４６において、座標点のカウンタをカウントアップする処理を行う。ｎ＝ｎ＋１にする。
【００５３】
ステップ４７において、次のストロークがあるかをチェックする。次のストロークがあればストロークカウンタをアップしステップ３７に進む。全てのストロークの処理が終了していればステップ４８に進む。ステップ４８において、各ストローク累積角度変化計測処理を終了する。ワーク領域等を開放し、各ストローク累積角度変化ΔΣを出力する。
【００５４】
このように処理を構成することにより、ユーザがサインを登録しようとする時に、登録されるサインデータが軌跡の特徴条件から真似されやすいサインデータであることが検出さる。検出された時に、その特徴条件毎に用意された対処メッセージを表示するサイン認証装置を提供できる。
【００５５】
また、さらに、サインの一部が真似されやすい軌跡である場合は、同様に部分的特徴条件を計測し、その部分を強調表示できるので、ユーザはそれにより次に的確に真似されにくいサインデータを書いて登録することができる。
【００５６】
上記実施形態では、メッセージの通知方法として、文字を表示させる方法を用いたが、本発明はこれに限定されるものではない。他にも音声で通知しても良いし、他の方法でもよい。
【００５７】
本実施形態によれば、入力されたサインデータの特徴に応じて登録の可否を判定し、登録を拒否する際には、判定した特徴に応じた対処方法をユーザに通知する。これにより、真似されやすい、単純なサインの登録を効果的に防止し、ユーザは容易に登録可能なサインを再入力できる。これによりセキュリィティが強化され、且つユーザにとって使いやすいサイン登録・認証システムを提供できる。
【００５８】
つまり、個々の特徴の複雑度に応じた対処方法として、具体的なメッセージを表示することにより、ユーザにどのようなサインを記入すれば良いかを提示する。このため、ユーザは、登録可能なサインの再入力をより容易に行なうことができる。
【００５９】
また、更にサイン認証の評価閾値をユーザが指定できるようにしても良い。複雑度の判定閾値を変更する手段を設ければ、ユーザが指定したセキュリィティ強度に応じて、ある程度簡単なサインでも登録可能とするか、より難しいサインでなければ登録できないようにするかを変更できる装置を提供できる。それにより、色々な環境で手書きによるサイン認証を使うことができるようになる。
【００６０】
（第２実施形態）
次に本発明の第２実施形態に係る装置について説明する。第１実施形態では、次に書くべき軌跡の書き方について、テキストでの指示をした。しかし、メッセージを理解できる人にとってはそれで十分であるが、ユーザによっては理解できない場合もある。
【００６１】
そこで、第１実施形態での処理に加え、判定パターン別のサインデータ変形処理の種類を提示して選択させ、選択された通りに変形処理を行なう。これにより、入力されたサインデータを変形し、このように書けば良いというサンプルを表示する。
【００６２】
図１１は、第２実施形態の構成図である。図３と同一の構成は同一の符号を付して説明を省略する。判定パターン別サインデータ変形処理種類選択部４９は、特徴量判定部１４が抽出した特徴量の種別と値からサインデータの変形処理の種類を決定する。
【００６３】
変形処理部５０は、選択部４９によって選択された変形処理を、サイン軌跡データに適用し、入力サインサンプルを作成する。そして、作成した軌跡データを表示部６に送出する。
【００６４】
図１２は入力されたサインデータ例である。図１３は入力されたサインデータ例を変形した例である。図１４は、識別するサイン軌跡の特徴条件と各特徴条件に対応する変形処理方法を表した表である。
【００６５】
条件番号１は、ストロークの累積角度変化が少ないことが特徴条件である。それに対応する変形処理方法は、入力されたサインデータのストローク間をランダムに接続し、その接続線分内の点はある位置範囲内でランダム位置を変更して描画する方法で変形する。条件番号２は、ストローク位置座標点間の書く速度変化累積度が少ないことが特徴条件である。それに対応する変形処理方法は、入力されたストローク点が密集している部分では位置座標点を削除し、またストロークの位置座標点が疎な部分では位置座標点を追加することにより変形する。
【００６６】
条件番号３は、標準パターンとの形状相違度が小さいことが特徴条件である。それに対応する変形処理方法は、ストローク間をランダムに接続し、その接続線分内の点は、ランダムに描画し、ストローク点間の距離をランダムにするために、座標点を削除したり、新設したりする。条件番号４は、各文字の大きさの相違度が小さいことが特徴条件である。それに対応する変形処理方法は、各文字の大きさをランダムに縮小したり、拡大したりする。条件番号５は、各文字の位置の相違度が小さいことが特徴条件である。それに対応する変形処理方法は、各文字の位置をランダムに移動することにより変形する。
【００６７】
図１５、図１６、図１７、図１８のフローチャートに沿って処理を説明する。図１９は、入力サイン軌跡と変換後のサンプル表示例である。これらのフローチャート中、図９のフローチャートと同じ処理については同じ符号を付してその説明を省略する。
【００６８】
まず、ステップ４９において、変形処理選択処理を開始する。ワーク領域の確保や、変数の初期化が行われる。次に、ステップ２３、２４、２６の処理を経て、ステップ５０において、各文字の相対的大きさ相違度を求める処理を行う。まず登録サインデータを従来からある文字切りアルゴリズムで、サインデータとして入力された軌跡データを１文字単位に区切る。例えば、図７のサインデータ「新井」であれば、文字切りを行うと「新」「井」の２文字に区切られる。
【００６９】
そして、「新」「井」の各文字の外接矩形を求め、その外接矩形の面積を求め、各文字の面積を比較し、差分を相違度として検出する。即ち、同じ大きさで書けば、相違度は小さくなり、ばらばらな大きさで書くと相違度は大きくなる。このように各文字の大きさを求め差分を計算し、差分の絶対値を加算していく。
【００７０】
ステップ５１において、各文字の位置の相違度を求める処理を行う。各文字中心位置のＹ軸方向の相違度検出処理を行う。まず登録サインデータを従来からある文字切りアルゴリズムで、サインデータとして入力された軌跡データを１文字単位に区切る。例えば、図７のサインデータ「新井」であれば、文字切りを行うと「新」「井」の２文字に区切られる。
【００７１】
そして、「新」「井」の各文字の外接矩形を求め、その外接矩形の中心位置のＹ座標を求める。各文字のＹ座標の差分を計算し、加算する。図７の樣に横に揃えて書くと、差分は微少な値になる。
【００７２】
ステップ５２において、角度変化値が（規定値ΔＲＤ１×セキュリティ度）以上であるかをチェックする。この所定値以上であればステップ５４に進み、以下であればステップ５３に進む。セキュリティ度とは、サイン認証の認証精度をどのくらいにするかのユーザ設定値である。セキュリティ度を厳しく設定すると、他者が真似をすることは難しいが、ユーザ自身でも極く稀に失敗することが発生する。認証回数が多い場合には、認証精度を低くして、利便性を上た方が良いので、セキュリティ度を低く設定する。一番厳しいセキュリティ度を１００％とし、一番緩やかなセキュリティ度を１０％とする。セキュリティ度に対応して、この特徴量の閾値も変更するように、閾値を、（規定値ΔＲＤ１×セキュリティ度）と定義する。
【００７３】
ステップ５３において、速度変化が（規定値ΔＴ×セキュリティ度）以下であるかのチェックを行う。速度変化が閾値以下であれば、ステップ５８に進み、閾値以下でなければステップ５７に進む。すなわち、角度変化値が小さく、速度変化値が小さければ変形処理３が適応され、角度変化値が小さく、速度変化値が大きい場合は変形処理１が適応される。
【００７４】
ステップ５４において、速度変化が（規定値ΔＴ×セキュリティ度）以下であるかのチェックを行う。それ以下であれば、ステップ５６に進み、そうでなければステップ５５へ進む。この処理により、角度変化が大きいが速度変化が小さいときはステップ５６の変化処理２が選択される。
【００７５】
ステップ５５において、サインデータ登録処理へ移行する。軌跡の特徴量によって、真似しずらいサインデータであることが判定されると、サインデータ登録処理が実行される。ステップ５６において、変形処理２を選択する処理を行う。変形処理２の処理プログラムを処理プログラム記憶バッファに読み込む。ステップ５７において、変形処理１を選択する処理を行う。変形処理１の処理プログラムを処理プログラム記憶バッファに読み込む。ステップ５８において、変形処理３を選択する処理を行う。変形処理３の処理プログラムを処理プログラム記憶バッファに読み込む。ステップ５９において、変形処理選択処理を終了し、サインデータの変換変形表示処理へ移行する。この図１５の処理で使ったワーク領域等を開放する。
【００７６】
図１６のフローチャートで、変形表示処理を説明する。ステップ６０において、変形表示処理を開始する。ワーク領域等を確保し、変数等を初期化する。ステップ６１においては、ステップ５６、５７、５８で選択され、処理プログラム記憶バッファに記憶されている処理手順を順次読み込む。
【００７７】
次に、ステップ６２において、入力サインデータを読み込む。図７に書かれた「新井」の様な入力サインデータのＸＹ位置座標データ列をサインデータ記憶バッファに読み込む。ステップ６３において、読み込んだサインデータを、記憶している変形処理手順により変換し位置座標データ列を作成する。
【００７８】
ステップ６４において、変換位置座標列の表示を行う。変換された位置座標列も入力された位置座標列もデータ構造は同じなので、入力サインデータと同様に図７の領域１８の中に表示を行えば良い。例えば、図１９で説明すると、入力サインデータ９７が変形処理１により変換され入力サイン例９８として表示される。または、入力サインデータ９９が変形処理２により変換され入力サイン例１００として表示される。又は、入力サインデータ１０１が変形処理４により変換され入力サイン例１０２として表示される。又は、入力サインデータ１０３が変形処理５により変換され入力サイン例１０４として表示される。ステップ６５において、処理を終了する。確保したワーク領域等の開放を行う。
【００７９】
図１７のフローチャートを用いて変形処理１を説明する。ステップ６６において、変形処理１を開始する。ワーク領域等を確保し、ストロークカウンタｎ＝１で初期化する。ステップ６７において、ｎ番目のストロークデータを読み込む処理を行う。ｎ番目のストロークデータのＸＹ位置座標データ列をストローク記憶バッファに記憶する。ステップ６８において、ｎ番目のストロークの終点座標ＸＹを記憶する処理を行う。ＳＴｎｅｎｄ＝（ＸＥ、ＹＥ）とする。ステップ６９において、ｎ番目のストロークの始点座標ＸＹを記憶する処理を行う。ＳＴｎｓｔａｒｔ＝（ＸＳ、ＹＳ）とする。ステップ７０において、ストロークの番号ｎ＝=１ならｎ＝ｎ＋１してからステップ６７に進み、ｎが１以外で、ｒａｎｄ（）＝=０ならステップ６７に進み、ｒａｎｄ（）＝=０以外ならステップ７１に進む。この処理により、ランダムにある番号の終点と次の順番の軌跡の始点を接続する処理を行える。
【００８０】
ステップ７１において、ＳＴ（ｎ−１）ｅｎｄとＳＴｎｓｔａｒｔ間を接続する軌跡の座標データを作成開始する。、ＳＴ（ｎ−１）ｅｎｄとＳＴｎｓｔａｒｔ間の位置座標データ列に軌跡データを追加するための処理を行う。具体的には挿入位置をマークする。ステップ７２において、ＳＴ（ｎ−１）ｅｎｄとＳＴｎｓｔａｒｔ間の距離を計算する。計算した距離をｓｔｌｅｎｇｔｈに記憶する。座標点間の計算は一般的な距離計算式でかまわない。ステップ７３において、ＳＴｎの平均記入速度を求める処理を行う。平均記入速度を求めＳＴｎｄｔに記憶する。ｎ番目のストロークの始点から終点までの全座標点の距離を加算していきその全長を座標点数で除算して平均距離を求めそれを平均記入速度とする。
【００８１】
ステップ７４において、作成する座標点数と加算データｄｘ、ｄｙを求める。作成座標点数ＳＴＸＰは＝ｓｔｌｅｎｇｔｈ／ＳＴｎｄｔとする。ｄｘ＝（ＳＴｎｅｎｄＸ−ＳＴ（ｎ−１）ｅｎｄＸ）／作成座標点数、ｄｙ＝（ＳＴｎｅｎｄＹ−ＳＴ（ｎ−１）ｅｎｄＹ）／作成座標点数とする。ステップ７５において、作成点の初期化を行う。ｃ＝１、Ｘｃ＝ＳＴ（ｎ−１）ｅｎｄＸ、Ｙｃ＝ＳＴ（ｎ−１）ｅｎｄＹとする。ステップ７６において、座標点を作成し、作成バッファに記憶する。Ｘｃ＝Ｘｃ＋ｄｘ、Ｙｃ＝Ｙｃ＋ｄｙとして作成バッファに記憶する。この時ｄｘ、ｄｙをそのままにすると直線で継がるが。Ｘｃ＝Ｘｃ＋ｄｘ（ｒａｎｄ（））、Ｙｃ＝Ｙｃ＋ｄｙ（ｒａｎｄ（）)として、乱数を加えると、ある程度の揺らぎを発生できる。
【００８２】
ステップ７７において、カウンターをアップする。ｃ＝ｃ＋１とする。これによりつぎの座標点を作成する。ステップ７８において、ｃ＜ＳＴＸＰにより、作成座標点数を作成し終わったかをチェックする。作成し終ったらステップ７９に進み、作成途中ならステップ７６に進む。ステップ７９において、作成し終って作成バッファに記憶してある新設座標点データをステップ７１で記憶した挿入位置に挿入する。そして、次のストロークを処理する為にストロークのカウンターをアップする。ｎ＝ｎ＋１とする。
【００８３】
ステップ８０において、全ストロークの処理が終ったかのチェックを行う。ｎ＜ｓａｉｎｓｔ。ｎが入力ストローク数より大きければ、処理が終ったのでステップ８１に進み、そうでなければステップ６７に進む。ステップ８１において、処理を終了する。ワーク領域を開放し、新設ＸＹ位置座標点が挿入された、記憶バッファに記憶されている入力サインデータを出力する。
【００８４】
次に図１８のフローチャートを用いて変形処理２を説明する。ステップ８２において、変形処理２の処理を開始する。ワーク領域の確保、変数の初期化を行う。ステップ８３において、ストローク数のカウンタである変数ｎを１に初期化する。ｎ＝１。ステップ８４において、ｎ番目のストロークデータを読み込む処理を行う。ｎ番目のストロークデータのＸＹ位置座標データ列をストローク記憶バッファに記憶する。
【００８５】
ステップ８５において、読み込んだストロークの線長を計算する。ストロークの各座標点間の距離√（（Ｘ１−Ｘ２）×（Ｘ１−Ｘ２）＋（Ｙ１−Ｙ２）×（Ｙ１−Ｙ２）)を加算していき求める。求めた距離をＳＴｌｅｎｇｔｈに記憶する。ステップ８６において、過去の登録サインの平均記入速度を読み込む処理を行う。例えば、複数ユーザの有効なサインデータを複数登録し、その登録データから求めた平均値を登録辞書に初期値として記憶しておき、最初はその値を利用する。そして、製品使用者の新な登録データが記録されたらその値により初期値を更新し、その後はその値を利用する。読み出した平均記入速度はＤｌｅｎｇｔｈに記憶する。
【００８６】
ステップ８７において、過去の平均記入速度を元に新なポイント数を求める。ＳＴｐｏｉｎｔ＝ＳＴｌｅｎｇｔｈ／Ｄｌｅｎｇｔｈ。ステップ８８において、変数の初期化を行う。ＴＰ＝ＳＴｐｏｉｎｔｓ、ｔｐ＝１とする。ステップ８９において、まず始点の値を座標点の変数ＳＴｔｐ（Ｘ、Ｙ）にセットする。ＳＴｔｐ（Ｘ、Ｙ）＝ＳＴｎＳｔａｒｔ（Ｘ、Ｙ）。
【００８７】
ステップ９０において、基点ＳＴｔｐ（Ｘ、Ｙ）と次点ＳＴ（ｔｐ＋１）（Ｘ、Ｙ）の距離ベクトルを求め変数ＤＸＤＹに記憶する。現在の移動方向ベクトル値の変数ＤＸＤＹと平均記入速度Ｄｌｅｎｇｔｈから新規の移動方向ベクトル値ｄｘｄｙを求める。次に新設点の移動距離ベクトル変数ｄｘｄｙを元にランダム関数によってある範囲内で割合を変化させ変数ｄｘｄｙに記憶する。
【００８８】
ステップ９１において、新設点を追加することによって作るか、既存点を削除するかを判断し処理を行う。現在のパターンがあまりに高速だと単調な軌跡となり真似しやすいと考えられるので、新設点をランダムな位置に設け、点数を増やすことにより、真似しにくい例を作成する。
【００８９】
１：既存の次点より、新設点が小さければ、即ちＤＸＤＹ＞ｄｘｄｙなら、ＳＴｔｐ（Ｘ＋ｄｘ、Ｙ＋ｄｙ）をｔｐ＋１番目の座標点として、基点と次点の間に座標点を追加する。
【００９０】
２：既存の次点より、新設点が大きければ、即ちＤＸＤＹ＜ｄｘｄｙなら、現在の次点ｔｐ＋１番目の点を削除し、新たな次点ｔｐ＋１番目の点をＳＴ（ｔｐ＋１）（Ｘ＋ｄｘ−ＤＸ、Ｙ＋ｄｙ−ＤＹ）として座標位置を移動する。
【００９１】
今回は、処理が複雑になるので処理としては省くが、書かれるサイン軌跡の全体形状を形状により複数種類分類し、その種類毎に平均記入速度を記憶し、又種類毎に変形方法や変形処理の適応アルゴリズムを変える方法も考えられる。それには、入力されたサインデータの全体形状で分類する構成手段を追加するだけでよい。
【００９２】
ステップ９２において、座標点のカウンタをアップする。ｔｐ＝ｔｐ＋１である。ステップ９３において、読み込んだストロークの全ての座標点を処理したかをチェックし、処理したらステップ９４に進み、未処理があれば、ステップ８９に進む。
【００９３】
ステップ９４において、ストロークのカウンタをアップする。ｎ＝ｎ＋１とする。ステップ９５において、ｎの値が入力筆数を超えてないかをチェックし、以下であればステップ８４に進み、そうで無ければステップ９６に進む。、ｎの値が入力筆数以下であればまだ未処理のストロークがあるので、次のストロークの処理を行う。
【００９４】
ステップ９６において、処理を終了する。ワーク領域等を開放する。そしてできあがった新なストロークデータを出力する。この変形処理２の処理により、図１９の入力パターン９９が入力例１００として変形され表示される。
【００９５】
このように処理を構成することにより、入力されたサインデータを変形し、このように書けば良いというサンプルを表示するサイン認証装置を実現できる。これにより、ユーザは具体的な入力例が表示されるので、次にサインデータを登録する時に的確な真似しにくいサインを効率よく書くことができ、よりセキュリティがアップする。
【００９６】
（第３実施形態）
第２実施形態では、変形して表示するサインデータの表示方法については特に言及しなかったので、静止画に表示することが考えられる。しかし、軌跡の入力の場合、筆記タイミング、筆記速度が、重要な情報の一つであるので、筆跡の入力を動画で再現する方がユーザにとっては分かりやすい。そこで、本実施形態においては、第２実施形態の処理構成に筆跡入力再生用の構成を加える。
【００９７】
図２０は、第３実施形態の構成図である。図１１と同一構成については同じ符号を付して説明を省略する。筆跡入力再生部１０５は、変形処理部５０で変形された入力されたサイン軌跡データを、入力サインデータの筆記速度を元に実時間で再現する。
【００９８】
図２１は再現表示の一部分を表示した表示例である。１０６、１０７、１０８...１１１と順次軌跡が描画されていく。軌跡中の・が軌跡データ列を構成する位置座標点を表している。たとえば、０.１秒間隔で入力されているとすると、その０.１秒間隔で表示していく訳で、短い距離の直線は遅く、長い距離の直線は早くし、次の位置座標点までの時間を０.１秒で表示する必要がある。
【００９９】
図２２は、再生表示操作画面例である。１１２がサイン入力例再現画面のポップアップウィンドウである。１１３はこのウィンドウを閉じるためのクローズボタンである。この領域をペンで押下すると、このウィンドウを閉じる処理が実行される。
【０１００】
１１４は、再生ボタンであり、入例の再生の開始、停止を指示することができる。この領域をペンで押下すると、再生が停止している時は、再生が開始され、再生している時は停止する。
【０１０１】
１１５は、再生スピード設定バーで、ペンでバーを押下して移動することにより、再生スピードを１／２スロー再生、標準再生、２倍速再生と変更する事ができる。１１６は再生表示領域で、実際の入力された軌跡の１／２サイズで表示を行う。
【０１０２】
図２３が、入力再現表示処理を表したフローチャートである。このフローチャートに沿って処理を説明する。ステップ１１７において、入力再現表示処理を開始する。ワーク等確保し、変数の初期化を行う。図２２で表した１１２のポップアップウィンドウはこの処理が開始される前に表示されている。この図２３の処理は、軌跡の再生表示のみの処理である。
【０１０３】
ステップ１１８において、再生スピード設定値を読み込む処理を行う。図２２の１１５の再生スピード設定領域で設定されている設定値を読み込む。この実施の形態では、０.５から２の範囲の値が返ってくる。０.５なら１／２のスロースピードで、１なら実スピードで、２なら２倍速で再生表示する。
【０１０４】
ステップ１１９において、再生スピードを決定する処理を行う。１１８で読み込んだ再生スピード設定値と入力サインデータのサンプリング時間から再生スピードを決定する。サンプリング時間／再生スピード設定値で再生スピードを決定する。例えば、サンプリング時間が０.１秒で再生スピード設定値２なら、１座標点間の直線の表示再生スピードは０.０５秒になる。
【０１０５】
ステップ１２０において、画面クリアとストロークカウンタを１に初期化する。図２２のストロークデータの再生表示領域をクリアする。ＳＴ＝１とする。ステップ１２１において、再生する実施の形態２で変形したサイン筆跡データ列の１ストロークデータを読み込む。変形されているサインデータのＸＹ位置座標データ列をサインデータ１ストローク記憶バッファに読み込む。
【０１０６】
ステップ１２２において、ストローク座標点の座標点数カウンタを１で初期化し、ストロークの座標点数をＳＴポイント数に記憶する。ステップ１２３において、ストロークの各座標点を読み込む処理を行う。Ｘｐｔ、Ｙｐｔにｐｔ番目の座標点のＸＹ値を読み込む。ステップ１２４において、座標点のカウンタをアップする。ｐｔ＝ｐｔ＋１とする。ステップ１２５において、座標点のカウンタが２以上かをチェックする。これは、１点を読み込んだけでは、直線を描画できないからである。２以上であれば、ステップ１２６に進み、そうでなければステップ１２３に進む。
【０１０７】
ステップ１２６において、（Ｘｐｔ−２、Ｙｐｔ−２）（Ｘｐｔ−１、Ｙｐｔ−１）の２点間の直線を表示する。その直線の描画時間はステップ１１９で決定された時間である。（Ｘｐｔ−２、Ｙｐｔ−２）から描画を開始して、（Ｘｐｔ−１、Ｙｐｔ−１）を書き終る時間がその直線の描画時間である。その為、（Ｘｐｔ−２、Ｙｐｔ−２）（Ｘｐｔ−１、Ｙｐｔ−１）間の距離が長い場合は早いスピードで描画する必要があるし、距離が短い時は遅いスピードで描画する。ステップ１１９で決定された時間／距離（描画画素数）によって、一画素の描画時間を決定し、決定した描画時間間隔で直線の一画素を描画していく。
【０１０８】
ステップ１２７において、ストロークの終端まで描画が終ったかをチェックする。座標点のカウンターｐｔ＜ＳＴポイント数であれば、ステップ１２３に進み、そうでなければ、全てのポイントの描画が終ったのでステップ１２８に進む。
【０１０９】
ステップ１２８において、次のストロークを処理する為にストロークカウンタＳＴをカウントアップする。ステップ１２９において、全ストロークの処理が終了したかをチェックする。ストロークカウンタが表示サインデータの筆数以下であればステップ１２１に進み、そうでなければステップ１３０に進む。ステップ１３０において、入力再現表示の処理を終了する。確保したワーク領域等の開放を行う。
【０１１０】
このように、図２３のフローチャートで説明した筆跡入力再生処理を行なうことにより、登録可能となるサインのサンプルを動画で再現できる。すなわち、サインの真似しやすさに影響する特徴情報を判定する手段を設けることにより、真似しやすいサインの登録を防止する。また、その判定結果に応じて、対処方法のメッセージや、入力サインに応じたサンプル入力例の表示、サンプル入力例の再現表示を行うことにより、どのようなサインを書けばいいかを具体的に表示できる。ユーザは具体的な入力例が表示されるので、次にサインデータを登録する時に的確な真似しにくいサインを効率よく書くことができる。
【０１１１】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１１２】
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
【０１１３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１１４】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスクがある。また、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などがある。
【０１１５】
その他、クライアントＰＣのブラウザを用いてインターネットサイトに接続し、本発明に係るプログラムそのもの、もしくは更に自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードするという利用方法もある。また、本発明に係るプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の範疇に含まれる。  また、本発明に係るプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布してもよい。所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１１６】
また、プログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１１７】
さらに、ＰＣの機能拡張ユニットに備わるメモリに本発明に係るプログラムが書き込まれ、そのプログラムに基づき、その機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行なう場合も、本発明の範疇に含まれる。
【図面の簡単な説明】
【０１１８】
【図１】本発明の実施形態に係るシステム構成を表す図である。
【図２】本発明の第１実施形態に係るサイン認証装置のブロック図である。
【図３】本発明の第１実施形態に係る処理構成図である。
【図４】入力サインの筆跡表示例を示す図である。
【図５】入力サインの筆跡表示例を示す図である。
【図６】識別するサイン軌跡の特徴条件と各特徴条件に対応する対処メッセージを表した図である。
【図７】サイン登録画面例を示す図である。
【図８】サイン登録処理後の警告画面例を示す図である。
【図９】登録サインデータのチェック処理を表したフローチャートである。
【図１０】各ストロークの累積角度変化計測処理を表したフローチャートである。
【図１１】第２実施の形態の処理構成図である。
【図１２】入力されたサインデータ例を示す図である。
【図１３】入力されたサインデータ例を変形した例を示す図である。
【図１４】識別するサイン軌跡の特徴条件と各特徴条件に対応する変形処理方法を表した表である。
【図１５】第２実施形態に係るサイン認証装置で行なわれる処理を示すフローチャートである。
【図１６】第２実施形態に係るサイン認証装置で行なわれる処理を示すフローチャートである。
【図１７】第２実施形態に係るサイン認証装置で行なわれる処理を示すフローチャートである。
【図１８】第２実施形態に係るサイン認証装置で行なわれる処理を示すフローチャートである。
【図１９】入力サイン軌跡と変換後のサンプル表示例を示す図である。
【図２０】第３実施の形態の処理構成図である。
【図２１】再現表示の一部分を表示した表示例を示す図である。
【図２２】再生表示操作画面例を示す図である。
【図２３】入力再現表示処理を表したフローチャートである。
【図１】
2007299226.tif 000003
【図２】
2007299226.tif 000004
【図３】
2007299226.tif 000005
【図４】
2007299226.tif 000006
【図５】
2007299226.tif 000007
【図６】
2007299226.tif 000008
【図７】
2007299226.tif 000009
【図８】
2007299226.tif 000010
【図９】
2007299226.tif 000011
【図１０】
2007299226.tif 000012
【図１１】
2007299226.tif 000013
【図１２】
2007299226.tif 000014
【図１３】
2007299226.tif 000015
【図１４】
2007299226.tif 000016
【図１５】
2007299226.tif 000017
【図１６】
2007299226.tif 000018
【図１７】
2007299226.tif 000019
【図１８】
2007299226.tif 000020
【図１９】
2007299226.tif 000021
【図２０】
2007299226.tif 000022
【図２１】
2007299226.tif 000023
【図２２】
2007299226.tif 000024
【図２３】
2007299226.tif 000025