JP5243240B2 - 自動提案リスト及び手書き入力 - Google Patents

自動提案リスト及び手書き入力 Download PDF

Info

Publication number
JP5243240B2
JP5243240B2 JP2008507941A JP2008507941A JP5243240B2 JP 5243240 B2 JP5243240 B2 JP 5243240B2 JP 2008507941 A JP2008507941 A JP 2008507941A JP 2008507941 A JP2008507941 A JP 2008507941A JP 5243240 B2 JP5243240 B2 JP 5243240B2
Authority
JP
Japan
Prior art keywords
auto
user
list
information
input
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
JP2008507941A
Other languages
English (en)
Other versions
JP2008537270A (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2008537270A publication Critical patent/JP2008537270A/ja
Application granted granted Critical
Publication of JP5243240B2 publication Critical patent/JP5243240B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • 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/0489Interaction 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 dedicated keyboard keys or combinations thereof
    • G06F3/04895Guidance during keyboard input operation, e.g. prompting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/171Editing, e.g. inserting or deleting by use of digital ink
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • 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/36Matching; Classification
    • G06V30/387Matching; Classification using human interaction, e.g. selection of the best displayed recognition candidate
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Character Discrimination (AREA)
  • User Interface Of Digital Computer (AREA)

Description

自動提案リストは、現在、ユーザ・インターフェイスで使用されている。例えば、ユーザがインターネット・ブラウザのアドレスバーに情報を入力すると、ユーザの入力を完成させる提案がユーザに提示される。こうしたタイプのシステムでは、ユーザは、アドレス入力フィールドに「www」と入力し始め、前に訪れたWebサイトを含む又は含まない以下の可能な選択肢が提示され得る。
http://www.
https://www.
ftp://www.
www.cnn.com
www.msnbc.com
・・・。
自動提案リストの使用の1つの利点は、フィールドにすでに入力された情報の提案された完成をユーザに提供するその機能である。自動提案リストは、1)前の入力又は2)予想される入力のうちの少なくとも1つに基づいて、内容の提案を提供する。
従来の自動提案リストは役に立つが、テキストベースの入力システムに制限されており、つまり、キーボード入力のみに反応する。従来のシステムは手書き入力に反応しないため、ペンベースのコンピューティング・システムを使用するユーザは、自動提案リストの使用に制限を受ける。
発明の簡単な概要
本発明の態様は上述した問題の1つ又は複数に対処し、それによって、手書き入力に関する改良された自動提案機能を提供する。本発明の態様によって、ユーザは、手書き情報を入力し又は入力を開始することができ、それに応答してシステムに自動提案内容を提供させることができるようになる。
本発明は、一例として示されており、添付の図面に制限されるものではない。
発明の詳細な説明
本発明の態様は、ユーザの手書き入力に応答して自動提案情報を提供することに関する。自動提案情報は、使用されているアプリケーションによって異なり得る。以下の説明において、要素間の様々な接続が記載されていることに留意されたい。一般に、特に明記しない限り、これらの接続は直接的又は間接的なものとすることができ、本明細書は、この点に関して制限的ではないことに留意されたい。
概要
手書き電子インクは、ますますコンピュータユーザに普及しつつある。受け入れの増加にも関わらず、入力形式としての手書きには欠点がある。重要なことは、手書き認識は常に完全であるとは限らないということである。ユーザが或ることを書くつもりであることと、その手書きが別のものとして認識されることとの間の乖離は、ユーザ経験を失わせる。認識の失敗を克服しようとして、ユーザは、(実際の又は表示されたキーボード上での)入力に切り替え、又は手書きインクを書き換えようとする。当然のことながら、ユーザは、機能へのアプリケーション要求テキストベース入力を制御するためのスタイラスの使用にフラストレーションを感じるようになる。
本発明の態様は、手書き受信パネルと自動完成プロセスとの間のインターフェイスを提供することに関する。ここで、本発明の一例では、アプリケーションは、ユーザ入力を必要とするユーザ・インターフェイスを有する。ユーザ、アプリケーション又はオペレーティング・システムは、ユーザの手書きを受け入れるように、手書き受信パネルを呼び出すことができる。手書き受信パネルは、テキストを認識し、認識されたテキストを自動完成プロセスに転送することができ、自動完成プロセスは、それが受信した情報に基づいて提案内容を決定し、ユーザ入力を待つ。ユーザは、自動完成プロセスから1つの提案を選択することができ、次いで、選択はアプリケーションに転送される。或いは、ユーザは、より多くの情報を手書き受信パネルに追加することができ、ここで情報が認識され、自動完成プロセスは手書き受信パネルからの情報に基づいて提案を提供する。
本発明の他の態様では、手書き入力パネル及び自動完成プロセスは、ユーザが新しい情報を選択し及び/又は手書き受信パネルに追加するにつれて、相互に情報を交換することができる。
或る状況では、ユーザは、以前認識された、つまり(メモリ内に存在するものとして)以前ナビゲートされた情報を利用し、又は、入力情報に対して予め定義されている構造を利用することができる。本発明のこれら及び他の態様について、本明細書で説明する。
インクの特徴
インクペンを使用するユーザにはわかるように、物理的インク(インク筒を備えるペンを使用して紙に書き記される種類)は、線セグメントによって結ばれた一連の座標より多くの情報を伝え得る。例えば、物理的インクは、(インクの濃度による)ペンの圧力、(直線又は曲線セグメントの形状、及び目立たない点の周りのインクの挙動による)ペンの角度、及び(直線性、線の幅、及び直線及び曲線を通じた線の幅の変化による)ペン先の速度を反映することができる。別の例は、紙の繊維又はインクを乗せる他の面にインクが吸収される方法などがある。これらのわずかな特徴も、上述した特性を伝えるのを助ける。これらの追加の特性の故に、点の間の一定の線幅によるよりも瞬時に感情、人格、強調などを伝えることができる。
電子インク(又はインク)は、ユーザがスタイラスをベースとする入力装置を使用するときに捕捉される電子情報の捕捉及び表示に関連する。電子インクはストロークのシーケンス又は任意の集まりを指し、各ストロークは一連の点から成る。ストロークは同時に引かれ又は収集され、又は、別の時と場所で別の理由から引かれた又は収集され得る。点は、デカルト座標(X,Y)、極座標(r,Θ)、及び、当該分野で知られている他の技術を含む様々な既知の技術を使用して表され得る。電子インクは、圧力、角度、速度、色、スタイラスのサイズ、及びインクの不透明度を含む実際のインクの特性の表現を含み得る。電子インクは、数ある情報の中でも、ページにインクを乗せた順序(ほとんどの西洋言語の場合、左から右へ、次いで下へのラスタパターン)、タイムスタンプ(インクを乗せたときを示す)、インクの筆者の印、及び発信装置(インクが引かれたマシンの識別、又はインクを乗せるのに使用されるペンの識別のうち少なくとも1つ)を含む、更に他の特性を含み得る。
上述した特徴の中で、ストロークの時間的順序、及びストロークが一連の座標であることが主に使用される。他のすべての特徴を使用することもできる。
Figure 0005243240
Figure 0005243240
汎用コンピューティング環境
図1は、本発明を実施できる好適なコンピューティング・システム環境100の例を示している。コンピューティング・システム環境100は好適なコンピューティング環境の一例にすぎず、本発明の使用又は機能の範囲に関する限定を示唆するものではない。また、コンピューティング環境100を、動作環境100の例に示す構成要素のいずれか1つ又はその組合に関する任意の依存性又は要件を有しているものと解釈すべきではない。
本発明は、他の多くの汎用又は専用コンピューティング・システム環境又は構成で動作可能である。本発明との使用に適した周知のコンピューティング・システム、環境及び/又は構成の例は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド又はラップトップ装置、マルチプロセッサシステム、マイクロプロセッサをベースとするシステム、セットトップボックス、プログラム可能家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記の任意のシステム又は装置を含む分散コンピューティング環境などを含むが、これらに限定されるものではない。
本発明は、コンピュータによって実行されるプログラム・モジュールなどのコンピュータ実行可能命令の一般的な文脈で説明することができる。一般にプログラム・モジュールは、特定のタスクを実行する又は特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。また、本発明は、タスクが通信ネットワークによってリンクされているリモート処理装置によって実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラム・モジュールを、メモリ記憶装置を含むローカル及びリモートのコンピュータ記憶媒体に置くことができる。
図1を参照すると、本発明を実施するシステムの例は、汎用コンピューティング装置をコンピュータ110の形で含んでいる。コンピュータ110の構成要素は、処理ユニット120、システムメモリ130、及び、システムメモリを含む様々なシステム構成要素を処理ユニット120に結合するシステムバス121を含み得るが、それだけに限定されるものではない。システムバス121は、様々なバスアーキテクチャのうちの任意のものを使用する、メモリバス又はメモリコントローラ、周辺バス及びローカルバスを含む若干のタイプのバス構造のうちの任意のものでよい。こうしたアーキテクチャは、一例として、業界標準アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ電子装置規格化協会(VESA)ローカルバス、及びメザニンバスとしても知られている周辺部品相互接続(PCI)バスなどを含むが、それだけに限定されるものではない。
コンピュータ110は、一般に、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110からアクセスできる使用可能な任意の媒体とすることができ、揮発性及び不揮発性媒体、取外し可能及び取外し不可能媒体を含む。コンピュータ可読媒体は、一例として、コンピュータ記憶媒体及び通信媒体を含み得るが、それだけに限定されるものではない。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール、他のデータなど、情報を記憶するための任意の方法又は技術で実施される揮発性及び不揮発性の取外し可能及び取外し不可能な媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)又は他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、又は所望の情報の格納に使用でき、コンピュータ110からアクセスできる他の任意の媒体などを含むが、それらに限定されるものではない。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラム・モジュール又は他のデータを搬送波又は他の移送機構などの変調されたデータ信号に組み込み、任意の情報配送媒体を含む。「変調されたデータ信号」という用語は、信号に情報を符号化するように1つ又は複数のその特性が設定又は変更された信号を意味する。通信媒体は、一例として、有線ネットワーク、直接配線された接続などの有線媒体、及び音響、RF、赤外線、その他の無線媒体などの無線媒体を含むが、それらに限定されるものではない。また、上記の任意の組み合わせもコンピュータ可読媒体の範囲内に含まれるものとする。
システムメモリ130は、読み取り専用メモリ(ROM)131やランダムアクセスメモリ(RAM)132など、揮発性及び/又は不揮発性メモリの形のコンピュータ記憶媒体を含む。基本入出力システム133(BIOS)は、例えば起動中など、コンピュータ110内の要素間での情報の転送を助ける基本ルーチンを含み、一般にROM131に格納される。RAM132は一般に、処理ユニット120から直接アクセス可能なデータ及び/又はプログラム・モジュール、及び/又は処理ユニット120により現在処理されているデータ及び/又はプログラム・モジュールを含む。図1は、一例として、オペレーティング・システム134、アプリケーションプログラム135、他のプログラム・モジュール136及びプログラム・データ137を示しているが、それらに限定されるものではない。
また、コンピュータ110は、他の取外し可能/取外し不可能で揮発性/不揮発性のコンピュータ記憶媒体を含み得る。一例にすぎないが、図1は、取外し不可能な不揮発性磁気媒体から読み取り又は書き込むハードディスク・ドライブ141、取外し可能な不揮発性磁気ディスク152から読み取り又は書き込む磁気ディスク・ドライブ151、及び、CD−ROMや他の光媒体などの取外し可能な不揮発性光ディスク156から読み取り又は書き込む光ディスク・ドライブ155を示している。動作環境の例で使用できる他の取外し可能/取外し不可能な揮発性/不揮発性コンピュータ記憶媒体は、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体RAM、半導体ROMなどを含むが、それだけに限定されるものではない。ハードディスク・ドライブ141は一般に、インターフェイス140などの取外し不可能メモリインターフェイスを介してシステムバス121に接続され、磁気ディスク・ドライブ151及び光ディスク・ドライブ155は一般に、インターフェイス150などの取外し可能メモリインターフェイスによってシステムバス121に接続される。
上述し、図1に示したドライブ及びその関連のコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール、及びコンピュータ110の他のデータの記憶域を提供する。図1では例えば、ハードディスク・ドライブ141は、オペレーティング・システム144、アプリケーション・プログラム145、他のプログラム・モジュール146及びプログラム・データ147を記憶するものとして示されている。これらの構成要素は、オペレーティング・システム134、アプリケーション・プログラム135、他のプログラム・モジュール136及びプログラム・データ137と同じであっても、異なっていてもよいことに留意されたい。オペレーティング・システム144、アプリケーション・プログラム145、他のプログラム・モジュール146及びプログラム・データ147は少なくとも異なるコピーであることを示すために、ここではそれらに異なる番号を付している。ユーザは、キーボード16や、一般にマウス、トラックボール又はタッチパッドと呼ばれるポインティング装置161などの入力装置を介して、コマンド及び情報をコンピュータ20に入力することができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどがある。これら及び他の入力装置はしばしば、システムバスに結合されているユーザ入力インターフェイス160を介して処理ユニット120に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)など他のインターフェイス及びバス構造で接続してもよい。モニタ191又は他のタイプの表示装置もまた、ビデオ・インターフェイス190などのインターフェイスを介してシステムバス121に接続される。コンピュータは、モニタに加えて、出力周辺インターフェイス195を介して接続できるスピーカ197、プリンタ196などの他の周辺出力装置を含むこともできる。
コンピュータ110は、リモートコンピュータ180などの1つ又は複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置又は他の一般のネットワークノードでよく、一般にコンピュータ110に関連して上述した多くの又はすべての要素を含むが、図1にはメモリ記憶装置181のみを示している。図1に示した論理接続はローカルエリアネットワーク(LAN)171及び広域ネットワーク(WAN)173を含むが、他のネットワークを含んでもよい。こうしたネットワーキング環境は、オフィス、全社規模のコンピュータネットワーク、イントラネット及びインターネットではごく一般的である。
LANネットワーキング環境で使用される場合、コンピュータ110は、ネットワーク・インターフェイス又はアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用される場合、コンピュータ110は一般に、モデム172や、インターネットなどの、WAN173を介して通信を確立する他の手段を含む。モデム172は内蔵でも外付けでもよく、ユーザ入力インターフェイス160又は他の適切な機構を介してシステムバス121に接続される。ネットワーク化された環境では、コンピュータ110に関連して示したプログラム・モジュール又はその一部を、リモートメモリ記憶装置に格納することができる。図1は、一例として、リモート・アプリケーション・プログラム185をメモリ装置181上に存在するものとして示しているが、それに限定されるものではない。図示されたネットワーク接続は例であり、理解されるように、コンピュータ間の通信リンクを確立する他の手段が使用されてもよい。
いくつかの態様では、手書きの入力をデジタル捕捉するためにペン・デジタイザ165及び付属のペン又はスタイラス166が設けられる。ペン・デジタイザ165とユーザ入力インターフェイス160との間の直接接続が示されているが、実際には、ペン・デジタイザ165は、無線を含む任意の技術によって、パラレルポート又は他のインターフェイス及びシステムバス130を介して処理ユニット110に直接結合され得る。また、ペン166はカメラが付いていてもよく、カメラによって捕捉された画像情報を、バス130と対話するインターフェイスに無線で送信する送受信機を有していてもよい。更に、ペンは、カメラに加えて又はカメラの代わりに、加速度計、磁力計、ジャイロスコープを含む、電子インクのストロークを決定するための他の感知システムを有していてもよい。
理解されるように、図示したネットワーク接続は例であり、コンピュータ間の通信リンクを確立する他の手段を使用することができる。TCP/IP、イーサネット(登録商標)、FTP、HTTPなど様々なよく知られている任意のプロトコルの存在が想定され、システムは、ユーザがウェブベースのサーバからウェブページを取り出すことができるようにクライアント−サーバ構成で動作することができる。様々な従来のウェブブラウザの任意のものを使用してウェブページにおいてデータを表示し、それを操作することができる。
プログラミング・インターフェイス(又は、より簡単にインターフェイス)は、1つ又は複数のコードセグメントが1つ又は複数の他のコードセグメントによって提供される機能と通信し、又はそれにアクセスできるようにするための任意の機構、プロセス、プロトコルと見なされる。或いは、プログラミング・インターフェイスは、他の構成要素の1つ又は複数の機構、メソッド、関数呼出し、モジュールなどに通信結合することができるシステムの構成要素の1つ又は複数の機構、メソッド、関数呼出し、モジュール、オブジェクトなどと見なされる。上記の文の「コードセグメント」という用語は、コードの1つ又は複数の命令又は行を含むものとし、例えば、適用される用語に関わらず、又はコードセグメントが別々にコンパイルされるか、コードセグメントがソースコードとして提供されるか、中間コードとして提供されるか、オブジェクトコードとして提供されるか、コードセグメントがランタイムシステムで使用されるか、ランタイムプロセスで使用されるか、コードセグメントが同じマシンにあるか、異なるマシンにあるか、複数のマシンにわたって分散されるか、コードセグメントによって表される機能がすべてソフトウェアに実装されるか、すべてハードウェアに実装されるか、ハードウェアとソフトウェアとの組み合わせに実装されるかに関わらず、コードモジュール、オブジェクト、サブルーチン、関数などを含む。
概念上、図1B又は図1Cに示されているように、プログラミング・インターフェイスを包括的に見ることができる。図1Bは、第1及び第2のコードセグメントが通信するチャネルとしてのインターフェイスであるインターフェイス1を示している。図1Cは、インターフェイスを、システムの第1及び第2のコードセグメントが媒体Mを介して通信できるようになるインターフェイス・オブジェクトI1、I2(第1及び第2のコードセグメントの一部分である場合もそうでない場合もある)を含むものとして示している。図1Cの表示では、インターフェイス・オブジェクトI1、I2を、同じシステムの個別のインターフェイスと見なすことができ、またオブジェクトI1、I2及び媒体Mがインターフェイスを含むと考えることもできる。図1B及び1Cは、双方向フローと、フローの各側のインターフェイスとを示しているが、いくつかの実装形態では、情報フローが一方向のみである(又は、後述されるように、情報フローなしの)場合やインターフェイス・オブジェクトが片側にしかない場合がある。限定ではないが、一例として、アプリケーション・プログラミング・インターフェイス(API)、エントリポイント、メソッド、関数、サブルーチン、遠隔手続き呼出し及びコンポーネント・オブジェクト・モデル(COM)インターフェイスは、プログラミング・インターフェイスの定義内に含まれる。
こうしたプログラミング・インターフェイスの態様は、第1のコードセグメントが情報(ここでは「情報」はその最も幅広い意味に使用され、データ、コマンド、要求などを含む)を第2のコードセグメントに送信する方法、第2のコードセグメントが情報を受信する方法、並びに、情報の構造、シーケンス、構文、構成、方式、タイミング及び内容を含み得る。この点に関して、インターフェイスによって定義された方法で情報がトランスポートされる限り、媒体が有線か無線か、又はその組み合わせかに関わらず、基礎を成すトランスポート媒体自体はインターフェイスの操作に重要ではない。状況によっては、情報は従来の意味での一方向又は双方向に渡されない。これは、別の機構を介して行われたり(例えば、コードセグメント間の情報フローとは別のバッファ、ファイルなどにある情報)、又は、1つのコードセグメントが第2のコードセグメントによって実行される機能に単にアクセスする場合のように情報の転送が存在しなかったりするからである。これらの態様のいずれか又はすべては、例えばコードセグメントが疎結合又は密結合された構成におけるシステムの一部分であるかどうかに応じてなど、所与の状況において重要となり得るので、このリストは例示的で非制限的なものであると見なされるべきである。
プログラミング・インターフェイスのこの概念は当業者には知られており、本発明の上記の詳細な説明から明らかである。しかし、プログラミング・インターフェイスを実施する他の方法があり、明示的に除外されていない限り、これらも本明細書に記載された特許請求の範囲によって含まれるものとする。こうした他の方法は、図1B及び図1Cの単純化した図より高度又は複雑であるように見えるが、それにも関わらず、同様の機能を実施して、全部同じ結果を達成する。次に、プログラミング・インターフェイスのいくつかの例示的な代替の実装形態を簡単に説明する。
A.要素分解
或るコードセグメントから別のコードセグメントへの通信は、通信を複数の別個の通信に分割することによって間接的に達成され得る。これは、図1D及び図1Eに概略的に示されている。図示されているように、いくつかのインターフェイスは、分割可能な機能の組として表され得る。したがって、図1B及び図1Cのインターフェイス機能は、単に数学的に24すなわち2×2×3×2を提供し得るのと同じように分解されて、同じ結果を達成することができる。したがって、図1Dに示されているように、インターフェイスであるインターフェイス1によって提供される関数は、インターフェイスの通信を複数のインターフェイスであるインターフェイス1A、インターフェイス1B、インターフェイス1Cなどに変換するように再分割されるが、同じ結果を達成する。図1Eに示されているように、インターフェイスI1によって提供される関数は、同じ結果を達成しながら、複数のインターフェイスI1a、I1b、I1cなどに再分割される。同様に、第1のコードセグメントから情報を受信する第2のコードセグメントのインターフェイスI2は、複数のインターフェイスI2a、I2b、I2cなどに分解される。分解するとき、第1のコードセグメントに含まれているインターフェイスの数は、第2のコードセグメントに含まれているインターフェイスの数に一致する必要はない。図1D及び図1Eのいずれの場合でも、インターフェイスであるインターフェイス1及びインターフェイスI1の機能に関する意図は、それぞれ図1B及び図1Cのように同じままである。また、分解が認識し難いように、インターフェイスの分解には、結合、可換及び他の数学的特性が後続し得る。例えば、演算の順序は重要ではないので、インターフェイスによって実行される関数は、インターフェイスに到達する前に、コード又はインターフェイスの別の部分によって十分に実行され得、又は、システムの個別の構成要素によって実行され得る。更に、プログラミング分野の当業者は、同じ結果を達成する異なる関数呼出しを行う様々な方法があることを理解できよう。
B.再定義
場合によっては、依然として意図した結果を達成しながら、プログラミング・インターフェイスのいくつかの態様(パラメータなど)を無視し、追加し又は再定義することができる。これは図1F及び図1Gに示されている。例えば、図1Bのインターフェイスであるインターフェイス1は、3つのパラメータ、すなわち入力、精度、出力を含み、第1のコードセグメントから第2のコードセグメントに発行される呼出しである関数呼出し「二乗(入力、精度、出力)」を含むと仮定する。図1Fに示されるように、所与のシナリオにおいて、中央のパラメータ精度が関係ないものである場合、これは、単に無視してもよく、又は、(この状況において)意味のないパラメータと置き換えてもよい。また、関係ない追加のパラメータを追加することもできる。いずれの場合でも、入力が第2のコードセグメントによって二乗された後、出力が戻される限り、二乗の機能を達成することができる。精度は、コンピューティング・システムの下流側の部分又は他の部分にとって重要なパラメータである可能性は大いにあるが、精度が二乗の計算の狭い目的に必要ないことが認識されると、置き換えられるか無視される。例えば、有効な精度値を渡す代わりに、結果に悪影響を与えることなく、誕生日などの意味のない値を渡すことができる。同様に、図1Gに示されるように、インターフェイスI1はインターフェイスI1’と置換され、パラメータを無視するよう又はインターフェイスに追加するように再定義される。同様に、インターフェイスI2はインターフェイスI2’として再定義される。すなわち、不要なパラメータ又はどこか別の場所で処理され得るパラメータを無視するように再定義される。ここでのポイントは、場合によっては、プログラミング・インターフェイスは、或る目的には必要とされない、パラメータなどの態様を含んでいてもよいことであり、それらは、無視され、再定義され、又は他の目的のために他の場所で処理されてもよい。
C.インライン・コーディング
2つの個別のコードモジュールの間の「インターフェイス」が形を変えるように、それらの機能の一部又はすべてを併合することも実行可能である。例えば、図1B及び図1Cの機能は、図1H及び図1Iの機能にそれぞれ変換され得る。図1Hでは、図1Bの以前の第1及び第2のコードセグメントは、それらの両方を含むモジュールに併合される。この場合、コードセグメントは依然として互いに通信しているが、インターフェイスは、単一のモジュールに一層適した形に適応される。したがって、例えば、正規のCall(呼出し)及びReturn(戻す)ステートメントは必要ではないが、インターフェイスであるインターフェイス1に従った同様の処理又は応答は依然として有効である。同様に、図1Iに示されているように、図1CからのインターフェイスI2の一部分(又はすべて)は、インターフェイスI1にインラインで書き込まれてインターフェイスI1”を形成する。図示されるように、インターフェイスI2はI2a及びI2bに分割され、インターフェイス部分I2aはインターフェイスI1とインラインでコード化され、インターフェイスI1”を形成する。具体的な例として、図1CからのインターフェイスI1が関数呼出し「二乗(入力、出力)」を実行することを考察する。この関数呼び出しはインターフェイスI2によって受信され、第2のコードセグメントによって(入力の二乗を計算するために)入力で渡された値を処理した後、二乗された結果を出力に戻す。こうした場合、第2のコードセグメントによって実行される処理(入力の二乗)は、インターフェイスを呼出すことなく、第1のコードセグメントによって実行される。
D.分離
或るコードセグメントから別のコードセグメントへの通信は、通信を複数の別個の通信に分割することによって、間接的に達成され得る。これは図1J及び図1Kに概略的に示されている。図1Jに示されているように、コードのうちの1つ又は複数のピース(分離インターフェイス。これらは機能及び/又はインターフェイス関数を元のインターフェイスから分離する)は、異なるインターフェイス(この場合、インターフェイスであるインターフェイス2A、インターフェイス2B及びインターフェイス2C)に適合するように、第1のインターフェイスであるインターフェイス1における通信を変換するために提供される。これが行われるのは、インターフェイス1プロトコルに従って例えばオペレーティング・システムと通信するように設計されたアプリケーションのインストール済みの基盤が存在するが、そのオペレーティング・システムは異なるインターフェイス(この場合、インターフェイス2A、インターフェイス2B及びインターフェイス2C)を使用するように変更される場合などである。ポイントは、第1のコードセグメントによって使用されるインターフェイスと互換性がないように、第2のコードセグメントによって使用される元のインターフェイスが変更されることであり、したがって、新旧のインターフェイスに互換性を持たせるようにするための媒介が使用される。同様に、図1Kに示されているように、インターフェイスI1から通信を受信するための分離インターフェイスDI1と、DI2と協働するが同じ関数結果を提供するように再設計される例えばインターフェイスI2a、I2bにインターフェイス機能を送信するための分離インターフェイスDI2とを備える第3のコードセグメントが導入される。同様に、DI1及びDI2は、同じ又は類似の関数結果を提供しながら、図ICのインターフェイスI1及びI2の機能を新しいオペレーティング・システムへ移すために一緒に働く。
E.書き換え
更に別の考え得る変形は、コードを動的に書き換えて、インターフェイス機能を、同じ全結果を達成する別のものに置き換えることである。例えば、中間言語(例えばMicrosoft IL、Java(登録商標)ByteCode)で示されたコードセグメントが、実行環境(.Net framework、Java(登録商標)ランタイム環境又は他の類似のランタイム型の環境によって提供されるものなど)においてジャストインタイム(JIT)コンパイラ又はインタプリタに提供されるシステムが存在する。JITコンパイラは、第1のコードセグメントからの通信を第2のコードセグメントに動的に変換するように、すなわち、通信を、第2のコードセグメント(元の又は異なる第2のコードセグメント)によって必要とされる別のインターフェイスに適合するように書かれる。これは図1L及び図1Mに示されている。図1Lから分かるように、この手法は上述の分離シナリオと類似している。これが行われるのは、例えば、インターフェイス1プロトコルに従ってオペレーティング・システムと通信するように設計されたアプリケーションのインストール済みの基盤が存在するが、そのオペレーティング・システムは別のインターフェイスを使用するように変更された場合である。JITコンパイラは、進行中の通信を、インストールされた基盤アプリケーションからオペレーティング・システムの新しいインターフェイスに適合させるために使用される。図1Mに示されているように、インターフェイスを動的に書き換えるこの手法は、インターフェイスを動的に分解する又は変更するために適用される。
また留意されるように、代替の実施の形態によりインターフェイスと同じ又は類似の結果を達成するための上述したシナリオは、様々な方法で、直列及び/又は並列に、或いは他の介在コードと結合され得る。したがって、上述した代替の実施の形態は相互に排他的ではなく、混合され、適合され、結合されて、図1B及び図1Cに図示された汎用のシナリオと同じ又は等価のシナリオを生成し得る。また留意されるように、ほとんどのプログラミング構文と同様に、本明細書に記載されてはいないが本発明の意図及び範囲によって表されているインターフェイスの同じ又は類似の機能を達成する他の類似の方法とが存在する。すなわち、インターフェイスの価値の基礎となるのは、少なくとも部分的には、インターフェイスによって表される機能と該インターフェイスによって可能になる有利な結果であることに留意されたい。
図2は、本発明の様々な態様に従って使用することができる例示的なタブレットPC201を示す。図1のシステムにおける特徴、サブシステム及び機能のいずれか又はすべては、図2のコンピュータに含まれ得る。タブレットPC201は、例えば、デジタル化するフラット・パネル・ディスプレイ、好ましくは液晶ディスプレイ(LCD)画面などの、複数のウィンドウ203が表示される大型表示面202を含む。ユーザはスタイラス204を使用してデジタル化表示面202上で選択し、強調表示し及び/又は書くことができる。適したデジタル表示面202の例は、ムトウやWacomのペン・デジタイザなどの電磁的ペン・デジタイザを含む。光デジタイザなど他のタイプのペン・デジタイザも使用することができる。タブレットPC201は、データを操作し、テキストを入力し、図を作成し及び/又はスプレッドシート、ワードプロセッシング・プログラムなど従来のコンピュータ・アプリケーション・タスクを実行するために、スタイラス204を使用して形成されたジェスチャを解釈する。
スタイラス204は、1つ又は複数のボタン又はその選択機能を増大させるための他の特徴を備える。一つの実施の形態では、スタイラス204は「鉛筆」又は「ペン」として実現することができ、その一端は書き込み部を構成し、他端は「消しゴム」端を構成し、表示を横切ると、表示の部分が消されるべきことを示す。マウス、トラックボールなどの他のタイプの入力装置を使用することができる。更に、ユーザ自身の指をスタイラス204とし、タッチセンシティブ又は近接センシティブ・ディスプレイ上に表示画像の部分を選択する又は示すために使用することができる。したがって、「ユーザ入力装置」という用語は、本明細書で使用するとき、広い定義を有するものとし、スタイラス204などの周知の入力装置の多くの変形を含む。領域205は、スタイラス204が表示面202に接触した場所をユーザが決定することができるようにするフィードバック領域又は接触領域を示す。
様々な実施の形態では、システムは、インク・プラットフォームを、アプリケーションがインクの捕捉、操作、格納のために使用することができる1組のCOM(コンポーネント・オブジェクト・モデル)サービスとして提供する。1つのサービスによって、アプリケーションは、インクの開示された表現を使用して、インクを読み書きすることができる。また、インク・プラットフォームは、拡張可能マークアップ言語(XML)のような言語を含むマークアップ言語を含み得る。更に、システムは、DCOMを別の実装として使用することもできる。マイクロソフト社のWin32プログラミング・モデルや.Netプログラミング・モデルを含む、更に別の実装が使用されてもよい。
自動提案及び手書き入力
自動完成プロセス(自動提案プロセスとしても知られる)、最近使用された(MRU)リスト及び最も頻繁に使用される(MFU)リストは、人気のある機能であり、様々なオペレーティング・システム・シェルにおける多数のアプリケーションによって、また様々な分野において使用されている。こうしたリストの価値の1つは、これらのリストによってユーザが電子メール・アドレス、URL、ファイル名などの覚えるのが難しい不規則なテキストを入力することができる容易さを増大させることである。この価値は、手書きを使用して電子メール・アドレス、URL又はファイル名を入力しているユーザにとっては一層大きい。手書き認識は、一般的に、メール・アドレスなどの辞書外の単語の場合、最悪であり、これらのタイプのデータの入力プロセスを一層面倒にするからである。
本発明の態様は、様々なアプリケーションの自動提案(又は自動完成)を手書き入力と統合することに関する。この統合の故に、ユーザには、使用しやすさ、スループット速度、並びに、手書き入力及び対話中のアプリケーションに対するユーザ満足度が増すことが分かる。
図3は、本発明の態様の例を示している。ここで、アプリケーション301はユーザ・インターフェイス302を含む。ユーザは情報を入力する(ユーザ入力303)。アプリケーションは、ユーザ・インターフェイス302で表示するための情報を305で転送する入力ハンドラ304を含む。ユーザ入力情報はアプリケーション301又は手書き受信パネル307によって処理されることに留意されたい。ユーザは情報をアプリケーション301に必ずしも別々に入力する必要がないので、アプリケーション301への直接のユーザ入力303は破線で示されている。例えば、キーが限られている又はキーなしのスレート型タブレット又はペン・コンピューティング装置を使用する状況では、アプリケーション301はスタイラスに基づく情報を受け取り、又は、ユーザは手書き受信パネル307を使用して情報を入力するだけであり、それによって、アプリケーション301への情報の直接入力が回避される。
ユーザ又はアプリケーション301は、手書き受信パネル307を呼び出すことができる。手書き受信パネル307は、スタイラス及びデジタイザの対話によって作成される電子インクの形で少なくとも手書き入力を受信するインターフェイス及びプロセスを含む。手書き受信パネル307は、キーボード入力(実際の又は表示された)や、上記ソフトキーボードによるマウス入力、及び/又は、マウスを使用してユーザが描いたインクによるマウス入力を含む、他のタイプの情報を受信することもできることを理解されたい。手書き受信パネル307は能動的及び受動的なデジタイザとともに使用することができることを理解されたい。手書き受信パネル307は、ライン型入力(インクが描かれるガイドラインを表示する)、ボックス型入力(文字又は記号の入力ごとに個別の区切り領域を持つ)、キーボード入力(ソフトキーボード)、又は、一般的な空欄入力領域のうちの少なくとも1つを含む、様々なタイプの入力ディスプレイを含むが、それらに限定されるものではない。これらのオプションのうちの少なくとも一部を含む手書き受信パネル307の例には、ワシントン州レドモンドのマイクロソフト社のTIP(タブレット入力パネル)がある。
次いで、ユーザは手書き受信パネル307内に情報303(例えば、手書きインク)を入力する。手書き受信パネル307は入力情報303を認識しようとし、認識結果を308で自動完成プロバイダ309に転送する。手書き受信パネル307からの自動完成プロバイダ309への認識された情報転送に応答して、自動完成プロバイダ309はユーザに自動完成提案を提供する。次いで、ユーザは入力310を介して提案のうちの1つを選択し、選択はユーザ・インターフェイス302での表示のために311でアプリケーション301に転送される。選択が行われた後、自動完成プロバイダ309は提案のリストについてのユーザ・インターフェイスを閉じる。
本発明の態様は、自動完成プロバイダ309を、手書き受信パネル307から別個のものとして示している。本発明の代替の態様では、自動完成プロバイダ309は手書き受信パネル307に統合される。更に別の態様では、手書き受信パネル307は自動完成プロバイダ309に統合される。これら2つの後者の態様では、ユーザには、他方のユーザ・インターフェイスの制御を介して、手書き受信パネル307と自動完成プロバイダ309とのうちの一方を開く能力が提供される。
以下は、情報をユーザ・インターフェイスに転送するために、ユーザがどのように自動提案リストを使用するかの一例である。まず、ユーザは手書き受信パネル307に「www」を入力することができる。次いで、自動完成プロバイダ309は、例えば
http://www
https://www
ftp://www
を含む、提案された自動完成のリストを提供する。
ユーザは、情報を手書き受信パネル307に追加し続けても(この場合には、時間とともに自動完成リストにデータが読み込まれる)、自動完成リストから項目のうちの1つを選択してもよい。ユーザが自動完成リストの入力のうちの1つを選択すると、選択(又は選択が行われたことの指示)がアプリケーション301に送信され、ユーザ・インターフェイス302に表示される。ここでは、ユーザが自動完成リストから項目の1つを選択すると、手書き受信パネル307での内容はクリアされる。ユーザは、一層多くの情報を手書き受信パネル307に追加し続けて、新しく認識された情報を自動完成リストに渡し、提案された結果のユーザ選択をアプリケーション301に転送させる。
代替として、手書き受信パネル307と自動完成プロバイダ309は、ユーザが結果に満足するまで情報308、312を交換する。次に、手書き受信パネル307は、手書き受信パネル307と自動完成プロバイダ309との間の交換の結果を313でアプリケーション301に転送してユーザ・インターフェイス302に表示させる。一例として、「www」の上記の入力を使用する。上記と同様に、ユーザは、手書き受信パネル307によって「www」と認識される手書き情報303を入力する。自動完成プロバイダ309は、提案された完成のリスト(例えば、http://www.など)を提供する。ユーザがユーザ入力310を介して、提案された完成を選択すると、提案された完成はパス312を介して手書き受信パネル307に戻され、手書き受信パネル307での認識された結果は、選択された完成と置き換えられる。次いで、ユーザは追加情報を、手書き受信パネル307に存在する提案された完成に追加する。最後に、文字列が完成した後、ユーザは、ユーザ・インターフェイス302に表示するために、(手動で、又は文字列の定期的な自動転送の使用によって自動で)パス313を介してアプリケーション301に転送する。
最後に、更に別の代替として、アプリケーション314は、提案リストの初期情報として使用するために、ユーザ・インターフェイス302での情報を自動完成プロバイダ309に転送する。この初期情報は時として主要情報と呼ばれる。次いで、手書き受信パネル307からの認識結果308は、提案された内容を提供することによって、自動完成プロバイダ309が応答する情報として、ユーザ・インターフェイス302からの内容と結合される。次いで、自動完成プロバイダ309からの選択された提案は、上述されたパス(311、312、313)のうちのいずれかによってアプリケーション301に転送される。
手書き受信パネル307は自動完成プロセスを所有し、自動提案リストを描くことができる。或いは、手書き受信パネル307は、自動完成プロバイダ309から提供された自動提案リストの位置決めに影響を与える。これは、自動完成プロバイダ309のアプリケーション・プログラミング・インターフェイスを介して行われ得る。
図4は、入力フィールド402を含むアプリケーション401を示している。ユーザは、自動提案リスト404が手書き受信パネル403の近くに表示されている状態で、手書き受信パネル403を介して手書きインクを入力することができる。自動提案リストは、自動完成プロバイダ309によって生成されている。
自動提案リストに提供された情報はアプリケーションによって変わり得る。例えば、インターネット・ブラウザの場合、自動提案リストは、WWWアドレス又は最上位ドメイン識別子に関する情報を含み得る。電子メール・アドレスの場合、自動提案リストは、或る人の電子メールのアドレス帳からの電子メール・アドレスに関する情報を含み得る。
アプリケーションは、アプリケーションのテキスト・フィールドの代わりに、自動提案リストをTIPに対して表示されるように再配置することができる。以下は、アプリケーションの自動提案リストをどのように配置するかについてのガイドラインを示す。
・ユーザの手の下に表示されないようにするために、自動提案リストは、画面の上端からはずれることなく収まることができるとき、手書き受信パネルの上端の上側に現れる。自動提案リストの下端は、手書き受信パネルの書き込み面の上端に接する。リストが手書き受信パネルの上に収まることができない場合、手書き受信パネルの下端の下側に配置される。この場合、自動提案リストの上端は、手書き受信パネルの書き込み面の下端に接する。
・手書き受信パネルがインクの複数行を含むように拡張されたとき、自動提案リストは、ユーザがインキングしている現在の行を基準にして位置することができる。この場合、自動提案リストは、行の上及び下を手書き受信パネルの上及び下であるかのように扱うことができる。或いは、自動提案リストは、インキングしている面の上又は下の行を基準にして常に現れる。
・自動提案リストは、手書き受信パネルでの第1の後続の空欄スペース上に左寄せされて現れる。手書き受信パネルのライン型バージョンでは、自動提案リストは、自動提案リストの左端が最後の行の最後のインク・オブジェクトの右端に位置合わせされた状態で表示される。ボックス型入力モードの自動提案リストでは、自動提案リストは、自動提案リストの左端が第1の後続の空ボックスの左端に位置合わせされた状態で表示される。いずれのスキンにおいても、画面の右端からはずれることなくリストが左に位置合わせされることができない場合、リストは画面の右端に対して位置合わせされる。
・自動提案リストが表示され、ユーザが自動提案リストの外側にペンを置くときは常に、自動提案リストは非表示とされる。
・手書き受信パネルに最後の単語への修正が行われるときはいつでも、自動提案リストは更新されて再表示される。
ユーザがハードキーボード又はソフトキーボードを使用するとき、アプリケーションの自動提案リストは、手書き受信パネルではなくテキスト入力フィールドを基準にして配置される。こうした場合、自動提案リストはデスクトップ上と同じに現れて機能する。或いは、ソフトキーボードが使用されるとき、自動提案リストはソフトウェアキーボードに対して配置され得る。ソフトキーボードの近くに自動提案リストを配置する利点の1つは、一方から他方へのナビゲーションに必要な動きが制限され、それによって、両方との対話がユーザにとって一層容易になることである。
自動提案リストは、認識が実行されて認識結果が更新された直後に表示される。手書き受信パネルのボックス型入力モードでは、自動提案リストは、各文字が認識された後に更新される。手書き受信パネルのライン型入力モードでは、自動提案リストは、セグメントが認識された後に更新される。
図5は、本発明の態様による構成要素間の様々な関係を示す。手書き受信パネル501は、状態マネージャ504と情報を交換する手書きウィンドウ・コントロール503を含む。状態マネージャ504は状態レポジトリ505に接続され、状態レポジトリ505はプログラマビリティ・マネージャに接続される。状態情報が送信され、結果が受信される。プログラマビリティ・マネージャ506は、状態情報を自動完成プロバイダ・プロセス502に送る。
自動完成プロバイダ・プロセス502は、状態マネージャ508及び自動完成クライアント509を備える手書き受信パネル・オブジェクト507を含む。自動完成クライアント509は自動完成プロバイダ510と情報を交換する。
ここで、手書き受信パネル501は自動完成プロバイダ510を呼び出し、認識結果を手書き受信パネル501から転送する。自動完成プロバイダ・プロセス502における自動完成プロバイダ510は、ユーザに表示するための内容を含む自動完成リストを生成する。
以下、アプリケーション又は手書き受信パネルが自動提案リスト及び入力情報にアクセスできるようにする可能なアプリケーション・プログラミング・インターフェイス定義について説明する。
自動完成クライアントは、自動完成プロバイダ510に公表される自動完成クライアント・インターフェイスを有する。
自動完成クライアント・インターフェイスは、自動完成クライアントに登録されるべき自動完成プロバイダを登録するアドバイス・プロバイダ・メソッドを含む。このメソッドは、自動完成クライアントに登録されるべき自動完成プロバイダ・インターフェイスへのポインタを含み得る。
同様に、自動完成クライアントは、自動完成クライアントから自動完成プロバイダ・インターフェイスを登録解除するアンアドバイス・プロバイダ・メソッドを含む。
また、2つの方法のうちの一方を実行することができるユーザ選択インターフェイスが存在する。第1に、情報がこのメソッドで転送されると、ユーザの選択は、追加の情報を添付するために、手書き受信パネルに戻される。第2に、情報がこのメソッドで転送されない場合、ユーザの選択は、ユーザが選択を行ったことを選択に通知するために使用される。
また、APIは、自動提案リストを表示するための好ましい矩形の仕様を含む。メソッドは、プロバイダの好ましい位置及び自動完成リスト・ユーザ・インターフェイスのサイズを示す画面座標での矩形に対するポインタ、フォーカスされたフィールドの位置及びサイズを示す画面座標での矩形に対するポインタ、及び、手書き受信パネルの現在の状態及び自動完成リストによって指定された好ましい自動完成リスト位置及びサイズに基づいて自動完成クライアントによって変更された矩形に対するポインタを含む。
APIは、ユーザ・インターフェイスを表示する要求を含む。これは、自動完成UIを表示しようとするときに自動完成プロバイダが行う呼出しである。自動完成クライアントはプロバイダの好ましい矩形を変更し得る。
これは、自動完成UIを表示しようとするときに自動完成プロバイダが行う呼出しである。
次に、自動完成プロバイダは以下のインターフェイスを含む:
自動完成リストを生成するために使用される処理待ちテキストを更新する更新処理待ちテキスト・メソッド。このテキストは、フォーカスされたフィールドにすでに挿入されているテキストを含まず、自動完成プロバイダは、自動完成リストを生成するために、現在のフィールド・テキスト及び選択を考慮に入れる責任がある。このメソッドは、自動完成リストが表示されるべき文字を指定することもできる。このメソッドは、自動完成リストUIを表示するようにプロバイダをトリガすることができる。
表示メソッドは、自動完成リストを表示又は非表示するために使用される。
以下の拡張は、本発明の態様とともに使用され又は使用されない。
アプリケーションは、手書き受信パネルに自動提案リストをテキストとして転送し、アプリケーションによって提供された自動提案値で埋められた手書き受信パネルを基準にした自動提案リストを手書き受信パネルに所有させ、描かせる。手書き受信パネルに描かれたリストは、再配置されたアプリケーション・リストと同様に浮き上り、又は手書き受信パネルUIに完全に統合される。或いは、自動提案リストは、再配置されるのではなく、その現在の位置のままとすることができる。更に、自動提案リストは、アプリケーション、オペレーティング・システム又はユーザによってどこにでも配置することができる。
アプリケーションに上位の認識結果のうちの2つ以上が渡され、アプリケーションに、異なる認識可能性に基づいて自動完成リストを生成させる。
自動完成されたURL又は電子メール・アドレスと入力している辞書内単語(その単語を以前入力したかどうかに関わらず)との予測をユーザが単一のリストで取得するように、フィールドのための自動完成を散文テキスト予測と統合させる。その目的は、将来、現在の自動完成実装を一般のテキストに拡張することである。
URLをパーツに構文解析し、又は、ユーザの親又は兄弟のアドレスにナビゲートするために使用することができるブロックを構築する。このメソッドを使用することによって、ユーザがwww.cnn.com/currentnewsに行ったことがある場合には、ユーザが行ったことがないwww.cnn.comの自動完成を取得するのは親である。これは、IAutoCompleteResultsインターフェイスにAdjustAutoCompleteListメソッドを含ませることによって行い得る。このメソッドによって、手書き受信パネルは、アプリケーションが表示するリスト・エントリを変更することができた。追加情報が図6に示されており、以下の通りである。
AdjustAutocompleteList()は、ペン入力パネル・オブジェクトに対する自動完成リスト・プロバイダによって呼び出される。ペン入力パネル・オブジェクトは、このメソッドが呼び出されると、それ自体に保存される、確定されたボックス型ヒント・テキストを含む。このメソッド内で、デフォルトとして、ペン入力パネルは、確定されたヒント文字列の第1の出現を検索し、所与の自動完成文字列内のヒント・テキストを確定し、次のように自動完成文字列から確定されたヒント文字列をトリミングする:
・確定されたヒント・テキスト=「AAA」
・自動完成文字列=「000AAABBBCCC」
・確定されたヒント・テキストのトリム後の結果の文字列=「BBBCCC」
・確定されたヒント・テキストの前の自動完成文字列の任意の部分(上記の例「000」)もトリミングされる
・現在の入力範囲がIS_URLに設定されるとき、トリミングは特定の方法で行われる。URLの部分の定義は、図6に示すように提供される。
更に、自動完成リストは、以下のように、インターネット・アドレスに使用される。
プロトコル文字列は、「//」が後続する文字列の部分である。
ホストコンピュータ名は、プロトコル文字列に後続し且つピリオドによって後続される文字列の部分である。
トップレベル・ドメイン名は、文字列内の任意のスラッシュ文字の前のピリオド文字に後続する文字列の最後の部分である。
ホストコンピュータ名及びトップレベル・ドメイン名が存在するとき、第2レベル・ドメイン名は、トップレベル・ドメイン名の左のピリオドで分けられた文字列の部分である。ホストコンピュータ名とトップレベル・ドメイン名との間のピリオド文字によって分けられた部分の複数のセグメントがある場合、それらは、第2レベル以上のドメイン名として扱われる。ボックス型スキンは第2レベル以上のドメイン名を区別せず、これらは1つの部分として扱われる。
トップレベル・ドメインがある場合、
・ファイル名は、プロトコル分離文字の後の最後のスラッシュ文字に後続する文字列の部分である
・ファイル名とプロトコル分離文字の後の第1のスラッシュ文字列との間の文字列の部分は、ディレクトリである。
トップレベル・ドメインがない場合、
・ファイル名は、最後のスラッシュ文字に続く文字列の部分である
・ディレクトリは、ファイル名とプロトコル分離文字との間の文字列の部分である
ボックス型入力モードは、文字列を以下の単位に切断する:
・プロトコル分離文字を含むプロトコル文字列
・次の分離文字を含むホストコンピュータ名
・次の分離文字を含むドメイン名
・ディレクトリ及びファイル名。
全自動完成文字列すべてが検査されて変更された後、ボックス型スキンはリストから任意の重複した項目を取り除く。
次に、システムは、表示文字列のインデックスを開始することができる。調整自動完成リストから戻されるべき全自動完成文字列内の開始文字インデックスは、デフォルトの自動完成リストとまったく同じ方法で決定される。それは、全文字列内の最初に出現した確定されたヒント・テキストの末尾である。
表示文字列の終了インデックスの場合、以下のステップは、戻される自動完成文字列における文字の終了位置を定義する:
a.ヒント・テキストが(プロトコル分離文字の第2のスラッシュを除く)全文字列におけるプロトコル分離文字の前で終わる場合、終了位置は、プロトコル分離文字を含むプロトコル文字列の末尾にある
b.(a)が偽であり、ヒント・テキストが全文字列内のホストコンピュータ名に後続する分離文字の前で終わる場合、終了位置は、次の分離文字を含むホストコンピュータ名の末尾にある
c.(b)が偽であり、ヒント・テキストが全文字列内のトップレベル・ドメイン名に後続する分離文字の前で終わる場合、終了位置は、次の分離文字を含むトップレベル・ドメイン名の末尾にある
d.(c)が偽であり、ヒント・テキストが(ドメイン名とディレクトリ名との間の分離文字を含む)全文字列内のディレクトリ又はファイル名内で終わる場合、終了位置は、全文字列の末尾にある。
代替の手法において、自動完成プロバイダは、自動提案リストのレンダリングのすべてを管理することができる。例えば、自動完成プロバイダは、手書き受信パネルの位置の(他の表示された内容に対する相対又は絶対)位置の指示を受信し、手書き受信パネルの位置に基づいて自動提案リストを配置する。別の例では、自動完成プロバイダは、手書き入力パネルの位置の任意の指示を受信せず、自動提案リストを所定の位置(画面の片側の近く又は中心など)に配置し、或いは、自動提案リストを他の表示された内容の近くに(例えば、自動提案リストからの選択された内容が送られるアプリケーションのユーザ・インターフェイスから離れて、それに重ねて又はその上に)又は表示内容の上に配置する。
本発明を、その好ましい実例となる実施の形態に関して説明してきた。当業者には、請求項の範囲及び精神内の多数の他の実施の形態、変更形態及び変形形態が、本開示の検討から想起されよう。
本発明のいくつかの態様を実施することができる汎用デジタル・コンピューティング環境を示す概要図である。 本発明の1つ又は複数の態様をサポートする汎用コンピュータ環境を示す図である。 本発明の1つ又は複数の態様をサポートする汎用コンピュータ環境を示す図である。 本発明の1つ又は複数の態様をサポートする汎用コンピュータ環境を示す図である。 本発明の1つ又は複数の態様をサポートする汎用コンピュータ環境を示す図である。 本発明の1つ又は複数の態様をサポートする汎用コンピュータ環境を示す図である。 本発明の1つ又は複数の態様をサポートする汎用コンピュータ環境を示す図である。 本発明の1つ又は複数の態様をサポートする汎用コンピュータ環境を示す図である。 本発明の1つ又は複数の態様をサポートする汎用コンピュータ環境を示す図である。 本発明の1つ又は複数の態様をサポートする汎用コンピュータ環境を示す図である。 本発明の1つ又は複数の態様をサポートする汎用コンピュータ環境を示す図である。 本発明の1つ又は複数の態様をサポートする汎用コンピュータ環境を示す図である。 本発明の1つ又は複数の態様をサポートする汎用コンピュータ環境を示す図である。 本発明の態様によるペンベースのコンピューティング・システムの例を示す図である。 本発明の態様による、例示の構成要素間の対話を示す図である。 本発明の態様による自動提案リストの例を示す図である。 本発明の少なくとも1つの態様において対話する様々なオブジェクトを示す図である。 本発明の態様による自動提案リストからの結果の別の例を示す図である。 アプリケーションと対話する従来の自動提案リストを示す図である。

Claims (11)

  1. ユーザによる手書き入力を自動完成するための、コンピュータによって実施される方法であって、
    電子インクの形でユーザが手書き受信パネルに入力した情報を介して手書き入力を受信するステップであって、前記手書き受信パネルが、前記手書き入力を認識し、前記手書き入力の認識結果を自動完成プロバイダにテキストとして送るステップと、
    前記自動完成プロバイダが、前記テキストに基づいて提案された項目のリストを含む自動提案リストを提供するステップと、
    前記テキストの各文字又はセグメントが認識された後に、又は、前記テキストのその後の文字又はセグメントが認識された後に追加情報を前記手書き入力に追加するのをユーザに許容し、前記追加情報の追加の結果として新たに認識された情報を前記自動完成プロバイダに送って前記自動提案リストを更新するステップと、
    前記自動完成プロバイダを、該自動完成プロバイダへのポインタを識別して記憶する自動完成クライアントに登録するステップと、
    ユーザが前記自動提案リストにおいて1つの前記項目を選択したのに応答して、ユーザが選択した前記項目を前記手書き受信パネルに戻し、それにより、ユーザが前記項目に更なる情報添付できるようにするステップと、
    ユーザが前記更なる情報の添付を完了したことを前記自動完成プロバイダに通知するステップと、
    を含むコンピュータ実施方法。
  2. 前記自動提案リストがブラウザの一部分である、請求項1に記載のコンピュータ実施方法。
  3. 前記自動提案リストがオペレーティング・システムの一部分である、請求項1に記載のコンピュータ実施方法。
  4. 前記自動提案リストがアプリケーションの一部分である、請求項1に記載のコンピュータ実施方法。
  5. 前記手書き受信パネルと情報を交換する手書き受信パネル・オブジェクトを含む自動完成プロバイダ・プロセスを更に含む、請求項1に記載のコンピュータ実施方法。
  6. ユーザによる手書き入力に基づく自動完成リストを表示するコンピューティング・システムであって、
    テキストを受信する第1のユーザ・インターフェイスと、
    電子インクの形でユーザが手書き受信パネルに入力した情報を介して手書き入力を受信する第2のユーザ・インターフェイスであって、前記手書き受信パネルが、前記手書き入力を認識し、前記手書き入力の認識結果を自動完成プロバイダにテキストとして送る第2のユーザ・インターフェイスと、
    前記自動完成プロバイダが、記テキストに基づいて提案された項目のリストを含む自動提案リストを提供し、前記テキストの各文字又はセグメントが認識された後に、又は、前記テキストのその後の文字又はセグメントが認識された後に追加情報を前記手書き入力に追加するのをユーザに許容し、前記追加情報の追加の結果として新たに認識された情報を前記自動完成プロバイダに送って前記自動提案リストを更新する第3のユーザ・インターフェイスであって、ユーザが前記自動提案リストにおいて1つの前記項目を選択したことを受信して、ユーザが選択した前記項目を前記手書き受信パネルに戻し、それにより、ユーザが前記項目に更なる情報を添付できるようにする第3のユーザ・インターフェイスと
    を含むコンピューティング・システム。
  7. ユーザによる手書き入力を自動完成するためのコンピュータ・システムであって、
    電子インクの形でユーザが手書き受信パネルに入力した情報を介して手書き入力を受信する手段であって、前記手書き受信パネルが、前記手書き入力を認識し、前記手書き入力の認識結果を自動完成プロバイダにテキストとして送る手段と、
    前記自動完成プロバイダが、前記テキストに基づいて提案された項目のリストを含む自動提案リストを提供することにより、前記手書き受信パネルでの手書き入力の処理を前記自動完成プロバイダでの自動提案リストの提供と統合させる手段と、
    前記テキストの各文字又はセグメントが認識された後に、又は、前記テキストのその後の文字又はセグメントが認識された後に追加情報を前記手書き入力に追加するのをユーザに許容し、前記追加情報の追加の結果として新たに認識された情報を前記自動完成プロバイダに送って前記自動提案リストを更新する手段と、
    ユーザが前記自動提案リストにおいて1つの前記項目を選択したのに応答して、ユーザが選択した前記項目を前記手書き受信パネルに戻し、それにより、ユーザが前記項目に更なる情報を添付できるようにする手段と、
    ユーザが前記更なる情報の添付を完了したことを前記自動完成プロバイダに通知する手段と、
    を備えるコンピュータ・システム。
  8. 前記自動提案リストがブラウザの一部分である、請求項7に記載のコンピュータ・システム。
  9. 前記自動提案リストがオペレーティング・システムの一部分である、請求項に記載のコンピュータ・システム。
  10. 前記自動提案リストがアプリケーションの一部分である、請求項に記載のコンピュータ・システム。
  11. 前記自動完成プロバイダ手段が、前記手書き受信パネルとは別の手書き受信パネル・オブジェクトを含み、前記手書き受信パネル・オブジェクトが前記手書き受信パネルと情報を交換する、請求項に記載のコンピュータ・システム。
JP2008507941A 2005-04-22 2006-04-20 自動提案リスト及び手書き入力 Active JP5243240B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US67377005P 2005-04-22 2005-04-22
US60/673,770 2005-04-22
US11/249,739 2005-10-14
US11/249,739 US7996589B2 (en) 2005-04-22 2005-10-14 Auto-suggest lists and handwritten input
PCT/US2006/015187 WO2006116145A2 (en) 2005-04-22 2006-04-20 Auto-suggest lists and handwritten input

Publications (2)

Publication Number Publication Date
JP2008537270A JP2008537270A (ja) 2008-09-11
JP5243240B2 true JP5243240B2 (ja) 2013-07-24

Family

ID=37215313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008507941A Active JP5243240B2 (ja) 2005-04-22 2006-04-20 自動提案リスト及び手書き入力

Country Status (9)

Country Link
US (1) US7996589B2 (ja)
EP (1) EP1872236A4 (ja)
JP (1) JP5243240B2 (ja)
KR (1) KR20070122222A (ja)
CN (1) CN101164054B (ja)
BR (1) BRPI0610291A2 (ja)
MX (1) MX2007013115A (ja)
RU (1) RU2412470C2 (ja)
WO (1) WO2006116145A2 (ja)

Families Citing this family (214)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US8234293B2 (en) * 2005-09-08 2012-07-31 Microsoft Corporation Autocompleting with queries to a database
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US10452763B2 (en) * 2007-03-08 2019-10-22 Oath Inc. Autocomplete for integrating diverse methods of electronic communication
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8902152B2 (en) 2007-04-30 2014-12-02 Motorola Mobility Llc Dual sided electrophoretic display
US8504349B2 (en) * 2007-06-18 2013-08-06 Microsoft Corporation Text prediction with partial selection in a variety of domains
US9122092B2 (en) 2007-06-22 2015-09-01 Google Technology Holdings LLC Colored morphing apparatus for an electronic device
KR100930802B1 (ko) * 2007-06-29 2009-12-09 엔에이치엔(주) 이미지를 이용한 브라우저 제어 방법 및 시스템
US20090042619A1 (en) * 2007-08-10 2009-02-12 Pierce Paul M Electronic Device with Morphing User Interface
US8077154B2 (en) 2007-08-13 2011-12-13 Motorola Mobility, Inc. Electrically non-interfering printing for electronic devices having capacitive touch sensors
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US20090204881A1 (en) * 2008-02-08 2009-08-13 M/S. Scmooth (India) Private Limited Method and system for knowledge-based filling and verification of complex forms
US8059232B2 (en) 2008-02-08 2011-11-15 Motorola Mobility, Inc. Electronic device and LC shutter for polarization-sensitive switching between transparent and diffusive states
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8677018B2 (en) * 2008-08-25 2014-03-18 Google Inc. Parallel, side-effect based DNS pre-caching
KR101044679B1 (ko) * 2008-10-02 2011-06-29 (주)아이티버스 문자입력방법
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US7949647B2 (en) 2008-11-26 2011-05-24 Yahoo! Inc. Navigation assistance for search engines
US20100185644A1 (en) * 2009-01-21 2010-07-22 Microsoft Corporatoin Automatic search suggestions from client-side, browser, history cache
US20120113011A1 (en) * 2009-03-20 2012-05-10 Genqing Wu Ime text entry assistance
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8352561B1 (en) 2009-07-24 2013-01-08 Google Inc. Electronic communication reminder technology
JP5402398B2 (ja) * 2009-08-25 2014-01-29 ソニー株式会社 情報処理装置、情報処理方法およびコンピュータプログラム
US8131848B1 (en) 2009-09-29 2012-03-06 Jason Adam Denise Image analysis and communication device control technology
US8286085B1 (en) 2009-10-04 2012-10-09 Jason Adam Denise Attachment suggestion technology
US8332748B1 (en) * 2009-10-22 2012-12-11 Google Inc. Multi-directional auto-complete menu
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
WO2011089450A2 (en) 2010-01-25 2011-07-28 Andrew Peter Nelson Jerram Apparatuses, methods and systems for a digital conversation management platform
US8782556B2 (en) 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
JP5587119B2 (ja) * 2010-09-30 2014-09-10 キヤノン株式会社 文字入力装置、その制御方法、及びプログラム
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
CN102855079B (zh) * 2011-05-24 2016-06-08 Lg电子株式会社 移动终端
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US8209183B1 (en) 2011-07-07 2012-06-26 Google Inc. Systems and methods for correction of text from different input types, sources, and contexts
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US9256588B1 (en) * 2011-09-28 2016-02-09 Amazon Technologies, Inc. Transferring content to a substantially similar location in a virtual notebook using a stylus enabled device
US8850310B2 (en) * 2011-10-11 2014-09-30 Microsoft Corporation Data entry suggestion lists for designated document data entry areas based on data from other document data entry areas
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US20130344468A1 (en) * 2012-06-26 2013-12-26 Robert Taaffe Lindsay Obtaining Structured Data From Freeform Textual Answers in a Research Poll
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9898186B2 (en) * 2012-07-13 2018-02-20 Samsung Electronics Co., Ltd. Portable terminal using touch pen and handwriting input method using the same
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
KR102174916B1 (ko) 2012-11-30 2020-11-05 삼성전자주식회사 종료 효과를 표시하는 모바일 장치 및 그 제어방법
ITRM20130022A1 (it) 2013-01-11 2014-07-12 Natural Intelligent Technologies S R L Procedimento e apparato di riconoscimento di scrittura a mano
WO2014115199A1 (ja) * 2013-01-22 2014-07-31 Necソリューションイノベータ株式会社 入力支援システム、入力支援方法および入力支援プログラム
CN113744733B (zh) 2013-02-07 2022-10-25 苹果公司 数字助理的语音触发器
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
AU2014278592B2 (en) 2013-06-09 2017-09-07 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US9727535B2 (en) 2013-06-11 2017-08-08 Microsoft Technology Licensing, Llc Authoring presentations with ink
US11269431B2 (en) * 2013-06-19 2022-03-08 Nokia Technologies Oy Electronic-scribed input
CN105453026A (zh) 2013-08-06 2016-03-30 苹果公司 基于来自远程设备的活动自动激活智能响应
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
EP3489814A1 (en) * 2014-05-23 2019-05-29 Samsung Electronics Co., Ltd. Method and device for reproducing content
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
EP3149728B1 (en) 2014-05-30 2019-01-16 Apple Inc. Multi-command single utterance input method
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
WO2016006764A1 (en) * 2014-07-08 2016-01-14 Lg Electronics Inc. Digital image processing apparatus and system and control method thereof
KR20160005899A (ko) 2014-07-08 2016-01-18 엘지전자 주식회사 디지털 이미지 처리 장치, 시스템 및 제어 방법
KR102354582B1 (ko) * 2014-08-12 2022-01-24 삼성전자 주식회사 전자 장치의 동작 방법 및 장치
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US10223344B2 (en) 2015-01-26 2019-03-05 Adobe Inc. Recognition and population of form fields in an electronic document
US10200893B2 (en) * 2015-02-24 2019-02-05 CENX, Inc. Systems and methods for providing visualization of a telecommunications network topology
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
RU2602789C2 (ru) * 2015-03-11 2016-11-20 Общество с Ограниченной Ответственностью "Научно-Производственная фирма "Беркут" (ООО "НПФ "Беркут") Система и способ автоматического заполнения электронных форм
US9710157B2 (en) * 2015-03-12 2017-07-18 Lenovo (Singapore) Pte. Ltd. Removing connective strokes
US9965569B2 (en) 2015-03-13 2018-05-08 Microsoft Technology Licensing, Llc Truncated autosuggest on a touchscreen computing device
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US20160335239A1 (en) * 2015-05-13 2016-11-17 Union Pacific Railroad Company Intelligent system and method of completing a form using a device
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10740547B2 (en) * 2015-10-27 2020-08-11 Allscripts Software, Llc Managing data relationships of customizable forms
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US20170285932A1 (en) * 2016-03-29 2017-10-05 Microsoft Technology Licensing, Llc Ink Input for Browser Navigation
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US11354503B2 (en) * 2017-07-27 2022-06-07 Samsung Electronics Co., Ltd. Method for automatically providing gesture-based auto-complete suggestions and electronic device thereof
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10489642B2 (en) * 2017-10-12 2019-11-26 Cisco Technology, Inc. Handwriting auto-complete function
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11972201B2 (en) 2018-10-05 2024-04-30 Adobe Inc. Facilitating auto-completion of electronic forms with hierarchical entity data models
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11270104B2 (en) 2020-01-13 2022-03-08 Apple Inc. Spatial and temporal sequence-to-sequence modeling for handwriting recognition
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
KR20220088166A (ko) * 2020-12-18 2022-06-27 삼성전자주식회사 복수의 사용자 환경에서 필기 입력 인식 방법 및 장치

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3167500B2 (ja) * 1993-05-19 2001-05-21 富士通株式会社 手書き情報入力処理方式
US5367453A (en) 1993-08-02 1994-11-22 Apple Computer, Inc. Method and apparatus for correcting words
JPH07225663A (ja) * 1994-02-09 1995-08-22 Fujitsu Ltd 手書情報入力装置
JPH0816313A (ja) * 1994-07-04 1996-01-19 Sanyo Electric Co Ltd 手書き入力方法及び装置
US5666438A (en) * 1994-07-29 1997-09-09 Apple Computer, Inc. Method and apparatus for recognizing handwriting of different users of a pen-based computer system
US5768616A (en) * 1995-12-13 1998-06-16 Symbios, Inc. Apparatus for detecting electro-magnetic stylus signals by inducing current into a plurality of sensor coils using signals transmitted by the tranmitter coil of the stylus
JP3275704B2 (ja) * 1996-05-21 2002-04-22 株式会社日立製作所 入力文字列推測認識装置
US5881169A (en) 1996-09-13 1999-03-09 Ericsson Inc. Apparatus and method for presenting and gathering text entries in a pen-based input device
US6377965B1 (en) * 1997-11-07 2002-04-23 Microsoft Corporation Automatic word completion system for partially entered data
CN1152296C (zh) 1998-04-30 2004-06-02 C技术公司 输入单元及其使用方法和输入系统
US7116310B1 (en) * 1999-04-06 2006-10-03 Microsoft Corporation Application programming interface that maps input device controls to software actions
US6766069B1 (en) * 1999-12-21 2004-07-20 Xerox Corporation Text selection from images of documents using auto-completion
CN1235126C (zh) * 2000-12-04 2006-01-04 特科2000国际有限公司 计算机定位设备
US20020129256A1 (en) 2001-03-07 2002-09-12 Diebold, Incorporated Automated transaction machine digital signature system and method
US7039234B2 (en) * 2001-07-19 2006-05-02 Microsoft Corporation Electronic ink as a software object
US6820075B2 (en) 2001-08-13 2004-11-16 Xerox Corporation Document-centric system with auto-completion
US6986106B2 (en) 2002-05-13 2006-01-10 Microsoft Corporation Correction widget
JP4312429B2 (ja) * 2002-07-09 2009-08-12 シャープ株式会社 手書き入力装置および方法、手書き入力プログラム、並びに、プログラム記録媒体
US7137076B2 (en) * 2002-07-30 2006-11-14 Microsoft Corporation Correcting recognition results associated with user input
JP4145603B2 (ja) * 2002-08-05 2008-09-03 富士通株式会社 文字列入力装置及び方法
US7185271B2 (en) * 2002-08-20 2007-02-27 Hewlett-Packard Development Company, L.P. Methods and systems for implementing auto-complete in a web page
US7506271B2 (en) 2003-12-15 2009-03-17 Microsoft Corporation Multi-modal handwriting recognition correction
US7970812B2 (en) * 2005-03-17 2011-06-28 Microsoft Corporation Redistribution of space between text segments
US7561145B2 (en) * 2005-03-18 2009-07-14 Microsoft Corporation Systems, methods, and computer-readable media for invoking an electronic ink or handwriting interface

