JP5005895B2 - インバンド制御情報を伝送するためのストラテジー - Google Patents

インバンド制御情報を伝送するためのストラテジー Download PDF

Info

Publication number
JP5005895B2
JP5005895B2 JP2005215764A JP2005215764A JP5005895B2 JP 5005895 B2 JP5005895 B2 JP 5005895B2 JP 2005215764 A JP2005215764 A JP 2005215764A JP 2005215764 A JP2005215764 A JP 2005215764A JP 5005895 B2 JP5005895 B2 JP 5005895B2
Authority
JP
Japan
Prior art keywords
unit
stream
control information
information
content information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005215764A
Other languages
English (en)
Other versions
JP2006081159A (ja
Inventor
バーディ ガープラタップ
エー.デイビス ジェフリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006081159A publication Critical patent/JP2006081159A/ja
Application granted granted Critical
Publication of JP5005895B2 publication Critical patent/JP5005895B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6543Transmission by server directed to the client for forcing some client operations, e.g. recording

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明のサブジェクトは、制御情報を伝送するためのストラテジー(strategy)に関し、より詳細には、メディアプレゼンテーション環境において、制御情報をホストからクライアントに送信するためのストラテジーに関する。
コンピュータは、オーディオおよびビデオ情報などのメディアコンテンツ情報を提示するためのメカニズムとしてますます普及しつつある。例えば、ユーザは、ネットワークを介してリモートソースに結合されたユーザの家庭のパーソナルコンピュータを使用して、コンテンツ情報をそのリモートソースから受け取ることができる。ユーザは、完全なファイルとして、または少しづつ流されるストリーミング形式によって、コンテンツ情報を受け取ることができる。あるいは、コンピュータが、チューナメカニズムを備える場合、ユーザは、(ケーブルまたは衛星など)従来の放送ソースにチューニングすることにより、そのソースからコンテンツ情報を受け取ることができる。ユーザは、このようなコンテンツ情報を、家庭内のテレビやステレオシステムのような1つまたは複数の適切な再生装置に転送することができる。Microsoft(登録商標)社のMedia Centerテクノロジは、上述のやり方でメディアコンテンツ情報を受け取りまた提示するための典型的な一式のツールを提供している。ユーザは、他のツールを使用して、家庭の複数の再生装置をプレゼンテーションネットワークに結合することもできる。次いで、ユーザは、家庭内のあるデバイスから他のデバイスにメディア情報を転送することができる。ユニバーサルプラグアンドプレイ(UPnP)テクノロジは、好都合にこのようなホームネットワークをセットアップするための一式のツールを提供する。
このような技術の発展により、従来のメディア情報のプレゼンテーションについて興味深い進歩がもたらされたが、一方で、幾つかの新しい課題も提起された。例えば、コンピュータ間で、メディアコンテンツ情報を伝送するのに加えて、制御情報を伝送することが必要になることがある。例えば、ホストデバイスは、受信したメディアコンテンツ情報をどのように処理するかについて受信デバイスに命令する制御情報を転送することがある。これは、ネットワーク化された環境では、難問になり得る。例えば、ネットワーキングおよび処理の不整合により、受信デバイスが、それに関連する制御情報なしにメディアコンテンツ情報を受け取ることになる恐れがあり、その逆も同様である。
したがって、上述のメディアプレゼンテーション環境などの任意の環境において制御情報を伝送するためのより効率的な技術が必要とされている。
例示的一実装形態に従い、コンテンツ情報をホストモジュールからクライアントモジュールにストリーミングするための方法を説明する。本方法は、(a)ホストモジュールにおいて、クライアントモジュールに送信されるストリーム内に含めるためのコンテンツ情報のユニットを形成するステップと、(b)ホストモジュールにおいて、ストリーム内に含めるための少なくとも1つの制御情報のユニットを形成するステップと、(c)ホストモジュールにおいて、該少なくとも1つの制御情報ユニットを複数のコンテンツ情報ユニットの間に挿入するステップであって、該少なくとも1つの制御情報ユニットの複数のコンテンツ情報ユニットに対する位置が制御情報を受け取ったときのクライアントモジュールの動作の仕方に関する命令を伝達するステップと、(d)ホストモジュールにより、複数のコンテンツ情報ユニット、および該少なくとも1つの制御情報ユニットを含むストリームをクライアントモジュールに送信するステップとを含み、ホストモジュールは、ストリームの再生を制御するユーザによって行われる処置に基づき、ホストモジュールがストリームに挿入する制御情報を動的に変更する。
さらなる例示的実装形態は、添付の図面に関連して説明される。
本開示の全体を通して、同様のコンポーネントおよび機能を参照するために、それぞれ同じ番号が使用される。100番台の数字は、図1に最初に見られる機能を示し、200番台の数字は、図2で最初に見られる機能を示し、300番台の数字は、図3で最初に見られる機能を示す。
以下では、制御情報をホストモジュールからクライアントモジュールに送信するための例示的メカニズムおよび手順を説明する。これらのメカニズムおよび手順では、制御情報を、インバンド(in-band)で、すなわち、メディアコンテンツ情報と同じ通信帯域において送信する。より詳細には、これらのメカニズムおよび手順は、コンテンツ情報のストリーム内に制御情報を配置して、制御情報とコンテンツ情報間の連結を確立する。
制御情報は、コンテンツ情報についての任意の情報を伝達することができる。例えば、ストリームの終端に制御情報が挿入された場合、制御情報は、ストリームの終端を識別するストリーム情報の終了を伝達することができる。制御情報がストリームの開始に挿入された場合、制御情報は、時間内にその制御情報に続くストリームについての情報を伝達することができる。例えば、このシナリオでは、制御情報は、後続のストリームが、所定の復号鍵を使用して、あるいはクライアントモジュールにおける所定のレンダリング(rendering)リソースを使用して処理されるべきであることを示すことができる。制御情報がコンテンツ情報の2つのストリームの間に配置された場合、制御情報は、あるストリームの他のストリームに対する関係についての情報を伝達することができる。例えば、このシナリオでは、制御情報が2つのストリームの間に不連続があることを示すことができる。この制御情報転送パラダイムのさらなる適用については以下で説明する。
用語について述べると、用語「メディアコンテンツ情報(media content information)」(または、簡略にして「コンテンツ情報(content information)」)は、任意の形式でユーザが消費することができる任意の種類のリソース、例えば、オーディオリソース(例えば、音楽など)、静止画像リソース(例えば、デジタル写真など)、動画リソース(例えば、テレビ番組、映画など)、コンピュータプログラム(例えば、ゲームなど)、およびマークアップ言語リソース(例えば、広域パケットネットワークを介して受信されるHTMLリソース)などに関係することができる。このような情報は、アナログ形式、デジタル形式、または両者の組合せで表現することができる。このような情報は、(コンピュータゲームで使用されるような)インタラクティブコンテンツを含むことも(または除外することも)できる。
制御情報という用語は、コンテンツ情報に対して何らかの影響(bearing)を有する任意の情報を指す。例えば、制御情報は、コンテンツ情報のある種の特性を記述する、あるいは、制御情報に基づき実行されるある種の処理の振舞いを記述することができる。用語「コントロールイベント(control event)」は、制御情報の生成を引き起こす任意の種類のイベントを指す。ユーザが(リモートコントロールまたは他の入力メカニズムを使用して)明示的な入力処置を行うことにより、このようなイベントを引き起こすことができる。あるいは、システムは、特定の条件が満たされると、コントロールイベントを自動的に生成することができる。用語「制御処理タスク(control processing task)」は、コントロールイベントの発生に応じて実行される動作を指す。
本開示には、下記のセクションが含まれる。セクションAでは、以上に要約した機能を実装するための例示的システムを説明し、セクションBでは、セクションAのシステムの動作を示す例示的フローチャートを説明し、セクションCでは、セクションAのシステムを実装するための例示的コンピュータ環境を説明する。
A.例示的システム
A.1.システムの概要
一般に、本明細書に記載のどのシステムも、ソフトウェア、ファームウェア(例えば、固定論理回路)、手動処理、または、これらの組合せを用いて実装することができる。本明細書で使用される用語の「モジュール(module)」、「機能(functionality)」、および「論理(logic)」は、一般に、ソフトウェア、ファームウェア、または、ソフトウェアとファームウェアの組合せを表している。ソフトウェアで実装する場合、用語「モジュール」、「機能」、および「論理」は、1つまたは複数の処理装置(例えば、1つまたは複数のCPU)上で実行されるとき、指定されたタスクを実行するプログラムコードを表す。このプログラムコードは、1つまたは複数の固定および/またはリムーバルのコンピュータ可読メモリデバイスに格納することができる。以下で述べる技術の機能は、プラットフォームに依存せず、つまり、任意の市販のコンピューティングプログラムまたはネットワーキングストラテジーで実装することができる。
図1は、前述の動作を実行するための例示的システム100を示す。システム100は、通信メカニズム106を介してクライアントモジュール104に結合されたホストモジュール102を含む。とりわけ、ホストモジュール102は、メディアコンテンツ情報および制御情報をクライアントモジュール104で提示するために、クライアントモジュール104に提供する役割をする。ホストモジュール102は、任意のソース108からメディアコンテンツ情報を得ることができる。クライアントモジュール104は、任意のプレゼンテーションデバイス110において、制御情報に従って、コンテンツ情報を提示することができる。ユーザ112は、(例えば、クライアントモジュール104、またはプレゼンテーションモジュール106と関連する、リモートコントロール装置、またはキーパッドのような)入力モジュール114など任意の種類の入力メカニズムを介して、クライアントモジュール104および/またはホストモジュール102と対話することができる。図1は、さらに、1つまたは複数の他のクライアントモジュール116が、ホストモジュール102からコンテンツ情報を受け取り、こうした情報を、1つまたは複数の他のプレゼンテーションデバイス118で提示することができることを示している。
図1に示されるインフラストラクチャは、多数の異なる環境に適用することができる。ある事例では、ホストモジュール102は、ユーザ112の家庭(または他のローカル環境)内の汎用コンピュータデバイスを表す。ホストモジュール102は、(例えば、コンピュータデバイスのハードドライブ、ローカルビデオジュークボックス、ローカルビデオカメラ、およびローカルマイクなどによって実装される)ローカルリソース、またはリモートソースなどの任意のソース108からコンテンツ情報を受け取ることができる。あるリモートソースは、従来の有線ソース(例えば、ケーブル)や無線ソース(例えば、地表のアンテナ、または衛星)のような従来のテレビおよびラジオ放送のソースを表すことができる。他のリモートソースは、TCP/IPネットワーク(例えば、インターネット)などのネットワークを介してホストモジュール104に結合されたサーバまたは同様のデバイスを表すことができる。さらに他の種類のソースは、コンテンツ情報をホストモジュール102に供給することができる。
任意の種類のビジネス用の構成(business arrangement)により、ホストモジュール102へのコンテンツ情報の伝播を管理することができる。ソース108は、固定されたタイムスケジュール、またはオンデマンド形式で、リソース情報を配信することができる。ソース108は、コンテンツ情報を受信するための料金を課することができ、あるいは、無料でコンテンツ情報を配信することもできる。
同様に、コンテンツ情報自体が多数の形態を取ることができる。コンテンツ情報は、ライブコンテンツ(live content)情報を、または、予め記録されたコンテンツ情報を意味することができる。コンテンツ情報はまた、オーディオコンポーネントおよび/またはビジュアル(ビデオ)コンポーネントおよび/または対話コンポーネントを有することができる。コンテンツ情報は、(1つまたは複数の写真の場合のように)静的情報または(ビデオの場合のように)「動く(moving)」情報を表すことができる。コンテンツ情報は、(特に)ビデオ情報用のMPEG−1、MPEG−2、またはWMV、並びに(特に)音楽情報用の、MP3、WMA、またはWAVなどの、任意の形式により表現することができる。コンテンツ情報は、デジタル形式、アナログ形式、または両者の組合せで表現することができる。さらに他の種類のソースフォーマットで受け取ることもできる。
例示的一実装形態では、クライアントモジュール104は、ユーザ112の家庭に配置された他の種類のコンピュータを表すことができる。例えば、クライアントモジュール104は、他の汎用コンピュータデバイスを表すことができる。あるいは、クライアントモジュール104は、ゲームコンソール、または、ホストモジュール102からコンテンツ情報を受け取ることを主な目的として設計された拡張コンソール(これにより、ホストモジュール102がコンテンツ情報を送ることができる家庭内の出力装置の数を「拡張する(extending)」)など専用のコンピュータデバイスを表すことができる。あるいは、クライアントモジュール104は、プレゼンテーションデバイス110自体に組み込まれた論理機能を表すことができる。
ある例示的ホームアプリケーションでは、ユーザ112は、幾つかのクライアントモジュール104を、1つの家庭のそれぞれ異なる部屋に配置することができ、各クライアントモジュールは、それらの部屋に位置する異なるメディアプレゼンテーションデバイスに結合される。これらの各クライアントモジュールは、ホストモジュール102からコンテンツ情報を受け取るように構成することができる。これらのクライアントモジュール104は、ホストモジュール102に対する「拡張(extensions)」として実装され、ホストモジュール102によって提供される機能の幾つかのインスタンスを実行するように構成することができる。システム100は、システム100の個々のコンポーネントを並行して使用することが可能になるようにさらに構成することができる。例えば、第1のユーザが、ホストモジュール102を使用して第1のタスクを実行する間に、第2のユーザは、第1のユーザと必ずしも干渉することなく、クライアントモジュール104を使用して第2のタスクを実行することができる。
プレゼンテーションデバイス110は、ユーザがそれによりコンテンツ情報を消費することが可能な任意のデバイスを表すことができる。可能なタイプのプレゼンテーションデバイス110には、テレビ、ラジオ、ステレオシステム、およびコンピュータモニタなどが含まれる。
通信メカニズム106は、ホストモジュール102からクライアントモジュール104に情報を送信するための任意のコンジット(conduit)を表すことができる。ローカル環境では、通信メカニズム106は、Ethernet(登録商標)ネットワークなどのLAN(ローカルエリアネットワーク)として実装することができる。TCP/IPプロトコルなどの任意のプロトコルまたはそれらの組合せは、ホストモジュール102からクライアントモジュール104に情報を送るために使用することができる。通信メカニズム106は、様々な有線通信路(銅線、電力線、光ファイバなど)、および様々な無線通信路などの物理的コンポーネントの任意の組合せを用いて物理的に実装することができる。図示していないが、通信メカニズム106は、様々なルータ、ネームサーバ、およびゲートウェイなどを組み込むこともできる。
上述の環境は例示であって、限定ではない。他の適用において、ホストモジュール102は、クライアントモジュール104に対してリモートのサーバタイプコンピュータまたはピアコンピュータを表すことができる。例えば、ホストモジュール102自体は、コンテンツ情報をインターネットまたは他のある種のネットワークを介してクライアント104に供給する、家庭の外部のサーバコンピュータを表すことができる。さらに他の適用も可能であり、ホストモジュール102は、どこに配置されどのように実装されても、コンテンツ情報の任意のソースとして解釈され、クライアントモジュール104は、どこに配置されどのように実装されても、コンテンツ情報の任意の受信側として解釈すべきである。以下で説明する図9では、適切に構成された汎用コンピュータデバイス(例えば、パーソナルコンピュータなど)、または適切に構成された専用コンピュータデバイス(例えば、ゲームコンソール、拡張デバイスなど)を用いた、ホストモジュール102またはクライアントモジュール104の一実装形態についてさらに詳細に説明する。
上記に概要を述べたので、次は、ホストモジュール102およびクライアントモジュール104の個別の例示的コンポーネントに注目する。
まず、ホストモジュール102から始めると、受信モジュール120が、情報ソース108から情報を受け取る。受信モジュール120は、情報ソース108に関連する物理周波数に同調するチューナ、あるいは、複数のソースに同時に同調することができる複数のチューナを表すことができる。代替または追加として、受信モジュール120は、デジタルネットワークソースからコンテンツ情報を受け取る(任意の種類のモデムなどの)ネットワークインターフェースモジュールを表すことができる。
転送処理モジュール122は、コンテンツ情報を通信メカニズム106を介してクライアントモジュール104に送信するためのフォーマットにするために、コンテンツ情報に対して様々な処理タスクを実行し、次いで、その情報を送信する。図2は、転送処理モジュール122の例示的構成を表す。この議論に関連して述べれば、転送処理モジュール122は、送信のためにコンテンツ情報をフィルタリングおよび/または解析して準備し、情報のビットレートを調整し、情報をパケットとして組み立て、通信メカニズム106に出力するためにパケットを送信ストリームに多重化することなどができる。
図1は、ストリーム124としての情報コンテンツの送信を表す。ストリームは、少しづつコンテンツ情報を送信することを指し、ストリームにより、クライアントモジュール104は、(完全なコンテンツ情報を含むファイルの送信とは対照的に)コンテンツ情報の全体を受け取ることなく、コンテンツ情報の部分を受け取りそれをレンダリングすることができる。ストリーム124は、複数のユニット126(例えばパケット)を含むことができ、これらのユニットは、主に、コンテンツ情報を、すなわちA/Vリソースの場合は実際のオーディオおよびビジュアルデータを伝達する。ストリーム124はまた、コンテンツ情報126のストリーム内に分散された1つまたは複数のコントロールユニット128(例えばパケット)を含むことができる。ストリーム124内のコントロールパケット126の位置は、それに含まれる制御情報がコンテンツ情報にどのように適用されるべきかについての情報を伝達する。(「位置(position)」は、実際の送信されたストリームにおける物理的順序ではなく、ストリーム124内のパケットに割り当てられたシーケンス番号を反映することができる。というのは、パケットネットワークにおいては、幾つかのパケットは、順序が「ばらばらに(out of order)」受け取られ、クライアントモジュール104がそれらのパケットを適切な順序に再構築することが必要となることが見込まれるからである。)例えば、例示的コントロールパケット128は、時間内にそれに先行したコンテンツ情報ストリームが終了となったことを伝達することができる。あるいは、例示的コントロールパケット128は、時間内にそれに後続するコンテンツ情報126に、所定の処理の振舞いが適用されるべきであることを伝達することができる。あるいは、例示的コントロールパケット128は、そのパケットに先行するコンテンツ情報と後続するコンテンツ情報126の間に不連続があることを伝達することができる。コントロールパケット128のさらに他の適用および解釈が想定される。(後述の)セクションA.2では、制御情報の生成および処理に関してさらに詳細に説明する。
プレイヤコントロールモジュール130は、ホストモジュール102におけるコンポーネントを制御する。例えば、プレイヤコントロールモジュール130は、クライアントモジュール104との通信セッションをセットアップし、次いで、クライアントモジュール104の状態を、複数の可能なプレイヤインスタンスにわたって制御することができる。このモジュール130は、(後述する)特定の基準を満たす制御処理タスクを合体する際にある役割を果たすことができる。
プレイヤコントロールモジュール130は、別個の通信経路132を介してクライアントモジュール104に制御命令を転送することもできる。したがって、通信経路132上に送信される制御情報は、ストリーム124内のインバンドで送られた制御情報を補足する(あるいは、別の解釈では、インバンドで送られた制御情報が、通信経路132上を転送された制御情報を補足するということもできる)。ある例示的設計パラダイムによれば、コンテンツ情報に対する制御情報のタイミング(または位置合わせ)を伝達することが重要な状況において、制御情報をインバンドで送信することができる。制御情報をインバンド伝送することが適切な例示的状況については、(後で論じる)図4〜図6を参照して説明する。通信経路132は、インバンド制御情報ほどには時間/位置を精密に伝達する必要がないコントロールイベント情報を通信するために使用することができる。一般に、異なるアプリケーションでは、それらのアプリケーションの固有の要件に応じて、異なる通信チャネルを使用して異なるコントロールイベントを伝達する。通信経路132は、通信メカニズム106で使用されるものとは異なる通信メカニズムおよび/またはプロトコルを利用することも、同じメカニズムおよびプロトコルを使用することもできる。
さらに追加の制御経路を含むことができる。例えば、ホストモジュール102は、他の制御経路(図示せず)を使用して、クライアントモジュール104におけるグラフィカル情報およびメタデータに関連する情報の表示を制御することができる。例えば、このコントロールチャネルは、プレゼンテーションデバイス110上での様々なメニュー、プログラムバー、およびチャネル情報などの表示を調整するために使用することができる。このタスクを遂行するために使用できる例示的かつ非限定的プロトコルの1つは、リモートデスクトッププロトコル(Remote Desktop Protocol)(RDP)である。このプロトコルは、システム100が、基本的に、ホストモジュール102に関連するグラフィカルな機能を、クライアントモジュール104を介してプレゼンテーションデバイス110上に「投影する(project)」ことを可能にする。但し、このストラテジーは、限定ではなく例示であり、他の技術を使用して、グラフィカル情報をプレゼンテーションデバイス110に送ることもできる。一般に、メタデータ関連情報およびグラフィカル情報は、ホストモジュール102および/またはクライアントモジュール104および/またはプレゼンテーションデバイス110および/または他のある種のモジュールから発信することができ、さらに、任意のモジュールまたはその組合せを使用して、これらのメタデータ関連情報およびグラフィカル情報の表示を調整することができる。
最後に、ホストモジュール102は、(ここでの議論の目的とは関連しない)他の明記されていないタスクを実行するために、幾つかの他のモジュールを含むことができる。
次に、クライアントモジュール104のコンポーネントについて扱う。クライアントモジュール104は、ストリーム124を受け取りそのストリームの処理を実行する受信処理モジュール134を含む。図2は、コンポーネント134に関してさらに詳細を示している。ここでの議論に関連して述べれば、コンポーネント134は、ストリーム124内の情報を逆多重化し、それに含まれる情報を抽出することができる。パケットは、パケットの構成、例えばパケットがオーディオ情報、ビデオ情報、または制御情報を含んでいるかどうかを識別するID情報を含むことができる。パケットが制御情報を含む場合、受信処理モジュール134は、制御情報に基づいて1つまたは複数の制御動作を実行する。さらに、受信処理モジュール134は、コンテンツ情報を提示するためにコンテンツ情報を適切なレンダラ(renderer)に転送する。さらに、受信処理モジュール134、並びに、(後述の)クライアント制御処理モジュール136は、様々な動作を実行するためにレンダラを制御することができる。受信処理モジュール134は、インバンド制御情報(例えば、128)を使用して、レンダラを制御することができる。
クライアント制御処理モジュール136はまた、クライアントモジュール104内のコンポーネントも制御する。クライアント制御処理モジュール136はまた、通信経路132を介して制御情報を送受信するためにプレイヤコントロールモジュール130と対話する。例えば、クライアント制御処理モジュール136はプレイヤコントロールモジュール102に様々な非同期イベントを送信するために使用されるインターフェースを提供することができ、このような非同期イベントには、例えば、(クライアントモジュール104がストリーム124の終端に達したことを示す)ストリームの終了(end of stream)イベント、(ユーザ112がコンテンツ情報のプレゼンテーションを一時停止したことを示す)一時停止(pause)イベント、(ユーザ112がコンテンツ情報のプレゼンテーションを停止したことを示す)停止(stop)イベント、および様々なエラーイベントなどがある。
プレゼンテーション処理モジュール138は、コンテンツ情報をレンダリングするための様々な機能を含むことができる。例えば、オーディオドライバ、ビデオドライバなどを含むことができる。プレゼンテーション処理モジュール138は、プレゼンテーションデバイス110とは別個のモジュールとして実装することも、プレゼンテーションデバイス110自体に組み込むこともできる。
最後に、クライアントモジュール104は、(ここでの議論の目的と関連しない)他の明記されていないタスクを実行するために、幾つかの他のモジュール140を含むことができる。
図2は、転送処理モジュール122、受信処理モジュール134、およびプレゼンテーションモジュール138についてさらに詳細を示している。
まず、転送処理モジュール122は、情報処理モジュール202を含むことができる。情報処理モジュール202は、情報ソース108から受け取ったコンテンツ情報に対して様々な処理動作を実行するように柔軟に構成することができる一式の処理ツールを含むことができる。つまり、このようなツールの様々なコレクションおよび組合せは、受け取ったコンテンツ情報のタイプ、および望ましい出力フォーマットの種類などに基づいて選択することができる。このようなツールの例には、以下のものを含むことができる。
・ パーソナルビデオレコーダ(PVR)タイプの機能、例えば、コンテンツ情報の記録、コンテンツ情報の一時停止、コンテンツ情報内の様々な位置へのジャンプなどの能力を提供するバッファマネージャ。
・ コンテンツ情報を所望のフォーマットに符号化するための様々なエンコーダ、または、所与のフォーマットで表現されたコンテンツ情報を復号するためのデコーダ。
・ コンテンツ情報を修正して、クライアントモジュール104におけるコンテンツ情報のプレゼンテーションの品質を改良するための様々なコンテンツフィルタおよびアナライザ。様々なアプリケーションにおいて、その特定のアプリケーションの特性および要求に応じて、このようなフィルタおよびアナライザから様々なコレクションを採用することができる(あるいは、このようなフィルタおよびアナライザを完全に省略することもできる)。
・ ストリーム124のビットレートを制御する様々なレートフィルタ。例えば、このようなフィルタの1つは、輻輳または干渉により利用可能なネットワークのバンド幅が減少したときに、ビットレートを低下させることができる。このフィルタは、ストリームの再符号化、またはフレームの破棄などによってビットレートを低下させる。
・ コントロールメカニズム106を介して送信するコンテンツの暗号化、並びに他の権利管理機能の実行のための、様々なデジタル著作権管理(DRM)フィルタ。
パケット形成モジュール204は、情報処理モジュール202から出力を受け取り、この出力を、通信メカニズム106を介して送信するのに適切な形式にする。パケット形成モジュール204は、コンテンツ情報を処理するために任意のプロトコルを使用することができる。図3は、限定ではなく例示として、幾つかのパケットの作成を示す。ストリーム302は、一連のキーフレームおよびデルタフレームから開始することにより形成することができる。キーフレームは、他のフレームを参照することなくビデオを再現するために使用することができるビデオフレームの独立した表現を示す。デルタフレームは、一連のフレームにおける他の情報に基づいてビデオフレームを予測して再現するために使用することができる。ビデオ、オーディオ、および他の情報を含む上述のデータから、連続したストリームが形成される。次いで、連続したストリームをパケットに分割することにより、パケット化されたストリームが形成される。各パケットは、ヘッダおよびペイロードを含むことができる。最後に、パケットを、さらに、多重化して幾つかのグループとすることができ、送信ストリームとして、通信メカニズム106を介して送信することができる。上記の概念を実装するために、多数の規格を使用することができ、このような規格には、MPEG−2、RTP(リアルタイムトランスポートプロトコル)、および様々な独自仕様の規格などが含まれるが、これらだけに限定されず、また、本明細書に記載の原理は、どの特定の規格にも束縛されない。
図2を参照すると、パケット情報モジュール204は、パケットを多重化してグループとして組み立てることによって上述のタスクを実行する。制御情報生成モジュール206は、コントロールパケット128をコンテンツパケット126と共にストリーム124に挿入する。パケット情報モジュール204は、キュー208を使用して、ストリーム124を作成し送信する。つまり、キュー208が、パケットを受け取った順序で格納し、ワーカスレッド(worker thread)(図示せず)が、キュー208からパケットを抽出し、それらのパケットを他のパケットと組み合わせる。
図3にさらに進むと、一連のパケット(304、306、308、...、310)が例示されている。各パケット(304、306、308、...、310)は、それぞれのヘッダ(312、314、316、...、318)およびそれに伴うペイロード(320、322、324、...、326)を含む。これらのペイロードは、オーディオ情報またはビデオ情報を含むことができる。さらに、本発明のシステム100では、ペイロードは、制御情報も含むことができる。例えば、ペイロード320、322、および324は、オーディオまたはビデオ情報(328、330、332)を含む一方で、ペイロード326は、制御情報334を含む。ヘッダ(312、314、316、...、318)は、それぞれのペイロード(320、322、324、...、236)が含むデータのタイプを示している標識を含む、様々な識別データ(336、338、340、...、342)を含む。より詳細には、ヘッダ312、314、316は、それらのペイロードがオーディオまたはビジュアル情報(328、330、332)を含むことを示す識別データ(336、338、340)を含み、一方、ヘッダ318は、そのペイロード326が制御情報334を含むことを示す識別データ342を含む。
図2を参照すると、受信処理モジュール134は、ストリーム124を受け取るように構成されたレシーバ210を含む。情報抽出モジュール212は、レシーバ210の出力を受け取り、受信したストリーム124から様々なフィールドの情報を抽出する。例えば、情報抽出モジュール212は、ストリーム124を逆多重化し、パケット毎に、オーディオ情報、ビデオ情報、または制御情報が含まれるかどうかを判定することができる。これは、受け取ったパケット(304、306、308、310)のヘッダ(312、314、316、...、318)にある識別データ(336、338、340、...、342)を調べることによって行うことができる。受信処理モジュール134は、ペイロード(320、322、324、...、326)のコンテンツに対して、それらの評価されたコンテンツ(assessed content)に基づいて適切な処理を実行する。コントロールパケットによって伝達される制御情報は、クライアントモジュール104によって実行される処理の振舞いを管理する命令を含むことができる。
受信処理モジュール134は、それが受信したコンテンツ情報を、プレゼンテーション処理モジュール138に送る。プレゼンテーション処理モジュール138は、様々なデコーダおよびドライバ(オーディオドライバデコーダ214、ビデオドライバデコーダ216)、並びに他の処理メカニズムを使用して、コンテンツ情報をレンダリングする。
最後に、図2では、クライアントモジュール104は、(以下では単にバッファと呼ぶ)ジッタバッファ(jitter buffer)218を含む。バッファ218は、それがストリーム124から受け取る一定量のコンテンツ情報を、先入れ先出し法(FIFO)で格納する。プレゼンテーション処理モジュール138は、コンテンツ情報をレンダリングするとき、バッファ218からコンテンツ情報を引き出す。したがって、送信中に異常(例えば、わずかな中断)があった場合、プレゼンテーション処理モジュール138は、バッファ218から受け取るコンテンツ情報を事前に取り出すことができ、その異常がコンテンツ情報のプレゼンテーションに不利な影響を与えることがない。しかし、プレゼンテーション処理モジュール138は、追加のコンテンツ情報をストリーム124から受け取ることなしに、バッファ218に格納されているコンテンツ情報の終端に達したとき、追加のコンテンツ情報のプレゼンテーションが可能でないため、性能が低下することになる。図2は、バッファ218を受信処理モジュール134のコンポーネントとして図示しているが、一般に、バッファ218は、受信されたコンテンツ情報に作用する一連のモジュールにおける他の場所に配置することができる。また、クライアントモジュール104は、複数のバッファを含むこともできる。
バッファ218をフラッシュする(flush)ことが望ましい機会が様々ある。例えば、ユーザが、あるストリームから他のストリームにジャンプした場合、バッファ218は、ネットワークの異常を補償する際に利用することができる有用なコンテンツ情報をもはや格納することができない。したがって、クライアントモジュール204は、このような状況では、バッファ218をフラッシュし、他のストリームから取り出したコンテンツ情報によりバッファを再充填する。クライアントモジュール204は、チャネルが変更されたとき(この場合、ユーザは、あるプログラムのストリームから他のプログラムのストリームにジャンプする)、並びに、シークが行われたとき(この場合、ユーザは、プログラムの一部分から同じプログラムの(例えば、より早くまたはより遅く時間内に出現する)他の部分にジャンプする)、バッファ218をフラッシュすることができる。
しかし、ストリームの不連続によって影響を受けるシステム100内のコンポーネントはクライアントモジュール104だけではない。例えば、ユーザ114がチャネルを変更するとき、クライアント制御処理モジュール136は、このイベントをホストモジュール102に通知することができ、ホストモジュール102は、適切な処置を取ることにより応答を行うことができる。すなわち、例えば、ホストモジュール側の転送処理モジュール122は、キュー並びに構成設定に格納される情報も含むことができ、これらの情報は、ストリーム124の中断の際にフラッシュされる必要があり得る。したがって、ホストモジュール102は、その他の構成タスクを取り扱うことに加え、転送処理モジュール122に格納される関連の情報をフラッシュすることを調整することができる。転送処理モジュール122は、様々なストリーム境界情報をストリーム124内に挿入することにより、このようなストリームにおける中断を明確に画定することにより、不連続に応答する。次いで、受信処理モジュール134は、ストリーム境界情報を受け取るまで、受け取ったストリーム124におけるパケットをスキップすることができる。
したがって、クライアントモジュール104とホストモジュール102の間の対話は、比較的複雑になり得ることが明らかであり、制御情報の交換、1つまたは複数のバッファのフラッシュおよび再充填、および、様々な設定の再構成などが必要となる。ユーザ112がストリーム124に中断を引き起こす動作を呼び出したとき、この複雑さにより、かなりの待ち時間を生じ得る。この問題に対処するために、システム100は、ユーザ112が短時間の間に複数の制御処置を行う状況において待ち時間を減少させる合体モジュール(coalescing module)を含むことができる。合体モジュールは、例えば、ユーザが比較的短時間の間に一連のチャネル変更コマンドまたはシークコマンドを繰り返し実行することに関連する待ち時間を減少させる役割をすることができる。
A.2 インバンド制御情報の生成および解釈
図4〜図6は、コントロールパケットをコンテンツ情報のストリーム内に挿入して、コンテンツ情報に関する命令をクライアントモジュール104に提供する3つの概略的シナリオを示す。これらの命令は、コンテンツ情報についての情報を伝達する、または、コンテンツ情報に対して実行される処理を記述することなどができる。コンテンツ情報のストリームにおけるコントロールパケットの位置により、クライアントモジュール104がそれに含まれる制御命令をどのようにコンテンツ情報に適用すべきかを決定するため、このようなパケットの位置は重要である。(パケットのグループにおけるコントロールパケットの「位置」は、一般的なパケットネットワークではパケットは順序通りには受け取られないため、パケットを実際に受け取る順序ではなく、例えば、パケットに割り当てられたシーケンス番号によって表すことができる。)
最初に、図4では、制御情報402がコンテンツ情報ストリームX404の末端に配置されているシナリオ400を示す。(図4〜図6では、最初に送信された情報は、最も右側に見られることに留意されたい。)シナリオ400は、制御情報402が、ストリームの終端(EOS)の境界を定める情報を提供する事例に該当する。EOS制御情報402をインバンドでコンテンツ情報と一緒に配置することにより、例えば再生モードからアイドルモード(idle mode)へ切り替えるために、受信処理モジュール134が、いつ必要な処置を取るかを正確に知ることが可能になるので、このような配置は有用である。
図5は、制御情報502がストリームY504の先頭に位置する他のシナリオ500を示す。このような配置の事例は、クライアントモジュール104によりストリームY504に対して続いて実行される動作についての命令を伝達するために使用することができる。このシナリオ500の一例は、復号鍵の変更に関連する。鍵の変更において、ホストモジュール102は、クライアントモジュール104に、それがホストモジュール102から受け取ったコンテンツ情報を続いて復号化するために別の鍵を使用すべきであることを通知する。ホストモジュールは、新しい鍵を別個のコントロールチャネル132を介してクライアントモジュール104に前もって送ることにより、このタスクを実行することができる。次いで、転送処理モジュール122は、鍵変更制御情報502をインバンドコンテンツ情報ストリーム124に挿入することができる。制御情報502の位置並びにその制御情報に含まれる制御データは、受信受信処理モジュール134が受け取った新しい鍵をストリームYを解釈するために適用すべきであることを、受信処理モジュール134に通知し、次いで受信処理モジュール134は制御情報502に従う。
ストリームの先頭に配置される他のタイプの制御情報502は、クライアントモジュール104により提供されたどのレンダリングリソースを、次のストリームY504を処理する際に有効および/または無効にすべきかを、受信処理モジュール134に通知するために使用することができる。これは、例えば、オーディオストリームがデジタル形式でのコピーが許可されていない場合(例えば、コンテンツ保護の場合)、オーディオのデジタル出力を無効にするために使用することができる。
図6は、制御情報602がストリームX604とストリームY606の間に位置する他のシナリオ600を示す。この配置の事例は、例えばストリームX604とストリームY606の間の不連続のような、ストリームX604とストリームY606の間の関係についての情報を伝達するために使用することができる。このようなストリーム間の不連続は、ある種のデータ損失により生じることがある。
あるいは、このような不連続は、クライアントモジュール104またはホストモジュール102(あるいは他のある種のモジュール)を介して、ユーザ112によって発行され、(例えば、制御経路132を介して)ホストモジュール102に転送される、明示的コマンドに起因して生じることがある。例えば、この種の不連続は、ユーザ112が、チャネルを切り替えることにより、あるデータストリームを他のデータストリームに切り替えたときに、あるいは、ユーザ112が、シークコマンドを発行することにより、データストリームのある部分から他の部分に切り替えたために引き起こされ得る。不連続の原因はさらに他にもあり得る。
上述のいずれの場合でも、ホストモジュール102は、制御情報602をストリーム124に追加することにより、不連続にマークを付けることができ、この場合、制御情報602は、ストリーム境界制御情報を構成する。例えば、下記の一連の処置によって表される例示的シナリオを考える。
・ ユーザ112がチャネル変更コマンドを発行する。
・ チャネル変更命令はホストモジュール102に送られる(または、ホストモジュール102に関連するコンピュータデバイスに直接入力される)。
・ ホストモジュール102は、システム100内の適切なバッファをフラッシュするための命令を発行して、システムから(古いチャネルに関連する)古いコンテンツ情報を消去する。
・ ホストモジュール102の転送処理モジュール122は、ストリーム境界制御情報602をストリーム124に追加して、古いチャネルに関連するストリームと新しいチャネルに関連するストリームの間の不連続にマークを付ける。
・ クライアントモジュール104は、このストリーム境界制御情報602を受け取り適切に対処する。例えば、ホストモジュール102は、クライアントモジュール104に、ストリーム境界制御情報602を送ることを事前に警告し、クライアントモジュールにフラグを立てるように促すことができる。このフラグの結果として、クライアントモジュール602は、約束されたストリーム境界制御情報602を受け取るまでの間すべての受け取ったパケットを廃棄するように構成することができる。
・ ストリーム境界制御情報を受け取ると、続いて、クライアントモジュール104は、そのバッファを新しいチャネル情報で充填し、バッファが所定の充満した状態に達したときその情報の提示を開始する。
一般に、コンテンツ情報ストリーム内に制御情報を埋め込むことには少なくとも2つの利点がある。第1に、クライアントモジュール104は、制御情報をコンテンツ情報に連結する複雑な補足的リンク情報を提供する必要なしに、関連するコンテンツ情報と同期化された制御情報を受け取ることができる。第2に、ある特定の実装形態が別個のコントロールチャネル132を使用することを実際に選択した場合、制御情報をインバンドで送信することにより、別個のコントロールチャネル132に対する負荷が減少する。
制御情報自体は様々なフォーマットで表現することができる。この情報は、限定ではなく例として、RTPなど任意のプロトコルにおいて拡張パケットを使用して表現することができる。このパケットは、パケットのペイロードによって運搬されるストリームの性質を識別する識別情報を含むことができる。この識別情報は、ペイロードがオーディオビジュアル情報、制御情報、または他のある種の情報を含むことを識別することができる。
コントロールパケットの例示的フォーマットを以下に示す。
Figure 0005005895
Stream Boundary(ストリーム境界)フィールドは、ストリームにおける不連続を示す。
End Of Stream(EOS)(ストリーム終端)フィールドは、クライアントモジュール104にストリーミングされるストリームの終端を示す。
Macrovisionフィールドは、このフィールドのパケットのペイロードが、ある所定の動作モードに適切な映像制御コード(vision control code)を含むことを示す。
Rotate Keyフィールドは、このフィールドのパケットの後に受け取られたすべてのサンプルが新しい鍵で暗号化されることを示す。新しい鍵は、このパケットが挿入される前に、コントロールチャネルを介して送信することができる。
B.動作の例示的方法
図7および図8は、図1のシステム100の動作をフローチャートの形で表している。議論を容易にするために、幾つかの動作については、ある特定の順序で実行される複数の別個のステップを構成するものとして説明する。これらの実装形態は、例示であり限定ではない。本明細書に記載の幾つかのステップは、まとめてグループ化して単一の動作で実行することができ、また、この開示で示す例で採用されている順序と異なる順序で実行することができる。
図7は、コンテンツ情報126と制御情報128の両方を含むストリーム124を作成するための手順を示す。
ステップ702において、ホストモジュール102はコンテンツ情報126を形成する。これは、ソース108から収集されたコンテンツ情報を用いることができ、オプションで、そのコンテンツ情報を送信に望ましい形に配置するように処理を行うことができる。
ステップ704で、ホストモジュール102は制御情報128を形成する。ホストモジュール102は、ストリーム終端、新しい鍵の使用、および不連続の存在を通知するためなどの様々な状況によって、制御情報を形成するよう促されたときに制御情報を形成する。一部の事例では、ホストモジュール102は、クライアントモジュール104またはホストモジュール102と対話しているユーザ112によって取られる処置により促されるので制御情報を形成する。
ステップ706では、ホストモジュール102の転送処理モジュール122が、コンテンツ情報126を制御情報128と組み合わせる。これは、コンテンツ情報(例えば、A/V情報)を含むパケットの多重化されたストリーム内に、制御情報128を挿入することにより行われる。
ステップ708では、転送処理モジュール122がストリーム124をクライアントモジュール104に転送し、この場合、ストリーム124は、コンテンツ情報126と制御情報128の両方を含む。
図8に示す手順は、受信されたストリーム124内に存在する制御情報を解釈しそれに基づき対処するために使用される。
ステップ802では、受信処理モジュール134が、インバンド制御情報128を含むストリーム124を受け取る。
ステップ804では、受信処理モジュール134がストリーム124から受け取ったパケットが制御情報を含むかどうかを判定する。これは、パケットのヘッダ情報を検査して、パケットが制御情報を含むことを示す情報を含むかどうかを判定することにより行われる。
ステップ806で、クライアントモジュール104は、制御情報128に基づき、受け取ったコンテンツ情報126の処理を実行する。このような処理は、図4〜図6を参照して上述した動作のいずれかの形を取ることができる。例えば、制御情報128はクライアントモジュール104に、受け取ったコンテンツ情報を処理するためにクライアントモジュール104が特定のレンダリングリソースまたは復号鍵を使用すべきことを通知することができる。ストリームの不連続がある場合、クライアントモジュール104は、ストリーム境界制御情報を受け取るまでパケットを廃棄でき、ストリーム境界制御情報を受け取ったときに、そのバッファ(例えば、バッファ218)の再充填を開始する。
C.例示的コンピュータ環境
例示的一実装形態では、ホストモジュール102およびクライアントモジュール104の両方はそれぞれ、ホストおよびクライアントの容量内で動作するよう適切に構成された2つのコンピュータデバイスによって実装することができる。この場合、図9は、ホストモジュール102またはクライアントモジュール104を実装するために使用することができる例示的コンピュータ環境900に関する情報を示している。
コンピューティング環境900は、汎用型コンピュータ902、および表示装置904を含む。但し、コンピューティング環境900は他の種類のコンピューティング装置を含むことができる。例えば、図示しないが、コンピュータ環境900は、ハンドヘルドまたはラップトップデバイス、セットトップボックス、ゲームコンソール、拡張型コンピュータ、メインフレームコンピュータ、およびレンダリングデバイスに組み込まれた論理機能などを含むことができる。さらに、図9は、議論を容易にするために、グループとしてまとめられたコンピュータ環境900の要素を示す。しかし、コンピューティング環境900は分散処理構成を採用することもできる。分散コンピューティング環境においては、その環境全体にわたり、コンピューティングリソースを物理的に分散することができる。
例示的コンピュータ902は、1つまたは複数のプロセッサまたは処理装置906、システムメモリ908、およびバス910を含む。バス910は、様々なシステムコンポーネントを一緒に接続する。例えば、バス910は、プロセッサ906をシステムメモリ908に接続する。バス910は、様々なバスアーキテクチャのいずれかを使用した、メモリバスまたはメモリコントローラ、周辺バス、加速グラフィックポート(accelerated graphics port)、および、プロセッサまたはローカルバスを含めて、任意の種類のバス構造またはそれらの組合せを用いて実装することができる。
コンピュータ902は、それぞれがリムーバルまたは非リムーバルとすることができる様々なタイプの揮発性および不揮発性の媒体を含む、様々なコンピュータ可読媒体とすることができる。例えば、システムメモリ908は、RAM(ランダムアクセスメモリ)912などの揮発性メモリ、およびROM(リードオンリメモリ)914などの不揮発性メモリの形態で、コンピュータ可読媒体を含む。ROM914は、始動時などにコンピュータ902内の要素間で情報を転送する助けとなる基本ルーチンを含むBIOS(入出力システム)916を含む。RAM912は、通常、処理装置906により、即座にアクセス可能な形でデータおよび/またはプログラムモジュールを含む。
他の種類のコンピュータ記憶媒体には、非リムーバルで不揮発性の磁気媒体の読取りおよび書込みのためのハードディスクドライブ918、リムーバルで不揮発性の磁気ディスク922(例えば「フロッピー(登録商標)ディスク」)の読取りおよび書込みのための磁気ディスクドライブ920、並びに、CD−ROM、DVD−ROM、または他の光媒体などリムーバルで不揮発性の光ディスク926の読取りおよび/または書込みのための光ディスクドライブ924が含まれる。ハードディスクドライブ918、磁気ディスクドライブ920、および光ディスクドライブ924はそれぞれ、1つまたは複数のデータ媒体インターフェース928によって、システムバス910に接続される。あるいは、ハードディスクドライブ918、磁気ディスクドライブ920、および光ディスクドライブ924は、SCSIインターフェース(図示せず)または他の結合メカニズムによって、システムバス910に接続することができる。図示していないが、コンピュータ902は、磁気カセットまたは他の磁気記憶装置、フラッシュメモリカード、CD−ROM、DVD(デジタル多用途ディスク)、または他の光ストレージ、EEPROM(電気的消去可能プログラマブルROM)など他のタイプのコンピュータ可読媒体を含むことができる。
一般に、上記に示したコンピュータ可読媒体は、コンピュータ902で使用するための、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの不揮発性ストレージを提供する。例えば、これらの可読媒体は、オペレーティングシステム930、アプリケーションモジュール932、他のプログラムモジュール934、およびプログラムデータ936を格納することができる。
コンピュータ環境900は様々な入力装置を含むことができる。例えばコンピュータ環境900は、コマンドおよび情報をコンピュータ902に入力するためのキーボード938およびポインティングデバイス940(例えば「マウス」)を含む。コンピュータ環境900は、(図示しないが)マイク、ジョイスティック、ゲームパッド、パラボラアンテナ、シリアルポート、スキャナ、カードリーダ、およびデジタルまたはビデオカメラなど他の入力装置を含むことができる。入出力インターフェース942は入力デバイスを処理装置906に結合する。より一般的には、入力装置は、パラレルポート、シリアルポート、ゲームポート、およびUSB(ユニバーサルシリアルバス)ポートなど任意の種類のインターフェースおよびバス構造を介してコンピュータ902に結合することができる。
コンピュータ環境900はまた、表示装置904を含む。ビデオアダプタ944は、表示装置904をバス910に結合する。表示装置904に加え、コンピュータ環境900は、スピーカ(図示せず)やプリンタ(図示せず)など他の出力周辺装置を含むことができる。これらの任意の装置は、図1に示すターゲットとなるエンティティ(120、122、...、124)を構成することができる。
コンピュータ902は、リモートコンピューティングデバイス946など1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境において動作する。リモートコンピューティングデバイス946には、汎用パーソナルコンピュータ、ポータブルコンピュータ、サーバ、ゲームコンソール、およびネットワーク拡張デバイスなどを含めた任意の種類のコンピュータ機器が含まれ得る。リモートコンピューティングデバイス946は、コンピュータ902またはその一部分に関して上述したすべての機能を含むことができる。
コンピュータ902をリモートコンピューティングデバイス946に結合するために、WAN、LANなど任意のタイプのネットワーク948を使用することができる。コンピュータ902は、ブロードバンド接続、モデム接続、DSL接続、または他の接続ストラテジーを利用できるネットワークインターフェース950を介して、ネットワーク948に結合される。図示しないが、コンピューティング環境900は、(例えば、変調された無線信号、変調された赤外線信号などを介して)コンピュータ902をリモートコンピューティングデバイス946と接続するための無線通信機能を提供することができる。
一実装形態では、コンピュータ902、およびコンピュータ946はそれぞれ、ホストモジュール102、およびクライアントモジュール104に対応することができる。他の実装形態では、コンピュータ902、およびコンピュータ946はそれぞれ、ホストモジュール102、およびソース108に対応することができる(この場合、ソース108はサーバコンピュータを構成する)。さらに他の適用も可能である。
最後に、本開示では、多くの例が代替形態(例えば、事例Aまたは事例B)として提示された。さらに、本開示は、単一の実装形態において代替形態を組み合わせた事例(例えば、事例Aおよび事例B)を、このような結合事例について明示的に言及していない場合においても包含している。
より一般的に言えば、本発明は、構造的機能および/または方法論的作用に特有の言葉で説明されているが、特許請求の範囲に定義される本発明は、記載の特定の機能または作用に必ずしも限定されない。むしろ、特定の機能および作用は、請求項に関わる発明を実装するための例示的形態として開示されている。
先に要約した機能の態様を実装するための例示的システムを示す図である。 図1のシステムから選択されたコンポーネントのより詳細なブロック図である。 図1のシステムを使用して送信することができる例示的な一連のパケット(コンテンツ情報間に分散されている制御情報を含む)を示す図である。 制御情報が、コンテンツ情報に関連するそれぞれ異なる命令を伝達する、異なる3つの使用シナリオのうちの1つを示す図である。 制御情報が、コンテンツ情報に関連するそれぞれ異なる命令を伝達する、異なる3つの使用シナリオのうちの1つを示す図である。 制御情報が、コンテンツ情報に関連するそれぞれ異なる命令を伝達する、異なる3つの使用シナリオのうちの1つを示す図である。 コンテンツ情報および制御情報の両方を含むストリームを作成するための例示的手順を示すフローチャートである。 図7で作成されたストリーム内から受け取った制御情報を解釈するための例示的手順を示すフローチャートである。 図1に示すシステムの態様を実装するための例示的コンピューティング環境を示す図である。
符号の説明
102 ホストモジュール
104,116 クライアントモジュール
106 通信メカニズム
108 (情報)ソース
110,118 プレゼンテーションデバイス
114 入力モジュール
120 受信モジュール
122 転送処理モジュール
124 情報ストリーム
130 プレイヤコントロールモジュール
132 通信経路
134 受信処理モジュール
136 クライアント制御処理モジュール
138 プレゼンテーション処理モジュール
202 情報処理モジュール
204 パケット形成モジュール
206 制御情報生成モジュール
210 レシーバモジュール
212 情報抽出モジュール
218 (ジッタ)バッファ
312,314,316,318 ヘッダ
320,322,324,326 ペイロード
328,330,332 オーディオおよび/またはビジュアルストリームデータ
334,402,502,602 制御情報
906 処理装置
908 システムメモリ
932 アプリケーションモジュール
934 他のプログラムモジュール
936 プログラムデータ
946 他のコンピューティングデバイス

Claims (25)

  1. コンテンツ情報をホストモジュールからクライアントモジュールにストリーミングする
    ための方法であって、
    ホストモジュールにおいて、クライアントモジュールに送信されるストリームに含めるためのコンテンツ情報のユニットを提供するステップと、
    前記ホストモジュールにおいて、前記ストリームに含めるための少なくとも1つの制御情報のユニットを提供するステップと、
    前記ホストモジュールにおいて、前記ストリームにおける前記コンテンツ情報のユニットに対する前記少なくとも1つの制御情報のユニットの位置を異ならせて、該クライアントモジュールが前記コンテンツ情報のユニット及び前記少なくとも1つの制御情報のユニットを含む前記ストリームを受け取ったときに前記位置に応じて該クライアントモジュールが異なる動作をするように、該コンテンツ情報のユニット及び該少なくとも1つの制御情報のユニットを前記ストリームに含めるステップと、
    前記ホストモジュールによって、前記コンテンツ情報のユニットおよび前記少なくとも1つの制御情報のユニットを含む前記ストリームを前記クライアントモジュールに送信するステップとを含み、
    前記ホストモジュールは、前記ストリームの再生を制御するユーザによって取られる処置に基づいて、前記ホストモジュールが前記ストリームに挿入する前記制御情報を動的に変更することを特徴とする方法。
  2. 前記少なくとも1つの制御情報のユニットがコンテンツ情報のユニットグループの末端に配置される、請求項1の方法。
  3. 前記少なくとも1つの制御情報のユニットが、前記コンテンツ情報のユニットグループに関連するストリーム終端(EOS)情報を伝達する、請求項2の方法。
  4. 前記少なくとも1つの制御情報のユニットがコンテンツ情報のユニットグループの先頭に配置される、請求項1の方法。
  5. 前記少なくとも1つの制御情報のユニットが、前記コンテンツ情報のユニットグループに適用されるレンダリング機能の態様を伝達する、請求項4の方法。
  6. 前記少なくとも1つの制御情報のユニットが、前記コンテンツ情報のユニットグループに適用するための復号鍵を変更するための命令を伝達する、請求項4の方法。
  7. 前記少なくとも1つの制御情報のユニットがコンテンツ情報の2つのユニットグループの間に配置される、請求項1の方法。
  8. 前記少なくとも1つの制御情報のユニットが、前記コンテンツ情報の2つのユニットグループの間の不連続についての情報を伝達する、請求項7の方法。
  9. 前記不連続が、前記ユーザによって指示される、あるストリームから他のストリームへの移行を示す、請求項8の方法。
  10. 前記移行が、前記ユーザによって指示される、各チャネル上のあるプログラムから他のプログラムへの移動を表す、請求項9の方法。
  11. 前記移行が、前記ユーザによって指示される、あるストリームのある位置から同じストリームの他の位置への移動を表す、請求項9の方法。
  12. 前記クライアントモジュールにおいて、前記少なくとも1つの制御情報のユニットおよび前記コンテンツ情報のユニットを受け取るステップと、
    前記ストリームにおける前記少なくとも1つの制御情報のユニットの存在を検出するステップと、
    前記少なくとも1つの制御情報のユニットに含まれる制御情報を前記クライアントモジュールの動作を管理するために適用するステップと
    をさらに含むことを特徴とする請求項1の方法。
  13. 前記適用するステップは、前記少なくとも1つの制御情報のユニットに含まれるストリームの終了(end of stream)命令の受信に応答して、前記クライアントモジュールを一時停止することを含む、請求項12の方法。
  14. 前記適用するステップは、前記少なくとも1つの制御情報のユニットに含まれる暗号化に関連する命令の受信に応答して、受け取られたコンテンツ情報のその後の処理に復号鍵を適用することを含む、請求項12の方法。
  15. 前記適用するステップは、前記少なくとも1つの制御情報のユニットに含まれるストリーム境界(stream boundary)命令の受信に応答して、クライアントモジュールバッファの再充填を開始することを含む、請求項12の方法。
  16. 前記コンテンツ情報のユニットおよび前記少なくとも1つの制御情報のユニットが、均一なフォーマットを有するパケットを含む、請求項1の方法。
  17. 前記パケットは、該パケットがコンテンツ情報または制御情報を含むかどうかを示す識別情報を含む、請求項16の方法。
  18. 前記コンテンツ情報がオーディオ/ビジュアル情報を含む、請求項1の方法。
  19. 請求項1の方法を実装するためのマシン可読命令を格納して有することを特徴とするコンピュータ可読媒体。
  20. ストリーミングコンテンツ情報をクライアントモジュールが受け取る方法であって、
    ホストモジュールから、コンテンツ情報のユニット及び該コンテンツ情報のユニット間に配置された少なくとも1つの制御情報のユニットを含むストリームであって、前記少なくとも1つの制御情報のユニットの前記コンテンツ情報のユニットに対する位置が異なっているストリームを受け取るステップと、
    該ストリームにおける前記少なくとも1つの制御情報のユニットの前記位置を検出するステップと、
    前記少なくとも1つの制御情報のユニットの該検出した置を前記クライアントモジュールに適用して、該検出した位置に応じて異なる動作をするように該クライアントモジュールを制御するステップとを含み、
    前記ホストモジュールは、前記ストリームの再生を制御するユーザによって取られる処置に基づいて、該ホストモジュールが該ストリームに挿入する前記制御情報を動的に変更することを特徴とする方法。
  21. 請求項20の方法を実装するためのマシン可読命令を格納して有することを特徴とするコンピュータ可読媒体。
  22. コンテンツ情報をクライアントモジュールにストリーミングするためのホストモジュールであって、
    クライアントモジュールに送信されるストリームに含めるためのコンテンツ情報のユニットを提供し、
    該ストリームに含めるための少なくとも1つの制御情報のユニットを提供し、
    前記ストリームにおける前記コンテンツ情報のユニットの位置に対する前記少なくとも1つの制御情報のユニットの位置を異ならせて、該クライアントモジュールが前記コンテンツ情報のユニット及び前記少なくとも1つの制御情報のユニットを含む前記ストリームを受け取ったときに前記位置に応じて該クライアントモジュールが異なる動作をするように、該コンテンツ情報のユニット及び該少なくとも1つの制御情報のユニットを前記ストリームに含め、さらに、
    前記コンテンツ情報のユニットおよび前記少なくとも1つの制御情報のユニットを含む前記ストリームを、前記クライアントモジュールに送信するように構成された転送処理モジュールを含み、
    前記ストリームの再生を制御するユーザによって取られる処置に基づいて、前記ストリームに挿入する前記制御情報を動的に変更することを特徴とするホストモジュール。
  23. ホストモジュールからストリーミングコンテンツ情報を受け取るためのクライアントモジュールであって、
    前記ホストモジュールから、コンテンツ情報のユニット及び該コンテンツ情報のユニット間に配置された少なくとも1つの制御情報のユニットを含むストリームであって、前記少なくとも1つの制御情報のユニットの前記コンテンツ情報のユニットに対する位置が異なっているストリームを受け取り、
    該ストリームにおける前記少なくとも1つの制御情報のユニットの前記位置を検出し、さらに、
    前記少なくとも1つの制御情報のユニットの該検出した置を前記クライアントモジュールに適用して、該検出した位置に応じて異なる動作をするように該クライアントモジュールを制御するように構成された受信処理モジュールを含み、
    前記ホストモジュールは、前記ストリームの再生を制御するユーザによって取られた処置に基づいて、該ホストモジュールが該ストリームに挿入する前記制御情報を動的に変更することを特徴とするクライアントモジュール。
  24. ホストモジュールとクライアントモジュールの間でコンテンツ情報を送信するためのシステムであって、
    クライアントモジュールに送信されるストリームに含めるためのコンテンツ情報のユニットを提供し、
    該ストリームに含めるための少なくとも1つの制御情報のユニットを提供し、
    前記ストリームにおける前記コンテンツ情報のユニットに対する前記少なくとも1つの制御情報のユニットの位置を異ならせて、該クライアントモジュールが前記コンテンツ情報のユニット及び前記少なくとも1つの制御情報のユニットを含む前記ストリームを受け取ったときに前記位置に応じて該クライアントモジュールが異なる動作をするように、該コンテンツ情報のユニット及び該少なくとも1つの制御情報のユニットを前記ストリームに含め、さらに、
    前記コンテンツ情報のユニットおよび前記少なくとも1つの制御情報のユニットを含む前記ストリームを、前記クライアントモジュールに送信するように構成されたホストモジュールを含み、
    該ホストモジュールから、前記少なくとも1つの制御情報のユニットの前記コンテンツ情報のユニットに対する前記位置が異なっている前記ストリームを受け取り、
    該ストリームにおける前記少なくとも1つの制御情報のユニットの前記位置を検出し、さらに、
    前記少なくとも1つの制御情報のユニットの該検出した置を前記クライアントモジュールに適用して、該検出した位置に応じて異なる動作をするように該クライアントモジュールを制御するように構成された受信モジュールを含み、
    前記ホストモジュールは、前記ストリームの再生を制御するユーザによって取られた処置に基づいて、該ホストモジュールが該ストリームに挿入する前記制御情報を動的に変更することを特徴とするシステム。
  25. 前記クライアントモジュールが前記ホストモジュールに結合メカニズムを介して結合された拡張ユニットとして実装され、該拡張ユニットが前記ホストモジュールによって実装されたメディア配信サービスのインスタンスを実行するように構成される、請求項24のシステム。
JP2005215764A 2004-07-29 2005-07-26 インバンド制御情報を伝送するためのストラテジー Active JP5005895B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/901,682 2004-07-29
US10/901,682 US8266311B2 (en) 2004-07-29 2004-07-29 Strategies for transmitting in-band control information

Publications (2)

Publication Number Publication Date
JP2006081159A JP2006081159A (ja) 2006-03-23
JP5005895B2 true JP5005895B2 (ja) 2012-08-22

Family

ID=35395432

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005215764A Active JP5005895B2 (ja) 2004-07-29 2005-07-26 インバンド制御情報を伝送するためのストラテジー

Country Status (5)

Country Link
US (1) US8266311B2 (ja)
EP (1) EP1622386A3 (ja)
JP (1) JP5005895B2 (ja)
KR (1) KR101159335B1 (ja)
CN (1) CN1770777A (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4519736B2 (ja) * 2004-09-15 2010-08-04 株式会社東芝 データ伝送システム、データ伝送方法およびメディア装置
JP5184757B2 (ja) * 2006-05-16 2013-04-17 京セラ株式会社 放送受信装置および表示方法
JP4347322B2 (ja) * 2006-07-14 2009-10-21 ソニー株式会社 受信装置および方法、並びにプログラム
EP1879346A1 (en) * 2006-07-14 2008-01-16 Sony Service Centre (Europe) N.V. System and method of audio/video streaming
US20080077650A1 (en) * 2006-08-29 2008-03-27 Jared Matthew A Method and apparatus for transferring data between a home networked device and a storage system
US8341282B2 (en) * 2006-11-21 2012-12-25 Verizon Patent And Licensing Inc. Hybrid buffer management
CN101335883B (zh) * 2007-06-29 2011-01-12 国际商业机器公司 在数字视频广播***中对视频流进行处理的方法和设备
US7769035B1 (en) * 2007-07-13 2010-08-03 Microsoft Corporation Facilitating a channel change between multiple multimedia data streams
US9211473B2 (en) * 2008-12-15 2015-12-15 Sony Computer Entertainment America Llc Program mode transition
US8155151B2 (en) 2008-01-02 2012-04-10 Cisco Technology, Inc. Secure combined interoperable multiplexing
WO2009096686A2 (ko) 2008-01-29 2009-08-06 Samsung Electronics Co,. Ltd. 컨텐츠 공유 서비스 제공 방법 및 그 장치
US8973028B2 (en) 2008-01-29 2015-03-03 Samsung Electronics Co., Ltd. Information storage medium storing metadata and method of providing additional contents, and digital broadcast reception apparatus
WO2009096684A2 (ko) * 2008-01-29 2009-08-06 Samsung Electronics Co,. Ltd. 버디를 위한 컨텐츠 레코딩 제어 방법 및 그 장치
WO2009100420A2 (en) * 2008-02-07 2009-08-13 Realnetworks, Inc. Selective advertising in media content
US8170123B1 (en) * 2008-04-15 2012-05-01 Desktone, Inc. Media acceleration for virtual computing services
US20090268732A1 (en) * 2008-04-29 2009-10-29 Thomson Licencing Channel change tracking metric in multicast groups
US9009219B2 (en) * 2010-01-27 2015-04-14 Vmware, Inc. Native viewer use for service results from a remote desktop
US9274821B2 (en) 2010-01-27 2016-03-01 Vmware, Inc. Independent access to virtual machine desktop content
US8548460B2 (en) 2010-05-25 2013-10-01 Qualcomm Incorporated Codec deployment using in-band signals
US9237172B2 (en) * 2010-05-25 2016-01-12 Qualcomm Incorporated Application notification and service selection using in-band signals
US9681236B2 (en) 2011-03-30 2017-06-13 Sonova Ag Wireless sound transmission system and method
US10976981B2 (en) 2011-07-15 2021-04-13 Vmware, Inc. Remote desktop exporting
US10983747B2 (en) 2011-07-15 2021-04-20 Vmware, Inc. Remote desktop mirroring
US8929290B2 (en) 2011-08-26 2015-01-06 Qualcomm Incorporated In-band signaling to indicate end of data stream and update user context
US9467305B2 (en) 2012-03-07 2016-10-11 Vmware, Inc. Multitenant access to multiple desktops on host machine partitions in a service provider network
JP6268066B2 (ja) * 2013-09-20 2018-01-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 送信方法、受信方法、送信装置及び受信装置
US9549015B2 (en) 2014-04-15 2017-01-17 Lattice Semiconductor Corporation Communication of multimedia data streams over multiple communication lanes
WO2017010315A1 (ja) * 2015-07-15 2017-01-19 ソニー株式会社 信号処理装置および信号処理方法
WO2018236337A1 (en) * 2017-06-19 2018-12-27 Hewlett-Packard Development Company, L.P. PROCESSORS OF AUDIO, VIDEO AND VOICE COMMUNICATION
US11176607B1 (en) 2018-06-28 2021-11-16 Square, Inc. Capital loan optimization
CN113542795B (zh) * 2020-04-21 2023-04-18 腾讯科技(深圳)有限公司 视频处理方法、装置、电子设备及计算机可读存储介质
EP4327558A1 (en) * 2021-04-20 2024-02-28 Block, Inc. Live playback streams

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0128244B1 (ko) 1992-09-23 1998-04-02 배순훈 병렬 구조를 갖는 부호 화상 데이타의 복호 장치
US5652627A (en) 1994-09-27 1997-07-29 Lucent Technologies Inc. System and method for reducing jitter in a packet-based transmission network
BR9606534A (pt) 1995-07-21 1999-09-21 Philips Electronics Nv Processos de transmissão de um sinal de televisão comprimido e para receber um sinal de televisão comprimido a partir de um transmissor, transmissor para a transmissão de um sinal de televisão comprimido, e, receptor para receber um sinal de televisão comprimido.
US5737552A (en) 1995-07-28 1998-04-07 Starwave Corporation Machine, method and medium for linear programming with interactive conversational interface
US5974464A (en) * 1995-10-06 1999-10-26 Silicon Image, Inc. System for high speed serial video signal transmission using DC-balanced coding
US6674858B1 (en) 1997-12-10 2004-01-06 Hitachi, Ltd. Receiving device, recording and reproducing device and receiving/recording-reproducing system for digital broadcast signal
JP2000059328A (ja) 1998-08-06 2000-02-25 Matsushita Electric Ind Co Ltd 多重化装置、及びその多重化方法
US6314569B1 (en) 1998-11-25 2001-11-06 International Business Machines Corporation System for video, audio, and graphic presentation in tandem with video/audio play
US6795863B1 (en) * 1999-08-10 2004-09-21 Intline.Com, Inc. System, device and method for combining streaming video with e-mail
AU7358200A (en) 1999-09-09 2001-04-10 E-Studiolive, Inc. Client presentation page content synchronized to a streaming data signal
US6747991B1 (en) 2000-04-26 2004-06-08 Carnegie Mellon University Filter and method for adaptively modifying the bit rate of synchronized video and audio streams to meet packet-switched network bandwidth constraints
US7181759B2 (en) * 2000-05-26 2007-02-20 Bigband Networks, Inc. System and method for providing interactivity for end-users over digital broadcast channels
US7471834B2 (en) 2000-07-24 2008-12-30 Vmark, Inc. Rapid production of reduced-size images from compressed video streams
JP2002077811A (ja) 2000-08-24 2002-03-15 Sony Corp データ処理方法及び装置、データ伝送システム、伝送媒体
JP2002112194A (ja) 2000-09-29 2002-04-12 Sony Corp データ処理方法及び装置、データ伝送システム、伝送媒体
US20020116471A1 (en) 2001-02-20 2002-08-22 Koninklijke Philips Electronics N.V. Broadcast and processing of meta-information associated with content material
JP2002252844A (ja) 2001-02-26 2002-09-06 Megafusion Corp データ配信システム
KR100413682B1 (ko) * 2001-03-26 2003-12-31 삼성전자주식회사 암호화된 데이터를 포함한 데이터의 전송 및 수신 제어 방법
US6742082B1 (en) * 2001-06-12 2004-05-25 Network Appliance Pre-computing streaming media payload method and apparatus
US7950033B2 (en) 2001-10-10 2011-05-24 Opentv, Inc. Utilization of relational metadata in a television system
KR100406122B1 (ko) * 2002-03-29 2003-11-14 한국전자통신연구원 디지털 데이터 방송을 위한 동기화 데이터 삽입 장치 및그 방법
US20030196202A1 (en) 2002-04-10 2003-10-16 Barrett Peter T. Progressive update of information
KR20040111670A (ko) * 2002-05-21 2004-12-31 코닌클리케 필립스 일렉트로닉스 엔.브이. 조건부 액세스 시스템
US20030222843A1 (en) 2002-05-28 2003-12-04 Birmingham Blair B.A. Systems and methods for encoding control signals initiated from remote devices
JP3966503B2 (ja) 2002-05-30 2007-08-29 インターナショナル・ビジネス・マシーンズ・コーポレーション コンテンツ再生制御装置、データ管理装置、蓄積型コンテンツ配信システム、コンテンツの配信方法、制御データ送信サーバ、プログラム
US6865336B2 (en) 2003-02-26 2005-03-08 Thomson Licensing S.A. User-specific time values for time-based navigation functions of video recorder systems
US20040194134A1 (en) 2003-03-25 2004-09-30 Gunatilake Priyan Deveka Method and system for rapid channel change providing stored images of current channel programs
JP2004350043A (ja) 2003-05-22 2004-12-09 Sony Corp サーバ装置、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US20050094733A1 (en) 2003-10-31 2005-05-05 Daniell Piers J. Fast channel surfing

Also Published As

Publication number Publication date
EP1622386A3 (en) 2007-07-18
US8266311B2 (en) 2012-09-11
US20060026293A1 (en) 2006-02-02
CN1770777A (zh) 2006-05-10
JP2006081159A (ja) 2006-03-23
KR101159335B1 (ko) 2012-06-22
EP1622386A2 (en) 2006-02-01
KR20060048848A (ko) 2006-05-18

Similar Documents

Publication Publication Date Title
JP5005895B2 (ja) インバンド制御情報を伝送するためのストラテジー
US7890985B2 (en) Server-side media stream manipulation for emulation of media playback functions
JP4794440B2 (ja) デジタルストリーミングフォーマット又はソースの高速な変化に対応する装置及び方法
US7873059B2 (en) Gateway device
US20060195884A1 (en) Interactive multichannel data distribution system
US8122475B2 (en) Remote control for video media servers
US20070058926A1 (en) Optimizing trick modes for streaming media content
JP2009543201A (ja) ローカル・ユーザ・インターフェースの、リモートで生成されたユーザ・インターフェースおよびメディアとの組合せ構成
JP2005051794A (ja) ビデオをオン・デマンドでレンダリングするvcrに似た機能
US7685616B2 (en) Strategies for coalescing control processing
JPWO2006077935A1 (ja) Avサーバ機器
EP2061241A1 (en) Method and device for playing video data of high bit rate format by player suitable to play video data of low bit rate format
JP2006339855A (ja) ネットワーク制御装置、符号化方式変換装置、及びコンテンツデータ再生システム
JP5150459B2 (ja) コンテンツ配信方法及び受信装置
EP2761884B1 (en) Method of saving content to a file on a server and corresponding device
US20140141875A1 (en) Temporary modification for extending functionality of computer games and software applications.
JP5085553B2 (ja) データ・ソースからデータ・シンクへのデータ・フローの転送のための方法、データ・シンク装置、データ・ソース装置、およびこれを実行するための装置
US20080216129A1 (en) Method and system for providing data from audio/visual source devices to audio/visual sink devices in a network
JP2005275643A (ja) コンテンツデータ処理装置及び方法
US20050068976A1 (en) Data transmitting apparatus, data transmitting/receiving system, and data transmitting/receiving method
JP2012119741A (ja) データ配信方法、データ配信装置及びデータ配信プログラム
Kovalick Reference architecture for digital video/audio transfer and streaming
WO2009130446A1 (en) Remote use of computer games and software applications
JP2007201757A (ja) 情報処理装置および方法、並びにプログラム
JP2008252199A (ja) コンテンツ配信方法及びコンテンツ受信端末

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120229

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120518

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120524

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5005895

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250