(57)【要約】【課題】複数のネットワーク接続された端末の間でメディアレンダリングを同期させることを目的とする。【解決手段】第１端末は、ネットワーク時間を、端末上でレンダリングされるメディアアイテムの第１の部分に関連付ける通信を別の端末から受信する（２５８）ことができる。これらの端末は、メディアの第１の部分に対するネットワーク時間の関連付けから、かつ端末間で取り決めされた再生速度から、他のネットワーク時間にレンダリングされるメディアアイテムの他の部分を識別することができる。端末は各々、ネットワーク時間が進むにつれて、メディアアイテムの適切な部分をレンダリングすることができる。端末はまた、共通のレンダリングセッションの経過中に他のデータを交換して再生モードを変更することができる。【選択図】図２
2020174378.tif 000002
【特許請求の範囲】
【請求項１】
端末間でメディアレンダリングを同期させる方法であって、第１端末において、
同期化されたレンダリングセッションの、別の端末から受信された通信に応じて、ネットワーク時間をレンダリングされるメディアアイテムの第１の部分に関連付けることと（２５８）、
前記メディアアイテムのコンテンツをネットワークロケーションから読み出すことと（２６２）、
前記第１の部分に対するネットワーク時間の前記関連付けから、かつ前記別の端末からの通信で受信された再生速度から、レンダリングされる前記メディアアイテムの第２の部分及び前記第２の部分がレンダリングされる予定の時間を識別することと、
前記第２の部分がレンダリングされる予定の前記時間に前記メディアアイテムの前記第２の部分をレンダリングすることと（２６６）、
を含む方法。
【請求項２】
前記識別することは、前記ネットワーク時間を前記第１端末の現在時間に関連付けることを含む、請求項１に記載の方法。
【請求項３】
前記他の端末から前記メディアアイテムの識別を受信すること（２５４）を更に含む、請求項１に記載の方法。
【請求項４】
前記ネットワーク時間のソースの識別を前記他の端末と取り決めることを更に含む、請求項１に記載の方法。
【請求項５】
前記現在時間が前記レンダリングセッションにわたって進行するにつれて、停止条件が発生するまで前記識別することとレンダリングすることとを繰り返すことを含む、請求項１に記載の方法。
【請求項６】
前記停止条件は、レンダリングが前記メディアアイテムの終わりに到達するときに生じる、請求項５に記載の方法。
【請求項７】
前記停止条件は、他のレンダリングモードを識別する新しい通信である、請求項５に記載の方法。
【請求項８】
前記他のレンダリングモードは一時停止動作であり、前記方法は、その後、前記新しい通信で識別された前記メディアアイテムのある場所でレンダリングを一時停止することを含む、請求項７に記載の方法。
【請求項９】
前記他のレンダリングモードは、スキャン動作であり、前記方法は、その後、前記新しい通信によって識別された前記メディアアイテムのある位置から開始して、前記新しい通信において識別された他の再生速度で前記メディアアイテムをレンダリングすることを含む、請求項７に記載の方法。
【請求項１０】
前記他のレンダリングモードは、シーク動作であり、前記方法は、その後、前記レンダリングが前記新しい通信で識別された前記メディアアイテムの第１の位置に到達すると、前記ネットワーク時間と前記メディアアイテムとの間の新しい関連付けを使用して、前記メディアアイテムの第２の位置から前記メディアアイテムをレンダリングすることを含む、請求項７に記載の方法。
【請求項１１】
前記第１端末は、前記新しい通信を前記他の端末に送信する、請求項７に記載の方法。
【請求項１２】
前記第１端末は、前記新しい通信を前記他の端末から受信する、請求項７に記載の方法。
【請求項１３】
端末間でメディアレンダリングを同期させる方法であって、第１端末において、
同期化されたレンダリングセッションを初期化する別の端末に通信を送信する（２５８）ことであって、前記通信は、レンダリングされるメディアアイテムの第１の部分にネットワーク時間を関連付けるインジケータと再生速度とを含む、ことと、
前記メディアアイテムのコンテンツをネットワークロケーションから読み出すことと（２６２）、
前記第１の部分に対するネットワーク時間の前記関連付けと前記再生速度から、レンダリングされる前記メディアアイテムの第２の部分と前記第２の部分がレンダリングされる予定の時間とを識別することと、
前記第２の部分がレンダリングされる予定の前記時間に前記メディアアイテムの前記第２の部分をレンダリングすることと（２６６）、を含む方法。
【請求項１４】
前記識別することは、前記ネットワーク時間を前記第１端末の現在時間に関連付けることを含む、請求項１３に記載の方法。
【請求項１５】
前記他の端末から前記メディアアイテムの識別を受信することを更に含む、請求項１３に記載の方法。
【請求項１６】
前記ネットワーク時間のソースの識別を前記他の端末と取り決めることを更に含む、請求項１３に記載の方法。
【請求項１７】
前記現在時間が前記レンダリングセッションにわたって進行するにつれて、停止条件が発生するまで、前記識別することとレンダリングすることとを繰り返すことを更に含む、請求項１３に記載の方法。
【請求項１８】
前記レンダリングが前記メディアアイテムの終わりに到達するまで前記識別することとレンダリングすることとを繰り返すことを更に含む、請求項１７に記載の方法。
【請求項１９】
新しい通信が一時停止動作を識別したとき、前記新しい通信で識別された前記メディアアイテムのある場所でレンダリングを一時停止することを更に含む、請求項１７に記載の方法。
【請求項２０】
新しい通信がスキャン動作を識別したとき、
前記新しい通信によって識別された前記メディアアイテムのある位置から前記新しい通信で識別された他の再生速度で前記メディアアイテムをレンダリングすること、を更に含む、請求項１７に記載の方法。
【請求項２１】
新しい通信がシーク動作を識別したとき、
前記レンダリングが前記新しい通信で識別された前記メディアアイテムの第１の位置に到達するまで、前記識別することとレンダリングすることとを繰り返すことと、
その後、前記ネットワーク時間と前記メディアアイテムとの間の新しい関連付けを使用して、前記メディアアイテムの第２の位置から前記メディアアイテムをレンダリングすることと、を更に含む、請求項１７に記載の方法。
【請求項２２】
端末であって、
ネットワークに接続された送受信機（３４０）と、
メディアシンクデバイスと、
前記送受信機（３４０）に、レンダリングされるメディアアイテムをネットワークリソースからダウンロードさせ、
前記送受信機（３４０）に、第１のネットワーク時間を前記メディアアイテムの第１の部分に関連付けるインジケータを別の端末から受信させ、
前記メディアシンクデバイスに、現在のネットワーク時間において、前記関連付けられた第１のネットワーク時間と前記第１の部分とにより、かつ再生速度により決定されるような、前記現在のネットワーク時間に関連付けられた前記メディアアイテムの第２の部分をレンダリングさせる、プログラム命令を実行する処理システム（３１０）と、
を備える端末。
【請求項２３】
前記メディアアイテムは、前記端末と前記他の端末との間の通信において識別される、請求項２２に記載の端末。
【請求項２４】
前記第１のネットワーク時間のソースの識別は、前記端末間で取り決められる、請求項２２に記載の端末。
【請求項２５】
端末であって、
ネットワークに接続された送受信機（３４０）と、
メディアシンクデバイスと、
前記送受信機（３４０）に、レンダリングされるメディアアイテムをネットワークリソースからダウンロードさせ、
前記メディアアイテムの第１の部分に対するネットワーク時間の関連付けとレンダリングの再生速度とから、レンダリングされる前記メディアアイテムの第２の部分を識別させ、
前記メディアシンクデバイスに、前記現在のネットワーク時間に関連付けられた前記メディアアイテムの前記第２の部分をレンダリングさせる、プログラム命令を実行する処理システム（３１０）と、
を含む端末。
【請求項２６】
命令を記憶するコンピュータ可読記憶デバイスであって、前記命令が処理デバイスによって実行されると、前記処理デバイスに、
同期化されたレンダリングセッションの、別のデバイスから受信された通信に応じて、レンダリングされるメディアアイテムの第１の部分にネットワーク時間を関連付けさせ（２５８）、
前記メディアアイテムのコンテンツをネットワークロケーションから読み出させ（２６２）、
前記第１の部分に対するネットワーク時間の前記関連付けから、かつ前記他の端末からの通信で受信された再生速度から、レンダリングされる前記メディアアイテムの第２の部分と、前記第２の部分がレンダリングされる予定の時間と、を識別させ、
前記第２の部分をレンダリングするための前記時間に、前記メディアアイテムの前記第２の部分をレンダリングさせる（２６６）、コンピュータ可読記憶デバイス。
【請求項２７】
命令を記憶するコンピュータ可読記憶デバイスであって、前記命令が処理デバイスによって実行されると、前記処理デバイスに、
同期化されたレンダリングセッションを初期化する別のデバイスに通信を送信させ（２５８）、前記通信は、レンダリングされるメディアアイテムの第１の部分にネットワーク時間を関連付けるインジケータと再生速度とを含み、
前記メディアアイテムのコンテンツをネットワークロケーションから読み出させ（２６２）、
前記第１の部分に対するネットワーク時間の前記関連付けと前記再生速度から、レンダリングされる前記メディアアイテムの第２の部分と前記第２の部分がレンダリングされる予定の時間とを識別させ、
前記第２の部分をレンダリングするための前記時間に、前記メディアアイテムの前記第２の部分をレンダリングさせる（２６６）、コンピュータ可読記憶デバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
本開示は、ネットワーク化されたデバイスのためのメディアレンダリングアプリケーションに関し、特に、ブロードキャスト配信動作を模擬するためにメディアレンダリングを同期させる技術のアプリケーションに関するものである。
【０００２】
現代の通信ネットワークは、ビデオデータを含むさまざまな大量の種類のデータの配信をサポートする。多くの用途において、特にビデオが単一の表示装置でひとりの視聴者により使用される場合、ネットワーク配信とビデオのレンダリングにおけるゆがみは、閲覧体験に悪影響を与えない。３人の別々の視聴者が、３つの別々の場所で、共通のメディアアイテムを精査している実施例を考えてみよう。視聴者が「ライブ」ビデオフィードを視聴している場合であって、視聴者１のためのビデオのレンダリングが視聴者２のための同じビデオのレンダリングの１秒前に起こり、視聴者３のためのそのビデオのレンダリングの３秒前に起こるとしても、視聴者の閲覧体験は、悪影響を受けないであろう。
【０００３】
しかし、３人の視聴者が互いに協力してビデオを精査し、（例えば、電話会議により）互いに通信している場合には、かかるゆがみは、閲覧体験に影響を及ぼす可能性がある。１人の視聴メンバがコメントしたとしても、そのコメントが、例えば、他の場所の他の視聴メンバにまだ提示されていないビデオに関連する場合、又は、そのコメントが、あまりにも前にレンダリングされたビデオに関連するため、他の場所の視聴メンバがそのコンテンツを思い出すのが難しい場合には、そのコメントは理解するのが困難であろう。
【０００４】
メディア配信プロトコルでは、レンダリング端末がレンダリングされるメディアコンテンツをメディアサーバに要求する必要があることが多い。単一のメディアアイテムは、端末によって個別に要求、ダウンロードされてデコード及びレンダリングのためにバッファリングされるさまざまな配信ユニット（「セグメント」）にセグメント化されることがある。２個以上の端末が共通のメディアアイテムをレンダリングするとき、各端末は、他の端末によって行われるどの要求とも独立して、メディアサーバからセグメントを要求する。かかるシステムにおいて、メディアレンダリング動作を適切に同期させる既知の技術はない。
【図面の簡単な説明】
【０００５】
【図１】本開示のさまざまな実施形態と共に使用するのに好適なメディア配信システムの簡略ブロック図である。
【図２】本開示の一実施形態に係る、端末間のメディアレンダリングを同期させるためのプロセスを例示する。
【図３】本開示の一実施形態に係る端末３００の機能ブロック図である。
【発明を実施するための形態】
【０００６】
本開示の実施形態では、複数のネットワーク接続された端末間でメディアレンダリングを同期させる技術が提供される。第１端末は、ネットワーク時間を、端末上でレンダリングされるメディアアイテムの第１の部分に関連付ける通信を別の端末から受信することができる。これらの端末は、メディアの第１の部分に対するネットワーク時間の関連付けから、かつ端末間で取り決めされた再生速度から、他のネットワーク時間にレンダリングされるメディアアイテムの他の部分を識別することができる。端末は各々、ネットワーク時間が進むにつれて、メディアアイテムの適切な部分をレンダリングすることができる。端末はまた、共通のレンダリングセッションの経過中に他のデータを交換して再生モードを変更することができる。
【０００７】
図１は、本開示のさまざまな実施形態の用途に好適なメディア配信システム１００の簡略ブロック図である。システム１００は、ネットワーク１３０による相互通信において提供されるメディアソース１１０と、１つ以上のクライアント端末１２０．１〜１２０．４（集合的に１２０として参照される）とを備えることができる。メディアソース１１０は、端末１２０によってダウンロードされてレンダリングされ得るさまざまなメディアアイテム１４０を記憶することができる。ネットワーク１３０は、メディアアイテム１４０をメディアソース１１０から端末１２０に配信することができる通信ファブリックを表す。
【０００８】
図１は、本開示の一実施形態に係るメディアアイテム１４０の例示的な構成要素を示す。メディアアイテム１４０は、メディアアイテム１４０の他の構成要素１４４〜１４８を記述する情報を含むマニフェストファイル１４２を含むことができる。オーディオ／ビジュアルコンテンツを表す単一のメディアアイテム１４０は、典型的には、コード化されたビデオのいくつかのインスタンスを含み、それぞれがメディアアイテムのビデオコンテンツを表すが、異なるデータレートでコード化されている。例えば、単一のメディアアイテム１４０は、５Ｍｂｐｓのストリーム１４４、２Ｍｂｐｓのストリーム１４５及び５００ｋｂｐｓのストリーム１４６により、示すことができる。メディアアイテムはまた、例えば、英語トラック１４７、スペイン語トラック１４８、及び他の言語（ヘブライ語、中国語など）のトラック（図示せず）などの、さまざまなオーディオトラック用のストリーム１４７〜１４８を含むことができる。例えば、クローズドキャプションなどの他の目的のトラックを含めることも許容される。これらのストリーム１４４〜１４８は、典型的には、ダウンロードのために個別にパッケージングされたユニット（「セグメント」と呼ばれる）で編成される。マニフェストファイル１４２は、さまざまなストリームとそれらの特性を識別し各トラックのセグメントを読み出すことができるネットワーク識別子を提供するデータを記憶することができる。
【０００９】
動作中、所定の端末１２０．１は、メディアアイテム１４０で利用可能なストリーム１４４〜１４８を全ては使用しないであろう。代わりに、端末１２０．１は、おそらく、端末のレンダリング環境に適切なオーディオビデオストリーム（例えば、ストリーム１４５及び１４７）を識別するであろう。異なる環境で動作する別の端末１２０．２は、ダウンロード及び表示のために異なるストリーム（例えば、ストリーム１４４及び１４８）を選択してもよい。異なる環境は、デバイス１２０．１〜１２０．４間のリソース差（例えば、各ディスプレイの解像度）、及びストリームデコードに利用可能な処理リソース間の差によって影響を受ける可能性があり、また、ネットワーク１３０によって各端末１２０．１、１２０．２、１２０．３及び１２０．４に提供され得る帯域幅の差によって影響を受ける可能性がある。
【００１０】
図１は、メディアアイテム１４０の簡略化されたアーキテクチャを例示する。実際には、マニフェストファイル１４２はファイルのアレイによって表し、このアレイの各々が、メディアアイテムの各部分についての情報を提供する。
【００１１】
図１に示すように、端末１２０は、スマートフォン１２０．１、１２０．２、タブレットコンピュータ１２０．３及びディスプレイ１２０．４として示されているが、本開示の原理はそれに限定されない。本開示の実施形態は、パーソナルコンピュータ（デスクトップ及びラップトップコンピュータの双方）、コンピュータサーバ、セットトップボックス、メディアプレーヤ、及び／又はゲームプラットフォームに適用される。ネットワーク１３０は、例えば、有線及び／又は無線通信ネットワークを含む、メディアソース１１０と端末１２０との間で符号化されたビデオデータを搬送する任意の数のネットワークを表す。通信ネットワーク１３０は、回線交換及び／又はパケット交換チャネルのデータを交換することができる。代表的なネットワークとしては、電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク及び／又はインターネットを挙げることができる。本説明の目的上、ネットワーク１３０のアーキテクチャ及びトポロジは、以下に説明されない限り、本開示の動作にとって重要ではない。
【００１２】
図２は、本開示の一実施形態に係る、端末間でメディアレンダリングを同期させるためのプロセス２００を例示する。図２は、一対の端末２１０、２２０、メディアソース２３０及びクロック基準２４０を例示する。同期化されたレンダリングセッションは、端末２１０、２２０間でセッションを確立する初期化フェーズ２５０から開始することができる。初期化フェーズ２５０は、端末２１０、２２０間で交信される第１の通信フロー２５２を含み、端末２１０、２２０は、セッション中に使用されるクロック基準２４０を指定する。初期化フェーズ２５０の一部として、端末２１０のうちの１つ（「１次」端末と称される）は、レンダリングされるメディアアイテムを識別するメッセージ（メッセージ２５４）、セッション中に使用される再生速度を識別するメッセージ（メッセージ２５６）、及びメディア時間に対応する共有ネットワーク時間を識別するメッセージ（メッセージ２５８）を他の端末２２０（「２次」端末）に送信することができる。２次端末２２０は、メディアアイテム識別子２５４を使用して、同期してレンダリングされるメディア時間のネットワークロケーションを識別することができる。２次端末２２０は、１次端末２１０によって行われた任意の要求とは独立して、メディアソース２３０にメディアアイテムの要求を行うことができる。２次端末２２０はまた、２次端末２２０に適切なストリームをメディアアイテムから選択することもできる。その端末による選択は、１次端末２１０によって行われた選択とは独立して行ってもよい。
【００１３】
２次端末２２０は、メディア時間と共有時間識別子（メッセージ２５８）を使用して、メディアアイテムのポイントをネットワーク時間に関連付けることができる。再生速度と連携して使用されるこの関連付けによって、２次端末２２０は、メディアアイテムのどの要素が将来レンダリングされるかを識別することができる。
【００１４】
初期化フェーズ２５０が終了すると、端末２１０、２２０は、セッションの各レンダリングフェーズ２６０、２７０に入ることができる。レンダリングフェーズ２６０、２７０の間、各端末の動作は、他の端末とは独立して行うことができるにもかかわらず、端末２１０、２２０は同期化されたビデオをレンダリングする。各端末２１０、２２０は、メディアソースからメディアアイテムの選択されたストリームをダウンロードすることができる（メッセージフロー２６２、２７２）。各端末２１０、２２０は、そのレンダリング動作をクロック基準に同期させることができる（メッセージフロー２６４、２７４）。各端末２１０、２２０は、初期化フェーズ２５０で識別された再生速度及び関連付けに基づいて、メディアアイテムのどの部分を各端末の現在の「時間」にレンダリングすべきかを決定することによって、メディアアイテムの一部をローカルにレンダリングすることができる（ボックス２６６、２７６）。これらの動作は、レンダリングセッションがメディアアイテムの終わりに到達するか、又はユーザ操作によって通常の再生が中断されるなど、所定の停止条件に到達するまで、ビデオセッション全体にわたって再帰的に発生することができる。
【００１５】
本開示の実施形態は、ビデオレンダリングセッションが端末２１０、２２０間の他の対話２８０と並行して生じることを意図している。例えば、端末２１０、２２０は、それらの間の音声又は音声／映像会議をサポートすることができ、これにより、各端末の視聴者は、レンダリングされているメディアアイテムにコメントすることができる。あるいは、対話２８０は、インスタントメッセージングセッション、チャットアプリケーション、ツイート、ソーシャルネットワーキングフィードなどの他の形態をとってもよい。端末２１０、２２０は、各端末の視聴者がメディアアイテムの注記又は注釈を作成することができる共同文書オーサリングアプリケーションをサポートすることができる。
【００１６】
図２は、ただ２つの端末２１０、２２０間のレンダリングセッションを例示しているが、本開示の原理はそれに限定されない。実際には、レンダリングセッションは、任意に選択された数（Ｎ）の端末を含むことができる。かかる用途では、通信フロー２５２は、Ｎ個の端末間で共有することができる。１次端末２１０は、メッセージ２５４〜２５８を他のＮ−１個の２次端末に送信して、初期化フェーズを完了してもよい。その後、これらの端末は、レンダリングフェーズ２６０、２７０を互いに並行して行うことができる。
【００１７】
クロック基準２４０は、さまざまな技術のいずれかによって取得することができる。例えば、いくつかのネットワーキングプロトコルは、ネットワーク要素のクロック基準を定義し、これらのクロック基準として、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）、ＩＥＥＥ１５８８及びＩＥＥＥ８０２．１が規格として挙げられる。端末２１０、２２０は、レンダリング中に使用するために、これらのプロトコルのいずれによって提供されるタイミング基準にも依存することができる。端末がレンダリングセッションで使用するためのクロック基準（メッセージ２５２）を指定するとき、端末２１０、２２０はかかるタイミング基準を供給する適切なネットワーク要素を指定してもよい。端末２１０、２２０は各々クロック基準２４０を参照して、端末ごとに（例えば、ボックス２６６、２７６において）異なり得る各端末のローカル動作時間と、使用されるクロック基準２４０によって定義されるネットワーク時間との間の関連付けを作成することができる。
【００１８】
実際には、個々の端末２１０、２２０は、これらのクロック源に対してドリフトを示すローカルなクロックに従って動作してもよい。例えば、所定の端末のクロックは、他のデバイスのレンダリングよりも０．０１％高速でレンダリングを発生させることがある。端末は、その動作を調整するために、その動作をクロック基準２４０に周期的に再同期させることができる。更に、端末２２０は、レンダリングセッションの進行中にクロックドリフトエラーを追跡し、エラーが重大であると判定された場合（例えば、所定の閾値を超えた場合）、端末２２０は、かかるクロックドリフトを補償する（例えば、上記の例では０．０１％の誤差をゼロにする）ローカルな再生速度を計算することができる。
【００１９】
図２は、２つの端末が一定の再生速度でビデオをレンダリングするときに発生する通信フロー及び動作を例示する。本開示の実施形態はまた、図２に示される定常再生の実施例とは異なるレンダリングモードをサポートする通信フローを提供する。それらのレンダリングモードとして、以下のものが挙げられる。
【００２０】
再生一時停止（Pause Playback）：このモードでは、端末２１０、２２０は各々、メディアアイテムのレンダリングタイムライン内の所定のポイントでメディアアイテムのレンダリングを一時停止することができる。このモードをサポートするために、一時停止コマンドが入力された端末（例えば、端末２２０）は、一時停止コマンドが入力されたことを識別すると共に一時停止動作が有効になるメディア時間を識別するメッセージを、セッションの他の端末２１０に送信してもよい。セッション中の各端末２１０、２２０は、この一時停止メッセージで識別されたメディア時間において、レンダリングを一時停止することができる。
【００２１】
レジューム再生（Resume Playback）：端末は通常の再生を再開し、以前に課された一時停止動作を解除することができる。このモードをサポートするために、開始端末２１０（一時停止動作を行った同じ端末である必要はない）は、一時停止が解除されたことを識別すると共に、この解除を有効とすべきネットワーク時間基準を識別するメッセージを送信してもよい。このメッセージに基づいて、各受信端末は、そのネットワーク時間とメディアアイテムのタイムラインとの間に新たな関連付けを作成し、この新しい関連付けを使用して、レンダリングを再開することができる。
【００２２】
スキャン再生（Scan Playback）：このモードでは、端末２１０、２２０は各々、再生速度メッセージ２５６で識別されたデフォルト速度から他の速度に再生速度を変更しなければならない。再生速度は、通常のレンダリング速度から増加（例えば、デフォルト速度の２倍、４倍、８倍又は１６倍）、又は減少（例えば、デフォルト速度の１／２倍又は１／４倍）させることができる。更に、再生速度は、通常再生とは逆方向にスキャンできるように負の値であってもよい。かかる再生モードをサポートするために、開始端末は、スキャンモードが入力されていることを識別し、新しい再生速度を識別すると共に、スキャンモードが有効になるメディア時間を識別するメッセージを、他の端末２１０に送信してもよい。各端末２１０、２２０は、新しいメッセージで提供された情報を使用して、自身の現在時間とメディアアイテムのタイムラインとの間に新しい関連付けを定義することができる。
【００２３】
シーク再生（Seek Playback）：このモードでは、端末２１０、２２０は、メディアアイテムのタイムライン内で第１の位置から第２の位置にジャンプしなければならない。シークモードをサポートするために、開始端末は、シークモードが入力されたことを識別するメッセージを他の端末２１０に送信し、再生がジャンプすべきメディアアイテム内の新しい位置と、この新しい位置でレンダリングを始めるべきネットワーク時間を識別する。各端末２１０、２２０は、新しいメッセージで提供された情報を使用して、自身の現在時間とメディアアイテムのタイムラインとの間に新しい関連付けを定義することができる。  
【００２４】
スクラブ再生（Scrub Playback）：このモードでは、第１端末２１０のユーザは、スライダなどのユーザインタフェース制御手段を使用して、メディアアイテムのタイムラインをスクロールする。第１端末において、スクロール動作は、ユーザによって決定された、一定でないかも知れない速度でタイムライン内を進む。第１端末２１０は、タイムラインからのフレームを規則的な割合で表示することができるが、これらのフレームは、新しいフレームの表示が要求される際のスクロール動作の位置に基づいてメディアアイテムから選択され得る。
【００２５】
スクラブ動作中、第１端末２１０は、スクラブが開始されたことを示しと共に、スクラブ動作が開始されたときのネットワーク時間を識別するメッセージを、他の端末２２０に送信することができる。他の端末２２０は、一時停止メッセージが受信されたかのように応答し、指定されたネットワーク時間にレンダリングされる予定であったフレームにおいて再生を一時停止させることができる。
【００２６】
スクラブ動作が完了すると、レンダリングは、インタフェース制御手段によって識別されたメディア時間内の場所で、第１端末２１０において再開する。第１端末２１０は、レンダリングを再開するメディアアイテムの部分を識別すると共に、レンダリングを開始すべきネットワーク時間を識別する別のメッセージを、他の端末２２０に送信することができる。他の端末２２０は、シークメッセージが受信されたかのように応答し、識別された位置にジャンプして、識別されたネットワーク時間にレンダリングを開始することができる。
【００２７】
任意選択的に、スクラブ動作が進行中であるとき、第１端末２１０は、スクラブ動作中に第１端末２１０に表示されたメディアアイテムのフレームを識別すると共に、それらの識別されたフレームが表示されたネットワーク時間を識別する、追加的なメッセージを他の端末２２０に送信してもよい。これに応じて、他の端末２２０は、これらのネットワーク時間に、識別されたフレームを表示することができる。かかるメッセージの送信は、端末２１０及び２２０における負荷の要因となる場合があり、したがって、かかる端末はベストエフォートベースで、これら追加的なメッセージを送信又は処理してもよい。
【００２８】
本開示の実施形態によれば、また、これらのメッセージを互いにカスケード状に関連付けて、追加の機能を提供することができる。例えば、端末２１０、２２０は、両端末上で同期して第１のメディアアイテムのレンダリングを終了させる一時停止メッセージを送信し、その後に初期化フェーズ２５０を端末２１０、２２０上で同期して再開し、新しいメディアアイテムのレンダリングを開始することにより、通常のテレビ番組のチャネル切替を模擬することができる。
【００２９】
本開示の同期化されたレンダリング技術は、さまざまな使用事例に適用される。上述の一実施例では、共通のソーシャルグループのメンバは、補足のための端末２１０、２２０間の会議に参加しつつメディアアイテムを視聴することができる。したがって、視聴者がメディアアイテムに対するコメント又は他の反応を提供する際に、それらのコメントは、メディアアイテムの同じ部分を同期して見ている他の視聴者にとって意味があるであろう。
【００３０】
別の使用事例では、視聴者は、共通の大きなディスプレイの前のような共通の視聴エリアに集まる場合がある。視聴者によっては、共通ディスプレイに出力されている言語とは異なる言語を使用するメディアアイテムを見る方が容易な場合がある。このシナリオでは、限定された視聴者は、メインディスプレイに同期するがパーソナルヘッドフォンを介して代替の言語音声を出力する補足的なデバイス（パーソナルメディアプレーヤ又はスマートフォンなど）を使用することができる。代替のオーディオトラックの選択は、上述のソーシャルグループの使用事例などの他の視聴環境においても、サポートされ得る。
【００３１】
同様に、別のコミュニティ視聴環境では、視聴者は、コミュニティ表示デバイスに出力されるメディアアイテムを見ることができる。周囲の視聴条件（例えば、ノイズがあったり、あるいはディスプレイがミュートされていたり）によっては、特定の聴取者に音声が聞こえない場合がある。このシナリオでは、限定された視聴者は、メインディスプレイに同期しつつパーソナルヘッドフォンを介して音声を出力する、補完的デバイスを使用することができる。
【００３２】
別のコミュニティ視聴環境では、共通メディアアイテムは、互いに近接して配置された複数のディスプレイ上にレンダリングしてもよい。かかる環境では、特に、さまざまなディスプレイで共通の一連のシーン変更が異なる時間に表示される場合、同期されていないレンダリングは視聴者に非常に目立つ可能性がある。本開示の同期技術を使用して、共通の視聴エリア内のディスプレイは、メディアアイテムのレンダリングを同期させることができ、これによって、メディアアイテムのレンダリング間でのゆがみをディスプレイ間で最小化することができる。
【００３３】
この同期技術はまた、視聴者が共通の視聴エリア内の異なるディスプレイ上で配信される異なるビデオストリームを選択することができる使用事例に適用することができる。例えば、メディアアイテムがコンサートの映像である場合、コンサートにおける異なる演奏者に照準を合わせた異なるビデオストリームを有し得る。第１のビデオストリームはリードシンガーのビデオを含み、第２のビデオストリームはギタリストのビデオを含み、第３のビデオストリームはドラマーのビデオを含んでもよい。スポーツイベントに係わる別の実施例では、イベントの異なるビデオストリームによって、異なる競技者に焦点を合わせることができる。視聴メンバは、パーソナルメディアプレーヤをメインディスプレイに同期させ、これらの代替的なビデオストリームのうちの１つをレンダリングのために選択することができる。このようにして、パーソナルメディアデバイスにおける代替的なビデオストリームのレンダリングを、メインディスプレイのレンダリングに同期させることができる。
【００３４】
この同期技術は、メディアアイテムがライブ生成ビデオであるテレビ会議アプリケーションに適用することができる。かかる実施形態では、遠隔参加者は、メインディスプレイがビデオファイルを別のデバイスにレンダリングしている間に、パーソナルデバイス（例えば、スマートフォン又はタブレットコンピュータ）上のメディアアイテムを視聴することができる。３人以上のビデオ参加者（各々が独自のメディアアイテムを生成する）が係わるテレビ会議では、オペレータは、他の端末に適用され得るデフォルトのレンダリングスキームとは異なる方法でメディアアイテムのローカルなレンダリングを制御することができる。例えば、オペレータは、全てのメディアアイテムが端末の各ウィンドウに表示され、現在発言している人のウィンドウが、話していない参加者よりも大きなサイズでレンダリングされるレンダリングスキームを選択することができる。デフォルトレンダリングスキームは、かかる拡張機能を適用せず、代わりに、かかるメディアアイテムで生じるアクティビティ（例えば、発言中のとき、発言中でないとき）にかかわらず、等しいサイズのウィンドウ内に全てのメディアアイテムをレンダリングすることができる。
【００３５】
前述の説明は、各端末が共通メディアソース２３０からメディアアイテムをダウンロードするネットワーキング環境を紹介したものである。本開示の原理は、いくつかのメディアソース（図示せず）が、メディアアイテムの冗長コピーを記憶するネットワークに存在する環境に適用される。したがって、第１端末２１０は、第１のメディアソース２３０からメディアアイテムをダウンロードし、第２端末２２０は、別のメディアソース（図示せず）からメディアアイテムをダウンロードすることができる。
【００３６】
本開示の原理は、１つの端末２１０がメディアアイテム（又はその一部）を別の端末２２０に提供するネットワーキング環境においても適用される。この実施形態では、第１端末２１０は、メディアアイテムの一部をダウンロードし、それらの部分をローカルストレージに記憶することができる。あるいは、第１端末２１０は、例えばローカルイメージングシステムによりビデオデータをキャプチャすることによって、メディアアイテムを作成することができる。いずれの場合も、第１端末２１０は、第２端末２２０と通信して、第１端末が記憶するメディアアイテムの部分を識別することもできる。この環境では、端末２２０は、端末２１０又はメディアソース２３０のどちらのエンティティにメディアアイテムのそれらの部分の提供を依頼するかを決定する裁量を有する。第２端末２２０は、メディアアイテムを依頼する相手先のエンティティを選択するときに、ネットワークの負荷条件及び他のリソースの制約を見積ることができる。
【００３７】
更に、図２は、セッション初期化の完了後にのみ各端末２１０、２２０がメディアアイテムをダウンロードすることを示しているが、本開示の原理はこれに限定されない。本開示の実施形態では、端末２１０（又は全ての端末）は、別の端末２２０との同期化されたレンダリングセッションを開始する前に、メディアアイテム全体をダウンロードすることができる。この場合、メディアアイテムを予め記憶する端末２１０は、上述のようにレンダリングを同期させるだけでよい。
【００３８】
前述の説明では、第１端末２１０が１次端末として指定され、他の端末が２次端末として指定される実装について記載した。一実施形態では、これらの端末の役割は、共通のセッションの間に変化してもよい。例えば、第１端末２１０は１次端末としてセッションを開始し、他の端末は２次端末の役割を果たすことができる。何らかの理由で、第１端末２１０のユーザがセッションから離脱した場合、別の端末（例えば、端末２２０）は、セッションのその後の部分について、１次端末の役割を引き継ぐことができる。１次端末の役割は、セッションをサポートするユーザインタフェース制御手段を介して入力された明示的なユーザコマンドによっても変更することができる。
【００３９】
更に、図２には示されていないが、すでに進行中のセッションに他の端末（図示せず）が参加することもできる。新しい端末がセッションに参加するとき、ある端末、１次端末、又は２次端末のうちの１つは、クロック基準、メディアアイテム、再生速度、及びメディア時間と再生時間の間の関連付けを識別するメッセージ２５２〜２５８と同様のメッセージを、この新しい端末に送信することができる。その後、この新しい端末は、他の端末の再生に同期して、メディアアイテムのレンダリングを開始することができる。
【００４０】
図３は、本開示の一実施形態に係る端末３００の機能ブロック図である。端末３００は、処理システム３１０、メモリシステム３２０、ディスプレイ３３０、送受信機（ＴＸ／ＲＸ）３４０及び入力／出力（Ｉ／Ｏ）ユニット３５０を備えることができる。
【００４１】
処理システム３１０は、端末３００に図２に示すような他のエンティティと対話させてレンダリングを同期させることによって、端末３００の動作を制御することができる。メモリシステム３２０は、処理システム３１０が実行することができる命令を記憶することができ、そこから生成されたアプリケーションデータ３２０もまた記憶することができる。処理システム３１０のアーキテクチャは、端末ごとに異なる場合がある。典型的には、処理システム３１０は、中央処理ユニットを含む。それはまた、グラフィックプロセッサ、デジタル信号プロセッサ、及び個々のアプリケーションのニーズに好適な特定用途向け集積回路（図示せず）を含むことができる。メモリシステム３２０のアーキテクチャもまた、端末ごとに異なる場合がある。典型的には、メモリシステム３２０は、１つ以上の電気的、光学的及び／又は磁気的記憶デバイス（これも図示せず）を含む。メモリシステム３２０は、処理システム全体に分散してもよい。例えば、メモリシステムは、処理システム３１０の中央プロセッサと共通の集積回路上に設けられたキャッシュメモリを備えることができる。メモリシステム３２０はまた、メモリコントローラを介して処理システム３１０に接続されたランダムアクセスメインメモリを備えることができ、長期記憶のための不揮発性メモリデバイスを備えてもよい。
【００４２】
処理システム３１０は、動作中に、オペレーティングシステム３６０及び１つ以上のアプリケーションプログラム３７０を含むさまざまなプログラムを実行することができる。例えば、図３に示すように、端末３００は、メディアレンダリングアプリケーション３７２、会議アプリケーション３７４を、場合によっては他のアプリケーションと共に実行することができる。メディアレンダリングアプリケーション３７２は、前述の説明で述べたように、メディアアイテムのダウンロード、デコード及び同期表示を管理することができる。会議アプリケーション３７４は、説明したように、端末３００と別の端末（図示せず）との間の会議のための交信をサポートすることができる。
【００４３】
レンダリングアプリケーション３７２は、アプリケーションの管理のためのユーザインタフェース制御手段３７８のセットを定めることができる。したがって、ユーザインタフェース制御手段は、端末３００が適用されるレンダリングの使用事例に応じて変化し得る。例えば、デフォルトのＵＩ制御手段３７８により、オペレータは、上述した一時停止、レジュームスキャン、シーク及びスクラブ動作を実行することができる。しかし、一部のアプリケーションでは、これらの制御手段への適用を認めないほうが有利であり得る。例えば、多数の視聴者が視聴するために複数のディスプレイに同期化されたコンテンツが表示されている環境（例えば、レストラン又はヘルスクラブ）においては、個々のユーザがメディアレンダリングを（例えば、コンテンツを一時停止又はスキップすることによって）制御できることを認めないほうが都合が良いであろう。
【００４４】
前述の説明で、さまざまな構成要素を含む端末に関連して、本発明の実施形態の動作を記載した。一般に、これらの構成要素は電子デバイスとして提供される。それらは、特定用途向け集積回路、フィールドプログラマブルゲートアレイ及び／又はデジタル信号プロセッサなどの集積回路に具現化することができる。あるいは、それらは、パーソナルコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、スマートフォン、セットトップボックス、ゲームプラットフォーム、ポータブルメディアプレーヤ及び／又はコンピュータサーバ上で実行されるコンピュータプログラムに具現化することができる。かかるコンピュータプログラムは、典型的には、電子、磁気及び／又は光学ベースの記憶デバイスなどの物理記憶媒体に記憶され、オペレーティングシステムの制御下でプロセッサに読み込まれて実行される。もちろん、これらの構成要素は、必要に応じて、専用のハードウェア構成要素とプログラムされた汎用プロセッサとに機能を分散するハイブリッドシステムとして、提供することもできる。
【００４５】
更に、前述の説明は、マニフェストファイル及びさまざまなストリームに関連してメディアアイテム１４０（図１）について記載したが、本開示の原理は、さまざまなアーキテクチャを有するメディアアイテムに適用される。例えば、メディアアイテムは、タイムラインの全てのメディアコンテンツ及びメタデータ記述が単一のダウンロード可能なファイルで提供されるフラットファイルのアーキテクチャを有してもよい。更に、メディアアイテムは、ビデオファイルそれ自体である必要はない。本開示の原理は、オーディオのみのコンテンツ、ゲームコンテンツなどを表すメディアアイテムに適用される。したがって、メディアアイテムは、メディアアイテムの特性に適切なディスプレイ及び／又はスピーカなどのメディアシンクデバイスによってレンダリングされることになる。
【００４６】
本明細書では、本発明のいくつかの実施形態を具体的に図示及び／又は説明するものである。しかし、本発明の改変及び変形は、本発明の趣旨及び意図された範囲から逸脱することなく、上記の教示によって網羅され、添付の特許請求の範囲内に含まれることが理解されよう。
【図１】
2020174378.tif 000003
【図２】
2020174378.tif 000004
【図３】
2020174378.tif 000005
【手続補正書】
【提出日】令和2年7月30日(2020.7.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
端末間でメディアレンダリングを同期させる方法であって、第１端末において、
同期化されたレンダリングセッションの第２端末から受信される通信であって、リモートネットワーククロックのネットワーク時間と、第２端末によりレンダリングされる第１言語のメディアアイテムの第１バージョンの部分との間の関連付けの前記通信に応じて、
前記メディアアイテムのコンテンツをネットワークロケーションから読み出すことと、
前記メディアアイテムの第１バージョンの部分に対するネットワーク時間の前記関連付けから、かつ前記第２端末からの通信で受信された再生速度から、前記第１端末でレンダリングされる第２言語の前記メディアアイテムの第２バージョンの部分及び前記メディアアイテムの第２バージョンの部分がレンダリングされる予定の時間を識別することと、
前記メディアアイテムの前記第２バージョンの部分がレンダリングされる予定の前記時間に、前記第２バージョンの部分をレンダリングすることと、
を含む方法。
【請求項２】
前記識別することは、前記ネットワーク時間を前記第１端末の現在時間に関連付けることを含む、請求項１に記載の方法。
【請求項３】
前記第２端末から前記メディアアイテムの識別を受信することを更に含む、請求項１に記載の方法。
【請求項４】
前記ネットワーク時間のソースの識別を前記第２端末と取り決めることを更に含む、請求項１に記載の方法。
【請求項５】
現在時間が前記レンダリングセッションにわたって進行するにつれて、停止条件が発生するまで前記識別することとレンダリングすることとを繰り返すことを含む、請求項１に記載の方法。
【請求項６】
前記停止条件は、レンダリングが前記メディアアイテムの終わりに到達するときに生じる、請求項５に記載の方法。
【請求項７】
前記停止条件は、他のレンダリングモードを識別する新しい通信である、請求項５に記載の方法。
【請求項８】
前記他のレンダリングモードは一時停止動作であり、前記方法は、その後、前記新しい通信で識別された前記メディアアイテムのある場所でレンダリングを一時停止することを含む、請求項７に記載の方法。
【請求項９】
前記他のレンダリングモードは、スキャン動作であり、前記方法は、その後、前記新しい通信によって識別された前記メディアアイテムのある位置から開始して、前記新しい通信において識別された他の再生速度で前記メディアアイテムをレンダリングすることを含む、請求項７に記載の方法。
【請求項１０】
前記他のレンダリングモードは、シーク動作であり、前記方法は、その後、前記レンダリングが前記新しい通信で識別された前記メディアアイテムの第１の位置に到達すると、前記ネットワーク時間と前記メディアアイテムとの間の新しい関連付けを使用して、前記メディアアイテムの第２の位置から前記メディアアイテムをレンダリングすることを含む、請求項７に記載の方法。
【請求項１１】
前記第１端末は、前記新しい通信を前記第２端末に送信する、請求項７に記載の方法。
【請求項１２】
前記第１端末は、前記新しい通信を前記第２端末から受信する、請求項７に記載の方法。
【請求項１３】
端末間でメディアレンダリングを同期させる方法であって、第１端末において、
同期化されたレンダリングセッションを初期化する別の端末に通信を送信することであって、前記通信は、レンダリングされる第１言語のメディアアイテムの第１バージョンの部分にネットワーク時間を関連付けるインジケータと再生速度とを含む、ことと、
前記メディアアイテムのコンテンツをネットワークロケーションから読み出すことと、
前記第１バージョンの部分に対するネットワーク時間の前記関連付けと前記再生速度から、レンダリングされる第２言語の前記メディアアイテムの第２バージョンの部分と前記第２バージョンの部分がレンダリングされる予定の時間とを識別することと、
前記メディアアイテムの前記第２バージョンの部分がレンダリングされる予定の前記時間に前記第２バージョンの部分をレンダリングすることと、を含む方法。
【請求項１４】
前記識別することは、前記ネットワーク時間を前記第１端末の現在時間に関連付けることを含む、請求項１３に記載の方法。
【請求項１５】
前記別の端末から前記メディアアイテムの識別を受信することを更に含む、請求項１３に記載の方法。
【請求項１６】
前記ネットワーク時間のソースの識別を前記別の端末と取り決めることを更に含む、請求項１３に記載の方法。
【請求項１７】
現在時間が前記レンダリングセッションにわたって進行するにつれて、停止条件が発生するまで、前記識別することとレンダリングすることとを繰り返すことを更に含む、請求項１３に記載の方法。
【請求項１８】
前記レンダリングが前記メディアアイテムの終わりに到達するまで前記識別することとレンダリングすることとを繰り返すことを更に含む、請求項１７に記載の方法。
【請求項１９】
新しい通信が一時停止動作を識別したとき、前記新しい通信で識別された前記メディアアイテムのある場所でレンダリングを一時停止することを更に含む、請求項１７に記載の方法。
【請求項２０】
新しい通信がスキャン動作を識別したとき、
前記新しい通信によって識別された前記メディアアイテムのある位置から前記新しい通信で識別された他の再生速度で前記メディアアイテムをレンダリングすること、を更に含む、請求項１７に記載の方法。
【請求項２１】
新しい通信がシーク動作を識別したとき、
前記レンダリングが前記新しい通信で識別された前記メディアアイテムの第１の位置に到達するまで、前記識別することとレンダリングすることとを繰り返すことと、
その後、前記ネットワーク時間と前記メディアアイテムとの間の新しい関連付けを使用して、前記メディアアイテムの第２の位置から前記メディアアイテムをレンダリングすることと、を更に含む、請求項１７に記載の方法。
【請求項２２】
端末であって、
ネットワークに接続された送受信機と、
メディアシンクデバイスと、
前記送受信機に、レンダリングされるメディアアイテムをネットワークリソースからダウンロードさせ、
前記送受信機に、第１のネットワーク時間を前記メディアアイテムの第１バージョンの部分に関連付けるインジケータを別の端末から受信させ、
前記メディアシンクデバイスに、現在のネットワーク時間において、前記関連付けられた第１のネットワーク時間と前記第１バージョンの部分とにより、かつ再生速度により決定されるような、前記現在のネットワーク時間に関連付けられた前記メディアアイテムの第２バージョンの部分をレンダリングさせる、
プログラム命令を実行する処理システムと、を備える端末。
【請求項２３】
前記メディアアイテムは、前記端末と前記別の端末との間の通信において識別される、請求項２２に記載の端末。
【請求項２４】
前記第１のネットワーク時間のソースの識別は、前記端末間で取り決められる、請求項２２に記載の端末。
【請求項２５】
端末であって、
ネットワークに接続された送受信機（３４０）と、
メディアシンクデバイスと、
前記送受信機（３４０）に、レンダリングされるメディアアイテムをネットワークリソースからダウンロードさせ、
前記メディアアイテムの第１バージョンの部分に対するネットワーク時間の関連付けとレンダリングの再生速度とから、レンダリングされる前記メディアアイテムの第２バージョンの部分を識別させ、
前記メディアシンクデバイスに、現在のネットワーク時間に関連付けられた前記メディアアイテムの前記第２バージョンの部分をレンダリングさせる、
プログラム命令を実行する処理システム（３１０）と、を含む端末。
【請求項２６】
命令を記憶するコンピュータ可読記憶デバイスであって、前記命令が処理デバイスによって実行されると、前記処理デバイスに、
同期化されたレンダリングセッションの別のデバイスから受信される通信であって、レンダリングされる第１言語のメディアアイテムの第１バージョンの部分とネットワーク時間との関連付けの前記通信に応じて、
前記メディアアイテムのコンテンツをネットワークロケーションから読み出させ、
前記第１バージョンの部分に対するネットワーク時間の前記関連付けから、かつ前記別のデバイスからの通信で受信された再生速度から、レンダリングされる第２言語の前記メディアアイテムの第２バージョンの部分と、前記第２バージョンの部分がレンダリングされる予定の時間と、を識別させ、
前記メディアアイテムの前記第２バージョンの部分をレンダリングするための前記時間に、前記第２バージョンの部分をレンダリングさせる、コンピュータ可読記憶デバイス。
【請求項２７】
命令を記憶するコンピュータ可読記憶デバイスであって、前記命令が処理デバイスによって実行されると、前記処理デバイスに、
同期化されたレンダリングセッションを初期化する別のデバイスに通信を送信させ、前記通信は、レンダリングされる第１言語のメディアアイテムの第１バージョンの部分にネットワーク時間を関連付けるインジケータと再生速度とを含み、
前記メディアアイテムのコンテンツをネットワークロケーションから読み出させ、
前記第１バージョンの部分に対するネットワーク時間の前記関連付けと前記再生速度から、レンダリングされる第２言語の前記メディアアイテムの第２バージョンの部分と前記第２バージョンの部分がレンダリングされる予定の時間とを識別させ、
前記メディアアイテムの前記第２バージョンの部分をレンダリングするための前記時間に、前記第２バージョンの部分をレンダリングさせる、コンピュータ可読記憶デバイス。
【外国語明細書】
2020174378000001.pdf