本開示は、電子署名又は他の手書きデータを検証する技術及びツールを一般的に対象とする。
サインが真正であるかを判定することは、多くの課題をもたらす。1つの課題は、同一の人物によってなされた真正なサインであっても、その形状あるいは線幅などにある程度の変動性を有することである。もう1つの課題は、真正なサインの変動性の程度が人によって異なることである。従前では、変動性レベルの判定は、検証に使用され得るテンプレートに別の時間に収集された複数の基準サンプルを組み合わせることによってなされる。しかし、複数の基準サンプルを別の時間に収集することは、多くの業務プロセスに上手く適合しない。例えば、銀行は伝統的に本人が書いたサインであることを比較するために1つだけの基準となるサインを保管してきている。従って、サンプルの数としては1つの基準サンプルを使用しながら、検証方法の精度を改良することが必要となる。
記載された実施態様において、動的手書きデータ検証エンジンは、試験サンプルが基準サンプルを記入した本人のデータであるか(真正であるか)を判定するために、手書きの試験サンプル(例えば、電子サイン)に関連した手書きデータを、1つの基準サンプルに関連した手書きデータと比較する。本明細書に記載された幾つかの実施態様は電子サインの検証に言及するが、本明細書に記載された実施態様が、電子サインを含むあらゆる種類の手書きデータを検証するために使用され得ることが理解されるべきである。
本明細書に記載された実施態様によれば、検証方法は、同一の人物によってなされるサンプル間の自然な不一致に起因する軽微な相違を許容しながら、試験サンプル及び基準サンプル中に含まれる様々なデータのうち幾何学的特徴を照合するマッチングを行う。更に、検証方法は、様々なパラメータを含むペンイベント情報から幾何学的パラメータのみを抽出し、これにより得られた幾何学的特徴に基づいてマッチングを得た後、幾何学的特徴ではない現在の手書き収集技術によって生成され得る更なる非幾何学的パラメータ(例えば、ストローク間のペンの動き、筆圧、ペン角度等)を考慮に入れることもできる。この幾何学的特徴と非特徴的データの利用形態の組み合わせは、単に、検証結果の質を改良し得る。異なる入力装置は、異なるタイプのデータを提供することがあるので、検証方法は、本明細書に記載された実施態様に従い、特定の複数の装置によって提供される複数のデータタイプに適応し得る。例えば、本発明の手書きデータ検証方法によれば、試験サンプルが筆圧情報を含み、かつ基準サンプルが筆圧情報を含まないのであれば、検証方法は、筆圧情報の分析を省略し、代わりに2つのサンプルに共通するデータの比較に集中することができる。
以下の記載において、同種の数字は同種の要素を参照する。以下に示す詳細な説明は、開示される主題の種々の実施態様の例としての説明を意図するものであり、唯一の実施態様を表すことを意図するものではない。この開示に記載される各実施態様は、単に例又は説明として提供され、かつ他の実施態様よりも好ましい、又は好適であると解釈されるべきでない。本明細書内に用意する実例は、網羅的であることや、特許請求された主題を開示したまさにその形に限定することを意図するものではない。
以下の記載において、複数の具体的な詳細が、本開示の代表的な実施態様の徹底した理解を提供するために示される。しかしながら、本開示の多くの実施態様が、幾つか又は全部の具体的な詳細なしで実施できることは当業者にとって明白であろう。場合により、モンテカルロ法など周知のステップについては、本開示の種々の態様を不必要に不明瞭にしないため詳細に記載しなかった。更に、当然のことながら、本開示の実施態様は、本明細書に記載された特徴のいかなる組み合わせをも採用し得る。
図1Aは、手書きデータの真正性を検証するシステムの概要図である。図1Aに示す例において、手書き入力装置10,12,14は、種々の形の手書きデータを、ネットワーク20(例えば、インターネット)を通じて手書き検証サーバ700に提供する。手書き入力装置10,12,14は、専用の手書きデータ収集装置、又は適切に構成されたスマートフォン若しくはタブレットコンピュータのような汎用装置として実装できる。手書き入力装置10,12,14は、本明細書において「入力装置」と称されるが、かかる装置は、入力の収集に限定されず、かつ概して他の機能性も含む(例えば、ディスプレイ機能性、データ伝送機能性等)。
従前の手書きサインが紙面上になされる時、インクペンはインクの連続した跡(ストローク軌跡)を残しサインを形成する。これに対し、デジタル化された手書きサイン(電子サイン)は、一般的に一定の時間間隔で測定された離散データ(ペンイベント情報)の収集により得られる。
再び図1Aを参照すると、手書き入力装置10,12,14はいずれもデジタイザがペンの動きを検出するセンサボードを含む。例えば、入力技術として、センサボードの表面により生成される磁場によってペンの共振回路内にエネルギーが誘発される、という電磁共鳴(EMR)技術を使用できる。ペンの共振回路は、その後、このエネルギーを使用して磁気信号をセンサボード表面に返信する。ボードは、電子ペンがセンサボード表面に触れなくても、ペンからの信号がなおも受信できるほどペンがセンサボードに十分に近接した範囲内に留まる(ホバリングしている)限り、ペンの座標位置を一定の時間間隔で検出する(精度は、使用される特定の技術によって異なり得るが、一般的に数ミリメートルのオーダーである)。
あるいは、入力装置に用いる技術として他の手書き入力技術が使用され得る。例えば、入力装置である電子ペンは、他のワイヤレス技術を使用できるか、又はワイヤによってデジタイザに接続できる。もう1つの例として、電子ペンは、デジタイザの表面から離れて検出可能であっても良いし、なくてもよい。また、ここでの電子ペンは、電動であるか、又は、非電動のペンであっても良い。電動ペンは、外部電源に接続されたワイヤを介して、又は内蔵電池を介して電力を受けても良い。もう1つの例として、電子ペンなしで(例えば、感圧デジタルライティングパッド上のスタイラス、タッチスクリーン、又は、電子ペンを必要としない他の入力装置を介して)手書きデータを入力することが可能である。
入力装置10,12,14によって提供される手書きデータは、ペンイベント情報、装置情報及び/又は手書きがなされた状況に関する状況情報を含んでも良い。本実施態様において、ペンイベント情報は、デジタイザ表面上のペン先のx,y位置と、手書きの開始時刻である最初のペンイベント情報から各ペンイベント情報の経過時間とを含む。更に、ペンイベント情報は、筆圧、角度(方位角、高度、及び/又は回転)及びペンがデジタイザ表面に接しているか否かを示すペンダウン状態のような、追加の情報を入力装置10,12,14の機能に応じて含む場合がある。ペンイベント情報は、一般に電子サインの取得中、所定のサンプリングレートにて一定の時間間隔で収集される。
装置情報は、デジタイザ単位から実世界の単位に変換するために必要な情報を含んでも良い。署名の状況情報は、署名する人の氏名、署名の日時、署名の理由、ホスト装置上で使用されるオペレーティングシステムのタイプ及びバージョン、デジタイザのタイプ、デジタイザ装置ドライバのバージョン、ホスト装置のネットワークインタフェースコントローラ(NIC)アドレスから取られる一意識別子、暗号ハッシュ機能が使用されるならば、ハッシュ機能のタイプに関する情報、及び/又は捕捉時にソフトウェアアプリケーションによって追加できる補足データを含んでも良い。状況情報は、暗号メッセージダイジェストのような署名される文書に関する情報も含んでも良い。
再び図1Aを参照すると、手書き検証サーバ700は、手書き試験サンプルを基準サンプルと比較して、試験サンプルが真正かを判定する検証方法を実行する。検証方法の結果は、手書き検証サーバ700によって出力され得る。少なくとも1つの実施態様において、手書き検証サーバ700は、以下で更に詳細に記載するように、図4で説明される手書きデータ検証方法を実行する。図1Aに示す例において、検証方法の処理の結果は、手書き検証サーバによって更なる処理(例えば、ディスプレイ用に結果をフォーマットすること、結果を記憶すること、結果を分析すること、他の装置に結果を伝送すること等)のために後処理部790に提供される。後処理部790は、手書き検証サーバ700及び/又は1つ以上の他の装置内に実装できる。
手書き検証サーバ700は、種々の形状で(例えば、統合データ、ストリームデータ、未加工のペンイベント情報など)提供される手書き入力データの真正性を検証し得る。例えば、図1Aに示すように、入力装置10及び12は、座標情報や筆圧情報を含むペンイベント情報を加工していない状態のそのままの未加工の手書きデータを手書きデータ処理部100に供給できる。手書きデータ処理部100は、以下で詳細に記載するように、ペンイベント情報を変形して生成されたストリームデータ又はストリームデータと画像等の他情報を含むデータとを統合した統合データを生成し、かつネットワーク20を通じて手書き検証サーバ700に伝送し得る。
図1Bは、手書きデータ処理部100の機能ブロック図である。手書きデータ処理部100は、手書き入力装置、又は入力装置と直接(例えばUSB接続を介して)若しくはネットワークを通じて通信できる他の装置内に(例えば、ソフトウェア又はハードウェアとして)実装できる。
図1Bに示した例において、手書きデータ処理部100は、入力取扱部101と、ストリーム生成部200と、損失性データ処理部300と、統合部400とを含む。入力取扱部101は、例えばストリーム生成部200及び損失性データ処理部300による更なる処理のために、未加工の手書きデータを転送することに関与する。ストリーム生成部200は、入力として未加工の手書きデータを受信し、かつストリームデータ(例えば、ヘッダ情報と共に、x座標、y座標に関する個別のストリーム、及び筆圧情報)を生成する。少なくとも1つの実施態様において、ストリーム生成部200は、無損失性符号化技術を使用して、複数のストリームを含む圧縮ストリームデータを生成する。
図1Bに示す例において、損失性データ処理部300は、入力として未加工の手書きデータを受信する。損失性データ処理部300は、損失性データ処理技術(すなわち、データ損失を伴うことがある技術)を使用して、(手書きを画像とするために使用され得る)ストロークデータ及び/又は画像データ(例えば、PNG(Portable Network Graphic)フォーマット又は他の画像データフォーマットでの画像データ)を生成し得る。例えば、損失性データ処理部300は、手書きデータ(例えば、電子サイン)を視覚的に表示するための描画処理を行うために必要とされることがある。この種の処理を行う処理部の例として、手書きデータを所定のデジタルインクデータの形式のデータフォーマットで出力するように構成されたインクエンジンを含んでも良い。他、図1Bに示した構成の代わりに、損失性データ処理部300は、未加工の手書きデータに基づいてストリーム生成部200によって生成されたストリームデータを入力して描画処理等の処理を行うとしても良い。
図1Bに示す例において、統合部400は、ストリームデータ、及びストローク及び/又は画像データを入力として受信し、ストリームデータとストロークデータ又は画像データとを統合した統合データとして出力する。統合部400は、統合データを単一の出力ファイル(例えば、画像ファイル)の形式で出力するか、又はストリームデータ及び/又はストローク/画像データを別のファイルで別個に出力することができる。少なくとも1つの実施態様において、ストリームデータは、符号化バイナリフォーマットに変換でき、かつ統合データは、デジタル画像の形状を取ることができ、符号化バイナリデータは、ステガノグラフィック技術によりデジタル画像に挿入される。詳しくは、参照により本明細書に組み込まれる、2013年10月25日に出願された米国仮特許出願第61/895、895号を参照せよ。
図1A及び図1Bに示す構成は、例に過ぎず、他の多くの構成が可能である。例えば、図1Aでは、手書きデータ入力及び手書きデータ検証が、クラウドネットワーク経由で異なる装置内で(例えば、それぞれ入力装置及び手書き検証サーバ700内で)実行されるとして記載されるが、手書きデータ入力及び手書きデータ検証は、1つの装置内でも実行できる。図1Aでは、手書き入力装置及び手書き検証サーバは、インターネットのような広域ネットワーク(ネットワーク20)を通じるものとして記載されるが、入力装置及び手書きデータ検証サーバ(あるいは装置)は、他の方法(例えば、ローカルエリアネットワークを通じて)でも通信できる。また、手書きデータ処理部100がいかにして動作するかの詳細は、実装及び/又は状況に応じて異なることがある。また、手書きデータ処理部100は、本明細書に記載された技術に従って、検証すべき手書きデータを提供するために必要とされない。図1Aに示す例において、入力装置14は、未加工のペンイベント情報を生成し、手書きデータ処理部100による中間処理なしで、未加工のペンイベント情報をネットワーク20を通じて手書き検証サーバ700に供給する形態も可能である。
本明細書に記載された実施態様によれば、検証すべき手書きデータのサンプル(又は「試験サンプル」)は、通常のサインのように文字の形状をくずして記載される手書きサイン(図2A参照)のようなサインのみならず、形状を整えて記載した文字列、若しくは、図画のような他のタイプの手書きデータを含む。
記載された実施態様において、手書きデータは、個々がペンイベント情報を含むイベントのシーケンスとして表され得る。ペンイベント情報は、幾何学的パラメータとして(例えば、デジタイザの表面上又は限定された範囲内にある間に)特定の時間でのペン先の位置(x/y座標値)を保持する。サインの骨格形状である幾何学的パラメータに加えて、手書き入力装置によっては、ペン角度、筆記角度、筆記等のようにサインの骨格形状とは直接関係のない非幾何学的パラメータを検出する機能を有することもある。このような非幾何学的パラメータとしては、手書き入力装置の機能に応じてペンイベント情報として取得可能な筆圧及び角度のような追加の測定データを含んでも良い。図2Bは、ペン型の入力装置により検出され得るパラメータの例として回転、高度及び方位角を示している(大きな黒い矢印によって表される)。
再び、図2Aを参照する。例えば、手書きサイン206Aは、複数のペンイベント情報により形成される。図2Aの例では、ペンイベント情報は、ペンがデジタイザ表面から持ち上げられたとしてもペンがセンサの高さ検出範囲(ホバリング検出範囲)内に留まる限りその情報が検出され続ける技術(例えば、EMR(Electro-Magnetic Resonance)技術)を使用して、ペン装置及びデジタイザによって検出される。図2Aに示す例において、ペンがセンサから離れた位置にある時(ホバリング時)に検出された座標は、より薄い点として示され、かつペンがセンサに接触している時(ペンダウン時)に検出された座標は、より濃い点として示されている。
図2Cは、ペンイベント情報のデータ構造210及びかかるペンイベント情報のシーケンス212を表すための説明図である。ペンイベント情報のシーケンスは、未処理形状及び/又は前処理された形状での(例えば、ペンイベント情報をストリームデータ及び/又は統合データの形状にするために使用できる、手書きデータ処理部100を介して)例えば手書き検証サーバ700への入力として提供され得る。図2Cに示す例において、データ構造210は、「構造体」又は「クラス」タイプとして実装され得る。記載された実施態様において、ペンイベント情報は、サンプリングレート毎に取得されるイベントの検出順であるデータのシーケンス212で提供される。
図3は、手書きデータ検証サーバ(例えば、図1Aに示す手書き検証サーバ700)において実行できる手書きデータ処理部700Aの機能ブロック図である。図3に示す例において、手書きデータ処理部700Aは、種々のフォーマットで供給される手書きデータを各々処理するように構成された処理部720,730,740を含む手書きデータ入力部710を含む。説明される例において、統合データ処理部720、ストリームデータ処理部730、及び未加工の手書きデータ処理部740は、それぞれ前述した統合データ、ストリームデータ、及び未加工の手書きデータを入力として受信し、前述したペンイベント情報に含まれるパラメータ(図中ペンイベントパラメータ)を試験サンプルのデータとして出力する。尚、手書きデータ入力部は、他のデータも出力可能であっても良い。例えば、図3に示す例において、統合データ処理部720は、統合データから画像データを抽出し、画像データを更なる処理のために後処理部790Aに伝送するように構成される。
図3に示す例において、検証部750は、手書きデータ入力部710からペンイベント情報に含まれたパラメータの供給を受けるとともに、リポジトリ760から基準サンプルを受信する(リポジトリ760は、図3に示すように、手書きデータ処理部700Aとは異なる装置か、又は手書きデータ処理部700Aと同じ装置上に実装できる)。検証部750は、試験サンプルとして供給されるペンイベント情報に含まれたパラメータから導き出された特徴を基準サンプルの特徴と比較することにより手書き試験サンプルの真正性を検証する。
図4は、本発明に係る手書きデータ検証方法のフロー図である。図4に示す検証方法は、手書き検証サーバ(例えば、図1Aの手書き検証サーバ700)又は他の装置によって実行され得る。図4に示す検証方法は、クラウドコンピューティング(例えば、図1Aに示すシステム)又は、クラウドなど大規模なネットワークシステムではない構成で実行され得る。記載された実施態様において、検証方法は、手書き試験サンプル中に含まれた手書きデータのストロークの軌跡を形成する幾何学的パラメータを使用して、基準サンプル中の特徴と比較され得る手書き特徴を導き出す。
図4に示す例において、まず、ステップS101で、手書きデータに含まれる幾何学的パラメータが、幾何学的パラメータと非幾何学的パラメータが混在するペンイベント情報から抽出される。この例において、手書きの幾何学的パラメータは、x座標値と、y座標値である。ペンイベント情報は、幾何学的パラメータであるx座標値及びy座標値に加えて、非幾何学的パラメータである筆圧値、角度値、タイムスタンプ情報等を含む場合もある。ペンイベント情報は、手書きを作り出すために使用された入力装置のサポートする機能によって、幾何学的パラメータのみで構成される場合(座標位置しか情報として含まない場合)と、幾何科学的データと非幾何学的パラメータとが混在する場合が存在する。尚、ペンの角度や回転角は幾何的なパラメータ足り得るが、ストロークの軌跡の観点では幾何学的パラメータではないため、除外される。
通常、ペンを用いた人間の手書きの速度は、サインの最中に変化する。従って、一定の時間間隔で検出されたx座標及びy座標位置は、疎密が変化する間隔で検出される。図2Aに示す署名例を再び参照すると、ペンイベント情報(あるいはそのパラメータである)の座標位置206Bは、一定の時間間隔(例えば、1秒当たり60回、200回等のサンプルレート)で検出される。それ故に、座標位置206B間の大きな間隔(座標位置206Bが疎に存在する部分)は、ペンが速く動くサインの部分を示し、かつ狭い間隔(座標位置206Bが密に存在する部分)は、ストローク(手書き経路)の軌跡上でペンが遅く動いた部分を示す。
再び図4を参照する。次に、ステップ103で、ステップS101で抽出した幾何学的パラメータの空間的粗密を均等化する均等化処理により特徴点が導出される。この特徴点の導出は補間処理の応用である。導出される特徴点は、順次得られるペンイベント情報に含まれる位置の軌跡であるストローク(手書き経路)を辿るものであるがペンイベント情報が示す位置とは原則異なる位置の補間データである。少なくとも1つの実施態様において、特徴点は、ストローク(手書き経路)に沿って空間的(幾何学的)に間隔が均等に分布するように均等化処理により導出される。
図5は、元のペンイベント情報の空間的間隔とペンイベント情報の位置から均等化処理によってストロークに沿って導出された特徴点の空間的間隔とを示す図である。図5に示す例において特徴点は均等に分布する。一般的に、試験サンプル点の空間的間隔を減少させることは、特徴点の数を増加させる傾向にあり、そのことは、処理時間増加や第1の特徴照合処理におけるマッピング処理の最適解の不安定さに繋がり得る。他方で、試験サンプル点の空間的間隔を増加させることは、その部分に存在する特徴点の数を減少させる傾向にあり、そのことは手書き中の重要な特徴の脱落及び形状データ比較における比較精度低下に繋がり得る。少なくとも1つの実施態様において、例えば、実世界の単位で0.5〜2mm、より好ましくは1mmの一定の空間的間隔が、合理的な処理時間を重要な手書き特徴の正確な検出と釣り合わせるための妥協点として使用される。
特徴点間の空間的間隔は、密度の均等化処理の実装に応じて異なり得る。例えば、特徴点間の空間的間隔は、厳密に均一である必要はない。また、ステップS103における所定の空間的間隔を保つように特徴点を導出する処理は、特徴点の空間的(幾何学的)間隔の粗密の程度を、特徴点を導出した元のペンイベント情報の座標位置の間隔の粗密の程度に比して減少させる処理(間隔の均等化処理)ということもできる。例えば、ステップS103により得られる特徴点は、例えば、所定のペンイベント情報の位置が密である部分のペンイベント情報の位置間の間隔を広げる密度の均等化処理に従って位置決めされ得る。かかる密度の均等化アプローチにおいて、一部の特徴点は、元のペンイベント情報の位置と同じ場所に置かれても良い。例えば、密度の均等化処理は、ストローク(手書き経路)においてペンイベント情報が疎に存在する部分に新たな特徴点を挿入することとしても良い。又、密度の均等化処理は、サンプル間の点密度差を解消するために、試験サンプル及び基準サンプルに応用しても良い。尚、密度の均等化処理を応用することは、異なるサンプリングレートや入力領域のサイズを適用する装置によって得られたサンプル間で特徴点比較を可能にするために役立ち得る。尚、ステップS103における特徴点の情報として、筆圧値等の非幾何学的パラメータを利用可能である場合は、導出された新たな特徴点の座標位置と当該座標位置を導出するために用いた(関連付けられた)ペンイベント情報の座標位置の割合を用いて、ペンイベント情報に含まれる筆圧値等のパラメータを内分演算する補間処理により、特徴点における非幾何学的パラメータを合わせて導出する。特徴点の位置として元のペンイベント情報の幾何学的位置と同じ位置を用いる場合は、特徴点の非幾何学的パラメータは、関連付けられたペンイベント情報に含まれる非幾何学的パラメータの値をそのままの値で利用できる。
再び図4を参照すると、各特徴点(ステップS103参照)は、ストローク(手書き経路)に沿って一定の空間間隔となるように計算される上で用いられた元のペンイベント情報のx位置及びy位置と関連付けられる。試験サンプルと基準サンプルとのスケーリングの差異を吸収するために、少なくとも1つの実施態様において、ステップS103により導出される特徴点のx位置及びy位置は、図6に示すように比率の形式で導出される。
図6に示した例において、特徴点のx位置(X)及びy位置(Y)は、手書き又は手書きのある部分(例えば、ストローク)のそれぞれの寸法(例えば、幅(w)又は高さ(h))の全体の値に関連するそれぞれx座標値又はy座標値の比率として定義される。
少なくとも1つの実施態様において、特徴点は、ペンがタブレット表面と接触しなかったペンアップ区域(ホバリング区域)を含む手書きサンプルの全長に関して定義される。例えばペンアップデータを支援しない入力装置が使用される時、又はペンアップデータが検出され得ないように、ペンがデジタイザから間隔を置いて保持される時には、ストロークとストロークとの間でありペンがホバリングしている間の座標位置であるペンアップ情報は利用できない場合がある。ペンアップ情報が利用できないならば、特徴点はペンが入力センサに対して接している状態の情報であるペンダウン時のペンイベント情報のみを用いて生成される。
再び図4を参照すると、ステップS105で、導き出された特徴点のx位置及びy位置に基づいて特徴点の方向(D)及び曲率(C)として導き出される。ステップS105で導き出される方向及び曲率値は、元のペンイベント情報のx/y座標値に基づいて導出するのではなく、ステップS103で導出された特徴点のx/y座標値に基づくものである。少なくとも1つの実施態様において、方向及び曲率は、図7A及び図7Bに示すように、ペンイベント情報のイベント発生順で以前のx/y座標から導出された以前の特徴点及びペンイベント情報の入力順で後続のx/y座標から導出された後続の特徴点のx位置及びy位置に基づき現在の特徴点に関して導き出される。
図7Aに示す例において、現在の特徴点802の方向Dは、入力順で1つ以上前のペンイベント情報から得られた(対応づけられた)1つ以上前の特徴点804と、入力順で1つ以上後のペンイベント情報から得られる次の特徴点806との間の線の角度として(水平線に対する、ラジアンで)計算される。図7Bに示す例において、現在の特徴点802の曲率Cは、現在の特徴点802を以前の特徴点804に接続する線と、現在の特徴点802を次の特徴点806に接続する線との間の線の角度として(ラジアンで)計算される。
再び図4を参照すると、ステップS107で、特徴照合処理(第1の特徴照合処理)が、特徴点の幾何学的特徴(例えば、x位置、y位置、方向、曲率)を使用して実行される。この例において、第1の特徴照合の目標は、真正な手書きであっても自然に発生する変動を許容する上でロバスト性を提供することである。具体的には、検証すべき手書きデータである試験サンプルのうちのi番目の特徴点と基準サンプル中のいずれか一つの対応すべき特徴点とをリンクしつつ、試験サンプルに含まれる複数の特徴点と基準サンプルに含まれる複数の特徴点とで計算処理上最適と判断し得るマッピング(リンクの群)を得ることである。尚、ステップS107の特徴照合(第1の特徴照合)は、図11や図12A及び図12Bを用いて詳細に記載するような特徴照合処理を含んでも良い。
図8は、例えば、図4のステップS107の特徴照合処理により、試験サンプル810と、基準サンプル820との間で構築されるマッピングの説明図である。図8で説明される例において、マッピングは、試験サンプル810及び基準サンプル820中の(円で表す)対応する特徴点の間で構築される(破線で表す)リンクを含む。リンクの各端部での手書き線の一致は、リンクの「エネルギー」と呼ばれ得る。この例において、エネルギーは、リンクされた特徴点の幾何学的パラメータであるx位置(X)、y位置(Y)、方向(D)、及び曲率(C)値の間の差の観点から測定される。
少なくとも1つの実施態様において、エネルギーは、次の式(1)に従って測定される。ただし、式(1)中、eiは基準サンプルrを試験サンプルtと接続するi番目のリンクのエネルギーであり、Xr、Yr、Dr及びCrは基準サンプルのx、y、方向及び曲率値であり、Xt、Yt、Dt及びCtは試験サンプルのx、y、方向及び曲率値であり、kx、ky、kd及びkcは様々なエネルギー成分の重み係数である。
少なくとも1つの実施態様において、リンクの最適なセットは、次の式(2)により定義できる、システムの最小総エネルギー(E)を達成するものである。ただし、式(2)中、eiはi番目のリンクのエネルギーであり、kuは非リンク特徴のエネルギーを表す定数であり、nuは(もしあれば)非リンク特徴の数である。
少なくとも1つの実施態様において、マッチング法としてシミュレーティッドアニーリング法が、各リンクの端部での特徴点間の差を最小限に抑え、かつそれによりエネルギーEを最小限に抑えるために使用される。特に、特許文献1同様にモンテカルロ法を用いたアニーリング処理が、リンクに擬似ランダム変化を起こすために使用される。リンクの関係が疑似ランダム変化を起こすと、エネルギーは増加される又は減少させることになる。
図9A〜図9Dを参照してこれから記載するシミュレーティッドアニーリング法によるアニーリングステップにおいて、全エネルギーの低下をもたらすようなリンク(マッピング)の変化は、確率によらず常に許容される。逆に、全エネルギー増加をもたらすリンク(マッピング)の変化は、エネルギーの増加であってもシステムの現在温度のような因子に応じて確率的に許容されることがある。本明細書において使用される用語「温度」は、一般のシミュレーティッドアニーリング法(「焼きなまし法」とも呼ばれる)において用いる用語と同じであり、システム全体のエネルギーを指すが、いかなる実際の熱エネルギーも指さない。同様に「冷却」のような関連用語は、アニーリング法における温度を減少させることによる全体の数学的エネルギーの低下を指すために使用され、実際の熱エネルギーのいかなる変化も指さない。
「エネルギー」及び「温度」は、物理的なアニーリング(焼きなまし)の手順を計算機上で疑似するアニーリング法において利用できるようにモデル化するために利用された技術用語である。少なくとも1つの実施態様において、本発明におけるアニーリング法の目標は、2つの署名中の対応する特徴点間のリンクの最良のセット(マッピング)を見出すことである。特に、可能なリンクパターンのいずれかの優劣は、リンク特徴点での位置、線の方向及び曲率のような幾何学的特徴のみの類似性を算定することによって判定される。リンクのエネルギーは、2つの特徴点間の差の尺度である。エネルギーが0になる状態は、試験サンプルと基準サンプルとで幾何学的パラメータの値が完全同一である状態を示し、幾何学的パラメータの値の差が大きくなるにつれてエネルギーの値が増加する。ここででは、非幾何学的パラメータの値の差はエネルギーの増加には関与しない。
本発明のアニーリングステップは、試験サンプル中の特徴点と基準サンプル中の特徴点とを端点とするリンクのセットを変更しながら調整することによってシステムの総エネルギーを最小限に抑えようと試行する。総エネルギーを増加させる個別の調整が必ず許されないとするならば、アニーリングステップにより得られたリンクのセットが、(総エネルギーの値として最小値ではないが)総エネルギーの極小値に陥るようになる確率が増加する。このように局所的な極小値で収束する状況に対処するために、アニーリング法は、エネルギー増加をもたらす場合であっても確率的にリンクの関係の変化を許容し、それにより後続の変化が低い総エネルギーを達成できる可能性を確率的に許容することによって、プロセスが最小値ではない極小値に陥るようになる確率を低下させるように設計されている。
システムの温度は、総エネルギーを増加させる変化の可能性を制御するために使用され得る。少なくとも1つの実施態様において、温度は当初、エネルギー増加が更に頻繁に起こることを可能にする比較的高い値に設定される。温度は、アニーリング法のステップが進むにつれ、引き下げられる。システムの安定に達するまで、温度の低下に伴い、エネルギーの増加が許容される可能性が低下する。
図9Aに説明されるアニーリングステップの例をここで参照すると、ステップS201で変数E(エネルギー)、T(温度)、I_step、及びI_cycleが初期化される。ステップS203で、試験サンプルと基準サンプルとの特徴点同士のリンケージ(マッピング)が変更される。用語「リンケージ」は、試験サンプルの特徴点と基準サンプルの特徴点と間の1つ以上のリンクを指すために使用され、マッピングと同義である。ステップS203で、試験サンプルと基準サンプルとの間のリンクのセットが何らかの方法で変更される(リンクのセットが変更され得るプロセス例は、図9Cを参照して、以下で詳細に記載する。)。
ステップS205で、変更後のリンケージの総エネルギー(E_new)が、変更前の状態のリンケージの総エネルギー(E_prev)と比較される。E_newがE_prev以下であるならば、ステップS207において、リンケージに対する変更が必ず許容され、保持される。E_newがE_prevよりも大きいならば、ステップS217において、リンケージに対する変更が確率等において、なおも許容され得るか否かに関しての判定が行われる。
ステップS217における判定について、詳しく説明する。少なくとも1つの実施態様において、エネルギーの増加は、変更の大きさ(dE)及び現在温度を含む比率次第で許容できる。図9Bに示す例において、エネルギー増加(正のdE)は、次の式(3)に示される条件が満たされる時に可能とされる。ただし、式(3)中、Uは一様偏差法による擬似ランダム値(a uniform deviate value)であり、0≦U≦1.0の範囲の値を有する。また、dEはリンケージの変更に起因する全エネルギーの変化量であり、Tはシステムの現在温度である。ここで、一様偏差法は1つ以上の擬似ランダム値Uを生成するために使用されるもので、本実施の形態では、試験サンプルと基準サンプルの間の比較の全体を通して、1つの一様偏差生成器を使用する。そして、この一様偏差生成器は、いつも(図4に示す検証プロセスが開始される都度)同じシードによって初期化される。このことは、試験サンプルと基準サンプルの比較結果がいつも同じになることを確実にする。
ステップS217において検証部750は、擬似ランダム値Uを生成し、生成した擬似ランダム値Uが式(3)を満たすか否かを判定する。そして、生成した擬似ランダム値Uが式(3)を満たす場合に肯定判定(E_newがE_prevより大きいにも関わらず、リンケージに対する変更を許容するという判定)を行い、満たさない場合に否定判定(リンケージに対する変更を許容しないという判定)を行う。式(3)から明らかなように、擬似ランダム値Uが式(3)を満たす可能性は、式(2)により算出されるエネルギーEの変化dEが小さいほど大きくなり、温度Tが低いほど小さくなる。これは、図9Aに示すアニーリングステップの試行の繰り返しが進行することによって温度Tが低くなるほど(後述するステップS215を参照)、擬似ランダム値Uが式(3)を満たすためには大きな変化dEが必要になることを意味する。結果的に、アニーリングステップの試行が進行するほど、リンケージに対する変更が許容されにくくなる。このような処理を行うことにより、初めのうちはアニーリングステップが総エネルギーの局所的な最小値である極小値に陥ることを防止しつつ、プロセスが進行してきたら、徐々に総エネルギーの最小値への収束に軸足を移すことが可能になる。
図9Cを参照して、リンケージの変更のためのプロセス例(図9AのステップS203参照)を説明する。ステップS203−1では、基準サンプル内の1つの特徴点が選択される。この選択は、試行の都度、選択される特徴点が適宜変更されるように行われる。例えば、特許文献1記載の方法と同様モンテカルロ法に従って、乱数に応じてリンケージの端点をランダムに選択するようにすればよい。ステップS203−2では、上述した擬似ランダム値Uが新たに生成され、生成された擬似ランダム値Uが定数K_RemoveLinkよりも小さいか否かに関する判定がなされる。
少なくとも1つの実施態様において、ステップS203−2では、リンケージ変更の試行の都度、値Uを定数K_RemoveLinkと比較することによって、リンクを外すか、又は新規リンクを設定するかについての擬似ランダム的な判定が行われる。K_RemoveLinkの値は、既存のリンクを外すこと又は新規リンクを設定することのいずれかに判定を偏らせるように設定され得る。実験によれば、約30%の変更がリンクを外すことからなるようにすることが望ましいことが示されるが、その場合にK_RemoveLinkは0.3に設定される。定数K_RemoveLinkの値は、実装に応じて異なり得る。
UがK_RemoveLinkよりも小さい場合、ステップS203−3で選択された特徴点からリンクが除去される(このステップにより、アニーリングステップは、リンクを、それに代わる他のものを挿入せずに外せるようになる。このことは、リンケージに対する更に可能な変更が達成可能であることを確実にする)。そうでない場合、試験サンプル中の特徴点がステップS203−4で選択される。この選択も、ステップS203−1の選択と同様、試行の都度、選択される特徴点が適宜変更されるように行われる。例えば、ランダムな選択を行うようにすればよい。そして、ステップS203−5において、基準サンプル及び試験サンプルのそれぞれについて選択された特徴点の間に、新たなリンクが挿入される。ステップS203−6では、今回の試行を開始する前の時点で存在していたリンクのうち、新規に挿入されたリンクと交差するすべてのリンクを、リンケージから除去する処理が行われる。図9Dに示した例では、新たなリンク830が3つのすでに存在しているリンクと交差しており、図9Cに記載されたプロセス例によれば、これらのすでに存在しているリンクがリンケージから除去されることになる。
一般的に、最小エネルギー状態を達成するに十分な回数の変更がリンケージに対してなされ、かつ、結果が最適状態に落ち着くのに十分な程度に温度が低下することが保証されることが望ましい。再び図9Aを参照すると、ステップS209〜S215は、アニーリングステップが終わりに達したかを判定するために使用される。図9Aに示す例において、I_cycleは、ステップS211で最大値(Max_cycles)に到達するまで(ステップS209参照)インクリメントされ、かつI_stepは、ステップS215で最大値(Max_steps)に到達するまで(ステップS213参照)インクリメントされる。I_stepがステップS215でインクリメントされる時、全システムの温度(T)が、Tに冷却係数(K_cool)を乗じることによって引き下げられる。ステップ数は、各段階で温度が冷却係数によって引き下げられることを原因として生ずる温度変化の数である。サイクル数は、各温度レベルで試みた変化の数である。Max_cycles、Max_steps及びK_coolのような値は、実装に応じて異なり得る。
アニーリングステップは、処理速度の低下に対する代償として、更に多数のサイクルを利用することにより、又は、よりなだらかな段階での温度低下を使用することにより、精度を向上することができる。少なくとも1つの実施態様において、アニーリングパラメータ(例えば、サイクル数、温度低下のための冷却係数)は、大部分の場合に適切な精度を迅速に得るように選択される。しかしながら、このことは、ある試行におけるアニーリング処理のパラメータが適切だったならば、許容可能なリンケージを有したであろう2つのサンプル間でのリンケージ不良をもたらし得る。
そこで、最初の試行(アニーリングステップによる試行)の結果がリンケージ不良である場合に、この結果が本来的なサンプル間の非類似なのか、あるいは、不正確なアニーリングステップの結果であるかの判定を助けるために、第2アニーリングステップが、異なる初期シードによって実行されるとしてもよい。アニーリングが繰り返され得るプロセス例は、図9Eに説明される。ステップS301で、アニーリングステップで利用する乱数のシーケンスを生成するための一様偏差(uniform deviate)器の初期値がN回の全てのアニーリングステップの試行を通じて1回だけ初期化され固定される。ステップS303で、図9Aに示すプロセスのような、アニーリング法が実行される。ステップS305で、良好な照合が2つのサンプル間で見出されるならば、サンプルが一致するという判定がステップS311でなされる。幾何学的パラメータ以外の非幾何学的パラメータが利用できる場合には、特徴点に対応づけられた非幾何学的パラメータの属性(例えば、時間値、筆圧値、角度値)が、試験サンプルと基準サンプルとのの一致を確認するためにステップS315でチェックされる。
1回目の試行により、良好な照合がステップS305で見出されないならば、ステップS307で、もう1回乱数のシーケンスを変更して別のアニーリングの試みがなされるかを判定するチェックが実行される。ステップS307既に実行されたアニーリングステップの実行数を最大試行回数として定めた回数(例えば2回など2以上のN回)値と比較するとしても良い。例えば、ステップS303で2回目のアニーリングの試みがなされなかったならば、アニーリングステップS303は、1回目と同じ乱数のシーケンスが後続のアニーリングステップで使用されてしまい、一回目の結果と同じ結果が出力されないことを保証するために、乱数のシーケンスを生成する一様偏差生成器をリセットせずに繰り返される。そうでない場合、2つのアニーリングの試みがなされ、サンプルが一致しないという判定が、ステップS313でなされる。
アニーリングが実行された後、結果として生じたリンケージ(あるいはマッピング)は、各々が既知のエネルギーを有するリンクのセットの情報の集合である。しかし、試験サンプルと基準サンプルとが同一、又はほぼ同一でない限り、試験サンプルに含まれる全ての特徴点が、基準サンプルに含まれる特徴点にリンクされるとは限らない。リンケージの質は、リンクされる特徴点の比率(Pl)及び平均リンクエネルギー(Em)を次の式(4)及び式(5)によって計算することによって算定され得る。ただし、Plはリンクされる特徴の比率であり、nlはリンクの総数であり、nrは基準サンプル中の特徴点の数であり、ntは試験サンプル中の特徴点の数である。
リンケージの質を算定するために上記式(4)及び式(5)を使用する実施態様において、幾何学的特徴が基準サンプルに一致する電子サインの試験サンプルは、高いPl値及び低いEm値を有する。反対に、基準サンプルに類似しない試験サンプルは、低いPl値及び高いEm値を有する。
一致する電子サイン及び一致しない電子サインに関するPl及びEm値の予期される差は経験的データより決定することができる。図10において、多数の電子サインに関する比率Pl及び平均リンクエネルギーEmが示された試験の結果が示される。破線内部の領域1010内のプロット点は、別の人々からの、かつそれ故に一致しない可能性が高いサンプルの比較と各々が関連する。点線内部の領域1020内のプロット点は、同一の人物からの、かつそれ故に一致する可能性が高い比較サンプルと各々が関連する。
図10に示す例において、領域1010内の大多数のデータ点は、一致しないサンプルと関連したPl及びEm値を反映し、かつ領域1020内の大多数のデータ点は、一致するサンプルと関連したPl及びEm値を反映する。「境界」という標識を付した区域内で、領域1010及び1020間に幾らかの重複があり、Pl及びEm値は、サンプルが一致するか、又は一致しないかを明瞭に示さない。しかしながら、図10の結果は、多くの場合に手書きの形状に基づき、試験サンプル及び基準サンプルが、一致するかの初期算定を行うことが可能であることを示す。少なくとも1つの実施態様において、この段階で一致しないと識別された試験サンプルは、0の検証スコアを自動的に与えられ、かつ試験サンプルが基準サンプルと一致するかを判定するために、更なる処理は行われない。
Pl及びEm値は、多くのシナリオにおいてリンケージの質の測定に有効であるが、試験サンプルのうち実質的な大部分が、基準サンプルの実質的な大部分に非常に類似するならば、試験サンプルと、基準サンプルとの間に有意差を反映しないことがある。試験サンプルと、基準サンプルとの間に非リンク特徴点(図4のステップS107においてリンクされなかった試験サンプル又は基準サンプルの特徴点)の有意な部分があるか判定するために、第1の特徴照合において追加のチェックを実行することによって手書きデータ検証の精度を改良することが可能である。
再び図4を参照すると、ステップS109で、試験サンプル及び基準サンプルが十分に一致するかに関して第1の特徴照合処理に基づいた判定がなされる。図4に示す例において、試験サンプル及び基準サンプルが、ステップS109で十分に一致すると判定されるならば、ステップS113で検証の結果を出力する前に、更なる処理が実行される(ステップS111を参照、以下で更に詳細に記載する)。しかしながら、試験サンプル及び基準サンプルが、ステップS109で十分に一致しないとして判定されるならば、サンプルが一致しないことを示す結果が、更なる処理なしに、ステップS113で出力され得る。
ステップS113で生成した出力は、ブール値のような、検証の結果を示すために適したいかなる出力でも単なるバイナリ又は真/偽の結果を超えることの示唆を可能にする多値が、使用され得る。少なくとも1つの実施態様において、ステップS113で生成した出力は、例えば、(試験サンプル及び基準サンプルが非常に異なることを示す)0.0から(試験サンプル及び基準サンプルが非常に類似することを示す)1.0に及ぶ浮動小数点値を含む。
図11は、連続した非リンク特徴点の数を含む特徴照合処理S109を説明する。図11に示す例において、ステップS109−1で、リンケージの質の初期測定が、試験サンプルと、基準サンプルと間のリンケージに関するPl及びEm値を判定することによって実行される。図10を参照して以上で述べたように、ステップS109−2で、試験サンプル及び基準サンプルとが合致するかを比較し、一致しない(明らかに合致しない)ことをPl及びEm値が示すならば、ステップS109は、ステップS109−5で、試験サンプル及び基準サンプルが、良好な照合でない(一致しない)ことを示す結果を返し、かつ特徴照合処理ステップS109における更なる処理は省略され得る。しかしながら、試験サンプル及び基準サンプルが一致することをPl及びEm値が示すならば、ステップS109−3で、連続した非リンク特徴点が計数される。
図12A及び図12Bは、図11で説明された特徴照合処理ステップS109により処理できる、試験サンプル及び基準サンプルをそれぞれ示す。図12Aは、「Z」形状を有する試験サンプル例を示し、かつ図12Bは、類似した「Z」形状を有するが、追加のループのある基準サンプル例を示す。図12A及び図12Bに示される2つのサンプルの実質的な部分は、同一又は非常に類似している。従って、図12A及び図12Bに示されるサンプル同士において、全体から見て大部分の割合の特徴が、非常に低いリンクエネルギーによってリンクできる。図12Bに示す基準サンプル中の追加のループは、リンクされないとしても、全体的なリンケージ及びリンクエネルギーは、真正な署名の間の自然な変動において予期されるものと類似することがある。
図12A及び図12Bに示されるサンプルは、試験サンプル中の有意な欠損特徴にもかかわらず、試験サンプル及び基準サンプルが十分に一致する可能性があることを、Pl及びEm値が示す場合の説明のための図である。(図11で説明したような)「連続した非リンク特徴点の係数」による追加のチェックが、第1の特徴照合における照合処理の精度を改良するために使用できる。図12A及び図12Bに示される説明に役立つシナリオにおいて、図11に示される「連続した非リンク特徴点の数」を含む第1の特徴照合処理は、それぞれのサンプルが、大部分が類似しているが一部の部分が連続して異なる図12Aと図12Bのような欠損特徴のために一致しないと判定するために使用できる。このように連続した非リンク特徴点の数を第1の特徴照合の判定要素とすることにより、試験サンプルと基準サンプルの幾何学的パラメータの比較の精度を向上することができる。
再び図11を参照すると、ステップS109−4で、非リンク特徴点が有意であるか、判定がなされる。非リンク特徴点が有意であるならば、ステップS109は、ステップS109−5で、試験サンプル及び基準サンプルが良好な一致でない(一致しない)ことを示す結果を返す。非リンク特徴点が有意でないならば、ステップS109は、ステップS109−6で、試験サンプル及び基準サンプルが良好な一致である(一致する)ことを示す結果を返す。
少なくとも1つの実施態様において、非リンク特徴点が有意であるか判定することは、非リンク部分内の連続した非リンク特徴点の数が、所定値NUよりも大きいか判定することを含む。NUよりも大きい数は、加えることができ、かつこれらの数の全長は、全体的なサンプル長の比率(「比率なし(proportion free)」又はPfと称される)として表され得る。NU以下の数は、無視できる。NUの値は、実装に応じて変動し得る。所定値を超えるPf値を有するサンプルは、一致しないとみなされ得る。
再び図4を参照すると、試験サンプル及び基準サンプルが、手書きデータの幾何形状に基づき、ステップS109で十分な照合であると当初判定されたならば、追加の評価が行われる(ステップS111)。追加の評価は、手書きデータの幾何形状に限定されない、筆圧や時間情報等の他のペンイベント情報を使用した処理である。
少なくとも1つの実施態様において、ステップS111で実行される追加の評価は、ペンイベント情報のうち、筆記速度のような時間関連ペンイベントパラメータの分析を含む非幾何学的な特徴照合を含む。個人は、ペンで書くやり方において習慣的リズムを作り出す傾向にあり、そのことは、ペン速度及び加速度が、同一の人物によってなされる手書き(例えば、署名)に関して(同一でないが)非常に類似する傾向にあることを意味する。従って、他のステップで分析される幾何学的特徴と異なる、非幾何学的パラメータの1つの例である時間関連ペンイベントパラメータは、手書き検証方法において、幾何学的特徴照合を補完するものとして有用である。少なくとも1つの実施態様において、未加工の手書きデータから幾何学的パラメータを得る上で、それぞれの幾何学的パラメータが得られた時刻やペンダウン時からの経過時間を取得することができ、この情報に基づいて特徴点の経過時間を補間して得ることができる。従って、試験サンプルの各特徴点の経過時間値と、基準サンプルの各特徴点の経過時間値と比較を可能にする。
図13Aは、2つの手書きサンプル中の特徴点に対応する経過時間値の比較結果を説明するグラフである。結果は、リンクされた特徴点に関する経過時間に対応するプロットとして図13Aで説明される。プロット中の各点は、リンクに対応し、かつ基準サンプル(水平軸)中の特徴点までの経過時間、及び試験サンプル(垂直軸)中のリンクされた特徴点までの経過時間を表す。一致する署名に関して、署名開始からの経過時間は、リンクされた特徴点の各対に関して類似するはずである。
図13Aに示す例において、点は、速度の(長方形の対角線傾斜、又は水平からの角度によって)全体的な一致、及び(垂直な矢印によって示すように、長方形の狭い寸法によって)変動性を表す長方形の内側に示される。この状況における全体的な一致は、それぞれのサンプルの平均総経過時間(及びそれ故に速度)を指す。この例において、約1:1の長方形の傾斜は、サンプルが、一致する平均速度を有することを示す。この条件における変動性は、局所的な速度変化の差を指す。速度の全体的一致及び変動性における許容可能な限界は、同一の人物によってなされることが知られている署名サンプルの試験を通して測定され得る。
再び図4を参照すると、ステップS111で実行される非幾何学的パラメータによる追加の評価は、筆圧又はペン角度のような、パラメータの分析を含むこともできる。筆圧は、各特徴点での筆圧の状態(例えば、増加、減少又は安定)を算定することによって比較される。筆圧の一致は、リンクの各端部に同じ筆圧状態を有するリンクの比率Ppとして計算される。Ppの許容可能な値は、同一の人物によってなされることが知られている多数の署名サンプル中の筆圧変動を測定することによって判定され得る。
概して、筆圧は、絶対値よりもむしろ相対値として測定される。筆圧に応じてえら得る筆圧データの値は、メーカや製品の違いによる装置依存性が高く、更に、ペン材料の構造、ヒステリシス、及び経年劣化の差のような因子により、感度の変動が同じモデルの装置間でも起こる。従って、絶対値を使用して、試験サンプルと基準サンプル間で信頼できる比較を行うことは難しい。特に、同一の人物がサンプルを提供するために異なる入力装置を使用した場合に困難となる。
<第1のペン筆圧値比較方法>
一例において、筆圧データは、各特徴点の値として導出された筆圧の状態が増加しているか、減少しているか、又は安定しているかなど筆圧データの微分値(あるいは微分知の正負の符号)によって比較される。この方法において、一致は、各端部で同じ筆圧状態を有するリンクの比率Ppによって計算できる。
<第2のペン筆圧値比較方法>
しかし、第1の方法は、筆圧が相当な期間、ほぼ一定である時に不適切である場合がある。微分値の符号を利用したのでは緩やかに変化する筆圧がわずかに相違した場合であっても、異なる状態(増加している、減少している)と認められ、大きなエラーをもたらす。
そこで、第2の方法では、筆圧データの傾向(微分値の符号)ではなく、逆に積分値で比較する。具体的に
は、筆圧データは、次の式(6)により署名全体に関する全体的筆圧−時間区域の比率として正規化された、署名開始から特徴iまでの筆圧−時間図表の区域、Piを計算することによってより高精度に比較される。ただし、式(6)中、Piは特徴iまでの筆圧−時間図表の比率であり、pはペン筆圧であり、tはサイン開始から特徴iまでの時間であり、Tは全体的サイン時間である。
図13Bは、上記式を説明する図表である。X軸はサイン開始からの経過時間を示し、Y軸は、記録された筆圧値を示す。点線による円区域内の塗りつぶした領域は、時間0から時間tまでの筆圧値p(t)の和を示す。
図13Cは、2つの手書きサンプル中の特徴点に対応する筆圧値−時間値の比較結果を説明するグラフである。結果は、リンクされた特徴点に関する筆圧値−時間値に対応するプロットとして図13Cで説明される。プロット中の各点は、リンクに対応し、かつ基準サンプル(水平軸)中の特徴点までの筆圧−時間グラフの比率、及び試験サンプル(垂直軸)中のリンクされた特徴点までの筆圧−時間グラフの比率を表す。一致する署名に関して、筆圧−時間グラフの比率は、リンクされた特徴点の各対に関して類似する。尚、筆圧値の総和に対する途中の特徴点における筆圧値の累積値の比率の比較であるため、グラフの最終点は、定義により常に(1.0、1.0)であることに注意されたい。
図14は、試験サンプルが基準サンプルと類似するか、又は類似しないかに関する判定がなされた後に使用され得る後処理方法例のフローチャートである。図14に示される方法例において、試験サンプルが、ステップS401で基準サンプルと一致すると判定されるならば、試験サンプルは、ステップS403でもう1つの基準サンプルとしてリポジトリに加えられ得る。試験サンプルが、基準サンプルと一致すると認められる時、試験サンプルは、既存の基準サンプルを補完し、かつ将来の検証処理の精度を潜在的に改良するために使用され得る。更に、図14に示されるプロセス例において、ステップS405で検証結果は、ディスプレイ用に供給され得る個別の画像データと共に出力され得る。例えば、試験サンプル用の手書きデータが画像データと統合されたならば、手書きの画像が検証方法の結果(例えば、手書きデータが検証されたか、又は検証されなかったか)の指示器と共に表示され得る。
図15は、電子サインの真正性を検証するコンピュータシステム及び方法についての概念図である。図15に示されるシステム及び方法で使用できる特定の電子サイン検証方法は、実装によっては本明細書に記載されたそれと異なり得る。図15に示す例において、電子サインは、銀行取引の状況における契約になされる。
図15に示すように、ABC銀行によって提供されるサーバ1510は、元の契約書類を手書き入力装置10に電子サインのために提供する。入力装置10は、ユーザが契約にサインすることに応答して手書きデータである電子サインを生成し、電子サインを、サインした契約の画像と統合する。入力装置10は、統合ファイルを電子サイン検証サーバ700Bにネットワーク20(例えば、インターネット)を通じて提供する。手書き入力装置10は、専用の手書き収集装置、又は適切に構成されたスマートフォン若しくはタブレットコンピュータのようなペン入力能力を有する汎用装置としてとして実装できる。
図15に示す例において、サーバ1510(又はABC銀行によって制御される他の何らかのサーバ)は、ユーザIDを電子サイン検証サーバ700Bに提供する。電子サイン検証サーバ700Bは、検証方法において使用するためのリポジトリ760内で適切な基準サンプルを選択するためにユーザIDを使用する。
図16は、電子サイン検証サーバ700Bが、1つ以上の識別子(例えば、(文書を電子サインのために提供した団体を特定する)サービスID及びサーバ1510によって提供されるユーザID)に基づき、比較対象となる手書きデータ(基準サンプル)を調べるために使用する表1690を示す。表1690におけるサービスIDの値は、サーバ1510によって定められるが、入力装置10などによって提供されても良い。表1690に示すように、基準となる電子サインは、いかなる言語で記載されてあっても良く、かつ1つを超える基準電子サインとなる基準サンプルが、単一のユーザに関して利用可能であっても良い。
再び図15を参照すると、電子サイン検証サーバ700Bは、電子サインに含まれた試験サンプルを基準サンプルと比較することにより、入力装置10によって提供された電子サインを検証する。電子サイン検証サーバ700Bは、試験サンプルと基準サンプルの照合結果が所定の基準値と比して良好であるか(「OK」)か、又は良好でない(「NG」)かのいずれかを示す検証結果を、入力装置10に返す。このようにすることで、サービスIDの値ABCを利用する事業主体とサービスIDの値XYZを利用する事業主体とが異なる場合にも、事業主体を越えて共通のプラットフォームとして電子サインを用いた認証を行うことが可能となる。
図17は、手書きデータに基づいたユーザ認証システム及び方法の図である。図17に示される説明に役立つコンピュータシステム及び手書きデータに基づくユーザ認証方法は、本明細書に記載された手書き検証技術、又は他の手書き検証技術をユーザ認証のために、実装に応じて使用できる。
図17に示す例において、入力装置10は、ペン/スタイラス装置11により電子的にサインすることによってコンピュータシステムにサインインしようと試みるユーザに応答して電子サイン(試験サンプル)を生成する。入力装置10は、電子サイン(試験サンプル)をユーザ装置ID(例えば、ペン/スタイラス装置11と関連したスタイラスID)と共に電子サインによるサインインサーバ1720にネットワーク20(例えば、インターネット)を通じて提供する。
図17に示す例において、電子サインによるサインインサーバ1720は、入力装置10によって提供される試験サンプルに基づいてリポジトリ760に保持された複数の基準サンプル群との照合の度合いを導出し、最も照合の度合いが良好であった「名前ID」を検索する。電子サインによるサインインサーバ1720は、検証方法を使用して、入力装置10によって提供された試験サンプルが、データベース1730に記憶された1つ以上の基準サンプルと関連した対応する基準サンプルと一致するかを判定し得る。
図18Aは、試験サンプルに基づき(例えばデータベース1730中で)識別子を調べるために使用され得る表の説明図である。特に、図18Aは、電子サインによるサインインサーバ1720が、入力装置10によって提供される試験サンプルに基づいて、名前ID(例えば、サービスIDとローカルIDとの組み合わせ)を特定するために用いる表1890を示す。ローカルIDの値はユーザ毎に付与される値である。
再び図17を参照する。電子サインによるサインインサーバ1720は、ユーザ装置ID及び名前ID(例えば、ローカルIDとサービスIDとの組み合わせ)を装置IDサーバ1710に送信する。図18Bは、他の識別子に基づき基準装置ID(例えば、スタイラスID)を調べるために使用され得る表の説明図である。特に、図18Bは、装置IDサーバ1710が、電子サインによるサインインサーバ1720によって提供される名前IDに対応する基準装置IDを調べるために使用し得る表1892を示す。表項目中の基準装置IDが、電子サインによるサインインサーバ1720によって送信されるユーザ装置IDと照合するならば、装置IDサーバ1710は、入力装置10に認証情報を返信し得る。図17に示す例において、認証情報は、「成功」又は「失敗」の認証結果を含む。尚、成功/失敗の結果に替えて、この例において伝送される認証情報は、(例えば、「成功」の場合に)ログイン処理を完了するために必要とされ得るユーザID及びパスワードを含み得る。このようにすることで、ユーザ装置IDと電子サインとの組み合わせによる認証において、ユーザ装置IDを保持するサーバ(あるいは事業体)と、電子サインの基準サンプルを保持するサーバ(あるいは事業体)とを分離することができ、実社会のサービス運用上、事業体毎の役割を分別することができ好適である。
図19Aは、他のユーザ認証システム又は方法の概念図である。この例において、ユーザ認証方法は、「Book+」と呼ばれるソーシャルネットワークサービスにアクセスを提供されるために使用されるログイン処理である。しかしながら、他のサービスにも同様にアクセスし得る。
図19Aに示すように、まず、図中手順1にて、手書き入力装置10は、(例えば、ブラウザアプリケーションを使用してサービスと関連したウェブサイトにナビゲートすることによって、又はサービスと関連した専用のアプリケーションを起動することによって)サービスと関連したログイン処理を起動する。次に、図中手順2にて、装置10は、ペン/スタイラス装置(図示せず)をユーザが操作することにより生成される(例えば入力フィールド1902の)電子サインデータをキャプチャする。次に、図中手順3にて、装置10は、検証すべき試験サンプルを含む電子サインを送信する。ここで、電子サインは、装置10及び/又はペン/スタイラス装置に関連した装置ID、及びネットワーク20(例えば、インターネット)を通じた電子サインによるサインインサービス1920に対するサービスに関連したサービスID(例えば、「Book+」)と共に送信される。
図19Aに示す例において、電子サインによるサインインサービス1920は、(例えば、本明細書に記載された技術又は他の技術により、電子サインにふくまれる試験サンプルを基準サンプルと比較することによって、)試験サンプルを検証し、かつ検証結果に少なくとも部分的に基づき、認証情報(例えば、ユーザID及びパスワード情報)を得る。電子サインによるサインインサービス1920は、従前からの、ユーザID及びパスワードのように装置10によって提供される複数の入力項目によるサインインを行うのではなく、1つのユーザ入力(電子サイン)を使用して、ユーザが認証されることを可能にする「ワンパス」サインインサービスとして実装される。
図19Bは、ユーザ認証が成功したならば、電子サインによるサインインサービスから返送され得る認証情報(例えば、ユーザID及びパスワード)と共に、ユーザを認証するための電子サインによるサインインサービス(例えば、サインインサービス1920)に提供され得る情報を説明する表1990を示す。図19Bに示す例において、ペン/装置ID、検証すべき試験サンプルと関連した基準サンプル、及びサービスID(例えば、「Book+」)は、ユーザ装置(例えば、入力装置10)から受信でき、かつサービスIDによって識別されるサービスに対してユーザ装置のユーザを認証するために使用される。
再び図19Aを参照すると、電子サインによるサインインサービス1920は、装置ID及びサービスIDのような情報を使用して、データベース1930中で、ユーザと関連した1つ以上の基準サンプルを抽出できる。電子サインによるサインインサービス1920は、次に、本発明に係る手書きデータ検証方法などの手書きデータ検証方法を使用して、入力装置10によって提供された署名データが、基準署名と一致するかを判定し得る。一旦ユーザが電子サインによるサインインサービス1920によって認証されると、サービス1920は、ユーザID及びパスワードを装置10に伝送し得る。ユーザID及びパスワードは、次にログイン処理を完了するために使用され得る。例えば、装置10は、ユーザ名(例えば、Eメールアドレス)及びパスワードをユーザインタフェース中の適切な欄に自動的に記入できる。この方法により、電子サインが適切な場合に、電子サインに対応するユーザIDとパスワードをユーザの装置に提供する本発明の方法により、従前からユーザIDとパスワードとの入力を要していたサービスにおいても応用可能な電子サインによる認証が可能となる。
実際には、電子サインによるサインインサービス(例えば、サインインサービス1920)によってユーザが確実に認証されることを可能にする情報のいかなる収集も、ユーザ認証のために使用され得る。データベース(例えば、データベース1930)中で特定のユーザを調べるために使用できる特定の情報は、署名サインインサービスに伝送される情報、データベース内に記憶される情報、及びデータベースが設計される方法のような因子に応じて異なり得る。
セキュリティのため、手書きデータ検証に関連するいかなる情報、及び関連したユーザ認証方法(例えば、手書きデータ、装置識別子、サービス識別子、認証情報等)も、(例えば、対称(例えば、共有秘密鍵)又は非対称(例えば、公開鍵)暗号化を使用して)暗号化され得る。暗号化された情報は、更なる処理が、根底にある情報に関して実行される前に、復号化できる。例えば、暗号化試験署名データは、試験署名データを基準署名データと比較する前に復号化できる。
具体的な例の文脈において、別段の指示がない限り、記載された技術及びツールは、ラップトップコンピュータ、デスクトップコンピュータ、スマートフォン、タブレットコンピュータ等を含むが、それらに限定されない、いかなる適切なコンピューティング装置によっても実装できる。例えば、本明細書に記載した幾つかの例において手書きデータの生成は、電子ペンのようなある種のハードウェアの特徴を必要とすることがあるが、電子ペンによって生成された未加工データは、ラップトップコンピュータ、デスクトップコンピュータ、スマートフォン、タブレットコンピュータ等を含むが、それらに限定されない、適切に構成された汎用コンピューティング装置に伝送でき、かつそれにより処理できる。
本明細書に記載された機能性によっては、クライアント−サーバ関係の状況で実装できる。この状況において、サーバ装置は、本明細書に記載された情報及び/又はサービスを提供するように構成された適切なコンピューティング装置を含んでも良い。サーバ装置は、専用のサーバ装置のような、いかなる適切なコンピューティング装置を含んでも良い。サーバ装置によって提供されるサーバ機能性は、場合により、専用のサーバ装置でないコンピューティング装置上で実行するソフトウェア(例えば、仮想化コンピューティングインスタンス又はアプリケーションオブジェクト)によって提供できる。用語「クライアント」は、サーバによって通信リンクを通じて提供される情報及び/又はアクセスサービスを得るコンピューティング装置を指すために使用され得る。しかしながら、クライアント装置のような特定の装置の指定は、必ずしもサーバの存在を必要としない。種々の時点で、単一の装置が、状況及び構成に応じてサーバ、クライアント、又はサーバ及びクライアントの両者の役目を果たせる。クライアント及びサーバの実際の物理的な位置は、必ずしも重要でないが、クライアントがリモート位置のサーバによって提供される情報を受信する、共通の使用シナリオを説明するために、位置は、クライアントに関して「ローカル」、かつサーバに関して「リモート」と記載され得る。
図20は、本開示の実施態様に従った使用に適した例示的なコンピューティング装置2000の態様を説明するブロック図である。下記記載は、サーバ、パーソナルコンピュータ、携帯電話、スマートフォン、タブレットコンピュータ、埋設されたコンピューティング装置、及び本開示の実施態様により使用できる、他の現在利用可能な、又はこれから開発される装置に適用できる。
コンピューティング装置2000は、その最も基本的な構成において、少なくとも1つのプロセッサ2002と、通信バス2006によって接続されたシステムメモリ2004とを含む。装置の正確な構成及びタイプに応じて、システムメモリ2004は、リードオンリーメモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、EEPROM(Electrically Eraseble and Programmable Read Only Memory)、フラッシュメモリ又は他のメモリ技術のような揮発性又は非揮発性メモリであっても良い。当業者等は、システムメモリ2004が、プロセッサ2002によって現在操作され、かつ/又は即時アクセス可能な、データ及び/又はプログラムモジュールを概して記憶することを認識するであろう。この点に関して、プロセッサ2002は、命令の実行を支援することによって、コンピューティング装置2000のコンピュータセンタとして役立つことがある。
図20に更に説明されるように、コンピューティング装置2000は、他の装置とネットワークを通じて通信するための1つ以上の部品を含むネットワークインタフェース2010を含んでも良い。本開示の実施態様は、ネットワークインタフェース2010を利用する基本サービスにアクセスでき、共通のネットワークプロトコルを使用して、通信を実行する。ネットワークインタフェース2010は、WiFi(Wireless Fidelity)、2G(2nd Generation)、3G(3rd Generation)、4G(4th Generation)、LTE(Long Term Evolution)、WiMAX(Worldwide Interoperability for Microwave Access)、Bluetooth(登録商標)等のような1つ以上のワイヤレス通信プロトコルを通じて通信するように構成されたワイヤレスネットワークインタフェースも含んでも良い。
図20に示される例示的な実施態様において、コンピューティング装置2000は、ストレージ媒体2008も含む。しかしながらデータをローカルストレージ媒体に保持する(persist)手段を含まないコンピューティング装置を使用して、サービスにアクセスできる。それ故に、図20に示されるストレージ媒体2008は、任意である。いずれにせよ、ストレージ媒体2008は、揮発性、又は非揮発性、取り外し可能、又は取り外し不可能であり、ハードドライブ、半導体ドライブ、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、又は他のディスクストレージ、磁気テープ、磁気ディスクストレージ等のような、但しそれらに限定されない情報を記憶することが可能ないずれかの技術を使用して、実装できる。
本明細書で使用されるような、用語「コンピュータ可読媒体」は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータのような、情報を記憶可能ないかなる技術又は方法に実装される揮発性及び非揮発性、並びに取り外し可能及び取り外し不可能な媒体を含む。この点に関して、図20に示されるシステムメモリ2004及びストレージ媒体2008は、コンピュータ可読媒体の例である。
説明を容易にするために、また特許請求された主題を理解をするために重要でないので、図20は、多くのコンピューティング装置の典型的な部品の幾つかを示さない。この点に関して、コンピューティング装置2000は、キーボード、キーパッド、マウス、トラックボール、マイクロホン、ビデオカメラ、タッチパッド、タッチスクリーン、スタイラス等のような入力装置を含んでも良い。かかる入力装置は、RF(Radio Frequency)、赤外線、直列、並列、Bluetooth(登録商標)、USB(Universal Serial Bus)、又は無線若しくは物理的接続を使用する他の適切な接続プロトコルを含む、有線又は無線接続によってコンピューティング装置2000に連結できる。
いずれの記載例においても、データは、入力装置によって捕捉され、かつ将来の処理のために伝送又は記憶され得る。処理は、データストリームを符号化することを含んでも良く、データストリームは、出力装置による提示のためにその後に復号化され得る。メディアデータは、マルチメディア入力装置によって捕捉され、かつメディアデータストリームをコンピュータ可読ストレージ媒体(例えば、クライアント装置、サーバ、管理者装置、又は他の装置上の持続性ストレージ、又はメモリ内)のファイルとして保存することによって記憶される。入力装置は、コンピューティング装置2000(例えば、クライアント装置)から離れても良く、かつ通信可能に連結されても良いか、又はコンピューティング装置2000の一体部品であっても良い。幾つかの実施態様において、複数の入力装置は、単一の多機能入力装置(例えば、統合されたマイクロホンを有するビデオカメラ)に組み合わせても良い。現在知られているか、又は将来開発されるいかなる適切な入力装置も、本明細書に記載されたシステムによって使用できる。
コンピューティング装置2000は、ディスプレイ、スピーカ、プリンタ等のような出力装置も含んでも良い。出力装置は、ディスプレイ又はタッチスクリーンのようなビデオ出力装置を含んでも良い。出力装置は、外部スピーカ又はイヤホンのような音声出力装置も含んでも良い。出力装置は、コンピューティング装置2000から離れても良く、かつ通信可能に連結されても良いか、又はコンピューティング装置2000の一体部品であっても良い。幾つかの実施態様において、複数の出力装置は、単一の装置(例えば、内蔵スピーカを有するディスプレイ)に組み合わせても良い。現在知られているか、又は将来開発されるいかなる適切な出力装置も、記載されたシステムによって使用できる。
一般的に、本明細書に記載されたコンピューティング装置の機能性は、C、C++、COBOL(COmmon Business Oriented Language)、JAVA(登録商標)、PHP(PHP: Hypertext Preprocessor)、Perl(Practical Extraction and Report Language)、HTML(HyperText Markup Language)、CSS(Cascading Style Sheets)、JavaScript(登録商標)、VBScript(Visual Basic Script)、ASPX、C#のようなMicrosoft.NET言語のようなプログラミング言語等で書かれ得るハードウェア又はソフトウェアの命令において実施されるコンピューティングロジックに実装できる。コンピューティングロジックは、実行可能なプログラムにコンパイルできるか、又はインタプリタ形式のプログラミング言語で書かれる。一般的に、本明細書に記載された機能性は、高い処理能力を提供するために複製されるか、他のモジュールと併合されるか、又はサブモジュールに分割され得るロジックモジュールとして実装され得る。コンピューティングロジックは、いかなるタイプのコンピュータ可読媒体(例えば、メモリ又はストレージ媒体のような非一時的媒体)又はコンピュータストレージ装置にも記憶でき、かつ1つ以上の汎用又は特殊用途のプロセッサに記憶でき、かつそれにより実行され、従って本明細書に記載された機能性を提供するように構成された特殊用途のコンピューティング装置を作り出せる。
[拡張及び代替案]
本明細書に記載されたシステム及び装置の多くの代替案が、可能である。例えば、個別のモジュール又はサブシステムは、追加のモジュール又はサブシステムに分離されるか、又は少数のモジュール又はサブシステムに組み合わされ得る。もう1つの例として、モジュール又はサブシステムは、省略されるか、又は他のモジュール又はサブシステムを補足され得る。もう1つの例として、特定の装置、モジュール、又はサブシステムによって実行されるとして示される機能は、1つ以上の他の装置、モジュール又はサブシステムによって代わりに実行されても良い。本開示における幾つかの例は、特定の配列における特定のハードウェア部品を含む装置の記載を含むが、本明細書に記載された技術及びツールは、異なるハードウェア部品、組み合わせ、又は配列を受け入れるために修正され得る。更に、本開示における幾つかの例は、特定の使用シナリオの記載を含むが、本明細書に記載された技術及びツールは、異なる使用シナリオを受け入れるために修正され得る。ソフトウェアに実装されているとして記載される機能性は、代わりにハードウェアに、又はその逆に実装され得る。
本明細書に記載された技術の多くの代替案が、可能である。例えば、種々の技術における処理段階は、追加の段階に分離されるか、又はより少数の段階に組み合わされ得る。もう1つの例として、種々の技術における処理段階は、省略されるか、又は他の技術又は処理段階を補足され得る。もう1つの例として、特定の順序で起こるとして記載される処理段階は、代わりに別の順序で起こり得る。もう1つの例として、一連のステップで実行されるとして記載される処理段階は、代わりに並行して扱われても良く、複数のモジュール又はソフトウェアプロセスが、1つ以上の説明された処理段階を同時に扱う。もう1つの例として、特定の装置又はモジュールによって実行されるとして示される処理段階は、1つ以上の他の装置又はモジュールによって代わりに実行されても良い。
本開示の原理、代表的な実施態様及び動作形態は、前述の記載において記載された。しかしながら、保護することを意図する本開示の態様は、開示された特定の実施態様に限定されると解釈されるべきではない。更に、本明細書に記載された実施態様は、制限的であるよりもむしろ説明に役立つとみなされるべきである。本開示の趣旨から逸脱しない範囲で変形例及び変更が他人によってなされ、かつ同等物が用いられることが理解されよう。従って、全てのかかる変形例、変更及び同等物が、特許請求された主題の趣旨及び範囲内にあることが明確に意図される。