JP4813001B2 - ストリーミング中のメディアの再同期化 - Google Patents
ストリーミング中のメディアの再同期化 Download PDFInfo
- Publication number
- JP4813001B2 JP4813001B2 JP2001575680A JP2001575680A JP4813001B2 JP 4813001 B2 JP4813001 B2 JP 4813001B2 JP 2001575680 A JP2001575680 A JP 2001575680A JP 2001575680 A JP2001575680 A JP 2001575680A JP 4813001 B2 JP4813001 B2 JP 4813001B2
- Authority
- JP
- Japan
- Prior art keywords
- media
- streaming
- time index
- program
- stream
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2381—Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4381—Recovering the multiplex stream from a specific network, e.g. recovering MPEG packets from ATM cells
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
- Information Transfer Between Computers (AREA)
Description
(背景)
本発明は、コンピュータ・システムの分野に関する。より詳細に言えば、クライアントへのメディア・ストリーミングを再同期化するためのシステムおよび方法が提供される。
【0002】
メディア・ストリーミング・システムは、部分的に記録されたかまたはライブのメディア・プログラムやイベントをクライアント・デバイス(たとえば、コンピュータ、メディア・プレーヤなど)へストリーミングするように設計されている。クライアントは、メディア・ストリームを受け取りながら(すなわち、ストリーミングが完了する前に)再生することができるため、メディア・プログラムまたはイベントを高速で、またはリアルタイムで楽しむことができる。
【0003】
ストリーミングされたメディアは複数のトラックからなる場合が多い。たとえばオーディオビジュアル・プログラムは、一般に、少なくとも1つのオーディオ・トラックおよび少なくとも1つのビデオ・トラックを含む。各トラックは、適切なタイプ(たとえば、オーディオ、ビデオ)のメディアを含み、メディアを正しくストリーミングするのに使用されるメタデータも含むことができる。トラックのメタデータは、プログラム内の所与の時間指標に再生されるはずのメディアセグメントまたはサンプルがファイルのどこに配置されているかを特定するためなど、メディアセグメントまたはサンプル(または他のメディア・ユニット)を識別する情報を含む。したがってメディア・トラックのメタデータは、メディア・ストリーミング・サーバなどが正しいシーケンス、適切なタイミングなどで、メディア・トラックをストリーミングするために使用することができる。
【0004】
メディア・トラックまたはプログラムを複数のクライアントにストリーミングする場合、既存のシステムは通常、各クライアントに対して各トラックのメタデータのコピーを別々に格納する。より具体的に言えば、これらのシステムは、新しいクライアントがメディアを要求するたびに、ストリーミングされるメディアを含むメディア・ファイルからメタデータを繰返し抽出し格納する。多数のクライアントにサービスを提供している場合、サーバのリソース(たとえばメモリ、処理装置、ディスク使用など)が大量に要求される可能性があり、サーバがサポートできるクライアントの数が制限される場合がある。
【0005】
また、既存のシステムの中には、典型的には、ストリーミングされるメディアを含むメディア・ファイルにアクセスするためのファイル記述子を1つしか割り振らないものがある。その記述子は特定のメディア・ストリームを受け取るすべてのクライアント間で共有しなければならない。これによって、各クライアントが異なるメディア・セグメントまたはサンプルをシークして(すなわち見つけて)抽出しようとするたびにクライアント・ストリーミングの間で多くの争いが発生することになる。
【0006】
さらに、マルチトラックのメディア・プログラムをクライアントにストリーミングする場合、既存のメディア・ストリーミング・システムは、適切な対応するトラック・メディアがプログラムの時間単位ごとにストリーミングまたは再生されるように、トラック間での同期を維持しようとする。しかし、同期が失われると回復できない場合がある。たとえば、1つのトラックのメディアを、他のトラックのメディアよりも低速で(たとえば記憶デバイスから)受け取する場合、既存のメディア・ストリーミング・システムは、たとえトラックが同期からさらに外れるようになっても、単にメディア・ストリーミングだけを続行することがある。他のシステムでは、同期が失われた場合、その状況の修正を試みることなく、単にメディア・ストリーミングを中止するだけのこともある。
【0007】
(概要)
したがって、本発明の一実施態様では、複数のトラックを含むメディア・プログラムまたはプレゼンテーションのストリーミングを同期化または再同期化するためのシステムおよび方法が提供される。
【0008】
この実施態様では、メディア・ストリーミング・サーバは、プログラムの1つまたは複数のトラックのメディア・データが対応するメディア時間指標でのストリーミングに使用できない場合、ストリーミングされたメディア・プログラムは同期が取れていないと判定する。たとえば、メディア記憶デバイスなどのソースが十分な速度でメディアを供給できない場合、ストリーミングに使用できるメディアに対応する時間指標は、メディア・プログラムの現在の時間指標(すなわち、メディアをストリーミングすることになっているプログラムの時間指標)よりも遅れる場合がある。本実施態様では、メディア・ストリーミング・サーバは同期の損失が検出されると古いデータをドロップし、その後の時間指標でメディア・ストリーミングの再同期化を試行することができる。
【0009】
具体的に言えばメディア・ストリーミング・サーバは、将来のメディア時間指標を選択し、その後の指標に対応するメディア・データの取出しを要求または試行することができる。新しい指標に達するまでの時間にメディアが使用可能であれば、メディア・ストリーミングを再開することができる。そうでなければサーバは、ストリーミングを中止または終了する前に、しきい値の回数だけ再同期化を試行することができる。
【0010】
(詳細な説明)
以下の説明は、当分野の任意の技術者が本発明を作成および使用できるようにするために提示され、本発明の特定の応用例およびその要件という状況で提供される。当分野の技術者であれば、開示された実施形態に対する様々な修正が容易に明らかとなり、本明細書に定義された一般的な原理は、本発明の精神および範囲を逸脱することなく他の実施形態および応用例に適用することができる。したがって本発明は、例示された実施形態に限定されるものではなく、本明細書に開示された原理および特徴に適合する最も広い範囲が与えられる。
【0011】
本発明の実施形態が実行されるプログラム環境は、ほぼすべての構成のコンピュータまたは通信デバイス(たとえば、有線、無線、携帯用、デスクトップなど)にデータまたはメディア・ストリーミング・サービスを提供するように構成されたコンピュータ・サーバなどの汎用コンピュータまたは、特定用途向けデバイスを例示的に含んでいる。こうしたコンピュータおよび他のデバイス(たとえば処理装置、メモリ、データ記憶装置、ディスプレイなど)の詳細はよく知られているため、理解しやすいように省略されている。さらに本発明は、オブジェクト指向プログラミング環境で実施できるものとして記載されている。当分野の技術者であれば理解されるように、実施形態の好適な変形形態は、他のプログラミング・モデルまたはフレームワークを使用して実施することが可能である。
【0012】
本発明の技法は、様々な技術を使用して実現できることも理解されたい。たとえば、本明細書に記載された方法は、コンピュータ・システムで実行中のソフトウェアに実装可能であるかまたは、マイクロプロセッサまたは他の特別に設計されたアプリケーション特有の集積回路の組合せ、プログラム可能論理デバイス、あるいはそれらの様々な組合せのいずれかを使用するハードウェアに実装可能である。具体的には、本明細書に記載された方法は、搬送波などの記憶メディア、ディスク・ドライブ、またはコンピュータ読取り可能メディア上に常駐する一連のコンピュータ実行可能命令によって実現可能である。搬送波の例示的な形式は、ローカル・ネットワークまたはインターネットなどの公衆がアクセス可能なネットワークに沿ってデジタル・データ・ストリームを搬送する、電気、電磁、または光の信号形態を取ることができる。
【0013】
本発明の一実施形態では、メディア・ストリーミング・サーバが、メディア・ストリーミング内での同期の損失を検出するように構成されている。たとえば、メディア・プログラムの1つのトラックのメディアが、プログラム全体のペースに合わせられるだけの十分な速度でストリーミングされていない場合、サーバはこれを検出してストリーミングの再同期化を試みる。例示的に言えば、現在のメディア時間(たとえば、サーバがメディアをストリーミングしなければならないメディア・プログラム内の時間指標)が、実際にストリーミングされるかまたはストリーミングに使用可能な(1つまたは複数のトラック用の)メディアのメディア時間指標と異なる場合、メディア・ストリーミングは同期が取れていないとみなすことができる。次いでサーバは、メディア・プログラムのその後の時間指標に進み、その後の時間指標に対応するメディアを要求して、新しい時間指標からのストリーミングを再開するように試みることによって、できる限り複数回、メディア・トラックの再同期化を試みる。
【0014】
メディア・ストリーミング・サーバは、所与のトラックに対してストリーミングする必要のあるメディアが予想された速度で受け取れないか、または対応する時間指標でストリーミングされるのに間に合うように受け取れない場合に、同期の損失をテストまたは決定することができる。たとえばメディアはローカル記憶デバイスに格納することが可能であり、この場合、サーバはストリーミングのニーズに応じてメディアの一部を取り出すようにスケジュールを立てることができる。あるいはメディアを、ライブ・メディア・フィードなどの他のソースから受け取ることもできる。メディアが予想通りに受け取られない場合、サーバは、ストリーミング中またはストリーミングの準備ができているトラック・メディアの時間指標と、他のトラックまたはメディア・プログラム全体の現在の時間指標とを比較する。
【0015】
サーバが、メディア時間指標を進めることによって再同期化を試みる場合、十分な量のメディアの取出しをスケジューリングまたは要求し、ストリーミングをその指標に再同期化させる。サーバがストリーミングを再開しようとするときに必要なメディアが使用可能でない場合、サーバは、その先の別のメディア時間指標に進めて、メディアがその指標でストリーミングされるように要求することにより、別の再同期化を試みることができる。
【0016】
本発明特有の実施形態について、Sun Microsystems,IncのSolaris(商標)オペレーティング・システムを実行中のシステムなどの、UNIX(登録商標)ベースのコンピュータ・システムからQuickTimeメディアをストリーミングするために実施可能なものとして以下に説明する。以下の説明からわかるように、こうした実施形態は、他のタイプのメディアおよび他のコンピュータ・システムで使用するように修正することができる。
【0017】
例示的なメディア・ストリーミング・サーバ
メディア・ストリーミングとは、ユーザがプログラムまたはプレゼンテーション全体を自分のクライアント・デバイスにダウンロードしてしまうまで待つ必要なしに、メディア・コンテンツを受け取って楽しむことができるようにするものである。たとえばユーザは、プログラム全体を受け取るまで待つことなく、部分的に記録されたプログラムを楽しむか、またはライブ・イベントをリアルタイムで体験することができる。
【0018】
メディアは、ユニキャスト・モードまたはマルチキャスト・モードでストリーミング可能である。ユニキャスト・モードの場合、ストリーミング・サーバはそれぞれの受取側クライアント・デバイスへの専用接続を維持し、ユーザに自分のストリーミングに対してかなりの制御権を認める。たとえばユーザは、ストリーミングの一時停止、ストリーミングされたメディアの巻戻しまたは早送り、あるいは他の制御機能の実行が可能である。ただし、これによって、多数のユーザが十分な帯域幅を使用できなくなる可能性がある。マルチキャスト・モードの場合、メディア・ストリーミング・サーバは、より少ない帯域幅を使用して、複数のユーザにプログラムを同時にストリーミングする。したがってこのタイプのストリーミングは、従来の同報通信に類似しており、ユーザは個々のストリーミングを介した制御権をほとんど持たない。ライブ・イベントは、多数のユーザにサービスを提供するために効率が良いことから、通常はマルチキャスト・モードでストリーミングされる。また、ライブ・イベントはリアルタイムで楽しむものであることから、ストリーミングされたメディアを操作する必要もほとんどない。
【0019】
本発明の実施形態によるメディア・ストリーミング・サーバは、「反射」モード・オペレーションで動作することが可能であり、サーバは、メディア・ストリームを別のストリーミング・システムまたはサーバから(通常はマルチキャスト・モードで)受け取り、そのメディアを1人または複数のユーザに(ユニキャストまたはマルチキャスト・モードで)転送する。
【0020】
リアルタイム・メディア・ストリーミングは、メディアの各フレームまたは他のユニットの配布が指定された順序および一定の時間枠内で実行されなければならないため、発行元サーバに制約を与える。したがってメディア・ストリーミング・サーバは、サービスを提供するクライアントの数にかかわらず、ユーザに提供するサービスの質が許容できないレベルまで下がることのないように、リアルタイム・メディア・ストリーミングの要求に合わせるよう努力しなければならない。たとえば、プログラムのタイプ(すなわちライブまたは事前記録済み)およびストリーミングのモード(すなわちユニキャストまたはマルチキャスト)にかかわらず、ストリーミングされるメディアは、一般に、移行時に消費する帯域幅を減らすために圧縮される。それにより、クライアントへのタイムリーなメディアの配布を確実にすることができる。
【0021】
本発明の一実施形態に従ったメディア・ストリーミング・サーバは、QuickTimeメディアおよび/または他の形式のメディアを、ユニキャストまたはマルチキャスト・モードで、私用のネットワークまたはインターネットなどの公衆がアクセス可能なネットワークを介してストリーミングするように構成されている。メディア・ストリームは、伝送メディアに適合するプロトコル・セットに従ってフォーマット化される。具体的に言えば、QuickTimeメディアをストリーミングする場合、サーバは、クライアントのメディア・ストリーミング制御を容易にするためのRTSP(Real-Time Streaming Protocol)用、クライアントへのストリームの配布および/または他のソースからのメディアの受取のためのRTP(Real-Time Transport Protocol)、ストリームの品質に関する情報の受取または交換のためのRTCP(Real-Time Transport Control Protocol)、クライアントにメディアを記述するためのSDP(Session Description Protocol)などのために構成することができる。他の実施形態を他のメディア・プロトコルのために構成することもできる。
【0022】
図1は、本発明の実施形態に従ってQuickTimeメディアをストリーミングするように構成されたメディア・ストリーミング・サーバ102を示す図である。図1では、メディア・ストリーミング・サーバ102がクライアント110、112にサービスを提供する。クライアントにストリーミングされるメディアは、記憶デバイス104から取り出される部分的に記録されたプログラム、またはサーバ130から(たとえばマルチキャスト同報通信130aの一部として)受け取るリアルタイム・プログラムを含むことができる。したがってメディア・ストリーミング・サーバ102は、ライブ・イベント(たとえばコンサート、ニュース放送、スポーツ・イベント)、映画、ドキュメンタリ、トレーニング・ビデオ、教育用の番組またはクラスなどをストリーミングすることができる。
【0023】
メディア・ストリーミングは、メディア・ストリーミング・サーバ102とクライアントとの間に複数の接続を必要とする場合がある。図1に示された実施形態では、第1の接続はクライアントがメディア・ストリーミングを制御できるようにするRTSP(たとえば接続110a、接続112a)である。具体的に言えば、クライアントはRTSP接続を使用してコマンドをメディア・ストリーミング・サーバに送信する。この実施形態でクライアントがサーバに提示できるメディア・ストリーム・コマンドには、サポートされているコマンドのリストを受け取るためのOptions、メディア・プログラムを記述するようにサーバにプロンプトを出すDescribe、受け取りたい所望のトラック(各トラックはビデオ、オーディオなどの異なるメディア形式であってよい)を識別するためのSetup、メディア・トラックまたはプログラムを再生するためのPlay、ストリーミングを一時的に停止するためのPause、ストリーミングを終了させるためのTeardown、などのコマンドが含まれる。したがってクライアント110は、たとえばサーバ102とのRTSP接続110aを確立し、Describeコマンドを発行して、ストリーミングに使用可能なコンテンツおよびトラックの記述を受け取ることができる。その後クライアント110は、1つまたは複数のトラックに対してSetup要求を提示することができる。
【0024】
クライアントがサーバに対してSetupコマンドを発行すると、サーバは、選択されたトラックに対してRTP接続(たとえば接続110b、接続112b)およびRTCP接続(たとえば接続110c、接続112c)を確立する。Playコマンドを受け取ると、サーバはRTP接続を介してクライアントへのメディア・パケットのストリーミングを開始する。サーバおよびクライアントは、RTCP接続を介して、ストリームの品質を記述したRTCPパケットを交換することができる。Teardownコマンドが発行されると、サーバは、発行元クライアントとの関連するストリーミング接続を閉じる。
【0025】
メディア・ストリーミング・サーバによって使用される様々な接続は、サーバおよびクライアントが通信する通信メディア(たとえばインターネット)用のTCP(Transport Control Protocol)ソケットを使用することができる。本発明の他の実施形態では、ソケットを異なるプロトコル(たとえば、HTTP-HyperText Transport Protocol、FTP-File Transfer Protocol)に従って構成することができる。
【0026】
すでに述べたように、図1のメディア・ストリーミング・サーバ102は、リアルタイムまたはライブのメディアをクライアントにストリーミングすることが可能であり、記録されたメディアをストリーミングすることも可能である。さらに、反射モード・オペレーションでは、メディア・ストリーミング・サーバは、他のサーバ(たとえばサーバ130)からのライブ・イベント、ビデオ・カメラ、同報通信など、他のエンティティから受け取ったメディアをクライアントに転送することができる。この状況では、メディア・ストリーミング・サーバ102はクライアントとして動作し、エンティティとの間で確立されたRTP接続を介してメディア・パケットを受け取る。
【0027】
クライアント110、112は、メディア・ストリーミング・サーバ102からストリーミングされたメディアを再生するのに好適な、メディア・プレーヤを備える。QuickTimeメディア・ストリーミングの場合、クライアントは、Apple Computer,Incから入手可能なものと同様に、QuickTimeプレーヤを操作することができる。クライアント・コンピューティング・デバイスは、好適なメディアプレーヤが使用可能なほぼすべてのオペレーティング・システム(たとえば、Solaris、Mac OS、Windows(登録商標)、Linux)を動作させることができる。クライアント・デバイスは、比較的低い帯域幅の通信機能(たとえば56Kモデム)を備えることができるため、メディア・ストリームは、比較的遅いビット・レートで送信することができる。もちろん、より堅固なクライアントに対しては、より速いビット・レートも実施可能である。クライアントは、URL(Uniform Resource Locator)、ファイル名、プログラム名(たとえば映画の名前、歌の題名)などを提示することによって、ストリーミングされてくるメディアを識別することができる。
【0028】
参照により本明細書に組み込まれた2001年4月6日付出願の「Method and Apparatus for Handling Events Received at a Server Socket」という名称の米国特許出願第09/xxxxxx号は、数の限られた通信ソケットを介して複数のクライアントに対してメディアをストリーミングするためのメディア・ストリーミング・サーバ102の構成を開示している。
【0029】
単一のファイル・トラックを使用した複数クライアントへのメディア・ストリーミング
本発明の一実施形態では、メディア・ストリーミング・サーバは、ストリーミング・プロセスを容易にするためにメタデータを伴ったメディアをストリーミングする。たとえば、QuickTimeメディア・トラックに関するメタデータは、メディアのどのユニットまたはどの部分(たとえば、オーディオ・サンプル、映画のセグメントなど)が、メディアのプログラム内の所与の時間指標に対応するか、およびメディア・ファイル内のどこにそれがあるかを示すことができる。この実施形態では、メタデータは1回だけアセンブルする(たとえば、所与のメディア・トラックについて1つまたは複数のメディア・ファイルから抽出する)ことができるが、これを使用して、そのトラックを複数のクライアントにストリーミングするのを容易にすることができる。したがってこの方式は、メタデータの別々のコピーがそれぞれ個々のクライアント・ストリーミングに対してアセンブルされる既存のストリーミング・システムよりは効率的である。
【0030】
メタデータの助けを借りていったん抽出されたメディア・データは、RTPパケットに配置され、クライアントにストリーミングされる。メディア・データは、クライアントが処理できるほぼすべての形式でのストリーミングに備えることができる。具体的に言えば、メディアはその符号化、圧縮、または他の属性を変更せずに、パケットに配置することができる。
【0031】
例示的に言えば、クライアントは、複数のトラックを含むメディア・ストリームを要求するか、または特定のトラックを個々に要求することができる。各トラックは独自のメタデータを有し、別々のストリームとしてクライアントに送信することができる(すなわち、複数のトラックを単一のストリームに組み合わせても組み合わせなくてもよい)。前述のように、本発明の一実施形態では、メディアはRTPパケットで送信され、この場合、ストリーミングはRTSPコマンドを介してクライアントが制御可能であり、ストリームの品質はRTCPを介して報告可能である。本発明の他の実施形態では、他の好適なプロトコルが使用される。
【0032】
メディア・ストリーミング・サーバがソースからのメディアを(RTPパケットとして)受け取り、それをクライアントにストリーミングするという反射モードで動作している場合、そのサーバはメディアのメタデータをメディアと一緒にまたはメディアに先立って受け取ることができる。
【0033】
図2は、本発明の一実施形態により、トラックのメタデータの別々のコピーを別々に抽出または作成することなく、単一のファイル・トラックおよび複数のファイル・トラックを使用して、メディア・トラックを複数のクライアントにストリーミングする処理を示す図である。
【0034】
例示された実施形態では、メディア・プログラム200がオーディオ・トラック202およびビデオ・トラック204を含む。各トラックは、プログラムに関する指示されたメディアのタイプ(すなわちオーディオ、ビデオ)および、とりわけ、どのメディア・ユニット(たとえばオーディオ・サンプル、ビデオ・フレーム)がメディア・プログラム内の所与の時間指標に対応するかを識別し、所与のユニットがどのまとまり(たとえばメディア・ユニットのコレクション)に属するかまたは含まれるかを識別し、所与のまとまり内にあるメディア・ユニットをリスト表示し、所与のまとまりまたはメディア・ユニットがメディア・プログラム・ファイル200内のどこに格納されるかを識別し、コンテンツ・ツールがトラック全体をコピーまたは圧縮することなくトラックの一部を挿入または削除できるようにする(たとえば、トラックを断片化できるようにする)編集テーブルを含む、などのメタデータを含む。例示的に言えば、オーディオ・トラック202およびビデオ・トラック204は、別々のファイル(またはファイルのセット)として格納される。ただし、別法として、異なるタイプのトラックまたは異なるタイプのトラックの一部を単一のファイルに格納することもできる。
【0035】
メディア・トラックのメタデータは、トラックのメディアを含むファイル内に隣接して格納すること、トラックのメディア・ファイル全体に分配すること、または別々のトラックとして格納することもできる。
【0036】
本発明のこの実施形態によれば、各トラックのメタデータは、抽出された後、別々のファイル・トラックに格納される。したがって、オーディオ・トラック202のメタデータはファイル・トラック212としてアセンブルされ、ビデオ・トラック204のメタデータはファイル・トラック214に格納される。トラック内の異なるタイプのメタデータは、別々のテーブル、リスト、または他のデータ構造として格納することができる。
【0037】
メディア・プログラムのトラックがストリーミングされる各クライアントについて、別々のファイル・トラック・ハンドルが確立される。したがって、クライアント230aの場合、それぞれファイル・トラック212および214のメタデータにアクセスするために、ファイル・トラック・ハンドル222a、224aが確立される。同様に、クライアント230bの場合、オーディオ・トラック202用のファイル・トラック212に格納されたメタデータにはファイル・トラック・ハンドル222bがアクセスし、ビデオ・トラック204用のファイル・トラック214のメタデータにはファイル・トラック・ハンドル224bがアクセスする。例示的に言えば、各ファイル・トラック・ハンドルは、様々なタイプの情報にアクセスする際に使用する、1つまたは複数のポインタまたは関連付けられたファイル・トラックへの他の参照を含む。
【0038】
さらに、所与のクライアント・ストリーミングに対する各ファイル・トラック・ハンドルまたはファイル・トラック・ハンドルのセットに、トラックのメディアを格納するメディア・ファイルにアクセスするための別々のファイル記述子を割り振ることもできる。したがって、オーディオ・トラック202およびビデオ・トラック204が別々のファイルに格納されている図2の実施形態では、ファイル・トラック・ハンドル222a、222b、224a、224bそれぞれに、ストリーミング用のメディアを見つけ出して抽出するための独自のファイル記述子が割り振られる。
【0039】
メディアをクライアントにストリーミングする間(たとえば、クライアントがトラックまたはプログラムの再生を要求した後)、クライアントのストリーミング用のファイル・トラック・ハンドルは、メディア固有のシーケンス(すなわち、メディアの各時間指標についてストリーミングするためのメディア・ユニット)を決定するためにファイル・トラックにアクセスする。この情報を使用して、ファイル・トラック・ハンドルはメディア・ファイルからメディアを抽出し、それがRTPパケット(または他の好適なプロトコルに従って構成されたパケット)に配置され、RTP接続を介してクライアントにストリーミングされる。クライアントがストリーミングを終了すると、ファイル・トラック・ハンドルは削除される。
【0040】
本発明の一実施形態では、ファイル・トラックが、それへの参照を維持しているファイル・トラック・ハンドルの数を監視するように構成される。この実施形態では、関連するメディア・トラックのすべてのクライアントのストリーミングが終了すると、ファイル・トラックはそれ自体を削除し、他のプロセスまたはメディア・トラック用の追加のリソースを解放することができる。
【0041】
図3は、本発明の一実施形態で使用されるいくつかのプログラムのオブジェクトを示す図である。例示されたプログラム・オブジェクトと同様に動作するように構成された、適切な対応するプログラムのモジュールを、オブジェクト指向でないプログラミング方法を備えたコンピュータ・システム用に生成することができる。
【0042】
この実施形態では、Track 302が、メディア・トラック用のメタデータをアセンブルし、複数のファイル・トラック・ハンドルが様々なクライアント・ストリームの代わりにメタデータを使用することができるように構成されたオブジェクトのクラスを表す。ライブまたはリアルタイムのイベント・メディアをストリーミングするためにメタデータをアセンブルするためのLiveTrack 320、格納または部分的に記録されたメディア用のメタデータをアセンブルするためのFileTrack 322などの、複数タイプのトラック・オブジェクトをTrack 302から生成することができる。本発明の一代替実施形態では、1タイプのトラック・オブジェクト(たとえばFileTrack 322)を、部分的に記録されたメディアとライブ・メディアの両方を容易にストリーミングするように構成することができる。他の代替実施形態では、ライブ・メディアがトラックの形式ではないため、何らかの他の方式でクライアントに提供される場合がある。
【0043】
QuickTime FileTrack 322aおよびMPEG FileTrack 322bは、2つの特有のメディア形式(すなわちQuickTimeおよびMPEG)用のメタデータを処理するように構成されたFileTrackオブジェクトを表す。Track 302から生成されるオブジェクトは、ライブ・メディア、部分的に記録されたメディア、および/または他のメディアを処理するのに役立つ属性および方法を引き継ぐことができる。引き継がれた属性の中には、たとえば、所与のトラックを参照するトラック・ハンドルのカウントを維持するものもある。
【0044】
TrackHandle 304は、トラック・メタデータの共用コレクションを使用するクライアントへのトラック・メディア・ストリーミングを容易にするように構成されたオブジェクトのクラスを表す。例示的に言えば、LiveTrackHandle 340は、ライブ・メディア・ストリーミング用に構成されたTrackHandleオブジェクトのクラスを表し、FileTrackHandle 342は、部分的に記録されたかまたは他に格納されたメディア用に構成されたTrackHandleオブジェクトのクラスを表す。本発明の一代替実施形態では、1タイプのトラック・ハンドル・オブジェクト(たとえば、FileTrackHandle 342)を、部分的に記録されたメディアとライブ・メディアの両方をストリーミングするように構成することができる。他の代替実施形態では、ライブ・メディアがトラックの形式を取らないようにすることが可能であるため、本明細書に記載された以外の何らかの他の方式で、クライアントにサービスを提供することができる。
【0045】
QuickTimeメディア用のQuickTime FileTrackHandle 342aおよびMPEGメディア用のMPEG FileTrackHandle 342bなどのように、FileTrackHandle 342から、様々なタイプのFileTrackHandleオブジェクトを特定形式のメディア用にインスタンス化することが可能である。
【0046】
本発明のこの実施形態では、TrackHandle 304から導出されたそれぞれのTrackHandleオブジェクトが、メディア・プログラムまたはトラックの一定の時間指標に移動するため、(クライアントへのストリーミングの際に)メディア・データをバッファに読み込むためなどに好適な方法を含む。したがって、TrackHandleオブジェクトは、メディア・トラックにおけるクライアントの現在の再生位置に関する状態情報を維持し、メディアパケットをクライアントに送信するための1つまたは複数のバッファ、およびメタデータにアクセスするための対応するTrackオブジェクトを指す1つまたは複数のポインタまたは参照を含むことができる。
【0047】
FileTrackオブジェクトが所与のメディア・トラック用にいったん確立されると、そのトラックに関する後続のクライアント要求は、トラックのメタデータを再度アセンブルするのではなく、確立されたFileTrackを使用する。したがって、FileTrackオブジェクトは、新しいクライアント・ストリーミング用に新しいFileTrackHandleオブジェクトをインスタンス化するように構成することができる。
【0048】
図4は、本発明の一実施形態に従い、メディアのメタデータのコピーを1つだけ維持しながら、1つのトラックから複数のクライアントへのメディア・ストリーミングを処理する方法を実証する図である。この方法では、同じメディアを、異なるタイミングで各クライアントにストリーミングすることができる。すなわち、異なるクライアントは、任意の所与の時間に、メディア・トラック内の異なる時間指標からメディアをストリーミングすることができる。
【0049】
例示された手順の状態402では、まだストリーミングされていない何らかの部分的に記録されたメディアをストリーミングするための要求が受け取られる。たとえば要求は、特定のメディア・トラックをセットアップおよび再生するためのRTSPコマンドとして受け取ることができる。他の形式の要求元メディアは、メディアの他のプロトコルまたは形式で使用することができる。
【0050】
状態404では、要求されたメディアのメタデータへの共用アクセスを管理するために、メディア・ストリーミング・サーバがTrackオブジェクトを作成する。例示された手順は、FileTrackオブジェクトの作成を示し、前述のように部分的に記録されたメディア・プログラムおよびトラック用に構成することができる。
【0051】
状態406では、FileTrackオブジェクトがメディア・トラックからメタデータを抽出して格納する。FileTrackオブジェクトは、メタデータをアセンブルするために、メディア・トラックを含む1つまたは複数のファイルを解析しなければならない。
【0052】
状態408では、ストリーム特有のクライアント・コンテキストとFileTrackオブジェクトによって保持されるトラック特有のメタデータとの間をマッピングまたはインターフェースするために、新しいクライアント・ストリーム用にFileTrackHandleが生成される。FileTrackHandleオブジェクトには、アセンブルされたメタデータへの1つまたは複数の参照(たとえば、異なるテーブルまたは異なるタイプのメタデータに対する異なる参照)を提供することができる。さらに、FileTrackHandleには、(たとえば、ストリーミングされるメディアを見つけ出して抽出するための)メディアを含むファイルへのアクセスを容易にするために、ファイル記述子または同様のリソースが割り振られる。
【0053】
状態410では、要求されたメディアが新しいクライアントにストリーミングされる。クライアントは、たとえば、メディアの特定部分を探すための巻戻しまたは早送り、ストリーミングの一時停止など、ストリーミングを制御するためのコマンドを発行することができる。
【0054】
状態412では、メディアが1人または複数のクライアントにストリーミングされている間に、メディア・ストリーミング・サーバは同じメディアに関する任意の新しい要求がないかどうかを見守る。新しい要求が受け取られると、例示された手順では、状態408に戻って、新しいFileTrackHandleオブジェクトおよび新しいストリームをセットアップする。それ以外の場合は、手順は状態414に進む。
【0055】
状態414では、メディア・ストリーミング・サーバが、メディアのすべてのクライアントのストリーミングが終了したかどうかを判定する。サーバは、たとえば1つのクライアントのストリーミングが終了すると必ずこの判定を下すことができる。例示的に言えば、クライアントのストリーミングが終了すると、関連付けられたFileTrackHandleオブジェクトが削除される。いずれかのストリーミングが依然として使用中または確立されている場合、あるいはいずれかの新しいストリーミングがセットアップ処理中である場合、手順は状態410に戻る。それ以外の場合は、手順416に進む。
【0056】
状態416では、すべてのクライアントのストリーミングが終了した後、FileTrackオブジェクトは削除され、メタデータはメモリから除去される。
【0057】
当分野の技術者であれば、図4に示された手順が、複数のクライアントのメディア・ストリーミングに対して単一のメディア・トラック・メタデータ・セットを共用する単なる1つの方法であることを理解されよう。本発明の範囲を逸脱することなく、前述の説明から他の好適な方法を導出することができる。
【0058】
ストリーミング中のメディアの再同期化
本発明の一実施形態では、メディア・ストリーミングを再同期化するためのシステムおよび方法が提供される。この実施形態では、ストリーミングされるプログラムまたはイベント内の1つまたは複数のトラック用のメディアが、ストリーミングの時間指標とペースを合わせられるだけの十分な速度でストリーミングされていない場合、メディア・ストリーミングは同期が取れていないとみなされる。言い換えれば、ストリーミングされるメディア・プログラムの現在の時間指標は、すべてのトラックが対応するメディアを送信していなければならない時間指標である。特定トラック用のメディアが現在の時間指標から遅れている場合、またはそのトラック用に何のメディアもまったくストリーミングされていない場合、ストリーミングは同期が取れていないとみなすことができる。たとえば、トラックのメディアのソース(たとえば記憶デバイス、ライブ・メディア・フィード)が十分な速度でメディアを供給できない場合に、同期の損失が発生することがある。
【0059】
同期が失われると、メディア・ストリーミング・サーバは、ストリーミングを再開するための新しいその後のメディア時間指標を選択することで、メディア・ストリーミングの再同期化を試みることができる。その後サーバは、新しい時間指標に対応するメディアを要求するかまたは新しい時間指標に達するまで待機し、サーバは、ストリーミングを中止するか、または伝送の準備ができている(たとえば、依然として同期しているトラック用の)メディア・ストリーミングを続行することができる。
【0060】
新しい時間指標に達し、必要なメディアが受け取られた場合、メディア・ストリーミング・サーバは対応するメディア・ストリーミングを開始する。ただし、新しい時間指標に達したときに新しい時間指標に対応するメディアが使用不可能な場合、サーバは、他のその後の新しい時間指標での再同期化を試みることが可能であり、対応するメディアを取り出すための時間がさらに与えられる。メディア・ストリーミングを再同期化するための試行は設定可能な回数だけ実行可能であり、すべての試行が失敗した場合、サーバはストリーミングを終了することができる。
【0061】
図5は、本発明の一実施形態で、メディア・ストリーミングの再同期化を容易にするために協働可能ないくつかのプログラム・オブジェクトを示す図である。例示されたプログラム・オブジェクトと同様に動作するように構成された適切な対応するプログラム・モジュールを、オブジェクト指向でないプログラミング方法を使用するコンピュータ・システム用に確立することができる。
【0062】
図5では、TrackStream 502は、クライアントへのストリーミング用にメディア・トラックのデータを処理するように構成されたオブジェクトのクラスを表す。LiveTrackStream 520は、ライブ・メディア・ストリーミング用に構成されたオブジェクトのTrackStreamクラスを表し、FileTrackStream 522は、部分的に記録されたかまたは他の格納されたメディア用に構成されたオブジェクトのTrackStreamクラスを表す。Trackストリーミング・オブジェクトは、(たとえば指定された時間指標に関する)特定のトラック・メディアを取り出すためのインターフェースを含むことができる。FileTrackStream 522からは、QuickTimeメディア用のQuickTime FileTrackStream 522aおよびMPEGメディア用のMPEG FileTrackStream 522bなど、異なるタイプのFileTrackストリーミング・オブジェクトを特定形式のメディア用にインスタンス化または呼び出すことが可能である。
【0063】
本発明の一実施形態では、図5に示されたプログラム・オブジェクトは、図3に関して図示および説明されたオブジェクトなどのオブジェクトと協働することができる。具体的に言えば、この実施形態では、FileTrackストリーミング・オブジェクトは、メディア・ファイル内の特定位置を探す、ファイルからデータを読み取るなどのために、FileTrackHandleオブジェクトを含むかまたは参照することができる。
【0064】
ストリーム504は、クライアントへのメディア・ストリームのアブストラクションである。異なるタイプのメディア・ストリームを、たとえばライブ・メディア・ストリーミングはLiveStream 540、部分的に記録されたメディア・ストリーミングはFileStream 542で表すことができる。異なるメディア・プロトコルまたは形式について、ストリーミングを処理するために異なるタイプのストリーミング・オブジェクトを作成することができる。したがって、図5では、FileRTPStream 542aはRTPを介してクライアントにメディアをストリーミングするように構成され、FileHTTPStream 542bはHTTPを介してメディアをストリーミングするように構成される。
【0065】
本発明の例示的な実施形態では、各ストリーミング・オブジェクトが、(たとえば、クライアント・コマンドに応答して)開始、停止、一時停止、およびその他の方法でメディア・ストリーミングを制御するための方法を含む。ストリーミング・オブジェクトは、クライアントとの通信に使用する1つまたは複数のソケットを有し、ストリーミング用のメディア・データを取り出すためのTrackストリーミング・オブジェクトと対話するかまたはこれを含むことも可能である。例示的に言えば、メディアのストリームは複数のトラックを含むことができるため、各ストリーミング・オブジェクトは複数のTrackストリーミング・オブジェクトに関連付けられるかまたはこれを含むことができる。たとえば、1つのオーディオ・トラックおよび1つのビデオ・トラックからなる基本的なオーディオ・ビジュアル・メディア・プログラムをクライアントにストリーミングするために、FileRTPStream 542aが作成されると、FileRTPStream 542aは、各トラック用に別々のFileTrackストリーミング・オブジェクトと対話するか、またはこれを含むことができる。以下で説明するように、メディアのストリーム内のトラックが同期を取れなくなると、ストリーミングを制御しているストリーミング・オブジェクトは、手順の再同期化を開始することができる。
【0066】
本発明の一実施形態では、部分的に記録されたメディア・プログラムを要求するためにクライアントがメディア・ストリーミング・サーバに接続し、メディア・ストリーミングを制御するためにFileRTPStream 542aなどの適切なタイプまたは構成のストリーミング・オブジェクトが生成される。FileRTPStream 542aは、QuickTime FileTrackStream 522aなどの適切なタイプの1つまたは複数のTrackストリーミング・オブジェクトを開始するかまたは呼び出す。その後、FileTrackストリーミング・オブジェクトは、プログラムのトラックにアクセスしてメディアを取り出すために、(たとえば図3に示したような)適切なタイプまたは構成のTrackまたはTrackHandleオブジェクトを作成するかまたは呼び出す。この実施形態では、ストリーミング・オブジェクトがストリーミング(たとえば開始、停止、一時停止)を制御し、必要であればストリーミングを再同期化する。Trackストリーミング・オブジェクトは、適切なタスクの開始ならびに/あるいは(たとえばメディア・データを見つけ出し、メディア・ファイルからデータを読み取るための)TrackまたはTrackHandleオブジェクトが提供するインターフェースの呼出しによって、トラック・メディアの取出しを制御する。
【0067】
図6は、本発明の一実施形態に従ったメディア・ストリーミングの再同期化を実証する図である。例示された手順でストリーミングされるメディアは部分的に記録されているため、1つまたは複数の記憶デバイスから取り出されるが、ライブ・イベントまたは他のサーバから受け取られるライブ・メディアの場合は、この手順を容易に修正することができる。状態602では、複数のトラックを含む部分的に記録されたメディア・プログラムが、割り当てられたストリーミング・オブジェクト(たとえば、図5のFileRTPStream 542a)によってクライアントにストリーミングされる。
【0068】
状態604では、プログラムのトラックのうち1つについてメディア・ファイルからメディア・データを読み取るために、(たとえば図5のQuickTime FileTrackStream 522aによって)要求が実行またはスケジューリングされる。例示的に言えば、要求されたメディア・データは、次のメディア時間指標(たとえば映画の時間)に対応する。要求されたデータを待つ間、ストリーミング・オブジェクトは(以前に取り出されたために)すでに使用可能なメディア・データを同じかまたは異なるトラックに対してストリーミングするか、あるいは要求されたデータが使用可能になるまで待つことができる。
【0069】
状態606では、ストリーミング・オブジェクトは、要求されたデータが使用可能かどうかを判定するか、あるいはデータが受け取られたときに自動的に気付かされるかまたは他の方法で警告されることができる。要求されたデータが受け取られると、次に手順は適切なメディア時間指標でメディア・データをストリーミングするために状態602に戻る。具体的に言えば、プログラムのトラック用のメディア・データがタイムリーな方法で受け取られると、ストリーミング・オブジェクトは対応するメディア時間指標でデータをストリーミングすることができるため、メディア・プログラムの同期が維持される。ストリーミング・オブジェクトが状態606で、要求されたデータが使用できない(たとえば、記憶デバイスに負荷がかかりすぎている)と判定すると、同期の損失が示され、手順は状態608に進む。
【0070】
状態608では、ストリーミング・オブジェクトは現在のメディア時間指標を将来の時間指標まで進めるかまたは増分し、状態610では、その将来の指標に対応するメディア・データを要求する。したがって、本発明のこの実施形態では、メディア・ストリーミング・サーバは、現在と将来の時間指標間のメディア時間に対応して、データのドロップまたは無視を選択する。例示的に言えば、任意のこうしたデータ(たとえば、同期を失っていないトラック用)を廃棄することができる。その後ストリーミング・オブジェクトは、要求されたメディアが受け取られるための適切な時間だけスリープまたは待機する。
【0071】
状態612では、ストリーミング・オブジェクトは、新しいメディア時間指標に対応するメディア・データが受け取られたかどうか、およびストリーミングに使用できるかどうかを判定する。受け取られて使用できる場合、ストリーミング・オブジェクトは状態602に戻り、メディアをストリーミングしてメディアの次の部分を取り出す。
【0072】
ただし、メディア・データが受け取られておらず、新しい時間指標でストリーミングに使用できない場合、状態614でストリーミング・オブジェクトは、しきい値回数(たとえば3回)の再同期化に失敗したかどうかを判定する。失敗していない場合、例示された手順は状態608に戻り、再度、メディア時間指標を進める。時間指標が連続して進められていくごとに、進められる時間を増やしていくことができる。たとえば、最初は時間指標が期間Tだけ進められた場合、次は2*T、次は4*T、次は8*Tというように進めることができる。再同期化がしきい値回数だけ失敗すると、ストリーミング・オブジェクトはストリーミングを中止し、手順は終了する。
【0073】
当分野の技術者であれば、図6に示された手順が、その後の時間指標で同期を回復させるために古いメディアをドロップすることによって、メディア・ストリーミングを再同期化する1つの方法に過ぎないことを理解されよう。本発明の範囲を逸脱することなく、前述の説明から他の好適な方法を導出することができる。
【0074】
必要となるごとに要求されるかまたは取り出されるメディア・データの量は、使用可能なデータ・バッファのサイズまたは数、データ要求が発行される頻度、メディアがクライアントにストリーミングされるビット・レートなどによって、部分的に決めることができる。
【0075】
本発明の実施形態の前述の説明は、例示および説明のためのみに示されたものである。本発明を開示された形式を網羅するかまたはこれに限定することを意図するものではない。当分野の技術者であれば、多くの修正および変形が明らかであろう。したがって、上記の開示は本発明を限定するものではなく、本発明の範囲は添付の特許請求の範囲によって定義される。
【図面の簡単な説明】
【図1】 本発明の一実施形態により、メディアをストリーミングするように構成されたサーバを示す構成図である。
【図2】 本発明の一実施形態により、メディアを複数のクライアントにストリーミングするためのメディア・トラック・メタデータの単一のコピーの使用を示す構成図である。
【図3】 本発明の一実施形態により、トラックのメタデータの単一のコピーを使用して、複数のクライアントにメディア・トラックをストリーミングするように協働する、プログラム・オブジェクトの一構成を示す図である。
【図4】 本発明の一実施形態により、トラックのメタデータの単一のコピーを使用して、複数のクライアントにメディア・トラックをストリーミングする一方法を実証する流れ図である。
【図5】 本発明の一実施形態により、メディア・ストリーミング内のメディアを再同期化するためのプログラム・オブジェクトの一構成を示す図である。
【図6】 本発明の一実施形態により、メディア・ストリーミング内のメディアを再同期化する一方法を実証する流れ図である。
Claims (19)
- メディア・プログラムを表すメディア・ストリームを同期化する方法であって、
前記メディア・プログラムを表すメディア・データをサーバからクライアントへストリーミングすること、
前記サーバにおいて、前記メディア・ストリームの現在のメディア時間指標において、前記メディア・ストリームにおける同期の損失を検出し、ここで、前記現在のメディア時間指標は現在ストリーミングされているべきメディア・データに対応するメディア時間指標であり、同期の損失が検出されるのは、実際にストリーミングされている前記メディア・データのメディア時間指標が前記メディア・ストリームの現在のメディア時間指標より遅れている場合、または、前記メディア・プログラムの、前記現在のメディア時間指標に対応する部分がストリーミングのために使用可能でない場合である、こと、
前記サーバにおいて、前記メディア・データ内の、前記現在のメディア時間指標よりも後の第2のメディア時間指標を選択すること、および
前記サーバにおいて、前記第2のメディア時間指標における前記メディア・プログラムをストリーミングすることを試行することによって、前記第2のメディア時間指標において前記メディア・データの同期化を試行することを含む方法。 - 前記同期化の試行が成功しなかった場合、前記選択および前記試行を高々所定の回数まで繰り返し、前記同期化の試行が成功しなかったと判定されるのは、前記現在のメディア時間指標が前記第2のメディア時間指標に到達したときに、前記第2のメディア時間指標に対応するメディア・データがストリーミングのために使用可能でない場合である、請求項1に記載の方法。
- 前記所定回数の同期化の試行がそれぞれ成功しなかった場合に、前記サーバにおいて、前記メディア・ストリームを終了することをさらに含む請求項2に記載の方法。
- 前記第2のメディア時間指標を選択することが、前記現在のメディア時間指標に所定の時間量を加えることを含む請求項1に記載の方法。
- 前記第2のメディア時間指標を選択することが、実際にストリーミングされている前記メディア・データの前記メディア時間指標に所定の時間量を加えることを含む請求項1に記載の方法。
- 前記同期化の試行が、
前記第2のメディア時間指標に対応する前記メディア・プログラムの一部が、前記第2のメディア時間指標でのストリーミングに使用できるかどうかを判定することと、
前記メディア・プログラム部分がストリーミングに使用できる場合、前記第2のメディア時間指標において前記メディア・プログラムのストリーミングを再開することを含む請求項1に記載の方法。 - メディア・サーバからクライアントにストリーミングされるメディア・プログラムを再同期化する、前記メディア・サーバにおいて実行される方法であって、
(a)メディア・プログラムの、前記メディア・プログラムの第1のメディア時間指標に対応する第1の部分をクライアントにストリーミングすることを試行することを含み、
(b)前記第1のメディア部分が前記第1のメディア時間指標でのストリーミングに使用できない場合、
(c)前記第1のメディア時間指標よりも後の前記メディア・プログラムの第2のメディア時間指標を選択すること、
(d)前記第2のメディア時間指標に対応する前記メディア・プログラムの第2の部分を取得すること、
(e)前記第2のメディア時間指標まで前記メディア・プログラムのストリーミングを中止すること、および
(f)前記第2のメディア時間指標において前記第2のメディア部分が使用可能であれば、前記第2の時間指標から前記メディア・プログラムのストリーミングを開始することによって、
前記メディア・プログラムの再同期化を試行することをさらに含む方法。 - (g)前記第2のメディア部分が前記第2のメディア時間指標において使用不可能であれば、その後のメディア時間指標および前記その後のメディア時間指標に対応する他のメディア部分について前記(b)〜(f)を繰り返すことをさらに含む請求項7に記載の方法。
- 前記(b)〜(f)が高々所定回数まで繰り返され、前記再同期化の試行が前記所定回数の各々で成功しなかった場合、前記ストリーミングを終了し、前記再同期化の試行が成功しなかったと判定されるのは、前記第2のメディア時間指標において、前記第2のメディア部分が使用可能でない場合である、請求項8に記載の方法。
- 前記メディア・プログラムが事前に記録されたメディア・プログラムであり、前記要求することが、記憶デバイスからの前記メディア・プログラムの一部の取出しをスケジューリングすることを含む請求項7に記載の方法。
- 前記第2のメディア時間指標を選択することが、第1の再同期化試行については、
現在のメディア時間指標を決定することと、
前記現在のメディア時間指標に所定の時間増分を加えて前記第2のメディア時間指標を得ることを含む請求項7に記載の方法。 - 前記第2のメディア時間指標を選択することが、後続の再同期化試行については、
第2の現在のメディア時間指標を決定することと、
前記第2の現在のメディア時間指標に、前記所定の時間増分の倍数を加えて前記第2のメディア時間指標を得ることを含む請求項11に記載の方法。 - 前記中止することが、前記第2のメディア時間指標より前のメディア時間指標に対応するメディア・データを廃棄することを含む請求項7に記載の方法。
- 前記メディア・プログラムが複数のトラックを含み、前記第2のメディア時間指標から前記メディア・プログラムをストリーミングすることが、前記メディア・プログラムの複数のトラックからのメディア・データをクライアントに伝送することを含み、前記伝送されたメディア・データが前記第2のメディア時間指標に対応する請求項7に記載の方法。
- コンピュータによって実行されたときにメディア・プログラムを表すメディア・ストリームの同期化方法をコンピュータに実行させる命令を格納する、コンピュータ読取り可能記憶メディアであって、前記方法が、
前記メディア・プログラムを表すメディア・データをサーバからクライアントへストリーミングすること、
前記サーバにおいて、前記メディア・ストリームの現在のメディア時間指標において、前記メディア・ストリームの同期の損失を検出し、ここで、前記現在のメディア時間指標は現在ストリーミングされているべきメディア・データに対応するメディア時間指標であり、同期の損失が検出されるのは、実際にストリーミングされている前記メディア・データのメディア時間指標が前記メディア・ストリームの現在のメディア時間指標より遅れている場合、または、前記メディア・プログラムの、前記現在のメディア時間指標に対応する部分がストリーミングのために使用可能でない場合である、こと、
前記サーバにおいて、前記メディア・データ内の、前記現在のメディア時間指標よりも後の第2のメディア時間指標を選択すること、および
前記サーバにおいて、前記第2のメディア時間指標における前記メディア・プログラムをストリーミングすることを試行することによって、前記第2のメディア時間指標において前記メディア・データの再同期化を試行することを含む、コンピュータ読取り可能記憶メディア。 - コンピュータによって実行されたときに、メディア・サーバからクライアントにストリーミングされるメディア・プログラムを再同期化する方法を前記メディア・サーバに実行させる命令を格納する、コンピュータ読取り可能記憶メディアであって、メディア・サーバによって実行される前記方法が、
(a)メディア・プログラムの、前記メディア・プログラムの第1のメディア時間指標に対応する第1の部分をクライアントにストリーミングすることを試行することを含み、
(b)前記第1のメディア部分が前記第1のメディア時間指標でのストリーミングに使用できない場合、
(c)前記第1のメディア時間指標よりも後の前記メディア・プログラムの第2のメディア時間指標を選択すること、
(d)前記第2のメディア時間指標に対応する前記メディア・プログラムの第2の部分を取得すること、
(e)前記第2のメディア時間指標まで前記メディア・プログラムのストリーミングを中止すること、および
(f)前記第2のメディア時間指標において前記第2のメディア部分が使用可能であれば、前記第2のメディア時間指標から前記メディア・プログラムのストリーミングを開始することによって、
前記メディア・プログラムの再同期化を試行することをさらに含む、コンピュータ読取り可能記憶メディア。 - クライアントへのメディア・プログラムを表すメディア・ストリームを同期化するサーバ装置であって、
クライアントへの前記メディア・プログラムを表すメディア・データのストリーミングを制御するように構成されたストリーム・モジュールと、
メディア時間指標とを含み、ここで、各メディア時間指標についてメディア・プログラムの対応する部分がストリーミングされるべきものであり、現在のメディア時間指標は前記メディア・プログラムの現在ストリーミングされているべきメディア・データに対応し、
さらに当該サーバ装置が、前記メディア・プログラムの第1のトラック用のメディア・データをメディア・ソースから取り出すように構成された第1のトラック・ストリーム・モジュールを含み、
前記メディア・プログラムの第1の部分が第1の現在のメディア時間指標でのストリーミングに使用できない場合、前記ストリーム・モジュールが、
前記メディア時間指標を、前記現在のメディア時間指標から将来のメディア時間指標まで進め、
前記将来のメディア時間指標に対応する前記メディア・プログラムの部分を要求し、
前記要求されたメディア・プログラム部分が前記将来のメディア時間指標でのストリーミングに使用できる場合、前記将来のメディア時間指標で前記ストリーミングを再開する、サーバ装置。 - クライアントへのメディア・データを表すメディア・ストリームを同期化するサーバ装置であって、当該サーバ装置は
メディア・プログラムの第1のトラックを格納する第1の記憶デバイスと、
前記第1のトラックからメディア・データを取り出すように構成された第1のトラック・ストリーム・モジュールとを含み、前記メディア・データが、一連の時間指標に対応する複数のメディア部分を含み、一連の各時間指標で対応するメディア部分が再生されるべきであって、
さらに当該サーバ装置が、現在のメディア時間指標に対応するメディア・データをクライアントに伝送することによって、クライアントへのメディアのストリーミングを制御するように構成されたストリーム・モジュールと、
前記メディア・データの、第1の現在のメディア時間指標に対応する部分が、前記第1の現在のメディア時間指標でのストリーミングに使用できない場合、前記第1の現在のメディア時間指標よりも後の第2のメディア時間指標における前記メディア・データをストリーミングすることを試行することによって、前記メディア・ストリーミングを同期化するように構成された同期化モジュールとを含む、
サーバ装置。 - 前記同期化が、
前記第1の現在のメディア時間指標よりも後の前記第2のメディア時間指標を選択すること、
前記第2のメディア時間指標に対応するメディア・データの部分を要求すること、
前記第2のメディア時間指標まで、前記メディア・ストリーミングを中断すること、および
前記要求されたメディア部分が、前記第2のメディア時間指標でのストリーミングに使用できる場合、前記メディア・ストリーミングを再開することを含む、
請求項18に記載の装置。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US19575400P | 2000-04-08 | 2000-04-08 | |
| US60/195,754 | 2000-04-08 | ||
| PCT/US2001/011096 WO2001078346A2 (en) | 2000-04-08 | 2001-04-06 | Resynchronizing media during streaming |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003530774A JP2003530774A (ja) | 2003-10-14 |
| JP4813001B2 true JP4813001B2 (ja) | 2011-11-09 |
Family
ID=22722651
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001575680A Expired - Lifetime JP4813001B2 (ja) | 2000-04-08 | 2001-04-06 | ストリーミング中のメディアの再同期化 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US6857130B2 (ja) |
| EP (1) | EP1273151B1 (ja) |
| JP (1) | JP4813001B2 (ja) |
| AU (1) | AU2001251341A1 (ja) |
| DE (1) | DE60105998D1 (ja) |
| WO (1) | WO2001078346A2 (ja) |
Families Citing this family (88)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7073191B2 (en) * | 2000-04-08 | 2006-07-04 | Sun Microsystems, Inc | Streaming a single media track to multiple clients |
| US6769127B1 (en) | 2000-06-16 | 2004-07-27 | Minerva Networks, Inc. | Method and system for delivering media services and application over networks |
| JP2002091863A (ja) * | 2000-09-12 | 2002-03-29 | Sony Corp | 情報提供方法 |
| JP2002124022A (ja) * | 2000-10-18 | 2002-04-26 | Yamaha Corp | オーディオデータ記録再生装置 |
| US7447791B2 (en) * | 2000-12-15 | 2008-11-04 | British Telecommunications Public Limited Company | Transmission and reception of audio and/or video material |
| US7213075B2 (en) * | 2000-12-15 | 2007-05-01 | International Business Machines Corporation | Application server and streaming server streaming multimedia file in a client specific format |
| US20020078006A1 (en) * | 2000-12-20 | 2002-06-20 | Philips Electronics North America Corporation | Accessing meta information triggers automatic buffering |
| US7170886B1 (en) * | 2001-04-26 | 2007-01-30 | Cisco Technology, Inc. | Devices, methods and software for generating indexing metatags in real time for a stream of digitally stored voice data |
| US8275716B2 (en) | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Method and system for subscription digital rights management |
| US6876984B2 (en) * | 2001-05-31 | 2005-04-05 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
| US20030028584A1 (en) * | 2001-07-13 | 2003-02-06 | Mark Coniglio | System and method for providing network management |
| EP1429559B1 (en) * | 2001-09-18 | 2017-04-12 | Sony Corporation | Transmission apparatus, transmission method, content delivery system, content delivery method, and program |
| US20070022465A1 (en) * | 2001-11-20 | 2007-01-25 | Rothschild Trust Holdings, Llc | System and method for marking digital media content |
| US8504652B2 (en) * | 2006-04-10 | 2013-08-06 | Portulim Foundation Llc | Method and system for selectively supplying media content to a user and media storage device for use therein |
| US7503059B1 (en) * | 2001-12-28 | 2009-03-10 | Rothschild Trust Holdings, Llc | Method of enhancing media content and a media enhancement system |
| US7711774B1 (en) * | 2001-11-20 | 2010-05-04 | Reagan Inventions Llc | Interactive, multi-user media delivery system |
| US8909729B2 (en) * | 2001-11-20 | 2014-12-09 | Portulim Foundation Llc | System and method for sharing digital media content |
| US8122466B2 (en) * | 2001-11-20 | 2012-02-21 | Portulim Foundation Llc | System and method for updating digital media content |
| FR2833788B1 (fr) * | 2001-12-13 | 2005-05-06 | France Telecom | Procede de diffusion d'une succession de contenus a partir d'une source vers des terminaux recepteurs, a travers un reseau informatique, signal, source de diffusion et terminal associe |
| KR100900968B1 (ko) * | 2002-03-23 | 2009-06-04 | 삼성전자주식회사 | 사용자 선택 광고를 제공하는 스트리밍 서비스 제공 방법 및 멀티미디어 서버 |
| KR100910975B1 (ko) * | 2002-05-14 | 2009-08-05 | 엘지전자 주식회사 | 인터넷을 이용한 대화형 광디스크 재생방법 |
| US20030221014A1 (en) * | 2002-05-24 | 2003-11-27 | David Kosiba | Method for guaranteed delivery of multimedia content based on terminal capabilities |
| US7451229B2 (en) * | 2002-06-24 | 2008-11-11 | Microsoft Corporation | System and method for embedding a streaming media format header within a session description message |
| US8117328B2 (en) * | 2002-06-25 | 2012-02-14 | Microsoft Corporation | System and method for automatically recovering from failed network connections in streaming media scenarios |
| GB2391663B (en) * | 2002-08-06 | 2005-06-22 | Hewlett Packard Development Co | Method and server for establishing coordinated consumption of a streamed media object by multiple devices |
| GB0218188D0 (en) * | 2002-08-06 | 2002-09-11 | Hewlett Packard Co | Methods and arrangements applicable to exhibition spaces |
| FR2848372B1 (fr) * | 2002-12-09 | 2005-04-01 | Medialive | Synchronisation de flux audiovisuels securises |
| US8977763B1 (en) * | 2003-04-25 | 2015-03-10 | Aol Inc. | Systems and methods for distributing streams and stream metadata |
| US7739715B2 (en) * | 2003-06-24 | 2010-06-15 | Microsoft Corporation | Variable play speed control for media streams |
| US7603022B2 (en) * | 2003-07-02 | 2009-10-13 | Macrovision Corporation | Networked personal video recording system |
| EP1644803A4 (en) * | 2003-07-02 | 2011-11-09 | Rovi Solutions Corp | NETWORK DIGITAL MAGNETOSCOPE SYSTEM |
| US7457511B2 (en) * | 2003-07-02 | 2008-11-25 | Macrovision Corporation | Independent buffer positions for a networked personal video recording system |
| US8438601B2 (en) * | 2003-07-02 | 2013-05-07 | Rovi Solutions Corporation | Resource management for a networked personal video recording system |
| US7454120B2 (en) * | 2003-07-02 | 2008-11-18 | Macrovision Corporation | Methods and apparatus for client aggregation of television programming in a networked personal video recording system |
| JP4001091B2 (ja) * | 2003-09-11 | 2007-10-31 | ヤマハ株式会社 | 演奏システム及び楽音映像再生装置 |
| US8229888B1 (en) * | 2003-10-15 | 2012-07-24 | Radix Holdings, Llc | Cross-device playback with synchronization of consumption state |
| US7288712B2 (en) * | 2004-01-09 | 2007-10-30 | Yamaha Corporation | Music station for producing visual images synchronously with music data codes |
| US8412763B2 (en) | 2006-06-21 | 2013-04-02 | Apple Inc. | Podcast organization and usage at a computing device |
| US8516035B2 (en) * | 2006-06-21 | 2013-08-20 | Apple Inc. | Browsing and searching of podcasts |
| US7720983B2 (en) * | 2004-05-03 | 2010-05-18 | Microsoft Corporation | Fast startup for streaming media |
| US7080173B2 (en) * | 2004-05-27 | 2006-07-18 | Microsoft Corporation | Reducing information reception delays |
| NO20043156A (no) * | 2004-07-23 | 2006-01-23 | Telenor Asa | Anordning og fremgangsmåte for gjengivelse av audiovisuelt innhold |
| MX2007002071A (es) * | 2004-08-18 | 2007-04-24 | Nielsen Media Res Inc | Metodos y aparatos para generar firmas. |
| US7526566B2 (en) * | 2004-09-10 | 2009-04-28 | Sony Ericsson Mobile Communications Ab | Methods of operating radio communications devices including predefined streaming times and addresses and related devices |
| WO2006043473A1 (ja) * | 2004-10-21 | 2006-04-27 | Mediaseek Inc. | 同期通信方法および同期通信装置 |
| US20060123131A1 (en) * | 2004-12-02 | 2006-06-08 | Almaula Jay R | Method and apparatus and system for performing seamless mobility |
| US20060200578A1 (en) * | 2005-02-23 | 2006-09-07 | Sherer W P | Avalanche control for video on demand session setup |
| US20060259930A1 (en) * | 2005-05-10 | 2006-11-16 | Rothschild Leigh M | System and method for obtaining information on digital media content |
| US7681238B2 (en) * | 2005-08-11 | 2010-03-16 | Microsoft Corporation | Remotely accessing protected files via streaming |
| US8582946B2 (en) * | 2005-11-04 | 2013-11-12 | Rovi Guides, Inc. | Systems and methods for recording programs using a network recording device as supplemental storage |
| US8285784B2 (en) * | 2005-11-08 | 2012-10-09 | Alcatel Lucent | Service creation via presence messaging |
| US7535857B2 (en) * | 2005-11-18 | 2009-05-19 | Motorola, Inc. | Method for transmitting data from a participant device in a session in an internet protocol (IP) system |
| KR100848128B1 (ko) * | 2006-04-24 | 2008-07-24 | 한국전자통신연구원 | 실시간 스트리밍 프로토콜을 이용한 프로그래시브 스트리밍방법 |
| US20080010118A1 (en) * | 2006-06-14 | 2008-01-10 | Microsoft Corporation | Managing content downloads to retain user attention |
| US20080010117A1 (en) * | 2006-06-14 | 2008-01-10 | Microsoft Corporation | Dynamic advertisement insertion in a download service |
| US20080010119A1 (en) * | 2006-06-14 | 2008-01-10 | Microsoft Corporation | Locating downloaded and viewed content and advertisements |
| US7966362B2 (en) * | 2006-06-21 | 2011-06-21 | Apple Inc. | Management of podcasts |
| US20080025691A1 (en) * | 2006-07-31 | 2008-01-31 | Sharp Kabushiki Kaisha | Content reproduction apparatus, content reproduction method, content reproduction system, content data sending apparatus, content data sending method, program, and storage medium |
| US7844723B2 (en) * | 2007-02-13 | 2010-11-30 | Microsoft Corporation | Live content streaming using file-centric media protocols |
| ATE495631T1 (de) * | 2007-07-02 | 2011-01-15 | Fraunhofer Ges Forschung | Vorrichtung und verfahren zum verarbeiten und lesen einer datei mit mediendatenbehälter und metadatenbehälter |
| JP2009044416A (ja) * | 2007-08-08 | 2009-02-26 | Sony Corp | コンテンツ再生装置、コンテンツ再生方法、プログラム、およびコンテンツ再生システム |
| US9027119B2 (en) * | 2007-11-19 | 2015-05-05 | Avaya Inc. | Authentication frequency and challenge type based on application usage |
| US20090157891A1 (en) * | 2007-12-13 | 2009-06-18 | General Instrument Corporation | Method and Apparatus for Inserting Time-Variant Data into a Media Stream |
| US20090249222A1 (en) * | 2008-03-25 | 2009-10-01 | Square Products Corporation | System and method for simultaneous media presentation |
| US8875098B2 (en) * | 2008-11-18 | 2014-10-28 | Microsoft Corporation | Workflow engine for execution of web mashups |
| US8799495B2 (en) * | 2008-12-17 | 2014-08-05 | At&T Intellectual Property I, Lp | Multiple devices multimedia control |
| KR101672253B1 (ko) * | 2010-12-14 | 2016-11-03 | 삼성전자주식회사 | 휴대용 단말기에서 스트리밍 서비스를 제공하기 위한 장치 및 방법 |
| CN102232298B (zh) * | 2011-04-07 | 2013-10-09 | 华为技术有限公司 | 媒体内容的传输处理方法、装置与系统 |
| US9185169B2 (en) | 2011-07-29 | 2015-11-10 | Avaya Inc. | Methods, systems, and computer-readable media for self-learning interactive communications privileges for governing interactive communications with entities outside a domain |
| US9264534B2 (en) | 2011-10-18 | 2016-02-16 | Avaya Inc. | Methods, systems, and computer-readable media for self-maintaining interactive communications privileges governing interactive communications with entities outside a domain |
| US9338179B2 (en) * | 2012-02-23 | 2016-05-10 | Markport Limited | Message flooding prevention in messaging networks |
| US10674191B2 (en) | 2012-04-06 | 2020-06-02 | Minerva Networks, Inc | Systems and methods to remotely synchronize digital data |
| US8966573B2 (en) | 2012-07-20 | 2015-02-24 | Ca, Inc. | Self-generation of virtual machine security clusters |
| US20140074924A1 (en) * | 2012-09-12 | 2014-03-13 | Nokia Corporation | Methods, apparatuses and computer program products for providing a multi-user entertainment system with centralized playlist management for networked media sources |
| WO2014124559A1 (zh) | 2013-02-18 | 2014-08-21 | 华为技术有限公司 | 一种视频直播同步的方法及装置 |
| US9648013B2 (en) * | 2013-02-26 | 2017-05-09 | Visa International Service Association | Systems, methods and devices for performing passcode authentication |
| US9223950B2 (en) | 2013-03-05 | 2015-12-29 | Intel Corporation | Security challenge assisted password proxy |
| US9386010B2 (en) * | 2013-05-02 | 2016-07-05 | Globalfoundries Inc. | Abstracted authenticated client connectivity application programming interface (API) |
| US10135945B2 (en) * | 2014-01-15 | 2018-11-20 | Cisco Technology, Inc. | Methods and systems for boundary placement in a data stream |
| US9967242B2 (en) * | 2014-01-30 | 2018-05-08 | Microsoft Technology Licensing, Llc | Rich content scanning for non-service accounts for email delivery |
| US10693736B2 (en) * | 2014-10-16 | 2020-06-23 | International Business Machines Corporation | Real time simulation monitoring |
| US11212333B1 (en) * | 2015-05-29 | 2021-12-28 | Ribbon Communications Operating Company, Inc. | Methods and apparatus for synchronizing transcoded and/or transrated RTP packets |
| US9954930B2 (en) * | 2015-08-06 | 2018-04-24 | Airwatch Llc | Generating content fragments for content distribution |
| KR101916022B1 (ko) * | 2015-10-06 | 2018-11-07 | 한국전자통신연구원 | 세그먼트 기반의 방송 콘텐츠 반복 전송 방법 및 장치 |
| US10437998B2 (en) | 2015-10-26 | 2019-10-08 | Mcafee, Llc | Hardware heuristic-driven binary translation-based execution analysis for return-oriented programming malware detection |
| US10637868B2 (en) * | 2016-11-16 | 2020-04-28 | The Boeing Company | Common authorization management service |
| US12238370B2 (en) | 2020-03-25 | 2025-02-25 | Qualcomm Incorporated | Determination of availability of chunks of data for network streaming media data |
| US10924636B1 (en) * | 2020-04-30 | 2021-02-16 | Gopro, Inc. | Systems and methods for synchronizing information for videos |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05265778A (ja) * | 1991-12-31 | 1993-10-15 | Internatl Business Mach Corp <Ibm> | マルチメデイア・データ処理システム |
| JPH07234795A (ja) * | 1992-11-13 | 1995-09-05 | Internatl Business Mach Corp <Ibm> | マルチメディア動作を同期化する方法 |
| JPH11261573A (ja) * | 1998-03-11 | 1999-09-24 | Toshiba Corp | マルチメディアデータ入出力インタフェース装置及び同装置に適用される一定レートストリーム出力方法 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5737531A (en) * | 1995-06-27 | 1998-04-07 | International Business Machines Corporation | System for synchronizing by transmitting control packet to omit blocks from transmission, and transmitting second control packet when the timing difference exceeds second predetermined threshold |
| US5751280A (en) | 1995-12-11 | 1998-05-12 | Silicon Graphics, Inc. | System and method for media stream synchronization with a base atom index file and an auxiliary atom index file |
| US6064379A (en) | 1996-06-24 | 2000-05-16 | Sun Microsystems, Inc. | System and method for synchronizing presentation of media stream playlists with real time |
| US6357042B2 (en) * | 1998-09-16 | 2002-03-12 | Anand Srinivasan | Method and apparatus for multiplexing separately-authored metadata for insertion into a video data stream |
-
2001
- 2001-04-06 EP EP01924712A patent/EP1273151B1/en not_active Expired - Lifetime
- 2001-04-06 AU AU2001251341A patent/AU2001251341A1/en not_active Abandoned
- 2001-04-06 DE DE60105998T patent/DE60105998D1/de not_active Expired - Lifetime
- 2001-04-06 JP JP2001575680A patent/JP4813001B2/ja not_active Expired - Lifetime
- 2001-04-06 US US09/827,865 patent/US6857130B2/en not_active Expired - Lifetime
- 2001-04-06 WO PCT/US2001/011096 patent/WO2001078346A2/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05265778A (ja) * | 1991-12-31 | 1993-10-15 | Internatl Business Mach Corp <Ibm> | マルチメデイア・データ処理システム |
| JPH07234795A (ja) * | 1992-11-13 | 1995-09-05 | Internatl Business Mach Corp <Ibm> | マルチメディア動作を同期化する方法 |
| JPH11261573A (ja) * | 1998-03-11 | 1999-09-24 | Toshiba Corp | マルチメディアデータ入出力インタフェース装置及び同装置に適用される一定レートストリーム出力方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP1273151A2 (en) | 2003-01-08 |
| AU2001251341A1 (en) | 2001-10-23 |
| US6857130B2 (en) | 2005-02-15 |
| EP1273151B1 (en) | 2004-09-29 |
| DE60105998D1 (de) | 2004-11-04 |
| WO2001078346A3 (en) | 2002-05-02 |
| WO2001078346A2 (en) | 2001-10-18 |
| US20020010917A1 (en) | 2002-01-24 |
| JP2003530774A (ja) | 2003-10-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4813001B2 (ja) | ストリーミング中のメディアの再同期化 | |
| JP4640723B2 (ja) | 複数クライアントへの単一メディア・トラックのストリーミング | |
| US7324555B1 (en) | Streaming while fetching broadband video objects using heterogeneous and dynamic optimized segmentation size | |
| US11350139B2 (en) | Video live broadcast method and apparatus | |
| US7143433B1 (en) | Video distribution system using dynamic segmenting of video data files | |
| US20200280595A1 (en) | Apparatus, system, and method for multi-bitrate content streaming | |
| US8667158B2 (en) | Video splitting and distributed placement scheme for clustered video servers | |
| US7945688B1 (en) | Methods and apparatus for reducing streaming media data traffic bursts | |
| US7246369B1 (en) | Broadband video distribution system using segments | |
| CN103858440B (zh) | 在针对自适应http流的表示之间提供改进切换的切换信令方法 | |
| US7742504B2 (en) | Continuous media system | |
| CN101636726B (zh) | 包含连续播放的视频分配系统 | |
| US20030018978A1 (en) | Transfer file format and system and method for distributing media content | |
| CN102487458A (zh) | Ts文件的播放处理方法及装置 | |
| WO2014193996A2 (en) | Network video streaming with trick play based on separate trick play files | |
| JP2002033771A (ja) | メディアデータプロセッサ | |
| CN112584087B (zh) | 视频会议录制方法、电子装置和存储介质 | |
| CN113661692A (zh) | 基于http的动态自适应流传输的方法和装置 | |
| CN101459976B (zh) | 一种流媒体播放控制方法、设备及系统 | |
| CN1327443C (zh) | 一种流媒体点播的音视频切换方法 | |
| WO2017080152A1 (zh) | 一种同步数据的方法和装置 | |
| JP2007074684A (ja) | 動画配信システム | |
| CN116346794B (zh) | 接收媒体数据的方法、装置和非易失性计算机可读存储介质 | |
| JP3670581B2 (ja) | 映像音声配信装置及び映像音声ファイル解析方法 | |
| HK40055141B (en) | Method and apparatus for receiving media data and non-transitory computer-readable storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071227 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100831 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20101118 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101125 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110125 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20110223 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110422 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110502 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110524 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110531 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110624 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110701 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110714 |
|
| 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: 20110809 |
|
| 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: 20110824 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4813001 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140902 Year of fee payment: 3 |
|
| 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 |
|
| EXPY | Cancellation because of completion of term |