JP2016502137A - Unified framework for device configuration, interaction and control, and related methods, devices and systems - Google Patents
Unified framework for device configuration, interaction and control, and related methods, devices and systems Download PDFInfo
- Publication number
- JP2016502137A JP2016502137A JP2015542762A JP2015542762A JP2016502137A JP 2016502137 A JP2016502137 A JP 2016502137A JP 2015542762 A JP2015542762 A JP 2015542762A JP 2015542762 A JP2015542762 A JP 2015542762A JP 2016502137 A JP2016502137 A JP 2016502137A
- Authority
- JP
- Japan
- Prior art keywords
- user
- information
- mechanisms
- speech
- devices
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
デバイスを動作させる方法は、デバイスの周囲の環境からのセンサ情報をバッファリングされたセンサ情報としてバッファリングする段階と、環境において人の視線を検出する段階と、検出された視線に基づいて、バッファリングされたセンサ情報を含むいくつかのセンサ情報の認識を開始する段階であり、上記認識はバッファリングされたセンサ情報を含むセンサ情報中の少なくとも1つの命令を決定する段階と、少なくとも1つの命令に基づいてデバイスを動作させる段階と、を含む。A method of operating a device includes: buffering sensor information from an environment surrounding the device as buffered sensor information; detecting a person's line of sight in the environment; and buffering based on the detected line of sight. Starting recognition of some sensor information including ringed sensor information, wherein the recognition determines at least one instruction in the sensor information including buffered sensor information; and at least one instruction Operating the device based on
Description
[著作権声明]
本特許文献は著作権保護を受ける内容を含む。著作権の保有者は、本特許文献または米国特許商標局のファイルにおけるいかなる関連資料の複製に対しても異議を唱えるものではないが、さもなければいかなる理由があろうとも全ての著作権を保有する。
[Copyright Statement]
This patent document contains content that is subject to copyright protection. The copyright holder does not object to the reproduction of any relevant material in this patent document or US Patent and Trademark Office file, but otherwise retains all copyrights for any reason. To do.
[関連出願]
本願は2012年11月16日出願の、「Unified Framework For Device Configuration, Interaction And Control, And Associated Methods, Devices And Systems」と題する米国仮特許出願第61/727,217号の優先権を主張し、その両方の内容全体は全ての目的のために参照によって本明細書に完全に組み込まれる。
[Related applications]
The present application is filed on November 16, 2012, "Unified Framework For Device Configuration, Interaction And Control, And Associated Methods, Patents and Seventeenth Patent Application No. 27 / Applications and Systems 27". The entire contents of both are hereby fully incorporated by reference for all purposes.
本発明はデバイス設定、対話および制御のための統一フレームワーク、および関連する複数の方法、複数のデバイス、および複数のシステムに関する。 The present invention relates to a unified framework for device configuration, interaction and control, and related methods, devices, and systems.
コンピュータベースの複数のデバイス、特に、消費者コンピュータベースの複数のデバイスはユビキタスである。これらのデバイスは一般的に、互いに独立して設計および製造され、それらが互いに対話できる、または互いを使用できる限り、そうすべく、臨時のまたは標準化された複数の技術を用いようと試みる傾向にある。結果的に、消費者らが複数の異なるデバイスを共に用いようと試みる場合は、たとえ同一のベンダがその複数のデバイスを作成する場合でも、彼らは、彼らが取得する複数のデバイスのための複雑なセットアップ手順を実行するよう強いられることが多い。複数のシングル、スタンドアローンデバイスについてでさえも、セットアップ手順は一般的に複雑である。いくつかの企業は、彼ら自身のデバイスの使用を簡略化しようと試みてきたが、複数の他企業の複数のデバイスについてはそうではない。 Computer-based devices, particularly consumer computer-based devices, are ubiquitous. These devices are generally designed and manufactured independently of each other and tend to attempt to use ad hoc or standardized techniques to do so as long as they can interact with each other or use each other is there. As a result, if consumers attempt to use multiple different devices together, even if the same vendor creates the multiple devices, they will be complex for the multiple devices they acquire. Often it is forced to perform a complicated setup procedure. Even for multiple single, stand-alone devices, the setup procedure is generally complex. Some companies have attempted to simplify the use of their own devices, but not for devices from other companies.
複数のデバイスが容易にプロビジョニングされ、設定され、融合されうるシステム/フレームワークを提供することが望ましく、本発明の目的である。 It is desirable and an object of the present invention to provide a system / framework in which multiple devices can be easily provisioned, configured and fused.
複数の異なるタイプのデバイスと複数の異なるユーザが対話できるシステム/フレームワークを提供することが更に望ましく、本発明の目的である。 It is further desirable and an object of the present invention to provide a system / framework that allows multiple different types of devices to interact with multiple different users.
複数のデバイス内にコアシステムを提供し、互いの、および、共通フレームワークとの、それらの対話をサポートすることが更に望ましく、本発明の目的である。 It is further desirable and object of the present invention to provide a core system in multiple devices to support their interaction with each other and with a common framework.
本願発明の他の複数の目的、複数の特徴、および複数の特性、ならびに、動作の複数の方法および構造の関連する複数の要素の複数の機能、および複数の部分の組み合わせおよび製造の効率が、その全てが本明細書の一部を形成する添付の複数の図面を参照し、以下の説明および添付の特許請求を考慮すれば明らかになるであろう。 Other objectives, features, and characteristics of the present invention, as well as multiple functions of related elements of multiple methods and structures of operation, and combinations of parts and efficiency of manufacture, All of which will become apparent upon consideration of the following description and appended claims, taken in conjunction with the accompanying drawings, which form a part hereof.
「M」という用語は、説明されるシステム、複数のデバイス、複数の処理、複数の対話等の名称として本明細書において用いられる。この名称は説明を補助すべく用いられているだけであり、システムの範囲を限定する意図は全くないということが理解されるべきである。 The term “M” is used herein as the name of the described system, multiple devices, multiple processes, multiple interactions, etc. It should be understood that this name is only used to aid the description and is not intended to limit the scope of the system at all.
図1は、複数のM対応型デバイス(102−1、102−2、...102−n、集合的に102)が用いられている例示的なMシステム100のためのフレームワーク/システムを示している。M対応型デバイス(すなわちMデバイス)102は、任意のデバイスおよび任意の種類のデバイスであり得て、スタンドアローンデバイスでありうる、または、任意の種類のデバイスまたはシステムに統合されうる、またはそれに組み合わされうる。例えば、M対応型デバイス102は、限定はしないが、コンテンツ(デジタルまたはアナログコンテンツを含む)をキャプチャおよび/または作成するデバイス、コンテンツ(再び、デジタルおよび/またはアナログコンテンツを含む)を生成および/またはレンダリングするデバイス、でありうる。M対応型デバイスは、例えば、カメラ、スピーカ、コンピュータ、電話、セットトップボックス、テレビ、電気器具、等でありうる(または、これらに組み込まれうる)。これらのデバイスの組み合わせはまた、例えば、カメラおよびスピーカおよびテレビモニタを含むセットトップボックスが考えられ、コンピュータは1または複数のM対応型デバイスでありうる。デバイス102に対してここで与えられる複数の例は、単に例示的なものであり、限定することは全く意図していないということが理解されるべきである。複数のM対応型デバイス(すなわち、Mデバイス)102は、以下でより詳細に説明される。
FIG. 1 shows a framework / system for an
システム100は好ましくは、公開キーインフラストラクチャ(PKI)方式(図示せず)で、複数の認証機関のより大きな集合体または階層の一部でありうる1または複数の認証機関(CA)106を含むか、またはアクセスする。各CA106はシステム100のため、またはシステム100に代わってデジタル証明書を発行するエンティティである。
複数のM対応型デバイス102は好ましくは、(少なくとも部分的に)1または複数の認可デバイスメーカ108によって製造される。図1の複数のデバイス102は、複数の異なるメーカによって製造された複数の異なるタイプのデバイスでありうる、ということが理解されるべきである。
The plurality of M-enabled
複数のM対応型デバイス102は、互いに、およびバックエンドシステム104と、対話しうる。複数の異なるタイプのデバイスは、互いに対話しうる(例えば、モバイルフォンにおいて具現化されたMデバイスはスピーカにおいて具現化された別のMデバイスと対話しうる)、ということが理解されるべきである。
Multiple M-enabled
複数のM対応型デバイス102はそれぞれユーザ110に関連付けられる。特定のユーザ110は、それに関連付けられる複数のデバイス102を有しうる。いくつかの実装形態において、各デバイス102は1人のユーザ110だけに関連付けられうる。「ユーザ」という用語はシステム100内の内部のエンティティであり、システム100内の複数のデバイスの間の結び付きを定義すべく用いられる、ということが理解されるべきである。ユーザ110は、システム100内で特定の関係を有するエンティティであると見做されうる。そのエンティティは、人、または人々のグループ、または任意の他の種類のエンティティ(例えば、企業、学校、クラブ、等)に対応しうる。好適な実装形態において、ユーザ110はシステムに登録されたエンティティである。特定の人(またはエンティティ)は2人以上のユーザ110に対応しうる。例えば、人はシステム100内で2人のユーザ110を有することを選択しうる。
Each of the plurality of M-
バックエンド104は1または複数のバックエンドアプリケーション112を備え、そのうちの少なくともいくつかは、複数のデバイス102および複数のユーザ110についての情報を格納および維持する1または複数のデータベース114と対話する。バックエンド104はまた、複数のソーシャルネットワーキングサービス116(フェイスブック(登録商標)、LinkedIn(登録商標)、および同類のものなどの)および複数のコンテンツプロバイダ118(RDIOおよび同類のものなどの)を含む、様々な他のエンティティと対話しうる。複数のソーシャルネットワーキングサービス116は複数のコンテンツプロバイダ118とは分離して示されているが、これらのエンティティ間でいくつかの重複がありうる、ということが理解されるべきである。バックエンド104は、複数のユーザ110に(または複数のデバイス102に)追加機能を提供できる複数のエンティティ120と対話しうる。追加機能は、例えば、音声または命令認識機能、顔認識、および同類のもの、を含みうる。バックエンド104はまた、他の種々の外部コンポーネント122と対話しうる。
The backend 104 includes one or
追加機能は、複数のデバイス上に提供されるものに加えて機能を提供すべく、いくつかまたは全てのデバイス102上に提供される機能を提供する、または高める、または向上させうる。追加機能120は、例えば、デバイス120のハードウェア能力を超える機能を提供すべく用いられうる。従って、例えば、以下でより詳細に説明されるように、追加機能120は特定のデバイス102上に提供されるものを超える(または、特定のデバイス102のハードウェアを用いて可能であるものを超える)音声認識を提供しうる。実際には、追加機能120は、少なくとも部分的に、任意の特定のM対応型デバイス102の機能を拡張すべく用いられうる。
Additional functionality may provide, enhance, or enhance functionality provided on some or all
複数のエンティティ120によって提供される機能のいくつかまたは全ては、バックエンド104に(または複数のバックエンドアプリケーション112に)統合されうる、ということが理解されるべきである。
It should be understood that some or all of the functionality provided by
複数の図面における複数のコンポーネントの分離によって、所有権または管理または制御がないこと(またはそれらの欠如)が暗示される、ということもまた理解されるべきである。従って、例えば、CA104が、バックエンド104を管理する同一エンティティによって所有または管理される(または所有されない)必要はない。同様に、複数のソーシャルネットワーキングサービス116および/または複数のコンテンツプロバイダ118および/または追加機能120を提供する複数のエンティティは別個に所有され管理される(または、それらが共に所有され管理される)必要はない。システム100のいくつかまたは全ては、ソーシャルネットワーキングサービス116および/またはコンテンツプロバイダ118に統合されうる。
システムおよびコンポーネントの複数の対話
It should also be understood that the separation of multiple components in multiple drawings implies no (or lack of) ownership or control or control. Thus, for example, the CA 104 need not be owned or managed (or not owned) by the same entity that manages the back end 104. Similarly, multiple
Multiple system and component interactions
様々なコンポーネント間で様々な対話がシステム100において行われうる。図1において、これらの対話は番号を付した複数の弧線または複数の直線(1から15と示される)によって示される。図1において描かれるシステム100において、
弧線#1は2つのデバイス102の間の複数の対話を指す。
弧線#2はデバイスメーカ108と複数のデバイス102との間の複数の対話を指す。
弧線#3はCA106と複数のデバイス102との間の複数の対話を指す。
弧線#4はCA106と複数のユーザ110との間の複数の対話を指す。
弧線#5は複数のユーザ110とバックエンド104との間の複数の対話を指す。
弧線#6はCA106とバックエンド104との間の複数の対話を指す。
弧線#7は複数のデバイス102とバックエンド104との間の複数の対話を指す。
弧線#8はバックエンドとデータベース114との間の複数の対話を指す。
弧線#9はバックエンドと複数のソーシャルネットワーキングサービス116との間の複数の対話を指す。
弧線#10はバックエンドとコンテンツプロバイダ118との間の複数の対話を指す。
弧線#11はバックエンド104と追加機能を提供する複数のエンティティ120との間の複数の対話を指す。
弧線#12はバックエンド104と他の種々の外部コンポーネント122との間の複数の対話を指す。
弧線#13はデバイスメーカ108とバックエンド104との間の複数の対話を指す。
弧線#14は複数のデバイス102と複数のユーザ110との間の複数の対話を指す。
弧線#15はCA106とデバイスメーカ108との間の複数の対話を指す。
Various interactions between various components can occur in the
Arc line # 1 refers to multiple interactions between the two
Arc line # 2 refers to multiple interactions between
Arc line # 4 refers to multiple interactions between
Arc line # 5 refers to multiple interactions between
Arc line # 7 refers to multiple interactions between
Arc line # 9 refers to multiple interactions between the backend and multiple social networking services 116.
ここで説明される様々な対話は任意の既知の方法およびプロトコルを用いて行われ得て、有線、無線、またはそれらの任意の組み合わせでありうる。いくつかの対話は、少なくとも部分的には、ネットワーク101(例えば、インターネットなどのパケットベースのネットワーク)を介して行われうる。ネットワーク101は公衆ネットワークまたはプライベートネットワーク、またはそれらのいくつかの組み合わせでありうる。ネットワークは1または複数のセルラー方式の、および/または衛星を用いたコンポーネントを含みうる。様々なコンポーネントがそれを通じて対話する通信媒体または複数の通信プロトコルはシステムを限定しない、ということが理解されるべきである。
The various interactions described herein can be performed using any known method and protocol and can be wired, wireless, or any combination thereof. Some interactions may occur at least in part via the network 101 (eg, a packet-based network such as the Internet).
バックエンド104と様々な他のコンポーネントまたはエンティティ(例えば、複数のCA106、複数のソーシャルネットワーキングサービス116、コンテンツプロバイダ118、デバイスメーカ108、追加機能を提供する複数のエンティティ120、および他の種々の外部コンポーネント122)との間の複数の対話は、複数のアプリケーションプログラムインターフェース(API)、またはそれらのコンポーネントまたはエンティティの他の複数のインターフェースを使用しうる。いくつかの実施形態において、バックエンド104は他の複数のコンポーネントのいくつかまたは全てに統合されうる。バックエンドが任意の他の複数のコンポーネントと通信するやり方はシステム100の限定を全く意図しないということが理解されるべきであり、通信の複数の異なるモードおよび複数のやり方が本明細書において考えられる。さらに、バックエンド104と任意の他の複数のコンポーネントとの間の統合の程度(またはその欠如)はシステム100の限定を全く意図せず、統合の、複数の異なるモード、複数のやり方、および複数の程度が本明細書において考えられる。
Back end 104 and various other components or entities (eg,
上述の通り、様々な対話および通信が任意の既知の方法およびプロトコルを用いて行われうるが、複数のデバイス間対話(図1における弧線#1)は好ましくは、最も速く、最も安価な複数の通信技術−利用できるならば、一般的にはローカル(例えば、Bluetooth(登録商標)および同類のもの、またはローカルネットワーク上のWi−Fi)を用いて、好ましくは、他の複数のネットワークを介した通信は回避する。 As described above, various interactions and communications can be performed using any known method and protocol, but multiple device interactions (arc # 1 in FIG. 1) are preferably the fastest and cheapest multiple Communication technology-if available, generally using local (eg, Bluetooth® and the like, or Wi-Fi on local network), preferably via other networks Avoid communication.
この説明を読むと当業者は気付き理解するであろうように、異なるおよび/または他の複数の対話がシステムにおいて可能であり、図面から省略されることで排除されるものではない。従って、様々なエンティティは他の複数の対話(図面には示されない)を有し、さらには、システム100の全ての実装形態が図面に示される全ての対話をサポートする必要はない、ということが理解されるべきである。
複数のユーザID
As will be appreciated and understood by those skilled in the art upon reading this description, different and / or other interactions are possible in the system and are not excluded by omission from the drawings. Thus, various entities have multiple other interactions (not shown in the drawing), and further, not all implementations of the
Multiple user IDs
各ユーザ110はシステム100内で少なくとも1つの固有のユーザ識別情報(ID)を有さなくてはならない。ユーザのユーザIDはそのユーザのソーシャルネットワークID(例えば、彼らのフェイスブック(登録商標)ID)に基づくか、または、これから得られうる。図2を参照すると、ユーザのユーザIDはCA106によって発行されるユーザ証明書175の形でアサートされうる。デバイスCA124およびユーザCA126は同一のエンティティである、ということが理解されるべきであるが、CA106は、1または複数のデバイスCA124(図6Bに示される)および1または複数のユーザCA126(図2に示される)を含みうる。CA106が複数のユーザCA126を含む場合、 ユーザのユーザ証明書175は好ましくは、 登録処理または同類のものの間にバックエンドによって提供される。
Each
ユーザ証明書175は、ユーザのデバイス174(例えば、スマートフォン、M技術によって可能にされるスマートデバイス、または同類のもの)において、そのような複数の証明書およびユーザ識別情報のための場所176に格納されうる。
ユーザの複数の友人
The user certificate 175 is stored in a
User's multiple friends
システム100内で、ユーザ110はシステム100において1または複数の友人を有しうる。システム100内のユーザの友人は、第1のユーザがシステム100を介して関係を確立した別のユーザ110である。関係は様々なやり方で、例えば、互いのデバイス102と共有または対話することによって、確立されうる。ユーザはそのユーザの複数の友人と複数の許可を確立しうる。複数の許可は、例えば、ユーザに関連付けられるデバイス102のタイプに依存し得て、友人によって異なりうる。
Within
システム100内での別のユーザとのユーザの「友人」関係は、限定された範囲にあり得て、例えば、複数の許可によって決定されうる。友情関係の範囲は、友情関係の様々な態様、例えば、システム内での友人関係の継続時間、システム内での友人の複数の権利、等、を限定すべく用いられうる。
A user's “friend” relationship with another user within the
システム100内のユーザの複数の友人は、重複はありうるが、ユーザのソーシャルネットワークの複数の友人(例えば、ユーザのフェイスブック(登録商標)の複数の友人)と区別されうる。例えば、ユーザのユーザIDがそのユーザのソーシャルネットワークID(例えば、彼らのフェイスブック(登録商標)ID)に基づく、または、それから得られる場合、ユーザのソーシャルネットワークの複数の友人は、システム100におけるユーザの複数の友人と重複しうる。
The user's friends in the
システムは、複数のユーザが他の複数のユーザと「友人」関係を確立できるやり方によって、全く限定されない、ということが理解されるべきである。友人というシステム概念は、システム100の外部で実際の複数の友情関係または他の複数の関係と、何ら関係を有する必要はなく、システム内での友人関係は、システム100内での関連付けおよび結び付けを行うべく用いられる、ということもまた理解されるべきである。
複数のデバイスID
It should be understood that the system is in no way limited by the manner in which multiple users can establish “friend” relationships with other multiple users. The friend system concept need not have any relationship with the actual friendship relationships or other relationships outside the
Multiple device IDs
各デバイス102はシステム100内で固有でなければならないデバイス識別情報(ID)を有する。複数のデバイスIDの作成および格納は以下でより詳細に議論される。
複数のデータベース
Each
Multiple databases
図3Aを参照すると、バックエンド104は、1または複数のデータベース114と対話する1または複数のアプリケーションを含むバックエンドアプリケーション112を含む。データベース114は、デバイスデータベース128およびユーザデータベース130を含み、それぞれ、複数のデバイス102および複数のユーザ110についての情報を格納および維持する。
Referring to FIG. 3A, the backend 104 includes a
複数のデータベースは任意の種類のデータベース技術を用い得て、特定のデータベース実装はここでは説明されないか、または必要とされず、システム100はデータベース実装によっては全く限定されない、ということが理解されるべきである。いくつかの場合において、データベース実装のいくつかまたは全ては第三者の複数のデータベースを用いうる。ユーザデータベース130およびデバイスデータベース128は統合されうるか、または複数の異なる、おそらくは分散されたデータベースから構成されうることもまた理解されるべきである。
デバイスデータベース128
It should be understood that the multiple databases may use any type of database technology, the particular database implementation is not described or required here, and the
図3Aおよび図3Bに示されるように、データベース114は、デバイスの所有者(ユーザ110)、デバイスの複数の機能、デバイスの履歴についての情報、および、例えば、デバイスの最後の既知の位置、デバイスのメーカ等、などの他の情報を含む、システム100内での各デバイス102についての情報を(デバイスデータベース128において)維持しうる。好ましくは、デバイスIDはデバイスデータベース128へのキー(またはインデックス)として用いられる。デバイス102が製造されるとき、それは所有者をもたない(製造において具体的にプロビジョニングされない限り)。デバイスの複数の機能はそのタイプを含みうる(例えば、スピーカ、等)。「所有」および「所有者」という用語は、ユーザによるデバイスの所有権の何らかの法律的概念を暗示する、または必要とすべくここで用いられるのではなく、それらはシステム100内での複数のデバイス102と複数のユーザ110との間の関連または結び付きを指す、ということが理解されるべきである。
As shown in FIGS. 3A and 3B, the
デバイスデータベース128は各デバイスに対してデバイスの複数のコーパスを含みうる。以下でより詳細に説明されるように、デバイスの複数のコーパスはデバイス上に格納される複数のコーパスに対応し得て、デバイスまたはデバイスの複数のユーザによって用いられ得る。
ユーザデータベース130
好ましくは、ユーザIDはユーザデータベース130のデータベースのプライマリキーとしてふるまう。ユーザデータベース130は好ましくは、(図3Cを参照して)以下のもののうちの1または複数を含む特定の情報を各ユーザ110に関連付ける。
・そのユーザについての情報を記述するユーザプロファイル。ユーザプロファイルは、ユーザのソーシャルネットワークデータ(例えば、ユーザのフェイスブック(登録商標)プロファイル)にリンクされうる、またはユーザのソーシャルネットワークデータから情報を取得しうる。ユーザプロファイルはまた、例えば、RDIO等などの、ユーザが関連付けられる(すなわち、複数のアカウントを有する)複数のコンテンツプロバイダについての情報を含みうる。
・ユーザの複数のデバイス102、および任意で、それらのデバイスについての情報(例えば、デバイスの複数の機能)。この説明を読むと当業者は気付き理解するであろうように、ユーザデータベース130中のいくつかの情報はデバイスデータベース128から得られ得て、逆のことも言える。例えば、ユーザデータベース130が各ユーザの複数のデバイスに対する複数のデバイス識別子を格納する場合、それらのデバイス識別子は、対応する複数のデバイスに対するデバイス固有情報をデバイスデータベース128から取得すべく用いられることができる。
・システム100内でのユーザの複数の「友人」、および、おそらくは、それらの友人に関連付けられる複数の許可。好適な複数の実装形態において、システム内のユーザの複数の「友人」は、他の複数のユーザ110であり、ユーザの複数の友人それぞれについての情報がゼロまたは1以上のユーザIDのリストとしてユーザデータベース130内に格納されうる。複数のユーザは各友人に対してカスタマイズされた複数の許可を設定できうる。いくつかの実施形態において、複数のユーザは、複数の友人の複数のクラスまたは複数のグループまたは複数のタイプを定義または用いることができ得て、分類またはグループまたはタイプに基づき複数の許可を割り当てうる。このように、ユーザは、1または複数のユーザに対する複数の許可を迅速に設定または変更すべく、テンプレートまたは同類のものを使用できうる。複数のユーザが彼らの友人たちを選択する、または、彼らの友人たちに対する複数の許可を設定するやり方によってシステムは限定されない、ということが理解されるべきである。複数のユーザはまた、複数の友人として他の複数のユーザを排除しうる。
・好ましくは、デバイス102と、友人(すなわち、履歴の検索のための複数のキーとして1または複数のデバイス、または友人を用いる)と、時間と、のうちの1または複数によって格納される、または検索可能なユーザの履歴。デバイス履歴はユーザの複数のデバイスのそれぞれに関する複数のタイムスタンプ付きイベントのシーケンスでありうる。例えば、特定のデバイス102がスピーカである場合、そのデバイスの履歴は、そのスピーカで何が再生されたかのタイムスタンプ付きリストでありうる。複数の友人に関するユーザの履歴は、ユーザのデバイスがユーザの友人のデバイスと対話した(または、ユーザの友人のデバイスによって用いられた)(および/または逆のことも言える)複数の時間及び複数の位置を含みうる。複数の種類の検索されうる履歴の詳細についてここで与えられる複数の例は、この説明の範囲を限定することを全く意図せず、この説明を読むと当業者は気付き理解するであろうように、異なるおよび/または他の情報および/または複数の要因が、ユーザの履歴を検索すべく用いられうる。
・ユーザの複数のID及び複数の証明書(ユーザCA126によって発行されるものを含む)。
・様々なデバイスインターフェース機構に関するユーザの複数のコーパス(以下でより詳細に説明される)。ユーザの複数のコーパスは好ましくは複数のローカルコーパス及び複数の拡張コーパスを含む。以下でより詳細に説明されるように、ユーザの複数のローカルコーパスは、1または複数のデバイス上のそのユーザの複数のコーパスに対応し得て、ユーザの制御の下にある場合は複数のデバイスによって用いられうる。ユーザの複数の拡張コーパスは、いくつかまたは全てのデバイス102の容量を超えて拡張し得て、追加機能120によって用いられうるそのユーザの複数のコーパスに対応しうる。
・好ましくは、ユーザの複数のデバイスについての設定の詳細を含む設定情報、および他の(例えば、新しい)複数のデバイスを設定すべく用いられうる情報。設定情報は、様々な位置におけるユーザの無線ネットワークの複数の設定についての情報を含み、その情報は、複数のパスワード、およびそれらのネットワークに接続するためにデバイスにとって必要とされうる他の情報を含む。
Preferably, the user ID acts as the primary key for the
A user profile that describes information about the user. The user profile may be linked to the user's social network data (eg, the user's Facebook® profile) or may obtain information from the user's social network data. The user profile may also include information about multiple content providers with which the user is associated (ie, having multiple accounts), such as, for example, RDIO.
The user's
Multiple "friends" of the user within the
Preferably stored by one or more of
User IDs and certificates (including those issued by user CA 126).
• Multiple corpora of users for various device interface mechanisms (described in more detail below). The user's plurality of corpora preferably includes a plurality of local corpora and a plurality of extended corpora. As described in more detail below, a user's multiple corpora may correspond to that user's multiple corpora on one or more devices, and multiple devices if under the user's control Can be used. A user's multiple corpora may extend beyond the capacity of some or all of the
Preferably, configuration information including configuration details for the user's devices and information that can be used to configure other (eg, new) devices. The configuration information includes information about multiple settings of the user's wireless network at various locations, which information includes multiple passwords and other information that may be required for the device to connect to those networks. .
この説明を読むと当業者は気付き理解するであろうように、異なるおよび/または他の情報、複数の関連、および複数の関係はデバイスデータベース128およびユーザデータベース130に格納されうる。
複数のデバイス
As those skilled in the art will appreciate upon reading this description, different and / or other information, associations, and relationships may be stored in the
Multiple devices
各デバイス102はそれに関連付けられられる特定のデバイス固有の機能/複数のコンポーネントを有する。例えば、デバイス102がスピーカ(またはカメラまたは電話または同類のもの)である場合、デバイス固有の機能/複数のコンポーネントは、スピーカ(またはカメラまたは電話等)としてデバイスを動作させるべく用いられる機能/複数のコンポーネントを含むであろう。ここで図4Aを参照すると、デバイス102は、デバイスのデバイス固有の機能/複数のコンポーネントをサポートする複数の機構132を含む。
Each
本明細書において用いられるように、「機構」という用語は、単独のハードウェアまたはソフトウェアとの組み合わせのハードウェアを意味し、ファームウェアを含む。 As used herein, the term “mechanism” means hardware in combination with a single piece of hardware or software and includes firmware.
デバイス102はまた、システム100内で機能をサポートおよび実装すべく用いられる様々なMのシステム機構/データ134を含む。複数のシステム機構/データ134は好ましくは、デバイス固有の機能132とは別個であるのよいが、複数のシステム機構/データ134はデバイスのデバイス固有の機能132と(136において)対話しうる。
デバイス102は好ましくは、システム機能の複数の態様を実装すべく複数のシステム機構134によって用いられうる1または複数のセンサ138を含む。本明細書において用いられるように、「センサ」は、物理的特性または刺激(例えば、熱、光、音、圧力、磁気、動き、タッチ、静電容量)を検知および/または測定できる任意の機構またはデバイスを意味する。センサは好ましくは、それが検知/測定する特性または刺激の指標(例えば、電気信号として)を提供する。センサはまた、それが検知/測定する物理的特性または刺激を記録、表示、あるいはそれに応答できうる。センサは、ハードウェア、ソフトウェア、またはそれらの複数の組み合わせにおいて実装されうる。センサはスタンドアローンデバイスまたはチップとして提供されうるか、または他の複数のデバイス(または複数のセンサ)または複数のチップに統合されうる。特定の複数のセンサ138は、少なくとも部分的に、複数の専用チップまたは回路、または同類のものを用いて実装されうる。この説明を読むと当業者は気付き理解するであろうように、システムは、複数のセンサが実装される、または統合されるやり方によっては全く限定されない。特定のセンサが2つ以上の種類の物理的特性または刺激を検知および/または測定しうる、ということもまた理解されるべきである。
図4A−1を参照すると、複数のセンサ138は、例えば、1または複数のカメラ、マイク、モーションセンサ(外部の動きおよび/またはデバイスの動き)、複数の加速度計、コンパス、複数の位置測位システム(LPS)、および同類のものを含みうる。本明細書において用いられるように、LPSは一般的に、デバイスの位置を決定すべく用いられることができる任意の位置測位システムを指し、米国の全地球測位システム(GPS)およびロシアの全地球航法衛星システム(GLONASS)、欧州連合のガリレオ測位システム、中国のコンパスナビゲーションシステム、ならびにインドの地域航法衛星システムを含む。LPSはまた、位置データを提供できるWi−Fiおよび/または携帯電話システム、ならびに、例えば、Wi−Fiおよび/または携帯電話システムを用いる補助され増強された複数の測位システムを含む。ただ1つのカメラが顔およびジェスチャーの処理のために用いられうるが、必要ならば、2つ以上のカメラが三次元(3D)処理を可能にする。
4A-1, the plurality of
複数のセンサ138は、(140において)各センサに提供される複数の標準インターフェースを介して複数のシステム機構134と対話しうる。全てのデバイス102があらゆる種類のセンサ138を有する必要はなく、複数の異なる種類のデバイス(または同一種類のデバイスの複数の異なる実装)は複数の異なるセンサまたは複数種類のセンサを有しうる、ということが理解されるべきである。
デバイス102は好ましくは、システム機能の複数の態様を実装すべく、(144において)複数のシステム機構134によって用いられうる1または複数の通信機構142を含む。図4A−2を参照すると、複数の通信機構142は、例えば、ローカル通信のための複数の機構(例えば、Bluetooth Low Energy(BLE)を含むBluetooth(登録商標)、ジグビー等)と、Wi−Fi通信のための複数の機構(例えば、802.11等)と、セルラー通信のための複数の機構(例えば、複数のモデムまたは携帯電話ネットワークを用いる他の複数のデバイス等)と、有線通信のための複数の機構(例えば、Ethernet(登録商標)または同類のもの)と、のうちの1または複数を含みうる。複数の通信機構142はプロトコル固有の複数のチップまたは同類のものにおいて実装されうる。全てのデバイス102があらゆる種類の通信機構142を有する必要はなく、複数の異なる種類のデバイス(または同一種類のデバイスの複数の異なる実装)は複数の異なるセンサまたは複数の種類の通信機構を有しうる、ということが理解されるべきである。しかしながら、最低限、各デバイス102は、少なくとも幾ばくかの時間、何らかのやり方によって(携帯/電話ネットワークによって、Wi−Fiによって、有線によって、または何か他のやり方によって、を問わず)、バックエンド104と通信可能であるべきである(図1における弧線#7)。また、好ましくは各デバイス102は、それがシステム100の他の複数のデバイス102と、少なくとも幾ばくかの時間、通信するのを可能にする少なくとも1つの通信機構を有する。各デバイスはまた、自身の様々な通信機構用に、必要とされる/適切な複数のコネクタ、および/またはアンテナを含む。これらのコネクタおよび/またはアンテナは、特に、複数の通信機構が複数の専用チップまたは複数の回路に設けられる場合、様々な通信機構に組み込まれうる。
複数のシステム機構134(あらゆる必要とされるセンサ138を含む)は別個のボードまたはチップセットとしてデバイス102に統合されうるか、または、それらはデバイス固有の機能を実装すべく用いられるデバイスの複数の機構と複数のコンポーネントを共有しうる(それらを結ぶ点線の楕円形によって示されるように)。例えば、デバイス固有の機能がマイクを必要とする場合、そのマイクはセンサ138として複数のシステム機構134と共有され(または、それらによって用いられ)うる。同様に、複数の通信機構のうちの少なくともいくつかは、複数のシステム機構134とデバイス固有の機能132との間で共有されうる(それらを結ぶ点線の楕円形によって示されるように)。しかしながら、複数のシステム機構134、複数のセンサ138、および複数の通信機構142は、複数のデバイス固有の機構とは独立して動作および制御されることが可能である必要があり、この必要性が、いくつかの実装形態において、複数のコンポーネントの共有より優先され、または共有を妨げうる、ということが理解されるべきである。
Multiple system features 134 (including any required sensors 138) can be integrated into
デバイス102は、(以下でより詳細に説明される)コンピュータシステム146を含みうる。コンピュータシステム146は複数のシステム機構134と対話し得て(148において)、それらの機構の複数の態様を実装しうる。図4Aの図面において複数の別個のコンポーネントとして示されてはいるが、コンピュータシステム146のいくつかまたは全ては、複数のシステム機構/データ134と共有される、および複数のシステム機構/データ134の一部である(それらを結ぶ点で描いた楕円形によって示されるように)、ということが理解されるべきである。同様に、コンピュータシステム146のうちの少なくともいくつかは、デバイス102のデバイス固有の機能132と重複しうる(それらを結ぶ点で描いた楕円形によって示されるように)。
デバイスのデバイス識別情報(ID)および他の識別情報、ならびに証明書情報は複数のシステム機構/データ134に格納される(150において)。
Device identification information (ID) and other identification information of the device, as well as certificate information, are stored (at 150) in multiple system features /
各デバイス102は好ましくは、複数のブートストラッピング/プロビジョニング機構152および様々な動作機構154(両方は以下でより詳細に説明される)を含む。様々な動作機構154は、デバイス上に、対応する動作ストレージ155を有する。動作ストレージ155は様々な動作機構によって用いられるデータを格納し得て、永続的な、および/または一時的な格納のために用いられうる。この説明を読むと当業者は気付き理解するであろうように、動作ストレージ155のいくつかまたは全てはデバイス上の他のストレージと統合され得て、この説明を補助すべく、動作ストレージ155は別個のコンポーネントとして図面に示される。
Each
各デバイス102は、システム機構134、コンピュータシステム146、複数のセンサ138、複数の通信142、および、デバイス固有の機能132を含むデバイスに電力を供給できる少なくとも1つの電力システム157を含む。電力システム157は、複数のコンポーネントのいくつかまたは全てに対して別個の複数のシステムを含み得て、複数のバッテリ電源を単独で、または複数の外部電源と併せて、含みうる。好ましくは複数のシステム機構は、デバイス固有の機能とは別個の電源(例えば、バッテリ)を有す。外部電源が用いられる場合(例えば、アダプタを介したA/C電力)、システムの全てのコンポーネントは、たとえそれらが外部のソースへ接続されない場合に使用するための複数の別個の内部の電力システムを有しているとしても、外部電源を用いるべきである。しかしながら、電力が複数のコンポーネントに供給されるやり方によってはシステムは限定されない、ということが理解されるべきである。
複数の動作機構
Each
Multiple operating mechanisms
図4A−図4Cを参照すると、デバイスの複数の動作機構154は以下の複数の機構のいくつかまたは全てを含みうる。
・デバイスツーデバイス対話および通信をサポートする複数の機構156(これは図1における弧線#1によって示される対話に対応する)。複数のデバイスツーデバイス対話機構156は、対応するデバイスツーデバイスストレージ169(図4C)を有し、それを用いうる。
・デバイス102のコマンドおよび/または制御のための複数の機構158。複数のコマンドおよび/または制御機構158は、対応するコマンドおよび/または制御ストレージ159(図4C)を有し、それを用いうる。
・デバイスツーバックエンド対話および通信をサポートする複数の機構160(これは図1における弧線#7によって示される対話に対応する)。複数のデバイスツーバックエンド機構160は、対応するデバイスツーバックエンドストレージ161(図4C)を有し、それを用いうる。
・システム100内でデバイスを動作させ、デバイスの他の複数の機構および機能との対話(好ましくは、ヒューマン対話を含む)をサポートすべく用いられる複数のインターフェース機構162。複数のインターフェース機構162は、対応する複数のインターフェース機構のストレージ163(図4C)を有し、それを用いうる。
・対応するストレージ165(図4C)を有し得て、それを用いうる、システム100内でデバイスを動作させるべく用いられる他の複数の動作機構164。
4A-4C, the plurality of
A plurality of
A plurality of interface mechanisms 162 that are used to operate the device within the
Other
複数のインターフェース機構162は以下のうちの1または複数を含む。
○複数のユーザのジェスチャー(例えば、複数のジェスチャーコマンド、および同類のもの)を使用する複数の動作的および/または機能的特徴を実装すべく複数の動作機構154によって用いられうる複数のジェスチャー機構166。複数のジェスチャー機構166は、ジェスチャーストレージ167を有し得て、それを用いうる。複数のジェスチャー機構166は好ましくは、1または複数のジェスチャー検出機構168および1または複数のジェスチャー認識機構170を含み、ジェスチャーストレージ167は好ましくは、様々なジェスチャー機構によって用いられるための、関連付けられる複数のジェスチャーコーパス172を含む。ジェスチャーコーパス(複数形「複数のコーパス(corpora)」)は、複数のジェスチャーを検出および/または認識すべくジェスチャー機構が利用可能な複数のジェスチャーまたは複数のジェスチャーサンプルの集合を指す。好適な複数のシステムにおいて、複数のジェスチャー検出機構168および/またはジェスチャー認識機構170は、1または複数の人々(複数のユーザでありうる)の複数のジェスチャーを検出および/または認識すべくトレーニングおよび適合され得て、関連付けられる複数のジェスチャーコーパスはこのトレーニングに基づき変更されうる。ジェスチャー機構166は、例えば、カメラセンサを含む1または複数のセンサ138を用いうる。
○人の(例えば、複数のユーザの)複数の音声(例えば、複数の音声コマンド、および同類のもののための)を使用する複数の動作的および/または機能的特徴を実装すべく複数の動作機構154によって用いられうる複数の音声/スピーチ機構174。複数の音声/スピーチ機構174は音声/スピーチストレージ175を有し得て、それを用いうる。複数の音声/スピーチ機構174は好ましくは、1または複数の音声/スピーチ検出機構176および/または音声/スピーチ認識機構178を含み、音声/スピーチストレージ175は好ましくは、様々な音声/スピーチ機構によって用いられるための関連付けられる複数のコーパス180を含む。音声/スピーチコーパスは、音声/スピーチを検出および/または認識すべく音声/スピーチ機構が利用可能な複数の単語または語句のサンプルの集合を指す。好適な複数のシステムにおいて、複数の音声/スピーチ認識機構は1または複数の人々(例えば、複数のユーザ)の音声/スピーチを認識すべくトレーニングおよび適合され得て、関連付けられる複数のスピーチコーパスはこのトレーニングに基づき変更されうる。複数の音声/スピーチ機構174は、例えば、マイクセンサを含む1または複数のセンサ138を用いうる。
○人々の複数の顔および/または複数の視線を使用する複数の動作的および/または機能的特徴を実装すべく複数の動作機構154によって用いられうる顔/視線機構182。顔/視線機構182は顔/視線ストレージ183を用いうる。顔/視線機構182は顔/視線検出機構184および/または顔/視線認識機構186および/または顔動き検出機構187を含み得て、顔/視線ストレージ183は好ましくは、顔/視線・認識/検出機構182によって用いられるための関連付けられる複数の顔/視線コーパス188を含む。顔/視線コーパスは、複数の顔および/または複数の視線を検出および/または認識すべく顔/視線機構が利用可能な顔および/または視線の複数のサンプルの集合を指す。好適な複数のシステムにおいて、複数の顔/視線・認識/検出機構182は1または複数の顔を認識すべくトレーニングおよび適合され得て、関連付けられる複数の顔/視線コーパス182はこのトレーニングに基づき変更されうる。顔動き検出機構187は顔の複数の部分の動き、例えば、口、両目等の動きを検出し得て、例えば、人が話しているということの確認を試みるべく用いられうる。顔/視線機構182は、例えば、カメラセンサを含む複数のセンサ138を用いうる。
○他の複数のタイプのユーザ対話(例えば、タッチ、タイピング、デバイスの動き等)を使用する複数の動作的および/または機能的特徴を実装すべく複数の動作機構154によって用いられうる複数の他のインターフェース機構190。複数の他のインターフェース機構190は複数の他のインターフェース機構のストレージ191を用いうる。他のインターフェース機構190は複数のセンサ138を用いうる。
The plurality of interface mechanisms 162 include one or more of the following.
O Multiple gesture mechanisms 166 that can be used by
Multiple operating mechanisms to implement multiple operational and / or functional features that use multiple human voices (eg, multiple users) (eg, multiple voice commands, and the like) A plurality of voice /
A face / line-of-sight mechanism 182 that can be used by
O Multiple others that can be used by
スピーチ、ジェスチャー、および顔/視線の認識/検出のための複数のコーパスが上述されているが、この説明を読むと当業者は気付き理解するであろうように、他の複数の機構、特に複数のインターフェース機構162は関連付けられる複数のコーパスを有し得て、また、人々との複数の対話、他の複数のデバイス102との複数の対話、バックエンド104との複数の対話、および複数のユーザ110との複数の対話を含む、デバイスが内部(またはシステム100の外部)で有する複数の対話に基づき学習および順応もしうる。一般的に、特定のインターフェース機構のためのコーパスは、機能し実行すべくその特定の視線機構が利用可能な複数のサンプルの集合を指す。従って、例えば、図4Cに示されるように、複数の他のインターフェース機構190は関連付けられる複数のコーパス192を含みうる。
While multiple corpora for speech, gesture, and face / gaze recognition / detection have been described above, it will be appreciated by those skilled in the art upon reading this description that other mechanisms, particularly multiple The interface mechanism 162 may have multiple corpora associated with it, and may also have multiple interactions with people, multiple interactions with
そうでないように述べられない限り、本明細書において用いられるように、「複数のコーパス(corpora)」という単語は、1つの「コーパス(corpus)」および/または複数のコーパス(corpora)を指す。従って、例えば、デバイスがある特徴の複数のコーパスを有していると説明される場合、それは、デバイスはその特徴の少なくとも1つのコーパスを有する、または、デバイスはその特徴の1つのコーパスを有する、またはその特徴の複数のコーパスを有する、と読まれるべきである。 Unless stated otherwise, as used herein, the term “multiple corpora” refers to one “corpus” and / or multiple corpora. Thus, for example, if a device is described as having a plurality of corpora of a feature, it may be that the device has at least one corpus of that feature, or the device has one corpus of that feature. Or it should be read as having multiple corpora of that feature.
いくつかの好適な実施形態において、ユーザは特定の複数の語句および/または複数のジェスチャーパターンを認識すべく、それらのデバイスをトレーニングできる。これらの特徴的な複数の語句/ジェスチャーパターンのうちの1または複数は、例えば、デバイスのための複数のコマンドのいくつかまたは全てをトリガすべく、用いられ(および必要とされ)うる。デバイスは何の特定のユーザ介入または要求もなく学習し(従って、トレーニングされ)うるということが理解されるべきであり、好ましくは、各デバイスは、そうするように具体的に要求されることなく複数のユーザ対話を認識すべく学習する。 In some preferred embodiments, the user can train their devices to recognize specific words and / or gesture patterns. One or more of these characteristic words / gesture patterns may be used (and required), for example, to trigger some or all of the commands for the device. It should be understood that devices can be learned (and therefore trained) without any specific user intervention or requirement, preferably each device is not specifically required to do so Learn to recognize multiple user interactions.
デバイス102はまた好ましくはハートビート(HB)機構194(以下でより詳細に説明される)を含む。HB機構は、デバイスツーデバイス機構156およびデバイスツーバックエンド機構158を含む他の複数の動作機構154と対話しうる。
この説明を読むと当業者は気付き理解するであろうように、特定のデバイスは複数のインターフェース機構162のうちのいくつかだけを用いうる。 以下でより詳細に説明されるように、様々なインターフェース機構162が組み合わせて用いられうることもまた理解されるべきである。 As those skilled in the art will appreciate upon reading this description, a particular device may use only some of the plurality of interface mechanisms 162. It should also be understood that various interface mechanisms 162 may be used in combination, as will be described in more detail below.
好ましくは、デバイス102上の各動作機構154は何の外部対話もなしに(つまり、何か他の複数のデバイス102またはバックエンド104との何の対話もなしに)デバイス上で動作できる。しかしながら、様々な動作機構154は、例えば、バックエンド104もしくは1または複数の他のデバイス102を介して提供される追加機能120を動作させうる、または用いうる(またはそれによって強化されうる)ことが理解されるべきである。従って、例えば、様々な音声/スピーチ機構174は、何の外部対話もなしに用いられる場合は複数の音声コマンドおよび同類のものの限定使用をサポートしうる。これらの音声コマンドは、例えば、様々な機構の複数の機能によって、および、デバイスの容量(メモリ及び計算の容量などの)によて、限定されうる。システム100は、追加機能120によって強化される場合、デバイスに拡張された複数の音声コマンドおよび複数の対話を提供しうる。限定された複数のローカル音声/スピーチ対話は、デバイス上の音声/スピーチストレージ175に格納される複数の音声/スピーチコーパス180に反映されるだろう。複数の音声対話の場合、例えば、デバイス102は、それが認識できる、および、デバイスの複数の態様を制御すべく用いられることができる、複数の単語の限定されたコーパス(例えば、音声/スピーチストレージ175中に複数の音声/スピーチコーパス180として格納される)を有しうる。追加機能120を用いることで、より複雑な複数の命令/クエリを構文解析する能力へだけでなく、潜在的に非常に大きなコーパスへのアクセスをデバイスに提供する。例えば、デバイス102がスピーカである場合、複数の音声/スピーチ機構174と共にデバイス102上のコーパスは、「より大きな音量で再生」、「より優しく」等などの複数のコマンド/命令をサポートし得て、一方で、追加機能120によって提供される外部のコーパスは、例えば、「昨晩聴いていた歌を再生」などのより複雑な複数の命令をサポートしうる。この後者の要求は文法的により複雑で(故に、おそらくはデバイスが提供できるものよりも高いスピーチ認識能力を必要とし)、また外部のデータ(例えば、データベース114中の)へのアクセスも必要としうる。
Preferably, each operating
インターフェース機構162は、複数の学習機構を提供される、またはそれを含み得て、それらがデバイスの複数のユーザについて、およびどのようにそれらのユーザがデバイスと対話するかについて、学習できるようにする。例えば、複数の音声/スピーチ機構174は特定の人々(好ましくは、デバイスに関連付けられるユーザ110に対応する人を含む)の複数の音声を認識すべく学習しうる。
The interface mechanism 162 may be provided with or include multiple learning mechanisms so that they can learn about multiple users of the device and how they interact with the device. . For example, multiple voice /
デバイスは好ましくは、最初はそれの様々なインターフェース機構162のための複数の一般的なコーパスで設定される。デバイスの複数のインターフェース機構162が学習するとき、それらは学習したものを反映すべく様々なコーパスを更新しうる。例えば、デバイスが特定の人の音声を認識すべく学習するとき、それはその人についての複数の音声/スピーチコーパスを更新しうる。好ましくはデバイスは、最初の複数の一般的なコーパスのコピーを保持する、および/または、複数の元のコーパスはデバイスとは別個のどこかの場所(例えば、「クラウド」内)に保存されうる。 The device is preferably initially configured with multiple generic corpora for its various interface mechanisms 162. As the device's multiple interface features 162 learn, they may update various corpora to reflect what they have learned. For example, when a device learns to recognize a particular person's voice, it may update multiple voice / speech corpuses for that person. Preferably, the device keeps a copy of the first plurality of common corpora and / or the plurality of original corpora can be stored somewhere separate from the device (eg, in a “cloud”) .
デバイスは複数の異なるユーザまたは人々の複数の異なるコーパスを有しうる。しかしながら、各デバイスがユーザに関連付けられるとき、デバイス上の各インターフェース機構は好ましくはそのユーザに関連付けられる少なくとも1つのコーパスを有することが理解されるべきである。そのデバイスを用いる他の人々は、それに関連付けられる彼ら/彼女ら自身の複数のコーパスを有しうる。
複数の対話のモニタリング
A device may have multiple different corpora of different users or people. However, it should be understood that when each device is associated with a user, each interface mechanism on the device preferably has at least one corpus associated with that user. Other people using the device may have their own corpora associated with it.
Monitoring multiple interactions
図4Iに示されるように、デバイス102は複数の起こりうる対話をモニタリングする(S402において)。デバイスは継続してモニタリングしうる(S402において)、または、それは複数の特定の時間に、および/または、複数の特定の条件下で、モニタリングしうる。このモニタリングは好ましくは、複数のデバイスのセンサ138(例えば、デバイスのカメラ、マイク等)のうちの1または複数を用いる。何らかの対話を逃すことを回避すべく、デバイスは好ましくは起こりうる対話をバッファリングまたは格納する(S404において)。これらのバッファリングされる複数の対話は、様々なインターフェース機構162によって、必要ならば、後の使用のために任意の既知の、および適切なやり方で格納されうる。例えば、デバイスのマイクによって検出される音は、音声/スピーチ機構174によって、必要ならば、後の使用に適したやり方でバッファリングされうる。同様に、デバイスのカメラによって検出される外部運動は、デバイスのジェスチャー機構166によって、必要ならば、後の使用に適したやり方でバッファリングされ得て、デバイスによって検出される複数の画像は、デバイスの顔/視線機構182および/または他の機構190によって、必要ならば、使用に適したやり方で格納されうる。全てのセンサ入力が、全てのデバイスまたは全てのタイプのデバイスに対してバッファリングされうるわけではないということが認識され理解されるべきである。しかしながら、たとえデバイスが、対話が開始された後しばらく経ってから対話が起こると理解するに過ぎないとしても、デバイスは対話を再構築できうるので、センサ情報をバッファリングすることでデバイスがその様々なインターフェース機構162を介して、より正確な複数の対話を提供できるようにしうることもまた理解されるべきである。
As shown in FIG. 4I,
この説明を読むと当業者は気付き理解するであろうように、(S404において)バッファリングされる情報の量は情報の種類(例えば、音声、複数の画像、動きの履歴等)に依存する。同様に、この説明を読むと当業者は気付き理解するであろうように、異なる情報は異なる複数の期間にバッファリングされうる。例えば、デバイスのマイクによって検出される複数の音は、30秒間バッファリングされ得て、一方でカメラによって検出される複数の画像は15秒間バッファリングされうる。バッファリングは任意の技術、例えば、循環型、またはラップアラウンドバッファリング、を使用し得て、システムは用いられるバッファリングの種類、またはバッファリングの実装によって限定されない。複数の異なるバッファリング技術が複数の異なる種類の情報に対して用いられうる。デバイス102は、必要とされるバッファリングされる情報を格納するのに十分なメモリを有すべきである。
As will be appreciated and understood by those skilled in the art upon reading this description, the amount of information buffered (at S404) depends on the type of information (eg, audio, multiple images, motion history, etc.). Similarly, different information may be buffered in different time periods, as will be appreciated and understood by those skilled in the art upon reading this description. For example, multiple sounds detected by the device's microphone can be buffered for 30 seconds, while multiple images detected by the camera can be buffered for 15 seconds. Buffering may use any technique, such as circular or wraparound buffering, and the system is not limited by the type of buffering used or the buffering implementation. Different buffering techniques can be used for different types of information.
起こりうる対話をバッファリングして(S404において)、デバイスは、起こりうる(バッファリングされた)対話が実際の対話であるかどうかを決定しようと試みる(S406において)。デバイスが、起こりうる対話が実際の対話である(または、でありうる)ということを決定する場合(S406において)、デバイスはその実際の対話の処理を継続しうる(S408において)。実際の対話の処理(S408における)は図4Iを参照して上述された複数のコーパスの選択処理を使用しうる。 Buffering a possible interaction (at S404), the device attempts to determine whether the possible (buffered) interaction is an actual interaction (at S406). If the device determines (at S406) that the possible interaction is (or may be) an actual interaction, the device may continue processing the actual interaction (at S408). The actual dialog processing (in S408) may use the multiple corpus selection processing described above with reference to FIG. 4I.
デバイスとの実際の対話が起こっている(または、起こっているかもしれない)かどうかの決定(S406における)は、1または複数のトリガを使用しうる。例えば、人が複数の音声コマンドをデバイスに与え始める場合、デバイスは、それが検出している音がそれらの音声コマンドに対応しているということを知り得ない。しかしながら、人がまた、話しながらデバイスを見てもいる場合(視線検出を用いて検出可能なように)、デバイスは、実際の対話を処理するためのトリガとして、検出されるスピーチと組み合わせて、その検出される視線を頼りにする。 Determining (at S406) whether actual interaction with the device is (or may have occurred) may use one or more triggers. For example, if a person begins to give multiple voice commands to a device, the device may not know that the sound it is detecting corresponds to those voice commands. However, if a person is also looking at the device while speaking (as can be detected using gaze detection), the device will combine with the detected speech as a trigger to handle the actual interaction, Rely on the detected line of sight.
デバイス102は様々な種類の環境において動作し得て、複数の環境要因および関連するノイズは対話検出および処理に影響を与えうる。ここで用いられるように、任意の種類の情報または信号に対する「ノイズ」という用語は、情報または信号の処理の能力を低下させうる(例えば、信号における情報の対応する検出および/または認識の能力を低下させうる)情報および/または複数の信号を指す。例えば、エアコンまたはファンの背景音は音声/スピーチ認識に支障をきたす、またはその能力を低下させ得て、または、持続的に点滅する光は複数の顔またはジェスチャー機構に支障をきたす、またはその能力を低下させうる。ゆえに、処理の前にノイズをフィルタリングまたは取り除くことを試みることはデバイスにとって有用である。この点で、他の機構164は、様々なセンサによって検出される複数の入力からノイズを取り除くべく、1または複数のノイズ除去フィルタリング/クリーニング機構を含みうる。1つのそのような機構は、デバイスのマイクによって検出される(およびバッファリングされる)音から複数の周囲音(例えば、複数のエアコンおよび複数のファンからの)を取り除く騒音キャンセルである。異なるおよび、または他の複数のノイズ除去フィルタリングが用いられ得て、これらのフィルタリング機構は、デバイスが置かれる環境に順応し、そこから学習しうる。
複数のフィルタリング/クリーニング機構が用いられる複数の場合において、好ましくは全てのバッファリングされる情報がフィルタリング/クリーニングされる。 In multiple cases where multiple filtering / cleaning mechanisms are used, preferably all buffered information is filtered / cleaned.
図4Jにおけるフローチャートは、対話が行われているかどうかを決定(図4IのS406における)すべく、デバイス102が使用しうる例示的な処理を説明している。実際の対話が検出され、センサ出力が必要である場合、様々なセンサ138はモニタリングされ(図4IのS402において)、複数のセンサの出力はバッファリングされる(図4IのS404において)ことを思い出されたい。様々なセンサ138からの出力が様々なインターフェース機構162に(直接またはバッファリングを介して)提供され、そのそれぞれは、対話が行われているかどうかの決定を試みる。例えば、ジェスチャー検出機構168は、カメラセンサを介してそれらが検出しているいくらかの動きがジェスチャーに対応するかどうかの決定を試みる(S410において)。顔/視線検出機構184は、カメラセンサを介してそれらが検出しているいくらかの画像が少なくとも1つの顔に対応するかどうかの決定を試みる(S412において)。音声/スピーチ検出機構176は、マイクセンサを介してそれらが検出しているいくらかの音がスピーチに対応するかどうかの決定を試みる(S414において)。他の機構190は、センサ138を介してそれらが検出しているもの(例えば、タッチ、動き、他のユーザデバイスの近さ)がデバイスとの対話に対応するかどうかの決定を試みる(S416において)。ユーザ検出機構は、ユーザがデバイスと対話しているかどうかの検出を試みる(S418において)。
The flowchart in FIG. 4J describes an exemplary process that the
顔(または2つ以上の顔)が検出される場合(S412において)、検出される顔がデバイスを見ているかどうかを決定すべく(S420において)、視線検出機構が用いられ得て、検出される顔がジェスチャーおよび/またはスピーチに対応するように動いているかどうか決定すべく(S422において)、顔動き検出機構187が用いられうる。
If a face (or more than one face) is detected (at S412), a gaze detection mechanism can be used to detect whether the detected face is looking at the device (at S420). A face
顔動き検出機構187はまた、いずれかの検出される顔がスピーチおよび/または複数のジェスチャーに対応するように動いているかどうか決定すべく、単独で、または顔/視線検出機構184と併せて用いられうる。
The face
複数の機構のうちのいくつか(例えば、視線検出および顔動き検出)は他の機構の複数の決定に依存しうるが、様々な対話検出機構は同時に動作しうる(図4Jに描かれるフローチャートに示されるように)。 Some of the multiple mechanisms (eg, gaze detection and face motion detection) may depend on multiple determinations of other mechanisms, but the various interaction detection mechanisms may operate simultaneously (in the flowchart depicted in FIG. 4J). As shown).
いくつかの実装形態において、様々な検出機構はそれらの検出の判定を反映するブール値(真または偽)を生成しうる。それらの場合において、対話が検出されたかどうかに関する最終的決定はそれらの値の論理和によって決定される。例えば、N個の検出機構があり、i番目の検出機構がブール値biを生成する場合、対話が検出されたかどうかに関する最終的決定は以下を用いて計算されうる。
この実装形態において、任意の真の値(すなわち、任意の検出機構による任意の検出)は対話が行われているという決定をもたらす。図4Jにおけるフローチャートを参照すると、任意の機構による任意の「はい」の値は対話が行われているという肯定決定をもたらす。 In this implementation, any true value (ie, any detection by any detection mechanism) results in a determination that an interaction is taking place. Referring to the flowchart in FIG. 4J, any “yes” value by any mechanism results in an affirmative decision that a dialogue is taking place.
図4Jのフローチャートにおける複数の線上のラベル「はい」は、各機構のそれぞれによる、それらが何らかの特徴(例えば、ジェスチャー、顔、スピーチ等)を検出した可能性が高いという判定または決定を表わす、ということが理解されるべきである。同様に、そのフローチャートにおける複数の線上のラベル「いいえ」は、各機構のそれぞれによる、それらが何らかの特徴(例えば、ジェスチャー、顔、スピーチ等)を検出しなかった可能性が高いという判定または決定を表わす。ゆえに、これらの線上の様々なラベルは、特徴が発生している、または発生していない、ということを意味すると解釈されるべきではなく、それがある程度の確度をもって検出された、または検出されなかった、ということのみを意味するということが理解されるべきである。従って、この説明を読むと当業者は気付き理解するであろうように、図4Jにおける複数のフローの線上の複数の「はい」のラベルは、「多分そうである」または「恐らくそうである」または「どちらかと言えば多分そうである」と読まれ得て、その図における複数のフローの線上の複数の「いいえ」のラベルは、「恐らくそうではない」と読まれうる。よって、Interaction Detectedの値(上記数式1を用いて決定される)は、「真」の場合は「真の可能性が高い」または「どちらかと言えば多分偽よりも真である」を意味すると解釈されるべきであり、「偽」の場合は「偽の可能性が高い」を意味すると解釈されるべきである。 The label “Yes” on multiple lines in the flowchart of FIG. 4J represents a determination or determination by each of each mechanism that they are likely to have detected some feature (eg, gesture, face, speech, etc.). It should be understood. Similarly, the label “No” on multiple lines in the flow chart indicates a determination or determination by each of each mechanism that they are most likely not detecting any feature (eg, gesture, face, speech, etc.). Represent. Thus, the various labels on these lines should not be construed to mean that a feature has occurred or has not occurred, and it has been detected or not detected with some degree of accuracy. It should be understood that it means only. Thus, as one of ordinary skill in the art will realize upon reading this description, multiple “yes” labels on multiple flow lines in FIG. 4J are “maybe” or “maybe”. Or, it may be read as “somewhat so” and multiple “No” labels on multiple flow lines in the diagram may be read as “probably not”. Thus, if the value of Interaction Detected (determined using Equation 1 above) is “true”, it means “highly likely true” or “somehow more true than false”. It should be interpreted, and “false” should be interpreted to mean “high possibility of false”.
デバイスは対話検出の確率的性質を使用しうる。従って、いくつかの実装形態において、各検出機構は検出結果の確度の度合いを反映する値または数を生成しうる(例えば、0.0から1.0までの実数、ここで0.0は対話が検出されなかったことを意味し、1.0は対話が確実に検出されたことを意味する、または0から100までの整数、ここで0は対話なしを意味し、100は確実な対話を意味する)。それらの場合において、対話が検出されたかどうかに関する最終的決定は、様々な検出機構によって生成される複数の値の関数として決定されるスコアを少なくとも部分的に用いて決定される。例えば、N個の検出機構があり、i番目の検出機構が0.0から1.0の範囲の実数の値riを生成し、i番目の検出機構のスコアがwiの重みを有する場合、ある関数Fに対し以下のようになる。
Interaction Detected=Interaction Score>閾値(T) (3)
The device may use the probabilistic nature of interaction detection. Thus, in some implementations, each detection mechanism may generate a value or number that reflects the degree of accuracy of the detection result (eg, a real number from 0.0 to 1.0, where 0.0 is a dialog Means that no interaction was detected, 1.0 means that an interaction has been detected reliably, or an integer from 0 to 100, where 0 means no interaction, and 100 means a reliable interaction. means). In those cases, a final determination as to whether an interaction has been detected is determined using at least in part a score determined as a function of a plurality of values generated by various detection mechanisms. For example, if there are N detection mechanisms, the i-th detection mechanism generates a real value r i in the range of 0.0 to 1.0, and the score of the i-th detection mechanism has a weight of w i For a certain function F,
Interaction Detected = Interaction Score> Threshold (T) (3)
いくつかの実装形態において、関数F(式2)は加重和または様々な検出機構によって生成される複数の値の平均を生成する。ここで、異なる複数の重みは、例えば、それらの既知の、または認識された、または今までの正確さに依存して、複数の異なる検出機構に与えられうる。例えば、N個の検出機構があり、i番目の検出機構が0.0から1.0の範囲の実数の値riを生成し、i番目の検出機構のスコアがwiの重みを有する場合、対話が検出されたかどうかに関する最終的決定は以下を用いて計算されうる。
この例においては加重和が用いられるが、この説明を読むと当業者は気付き理解するであろうように、対話が行われているかどうかを決定すべく、異なるおよび/または他の複数の関数が用いられうる。例えば、以下の式2´´に示されるように、Interaction Scoreを決定すべく、加重平均スコアが用いられうる。
図4Kにおいて描かれるフローチャートは、各検出機構がスコア(例えば、0.0から1.0の範囲の実数の値Ri)を生成する実装形態における対話検出段階(S406´)を示しており、対話が検出されるかどうかに関する最終的決定は、少なくとも部分的にそれらのスコア(例えば、上記の数式2または2´による)の関数として決定される。この例において、ジェスチャー検出機構168は、カメラセンサを介してそれらが検出するいくらかの動きがジェスチャーに対応するかどうかの決定を試み(S410´において)、この決定を示すスコア(R1∈[0..1])を生成する。顔/視線検出機構184は、カメラセンサを介してそれらが検出するいくらかの画像が少なくとも1つの顔に対応するかどうかの決定を試み(S412´において)、この決定を示すスコア(R2∈[0..1])を生成する。音声/スピーチ検出機構176は、マイクセンサを介してそれらが検出するいくらかの音がスピーチに対応するかどうかの決定を試み(S414´において)、この決定を示すスコア(R3∈[0..1])を生成する。他のインターフェース機構190は、センサ138を介してそれらが検出するもの(例えば、タッチ、動き、他のユーザデバイスの近さ)がデバイスとの対話に対応するかどうかの決定を試み(S416´において)、これらの決定を示すスコア(R4∈[0..1])を生成する。ユーザ検出機構は、ユーザがデバイスと対話しているかどうかの検出(S418´において)と、これらの決定を示すスコア(R7∈[0..1])の生成を試みる。
The flowchart depicted in FIG. 4K illustrates the interaction detection stage (S406 ′) in an implementation where each detection mechanism generates a score (eg, a real value R i in the range of 0.0 to 1.0), The final decision as to whether interaction is detected is determined at least in part as a function of their scores (eg, according to Equation 2 or 2 ′ above). In this example, gesture detection mechanism 168 attempts to determine (at S410 ′) whether any movement they detect via camera sensors corresponds to the gesture, and scores (R 1 ε [0) indicating this determination. .. 1]). The face /
以前の例(図4J)におけるように、顔が検出される場合(S412´において)、検出される顔がデバイスを見ているかどうかを決定すべく、視線検出機構が用いられうる(S420´において)。この場合、視線検出機構は、用いられれば、それらの決定を示すスコア(R5∈[0..1])を生成する。同様に、顔動き検出機構187は、検出される顔がジェスチャーおよび/またはスピーチに対応するように動いているかどうかを決定し(S422´において)、それらの決定を示すスコア(R6∈[0..1])を生成すべく用いられうる。複数の視線検出および/または顔動き検出機構を開始または使用すべきかどうかに関する判定は、例えば、顔検出機構によって生成されるスコア(R2)に基づきうる(S412´において)。ここで、予め決定される複数の閾値(図4KにおいてTGおよびTMで示される)は複数の視線および/または顔動き検出を開始すべく用いられうる。これらの閾値の値(TGおよびTM)は同一でありうる。これらの閾値は、事前設定および固定されうる、またはそれらは、例えば、システムがその検出の成功について学習する情報に基づき動的でありうる。
As in the previous example (FIG. 4J), when a face is detected (in S412 ′), a gaze detection mechanism can be used (in S420 ′) to determine whether the detected face is looking at the device. ). In this case, the gaze detection mechanism, if used, generates a score (R 5 ε [0 ... 1]) that indicates those decisions. Similarly, the face
上述の通り、各検出機構は、それに関連付けられる、対応する検出重みを有しうる。例えば、以下の表のようにまとめられる。
システムは好ましくは、様々な検出機構のそれぞれによって生成される複数の最新のスコア(この例示的な実装形態においては、R1..R7)に対応するランニング値を生成する(S407において)。各検出機構はそれに関連付けられる対応する検出重みを有し得て、ランニング値は様々なスコアの重み関数を用いて(例えば、上記式2、2´または2´´を用いて)生成されうる。対話が検出されたかどうかに関する判定は、少なくとも部分的には、このスコア(S407において計算される)と別の閾値(図4Kの図面中のT対話で示される)との間での比較に基づきうる。閾値T対話は、事前設定および固定されうる、または、例えば、システムがその検出の成功について学習する情報に基づき動的でありうる。 The system preferably generates a running value (in S407) corresponding to a plurality of latest scores (in this example implementation, R 1... R 7 ) generated by each of the various detection mechanisms. Each detection mechanism may have a corresponding detection weight associated with it, and the running value may be generated using various score weight functions (eg, using equations 2, 2 ′ or 2 ″ above). The determination as to whether an interaction has been detected is based at least in part on a comparison between this score (calculated in S407) and another threshold (indicated by the T interaction in the drawing of FIG. 4K). sell. The threshold T interaction can be preset and fixed, or it can be dynamic, for example, based on information the system learns about its detection success.
様々な対話検出機構/処理は互いに平行および独立して進みうる。しかしながら、様々な機構/処理は、いくつかの場合において、他の複数の機構によって生成される複数のスコアにアクセスし得て、およびそれらを使用しうることが理解されるべきである。これらの他の機構の複数のスコアは、例えば、他の検出をトリガすべく用いられうる(S412´において顔検出によって生成されるスコア(R2)が視線および顔動き検出のためのトリガとして用いられる図4Kの例示的な複数の場合におけるように)。 Various interaction detection mechanisms / processes may proceed in parallel and independently of each other. However, it is to be understood that various mechanisms / processes may access and use scores generated by other mechanisms in some cases. The multiple scores of these other mechanisms can be used, for example, to trigger other detections (the score (R 2 ) generated by face detection in S412 ′ is used as a trigger for gaze and face motion detection. As in the exemplary case of FIG. 4K).
様々な検出機構に対する複数の重みは、デバイスが前の複数の検出から学習した情報に基づき動的に変化しうる。各重みは、max_weightのある値に対し、0からmax_weightの範囲にある値である。スコアの閾値(上記例においてはT対話)が適宜設定される限り、任意の値が用いられることが可能だが、この説明の目的のために、max_weightは1.0であると仮定する。最初に全ての機構には同一の重み(例えば、max_weight)が与えられ得て、それから特定の複数の機構に割り当てられる複数の重みはそれらの機構の正確さまたは有用性に基づき調節されうる。例えば、暗い部屋においては、ジェスチャーおよび顔検出機構には小さくされた重みが与えられ得て、または、(デバイスがノイズを十分にフィルタリングして除去できない)騒がしい部屋においては、スピーチ検出機構には小さくされた重みが与えられうる。部屋の中の光が変化する、または部屋の中のノイズが減らされると、対応する複数の機構の複数の重みは上方に調節されうる。加えて、デバイスが自身の以前の複数の判定から学習するとき、複数の重みは調節されることが可能である。 The weights for the various detection mechanisms can change dynamically based on information that the device has learned from previous detections. Each weight is a value in a range of 0 to max_weight with respect to a certain value of max_weight. Any value can be used as long as the score threshold (T- interaction in the above example) is set accordingly, but for the purposes of this description, it is assumed that max_weight is 1.0. Initially all mechanisms can be given the same weight (eg, max_weight), and then the weights assigned to specific mechanisms can be adjusted based on the accuracy or usefulness of those mechanisms. For example, in a dark room, the gesture and face detection mechanism can be given a reduced weight, or in a noisy room (the device cannot filter out enough noise), the speech detection mechanism is small. Weights can be given. As the light in the room changes or the noise in the room is reduced, the weights of the corresponding features can be adjusted upwards. In addition, when the device learns from its previous multiple decisions, multiple weights can be adjusted.
実際の対話を逃すよりも、起こりうる対話の偽の肯定検出を有することの方が概して好ましいということが理解されるべきである。デバイスが複数の対話に対して十分な(例えば、リアルタイムに近い)応答を提供しない場合、複数のユーザは複数の対話、およびおそらくはデバイスを用いることをやめるだろう。よって、デバイスとの複数の起こりうる対話を検出すべく、好ましくは、複数の重みは保守的に高く設定され、対応する複数の閾値は保守的に低くあるべきである。 It should be understood that it is generally preferable to have a false positive detection of a possible interaction rather than missing an actual interaction. If the device does not provide a sufficient (eg, near real time) response to multiple interactions, multiple users will cease to use multiple interactions and possibly the device. Thus, in order to detect multiple possible interactions with the device, preferably the weights should be set conservatively high and the corresponding thresholds should be conservatively low.
複数の検出機構のそれぞれは電力を消費し、デバイスによるこれらの機構の絶え間のない使用は、それに過度な電力を使用させうる。正確な対話検出の必要性は、故に、デバイス上で電力を節約する必要性とバランスが取られなければならない。しかしながら、デバイスが外部電源に接続される場合は、複数の検出機構のユーザに制限が課される必要はない。様々な機構のための複数のトリガは、電力を節約すべく用いられうる。例えば、複数のスピーチ検出機構は、(より少ない電力を消費する)より簡易な音検出機構によってトリガされ得て、複数の顔およびジェスチャー検出機構は、(より少ない電力を消費し)、カメラセンサによってキャプチャされる複数の画像における複数の変化を検知する、より簡易な機構によってトリガされうる。 Each of the multiple detection mechanisms consumes power, and the constant use of these mechanisms by the device can cause it to use excessive power. The need for accurate dialog detection must therefore be balanced with the need to save power on the device. However, when the device is connected to an external power source, there is no need to impose restrictions on users of multiple detection mechanisms. Multiple triggers for various mechanisms can be used to save power. For example, multiple speech detection mechanisms can be triggered by a simpler sound detection mechanism (which consumes less power) and multiple face and gesture detection mechanisms (which consume less power) by a camera sensor It can be triggered by a simpler mechanism that detects multiple changes in multiple captured images.
いくつかの実装形態において、複数のデバイスは、それらが最小の対話検出を実行するモード(例えば、スリープモードまたは無視モード)にされうる。このモードには、例えば、時刻、位置、ユーザ命令、または何か他の要因に基づき入れられうる。例えば、デバイスは、平日の午前0時と午前7時との間に最小の対話検出を実行すべく設定されうる。デバイスが混雑したまたは騒がしい場所で用いられるいくつかの場合(例えば、パーティーでのスピーカ、またはごった返す空港での電話)において、デバイスは特定の複数の対話を無視する、または複数の対話に対する複数のトリガまたは複数の確認を必要とすべく設定されうる。いくつかの場合において、特定の複数の対話は、デバイスが現在行っていることに基づきディセーブルにされうる。例えば、音楽再生デバイスがアクティブに音楽を再生している間、スピーチ入力はディセーブルにされ得て、曲と曲の間は再びアクティブにされうる。この種の設定は、複数の検出機構のうちのいくつかに関連付けられる複数の重みを調節することによって成されうる(例えば、ダンスパーティーにおいてはジェスチャー検出の重みは非常に低く設定する)。特定の検出機構に対する低い重みの設定は、その機構をディセーブルするわけではないので、それは依然動作し、電力を消費する。さらに、低い重みの値を有したとしても、機構は、起こりうる対話であるとデバイスが解釈しうるジェスチャーを検出しうる。好適な複数の実装形態において、特定の複数の対話検出機構は、それらが動作しない、または少しも電力を消費しないように、ターンオフ、またはディセーブルにされることが可能である。いくつかの場合において、これは、検出機構の対応する重みをゼロ(0.0)に設定することによって実現されうる。 In some implementations, multiple devices can be put into a mode in which they perform minimal interaction detection (eg, sleep mode or ignore mode). This mode may be entered based on, for example, time, location, user command, or some other factor. For example, the device may be set to perform minimal interaction detection between midnight and 7:00 am on weekdays. In some cases where the device is used in a crowded or noisy location (eg, a speaker at a party or a telephone at a busy airport), the device ignores certain interactions or triggers multiple interactions Or it can be set to require multiple confirmations. In some cases, certain multiple interactions may be disabled based on what the device is currently doing. For example, speech input can be disabled while the music playback device is actively playing music, and can be reactivated between songs. This type of setting can be made by adjusting multiple weights associated with some of the multiple detection mechanisms (eg, gesture detection weights are set very low in dance parties). Setting a low weight for a particular detection mechanism does not disable that mechanism, so it still operates and consumes power. Further, even with a low weight value, the mechanism can detect gestures that the device can interpret as a possible interaction. In preferred implementations, certain dialog detection mechanisms can be turned off or disabled so that they do not operate or consume no power. In some cases this may be achieved by setting the corresponding weight of the detection mechanism to zero (0.0).
好適な複数の実装形態において、ある期間(例えば、5−10秒)の後、または検出された対話が実際に実行された後、各検出機構はそのスコアをゼロ(または偽)にリセットする。 In preferred implementations, each detection mechanism resets its score to zero (or false) after a period of time (eg, 5-10 seconds) or after the detected interaction is actually performed.
複数の起こりうる対話に対する進行中のチェックの処理(例えば、図4IにおけるS406)は、典型的にどの人がその対話を開始し得たかを知ることなく実行される。従って、この処理が複数のコーパスの使用を必要とする(またはそれらから恩恵を受け得る)限り、複数の認識処理を実行すべく、デバイスは好ましくはデバイスに関連付けられるユーザの複数のコーパスを用いる。以下に説明されるように、起こりうる対話が検出されると、実際の対話を認識および処理すべく、デバイスは複数の異なるコーパスを使用し(または使用を試み)うる。 The processing of ongoing checks for multiple possible dialogs (eg, S406 in FIG. 4I) is typically performed without knowing who has started the dialog. Thus, as long as this process requires (or can benefit from) the use of multiple corpora, the device preferably uses multiple corpora of the user associated with the device to perform multiple recognition processes. As described below, once a possible interaction is detected, the device may use (or attempt to use) different corpora to recognize and process the actual interaction.
起こりうる対話を検出(図4IにおけるS406)すると、デバイスは好ましくは、どのような種類の対話が起こっているのかについての指標を維持する。これは、複数の起こりうる対話の決定の処理(図4J、4KのS406)に、その次の処理によって使用されるための情報を生成および提供させることによって実現されうる。図4Jのブール演算子を使った実装形態の場合において、処理は、上記式1においてInteraction Detectedの値を決定すべく用いられる複数の値、bi,i=1...Nに対応するビットベクトルを設定しうる。図4Kにおける実装形態において用いられる複数の実数の値の場合では、処理は、その次の処理によって使用されるための、各検出機構によって生成されるスコアに対応する複数の値の配列またはベクトルを設定しうる。複数の起こりうる対話についての情報を維持すべく、他の複数のアプローチがデバイスに対して用いられ得て、システムは、この情報が維持または通信されるやり方によって限定されはしない。 Upon detecting a possible interaction (S406 in FIG. 4I), the device preferably maintains an indication of what type of interaction is occurring. This can be accomplished by having multiple possible dialog decision processes (S406 in FIGS. 4J, 4K) generate and provide information for use by the next process. In the case of implementation using Boolean operators Figure 4J, the process, a plurality of values used to determine the value of Interaction Detected In the above formula 1, b i, bits corresponding to i = 1 ... N A vector can be set. In the case of multiple real values used in the implementation in FIG. 4K, the process may be an array or vector of multiple values corresponding to the score generated by each detection mechanism for use by the next process. Can be set. Other approaches can be used for the device to maintain information about multiple possible interactions, and the system is not limited by the manner in which this information is maintained or communicated.
対話が行われているかどうかの決定を試みながら(図4IのS406において)、デバイスは、様々なインターフェース機構162に対してどの複数のコーパスを使用すべきかを知り得ない(または知る必要がない)。好適な複数の実装形態において、対話検出がコーパスを必要とする場合、デバイス102はデバイスが関連付けられるユーザ110に関連付けられる複数のコーパスを用いる。いくつかの場合において、デバイスは処理のこの段階においては、他の複数のコーパス(例えば、複数の一般的なコーパス、または他の複数の許可されたユーザに関連付けられる複数のコーパス)を使用しうる。
While attempting to determine if an interaction is taking place (at S406 of FIG. 4I), the device may not know (or need not know) which corpora to use for the various interface mechanisms 162. . In preferred implementations, if interaction detection requires a corpus, the
起こりうる対話を検出して(図4IのS406)、デバイスは対話を処理すべく進む。実際の対話の処理は好ましくは、対話を処理すべく、複数のインターフェース機構162を他の複数の動作機構154と共に用いる。対話を処理すべく、デバイスは様々なインターフェース機構162に対して複数のコーパスを使用する必要がありうる。従って、図4Lにおけるフローチャートに示されるように、デバイスはまず、様々なインターフェース機構に対してどの複数のコーパスを使用すべきかを決定する(S409)。
Upon detecting a possible interaction (S406 in FIG. 4I), the device proceeds to process the interaction. The actual interaction processing preferably uses a plurality of interface mechanisms 162 along with
(デバイス上で及びバックエンドで、の両方における)複数のコーパスは、デバイスが特定の人を、彼らの顔、複数のジェスチャー、音声、または何か他のやり方によって認識する場合、その人に関連付けられるその他の複数のコーパスが決定され、対応する複数の機構によって用いられうるように、例えば、図4D−図4Hに示されるように編成されうる。例えば、デバイスがまず人の顔を認識する場合、デバイスは、必要ならば、その人に関連付けられる他の複数のコーパス(図4D)にアクセスし、それらを使用する(または、それは、ユーザのスマートデバイス(例えば、電話またはタブレット)に基づき関連付けうる)。同様に、デバイスがまず人の複数のジェスチャー(図4E)、音声/スピーチ(図4F)、または人の何か他の態様(図4G)を認識する場合、デバイスは、必要ならば、その人に関連付けられるその他の複数のコーパスにアクセスし、それらを使用しうる。さらに、デバイスが、それが対話しているユーザを決定できる場合、デバイスは、必要ならば、そのユーザの複数のコーパス(図4H)にアクセスしうる。システム100内において、「ユーザ」110は、システム内の1または複数のデバイスの、何らかの種類の関連付けまたは結び付きを形成すべく用いられる概念であることが思い出されるべきである。ユーザ110は典型的に人に対応する。しかしながら、デバイスと対話する、または、デバイスとの対話を試みる全ての人々が必ずしもシステム100内のユーザではない。
Multiple corpora (both on the device and in the backend) associate a particular person with that person if they recognize that person by their face, multiple gestures, voice, or something else Other corpora to be determined can be determined and organized, for example, as shown in FIGS. 4D-4H, so that they can be used by corresponding mechanisms. For example, if the device first recognizes a person's face, the device will access and use other corpus (FIG. 4D) associated with that person, if necessary (or it may be the user's smart Based on device (eg, phone or tablet)). Similarly, if a device first recognizes a person's multiple gestures (FIG. 4E), voice / speech (FIG. 4F), or some other aspect of a person (FIG. 4G), the device may, if necessary, May access and use other corpora associated with the. Further, if the device can determine the user with which it is interacting, the device may access multiple corpora of that user (FIG. 4H) if necessary. It should be recalled that within
複数のコーパスを選択(図4LにおけるS409)すべく用いられる例示的なフロー処理が、図4Mに示されている。この例示的な実装形態について、デバイスは様々なインターフェース機構に対して少なくともいくつかの一般的なコーパスを含むことが仮定される。これらの一般的なコーパスは、製造時または後のプロビジョニングまたは設定の間にデバイスに含まれ得る。この処理(複数のコーパスを選択する)に達すべく、デバイスは何らかの種類の対話を検出している(図4IのS406において)。デバイスは、音、外部運動、タッチ、デバイスの動き等のうちの1または複数を検出していた可能性がある。この検出は、複数のデバイスのセンサ138のうちのいくつかまたは全てを使用して、例えば、デバイスのマイクが音を検出する、デバイスのカメラが外部運動を検出する、デバイスの加速度計がデバイスの動きを検出する、デバイスの複数のタッチセンサが、デバイスが人または別のデバイスによってタッチされていることを検出する、デバイスがユーザからの対話を検出する、等のことをしうる。この時点において、デバイスは、どの可能性のあるタイプの対話が検出されたか(例えば、(図4Jの実装形態に関する)ビットベクトル、または(図4Kの実装形態に関する)複数のスコア値のベクトルを用いて)についての指標を有しうることを思い出されたい。デバイスは、どの対話であるのか、および、どの複数のコーパスを使用すべきかの決定を試みるべく、この情報を使用しうる。
An exemplary flow process used to select multiple corpora (S409 in FIG. 4L) is shown in FIG. 4M. For this exemplary implementation, it is assumed that the device includes at least some common corpora for various interface mechanisms. These common corpora may be included in the device during manufacture or during later provisioning or configuration. To reach this process (selecting multiple corpora), the device has detected some kind of interaction (at S406 in FIG. 4I). The device may have detected one or more of sound, external motion, touch, device movement, etc. This detection may use some or all of the plurality of
デバイスがどの起こりうる対話を検出したか(図4JのS406、図4KのS406´において)に応じて、それからデバイスは、それが特定のユーザまたは人を認識できるかどうかを決定しうる(図4MのS426において)。デバイスがユーザまたは人を認識する場合、デバイスはそのユーザまたは人の対応する複数のコーパスを選択する(図4MのS428において)。一方、起こりうる対話がデバイスに既知のいずれかのユーザまたは人に対応するとデバイスが認識しない(図4MのS426において)場合、デバイスはデバイスの複数の一般的なコーパスを選択する(図4MのS430において)。 Depending on which possible interaction the device has detected (at S406 in FIG. 4J, S406 ′ in FIG. 4K), then the device may determine whether it can recognize a particular user or person (FIG. 4M). In S426). If the device recognizes a user or person, the device selects the corresponding corpus of the user or person (at S428 in FIG. 4M). On the other hand, if the device does not recognize (at S426 in FIG. 4M) that the possible interaction corresponds to any user or person known to the device, the device selects multiple general corpora of the device (S430 in FIG. 4M). In).
デバイスよって検出される(S424において)起こりうる対話のタイプに応じて、デバイスに既知の人またはユーザの認識を試みるべく、デバイスは適切なインターフェース機構を使用する(S426において)。デバイスが、ある人またはユーザに対して格納される少なくとも1つのコーパスを有する場合、その人またはユーザはデバイスにとって既知であると見做される。人はデバイスとの以前の複数の対話に基づき、デバイスにとって既知となりうる。なぜなら、その人はデバイスに関連付けられるユーザであるから、または、その人は、デバイスに関連付けられるユーザ(例えば、その友人)に関連付けられ、特定の複数のやり方でデバイスにアクセスする許可を与えられているからである。好適な複数の実装形態において、デバイスに関連付けられるユーザはデバイスにとって常に既知であるべきである。 Depending on the type of interaction that may be detected by the device (at S424), the device uses an appropriate interface mechanism (at S426) to attempt to recognize a person or user known to the device. If a device has at least one corpus stored for a person or user, that person or user is considered known to the device. A person can become known to the device based on previous interactions with the device. Because the person is a user associated with the device, or the person is associated with a user associated with the device (eg, his friend) and given permission to access the device in certain multiple ways Because. In preferred implementations, the user associated with the device should always be known to the device.
従って、例えば、図4Iに示されるように、何らかの対話が行われていることを検出して(S424において)、検出された複数のジェスチャーが既知のユーザ/人のものに対応するかどうかの決定を試みるべく、デバイスはジェスチャー検出機構168およびジェスチャー認識機構170を使用しうる(S432において)。デバイスが複数のジェスチャーを既知のユーザ/人のものであると認識する(S432において)場合、デバイスは対応する複数のコーパスを選択する(S434において)。デバイスは、認識される複数のジェスチャーに基づき複数のコーパスを決定すべく、図4Eに示されるマッピングを使用しうる。 Thus, for example, as shown in FIG. 4I, it is detected that some interaction is taking place (at S424) and a determination is made as to whether the detected gestures correspond to those of a known user / person. To attempt, the device may use gesture detection mechanism 168 and gesture recognition mechanism 170 (at S432). If the device recognizes multiple gestures as being of a known user / person (at S432), the device selects the corresponding corpus (at S434). The device may use the mapping shown in FIG. 4E to determine multiple corpora based on recognized gestures.
対話が、デバイスにとって、またはシステムにとって既知である顔の既知のユーザ/人のものであるかどうかの決定を試みるべく、デバイスはまた(もしくは代わりに)、複数のセンサ138(例えば、カメラである複数のセンサ)と併せて顔/視線検出機構184および顔/視線認識機構186を使用しうる(S436において)。デバイスが、近くの、または見える顔がデバイスにとって既知である(すなわち、デバイスにとって既知のユーザ/人に対応する)と決定する場合、デバイスはその顔に基づき対応する複数のコーパスを選択しうる(S438において)。デバイスは、認識される顔に基づき複数のコーパスを決定すべく、図4Dに示されるマッピングを使用しうる。
The device is also (or alternatively) a plurality of sensors 138 (eg, cameras) to attempt to determine whether the interaction is for a known user / person with a face known to the device or to the system. The face / line-of-
デバイスはまた(もしくは代わりに)、(マイクである複数のセンサ138を用いて)検出される音、および、音声/スピーチ検出機構176および音声/スピーチ認識機構178を使用し、検出される音がスピーチであるかどうか、および、もしそうであるならば、それはデバイスにとって既知の人/ユーザのスピーチに対応するかどうか、の決定を試みうる(S440において)。検出される音がデバイスにとって既知の人/ユーザのスピーチであると決定される(S440において)場合、デバイスはそのスピーチに基づき複数の適切なコーパスを選択しうる(S442において)。デバイスは、認識されるスピーチに基づき複数のコーパスを決定すべく、図4Fに示されるマッピングを使用しうる。
The device may also (or alternatively) use the sound detected (using a plurality of
デバイスはまた(もしくは代わりに)、何か他のインターフェース機構190を用いて人/ユーザを認識し得て(S444において)、その場合、デバイスは、例えば、図4Gに示されるマッピングを用いることに基づき、その人/ユーザの適切な、対応する複数のコーパスを選択しうる(S446において)。 The device may also (or alternatively) recognize the person / user using some other interface mechanism 190 (at S444), in which case the device may, for example, use the mapping shown in FIG. 4G. Based on that person / user, an appropriate corresponding corpus may be selected (at S446).
デバイスはまた(もしくは代わりに)、対話が既知のユーザとのものであると認識し得て(S448において)、その場合、デバイスは、例えば、図4Hに示されるマッピングを用いることに基づき、ユーザの適切な、対応する複数のコーパスを選択しうる(S450において)。 The device may also (or alternatively) recognize that the interaction is with a known user (at S448), in which case the device may be based on, for example, using the mapping shown in FIG. 4H. A corresponding plurality of corresponding corpora may be selected (at S450).
図4Mは様々な認識の試みを示しているが(S426において)、これらの段階のうちの全てが、全てのデバイスまたは全てのタイプのデバイスにおいて実行される(または利用できさえする)のではないことが理解されるべきである。さらに、いくつかのデバイスまたはいくつかのタイプのデバイスにおいて、複数の段階は平行して、連続して、または、それらの何らかの組み合わせで、実行されうることが理解されるべきである。いくつかの場合において、複数のコーパスが選択される前に、認識を認めるおよび/または確認すべく複数のテストが用いられうる(S426において)。従って、例えば、特定のデバイスまたは特定のタイプのデバイスは、まず顔認識を使用し得て、それからそれが失敗する場合にだけ、何か他の技術を使用する。別の例において、特定のデバイスまたは特定のタイプのデバイスは、同時に複数の顔の認識(図4JのS412;図4KのS412´において)および複数のユーザの認識(図4JのS418;図4KのS418´において)を試み得て、それから選択的に、他の複数の認識アプローチを引き続き行う。 Although FIG. 4M shows various recognition attempts (at S426), not all of these steps are performed (or even available) on all devices or all types of devices. It should be understood. Further, it should be understood that in some devices or some types of devices, multiple stages may be performed in parallel, sequentially, or some combination thereof. In some cases, multiple tests may be used (at S426) to acknowledge and / or confirm recognition before multiple corpora are selected. Thus, for example, a particular device or type of device may first use facial recognition and then use some other technique only if it fails. In another example, a particular device or type of device may simultaneously recognize multiple faces (S412 in FIG. 4J; in S412 ′ in FIG. 4K) and recognize multiple users (S418 in FIG. 4J; FIG. 4K). In S418 ') and then optionally continue with other recognition approaches.
この説明を読むと当業者は気付き理解するであろうように、様々なユーザ/人認識段階が実行されるやり方または順序(平行、連続、またはそれらの複数の組み合わせを含む)によってシステムは限定されず、ユーザ/人の認識を試みるべく利用できる、または用いられる複数の機構によってもシステムは全く限定されない。 As one skilled in the art will appreciate upon reading this description, the system is limited by the manner or order in which the various user / person recognition steps are performed (including parallel, serial, or combinations thereof). In addition, the system is not limited in any way by the multiple mechanisms available or used to attempt user / person recognition.
2つ以上の認識機構が用いられる場合(S426において)、デバイスは複数のコンフリクトに対処可能である必要がある。例えば、1つの機構が1人のユーザ/人を識別し、別の認識機構が異なるユーザ/人を識別する場合、コンフリクトが生じうる。これは、デバイスと対話する人/ユーザについての十分な情報をデバイスが決定できない場合に生じ得て、その理由は、デバイスがその人についての十分な情報を有しない、および/または、デバイスと対話する可能性のある2人以上の人が存在するからでありうる。例えば、新たなデバイスは、正確な複数の認識決定をするだけの、その複数の潜在的なユーザについての十分な情報をまだ有し得ないので、複数の異なる機構は複数の異なる認識決定をしうる。近傍に2人以上の人が存在するせいでデバイスはまた混乱もしうるので、その複数のセンサは異なる人々からの詳細をとらえている。例えば、デバイスの近傍に複数の人々が存在する場合、そのマイクが1人の音声をとらえていてもよく、その一方で、そのカメラが別の人の顔をとらえている。 If more than one recognition mechanism is used (in S426), the device needs to be able to handle multiple conflicts. For example, a conflict may occur if one mechanism identifies one user / person and another recognition mechanism identifies different users / persons. This can occur when the device cannot determine enough information about the person / user interacting with the device because the device does not have enough information about the person and / or interacts with the device This may be because there are two or more people who are likely to do. For example, a new device may not yet have enough information about its potential users to make accurate multiple recognition decisions, so multiple different mechanisms will make multiple different recognition decisions. sell. The device can also be confused by the presence of more than one person in the vicinity, so the sensors capture details from different people. For example, if there are multiple people in the vicinity of the device, the microphone may capture the voice of one person while the camera captures the face of another person.
特定のセンサが2人以上の人を認識することもまた可能である。例えば、デバイス中のカメラは2つ以上の顔を認識しうる、または複数の顔を見つけうる。 It is also possible for a particular sensor to recognize more than one person. For example, a camera in the device may recognize more than one face or find multiple faces.
デバイス102は好ましくは、少なくとも1つのコンフリクト解消戦略を有する。コンフリクト解消戦略は、複数の前の対話および複数の認識決定に基づきデバイスが学習することで、適応性があるといってよい。いくつかの場合において、デバイスは複数の認識決定の重み関数を使用しうる。例えば、ユーザ認識に対しては最も大きい重み(S448において)、顔認識に対してはより小さい重み(S436において)、音声/スピーチ認識に対しては、さらにより小さい重み(S440において)を与える、などである。この説明を読むと当業者は気付き理解するであろうように、異なるおよび/または他の複数の関数が用いられ得て、異なるおよび/または他の複数のコンフリクト解消戦略が提供されうる。例えば、コンフリクト解消戦略は経時的に変化ながら(例えば、学習に基づいて)、動的でありうる。
複数のコンフリクト解消戦略に加えて、人がデバイスとの対話を試みているのかどうか、および、もしそうならどの人か、の認識を向上させるべく、デバイス102はまた様々な最適化も含みうる。1つの例示的最適化は、誰かが実際にデバイスを見ているのかどうかを決定すべく視線検出(顔/視線機構182を用いる)を使用することである。視線検出は、他の認識および複数の対話のためのトリガとして、および/または、コンフリクト解消戦略の一部として、例えば、コーパスの選択をすべく用いられうる。例えば、デバイスが音を検出する場合(自身のマイクを用いて)、デバイスは、その音がデバイスに対する複数のコマンドまたは複数のクエリに対応するかどうかを知り得ない。デバイスがまた、誰かがデバイスを見ているということを検出もできる場合、その視線は、単独で、または検出される音と共に、スピーチ認識をトリガすべく用いられることができる。視線検出は顔認識を必要としない、またはそれに依存しないことが理解されるべきである。
In addition to multiple conflict resolution strategies,
追加的な最適化として、いくつかの実装形態において、デバイスが検出した顔(顔/視線検出機構184を用いて)が、その検出を確認(または拒否)すべく用いられうるように動いているかどうかを決定すべく、デバイスは顔動き検出機構187を使用しうる。例えば、システムが複数の顔を見つけ(顔/視線検出機構184を用いて)、またスピーチも検出する(音声/スピーチ機構174を用いて)場合、スピーチに対応する動き(例えば、口が動いている)を示すどの顔もが選択の好適な複数の候補である。顔動き検出機構187はスピーチを解釈する必要はなく、それらはスピーチに対応しうる口またはあごの動き、または何か他の種類の動きを検出しさえすればよいことが理解されるべきである。
As an additional optimization, in some implementations, the face detected by the device (using the face / gaze detection mechanism 184) is moving so that it can be used to confirm (or reject) the detection. To determine whether the device can use a face
いくつかの実装形態において、顔動き検出機構187は、ジェスチャー機構166によって使用されるように、顔の他の複数部分、例えば、両まゆ、両目、あご、口等、の動きを検出すべく用いられうる。複数の顔の動きは、それら自身がデバイスによって認識される複数のジェスチャーであるか、または、それらは他の複数の検出されるジェスチャーを確認すべく用いられうる。
In some implementations, the face
同様に、複数のジェスチャー(ジェスチャー機構166によって決定されるような)は単独で、または、他の検出される情報(例えば、複数の顔、複数の音声、複数の動き等)を確認すべく、用いられうる。 Similarly, multiple gestures (as determined by gesture mechanism 166) can be alone or to confirm other detected information (eg, multiple faces, multiple sounds, multiple movements, etc.) Can be used.
この説明を読むと当業者は気付き理解するであろうように、概して、各インターフェース機構162は単独で、または複数の他のインターフェース機構と組み合わせて用いられうる。共に用いられる場合、様々なインターフェース機構は互いに確認し合うべく、および/または、互いのための複数のトリガとして、用いられうる。 As those skilled in the art will appreciate upon reading this description, in general, each interface mechanism 162 may be used alone or in combination with multiple other interface mechanisms. When used together, the various interface mechanisms can be used to confirm each other and / or as multiple triggers for each other.
全てのデバイスまたは全ての種類のデバイスが複数のインターフェース機構の全てを有す必要はなく、これらの機構は全てが、全てのデバイスまたは全ての種類のデバイス上で用いられうるわけではないことが理解されるべきである。加えて、いくつかのデバイスは、どの複数のコーパスを使用すべきかを決定すべく、異なるおよび/または他の複数の技術を使用しうることが理解されるべきである。 It is understood that not all devices or all types of devices need to have all of the multiple interface mechanisms, and not all of these mechanisms can be used on all devices or all types of devices. It should be. In addition, it should be understood that some devices may use different and / or other techniques to determine which corpora to use.
対話検出(例えば、図4JのS406、図4KのS406´)およびコーパス/複数のコーパスの選択(図4L)は別個の処理として示されているが、この説明を読むと当業者は気付き理解するであろうように、対話検出によって成される複数の決定のうちのいくつかはその次の処理において、例えば、人/ユーザが認識されるかどうかの決定において(図4MのS426において)、用いられうる。従って、いくつかの場合において、起こりうる対話の検出の処理(図4JのS406、図4KのS406´)においては、ユーザ/人の認識の処理(S426)をスキップ(または簡略化)すべく、デバイスは、デバイスと対話する人/ユーザについての決定された十分な情報を有しうる。 Interaction detection (eg, S406 in FIG. 4J, S406 ′ in FIG. 4K) and corpus / multiple corpus selection (FIG. 4L) are shown as separate processes, but those skilled in the art will be aware upon reading this description. As would be the case, some of the decisions made by dialog detection are used in subsequent processing, eg, in determining whether a person / user is recognized (at S426 in FIG. 4M). Can be. Therefore, in some cases, in the process of detecting a possible dialog (S406 in FIG. 4J, S406 ′ in FIG. 4K), the user / person recognition process (S426) may be skipped (or simplified) The device may have determined sufficient information about the person / user interacting with the device.
再び図4Lを参照すると、実際の対話に対してどの複数のコーパスが使用されるべきかを決定して(S409において)、決定された複数のコーパス(S409において)および様々なインターフェース機構162を用いて、デバイスは実際の対話を決定すべく進みうる(S411において)。この説明を読むと当業者には明らかになるように、人の認識(S426)およびコーパスの選択(S428)の複数の処理によって、実際の対話は決定されうる(完全に、または一部)。これら2つの処理が実際の対話の決定をもたらさない場合、デバイスは実際の対話を決定すべく進む(S411において)。 Referring again to FIG. 4L, it is determined which corpus is to be used for the actual interaction (at S409) and the determined corpus is used (at S409) and the various interface mechanisms 162. The device can then proceed to determine the actual interaction (at S411). As will become apparent to those skilled in the art upon reading this description, the actual interaction may be determined (completely or partially) by multiple processes of human recognition (S426) and corpus selection (S428). If these two processes do not result in a determination of the actual interaction, the device proceeds to determine the actual interaction (at S411).
実際の実施形態を処理する代替の実装形態/アプローチは、だれか他の許可されたユーザが具体的に認識または識別されない限り、用いられるべき複数のコーパスはデバイスのユーザ110のそれであると仮定する。この例示的実装形態において、複数の対話検出機構によって生成される複数のスコアは、どの複数の認識機構が用いられるかを制御すべく用いられる。図4Nのフローチャートを参照すると、デバイスは、実際の対話に対してどの複数のコーパスを使用すべきかを決定する(S409´´において)。ユーザ検出処理(例えば、図4KにおけるS418´)がある閾値(図4NにおいてTユーザで示される)よりも大きいスコアを生成した場合、デバイスはユーザの認識を試み(S418´´において)、成功すれば、認識されたユーザの複数のコーパスを選択する(S450´´において)。デバイスがユーザ(好ましくは許可されたユーザ)の認識に失敗する場合、または、ユーザ検出処理/機構によって生成されるスコア(R7)が閾値(Tユーザ)を超えない場合、デバイスは、(複数の一般的なコーパスでありうる、)デバイスのユーザに関連付けられる複数のコーパスを選択する。選択された複数のコーパス(S409´´において)を有し、デバイスは実際の対話の決定(S411´´において)に進む。図4Nの例示的な実装形態において、対応する複数の認識機構を起動するかどうかを決定すべく、デバイスは様々なインターフェース検出機構によって生成される複数のスコアを使用しうる。例えば、図4Nに示されるように、ジェスチャー検出機構168によって生成される(例えば、図4KにおけるS410´において)スコア(R1)が閾値(図4NにおいてTジェスチャーで示される)を超える場合、デバイスはジェスチャー認識機構170を起動しうる(S410´´において)。同様に、顔検出機構168によって生成される(例えば、図4KにおけるS412´において)スコア(R2)が閾値(図4NにおいてT顔で示される)を超える場合、デバイスは顔認識機構184を起動しうる(S412´´において)。および同様に、音声/スピーチ検出機構176によって生成される(例えば、図4KにおけるS414´において)スコア(R3)が閾値(図4NにおいてTスピーチで示される)を超える場合、デバイスは音声/スピーチ認識機構178を起動し得て(S414´´において)、他のインターフェース検出機構190によって生成される(例えば、図4KにおけるS416´において)スコア(R4)が閾値(図4NにおいてT他で示される)を超える場合、デバイスは他のインターフェース機構190を起動しうる(S416´´において)。
An alternative implementation / approach that handles the actual embodiment assumes that the corpus to be used is that of the
理解および認識されるべきことは、対話を決定すべく用いられる様々な機構は、同時に、または、何らかの予め定められた順序(例えば、複数の検出機構によって生成されるスコアまたは重み付けされたスコアに基づいて)で進みうる、ということである。この説明を読むと当業者は気付き理解するであろうように、システムは、様々な認識機構が起動される順序によっては全く限定されない。 It should be understood and understood that the various mechanisms used to determine the interaction can be based on a simultaneous or some predetermined order (eg, scores generated by multiple detection mechanisms or weighted scores). It is possible to go on. As one skilled in the art will appreciate upon reading this description, the system is not limited in any way by the order in which the various recognition mechanisms are activated.
複数の認識機構のうちのいくつかは複数の他の認識機構と共に動作しうる、または、複数の他の認識機構と統合されうるということもまた理解および認識されるべきである。 It should also be understood and appreciated that some of the plurality of recognition mechanisms may operate with or be integrated with a plurality of other recognition mechanisms.
例示的な複数の実装形態を参照して説明される複数の閾値は(例えば、図4Nにおける)、静的または動的であり得て、いずれの特定の認識機構の起動もが、異なるおよび/または他の複数の要因に基づきうる。いくつかの実装形態において、複数の閾値のいくつかまたは全ては、デバイスが複数の前の対話から学習する情報に基づいて変更されうる。この説明を読むと当業者は気付き理解するであろうように、システムは、様々な認識機構を起動すべく用いられる複数の値または複数のトリガによっては全く限定されない。 The thresholds described with reference to exemplary implementations (eg, in FIG. 4N) can be static or dynamic, and activation of any particular recognition mechanism is different and / or Or it can be based on several other factors. In some implementations, some or all of the plurality of thresholds may be changed based on information that the device learns from multiple previous interactions. As will be appreciated and understood by those skilled in the art upon reading this description, the system is not limited in any way by multiple values or multiple triggers used to activate the various recognition mechanisms.
図4Nにおける図から明らかなように、複数の起こりうる対話を検出すべく用いられた複数の機構(例えば、視線検出および顔動き検出)のうちのいくつかは、複数の対話認識機構から必要とされ得ないか、または、用いられ得ない。従って、例えば、視線が検出されると、その情報は対話認識をトリガすべく用いられうるが、それは実際の認識からはもはや必要とされ得ない。(様々な機構によって生成される複数のスコアに加えて、)検出処理の間に用いられる情報のうちのいくつかは、複数の認識機構によって提供されうることが理解されるべきである。そうであるので、例えば、顔認識機構(図4NのS412´´において起動される)は、どの顔を認識しようと試みるべきかを知るべく、視線検出機構からの情報をすでに有しうる。代替的に、顔認識機構および/またはジェスチャー認識機構は、それら自身が視線検出および/または顔動き検出機構を起動しうる。
実際の対話の処理
As is apparent from the diagram in FIG. 4N, some of the mechanisms used to detect multiple possible dialogs (eg, gaze detection and face motion detection) are required from the multiple dialog recognition mechanisms. Cannot be done or cannot be used. Thus, for example, when a line of sight is detected, that information can be used to trigger dialogue recognition, but it can no longer be needed from actual recognition. It should be understood that some of the information used during the detection process (in addition to multiple scores generated by various mechanisms) can be provided by multiple recognition mechanisms. So, for example, the face recognition mechanism (activated in S412 ″ in FIG. 4N) may already have information from the line of sight detection mechanism to know which face to try to recognize. Alternatively, the face recognition mechanism and / or gesture recognition mechanism may themselves activate the gaze detection and / or face movement detection mechanism.
Processing the actual conversation
実際の対話を決定して(S411において)、デバイスは、実際の対話に関連付けられる複数の命令または複数のコマンドまたは複数のクエリを実行すべく進む(S413において)。実際の対話の決定および/または実行(S411、S413における)は、デバイス上でローカルに成されうる、または、それは、複数の追加機能エンティティ120からの処理または支援だけでなく、バックエンド104からの(例えば、データベース114からの)情報、バックエンドを介する何か他のエンティティ(例えば、ソーシャルネットワーキングサービス116またはコンテンツプロバイダ118等)との対話、を必要としうる(またはそれらから恩恵を受けうる)。実際の対話の実行はまた、別のデバイス102との対話も伴いうる。デバイスとバックエンドとの間の複数の対話は、図1における弧線#7に対応し、バックエンドデータベース114との複数の対話は弧線#8に対応し、ソーシャルネットワーキングサービス116またはコンテンツプロバイダ118との複数の対話はそれぞれ弧線#9および#10に対応し、複数の追加機能エンティティ120との複数の対話は弧線#11に対応する。他の複数のデバイスとのデバイスの複数の対話は図1における弧線#1に対応する。
Having determined the actual interaction (at S411), the device proceeds to execute the instructions or commands or queries associated with the actual interaction (at S413). The actual interaction determination and / or execution (at S411, S413) can be done locally on the device, or it can be from the backend 104 as well as processing or assistance from multiple additional
実際の対話の実行(S413において)は、以前にバッファリングされた情報(図4IのS404)を使用すべく、デバイスを必要としうる。例えば、スピーチ対話でありうる音をデバイスが検出およびバッファリングする場合、デバイスがまた、デバイスを見ている(見つめている)人を検出するまで(または検出しない限り)(例えば、図4JのS420、図4KのS420´)、デバイスはスピーチ認識を開始し得ない。従って、視線は後のスピーチ認識(例えば、図4NのS414´´)のためのトリガとしてふるまう。このアプローチは、人がデバイスをまだ見ていない間に与え始め、デバイスを見ている間に提供し続けるスピーチまたは他の情報(例えば、複数のジェスチャー)を、デバイスがキャプチャできるようにする。すでに開始され得た複数の対話を含む複数の対話の、後の認識のための複数のトリガとして、他の複数の対話(例えば、複数のジェスチャー、複数の顔の動き等)が用いられうるということが理解されるべきである。システムはバッファリングされた起こりうる対話を有するので、1または複数のトリガーイベントが生じると、そのバッファリングされた情報を使用できる。 The actual interaction execution (in S413) may require the device to use previously buffered information (S404 in FIG. 4I). For example, if the device detects and buffers a sound that may be a speech dialogue, the device also detects (or does not detect) a person who is looking (looking at) the device (eg, S420 in FIG. 4J). , S420 ′ of FIG. 4K), the device cannot start speech recognition. Therefore, the line of sight acts as a trigger for subsequent speech recognition (eg, S414 ″ in FIG. 4N). This approach allows the device to capture speech or other information (eg, multiple gestures) that it begins to give while the person is not yet looking at the device and continues to provide while looking at the device. Other conversations (eg, multiple gestures, multiple facial movements, etc.) can be used as multiple triggers for later recognition of multiple conversations, including multiple conversations that could already be initiated It should be understood. Since the system has a buffered possible interaction, the buffered information can be used when one or more trigger events occur.
この説明を読むと当業者は気付き理解するであろうように、複数のセンサ138によって検知および/または測定されうる任意の種類の情報はバッファリングされ得て、それから1または複数のトリガーイベントが検出された後に用いられうる。
学習
As one of ordinary skill in the art will appreciate upon reading this description, any type of information that can be sensed and / or measured by
Learning
先に記したように、複数の対話の検出および認識に用いられる様々な機構は、それらが時間と使用とを経てより正確になりうるように複数の学習機能を含みうる。いくつかの場合において、機構が特定のユーザについて学習するとき、その機構はそのユーザの対応する複数のコーパスを更新しうる。例えば、スピーチ認識機構が特定のユーザのスピーチを学習するとき、それは、その特定のユーザに関連付けられる複数のスピーチコーパスを更新しうる。 As noted above, the various mechanisms used for detecting and recognizing multiple interactions can include multiple learning functions so that they can become more accurate over time and use. In some cases, when a mechanism learns about a particular user, that mechanism may update that user's corresponding corpora. For example, when a speech recognition mechanism learns a particular user's speech, it may update multiple speech corpuses associated with that particular user.
個々の機構が、複数のユーザとのそれの対話から学習するのに加えて、デバイスそれ自身は、特定のユーザがどのようにしてデバイスと対話するかを学習し得て、その学習に基づいてそれの処理を最適化しうる。例えば、特定のユーザが複数のスピーチコマンドと組み合わせて常に同一のジェスチャー(例えば、デバイスに指さしする)を用いる場合、デバイスはそのパターンを学習できる。その例において、指さしのジェスチャーには、スピーチ認識のトリガとしてのより大きい重みが与えられうる。別の例として、特定のユーザが、複数の顔の動き(例えば、まゆを上げる)および特定の複数の単語と共に特定の手のジェスチャーを常に用いる場合、それらの特徴は、組み合わせで、デバイスによってより高い重みが与えられ得る。 In addition to individual mechanisms learning from their interactions with multiple users, the device itself can learn how a particular user interacts with the device and based on that learning Its processing can be optimized. For example, if a particular user always uses the same gesture (eg, pointing to the device) in combination with multiple speech commands, the device can learn the pattern. In that example, the pointing gesture can be given a higher weight as a trigger for speech recognition. As another example, if a particular user always uses a specific hand gesture with multiple facial movements (eg, raising eyebrows) and a specific plurality of words, those features are combined and more depending on the device High weight can be given.
様々な動作機構が、分離された複数の機構として図4Bにおける図に示されているが、これらの分離は例として、およびこの説明を補助すべく提供されているだけであり、この説明の範囲を限定する意図は全くない。この説明を読むと当業者は認識および理解するであろうように、図4Bにおける複数の分離は必要とされるわけではなく、複数の機構のいくつかまたは全ては、異なるおよび/または他の複数の機能的ユニットへ組み合わされ得て、それは1つの機能的動作機構への組み合わせを含む。例えば、ジェスチャー検出機構168およびジェスチャー認識機構170は、1つのジェスチャー機構の一部でありうる。同様に、音声/スピーチ検出機構176および音声/スピーチ認識機構178は、1つの音声/スピーチ機構の一部でありうる。また同様に、顔/視線検出機構184および顔/視線認識機構186は、1つの顔/視線検出および認識機構の一部でありうる。同様に、図4Cにおける複数の動作機構のストレージ155の論理的描写は、この説明の補助のために与えられるのであって、この説明の範囲を限定する意図は全くない。この説明を読むと当業者は認識および理解するであろうように、異なるおよび/または他の複数のストレージ機構が本明細書において可能であり、考えられる。
複数のデバイス状態、複数のデバイスのプロビジョニングおよび設定
Although various operating mechanisms are shown in the diagram in FIG. 4B as separate mechanisms, these separations are provided by way of example only and to assist in this description, and the scope of this description There is no intention to limit this. As one of ordinary skill in the art will appreciate and understand upon reading this description, multiple separations in FIG. 4B are not required and some or all of the multiple mechanisms may differ and / or other multiple Can be combined into one functional unit, which includes a combination into one functional operating mechanism. For example, gesture detection mechanism 168 and
Multiple device states, multiple device provisioning and configuration
本明細書において用いられるように、フレームワーク100内のデバイス102を参照して、「プロビジョニング(provisioning)」という用語は、デバイスによって用いられる様々なシステム機構のインストール(または更新)の処理を指す。プロビジョニングはデバイス上へのファームウェアまたはソフトウェアのインストールおよび/または更新を含みうる。本明細書において用いられるように、フレームワーク100内のデバイス102を参照して、「設定(configuring)」という用語は、デバイスによって用いられる様々な機構に対する動作上の複数のオプションおよび/または複数のパラメータの確立または設定の処理を指す。例えば、デバイスを設定するということは、デバイスに対して複数のパスワードを設定すること、デバイスに対して複数のネットワークパラメータを確立すること、などを含みうる。
As used herein, with reference to
ここで図6Aを参照すると、デバイス102は様々なプロビジョニングおよび設定状態にあると考えられうる。デバイス102は、それが複数のシステム機構でまだプロビジョニングされていない場合、プロビジョニング前(pre−provisioned)状態にある。デバイス102は、それが複数のシステム機構でプロビジョニングさたが、ユーザ110とまだ関連付けられていない場合、一般的なプロビジョニング(generic provisioned)状態にある。デバイス102は、それがまだ設定されていない場合、未設定(unconfigured)状態にある。デバイス102は、それがシステム100上で使用されるべく設定されたが、特定のユーザ110に対して設定されてはいない場合、一般的な設定(generic configured)状態にある。デバイス102は、それが特定のユーザ110に対してプロビジョニングされた場合、ユーザプロビジョニング(user−provisioned)状態にあると言われる。デバイス102は、それが特定のユーザ110に対して設定された場合、ユーザ設定(user−configured)状態にあると言われる。デバイス102の様々な起こりうる状態遷移(T1、T2...T6で示される)が図6Aに示されている。これらの状態および遷移は、単に記述的な、および例示的なものであり、この説明の補助をするためだけにここで用いられる。これら様々な状態、それらが何と称されるか、またはここで説明される複数の状態遷移によって、このシステムが限定されることはないことが理解されるべきである。これらの状態および遷移は、デバイス固有の機能とは独立でありうることもまた理解されるべきである。
Referring now to FIG. 6A, the
フレームワーク100内でのデバイス102のプロビジョニングおよび設定に対して2つの態様がある。第1の態様は基本的に任意のユーザから独立しており、全てのシステム機構のその時々で最新の、および/またはローカライズされた複数のバージョンにデバイス102を従わせる。この態様は、プロビジョニング前から一般的なプロビジョニングへのデバイスの状態遷移T1に対応し、および、未設定から一般的な設定への遷移T2に対応する可能性もある。
There are two aspects to provisioning and configuration of the
フレームワーク100内でデバイス102をプロビジョニングおよび設定する第2の態様は、デバイスをデバイスに現在関連付けられる特定のユーザ110の複数の設定/複数の要求に従わせる。以前に一般的にプロビジョニングされ、または一般的に設定されたデバイスにとっては、この態様は、一般的なプロビジョニングからユーザプロビジョニングへの状態遷移T3に対応し、および、一般的な設定からユーザ設定への遷移T4に対応する可能性もある。デバイスの特定のユーザとの関連付けは、おそらく単に一時的に、または限定された複数の条件(例えば、位置、継続時間、使用等)下で変化しうる。従って、プロビジョニングおよび設定のこの第2の態様はまた、ユーザプロビジョニングデバイスが異なるユーザに対してプロビジョニングされる状態遷移T5に、および/または、ユーザ設定デバイスが異なるユーザに対して設定される状態遷移T6に対応しうる。
A second aspect of provisioning and configuring the
従って、デバイスのプロビジョニングの処理は、デバイスへの全ての機構(例えば、ソフトウェア、ファームウェア等)の複数の最新バージョンのインストールを含みうる。デバイス102が製造されるとき、メーカ108は典型的に、デバイスに、複数のシステム機構134のあるバージョンをインストールする(デバイス固有の機能に対するものなどの他の複数の機構の複数のバージョンと共に)。しかしながら、それらのバージョンは製造時においてすら古いものであることが多い。従って、プロビジョニング処理において、ブートストラップ/プロビジョニング機構152は、最初の電源投入時、またはデバイスが配送または販売される前ですら、そのいずれかにおいて、いくつかまたは全ての機構(例えば、ソフトウェア、ファームウェア等)を更新しうる。いくつかの場合において、デバイス102は、全ての機構の更新を試みるべく、一定期間(例えば、36時間)の後起動し、それからブートストラップ/プロビジョニング機構152を動作させるタイマ設定を有する低電力モードで配送されうる。デバイス102は、電源投入されると、既知の複数の無線(Wi−Fi)ネットワーク、またはインターネットに接続する他の複数のやり方を探すであろう。好ましくはデバイスは、既知の、および信頼できる複数のネットワークについての情報で(それの一般的な設定の一部として)予め設定され、デバイスは、複数の更新が得られうる既知の、および信頼できるソース位置にネットワーク101を介して接続すべく、それらのネットワークを用いる。ネットワーク接続が発見され確立されると、デバイス102は信頼できるソースから、それ自身で更新を開始できる。このように、デバイスがユーザの元に届く場合(例えば、それがユーザに販売された後)、デバイスは全ての機構の最も最近のバージョン(すなわち最新のバージョン)を有すべきであり、そのユーザに対して完全に(または実質的に完全に)プロビジョニングされるべきである。
Thus, the process of provisioning a device may include installing multiple latest versions of all features (eg, software, firmware, etc.) on the device. When
複数のコーパス(例えば、スピーチ認識、ジェスチャー認識等)を必要としうるそれらの機構に対し、最初はデバイスに複数の一般的なコーパスがインストールされる。 For those mechanisms that may require multiple corpora (eg, speech recognition, gesture recognition, etc.), multiple generic corpora are initially installed on the device.
好ましくは各デバイス102は、デバイスがバックエンド104とのセキュアなコンタクトを確立できるようにするのに十分な情報で設定される(例えば、製造時に)。この目的を達成すべく、デバイスに対する最初の一般的な設定は、デバイスとバックエンド104との間のセキュアな無線(例えば、セルラー方式またはWiFiの)通信をサポートすべく、様々な無線ネットワークに対する複数の名称および複数のパスワード、および/または複数の一般的な証明書を含みうる。セキュアな(secure)という用語は、信頼できる、および好ましくはスプーフィングされていない複数の通信チャネルを指すべくここで用いられる。セキュリティの程度は、デバイスのタイプに応じたものであり、複数の異なるタイプのデバイスは、デバイスツーデバイスおよびデバイスツーバックエンド通信のために複数の異なる程度のセキュリティを必要としうる。
Preferably, each
メーカによる、デバイスが任意のユーザ関連付けられるまでの処理は、図6Aにおける状態遷移T1(T2の可能性もある)に対応する。 The process by the manufacturer until the device is associated with any user corresponds to the state transition T1 (possibly T2) in FIG. 6A.
システム100を使用するように動作すべく、各デバイス102は好ましくはユーザ110に関連付けられる。デバイスはユーザに関連付けられないこともある(例えば、最初に製造されるとき)が、デバイスは2人以上の所有者に関連付けられないこともある(および、好ましくは一度に2人以上のユーザに関連付けられ得ない)。本明細書において説明されるように、デバイス102は2人以上の人またはユーザ110によって用いられうるが、システム100内ではデバイスは1人のユーザに関連付けられるだけである。
Each
いくつかの場合において、製造および/またはプロビジョニング処理の、プロビジョニング段階の一部として、デバイスはユーザに関連付けられうる(例えば、ユーザがデバイスを注文または購入し、デバイス102の製造前にユーザの識別情報(ユーザID)を提供する場合)。
In some cases, as part of the provisioning phase of the manufacturing and / or provisioning process, the device may be associated with the user (e.g., the user orders or purchases the device and the user's identification information before the
第1のプロビジョニング処理(上述された)は、デバイスがユーザに関連付けられることなく行われうる。好ましくはプロビジョニングおよび設定の第2のレベルは、デバイス102がユーザ110に関連付けられると行われる。特に、デバイス102がユーザに関連付けられると、そのデバイス102はそのユーザから設定情報(例えば、複数のネットワークIDおよび複数のパスワードなどの無線ネットワーク情報)を取得することができる。デバイスが特定のユーザについて構成される場合、デバイスはユーザデータベース130からそのユーザについての情報を取得しうる。例えば、デバイス102はユーザプロファイル情報、複数のユーザローカルコーパス、および/または、そのユーザについての設定情報を取得しうる。この情報は、例えば、複数の動作機構155によって用いられるべく、デバイスによって格納されうる。例えば、デバイス102はユーザデータベース130から複数のユーザローカルコーパスを取得し得て、デバイス上の対応する適切な複数のインターフェース機構のストレージ163にそれらのコーパスを格納しうる。このように、ユーザが特定のデバイスまたは特定の種類のデバイスをすでに用いた場合、新しく取得したデバイスは、そのユーザとの様々な対話を検出および認知すべく再トレーニングされる必要はないといえる。
The first provisioning process (described above) may be performed without the device being associated with the user. Preferably, the second level of provisioning and configuration occurs when
ユーザデータベース130からのいくつかの情報(例えば、ユーザの複数のデバイスのリスト―そのユーザによって所有される複数のデバイスの複数のデバイスIDのリスト、およびユーザの複数の友人のリスト―ユーザの複数の友人の複数のユーザIDのリスト)は、デバイス上で一方向符号化で符号化されうる(例えば、MD5などの暗号化ハッシュを用いて)。このように、複数のデバイスIDおよび複数のユーザIDは公開されないが、(後に説明されるように)、複数のリスト中の情報が用いられうる(例えば、2つのデバイス間の可能性のある複数の関係を評価すべく)。 Some information from the user database 130 (e.g., a list of multiple devices of the user—a list of multiple device IDs of multiple devices owned by the user, and a list of multiple users of the user—multiple of the user A list of friends' multiple user IDs) may be encoded with a one-way encoding on the device (eg, using a cryptographic hash such as MD5). In this way, multiple device IDs and multiple user IDs are not disclosed, but (as will be explained later) information in multiple lists can be used (eg, possible multiples between two devices). To evaluate the relationship).
各デバイスのプロビジョニングおよび設定状態を反映すべく、デバイスおよび複数のユーザデータベースは好ましくは更新される(好ましくは、ほぼリアルタイムで)ので、好ましくはデバイスデータベースはシステム中の各デバイスの状態および設定の現在の表示を提供する。ネットワーク101に接続されていない、または接続できない、もしくは何か他の方法(例えば、セルラーシステム)を用いる複数のデバイスはバックエンドに情報を提供するのを延期しうることが理解されるべきである。しかしながら、好ましくは各デバイスは、ネットワーク101に接続される間、および再接続するときに、その状態情報でバックエンドを更新する。同様に、何らかのやり方でバックエンド104にデバイス102が接続する場合、デバイスは好ましくは、デバイスのユーザに関するあらゆる更新データを含む、バックエンドからの複数の更新データを得る。
The device and multiple user databases are preferably updated (preferably in near real time) to reflect the provisioning and configuration status of each device, so preferably the device database is current for the status and configuration of each device in the system. Provide a display of It should be understood that multiple devices that are not connected to network 101, cannot connect, or use some other method (eg, a cellular system) may postpone providing information to the backend. . However, preferably each device updates its backend with its state information while connected to the
特に、デバイス上の現在の複数のコーパスを反映すべく、各デバイス102はデバイスデータベース128中の複数のコーパスを定期的に更新すべきである。これらの更新は、定期的に(例えば、一日に一回)、または、デバイスがデータベースに接続できて(バックエンド104を介して)、デバイスデータベースが更新を必要としていると決定できるときはいつも行われうる。
In particular, each
加えて、ユーザデータベース130中の複数のコーパスの情報は、各ユーザのデバイス上の複数のコーパスの現在状態を反映すべきである。従って、ユーザデータベース130は、そのユーザの最新のコーパスを反映すべく更新されるべきである(例えば、デバイスデータベースと同様に)。ユーザデータベース130は、複数のユーザローカルコーパスおよび複数のユーザ拡張コーパスを含みうることを思い出されたい。複数のユーザローカルコーパスはユーザの複数のデバイス上の複数のコーパスに対応する。複数のユーザ拡張コーパスは、複数のユーザ対話を処理すべく、バックエンドまたは他の複数の外部システム(例えば、追加機能120)によって用いられる複数のコーパスに対応する。例えば、複数のユーザローカルコーパスは、デバイス102が用いることができる複数の限定されたスピーチ認識コーパスを含み得て、一方で、複数のユーザ拡張コーパスは、例えば、追加機能120によって用いられることができる、そのユーザの複数の拡張されたスピーチ認識コーパスを含みうる。
In addition, the information on the corpora in the
各ユーザの複数のコーパスは、ユーザの複数のデバイスの種類または複数の能力に基づいて、ユーザデータベース130上で編成または格納されうる。これは、システムが複数の種類のデバイスをサポートすることを可能にする。ユーザが特定のデバイスからの複数のコーパスでユーザデータベース130を更新する場合、データベースは好ましくは、デバイスの種類および複数の能力に基づいてそれらのコーパスを格納する。
Multiple corpora for each user may be organized or stored on the
好ましくは、デバイスデータベース128およびユーザデータベース130は複数のコーパスの前のバージョンを維持する。
Preferably,
いくつかの場合において、ユーザは同一タイプの複数のデバイス(例えば、複数のスピーカ)を有しうる。ユーザの複数のデバイス(特に同一タイプの複数のデバイス)のそれぞれにある複数のコーパスは、そのタイプのデバイスに対して、そのユーザの複数のコーパスの最新のバージョンを有するのが好ましい。従って、各デバイスは定期的にバックエンドにコンタクトして、それが複数のコーパスの最新バージョンを有しているかどうか決定すべきである。そうでない場合は、デバイスはユーザデータベース130からの複数のコーパスの最新バージョンを得うる。
In some cases, a user may have multiple devices of the same type (eg, multiple speakers). Preferably, the corpora on each of the user's devices (especially devices of the same type) have the latest version of the user's corpora for that type of device. Therefore, each device should contact the back end periodically to determine if it has the latest version of multiple corpora. Otherwise, the device may obtain the latest versions of the corpora from the
デバイスのプロビジョニングおよび設定は、最初にユーザと関連付けられれば、図6Aの状態遷移T3(およびT4の可能性もある)に対応する。
デバイスの製造およびプロビジョニング
Device provisioning and configuration, if initially associated with a user, corresponds to state transition T3 (and possibly T4) of FIG. 6A.
Device manufacturing and provisioning
図6B−図6Iは複数のデバイス102の製造の複数の例を示している。デバイスメーカ108は好ましくは、システム100から複数のシステム対応型デバイス102を製造べく権限を与えられる。
FIGS. 6B-6I illustrate multiple examples of manufacturing
図6Bにおける例では、各デバイスはメーカによって提供される固有シリアルナンバを有し、各デバイスはデバイスの固有シリアルナンバに応じたデバイスIDを有する。図6Cにおける例では、以下で説明されるように、各デバイスはMシステムによって提供される固有シリアルナンバを有する。Mシステムによって用いられる固有シリアルナンバは、デバイスメーカによって用いられる他の複数のシリアルナンバとは異なりうることが理解されるべきである。 In the example in FIG. 6B, each device has a unique serial number provided by the manufacturer, and each device has a device ID corresponding to the unique serial number of the device. In the example in FIG. 6C, each device has a unique serial number provided by the M system, as described below. It should be understood that the unique serial number used by the M system may be different from other serial numbers used by the device manufacturer.
図6Bおよび図6Cにおける複数の図を参照すると、一例示的実施形態において、デバイスメーカ108はデバイス証明書発生器172(バックエンド104の一部でありうる)に複数のデバイスシリアルナンバを(個々に、またはバッチで、のいずれかで)提供する(S601において)。デバイス証明書発生器172はメーカによって提供されるデバイス情報(例えば、シリアルナンバ)を用いて、そのデバイスに対する(すなわち、そのシリアルナンバに関連付けられた、またはこれから関連付けられるデバイスに対する)固有デバイスIDを作成する(S602において)。その固有デバイスIDはデバイスCA124に送信されて(S603において)、デバイスCAはそれをデバイスCA124によってサインされた証明書に入れ込む。デバイスCA124はそれから、サインされた証明書を送信してメーカに返し(S604、S605において)、デバイスに入れ込まれる。固有デバイスIDを有するサインされた証明書はデバイスの証明書150に格納される。
6B and 6C, in one exemplary embodiment,
この説明を読むと当業者は気付き理解するであろうように、異なるおよび/または他の情報(S601においてメーカ108によって提供されるもの以外、またはそれに加えて)は、複数のデバイス証明書を生成すべくデバイス証明書発生器によって用いられうる(S602において)。
As one skilled in the art will appreciate upon reading this description, different and / or other information (other than or in addition to that provided by
好ましくは、メーカによって提供される情報(S602における)はまた、デバイスの複数の機能および/または複数のコンポーネントについての情報を含む。 Preferably, the information provided by the manufacturer (at S602) also includes information about multiple functions and / or multiple components of the device.
デバイス証明書が生成されサインされてしまえば、その証明書(証明書のコピーも含む可能性がある)についての情報はバックエンド112に送信される(S606において)。証明書に関連付けられるデバイスIDは、データベースへのキーまたはインデックスとして、デバイスデータベース128によって用いられうる。バックエンド104は複数のデバイスIDを生成すべく用いられる情報を提供されるので、デバイスについての情報(例えば、その複数の機能)はバックエンドによってすでに知られ得て、ゆえにこれらはデバイスデータベース128中のデバイスIDに関連付けられうる。
Once the device certificate is generated and signed, information about the certificate (which may include a copy of the certificate) is sent to the backend 112 (at S606). The device ID associated with the certificate can be used by the
好ましくは証明書中の情報は、デバイスによって適切な復号キーでのみ読み出されうるように、暗号化される。 Preferably the information in the certificate is encrypted so that it can only be read by the device with an appropriate decryption key.
デバイス証明書がバックエンド104によって生成される(例えば、デバイス証明書発生器172を介して)と、その証明書は1つのデバイス(証明書に関連付けられた固有デバイスIDを有する)に関連付けられ得るのみであることが理解されるべきである。何らかの理由で、デバイスがアクティブでなくなる、または紛失する(または決して実際には製造されない)場合、そのデバイスIDおよび証明書は再利用されるべきではない。 Once the device certificate is generated by backend 104 (eg, via device certificate generator 172), the certificate can be associated with one device (with a unique device ID associated with the certificate). It should be understood that only. If for some reason a device becomes inactive or lost (or never actually manufactured), its device ID and certificate should not be reused.
メーカ108とバックエンド104との間の複数の対話(デバイス証明書発生器172を介する)(S601、S605、およびS606における)は、図1における対話#13に対応する。デバイスCA124とバックエンド104との間の複数の対話は(デバイス証明書発生器172を介する)、図1における対話#6に対応する。
A plurality of dialogs (through the device certificate generator 172) (in S601, S605, and S606) between the
いくつかの場合において、デバイス証明書発生器172は、メーカからの複数のシリアルナンバのリストに基づいて、メーカに証明書を大量に提供しうる。
In some cases, the
代替的および現在好適な例示的な実施形態において、システムは、複数のシリアルナンバおよび複数の関連付けられる証明書の複数のかたまりを生成(または取得)し、それらのシリアルナンバおよび証明書を複数のかたまりで複数のメーカに提供する。従って、図6Dおよび6Eにおける複数の図を参照すると、バックエンド104は複数のシリアルナンバを生成し、それらをデバイス証明書発生器172´に提供する(S651において)。以前の例におけるように、デバイス証明書発生器172´はバックエンド104の一部であり得て、および/または、バックエンド104と同じ位置に配置されうる。
In an alternative and presently preferred exemplary embodiment, the system generates (or obtains) a plurality of chunks of a plurality of serial numbers and a plurality of associated certificates, and the plurality of chunks of the serial numbers and certificates. To multiple manufacturers. Accordingly, referring to the diagrams in FIGS. 6D and 6E, the back end 104 generates a plurality of serial numbers and provides them to the
デバイス証明書発生器172´はバックエンドによって提供される情報(例えば、シリアルナンバ)を用いてシリアルナンバに関連付けられた、またはこれから関連付けられるデバイスに対する固有デバイスIDを作成する。その固有デバイスIDはデバイスCA124に送信され(S653において)、デバイスCA124はそれをデバイスCA124よってサインされる証明書へ入れ込む。それから、デバイスCA124はサインされた証明書をデバイス証明書発生器172´へ送信して返し(S654において)、デバイス証明書発生器172´はそれをバックエンドに送信して返す(S655において)。固有デバイスIDを備えるサインされた証明書は、デバイスの証明書150に格納される。
The
複数の証明書中の情報は、それが、権限を与えられた複数のデバイスによってのみ読み出されうるように、好ましくは暗号化される。デバイス証明書発生器172´は、デバイスCA124に証明書を提供する前に、シリアルナンバおよび固有デバイスIDを暗号化しうる。
Information in multiple certificates is preferably encrypted so that it can only be read by authorized devices. The
この説明を読むと当業者は気付き理解するであろうように、バックエンド104は複数のシリアルナンバを提供しているので、それらの数字は、複数のデバイスIDを形成すべく少なくとも部分的に用いられうる。 As those skilled in the art will appreciate upon reading this description, since the backend 104 provides multiple serial numbers, these numbers are used at least in part to form multiple device IDs. Can be.
バックエンド104は複数のシリアルナンバおよび対応する複数の証明書を、好ましくは、そのような複数の数字と複数の証明書とのかたまりで、デバイスメーカ108に提供(S656において)する。メーカは複数のデバイス中にそれらの証明書のいくつかまたは全てを用い得て、バックエンド104にそれが用いる複数のシリアルナンバ/複数の証明書のリストを提供する(S657において)。
The back end 104 provides a plurality of serial numbers and a corresponding plurality of certificates to the
バックエンドは全てのシリアルナンバのリストおよび全ての証明書の複数のコピーを有しているので、それは用いられる複数の数字を追跡でき、それによって、複数のメーカによって提供される情報を検証できることが理解されるべきである。例えば、メーカが特定のデバイスにおける特定のシリアルナンバの使用の報告を失敗する場合、バックエンドは、その特定のデバイスがシステムに接続するときにそのシリアルナンバの使用を検出するであろう。同様に、メーカが複数のデバイスに同一のシリアルナンバ/証明書の組み合わせを用いる場合、バックエンドはその重複を検出するであろう。 Since the backend has a list of all serial numbers and multiple copies of all certificates, it can track multiple numbers used, thereby verifying information provided by multiple manufacturers. Should be understood. For example, if a manufacturer fails to report the use of a particular serial number on a particular device, the back end will detect the use of that serial number when that particular device connects to the system. Similarly, if a manufacturer uses the same serial number / certificate combination for multiple devices, the backend will detect the duplication.
図6Eにおけるフローチャートは、図6Dにおいて説明される製造の実施形態の複数の態様を示している。図6Eにおける鉛直方向の破線は、どの複数の態様がシステムによって実行され、および、どの複数の態様がメーカによって実行されるか、を示すべく設けられている。システムは複数のシリアルナンバおよび複数の証明書を生成し(S661において)、これらを、好ましくは複数のナンバ/複数の証明書の複数のかたまりで、バックエンドに提供する(S662において)。メーカは複数のナンバ/複数の証明書のかたまりを取得し(S663において)、それらののうちのいくつかを複数のデバイスに用いる(S664において)。メーカは、どの複数のシリアルナンバ/複数の証明書を用いたかを報告し(S665において)、バックエンドは用いられた複数のシリアルナンバ/複数の証明書のリストを取得する(S666において)。 The flow chart in FIG. 6E illustrates several aspects of the manufacturing embodiment described in FIG. 6D. The vertical dashed lines in FIG. 6E are provided to indicate which aspects are performed by the system and which aspects are performed by the manufacturer. The system generates multiple serial numbers and multiple certificates (at S661) and provides them to the backend (at S662), preferably in multiple chunks of multiple numbers / multiple certificates. The manufacturer acquires a group of a plurality of numbers / a plurality of certificates (in S663), and uses some of them for a plurality of devices (in S664). The manufacturer reports which serial number / multiple certificates have been used (in S665), and the back end obtains a list of the serial numbers / multiple certificates used (in S666).
いくつかの実装形態において、メーカはデバイスタイプ、機能等などの追加の情報を報告しうる(S665において)。
プロビジョニング、設定、およびユーザへの関連付け
In some implementations, the manufacturer may report additional information such as device type, function, etc. (in S665).
Provisioning, configuration, and association to users
デバイス102の、例示的な最初のプロビジョニングおよび設定(図6Aの状態変化T1およびT2にそれぞれ対応する)が、図6Fのフロー図に示されている。この段階において、デバイスはそれに関連付けられるデバイスIDを有することが仮定される(上述されたように)。メーカは、デバイス102に、必要に応じて、必要とされる複数の機構および他の複数のコンポーネント(例えば、複数のシステム機構134、複数のセンサ138、複数の通信142)を提供する(S608において)。これらの機構および他の複数のコンポーネントは、複数のデバイス固有のコンポーネントへの複数の接続を備える単一の基板またはキットの形で提供されうるか、または、それらは複数のデバイス固有のコンポーネントと完全にまたは部分的に統合されうる。キットまたは基板として提供される場合、全てのコンポーネントがアクティブでありうる、またはアクティブ化されうるわけではない。例えば、複数の特定のコンポーネントは、デバイスの位置、デバイスの種類、または、それらの後のアクティベーションに対してユーザらが追加的な料金を請求されるという理由に基づき、非アクティブ化されうる。
An exemplary initial provisioning and configuration of device 102 (corresponding to state changes T1 and T2 in FIG. 6A, respectively) is shown in the flow diagram of FIG. 6F. At this stage, it is assumed that the device has a device ID associated with it (as described above). The manufacturer provides the
複数の機構がインストールされて、デバイスは初期設定が提供される(S610において)。初期設定は、様々な機構用に、必要に応じて、複数の一般的なコーパスを含みうる。初期設定はまた、デバイスのバックエンドへの接続をサポートする情報(例えば、既知の、または信頼できるネットワークについての情報等)を含みうる。 Multiple features are installed and the device is provided with initial settings (at S610). The initial settings can include multiple generic corpora, as needed, for various mechanisms. The initial settings may also include information (eg, information about known or trusted networks) that supports connecting the device to the back end.
好ましくはデバイスは、バージョン情報および複数のコーパスの詳細を含む、全ての機構およびそれらの設定の現在状態のリストまたはマニフェストを維持する。デバイスが最初にプロビジョニングされ、および設定されると(例えば、製造中に)、その現在のマニフェストは、デバイスに関連付けられるデータベースエントリにおいて格納すべくバックエンドに提供される(S612において)。 Preferably, the device maintains a list or manifest of the current state of all features and their settings, including version information and details of multiple corpora. When a device is initially provisioned and configured (eg, during manufacturing), its current manifest is provided to the back end for storage in a database entry associated with the device (at S612).
上述の通り、プロビジョニングされた/設定されたデバイスは、ユーザに関連付けられる前に、その複数の機構および設定を更新しうる(S614において)。例えば、デバイスは、配送中にそのファームウェアを更新すべく、既知の/信頼できるWi−Fi接続を用いうる。全てのそのような更新が、デバイス上およびデバイスデータベース中の両方において、デバイスのマニフェストに反映されるべきである(S616において)。デバイスデータベースはデバイスへの更新の履歴を維持しうる。デバイスによって用いられるいくつかの機構(例えば、音声/スピーチ認識、ジェスチャー認識等)は複数の第三者によって提供されうる。それらの場合において、機構はそれに含まれるファームウェアおよび/または複数のコーパスを有し得て、それらのコンポーネントに対する複数の更新は複数の第三者から取得されなければならないといえる。
ユーザ登録
As described above, a provisioned / configured device may update its multiple features and settings before being associated with a user (at S614). For example, the device may use a known / reliable Wi-Fi connection to update its firmware during delivery. All such updates should be reflected in the device's manifest, both on the device and in the device database (at S616). The device database may maintain a history of updates to devices. Some mechanisms used by the device (eg, voice / speech recognition, gesture recognition, etc.) may be provided by multiple third parties. In those cases, the mechanism may have firmware and / or multiple corpora included therein, and multiple updates to those components must be obtained from multiple third parties.
user registration
各ユーザ110は、システム100内で少なくとも1つの固有のユーザ識別情報(ID)を有さなくてはならないことを思い出されたい。好ましくは各ユーザ110は、システム100に登録することによってそれらのユーザIDを取得する。ユーザ登録は、オフライン処理によって、バックエンドへのウェブインターフェースによって、または、デバイス102によって、行われうる。ユーザは何らかのデバイス102を有する前に登録しうる。ユーザの登録(上で説明されたような)の一部として、各ユーザはシステム100内で固有でなくてはならないユーザIDを有する。ユーザが登録すると、そのユーザに対するエントリは、好ましくはそのユーザのユーザIDでプライマリにキー付け、またはインデックス付けされるユーザデータベース130において作成される。ユーザのデータベースエントリ(それらのユーザIDに対応する)は、登録処理中にポピュレートされて、ユーザによって提供される情報(例えば、フォームまたはアンケートによって)、および/またはユーザが(直接的にまたは間接的に)提供する情報に基づいてシステムが取得または導き出すことができる情報を含める。例えば、ユーザがソーシャルネットワークIDを用いる、またはソーシャルネットワークを介して登録する場合、そのソーシャルネットワークからのユーザについての情報はデータベース中に含まれうる。
Recall that each
ユーザデータベース130は好ましくはユーザIDを用いてインデックス付けされるが、この説明を読むと当業者は認識し理解するであろうように、ユーザデータベース中のデータにアクセスすべく、異なるおよび/または他の複数のキーが用いられうる。
The
上記したように、複数のデバイス102は各ユーザ110に関連付けられうる。複数のデバイスは、好ましくは階層的ステータスを有さない一方で、それは、ユーザが取得する第1のデバイスの設定の処理を説明するのに有用である。
As described above,
図2に示されるように、各ユーザは好ましくは、格納された、そのユーザのユーザIDおよび関連付けられるユーザ証明書175を有する、少なくとも1つのユーザデバイス174(例えば、スマートフォン、または同類のもの)を有す。ユーザデバイス174はまた、1または複数のシステム機構178を(例えば、ユーザデバイス174上で動作するアプリケーション(app)の形で)有しうる。システム機構/ユーザアプリケーション178は、システム100内でのユーザデバイス174の設定、ならびにユーザデバイスの他の複数の態様の設定をするやり方をユーザに提供する。特に、ユーザデバイス174は、Wi−Fiおよび他のネットワーク情報(複数のローカルWi−Fiネットワークの識別データ、複数のサービスセット識別子(SSID)、および複数のパスワード、などの)を設定するやり方をユーザに提供しうる。この情報は、ユーザデバイス174上に設定情報180として格納され得て(図2)、また、ユーザデータベース130中にユーザに関連付けられる設定情報として格納されうる(図3A)。この説明を読むと当業者は気付き理解するであろうように、この設定情報は慎重に扱うべきものであり、秘密裡に維持されるべきである(例えば、暗号化によって)。
As shown in FIG. 2, each user preferably has at least one user device 174 (eg, a smartphone or the like) that has a stored user ID of the user and an associated user certificate 175. Yes.
ユーザデバイス174はデバイス102の例でありうることが理解されるべきである。
It should be understood that the
例示的なユーザ登録が図6Gを参照して説明される。まず、(S620において)ユーザはシステムからユーザIDを取得する(例えば、上述されたように)。それからシステムは、そのユーザのためのユーザデータベースエントリを作成する(好ましくは、ユーザIDでキー付け、またはインデックス付けされて)(S622において)。それからシステムはそのユーザのための複数のそのデータベースフィールドをポピュレートする(S624において)。
デバイスのユーザとの関連付け
Exemplary user registration is described with reference to FIG. 6G. First, the user obtains a user ID from the system (in S620) (eg, as described above). The system then creates a user database entry for the user (preferably keyed or indexed with the user ID) (at S622). The system then populates the database fields for the user (at S624).
Associating devices with users
デバイスがシステム100内で完全に動作すべく、各デバイス102はユーザ110に関連付けられる必要がある。どのユーザとも関連付けられていないデバイスは、依然としてそのデバイス固有の機能のうちのいくつかまたは全てを提供できうることが理解されるべきである。
Each
ユーザがデバイス102(例えば、新たなデバイス)を取得するとき、そのデバイスはそのユーザに関連付けられる必要がある。例示的な、デバイスのユーザとの関連付けが、図6Hを参照して説明される。まず(S626において)、デバイスはデバイスデータベース128およびユーザデータベース130においてユーザに関連付けられる。デバイスデータベース128において、デバイスの所有者はユーザのユーザIDに設定される。ユーザデータベース130において、デバイスの固有デバイスIDがユーザのユーザIDに関連付けられた複数のデバイスに追加される。デバイスについての情報は、ユーザデータベース130中の他の複数のフィールドに追加され、ユーザのこのデバイスとの関連付けを反映すべく履歴が更新されうる。
When a user acquires a device 102 (eg, a new device), that device needs to be associated with that user. An exemplary device association with a user is described with reference to FIG. 6H. First (at S626), the device is associated with the user in the
いくつかの実施形態において、デバイスは、ユーザにユーザの別のデバイスでデバイスをタッチ(またはタップ)させることで、ユーザに関連付けられるようになりうる。好適な複数の実装形態において、特定のデバイスがまだどのユーザによっても所有されていない場合、初めてその特定のデバイスが他のデバイスによってタップされる時、その特定のデバイスは他のデバイスのユーザに関連付けられるようになる。特定のデバイスは、バックエンドデータベースから、および/または、それをタップしたユーザのデバイスから、ユーザの設定情報を取得しうる(図6HにおけるS628)。特定のデバイスがすでにユーザに関連付けられている場合、別のデバイスからの次のタッチ(またはタップ)は、その特定のデバイスに複数の一時的な許可を提供すべく用いられうる。そうして例えば、複数のデバイスが何らかのやり方で結合されることを可能にしたり、または、その特定のデバイスが、それをタッチしたデバイスからいくつかの設定情報を(好ましくは一時的に)引き継ぐことを可能にする。複数のデバイスがペアにされたら(例えば、タッチによって)、次にそれらはBluetooth(登録商標)信号またはWiFi信号、または同類のものを介して情報を共有しうる。情報の共有は複数の形態で成されうることが理解されるべきである。例えば、コンテンツ(例えば、音楽またはビデオコンテンツ)がWiFiを介して共有されうる一方で、メタデータはBluetooth(登録商標)を介して共有されうる。さらに、以前にペアにされたことがあれば、2つのデバイスは、連携を継続または再確立すべく互いの存在を検出しうる(例えば、それらの範囲内でのBluetooth(登録商標)信号によって)。 In some embodiments, a device can become associated with a user by having the user touch (or tap) the device with another device of the user. In preferred implementations, if a particular device is not already owned by any user, the first time that particular device is tapped by another device, that particular device will be associated with the other device's user. Be able to. The specific device may obtain user setting information from the backend database and / or from the device of the user tapping it (S628 in FIG. 6H). If a particular device is already associated with the user, the next touch (or tap) from another device can be used to provide multiple temporary permissions to that particular device. Thus, for example, it allows multiple devices to be combined in some way, or that particular device takes over (preferably temporarily) some configuration information from the device that touched it Enable. Once multiple devices are paired (eg, by touch), they can then share information via a Bluetooth® signal or WiFi signal, or the like. It should be understood that the sharing of information can take several forms. For example, content (eg, music or video content) can be shared via WiFi, while metadata can be shared via Bluetooth. Furthermore, if previously paired, the two devices can detect each other's presence to continue or re-establish cooperation (eg, via Bluetooth signals within their range). .
好ましくは各デバイスはそのデバイスに関連付けられるユーザについてのいくつかの情報(例えば、図4Aのシステム機構/データ134)を維持する。デバイス上の情報は、ユーザについての情報を反映すべく更新されうる(S628において)。この情報は、ユーザデータベース130中のユーザのユーザIDに関連付けられる情報のうちの少なくともいくつかを含みうる。例えば、デバイス102上に格納される情報は、ユーザのユーザID、ユーザのプロファイルからの情報、ユーザに関連付けられる複数の他のデバイスについての情報、ユーザの複数の友人についての情報(例えば、彼らのそれぞれのユーザIDによる)、複数のユーザ証明書、ユーザの複数のコーパス、およびユーザ設定情報を含みうる。デバイス上のユーザの情報のうちの少なくともいくつかは、好ましくはセキュアなやり方、例えば、暗号化された形態で、格納され、維持されるべきであることが理解されるべきである。
Preferably, each device maintains some information about the user associated with that device (eg, system features /
デバイスが、ユーザの情報を含めるべく更新されたら(S628において)、デバイスデータベース128は、デバイスに成された複数の変更を反映させるべく更新される必要がありうる(S630において)。例えば、ユーザの複数のローカルコーパスがデバイス上に格納されるならば(どんな複数のコーパスがすでにそこに存在しようとも、という代わりに、例えば、複数の一般的なコーパス)、デバイスデータベース128は、(デバイスの複数のコーパスおよびデバイス履歴において)この情報を反映させるべく更新されるべきである。
Once the device has been updated to include user information (at S628), the
ここで説明された、システム100において特定のユーザ110にデバイスを関連付けるための例示的な処理は、図6Aにおける、一般的なプロビジョニングからユーザプロビジョニングへの状態変化T3、および一般的な設定からユーザ設定への状態変化T4に対応する。
The exemplary process described here for associating a device with a
ユーザがシステムで以前用いられた(およびゆえに、別のユーザに関連付けられられる)デバイスを取得する場合、デバイスはまず、それがそれに関連付けられるユーザ情報を有さない状態に復元される必要がありうる。デバイスは、その工場出荷時の複数の設定(または複数の前ユーザ設定)にそれを復元させる任意の技術によって復元されうる。この種のリセットは、図6Aにおける、ユーザプロビジョニングから一般的なプロビジョニングへ戻る状態変化T3´および、ユーザ設定から一般的な設定へ戻る状態変化T4´に対応する。
設定情報のデバイスへの関連付け
If a user obtains a device that was previously used in the system (and hence is associated with another user), the device may first need to be restored to a state where it does not have user information associated with it. . The device can be restored by any technique that causes its factory settings (or multiple previous user settings) to be restored. This kind of reset corresponds to the state change T3 ′ for returning from user provisioning to general provisioning and the state change T4 ′ for returning from user settings to general settings in FIG. 6A.
Associating configuration information with devices
上記のように、デバイスは、デバイスが最初にユーザに関連付けられるとき、ユーザデータベース130から(または別のデバイスから)ユーザ設定情報を取得しうる(図6HにおけるS628)。しかしながら、ユーザ情報は変化しうるので(例えば、ユーザがシステム内で新たな友人を得る、またはユーザが、更新されたもしくは新たな無線ネットワーク情報を有する、またはユーザが新たなセルラー通信情報を有する、等)、その情報はデータベースからデバイスへ(およびその逆にも)伝搬すべきである。従って、図6Hに示されるように、ユーザの設定情報のデバイスへの提供(S628における)、および、ユーザデータベース130およびデバイスデータベース128の更新(S630における)は、必要に応じて繰り返される(可能な場合)。例えば、デバイスは、それがユーザの情報の最新バージョンを有するかどうかを決定すべく、可能な場合(例えば、それがバックエンド104に接続できる場合)に複数のデータベースをチェックしうる。いくつかの場合において、バックエンドは、ユーザ情報の更新についてデバイスに警告を出すべく、それに対する複数の通知のプッシュを試みうる。デバイスはユーザの情報に対する変更をし(または変更を引き起こし)うる(例えば、デバイスは更新された複数のコーパスまたはネットワーク設定情報を有しうる)ので、これらの変更はまた伝搬し、デバイスデータベースおよびユーザデータベースへ返される必要がある。この処理は、図6Iに反映され、それは、情報のデバイスからバックエンド104への提供(S632における)と、その後のそれに応じたユーザデータベースおよびデバイスデータベースの更新(S634における)とを繰り返して(必要に応じて、または可能な場合に)示している。特定のユーザのユーザデータベース130の任意の更新は、そのユーザの複数のデバイスに送信されるべき対応する複数の更新、およびデバイスデータベース128への対応する複数の更新を必要としうることが理解されるべきである。例えば、ユーザが複数のデバイスを有し、複数のコーパスおよび/または設定情報がそれらのデバイスのうちの1つのデバイス上で変更される場合、その複数のコーパスおよび/または設定情報は、そのユーザの他の複数のデバイスに伝搬されるべきである。このように、ユーザは、独立して、または別個にそれらのデバイスの全てをトレーニングまたは設定する必要はなく、各デバイスはそのユーザの他の複数のデバイスに適用されるトレーニングおよび複数の設定から恩恵を受けることが可能である。
As described above, the device may obtain user configuration information from the user database 130 (or from another device) when the device is first associated with the user (S628 in FIG. 6H). However, user information can change (e.g., the user gets a new friend in the system, or the user has updated or new wireless network information, or the user has new cellular communication information, Etc.), the information should propagate from the database to the device (and vice versa). Accordingly, as shown in FIG. 6H, the provision of user setting information to the device (in S628) and the updating of the
ユーザの複数のデバイスは、互いに同期しない、および/または、ユーザデータベース130およびデバイスデータベース128中の情報と同期しないことがある、ということが認識され理解されるべきである。これは、例えば、いくらかの期間、複数のデバイスがバックエンドに接続不可能になる場合に起きうる。システムは好ましくは、複数のデバイスおよび複数のデータベースを同期させるべくコンフリクト解消技術を適用する。例示的コンフリクト解消アプローチでは、最新の複数バージョンの設定および複数のコーパスの情報を選択すべく複数のタイムスタンプを用いうる。別の例示的なコンフリクト解消アプローチは、ユーザデータベースにおける設定および複数のコーパスの情報の複数のバージョンは正しいと常に仮定しうる。
It should be appreciated and understood that multiple devices of a user may not be synchronized with each other and / or with information in the
ユーザが特定の複数の設定および/または複数のコーパスを選択できるようにすべく、ユーザはバックエンドへの、および/または、そのユーザの複数のデバイスへのインターフェースを提供されうる(例えば、電話174などのユーザデバイス上のアプリケーションによって、またはウェブインターフェースによって)が、好ましくは任意のコンフリクト解消技術は、ユーザ介入なしに実行されうる。いくつかの実装形態において、ユーザはそれらのデバイスに複数の更新を強いる(例えば、プッシュする)ことができうる。
複数のコーパスについての注意
In order to allow the user to select specific settings and / or corpora, the user may be provided with an interface to the backend and / or to the user's devices (eg, telephone 174). Preferably, any conflict resolution techniques can be performed without user intervention, such as by an application on a user device or by a web interface. In some implementations, the user may be able to force (eg, push) multiple updates on their devices.
A note about multiple corpora
複数のコーパスは、例えば、デバイス102中の様々なインターフェース機構162によって用いられる。例えば、音声/スピーチ認識機構178は、複数のローカルスピーチコーパス(デバイス102に格納される)を用いうる。しかしながら、当業者は理解するように、音声/スピーチ認識は、たとえ同一の音声/スピーチ認識機構178に対してであっても、いくつかの要因によって影響を受けうる。例えば、複数の異なる品質または種類の入力センサ(例えば、複数のマイク)は、たとえ同一の音声/スピーチ認識機構178に対してであっても、複数の異なるコーパスをもたらしうる。この目的を達成すべく、必要ならば、ユーザデータベース128中の複数のコーパスは複数のユーザの複数のデバイスのハードウェアの詳細に基づいて編成されうる。これらの場合において、特定のユーザの特定の複数のコーパスが変化する(例えば、その特定のユーザに関連付けられる特定のデバイス上での学習処理に基づいて)場合、それらのコーパスはデータベース中で更新されるが、そのユーザの同等の複数のデバイスに(すなわち、それらのコーパスに関連付けられる認識機構に対して同等のハードウェアおよびセンサ構成を有する、そのユーザの複数のデバイスに)伝搬されるのみである。
Multiple corpora are used, for example, by various interface mechanisms 162 in
例えば、特定のユーザ110が複数のデバイスを有すると仮定すると、それらのうちのいくつかは、それらのシステム機構134に対する第1のハードウェア構成および/または複数のセンサ138を有し、ほかの複数のデバイスはそれらのシステム機構134に対する第2のハードウェア構成および/または複数のセンサ138を有する。第1のハードウェア構成を備える複数のデバイスは、それらの対応する複数の動作機構に対して第1のセットのコーパスを用い、第2のハードウェア構成を備える複数のデバイスは、それらの対応する動作機構に対して第2のセットのコーパス(第1のセットのコーパスとは別個の)を用いる。この例において、第1のハードウェア構成を備える第1のデバイスがそれの複数のコーパス(例えば、スピーチ認識コーパスまたはジェスチャー認識コーパス)を更新する場合、その更新はユーザデータベース130に、およびデバイスデータベース128に送信されるべきであるが、それは第1のハードウェア構成を有する、その特定のユーザの他の複数のデバイスのみに伝搬するべきである。
For example, assuming that a
この説明を読むと当業者は気付き理解するであろうように、複数の異なるタイプの複数のデバイス(すなわち、異なる基本的なデバイス固有の機能を有する)はそれらのシステム機構に対して同一のハードウェア構成を有しうる。同様に、同一タイプの複数のデバイス(例えば、複数のスピーカ)はそれらのシステム機構に対して異なるハードウェア構成を有しうる。 As will be appreciated and understood by those skilled in the art upon reading this description, multiple different types of devices (ie, having different basic device-specific functions) have the same hardware for their system mechanisms. Hardware configuration. Similarly, multiple devices of the same type (eg, multiple speakers) may have different hardware configurations for their system features.
発明者らは、最小のユーザ介入およびアクションで、デバイスに様々なセットアップおよび設定情報を学習させることが有用でありうることを認識した。従って、彼らは、複数のデバイスに互いに学習させることが有利かつ好適であることを認識した。よって、いくつかの態様において、デバイス102―Aは別のデバイス102―Bから設定情報を取得しうる。いくつかの場合においては、2つのデバイスに互いにタッチさせることで、デバイスは別のデバイスから情報を取得しうる。これらの対話は図1に描かれるデバイスツーデバイス対話#1に対応し、少なくとも部分的にはデバイスツーデバイス機構156によって実装されうる。他の複数の場合において、デバイスは、情報を取得するようユーザコマンドによって命令されることで別のデバイスから情報を取得しうる。ユーザのデバイスはまた、ユーザデータベースから設定および他の情報を取得しうる。
デバイスのハートビートおよび複数の対話
The inventors have recognized that it can be useful to have the device learn various setup and configuration information with minimal user intervention and action. Therefore, they recognized that it would be advantageous and preferred to have multiple devices learn from each other. Thus, in some aspects, device 102-A may obtain configuration information from another device 102-B. In some cases, two devices can touch each other so that the device can obtain information from another device. These interactions correspond to the device to device interaction # 1 depicted in FIG. 1 and may be implemented at least in part by the device to
Device heartbeat and multiple interactions
各デバイス102は好ましくはハートビート(HB)機構194(図4B)を含むことを思い出されたい。デバイス102上のハートビート機構194は、(1)複数のハートビートメッセージ(複数のハートビート)を生成するための機能、および、(2)他の複数のデバイスからの複数のハートビートのモニタリングをする機能、の2つの主な機能を有する。
Recall that each
従って、特定のデバイス102上のハートビート機構194は、特定のデバイス102の状態または存在(existence)またはプレゼンス(presence)について、システム(例えば、バックエンド104)に、および/または他の複数のデバイス102に、様々な信号を提供すべく用いられうる。デバイスのハートビート(HB)機構194は、ローカル通信(例えば、Bluetooth Low Energy(BLE)を含むBluetooth(登録商標)、ジグビー等)のためのデバイスの複数の機構と、Wi−Fi通信(例えば、802.11等)のためのデバイスの複数の機構と、セルラー通信(例えば、携帯電話ネットワークを用いる複数のモデムまたは他の複数のデバイス等)のためのデバイスの複数の機構と、有線通信(例えば、Ethernet(登録商標)、または同類のもの)のためのデバイスの複数の機構とのうちの1または複数によって、デバイスのハートビート(および関連付けられる情報)をブロードキャストすべくデバイスの複数の通信機構142を用いうる。各ハートビートメッセージは、システム100の他の複数のコンポーネント(例えば、バックエンド104、他の複数のデバイス102)が、それがハートビートメッセージであると認知する(おそらくは確認する)ことを可能にする情報、および、システム100の他の複数のコンポーネントが認知する(および、おそらくはデバイス識別情報を確認する)ことができるようなデバイスを識別する情報、を含みうる。
Accordingly, the
複数の異なるハートビートメッセージ(複数の異なるフォーマットを備え、異なる情報を有し、複数の異なる周波数における)は複数の異なる通信機構によってブロードキャストされうる。例えば、バックエンド104向けの、ネットワーク101またはセルラーネットワークを介して送信されるハートビートメッセージは、毎日、または何らかの履歴の情報が提供されるべき場合に、外へ送信されうる。一方、他の複数のデバイス向けの、デバイスの複数のローカル通信機構(例えば、Bluetooth(登録商標)、および同類のもの)を介してブロードキャストされる、またはデバイスが接続されるローカルネットワーク上で送信されるハートビートメッセージは、一分毎に(または何らかの他の決まった、および短かい時間間隔で)外へ放たれる。
Different heartbeat messages (having different formats, having different information and at different frequencies) can be broadcast by different communication mechanisms. For example, heartbeat messages sent over the
ハートビート信号は、デバイスについてのいくつかの情報、好ましくは少なくともデバイスのデバイスIDを含むべきである。例えば、図7Aに示されるように、デバイスからのハートビート信号700は、対応するデバイスIDを符号化したもの、および任意で、デバイスの所有者のためのユーザIDを符号化したもの、を含む。ハートビート信号は追加の情報(図7A中の図面において破線で示される)を含みうる。バックエンドに送信される信号は、例えば、デバイスの位置、履歴等、などの追加の情報を含みうる。ローカルのハートビート信号はデバイスIDのみを含みうる。ハートビート信号における情報は好ましくは保護される(例えば、暗号化によって)。デバイスIDおよびユーザIDはまた、それらが公開されるのを防止すべく一方向符号化(例えば、MD5などの暗号化ハッシュ)で符号化されうる。
The heartbeat signal should contain some information about the device, preferably at least the device ID of the device. For example, as shown in FIG. 7A, a
各デバイス102はまた、近くに存在しうる、または同一ネットワーク上に存在しうる他の複数のデバイス102からの複数のハートビートを定期的に(好ましくは継続して)モニタリングすべきである(例えば、ローカル通信のためのデバイスの複数の機構ならびにWi−Fiおよび有線通信のためのデバイスの複数の機構を用いて)。特定のデバイスが特定のデバイスのローカル通信機構を介してその他の複数のデバイスのハートビートをとらえることができる場合、別のデバイスは特定のデバイスの近くにあると言ってよい。近さについての他の複数の考えが本明細書において用いられ、考えられうる。
Each
図7Bは、デバイスの複数の通信機構142―A(例えば、ローカル通信機構)を用いるデバイスのハートビート(HB)機構194―Aを介してハートビート信号をブロードキャストするデバイスA(102−A)の例が示されている。図面に示されるように、第2のデバイス(デバイスB、102−B)はデバイスBの通信機構142―Bを介してデバイスAのハートビート信号を検出する。図面には示されないが、デバイスBもまた自身のハートビート信号をブロードキャストしており、デバイスAはデバイスBのハートビート信号を検出しうることが理解されるべきである。さらに、これもまた図面には示されないが、複数のデバイスのそれぞれはまた、複数の異なる通信機構を介して他の複数のハートビート信号を送信しているといってよい。 FIG. 7B illustrates a device A (102-A) that broadcasts a heartbeat signal via a device heartbeat (HB) mechanism 194-A using a plurality of device communication mechanisms 142-A (eg, local communication mechanisms). An example is shown. As shown in the drawing, the second device (device B, 102-B) detects the heartbeat signal of device A via the communication mechanism 142-B of device B. Although not shown in the drawings, it should be understood that device B is also broadcasting its heartbeat signal, and device A can detect device B's heartbeat signal. Furthermore, although this is also not shown in the drawing, it can be said that each of the plurality of devices is also transmitting a plurality of other heartbeat signals via a plurality of different communication mechanisms.
図7Cは、他の複数のデバイスからの複数のハートビートをモニタリングする(S702において)ための、各デバイス102による(例えば、デバイスのハートビート機構194による)例示的な処理を示している。別のデバイスからハートビートが検出される(S704において)場合、そのハートビートは処理され(S706において)、そうでなければシステムは複数のハートビートのモニタリングを続ける(S702において)。検出されたハートビートが処理されると(またはデバイスが検出されたハートビートの処理を開始すると)、デバイスは他の複数のデバイスからの複数のハートビートのモニタリングを続ける。
デバイスの協同/連携/結合
FIG. 7C illustrates an exemplary process by each device 102 (eg, by the device heartbeat mechanism 194) for monitoring (at S702) a plurality of heartbeats from other devices. If a heartbeat is detected from another device (at S704), the heartbeat is processed (at S706), otherwise the system continues to monitor multiple heartbeats (at S702). Once the detected heartbeat is processed (or when the device begins processing the detected heartbeat), the device continues to monitor multiple heartbeats from other multiple devices.
Device collaboration / cooperation / combination
いくつかのデバイス102は単独で、および1または複数の他のデバイスとの組み合わせで動作しうる。共に動作すべく、複数のデバイスは同種、または同一種類ですらある必要はないことが理解されるべきである。例えば、複数のスピーカである複数のデバイスは共に動作しうる(以下に説明されるように)。別の例として、スピーカであるデバイスはビデオディスプレイであるデバイスと共に動作しうる。
Some
何らかのやり方で共に動作する複数のデバイス102は、協同するまたは連携すると言われる。本文献の残りの部分について、「協同する」、「協同」および「協同している」という用語はそれぞれ、「協同する、および/または連携する」、「協同および/または連携」、「協同している、および/または連携している」、を指す。
A plurality of
本明細書において用いられるように、複数のデバイス102は、それらがそれらの動作の少なくともいくつかの態様の目的のために組み合わされ協同する場合、結合される、と言われる。複数のデバイスは様々なやり方で結合されうる。いくつかの場合において、デバイスは、単にその他の複数のデバイスの近くに置かれることによって、1または複数の他のデバイスを結合しうる。いくつかの場合において、複数のデバイスはユーザインターフェースを介した複数の特定の命令によって結合されうる。いくつかの場合において、複数のデバイスは、それらのうちの1つをその他のものにタッチさせることで結合されうる。
As used herein, a plurality of
複数のデバイスはそれらの所有権を変化させることなく協同しうることが理解されるべきである。つまり、一ユーザのデバイスは別のユーザのデバイスと、それらのデバイスのいずれもが所有権を変化させることなく(すなわち、いずれのデバイスもシステム100内の異なるユーザに関連付けられることなく)、協同しうる、すなわち結合されうる。
ハートビートの処理
It should be understood that multiple devices can cooperate without changing their ownership. That is, one user's device collaborates with another user's device, neither of which changes ownership (ie, neither device is associated with a different user in system 100). Can be combined.
Heartbeat processing
デバイスの、別のデバイスから検出された(S704)ハートビートの処理は、例えば、次のうちの少なくともいくつかを含む、いくつかの要因に依存しうる。
・第1のデバイスは第2のデバイスを知っているかどうか(例えば、以前の対話から)。
・第1のデバイスおよび第2のデバイスは共に所有されているかどうか(同一ユーザによって)。
・それらのデバイスは複数の友人によって所有されるかどうか。
・それらのデバイスは何らかのやり方で協同できるかどうか(これは、少なくとも部分的に、デバイスの種類に依存するか、または各デバイスの固有の機能、デバイスの近さ、および/または、各デバイスがすでに何をおこなっているか、に依存しうる)。例えば、スマートフォンデバイスおよびスピーカデバイスは、それらが同じ部屋に存在する場合、スピーカデバイス上のスマートフォンデバイスから音楽を再生すべく協同しうる。または2つのスピーカデバイスは、それらのうちの1つがすでに再生しているものと同一の音楽を両方で再生すべく協同しうる。一方で、2つのヘッドホンデバイスは、それらが両方ともすでに音を再生(すなわち、レンダリング)している場合、協同し得ない。
The processing of a heartbeat of a device detected from another device (S704) may depend on a number of factors including, for example, at least some of the following.
Whether the first device knows the second device (eg from a previous interaction).
Whether the first device and the second device are both owned (by the same user).
• Whether those devices are owned by multiple friends.
Whether these devices can cooperate in any way (this depends, at least in part, on the type of device, or the specific function of each device, the proximity of the device, and / or Depending on what you are doing). For example, a smartphone device and a speaker device can cooperate to play music from a smartphone device on the speaker device if they are in the same room. Or two speaker devices may cooperate to play both the same music that one of them is already playing. On the other hand, two headphone devices cannot cooperate if they are both already playing (ie, rendering) sound.
ここで与えられる複数の要因および複数の例は、例として提供されているに過ぎない。複数の異なる要因は複数の検出されるハートビートをどのように処理するかを決定すべく用いられうる。 The factors and examples given here are provided as examples only. Multiple different factors can be used to determine how to handle multiple detected heartbeats.
図7Dは、別のデバイス(ここではデバイスBと言う)のハートビートの、デバイス(この議論の複数の目的のためにここではデバイスAと言う)による例示的処理(S706における)を示している。まず、デバイスA(この処理が実行されている)は、受信されるハートビートメッセージ(例えば、図7Bにおけるハートビート信号700―A)からデバイスBのデバイスIDを決定する。デバイスIDはそれが他の複数のデバイスによって抽出され得るようなやり方で、信号において符号化されうる。いくつかの場合において、デバイスのハートビートはデバイスのデバイスIDの暗号化ハッシュ(例えば、MD5ハッシュ)を含みうる。これらの場合では、他の複数のデバイスは、それらの判定の基としてデバイスIDのハッシュを用いることができ、デバイスIDそれ自体は公開されない。 FIG. 7D illustrates an exemplary process (at S706) by the device (referred to herein as device A for purposes of this discussion) of the heartbeat of another device (referred to herein as device B). . First, device A (which is executing this process) determines the device ID of device B from the received heartbeat message (for example, heartbeat signal 700-A in FIG. 7B). The device ID can be encoded in the signal in such a way that it can be extracted by other devices. In some cases, the device heartbeat may include a cryptographic hash (eg, MD5 hash) of the device ID of the device. In these cases, other devices can use the hash of the device ID as a basis for their determination, and the device ID itself is not disclosed.
他方のデバイスのデバイスID(またはそのハッシュ)を決定したら(S708において)、それからデバイスAは、デバイスAおよびデバイスBが同一ユーザによって所有されているかどうか(すなわち、それらが共有されているかどうか)を決定する(S710において)。各デバイスは、そのデバイスのユーザのユーザデータベース130からの情報を格納および維持することを思い出されたい。この情報は好ましくは、ユーザの複数のデバイスのリストを、例えば、デバイスIDで、含む。デバイスAは、ハートビートメッセージ中のデバイスIDがそのユーザの複数のデバイスのリスト中のデバイスIDと一致するかどうかを決定できる。デバイスIDがハッシュされる、または何らかの他のやり方で一方向符号化される場合、デバイスAは同一の符号化を用いて共有される複数のデバイスのリストを格納しうる。
Once the other device's device ID (or its hash) has been determined (at S708), then device A determines whether device A and device B are owned by the same user (ie, whether they are shared). Determine (in S710). Recall that each device stores and maintains information from the
それらのデバイスが共有されていると決定される場合(S710において)、デバイスAはデバイスBとの可能な協同を評価する(S712において)。可能な協同は上述の通り、いくつかの要因に依存しうる。それらの基本的な機能(例えば、複数のスピーカとして、等)に関しての協同に加えて、共有される複数のデバイスは互いを発見する場合(例えば、ハートビートによって)、それらのデバイスは必要に応じて設定情報を共有および/または更新しうる。 If it is determined that the devices are shared (at S710), device A evaluates the possible cooperation with device B (at S712). Possible cooperation may depend on several factors, as described above. In addition to cooperation on their basic functions (eg, as multiple speakers, etc.), if multiple shared devices discover each other (eg, by heartbeat), those devices are Configuration information can be shared and / or updated.
それらのデバイスが実際に協同するかしないか(S712において決定されるように)を問わず、デバイスAは好ましくはその履歴を更新してそのデバイスBとのそれの遭遇を反映する(S714において)。デバイスAはそれからその遭遇をバックエンドに通知しうる(S716において)。好ましくはデバイスによる、検出されるハートビートの処理は、デバイスがバックエンドにコンタクトする必要なく行われることに注意されたい。ゆえに、バックエンドへのその遭遇の通知は、別の定期的な接続がバックエンドとなされるまで行われる必要はない。いずれかのデバイスが遭遇の結果としてその設定を更新する場合、その更新は最終的には伝搬してバックエンドへ返されるべきであることにも注意されたい。 Regardless of whether they actually cooperate (as determined in S712), device A preferably updates its history to reflect its encounter with device B (in S714). . Device A may then notify the backend of the encounter (at S716). Note that processing of detected heartbeats, preferably by the device, is done without the device having to contact the backend. Thus, notification of the encounter to the backend need not occur until another periodic connection is made to the backend. Note also that if any device updates its configuration as a result of an encounter, the update should eventually propagate and be returned to the backend.
それらのデバイスが共有される場合(S710において決定されるように)、デバイスAは、デバイスBがデバイスAの所有者の友人によって所有されているかどうかの決定を試みる(S718において)。ハートビートメッセージはデバイスBのユーザのユーザIDの符号化したものを含み得て、各デバイスは、複数の友人のリストを含む、ユーザデータベース130からの情報を格納することを思い出されたい。ハートビートメッセージ中のユーザIDは、一致するものがあるかどうかを決定すべく、複数の友人のリスト中の複数のユーザIDと比較されうる。ハートビートメッセージ中のユーザIDが一方向符号化される場合、複数の友人のリスト中の複数のユーザIDは同様に符号化されるべきであるであることが理解されるべきである。
If the devices are shared (as determined at S710), device A attempts to determine whether device B is owned by the friend of the owner of device A (at S718). Recall that the heartbeat message may include an encoded version of the user ID of the user of device B, with each device storing information from the
デバイスBがデバイスAの所有者の友人によって所有されると決定される場合(S718において)、それらのデバイス間のいくつかの協同が依然生じうる。従って、それからデバイスAはそれらのデバイス間の可能な協同を評価する(複数の友人の複数のデバイス間の協同として)(S720において)。この種の協同は、共有される複数のデバイス間と同一の複数の種類の協同を含みうる(S712において)。しかしながら、それは友人と関連付けられる複数の許可に依存しうる。複数の友人の複数のデバイスはいくつかの設定および複数のコーパスの情報を共有しさえしうる。しかしながら、これは好ましくは限定的に、および一時的に行われる。 If it is determined that device B is owned by the friend of the owner of device A (at S718), some cooperation between those devices may still occur. Therefore, device A then evaluates the possible cooperation between those devices (as cooperation between multiple friends' multiple devices) (at S720). This type of cooperation may include multiple types of cooperation that are the same among multiple shared devices (at S712). However, it can depend on multiple permissions associated with friends. Multiple devices of multiple friends may even share some settings and multiple corpus information. However, this is preferably done on a limited and temporary basis.
共有される複数のデバイス間の協同(S712における)のように、複数の友人の複数のデバイスが実際に協同するか(S720において決定されるように)を問わず、デバイスAは好ましくはその履歴を更新して、そのデバイスBとの遭遇を反映し(S714において)、再び、それからデバイスAはその遭遇をバックエンドに通知しうる(S716において)。 Device A preferably has its history regardless of whether multiple friends' devices actually cooperate (as determined in S720), such as cooperation between multiple shared devices (in S712). To reflect the encounter with device B (at S714), and then again device A can notify the backend of the encounter (at S716).
それらのデバイスが複数の友人によって所有されないと決定される場合(S718において)、デバイスAは、それが以前デバイスBと遭遇したことがあるかどうかを決定する(S722において)。デバイスAはそれからデバイスBについての情報を記録し得て(S724において)、次にその履歴を更新すべく(S714において)、および最終的にはその遭遇をバックエンドに通知すべく(S716において)、進む。 If it is determined that the devices are not owned by multiple friends (at S718), device A determines whether it has previously encountered device B (at S722). Device A can then record information about device B (at S724), then update its history (at S714), and ultimately notify the backend of the encounter (at S716). ,move on.
理解されるであろうように、複数のデバイス(共有される、または複数の友人の複数のデバイス)間の協同は、それらのデバイス間の追加的な通信を必要としうる。例えば、共有される複数のデバイスは、それらの設定情報を同期させるべく、互いに通信する必要がありうる。ゆえに各デバイス102は好ましくは、様々な通信機構を介して他の複数のデバイスからの複数の通信を待っている、少なくとも1つの実行中の機構または処理を有する。互いに遭遇する(例えば、それらのハートビートの片方または両方を介して)2つのデバイスはそれから、必要に応じて更に対話しうる。2つのデバイス間の通信(例えば、ローカル無線機構またはローカル有線ネットワーク等を介して)は好ましくは、どのようなチャネルが用いられるにしてもそのチャネルを介したセキュアな通信を使用する。いくつかの場合において、2つのデバイスはまず、一通信機構(例えば、Bluetooth(登録商標))上のハートビートを介して互いに遭遇し得て、それから異なる通信機構(例えば、Wi−Fi)を用いて次に続く通信を有しうる。
As will be appreciated, cooperation between multiple devices (shared or multiple friends' devices) may require additional communication between those devices. For example, multiple shared devices may need to communicate with each other to synchronize their configuration information. Thus, each
共有される複数のデバイス間の可能な協同(S712において)の例示的処理が図7Eに示されている。この例において、デバイスA(デバイスBのハートビートを検出した方)は、まずデバイスBにコンタクトし、デバイスBとの接続を確立しようと試みる(S726において)。接続されると、それらのデバイスは(S728において)それらの設定情報を更新/同期しうる(必要ならば)。(更新/同期(S728における)は図6Aにおける状態遷移T6に対応する。)デバイスはまた、いくつかの協同が可能および所望のものであるかを決定すべく、それ自身および他方のデバイスについての情報を決定もする。デバイスは、他方のデバイスのデバイス固有の機能を決定し(S730において)、他方のデバイスが何を実行中かを決定し(S732において)、およびそのデバイス自身が何を実行中かを決定し(S734において)うる。この情報は、それらのデバイス間での可能な協同を決定(S736において)すべく用いられうる。複数のプロトコルが、それらの協同をサポートすべく、様々なデバイスまたはデバイスのタイプに対し確立されうる。例えば、いくつかの実装形態において、一デバイスは別のデバイスにタッチされて、それらの間の所望の協同を確立または示す。ゆえに、デバイスAはまた、所望の協同についての指標が何かあるかどうか(例えば、一方のデバイスが他方をタッチしたかどうか、または発見された場合に、人が特定の複数のデバイスと協同するようそれらのデバイスに命令したかどうか)を決定しうる(S738において)。決定された情報に基づいて(S730、S732、S734、S736、S738において)、デバイスは可能な協同を選択し開始しうる(S740において)。複数の協同が可能な場合(S736において決定されるように)は、所望の協同(S738において決定されるような)の指示によってそれらのうちの1つの選択が優先されうる。 An exemplary process of possible cooperation (in S712) between multiple shared devices is shown in FIG. 7E. In this example, device A (the one that detected the heartbeat of device B) first contacts device B and attempts to establish a connection with device B (in S726). Once connected, the devices can update / synchronize (if necessary) their configuration information (at S728). (Update / synchronization (in S728) corresponds to state transition T6 in FIG. 6A.) The device also determines itself and the other device to determine if some cooperation is possible and desirable. Also determine information. The device determines the device-specific function of the other device (at S730), determines what the other device is executing (at S732), and determines what the device itself is executing ( In S734). This information can be used to determine (at S736) possible cooperation between those devices. Multiple protocols may be established for various devices or device types to support their cooperation. For example, in some implementations, one device is touched to another device to establish or indicate a desired cooperation between them. Hence, device A also has any indication of the desired cooperation (eg, if one device touches the other or if discovered, a person cooperates with a particular device) (In S738) can be determined. Based on the determined information (at S730, S732, S734, S736, S738), the device may select and initiate possible cooperation (at S740). If multiple collaborations are possible (as determined in S736), selection of one of them may be prioritized by an indication of the desired collaboration (as determined in S738).
デバイスAはデバイスBのハートビートを検出したので、デバイスBもまたデバイスAのハートビートを検出した、ということが可能であることに注意されたい。2つのデバイスが互いに協同を評価する場合には、どちらのデバイスが特定の複数の決定を成すかについて、規定が確立される必要がありうる。1つの例示的な規定は、他方のデバイスとのコンタクトを最初に開始するデバイスが、決定を成す際に必要に応じて主導権を握る、というものである。別の可能なアプローチは、最も高いデバイスIDを有するデバイスに、決定を成す際に必要に応じて主導権を握らせる、というものである。この説明を読むと当業者は気付き理解するであろうように、異なるおよび/または他の複数のコンフリクト解消アプローチが必要に応じて用いられうる。 Note that because device A has detected device B's heartbeat, it is possible that device B has also detected device A's heartbeat. If two devices value each other's cooperation, a provision may need to be established as to which device makes a particular plurality of decisions. One exemplary rule is that the device that first initiates contact with the other device takes the initiative as needed in making the decision. Another possible approach is to have the device with the highest device ID take the initiative as needed in making decisions. As one skilled in the art will appreciate upon reading this description, different and / or other conflict resolution approaches may be used as needed.
デバイスAがデバイスBとの協同を開始する(S740において)からといって、デバイスBがその協同に従うというわけではないことが理解されるべきである。いくつかの場合においては、デバイスAおよびBは協同について交渉し合意した後にそれを開始し、その場合において、デバイスBは合意されたように従う。 It should be understood that just because device A initiates cooperation with device B (at S740), device B does not follow that cooperation. In some cases, devices A and B negotiate and agree to cooperate and start it, in which case device B follows as agreed.
この説明を読むと当業者は気付き理解するであろうように、特定の協同が共有される複数のデバイス間で可能であるからといって、それが行われるというわけではない。さらに、異なるおよび/または他の複数の要因が、共有される複数のデバイス間で協同を決定、およびおそらくは開始すべく用いられうるということが理解されるべきである。 As one of ordinary skill in the art will appreciate upon reading this description, just because a particular collaboration is possible among multiple devices that are shared does not mean that it will. Furthermore, it should be understood that different and / or other factors may be used to determine and possibly initiate cooperation between shared devices.
複数の友人の複数のデバイス間の可能な協同のための例示的な処理(図7D中のS720における)が、図7Fに示されている。この処理は、共有される複数のデバイスについてのもの(図7Eを参照して上述された)と同様であるが、(i)それらのデバイスは協同するための許可を有することが必要であり、(ii)好ましくは、任意の選択される協同をサポートするために必要とされる設定情報を更新するだけである。図7Fに示されるように、許可されれば(デバイスBの所有者に関連付けられる友人の複数の許可に基づいて)、デバイスAはデバイスBとの接続を確立する(S742において)。許可されれば、デバイスAはデバイスBの固有の機能を決定し(S744において)、デバイスBが何を実行中であるかを決定する(S746において)。デバイスAは、それが現在何を実行中であるかを決定する(S748において)。少なくとも部分的に、それが決定した情報のうちのいくつかに、およびデバイスBの所有者に関連付けられる友人の複数の許可に基づいて、それからデバイスAはデバイスBとの可能な協同を決定する(S750において)。デバイスAはまた、それらのデバイス間に何か他の複数の、所望の協同の指標があるかどうかを決定する(S752において)。これらの決定に少なくとも部分的に基づいて、デバイスAはデバイスBとの可能な許可された協同を選択する(S754において)。複数の協同が可能な場合(S736において決定されるように)、それらのうちの1つの選択は、所望の協同の指標によって優先されうる(S738において決定されるように)。デバイスAおよびBはそれらの設定情報を更新して(S756において)(必要ならば)、選択された/許可された協同をサポートする。それから許可された協同は開始される(S758において)。 An exemplary process (at S720 in FIG. 7D) for possible cooperation between multiple devices of multiple friends is shown in FIG. 7F. This process is similar to that for multiple shared devices (described above with reference to FIG. 7E), but (i) those devices must have permission to cooperate, (Ii) Preferably only the configuration information required to support any selected cooperation is updated. As shown in FIG. 7F, if authorized (based on a friend's multiple permissions associated with the owner of device B), device A establishes a connection with device B (at S742). If so, device A determines the unique function of device B (at S744) and determines what device B is doing (at S746). Device A determines what it is currently doing (at S748). Based at least in part on some of the information that it has determined, and based on multiple permissions of the friend associated with the owner of device B, device A then determines possible cooperation with device B ( In S750). Device A also determines whether there are any other desired indicators of cooperation between the devices (at S752). Based at least in part on these decisions, device A selects possible allowed cooperation with device B (at S754). If multiple collaborations are possible (as determined at S736), the selection of one of them may be prioritized by the desired collaboration indicator (as determined at S738). Devices A and B update their configuration information (at S756) (if necessary) to support the selected / authorized cooperation. The permitted collaboration is then initiated (at S758).
共有される複数のデバイスと同様に、デバイスAがデバイスBとの協同を開始する(S758において)からといって、デバイスBがその協同に従うというわけではないことが理解されるべきである。いくつかの場合において、デバイスAおよびBは協同について交渉し合意した後にそれを開始し、その場合において、デバイスBは合意されたように従う。 It should be understood that just like device shared, just because device A initiates cooperation with device B (at S758), device B does not follow that cooperation. In some cases, devices A and B negotiate and agree to cooperate and start it, in which case device B follows as agreed.
この説明を読むと当業者は気付き理解するであろうように、特定の協同が友人の複数のデバイス間で可能であるからといって、それが実行されるというわけではない。さらに、異なるおよび/または他の複数の要因が、友人の複数のデバイス間で協同を決定、およびおそらくは開始すべく用いられうることが理解されるべきである。 As one of ordinary skill in the art will realize upon reading this description, just because a particular collaboration is possible between multiple devices of a friend does not mean that it will be performed. In addition, it should be understood that different and / or other factors may be used to determine and possibly initiate cooperation between a friend's devices.
デバイス協同がハートビートの検出(デバイスの可能な複数の対話を確認または選択すべく用いられる可能性のある、他の複数の要因を伴う)に基づいて上述されたが、この説明を読むと当業者は気付き理解するであろうように、(上述の通り)他の複数の要因がデバイス協同を開始すべく用いられうる。例えば、先に記したように、いくつかの場合において、デバイスは、単にその他の複数のデバイスの近くに置かれることによって、1または複数の他のデバイスを結合し得て、いくつかの場合において、複数のデバイスはユーザインターフェースを介した複数の特定の命令によって結合され、いくつかの場合において、複数のデバイスは、それらのうちの1つをその他のものにタッチさせることで結合されうる。これらの他の要因(例えば、タッチ、近さ、特定のコマンド等)は、いくつかの場合において、それらのデバイスのうちのどれがその時間実行中であるか、を含む他の複数の要因より優先される。 Although device cooperation has been described above based on heartbeat detection (with other factors that may be used to confirm or select multiple possible interactions of the device) As those skilled in the art will realize and understand, a number of other factors (as described above) can be used to initiate device collaboration. For example, as noted above, in some cases a device may be coupled to one or more other devices by simply being placed near other devices, and in some cases The multiple devices are coupled by specific instructions via the user interface, and in some cases, the multiple devices can be coupled by touching one of them to the other. These other factors (eg, touch, proximity, specific commands, etc.) are in some cases more than other factors, including which of those devices are running that time have priority.
従って、例えば、図7Gに示されるように、各デバイス102は他の複数のデバイスからの何らかのタイプのコンタクトを定期的にモニタリングしうる(S760において)。検出されたコンタクトのタイプは、例えば、デバイスのタイプなどの1または複数の要因に(すなわち、その基本的なデバイス固有の機能に)依存しうる。いくつかのデバイスは、物理的なタッチ、複数のユーザ命令等に基づいて他の複数のデバイスとのコンタクトの開始を試みうる。従って、別のデバイスからのコンタクトの試みの検出(S762において)は、センサ入力から(1または複数のセンサ138から)の、複数の音声および/またはジェスチャー命令の解釈(音声/スピーチ機構174および/またはジェスチャー機構166を用いて)等を伴いうる。可能なコンタクトの試みを検出して(S762において)、デバイスは他方のデバイスとのコンタクトを処理すべく進む(S764において)。
Thus, for example, as shown in FIG. 7G, each
可能なコンタクトの試みの処理(S764において)は、(図7D−図7Fを参照して)上述されたハートビート処理と同様でありうる。特に第1のデバイスが第2のデバイスからのコンタクトの試みを検出する場合、第1のデバイスは依然として、第2のデバイスのデバイスIDを決定し(およびその逆も)、それらのデバイスが複数の友人によって共有されている、または所有されているかどうかを決定し、および適宜コンタクトの試みを処理する、必要があるであろう。しかしながら、コンタクトの試みの場合において、デバイスは、他方のデバイス(コンタクトを開始したデバイス)がそれらのデバイス間での何らかの形態の協同の確立を試みていると仮定しうる。 The possible contact attempt process (at S764) may be similar to the heartbeat process described above (see FIGS. 7D-7F). Especially when the first device detects a contact attempt from the second device, the first device still determines the device ID of the second device (and vice versa) and the devices It will be necessary to determine if it is shared or owned by a friend and handle contact attempts as appropriate. However, in the case of a contact attempt, the device may assume that the other device (the device that initiated the contact) is attempting to establish some form of cooperation between those devices.
従って、デバイス主導型コンタクトの場合において、共有される複数のデバイス間の協同の評価(図7D,7EにおけるS712において)および複数の友人の複数のデバイス間の協同の評価(図7D、7FにおけるS720において)、のための処理は、図7H−図7Jを参照してここで説明されるように変更されうる。処理間の主な差異は、所望の協同が、可能な協同の選択において優先権を与えられている、ということであることに注意されたい。従って、共有される複数のデバイス間でのデバイス主導型協同の評価(図7IのS712´における)において、デバイス主導型の所望の協同は、それが可能な協同であると決定される場合に選択および開始され(図7IのS740´)、複数の友人の複数のデバイス間でのデバイス主導型協同の評価(図7JのS720´における)において、所望のデバイス主導型協同は、デバイス主導型協同が可能であり、許可されている場合に選択および開始される(S754´、S758´において)。 Thus, in the case of device-driven contacts, a collaborative evaluation between shared devices (in S712 in FIGS. 7D and 7E) and a collaborative evaluation between multiple friends devices (S720 in FIGS. 7D and 7F). )) Can be modified as described herein with reference to FIGS. 7H-7J. Note that the main difference between the processes is that the desired cooperation is given priority in the choice of possible cooperation. Thus, in the evaluation of device-initiated collaboration among multiple shared devices (in S712 'of FIG. 7I), the desired device-initiated collaboration is selected if it is determined that it is possible cooperation And started (S740 ′ in FIG. 7I), in the evaluation of device-led collaboration among multiple devices of multiple friends (in S720 ′ of FIG. 7J), the desired device-led collaboration is If possible and selected, it is selected and started (in S754 ', S758').
協同中の複数のデバイスはまた、それらの協同を終了させることができる必要がある。協同は、限定はしないが、それらのデバイスのうちの1または複数が電源を切られることによる、明示的なユーザ命令による、複数の許可の変更(デバイスによって受信される、更新された設定情報から決定されるような)による、それらのデバイスが、もはや協同し得ないようなやり方で分離される(例えば、一方のデバイスが家の中の異なる部屋に移動される)ことによる、ことを含む様々なやり方で終了させうる。この説明を読むと当業者は気付き理解するであろうように、デバイス協同を終了させる異なるおよび/または他の複数のやり方が用いられうる。 Multiple devices in cooperation must also be able to terminate their cooperation. Cooperation includes, but is not limited to, multiple permission changes (from updated configuration information received by the device), by explicit user instruction, due to one or more of those devices being powered off. Various, such as by separating those devices in a way that they can no longer cooperate (eg, one device is moved to a different room in the house) Can be terminated in a simple way. As will be appreciated and understood by those skilled in the art upon reading this description, different and / or other ways of terminating device cooperation may be used.
複数のデバイス間の対話は図1における弧線#1に対応する。 The interaction between multiple devices corresponds to arc # 1 in FIG.
デバイスツーデバイス対話について上述された処理は単に例として与えられるのであって、システムの範囲を限定する意図は全くない。この説明を読むと当業者は気付き理解するであろうように、異なるおよび/または他の複数の対話が実行され得て、このシステムの範囲内に含まれる。
コンピューティング
The processing described above for device-to-device interaction is provided merely as an example and is in no way intended to limit the scope of the system. As one of ordinary skill in the art will appreciate upon reading this description, different and / or other multiple interactions may be performed and are included within the scope of the system.
Computing
この説明を読むと当業者は容易に認識および理解するであろうように、本明細書において説明される様々な処理は、例えば、任意のサイズまたは複雑性の複数の適切にプログラムされた汎用コンピュータ、複数の専用コンピュータおよび複数のコンピューティングデバイスによって実装されうる。1または複数のそのようなコンピュータまたはコンピューティングデバイスは、コンピュータシステムと言われてもよい。 As one of ordinary skill in the art will readily recognize and understand upon reading this description, the various processes described herein may be performed by, for example, a plurality of suitably programmed general purpose computers of any size or complexity. May be implemented by multiple dedicated computers and multiple computing devices. One or more such computers or computing devices may be referred to as a computer system.
上で示され説明された複数のサービス、複数の機構、複数の動作および複数の作用は、少なくとも部分的に、システム100の1または複数のコンピュータ上で実行中のソフトウェアによって実装される。例えば、バックエンド104に関連付けられる機能は、1または複数のコンピュータ上で実行中のソフトウェアによって実装されうる。
The services, mechanisms, operations, and actions shown and described above are implemented, at least in part, by software running on one or more computers of
そのような複数の方法を実装する複数のプログラム(ならびに他の複数タイプのデータ)は、いくつかのやり方で様々な媒体(例えば、コンピュータ可読媒体)を用いて格納され送信されうる。ハードワイヤード回路またはカスタムハードウェアは、様々な実施形態の複数の処理を実装できる複数のソフトウェア命令のうちのいくつかまたは全ての代わりに、またはそれらとの組み合わせで、用いられうる。従って、ハードウェアとソフトウェアとの様々な組み合わせは、ソフトウェアのみの代わりに用いられうる。 Multiple programs (as well as other types of data) that implement such multiple methods may be stored and transmitted using various media (eg, computer readable media) in several ways. Hardwired circuitry or custom hardware may be used in place of or in combination with some or all of the plurality of software instructions that can implement the processes of the various embodiments. Thus, various combinations of hardware and software can be used instead of software alone.
この説明を読むと当業者は容易に認識および理解するであろうように、本明細書において説明される様々な処理は、例えば、複数の適切にプログラムされた汎用コンピュータ、複数の専用コンピュータ、および複数のコンピューティングデバイスによって実装されうる。1または複数のそのようなコンピュータまたはコンピューティングデバイスはコンピュータシステムと言われてよい。 As will be readily appreciated and understood by those skilled in the art upon reading this description, the various processes described herein may include, for example, a plurality of suitably programmed general purpose computers, a plurality of dedicated computers, and It can be implemented by multiple computing devices. One or more such computers or computing devices may be referred to as a computer system.
図5Aは、本開示の複数の実施形態が実装され実行されうるコンピュータシステム500の概略図である。 FIG. 5A is a schematic diagram of a computer system 500 upon which multiple embodiments of the present disclosure may be implemented and executed.
本例によると、コンピュータシステム500は、バス502(すなわち、相互接続)、1または複数のプロセッサ504、1または複数の通信ポート514、メインメモリ506、リードオンリメモリ508、リムーバブルストレージ媒体510、および大容量ストレージ512を含みうる。
According to this example, computer system 500 includes a bus 502 (ie, an interconnect), one or
本明細書において用いられるように、「プロセッサ」とは、1または複数のマイクロプロセッサ、複数の中央処理装置(CPU)、複数のコンピューティングデバイス、複数のマイクロコントローラ、複数のデジタル信号プロセッサ、または同様の複数のデバイスもしくはそれらの任意の組み合わせを、それらのアーキテクチャに関わらず、意味する。処理を実行する装置は、例えば、プロセッサと、処理を実行するのに適切である複数の入力デバイスおよび出力デバイスなどの複数のデバイスと、を含みうる。 As used herein, “processor” means one or more microprocessors, multiple central processing units (CPUs), multiple computing devices, multiple microcontrollers, multiple digital signal processors, or the like Means multiple devices, or any combination thereof, regardless of their architecture. An apparatus that performs processing may include, for example, a processor and a plurality of devices such as a plurality of input devices and output devices that are suitable to perform the processing.
プロセッサ504は、限定はされないが、Intel(登録商標)Itanium(登録商標)またはItanium2(登録商標)プロセッサ、AMD(登録商標)Opteron(登録商標)またはAthlon MP(登録商標)プロセッサ、または複数のMotorola(登録商標)系統のプロセッサ、複数のARMベースのプロセッサ、および同類のものなどの複数のカスタムプロセッサまたは任意の既知プロセッサでありうる。通信ポート514は、モデムを利用したダイアルアップ接続で使用するためのRS−232ポート、10/100Ethernet(登録商標)ポート、銅線または光ファイバを用いるギガビットポート、またはUSBポート、および同類のもののうちの任意のものでありうる。通信ポート514は、コンピュータシステム500が接続する、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、または任意のネットワーク、などのネットワークに応じて選択されうる。コンピュータシステム500は、入力/出力(I/O)ポート520を介して複数の周辺機器(例えば、ディスプレイ画面516、入力デバイス518)と通信状態になりうる。
The
本明細書において複数の周辺機器と言われてはいるが、そのような複数のデバイスは、コンピュータシステム500を備えるデバイスの形態に統合されうることが理解されるべきである。例えば、携帯電話において用いられるコンピュータシステムは、その電話の一部としてディスプレイ画面および入力デバイスを有する。提供されれば、複数の周辺機器は組み合わされうる(例えば、タッチスクリーン、または同類のものの場合)こともまた理解されるべきである。 Although referred to herein as multiple peripherals, it is to be understood that such multiple devices may be integrated into the form of a device comprising a computer system 500. For example, a computer system used in a mobile phone has a display screen and an input device as part of the phone. It should also be understood that if provided, multiple peripherals may be combined (eg, in the case of a touch screen or the like).
この説明を読むと当業者は気付き理解するであろうように、全てのコンピュータシステム500が、複数のコンポーネントの全てを含む必要があるわけではない。例えば、全てのコンピュータシステム500がリムーバブルストレージ媒体510または大容量ストレージ512を必要とするわけではない。同様に、全てのコンピュータシステム500がディスプレイ画面516を有すわけではない。
As one skilled in the art will appreciate upon reading this description, not all computer systems 500 need include all of the components. For example, not all computer systems 500 require
メインメモリ506はランダムアクセスメモリ(RAM)、または当該技術分野において一般に知られる任意の他の動的ストレージデバイスでありうる。リードオンリメモリ508は、プロセッサ504への複数の命令などの静的情報を格納するための、複数のプログラマブルリードオンリメモリ(PROM)チップなどの任意の静的ストレージデバイスでありうる。大容量ストレージ512は情報および複数の命令を格納すべく用いられうる。例えば、複数のAdaptec(登録商標)ファミリのスモールコンピュータシリアルインターフェース(SCSI)ドライブなどのハードディスク、光学ディスク、複数のAdaptec(登録商標)ファミリのRAID(Redundant Array of Independent Disks)ドライブなどのRAIDなどの一連のディスク、または任意の他の複数の大容量ストレージデバイスが用いられうる。
バス502は、プロセッサ504を他方のメモリ、ストレージ、および複数の通信ブロックと通信可能に結合する。バス502は、PCI/PCI−X、SCSI、用いられる複数のストレージデバイスに応じたユニバーサルシリアルバス(USB)ベースのシステムバス(または他のもの)、および同類のものでありうる。リムーバブルストレージ媒体510は、任意の種類の外付けハードドライブ、フロッピー(登録商標)ドライブ、IOMEGA(登録商標)ジップドライブ、コンパクトディスク―リードオンリメモリ(CD−ROM)、コンパクトディスク―リライタブル(CD−RW)、デジタルビデオディスク―リードオンリメモリ(DVD−ROM)等でありうる。
本明細書における複数の実施形態は、コンピュータ(または他の複数の電子デバイス)が処理を実行するようにプログラムすべく用いられうる、複数の格納された命令を有する機械可読媒体を含みうる1または複数のコンピュータプログラムプロダクトとして提供されうる。本明細書において用いられるように、「機械可読媒体」という用語は、コンピュータ、プロセッサまたは同様のデバイスによって読み出されうるデータ(例えば、複数の命令、複数のデータ構造)の提供に与する、任意の媒体、複数の媒体、または異なる媒体の組み合わせ、を指す。そのような媒体は、限定はされないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む多数の形態を取りうる。不揮発性媒体は、例えば、光または磁気ディスク、および他の永続的メモリを含む。揮発性媒体は、コンピュータのメインメモリを一般的に構成するダイナミックランダムアクセスメモリを含む。伝送媒体は、プロセッサに連結されるシステムバスを備える複数のワイヤを含む、同軸ケーブル、銅線、および光ファイバを含む。伝送媒体は、高周波(RF)および赤外線(IR)データ通信中に生成されるものなどの、音波、光波および電磁放射線を含む、または伝送しうる。 Embodiments herein may include a machine-readable medium having a plurality of stored instructions that may be used to program a computer (or other electronic device) to perform processing. It can be provided as a plurality of computer program products. As used herein, the term “machine-readable medium” refers to any that provides for the provision of data (eg, multiple instructions, multiple data structures) that can be read by a computer, processor or similar device. Media, multiple media, or a combination of different media. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks, and other persistent memory. Volatile media include dynamic random access memory, which typically constitutes the computer's main memory. Transmission media includes coaxial cables, copper wire, and optical fiber, including a plurality of wires with a system bus coupled to a processor. Transmission media can include or transmit sound waves, light waves and electromagnetic radiation, such as those generated during radio frequency (RF) and infrared (IR) data communications.
機械可読媒体は、限定はされないが、フロッピー(登録商標)ディスケット、光学ディスク、CD−ROM、光磁気ディスク、ROM、RAM、消去およびプログラム可能リードオンリメモリ(EPROM)、電気的消去およびプログラム可能リードオンリメモリ(EEPROM)、磁気または光カード、フラッシュメモリ、または複数の電子命令の格納に適した他のタイプの媒体/機械可読媒体、を含みうる。さらに、本明細書における複数の実施形態はまた、コンピュータプログラムプロダクトとしてダウンロードされうる。プログラムは、通信リンク(例えば、モデムまたはネットワーク接続)を介して、搬送波または他の伝搬媒体において具現化される複数のデータ信号として、遠隔コンピュータから要求しているコンピュータへ伝送されうる。 Machine-readable media include, but are not limited to, floppy diskette, optical disk, CD-ROM, magneto-optical disk, ROM, RAM, erase and programmable read only memory (EPROM), electrical erase and programmable read. It may include only memory (EEPROM), magnetic or optical card, flash memory, or other types of media / machine-readable media suitable for storing multiple electronic instructions. Further, the embodiments herein can also be downloaded as a computer program product. The program can be transmitted from the remote computer to the requesting computer as a plurality of data signals embodied in a carrier wave or other propagation medium via a communication link (eg, a modem or network connection).
様々な形態のコンピュータ可読媒体が、プロセッサへのデータ(例えば、複数の命令のシーケンス)の搬送に関わりうる。例えば、データは、(i)RAMからプロセッサへ配信され、(ii)無線伝送媒体を介して伝搬され、(iii)多数のフォーマット、規格またはプロトコルに従ってフォーマットおよび/または送信され、および/または、(iv)当該技術分野において周知の様々なやり方のうちの任意のもので暗号されうる。 Various forms of computer readable media may be involved in carrying data (eg, a sequence of instructions) to a processor. For example, data is (i) distributed from a RAM to a processor, (ii) propagated through a wireless transmission medium, (iii) formatted and / or transmitted according to a number of formats, standards or protocols, and / or ( iv) Can be encrypted in any of a variety of ways well known in the art.
コンピュータ可読媒体は、複数の方法を実行するのに適切であるそれらのプログラム要素を格納しうる(任意の適切なフォーマットで)。 A computer-readable medium may store (in any suitable format) those program elements that are suitable for performing the methods.
示されるように、メインメモリ506は、本明細書において議論されるような機能をサポートするアプリケーション522―1で符号化される(アプリケーション522―1は、本明細書において説明される複数のサービスの機能、例えば、バックエンド処理、のうちのいくつかまたは全てを提供するアプリケーションでありうる)。アプリケーション522―1(および/または本明細書において説明されるような他の複数のリソース)は、本明細書において説明される異なる複数の実施形態による処理機能をサポートする、データおよび/または複数のロジック命令(例えば、メモリに、またはディスクなどの別のコンピュータ可読媒体上に格納されるコード)などのソフトウェアコードとして具現化されうる。
As shown, the
例えば、図5B−図5Cに示されるように、コンピュータシステム500がバックエンド104の機能を実装すべく用いられる場合、アプリケーション522―1は複数のバックエンドアプリケーション524―1を含み得て、コンピュータシステム500がデバイスの機能を実装すべく用いられる場合は、複数のアプリケーション522―1は複数のデバイスアプリケーション526―1を含みうる。 For example, as shown in FIGS. 5B-5C, if the computer system 500 is used to implement the functionality of the back end 104, the application 522-1 may include multiple back end applications 524-1, and the computer system If 500 is used to implement device functionality, multiple applications 522-1 may include multiple device applications 526-1.
一実施形態の動作中、プロセッサ504は、アプリケーション522―1の複数のロジック命令を開始(launch)、実行(run)、実行(execute)、解釈(interpret)、または実行(perform)すべく、バス502を使用してメインメモリ506にアクセスする。アプリケーション522―1の実行は、そのアプリケーションに関係するサービスの処理機能を生成する。換言すると、処理522−2は、コンピュータシステム500中のプロセッサ504内またはプロセッサ504上で実行するアプリケーション522―1の1または複数部分を表す。
During operation of one embodiment, the
例えば、図5D−図5Eに示されるように、コンピュータシステム500がバックエンド104の機能を実装すべく用いられる場合、処理522−2はバックエンド処理524−2を含み得て、コンピュータシステム500がデバイスの機能を実装すべく用いられる場合、処理522−2はデバイス処理526−2を含みうる。 For example, as shown in FIGS. 5D-5E, if computer system 500 is used to implement the functions of backend 104, process 522-2 may include backend process 524-2, and computer system 500 may be If used to implement device functionality, process 522-2 may include device process 526-2.
本明細書において議論されるような複数の動作を実行する処理522−2に加えて、本明細書における他の複数の実施形態はアプリケーション522―1それ自体(すなわち、実行されていない、または不実行の複数のロジック命令および/またはデータ)を含むことが注意されるべきである。アプリケーション522―1は、ディスクなどのコンピュータ可読媒体(例えば、リポジトリ)上、または光媒体中に格納されうる。他の複数の実施形態によると、アプリケーション522―1はまた、メインメモリ506内(例えば、ランダムアクセスメモリすなわちRAM内)に実行可能なコードとして、ファームウェアにおいてなどのメモリタイプのシステムにおいて、リードオンリメモリ(ROM)、またはこの例においてのように、格納されうる。例えば、アプリケーション522―1はまた、リムーバブルストレージ媒体510、リードオンリメモリ508、および/または大容量ストレージデバイス512に格納されうる。
In addition to the process 522-2 for performing multiple operations as discussed herein, other embodiments herein may include the application 522-1 itself (ie, not being executed or disabled). It should be noted that it includes multiple logic instructions and / or data for execution). Application 522-1 may be stored on a computer-readable medium (eg, repository) such as a disk, or in an optical medium. According to other embodiments, application 522-1 may also be read-only memory in memory-type systems, such as in firmware, as code executable in main memory 506 (eg, in random access memory or RAM). (ROM), or as in this example. For example, application 522-1 may also be stored in
当業者は理解するであろうように、コンピュータシステム500は、複数のハードウェアリソースの割り当ておよび使用を制御するオペレーティングシステムなどの、他の複数のプロセスおよび/またはソフトウェアおよびハードウェアコンポーネントを含みうる。例えば、カーネルを含むオペレーティングシステム(OS)の複数のプログラムは、コンピュータシステム上の複数のプロセスでありうる。 As those skilled in the art will appreciate, computer system 500 may include other processes and / or software and hardware components, such as an operating system that controls the allocation and use of hardware resources. For example, a plurality of operating system (OS) programs including a kernel may be a plurality of processes on a computer system.
本明細書において議論されるように、本願発明の複数の実施形態は様々な段階または動作を含む。様々なこれらの段階は、複数のハードウェアコンポーネントによって実行されうるか、または、複数の命令でプログラムされる汎用プロセッサまたは専用プロセッサに複数の動作を実行させるべく用いられうる複数の機械実行可能命令において具現化されうる。代替的に、複数の段階は、ハードウェア、ソフトウェア、および/またはファームウェアの組み合わせで実行されうる。「モジュール」という用語は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせを含みうる自己内蔵型機能コンポーネントを指す。 As discussed herein, embodiments of the present invention include various stages or operations. Various of these stages may be performed by multiple hardware components or embodied in multiple machine-executable instructions that may be used to cause a general purpose processor or dedicated processor programmed with multiple instructions to perform multiple operations. Can be realized. Alternatively, the steps may be performed with a combination of hardware, software, and / or firmware. The term “module” refers to a self-contained functional component that can include hardware, software, firmware, or any combination thereof.
この説明を読むと当業者は容易に認識および理解するであろうように、装置の複数の実施形態は、説明される処理のいくつか(しかし全てである必要はない)を実行すべく動作可能なコンピュータ/コンピューティングデバイスを含みうる。 As will be readily appreciated and understood by those skilled in the art upon reading this description, embodiments of the apparatus are operable to perform some (but not necessarily all) of the described processes. Various computer / computing devices.
プログラムまたはデータ構造を格納するコンピュータ可読媒体の複数の実施形態は、実行されるとプロセッサに説明される処理のうちのいくつか(しかし全てである必要はない)を実行させるうるプログラムを格納するコンピュータ可読媒体を含む。 Embodiments of a computer readable medium for storing a program or data structure may store a program that, when executed, may cause a processor to perform some (but not necessarily all) of the processing described. Includes readable media.
処理が本明細書において説明され、当業者は、処理がいずれのユーザ介入もなしに動作しうることを理解するであろう。別の実施形態において、処理は何らかの人の介入を含む(例えば、ある段階は人の支援によって、またはそれを伴って実行される)。 The process is described herein and one of ordinary skill in the art will understand that the process can operate without any user intervention. In another embodiment, the process includes some human intervention (eg, a stage is performed with or with human assistance).
再び図4A−図4Bを参照して、デバイス102がコンピュータシステム146を含むことを思い出されたい。理解されるべきように、コンピュータシステム146は図5Aに示される複数のコンポーネントのうちの全てを含みうるわけではなく、コンピュータシステム146は複数の追加的なコンポーネント(例えば、デバイス102によって必要とされる特別な処理に関係する)を含みうるが、いくつかの場合において、単独の、またはシステム機構/データ134との組み合わせでのコンピュータシステム146は、(図5A−図5Cを参照して)上述されたようにコンピュータシステム500に対応しうる。例えば、コンピュータシステム146は複数のプロセッサ、複数のメモリ等を含みうる。コンピュータシステム146は複数のコンピュータシステム500で形成され得ることもまた理解されるべきである。加えて、コンピュータシステム146はデバイス固有の機能132のうちのいくつかまたは全てを実装しうる。
複数の制御デバイス
Referring back to FIGS. 4A-4B, recall that
Multiple control devices
システム対応型デバイス102は、音声制御、ジェスチャー制御、コンタクト制御のうちの1または複数によって制御されうる(例えば、複数のボタンおよび同類のものを用いて)。加えて、特定の複数種類のシステム対応型デバイス102は、他の同様の複数のデバイスが存在する場合、他の複数のデバイスのうちの1または複数によって、または、他の複数のデバイスのうちの1または複数に与えられる複数の命令によって、完全にまたは部分的に制御されうる。例えば、複数のデバイス102が複数のスピーカである場合、複数のデバイスは共に動作すべく組み合わされうる。そのような複数の場合において、特定の複数のコマンド(例えば、音量を上げる)は、複数のデバイス(複数のスピーカ)のうちの1つに対してユーザによって与えられうるが、複数の協同するデバイスの全てによって従われるべきである。
音声制御
The system-enabled
Voice control
デバイスの音声機構166はデバイスの音声制御をサポートすべく用いられうる。音声機構166は好ましくは、その種のデバイスに適した複数の基本コマンドのための複数の音声認識機構を含む。例えば、主にはスピーカであるデバイスに対して、複数の音声コマンドはデバイスのパワーオフ(または低電力モードからのパワーオン)、より大きな音量で再生、より優しい音量で再生、等の複数のコマンドを含みうる。音声機構166は特殊なハードウェアまたは回路、および複数のDSP(デジタル信号プロセッサ)を用いて実装されうる。 The device audio mechanism 166 may be used to support device audio control. The voice mechanism 166 preferably includes a plurality of voice recognition mechanisms for a plurality of basic commands suitable for such devices. For example, for a device that is primarily a speaker, multiple voice commands can be used to power off the device (or power on from low power mode), play at a higher volume, play at a more gentle volume, etc. Can be included. The audio mechanism 166 can be implemented using specialized hardware or circuitry and multiple DSPs (Digital Signal Processors).
各デバイスは好ましくは、複数のユーザからの、認識された複数の単語のコーパスを維持する。いくつかの場合において、デバイスは複数の単語の複数のコーパスを、幾人かのユーザのそれぞれに対して1つ、維持しうる。デバイスは2人以上の人々によって制御されうる(および、デバイスに設定される複数の許可によっては、デバイスを制御する人はシステムの既知のユーザではないこともある)ので、デバイスは特定の複数のコマンドを複数の適切なユーザに関連付けることができる必要がある。このように、デバイスは音声/コマンド認識に対してどの複数の単語のコーパスを使用すべきかを決定できる。 Each device preferably maintains a corpus of recognized words from a plurality of users. In some cases, the device may maintain multiple corpora of multiple words, one for each of several users. A device can be controlled by more than one person (and depending on the permissions set on the device, the person who controls the device may not be a known user of the system) The command needs to be able to be associated with multiple appropriate users. In this way, the device can determine which multiple word corpus to use for voice / command recognition.
デバイス102は、適切なコーパスを選択すべく、音声を特定のユーザに関連付けるために、1または複数のカメラ(複数のセンサ138)と組み合わせて顔認識機構168を使用する。
いくつかの場合において、デバイスは音声コマンド/リクエストを処理できないこともある。これは、コマンド/リクエストの複雑性、複数の環境的原因(例えば、ノイズ)、スピーカのアクセント等を含む任意の数の要因のせいであるといえる。そのような複数の場合において、可能であれば(例えば、ネットワークに接続される場合)、および許容されるならば、デバイスは処理すべくバックエンドに音声コマンド/リクエストを送信しうる(例えば、音声認識が設けられた追加機能120によって)。音声はそのままの形態で、または何らかの前処理された形態で送信されうる。そのような処理の結果は、バックエンドへのコマンド/リクエスト(例えば、データベースクエリ)、またはデバイス自身へのコマンドでありうる。バックエンドによってリモートで処理される複数のデバイスコマンドは、デバイスの特定の複数の態様(例えば、スピーカに対する「より大きな音量で再生」)を制御するのに十分速いとは言えず、バックエンド処理は、より複雑な複数のコマンド、特に複数のデータベースクエリを伴うもの、に有用であることが理解されるべきである。
ジェスチャー制御
In some cases, the device may not be able to process voice commands / requests. This can be attributed to any number of factors, including command / request complexity, multiple environmental causes (eg, noise), speaker accents, and the like. In such cases, the device may send voice commands / requests to the backend for processing (eg, voice) if possible (eg, connected to a network) and if allowed. By an
Gesture control
デバイスのジェスチャー機構164は、デバイスのジェスチャー制御をサポートすべく、単独で、または音声機構166との組み合わせで用いられうる。ジェスチャー機構164は好ましくは、その種のデバイスに適した複数の基本コマンドのための複数のジェスチャー認識機構を含む。ジェスチャー機構164は、例えば、1または複数のカメラを含む複数のセンサ138のうちの1または複数を使用しうる。特殊な目的のジェスチャー検出/認識ハードウェアおよび回路が用いられうる。
顔および視線検出
The
Face and gaze detection
いくつかの場合において、デバイスの近くで同時に話しをする複数の人が存在しうる。彼らが言っていることのうちのいくつかは、デバイスへの複数のコマンドのつもりであるとは言えない。従って、いくつかの場合において、デバイスは、音声コマンドがデバイス向けであるかどうかを決定すべく、視線検出(顔/視線機構168によって決定される)の組み合わせを使用しうる。顔/視線機構168は、話している人が実際にデバイス102を見ているかどうかを決定すべく、1または複数のセンサ(例えば、1または複数のカメラ)を使用しうる。人は彼らがデバイスと完全に向かい合う前に(デバイスに向かって)話し始めうるので、好ましくは各デバイスはある期間の音を常にバッファリングして、視線が検出されれば、デバイスがバッファリングされたストリームの音声認識を開始できるようにする。
In some cases, there may be multiple people speaking simultaneously near the device. Some of what they say is not intended for multiple commands to the device. Thus, in some cases, the device may use a combination of gaze detection (determined by the face / gaze mechanism 168) to determine if the voice command is for the device. The face / gaze mechanism 168 may use one or more sensors (eg, one or more cameras) to determine whether the person who is speaking is actually looking at the
いくつかの場合において、口の動きの検出は、デバイスを見ている人がデバイスに話しかけている人であると確認すべく、視線検出との組み合わせで用いられうる。 In some cases, mouth movement detection may be used in combination with gaze detection to confirm that the person watching the device is the person talking to the device.
この説明を読むと当業者は気付き理解するであろうように、音声認識、ジェスチャー検出および認識、ならびに顔および/または視線検出は、デバイスを制御すべく、様々な組み合わせで用いられうる。
バックエンドへ報告を返す
As those skilled in the art will appreciate upon reading this description, speech recognition, gesture detection and recognition, and face and / or gaze detection can be used in various combinations to control the device.
Return report to backend
動作中、各デバイスはバックエンド102へ情報を報告する(図1における弧線#7に対応する)。情報は好ましくは、報告しているデバイスの固有デバイスIDと、デバイスがユーザに関連付けられている場合は、報告しているデバイスの所有者に関連付けられる固有ユーザIDと、を含む。各デバイスによって報告される情報のいくつかまたは全ては、デバイスデータベース128および/またはユーザデータベース130に、例えば、それぞれデバイス履歴および/またはユーザ履歴として格納されうる。各デバイスは固有デバイスIDを有するので、および、各ユーザは固有ユーザIDを有するので、デバイスからの情報はデバイスIDおよびユーザIDでキー付けされたデータベースに格納されうる。
In operation, each device reports information to the backend 102 (corresponding to arc # 7 in FIG. 1). The information preferably includes the unique device ID of the reporting device and, if the device is associated with a user, the unique user ID associated with the reporting device owner. Some or all of the information reported by each device may be stored in
いくつかの場合において、デバイス102は、その報告時に、自身の位置についての情報を含みうる。それらの場合において、位置情報はデバイスデータベースに格納されうる(最近のデバイス位置、および、デバイス履歴の両方として)。同様に、位置情報はデバイス履歴の通りにユーザデータベースに格納されうる。このように、データベースへの複数のクエリはデバイス位置についての複数のクエリを含みうる。
In some cases,
ユーザがシステムに登録する場合、ユーザは、登録時に彼らの現在位置に関連付けられる位置識別情報を提供しうる。ユーザはまた、システム内の複数の位置を格納し、そのそれぞれはユーザによって提供される異なる識別を有する。例えば、ユーザは、彼らの家、彼らの仕事、彼らの複数の友人の家、等についてのGPS位置情報を格納しうる。このように、システムは、名称を付けられた複数の位置に基づいて複数のデータベースクエリをサポートできる(例えば、「私のデバイスはどこ?」に対するシステムの応答は、「Joeの家に」でありうる)。好ましくはユーザは、位置情報のストレージを具体的に要求する必要はない。なぜなら、位置(例えば、GPS)データは好ましくは、履歴データまたはコンテキストメタデータの一部として自動的に格納されるからである。 When users register with the system, they can provide location identification information associated with their current location at the time of registration. The user also stores multiple locations within the system, each having a different identification provided by the user. For example, users may store GPS location information about their homes, their work, their friends' homes, and so on. In this way, the system can support multiple database queries based on named locations (eg, the system response to “Where is my device?” Is “Joe's home”. sell). Preferably, the user need not specifically request storage of location information. This is because location (eg, GPS) data is preferably stored automatically as part of historical data or context metadata.
デバイス102はまた、その種のデバイスに特有である情報(例えば、デバイスの固有の機能)を報告しうる。例えば、主にスピーカであるデバイスは、それが何を再生していて、どこに位置しているか、についての情報をバックエンドに報告しうる。いくつかの場合において、情報は、複数のデバイス設定および他のどのような複数のデバイスが関わっているか(例えば、結合されているか)、についての情報を含みうる。このように、データベースは、「昨晩10時頃にJoeの家で私は何を再生していたか?」といった種類の複数のクエリをサポートし、それに対してシステムは歌のリストを提供しうる。
The
デバイス102はまた、近接する複数のデバイスまたは複数のユーザについての情報の報告もする。
デバイス例−サウンドレンダリングデバイス
The
Device Example-Sound Rendering Device
図8A−図8Dは、デバイスの固有の機能がサウンドレンダリングである例示的デバイス800(デバイス102の実施形態)のアーキテクチャの複数の態様を示している。デバイス800は、例えば、スピーカとして用いられうる。図8A−図8Bに示されるように、サウンドレンダリングデバイス800は、デバイス固有の機能をサポートする複数のコンポーネント832を含む。これらのコンポーネント832は、1または複数のスピーカドライバ860、1または複数の信号プロセッサ862、1または複数のプロセッサ864、メモリ/ストレージ866、および複数の制御868を含む。
FIGS. 8A-8D illustrate aspects of the architecture of an exemplary device 800 (
図8A、図8Cに示されるように、デバイス800は、複数のBluetooth(登録商標)機構、複数のEthernet(登録商標)機構、複数のジグビー機構、複数のセルラー機構、複数のWi−Fi機構を含む複数の通信機構を含みうる。一実装形態において、デバイス800の複数の通信機構は、複数のBluetooth(登録商標)機構を含み、Ethernet(登録商標)機構、ジグビー機構、またはセルラー機構は含まない。
As shown in FIGS. 8A and 8C, the
図8Aおよび図8Dに示されるように、サウンドレンダリングデバイス800はまた、1または複数のカメラ870、1または複数のマイク872、デバイスモーションセンサ、場所/位置センサ、外部モーションセンサ、タッチ/コンタクトセンサ、光センサ、温度センサ、および他の複数のセンサを含む、複数のセンサ838を含みうる。一実装形態において、デバイス800の複数のセンサは、カメラも温度センサも含まない。
As shown in FIGS. 8A and 8D, the
1つの例示的実装形態において、以下のものがこれらのコンポーネントのうちのいくつかに対して用いられうる。
別の例示的実装形態においては、以下のものがこれらのコンポーネントのうちのいくつかに対して用いられうる。
上記リストは、例として与えられるだけであって、デバイスの範囲を限定する意図は全くないことが理解されるべきである。 It should be understood that the above list is given as an example only and is not intended to limit the scope of the device at all.
任意の既知の機構が、様々なインターフェース機構162に対して用いられうる。例えば、顔動き検出は、複数の人の顔の、モデルに基づく符号化に対してCANDIDEシステムを使用しうる。CANDIDEは、並みの計算能力で速い再構成を可能にする少数のポリゴン(約100)を有する顔モデルを用いる。 Any known mechanism can be used for the various interface mechanisms 162. For example, face motion detection may use the CANDIDE system for model-based encoding of multiple human faces. CANDIDE uses a face model with a small number of polygons (approximately 100) that allows fast reconstruction with moderate computational power.
サウンドレンダリングデバイス800は上述されたようなデバイス102として動作しうる。
この説明を読むと当業者は気付き理解するであろうように、複数の異なるおよび/または他の特定のコンポーネントはサウンドレンダリングデバイス800内で用いられ得て、そのような他の複数のコンポーネントが本明細書において考えられ、システム範囲内である。様々なコンポーネントが複数のやり方で実装およびパッケージングされ、デバイスは、複数のコンポーネントが実装またはパッケージングされるやり方によっては限定されないことが理解されるべきである。デバイスは、パッケージングまたはデバイスが取る形態によって(すなわち、デバイスの形態要因(form factor)によって)限定されないことが更に理解されるべきである。
As those skilled in the art will appreciate upon reading this description, a plurality of different and / or other specific components may be used within the
以下の表は、デバイスが複数の音声認識機構を用いてローカルに解釈できる複数の例示的コマンド(すなわち、複数の語句)のリストの構文を含む。本明細書において用いられるように、語句は1または複数の単語を意味する。以下のコーパスの表において、太字の斜体フォントの複数の語句は、ローカルコーパスにおけるもので、角括弧(「[」、「]」)内の複数の語句は任意である。語句と語句の間の縦線(「|」)は、「または」(すなわち、それらの語句のうちの1つ)を意味する。従って、例えば、「A」|「B」は、語句「A」または語句「B」を意味する。「#n」で示される語句は数字を意味する。星印(「*」)が続く語句は、その語句が繰り返されうることを意味する。「(複数可)」が続く単語の語句は、単数または複数のその単語が用いられうることを意味する。従って、例えば、表中のアイテム番号2、
[[少し]少しも(〜なく)|ずっと*|#n]より優しく|より低く|より高く|静かに[より静かに]
は、「少し低く」、「ずっと高く」、「より優しく」、「5倍低く」、「少しも優しくなく」、「ずっとずっと優しく」、「静かに」、「より静かに」、「少し静かに」等に対応しうる。
[[Slightly] Slightly (not much) | Much * | #n] Gently | Lower | Higher | Quiet [Quiet]
Is "a little lower", "much higher", "more gentle", "5 times lower", "not a little gentler", "much much gentler", "quiet", "quietly", "a little quiet" This can correspond to “
例として、表中のアイテム番号3は、「次の10曲を再生」、「どれか任意の歌を再生」、「次の曲を再生」、「前の歌を再び再生」、「任意の複数の曲を再生」、「再び再生」、「再生」等のうちの任意のものを意味しうる。別の例として、アイテム番号5は、「スキップ」、「次の3つの歌」、「曲」、「7つスキップ」、「前の曲」等のうちの任意のものを意味しうる。更なる例として、アイテム番号8は、「トーン」、「トレブルを上げるように調整」、「バスをより低く」等のうちの任意のものを意味しうる。
For example,
音声/スピーチ認識機構178は、従って、特定の話された複数の語句を認識し得て、それから、デバイスを実際に制御すべく、それらの対応するセマンティクス(semantics)(すなわち、意味)を決定して、他の複数の動作機構に(例えば、コマンド/制御機構158に)、対応する複数の命令を提供しなくてはならない。
The voice /
この例示的コーパスは、認識された複数の語句の構文を提供し、全ての語句がそのデバイスに対して意味(または妥当な意味)を有するわけではないことが理解されるべきである。例えば、上記番号3は、「次のどれか3つの歌を再び再生」なる語句の認識をサポートし得て、上記番号5は「前の曲をスキップ」なる語句の認識をサポートしうる。これらの語句は両方とも構文的には正しい(コーパスの構文によれば)が、それらはどのような意味のあるコマンドにも対応し得ず、デバイスによって無視されうる。
It should be understood that this exemplary corpus provides the syntax of the recognized phrases and that not all phrases have meaning (or reasonable meaning) to the device. For example, the
音声/スピーチ認識機構178に対して上に与えられたコーパスの構文は、例として提供されるだけであって、この説明を読むと当業者は気付き理解するであろうように、異なるおよび/または他の複数の音声命令がサウンドレンダリングデバイス800によって理解され得て、本明細書において考えられる。
The corpus syntax provided above for the speech /
複数のサウンドレンダリングデバイス800は、同じ音をレンダリングすべく互いに協同しうる(例えば、同じソースから同時に同じ音楽を再生すべく−好ましくは同期されて)。2又は3以上のサウンドレンダリングデバイス800が同じソースから音をレンダリングすべく協同する場合、それらは全てが同じ音を正確にレンダリングする必要はない。例えば、複数のサウンドレンダリングデバイス800は、サラウンドサウンドシステムとして同じソースから音をレンダリングすべく協同しうる。別の例として、複数のサウンドレンダリングデバイス800は、それらのうちのいくつかが何らかの音(例えば、いくつかの楽器からの)をレンダリングするように同じソースから音をレンダリングすべく協同し、一方で、他の複数のサウンドレンダリングデバイスは他の音(例えば、他のいくつかの楽器からの)をレンダリングする。
Multiple
サウンドレンダリングデバイス800はまた、音を生成すべく用いられる信号のソースでありうることが理解されるべきである。例えば、スマートフォン(iPhone(登録商標)、または同類のものなどの)はスピーカを有し得て(小型のものではあるが)、音を生成すべく用いられ得る信号(iPhone(登録商標)自身によって、および他の複数のデバイス800によって、の両方で)を生成しうる。
It should be understood that the
複数のサウンドレンダリングデバイス800間の協同の複数の例が、図9A−図9Cを参照して以下に与えられる。
協同の例−ステレオ
Examples of collaboration between multiple
Example of cooperation-stereo
図9Aの図面を参照すると、2つのサウンドレンダリングデバイス800―Aおよび800―Bがステレオ効果を提供すべく協同しうる。複数のデバイス中の複数のDSPは、例えば、ハース効果を生成すべく協同する。複数のデバイスはそれらの相対位置を決定しうる(例えば、エコー位置または何らかの他の機構を用いて)ことが理解されるべきであり、それらは協同効果を最適化すべくこの相対位置情報を使用しうる。
協同の例−複数の別個の楽器
Referring to the drawing of FIG. 9A, two sound rendering devices 800-A and 800-B may cooperate to provide a stereo effect. Multiple DSPs in multiple devices cooperate, for example, to generate a Haas effect. It should be understood that multiple devices can determine their relative position (eg, using echo position or some other mechanism) and they use this relative position information to optimize the cooperative effect. sell.
Example of collaboration-multiple separate instruments
図9Bの図面を参照すると、複数のサウンドレンダリングデバイス800―A−800―Dは、それらのうちのそれぞれ1つがソース信号中の複数の楽器のうちのいくつかだけを再生するように協同しうる。ソース信号は各楽器の別個の複数のストリームを提供しうるか、または各DSPは特定の複数の楽器をフィルタリングして除去すべくプログラムされうる。複数のデバイスがこのグループに加わると、各デバイスはレンダリングすべく1または複数の楽器に割り当てられる。例えば、最初デバイスAは単独で再生していて、ソース信号中の全ての音をレンダリングしていたと仮定する。デバイスBがデバイスAに加わる場合、デバイスAは、例えば、ベースおよびバイオリンをレンダリングし得て、デバイスBはチェロおよび複数のボーカルをレンダリングしうる。デバイスCがデバイスAおよびBに加わる場合、デバイスCはバイオリンの担当が与えられ得て、デバイスAにはベースだけが残される。デバイスDが加わる場合、それはデバイスBから複数のボーカルの担当を引き受ける(図9Bの図面に示されるように)。他の複数のデバイスがグループに加わる場合、それらはすでに存在する複数のデバイスのうちの1または複数と組み合わされうるか、またはそれらは何か他の担当を引き受けうる。デバイスがグループを抜ける場合、それが担当していた信号部分はまだグループに残っている別のデバイスに再度割り当てられるべきである。 Referring to the drawing of FIG. 9B, the plurality of sound rendering devices 800-A-800-D may cooperate such that each one of them plays only some of the plurality of instruments in the source signal. . The source signal can provide separate streams for each instrument, or each DSP can be programmed to filter out certain instruments. As multiple devices join this group, each device is assigned to one or more instruments for rendering. For example, assume that device A was initially playing alone and was rendering all sounds in the source signal. If device B joins device A, device A may render a base and a violin, for example, and device B may render a cello and multiple vocals. If device C joins devices A and B, device C can be given violin responsibilities, leaving only the base for device A. When device D joins, it assumes responsibility for multiple vocals from device B (as shown in the drawing of FIG. 9B). If other devices join the group, they can be combined with one or more of the already existing devices, or they can take on some other responsibility. If a device leaves a group, the signal portion it was responsible for should be reassigned to another device that still remains in the group.
この例はオーディオ信号中の複数の異なる楽器の選択的な担当を示しているが、この説明を読むと当業者は気付き理解するであろうように、デバイス800はオーディオストリームの異なるおよび/または他の複数の態様に対して担当が与えられうる。デバイス800は、自身のDSPがフィルタリングできる(フィルタリングして取り込みまたは除去できる)オーディオストリームの任意の部分または複数部分をレンダリングしうる(またはレンダリングし得ない)ことが理解されるべきである。さらに、デバイス800は、自身のDSPがフィルタリングできるオーディオストリームの任意の部分または複数部分を強化または変更しうる。
協同の例−任意の配置
Although this example shows the selective assignment of a plurality of different instruments in an audio signal,
Example of cooperation-arbitrary arrangement
図9Cの図面を参照すると、任意の(無計画な)構成で配置または位置された複数のサウンドレンダリングデバイス800―A−800―Eが協同しうる。それらのデバイスはそれら自身の相対位置を決定し得て(例えば、エコー位置または何らかの他のアプローチを用いて)、それらは、協同効果を最適化すべく、この相対位置情報を使用しうる。それらのデバイスはまた、聞き手に対して最適または有益な協同効果を生成すべく協同ししうる(聞き手の位置が既知である、もしくは決定され得る場合)。 Referring to the drawing of FIG. 9C, multiple sound rendering devices 800-A-800-E arranged or positioned in any (unplanned) configuration may cooperate. The devices can determine their own relative position (eg, using echo position or some other approach) and they can use this relative position information to optimize the cooperative effect. The devices may also cooperate to produce an optimal or beneficial cooperation effect for the listener (if the listener's location is known or can be determined).
それらのデバイスが、聞き手は複数のコマンド(音声、ジェスチャー等)をそれらに与えている人である、と仮定する場合、聞き手の位置決めをすべく(および聞き手に従うべく)、それらのデバイスはそれら各々のカメラを使用し得て、適宜音を調節する。単一デバイス中の単一のカメラは聞き手が位置する方向を決定できうる。いくつかの技術はそれら単一のカメラがおおよその距離を決定できるようにする。複数のカメラ(単一のデバイスまたは複数のデバイス中の)は聞き手の位置をより正確に決めることができる(例えば、顔の場所および/または動きの追跡によって)。人の位置を決めるべく1または複数のカメラを用いるのに加えて(またはその代わりに)、音声入力およびエコー検出を用いて位置検出が実現されうる。従って、例えば、カメラを有さないデバイスにおいては、位置を決定すべく音声入力およびエコー検出が単独で用いられうる。カメラを有するデバイスにおいては、位置を決定すべく、音声入力およびエコー検出は単独で、またはカメラとの組み合わせで用いられうる。 If those devices assume that the listener is the person giving them multiple commands (speech, gestures, etc.), the devices should be positioned (and follow the listener) Can adjust the sound accordingly. A single camera in a single device can determine the direction in which the listener is located. Some techniques allow those single cameras to determine approximate distances. Multiple cameras (in a single device or multiple devices) can more accurately determine the position of the listener (eg, by tracking the location of the face and / or movement). In addition to (or instead of) using one or more cameras to determine a person's position, position detection can be achieved using speech input and echo detection. Thus, for example, in a device without a camera, voice input and echo detection can be used alone to determine the position. In devices with a camera, voice input and echo detection can be used alone or in combination with a camera to determine position.
この例においては、協同に対して様々な選択肢が可能である。例えば、複数の異なる楽器は異なる複数のステレオ線(図面中のL1、L2、L3)に沿って配置され得て、デバイス800―Aから800―Eのうちのいくつかは、エコー、残響、または同類のものなどの複数の効果を加えるべく用いられ得て、複数のデバイスのうちのいくつかは、室内雑音または複数のエコー等を相殺すべく用いられうる。 In this example, various options for cooperation are possible. For example, different instruments may be placed along different stereo lines (L1, L2, L3 in the drawing), and some of the devices 800-A to 800-E may be echoes, reverberations, or It can be used to add multiple effects, such as the like, and some of the multiple devices can be used to cancel room noise or multiple echoes.
例えば、図9Cに示されるように、ベースはデバイスAおよびC(ステレオ線L1上の)によってレンダリングされ得て、バイオリンおよびチェロはデバイスAおよびE(ステレオ線L2上の)によってレンダリングされ得て、複数のボーカルはデバイスDおよびE(ステレオ線L3上の)によってレンダリングされうる。複数の効果(例えば、室内雑音または複数のエコーの相殺)はデバイスBによって実行されうる。 For example, as shown in FIG. 9C, the base can be rendered by devices A and C (on stereo line L1), the violin and cello can be rendered by devices A and E (on stereo line L2), Multiple vocals can be rendered by devices D and E (on stereo line L3). Multiple effects (eg, room noise or multiple echo cancellation) may be performed by device B.
オーディオ信号が複数のチャネルまたは他の複数の符号化したものを含む場合、複数のデバイスはこれらのチャネルをレンダリングすべく協同しうる。 If the audio signal includes multiple channels or other multiple encodings, multiple devices may cooperate to render these channels.
複数のサウンドレンダリングデバイス800、特に複数のポータブルデバイス、の特質は、それらの協同に加わる。いくつかの実装形態において、ユーザは友人に、それらのデバイス800を共有するための複数のゲスト特権を与えうる。いくつかの実装形態において、ユーザは全てのあらゆる他のデバイスに、それらのサウンドレンダリングデバイス800を共有するための複数の一時的な(「パーティーモード」)権限を与えうる。
コンフリクトの解消
The qualities of multiple
Conflict resolution
上述されたように(ハートビート処理を参照して)、複数のデバイスが協同しようと試みる場合、1つのデバイスが制御権を握ることが必要でありうる。サウンドレンダリングデバイス800の場合、好適な規定は、他方のデバイスとのコンタクト(例えば、それにタッチすることによって等)を最初に開始したデバイスが、決定を行う上で、必要に応じて主導権を握る、というものである。この説明を読むと当業者は気付き理解するであろうように、どのデバイスが制御権を握るかを決定するための異なるおよび/または他の複数の技術が用いられ得て、本明細書において考えられる。
ジャンルの分類
As described above (see heartbeat processing), if multiple devices attempt to cooperate, it may be necessary for one device to take control. In the case of the
Genre classification
音はジャンル(例えば、ボーカル、楽器、ジャズ、クラシック、発話音声、等)に分類され得て、これらのジャンルは音源信号が提供され得て、サウンドレンダリングデバイス800中の複数のDSPを自動的に設定または調節すべく用いられうる。いくつかの場合において、事前設定されたジャンル情報は、ユーザの複数の好み(何らかのユーザインターフェースを介して提供されうるか、またはデバイスとの複数のユーザ対話に基づいてデバイスによって学習されうる)によって組み合わされうるか、または無視されうる。例えば、ユーザが、常に事前設定された複数のDSP設定よりも優先して、常に複数のDSP設定を特定のジャンルの音楽に調節する場合、デバイス800はユーザの所望の複数の設定を学習し得て、そのジャンルに対しては、常にシステムの事前設定された複数の設定の代わりにそれらを使用しうる。
Sounds can be categorized into genres (eg, vocals, instruments, jazz, classical, spoken voice, etc.), and these genres can be provided with sound source signals to automatically enable multiple DSPs in the
ジャンル情報は、例えば、前もって、ソースの音を分析するオフライン処理を設定しうる。例えば、ソースライブラリの提供者は、音楽の各アイテムのジャンルを分類すべく、それらのライブラリにおける全ての音楽を事前分析しうる。その分類は、例えば、ジャンルを表すビットベクトルで格納され得て、ソースデータが提供されうる。しかしながら、ソース信号中のジャンル情報の処理は、そのジャンル情報が取得された、または設定されたやり方とは独立している、ということが理解されるべきである。 The genre information can set, for example, offline processing for analyzing the sound of the source in advance. For example, a source library provider may pre-analyze all the music in those libraries to classify the genre of each item of music. The classification can be stored, for example, as a bit vector representing a genre and source data can be provided. However, it should be understood that the processing of genre information in the source signal is independent of the way in which the genre information is obtained or set.
協同する複数のデバイス800は、どのようにそれらが協同するかを決定および調節すべく、ソース信号中のジャンル情報を使用しうる。従って、複数の歌に対応する音をレンダリングする場合、協同する複数のデバイス800は、各歌のジャンルに応じてそれらの協同するやり方を変更しうる。
この説明を読むと当業者は気付き理解するであろうように、異なるおよび/または他の複数の種類の協同が、複数のサウンドレンダリングデバイス800によって用いられ得て、そのような協同は本明細書において考えられ、システムの範囲内に含まれる。
履歴および学習
As will be appreciated and understood by those skilled in the art upon reading this description, different and / or other types of cooperation may be used by the plurality of
History and learning
上述の通り、システム100は各デバイス102から情報を取得しうる。複数のサウンドレンダリングデバイス800の場合、複数のデバイスは好ましくは、それらが何の音をレンダリングしているのか(例えば、何の音楽等をそれらが再生しているのか)、並びにいつ、どこでそれがレンダリングされるのか、をバックエンド184に通知する。この目的を達成すべく、各デバイス800はその複数のアクティビティの履歴を保持し、定期的に、および/または可能なときに、バックエンド184にその履歴を提供する。履歴は、デバイスの複数のアクティビティを再現すべく用いられうる、複数のアクティビティおよび複数のデバイス設定の、タイムスタンプされた、順序付けされたリストとして提供されうる。デバイスが別のデバイスと協同する場合、その情報はまた履歴に含められ、両方の(全ての)協同するデバイスは、バックエンドに自身の履歴情報を提供する。
As described above, the
バックエンドはデバイスデータベース128およびユーザデータベース130にデバイス履歴情報を格納する。
The back end stores device history information in the
この種のデバイス履歴情報は、以下の種類の、次に続く複数のクエリをサポートする(バックエンド184およびおそらくは追加機能120によって)。
1.「月曜日の午後4時30分に聴いていたものを再生」。
2.「日曜日の朝に[ユーザ]Joeと一緒に聴いていたものを再生」。
3.「デバイスを2012年7月1日にしていた複数の設定に設定」。
4.「[ユーザおよび友人]Maryが今聴いているものを再生」。
This type of device history information supports the following types of subsequent queries (by
1. “Play what I listened to at 4:30 pm on Monday”.
2. “Play what I listened to on Sunday morning with [User] Joe”.
3. “Set the device to multiple settings on July 1, 2012”.
4). "Play what [user and friend] Mary is listening to now."
クエリ#2は、Joeとクエリを行っているユーザとが友人同士である必要があり得て、Joeの許可が必要でありうることに注意されたい。クエリ#4は、Maryとクエリを行っていユーザとが友人同士である必要があり得て、Maryの許可が必要でありうる。クエリ#4は、Maryが聴いているものを知るべく(ほぼリアルタイムで)、システムが更新されたと仮定することにも注意されたい。 Note that query # 2 may require Joe and the user making the query to be friends, and may require Joe's permission. Query # 4 may require that the user who is querying Mary and the user are friends, and may require Mary's permission. Note also that query # 4 assumes that the system has been updated to know what Mary is listening to (in near real time).
これらのクエリは、複数の例として提供されるだけであって、システムの範囲を限定する意図は全くない。
ノイズキャンセル
These queries are only provided as examples and are not intended to limit the scope of the system at all.
Noise cancellation
上述の通り、デバイスは、複数の音声対話をより正確に処理すべく、環境ノイズをフィルタリングして除去するよう試みうる。サウンドレンダリングデバイス800は追加的な複数の問題をもたらす。なぜならば、デバイスそれ自身が環境ノイズのソースになりうるからである。何れの場合でも、デバイスは、デバイスによってレンダリングされる音がデバイスそれ自身に対する複数のコマンドであると認識すべきではない。従って、好適な複数の実装形態において、サウンドレンダリングデバイス800は、それが、自身の複数の音センサ(複数のマイク)によって取得される音から生成する音を、フィルタリングして除去する。
As described above, the device may attempt to filter out ambient noise to more accurately handle multiple voice interactions.
本明細書において用いられるように、「第1の」、「第2の」、などの単語は、用語の前につく形容詞として用いられる場合、単に複数の同様の用語を区別すべく用いられるのであり、それらの使用は、いかなる数的制限またはいかなる順序付け(時間に関する、またはその他)をも暗示または定義するものではない。従って、例えば、「第1のデバイス」および「第2のデバイス」という用語は、単に異なる複数のデバイスを指す、およびそれらを区別すべく用いられる。 As used herein, words such as “first”, “second”, etc., when used as an adjective preceding a term, are merely used to distinguish a plurality of similar terms. Yes, their use does not imply or define any numerical limitation or any ordering (in terms of time or otherwise). Thus, for example, the terms “first device” and “second device” are simply used to refer to and distinguish between different devices.
特許請求の範囲を含む本明細書において用いられるように、「に基づいて(based on)」という語句は、そうでないように具体的に述べられない限りは、「に少なくとも部分的に基づいて」を意味する。従って、例えば、「XYZに基づいて」という語句は、「XYZに少なくとも部分的に基づいて」を意味する。 As used herein, including the claims, the phrase “based on” means “based at least in part on,” unless specifically stated otherwise. Means. Thus, for example, the phrase “based on XYZ” means “based at least in part on XYZ”.
このように、デバイス設定、対話および制御のための統一フレームワークが、それらにおいて用いられる複数のシステム、複数のデバイスおよび複数の機構と共に説明される。本発明は、最も実用的で好適な複数の実施形態であると現在見做されるものに関連して説明されてきたが、本発明は開示された実施形態に限定されるものではなく、逆に、添付の特許請求の趣旨および範囲内に含まれる様々な変更形態および等価な構成を網羅する意図があると理解されるべきである。 Thus, a unified framework for device configuration, interaction and control is described along with multiple systems, multiple devices and multiple mechanisms used in them. Although the invention has been described in connection with what is presently considered to be the most practical and preferred embodiments, the invention is not limited to the disclosed embodiments, and vice versa. It is to be understood that the intention is to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Claims (51)
(A)前記デバイスのデバイス固有の機能をサポートする複数の第1の機構と、
(B)前記複数の第1の機構の制御をサポートする複数の第2の機構と、を備え、前記複数の第2の機構は、
(B)(1)前記デバイスの物理的および環境的な複数の特性と前記デバイスの周囲の環境とのうちの少なくとも1つに関する情報を取得する複数のセンサと、
(B)(2)複数の制御機構と、
(B)(3)前記複数のセンサのうちの少なくともいくつかからセンサ入力を取得して、前記センサ入力に基づいてセンサ情報を決定し、前記複数の制御機構に前記センサ情報を提供する複数のヒューマンインターフェース機構と、を含み、
(C)前記複数の制御機構は、
(C)(i)前記複数のヒューマンインターフェース機構からの前記センサ情報に基づいて制御情報を決定し、
(C)(ii)前記複数の第1の機構に前記制御情報のうちの少なくともいくつかを提供し、
(D)前記複数の第1の機構は、前記複数の制御機構から前記制御情報を取得し、少なくとも部分的に、前記複数の制御機構から取得される前記制御情報に従って動作し、
(E)前記複数のセンサは、
(E)(1)前記デバイスの周囲の前記環境から画像情報を取得し、前記複数のヒューマンインターフェース機構に前記画像情報を提供する1または複数のカメラと、
(E)(2)前記デバイスの周囲の前記環境から音情報を取得し、前記複数のヒューマンインターフェース機構に前記音情報を提供する1または複数のマイクと、を含み、
(F)前記複数のヒューマンインターフェース機構は、
(F)(1)前記音情報中のスピーチを認識し、前記複数の制御機構に前記音情報中の認識されたスピーチについての情報をスピーチ情報として提供する複数のスピーチ機構と、
(F)(2)前記画像情報中の、顔情報と視線情報とのうちの少なくとも1つを検出する複数の顔機構と、を備え、
前記複数の制御機構は前記スピーチ情報に基づいて前記制御情報を決定し、
前記複数のスピーチ機構(F)(1)は、前記複数の顔機構によって検出された情報に基づいてスピーチ認識を開始する
デバイス。 A device,
(A) a plurality of first mechanisms that support device-specific functions of the device;
(B) a plurality of second mechanisms that support control of the plurality of first mechanisms, and the plurality of second mechanisms include:
(B) (1) a plurality of sensors for obtaining information on at least one of a plurality of physical and environmental characteristics of the device and an environment surrounding the device;
(B) (2) a plurality of control mechanisms;
(B) (3) A plurality of sensors that obtain sensor inputs from at least some of the plurality of sensors, determine sensor information based on the sensor inputs, and provide the sensor information to the plurality of control mechanisms. A human interface mechanism,
(C) The plurality of control mechanisms include:
(C) (i) determining control information based on the sensor information from the plurality of human interface mechanisms;
(C) (ii) providing at least some of the control information to the plurality of first mechanisms;
(D) the plurality of first mechanisms acquire the control information from the plurality of control mechanisms, and at least partially operate according to the control information acquired from the plurality of control mechanisms;
(E) The plurality of sensors are:
(E) (1) One or more cameras that acquire image information from the environment around the device and provide the image information to the plurality of human interface mechanisms;
(E) (2) One or more microphones that obtain sound information from the environment around the device and provide the sound information to the plurality of human interface mechanisms,
(F) The plurality of human interface mechanisms are:
(F) (1) a plurality of speech mechanisms for recognizing speech in the sound information and providing information about the recognized speech in the sound information to the plurality of control mechanisms as speech information;
(F) (2) a plurality of face mechanisms for detecting at least one of face information and line-of-sight information in the image information,
The plurality of control mechanisms determine the control information based on the speech information,
The plurality of speech mechanisms (F) (1) start speech recognition based on information detected by the plurality of face mechanisms.
請求項1に記載のデバイス。 The device according to claim 1, wherein the plurality of speech mechanisms start speech recognition based on line-of-sight information detected by the plurality of face mechanisms.
請求項1または2に記載のデバイス。 The plurality of speech mechanisms buffer sound information from the environment around the device and start speech recognition of the buffered sound information based on line-of-sight information detected by the plurality of face mechanisms. The device according to 1 or 2.
請求項1または2に記載のデバイス。 The plurality of speech mechanisms uses at least one speech corpus, and the plurality of speech mechanisms selects a speech corpus from the at least one speech corpus based on face information provided by the plurality of face mechanisms. Item 3. The device according to Item 1 or 2.
(F)(3)前記画像情報中の複数のジェスチャーを検出および認識し、前記複数の制御機構に前記画像情報中の認識された複数のジェスチャーについての前記情報をジェスチャー情報として提供する複数のジェスチャー機構を備え、
前記複数の制御機構は前記ジェスチャー情報に基づいて前記制御情報を決定する
請求項1または2に記載のデバイス。 The plurality of human interface mechanisms further includes:
(F) (3) A plurality of gestures for detecting and recognizing a plurality of gestures in the image information and providing the plurality of control mechanisms with the information about the recognized plurality of gestures in the image information as gesture information. With a mechanism,
The device according to claim 1, wherein the plurality of control mechanisms determine the control information based on the gesture information.
(A)前記デバイスのデバイス固有の機能をサポートする複数のデバイス固有の機構と、
(B)前記複数のデバイス固有の機構の制御をサポートする複数の第2の機構と、を備え、前記複数の第2の機構は、
(B)(1)複数の制御機構と、
(B)(2)前記デバイスの周囲の環境から画像情報を取得する1または複数のカメラと、前記デバイスの周囲の前記環境から音情報を取得する1または複数のマイクと、を含む複数のセンサと、
(B)(3)複数のヒューマンインターフェース機構と、を含み、前記複数のヒューマンインターフェース機構は、
(B)(3)(1)前記1または複数のカメラから取得される画像情報中の視線情報を決定する複数の顔機構と、
(B)(3)(2)前記1または複数のマイクから取得される音情報中のスピーチを認識し、前記複数の制御機構に前記音情報中の認識されたスピーチについての情報をスピーチ情報として提供する複数のスピーチ機構と、を備え、
前記複数のスピーチ機構は、前記複数の顔機構によって検出された視線情報に基づいてスピーチ認識を開始し、
前記複数のヒューマンインターフェース機構は、前記複数のスピーチ機構から取得される認識されたスピーチについての前記情報に基づいてインターフェース情報を決定し、前記複数の制御機構に前記インターフェース情報を提供し、
前記複数の制御機構は、
前記複数のヒューマンインターフェース機構からの前記インターフェース情報に基づいて制御情報を決定し、
前記複数のデバイス固有の機構に前記制御情報のうちの少なくともいくつかを提供し、
前記複数のデバイス固有の機構は、前記複数の制御機構から前記制御情報を取得し、少なくとも部分的に前記複数の制御機構から取得される前記制御情報に従って動作する
デバイス。 A device,
(A) a plurality of device-specific mechanisms that support device-specific functions of the device;
(B) a plurality of second mechanisms that support control of the plurality of device-specific mechanisms, and the plurality of second mechanisms includes:
(B) (1) a plurality of control mechanisms;
(B) (2) A plurality of sensors including one or more cameras that acquire image information from an environment around the device and one or more microphones that acquire sound information from the environment around the device When,
(B) (3) a plurality of human interface mechanisms, wherein the plurality of human interface mechanisms include:
(B) (3) (1) a plurality of face mechanisms that determine line-of-sight information in image information acquired from the one or more cameras;
(B) (3) (2) Recognizing speech in sound information acquired from the one or more microphones, and making the plurality of control mechanisms recognize information about the recognized speech in the sound information as speech information. A plurality of speech mechanisms to provide,
The plurality of speech mechanisms start speech recognition based on line-of-sight information detected by the plurality of face mechanisms,
The plurality of human interface mechanisms determine interface information based on the information about recognized speech obtained from the plurality of speech mechanisms, and provide the interface information to the plurality of control mechanisms;
The plurality of control mechanisms are:
Determining control information based on the interface information from the plurality of human interface mechanisms;
Providing at least some of the control information to the plurality of device-specific mechanisms;
The plurality of device-specific mechanisms acquire the control information from the plurality of control mechanisms and operate according to the control information acquired at least partially from the plurality of control mechanisms.
請求項1から6の何れか一項に記載のデバイス。 The device according to claim 1, wherein the device-specific function includes sound rendering.
請求項7に記載のデバイス。 The device according to claim 7, wherein the device is a speaker.
(A)前記メモリのバッファに前記デバイスの周囲の環境からのセンサ情報をバッファリングされたセンサ情報としてバッファリングする段階と、
(B)前記環境において人の視線を検出する段階と、
(C)(B)において検出される前記視線に基づいて、前記バッファリングされたセンサ情報を含むいくつかのセンサ情報の認識を開始する段階と、
(D)(C)において開始される前記認識が、前記バッファリングされたセンサ情報を含む前記センサ情報中の少なくとも1つの命令を決定する段階と、
(E)前記少なくとも1つの命令に基づいて前記デバイスを動作させる段階と、を備える
方法。 A method of operating a device, wherein the method is implemented, at least in part, by hardware including at least one processor and memory, the method comprising:
(A) buffering sensor information from an environment surrounding the device as buffered sensor information in the buffer of the memory;
(B) detecting human eyes in the environment;
(C) starting recognition of some sensor information including the buffered sensor information based on the line of sight detected in (B);
(D) the recognition initiated in (C) determines at least one instruction in the sensor information including the buffered sensor information;
(E) operating the device based on the at least one instruction.
請求項9に記載の方法。 The sensor information includes image information, the recognition initiated in (C) includes gesture recognition, and the at least one command is determined based on at least one gesture recognized by the gesture recognition. The method described in 1.
請求項9に記載の方法。 The sensor information includes sound information, the recognition initiated in (C) includes speech recognition, and the at least one command is determined based on at least one utterance phrase recognized by the speech recognition. Item 10. The method according to Item 9.
(A)前記メモリに前記デバイスの周囲の環境からの音をバッファリングされた音としてバッファリングする段階と、
(B)前記環境において人の視線を検出する段階と、
(C)(B)において検出される前記視線に基づいて、前記バッファリングされた音を含むいくつかの音のスピーチ認識を開始する段階と、
(D)前記スピーチ認識が、前記バッファリングされた音を含む前記音における少なくとも1つの命令を決定する段階と、
(E)前記少なくとも1つの命令に基づいて前記デバイスを動作させる段階と、を備える
方法。 A method of operating a device, wherein the method is implemented, at least in part, by hardware including at least one processor and memory, the method comprising:
(A) buffering sound from the environment surrounding the device as buffered sound in the memory;
(B) detecting human eyes in the environment;
(C) starting speech recognition of several sounds including the buffered sound based on the line of sight detected in (B);
(D) the speech recognition determines at least one instruction in the sound including the buffered sound;
(E) operating the device based on the at least one instruction.
(A)前記メモリに前記デバイスの周囲の環境からの画像情報をバッファリングされた画像情報としてバッファリングする段階と、
(B)前記環境において人の視線を検出する段階と、
(C)(B)において検出される前記視線に基づいて、前記バッファリングされた画像情報を含むいくつかの画像情報のジェスチャー認識を開始する段階と、
(D)前記ジェスチャー認識が、前記バッファリングされた画像情報を含む前記画像情報における少なくとも1つの命令を決定する段階と、
(E)前記少なくとも1つの命令に基づいて前記デバイスを動作させる段階と、を備える
方法。 A method of operating a device, wherein the method is implemented, at least in part, by hardware including at least one processor and memory, the method comprising:
(A) buffering image information from an environment around the device as buffered image information in the memory;
(B) detecting human eyes in the environment;
(C) starting gesture recognition of several pieces of image information including the buffered image information based on the line of sight detected in (B);
(D) the gesture recognition determines at least one instruction in the image information including the buffered image information;
(E) operating the device based on the at least one instruction.
請求項9から13の何れか一項に記載の方法。 The method according to any one of claims 9 to 13, wherein the device is a sound rendering device.
請求項14に記載の方法。 The method of claim 14, wherein the device is a speaker.
(A)デバイスを提供する段階であり、前記デバイスはデバイス固有の機能を有する段階と、
(B)前記フレームワークのユーザに前記デバイスを関連付ける段階であり、前記ユーザは自身に関連付けられるユーザ固有設定情報を有し、前記ユーザの前記ユーザ固有設定情報は、前記ユーザのスピーチの認識をサポートする少なくとも1つのスピーチコーパスを備える段階と、
(C)前記ユーザに関連付けられる前記ユーザ固有設定情報に基づく設定情報で前記デバイスを自動的に設定する段階と、を備える
方法。 A method usable in a framework, the method comprising:
(A) providing a device, the device having device-specific functions;
(B) associating the device with a user of the framework, wherein the user has user-specific setting information associated with the user, and the user-specific setting information of the user supports recognition of the user's speech Providing at least one speech corpus to:
(C) automatically setting the device with setting information based on the user-specific setting information associated with the user.
ネットワーク設定情報と、
パスワード情報と、
前記ユーザに関連付けられるジェスチャー認識用の少なくとも1つのジェスチャーコーパスと、
前記ユーザの顔認識用の顔情報と、のうちの1または複数を更に含む
請求項16に記載の方法。 The user-specific setting information of the user is
Network configuration information,
Password information,
At least one gesture corpus for gesture recognition associated with the user;
The method according to claim 16, further comprising one or more of face information for recognizing the user's face.
請求項16または17に記載の方法。 The method of claim 16 or 17, further comprising: (D) updating at least some of the configuration information on the device based on updated user-specific configuration information associated with the user.
請求項18に記載の方法。 The method of claim 18, wherein the device obtains the updated user specific configuration information from another device.
請求項19に記載の方法。 The method of claim 19, further comprising: (D) providing at least some user-specific configuration information to another device.
請求項18に記載の方法。 The method of claim 18, wherein the device updates some of the user specific configuration information based on one or more human interactions with the device.
請求項21に記載の方法。 The method of claim 21, further comprising: (D) providing updated user specific configuration information elsewhere.
請求項22に記載の方法。 The method of claim 22, wherein the updated user specific configuration information is stored in the other location.
(A)第1のデバイスを前記フレームワークのユーザに関連付ける段階であり、前記ユーザは自身に関連付けられるユーザ固有設定情報を有し、前記ユーザ固有設定情報は前記ユーザに関連付けられる複数の対話の認識用の少なくとも1つのコーパスを含む段階と、
(B)前記ユーザに関連付けられる前記ユーザ固有設定情報のうちの少なくともいくつかで前記第1のデバイスを自動的に設定する段階と、を備える
方法。 A method usable in a framework, the method comprising:
(A) associating a first device with a user of the framework, the user having user specific configuration information associated with the user, wherein the user specific configuration information is a recognition of a plurality of interactions associated with the user Including at least one corpus for
(B) automatically configuring the first device with at least some of the user-specific configuration information associated with the user.
前記ユーザに関連付けられるスピーチ認識用の少なくとも1つのスピーチコーパスと、
前記ユーザに関連付けられるジェスチャー認識用の少なくとも1つのジェスチャーコーパスと、のうちの1または複数を備える
請求項24に記載の方法。 The at least one corpus is
At least one speech corpus for speech recognition associated with the user;
25. The method of claim 24, comprising one or more of at least one gesture corpus for gesture recognition associated with the user.
ネットワーク設定情報と、
パスワード情報と、
前記ユーザの顔認識用の顔情報と、のうちの1または複数を更に含む
請求項24または25に記載の方法。 The user-specific setting information is
Network configuration information,
Password information,
The method according to claim 24 or 25, further comprising one or more of face information for face recognition of the user.
請求項26に記載の方法。 27. The method of claim 26, wherein the first device updates some of the user specific configuration information based on one or more human interactions.
請求項27に記載の方法。 28. The method of claim 27, wherein the first device provides updated user specific configuration information elsewhere.
請求項28に記載の方法。 29. The method of claim 28, further comprising: (C) associating updated user specific configuration information received from the first device with the user at the other location.
(E)前記更新されたユーザ固有設定情報で前記第2のデバイスを自動的に設定する段階と、を更に備える
請求項29に記載の方法。 (D) associating a second device with the user;
30. The method of claim 29, further comprising: (E) automatically configuring the second device with the updated user specific configuration information.
請求項24から30の何れか一項に記載の方法。 31. A method according to any one of claims 24 to 30, wherein the first device is a sound rendering device.
請求項30に記載の方法。 The method of claim 30, wherein the first device and the second device are sound rendering devices.
少なくとも1つのプロセッサおよびメモリを含む、ハードウェアおよびソフトウェアを備えるバックエンドシステムを備え、前記バックエンドシステムはデータベースシステムおよび複数のバックエンドアプリケーションを含み、前記複数のバックエンドアプリケーションは、前記ハードウェア上で実行され、
(a)前記データベースシステムおよび前記複数のデバイスとインターフェースで接続し、
(b)前記データベースシステムにおいて、前記複数のデバイスの各デバイスについてのデバイス情報を維持し、
(c)前記データベースシステムにおいて、前記複数のユーザの各ユーザについてのユーザ情報を維持し、
(d)前記複数のユーザのうちの特定のユーザに関連付けられる少なくとも1つのデバイスに前記データベースシステムからの前記特定のユーザのユーザ情報のうちの少なくともいくつかを提供し、
各特定のデバイスについての前記デバイス情報は、前記特定のデバイスに関連付けられる任意のユーザについての情報を含み、
各特定のユーザについての前記ユーザ情報は、前記特定のユーザに関連付けられる複数のデバイス中の少なくとも1つのヒューマンインターフェース制御機構をサポートする情報を含む
フレームワーク。 A framework that supports operation of a plurality of devices on behalf of a plurality of users, wherein each device of the plurality of devices is mainly associated with one user of the plurality of users in the framework, and the frame Work is
A backend system comprising hardware and software, including at least one processor and memory, the backend system comprising a database system and a plurality of backend applications, wherein the plurality of backend applications are on the hardware; Executed,
(A) connecting to the database system and the plurality of devices through an interface;
(B) In the database system, maintaining device information for each device of the plurality of devices;
(C) In the database system, maintaining user information about each user of the plurality of users,
(D) providing at least some of the user information of the particular user from the database system to at least one device associated with the particular user of the plurality of users;
The device information for each specific device includes information about any user associated with the specific device;
The user information for each particular user includes information that supports at least one human interface control mechanism in a plurality of devices associated with the particular user.
請求項33に記載のフレームワーク。 The user information of each specific user further includes configuration information associated with the specific user, and the user information of the specific user provided by the backend system in (d) is associated with the specific user. The framework according to claim 33, including setting information.
請求項33に記載のフレームワーク。 The user information of the particular user provided by the backend system includes the information supporting the at least one human interface control mechanism in a plurality of devices associated with the particular user. Framework.
請求項33から35のいずれか一項に記載のフレームワーク。 The at least one human interface control mechanism includes a speech recognition mechanism, and for a particular user, the information supporting the at least one human interface control mechanism is associated with the particular user and is by the particular user 36. The framework according to any one of claims 33 to 35, comprising at least one speech corpus usable by a speech recognition mechanism that supports speech recognition.
請求項33から35のいずれか一項に記載のフレームワーク。 The at least one human interface control mechanism includes a gesture recognition mechanism, and for a particular user, the information supporting the at least one human interface control mechanism is associated with the particular user and is by the particular user 36. The framework according to any one of claims 33 to 35, comprising at least one gesture corpus usable by a gesture recognition mechanism that supports recognition of a plurality of gestures.
(e)複数のデバイスから更新されたユーザ情報を取得し、
(f)前記データベースシステムにおいて、対応する複数のユーザに前記更新されたユーザ情報を関連付ける
請求項33に記載のフレームワーク。 The plurality of backend applications further includes:
(E) Obtain updated user information from multiple devices,
(F) The framework according to claim 33, wherein the updated user information is associated with a plurality of corresponding users in the database system.
請求項38に記載のフレームワーク。 39. The framework of claim 38, wherein the updated user information from a specific device comprises updated information that supports a human interface control mechanism on the specific device.
請求項39に記載のフレームワーク。 40. In (f), the plurality of back-end applications associate the updated information supporting the human interface control mechanism on the particular device with a user associated with the particular device. Framework.
請求項39に記載のフレームワーク。 40. The framework of claim 39, wherein the human interface control mechanism on the particular device comprises a speech recognition mechanism, and the updated user information comprises an updated speech corpus for the speech recognition mechanism.
請求項41に記載のフレームワーク。 42. The frame of claim 41, wherein in (f), the plurality of back-end applications associates the updated speech corpus for the speech recognition mechanism on the specific device with a user associated with the specific device. work.
前記方法は、
(A)前記データベースシステムにおいて、前記複数のデバイスの各デバイスについてのデバイス情報を維持する段階であり、各特定のデバイスについての前記デバイス情報は前記特定のデバイスに関連付けられる任意のユーザについての情報を含む段階と、
(B)前記データベースシステムにおいて、前記複数のユーザの各ユーザについてのユーザ情報を維持する段階であり、各特定のユーザについての前記ユーザ情報は、前記特定のユーザに関連付けられる複数のデバイス中の少なくとも1つのヒューマンインターフェース制御機構をサポートする情報を含む段階と、
(C)前記複数のユーザのうちの特定のユーザに関連付けられる少なくとも1つのデバイスに前記データベースシステムからの前記特定のユーザのユーザ情報のうちの少なくともいくつかを提供する段階と、を備える
方法。 A method that can be used in a framework that supports operation of a plurality of devices on behalf of a plurality of users, wherein each device of the plurality of devices is mainly directed to one user of the plurality of users in the framework. And the framework comprises a backend system comprising hardware and software, including at least one processor and memory, the backend system executing on the hardware and the database system And a plurality of back-end applications that interface with the plurality of devices,
The method
(A) In the database system, maintaining device information for each device of the plurality of devices, wherein the device information for each specific device includes information about an arbitrary user associated with the specific device. Including a stage;
(B) In the database system, maintaining user information for each user of the plurality of users, wherein the user information for each specific user is at least in a plurality of devices associated with the specific user Including information supporting one human interface control mechanism;
(C) providing at least some of the user information of the particular user from the database system to at least one device associated with the particular user of the plurality of users.
請求項43に記載の方法。 The user information of each specific user further includes setting information associated with the specific user, and the user information of the specific user provided in (C) includes setting information associated with the specific user. Item 44. The method according to Item 43.
請求項43に記載の方法。 44. The method of claim 43, wherein the user information of the particular user provided in (C) includes the information supporting the at least one human interface control mechanism in a plurality of devices associated with the particular user. .
請求項43から45のいずれか一項に記載の方法。 The at least one human interface control mechanism includes a speech recognition mechanism, and for a particular user, the information supporting the at least one human interface control mechanism is associated with the particular user and is by the particular user 46. A method as claimed in any one of claims 43 to 45, comprising at least one speech corpus usable by a speech recognition mechanism that supports speech recognition.
請求項43から45のいずれか一項に記載の方法。 The at least one human interface control mechanism includes a gesture recognition mechanism, and for a particular user, the information supporting the at least one human interface control mechanism is associated with the particular user and is by the particular user 46. A method according to any one of claims 43 to 45, comprising at least one gesture corpus usable by a gesture recognition mechanism that supports recognition of a plurality of gestures.
(D)特定のデバイスから更新されたユーザ情報を取得する段階と、
(E)前記データベースシステムにおいて、前記特定のデバイスの対応するユーザに前記更新されたユーザ情報を関連付ける段階と、を更に備える
請求項43に記載の方法。 By the plurality of backend applications,
(D) obtaining updated user information from a specific device;
44. The method of claim 43, further comprising: (E) associating the updated user information with a corresponding user of the particular device in the database system.
請求項48に記載の方法。 49. The method of claim 48, wherein the updated user information from the specific device comprises updated information that supports a human interface control mechanism on the specific device.
請求項49に記載の方法。 50. The method of claim 49, wherein the human interface control mechanism on the particular device comprises a speech recognition mechanism, and the updated user information comprises an updated speech corpus for the speech recognition mechanism.
請求項43に記載の方法。 44. The method of claim 43, further comprising: (D) associating a new device with a user in the database system.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261727217P | 2012-11-16 | 2012-11-16 | |
US61/727,217 | 2012-11-16 | ||
PCT/US2013/070002 WO2014078480A1 (en) | 2012-11-16 | 2013-11-14 | Unified framework for device configuration, interaction and control, and associated methods, devices and systems |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016502137A true JP2016502137A (en) | 2016-01-21 |
Family
ID=50731669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015542762A Pending JP2016502137A (en) | 2012-11-16 | 2013-11-14 | Unified framework for device configuration, interaction and control, and related methods, devices and systems |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP2920673A1 (en) |
JP (1) | JP2016502137A (en) |
KR (1) | KR20150086332A (en) |
CA (1) | CA2891202A1 (en) |
TW (1) | TW201423485A (en) |
WO (1) | WO2014078480A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019235229A1 (en) * | 2018-06-06 | 2019-12-12 | ソニー株式会社 | Information processing device and method, and program |
KR20210002697A (en) * | 2018-05-04 | 2021-01-08 | 구글 엘엘씨 | Automated assistant function call based on detected gesture and gaze |
US11614794B2 (en) | 2018-05-04 | 2023-03-28 | Google Llc | Adapting automated assistant based on detected mouth movement and/or gaze |
US11688417B2 (en) | 2018-05-04 | 2023-06-27 | Google Llc | Hot-word free adaptation of automated assistant function(s) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI677751B (en) * | 2017-12-26 | 2019-11-21 | 技嘉科技股份有限公司 | Image capturing device and operation method thereof |
KR20190114325A (en) * | 2018-03-29 | 2019-10-10 | 삼성전자주식회사 | The apparatus for processing user voice input |
TWI826031B (en) * | 2022-10-05 | 2023-12-11 | 中華電信股份有限公司 | Electronic device and method for performing speech recognition based on historical dialogue content |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7438414B2 (en) * | 2005-07-28 | 2008-10-21 | Outland Research, Llc | Gaze discriminating electronic control apparatus, system, method and computer program product |
WO2008069519A1 (en) * | 2006-12-04 | 2008-06-12 | Electronics And Telecommunications Research Institute | Gesture/speech integrated recognition system and method |
WO2008082021A1 (en) * | 2007-01-05 | 2008-07-10 | Ajou University Industry Cooperation Foundation | Open framework system for heterogeneous computing and service integration |
US8676942B2 (en) * | 2008-11-21 | 2014-03-18 | Microsoft Corporation | Common configuration application programming interface |
US8843893B2 (en) * | 2010-04-29 | 2014-09-23 | Sap Ag | Unified framework for configuration validation |
KR101789619B1 (en) * | 2010-11-22 | 2017-10-25 | 엘지전자 주식회사 | Method for controlling using voice and gesture in multimedia device and multimedia device thereof |
-
2013
- 2013-11-14 KR KR1020157016043A patent/KR20150086332A/en not_active Application Discontinuation
- 2013-11-14 CA CA2891202A patent/CA2891202A1/en not_active Abandoned
- 2013-11-14 EP EP13856018.0A patent/EP2920673A1/en not_active Withdrawn
- 2013-11-14 JP JP2015542762A patent/JP2016502137A/en active Pending
- 2013-11-14 WO PCT/US2013/070002 patent/WO2014078480A1/en active Application Filing
- 2013-11-15 TW TW102141732A patent/TW201423485A/en unknown
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210002697A (en) * | 2018-05-04 | 2021-01-08 | 구글 엘엘씨 | Automated assistant function call based on detected gesture and gaze |
JP2021524975A (en) * | 2018-05-04 | 2021-09-16 | グーグル エルエルシーGoogle LLC | Invoking automation assistant features based on detected gestures and gaze |
US11493992B2 (en) | 2018-05-04 | 2022-11-08 | Google Llc | Invoking automated assistant function(s) based on detected gesture and gaze |
US11614794B2 (en) | 2018-05-04 | 2023-03-28 | Google Llc | Adapting automated assistant based on detected mouth movement and/or gaze |
JP7277569B2 (en) | 2018-05-04 | 2023-05-19 | グーグル エルエルシー | Invoke automation assistant functions based on detected gestures and gazes |
US11688417B2 (en) | 2018-05-04 | 2023-06-27 | Google Llc | Hot-word free adaptation of automated assistant function(s) |
JP7471279B2 (en) | 2018-05-04 | 2024-04-19 | グーグル エルエルシー | Adapting an automated assistant based on detected mouth movements and/or gaze |
KR102661487B1 (en) * | 2018-05-04 | 2024-04-26 | 구글 엘엘씨 | Invoke automated assistant functions based on detected gestures and gaze |
JP7487276B2 (en) | 2018-05-04 | 2024-05-20 | グーグル エルエルシー | Adapting an automated assistant based on detected mouth movements and/or gaze |
WO2019235229A1 (en) * | 2018-06-06 | 2019-12-12 | ソニー株式会社 | Information processing device and method, and program |
Also Published As
Publication number | Publication date |
---|---|
WO2014078480A1 (en) | 2014-05-22 |
CA2891202A1 (en) | 2014-05-22 |
KR20150086332A (en) | 2015-07-27 |
EP2920673A1 (en) | 2015-09-23 |
TW201423485A (en) | 2014-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016502137A (en) | Unified framework for device configuration, interaction and control, and related methods, devices and systems | |
US11051139B2 (en) | Outputting notifications using device groups | |
JP7225301B2 (en) | Multi-user personalization in voice interface devices | |
KR102173014B1 (en) | Encapsulating and synchronizing state interactions between devices | |
US10671231B2 (en) | Electromagnetic interference signal detection | |
CN114979085B (en) | Method and apparatus for pairing of streaming devices | |
US10616726B1 (en) | Outputing notifications using device groups | |
US10141929B2 (en) | Processing electromagnetic interference signal using machine learning | |
US9826329B2 (en) | System and method for playing media | |
US10929099B2 (en) | Spatialized virtual personal assistant | |
US10425781B1 (en) | Outputting notifications using device groups | |
US11558848B2 (en) | Intelligent notification delivery | |
US10101869B2 (en) | Identifying device associated with touch event | |
EP3335099B1 (en) | Electromagnetic interference signal detection | |
EP3350681B1 (en) | Electromagnetic interference signal detection | |
TW201407414A (en) | Input device and host used therewith | |
EP3335317B1 (en) | Processing electromagnetic interference signal using machine learning | |
TW202415977A (en) | User distinction for radar-based gesture detectors | |
JP2016517107A (en) | Device device cooperation using device shape | |
CN115278445A (en) | Sound system and control method thereof | |
WO2021206668A1 (en) | Announcement system in hotels |