JP4989054B2 - 帯域幅が制限されるネットワーク上のメディア変換方法および装置 - Google Patents

帯域幅が制限されるネットワーク上のメディア変換方法および装置 Download PDF

Info

Publication number
JP4989054B2
JP4989054B2 JP2005222021A JP2005222021A JP4989054B2 JP 4989054 B2 JP4989054 B2 JP 4989054B2 JP 2005222021 A JP2005222021 A JP 2005222021A JP 2005222021 A JP2005222021 A JP 2005222021A JP 4989054 B2 JP4989054 B2 JP 4989054B2
Authority
JP
Japan
Prior art keywords
video
buffer
frame transmission
transmission level
audio
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 - Fee Related
Application number
JP2005222021A
Other languages
English (en)
Other versions
JP2006060802A (ja
Inventor
バーディ グルプラタップ
エー.デイビス ジェフリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006060802A publication Critical patent/JP2006060802A/ja
Application granted granted Critical
Publication of JP4989054B2 publication Critical patent/JP4989054B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4392Processing of audio elementary streams involving audio buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23611Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/60Receiver circuitry for the reception of television signals according to analogue transmission standards for the sound signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本開示は、一般には、メディアストリーミングに関し、より詳細には、ネットワーク帯域幅情報に基づいて、ビデオ伝送のビットレートを変更することに関する。
オーディオ、ビデオおよび/またはテキストメディアコンテンツのストリーミングなどのコンテンツストリーミングは、ますます普及している。用語「ストリーミング」は一般に、メディアを表すデータが、ネットワークを介してホストコンピュータによってクライアントコンピュータ(すなわち、デスクトップPC、ノートブックまたはポータブルコンピュータ、携帯電話または他の無線通信装置、携帯情報端末(PDA:Personal Digital Assistant)、ゲームコンソール、IPセットトップボックス、ハンドヘルドPCなど、様々な従来のコンピューティング装置のいずれかとして実装されたメディア再生コンピュータ装置)に提供され、クライアントコンピュータが、「ファイル」全体が配信されるのを待つのではなく、ストリーミングコンテンツをホストから受信しながらそれをレンダリングすることを示すために使用される。
メディアコンテンツは一般に、ネットワークを介して「ストリーミング」される場合、データパケットの形でストリーミングされる。しかし、データパケットがその宛先に、それが送信されたのと同じ順序で届くという保証、または、データパケットがその宛先に本当に届くという保証さえ、必ずしもあるとは限らない。さらに、データパケットが送信元から宛先に移動するのに要する時間が特定の長さであるという保証、または、その時間がそれぞれ異なるデータパケットについて同じであるという保証は通常ない。
クライアントコンピュータへのデータ配信におけるこうしたばらつきについての責任を負うために、クライアントコンピュータは一般に、データのバッファを維持する。このバッファによって、クライアントコンピュータは、コンテンツの再生時にデータ配信のばらつきがユーザに分からないように、そのばらつきをならすことができる。しかし、このバッファリングの1つの問題は、ネットワークの輻輳(ネットワークのクロストラフィック、干渉、無線受信不良など)によって生じるネットワーク帯域幅の障害の責任を常にそれが負い得るとは限らないことである。ネットワーク帯域幅の障害が数秒以上持続する場合、それは、クライアントバッファが補償する能力を超えることがあり、それによって、ユーザのためのコンテンツ再生に対してかなりの悪影響がもたらされ得る。たとえば、ネットワーク帯域幅における持続的な障害によって、クライアントコンピュータ上のビデオ(すなわちオーディオ/ビデオ)コンテンツの再生が休止し、ビデオコンテンツのリアルタイム体験が一般に不可能になることがある。
こうしたネットワーク帯域幅問題に対する1つの解決策は、ストリーミングコンテンツのサイズ(すなわちビットレート)を下げることである。ストリーミングコンテンツのビットレートを下げるための現在のいくつかの方法は、同じビデオコンテンツの複数のコピーを生成し格納することを伴う。したがって、ユーザまたはシステムは、低いビットレートのビデオコンテンツのバージョンを選択し、ビデオコンテンツのリアルタイム再生がネットワーク帯域幅障害によって中断される可能性を小さくするオプションを有する。ストリーミングコンテンツのビットレートを下げるための別の方法は、ビットレートの低減を「オンザフライ」で実施することである。
こうした方法は、リアルタイムビデオ再生の中断を少なくし得るが、様々な欠点を有する。たとえば、同じビデオコンテンツのそれぞれ異なるビットレートのコピーが格納される場合、ビデオコンテンツの再生ビットレートの選択は一般に、再生の最初に行われ、通常、再生中に変更され得ない。ビデオコンテンツをあるビットレートのコピーから別のビットレートのコピーに変更するには、再生の中断、およびコンテンツの最初から再生を再開することが必要であり得る。別の欠点は、ホスト装置上に同じコンテンツの複数のコピーを保持するには、かなり大きな記憶領域が必要なことである。上記の方法の両方が、極めてプロセッサ集約型であるという追加の欠点をもつ。すなわち、同じビデオコンテンツのビットレート符号化された複数の異なるコピーを生成することと、「オンザフライ」のビットレート低減を実施することの両方が、極めてプロセッサ集約的である。ホスト装置上で一般に実施されるこうしたプロセスは、ビデオコンテンツを、非圧縮のまたは生のビデオに、完全に復号することを伴う。完全な復号の後に、生のビデオを完全に符号化して、パラメータ調整でそれを再圧縮し、それによって、ビデオコンテンツのより小さい全体のコピーとなる。
したがって、コンテンツ再生時にネットワーク帯域幅障害をユーザにとってより透過的にする、ストリーミングコンテンツ配信の方法が求められている。
ホストコンピュータ上の変換マネージャ(transrate manager)は、ネットワーク帯域幅の制限があるかどうか判断し、それに従ってストリーミングメディアコンテンツのビットレートを制御する。ビットレートは、ストリーミングメディアコンテンツから複数のタイプまたはクラスのビデオフレームを除外し、次いで、ネットワークが回復されるときに、その除外されたタイプまたはクラスのビデオフレームをストリーミングメディアコンテンツに再び挿入することによって制御される。
ある実装では、ホストコンピュータは、ビデオ(すなわちオーディオ/ビデオ)コンテンツを再生装置にストリーミングし、バッファ占有率(buffer fullness)についての報告を再生装置から受信する。バッファ報告が再生装置上のメディアバッファ(すなわちオーディオバッファ)が使い果たされようとしていることを示す場合、変換マネージャは、トランスレータ(transrater)に、ストリーミングビデオコンテンツからビデオフレームを選択的に除外するように指示する。バッファ占有の度合いに応じて、それぞれ異なるタイプまたはクラスのビデオフレームが、次第に、または1度にすべて、ストリーミングビデオコンテンツから除外され得る。たとえば、第1のステップで、特定のデルタビデオフレームが除外され得る(たとえば、MPEGビデオコンテンツについて、Bフレームがまず除外され、バッファが依然として占有される場合には、それに続いてPフレームが除外される)。変換マネージャは、バッファ占有率報告を引き続き監視する。すべてのデルタビデオフレーム(BおよびPデルタフレームなど)が除外された後に、再生装置上のバッファ占有が続くならば、トランスレータは、特定のキーフレーム(1つおきの「I」フレームなど)を除外することもできる。特定のタイプのビデオフレームの各除外によって、ビデオストリームのビットレートが低減され、ユーザのためのリアルタイム再生体験を持続するのに間に合う時間内にキービデオフレームが再生装置に到着する可能性が高まる。フレームは、除外されたフレームを補い、満足できるリアルタイムビデオ再生の体験を維持するために、再生装置上で持続され、または複製され得る。オーディオコンテンツはメディアストリームから除去されず、したがって、オーディオ再生は、シームレス体験である。
ネットワーク帯域幅制限が和らぐと、変換マネージャは、除外されたタイプのビデオフレームのビデオストリームへの再挿入を制御する。ネットワーク帯域幅の全体的な状態(health)は、再生装置のバッファが再び占有され始めるまで、またはさらなるバッファ占有を生じずにメディアストリームの前のビットレートに達するまで、増加していくレートで(at an increasing rate)パディング用データパケットをメディアストリームに挿入することによってテストされる。さらなるバッファ占有を生じずにメディアストリームの前のビットレートに達する場合、直前に除外されたタイプのビデオフレームがビデオストリーム内に再び挿入される。このプロセスは、ビデオコンテンツのすべてのタイプのビデオフレームが再生装置上に再びストリーミングされるまで続く。
すべての図面を通じて同じ参照番号を使用して、同様のコンポーネントおよび特徴を参照する。
(序論)
以下の議論は、ネットワーク帯域幅制限を補償するために、ストリーミングメディアコンテンツの「オンザフライ」変換(すなわちビットレート変換)を提供するシステムおよび方法を対象とする。一時的なネットワーク帯域幅問題によって中断されないリアルタイム再生の体験を維持するために、それぞれ異なるタイプのフレームが、メディアストリームのビデオ部分から選択的に除外され得る。ネットワークが回復するときに、除外されたタイプのビデオフレームがメディアストリーム内に再び挿入され得る。開示されるシステムおよび方法の利点は、ネットワーク問題による中断が減少される、および、ネットワーク帯域幅が使用可能なときにより高い品質を維持する、ビデオ再生体験を含む。追加の利点は、メディアコンテンツを維持し配信するホスト装置の、ストレージおよびメディア処理要件を低減することを含む。
(例示的な環境)
図1に、ネットワーク106を介してホストコンピュータ装置102から再生コンピュータ装置104にストリーミングされるメディアコンテンツをレート変換(すなわちビットレート変換)するのに適した例示的な環境100を示す。ネットワーク106は、様々な従来のネットワークプロトコル(公開および/または独自仕様のプロトコルを含む)のいずれかを使用する、様々な従来のネットワークトポロジまたはタイプ(光、有線および/または無線ネットワークを含む)のいずれかを表すものである。ネットワーク106は、たとえばホームネットワーク、企業ネットワーク、またはインターネット、ならびに場合によっては、1つまたは複数のローカルエリアネットワーク(LAN:local area network)および/または広域ネットワーク(WAN:wide area network)の少なくとも一部を含み得る。
ホスト装置102は一般に、メディアコンテンツを格納し、要求に応じて、再生装置104にメディアコンテンツをストリーミングする。再生装置104は一般に、ホスト装置102からストリーミングメディアコンテンツを受信し、ユーザのためにそれを再生する。ホスト装置102上で入手可能なストリーミングメディアコンテンツを求める、再生装置104からの要求は、ネットワーク106を介して再生装置104からホスト装置102にルーティングされる。ホスト装置102は、要求を受信し、ネットワーク106を介して要求側の再生装置104に、要求されたコンテンツを返す。
ホスト装置102は、メディアコンテンツを格納し、再生装置104にストリーミングするように構成することができる、たとえばデスクトップPC、ノートブックまたはポータブルコンピュータ、ワークステーション、メインフレームコンピュータ、インターネット機器、その組合せなどを含めて、様々な従来のコンピューティング装置のいずれかとして実装され得る。再生装置104もまた、たとえばデスクトップPC、ノートブックまたはポータブルコンピュータ、ワークステーション、メインフレームコンピュータ、インターネット機器、ゲームコンソール、ハンドヘルドPC、携帯電話または他の無線通信装置、携帯情報端末(PDA)、セットトップボックス、その組合せなどを含めて、様々な従来のコンピューティング装置のいずれかとして実装され得る。ホスト装置102および再生装置104を実装するための例示的なコンピューティング環境について、図11を参照して、本明細書中で以下により詳細に述べる。
ホスト装置102は、オーディオ、ビデオ、テキスト、画像、アニメーションなどを含めて、様々なデータのいずれも、再生装置104へのストリーミングに使用できるようにすることができる。しかし、メディアコンテンツ200は、以下で述べる例示的な諸実施形態に関して本明細書で用いられるときは、オーディオ/ビデオ(A/V:audio/video)コンテンツ、またはビデオコンテンツだけを表すためのものである。さらに、「メディアコンテンツ」、「ストリーミングメディア」、「ストリーミングビデオ」、「ビデオコンテンツ」、およびその任意のバリエーションについて本明細書中でなされる言及は一般に、オーディオ/ビデオコンテンツを含むものである。用語「ストリーミング」は、メディアコンテンツを表すデータがネットワーク106を介して再生装置104に提供され、コンテンツ全体が配信される前にコンテンツの再生が開始し得ることを示すために使用される。データは、公的に入手可能であることも、あるいは、(特定のユーザだけに制限される、適切な料金が支払われる場合にだけ入手可能である、特定のネットワークへアクセスできるユーザに制限されるなど)制限付きであることもある。さらに、データは、「オンデマンド型」(たとえば、事前に記録されたもの、および、既知のサイズのものなど)であることも、あるいは、「ブロードキャスト型」(たとえば、コンサートが実施される間にキャプチャされ、キャプチャの直後にストリーミングに使用できるようにされるコンサートのデジタル表現など、サイズが知られていないもの)であることもある。
(例示的な実施形態)
図2に、ネットワーク106を介して再生コンピュータ装置104にメディア/ビデオコンテンツ200をストリーミングし、ネットワーク帯域幅の可用性(availability)に関する情報に応答してメディアコンテンツ200のビデオ成分を変換する(すなわちビットレートを変換する)ように構成されたホスト装置102の例示的な一実施形態を示す。この実施形態では、再生装置104は、バッファ占有率報告202の形でネットワーク帯域幅の可用性に関する情報を提供し、このバッファ占有率報告は、再生装置104へのメディアコンテンツのストリーミング中に、再生装置104上のメディアバッファ206内にあるデータのレベル(すなわちオーディオバッファ206(1)内のオーディオデータのレベル)を示す。この実施形態に関して本明細書で論じるバッファ占有率報告202は、ホスト装置102がどのようにネットワーク帯域幅の可用性を判断し得るかについての単に1つの可能な例を示すものであることに留意されたい。したがって、ホスト装置102にネットワーク帯域幅の可用性に関する情報を提供する他の方法が企図され、その方法は、バッファ占有率報告202に関して本明細書で論じるものと類似の利点をもたらし得る。
ホスト装置102は、再生装置104上のメディアプレーヤーアプリケーション204によって(たとえば、プレーヤーアプリケーション204を介したユーザ入力に応答して)選択が行われる対象のメディアコンテンツ200の1つまたは複数のファイルを維持する。この実施形態では、メディアコンテンツ200は、オーディオ成分を一般に含むビデオコンテンツであると見なされたい。したがって、上記で示したように、「メディアコンテンツ」、「ストリーミングメディア」、「ストリーミングビデオ」、「ビデオコンテンツ」、およびその任意のバリエーションについて本明細書中でなされる言及は一般に、オーディオ/ビデオ(A/V)および/またはビデオコンテンツを指すものである。ホスト装置102は、ネットワーク106を介して再生装置104上のプレーヤーアプリケーション204に、要求されたメディアコンテンツ200をデータストリームとして送信する。
ストリーミングメディアコンテンツ200のビデオ部分の一例は、1秒当たり30個のビデオフレームで構成されるビデオコンテンツであり、このコンテンツの一部のフレームはキーフレーム(アンカーフレーム)であり、また一部のフレームは、デルタフレームである。キーフレームは、フレーム全体を表す情報を含む。したがって、キーフレームは、ピクチャーについてのすべての情報を再作成するために使用され得る独立のビットマップ画像のようなものである。デルタフレームは、隣接キーフレームまたはデルタフレームに関して変化する情報だけを含む。すなわち、デルタフレーム内のデータは、あるフレームから次のフレームへのビデオシーケンス内で生じるピクチャーの変化を表す。デルタフレームは、ピクチャー全体を表していない。
この実施形態について、MPEGフォーマットされたビデオコンテンツを一例として使用して論じる。MPEGフォーマットされたビデオコンテンツでは、キーフレームは「I」フレームと表され、デルタフレームは、「P」フレームおよび「B」フレームの両方で表される。Iフレームは、「イントラ」フレームであり、キーフレームとして、対応する元のビデオフレームを再構成するのに必要なすべての情報を運ぶ。Pフレームは、「予測」フレームであり、Pフレーム自体をピクチャー全体として再作成するために、直前のIまたはPフレームからの情報に依存する。Bフレームは、Bフレーム自体を完全に再構成するために、前のフレームおよび後続のフレームの両方からの情報を必要とする「双方向」フレームである。
図3を参照すると、しばしばピクチャー群(GOP:group of pictures)300と称される、ビデオフレーム300の例示的なシーケンスが示されている。図3のGOPシーケンス300は、限定するためのものではなく、例示するためのものにすぎない。この例示的なGOPシーケンス300では、ビデオシーケンスの12フレーム毎に1つだけIフレームがあり、このIフレームの後に、シーケンスはそれ自身を繰り返している。この3つのMPEGビデオフレームタイプのうち、Iフレームは、ビデオフレーム全体を表すことができるので、より多くのデータを含む傾向があり、Bフレームは、Bフレームが表示され得る前に周囲のフレームからの情報を必要とするので、一般に最も小さい。I、PおよびBフレームの相対サイズは一般に、GOPシーケンス内でのその使用頻度に反映されている。
再び図2を参照して、プレーヤーアプリケーション204はホスト装置102にメディアコンテンツ200を要求し、また図3のGOPシーケンス300は、ホスト装置102から再生装置104にストリーミングされるそのコンテンツの一部を表すものとする。ネットワーク106上で輻輳がなく、また十分な帯域幅が使用可能である好ましいネットワーク状況では、GOPシーケンス300を表すデータパケットは、再生装置104に届き、ビデオフレームデータ208としてビデオバッファ206(2)内に格納される。さらに、ビデオフレームデータ208に対応する、メディアコンテンツ200からのオーディオデータ209は、オーディオバッファ206(1)内に格納される。
再生装置104上のバッファモニタ210は、オーディオバッファ206(1)の占有率レベルを監視し、メディアコンテンツ200がホスト装置102からストリーミングされている間にバッファ占有率報告を生成するように構成される。オーディオバッファ206(1)の占有率レベルを監視することによって、ビデオバッファの占有率レベルの表示を提供する。好ましいネットワーク状況では、オーディオバッファ206(1)の占有率レベルは高く(80%より高い占有など)、またビデオバッファ206(2)も同様に良好な占有率レベルを維持していることを示している。ビデオバッファ206(2)の占有率レベルが高いと一般に、プレーヤーアプリケーション204による、GOPシーケンス300内のすべてのビデオフレーム、および残りのストリーミングメディアコンテンツのリアルタイム再生が可能である。この実施形態は一般に、シームレスなオーディオ体験を提供する。したがって、オーディオデータの意図的な除去はなく、オーディオバッファ206(1)の占有率レベルによって、ネットワーク帯域幅の可用性の正確な表示が提供される。しかし、以下でより完全に論じるように、それぞれ異なるタイプのビデオフレームがメディアストリームから除去され、次いで再び挿入される。ビデオフレームタイプのこの意図的な除去および再挿入によって、ネットワーク状況だけに基づくものではない理由から、ビデオバッファ(2)の占有率レベルの変化が引き起こされる。したがって、ビデオバッファ206(2)の占有率レベルの監視は、ネットワーク状態の正確な表示を提供しない。したがって、バッファモニタ210は、オーディオバッファ206(1)の占有率レベルを監視し、メディアコンテンツ200がホスト装置102からストリーミングされる間のネットワーク帯域幅の可用性についての表示を提供するバッファ占有率報告を生成する。バッファ占有率報告202は、再生装置104がホスト装置102にオーディオバッファの占有率について報告するための機構である。一般に、また以下でより完全に論じるように、この情報は、ネットワーク106のパフォーマンスを測定し、またネットワーク帯域幅制限があるかどうか判断するために、ホスト装置102上の変換マネージャ212によって使用される。
バッファ占有率報告202は、タイムスタンプ情報、およびオーディオバッファ206(1)の占有率に関する情報を含む。バッファ占有率報告202(1)を送信するためのある周知のプロトコルは、RTCP(リアルタイム制御プロトコル:Real Time Control Protocol)である。RTCPは、ネットワークを介してオーディオおよびビデオなどのリアルタイムデータを送信するためのRTP(リアルタイムプロトコル:Real Time Protocol)と共に働く制御プロトコルである。RTCP制御パケットは、RTPセッション内の参加者間で定期的に送信される。RTCP制御パケットは、バッファ占有率報告202(1)がネットワーク106を介して再生装置104からホスト装置102に送信され得る1つの方法である。
バッファモニタ210は一般に、バッファ占有率報告202(1)をホスト装置102(202(2))に定期的に、たとえば1秒毎や1/4秒毎に1つの報告を、送信する。しかし、バッファモニタ210は、バッファ占有率のレベルによってさまざまなレートで、ホスト装置102にバッファ占有率報告202(1)を送信することもできる。たとえば、ネットワーク状況が好ましく、また上記で論じたようにオーディオバッファ206(1)が良好(80%より高い占有など)であれば、バッファモニタ210は、低頻度(1秒毎に1報告など)で、ホスト装置にバッファ占有率報告202(1)を送信し得る。しかし、オーディオバッファの状態が劣化する場合(80%より低い占有、60%より低い占有、40%より低い占有など)、バッファモニタ210は、バッファ占有率報告202の頻度を増すことができる。こうしたシナリオでは、バッファモニタ210は、オーディオバッファ206(1)が、良好なレベル、たとえば80%より高い占有の閾値に回復するまで、バッファ占有率報告202の頻度の増加を維持する。
ホスト装置102上の変換マネージャ212は、バッファ占有率報告202(2)を受信し、ネットワーク帯域幅の可用性の全体的な尺度としてオーディオバッファ206(1)の占有率を監視する。上述したように、バッファ占有率報告202は、ホスト装置102上の変換マネージャ212がどのようにネットワーク帯域幅可用性のレベルを測定し得るかについての1つの可能な例にすぎず、類似の利点を提供できるものとして、ネットワーク帯域幅可用性に関する情報を提供する他の方法が、この開示によって企図される。
バッファ占有率報告202(2)によりオーディオバッファ206(1)が使い果たされようとしていることが示される範囲内において、変換マネージャ212は、ネットワーク帯域幅の問題があるかどうか、および、その問題がいかに厳しいものであり得るかを判断することができる。次いで、変換マネージャ212は、それに応じて、1つまたは複数のタイプのビデオフレームを除外し、メディアストリームのビットレートを下げることができる。変換マネージャ212は、様々な方法でバッファ占有率報告202(2)を監視して、オーディオバッファ206(1)がいつ使い果たされるかを判断し得る。たとえば、変換マネージャ212は、バッファ占有率報告202(2)からの占有率データをプロットし、プロットされた線の傾きを監視することができる。
図4に、ホスト装置102がネットワーク106を介して再生装置104にストリーミングメディアコンテンツ200を送信する間の、時間に対するオーディオバッファ206(1)の占有率および回復率、ならびオーディオバッファ206(1)の占有率のパーセント(すなわちバッファ占有率プロット)を示している例示的なバッファ占有率プロット400を示すチャートを図示する。以下で論じるように、図4のバッファ占有率プロット400は、2つの異なるメディアシナリオを示すのに役立つ。第1のメディアシナリオでは、送信されるメディアコンテンツ200は格納されたファイルからのものであり、第2のメディアシナリオでは、送信されるメディアコンテンツはライブコンテンツである。図4のチャートは、同じ時間間隔でネットワーク帯域幅の可用性の例示的な変化を示す、例示的なネットワーク帯域幅プロット401をも示している。したがって、図4は、ネットワーク帯域幅の変化に対してオーディオバッファ206(1)の占有率レベルがどのように変化し得るかについての例を提供する。図4のチャートは、変換マネージャ212がどのようにバッファ占有率報告202(2)を監視し得るかについての単なる一例を示している。たとえば、時間間隔402(すなわち0から0.5秒)で、バッファ占有率プロット400は、変換マネージャ212によって受信された1つまたは複数のバッファ占有率報告202(2)からの情報により、再生装置104上のオーディオバッファ206(1)の占有率のパーセントが約85%で安定した状態のままであることが示されていることを描いている。この間隔では、バッファ占有率はゼロである。同じ時間間隔についてのネットワーク帯域幅プロット401は、良好な(100%など)帯域幅の可用性を示している。図4のバッファ占有率プロット400は、1秒毎にいくつのバッファ占有率報告202(2)が変換マネージャ212に情報を提供するかについて示すためのものではない。しかし、上記で示したように、オーディオバッファ206(1)の占有率が比較的高い(80%より高い占有など)時間の間は、オーディオバッファ206(1)の占有率が低い、および/またはオーディオバッファ206(1)が使い果たされる場合よりも少ない報告が、再生装置104からホスト装置102に送信され得る。
時間間隔404(すなわち0.5から1.0秒)で、バッファ占有率プロット400は、バッファ占有率報告202(2)により、再生装置104上のオーディオバッファ206(1)の占有率のパーセントが急速に低下していることが示されていることを描いている。オーディオバッファ206(1)の占有率レベルのマイナスの占有率が存在する。意外なことではないが、それと同じ時間間隔のネットワーク帯域幅プロット401は、帯域幅の可用性(100%から50%など)の低下を描いている。時間間隔406で、バッファ占有率のパーセントは、直前の時間間隔のようなかなりの率ではないが、低下し続ける。時間間隔408で、バッファ占有率のパーセントは、低下が止まり、約30%でとどまる。同様に、残りの図4の時間間隔(410、412、414および416)は、オーディオバッファ206(1)の占有率のパーセント、および占有率および/または回復率の例示的な変化を図示している。ネットワーク帯域幅プロット401は、間隔404から間隔412までの間低下した帯域幅の可用性を示し、この間隔412の後に、ネットワーク帯域幅の可用性が100%まで上昇することを描いていることに留意されたい。
図5、6および7に、図3の例示的なGOPビデオフレームシーケンス300、およびこうしたフレームシーケンスが、再生装置104上のオーディオバッファ206(1)の占有率レベルの変化に応答して、ホスト装置102上の変換マネージャ212およびトランスレータ214によってどのように変更され得るかを示す。一般に、図5、6および7は、トランスレータ214が、バッファ占有率報告202に応答して変換マネージャ212によって指示される通りに、それぞれ異なるフレームタイプ(すなわちB、PおよびIフレーム)をどのように選択的に除去するかを示している。図5、6および7について、図4のチャートを参照して以下に述べる。図4は、オーディオバッファ206(1)の占有率レベルの変化率、ならびにオーディオバッファ206(1)の占有率レベルの絶対変化を示すのに有用であり、この変化に対して、変換マネージャ212およびトランスレータ214は応答する。たとえば、変換マネージャ212は、オーディオバッファ206(1)の占有率がある最小閾値に達するときに応答して、それぞれ異なるフレームタイプを除去し得る。
図5のビデオフレームシーケンス500は、オーディオバッファ206(1)が使い果たされようとしていることを示すバッファ占有率報告202(2)に応答して、BフレームがどのようにGOPビデオフレームシーケンス300などのメディアコンテンツのストリームから選択的に除去され得るかについて示している。変換マネージャ212は、バッファ占有率報告202(2)によって示される占有率レベルの変化率と、占有率レベルの絶対値の両方の閾値レベルに応答し得る。図4に関して上記で論じたように、バッファ占有率プロット400の時間間隔404でオーディオバッファ206(1)が使い果たされようとしていることの表示が存在する。このシナリオでは、変換マネージャ212は、時間間隔404で示されるようなオーディオバッファ206(1)の占有率レベルの低下(すなわち占有)を示す1つまたは複数のバッファ占有率報告202(2)を受信する。バッファ占有率のこうした低下は、ネットワーク帯域幅プロット401によって示されるようにネットワーク帯域幅の可用性を結果として制限することになる、ネットワーク106の輻輳によってもたらされると見なされる。
メディアバッファ206の占有率のこうした低下に応答して、変換マネージャ212は、トランスレータ214に、コンテンツの送信/ストリーミングの前に、特定のタイプのビデオフレームをメディアコンテンツから選択的に除去するよう指示する。トランスレータ214は、ホスト装置がメディアコンテンツをストリーミングする方法を、最大フレーム伝送レベル(full frame transmission level)から低減フレーム伝送レベル(reduced frame transmission level)に変更することができ、したがって、ストリーミングメディアコンテンツのビットレートを変更する(すなわち下げる)。(たとえばプロット400の傾きによって示されるような)オーディオバッファ206(1)の占有率の度合いに応じて、変換マネージャ212は、トランスレータ214に、それぞれ異なるタイプのビデオフレームを様々な低減フレーム伝送レベルに選択的に低下させるよう指示し得る。フレームタイプは、この場合も同様にオーディオバッファ206(1)の占有率の度合いに応じて、1度に1つのレベルを選択的に除去されることができ、または複数のレベルが一度に除去され得る。低減フレーム伝送レベルは、「IおよびPフレームレベル」500(すなわち、すべてのBタイプフレームが除去される)、「Iフレームだけのレベル」502(すなわち、すべてのBおよびPタイプフレームが除去される)、ならびに、「n番Iフレームレベル」504(すなわち、すべてのBおよびPタイプフレームが、除去されるn個に1つのIフレームと共に除去される)を含む。異なる低減フレーム伝送レベルに下げるフレームタイプの各除去によって、ストリーミングメディアコンテンツのビットレートのそれに対応する低下がもたらされる。
したがって、図4を再び参照すると、変換マネージャ212は、たとえば時間間隔404でオーディオバッファ206(1)が使い果たされようとしていると判断する場合、トランスレータ214に、Bタイプビデオフレームを選択的に除去することによってビデオフレーム伝送レベルを最大の「I、PおよびBフレームレベル」300から「IおよびPフレームレベル」500に下げるように指示することによって対処し得る。この対処は、図4の時間間隔406で示すように、オーディオバッファ206(1)の占有率の減少をもたらし得る。ビデオフレームの「Iフレームだけのレベル」502(すなわち、すべてのBおよびPタイプフレームが除去される)へのさらなる除去によって、図4の時間間隔408に示すように、オーディオバッファ206(1)の占有の停止がもたらされ得る。
図6に、図5に示す低減フレーム伝送レベルの一部についてのより明確な図を提供する。この図では、除去されるタイプのビデオフレームが、図5に示すように単に線を引いて消されているのではなく、フレームシーケンスから取り除かれている。したがって、「IおよびPフレームレベル」600では、すべてのBタイプフレームが除去され、および示されておらず、「Iフレームだけのレベル」602では、すべてのBおよびPタイプフレームが除去され、および示されておらず、「n番のIフレームレベル」604では、すべてのBおよびP、ならびにn番目のIフレーム(すなわちこの例では、「1つおき」のIフレーム)が除去され、および示されていない。
図7に、図6に示すものに類似のフレームシーケンス(すなわち300、600および602)の進行を示す。この図では、ストリーミングメディアコンテンツのビットレートが、オーディオバッファ206(1)が使い果たされてているときに、フレームタイプをストリーミングコンテンツから選択的に除去することによって低減フレーム伝送レベルに下げられている。さらに、図7は、ストリーミングメディアコンテンツが低減フレーム伝送レベルに下げられた後に、変換マネージャ212およびトランスレータ214がどのようにネットワーク106をテストするか、またさらには、低減フレーム伝送レベルを元のレベルに戻すために、除去されたフレームタイプがどのようにストリーミングメディアコンテンツ内に再び挿入されるかについても示している。ネットワーク106をテストして、その帯域幅の可用性が、オーディオバッファ206(1)のさらなる占有を引き起こさずに、除去されたフレームタイプをストリーミングメディアコンテンツ内に再び挿入することに対処できるほど十分に回復したかどうか判断する。十分な帯域幅があるかどうかネットワーク106をテストしないと、メディアストリームの伝送レベルの急上昇(「Iフレームだけのレベル」602から「IおよびPフレームレベル」600へなど)が、オーディオバッファ206(1)の突然の占有を引き起こすことがあり、それによって、ビデオバッファ206(2)が空にされ、再生装置上のビデオ再生の休止がもたらされ得る。
図4を再び参照すると、変換マネージャ212は、時間間隔408で示すようにオーディオバッファ206(1)の占有が停止したと判断すると、以下で論じる、2つの結果のうちの1つが検出されるまで、増加していくレートでパディング用のデータパケット(図7中に「D」フレームとして示す)をストリームメディアコンテンツ内に挿入するようトランスレータ214に指示し得る。パディング用のデータパケット(「D」フレーム)は、ビデオデータを含まないダミーのパケットである。もっと正確にいえば、ダミーのパケットは、パディング用パケットが挿入されるときにメディアストリームのビットレートを単に上昇させる不要データを含む。
ネットワーク106が依然として輻輳している(すなわち帯域幅が制限される)場合、ますます多くのパディング用のデータパケットをメディアストリーム内に挿入すると、結局、オーディオバッファ206(1)のさらなる占有がもたらされる。これは、パディング用のデータパケットが乏しいネットワーク帯域幅を消費し尽し、それによって、オーディオバッファ206(1)内に入るオーディオデータ209の量がさらに減らされるために生じる。パディング用のデータパケットは、メディアバッファ206内に格納されず、したがって、ネットワークの輻輳時にオーディオバッファ206(1)内に入るオーディオデータ209の量が減らされる以外は、オーディオバッファ占有率レベルに対するその他の効果をもたないことに留意されたい。この第1の起こり得る結果は、たとえば、図4の時間間隔410に示されており、そこで、変換マネージャ212は、パディング用のデータパケットの挿入がオーディオバッファ206(1)のさらなる占有を引き起こしたと判断する。この場合、変換マネージャ212は、図4の時間間隔412に示されるように、オーディオバッファ206(1)のさらなる占有を回避するために、パディング用のデータパケットの挿入を停止する。
ますます多くのパディング用データパケットをメディアストリーム内に挿入することの第2の起こり得る結果は、ネットワーク帯域幅の可用性の回復時に生じる。この状況では、ますます多くのパディング用データパケットをメディアストリーム内に挿入すると、結局、ホスト装置102がメディアコンテンツのストリームとパディング用データとを出力することになり、それらを組み合わせたビットレートは、次に最も高い(next highest)ビデオフレーム伝送レベルのビットレートに等しい。さらに、オーディオバッファ206(1)の占有率レベルは、ネットワークがパディング用データパケット、およびメディアコンテンツのストリームに対処できるほど十分な帯域幅を有しているので、さらに低減されない(また増加し得る)。変換マネージャ212は、パディング用データパケットと、ビデオフレーム伝送の現在のレベルとの両方に対処できるほど十分なネットワーク帯域幅が使用可能であると判断すると、オーディオバッファ206(1)のさらなる占有はないと確信して、ビデオフレーム伝送のレベルを(たとえば「Iフレームだけのレベル」602から「IおよびPフレームレベル」600に)上げることができる。この第2の起こり得る結果は、たとえば、図4の時間間隔412に示されており、そこで、変換マネージャ212は、パディング用データパケットの挿入によってオーディオバッファ206(1)のさらなる占有がもたらされていないと判断する。この場合、変換マネージャ212は、パディング用データパケットの挿入を停止し、ビデオフレーム伝送のレベルを(たとえば「Iフレームだけのレベル」602から「IおよびPフレームレベル」600に)上げる。一般に、十分なネットワーク帯域幅の可用性があると判断されると、前に除外されたタイプのビデオフレームが、メディアストリームに再び挿入される。
伝送されるメディアコンテンツが、1倍の(1x)再生レートより大きいレートで伝送され得るファイルコンテンツである場合(すなわち上述の第1メディアシナリオ)、ビデオフレーム伝送レベルを上げると、図4の時間間隔414および416に示すように、占有率レベルの回復がもたらされ得る。しかし、メディアコンテンツがライブである場合(すなわち上述の第2メディアシナリオ)、一倍の(1x)再生レートより大きいレートでコンテンツを伝送する方法はなく、したがって、オーディオバッファ206(1)の占有率レベルは、それが以前に占有していたレベルを超えて増加し得ない。したがって、そのレベルは、間隔412で示すレベルにとどまる。
図7に、帯域幅の可用性についてネットワークをテストするために、パディング用データパケットを段階的に増加させることについて示す。たとえば、「Iフレームだけ」の伝送レベル602から、ビデオシーケンス700およびビデオシーケンス702に示すように、ますます多くのパディング用データパケット(「D」フレーム)が、メディアコンテンツのストリーム内に追加される。変換マネージャ212は、「Iフレームだけ」の伝送レベル602と、パディング用データパケットとの両方に対処できるほどに十分に使用可能なネットワーク帯域幅があると判断すると、変換マネージャは、前に除外されたタイプのビデオフレームを再び挿入して、ビデオフレーム伝送レベルを「Iフレームだけのレベル」602から「IおよびPフレームのレベル」600に上げる。同様に、変換マネージャ212は、ネットワーク106がビデオシーケンス706および708において挿入されるパディング用データパケットの増加したビットレートに対処することができると判断すると、ビデオフレーム伝送レベルを「IおよびPフレームのレベル」600から最大の「I、PおよびBフレームのレベル」300に上げる。
低減されたビデオフレーム伝送レベルでは、上述したように、すべてのオーディオデータパケットが、ホスト装置102によって送信され、再生装置104によって再生され続ける。これは、ユーザのための一貫したオーディオ体験を維持し、またオーディオデータのビットレートが比較的に低いので可能である。ビデオ体験は、メディアバッファ206内でビデオフレームを複製し、および/または持続させることによって、低減されたビデオフレーム伝送レベルでも再生装置104上で維持され得る。ビデオフレームの複製および持続については、よく知られており、さらに論じない。バッファ占有率監視、バッファ占有率報告202、およびホスト装置102上の選択的フレーム除去と結合されたこうしたプロセスによって、かなりのネットワーク輻輳の最中でも、再生全体を通して比較的に安定したリアルタイムのビデオ体験が提供される。
(例示的な方法)
ネットワーク106を介してホストコンピュータ装置102から再生コンピュータ装置104にストリーミングされるメディアコンテンツを変換(すなわちビットレート変換)するための例示的な方法について、図8、9および10のフローチャートを主に参照して次に述べる。この諸方法は、図1〜7に関して上記で論じた例示的な諸実施形態に適用される。1つまたは複数の方法が、フローチャート、およびフローチャートのブロックに関連するテキストを用いて開示されているが、説明する諸方法の要素は、それが提示される順序で必ずしも実施される必要はなく、また代替の順序によって類似の利点がもたらされ得ることを理解されたい。さらに、この諸方法は、排他的なものではなく、単独で実施することも、別のものと組み合わせて実施することもできる。説明する諸方法の要素は、たとえば、ASIC(Application Specific Integrated Circuits:特定用途向け集積回路)上のハードウェア論理ブロック、またはプロセッサ読取り可能記憶媒体上で定義されたプロセッサ読取り可能命令の実行を含めて、任意の適切な手段によって実施され得る。
本明細書では、「プロセッサ読取り可能記憶媒体」は、プロセッサによる使用または実行のための命令を含み、格納し、通信し、伝播しまたは移送することができる任意の手段であり得る。プロセッサ読取り可能記憶媒体は、それだけに限らないが、電子、磁気、光、電磁気、赤外線、または半導体のシステム、機器、装置または伝播媒体であり得る。プロセッサ読取り可能記憶媒体のより具体的な例には、他にもあるが特に、1つまたは複数のワイヤを含む電気接続(電子)、ポータブルコンピュータディスケット(磁気)、ランダムアクセスメモリ(RAM:random access memory)(磁気)、読出し専用メモリ(ROM:read-only memory)(磁気)、消去可能プログラマブル読出し専用メモリ(EPROM:erasable programmable-read-only memoryまたはフラッシュメモリ)、光ファイバ(光)、再書込み可能コンパクトディスク(CD−RW:rewritable compact disc)(光)、およびポータブルコンパクトディスク読出し専用メモリ(CDROM:compact disc read-only memory)(光)が含まれる。
方法800のブロック802で、メディアストリームが、ネットワーク106を介してメディア再生装置104に送信される。そのメディアストリームは、ホスト装置102から送信され、オーディオ/ビデオ、および/またはビデオコンテンツを含む。ブロック804で、ホスト装置102は、ネットワーク帯域幅の可用性に関するフィードバックデータを受信する。こうしたフィードバックデータは、たとえばネットワーク106を介してデータフローを監視するサーバなど、様々なリソースから生じ得る。こうしたフィードバックデータのより具体的な一例は、再生装置104から受信されるバッファ占有率報告202である。バッファ占有率報告202は、再生装置104上のオーディオバッファ206(1)の占有率レベルを示す情報を含む。
バッファ占有率報告202は、1秒に1回など、定期的に受信されることができ、またはネットワーク帯域幅の可用性によってさまざまなレートで受信され得る。たとえば、好ましいネットワーク帯域幅状況では、再生装置104上のオーディオバッファ206(1)は良好な状態(80%より高い占有など)であり、再生装置104上のバッファモニタ210は、低頻度で(1秒当たり1報告など)、ホスト装置102にバッファ占有率報告202を送信することができる。しかし、ネットワークの輻輳があり、ネットワーク帯域幅の可用性が制限される場合、バッファの状態が劣化することがあり(80%より低い占有、60%より低い占有、40%より低い占有など)、バッファモニタ210は、バッファ占有率報告202の頻度を増加させることができる。ホスト装置102がバッファ占有率報告202を受信する頻度を増加させることによって、ホスト装置102は、こうしたネットワーク帯域幅制限をより早く発見し、より迅速に応じることができる。
方法800のブロック806で、ホスト装置102は、フィードバックデータ(すなわちバッファ占有率報告202)に応答して、特定のタイプのビデオフレームをメディアストリームから除外する。ホスト装置102上の変換マネージャ212は、バッファ占有率報告202内に示されるバッファ占有率に基づいて、ネットワーク帯域幅の可用性を推定する。すなわち、低いネットワーク帯域幅は、占有されたオーディオバッファ206(1)を示すバッファ占有率報告から判断され、良好なまたは高い帯域幅は、オーディオバッファ206(1)が良好な状態であり、または占有されていない(80%より大きい占有など)ことを示すバッファ占有率報告から判断される。
複数のタイプのビデオフレームをメディアストリームから除外することは、使用可能なネットワーク帯域幅についての推定に基づいて、特定のタイプのビデオフレーム(デルタビデオフレーム、キービデオフレームなど)を選択的に除外することである。複数のタイプのビデオフレームをメディアストリームから除外すると、メディアストリームの伝送が、最大フレーム伝送レベル(すなわち、すべてのタイプのビデオフレームが伝送される)から低減フレーム伝送レベル(すなわち、すべてのタイプより少ないビデオフレームが伝送される)に変更される。したがって、ホスト装置102上の変換マネージャ212は、オーディオバッファ206(1)が使い果たされようとしていると判断すると、トランスレータ214に、Bタイプのビデオフレームを選択的に除去することによってビデオフレーム伝送レベルを最大の「I、PおよびBフレームレベル」300から「IおよびPフレームレベル」500に下げるよう指示することによって対処することができる(図4〜6)。複数のタイプのビデオフレームのさらなる除外には、たとえば、すべてのBおよびPデルタタイプフレームが除外される「Iフレームだけのレベル」502、ならびにすべてのBおよびPデルタタイプフレームと、n番目のIタイプフレームとが除外される「n番Iフレームレベル」604が含まれる。
方法800のブロック808で、特定のタイプのビデオフレームがメディアストリームから除外された後に、ネットワーク帯域幅の可用性がテストされる。最初に、伝送は、最大フレーム伝送レベルで(すなわち、すべてのタイプのビデオフレームが伝送される)、および初期ビットレートで行われる。特定のタイプのビデオフレームを除外すると、伝送は、低減されたフレーム伝送レベルで、および低減されたビットレートで行われる。複数のタイプのビデオフレームが除外された後にネットワーク帯域幅の可用性をテストするために、ますます多くのパディング用データパケットが、低減フレーム伝送レベルで送信されるメディアストリーム内に挿入される(すなわち、トランスレータ214によって、変換マネージャ212による指示どおりに行われる)。パディング用データパケットは、メディアストリームの低減ビットレートを増加させる。再生装置104上のバッファ206が使い果たされようとしているかどうか判断するために、パディング用データパケットの挿入の間、フィードバックデータ(すなわちバッファ占有率レポート202)が継続的に監視される。
方法800は、図9のブロック810に続く。ブロック810で、テストによって、ネットワーク帯域幅がもはや制限されていないことが明らかに示されている場合、除外されたタイプのビデオフレームがメディアストリーム内に再び挿入される。すなわち、ますます多くのパディング用データパケットの挿入によって、オーディオバッファ206(1)を占有させずに、低減ビットレートが初期ビットレートまで増加する場合、ホスト装置102(変換マネージャ212)は、ネットワーク帯域幅が再び初期ビットレートに対処できるほど十分にあることを知る。したがって、トランスレータ214は、(変換マネージャ212によって指示されるように)除外されたタイプのビデオフレームをメディアストリーム内に再び挿入する。この再挿入は、現在の低減フレーム伝送レベルが何かによって様々なレベルまたはタイプのビデオフレーム(n番Iフレーム、Pフレーム、Bフレーム、PおよびBフレームなど)の再挿入を伴い得ることに留意されたい。この点で、「初期ビットレート」は、最大フレーム伝送レベルではなく、次に最も高い低減フレーム伝送レベルのビットレートであるかもしれないことにも留意されたい。したがって、複数のレベルまたはタイプのビデオフレームが除外されている場合、その除外されたタイプのビデオフレームは、初期ビットレートが単に次に最も高い低減フレーム伝送レベルのビットレートである状態で、1度に1つのレベルまたはタイプのメディアストリームに再び戻されることもできる。
ブロック812で、方法800は、パディング用データパケットの挿入が、除外されたタイプのビデオフレームがメディアストリームに再び挿入されるのと同時に終了されることを示している。
図10は、ネットワーク106を介してホストコンピュータ装置102から再生装置104にストリーミングされるメディアコンテンツを変換(すなわちビットレート変換)するために、再生装置104から実施される代替方法1000を示すフローチャートである。方法1000のブロック1002で、再生装置104は、最大フレーム伝送レベル(すなわち、メディアコンテンツ内のすべてのタイプのビデオフレームが送信される)で、ホスト装置102からストリーミングメディアコンテンツを受信する。ブロック1004で、再生装置104は、ホスト装置102にバッファ占有率報告を送信する。再生装置104上のバッファモニタ210は、オーディオバッファ206(1)を監視して、データ占有率のレベルを判断する。バッファモニタ210は、バッファの占有率レベルに関する情報を含むバッファ占有率報告を生成する。
ブロック1006で、バッファ占有率報告を送信した後に、再生装置104は、低減フレーム伝送レベル(すなわち、1つまたは複数のタイプのビデオフレームが除外されている)でストリーミングメディアコンテンツを受信し始める。これは、ホスト装置102がバッファ占有率報告202から、オーディオバッファ206(1)が使い果たされようとしていて、ネットワーク帯域幅制限の問題がある可能性が高いと判断する結果としてもたらされることに留意されたい。
ブロック1008で、再生装置104上のプレーヤーアプリケーション204は、最大フレーム伝送レベルで受信されたストリーミングメディアコンテンツを再生する。プレーヤーアプリケーション204は、ブロック1010で示すように、低減フレーム伝送レベルで受信されたストリーミングメディアコンテンツからのビデオフレームを複製することもできる。ブロック1012で、再生装置104上のプレーヤーアプリケーション204は、複製されたビデオフレームを、低減フレーム伝送レベルで受信されたストリーミングメディアコンテンツと共に再生する。
(例示的なコンピューティング環境)
図11に、図1〜10を参照して上記で論じたホスト装置102および再生装置104などのコンピュータ装置を実装するのに適した例示的なコンピューティング環境を示す。図11にはある特定の構成が示されているが、こうしたコンピューティング装置は、他のコンピューティング構成で実装されることもできる。
コンピューティング環境1100は、コンピュータ1102の形の汎用コンピューティング装置を含む。コンピュータ1102の構成要素は、それだけに限らないが、1つまたは複数のプロセッサまたは処理装置1104、システムメモリ1106、ならびにプロセッサ1104を含めた様々なシステム構成要素をシステムメモリ1106に結合するシステムバス1108を含み得る。
システムバス1108は、メモリバスまたはメモリコントローラ、周辺バス、アクセラレイテッドグラフィックスポート、および様々なバス構造のいずれかを使用したプロセッサまたはローカルバスを含めた、複数のタイプのバス構造のいずれかのうちの1つまたは複数を表す。システムバス1108の一例は、メザニンバスとも呼ばれる周辺コンポーネント相互接続(PCI:Peripheral Component Interconnect)バスであろう。
コンピュータ1102は、様々なコンピュータ読取り可能記憶媒体を含む。こうした媒体は、コンピュータ1102からアクセスすることができる任意の使用可能な媒体とすることができ、揮発性と不揮発性の媒体、取外し可能と取外し不可能な媒体の両方を含む。システムメモリ1106は、ランダムアクセスメモリ(RAM)1110などの揮発性メモリ、および/または読出し専用メモリ(ROM)1112などの不揮発性メモリの形のコンピュータ読取り可能記憶媒体を含む。起動時などにコンピュータ1102内の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入出力システム(BIOS:basic input/output system)1114は、ROM1112に格納される。RAM1110は、処理装置1104から即時にアクセス可能であり、および/またはそれによる操作を現在受けているデータおよび/またはプログラムモジュールを含む。
コンピュータ1102は、その他の取外し可能/取外し不可能、揮発性/不揮発性のコンピュータ記憶媒体をも含み得る。例示するために、図11に、取外し不可能な不揮発性の磁気媒体(図示せず)から読み出し、そこに書き込むためのハードディスクドライブ1116、取外し可能な不揮発性の磁気ディスク1120(「フロッピー(登録商標)ディスク」など)から読み出し、そこに書き込むための磁気ディスクドライブ1118、およびCD−ROM、DVD−ROM、またはその他の光媒体などの取外し可能な不揮発性の光ディスク1124から読み出し、および/またはそこに書き込むための光ディスクドライブ1122を示す。ハードディスクドライブ1116、磁気ディスクドライブ1118および光ディスクドライブ1122はそれぞれ、1つまたは複数のデータメディアインターフェース1125によってシステムバス1108に接続される。あるいは、ハードディスクドライブ1116、磁気ディスクドライブ1118および光ディスクドライブ1122は、SCSIインターフェース(図示せず)によってシステムバス1108に接続され得る。
ディスクドライブおよびその関連のコンピュータ読取り可能記憶媒体によって、コンピュータ読取り可能命令、データ構造体、プログラムモジュール、およびコンピュータ1102のためのその他のデータの、不揮発性の記憶域がもたらされる。この例は、ハードディスク1116、取外し可能な磁気ディスク1120、および取外し可能な光ディスク1124を示しているが、磁気カセット、またはその他の磁気記憶装置、フラッシュメモリカード、CD−ROM、デジタル多用途ディスク(DVD:digital versatile disk)またはその他の光記憶装置、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM:electrically erasable programmable read-only memory)など、コンピュータによってアクセス可能なデータを格納することができるその他のタイプのコンピュータ読取り可能記憶媒体を使用して、この例示的なコンピューティングシステムおよび環境を実装することもできることを理解されたい。
たとえば、オペレーティングシステム1126、1つまたは複数のアプリケーションプログラム1128、その他のプログラムモジュール1130、およびプログラムデータ1132を含めた、任意の数のプログラムモジュールが、ハードディスク1116、磁気ディスク1120、光ディスク1124、ROM1112、および/またはRAM1110内に格納され得る。こうしたオペレーティングシステム1126、1つまたは複数のアプリケーションプログラム1128、その他のプログラムモジュール1130、およびプログラムデータ1132(あるいは、その何れかの組合せ)はそれぞれ、ユーザネットワークアクセス情報のキャッシング方式の一実施形態を含み得る。
コンピュータ1102は、通信媒体と見なされる様々なコンピュータ/プロセッサ読取り可能記憶媒体を含み得る。通信媒体は、コンピュータ読取り可能命令、データ構造体、プログラムモジュール、または搬送波やその他のトランスポート機構などの被変調データ信号内のその他のデータを実装し、また任意の情報配信媒体を含む。用語「被変調データ信号」は、信号の情報を符号化するなどの方法で、その特性の1つまたは複数が設定され、または変更された信号を意味する。限定のためではなく、例を挙げると、通信媒体には、有線ネットワークや直接有線接続などの有線媒体、ならびに音響、無線周波数(RF)、赤外線などの無線媒体、およびその他の無線媒体が含まれる。上記内容のいずれかの組合せもまた、コンピュータ読取り可能記憶媒体の範囲内に含まれる。
ユーザは、キーボード1134、およびポインティング装置1136(たとえば「マウス」)などの入力装置を用いて、コンピュータシステム1102にコマンドおよび情報を入力することができる。その他の入力装置1138(具体的には図示せず)には、マイク、ジョイスティック、ゲームパッド、パラボラアンテナ、シリアルポート、スキャナ、および/またはその類似物が含まれ得る。これらのおよびその他の入力装置は、システムバス1108に結合された入出力インターフェース1140を介して処理装置1104に接続されるが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB:universal serial bus)などのその他のインターフェースおよびバス構造によって接続されることもできる。
モニタ1142またはその他のタイプの表示装置もまた、ビデオアダプタ1144などのインターフェースを介してシステムバス1108に接続され得る。その他の出力周辺装置は、モニタ1142に加えて、入出力インターフェース1140を介してコンピュータ1102に接続され得るスピーカ(図示せず)およびプリンタ1146などの構成要素を含み得る。
コンピュータ1102は、リモートコンピューティング装置1148などの1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境内で動作することができる。例を挙げると、リモートコンピューティング装置1148は、パーソナルコンピュータ、ポータブルコンピュータ、サーバ、ルータ、ネットワークコンピュータ、ピアデバイス、またはその他の一般的なネットワークノードなどであり得る。リモートコンピューティング装置1148は、コンピュータシステム1102に関して本明細書で述べた要素および特徴の多くまたはすべてを含み得るポータブルコンピュータとして示されている。
コンピュータ1102とリモートコンピュータ1148の間の論理接続は、ローカルエリアネットワーク(LAN:local area network)1150、および一般的な広域ネットワーク(WAN:wide area network)1152として示されている。こうしたネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットでは一般的である。LANネットワーキング環境内で実装される場合、コンピュータ1102は、ネットワークインターフェースまたはアダプタ1154を介してローカルネットワーク1150に接続される。WANネットワーキング環境内で実装される場合、コンピュータ1102は、モデム1156、あるいは広域ネットワーク1152を介して通信を確立するその他の手段を含む。コンピュータ1102の内部にあることも、外部にあることもあるモデム1156は、入出力インターフェース1140またはその他の適切な機構を介してシステムバス1108に接続され得る。図示するネットワーク接続は例示的なものであり、コンピュータ1102とリモートコンピュータ1148の間の通信リンクを確立するその他の手段が使用され得ることを理解されたい。
コンピューティング環境1100で示されるようなネットワーク化された環境内では、コンピュータ1102に関して示したプログラムモジュールまたはその一部は、リモートメモリ記憶装置内に格納され得る。例を挙げると、リモートアプリケーションプログラム1158は、リモートコンピュータ1148のメモリ装置内に常駐する。図示するために、本明細書では、アプリケーションプログラム、およびオペレーティングシステムなどのその他の実行可能プログラムコンポーネントは別個のブロックとして示されているが、こうしたプログラムおよびコンポーネントは、それぞれ異なるときに、コンピュータシステム1102のそれぞれ異なる記憶コンポーネント内に常駐し、コンピュータのデータプロセッサによって実行されることが理解されよう。
(結論)
本発明について、構造上の特徴および/または方法論的な行為に特有の言語で説明してきたが、添付の特許請求の範囲中で定める本発明は、説明した特定の特徴または行為に必ずしも限定されないことを理解されたい。むしろ、その特定の特徴または行為は、特許請求の範囲に記載される本発明を実施する例示的な形として開示されている。
ネットワークを介してホストコンピュータ装置から再生コンピュータ装置にストリーミングされるメディアコンテンツを変換するのに適した例示的な環境を示す図である。 ネットワークを介して再生コンピュータ装置にメディア/ビデオコンテンツをストリーミングし、コンテンツのビデオ成分を変換するように構成されたホスト装置の例示的な一実施形態を示す図である。 ピクチャー群(GOP)と呼ばれるビデオフレームの例示的なシーケンスを示す図である。 ホスト装置がネットワークを介して再生装置にストリーミングメディアコンテンツを送信するときの、時間に対するメディアバッファの占有率のパーセントの例示的なプロットを示す図である。 例示的なGOPビデオフレームシーケンス、およびこうしたフレームシーケンスが変換によってどのように変更され得るかを示す図である。 例示的なGOPビデオフレームシーケンス、およびこうしたフレームシーケンスが変換によってどのように変更され得るかを示す図である。 例示的なGOPビデオフレームシーケンス、およびこうしたフレームシーケンスが変換によってどのように変更され得るかを示す図である。 ネットワークを介してホストコンピュータ装置から再生コンピュータ装置にストリーミングされるメディアコンテンツを変換するための例示的な方法を示すフローチャートである。 ネットワークを介してホストコンピュータ装置から再生コンピュータ装置にストリーミングされるメディアコンテンツを変換するための例示的な方法を示すフローチャートである。 ネットワークを介してホストコンピュータ装置から再生コンピュータ装置にストリーミングされるメディアコンテンツを変換するための例示的な方法を示すフローチャートである。 図1〜10を参照して論じたようなホストコンピュータ装置および再生コンピュータ装置を実装するのに適した例示的なコンピューティング環境を示す図である。

