ここで、図面、より詳細には図1を参照すると、本発明の原理の例示的な実施形態を実装するのに適した例示的な配信システム1を示すブロック図が示されている。分散されたシステム1は、サーバー10、プロキシサーバー20、ならびにユーザデバイス31、32、および33を含む。この実施形態では、3つのユーザデバイス31、32、および33は、プロキシサーバー20またはサーバー10における同じユーザアカウントを共有し、同じユーザによって使用されることが想定される。他のユーザのユーザデバイスもプロキシサーバー20に接続され得る。
この実施形態では、ユーザデバイス31はスタンドアロンユーザデバイスであり、ユーザデバイス32および33はハンドヘルドユーザデバイスである。実施形態におけるユーザデバイス31は、ビデオ番組およびビデオ番組に関連する情報を受信するためのインターネットアクセス機能のようなネットワークアクセス機能を有するテレビ受像機である。テレビ受像機は、ディスプレイを有してもそうでなくてもよい。そのようなテレビ受像機の例は、インターネットアクセス機能を有するセットトップボックス、テレビセット、およびビデオレコーダである。
スタンドアロンユーザデバイスは、本明細書で使用される場合、頻繁には移動されないユーザデバイスを指す。それは、ユーザが、サーバー10またはプロキシサーバー20にスタンドアロンユーザデバイスとしてポータブルデバイスを登録する限り、ドッキングステーションにドッキングされたラップトップのようなポータブルデバイスであってもよい。
この例でのハンドヘルドユーザデバイス32および33はそれぞれ、タブレットおよび携帯電話である。ハンドヘルドユーザデバイスは、その位置を決定し、その位置情報をサーバー10またはプロキシサーバー20に報告できるべきである。ハンドヘルドユーザデバイスも、ネットワークアクセス機能を有するべきである。ハンドヘルド電子ユーザデバイスの例は、携帯電話、タブレット、パーソナルコンピュータ(PC)、遠隔制御デバイス、またはWi−Fi機能を有する別のハンドヘルドデバイスである。ハンドヘルドユーザデバイスは好ましくはポータブルであるべきであるが、それは、ユーザが、サーバー10またはプロキシサーバー20にハンドヘルドユーザデバイスとしてユーザデバイスを登録する限り、デスクトップPCのような非ポータブルデバイスであってもよい。ユーザが異なる寮やアパートのような異なる場所にデスクトップを頻繁に移動するため、ユーザがそのようにする場合がある。実施形態においてハンドヘルドユーザデバイスはワイヤレスとして示されているが、実施形態の原理は、通信回線を有するネットワークに接続する有線にされた(以下、有線)ハンドヘルドユーザデバイスに同様に適用可能である。
ユーザデバイス31、32、および33は、ネットワーク43、たとえば、インターネットを介してプロキシサーバー20に接続され、プロキシサーバー20は、別のネットワーク41を介してサーバー10に接続される。これらの2つのネットワークは、同じネットワークまたは異なるネットワークとすることができる。これらの2つのネットワークが異なる場合、それらは、ゲートウェイのようなインターネットワーク機構を介して互いに接続することができる。
プロキシサーバー20は、ソフトウェア21、および本明細書にされるデータ、オンスクリーン表示データ、ユーザプロファイルデータベースを含む1つまたは複数のコンピュータアプリケーションに関連付けられた他のデータを含むがこれらに制限されないデータを記憶するためのストレージ26と、ソフトウェアおよび/または他のデータを実行するためのプロセッサー29と、を含む。プロキシサーバー20はまた、入力/出力(I/O)ブロック27と、ストレージ26とは別個のメモリまたはストレージ26の部分であり得るキャッシュ28と、を含む。ソフトウェア21は、実例として、コンテンツ適応モジュール22、距離決定モジュール23、ならびに帯域幅割り当ておよび調整モジュール24を含む。
ストレージ26は、スタティックランダムアクセスメモリ(RAM)、ダイナミックRAM、消去可能プログラマブル読出し専用メモリ(EPROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM)、ハードディスク(ネットワーク、内部、もしくは外部)、光ディスク(ネットワーク、内部、もしくは外部)、またはこれらの任意の組み合わせを含むことができる。ストレージデバイスは、ローカルデバイスであってもネットワークデバイスであってもよい。
I/Oブロック27は、プロキシサーバー20のI/O機能を実施するように動作し、または構成される。例示的な実施形態によると、I/Oブロック27は、セル電話、インターネット(ネットワーク41および43など)などの1つまたは複数のネットワークから有線および/またはワイヤレス方式で、サーバー10およびユーザデバイス31、32、33ならびに他のネットワークソースから、ディジタル変調フォーマットのオーディオ、ビデオ、および/またはデータ信号などの信号を受信し、そのような1つまたは複数のネットワークへ有線および/またはワイヤレス方式で信号を出力するように動作しまたは構成される。I/Oブロック27は、有線および/またはワイヤレス信号を受信することができる任意のタイプのI/Oインターフェースとして具現化されてもよく、1つまたは複数の個別コンポーネント(たとえば、アンテナ、プラグなど)から構成されてもよい。
プロセッサー29は、単一プロセッサー、または複数の個別の類似するもしくは異なるプロセッサーとすることができる。プロセッサー29は、本明細書に説明される本発明の様々な実施形態および技法の実施を容易にし、および可能にするプロキシサーバー20の様々な信号処理および制御機能(たとえば、ソフトウェアコードを実行するなど)を実施するように動作しまたは構成される。
例示的な実施形態によると、プロセッサー29は、I/Oブロック27から提供された信号を受信し、1つまたは複数のマイクロプロセッサーおよび/または他の要素によって、プロキシサーバー20に関連付けられたすべての必要な処理および制御機能を実施しおよび/または可能にする。たとえば、プロセッサー29は、チューニング、復調、および誤り訂正を含む機能を実施することによって、I/Oブロック27から提供されたオーディオ、ビデオ、および/またはデータ信号を受信して処理し、それによって、オーディオ、ビデオ、および/またはユーザプロファイル設定などのデータコンテンツを表すディジタルデータを、キャッシュ28および/またはストレージ26に記憶するように動作しまたは構成される。
また、例示的な実施形態によると、プロセッサー29は、ユーザデバイス31〜33からのデータ入力を処理すること、ユーザ入力に応答してプロキシサーバー20の機能を制御すること、ストレージ26および/もしくはキャッシュ28からデータを読み取りまたそれらに書き込むこと、ディスプレイによるオンスクリーン表示を可能にすること、ならびに/または本明細書に説明され得るような他の動作を含むがこれらに制限されない様々な他の機能を、実施しならびに/または可能にするように動作しまたは構成される。
また、例示的な実施形態によると、プロセッサー29は、プロキシサーバー20において共にユーザのユーザアカウントに登録されたスタンドアロンユーザデバイスおよびハンドヘルドユーザデバイスのうちの1つからの、ビデオ番組を求める要求を、I/Oブロック27から受信し、要求に応答して、スタンドアロンユーザデバイスとハンドヘルドユーザデバイスとの間の距離に応じて、2つのユーザデバイスのうちの第1の選択された1つへ、ビデオ番組を送信するがビデオ番組に関連する情報を送信せず、また、距離に応じて、2つのユーザデバイスのうちの第2の選択された1つへ、ビデオ番組に関連する情報を送信するがビデオ番組を送信しない。
また、例示的な実施形態によると、プロセッサー29は、サーバーにおいて共にユーザのユーザアカウントに登録されたスタンドアロンユーザデバイスおよびワイヤレスハンドヘルドユーザデバイスのうちの1つからのビデオ番組を求める要求を、I/Oブロック27から受信し、2つのユーザデバイスの一方へ、ビデオ番組を送信するがビデオ番組に関連する情報を送信せず、他方のユーザデバイスへ、ビデオ番組に関連する情報を送信するがビデオ番組を送信せず、2つのユーザデバイスの一方から送信されたユーザの第1のビュー変更情報に応答して、ユーザビューを有するユーザデバイスによって受信されるコンテンツの品質が最大化されるように、ユーザビューに応じてユーザデバイスに割り当てられる帯域幅を調整する。プロセッサー29は、受信された第1のビュー変更情報から、どのユーザデバイスがユーザビューを有するかを決定するべきである。
デバイスは、そのデバイスをユーザが見ているかまたは目を向けているとプロセッサー29が決定したとき、ユーザビューを有する。
本明細書で使用される場合、コンテンツの品質は、コンテンツを表すために必要とされるビットの数によって表される。より多くのビットによって表されるコンテンツは、より良い品質を有し、より少ないビットによって表されるコンテンツは、より悪い品質を有する。要求されたビデオ番組は、ビデオ番組の最良品質となるべき初期ビデオ品質を有する。初期ビデオ品質を有するビデオ番組が変換または適応されると、ビデオ番組を表すために必要とされるビットの数が低減され、その結果、変換または適応されたビデオ番組は、初期ビデオ品質よりも悪い品質を有することになる。同様に、要求されたビデオ番組に関連する情報は、要求されたビデオ番組に関連する情報の最良品質となるべき初期情報品質を有する。初期情報品質を有する要求されたビデオ番組に関連する情報が変換または適応されると、要求されたビデオ番組に関連する情報を表すために必要とされるビットの数が低減され、その結果、要求されたビデオ番組に関連する、変換または適応された情報は、初期情報品質よりも悪い品質を有することになる。
一実施形態では、プロキシサーバー20は、ユーザプロファイルデータベースからスタンドアロンユーザデバイスの位置情報を取得し、またワイヤレスハンドヘルドユーザデバイスによって送信されるワイヤレスハンドヘルドユーザデバイスの位置情報を取得する。
一実施形態では、ユーザプロファイルデータベースはプロキシサーバー20内のみにあり、コピーをサーバー10に記憶する必要はない。別の実施形態では、プロキシサーバー20は、ユーザプロファイルデータベースのミラーイメージをサーバー10に有するべきである。ユーザプロファイルデータベースに対するいかなる更新も、サーバー10とプロキシサーバー20の両方に反映されるべきである。サーバー10は、サーバーおよびプロキシサーバーの役割を果たすことができることに留意されたい。
各ユーザは、ユーザデバイスのうちの1つを使用することによって、サーバー10および/またはプロキシサーバー20においてユーザアカウントを作成し、すべてのユーザデバイスおよび他のデータを関連付けられたユーザプロファイルに登録する。ユーザは、プロキシサーバー20にビデオ番組を要求するために、プロキシサーバー20にログオンするべきである。ユーザプロファイルは、ユーザに関連付けられた個人データの集合である。ユーザプロファイルは、情報の下記のセットの一部または全部を含むべきである。
− ユーザデバイスの数
− 各ユーザデバイスのタイプおよびモデル
− 各ユーザデバイスに対する帯域幅必要条件
− どのユーザデバイスがスタンドアロンユーザデバイスであるか、およびその位置
− ハンドヘルドユーザデバイスとスタンドアロンユーザデバイスとの間の閾値距離
− ハンドヘルドユーザデバイスの優先度
− ハンドヘルドユーザデバイスが複数の場合、要求されたビデオ番組に関連する情報を、複数のユーザデバイスへ送信するかどうか
− 年齢、性別、関心グラフ行列、および視聴パターンを含む人口統計および心理的データ
上に挙げられたように、スタンドアロンユーザデバイス31の位置情報は、スタンドアロンユーザデバイスが通常は大きく動かないので、ユーザによってセットされ、ユーザのユーザアカウントに関連付けられたユーザプロファイルに記憶され得る。一実施形態では、スタンドアロンユーザデバイスはまた、全地球測位システム(GPS)のような測位システムを備えてもよく、定期的に、または1つの位置から別の位置に移動されるときに、その位置をプロキシサーバー20に報告する。ユーザデバイス33などのハンドヘルドユーザデバイスの位置情報は、ハンドヘルドユーザデバイスによって送信される。プロセッサー29は、距離決定モジュール23を呼び出して、2つのユーザデバイスの取得された位置情報に応じて、スタンドアロンユーザデバイス31とワイヤレスハンドヘルドユーザデバイス33との間の距離を決定する。
後で論じるように、プロセッサー29は、その距離が、ユーザによってセットされることができるユーザプロファイルに記憶された閾値距離を上回るかどうかに応じて、ユーザデバイスのうちの1つを選択するべきである。
プロセッサー29は、ユーザビュー変更情報を、各ユーザデバイスから、好ましくは、同じビデオセッションに関与させられたユーザデバイスから受信することができる。ユーザデバイスのうちの1つがプロキシサーバー20にビデオ番組を要求した場合、ユーザアカウント内のすべてのユーザデバイスがビデオセッションに関与させられる。ビュー変更情報信号は、一実施形態では、ユーザビューが、ビュー変更情報信号を送信しているユーザデバイスへ切り替えられること、または別の実施形態では、ビュー変更情報信号を送信しているユーザデバイスから他へ切り替えられることを示すことができる。さらに別の実施形態では、ビュー変更情報信号のビュー切り替え表示が、信号それ自体に含まれる、またはユーザプロファイルにセットされることができる。実施形態の原理によると、ビュー変更情報信号に応答して、プロセッサー29は、帯域幅割り当ておよび調整モジュール24を呼び出して、帯域幅割り当てを調整し、それにより、ユーザビューを有しないユーザデバイスによって受信されるコンテンツの品質が低下されることがあっても、ユーザビューを有するユーザデバイスが、プロキシサーバー20の利用可能な帯域幅によって許容可能な最高品質を有するコンテンツを受信するようにする。
ビデオ番組に関連する情報は、画像とテキストの両方を含んでもよい。ビデオ番組に関連する両方のタイプの情報が、ワイヤレスハンドヘルドユーザデバイスまたはスタンドアロンユーザデバイスに送信されることができる。同じアカウントに複数のワイヤレスハンドヘルドユーザデバイスがある場合、ユーザは、ユーザプロファイルにおける優先度情報に応じて2つのタイプの情報が2つの異なるユーザデバイスに送信されるようにしたいかどうかをユーザプロファイルにセットすることができる。より高い優先度のものが、ビデオ番組に関連する情報の画像部分を受信するべきであり、より低い優先度のものが、ビデオ番組に関連する情報のテキスト部分を受信するべきである。たとえば、ユーザアカウントが、スタンドアロンユーザデバイスおよび2つのワイヤレスハンドヘルドユーザデバイスを含み、スタンドアロンユーザデバイスがビデオ番組を求める要求を送信する場合において、プロキシサーバー20は、要求されたビデオ番組をスタンドアロンユーザデバイスが受信するべきであると決定するべきであり、また、ユーザプロファイルが、異なるユーザデバイスに送信される異なるタイプのビデオ番組に関連する情報をユーザが必要としないことを示す場合、より高い優先度のワイヤレスハンドヘルドユーザデバイスがビデオ番組に関連する情報の両方の部分を受信するべきであると決定するべきである。しかしながら、複数のデバイスに送信される異なるタイプのビデオ番組に関連する情報をユーザが必要とすることを、ユーザプロファイルでユーザが示す場合、プロキシサーバー20は、ビデオ番組に関連する情報の画像部分を、より高い優先度のハンドヘルドユーザデバイスに送信し、ビデオ番組に関連する情報のテキスト部分を、より低い優先度のハンドヘルドユーザデバイスに送信するべきである。ビデオ番組に関連する情報の2つよりも多いタイプがある場合も、同様のルールが適用されるべきである。
ユーザによって入力される優先度情報の代わりに、プロキシサーバー20は、ビューパターンおよび関心グラフ行列を収集し、ユーザデバイスの優先度を自動的に判断してもよい。
プロセッサー29がビデオ番組を求める要求を受信すると、プロセッサー29は、まずコピーがキャッシュ28内に存在するかどうかを確認することに留意されたい。ビデオのコピーがキャッシュ28内に存在する場合、プロセッサー29は、キャッシュ28からビデオ番組を取り出し、取り出されたビデオ番組をユーザデバイスに送信する。プロセッサー29がキャッシュ28内に要求されたビデオ番組のコピーを発見できない場合、プロセッサー29は、サーバー20にコピーを要求し、キャッシュ28にコピーを記憶する。ビデオ番組と共に、キャッシュ28は、ビデオ番組に関連する情報のコピーを記憶することもできる。ビデオ番組のコピーがキャッシュ28内に存在する場合でも、プロセッサー29がさらに、サーバー20から、ビデオ番組に関連する更新された情報を取り出してもよいことに留意されたい。
例示的な実施形態において、プロキシサーバー20がすべてのユーザにサービスするのに限りある帯域幅を有するので、プロキシサーバー20は、要求にサービスするのに十分な帯域幅を有しないことがあり、この場合、プロセッサー29は、帯域幅割り当ておよび調整モジュール24を呼び出して、帯域幅を、ビデオ番組を受信するユーザデバイスおよびビデオ番組に関連する情報を受信するユーザデバイスに割り当てることができる。ユーザデバイスの各タイプおよび/またはモデルは、異なる帯域幅必要条件を有することがあり、各登録されたユーザデバイスに対する帯域幅必要条件は、対応するユーザプロファイルに記憶され、または、この実施形態でユーザプロファイルに記憶されるようなユーザデバイスのタイプおよび/またはモデルに応じてプロセッサー29によって自動的に決定され得る。
各要求について、ビデオ番組およびビデオ番組に関連する情報をそれぞれ受信するためのユーザデバイスを決定すると、プロセッサー29は、帯域幅割り当ておよび調整モジュール24を呼び出して、帯域幅をユーザデバイスに割り当てる。実施形態の原理によると、プロキシサーバー20の利用可能な帯域幅が不十分である場合、プロセッサー29は、コンテンツ適応モジュール22を呼び出して、より狭い割り当てられた帯域幅に適合するように、ビデオ番組および/またはビデオ番組に関連する情報を変換する。ビデオに対する変換は、ダウンサンプリング、フレームレートを低下させること、または、スケーラブルな形態の場合にいくつかの強化された層を飛び越すことを含むことができ、ビデオ番組に関連する情報に対する変換は、ビデオ番組に関連する情報に含まれる画像をダウンサンプリングすることを含むことができる。
一実施形態では、ユーザがプロキシサーバー20にログオンしているとき、プロキシサーバー20は、定期的に同じユーザアカウント下の各ユーザデバイスにポーリングする。ユーザデバイスがポーリングに応答した場合、プロキシサーバーは、そのユーザデバイスがアクティブであると決定する。そうでなければ、プロキシサーバーは、そのユーザデバイスが非アクティブであると決定する。ユーザデバイスが電源を落とされている場合、またはユーザデバイスがポーリングに応答できない正常または異常な状態である場合、ユーザデバイスは非アクティブである。
ユーザアカウントにおける各ユーザデバイスの状態に応じて、プロキシサーバー20は、どのアクティブユーザデバイスが要求されたビデオ番組および/またはビデオ番組に関連する情報を受信するべきかを、ユーザプロファイルデータベースに記憶された優先度情報に応じて判断することができる。
図2は、実施形態の原理による、第1のデバイスおよび第2のデバイス、たとえば、スタンドアロンユーザデバイス31およびワイヤレスハンドヘルドユーザデバイス(実施形態では携帯電話)33を有するユーザに、ビデオ番組を配信するためのプロキシサーバー20のプロセスフロー200を示す。両方のユーザデバイスが、プロキシサーバー20において同じユーザアカウントに登録され、アクティブであると想定されている。
ステップ205で、プロキシサーバー20は、第1のデバイスおよび第2のデバイスのうちの1つを使用するユーザから、ビデオ番組を求める要求を受信する。以下の例示では、スタンドアロンユーザデバイス31およびワイヤレスハンドヘルドユーザデバイス33がそれぞれ、第1のデバイスおよび第2のデバイスとして示される。ユーザは、たとえば、ユーザ名およびパスワードを入力することにより、プロキシサーバー20にログオンしていなければならない。
ステップ210で、プロキシサーバー20は、要求されたビデオ番組およびビデオ番組に関連する情報のコピーを取得する。要求されたビデオ番組のコピーを取得するプロセスで、プロキシサーバー20は、要求されたビデオ番組のコピーがキャッシュ28内に存在するかどうかを確認する。それがある場合、キャッシュ28は、要求されたビデオ番組に関連する情報(「関連する情報」)のコピーも有するはずである。要求されたビデオ番組がキャッシュ28内にない場合、プロキシサーバー20は、ビデオ番組のコピーおよび関連する情報のコピーをサーバー10に要求する。関連する情報のコピーがキャッシュ28内に存在する場合でも、キャッシュ28内のコピーが最新でないことがあるので、プロキシサーバー20は、関連する情報のコピーをさらにサーバー10に要求してもよいことに留意されたい。
ステップ215で、プロキシサーバー20は、少なくとも2つのユーザデバイスの間の距離に応じて、ビデオ番組を受信するべきスタンドアロンユーザデバイス31およびワイヤレスハンドヘルドユーザデバイス33の第1の1つを選択し、ビデオ番組を第1の選択された1つのユーザデバイスに送信する。ステップ220で、プロキシサーバー20は、距離に応じて、2つのユーザデバイスの第2の1つを選択し、関連する情報を、スタンドアロンユーザデバイス31およびワイヤレスハンドヘルドユーザデバイス33の第2の選択された1つに送信する。後で示されるように、第1の選択された1つのユーザデバイスは、第2の選択された1つのユーザデバイスと同じ場合もあれば異なる場合もある。
実施形態の原理によると、プロキシサーバー20は、ワイヤレスハンドヘルドユーザデバイス33とスタンドアロンユーザデバイス31との間の距離に応じて、第1の選択された1つのユーザデバイスを選択する。プロキシサーバー20は、たとえば、必要に応じてワイヤレスハンドヘルドユーザデバイス33に位置情報を求めることによって、または、アクティブなときにその位置情報をプロキシサーバー20に自動的および定期的たとえば20秒毎に送信することができるワイヤレスハンドヘルドユーザデバイス33から送信される位置情報をモニターすることによって、ワイヤレスハンドヘルドユーザデバイス33の位置情報を取得することができる。スタンドアロンユーザデバイス31の位置情報は、ユーザによってユーザプロファイルにセットされるべきであり、ユーザプロファイル内の情報を取り出すことにより、プロキシサーバー20によって取得されることができる。ユーザによってユーザプロファイルにセットされる位置は、単に所在地住所であってよく、プロキシサーバー20は、所在地住所に基づき建物位置を取り出せるべきである。この実施形態では、プロキシサーバー20は、スタンドアロンユーザデバイス31の位置として、所在地住所に関連付けられた建物の中心を使用するべきである。別の実施形態では、ユーザは、全地球測位システム(GPS)を使用して、スタンドアロンユーザデバイス31の緯度および経度を求め、その位置情報をユーザプロファイル内の対応するフィールドに入力するためにプロキシサーバー20に送信することができる。さらに別の実施形態では、スタンドアロンは、測位デバイスを含むことができ、自動的にまたはプロキシサーバー20による要求時に、その位置情報をプロキシサーバー20に送信することができる。したがって、プロキシサーバー20は、スタンドアロンユーザデバイス31についての位置情報、およびワイヤレスハンドヘルドユーザデバイス33から受信された位置情報に応じて、ワイヤレスハンドヘルドユーザデバイス33とスタンドアロンユーザデバイス31との間の距離を決定することができる。
別の実施形態では、ワイヤレスハンドヘルドデバイスは、スタンドアロンデバイスへの距離を決定し、距離をプロキシサーバー20に報告することができる。たとえば、ワイヤレスハンドヘルドデバイスが、ワイヤレス接続、たとえばBluetooth(登録商標)を介してスタンドアロンデバイスに接続することができるとき、ワイヤレスハンドヘルドデバイスは、距離が予め定義された閾値内であることを報告し、そうでない場合、ワイヤレスハンドヘルドデバイスは、距離が予め定義された閾値よりも長いことを報告する。スタンドアロンデバイスについても同様にすることができる。さらに別の実施形態では、スタンドアロンデバイスは、2つのカメラを備えてもよく、2つのビューを使用してユーザの距離を決定し、測定された距離を2つのデバイスの間の距離として報告する。
距離が予め定義された閾値、たとえば30フィート(9.144m)よりも短い場合、スタンドアロンユーザデバイス31は、ビデオ番組を受信するべき第1の選択された1つのユーザデバイスとして選択され、ワイヤレスハンドヘルドユーザデバイス33は、関連する情報を受信するべき第2の選択された1つのユーザデバイスとして選択される。実際に、プロキシサーバー20は、ビデオ番組をスタンドアロンデバイス31へ、関連する情報をワイヤレスハンドヘルドユーザデバイス33へ送信する。したがって、第1の選択された1つのユーザデバイスは、第2の選択された1つのユーザデバイスとは異なる。
距離が予め定義された閾値よりも長い場合、プロキシサーバー20は、ワイヤレスハンドヘルドユーザデバイス33を、第1の選択された1つのユーザデバイスおよび第2の選択された1つのユーザデバイスとして選択し、ビデオ番組と関連する情報との両方をワイヤレスハンドヘルドユーザデバイス33に送信し、スタンドアロンユーザデバイス31にはビデオ番組も関連する情報も送信しない。このように、第1の選択された1つのユーザデバイスは、第2の選択された1つのユーザデバイスと同じである。
一実施形態では、プロキシサーバー20がいずれかまたは両方のユーザデバイスの位置情報を取得するのに失敗した場合、プロキシサーバー20は距離が閾値よりも長いと決定する。プロキシサーバー20が位置情報を取得しようと繰り返し試みて、予め定義された期間、たとえば1分の間にプロキシサーバー20が位置情報を取得できない場合、プロキシサーバー20は、それが位置情報を取得するのに失敗したと決定する。
別の実施形態では、選択される第1の1つのユーザデバイスおよび選択される第2の1つのユーザデバイスの選択は、2つのユーザデバイスのいずれがビデオ番組を求める要求を送信するかに依存することができる。要求がワイヤレスハンドヘルドユーザデバイス33から送信された場合、選択は上述されたようになる。要求がスタンドアロンユーザデバイス31によって送信された場合、距離が予め定義された閾値よりも短いときの選択が上述されたのと同じになる。しかしながら、距離が予め定義された閾値よりも長く、要求がスタンドアロンユーザデバイス31から送信された場合、プロキシサーバー20は、スタンドアロンユーザデバイス31を、第1の選択された1つのユーザデバイスと第2の選択された1つのユーザデバイスとの両方として選択する。想定として、要求がスタンドアロンユーザデバイス31によって送信された場合に、ユーザはスタンドアロンユーザデバイス31に近いはずであり、ワイヤレスハンドヘルドユーザデバイス33も同様に近くにあるはずである。ワイヤレスハンドヘルドユーザデバイス33が近くにない場合、ユーザが不注意にそれをどこかに置いたままにした、たとえば、友人を訪問した後にワイヤレスハンドヘルドユーザデバイス33を持ち帰るのを忘れた、ワイヤレスハンドヘルドユーザデバイスをオンにするのを忘れた、または壊されたワイヤレスハンドヘルドユーザデバイスを持っていることが想定される。これらの状況では、プロキシサーバー20は、距離が予め定義された閾値よりも長いと決定するべきであり、スタンドアロンユーザデバイス31を、第1の選択された1つのユーザデバイスと第2の選択された1つのユーザデバイスとの両方として選択するべきである。
距離が予め定義された閾値よりも長く、要求がワイヤレスハンドヘルドユーザデバイス33から送信された場合、プロキシサーバー20は、ワイヤレスハンドヘルドユーザデバイス33を、第1の選択された1つのユーザデバイスと第2の選択された1つのユーザデバイスとの両方として選択する。想定として、ユーザがワイヤレスハンドヘルドユーザデバイス33を使用して要求を送信するので、ユーザはワイヤレスハンドヘルドユーザデバイス33を使用しているはずである。
予め定義された閾値は、上に論じられたように、ユーザによって入力され、例示的なユーザプロファイル内の閾値距離フィールドに記憶されることができる。プロキシサーバー20は、この閾値およびスタンドアロンユーザデバイス31に関する位置情報をユーザが変更できるようにし得る。
ビデオ番組と関連する情報との両方を受信するユーザデバイスは、ビデオ番組および関連する番組情報を表示するための2つのウィンドウのような分離スクリーンを提供してもよく、またはユーザが与えられた時点にどちらか1つを見るためのオプションを提供してもよい。
上述されたように、両方のユーザデバイスはアクティブであると想定された。一実施形態では、プロセッサー20は、スタンドアロンユーザデバイスおよびワイヤレスハンドヘルドデバイスのそれぞれの状態を決定し、両方のユーザデバイスがアクティブでない場合、プロセッサー20は、ビデオ番組および関連する情報の送信を終了し、両方のユーザデバイスがアクティブである場合、プロセッサー20は、ビデオ番組および関連する情報の送信を保持し、1つのみのユーザデバイスがアクティブである場合、プロセッサー20は、ビデオ番組と関連する情報との両方をアクティブユーザデバイスに送信し、非アクティブユーザデバイスにはビデオ番組も関連する情報も送信しない。この実施形態は、2つよりも多いユーザデバイスが優先度情報の考慮と関与させられる場合に対して適用されることが可能である。優先度を考慮する例は、後で実施形態の1つで与えられる。
一実施形態では、関連する情報は、異なる優先度に対応する2以上のタイプに分類されることができ、各タイプは、対応する優先度を有する対応するユーザデバイスに送信される。たとえば、関連する情報は、グラフィックス(画像)およびテキストに分類され、グラフィックスがより高い優先度を有してもよい。スタンドアロンユーザデバイスは、最高優先度を有するとされるべきである。一実施形態では、ユーザは、ユーザプロファイルに各ハンドヘルドユーザデバイスに対する優先度をセットすることができる。以下では、本発明者らは、ユーザがワイヤレスハンドヘルドユーザデバイス32よりも高い優先度をワイヤレスハンドヘルドユーザデバイス33に割り当てることを想定する。両方のワイヤレスハンドヘルドユーザデバイスが予め定義された距離閾値内にある場合、ビデオがスタンドアロンユーザデバイス31に送信され、グラフィックス部分がワイヤレスハンドヘルドユーザデバイス33に送信され、テキスト部分がワイヤレスハンドヘルドユーザデバイス32に送信される。別の実施形態では、ワイヤレスハンドヘルドユーザデバイスがビデオ番組を求める要求を送信する場合、ワイヤレスハンドヘルドユーザデバイスが最高優先度ワイヤレスハンドヘルドユーザデバイスとなる。たとえば、ワイヤレスハンドヘルドユーザデバイス32がワイヤレスハンドヘルドユーザデバイス33よりも低い優先度を有するが、ワイヤレスハンドヘルドユーザデバイス32が要求を送信するデバイスである場合、ワイヤレスハンドヘルドユーザデバイス32が、ワイヤレスハンドヘルドユーザデバイス33よりも高い優先度を有するように扱われるべきである。このシナリオでは、関連する情報がワイヤレスハンドヘルドユーザデバイス32および33に送信される場合、グラフィックスまたは画像がワイヤレスハンドヘルドユーザデバイス32に送信され、テキストがワイヤレスハンドヘルドユーザデバイス33に送信されるべきである。
実施形態の原理の別の態様において、プロキシサーバー20は、すべてのユーザにサービスするのに限りある帯域幅を有し、利用可能な帯域幅がビデオセッションのための帯域幅必要条件を満たすのに十分でない場合、ビデオ番組および/または関連する情報を適応させまたは変換する。ユーザデバイスの各タイプは異なる帯域幅必要条件を有することがあることに留意されたい。ビデオ番組を要求するユーザに割り当てられるプロキシサーバーの利用可能な帯域幅がBであり、ビデオ番組を受信するユーザデバイスの帯域幅必要条件がB1であり、関連する情報を受信するユーザデバイスの帯域幅必要条件がB2であると想定する。図3は、ユーザデバイスに帯域幅を割り当て、必要に応じて、ビデオ番組、関連する情報、または両方であり得るコンテンツを適応させるための例示的なプロセス300を示し、それらは、帯域幅割り当ておよび調整モジュール24ならびにコンテンツ適応モジュール22よって行われる。ステップ305で、プロキシサーバー20は、たとえば図2に示されるように、どのユーザデバイスが新しいビデオセッションでのビデオ番組および関連する情報を受信するかを、または、いつ2つのユーザデバイスの間の距離が既存のビデオセッションにおける予め定義された距離閾値よりも長くなるかを決定している。上に示されたように距離が予め定義された閾値よりも長いとき、1つのユーザデバイスがビデオ番組と関連する情報との両方を受信していて、他方は両方とも受信しない。やはり2つのユーザデバイスの例がここでも示される。
ステップ310で、プロキシサーバー20は、利用可能な帯域幅Bが、ビデオ番組を受信するユーザデバイスの帯域幅必要条件B1よりも小さいかどうかを確認する。BがB1以上である場合、プロセスはステップ315に進み、そこで、プロキシサーバー20は、ビデオ番組を受信するユーザデバイスにB1を割り当て、関連する情報を受信するユーザデバイスにB−B1を割り当てる。ステップ330で、プロキシサーバー20は、B−B1がB2(関連する情報を受信するユーザデバイスの帯域幅必要条件)よりも小さいかどうかを確認する。B−B1がB2以上である場合、ステップ335で、プロキシサーバー20は、関連する情報を受信するユーザデバイスにB2を割り当てる。
ステップ330でB−B1がB2よりも小さいと決定した場合、ステップ340で、プロキシサーバー20は、関連する情報を受信するユーザデバイスにB−B1を割り当てる。この時点で、コンテンツ適応モジュール22が起動されて、ステップ345で、B−B1に適合するように、関連する情報を変換する、たとえば、関連する情報の解像度を低下することにより縮小することなどができる。たとえば、関連する情報が画像を含む場合、画像の解像度が低下されてよく、または画像が送信されない。
ステップ310でBがB1よりも小さいと決定した場合、ステップ320で、プロキシサーバー20は、ビデオ番組を受信するユーザデバイスにBを割り当て、関連する情報を受信するユーザデバイスには何も割り当てず、ステップ325で、プロキシサーバー20は、コンテンツ適応モジュール22を呼び出して、Bに適合するようにビデオ番組を適応させるまたは変換する。変換または適応は、たとえば、ビデオ番組を空間的に、時間的に、もしくは両方でダウンサンプリングすること、ならびに/またはビデオ番組がスケーラブルなビデオである場合に一部のより高い層のデータを送信することを飛び越すことによって達成され得る。ダウンサンプリングは、空間的または時間的により低い解像度をもたらすはずである。本明細書で使用されるようなコンテンツの変換または適応は、コンテンツの初期品質よりも悪い品質を有するコンテンツをもたらす。たとえば、ビデオ番組の初期解像度が1280×1024画素である場合、適応または変換は、1024×786または800×600など、より低い解像度をもたらす可能性がある。1280×1024の解像度を有するビデオ番組は、1024×786の解像度を有するビデオ番組よりも良い品質を有し、1024×786の解像度を有するビデオ番組は、800×600の解像度を有するビデオ番組よりも良い品質を有する。
1つのスタンドアロンユーザデバイスおよび1つのワイヤレスハンドヘルドユーザデバイスを使用して例示しているが、実施形態の同じ原理が、1つのスタンドアロンユーザデバイスおよび複数のワイヤレスハンドヘルドユーザデバイスに適用されることが可能である。たとえば、関連する情報は、画像とテキストの両方を含む。画像部分は、ビデオ番組を受信しない1つのユーザデバイスへ、テキスト部分は、ビデオ番組を受信しないもう1つのワイヤレスユーザデバイスへ送信され得る。ビデオ番組を受信するユーザデバイスに帯域幅を割り当てた後に十分な帯域幅がない場合、残りの利用可能な帯域幅は、まず、画像部分を受信するユーザデバイスに割り当てられ、さらに残っている場合、残りは、テキスト部分を受信するユーザデバイスに割り当てられる。やはり割り当てられた帯域幅がユーザデバイスの帯域幅必要条件を満たすのに十分でない場合、そのユーザデバイスに送信されるコンテンツは、割り当てられた帯域幅に適合するように適応または変換されるべきである。
実施形態の原理の別の態様によると、ビデオ番組および関連する情報が2つの異なるユーザデバイスに送信される場合、プロキシサーバー20は、ユーザのビューまたはビュー変更情報を取得し、それに応じてビデオ番組および関連する情報の品質を調整することができる。この意図は、ユーザビューを有するユーザデバイスに帯域幅の最大量を割り当てることによって、ビュー変更情報に応じてユーザビューを有するユーザデバイスに送信されるコンテンツの最良品質を与えることである。最大量は、プロキシサーバー20で利用可能な帯域幅、およびユーザビューを有するユーザデバイスの帯域幅必要条件を超えるべきではない。ユーザビューを有するユーザデバイスに送信されるコンテンツの品質の最大化は、ユーザビューを有しない他のユーザデバイスに送信されるコンテンツの品質の悪化をもたらすことがあり、それは、ユーザビューを有しないユーザデバイスに割り当てられる帯域幅が狭くされ得るからである。
図4Aは、ユーザビューに応じて、アカウントに登録された第1のデバイスおよび第2のデバイスに対する帯域幅を調整するための例示的なプロセス400を示す。前述されたように、帯域幅を調整することは、ユーザビューを有するデバイスによって受信されるコンテンツの品質の最大化をもたらすべきであり、また、ユーザビューを有しないデバイスによって受信されるコンテンツの品質の低下をもたらすことがある。
ステップ405で、プロキシサーバー20が、2つのデバイスのうちの1つからビデオ番組を求める要求を受信する。以下の例示では、スタンドアロンユーザデバイス31およびワイヤレスハンドヘルドユーザデバイス33がそれぞれ、第1のデバイスおよび第2のデバイスとして例示される。
ステップ410で、プロキシサーバー20は、プロキシサーバー20で利用可能な第1の帯域幅に応じて、帯域幅の第1の量および第2の量を、2つのユーザデバイスの一方および2つのユーザデバイスの他方にそれぞれ割り当てる。割り当ては、たとえば図3に示されたプロセスによって行われ得る。
ステップ415で、プロキシサーバー20は、一方のユーザデバイスに第1の品質を有するビデオ番組を送信するが、関連する情報は送信せず、ステップ420で、第2の品質を有する関連する情報を他方のユーザデバイスに送信する。
ビデオ番組、関連する情報、または両方であり得るコンテンツをユーザデバイスが受信するための割り当てられた帯域幅が、ユーザデバイスの帯域幅必要条件よりも大きい場合、サイズを縮小し、ひいては品質を低下させるようにコンテンツを変換する必要なしに、その初期品質でコンテンツが送信されるべきである。しかしながら、割り当てられた帯域幅が帯域幅必要条件よりも小さい場合、コンテンツは変換されて、割り当てられた帯域幅に適合するようにサイズを縮小するべきであり、その結果、品質が初期品質よりも悪くなる。
たとえば、第1の割り当てられた量が一方のユーザデバイスの帯域幅必要条件よりも大きい場合、第1の品質がビデオ番組の初期品質であり、第1の割り当てられた量が一方のユーザデバイスの帯域幅必要条件よりも小さい場合、第1の品質はビデオ番組の初期品質よりも悪い。これは、関連する情報にも当てはまる。第2の割り当てられた量が他方のユーザデバイスの帯域幅必要条件よりも大きい場合、第2の品質が、関連する情報の初期品質であり、第2の割り当てられた量が他方のユーザデバイスの帯域幅必要条件よりも小さい場合、第2の品質は、関連する情報の初期品質よりも悪い。
初期品質を有するコンテンツの変換は、コンテンツのサイズを縮小する、たとえば、空間的または時間的に解像度を低下させることによって行われ得る。
ステップ425で、プロキシサーバー20は、ユーザの第1のビュー変更情報に応じてユーザのビューを有するユーザデバイスによって受信されるコンテンツの品質を最大化するように、第1の割り当てられた量および第2の割り当てられた量を調整する。この意図は、ユーザビューを有するユーザデバイスに送信されるコンテンツの最良品質をユーザに提供することである。
図4Bは、ステップ425の詳細を示す。ステップ4251で、第1のビュー変更情報に応じて、どのユーザデバイスがユーザビューを有するかを決定する。第1のビュー変更情報は、一実施形態では、ユーザビューが、第1のビュー変更情報を送信しているユーザデバイス(送信ユーザデバイス)へ切り替えられること、または別の実施形態では、送信ユーザデバイスから他へ切り替えられることを示すことができる。第1のビュー変更情報が、送信ユーザデバイスへユーザビューが切り替えられることを示す場合、送信ユーザデバイスは、第1のビュー変更情報を送信した後にユーザビューを有する。第1のビュー変更情報が、送信ユーザデバイスから他へユーザビューが切り替えられることを示す場合、送信ユーザデバイスは、第1のビュー変更情報を送信した後にユーザビューを失い、他方のユーザデバイスがユーザビューを有すると決定される。この実施形態では、2つのユーザデバイスが、同じユーザアカウント下にあり、同じビデオセッション中である。送信ユーザデバイスがビデオ番組または関連する情報のいずれかを受信するべきである場合、送信ユーザデバイスはビデオセッション中である。ビデオセッション中でないユーザデバイスがビュー変更情報を送信することができる場合、プロキシサーバー20は、送信ユーザデバイスがビデオセッション中であるかを確認することができ、送信デバイスがビデオセッション中でない場合、プロキシサーバー20は、ビュー変更情報の受信に応答してさらなる対処をしない。
ステップ4252で、プロキシサーバー20は、第1のビュー変更情報に応じてユーザビューの帯域幅(「BW」)必要条件よりもBWの割り当てられた量が小さいかどうかを確認する。それが帯域幅必要条件以上の場合、プロキシサーバー20は、ステップ4253で、第1の割り当てられた量および第2の割り当てられた量を保持することにより、第1の割り当てられた量および第2の割り当てられた量を調整し、プロセスは進行して、調整された量に応じて、2つのユーザデバイスに送信されるコンテンツの品質をそれぞれ調整する。第1の割り当てられた量および第2の割り当てられた量が保持されるので、プロキシサーバー20は、第1の品質および第2の品質を保持することによって品質を調整する。次いでプロセスは進行して、新しいビュー変更情報を受信する。
ユーザビューを有するユーザデバイスに対する割り当てられた量がユーザビューを有するユーザデバイスの帯域幅必要条件よりも小さい場合、プロキシサーバー20は、ステップ4254で、ユーザビューを有するユーザデバイスに対する割り当てられた量を増大し、ユーザビューを有しないユーザデバイスに対する割り当てられた量を低減することによって、第1の割り当てられた量および第2の割り当てられた量を調整する。ステップ4255で、プロキシサーバー20は、調整された量に応じて、2つのユーザデバイスに送信されるコンテンツの品質をそれぞれ調整する。次いでプロセスは進行して、新しいビュー変更情報を受信し、次いでステップ4251に戻る。
品質を調整するステップは、ユーザビューを有するユーザデバイスに対する調整された割り当てられた量が、ユーザビューを有するユーザデバイスの帯域幅必要条件以上である場合、初期品質を有するコンテンツを、ユーザビューを有するユーザデバイスに送信し、ユーザビューを有するユーザデバイスに対する調整された割り当てられた量が、帯域幅必要条件よりも小さいが、ユーザビューを有するユーザデバイスに対する割り当てられた量よりも大きい場合、ユーザビューを有するユーザデバイスに対する調整された割り当てられた量に適合するように、初期品質を有するコンテンツを第3の品質を有するコンテンツに変換し、第3の品質は第2の品質よりも良い。したがって、ユーザビューを有するユーザデバイスへのコンテンツの品質が最大化される。
ステップ4254で、ユーザビューを有しないユーザデバイスに対する調整された割り当てられた量が低減されたので、ステップ4255で、ユーザビューを有しないユーザデバイスに送信されるコンテンツの品質も調整される。調整は、たとえば、低減された帯域幅を満たすように、初期品質または現在送信中の品質を有するコンテンツを第3の品質を有するコンテンツに変換することによって行われてよい。第3の品質は、変換のせいで、初期品質またはコンテンツの送信で先に使用された品質よりも悪いはずである。
プロキシサーバー20は、第1のビュー変更情報を受信した後に、第1のビュー変更情報を送信していないユーザデバイスから第2のビュー変更情報を受信してもよく、第1のビュー変更情報と第2のビュー変更情報との間にビュー変更情報は受信されないことが可能である。このシナリオでは、プロキシサーバー20は、第1のビュー変更情報を受信する前に、ユーザビューが同じユーザデバイスに戻るように切り替えられるため、第1の割り当てられた量および第2の割り当てられた量を復元することができる。
一実施形態では、プロキシサーバー20は、ビュー変更情報信号に応答して、サーバーにおいて利用可能な帯域幅(第2の利用可能な帯域幅)を再び決定することができる。この実施形態では、プロキシサーバー20は、第2の利用可能な帯域幅(プロキシサーバー20における新しく決定された利用可能な帯域幅)に応じて、第1の割り当てられた量および第2の割り当てられた量を調整する。たとえば、プロキシサーバー20は、第2のビュー変更情報に応じてユーザビューを有するユーザデバイスに送信されるコンテンツの品質を最大化するように、帯域幅の第3の量を割り当て、第2の利用可能な帯域幅および第3の量に応じて、帯域幅の第4の量を割り当てる。第3の量は、第2の利用可能な帯域幅、および第2のビュー変更情報に応じたユーザビューを有するユーザデバイスの帯域幅必要条件より大きくあるべきではない。品質が最大化されるので、第3の量は、ユーザビューを有するユーザデバイスの帯域幅必要条件のもとで第2の利用可能な帯域幅によって許容可能な最大値であるべきである。プロキシサーバー20は、第1のビュー変更情報に応答して同様の原理を適用してもよい。
ビュー変更情報に応答して、プロキシサーバー20は、ユーザビューを有するユーザデバイスによって受信されるコンテンツの品質を最大化するために、ユーザビューを有するユーザデバイスに利用可能な帯域幅全体を割り当ててもよい。結果として、プロキシサーバー20は、ユーザビューを有しないユーザデバイスに送信されるはずのコンテンツを送信しない。このシナリオでは、ユーザビューを有しないユーザデバイスへユーザビューが戻るように切り替えられた場合、それまでユーザビューを有していなかったユーザデバイスは、帯域幅の新しく割り当てられた量に応じて等しいまたはより良い品質を有するコンテンツを受信するべきである。
スタンドアロンユーザデバイス31がビデオ番組を受信しているが関連する情報を受信していないことを想定すると、ワイヤレスハンドヘルドユーザデバイス33は、関連する情報を受信しているがビデオ番組を受信しておらず、ワイヤレスハンドヘルドユーザデバイス33は、ユーザがビューをワイヤレスハンドヘルドユーザデバイス33へ切り替えることを検出し、第1のビュー変更情報をプロキシサーバー20に送信する。ワイヤレスハンドヘルドユーザデバイス33は、第1のビュー変更情報を送信する前に受信した関連する情報と少なくとも同じ品質を有する、関連する情報を受信するべきである。調整後、スタンドアロンユーザデバイス31は、ユーザがビューを切り替えて戻したことを検出し、第2のビュー変更情報をプロキシサーバー20に送信する場合、プロキシサーバー20は、割り当てられた量を、第1のビュー変更情報を受信する前の量に復元する、または、第2のユーザビュー変更情報に応答してプロキシサーバー20における新しく決定された利用可能な帯域幅に応じて量を再割り当てするべきである。
2つの異なるユーザデバイスが例示されているが、本出願の原理は3つ以上のユーザデバイスに適用され得る。たとえば、スタンドアロンユーザデバイス31、ワイヤレスハンドヘルドユーザデバイス32、およびワイヤレスハンドヘルドユーザデバイス33がビデオセッションに関与させられる場合である。スタンドアロンユーザデバイス31がビデオ番組を受信していると想定すると、ワイヤレスユーザデバイス32および33はそれぞれ、関連する情報のテキスト部分およびグラフィックス部分を受信している。この時点で、プロキシサーバー20は、ビュー変更情報を受信し、ワイヤレスユーザデバイス32がユーザビューを有すると決定する。プロキシサーバー20は、帯域幅の割り当てられた量を次のように調整するべきである。すなわち、ワイヤレスハンドヘルドユーザデバイス32に対する割り当てられた量を増大し、ワイヤレスハンドヘルドユーザデバイス33とスタンドアロンユーザデバイス31との間の残りの帯域幅を割り当てる。ビデオ番組は、グラフィックスよりも高い優先度を有するとされるので、残りの帯域幅は、まず、スタンドアロンユーザデバイス31の帯域幅必要条件を満たすために使用され、次いで、その残りがワイヤレスハンドヘルドユーザデバイス33に割り当てられる。通常、この実施形態では、ビデオ番組は、関連する情報のグラフィック部分よりも高い優先度を有し、関連する情報のグラフィック部分は、関連する情報のテキスト部分よりも高い優先度を有する。しかしながら、ユーザビューを有するユーザデバイスに送信されるコンテンツが最高優先度コンテンツであると想定するべきである。したがって、帯域幅は、まず、ユーザビューを有するユーザデバイスであるべき最高優先度コンテンツを受信するユーザデバイスに対する帯域幅必要条件を満たすように割り当てられ、次いで、利用可能な帯域幅の残りが、ユーザビューを有しないユーザデバイスであるべき次に最も高い優先度のコンテンツを受信するユーザデバイスの帯域幅必要条件を満たすように割り当てられ、次いで、その残りの残りが、ユーザビューを有しないユーザデバイスであるべき第2の次に最も高い優先度のコンテンツを受信するユーザデバイスを満たすように割り当てられ、以下同様に行われる。したがって、実施形態の原理によると、帯域幅は、この実施形態においてユーザデバイスによって受信されるコンテンツの優先度に応じて割り当てられまたは調整される。
3つのユーザデバイス、たとえば、スタンドアロンユーザデバイス31、ワイヤレスハンドヘルドユーザデバイス32、およびワイヤレスハンドヘルドユーザデバイス33がビデオセッションに関与させられ、ビュー変更情報が、送信ユーザデバイスへユーザビューが切り替えられることを示す場合、プロキシサーバー20は、送信ユーザデバイスがユーザビューを有すると決定する。しかしながら、ビュー変更情報が、送信ユーザデバイスから他へユーザビューが切り替えられることを示す場合、プロキシサーバー20は、ユーザビューが、より高い優先度のコンテンツを受信するビュー変更情報を送信しないユーザデバイス上にあり、より低い優先度のコンテンツを受信するビュー変更情報を送信しないユーザデバイス上にはないと決定する。
一実施形態では、プロキシサーバー20は、ビデオセッションに関与する各ユーザデバイスの状態を定期的に確認することができる。両方のユーザデバイスがアクティブでない場合、プロキシサーバー20は、ビデオ番組および関連する情報の送信を終了し、1つのみのユーザデバイスがアクティブである場合、プロキシサーバー20は、ビデオ番組と関連する情報との両方をアクティブユーザデバイスに送信する。2つよりも多いユーザデバイス、例示として3つが関与させられる場合、すべてのユーザデバイスがアクティブならば、対処は必要とされない。1つのみがアクティブである場合、ビデオ番組と関連する情報との両方がアクティブユーザデバイスに送信される。2つのみがアクティブであり、非アクティブな1つがビデオ番組を受信していた場合、2つのアクティブユーザデバイスのうちの優先度がより高い1つが、ビデオ番組を受信し、他方は、関連する情報を受信する。非アクティブな1つが、関連する情報のグラフィックまたはテキストなどの部分を受信していた場合、関連する情報の他の部分を受信しているアクティブな1つが、関連する情報の上記部分も受信するべきであり、すなわち、アクティブな1つが、関連する情報の両方の部分を受信する。
別の実施形態では、プロキシサーバー20は、ワイヤレスハンドヘルドユーザデバイスとスタンドアロンユーザデバイスとの間の距離を定期的に確認することができる。距離が予め定義された閾値内である場合、プロキシサーバー20は、上述されたように、第1の割り当てられた量および第2の割り当てられた量を調整する。距離が予め定義された閾値内でない場合、ユーザビューを有するユーザデバイスの帯域幅必要条件を満たすように第1の利用可能な帯域幅を割り当て、ビデオ番組および関連する情報を、ユーザビューを有するユーザデバイスに送信し、ユーザビューを有しないユーザデバイスには帯域幅を割り当てず、ユーザビューを有しないユーザデバイスにビデオ番組も関連する情報も送信しない。後の時点で、ユーザビューを有しないユーザデバイス(「他方のユーザデバイス」)がユーザビューを現在有していると、プロキシサーバー20が第2のビュー変更情報から決定した場合、プロキシサーバー20は、他方のユーザデバイスの帯域幅必要条件を満たすように利用可能な帯域幅を割り当て、ビデオ番組と関連する情報との両方を他方のデバイスに送信する。プロキシサーバー20は、プロキシサーバー20が第2のビュー変更情報を受信する前にユーザビューを以前有していたユーザデバイスに対して、帯域幅、ビデオ番組、および関連する情報を割り当てない。
3つのユーザデバイスが関与させられ、両方のハンドヘルドユーザデバイスが予め定義された距離閾値内にない場合、プロキシサーバー20は、ユーザビューを有するユーザデバイスに対して、ユーザビューを有するユーザデバイスの帯域幅必要条件を満たすように利用可能な帯域幅を割り当て、ビデオ番組と関連する情報との両方を送信し、ユーザビューを有しない他の2つのユーザデバイスに対して、帯域幅を割り当てず、ビデオ番組も関連する情報も送信しない。このように、何らかのビュー変更情報に応答して、ユーザビューを有するユーザデバイスのみが帯域幅を取得し、ビデオ番組および関連する情報を受信する。1つのみのハンドヘルドユーザデバイス(範囲内ハンドヘルドユーザデバイス)が予め定義された閾値距離内にあり、他のハンドヘルドユーザデバイス(範囲外ハンドヘルドユーザデバイス)がユーザビューを有する場合、プロキシサーバー20は、ユーザビューを有する範囲外ハンドヘルドユーザデバイスの帯域幅必要条件を満たすように帯域幅に利用可能な帯域幅を割り当て、ビデオ番組と関連する情報との両方を、ユーザビューを有する範囲外ユーザデバイスに送信し、ユーザビューを有しない他の2つのユーザデバイスに対して、帯域幅を割り当てず、ビデオ番組も関連する情報も送信しない。しかしながら、範囲外ハンドヘルドユーザデバイスがユーザビューを有しない場合、プロキシサーバー20は、ビデオセッションにおける2つのユーザデバイスの実施形態に関して上述されたように、ユーザビュー情報に応じて、範囲内ハンドヘルドユーザデバイスとスタンドアロンユーザデバイスとの間の帯域幅を調整し、範囲外ハンドヘルドユーザデバイスによって受信されるコンテンツが、たとえば図2のプロセス200の配信部分に従って、今度は、範囲内ハンドヘルドユーザデバイスおよびスタンドアロンユーザデバイスに送信される。後の時点で、プロキシサーバー20は、第2のビュー変更情報を受信し、範囲外ハンドヘルドユーザデバイスがユーザビューを有すると決定し、プロキシサーバー20は、範囲外ハンドヘルドユーザデバイスの帯域幅必要条件を満たすように利用可能な帯域幅を割り当て、ビデオ番組と関連する情報との両方を、ユーザビューを有する範囲外ユーザデバイスに送信し、ユーザビューを有しない他の2つのユーザデバイスに対して、帯域幅を割り当てず、ビデオ番組も関連する情報も送信しない。範囲内ハンドヘルドユーザデバイスおよびスタンドアロンユーザデバイスのうちの1つがユーザビューを有すると、プロキシサーバー20が第2のビュー変更情報から決定した場合、先に説明されたように、2つのユーザデバイス実施形態に従って調整が行われる。
ユーザデバイスは、1つまたは2つのカメラを使用して頭部の向き、眼球運動を追従する、入力要素から入力を検出する、またはタッチ感度が良いディスプレイ上でタッチを検出するなど従来の方式で、ユーザからビュー変更を検出することができる。この実施形態でのユーザデバイスは、それが、ユーザのビューがユーザデバイスへまたはユーザデバイスから他へ切り替えられたことを検出すると、ビュー変更情報をプロキシサーバー20に送信する。誤ったビュー変更、またはビデオ番組および関連する情報の品質をあまりに頻繁に変更することを防止するために、ユーザデバイスは、ビュー変更を検出した後の予め定義された期間たとえば10秒の間に新たなビュー変更を検出しなかった場合、ビュー変更情報信号を送信することができる。
図5は、ユーザデバイス31、32、および33の例示的な実施形態であるユーザデバイス50を示す。ユーザデバイス50は、I/Oブロック510などの入力/出力(I/O)手段、コントローラ520などの制御および処理手段、物理ボタン/キーブロック580などのユーザ入力手段、メモリ540などのデータストレージ手段、ディスプレイ550などのディスプレイ手段、(スタンドアロンユーザデバイス31について任意選択の)GPS560などの測位手段、カメラ570などのユーザビュー検出手段を備える。図5の上記の要素のいくつかは、1つまたは複数の集積回路(IC)を使用して具現化される。説明を明確にするために、制御信号、電力信号、および/または他の要素など、ユーザデバイス50に関連付けられたいくつかの従来の要素は、図5に示されることがない。
I/Oブロック510は、ユーザデバイス50のI/O機能を実施するように動作しまたは構成される。例示的な実施形態によると、I/Oブロック510は、セル電話、インターネット(ネットワーク41および43など)、および/または他のネットワークソースなどの1つまたは複数のネットワークから、有線および/またはワイヤレス方式で、ディジタル変調フォーマットのオーディオ、ビデオ、および/またはデータ信号などの信号を受信し、そのような1つまたは複数のネットワークへ有線および/またはワイヤレス方式で信号を出力するように動作しまたは構成される。I/Oブロック510は、有線および/またはワイヤレス信号を受信することができる任意のタイプのI/Oインターフェースとして具現化されてもよく、1つまたは複数の個別コンポーネント(たとえば、アンテナ、プラグなど)から構成されてもよい。
コントローラ520は、単一プロセッサー、または複数の個別の類似するもしくは異なるプロセッサーとすることができる。コントローラ520は、本明細書に説明される本発明の様々な実施形態および技法の実施を容易にし可能にするユーザデバイス50の様々な信号処理および制御機能(たとえば、ソフトウェアコードを実行するなど)を実施するように動作しまたは構成される。
例示的な実施形態によると、コントローラ520は、I/Oブロック510から提供された信号を受信し、1つまたは複数のマイクロプロセッサーおよび/または他の要素によって、ユーザデバイス50に関連付けられたすべての必要な処理および制御機能を実施しおよび/または可能にする。たとえば、コントローラ520は、チューニング、復調、順方向誤り訂正、および送信処理機能を含む機能を実施することによって、I/Oブロック510から提供されたオーディオ、ビデオ、および/またはデータ信号を処理し、それによって、オーディオ、ビデオ、および/またはデータコンテンツを表すディジタルデータを生成するように動作しまたは構成される。そのような処理機能から作成されたディジタルデータは、さらなる処理および/または出力のために(たとえば、ディスプレイ550を介して)提供されてもよい。
また、例示的な実施形態によると、コントローラ520は、物理ボタン/キーブロック580を介して行われるユーザ入力を処理すること、ユーザ入力に応答してユーザデバイス50の機能(たとえば、音量およびチャンネル制御機能など)を制御すること、メモリ540からデータを読み取りまたそれにデータを書き込むこと、ディスプレイ550によるオンスクリーン表示(たとえば、ビデオ、仮想ボタン/キー、メニューなど)を可能にすること、ならびに/または本明細書に説明され得るような他の動作を含むがこれらに制限されない様々な他の機能を、実施しならびに/または可能にするように動作しまたは構成される。
物理ボタン/キーブロック580は、ユーザデバイス50のユーザオペレータから物理的ユーザ入力を受信するように動作しまたは構成される。例示的な実施形態によると、物理ボタン/キーブロック580は、ディスプレイ550の周囲に対称的および/または他の適切な方式で設けられた複数の物理ボタンおよび/またはキーを備え、たとえば、ユーザデバイス10の筐体内に構成されまた筐体から突出してもよい。他のタイプの入力部が、ディスプレイ550によって提供されてもよい。
メモリ540は、コントローラ520に動作的に結合され、ユーザデバイス50のデータストレージ機能を実施する。例示的な実施形態によると、メモリ540は、ソフトウェアコード、ならびに本明細書にされるデータ、オンスクリーン表示データ(たとえば、仮想ボタン/キー、メニュー、ブラウザなど)、ユーザ選択/設定データ、および/または他のデータを含む、1つまたは複数のコンピュータアプリケーションに関連付けられた他のデータを含むがこれらに制限されないデータを記憶する。
ディスプレイ550は、コントローラ520の制御に従ってビデオコンテンツを含む視覚表示を提供するように動作しまたは構成される。例示的な実施形態によると、ディスプレイ550は、仮想ボタン/キーを含むタッチスクリーン機能を提供するように動作しまたは構成され、それにより、コントローラ520によって受信され処理される(物理ボタン/キーブロック580を介して提供される入力とは別の)入力をユーザオペレータが提供することを可能にする。ディスプレイ550は、発光ダイオード(LED)ディスプレイ、液晶ディスプレイ(LCD)、または他のタイプのディスプレイデバイスなど、任意のタイプの適切なディスプレイデバイスを使用して具現化され得る。
カメラ570は、そのフォーカスエリア内のオブジェクトの画像を形成するように動作しまたは構成され、画像のコピーをメモリ540に記憶する。一実施形態では、画像は、ユーザの頭部を含む画像である。ユーザデバイス50におけるカメラ570の位置は固定されているので、プロセッサー520は、従来の方法を使用して、ユーザのビューがユーザデバイス50へまたはユーザデバイス50から他へ切り替わっているかを、頭部画像から検出することができる。一実施形態では、ユーザデバイス50は、プロセッサー520がユーザビュー変更をより正確に決定できるように、第2のカメラ(図示せず)を含むことができる。プロセッサー520がユーザビュー変更を検出すると、プロセッサー520はビュー変更情報をプロキシサーバー20に送信する。ビュー変更情報は、ユーザのビューがユーザデバイス50へ切り替えられることまたはユーザデバイス50から他へ切り替えられることのいずれかを示すことができる。
一実施形態では、プロセッサー520が、ディスプレイ550または物理ボタン/キー580のいずれかからユーザ入力を検出した場合、プロセッサー520は、ユーザビューがユーザデバイス50へ切り替えられると決定する。
GPS520は、ユーザデバイス50の位置情報を取得するように動作しまたは構成され、プロセッサー520は、定期的に、たとえば5秒毎に、またはプロセッサー20による要求時に、現在位置を報告するべきである。GPS520は、スタンドアロンユーザデバイスについて任意選択である。
図6は、ユーザデバイス50がスタンドアロンユーザデバイスとして機能している場合のプロセスフロー600を示す。ステップ605で、プロセッサー520が、第1のデバイスの位置情報をサーバー20に送信する。第1のデバイスは、スタンドアロンユーザデバイスとして登録され、プロセスフロー600の以下の例示では、スタンドアロンユーザデバイスおよびワイヤレスハンドヘルドデバイスはそれぞれ、同じアカウントに登録された第1のデバイスおよび第2のデバイスを例示する。
ステップ610で、プロセッサー520は、ユーザ入力に応答して、ビデオ番組を求める要求をプロキシサーバー20に送信する。ステップ615で、プロセッサー520は、プロキシサーバー20からビデオ番組を受信する。ステップ620で、プロセッサー520は、位置情報に応じて、プロキシサーバー20からビデオ番組に関連する情報(関連する情報)を受信する。
第1のデバイスの位置情報が、プロキシサーバー20によって、同じユーザアカウント下に登録されたスタンドアロンユーザデバイスとワイヤレスハンドヘルドユーザデバイスとの間の距離を決定するために使用される。距離は位置情報に依存するので、プロセッサー520は、距離に応じて、関連する情報を受信する。
たとえば、同じユーザアカウント下の第1のワイヤレスユーザデバイスがアクティブである場合、第1のワイヤレスユーザデバイスのプロセッサーは、その位置情報をプロキシサーバー20に送信するべきであり、したがって、プロキシサーバー20は、スタンドアロンユーザデバイスと第1のワイヤレスハンドヘルドユーザデバイスとの間の距離を決定することができる。ユーザは、設定プロセス中に、またはスタンドアロンユーザデバイスが移動されたときに、スタンドアロンユーザデバイスを介してユーザプロファイルにスタンドアロンユーザデバイスの位置情報をセットすることができる。スタンドアロンユーザデバイスは測位デバイスを設けられている場合、スタンドアロンユーザデバイスが移動されたときに、スタンドアロンユーザデバイスがその位置情報を送信することができる。
距離が予め定義された閾値よりも短い場合、スタンドアロンユーザデバイスは、ステップ615において、ビデオ番組を受信している間に、関連する情報を受信するステップで関連する情報の信号を受信するべきではない。むしろ、第1のワイヤレスハンドヘルドユーザデバイスが、関連する情報を受信するべきであり、しかし、ビデオ番組を受信しないべきである。距離が予め定義された閾値よりも長い場合、関連する情報を受信するステップは、関連する情報を受信する。したがって、スタンドアロンユーザデバイスは、ビデオ番組と関連する情報との両方を受信し、ワイヤレスハンドヘルドユーザデバイスは、関連する情報もビデオ番組も受信しない。
距離が予め定義された閾値よりも短く、その結果、スタンドアロンユーザデバイスが、ビデオ番組を受信し、第1のワイヤレスハンドヘルドユーザデバイスが、関連する情報を受信し、第1のワイヤレスハンドヘルドユーザデバイスが移動されて、距離が予め定義された閾値よりも今度は長くなる場合について、2つの実施形態が開示される。第1の実施形態では、スタンドアロンユーザデバイスがアクティブなままである場合、スタンドアロンユーザデバイスは、ビデオ番組と関連する情報との両方を受信し、第1のワイヤレスハンドヘルドユーザデバイスは、ビデオ番組も関連する情報も受信しない。その根拠は、ユーザがスタンドアロンユーザデバイスからビデオ番組を見ることに関心がない場合、ユーザは、たとえばスタンドアロンユーザデバイスをオフにすることによって、スタンドアロンユーザデバイスを非アクティブにするはずである、ということにある。第2の実施形態では、スタンドアロンユーザデバイスはビデオ番組も関連する情報も受信せず、第1のワイヤレスハンドヘルドユーザデバイスが両方を受信する。その根拠は、ユーザが家を離れるとき、ユーザは第1のワイヤレスハンドヘルドユーザデバイスをいつも持って行くはずである、ということにある。
スタンドアロンユーザデバイスはまた、従来の方式でカメラ570によって撮られた画像を分析することによって、スタンドアロンユーザデバイスに関するユーザのビュー変更を検出し、ビュー変更情報を生成し、ビュー変更情報をプロキシサーバー20に送信することができる。ビュー変更情報は、一実施形態では、ユーザビューが、スタンドアロンユーザデバイスへ切り替えられること、または別の実施形態では、スタンドアロンユーザデバイスから他へ切り替えられることを示すことができる。
スタンドアロンユーザデバイスが、ユーザビューがスタンドアロンユーザデバイスから他へ切り替えられることを示すビュー変更情報を送信し、距離が予め定義された閾値よりも短い場合、図4Bに関連して先に説明されたように、第1のワイヤレスハンドヘルドユーザデバイスは、等しいまたはより良い品質のコンテンツを受信するべきであり、スタンドアロンユーザデバイスは、等しいまたはより悪い品質を有するコンテンツを受信するべきである。その後、第1のワイヤレスハンドヘルドユーザデバイスが、ユーザビューが第1のワイヤレスハンドヘルドユーザデバイスから他へ切り替えられることを示すビュー変更情報を送信し、距離が予め定義された閾値よりもやはり短い場合、スタンドアロンおよびワイヤレスハンドヘルドユーザデバイスによってそれぞれ受信されるコンテンツの品質は、第1のビュー変更情報がプロキシサーバー20に送信される前の品質に復元されるべきである。
スタンドアロンユーザデバイスが、ユーザビューがスタンドアロンユーザデバイスへ切り替えられることを示すビュー変更情報を送信し、距離が予め定義された閾値よりも短い場合、たとえば図4Bに関連して上述されたプロセスに従って、スタンドアロンユーザデバイスは、等しいまたはより悪い品質を有するコンテンツを受信するべきであり、ワイヤレスハンドヘルドユーザデバイスは、等しいまたはより悪い同等性を有するコンテンツを受信するべきである。
第2のワイヤレスハンドヘルドユーザデバイスが、やはりスタンドアロンユーザデバイスに対して予め定義された閾値距離内にあり、関連する情報が、複数のユーザデバイスに送信されることを可能にされる場合、関連する情報の画像(グラフィック)部分は、第1のワイヤレスハンドヘルドユーザデバイスおよび第2のワイヤレスハンドヘルドユーザデバイスのうちの優先度がより高い1つによって受信され、テキスト部分は、他方のワイヤレスハンドヘルドユーザデバイスによって受信される。ユーザビューがスタンドアロンユーザデバイスへまたはスタンドアロンユーザデバイスから他へ切り替わることに応答する、スタンドアロンユーザデバイスによって受信されるコンテンツの品質の変更は、図4Bに関連する先の説明から導かれることができる。
図7は、ユーザデバイス50が第1のワイヤレスハンドヘルドユーザデバイスとして機能している場合のプロセスフロー700を示す。ステップ705で、プロセッサー520は、第1のデバイスの位置情報をサーバー20に送信する。第1のデバイスは、ワイヤレスハンドヘルドユーザデバイスとして登録され、プロセスフロー700の以下の例示では、ワイヤレスハンドヘルドユーザデバイス(第1のワイヤレスハンドヘルドユーザデバイス)およびスタンドアロンユーザデバイスはそれぞれ、同じアカウントに登録された第1のデバイスおよび第2のデバイスを例示する。
ステップ710で、プロセッサー520は、ユーザ入力に応答して、ビデオ番組を求める要求をプロキシサーバー20に送信する。ステップ715で、プロセッサー520は、位置情報に応じて、プロキシサーバー20からビデオ番組を受信し、ステップ720で、プロセッサー520は、位置情報に応じて、プロキシサーバー20からビデオ番組に関連する情報(関連する情報)を受信する。
第1のデバイスの位置情報が、プロキシサーバー20によって、同じユーザアカウント下に登録されたスタンドアロンユーザデバイスとワイヤレスハンドヘルドユーザデバイスとの間の距離を決定するために使用される。距離は位置情報に依存するので、プロセッサー520は、距離に応じてビデオ番組を受信し、距離に応じて関連する情報を受信する。
プロセッサー520は、自動的にまたは要求時に、第1のワイヤレスハンドヘルドデバイスの位置情報をプロキシサーバー20に送信するべきであり、したがって、プロキシサーバー20は、スタンドアロンユーザデバイスと第1のワイヤレスハンドヘルドユーザデバイスとの間の距離を決定することができる。
一実施形態では、距離が予め定義された閾値よりも短い場合、関連する情報を受信するステップ715が、関連する情報を受信し、ビデオ番組を受信するステップ710が、ビデオ番組を受信せず、スタンドアロンユーザデバイスは、ビデオ番組を受信するが関連する情報を受信しない。その根拠は、スタンドアロンデバイスが、より大きいディスプレイを有するはずであり、ユーザがビデオ番組を見るのにより快適なはずである、ということにある。
別の実施形態では、距離が予め定義された閾値よりも短い場合、関連する情報を受信するステップ715が、関連する情報を受信せず、ビデオ番組を受信するステップ710が、ビデオ番組を受信し、スタンドアロンユーザデバイスは、関連する情報を受信するがビデオ番組を受信しない。その根拠は、ビデオ番組を求める要求を送信するユーザデバイスが、要求されたビデオ番組を受信するはずである、ということにある。
距離が予め定義された閾値よりも短く、第1のワイヤレスハンドヘルドユーザデバイスが移動されて、距離が予め定義された閾値よりも今度は長くなる場合、スタンドアロンユーザデバイスはビデオ番組も関連する情報も受信せず、第1のワイヤレスハンドヘルドユーザデバイスは両方を受信する。その根拠は、ユーザが、第1のワイヤレスハンドヘルドユーザデバイスから要求を行っており、ユーザが家を離れるときは第1のワイヤレスハンドヘルドユーザデバイスをいつも持って行くはずである、ということにある。
第1のワイヤレスハンドヘルドユーザデバイスはまた、従来の方式でカメラ570によって撮られた画像を分析することによって、ワイヤレスハンドヘルドユーザデバイスに関するユーザのビュー変更を検出し、ビュー変更情報をプロキシサーバー20に送信することができる。ビュー変更情報は、一実施形態では、ユーザビューが、第1のワイヤレスハンドヘルドユーザデバイスへ切り替えられること、または別の実施形態では、第1のワイヤレスハンドヘルドユーザデバイスから他へ切り替えられることを示すことができる。第1のワイヤレスハンドヘルドユーザデバイスはまた、ディスプレイ550または物理ボタン/キー580からのユーザ入力を検出することによって、ユーザビューがそれへ切り替えられることを示すビュー変更を検出することができる。
第1のワイヤレスハンドヘルドユーザデバイスが、ユーザビューが第1のワイヤレスハンドヘルドユーザデバイスから他へ切り替えられることを示すビュー変更情報を送信し、距離が予め定義された閾値よりも短い場合、図4Bに関連して先に説明されたように、第1のワイヤレスハンドヘルドユーザデバイスは、等しいまたはより悪い品質を有するコンテンツを受信するべきであり、スタンドアロンユーザデバイスは、等しいまたはより良い品質のコンテンツを受信するべきである。その後、スタンドアロンユーザデバイスが、ユーザビューが第1のスタンドアロンユーザデバイスから他へ切り替えられることを示すビュー変更情報を送信し、距離が予め定義された閾値よりもやはり短い場合、スタンドアロンおよびワイヤレスハンドヘルドユーザデバイスによってそれぞれ受信されるコンテンツの品質は、第1のビュー変更情報がプロキシサーバー20に送信される前の品質に復元されるべきである。
第1のワイヤレスハンドヘルドユーザデバイスが、ユーザビューが第1のワイヤレスハンドヘルドユーザデバイスへ切り替えられることを示すビュー変更情報を送信し、距離が予め定義された閾値よりも短い場合、たとえば図4に関連して上述されたプロセスに従って、第1のワイヤレスハンドヘルドユーザデバイスは、等しいまたはより悪い品質を有するコンテンツを受信するべきであり、スタンドアロンユーザデバイスは、等しいまたはより悪い同等性を有するコンテンツを受信するべきである。
第2のワイヤレスハンドヘルドユーザデバイスが、やはりスタンドアロンユーザデバイスに対して予め定義された閾値距離内にあり、関連する情報が、複数のユーザデバイスに送信されることを可能にされる場合、関連する情報の画像(グラフィック)部分は、ビデオ番組を受信しないユーザデバイスのうちの優先度がより高い1つによって受信され、テキスト部分は、ビデオ番組を受信しないユーザデバイスのうちの優先度がより低い1つによって受信される。ユーザビューが第1のワイヤレスハンドヘルドユーザデバイスへまたは第1のワイヤレスハンドヘルドユーザデバイスから他へ切り替わることに応答する、第1のワイヤレスハンドヘルドユーザデバイスによって受信されるコンテンツの品質の変更は、図4Bに関連する先の説明から導かれることができる。
上述されたように、本発明の原理は、スタンドアロンユーザデバイス、たとえばスマートTVなど、ならびにワイヤレスハンドヘルド電子デバイスの1つまたは複数、たとえば、携帯電話デバイス、タッチタブレット、パーソナルコンピュータ(PC)、遠隔制御デバイス、および/または有利にサーバーからビデオ番組を受信することができる他のデバイスなどに対する、ビデオ番組およびビデオ番組に関連する情報の望ましい配信を提供する。要求された番組、および要求された番組に関連する情報(関連する情報)は、ビデオセッションに関与させられたスタンドアロンユーザデバイスと他のユーザデバイスとの間の距離に応じて、帯域幅を節約するように、2つの異なるユーザデバイスに送信されることが好ましい。ユーザビューを有するユーザデバイスが、サーバーにおいて利用可能な品質で許容可能な最良品質を有するコンテンツを受信することになるように、コンテンツの品質は、ユーザのビューに応じたものにすることができる。
この発明は、好ましい設計を有するものとして説明されているが、本発明は、この開示の趣旨および範囲内でさらに修正され得る。したがって、この出願は、その一般原理を用いて本発明のあらゆる変形、使用、または適応を包含するように意図される。さらに、この出願は、この発明が関係し添付の特許請求の範囲の制限の範囲内である当技術分野の知られたまたは通常の実施の範囲内にあるとして、本開示からのそのような逸脱を包含するように意図される。
上記の実施形態に加えて、以下の付記を開示する。
(付記1)
サーバーにおいてユーザのユーザアカウントにハンドヘルドデバイスとして登録された第1のデバイスによって、ビデオ番組および前記ビデオ番組に関連する情報を受信する方法であって、
前記第1のデバイスの位置情報を前記サーバーに送信するステップ(705)と、
前記ビデオ番組を求める要求を前記サーバーに送信するステップ(710)と、
前記位置情報に応じて、前記ビデオ番組を受信するステップ(710)と、
前記位置情報に応じて、前記ビデオ番組に関連する情報を受信するステップ(715)と、
を含む、前記方法(700)。
(付記2)
前記サーバーは、前記位置情報に応じて、前記第1のデバイスと、前記ユーザアカウントでスタンドアロンデバイスとして登録された第2のデバイスとの間の距離を決定する、付記1に記載の方法(700)。
(付記3)
前記距離が予め定義された閾値よりも短い場合、前記ビデオ番組に関連する前記情報を受信するステップは、前記ビデオ番組に関連する前記情報を受信し、前記ビデオ番組を受信するステップは、ビデオ番組を受信せず、前記第2のデバイスは、前記ビデオ番組を受信するが、前記ビデオ番組に関連する前記情報を受信しない、付記2に記載の方法(700)。
(付記4)
前記距離が予め定義された閾値よりも短い場合、前記ビデオ番組に関連する前記情報を受信するステップは、前記ビデオ番組に関連する情報を受信せず、前記ビデオ番組を受信するステップは、前記ビデオ番組を受信し、前記第2のデバイスは、前記ビデオ番組に関連する情報を受信するが、前記ビデオ番組を受信しない、付記1に記載の方法(700)。
(付記5)
前記ハンドヘルドユーザデバイスの位置を検出するステップをさらに含む、付記1に記載の方法(700)。
(付記6)
前記ユーザの第1のビュー変更を検出するステップと、第1のビュー変更情報を前記サーバーに送信するステップと、をさらに含む、付記2に記載の方法(700)。
(付記7)
前記第1のビュー変更情報は、ユーザビューが前記第1のデバイスへ切り替えられることを示す、付記6に記載の方法(700)。
(付記8)
前記第1のデバイスのディスプレイへのタッチを検出することによって、前記第1のビュー変更を検出するステップをさらに含む、付記7に記載の方法(700)。
(付記9)
前記第1のデバイスの少なくとも1つのカメラによって撮られた画像から、前記ユーザビューが前記第1のデバイスへ切り替えられることを検出することによって、第1のビュー変更情報を検出するステップをさらに含む、付記7に記載の方法(700)。
(付記10)
前記第1のデバイスによって受信されるコンテンツは第1の品質を有し、前記第1のビュー変更情報を送信した後、前記受信されるコンテンツは前記第1の品質よりも良い第2の品質を有する、付記7に記載の方法(700)。
(付記11)
前記第1のビュー変更情報は、ユーザビューが前記第1のデバイスから他へ切り替えられることを示す、付記6に記載の方法(700)。
(付記12)
前記第1のデバイスの少なくとも1つのカメラによって撮られた画像から検出することによって、第1のビュー変更を検出するステップと、前記第1のビュー変更情報を生成するステップと、をさらに含む、付記11に記載の方法(700)。
(付記13)
前記第1のデバイスによって受信されるコンテンツは第1の品質を有し、前記第1のビュー変更情報を送信した後、前記受信されるコンテンツは前記第1の品質よりも悪い第2の品質を有する、付記11に記載の方法(700)。
(付記14)
前記第1のビュー変更情報が前記第1のデバイスによって送信された後、前記第2のデバイスが第2のビュー変更情報を前記サーバーに送信し、前記サーバーが前記第2のビュー変更情報を受信した後、前記受信されるコンテンツは前記第1の品質を有する、付記13に記載の方法(700)。
(付記15)
サーバー(20)においてユーザのアカウントにハンドヘルドデバイスとして登録された第1のデバイス(50)であって、
メモリ(540)と、
前記メモリ(540)に記憶されたソフトウェアを実行するためのプロセッサー(520)と、
を備え、前記プロセッサー(520)は、前記第1のデバイスの位置情報を前記サーバー(20)に送信し、前記第1のデバイスから、ビデオ番組を求める要求を前記サーバーに送信し、前記位置情報に応じて、前記ビデオ番組を受信し、前記位置情報に応じて、前記ビデオ番組に関連する情報を受信するように構成される、前記第1のデバイス(50)。
(付記16)
前記サーバー(20)は、前記位置情報に応じて、前記第1のデバイスと、前記アカウントでスタンドアロンデバイスとして登録された第2のデバイスとの間の距離を決定する、付記15に記載のハンドヘルドユーザデバイス(50)。
(付記17)
前記距離が予め定義された閾値よりも短い場合、前記プロセッサー(520)は、前記ビデオ番組に関連する前記情報を受信するが、前記ビデオ番組を受信しないように構成され、前記第2のデバイスは、前記ビデオ番組を受信するが、前記ビデオ番組に関連する前記情報を受信しない、付記15に記載のハンドヘルドユーザデバイス(50)。
(付記18)
前記距離が予め定義された閾値よりも短い場合、前記プロセッサー(520)は、ビデオ番組を受信するが、前記ビデオ番組に関連する前記情報を受信しないように構成され、前記第2のデバイスは、前記ビデオ番組に関連する情報を受信するが、前記ビデオ番組を受信しない、付記15に記載のハンドヘルドユーザデバイス(50)。
(付記19)
前記第1のデバイスの位置を検出するための測位システムをさらに備える、付記15に記載のハンドヘルドユーザデバイス(50)。
(付記20)
前記プロセッサー(520)は、前記ユーザの第1のビュー変更を検出するように構成され、第1のビュー変更情報を前記サーバーに送信する、付記15に記載のハンドヘルドユーザデバイス(50)。
(付記21)
前記第1のビュー変更情報は、ユーザビューが前記第1のデバイスへ切り替えられることを示す、付記20に記載のハンドヘルドユーザデバイス(50)。
(付記22)
前記プロセッサー(520)は、前記第1のデバイスのディスプレイ(550)へのタッチを検出することによって、前記第1のビュー変更を検出するように構成される、付記21に記載のハンドヘルドユーザデバイス(50)。
(付記23)
前記プロセッサー(520)は、前記少なくとも1つのカメラによって撮られた画像から、前記ユーザビューが前記第1のデバイスに切り替えられることを検出することによって、前記第1のビュー変更情報を検出するように構成される、付記21に記載のハンドヘルドユーザデバイス(50)。
(付記24)
前記第1のデバイスによって受信されるコンテンツは、第1の品質を有し、前記第1のビュー変更情報を送信した後、前記受信されるコンテンツは、前記第1の品質よりも良い第2の品質を有する、付記21に記載のハンドヘルドユーザデバイス(50)。
(付記25)
前記第1のビュー変更情報は、ユーザビューが前記第1のデバイスから他へ切り替えられることを示す、付記20に記載のハンドヘルドユーザデバイス(50)。
(付記26)
前記プロセッサー(520)がユーザビューを監視するための少なくとも1つのカメラをさらに備え、前記プロセッサー(520)は、前記少なくとも1つのカメラによって撮られた画像から検出することによって、前記第1のビュー変更を検出するように構成され、前記第1のビュー変更情報を生成する、付記24に記載のハンドヘルドユーザデバイス(50)。
(付記27)
前記第1のデバイスによって受信されるコンテンツは、第1の品質を有し、前記第1のビュー変更情報を送信した後、前記受信されるコンテンツは、前記第1の品質よりも悪い第2の品質を有する、付記25に記載のハンドヘルドユーザデバイス(50)。
(付記28)
前記第1のビュー変更情報が前記第1のデバイスによって送信された後、第2のデバイスが第2のビュー変更情報を前記サーバーに送信し、前記サーバー(20)が前記第2のビュー変更情報を受信した後、前記受信されるコンテンツは前記第1の品質を有する、付記27に記載のハンドヘルドユーザデバイス(50)。
(付記29)
サーバー(20)においてユーザのアカウントにハンドヘルドデバイスとして登録された第1のデバイス(50)であって、
メモリ手段(540)と、
前記メモリ手段(540)に記憶されたソフトウェアを実行するための処理手段(520)と、
を備え、前記処理手段(520)は、前記第1のデバイスの位置情報を前記サーバーに送信し、前記第1のデバイスから、前記ビデオ番組を求める要求を前記サーバーに送信し、前記位置情報に応じて、前記ビデオ番組を受信し、前記位置情報に応じて、前記ビデオ番組に関連する情報を受信するように構成される、前記第1のデバイス(50)。
(付記30)
前記サーバー(20)は、前記位置情報に応じて、前記第1のデバイスと、前記アカウントでスタンドアロンデバイスとして登録された第2のデバイスとの間の距離を決定する、付記29に記載のハンドヘルドユーザデバイス(50)。
(付記31)
前記距離が予め定義された閾値よりも短い場合、前記処理手段(520)は、前記ビデオ番組に関連する前記情報を受信するが、前記ビデオ番組を受信しないように構成され、前記第2のデバイスは、前記ビデオ番組を受信するが、前記ビデオ番組に関連する前記情報を受信しない、付記29に記載のハンドヘルドユーザデバイス(50)。
(付記32)
前記距離が予め定義された閾値よりも短い場合、前記処理手段(520)は、ビデオ番組を受信するが、前記ビデオ番組に関連する前記情報を受信しないように構成され、前記第2のデバイスは、前記ビデオ番組に関連する情報を受信するが、前記ビデオ番組を受信しない、付記29に記載のハンドヘルドユーザデバイス(50)。
(付記33)
前記第1のデバイスの位置を検出するための測位システムをさらに備える、付記29に記載のハンドヘルドユーザデバイス(50)。
(付記34)
前記処理手段(520)は、前記ユーザの第1のビュー変更を検出し、第1のビュー変更情報を前記サーバーに送信するように構成される、付記29に記載のハンドヘルドユーザデバイス(50)。
(付記35)
前記第1のビュー変更情報は、ユーザビューが前記第1のデバイスへ切り替えられることを示す、付記34に記載のハンドヘルドユーザデバイス(50)。
(付記36)
前記処理手段(520)は、前記第1のデバイスのディスプレイ(550)へのタッチを検出することによって、前記第1のビュー変更を検出するように構成される、付記35に記載のハンドヘルドユーザデバイス(50)。
(付記37)
前記処理手段(520)は、前記少なくとも1つのカメラによって撮られた画像から、前記ユーザビューが前記第1のデバイスに切り替えられることを検出することによって、前記第1のビュー変更情報を検出するように構成される、付記35に記載の第1のデバイス(50)。
(付記38)
前記第1のデバイスによって受信されるコンテンツは、第1の品質を有し、前記第1のビュー変更情報を送信した後、前記受信されるコンテンツは、前記第1の品質よりも良い第2の品質を有する、付記35に記載の第1のデバイス(50)。
(付記39)
前記第1のビュー変更情報は、ユーザビューが前記第1のデバイスから他へ切り替えられることを示す、付記34に記載の第1のデバイス(50)。
(付記40)
前記処理手段(520)がユーザビューを監視するための少なくとも1つのカメラをさらに備え、前記処理手段(520)は、前記少なくとも1つのカメラによって撮られた画像から検出することによって、前記第1のビュー変更を検出するように構成され、前記第1のビュー変更情報を生成する、付記38に記載の第1のデバイス(50)。
(付記41)
前記第1のデバイスによって受信されるコンテンツは、第1の品質を有し、前記第1のビュー変更情報を送信した後、前記受信されるコンテンツは、前記第1の品質よりも悪い第2の品質を有する、付記39に記載の第1のデバイス(50)。
(付記42)
前記第1のビュー変更情報が前記第1のデバイスによって送信された後、第2のデバイスが第2のビュー変更情報を前記サーバーに送信し、前記サーバー(20)が前記第2のビュー変更情報を受信した後、前記受信されるコンテンツは前記第1の品質を有する、付記41に記載のハンドヘルドユーザデバイス(50)。