(57)【要約】  保護されたデータを推論するための方法及び装置。ユーザデバイスは、セキュアなメモリから保護されたデータを取得し、ユーザデバイスに記憶された１以上のニューラルネットワークモデルを用いて、保護されたデータについての推論を生成し、推論に少なくとも部分的に基づいて、ユーザデバイスのユーザインタフェースを更新する。セキュアなメモリは、ユーザデバイスのリッチな環境で実行されているアプリケーションからアクセス不可である。そして、いくつかの態様では、推論は、少なくとも部分的に、ユーザデバイスの信頼された環境で実行されるニューラルネットワークアプリケーションによって生成される。【選択図】  図６
2021536638.tif 000002
【特許請求の範囲】
【請求項１】
ユーザデバイスによる推論の方法であり、
前記ユーザデバイスのリッチな環境で実行されているアプリケーションからアクセス不可であるセキュアなメモリから、保護されたデータを取得することと、
前記ユーザデバイスに記憶された１以上のニューラルネットワークモデルを用いて、前記保護されたデータについての推論を生成することと、
前記推論に少なくとも部分的に基づいて、前記ユーザデバイスのユーザインタフェースを更新することと、
を含む、
方法。
【請求項２】
前記１以上のニューラルネットワークモデルが、前記セキュアなメモリに記憶されている、
請求項１の方法。
【請求項３】
前記推論が、少なくとも部分的に、前記ユーザデバイスの信頼された環境で実行されているニューラルネットワークアプリケーションによって生成される、
請求項１の方法。
【請求項４】
前記推論が、少なくとも部分的に、ニューラルネットワーク処理ユニット（ＮＰＵ）によって生成される、
請求項１の方法。
【請求項５】
前記保護されたデータが、前記ユーザインタフェースを介して表示又は再生されるべきプレミアムメディアコンテンツのためのピクセルデータを含む、
請求項１の方法。
【請求項６】
前記保護されたデータが、ユーザ入力のデータ、又は、前記デバイスのユーザについての個人情報を含む、
請求項１の方法。
【請求項７】
前記更新することが、
前記推論に少なくとも部分的に基づいて、前記ユーザインタフェースを介してコンテンツ又は推奨を出力する、
ことを含む、
請求項１の方法。
【請求項８】
前記セキュアなメモリに記憶された前記保護されたデータを含まないところのフィルタされたフィードバックデータを、前記推論に少なくとも部分的に基づいて、外部のネットワークに送信することを更に含む、
請求項１の方法。
【請求項９】
前記１以上のニューラルネットワークモデルを、前記推論に少なくとも部分的に基づいて更新することを更に含む、
請求項１の方法。
【請求項１０】
更新された前記ニューラルネットワークモデルを、ニューラルネットワークモデルを学習するために構成された外部のネットワークリソースに送ることを更に含む、
請求項７の方法。
【請求項１１】
ユーザデバイスであり、
ユーザインタフェースと、
処理回路部と、
セキュアなメモリと、
を備え、
前記セキュアなメモリは、前記処理回路部によって実行されたときに、前記ユーザデバイスに、
前記ユーザデバイスのリッチな環境で実行されているアプリケーションからアクセス不可である前記セキュアなメモリから、保護されたデータを取得することと、
前記ユーザデバイスに記憶された１以上のニューラルネットワークモデルを用いて、前記保護されたデータについての推論を生成することと、
前記推論に少なくとも部分的に基づいて、前記ユーザインタフェースを更新することと、
を実行させる命令を記憶している、
ユーザデバイス。
【請求項１２】
前記１以上のニューラルネットワークモデルが、前記セキュアなメモリに記憶されている、
請求項１１のユーザデバイス。
【請求項１３】
前記命令が、前記ユーザデバイスの信頼された環境で実行される、
請求項１１のユーザデバイス。
【請求項１４】
前記処理回路部が、ニューラルネットワーク処理ユニット（ＮＰＵ）を含む、
請求項１１のユーザデバイス。
【請求項１５】
前記保護されたデータが、前記ユーザインタフェースを介して表示又は再生されるべきプレミアムメディアコンテンツのためのピクセルデータを含む、
請求項１１のユーザデバイス。
【請求項１６】
前記保護されたデータが、ユーザ入力のデータ、又は、前記デバイスのユーザについての個人情報を含む、
請求項１１のユーザデバイス。
【請求項１７】
前記ユーザインタフェースの更新のための前記命令の実行が、前記ユーザデバイスに、
前記推論に少なくとも部分的に基づいて、前記ユーザインタフェースを介してコンテンツ又は推奨を出力する、
ことを実行させる、
請求項１１のユーザデバイス。
【請求項１８】
前記命令の実行が、前記ユーザデバイスに、
前記１以上のニューラルネットワークモデルを、前記推論に少なくとも部分的に基づいて更新する、
ことを更に実行させる、
請求項１１のユーザデバイス。
【請求項１９】
ユーザデバイスであり、
セキュアな状態又は非セキュアな状態で動作するように構成された処理回路部と、
セキュアなパーティションと、非セキュアなパーティションと、を有するメモリと、
を備え、
前記セキュアなパーティションは、前記セキュアな状態で動作している間に前記処理回路部によって実行されたときに、前記ユーザデバイスに、
前記非セキュアな状態で動作しているときの前記処理回路部からアクセス不可である前記セキュアなパーティショから、保護されたデータを取得することと、
前記セキュアなパーティションから１以上のニューラルネットワークモデルを取得することと、
前記１以上のニューラルネットワークモデルを用いて、前記保護されたデータについての推論を生成することと、
を実行させる命令を記憶している、
ユーザデバイス。
【請求項２０】
前記保護されたデータが、前記ユーザインタフェースを介して表示又は再生されるべきプレミアムメディアコンテンツのためのピクセルデータを含む、
請求項１９のユーザデバイス。
【請求項２１】
前記保護されたデータが、ユーザ入力のデータ、又は、前記デバイスのユーザについての個人情報を含む、
請求項１９のユーザデバイス。
【請求項２２】
前記命令の実行が、前記ユーザデバイスに、
前記推論に少なくとも部分的に基づいて、コンテンツ又は推奨を出力する、
ことを更に実行させる、
請求項１９のユーザデバイス。
【請求項２３】
前記非セキュアなパーティションが、前記処理回路部によって実行されたときに、前記ユーザデバイスに、
前記セキュアなメモリに記憶された前記保護されたデータを含まないところのフィルタされたフィードバックデータを、前記推論に少なくとも部分的に基づいて、外部のネットワークに送信する、
ことを更に実行させる命令を記憶している、
請求項１９のユーザデバイス。
【請求項２４】
前記命令の実行が、前記ユーザデバイスに、
前記１以上のニューラルネットワークモデルを、前記推論に少なくとも部分的に基づいて更新する、
ことを更に実行させる、
請求項１９のユーザデバイス。
【請求項２５】
前記非セキュアなパーティションが、前記処理回路部によって実行されたときに、前記ユーザデバイスに、
更新された前記ニューラルネットワークモデルを、ニューラルネットワークモデルを学習するために構成された外部のネットワークリソースに送信する、
ことを更に実行させる命令を記憶している、
請求項２４のユーザデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、一般には機械学習のためのシステム及びデバイスに関する。
【背景技術】
【０００２】
機械学習は、コンピュータシステム又はアプリケーションが特定のタスクを実行する能力を向上するための技術である。機械学習は、学習と推論の２つの構成部分に分類し得る。学習フェーズの間に、機械学習システムは“答え”と、該答えに関連付けられた大量の生データと、を供給される。例えば、機械学習システムは、大量の猫の写真、及び／又は、動画（例えば、生データ）と、供給されたメディアコンテンツが“猫”を含むという指標（例えば、答え）と、をシステムに供給することで、猫を識別するように学習される場合がある。機械学習システムは、そして、生データを解析して、答えを説明するために使用可能なルールのセットを“学習”する。例えば、システムは、生データに統計解析を実行して、“猫”という用語と関連付けられ得るルール（例えば、ひげ、脚、毛皮、四つ足、等）の共通のセットを決定する場合がある。ルールのセットは、ニューラルネットワークモデルと呼ばれる場合がある。推論フェーズの間に、機械学習システムは、ルールを新たなデータに適用して、該データについての答え又は推論を生成する場合がある。例えば、システムは、家族の写真を解析し、学習されたルールに基づいて写真が猫の画像を含んでいると決定する場合がある。
【発明の概要】
【０００３】
本概要は、以下の詳細な説明でさらに説明される、概念の選択を単純化された形態で紹介するために提供される。本概要は、請求された主題の範囲の鍵となる特徴や必須の特徴を特定することを意図せず、請求された主題の範囲を限定することを意図していない。
【０００４】
保護されたデータを推論するための方法及び装置が開示される。本開示の請求された主題の革新的な一態様は、ユーザデバイスによる推論の方法として実装され得る。いくつかの実施形態では、該方法は、ユーザデバイスのリッチな環境で実行されているアプリケーションからアクセス不可であるセキュアなメモリから、保護されたデータを取得することと、ユーザデバイスに記憶された１以上のニューラルネットワークモデルを用いて、保護されたデータについての推論を生成することと、推論に少なくとも部分的に基づいて、ユーザデバイスのユーザインタフェースを更新することと、を含む場合がある。
【０００５】
本開示の請求された主題の革新的な他の態様は、ユーザデバイスにおいて実装され得る。ユーザデバイスは、セキュアな状態又は非セキュアな状態で動作するように構成された処理回路部と、セキュアなパーティションと、非セキュアなパーティションと、を有するメモリと、を備える。セキュアなパーティションは、セキュアな状態で動作している間に処理回路部によって実行されたときに、ユーザデバイスに、非セキュアな状態で動作しているときの処理回路部からアクセス不可であるセキュアなパーティションから、保護されたデータを取得することと、セキュアなパーティションから１以上のニューラルネットワークモデルを取得することと、該１以上のニューラルネットワークモデルを用いて、保護されたデータについての推論を生成することと、を実行させる命令を記憶している。
【図面の簡単な説明】
【０００６】
示された実施形態は、例として図示されており、添付の図面の図によって限定されることを意図されたものでは無い。
【０００７】
【図１】図１は、いくつかの実施形態に係る、機械学習システムのブロック図を示す。
【０００８】
【図２】図２は、いくつかの実施形態に係る、ユーザデバイスのブロック図を示す。
【０００９】
【図３】図３は、いくつかの実施形態に係る、保護されたデータでの機械学習を実行するための処理例を表すシークエンス図を示す。
【００１０】
【図４】図４は、いくつかの実施形態に係る、処理システムのブロック図を示す。
【００１１】
【図５】図５は、いくつかの実施形態に係る、ユーザデバイスの他のブロック図を示す。
【００１２】
【図６】図６は、いくつかの実施形態に係る、ユーザデバイスによる推論のための動作を表す例示的なフローチャートである。
【００１３】
【図７】図７は、いくつかの実施形態に係る、例示的な画像撮影動作を表す例示的なフローチャートである。
【００１４】
【図８】図８は、いくつかの実施形態に係る、例示的なメディア再生動作を表す例示的なフローチャートである。
【００１５】
【図９】図９は、いくつかの実施形態に係る、例示的な認証動作を表す例示的なフローチャートである。
【発明を実施するための形態】
【００１６】
以下の説明では、本開示の十分な理解を提供するために、具体的なコンポーネント、回路、及び、処理の例のような、多くの具体的な詳細が示される。ここで使われる「接続された」という言葉は、直接に接続されている、又は、仲介する１以上のコンポーネント又は回路を介して接続されていることを意味する。更に、以下の説明において、及び、説明を目的として、本開示の態様の十分な理解を提供するために、特定の命名法が用いられる。しかし、例示的な実施形態を実施するためには、これらの具体的な詳細が必要でない場合があることが当業者には明らかであろう。他の例では、本開示が不明確になることを避けるために、周知の回路及びデバイスがブロック図の形式で示される。以下の詳細な説明のいくつかの部分は、過程、論理ブロック、処理、及び、コンピュータのメモリ内のデータービットへの操作を他の記号で表現したもの、という形で提示されている。回路コンポーネント又はソフトウェアブロック間の相互接続は、バス又は単一の信号線として示される場合がある。バスのそれぞれは、代替的に、単一の信号線であってもよく、単一の信号線のそれぞれは、代替的に、バスであっても良く、単一の信号線又はバスは、コンポーネント間の通信のための無数の物理的又は論理的なメカニズムのうちの任意の１以上を表し得る。
【００１７】
後述の議論から明らかなように、特にそうでないと述べられていない場合には、本出願を通して、「アクセスする」、「受信する」、「送信する」、「用いる」、「選択する」、「決定する」、「正規化する」、「乗算する」、「平均する」、「モニタする」、「比較する」、「適用する」、「更新する」、「計測する」、「導出する」、等のような表現を用いて行われる議論は、コンピュータシステム（又は同様の電子計算デバイス）によるアクション及び処理を参照していると認められる。これらのアクション及び処理は、コンピュータシステムのレジスタ及びメモリ内の物理（電気）量として示されるデータを、コンピュータシステムのメモリまたはレジスタ、又は他のそのような情報ストレージ、伝送器、又は表示デバイス内の物理量として同様に示される他のデータに操作及び変換する。
【００１８】
本明細書で説明されている技術は、特定の方法で実施されると特に記載されない限り、ハードウェア、ソフトウェア、ファームウェア、又は、それらの任意の組み合わせで実施され得る。モジュール又はコンポーネントとして説明されている任意の特徴は、集積ロジックデバイスにまとめて実装されるか、又は、個別に分離されているが相互運用が可能なロジックデバイスとして実装される場合がある。ソフトウェアで実装される場合、本技術は、実行されたときに上述の１以上の方法を実現する命令を含む、コンピュータ読取り可能な非一時的記憶媒体によって少なくとも部分的に実現される場合がある。非コンピュータ読取り可能な非一時的記憶媒体は、コンピュータプログラム製品の一部を形成する場合がある。なお、コンピュータプログラム製品は、梱包材を含む場合がある。
【００１９】
非一時的なプロセッサ読取り可能な記憶媒体は、同期ダイナミックランダムアクセスメモリ（ｓｙｎｃｈｒｏｎｏｕｓ  ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）（ＳＤＲＡＭ）のようなランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）（ＲＡＭ）、リードオンリーメモリ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）（ＮＶＲＡＭ）、電子的消去可能プログラマブルリードオンリーメモリ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）（ＥＥＰＲＯＭ）、フラッシュメモリ、他の既知の記憶媒体等、を備える場合がある。本技術は追加的に、あるいは代替的に、少なくとも一部が、コードを命令又はデータ構造の形で伝達または通信し、かつ、コンピュータ又は他のプロセッサによってアクセス、読取り、及び／又は、実行可能な、プロセッサ読取り可能な通信媒体によって実現され得る。
【００２０】
本明細書で開示される実施形態に関して説明される様々な例示的な論理ブロック、モジュール、回路、及び、命令は、１以上のプロセッサによって実行され得る。本明細書で用いられる「プロセッサ」という言葉は、任意の汎用プロセッサ、従来のプロセッサ、コントローラ、マイクロコントローラ、及び／又は、メモリに記憶された１以上のソフトウェアプログラムのスクリプト又は命令を実行可能な状態機械、を示す場合がある。
【００２１】
図１は、いくつかの実施形態に係る、機械学習システム１００のブロック図を示す。システム１００は、ネットワーク環境１０１と、ユーザデバイス１１０を含む。いくつかの実施形態では、ネットワーク環境１０１は、ユーザデバイス１１０と通信し、ユーザデバイス１１０に記憶された（又は、そうでない場合にはユーザデバイスによってアクセス可能な）プライベートな、及び／又は、保護されたコンテンツでの機械学習を実行する場合がある。
【００２２】
ネットワーク環境１０１は、ディープラーニングを通じて１以上のニューラルネットワークモデル１０２を生成するように構成されている場合がある。ディープラーニングは、学習フェーズが複数のレイヤにわたって実行され、連続する層のそれぞれにおいてより抽象的なルールのセットを生成する、機械学習の特定の形式である。ディープラーニングのアーキテクチャは、その中で情報が処理される（例えば、生物学的な神経系と同様の）方法のために、しばしば人工ニューラルネットワークとも呼ばれる。たとえば、ディープラーニングのアーキテクチャの各層は、いくつかの人工ニューロンで構成されている場合がある。ニューロンは、入力データ（例えば、生データ）が１つの層から別の層に伝達されるように、様々な層にわたって相互接続される場合がある。より具体的には、ニューロンの各層は、入力データに対して異なるタイプの変換を実行して、最終的に所望の出力（例えば、答え）をもたらし得る。相互接続されたニューロンのフレームワークは、ニューラルネットワークモデルと呼ばれる場合がある。そのため、ニューラルネットワークモデル１０２は、（猫のような）特定のオブジェクトまたは特徴を記述するために用いることができるルールのセットを含む場合がある。
【００２３】
いくつかの態様では、ネットワーク環境１０１は、複数のソース（ユーザデバイス１１０、及び／又は、ネットワーク環境１０１と通信する他のコンテンツソースを含む）から生データを受信し得るクラウドコンピューティングのプラットフォームである。ネットワーク環境１０１は、生データと関連付けられているルールのセット（例えば、特定のオブジェクト、特徴、受信された信号又はピクセルデータの品質といったサービス品質、及び／又は、他の検出可能な属性）を識別するように学習される場合がある。例えば、いくつかの態様では、ネットワーク環境１０１は、（例えば、会社のブランディング、及び／又は、広告で使用される）１以上のロゴを識別するように学習される場合がある。学習フェーズの間に、ネットワーク環境１０１は、ネットワーク環境１０１に通信可能に接続された１以上のコンテンツソースからそのようなロゴを含む多数の写真、及び／又は、動画を受信する場合がある。ネットワーク環境１０１は、更に、提供されたメディアコンテンツがロゴを含んでいることの指標を（例えば、ユーザ、又は、メディア及び／又はメディアと共に提供されるデータ若しくはメタデータをレビューするオペレータからのユーザ入力の形式で）受信する場合がある。ネットワーク環境１０１は、そして、受信した写真、及び／又は、動画に対する統計的な分析を実行して、ロゴに関連付けられる共通の特徴のセットを決定する場合がある。いくつかの態様では、決定された特徴（またはルール）は、抽象化の層の複数にわたる人工ニューラルネットワークを形成し得る。ネットワーク環境１０１は、推論のためのルールのセットを（例えば、ニューラルネットワークモデル１０２として）ユーザデバイス１１０に提供する場合がある。
【００２４】
ユーザデバイス１１０は、任意のエンドユーザーデバイス又はエッジデバイスであってよい。ユーザデバイス１１０は、例えば、ユーザ入力を受信し、及び／又は、コンテンツをユーザに出力することによって、ユーザとやり取りし得る。いくつかの態様では、ユーザデバイス１１０は、所与のユーザの好み、活動、又は、習慣に基づいて、（パーソナライズされたユーザインタフェースのような）カスタマイズ可能なユーザ体験を提供可能な任意のデバイスであり得る。他のいくつかの態様では、ユーザデバイス１１０は、メディアコンテンツをキャプチャ、記憶、及び／又は、再生することができる任意のデバイスであり得る。ユーザデバイスの例には、セットトップボックス（ｓｅｔ−ｔｏｐ  ｂｏｘ）（ＳＴＢ）、コンピュータ、携帯電話、タブレット、テレビ（ｔｅｌｅｖｉｓｉｏｎ）（ＴＶ）、等が含まれ得るが、これらに限定されない。
【００２５】
ユーザデバイス１１０は、ニューラルネットワークアプリケーション１１２、コンテンツメモリ１１４、及び、ユーザインタフェース１１６を備える場合がある。コンテンツメモリ１１４は、ユーザデバイス１１０、又は、ユーザデバイス１１０に接続された表示デバイス（図示せず）において再生及び／又は表示するために、メディアコンテンツ（例えば、熱画像、光学画像、動画、及び、音声等）を記憶又はバッファする。いくつかの態様では、ユーザデバイス１１０によって表示されるメディアコンテンツの少なくとも一部は、１以上のコンテンツ配信ネットワーク（ｃｏｎｔｅｎｔ  ｄｅｌｉｖｅｒｙ  ｎｅｔｗｏｒｋ）（ＣＤＮ）１２０から受信された（例えば、ストリーミングされた）プレミアムメディアコンテンツ１２２に対応する場合がある。例えば、プレミアムメディアコンテンツ１２２は、サードパーティのコンテンツ作成者又はプロバイダ（例えば、テレビネットワーク、制作スタジオ、ストリーミングサービスなど）によって作成された、テレビ番組、映画、及び／又は、メディアコンテンツを含む場合がある。いくつかの実装形態では、ユーザデバイス１１０は、再生のために、プレミアムメディアコンテンツ１２２をコンテンツメモリ１１４に記憶またはバッファすることがある。例えば、コンテンツメモリ１１４は、ユーザデバイス１１０によって描写又は表示されるべきプレミアムメディアコンテンツ１２２に関連付けられている（デコードされた）フルフレームのピクセルデータを、記憶またはバッファするデコード後ビデオフレームバッファとして動作する場合がある。
【００２６】
ニューラルネットワークアプリケーション１１２は、コンテンツメモリ１１４に記憶されたメディアコンテンツについての１以上の推論を生成するように構成される場合がある。例えば、いくつかの態様では、ニューラルネットワークアプリケーション１１２は、メディアコンテンツを分析して、そこに含まれる関心の対象（例えば、顔、ロゴ、宛先など）を推論または識別する場合がある。いくつかの実施形態では、ニューラルネットワークアプリケーション１１２は、ネットワーク環境１０１から受信したニューラルネットワークモデル１０２に基づいて推論を生成する場合がある。例えば、推論フェーズの間に、機械学習システムは、（例えば、人工ニューラルネットワーク内の人工ニューロンをトラバースすることによって）ニューラルネットワークモデル１０２をコンテンツメモリ１１４に記憶された新しいメディアコンテンツに適用して、新たなメディアコンテンツについての情報（例えば、メディアコンテンツが１以上の既知のロゴを含むかどうか）を推論する場合がある。
【００２７】
本開示の態様は、例えば、ニューラルネットワークモデル１０２を更に改良するために、及び／又は、ユーザデバイス１１０に記憶されたメディアコンテンツに基づいて追加のニューラルネットワークモデルを生成するために、特定のメディアコンテンツをネットワーク環境１０１に送信することが（不可能ではない場合でも）望ましくない場合があることを認識している。例えば、コンテンツのプロバイダ及び／又は作成者は、プレミアムメディアコンテンツ１２２の共有又はストリーミングを、（例えば、“プレミアムコンテンツの保護”の下に、あるいは、デジタル著作権管理（Ｄｉｇｉｔａｌ  Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ）（ＤＲＭ）法及び規制の下に）制限する場合がある。更に、ユーザは、他人がアクセス可能なクラウドに彼らの個人情報を送信することを望まない場合がある。そのため、本明細書で説明される実施形態が、ユーザのプライバシーとコンテンツプロバイダの権利が保護される方法で、メディアコンテンツでの機械学習を実行するために用いられる場合がある。
【００２８】
いくつかの実施形態では、ユーザデバイス１１０は、フィルタされたフィードバックデータ１０４をネットワーク環境に選択的に返信する場合がある。いくつかの態様では、フィルタされたフィードバックデータ１０４は、コンテンツメモリ１１４に記憶又はバッファされたメディアコンテンツから生成された推論についての限定された情報を含み得る。詳細には、限定された情報は、ユーザデバイス１１０のユーザ及び／又はコンテンツの所有者のプライバシー権を侵害しないように選択またはフィルタされる場合がある。例えば、フィルタされたフィードバックデータ１０４は、コンテンツメモリ１１４に記憶されたオリジナルのメディアコンテンツ（例えば、画像及び／又は動画）を再構築するために使用可能な如何なるピクセルデータ又は他の情報を含まない場合がある。更に、フィルタされたフィードバックデータ１０４は、ユーザデバイス１１０のユーザについての如何なる個人識別情報（例えば、名前、年齢、性別、所在地、等）、又は、そのような個人識別情報を導出するために使用可能な情報も示さない場合がある。
【００２９】
いくつかの実施形態では、ニューラルネットワークアプリケーション１１２は、コンテンツメモリ１１４に記憶又はバッファされたコンテンツを使用して、ニューラルネットワークモデル１０２に対して追加的な学習を実行する場合がある。例えば、ニューラルネットワークアプリケーション１１２は、コンテンツメモリ１１４に記憶若しくはバッファされたメディアコンテンツに基づいてニューラルネットワークモデル１０２を改良、及び／又は、新しいニューラルネットワークモデルを生成する場合がある。いくつかの態様では、ニューラルネットワークアプリケーション１１２は、更新されたニューラルネットワークモデルを、ディープラーニングのアーキテクチャを更に改良するために、（例えば、フィルタされたフィードバックデータ１０４として）ネットワーク環境１０１に提供する場合がある。このようにして、ネットワーク環境１０１は、ユーザデバイス１１０に記憶されたメディアコンテンツ（例えば、様々な他のユーザデバイスに記憶されたメディアコンテンツ）に基づいて、実際のメディアコンテンツに対応する生データを受信又はアクセスすることなく、そのニューラルネットワークモデル１０２を更に改良する場合がある。
【００３０】
（プレミアムメディアコンテンツ１２２といった）いくつかのメディアコンテンツは、ユーザデバイス１１０上のセキュアなリポジトリ（例えば、信頼された環境）に記憶される場合がある。セキュアなリポジトリは、信頼された環境内に存在するアプリケーション及び／又はハードウェアのみがセキュアなリポジトリに記憶されたデータにアクセスできるように、ユーザデバイス１１０の残りの部分から仮想的に、及び／又は、物理的に分割される場合がある。いくつかの態様では、セキュアなリポジトリは、コンテンツメモリ１１４のうち少なくとも一部に形成される場合がある。そのため、プレミアムメディアコンテンツ１２２（及び他の保護されたコンテンツ）は、コンテンツメモリ１１４のセキュアなリポジトリ内に記憶される場合がある。信頼された環境の外部（たとえば、リッチな環境）で動作する任意のハードウェア及び／又はアプリケーションは、セキュアなリポジトリに記憶されたデータへのアクセスが制限されている場合があるが、一方で信頼された環境内のハードウェアやアプリケーションは、外界との通信が非常に制限され得る。
【００３１】
外界と（例えば、ネットワーク環境１０１と）通信するために、いくつかのニューラルネットワークアプリケーションは、信頼された環境ではなく、リッチな環境で動作する場合がある。しかしながら、リッチな環境で動作するニューラルネットワークアプリケーションは、（プレミアムメディアコンテンツ１２２、ＤＲＭ、著作権、又は、プライバシー法、等で保護された他のメディアコンテンツのような）保護されたメディアコンテンツにアクセスしない場合があり、そのため、そのようなコンテンツでの機械学習（またはディープラーニング）を実行不可能である場合がある。
【００３２】
いくつかの実施形態では、ニューラルネットワークアプリケーション１１２は、少なくとも部分的に、ユーザデバイス１１０の信頼された環境内に存在する場合がある。信頼された環境内にニューラルネットワークアプリケーション１１２を配置することで、ニューラルネットワークアプリケーション１１２が、さもなければリッチな環境で動作するニューラルネットワークアプリケーションがアクセス不可である（プレミアムメディアコンテンツ１２２のような）保護されたメディアコンテンツでの機械学習が実行可能となる。例えば、ニューラルネットワークアプリケーション１１２は、ユーザがユーザデバイス１１０で見る様々なテレビ番組及び／又は映画を、描写あるいは表示するために使用可能なフルフレームのピクセルデータにアクセスする場合がある。その結果、ニューラルネットワークアプリケーション１１２は、ユーザが視聴するテレビ番組及び／又は映画に基づいて、ユーザデバイス１１０のユーザの関心及び／又は視聴習慣についての推論を生成する。いくつかの実施形態では、ニューラルネットワークアプリケーション１１２（あるいはモバイルデバイス１１０上で実行される別のアプリケーション）は、ユーザの視聴習慣に関する推論に基づいて、推奨及び／又は追加的なコンテンツをユーザに対して更に提供する場合がある。
【００３３】
ユーザインタフェース１１６は、それによってユーザがデバイス１１０又はユーザデバイス１１０と接続された電子システム（シンプルにするために図示せず）を、操作、相互交信、又は、別の方法で使用することが可能となるところの、インタフェース又は機能を提供する場合がある。いくつかの態様では、ユーザインタフェース１１６は、ユーザ入力を受信するための１以上の入力ソースを含む場合がある。例示的な入力ソースは、カメラ、マイクロフォン、ボタン、キーボード、マウス、タッチパッド、指紋スキャナ、フォトセンサ、加速度計、及び、ジャイロスコープ等を含むが、これらに限定されない。他のいくつかの態様では、ユーザインタフェース１１６は、コンテンツをユーザに出力するための１以上の出力ソースを含む場合がある。例示的な出力ソースは、スピーカー、ディスプレイ、及び、ライト等を含む場合があるが、これらに限定されない。いくつかの実施形態では、ユーザインタフェース１１６は、ニューラルネットワークアプリケーション１１２に生成された推論に少なくとも部分的に基づいて、コンテンツ又は情報を、ユーザデバイス１１０上に表示、描写、又は、別の方法による明示を行う場合がある。
【００３４】
図２は、いくつかの実施形態に係る、ユーザデバイス２００のブロック図を示す。ユーザデバイス２００は、図１のユーザデバイス１１０の一実施形態である場合がある。ユーザデバイス２００は、ハードウェアプラットフォーム２３０及びソフトウェア実行環境２０１を含む。ハードウェアプラットフォーム２３０は、ユーザデバイス２００の任意のハードウェア（例えば、プロセッサ、メモリ、及び、通信インタフェース等）を備える場合がある。ソフトウェア実行環境２０１は、ハードウェアプラットフォーム２３０上で実行される任意のソフトウェア又は命令（例えば、カーネル、オペレーティングシステム、及び、アプリケーション等）を含む。
【００３５】
いくつかの実施形態では、ソフトウェア実行環境２０１は、リッチな環境２１０と、信頼された環境２２０と、に分割される場合がある。リッチな環境２１０は、１以上のユーザアプリケーション２１２、リッチなニューラルネットワークアプリケーション２１４、及び、信頼された実行環境（ｔｒｕｓｔｅｄ  ｅｘｅｃｕｔｉｏｎ  ｅｎｖｉｒｏｎｍｅｎｔ）（ＴＥＥ）クライアントアプリケーションプログラミングインタフェース（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ）（ＡＰＩ）２１６を含む場合がある。信頼された環境２２０は、１以上の信頼されたアプリケーション２２２、信頼されたニューラルネットワークアプリケーション２２４、及び、ＴＥＥカーネル２２６を含む場合がある。上記で説明したように、信頼された環境２２０は、リッチな環境２１０から、物理的または仮想的に分割されている（例えば、分離、又は、仕切られている）場合がある。より詳細には、信頼された環境２２０で実行されるソフトウェア又は命令のみが、ハードウェアプラットフォーム２３０上に存在するセキュアなハードウェア（ＨＷ）リソース２３２にアクセスし得る。リッチな環境２１０と信頼された環境２２０との間の通信は、ＴＥＥクライアントＡＰＩ２１６を介してのみ可能にされる。このようにして、ＴＥＥクライアントＡＰＩ２１６は、セキュアなハードウェアリソース２３２が、リッチな環境２１０で実行されるいかなるソフトウェアまたは命令からアクセス不可であることを保証し得る。
【００３６】
いくつかの実施形態では、セキュアなハードウェアリソース２３２は、保護されたデータを記憶するための（図１のコンテンツメモリ１１４、又は、そのうち少なくとも一部といった）セキュアなリポジトリ又はメモリを含む場合がある。 例えば、いくつかの態様では、保護されたデータは、プレミアムコンテンツ（例えば、テレビ番組、及び、映画等）、又は、他のメディアコンテンツを含む場合がある。他のメディアコンテンツは、ＤＲＭ、著作権、または他の法律及び／又は規制の下で保護されている場合がある。他のいくつかの態様では、保護されたデータは、生体認証用のシグネチャ（例えば、ユーザの顔の画像、指紋、網膜スキャン、及び、ユーザの声の録音等）、又は、認証の目的で使用され得る他の媒体を含む場合がある。保護されたデータの秘密性、及び／又は、機密性のために、セキュアなハードウェアリソース２３２は、信頼された環境２２０の外部のソフトウェア及び／又はハードウェアからはアクセス不可である場合がある。さらに、信頼された環境２２０内の（信頼されたアプリケーション２２２及び／又は信頼されたニューラルネットワークアプリケーション２２４のような）アプリケーションは、保護されたデータに関連付けられた情報をリッチな環境２１０に通信することを制限される場合がある。
【００３７】
いくつかの実施形態では、ユーザデバイス２００は、ハードウェアプラットフォーム２３０に記憶されたデータでの機械学習を実行する場合がある。いくつかの態様では、ユーザデバイス２００は、（図１のネットワーク環境１０１といった）ネットワーク環境から、ハードウェアプラットフォーム２３０に記憶されたデータについての推論を生成するために使用され得る１以上のニューラルネットワークモデルを受信する場合がある。他のいくつかの態様では、ユーザデバイス２００（例えば、リッチなニューラルネットワークアプリケーション２１４、及び／又は、信頼されたニューラルネットワークアプリケーション２２４）は、（例えば、図１に関連して上記で説明したように）ハードウェアプラットフォーム２３０に記憶されたデータに基づいて、ニューラルネットワークモデルのうち少なくともいくつかをローカルに学習または生成する場合がある。
【００３８】
リッチなニューラルネットワークアプリケーション２１４は、ハードウェアプラットフォーム２３０上に（例えば、リッチな環境２１０内に）記憶された保護されていないデータにニューラルネットワークモデルを適用する場合がある。しかしながら、リッチなニューラルネットワークアプリケーション２１４は、セキュアなハードウェアリソース２３２に記憶されている保護されたデータにアクセスできない場合がある。いくつかの実施形態では、信頼されたニューラルネットワークアプリケーション２２４はまた、（例えば、ＴＥＥクライアントＡＰＩ２１６を介して）ニューラルネットワークモデルを受信する場合があり、セキュアなハードウェアリソース２３２に記憶された保護されたデータにニューラルネットワークモデルを適用する場合がある。いくつかの態様では、信頼されたニューラルネットワークアプリケーション２２４はまた、ハードウェアプラットフォーム２３０に（例えば、リッチな環境２１０の内に）記憶された保護されていないデータにアクセスすることができる場合がある。
【００３９】
信頼されたニューラルネットワークアプリケーション２２４は、信頼された環境２２０の中に存在するので、ニューラルネットワークアプリケーション２２４は、セキュアなハードウェアリソース２３２に記憶された保護されたデータのフルフレームのピクセルデータについて機械学習を実行する場合がある。これに応じて、ニューラルネットワークアプリケーション２２４は、保護されたデータについての推論を生成する場合がある。ニューラルネットワークアプリケーション２２４は、セキュアなハードウェアリソース２３２からの如何なる生データ（例えば、ピクセルデータ）を、信頼された環境２２０の外部に送信しない場合があるが、ニューラルネットワークアプリケーション２２４は、生データに関する推論をリッチな環境２１０に提供する場合がある。以下でより詳細に説明するように、推論は、ユーザデバイス２００のユーザに向上されたユーザ体験を提供するために使用される場合がある。例えば、推論は、ユーザの関心、好み、及び／又は、行動を示している場合があるため、ユーザデバイス２００は、推論を使用して、ユーザに関連し得る推奨及び／又は追加的なコンテンツを出力する場合がある。
【００４０】
いくつかの態様では、保護されたデータは、テレビ番組または映画といった、ユーザデバイス２００、又は、ユーザデバイス２００に接続された表示デバイス（シンプルにするために図示せず）上で描写又は表示され得るプレミアムメディアコンテンツを含む場合がある。いくつかの実施形態では、ニューラルネットワークアプリケーション２２４は、プレミアムコンテンツから、関心の対象（例えば、人、場所、及び、ロゴ等）を推定する場合がある。例えば、ニューラルネットワークアプリケーション２２４は、コンテンツプロバイダ（例えば、テレビ放送ネットワーク、及び、映画制作スタジオ等）に対応するロゴ又は記号を識別し得る。ニューラルネットワークアプリケーション２２４は、識別されたロゴ又は記号に基づいて、ユーザデバイス２００のユーザが特定のテレビ局またはネットワークで放送されるテレビ番組を好むことを決定する場合がある。これに応じて、ニューラルネットワークアプリケーション２２４は、同じテレビネットワークからの他の番組をユーザに推奨する場合がある。
【００４１】
別の例では、ニューラルネットワークアプリケーション２２４は、製品のブランド及び／又は広告に関連付けられるロゴまたは記号を識別する場合がある。いくつかの態様では、ニューラルネットワークアプリケーション２２４は、識別されたロゴまたは記号に基づいて、ユーザデバイス２００のユーザが特定のブランド又は種類の製品を好む、又は、関心を持つと決定する場合がある。これに応じて、ニューラルネットワークアプリケーション２２４は、特定のブランドまたは種類の製品（又は、関連のブランド及び／又は製品）にターゲットされた広告をユーザに提示する場合がある。いくつかの他の態様では、ニューラルネットワークアプリケーション２２４は、識別されたロゴまたは記号に基づいて、何れの広告及び／又は製品ブランドがユーザデバイス２００のユーザによって視聴される可能性が最も高いか、を決定する場合がある。これに応じて、ニューラルネットワークアプリケーション２２４は、広告又はプロダクトプレイスメントのために、メディアコンテンツを放送したテレビネットワークへアトリビューションを提供する場合がある。
【００４２】
いくつかの他の態様では、保護されたデータは、顔、指紋、又は音声録音といった生体認証データを含む場合がある。生体認証データは、ユーザデバイス２００のユーザを認証するために用いられる場合がある。いくつかの実施形態では、ニューラルネットワークアプリケーション２２４は、生体認証データに基づいて、ユーザについての１以上のニューラルネットワークモデルを生成する場合がある。ニューラルネットワークアプリケーション２２４は、ニューラルネットワークモデルを用いて、ユーザデバイス２００内に存在するかユーザデバイス２００に接続されたカメラ、又は、他の画像撮影デバイスによりその後撮影された画像及び／又は動画から、ユーザの身元を推論する場合がある。いくつかの態様では、ニューラルネットワークアプリケーション２２４は、ユーザの身元に基づいて、更に、コンテンツをユーザに表示又は推奨する場合がある。例えば、ニューラルネットワークアプリケーション２２４は、ユーザの既知の関心にマッチするテレビ番組及び／又は映画を表示する場合がある。
【００４３】
いくつかの実施形態では、（ユーザアプリケーション２１２といった）ユーザデバイス２００上で実行される他のアプリケーションもまた、信頼されたニューラルネットワークアプリケーション２２４によって生成された推論を用いて、それらのユーザ体験を向上する場合がある。例えば、いくつかのアプリケーションは、音声入力を検出及び応答するように構成されている場合がある。関心の対象が信頼されたニューラルネットワークアプリケーション２２４によって検出されると、ユーザは（例えば、ユーザデバイス２００との物理的な操作無しで）、検出されたオブジェクトについての追加情報を取得するようにユーザデバイス２００に口頭で指示し得る。さらに、多くの音声ベースのアプリケーションは、自動音声認識（ａｕｔｏｍａｔｉｃ  ｓｐｅｅｃｈ  ｒｅｃｏｇｎｉｔｉｏｎ）（ＡＳＲ）を用いて、特定の音声パターンを検出及び応答する場合がある。例えば、ＡＳＲアプリケーションは、音声入力に対してどのように処理又は応答するかを決定するために、特定のフレーズで一以上の辞書またはライブラリを検索する場合がある。関心の対象が信頼できるニューラルネットワークアプリケーション２２４によって検出されると、ユーザデバイス２００は、ユーザの音声入力に応答する準備として、関連する（例えば、検出オブジェクトに関連する）ＡＳＲ辞書を取得する場合がある。
【００４４】
いくつかの実施形態では、信頼されたニューラルネットワークアプリケーション２２４は、セキュアなハードウェアリソース２３２に記憶されたデータに基づいて、追加的なニューラルネットワークモデルを生成するか、又は既存のニューラルネットワークモデルを改良する場合がある。いくつかの態様では、リッチなニューラルネットワークアプリケーション２１４は、ＴＥＥクライアントＡＰＩ２１６を介して、（例えば、信頼されたニューラルネットワークアプリケーション２２４からの）更新されたニューラルネットワークモデル及び／又はフィルタされたフィードバックデータを受信する場合がある。リッチなニューラルネットワークアプリケーション２１４は、更に、更新されたニューラルネットワークモデル及び／又はフィルタされたフィードバックデータを、クラウド又は（図１のネットワーク環境１０１のような）ネットワーク環境にさらに伝達する場合がある。このようにして、ネットワーク環境は、メディアデバイス２００に記憶されたデータ（及び、例えば、他の様々なコンテンツソースからのコンテンツ）に基づいて、メディアデバイス２００のセキュアなハードウェアリソース２３２に記憶された生データを受信あるいはアクセスすることなく、ニューラルネットワークモデルをさらに改良する場合がある。
【００４５】
図３は、いくつかの実施形態に係る、保護されたデータについての機械学習を実行するための例示的な処理３００を表すシーケンス図を示す。例えば、図１を参照して、処理３００は、セキュアなリポジトリ（例えば、信頼された環境）に記憶されたデータについてニューラルネットワークモデルを生成及び／又は適用するために、機械学習システム１００によって実行される場合がある。図３の実施形態では、処理３００は、セキュアなコンテンツメモリ３１２、ニューラルネットワークアプリケーション３１４、及び、ネットワークリソース３２２の間で実行される。セキュアなコンテンツメモリ３１２及びニューラルネットワークアプリケーション３１４は、（図２の信頼された環境２２０のような）ユーザデバイスの信頼された実行環境３１０の内に存在する一方で、ネットワークリソース３２２は、非セキュアな環境３２０（例えば、外界）の内で動作する。
【００４６】
ネットワークリソース３２２は、機械学習（例えば、ディープラーニング）により１以上のニューラルネットワークモデル３０２を生成するように構成される場合がある。いくつかの態様では、ネットワークリソース３２２は、複数のコンテンツソースから生データを受信し得るクラウドコンピューティングプラットフォームである場合がある。ネットワークリソース３２２は、生データに対応するルールのセット（例えば、特定のオブジェクト、特徴、サービスの品質、及び／又は、他の検出可能な属性）を識別するように学習される場合がある。学習フェーズの間に、ネットワークリソース３２２は、ネットワークリソース３２２と通信可能に接続された１以上のコンテンツソースから、大量の生データを受信する場合がある。ネットワークリソース３２２はまた、生データに対応する１以上のルールの指標（例えば、メディア及び／又はデータを視聴するユーザ又はオペレータからのユーザ入力、又は、メディアと共に供給されるメタデータの形での）を受信する場合がある。ネットワークリソース３２２は、そして、生データについて統計分析を実行して、ルールに対応する属性の共通のセットを決定する場合がある。いくつかの態様では、決定された属性（またはルール）は、抽象化の複数の層に及ぶ人工ニューラルネットワークを形成する場合がある。ネットワークリソース３２２は、推論のために、ルールのセットを（例えば、ニューラルネットワークモデル３０２として）ニューラルネットワークアプリケーション３１４に提供する場合がある。
【００４７】
ニューラルネットワークアプリケーション３１４は、ネットワークリソース３２２からニューラルネットワークモデル３０２を（例えば、ユーザデバイス上に提供されるＴＥＥクライアントＡＰＩを介して）受信する場合があり、ニューラルネットワークモデル３０２を用いてセキュアなコンテンツメモリ３１２に記憶されたデータについての１以上の推論を生成する場合がある。 セキュアなコンテンツメモリ３１２は、ユーザデバイスまたは対応する表示デバイス上に表示又は描写され得る保護されたデータ（例えば、プレミアムメディアコンテンツ、及び、生体認証データ等）を記憶する場合がある。より具体的には、保護されたデータは、信頼された実行環境３１０の外部のハードウェア及び／又はアプリケーションにアクセス不可である場合がある。しかしながら、ニューラルネットワークアプリケーション３１４は、信頼された実行環境３１０内に存在するため、ニューラルネットワークアプリケーション３１４は、セキュアなコンテンツメモリ３１２に記憶された生データ（ユーザデバイス上に表示されるべき画像及び／又は動画のフルフレームのピクセルデータを含む）に対してフルアクセスを有する場合がある。
【００４８】
ニューラルネットワークアプリケーション３１４は、セキュアなコンテンツメモリ３１２から保護されたデータ３０４を受信する場合がある。いくつかの態様では、保護されたデータ３０４は、ユーザデバイスによって再生又はストリーミングされているメディアコンテンツに対応する場合がある。例えば、保護されたデータ３０４は、ユーザデバイスのユーザが現在見ている画像及び／又は動画を含む場合がある。他のいくつかの態様では、保護されたデータ３０４は、以前の登録又は認証プロセスの間にセキュアなコンテンツメモリ３１２に記憶された生体認証データを含む場合がある。
【００４９】
いくつかの実施形態では、ニューラルネットワークアプリケーション３１４は、保護されたデータ３０４について機械学習３０６を実行する場合がある。いくつかの態様では、ニューラルネットワークアプリケーション３１４は、（ネットワークリソース３２２から受信したニューラルネットワークモデル３０２のような）１以上のニューラルネットワークモデルに基づいて、保護されたデータ３０４についての推論を生成する場合がある。いくつかの他の態様では、ニューラルネットワークアプリケーション３１４は、保護されたデータ３０４に基づいて、新たなニューラルネットワークモデル（またはルール）を生成する場合がある。さらにその上、いくつかの態様では、ニューラルネットワークアプリケーション３１４は、保護されたデータ３０４を用いて、（ネットワークリソース３２２から受信したニューラルネットワークモデル３０２のような）１以上の既存のニューラルネットワークモデルを更新する場合がある。
【００５０】
いくつかの実施形態では、ニューラルネットワークアプリケーション３１４は、（例えば、図２に関連して上記で説明したように）機械学習３０６に少なくとも部分的に基づいて、フィルタされたフィードバックデータ３０８をネットワークリソース３２２に提供する場合がある。いくつかの態様では、フィルタされたフィードバックデータ３０８は、保護されたデータ３０４から生成された推論についての限定された情報を含む場合がある。具体的には、該限定された情報は、ユーザデバイスのユーザ及び／又はコンテンツのオーナーのプライバシー権を侵害しないようにフィルタされている場合がある。例えば、フィルタされたフィードバックデータ３０８は、オリジナルのデータ３０４を再構築するために使用可能な如何なる生データ（例えば、ピクセルデータ）又は他の情報を含まない場合がある。さらに、フィルタされたフィードバックデータ３０８は、ユーザデバイスのユーザについての如何なる個人識別情報（名前、年齢、性別、及び、位置等）、又は、そのような個人識別情報を導出するために使用可能な如何なる情報をも示さない場合がある。他のいくつかの態様では、フィルタされたフィードバックデータ３０８は、ニューラルネットワークアプリケーション３１４によって生成された、新規の、又は、更新されたニューラルネットワークモデルを含む場合がある。このようにして、ネットワークリソース３２２は、更に、そのニューラルネットワークモデル３０２を、保護されたデータ３０４を受信又はアクセスすることなく改良し得る。
【００５１】
図４は、いくつかの実施形態に係る、処理システム４００のブロック図を示す。処理システム４００は、図１のユーザデバイス１１０、及び／又は、図２のユーザデバイス２００の一実施形態である場合がある。処理システム４００は、アプリケーション処理ユニット（ａｐｐｌｉｃａｔｉｏｎｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）（ＡＣＰＵ）４１０、ニューラルネットワーク処理ユニット（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）（ＮＰＵ）４２０、入力処理ユニット（ｉｎｐｕｔ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）（ＩＰＵ）４３０、及び、メモリ装置４４０を備える。
【００５２】
ＡＣＰＵ４１０は、１以上のアプリケーション及び／又はオペレーティングシステムを実行するように構成された１以上の汎用プロセッサを含む場合がある。ＡＣＰＵ４１０は、リッチな実行環境（ｒｉｃｈ  ｅｘｅｃｕｔｉｏｎ  ｅｎｖｉｒｏｎｍｅｎｔ）（ＲＥＥ）４１２、及び、信頼された実行環境（ＴＥＥ）４１４を含む場合がある。ＲＥＥ４１２及びＴＥＥ４１４は、それぞれ、ソフトウェア実行環境２０１のリッチな環境２１０及び信頼できる環境２２０と一致する場合がある。図４の実施形態では、ＡＣＰＵ４１０は、ＲＥＥ４１２においてリッチなニューラルネットワーク（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）（ＮＮ）アプリケーション４１３を実行する場合があり、ＴＥＥ４１４において信頼されたニューラルネットワーク（ＮＮ）アプリケーション４１５を実行する場合がある。いくつかの実装形態では、ＡＣＰＵ４１０は、セキュアな状態と、非セキュアな状態と、で動作するように構成可能である。例えば、ＡＣＰＵ４１０は、ＴＥＥ４１４からのアプリケーション及び／又は処理を実行するときにはセキュアな状態で動作する場合があり、ＲＥＥ４１２からのアプリケーション及び／又は処理を実行するときには非セキュアな状態で動作する場合がある。
【００５３】
ＮＰＵ４２０は、ニューラルネットワークの推論を加速するように構成された１以上のプロセッサを含む場合がある。たとえば、ＮＰＵ４２０のハードウェアアーキテクチャは、ＡＣＰＵ４１０のような汎用プロセッサよりも高速及び／又は効率的にニューラルネットワークをトラバースするように特に設計されている場合がある。いくつかの実装では、ＡＣＰＵ４１０は、少なくとも部分的に、リッチなニューラルネットワークアプリケーション４１３又は信頼されたニューラルネットワークアプリケーション４１５を実行するように、ＮＰＵ４２０を呼び出す場合がある。そのため、いくつかの実施形態では、ＮＰＵ４２０は、セキュアな状態、及び／又は、非セキュアな状態で動作するように更に構成される場合がある。セキュアな状態で動作しているとき、ＮＰＵ４２０は、信頼された環境に存在するソフトウェア及び／又は（セキュアなＨＷリソース２３２といった）ハードウェアのリソースと通信及びアクセスすることができる。
【００５４】
ＩＰＵ４３０は、処理システム４００によって記憶されるか、さもなければ使用されるところのユーザ入力４０５を（例えば、フィルタリング、解析、及び、符号化等によって）処理するように構成されたハードウェアリソースを含む場合がある。ユーザ入力４０５は、テキストベースの入力、選択ベースの入力、及び／又は、ユーザによって提供される生体認証入力を含む場合がある。ユーザ入力４０５は、１以上の入力デバイス（シンプルにするために図示せず）によって受信及び／又は検出される場合がある。例示的な入力デバイスには、キーボード、マウス、ジョイスティック、カメラ、容量センサ、タッチパッド、指紋センサ、及び、マイクロフォン等が含まれ得るが、これらに限定されない。いくつかの実装では、ＡＣＰＵ４１０は、信頼されたニューラルネットワークアプリケーションに関連してユーザ入力４０５を処理するようにＩＰＵ４３０を構成する場合がある。そのため、ＩＰＵ４３０もまた、セキュアな状態で動作するように構成される場合がある。セキュアな状態で動作しているときには、ＩＰＵ４３０は、信頼された環境に存在するソフトウェア及び／又は（セキュアなＨＷリソース２３２といった）ハードウェアのリソースと通信し、これらにアクセスする場合がある。
【００５５】
ＡＣＰＵ４１０は、ＲＥＥ４１２からの非セキュアなメモリアクセストランザクション４０２、及び、ＴＥＥ４１４からのセキュアなメモリアクセストランザクション４０４を開始する場合がある。ＮＰＵ４２０及びＩＰＵ４３０は、それぞれに、メモリ装置４４０とのＮＰＵトランザクション４０６及びＩＰＵトランザクション４０８を実行する場合がある。例えば、トランザクション４０２−４０８のそれぞれは、（例えば、メモリ装置４４０からデータを読取りするための）読取りトランザクション、又は、（例えば、メモリ装置４４０にデータを書込むための）書込みトランザクションを含む場合がある。トランザクションを開始する側は「マスター」と呼ばれ、トランザクションの受信側は「スレーブ」と呼ばれる場合がある。そのため、議論を目的として、ＡＣＰＵ４１０、ＮＰＵ４２０、及び、ＩＰＵ４３０は、本明細書において一般に、複数のマスターと呼ばれる場合がある。処理システム４００は３個のマスター４１０−４３０を含むものとして示されているが、いくつかの実施形態では、処理システム４００は、図４で示されたものよりも少ない、あるいは、より多いマスターを含む場合がある。
【００５６】
メモリ装置４４０は、非セキュアなパーティション４５０と、セキュアなパーティション４６０を含む。セキュアなパーティション４６０と非セキュアなパーティション４５０とは互いに、物理的及び／又は仮想的に分離される場合がある。いくつかの実装では、メモリパーティション４５０及び４６０はそれぞれに、共有のメモリデバイス（例えば、ＤＲＡＭ）のうちの異なるアドレス空間を含む場合がある。他のいくつかの実装では、メモリパーティション４５０及び４６０は、別個のメモリデバイス上に実装される場合がある。非セキュアなパーティション４５０は、リッチな環境に恒常的に存在する。そのため、非セキュアなパーティション４５０は、ＲＥＥ４１２、及び、リッチな環境から動作する他のソフトウェア及び／又はハードウェアのリソースからアクセス可能となるべき任意のデータを格納するように構成される場合がある。対照的に、セキュアなパーティション４６０は、信頼された環境に恒常的に存在する。そのため、セキュアなパーティション４６０は、ＴＥＥ４１４、及び、（ＮＰＵ４２０及び／又はＩＰＵ４３０のような）信頼できる環境からの、又は、セキュアな状態で動作するところの他のソフトウェア及び／又はハードウェアのリソースからのみアクセス可能となるべきデータを記憶するように構成されている場合がある。
【００５７】
図４の実施形態では、非セキュアなパーティション４５０は、保護されていないデータ４５２を記憶し、セキュアなパーティション４６０は、ニューラルネットワークモデル４６２、推論結果４６４、及び、保護されたデータ４６６を記憶する。いくつかの実装では、メモリ装置４４０は、メモリトランザクション４０２−４０８を、少なくとも部分的に、トランザクションを開始するマスターのセキュリティ状態に基づいてフィルタする場合がある。より詳細には、メモリ装置４４０は、リッチな環境で動作するソフトウェア及び／又はハードウェアが非セキュアなパーティション４５０にアクセスできるが、セキュアなパーティション４６０にはアクセスできないことを保証する場合がある。例えば、メモリ装置４４０は、非セキュアなＡＣＰＵトランザクション４０２が保護されていないデータ４５２にアクセスを可能にする場合があるが、如何なる非セキュアなＡＣＰＵトランザクション４０２が、ニューラルネットワークモデル４６２、推論結果４６４、又は、保護されたデータ４６６にアクセスすることを拒否する場合がある。
【００５８】
メモリ装置４４０はまた、セキュアな環境で動作するソフトウェア及び／又はハードウェアが、セキュアなパーティション４６０にアクセス可能であることを保証する場合がある。例えば、メモリ装置４４０は、ＩＰＵ４３０がセキュアな状態からトランザクション４０８を開始したときには、ＩＰＵトランザクション４０８が保護されたデータ４６６（例えば、ユーザデータ、及び、プレミアムメディアコンテンツ等）をセキュアなパーティション４６０に書込むことを許可する場合がある。メモリ装置４４０はまた、ＮＰＵ４２０がセキュアな状態からトランザクション４０６を開始したときには、ＮＰＵトランザクション４０６がニューラルネットワークモデル４６２及び／又は保護されたデータ４６６をセキュアなパーティション４６０から読取り、推論結果４６４をセキュアなパーティション４６０に書込むことを許可する場合がある。さらにその上、メモリ装置４４０は、セキュアなＡＣＰＵトランザクション４０４がセキュアなパーティションから推論結果４６４を読み取ることを許可する場合がある。
【００５９】
図５は、いくつかの実施形態に係る、ユーザデバイス５００の他のブロック図を示す。ユーザデバイス５００は、図１のユーザデバイス１１０及び／又は図２のユーザデバイス２００の一実施形態である場合がある。ユーザデバイス５００は、デバイスインタフェース５１０、プロセッサ５２０、及び、メモリ５３０を備える。
【００６０】
デバイスインタフェース５１０は、ユーザデバイス５００と接続された１以上の入力ソース、及び／又は、出力ソースと通信するために使用される場合がある。例示的な入力ソースは、カメラ、マイクロフォン、ボタン、キーボード、マウス、タッチパッド、指紋スキャナ、フォトセンサ、加速度計、及び、ジャイロスコープ等を含む場合がある。例えば、センサインタフェース５１０は、入力ソースに信号を送信し、入力ソースから信号を受信して、ユーザデバイス５００のユーザからのユーザ入力を受信する場合がある。例示的な出力ソースは、スピーカー、ディスプレイ、及び、ライト等を含み得るが、これらに限定されない。例えば、センサインタフェース５１０は、出力ソースに信号を送信し、出力ソースから信号を受信して、デバイス５００のユーザに情報及び／又はメディアコンテンツを出力する場合がある。
【００６１】
メモリ５３０は、セキュアなパーティション５３１と、非セキュアなパーティション５３５と、を含む場合がある。セキュアなパーティション５３１は、例えば、ユーザデータ、プレミアムメディアコンテンツ等といった保護されたデータを記憶するように構成された、保護されたデータストア５３２を含む場合がある。セキュアなパーティション５３１はまた、非一時的なコンピュータ読取り可能な記憶媒体（例えば、ＥＰＲＯＭ，ＥＥＰＲＯＭ、フラッシュメモリ、及び、ハードドライブ等といった１以上の不揮発性メモリ素子）を含む場合がある。なお、この非一時的なコンピュータ読取り可能な記憶媒体は、保護されたデータストア５３２に記憶された保護されたデータについての推論を生成するためのニューラルネットワークソフトウェア（ＳＷ）モジュール５３４を記憶し得る。同様に、非セキュアなパーティション５３５は、非一時的なコンピュータ読取り可能な記憶媒体を含む場合がある。この非一時的なコンピュータ読取り可能な記憶媒体は、保護されたデータについての推論に少なくとも部分的に基づいて情報及び／又はメディアコンテンツをユーザに出力するための、ユーザインタフェースＳＷモジュール５３６を記憶し得る。
【００６２】
各ソフトウェアモジュールは、プロセッサ５２０によって実行されると、ユーザデバイス５００に対応する機能を実行させる命令を含む。そのため、メモリ５３０の非一時的なコンピュータ読取り可能な記憶媒体は、図６−９に関連して以下で説明する操作の全部あるいは一部を実行するための命令を含む。プロセッサ５２０は、ユーザデバイス５００に記憶された１以上のソフトウェアプログラムのスクリプト又は命令を実行可能な、１以上の任意の適切なプロセッサである場合がある。例えば、プロセッサ５２０は、ニューラルネットワークＳＷモジュール５３４を実行して、保護されたデータストア５３２に記憶された保護されたデータについての推論を生成する場合がある。プロセッサ５２０はまた、保護されたデータに関する推論に少なくとも部分的に基づいて、情報及び／又はメディアコンテンツをユーザに出力するように、ユーザインタフェースＳＷモジュール５３６を実行する場合がある。
【００６３】
図６は、いくつかの実施形態に係る、ユーザデバイスによって推論するための動作６００を表す例示的なフローチャートである。例えば図１を参照して、動作６００は、セキュアなメモリ又はデータリポジトリを有するユーザデバイス１１０によって実行される場合がある。
【００６４】
ユーザデバイス１１０は、保護されたデータをセキュアなメモリから取得する場合がある（６１０）。例示的な保護されたデータは、プレミアムメディアコンテンツ、及び、ユーザデータ等が含み得るが、これらに限定されない。いくつかの実装では、セキュアなメモリは、（図４のセキュアなパーティション４６０といった）メモリ装置のセキュアなパーティションに対応する場合がある。より具体的には、セキュアなパーティションに記憶されたデータは、ユーザデバイス１１０のリッチな環境で実行されているハードウェア及び／又はアプリケーションからアクセスできない場合がある。例えば図４を参照して、セキュアなパーティション４６０に記憶された保護されたデータ４６６は、ＡＣＰＵ４１０のＲＥＥ４１２から実行されている（リッチなニューラルネットワークアプリケーション４１３といった）アプリケーションからアクセスできない可能性がある。そのため、いくつかの実施形態では、信頼されたニューラルネットワークアプリケーション４１５は、メモリ装置４４０のセキュアなパーティション４６０から、保護されたデータ４６６を取得する場合がある。
【００６５】
ユーザデバイス１１０は、デバイスに記憶された１以上のニューラルネットワークモデルを用いて、保護されたデータについての推論を生成する場合がある（６２０）。いくつかの実施形態では、ニューラルネットワークモデルはまた、セキュアなメモリに記憶されている場合がある。例えば図４を参照して、ＡＣＰＵ４１０は、信頼されたニューラルネットワークアプリケーション４１５を実行するにあたって、セキュアなパーティション４６０に記憶されたニューラルネットワークモデル４６２を用いて、保護されたデータ４６６についての推論を実行する場合がある。他のいくつかの態様では、ＡＣＰＵ４１０は、信頼されたニューラルネットワークアプリケーション４１５を実行するにあたって、ニューラルネットワークモデル４６２を用いて保護されたデータ４６６についての推論を実行するように、ＮＰＵ４２０に命令する場合がある。該推論は、保護されたデータの中の関心の対象を識別する場合がある。例示的な関心の対象は、ロゴ、記号、玩具、及び／又は、ユーザデバイス１１０の１人または複数のユーザの生体認証の特徴を含み得るが、これらに限定されない。
【００６６】
次に、ユーザデバイス１１０は、推論に少なくとも部分的に基づいて、ユーザインタフェースを更新する場合がある（６３０）。例えば、本推論は、ユーザの関心、好み、及び／又は、行動を示す場合がある。そのため、いくつかの実施形態では、（例えば、ユーザ体験を向上または増強するために）ユーザインタフェースを介して推奨、及び／又は、追加的なコンテンツを提供するために、本推論が使用される場合がある。いくつかの態様では、ユーザデバイス１１０は、特定のコンテンツソース又はテレビネットワークからの番組を、ユーザに推奨する場合がある。他のいくつかの態様では、ユーザデバイス１１０は、広告を含むメディアコンテンツを放送又はストリーミングしたテレビネットワークあるいはコンテンツソースへ、特定の広告のためにアトリビューションを提供する場合がある。その上さらに、いくつかの態様では、ユーザデバイス１１０は、既知のユーザの関心にマッチするテレビ番組及び／又は映画を表示する場合がある。
【００６７】
図７は、いくつかの実施形態に係る、例示的な画像撮影動作７００を表す例示的なフローチャートである。例えば図２を参照して、動作７００は、カメラベースのアプリケーションのための拡張現実（ａｕｇｍｅｎｔｅｄ  ｒｅａｌｉｔｙ）（ＡＲ）インタフェースを提供するように、ユーザデバイス２００によって実行される場合がある。
【００６８】
ユーザデバイス２００は、学習モジュールから１以上のニューラルネットワークモデルを取得する場合がある（７１０）。いくつかの態様では、学習モジュールは、クラウド、又は、ユーザデバイス２００の外部のネットワーク環境（例えば、図１のネットワーク環境１０１）上に配置される場合がある。他のいくつかの態様では、学習モジュールは、ユーザデバイス２００上にローカルに存在する場合がある（例えば、リッチなニューラルネットワークアプリケーション２１４、又は、信頼されたニューラルネットワークアプリケーション２２４）。そのため、ニューラルネットワークモデルは、ユーザデバイス２００上にローカルに存在するデータ又は情報のみを用いて、（例えば、新しいオブジェクトを検出するために）学習及び／又は再学習され得る。いくつかの実施形態では、ニューラルネットワークモデルは、ＡＲインタフェースで検出可能な特定の関心の対象（例えば、人形、アクションフィギュア、又は、ゲームといったＡＲ環境で示されたときにはインタラクティブな機能や態様を持ち得るその他の玩具）を記述するルールのセットに対応する場合がある。
【００６９】
ユーザデバイス２００は、更に、カメラを使いてシーンを撮影する場合がある（７２０）。例えば、ユーザアプリケーション２１２は、ユーザデバイス２００上に存在する若しくはユーザデバイス２００と接続されたカメラ、又は、他の画像撮影デバイスと通信可能なカメラベースのアプリケーションを含む場合がある。いくつかの実施形態では、シーンは、ユーザデバイス２００の１以上のユーザを含む場合がある。その上、ユーザアプリケーション２１２は、ユーザデバイス２００のディスプレイ上に、及び／又は、ユーザデバイス２００と接続された表示デバイス上に、撮影されたシーンを描写又は表示する場合がある。
【００７０】
ユーザデバイス２００は、１以上のニューラルネットワークモデルを用いて、シーンについての推論を生成する場合がある（７３０）。例えば、ニューラルネットワークアプリケーション２２４は、ニューラルネットワークモデルに関連付けられたルールのセットに基づいて、シーンに含まれる関心の対象を検出及び／又は識別する場合がある。いくつかの態様では、識別された対象は、（ＡＲゲームのようなインタラクティブな環境においての用途を有し得る人形、及び、アクションフィギュア等のような）玩具、又は、カメラベースのアプリケーション（例えば、ユーザアプリケーション２１２）を通じて接続され得る他のインタラクティブな対象と対応する場合がある。いくつかの実施形態では、推論は、信頼された実行環境（ＴＥＥ）で実行される場合がある。上記で説明したように、信頼された実行環境は、限られた情報のみについて外部と共有を許可する場合がある。そのため、信頼された実行環境の中で推論を生成することによって、信頼されたニューラルネットワークアプリケーション２２４は、ユーザのプライバシー及び／又は個人情報が保護されることを保証する場合がある。
【００７１】
ユーザデバイス２００は、更に、推論に関連付けられたコンテンツを出力する場合がある（７４０）。例えば、ユーザアプリケーション２１２は、ニューラルネットワークアプリケーション２２４から推論を受信する場合があり、シーンにおいて推論された対象に関連付けられた追加的なコンテンツをユーザに提供する場合がある。いくつかの態様では、ユーザアプリケーション２１２は、対象の説明を（例えば、シーンの上部におけるＡＲオーバーレイとして）表示する場合がある。他のいくつかの態様では、ユーザアプリケーション２１２は、ユーザデバイス２００の内部の、又は、ユーザデバイス２００に接続されたスピーカーを介して、（オブジェクトの名前といった）オブジェクトに対応する音声を再生する場合がある。例えば、音声は、いくつかの異なる言語で再生される場合がある。その上さらに、いくつかの態様では、ユーザアプリケーション２１２は、識別された対象に対応する画像及び／又は（映画またはテレビ番組のような）動画を視聴するオプションを、ユーザに提供する場合がある。
【００７２】
図８は、いくつかの実施形態に係る、例示的なメディア再生動作８００を示す例示的なフローチャートである。例えば図２を参照して、動作８００は、ユーザの関心または好みに基づいてメディアコンテンツを再生するための動的な動画インタフェースを提供するために、ユーザデバイス２００によって実行される場合がある。
【００７３】
ユーザデバイス２００は、学習モジュールから１以上のニューラルネットワークモデルを取得する場合がある（８１０）。いくつかの態様では、学習モジュールは、クラウド、又は、ユーザデバイス２００の外部のネットワーク環境（例えば、図１のネットワーク環境１０１）上に配置される場合がある。他のいくつかの態様では、学習モジュールは、ユーザデバイス２００上にローカルに存在する場合がある（例えば、リッチニューラルネットワークアプリケーション２１４又は信頼されたニューラルネットワークアプリケーション２２４）。いくつかの実施形態では、ニューラルネットワークモデルは、ユーザデバイス２００によって表示又は再生されるメディアコンテンツ内で検出可能な特定の関心の対象（例えば、ロゴ、記号、及び、他のブランドを識別するマーク）を記述するルールのセットに対応する場合がある。
【００７４】
ユーザデバイス２００は、プレミアムコンテンツの再生を開始する場合がある（８２０）。たとえば、プレミアムコンテンツには、ＤＲＭ、著作権、商標、及び、他のさまざまな法律や規則によって保護される（テレビ番組や映画といった）任意のメディアコンテンツが含まれ得る。いくつかの態様では、プレミアムコンテンツは、１以上のコンテンツ配信ネットワーク（ＣＤＮ）から受信される（例えば、ストリーミングされるか、さもなければ提供される）場合がある。上記で説明したように、そのようなプレミアムコンテンツは、ユーザデバイス２００の信頼された実行環境（ＴＥＥ）内に存在するセキュアなリポジトリ（例えば、セキュアなハードウェアリソース２３２）に記憶又はバッファされる場合がある。より詳細には、セキュアなハードウェアリソース２３２は、信頼された環境の外のソフトウェア及び／又はハードウェアからはアクセス不可である場合がある。
【００７５】
ユーザデバイス２００は、１以上のニューラルネットワークモデルを用いて、プレミアムコンテンツについての推論を生成する場合がある（８３０）。例えば、ニューラルネットワークアプリケーション２２４は、ニューラルネットワークモデルに対応するルールのセットに基づいて、プレミアムコンテンツ内の関心の対象を検出及び／又は識別する場合がある。いくつかの態様では、識別された対象は、プレミアムコンテンツに関係する制作スタジオ、テレビネットワーク、又は、広告主を示し得るロゴ、記号、及び、ブランドを識別するための他のマークに対応する場合がある。上記で説明したように、信頼された実行環境は外部からアクセス不可である場合がある。しかしながら、信頼されたニューラルネットワークアプリケーション２２４は、信頼された実行環境の内に存在するため、信頼されたニューラルネットワークアプリケーション２２４は、ユーザデバイス２００上でプレミアムコンテンツを表示又は描写するために用いられるフルフレームのピクセルデータにアクセスし得る。これに応じて、ニューラルネットワークアプリケーション２２４は、デコード後ビデオフレームバッファに記憶又はバッファされた（例えば、ユーザデバイス２００によって描写又は表示されるべき）実際のピクセルデータに基づいて、プレミアムコンテンツについての推論を生成する場合がある。
【００７６】
ユーザデバイス２００は、更に、推論に基づいて、コンテンツ及び／又は推奨を出力する場合がある（８４０）。例えば、ユーザアプリケーション２１２は、セキュアなハードウェアリソース２３２に記憶されたプレミアムコンテンツをストリーミングまたは再生可能な動画再生アプリケーションを含む場合がある。ユーザアプリケーション２１２は、ニューラルネットワークアプリケーション２２４から推論を受信する場合があり、プレミアムコンテンツ内で推測された対象に関連付けられた追加的なコンテンツをユーザに提供する場合がある。いくつかの実施形態では、ユーザアプリケーション２１２は、ニューラルネットワークアプリケーション２２４から受信した推論（例えば、ロゴ、及び、記号等）に基づいて、ユーザの好み、及び／又は、興味を決定する場合がある。
【００７７】
例えば、いくつかの態様では、ユーザアプリケーション２１２は、識別されたロゴ又は記号に基づいて、ユーザデバイス２００のユーザが、特定のテレビ局又はネットワークで放送されるテレビ番組を好むと決定する場合がある。これに応じて、ユーザアプリケーション２１２は、同じテレビネットワークまたは制作スタジオからの他の番組をユーザに推奨する場合がある。いくつかの実装では、メディアコンテンツの所有者または作成者（例えば、それは放送テレビネットワーク又は制作スタジオである場合がある）は、メディアコンテンツをユーザデバイス２００にストリーミング又は送信するコンテンツ配信ネットワーク（ＣＤＮ）（例えば、それはビデオオンデマンド（ｖｉｄｅｏ−ｏｎ−ｄｅｍａｎｄ）（ＶｏＤ）又はペイパービュー（ｐａｙ−ｐｅｒ−ｖｉｅｗ）（ＰＰＶ）サービスをストリーミングする場合がある）とは異なる場合がある。そのため、いくつかの態様では、そこから推論が行われたところのプレミアムコンテンツをストリーミングした（又は、さもなくば、配信した）ＣＤＮと同じＣＤＮによってストリーミング（または配信）するためにそのような追加的なコンテンツが利用可能な場合に、ユーザアプリケーション２１２は、（例えば、ニューラルネットワークアプリケーション２２４によって生成された推論に基づく）好適なコンテンツ作成者又は所有者からの追加的なコンテンツを視聴するオプションをユーザに提供する場合がある。
【００７８】
いくつかの他の態様では、ユーザアプリケーション２１２は、推論（例えば、識別されたロゴ又は記号）に基づいて、ユーザデバイス２００のユーザが特定のブランドの製品、又は、特定の種類の製品を好む、あるいは、関心を持っていると決定する場合がある。これに応じて、ユーザアプリケーション２１２は、特定のブランド又は特定の種類の製品（または関連のブランド及び／又は製品）にターゲットされた広告をユーザに提示する場合がある。例えば、ターゲットされた広告には、識別された製品を購入するオプションが含まれる場合がある。
【００７９】
その上更に、いくつかの実施形態では、ユーザデバイス２００は、推論に基づいて、フィルタされたフィードバックデータをコンテンツプロバイダに送信する場合がある（８５０）。例えば、他のいくつかの態様では、ユーザアプリケーション２１２は、何れの広告及び／又は製品のブランディングが、ユーザデバイス２００のユーザによって閲覧された可能性が最も高いか、を推論に基づいて決定する場合がある。これに応じて、ユーザアプリケーション２１２は、メディアコンテンツを放送したテレビネットワークへ、広告またはプロダクトプレイスメントのためのアトリビューションを提供する場合がある。例えば、ユーザアプリケーション２１２は、（広告のタイミング、広告を表示したネットワーク、及び、広告が閲覧された場所等といった）広告に関する解析を、製品又は広告を作成した会社に提供する場合がある。
【００８０】
図９は、いくつかの実施形態に係る、例示的な認証動作９００を示す例示的なフローチャートである。例えば図２を参照して、動作９００は、ユーザの分類に基づいてメディアコンテンツを再生するための動的な動画インタフェースを提供するために、ユーザデバイス２００によって実行される場合がある。
【００８１】
ユーザデバイス２００は、カメラを用いてシーンを撮影する場合がある（９１０）。例えば、ユーザアプリケーション２１２は、ユーザデバイス２００内にあるか、又は、ユーザデバイス２００と接続された、カメラ又は他の画像若しくは動画のキャプチャデバイスと通信可能なカメラベースのアプリケーションを含む場合がある。いくつかの実施形態では、本シーンは、ユーザデバイス２００のユーザを１以上含む場合がある。いくつかの態様では、ユーザアプリケーション２１２は、ユーザデバイス２００のディスプレイ上、及び／又は、ユーザデバイス２００に接続された表示デバイス上に、撮影されたシーンを描写又は表示する場合がある。
【００８２】
ユーザデバイス２００は、学習モジュールから１以上のニューラルネットワークモデルを取得する場合がある（９２０）。いくつかの実施形態では、ニューラルネットワークモデルは、ユーザデバイス２００のユーザを認証するために使用可能な生体認証の指標（例えば、顔の特徴、声のパターン、及び、指紋等）を記述するルールのセットに対応する場合がある。ニューラルネットワークモデルは、登録プロセスの間（例えば、ユーザがユーザデバイス２００による検出のために彼又は彼女の生体認証シグネチャを登録するとき）に取得された生体認証データに基づいて生成される場合がある。セキュリティを強化し、ユーザのプライバシーを保護するために、生体認証データは、ユーザデバイス２００の信頼された実行環境（ＴＥＥ）の中に存在するセキュアなリポジトリ（例えば、セキュアなハードウェアリソース２３２）に記憶される場合がある。そのため、いくつかの実施形態では、学習モジュール（例えば、信頼されたニューラルネットワークアプリケーション２２４）もまた、ユーザデバイス２００の中の信頼された実行環境内に存在する場合がある。
【００８３】
ユーザデバイス２００は、１以上のニューラルネットワークモデルを用いて、シーンについての推論を生成する場合がある（９３０）。例えば、ニューラルネットワークアプリケーション２２４は、ニューラルネットワークモデルに関連付けられたルールのセットに基づいて、シーンの内の関心の対象を検出及び／又は識別する場合がある。いくつかの態様では、識別された対象は、ユーザデバイス２００のユーザの身元を示し得る（ユーザの顔といった）生体認証の特徴に対応する場合がある。例えば、ニューラルネットワークアプリケーション２２４は、識別された生体認証の特徴に基づいて、ユーザデバイス２００の一人以上のユーザ（例えば、カメラに撮影されたシーンに含まれる１人または複数の人物）を分類する場合がある。上記で説明したように、信頼された実行環境は外部からアクセス不可である場合がある。しかしながら、信頼されたニューラルネットワークアプリケーション２２４が信頼された実行環境の内部に存在するため、ニューラルネットワークアプリケーション２２４は、各ユーザに関連付けられた生体認証データ（およびニューラルネットワークモデル）にアクセスし得る。いくつかの実施形態では、ニューラルネットワークアプリケーション２２４は、シーンが撮影された画像又は動画を用いて、（ニューラルネットワークモデルのうち最後の層、又は、最後の数層といった）ユーザについてのニューラルネットワークモデルを更に学習又は再学習する場合がある。
【００８４】
ユーザデバイス２００は、更に、推論に基づいて、コンテンツ及び／又は推奨を出力する場合がある（９４０）。例えば、ユーザアプリケーション２１２は、ニューラルネットワークアプリケーション２２４から推論を受信する場合があり、ユーザデバイス２００のユーザにターゲットされた推奨をユーザに提供する場合がある。より詳細には、ユーザアプリケーション２１２は、ユーザデバイス２００の１人以上のユーザの分類に少なくとも部分的に基づいて、ユーザデバイス２００を介してどの推奨を表示するか、を決定する場合がある。図５に関連して説明したように、ユーザアプリケーション２１２は、メディアコンテンツについてのユーザの興味及び／又は好みについての知識を有している場合がある。そのため、ユーザアプリケーション２１２は、ユーザデバイス２００の一人以上のユーザの興味にマッチする画像及び／又は（映画またはテレビ番組のような）動画を視聴するオプションをユーザに提供し得る。いくつかの態様では、ユーザアプリケーション２１２は、１人または複数のユーザの興味又は好みに合わせてキュレーションされたカスタムユーザインターフェース（例えば、プログラムガイド、及び、ランチャ等）を生成する場合がある。例えば、カスタムユーザインターフェース（ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）（ＵＩ）は、１人以上のユーザの興味にマッチする種類のメディアコンテンツ（例えば、スポーツ、リアリティショー、及び、ドラマ等）のみを含む場合がある。いくつかの態様では、カスタムＵＩは、新しいユーザがユーザデバイス２００によって検出されるたびに、動的に更新される場合がある。
【００８５】
ニューラルネットワークアプリケーション２２４によって複数のユーザが検出されるいくつかの態様では、ユーザアプリケーション２１２は、ユーザのうちの１人のみに対する推奨を表示する場合がある。例えば、１人以上の子供と共に、成人がニューラルネットワークアプリケーション２２４によって検出されたときには、ユーザアプリケーション２１２は、子供のみに適した推奨（例えば、漫画、教育プログラム、及び、子供にフレンドリーな他のコンテンツ）を表示する場合がある。複数のユーザがニューラルネットワークアプリケーション２２４によって検出されるいくつかの他の態様では、ユーザアプリケーション２１２は、複数のユーザに対する推奨を表示する場合がある。例えば、ニューラルネットワークアプリケーション２２４によって夫及び妻が検出されたときには、ユーザアプリケーション２１２は、妻に対する推奨と同様に、夫に対する推奨をも表示する場合がある。その上さらに、いくつかの態様では、ニューラルネットワークアプリケーション２２４は、ユーザのグループに対する推奨を表示する場合がある。例えば、ニューラルネットワークアプリケーション２２４によって友人のグループが検出されたときには、ユーザアプリケーション２１２は、グループの共通の関心に基づいて推奨を表示する場合がある（例えば、ゲームショー、スポーツ、及び、グループが全体として楽しむことが知られている他のショー又はプログラム）。
【００８６】
当業者は、様々な異なる任意のテクノロジー及び技術を用いて、情報及び信号が表し得ることを理解するであろう。例えば、上述の説明を通して参照され得るデータ、命令、コマンド、情報、信号、ビット、記号、及び、チップは、電圧、電流、電磁波、磁界又は粒子、光場又は粒子、あるいは、これらの組合せによって表し得る。
【００８７】
さらに、当業者は、本開示の態様に関連して説明された様々な例示的な論理ブロック、モジュール、回路、及び、アルゴリズムのステップが、電気的なハードウェア、コンピュータソフトウェア、及び両者の組合せとして実装し得ることを理解しよう。このハードウェアとソフトウェアの交換可能性を明確に図示するために、例示的な様々なコンポーネント、ブロック、モジュール、回路、及び、ステップが、一般に、その機能の観点で上述のように説明されてきた。このような機能がハードウェア又はソフトウェアの何れで実装されるかは、システム全体に要求される特定のアプリケーションとデザイン上の制約に依存する。当業者は説明された機能を特定のアプリケーション毎に様々な方法で実装し得るが、そのような実装上の決定が、本開示の範囲からの逸脱を生じさせると解釈されてはならない。
【００８８】
本開示の態様に関連して説明された方法、手順、又はアルゴリズムは、ハードウェアにより、プロセッサによって実行されるソフトウェアモジュールにより、あるいは、両者の組合せにより、直接的に具体化され得る。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当技術分野で既知の他の形式の記憶媒体に常駐することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに接続される。あるいは、記憶媒体はプロセッサに統合されてもよい。
【００８９】
前述の明細書では、その具体的な例を参照して実施形態が説明されてきた。しかしながら、添付の特許請求の範囲に提示されているように、本開示のより広い範囲を逸脱することなく、それらに対して様々な変形や変更が成し得ることは明らかであろう。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で解釈される。
【図１】
2021536638.tif 000003
【図２】
2021536638.tif 000004
【図３】
2021536638.tif 000005
【図４】
2021536638.tif 000006
【図５】
2021536638.tif 000007
【図６】
2021536638.tif 000008
【図７】
2021536638.tif 000009
【図８】
2021536638.tif 000010
【図９】
2021536638.tif 000011
【国際調査報告】
2021536638.tif 000012
2021536638.tif 000013