Claims (12)

  1. 第1の装置が、ネットワークを介して再生装置にメディアストリームを最大フレーム伝送レベルで送信するステップであって、前記メディアストリームは、オーディオコンテンツ及びビデオコンテンツを含み、前記最大フレーム伝送レベルで伝送されるメディアストリームは、I(イントラ)、B(双方向)およびP(予測)タイプのビデオフレームを含み、前記再生装置は、前記オーディオコンテンツ及び前記ビデオコンテンツを受信するバッファを有する、ステップと、
    前記第1の装置が、前記再生装置での前記バッファの占有率を示すフィードバックデータを受信するステップと、
    前記バッファの占有率が所定の最小閾値に到達したとき、前記フィードバックデータに応答して、前記ビデオコンテンツの送信中に前記メディアストリームから前記Bタイプのビデオフレームを除外することによって、前記最大フレーム伝送レベルからIおよびPビデオフレーム伝送レベルに変更するステップと、
    前記IおよびPビデオフレーム伝送レベルにおいて前記バッファの占有率が増加していることを示すフィードバックデータを受信する場合、前記メディアストリームから前記Pタイプのビデオフレームを除外することによって、前記IおよびPビデオフレーム伝送レベルからIビデオフレーム伝送レベルに変更するステップと、
    前記Iビデオフレーム伝送レベルにおいて前記バッファの占有率が増加していることを示すフィードバックデータを受信する場合、前記メディアストリームからn個ごとに1個の前記Iタイプのビデオフレームを除外することによって、前記Iビデオフレーム伝送レベルからn番Iビデオフレーム伝送レベルに変更するステップと、
    記除後に、パディング用データパケットを前記メディアストリームに挿入するステップであって、前記パディング用データパケットは、前記バッファに格納されない、ステップと、
    オーディオバッファの占有率が前記パディング用データパケットを挿入することによってさらに増加しないことが前記フィードバックデータによって示される場合、除外されたタイプのビデオフレームを前記メディアストリームに再挿入することにより、前記n番Iビデオフレーム伝送レベルから前記Iビデオフレーム伝送レベル、前記Iビデオフレーム伝送レベルから前記IおよびPビデオフレーム伝送レベル又は前記IおよびPビデオフレーム伝送レベルから前記最大フレーム伝送レベルに変更するステップであって、当該再挿入と同時に前記パディング用データパケットの挿入を終了する、ステップ
    を含ことを特徴とする方法。
  2. 記フィードバックデータに基づいて前記ネットワーク帯域幅の可用性を推定するステップをさらに含むことを特徴とする請求項1に記載の方法。
  3. 前記フィードバックデータは、再生装置からのバッファ占有率報告を含み、
    前記ネットワーク帯域幅の可用性を推定するステップは、
    前記バッファ占有率報告が、前記再生装置上のオーディオバッファの前記占有率増加していることを示す場合は、前記ネットワーク帯域幅の可用性が低いと判断するステップと、
    前記バッファ占有率報告が、前記再生装置上の前記オーディオバッファの前記占有率増加しないことを示す場合は、前記ネットワーク帯域幅の可用性が高いと判断するステップと
    を含むことを特徴とする請求項2に記載の方法。
  4. 前記メディアストリームはMPEGメディアストリームであることを特徴とする請求項に記載の方法。
  5. 前記パディングデータパケットは、ビデオデータを含まないダミーパケットであり、前記パディングデータパケットが挿入されるにつれて、前記パディングデータパケットは、前記メディアストリームのビットレートを上げることを特徴とする請求項1に記載の方法。
  6. 前記フィードバックデータを受信するステップは、定期的なレートで再生装置からバッファ占有率報告を受信するステップを含むことを特徴とする請求項1に記載の方法。
  7. 前記フィードバックデータを受信するステップは、
    前記ネットワーク帯域幅の可用性が低い場合は、増加されたレートで前記再生装置からバッファ占有率報告を受信し、前記ネットワーク帯域幅の可用性が高い場合は、減少されたレートで前記再生装置からバッファ占有率報告を受信するステップを含むことを特徴とする請求項1に記載の方法。
  8. 請求項1に記載の方法をプロセッサに実行させるように構成されたコンピュータ実行可能命令を格納したことを特徴とするコンピュータ読取り可能記憶媒体。
  9. ネットワークを介してホスト装置から再生装置にメディアストリームにおけるオーディオコンテンツ及びビデオコンテンツをストリーミングするための方法であって、
    前記再生装置が、前記ホスト装置から該ストリーミングオーディオコンテンツを受信して、オーディオバッファに前記オーディオコンテンツを格納するステップと、
    前記再生装置が、前記ホスト装置から該ストリーミングビデオコンテンツを最大フレーム伝送レベルで受信して、ビデオバッファに前記ビデオコンテンツを格納するステップであって、前記最大フレーム伝送レベルで受信した前記ストリーミングビデオコンテンツは、I(イントラ)、B(双方向)およびP(予測)タイプのビデオフレームを含む、ステップと、
    前記再生装置が、前記ホスト装置にオーディオバッファ占有率報告を送信するステップであって、前記オーディオバッファ占有率報告は、前記オーディオバッファ内に維持されたオーディオデータの量を示す、ステップと、
    前記再生装置が、前記オーディオバッファ内に維持されたオーディオバッファの占有率が所定の閾値に到達したことを前記オーディオバッファ占有率が示すとき、前記Bタイプのビデオフレームを送信から除外したときのIおよびPフレーム伝送レベルで、前記ストリーミングビデオコンテンツを前記ホスト装置から受信するステップと、
    前記再生装置が、前記オーディオバッファを監視して、前記オーディオバッファ内に維持された前記オーディオデータの量を判断するステップと、
    前記再生装置が、前記IおよびPフレーム伝送レベルにおいて前記オーディオバッファ内に維持された前記オーディオデータの量が増加していることを示す他のオーディオバッファ占有率報告を生成し、前記Pタイプのビデオフレームを送信から除外したときのIフレーム伝送レベルで、前記ストリーミングビデオコンテンツを前記ホスト装置から受信するステップと、
    前記再生装置が、前記Iフレーム伝送レベルにおいて前記オーディオバッファ内に維持された前記オーディオデータの量が増加していることを示す他のオーディオバッファ占有率報告を生成し、n個ごとに1個の前記Iタイプのビデオフレームを送信から除外したときのn番Iフレーム伝送レベルで、前記ストリーミングビデオコンテンツを前記ホスト装置から受信するステップと、
    前記再生装置が、前記ネットワークを介して、前記除外を停止するかどうかを判断するためのネットワーク可用性のテストの一部として、前記オーディオバッファ又は前記ビデオバッファに格納されないパディング用データパケットを受信するステップと、
    前記再生装置が、ますます多くのパディング用データパケットを受信するステップと、
    前記再生装置が、前記オーディオバッファの占有率が前記パディング用データパケットの挿入によって増加しないことを示す追加のオーディオバッファ占有率報告を受信するステップと、
    前記再生装置が、除外されたタイプのビデオフレームを再挿入するために受信するステップであって、当該再挿入により、前記n番Iビデオフレーム伝送レベルから前記Iビデオフレーム伝送レベル、前記Iビデオフレーム伝送レベルから前記IおよびPビデオフレーム伝送レベル又は前記IおよびPビデオフレーム伝送レベルから前記最大フレーム伝送レベルに変更され、前記再挿入と同時に前記パディング用データパケットの挿入を終了する、ステップ
    を含むことを特徴とする方法。
  10. 前記パディングデータパケットは、ビデオデータを含まないダミーパケットであり、前記パディングデータパケットが挿入されるにつれて、前記パディングデータパケットは、前記メディアストリームのビットレートを上げることを特徴とする請求項に記載の方法。
  11. ネットワークを介して再生装置にメディアストリームを最大フレーム伝送レベルで送信するステップであって、前記メディアストリームは、オーディオコンテンツ及びビデオコンテンツを含み、前記最大フレーム伝送レベルで伝送されるメディアストリームは、I(イントラ)、B(双方向)およびP(予測)タイプのビデオフレームを含み、前記再生装置は、前記メディアストリームを受信するためのバッファを有する、ステップと、
    前記再生装置からバッファ占有率報告を受信するステップと、
    前記バッファ占有率報告が、前記バッファの占有率が所定の閾値未満であることを示す場合、前記メディアストリームから、前記Bタイプのビデオフレームを除外することによって、前記最大フレーム伝送レベルからIおよびPビデオフレーム伝送レベルに変更するステップと、
    前記IおよびPビデオフレーム伝送レベルにおいて、前記バッファ占有率報告が、前記バッファの占有率が増加していることを示す場合、前記メディアストリームから前記Pタイプのビデオフレームを除外することによって、前記IおよびPビデオフレーム伝送レベルからIビデオフレーム伝送レベルに変更するステップと、
    前記Iビデオフレーム伝送レベルにおいて、前記バッファ占有率報告が、前記バッファの占有率が増加していることを示す場合、前記メディアストリームからn個ごとに1個の前記Iタイプのビデオフレームを除外することによって、前記Iビデオフレーム伝送レベルからn番Iビデオフレーム伝送レベルに変更するステップと、
    記除後に、前記バッファ占有率報告から、前記バッファの占有率が増加していないことを判断するステップと、
    前記ネットワークを介してパディング用データパケットを前記再生装置に送信するステップであって、前記パディング用データパケットは、前記バッファに格納されない、ステップと、
    前記バッファ占有率報告が、前記パディング用データパケットを挿入することによって前記バッファの占有率がさらに増加しないことを示す場合、前記除外されたタイプのビデオフレームを前記メディアストリームに再挿入することにより、前記n番Iビデオフレーム伝送レベルから前記Iビデオフレーム伝送レベル、前記Iビデオフレーム伝送レベルから前記IおよびPビデオフレーム伝送レベル又は前記IおよびPビデオフレーム伝送レベルから前記最大フレーム伝送レベルに変更するステップであって、当該再挿入と同時に前記パディング用データパケットの挿入を終了する、ステップと
    を含む方法をプロセッサに実行させるように構成されたコンピュータ実行可能命令を格納したことを特徴とするコンピュータ読取り可能記憶媒体。
  12. 前記パディングデータパケットは、ビデオデータを含まないダミーパケットであり、前記パディングデータパケットが挿入されるにつれて、前記パディングデータパケットは、前記メディアストリームのビットレートを上げることを特徴とする請求項11に記載のコンピュータ読取り可能記憶媒体。
