[0001] テレビジョンおよび他のモニターというようなコンテンツ配信デバイスは、どのユーザーがコンテンツを受信するのかに基づいて、配信されるコンテンツをカスタム化することはない。例えば、テレビジョン放送は、特定の聴衆メンバー(audience member)には関係なく同じコンテンツを提供する。インターネット・テレビジョンはある程度のカスタム化を可能にするが、コンテンツの選択を行うのは、ユーザーであって、デバイスではない。そして、これがデバイスによって行われる場合、コンテンツの受信端に誰がいるのか知ることなく、デバイスの識別によってこれが行われる。離散コンテンツ配信デバイス(discrete content-delivery device)は、現在、1つの協調システムに発展しつつある。
[0015] これより、本技術の実施形態について図1から図7Bを参照しながら説明する。一般に、本技術は、1人以上のユーザーの識別および他の性格を認識し、認識した識別および/または性格に基づいて、配信されるコンテンツをカスタム化することができるコンテンツ配信システムに関する。このシステムは、種々の計算デバイスを含む。これらの計算デバイスは、情報およびハンド・オフ・コンテンツ(hand off content)を交換することができるように、対にすること、またはそれ以外で通信可能に結合することができる。更に、この計算デバイスは、ユーザーの識別を検出し、そして実施形態ではユーザーの性格を検出する検出システムも含む。これらの性格は、例えば、ユーザーの気分、感情的状態、およびユーザーに彼または彼女のデバイスを介して配信されているコンテンツに対する注意深さを含むことができる。更に、本システムは、広範囲の定められたユーザーの好みを含むユーザー・プロファイルを含む。ユーザーの好みは、ユーザーが彼または彼女のデバイスから受信することを望むコンテンツ、ならびにどのように、いつ、およびどのような条件の下でそのコンテンツをユーザーに配信すべきかについて定める。
[0016] このようなシステムは、計算デバイスの1つ以上の範囲内でユーザーを特定し、そのユーザーにカスタム化したコンテンツを自動的にこのユーザーに提供することができる。実施形態では、提供されたコンテンツは、更に、ユーザーの気分および感情的状態に基づいてカスタム化することもできる。1人よりも多いユーザーが計算デバイスの1つ以上の範囲内にいる場合、本システムは、ユーザー間で共有されているコンテンツ好みをサーチし、ユーザーの全てが一緒に楽しむことができるコンテンツを特定することができる。更に、本システムは、ユーザーが彼らのコンテンツをどこに提示すべきか指定することも可能にする。例えば、ユーザーが1人のときにはユーザーは彼または彼女のコンテンツを公衆ディスプレイに表示することを望むが、他の人がいる場合にはそのコンテンツをもっと個人用の(more personal)ディスプレイに移すことを望むこともあり得る。
[0017] 本技術のこれらおよび他の形態(aspect)について、これより図1に示す協調環境5に関して更に詳しく説明する。協調環境5は、ターゲット認識、分析、および追跡システム10を含む。ターゲット認識、分析、および追跡システム10は、ユーザー18のような人間ターゲットを認識、分析、および/または追跡するために使用することができる。ターゲット認識、分析、および追跡システム10の実施形態は、コンテンツを提示する、および/またはゲーミングまたは他のアプリケーションを実行する計算デバイス12を含む。一実施形態では、計算デバイス12は、標準化されたプロセッサー、特殊プロセッサー、マイクロプロセッサー等のような、本明細書において説明するプロセスを実行するためにプロセッサー読み取り可能記憶媒体に格納されている命令を実行することができるプロセッサーを含むことができる。
[0018] システム10は、更に、キャプチャー・デバイス20によって検知された1人以上のユーザーおよび/または物体に関する画像およびオーディオ・データーを取り込むキャプチャー・デバイス20も含む。実施形態では、キャプチャー・デバイス20は、1人以上のユーザー18の動き、ジェスチャー、および音声に関する情報を取り込むために使用することができ、この情報は、計算デバイス12によって受信され、以下で説明するように、ユーザーおよびユーザーの性格を特定するために使用することができる。図1は、3人のユーザー18を含む実施形態を示し、例えば、母18a、父18b、および娘18cとすることもできる。3人の家族構成員の使用は、例示の目的に過ぎない。環境5には1人以上のユーザー18がいればよく、これらのユーザーは、互いに種々の関係の内任意のものを有することができる。
[0019] ターゲット認識、分析、および追跡システム10の実施形態は、ディスプレイ14を有するオーディオ/ビジュアル・デバイス16に接続されている。図1の例では、ディスプレイ14はコンテンツをユーザー18に提示している。デバイス16は、例えば、テレビジョン、モニター、高品位テレビジョン(HDTV)等とすることができ、コンテンツ、ゲーム、またはアプリケーションの映像(visual)および/またはオーディオをユーザーに供給することができる。例えば、計算デバイス12は、グラフィクス・カードのようなビデオ・アダプター、および/またはサウンド・カードのようなオーディオ・アダプターを含むことができ、これらは、ゲームまたは他のアプリケーションと関連するオーディオ/ビジュアル信号を供給することができる。オーディオ/ビジュアル・デバイス16は、計算デバイス12からのオーディオ/ビジュアル信号を受信することができ、次いでこのオーディオ/ビジュアル信号と関連するコンテンツ、ゲーム、またはアプリケーションの映像および/またはオーディオをユーザー18に出力することができる。一実施形態によれば、オーディオ/ビジュアル・デバイス16は、計算デバイス12に、例えば、S−ビデオ・ケーブル、同軸ケーブル、HDMI(登録商標)ケーブル、DVIケーブル、VGAケーブル、コンポーネント・ビデオ・ケーブルなどによって接続することができる。
[0020] システム10およびそのコンポーネントの適した例が、以下の同時係属中の特許出願において確かめられる。これらの特許出願をここで引用することによって、その内容が本願にも具体的に含まれるものとする。2009年5月29日に出願され、"Environment and/or Target Segmentation"(環境および/またはターゲット区分)と題する米国特許出願第12/475,094号、2009年7月29日に出願され"Auto Generating a Visual Representation"(視覚表現の自動生成)と題する米国特許出願第12/511,850号、2009年5月29日に出願され"Gesture Tool"(ジェスチャー・ツール)と題する米国特許出願第12/474,655号、2009年10月21日に出願され"Pose Tracking Pipeline"(姿勢追跡パイプライン)と題する米国特許出願第12/603,437号、2009年5月29日に出願され"Device for Identifying and Tracking Multiple Humans Over Time"(ときの経過と共に複数の人間を識別および追跡するデバイス)と題する米国特許出願第12/475,308号、 2009年10月7日に出願され"Human Tracking System"(人間追跡システム)と題する米国特許出願第12/575,388号、 2009年4月13日に出願され"Gesture Recognizer System Architecture"(ジェスチャー認識システムのアーキテクチャー)と題する米国特許出願第12/422,661号、2009年2月23日に出願され"Standard Gestures"(標準的なジェスチャー)と題する米国特許第12/391,150号、 2009年5月29日に出願され"Gesture Tool"(ジェスチャー・ツール)と題する米国特許出願第12/474,655号。
[0021] 図2は、ターゲット認識、分析、および追跡システム10において使用することができるキャプチャー・デバイス20の一実施形態例を示す。一実施形態例では、キャプチャー・デバイス20は、深度値を含むことができる深度画像を有するビデオを、例えば、飛行時間、構造化光、立体画像等を含むいずれかの適した技法によって、取り込むように構成することができる。一実施形態によれば、キャプチャー・デバイス20は、計算された深度情報を「Z層」、即ち、深度カメラからその見通し線に沿って延びるZ軸に対して垂直であるとよい層に編成することができる。
[0022] 図2に示すように、キャプチャー・デバイス20は撮像カメラ・コンポーネント22を含むことができる。一実施形態例によれば、撮像カメラ・コンポーネント22は、場面の深度画像を取り込むことができる深度カメラとすることができる。深度画像は、取り込まれた場面の二次元(2−D)画素エリアを含むことができ、この2−D画素エリアにおける各画素は、カメラから取り込まれた場面における物体の、例えば、センチメートル、ミリメートル等を単位とした、長さまたは距離のような深度値を表すことができる。
[0023] 図2に示すように、一実施形態例によれば、撮像カメラ・コンポーネント22は、場面の深度画像を取り込むために使用することができるIR発光コンポーネント24、三次元(3D)カメラ26、およびRGBカメラ28を含むことができる。例えば、飛行時間分析では、キャプチャー・デバイス20のIR発光コンポーネント24は、場面に向けて赤外線光を出すことができ、次いでセンサー(図示せず)を使用して、その場面の中にある1つ以上のターゲットおよび物体の表面からの後方散乱光を、例えば、3Dカメラ26および/またはRGBカメラ28を使用して検出することができる。
[0024] 実施形態の中には、パルス状赤外線光を使用して、発信光パルスと対応する入射光パルスとの間の時間を測定し、キャプチャー・デバイス20から場面内にあるターゲットまたは物体上における特定の場所までの物理的距離を判定するために、この時間を使用することができるようにするとよい場合がある。加えて、他の実施形態例では、発信光波の位相を着信光波の位相と比較して、位相ずれを判定することもできる。次いで、位相ずれを使用して、キャプチャー・デバイス20からターゲットまたは物体上の特定の場所までの物理的距離を判定することができる。
[0025] 他の実施形態例によれば、例えば、散乱光パルス撮像(shuttered light pulse imaging)を含む種々の技法によって、経時的な光の反射ビームの強度を分析することによって、キャプチャー・デバイス20からターゲットまたは物体上の特定の場所までの物理的距離を間接的に判定するために、飛行時間分析を使用することもできる。
[0026] 他の一実施形態例では、キャプチャー・デバイス20は、構造化光を使用して深度情報を取り込むことができる。このような分析では、パターン光(即ち、格子パターン、縞パターンのような既知のパターンとして表示される光)を、例えば、IR発光コンポーネント24によって場面に向けて投射する。場面における1つ以上のターゲットまたは物体の表面に衝突したときに、パターンが、それに応答して、変形することができる。このようなパターンの変形を、例えば、3Dカメラ26および/またはRGBカメラ28によって取り込むことができ、次いで分析して、キャプチャー・デバイス20からターゲットまたは物体上における特定の場所までの物理的距離を判定することができる。
[0027] 他の実施形態によれば、キャプチャー・デバイス20は、2つ以上の物理的に分離されたカメラを含むことができ、これらが異なる角度からの場面を捕らえて、視覚的な立体像を得て、これを解明することによって深度情報を生成することができる。他の実施形態例では、キャプチャー・デバイス20は、ポイント・クラウド・データー(point cloud data)およびターゲット・ディジタル化技法を使用して、ユーザーの特徴を検出することもできる。
[0028] 更に、キャプチャー・デバイス20は、マイクロフォン30を含むこともできる。マイクロフォン30は、音響を受けて電気信号に変換する変換器またはセンサー(図示せず)を含むことができる。一実施形態によれば、マイクロフォン30は、ターゲット認識、分析、および追跡システム10においてキャプチャー・デバイス20と計算デバイス12との間におけるフィードバックを減らすために使用することができる。加えて、マイクロフォン30は、計算デバイス12によって実行することができる、ゲーム・アプリケーション、ゲーム以外のアプリケーション等のようなアプリケーションを制御するために、ユーザーが供給することもできるオーディオ信号を受けるために使用することもできる。
[0029] 一実施形態例では、キャプチャー・デバイス20は、更に、撮像カメラ・コンポーネント22と動作的に通信することができるプロセッサー32も含むことができる。プロセッサー32は、命令を実行することができる標準化されたプロセッサー、特殊プロセッサー、マイクロプロセッサー等を含むことができる。これらの命令には、深度画像を受け、この深度画像に適したターゲットが含まれ得るか否か判定を行い、適したターゲットをそのターゲットのスケルトン表現またはモデルに変換する命令、または他の適した命令の内任意のものを含むことができる。
[0030] キャプチャー・デバイス20は、更に、メモリー・コンポーネント34も含むことができる。メモリー・コンポーネント34は、プロセッサー32によって実行することができる命令、3DカメラまたはRGBカメラによって取り込まれた画像または画像のフレーム、あるいは任意の他の適した情報、画像等を格納することができる。一実施形態例によれば、メモリー・コンポーネント34は、ランダム・アクセス・メモリー(RAM)、リード・オンリー・メモリー(ROM)、キャッシュ、フラッシュ・メモリー、ハード・ディスク、または任意の他の適した記憶コンポーネントを含むことができる。図2に示すように、一実施形態では、メモリー・コンポーネント34は、画像キャプチャー・コンポーネント22およびプロセッサー32と通信することができる別個のコンポーネントであってもよい。他の実施形態によれば、メモリー・コンポーネント34は、プロセッサー32および/または撮像・コンポーネント22に統合されてもよい。
[0031] 図2に示すように、キャプチャー・デバイス20は、通信リンク36を介して、計算環境12と通信することができる。通信リンク36は、例えば、USB接続、Firewire接続、イーサネット(登録商標)・ケーブル接続等を含む有線接続、および/またはワイヤレス802.11b、g、a、またはn接続のようなワイヤレス接続とすることができる。一実施形態によれば、計算環境212は、クロックをキャプチャー・デバイス202に供給することができる。このクロックは、例えば、通信リンク36を介して場面をいつ取り込むべきか判断するために使用することができる。
[0032] 加えて、キャプチャー・デバイス20は、例えば、3−Dカメラ26および/またはRGBカメラ28によって取り込まれた深度情報および画像、ならびにキャプチャー・デバイス20によって生成することができるスケルトン・モデルを、計算デバイス12に通信リンク36を介して供給することができる。キャプチャー・デバイス20によって検出されたターゲットまたは物体が人間のターゲットに対応するか否か判断するためには、種々の既知の技法が存在する。次いで、スケルトン・マッピング技法を使用して、そのユーザーの骨格上における種々のスポット、手の関節、手首、肘、膝、鼻、踝、肩、および骨盤が脊椎と交わるところを判定することができる。場面内のユーザーを追跡するために使用することができるスケルトン追跡パイプラインの一例が、2010年9月7日に出願され、"System For Fast, Probabilistic Skeletal Tracking"(高速確率的スケルトン追跡システム)と題する米国特許出願第12/876,418号に開示されている。この出願をここで引用したことにより、その内容全体が本願にも含まれるものとする。他の技法には、画像をその人の身体モデル表現に変換し、この画像をその人のメッシュ・モデル表現に変換することが含まれる。尚、システムと対話処理する1人のユーザーまたは全てのユーザーを特定するために他の技術を使用してもよいことは言うまでもない。このような追加の技術は、例えば、熱、オーディオ、またはRFID識別(デバイスまたは衣服または人内における)によってユーザーを特定するのでもよい。これらおよび他の追加の識別技術が、本システムにおいて使用されてもよい。
[0033] 図2は、更に、以下で説明するユーザー・プロファイル(1つまたは複数)40、ならびにユーザーや、気分、感情的状態、およびユーザーが受信しているコンテンツに対する注意深さというようなユーザーの性格を認識するために使用される複数のソフトウェア・エンジンも示す。一実施形態では、計算デバイス12は、ジェスチャー認識エンジン46およびジェスチャー・ライブラリー48を含むことができる。ジェスチャー・ライブラリー48は、ジェスチャー・フィルターの集合体を含み、各々が、ユーザーによって実行されるかもしれない動きまたはジェスチャーに関する情報を含む。一実施形態では、ジェスチャー認識エンジン46は、所与の1つまたは複数のフレームについて決定されたスケルトン・モデルを、ジェスチャー・ライブラリー48におけるジェスチャー・フィルターと比較して、ユーザー(スケルトン・モデルによって表される)が1つ以上のジェスチャーを行ったときを特定することができる。計算デバイス12は、ジェスチャー・ライブラリー48を使用して、スケルトン・モデルの動きを解釈し、開示される技術の1つ以上の動作を実行することができる。ジェスチャー認識エンジン46についてのこれ以上の情報は、2009年4月13日に出願され"Gesture Recognizer System Architecture"(ジェスチャー認識システムのアーキテクチャー)と題する米国特許出願第12/422,661号において確認することができ、この特許出願をここで引用したことにより、その内容全体が本願にも含まれるものとする。ジェスチャーの認識についてのこれ以上の詳細は、2009年2月23日に出願され"Standard Gestures"(標準的なジェスチャー)と題する米国特許第12/391,150号、および2009年5月29日に出願され"Gesture Tool"(ジェスチャー・ツール)と題する米国特許出願第12/474,655号において確認することができ、これら双方の特許出願をここで引用したことにより、その内容全体が本願にも含まれるものとする。
[0034] 実施形態では、計算デバイス12は更に顔認識エンジン52を含むことができる。顔認識エンジン52は、顔表現ライブラリー54と通信することができる。顔表現ライブラリー54は、顔表現フィルターの集合体を含み、その各々が顔表現に関する情報を含む。一実施形態では、顔認識エンジン52は、キャプチャー・デバイス20内の3−D深度カメラ26および/またはRGBカメラ28によって取り込まれたデーターを、顔表現ライブラリー54内の顔表現フィルターと比較して、ユーザーの顔表現を識別することができる。
[0035] 顔認識エンジン52およびライブラリー54は、少なくとも3つの目的のために一緒に使用することができる。第1に、これらは、キャプチャー・デバイス(1つまたは複数)20の視野内で1人以上のユーザーを識別するために使用することができる。第2に、これらは、ユーザーの気分または感情的状態を判定するために使用することができる。例えば、ライブラリー54は、格納されている顔フィルターを含むことができ、これらの顔フィルターは、ユーザーが泣いているとき、笑っているとき、眉をひそめているとき、ほほえんでいるとき、あくびしているとき、にらんでいるとき、たじろいでいるとき、寝ているとき、および特定の気分/感情的状態と関連する種々の他の視覚的指示を識別する。第3に、顔認識エンジン52およびライブラリー54は、ユーザーが提示されたコンテンツに注意を払っているか否か確認するために使用することができる。例えば、先に注記したように、ライブラリー54は、ユーザーがあくびしているとき、彼または彼女の目を閉じているとき、およびユーザーが提示されたコンテンツに注意を払っているか否かを示す種々の他の視覚的合図(cue)を識別する、格納された顔特徴を含むことができる。これらのフィルターは、以上で説明した気分/感情的状態を判定するための顔フィルターと同じでも、または異なってもよい。
[0036] 実施形態では、計算機12は、更に、ボディ・ランゲージ・エンジン58も含むことができる。ボディ・ランゲージ・エンジン58は、ボディ・ランゲージ・ライブラリー60と通信することができる。ボディ・ランゲージ・ライブラリー60は、ユーザーのボディ・ランゲージに関するボディ・ランゲージ・フィルターの集合体を含む。一例では、ボディ・ランゲージ・エンジン58は、キャプチャー・デバイス20によって取り込まれたデーターを、ライブラリー60におけるボディ・ランゲージ・フィルターと比較して、ユーザーのボディ・ランゲージを特定することができる。
[0037] ボディ・ランゲージ・エンジン58およびライブラリー60は、少なくとも2つの目的のために一緒に使用することができる。第1に、これらは、ユーザーの気分または感情的状態を判定するために使用することができる。例えば、ライブラリー60は、ユーザーが前方に上体を伸ばしているとき、座っているとき、前屈みになっているとき、および気分/感情的状態の種々の他の視覚的指示を識別するために、格納されているボディ・ランゲージ・フィルターを含むことができる。第2に、ボディ・ランゲージ・エンジン58およびライブラリー60は、ユーザーが提示されたコンテンツに注意を払っているか否か確認するために使用することができる。例えば、エンジン58は、ユーザーが提示されているコンテンツの方向を見ているか否か、またはユーザーが、落ち着かずまたはいらいらして、目をそらしているか否か気をつけることができる。
[0038] 実施形態では、計算機12は、更に、音声/イントネーション・ライブラリー66と通信する音声認識エンジン64も含むことができる。音声/イントネーション・ライブラリー66は、更に、特定のタイプの音声イントネーション、抑揚、ならびに他の音声および非音声の聴覚的応答に関するフィルターを含むこともできる。
[0039] 音声認識エンジン64およびライブラリー66は、少なくとも3つの目的のために共に使用することができる。第1に、これらは、マイクロフォン40の範囲内において1人以上のユーザーを識別することができる。特定されたユーザーについて分かっている音声パターンを、ユーザー・プロファイル40または音声/イントネーション・ライブラリー66に格納することができる。格納された音声パターンは、マイクロフォン40から受けた音声データーとの比較のために音声認識エンジン64によって使用され、受けた音声データーを、格納されている既知の音声と照合することができる。第2に、これらは、ユーザーの気分または感情的状態を判定するために使用することができる。例えば、ライブラリー66は、格納されている音声フィルターを含むことができ、この音声フィルターは、ユーザーが泣いているとき、笑っているとき、叫んでいるとき、興奮しているとき(早口(rapid speech)、大きな声量、および/または高い音程によって示される)、悲しいとき(ゆっくりした口調、少ない音量、および/または低い音程)、および特定の気分/感情的状態と関連する種々の他の聴覚的指示を識別する。ライブラリー66は、例えば、叩くというような、音声以外の音のフィルターも含むことができる。第3に、音声認識エンジン64およびライブラリー66は、ユーザーが提示されたコンテンツに注意を払っているか否か確認するために使用することができる。たとえば、ユーザーが、提示されたコンテンツについて話し合っている(talk over)、あるいはユーザーが提示されたコンテンツのサウンド・トラックと共に歌っている、ハミングしている、または手を叩いている。
[0040] ジェスチャー・ライブラリー48、顔表現ライブラリー54、ボディ・ランゲージ・ライブラリー60、および音声/イントネーション・ライブラリー66のフィルターは、大きな区分の人々の訓練データーから開発することができる。尚、それぞれのライブラリー内のフィルターは、文化的相違を考慮に入れるといことは言うまでもない。例えば、身体の動きは、ある文化では予め定められているジェスチャーに相当するが、他の文化ではそうではない場合もある。気分および感情的状態の検出に関して、ある文化では全体的に動きが激しくなるが、他の文化では平然としているということもあり得る。したがって、フィルターは、特定の文化および地方の習慣に対して調整するとよい。
[0041] また、ライブラリー48、54、60、および/または66を、システム10のユーザーからのデーターで訓練し、これらのライブラリーが個々のユーザー各々の特定の癖に対して細かく調整されるようにするとよい。つまり、ときの経過と共に、これらのライブラリーは、例えば、1人のユーザーから示された行動が、第1の気分または感情的状態を示すが、他のユーザーから示された同じ行動が、第2の異なる気分または感情的状態を示すことを学習することができる。
[0042] 前述のソフトウェア・エンジンおよび/または他のソースの内1つ以上からの情報を使用して、本システムは、キャプチャー・デバイス20の視野内および/またはマイクロフォン40の範囲内において1人以上のユーザーのユーザー識別70を判定することができる。例えば、キャプチャー・デバイスは、ユーザーの身体的特徴(体高、体形、髪形など)を取り込み、そのデーターをユーザー・プロファイル40に格納されているデーターと比較して、一致を判定することができる。実施形態では、顔認識エンジン52は、キャプチャー・デバイス20の視野内におけるユーザーの識別を実行すること、またはこれを補助することもできる。一例では、顔認識エンジン192は、キャプチャー・デバイス20から受けた視覚的画像からのユーザーの顔を、格納されているユーザーの顔の特徴の画像と相関付けることができる。更に他の実施形態では、本システムは、検出された音声パターンの、既知のユーザーについて格納されている音声パターンとの比較に基づいて、ユーザーの声のパターンからユーザーを特定または確認することができるとよい。
[0043] 以上で説明したエンジンの代わりに、またはこれらに加えて、更に、ユーザーの識別を特定または確認するために、他の客観的指標(objective indicia)も使用することができる。例えば、ユーザーの識別は、ユーザーIDおよびパスワードを入力するというような、何らかの識別行為を実行するユーザーによって判定することができる。この情報は、入力された情報の認証を可能にするために、ユーザー・プロファイル40に格納することができる。更に他の客観的指標に関して、ユーザーは、通例、セル・フォン、またはユーザーの識別を有する移動体デバイス(図1のデバイス82のような)を携行すると考えられる。以下で説明するが、ユーザーの移動体デバイスがシステム10の計算デバイス12の通信範囲内に持ち込まれたとき、計算デバイスは互いに対をなし、移動体デバイスの所有者の識別というような、情報を交換することができる。移動体デバイスを持っているユーザーが所有者であるという保証はないが、通例ではそうである。少なくとも、移動体デバイスから受けた情報は、先に論じた他の方法で独立して判定された識別を確認するために使用することができる。
[0044] 以上で説明したソフトウェア・エンジンおよび/または他のソースの内1つ以上からの情報を使用して、本システムは、ユーザーの気分または感情的状態72を判定することもできる。気分および感情的状態を関係付けてもよいが、一般に、この2つは、気分は比較的長く続く感情的状態であると考えられることから、区別することができる。感情的状態は、おそらくは、受信したコンテンツに応答した一過性のものであると考えられ、気分は一般にそれよりも長く続くと考えられる。他の実施形態では、気分および感情的状態を同じものとして扱うこともできる。
[0045] 先に論じたように、顔認識エンジン52、ボディ・ランゲージ・エンジン58、および/または音声認識エンジン64は、全て、ユーザーの気分/感情的状態72の判定を可能にする入力を設けることができる。一般に、ユーザーの気分/感情的状態は、例えば、ボディ・ランゲージ、顔の表現、および/または音声応答を含む、多種多様の身体的指示を有することができ、これらの指示をエンジン52、58、および/または64の内1つ以上によって検知することができる。尚、以上で説明した気分および/または感情を検出するためのエンジンおよびライブラリーは、一例に過ぎないことは言うまでもない。他の検出デバイスおよびソフトウェア・モジュールも、気分および/または感情を識別するために、先に説明したものの代わりに、またはそれらに加えて使用することができる。更に他の例では、心拍数、呼吸、体温等のような、生物生存兆候(例えば、非侵襲的なやり方で)を検出するためのデバイスを設けてもよい。この情報を気分/感情的状態の生理的指示として解釈するためにソフトウェア・エンジンを設けることもできる。
[0046] 気分/感情的状態72は、例えば、「幸せ」、「悲しい」、「狂った」、「興奮」、「驚き」、および「退屈」というような、客観的に定められる複数のカテゴリーの内1つとすることができる。他の分類も可能である。主観的な気分および感情は常に客観的分類に分けられる訳ではないが、ユーザーがこれらの分類の内1つの身体的特性を示している限りでは、前述の顔、ボディ・ランゲージ、および/または音声認識エンジン52、58、64の補助によって、計算デバイス12によってこれを判定することができる。一般に、エンジン52、58、および/または64は、ユーザーが特定の気分/感情を示す1つ以上の特徴を示しているか否か、そしてどの位強くこの1つ以上の示された特徴が、ライブラリー54、60、および66における対応するフィルターに一致するのかについて判定を行うことができる。特定の特徴が、ライブラリー・フィルターにおいて記述されているその特徴のモデルと一致する強さから、特定された特徴と関連する定量的信頼度値を得ることができる。
[0047] 種々のエンジン44、52、および58からの出力を使用して、そして測定された特徴が所与の特徴に対するフィルターとどの位強く一致するかという信頼度値を使用して、計算デバイス12は、気分/感情状態72にあるユーザーの気分/感情的状態を分類し定量化することができる。計算デバイス12は、特定の気分/感情がユーザーに対する気分/感情的状態72として設定される前に、この気分/感情がある所定のしきい値よりも高く示されることを要求するのでもよい。特定の気分/感情が示されない場合、または気分/感情が所定のしきい値よりも高く示されない場合、気分/感情的状態72は中立として分類してもよい。あるいは、認識されたデーターが矛盾する場合(例えば、ユーザーが幸福および悲しみ双方の指示を表した)、気分/感情的状態72を中立として分類してもよい。あるいは、対立する感情的状態は、「混合」または「不明」として分類するのでもよい。このような分類は、エンジン44、52、および/または58がより多くのデーターを受けるに連れて、1つの状態または他の状態に更新することができる。
[0048] 複数のユーザーが同じ気分/感情的状態72を有することは生じる可能性があるが、気分/感情的状態72は、各ユーザーの検出された身体的特徴に依存して、ユーザー毎に独立して設定することができる。実施形態では、気分/感情的状態72がユーザーのグループに対して纏めて判定されることも考えられる。このグループの気分/感情的状態72は、それぞれのグループ・メンバーによって示される優勢的な気分/感情的状態72を採用することを含む、複数の方法で判定することができる。どの位強くグループ・メンバーの内1人以上が特定の気分/感情的状態72に分類されるかに関する信頼度値も、グループの気分/感情的状態判定の要因の1つとして含めることができる。
[0049] 前述のソフトウェア・エンジンおよび/または他のソースの内1つ以上からの情報を使用して、本システムは、特定の提示されたコンテンツに対するユーザーの注意深さ74も判定することができる。一般に、特定の提示されたコンテンツに対するユーザーの注意深さは、例えば、ボディ・ランゲージ、姿勢、顔の表情、および/または音声の応答を含む、多種多様な身体的指示を有することができ、これらの指示をエンジン52、58、および/または64の内1つ以上によって検知することができる。また、頭の位置および/または顔の表情も、注意深さの指示となり得る。更に他の実施形態では、目の追跡も注意深さの指示となり得る。カメラが目の動きを追跡することができる場合、ユーザーが頻繁にコンテンツから目をそらすことは、ユーザーがそのコンテンツに対して低い注意深さを有することの指示であると考えられ、一方ユーザーがコンテンツから彼または彼女の目を殆ど動かさない場合、高い注意深さのレベルの指示であると考えられる。
[0050] 以下に続く説明では、高い注意深さは、ユーザーがコンテンツに興味があり、そのコンテンツを見続けることを望むものとして扱われる。しかしながら、高い注意深さが、他のユーザーの行為と結び付けられると、コンテンツには注意を払っているが、そのコンテンツを見続けることは望んでいないことを示すことも考えられる。例えば、注意深さの指示に、叫びまたは困惑、畏怖、または不快といった他の指示が伴う場合、ある種のコンテンツは、ユーザーの注意を引いてはいるが、ユーザーはそのコンテンツを見続けることを望んでいないという推論を引き出すことができる。本システムは、この場合、以下で説明するように、代わりのコンテンツを提案することができる。検出された感情的応答が第1のユーザーには望ましいが、第2のユーザーには望ましくないということも生ずる場合もある。例えば、子供は怖がることは好きでないが、大人は恐ろしいコンテンツを楽しむこともあり得る。これら好みをユーザーの好みに設定することもでき、子供が識別されたとき(この例では)、恐怖をしみこませるコンテンツを変更することができるが、大人が識別されたときには、この同じコンテンツを継続する。
[0051] 尚、以上で説明した注意深さを検出するためのエンジンおよびライブラリーは一例に過ぎないことは言うまでもない。前述した注意深さを識別するための検出デバイスおよびソフトウェア・モジュールの代わりに、またはそれらに加えて、他の検出デバイスおよびソフトウェア・モジュールを使用してもよいことは言うまでもない。
[0052] 一実施形態では、ユーザーの注意深さ74は、提示されたコンテンツを体験している間にユーザーによって行われた動き、ジェスチャー、および顔の表情のタイプに基づいて、「低い」、「中位」、または「高い」として分類されるとよい。注意深さには、他の等級付け(gradation)または分類も考えられる。一例では、取り込まれたデーターが、ユーザーがキャプチャー・デバイスの視野から遠ざかったことを示した場合、またはユーザーの頭が、コンテンツを提示しているデバイスから離れるように向けられた場合、注意深さ74を「低い」と判定することができる。同様に、注意深さ74は、ユーザーの顔の表情が退屈な表情を示した場合、またはユーザーの音声応答があくびを示した場合、「低い」と判定することができる。例えば、ユーザーがコンテンツを受信している間、しきい値パーセントの時間キャプチャー・デバイスの視野から遠ざかったことを、取り込まれた画像データーが示す場合、注意深さ74は「中位」であると判定することができる。しきい値パーセントの時間は、一実現例では、計算デバイス12によって予め決めておくことができる。同様に、ユーザーがコンテンツの期間中キャプチャー・デバイスの視野内にいて、コンテンツを提示するデバイスに向かっていた場合、および/またはコンテンツを提示するデバイスに向かって屈んでいた場合、注意深さ74は「高い」であると判定することができる。また、ユーザーが歌っている、ハミングしている、手を叩いている、または他の何らかの感激的な聴覚的応答(auditory response)を示している場合も、注意深さ74を高いに設定することができる。
[0053] なお、以上で論じたような、注意深さの低い、中位、または高いという分類から1つを判定するために利用されるジェスチャー、動き、顔の表情、および観衆応答のタイプは、例示の目的に限ってのことであることは認められてしかるべきである。ジェスチャー、動き、顔の表情、および聴衆応答の異なる組み合わせも、他の実施形態では、受信したコンテンツに対するユーザーの応答を判定するために利用することができる。更に、ユーザーの注意深さは、他の実施形態では、3つよりも少ないまたは多い等級に分けることもでき、各々が異なる注意深さの度合いであればよいことも言うまでもない。
[0054] 再度図1を参照すると、環境5は、例えば、ラップトップ80および移動体計算デバイス82のような1つ以上の追加の計算デバイスを更に含み、他の実施形態では、移動体計算デバイス82は、移動体電話機、タブレット・コンピュータ、または他の移動体デバイスとすることができる。他の実施形態では、環境5は、更に他の計算デバイスも含むことができ、または計算デバイス80および82の一方または双方がなくても動作することもできる。
[0055] システム10の計算デバイス12に加えて計算デバイス80および/または82が設けられる場合、互いに情報を交換し、デバイス間でアプリケーションの実行を共有し、コンテンツを引き継ぐことができるように、これら種々の計算デバイスを互いに対にすること、またはそれ以外で動作的に接続するとよい。この動作接続性を可能にするシステムのこれ以上の詳細は、2010年6月22日に出願され、"System for Interaction of Pared Devices"(対をなすデバイスの相互作用のためのシステム)と題する米国特許出願第12/820,982号に記載されている。この特許出願をここで引用したことにより、その内容全体が本願にも含まれるものとする。ラップトップ80、移動体デバイス82、または他の計算デバイスは、環境5に入ったり出たりすることもできる。実施形態では、環境5はシステム10のみを含むのであってもよい。
[0056] 本技術の実施形態では、ユーザーがプロファイル40において設定するユーザーの好み(user preference)42に基づいて、1人以上のユーザーに対してカスタム化されたコンテンツが自動的に選択され、推奨される。ユーザー好みは、ユーザーが受信することを望むのはどのようなコンテンツか、どのような条件の下でそのコンテンツを受信するとよいか(例えば、ユーザーが1人きりで、グループ内にいないときのみ)について、多種多様な好みを指定することができる。また、ユーザー好みは、どのようにしてコンテンツをユーザーに表示するとよいかについても設定することができる。例えば、ユーザーが1人きりでいる場合、彼女はディスプレイ14において彼女の電子メールを見たいということもあるが、他の人もいる場合、彼女は、ラップトップ80のような、もっと個人的なデバイスにおいて彼女の電子メールを見たいと考えられる。以下に、ユーザーが受信するコンテンツ、ならびにそれが提示されるやり方および条件を制御するためにユーザーによって設定することができるユーザー好みのいくつかの例を定める。システム10の各ユーザーは、彼ら自身のユーザー好み42を指定し、彼らのプロファイル40に保存することができる。
[0057] ユーザー好み42は、コンテンツ好み84を指定すること、ユーザーが受信することを望むコンテンツのタイプを指定することを含むことができる。コンテンツ好みは、例えば、電子メール、カレンダー、(social interaction websites)、写真アルバムというような個人的なコンテンツ、および/またはムービー、ニュース・フィード、音楽、および他のマルチメディア・コンテンツというような公開コンテンツを受信したいことの指定を含むことができる。コンテンツ好みは、ユーザーが興味のある広いカテゴリーのコンテンツを指定することができ、指定した時点において、これらのカテゴリーから不規則にコンテンツが選択されてもよく、またはユーザーによって指定される何らかの関連性判断基準によって選択されてもよい。また、ユーザーは、例えば、ゲーミング・アプリケーション、彼らの電子メール、または彼らのお気に入りのテレビジョン・ショーからのコンテンツというような、ユーザーが受信したい特定のコンテンツを指定することもできる。実施形態では、コンテンツ好み84は、ペアレンタル・コントロール(parental control)、あるいはユーザーが受信しないまたは受信することができないコンテンツの他の何らかの定め(definition)を組み込むこともできる。尚、多種多様な他の分類および判断基準にしたがって、コンテンツ好み84においてコンテンツを指定してもよいことは言うまでもない。
[0058] ユーザー好み42は、更に、デバイス好み(device preference)の指定も含むことができ、ユーザーが指定されたコンテンツを受信することを望むデバイスを意味する。例えば、ユーザーは、彼らが彼らのビデオ・コンテンツをディスプレイ14において受信し、彼らの電子メールをラップトップ80において受信し、テキスト・メッセージを移動体デバイス82において受信し、音楽を専用サウンド・システムにおいて受信することを指定することもできる。デバイス好み86は、コンテンツ好み84において指定されるコンテンツ毎またはコンテンツ・タイプ毎に設定することもできる。ユーザーは、所与のコンテンツが、デバイス好み86において指定されたデバイスのみで表示されることを指定することもできる。あるいは、ユーザーは、主要な選考と、彼らの主要なデバイスが彼らの選択したコンテンツを表示できない場合の1つ以上のバックアップの好みとを指定することもできる。デバイス好みが所与のコンテンツに対して設定されていない場合、そのコンテンツを提示するために利用可能な最適なデバイスを選択するデフォルトの設定に基づいてそのコンテンツを提示することができる。ユーザーは、通例、マルチタスクであり、同時に複数の指定デバイスにおいて複数のコンテンツ・フィードを受信するように彼らの好みを設定できることを意味する。
[0059] 更に、ユーザーが時間ベース好み(temporal-based preference)88をユーザー好み42において指定することもできる。時間ベース好みは、コンテンツ好み84において指定されたコンテンツをユーザーが受信することを望むときに関する。異なるコンテンツが異なる時点における受信のために指定される場合がある。例えば、週日の朝仕事の前に、ユーザーは、最新の出来事のニュース・フィードおよび彼らのカレンダーをディスプレイ14において受信し、彼らの電子メールを彼らの移動体デバイス82において受信するというような、第1グループの設定を有することができる。週日の夕刻には、ユーザーは、その日の写真を受信し、ムービーのような、恐らくは受動的なマルチメディアを受信するというような、第2グループの設定を有することができる。週末には、ユーザーは、例えば、1つ以上の公開カレンダーから娯楽活動の知らせを受信するために、第3グループの設定を有することができる。以上のことは一例であり、ユーザーはどのようなコンテンツをいつ受信するかについての時間的好みを任意の方式で定めることができることは認められよう。
[0060] ユーザー好み42は、更に、1人/グループ・ベース好み90も含むことができる。ユーザーが1人きりでいる場合には第1の方法でコンテンツを体験することを望み、彼らが1人きりではない場合には第2の異なる方法でコンテンツを体験することを望むという場合が生ずることもある。彼らは、1人きりでいる場合には個人的なコンテンツを公開ディスプレイ14において表示したいが、他の人が部屋にいる場合には、ラップトップ82というような、もっと個人専用のディスプレイにおいてそのコンテンツを見ることを望むこともあり得る。この好みは、例えば、公開ディスプレイ14において表示されるコンテンツが他の人には興味がないときに、そのコンテンツが他の人に迷惑になることをユーザーが望まない場合というように、プライバシーの問題には関係しないのであってもよい。理由には関係なく、ユーザーは任意の数の1人/グループ・ベース好み90をユーザー好み42に設定することができる。1人/グループ・ベース好み90は、他のユーザーのこのみに記載されているコンテンツ提示は、ユーザーが1人きりなのかまたは他の人もいるのかに基づいて、どのように変更すればよいかについて定める。
[0061] 1人/グループ・ベース好み90は、単に、環境5内にユーザーが1人きりでいるときと1人きりではないときとの間で区別する設定を有するのであればよい。あるいは、1人/グループ・ベース好み90は、もっと大きな解決策を有しても良く、部屋に他にも誰かがいるか否かだけでなく、その追加の1人または複数の人が誰なのかにも基づいて、ユーザーが異なるコンテンツ提示の好みを設定することを可能にするのでもよい。つまり、ユーザーは、彼らが1人きりでいる場合のコンテンツ配信に対するデフォルト好み、第1グループの1人以上の人がいる場合の第1の代替設定、第2グループの1人以上の人がいる場合の第2代替設定等を設定することができる。
[0062] 多種多様な可能な例の1つとして、ユーザーは、彼らが1人きりでいる場合、ツイッター・フィードおよび彼らの電子メールをディスプレイ14に表示するユーザー好みを有することもできる。例えば、1人以上の友人というような、第1グループの定められた個人からの人が部屋に入ってきたとき、電子メールはディスプレイ14からラップトップ80に移動するが、ツイッター・フィードはディスプレイ14に残っていてもよい。例えば、親のような、第2グループの定められた個人からの人が次に部屋に入ってきたとき、ツイッター・フィードは公開ディスプレイからユーザーの移動体デバイス82に移動するとよく、またはツイッター・フィードは完全に停止してもよい。この例では、ユーザーが1人きりでいる場合、ツイッター・フィードや電子メールを公開ディスプレイ14において見ており、第2グループからの人が入って来ると、電子メールがラップトップ80に移動することができ、ツイッター・フィードもユーザーの移動体デバイスに移動することができる。この場合も、この例示は一例に過ぎず、ユーザーは1人/グループ・ベース好み90のあらゆる変形を自由に定めることができる。上の例では、誰かが部屋に入ってきたときに、ユーザーはコンテンツを公開ディスプレイ14からもっと個人専用のディスプレイに移動させた。この逆も可能であり、ユーザーが個人専用の画面上でコンテンツを体験しており、所与のグループの個人が部屋に入ってきたときに、そのコンテンツをもっと公のディスプレイ(more public display)14に移動させるように、1人/グループ・ベース好み90における好みを設定し、彼らが全員一層容易にコンテンツを体験できるようにするのであってもよい。
[0063] 先に示したように、人は、彼らのセルラ電話機のような移動体デバイスを彼らと共に頻繁に携行し、これらのデバイスが環境5内であるデバイスの範囲に入ったときに、環境5において他のデバイスと対をなすことができる。セルラ電話機が計算機12、80、および82(または環境5内における他の計算デバイス)の1つ以上の範囲の入ったとき、これは、他の人が部屋に入ってきたという指示を与えることができ、こうして、1人/グループ・ベース好み90において設定されている好みの内1つ以上をトリガーすることができる。これは、例えば、ユーザーがキャプチャー・デバイス20のカメラの視野、またはキャプチャー・デバイス20のマイクロフォンの範囲内に入るというように、他の方法でも行うことができる。また、これらのメカニズムは、新たな人を特定することができるとよい。他の人が部屋に入ってきたときを判定するために他の方法やメカニズムを使用してもよく、その内少なくとも一部は、入ってきた人の識別も判定できるとよい。
[0064] 新たな人が部屋に入ってきて、1人/グループ・ベース好み90におけるある設定によるコンテンツ配信の変化をトリガーすると、本システムはユーザーに、行われた変化を望むか否かチェックするように促すことができる。あるいは、システムが促すことなく、変化が単に自動的に行われるのでもよい。システムが最初に促すかまたは単にコンテンツを変更するかは、ユーザーによって設定することができる。
[0065] 指定することができる他のユーザー好みに、感情ベース・ユーザー好み92がある。先に説明したように、本技術の実施形態は、ユーザーの気分または感情的状態を検出することができる場合がある。感情ベース・ユーザー好み92は、例えば、気分/感情的状態72によって示されるように、ユーザーがユーザーの気分または感情的状態に基づいてコンテンツ配信好みを設定することを可能にする。尚、多種多様なユーザー好みの内任意のものを、感情ベース・ユーザー好み92に設定できることは言うまでもない。ユーザーは、気分/感情的状態72の1つ以上のカテゴリーの各々について、特定のソングまたはビデオというような、特定のコンテンツを指定することができる。例えば、ユーザーが悲しいとき、彼は彼のお気に入りのソングを聴くこと、励みになるムービーを見ること、または彼のお気に入りのゲームをプレーすることを望むと考えられる。ユーザーが激怒しているとき、彼は落ち着くコンテンツを望むと考えられる。所与の気分/感情的状態の検出に対して、ユーザーは特定のコンテンツを設定することができ、または広いコンテンツの分類を指定し、この中から不規則にまたはユーザーによって指定される何らかの関連性判断基準によって、特定のコンテンツが選択されるのでもよい。代わりに、ユーザーは気分/感情的状態を一緒に纏めてグループにして、このグループにおける任意の気分/感情的状態が状態72によって示されたときに、指定されたコンテンツが配信されるようにするのでもよい。
[0066] 先に注記したように、感情的状態は、所与の刺激に対する一過性のそして一時的な応答に過ぎないと考えられ、気分の方が長く維持されることが多い。したがって、代替実施形態では、感情ベース・ユーザー好み92において定められる好みは、感情的状態ではなくて、気分の検出に基づいてもよい。このようにすると、本システムは、感情的状態の変化が検出される毎に、常に新たなコンテンツを推奨しなくなる。実施形態では、本システムは、感情的状態が維持される時間長に基づいて、気分と感情的状態との間で区別することができる。感情的状態が予め定められた時間期間にわたって維持された場合、これを気分と見なすことができる。
[0067] プロファイル40における他のユーザー好みは、学習好み(learned preference)94とすることができる。これらは、ユーザーによって設定されたのではなく、実際に環境5においける1つ以上の計算デバイスによって学習されユーザー好み42に追加された好みである。例えば、本システムは、ある時点で、またはある気分のときに、ユーザーが通例特定のコンテンツ、または特定のカテゴリーからのコンテンツを求めることを、ときの経過と共に学習することができる。本システムは、どのデバイスが特定のコンテンツのために通例使用されるのか、ときの経過と共に学習することができる。ときの経過と共に学習されるこれら好みは、学習好み94として、ユーザー好み42に自動的に追加することができる。勿論、ユーザーは、学習好みが追加されてもよい程度や、特定の学習されたコンテンツが推奨されたときに、学習好み94に追加されるか否かを制御することができる。実施形態では、学習好みが省略されてもよく、またはユーザーが学習好み94を完全に無効にしてもよい。
[0068] 以上で定められたユーザー好みの等級は一例に過ぎず、他の実施形態ではこれらの内1つ以上を省略してもよい。尚、ユーザー好み42内において上で説明したものに加えて、またはこれらの代わりに、他のユーザー好みの等級を定めて使用してもよいことは言うまでもない。
[0069] ユーザー好みを設けることに加えて、ユーザーは、更に、これらのユーザー好みをどのように、そしてどのような優先順位で適用すべきか、定めることもできる。多くの異なる可能性の1つとして、ユーザーは、コンテンツ好み84、デバイス好み86、時間ベース好み88、および1人/グループ・ベース好み90(これらの各々は、互いと調和して実現されるとよい)にしたがってコンテンツが配信されるときのデフォルトを指定することができる。更に、ユーザーは、例えば、1つ以上の気分/感情的状態が検出された場合、これがコンテンツ好み84、デバイス好み86、時間ベース好み88、および/または1人/グループ・ベース好み90の内1つ以上を押しのけて、気分/感情的状態好み92に定められているやり方でコンテンツが提示されるように指定することもできる。この実現例は一例に過ぎず、種々の他の階層もユーザー好みにおいて定めることができる。
[0070] 更に、ユーザーは優先順位設定96も定めることができる。この設定96は、ユーザーのコンテンツ提示好みが、環境5において1つ以上のデバイスを同様に使用している第2のユーザーのユーザー好みと対立する場合に使用される。一例では、ユーザーは1人以上の他のユーザーを指定することができ、そのユーザー好みは、対立の場合に、ふたりのユーザー間で優先されることになる。例えば、第1および第2ユーザーの双方が、彼らのユーザー好みが他の人よりも優先されるように定めるということが起こる場合もある。この場合、優先順位設定96があってもこの対立は解決されない。ここでは、本システムは、可聴および/または可視プロンプトを供給し、これらのユーザーに、彼らがどのようにこの対立を解決したいか、そしてどのコンテンツを供給すべきか指定するように頼むことができる。
[0071] 以下で説明するが、本技術の目標は、これらのユーザーが双方とも(または全員)環境5と対話処理しているときにユーザー間で共通の関心を発見すること、および特定された共通性に一致するコンテンツを提示することである。以下で説明するが、最初に対立を探すことができ、発見された場合、ユーザーの優先順位設定96によって解決することができる。その後、システムは共通性を探すことができる。
[0072] ふたり以上のユーザー間の対立が、彼らのそれぞれのユーザー好みに起因する場合、本システムは最初にこれらのユーザーのそれぞれの優先順位設定96を調べて、この対立を解決することができる。しかしながら、ユーザーの優先順位設定96がこの対立を解決しないということが生ずる場合もある。ユーザーが優先順位設定を有していないかもしれず、所与の対立に該当する優先順位設定を有していない場合もある。代わりに、前述のように、それぞれのユーザーの優先順位設定96が、対立する方法で対立を解決することもできる(例えば、双方が彼らのコンテンツが優先されることを指定する)。この場合、本システムは、可聴および/または可視プロンプトを供給して、ユーザーがどのようにこの対立を解決したいか、そしてどのコンテンツを供給するか指定するように、ユーザーに頼むことができる。
[0073] 以上で説明した好みを使用して、計算デバイス12(または環境5における他の計算デバイス)は、ユーザーがいることを環境が確認したときに、このユーザーに提示するコンテンツを自動的に選択することができる。本システムは、それを供給する前に、コンテンツの推奨をユーザーに促すことができる。あるいは、本システムは、単に、ユーザー好み42に示されるように、ユーザーがひいきにするコンテンツの内最も一致するものを提示することもできる。先に示したように、ユーザーに推奨を促すのか、または単にコンテンツを提示するのかは、ユーザー好みによって設定することができる。
[0074] 先に注記したように、ユーザー好み42は、環境5と対話処理するユーザー18毎に定めることができる。実施形態では、更に、グループ・ユーザー好み98も定めることができる。ユーザーは、最初にグループ・メンバーを定め、次いで、本システムがこれらのグループ・メンバーがいることを検出したときに、どのコンテンツをどのようにそしていつこのグループに配信すべきか(先に定められたユーザー好みの等級の内1つ以上において)定めることができる。つまり、例えば、夫18bが彼の妻18aおよび彼のために、彼らがいるときの第1のグループ設定をグループ好み98において定めることができ、彼の娘18Cおよび彼のために、彼らがいるときの第2のグループ設定をグループ好み98において定めることができ、更に、3人全員がいるときの第3のグループ設定を好み98において定めることができる。多種多様の他のユーザー・グループも、友人、ゲームの対戦相手、および他のユーザー・グループ間で定めることができる。
[0075] ふたりの異なるユーザーが、同じグループ・メンバーを有するグループを定めるが、共通に定められたグループに対して異なるユーザー好みが設定されるということも起こる可能性がある。また、複数のユーザーがおり、1人のユーザーがこれらユーザーの一部または全部をカバーするグループ定義を有するが、他のグループ・メンバーはこのグループ定義を有さないということも起こる可能性がある。グループが存在するが、グループを全体としてカバーする一貫性のあるグループ好み98が設定されていない場合には、他の可能性も存在することもある。これらの場合、前述のように対立を解決するために優先順位設定96を使用することができ、または対立を解決するようにユーザーに促すこともできる。加えて、本システムは、グループ・メンバー間の共通性を探し、見つかった場合、全てが受信することを望むと思われるコンテンツを推奨することができる。
[0076] これより、本技術の種々の実施形態の動作を示すフローチャートについて、図4Aから図6Bを参照しながら説明する。図4Aおよび図4Bの実施形態では、本システムは、1人以上のユーザーの識別に基づいて、コンテンツをカスタム化する。この実施形態は、気分/感情的状態72やユーザーの注意深さ74を考慮に入れない。図5Aおよび図5Bは、ユーザーに対してコンテンツをカスタム化するときに、ユーザーの識別および気分/感情的状態72の双方を考慮に入れる実施形態を示す。図6Aおよび図6Bは、コンテンツをユーザーに推奨するときに、ユーザーの注意深さ74を考慮に入れる実施形態を示す。
[0077] これより図4Aを参照すると、ステップ150において、環境5内における計算デバイスの1つ以上がユーザーの存在を検出する。この例ではユーザーAと呼ぶ。これは、例えば、ユーザーによって携行されているデバイスが環境5内のデバイスと対をなすことによって検出することができ、または前述のように、キャプチャー・デバイス20によってユーザーが検出される。ステップ152において、本システムはユーザーAの識別を判定しようとすることができる。実施形態では、これは、前述のように、および/または他の識別メカニズムによって判定され、識別70(図2)として格納することができる。本システムがユーザーAを特定することができない場合、ユーザーAに対するコンテンツのカスタム化(ステップ154)は行われず、本システムによるコンテンツのカスタム化は行われなくてもよい。
[0078] ステップ152においてユーザーAが特定された場合、本システムは、次に、ステップ158においてユーザーAに対するユーザー好み42をサーチして、ユーザーに対してカスタム化されたコンテンツ、およびそれを提示するやり方を特定することができる。ステップ162においてコンテンツに対するユーザー好みが特定されない場合、ユーザーAに対するコンテンツのカスタム化(ステップ154)は行われず、コンテンツのカスタム化は実行されない。ステップ162においてコンテンツが特定されたと仮定すると、本システムは、ステップ164において、コンテンツを提示するために利用可能なデバイスがあるか否かチェックする。ない場合、本システムはユーザーAに通知し、デバイスが利用可能になるまで待つことができる。あるいは、ユーザーAに対するコンテンツのカスタム化は、ステップ154において行われなくてもよい。他の人のコンテンツが既に利用可能なデバイスにおいて表示されているために、利用可能なデバイスがない場合、前述のように対立解決ステップを実行することができる。
[0079] ステップ162においてカスタム化されたコンテンツが特定され、ステップ164において1つ以上のデバイスが利用可能であると仮定すると、ステップ166においてカスタム化されたコンテンツがユーザーに推奨される。受け入れられた場合、ステップ170において、コンテンツは、ユーザーAの好みにしたがってこのユーザーに提示される。前述のように、特定されたコンテンツを提示する前にそれを推奨することの代わりに、特定されたコンテンツが単にコンテンツを提示すればよいことも考えられる。
[0080] ステップ174において、本システムは、1人以上の追加のユーザーが部屋に入ってきたか否か(または環境5に対する他の設定)チェックする。入ってきた場合、本システムは、図4Bに関して以下で説明するステップ180を実行する。追加のユーザーが検出されない場合、本システムは、ステップ176において、提示されたコンテンツが終わりまで達したか否かチェックする。ステップ176において、推奨されたコンテンツが終わりに来ていたとき、本システムはステップ158に戻って、他の推奨コンテンツを探す。示されていないが、勿論、ユーザーは彼らが受信するコンテンツをいつでも中断および変更することができる。
[0081] ステップ174において1人以上の追加のユーザーが検出された場合、本システムは、ステップ180において、例えば、前述したようなキャプチャー・デバイス20によって、1人以上の新たなユーザーを検出する。ステップ184において、本システムは、ユーザーAが作った、任意の1人/グループ・ベース・ユーザー好み90を適用する。前述のように、この結果、提示されたコンテンツの変化、および/またはコンテンツが提示されるやり方の変化が生ずることができる。
[0082] ステップ186において、本システムは、前述のように、新たなユーザー(1人または複数)を特定することができるか否か判定を行う。特定できない場合、新たなユーザーを考慮した、コンテンツの他のカスタム化は実行されず、本システムは図4Aのステップ176に戻り、現在提示されているコンテンツが終了したか否か確認する。ステップ186において1人以上の新たなユーザーが特定されたと仮定すると、本システムは、ユーザーAがそのときに存在するユーザーのグループに適用される方針を有するか否かチェックする。有する場合、特定されたグループの方針にしたがって、ステップ190において、コンテンツを提示することができる。
[0083] ステップ192において、本システムは、ユーザーの内1人以上のユーザー好みに対立があるか否か判定を行う。対立がある場合、ステップ196においてこの対立を解決し、ステップ198において、決定されたコンテンツを提示することができる。先に論じたように、対立は、ユーザーのユーザー好み42における優先順位設定96にしたがって解決することができる。あるいは、本システムは、対立をどのように解決すべきか、ユーザーに促すこともできる。多くの可能なシナリオの1つとして、図1のユーザー18bが、例えば、彼の電子メールのようなコンテンツを受信しているとする。ユーザー18aが彼に加わったとき、ユーザー18aが方針を有することができ、その方針では、ユーザー18aおよび18bが一緒にいるとき、おそらくは夕刻では、彼らはムービーのような受動的コンテンツを受信することを望む。ユーザー18cが彼らに加わったとき、ユーザー18cは、彼女が「R」級のムービーを見ることができないことを示す方針を有することがあり得る。ユーザー18aおよび18bが「R」級のムービーを見ていた場合、本システムは、例えば、「PG」ムービーのまたは、3人全員が一緒に視聴することができるスポーツ番組のような、新たなコンテンツを推奨することができる。この例示は、一例に過ぎず、対立特定および解決ステップ192、196、および198にしたがって、多種多様な他のシナリオの内任意のものを実現することができる。
[0084] ステップ192において対立が検出されない場合、本システムは、ステップ200において、居合わせる全てのユーザーのユーザー・プロファイルをサーチして、ユーザー間の共通性を求める。ステップ202において、共通性が特定された場合、本システムは、ステップ206において、全てのユーザーが楽しむことができるコンテンツを推奨することができるとよい。一例として、本システムは、ユーザー毎のユーザー好み42においてコンテンツ好み84をサーチして、各ユーザーが共通して興味があると定めているコンテンツを試して特定する(try and identify)ことができる。例えば、各ユーザーが特定の音楽アーティスト、アルバム、またはソングを共通に指定しているかもしれず、この場合、このコンテンツをユーザーに推奨することができる。各ユーザーが同じゲームを楽しむこともでき、この場合、本システムはそのゲームをユーザーに推奨するとよい。各ユーザーが、特定の俳優、または共通のムービーを指定してある場合もあり、この場合、本システムは、全員が楽しむことができるムービーを推奨するとよい。ユーザー毎のユーザー・プロファイルは、ハイキングを共通の趣味として示すこともあり、この場合、ハイキングのコンテンツをユーザーに提供することができる。尚、多種多様な他の共通性も特定することができるとよいことは言うまでもない。
[0085] ユーザーは、ユーザー好み42以外に、彼らのユーザー・プロファイル40に彼ら自身について大量の情報を有することがある。実施形態では、本システムは、ユーザー好み42を超えて彼らのプロファイル40全般をサーチして、ユーザー間の共通性を特定することもできる(全てのプライバシー設定を尊重しつつ)。このように、例えば、本システムは、全てのユーザーが同じ故郷から来たこと、または同じ学校に通っていたことを判定し、そのトピックについてのコンテンツを提供する(offer to provide)ことができる。
[0086] ステップ210において、推奨コンテンツがグループによって受け入れられた場合、これを提示することができる。受け入れられない場合、または共通性が特定されない場合、本システムは、ユーザーAに提示されていたコンテンツを提示し続けることができる。あるいは、ユーザーが異なるコンテンツを選択することもできる。グループの内数人のユーザーのみに共通性が見いだされた場合、この共通性に基づいたコンテンツをステップ206において推奨することもできる。
[0087] ステップ212において、本システムは1人以上の追加のユーザーが環境から去って、ユーザーAが再び1人きりになったか否か判定を行うことができる。1人きりになった場合、本システムは再度ユーザーAのユーザー好みをサーチして、ユーザーAが1人きりであるときのカスタム化コンテンツを求めるステップ158(図4A)を再度実行することができる。ステップ212において、ユーザーAが1人きりではない場合、本システムは、ステップ214において、特定の配信されている1編のコンテンツ(content piece)が終了したか否かチェックすることができる。終了した場合、本システムは、ユーザーが共通に共有することができる他のコンテンツを探すステップ200を再度実行することができる。本システムは、ユーザーが再度1人きりでいるか否か検出するステップ212と、コンテンツが終了したときを検出するステップ214との間で、これらの判定の1つが肯定的になるまで、繰り返すことができる。
[0088] 図4Aおよび図4Bにおいて述べたステップは、ユーザーを特定し、このユーザーによって定められた1つ以上のユーザー好みにアクセスすることによって、ユーザーに提示するためにコンテンツをカスタム化することができる実施形態を例示するための一例に過ぎない。尚、本技術の他の実施形態では、これらのステップの内1つ以上を省略しても、または異なる順序で実行してもよく、あるいは他のステップを追加してもよいことは言うまでもない。
[0089] 図5Aおよび図5Bに関してこれより説明する実施形態は、図4Aおよび図4Bの実施形態に類似するが、感情的状態の視覚的指示を検出することができ、感情ベース・ユーザー好み92を検出できることが追加されている。次いで、本システムは、少なくとも部分的に、ユーザーの感情的状態に基づいて、カスタム化したコンテンツをユーザーに提示することができる。図5Aおよび図5Bは、ユーザーAを検出するステップ220、およびユーザーAを特定しようとするステップ224から開始する。ステップ224においてユーザーAが特定された場合、本システムは次にステップ230において、ユーザーについての気分および/または感情的状態を特定する。気分および/または感情的状態は、気分および感情の視覚的指示を測定するユーザーの気分/感情的状態72によって提供することができる。
[0090] 他の実施形態では、気分および/または感情的状態は、他のメカニズムによって提供することもできる。例えば、コンテキスト指標(contextual indicia)も、気分または感情を確定または確認する指示として使用することができる。一例として、ユーザーのカレンダー、地方のカレンダー、または国のカレンダーが、ユーザーを所与の気分にすることが多い催しを示すこともある。ユーザーの誕生日があることを示すカレンダーの催し、あるいは地方の祭りを示すまたはそれが7月4日にあることを示すカレンダーの催しは全て、ユーザーが良い気分になる可能性があることの推論として使用することができる。逆に、悲しい出来事を示すカレンダーの催しは、ユーザーが悪い気分になるかもしれないことの推論として使用することができる。
[0091] 一旦ステップ230において感情的状態が判定されたなら、本システムは、ステップ232においてユーザーAのユーザー好みをサーチして、ユーザーAに提示するコンテンツを決定する。ステップ232は、図4Aにおけるステップ158と同一であるが、図45Aのステップ232が、感情ベース・ユーザー好み92を考慮に入れることを含むことを除く。先に示したように、このユーザー好みは、ユーザーの気分および/または感情的状態に合わせて、コンテンツを特別に作るために使用することができる。ユーザーが幸せ、悲しい、激怒、興奮、驚き、退屈、または何らかの他の気分にあるときにユーザーが受信したいコンテンツのタイプは、ユーザー毎に異なる。ユーザーは、悲しいときまたは怒っているときには、例えば、ムービーを見るというような、より受動的および/または潜在的(immersive)体験を指定すると考えられる。ユーザーは、幸福なとき、悲しいとき等には、ある種の音楽を受信することを好むと考えられる。コンテンツに関する任意の個人的好みを、異なる気分または感情的状態に応答して、感情ベース・ユーザー好み92に設定することができる。つまり、本システムがこれらの状態の内1つを検出したとき、ステップ232において、どのようにそしてどのような優先順位でユーザー好みを適用すべきかについて定められた階層にしたがって、その気分/感情に対応するコンテンツをユーザーに提示することができる。
[0092] 図5Aおよび図5Bのフローチャートにおける残りのステップは、図4Aおよび図4Bにおいて同じ番号が付けられたステップと同一にすることができる。図5Aおよび図5Bのステップは、ユーザーおよびユーザーの気分/感情的状態を特定し、ユーザー好みに基づいてユーザーに対してカスタム化したコンテンツを提示することによって、コンテンツをユーザーに提示することができる実施形態を例示するための一例に過ぎない。尚、本技術の他の実施形態では、図5Aおよび図5Bにおけるステップの内1つ以上を省略しても、または異なる順序で実行してもよく、あるいは他のステップを追加してもよいことは言うまでもない。
[0093] 図6Aおよび図6Bは、コンテンツに対するユーザーの注意深さが判定される他の実施形態であり、判定された注意深さに部分的に基づいて、動作が行われる。図6Aおよび図6Bの実施形態は、ユーザーおよび/またはユーザーの感情的状態を特定することに基づいてコンテンツをカスタム化し自動的に提示する実施形態と共に使用することができる。しかしながら、以下で説明するように、本システムは、本システムがユーザーまたは彼らの感情的状態を特定することができない場合でも、判定されたユーザーの注意深さに基づいて動作を行うことができる。
[0094] これより図6Aおよび図6Bを参照すると、ステップの多くは、先に説明したものと同一である。ステップ250において、ユーザーAが検出され、ステップ252において、ユーザーAが特定される。システムがユーザーを特定することができない前述の実施形態とは異なり、本実施形態は、ユーザーがステップ254において手動でコンテンツを選択し継続することを可能にするのでもよい。ユーザーAが特定された場合、本システムは、ステップ258において、ユーザーAのユーザー好みをサーチして、どのコンテンツをユーザーAに配信すべきか、そしてそれを配信するやり方を決定することができる。ステップ262においてコンテンツが特定され、ステップ264において、このコンテンツを提示するために1つ以上の利用可能なデバイスがある場合、本システムは、ステップ266において、そのコンテンツを推奨することができる。このコンテンツが受け入れられた場合、ステップ270においてユーザーに提示することができる。
[0095] ステップ274において、本システムは、追加のユーザーがいるか否か判定を行うことができる。いる場合、本システムは図6Bにおけるステップ180を実行することができる。いない場合、本システムは、ステップ276において、ユーザーの注意深さを判定する。具体的には、先に論じたように、ユーザーの注意深さは、ユーザーの注意深さ74において判定し特定することができ、一例では、「低い」、「中位」、または「高い」として分類することができる(しかし、他の分類も可能である)。
[0096] ステップ280において、本システムは、コンテンツに対するユーザーの注意深さの格付けが、予め定められたしきい値よりも低いか否かチェックする。このしきい値は、例えば、中位と低いとの間に、注意深さ74に対して任意に設定することができる。このような例では、ユーザーの注意深さ74が中位よりも低い場合、ステップ286において、ユーザーに、彼らが受信しているコンテンツを変更したいか否かに関して、ユーザーに促すことができる。ユーザーがステップ288において受け入れた場合、ユーザー好みを再度ステップ258においてサーチして、ユーザーに提供する新たなコンテンツを求める。尚、複数のユーザーがいる場合、これらのユーザーの内任意のものが、彼らがコンテンツの変更を望んでいる指示を出すのでもよいことは言うまでもない。この場合、本システムは、先に説明したように、グループのためにコンテンツを探すことができる。
[0097] 一方、ステップ280において、ユーザーの注意深さ74が、予め定められたしきい値よりも高い場合、またはユーザーがステップ288において催促に応答して、現在のコンテンツを続けることを選択した場合、現在のコンテンツを維持することができる。この場合、本システムはステップ282においてコンテンツが完了したか否かチェックする。完了した場合、ステップ258において、新たなコンテンツが選択される。本システムは、ステップ282における新たなコンテンツをチェックすることと、ステップ274における追加のユーザーを探すこととの間で繰り返し、繰り返す毎に、注意深さ74がしきい値未満に低下していないか否かステップ280においてチェックする。
[0098] 実施形態では、しきい値は、時間的要素を組み込むことができ、ステップ286においてユーザーがコンテンツを変更することを望むか否かについてユーザーに促す前に、本システムはステップ280においてしきい値未満の注意深さ74の複数のインスタンスを検出する必要があることを意味する。注意深さ74がしきい値未満(または未満の平均値)でなければならない時間長は、任意に設定することができ、異なる実施形態では変化してもよい。
[0099] 図6Aおよび図6Bのフローチャートにおける残りのステップは、図4Aおよび図4Bにおいて同じ番号が付けられたステップと同一にすることができる。図6Aおよび図6Bのこれらのステップは、受信したコンテンツに対するユーザーの注意深さを特定することによって、ユーザーに提示するためにコンテンツをカスタム化することができる実施形態を例示する一例に過ぎない。尚、本技術の他の実施形態では、図6Aおよび図6Bにおけるステップの内1つ以上を省略しても、または異なる順序で実行してもよく、あるいは他のステップを追加してもよいことは言うまでもない。
[00100] 実施形態では、注意深さ74は、所与のコンテンツに対して推奨エンジン(recommendations engine)を構築するためにも使用することができる。具体的には、注意深さ74は、所与のコンテンツを格付けすることができる客観的な判断基準を与える。複数のユーザーが、第1のコンテンツを体験している間、目をそらせる、あくびをする、他のデバイスを操作することが多く、第2のコンテンツを体験している間は注意を払うことが多い場合、これは、第1のコンテンツが第2のコンテンツよりも関心が低いことの客観的な証拠となり得る(少なくとも何らかの共通の興味を有する個人のグループにとっては)。ユーザーが目をそらせたり、あくびをしたり、注意深さの欠如の他の客観的証拠を行う実際の回数を、多種多様のコンテンツについて、母数サンプルにわたって記録するとよい。次いで、母数サンプルの注意深さに基づいて、各コンテンツを他のコンテンツに対して相対的に格付けすることができる。この情報は、格納しておき、どのコンテンツを受信するか決定するときに、他のユーザーに利用可能にすることができる。
[00101] ジェスチャー認識エンジン46、顔認識エンジン52、ボディ・ランゲージ・エンジン58、および/または音声認識エンジン64は、同様に、例えば、1編のコンテンツが他のコンテンツに対して相対的に、どの位おもしろいか、悲しいか、怖いか、ロマンティックか、興奮するか等、他の要素に関してコンテンツを格付けするためにも使用することができる。
[00102] 図7Aは、例えば、計算デバイス12として使用することができる計算環境の一実施形態例を示す。計算デバイス12は、ゲーミング・コンソールのような、マルチメディア・コンソール300とすることができる。図7Aに示すように、マルチメディア・コンソール300は、レベル1キャッシュ302、レベル2キャッシュ304、およびフラッシュROM(リード・オンリー・メモリー)306を有する中央処理ユニット(CPU)301を有する。レベル1キャッシュ302およびレベル2キャッシュ304は、一時的にデーターを格納し、こうしてメモリー・アクセス・サイクルの回数を減らすことによって、処理速度およびスループットを向上させる。CPU301は、1つよりも多いコアを設けることができ、したがって追加のレベル1およびレベル2キャッシュ302および304を有することもできる。フラッシュROM306は、実行可能コードを格納することができる。実行可能コードは、マルチメディア・コンソール300に電源を入れたときに、ブート・プロセスの初期段階中にロードされる。
[00103] グラフィクス処理ユニット(GPU)308およびビデオ・エンコーダー/ビデオ・コデック(コーダー/デコーダー)314は、高速および高分解能グラフィクス処理のためにビデオ処理パイプラインを形成する。データーは、バスを介して、GPU308からビデオ・エンコーダー/ビデオ・コデック314に伝達される。ビデオ処理パイプラインは、テレビジョンまたは他のディスプレイに送信するために、データーをA/V(オーディオ/ビデオ)ポート340に出力する。メモリー・コントローラー310がGPU308に接続されており、限定ではなく、RAMのような種々のタイプのメモリー312にプロセッサーがアクセスし易くなっている。
[00104] マルチメディア・コンソール300は、I/Oコントローラー320、システム管理コントローラー322、オーディオ処理ユニット323、ネットワーク・インターフェース・コントローラー324、第1USBホスト・コントローラー326、第2USBコントローラー328、およびフロント・パネルI/Oサブアセンブリ330を含む。これらは、好ましくは、モジュール318に実装されている。USBコントローラー326および328は、周辺コントローラー342(1)〜342(2)、ワイヤレス・アダプター348、および外部メモリー・デバイス346(例えば、フラッシュ・メモリー、外部CD/DVD ROMドライブ、リムーバブル媒体等)のためのホストとしての役割を果たす。ネットワーク・インターフェース324および/またはワイヤレス・アダプター348は、ネットワーク(例えば、インターネット、ホーム・ネットワーク等)へのアクセスに備えており、イーサネット(登録商標)・カード、モデム、Bluetooth(登録商標)モジュール、ケーブル・モデム等を含む広範囲にわたる種々の有線またはワイヤレス・インターフェース・コンポーネントの内いずれでもよい。
[00105] システム・メモリー343は、ブート・プロセスの間にロードされるアプリケーション・データーを格納するために設けられている。メディア・ドライブ344が設けられており、DVD/CDドライブ、ハード・ドライブ、またはその他のリムーバブル・メディア・ドライブを備えることができる。メディア・ドライブ344は、マルチメディア・コンソール300の内部にあっても外部にあってもよい。アプリケーション・データーには、実行、再生等のために、マルチメディア・ドライブ344を介してマルチメディア・コンソール300がアクセスすることができる。メディア・ドライブ344は、シリアルATAバスまたはその他の高速接続(例えば、IEEE1394)のようなバスを介して、I/Oコントローラー320に接続されている。
[00106] システム管理コントローラー322は、メディア・コンソール300の利用可能を確保することに関する種々のサービス機能を提供する。オーディオ処理ユニット323およびオーディオ・コデック332は、高忠実度およびステレオ処理を行う、対応のオーディオ処理パイプラインを形成する。オーディオ・データーは、通信リンクを介して、オーディオ処理ユニット323とオーディオ・コデック332との間で搬送される。オーディオ処理パイプラインは、外部オーディオ・プレーヤまたはオーディオ処理能力を有するデバイスによる再生のために、データーをA/Vポート340に出力する。
[00107] フロント・パネルI/Oサブアセンブリ330は、電力ボタン350およびイジェクト・ボタン352の機能をサポートするだけでなく、あらゆるLED(発光ダイオード)またはマルチメディア・コンソール300の外面上に露出されるその他のインディケータもサポートする。システム電源モジュール336は、マルチメディア・コンソール300のコンポーネントに電力を供給する。ファン338は、マルチメディア・コンソール300内部にある回路を冷却する。
[00108] CPU301、GPU308、メモリー・コントローラー310、およびマルチメディア・コンソール300内部にある種々の他のコンポーネントは、1つ以上のバスを介して相互接続されている。これらのバスには、シリアルおよびパラレル・バス、メモリー・バス、周辺バス、ならびに種々のバス・アーキテクチャの内いずれかを使用するプロセッサー・バスまたはローカル・バスが含まれる。一例として、このようなアーキテクチャーは、ペリフェラル・コンポーネント相互接続(PCI)バス、PCI-Expressバス等を含むことができる。
[00109] マルチメディア・コンソール300の電源を入れると、システム・メモリー343からメモリー312および/またはキャッシュ302、304にアプリケーション・データーがロードされ、CPU301において実行することができる。アプリケーションは、グラフィカル・ユーザー・インターフェースを提示することができる。このグラフィカル・ユーザー・インターフェースは、マルチメディア・コンソール300において利用可能な異なるタイプのメディアにナビゲートするときに、一貫性のあるユーザー体験を提供する。動作において、アプリケーションおよび/またはメディア・ドライブ344内に収容されている他のメディアをメディア・ドライブ344から起動または再生して、マルチメディア・コンソール300に追加の機能を設けることもできる。
[00110] マルチメディア・コンソール300は、単にシステムをテレビジョンまたはその他のディスプレイに接続することによって、単体システムとして動作させることができる。この単体モードでは、マルチメディア・コンソール300は、1人以上のユーザーがシステムと対話処理を行い、ムービーを見ること、または音楽を聞くことを可能にする。しかしながら、ネットワーク・インターフェース324またはワイヤレス・アダプター348によって利用可能となるブロードバンド接続機能を統合することにより、マルチメディア・コンソール300を更に大きなネットワーク・コミュニティにおける関与個体(participant)として動作させることもできる。
[00111] マルチメディア・コンソール300の電源をオンにすると、マルチメディア・コンソールのオペレーティング・システムによって、設定されている量のハードウェア・リソースがシステムの使用のために確保される。これらのリソースは、メモリー(例えば、16MB)、CPUおよびGPUサイクル(例えば、5%)、ネットワーク接続帯域幅(例えば、8kbs)等の確保を含むことができる。これらのリソースは、システムのブート時に確保されるので、確保されたリソースは、アプリケーションの視点からは存在しない。
[00112] 特に、メモリーの確保は、起動カーネル、コンカレント・システム・アプリケーション、およびドライバーを収容できる程に十分大きいことが好ましい。確保されたCPU使用枠(usage)がシステム・アプリケーションによって使用されない場合、アイドルのスレッドがいずれかの未使用サイクルを消費するように、CPUの確保は一定であることが好ましい。
[00113] GPUの確保に関して、GPU割り込みを使用してポップアップをオーバーレイにレンダリングするコードをスケジューリングすることによって、システム・アプリケーション(例えば、ポップアップ)が生成する軽量メッセージ(lightweight message)を表示する。オーバーレイに使用されるメモリー量は、オーバーレイのエリア・サイズによって異なり、オーバーレイは画面の解像度に合わせて拡縮小する(scale)ことが好ましい。コンカレント・システム・アプリケーションによってフル・ユーザー・インターフェースが使用される場合、アプリケーションの解像度とは独立した解像度を使用することが好ましい。周波数を変更しTVの同期を取り直す必要性をなくすように、この解像度を設定するためにスケーラー(scaler)を使用するとよい。
[00114] マルチメディア・コンソール300がブートして、システム・リソースが確保された後、コンカレント・システム・アプリケーションが実行してシステム機能を提供する。システム機能は、前述の確保したシステム・リソースの内部で実行する1組のシステム・アプリケーションの中にカプセル化されている。オペレーティング・システム・カーネルは、システム・アプリケーション・スレッドと、ゲーミング・アプリケーション・スレッドとの間でスレッドを識別する。一貫したシステム・リソース・ビューをアプリケーションに提供するために、システム・アプリケーションは、所定の時点および間隔でCPU301において実行するようにスケジューリングされていることが好ましい。このスケジューリングは、コンソール上で実行しているゲーミング・アプリケーションに対するキャッシュ破壊(disruption)を最少に抑えるためにある。
[00115] コンカレント・システム・アプリケーションがオーディオを必要とする場合、時間に敏感であるため、ゲーミング・アプリケーションには非同期にオーディオ処理をスケジューリングする。マルチメディア・コンソール・アプリケーション・マネージャー(以下で説明する)は、システム・アプリケーションがアクティブのとき、ゲーミング・アプリケーションのオーディオ・レベル(例えば、無音化、減衰)を制御する。
[00116] 入力デバイス(例えば、コントローラー342(1)および342(2))は、ゲーミング・アプリケーションおよびシステム・アプリケーションによって共有される。入力デバイスは、確保されるリソースではないが、各々がデバイスのフォーカス(focus)を有するように、システム・アプリケーションとゲーミング・アプリケーションとの間で切り換えられる。アプリケーション・マネージャーは、ゲーミング・アプリケーションの知識の知識を使用せずに入力ストリームの切換を制御し、ドライバーはフォーカス・スイッチ(focus switches)に関する状態情報を維持する。カメラ26、28およびキャプチャー・システム20は、コンソール300の追加の入力デバイスを定めることができる。
[00117] 図7Bは、ターゲット認識、分析、および追跡システムにおいて1つ以上の位置および動き(motion)を解釈するために使用される、計算環境720の他の実施形態例を示す。計算環境720は、図1Aから図2に示した計算環境12であってもよい。計算システム環境720は、適した計算環境の一例に過ぎず、本明細書において開示される主題の使用範囲または機能に関して、いかなる限定を示唆する意図もない。また、計算環境720が、例示の動作環境720において示されるコンポーネントの内、任意の1つのコンポーネントまたはコンポーネントの組み合わせに関して何らかの依存性または要件を有するように解釈してはならない。実施形態によっては、図示する種々の計算エレメントが、本開示の特定の形態をインスタンス化するように構成されている回路を含むこともあり得る。例えば、本開示において使用される回路という用語は、ファームウェアまたはスイッチによって機能(1つまたは複数)を実行するように構成されている特殊ハードウェア・コンポーネントを含むことができる。別の実施形態例では、回路という用語は、機能(1つまたは複数)を実行するために動作可能なロジックを具体化するソフトウェア命令によって構成される汎用処理ユニット、メモリー等を含むことができる。回路がハードウェアおよびソフトウェアの組み合わせを含む実施形態例では、実装者(implementer)は、ロジックを具体化するソース・コードを書くことができ、ソース・コードを機械読み取り可能コードにコンパイルすることができ、この機械読み取り可能コードを汎用処理ユニットによって処理することができる。技術的現状では、ハードウェア、ソフトウェア、またはハードウェア/ソフトウェアの組み合わせの間には殆ど差がないというところまで発展していることを当業者は認めることができるので、特定の機能を実行するためにハードウェアまたはソフトウェアのどちらを選択するかということは、実装者に委ねられた設計選択事項である。更に具体的には、ソフトウェア・プロセスを等価のハードウェア構造に変換することができ、更にハードウェア構造自体を等価のソフトウェア・プロセスに変換することができることを、当業者は認めることができる。つまり、ハードウェアの実現例およびソフトウェアの実現例のどちらを選択するかということは、実装者に委ねられた設計選択事項の1つである。
[00118] 図7Bにおいて、計算環境420は、コンピューター441を含む。コンピューター441は、通例、種々のコンピューター読み取り可能媒体を含む。コンピューター読み取り可能媒体は、コンピューター441がアクセス可能な入手可能な媒体であればいずれでも可能であり、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。システム・メモリー422は、リード・オンリー・メモリー(ROM)423およびランダム・アクセス・メモリー(RAM)460のような揮発性および/または不揮発性メモリーの形態で、コンピューター記憶媒体を含む。基本入出力システム424(BIOS)は、起動中のように、コンピューター441内のエレメント間における情報転送を補助する基本的なルーチンを含み、通例ROM423内に格納されている。RAM460は、通例、処理ユニット459が直ちにアクセス可能であるデーターおよび/またはプログラム・モジュール、または現在これによって処理されているデーターおよび/またはプログラム・モジュールを収容する。一例として、そして限定ではなく、図7Bは、オペレーティング・システム425、アプリケーション・プログラム426、その他のプログラム・モジュール427、およびプログラム・データー428を示す。更に、図7Bは、グラフィクス・プロセッサー・ユニット(GPU)429も含む。グラフィクス・プロセッサー・ユニット429は、高速および高解像度グラフィクス処理および格納のために、関連するビデオ・メモリー430を有する。GPU429は、グラフィクス・インターフェース431を介して、システム・バス421に接続することができる。
[00119] また、コンピューター441は、その他のリムーバブル/非リムーバブル揮発性/不揮発性コンピューター記憶媒体も含むことができる。一例にすぎないが、図7Bは、非リムーバブル不揮発性磁気媒体からの読み取りおよびこれへの書き込みを行なうハード・ディスク・ドライブ438、リムーバブル不揮発性磁気ディスク454からの読み取りおよびこれへの書き込みを行なう磁気ディスク・ドライブ439、ならびにCD ROMまたはその他の光媒体のようなリムーバブル不揮発性光ディスク453からの読み取りおよびこれへの書き込みを行なう光ディスク・ドライブ440を示す。動作環境の一例において使用可能なその他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピューター記憶媒体には、限定する訳ではないが、磁気テープ・カセット、フラッシュ・メモリー・カード、ディジタル・バーサタイル・ディスク、ディジタル・ビデオ・テープ、ソリッド・ステートRAM、ソリッド・ステートROM等が含まれる。ハード・ディスク・ドライブ438は、通例、インターフェース434のような非リムーバブル・メモリー・インターフェースを介してシステム・バス421に接続され、磁気ディスク・ドライブ439および光ディスク・ドライブ440は、通例、インターフェース435のようなリムーバブル・メモリー・インターフェースによって、システム・バス421に接続する。
[00120] 先に論じそして図7Bに示すドライブおよびそれらと関連するコンピューター記憶媒体は、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、およびコンピューター441のその他のデーターを格納する。図7Bでは、例えば、ハード・ディスク・ドライブ438は、オペレーティング・システム458、アプリケーション・プログラム457、他のプログラム・モジュール456、およびプログラム・データー455を格納するように示されている。尚、これらの構成要素は、オペレーティング・システム425、アプリケーション・プログラム426、他のプログラム・モジュール427、およびプログラム・データー428と同じでも異なっていても可能であることを注記しておく。オペレーティング・システム458、アプリケーション・プログラム457、他のプログラム・モジュール456、およびプログラム・データー455は、ここで、少なくともこれらが異なるコピーであることを示すために、異なる番号が与えられている。ユーザーは、キーボード451、および一般にマウス、トラックボールまたはタッチ・パッドと呼ばれているポインティング・デバイス452のような入力デバイスによって、コマンドおよび情報をコンピューター441に入力することができる。他の入力デバイス(図示せず)には、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナー等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、ユーザー入力インターフェース436を介して、処理ユニット459に接続されている。ユーザー入力インターフェース436は、システム・バスに結合されているが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス(USB)によって接続することも可能である。カメラ26、28およびキャプチャー・デバイス20は、コンソール100の追加入力デバイスを定めることができる。モニター442またはその他のタイプの表示装置も、ビデオ・インターフェース432のようなインターフェースを介して、システム・バス421に接続されている。モニターに加えて、コンピューターは、スピーカー444およびプリンター443のような、その他の周辺出力装置も含むことができ、これらは出力周辺インターフェース433を通じて接続することができる。
[00121] コンピューター441は、リモート・コンピューター446のような1つ以上のリモート・コンピューターへの論理接続を使用して、ネットワーク環境において動作することも可能である。リモート・コンピューター446は、パーソナル・コンピューター、サーバー、ルータ、ネットワークPC、ピア・デバイス、またはその他の共通ネットワーク・ノードとすることができ、通例、コンピューター441に関して先に説明したエレメントの多くまたは全てを含むが、図7Bにはメモリー記憶装置447のみを示す。図7Bに示す論理接続は、ローカル・エリア・ネットワーク(LAN)445およびワイド・エリア・ネットワーク(WAN)449を含むが、他のネットワークも含むことができる。このようなネットワーク環境は、事務所、企業規模のコンピューター・ネットワーク、イントラネットおよびインターネットにおいては一般的である。
[00122] LANネットワーク環境で使用する場合、コンピューター441は、ネットワーク・インターフェースまたはアダプター437を介してLAN445に接続する。WANネットワーク環境で使用する場合、コンピューター441は、通例、モデム450、またはインターネットのようなWAN449を通じて通信を設定するその他の手段を含む。モデム450は、内蔵でも外付けでもよく、ユーザー入力インターフェース436またはその他の適切な機構を介してシステム・バス421に接続することができる。ネットワーク環境では、コンピューター441に関係付けて図示したプログラム・モジュール、またはその一部は、リモート・メモリー記憶装置に格納することもできる。一例として、そして限定ではなく、図7Bは、リモート・アプリケーション・プログラム448がメモリー・デバイス447に存在するものとして示している。尚、図示のネットワーク接続は一例であり、コンピューター間で通信リンクを設定する他の手段も使用可能であることは認められよう。
[00123] 以上の本発明のシステムについての詳細な説明は、例示および説明の目的で提示された。これは、網羅的であることも、本発明のシステムを、開示された形態そのものに限定することを意図するのではない。多くの変更や変形が、以上の教示に照らして、可能である。記載した実施形態は、本技術の原理およびその実用的な用途を最良に説明し、それによって当業者が本技術を種々の実施形態において、そして個々の考えられる使用に適するような種々の変更と共に、最良に利用することを可能にするために選択されたのである。本発明のシステムの範囲は、本明細書に添付されている特許請求の範囲によって定められることを意図している。