(57)【要約】  音声、映像、オーバーレイ及び／又は制御チャネルを介してクライアントと通信するサーバにおけるマルチメディア配布システムが開示される。多くの場合、音声、映像、及び／又はオーバーレイ情報が、送信前にトランスコードされる。本発明の一実施例は、ネットワークを介してクライアントに接続されるサーバ、及び、第１のフォーマットでフォーマットされる音声、映像、及び／又は、オーバーレイ情報を含む少なくとも一つのストレージデバイスを有する。加えて、クライアントは、クライアントが復号化することを可能にする音声、映像、オーバーレイフォーマットを示す情報を格納するストレージデバイスを有し、サーバは、別の音声、映像、オーバーレイ及び／又は制御チャネルを介して音声、映像、オーバーレイ及び制御チャネルを送信するように構成される。
2008527850.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してクライアントに接続されたサーバ、
第１のフォーマットにしたがってフォーマットされる音声、映像及び／又はオーバーレイ情報を含む少なくとも１つのストレージデバイス、を有し、
前記クライアントは、前記クライアントが復号化可能な音声、映像及び／又はオーバーレイ情報フォーマットを示す情報を格納するストレージデバイスを有し、
前記サーバは、別々の音声、映像、オーバーレイ、及び制御チャネルを介して音声、映像、オーバーレイ、及び制御を送信するように構成されることを特徴とするデータ分配システム。
【請求項２】
前記サーバは、前記クライアントが復号化可能な音声、映像及び／又はオーバーレイフォーマットを示す情報を獲得するために、クライアントに問合せをするように構成される請求項１に記載のデータ分配システム。
【請求項３】
前記サーバは、少なくとも一つの格納された音声、映像及びオーバーレイ情報を、第２のフォーマットにトランスコードするように構成され、
前記音声、映像及び／又はオーバーレイフォーマットを示す情報は、前記クライアントが前記第２のフォーマットで符号化された音声、映像及び／又はオーバーレイを復号化できることを示す請求項２に記載のデータ分配システム。
【請求項４】
前記サーバが、更新可能リストを獲得するように構成され、かつ、
前記サーバは、前記クライアントが復号化できる前記音声、映像及び／又はオーバーレイフォーマットを示す情報に基づいてクライアントに適用されうる更新を判断するように構成される請求項２に記載のデータ分配システム。
【請求項５】
自デバイスの性能に関する格納された情報を格納するストレージデバイスを格納するする第３のデバイスをさらに有し、
前記サーバは、前記第３のデバイスの性能に関する格納情報を獲得するために第３のデバイスに問合せをするように構成される請求項４に記載のデータ分配システム。
【請求項６】
前記サーバは、前記第３の機器の性能に関する第３のデバイスから獲得した情報を参照して、クライアントに適応可能な更新を判断するように構成される請求項５に記載のデータ分配システム。
【請求項７】
前記サーバは、前記サーバの性能に関する情報を格納するストレージデバイスを含む請求項４に記載のデータ分配システム。
【請求項８】
前記サーバは、前記サーバの性能に関する情報を参照して前記クライアントに適用される更新を判断するように構成される請求項７に記載のデータ分配システム。
【請求項９】
プロセッサ、
前記プロセッサに通信するように構成され且つ別々のチャネルで音声、映像、オーバーレイ、及び制御情報のパケットを受信するように構成されるネットワークインタフェース、及び、
前記プロセッサによって符号化され得る音声、映像及びオーバーレイ情報に関する情報を格納するストレージデバイスを有することを特徴とするクライアント。
【請求項１０】
前記ネットワークインタフェースを介して前記プロセッサによって復号化される前記音声、映像及び／又はオーバーレイ情報フォーマットに関する前記格納情報によって送信される前記ネットワークインタフェースを介して受信した問合せに応答するように前記プロセッサは構成される請求項９に記載のクライアント。
【請求項１１】
前記格納情報は、ＸＭＬファイルとして格納される請求項９に記載のクライアント。
【請求項１２】
プロセッサ、
前記プロセッサと通信するネットワークインタフェースを有し、
前記プロセッサは、第１のフォーマットで符号化された音声、映像及びオーバーレイ情報を受信し且つ第２のフォーマットに前記音声、映像及び／又はオーバーレイ情報の少なくとも１つをトランスコードするように構成され、
前記プロセッサ及びネットワークインタフェースデバイスは、前記音声、映像及び／又はオーバーレイ情報を送信するように構成されることを特徴とするサーバ。
【請求項１３】
前記プロセッサ及び前記ネットワークインタフェースデバイスは、音声、映像及び／又はオーバーレイ情報を送信するように構成される請求項１２に記載のサーバ。
【請求項１４】
前記プロセッサ及び前記ネットワークインタフェースデバイスは、外部デバイスの性能を示す情報を受信するように構成される請求項１３に記載のサーバ。
【請求項１５】
前記プロセッサは、性能リストを獲得するために前記情報を解析するように構成される請求項１４に記載のサーバ。
【請求項１６】
プロセッサ、
前記プロセッサと通信するネットワークインタフェースを有し、
前記プロセッサ及び前記ネットワークインタフェースデバイスは、利用可能な更新リストを獲得するように構成され、
前記プロセッサ及び前記ネットワークインタフェースデバイスは、外部デバイスの性能に関して外部デバイスに問合せるように構成され、
前記プロセッサは、前記利用可能な更新リスト及び前記外部デバイスの性能に基づいて外部デバイスに提供される更新を判断するように構成され、
前記プロセッサ及び前記ネットワークインタフェースデバイスは、音声、映像及び／又はオーバーレイ情報を送信するように構成されることを特徴とするサーバ。
【請求項１７】
前記サーバの性能に関する情報を含むストレージデバイス、
前記プロセッサは、前記サーバの性能に関する前記記憶情報に基づいて外部デバイスに提供される更新を決定するようにさらに構成されることを特徴とする請求項１６に記載のサーバ。
【請求項１８】
前記外部デバイスの性能は、各デバイスによってサポートされる前記通信プロトコルを含み、
少なくとも１つのプロトコルは、各利用可能な更新によってサポートされ、
前記プロセッサは、各更新されたデバイスが前記同じ通信プロトコルをサポートすることを確実にすることによって、外部デバイスへの更新を適用することを判断するように構成されることを特徴とする請求項１６に記載のサーバ。
【請求項１９】
データネットワーク上でデータを通信する方法であって、
音声、映像、及びオーバーレイ情報を検索し、
少なくとも１つの前記音声、映像、及びオーバーレイ情報をトランスコードし、
前記音声、映像、及びオーバーレイ情報の１つ以上に関係する音声、映像、オーバーレイ、及び制御情報を送信し、
前記音声、映像、オーバーレイ、及び制御情報の１つ以上に関係する前記音声、映像、オーバーレイ、及び制御情報を受信し、
別々の音声、映像、及びオーバーレイキューで前記受信した情報をキューイングし、
前記情報に関係する前記タイムスタンプに基づいて前記キューイングされた情報を処理し、
前記処理された情報の少なくとも１つのタイムスタンプを示す報告を送信し、
前記報告を受信し、
前記受信した報告内に含まれる前記少なくとも１つのタイムスタンプに関する情報を記録することを特徴とする通信方法。
【請求項２０】
前記音声、映像、及びオーバーレイ情報をトランスコードする適切なフォーマットを判断することを有する請求項１９に記載の通信方法。
【請求項２１】
データネットワーク上で通信するように構成されるデバイスを更新する方法であって、
利用可能な更新及び各更新でサポートされる通信プロトコルのバージョンを判断し、
各デバイスによってサポートされる前記通信プロトコルのバージョンを含む各デバイスの性能を判断し、
必要な更新が実行されるなら、全デバイスによってサポートされる前記通信プロトコルの最新バージョンを判断し、
前記必要な更新を実行することを特徴とする更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にマルチメディア分配システムに関し、及び、特に双方向マルチメディアデータ分配システムに関する。
【背景技術】
【０００２】
音声及び／又は映像情報は、その情報を表示可能なコンシューマ電子デバイス（Consumer electronic device）に様々な形式で提供される。コンパクトディスク（ＣＤ）又はデジタルビデオディスク（ＤＶＤ）のような固定様式でメディアを要求するコンシューマ電子デバイスは、ユーザに利用可能なＣＤ又はＤＶＤを再生することに制限される。既定の時間でユーザにアクセス可能な音声及び／又は映像の量を増加させるために、コンシューマ電子機器の製造会社は、コンシューマ電子デバイスの中のストレージデバイスに固定メディアに含まれる音声及び／又は映像情報を送信することを模索している。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
内部ストレージを使用するシステムは、追加された利便性を提供するが、典型的には、ユーザに、そのストレージデバイスに含まれる音声及び／又は映像情報を表示することを制限する。ユーザに音声及び／又は映像情報をさらに利用可能にする別のアプローチは、ネットワーク接続でコンシューマ電子デバイスに提供することである。コンシューマ電子デバイスがネットワークに接続されるとき、音声及び／又は映像情報は、遠隔に記憶され、ネットワークを介してコンシューマ電子デバイスに要望どおりに提供される。多くの例では、コンシューマ電子デバイスは、固定メディアから音声及び／又は映像情報を抜き出す能力を備え、音声及び／又は映像情報を格納し、ネットワークを介して音声及び／又は映像情報を獲得する。
【課題を解決するための手段】
【０００４】
本発明に係る実施形態は、ネットワーク上でマルチメディアを配布する。一形態において、本発明の実施形態は所定のマルチチャネルプロトコルにしたがって配布のための第１のフォーマットで符号化された映像をトランスコードすることができる。別な形態では、本発明の実施形態は自動的にシステムを更新するための機構を有する。本発明の一実施形態は、ネットワークを介してクライアントに接続されたサーバ、第１のフォーマットにしたがってフォーマットされる音声、映像及び／又はオーバーレイ（overlay）情報を含む少なくとも１つのストレージデバイス、を有しクライアントは、クライアントが復号化可能な音声、映像及び／又はオーバーレイ情報フォーマットを示す情報を格納するストレージデバイスを有し、サーバは、別々の音声、映像、オーバーレイ、及び制御チャネルを介して音声、映像、オーバーレイ、及び制御を送信するように構成されることを特徴とするデータ分配システムを含む。
【０００５】
更なる実施形態では、サーバは、クライアントが復号化可能な音声、映像及び／又はオーバーレイフォーマットを示す情報を獲得するために、クライアントに問合せをするように構成される。
【０００６】
別の実施形態では、サーバは、少なくとも一つの格納された音声、映像及びオーバーレイ情報を、第２のフォーマットにトランスコードするように構成され、
音声、映像及び／又はオーバーレイフォーマットを示す情報は、クライアントが第２のフォーマットで符号化された音声、映像及び／又はオーバーレイを復号化できることを示す。
【０００７】
さらに別の実施形態では、サーバが、更新可能リストを獲得するように構成され、かつ、サーバは、クライアントが復号化できる音声、映像及び／又はオーバーレイフォーマットを示す情報に基づいてクライアントに適用されうる更新を判断するように構成される。
【０００８】
別の実施形態は、自デバイスの性能に関する格納された情報を格納するストレージデバイスを格納するする第３のデバイスをさらに有し、サーバは、第３のデバイスの性能に関する格納情報を獲得するために第３のデバイスに問合せをするように構成される。
【０００９】
またさらなる実施形態では、サーバは、第３の機器の性能に関する第３のデバイスから獲得した情報を参照して、クライアントに適応可能な更新を判断するように構成される。
【００１０】
さらに別の実施形態では、サーバは、サーバの性能に関する情報を格納するストレージデバイスを含む。
【００１１】
さらに別の実施形態では、サーバは、サーバの性能に関する情報を参照してクライアントに適用される更新を判断するように構成される。
【００１２】
別の実施形態は、プロセッサ、プロセッサに通信するように構成され且つ別々のチャネルで音声、映像、オーバーレイ、及び制御情報のパケットを受信するように構成されるネットワークインタフェース、及び、プロセッサによって符号化され得る音声、映像及びオーバーレイ情報に関する情報を格納するストレージデバイスを有することを特徴とするクライアントを有する。
【００１３】
さらに追加の実施形態では、ネットワークインタフェースを介してプロセッサによって復号化される音声、映像及び／又はオーバーレイ情報フォーマットに関する格納情報によって送信されるネットワークインタフェースを介して受信した問合せに応答するようにクライアントのプロセッサは構成される。
【００１４】
別の付加的な実施形態では、格納情報は、ＸＭＬファイルとして格納される。
【００１５】
さらに付加的な実施形態は、プロセッサ、プロセッサと通信するネットワークインタフェースを有し、プロセッサは、第１のフォーマットで符号化された音声、映像及びオーバーレイ情報を受信し且つ第２のフォーマットに音声、映像及び／又はオーバーレイ情報の少なくとも１つをトランスコードするように構成され、プロセッサ及びネットワークインタフェースデバイスは、音声、映像及び／又はオーバーレイ情報を送信するように構成されることを特徴とするサーバを有する。
【００１６】
別の実施形態では、プロセッサ及びネットワークインタフェースデバイスは、音声、映像及び／又はオーバーレイ情報を送信するように構成される。
【００１７】
さらに別の実施形態では、プロセッサ及びネットワークインタフェースデバイスは、外部デバイスの性能を示す情報を受信するように構成される。
【００１８】
さらに別の実施形態では、プロセッサは、性能リストを獲得するために情報を解析するように構成される。
【００１９】
付加的な実施形態は、プロセッサ、プロセッサと通信するネットワークインタフェースを有し、プロセッサ及びネットワークインタフェースデバイスは、利用可能な更新リストを獲得するように構成され、プロセッサ及びネットワークインタフェースデバイスは、外部デバイスの性能に関して外部デバイスに問合せるように構成され、プロセッサは、利用可能な更新リスト及び外部デバイスの性能に基づいて外部デバイスに提供される更新を判断するように構成され、プロセッサ及びネットワークインタフェースデバイスは、音声、映像及び／又はオーバーレイ情報を送信するように構成されることを特徴とするサーバを有する。
【００２０】
別の付加的な実施形態は、サーバの性能に関する情報を含むストレージデバイス、プロセッサは、サーバの性能に関する記憶情報に基づいて外部デバイスに提供される更新を決定するようにさらに構成される。
【００２１】
別の実施形態では、外部デバイスの性能は、各デバイスによってサポートされる通信プロトコルを含み、少なくとも１つのプロトコルは、各利用可能な更新によってサポートされ、プロセッサは、各更新されたデバイスが同じ通信プロトコルをサポートすることを確実にすることによって、外部デバイスへの更新を適用することを判断するように構成されることを特徴とする。
【００２２】
本発明に係る方法の実施形態は、データネットワーク上でデータを通信する方法であって、音声、映像、及びオーバーレイ情報を検索し、少なくとも１つの音声、映像、及びオーバーレイ情報をトランスコードし、音声、映像、及びオーバーレイ情報の１つ以上に関係する音声、映像、オーバーレイ、及び制御情報を送信し、音声、映像、オーバーレイ、及び制御情報の１つ以上に関係する音声、映像、オーバーレイ、及び制御情報を受信し、別々の音声、映像、及びオーバーレイキューで受信した情報をキューイングし、情報に関係するタイムスタンプに基づいてキューイングされた情報を処理し、処理された情報の少なくとも１つのタイムスタンプを示す報告を送信し、報告を受信し、受信した報告内に含まれる少なくとも１つのタイムスタンプに関する情報を記録することを特徴とする。
【００２３】
本発明に係る方法のさらなる実施形態は、音声、映像、及びオーバーレイ情報をトランスコードする適切なフォーマットを判断することを有する。
【００２４】
本発明に係る方法の別の実施形態は、データネットワーク上で通信するように構成されるデバイスを更新する方法であって、利用可能な更新及び各更新でサポートされる通信プロトコルのバージョンを判断し、各デバイスによってサポートされる通信プロトコルのバージョンを含む各デバイスの性能を判断し、必要な更新が実行されるなら、全デバイスによってサポートされる通信プロトコルの最新バージョンを判断し、必要な更新を実行することを特徴とする更新方法を有する。
【発明を実施するための最良の形態】
【００２５】
図面を参照すると、本発明の実施形態は、少なくとも１つのクライアントとネットワークを介して接続された少なくとも１つのサーバを有し、音声及び／又は映像情報の配布を可能にする。多くの実施形態のうちの１つは、サーバがクライアントに様々な情報を送信することができる。情報の種類のうち各々は、典型的には異なるチャネル上で送信される。他の例では、情報のストリームがリアルタイムでトランスコードされる。多くの実施形態のうち別な形態は、制御チャネル上でクライアントによってサーバへ転送されたユーザ指令に応じて、サーバがクライアントへ送信するための情報を選択する。実施例の多くは、ユーザ指令に応じた表示のためにクライアントへ、音声、映像及び／又はオーバーレイ情報の適切なシーケンスを提供することによって、サーバは、双方向（interactive）なグラフィカルユーザインタフェースを介して指図するユーザへのインプレッション（impression）を生成することができる。双方向性を達成するために、サーバは、通常は、クライアントによって表示されるユーザインタフェースの状態に関する情報を保持する。加えて、サーバは、ユーザ入力に応じてあるユーザインタフェースから別なユーザインタフェースへ遷移するときの待ち時間を減らすために、クライアントの設定を制御することができる。多くの実施例では、システムは、ソフトウェア更新を配布することができる。
【００２６】
本発明による配布システムの実施例が、図１を用いて説明される。配布システム１０は、ネットワーク１４を介して多くのデバイスに接続される多くのサーバ１２を有する。説明される実施例において、デバイスは、コンピュータ１６、テレビ２０に接続された据付ボックス１８、及び、ハンドヘルドコンピューティングデバイス２２を有する。サーバ１２と対話するために、各デバイスは、クライアントとしてデバイスを活動させることを可能にするソフトウェア及び／又はハードウェアを有する。それゆえ、クライアントという用語は、本発明の実施例にしたがってサーバと通信可能なデバイスを初めから終わりまで記述するために使用される。
【００２７】
いくつかのクライアントは、極めて洗練された演算機能を有するが、多くの他のクライアントは、制限された演算及びストレージ機能を有する。それゆえ、本発明によるクライアントは、典型的には、殆どのユーザ指令に応答して直接的に変化しないとても単純なルーティンを実行する。処理の大部分は、サーバにシフトされ、サーバはユーザ入力を処理し、システムの双方向性機能を実行する。サーバは、とても正確な方法で、クライアントにより表示される情報を制御し、その方法は要求された情報がクライアントによってほとんど即座に表示されることを確実にすることで、サーバがユーザの要求に応答することを可能にする。典型的には、クライアントは、ユーザ要求の大部分を解釈する機能を有さない。クライアントは、単に、サーバにユーザ要求を送信し、サーバによって指示される方法で、サーバがクライアントに提供する情報を表示する。サーバの動作、ネットワーク、及びクライアントは後述する。
【００２８】
サーバ１２、ネットワーク１４、及びクライアントは、ネットワークを介してサーバが情報を送信することを可能にするように構成される。ある実施例では、サーバ及びクライアントは、ＴＣＰ／ＩＰプロトコルを用いて固定されたネットワーク上で通信する。他の実施例では、他のネットワーク通信プロトコルが使用され、固定接続は、無線接続に置き換えられる。ネットワークという用語は、直接接続、ホームネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、プライベートネットワーク、及びインターネットのようなネットワークを含み、サーバ及びクライアント間のいかなる接続をも最初から最後まで言及するために使用される。
【００２９】
本発明の実施例によるサーバ及びクライアント間に確立された通信チャネルは、図２において概略的に説明される。本発明の実施例によるサーバ１２は、音声、映像、及びオーバーレイ情報のためのクライアントとの別個の通信チャネル１７を確立する。加えて、制御チャネル１９は、サーバ及びクライアント間の制御情報の双方向通信を可能にして確立される。
【００３０】
映像チャネル１７ｂは、サーバからクライアントへのパケット化された映像情報を通信するために使用される。より詳細に後述されるように、映像チャネルは、映像情報のパケットの中に含まれる映像の種類にしたがって構成される。典型的には、映像情報のパケットは、符号化された映像のフレームを含む。そのフレームは、特徴表現（feature presentation）、メニューの部分、又は、ユーザインタフェースの部分になり得る。用語「特徴表現」は、典型的には直線的に再生する長編フィルムのような連続した映像シーケンスを記述するために最初から最後まで記載され、ユーザとの相互作用は要求しない。用語「特徴表現」は、広い意味で意味され、事前録画された映像およびブロードキャストストリームのいかなる種類をも包含し、長編フィルムに限定されない。
【００３１】
音声チャネル１７ｂは、サーバからクライアントへパケット化された映像情報を通信するために使用される。映像チャネル同様に、サーバは映像チャネルの特徴を特定する。音声チャネルによって送信される音声データは、映像又はオーバーレイ情報を必ずしも伴う必要はない。本発明の多くの実施例は、音声録音（例えば、音楽など）を配布する機能を有する。音声情報は、映像チャネル上で送信された映像情報をも伴うことができる。多くの例では、音声情報は、「特徴表現」に伴うサウンドトラックである。しかし、音声情報は、メニューやユーザインタフェースの部分を形成する音響効果にもなり得る。
【００３２】
オーバーレイチャネル１７ｃは、クライアントにオーバーレイ情報を送信するためにサーバによって使用され得るチャネルである。オーバーレイは、映像のフレーム上のスーパーインポーズ、又は、背景映像無しで表示可能な全体画像のどちらかになり得る絵又はテキストである。オーバーレイの例は、「特徴表現」を伴うサブタイトル、又は、メニュー部分又はユーザインタフェースである強調されたメニューオプションを含む。オーバーレイ情報は、絵又はテキストとして符号化される。ある実施例では、オーバーレイは、Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐにより特定されるフォーマットに交換するＪＰＥＧファイルにしたがって符号化される。別な実施例では、オーバーレイはビットマップとして符号化される。オーバーレイ情報、及び、オーバーレイチャネルの種類は、通常は、サーバによって特定される。
【００３３】
制御チャネル１９は、制御情報を送信するために、サーバ及びクライアントの両方によって使用され得るチャネルである。本発明に係るシステムの実施例は、サーバ及びクライアント間の情報を確実に通信するように構成される。より詳細に後述されるように、クライアントは、ユーザ指令及びタイミング情報をサーバに送信するために、制御チャネルを使用する。次に、サーバは、制御チャネルを使用して、クライアントと音声、映像及びオーバーレイチャネルを確立し、受信した音声、映像及びオーバーレイ情報を表示すべき方法に関する指令をクライアントに提供する。他の実施例では、音声、映像及びオーバーレイチャネルは、音声、映像及びオーバーレイチャネルの各々の上を送信されるパケットによって初期化される。制御チャネル上を通信するサーバ及びクライアントの性能は、システム全体がユーザと相互作用することを可能にする。例えば、本発明の実施例によるクライアントは、制御チャネルを使用して、サーバにユーザコマンドを送信する。それから、サーバは、音声、映像及び／又は制御チャネルを介してクライアントに情報を送信することによって、ユーザコマンドに応答する。音声、映像、オーバーレイ及び／又は制御情報の適切な選択は、特徴表現の素早い転送、中止、又は、巻き戻しのような効果を達成する。相互作用特性が本発明の実施形態により実行される方法は、さらに後述される。
【００３４】
本発明の多くの実施例では、ネットワーク１４上の通信は、ＴＣＰ／ＩＰプロトコルにしたがって実施される。ＴＣＰ／ＩＰが使われる実施例では、別々のチャネルが各チャネルへの別々のポートアドレスに割り当てることによって確立される。このようにして、情報のパケットは、ネットワークを横断して送信され、ポートアドレスは、パケットが関係付けられるのがどのポートかを判断するために使用される。他の実施例では、ＵＤＰプロトコルがネットワーク上の情報を通信するために、ＩＰプロトコルと連動して使用される。他のプロトコルも、本発明の実施例によるネットワーク上で情報を通信するために使用でき、様々な技術が、音声、映像、及び／又は、コマンド情報の通信のための別々のチャネルを生成するために使用される。他の実施例では、移動体通信プロトコルがクライアントとサーバの間の必要なチャネルを確立するために使用される。あるいは、チャネルは、ＩＥＥＥ１３９４標準に準拠する接続上で見出される。他の実施例では、他のネットワークプロトコルが音声、映像、オーバーレイ、及び／又は、コマンド情報を通信するために使用され得る。確かに、異なるネットワークは、異なるタイプの情報、及び／又は、同じタイプの情報の異なるシーケンスを通信するために使用され得る。本発明の多くの実施例は、別々のチャネルを有し、様々な実施例は、音声、映像、及び／又は、制御情報を単一のチャネル上で結びつける。
【００３５】
クライアントにサーバによって音声、映像、及び、オーバーレイチャネルを介して送信される音声、映像、及び、オーバーレイ情報は、クライアントによりユーザに提示される情報を決定する。上記したように、この情報は様々な形式をとり得る。例えば、音声、映像、及び／又は、オーバーレイ情報はユーザインタフェースに関係付けられる。多くの例では、音声、映像、及び／又は、オーバーレイ情報は、同じコンテンツに関連しない。その例は、特徴表現上で表示される他の利用可能なプログラミング、又は、ユーザに特徴表現が送信され、中止され、又は、他のやり方に操作されることを通知する記号オーバーレイについての情報を含むオーバーレイを有する。
【００３６】
多くの実施例では、サーバは、符号化された音声、映像、及びオーバーレイ情報を適切に含むファイルから、情報を抽出することによって送信のための情報を獲得する。他の実施例では、符号化された音声、映像、及びオーバーレイ情報はサーバによってデータのストリームとして受信される。幾つかの実施例では、サーバは、第１のフォーマットで符号化された音声、映像、及び／又はオーバーレイ情報を受信し、送信用の適切なフォーマットで音声、映像、及び／又はオーバーレイ情報をトランスコードする。情報を受信しようとするクライアントが第１のフォーマットで符号化された情報を復号化できないために、送信のために適切ではないかもしれない。多くの実施例では、サービス品質（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）の要求は、第１のフォーマットで符号化された情報を、異なるデータ送信速度を要求するフォーマットにサーバにトランスコードさせる。サービス品質測定を利用する実施例では、クライアントは、サーバがサービス品質を測定可能にする情報をサーバに提供する。第１のフォーマットが適切でない別の理由は、音声、映像、及び／又はオーバーレイ情報が第１のファイルフォーマットで符号化されるとき、別々のチャネル上で送信するための音声、映像、及び／又はオーバーレイ情報を直接抽出できないということである。
【００３７】
本発明のシステムの典型的な実施例の特徴を一般的に記載したことで、これらのシステムの個々の構成のより詳しい試験が保障される。本発明の実施例によるサーバが、図３に表される。サーバ１２’は、少なくとも１つのプロセッサ２１、メモリ２２、１つ以上のハードディスクドライブのようなストレージデバイス２４、及びネットワークインタフェースデバイス２６を含む。プロセッサ２１は、ネットワークインタフェースを介してクライアントに音声、映像、及び／又はオーバーレイ情報、及び制御コマンドを提供するために、ソフトウェアを用いて構成される。
【００３８】
ストレージデバイス２４は、１つ以上のデータファイルを含む。データファイルは、１つ以上の音声トラック、１つ以上の画像、１つ以上の特徴表現、及び、１つ以上のユーザインタフェースに関係する音声、映像、及び／又はオーバーレイを含む。本発明の一実施例では、記憶されたデータファイルは、１つ以上の映像トラック、１つ以上の音声トラック、１つ以上のオーバーレイトラック、グラフィカルユーザインタフェースに関係するマルチメディアを含むことができる。ストレージデバイス２４は、Ｖａｎ  Ｚｏｅｓｔ等による“Ｍｕｌｔｉｍｅｄｉａ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓｙｓｔｅｍ”とタイトル付けされ、２００４年１１月１７日に出願された米国特許出願第１１／０１６，１８４に記載されるマルチメディアに類似のマルチメディアを含むことができ、その出願の内容は、ここにおいてその全体を参照することにより組み込まれる。
【００３９】
サーバは、ストレージデバイス２４に記憶する、又は、送信用の別なソースから音声、映像、及び／又は、オーバーレイをトランスコードすることができ、そのトランスコード化は、適切なソフトウェアを用いてプロセッサ２１を構成することで、実行されうる。他の実施例では、トランスコード化は、サーバ内のアプリケーション特定回路（Application specific circuitry）を用いて実行される。ある実施例では、マイクロプロセッサは、送信用の音声、映像、及び／又はオーバーレイ情報を復号化し、アプリケーション特定回路は、復号化された音声、映像、及び／又はオーバーレイ情報を送信のために符号化する。上述したように、送信された音声、映像、及び／又はオーバーレイ情報は、遠隔で格納され得る。音声、映像、及び／又はオーバーレイ情報が遠隔で格納されたとき、サーバは、情報を受信し、別々の音声、映像、オーバーレイ、及び／又は制御チャネル上に送信するための適切なフォーマットにリアルタイムでその情報をトランスコードする。
【００４０】
ＴＣＰ／ＩＰプロトコルにより通信する本発明の実施例では、ネットワークインタフェースデバイス２６及び／又はプロセッサ２１は、ＴＣＰ／ＩＰプロトコルスタックを実施する。ＴＣＰ／ＩＰプロトコルスタックは、適切なチャネルの各々に関してサーバから、又は、サーバへの情報の送信を処理する。他の実施例では、ネットワークインタフェースデバイスは、他のプロトコルをサポートするように実装される。
【００４１】
余談として、当業者は、図３に表されるサーバが概略的な形式で説明されていることを十分理解するだろう。本発明の実施例によるサーバの実際の実装は、様々な形式がとられる。または、当業者は、いかなるサーバ、コンピュータ又はマルチメディアファイルを格納可能であり且つここに記載した方法でクライアントとネットワーク上で通信可能な他の電子デバイスは、本発明によりデータ配布システムの実施例を実装するために使用可能であることを十分理解するだろう。
【００４２】
本発明の実施例によるクライアントは、図４に説明される。説明された実施例では、クライアント４０は、ネットワーク接続されたコンシューマ電子デバイスである。クライアントは、ネットワーク１４及びテレビ及び／又は映像ディスプレイ／モニタ、及び／又はステレオ及び／又はスピーカのような少なくとも１つの再生デバイスとインタフェースで接続するように設計される。クライアント４０は、マイクロプロセッサ４２を含む。マイクロプロセッサは、クライアントの操作を制御するように構成され、そしてグラフィックアクセラレータ４４に接続される。
【００４３】
グラフィックアクセラレータ４４は、生成するビデオフレームと関係する反復的処理を実行するために使用される。グラフィックアクセラレータは、映像ＲＡＭ４６、Ｉ／Ｏコントローラ４８、及びビデオコンバータ５０とマイクロプロセッサを接続するためのハブとして動作することもできる。ビデオＲＡＭ４６は、ビデオフレームの生成に関係する情報を記憶するために、グラフィックアクセラレータによって利用される。ビデオフレームは、ビデオコンバータ５０に提供され、それは、テレビやビデオディスプレイ／モニタのような再生デバイスによって再生するための適切なビデオフォーマットにデジタル情報を変換する。フォーマットは、アナログフォーマット又はデジタルフォーマットになり得る。Ｉ／Ｏコントローラは、また、グラフィックアクセラレータとインタフェースで接続し、マイクロプロセッサ及びグラフィックアクセラレータが、ネットワークインタフェースデバイス５２、入力インタフェースデバイス５４、メモリ５６、及び音声出力デバイス５８を含むデバイスにバス６０を介してアドレス指定することを可能にする。図４に表されるアーキテクチャは、本発明によるクライアントの実施例であるコンシューマ電子デバイスの典型的なアーキテクチャである。プロセッサが直接的及び／又は間接的にＩ／Ｏデバイスにインタフェース接続するアーキテクチャを有する他のアーキテクチャもまた使用され得る。
【００４４】
ネットワークインタフェースデバイス５２は、ネットワークを介して情報を送信し、及び、受信するように使用され得る。情報がＴＣＰ／ＩＰプロトコルを介して通信される実施例では、ネットワークインタフェースデバイス及び／又はマイクロプロセッサのような他のデバイスがＴＣＰ／ＩＰプロトコルスタックを実施する。他の実施例では、他の通信プロトコルが使用され、それに応じて、ネットワークインタフェースデバイスが実装される。
【００４５】
入力インタフェースデバイス５４は、ユーザがクライアント４０に指令を提供する古都を可能にする。説明された実施例では、入力インタフェースデバイス５４は、ＩＲレシーバを介して赤外線（ＩＲ）遠隔制御を用いてクライアント４０に指令を提供することをユーザに可能にする。他の実施例では、マウス、トラックボール、バーコードスキャナ、タブレット、キーボード、及び／又は、音声コマンドのような他の入力デバイスが、ユーザ入力をクライアント４０に伝送するために使用され、それに応じて、入力インタフェースデバイス５４は構成される。
【００４６】
メモリ５６は、典型的には、一時の又は永続的な格納情報の両方を提供することができるたくさんのメモリデバイスを含む。ある実施例では、メモリは、ＥＥＰＲＯＭ及びＳＲＡＭの組合せとして実装される。他の実施例では、単一のメモリコンポネント又は揮発性及び／又は比揮発性メモリコンポネントがメモリを実装するために使用され得る。
【００４７】
音声出力デバイス５８は、デジタル音声情報をスピーカやサウンドシステムのような再生デバイス上で音声を生成可能な信号に変換する。ある実施例では、音声出力デバイス５８は、アナログフォーマットでステレオ音声を出力する。他の実施例では、音声出力デバイスは、様々なアナログ及び／又はデジタル音声フォーマットで音声情報を出力する。ある実施例では、モーション・ピクチャー・エキスパート・グループ（ＭＰＥＧ）によって特定されるＭＰ３音声フォーマットが使用される。他の実施例では、アドヴァンスド・テレビジョン・システムコミティによって特定されるＡＣ３、ＭＰＥＧによって特定されるＡＡＣフォーマット、レドモンド・ワシントンのマイクロソフト・コーポレーションによって特定されるＷＭＡフォーマットのような他のフォーマットが、使用され得る。
【００４８】
当業者により十分に理解されるように、多くの構成は、本発明の実施例にしたがったクライアントを実装するように使用され得る。本発明の実施例によるクライアントは、グラフィック性能又は音声性能を有することを必要としない。加えて、本発明の多くの実施例によるクライアントは、いかなるユーザ能力をも必要としない。例えば、ユーザ入力は、直接的にサーバに、又は、必須のサーバ又はサーバへユーザ指令を転送する第２のクライアントを介して提供される。あるいは、クライアントは、単にユーザ指令を処理することができないか、転送することができないかもしれない。本発明によるクライアントの実施例は、様々な処理コンポーネント又は単一の処理コンポーネントを含むことができる。確かに、ここに記述された方法でサーバと通信することを可能にするネットワーク接続されたコンシューマ電子又はコンピューティングデバイスは、本発明の多くの実施例にしたがうクライアントを実装するために使用され得る。
【００４９】
本発明によるシステムの多くの実施例では、異なるクライアントが異なる性能を有する。多くの実施例では、クライアントは、その性能を識別する情報を記憶するように構成される。幾つかの実施例では、クライアントは、ワールドワイドウェブコンソーシアムによって特定される拡張マークアップ言語（ＸＭＬ）における情報を含むファイルを有する。ＸＭＬファイルは、デバイス性能を記述する情報を含むことができる。多くの実施例では、ＸＭＬファイルは、クライアントの再生機能を記述する。クライアントがトランスコードを実行する実施例では、サーバは、クライアントにメディアを直接的に提供し、プロセッサ負荷又は既に設定されたユーザ構成に基づいたトランスコードに応答して決定をすることができる。多くの実施例では、サーバは、サーバの性能を記述するファイルも格納する。
【００５０】
上述したように、本発明の実施例によるサーバは、音声、映像、及び／又は、オーバーレイ情報をクライアントに提供できる。典型的には、クライアントは、１つ以上のサーバによる情報の送信を開始する。各送信は、制御セッションとして参照され、クライアントは、サーバの制御ポートへのコネクションを形成して制御セッションを開始することができる。それから、クライアントは、制御セッションの開始を要求し、制御セッションが許可されるなら、サーバは、クライアントにチャネル割り当て情報を送信することで、音声、映像、及び／又はオーバーレデータのためのチャネルを確立する。一旦、音声、映像、及び／又はオーバーレイチャネルが確立されると、サーバは、音声、映像、及び／又は、オーバーレイ情報の送信をクライアントに開始することができる。すでに論述したように、ユーザ指令をサーバに転送するクライアント、及び、クライアントに適切な音声、映像、オーバーレイ、及び／又は制御情報を提供することによって応答するサーバによって、相互作用性は達成される。
【００５１】
多くの実施例では、音声、映像、及び／又はオーバーレイチャネルの確立は、同時には生じず、個々のチャネルは切断又は再接続される（しばしば異なるサーバの要求として）。例えば、ある実施例では、映像チャネルは、ユーザインタフェースに関係付けられる映像情報の表示を可能にするために接続される。一度構成が選択されると、映像チャネルは、切断及び別なサーバへ再接続し、音声チャネルは同じサーバに設けられる。本発明の別な実施例では、付随するサブタイトルを有する構成を介した迅速な送信に関連する。サブタイトルを提供するオーバーレイチャネルは、ユーザからの指令の高速送信に応答して切断され、高速転送アイコンでオーバーレイを提供する別のサーバに再接続する。あるいは、同じサーバが、オーバーレイ及び高速転送アイコンの両方を提供し、オーバーレイチャネルは単に再配置される。制御セッション、映像、音声及び／又はオーバーレイ情報の送信、双方向な構成の実装がより詳細に述べられた。
【００５２】
図５及び６は、セッションの確立及び誘導の間に本発明にしたがうクライアント及びサーバの動作を表すフローチャートである。図５をみると、サーバとのセッションの確立及び誘導の間に本発明にしたがうクライアントの動作を表すフローチャートが説明される。説明されたプロセスでは、ＴＣＰ／ＩＰプロトコルがサーバとの通信するためにクライアントにより使用される。他の実施例では、他の通信プロトコルが使用される。処理８０は、サーバの制御ポートとのコネクションを形成する（８２）クライアントと共に開始する。ある実施例では、シンプルサービスディスカバリプロトコル又は標準ＲＦＣ２３２７で提案されるセッション記述プロトコルのようなプロトコル（それら両方はインターネットエンジニアリングタスクフォースによって特定される）に基づいた手続きが、サーバ及びサーバの制御ポートを識別するために使用される。他の実施例では、他の技術が、クライアントとネットワークを介して接続されたサーバの制御ポートを識別するために使用され得る。
【００５３】
一旦、制御チャネルが確立すると、クライアントは、制御チャネルを介してサーバとの制御セッションを開始（８４）しようと試みる。その試みは、クライアントの利用可能なポート割当に関する情報を含む制御セッションを要求するパケットを送信することによって、なされる。それから、クライアントは、その要求に応答するサーバのために待つ（８６）。ある実施例では、サーバは、セッションが拒否されても、応答する。他の実施例では、その要求は、所定の時間間隔が有効期限切れした後で、拒否されたことが仮定される。セッションが拒否（８６）されたなら、セッションを確立する試みは、失敗である。その試みが成功なら、クライアントは、典型的にはクライアントの内部タイマーに関する情報をサーバに提供すると共に、サーバから周波数を特定する情報を受信する（９０）。他の実施例では、音声、映像、及び／又はオーバーレイチャネルの特徴は、サーバに提供されるクライアント上に配置されるＸＭＬファイルで規定される。データチャネルのパラメータ及びクライアントがその内部時刻の値を報告すると共に周波数の重要性は、より詳細に後述される。
【００５４】
クライアントもまた、サーバからのポート割当を受信する（９２）、ポート割当は、典型的には、各チャネル上の映像、音声、又はオーバーレイのパラメータ（例えば、音声サンプル速度や映像解像度）およびバッファへ映像、音声、又はオーバーレイ情報に関する情報を含む。チャネルの初期化は、チャネル上で送信される情報のための開始タイムスタンプを含む。このタイムスタンプは、クライアントの内部タイマーを設定するために使用される。クライアントのタイマーは、典型的には、特定量のデータがキューイングされ、クライアントがキューイングされたデータを再生することを開始するまで、中断される。
【００５５】
初期化は、チャネル上に到着する情報をどれくらい処理すべきかに関する情報を含む。ある実施例では、クライアントのタイマーがデータに関係するタイムスタンプと同じか、又は、それ以上であるとき、クライアントは入力されるデータを再生することを開始し得る。幾つかの実施例では、クライアントのタイマーがデータに関係するタイムスタンプに一致するとき、入力されるデータを再生するために初期化され得る。これらの実施例では、クライアントのタイマーを中断することは、チャネルからのデータの再生を中断することもできる。多くの実施例は、クライアントで受信された後でできるだけ早く入力されるデータを再生するために初期化することをクライアントに可能にする。多くの実施例では、クライアントは、映像パケットに音声を同期化することを指示する。音声の映像への同期化は、クライアントに、ユーザインタフェースで音響効果に伴う遷移又はアクションを生成することを可能にする。
【００５６】
クライアントでの要求される処理を減少することに加えて、サーバがクライアントのキューを管理する能力を提供することは、サーバがクライアントに送信する音声、映像、及び／又はオーバーレイ情報を予期して、サーバがクライアントのキューを構成することを可能にする。サーバによって送信される音声、映像、及び／又はオーバーレイ情報が例えばメニューの一部であるなら、サーバは、クライアントが普遍的準備開始状態であるためにクライアントのキューを構成することができる。用語「普遍的準備開始状態」は、サーバから受信された情報がほとんど即座に処理され、再生されるためにクライアントがいかなる情報もキューイングしない、又は、とても少ない情報をキューイングしている情報を記述する。あるいは、サーバが特徴表現に関係する音声、映像、及び／又はオーバーレイ情報を送信しようとするとき、サーバは音声、映像、及び／又はオーバーレイ情報が円滑に再生され可能性を増加するために十分な情報をキューイングするようにクライアントを構成できる。いわゆる円滑再生は、同期化された音声及びオーバーレイを有する適切な時間間隔で配置されたフレームの表示に言及する。典型的には、円滑再生は、それが要求されるとき、再生するために必要な情報がクライアントで利用可能になることを要求する。クライアントのキューの長さの増加は、パケットがクライアントによって要求された後で、パケットが到着することをもたらすネットワーク遅延における変化を蓄積する。音声、映像、及び／又はオーバーレイ情報が再生するために利用可能でないなら、ユーザは、画像のフリーズ、音声トラックのとぎれ、付随する映像又は音声と同期化しないオーバーレイを経験する。
【００５７】
多くの実施例では、サーバは、サービスパラメータの規定の品質を達成するために、クライアントによってキューイングされる情報の量を絶えず監視し、変更する。多くの実施例では、サーバは、ネットワークの過密に応答してより低いデータ速度にデータをトランスコードすることで、サービス品質を維持する。幾つかの実施例では、タイムスタンプが、システム待ち時間を監視し、それに応じてクライアントのキューを管理するために、サーバによって使用される。他の実施例では、クライアントから獲得された他の情報又は別のソースが、システムによって提供されたサービスの品質を監視するために使用され得る。
【００５８】
ポート割当の後に、クライアントは、サーバからの音声、映像、及び／又はオーバーレイチャネルに関するデータの受信を開始する（９４）。クライアントは、パケットを処理し、サーバに対する必要なタイムスタンプの報告を実行する。クライアントは、サーバからの制御指令も受信する。制御指令が受信されると、クライアントはその指令を処理することによって応答する（９８）。
【００５９】
クライアントは、ユーザ指令も受信する（１００）。クライアントはユーザ指令を受信するとき、クライアントは、典型的には、サーバへユーザ指令を送信する（１０２）。クライアントは、制御セッションが終了するまで、サーバによって提供されるマルチメディア情報を表示し続ける。
【００６０】
多くの実施例では、クライアントは、ユーザ指令のとても制限されたセットに応答することができるだけである。例えば、クライアントは、ボリュームコントロール及び電源オン／オフ指令に応答できるかもしれない。再生される音声、映像、及び／又はオーバーレイに関連する指令が受信される場合、典型的には、クライアントは、サーバに指令を転送することによって応答する。
【００６１】
ある実施例では、クライアントは、音声、映像、及び／又はオーバーレイ情報が提供される方法を割り込み、又は、変更する方向へ指示するユーザ指令を、再生デバイスに転送する。さらなる実施例では、クライアントは、メニューやユーザインタフェースに関連する全てのユーザ指令をサーバに転送する。追加例では、クライアントは、音声、映像、及び／又はオーバーレイが再生デバイスによって再生されるべき将来の速度、及び／又は、方向に関連する全てのユーザ指令を転送する。そのような指示の例は、中断、早回しを遅らせる、巻き戻しを遅らせる、早回しを早める、巻き戻しを早めるなどを含む。更なる実施例では、再び、クライアントは、再生デバイスによって再生された音声、映像、及び／又はオーバーレイが非線形の形式で進むことを全てのユーザ指令を転送する。そのような指示の例は、特徴表現におけるチャプター間やシーンをスキップし、又は、トランク間又は音声記録の再生トラックをランダムにスキップする指示を含む。
【００６２】
別の実施例では、クライアントは、ユーザ指令が受信したときに再生デバイスによって再生される音声、映像、及び／又はオーバーレイに依存しないユーザ指令のみを処理する。典型的には、多少なりとも指令が、コンテンツ、速度、将来再生される音声、映像、及び／又はオーバーレイの指示に影響を与える場合、その指令は、典型的には、音声、映像、及び／又はオーバーレイに依存すると考慮される。独立指令の例は、電源オン／オフ、ボリュームコントロール、音を消す、明るさ制御、コントラスト制御を含む。
【００６３】
図６を参照すると、クライアントとの制御セッションの確立及び誘導の間に、本発明の実施例によるサーバの動作を説明するフローチャートが示される。図５と同様に、説明されるプロセスは、サーバがクライアントとＴＣＰ／ＩＰプロトコルを用いて通信することを仮定する。他の実施例では、他の通信プロトコルが使用される。処理１２０は、クライアントとのコネクションを確立することによって開始する。上述したように、コネクションは、サーバの制御ポートに要求を送信するクライアントによって確立されうる。一度、コネクションが確立されると、サーバはコネクションを介してクライアントから制御セッションを確立する要求を受信する（１２４）。サーバは、制御セッションを受諾するかどうかを決定する（１２６）。ある実施例では、サーバは、セッションを拒否するクライアントにメッセージを送信することで、セッションを拒否する（１２８）。サーバが制御セッションを拒否する理由の例は、サーバのコンテンツが特定のクライアントには不適切（例えば、クライアントが子供によってサクセス可能であり、サーバがアダルトコンテンツを含む）である場合、サーバが制御セッションを拒否することを含む。別な例として、サーバが過負荷であるときも、セッションを拒否しうる。更なる例として、サーバへのアクセスが料金ベースであり、クライアントが有効な支払いに関係していないときに生じる。
【００６４】
セッションがサーバによって受諾される場合、サーバは、各データチャネルのためのコネクションを確立する（１３０）。ある実施例では、データチャネルは、音声チャネル、映像チャネル、及び／又はオーバーレイチャネルを含み、サーバは、各チャネルにポート割当を指定する。他の例では、データチャネルは、音声及び制御チャネル、及び、映像及び制御チャネル、又は、音声、映像、オーバーレイ、制御チャネル、又は、そのようなチャネルの他の組合せを含むことができる。
【００６５】
様々なチャネル構成がサポートされる実施例では、データチャネルの確立は、データのフォーマットを特定するクライアントに、情報を送信することでデータチャネルの初期化を含めることができる。この情報は、タイムスタンプ情報、キューイングするデータ量に関する情報、及びデータが処理されるべき時間を含む。チャネル上で送信されるデータに関係するタイムスタンプは、式にしたがって決定される。
【００６６】
タイムスタンプデータ＝最初のタイムスタンプ＋絶対値（開示時刻データ−位置データ）／速度
そこで、タイムスタンプデータは、データに関係するタイムスタンプである。
最初のタイムスタンプは、サーバによって選択された最初のタイムスタンプである。
開始時刻データは、記憶されたデータシーケンスの開始に関係する開始時刻を示す所定の時刻である。
位置データは、データシーケンスがその開始から所定の速度で線形的に再生される場合データが再生される時間を示すデータの特定の部分又はデータのコレクションに関係する所定の時刻である。
速度は、サーバが、所定の速度に対して再生されるべきデータを要望する速度を示す値である。
シーケンスがより早く又はより遅く再生される例では、速度値は、フレームの増加又は減少した数のために提供するタイムスタンプを見積もる。
【００６７】
データチャネルの確立の後に、サーバは、クライアントにメディアを送信することを開始する（１３２）。ある実施例では、サーバは、Ａｌｅｘａｎｄｅｒ  ｖａｎ  Ｚｏｅｓｔによる米国特許出願１１／０１６，１８４に記載されたファイルと類似するファイルからメディア情報を抽出する。幾つかの実施例では、サーバは、最初に、ユーザインタフェースを生成するために、音声、映像、及び／又はオーバーレイ情報を抽出する。本発明の実施例によるユーザインタフェースの実施例は、音声インタフェース、純粋なグラフィカルインタフェース、又は音声及びグラフィカルコンポーネントを組み合わせるインタフェースになり得る。サーバが、特徴表現を送信するためにデータチャネルを使用する例では、サーバは、サーバに格納されたファイル内に含まれる多くの映像及び音声トラックから映像及び音声トラックを選択可能である。加えて、サーバは、サブタイトル、又は、インフォーメーション・バーや特徴表現を中断し、早送りし、巻き戻しし、チャプター間スキップするようなアクションを示すアイコンのような別の形式のオーバーレイを提供するために、オーバーレイトラックを選択することができる。他の例では、サーバは、音声、映像、及び／又はオーバーレイトラックのみを提供するかもしれない。そのような実施例では、他のトラックは、他のサーバによって提供され、または、他のデータトラックはないかもしれない。
【００６８】
情報がクライアントから受信される場合（１３４）、サーバは、その情報に応答する（１３６）。その情報は、典型的には、ユーザ指令又はタイムスタンプ報告を含む。多くの転送されたユーザ指令は、ユーザがアクセスを希望する音声、映像、及び／又はオーバーレイ情報に関連する。サーバの応答は、ユーザ指令が受信された時に表示される情報が、ユーザインタフェースの部分であるか又は特徴表現であるかに依存して変化する。本発明によりサーバの実施例による転送されたユーザ指令の処理は、さらに後述される。しかしながら、ユーザ指令受信時に音声、映像、及び／又はオーバーレイに関するタイムスタンプからサーバが情報を獲得することができることは注意に値する。
【００６９】
上述では、サーバの実施例と本発明によるクライアントとの間の情報交換が提供された。上述されるように、本発明の実施例によるサーバは、特定のクライアントへの送信用の音声、映像、及び／又はオーバーレイ情報をトランスコードすることができる。音声、映像、及び／又はオーバーレイ情報をトランスコードするための本発明の実施例による処理が、図６ａに表される。処理１３８は、サーバによって送信されるべき音声、映像、及び／又はオーバーレイ情報のフォーマットを判断することを含む。デバイスの記述も獲得される（１３８ｂ）。上述されるように、デバイスの記述は、クライアントの性能に関する情報をサーバに提供するために、クライアントによって使用されるクライアント上で格納されるＸＭＬファイルである。ある実施例では、情報は、制御チャネルを介してクライアントによってサーバに提供される。サーバがメディアフォーマットお呼びデバイスの性能に関する情報を有するとき、サーバは、トランスコード化が実行されるべきかを決定する（１３８ｃ）。ある実施例では、メディアが別々の音声、映像、オーバーレイチャネルを介して送信されるために適切ではない方法でフォーマットされるとき、トランスコード化が生じる。幾つかの実施例では、クライアントが、音声、映像、及び／又はオーバーレイ情報がフォーマットされるフォーマットで復号化できないとき、トランスコード化が生じる。多くの実施例では、別々の判断が、音声、映像、及び／又はオーバーレイ情報に対してなされる。音声、映像、及び／又はオーバーレイ情報のトランスコード化が要求される決定がなされる場合、サーバは音声、映像、及び／又はオーバーレイ情報をトランスコードし、トランスコード化を要求しない最初にフォーマットされた音声、映像、及び／又はオーバーレイ情報を有する通信用の音声、映像、及び／又はオーバーレイ情報を提供する。トランスコード化が必要とされない決定がされる場合は、最初にフォーマットされた音声、映像、及び／又はオーバーレイ情報が送信のために提供される（１３８ｅ）。
【００７０】
本発明の実施例によるサーバから受信したパケットをクライアントが処理する方法を説明するフローチャートが図７に説明される。その処理１４０は、クライアントによるパケット情報の受信（１４２）で始まる。ＴＣＰ／ＩＰプロトコルによるサーバ及びクライアントが通信する実施例では、ＴＣＰ／ＩＰスタックのクライアントの実装は、パケットのポートアドレスを参照して情報の性質を識別する（１４４）。パケットは、適切な音声、映像、オーバーレイ又は制御バッファにバッファされる（１４６）。音声、映像、オーバーレイ、制御情報は、受信した情報のタイプに適切なキューに配置される。キューイングされた情報は、（上述したように）サーバによって指示された方法で、情報に関係付けられたタイムスタンプによって決定された順序で処理される（１５２）。処理された情報のタイムスタンプは、サーバに報告される（１５４）。他に指示されないなら、クライアントは、同様に着信するパケットを連続的に処理する。
【００７１】
音声、映像、及び／又はオーバーレイ情報が別々のチャネルを介して通信されるとい実情は、クライアントにそれが届いたらすぐに、特定のタイプの情報にアクセスすることを可能にする。全てのデータ種が単一のチャネルで多重化される実施例では、クライアントにより最も必要とされるデータの基準とは対照的に、到着の順序でデータを処理するように課せられる。たぶん、そのようなクライアントは、あるタイプのデータが不足しており、バッファに格納されたデータのタイプのパケットを有するが、最初に到着した他のデータのタイプを処理することが強いられる。しかし、クライアントは、望まれた情報を検索し、処理するように構成される。
【００７２】
多くの実施例では、サーバは、音声、映像、オーバーレイ、及び／又は制御チャネルの各々の上で送信された情報と共にデジタル権利管理（ＤＲＭ）情報を含む。ある実施例では、ＤＲＭ情報の性質についての情報が、サーバからクライアントに送信される。クライアントは、ＤＲＭ保護された情報を再生するために必要な復号化を実行する能力を有することを知らせ、又は、この能力を有さないことを応答する。
【００７３】
先に述べたように、本発明によるクライアントの多くの実施例は、ユーザ指令に直接的に応答しない。変わりに、クライアントは、クライアントにより表示されるべき音声、映像、及び／又はオーバーレイ情報を選択することで、その指令をサーバに転送し、そして、サーバがその指令に応答する。多くの実施例では、クライアントの性能が、受信するパケットの処理をはるかに超えて拡張しないという事実が、クライアントが実装される単純さへの鍵となる。本発明によるサーバ及びクライアントの実施例によるユーザ指令の処理は、より詳細に考慮される。
【００７４】
本発明のシステムの実施例は、しばしば、ユーザ指令に応答するときの待ち時間を減少するように構成される。なぜなら、時間遅れを減少することは、システム１０と相互作用するときのユーザの経験を高めることができる。時間遅れは、ユーザ指令を受信する時間と、再生デバイス上で音声、映像、及び／又はオーバーレイ情報の表示との間の遅延である。本発明の十知れによるサーバの実施例の多くは、時間遅れを減少することを試みる。ある技術は、ユーザ指令に応答して送信される情報を即座に処理するために、クライアントのキューを管理することである。クライアントに情報を単に送信するだけでユーザに応答するサーバがあり、遅延は、新しく送信された情報を再生する前にキューイングされた情報を再生するクライアントのために生じる。サーバは、ユーザ指令に応答してサーバが音声、映像、及び／又はオーバーレイ情報を送信する前に、そのキューをフラッシュするために、クライアントへ指令を送信することでシステム待ち時間を減少することができる。一旦、キューがフラッシュされると、新しく受信した情報は、クライアントによって即座に表示される。
【００７５】
多くの実施例では、ユーザ指令に応答してサーバによって送信された音声、映像、及び／又はオーバーレイ情報は、以前のマルチメディア送信に対して異なるフォーマットを有する。フォーマット変更は、解像度、映像幅及び高さ、音声のサンプリング速度、クライアントがキューイングすべきデータ量、クライアントがデータのタイムスタンプ又はＤＲＭも有効化に基づいてデータを処理すべき方法においてデータのフォーマットを符号化するときの変更を含む。ユーザ指令に応答してフォーマットの変更が要求される例では、サーバは、新しいフォーマットでメディア情報を送信する前に、クライアントと共にメディアチャネルを再初期化することができる。
【００７６】
図８および９は、クライアントによるユーザ指令の受信に応答して、本発明の実施例によるクライアント及びサーバにより実行される動作を表すフローチャートである。表されるように、説明される実施例は、異なるタイプのデータの送信に関係するフォーマットの変更を蓄積する性能及びシステム待ち時間を減らす操作を実行する性能を有する。
【００７７】
最初に図８を参照すると、本発明の実施例によるサーバから受信した情報およびユーザ指令に応答したクライアントの処理のフローチャートが説明される。続ける前に、我々は、そのプロセスが追加のユーザ指令の発生によって中断されることに注意が必要である。処理１６０は、ユーザコマンドの受信で始まる（１６２）。クライアントは、コマンドがクライアントによって処理され得るか（典型的には、これは、ユーザ指令に続いて、表示さえるべき音声、映像、及び／又はオーバーレイ情報のコンテンツに非依存の指令である）、又は、それはサーバに転送すべきか否かを判断するために検査する。ユーザ指令はクライアントによって処理され、クライアントはユーザ指令に応答し、音声、映像、及び／又はオーバーレイ情報及びサーバコマンドのための含むループに再度入り、一方で、さらなるユーザ指令による中断を待つ。
【００７８】
ユーザ指令がクライアントによって処理できない場合、ユーザ指令は、制御チャネルを介してサーバに送信される（１６８）。それから、クライアントは、サーバからの制御メッセージのためのループチェックに入り（１７０）、制御メッセージが無い場合、再生のための音声、映像、及び／又はオーバーレイ情報を処理し（１７２）、サーバによって特定される間隔でサーバへの制御チャネルを介してタイムスタンプ報告を送信する（１７３）。さらに後述するように、タイムスタンプ報告は、ユーザ指令の提供と同時に、再生される音声、映像、及び／又はオーバーレイ情報を決定するためにサーバによって使用される。
【００７９】
制御情報がサーバから受信され、クライアントが制御情報の種類を決定する。制御情報は、そのキューに再同期するためにクライアントにコマンドを送信する。再同期（１７６）は、キューのフラッシュ及び／又は新しいタイマー値をクライアントに割り当てることを含む。キューのフラッシュは、クライアントが、サーバにより送信される新しいデータを即座に再生することを可能にする。多くの例では、クライアントは、そのキューをフラッシュせずに再同期される。キューをフラッシュさせない再同期は、システムが構成を再生終了することを要望するとき、メニューのようなユーザインタフェースに返すようなキューの中の情報の表示が要求される例で役に立つ。そのような例は、サーバが、特徴表現を切り取らずにユーザインタフェースに自動的に戻ることをクライアントに意図するときである。多くの例で、サーバは同期要求を送信するが、クライアントによってキューイングされたメディア（又は、示されたタイムスタンプより少ないタイムスタンプを有するメディア）が再生終了するという肯定応答が受信されるまでクライアントに付加的情報を提供しない。幾つかの実施例では、キューをフラッシュせずに再同期することが、音響効果が再生されるまでクライアントによってユーザインタフェースが更新されないことを確実にするために使用され得る。
【００８０】
再同期指令の受信に続いて、クライアントは、制御チャネルを介してサーバに再同期の肯定応答を送信することができる。クライアントは、それから、クライアントがサーバから受信する音声、映像、及び／又はオーバーレイ情報を処理し続け、一方で、さらなる制御指令（１７０及び１７２）のチェックをし、制御チャネルを介してサーバにタイムスタンプ報告を送信する（１７３）
【００８１】
クライアントは、その制御がデータチャネルの再同期化を要求することを判断する（１７８）。一旦クライアントがサーバによって提供される新しいチャネルパラメータに適合すると、クライアントは、再生デバイスによって表示するための音声、映像、及び／又はオーバーレイ情報を処理し且つ出力し続け、一方で、更なる制御指令（１７０及び１７２）をチェックし、制御チャネルを介してサーバにタイムスタンプ報告を送信する（１７３）。
【００８２】
クライアントは、制御指令が制御セッションの官僚を要求することを判断する（１８４）。どのケースでも、クライアントは、確立された音声、映像、及び／又はオーバーレイ情報の各々を切断することによって制御セッションを完了する（１８６）。クライアントは、そのシステムの機能性を実行するのに必要な制御指令の他のタイプも処理することができる。制御指令の処理に続いて、典型的には、クライアントは再生デバイスによって表示するための音声、映像、及び／又はオーバーレイ情報を処理し続け、一方で、さらに制御指令をチェックし（１７０及び１７２）、制御チャネルを介してサーバにタイムスタンプ報告を送信する（１７３）。
【００８３】
図９を参照すると、クライアントから送信されたユーザ指令を受信した本発明の実施例によるサーバの動作のフローチャートが説明される。プロセス２００は、制御チャネル上でクライアントにより送信されたユーザ指令の受信を開始する。サーバは、ユーザ指令の性質を判断し（２０３）、それに応じて応答する。ユーザ指令への適切な応答は、典型的には、ユーザ指令を受信したときにデバイスを再生することによって表示される音声、映像、及び／又はオーバーレイ情報のコンテンツに依存する。多くの例では、クライアントのタイムスタンプ報告は、サーバが、ユーザ指令受信時に再生される音声、映像、及び／又はオーバーレイ情報を正確に判断することを可能にする。ユーザが指令を発行したときに再生される音声、映像、及び／又はオーバーレイ情報の状況で不適切な指令を提供するかもしれない。例えば、メニューが表示されるとき巻き戻す指令は、特徴表現を再生する間に、メニューオプションを選択する指令として不適切である。
【００８４】
特徴表現の間に、典型的には、有効なユーザ指令が、特徴が表される速度及び／又は向きの操作、メニューの遷移及び／又はオーバーレイの追加を要求する。メニューが再生されると、典型的には、サーバは特定のメニューの表示の間に実行される有効なアクションに関する情報を有する。この情報は、状態機械の形式をとることができる。サーバが、ユーザが命令を発行するときのメニューの状態記録を有する場合、有効な指令は、典型的には、別なメニュー状態への遷移又は特徴表現の表示を含む。
【００８５】
ユーザ指令が、クライアントによる音声、映像、及び／又はオーバーレイ情報の迅速な表示を要求するとき、適切と判断されるなら（２０４）、サーバはキューイングされたメディア情報をフラッシュするためにクライアントへ指示する制御情報を送信する（２０６）。一旦、再同期メッセージが送信され、肯定応答されると、サーバは要求された音声、映像、及び／又はオーバーレイ情報を送信する。上述したように、キューのフラッシュは、ユーザ指令に応答するシステムの待ち時間を減少させ、指令が再生される前にクライアントによってキューイングされる情報として特徴表現の中に場違いのジャンプを避けることができる。サーバとクライアントとの他のタイプの再同期も実行されうる。
【００８６】
特徴表現が再生されると、ユーザ指令が受信されるときに再生される音声、映像、及び／又はオーバーレイ情報を判断するために、クライアントによって提供されるタイムスタンプ報告を使用することができる。それから、キューをフラッシュすること、及び、ユーザ指令が発行されるポイントに対応する再生された特徴表現におけるポイントから速度及び向きに関するユーザの指令にしたがう特徴を表示し、クライアントにより処理され且つ再生される音声、映像、及び／又はオーバーレイ情報を送信することによって、特徴が表示される速度や向きを含むユーザ指令に応答することができる。このキューをフラッシュすることによって、ユーザが指令を発行する前に、しばしば、クライアントによってキューイングされる情報を無理に再送する。しかし、キューイングされた情報は、そのシステムのユーザの経験を損ない、ユーザの指令に従わない方法でクライアントにより再生される。
【００８７】
サーバは、ユーザ指令が異なるタイプのマルチメディア情報を先に送信されたマルチメディア情報に遷移することを要求すると判断するとき（２０８）、サーバは、音声、映像、及び／又はオーバーレイチャネルを再初期化するためにクライアントに向けられるクライアントへの制御情報を送信することができる（２１０）。それから、サーバは、新しいチャネルパラメータにしたがって音声、映像、及び／又はオーバーレイ情報を送信することを始める。
【００８８】
上記の記述は、ユーザ指令に応答して又は他の問題のための他の環境の下でサーバにより送信されうる制御情報を網羅することを意味しない。サーバが、クライアントに別な種類のコマンドが送信されるべきであると判断した場合、サーバはそのようなコマンドを送信することができる（２２０）。実に、本発明の実施による音声、映像、及び／又はオーバーレイ情報を提供するためにトランスコードを用いるサーバは、クライアントによって提供される指令に適切なトランスコードを映像に提供することを確実にする手法でユーザコマンドに応答するように構成される。
【００８９】
上記の記載は、一般に、音声、映像、及び／又はオーバーレイ情報が１つのサーバで提供されることに焦点を当てている。本発明の多くの実施例は、クライアントに情報を提供するために複数のサーバを使用する。ある実施例では、複数のサーバは異なるタイプの情報を提供する各々のサーバと共にクライアントに情報を同時に提供する。別の実施例では、第１のサーバがクライアントに音声、映像、及び／又はオーバーレイ情報を提供して、それから遷移がなされ、第２のサーバが、音声、映像、及び／又はオーバーレイ情報をクライアントに提供する。
【００９０】
複数のサーバがクライアントに対して同時にデータを提供することができる本発明の実施例によるシステムが、図１０において説明される。システム１０’は、ネットワーク１４’を介してクライアント２３０に接続された複数のサーバ１２ａ、１２ｂを含む。クライアントは、クライアントにより受信される音声、映像、及び／又はオーバーレイ情報の常時を可能にする再生デバイス２３２に接続される。図１０は、概略的にサーバ及びクライアント間に存在するチャネルを説明する。第１のサーバ１２ａ’は、映像１７ｂ’及び音声チャネル１７ａ’を介してクライアントに接続される。クライアント及び第１のサーバは制御チャネル１９’を介して互いに通信することも可能である。第２のサーバ１２ｂは、オーバーレイチャネル１７ｃ’を介してクライアント、及び双方向の制御チャネル１９ａを介して第１のサーバに接続される。図１０に表される構成は、特徴表現が第１のサーバによって提供され、及び特定の言語のサブタイトルオーバーレイが第２のサーバで提供されるとき存在する構成と似ている。
【００９１】
情報が、クライアントから複数のサーバに送信されるとき、クライアントに送信された情報を調整することは、問題になりうる。多くの実施例では、単一のサーバがコントロールハブとして活動するように選択される。コントロールハブサーバは、クライアントと通信する全てのサーバに適切な制御情報を送信する責任を有し、他のサーバからクライアントに制御情報を転送する責任を有する。典型的には、コントロールハブは、クライアントが最初に制御セッションを確立しようとするサーバになるために選択される。多くの例では、ユーザは、第１のサーバに存在しない情報を要求し、第１のサーバは、要求された情報を提供可能な他のサーバとのコネクションを確立しようとする。幾つかの例では、これは単に単一のチャネルの情報になり得る。他の例では、全ての要求情報は、別のサーバ上に存在するかもしれない。例えば、第１のサーバは、ユーザインタフェースのための情報を格納し、ユーザインタフェースは別のサーバ上に格納される特徴表現にユーザがアクセスできるようにする。第１のサーバがある期間全ての要求情報を提供し、それから第２のサーバがある期間全ての要求情報を提供する例では、第１のサーバは、制御ハブ又は第２のサーバへの手動制御として機能することができる。
【００９２】
本発明によるシステムの実施例は、１つ以上のクライアントと通信する１つ以上のサーバも含む。これらの実施例では、ただ１つのサーバがコントロールハブとして動作し、特定の制御セッション上にある各サーバ及びクライアントとのコネクションの制御を維持することができる。あるいは、制御メッセージが制御セッションに含まれるサーバ及びクライアントの全てにブロードキャストされ得る。ある実施例では、サーバ又はクライアントが情報を提供し、又は、サーバの１つと制御セッションを第１に開始したクライアントからの指令に責任を有する場合、サーバ又はクライアントは制御セッションの一部となるだろう。あるいは、制御メッセージは、制御セッションに含まれるサーバ及びクライアントの全てにブロードキャストされる。他の実施例では、コントロールハブとして動作するサーバは、制御セッションの一部を形成するクライアント及びサーバを決定する。
【００９３】
上述したように、本発明の実施例であるシステムにおける様々なクライアントは、異なる性能を有することができる。多くの例では、クライアントの性能は、クライアント内で基礎となるハードウェア及びハードウェアを構成するために使用されるソフトウェアによって判断される。ハードウェアが通常固定される一方で、クライアントの操作は、ソフトウェアを変更することによって修正され得る。本発明の多くの例では、サーバ及びクライアントは、サーバがクライアントに更新されたソフトウェアを低要するように構成される。
【００９４】
幾つかの例では、単なる更新がサーバによるクライアントに提供される情報、及び、そのソフトウェア又はファームウェアを修正するためにクライアントにより使用される情報に単一の更新が実行される。単一の更新は、典型的には、クライアントへの修正がサーバ及びクライアントが通信する方法に影響を与えない環境下で実行される。
【００９５】
ソフトウェアの更新がサーバ及びクライアントが通信するためのプロトコルの修正を含む例では、本発明の幾つかの実施例は、高度な更新を実行する。高度な更新は、更新を実行する前にネットワークの状態を判断することを含むソフトウェア又はファームウェアの更新である。全ての利用可能な更新の互換性とともに、システムにおける全サーバ及びクライアントの現状の性能が知られている場合、どのデバイスが更新し、各デバイスのためのどの更新を使用するかについての決定をすることができる。
【００９６】
上述したように、本発明の実施例によるデバイスの性能は、ＸＭＬファイルとして表現されている。デバイスが更新を受信する前に、デバイスはそのＸＭＬに更新を提供するデバイスに提供する。ＸＭＬは、性能リストを生成するために分解される。性能リストは、デバイスに適用する更新を決定するために使用され得る。高度な更新が実行されるとき、ネットワークに接続されたサーバ及びクライアントの全ては集結し、各デバイスへの更新パスを決定するために使用されるクライアント及びサーバのリストは、システムの安定性を確実にするだろう。ネットワークの正しい形が集結することを確実にするには、高度の更新は、ユーザ参加者に、全デバイスがネットワークに接続され有効になったことを確実にすることを要求する。
【００９７】
多くの実施例では、各デバイスの個々の更新は、バージョン番号を用いて区別される。多くの例では、異なる更新が異なる通信プロトコルと互換性がある。ネットワークに接続された他のデバイスの全てが（更新された）通信プロトコルをサポートしないなら、デバイスは、更新された通信プロトコルをサポートするために更新されるべきではない。居赤なるデバイスも更新された通信プロトコルをサポートしない場合、更新された通信プロトコルへの移行を含む更新は、ネットワーク上の他のデバイスに適用されるべきではない。
【００９８】
高度な更新を実行する本発明の実施例による処理の実施例を、図１１を用いて説明する。処理２４０は、利用可能な更新リストを獲得し（２４２）、各デバイスの性能を決定するためにネットワークに接続されたデバイスに問合せる（２４４）。上述したように、問合せは、全ての必要なデバイスが接続され、更新を開始するように適切に構成されることを確実にするように、ユーザとの対話を有する。性能リストが獲得されたなら、利用可能な更新の認識は、適切な更新がインストールされるなら、ネットワークに接続された各デバイスがサポート可能なプロトコルのバージョンが使用される。一旦、プロトコルバージョンが決定されると、各デバイスの適切な更新バージョンは決定され、必要な更新が各デバイスに提供される（２４８）。一旦、デバイスが更新を受信すると、その更新は適用される（２５０）。多くの例では、全デバイスが全ての意図された更新を受信したという確認を受信するまで、更新は適用されない。
【００９９】
ある実施例では、クライアントへメディアを送信するとき、クライアントから情報を獲得する方法は、クライアントの性能を判断するために使用される方法として更新するものと同一である。多くの例では、本発明の実施例によるサーバは、更新を示す発見の間に、クライアントへ情報を送信することによる押下更新が、押下される。ある実施例では、情報は、サーバにより送信されるＳＳＤＰパケットの中のフラグセットを用いて伝送される。ＳＳＤＰパケットを受信するクライアントは、サーバへ問い合わせを行って、ＵＲＬを獲得する。クライアントはそれからＵＲＬを用いてＨＴＴＰポートに接続し、適応可能な更新をダウンロードする。多くの例では、更新サーバは、別個のＵＰＮＰデバイスＵＵＩＤを用いることでそれ自身を識別することができる。
【０１００】
上述の記述は、本発明の多くの特定の実施例を含む一方で、これらは、発明の範囲に関する限定として解釈されるべきものでなく、それらの例としてみなされるべきである。したがって、発明の範囲は、説明された実施例によって判断されず、添付のクレーム及びそれらの均等なものによって判断されるべきである。
【図面の簡単な説明】
【０１０１】
【図１】本発明に係る分散システムの実施例の概略図である。
【図２】サーバとクライアントとの間の通信チャネルを示す本発明の実施例に係るクライアントに接続されたサーバの概略図である。
【図３】本発明の実施例に係るサーバの概略図である。
【図４】本発明の実施例に係るクライアントであるネットワーク接続されたコンシューマ電子デバイスの概略回路図である。
【図５】セッションの開始及び誘導中の本発明の実施例に係るクライアントの動作を示すフローチャートである。
【図６】セッションの開始及び誘導中の本発明の実施例に係るサーバの動作を示すフローチャートである。
【図６ａ】多数の通信チャネルを介した送信用のトランスコーディングデータのための本発明の実施例に係る処理を示すフローチャートである。
【図７】本発明の実施例に係るクライアントがメディア情報の受信パケットを処理する方法を示すフローチャートである。
【図８】サーバからの制御命令及びユーザからのユーザ命令の受信に応答して本発明の実施例に係るサーバの処理を示すフローチャートである。
【図９】クライアントによるユーザ命令の転送に応答して本発明の実施例に係るサーバの処理を示すフローチャートである。
【図１０】本発明に係る分散システムの実施例の概略図である。
【図１１】ネットワークに接続されたサーバ及びクライアントを更新するための本発明の実施例に係る処理を示すフローチャートである。
【図１】
2008527850.tif 000003
【図２】
2008527850.tif 000004
【図３】
2008527850.tif 000005
【図４】
2008527850.tif 000006
【図５】
2008527850.tif 000007
【図６】
2008527850.tif 000008
【図６ａ】
2008527850.tif 000009
【図７】
2008527850.tif 000010
【図８】
2008527850.tif 000011
【図９】
2008527850.tif 000012
【図１０】
2008527850.tif 000013
【図１１】
2008527850.tif 000014
【手続補正書】
【提出日】平成19年9月26日(2007.9.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のメディア転送チャネルを介してクライアントに接続され、且つ、該複数のメディア転送チャネル上で異なるタイプのメディアデータを送信するサーバであって、
前記複数のメディア転送チャネルの中の第１のチャネル上で送信するための第１タイプのメディア、及び、前記複数のメディア転送チャネルの中の第２のチャネル上で送信するための第２タイプのメディアを識別するメディアサーバモジュールと、
前記第１タイプのメディア及び前記クライアントによる第１タイプのメディアデータの再生を制御する第１のタイミング情報を含む第１のメディア転送パケット、前記第２タイプのメディア及び前記クライアントによる第２タイプのメディアデータの再生を制御する第２のタイミング情報を含む第２のメディア転送パケットを生成し、且つ、第１のデータ速度による前記複数のメディア転送チャネルの中の第１のチャネルを介して該第１のメディア転送パケット及び第２のデータ速度による前記複数のメディア転送チャネルの中の第２のチャネルを介して該第２のメディア転送パケットを転送するネットワーク転送モジュールとを備えることを特徴とするサーバ。
【請求項２】
前記メディアサーバモジュールは、制御チャネル上で前記クライアントから制御情報を受信し、前記制御情報を処理し、それに応じて特定のメディアを識別し、及び、
前記ネットワーク転送モジュールは、前記複数のメディア転送チャネルの少なくとも１つの上で前記特定のメディアを送信する請求項１に記載のサーバ。
【請求項３】
前記複数のメディア転送チャネルの中の第１のチャネルは、映像チャネルであり、前記第１タイプのメディアデータは、映像データである請求項１に記載のサーバ。
【請求項４】
前記映像データは、前記クライアントにユーザとの対話を指示するユーザインタフェース映像のためのものである請求項３に記載のサーバ。
【請求項５】
前記第１のタイミング情報は、前記第１タイプのメディアデータが前記第２タイプのメディアデータから非同期で前記クライアントによって即座に再生するストリーミングデータであることを示す請求項３に記載のサーバ。
【請求項６】
前記第１のタイミング情報は、前記第１タイプのメディアデータが、示されたタイムスタンプに従って前記クライアントにより再生するための同期ストリーミングデータであることを示し、且つ、継続時間値を含み、
前記第２タイプのメディアデータの再生は、メディアタイマが、その関係する継続時間値に最後に受信したタイムスタンプを加えた値を超えるという判断に応答して中止される請求項３に記載のサーバ。
【請求項７】
前記複数のメディア転送チャネルの中の第２のチャネルは、音声チャネルであり、前記第２タイプのメディアデータは、音声データである請求項３に記載のサーバ。
【請求項８】
前記第２のタイミング情報は、前記第２タイプのメディアデータが前記第１タイプのメディアデータから非同期で前記クライアントによって即座に再生する非同期ストリーミングデータであることを示す請求項７に記載のサーバ。
【請求項９】
前記第２のタイミング情報は、前記第２タイプのメディアデータが示されたタイムスタンプに従って前記クライアントにより再生するための同期ストリーミングデータであることを示し、そして、前記第１のタイミング情報は継続時間値を含み、
前記第１タイプのメディアデータの再生は、メディアタイマが、それに関係する継続時間値に最後に受信したタイムスタンプを加えた値を超えるという判断に応答して中止される請求項７に記載のサーバ。
【請求項１０】
前記複数のメディア転送チャネルの中の第２のチャネルは、オーバーレイチャネルであり、
前記第２タイプのメディアデータがオーバーレイデータであり、及び、
前記第２のタイミング情報は、前記第２タイプのメディアデータが、前記第１タイプのメディアデータから非同期で前記クライアントにより即座に再生するための非同期ストリーミングデータであることを示す請求項３に記載のサーバ。
【請求項１１】
前記複数のメディア転送チャネルの中の第２のチャネルは、オーバーレイチャネルであり、
前記第２タイプのメディアデータがサブタイトルデータであり、及び、
前記第２のタイミング情報は、前記第２タイプのメディアデータが、示されたタイムスタンプに従って前記第１タイプのメディアデータと同期して前記クライアントよる再生のための同期タイムスタンプデータであることを示す請求項３に記載のサーバ。
【請求項１２】
前記メディアサーバモジュールは、前記複数のメディア転送チャネルの中の第３のチャネル上で送信するための第３タイプのメディアデータを識別し、
前記ネットワーク転送モジュールは、前記第３タイプのメディアデータ、及び、前記クライアントによる前記第３タイプのメディアデータの再生を制御するための第３タイミング情報を含む第３のメディア転送パケットを生成し、且つ、第３の速度にしたがって前記複数のメディア転送チャネルの中の第３のチャネルを介して前記第３のメディア転送パケットを送信する請求項１に記載のサーバ。
【請求項１３】
前記メディア転送チャネルの前記第１、第２及び第３のチャネルは、各々が映像、音声、及びオーバーレイチャネルであり、且つ、
前記第１、第２及び第３のメディアデータは、各々が映像、音声、及びオーバーレイデータである請求項１２に記載のサーバ。
【請求項１４】
前記第１及び第２のタイミング情報は、前記映像及び音声データが、示されるタイムスタンプに従って前記クライアントにより再生するための同期ストリーミングデータであることを示し、かつ、第１及び第２の継続時間値を含み、
前記映像又は音声データの再生は、メディアタイマが、それの関係する継続時間値に対応するメディアのための最後に受信したタイムスタンプを加えた値を超えるという判断に応答して中止され、及び、
前記第３のタイミング情報は、前記オーバーレイデータが示されるタイムスタンプに従って前記映像及び音声に同期して前記クライアントにより再生するための同期したタイムスタンプデータである請求項１３に記載のサーバ。
【請求項１５】
前記第１、第２及び第３のタイミング情報は、前記第１、第２及び第３のタイミング情報が他のタイプのメディアデータから非同期で前記クライアントに即座に再生するための非同期ストリーミングデータである請求項１３に記載のサーバ。
【請求項１６】
前記複数のメディア転送チャネルの中の前記第１のチャネルは、音声チャネルであり、
前記第１タイプのメディアデータは、音声データであり、
前記複数のメディア転送チャネルの中の前記第２のタイミングは、オーバーレイチャネルあり、
前記第２のメディアデータは、オーバーレイデータである請求項１に記載のサーバ。
【請求項１７】
前記第１及び第２のタイミング情報は、前記第１及び第２タイプのメディアデータが互いに非同期で前記クライアントにより即座に再生するための非同期ストリーミングデータである請求項１６に記載のサーバ。
【請求項１８】
複数のメディア転送チャネル上でクライアントに結合され、且つ、前記複数のメディア転送チャネル上で異なるタイプのメディアデータを送信するサーバであって、
複数のメディアファイルを格納するデータストアと、
前記ストアデータに結合され、且つ、前記データストアから特定のメディアファイルを識別及び検索するメディアサーバモジュールと、
前記特定のメディアファイルを解析し、且つ、前記メディアファイルに含まれる複数の異なるタイプのメディアデータを分割するデマルチプレクサモジュールと、
前記複数のメディア転送チャネルの中の別々のチャネル上で各々が別々のタイプのメディアデータを送信するネットワーク転送モジュールとを有することを特徴とするサーバ。
【請求項１９】
前記メディアサーバモジュールは、制御チャネル上で再生モードの変更を受信し、前記再生モードの変更を処理し、及び、前記サーバのメディア位置に再同期するための再同期パケットを送信する請求項１８に記載のサーバ。
【請求項２０】
前記メディアファイルは、映画ファイルであり、前記デマルチプレクサモジュールは、前記映画ファイルに含まれる映像及び音声データを分割する請求項１８に記載のサーバ。
【請求項２１】
前記ネットワーク転送モジュールは、専用の映像チャネル上で前記映像データ、及び、専用の音声チャネルで前記音声データを送信する請求項２０に記載のサーバ。
【請求項２２】
前記ネットワーク転送モジュールは、前記分割された映像データ及び映像タイミング情報を含む映像送信パケット、及び、前記分割された音声データ及び音声タイミング情報を含む音声送信パケットを生成し、
前記映像及び音声タイミング情報は、前記クライアントによる前記分割された映像及び音声データの再生を制御する請求項２１に記載のサーバ。
【請求項２３】
前記映像及び音声タイミング情報は、前記分割された映像及び音声データが、示されたタイムスタンプに従って前記クライアントにより再生するための同期ストリーミングデータであり、
前記映像又は音声データの再生は、メディアタイマが、それの関係する継続時間値に対応するメディアのための最後に受信したタイムスタンプを加えた値を超えるという判断に応答して中止される請求項２２に記載のサーバ。
【請求項２４】
前記デマルチプレクサモジュールは、前記映画ファイルに含まれるサブタイトルを分割する請求項２３に記載のサーバ。
【請求項２５】
前記ネットワーク転送モジュールは、専用サブタイトルチャネル上で前記サブタイトルを送信する請求項２４に記載のサーバ。
【請求項２６】
前記映像転送パケットは、前記分割サブタイトル及びサブタイトルタイミング情報を含み、
前記サブタイトルタイミング情報は、前記クライアントによる前記サブタイトルデータの再生を制御し、かつ、前記サブタイトルデータが、示されるタイムスタンプに従って前記映像及び音声データに同期して前記クライアントにより再生するためのタイムスタンプデータに同期することを示す請求項２５に記載のサーバ。
【請求項２７】
複数のメディア転送チャネル上でクライアントに結合され、且つ、前記複数のメディア転送チャネル上で異なるタイプのメディアデータを送信するサーバであって、
複数のメディアファイルを格納するデータストアと、
前記ストアデータに結合され、特定のメディアファイルを再生する要求を受信し、且つ、前記サーバによりサポートされないファイルタイプとして前記特定のメディアファイルを識別するメディアサーバモジュールと、
前記特定のメディアファイルに含まれるデータの特定の範囲を前記クライアントから受信し、前記要求されたデータ範囲を含むメディア転送パケットを生成し、且つ、サポートされないファイルタイプを有するメディアファイルを転送するための専用チャネルである前記複数のメディア転送チャネルの１つのチャネル上で該メディア転送パケットを送信するネットワーク転送モジュールとを有することを特徴とするサーバ。
【請求項２８】
前記複数のメディア転送チャネルは、専用の映像、音声及びオーバーレイチャネルを含み、
前記ネットワーク転送モジュールは、前記特定のメディアファイルの転送の間に前記専用の映像、音声及びオーバーレイチャネルの使用をブロックする請求項２７に記載のサーバ。
【請求項２９】
ネットワークを介してクライアントに接続されたサーバと、
第１のフォーマットに従ってフォーマットされた映像、音声及び／又はオーバーレイ情報を格納する少なくとも１つのストレージデバイスと、を有し、
前記クライアントは、前記クライアントが復号化可能な映像、音声及び／又はオーバーレイフォーマットを示す情報を格納し、かつ、
前記サーバは、別々の映像、音声、オーバーレイ、及び制御チャネルを介して映像、音声、オーバーレイ、及び制御情報を送信するように構成されることを特徴とするデータ分配システム。
【請求項３０】
前記サーバは、前記クライアントが復号化可能な映像、音声及び／又はオーバーレイフォーマットを示す情報を獲得するために前記クライアントに問合せを行うように構成される請求項２９に記載のデータ分配システム。
【請求項３１】
前記サーバは、前記格納された映像、音声及びオーバーレイ情報を第２のフォーマットにトランスコードするように構成され、且つ、
前記映像、音声及び／又はオーバーレイフォーマットを示す情報は、前記クライアントが前記第２のフォーマットに符号化された映像、音声及びオーバーレイ情報を復号化できることを示す請求項３０に記載のデータ分配システム。
【請求項３２】
前記サーバは、利用可能な更新リストを獲得するように構成され、且つ、前記クライアントが復号化可能な前記映像、音声及び／又はオーバーレイフォーマットを示す情報に基づいて前記クライアントに適用可能な更新を判断するように構成される請求項３０に記載のデータ分配システム。
【請求項３３】
第３のデバイスの性能に関する情報を格納するストレージデバイスを含む当該第３のデバイスをさらに有し、
前記サーバは、前記第３のデバイスの性能に関する前記格納情報を獲得するために前記第３のデバイスに問合せを行うように構成される請求項３２記載のデータ分配システム。
【請求項３４】
前記サーバは、前記第３のデバイスの性能に関して前記第３のデバイスから獲得した情報を参照して、前記クライアントに適用可能な更新を判断するように構成される請求項３３に記載のデータ分配システム。
【請求項３５】
前記サーバは、前記サーバの性能に関する情報を格納するストレージデバイスを有する請求項３２に記載のデータ分配システム。
【請求項３６】
前記サーバは、前記サーバの性能に関する情報を参照して前記クライアントに適用可能な更新を判断するように構成される請求項３５に記載のデータ分配システム。
【請求項３７】
プロセッサ、
前記プロセッサと通信し、且つ、別々のチャネル上で映像、音声、オーバーレイ及び制御情報のパケットを受信するように構成されるネットワークインタフェース、
前記プロセッサにより復号化可能な映像、音声及びオーバーレイ情報に関する情報を格納するストレージデバイスを有することを特徴とするクライアント。
【請求項３８】
前記プロセッサは、前記ネットワークインタフェースを介して前記プロセッサにより復号化可能な映像、音声及びオーバーレイ情報フォーマットに関する格納された情報を送信することで、前記ネットワークインタフェースを介して受信された問合せに応答するように構成される請求項３７に記載のクライアント。
【請求項３９】
前記格納された情報は、ＸＭＬファイルとして格納される請求項３７に記載のクライアント。
【請求項４０】
プロセッサ、
前記プロセッサと通信するネットワークインタフェースデバイスを有し、
前記プロセッサは、第１のフォーマットで符号化された映像、音声及びオーバーレイ情報を受信し、且つ、前記映像、音声及びオーバーレイ情報の少なくとも１つを第２のフォーマットにトランスコードするように構成され、
前記プロセッサ及びネットワークインタフェースデバイスは、映像、音声、オーバーレイ及び制御情報を送信するように構成されることを特徴とするサーバ。
【請求項４１】
前記プロセッサ及びネットワークインタフェースデバイスは、情報を要求する問合せを送信するように構成される請求項４０に記載のサーバ。
【請求項４２】
前記プロセッサ及びネットワークインタフェースデバイスは、外部デバイスの性能を示す情報を受信するように構成される請求項４１に記載のサーバ。
【請求項４３】
前記プロセッサは、性能リストを獲得するために前記情報を解析するように構成される請求項４２に記載のサーバ。
【請求項４４】
プロセッサ、
前記プロセッサと通信するネットワークインタフェースデバイス、
前記プロセッサ及びネットワークインタフェースデバイスは、更新可能リストを獲得ように構成され、且つ、映像、音声、オーバーレイ及び制御情報を送信するように構成され、
前記プロセッサは、外部デバイスの性能に関して外部デバイスに問合せるように構成され、且つ、前記更新可能リスト及び前記外部デバイスの性能に基づいて外部デバイスに提供すべき更新を判断するように構成されることを特徴とするサーバ。
【請求項４５】
前記サーバの性能に関する情報を格納するストレージデバイスを有し、
前記プロセッサは、前記サーバの性能に関する前記格納情報に基づいて外部デバイスに提供すべき更新判断するように構成される請求項４４に記載のサーバ。
【請求項４６】
前記外部デバイスの性能は、各デバイスによりサポートされる前記通信プロトコルを含み、
少なくとも１つの通信プロトコルは、各利用可能な更新によってサポートされ、
前記プロセッサは、各更新されたデバイスが同じ通信プロトコルをサポートすることを確実にするために、外部デバイスに適用するための更新を判断するように構成される請求項４４に記載のサーバ。
【請求項４７】
データネットワーク上でデータを通信する方法であって、
映像、音声及びオーバーレイ情報を受信し、
前記映像、音声及びオーバーレイ情報の少なくとも１つをトランスコードし、
前記映像、音声、オーバーレイ及び制御情報の１つ以上に関係する映像、音声、オーバーレイ及び制御情報、及びタイムスタンプを送信し、
前記映像、音声、オーバーレイ及び制御情報の１つ以上に関係する映像、音声、オーバーレイ及び制御情報、及びタイムスタンプを受信し、
別々の映像、音声及びオーバーレイキューに前記受信した情報をキューイングし、
前記情報に関係する前記タイムスタンプに基づいて前記キューイングした情報を処理し、
前記処理した情報のタイムスタンプの少なくとも１つを示す報告を送信し、
前記報告を受信し、
前記受信した報告に含まれる前記少なくとも１つのタイムスタンプに関する情報を記録することを特徴とする通信方法。
【請求項４８】
前記映像、音声及びオーバーレイ情報をトランスコードする適切なフォーマットを判断することをさらに有する請求項４７に記載の通信方法。
【請求項４９】
データネットワーク上で通信するように構成されるデバイスの更新方法であって、
利用可能な更新、及び、各更新でサポートされる通信プロトコルを判断し、
各デバイスによってサポートされる前記通信プロトコルのバージョンを含む各デバイスの性能を判断し、
前記必要な更新が実行されるなら、全デバイスによってサポートされる通信プロトコルの最新バージョンを判断し、
前記必要な更新を実行することを特徴とする更新方法。
【国際調査報告】
2008527850.tif 000015