JP2005222021A 2004-07-29 2005-07-29 帯域幅が制限されるネットワーク上のメディア変換方法および装置 Expired - Fee Related JP4989054B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/901,612 US7571246B2 (en) 2004-07-29 2004-07-29 Media transrating over a bandwidth-limited network
US10/901,612 2004-07-29

Publications (2)

Publication Number Publication Date
JP2006060802A JP2006060802A (ja) 2006-03-02
JP4989054B2 true JP4989054B2 (ja) 2012-08-01

Family

ID=35079192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005222021A Expired - Fee Related JP4989054B2 (ja) 2004-07-29 2005-07-29 帯域幅が制限されるネットワーク上のメディア変換方法および装置

Country Status (5)

Country Link
US (1) US7571246B2 (ja)
EP (1) EP1622385B1 (ja)
JP (1) JP4989054B2 (ja)
KR (1) KR101153153B1 (ja)
CN (1) CN1756369B (ja)

Families Citing this family (163)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8840475B2 (en) * 2002-12-10 2014-09-23 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
US20100166056A1 (en) * 2002-12-10 2010-07-01 Steve Perlman System and method for encoding video using a selected tile and tile rotation pattern
FR2863130A1 (fr) * 2003-12-01 2005-06-03 Thomson Licensing Sa Dispositif et procede de preparation de donnees d'emission et produits correspondants
CN1630291A (zh) * 2003-12-15 2005-06-22 皇家飞利浦电子股份有限公司 播放内容的方法及装置
US8218439B2 (en) * 2004-11-24 2012-07-10 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive buffering
US7536469B2 (en) * 2004-12-10 2009-05-19 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates
US7543073B2 (en) * 2004-12-10 2009-06-02 Microsoft Corporation System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate
US20060143678A1 (en) * 2004-12-10 2006-06-29 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a linear quadratic control technique and leaky bucket model
US9065595B2 (en) 2005-04-07 2015-06-23 Opanga Networks, Inc. System and method for peak flow detection in a communication network
US8909807B2 (en) * 2005-04-07 2014-12-09 Opanga Networks, Inc. System and method for progressive download using surplus network capacity
US7500010B2 (en) 2005-04-07 2009-03-03 Jeffrey Paul Harrang Adaptive file delivery system and method
US8719399B2 (en) 2005-04-07 2014-05-06 Opanga Networks, Inc. Adaptive file delivery with link profiling system and method
US8589508B2 (en) 2005-04-07 2013-11-19 Opanga Networks, Inc. System and method for flow control in an adaptive file delivery system
US11258531B2 (en) 2005-04-07 2022-02-22 Opanga Networks, Inc. System and method for peak flow detection in a communication network
US7974193B2 (en) 2005-04-08 2011-07-05 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US8683066B2 (en) * 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
MY143832A (en) * 2005-05-13 2011-07-15 Thomson Licensing Security and transcoding system for transfer of content to portable devices
US7707485B2 (en) * 2005-09-28 2010-04-27 Vixs Systems, Inc. System and method for dynamic transrating based on content
US20070201388A1 (en) * 2006-01-31 2007-08-30 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US8792555B2 (en) * 2006-01-31 2014-07-29 Qualcomm Incorporated Methods and systems for resizing multimedia content
US8904456B2 (en) 2006-02-13 2014-12-02 Tvu Networks Corporation Methods, apparatus, and systems for providing media content over a communications network
US7711841B2 (en) * 2006-02-28 2010-05-04 Sharp Laboratories Of America, Inc. Systems and methods for reducing the effects of variations on the playback of streaming media
JP5200204B2 (ja) 2006-03-14 2013-06-05 ディブエックス リミテッド ライアビリティー カンパニー 高信頼性システムを含む連合型デジタル権限管理機構
US20070276954A1 (en) * 2006-05-19 2007-11-29 Hong Kong University Of Science And Technology Low-Delay High Quality Video Streaming Using TCP
US7613198B2 (en) * 2006-06-30 2009-11-03 Sun Microsystems, Inc. Method and apparatus for dynamic assignment of network interface card resources
GB2440582A (en) * 2006-08-04 2008-02-06 Siemens Ag Resource allocation in a broadcast service
US7818474B2 (en) 2006-09-29 2010-10-19 Hibbard Gary D Provisional load sharing buffer for reducing hard disk drive (HDD) activity and improving reliability and lifetime
US7974522B2 (en) 2006-09-29 2011-07-05 Hibbard Gary D Systems and methods to improve consumer product reliability and lifetime of a hard disk drive by reducing its activity
EP1947859A1 (en) * 2006-10-16 2008-07-23 British Telecommunications Public Limited Company Video transmission method and system
EP2080377A2 (en) * 2006-10-31 2009-07-22 THOMSON Licensing Method and apparatus for transrating bit streams
US8054847B2 (en) * 2006-10-31 2011-11-08 Hewlett-Packard Development Company, L.P. Buffer management in a network device
US7962637B2 (en) * 2006-11-03 2011-06-14 Apple Computer, Inc. Dynamic adjustments of video streams
US7953880B2 (en) 2006-11-16 2011-05-31 Sharp Laboratories Of America, Inc. Content-aware adaptive packet transmission
US8745676B2 (en) * 2006-12-19 2014-06-03 General Instrument Corporation Admitting a data file into a channel
US9826197B2 (en) * 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
US9053072B2 (en) * 2007-01-25 2015-06-09 Hewlett-Packard Development Company, L.P. End node transactions at threshold-partial fullness of storage space
US20080205389A1 (en) * 2007-02-26 2008-08-28 Microsoft Corporation Selection of transrate and transcode processes by host computer
US7706384B2 (en) * 2007-04-20 2010-04-27 Sharp Laboratories Of America, Inc. Packet scheduling with quality-aware frame dropping for video streaming
US7668170B2 (en) * 2007-05-02 2010-02-23 Sharp Laboratories Of America, Inc. Adaptive packet transmission with explicit deadline adjustment
US8055779B1 (en) 2007-05-10 2011-11-08 Adobe Systems Incorporated System and method using data keyframes
JP2008294957A (ja) * 2007-05-28 2008-12-04 Oki Electric Ind Co Ltd メディア変換システム、メディア変換方法、メディア変換プログラム、呼制御装置及びメディア変換装置
US9979931B2 (en) * 2007-05-30 2018-05-22 Adobe Systems Incorporated Transmitting a digital media stream that is already being transmitted to a first device to a second device and inhibiting presenting transmission of frames included within a sequence of frames until after an initial frame and frames between the initial frame and a requested subsequent frame have been received by the second device
US8180029B2 (en) * 2007-06-28 2012-05-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US7987285B2 (en) * 2007-07-10 2011-07-26 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
US8145780B2 (en) * 2007-10-19 2012-03-27 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8682336B2 (en) * 2007-10-19 2014-03-25 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8380874B2 (en) * 2007-10-19 2013-02-19 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8706907B2 (en) * 2007-10-19 2014-04-22 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8090867B2 (en) * 2007-10-19 2012-01-03 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8699678B2 (en) * 2007-10-19 2014-04-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8111713B2 (en) 2007-10-19 2012-02-07 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8391312B2 (en) * 2007-10-19 2013-03-05 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8001261B2 (en) * 2007-10-19 2011-08-16 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8321581B2 (en) * 2007-10-19 2012-11-27 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8141120B2 (en) * 2008-01-03 2012-03-20 Nec Laboratories America, Inc. Adaptive scheduling of streaming video over wireless networks
WO2009133427A1 (en) * 2008-04-28 2009-11-05 Nds Limited Frame accurate switching
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7860996B2 (en) * 2008-05-30 2010-12-28 Microsoft Corporation Media streaming with seamless ad insertion
US8693536B2 (en) * 2008-05-30 2014-04-08 Nec Corporation Server apparatus, communication method and program
US8619558B1 (en) * 2008-07-21 2013-12-31 Qlogic, Corporation Memory management in a network adapter
EP2308215B1 (en) * 2008-07-25 2012-03-14 Telefonaktiebolaget L M Ericsson (PUBL) Thinning of packet-switched video data
EP2169914B1 (en) * 2008-09-19 2014-04-02 Limelight Networks, Inc. Content delivery network and related method
CN102160373B (zh) * 2008-09-22 2013-09-04 国际商业机器公司 在移动设备上播放视频的方法和系统
US8265140B2 (en) * 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US8095955B2 (en) * 2008-10-28 2012-01-10 Sony Corporation Methods and systems for improving network response during channel change
EP2356576A4 (en) 2008-11-07 2012-05-30 Opanga Networks Inc PORTABLE DATA STORAGE DEVICES THAT INITIATE DATA TRANSFERS USING HOST DEVICES
JP5347441B2 (ja) * 2008-11-10 2013-11-20 日本電気株式会社 動画像処理装置
JP5347440B2 (ja) * 2008-11-10 2013-11-20 日本電気株式会社 動画像処理装置
US20100121974A1 (en) * 2008-11-11 2010-05-13 Einarsson Torbjoem Stepwise probing for adaptive streaming in a packet communication network
US8380790B2 (en) * 2008-12-15 2013-02-19 Microsoft Corporation Video conference rate matching
US9060187B2 (en) 2008-12-22 2015-06-16 Netflix, Inc. Bit rate stream switching
KR101635876B1 (ko) 2009-01-07 2016-07-04 쏘닉 아이피, 아이엔씨. 온라인 콘텐츠를 위한 미디어 가이드의 단일, 공동 및 자동 생성
GB2454606C (en) * 2009-02-02 2017-01-25 Skype Ltd Method of transmitting data in a communication system
US20100312828A1 (en) * 2009-06-03 2010-12-09 Mobixell Networks Ltd. Server-controlled download of streaming media files
US8291107B1 (en) * 2009-06-08 2012-10-16 Sprint Spectrum L.P. Dynamic multimedia content change based on sector loading
JP2011009904A (ja) * 2009-06-24 2011-01-13 Hitachi Ltd 無線映像配信システム、コンテンツビットレート制御方法及びコンテンツビットレート制御プログラムを記憶したコンピュータ読み取り可能な記録媒体
KR101576704B1 (ko) 2009-08-19 2015-12-10 오팡가 네트웍스, 인크. 사용자 장비의 결정된 리소스 메트릭에 기초한 미디어 콘텐츠 전달의 최적화
WO2011022104A1 (en) 2009-08-19 2011-02-24 Opanga Networks, Inc. Optimizing channel resources by coordinating data transfers based on data type and traffic
WO2011044287A1 (en) * 2009-10-06 2011-04-14 Openwave Systems Inc. Managing network traffic by editing a manifest file and/or using intermediate flow control
JP2011082934A (ja) * 2009-10-09 2011-04-21 Cloud Scope Technologies Inc ストリームデータ送信装置、方法、及びプログラム
US8587651B2 (en) * 2009-10-14 2013-11-19 Harris Corporation Surveillance system for transcoding surveillance image files while retaining image acquisition time metadata and associated methods
JP5538843B2 (ja) * 2009-12-03 2014-07-02 三菱電機株式会社 コンテンツ再生装置及び方法
JP5723888B2 (ja) 2009-12-04 2015-05-27 ソニック アイピー, インコーポレイテッド 基本ビットストリーム暗号材料伝送システムおよび方法
CN101795264A (zh) * 2009-12-30 2010-08-04 北京新岸线网络技术有限公司 一种视频数据传送方法及系统
US8291460B1 (en) * 2010-02-12 2012-10-16 Adobe Systems Incorporated Rate adaptation based on dynamic performance monitoring
US8527649B2 (en) 2010-03-09 2013-09-03 Mobixell Networks Ltd. Multi-stream bit rate adaptation
US9374231B2 (en) * 2010-03-22 2016-06-21 Alcatel Lucent Controller providing gradual transition of multiple terminals from unicast transmission
US8495196B2 (en) 2010-03-22 2013-07-23 Opanga Networks, Inc. Systems and methods for aligning media content delivery sessions with historical network usage
US8422859B2 (en) * 2010-03-23 2013-04-16 Vixs Systems Inc. Audio-based chapter detection in multimedia stream
CN102202210B (zh) * 2010-03-23 2013-07-17 上海威乾视频技术有限公司 手机播放实时监控视频的方法及播放实时监控视频的手机
US20110235709A1 (en) * 2010-03-25 2011-09-29 Apple Inc. Frame dropping algorithm for fast adaptation of buffered compressed video to network condition changes
US8615160B2 (en) 2010-06-18 2013-12-24 Adobe Systems Incorporated Media player instance throttling
US8947492B2 (en) 2010-06-18 2015-02-03 Microsoft Corporation Combining multiple bit rate and scalable video coding
US8438226B2 (en) 2010-06-22 2013-05-07 International Business Machines Corporation Dynamic adjustment of user-received communications for a real-time multimedia communications event
US8667125B2 (en) * 2010-06-24 2014-03-04 Dish Network L.L.C. Monitoring user activity on a mobile device
US8832709B2 (en) 2010-07-19 2014-09-09 Flash Networks Ltd. Network optimization
JP5331773B2 (ja) 2010-10-14 2013-10-30 株式会社ソニー・コンピュータエンタテインメント 動画再生装置、情報処理装置および動画再生方法
US8483286B2 (en) * 2010-10-27 2013-07-09 Cyberlink Corp. Batch processing of media content
US9001886B2 (en) 2010-11-22 2015-04-07 Cisco Technology, Inc. Dynamic time synchronization
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
US8688074B2 (en) 2011-02-28 2014-04-01 Moisixell Networks Ltd. Service classification of web traffic
US8683013B2 (en) 2011-04-18 2014-03-25 Cisco Technology, Inc. System and method for data streaming in a computer network
KR101351461B1 (ko) * 2011-08-02 2014-01-14 주식회사 케이티 동영상 전송률 제어 시스템 및 방법, 그리고 동영상 변환 방법
US20130041948A1 (en) * 2011-08-12 2013-02-14 Erick Tseng Zero-Click Photo Upload
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
CN103843358A (zh) * 2011-09-21 2014-06-04 日本电气株式会社 内容发布系统、缓存服务器以及内容发布方法
US8898717B1 (en) 2012-01-11 2014-11-25 Cisco Technology, Inc. System and method for obfuscating start-up delay in a linear media service environment
US9591098B2 (en) * 2012-02-01 2017-03-07 Cisco Technology, Inc. System and method to reduce stream start-up delay for adaptive streaming
KR20130099515A (ko) * 2012-02-29 2013-09-06 삼성전자주식회사 키 프레임을 이용하여 컨텐츠를 재생하는 단말기의 장치 및 방법
KR101406425B1 (ko) * 2012-10-22 2014-06-27 광운대학교 산학협력단 홈내 네트워크 상태에 따라 차등적인 미디어 콘텐츠를 제공하는 방법 및 시스템
US9100698B2 (en) 2012-10-26 2015-08-04 Motorola Solutions, Inc. Systems and methods for sharing bandwidth across multiple video streams
KR20140070896A (ko) * 2012-11-29 2014-06-11 삼성전자주식회사 비디오 스트리밍 방법 및 그 전자 장치
KR102079039B1 (ko) * 2012-12-20 2020-04-07 현대모비스 주식회사 저속 직렬 통신을 이용한 화면 정보 전송/수신 장치 및 방법
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US9578333B2 (en) * 2013-03-15 2017-02-21 Qualcomm Incorporated Method for decreasing the bit rate needed to transmit videos over a network by dropping video frames
US9344517B2 (en) 2013-03-28 2016-05-17 Sonic Ip, Inc. Downloading and adaptive streaming of multimedia content to a device with cache assist
US9148386B2 (en) 2013-04-30 2015-09-29 Cisco Technology, Inc. Managing bandwidth allocation among flows through assignment of drop priority
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9247317B2 (en) 2013-05-30 2016-01-26 Sonic Ip, Inc. Content streaming with client device trick play index
US10009628B2 (en) 2013-06-07 2018-06-26 Apple Inc. Tuning video compression for high frame rate and variable frame rate capture
KR102080116B1 (ko) * 2013-06-10 2020-02-24 삼성전자 주식회사 이동통신 시스템에서 비디오 비트레이트 할당 방법 및 장치
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
US9923945B2 (en) 2013-10-10 2018-03-20 Cisco Technology, Inc. Virtual assets for on-demand content generation
US9343112B2 (en) 2013-10-31 2016-05-17 Sonic Ip, Inc. Systems and methods for supplementing content from a server
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
KR20150124796A (ko) * 2014-04-29 2015-11-06 삼성전자주식회사 무선 환경에서 usb 통신을 위한 데이터 전송을 제어하는 방법 및 장치
KR20150128151A (ko) * 2014-05-08 2015-11-18 삼성전자주식회사 비디오 스트리밍 방법 및 이를 지원하는 전자 장치
CN105451099B (zh) * 2014-08-19 2019-01-01 北京大学 视频码率调整方法和装置
US9749668B2 (en) * 2014-08-29 2017-08-29 Verizon Patent And Licensing Inc. Automated account crediting after interruption or failure of paid content delivery
WO2016138493A1 (en) * 2015-02-27 2016-09-01 Sonic Ip, Inc. Systems and methods for frame duplication and frame extension in live video encoding and streaming
GB2541736B (en) 2015-08-28 2019-12-04 Imagination Tech Ltd Bandwidth management
GB2541733B (en) 2015-08-28 2019-02-13 Imagination Tech Ltd Bandwidth Management
CN105992043A (zh) * 2015-10-15 2016-10-05 乐视致新电子科技(天津)有限公司 一种数据处理的方法及装置
CN105357570B (zh) * 2015-11-03 2018-10-23 上海熙菱信息技术有限公司 一种基于帧分析的视频流分析方法及系统
EP3371978B1 (en) * 2015-11-06 2021-06-30 Koninklijke KPN N.V. Contiguous streaming of media stream
JP6642016B2 (ja) * 2016-01-12 2020-02-05 船井電機株式会社 配信装置および情報機器
WO2017169727A1 (ja) * 2016-03-28 2017-10-05 ソニー株式会社 情報処理装置および情報処理方法、並びに情報処理システム
CN106028139A (zh) * 2016-05-16 2016-10-12 乐视控股(北京)有限公司 降帧率的实时转码方法和装置
US10148964B2 (en) * 2016-11-03 2018-12-04 Ujet, Inc. Image quality management
US10349105B2 (en) * 2016-11-14 2019-07-09 Arris Enterprises Llc Channel change processing using stored content
CN106791997B (zh) * 2016-12-29 2020-08-04 Tcl科技集团股份有限公司 一种在接收端的流媒体数据的处理方法及系统、电视终端
US10785279B2 (en) 2016-12-29 2020-09-22 Facebook, Inc. Video encoding using starve mode
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
CN106998268A (zh) * 2017-04-05 2017-08-01 网宿科技股份有限公司 一种基于推流终端网络状况的优化方法和系统以及推流终端
US20190068678A1 (en) * 2017-08-31 2019-02-28 Whatsapp Inc. Techniques to dynamically engage an all-intra-coded mode for streaming video encoding
CN111066329A (zh) * 2017-09-08 2020-04-24 连株式会社 控制视频质量
US10812562B1 (en) 2018-06-21 2020-10-20 Architecture Technology Corporation Bandwidth dependent media stream compression
US10862938B1 (en) 2018-06-21 2020-12-08 Architecture Technology Corporation Bandwidth-dependent media stream compression
US10805658B2 (en) * 2018-09-12 2020-10-13 Roku, Inc. Adaptive switching in a whole home entertainment system
US11064245B1 (en) * 2018-10-03 2021-07-13 Videolocalize Inc. Piecewise hybrid video and audio synchronization
US11025987B2 (en) * 2019-08-15 2021-06-01 Hulu, LLC Prediction-based representation selection in video playback
US20210096904A1 (en) * 2019-09-28 2021-04-01 Tencent America LLC Method and apparatus for a step-enabled workflow
KR20210050752A (ko) * 2019-10-29 2021-05-10 삼성전자주식회사 전자장치 및 그 제어방법
US11172238B1 (en) * 2020-02-05 2021-11-09 Visualon, Inc. Multiple view streaming
US11240540B2 (en) 2020-06-11 2022-02-01 Western Digital Technologies, Inc. Storage system and method for frame trimming to optimize network bandwidth
US11432035B2 (en) * 2020-07-15 2022-08-30 At&T Intellectual Property I, L.P. Adaptive streaming with demuxed audio and video tracks
US11812081B2 (en) 2020-11-02 2023-11-07 Hulu, LLC Session based adaptive playback profile decision for video streaming

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0792654B2 (ja) 1992-10-23 1995-10-09 インターナショナル・ビジネス・マシーンズ・コーポレイション ビデオ・データ・フレーム伝送方法および装置
CA2140850C (en) * 1994-02-24 1999-09-21 Howard Paul Katseff Networked system for display of multimedia presentations
US5563961A (en) 1994-03-03 1996-10-08 Radius Inc. Video data compression method and system which measures compressed data storage time to optimize compression rate
GB9410943D0 (en) 1994-06-01 1994-07-20 Newbridge Networks Corp Clock recovery unit
JPH08191451A (ja) 1995-01-10 1996-07-23 Canon Inc 動画像送信装置
US5758076A (en) 1995-07-19 1998-05-26 International Business Machines Corporation Multimedia server system having rate adjustable data retrieval based on buffer capacity
US5909443A (en) 1997-01-03 1999-06-01 International Business Machines Corporation ATM network congestion control system using explicit rate cell marking
EP0901285A4 (en) 1997-02-26 2002-05-29 Mitsubishi Electric Corp DEVICE, SYSTEM AND METHOD FOR DISTRIBUTING VIDEO DATA
US6014694A (en) 1997-06-26 2000-01-11 Citrix Systems, Inc. System for adaptive video/audio transport over a network
US6343350B1 (en) 1998-02-13 2002-01-29 International Business Machines Corporation Conserving storage space by means of low resolution objects
JPH11239163A (ja) 1998-02-23 1999-08-31 Nippon Telegr & Teleph Corp <Ntt> Lan間フロー制御方法及びスイッチ
SG71835A1 (en) 1998-09-07 2000-04-18 Victor Company Of Japan A dejittering and clock recovery technique for real-time audio/visual network applications
US6618363B1 (en) 1998-10-09 2003-09-09 Microsoft Corporation Method for adapting video packet generation and transmission rates to available resources in a communications network
US6507587B1 (en) 1998-10-09 2003-01-14 Microsoft Corporation Method of specifying the amount of bandwidth to reserve for use in network communications
US6519004B1 (en) 1998-10-09 2003-02-11 Microsoft Corporation Method for transmitting video information over a communication channel
US7423983B1 (en) 1999-09-20 2008-09-09 Broadcom Corporation Voice and data exchange over a packet based network
US7170856B1 (en) 1999-08-19 2007-01-30 Nokia Inc. Jitter buffer for a circuit emulation service over an internet protocol network
US6611530B1 (en) 1999-09-21 2003-08-26 Hewlett-Packard Development Company, L.P. Video communication using multiple streams
JP2001103565A (ja) 1999-09-30 2001-04-13 Toshiba Corp 移動無線端末
US20020146023A1 (en) 2001-01-09 2002-10-10 Regan Myers Transport stream multiplexer utilizing smart FIFO-meters
KR100410973B1 (ko) 2001-04-18 2003-12-18 엘지전자 주식회사 주문형 비디오 시스템에서 동영상의 스트리밍 방법
JP4705265B2 (ja) * 2001-04-19 2011-06-22 三菱電機株式会社 映像または音声伝送システム
US7000025B1 (en) 2001-05-07 2006-02-14 Adaptec, Inc. Methods for congestion mitigation in infiniband
US7151749B2 (en) * 2001-06-14 2006-12-19 Microsoft Corporation Method and System for providing adaptive bandwidth control for real-time communication
US7274661B2 (en) 2001-09-17 2007-09-25 Altera Corporation Flow control method for quality streaming of audio/video/media over packet networks
FI115418B (fi) 2001-09-20 2005-04-29 Oplayo Oy Adaptiivinen mediavirta
CN1557072A (zh) 2001-09-21 2004-12-22 ���˹���Ѷ��� 使用缓冲器大小计算用于拥塞控制的传输速率的数据通信方法和系统
US6860609B2 (en) 2001-12-26 2005-03-01 Infocus Corporation Image-rendering device
US7155532B2 (en) 2002-01-04 2006-12-26 Scientific-Atlanta, Inc. Transmitting streams over asynchronous networks
US7483487B2 (en) * 2002-04-11 2009-01-27 Microsoft Corporation Streaming methods and systems
FR2842683B1 (fr) 2002-07-22 2005-01-14 Cit Alcatel Dispositif de multiplexage, dispositif de multiplexage et systeme de multiplexage/demultiplexage
KR100547889B1 (ko) * 2003-08-25 2006-01-31 삼성전자주식회사 Mpeg-2 전송을 위한 널 패킷 필터링 장치
US7366199B1 (en) * 2002-12-10 2008-04-29 Apple Inc. Method and apparatus measuring bandwidth
GB0304808D0 (en) * 2003-03-03 2003-04-09 Cambridge Internetworking Ltd Managing data transmission
US7603475B2 (en) * 2003-03-31 2009-10-13 Alcatel-Lucent Usa Inc. Method for flow control in a communication system
US7844727B2 (en) 2003-04-24 2010-11-30 Nokia Corporation Method and device for proactive rate adaptation signaling
US20060026181A1 (en) 2004-05-28 2006-02-02 Jeff Glickman Image processing systems and methods with tag-based communications protocol

