(57)【要約】  1つの実装形態では、コンピュータ実装方法が、電子ビデオを求める要求をクライアントコンピューティングデバイスから受信するステップと、要求が受信された後に、少なくとも識別されるべき動的コンテンツのタイプを示す、ビデオと関連する1つまたは複数のコンテンツパラメータに基づいて、ビデオが再生される間に表示するコンテンツを動的に識別するステップを含む。この方法はさらに、少なくともビデオの再生中の時間または動的コンテンツが表示されるビデオに関連する位置を示す1つまたは複数の表示パラメータに従って、動的コンテンツがクライアントコンピューティングデバイス上に表示されるような形で、識別された動的コンテンツをクライアントコンピューティングデバイスに提供するステップを含むことができる。
2013542641.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータサーバシステムにおいて、電子ビデオを求める要求をクライアントコンピューティングデバイスから受信するステップと、
前記要求が受信された後に、前記ビデオと関連し、少なくとも識別されるべき動的コンテンツのタイプを示す1つまたは複数のコンテンツパラメータに基づいて、前記ビデオが再生される間に表示するコンテンツを動的に識別するステップであって、前記動的コンテンツが、前記電子ビデオの再生間に時間とともに自動的に変化する可能性があるタイプのコンテンツである、ステップと、
少なくとも前記ビデオの再生中の時間または前記動的コンテンツが表示される前記ビデオに関連する位置を示す1つまたは複数の表示パラメータに従って、前記動的コンテンツが前記クライアントコンピューティングデバイス上に表示されるような形で、前記識別された動的コンテンツを前記クライアントコンピューティングデバイスに提供するステップと
を含み、
前記要求が受信される前に、前記コンテンツパラメータおよび前記表示パラメータが、前記ビデオと関連する第1のユーザによって指定される、コンピュータ実装方法。
【請求項２】
前記クライアントコンピューティングデバイスまたは前記クライアントコンピューティングデバイスと関連する第2のユーザに関する情報を取得するステップをさらに含み、
前記動的コンテンツが、前記取得した情報にさらに基づいて識別される、請求項1に記載のコンピュータ実装方法。
【請求項３】
前記取得した情報が、前記クライアントコンピューティングデバイスまたは前記第2のユーザと関連する地理的位置を識別し、
前記取得した情報に基づいて、前記動的コンテンツが前記地理的位置と関連付けられる、請求項2に記載のコンピュータ実装方法。
【請求項４】
前記動的コンテンツが、前記地理的位置の閾値距離内にある会場における映画、コンサート、または公演の上映時間を示す情報を含む、請求項3に記載のコンピュータ実装方法。
【請求項５】
前記ビデオの少なくとも一部が、前記映画、前記コンサート、または前記公演に関係する、請求項4に記載のコンピュータ実装方法。
【請求項６】
前記動的コンテンツが、前記地理的位置の閾値距離内の港までの、または港からの旅行運輸会社のルートのスケジュールを示す情報を含む、請求項3に記載のコンピュータ実装方法。
【請求項７】
前記ビデオの少なくとも一部が、前記旅行運輸会社のルートによって供給される別の地理的位置に関係する、請求項6に記載のコンピュータ実装方法。
【請求項８】
前記取得した情報が、ソーシャルネットワーク上の前記第2のユーザのソーシャルネットワークのプロフィールと関連する、請求項2に記載のコンピュータ実装方法。
【請求項９】
前記動的コンテンツが、前記ソーシャルネットワーク上の前記第2のユーザの1人または複数の知人のコメントまたはステータス情報を含む、請求項8に記載のコンピュータ実装方法。
【請求項１０】
前記コメントおよび前記ステータス情報が、前記ビデオで提示される少なくとも1つの題材に関係する、請求項9に記載のコンピュータ実装方法。
【請求項１１】
前記コンピュータサーバシステムによって、1つまたは複数の第三者のコンピュータサーバシステムから前記動的コンテンツを検索するステップをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項１２】
前記要求を受信した後に、および受信に応じて、前記動的コンテンツが検索される、請求項11に記載のコンピュータ実装方法。
【請求項１３】
前記動的コンテンツが、前記要求が受信される前にプレキャッシング(pre-caching)動作の一部として検索され、前記コンピュータサーバシステムによって定期的に更新される、請求項11に記載のコンピュータ実装方法。
【請求項１４】
前記クライアントコンピューティングデバイスで前記ビデオの再生中に、前記動的コンテンツの更新を求める第2の要求を前記クライアントコンピューティングデバイスから受信するステップと、
前記受信した第2の要求に応じて、前記コンテンツパラメータに基づいて前記ビデオを再生する間に表示する更新されたコンテンツを動的に識別するステップと、
前記更新された動的コンテンツが前記表示パラメータに従って前記クライアントコンピューティングデバイス上に表示されるような形で、前記更新された動的コンテンツを前記クライアントコンピューティングデバイスに提供するステップと
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項１５】
前記クライアントコンピューティングデバイスによって実行されるとき、前記クライアントコンピューティングデバイスに、閾値時間が経過した後に前記更新された動的コンテンツを求める前記第2の要求を前記コンピュータサーバシステムに提供させる、前記動的コンテンツと共に前記クライアントコンピューティングデバイスに提供するコードを生成するステップをさらに含む、請求項14に記載のコンピュータ実装方法。
【請求項１６】
前記コンテンツパラメータおよび前記表示パラメータが、前記ビデオを再生する間に提示されるべき動的アノテーションを定義するテンプレートの一部である、請求項1に記載のコンピュータ実装方法。
【請求項１７】
前記動的コンテンツが、再生中に前記ビデオの少なくとも一部に重ね合わせるように構成され、
前記表示パラメータが、少なくとも前記動的コンテンツが前記ビデオと共に表示される位置および時間を定義する、請求項1に記載のコンピュータ実装方法。
【請求項１８】
前記動的コンテンツが、前記コンテンツパラメータによって指定される1つまたは複数のコンテンツタグに基づいて1つまたは複数の電子シンジケーションフィードから識別される、請求項1に記載のコンピュータ実装方法。
【請求項１９】
前記電子シンジケーションフィードが、複数の別個のユーザと関連するマイクロブログを含む、請求項18に記載のコンピュータ実装方法。
【請求項２０】
前記動的コンテンツが、前記コンテンツパラメータによって指定された1つまたは複数のコンテンツのトピックに基づいて1つまたは複数の電子レファレンスソースから識別される、請求項1に記載のコンピュータ実装方法。
【請求項２１】
前記電子レファレンスソースが、電子百科事典、電子辞書、電子シソーラス、電子検索エンジン、またはその組合せを含む、請求項20に記載のコンピュータ実装方法。
【請求項２２】
コンピュータサーバシステムにおいて、電子ビデオを求める要求をクライアントコンピューティングデバイスから受信するステップと、
前記クライアントコンピューティングデバイスによって解釈されるとき、前記クライアントコンピューティングデバイスに、前記ビデオが再生される間に表示するコンテンツを動的に識別させる前記クライアントコンピューティングデバイスに提供するコードを生成するステップであって、前記コードが、前記ビデオと関連する1つまたは複数のコンテンツパラメータを含み、少なくとも識別されるべき動的コンテンツのタイプを示すように生成され、前記動的コンテンツが前記電子ビデオの再生間に時間とともに自動的に変化する可能性があるタイプのコンテンツである、ステップと、
前記生成されたコードおよび1つまたは複数の表示パラメータを前記クライアントコンピューティングデバイスに提供するステップであって、前記1つまたは複数の表示パラメータが、少なくとも、前記ビデオの再生中の時間または前記クライアントコンピューティングデバイスによって識別されるべき動的コンテンツが表示される前記ビデオと関連する場所を示す、ステップと
を含み、
前記要求が受信される前に、前記コンテンツパラメータおよび前記表示パラメータが、前記ビデオと関連する第1のユーザによって指定される、コンピュータ実装方法。
【請求項２３】
前記生成されたコードが、前記クライアントコンピューティングデバイスが前記動的コンテンツを取得するために接触する1つまたは複数の第三者のコンピュータサーバシステムを識別する情報を含む、請求項22に記載のコンピュータ実装方法。
【請求項２４】
前記生成されたコードがさらに、閾値時間が経過した後に、前記クライアントコンピューティングデバイスに更新された動的コンテンツを取得させる、請求項22に記載のコンピュータ実装方法。
【請求項２５】
電子ビデオと共に動的コンテンツを提供するためのシステムであって、
1つまたは複数のコンピュータサーバと、
電子ビデオを求める要求をクライアントコンピューティングデバイスから受信するように構成された前記1つまたは複数のサーバ用のインタフェースと、
前記要求が受信された後に、前記ビデオと関連し、少なくとも識別されるべき動的コンテンツのタイプを示す1つまたは複数のコンテンツパラメータに基づいて前記ビデオが再生される間に表示するコンテンツを動的に識別するように構成された、前記1つまたは複数のサーバの動的コンテンツ識別コンポーネントであって、前記動的コンテンツが、前記電子ビデオの再生間に時間とともに自動的に変化する可能性があるタイプのコンテンツである、動的コンテンツ識別コンポーネントと、
少なくとも前記ビデオの再生中の時間または前記動的コンテンツが表示される前記ビデオに関連する場所を示す1つまたは複数の表示パラメータに従って前記動的コンテンツが前記クライアントコンピューティングデバイスに表示されるような形で、前記識別された動的コンテンツを前記クライアントコンピューティングデバイスに提供するように構成された、前記1つまたは複数のサーバの動的コンテンツサブシステムと
を含み、
前記要求が受信される前に、前記コンテンツパラメータおよび前記表示パラメータが、前記ビデオと関連する第1のユーザによって指定される、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2010年9月20日に出願された、「PROVIDING  DYNAMIC  CONTENT  WITH  AN  ELECTRONIC  VIDEO」という名称の米国出願第12/885,950号に基づく優先権を主張し、その開示を参照により本明細書に組み込む。
【０００２】
この文書は、概して、電子ビデオと共に動的コンテンツを提供するための技法、方法、システム、およびコンピュータプログラム製品について記載する。
【背景技術】
【０００３】
多くのウェブサイト(例えばFACEBOOK、YOUTUBE(登録商標)など)は、ユーザが電子ビデオ(例えばFLASHビデオ、MPEG-2エンコードされたビデオ、QUICKTIMEビデオなど)をユーザのコンピュータのサーバシステムにアップロードし、ネットワーク(例えばインターネット)を通じて他のユーザに配信すること(例えばストリームされたビデオの再生、ビデオファイルのダウンロードなど)を許可している。こうしたウェブサイトの一部は、ユーザがそのビデオに静的アノテーション(例えばテキスト、ハイパーリンク)を付加することを認めている。ビデオアノテーションは、ビデオの内容を増補する追加ビデオ(extra-video)コンテンツである。アノテーションは、ビデオの再生中にユーザの指定する時間および位置にビデオの一部を重ね合わせるテキストボックスとして提示されている。
【０００４】
例えばアリスが、ビデオの最初に海辺のリゾート、30秒の地点にサーフィン講習など、ハワイの魅力を見せる1分間のビデオをアップロードするユーザであると仮定する。アリスは、こうした魅力を説明するためにビデオ全体にわたってビデオアノテーションを追加することができる。例えば、アリスは、海辺のリゾートの名前およびウェブページのリンクを添えた第1のビデオアノテーション、サーフィン講習の料金を添えた第2のビデオアノテーション、ハワイまでの航空料金を提示する旅行ウェブサイトへのリンクを添えた第3のビデオアノテーションを追加することができる。アリスは、ビデオの初めでビデオの特定の位置(例えば、ビデオの重要な内容を妨げない位置)に第1のビデオアノテーションが表示されること、および第1のビデオアノテーションがビデオの30秒の地点(ビデオのサーフィン講習部分の初め)まで続くことを指定することができる。アリスは、ビデオの30秒の地点でビデオ上の別の位置に第2のビデオアノテーションが表示され、ビデオの終わりまで続くように指定することができる。アリスはさらに、45秒の地点からビデオの終わりまで、第2のアノテーションの位置とは異なる位置に、第3のビデオアノテーションが表示されるように指定することができる。別のユーザ、ボブが、(例えばビデオウェブサイトからストリーミングされる)アリスのビデオを見るとき、ビデオアノテーションは、この時間、位置に、アリスによって指定されたコンテンツ(例えばリゾートの名前、リゾートのリンク、サーフィン講習料金、旅行ウェブサイトへのリンク)と共に、ボブに表示されることが可能である。
【発明の概要】
【課題を解決するための手段】
【０００５】
この文書は、電子ビデオと共に動的コンテンツ(例えばテキスト、ハイパーリンク、画像、アニメーション、ビデオ、音声など)を提供するための技法、方法、システム、およびコンピュータプログラム製品について記載する。ビデオと共に表示されるべき追加ビデオコンテンツ(例えばビデオアノテーション)は、ビデオの要求に応えるとき(または閾値時間内で)、動的に検索することができる。例えば、上記の例について詳しく述べると、アリスは、ユーザがビデオを要求するおよび/または視聴する時点のハワイの現在の天候状態を表示するように構成された動的ビデオアノテーションを彼女のハワイのビデオに追加することができる。ボブがビデオのウェブサイトからハワイに関するアリスのビデオを要求するとき、ハワイの現在の天候状態は、ビデオ中のアリスによって指定された時間および場所でアノテーションとして検索され、ボブに表示されることが可能である。
【０００６】
ユーザおよび/またはビデオの作者(例えばビデオのアップローダ、ビデオのクリエータ、著作権保持者など)のようなビデオと関連するエンティティによって指定されるテンプレートに従って、ビデオに対してコンテンツを動的に選択し、検索することができる。コンテンツは、ビデオの要求者に関する情報(例えばビデオの要求者の地理的位置、ビデオの要求者のソーシャルネットワークプレゼンス(social  network  presence)など)のような、様々な要素に基づいて選択することができる。コンテンツは、ソーシャルネットワーク(例えばFACEBOOK)、旅行サーバシステム(例えばKAYAK.COM)、および/または電子レファレンスソース(例えばWIKIPEDIA)のような、様々な第三者電子コンテンツプロバイダから動的に検索することができる。
【０００７】
上記の例についてさらに詳しく述べると、第3のビデオアノテーションとして旅行ウェブサイトに静的リンクを提供する代わりに、アリスは第3のビデオアノテーションがビデオの要求者の現在の地理的位置からハワイまでの現在の航空料金を含むようにコンテンツテンプレートを作成することができる。例えば、ボブは、ニューヨーク、NYに位置しており、ボブは(コンピュータデバイスを介して)アリスのビデオをホストしているサーバシステムからハワイに関するアリスのビデオを要求していると仮定する。アリスによって指定されたテンプレートに基づき、サーバシステムはボブの現在の地理的位置を判断し(例えばボブのインターネットプロトコル(IP)アドレスを使用して地理的位置を調べる、携帯電話の基地局の三角測量または全地球測位システム(GPS)によってボブの地理的位置を取得/受信するなど)、ニューヨークからハワイまでの現在の航空料金に関する情報を検索する(例えば第三者旅行サイトと対話する)ことができる。これらの航空料金は、その後、ハワイのビデオの再生中に特定の時間(例えば45秒地点)に、特定の場所でコンテンツ(例えばビデオアノテーション)としてボブに提供されてもよい。
【０００８】
1つの実装形態では、コンピュータ実装方法が、コンピュータサーバシステムにおいて、電子ビデオを求める要求をクライアントコンピューティングデバイスから受信することと、要求が受信された後に、ビデオと関連して、少なくとも識別されるべき動的コンテンツのタイプを示す1つまたは複数のコンテンツパラメータに基づいて、ビデオが再生される間に表示するコンテンツを動的に識別することとを含み、動的コンテンツは、電子ビデオの再生間に時間とともに自動的に変化する可能性があるコンテンツである。この方法はさらに、少なくともビデオの再生中の時間または動的コンテンツが表示されるビデオに関連する場所を示す1つまたは複数の表示パラメータに従って動的コンテンツがクライアントコンピューティングデバイスに表示されるような形で、識別された動的コンテンツをクライアントコンピューティングデバイスに提供することを含むことができる。コンピュータ実装方法の一部として、コンテンツパラメータおよび表示パラメータは、要求が受信される前にビデオと関連する第1のユーザによって指定される。
【０００９】
別の実装形態では、コンピュータ実装方法は、電子ビデオを求める要求をクライアントコンピューティングデバイスからコンピュータサーバシステムで受信することを含む。この方法はまた、クライアントコンピューティングデバイスに提供するコードを生成することを含むことができ、このコードは、クライアントコンピューティングデバイスによって解釈されるとき、ビデオが再生される間に表示するコンテンツをクライアントコンピューティングデバイスに動的に識別させるようにし、このコードは、ビデオと関連して、少なくとも識別されるべき動的コンテンツのタイプを示す1つまたは複数のコンテンツパラメータを含むように生成され、動的コンテンツは、電子ビデオの再生間に時間とともに自動的に変化する可能性があるタイプのコンテンツである。この方法はさらに、生成されたコードおよび1つまたは複数の表示パラメータをクライアントコンピューティングデバイスに提供することを含むことができ、1つまたは複数の表示パラメータは、少なくとも、ビデオの再生中の時間、またはクライアントコンピューティングデバイスによって識別されるべき動的コンテンツが表示されるビデオと関連する場所を示す。この方法の一部として、コンテンツパラメータおよび表示パラメータは、要求が受信される前にビデオと関連する第1のユーザによって指定される。
【００１０】
別の実装形態では、電子ビデオと共に動的コンテンツを提供するためのシステムが、1つまたは複数のコンピュータサーバと、電子ビデオを求める要求をクライアントコンピューティングデバイスから受信するように構成された1つまたは複数のサーバ用のインタフェースとを含む。このシステムはさらに、要求が受信された後に、ビデオと関連して、少なくとも識別されるべき動的コンテンツのタイプを示す1つまたは複数のコンテンツパラメータに基づいて、ビデオが再生される間に表示するコンテンツを動的に識別するように構成された、1つまたは複数のサーバの動的コンテンツ識別コンポーネントを含むことができ、動的コンテンツは、電子ビデオの再生間に時間とともに自動的に変わる可能性があるタイプのコンテンツである。このシステムはさらに、少なくともビデオの再生中の時間または動的コンテンツが表示されるビデオに関連する場所を示す1つまたは複数の表示パラメータに従って動的コンテンツがクライアントコンピューティングデバイスに表示されるような形で、識別された動的コンテンツをクライアントコンピューティングデバイスに提供するように構成された、1つまたは複数のサーバの動的コンテンツサブシステムを含むことができる。このシステムの一部として、コンテンツパラメータおよび表示パラメータは、要求が受信される前にビデオと関連する第1のユーザによって指定される。
【００１１】
1つまたは複数の実装形態の詳細について、添付の図面および以下の説明に示す。本明細書に記載する技法、方法、システム、およびコンピュータプログラムによって、様々な利点を提供することができる。例えば、ビデオと共に動的コンテンツを提供することにより、ビデオを所与のユーザにより適切なものにすることができる。例えば、ユーザをビデオに結び付けるコンテンツ(例えばユーザの現在の位置からビデオに示される目的地までの航空料金)は、ユーザの現在の地理的位置のような、ユーザに関する情報に基づいて動的に選択することができる。
【００１２】
別の例では、動的コンテンツを提供することにより、ビデオを現在の時間により適切なものにすることができる。例えば、ビデオの題材に関するニュースを動的に識別し、ビデオと共にコンテンツとして提供することができる。このようなニュースは、ビデオが作成されたときと、ユーザがビデオを要求しているときとの間に存在する可能性がある情報ギャップを埋めることができる。
【００１３】
さらなる例では、動的コンテンツを提供することにより、ビデオの作者がそうでなければビデオを更新し続けるために費やすことになる時間を削減することができる。静的ビデオアノテーションを用いて、作者が現在の情報を監視し、次に、更新が識別されると、更新された情報を含めるためにアノテーションを手動で編集する。一方、ユーザがテンプレートを一度作成することができ、その後、このテンプレートが参照されて、ユーザがさらに行動することなく、ビデオの有効期間にわたって動的コンテンツを識別して、検索することが可能である。
【００１４】
さらに、動的コンテンツをユーザのためにローカライズすることができる。ローカリゼーションは、ユーザの好ましい言語(例えばスペイン語、アラビア語、英語など)、通貨(例えばユーロ、U.S.ドルなど)、および/または時間形式(例えば12時間形式、24時間形式)で、動的コンテンツをユーザに提示することを含むことができる。ユーザのローカリゼーション情報は、ユーザのコンピューティングデバイスによって、例えばユーザのウェブブラウザまたは他のクライアントアプリケーションによって示すことができる。例えば、アラビア語のテキストとしてのビデオアノテーションには動的コンテンツと共にアラビア語のビューアを提示することができ、スペイン語のテキストとしての同じビデオアノテーションにはスペイン語のビューアを提示することができる。
【００１５】
本発明の他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１６】
【図１】電子ビデオと共に動的コンテンツを提供するための例示的システムの概念図である。
【図２】電子ビデオと共に動的コンテンツを提供するための例示的システムを示す図である。
【図３Ａ】電子ビデオと共に動的コンテンツを提供するための例示的技法を示す図である。
【図３Ｂ】電子ビデオと共に動的コンテンツを提供するための例示的技法を示す図である。
【図３Ｃ】電子ビデオと共に動的コンテンツを提供するための例示的技法を示す図である。
【図３Ｄ】電子ビデオと共に動的コンテンツを提供するための例示的技法を示す図である。
【図４Ａ】動的に識別されたコンテンツと共に表示されている例示的電子ビデオのスクリーンショットである。
【図４Ｂ】動的に識別されたコンテンツと共に表示されている例示的電子ビデオのスクリーンショットである。
【図４Ｃ】動的に識別されたコンテンツと共に表示されている例示的電子ビデオのスクリーンショットである。
【図４Ｄ】動的に識別されたコンテンツと共に表示されている例示的電子ビデオのスクリーンショットである。
【図４Ｅ】動的に識別されたコンテンツと共に表示されている例示的電子ビデオのスクリーンショットである。
【図４Ｆ】動的に識別されたコンテンツと共に表示されている例示的電子ビデオのスクリーンショットである。
【図５】クライアントとして、または1つもしくは複数のサーバとして、この文書に記載するシステムおよび方法を実装するために使用することができるコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【００１７】
様々な図面の同じ参照符号は、同じ要素を示す。
この文書は、電子ビデオ(例えばストリーミングされる電子ビデオ、ダウンロードされる電子ビデオなど)と共に、動的コンテンツ(例えばテキスト、ハイパーリンク、画像、アニメーション、ビデオ、音声など)を提供するための技法、方法、システム、およびコンピュータプログラム製品について記載する。クライアントコンピューティングデバイス(例えばラップトップコンピュータ、デスクトップコンピュータ、スマートフォン、携帯電話、タブレットコンピューティングデバイスなど)からのビデオの要求に応答して、ビデオに対してコンテンツを動的に識別し、検索することができる。動的に識別されたコンテンツは、ビデオの再生と併せてクライアントコンピューティングデバイス上に提供して表示することができる(例えばビデオの一部に重ね合わせるビデオアノテーションとして動的コンテンツを表示することができる)。動的コンテンツが電子ビデオを増補する、または補完することができる。
【００１８】
例えば、ユーザのカールが、10個の最も速い100メートル走のタイムを記録したレースを見せる電子ビデオを作成し、他のユーザに配信するためにこのビデオをビデオサーバシステム(例えばFACEBOOK、  YOUTUBE(登録商標)など)にアップロードする。トップテンの100メートル走のタイムは、時間とともに変わる可能性があることがわかっているので、カールは、別のユーザが彼のビデオを見る未来時において、現在のトップテンの100メートル走のタイムに関する情報を動的に識別して表示するために使用されるべき様々なパラメータを指定する。例えばカールは、彼のビデオと共に動的コンテンツ(現在のトップテンの100メートル走のタイムに関する情報)を識別して表示するために使用されるべきコンテンツパラメータおよび表示パラメータを指定することができる。コンテンツパラメータは、検索されるべき動的コンテンツのタイプ(例えば事実/スポーツ情報)および望ましいコンテンツを識別するためのパラメータ(例えば現在のトップテンの100メートル走のタイム)を明示することができる。表示パラメータは、ビデオと関連して動的コンテンツが表示されるべき時間、期間、および/または場所を明示することができる(例えば再生の最後の30秒間にビデオの右下のカラムに現在のトップテンの100メートル走のタイムを表示する)。
【００１９】
この例をさらに展開すると、ビデオサーバシステムは、カールによって指定されたパラメータを使用して、カールのビデオと関連する将来の視聴者に動的コンテンツを識別および提供することができる。例えば、カールがビデオをアップロード/最終更新した数年後に、別のユーザ、デイブが(コンピューティングデバイスを介して)ビデオサーバシステムからカールのビデオを要求する。デイブの要求に応答して、ビデオサーバシステムは、少なくともカールによって指定されたコンテンツパラメータを使用して、コンテンツソース(例えばWIKIPEDIAのような第三者コンテンツプロバイダ、またはカールによって識別されるキーワードを提供される検索エンジン)から、現在のトップテンの100メートル走のタイムを識別することができる。さらに、ビデオサーバシステムは、カールのビデオおよび/または検索された動的コンテンツ(現在のトップテンの100メートル走のタイム)を、指定された表示パラメータに従って動的コンテンツがカールのビデオと共に表示されるように構成することができる(例えば再生の最後の30秒間にビデオの右下のカラムに現在のトップテンの100メートル走のタイムを表示する)。ビデオサーバシステムは、デイブがカールのビデオを要求したコンピューティングデバイスに、要求されたビデオと共に動的コンテンツを提供することができる。コンピューティングデバイスでのビデオの再生中に、デイブは、現在のトップテンの100メートル走のタイムに関する情報を提示されることが可能であり、デイブまたはカールがこのような情報を捜し出す必要がない、またはビデオと関連するビデオ/情報を更新する必要がない。
【００２０】
以下にさらに詳細に説明するように、様々なパラメータを使用して、動的コンテンツを識別し、提供することができる。例えば、コンピューティングデバイスおよび/またはビデオを要求しているユーザと関連する情報に基づいて、動的コンテンツを識別することができる。例えば、コンピューティングデバイスおよび/またはビデオを要求しているユーザと関連する地理的位置を使用して、ビデオと共に提示されるべき動的コンテンツを識別することができる(例えばユーザの近くに地理的に位置している映画館の上映時間を識別する)。別の例では、他のユーザと関連する情報に基づいて、動的コンテンツを識別することができる。例えば、ソーシャルネットワーク(例えば、FACEBOOK、LINKEDIN、MYSPACE、TWITTERなど)における要求中のユーザの知人(例えば友人、仕事上の相手、家族など)によって書き込まれたコメントおよび/または推奨の言葉を使用して、ビデオと共に要求中のユーザに提供する動的コンテンツを識別することができる。
【００２１】
図1は、電子ビデオ102と共に動的コンテンツを提供するための例示的システム100の概念図である。この例示的システム100は、ビデオサーバシステム106にビデオ102をアップロードする作者のコンピューティングデバイス104を含むように示している。このシステム100はまた、ビデオサーバシステム106からその後ビデオ102を要求して、それに応じて、ビデオ102およびビデオ102に対して動的に識別されたコンテンツを提供されるクライアントコンピューティングデバイス108を示している。
【００２２】
電子ビデオ102は、FLASHビデオファイル(例えば.flvファイル、.fl4ファイル)、MPEG-2エンコードされたビデオファイル、MPEG-4エンコードされたビデオファイル、webmフォーマットされたビデオファイル(例えば.webmファイル)、VP8エンコードされたビデオファイル(例えば.vp8ファイル)、およびQUICKTIMEフォーマットされたビデオファイル(例えば.movファイル)のような、任意のデジタル的にフォーマット/エンコードされたビデオファイルとすることができる。例示のシステム100では、映画の予告編110を含めるようにビデオ102を示している。
【００２３】
作者のコンピューティングデバイス104は、ラップトップコンピュータ、デスクトップコンピュータ、スマートフォン、携帯電話、タブレットコンピューティングデバイスなど動的、およびネットブックのような、様々なコンピューティングデバイスのいずれであることも可能である。作者のコンピューティングデバイス104は、ビデオ102を受信するように示している。例えば、ビデオ102は、別のコンピューティングデバイスから受信される(例えば別のコンピューティングデバイスからダウンロードされる)、コンピュータ可読記憶媒体(例えばフラッシュメモリデバイス、CD/DVDなど)から作者のコンピューティングデバイス104によって読み取られる、および/または作者のコンピューティングデバイス104にインストールされたビデオ編集アプリケーションを使用して作成されることが可能である。
【００２４】
ステップA(112)で示すように、作者のコンピューティングデバイス104は、ビデオ102(および映画の予告編110)のテンプレート114を作成する。テンプレート114は、ビデオ102と共に提供する動的コンテンツを識別するためにビデオサーバシステム106によって使用されるパラメータ(例えばコンテンツパラメータ、表示パラメータなど)を含むことができる。この例示のシステム100では、テンプレート114は、ビデオ102に対する動的コンテンツが、視聴者の現在の地理的位置付近にある1つまたは複数の劇場における(映画の予告編110で試写される)映画の上映時間を含むべきであることを明示するパラメータを含む。例えば、テンプレート114で概要を示されたパラメータに基づいて、地理的にニューヨーク、NYに位置している第1のユーザに、映画の予告編110で示す映画を上映しているニューヨークにある映画館に関する情報(例えば上映時間、所在地住所、料金など)を提供し、地理的にスイスのチューリヒに位置している第2のユーザに、この映画を上映しているチューリヒにある映画館に関する異なる情報を提供する。
【００２５】
テンプレート114はコンテンツパラメータを含むように示しているが、テンプレート114には他のパラメータが含まれることが可能である。例えば、テンプレート114は、動的コンテンツが提供される(例えば表示される、再生されるなど)ビデオ102の再生中の時間、動的コンテンツが提供される期間、動的コンテンツが提供されるとき動的コンテンツに適用される効果(例えばフェードイン、フェードアウト、透明度レベル、フォント、色など)、および/または動的コンテンツが提供されるビデオに対する位置(例えばビデオに重ね合わせる、ビデオに隣接して表示するなど)を明示する表示パラメータを含むことができる。
【００２６】
テンプレート114は、作者のコンピューティングデバイス104単独で、またはビデオサーバシステム106と連動して、作成されることが可能である。例えば、作者のコンピューティングデバイス104は、作者のコンピューティングデバイス104にインストールされたビデオ編集/アノテーションのアプリケーションのような、テンプレート114を生成するように構成された独立型(standalone)アプリケーションを実行することができる。別の例では、作者のコンピューティングデバイス104は、ネットワーク(例えばインターネット)を介してビデオサーバシステム106によって作者のコンピューティングデバイス104に提供されるブラウザベースのアプリケーションを通じてなど、ビデオサーバシステム106との対話を通じてテンプレート114を作成することができる。
【００２７】
ステップB(116)に示すように、作者のコンピューティングデバイス104は、ビデオサーバシステム106にビデオ102およびテンプレート114を提供する。例えば、作者のコンピューティングデバイス104は、他のユーザに配信するためにビデオ102およびテンプレート114をビデオサーバ106にアップロードすることができる。テンプレート114は、ビデオサーバシステム106が、ビデオ102の要求に応えるとき、テンプレート114を参照してビデオ102と共にコンテンツを動的に提供するように、ビデオ102と関連してアップロードされることが可能である。
【００２８】
ビデオサーバシステム106は、共同設置サーバ(co-located  server)および分散サーバシステムのような、1つまたは複数のコンピュータサーバを含むことができる。ビデオサーバシステム106は、ソーシャルネットワークウェブサイトのようなウェブサイトの要求に一体となって応じるサーバシステム群のような、より大きいコンピュータサーバシステムおよび/またはネットワークの一部とすることができる。ビデオサーバシステム106は、ビデオ102、および関連テンプレート114を、それぞれビデオリポジトリ118、およびテンプレートリポジトリ120に格納する。ビデオリポジトリ118およびテンプレートリポジトリ120は、ファイルシステム/構造、データベース、および/またはデータサーバシステムなど、様々な記憶装置および/または構造のいずれとすることもできる。ビデオサーバシステム106は、ビデオ102およびテンプレート114を格納した後、ビデオ102の要求を待つ。
【００２９】
ステップC(122)で示すように、クライアントコンピューティングデバイス108(作者のコンピューティングデバイス104と同様)は、ネットワーク(例えばインターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)など)を介してビデオサーバシステム106にビデオ102を求める電子的要求を提供する。例えば要求は、クライアントコンピューティングデバイス108がビデオ102を含むウェブページに要求することに応じて、ビデオサーバシステム106に提供されてもよい。
【００３０】
クライアントコンピューティングデバイス108からの要求を受信することに応答して、ビデオサーバシステム106は、ステップDに示すように、テンプレート114を使用してビデオ102と共に提供されるべきコンテンツを動的に識別する(124)。例えば、ビデオサーバシステム106は、テンプレート114がクライアントコンピューティングデバイス108によって要求されるビデオ102と関連することを識別することができ、テンプレート114に含まれているパラメータを評価して、動的コンテンツを取得する方法を決定することができる。例えば、ビデオサーバシステム106は、要求されている動的情報のタイプ(例えば映画情報、旅行情報、事実/参照情報、ソーシャルネットワーク情報など)を判断し、情報のタイプに基づいて、動的コンテンツを取得するために接触する1つまたは複数のコンテンツプロバイダを識別することができる。例示的システム100は、コンテンツプロバイダ126a〜nを含み、コンテンツプロバイダ126aはソーシャルネットワークシステム(例えばFACEBOOK、LINKEDIN、TWITTERなど)であり、コンテンツプロバイダ126bは映画情報システム(例えばMOVIEFONE、映画館会社など)であり、コンテンツプロバイダ126cはニュースシステム(例えばニュースアグリゲータ、リアリーシンプルシンジケーション(really  simple  syndication、RSS)ニュースフィードなど)であり、コンテンツプロバイダ126nは旅行提供システム(例えばTRAVELOCITY、KAYAKなど)である。図示していない様々な他のコンテンツプロバイダもまた、システム100の一部とすることができる。
【００３１】
示した例では、ビデオサーバシステム106は、テンプレート114で要求された情報のタイプが映画情報であると判断することができる。したがって、ビデオサーバシステム106は、ビデオ102に対して所望の動的コンテンツを取得するために接触するコンテンツプロバイダとして映画情報システム126bを識別することができる。ビデオサーバシステム106は、コンテンツタイプおよびコンテンツプロバイダの所定の関連付けに基づいて、このような決定を行うことができる。さらに、一部の例では、ビデオサーバシステム106自体が、ビデオ関連コンテンツのような、特定のタイプのコンテンツのコンテンツプロバイダとして識別されることが可能である。ビデオサーバシステム106は、テンプレート114が2つ以上のタイプの情報をビデオ102と共に提供すべきであると指定する(例えば、映画110の上映時間および報道機関からの映画110の最近の評価を提供する)ときなどに、2つ以上のコンテンツプロバイダを識別することができる。
【００３２】
ビデオサーバシステム106は、識別されたコンテンツプロバイダ126bがビデオに対する所望の動的コンテンツを提供するためにテンプレート114以外の追加情報を必要とするかどうかを判断することもできる。例えばテンプレート114は、上映時間のために映画館を識別するとき、視聴者の地理的位置を考慮に入れるべきであることを示す。テンプレート114に基づいて、ビデオサーバシステム106は、ステップE(128)で示すように、クライアントコンピューティングデバイス108(および/またはクライアントコンピューティングデバイス108と関連するユーザ)の地理的位置を判断することができる。クライアントコンピューティングデバイス108のIPアドレスと関連地理的位置とを相互に参照するなど、地理的位置情報(例えば国、州/地方、郵便番号、経度および緯度など)を判断するための様々な技法のいずれもビデオサーバシステム106によって使用されることが可能である。ビデオサーバシステム106は、作者のコンピューティングデバイス104および/またはクライアントコンピューティングデバイス108と関連するユーザのソーシャルネットワーク情報(例えばユーザ名)など、コンテンツプロバイダ126a〜nの1つまたは複数に提供するための、テンプレート114以外の他の情報を識別することができる。
【００３３】
ステップF(130)で示すように、ビデオサーバシステム106は、クライアントコンピューティングデバイス108の地理的位置情報132と共に、映画情報システム126b(テンプレート114で指定された動的コンテンツのタイプに対して識別されたコンテンツプロバイダ)に動的コンテンツの要求を提供する。これに応じて、映画情報システム126bは、クライアントコンピューティングデバイス108の地理的位置付近にある劇場を識別し、ステップG(134)で示すように、動的コンテンツ136と共にビデオサーバシステム106に応答を提供する。この例では、動的コンテンツ136は、映画の予告編110で示された映画についてメガシアター(Mega-Theater)および小シアター(Small  Theater)における上映時間の情報を含んでいる。この動的コンテンツ136は、クライアントコンピューティングデバイス108の地理的位置(例えばクライアントコンピューティングデバイス108は異なる地理的位置に移動する可能性がある)、およびビデオ102の要求がビデオサーバシステム106に提供される時間に応じて変化する可能性がある
【００３４】
ビデオサーバシステム106は、ステップH(138)で示すように、ビデオ102および動的コンテンツ136をクライアントコンピューティングデバイス108に提供する。ビデオサーバシステム106は、ビデオの再生中に動的コンテンツ138を参照および表示するように、ビデオ102および/またはビデオと共に提供される情報(例えばビデオ102が公開されているウェブページ)を構成することができる。動的コンテンツ138はさらに、ビデオ102と共に提示するために再構成および/または再フォーマットされることが可能である(例えば動的コンテンツ138は、ビデオ102と共に提示するために使用されるフォーマットとは異なるフォーマットで、コンテンツサーバ126bによって提供されてもよい)。ビデオ102および動的コンテンツ138は、まとめてまたは別々に、ビデオサーバシステム106によってクライアントコンピューティングデバイス108に提供されてもよい。
【００３５】
例えば、ビデオサーバシステム106は、ビデオ102のアノテーションを要求するようにビデオ102(および/または関連情報)を初期設定して、クライアントコンピューティングデバイス108にビデオ102を供給することができる。例えば、ビデオ102と関連付けられたアノテーションフィールドをtrueに設定することができ、アノテーションソースをビデオサービスシステム106に設定することができる。クライアントコンピューティングデバイス108上のビデオクライアント(例えばFLASHプレーヤ、QUICKTIMEプレーヤなど)が再生のためにビデオ102をロードし始めると、ビデオクライアントはビデオサーバシステム106からアノテーションを要求することができ、次にビデオサーバシステム106が、ステップD〜Hを行って、動的コンテンツ136をクライアントコンピューティングデバイス108に提供することができる。別の例では、ビデオ102および動的コンテンツ136は、クライアントコンピューティングデバイス108に同時に提供することができ、このビデオ102は、クライアントコンピューティングデバイス108上でローカルに動的コンテンツ136を特定する(locate)および/または参照するように初期設定される。
【００３６】
クライアントコンピューティングデバイス108は、例示的ビデオ画像140で示すように、ビデオサーバシステム106から受信されたビデオ102を再生することができる。さらに、動的コンテンツ136が、ビデオ画像140の上部を覆っているボックス142(例えばアノテーション)に提示される。ボックス142は、ビデオ画像140の上部に設置されることが可能であり、テンプレート114に従ってビデオ102の再生中の特定の時間に提示されることが可能である。図示した例では、動的コンテンツ136を含んだボックス142は、ビデオ102のどの部分も完全に覆い隠さないように半透明である。他の効果を使用して、動的コンテンツ136をビデオ102の再生に組み入れることができる。
【００３７】
図2は、電子ビデオと共に動的コンテンツを提供するための例示的システム200を示す。このシステム200は、図1に関して上述したシステム100と同様である。このシステム200は、動的コンテンツのテンプレートをビデオサーバシステム204に提供するように構成されたクライアントコンピューティングデバイス202を含んでいる。ビデオサーバシステム204は、コンテンツプロバイダシステム206から動的に識別されたコンテンツと共にクライアントコンピューティングデバイス208にビデオを供給するように構成されている。
【００３８】
クライアントコンピューティングデバイス202は、図1に関して上述した作者のコンピューティングデバイス104と同様である。クライアントコンピューティングデバイス202は、ラップトップコンピュータ、デスクトップコンピュータ、スマートフォン、およびタブレットコンピューティングデバイスなど、様々なコンピューティングデバイスのいずれであることも可能である。クライアントコンピューティングデバイスは、ユーザがビデオに対する動的コンテンツのテンプレートを作成することができるようになるインタフェース(例えばグラフィカルユーザインタフェース(GUI))を提供するように構成された動的コンテンツテンプレートモジュール210を含んでいる。動的コンテンツテンプレートモジュール210は、動的コンテンツテンプレートモジュール210によって提供されるインタフェースを介して受信されるユーザの入力に基づいて、動的コンテンツのテンプレートを生成することができる。動的コンテンツのテンプレートは、図1に関して上述したテンプレートと同様に、電子ビデオのために識別されるべき動的コンテンツの様々なパラメータを含むことができる。
【００３９】
クライアントコンピューティングデバイス202は、ネットワーク214を通じてビデオサーバシステム204と通信するように構成された入力/出力(I/O)インタフェース212を使用して、作成されたテンプレートをビデオサーバシステム204に提供することができる。入力/出力インタフェース212は、Ethernet(登録商標)カード、ワイヤレスネットワーク送信機、およびセルラ信号送信機など、ネットワーク214を通じて情報を送受信するように構成されたいかなるタイプのインタフェースとすることもできる。ネットワーク214は、インターネット、LAN、WAN、3G/4Gワイヤレスネットワーク、光ファイバネットワーク、またはその任意の組合せなど、様々な通信ネットワークのいずれとすることもできる。
【００４０】
クライアントコンピューティングデバイス202はさらに、生成された動的コンテンツのテンプレートが関連付けられた電子ビデオを、ネットワーク214を通じてビデオサーバシステム204に提供することができる。動的コンテンツテンプレートモジュール210および/またはビデオサーバシステム204は、様々な認証手順のいずれかを使用して、ビデオの動的コンテンツのテンプレートを送信する(submitting)ユーザが、そうする権限を持っているかどうかを調べることができる。動的コンテンツのテンプレートが関係するビデオをユーザがアップロードした、ユーザがビデオの作成者である、および/またはユーザがビデオの著作権保持者であるなど、ユーザとビデオとの間の様々な関連付けにより、十分な権限を提供することができる。
【００４１】
ビデオサーバシステム204は、クライアントコンピューティングデバイス202のI/Oインタフェース212と同様のI/Oインタフェース216を介してビデオおよび動的コンテンツのテンプレートを受信することができる。ビデオサーバシステム204は、ビデオサブシステム218と、動的コンテンツサブシステム220とを含む。ビデオサブシステム218は、電子ビデオをクライアントコンピューティングデバイスに格納し、供給することを管理するように構成される。動的コンテンツサブシステム220は、クライアントコンピューティングデバイスに供給されているビデオと併せて動的コンテンツを識別および提供するように構成される。
【００４２】
ビデオサブシステム218は、ビデオを格納し、検索するように構成されたビデオ格納/検索モジュール224を含んでいる。ビデオ格納/検索モジュール224は、ビデオを格納および検索するためにビデオリポジトリ226と対話することができる。ビデオリポジトリ226は、図1に関して上述したビデオリポジトリ118と同様である。ビデオ格納/検索モジュール224は、クライアントコンピューティングデバイス202によって提供されたビデオをビデオリポジトリ226に格納することができ、クライアントコンピューティングデバイス208からのビデオの要求に応答して、格納されたビデオをビデオリポジトリ226から検索することができる。
【００４３】
動的コンテンツサブシステム220は、動的コンテンツのテンプレートを格納および検索するように構成されたテンプレート格納/検索モジュール228を含んでいる。テンプレート格納/検索モジュール228は、テンプレートを格納および検索するためにテンプレートリポジトリと対話することができる。テンプレートリポジトリ230は、図1に関して上述したテンプレートリポジトリ120と同様である。テンプレート格納/検索モジュール228は、クライアントコンピューティングデバイス202によって提供されたテンプレートをテンプレートリポジトリ230に格納することができ、クライアントコンピューティングデバイス208からのビデオの要求に応答して、要求されたビデオの動的コンテンツを識別するために、格納されたテンプレートをテンプレートリポジトリ230から検索することができる。
【００４４】
クライアントコンピューティングデバイス208は、図1に関して上述したクライアントコンピューティングデバイス202およびクライアントコンピューティングデバイス108と同様である。クライアントコンピューティングデバイス208は、電子ビデオを再生するように構成されたビデオプレーヤ230(例えばFLASHプレーヤ、QUICKTIMEプレーヤなど)と、ビデオサーバシステム204から電子ビデオを要求するように構成されたビデオ要求モジュール232(例えばウェブブラウザアプリケーションなど)とを含むように示している。ビデオ要求モジュール232は、I/Oインタフェース212および216と同様のI/Oインタフェース234によってネットワーク214を通じてサーバシステム204にビデオの電子要求を送信することができる。
【００４５】
ビデオサーバシステム204は、I/Oインタフェース216を介してクライアントコンピューティングデバイス208からこのようなビデオの要求を受信することができる。ビデオの要求を受信することに応答して、ビデオ格納/検索モジュール224は、要求されたビデオをビデオリポジトリ226から検索する。ビデオサブシステム218は、ビデオ要求を処理するように構成されたビデオ要求処理モジュール236をさらに含むことができる。ビデオの要求を処理することは、例えば要求されたビデオがその一部であるウェブページのコードおよび画像を検索することなど、ビデオの要求と共に提供すべき他の情報を検索することおよびアセンブルすることを含むことができる。
【００４６】
ビデオサブシステム218はまた、ビデオと共に動的コンテンツを提供するビデオプレーヤ230を起動する、要求されたビデオと共に提供されるべき情報を生成するビデオプレーヤ設定モジュール238を含むことができる。例えば、ビデオプレーヤ設定モジュール238は、ビデオと共に追加のビデオコンテンツを表示すべきであることをビデオプレーヤ230に示す、要求されたビデオと関連するフラグを設定することができる。ビデオプレーヤ設定モジュール230はまた、ビデオと共に提供するために動的コンテンツを検索することができる位置を示すためのリソース識別子を設定することができる。
【００４７】
一部の実行では、ビデオ要求処理モジュール236は、動的コンテンツサブシステム220にビデオと共に提供されるべき動的コンテンツを識別するよう命令することもでき、クライアントコンピューティングデバイス208に提供するビデオ(および他の情報)と共に動的コンテンツをアセンブルすることができる。このような実行では、ビデオプレーヤ設定モジュール238は、動的コンテンツがビデオと共にクライアントコンピューティングデバイス208に提供されたことを示すためのリソース識別子を設定することができる。
【００４８】
他の実装形態では、ビデオ要求処理モジュール236は、動的コンテンツサブシステム220と対話せず、要求されたビデオは、最初は動的的コンテンツなしでクライアントコンピューティングデバイス208に提供される。このような実装形態では、ビデオプレーヤ設定モジュール238は、動的追加ビデオコンテンツのリソース識別子を、ビデオサーバシステム204および、より詳細には動的コンテンツサブシステム220と関連するリソースの位置に設定することができない。このような設定により、要求されたビデオの少なくとも一部がクライアントコンピューティングデバイス208に提供された後に、クライアントコンピューティングデバイス208のビデオプレーヤ230に、ビデオサーバシステム204から動的コンテンツを要求させることができる。
【００４９】
(ビデオサブシステム218および/またはクライアントコンピューティングデバイス208から)動的追加ビデオコンテンツの要求を受信することに応答して、動的コンテンツサブシステム220は、テンプレート格納/検索モジュール228およびテンプレートリポジトリ230を使用して、関連ビデオと関連した1つまたは複数のテンプレートを検索することができる。動的コンテンツサブシステム220はまた、動的コンテンツを識別するためにクライアント関連情報が必要とされているかどうかを判断することができるクライアント情報抽出モジュール240を含む。クライアント関連情報は、ビデオおよび/または動的コンテンツのテンプレートを提供したクライアントコンピューティングデバイス202(および/またはクライアントコンピューティングデバイス202と関連するユーザ)、ビデオを要求しているクライアントコンピューティングデバイス208(および/またはクライアントコンピューティングデバイス208と関連するユーザ)、および/または他のユーザ/クライアントコンピューティングデバイスに関係する可能性がある。例えば、クライアント情報抽出モジュール240は、クライアントコンピューティングデバイス208と関連する地理的位置を判断することができる。
【００５０】
動的コンテンツサブシステム220はさらに、要求されたビデオと併せてクライアントコンピューティングデバイス208に提供するための動的コンテンツを識別するように構成された動的コンテンツ識別コンポーネント242を含む。動的コンテンツ識別コンポーネント242は、要求されたビデオと関連する動的コンテンツのテンプレートに示されるパラメータに基づいて、動的コンテンツを識別することができる。テンプレートに基づいて、動的コンテンツ識別コンポーネント242は、コンテンツプロバイダシステム206との対話に基づいて所望の動的コンテンツを取得することができ、コンテンツプロバイダシステム206は、複数のコンテンツプロバイダの中から適切なコンテンツプロバイダとして識別することができる。
【００５１】
動的コンテンツ識別コンポーネント242は、動的コンテンツのテンプレートに含まれるパラメータおよびクライアント情報抽出モジュール240によって識別されたクライアント/ユーザ情報を使用して、ネットワーク214を通じてコンテンツプロバイダシステム206から動的コンテンツを要求することができる。コンテンツプロバイダシステム206は、I/Oインタフェース212、216、および234と同様のI/Oインタフェース244を含んでいる。コンテンツプロバイダシステム206は、コンテンツの要求に応えるように構成されたコンテンツ検索モジュール246を含んでいる。コンテンツ検索モジュール246は、コンテンツプロバイダシステム206によって保守されている様々なコンテンツを格納するように構成されたコンテンツリポジトリ248から、要求された情報を取得することができる。コンテンツプロバイダシステム206は、要求されたコンテンツをもとの動的コンテンツサブシステム220に提供し、次に動的コンテンツサブシステム220がこのコンテンツをビデオサブシステム218および/またはクライアントコンピューティングデバイス208に提供することができる。
【００５２】
図3A〜Dは、電子ビデオと共に動的コンテンツを提供するための例示的技法300および360を示す。技法300および360は、図1および2に関して上述した電子ビデオと共に動的コンテンツを提供するための技法と同様である。技法300および360の一部は、作者のコンピューティングデバイス302、ビデオサーバシステム304、クライアントコンピューティングデバイス306、およびコンテンツプロバイダシステム308によって行われているように示している。作者のコンピューティングデバイス302は、それぞれ図1および2に関して上述した作者のコンピューティングデバイス104および/またはクライアントコンピューティングデバイス202と同様である。ビデオサーバシステム304は、それぞれ図1および2に関して上述したビデオサーバシステム106および/またはビデオサーバシステム204と同様である。クライアントコンピューティングデバイス306は、それぞれ図1および2に関して上述したクライアントコンピューティングデバイス108および/またはクライアントコンピューティングデバイス208と同様である。コンテンツプロバイダシステム308は、それぞれ図1および2に関して上述したコンテンツプロバイダシステム126a〜nおよび/またはコンテンツプロバイダシステム206と同様である。
【００５３】
図3Aを参照すると、この技法300は、電子ビデオに対する動的コンテンツのテンプレートを作成する作者のコンピューティングデバイス302によってステップ310から始まる。ステップ312において、作者のコンピューティングデバイス302は、作成されたテンプレートをビデオサーバシステム304に提供する。作成されたテンプレートは、動的コンテンツのコンテンツパラメータおよび/または表示パラメータを含むことができる。コンテンツパラメータは、例えば識別されるべき動的コンテンツのタイプを示すなど、動的コンテンツを選択するために使用する様々なパラメータを示すことができる。表示パラメータは、ビデオの再生中に動的コンテンツを表示すべき時間および/または位置を示す情報など、ビデオと共に動的コンテンツの表示と関連する様々な情報を示すことができる。
【００５４】
ビデオサーバシステム304は、ビデオと関連付けられるように作成されたテンプレートを受信および格納し、したがってビデオを供給するときテンプレートを容易に識別できる(ステップ314)。図示していないが、作者のコンピューティングデバイス302もまた、ビデオサーバシステム304に、作成されたテンプレートが関連付けられた電子ビデオを提供することができ、ビデオサーバシステム304はこれを格納して、他のユーザおよび/またはコンピューティングデバイスに配信するために備えることができる。
【００５５】
ステップ316においてクライアントコンピューティングデバイス316は、電子ビデオの要求をビデオサーバシステム304に提供する。ビデオサーバシステム304はクライアントコンピューティングデバイス306からこの要求を受信し(ステップ318)、続いてクライアントコンピューティングデバイス306および/またはクライアントコンピューティングデバイス306に関連するユーザに関する情報を取得する(ステップ320)。情報は、クライアントコンピューティングデバイス306によってビデオサーバシステム304に提供される、および/または、ビデオサーバシステム304によって検索/判断される。例えば、クライアントコンピューティングデバイス306は、その現在の地理的位置に関する情報をビデオサーバシステム304に提供することができる。別の例では、ビデオサーバシステム304は、クライアントコンピューティングデバイス306のIPアドレスのような、クライアントコンピューティングデバイス306と関連する他の情報に基づいて、クライアントコンピューティングデバイス306のこのような情報を判断することができる。
【００５６】
ビデオのテンプレートに含まれているパラメータ(例えばコンテンツパラメータ)、ならびに/あるいはクライアントコンピューティングデバイス306および/またはそのユーザに関する取得情報を使用して、ビデオサーバシステム304は、ビデオと共に提供されるべきコンテンツを動的に識別することができる(ステップ322)。
【００５７】
例えば、ビデオサーバシステム304は、ステップ320において、クライアントコンピューティングデバイス306および/またはクライアントコンピューティングデバイス306のユーザと関連する地理的位置を識別する情報を取得することができる。このように取得された地理的位置情報は、様々な動的コンテンツを識別するために使用されることが可能である。例えば、この取得された地理的位置情報を使用して、(ステップ322において)地理的位置の閾値距離内(例えば数街区、1マイル、1キロメートル内など)に位置する会場(例えば劇場、スタジアム、クラブ、バーなど)における映画、コンサート、または公演の上演時間を含む動的コンテンツを識別することができる。
【００５８】
別の例では、取得された地理的位置情報を使用して、(ステップ322において)地理的位置の閾値距離内(例えば数街区、1マイル、1キロメートル内など)の港(例えば空港、駅、海港など)までの、または港からの旅行運輸会社のルート(travel  carrier  route)のスケジュール(例えばスケジュールされた航空ルート、スケジュールされた列車ルート、スケジュールされたバスルートなど)を含む動的コンテンツを識別することができる。クライアントコンピューティングデバイス(および/またはその関連ユーザ)の現在の地理的位置の閾値距離内にある港は、旅行運輸会社のルートで提供される地理的位置の少なくとも1つである可能性がある。旅行運輸会社のルートで提供される地理的位置の別の1つは、ビデオの少なくとも一部の題材である別の地理的位置を含む可能性がある。
【００５９】
さらなる例ではビデオサーバシステム304は、ステップ320において、クライアントコンピューティングデバイス306のユーザのソーシャルネットワークのプロフィールに関連する情報を取得することができる。このように取得されたソーシャルネットワーク情報を使用して、様々な動的コンテンツを識別することができる。例えば、このようなソーシャルネットワーク情報を使用して、(ステップ322において)1つまたは複数のソーシャルネットワーク上のユーザの1人または複数の知人に対するコメントおよび/またはステータス情報を含む動的コンテンツを識別することができる。識別されたソーヤルネットワーキング情報は、ビデオで提示される少なくとも1つの題材に関連していると識別されることが可能である。例えば、ビデオで提示される題材を識別する情報と同様のタグ(例えばハッシュタグ)および/またはキーワードを有するソーシャルネットワーキング情報(例えばビデオと関連するタグ/テキスト、ビデオの内容の分析など)は、ビデオと関連するとして識別されることが可能である。
【００６０】
ビデオサーバシステム304は、動的コンテンツの要求をコンテンツプロバイダシステム308に提供することによってコンテンツプロバイダシステム308からこのような動的コンテンツを検索することができる(ステップ324)。動的コンテンツの要求は、ステップ318で受信されたビデオの要求に応えて、コンテンツプロバイダシステム308に提供されてもよい。動的コンテンツの要求は同様に(または代替的に)、事前キャッシュ動作(pre-caching  operation)の一部として、要求が受信される前に提供されることも可能であり、それにより動的コンテンツは、クライアントコンピューティングデバイス306から要求を受信することを予想してキャッシュされ、定期的に更新される(例えば1分、1時間、1日、1週間、1か月などに1度更新される)。動的コンテンツを事前キャッシュすることによって、動的サーバシステム304は、クライアントコンピューティングデバイス306からの要求に応えて動的コンテンツをより速く提供することができる可能性がある。
【００６１】
コンテンツプロバイダシステム308は、動的コンテンツの要求を受信し(ステップ326)、要求されたコンテンツを検索し、要求されたコンテンツをビデオサーバシステム304に提供する(ステップ328)。ビデオサーバシステム304は、コンテンツプロバイダシステムからコンテンツを受信する(ステップ330)。ビデオサーバシステム304は、動的コンテンツと共に提供するコードを生成することができる(ステップ332)。例えば、ビデオサーバシステム304は、ビデオと共に動的コンテンツを要求および/または表示するために、クライアントコンピューティングデバイス306上でビデオプレーヤを起動するコードを提供することができる別の例では、ビデオサーバシステム304は、動的コンテンツの受信および/またはビデオの再生から閾値時間が経過した後に、クライアントコンピューティングデバイス308に更新された動的コンテンツをビデオサーバシステム304から、および/またはコンテンツプロバイダシステム308から要求させるコードを生成することができる。例えば、このようなコードは、ビデオの再生中に数分(例えば2分、5分、10分、30分など)毎に、クライアントコンピューティングデバイス306に更新された動的コンテンツを要求させることができる。
【００６２】
図3Bを参照すると、ビデオサーバシステム304は、動的コンテンツおよび生成されたコードをクライアントコンピューティングデバイス306に提供することができる(ステップ334)。動的コンテンツは、関連するビデオと共に提供されてもよいし、クライアントコンピューティングデバイス306からの動的コンテンツを求める要求に応えて提供されてもよい(例えば、クライアントコンピューティングデバイス306は、ビデオと、ビデオの動的コンテンツがビデオサーバシステム304から検索可能であることを示すコードとを提供されてもよい)。クライアントコンピューティングデバイス306は、動的コンテンツを受信し(ステップ336)、動的コンテンツのテンプレートのパラメータによって指定される、ビデオの再生中のある時間および位置で動的コンテンツを提供する(ステップ338)。
【００６３】
ビデオの再生中、クライアントコンピューティングデバイス306は、ビデオサーバシステム304からの受信された動的コンテンツの更新を要求することができる(ステップ340)。クライアントコンピューティングデバイス306は、ステップ332でビデオサーバシステム304によって生成されたコードに基づいてこのような要求を行うようにされることが可能である。ビデオサーバシステム304は、更新された動的コンテンツの要求を受信し(ステップ342)、これに応じて更新された動的コンテンツを識別する(ステップ344)。ステップ344は、上述のステップ322と同様とすることができ、単に、より最近の/最新のコンテンツを検索するためにより遅い時間に行われる。324〜330と同様に、ビデオサーバシステム304は、コンテンツプロバイダシステム308から更新された動的コンテンツを要求し(ステップ346)、コンテンツプロバイダシステム308は、要求を受信し(ステップ348)、更新されたコンテンツを検索して提供し(ステップ350)、これがビデオサーバシステム304によって受信される(ステップ352)。更新された動的コンテンツは、次にビデオサーバシステム304によってクライアントコンピューティングデバイス306に提供され(ステップ354)、ビデオと併せてクライアントコンピューティングデバイス306上に表示される(ステップ356)ことが可能である。
【００６４】
図3A〜Bには示していないが、クライアントコンピューティングデバイス306は、ビデオサーバシステム304からではなくコンテンツプロバイダシステム308から動的コンテンツを受信することができる。例えば、ビデオサーバシステム304はクライアントコンピューティングデバイス306に、適切なコンテンツプロバイダシステム308を識別する情報と、所望の動的情報を取得するためにコンテンツプロバイダシステム308に提供するための様々なコンテンツパラメータを示す情報とを、提供することができる。
【００６５】
コンテンツプロバイダシステム308は、様々なコンテンツソースのいずれとすることもできる。例えば、コンテンツプロバイダシステム308は、1つまたは複数の電子シンジケーションフィード(electronic  syndication  feed)(例えばRSSフィード、ブログサービス、ニュースサービスなど)を提供することができる。例えば、このような電子フィードは、ソーシャルネットワーク(例えばTWITTER、FACEBOOKなど)のユーザにマイクロブログ(例えば各ブログの記入に文字制限を有するブログ)を同時配信する(syndicate)ことができる。動的コンテンツは、タグ(例えばハッシュタグ)およびキーワードのような、電子フィードで提供されるコンテンツのタイプを示す様々な情報に基づいて、電子シンジケーションフィードから識別されることが可能である。
【００６６】
別の例では、コンテンツプロバイダシステム308は、電子百科事典(例えばWIKIPEDIAなど)、電子辞書(例えばDICTIONARY.COMなど)、電子シソーラス(例えばTHESAURUS.COMなど)、電子検索エンジン(例えばBING,  YAHOO!  SEARCHなど)、またはその任意の組合せのような、1つまたは複数の電子レファレンスソースを提供することができる。動的コンテンツは、タグおよびキーワードのような、コンテンツのトピックを示す様々な情報に基づいて、こうしたレファレンスソースから識別することができる。
【００６７】
別の例では、コンテンツプロバイダシステム308は、TV番組の時間および期間のような、TV放送のスケジュールを提供することができる。このようなTV放送のスケジュールは、現在の地理的位置、タイムゾーン、および/または優先言語など、クライアントコンピューティングデバイス(および/またはクライアントコンピューティングデバイスのユーザ)に関する様々な情報に基づいて、クライアントコンピューティングデバイスの動的コンテンツとして識別することができる。このような情報は、クライアントコンピューティングデバイスによって提供可能であり(例えばクライアントが地理的位置情報、優先言語などを提供する)、および/または推論/判断されることが可能である(例えば、クライアントコンピューティングデバイスのIPアドレスを調べ、言語の選択のような関連情報を推論する)。
【００６８】
図3C〜Dは、例示的技法360を示している。この技法は、上述の技法300と同様であるが、この技法術360ではクライアントコンピューティングデバイス306は、動的コンテンツをビデオサーバシステム304から受信するのではなく、動的コンテンツをコンテンツプロバイダシステム308から検索する。この技法360ではビデオサーバシステム304は、クライアントコンピューティングデバイス306によって解釈されるとき、クライアントコンピューティングデバイス306にコンテンツプロバイダシステム308からの動的コンテンツを識別および検索させるコードを生成する。
【００６９】
図3Cを参照すると、技法360は、技法300に関して上述したステップ310および312と同様に、作者のコンピューティングデバイス302が電子ビデオの動的コンテンツのテンプレートを作成し(ステップ362)、作成したテンプレートをビデオサーバシステム304に提供する(ステップ364)ことから始める。ビデオサーバシステム304は、技法300に関して上述したステップ314と同様に、ビデオと関連付けるように作成されたテンプレートを受信して格納し、ビデオを提供するときテンプレートを容易に識別できるようにする(ステップ314)。
【００７０】
ステップ316〜320と同様に、クライアントコンピューティングデバイス306は、電子ビデオの要求をビデオサーバシステム304に提供し(ステップ368)、ビデオサーバシステム304は、クライアントコンピューティングデバイス306からこの要求を受信し(ステップ370)、ビデオサーバシステム304は、クライアントコンピューティングデバイス306および/またはクライアントコンピューティングデバイス306と関連するユーザに関する情報を取得する(ステップ372)。
【００７１】
ステップ374では、ビデオサーバシステム304は、クライアントコンピューティングデバイス306に提供するコードを生成する。コードは、クライアントコンピューティングデバイス306によって解釈されるとき、コードによりクライアントコンピューティングデバイス306がビデオと共に提供するコンテンツを動的に識別および検索するように生成される。コードは、クライアントコンピューティングデバイス306(および/またはクライアントコンピューティングデバイス306のユーザ)に関する取得情報、および/または、作者のコンピューティングデバイス302によって指定されるビデオの動的コンテンツのテンプレートに基づいて生成される。コードは、実行されるべき一連の命令および/またはコンテンツプロバイダシステム308を識別する情報など、動的コンテンツを識別および検索する際にクライアントコンピューティングデバイス306の助けとなる様々な情報を含むことができる。
【００７２】
ステップ376では、ビデオサーバシステム304は、クライアントコンピューティングデバイス306へのコードを生成する。クライアントコンピューティングデバイス306は、生成されたコードを受信し、解釈する(ステップ380)。生成されたコードの解釈に基づいて、クライアントコンピューティングデバイス306は、ステップ322に関して上述した動的識別と同様に、ビデオと共に提供するコンテンツを動的に識別する(ステップ382)。
【００７３】
図3Dを参照すると、クライアントコンピューティングデバイス306は、コンテンツプロバイダシステム308から動的コンテンツを要求する(ステップ384)。ステップ326〜328と同様に、コンテンツプロバイダシステム308は、クライアントコンピューティングデバイスからコンテンツの要求を受信し(ステップ386)、要求されたコンテンツをクライアントコンピューティングデバイス306に提供する(ステップ390)。クライアントコンピューティングデバイスは、コンテンツプロバイダシステムからコンテンツを受信し(ステップ388)、ステップ338と同様に、ビデオの再生中に動的コンテンツを提供する(ステップ390)。一部の実装形態では、クライアントコンピューティングデバイス306は、ビデオと共に提供する動的コンテンツをローカルに、コンテンツプロバイダシステム308と対話することなく、取得することができる。例えば、動的コンテンツは、クライアントコンピューティングデバイス306に格納されたファイルおよび/またはデータから引き出すことができる。
【００７４】
ビデオサーバシステム304によってクライアントコンピューティングデバイス306に提供された生成コードはさらに、閾値時間が経過した(例えば、動的コンテンツが受信されてから閾値時間が経過した、ビデオの再生中に閾値時間が経過したなど)後に、クライアントコンピューティングデバイス306に、更新された動的コンテンツを要求させることができる。ステップ392では、クライアントコンピューティングデバイス306は、ビデオの再生中に動的コンテンツの更新を要求することができる。ステップ348〜350と同様に、コンテンツプロバイダシステム308は、更新されたコンテンツの要求を受信し(ステップ394)、更新されたコンテンツをクライアントコンピューティングデバイス306に提供する(ステップ396)。ステップ356と同様に、クライアントコンピューティングデバイス306は、更新された動的コンテンツを受信し、ビデオの再生中に更新されたコンテンツを提供する(ステップ398)。
【００７５】
図4A〜Fは、動的に識別されたコンテンツと共に表示されている例示的電子ビデオのスクリーンショットである。スクリーンショットは、電子ビデオの再生中に表示するためにクライアントコンピューティングデバイスに識別し、提供することができる動的コンテンツの様々な例を示している。スクリーンショットは、上述のクライアントコンピューティングデバイス108、208、および306のような、クライアントコンピューティングデバイスの視点からのものである
【００７６】
図4Aは、スイスのチューリヒに位置しているクライアントコンピューティングデバイスで再生中の映画Alice  in  Wonderlandの予告編のビデオ402のスクリーンショット400を示している。ビデオ402を再生中にビデオ402の上部に動的コンテンツ404が重ね合わせられている。このスクリーンショットでは、動的コンテンツ404は、ビデオ402を視聴中のユーザ/クライアントコンピューティングデバイスの近くにあるチューリヒの2つの映画館におけるAlice  in  Wonderlandの今後の上映時間を含んでいる。
【００７７】
この例では、ビデオ402の作者406は、ビデオ402の動的コンテンツが、視聴者(ビデオ402を視聴中のユーザおよび/またはクライアントコンピューティングデバイス)の近くに地理的に位置している劇場における映画Alice  in  Wonderlandの上映時間を含むべきであると指定した可能性がある。作者406はまた、動的コンテンツ404は、ビデオ402の(タイムカウンタ408で表示されるように)0:22地点からビデオの終わりまで、ビデオ402の上部に重ね合わせることを指定した可能性がある。
【００７８】
動的コンテンツ404はまた、動的コンテンツのソースを示すアイコン410を提供するように示されている。この例では、ソースは、図1に関して記載した映画情報システム126bなどの映画情報システムである。
【００７９】
図4Bは、クライアントコンピューティングデバイスで再生中の「wet  behind  the  ears(未熟な)」というフレーズの起源に関するビデオ422のスクリーンショット420を示している。動的コンテンツ424が、ビデオ422の上部に重なって表示されている。この例では、動的コンテンツ424は、「wet  behind  the  ears」というフレーズに関して(ソーシャルネットワークのアイコン428で示されるように)ソーシャルネットワークのユーザ426によって生成された情報を含んでいる。動的コンテンツ424は、コンテンツに含まれるハッシュタグ430(#wetbehindtheears)および/またはキーワード「wet  behind  the  ears」432などの、コンテンツがビデオ422に関連することを示す情報に基づいて、ビデオ422と共に提示するために識別されることが可能である。動的コンテンツ424は、ビデオ422および/または関連する動的コンテンツのテンプレートが他のユーザに配信するためにアップロードされた後に、ユーザ426によって生成された可能性がある。
【００８０】
動的コンテンツ424は、ユーザ426がビデオ422を要求/視聴しているユーザのソーシャルネットワーク上の知人(例えば友人、仕事仲間など)であることに基づいて、提示するために識別されることが可能である。ビデオ422の作者434は、ソーシャルネットワーク428から検索される情報が、視聴者の知人からのものであるべきかどうかを指定することができる。
【００８１】
図4Cは、火山灰の噴煙のためにヒースロー(Heathrow)空港が飛行を見合わせているフライトに関するニュースレポートのビデオ442のスクリーンショット440を示している。動的コンテンツ444が、ビデオ442の上部に重ね合わせられている。動的コンテンツ444は、(RSSアイコン446で示す)RSSフィードからの火山に関する関連ニュースを含んでいる。
【００８２】
図4Dは、映画監督ジェームズ・キャメロン(James  Cameron)とのインタビューのビデオ452のスクリーンショット450を示している。動的コンテンツ454が、ビデオ452の底部に重なって表示されている。動的コンテンツ454は、(アイコン456で示す)電子百科事典からのジェームズ・キャメロンの背景情報を含んでいる。
【００８３】
図4Eは、モーリシャス(Mauritius)の島に関するビデオ462のスクリーンショット460を示している。動的コンテンツ464が、ビデオ462の底部に重なって表示されている。動的コンテンツ464は、スイスのチューリヒにいる視聴者の現在の位置からモーリシャスまでの航空料金について(アイコン466で示す)旅行提供システムからの提案に関する情報を含んでいる。
【００８４】
図4Fは、ビデオ462と共に表示することができる旅行提供システムから他の例の動的コンテンツ472のスクリーンショット470を示している。動的コンテンツ472は、様々な旅行日程およびチューリヒとモーリシャス間の航空料金の価格を提示している。
【００８５】
図4A〜Fでは動的コンテンツをビデオの上部または底部に提示して描いているが、他の位置も可能である。例えば、ビデオのどこでも、またはビデオに隣接して、情報のカラムを提示することができる。
【００８６】
図5は、クライアントとして、または1つもしくは複数のサーバとして、この文書に記載するシステムおよび方法を実現するために使用することができるコンピューティングデバイス500、550のブロック図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すように意図されている。コンピューティングデバイス550は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスなど、様々な形態の携帯デバイスを表すように意図されている。さらにコンピューティングデバイス500または550は、Universal  Serial  Bus(ユニバーサルシリアルバス、USB)フラッシュドライブを含むことができる。USBフラッシュドライブは、オペレーティングシステムおよび他のアプリケーションを格納することができる。USBフラッシュドライブは、別のコンピューティングデバイスのUSBポートに挿入することができるワイヤレストランスミッタまたはUSBコネクタなど、入力/出力コンポーネントを含むことができる。ここに示すコンポーネント、その接続および関係、ならびにその機能は、単に例示であることを意図するものであって、この文書において記載および/または請求する実装形態を限定する意図はない。
【００８７】
コンピューティングデバイス500は、プロセッサ502と、メモリ504と、記憶装置506と、メモリ504および高速拡張ポート510に接続している高速インタフェース508と、低速バス514および記憶装置506に接続している低速インタフェース512とを含んでいる。コンポーネント502、504、506、508、510、および512のそれぞれは、様々なバスを使用して相互に接続され、共通のマザーボードに、または必要に応じて他の方法で、取り付けることができる。プロセッサは502、メモリ504もしくは記憶装置506に格納された命令など、コンピューティングデバイス500内の実行のための命令を処理して、高速インタフェース508に結合されたディスプレイ516などの外部入力/出力装置上にGUIのグラフィカル情報を表示することができる。他の実行では、必要に応じて、複数のメモリおよびメモリのタイプと合わせて、複数のプロセッサおよび/または複数のバスを使用することができる。また、複数のコンピューティングデバイス500を、(例えば、サーババンク、ブレードサーバ群、またはマルチプロセッサシステムとして)必要な動作の一部を提供する各デバイスと接続することができる。
【００８８】
メモリ504は、コンピュータデバイス500内に情報を格納する。1つの実装形態では、メモリ504は1つまたは複数の揮発性メモリユニットである。別の実装形態では、メモリ504は1つまたは複数の不揮発性メモリユニットである。メモリ504はまた、磁気または光ディスクのような、別の形態のコンピュータ可読媒体であることも可能である。
【００８９】
記憶装置506は、コンピューティングデバイス500の大容量記憶装置を提供することができる。1つの実装形態では、記憶装置506は、フロッピー（登録商標）ディスク装置、ハードディスク装置、光ディスク装置、またはテープ装置、フラッシュメモリもしくは他の同様のソリッドステートメモリ装置、またはコンピュータ可読媒体である、またはストレージエリアネットワークもしくは他の構成の装置を含む装置のアレイなど、コンピュータ可読媒体を含むことができる。コンピュータプログラム製品を情報担体で有形に具体化することができる。コンピュータプログラム製品はまた、実行されると、上述のような1つまたは複数の方法を行う命令を含むことができる。情報担体は、メモリ504、記憶装置506、またはプロセッサ502上のメモリなど、コンピュータ可読媒体または機械可読媒体である。
【００９０】
高速コントローラ508は、コンピューティングデバイス500の帯域幅を大量に使用する動作(bandwidth-intensive  operations)を管理し、低速コントローラ512は、より低い帯域幅を大量に使用する動作(lower  bandwidth-intensive  operations)を管理する。機能のこのような割当ては、例示に過ぎない。1つの実装形態では、高速コントローラ508は、メモリ504、ディスプレイ516(例えばグラフィックプロセッサもしくはアクセラレータを介する)、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート510に結合される。この実装形態では、低速コントローラ512は、記憶装置506および低速拡張ポート514に結合される。低速拡張ポートは、様々な通信ポート(例えばUSB、Bluetooth(登録商標)、イーサネット（登録商標）、無線イーサネット（登録商標）)を含むことができ、キーボード、ポインティングデバイス、スキャナ、または例えばネットワークアダプタを介したスイッチもしくはルータのようなネットワーキングデバイスなど、1つまたは複数の入力/出力装置に結合されることが可能である。
【００９１】
コンピューティングデバイス500は、この図に示すように、いくつかの異なる形態で実装されることが可能である。例えばコンピューティングデバイス500は、標準的なサーバ520として実装されることが可能であり、またはこのようなサーバ群において複数回実装されることが可能である。コンピューティングデバイス500はまた、ラックサーバシステム(rack  server  system)524の一部として実装されることが可能である。さらにコンピューティングデバイス500は、ラップトップコンピュータ522のようなパーソナルコンピュータに実装されることが可能である。あるいは、コンピューティングデバイス500からの構成要素は、デバイス550のような、モバイルデバイス(図示せず)の中の他の構成要素と結合されることも可能である。このようなデバイスのそれぞれは、1つまたは複数のコンピューティングデバイス500、550を含むことができ、システム全体は、互いに通信する複数のコンピューティングデバイス500、550で構成されることが可能である。
【００９２】
コンピューティングデバイス550は、他の構成要素として、プロセッサ552、メモリ564、ディスプレイ554のような入力/出力装置、通信インタフェース566、およびトランシーバ568を含む。デバイス550はまた、追加の記憶領域を設けるために、マイクロドライブまたは他のデバイスのような、記憶装置を設けられることも可能である。構成要素550、552、564、554、566、および568のそれぞれは、様々なバスを使用して相互に接続され、構成要素のいくつかは、共通のマザーボードに、または必要に応じて他の方法で取り付けられることが可能である。
【００９３】
プロセッサ552は、メモリ564に格納された命令など、コンピューティングデバイス550内の命令を実行することができる。プロセッサは、個々のおよび複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実装されることが可能である。さらに、プロセッサは、いくつかのアーキテクチャのいずれかを使用して実装されることが可能である。例えばプロセッサ410は、CISC  (Complex  Instruction  Set  Computers、複合命令セットコンピュータ)のプロセッサ、RISC  (Reduced  Instruction  Set  Computer、縮小命令セットコンピュータ)のプロセッサ、またはMISC  (Minimal  Instruction  Set  Computer、最小命令セットコンピュータ)のプロセッサとすることができる。プロセッサは、例えば、ユーザインタフェース、デバイスによって実行されるアプリケーション、およびデバイス550による無線通信の制御のような、デバイス550の他の構成要素の調整を提供することができる。
【００９４】
プロセッサ552は、ディスプレイ554と結合された制御インタフェース558およびディスプレイインタフェース556を介してユーザと通信することができる。ディスプレイ554は、例えばTFT  (Thin-Film-Transistor  Liquid  Crystal  Display、薄膜トランジスタ液晶ディスプレイ)ディスプレイ、またはOLED  (Organic  Light  Emitting  Diode、有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術とすることができる。ディスプレイインタフェース556は、グラフィカル情報および他の情報をユーザに提示するようにディスプレイ554をドライブするための適切な回路を備えることができる。制御インタフェース558は、ユーザからコマンドを受け取り、このコマンドをプロセッサ552に送る(submission)ために変換することができる。さらに、デバイス550と他のデバイスとの近いエリアの通信を可能にするために、プロセッサ552と通信する外部インタフェース562を設けることができる。外部インタフェース562は、例えば一部の実装形態では有線通信を、または他の実装形態では無線通信を提供することができ、また複数のインタフェースを使用することもできる。
【００９５】
メモリ564は、コンピュータデバイス550内に情報を格納する。メモリ564は、1つもしくは複数のコンピュータ可読媒体、1つもしくは複数の揮発性メモリユニット、または1つもしくは複数の不揮発性メモリユニットのうちの1つまたは複数として実装されることが可能である。また拡張メモリ574を設け、拡張インタフェース572を介してデバイス550に接続することも可能であり、拡張インタフェース572には例えばSIMM(Single  In  Line  Memory  Module、シングルインラインメモリモジュール)カードインタフェースが含まれる。このような拡張メモリ574は、デバイス550に余分の格納スペースを設けることができ、またはデバイス550のためにアプリケーションまたは他の情報を格納することもできる。詳細には、拡張メモリ574は、上述のプロセスを実行するまたは補うための命令を含むことができ、セキュア情報もまた含むことができる。したがって、例えば拡張メモリ574を、デバイス550のセキュリティモジュールとして設けることができ、デバイス550を安全に使用できるようにする命令でプログラムすることができる。さらに、識別情報をSIMMカード上に改造できない(non-hackable)方法で置くなど、セキュアアプリケーションを追加情報と併せてSIMMカードによって提供することができる。
【００９６】
メモリは、上述のように、例えばフラッシュメモリおよび/またはNVRAMメモリを含むことができる。1つの実装形態では、コンピュータプログラム製品は、情報担体で有形に具体化される。コンピュータプログラム製品は、実行されると、上述のような1つまたは複数の方法を行う命令を含んでいる。情報担体は、メモリ564、拡張メモリ574、またはトランシーバ568もしくは外部インタフェース562を通じて受け取ることができるプロセッサ552上のメモリのような、コンピュータ可読媒体または機械可読媒体である。
【００９７】
デバイス550は、必要に応じてデジタル信号処理回路を含むことができる通信インタフェース566を介して無線で通信することができる。通信インタフェース566は、特にGSM(登録商標)ボイスコール、SMS、EMS、もしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSのような、様々なモードまたはプロトコルによる通信を提供することができる。このような通信は、例えば無線周波数トランシーバ568を介して行われることが可能である。さらに、Bluetooth(登録商標)、WiFi、または他のこのようなトランシーバ(図示せず)を使用するなど、短距離通信が行われることが可能である。さらに、GPS(Global  Positioning  System、全地球測位システム)レシーバモジュール570が、追加的な航法および位置関連の無線データをデバイス550に提供することができ、このデータは必要に応じて、デバイス550で実行中のアプリケーションによって利用されることが可能である。
【００９８】
デバイス550はまた、オーディオコーデック560を使用して可聴的に通信することもでき、オーディオコーデック560はユーザから話された情報を受信し、これを使用できるデジタル情報に変換することができる。オーディオコーデック560は同様に、例えばデバイス550のハンドセットで、スピーカを通してなど、ユーザのために可聴音を生成することができる。このような音は、音声電話呼からの音を含むことができ、録音された音(例えばボイスメッセージ、音楽ファイルなど)、デバイス550で動作中のアプリケーションによって生成される音を含むこともできる。
【００９９】
コンピューティングデバイス550は、図に示すように、いくつかの異なる形で実装されることが可能である。例えば、コンピューティングデバイス550は、携帯電話580として実装されることが可能である。コンピューティングデバイス550はまた、スマートフォン582、携帯情報端末、または他の同様の携帯デバイスの一部として実装されることが可能である。
【０１００】
本明細書に記載するシステムおよび技法の様々な実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特殊用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはその組合せで実現されることが可能である。こうした様々な実装は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行可能および/または解釈可能である1つまたは複数のコンピュータプログラムにおける実装を含むことができ、プログラマブルプロセッサは、特定用途または汎用であって、データおよび命令を受信するために、かつデータおよび命令を送信するために、ストレージシステム、少なくとも1つの入力装置、および少なくとも1つの出力装置に結合される。
【０１０１】
こうしたコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)、プログラマブルプロセッサ用の機械命令を含み、高水準手続き型言語および/またはオブジェクト指向プログラミング言語で、および/またはアセンブリ言語/機械語で、実装されることが可能である。本明細書で使用する「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械可読信号として機械命令を受け取る機械可読媒体など、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用されるいかなるコンピュータプログラム製品、装置および/またはデバイス(例えば磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))も指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用されるいかなる信号も指す。
【０１０２】
ユーザとの対話を提供するために、本明細書に記載するシステムおよび技法は、ユーザに情報を表示するための表示装置(例えばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、ユーザがコンピュータへの入力を行うことができるキーボードおよびポインティングデバイス(例えばマウスもしくはトラックボール)とを有するコンピュータに実装することができる。他の種類のデバイスを使用して、ユーザとの対話を提供することもでき、例えばユーザに提供されるフィードバックは、感覚フィードバック(例えば視覚フィードバック、聴覚フィードバック、もしくは触覚フィードバック)のいかなる形態であることも可能であり、ユーザからの入力は、音響入力、音声入力、もしくは触覚入力など、いかなる形態で受け取ることもできる。
【０１０３】
本明細書に記載するシステムおよび技法は、バックエンドコンポーネント(例えばデータサーバとして)を含むコンピューティングシステム、またはミドルウェアコンポーネント(例えばアプリケーションサーバ)を含むコンピューティングシステム、またはフロントエンドコンポーネント(例えば、ユーザが本明細書に記載のシステムおよび技法の実装と対話できるようになるグラフィカルユーザインタフェースもしくはWebブラウザを有するクライアントコンピュータ)を含むコンピューティングシステム、またはこのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組合せに実装されることが可能である。システムのコンポーネントは、デジタルデータ通信のいかなる形態または媒体(例えば通信網)によっても、相互に接続されることが可能である。通信網の例には、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、ピアツーピアネットワーク(アドホックメンバまたは静的メンバを有する)、グリッドコンピューティングインフラストラクチャ、およびインターネットが含まれる。
【０１０４】
コンピューティングシステムは、クライアントと、サーバとを含むことができる。クライアントおよびサーバは、一般に互いから離れており、典型的には通信網を介して対話する。クライアントとサーバの関係は、それぞれのコンピュータで実行中の、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【０１０５】
いくつかの実装形態について上で詳細に述べたが、他の変更形態も考えられる。さらに、電子ビデオと共に動的コンテンツを提供するための他のメカニズムを使用することもできる。さらに、図に示す論理の流れは、望ましい結果を達成するために、図示した特定の順序、または一連の順序を必要としない。他のステップを提供することもでき、または記載した流れからステップを削除することもでき、他の構成要素を記載したシステムに追加する、または記載したシステムから取り除くことができる。したがって、他の実装形態も添付の特許請求の範囲の範囲内である。
【符号の説明】
【０１０６】
100  システム
102  ビデオ
104  作者のコンピューティングデバイス
106  ビデオサーバシステム
108  クライアントコンピューティングデバイス
110  映画の予告編
114  テンプレート
118  ビデオリポジトリ
120  テンプレートリポジトリ
【図１】
2013542641.tif 000003
【図２】
2013542641.tif 000004
【図３Ａ】
2013542641.tif 000005
【図３Ｂ】
2013542641.tif 000006
【図３Ｃ】
2013542641.tif 000007
【図３Ｄ】
2013542641.tif 000008
【図４Ａ】
2013542641.tif 000009
【図４Ｂ】
2013542641.tif 000010
【図４Ｃ】
2013542641.tif 000011
【図４Ｄ】
2013542641.tif 000012
【図４Ｅ】
2013542641.tif 000013
【図４Ｆ】
2013542641.tif 000014
【図５】
2013542641.tif 000015
【国際調査報告】
2013542641.tif 000016
2013542641.tif 000017