Also Published As

Publication number Publication date
EP1872236A2 (en) 2008-01-02
JP2008537270A (ja) 2008-09-11
CN101164054A (zh) 2008-04-16
MX2007013115A (es) 2008-01-14
WO2006116145A2 (en) 2006-11-02
US20060282575A1 (en) 2006-12-14
CN101164054B (zh) 2010-06-23
EP1872236A4 (en) 2009-09-09
KR20070122222A (ko) 2007-12-28
RU2007138952A (ru) 2009-04-27
RU2412470C2 (ru) 2011-02-20
WO2006116145A3 (en) 2007-06-28
US7996589B2 (en) 2011-08-09
BRPI0610291A2 (pt) 2010-06-08

Similar Documents

Publication Publication Date Title
JP5243240B2 (ja) 自動提案リスト及び手書き入力
KR101014075B1 (ko) 박스 및 라인 입력 패널
US7986307B2 (en) Mechanism for allowing applications to filter out or opt into tablet input
US9013438B2 (en) Touch input data handling
US9606989B2 (en) Multiple input language selection
JP7105695B2 (ja) デジタルインク対話性のためのシステムおよび方法
US20060267958A1 (en) Touch Input Programmatical Interfaces
US20050183029A1 (en) Glom widget
JP2003345507A (ja) ライトエニウェアツール
US11526659B2 (en) Converting text to digital ink
WO2022197442A1 (en) Submitting questions using digital ink
US11875543B2 (en) Duplicating and aggregating digital ink instances
JP4868830B2 (ja) コンテクスト・ツリーにおける分析代替案
US11372486B1 (en) Setting digital pen input mode using tilt angle
JP6655331B2 (ja) 電子機器及び方法
US8294665B1 (en) Area-based data entry

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090311

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120614

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130404

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5243240

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250