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 PDF

Info

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
Application number
JP2015542762A
Other languages
Japanese (ja)
Inventor
ラム、ダンカン
ヤコブセン、ケネス
エヴァンス、ジョン
モルトニ、トーマス
マンチーノ、フェリス
ローゼンバーグ、アーロン
ロング、ジョン
Original Assignee
エーテル シングス、 インコーポレイテッド
エーテル シングス、 インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エーテル シングス、 インコーポレイテッド, エーテル シングス、 インコーポレイテッド filed Critical エーテル シングス、 インコーポレイテッド
Publication of JP2016502137A publication Critical patent/JP2016502137A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio 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.

本明細書の複数の実施形態による、例示的システムのためのフレームワークを示す。2 illustrates a framework for an exemplary system, according to embodiments herein.

本明細書の複数の実施形態による、図1のフレームワーク内のユーザのデバイスの構成の複数の態様を示す。2 illustrates aspects of the configuration of a user's device within the framework of FIG. 1 in accordance with embodiments herein.

本明細書の複数の実施形態による、図1のフレームワークのデータベースの詳細を示す。2 shows details of the database of the framework of FIG. 1 according to embodiments herein. 本明細書の複数の実施形態による、図1のフレームワークのデータベースの詳細を示す。2 shows details of the database of the framework of FIG. 1 according to embodiments herein. 本明細書の複数の実施形態による、図1のフレームワークのデータベースの詳細を示す。2 shows details of the database of the framework of FIG. 1 according to embodiments herein.

本明細書の複数の実施形態による、図1のフレームワーク内で用いるための一般的なデバイスの態様を示す。FIG. 2 illustrates a general device aspect for use within the framework of FIG. 1 in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内で用いるための一般的なデバイスの態様を示す。FIG. 2 illustrates a general device aspect for use within the framework of FIG. 1 in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内で用いるための一般的なデバイスの態様を示す。FIG. 2 illustrates a general device aspect for use within the framework of FIG. 1 in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内で用いるための一般的なデバイスの態様を示す。FIG. 2 illustrates a general device aspect for use within the framework of FIG. 1 in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内で用いるための一般的なデバイスの態様を示す。FIG. 2 illustrates a general device aspect for use within the framework of FIG. 1 in accordance with embodiments herein.

本明細書の複数の実施形態による、システム内の複数のコーパスの例示的機構を示す。2 illustrates an exemplary mechanism of multiple corpora in a system, according to embodiments herein. 本明細書の複数の実施形態による、システム内の複数のコーパスの例示的機構を示す。2 illustrates an exemplary mechanism of multiple corpora in a system, according to embodiments herein. 本明細書の複数の実施形態による、システム内の複数のコーパスの例示的機構を示す。2 illustrates an exemplary mechanism of multiple corpora in a system, according to embodiments herein. 本明細書の複数の実施形態による、システム内の複数のコーパスの例示的機構を示す。2 illustrates an exemplary mechanism of multiple corpora in a system, according to embodiments herein. 本明細書の複数の実施形態による、システム内の複数のコーパスの例示的機構を示す。2 illustrates an exemplary mechanism of multiple corpora in a system, according to embodiments herein.

本明細書の複数の実施形態による、図1のフレームワーク内のデバイスの例示的動作を示すフローチャートである。2 is a flowchart illustrating an exemplary operation of a device within the framework of FIG. 1 according to embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内のデバイスの例示的動作を示すフローチャートである。2 is a flowchart illustrating an exemplary operation of a device within the framework of FIG. 1 according to embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内のデバイスの例示的動作を示すフローチャートである。2 is a flowchart illustrating an exemplary operation of a device within the framework of FIG. 1 according to embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内のデバイスの例示的動作を示すフローチャートである。2 is a flowchart illustrating an exemplary operation of a device within the framework of FIG. 1 according to embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内のデバイスの例示的動作を示すフローチャートである。2 is a flowchart illustrating an exemplary operation of a device within the framework of FIG. 1 according to embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内のデバイスの例示的動作を示すフローチャートである。2 is a flowchart illustrating an exemplary operation of a device within the framework of FIG. 1 according to embodiments herein.

本開示の複数の実施形態が実装され、実行されうる一般的なコンピュータシステムの態様を示す。1 illustrates aspects of a general computer system in which multiple embodiments of the present disclosure may be implemented and executed. 本開示の複数の実施形態が実装され、実行されうる一般的なコンピュータシステムの態様を示す。1 illustrates aspects of a general computer system in which multiple embodiments of the present disclosure may be implemented and executed. 本開示の複数の実施形態が実装され、実行されうる一般的なコンピュータシステムの態様を示す。1 illustrates aspects of a general computer system in which multiple embodiments of the present disclosure may be implemented and executed. 本開示の複数の実施形態が実装され、実行されうる一般的なコンピュータシステムの態様を示す。1 illustrates aspects of a general computer system in which multiple embodiments of the present disclosure may be implemented and executed. 本開示の複数の実施形態が実装され、実行されうる一般的なコンピュータシステムの態様を示す。1 illustrates aspects of a general computer system in which multiple embodiments of the present disclosure may be implemented and executed.

本明細書の複数の実施形態による、図1のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。2 illustrates exemplary aspects of device provisioning and configuration within the framework of FIG. 1, in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。2 illustrates exemplary aspects of device provisioning and configuration within the framework of FIG. 1, in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。2 illustrates exemplary aspects of device provisioning and configuration within the framework of FIG. 1, in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。2 illustrates exemplary aspects of device provisioning and configuration within the framework of FIG. 1, in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。2 illustrates exemplary aspects of device provisioning and configuration within the framework of FIG. 1, in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。2 illustrates exemplary aspects of device provisioning and configuration within the framework of FIG. 1, in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。2 illustrates exemplary aspects of device provisioning and configuration within the framework of FIG. 1, in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。2 illustrates exemplary aspects of device provisioning and configuration within the framework of FIG. 1, in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。2 illustrates exemplary aspects of device provisioning and configuration within the framework of FIG. 1, in accordance with embodiments herein.

本明細書の複数の実施形態による、図1のフレームワーク内の複数のデバイスの対話の態様を示す。2 illustrates aspects of multiple device interaction within the framework of FIG. 1 in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内の複数のデバイスの対話の態様を示す。2 illustrates aspects of multiple device interaction within the framework of FIG. 1 in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内の複数のデバイスの対話の態様を示す。2 illustrates aspects of multiple device interaction within the framework of FIG. 1 in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内の複数のデバイスの対話の態様を示す。2 illustrates aspects of multiple device interaction within the framework of FIG. 1 in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内の複数のデバイスの対話の態様を示す。2 illustrates aspects of multiple device interaction within the framework of FIG. 1 in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内の複数のデバイスの対話の態様を示す。2 illustrates aspects of multiple device interaction within the framework of FIG. 1 in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内の複数のデバイスの対話の態様を示す。2 illustrates aspects of multiple device interaction within the framework of FIG. 1 in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内の複数のデバイスの対話の態様を示す。2 illustrates aspects of multiple device interaction within the framework of FIG. 1 in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内の複数のデバイスの対話の態様を示す。2 illustrates aspects of multiple device interaction within the framework of FIG. 1 in accordance with embodiments herein. 本明細書の複数の実施形態による、図1のフレームワーク内の複数のデバイスの対話の態様を示す。2 illustrates aspects of multiple device interaction within the framework of FIG. 1 in accordance with embodiments herein.

本明細書の複数の実施形態による、サウンドレンダリングのための例示的な特定のデバイスの態様を示す。FIG. 4 illustrates an exemplary particular device aspect for sound rendering, according to embodiments herein. FIG. 本明細書の複数の実施形態による、サウンドレンダリングのための例示的な特定のデバイスの態様を示す。FIG. 4 illustrates an exemplary particular device aspect for sound rendering, according to embodiments herein. FIG. 本明細書の複数の実施形態による、サウンドレンダリングのための例示的な特定のデバイスの態様を示す。FIG. 4 illustrates an exemplary particular device aspect for sound rendering, according to embodiments herein. FIG. 本明細書の複数の実施形態による、サウンドレンダリングのための例示的な特定のデバイスの態様を示す。FIG. 4 illustrates an exemplary particular device aspect for sound rendering, according to embodiments herein. FIG.

本明細書の複数の実施形態による、複数のサウンドレンダリングデバイス間の協同の態様を示す。6 illustrates aspects of cooperation between multiple sound rendering devices, according to embodiments herein. 本明細書の複数の実施形態による、複数のサウンドレンダリングデバイス間の協同の態様を示す。6 illustrates aspects of cooperation between multiple sound rendering devices, according to embodiments herein. 本明細書の複数の実施形態による、複数のサウンドレンダリングデバイス間の協同の態様を示す。6 illustrates aspects of cooperation between multiple sound rendering devices, according to embodiments herein.

「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 exemplary M system 100 in which multiple M-enabled devices (102-1, 102-2,... 102-n, collectively 102) are used. Show. M-enabled device (ie, M device) 102 can be any device and any type of device, can be a stand-alone device, or can be integrated into or combined with any type of device or system. Can be done. For example, the M-enabled device 102 may generate and / or generate devices and / or content (including again digital and / or analog content) that capture and / or create content (including digital or analog content), without limitation. Device to render. The M-compatible device can be (or can be incorporated), for example, a camera, speaker, computer, telephone, set-top box, television, appliance, and the like. A combination of these devices is also conceivable, for example, a set top box including a camera and speakers and a television monitor, and the computer can be one or more M-enabled devices. It should be understood that the examples given herein for device 102 are merely exemplary and are not intended to be limiting in any way. Multiple M-enabled devices (ie, M devices) 102 are described in more detail below.

システム100は好ましくは、公開キーインフラストラクチャ(PKI)方式(図示せず)で、複数の認証機関のより大きな集合体または階層の一部でありうる1または複数の認証機関(CA)106を含むか、またはアクセスする。各CA106はシステム100のため、またはシステム100に代わってデジタル証明書を発行するエンティティである。   System 100 preferably includes one or more certificate authorities (CA) 106 that may be part of a larger collection or hierarchy of certificate authorities in a public key infrastructure (PKI) scheme (not shown). Or access. Each CA 106 is an entity that issues digital certificates for the system 100 or on behalf of the system 100.

複数のM対応型デバイス102は好ましくは、(少なくとも部分的に)1または複数の認可デバイスメーカ108によって製造される。図1の複数のデバイス102は、複数の異なるメーカによって製造された複数の異なるタイプのデバイスでありうる、ということが理解されるべきである。   The plurality of M-enabled devices 102 are preferably manufactured (at least in part) by one or more authorized device manufacturers 108. It should be understood that the plurality of devices 102 in FIG. 1 can be a plurality of different types of devices manufactured by a plurality of different manufacturers.

複数のM対応型デバイス102は、互いに、およびバックエンドシステム104と、対話しうる。複数の異なるタイプのデバイスは、互いに対話しうる(例えば、モバイルフォンにおいて具現化されたMデバイスはスピーカにおいて具現化された別のMデバイスと対話しうる)、ということが理解されるべきである。   Multiple M-enabled devices 102 can interact with each other and with the back-end system 104. It should be understood that multiple different types of devices can interact with each other (eg, an M device embodied in a mobile phone can interact with another M device embodied in a speaker). .

複数のM対応型デバイス102はそれぞれユーザ110に関連付けられる。特定のユーザ110は、それに関連付けられる複数のデバイス102を有しうる。いくつかの実装形態において、各デバイス102は1人のユーザ110だけに関連付けられうる。「ユーザ」という用語はシステム100内の内部のエンティティであり、システム100内の複数のデバイスの間の結び付きを定義すべく用いられる、ということが理解されるべきである。ユーザ110は、システム100内で特定の関係を有するエンティティであると見做されうる。そのエンティティは、人、または人々のグループ、または任意の他の種類のエンティティ(例えば、企業、学校、クラブ、等)に対応しうる。好適な実装形態において、ユーザ110はシステムに登録されたエンティティである。特定の人(またはエンティティ)は2人以上のユーザ110に対応しうる。例えば、人はシステム100内で2人のユーザ110を有することを選択しうる。   Each of the plurality of M-compatible devices 102 is associated with the user 110. A particular user 110 may have multiple devices 102 associated with it. In some implementations, each device 102 may be associated with only one user 110. It should be understood that the term “user” is an internal entity within system 100 and is used to define a connection between multiple devices within system 100. User 110 may be considered an entity having a specific relationship within system 100. The entity may correspond to a person, or a group of people, or any other type of entity (eg, company, school, club, etc.). In a preferred implementation, user 110 is an entity registered with the system. A particular person (or entity) may correspond to more than one user 110. For example, a person may choose to have two users 110 within the system 100.

バックエンド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 more backend applications 112, at least some of which interact with one or more databases 114 that store and maintain information about the plurality of devices 102 and the plurality of users 110. The back end 104 also includes a plurality of social networking services 116 (such as Facebook®, LinkedIn®, and the like) and a plurality of content providers 118 (such as RDIO and the like). Can interact with various other entities. Although multiple social networking services 116 are shown separate from multiple content providers 118, it should be understood that there may be some overlap between these entities. The backend 104 may interact with multiple entities 120 that can provide additional functionality to multiple users 110 (or to multiple devices 102). Additional functions may include, for example, voice or command recognition functions, face recognition, and the like. The back end 104 can also interact with various other external components 122.

追加機能は、複数のデバイス上に提供されるものに加えて機能を提供すべく、いくつかまたは全てのデバイス102上に提供される機能を提供する、または高める、または向上させうる。追加機能120は、例えば、デバイス120のハードウェア能力を超える機能を提供すべく用いられうる。従って、例えば、以下でより詳細に説明されるように、追加機能120は特定のデバイス102上に提供されるものを超える(または、特定のデバイス102のハードウェアを用いて可能であるものを超える)音声認識を提供しうる。実際には、追加機能120は、少なくとも部分的に、任意の特定のM対応型デバイス102の機能を拡張すべく用いられうる。   Additional functionality may provide, enhance, or enhance functionality provided on some or all devices 102 to provide functionality in addition to that provided on multiple devices. The additional function 120 can be used, for example, to provide a function that exceeds the hardware capability of the device 120. Thus, for example, as described in more detail below, additional functionality 120 exceeds what is provided on a particular device 102 (or beyond what is possible using the hardware of a particular device 102). ) Can provide voice recognition. In practice, additional functionality 120 may be used, at least in part, to extend the functionality of any particular M-enabled device 102.

複数のエンティティ120によって提供される機能のいくつかまたは全ては、バックエンド104に(または複数のバックエンドアプリケーション112に)統合されうる、ということが理解されるべきである。   It should be understood that some or all of the functionality provided by multiple entities 120 may be integrated into backend 104 (or into multiple backend applications 112).

複数の図面における複数のコンポーネントの分離によって、所有権または管理または制御がないこと(またはそれらの欠如)が暗示される、ということもまた理解されるべきである。従って、例えば、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 social networking services 116 and / or multiple content providers 118 and / or multiple entities providing additional functionality 120 need to be separately owned and managed (or they are owned and managed together). There is no. Some or all of the system 100 may be integrated into the social networking service 116 and / or the content provider 118.
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 system 100. In FIG. 1, these interactions are indicated by numbered arcs or lines (designated 1 to 15). In the system 100 depicted in FIG.
Arc line # 1 refers to multiple interactions between the two devices 102.
Arc line # 2 refers to multiple interactions between device maker 108 and multiple devices 102.
Arc line # 3 refers to multiple interactions between CA 106 and multiple devices 102.
Arc line # 4 refers to multiple interactions between CA 106 and multiple users 110.
Arc line # 5 refers to multiple interactions between multiple users 110 and backend 104.
Arc # 6 points to multiple interactions between CA 106 and back end 104.
Arc line # 7 refers to multiple interactions between multiple devices 102 and backend 104.
Arc line # 8 points to multiple interactions between the backend and database 114.
Arc line # 9 refers to multiple interactions between the backend and multiple social networking services 116.
Arc line # 10 points to multiple interactions between the backend and content provider 118.
Arc # 11 points to multiple interactions between backend 104 and multiple entities 120 that provide additional functionality.
Arc line # 12 refers to multiple interactions between backend 104 and various other external components 122.
Arc line # 13 refers to multiple interactions between device maker 108 and backend 104.
Arc line # 14 refers to multiple interactions between multiple devices 102 and multiple users 110.
Arc line # 15 points to multiple interactions between CA 106 and device manufacturer 108.

ここで説明される様々な対話は任意の既知の方法およびプロトコルを用いて行われ得て、有線、無線、またはそれらの任意の組み合わせでありうる。いくつかの対話は、少なくとも部分的には、ネットワーク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). Network 101 can be a public network or a private network, or some combination thereof. The network may include one or more cellular and / or satellite-based components. It should be understood that the communication medium or communication protocols through which the various components interact is not system limited.

