(57)【特許請求の範囲】
【請求項１】
コンピュータによって実現される方法であって、
デバイスが、インフォテインメントシステムの構成要素から、前記構成要素において入力された入力を受信することを備え、前記インフォテインメントシステムは、前記デバイスから遠隔であり自動車に組込まれており、さらに、
前記デバイスが、アプリケーションについてのレンダリング速度を決定することと、
前記デバイスが、前記レンダリング速度に応答してダミーフレームを生成することと、
前記デバイスが、前記ダミーフレームを含む複数のフレームを前記デバイスのエンコーダに与えることと、
前記エンコーダが、前記ダミーフレームを含む前記複数のフレームをレンダリングすることと、
前記デバイスが、前記複数のフレームを前記構成要素に与えることとを備える、方法。
【請求項２】
前記複数のフレームは、前記ダミーフレームおよび定期的にレンダリングされるフレームを含む、請求項１に記載の方法。
【請求項３】
前記構成要素はディスプレイを含み、前記入力は接触を含む、請求項１または２に記載の方法。
【請求項４】
前記ダミーフレームを生成する前に、前記デバイスが、前記レンダリング速度が閾値レベル未満であると決定することをさらに備える、請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記ダミーフレームを生成する前に、前記デバイスが、前記レンダリング速度が一定でないと決定することをさらに備える、請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記複数のフレームを与えることは、前記複数のフレームを前記構成要素のデコーダに与えることを含む、請求項１から５のいずれか１項に記載の方法。
【請求項７】
前記複数のフレームは、前記構成要素上の前記アプリケーションの提示の一部の更新を表わす、請求項１から６のいずれか１項に記載の方法。
【請求項８】
前記構成要素はディスプレイを含む、請求項１または２に記載の方法。
【請求項９】
デバイスであって、
プロセッサと、
前記プロセッサと通信しているエンコーダと、
前記プロセッサと通信しており命令を格納している非一時的なコンピュータ読取可能媒体とを備え、前記命令は前記プロセッサによって実行されると前記プロセッサに動作を実行させ、前記動作は、
前記デバイスから遠隔であり自動車に組込まれているインフォテインメントシステムの構成要素から、前記構成要素において入力された入力を受信することと、
アプリケーションについてのレンダリング速度を決定することとを含み、前記アプリケーションは前記デバイス上で実行され、前記動作はさらに、
前記レンダリング速度に応答してダミーフレームを生成することと、
前記ダミーフレームを含む複数のフレームを前記エンコーダに与えることと、
前記エンコーダに前記ダミーフレームを含む前記複数のフレームをレンダリングさせることと、
前記複数のフレームを前記構成要素に与えることとを含む、デバイス。
【請求項１０】
前記生成することは、前記エンコーダによって生成することを含む、請求項９に記載のデバイス。
【請求項１１】
前記レンダリングさせることは、前記ダミーフレームを含む前記複数のフレームでパイプラインを充填することを含む、請求項９または１０に記載のデバイス。
【請求項１２】
前記複数のフレームを与えることは、投影アーキテクチャに従って前記複数のフレームを前記構成要素に送信することを含む、請求項９から１１のいずれか１項に記載のデバイス。
【請求項１３】
前記構成要素はディスプレイを含む、請求項９から１２のいずれか１項に記載のデバイス。
【請求項１４】
命令を格納しているプログラムであって、前記命令はプロセッサによって実行されると前記プロセッサに動作を実行させ、前記動作は、
自動車に組込まれているインフォテインメントシステムの構成要素から、前記構成要素において入力された入力を受信することと、
アプリケーションについてのレンダリング速度を決定することと、
前記レンダリング速度に基づいてダミーフレームの量を決定することと、
前記ダミーフレームの前記量の決定に基づいて一組の前記ダミーフレームを生成することと、
前記ダミーフレームを含む複数のフレームを、前記プロセッサと通信しているエンコーダに与えることと、
前記エンコーダに前記一組の前記ダミーフレームを含む前記複数のフレームをレンダリングさせることと、
前記複数のフレームを前記構成要素に与えることとを含む、プログラム。
【請求項１５】
前記ダミーフレームの量を決定することは、パイプラインのステージの数にさらに基づく、請求項１４に記載のプログラム。
【請求項１６】
前記ダミーフレームの量を決定することは、パイプラインのステージの数および定期的にレンダリングされるフレームの数にさらに基づく、請求項１４または１５に記載のプログラム。
【請求項１７】
前記レンダリングさせることは、パイプラインを充填することを含む、請求項１４から１６のいずれか１項に記載のプログラム。
【請求項１８】
前記レンダリングさせることは、前記一組の前記ダミーフレームおよび視認可能な定期的にレンダリングされるフレームでパイプラインを充填することを含む、請求項１４から１７のいずれか１項に記載のプログラム。
【請求項１９】
前記レンダリングさせることは、前記一組の前記ダミーフレームおよび視認可能な定期的にレンダリングされるフレームの各々をパイプライン内で順序付けることを含む、請求項１４から１８のいずれか１項に記載のプログラム。
【請求項２０】
前記構成要素はディスプレイを含む、請求項１４から１９のいずれか１項に記載のプログラム。
【請求項２１】
前記レンダリング速度を決定することは、前記エンコーダのスループットに基づいて前記レンダリング速度を決定することを含む、請求項１から８のいずれか１項に記載の方法。
【請求項２２】
前記レンダリング速度を決定することは、前記エンコーダのスループットに基づいて前記レンダリング速度を決定することを含む、請求項９から１３のいずれか１項に記載のデバイス。
【請求項２３】
前記レンダリング速度を決定することは、前記エンコーダのスループットに基づいて前記レンダリング速度を決定することを含む、請求項１４から２０のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
背景
ストリーミングビデオシステムにおいて、ビデオフレームはエンコーダによってレンダリングされ得る。エンコーダはたとえば、ビデオストリームが示されることになるディスプレイと互換性のあるフォーマットおよび／または解像度でビデオストリームを圧縮および／またはエンコードし得る。ビデオをレンダリングするデバイスとディスプレイとの間の接続は、有線（たとえばＵＳＢ）または無線（たとえばＷｉＦｉ（登録商標）、ブルートゥース（登録商標））接続であり得る。ディスプレイと関連付けられたデコーダが、自身が受信するエンコードされたビデオフレームをデコードし得る。ビデオが一定のフレームレートでレンダリングされる場合、ディスプレイは新たなフレームで連続的に更新され得る。
【発明の概要】
【課題を解決するための手段】
【０００２】
簡潔な概要
ある実現例に従うと、モバイルデバイスは、リモートディスプレイ上のタッチ入力の指示を受信し得る。リモートディスプレイはモバイルデバイスとは別個であり得、タッチ入力はディスプレイ上に示されているアプリケーションの変更と関連付けられ得る。モバイルデバイスは、アプリケーションについてのレンダリング速度を決定し得る。レンダリング速度に基づいてモバイルデバイスのエンコーダに少なくとも１つのダミー応答が送信され得る。少なくとも１つのダミーフレームを含む１つ以上のフレームがレンダリングされ得る。レンダリングによってエンコーダのパイプラインが充填され得る。充填されたパイプラインを含む１つ以上のフレームは、ディスプレイに結合されているデコーダに送信され得る。
【０００３】
モバイルデバイスに接続されているプロセッサを含むシステムが開示される。プロセッサは、リモートディスプレイ上のタッチ入力の指示を受信するように構成され得る。リモートディスプレイはモバイルデバイスとは別個であり得、タッチ入力はディスプレイ上に示されているアプリケーションの変更と関連付けられ得る。プロセッサは、アプリケーションについてのレンダリング速度を決定するように構成され得る。プロセッサは、レンダリング速度に基づいて少なくとも１つのダミーフレームをモバイルデバイスのエンコーダに送信し得る。プロセッサは、少なくとも１つのダミーフレームを含む１つ以上のフレームをレンダリングし得る。レンダリングによってエンコーダのパイプラインが充填され得る。プロセッサは、充填されたパイプラインを構成するフレームを、ディスプレイに結合されているデコーダに送信するように構成され得る。
【０００４】
インフォテインメントシステムから受信した入力に応答して少なくとも１つのフレームが生成されるプロセスが、ある実現例において開示される。レンダリング速度は一定でないと決定され得る。少なくとも１つのダミーフレームおよび少なくとも１つのフレームがエンコーダに送信され得る。エンコーダは、少なくとも１つのダミーフレームおよび少なくとも１つのフレームをレンダリングして、１つ以上のレンダリングされたフレームを形成し得る。１つ以上のレンダリングされたフレームは、インフォテインメントシステムに接続されているデコーダに送信され得る。インフォテインメントシステムは１つ以上のレンダリングされたフレームを表示し得る。
【０００５】
ある実現例では、ここに開示される主題に係るシステムは、インフォテインメントシステムから受信した入力に応答して１つ以上のフレームを生成するための手段を含む。システムは、レンダリング速度が一定でないと決定するための手段を含み得る。システムは、１つ以上のダミーフレームおよび１つ以上のフレームをエンコーダに送信するための手段を含み得る。システムは、１つ以上のダミーフレームおよび１つ以上のフレームををレンダリングして、レンダリングされたフレームを形成するためのエンコーダ手段を含み得る。システムは、レンダリングされたフレームを、インフォテインメントシステムに接続されているデコーダに送信するための手段を含み得る。インフォテインメントシステムは、レンダリングされたフレームを表示するための手段を含み得る。
【０００６】
開示される主題の付加的な特徴、利点、および実現例は、記載され得るか、または以下の詳細な説明、図面、および請求項を考慮することによって明らかになり得る。さらに、上述の概要および以下の詳細な説明は、実現例を提供するものであり、請求項の範囲を限定することなくさらなる説明を提供するように意図されていると理解すべきである。
【０００７】
開示される主題のさらなる理解を提供するために含まれている添付の図面は、本明細書に組込まれてその一部を構成する。図面も、開示される主題の実現例を例示しており、詳細な説明とともに、開示される主題の実現例の原理を説明するのに役立つ。開示される主題およびそれが実施され得るさまざまな方法の基本的な理解のために必要であり得る以上に詳細に構造上の詳細を示す試みはなされていない。
【図面の簡単な説明】
【０００８】
【図１】本明細書に開示されるように、モバイルデバイスを利用してインフォテインメントシステムのディスプレイを駆動する例示的なシステムを示す図である。
【図２】本明細書に開示されるように、リモートディスプレイ上でビデオフレームをレンダリングするための例示的なプロセスの図である。
【図３】本明細書に開示されるように、リモートディスプレイ上でビデオフレームをレンダリングするための例示的なプロセスの図である。
【図４】本明細書に開示されるように、エンコーダによってレンダリングされて、インフォテインメントシステムに結合されているデコーダに送信されるべき１つ以上のダミーフレームを生成するための例示的なプロセスの図である。
【図５】開示される主題の実現例に係るコンピュータを示す図である。
【図６】開示される主題の実現例に係るネットワーク構成を示す図である。
【発明を実施するための形態】
【０００９】
詳細な説明
ユーザは、接触によって、キーを押すことによって、またはダイヤルを回すことによって、などのさまざまな方法でディスプレイとインタラクションし得る。ユーザインタラクションのためのビデオエンコーダは、ユーザの入力（たとえば接触）に応答してディスプレイ上でビデオを効率的にレンダリングするのが難しい場合がある。典型的なビデオエンコーダは、エンコードされたフレームを形成するのにいくつかのフレームを必要とするパイプラインとして動作する。これは、ディスプレイが定期的にしか更新されない場合には困難であり得る。ビデオが３０フレーム／秒（「ＦＰＳ」）などの一定速度でレンダリングされる場合は、画面は絶えずリフレッシュされ得る。ディスプレイを駆動しているデバイスが十分強力である場合は、デバイスはディスプレイを容易に一定速度で駆動し得る。しかし、モバイルデバイスのように、デバイスがそれほど強力でない場合は、ディスプレイ上に変更を示すことが必要である場合にのみディスプレイに対してフレームをレンダリングすることが有利であり得る。たとえば、ユーザがディスプレイに触れると、ユーザがディスプレイを介してインタラクションしているアプリケーションは、ディスプレイのごく一部のみを更新し得る。エンコーダは、たとえば１つまたは２つのフレームをレンダリングし得、それをディスプレイに接続されているデコーダに送信し得る。
【００１０】
図１は、モバイルデバイス１３０を利用してインフォテインメントシステム１６０のディスプレイ１４０を駆動する例示的なシステムである。これは投影（projected）アーキテクチャと称され得る。モバイルデバイス１３０は、ディスプレイ解像度、アスペクト比、１つ以上のボタン、および１つ以上のダイヤルに関してインフォテインメントシステムのレイアウトの指示を受信し得る。ラジオまたは車両の温度制御などのインフォテインメントシステム１６０の他の機能も同様に、投影アーキテクチャシステムにおいてモバイルデバイス１３０によって制御され得る。モバイルデバイス１３０は、ＵＳＢケーブルまたは他の有線もしくは無線接続を用いて車両１７０（または他のリモートシステム）に接続され得る。モバイルデバイス１３０のためのエンコーダ１２０は、電力制約のために２つ以上のステージを有するパイプラインを利用し得る。３ステージパイプラインは、たとえば、自身が送信すべき３つのフレームを有するまで、エンコードされたフレームを送信するのを待ち得る。したがって、インフォテインメントシステム１６０のディスプレイ１４０は、エンコーダ１２０がアプリケーション１１０または他の場所からレンダリングすべき３つのフレームを受信しない限り、かつ受信するまで、変更をまったく示さない場合がある。ユーザインターフェイス更新が１つ（たとえばレンダリング中の１つのフレーム）しかない場合は、ディスプレイ１４０は、ユーザインタラクションによる変更を誤って反映しない場合がある。なぜなら、エンコーダ１２０は、３ステージパイプラインを充填するためのあと２つのフレームを有するまで、当該変更を示すレンダリングされたフレームを送信するのを待っているからである。パイプラインが一杯になると、レンダリングされたビデオフレームは、インフォテインメントシステム１６０に接続されているデコーダ１５０に送信され得る。
【００１１】
本明細書に開示されるように、エンコーダ（たとえばモバイルデバイス）は、インフォテインメントディスプレイ上に示されている、モバイルデバイス上で動作している１つ以上のアプリケーションのレンダリング速度に基づいて、ダミーフレームが必要であるか否かを判断し得る。ダミーフレームとは、たとえば、システムに前のフレームを示すように指示する、短い簡単なフレームインジケータを指し得る。ダミーフレームは、小さいため、圧縮されたビデオストリームが小さいままであること、および／またはより容易に送信されることに役立つ。ダミーフレームは、アプリケーションが一定のレンダリングアプリケーションでない場合にパイプラインをプッシュするのを助け得る。たとえば、アプリケーションが映画を示しており、それが３０ＦＰＳでレンダリングされる場合は、ダミーフレームは有用でない場合がある。しかし、アプリケーションがユーザインターフェイスコンポーネントを更新中である場合は、当該アプリケーションは１つまたはいくつかのフレームを連続的にではなく定期的にレンダリングしている場合がある。これはパイプラインレイテンシ問題として反映され得、本明細書に開示されるように、１つ以上のダミーフレームを送信してパイプラインの未充填ステージを充填し、インフォテインメントシステムのディスプレイおよび／またはそれに接続されているデコーダに送信すべき次のレンダリングされたフレームのセットのためにパイプラインを空にすることによって改善することができる。
【００１２】
ダミーフレームが必要であるか否かの判断は、レンダリング速度に基づき得る。レンダリング速度はいくつかの方法で決定され得る。システムは、ある期間にわたってエンコーダのスループットに着目し得、スループットに基づいて、エンコーダによるレンダリングの速度を割当て得る。エンコーダに指図するアプリケーションは、レンダリング速度の指示を与え得る。たとえば、映画レンダリングアプリケーションは、自身が一定のレンダリングアプリケーションであり、ダミーフレームは不要であるという指示を与え得る。同様に、受信されるユーザ入力の種類は、ユーザの入力に応答するのに必要であり得るレンダリングの量の指示を与え得る。たとえば、ユーザがディスプレイ上にある形を描いている場合、システムは、ユーザの追加の入力を予想して、エンコーダにダミーフレームを送信するのを待ち得る。このように、ダミーフレームを送信する決定は、レンダリングのパターン、入力の種類、およびアプリケーションの種類に基づき得る。
【００１３】
図２の例に示されるように、リモートディスプレイ上でビデオフレームをレンダリングするためのプロセスが開示される。２１０において、モバイルデバイスはリモートディスプレイ上で入力の指示を受信し得る。リモートディスプレイは、車両に統合されているインフォテインメントシステムの構成要素であり得る。入力は、たとえば、リモートディスプレイ上のタッチ入力であり得る。モバイルデバイスはリモートディスプレイを駆動し得る。たとえば、ナビゲーションアプリケーションがモバイルデバイス上で動作し得、モバイルデバイスのディスプレイに加えて、または当該ディスプレイの代わりに、リモートディスプレイ上に示され得る。ユーザは、リモートディスプレイ上のソフトボタンを選択している場合がある。タッチ入力の位置がモバイルデバイスに送信され得る。アプリケーションは、タッチ入力の位置がソフトボタンに対応すると判断し得、それは、リモートディスプレイの更新を必要とする特徴と関連付けられ得る。
【００１４】
２２０において、モバイルデバイスはアプリケーションについてのレンダリング速度を決定し得る。上述のように、レンダリング速度はアプリケーション、入力の種類、およびレンダリングのパターンに基づいて決定され得る。アプリケーションは一定のレンダリング速度であり得、その場合、モバイルデバイスは、リモートディスプレイから受信した入力に応答してリモートディスプレイについて適切なフレームをレンダリングし得る。レンダリング速度が定期的であると決定されるか、またはまたはそうでなければ一定でないと決定されると、２３０において、モバイルデバイスは１つ以上のダミーフレームをエンコーダに送信し得る。いくつかの場合、モバイルデバイスは閾値レンダリング速度で予め構成され得、これを下回るとモバイルデバイスはダミーフレームを送信し得、これを上回るとモバイルデバイスはダミーフレームを全く送信し得ない。ダミーフレームは生成され得、ディスプレイが前のフレームまたは後のフレームを利用すべきであることをディスプレイに指示する計算コードであり得る。
【００１５】
上述のように、パイプラインは、単一のフレームに対応する１つ以上のステージを含み得る。２４０において、任意のダミーフレームを含む１つ以上のフレームがエンコーダによってレンダリングされ得る。パイプラインが充填されるように十分な数のダミーフレームが提供され得、これによって、２５０において、モバイルデバイスは、レンダリングされたフレームをエンコーダからディスプレイに結合されているデコーダに送信する。パイプライン内のフレームが送信されると、モバイルデバイスはパイプラインを空にし得、エンコーダはパイプラインをフレームで充填するのを再び待ち得る。提供されるダミーフレームの数はレンダリング速度と相互に関連し得る。モバイルデバイスがディスプレイの一部を更新中である場合、モバイルデバイスは、パイプラインを充填するのに十分な数のフレームを自身が提供しなければならないと判断し得る。
【００１６】
図３は、モバイルデバイス３１０、およびたとえば自動車インフォテインメントシステム３４０のリモートディスプレイ３６０の１つ以上を含み得るシステムの例を示す。モバイルデバイス３１０は、自身のディスプレイ、プロセッサ３２２、コンピュータ読取可能メモリ３２４を有し得る。モバイルデバイス３１０は、１つ以上のアプリケーション３２０を同時に動作させ得る。アプリケーション３２０の各々は、レンダリング速度またはアプリケーションの種類と関連付けられ得る。たとえば、アプリケーション３２０は、要求されると、そのレンダリング速度が何であるかをプロセッサに指示し得る。アプリケーション３２０は、一定のレンダリング速度と関連付けられている映画の種類のアプリケーションであり得る。モバイルデバイス３１０は、プロセッサ３２２の指図で１つ以上のフレームをレンダリングするように構成されるエンコーダ３３０を有し得る。エンコーダ３３０は、たとえば、自身がレンダリングするフレームの解像度、フォーマット、および圧縮を調整し得る。エンコーダ３３０は、１つ以上のダミーフレームを生成する役割を果たし得る。たとえば、エンコーダ３３０は、リモートディスプレイのデコーダに前のフレームを利用するように指図するコンピュータ読取可能コードを含むフレームを生成し得る。
【００１７】
プロセッサ３２２は、インフォテインメントシステム３４０のリモートディスプレイ３６０から入力の指示を受信するように構成され得る。入力は、リモートディスプレイ３６０がタッチスクリーンである場合は接触を利用して、および／またはインフォテインメントシステム３４０に接続されているボタンもしくはノブを利用して、提供され得る。入力は、有線または無線接続３７０によってモバイルデバイス３１０に送信され得る。モバイルデバイス３１０上で動作しているアプリケーション３２０は、入力がリモートディスプレイ３６０の更新を必要としているか否かを判断し得る。リモートディスプレイ３６０の一部またはすべてに更新が必要とされている場合、モバイルデバイス３１０はアプリケーション３２０についてのレンダリング速度を決定し得る。上述のように、１つよりも多いアプリケーション３２０がモバイルデバイス３１０上で同時に利用され得る。したがって、プロセッサ３２２は、単一のアプリケーション３２０の代わりにエンコーダ３３０のアクティビティに基づいてレンダリング速度を決定し得る。別の例として、プロセッサ３２２は、モバイルデバイス３１０上で現在動作しているすべてのアプリケーションについての合計レンダリング速度を決定し得る。プロセッサ３２２は、レンダリング速度に基づいてエンコーダ３３０に少なくとも１つのダミーフレームを送信し得る。上述のように、エンコーダ３３０は、いくつかの構成ではダミーフレームを生成する役割を果たし得る。エンコーダのパイプラインが完全に充填されるように、少なくとも１つのダミーフレームを含むビデオフレームがレンダリングされ得る。エンコーダ３３０は次に、リモートディスプレイ３６０に結合されているデコーダ３５０にレンダリングされたフレームを送信し得る。
【００１８】
図４にその例が与えられている実現例では、上述のように、４１０において、インフォテインメントシステムから受信した入力に応答して少なくとも１つのフレームが生成され得る。当該フレームは、インフォテインメントシステムに結合されているリモートディスプレイ上に示されるユーザインターフェイスの一部の更新に対応し得る。更新のためのレンダリング速度は、一定速度（たとえば３０ＦＰＳ）または閾値レベル（たとえば１ＦＰＳに満たない）未満であり得る。上述のように、４２０において、モバイルデバイスはレンダリング速度を決定し得る。１つ以上のダミーフレームがエンコーダのパイプラインに組込まれ得る。ダミーフレームは、エンコーダ自身によって生成され得、および／またはパイプラインに挿入され得る。いくつかの構成では、４３０において、ダミーフレームがモバイルデバイスによって生成されてエンコーダに送信され得る。４４０において、エンコーダは、リモートディスプレイの更新と関連付けられた任意のダミーフレームおよびビデオフレームをレンダリングし得る。レンダリングプロセスは、適切な順序でパイプラインにフレームを挿入すること、ビデオフレームを圧縮すること、ビデオストリーム（たとえばストリームを構成するビデオフレーム）をフォーマット化すること、ビデオフレームの解像度を調整すること等を伴い得る。４５０において、レンダリングされたフレームは、インフォテインメントシステムに接続されているデコーダに送信され得る。デコーダは、インフォテインメントシステムのリモートディスプレイ上に提示するためにビデオフレームを適合させ得る。
【００１９】
実現例は、インフォテインメントシステム上のコンテンツの表示、およびインフォテインメントシステムとのユーザインタラクションを駆動するモバイルデバイスを含む投影アーキテクチャシステムの文脈で上に説明されている。しかし、本明細書に開示される実現例は他の構成とも互換性があり得る。たとえば、第１のモバイルデバイスは、第２のモバイルデバイス上のコンテンツの表示を駆動し得る。第２のモバイルデバイスは、第１のモバイルデバイスを介して、自身のディスプレイ上に示されているコンテンツとインタラクションし得る。例として、第１のモバイルデバイスはビデオゲームをホストし得、ビデオゲームのアクションの更新を第２のモバイルデバイスのディスプレイおよび第１のモバイルデバイスのディスプレイ上に提供し得る。
【００２０】
ここに開示される主題の実現例は、さまざまな構成要素およびネットワークアーキテクチャにおいて実現され得、かつこれらとともに用いられ得る。図５は、ここに開示される主題の実現例に好適な例示的なコンピュータ２０である。コンピュータ２０は、中央プロセッサ２４、メモリ２７（典型的にＲＡＭであるが、ＲＯＭ、フラッシュＲＡＭなども含み得る）、入出力コントローラ２８、ディスプレイアダプタを介したディスプレイ画面などのユーザディスプレイ２２、１つ以上のコントローラを含み得、キーボード、マウスなどのユーザ入力装置と関連付けられ得、Ｉ／Ｏコントローラ２８と密接に結合され得るユーザ入力インターフェイス２６、ハードドライブ、フラッシュストレージ、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌネットワーク、ＳＡＮデバイス、ＳＣＳＩデバイスなどの固定ストレージ２３、および光ディスク、フラッシュドライブなどを受けて制御するように動作するリムーバブルメディアコンポーネント２５などの、コンピュータ２０の主要な構成要素同士を相互接続するバス２１を含む。
【００２１】
バス２１は、上述のように、中央プロセッサ２４と、読取り専用メモリ（ＲＯＭ）またはフラッシュメモリ（いずれも図示せず）、およびランダムアクセスメモリ（ＲＡＭ）（図示せず）を含み得るメモリ２７との間のデータ通信を可能にする。ＲＡＭは一般に、オペレーティングシステムおよびアプリケーションプログラムがロードされるメインメモリである。ＲＯＭまたはフラッシュメモリは、いくつかあるコードの中で特に、周辺構成要素とのインタラクションなどの基本的なハードウェア動作を制御するベーシック入出力システム（ＢＩＯＳ）を含み得る。コンピュータ２０に常駐しているアプリケーションは一般に、ハードディスクドライブ（たとえば固定ストレージ２３）、光学式ドライブ、フロッピーディスクなどのコンピュータ読取可能媒体上、または他の記憶媒体２５上に格納され、これらを介してアクセスされる。
【００２２】
固定ストレージ２３はコンピュータ２０と統合され得るか、または別個であり、他のインターフェイスを介してアクセスされ得る。ネットワークインターフェイス２９は、電話リンクを介したリモートサーバへの、インターネットサービスプロバイダ（ＩＳＰ）を介したインターネットへの直接接続、または直接ネットワークリンクを介したリモートサーバへの、ＰＯＰ（point of presence：ポイント・オブ・プレゼンス）もしくは他の技術を介したインターネットへの直接接続を提供し得る。ネットワークインターフェイス２９は、デジタルセルラー電話接続、セルラーデジタルパケットデータ（ＣＤＰＤ）接続、デジタル衛星データ接続などを含む無線技術を用いてそのような接続を提供し得る。たとえば、図６に示されるように、ネットワークインターフェイス２９は、コンピュータが１つ以上のローカルネットワーク、ワイドエリアネットワーク、または他のネットワークを介して他のコンピュータと通信することを可能にし得る。
【００２３】
多くの他のデバイスまたは構成要素（図示せず）が同様に接続され得る（たとえば文書スキャナ、デジタルカメラなど）。逆に、本開示を実施するために、図５に示される構成要素のすべてが存在する必要はない。構成要素は、示されているのとは異なる方法でも相互接続され得る。図５に示されるようなコンピュータの動作は当該技術において容易に知られており、本願では詳細に記載されない。本開示を実現するためのコードは、メモリ２７、固定ストレージ２３、リムーバブルメディア２５の１つ以上などのコンピュータ読取可能記憶媒体内に、またはリモート記憶位置上に格納され得る。
【００２４】
図６は、開示される主題の実現例に係る例示的なネットワーク構成を示す。ローカルコンピュータ、スマートフォン、タブレットコンピューティングデバイスなどの１つ以上のクライアント１０，１１が１つ以上のネットワーク７を介して他のデバイスに接続し得る。ネットワークは、ローカルネットワーク、ワイドエリアネットワーク、インターネット、またはその他の好適な通信ネットワークであり得、有線および／または無線ネットワークを含む任意の好適なプラットフォーム上で実現され得る。クライアントは１つ以上のサーバ１３および／またはデータベース１５と通信し得る。デバイスは、クライアント１０，１１によって直接アクセス可能であってもよいし、または、サーバ１３がデータベース１５に格納されたリソースへのアクセスを提供する場合など、１つ以上の他のデバイスが中間アクセスを提供してもよい。クライアント１０，１１は、リモートプラットフォーム１７、またはクラウドコンピューティング構成およびサービスなどのリモートプラットフォーム１７によって提供されるサービスにもアクセスし得る。リモートプラットフォーム１７は、１つ以上のサーバ１３および／またはデータベース１５を含み得る。
【００２５】
より一般的に、ここに開示される主題のさまざまな実現例は、コンピュータによって実現されるプロセスおよびそれらのプロセスを実施するための装置を含み得るか、またはそれらの形態で実現され得る。実現例はさらに、フロッピーディスケット、ＣＤ−ＲＯＭ、ハードドライブ、ＵＳＢ（ユニバーサルシリアルバス）ドライブ、またはその他の機械読取可能記憶媒体などの、非一時的および／または有形媒体において実現される命令を含むコンピュータプログラムコードを有するコンピュータプログラムプロダクトの形態で実現され得、コンピュータプログラムコードがコンピュータにロードされてコンピュータによって実行されると、当該コンピュータは開示される主題の実現例を実施するための装置になる。実現例はさらに、たとえば、記憶媒体に格納され、コンピュータにロードされるおよび／またはコンピュータによって実行されるか、または電気配線もしくはケーブル配線上で、光ファイバを介して、もしくは電磁放射によってなどして、何らかの通信媒体上で送信されるかに関わらず、コンピュータプログラムコードの形態で実現され得、コンピュータプログラムコードがコンピュータにロードされてコンピュータによって実行されると、当該コンピュータは開示される主題の実現例を実施するための装置になる。汎用マイクロプロセッサ上で実現された場合、コンピュータプログラムコードセグメントは特定論理回路を作成するようにマイクロプロセッサを構成する。いくつかの構成では、コンピュータ読取可能記憶媒体上に格納される１組のコンピュータ読取可能命令が汎用プロセッサによって実現され得、これによって、汎用プロセッサまたは汎用プロセッサを含むデバイスが、当該命令を実現または実行するように構成される専用デバイスに変換され得る。実現例は、開示される主題の実現例に係る技術のすべてまたは一部をハードウェアおよび／またはファームウェアにおいて実現する汎用マイクロプロセッサおよび／または特定用途向け集積回路（ＡＳＩＣ）などのプロセッサを含み得るハードウェアを用いて実現され得る。プロセッサは、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ハードディスク、または電子情報を格納可能なその他のデバイスなどのメモリに結合され得る。メモリは、プロセッサによって実行されて開示される主題の実現例に係る技術を実施するように適合された命令を格納し得る。
【００２６】
開示される主題の実現例がユーザについての個人情報を収集するか、または個人情報を利用し得る場合は、ユーザには、プログラムもしくは特徴がユーザ情報（たとえばユーザが提供した入力、ユーザの地理的な位置、およびユーザと関連付けられたその他の同様のデータ）を収集するか否かを制御する機会、またはユーザとより関連性があり得るプロバイダからデータを受信するか否か、および／もしくは当該データをどのように受信するかを制御する機会が与えられ得る。加えて、一定のデータは、個人特定可能情報が取除かれるように、格納または使用される前に１つ以上の方法で取扱われ得る。たとえば、ユーザのＩＤは、そのユーザについての個人特定可能情報を判断することができないように取扱われ得るか、または、ユーザの地理的な位置は、ユーザの特定の位置を判断することができないように、位置情報が得られる場所が（都市、郵便番号、または州レベルに対してなど）一般化され得る。したがって、ユーザは、ユーザについての情報が本明細書に開示されるシステムによってどのように収集されて用いられるかについての制御を有し得る。
【００２７】
説明の目的のためである上記の記載は、特定の実現例を参照して記載された。しかし、上記の例示的な議論は、網羅的であること、または、開示される主題の実現例を開示されたそのままの形態に限定することが意図されていない。上記の教示に鑑みて多くの修正例および変形例が可能である。上記の実現例は、開示される主題の実現例の原理およびそれらの実際的な適用を説明するために選択および記載されたものであり、これにより他の当業者が、考慮される特定の使用に好適であり得るさまざまな修正例とともに、それらの実現例およびさまざまな実現例を利用することが可能になる。
【図１】
0006469734.tif 000002
【図２】
0006469734.tif 000003
【図３】
0006469734.tif 000004
【図４】
0006469734.tif 000005
【図５】
0006469734.tif 000006
【図６】
0006469734.tif 000007