JP7050725B2 - ユーザ認証方法及び手書きサインインサーバ - Google Patents

ユーザ認証方法及び手書きサインインサーバ Download PDF

Info

Publication number
JP7050725B2
JP7050725B2 JP2019132908A JP2019132908A JP7050725B2 JP 7050725 B2 JP7050725 B2 JP 7050725B2 JP 2019132908 A JP2019132908 A JP 2019132908A JP 2019132908 A JP2019132908 A JP 2019132908A JP 7050725 B2 JP7050725 B2 JP 7050725B2
Authority
JP
Japan
Prior art keywords
data
sign
pen
handwritten
stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019132908A
Other languages
English (en)
Other versions
JP2020009452A (ja
Inventor
ホールデン マーティン
メットイヤー ニコラス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wacom Co Ltd
Original Assignee
Wacom Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/080,723 external-priority patent/US9235748B2/en
Application filed by Wacom Co Ltd filed Critical Wacom Co Ltd
Publication of JP2020009452A publication Critical patent/JP2020009452A/ja
Application granted granted Critical
Publication of JP7050725B2 publication Critical patent/JP7050725B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/30Writer recognition; Reading and verifying signatures
    • G06V40/37Writer recognition; Reading and verifying signatures based only on signature signals such as velocity or pressure, e.g. dynamic signature recognition
    • G06V40/394Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/754Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries involving a deformation of the sample pattern or of the reference pattern; Elastic matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/226Character recognition characterised by the type of writing of cursive writing
    • G06V30/2268Character recognition characterised by the type of writing of cursive writing using stroke segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/333Preprocessing; Feature extraction
    • G06V30/347Sampling; Contour coding; Stroke extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/30Writer recognition; Reading and verifying signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/30Writer recognition; Reading and verifying signatures
    • G06V40/33Writer recognition; Reading and verifying signatures based only on signature image, e.g. static signature recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/30Writer recognition; Reading and verifying signatures
    • G06V40/37Writer recognition; Reading and verifying signatures based only on signature signals such as velocity or pressure, e.g. dynamic signature recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/30Writer recognition; Reading and verifying signatures
    • G06V40/37Writer recognition; Reading and verifying signatures based only on signature signals such as velocity or pressure, e.g. dynamic signature recognition
    • G06V40/382Preprocessing; Feature extraction
    • G06V40/388Sampling; Contour coding; Stroke extraction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6064Selection of Compressor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Collating Specific Patterns (AREA)
  • Character Discrimination (AREA)
  • User Interface Of Digital Computer (AREA)

Description

電子手書きは、種々の状況において次第に重要になっている。例えば、電子手書きは、クレジットカード取引のクレジットカード所有者の確認を得るためにペン及び紙の代わりに一般的に使用されるようになってきている。電子手書きが一般的になるにつれ、電子手書きの真正性を検証する能力もますます重要になっている。
特許文献1は、一方のサインを他方のサインと比較する「弾性マッチング」方法を記載する。この方法は、測定点の局所空間的近傍の間の相関を最大にし、かつ同時に、マッピングからの弾性空間的歪みの曲率を最小にするように、サイン記入の開始後に、別の時に測定された比較すべき2つのサイン中の対応する点の間のマッピングを作り、マッピング中の空間的相関度及び不均一な空間的歪み度の両方の定量的尺度を提供し、それによりサイン間の類似性の尺度を提供する工程を含む。
米国特許第6,487,310号明細書
電子サイン検証の正確さに加え、シグネチャ等の手書きデータを記録する方法は重要なテーマである。近年の手書き入力装置は、従来のデジタイザの機能を拡張し、類似するものの異なる機能を有する多くのタイプのハードウェアがある。あらゆるタイプの装置によってキャプチャされた手書きデータに対して互換性を確保するために、手書きデータの記録フォーマットとして適応性のあるデータフォーマットが望まれる。
この発明の概要は、詳細な説明において以下で更に記載するいくつかの概念を、簡略化された形で紹介するために提供される。この発明の概要は、特許請求された主題の主要な特徴を特定することを意図したものではなく、特許請求された主題の範囲を決定するために使用されることも意図されない。
本開示の少なくとも1つの態様において、手書き検証方法は、複数の利用可能なパラメータを含み、複数の利用可能なパラメータが、幾何学的パラメータと、1つ以上の非幾何学的パラメータとを含む、手書き試験サンプルを得ること、複数の利用可能なパラメータから幾何学的パラメータを抽出すること、幾何学的パラメータに基づき、手書き試験サンプル中に均等に分布した複数の特徴点の各々のx位置値と、y位置値とを含む幾何学的特徴を導き出すこと、手書き試験サンプルの幾何学的特徴と、基準サンプルの幾何学的特徴との間で第1特徴照合を行うこと、特徴照合に少なくとも部分的に基づき手書き検証結果を判定すること、及び手書き検証結果を出力することを含む。幾何学的特徴は、方向及び曲率値のような、幾何学的パラメータから導出された値を更に含んでも良い。手書き検証結果の判定は、非リンク特徴点の数に更に基づき得る。
第1特徴照合は、試験サンプル中に均等に分布した1つ以上の特徴点と、基準サンプル中に均等に分布した1つ以上の特徴点との間でマッピングを求めることを含み得る。第1特徴照合は、シミュレーテッドアニーリング処理を含み得る。シミュレーテッドアニーリング処理は、基準サンプル中で特徴点を選択すること、擬似ランダム値を生成すること、擬似ランダム値を定数と比較すること、及び比較に基づき、基準サンプル中の選択された点からリンクを外すか、又は基準サンプル中の選択された特徴点と、試験サンプル中の選択された特徴点との間で新規リンクを定義するかを判定することを含み得る。判定ステップは、定数の値に基づき、既存のリンクを外すことよりも新規リンクを定義することに偏り得る。新規リンクが定義されるならば、新規リンクと交差する以前存在したいかなるリンクも外すことができる。
第2特徴照合も行うことができ、非幾何学的パラメータ(例えば、速度又は加速度のような、時間に関連したパラメータ、又は経時的筆圧)の評価を含んでも良い。第2特徴照合は、基準サンプルの開始点から基準サンプルの第i点までの圧力-時間図の区域と、試験サンプルの開始点から試験サンプルの第i点までの圧力-時間図の区域とを比較することを含んでも良い。手書き検証結果は、第2特徴照合に更に基づき得る。
もう1つの態様において、手書き検証方法は、手書き試験サンプルの幾何学的特徴と、基準サンプルの幾何学的特徴との間で特徴照合を行い、特徴照合が、試験サンプル中に均等に分布した1つ以上の特徴点と、基準サンプル中に均等に分布した1つ以上の特徴点との間で1つ以上のリンクを定義することを含むこと、試験サンプル中の連続した非リンク特徴点の数を得ること、及び手書き検証結果を出力し、手書き検証結果が、特徴照合と、試験サンプル中の連続した非リンク特徴点の数に少なくとも部分的に基づくことを含む。
もう1つの態様において、ユーザ認証方法は、試験サインデータと、ユーザ装置識別子(ID)とをユーザ装置から受信すること、試験サインデータと関連した名前IDを検索すること、名前IDを得ること、名前IDと関連した基準装置IDを検索すること、基準装置IDをユーザ装置IDと比較すること、及び比較に基づき、ユーザ装置に認証情報(例えば、認証結果)を提供することを含む。装置IDは、例えばペン又はスタイラスと関連したペンID又はスタイラスIDであっても良い。
もう1つの態様において、ユーザ認証方法は、試験サインデータ(例えば、暗号化された試験サインデータ)と、装置IDと、サービスIDとをユーザ装置から受信し、サービスIDが、ユーザ装置上で実行するサービスに関連すること、試験サインデータを基準サインデータと比較すること、比較結果に基づきユーザ装置上で実行するサービスと関連した認証情報(例えば、ユーザID及びパスワード)を得ること、及び認証情報をユーザ装置に提供することを含む。試験サインデータが、基準サインデータと一致するならば、試験サインデータは、基準サインデータに(例えば、将来の認証のための補足情報として)追加しても良い。
もう1つの態様において、手書きデータ入力装置によって使用されるように構成されたコンピュータで実行される方法は、複数の異なる属性値を各々が含むペンイベントのシーケンスを含む未加工の手書きデータを得ること、未加工の手書きデータから、異なる属性のうちの単一の属性に関するデータを各々が含む複数のストリームを含むストリームデータを生成すること、未加工の手書きデータから、ストロークデータ及び/又は画像データを生成すること、及びストリームデータ、又はストロークデータ及び/若しくは画像データを選択的に出力することを含む。選択的出力は、アプリケーションからの要求に少なくとも部分的に基づいても良く、かつストリームデータをストロークデータ及び/又は画像データと(例えば、ステガノグラフィー方法として)統合することを含んでも良く、それにより未加工の手書きデータのオリジナルの内容をストロークデータ及び/又は画像データと単一ファイル中に再度組み合わせる。
ストリームデータを生成することは、無損失性(可逆)データ処理を含んでも良く、かつストロークデータ及び/又は画像データを生成することは、損失性(非可逆)データ処理を含んでも良い。無損失性(可逆)データ処理は、タイムスタンプ情報を保存することを含んでも良く、かつ損失性(非可逆)データ処理は、タイムスタンプ情報を破棄することを含んでも良い。無損失性(可逆)データ処理は、オリジナルの精度レベルで値を保存することを含んでも良い。損失性(非可逆)データ処理は、少なくとも幾つかの値に関してオリジナルの精度レベルを低下させることを含んでも良い。
ストリームデータを生成することは、複数のストリームに関連したIDを(例えばストリームデータのヘッダに)挿入することを含んでもよい。ストリームデータを生成することは、IDに基づき、複数のストリームの各々の複数の利用可能な圧縮技術から圧縮技術を選択すること、及び選択された圧縮技術を複数のストリームの各々に適用することも含んでも良い。
複数の利用可能な圧縮技術は、(i)圧縮なし及び(ii)デルタ符号化を含んでもよい。デルタ符号化は、デルタ値のランレングス符号化を含んでも良い。選択された圧縮技術を適用することは、デルタ符号化をx座標値又はy座標値に適用すること含んでも良い。
選択された圧縮技術は、以下の処理:現在の符号化対象の値として、手書きデータ値のシーケンス中のk番目の値を得ること(kは、指標値である)、k番目の値の符号化前に得られた値に基づきk番目の値の予測値を計算すること、現在の目標値及びk番目の値の予測値に基づき、k番目の値の予測残差値を計算すること、及び小さい絶対予測残差値に関して短いビットストリングを、かつ大きい絶対予測残差値に関して長いビットストリングをマッピングするエントロピー符号化方法を使用することによって、予測残差値を符号化することも含んでも良い。エントロピー符号化方法は、ストリームタイプに応じて可変長コード表を切り換えることを含んでも良い。
もう1つの態様において、コンピュータシステムは、未加工の手書きデータに基づきストリームデータを生成するように構成されたストリームデータ生成部であって、ストリームデータは、複数のストリームを含み、ストリームデータ生成部は、複数のストリームを適応的に符号化するように構成された無損失性(可逆)ストリーム適応エンコーダを含むストリームデータ生成部と、未加工の手書きデータに基づきストロークデータ及び/又は画像データを生成するように構成された損失性(非可逆)データ処理部を含む。コンピュータシステムは、ストリームデータ並びにストロークデータ及び/又は画像データを統合データに統合するように構成された統合部も含んでも良い。統合データは、符号化された手書きデータが内部に挿入されたデジタル画像を含んでも良い。
サンプル手書きデータの真正性を検証するように構成された説明に役立つクラウドコンピューティング構成の高レベルの図である。 説明に役立つ手書きデータ処理部の機能ブロック図である。 複数のペンイベントを含む手書きサインの説明図である。 ペン装置に関して検出され得る回転、高度及び方位角パラメータの図である。 ペンイベント及びかかるペンイベントのデータシーケンス順序を表すために使用され得るデータ構造例の説明図である。 手書き検証サーバにおいて実装できる手書き検証サービスの機能ブロック図である。 動的手書き検証方法例のフロー図である。 手書き経路に沿った特徴点の説明図である。 それぞれの特徴点のx位置及びy位置の計算を説明するグラフである。 以前の特徴点及び後続の特徴点のx位置及びy位置に基づく、現在の特徴点の方向の計算を示す説明図である。 以前の特徴点及び後続の特徴点のx位置及びy位置に基づく、現在の特徴点の曲率の計算を示す説明図である。 特徴照合技術により、試験サンプルと、基準サンプルとの間で構築されるマッピングの図である。 手書き検証方法で使用され得るアニーリング処理例のフロー図である。 手書き検証方法で使用されるアニーリング処理中のエネルギー増加を可能にする条件を説明するグラフである。 手書き検証方法で使用されるアニーリング処理において一連のリンクが変更され得るプロセス例のフロー図である。 手書き検証方法で使用されるアニーリング処理中の一連のリンクの説明に役立つ変更の図である。 手書き検証方法でアニーリングが繰り返され得るプロセス例のフロー図である。 多数のサインに関してリンクされる特徴の比率及び平均リンクエネルギーが示された試験の結果を示すグラフである。 連続した非リンク特徴点の数を含むサンプル照合プロセス例のフロー図である。 連続した非リンク特徴点の数を含むサンプル照合プロセスによって処理できる試験サンプルの説明図である。 連続した非リンク特徴点の数を含むサンプル照合プロセスによって処理できる基準サンプルの説明図である。 2つの手書きサンプル中の特徴点に対応する経過時間値の比較結果を説明するグラフである。 サイン開始から特徴iまでの圧力-時間図の区域を説明するグラフである。 2つの手書きサンプル中の特徴点に対応する圧力値-時間値の比較結果を説明するグラフである。 試験サンプルが基準サンプルと一致するか、又は一致しないかに関する判定がなされた後に使用され得る後処理プロセス例のフロー図である。 サインの真正性を検証する、説明に役立つコンピュータシステム及びプロセスの図である。 1つ以上のIDに基づき基準IDを調べるために使用され得る表の説明図である。 適切に構成されたコンピューティングシステムにおける説明に役立つ手書きに基づくユーザ認証プロセスの図である。 サインデータに基づきIDを調べるために使用され得る表の説明図である。 他のIDに基づき装置IDを調べるために使用され得る表の説明図である。 適切に構成されたコンピューティングシステムにおけるもう1つの説明に役立つ手書きに基づくユーザ認証プロセスの図である。 図19Aに示すユーザ認証プロセスに使用され得るデータの表の説明図である。 統合手書きデータを生成するように構成された、説明に役立つシステムの高レベルの図である。 図20に示した手書きデータ処理部の説明に役立つ実施態様の機能ブロック図である。 手書きデータ処理要素のもう1つの説明に役立つ実施態様の機能ブロック図である。 記載された実施態様によって使用できる説明に役立つクラウドコンピューティング構成の図である。 記載された実施態様によって使用できる説明に役立つクラウドコンピューティング構成の図である。 ペンアップ点及びペンダウン点が示された、電磁共鳴技術を使用するシステムによって検出された手書きサインを含む電子手書きにおける座標位置の説明図である。 ペンアップ点及びペンダウン点が示された、電磁共鳴技術を使用するシステムによって検出された芸術的図面を含む電子手書きにおける座標位置の説明図である。 手書きデータ処理部に提供できる、ペンイベント及びかかるペンイベントのデータシーケンス順序を表すために使用できるデータ構造例の説明図である。 ストリーム生成部の説明に役立つ実施態様の機能ブロック図である。 ストリーム発生器からの出力に表しても良い手書きデータ例を説明する表である。 ストリーム適応エンコーダによって実行できる適応符号化方法の例を説明するフロー図である。 図27に示した適応符号化方法で使用できる第1符号化方法の例を説明するフロー図である。 32v符号化技術を説明する図である。 32v符号化技術を説明するフロー図である。 ストリームエンコーダから出力できるデータ構造例の図である。 代替的な第1符号化方法を説明するフロー図である。 図31に示す代替的な第1符号化方法で実行できる予測残差計算を説明する図である。 それぞれのデルタ値、予測値及び予測残差に対する幾つかのx座標値例の図である。 図33に示すデルタ値及び予測残差の頻度を示すヒストグラムである。 99のサンプル手書きサインの実験結果の結果を示す表とヒストグラムである。 99個のサンプルの手書きサインの実験結果の結果を示す表とヒストグラムである。 デルタ値又は予測残差のような値を符号化するために使用される可変長符号化方法例を示す表を示す。 図37の可変長符号化方法のx座標値の予測残差に対する適用結果を示す表を示す。 図37の可変長符号化方法の圧力値の予測残差に対する適用結果を示す表を示す。 コンテキストに基づく符号化方法選択プロセスのフロー図である。 コンテキストに基づく符号化方法の可変長コード(VLC)表例を示す。 コンテキストに基づく符号化方法の可変長コード(VLC)表例を示す。 符号化された値の予測残差による復号方法を示す復号方法のフロー図である。 画像データ処理部の説明に役立つ実施態様の機能ブロック図である。 ストローク及び画像データ処理部の説明に役立つ実施態様の機能ブロック図である。 損失性(非可逆)データ処理部によって生成された画像データから表示され得る画像の説明図である。 損失性(非可逆)データ処理部によって生成された画像データから表示され得る画像の説明図である。 ストロークデータ処理部の説明に役立つ実施態様の機能ブロック図である。 ストリームデータを画像データに挿入するステガノグラフィープロセスの機能ブロック図である。 符号化バイナリ手書きデータを画像に挿入する一般化技術のフロー図である。 画素の擬似ランダム選択における16ビットのバイナリデータの説明に役立つ分布の図である。 符号化バイナリ手書きデータをデジタル画像に挿入するステガノグラフィープロセスを説明する詳細フロー図である。 統合部の説明に役立つ実施態様の機能ブロック図である。 統合部のもう1つの説明に役立つ実施態様の機能ブロック図である。 本開示の実施態様に従った使用に適した代表的なコンピューティング装置の態様を説明するブロック図である。
同種の数字が同種の要素を参照する、添付図面に関連して以下に示す詳細な説明は、開示された主題の種々の実施態様の説明として意図され、かつ実施態様のみを表すことを意図するものではない。この開示に記載された各実施態様は、単に例又は説明として提供され、かつ他の実施態様よりも好ましい、又は好適であると解釈されるべきでない。本明細書に提供された説明に役立つ例は、網羅的であるか、又は特許請求された主題を、正確な開示された形に限定することを意図するものではない。
以下の記載において、複数の具体的な詳細が、本開示の代表的な実施態様の徹底した理解を提供するために示される。しかしながら、本開示の多くの実施態様が、幾つか又は全部の具体的な詳細なしで実施できることは、当業者にとって明白であろう。場合により、本開示の種々の態様を不必要に不明瞭にしないため、周知のプロセスステップは、詳細に記載されなかった。更に、本開示の実施態様が、本明細書に記載された特徴のいかなる組み合わせを用いても良いことが認識されるであろう。
I.動的手書き検証及び手書きに基づくユーザ認証
本開示の幾つかの実施態様は、電子サイン又は他の電子手書きを検証することを対象とする。サインが真正であるかを判定することは、多くの課題をもたらす。1つの課題は、同一の人物によってなされた真正なサインが、ある程度の変動性を常に有することである。もう1つの課題は、真正なサイン間の変動性の程度が人によって異なることである。従前では、変動性レベルの判定は、別の時間に、検証に使用され得るテンプレートに収集された幾つかの基準サンプルを組み合わせることによってなされる。しかし、別の時間に幾つかの基準サンプルを収集することは、多くの業務プロセスに上手く適合しない。例えば銀行は、比較するために単一の基準サインを伝統的に保管する。従って、単一の基準サインを使用して行う検証方法の精度を改良する能力が好適である。
記載された実施態様において、動的手書き検証エンジンは、試験サンプルが真正であるか判定するために、手書きの試験サンプル(例えば、サイン)に関連した手書きデータを、基準サンプルに関連した手書きデータと比較するように構成される。本明細書に記載された幾つかの実施態様はサインの検証に言及するが、本明細書に記載された実施態様が、あらゆる種類の手書きを検証するために使用され得ること、及びサインの検証に限定されないことが理解されるべきである。
本明細書に記載された実施態様によれば、検証方法は、同一の人物によってなされるサンプル間の自然な不一致に起因する軽微な相違を許容しながら、試験サンプル及び基準サンプル中の幾何学的特徴を照合することを伴う。幾何学的特徴に加えて、検証方法は、現在の手書き収集技術によって生成され得る更なるデータ(例えば、ストローク間のペンの動き、筆圧、ペン角度等)を考慮に入れることもでき、そのことは、検証結果の質を改良し得る。異なる入力装置は、異なるタイプのデータを提供することがあるので、検証方法は、本明細書に記載された実施態様に従って特定の装置によって提供されるデータのタイプに適応し得る。例えば、試験サンプルが圧力情報を含み、かつ基準サンプルが含まないのであれば、検証方法は、圧力情報の分析を省略でき、かつその代わりに2つのサンプルに共通するデータの比較に集中できる。
図1Aは、本明細書に記載された技術による、サンプル手書きデータの真正性を検証するように構成された説明に役立つクラウドコンピューティング配列1の高レベルの図である。図1Aに示す例において、手書き入力装置10、12及び14は、種々の形の手書きデータをネットワーク20(例えば、インターネット)を通じて手書き検証サーバ700に提供する。手書き入力装置10、12及び14は、専用の手書き収集装置、又は適切に構成されたスマートフォン若しくはタブレットコンピュータのような汎用装置として実装できる。手書き入力装置10、12及び14は、本明細書において「入力装置」と称されるが、かかる装置は、入力の収集に限定されず、かつ概して他の機能性も含む(例えば、ディスプレイ機能性、データ伝送機能性等)。
手書きサインが、紙面上になされる時、インクペンは、サインを形成するインクの連続した跡を残す。デジタル化された手書きサインは、一般に一定の時間間隔で測定された離散データ点の収集を含む。
再び図1Aを参照すると、入力装置10、12、14はいずれも、デジタイザがペンの動きを検出するセンサボードを含み、かつセンサボード表面により生成された磁場によってペンの共振回路内にエネルギーが誘発される、という電磁共鳴(EMR)技術を使用できる。ペンの共振回路は、次にこのエネルギーを使用して磁気信号をセンサボード表面に返信する。ボードは、電子ペンがセンサボード表面に触れなくても、信号がペンからなおも受信できるほど、ペンがセンサボードの十分に近接した中に留まる限り、ペンの座標位置を一定の時間間隔で検出する(有効な信号範囲は使用される特定の技術によって異なり得るが、一般的に約数ミリメートルである)。
あるいは、他の手書き入力技術が使用され得る。例えば、電子ペンは、他のワイヤレス技術を使用できるか、又はワイヤによってデジタイザに接続できる。もう1つの例として、電子ペンは、デジタイザの表面から離れて検出可能であっても良いし、なくても良い。もう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(Universal Serial Bus)接続を介して)若しくはネットワークを通じて通信できる他の装置内に(例えば、ソフトウェア又はハードウェアとして)実装できる。
図1Bに示した例において、手書きデータ処理部100は、入力取扱部101と、ストリーム生成部200と、損失性(非可逆)データ処理部300と、統合部400とを含む。入力取扱部101は、例えばストリーム生成部200及び損失性(非可逆)データ処理部300による更なる処理のために、未加工の手書きデータを転送することに関与する。ストリーム生成部200は、入力として未加工の手書きデータを受信し、かつストリームデータ(例えば、ヘッダ情報と共に、x座標、y座標に関する個別のストリーム、及び圧力情報)を生成する。少なくとも1つの実施態様において、ストリーム生成部200は、無損失性(可逆)符号化技術を使用して、複数のストリームを含む圧縮ストリームデータを生成する。
図1Bに示す例において、損失性(非可逆)データ処理部300は、入力として未加工の手書きデータも受信する。損失性(非可逆)データ処理部300は、損失性(非可逆)データ処理技術(すなわち、データ損失を伴うことがある技術)を使用して、(手書きを画像とするために使用され得る)ストロークデータ及び/又は画像データ(例えば、PNG(Portable Network Graphics)フォーマット又は他の画像データフォーマットでの画像データ)を生成し得る。例えば、損失性(非可逆)データ処理部300は、手書き(例えば、サイン)を視覚的に表示するための描画処理を行うために必要とされることがある、データフォーマット及び処理をするように構成されたインクエンジンを含んでも良い。ストロークデータ及び/又は画像データが、未加工の手書きデータに基づき生成される図1Bに示した構成の代わりに、損失性(非可逆)データ処理部300は、ストリーム生成部200によって提供されるストリームデータに基づき出力を生成し得る。
図1Bに示す例において、統合部400は、ストリームデータ、及びストローク及び/又は画像データを入力として受信し、統合手書きデータを出力する。統合部400は、統合データを単一の出力ファイル(例えば、画像ファイル)で出力するか、又はストリームデータ及び/又はストローク/画像データを別個に出力することができる。少なくとも1つの実施態様において、ストリームデータは、符号化バイナリフォーマットに変換でき、かつ統合データは、ステガノグラフィック技術によりデジタル画像に挿入された符号化バイナリデータというデジタル画像の形態を取り得る。
図1A及び図1Bに示す構成は例に過ぎず、他の多くの構成が可能である。例えば、図1Aでは、手書き入力及び手書き検証が、異なる装置内で(例えば、それぞれ入力装置及び手書き検証サーバ700内で)実行されるとして記載されるが、手書き入力及び手書き検証は、1つの装置内でも実行できる。もう1つの例として、図1Aでは手書き入力装置及び手書き検証サーバがインターネット20のような広域ネットワークを通じてクラウドコンピューティング配列1内で通信を行うものとして描写されているが、入力装置及び手書き検証サーバは、他の方法(例えば、ローカルエリアネットワークを通じて)でも通信できる。もう1つの例として、手書きデータ処理部100がいかにして動作するかの詳細は、実装及び/又は状況に応じて異なることがある。もう1つの例として、手書きデータ処理部100は、本明細書に記載された技術に従って検証すべき手書きデータを提供するために必須ではない。図1Aに示す例において、入力装置14は、未加工のペンイベント情報を生成し、手書きデータ処理部100による中間処理なしで、未加工のペンイベント情報をネットワーク20を通じて手書き検証サーバ700に伝送する。
本明細書に記載された実施態様によれば、検証すべき手書きサンプル(又は「試験サンプル」)は、手書きサイン(図2A参照)、又は印刷文字若しくは芸術的図画のような他のタイプの手書きであり得る。
記載された実施態様において、手書きデータは、ペンイベントのシーケンスとして表され得る。概して、ペンイベントは、(例えば、デジタイザの表面上又は限定された範囲内にある間に)特定の時間でのペン先の位置を記録する。x/y座標値に加えて、手書き入力装置によっては、ペン角度、筆記速度、筆記圧力等のような他の情報を検出することもある。装置の機能に応じて、ペンイベントに関連したペンデータは、筆圧及び角度のような追加の測定を含んでも良い。図2Bに示す例において、回転、高度及び方位角が、ペン装置に関して検出され得るパラメータの中に入る(大きな黒い矢印208によって表される)。
再び図2Aを参照すると、説明に役立つ手書きサイン206Aは、複数のペンイベントを含み、ペンイベントは、ペンが信号範囲内に留まる限り、ペンがデジタイザ表面から持ち上げられている時にもペンイベントが検出され続けることを可能にする技術(例えば、EMR技術)を使用して、ペン装置及びデジタイザによって検出される。図2Aに示す例において、ペンが上にある時に検出された座標は、より薄い点として示され、かつペンが下にある時に検出された座標は、より濃い点として示されている。
図2Cは、ペンイベント及びかかるペンイベントのデータシーケンス順序212を表すために使用され得るデータ構造例210の説明図である。ペンイベントのシーケンスは、未処理の形式及び/又は(例えば、ペンイベント情報をストリームデータ及び/又は統合データの形式にするために使用され得る手書きデータ処理部100を介して)前処理された形式での例えば手書き検証サーバ700への入力として提供され得る。図2Cに示す例において、データ構造210は、「構造体」又は「クラス」タイプとして実装され得る。あるいは、データ構造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に示すクラウドコンピューティング配列1)又は他の構成で実行され得る。記載された実施態様において、検証方法は、手書き試験サンプル中の手書きの幾何学的パラメータを使用して、基準サンプル中の特徴と比較され得る手書き特徴を導き出す。
図4に示す例において、手書きの幾何学的パラメータは、ステップS101で利用可能なペンイベントパラメータから選択される。この例において、手書きの幾何学的パラメータは、x座標値と、y座標値とを含む。幾何学的パラメータが選択される利用可能なペンイベントパラメータは、x座標値及びy座標値に加えて、圧力値、角度値、タイムスタンプ情報等を含んでも良い。利用可能なペンイベントパラメータは、手書きを作り出すために使用された入力装置の機能のような因子によって決まっても良い。
通常の手書きの速度には変化があるので、一定の時間間隔でx座標及びy座標位置の検出を行うと、検出される位置の間隔が変化することになる。図2Aに示すサイン例を再び参照すると、ペンイベントの座標位置206Bは、一定の時間間隔(例えば、1秒当たり133回、1秒当たり200回のサンプルレート、又は他のサンプルレートで)で検出される。それ故に、座標位置206B間の大きな間隔は、ペンが速く動くサインの部分を示し、かつ狭い間隔は、ペンが遅く動く部分を示す。
再び図4を参照する。ステップS103で手書き試験サンプル及び基準サンプル中の特徴点の比較を容易にするために、特徴点が、手書きの幾何学的パラメータから導出される。このように導出された特徴点は、サンプルの手書き経路を辿るものであるが、ペンイベントと同じ場所に置かれる必要はない。少なくとも1つの実施態様において、特徴点は、手書き経路に沿って均等に配置される。しかしながら、特徴点は、他の方法で配置され得る。
図5は、手書き経路に沿った特徴点の間隔を示す図である。図5に示す例において特徴点は均等に分布する。一般的に、間隔を減少させることは、特徴点の数を増加させる傾向にあり、そのことは、処理時間増加に繋がり得る。他方で、間隔を増加させることは、特徴点の数を減少させる傾向にあり、そのことは精度低下及び手書き中の重要な特徴の脱落に繋がり得る。少なくとも1つの実施態様において、1mmの一定の間隔が、合理的な処理時間を重要な手書き特徴の正確な検出と釣り合わせるための妥協点として使用される。
使用される特定の間隔は、実装に応じて異なり得る。例えば、特徴点間の間隔は、均一である必要はない。1つの代替的なアプローチによれば、特徴点は、密集したペンイベント間の間隔が対応する特徴点に関して拡張される、密度正規化処理に従って位置決めされ得る。かかるアプローチにおいて、特徴点は、オリジナルのペンイベントと同じ場所に置かれても良いか、又は置かれなくても良い。密度正規化処理は、特徴点をペンイベントがまばらな手書き経路の部分に挿入することを含んでも良い。密度正規化処理は、手書きの速度及び加速度に関連する情報を保存することに役立ち得る、特徴点間の幾らかの間隔変動をなおも許容しながら、サンプル間の点密度差を解消するために、試験サンプル及び基準サンプルに応用され得る。密度正規化処理は、装置によって得られたサンプル間の特徴点の比較可能なセットを異なるサンプリングレートで提供することに役立ち得る。
再び図4を参照すると、各特徴点(ステップS103参照)は、手書き経路に沿って一定の空間間隔で計算された対応するx位置及びy位置と関連する。少なくとも1つの実施態様において、それぞれの特徴点のx位置及びy位置は、図6に示すように算出される。
図6に示した例において、特徴点のx位置(X)及びy位置(Y)はそれぞれ、手書き又は手書きのある部分(例えば、ストローク)のそれぞれの方向の全体値(例えば、幅(w)又は高さ(h))に関連するx座標値又はy座標値の比率として定義される。
少なくとも1つの実施態様において、特徴点は、ペンがタブレット表面と接触していなかったペンアップ区域を含む手書きサンプルの全長に関して定義される。状況により、ペンアップ情報は、ストローク間で利用できない。このことは、例えばペンアップデータを支援しない捕捉装置が使用される時、又はペンアップデータが検出され得ないように、ペンがデジタイザから間隔を置いて保持される時に起こり得る。ペンアップ情報が利用できないならば、特徴点は、ペンダウンペンイベントの限界内で生成され得る。
再び図4を参照すると、ステップS105で、方向(D)及び曲率(C)が、導き出された特徴点のx位置及びy位置から導き出される。この例において、ステップS105で導き出された方向及び曲率値は、オリジナルのペンイベントからのx/y座標値に基づかない。少なくとも1つの実施態様において、方向及び曲率は、図7A及び図7Bに示すように、1つ前の特徴点及び後続の特徴点のx位置及びy位置に基づき、現在の特徴点に関して導き出される。
図7Aに示す例において、現在の特徴点802の方向Dは、1つ前の特徴点804と、次の特徴点806との間の線の角度として(水平線に対するラジアンで)算出される。図7Bに示す例において、現在の特徴点802の曲率Cは、現在の特徴点802を1つ前の特徴点804に接続する線と、現在の特徴点802を次の特徴点806に接続する線との間の線の角度として(ラジアンで)算出される。
再び図4を参照すると、ステップS107で、特徴照合が、特徴点の幾何学的特徴(例えば、x位置、y位置、方向、曲率)を使用して実行される。この例において、特徴照合の目標は、真正な手書きにおける自然な変動を考慮するために柔軟性を提供しながら、検証すべき手書きサンプル(又は試験サンプル)及び基準サンプル中の対応する幾何学的特徴をリンクすることである。ステップS107の特徴照合は、以下で更に詳細に記載するように、1つを超える特徴照合パスを含んでも良い。
図8は、例えば、図4のステップS107の特徴照合技術により、試験サンプル810と、基準サンプル820との間で構築されるマッピングの説明図である。図8で説明される例において、マッピングは、試験サンプル810及び基準サンプル820中の(円で表す)対応する特徴点の間で構築される(破線で表す)リンクを含む。リンクの各端部での手書き線の一致は、リンクの「エネルギー」と呼ばれ得る。この例において、エネルギーは、リンクされた特徴点のx位置(X)、y位置(Y)、方向(D)、及び曲率(C)値の間の差の観点から測定される。
少なくとも1つの実施態様において、エネルギーは、次式に従って測定される。ただし、式中、eは、基準サンプルrを試験サンプルtと接続するi番目のリンクのエネルギーであり、X、Y、D及びCは、基準サンプルのx、y、方向及び曲率値であり、X、Y、D及びCは、試験サンプルのx、y、方向及び曲率値であり、かつk、k、k及びkは、様々なエネルギー成分の重み係数である。
Figure 0007050725000001
少なくとも1つの実施態様において、リンクの最適なセットは、次式により定義できる、システムの最小総エネルギー(E)を達成するものである。ただし、式中、eは、i番目のリンクのエネルギーであり、kは、非リンク特徴のエネルギーを表す定数であり、かつnは、(もしあれば)非リンク特徴の数である。
Figure 0007050725000002
少なくとも1つの実施態様において、数値アニーリングが、各リンクの端部での特徴点間の差を最小限に抑え、かつそれによりエネルギーEを最小限に抑えるために使用される。特に、少なくとも1つの実施態様において、シミュレーテッドアニーリング処理が、リンクに擬似ランダム変化を起こすために使用され、そのことは、全エネルギーを増加又は減少させることがある。
図9A~図9Dを参照してこれから記載する1つのアニーリング処理の例において、全エネルギーの低下をもたらす変化は常に許容される。一方、エネルギー増加をもたらす変化は、漸進的に引き下げられ得るシステムの現在温度のような因子に応じて、許容されることがある。本明細書において使用される用語「温度」は、システムの数学的エネルギーを指し、かついかなる実際の熱エネルギーも指さない。同様に「冷却」のような関連用語は、数学的エネルギーの低下を指すために使用され、かつ実際の熱エネルギーのいかなる変化も指さない。
「エネルギー」及び「温度」は、アニーリング処理をモデル化するために使用され得る関連用語である。少なくとも1つの実施態様において、アニーリング処理の目標は、2つのサイン中の対応する特徴間のリンクの最良のセットを見出すことである。可能なリンクパターンのいずれかの優劣は、リンク特徴点での位置、線の方向及び曲率のような幾何学的特徴の類似性を算定することによって判定され得る。リンクのエネルギーは、2つの特徴点間の差の尺度である。ゼロエネルギーは同一の特徴を有する状態を示し、差が大きくなるにつれてエネルギーが増加する。
アニーリング処理は、リンクのセットを調整することによってシステムの総エネルギーを最小限に抑えようと試みる。しかしながら、総エネルギーを増加させる個別の調整が全く許されないとするならば、アニーリング処理が総エネルギーの局所的最小値に陥る確率が増加する。この状況に対処するために、アニーリング処理は、エネルギー増加をもたらす何らかの変化を可能にし、それにより後続の変化が低い総エネルギーを達成できる可能性を許容することによって、プロセスが局所的最小値に陥るようになる確率を低下させるように設計されている。
システムの温度は、総エネルギーを増加させる変化の可能性を制御するために使用され得る。少なくとも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で判定が行われる。
少なくとも1つの実施態様において、エネルギー増加は、変更の大きさ(dE)及び現在温度を含む比率次第で許容できる。図9Bに示す例において、エネルギー増加(正のdE)は、次の条件が満たされる時に、可能にされる。ただし、式中、Uは、0≦U≦1.0の範囲における一様偏差法による値であり、dEはリンケージに対する変更に起因する全エネルギーの変化であり、Tはシステムの現在温度である。一様偏差は、1つ以上の擬似ランダム値Uを生成するために使用される。単一の一様偏差生成器は、試験サンプルと、基準サンプルとの間の全比較のために使用され、かつ同じシードによって常に初期化される。このことは、試験サンプルと、基準サンプルとの比較が常に同じ結果を返すことを確実にする。
Figure 0007050725000003
リンケージが変更され得る処理の例(図9AのステップS203参照)を図9Cを参照して記載する。ステップS203-1で、特徴点が基準サンプル中で選択される。ステップS203-2で、一様偏差法による値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-5でリンクが挿入される。ステップS203-6では、新規に挿入されたリンクと交差する既存のすべてのリンクが、リンケージから外される。図9Dに示した例では、新規リンク830が3つの既存のリンクと交差しており、これらの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で、一様偏差が固定値に初期化される。ステップS303で、図9Aに示す処理のようなアニーリング処理が実行される。ステップS305で良好な照合が2つのサンプル間で見出されるならば、サンプルが一致するという判定がステップS311でなされる。他の属性(例えば、時間値、圧力値、角度値)も、サンプルの一致を確認するためにステップS315でチェックされ得る。
良好な照合が、ステップS305で見出されないならば、もう1つのアニーリングの試みがなされるかを判定するために、ステップS307でチェックが実行される。ステップS307で実行されるチェックは、すでに実行されたアニーリングステップ数を最大値と比較することを伴っても良い。例えば、少なくとも1つの実施態様において、2つのアニーリングの試みがまだなされなかったならば、アニーリングステップS303は、同じランダムシーケンスが、後続のアニーリングステップで使用されないことを保証するために、一様偏差生成器をリセットせずに繰り返される。そうでない場合、2つのアニーリングの試みがなされ、サンプルが一致しないという判定がステップS313でなされる。
アニーリングが実行された後、結果として生じたリンケージは、各々が既知のエネルギーを有するリンクのセットを含む。しかしながら、サンプルが同一、又はほぼ同一でない限り、全ての特徴点がリンクされるとは限らない。リンケージの質は、リンクされる特徴点の比率(Pl)及び平均リンクエネルギー(Em)を次式によって計算することによって算定され得る。ただし、式中、Pは、リンクされる特徴の比率であり、nは、リンクの総数であり、nは、基準サンプル中の特徴数であり、かつnは、試験サンプル中の特徴数である。リンケージの質を算定するために上記式を使用する実施態様において、一致するサインは、高いP値及び低いEm値を有する。反対に、類似しないサンプルは、低いP値及び高いEm値を有する。
Figure 0007050725000004
Figure 0007050725000005
一致するサイン及び一致しないサインに関するP及びEm値の予期される差は、経験的に測定され得る。図10において、多数のサインに関する比率Pl及び平均リンクエネルギーEmが示された試験の結果が、示される。破線内部の領域1010内のプロット点は、別の人々からの、かつそれ故に一致しない可能性が高いサンプルの比較と各々が関連する。点線内部の領域1020内のプロット点は、同一の人物からの、かつそれ故に一致する可能性が高い比較サンプルと各々が関連する。
図10に示す例において、領域1010内の大多数のデータ点は、一致しないサンプルと関連したPl及びEm値を反映し、かつ領域1020内の大多数のデータ点は、一致するサンプルと関連したPl及びEm値を反映する。「境界」という標識を付した区域内で、領域1010及び1020間に幾らかの重複があり、Pl及びEm値は、サンプルが一致するか、又は一致しないかを明瞭に示さない。しかしながら、図10の結果は、多くの場合に、手書きの形状に基づき、試験サンプル及び基準サンプルが一致するかの初期算定を行うことが可能であることを示す。少なくとも1つの実施態様において、この段階で一致しないと識別された試験サンプルは、0の検証スコアを自動的に与えられ、かつ試験サンプルが基準サンプルと一致するかを判定するために、更なる処理は行われない。
Pl及びEm値は、多くのシナリオにおいてリンケージの質の測定に有効であるが、サンプルの実質的な部分が非常に類似するならば、試験サンプルと、基準サンプルとの間に有意差を表さないことがある。試験サンプルと、基準サンプルとの間に非リンク特徴点の有意な部分があるか判定するために、追加のチェックを実行することによって手書き検証の精度を改良することが可能である。
再び図4を参照すると、ステップS109で、試験サンプル及び基準サンプルが十分に一致するかに関して判定がなされる。図4に示す例において、試験サンプル及び基準サンプルが、ステップS109で十分に一致すると判定されるならば、ステップS113で検証の結果を出力する前に、更なる処理が実行される(ステップS111を参照、以下で更に詳細に記載する)。しかしながら、試験サンプル及び基準サンプルが、ステップS109で十分に一致しないとして判定されるならば、サンプルが一致しないことを示す結果が、更なる処理なしに、ステップS113で出力され得る。
ステップS113で生成した出力は、ブール値のような、検証の結果を示すために適したいかなる出力でもあり得る。あるいは、単なるバイナリ又は真/偽の結果を超えることの示唆を可能にする異なる値が使用され得る。少なくとも1つの実施態様において、ステップS113で生成した出力は、(試験サンプル及び基準サンプルが非常に異なることを示す)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で説明したような)連続した非リンク特徴点の追加のチェックが、照合処理の精度を改良するために使用できる。図12A及び図12Bに示される説明に役立つシナリオにおいて、図11に示される照合処理は、それぞれのサンプルが欠損特徴のために一致しないと判定するために使用できる。
再び図11を参照すると、ステップS109-4で、非リンク特徴点が有意であるか判定がなされる。非リンク特徴点が有意であるならば、処理S109は、ステップS109-5で、試験サンプル及び基準サンプルが良好な照合でない(一致しない)ことを示す結果を返す。非リンク特徴点が有意でないならば、処理S109はステップS109-6で、試験サンプル及び基準サンプルが良好な照合である(一致する)ことを示す結果を返す。
少なくとも1つの実施態様において、非リンク特徴点が有意であるか判定することは、非リンク部分内の連続した非リンク特徴点の数が所定値NUよりも大きいか判定することを含む。NUよりも大きい数は加えることができ、かつこれらの数の全長は、全体的なサンプル長の比率(「比率なし(proportion free)」又はPfと称される)として表され得る。NU以下の数は、無視できる。NU値は、実装に応じて変動し得る。所定値を超えるPf値を有するサンプルは、一致しないとみなされ得る。
再び図4を参照すると、試験サンプル及び基準サンプルが、手書き形状に基づき、ステップS109で十分一致していると当初判定されたならば、追加の評価が、手書き形状に限定されない他のペンイベントパラメータを使用してステップS111で実行される。
少なくとも1つの実施態様において、ステップS111で実行される追加の評価は、筆記速度のような時間関連ペンイベントパラメータの分析を含む非幾何学的な特徴照合を含む。個人は、ペンで書く方法において習慣的リズムを作り出す傾向にあり、そのことは、ペン速度及び加速度が、同一の人物によってなされる手書き(例えば、サイン)に関して(同一でないが)非常に類似する傾向にあることを意味する。従って、他のステップで分析される幾何学的特徴とは異なる時間関連ペンイベントパラメータは、手書き検証方法において(例えば、幾何学的特徴照合の補完として)有用であり得る。少なくとも1つの実施態様において、幾何学的特徴は、それぞれの特徴に対応する経過時間と共に未加工手書きデータから抽出でき、経過時間値の比較を可能にする。
図13Aは、2つの手書きサンプル中の特徴点に対応する経過時間値の比較結果を説明するグラフである。結果は、リンクされた特徴点に関する経過時間に対応するプロットとして図13で説明される。プロット中の各点はリンクに対応し、かつ基準サンプル(水平軸)中の特徴点までの経過時間、及び試験サンプル(垂直軸)中のリンクされた特徴点までの経過時間を表す。一致するサインに関して、サイン開始からの経過時間は、リンクされた特徴点の各対に関して類似するはずである。
図13Aに示す例において、点は、速度の(長方形の対角線傾斜、又は水平からの角度によって)全体的な一致、及び(垂直な矢印によって示すように、長方形の狭い寸法によって)変動性を表す長方形の内側に示される。この状況における全体的な一致は、それぞれのサンプルの平均総経過時間(及びそれ故に速度)を指す。この例において、約1:1の長方形の傾斜は、サンプルが、一致する平均速度を有することを示す。この条件における変動性は、局所的な速度変化の差を指す。速度の全体的一致及び変動性における許容可能な限界は、同一の人物によってなされることが知られているサインサンプルの試験を通して測定され得る。
再び図4を参照すると、ステップS111で実行される追加の評価は、筆圧又はペン角度のような、他のパラメータの分析を含むこともできる。筆圧は、各特徴点での圧力の状態を算定すること(例えば、増加、減少又は安定)によって確実に比較され得る。圧力の一致は、リンクの各端部に同じ圧力状態を有するリンクの比率Ppとして計算され得る。Ppの許容可能な値は、同一の人物によってなされることが知られている多数のサインサンプル中の圧力変動を測定することによって判定され得る。
概して、筆圧は、絶対力値よりもむしろ相対値として測定される。圧力値は、装置依存性であり、ペン材料の構造、ヒステリシス、及び経年劣化の差のような因子により、感度の変動が同じモデルの装置間でも起こる。従って、絶対力値を使用してサンプル間で信頼できる比較を行うことは、特に、同一の人物がサンプルを提供するために異なる入力装置を使用し得た場合に、一般的に可能でない。
第1の説明に役立つ筆圧値比較方法において、筆圧は、各特徴での圧力状態、すなわち圧力が、各点で増加しているか、減少しているか、又は安定しているかを算定することによって比較され得る。次に一致は、各端部で同じ圧力状態を有するリンクの比率Ppによって算出される。しかし、少なくとも一つの実験において、第1の方法は、圧力が相当な期間、ほぼ一定であるときに不適切である場合がある。その際、わずかな相違も異なる符号勾配として認められ、大きなエラーをもたらすことがある。
第2の説明に役立つ筆圧値比較方法において、筆圧は、次式によりサイン全体に関する全体的圧力-時間区域の比率として正規化された、サイン開始から特徴iまでの圧力-時間図の区域、Pを計算することによって確実に比較され得る。ただし、式中、Pは特徴iまでの圧力-時間図の比率であり、pは筆圧であり、tはサイン開始から特徴iまでの時間であり、Tは全体的サイン時間である。
Figure 0007050725000006
図13Bは、上記式を説明する図である。図13Bで、水平軸はサイン開始からの経過時間を示し、垂直軸はペン先によって記録された圧力を示す。点線により定義された領域内のグラフの影付き区域は、時間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を示す。サービスIDは、サーバ1510、入力装置10などによって提供されても良い。表1690に示すように、基準サインはいかなる言語であっても良く、かつ1つを超える基準サインが単一のユーザに関して利用可能であっても良い。
再び図15を参照すると、サイン検証サーバ700Bは、サインを基準サインと比較することにより、入力装置10によって提供されたサインを検証する。サイン検証サーバ700Bは、サインが検証される(「OK」)か、又は検証されない(「NG」)かを示す検証結果を、入力装置10に返す。
図17は、ユーザのサインに基づいてユーザを認証するために使用され得る、説明に役立つコンピュータシステム及び手書きに基づくユーザ認証方法の図である。図17に示される説明に役立つコンピュータシステム及び手書きに基づくユーザ認証方法は、本明細書に記載された手書き検証技術、又はユーザ認証のための他の手書き検証技術を、実装に応じて使用できる。
図17に示す例において、入力装置10は、ペン/スタイラス装置11によりサインすることによってコンピュータシステムにサインインしようと試みるユーザに応答して試験サインデータを生成する。入力装置10は、サインデータをユーザ装置ID(例えば、ペン/スタイラス装置11と関連したスタイラスID)と共にサインサインインサービス1720にネットワーク20(例えば、インターネット)を通じて提供する。
図17に示す例において、サインによるサインインサービス1720は、入力装置10によって提供される試験サインデータに基づき「名前ID」を検索する。サインによるサインインサービス1720は、検証方法を使用して、入力装置10によって提供された試験サインデータが、データベース1730に記憶された1つ以上の基準サインと関連した対応する基準サインデータと一致するかを判定し得る。
図18Aは、サインデータに基づき(例えばデータベース1730中で)識別子を調べるために使用され得る表の説明図である。特に、図18Aは、サインサインインサービス1720が、入力装置10によって提供されるサインデータに基づき、名前ID(例えば、サービスIDと組み合わされたローカルID)を調べるために使用し得る表1890を示す。ローカルIDはユーザと関連しても良く、サービスIDは装置IDサービス1710と関連しても良い(図17参照)。
再び図17を参照する。サインによるサインインサービス1720は、ユーザ装置ID及び名前ID(例えば、ローカルIDにサービスIDを加えたもの)を装置IDサービス1710に送信する。図18Bは、他の識別子に基づき基準装置ID(例えば、スタイラスID)を調べるために使用され得る表の説明図である。特に、図18Bは、サインによるサインインサービス1720によって提供される名前IDに対応する基準装置IDを調べるために装置IDサービス1710が使用し得る表1892を示す。表項目中の基準装置IDがサインによるサインインサービス1720によって送信されるユーザ装置IDと照合するならば、装置IDサービス1710は、入力装置10に認証情報を返信し得る。図17に示す例において、認証情報は、「成功」又は「失敗」の認証結果を含む。成功/失敗の結果に加えて、この例において伝送される認証情報は、(例えば、「成功」の場合に)ログイン処理を完了するために必要とされ得るユーザID及びパスワードを含み得る。
図19Aは、適切に構成されたコンピューティングシステムにおけるもう1つの説明に役立つ手書きに基づくユーザ認証方法の図である。この例において、ユーザ認証方法は、「Book+」と呼ばれるソーシャルネットワークサービスにアクセスを提供されるために使用されるログイン処理である。しかしながら、他のサービスにも同様にアクセスし得る。
図19Aに示すように、手書き入力装置10は、(例えば、ブラウザアプリケーションを使用してサービスと関連したウェブサイトにナビゲートすることによって、又はサービスと関連した専用のアプリケーションを起動することによって)サービスと関連したログイン処理を起動する。装置10は、ペン/スタイラス装置(図示せず)によってサインするユーザに応答して生成できる(例えばサイン区域1902の)サインデータを捕捉する。装置10は、検証すべき試験サインデータとしてサインデータを送信する。試験サインデータは、装置10及び/又はペン/スタイラス装置に関連した装置ID、及びネットワーク20(例えば、インターネット)を通じたサインサインインサービス1920に対するサービスに関連したサービスID(例えば、「Book+」)と共に送信される。
図19Aに示す例において、サインサインインサービス1920は、(例えば、本明細書に記載された技術又は他の技術により、試験サインデータを基準サインデータと比較することによって、)試験サインデータを検証し、かつ検証結果に少なくとも部分的に基づき、認証情報(例えば、ユーザID及びパスワード情報)を得る。サインによるサインインサービス1920は、装置10によって提供される複数項目のユーザ入力(例えば、ユーザID及びパスワード)を要求するよりもむしろ、一つのユーザ入力(サイン)を使用して、ユーザが認証されることを可能にする「ワンパス」サインインサービスとして実装される。
図19Bは、ユーザを認証するためのサインによるサインインサービス(例えば、サインインサービス1920)に提供され得る情報と、ユーザ認証が成功した場合に、サインによるサインインサービスから返送され得る認証情報(例えば、ユーザID及びパスワード)とを説明する表1990を示す。図19Bに示す例において、ペン/装置ID、検証すべき試験サインと関連したサインデータ、及びサービスID(例えば、「Book+」)は、ユーザ装置(例えば、入力装置10)から受信でき、かつサービスIDによって識別されるサービスに対してユーザ装置のユーザを認証するために使用され得る。
再び図19Aを参照すると、サインによるサインインサービス1920は、データベース1930中でユーザと関連した1つ以上の基準サインを調べるために、装置ID及びサービスIDのような情報を使用する。サインによるサインインサービス1920は、次に手書き検証方法を使用して、入力装置10によって提供されたサインデータが基準サインと一致するかを判定し得る。一旦ユーザがサインによるサインインサービス1920によって認証されると、サービス1920は、ユーザID及びパスワードを装置10に伝送し得る。ユーザID及びパスワードは、次にログイン処理を完了するために使用され得る。例えば、装置10は、ユーザ名(例えば、Eメールアドレス)及びパスワードをユーザインタフェース中の適切なフィールドに自動的に記入できる。
実際には、サインによるサインインサービス(例えば、サインによるサインインサービス1920)によってユーザが確実に認証されることを可能にする情報のいかなるコレクションも、ユーザ認証のために使用され得る。データベース(例えば、データベース1930)中で特定のユーザを調べるために使用できる特定の情報は、サインによるサインインサービスに伝送される情報、データベース内に記憶される情報、及びデータベースが設計される方法のような因子に応じて異なり得る。
セキュリティのため、手書き検証に関しかつユーザ認証処理に関連するすべての情報(例えば、手書きデータ、装置識別子、サービス識別子、認証情報等)は、(例えば、対称(例えば、共有秘密鍵)又は非対称(例えば、公開鍵)の暗号化を使用して)暗号化され得る。暗号化された情報は、更なる処理が下層の情報に関して実行される前に復号され得る。例えば、暗号化試験サインデータは、試験サインデータを基準サインデータと比較する前に復号され得る。
II.手書きデータ生成及び保存
本開示の幾つかの実施態様は、電子手書きデータを生成及び保存する方法を対象とする。幾つかの記載された実施態様において、未加工の電子手書きデータはデジタイザによって生成され、未加工のデータは1以上のストリームを含むストリームフォーマットに変換される。手書きデータのフォーマットは未加工であるときのフォーマットと異なるフォーマットに変更されるけれども、ストリームフォーマットは、データ損失を伴うことがあるデータ処理(例えば、画像として表示するために手書きデータをピクセルなどの標準単位でレンダリングする処理)を行う一方で、無損失性(可逆)データ処理技術を用いることにより、未加工の手書きデータのオリジナルの内容を保存する。
未加工の手書きデータのオリジナルの内容は種々のデータフォーマットで保存でき、使用されるフォーマットは、データに対して実行される処理の性質を含む各種の要素に応じて変化し得る。いくつかの実施態様においては、複数の利点を有する手書きデータフォーマットが使用される。利点とはすなわち、データ損失のいかなる危険もなく法的な証拠データとして使用できるように、いかなる方法によっても変更することなくオリジナルのデータを保存すること、オリジナルのデータが共通に理解され得るメトリックス系に変換され得るよう、生成元の装置についての十分な情報を含むこと、すべての装置の機能がサポートされ得るように柔軟でありかつ拡張可能であること、ストレージ及び伝送オーバヘッドを最小限に抑えるために最適にコンパクトであること、いかなるタイプのハードウェア上でも取扱えるようにバイナリレベルでは装置依存性を有すること、である。
いくつかのケースでは、手書きデータは、手書きデータが他の方法で保存されなかったならばデータ損失をもたらす他のフォーマット(例えば、ディスプレイ用の標準単位へのレンダリングのためのストロークデータフォーマット)への変換をも可能にしながら、データ損失なしの複数のフォーマットに変換され得る。無損失性(可逆)圧縮技術は、全ての所望の手書きデータが保存されることを可能にしながら、ストレージ及び伝送帯域幅の要求を減少させるために使用できる。
本開示の幾つかの実施態様は、適切に構成されたデコーダによって復号化される時に、画像の内容と関連することが多いが画像からは分離した情報を提供するデジタル画像に、データ(例えば、電子手書きデータ)を挿入することを対象とする。記載される実施形態では、未加工の電子手書きデータのオリジナルの内容がストリームデータに変換され、かつそのストリームデータが、画像が表示される時には一般に人間の観察者に気が付かれ得ない方法でデジタル画像(例えば、手書きサインのレンダリングを含むデジタル画像)に挿入される。従って画像品質の顕著な劣化なしに、かつ追加のコンテナファイルの要求なしに、未加工の手書きデータのオリジナルの内容が保存されることを可能にする。かかる実施態様において、手書きの入力中に得られる手書きデータは、将来のレンダリング、認証又は他の処理のために保存され得る。
記載された幾つかの実施態様において、未加工の電子手書きデータのオリジナルの内容(例えば、対応するデジタイザに関して電子ペンの動きによって生成された高品質ペンデータ)が保存される。例えば、有用なシナリオの一例においては、電子手書きデータは、手書き自体の画像を表す画素データを含むデジタル画像中に保存される。電子手書きデータは、1つ以上のセンサ(例えば、ペン装置及び/又はデジタイザ内のセンサ)によって収集され、(例えば、サインの一部として)1つ以上のペンストロークとしてレンダリング及び表示され得るストロークデータに変換される。一方、オリジナルの手書きデータはまた、データ損失を回避するために保存される。記載される実施形態では、オリジナルの手書きデータは、広い範囲のアプリケーション、プラットフォーム、及び技術にわたる汎用性を有する手書きデータを分配し、分析し、及びレンダリングすることに適した符号化バイナリフォーマットに変換され得るストリームフォーマットの形式で保存される。
手書きサインが紙上になされる時、インクペンはサインを形成するインクの連続した跡を残す。これと同様に、デジタル化された手書きサインは、一般に一定の時間間隔で測定される離散データ点の集合を含む。
記載された実施態様において、デジタイザ(例えばサインタブレット装置)などの位置入力装置は、電子ペンの位置を所定のサンプリング間隔で記録し、各点でx(水平)位置及びy(垂直)位置を測定することによって機能する。例えば、電磁共鳴技術を使用するシステムにおいて、デジタイザは、ペンの動きを検出するセンサボードを組み込む。エネルギーは、センサボード表面により生成された磁場によってペンの共振回路内に誘導される。ペンの共振回路は、次にこのエネルギーを使用して磁気信号をセンサボード表面に返信する。ボードは、電子ペンがセンサボード表面に触れなくても、ペンがセンサボードの十分に近接した中に留まる限り、ペンの座標位置を一定の時間間隔で検出し、その結果信号は、なおもペンから受信され得る(有効な信号範囲は、使用される特定の技術によって異なり得るが、一般的に約数ミリメートルである)。
他にも他の手書き入力技術を使用することもできる。例えば、電子ペンは、他のワイヤレス技術を使用できるし、ワイヤによってデジタイザに接続されていてもよい。他の例として、電子ペンは、デジタイザの表面から離れて検出可能であっても良いか、又は検出可能でなくても良い。もう1つの例として、電子ペンは、アクティブであるか又はパッシブであっても良い。アクティブペンは、ワイヤを介して、又は搭載電池を介して電力を受けても良い。もう1つの例として、電子ペンなしで(例えば、感圧デジタルライティングパッド、タッチスクリーン、又は電子ペンを必要としない他の入力装置上のスタイラスを介して)手書きデータを入力することも可能である。
電子手書きのストロークをレンダリング及び表示するプロセスは、典型的には、ディスプレイ上にストロークを表示するためにディスプレイ中のいずれの画素を制御するべきか判定するために、電子手書きデータを分析することを伴う。ストロークを視覚的に表すために使用される画素は、時にストロークの「インク」と称される。表示のためにストロークをレンダリングするプロセスは、インクエンジンと呼ばれる構成によって取り扱われる。インクエンジンは、ストロークの形状及び位置をレンダリングするためにペン位置データを使用することに加えて、インクの濃さを判定するために他の手書き属性(例えば、圧力)の測定を使用することができる。
いくつかのシナリオでは、未加工の手書きデータを(例えば、レンダリング及び表示のためにインクエンジンによって使用された後に)廃棄することを容認できる。未加工のデータを廃棄することは、保存されるデータのサイズに関していくらかの効率を提供する。しかしながら、インクエンジンによる未加工データの変換は、データ損失を伴う。例えば、高解像度の未加工の手書きデータが低解像度のディスプレイ用の標準単位へのレンダリングのために変換されるならば、多くのデータは、他に保存されないならば失われることがある。未加工のデータが何らかの形で保存されないならば、認証目的で手書きデータを分析する能力や、様々なレンダリング特性を有するインクエンジンにおいて手書きデータを利用する能力といった、多くの利点が失われ得る。
それ故に、実施態様によれば、電子手書きデータのオリジナルの内容は保存される。手書きデータは、必要に応じて、望ましくないデータの損失をすることなく、インクエンジンによって標準単位に変換され得る。ペンの位置(例えば、x座標及びy座標)は、(使用されるセンサのタイプに応じて異なっていても良い)オリジナルのセンサ測定単位で記憶されても良く、かつ入力装置の特性も、異なる単位への変換を可能にするために記録されても良い。例えば、x、y位置情報は、各軸のスケール及び方向に関する情報が含まれるならば、ネイティブセンサ単位から従来の単位へ(原点からのミリメートルオフセットのように)変換され得る。
特に、デジタル画像に手書きデータを記録及び記憶するための技術及びツールが提供される。このように記憶された手書きデータは、様々なソフトウェアアプリケーション、プラットフォーム及び装置にわたって可搬性を有して使用される。
本明細書に記載された例のいずれかにおいて、手書きデータは、例えばワードサイズ(例えば、16ビット、32ビット等)、エンディアン特性(例えば、リトルエンディアン、ビッグエンディアン)、浮動小数点サポートの点で様々な要件を有することがある種々の装置及びプラットフォームにわたる可搬性のために設計された形状で保存され得る。更に本明細書に記載された例のいずれでも、既存のソフトウェアに影響を及ぼさずに保存される情報の範囲(種別)を拡張することが可能である。少なくとも幾つかの実施態様において、ソフトウェアが自己が解釈できないストリームタイプを安全に無視することを可能にするストリームデータ構造が使用される。本明細書に記載された原則を使用して、効率的に、かつ予期しない結果なしに、新規又は再度設計されたセンサによって収集される情報のような、最新タイプの情報を欠くことがある古いデータを取り扱う後方互換性を有する新規なアプリケーションが設計でき、長年にわたって記憶される必要があるサインされた文書にとって好適である。
図20は、少なくとも1つの記載された実施態様により統合手書きデータを生成するシステム2010の概念図である。図20に示すように、入力装置2020(例えば、電子ペン及び対応するデジタイザ(例えば、サインパッド装置)、又は手書き入力に使用できるタッチパッド装置のようなその他の入力装置)は、装置入力データ2030を生成し、通信リンク(例えば、USB接続)を通してコンピュータ2040に伝送する。装置入力データ2030は、コンピュータ2040上で動く装置依存性デバイスドライバ2050によって処理される。デバイスドライバ2050は、未加工の電子手書きデータを生成する。
図20に示した例において、ペン装置及びデジタイザは、手書き入力を提供するために使用される。デジタイザは、専用の手書き入力装置、又は適切に構成されたスマートフォン又はタブレットコンピュータのような汎用装置を用いて実装できる。ペン装置及び/又はデジタイザ内のセンサは、ペン位置を検出しかつ筆圧などの圧力情報のような追加の情報も検出できる。少なくとも1つの実施態様において、デバイスドライバ2050は、座標情報、圧力情報及びタイミング情報を含む未加工の手書きデータを生成する。
手書きデータは、サインプロセス中に一定の間隔で収集されるペンイベント情報、装置情報、及び/又はサインがなされた状況に関する状況情報を含んでも良い。ペンイベント情報は、デジタイザ表面上のペン先のx、y位置と、サイン開始からの時間とを含む。更に、ペンイベント情報は、圧力(ペンの力)、角度(方位角、高度、及び/又は回転)及びペンダウン状態のような、入力装置2020の機能次第の追加の情報を任意に含んでも良い。装置情報は、デジタイザ単位から実世界の単位に変換するために必要な情報を含んでも良い。状況情報は、サインする人の氏名、サインの日時、サインの理由、ホスト装置上で使用されるオペレーティングシステムのタイプ及びバージョン、デジタイザのタイプ、デジタイザ装置ドライバのバージョン、ホスト装置のネットワークインタフェースコントローラ(NIC)アドレスから取られる一意ID、暗号ハッシュ機能が使用されるならば、ハッシュ機能のタイプに関する情報、及び/又は捕捉時にソフトウェアアプリケーションによって追加できる補足データを含んでも良い。状況情報は、暗号メッセージダイジェストのようなサインされる文書に関する情報も含んでも良い。
図20に示す例において、手書きデータ処理部2100Aは、入力として未加工の手書きデータを受信し、かつ出力として統合手書きデータを生成する。統合手書きデータを生成する方法、並びに統合手書きデータの内容は、以下で更に詳細に記載するように、状況及び実装に応じて異なることがある。
図21Aは、図20に示す手書きデータ処理部2100Aの実施態様の機能ブロック図である。図21Aに示す例において、手書きデータ処理部2100Aは、入力取扱部101と、ストリーム生成部200と、損失性(非可逆)データ処理部300と、統合部400とを含む。入力取扱部101は、例えばストリーム生成部200及び損失性(非可逆)データ処理部300による更なる処理のために、未加工の手書きデータを転送することに関与する。
図21Aに示す例において、ストリーム生成部200は、入力として未加工の手書きデータを受信し、かつストリームデータ(図21Aで「FIRST_CONV_DATA」という標識を付される)を生成する。例えば、ストリーム生成部200は、ヘッダ情報と共に、x座標、y座標に関する個別のストリーム、及び圧力情報を提供できる。(幾つかの実施態様において、特定のペンイベントに関する時間情報は、既知のサンプリングレートに基づき計算でき、かつ独自のストリームに記憶される、又は各ペンイベントに関して信号を送られる必要がない。)少なくとも1つの実施態様において、ストリーム生成部200は、無損失性(可逆)符号化技術を使用して、複数のストリームを含む圧縮ストリームデータを生成する。
損失性(非可逆)データ処理部300も、入力として未加工の手書きデータを受信する。損失性(非可逆)データ処理部300は、(手書きを画像としてレンダリングするために使用され得る)ストロークデータ及び/又は画像データ(例えば、PNGフォーマット又は他の画像データフォーマットでの画像データ)を生成する。少なくとも1つの実施態様において、損失性(非可逆)データ処理部300は、損失性(非可逆)データ処理技術(すなわち、データ損失を伴うことがある技術)を使用して、ストロークデータ及び/又は画像データを生成する。例えば、損失性(非可逆)データ処理部300は、表示のために手書きをレンダリングするために必要になることがある、データフォーマット及び処理をするように構成されたインクエンジンを含んでも良い。例えば、インクエンジンは、手書き(例えば、サイン)の視覚的な表示を含む画像データを生成できる。
ストロークデータ及び/又は画像データが、未加工の手書きデータに基づいて生成される図21Aに示した構成の代わりに、かかるデータは、符号化された手書きデータに基づいても生成され得る(図21B参照)。図21Bは、手書きデータ処理構成要素2100Bのもう1つの実施態様の機能ブロック図である。図21Bに示す例において、損失性(非可逆)データ処理部300は、ストリーム生成部200によって提供される符号化データ(「FIRST_CONV_DATA」)に基づき、出力(「SECOND_CONV_DATA」)を生成する。
図21A及び図21Bに示すように、統合部400は、ストリームデータ、及びストローク及び/又は画像データを入力として受信し、統合手書きデータを出力する。統合部400は、ストリームデータ及びストローク/画像データを単一の出力ファイル(例えば、画像ファイル)で出力するか、又はストリームデータ及び/又はストローク/画像データを選択的に出力することができる。少なくとも1つの実施態様において、画像データは、符号化ストリームデータと組み合わせて、統合データ(例えば、符号化バイナリデータがステガノグラフィック技術により挿入されたデジタル画像)を形成できる。統合部400がいかにして機能するかの詳細は、以下で更に詳細に記載するように実装に応じて異なっていても良い。
図20、図21A及び図21Bに示す構成は、例に過ぎず、他の多くの構成が可能である。本明細書に記載されたデータ(例えば、未加工データ、ストリームデータ、ストロークデータ、画像データ及び統合データ)及び本明細書に記載された手書きデータ処理モジュールは、様々な方法で記憶及び実装されても良い。例えば、データ及び処理モジュールは、デジタイザ内、(PC(Personal Computer)のような)他の何らかの装置内で記憶及び実装するか、又は幾つかの装置の間で分配することができる。本明細書に記載されたデータは、(例えば、画像ファイルの形で)一方の装置から他方に伝送されても良いか、又は同じ装置内に記憶及び/又は処理されても良い。例えば、パーソナルコンピュータにおいて、ストリームデータは、画像データと組み合わされ、統合データに変換され、かつパーソナルコンピュータ内でデジタル画像ファイルに記憶されても良い。
図21C及び図21Dは、記載された実施態様により使用され得る、説明に役立つクラウドコンピューティング配列の図である。図21C及び図21Dは、手書きデータ処理部2100Aが、単一のコンピュータ2040上に実装されて示される図20に示す構成の説明に役立つ代案を提供する。
図21Cに示す例において、入力装置2020は、未加工の手書きデータを手書きデータ処理部2100Cにネットワーク2110を通じて伝送する。特に、未加工の手書きデータは、入力取扱サーバ2101により受信され、入力取扱サーバ2101は、未加工の手書きデータをストリーム生成サーバ2102、及びストローク及び/又は画像データ処理サーバ2103に伝送する。サーバ2102及び2103は、統合サーバ及びデータストレージ2104に伝送される、それぞれストリームデータ、及びストローク及び/又は画像データを生成する。
図21Dに示す例において、様々なアプリケーション(例えば、アプリケーション2180及び2190)が、様々な装置から様々なタイプの情報を得ることができる。例えば、損失性(非可逆)画像データは、サーバ2103から得ることができ、かつ統合データ(例えば、損失性(非可逆)画像データ1及び無損失性(可逆)符号化手書きデータを含むデジタル画像)は、統合サーバ及びデータストレージ2104から得ることができる。実際には、アプリケーション2180及び2190は、異なるコンピューティング装置、又は同じコンピューティング装置上で動いても良い。
再び図21A及び図21Bを参照すると、図21C及び図21Dに示したサーバは、それぞれストリーム生成部200、損失性(非可逆)データ処理部300、及び統合部400のようなソフトウェアを実行する別個のコンピュータとして実装されても良い。
再び図21Dを参照すると、アプリケーション2180及び2190は、損失性(非可逆)又は無損失性(可逆)符号化データを復号化するように構成されたデコーダを含んでも良いか、又はアプリケーションは、損失性(非可逆)又は無損失性(可逆)符号化データを復号化するように構成された他のアプリケーション又は装置に符号化データを伝送しても良い。アプリケーション2180及び2190は、図21Dでクラウドコンピューティング構成内に示されるが、かかるアプリケーション及びデコーダは、他の構成により情報を得て、かつ処理しても良い。
図22及び図23は、ペンアップ点2202及びペンダウン点2204が示される、電磁共鳴技術を使用するシステムによって検出された、それぞれ手書きサイン2200Aとアート図面2200Bとを含む電子手書きの座標位置の説明図である。位置は、一定の間隔で検出されるので、電子手書き2200A及び2200Bにおける点の間の大きい間隔は、ペンが速く動くサインの部分を示し、かつ狭い間隔は、ペンがゆっくり動く部分を示す。尚、図22及び図23に示すように、座標はペンアップ点2202とその後のペンダウン点2204との間で検出され続ける可能性がある点留意されたい。すなわち、ペンが信号範囲内に留まるならば、ペンがデジタイザの表面から持ち上げられる時、座標は検出され続ける。図23で、ペンが(例えば、ペンアップ点2202と、その後のペンダウン点2204との間で)上げられる時に検出された座標は、明るい点で示され、かつペンが(例えば、ペンダウン点2204と、その後のペンアップ点2202との間で)下げられる間に検出された座標は、暗い点で示される。ボード(又は他の何らかのセンサ)は、ペン角度、筆記速度、筆記圧力等のような他の情報も検出しても良い。
本明細書に記載された実施態様によれば、手書きは、手書きサイン(図22参照)、又は印刷文字若しくはアート図面(図23参照)のような他のタイプの手書きであっても良い。手書きの所与のストロークの未加工の手書きデータは、ストロークが分析されかつ表示されることを可能にする情報(例えば、x座標、y座標等)を含む。他のペン関連手書きデータは、圧力データ(例えば、ペン先に加えられる力)、傾斜(ペンの胴部と垂直線の間の角度)、配向データ(ペン先からのペンの平面-方向)、及びねじれデータ(サイン中の胴部の回転)を含んでも良い。多くのデジタイザにおいて、サイン中の全ての点が、約数ミリ秒か、それ以上(例えば、1ミリ秒)の精度で記録される。タイミング情報は、ペンの動きの方向を観察し、かつ各位置での速度及び加速度を推測することを可能にする。従って、未加工の手書きデータは、多くの場合、サンプルレート及び/又はタイムスタンプのようなタイミング情報を含む。未加工の手書きデータは、以下で更に詳細に示すように、ペン装置又はデジタイザ自体に関する情報、状況情報(例えば、サインすべき書類の記載、サインの日時等)等のような手書きに関する他のデータも含んでも良い。
記載された実施態様において、未加工の手書きデータは、ペンイベントのシーケンスとして表される(図24参照)。概して、ペンイベントは、特定の時間の(例えば、デジタイザの表面上に、又はデジタイザの限定された範囲内にある間の)ペン先端の位置を含んでいる。装置の機能に応じて、ペンイベントに関連したペンデータは、筆圧及び角度のような追加の測定データ(属性)を含んでも良い。図24は、手書きデータ処理部(例えば図20の手書きデータ処理部2100A参照)に提供できる、ペンイベント及びかかるペンイベントのデータシーケンス順序110を表すために使用できるデータ構造例108の説明図である。図24に示すように、データ構造2408は、「構造体」又は「クラス」型で実装され得る。あるいは、データ構造2408は、他の何らかの方法で実装され得る。記載された実施態様において、ペンイベントは、各イベントがデータシーケンス順序2410で起こる時に入力として提供される。ペンイベントは、記載された実施態様によりストリームフォーマットに(例えばストリーム生成部200によって)変換される。
少なくとも幾つかの実施態様において、手書きデータは、ペンダウン情報(すなわち、ペン先端が表面と接触する時に収集されるペンデータ)と、ペンアップ情報(すなわち、ペン先端が表面と接触しない時に収集されるペンデータ)を含むが、ジェスチャ情報と識別される情報を除外する。例えば、使用シナリオによっては、ペン装置は、手書き情報、及び(例えば、タップ、ドラグ、スクロール等のようなユーザインタフェース要素の種々の相互作用のための)ジェスチャ情報の入力のために使用できる。1つのシナリオ例において、ユーザは、指定区域内でペン装置によってサインし、かつ次に(チェックボックス、又は「OK」若しくは「完了」の標識が付されたボタンのような)ユーザインタフェース要素をタップするためにペン装置を使用して、サインが完結したことを示せる。かかるシナリオにおいて、サインに関する手書きデータは、保存でき、他方でチェックボックス又はボタンタップイベントデータは、廃棄できる。あるいは、もし希望するならば、ジェスチャデータをサインデータと共に保存できる。
本明細書に記載された例のいずれにおいても、ペン装置及びデジタイザは、手書き入力を提供するために使用され得る。センサによって記録された情報は、未加工の手書きデータフォーマットで当初記憶されても良い。センサによって記録された情報は、ペン装置及び/又はデジタイザによって提供される追加情報(例えば、装置ID情報、サンプルレート情報等)を伴うことがある。未加工の手書きデータは、インクエンジンによる処理のためにストロークデータに変換され得る。(センサに特有の単位で記録されたデータの、画素又はミリメートルのような標準単位への変換を含むことがある)未加工のデータをストロークデータに変換するプロセスは、可逆性でなくても良い。例えば、少なくとも幾つかの実施態様において、未加工の手書きデータを標準単位に変換するプロセスは、データ損失をもたらし得る。しかし、同じ未加工の手書きデータはデータ損失なしにストリームデータに変換される。非圧縮ストリームデータは、データを損失することなく符号化(圧縮)ストリームデータ(例えば、画像ファイルでの符号化に適したフォーマットでのバイナリデータ)に変換され得る。本明細書に記載された実施態様によれば、符号化ストリームデータは、ペン装置及びデジタイザによって提供される手書き入力に対応する手書きの画像を例えば含むデジタル画像ファイル(図示せず)に挿入される。
図25は、未加工の手書きデータが、ストリーム適応エンコーダ2540に提供される非圧縮ストリームデータ(例えば、ヘッダ及び個別のストリーム)を生成するストリーム生成器2520によって処理されるストリーム生成部200の説明に役立つ実施態様を示す。ストリーム適応エンコーダ2540は、幾つかのストリームに対して圧縮方法を選択的に適用でき、他方で他のストリームのデータは非圧縮のままで出力される。例えば、データ全体を圧縮のではなく、圧縮はストリーム毎に適用でき、その結果各ストリームタイプの形状を利用できる。少なくとも1つの実施態様において、比較的大量のデータを含むストリーム(例えば、x座標ストリーム、y座標ストリーム、圧力情報ストリーム、タイミング情報ストリーム、角度情報ストリーム)のみが圧縮される。全部のストリームではなく部分的に選択したストリームのみを圧縮する場合は、全ストリームを圧縮する場合に比して僅かに大きいデータサイズをもたらすことがあるが、圧縮処理の複雑さの軽減及び処理時間の点で利点を提供する。
図25に示す例において、ヘッダデータは、圧縮されずにストリーム適応エンコーダ2540を通過する一方、他方で(「streamID#1」、「streamID#2」...「streamID#n」とインデクスが付された)個別のストリームはmストリーム適応エンコーダ2540によって圧縮される。ストリーム適応エンコーダ2540の出力は、ヘッダデータと圧縮ストリームとを含む。ストリーム適応エンコーダ2540は、デルタ符号化、ランレングス符号化、エントロピー符号化、又は何らかのビットパッキング方法のような無損失性(可逆)圧縮方法を個別に若しくは組み合わせて使用し、記録されるストリームデータのサイズを減少できる。使用される特定の符号化技術、及び利用可能な符号化技術から適応的に選択するプロセスは、後述するように、状況又は実装に応じて異なることがある。尚、圧縮処理は省略するとしてもよい。
ストリームデータは様々の形状を取り得る。少なくとも幾つかの実施態様において、ストリームデータは、各々のストリームが複数のデータ(属性)のうち1つの(単一の)要素(属性)のデータを保持するストリーム(例えば、x座標に関する1つのストリーム、y座標に関する1つのストリーム等)から構成されるストリームのセットを含む。各々のストリームのストリームタイプ(すなわち、特定のストリームのデータ型)は、記憶されるデータに応じて異なり得る。可能なストリームタイプには、整数値(例えば、32ビット符号付き又は符号なし(U32)整数)、整数値対、浮動小数点値(例えば、32ビット浮動小数点値)、UTF(USC Transformation Format)8又は他のテキスト値、又はかかる値の配列又はバッファを含むが、限定されない。例えば、x座標ストリームは、整数配列の形を取り、他の情報については異なるストリームタイプが使用される。
幾つかの実施態様において、2つのストリームを集合的に用いてある1つの特定タイプの測定値の情報を提供できる。例えば、一方のストリームは未加工のデータから得られたデータ(例えば、x座標、y座標)等であり、他方は、インクエンジンがこのデータを、出力する際に実際に用いる単位での値に変換するために供給される較正(又は計量)データである。少なくとも1つの実施態様において、x座標ストリームは装置によって供給されるx座標値を含み、かつx座標計量ストリームはこれらのx座標値のスケール及び範囲に関する情報を含む。例えば、x座標計量ストリームに含まれるデータは、値の取りうる範囲、スケール情報、及び符号変換情報(正負の符号等)を含み得る。
図26の表2600は、ストリーム生成器220が出力する手書きデータの例を示している。表2600はストリームデータの形式で出力されるが、表のうち行の各々は各々のペンイベントに対応するものである。表2600で「Stroke」のラベルを付された列は、ストロークID=3のストリームのデータとして出力されるデータであって、このストリーム中のデータは手書きデータに含まれた複数のストロークのうち何番目のストロークに各行のペンイベントが関連するかを示すデータを提供するストリームになる(この例において、ストローク「0」は、対応するペンイベントが、複数のストロークのうち最初のストロークであることを示す)。表2600で「Btn」の標識を付された列は、ストリームID=4のストリームとして出力され、ペンが上がっている(0)か、又は下がっている(1)かを示すバイナリ値を提供するストリームである。表2600で「X」及び「Y」のラベルを付された列は、ストリームID=1及びストリームID=2のストリームとして出力され、かつそれぞれx座標及びy座標を提供するストリームとなる。表2600で「Ti」のラベルを付された列は、タイミング情報を提供するストリームとなる。タイミング情報は、各行の個別のペンイベントのタイムスタンプを含んでも良い。しかしながら、図26に示す例において、「Ti」のラベルの付された列は、最初の行の後は空白である。これは、デジタイザは一定の時間間隔(例えば、5ミリ秒毎)でペンイベントを収集するため、各ペンイベントの時間はサンプリングレートから推測されるので、ペンイベントごとの明示的タイムスタンプ情報の伝達を省略できるという典型的なシナリオを示している。表2600で「P」のラベルを付された列は、ストリームID=7のストリームとして出力され、かつ筆圧値を提供するストリームとなる。
図27は、ストリーム適応エンコーダ2540(図25参照)によって実行される適応符号化ステップS240の例を示している。ステップS241でストリームIDが識別され、ストリームIDに基づき対応する符号化方法が選択される。例えば、ストリームID=1、2又は7(例えば、x座標、y座標又は圧力値)について、第1符号化方法S242が選択され、ストリームID=3又は4(例えば、ストロークID番号、又はペンが上がっているか、又は下がっているかを示す「Btn」値)について第2符号化方法S243が選択される。選択された符号化方法は、符号化すべきデータの値の特性を活用できる。例えば、第1符号化方法S242は、x座標、y座標及び圧力値の傾向として、頻繁に変化する値ではあるが以前のペンイベントの値に基づいてある程度予測可能な方法で変化されることを活用した符号化方法を利用できる。もう1つの例として、第2符号化方法S242は、ストロークID番号及び「Btn」値の傾向として低い頻度で変更される同じ値が長期にわたってて維持される性質を活用した符号化方法を選択することができる。
図27に示す例において、適切な符号化方法の選択は、ストリームIDに基づき各ストリームごとに行われ、全てのストリームについて処理が完了すると、ストリームデータ(FIRST_CONV_DATA)が、ステップS245で出力される。対応する符号化方法が存在しないストリームID、又はストリーム適応エンコーダ2540によって認識されないストリームIDは、省略又は廃棄できる。使用される特定の符号化方法、及び符号化のために選択される特定のデータは、実装に応じて異なり得る。図27に示す例において、符号化方法S244は、本明細書に記載されたいかなる符号化技術も、又は他の符号化技術を含んでも良く、かつ本明細書に記載されたいかなるストリームも、又は他のストリームを符号化するために使用できる。
第1符号化方法S242(図27参照)の例が、図28に示される。図28に示す例において、ペンイベントに関連したx座標値が符号化されるが、但し他の値(例えば、y座標値、圧力値)は、同様に符号化され得る。ステップ242A-1で、現在のx座標値(指数k)が、得られる。ステップ242A-2で、デルタ値が、現在のx座標値から以前のx座標値を減算することによって算出される。(ステップ242A-2は、現在のx座標値が、初期ペンイベント(k=0)に関連する場合のように、状況によって省略できる)。ステップ242A-1及び242A-2は、後続のペンイベントに関して繰り返される。このストリーム中の全ての値が処理された時、初期ペンイベント(k=0)の初期x座標値が、後続のペンイベント(k=1...n)のデルタ値と共にステップ242A-3で符号化される。例として、ステップ242A-3の符号化は、デルタ値のランレングス符号化又はエントロピー符号化を含む。初期値及びデルタ値を符号化する特定の技術は、実装に応じて異なっても良い。
少なくとも1つの実施態様において、x座標を記憶するために例えば符号なし32ビット整数(U32)配列のストリームが使用され、次の手続きがデータを記憶する時に使用される。
1.値は、初期値及び残りにデルタ値のセットが続く配列として記憶される。
2.デルタ値は、ランレングス符号化される。必要があるデルタ値の最大値が導出され、かつ次に繰り返し回数の最大値が導出される。
3.データは、次に(a)点の数(32v型の値で保持)、(b)第1値(32v型の値で保持)、(c)最大デルタ値を記憶するために必要なビット数(8ビット値で保持)、及び(d)最大ランレングス値を記憶するために必要なビット数(8ビット値で保持)の形式で出力される。この状況において、「32v」は、サイズ32ビットまでの可変ビット数で値を記憶する方法を指し、実際に値を保持するために必要なバイト数のみを使用する。従って、32v値は、可変長符号化データの値の1つの例であり、特に可変数のバイトを有する値(可変バイト値)である。図29Aは32v符号化技術の例が示される。図29Aに示すように、32v値において、各バイトは保持する必要のある値の7ビットを記憶するために使用される。第1の7ビットは、符号ビットがセット(1)された第1バイト中に記憶される。この処理は、全ての非ゼロビットが記憶されるまで繰り返される。最終バイトは、符号ビットがクリア(0)されることによって示される。例として、図29Bに示すプロセスにおいて、整数Vは、ステップ2910で得られる。ステップ2920で、Vは、16進数値0x7Fと比較される。Vが16進数値0x7Fよりも大きいならば、ステップ2940でVのLSBから7ビットは、符号ビットをセット(1)した1バイト中に保持されこの7ビット分右シフト処理が、行われる。ステップ2920、2940、2950は、Vが0x7F以下になるまで繰り返され、その時点でVの最終バイトは、ステップ2930で符号ビットがクリア(0)される。再び図29Aに示す例を参照すると、2バイト値の第2バイトは、クリアされた符号ビットを有し、他方でnバイト値のn番目のバイトは符号ビットを有する。32v値をロードする際は、各々のバイトが順に読まれ、符号ビットがクリアされていることにより示される最終バイトまで、LSBから7ビットそれぞれ抽出される。
4.このように、必要に応じてランレングス符号化を施した上、デルタ値のフルセットがビット列の集合としてパックされたバイナリブロブとして記憶される(バイナリブロブは、以下で更に詳細に記載する)。
少なくとも幾つかの実施態様において、いずれのストリームタイプのストリームデータも一様にビット列に変換されたエクスポートデータに変換でき、このようにして得られるバイナリデータは、符号化バイナリ手書きデータ又は「バイナリブロブ」とも称される。ストリーム群に対応する部分のバイナリブロブは、1以上のストリーム又はエクスポートデータに関連したヘッダ情報(例えばフォーマット及び/又はバージョン情報、ストリーム数等)のような他のバイナリ情報と共に、単一の実体データの中に組み合わせることができる。手書きサインの状況においてこの単一の実体は「サインブロブ」とも称される。アプリケーションは、サインブロブ中のバイナリ情報を直接扱っても良いし、又はバイナリ情報は、例えば、Base-16又はBase-64のように異なるフォーマットで変換されても良い。
図30は、3つのストリームと、ストリームの総数を示すヘッダ情報とを含むデータ構造例3000の図である。データ構造3000は、バイナリブロブ、又は符号化バイナリデータの一例である。データ構造3000は、本明細書に記載した実施態様により、ストリームエンコーダ(例えば、図25のストリーム適応エンコーダ2540)から出力できる。
図25に示すように、少なくとも1つの実施態様において、ユニークな整数の識別子(例えば、x座標に関してID=1、y座標に関してID=2、x座標計量に関してID=3、等)が各ストリームに割り当てられる。ストリームIDの値は、1の主体によって定義及び決定できる。ストリームID値は、特定のストリームタイプと関連付けられても良く、所与のストリームに関するストリームタイプが明示的な情報送信がされずにストリームIDから判定されることを可能にする。識別される個々のストリームは、同じストリームタイプであっても良い。例えば、x座標及びy座標ストリームは異なるストリーム識別子を有するが、両方とも整数配列であって良い。ストリームは、ストリーム中に含まれるペイロードデータ(例えば、x座標ストリーム中の実際のx座標に対応するデータ)のバイト数を示す長さフィールドのような追加の情報も含んでも良い。
図30を左上から右下に見ると示されるように、データ構造3000は、サインブロブ中のストリームの総数を示すフィールドを含み、その後に個別のストリームに対応するデータ(例えば、ストリームID、バイトでのペイロードデータの長さ、及びペイロードデータ自体)が続く。各ストリームは、ストリームID、含まれるバイナリペイロードデータの長さ、及びペイロードデータ自体を順にリードすることによって、シーケンシャルにリードされる。ストリームIDが認識されると、ペイロードデータは、適切なデータハンドラを利用して適切なフォーマットに変換可能になる。(ストリームID3、4、5及び6が省略されている図30に説明するように、全てのストリームIDのストリームが存在する必要はない)。ストリームIDが認識できないものならば(例えば、古いデコーダが、新規に定義されたデータストリームを認識しない場合)、ストリームは、他のストリームの認識に悪影響を与えることなく廃棄でき、かつ次のストリームが順番で処理される。
以上に説明したように、(例えば、符号化バイナリ手書きデータを含む)本明細書に記載されたデータを符号化するために使用される特定の符号化技術、及び利用可能な符号化技術から適応的に選択するプロセスは、実装に応じて異なり得る。この節において、代替的な符号化技術は、図31~図44を参照して記載される。
幾つかの実施態様において、エントロピー符号化を使用する可変長符号化方法は、幾つかのデータタイプの圧縮効率の点で好ましい。更に、幾つかの実施態様において、幾つかの値(例えば、x座標、y座標、及び圧力値)を符号化するために予測符号化が使用される。本明細書に記載された例において、予測符号化は、予測残差、すなわち予測値と実際の値との差、を算出することを伴う。予測値は、以前に得られたデータに基づいて得られる。エンコーダにおいて、以前に得られたデータは、メモリに記憶されても良い。デコーダにおいて、以前に得られたデータは、直近に復号化されたデータであっても良い。予測符号化は、手書き操作の動きが、以前の動きの方向及び速度に類似する方向及び速度で継続する傾向があるという知見に基づいている。デルタ値の符号化のように、予測残差が符号化される。
第1符号化方法S242(図28参照)の他の例によるフロー図を、図31に示す。図31に示す例において、ペンイベントに関連しx座標値が符号化されるとしているが、他の値(例えば、y座標値、圧力値)も同様に符号化される。図31の符号化方法が適用される時、(例えば、図20の手書きデータ処理部2100Aで)次のステップが実行される。ステップ242B-1で、現在のx座標値(指数k)が得られる。ステップ242B-2で、現在のx座標値(指数k)の予測値が、以前に得られたデータに基づき算出される。例えば、予測値は、2つの復号値(例えば、X[k-2]及びX[k-1])から第3点への線形予測法によって導き出せる。ステップ242B-3で、予測残差値は、現在のx座標値から予測値を減算することによって算出される。この例において、予測残差は、(i)予測されたx座標位置と、実際に取得されたx座標位置との間の差である(ステップ242B-2及び242B-3は、現在のx座標値が、初期ペンイベント(k=0)に関連し、かつ以前得られたデータが予測値を計算するために利用できない場合のような例外の部分は省略できる)。ステップ242B-1、242B-2及び242B-3は、後続のペンイベントに関して繰り返される。このストリーム中の全ての値が、処理された時、初期ペンイベント(k=0)の初期x座標値が、後続のペンイベント(k=1...n)の予測残差と共にステップ242A-4で符号化される。初期値及び予測残差を符号化する特定の技術は、以下で更に詳細に説明するように、実装に応じて異なっても良い。
図32は、変形例である図31に示す第1符号化方法S242Bにおいて実行される予測残差計算の例を説明する図である。図32に示す例では、ペンイベントに関連してx座標値が予測されとしているが、他の値(例えば、y座標値、圧力値)も同様に予測され得る。現在のx座標値の予測値(X[k]=+26)は、以前得られたデータに基づき算出される。この例において、予測値(Predicted_X[k])は、2つの以前に得られたx座標値(X[k-2]及びX[k-1])の値に基づき算出される。特に、予測値(+25)は、以下に示すように、X[k-2]と、X[k-1]との間の差を、X[k-1]の値に加えることによって算出される。
Figure 0007050725000007
予測残差値(+1)は、以下に示すように、現在のx座標値から予測値を引くことによって算出される。
Figure 0007050725000008
図33は、x座標値の例と、それに付随するデルタ値、予測値及び予測残差を示す図である。図33において、第1行の値(X[0...])は、実際のx座標を表し、第2行(delta_X[1...])は、デルタ値を表し、第3行(Predicted_X[2...])は、予測値を表し、かつ第4行(Prediction Residual[2...])は、予測残差値を表す。図33に示す例において、x座標値(第1行)は、初期値15から増加していき、およそ50で変化率が大幅に減速する。図34は、図33に示すデルタ値及び予測残差の頻度を示すヒストグラムである。多くの場合、図34に示すように、予測残差の絶対値は、デルタ値の絶対値よりも平均して小さくなる。更に、予測残差のヒストグラムは、1個のピーク(例えば、0付近の小さい絶対値)に集中するが、他方でデルタ値の頻度は、複数個のピーク(例えば、+5付近に1つのピーク、0付近に1つのピーク)を生じてしまう。
図35及び図36の表3500及び3600は、手書きサインについての99個のサンプルの実験結果がそれぞれ示される。手書きサインについての99個のサンプルの実験結果は、絶対値の小さいx座標予測残差及び圧力値予測残差の方が、絶対値の大きいx座標予測残差及び圧力値予測残差に比して頻度が多い傾向にあることを示す。図35に示されるヒストグラム3510は、x座標値の予測残差の頻度が、単一のピーク(例えば、小さい絶対値又は0)に集中し得るが、他方でデルタ値の頻度は、複数のピーク(例えば、-10付近に1つのピーク、+10付近に1つのピーク、及び0付近に1つのピーク)を有し得ることを示す。図36に示されるヒストグラム3610は、予測残差及び圧力値の頻度が、両者共単一のピーク(例えば、小さい絶対値又は0)に集中し得ることを示す。全体として、ヒストグラム3510及び3610は、圧力値及びx座標値に関して、予測残差値が、0が0に近い値である可能性が高いことを示している。適切な符号化方法を使用することによって、これら絶対値の小さい値を少ないビット数のビットで符号化することが可能である。
図37は、デルタ値又は予測残差のような値を符号化するために使用され得る可変長符号化方法例を示す表3700を示す。表3700は、符号化される値と、ビットストリングとの対応を示すマッピングを示す。図37に示される符号化方法は、高い確率で発生する値に対し短いビットストリングを使用して符号化される可変長エントロピー符号化の一種として、指数ゴロム(又はExp-Golomb)符号化として知られる方法である。図37に示す符号化方法例は、図38及び図39に示すように、絶対値の小さい値の発生する確率が、絶対値の大きい値が発生する確率よりも高い状況に、特に適している。
図38及び図39は、図37の可変長符号化方法をx座標値及び圧力値の予測残差への適用した結果をそれぞれ示す表3800及び3900を示す。それぞれ表3800及び3900で「X_pred_residual_ExpGolomb」及び「P_pred_residual_ExpGolomb」のラベルを付された列中の記入項目は、適切に構成されたエンコーダ(例えば、図25のストリーム適応エンコーダ2540)の出力(例えば、「FIRST_CONV_DATA」中のそれぞれ「streamID#1」及び「streamID#7」に関連したストリーム)中に含まれ得る。
図40に、コンテキストに基づいた符号化方法選択プロセス4000のフロー図を例示する。ステップ4010で、符号化処理のコンテキストがストリームIDの少なくとも一部に基づき判定される。ステップ4020で、可変長コード(VLC)テーブルが、コンテキストに基づき選択される。ステップ4030で、ストリームIDによって表されるストリーム中の値は、選択されたVLCテーブルを使用して符号化される。図41A及び図41Bは、それぞれVLCテーブルの例4100及び4110を示す。図41Aに示す例において、コンテキストは、x座標値に関連したストリームID(例えば、ストリームID=2)に基づき判定されている。VLCテーブル4100は、傾向として所定の大きさの右方向への移動に対し短いビット数のビットストリングを設定し、左方向への移動よりも右方向への移動に対し短いビット数の付与を優先させている。図41Bに示す例において、コンテキストは、x座標値に対応付けられたストリームIDである点、並びに、言語として右から左に移動する傾向がある言語(例えばアラビア語)、スクリプト、又は文字に付与されたコード、に基づいて判定される。VLCテーブル4110は、傾向として所定量の左方向への移動に対し短いビットストリングを提供することによって右移動よりも左移動に対して、短いビットストリングの付与を優先させている。いかにして符号化コンテキストが判定されるかの詳細、及び使用される特定のVLCテーブル及びコードは、実装に応じて異なり得る。
図42は、復号方法4200のフロー図の例である。図42に示す例において、復号方法4200では、符号化された予測残差を入力し、値(例えば、x座標値、y座標値等)を復号する方法を実行する。ステップ4210で、符号化された値(例えば、それぞれ指数k=0及びk=1に対応する2つの初期符号化値)の初期値の部分が復号化される。ステップ4210の初期値の部分の値の復号化により、符号化された予測残差を含む後続値を、後のステップで復号化できるようにする。ステップ4220で、それ以前に導出又は復号化された値に基づいて、次のインデクス(例えば、K=2又は後続値)に関する予測値が導かれる。(例えば、図32参照。)ステップ4230で、それぞれの予測値について、予測残差誤差が復号化される。ステップ4240において、導出された予測値と復号された予測残差値とに基づいて、オリジナルの値が導出される。(例えば、図32参照。)復号化は、復号化すべき全ての符号化された値が復号化されるまで、続く値についても継続する。特定の符号化値及び/又は符号化予測残差を復号化するために使用される技術(例えば、図42のステップ4210及び4230参照)は、それらを符号化するために使用された符号化方法に応じて異なる。例えば、Exp-Golomb符号化方法を使用して符号化された値は、符号化方法に対応する復号方法を使用して復号化される。
再び図21Aを参照すると、幾つかの実施態様において、ストローク及び/又は画像データ処理部300は、損失性(非可逆)技術(すなわち、データ損失を伴うことがある技術)を使用して、未加工手書きデータを処理する。データ損失は、とりわけ一方向の関数であるx/y座標平滑化関数、量子化処理(例えば、データを標準単位に変換すること)、タイムスタンプの不使用、及びタイプスタンプの廃棄のようなプロセスのために生じる。図43は、画像データ処理部300Aの処理内容、特に、レンダリング構成モジュール4320によって提供されるコンフィグレーションデータに基づいて未加工手書きデータが画像プロセッサ4340によって処理される例を示す。コンフィグレーションデータは、画像データを生成するために必要とされ得るデータ、例えば、画像サイズ、スケール、オフセット、ストローク色(例えば、赤、緑、青、不透明)、ペンツールデータ(例えば、ブラシ、鉛筆)等を含んでも良い。図43に示す例において、画像プロセッサ4340は、未加工手書きデータを(「SECOND_CONV_DATA」の標識を付された)画像データに変換する。図44は、ストローク及び画像データ処理部300Bの処理内容であって、未加工手書きデータがレンダリング構成モジュール4320によって提供されるコンフィグレーションデータに基づきストロークデータ生成器4330によって処理される説明に役立つ実施態様を示す。図44に示す例において、ストロークデータ生成器4330は、未加工手書きデータをインクエンジン4340Bによって処理可能なストロークデータに変換する。インクエンジン4340Bは、ストロークデータを画像データ(「SECOND_CONV_DATA」)に変換する。
図45及び図46は、損失性(非可逆)データ処理部300によって(例えば、図43及び図44に示される実施態様の一方によって)生成された画像データからレンダリングされた画像の例を示す。それぞれサイン4500及びアート図画4600の画像を示している。図46に示す例において、アート図画が、背景画像4610上にレンダリングされる。コンフィグレーションデータは画像のレンダリングを構成するために使用され得る。例えば、コンフィグレーションデータは、サイン4500又はアート図画4600の手書きがインクの特定の色でレンダリングされるべきであることを示し得る。
図47は、ストロークデータ処理部300Cの実施態様を示す。未加工手書きデータが、レンダリング構成モジュール4320によって提供されるコンフィグレーションデータに基づき、ストロークデータ生成器4330によって処理される。ストロークデータ生成器4330は、未加工手書きデータをストロークデータ(「SECOND_CONV_DATA」)に変換する。図44に示されるストローク及び画像データ処理部300Bと異なり、ストロークデータ処理部300Cは、インクエンジンを欠く。別個のインクエンジン(図示せず)は、ストロークデータを画像データに変換し得る。例として、別個のインクエンジンは、クラウドコンピューティング構成内のサーバ上で動き得る。本明細書に記載された実施態様において構成データ、ストロークデータ及び画像データを生成し、かつ処理するために使用される特定の技術は、実装及び/又は状況に応じて異なり得る。
再び図21Aを参照すると、幾つかの実施態様において、統合部400は、画像データをストリームフォーマットで保存された手書きデータと組み合わせる。図48は、ストリーム生成部200(図21A参照)から受信したデータ(「FIRST_CONV_DATA」)が、損失性(非可逆)データ処理部300(図21A参照)から受信した画像データ(「SECOND_CONV_DATA」)と統合される統合部400の説明に役立つ実施態様を示す。図48に示す例において、ステガノグラフィープロセス4820が、ストリームデータを画像データに挿入するために使用される。統合データを生成するために使用される特定の技術は、以下で詳細に説明するように、実装及び/又は状況に応じて異なり得る。
手書きデータのオリジナルの内容を保存せずに、サイン又はサインした文書の画像を標準の画像フォーマットを用いてレンダリングすることは可能であるが、これを行うことの不都合の1つは、キャプチャしたサイン情報の多くが失われることである。この問題は、(例えば、符号化バイナリ手書きデータを画像にステガノグラフィープロセス等により挿入することによって)手書きデータのオリジナルの内容を画像データと統合することによって克服できる。この方法の更なる利点は、多くの既存のアプリケーションは画像データならば取り扱えるが、手書きデータは取り扱えないことである。手書きデータを画像に挿入することによって、未加工手書きデータのオリジナルの内容は、画像が、それ自体では手書きデータを認識又は処理不可能なアプリケーション間を通過する際にも保存できる。このタイプの画像を使用することは、修正された画像を取り扱うアプリケーションを修正せずに、手書きデータのオリジナルの内容全部を保存することを可能にする。
実際の手書きにおいて、ストリームデータのサイズは可変であり、手書きの持続時間のような要素によって左右される。データ点は概して一定の間隔で収集されるので、記憶される点の数はサインするためにかかった全時間及びデータ収集速度に比例する。デジタイザによっては、毎秒400点以上を収集できる。ストリームデータのサイズは、筆圧及びペン角度ストリームのような、任意であり得るデータストリームの存在又は不存在によっても決まり得る。例として、毎秒100点(一般的な頻度)で収集されるx座標、y座標、時間、及び圧力情報を含むサインは、バイナリ形で記憶される時、1~2キロバイトを占め得る。毎秒でより多くの点を含む手書きは、更なる情報を含み得る。少なくとも1つの実施態様において、典型的な手書きサインは、2~4キロバイトのサイズの範囲でストリームデータを生成する。
少なくとも1つの実施態様において、符号化されたバイナリ手書きデータは、図49に示す一般化技術4900により画像に挿入される。ステップ4910において、デジタル画像画素データが得られる。オリジナルの画素データの特定のフォーマットは、必要でない。しかしながら、画素データのビット深度は、ビットによっては、レンダリングされた画像の目に見える劣化を引き起こさずに、そのオリジナルの値から変更できるようになっていることが好ましい。ステップ4920において、オリジナルの画素データの一部が、(例えば上記の符号化バイナリフォーマットで)電子手書きを表す符号化されたバイナリ手書きデータと置き換えられる。例えば1つ以上の色を示すピクセル値の1つ以上のビットが、以下で更に詳細に説明するように、画像中から選択された画素について修正される。修正される画素数は、符号化されるデータのサイズ、及び各画素中で修正されるビット数を含む幾つもの因子によって決まり得る。ステップ4930において、修正された画素値を含む画像データは、修正されたデジタル画像中に記憶される。修正された画像は、圧縮又は非圧縮フォーマットで記憶され得る。データ損失を回避するために、修正されたデジタル画像は、JPEG(Joint Photographic Experts Group)のような損失性(非可逆)圧縮フォーマットを用いて記録しないとする。
少なくとも1つの実施態様において、24ビットからなり、8ビットが3つの色値(例えば、赤、緑及び青)の各々のために使用される画素中、色値の下位ビットは、電子手書きデータと置き換えられる。少なくとも1つの実施態様において、画素当たり4ビット(例えば、赤値の最下位ビット、緑値の最下位ビット、及び青値の2つの最下位ビット)が置き換えられ、それにより4ビットの手書きデータが、単一の画素中に記憶され、かつ1バイト(8ビット)の手書きデータが2画素中に記憶されることを可能にする。画素当たり4ビットの手書きデータが、16進数(16進法)値に変形できる。
手書きデータは、その全部が画像中の画素の連続シーケンス中にまとまって記憶されないことが好ましい。幾つかの実施態様において、幾つかのデータ(例えば、ヘッダデータ)は、一連の連続画素中に記憶され得るが、データ(例えば、x座標データ、y座標データ)の多くは、疑似ランダム選択により全画像にわたって分布した画素に記憶される。少なくとも1つの実施態様において、ヘッダ情報は、画像の第1画素から開始し、かつ全てのヘッダ情報が挿入されるまで連続的に継続する、一連の連続画素に挿入される。個別のストリーム中のデータは次に画素の疑似ランダム選択に挿入される。ヘッダ情報は、データストレージ機構のバージョン番号、ストリームデータのサイズ、及びデータが記憶される画像の幅及び高さを含んでも良い。
ヘッダ情報及びストリームデータに加えて、画像が有効な手書きデータを含むかを判定する機構を提供するために、確認データが、画像に挿入され得る。少なくとも1つの実施態様において、2つの所定の16進法値を表す8ビットが、画像の最初の2つの画素に挿入される。データが後で抽出される時、適切に構成されたデコーダが、これら2つの16進法値の存在を検査して、画像が、有効な手書きデータを含むという初期判定を行える。あるいは、確認データは、他の形(例えば2を越える16進数値、64進数値等を表すバイナリデータ)を取ることができるか、又は確認データは省略できる。
図50は、画素の疑似ランダム選択による16ビットのバイナリデータの分布の例を説明している。図50に示すように、各R値における1ビット、各G値における1ビット、及び各B値における2ビットが、修正される。(図50で「X」によって表す)各色値における残りのビットは、影響を受けない。あるいは、バイナリデータは、他のいずれかの方法で画素値に挿入できる。例えば、R、G及びB値における様々な数のビットは、修正できるか、又は色値のいずれかのサブセット(例えば、R値及びB値)が、修正でき、他方で残りの色値(例えば、G値)は、修正されないままでいる。修正される特定数のビット及び特定の値は、画像データのフォーマットによって同様に決まり得る。例えば、様々な色値、又は様々なビット深度(例えば、10ビット又は16ビット)を有する色値を含むフォーマットの画像は、様々な方法で調整され得る。一般的に、非常に少量の画像劣化をもたらす統合方法が、好ましい。
画素の疑似ランダム選択は、多くの方法で実行できる。少なくとも1つの実施態様において、一様偏差(乱数)生成器が、画像サイズをシードとして初期化され、かつ次に修正される画素シーケンスを判定するために使用される。このことは、画素が一様に分布されることを確実にし、かついずれの画素が修正されたかを、第三者が判定することを困難にする。所与の画素が2回目に選択されるならば、それは単に無視され、かつ別の画素が疑似ランダムアルゴリズムに従って選択される。埋め込みデータが復号化される時、画素シーケンスは、同じアルゴリズムにより画像サイズをシードとして使用して、判定できる。このことは、情報が画像中に拡散されるが、(同じシードを用いて一様偏差(乱数)を初期化する処理によって)同じシーケンスが再現でき、かつ修正された画素が、適切に構成されたデコーダによって正しい順序で読み取れることを意味する。
図51に、ステガノグラフィープロセス3200の例を示す。ステガノグラフィープロセス3200は、少なくとも1つの実施態様において符号化バイナリ手書きデータをデジタル画像に挿入する。ステップ5110で、画像が符号化手書きデータを記憶するために(画素数の点で)十分大きいか、に関する初期判定がなされる。この判定を行うために使用されるアルゴリズムは、実装に応じて異なり得る。例として、アルゴリズムは、各画素中で修正されるビット数(例えば、4ビット)を考えると、符号化手書きデータを記憶するために修正される必要がある画素数が、画像中の全画素の所定の閾値割合を超えるか判定できる。画像が十分大きいならば、ステップ5120でヘッダデータが、画素シーケンスに書き込まれる。残りの符号化手書きデータに関して、ステップ5130で画素は、疑似ランダムに選択される。画素が以前選択されたかを判定するために、ステップ5140で検査が実行される。画素が以前選択されたならば、疑似ランダム選択プロセスが、再度実行される。画素が以前選択されなかったならば、ステップ5150で、適切なビット数(例えば、1/2バイト(4ビット))の符号化手書きデータが、画素中に書き込まれる。ステップ5130~5150は、ステップ5160で、全ての符号化手書きデータが、画像中に書き込まれたという判定がなされるまで繰り返される。状態フラグが、ステップ5170で成功を表示するために設定される。
他方で、画像が、符号化手書きデータを記憶するために十分大きくないならば、ステップ5180で、状態フラグが、失敗を表示するために設定される。しかしながら、プロセス5100は、符号化手書きデータを記憶するために十分大きくない幾つかの画像に効果的に対処するための適応特徴も含むことができる。例えば、プロセス5100は、修正される必要がある画素数を減少させるために、(例えば、画素当たり4ビットよりも、画素当たり6ビット(例えば、色値当たり2ビット)を修正することによって)各選択画素中の多数のビットを修正するように適応できる。このようにして、画像中で修正される画素の割合が減少でき、かつステガノグラフィープロセスは、画像中の少数の画素にもかかわらず継続できる。
ストリームデータは、画像データ又はストロークデータに常に組み合わせる必要はない。図52は、ストリーム生成部200(図21A参照)から受信したデータが、損失性(非可逆)データ処理部300(図21A参照)から受信したストロークデータと選択的に統合される統合部400Bの説明に役立つ実施態様を示す。図52に示す例において、統合部400Bは、ストリーム生成部200から受信したデータ(「FIRST_CONV_DATA」)が、選択モジュール5201への入力として提供されるフラグの状態(「FIRST_CONV_DATA_EXIST_FLAG」)に基づきストロークデータマルチプレクサ5202中のストロークデータ(「SECOND_CONV_DATA」)と統合されるかを判定する。図53は、ストリーム生成部200(図21A参照)から受信したデータが、損失性(非可逆)データ処理部300(図21A参照)から受信したストローク及び/又は画像データと選択的に統合される統合部400Cのもう1つの説明に役立つ実施態様を示す。図53に示す例において、統合部400Cは、ストリーム生成部200から受信したストリームデータ(「FIRST_CONV_DATA」)が、選択モジュール5301及び5303への入力として提供される制御信号(「ctrl」)に基づき再結合モジュール5302中のストローク及び/又は画像データ(「SECOND_CONV_DATA」)と統合されるかを判定する。データを統合し、かつデータが、個別に統合及び/又は処理されるべきか判定するために使用される特定の技術は、実装及び/又は、アプリケーションが特定のデータを要求しているか、のような他の因子に応じて異なり得る。例えば、アプリケーションが、画像データ(例えば、PNGファイル)のみを要求するならば、制御信号は、統合部400Cが画像データのみを出力するように設定できる。もう1つの例として、アプリケーションが、ストリームデータのみを要求するならば、制御信号は、統合部400Cがストリームデータのみを出力するように設定できる。もう1つの例として、アプリケーションが、ストリームデータ及び画像データを要求するならば、制御信号は、統合部400Cがストリームデータ及び画像データを含む統合データを出力するように設定できる。
本明細書に記載された例のいずれにおいても、損失性(非可逆)又は無損失性(可逆)符号化データを復号化するために、1つ以上のデコーダが使用できる。デコーダは、符号化データを入力として受信し、かつ復号データを出力する。概して、デコーダは、特定の方法で符号化されたデータを復号化するように構成される復号ロジックを含む。例えば、PNG(ポータブルネットワークグラフィックス)デコーダは、PNGフォーマットで符号化されたデータを復号化するように構成される。復号ロジックは、対応する符号化論理と異なるコンピューティング装置上か、又は同じ装置上に存在し得る。
本明細書に記載された実施態様により、符号化手書きデータデコーダは、符号化バイナリ手書きデータ(例えば、ビットパックされたExp-Golomb符号化バイナリ手書きデータ)を読み込み、かつそれをインクエンジン、法的な証拠のように利用されるサインデータ分析ツール又は他の電子手書きツールのようなツールによって使用され得る形に変換し戻すロジックを含む。符号化手書きデータデコーダは、画像データデコーダのような他のデコーダと組み合わせて使用できる。例えば、符号化手書きデータデコーダが、画像ファイル中の画素データに挿入された符号化手書きデータを読み込んだ後、画像ファイルは、次に適切な画像データデコーダによって復号化でき、かつ表示のためにレンダリングできる。
デコーダによって使用される復号化プロセスの詳細は、状況及び/又はデコーダに提供される情報によって決まり得る。例えば、本明細書に記載された実施態様によれば、符号化手書きデータデコーダは、画素の各色値で何ビットが、符号化バイナリ手書きデータを含むか、又は特定のコード表がエントロピー符号化方法で使用されたかを示す符号化手書きデータのヘッダ部分における情報を受信し得る。この情報によって、デコーダは、符号化データを復号化する適切な技術を選択できる。
上記の実施態様は、デジタル画像中に記憶され得る電子手書きデータに関するが、上記の技術及びツールの多くで、電子手書きデータが、補完される、又は電子手書きデータに限定されない他のタイプのデータと置き換えられることが可能であり、かかるデータは、本明細書に記載された原理によりデジタル画像中に記憶され、かつ/又はデジタル画像から抽出され得ることが理解されるべきである。
III.コンピューティング環境
具体的な例の文脈において、別段の指示がない限り、記載された技術及びツールは、ラップトップコンピュータ、デスクトップコンピュータ、スマートフォン、タブレットコンピュータ等を含むが、それらに限定されない、いかなる適切なコンピューティング装置によっても実装できる。例えば、本明細書に記載した幾つかの例において手書きデータの生成は、電子ペンのようなある種のハードウェアの特徴を必要とすることがあるが、電子ペンによって生成された未加工のデータは、ラップトップコンピュータ、デスクトップコンピュータ、スマートフォン、タブレットコンピュータ等を含むが、それらに限定されない、適切に構成された汎用コンピューティング装置に伝送でき、かつそれにより処理できる。
本明細書に記載された機能性によっては、クライアント-サーバ関係の状況で実装できる。この状況において、サーバ装置は、本明細書に記載された情報及び/又はサービスを提供するように構成された適切なコンピューティング装置を含んでも良い。サーバ装置は、専用のサーバ装置のような、いかなる適切なコンピューティング装置を含んでも良い。サーバ装置によって提供されるサーバ機能性は、場合により、専用のサーバ装置でないコンピューティング装置上で実行するソフトウェア(例えば、仮想化コンピューティングインスタンス又はアプリケーションオブジェクト)によって提供できる。用語「クライアント」は、サーバによって通信リンクを通じて提供される情報及び/又はアクセスサービスを得るコンピューティング装置を指すために使用され得る。しかしながら、クライアント装置のような特定の装置の指定は、必ずしもサーバの存在を必要としない。種々の時点で、単一の装置が、状況及び構成に応じてサーバ、クライアント、又はサーバ及びクライアントの両者の役目を果たせる。クライアント及びサーバの実際の物理的な位置は、必ずしも重要でないが、クライアントがリモート位置のサーバによって提供される情報を受信する、共通の使用シナリオを説明するために、位置は、クライアントに関して「ローカル」、かつサーバに関して「リモート」と記載され得る。
図54は、本開示の実施態様に従った使用に適した代表的なコンピューティング装置5400の態様を説明するブロック図である。下記記載は、サーバ、パーソナルコンピュータ、携帯電話、スマートフォン、タブレットコンピュータ、組込型コンピューティング装置、及び本開示の実施態様により使用できる、他の現在利用可能な、又はこれから開発される装置に適用できる。
コンピューティング装置5400は、その最も基本的な構成において、少なくとも1つのプロセッサ5402と、通信バス5406によって接続されたシステムメモリ5404とを含む。装置の正確な構成及びタイプに応じて、システムメモリ5404は、リードオンリーメモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュメモリ又は他のメモリ技術のような揮発性又は非揮発性メモリであっても良い。当業者等は、システムメモリ5404が、プロセッサ5402によって即時アクセス可能な、かつ/又は現在操作されるデータ及び/又はプログラムモジュールを概して記憶することを認識するであろう。この点に関して、プロセッサ5402は、命令の実行を支援することによって、コンピューティング装置5400のコンピュータセンタとして役立つことがある。
図54に更に説明されるように、コンピューティング装置5400は、他の装置とネットワークを通じて通信するための1つ以上の部品を含むネットワークインタフェース5410を含んでも良い。本開示の実施態様は、ネットワークインタフェース5410を利用する基本サービスにアクセスでき、共通のネットワークプロトコルを使用して、通信を実行する。ネットワークインタフェース5410は、WiFi(Wireless Fidelity)、2G(2nd Generation)、3G(3rd Generation)、4G(4th Generation)、LTE(Long Term Evolution)、WiMAX(Worldwide Interoperability for Microwave Access)、Bluetooth(登録商標)等のような1つ以上のワイヤレス通信プロトコルを通じて通信するように構成されたワイヤレスネットワークインタフェースも含んでも良い。
図54に示される代表的な実施態様において、コンピューティング装置5400は、ストレージ媒体5408も含む。しかしながらデータをローカルストレージ媒体に存続させる手段を含まないコンピューティング装置を使用して、サービスにアクセスできる。それ故に、図54に示されるストレージ媒体5408は、任意である。いずれにせよ、ストレージ媒体5408は、揮発性、又は非揮発性、取り外し可能、又は取り外し不可能であり、ハードドライブ、半導体ドライブ、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、又は他のディスクストレージ、磁気テープ、磁気ディスクストレージ等のような、但しそれらに限定されない情報を記憶することが可能ないずれかの技術を使用して、実装できる。
本明細書で使用されるような、用語「コンピュータ可読媒体」は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータのような、情報を記憶可能ないずれかの方法又は技術に実装される揮発性及び非揮発性、並びに取り外し可能及び取り外し不可能な媒体を含む。この点に関して、図54に示されるシステムメモリ5404及びストレージ媒体5408は、コンピュータ可読媒体の例である。
説明を容易にするために、また特許請求された主題を理解をするために重要でないので、図54は、多くのコンピューティング装置の典型的な部品の幾つかを示さない。この点に関して、コンピューティング装置5400は、キーボード、キーパッド、マウス、トラックボール、マイクロホン、ビデオカメラ、タッチパッド、タッチスクリーン、スタイラス等のような入力装置を含んでも良い。かかる入力装置は、RF(Radio Frequency)、赤外線、直列、並列、Bluetooth(登録商標)、USB、又は無線若しくは物理的接続を使用する他の適切な接続プロトコルを含む、有線又は無線接続によってコンピューティング装置5400に連結できる。
いずれの記載例においても、データは、入力装置によって捕捉され、かつ将来の処理のために伝送又は記憶され得る。処理は、データストリームを符号化することを含んでも良く、データストリームは、出力装置による提示のためにその後に復号化され得る。メディアデータは、マルチメディア入力装置によって捕捉され、かつメディアデータストリームをコンピュータ可読ストレージ媒体(例えば、クライアント装置、サーバ、管理者装置、又は他の装置上の持続性ストレージ、又はメモリ内)上のファイルとして保存することによって記憶され得る。入力装置は、コンピューティング装置5400(例えば、クライアント装置)から離れても良く、かつ通信可能に連結されても良いか、又はコンピューティング装置5400の一体部品であっても良い。幾つかの実施態様において、複数の入力装置を組み合わせて、単一の多機能入力装置(例えば、統合されたマイクロホンを有するビデオカメラ)としても良い。現在知られているか、又は将来開発されるいかなる適切な入力装置も、本明細書に記載されたシステムによって使用できる。
コンピューティング装置5400は、ディスプレイ、スピーカ、プリンタ等のような出力装置も含んでも良い。出力装置は、ディスプレイ又はタッチスクリーンのようなビデオ出力装置を含んでも良い。出力装置は、外部スピーカ又はイヤホンのような音声出力装置も含んでも良い。出力装置は、コンピューティング装置5400から離れても良く、かつ通信可能に連結されても良いか、又はコンピューティング装置5400の一体部品であっても良い。幾つかの実施態様において、複数の出力装置を組み合わせて、単一の装置(例えば、内蔵スピーカを有するディスプレイ)としても良い。現在知られているか、又は将来開発されるいかなる適切な出力装置も、記載されたシステムによって使用できる。
一般的に、本明細書に記載されたコンピューティング装置の機能性は、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つ以上の汎用又は特殊用途のプロセッサに記憶でき、かつそれにより実行され、従って本明細書に記載された機能性を提供するように構成された特殊用途のコンピューティング装置を作り出せる。
IV.拡張及び代替案
本明細書に記載されたシステム及び装置の多くの代替案が、可能である。例えば、個別のモジュール又はサブシステムは、追加のモジュール又はサブシステムに分離されるか、又は少数のモジュール又はサブシステムと組み合わされ得る。もう1つの例として、モジュール又はサブシステムは、省略されるか、又は他のモジュール又はサブシステムを補足され得る。もう1つの例として、特定の装置、モジュール、又はサブシステムによって実行されるとして示される機能は、1つ以上の他の装置、モジュール又はサブシステムによって代わりに実行されても良い。本開示における幾つかの例は、特定の構成における特定のハードウェア部品を含む装置の記載を含むが、本明細書に記載された技術及びツールは、異なるハードウェア部品、組み合わせ、又は構成を受け入れるために変更され得る。更に、本開示における幾つかの例は、特定の使用シナリオの記載を含むが、本明細書に記載された技術及びツールは、異なる使用シナリオを受け入れるために変更され得る。ソフトウェアに実装されているとして記載される機能性は、代わりにハードウェアに実装されてもよく、又はその逆にハードウェアに実装されているとして記載される機能性は、代わりにソフトウェアに実装されてもよい。
本明細書に記載された技術の多くの代替案が、可能である。例えば、種々の技術における処理段階は、追加の段階に分離されるか、又は少数の段階と組み合わされ得る。もう1つの例として、種々の技術における処理段階は、省略されるか、又は他の技術又は処理段階を補足され得る。もう1つの例として、特定の順序で起こるとして記載される処理段階は、代わりに別の順序で起こり得る。そのかわりに、もう1つの例として、複数のモジュール又はソフトウェアプロセスが、1つ以上の説明された処理段階を同時に処理しながら、一連のステップで実行されるとして記載される処理段階を、並行して処理しても良い。もう1つの例として、特定の装置又はモジュールによって実行されるとして示される処理段階は、1つ以上の他の装置又はモジュールによって代わりに実行されても良い。
本開示の原理、代表的な実施態様及び動作形態は、前述の記載において記載された。しかしながら、保護されることを意図する本開示の態様は、開示された特定の実施態様に限定されると解釈されるべきではない。更に、本明細書に記載された実施態様は、限定するものではなく、説明のためのものであるとみなされるべきである。本開示の精神から逸脱することなく、変形例及び変更が他人によってなされ、かつ同等物が用いられることが理解されよう。従って、全てのかかる変形例、変更及び同等物が、特許請求された主題の精神及び範囲内にあることが明確に意図される。
排他的な所有権又は特権が請求される本発明の実施態様は、請求項の部に定義される。

Claims (6)

  1. サインインサービスを実行する手書きサインインサーバを用いたユーザ認証方法であって、
    ペンによる入力を受け付ける入力装置が、
    サインインを必要とするサービスであり所定のサービスIDで特定されるサービスに対するサインイン用のUIを起動し、
    前記UIの領域における前記ペンによるサインに応じて形成されるサインデータを補足し、
    前記サインデータと前記所定のサービスIDとを含む試験サインデータを前記手書きサインインサーバに送信する送信ステップと、
    前記手書きサインインサーバが、
    サービスIDと基準サインデータとが対応付けられているデータベースを参照することで、前記試験サインデータに含まれる前記所定のサービスIDに対応付けられる基準サインデータを特定し、
    前記試験サインデータに含まれた前記サインデータと、前記特定した基準サインデータとが一致する場合に、前記試験サインデータに含まれる前記所定のサービスIDに対応付けられる認証情報でありユーザ名及びパスワードを含む認証情報を特定し、
    前記ユーザ名及びパスワードを含む認証情報を前記入力装置に対して返信する返信ステップと、
    前記入力装置が、
    前記サービスに対して前記ユーザ名及びパスワードを含む認証情報を用いて、前記サインインを試みるサインインステップと、
    を含むユーザ認証方法。
  2. 前記送信ステップは、更に、前記入力装置が、前記ペンを検出するための装置を特定する所定のユーザ装置IDを検出し、前記所定のユーザ装置IDを前記試験サインデータに含めて送信するステップであり、
    前記データベースは、サービスID及びユーザ装置IDと基準サインデータとが対応付けられているデータベースであり、
    前記手書きサインインサーバは、前記データベースを参照することで、前記試験サインデータに含まれる前記所定のサービスID及び前記所定のユーザ装置IDに対応付けられる基準サインデータを特定する、
    請求項1に記載のユーザ認証方法。
  3. 前記ユーザ装置IDは、前記ペンを識別するスタイラスIDである、
    請求項2に記載のユーザ認証方法。
  4. 前記手書きサインインサーバは、
    1つの前記スタイラスIDに対して、それぞれ互いに異なるサービスに関する複数の認証情報を保持し、
    前記試験サインデータに含まれた前記所定のサービスIDを用いて、前記複数の認証情報の中から、前記所定のサービスIDに対応する認証情報を特定する、
    請求項に記載のユーザ認証方法。
  5. 前記手書きサインインサーバは、前記試験サインデータに含まれた前記サインデータと、前記データベースに蓄積された1以上の基準サインデータとを比較した結果、前記サインデータが1以上の前記基準サインデータのいずれかと類似すると照合された場合に、前記サインデータを前記基準サインデータとして前記データベースに加える、
    請求項2に記載のユーザ認証方法。
  6. サインインサービスを実行する手書きサインインサーバであって、
    自己の計算機資源を用いて、
    ペンによる入力を受け付ける入力装置が、サインインを必要とするサービスであり所定のサービスIDで特定されるサービスに対するサインイン用のUIを起動し、前記UIの領域における前記ペンによるサインに応じて形成されるサインデータを補足することで生成した前記サインデータと前記所定のサービスIDとを含む試験サインデータを受信するステップと、
    サービスIDと基準サインデータとが対応付けられているデータベースを参照することで、前記試験サインデータに含まれる前記所定のサービスIDに対応付けられる基準サインデータを特定し、前記試験サインデータに含まれた前記サインデータと、前記特定した基準サインデータとが一致する場合に、前記試験サインデータに含まれる前記所定のサービスIDに対応付けられる認証情報でありユーザ名及びパスワードを含む認証情報を特定し、前記ユーザ名及びパスワードを含む認証情報を用いて前記サービスに対してサインインを試みる前記入力装置に対して返信する返信ステップと、
    を実行する手書きサインインサーバ。
JP2019132908A 2013-10-25 2019-07-18 ユーザ認証方法及び手書きサインインサーバ Active JP7050725B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361895895P 2013-10-25 2013-10-25
US61/895,895 2013-10-25
US14/080,723 US9235748B2 (en) 2013-11-14 2013-11-14 Dynamic handwriting verification and handwriting-based user authentication
US14/080,723 2013-11-14

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015221883A Division JP6562461B2 (ja) 2013-10-25 2015-11-12 動的手書き検証、手書きに基づくユーザ認証、手書きデータ生成、及び手書きデータ保存

Publications (2)

Publication Number Publication Date
JP2020009452A JP2020009452A (ja) 2020-01-16
JP7050725B2 true JP7050725B2 (ja) 2022-04-08

Family

ID=52992543

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2015513909A Active JP5841297B1 (ja) 2013-10-25 2014-10-22 手書きデータ出力方法及びコンピュータシステム
JP2015221883A Active JP6562461B2 (ja) 2013-10-25 2015-11-12 動的手書き検証、手書きに基づくユーザ認証、手書きデータ生成、及び手書きデータ保存
JP2019132908A Active JP7050725B2 (ja) 2013-10-25 2019-07-18 ユーザ認証方法及び手書きサインインサーバ

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2015513909A Active JP5841297B1 (ja) 2013-10-25 2014-10-22 手書きデータ出力方法及びコンピュータシステム
JP2015221883A Active JP6562461B2 (ja) 2013-10-25 2015-11-12 動的手書き検証、手書きに基づくユーザ認証、手書きデータ生成、及び手書きデータ保存

Country Status (8)

Country Link
US (1) US10846510B2 (ja)
EP (1) EP3061067B1 (ja)
JP (3) JP5841297B1 (ja)
CN (1) CN105556566B (ja)
HK (1) HK1220031A1 (ja)
SG (2) SG11201601314RA (ja)
TW (1) TWI667619B (ja)
WO (1) WO2015059930A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11201601314RA (en) 2013-10-25 2016-03-30 Wacom Co Ltd Dynamic handwriting verification, handwriting-baseduser authentication, handwriting data generation, and handwriting data preservation
US9710701B2 (en) 2015-03-26 2017-07-18 Lenovo (Singapore) Pte. Ltd. Handwriting data search
KR101575577B1 (ko) * 2015-07-09 2015-12-08 주식회사 시큐브 수기서명 인증 시스템 및 방법
KR101584045B1 (ko) * 2015-09-02 2016-01-11 주식회사 시큐브 세그먼트 기반 수기서명 인증 시스템 및 방법
TWI552119B (zh) * 2015-09-25 2016-10-01 Univ Hungkuang Computer writing sense system
CN105844726B (zh) * 2016-03-18 2018-04-17 吉林大学 一种手写签名签到管理系统
CN106843714B (zh) * 2016-11-15 2020-05-12 广州视源电子科技股份有限公司 触控笔笔迹的优化方法及系统
WO2018124209A1 (ja) * 2016-12-30 2018-07-05 株式会社ワコム デジタルインクの符号化方法、復号化方法
WO2018155107A1 (ja) * 2017-02-21 2018-08-30 日本電気株式会社 認証処理装置、認証処理方法、およびコンピュータ読み取り可能な記録媒体
CN106951832B (zh) * 2017-02-28 2022-02-18 广东数相智能科技有限公司 一种基于手写字符识别的验证方法及装置
CN107358148B (zh) * 2017-05-24 2022-04-29 广东数相智能科技有限公司 一种基于手写识别的防作弊网络调研的方法及装置
EP3714400A1 (en) 2017-11-24 2020-09-30 Ecole Polytechnique Federale De Lausanne (Epfl) Method of handwritten character recognition confirmation
JP7108784B2 (ja) 2018-08-21 2022-07-28 華為技術有限公司 データ記憶方法、データ取得方法、及び機器
US11087078B2 (en) * 2018-08-23 2021-08-10 Tata Consultancy Services Limited System and method for real time digitization of hand written input data
CA3120386A1 (en) * 2018-11-26 2020-06-04 Forticode Limited Mutual authentication of computer systems over an insecure network
CN111079491B (zh) * 2019-05-29 2023-11-24 广东小天才科技有限公司 一种书写内容识别方法、电子设备及存储介质
US10733325B1 (en) * 2019-11-15 2020-08-04 Capital One Services, Llc Securing user-entered text in-transit
US11416621B2 (en) 2020-06-18 2022-08-16 Micron Technology, Inc. Authenticating software images
US11514695B2 (en) * 2020-12-10 2022-11-29 Microsoft Technology Licensing, Llc Parsing an ink document using object-level and stroke-level processing
CN113468987B (zh) * 2021-06-17 2023-04-18 重庆傲雄在线信息技术有限公司 一种电子笔迹鉴定方法、系统、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108822A (ja) 2000-09-28 2002-04-12 Nec Corp セキュリティ管理方式
JP2002269272A (ja) 2001-03-13 2002-09-20 Nippon Telegr & Teleph Corp <Ntt> 認証代行方法及び装置、認証代行プログラム並びにそのプログラムを記録した記録媒体
JP2003345505A (ja) 2002-05-23 2003-12-05 Takeo Igarashi 固有のデバイスidを有する入力操作手段を用いるコンピュータシステム
JP2010198341A (ja) 2009-02-25 2010-09-09 Fujitsu Fsas Inc 認証処理プログラム及び装置
JP2015125620A (ja) 2013-12-26 2015-07-06 キヤノン株式会社 情報処理装置、その制御方法、プログラム、及び情報処理システム

Family Cites Families (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH503336A (de) 1968-08-23 1971-02-15 E Balk Michael Verfahren zum Identifizieren von Personen sowie Vorrichtung zur Ausführung des Verfahrens
US4453267A (en) 1979-03-19 1984-06-05 Ncr Corporation Signal compression apparatus and method
US4495644A (en) 1981-04-27 1985-01-22 Quest Automation Public Limited Company Apparatus for signature verification
JPS58178488A (ja) * 1982-04-12 1983-10-19 Mitsubishi Electric Corp 手書き図形符号化装置
JPS59192A (ja) 1982-06-25 1984-01-05 株式会社東芝 個人照合装置
US4656662A (en) 1983-07-18 1987-04-07 Ncr Corporation Personal identification method and apparatus
US4701960A (en) 1983-10-28 1987-10-20 Texas Instruments Incorporated Signature verification
JPS626385A (ja) * 1985-07-03 1987-01-13 Oki Electric Ind Co Ltd 文字認識装置
US4724542A (en) 1986-01-22 1988-02-09 International Business Machines Corporation Automatic reference adaptation during dynamic signature verification
JPS62287387A (ja) 1986-06-06 1987-12-14 Yukio Sato 手書き文字のオンライン認識方式
GB2200233B (en) 1987-01-20 1990-10-10 Nat Res Dev Method and apparatus for capturing information in drawing or writing
US5054088A (en) 1989-09-20 1991-10-01 International Business Machines Corporation Signature verification data compression for storage on an identification card
US5109426A (en) 1989-11-10 1992-04-28 National Research Development Corporation Methods and apparatus for signature verification
US5091975A (en) 1990-01-04 1992-02-25 Teknekron Communications Systems, Inc. Method and an apparatus for electronically compressing a transaction with a human signature
US5038392A (en) 1990-02-12 1991-08-06 International Business Machines Corporation Method and apparatus for adaptive image processing by recognizing a characterizing indicium in a captured image of a document
US5101437A (en) 1991-02-11 1992-03-31 Ecole Polytechnique Method and apparatus for comparing a test handwritten signature with a reference signature by using information relative to curvilinear and angular velocities of the signature
US5285506A (en) 1991-04-30 1994-02-08 Ncr Corporation Method of recording a handwritten message
US5111512A (en) 1991-05-14 1992-05-05 At&T Bell Laboratories Method for signature verification
US6487310B1 (en) * 1991-09-06 2002-11-26 Penop Ltd. Signature matching
US6128409A (en) * 1991-11-12 2000-10-03 Texas Instruments Incorporated Systems and methods for handprint recognition acceleration
JP2800538B2 (ja) * 1992-03-23 1998-09-21 日本電気株式会社 可変長ビット列処理プロセッサ
US5699445A (en) 1992-04-10 1997-12-16 Paul W. Martin Method for recording compressed data
EP0567680B1 (en) 1992-04-30 1999-09-22 International Business Machines Corporation Pattern recognition and validation, especially for hand-written signatures
WO1994004992A1 (en) 1992-08-20 1994-03-03 Communication Intelligence Corporation A method for dynamic reconstruction of handwritten data
US5528699A (en) 1992-11-24 1996-06-18 Nippondenso Co., Ltd. Information medium recognition device
JPH06162268A (ja) * 1992-11-24 1994-06-10 Nippondenso Co Ltd サイン認識装置
US5454046A (en) 1993-09-17 1995-09-26 Penkey Corporation Universal symbolic handwriting recognition system
US5434928A (en) 1993-12-06 1995-07-18 At&T Global Information Solutions Company Method for verifying a handwritten signature entered into a digitizer
JPH09506730A (ja) 1993-12-17 1997-06-30 クインテット、インコーポレイテッド 自動署名検証の方法
US5699456A (en) 1994-01-21 1997-12-16 Lucent Technologies Inc. Large vocabulary connected speech recognition system and method of language representation using evolutional grammar to represent context free grammars
US5577135A (en) 1994-03-01 1996-11-19 Apple Computer, Inc. Handwriting signal processing front-end for handwriting recognizers
GB9409773D0 (en) 1994-05-13 1994-07-06 Atomic Energy Authority Uk Identification system
US5687254A (en) 1994-06-06 1997-11-11 Xerox Corporation Searching and Matching unrecognized handwriting
US5544255A (en) 1994-08-31 1996-08-06 Peripheral Vision Limited Method and system for the capture, storage, transport and authentication of handwritten signatures
US6091835A (en) 1994-08-31 2000-07-18 Penop Limited Method and system for transcribing electronic affirmations
US5528003A (en) 1994-12-14 1996-06-18 International Business Machines Corporation Data compression for pen stroke input
US5812698A (en) 1995-05-12 1998-09-22 Synaptics, Inc. Handwriting recognition system and method
US5991441A (en) 1995-06-07 1999-11-23 Wang Laboratories, Inc. Real time handwriting recognition system
US5828772A (en) 1995-12-27 1998-10-27 Lucent Technologies Inc. Method and apparatus for parametric signature verification using global features and stroke-direction codes
US5892824A (en) 1996-01-12 1999-04-06 International Verifact Inc. Signature capture/verification systems and methods
US6259043B1 (en) * 1996-01-23 2001-07-10 International Business Machines Corporation Methods, systems and products pertaining to a digitizer for use in paper based record systems
US6512840B1 (en) 1996-05-30 2003-01-28 Sun Microsystems, Inc. Digital encoding of personal signatures
NO963903D0 (no) 1996-09-18 1996-09-18 Gary A Mcconnell Fremgangsmåte til registrering av validering av en personlig signatur, kompilering av databaser for bruk ved fremgangsmåten, en elektronisk skriveinnretning for signaturegistrering samt anvendelse av fremgangsmåter og innretning
GB9625661D0 (en) * 1996-12-11 1997-01-29 Hewlett Packard Co A method and apparatus for compression of electronic ink
JP3492874B2 (ja) * 1996-12-26 2004-02-03 株式会社デンソーウェーブ サイン照合システム
JPH10240866A (ja) * 1997-02-24 1998-09-11 Mitsubishi Electric Corp 文字認識装置
WO1999017255A1 (fr) 1997-10-01 1999-04-08 Cadix Inc. Procede et appareil d'authentification d'une carte a circuit integre
US6055552A (en) * 1997-10-31 2000-04-25 Hewlett Packard Company Data recording apparatus featuring spatial coordinate data merged with sequentially significant command data
US6055592A (en) 1998-02-09 2000-04-25 Motorola, Inc. Smart card authentication system comprising means for converting user identification and digital signature to pointing device position data and vice versa using lut
US6011873A (en) 1998-04-29 2000-01-04 Penware, Inc. Method and apparatus for lossless compression of signature data
JPH11341456A (ja) * 1998-05-29 1999-12-10 Matsushita Graphic Communication Systems Inc 家庭用マルチメディア通信システム
JP2000163514A (ja) * 1998-09-25 2000-06-16 Sanyo Electric Co Ltd 文字認識方法、文字認識装置および記憶媒体
US6307955B1 (en) 1998-12-18 2001-10-23 Topaz Systems, Inc. Electronic signature management system
CN1371504A (zh) 1999-01-13 2002-09-25 电脑相关想象公司 签名识别系统和方法
EP1181665A1 (en) * 1999-03-24 2002-02-27 BRITISH TELECOMMUNICATIONS public limited company Handwriting recognition system
US7170499B1 (en) 1999-05-25 2007-01-30 Silverbrook Research Pty Ltd Handwritten text capture via interface surface
CA2414766A1 (en) 1999-06-30 2001-01-11 Silverbrook Research Pty Ltd Method and system for user registration
JP2001331802A (ja) * 2000-05-22 2001-11-30 Interlink Kk 筆跡イメージの生成装置及び表示装置並びに筆跡イメージ生成用プログラムを記憶した記憶媒体
US7397949B2 (en) * 2000-06-21 2008-07-08 Microsoft Corporation Serial storage of ink and its properties
US6975750B2 (en) 2000-12-01 2005-12-13 Microsoft Corp. System and method for face recognition using synthesized training images
US6549675B2 (en) * 2000-12-20 2003-04-15 Motorola, Inc. Compression of digital ink
JP4346814B2 (ja) 2000-12-27 2009-10-21 キヤノン株式会社 情報処理装置及びその方法、コンピュータ可読メモリ、プログラム
US6741749B2 (en) 2001-01-24 2004-05-25 Advanced Digital Systems, Inc. System, device, computer program product, and method for representing a plurality of electronic ink data points
US7197167B2 (en) 2001-08-02 2007-03-27 Avante International Technology, Inc. Registration apparatus and method, as for voting
US6694045B2 (en) 2002-01-23 2004-02-17 Amerasia International Technology, Inc. Generation and verification of a digitized signature
AUPR890201A0 (en) * 2001-11-16 2001-12-06 Silverbrook Research Pty. Ltd. Methods and systems (npw005)
CA2363372A1 (en) 2001-11-20 2003-05-20 Wayne Taylor System for identity verification
US7391906B2 (en) 2001-12-05 2008-06-24 Microsoft Corporation Methods and system for providing image object boundary definition by particle filtering
EP1345163B2 (en) 2002-03-15 2010-12-29 Computer Sciences Corporation Methods for analysis of writing in documents
JP2003271967A (ja) 2002-03-19 2003-09-26 Fujitsu Prime Software Technologies Ltd 手書き署名認証プログラム、方法、及び装置
JP2003271966A (ja) * 2002-03-19 2003-09-26 Fujitsu Ltd 手書き入力認証装置、手書き入力認証方法、および手書き入力認証プログラム
JP2003271965A (ja) 2002-03-19 2003-09-26 Fujitsu Ltd 手書き署名認証プログラム、方法、及び装置
JP4070001B2 (ja) * 2002-03-19 2008-04-02 日本サイバーサイン株式会社 署名認証システム、署名認証プログラム
JP2004021663A (ja) * 2002-06-18 2004-01-22 Hitachi Ltd ネットワークを利用した商取引システムの個人認証方法
GB0223074D0 (en) 2002-10-04 2002-11-13 Motion Touch Ltd Recording writing movements
US7433499B2 (en) 2003-08-22 2008-10-07 Dynasig Corporation Method and apparatus for capturing and authenticating biometric information from a writing instrument
EP1661062A4 (en) 2003-09-05 2009-04-08 Gannon Technologies Group SYSTEMS AND METHODS FOR BIOMETRIC IDENTIFICATION THROUGH THE USE OF HANDWIRE IDENTIFICATION
JP4357935B2 (ja) 2003-11-14 2009-11-04 株式会社東芝 情報処理装置およびサインデータ入力プログラム
US7136054B2 (en) * 2004-01-06 2006-11-14 Microsoft Corporation Camera-pen-tip mapping and calibration
US7190815B2 (en) 2004-05-26 2007-03-13 Topaz Systems, Inc. Method for authenticating an electronic signature
US20050276480A1 (en) * 2004-06-10 2005-12-15 Microsoft Corporation Handwritten input for Asian languages
DE102004057157A1 (de) 2004-08-21 2006-04-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zum Erfassen einer eigenhändig ausgeführten Unterschrift oder Signatur und zum Erkennen der Echtheit der Unterschrift oder Signatur
WO2006042213A2 (en) 2004-10-06 2006-04-20 Sybase 365 Inc. System and method for message-based access
US20060136731A1 (en) 2004-12-21 2006-06-22 Signaturelink, Inc. System and method for providing an online electronic signature
DE112005003281B4 (de) 2004-12-30 2012-02-16 Topaz Systems Inc. Elektronisches Signatursicherheitssystem
RO121497B1 (ro) 2005-02-09 2007-06-29 Softwin S.R.L. Sistem informatic şi metodă pentru achiziţia, analiza şi autentificarea semnăturii olografe
US7536051B2 (en) * 2005-02-17 2009-05-19 Microsoft Corporation Digital pen calibration by local linearization
US7917761B2 (en) 2005-03-21 2011-03-29 Microsoft Corporation Digitally signing an electronic document with a user-entered signature image
US8370632B2 (en) 2005-04-18 2013-02-05 Vpsign Ltd. Apparatus and method for incorporating signature into electronic documents
US8732025B2 (en) 2005-05-09 2014-05-20 Google Inc. System and method for enabling image recognition and searching of remote content on display
JP2006352628A (ja) 2005-06-17 2006-12-28 Viva Computer Co Ltd デジタル画像の作成・送信・受信装置およびその配受信システム
US7474770B2 (en) 2005-06-28 2009-01-06 Beigi Homayoon S M Method and apparatus for aggressive compression, storage and verification of the dynamics of handwritten signature signals
US20070065021A1 (en) 2005-07-14 2007-03-22 David Delgrosso System for encoding signatures for compressed storage using a signature encoding algorithm
US7529391B2 (en) 2005-12-29 2009-05-05 Microsoft Corporation Signature verification
US8090161B2 (en) 2006-06-19 2012-01-03 Christiane Kaplan Systems and method for signature verification
WO2008002239A1 (en) 2006-06-28 2008-01-03 Anoto Ab Operation control and data processing in an electronic pen
US20080019575A1 (en) 2006-07-20 2008-01-24 Anthony Scalise Digital image cropping using a blended map
GB0623236D0 (en) * 2006-11-22 2007-01-03 Ibm An apparatus and a method for correcting erroneous image identifications generated by an ocr device
TWI336854B (en) 2006-12-29 2011-02-01 Ibm Video-based biometric signature data collecting method and apparatus
US20110060985A1 (en) 2009-09-08 2011-03-10 ABJK Newco, Inc. System and Method for Collecting a Signature Using a Smart Device
RO126248B1 (ro) 2009-10-26 2012-04-30 Softwin S.R.L. Sistem şi metodă pentru aprecierea autenticităţii semnăturii olografe dinamice
JP5604176B2 (ja) * 2010-05-12 2014-10-08 日本放送協会 認証連携装置およびそのプログラム、機器認証装置およびそのプログラム、ならびに、認証連携システム
JP2012033042A (ja) * 2010-07-30 2012-02-16 Hitachi Information Systems Ltd シングルサインオンシステム及びシングルサインオン方法
WO2013093864A1 (en) 2011-12-23 2013-06-27 Prosense Technology (Proprietary) Limited Electronic signature authentication method and system
CN102789576B (zh) 2012-06-29 2015-09-09 鸿富锦精密工业(深圳)有限公司 签名特征提取系统及方法
US9898186B2 (en) * 2012-07-13 2018-02-20 Samsung Electronics Co., Ltd. Portable terminal using touch pen and handwriting input method using the same
US9563926B2 (en) * 2013-03-14 2017-02-07 Applied Materials Technologies Limited System and method of encoding content and an image
SG11201601314RA (en) * 2013-10-25 2016-03-30 Wacom Co Ltd Dynamic handwriting verification, handwriting-baseduser authentication, handwriting data generation, and handwriting data preservation
US9235748B2 (en) 2013-11-14 2016-01-12 Wacom Co., Ltd. Dynamic handwriting verification and handwriting-based user authentication
US9489048B2 (en) 2013-12-13 2016-11-08 Immersion Corporation Systems and methods for optical transmission of haptic display parameters

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108822A (ja) 2000-09-28 2002-04-12 Nec Corp セキュリティ管理方式
JP2002269272A (ja) 2001-03-13 2002-09-20 Nippon Telegr & Teleph Corp <Ntt> 認証代行方法及び装置、認証代行プログラム並びにそのプログラムを記録した記録媒体
JP2003345505A (ja) 2002-05-23 2003-12-05 Takeo Igarashi 固有のデバイスidを有する入力操作手段を用いるコンピュータシステム
JP2010198341A (ja) 2009-02-25 2010-09-09 Fujitsu Fsas Inc 認証処理プログラム及び装置
JP2015125620A (ja) 2013-12-26 2015-07-06 キヤノン株式会社 情報処理装置、その制御方法、プログラム、及び情報処理システム

Also Published As

Publication number Publication date
US20200082153A1 (en) 2020-03-12
JP2016505907A (ja) 2016-02-25
EP3061067B1 (en) 2023-11-29
US10846510B2 (en) 2020-11-24
JP5841297B1 (ja) 2016-01-13
EP3061067A4 (en) 2017-08-02
JP2020009452A (ja) 2020-01-16
JP6562461B2 (ja) 2019-08-21
TWI667619B (zh) 2019-08-01
WO2015059930A1 (en) 2015-04-30
EP3061067A1 (en) 2016-08-31
CN105556566A (zh) 2016-05-04
JP2016076233A (ja) 2016-05-12
TW201535274A (zh) 2015-09-16
CN105556566B (zh) 2019-06-14
HK1220031A1 (zh) 2017-04-21
SG11201601314RA (en) 2016-03-30
SG10201901111UA (en) 2019-03-28

Similar Documents

Publication Publication Date Title
JP7050725B2 (ja) ユーザ認証方法及び手書きサインインサーバ
US10496872B2 (en) Dynamic handwriting verification, handwriting-based user authentication, handwriting data generation, and handwriting data preservation
US9747491B2 (en) Dynamic handwriting verification and handwriting-based user authentication
US11979399B2 (en) Robust encoding of machine readable information in host objects and biometrics, and associated decoding and authentication
US9563926B2 (en) System and method of encoding content and an image
US9274607B2 (en) Authenticating a user using hand gesture
JP6480710B2 (ja) 手書きデータ検証方法及びユーザ認証方法
GB2537992A (en) A method, apparatus and system of encoding content and an image
US20170277423A1 (en) Information processing method and electronic device
WO2022156088A1 (zh) 指纹签名生成方法、装置、电子设备及计算机存储介质
GB2524181A (en) A method, apparatus and system of encoding content and an image
CN115293309B (zh) 图形码验证方法和装置、图形码注册方法和装置
Querini et al. Handwritten signature verification with 2D color barcodes
CN117351508A (zh) 保险场景的身份信息核验方法、装置、设备及介质
GB2533721A (en) A method, apparatus and system of encoding content and an image
CN113449275A (zh) 用户身份认证方法、装置及终端设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190722

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201030

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210628

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210628

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20210706

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20210713

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20210924

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20210928

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20211026

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20220125

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20220301

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20220301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220329

R150 Certificate of patent or registration of utility model

Ref document number: 7050725

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150