バックエンド104と様々な他のコンポーネントまたはエンティティ(例えば、複数のCA106、複数のソーシャルネットワーキングサービス116、コンテンツプロバイダ118、デバイスメーカ108、追加機能を提供する複数のエンティティ120、および他の種々の外部コンポーネント122)との間の複数の対話は、複数のアプリケーションプログラムインターフェース(API)、またはそれらのコンポーネントまたはエンティティの他の複数のインターフェースを使用しうる。いくつかの実施形態において、バックエンド104は他の複数のコンポーネントのいくつかまたは全てに統合されうる。バックエンドが任意の他の複数のコンポーネントと通信するやり方はシステム100の限定を全く意図しないということが理解されるべきであり、通信の複数の異なるモードおよび複数のやり方が本明細書において考えられる。さらに、バックエンド104と任意の他の複数のコンポーネントとの間の統合の程度(またはその欠如)はシステム100の限定を全く意図せず、統合の、複数の異なるモード、複数のやり方、および複数の程度が本明細書において考えられる。   Back end 104 and various other components or entities (eg, multiple CAs 106, multiple social networking services 116, content providers 118, device manufacturers 108, multiple entities 120 that provide additional functionality, and various other external components. 122) may use multiple application program interfaces (APIs), or other multiple interfaces of those components or entities. In some embodiments, the back end 104 can be integrated into some or all of the other components. It should be understood that the manner in which the back end communicates with any other components is not intended to limit the system 100 in any way, and different modes and manners of communication are contemplated herein. . Further, the degree of integration (or lack thereof) between the backend 104 and any other components is not intended to limit the system 100 in any way, different modes of integration, different ways, and multiples. Are considered herein.

上述の通り、様々な対話および通信が任意の既知の方法およびプロトコルを用いて行われうるが、複数のデバイス間対話(図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 system 100 need to support all the interactions shown in the drawing. Should be understood.
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 user 110 must have at least one unique user identification information (ID) within the system 100. A user's user ID may be based on or derived from the user's social network ID (eg, their Facebook ID). Referring to FIG. 2, the user ID of the user can be asserted in the form of a user certificate 175 issued by the CA 106. It should be understood that the device CA 124 and the user CA 126 are the same entity, but the CA 106 is one or more devices CA 124 (shown in FIG. 6B) and one or more users CA 126 (shown in FIG. 2). May be included). If the CA 106 includes multiple user CAs 126, the user's user certificate 175 is preferably provided by the back end during the registration process or the like.

ユーザ証明書175は、ユーザのデバイス174(例えば、スマートフォン、M技術によって可能にされるスマートデバイス、または同類のもの)において、そのような複数の証明書およびユーザ識別情報のための場所176に格納されうる。
ユーザの複数の友人
The user certificate 175 is stored in a location 176 for such multiple certificates and user identification information on the user's device 174 (eg, smart phone, smart device enabled by M technology, or the like). Can be done.
User's multiple friends

システム100内で、ユーザ110はシステム100において1または複数の友人を有しうる。システム100内のユーザの友人は、第1のユーザがシステム100を介して関係を確立した別のユーザ110である。関係は様々なやり方で、例えば、互いのデバイス102と共有または対話することによって、確立されうる。ユーザはそのユーザの複数の友人と複数の許可を確立しうる。複数の許可は、例えば、ユーザに関連付けられるデバイス102のタイプに依存し得て、友人によって異なりうる。   Within system 100, user 110 may have one or more friends in system 100. A user's friend in system 100 is another user 110 with whom the first user has established a relationship through system 100. The relationship can be established in various ways, for example, by sharing or interacting with each other's devices 102. A user may establish multiple permissions with the user's friends. Multiple permissions may depend, for example, on the type of device 102 associated with the user and may vary from friend to friend.

システム100内での別のユーザとのユーザの「友人」関係は、限定された範囲にあり得て、例えば、複数の許可によって決定されうる。友情関係の範囲は、友情関係の様々な態様、例えば、システム内での友人関係の継続時間、システム内での友人の複数の権利、等、を限定すべく用いられうる。   A user's “friend” relationship with another user within the system 100 can be in a limited range and can be determined, for example, by multiple permissions. The range of friendship relationships can be used to limit various aspects of friendship relationships, such as the duration of friendships in the system, multiple rights of friends in the system, etc.

システム100内のユーザの複数の友人は、重複はありうるが、ユーザのソーシャルネットワークの複数の友人(例えば、ユーザのフェイスブック(登録商標)の複数の友人)と区別されうる。例えば、ユーザのユーザIDがそのユーザのソーシャルネットワークID(例えば、彼らのフェイスブック(登録商標)ID)に基づく、または、それから得られる場合、ユーザのソーシャルネットワークの複数の友人は、システム100におけるユーザの複数の友人と重複しうる。   The user's friends in the system 100 may be distinguished from the user's social network friends (eg, the user's Facebook friends), although there may be overlap. For example, if a user's user ID is based on or derived from the user's social network ID (eg, their Facebook ID), multiple friends of the user's social network Can overlap with multiple friends.

システムは、複数のユーザが他の複数のユーザと「友人」関係を確立できるやり方によって、全く限定されない、ということが理解されるべきである。友人というシステム概念は、システム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 system 100, and friendships within the system can be associated and linked within the system 100. It should also be understood that it is used to do.
Multiple device IDs

各デバイス102はシステム100内で固有でなければならないデバイス識別情報(ID)を有する。複数のデバイスIDの作成および格納は以下でより詳細に議論される。
複数のデータベース
Each device 102 has device identification information (ID) that must be unique within the system 100. The creation and storage of multiple device IDs is discussed in more detail below.
Multiple databases

図3Aを参照すると、バックエンド104は、1または複数のデータベース114と対話する1または複数のアプリケーションを含むバックエンドアプリケーション112を含む。データベース114は、デバイスデータベース128およびユーザデータベース130を含み、それぞれ、複数のデバイス102および複数のユーザ110についての情報を格納および維持する。   Referring to FIG. 3A, the backend 104 includes a backend application 112 that includes one or more applications that interact with one or more databases 114. Database 114 includes a device database 128 and a user database 130 for storing and maintaining information about multiple devices 102 and multiple users 110, respectively.

複数のデータベースは任意の種類のデータベース技術を用い得て、特定のデータベース実装はここでは説明されないか、または必要とされず、システム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 system 100 is not at all limited by the database implementation. It is. In some cases, some or all of the database implementations may use multiple third party databases. It should also be understood that the user database 130 and device database 128 may be integrated or may be composed of a plurality of different, possibly distributed databases.
Device database 128

図3Aおよび図3Bに示されるように、データベース114は、デバイスの所有者(ユーザ110)、デバイスの複数の機能、デバイスの履歴についての情報、および、例えば、デバイスの最後の既知の位置、デバイスのメーカ等、などの他の情報を含む、システム100内での各デバイス102についての情報を(デバイスデータベース128において)維持しうる。好ましくは、デバイスIDはデバイスデータベース128へのキー(またはインデックス)として用いられる。デバイス102が製造されるとき、それは所有者をもたない(製造において具体的にプロビジョニングされない限り)。デバイスの複数の機能はそのタイプを含みうる(例えば、スピーカ、等)。「所有」および「所有者」という用語は、ユーザによるデバイスの所有権の何らかの法律的概念を暗示する、または必要とすべくここで用いられるのではなく、それらはシステム100内での複数のデバイス102と複数のユーザ110との間の関連または結び付きを指す、ということが理解されるべきである。   As shown in FIGS. 3A and 3B, the database 114 includes device owners (users 110), device capabilities, information about device history, and, for example, the last known location of the device, device Information about each device 102 in the system 100 may be maintained (in the device database 128), including other information such as the manufacturer of the device. Preferably, the device ID is used as a key (or index) to the device database 128. When device 102 is manufactured, it has no owner (unless specifically provisioned in manufacturing). The functions of the device can include its type (eg, speaker, etc.). The terms “owned” and “owner” are not used herein to imply or require any legal concept of ownership of a device by a user, as they are multiple devices within system 100. It should be understood that it refers to an association or association between 102 and multiple users 110.

デバイスデータベース128は各デバイスに対してデバイスの複数のコーパスを含みうる。以下でより詳細に説明されるように、デバイスの複数のコーパスはデバイス上に格納される複数のコーパスに対応し得て、デバイスまたはデバイスの複数のユーザによって用いられ得る。
ユーザデータベース130
Device database 128 may include multiple corpora of devices for each device. As described in more detail below, multiple corpora of a device may correspond to multiple corpora stored on the device and may be used by the device or multiple users of the device.
User database 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 user database 130 database. The user database 130 preferably associates with each user 110 specific information including (see FIG. 3C) one or more of the following:
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 devices 102 and, optionally, information about those devices (eg, device capabilities). As those skilled in the art will appreciate upon reading this description, some information in the user database 130 may be obtained from the device database 128 and vice versa. For example, if the user database 130 stores multiple device identifiers for multiple devices for each user, the device identifiers can be used to obtain device specific information for the corresponding multiple devices from the device database 128. .
Multiple "friends" of the user within the system 100 and possibly multiple permissions associated with those friends. In preferred implementations, the user's "friends" in the system are other users 110, and the user is listed as a list of user IDs with zero or more information about each of the user's multiple friends. It can be stored in the database 130. Multiple users can set multiple customized permissions for each friend. In some embodiments, multiple users may be able to define or use multiple classes or multiple groups or multiple types of friends and assign multiple permissions based on classification or group or type . In this way, a user may be able to use a template or the like to quickly set or change multiple permissions for one or more users. It should be understood that the system is not limited by how multiple users select their friends or set multiple permissions for their friends. Multiple users may also exclude other multiple users as multiple friends.
Preferably stored by one or more of device 102, friend (ie, using one or more devices or friends as keys for history search), time, or Searchable user history. The device history may be a sequence of multiple time stamped events for each of the user's multiple devices. For example, if a particular device 102 is a speaker, the history of that device may be a time-stamped list of what was played on that speaker. The user's history for multiple friends may include multiple times and multiples when the user's device interacted with the user's friend's device (or used by the user's friend's device) (and vice versa) Can include location. The examples given here for the details of the types of searchable history are not intended to limit the scope of this description at all, as those skilled in the art will realize upon reading this description Different and / or other information and / or multiple factors may be used to search the user's history.
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 devices 102 and may correspond to the user's multiple corpora that may be used by additional functionality 120.
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 device database 128 and the user database 130.
Multiple devices

各デバイス102はそれに関連付けられられる特定のデバイス固有の機能/複数のコンポーネントを有する。例えば、デバイス102がスピーカ(またはカメラまたは電話または同類のもの)である場合、デバイス固有の機能/複数のコンポーネントは、スピーカ(またはカメラまたは電話等)としてデバイスを動作させるべく用いられる機能/複数のコンポーネントを含むであろう。ここで図4Aを参照すると、デバイス102は、デバイスのデバイス固有の機能/複数のコンポーネントをサポートする複数の機構132を含む。   Each device 102 has a specific device-specific function / components associated with it. For example, if the device 102 is a speaker (or camera or phone or the like), the device specific function / components may be the function / multiple used to operate the device as a speaker (or camera or phone etc.). Will contain components. Referring now to FIG. 4A, device 102 includes a plurality of features 132 that support device-specific functions / components of the device.

本明細書において用いられるように、「機構」という用語は、単独のハードウェアまたはソフトウェアとの組み合わせのハードウェアを意味し、ファームウェアを含む。   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において)対話しうる。   Device 102 also includes various M system features / data 134 that are used to support and implement functions within system 100. Multiple system features / data 134 are preferably separate from device-specific functions 132, but multiple system features / data 134 may interact (at 136) with device-specific features 132 of the device.

デバイス102は好ましくは、システム機能の複数の態様を実装すべく複数のシステム機構134によって用いられうる1または複数のセンサ138を含む。本明細書において用いられるように、「センサ」は、物理的特性または刺激(例えば、熱、光、音、圧力、磁気、動き、タッチ、静電容量)を検知および/または測定できる任意の機構またはデバイスを意味する。センサは好ましくは、それが検知/測定する特性または刺激の指標(例えば、電気信号として)を提供する。センサはまた、それが検知/測定する物理的特性または刺激を記録、表示、あるいはそれに応答できうる。センサは、ハードウェア、ソフトウェア、またはそれらの複数の組み合わせにおいて実装されうる。センサはスタンドアローンデバイスまたはチップとして提供されうるか、または他の複数のデバイス(または複数のセンサ)または複数のチップに統合されうる。特定の複数のセンサ138は、少なくとも部分的に、複数の専用チップまたは回路、または同類のものを用いて実装されうる。この説明を読むと当業者は気付き理解するであろうように、システムは、複数のセンサが実装される、または統合されるやり方によっては全く限定されない。特定のセンサが2つ以上の種類の物理的特性または刺激を検知および/または測定しうる、ということもまた理解されるべきである。   Device 102 preferably includes one or more sensors 138 that can be used by multiple system mechanisms 134 to implement multiple aspects of system functionality. As used herein, a “sensor” is any mechanism that can sense and / or measure a physical property or stimulus (eg, heat, light, sound, pressure, magnetism, movement, touch, capacitance). Or mean device. The sensor preferably provides an indication of the characteristic or stimulus it senses / measures (eg, as an electrical signal). A sensor can also record, display, or respond to physical properties or stimuli it detects / measures. The sensor may be implemented in hardware, software, or a combination of multiple thereof. The sensors can be provided as stand-alone devices or chips, or can be integrated into other devices (or sensors) or chips. The particular plurality of sensors 138 may be implemented, at least in part, using a plurality of dedicated chips or circuits, or the like. As one skilled in the art will appreciate upon reading this description, the system is not limited in any way by the manner in which multiple sensors are implemented or integrated. It should also be understood that a particular sensor can sense and / or measure more than one type of physical property or stimulus.

図4A−1を参照すると、複数のセンサ138は、例えば、1または複数のカメラ、マイク、モーションセンサ(外部の動きおよび/またはデバイスの動き)、複数の加速度計、コンパス、複数の位置測位システム(LPS)、および同類のものを含みうる。本明細書において用いられるように、LPSは一般的に、デバイスの位置を決定すべく用いられることができる任意の位置測位システムを指し、米国の全地球測位システム(GPS)およびロシアの全地球航法衛星システム(GLONASS)、欧州連合のガリレオ測位システム、中国のコンパスナビゲーションシステム、ならびにインドの地域航法衛星システムを含む。LPSはまた、位置データを提供できるWi−Fiおよび/または携帯電話システム、ならびに、例えば、Wi−Fiおよび/または携帯電話システムを用いる補助され増強された複数の測位システムを含む。ただ1つのカメラが顔およびジェスチャーの処理のために用いられうるが、必要ならば、2つ以上のカメラが三次元(3D)処理を可能にする。   4A-1, the plurality of sensors 138 may include, for example, one or more cameras, microphones, motion sensors (external motion and / or device motion), multiple accelerometers, compass, and multiple positioning systems. (LPS), and the like. As used herein, LPS generally refers to any position positioning system that can be used to determine the position of a device, including the United States Global Positioning System (GPS) and Russian Global Navigation. Includes the satellite system (GLONASS), the Galileo positioning system of the European Union, the Chinese compass navigation system, and the regional navigation satellite system of India. LPS also includes Wi-Fi and / or cell phone systems that can provide location data, as well as assisted and augmented multiple positioning systems using, for example, Wi-Fi and / or cell phone systems. Although only one camera can be used for face and gesture processing, two or more cameras allow three-dimensional (3D) processing if necessary.

複数のセンサ138は、(140において)各センサに提供される複数の標準インターフェースを介して複数のシステム機構134と対話しうる。全てのデバイス102があらゆる種類のセンサ138を有する必要はなく、複数の異なる種類のデバイス(または同一種類のデバイスの複数の異なる実装)は複数の異なるセンサまたは複数種類のセンサを有しうる、ということが理解されるべきである。   Multiple sensors 138 may interact with multiple system features 134 via multiple standard interfaces provided to each sensor (at 140). Not all devices 102 need to have all types of sensors 138, and multiple different types of devices (or multiple different implementations of the same type of device) can have multiple different sensors or multiple types of sensors. It should be understood.