Also Published As

Publication number Publication date
KR101153153B1 (ko) 2012-06-11
US20060026294A1 (en) 2006-02-02
JP2006060802A (ja) 2006-03-02
US7571246B2 (en) 2009-08-04
CN1756369A (zh) 2006-04-05
CN1756369B (zh) 2010-06-09
EP1622385B1 (en) 2019-11-13
EP1622385A1 (en) 2006-02-01
KR20060048952A (ko) 2006-05-18

Similar Documents

Publication Publication Date Title
JP4989054B2 (ja) 帯域幅が制限されるネットワーク上のメディア変換方法および装置
CN111586479B (zh) 一种由客户端设备执行的机器实现的方法以及可读介质
KR102039778B1 (ko) 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치
JP4273165B2 (ja) コンテンツのストリーミングに使用するための改善された起動方法および装置
US9699518B2 (en) Information processing apparatus, information processing system, recording medium, and method for transmission and reception of moving image data
JP5198734B2 (ja) クライアントバッファ占有量の監視によるネットワークデバイスのクロックドリフトの検出
JP3653569B2 (ja) ビデオをオン・デマンドでレンダリングするvcrに似た機能
KR100832537B1 (ko) 네트워크 대역폭 상태에 따라 전송량을 가변하는멀티미디어 데이터 스트리밍 서버 및 방법
JP5207895B2 (ja) 送信装置、受信装置、及び方法、プログラム
US9866602B2 (en) Adaptive bit rates during broadcast transmission in distributed content delivery networks
JP2020053760A (ja) 情報処理システム、端末装置およびプログラム
WO2016185998A1 (ja) Abr配信方式のコンテンツ配信の配信制御装置および配信制御方法
US20060230171A1 (en) Methods and apparatus for decreasing latency in A/V streaming systems
JP2010028378A (ja) 通信装置及び通信方法
US20230140250A1 (en) Selective multiple-instance encoding of video frames to provide target frame rate during network transmission
JP2008193500A (ja) データ送信装置及びデータ中継装置
US20230199267A1 (en) Method and apparatus for processing adaptive multi-view streaming
WO2023275969A1 (ja) データ中継装置、配信システム、データ中継方法、及びコンピュータ可読媒体
JP2022039452A (ja) 受信端末、配信サーバ、受信方法及び受信プログラム
TWI446775B (zh) Dynamic configuration of media fragment hierarchy system and its method
JP2014003359A (ja) 映像データをストリーム型データ転送するために用いられるデータ転送システム及びデータ転送システムに用いられる送信装置、受信装置及びプログラム
JP2004064366A (ja) 情報提供装置および方法、情報処理装置および方法、記録媒体、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120302

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: 20120420

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: 20120427

R150 Certificate of patent or registration of utility model

Ref document number: 4989054

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: 20150511

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees