JP6253983B2 - 修正されたシーク機能を用いた帯域幅割当の改善 - Google Patents

修正されたシーク機能を用いた帯域幅割当の改善 Download PDF

Info

Publication number
JP6253983B2
JP6253983B2 JP2013527350A JP2013527350A JP6253983B2 JP 6253983 B2 JP6253983 B2 JP 6253983B2 JP 2013527350 A JP2013527350 A JP 2013527350A JP 2013527350 A JP2013527350 A JP 2013527350A JP 6253983 B2 JP6253983 B2 JP 6253983B2
Authority
JP
Japan
Prior art keywords
user
stream
users
media content
location
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
JP2013527350A
Other languages
English (en)
Other versions
JP2013542633A (ja
JP2013542633A5 (ja
Inventor
ワン、ドン
Original Assignee
フル・エルエルシー
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 フル・エルエルシー filed Critical フル・エルエルシー
Publication of JP2013542633A publication Critical patent/JP2013542633A/ja
Publication of JP2013542633A5 publication Critical patent/JP2013542633A5/ja
Application granted granted Critical
Publication of JP6253983B2 publication Critical patent/JP6253983B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • 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/238Interfacing 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/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26266Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for determining content or additional data repetition rate, e.g. of a file in a DVB carousel according to its importance
    • 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/63Control 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/632Control 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 using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • 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/63Control 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/64Addressing
    • H04N21/6405Multicasting
    • 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/63Control 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/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、ストリーミングされる複数のメディアプログラムを提供するための複数のシステムおよび複数の方法に関し、詳細には複数のユーザに複数のメディアプログラムを同時にストリーミングしている間に、シーク機能の使用を可能にしながら、帯域幅割当を改善するための方法および装置に関する。
複数のメディアプログラムが、しばしばネットワーク(例えばインターネット)を介して複数のユーザに分配される(例えばストリーミングまたはダウンロードによる)。しばしば、複数の異なるユーザが、同一のメディアコンテンツを視聴していることがある。このような視聴は、メディアコンテンツの中の異なる時間/位置である場合が多い。例えば、一方の視聴者が、ストリーミングされたメディア・コンテンツ・プログラムを14分のマークの所で視聴していることがあるが、一方では、他の視聴者が同一のストリーミングされたメディア・コンテンツ・プログラムを35分のマークの所で見ていることがある。同一メディアプログラムを異なる複数の時間ではあるが複数の視聴者にストリーミングすることで、かなりの帯域幅を消費する。このようなストリーミングを可能にするだけでなく、ネットワーク帯域幅を最小にしながらコンテンツのストリーミングを可能にすることが望ましい。このような複数の問題が、従来技術のストリーミング技術の説明ではさらによく理解されることがある。
複数のメディアプログラムの配布および再生は、この10年の間にかなり変化した。これまでは、複数のメディアプログラムは(オーディオ、ビデオまたは両方を含むことがある)、アナログ放送(従来の衛星またはケーブル)により、または複数のフィルムを複数の映画館に配布することにより配布された。
これらの従来の配布および再生の手段は、デジタル技術の出現後、依然として採用されたままである。しかしながら、複数のデジタル技術は、複数のメディアプログラムの配布および再生に顕著な影響を与えた。
第一に、デジタル技術は、複数のデジタル・ビデオ・レコーダ(DVR)の使用を可能にした。複数のDVRは、標準的な複数のアナログビデオ・カセット・レコーダ(VCR)と機能が類似しているが、ライブポーズ(live pause)、他の番組を再生しながら1つの番組を記録する能力、およびDVR機能に電子プログラムガイドを組み込むことを含むいくつかの追加の有用な機能を提供する(この結果、複数のメディアプログラムの記録を、はるか前に予定することができた)。
第二に、デジタル技術はまた、インターネットを介した複数のメディアプログラムの配布および再生を可能にし、信号処理が改善され、高速インターネットアクセス(例えばDSL、ファイバおよび/または衛星)をますます多くの家庭が有している。これらの方法による配布および再生は従来の手段と比べて見劣りしなくなった。インターネットを介した複数のメディアプログラムの配布は、単純なダウンロード、プログレッシブダウンロードまたはストリーミングにより行われてもよい。
1人または複数のユーザにコンテンツをストリーミングするために使用してもよい異なるアドレス指定方式が複数ある。このような複数の方法は、ユニキャストアドレス指定、ブロードキャストアドレス指定またはマルチキャストアドレス指定、およびエニーキャストアドレス指定を含む。
エニーキャストアドレス指定では、単一の送信者からのコンテンツが、同一宛先アドレスによりすべて識別される複数の潜在的受信者のグループ内のトポロジ的に最も近いノードにルーティングされる。換言すれば、コンテンツは、同一宛先アドレスによりすべて識別される複数の潜在的受信者のグループの単一のメンバーにルーティングされる。エニーキャストは1対多の中の1の関連づけである。
ユニキャストアドレス指定は、宛先アドレスとネットワークエンドポイントの間の1対1の関連づけを使用する。各宛先アドレスが、単一の受信者エンドポイントを一意に識別する。したがって、ユニキャストアドレス指定の環境では、あらゆるユーザが、サーバから直接、自分自身のコンテンツストリームを受信する。
ブロードキャストアドレス指定およびマルチキャストアドレス指定、すなわち1対多の関連づけでは、コンテンツは、単一の送信で単一の送信者から複数のエンドポイントに同時にルーティングされる。ネットワークは、資格のある受信者を含むすべての複数のネットワークセグメントのために、必要に応じてコンテンツを自動的に複製する。マルチキャストアドレス指定を使って、コンテンツは、複数の宛先への複数のリンクが分離するときだけ複数のコピーを作成して、1回だけネットワークの各リンク上にコンテンツを配送する方策を使用して、複数のユーザのグループに同時に配送される。さらに、マルチキャストの環境では、マルチキャストは、複数のルータが、リアルタイムで、ツリーにまたがるマルチキャスト宛先アドレスへ送信されるコンテンツに対して最適な分配経路を生成するIPルーティングレベルで行われる。
上記に鑑みて、多くの従来のシステムが、マルチキャストアドレス指定システムを利用して、複数のメディア・コンテンツ・プログラムを1人または複数のユーザに配送する。このようなシステムを使用することにより、複数のユーザに分配されたとき、より少ない帯域幅が消費される。しかしながら、上述のように、複数のユーザが、異なる複数の時間に同一メディアプログラムを視聴していることがある。このような視聴は、ユーザからの最初の要求に基づき行われることがある、または視聴アプリケーションのシーク機能を使用して引き起こされることがある。例えば、何かがユーザにストリーミングされているとき、視聴者は、スクロールバー/プログレスバー/タイムラインバーを使用して、視聴されているメディアコンテンツ内の異なる位置にシーク(seek)してもよい(例えば、前方または後方に)。
従来技術では、視聴者が新しい位置までストリーミングしたとき、メディア・コンテンツ・プログラムの新たな送信がユーザに配送される。したがって、ユーザが新しい位置までシークすることだけで、帯域幅が消費される。システムが、メディア・コンテンツ・プログラムを所望のプログラム内部の任意の時間で視聴することができ、それにより、依然としてマルチキャストアドレス指定を利用しながら、シーク動作が可能になることが望ましい。
さらに、従来技術の複数のシステムが、ピア・ツー・ピア(P2P)・ソフトウェアを使用して、メディア・コンテンツ・プログラムを配送することがある。P2Pシステムでは、各ユーザが、ビデオストリームをダウンロードしながら、同時に、このストリームを他の複数のユーザに同じくアップロードしており、したがって、利用可能な帯域幅全体に寄与する。到着する複数のストリームは、典型的には元の複数のソースと比較して(例えば数分だけ)時間遅れがある。しかしながら、この場合も、このような複数の技術を使用して、帯域幅が消費され、消費される帯域幅を最小にしながら、複数のシーク動作を行う効率的な機構がない。
さらに、多くの従来技術の複数のシステムが、メディアコンテンツと共に、カスタマイズされた/管理された複数の広告(directed advertisements)を利用して、複数のユーザにストリーミングする。しかしながら、カスタマイズされたまたは管理された複数の広告を特定の複数のユーザにストリーミングする能力は、マルチキャストまたはP2Pの環境にある間、問題となる可能性がある。
ダウンロードおよびストリーミングに伴う上述の複数の問題は、従来技術のプログレッシブダウンロードおよびストリーミングの複数の技術の説明でよりよく理解されることがある。
プログレッシブダウンロード(Progressive Downloading)
プログレッシブダウンロードでは、メディアプログラムを有するメディアファイルが、ダイヤルアップ、DSL、ADSL、ケーブル、T1、または他の高速接続を使用してインターネットを介してダウンロードされる。このようなダウンロードは、典型的にはインターネットを介してウェブサーバにより行われる。
単純なダウンロードは、メディアファイルの複数のバイトを任意の好都合な順序でダウンロードするが、プログレッシブダウンロードは、ファイルの最初から複数のバイトをダウンロードし、最終バイトまで順次に、連続してファイルをダウンロードし続ける。プログレッシブダウンロード中の任意の特定の時間に、ファイルの複数の部分が再生のために即座に利用できないことがある。いくつかの状況では、ファイル全体がまずダウンロードされなければならず、この後、メディアプレーヤが再生を開始することができる。プログレッシブダウンロードの他の複数の状況では、複数のメディアプレーヤが、ファイルの最初の十分な量がダウンロードされると再生を開始することができるが、メディアプレーヤは、何らかの形態の再生をサポートするために、十分な情報をダウンロードしなければならず、この後再生を行うことができる。プログレッシブダウンロードされた複数のメディアファイルの再生は、しばしば遅い複数のインターネット接続により遅延し、また、しばしば途切れ途切れになり、および/またはほんの数秒後に停止する可能性が高い。プログレッシブダウンロードされたメディアプログラムが完全にダウンロードされると、後で使用するためにエンドユーザのコンピュータに格納されてもよい。
プログレッシブダウンロードの複数の不利な点の1つが、データを送信しているエンティティ(ウェブサーバ)が、単にデータをクライアントにできるだけ速くプッシュすることである。適切な量のデータがダウンロードされたとたんに、多くのメディアプレーヤのプログレッシブダウンロード性能が再生を可能にするので、プログレッシブダウンロードは、ビデオを「ストリーミングしている」ように見えることがある。しかしながら、ファイル全体がウェブサーバにより配送されるまで、ユーザはファイルの最後まで早送りすることができない。プログレッシブダウンロードの他の不利な点が、ウェブサーバはビデオファイルのデータ転送速度を考慮しないことである。したがって、ネットワークの帯域幅がビデオファイルに必要なデータ転送速度より低い場合、ユーザは、ある期間待たなければならず、この後、再生を開始することができる。再生速度がデータ転送速度を超えた場合、視聴体験が中断されながら追加データがダウンロードされる間、ある期間、再生が中断することがある。しかしながら、データ転送速度は潜在的により高いので、再生が行われたとき、ビデオ再生品質はより高くなることがある。例えば、100kbpsのビデオファイルが56kbpsのモデムにより配送することができる場合、ビデオは、100kbpsの速度で提示されるが、追加のビデオデータがダウンロードされる間、再生が中断する期間が存在することがある。ビデオデータは、典型的には、この全体が一時ファイルとしてダウンロードされ、格納される。
ウェブサーバは、典型的には、TCP(transfer control protocol)の上位層でHTTP(hypertext transport protocol)を使用して、複数のファイルをネットワーク上で転送する。ネットワーク上で複数のデータパケットの転送を制御するTCPは、速度ではなく、データの配送保証のために最適化される。したがって、ブラウザが、データが欠けていることを検知した場合、再送要求が発行され、データは再送される。配送エラーが多い複数のネットワークでは、複数の再送要求が、大量の帯域幅を消費することがある。TCPは、適切なデータの効率的な配送または帯域幅制御のために設計されていないので(しかし、むしろすべてのデータの配送が保証される)、すべての用途でビデオデータを配送するのに好ましいわけではない。
ストリーミング
ストリーミングはメディアコンテンツをメディアプレーヤに連続的に配送し、メディア再生が同時に行われる。エンドユーザは、コンテンツプロバイダにより配送されると、即座にメディアを再生することができる。従来の複数のストリーミング技術は、データのストリームを配送する単一のプロバイダから1組の複数のエンドユーザへと開始される。単一のストリームを多数の視聴者に配送するには、複数の高い帯域幅および中央処理装置(CPU)のパワーが必要とされ、プロバイダが必要とする帯域幅は、エンドユーザの数が増すにつれて、増大する。
プログレッシブダウンロードと異なり、ストリーミングメディアはオンデマンドで、またはライブで配送することができる。この点で、プログレッシブダウンロードはファイル全体をダウンロードする、または最初に再生を開始するのに十分な量をファイル全体からダウンロードする必要があり、ストリーミングにより、ファイル内部の任意の地点で即座に再生が可能になる(「シーキング」と呼ばれる)。複数のエンドユーザが、メディアファイルの至る所にスキップ/シークして、再生を開始する、またはメディアファイル内の任意の地点に再生を変更してもよい。したがって、エンドユーザは、ファイルがプログレッシブダウンロードされるのを待つ必要がない。典型的には、ストリーミングメディアは、高い複数の帯域幅性能を有する少数の専用サーバから配送される。
ストリーミング・メディア・サーバが、複数のビデオファイル要求を受け入れ、かつフォーマット、帯域幅およびこれらのファイルの構造に関する情報を使って、ビデオを再生するのに必要なだけの量のデータを、ビデオを再生するのに必要な速度で配送する特化したサーバである。ストリーミング・メディア・サーバはまた、送信帯域幅、およびメディアプレーヤの複数の性能を考慮してもよい。ウェブサーバと異なり、ストリーミング・メディア・サーバは、複数の制御メッセージおよび複数のデータメッセージを使用してユーザコンピュータと通信して、ビデオが再生されるときに、変化する複数のネットワーク条件に適応する。これらの複数の制御メッセージは、早送り、早戻し、一時停止、またはファイルの特定部分へのシークなどの複数の特殊再生機能用の複数のコマンドを含むことができる。ストリーミング・メディア・サーバは、ビデオデータを必要とされたときだけ、必要とされる速度で送信するので、提供されるいくつかのストリーム対して正確な制御を維持することができる。プログレッシブダウンロードの場合と異なり、視聴者は、より低いデータ転送速度の送信媒体上で高いデータ転送速度の複数のビデオを見ることができない。しかしながら、ストリーミング・メディア・サーバは、(1)複数のユーザにビデオファイルへのランダムなアクセスを提供し、(2)誰がどの複数のビデオプログラムを見ているか、およびこれらのビデオプログラムがどれだけ長く視聴されているかをモニタすることができるようになる、(3)視聴体験をサポートするために必要な量のデータだけが送信されるので、送信帯域幅をより効率的に使用する、および(4)ビデオファイルを視聴者のコンピュータに恒久的に格納しない(ファイルは、最終的にメディアプレーヤにより廃棄され、したがって、コンテンツに対してより多くの制御が可能になる)。
ストリーミング・メディア・サーバは、HTTPおよびTCPを使用して、複数のビデオストリームを配送してもよいが、一般に、RSTP(real time streaming protocol)およびUDP(user datagram protocol)を使用する。これらのプロトコルは複数の制御メッセージを可能にし、オーバヘッドを低減することにより帯域幅を節約する。TCPと異なり、送信中にデータが捨てられたとき、UDPは複数の再送要求を送信しない。代わりに、サーバはデータを送信し続ける。ストリーミング・メディア・サーバはまた、複数のライブウェブキャストを配送することができ、マルチキャストすることができ、これにより、2人以上のクライアントが単一のストリームに同調することができるようになり、したがって、帯域幅を節約する。
典型的には、プログレッシブダウンロードされたメディアは、再生より速い速度でユーザコンピュータに送信される。メディア・プログラム・プレーヤ304はこのデータをバッファに入れ、通常、「プログレスバー」の一部として、インジケータを提供することにより、メディアプログラムがどれだけバッファに入れられたかを示してもよい。ユーザが、制御手段を選択し、かつプログレスバーに沿って異なる位置に制御手段を移動させることにより、すでにバッファに入れられたプログラム内の任意の地点にアクセスすることができるようになる制御手段が提供される場合が多い。これにより、ユーザは、メディアプログラムのバッファに入れられた任意の部分にランダムにアクセスすることができるようになる。
複数のストリーミング・メディア・プレーヤは、メディアプログラム内の任意の地点にランダムにアクセスできるようにするために、バッファリングに依存しない。代わりに、これは、メディアプレーヤからストリーミング・メディア・サーバに送信される複数の制御メッセージを使用することにより実現される。
さらに、上述のように、コンテンツをストリーミングするためのさまざまな複数の技術が、複数のユーザ/複数の視聴者の数が増大するにつれ、帯域幅を消費する必要がある。複数のユーザ/複数の視聴者が同一コンテンツをストリーミングするために、マルチキャストアドレス指定を使用することにより、消費される帯域幅を制限することが望ましい。しかしながら、複数のユーザがストリーミングコンテンツを受信している間に、プログラムの中でシークするとき、ユーザ/視聴者により視聴されている新しい位置に基づき、メディアコンテンツが再送信されなければならないので、追加の帯域幅が消費される。
上記の複数の要件に対処するために、方法、装置、製造物(article of manufacture)、およびメディアコンテンツを複数のユーザにストリーミングするためのメモリ構造である。ユーザが、ストリーミングされたメディアコンテンツを受信しているとき、ユーザは、メディアコンテンツ内の異なる位置にシーク(例えば前方または後方に)してもよい。システムの複数の実施形態が、このようなシーク動作に基づき複数のユーザを同期させる能力を提供する。この点、システムは、他の複数のストリーム/要求された複数のストリームを検索して、要求された位置と適合するストリームを見つけ出す。このような適合するストリームは、要求されたものと異なるメディアコンテンツ内の位置からなることがある(例えば所定のシーン、ショット、フレームなど)。例えば、ユーザがメディアプログラムの12:51に位置するフレームにシークすることを要求することにより、12:50に、またはこのフレームで、もしくはこのフレームの近傍で、異なるユーザにより視聴されている他のストリームに、要求をリダイレクトしてもよい(またはすぐに応答するメディア・プログラム・ストリームをストリーミングする)。
適合するストリームが見つかると、適合するストリームは、要求しているユーザおよびすでに視聴しているユーザにストリーミングされる(例えばマルチキャスト)。この点、本発明の複数の実施形態は、同一コンテンツをストリーミングすることにより複数の視聴者を連携させることができる。このような複数のストリーミング性能は、ユーザにより制御される複数のシーク動作を可能にしながら、帯域幅の消費を低減する。
さらに、いくつかのメディアプログラムでは、視聴されているコンテンツに基づき、複数のコマーシャルまたは広告がユーザに示される必要がある。本発明の複数の実施形態は、コンテンツをストリーミングしているとき、このような複数の広告を考慮することがある。さらに、要求されたシーク位置と、適合する位置の間に遅延がある場合、システムは、該当する時間長の広告(複数)(カスタマイズされた広告でも、管理された広告でもよい)(または他のメディアコンテンツ)を選択し、マルチキャストする性能に到達するまで(すなわち、適合するストリームを視聴しているユーザが、要求しているユーザが視聴することを望むストリーム内の位置に/近傍に到達したとき)、要求しているユーザにこのような広告/メディアコンテンツをストリーミングしてもよい。
次に、全体を通して同様の複数の参照番号が、対応する複数の部分を表す図面を参照する。
図1は、例示的メディア・プログラム・システムを示す図である。 図2は、本発明を実現するために使用することができる例示的コンピュータシステムを示す。 図3は、コンテンツ配送サブシステム、およびユーザに提示するために複数のメディアプログラムおよび複数の広告を配送するために使用することができるトップレベルの複数の動作を示す図である。 図4は、ライブ・ストリーミング・プロトコルに従って複数のメディアプログラムを送信するために提供されるコンテンツ配送システム400を示す図である。 図5は、本発明の1つまたは複数の実施形態に従って、同期した位置にユーザのシーク位置をリダイレクトすることを示すユーザインタフェースを示す。 図6は、本発明の1つまたは複数の実施形態に従って複数のユーザにメディアコンテンツをストリーミングするための論理的な流れを示す流れ図である。
以下の説明では、本発明のいくつかの実施形態の一部を形成し、かつ例示によって示される複数の添付図面が参照される。本発明の範囲を逸脱することなく、他の複数の実施形態を利用してもよく、複数の構造的変更を行ってもよいことが理解される。
概要
本発明の複数の実施形態が、行われるシーク動作に基づき複数のユーザを同期させる能力を提供する。このような複数の性能を提供するために、複数の実施形態が、任意のランダムな複数の地点ではなく、メディアプログラム内の特定の複数の地点に複数のユーザを誘導する。特定の複数の地点は、シーンの最初、ショット、フレーム、Iフレームなどとすることができる。したがって、複数のユーザは、望むプログラム内の任意の地点までスキャンすることができない。代わりに、複数のユーザは、最も近い(または直前の)ショットまたはシーンまでスキャンすることができる。複数のユーザをこのような方法で誘導することにより、複数のユーザは同一信号ストリームを受信する可能性が高く、それにより、帯域幅が節約される。
ハードウェアおよびソフトウェアの環境
図1は、例示的メディア・プログラム・システム100を示す図である。図示される実施形態では、システム100は、インターネットなどの通信ネットワーク104に通信可能に結合され、かつ1つまたは複数のソース・メディア・プログラム・データベース124A、124Bに通信可能に結合された1つまたは複数のソース・ビデオ・サーバ122A、122Bをそれぞれ有する1つまたは複数のメディア・プログラム・ソース120A、120Bを備えてもよい。メディア・プログラム・システム100は、通信ネットワーク104に通信可能に結合され、かつ1つまたは複数のプロバイダ・ビデオ・サーバ112および1つまたは複数のプロバイダデータベース114を有するメディア・プログラム・プロバイダ110をさらに備える。一実施形態では、メディア・プログラム・プロバイダ110は、ビデオ・オン・デマンドおよび/またはストリーミング・メディア・プログラム・プロバイダである。
メディア・プログラム・システム100は、複数のメディアプログラムをコンピュータなどの第1のユーザデバイス102A、または携帯電話などの第2のユーザデバイス102Bに送信する(以下、代わりにユーザデバイス(複数)120と呼ぶ)。この送信は、メディア・プログラム・プロバイダ110から直接であってもよい、またはメディア・プログラム・プロバイダ110はポータルとして動作して、メディアプログラム自体(代わりに、メディア・プログラム・ソース(複数)120により提供される)ではなく、複数のメディア・プログラム・ソース120Aおよび120Bから利用可能である複数のメディアプログラムへのインタフェースを提供してもよい。
第1の事例では、メディア・プログラム・プロバイダ110は、複数のメディア・プログラム・ソース120(例えばwww.fox.comまたはwww.nbc.com)から複数のメディアプログラムのライセンス供与を受け、このような複数のプログラムに対するメタデータも、典型的には、同様にメディア・プログラム・ソース120からメディア・プログラム・プロバイダ110に提供される。このようなメタデータは、使用するためにメディア・プログラム・プロバイダのデータベース114により取り出すことができる。補足のメタデータが必要な場合、以下でさらに説明されるように、補足のメタデータは、メディア・プログラム・プロバイダ110およびメディア・プログラム・ソース120とは無関係のメタデータソース130から得ることができる。
第2の事例では、複数のメディアプログラムは、直接メディア・プログラム・ソース120の複数のサーバからユーザデバイス102にストリーミングされる。複数のメディアプログラムが、直接メディア・プログラム・ソース120からストリーミングされたとき、メディア・プログラム・ソース120により提供されるメタデータが不十分である場合がしばしばある。複数のこのような場合、補足のメタデータが、無関係のメタデータソース130(例えばwww.tv.comまたはwww.imdb.com)または他のサードパーティの複数のソースから得られてもよい。この状況では、メディア・プログラム・プロバイダ110の役割は、利用可能な複数のメディアプログラムのリスト、およびこのような複数のプログラムを見つけ出すために検索し、かつこのような複数のプログラムを視聴するインタフェースを複数のユーザ132に提供するポータルの役割である。
複数のメディアプログラムおよびメタデータは、インターネットなどの通信ネットワーク104を介して、または複数の補助(および/または専用)通信リンク134を通して得られてもよい。このような情報は、ウェブクローリングにより(例えば、ワールド・ワイド・ウェブを順序だった、自動化された方法でブラウズするプログラムまたは自動化スクリプトを使用して)得られてもよい。
複数のユーザデバイス102を使用して、複数の遠隔ユーザ132が、通信ネットワーク104を使用してメディア・プログラム・プロバイダ110と通信して、複数のメディアプログラム(複数のビデオ・オン・デマンドおよび/またはストリーミング・ビデオ・サービスを含む)を得て、プロバイダのメディア・プログラム・データベース114を検索して、関心のある複数のメディアプログラムを見つけ出すことができる。
メディア・プログラム・システム100はまた、メディア・プログラム・プロバイダ110または複数のメディア・プログラム・ソース120により提供される複数のメディアプログラムと一緒に再生される複数の広告を供給する1つまたは複数の広告プロバイダ140を備えてもよい。図示される実施形態では、広告プロバイダ140は、関連づけられ、かつ通信可能に結合された広告プロバイダデータベース144に通信可能に結合された広告プロバイダサーバ142を含む。
複数の広告は、インターネット104、専用リンク146を介して、または広告を有するメモリ記憶デバイスの物理的交換により、広告プロバイダ140からメディア・プログラム・プロバイダ110に供給されてもよい。このような複数の広告は、メディア・プログラム・プロバイダ110により提供および格納され、該当する時間に、メディアプログラムと一緒にユーザデバイス(複数)102にストリーミングまたはダウンロードすることができる。
一実施形態では、複数の広告は、メディア・プログラム・プロバイダ110からストリーミングまたはダウンロードされたビデオと一体化される。別の実施形態では、複数の広告は、メディアプログラムと一体化されるのではなく、代わりに、メディアプログラムとは別個に複数のユーザデバイス102に送信され、各広告がいつ提示されるべきかを示す複数のインデックスを使用して、該当する時間に再生される。例えば、複数の広告は、インデックスをつけることができる、および複数のユーザデバイス102にストリーミングまたはダウンロードすることができ(メディア・プログラム・プロバイダ110または広告プロバイダ140から)、このような複数の広告は、メディアプログラム内の対応する複数のインデックスにより示される複数の時間に、ユーザ132に対して再生することができる。
図2は、複数のユーザデバイス102、複数のサーバ112、122および142、ならびにデータベース114、124および144を含む、本発明の複数の要素を実現するために使用することができる例示的コンピュータシステム202を示す。コンピュータ202は、汎用ハードウェアプロセッサ204Aおよび/または専用ハードウェアプロセッサ204B(以下、代わりに集合的にプロセッサ204と呼ぶ)、ならびにランダム・アクセス・メモリ(RAM)などのメモリ206を備える。コンピュータ202は、キーボード214、マウスデバイス216およびプリンタ228などの複数の入出力(I/O)デバイスを含む他の複数のデバイスに結合されてもよい。
一実施形態では、コンピュータ202は、オペレーティングシステム208の制御下でコンピュータプログラム210により規定される複数の命令を汎用プロセッサ204Aが実行することにより動作する。コンピュータプログラム210および/またはオペレーティングシステム208は、メモリ206に格納されてもよく、ユーザ132および/または他の複数のデバイスとインタフェースで接続して、入力および複数のコマンドを受け入れて、このような入力および複数コマンド、ならびにコンピュータプログラム210およびオペレーティングシステム208により規定される複数のコマンドおよび複数の命令に基づき、出力および複数の結果を提供してもよい。
出力/複数の結果は、画面222上に示されても、提示する、またはさらに処理もしくは動作させるために、他のデバイスに提供されてもよい。典型的には、ディスプレイ222は、状態を変えて、ユーザ132に画像を集合的に提示する複数の画像要素(複数の画素)を備える。例えば、ディスプレイ222は、不透明な状態または半透明な状態に変化して、入力および複数のコマンドに対してコンピュータプログラム210および/またはオペレーティングシステム208の複数の命令を適用することにより、プロセッサ204により生成されたデータまたは情報に応答して、ディスプレイ上で画像の一部を形成する液晶をそれぞれ備える別個にアドレス可能な複数の画素を有する液晶ディスプレイ(LCD)を備えてもよい。同様に、複数のプラズマディスプレイが、異なる色の蛍光体をそれぞれ備える3つの別個のサブピクセルからなるセルを有する画素を含む。複数の色が一緒に混ざり合って、画素内に提示される色を生成する。複数のセルを通って流れる複数の電流パルスが、入力および複数のコマンドに応答してコンピュータプログラムおよび/またはオペレーティングシステム208の複数の命令を適用することにより、プロセッサにより生成されたデータに従って変更され、画素により提供される光の強さが変化する。また、同様に、複数の陰極線管(CRT)ディスプレイが複数の画素を含み、それぞれ、各画素が、典型的にはアパーチャグリルからの複数のドットまたは複数のラインで表現される複数のサブピクセルを有する複数の画素を有する。各ドットまたはラインは、電子銃からの複数の電子が衝突したときに光を放つ蛍光体コーティングを含む。コンピュータプログラムおよび/またはオペレーティングシステム208の複数の命令を適用することにより、プロセッサにより生成されたデータに応答して、および入力および/または複数のコマンドに応答して、電子銃により放出された複数の電子は、複数のドットまたは複数のラインに導かれ、したがって、このドットまたはラインの蛍光体コーティングに光を放たせることにより関連する画素の状態を変更する。
画像はグラフィカル・ユーザ・インタフェース(GUI)・モジュール218Aにより提供されてもよい。GUIモジュール218Aは別個のモジュールとして描かれているが、複数のGUI機能を実行する複数の命令が、オペレーティングシステム208、コンピュータプログラム210内に常駐もしくは分散する、または専用のメモリおよび複数のプロセッサで実現することができる。
コンピュータプログラム110の複数の命令に従ってコンピュータ202により実行される複数の動作の一部またはすべてが、専用プロセッサ204Bで実現されてもよい。さらに、コンピュータプログラム210の複数の命令の一部またはすべては、読み出し専用メモリ(ROM)、プログラム可能読み出し専用メモリ(PROM)、もしくは専用プロセッサ204B内部またはメモリ206内のフラッシュメモリに格納された複数のファームウェア命令により実現されてもよい。専用プロセッサ204Bはまた、複数の動作の一部またはすべてを実行して本発明を実現する回路設計により、ハードウェアに組み込まれてもよい。さらに、専用プロセッサ204Bは、複数の機能のサブセットを実行するための専用回路、および複数のコンピュータプログラム命令に応答するなどのより一般的な複数の機能を実行するための他の複数の回路を含むハイブリッドプロセッサでもよい。一実施形態では、専用プロセッサは、特定用途向け集積回路(ASIC)である。
コンピュータ202はまた、COBOL、C++、FORTRANまたは他の言語などのプログラミング言語で書かれたアプリケーションプログラム210をプロセッサ204の可読コードに翻訳することができるようにするコンパイラ212を実装してもよい。コンパイル後、アプリケーションまたはコンピュータプログラム210は、コンパイラ212を使用して生成された複数の関係およびロジックを使用して、複数のI/Oデバイスから受け入れられ、コンピュータ206のメモリ206に格納されたデータにアクセスし、操作する。
コンピュータ202はまたモデム、衛星リンク、イーサネット(登録商標)カードまたは他の複数のコンピュータから入力を受け入れ他の複数のコンピュータに出力を提供する他のデバイスなどの外部通信デバイスを任意選択で備える。
一実施形態では、オペレーティングシステム208、コンピュータプログラム210およびコンパイラ212を実現する複数の命令は、コンピュータ可読媒体、例えば1つまたは複数の固定のまたは取り外し可能なデータ記憶デバイス、例えばジップドライブ、フロッピー(登録商標)・ディスク・ドライブ224、ハードドライブ、CD−ROMドライブ、テープドライブ、DVDなどを含むことができるデータ記憶デバイス220内に有形に具体化される。さらに、オペレーティングシステム208およびコンピュータプログラム210は、コンピュータ202によりアクセスされ、読み出され、実行されたとき、コンピュータ202に本発明を実現および/もしくは使用するのに必要な、または複数の命令からなるプログラムをメモリの中にロードするのに必要な複数のステップを実行させる複数のコンピュータプログラム命令からなり、したがって、コンピュータに本明細書で説明される複数の方法ステップを実行する専用にプログラムされたコンピュータとして動作させる専用データ構造を生成する。コンピュータプログラム210および/または動作させる複数の命令はまた、メモリ206および/または複数のデータ通信デバイス230内に有形に具体化されてもよく、それにより、本発明によるコンピュータプログラム製品または製造物を作成する。このため、用語「製造物」、「プログラム記憶デバイス」および「コンピュータプログラム製品」は、本明細書で使用されるとき、任意のコンピュータ可読デバイスまたは媒体からアクセス可能なコンピュータプログラムを包含するものとする。
当然のことながら、上記の複数の構成要素の任意の組み合わせ、または任意の数の異なる複数の構成要素、複数の周辺装置および他の複数のデバイスが、コンピュータ202と共に使用されてもよいことを当業者であれば理解されよう。
本明細書では用語「ユーザコンピュータ」と呼ばれるが、ユーザコンピュータ102は、複数の携帯デバイス、例えば複数の携帯電話、複数の携帯型MP3プレーヤ、複数のビデオゲーム機、複数のノートブックコンピュータ、複数のポケットコンピュータ、複数の携帯情報端末(複数のPDA)または適切な処理、通信および入出力の性能を備えた任意の他のデバイスを含んでもよいことが理解される。
図3は、コンテンツ配送サブシステム(CDS)300の第1の実施形態、およびHTTP、TCP、RSTPまたは類似の複数のプロトコルに従ってユーザ132に提示するための複数のメディアプログラムおよび複数の広告を配送するために使用することができるトップレベルの複数の動作を示す図である。これらの複数のプロトコルを使用して、メディアプログラム配送中に、メディア・プログラム・プレーヤ110からの要求に従って、またはメディアサーバ114の主導権で、メディア・プログラム・プレーヤ110に送信されるデータのスループットを変更することができる。例えば、RTSPは、メディアサーバが、メディアサーバの能力と整合する特定の速度でメディア・プログラム・プレーヤにデータを配送し、この速度でメディアを提供することを望むことを要求する速度要求ヘッダフィールドを定義する。
図示される実施形態では、コンテンツ配送サブシステム300は、ユーザデバイス102、メディア・プログラム・プロバイダ110および広告プロバイダ140を含む。メディア・プログラム・プロバイダ110は、フィードサービス306、コンテンツセレクタ308およびコンテンツ管理サービス310を備える。ユーザ132が、ユーザデバイス102を使用してメディアプログラムを選択したとき、選択されたメディアプログラムのメディアプログラム識別子(PID)を要求するメッセージが、ユーザデバイス102からメディア・プログラム・プロバイダ110に送信される。フィードサービス306は要求を受信し、コンテンツ管理サービス310を介して安全な記憶装置312から得られた情報を使用して、フィードサービス306は、選択されたメディアプログラムに対するPIDを決定し、PIDをユーザデバイス102に送信する。ユーザデバイスは、このPIDおよびユーザIDをメディア・プログラム・プロバイダ110のコンテンツセレクタ308に送信する。コンテンツセレクタ308は、情報をコンテンツ管理サービス310に転送し、コンテンツ管理サービス310は、広告サービス318を使用して、安全な記憶装置312に格納された情報を使用して、ユーザおよび選択されたメディアプログラムに該当する複数の広告を選択する。これは、2010年5月26日に出願された、Wing Chit Makによる「迅速でスケーラブルな管理された広告サービスのための方法および装置(METHOD AND APPARATUS FOR RAPID AND SCALEABLE DIRECTED ADVERTISING SERVICE)」と題する同時係属中の特許出願第12/787,679号明細書に説明されるように実現されてもよく、この出願は参照により本明細書に組み入れられる。コンテンツ管理サービス310は、この情報をコンテンツセレクタ318に転送し、コンテンツセレクタ318は、選択されたメディアプログラムをユーザデバイス102がメディアサーバ114から得ることができる情報だけでなく、広告プロバイダ140からの複数の広告も送信する。図示される実施形態では、この情報は、メディアサーバ114から所望のメディアプログラムを得ることができるアドレス(例えばURL)を含む。ユーザデバイス102は、指定されたアドレスにあるメディアサーバ114にメディアプログラム要求を送信する。メディアサーバ114は、メディアプログラムを安全な記憶装置から取り出し、メディアプログラムをユーザデバイス102に送信する。ユーザデバイス102は、送信されたメディアプログラムを受信し、メディアプログラムをバッファ305に一時的に格納してもよい。バッファ305は、ハードウェアおよび/またはソフトウェアのバッファリングを含んでもよく、メディア・プログラム・プレーヤ305内、またはユーザデバイス102内の他のどこかに存在してもよい。
ユーザデバイス102はまた、広告プロバイダ120からの複数の広告を要求し、複数の広告を同様に受信してもよい。典型的には、メディアサーバ114は、異なるスループットまたは帯域幅の複数の通信チャネルにそれぞれ適した、複数のバージョンのメディアプログラムを有する。ユーザデバイス102または他の場所から受信された情報を使用して、メディアプレーヤ114は、ユーザデバイス102に送信するメディアプログラムの最も該当するバージョンを決定する。この決定は、例えば、メディアプログラムをユーザデバイス102に送信するために使用される通信チャネルの帯域幅または利用可能なビットレート、ユーザデバイスのスループット、ならびにユーザデバイス102で実現されるバッファ305のサイズおよび速度に基づくことができる。
次いで、ユーザデバイス102は、メディアプログラムを受信する。典型的には、メディア・プログラム・データは、ユーザデバイス内のハードウェアまたはソフトウェアのバッファ305に格納され、先入れ先出し(FIFO)法で取り出される。配送されるメディアプログラムのバージョンの平均ビットレートが、複数の通信のチャネルの帯域幅性能よりも低いので、メディアプログラムが再生されている間に、バッファ305は一杯になる。バッファリングされたデータは、通信チャネルの帯域幅またはメディアプログラムのビットレートが変化したときでさえ利用可能であり、したがって、バッファリングされたデータは、途切れ途切れの再生を低減するために使用することができる。
メディアプログラムが、必要とされるビットレートで配送されていないとユーザデバイス102が判断した場合(メディアプログラムを再生するためにデータが消費される速度が、データが受信される速度を、バッファ305が途切れ途切れの再生を適切に防止することができない程度まで超える)、ユーザデバイス102は、異なるバージョンのメディアプログラム(例えば、より低いビットレートでの送信に適したバージョン)を要求するメッセージをメディアサーバ114に送信してもよい。逆に、メディアプログラムが必要とされるビットレートよりも高く配送されているとユーザデバイス102が判断した場合、ユーザデバイス102は、より高いビットレートでの送信に適したバージョンのメディアプログラムを要求するメッセージをメディアサーバに送信してもよい。これにより、より高解像度バージョンのメディアプログラムがユーザ132に提供されることがある。
広告プロバイダ140およびメディアサーバ114は、メディア・プログラム・プロバイダ110とは別個のアーキテクチャエンティティとして図示されているが、広告プロバイダ140は、メディア・プログラム・プロバイダ110と一体化されてもよい(すなわち、メディア・プログラム・プロバイダはまた、複数の広告を提供してもよい)。CDS300は、www.hulu.com、www.imdb.com、www.aol.comまたはwww.msn.comを含んでもよい複数の配送ネットワークを介して複数のメディアプログラムおよび複数の広告を提供する手段を提供する。
メディアプログラムおよび広告コンテンツに関するメタデータだけでなく、ストリーミング情報も、複数のメディアプログラムおよび複数の広告がCDS300内部のどこで見つけ出すことができるかを記述するデータのように、コンテンツ配送システム300内に、データベース312内に格納されてもよい。
ユーザデバイス102は、インタフェースモジュール302およびメディア・プログラム・プレーヤ304を含んでもよい。インタフェースモジュール302は、情報および複数のメディアプログラムをユーザ132に提示するため、および複数のコマンドを含むユーザ入力を受け入れるために使用される、ユーザデバイス102により実行される複数の命令を含む。複数の例示的ユーザデバイス102が、デスクトップコンピュータ、ラップトップコンピュータまたは携帯デバイス、例えばIPOD、IPHONE、IPAD、携帯電話もしくはPALMデバイスである。
別の実施形態では、前述のことは、ユーザデバイス102が、PIDを受信し、PIDをコンテンツセレクタに送信する必要なしに実現され、代わりに、単にメディアプログラムの要求をユーザデバイスから受け入れ、ユーザデバイス102に送信され、かつメディアサーバ114からメディアプログラムを得るために使用されるURLおよびメタデータを生成する。
図4は、ライブ・ストリーミング・プロトコルに従って複数のメディアプログラムを送信するために提供されるコンテンツ配送システム400を示す図である。このプロトコルは、複数の携帯デバイスおよび複数の無線デバイスに対して特に有用である。基本的に、このプロトコルは、ユーザデバイス102がメディアプログラムを要求したときに、メディアプログラムの小さな複数のセグメントまたは「複数のチャンク」の「プレイリスト」を提供されることを除いて、図3に示すプロトコルに類似している。ユーザデバイス102は、プレイリストを使用して、メディアプログラムの各チャンクを順序正しく送信することを要求し、各チャンクが受信されたとき、各チャンクは処理され、ユーザ132に提示されるメディアプログラムに組み立てられる。
図4に示すように、ユーザデバイス102は、メディアプログラムのPIDの要求をフィードサービス306に送信する。要求は、典型的にはユーザID、またはこのプロキシだけでなく、メディアプログラムに対する何らかの識別も備える。フィードサービス306は要求を受信し、安全な記憶装置312およびコンテンツメタデータ/ストリーミング情報データベースから得られた情報を使用して、要求されたメディアプログラムのPIDをCMS310から得る。次いで、PIDはユーザデバイス102に送信される。次いで、ユーザデバイスは、コンテンツセレクタ308にPIDと共にメディアプログラム要求を送信する。
次いで、PIDを有するメディアプログラム要求が、コンテンツセレクタ308に送信され、コンテンツセレクタ308は、この情報をコンテンツ管理サービス310に転送する。コンテンツ管理システム318は、広告サービス318を使用して、安全な記憶装置312に格納された情報を使用して、ユーザおよび選択されたメディアプログラムに該当する複数の広告を選択する。この場合も、これは、上述の同時係属中の特許出願第12/787,679号明細書で説明されるように達成されてもよい。コンテンツ管理サービス310は、この情報をコンテンツセレクタ318に転送する。次いで、コンテンツセレクタ308は、マスタプレイリストを生成してもよい。
マスタプレイリストが、同じくコンテンツを送信するために使用されてもよい。マスタプレイリストは、異なる複数のビットレートで表現されたメディアプログラムに対するセグメントプレイリストにそれぞれ関連づけられる複数のリンクを含んでもよい。例えば、1つのリンクが、1.5Mbpsのビットレートバージョンのメディアプログラムに対するセグメントプレイリストに関連づけられてもよい。他のリンクが、3.2MBPSのバージョンのメディアプログラムに対するセグメントリストに関連づけられてよく、一方で、第3のリンクが、64Kbpsのバージョンのメディアプログラムに関連づけられてもよい。
次いで、マスタプレイリストはユーザデバイス102に送信される。ユーザデバイス102は、受信および再生に最も適合するバージョンのメディアプログラムを選択する。この選択は、例えば、メディアサーバ114とユーザデバイス102の間の複数の通信のチャネルの帯域幅もしくはスループット、ならびに/またはユーザデバイス102内の任意のバッファ(複数)305のサイズおよびスピードに基づくことができる。ユーザデバイス102は、選択されたバージョンのメディアプログラムのメディア・プログラム・バージョン要求をコンテンツセレクタ308に送信する。コンテンツセレクタ308は、メディア・プログラム・バージョン要求を受信し、セグメントプレイリストを生成し、セグメントプレイリストをユーザデバイス102に送信する。ユーザデバイス102は、セグメントプレイリストを受信し、メディアサーバ114または広告プロバイダ140から示された順序でプレイリスト内の複数のセグメントを要求する。
上述のように、複数のデジタル・メディア・プログラムの配送および提示が困難になる可能性があるのは、(1)メディアプログラムをユーザデバイス102に配送するために使用される通信チャネルが、(a)典型的には帯域幅が制限されており、(b)時間の経過と共に、および複数の移動体用途ではユーザの位置に対してかなり変化する可能性がある、(2)ユーザデバイス102により受信されたメディアプログラムの処理および提示には、(a)時間と共に変化する場合があるかなりのスループットおよび処理速度、ならびに(b)ユーザデバイス102内で使用される任意のバッファリングのかなりの記憶容量および記憶/取出速度を必要とするためである。
上記でさらに説明されたように、複数のデジタル・メディア・プログラムを配送するための従来技術の複数の技法は、P2P、マルチキャスト/ブロードキャストのアドレス指定方式を使用することにより帯域幅を節約しようとする場合が多い。しかしながら、複数の視聴者が、視聴中にデジタル・メディア・プログラム内の新しい複数の位置に頻繁にシークすることは珍しいわけではない。例えば、視聴者が、(メディアプログラム内部の現在時間に基づく位置を示す)進行タイムラインバー(progress timeline bar)上のスライダ(slider)を新しい位置に移動させてもよい。従来技術の複数の技法では、複数のシーク性能を同じく可能にしながら、複数のデジタル・メディア・プログラムをマルチキャスト/ブロードキャストする能力を提供できない。さらに、従来技術の複数の技法はまた、マルチキャスト/P2P環境でシーク性能を提供しながら、カスタムの/管理された広告を提供することができない。
したがって、異なる複数のユーザへの複数のストリームを共有することができ、かつこれにより帯域幅コストが低減するので、異なる複数のユーザに対して同期した複数のストリームが、サービスの観点から望ましい。
メディアコンテンツ配送の同期
本発明の複数の実施形態は、コンピュータ202内部で実行されるコンピュータプログラム210上で実現されてもよい。1つまたは複数の実施形態では、異なる/複数のユーザに配送される複数のストリームが、実行される複数のシーク動作に基づき同期/整列する。このような複数の性能を提供するために、複数のユーザは、ランダムな地点ではなく、メディアプログラム内の特定の複数の地点に誘導される。特定の複数の地点は、シーンの最初、ショット、フレーム、Iフレームなどとすることができる。
したがって、複数のユーザは、望むプログラムの任意の地点までスキャンすることができるわけではない。代わりに、複数のユーザは、最も近い(または直前の)ショットまたはシーンまでスキャンすることができる。複数のユーザをこのような方法で誘導することにより、複数のユーザは同一信号ストリームを受信する可能性が高く、それにより、帯域幅が節約される。
図5は、本発明の1つまたは複数の実施形態に従ってユーザのシーク位置を同期した位置にリダイレクトすることを示すユーザインタフェースを示す。ユーザが、再生バー/スライダを動かして、ビデオ内の前方または後方に移動するとき、ユーザが選択する正確な地点(すなわち、位置502)からビデオのストリーミングを開始するのではなく、メディアプログラムは、適度に近いが、ユーザが選択した正確な地点ではない地点(すなわち、位置504)から始まり、ストリーミングされる。ビデオストリーミングが開始する可能性がある地点504は、視聴者が選択した地点502の前であり、かつ少なくとも1人の他の視聴者がすでにこのビデオを視聴している地点504にある。この後、両方のユーザに、同一ビデオストリームが提供される(例えばマルチキャスト)。したがって、ユーザが特定の地点502までシークした場合、近似的な位置が、誰か他の人のシーク/視聴地点と一致する。したがって、複数のユーザが、所与のデジタルプログラム内の同一位置から視聴するように連係/同期する。
代わりにまたはさらに、シーンの最初、ショット、またはおそらく直前のIフレームにさえ視聴者を誘導することができる。換言すれば、ストリームの同期は、単に他のユーザの位置に基づけばよいのではなく、代わりに(またはさらに)ショット、シーン、フレームなどに基づくことができる。すべての複数の視聴者がこれに支配されるので、ビデオプログラムを視聴する際に他の視聴者が地点504に存在する可能性が高い。
ユーザがスキャンする場所502に応じて、複数のユーザが複数の広告(例えば複数のコマーシャル)または他のメディアコンテンツを示されることがある、およびこのような複数の広告/コンテンツはメディアプログラムの再生が開始される前に再生されることがあるという事実も考慮されてもよい。例えば、第1のユーザが、ビデオをプログラムの中の12:51で再生を始めるように誘導するが、第2のユーザが12:45ですでにこのメディアをストリーミングしているとする。複数の広告を考慮しなければ、第1のユーザは、12:45で開始されるストリームに誘導される。しかしながら、第1のユーザが12:51以前に複数のコマーシャルを見ていなかった場合、選択されたストリームが、第1のユーザがストリームに加わる前に複数のコマーシャルを見るのに十分な時間を含むように、システムは、これらの複数のコマーシャルを考慮する必要がある。換言すれば、第1のユーザは、まず30秒〜60秒間、複数のコマーシャルを再生している間、12:45の直後の位置に誘導されてもよい。あるいは、第1のユーザは、必要とされるコマーシャル視聴に対応するために異なるユーザと同期してもよい。
あるいは、複数の広告または代替コンテンツの挿入により、ユーザが最初に意図した場所以外でビデオを開始することになることがあるので、ユーザが、何度も正確な場所に到達しないようにするように何らかのメッセージが示されてもよい。
一例として、ユーザ2がメディアプログラムの中間点を視聴しているが、ユーザ1が同一メディアプログラムの最初を視聴しているとする。ユーザ1は、中央近傍の何らかの場所、ユーザ2よりも少し先までシーク動作を実行する。ユーザ1の入力まで単にシークする場合、追加の帯域幅が消費され、ユーザ1およびユーザ2は、同一コンテンツであるがコンテンツ内の異なる複数の地点を視聴していても同期しない。複数のユーザは、ビデオ再生の短いセクションまたは部分をスキップしたいだけであるので、シーク動作の実際の位置にあまり敏感ではないことがわかった。
したがって、本発明の複数の実施形態は、ユーザ2がユーザ1に追いつくことができるように、ユーザ1をしばらく待たせる。ユーザ1は、何もすることがなく引き留められる場合、退屈することがある。したがって、視聴している際に、ユーザ2およびユーザ1の時間の空白に合う、異なる複数の長さで、異なるが依然として的を絞った複数の広告/コンテンツが再生されることがある。この特定の広告を再生することにより、ユーザ1およびユーザ2は、一緒に整列することができる。
この技法は、再生の最初にも同様に適用される。例えば、ユーザ1がユーザ2よりも30秒早く到着するとする。ユーザ1は、ユーザ2を待つために広告に時間を費やすよう要求されることがある。さらに、このような視聴の遅延の一部として、通知がユーザ1に表示されてもよい(例えば、「視聴品質を改善するために、ビデオコンテンツがバッファされ/同期する間、お待ちください」)。このような遅延の間、本発明の複数の実施形態はまた、両方のユーザに対するネットワーク帯域幅を決定し、ビデオコンテンツのバッファリング、または第1または第2のユーザへのビデオコンテンツの一部の送信を開始してもよい(例えば、待っているユーザのネットワーク接続が、他方のユーザのネットワーク接続よりも遅い場合)。
上記に加えて、上述の複数の特徴のいずれも、サービス利用者以外に対して制限することができる。
論理的な流れ
図6は、本発明の1つまたは複数の実施形態に従って複数のユーザにメディアコンテンツをストリーミングするための論理的な流れを示す流れ図である。
ステップ602では、メディアコンテンツの/に対する第1のストリームが、メディアコンテンツ内の第1の位置から第1のユーザにストリーミングされる。
ステップ604では、メディアコンテンツ内のシーク位置までシークする要求が第1のユーザから受信される。要求は、第1のメディアコンテンツに対する進行タイムラインバー上のスライダを移動させることにより、第1のユーザから受信されてもよい。
ステップ606では、メディアコンテンツ内の第2の位置が決定される。第2の位置はシーク位置と適合する。さらに、第2の位置は、1人または複数の第2のユーザにストリーミングされている第2のストリームに基づく。この点、第2のユーザは、同一メディアコンテンツ/ビデオを見ている複数のユーザの大きなプールから選択されてもよい。このような選択は、最適化手法に基づいてもよい。例えば、第2の位置は、メディアコンテンツのショットまたはシーンに基づいてもよい。さらに、第2の位置は、他の複数のユーザにストリーミングされている複数のメディア・コンテンツ・ストリームを解析することにより決定されてもよい。換言すれば、シーク要求を受信するサーバは、ユーザにより要求されたシーク位置と適合するストリームを見つけ出すために、他の複数のユーザに送信されている複数のストリームを探索する。
ステップ608では、第2のストリームが、第1のユーザおよび第2のユーザの両方にストリーミングされる。このようなストリーミングは、第1のユーザと第2のユーザの間でメディアコンテンツの視聴を同期させる。1つまたは複数の実施形態では、ストリーミングは、第1および第2のユーザに第2のストリームをマルチキャストすることにより行われてもよい。あるいは、P2Pネットワークが、両方のユーザに第2のストリームをストリーミングするために使用されてもよい。第2のストリームをストリーミングするのに加えて、第2の位置/シーク位置に基づき、第1のユーザに広告がストリーミングされてもよい。このような広告は、第1のユーザの複数の属性に基づき、第1のユーザに特に向けられた(directed)、有向広告(directed advertisement)でもよい。さらに、選択された広告は、シーク位置と、第2のユーザが受信している第2のストリーム内の第2の位置との間の時間差に基づいてもよい。
結論
ここでは、本発明の好ましい複数の実施形態の説明が締めくくられる。本発明の好ましい実施形態の以上の説明は、例示および説明のために提示された。本発明の好ましい実施形態の以上の説明は、網羅的なものでも、開示した厳密な形態に本発明を限定するものでもない。以上の開示に照らして、多くの修正および変形が可能である。本発明の範囲は、この詳細な説明によって限定されるものではなく、むしろ本明細書に添付の特許請求の範囲によって限定されるものである。上記の説明、例およびデータは、本発明の製造、および組成物の用途の完全な説明を提供する。本発明の多くの実施形態は、本発明の精神および範囲を逸脱することなく作成することができるので、本発明は、以下に添付される特許請求の範囲にある。
以下に、本願出願時の特許請求の範囲に記載された発明を付記する。
[1]複数のユーザにメディアコンテンツをストリーミングするためのコンピュータ実装方法であって、
前記メディアコンテンツに対する第1のストリームを前記メディアコンテンツ内の第1の位置から第1のユーザにストリーミングすることと、
前記メディアコンテンツ内のシーク位置までシークする要求を前記第1のユーザから受信することと、
1人または複数の第2のユーザにストリーミングされている第2のストリームに基づく、前記シーク位置と適合する前記メディアコンテンツ内の第2の位置を決定することと、
前記第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザにストリーミングすることと、
を備えるコンピュータ実装方法。
[2]前記要求は、前記第1のメディアコンテンツに対する進行タイムラインバー上のスライダを移動させることにより、前記第1のユーザから受信される、
前記[1]に記載のコンピュータ実装方法。
[3]前記第2の位置は、前記メディアコンテンツのショットまたはシーンに基づく、
前記[1]に記載のコンピュータ実装方法。
[4]前記第2の位置は、他の複数のユーザにストリーミングされている複数のメディア・コンテンツ・ストリームを解析することにより決定される、
前記[1]に記載のコンピュータ実装方法。
[5]前記第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザに前記ストリーミングすることは、前記第1のユーザと前記1人または複数の第2のユーザの間の前記メディアコンテンツの視聴を同期させる、
前記[1]に記載のコンピュータ実装方法。
[6]前記第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザに前記ストリーミングすることは、前記第2のストリームをマルチキャストすることを備える、
前記[1]に記載のコンピュータ実装方法。
[7]前記第2のストリームを前記ストリーミングすることは、ピア・ツー・ピア(P2P)・ネットワーク内で行われる、
前記[1]に記載のコンピュータ実装方法。
[8]前記第2の位置に基づき前記第1のユーザに広告をストリーミングすること
をさらに備える、前記[1]に記載のコンピュータ実装方法。
[9]前記広告は、前記第1のユーザの複数の属性に基づき、前記第1のユーザに特に向けられた、有向広告を備える、
前記[8]に記載のコンピュータ実装方法。
[10]前記シーク位置と、前記1人または複数の第2のユーザが受信している前記第2のストリーム内の前記第2の位置との間の時間差に基づき前記広告を選択すること
をさらに備える、前記[8]に記載のコンピュータ実装方法。
[11]コンピュータシステムにおいてメディアコンテンツを複数のユーザにストリーミングするための装置であって、
(a)メモリを有するコンピュータと、
(b)前記コンピュータ上で実行するアプリケーションであって、
(i)前記メディアコンテンツに対する第1のストリームを前記メディアコンテンツ内の第1の位置から第1のユーザにストリーミングし、
(ii)前記メディアコンテンツ内のシーク位置までシークする要求を前記第1のユーザから受信し、
(iii)1人または複数の第2のユーザにストリーミングされている第2のストリームに基づく、前記シーク位置と適合する前記メディアコンテンツ内の第2の位置を決定し、
(iv)前記第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザにストリーミングする
ように構成されたアプリケーションと、
を備える装置。
[12]前記要求は、前記第1のメディアコンテンツに対する進行タイムラインバー上のスライダを移動させることにより、前記第1のユーザから受信される、
前記[11]に記載の装置。
[13]前記第2の位置は、前記メディアコンテンツのショットまたはシーンに基づく、
前記[11]に記載の装置。
[14]前記第2の位置は、他の複数のユーザにストリーミングされている複数のメディア・コンテンツ・ストリームを解析することにより決定される、
前記[11]に記載の装置。
[15]前記第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザに前記ストリーミングすることは、前記第1のユーザと前記1人または複数の第2のユーザの間の前記メディアコンテンツの視聴を同期させる、
前記[11]に記載の装置。
[16]前記第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザに前記ストリーミングすることは、前記第2のストリームをマルチキャストすることを備える、
前記[11]に記載の装置。
[17]前記第2のストリームを前記ストリーミングすることは、ピア・ツー・ピア(P2P)・ネットワーク内で行われる、
前記[11]に記載の装置。
[18]前記アプリケーションは、
前記第2の位置に基づき前記第1のユーザに広告をストリーミングする
ようにさらに構成された、前記[11]に記載の装置。
[19]前記広告は、前記第1のユーザの複数の属性に基づき、前記第1のユーザに特に向けられた、有向広告を備える、
前記[18]に記載の装置。
[20]前記アプリケーションは、
前記シーク位置と、前記1人または複数の第2のユーザが受信している前記第2のストリーム内の前記第2の位置との間の時間差に基づき前記広告を選択する
ようにさらに構成された、前記[18]に記載の装置。
[21]コンピュータによりアクセスされたとき、前記コンピュータに複数のプログラム命令をメモリにロードさせ、この中で専用データ構造を生成し、前記コンピュータに特別にプログラムされたコンピュータとして動作させ、複数のユーザにメディアコンテンツをストリーミングする方法を実行する前記複数のコンピュータプログラム命令をエンコードされたコンピュータ可読記憶媒体であって、
前記特別にプログラムされたコンピュータ内で、前記メディアコンテンツに対する第1のストリームを前記メディアコンテンツ内の第1の位置から第1のユーザにストリーミングすることと、
前記特別にプログラムされたコンピュータ内で、前記メディアコンテンツ内のシーク位置までシークする要求を前記第1のユーザから受信することと、
前記特別にプログラムされたコンピュータ内で、1人または複数の第2のユーザにストリーミングされている第2のストリームに基づく、前記シーク位置と適合する前記メディアコンテンツ内の第2の位置を決定することと、
前記特別にプログラムされたコンピュータ内で、前記第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザにストリーミングすることと、
を備えるコンピュータ可読記憶媒体。
[22]前記要求は、前記第1のメディアコンテンツに対する進行タイムラインバー上のスライダを移動させることにより、前記第1のユーザから受信される、
前記[21]に記載のコンピュータ可読記憶媒体。
[23]前記第2の位置は、前記メディアコンテンツのショットまたはシーンに基づく、
前記[21]に記載のコンピュータ可読記憶媒体。
[24]前記第2の位置は、他の複数のユーザにストリーミングされている複数のメディア・コンテンツ・ストリームを解析することにより決定される、
前記[21]に記載のコンピュータ可読記憶媒体。
[25]前記第2のストリームを前記第1のユーザおよび前記第2のユーザに前記ストリーミングすることは、前記第1のユーザと前記1人または複数の第2のユーザの間の前記メディアコンテンツの視聴を同期させる、
前記[21]に記載のコンピュータ可読記憶媒体。
[26]前記第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザに前記ストリーミングすることは、前記第2のストリームをマルチキャストすることを備える、
前記[21]に記載のコンピュータ可読記憶媒体。
[27]前記第2のストリームを前記ストリーミングすることは、ピア・ツー・ピア(P2P)・ネットワーク内で行われる、
前記[21]に記載のコンピュータ可読記憶媒体。
[28]前記特別にプログラムされたコンピュータ内で、前記第2の位置に基づき前記第1のユーザに広告をストリーミングすること
をさらに備える、前記[21]に記載のコンピュータ可読記憶媒体。
[29]前記広告は、前記第1のユーザの複数の属性に基づき、前記第1のユーザに特に向けられた、有向広告を備える、
前記[28]に記載のコンピュータ可読記憶媒体。
[30]前記特別にプログラムされたコンピュータ内で、前記シーク位置と、前記1人または複数の第2のユーザが受信している前記第2のストリーム内の前記第2の位置との間の時間差に基づき前記広告を選択すること
をさらに備える、前記[28]に記載のコンピュータ可読記憶媒体。

Claims (20)

  1. 複数のユーザにメディアコンテンツをストリーミングするためのコンピュータにより実行される方法であって、
    前記メディアコンテンツに対する第1のストリームを前記メディアコンテンツ内の第1の位置から第1のユーザにストリーミングすることと、ここで、メディアコンテンツに対する前記第1のストリームはユーザインタフェースで再生される、
    前記第1の位置と、第2の位置との間でメディアコンテンツをスキップする前記ユーザインタフェースで再生される前記メディアコンテンツ内の前記第2の位置までシークする要求を前記第1のユーザから受信することと、ここで、シークする前記要求は、前記メディアコンテンツが前記第2の位置で再生を開始することを要求する、
    前記第2の位置までシークする要求を受信することに応答して、前記メディアコンテンツに対する第2のストリームを、前記メディアコンテンツ内の異なる位置において複数の第2のユーザにストリーミングされる前記メディアコンテンツに対する複数の第2のストリームの内から選択することと、ここで、第2のストリームは、前記第2の位置および1人または複数の第2のユーザにストリーミングされる前記選択された第2のストリーム内の第3の位置に基づいて選択され、
    ここで、前記第3の位置は前記第2の位置とは異なるが、前記第2の位置と適合するように決定され、前記第3の位置は、前記メディアコンテンツ内において前記複数のユーザを誘導するための特定の地点であり、
    前記第3の位置の前記決定に基づいて、前記選択された第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザにストリーミングすることと、
    を備えるコンピュータにより実行される方法。
  2. 前記要求は、前記メディアコンテンツに対する進行タイムラインバー上のスライダを前記ユーザインタフェースに移動させることにより、前記第1のユーザから受信される、
    請求項1に記載のコンピュータにより実行される方法。
  3. 前記第3の位置は、前記メディアコンテンツのショットまたはシーンに基づく、
    請求項1に記載のコンピュータにより実行される方法。
  4. 前記第3の位置は、前記1人または複数の第2のユーザにストリーミングされている前記選択された第2のストリームに加えて、他のユーザにストリーミングされている複数の第2のストリーム内の他の第2のストリームを解析することにより決定される、
    請求項1に記載のコンピュータにより実行される方法。
  5. 前記選択された第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザに前記ストリーミングすることは、前記第1のユーザと前記1人または複数の第2のユーザの間で前記メディアコンテンツの視聴を同期させる、
    請求項1に記載のコンピュータにより実行される方法。
  6. 前記選択された第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザに前記ストリーミングすることは、前記選択された第2のストリームをマルチキャストすることを備える、
    請求項1に記載のコンピュータにより実行される方法。
  7. 前記選択された第2のストリームを前記ストリーミングすることは、ピア・ツー・ピア(P2P)・ネットワーク内で行われる、
    請求項1に記載のコンピュータにより実行される方法。
  8. 前記第3の位置に基づき前記第1のユーザに広告をストリーミングすること
    をさらに備える、請求項1に記載のコンピュータにより実行される方法。
  9. 前記広告は、前記第1のユーザの属性に基づき、前記第1のユーザに特に向けられた、有向広告を備える、
    請求項8に記載のコンピュータにより実行される方法。
  10. 前記第2の位置と、前記1人または複数の第2のユーザが受信している前記選択された第2のストリーム内の前記第3の位置との間の時間差に基づき前記広告を選択すること
    をさらに備える、請求項8に記載のコンピュータにより実行される方法。
  11. コンピュータシステムにおいてメディアコンテンツを複数のユーザにストリーミングするための装置であって、
    メモリを有するコンピュータと、
    前記コンピュータ上で実行するアプリケーションであって、
    前記メディアコンテンツに対する第1のストリームを前記メディアコンテンツ内の第1の位置から第1のユーザにストリーミングし、ここで、メディアコンテンツに対する前記第1のストリームはユーザインタフェースで再生される、
    前記第1の位置と、第2の位置との間でメディアコンテンツをスキップする前記ユーザインタフェースで再生される前記メディアコンテンツ内の前記第2の位置までシークする要求を前記第1のユーザから受信し、ここで、シークする前記要求は、前記メディアコンテンツが前記第2の位置で再生を開始することを要求する、
    前記第2の位置までシークする要求を受信することに応答して、前記メディアコンテンツに対する第2のストリームを、前記メディアコンテンツ内の異なる位置において複数の第2のユーザにストリーミングされる前記メディアコンテンツに対する複数の第2のストリームの内から選択し、ここで、第2のストリームは、前記第2の位置および1人または複数の第2のユーザにストリーミングされる前記選択された第2のストリーム内の第3の位置に基づいて選択され、
    こで、前記第3の位置は前記第2の位置とは異なるが、前記第2の位置と適合するように決定され、前記第3の位置は、前記メディアコンテンツ内において前記複数のユーザを誘導するための特定の地点であり、
    前記第3の位置の前記決定に基づいて、前記選択された第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザにストリーミングする
    ように構成されたアプリケーションと、
    を備える装置。
  12. 前記要求は、前記メディアコンテンツに対する進行タイムラインバー上のスライダを前記ユーザインタフェースに移動させることにより、前記第1のユーザから受信される、
    請求項11に記載の装置。
  13. 前記第3の位置は、前記メディアコンテンツのショットまたはシーンに基づく、
    請求項11に記載の装置。
  14. 前記第3の位置は、前記1人または複数の第2のユーザにストリーミングされている前記選択された第2のストリームに加えて、他のユーザにストリーミングされている複数の第2のストリーム内の他の第2のストリームを解析することにより決定される、
    請求項11に記載の装置。
  15. 前記選択された第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザに前記ストリーミングすることは、前記第1のユーザと前記1人または複数の第2のユーザの間で前記メディアコンテンツの視聴を同期させる、
    請求項11に記載の装置。
  16. 前記選択された第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザに前記ストリーミングすることは、前記選択された第2のストリームをマルチキャストすることを備える、
    請求項11に記載の装置。
  17. 前記選択された第2のストリームを前記ストリーミングすることは、ピア・ツー・ピア(P2P)・ネットワーク内で行われる、
    請求項11に記載の装置。
  18. 前記アプリケーションは、
    前記第3の位置に基づき前記第1のユーザに広告をストリーミングする
    ようにさらに構成された、請求項11に記載の装置。
  19. 前記広告は、前記第1のユーザの属性に基づき、前記第1のユーザに特に向けられた、有向広告を備える、
    請求項18に記載の装置。
  20. 前記アプリケーションは、
    前記第2の位置と、前記1人または複数の第2のユーザが受信している前記選択された第2のストリーム内の前記第3の位置との間の時間差に基づき前記広告を選択する
    ようにさらに構成された、請求項18に記載の装置。
JP2013527350A 2010-09-03 2011-09-02 修正されたシーク機能を用いた帯域幅割当の改善 Active JP6253983B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/875,892 2010-09-03
US12/875,892 US8832293B2 (en) 2010-09-03 2010-09-03 Bandwidth allocation with modified seek function
PCT/US2011/050404 WO2012031244A1 (en) 2010-09-03 2011-09-02 Improved bandwidth allocation with modified seek function

Publications (3)

Publication Number Publication Date
JP2013542633A JP2013542633A (ja) 2013-11-21
JP2013542633A5 JP2013542633A5 (ja) 2014-10-16
JP6253983B2 true JP6253983B2 (ja) 2017-12-27

Family

ID=45771479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013527350A Active JP6253983B2 (ja) 2010-09-03 2011-09-02 修正されたシーク機能を用いた帯域幅割当の改善

Country Status (3)

Country Link
US (1) US8832293B2 (ja)
JP (1) JP6253983B2 (ja)
WO (1) WO2012031244A1 (ja)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040162637A1 (en) 2002-07-25 2004-08-19 Yulun Wang Medical tele-robotic system with a master remote station with an arbitrator
US7813836B2 (en) 2003-12-09 2010-10-12 Intouch Technologies, Inc. Protocol for a remotely controlled videoconferencing robot
US8077963B2 (en) 2004-07-13 2011-12-13 Yulun Wang Mobile robot with a head-based movement mapping scheme
US9198728B2 (en) 2005-09-30 2015-12-01 Intouch Technologies, Inc. Multi-camera mobile teleconferencing platform
US8849679B2 (en) 2006-06-15 2014-09-30 Intouch Technologies, Inc. Remote controlled robot system that provides medical images
US9160783B2 (en) 2007-05-09 2015-10-13 Intouch Technologies, Inc. Robot system that operates through a network firewall
US10875182B2 (en) 2008-03-20 2020-12-29 Teladoc Health, Inc. Remote presence system mounted to operating room hardware
US8179418B2 (en) 2008-04-14 2012-05-15 Intouch Technologies, Inc. Robotic based health care system
US8170241B2 (en) 2008-04-17 2012-05-01 Intouch Technologies, Inc. Mobile tele-presence system with a microphone system
US9193065B2 (en) 2008-07-10 2015-11-24 Intouch Technologies, Inc. Docking system for a tele-presence robot
US9842192B2 (en) 2008-07-11 2017-12-12 Intouch Technologies, Inc. Tele-presence robot system with multi-cast features
US8340819B2 (en) 2008-09-18 2012-12-25 Intouch Technologies, Inc. Mobile videoconferencing robot system with network adaptive driving
US8996165B2 (en) 2008-10-21 2015-03-31 Intouch Technologies, Inc. Telepresence robot with a camera boom
US9138891B2 (en) 2008-11-25 2015-09-22 Intouch Technologies, Inc. Server connectivity control for tele-presence robot
US8463435B2 (en) 2008-11-25 2013-06-11 Intouch Technologies, Inc. Server connectivity control for tele-presence robot
US8849680B2 (en) 2009-01-29 2014-09-30 Intouch Technologies, Inc. Documentation through a remote presence robot
US8897920B2 (en) 2009-04-17 2014-11-25 Intouch Technologies, Inc. Tele-presence robot system with software modularity, projector and laser pointer
US8384755B2 (en) 2009-08-26 2013-02-26 Intouch Technologies, Inc. Portable remote presence robot
US11399153B2 (en) 2009-08-26 2022-07-26 Teladoc Health, Inc. Portable telepresence apparatus
US11154981B2 (en) 2010-02-04 2021-10-26 Teladoc Health, Inc. Robot user interface for telepresence robot system
US8670017B2 (en) 2010-03-04 2014-03-11 Intouch Technologies, Inc. Remote presence system including a cart that supports a robot face and an overhead camera
US10343283B2 (en) 2010-05-24 2019-07-09 Intouch Technologies, Inc. Telepresence robot system that can be accessed by a cellular phone
US10808882B2 (en) 2010-05-26 2020-10-20 Intouch Technologies, Inc. Tele-robotic system with a robot face placed on a chair
US9264664B2 (en) 2010-12-03 2016-02-16 Intouch Technologies, Inc. Systems and methods for dynamic bandwidth allocation
CN103459099B (zh) 2011-01-28 2015-08-26 英塔茨科技公司 与一个可移动的远程机器人相互交流
US9323250B2 (en) 2011-01-28 2016-04-26 Intouch Technologies, Inc. Time-dependent navigation of telepresence robots
US10769739B2 (en) 2011-04-25 2020-09-08 Intouch Technologies, Inc. Systems and methods for management of information among medical providers and facilities
US20140139616A1 (en) 2012-01-27 2014-05-22 Intouch Technologies, Inc. Enhanced Diagnostics for a Telepresence Robot
US9098611B2 (en) 2012-11-26 2015-08-04 Intouch Technologies, Inc. Enhanced video interaction for a user interface of a telepresence network
US8836751B2 (en) 2011-11-08 2014-09-16 Intouch Technologies, Inc. Tele-presence system with a user interface that displays different communication links
US9251313B2 (en) 2012-04-11 2016-02-02 Intouch Technologies, Inc. Systems and methods for visualizing and managing telepresence devices in healthcare networks
US8902278B2 (en) 2012-04-11 2014-12-02 Intouch Technologies, Inc. Systems and methods for visualizing and managing telepresence devices in healthcare networks
WO2013176762A1 (en) 2012-05-22 2013-11-28 Intouch Technologies, Inc. Social behavior rules for a medical telepresence robot
US9361021B2 (en) 2012-05-22 2016-06-07 Irobot Corporation Graphical user interfaces including touchpad driving interfaces for telemedicine devices
US9749373B2 (en) * 2012-08-14 2017-08-29 Apple Inc. System and method for improved content streaming
CN103873927B (zh) * 2012-12-17 2018-07-03 联想(北京)有限公司 流媒体数据处理方法和电子设备
US20150026714A1 (en) * 2013-07-19 2015-01-22 Ebay Inc. Systems and methods of sharing video experiences
US9906902B2 (en) 2015-06-02 2018-02-27 GeoFrenzy, Inc. Geofence information delivery systems and methods
US10121215B2 (en) 2014-07-29 2018-11-06 GeoFrenzy, Inc. Systems and methods for managing real estate titles and permissions
US9906609B2 (en) 2015-06-02 2018-02-27 GeoFrenzy, Inc. Geofence information delivery systems and methods
US9363638B1 (en) 2015-06-02 2016-06-07 GeoFrenzy, Inc. Registrar mapping toolkit for geofences
US10235726B2 (en) 2013-09-24 2019-03-19 GeoFrenzy, Inc. Systems and methods for secure encryption of real estate titles and permissions
US9699488B2 (en) * 2014-06-02 2017-07-04 Google Inc. Smart snap to interesting points in media content
US9986378B2 (en) 2014-07-29 2018-05-29 GeoFrenzy, Inc. Systems and methods for defining and implementing rules for three dimensional geofences
US10115277B2 (en) 2014-07-29 2018-10-30 GeoFrenzy, Inc. Systems and methods for geofence security
US11240628B2 (en) 2014-07-29 2022-02-01 GeoFrenzy, Inc. Systems and methods for decoupling and delivering geofence geometries to maps
US10237232B2 (en) 2014-07-29 2019-03-19 GeoFrenzy, Inc. Geocoding with geofences
US10805761B2 (en) 2014-07-29 2020-10-13 GeoFrenzy, Inc. Global registration system for aerial vehicles
US10375514B2 (en) 2014-07-29 2019-08-06 GeoFrenzy, Inc. Systems, methods and apparatus for geofence networks
US11606666B2 (en) 2014-07-29 2023-03-14 GeoFrenzy, Inc. Global registration system for aerial vehicles
US9875251B2 (en) 2015-06-02 2018-01-23 GeoFrenzy, Inc. Geofence information delivery systems and methods
US11838744B2 (en) 2014-07-29 2023-12-05 GeoFrenzy, Inc. Systems, methods and apparatus for geofence networks
US10582333B2 (en) * 2014-07-29 2020-03-03 GeoFrenzy, Inc. Systems and methods for geofence security
US10932084B2 (en) 2014-07-29 2021-02-23 GeoFrenzy, Inc. Systems, methods and apparatus for geofence networks
WO2016196496A1 (en) 2015-06-02 2016-12-08 GeoFrenzy, Inc. Geofence information delivery systems and methods
US11862302B2 (en) 2017-04-24 2024-01-02 Teladoc Health, Inc. Automated transcription and documentation of tele-health encounters
US10483007B2 (en) 2017-07-25 2019-11-19 Intouch Technologies, Inc. Modular telehealth cart with thermal imaging and touch screen user interface
US11636944B2 (en) 2017-08-25 2023-04-25 Teladoc Health, Inc. Connectivity infrastructure for a telehealth platform
US10617299B2 (en) 2018-04-27 2020-04-14 Intouch Technologies, Inc. Telehealth cart that supports a removable tablet with seamless audio/video switching
US20230052385A1 (en) * 2021-08-10 2023-02-16 Rovi Guides, Inc. Methods and systems for synchronizing playback of media content items

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5583561A (en) * 1994-06-07 1996-12-10 Unisys Corporation Multi-cast digital video data server using synchronization groups
US7111316B1 (en) * 1999-08-06 2006-09-19 Wisconsin Alumni Research Foundation Method for efficient, on-demand data streaming
US20020194622A1 (en) * 2001-05-25 2002-12-19 Lord Allan Dale Communication system for public places and advertising based revenue generation model for use therewith
US7200669B2 (en) * 2001-07-31 2007-04-03 Dinastech Ipr Limited Method and system for delivering large amounts of data with interactivity in an on-demand system
US7174384B2 (en) * 2001-07-31 2007-02-06 Dinastech Ipr Limited Method for delivering large amounts of data with interactivity in an on-demand system
US7987479B1 (en) * 2002-03-28 2011-07-26 Cisco Technology, Inc. System and method for distribution of content over a network
US7260601B1 (en) * 2002-06-28 2007-08-21 Cisco Technology, Inc. Methods and apparatus for transmitting media programs
JP2004140552A (ja) * 2002-10-17 2004-05-13 Sony Corp マルチキャストシステム,ストリーミングサーバ,クライアント装置,プログラム,およびストリーミングサーバの送信方法
US7698724B1 (en) * 2003-05-15 2010-04-13 Cisco Technology, Inc. Convergence processor for media streams
JP2005294941A (ja) * 2004-03-31 2005-10-20 Nippon Telegraph & Telephone West Corp 映像コンテンツ再生システム、その再生制御方法、クライアント端末、同期サーバ及びそのプログラム
JP3966343B2 (ja) * 2005-06-22 2007-08-29 住友電気工業株式会社 配信管理方法、配信管理装置、及び配信管理システム
US20070220118A1 (en) * 2006-03-15 2007-09-20 Loyer Douglas E Systems, Methods, and Apparatus for Delivering Randomly Accessible Audio and Video Media
US8832760B2 (en) * 2006-03-17 2014-09-09 Sony Corporation System and method for organizing group content presentations and group communications during the same
US20100106851A1 (en) * 2007-03-29 2010-04-29 Pioneer Corporation Content delivery system
US9712787B2 (en) * 2007-07-02 2017-07-18 At&T Intellectual Property I, L.P. System and method of delivering video content
JP2009021698A (ja) * 2007-07-10 2009-01-29 Toshiba Corp 映像表示端末装置、表示切替方法およびプログラム
US9503691B2 (en) * 2008-02-19 2016-11-22 Time Warner Cable Enterprises Llc Methods and apparatus for enhanced advertising and promotional delivery in a network
JP2009284055A (ja) * 2008-05-20 2009-12-03 Tokyo Univ Of Agriculture & Technology プログラム、情報記憶媒体及び動画配信システム
US8655953B2 (en) * 2008-07-18 2014-02-18 Porto Technology, Llc System and method for playback positioning of distributed media co-viewers
US20100040343A1 (en) * 2008-08-12 2010-02-18 Sony Corporation Method for Enhanced Seek Functionality
US8184628B2 (en) * 2009-08-28 2012-05-22 Cisco Technology, Inc. Network based multicast stream duplication and merging

Also Published As

Publication number Publication date
JP2013542633A (ja) 2013-11-21
WO2012031244A1 (en) 2012-03-08
US20120059946A1 (en) 2012-03-08
US8832293B2 (en) 2014-09-09

Similar Documents

Publication Publication Date Title
JP6253983B2 (ja) 修正されたシーク機能を用いた帯域幅割当の改善
JP6461895B2 (ja) 適応ビットレート切換えのための方法および装置
US9721254B2 (en) Method and apparatus for providing streaming media programs and targeted advertisements using multiple advertisement version segments
JP5917508B2 (ja) 休止された再生をプラットフォーム全体にわたって同期化する方法および装置
RU2543568C2 (ru) Плавная потоковая передача клиентского мультимедиа без фиксации состояния
JP5833114B2 (ja) Httpライブストリーミングと両立できるようにストリーミングメディアプログラムおよび目標とされた広告を供給する方法および装置
US20110112909A1 (en) Multicasting personalized high definition video content to consumer storage
US9826007B2 (en) Method and apparatus for sharing viewing information
US20240179207A1 (en) Systems and methods for cache-based content delivery
US20200236417A1 (en) System and method for storing multimedia files using an archive file format
US10893315B2 (en) Content presentation system and content presentation method, and program
WO2012051453A1 (en) Method and apparatus for recommending media programs based on correlated user feedback

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140901

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140901

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150827

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160708

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160719

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20161007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171129

R150 Certificate of patent or registration of utility model

Ref document number: 6253983

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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