デバイス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つの通信機構を有する。各デバイスはまた、自身の様々な通信機構用に、必要とされる/適切な複数のコネクタ、および/またはアンテナを含む。これらのコネクタおよび/またはアンテナは、特に、複数の通信機構が複数の専用チップまたは複数の回路に設けられる場合、様々な通信機構に組み込まれうる。   Device 102 preferably includes one or more communication mechanisms 142 that may be used by a plurality of system mechanisms 134 (at 144) to implement aspects of the system functionality. 4A-2, the plurality of communication mechanisms 142 may include, for example, a plurality of mechanisms for local communication (for example, Bluetooth (registered trademark) including Bluetooth Low Energy (BLE), ZigBee, etc.), Wi-Fi, and the like. Multiple mechanisms for communication (e.g., 802.11, etc.), multiple mechanisms for cellular communication (e.g., multiple devices using multiple modems or cellular network), and wired communication A plurality of mechanisms (eg, Ethernet® or the like) and one or more of the following. The plurality of communication mechanisms 142 may be implemented on a plurality of protocol specific chips or the like. Not all devices 102 need to have all types of communication mechanisms 142, and multiple different types of devices (or multiple different implementations of the same type of device) have multiple different sensors or multiple types of communication mechanisms. It should be understood that it is possible. However, at a minimum, each device 102 will be backend 104 at least sometime, in some manner (whether by cellular / telephone network, by Wi-Fi, by wire, or in some other manner). (Arc line # 7 in FIG. 1). Also, preferably each device 102 has at least one communication mechanism that allows it to communicate with other devices 102 of the system 100 for at least some time. Each device also includes a plurality of required / appropriate connectors and / or antennas for its various communication mechanisms. These connectors and / or antennas can be incorporated into various communication mechanisms, particularly when multiple communication mechanisms are provided on multiple dedicated chips or multiple circuits.

複数のシステム機構134(あらゆる必要とされるセンサ138を含む)は別個のボードまたはチップセットとしてデバイス102に統合されうるか、または、それらはデバイス固有の機能を実装すべく用いられるデバイスの複数の機構と複数のコンポーネントを共有しうる(それらを結ぶ点線の楕円形によって示されるように)。例えば、デバイス固有の機能がマイクを必要とする場合、そのマイクはセンサ138として複数のシステム機構134と共有され(または、それらによって用いられ)うる。同様に、複数の通信機構のうちの少なくともいくつかは、複数のシステム機構134とデバイス固有の機能132との間で共有されうる(それらを結ぶ点線の楕円形によって示されるように)。しかしながら、複数のシステム機構134、複数のセンサ138、および複数の通信機構142は、複数のデバイス固有の機構とは独立して動作および制御されることが可能である必要があり、この必要性が、いくつかの実装形態において、複数のコンポーネントの共有より優先され、または共有を妨げうる、ということが理解されるべきである。   Multiple system features 134 (including any required sensors 138) can be integrated into device 102 as separate boards or chipsets, or they can be used to implement device specific functions. Can share multiple components (as indicated by the dotted oval connecting them). For example, if a device-specific function requires a microphone, that microphone may be shared with (or used by) multiple system features 134 as a sensor 138. Similarly, at least some of the plurality of communication mechanisms may be shared between the plurality of system mechanisms 134 and the device specific function 132 (as indicated by the dotted ellipse connecting them). However, multiple system mechanisms 134, multiple sensors 138, and multiple communication mechanisms 142 need to be able to be operated and controlled independently of multiple device specific mechanisms, and this need is It should be understood that in some implementations, it may override or prevent sharing of multiple components.

デバイス102は、(以下でより詳細に説明される)コンピュータシステム146を含みうる。コンピュータシステム146は複数のシステム機構134と対話し得て(148において)、それらの機構の複数の態様を実装しうる。図4Aの図面において複数の別個のコンポーネントとして示されてはいるが、コンピュータシステム146のいくつかまたは全ては、複数のシステム機構/データ134と共有される、および複数のシステム機構/データ134の一部である(それらを結ぶ点で描いた楕円形によって示されるように)、ということが理解されるべきである。同様に、コンピュータシステム146のうちの少なくともいくつかは、デバイス102のデバイス固有の機能132と重複しうる(それらを結ぶ点で描いた楕円形によって示されるように)。   Device 102 may include a computer system 146 (described in more detail below). Computer system 146 may interact with a plurality of system features 134 (at 148) and may implement aspects of those features. Although shown as multiple separate components in the drawing of FIG. 4A, some or all of computer system 146 is shared with multiple system features / data 134 and one of multiple system features / data 134. It should be understood that they are parts (as shown by the ellipses drawn by the dots connecting them). Similarly, at least some of the computer systems 146 may overlap with device-specific functions 132 of the device 102 (as indicated by the ellipses drawn by the dots connecting them).

デバイスのデバイス識別情報(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 / data 134.

各デバイス102は好ましくは、複数のブートストラッピング/プロビジョニング機構152および様々な動作機構154(両方は以下でより詳細に説明される)を含む。様々な動作機構154は、デバイス上に、対応する動作ストレージ155を有する。動作ストレージ155は様々な動作機構によって用いられるデータを格納し得て、永続的な、および/または一時的な格納のために用いられうる。この説明を読むと当業者は気付き理解するであろうように、動作ストレージ155のいくつかまたは全てはデバイス上の他のストレージと統合され得て、この説明を補助すべく、動作ストレージ155は別個のコンポーネントとして図面に示される。   Each device 102 preferably includes a plurality of bootstrapping / provisioning mechanisms 152 and various operating mechanisms 154 (both described in more detail below). Various operation mechanisms 154 have a corresponding operation storage 155 on the device. The operational storage 155 can store data used by various operational mechanisms and can be used for permanent and / or temporary storage. As one skilled in the art will appreciate upon reading this description, some or all of the operational storage 155 may be integrated with other storage on the device, and the operational storage 155 is separate to assist in this description. It is shown in the drawing as a component.

各デバイス102は、システム機構134、コンピュータシステム146、複数のセンサ138、複数の通信142、および、デバイス固有の機能132を含むデバイスに電力を供給できる少なくとも1つの電力システム157を含む。電力システム157は、複数のコンポーネントのいくつかまたは全てに対して別個の複数のシステムを含み得て、複数のバッテリ電源を単独で、または複数の外部電源と併せて、含みうる。好ましくは複数のシステム機構は、デバイス固有の機能とは別個の電源(例えば、バッテリ)を有す。外部電源が用いられる場合(例えば、アダプタを介したA/C電力)、システムの全てのコンポーネントは、たとえそれらが外部のソースへ接続されない場合に使用するための複数の別個の内部の電力システムを有しているとしても、外部電源を用いるべきである。しかしながら、電力が複数のコンポーネントに供給されるやり方によってはシステムは限定されない、ということが理解されるべきである。
複数の動作機構
Each device 102 includes at least one power system 157 that can provide power to a device including a system mechanism 134, a computer system 146, a plurality of sensors 138, a plurality of communications 142, and device-specific functions 132. The power system 157 may include multiple systems that are separate for some or all of the multiple components, and may include multiple battery power sources alone or in combination with multiple external power sources. Preferably, the plurality of system features have a power source (eg, a battery) that is separate from device-specific functions. When an external power source is used (eg, A / C power through an adapter), all components of the system have multiple separate internal power systems for use when they are not connected to an external source. Even if you have one, you should use an external power source. However, it should be understood that the system is not limited by the manner in which power is supplied to multiple components.
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 operating mechanisms 154 of the device may include some or all of the following plurality of mechanisms.
A plurality of mechanisms 156 that support device-to-device interaction and communication (this corresponds to the interaction indicated by arc # 1 in FIG. 1). Multiple device-to-device interaction mechanisms 156 may have and use corresponding device-to-device storage 169 (FIG. 4C).
Multiple mechanisms 158 for command and / or control of the device 102; The plurality of command and / or control mechanisms 158 may have and use corresponding command and / or control storage 159 (FIG. 4C).
Multiple mechanisms 160 that support device-to-backend interaction and communication (this corresponds to the interaction indicated by arc # 7 in FIG. 1). The plurality of device-to-back-end mechanisms 160 have a corresponding device-to-back-end storage 161 (FIG. 4C) and can use it.
A plurality of interface mechanisms 162 that are used to operate the device within the system 100 and to support interaction with other mechanisms and functions of the device, preferably including human interaction. The plurality of interface mechanisms 162 have a corresponding plurality of interface mechanism storages 163 (FIG. 4C) and may use it.
Other multiple operating mechanisms 164 used to operate devices within system 100 that may have and use corresponding storage 165 (FIG. 4C).

複数のインターフェース機構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 movement mechanisms 154 to implement multiple operational and / or functional features using multiple user gestures (e.g., multiple gesture commands, and the like). . The plurality of gesture mechanisms 166 may have a gesture storage 167 and may use it. The plurality of gesture mechanisms 166 preferably includes one or more gesture detection mechanisms 168 and one or more gesture recognition mechanisms 170, and the gesture storage 167 is preferably associated with a plurality of associated gestures for use by various gesture mechanisms. A gesture corpus 172 is included. A gesture corpus (plural “corpora”) refers to a plurality of gestures or a collection of gesture samples for which a gesture mechanism can be used to detect and / or recognize a plurality of gestures. In preferred systems, multiple gesture detection mechanisms 168 and / or gesture recognition mechanisms 170 are trained and adapted to detect and / or recognize multiple gestures of one or more people (which may be multiple users). A plurality of associated gesture corpora can be changed based on this training. The gesture mechanism 166 may use one or more sensors 138 including a camera sensor, for example.
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 / speech mechanisms 174 that may be used by 154. The plurality of voice / speech mechanisms 174 can have and use voice / speech storage 175. The plurality of speech / speech mechanisms 174 preferably includes one or more speech / speech detection mechanisms 176 and / or speech / speech recognition mechanisms 178, and the speech / speech storage 175 is preferably used by various speech / speech mechanisms. A plurality of associated corpora 180 to be included. A speech / speech corpus refers to a collection of multiple word or phrase samples that a speech / speech mechanism can utilize to detect and / or recognize speech / speech. In preferred systems, multiple speech / speech recognition mechanisms can be trained and adapted to recognize the speech / speech of one or more people (eg, multiple users), and the associated speech corpora is Can change based on training. The plurality of voice / speech mechanisms 174 may use one or more sensors 138 including, for example, microphone sensors.
A face / line-of-sight mechanism 182 that can be used by multiple movement mechanisms 154 to implement multiple operational and / or functional features that use multiple faces and / or multiple lines of sight of people. The face / gaze mechanism 182 may use a face / gaze storage 183. The face / gaze mechanism 182 may include a face / gaze detection mechanism 184 and / or a face / gaze recognition mechanism 186 and / or a face motion detection mechanism 187, and the face / gaze storage 183 is preferably face / gaze / recognition / detection. A plurality of associated face / line-of-sight corpus 188 for use by mechanism 182 is included. A face / line-of-sight corpus refers to a collection of multiple samples of faces and / or lines of sight that the face / line-of-sight mechanism can use to detect and / or recognize multiple faces and / or multiple lines of sight. In preferred systems, multiple face / gaze / recognition / detection mechanisms 182 can be trained and adapted to recognize one or more faces, and the associated multiple face / gaze corpus 182 can be modified based on this training. Can be done. The face movement detection mechanism 187 can detect movements of a plurality of parts of the face, for example, movements of the mouth, both eyes, etc., and can be used, for example, to try to confirm that a person is speaking. The face / line-of-sight mechanism 182 may use a plurality of sensors 138 including camera sensors, for example.
O Multiple others that can be used by multiple motion mechanisms 154 to implement multiple motional and / or functional features using other types of user interaction (eg, touch, typing, device movement, etc.) Interface mechanism 190 of FIG. The plurality of other interface mechanisms 190 can use the storage 191 of the plurality of other interface mechanisms. Other interface mechanisms 190 may use multiple sensors 138.

スピーチ、ジェスチャー、および顔/視線の認識/検出のための複数のコーパスが上述されているが、この説明を読むと当業者は気付き理解するであろうように、他の複数の機構、特に複数のインターフェース機構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 other devices 102, multiple interactions with the backend 104, and multiple users. Learning and adaptation may also be based on multiple interactions that the device has internally (or external to system 100), including multiple interactions with 110. In general, a corpus for a particular interface mechanism refers to a collection of samples that can be used by that particular gaze mechanism to function and execute. Thus, for example, as shown in FIG. 4C, a plurality of other interface mechanisms 190 may include a plurality of corpus 192 associated therewith.

そうでないように述べられない限り、本明細書において用いられるように、「複数のコーパス(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と対話しうる。   Device 102 also preferably includes a heartbeat (HB) mechanism 194 (described in more detail below). The HB mechanism may interact with a number of other operating mechanisms 154 including a device to device mechanism 156 and a device to backend mechanism 158.

この説明を読むと当業者は気付き理解するであろうように、特定のデバイスは複数のインターフェース機構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 mechanism 154 on the device 102 can operate on the device without any external interaction (ie, without any interaction with any other devices 102 or backend 104). However, various operating mechanisms 154 may operate or may use (or be enhanced by) additional functionality 120 provided, for example, via back end 104 or one or more other devices 102. Should be understood. Thus, for example, the various voice / speech mechanisms 174 may support limited use of multiple voice commands and the like when used without any external interaction. These voice commands may be limited, for example, by multiple functions of various mechanisms and by device capacity (such as memory and computational capacity). The system 100 may provide multiple voice commands and multiple interactions extended to the device when enhanced with additional functionality 120. Limited local voice / speech interactions will be reflected in voice / speech corpora 180 stored in voice / speech storage 175 on the device. In the case of multiple voice interactions, for example, the device 102 can recognize a corpus of words (eg, voice / speech storage) that can be recognized and used to control multiple aspects of the device. 175, stored as a plurality of voice / speech corpora 180). Using the additional function 120 provides the device with access to a potentially very large corpus as well as the ability to parse more complex instructions / queries. For example, if the device 102 is a speaker, a corpus on the device 102 with multiple audio / speech mechanisms 174 may support multiple commands / commands such as “play at higher volume”, “more gently”, etc. On the other hand, the external corpus provided by the additional function 120 may support more complex instructions such as, for example, “play the song that I listened to last night”. This latter requirement is grammatically more complex (and therefore probably requires higher speech recognition capabilities than what the device can provide), and may require access to external data (eg, in database 114).

インターフェース機構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 / speech mechanisms 174 may learn to recognize multiple voices of a particular person (preferably including the person corresponding to user 110 associated with the device).

デバイスは好ましくは、最初はそれの様々なインターフェース機構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, device 102 monitors a number of possible interactions (at S402). The device can be continuously monitored (at S402) or it can be monitored at multiple specific times and / or under multiple specific conditions. This monitoring preferably uses one or more of a plurality of device sensors 138 (eg, device camera, microphone, etc.). To avoid missing any interaction, the device preferably buffers or stores possible interactions (at S404). These buffered interactions can be stored by various interface mechanisms 162 in any known and appropriate manner for later use, if desired. For example, sound detected by the microphone of the device can be buffered by the voice / speech mechanism 174, if necessary, in a manner suitable for later use. Similarly, external motion detected by the device's camera can be buffered by the device's gesture mechanism 166, if necessary, in a manner suitable for later use, and the plurality of images detected by the device can be The face / line-of-sight mechanism 182 and / or other mechanism 190 can be stored in a manner suitable for use, if desired. It should be appreciated and understood that not all sensor inputs can be buffered for all devices or all types of devices. However, even if the device only understands that the interaction will occur some time after the interaction has begun, the device can reconstruct the interaction, so buffering sensor information allows the device to It should also be understood that more precise multiple interactions may be provided via the flexible interface mechanism 162.

この説明を読むと当業者は気付き理解するであろうように、(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. Device 102 should have sufficient memory to store the required buffered 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つのそのような機構は、デバイスのマイクによって検出される(およびバッファリングされる)音から複数の周囲音(例えば、複数のエアコンおよび複数のファンからの)を取り除く騒音キャンセルである。異なるおよび、または他の複数のノイズ除去フィルタリングが用いられ得て、これらのフィルタリング機構は、デバイスが置かれる環境に順応し、そこから学習しうる。   Device 102 may operate in various types of environments, and multiple environmental factors and associated noise may affect interaction detection and processing. As used herein, the term “noise” for any type of information or signal can reduce the ability of information or signal processing (eg, corresponding detection and / or recognition ability of information in a signal). Information) and / or multiple signals. For example, the background sound of an air conditioner or fan can interfere with voice / speech recognition or reduce its ability, or a continuously flashing light can impair or be capable of multiple faces or gesture mechanisms. Can be reduced. It is therefore useful for the device to attempt to filter or remove noise prior to processing. In this regard, other mechanisms 164 may include one or more denoising filtering / cleaning mechanisms to remove noise from multiple inputs detected by various sensors. One such mechanism is noise cancellation that removes multiple ambient sounds (eg, from multiple air conditioners and multiple fans) from the sound detected (and buffered) by the microphone of the device. Different and / or other denoising filtering can be used, and these filtering mechanisms can adapt to and learn from the environment in which the device is located.

複数のフィルタリング/クリーニング機構が用いられる複数の場合において、好ましくは全てのバッファリングされる情報がフィルタリング/クリーニングされる。   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 device 102 may use to determine (at S406 in FIG. 4I) whether an interaction is taking place. Recall that the various sensors 138 are monitored (at S402 in FIG. 4I) and the outputs of multiple sensors are buffered (at S404 in FIG. 4I) if actual interaction is detected and sensor outputs are required. I want to be. Outputs from various sensors 138 are provided to various interface mechanisms 162 (directly or via buffering), each of which attempts to determine whether an interaction is taking place. For example, gesture detection mechanism 168 attempts to determine if any movement they are detecting via camera sensors corresponds to a gesture (at S410). The face / gaze detection mechanism 184 attempts to determine if any images they detect via the camera sensor correspond to at least one face (at S412). The voice / speech detection mechanism 176 attempts to determine whether any sound they detect via the microphone sensor corresponds to speech (at S414). Other mechanisms 190 attempt to determine whether what they are detecting via sensor 138 (eg, touch, movement, proximity of other user devices) corresponds to interaction with the device (at S416). ). The user detection mechanism attempts to detect whether the user is interacting with the device (at S418).

顔(または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 motion detection mechanism 187 may be used to determine whether the face in motion is moving in response to a gesture and / or speech (at S422).

顔動き検出機構187はまた、いずれかの検出される顔がスピーチおよび/または複数のジェスチャーに対応するように動いているかどうか決定すべく、単独で、または顔/視線検出機構184と併せて用いられうる。   The face motion detection mechanism 187 is also used alone or in conjunction with the face / gaze detection mechanism 184 to determine whether any detected face is moving in response to speech and / or multiple gestures. Can be.

複数の機構のうちのいくつか(例えば、視線検出および顔動き検出)は他の機構の複数の決定に依存しうるが、様々な対話検出機構は同時に動作しうる(図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番目の検出機構がブール値bを生成する場合、対話が検出されたかどうかに関する最終的決定は以下を用いて計算されうる。

Figure 2016502137
In some implementations, various detection mechanisms may generate Boolean values (true or false) that reflect their detection decisions. In those cases, the final decision as to whether an interaction was detected is determined by the logical OR of those values. For example, if there are N detection mechanisms and the i-th detection mechanism produces a Boolean value b i , the final determination as to whether an interaction has been detected can be calculated using:
Figure 2016502137

この実装形態において、任意の真の値(すなわち、任意の検出機構による任意の検出)は対話が行われているという決定をもたらす。図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の範囲の実数の値rを生成し、i番目の検出機構のスコアがwの重みを有する場合、ある関数Fに対し以下のようになる。

Figure 2016502137
式2における複数の重みwは、Interaction Score≦1.0になるようなものであることが理解されるべきである。Interaction Detectedの値は、例えば、Interaction Score(例えば、数式2において決定されるような)を静的または動的閾値と比較することによって決定されうる。例えば、
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,
Figure 2016502137
It should be understood that the weights w i in Equation 2 are such that Interaction Score ≦ 1.0. The value of Interaction Detected can be determined, for example, by comparing Interaction Score (eg, as determined in Equation 2) with a static or dynamic threshold. For example,
Interaction Detected = Interaction Score> Threshold (T) (3)

いくつかの実装形態において、関数F(式2)は加重和または様々な検出機構によって生成される複数の値の平均を生成する。ここで、異なる複数の重みは、例えば、それらの既知の、または認識された、または今までの正確さに依存して、複数の異なる検出機構に与えられうる。例えば、N個の検出機構があり、i番目の検出機構が0.0から1.0の範囲の実数の値rを生成し、i番目の検出機構のスコアがwの重みを有する場合、対話が検出されたかどうかに関する最終的決定は以下を用いて計算されうる。

Figure 2016502137
上述の通り(式2を参照して)、複数の重みwはInteraction Score≦1.0になるようなものである。 In some implementations, function F (Equation 2) generates a weighted sum or an average of multiple values generated by various detection mechanisms. Here, different weights may be given to different detection mechanisms depending on, for example, their known or recognized or previous accuracy. 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 The final determination as to whether an interaction was detected can be calculated using:
Figure 2016502137
As described above (see Equation 2), the plurality of weights w i are such that Interaction Score ≦ 1.0.

この例においては加重和が用いられるが、この説明を読むと当業者は気付き理解するであろうように、対話が行われているかどうかを決定すべく、異なるおよび/または他の複数の関数が用いられうる。例えば、以下の式2´´に示されるように、Interaction Scoreを決定すべく、加重平均スコアが用いられうる。

Figure 2016502137
Although a weighted sum is used in this example, different and / or other functions may be used to determine whether an interaction is taking place, as those skilled in the art will notice and understand upon reading this description. Can be used. For example, a weighted average score can be used to determine the Interaction Score, as shown in Equation 2 ″ below.
Figure 2016502137

図4Kにおいて描かれるフローチャートは、各検出機構がスコア(例えば、0.0から1.0の範囲の実数の値R)を生成する実装形態における対話検出段階(S406´)を示しており、対話が検出されるかどうかに関する最終的決定は、少なくとも部分的にそれらのスコア(例えば、上記の数式2または2´による)の関数として決定される。この例において、ジェスチャー検出機構168は、カメラセンサを介してそれらが検出するいくらかの動きがジェスチャーに対応するかどうかの決定を試み(S410´において)、この決定を示すスコア(R∈[0..1])を生成する。顔/視線検出機構184は、カメラセンサを介してそれらが検出するいくらかの画像が少なくとも1つの顔に対応するかどうかの決定を試み(S412´において)、この決定を示すスコア(R∈[0..1])を生成する。音声/スピーチ検出機構176は、マイクセンサを介してそれらが検出するいくらかの音がスピーチに対応するかどうかの決定を試み(S414´において)、この決定を示すスコア(R∈[0..1])を生成する。他のインターフェース機構190は、センサ138を介してそれらが検出するもの(例えば、タッチ、動き、他のユーザデバイスの近さ)がデバイスとの対話に対応するかどうかの決定を試み(S416´において)、これらの決定を示すスコア(R∈[0..1])を生成する。ユーザ検出機構は、ユーザがデバイスと対話しているかどうかの検出(S418´において)と、これらの決定を示すスコア(R∈[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 / gaze detection mechanism 184 attempts to determine (at S412 ′) whether some of the images they detect via the camera sensor correspond to at least one face, and a score (R 2 ε [ 0.1]). The voice / speech detection mechanism 176 attempts to determine (at S414 ′) whether some of the sounds they detect via the microphone sensor correspond to speech and scores (R 3 ε [0. 1]). Other interface mechanisms 190 attempt to determine if what they detect via sensor 138 (eg, touch, movement, proximity of other user devices) corresponds to interaction with the device (at S416 '). ), Generating a score (R 4 ε [0 ... 1]) indicating these decisions. The user detection mechanism attempts to detect whether the user is interacting with the device (at S418 ') and to generate a score (R 7 ε [0 ... 1]) indicating these decisions.

以前の例(図4J)におけるように、顔が検出される場合(S412´において)、検出される顔がデバイスを見ているかどうかを決定すべく、視線検出機構が用いられうる(S420´において)。この場合、視線検出機構は、用いられれば、それらの決定を示すスコア(R∈[0..1])を生成する。同様に、顔動き検出機構187は、検出される顔がジェスチャーおよび/またはスピーチに対応するように動いているかどうかを決定し(S422´において)、それらの決定を示すスコア(R∈[0..1])を生成すべく用いられうる。複数の視線検出および/または顔動き検出機構を開始または使用すべきかどうかに関する判定は、例えば、顔検出機構によって生成されるスコア(R)に基づきうる(S412´において)。ここで、予め決定される複数の閾値(図4KにおいてTおよびTで示される)は複数の視線および/または顔動き検出を開始すべく用いられうる。これらの閾値の値(TおよびT)は同一でありうる。これらの閾値は、事前設定および固定されうる、またはそれらは、例えば、システムがその検出の成功について学習する情報に基づき動的でありうる。 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 motion detection mechanism 187 determines whether the detected face is moving to correspond to gestures and / or speech (in S422 ′) and scores (R 6 ∈ [0) indicating those determinations. .. 1]). The determination as to whether to start or use multiple gaze detection and / or face motion detection mechanisms may be based, for example, on the score (R 2 ) generated by the face detection mechanism (at S412 ′). Here, a plurality of predetermined thresholds (denoted by T G and T M in FIG. 4K) can be used to initiate a plurality of gaze and / or face motion detections. These threshold values (T G and T M ) may be the same. These thresholds can be preset and fixed, or they can be dynamic, for example based on information that the system learns about its detection success.

上述の通り、各検出機構は、それに関連付けられる、対応する検出重みを有しうる。例えば、以下の表のようにまとめられる。

Figure 2016502137
As described above, each detection mechanism may have a corresponding detection weight associated with it. For example, it is summarized as shown in the following table.
Figure 2016502137

システムは好ましくは、様々な検出機構のそれぞれによって生成される複数の最新のスコア(この例示的な実装形態においては、R1..)に対応するランニング値を生成する(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´において顔検出によって生成されるスコア(R)が視線および顔動き検出のためのトリガとして用いられる図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の値を決定すべく用いられる複数の値、b,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 device 102 uses multiple corpora associated with the user 110 with which the device is associated. In some cases, the device may use other corpora (e.g., multiple common corpuses or multiple corpora associated with other authorized users) at this stage of processing. .

起こりうる対話を検出して(図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 other operation mechanisms 154 to process the interaction. To handle the interaction, the device may need to use multiple corpora for various interface mechanisms 162. Therefore, as shown in the flowchart in FIG. 4L, the device first determines which multiple corpora to use for the various interface mechanisms (S409).

(デバイス上で及びバックエンドで、の両方における)複数のコーパスは、デバイスが特定の人を、彼らの顔、複数のジェスチャー、音声、または何か他のやり方によって認識する場合、その人に関連付けられるその他の複数のコーパスが決定され、対応する複数の機構によって用いられうるように、例えば、図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 system 100, “user” 110 is a concept that is used to form some kind of association or association of one or more devices in the system. User 110 typically corresponds to a person. However, not all people who interact with or attempt to interact with a device are necessarily users within the system 100.

複数のコーパスを選択(図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 device sensors 138, for example, the device microphone detects sound, the device camera detects external motion, the device accelerometer Detecting movement, multiple touch sensors on the device may detect that the device is being touched by a person or another device, the device may detect user interaction, and so on. At this point, the device uses which possible type of interaction was detected (eg, a bit vector (for the implementation of FIG. 4J), or a vector of multiple score values (for the implementation of FIG. 4K)). Recall that you can have indicators about The device may use this information to attempt to determine which interaction is and which corpora to use.

デバイスがどの起こりうる対話を検出したか(図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-sight detection mechanism 184 and the face / line-of-sight recognition mechanism 186 can be used in combination with a plurality of sensors) (in S436). If the device determines that a nearby or visible face is known to the device (ie, corresponds to a user / person known to the device), the device may select the corresponding corpora based on that face ( In S438). The device may use the mapping shown in FIG. 4D to determine multiple corpora based on the recognized face.

デバイスはまた(もしくは代わりに)、(マイクである複数のセンサ138を用いて)検出される音、および、音声/スピーチ検出機構176および音声/スピーチ認識機構178を使用し、検出される音がスピーチであるかどうか、および、もしそうであるならば、それはデバイスにとって既知の人/ユーザのスピーチに対応するかどうか、の決定を試みうる(S440において)。検出される音がデバイスにとって既知の人/ユーザのスピーチであると決定される(S440において)場合、デバイスはそのスピーチに基づき複数の適切なコーパスを選択しうる(S442において)。デバイスは、認識されるスピーチに基づき複数のコーパスを決定すべく、図4Fに示されるマッピングを使用しうる。   The device may also (or alternatively) use the sound detected (using a plurality of sensors 138 that are microphones) and the sound / speech detection mechanism 176 and the sound / speech recognition mechanism 178 to detect the detected sound. It may attempt to determine (at S440) whether it is speech and, if so, whether it corresponds to a person / user speech known to the device. If it is determined that the detected sound is a person / user speech known to the device (at S440), the device may select a plurality of appropriate corpora based on the speech (at S442). The device may use the mapping shown in FIG. 4F to determine multiple corpora based on the recognized speech.

デバイスはまた(もしくは代わりに)、何か他のインターフェース機構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において)を与える、などである。この説明を読むと当業者は気付き理解するであろうように、異なるおよび/または他の複数の関数が用いられ得て、異なるおよび/または他の複数のコンフリクト解消戦略が提供されうる。例えば、コンフリクト解消戦略は経時的に変化ながら(例えば、学習に基づいて)、動的でありうる。   Device 102 preferably has at least one conflict resolution strategy. The conflict resolution strategy may be said to be adaptive as the device learns based on multiple previous interactions and multiple recognition decisions. In some cases, the device may use multiple recognition decision weight functions. For example, give the largest weight for user recognition (at S448), a smaller weight for face recognition (at S436), and an even smaller weight for speech / speech recognition (at S440). Etc. As will be appreciated and understood by those skilled in the art upon reading this description, different and / or other functions may be used to provide different and / or other conflict resolution strategies. For example, the conflict resolution strategy can be dynamic while changing over time (eg, based on learning).

複数のコンフリクト解消戦略に加えて、人がデバイスとの対話を試みているのかどうか、および、もしそうならどの人か、の認識を向上させるべく、デバイス102はまた様々な最適化も含みうる。1つの例示的最適化は、誰かが実際にデバイスを見ているのかどうかを決定すべく視線検出(顔/視線機構182を用いる)を使用することである。視線検出は、他の認識および複数の対話のためのトリガとして、および/または、コンフリクト解消戦略の一部として、例えば、コーパスの選択をすべく用いられうる。例えば、デバイスが音を検出する場合(自身のマイクを用いて)、デバイスは、その音がデバイスに対する複数のコマンドまたは複数のクエリに対応するかどうかを知り得ない。デバイスがまた、誰かがデバイスを見ているということを検出もできる場合、その視線は、単独で、または検出される音と共に、スピーチ認識をトリガすべく用いられることができる。視線検出は顔認識を必要としない、またはそれに依存しないことが理解されるべきである。   In addition to multiple conflict resolution strategies, device 102 may also include various optimizations to improve awareness of whether a person is attempting to interact with the device and if so. One exemplary optimization is to use gaze detection (using the face / gaze mechanism 182) to determine if someone is actually looking at the device. Gaze detection can be used to trigger corpus selection, for example, as a trigger for other recognitions and multiple interactions and / or as part of a conflict resolution strategy. For example, if the device detects sound (using its own microphone), the device may not know whether the sound corresponds to multiple commands or multiple queries for the device. If the device can also detect that someone is looking at the device, that line of sight can be used to trigger speech recognition, alone or with the detected sound. It should be understood that gaze detection does not require or rely on face recognition.

追加的な最適化として、いくつかの実装形態において、デバイスが検出した顔(顔/視線検出機構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 motion detection mechanism 187. For example, if the system finds multiple faces (using the face / gaze detection mechanism 184) and also detects speech (using the voice / speech mechanism 174), the movement corresponding to the speech (eg, moving the mouth) Any face that indicates that it is) is a suitable candidate for selection. It should be understood that the face motion detection mechanism 187 need not interpret speech, and they only need to detect mouth or chin motion or some other type of motion that can accommodate speech. .

いくつかの実装形態において、顔動き検出機構187は、ジェスチャー機構166によって使用されるように、顔の他の複数部分、例えば、両まゆ、両目、あご、口等、の動きを検出すべく用いられうる。複数の顔の動きは、それら自身がデバイスによって認識される複数のジェスチャーであるか、または、それらは他の複数の検出されるジェスチャーを確認すべく用いられうる。   In some implementations, the face motion detection mechanism 187 is used to detect movement of other parts of the face, eg, eyebrows, eyes, chin, mouth, etc., as used by the gesture mechanism 166. Can be. The multiple facial movements are multiple gestures that are themselves recognized by the device, or they can be used to identify other multiple detected gestures.

同様に、複数のジェスチャー(ジェスチャー機構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´´において)。デバイスがユーザ(好ましくは許可されたユーザ)の認識に失敗する場合、または、ユーザ検出処理/機構によって生成されるスコア(R)が閾値(Tユーザ)を超えない場合、デバイスは、(複数の一般的なコーパスでありうる、)デバイスのユーザに関連付けられる複数のコーパスを選択する。選択された複数のコーパス(S409´´において)を有し、デバイスは実際の対話の決定(S411´´において)に進む。図4Nの例示的な実装形態において、対応する複数の認識機構を起動するかどうかを決定すべく、デバイスは様々なインターフェース検出機構によって生成される複数のスコアを使用しうる。例えば、図4Nに示されるように、ジェスチャー検出機構168によって生成される(例えば、図4KにおけるS410´において)スコア(R)が閾値(図4NにおいてTジェスチャーで示される)を超える場合、デバイスはジェスチャー認識機構170を起動しうる(S410´´において)。同様に、顔検出機構168によって生成される(例えば、図4KにおけるS412´において)スコア(R)が閾値(図4NにおいてTで示される)を超える場合、デバイスは顔認識機構184を起動しうる(S412´´において)。および同様に、音声/スピーチ検出機構176によって生成される(例えば、図4KにおけるS414´において)スコア(R)が閾値(図4NにおいてTスピーチで示される)を超える場合、デバイスは音声/スピーチ認識機構178を起動し得て(S414´´において)、他のインターフェース検出機構190によって生成される(例えば、図4KにおけるS416´において)スコア(R)が閾値(図4NにおいてTで示される)を超える場合、デバイスは他のインターフェース機構190を起動しうる(S416´´において)。 An alternative implementation / approach that handles the actual embodiment assumes that the corpus to be used is that of the device user 110, unless someone else is specifically recognized or identified. . In this exemplary implementation, multiple scores generated by multiple interaction detection mechanisms are used to control which multiple recognition mechanisms are used. Referring to the flowchart of FIG. 4N, the device determines which corpus to use for the actual interaction (at S409 ″). If the user detection process (eg, S418 ″ in FIG. 4K) generates a score that is greater than a certain threshold (indicated by T user in FIG. 4N), the device attempts to recognize the user (in S418 ″) and succeeds. For example, a plurality of recognized corpus of the user is selected (in S450 ″). If the device fails to recognize a user (preferably an authorized user), or if the score (R 7 ) generated by the user detection process / mechanism does not exceed a threshold (T user ), the device will A plurality of corpora associated with the user of the device). Having a plurality of selected corpora (in S409 ″), the device proceeds to the actual dialog decision (in S411 ″). In the example implementation of FIG. 4N, the device may use multiple scores generated by various interface detection mechanisms to determine whether to activate the corresponding multiple recognition mechanisms. For example, as shown in FIG. 4N, if the score (R 1 ) generated by gesture detection mechanism 168 (eg, at S410 ′ in FIG. 4K) exceeds a threshold (indicated by T gesture in FIG. 4N), the device Can activate the gesture recognition mechanism 170 (in S410 ″). Similarly, if the score (R 2 ) generated by the face detection mechanism 168 (eg, at S412 ′ in FIG. 4K) exceeds a threshold (indicated by a T face in FIG. 4N), the device activates the face recognition mechanism 184. Yes (in S412 ″). And similarly, if the score (R 3 ) generated by the speech / speech detection mechanism 176 (eg, at S414 ′ in FIG. 4K) exceeds a threshold (indicated by T speech in FIG. 4N), the device and give start recognition mechanism 178 (in S414''), it is produced by other interface detection mechanism 190 (e.g., in S416' in FIG 4K) score (R 4) represented by T other in the threshold (Fig. 4N The device may activate another interface mechanism 190 (in S416 ″).

理解および認識されるべきことは、対話を決定すべく用いられる様々な機構は、同時に、または、何らかの予め定められた順序(例えば、複数の検出機構によって生成されるスコアまたは重み付けされたスコアに基づいて)で進みうる、ということである。この説明を読むと当業者は気付き理解するであろうように、システムは、様々な認識機構が起動される順序によっては全く限定されない。   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 functional entities 120. Information (eg, from database 114), interaction with some other entity (eg, social networking service 116 or content provider 118, etc.) via the backend may be required (or benefited from). The actual execution of the interaction may also involve an interaction with another device 102. The multiple interactions between the device and the back end correspond to arc # 7 in FIG. 1, the multiple interactions with the back end database 114 correspond to arc # 8, and the social networking service 116 or content provider 118 The multiple dialogs correspond to arc lines # 9 and # 10, respectively, and the multiple dialogs with multiple additional function entities 120 correspond to arc line # 11. Device interactions with other devices correspond to arc # 1 in FIG.

実際の対話の実行(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 multiple sensors 138 can be buffered, from which one or more trigger events are detected. Can be used after
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 gesture recognition mechanism 170 can be part of one gesture mechanism. Similarly, voice / speech detection mechanism 176 and voice / speech recognition mechanism 178 may be part of one voice / speech mechanism. Similarly, the face / gaze detection mechanism 184 and the face / gaze recognition mechanism 186 may be part of one face / gaze detection and recognition mechanism. Similarly, the logical depiction of multiple operating mechanism storage 155 in FIG. 4C is provided to aid in this description and is in no way intended to limit the scope of this description. As will be appreciated and understood by those skilled in the art upon reading this description, different and / or other storage mechanisms are possible and contemplated herein.
Multiple device states, multiple device provisioning and configuration

本明細書において用いられるように、フレームワーク100内のデバイス102を参照して、「プロビジョニング(provisioning)」という用語は、デバイスによって用いられる様々なシステム機構のインストール(または更新)の処理を指す。プロビジョニングはデバイス上へのファームウェアまたはソフトウェアのインストールおよび/または更新を含みうる。本明細書において用いられるように、フレームワーク100内のデバイス102を参照して、「設定(configuring)」という用語は、デバイスによって用いられる様々な機構に対する動作上の複数のオプションおよび/または複数のパラメータの確立または設定の処理を指す。例えば、デバイスを設定するということは、デバイスに対して複数のパスワードを設定すること、デバイスに対して複数のネットワークパラメータを確立すること、などを含みうる。   As used herein, with reference to device 102 within framework 100, the term “provisioning” refers to the process of installing (or updating) various system features used by the device. Provisioning can include installing and / or updating firmware or software on the device. As used herein, with reference to device 102 within framework 100, the term “configuring” refers to operational options and / or multiple configurations for various mechanisms used by the device. Refers to the process of establishing or setting parameters. For example, configuring a device may include setting a plurality of passwords for the device, establishing a plurality of network parameters for the device, and the like.

ここで図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 device 102 may be considered in various provisioning and configuration states. A device 102 is in a pre-provisioned state if it has not yet been provisioned with multiple system features. A device 102 is in a generic provisioned state if it has been provisioned with multiple system features but has not yet been associated with a user 110. Device 102 is in an unconfigured state if it has not been configured yet. A device 102 is in a generic configured state when it is configured for use on the system 100 but is not configured for a particular user 110. A device 102 is said to be in a user-provisioned state when it is provisioned for a particular user 110. Device 102 is said to be in a user-configured state if it is configured for a particular user 110. Various possible state transitions of device 102 (shown as T1, T2 ... T6) are shown in FIG. 6A. These states and transitions are merely descriptive and exemplary and are used here only to assist in this description. It should be understood that these various states, what they are called, or the multiple state transitions described herein, do not limit the system. It should also be understood that these states and transitions may be independent of device specific functions.

フレームワーク100内でのデバイス102のプロビジョニングおよび設定に対して2つの態様がある。第1の態様は基本的に任意のユーザから独立しており、全てのシステム機構のその時々で最新の、および/またはローカライズされた複数のバージョンにデバイス102を従わせる。この態様は、プロビジョニング前から一般的なプロビジョニングへのデバイスの状態遷移T1に対応し、および、未設定から一般的な設定への遷移T2に対応する可能性もある。   There are two aspects to provisioning and configuration of the device 102 within the framework 100. The first aspect is essentially independent of any user, and makes the device 102 subject to multiple, up-to-date, and / or localized versions of all system features. This aspect corresponds to device state transition T1 from pre-provisioning to general provisioning and may also correspond to transition T2 from unconfigured to general configuration.

フレームワーク100内でデバイス102をプロビジョニングおよび設定する第2の態様は、デバイスをデバイスに現在関連付けられる特定のユーザ110の複数の設定/複数の要求に従わせる。以前に一般的にプロビジョニングされ、または一般的に設定されたデバイスにとっては、この態様は、一般的なプロビジョニングからユーザプロビジョニングへの状態遷移T3に対応し、および、一般的な設定からユーザ設定への遷移T4に対応する可能性もある。デバイスの特定のユーザとの関連付けは、おそらく単に一時的に、または限定された複数の条件(例えば、位置、継続時間、使用等)下で変化しうる。従って、プロビジョニングおよび設定のこの第2の態様はまた、ユーザプロビジョニングデバイスが異なるユーザに対してプロビジョニングされる状態遷移T5に、および/または、ユーザ設定デバイスが異なるユーザに対して設定される状態遷移T6に対応しうる。   A second aspect of provisioning and configuring the device 102 within the framework 100 causes the device to comply with the configuration / requests of a particular user 110 currently associated with the device. For previously commonly provisioned or commonly configured devices, this aspect corresponds to the general provisioning to user provisioning state transition T3, and from general configuration to user configuration. There is also a possibility of corresponding to the transition T4. The association of a device with a particular user can probably change only temporarily or under limited conditions (eg, location, duration, usage, etc.). Thus, this second aspect of provisioning and configuration is also in state transition T5 where the user provisioning device is provisioned for different users and / or state transition T6 where the user configuration device is set for different users. It can correspond to.

従って、デバイスのプロビジョニングの処理は、デバイスへの全ての機構(例えば、ソフトウェア、ファームウェア等)の複数の最新バージョンのインストールを含みうる。デバイス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 device 102 is manufactured, manufacturer 108 typically installs a version of multiple system features 134 on the device (along with multiple versions of other features such as for device-specific features). However, these versions are often outdated even at the time of manufacture. Thus, in the provisioning process, the bootstrap / provisioning mechanism 152 may include some or all of the mechanisms (eg, software, firmware, etc.) either at initial power up or even before the device is delivered or sold. ) Can be updated. In some cases, the device 102 will power up after a period of time (eg, 36 hours) to attempt to update all mechanisms and then in a low power mode with a timer setting that causes the bootstrap / provisioning mechanism 152 to operate. Can be delivered. When the device 102 is powered on, it will look for known wireless (Wi-Fi) networks or other ways to connect to the Internet. Preferably the device is pre-configured (as part of its general settings) with information about multiple known and trusted networks, and the device is known and reliable where multiple updates can be obtained These networks are used to connect to the source location via the network 101. Once the network connection is discovered and established, the device 102 can initiate updates on its own from a trusted source. Thus, if a device reaches the user (eg after it has been sold to the user), the device should have the most recent version of all features (ie, the latest version) and the user Should be fully (or substantially fully) provisioned against.

複数のコーパス(例えば、スピーチ認識、ジェスチャー認識等)を必要としうるそれらの機構に対し、最初はデバイスに複数の一般的なコーパスがインストールされる。   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 device 102 is configured with sufficient information to allow the device to establish a secure contact with the backend 104 (eg, at the time of manufacture). To achieve this goal, the first general configuration for a device is multiple for various wireless networks to support secure wireless (eg, cellular or WiFi) communication between the device and the backend 104. Name and multiple passwords, and / or multiple general certificates. The term secure is used herein to refer to a plurality of communication channels that are reliable and preferably not spoofed. The degree of security depends on the type of device, and multiple different types of devices may require multiple different degrees of security for device-to-device and device-to-backend communications.

メーカによる、デバイスが任意のユーザ関連付けられるまでの処理は、図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 device 102 is preferably associated with a user 110 to operate to use the system 100. A device may not be associated with a user (eg, when first manufactured), but a device may not be associated with more than one owner (and preferably more than one user at a time). Cannot be associated). As described herein, the device 102 can be used by more than one person or user 110, but within the system 100, the device is only associated with one user.

いくつかの場合において、製造および/またはプロビジョニング処理の、プロビジョニング段階の一部として、デバイスはユーザに関連付けられうる(例えば、ユーザがデバイスを注文または購入し、デバイス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 device 102 is manufactured). (When providing a user ID).

第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 device 102 is associated with user 110. In particular, when the device 102 is associated with a user, the device 102 can obtain configuration information (eg, wireless network information such as multiple network IDs and multiple passwords) from the user. If a device is configured for a particular user, the device may obtain information about that user from the user database 130. For example, the device 102 may obtain user profile information, multiple user local corpora, and / or configuration information about the user. This information can be stored by the device, for example, to be used by multiple operating mechanisms 155. For example, the device 102 may obtain a plurality of user local corpora from the user database 130 and store the corpora in the corresponding appropriate interface mechanism storage 163 on the device. Thus, if a user has already used a specific device or type of device, it can be said that the newly acquired device does not need to be retrained to detect and recognize various interactions with the user.

ユーザデータベース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 network 101 and when reconnecting. Similarly, if the device 102 connects to the back end 104 in any way, the device preferably obtains multiple update data from the back end, including any update data regarding the user of the device.

特に、デバイス上の現在の複数のコーパスを反映すべく、各デバイス102はデバイスデータベース128中の複数のコーパスを定期的に更新すべきである。これらの更新は、定期的に(例えば、一日に一回)、または、デバイスがデータベースに接続できて(バックエンド104を介して)、デバイスデータベースが更新を必要としていると決定できるときはいつも行われうる。   In particular, each device 102 should periodically update multiple corpora in the device database 128 to reflect the current multiple corpora on the device. These updates are made periodically (eg, once a day) or whenever the device can connect to the database (via the backend 104) and determine that the device database needs to be updated. Can be done.

加えて、ユーザデータベース130中の複数のコーパスの情報は、各ユーザのデバイス上の複数のコーパスの現在状態を反映すべきである。従って、ユーザデータベース130は、そのユーザの最新のコーパスを反映すべく更新されるべきである(例えば、デバイスデータベースと同様に)。ユーザデータベース130は、複数のユーザローカルコーパスおよび複数のユーザ拡張コーパスを含みうることを思い出されたい。複数のユーザローカルコーパスはユーザの複数のデバイス上の複数のコーパスに対応する。複数のユーザ拡張コーパスは、複数のユーザ対話を処理すべく、バックエンドまたは他の複数の外部システム(例えば、追加機能120)によって用いられる複数のコーパスに対応する。例えば、複数のユーザローカルコーパスは、デバイス102が用いることができる複数の限定されたスピーチ認識コーパスを含み得て、一方で、複数のユーザ拡張コーパスは、例えば、追加機能120によって用いられることができる、そのユーザの複数の拡張されたスピーチ認識コーパスを含みうる。   In addition, the information on the corpora in the user database 130 should reflect the current state of the corpora on each user's device. Accordingly, the user database 130 should be updated to reflect the user's latest corpus (eg, similar to the device database). Recall that the user database 130 may include multiple user local corpora and multiple user extended corpora. Multiple user local corpora correspond to multiple corpora on multiple devices of the user. Multiple user corpus corresponds to multiple corpuses used by the backend or other external systems (eg, additional function 120) to handle multiple user interactions. For example, a plurality of user local corpora may include a plurality of limited speech recognition corpora that the device 102 may use, while a plurality of user extended corpora may be used, for example, by the additional function 120. May include multiple extended speech recognition corpora of the user.

各ユーザの複数のコーパスは、ユーザの複数のデバイスの種類または複数の能力に基づいて、ユーザデータベース130上で編成または格納されうる。これは、システムが複数の種類のデバイスをサポートすることを可能にする。ユーザが特定のデバイスからの複数のコーパスでユーザデータベース130を更新する場合、データベースは好ましくは、デバイスの種類および複数の能力に基づいてそれらのコーパスを格納する。   Multiple corpora for each user may be organized or stored on the user database 130 based on the user's multiple device types or multiple capabilities. This allows the system to support multiple types of devices. When a user updates the user database 130 with multiple corpora from a particular device, the database preferably stores those corpora based on device type and multiple capabilities.

好ましくは、デバイスデータベース128およびユーザデータベース130は複数のコーパスの前のバージョンを維持する。   Preferably, device database 128 and user database 130 maintain previous versions of multiple corpora.

いくつかの場合において、ユーザは同一タイプの複数のデバイス(例えば、複数のスピーカ)を有しうる。ユーザの複数のデバイス(特に同一タイプの複数のデバイス)のそれぞれにある複数のコーパスは、そのタイプのデバイスに対して、そのユーザの複数のコーパスの最新のバージョンを有するのが好ましい。従って、各デバイスは定期的にバックエンドにコンタクトして、それが複数のコーパスの最新バージョンを有しているかどうか決定すべきである。そうでない場合は、デバイスはユーザデータベース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 user database 130.

デバイスのプロビジョニングおよび設定は、最初にユーザと関連付けられれば、図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 multiple devices 102. Device manufacturer 108 is preferably authorized to manufacture a plurality of system capable devices 102 from system 100.

図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, device manufacturer 108 assigns multiple device serial numbers (individually) to device certificate generator 172 (which may be part of back end 104). Or in batch) (in S601). The device certificate generator 172 uses the device information (eg, serial number) provided by the manufacturer to create a unique device ID for that device (ie, for the device associated with or associated with that serial number). (In S602). The unique device ID is transmitted to the device CA 124 (at S603), and the device CA inserts it into the certificate signed by the device CA 124. The device CA 124 then sends the signed certificate back to the manufacturer (in S604, S605) and is inserted into the device. The signed certificate having the unique device ID is stored in the device certificate 150.

この説明を読むと当業者は気付き理解するであろうように、異なるおよび/または他の情報(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 manufacturer 108 in S601) may generate multiple device certificates. Can be used by the device certificate generator (at S602).

好ましくは、メーカによって提供される情報(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 device database 128 as a key or index into the database. Since the backend 104 is provided with information that is used to generate multiple device IDs, information about the device (eg, its capabilities) can already be known by the backend, so they are in the device database 128. Can be associated with the device ID.

好ましくは証明書中の情報は、デバイスによって適切な復号キーでのみ読み出されうるように、暗号化される。   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 manufacturer 108 and the backend 104 correspond to the dialog # 13 in FIG. The multiple interactions between device CA 124 and backend 104 (via device certificate generator 172) correspond to interaction # 6 in FIG.

いくつかの場合において、デバイス証明書発生器172は、メーカからの複数のシリアルナンバのリストに基づいて、メーカに証明書を大量に提供しうる。   In some cases, the device certificate generator 172 may provide a large number of certificates to the manufacturer based on a list of multiple serial numbers from the manufacturer.

代替的および現在好適な例示的な実施形態において、システムは、複数のシリアルナンバおよび複数の関連付けられる証明書の複数のかたまりを生成(または取得)し、それらのシリアルナンバおよび証明書を複数のかたまりで複数のメーカに提供する。従って、図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 device certificate generator 172 ′ (in S651). As in the previous example, the device certificate generator 172 ′ can be part of the back end 104 and / or can be co-located with the back end 104.

デバイス証明書発生器172´はバックエンドによって提供される情報(例えば、シリアルナンバ)を用いてシリアルナンバに関連付けられた、またはこれから関連付けられるデバイスに対する固有デバイスIDを作成する。その固有デバイスIDはデバイスCA124に送信され(S653において)、デバイスCA124はそれをデバイスCA124よってサインされる証明書へ入れ込む。それから、デバイスCA124はサインされた証明書をデバイス証明書発生器172´へ送信して返し(S654において)、デバイス証明書発生器172´はそれをバックエンドに送信して返す(S655において)。固有デバイスIDを備えるサインされた証明書は、デバイスの証明書150に格納される。   The device certificate generator 172 ′ uses information provided by the backend (eg, serial number) to create a unique device ID for the device associated with or associated with the serial number. The unique device ID is transmitted to the device CA 124 (at S653), and the device CA 124 inserts it into the certificate signed by the device CA 124. The device CA 124 then sends the signed certificate back to the device certificate generator 172 ′ (in S654), and the device certificate generator 172 ′ sends it back to the back end (in S655). The signed certificate with the unique device ID is stored in the device certificate 150.

複数の証明書中の情報は、それが、権限を与えられた複数のデバイスによってのみ読み出されうるように、好ましくは暗号化される。デバイス証明書発生器172´は、デバイスCA124に証明書を提供する前に、シリアルナンバおよび固有デバイスIDを暗号化しうる。   Information in multiple certificates is preferably encrypted so that it can only be read by authorized devices. The device certificate generator 172 ′ may encrypt the serial number and unique device ID before providing the certificate to the device CA 124.

この説明を読むと当業者は気付き理解するであろうように、バックエンド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 device manufacturer 108, preferably in the form of such a plurality of numbers and a plurality of certificates (at S656). The manufacturer can use some or all of those certificates in multiple devices and provides back end 104 with a list of serial numbers / multiple certificates that it uses (in S657).

バックエンドは全てのシリアルナンバのリストおよび全ての証明書の複数のコピーを有しているので、それは用いられる複数の数字を追跡でき、それによって、複数のメーカによって提供される情報を検証できることが理解されるべきである。例えば、メーカが特定のデバイスにおける特定のシリアルナンバの使用の報告を失敗する場合、バックエンドは、その特定のデバイスがシステムに接続するときにそのシリアルナンバの使用を検出するであろう。同様に、メーカが複数のデバイスに同一のシリアルナンバ/証明書の組み合わせを用いる場合、バックエンドはその重複を検出するであろう。   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 device 102 with a plurality of required mechanisms and other components (for example, a plurality of system mechanisms 134, a plurality of sensors 138, a plurality of communications 142) as necessary (in S608). ). These features and other components can be provided in the form of a single substrate or kit with multiple connections to multiple device specific components, or they can be completely combined with multiple device specific components. Or it can be partially integrated. When provided as a kit or substrate, not all components can be active or activated. For example, a plurality of specific components may be deactivated based on the location of the device, the device type, or the reason that users are charged an additional fee for their subsequent activation.

複数の機構がインストールされて、デバイスは初期設定が提供される(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 user 110 must have at least one unique user identification information (ID) within the system 100. Preferably, each user 110 acquires their user ID by registering with the system 100. User registration may be performed by offline processing, by a web interface to the back end, or by the device 102. The user may register before having any device 102. As part of the user registration (as described above), each user has a user ID that must be unique within the system 100. When a user registers, an entry for that user is created in a user database 130 that is preferably keyed or indexed to the primary by the user's user ID. The user's database entries (corresponding to their user IDs) are populated during the registration process and information provided by the user (eg, via a form or survey) and / or the user (directly or indirectly) Include information that the system can obtain or derive based on the information provided. For example, if a user uses a social network ID or registers via a social network, information about the user from that social network may be included in the database.

ユーザデータベース130は好ましくはユーザIDを用いてインデックス付けされるが、この説明を読むと当業者は認識し理解するであろうように、ユーザデータベース中のデータにアクセスすべく、異なるおよび/または他の複数のキーが用いられうる。   The user database 130 is preferably indexed using a user ID, but different from this and / or others to access data in the user database, as those skilled in the art will recognize and understand upon reading this description. A plurality of keys can be used.

上記したように、複数のデバイス102は各ユーザ110に関連付けられうる。複数のデバイスは、好ましくは階層的ステータスを有さない一方で、それは、ユーザが取得する第1のデバイスの設定の処理を説明するのに有用である。   As described above, multiple devices 102 may be associated with each user 110. While the plurality of devices preferably do not have a hierarchical status, it is useful to describe the process of setting the first device that the user obtains.

図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. User device 174 may also have one or more system features 178 (eg, in the form of an application (app) running on user device 174). The system mechanism / user application 178 provides the user with a way to configure the user device 174 within the system 100, as well as other aspects of the user device. In particular, the user device 174 allows the user to configure Wi-Fi and other network information (such as identification data for multiple local Wi-Fi networks, multiple service set identifiers (SSID), and multiple passwords). Can be provided. This information can be stored as setting information 180 on the user device 174 (FIG. 2), and can also be stored as setting information associated with the user in the user database 130 (FIG. 3A). As will be appreciated and understood by those skilled in the art upon reading this description, this configuration information should be treated with caution and kept secret (eg, by encryption).

ユーザデバイス174はデバイス102の例でありうることが理解されるべきである。   It should be understood that the user device 174 can be an example of the device 102.

例示的なユーザ登録が図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 device 102 needs to be associated with a user 110 in order for the device to operate fully within the system 100. It should be understood that a device that is not associated with any user may still provide some or all of the device-specific functionality.

ユーザがデバイス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 device database 128 and the user database 130. In the device database 128, the owner of the device is set to the user ID of the user. In the user database 130, the unique device ID of the device is added to a plurality of devices associated with the user ID of the user. Information about the device may be added to other fields in the user database 130 and the history updated to reflect the user's association with this device.

いくつかの実施形態において、デバイスは、ユーザにユーザの別のデバイスでデバイスをタッチ(またはタップ)させることで、ユーザに関連付けられるようになりうる。好適な複数の実装形態において、特定のデバイスがまだどのユーザによっても所有されていない場合、初めてその特定のデバイスが他のデバイスによってタップされる時、その特定のデバイスは他のデバイスのユーザに関連付けられるようになる。特定のデバイスは、バックエンドデータベースから、および/または、それをタップしたユーザのデバイスから、ユーザの設定情報を取得しうる(図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 / data 134 of FIG. 4A). Information on the device may be updated to reflect information about the user (at S628). This information may include at least some of the information associated with the user ID of the user in the user database 130. For example, the information stored on the device 102 may include the user's user ID, information from the user's profile, information about multiple other devices associated with the user, information about the user's multiple friends (eg, their Each user ID), multiple user certificates, multiple corpus of users, and user configuration information. It should be understood that at least some of the user information on the device should be stored and maintained, preferably in a secure manner, eg, in encrypted form.

デバイスが、ユーザの情報を含めるべく更新されたら(S628において)、デバイスデータベース128は、デバイスに成された複数の変更を反映させるべく更新される必要がありうる(S630において)。例えば、ユーザの複数のローカルコーパスがデバイス上に格納されるならば(どんな複数のコーパスがすでにそこに存在しようとも、という代わりに、例えば、複数の一般的なコーパス)、デバイスデータベース128は、(デバイスの複数のコーパスおよびデバイス履歴において)この情報を反映させるべく更新されるべきである。   Once the device has been updated to include user information (at S628), the device database 128 may need to be updated to reflect multiple changes made to the device (at S630). For example, if multiple local corpora of a user are stored on a device (for example, multiple generic corpora instead of whatever corpora already exists there), the device database 128 is ( It should be updated to reflect this information (in the device's multiple corpora and device history).

ここで説明された、システム100において特定のユーザ110にデバイスを関連付けるための例示的な処理は、図6Aにおける、一般的なプロビジョニングからユーザプロビジョニングへの状態変化T3、および一般的な設定からユーザ設定への状態変化T4に対応する。   The exemplary process described here for associating a device with a particular user 110 in the system 100 includes a general provisioning to user provisioning state change T3 in FIG. 6A, and a general setting to user setting. This corresponds to the state change T4.

ユーザがシステムで以前用いられた(およびゆえに、別のユーザに関連付けられられる)デバイスを取得する場合、デバイスはまず、それがそれに関連付けられるユーザ情報を有さない状態に復元される必要がありうる。デバイスは、その工場出荷時の複数の設定(または複数の前ユーザ設定)にそれを復元させる任意の技術によって復元されうる。この種のリセットは、図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 user database 130 and device database 128 (in S630) are repeated as necessary (possible). If). For example, the device may check multiple databases when possible (eg, if it can connect to the backend 104) to determine if it has the latest version of the user's information. In some cases, the back end may attempt to push multiple notifications to alert the device about user information updates. Since the device may make changes (or cause changes) to the user's information (eg, the device may have updated multiple corpora or network configuration information), these changes will also propagate and the device database and user Need to be returned to the database. This process is reflected in FIG. 6I, which is repeated (necessary) by providing information from the device to the backend 104 (at S632) and then updating the user database and device database accordingly (at S634). Depending on or where possible. It is understood that any update of a user database 130 for a particular user may require a corresponding plurality of updates to be sent to the user's devices and a corresponding plurality of updates to the device database 128. Should. For example, if a user has multiple devices and multiple corpora and / or configuration information is changed on one of the devices, the multiple corpora and / or configuration information may be Should be propagated to other devices. In this way, the user does not have to train or configure all of their devices independently or separately, and each device benefits from the training and settings applied to its other devices. It is possible to receive.

ユーザの複数のデバイスは、互いに同期しない、および/または、ユーザデータベース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 user database 130 and device database 128. This can occur, for example, when multiple devices are unable to connect to the backend for some period of time. The system preferably applies conflict resolution techniques to synchronize multiple devices and multiple databases. In an exemplary conflict resolution approach, multiple timestamps may be used to select the latest multiple version settings and multiple corpus information. Another exemplary conflict resolution approach may always assume that multiple versions of the settings in the user database and multiple corpus information are correct.

ユーザが特定の複数の設定および/または複数のコーパスを選択できるようにすべく、ユーザはバックエンドへの、および/または、そのユーザの複数のデバイスへのインターフェースを提供されうる(例えば、電話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 device 102. For example, the voice / speech recognition mechanism 178 may use a plurality of local speech corpora (stored in the device 102). However, as those skilled in the art will appreciate, speech / speech recognition can be affected by several factors, even for the same speech / speech recognition mechanism 178. For example, multiple different qualities or types of input sensors (eg, multiple microphones) may provide multiple different corpora, even for the same voice / speech recognition mechanism 178. To achieve this goal, if necessary, multiple corpora in user database 128 may be organized based on hardware details of multiple devices of multiple users. In these cases, if a particular plurality of corpora for a particular user changes (eg, based on a learning process on a particular device associated with that particular user), those corpora are updated in the database. But only to the user's equivalent devices (ie, to the user's devices that have equivalent hardware and sensor configurations for the recognition mechanism associated with their corpus) .

例えば、特定のユーザ110が複数のデバイスを有すると仮定すると、それらのうちのいくつかは、それらのシステム機構134に対する第1のハードウェア構成および/または複数のセンサ138を有し、ほかの複数のデバイスはそれらのシステム機構134に対する第2のハードウェア構成および/または複数のセンサ138を有する。第1のハードウェア構成を備える複数のデバイスは、それらの対応する複数の動作機構に対して第1のセットのコーパスを用い、第2のハードウェア構成を備える複数のデバイスは、それらの対応する動作機構に対して第2のセットのコーパス(第1のセットのコーパスとは別個の)を用いる。この例において、第1のハードウェア構成を備える第1のデバイスがそれの複数のコーパス(例えば、スピーチ認識コーパスまたはジェスチャー認識コーパス)を更新する場合、その更新はユーザデータベース130に、およびデバイスデータベース128に送信されるべきであるが、それは第1のハードウェア構成を有する、その特定のユーザの他の複数のデバイスのみに伝搬するべきである。   For example, assuming that a particular user 110 has multiple devices, some of them have a first hardware configuration and / or multiple sensors 138 for their system features 134 and other multiple These devices have a second hardware configuration for their system features 134 and / or a plurality of sensors 138. Devices with a first hardware configuration use a first set of corpora for their corresponding operating mechanisms, and devices with a second hardware configuration have their corresponding A second set of corpora (separate from the first set of corpora) is used for the operating mechanism. In this example, if a first device with a first hardware configuration updates its multiple corpora (eg, speech recognition corpus or gesture recognition corpus), the update is in user database 130 and device database 128. It should only propagate to other devices of that particular user that have the first hardware configuration.

この説明を読むと当業者は気付き理解するであろうように、複数の異なるタイプの複数のデバイス(すなわち、異なる基本的なデバイス固有の機能を有する)はそれらのシステム機構に対して同一のハードウェア構成を有しうる。同様に、同一タイプの複数のデバイス(例えば、複数のスピーカ)はそれらのシステム機構に対して異なるハードウェア構成を有しうる。   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 mechanism 156. In other cases, a device may obtain information from another device upon being instructed by a user command to obtain the information. The user's device may also obtain settings and other information from the user database.
Device heartbeat and multiple interactions

各デバイス102は好ましくはハートビート(HB)機構194(図4B)を含むことを思い出されたい。デバイス102上のハートビート機構194は、(1)複数のハートビートメッセージ(複数のハートビート)を生成するための機能、および、(2)他の複数のデバイスからの複数のハートビートのモニタリングをする機能、の2つの主な機能を有する。   Recall that each device 102 preferably includes a heartbeat (HB) mechanism 194 (FIG. 4B). The heartbeat mechanism 194 on the device 102 has (1) a function for generating a plurality of heartbeat messages (a plurality of heartbeats), and (2) a monitoring of a plurality of heartbeats from a plurality of other devices. It has two main functions.

従って、特定のデバイス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 heartbeat mechanism 194 on a particular device 102 may communicate with the system (eg, backend 104) about the status or presence or presence of the particular device 102, and / or other devices. 102 can be used to provide various signals. The device heartbeat (HB) mechanism 194 includes a plurality of device mechanisms for local communications (eg, Bluetooth Low Energy, including Bluetooth Low Energy (BLE), Zigbee, etc.) and Wi-Fi communications (eg, Device mechanisms for cellular communications (e.g., multiple modems or other devices using a cellular phone network, etc.) and wired communications (e.g., , Ethernet®, or the like) the device's communication mechanisms 142 to broadcast the device's heartbeat (and associated information) by one or more of the device's mechanisms. Can be used. Each heartbeat message allows other components of the system 100 (eg, backend 104, other devices 102) to recognize (probably confirm) that it is a heartbeat message. Information and information that identifies the device such that other components of the system 100 can recognize (and possibly verify the device identification information).

複数の異なるハートビートメッセージ(複数の異なるフォーマットを備え、異なる情報を有し、複数の異なる周波数における)は複数の異なる通信機構によってブロードキャストされうる。例えば、バックエンド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 network 101 or cellular network for the backend 104 may be sent out daily or if some historical information is to be provided. On the other hand, broadcast over the device's local communication mechanisms (eg, Bluetooth®, and the like) for other devices, or transmitted on the local network to which the device is connected. Heartbeat messages are sent out every minute (or at some other fixed and short time interval).

ハートビート信号は、デバイスについてのいくつかの情報、好ましくは少なくともデバイスのデバイス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 heartbeat signal 700 from a device includes a corresponding device ID encoding, and optionally a user ID for the device owner. . The heartbeat signal may include additional information (shown as a dashed line in the drawing in FIG. 7A). The signal transmitted to the backend may include additional information such as device location, history, etc., for example. The local heartbeat signal can include only the device ID. Information in the heartbeat signal is preferably protected (eg, by encryption). The device ID and user ID can also be encoded with a one-way encoding (eg, a cryptographic hash such as MD5) to prevent them from being exposed.

各デバイス102はまた、近くに存在しうる、または同一ネットワーク上に存在しうる他の複数のデバイス102からの複数のハートビートを定期的に(好ましくは継続して)モニタリングすべきである(例えば、ローカル通信のためのデバイスの複数の機構ならびにWi−Fiおよび有線通信のためのデバイスの複数の機構を用いて)。特定のデバイスが特定のデバイスのローカル通信機構を介してその他の複数のデバイスのハートビートをとらえることができる場合、別のデバイスは特定のデバイスの近くにあると言ってよい。近さについての他の複数の考えが本明細書において用いられ、考えられうる。   Each device 102 should also regularly (preferably continue) monitoring multiple heartbeats from other multiple devices 102 that may be nearby or on the same network (e.g., continuously). , Using multiple mechanisms of the device for local communication and multiple mechanisms of the device for Wi-Fi and wired communication). If a particular device can capture the heartbeat of other devices via a particular device's local communication mechanism, it may be said that another device is near the particular device. Several other ideas of proximity are used and may be considered herein.

図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 devices 102 may operate alone and in combination with one or more other devices. It should be understood that the devices need not be the same or even the same type to work together. For example, a plurality of devices that are a plurality of speakers may operate together (as described below). As another example, a device that is a speaker may operate with a device that is a video display.

何らかのやり方で共に動作する複数のデバイス102は、協同するまたは連携すると言われる。本文献の残りの部分について、「協同する」、「協同」および「協同している」という用語はそれぞれ、「協同する、および/または連携する」、「協同および/または連携」、「協同している、および/または連携している」、を指す。   A plurality of devices 102 operating together in some way are said to cooperate or cooperate. For the remainder of this document, the terms “cooperate”, “cooperation” and “cooperating” are respectively “cooperating and / or cooperating”, “cooperation and / or cooperating”, “cooperating”. Are and / or linked ”.

本明細書において用いられるように、複数のデバイス102は、それらがそれらの動作の少なくともいくつかの態様の目的のために組み合わされ協同する場合、結合される、と言われる。複数のデバイスは様々なやり方で結合されうる。いくつかの場合において、デバイスは、単にその他の複数のデバイスの近くに置かれることによって、1または複数の他のデバイスを結合しうる。いくつかの場合において、複数のデバイスはユーザインターフェースを介した複数の特定の命令によって結合されうる。いくつかの場合において、複数のデバイスは、それらのうちの1つをその他のものにタッチさせることで結合されうる。   As used herein, a plurality of devices 102 are said to be combined when they are combined and cooperate for the purpose of at least some aspects of their operation. Multiple devices can be combined in various ways. In some cases, a device may couple one or more other devices simply by being placed near the other devices. In some cases, multiple devices may be coupled by multiple specific instructions via a user interface. In some cases, multiple devices may be combined by touching one of them to the other.

複数のデバイスはそれらの所有権を変化させることなく協同しうることが理解されるべきである。つまり、一ユーザのデバイスは別のユーザのデバイスと、それらのデバイスのいずれもが所有権を変化させることなく(すなわち、いずれのデバイスもシステム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 user database 130 of the user of that device. This information preferably includes a list of the user's multiple devices, eg, by device ID. Device A can determine whether the device ID in the heartbeat message matches the device ID in the list of multiple devices for the user. If the device ID is hashed or otherwise unidirectionally encoded, device A may store a list of devices that are shared using the same encoding.

それらのデバイスが共有されていると決定される場合(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 user database 130, including a list of friends. The user ID in the heartbeat message can be compared to multiple user IDs in a list of multiple friends to determine if there is a match. It should be understood that if the user ID in the heartbeat message is unidirectionally encoded, multiple user IDs in the list of friends should be encoded as well.

デバイス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 device 102 preferably has at least one running mechanism or process waiting for multiple communications from other multiple devices via various communication mechanisms. The two devices that encounter each other (eg, via one or both of their heartbeats) can then interact further as needed. Communication between the two devices (eg, via a local radio mechanism or a local wired network) preferably uses secure communication over that channel no matter what channel is used. In some cases, two devices may first encounter each other via a heartbeat on one communication mechanism (eg, Bluetooth®) and then use a different communication mechanism (eg, Wi-Fi). Can have subsequent communications.

共有される複数のデバイス間の可能な協同(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 device 102 may periodically monitor some type of contact from other devices (at S760). The type of contact detected may depend on one or more factors such as, for example, the type of device (i.e., on its basic device-specific functionality). Some devices may attempt to initiate contact with other devices based on physical touch, multiple user commands, and the like. Accordingly, detection of a contact attempt from another device (at S762) may involve interpretation of multiple voice and / or gesture commands (voice / speech mechanism 174 and / or) from sensor input (from one or more sensors 138). Or using a gesture mechanism 166). Upon detecting a possible contact attempt (at S762), the device proceeds to process a contact with the other device (at S764).

可能なコンタクトの試みの処理(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 system 100. For example, functionality associated with the back end 104 may be implemented by software running on one or more computers.

そのような複数の方法を実装する複数のプログラム(ならびに他の複数タイプのデータ)は、いくつかのやり方で様々な媒体(例えば、コンピュータ可読媒体)を用いて格納され送信されうる。ハードワイヤード回路またはカスタムハードウェアは、様々な実施形態の複数の処理を実装できる複数のソフトウェア命令のうちのいくつかまたは全ての代わりに、またはそれらとの組み合わせで、用いられうる。従って、ハードウェアとソフトウェアとの様々な組み合わせは、ソフトウェアのみの代わりに用いられうる。   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 more processors 504, one or more communication ports 514, a main memory 506, a read only memory 508, a removable storage medium 510, and a large Capacity storage 512 may be included.

本明細書において用いられるように、「プロセッサ」とは、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 processor 504 may include, but is not limited to, an Intel® Itanium® or Itanium2® processor, an AMD® Opteron® or Athlon MP® processor, or a plurality of Motorola. It can be a custom processor or any known processor, such as a family of processors, a plurality of ARM-based processors, and the like. The communication port 514 is an RS-232 port, 10/100 Ethernet (registered trademark) port, a gigabit port using copper wire or optical fiber, or a USB port, and the like. It can be arbitrary. Communication port 514 may be selected according to a network, such as a local area network (LAN), a wide area network (WAN), or any network to which computer system 500 is connected. Computer system 500 may be in communication with a plurality of peripheral devices (eg, display screen 516, input device 518) via input / output (I / O) port 520.

本明細書において複数の周辺機器と言われてはいるが、そのような複数のデバイスは、コンピュータシステム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 removable storage media 510 or mass storage 512. Similarly, not all computer systems 500 have a display screen 516.

メインメモリ506はランダムアクセスメモリ(RAM)、または当該技術分野において一般に知られる任意の他の動的ストレージデバイスでありうる。リードオンリメモリ508は、プロセッサ504への複数の命令などの静的情報を格納するための、複数のプログラマブルリードオンリメモリ(PROM)チップなどの任意の静的ストレージデバイスでありうる。大容量ストレージ512は情報および複数の命令を格納すべく用いられうる。例えば、複数のAdaptec(登録商標)ファミリのスモールコンピュータシリアルインターフェース(SCSI)ドライブなどのハードディスク、光学ディスク、複数のAdaptec(登録商標)ファミリのRAID(Redundant Array of Independent Disks)ドライブなどのRAIDなどの一連のディスク、または任意の他の複数の大容量ストレージデバイスが用いられうる。   Main memory 506 may be random access memory (RAM) or any other dynamic storage device commonly known in the art. Read only memory 508 may be any static storage device, such as a plurality of programmable read only memory (PROM) chips, for storing static information such as a plurality of instructions to processor 504. Mass storage 512 may be used to store information and multiple instructions. For example, a series of hard disks and optical disks such as a plurality of Adaptec (registered trademark) family small computer serial interface (SCSI) drives, a RAID such as a plurality of Adaptec (registered trademark) family RAID (Redundant Array of Independent Disks) drives, etc. Disks, or any other plurality of mass storage devices may be used.

バス502は、プロセッサ504を他方のメモリ、ストレージ、および複数の通信ブロックと通信可能に結合する。バス502は、PCI/PCI−X、SCSI、用いられる複数のストレージデバイスに応じたユニバーサルシリアルバス(USB)ベースのシステムバス(または他のもの)、および同類のものでありうる。リムーバブルストレージ媒体510は、任意の種類の外付けハードドライブ、フロッピー(登録商標)ドライブ、IOMEGA(登録商標)ジップドライブ、コンパクトディスク―リードオンリメモリ(CD−ROM)、コンパクトディスク―リライタブル(CD−RW)、デジタルビデオディスク―リードオンリメモリ(DVD−ROM)等でありうる。   Bus 502 communicatively couples processor 504 with the other memory, storage, and communication blocks. The bus 502 may be PCI / PCI-X, SCSI, a universal serial bus (USB) based system bus (or other) depending on the storage devices used, and the like. The removable storage medium 510 can be any type of external hard drive, floppy (registered trademark) drive, IOMEGA (registered trademark) zip drive, compact disk-read only memory (CD-ROM), compact disk-rewritable (CD-RW). ), A digital video disk-read only memory (DVD-ROM) or the like.

本明細書における複数の実施形態は、コンピュータ(または他の複数の電子デバイス)が処理を実行するようにプログラムすべく用いられうる、複数の格納された命令を有する機械可読媒体を含みうる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 main memory 506 is encoded with an application 522-1 that supports functionality as discussed herein (application 522-1 is a multi-service described herein). It can be an application that provides some or all of the functionality, eg, backend processing). Application 522-1 (and / or other resources as described herein) may support data and / or multiples that support processing functions according to different embodiments described herein. It may be embodied as software code, such as logic instructions (eg, code stored in memory or on another computer readable medium such as a disk).

例えば、図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 processor 504 may use a bus to launch, run, execute, interpret, or perform a plurality of logic instructions of the application 522-1. The main memory 506 is accessed using 502. The execution of the application 522-1 generates a processing function of a service related to the application. In other words, process 522-2 represents one or more portions of application 522-1 executing in or on processor 504 in computer system 500.

例えば、図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 removable storage medium 510, read only memory 508, and / or mass storage device 512.

当業者は理解するであろうように、コンピュータシステム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 device 102 includes a computer system 146. As should be appreciated, the computer system 146 may not include all of the multiple components shown in FIG. 5A, and the computer system 146 may be required by multiple additional components (eg, device 102). In some cases, the computer system 146 alone or in combination with system features / data 134 is described above (see FIGS. 5A-5C). As described above, the computer system 500 can be supported. For example, the computer system 146 may include a plurality of processors, a plurality of memories, and the like. It should also be understood that the computer system 146 can be formed of multiple computer systems 500. In addition, the computer system 146 may implement some or all of the device specific functions 132.
Multiple control devices

システム対応型デバイス102は、音声制御、ジェスチャー制御、コンタクト制御のうちの1または複数によって制御されうる(例えば、複数のボタンおよび同類のものを用いて)。加えて、特定の複数種類のシステム対応型デバイス102は、他の同様の複数のデバイスが存在する場合、他の複数のデバイスのうちの1または複数によって、または、他の複数のデバイスのうちの1または複数に与えられる複数の命令によって、完全にまたは部分的に制御されうる。例えば、複数のデバイス102が複数のスピーカである場合、複数のデバイスは共に動作すべく組み合わされうる。そのような複数の場合において、特定の複数のコマンド(例えば、音量を上げる)は、複数のデバイス(複数のスピーカ)のうちの1つに対してユーザによって与えられうるが、複数の協同するデバイスの全てによって従われるべきである。
音声制御
The system-enabled device 102 may be controlled by one or more of voice control, gesture control, contact control (eg, using multiple buttons and the like). In addition, a particular type of system-enabled device 102 may be selected by one or more of the other devices or of other devices when there are other similar devices. It can be completely or partially controlled by a plurality of instructions given to one or more. For example, if the multiple devices 102 are multiple speakers, the multiple devices can be combined to operate together. In such cases, the specific commands (eg, increase volume) may be provided by the user to one of the devices (speakers), but the cooperating devices. Should be followed by all of them.
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を使用する。   Device 102 uses a face recognition mechanism 168 in combination with one or more cameras (multiple sensors 138) to associate audio with a particular user to select the appropriate corpus.

いくつかの場合において、デバイスは音声コマンド/リクエストを処理できないこともある。これは、コマンド/リクエストの複雑性、複数の環境的原因(例えば、ノイズ)、スピーカのアクセント等を含む任意の数の要因のせいであるといえる。そのような複数の場合において、可能であれば(例えば、ネットワークに接続される場合)、および許容されるならば、デバイスは処理すべくバックエンドに音声コマンド/リクエストを送信しうる(例えば、音声認識が設けられた追加機能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 additional function 120 provided with recognition). The audio can be transmitted as it is or in some preprocessed form. The result of such processing can be a command / request to the backend (eg, a database query) or a command to the device itself. Multiple device commands that are processed remotely by the back end are not fast enough to control certain aspects of the device (eg, “play at louder volume” for speakers), It should be understood that it is useful for more complex multiple commands, particularly those involving multiple database queries.
Gesture control

デバイスのジェスチャー機構164は、デバイスのジェスチャー制御をサポートすべく、単独で、または音声機構166との組み合わせで用いられうる。ジェスチャー機構164は好ましくは、その種のデバイスに適した複数の基本コマンドのための複数のジェスチャー認識機構を含む。ジェスチャー機構164は、例えば、1または複数のカメラを含む複数のセンサ138のうちの1または複数を使用しうる。特殊な目的のジェスチャー検出/認識ハードウェアおよび回路が用いられうる。
顔および視線検出
The device gesture mechanism 164 may be used alone or in combination with the audio mechanism 166 to support device gesture control. Gesture mechanism 164 preferably includes a plurality of gesture recognition mechanisms for a plurality of basic commands suitable for such devices. Gesture mechanism 164 may use one or more of a plurality of sensors 138 including one or more cameras, for example. Special purpose gesture detection / recognition hardware and circuitry may be used.
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 device 102. Since people can start speaking (towards the device) before they are completely confronted with the device, preferably each device will always buffer the sound for a period of time, and if a line of sight is detected, the device will be buffered To start speech recognition of the stream.

いくつかの場合において、口の動きの検出は、デバイスを見ている人がデバイスに話しかけている人であると確認すべく、視線検出との組み合わせで用いられうる。   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 device database 128 and / or user database 130, for example, as device history and / or user history, respectively. Since each device has a unique device ID and each user has a unique user ID, information from the device can be stored in a database keyed with the device ID and user ID.

いくつかの場合において、デバイス102は、その報告時に、自身の位置についての情報を含みうる。それらの場合において、位置情報はデバイスデータベースに格納されうる(最近のデバイス位置、および、デバイス履歴の両方として)。同様に、位置情報はデバイス履歴の通りにユーザデータベースに格納されうる。このように、データベースへの複数のクエリはデバイス位置についての複数のクエリを含みうる。   In some cases, device 102 may include information about its location when reporting. In those cases, location information can be stored in the device database (both as a recent device location and device history). Similarly, location information can be stored in the user database as per device history. Thus, multiple queries to the database may include multiple queries for device locations.

ユーザがシステムに登録する場合、ユーザは、登録時に彼らの現在位置に関連付けられる位置識別情報を提供しうる。ユーザはまた、システム内の複数の位置を格納し、そのそれぞれはユーザによって提供される異なる識別を有する。例えば、ユーザは、彼らの家、彼らの仕事、彼らの複数の友人の家、等についての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 device 102 may also report information that is specific to that type of device (eg, the device's unique capabilities). For example, a device that is primarily a speaker may report information to the backend about what it is playing and where it is located. In some cases, the information may include information about multiple device settings and what other multiple devices are involved (eg, coupled). In this way, the database supports multiple types of queries such as "What I was playing at Joe's house last night at 10:00?", Against which the system could provide a list of songs.

デバイス102はまた、近接する複数のデバイスまたは複数のユーザについての情報の報告もする。
デバイス例−サウンドレンダリングデバイス
The device 102 also reports information about nearby devices or users.
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 (device 102 embodiment) where the inherent function of the device is sound rendering. The device 800 can be used as a speaker, for example. As shown in FIGS. 8A-8B, the sound rendering device 800 includes a plurality of components 832 that support device-specific functions. These components 832 include one or more speaker drivers 860, one or more signal processors 862, one or more processors 864, a memory / storage 866, and a plurality of controls 868.

図8A、図8Cに示されるように、デバイス800は、複数のBluetooth(登録商標)機構、複数のEthernet(登録商標)機構、複数のジグビー機構、複数のセルラー機構、複数のWi−Fi機構を含む複数の通信機構を含みうる。一実装形態において、デバイス800の複数の通信機構は、複数のBluetooth(登録商標)機構を含み、Ethernet(登録商標)機構、ジグビー機構、またはセルラー機構は含まない。   As shown in FIGS. 8A and 8C, the device 800 includes a plurality of Bluetooth (registered trademark) mechanisms, a plurality of Ethernet (registered trademark) mechanisms, a plurality of ZigBee mechanisms, a plurality of cellular mechanisms, and a plurality of Wi-Fi mechanisms. A plurality of communication mechanisms may be included. In one implementation, the plurality of communication mechanisms of the device 800 includes a plurality of Bluetooth® mechanisms and does not include an Ethernet® mechanism, a ZigBee mechanism, or a cellular mechanism.

図8Aおよび図8Dに示されるように、サウンドレンダリングデバイス800はまた、1または複数のカメラ870、1または複数のマイク872、デバイスモーションセンサ、場所/位置センサ、外部モーションセンサ、タッチ/コンタクトセンサ、光センサ、温度センサ、および他の複数のセンサを含む、複数のセンサ838を含みうる。一実装形態において、デバイス800の複数のセンサは、カメラも温度センサも含まない。   As shown in FIGS. 8A and 8D, the sound rendering device 800 may also include one or more cameras 870, one or more microphones 872, device motion sensors, location / position sensors, external motion sensors, touch / contact sensors, A plurality of sensors 838 may be included, including light sensors, temperature sensors, and other sensors. In one implementation, the plurality of sensors of device 800 does not include a camera or a temperature sensor.

1つの例示的実装形態において、以下のものがこれらのコンポーネントのうちのいくつかに対して用いられうる。

Figure 2016502137
In one exemplary implementation, the following may be used for some of these components.
Figure 2016502137

別の例示的実装形態においては、以下のものがこれらのコンポーネントのうちのいくつかに対して用いられうる。

Figure 2016502137
In another exemplary implementation, the following may be used for some of these components:
Figure 2016502137

上記リストは、例として与えられるだけであって、デバイスの範囲を限定する意図は全くないことが理解されるべきである。   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として動作しうる。   Sound rendering device 800 may operate as device 102 as described above.

この説明を読むと当業者は気付き理解するであろうように、複数の異なるおよび/または他の特定のコンポーネントはサウンドレンダリングデバイス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 sound rendering device 800, and such other components may be Considered in the specification and within the system scope. It should be understood that the various components are implemented and packaged in multiple ways, and the device is not limited by the manner in which multiple components are implemented or packaged. It should further be understood that the device is not limited by the packaging or the form that the device takes (ie, by the form factor of the device).

以下の表は、デバイスが複数の音声認識機構を用いてローカルに解釈できる複数の例示的コマンド(すなわち、複数の語句)のリストの構文を含む。本明細書において用いられるように、語句は1または複数の単語を意味する。以下のコーパスの表において、太字の斜体フォントの複数の語句は、ローカルコーパスにおけるもので、角括弧(「[」、「]」)内の複数の語句は任意である。語句と語句の間の縦線(「|」)は、「または」(すなわち、それらの語句のうちの1つ)を意味する。従って、例えば、「A」|「B」は、語句「A」または語句「B」を意味する。「#n」で示される語句は数字を意味する。星印(「*」)が続く語句は、その語句が繰り返されうることを意味する。「(複数可)」が続く単語の語句は、単数または複数のその単語が用いられうることを意味する。従って、例えば、表中のアイテム番号2、
[[少し]少しも(〜なく)|ずっと*|#n]より優しく|より低く|より高く|静かに[より静かに]
は、「少し低く」、「ずっと高く」、「より優しく」、「5倍低く」、「少しも優しくなく」、「ずっとずっと優しく」、「静かに」、「より静かに」、「少し静かに」等に対応しうる。

Figure 2016502137
The following table includes the syntax of a list of exemplary commands (ie, multiple phrases) that the device can interpret locally using multiple speech recognition mechanisms. As used herein, a phrase means one or more words. In the following corpus table, a plurality of words in bold italic font are in the local corpus, and a plurality of words in square brackets (“[”, “]”) are arbitrary. A vertical line (“|”) between phrases means “or” (ie, one of those phrases). Thus, for example, “A” | “B” means the phrase “A” or the phrase “B”. The phrase indicated by “#n” means a number. A phrase followed by an asterisk ("*") means that the phrase can be repeated. A phrase of a word followed by “(s)” means that the word or words can be used. Thus, for example, item number 2 in the table,
[[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 “
Figure 2016502137

例として、表中のアイテム番号3は、「次の10曲を再生」、「どれか任意の歌を再生」、「次の曲を再生」、「前の歌を再び再生」、「任意の複数の曲を再生」、「再び再生」、「再生」等のうちの任意のものを意味しうる。別の例として、アイテム番号5は、「スキップ」、「次の3つの歌」、「曲」、「7つスキップ」、「前の曲」等のうちの任意のものを意味しうる。更なる例として、アイテム番号8は、「トーン」、「トレブルを上げるように調整」、「バスをより低く」等のうちの任意のものを意味しうる。   For example, item number 3 in the table is “Play next 10 songs”, “Play any song”, “Play next song”, “Play previous song again”, “Any song” It may mean any one of “play a plurality of songs”, “play again”, “play”, and the like. As another example, item number 5 may mean any of “skip”, “next three songs”, “songs”, “seven skips”, “previous song”, and the like. As a further example, item number 8 may mean any of “tone”, “adjust to increase treble”, “lower bus”, and the like.

音声/スピーチ認識機構178は、従って、特定の話された複数の語句を認識し得て、それから、デバイスを実際に制御すべく、それらの対応するセマンティクス(semantics)(すなわち、意味)を決定して、他の複数の動作機構に(例えば、コマンド/制御機構158に)、対応する複数の命令を提供しなくてはならない。   The voice / speech recognizer 178 can therefore recognize a particular spoken phrase, and then determine their corresponding semantics (ie, meaning) to actually control the device. Thus, other operating mechanisms (e.g., to command / control mechanism 158) must be provided with corresponding commands.

この例示的コーパスは、認識された複数の語句の構文を提供し、全ての語句がそのデバイスに対して意味(または妥当な意味)を有するわけではないことが理解されるべきである。例えば、上記番号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 number 3 may support the recognition of the phrase “play any three of the next songs again” and the number 5 may support the recognition of the phrase “skip previous song”. Both of these phrases are syntactically correct (according to the corpus syntax), but they cannot correspond to any meaningful command and can be ignored by the device.

音声/スピーチ認識機構178に対して上に与えられたコーパスの構文は、例として提供されるだけであって、この説明を読むと当業者は気付き理解するであろうように、異なるおよび/または他の複数の音声命令がサウンドレンダリングデバイス800によって理解され得て、本明細書において考えられる。   The corpus syntax provided above for the speech / speech recognizer 178 is provided as an example only, and will be different and / or as will be appreciated by those skilled in the art upon reading this description. Other multiple voice commands can be understood by the sound rendering device 800 and are contemplated herein.

複数のサウンドレンダリングデバイス800は、同じ音をレンダリングすべく互いに協同しうる(例えば、同じソースから同時に同じ音楽を再生すべく−好ましくは同期されて)。2又は3以上のサウンドレンダリングデバイス800が同じソースから音をレンダリングすべく協同する場合、それらは全てが同じ音を正確にレンダリングする必要はない。例えば、複数のサウンドレンダリングデバイス800は、サラウンドサウンドシステムとして同じソースから音をレンダリングすべく協同しうる。別の例として、複数のサウンドレンダリングデバイス800は、それらのうちのいくつかが何らかの音(例えば、いくつかの楽器からの)をレンダリングするように同じソースから音をレンダリングすべく協同し、一方で、他の複数のサウンドレンダリングデバイスは他の音(例えば、他のいくつかの楽器からの)をレンダリングする。   Multiple sound rendering devices 800 may cooperate with each other to render the same sound (eg, to play the same music from the same source simultaneously—preferably synchronized). If two or more sound rendering devices 800 cooperate to render sound from the same source, they need not all render the same sound correctly. For example, multiple sound rendering devices 800 may cooperate to render sound from the same source as a surround sound system. As another example, multiple sound rendering devices 800 cooperate to render sounds from the same source such that some of them render some sound (eg, from several instruments), while , Other sound rendering devices render other sounds (eg, from several other instruments).

サウンドレンダリングデバイス800はまた、音を生成すべく用いられる信号のソースでありうることが理解されるべきである。例えば、スマートフォン(iPhone(登録商標)、または同類のものなどの)はスピーカを有し得て(小型のものではあるが)、音を生成すべく用いられ得る信号(iPhone(登録商標)自身によって、および他の複数のデバイス800によって、の両方で)を生成しうる。   It should be understood that the sound rendering device 800 may also be a source of signals used to generate sound. For example, a smartphone (such as iPhone®, or the like) can have a speaker (although it is small) and can be used to generate sound (by iPhone® itself) , And by other devices 800).

複数のサウンドレンダリングデバイス800間の協同の複数の例が、図9A−図9Cを参照して以下に与えられる。
協同の例−ステレオ
Examples of collaboration between multiple sound rendering devices 800 are given below with reference to FIGS. 9A-9C.
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, device 800 may differ in audio streams and / or others, as those skilled in the art will appreciate upon reading this description. Responsibility can be given to a plurality of aspects. It should be understood that device 800 may render (or may not render) any portion or portions of an audio stream that its DSP can filter (can be filtered in or removed). Further, the device 800 may enhance or modify any part or parts of the audio stream that its DSP can filter.
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 sound rendering devices 800, particularly multiple portable devices, add to their cooperation. In some implementations, a user may give a friend multiple guest privileges to share their device 800. In some implementations, the user may grant all other devices multiple temporary (“party mode”) rights to share their sound rendering device 800.
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 sound rendering device 800, the preferred provision is that the device that first initiated contact with the other device (eg, by touching it, etc.) takes the lead as needed to make the decision. That's it. As one of ordinary skill in the art will appreciate upon reading this description, different and / or other techniques for determining which device has control can be used and are considered herein. It is done.
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 sound rendering device 800. Can be used to set or adjust. In some cases, the pre-configured genre information is combined by multiple preferences of the user (which can be provided via some user interface or learned by the device based on multiple user interactions with the device). Can be ignored or ignored. For example, if the user always adjusts multiple DSP settings to a particular genre of music in preference to multiple preset DSP settings, device 800 may learn the user's desired settings. Thus, for that genre, they can always be used instead of the system's preset settings.

ジャンル情報は、例えば、前もって、ソースの音を分析するオフライン処理を設定しうる。例えば、ソースライブラリの提供者は、音楽の各アイテムのジャンルを分類すべく、それらのライブラリにおける全ての音楽を事前分析しうる。その分類は、例えば、ジャンルを表すビットベクトルで格納され得て、ソースデータが提供されうる。しかしながら、ソース信号中のジャンル情報の処理は、そのジャンル情報が取得された、または設定されたやり方とは独立している、ということが理解されるべきである。   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は、各歌のジャンルに応じてそれらの協同するやり方を変更しうる。   Multiple devices 800 cooperating may use genre information in the source signal to determine and adjust how they cooperate. Thus, when rendering sounds corresponding to multiple songs, the cooperating devices 800 may change their cooperating manner depending on the genre of each song.

この説明を読むと当業者は気付き理解するであろうように、異なるおよび/または他の複数の種類の協同が、複数のサウンドレンダリングデバイス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 sound rendering devices 800, and such cooperation is described herein. In the scope of the system.
History and learning

上述の通り、システム100は各デバイス102から情報を取得しうる。複数のサウンドレンダリングデバイス800の場合、複数のデバイスは好ましくは、それらが何の音をレンダリングしているのか(例えば、何の音楽等をそれらが再生しているのか)、並びにいつ、どこでそれがレンダリングされるのか、をバックエンド184に通知する。この目的を達成すべく、各デバイス800はその複数のアクティビティの履歴を保持し、定期的に、および/または可能なときに、バックエンド184にその履歴を提供する。履歴は、デバイスの複数のアクティビティを再現すべく用いられうる、複数のアクティビティおよび複数のデバイス設定の、タイムスタンプされた、順序付けされたリストとして提供されうる。デバイスが別のデバイスと協同する場合、その情報はまた履歴に含められ、両方の(全ての)協同するデバイスは、バックエンドに自身の履歴情報を提供する。   As described above, the system 100 can obtain information from each device 102. In the case of multiple sound rendering devices 800, the multiple devices are preferably what sounds they are rendering (eg, what music, etc. they are playing), and when and where it is The back end 184 is notified if it will be rendered. To accomplish this goal, each device 800 maintains a history of its multiple activities and provides that history to the backend 184 periodically and / or when possible. The history can be provided as a time-stamped, ordered list of activities and device settings that can be used to replicate the activities of the device. If a device collaborates with another device, that information is also included in the history, and both (all) cooperating devices provide their history information to the backend.

バックエンドはデバイスデータベース128およびユーザデータベース130にデバイス履歴情報を格納する。   The back end stores device history information in the device database 128 and the user database 130.

この種のデバイス履歴情報は、以下の種類の、次に続く複数のクエリをサポートする(バックエンド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 backend 184 and possibly additional function 120):
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. Sound rendering device 800 introduces additional problems. This is because the device itself can be a source of environmental noise. In any case, the device should not recognize that the sound rendered by the device is a multiple command for the device itself. Thus, in preferred implementations, the sound rendering device 800 filters out the sound it generates from the sounds acquired by its own multiple sound sensors (multiple microphones).

本明細書において用いられるように、「第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つのスピーチコーパスを使用し、前記複数のスピーチ機構は、前記複数の顔機構によって提供される顔情報に基づいて前記少なくとも1つのスピーチコーパスからスピーチコーパスを選択する
請求項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.
デバイスを動作させる方法であって、前記方法は、少なくとも部分的に、少なくとも1つのプロセッサおよびメモリを含むハードウェアによって実装され、前記方法は、
(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.
前記センサ情報は画像情報を含み、(C)において開始される前記認識はジェスチャー認識を含み、前記少なくとも1つの命令は前記ジェスチャー認識によって認識される少なくとも1つのジェスチャーに基づいて決定される
請求項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.
前記センサ情報は音情報を含み、(C)において開始される前記認識はスピーチ認識を含み、前記少なくとも1つの命令は、前記スピーチ認識によって認識される少なくとも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.
デバイスを動作させる方法であって、前記方法は、少なくとも部分的に、少なくとも1つのプロセッサおよびメモリを含むハードウェアによって実装され、前記方法は、
(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.
デバイスを動作させる方法であって、前記方法は、少なくとも部分的に、少なくとも1つのプロセッサおよびメモリを含むハードウェアによって実装され、前記方法は、
(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.
(D)前記ユーザに関連付けられる更新されたユーザ固有設定情報に基づいて前記デバイス上の前記設定情報のうちの少なくともいくつかを更新する段階を更に備える
請求項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.
(D)別のデバイスに少なくともいくつかのユーザ固有設定情報を提供する段階を更に備える
請求項19に記載の方法。
The method of claim 19, further comprising: (D) providing at least some user-specific configuration information to another device.
前記デバイスは、前記デバイスとの1または複数のヒューマン対話に基づいて前記ユーザ固有設定情報のうちのいくつかを更新する
請求項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.
(D)他の場所に更新されたユーザ固有設定情報を提供する段階を更に備える
請求項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つのジェスチャーコーパスと、のうちの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.
前記第1のデバイスは、1または複数のヒューマン対話に基づいて前記ユーザ固有設定情報のうちのいくつかを更新する
請求項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.
前記第1のデバイスは、他の場所に更新されたユーザ固有設定情報を提供する
請求項27に記載の方法。
28. The method of claim 27, wherein the first device provides updated user specific configuration information elsewhere.
(C)前記他の場所において、前記第1のデバイスから受信される更新されたユーザ固有設定情報を前記ユーザに関連付ける段階を更に備える
請求項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.
(D)第2のデバイスを前記ユーザに関連付ける段階と、
(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.
前記第1のデバイスはサウンドレンダリングデバイスである
請求項24から30の何れか一項に記載の方法。
31. A method according to any one of claims 24 to 30, wherein the first device is a sound rendering device.
前記第1のデバイスおよび前記第2のデバイスはサウンドレンダリングデバイスである
請求項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.
各特定のユーザの前記ユーザ情報は前記特定のユーザに関連付けられる設定情報を更に含み、(d)において前記バックエンドシステムによって提供される前記特定のユーザのユーザ情報は、前記特定のユーザに関連付けられる設定情報を含む
請求項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.
前記バックエンドシステムによって提供される前記特定のユーザのユーザ情報は、前記特定のユーザに関連付けられる複数のデバイス中の前記少なくとも1つのヒューマンインターフェース制御機構をサポートする前記情報を含む
請求項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.
前記少なくとも1つのヒューマンインターフェース制御機構はスピーチ認識機構を含み、特定のユーザに対して、前記少なくとも1つのヒューマンインターフェース制御機構をサポートする前記情報は、前記特定のユーザに関連付けられ、前記特定のユーザによるスピーチの認識をサポートするスピーチ認識機構によって利用可能な、少なくとも1つのスピーチコーパスを備える
請求項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.
前記少なくとも1つのヒューマンインターフェース制御機構はジェスチャー認識機構を含み、特定のユーザに対して、前記少なくとも1つのヒューマンインターフェース制御機構をサポートする前記情報は、前記特定のユーザに関連付けられ、前記特定のユーザによる複数のジェスチャーの認識をサポートするジェスチャー認識機構によって利用可能な少なくとも1つのジェスチャーコーパスを備える
請求項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.
(f)において、前記複数のバックエンドアプリケーションは、前記特定のデバイスに関連付けられるユーザに、前記特定のデバイス上の前記ヒューマンインターフェース制御機構をサポートする前記更新された情報を関連付ける
請求項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.
(f)において、前記複数のバックエンドアプリケーションは、前記特定のデバイスに関連付けられるユーザに、前記特定のデバイス上の前記スピーチ認識機構用の前記更新されたスピーチコーパスを関連付ける
請求項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.
複数のユーザに代わって複数のデバイスの動作をサポートするフレームワークで使用可能な方法であって、前記複数のデバイスの各デバイスは、前記フレームワークにおいて前記複数のユーザのうちの一ユーザに主に関連付けられ、前記フレームワークは、少なくとも1つのプロセッサおよびメモリを含む、ハードウェアおよびソフトウェアを備えるバックエンドシステムを備え、前記バックエンドシステムは、データベースシステムと、前記ハードウェア上で実行され、前記データベースシステムおよび前記複数のデバイスとインターフェースで接続する複数のバックエンドアプリケーションと、を含み、
前記方法は、
(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.
各特定のユーザの前記ユーザ情報は前記特定のユーザに関連付けられる設定情報を更に含み、(C)において提供される前記特定のユーザのユーザ情報は、前記特定のユーザに関連付けられる設定情報を含む
請求項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.
(C)において提供される前記特定のユーザのユーザ情報は、前記特定のユーザに関連付けられる複数のデバイス中の前記少なくとも1つのヒューマンインターフェース制御機構をサポートする前記情報を含む
請求項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. .
前記少なくとも1つのヒューマンインターフェース制御機構はスピーチ認識機構を含み、特定のユーザに対して、前記少なくとも1つのヒューマンインターフェース制御機構をサポートする前記情報は、前記特定のユーザに関連付けられ、前記特定のユーザによるスピーチの認識をサポートするスピーチ認識機構によって利用可能な少なくとも1つのスピーチコーパスを備える
請求項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.
前記少なくとも1つのヒューマンインターフェース制御機構はジェスチャー認識機構を含み、特定のユーザに対して、前記少なくとも1つのヒューマンインターフェース制御機構をサポートする前記情報は、前記特定のユーザに関連付けられ、前記特定のユーザによる複数のジェスチャーの認識をサポートするジェスチャー認識機構によって利用可能な少なくとも1つのジェスチャーコーパスを備える
請求項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.
(D)前記データベースシステムにおいて、ユーザに新たなデバイスを関連付ける段階を更に備える
請求項43に記載の方法。
44. The method of claim 43, further comprising: (D) associating a new device with a user in the database system.
JP2015542762A 2012-11-16 2013-11-14 Unified framework for device configuration, interaction and control, and related methods, devices and systems Pending JP2016502137A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (10)

* Cited by examiner, † Cited by third party
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