JP2019036967A - メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置 - Google Patents

メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置 Download PDF

Info

Publication number
JP2019036967A
JP2019036967A JP2018169543A JP2018169543A JP2019036967A JP 2019036967 A JP2019036967 A JP 2019036967A JP 2018169543 A JP2018169543 A JP 2018169543A JP 2018169543 A JP2018169543 A JP 2018169543A JP 2019036967 A JP2019036967 A JP 2019036967A
Authority
JP
Japan
Prior art keywords
media
media segments
client device
segments
variable
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.)
Granted
Application number
JP2018169543A
Other languages
English (en)
Other versions
JP6648223B2 (ja
Inventor
アルジャン・ラママーシー
Ramamurthy Arjun
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.)
Google Technology Holdings LLC
Original Assignee
Google Technology Holdings LLC
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 Google Technology Holdings LLC filed Critical Google Technology Holdings LLC
Publication of JP2019036967A publication Critical patent/JP2019036967A/ja
Application granted granted Critical
Publication of JP6648223B2 publication Critical patent/JP6648223B2/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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • 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
    • 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/75Media network packet handling
    • 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/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/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/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • 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/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application

Abstract

【課題】メディアコンテンツをストリーミングする方法を提供する。【解決手段】異なる符号化ビットレートを有する、複数の可変ストリームを特定する可変再生リストファイルを提供し、ダウンロードされた、第1のビットレートで符号化された第1の可変ストリームに対応する第1の再生リストファイルからの、第1のセットのメディアセグメントのシーケンス番号を追跡し、第2のビットレートで符号化された第2の可変ストリームからの、第2のセットのメディアセグメントを特定する第2の再生リストファイルに対する要求を受信し、第2の再生リストファイルの中で、第1の可変ストリームからの、ダウンロードされた、メディアセグメントのうちのいずれかと同じシーケンス番号を有する、第2のセットのメディアセグメントの中の少なくとも1つのメディアセグメントを特定するかどうかを決定し、第2の再生リストファイルをクライアントデバイスに提供する。【選択図】図2

Description

本開示は、一般に、クライアントデバイスへメディアコンテンツをストリーミングすることに関し、より詳細には、クライアントデバイスが可変(variant)ストリーム間で切り替えを行う時のネットワークの輻湊の軽減に関する。
最初の画像がインターネット上に掲載された1992年以降、メディアをコンピュータネットワークにわたって配信するための方法が開発されており、それは発展し続けている。今日、映像は、多岐にわたる利用可能なマルチメディア対応デバイスに結合されたより大きなネットワーク帯域幅により、ダウンロードされるメディアの主要な形態のうちの1つとなっている。たとえば、YouTube(登録商標)は、2012年1月時点で、1日当たり40億の映像がそのサイトのみで視聴され、その数が伸び続けていると報告している。
映像ダウンロードをサポートするために使用される、普及している標準は、ハイパーテキスト転送プロトコル(HTTP)ライブストリーミング(HLS)であり、それは、映像が全部受信される前に、クライアントデバイス上で再生を開始することを可能にする。インターネット技術タスクフォース(IETF)のインターネットドラフト「HTTP Live Streaming」という発表(Pantos & May;バージョン10;2012年10月15日から2013年4月18日(非特許文献1)、およびすべての後続のバージョン(本明細書では総称してHLS、HLSドラフト仕様、またはHLS標準と呼ぶ))で述べられた通り、HLSは、映像プレゼンテーションを、別々にダウンロードし順次再生することができる個別の塊に分割する、クライアント駆動型のプロトコルである。このアプローチが、平均して、ネットワーク資源を効率的に使用する一方、クライアントデバイスがメディアプレゼンテーションを再生しながら異なる可変ストリーム間で切り替えを行った時に、帯域幅活用の急上昇が発生する。
HLS標準の下で、ある可変ストリームから異なる符号化ビットレートを有する別のものへ移行する時、クライアントデバイスは、再生されているメディアプレゼンテーションの同じ部分に対応する、各可変ストリームから少なくとも1つの、複数のメディアセグメントをダウンロードする。これは、再生中の途切れのない移行のために、クライアントデバイスが、可変ストリーム間で映像とオーディオとを同期することを可能にする。このアプローチの欠点は、メディアプレゼンテーションの同じ部分に対応する、異なる可変ストリームからの複数のメディアセグメントの同時ダウンロードが、ネットワーク帯域幅の使用を増加させる結果となることである。
さらに、クライアントデバイスが移行してきている可変ストリームよりも高い符号化ビットレートを有する可変ストリームに移行していく場合、クライアントデバイスは、新しい可変ストリームからの追加的なメディアセグメントを要求することが多く、それらの追加的なメディアセグメントは、クライアントデバイスがすでに以前の可変ストリームからダウンロードしたメディアセグメントと同じメディアコンテンツを有する。これは、クライアントデバイスが、低ビットレートのメディアセグメントが入ったバッファをパージすることができるように行われ、それにより、より高ビットレート再生へのクライアントデバイスの移行を促進させる。しかしながら、お互いに時間的にごく接近している、重複するメディアコンテンツを有するこれらの追加的なメディアセグメントをダウンロードすることは、ネットワーク資源に求める要求を高めるという問題を悪化させる。
Pantos & May、「HTTP Live Streaming」バージョン10、2012年10月15日から2013年4月18日、インターネット技術タスクフォース(IETF)インターネットドラフト M. Nilsson、「id3v2.4.0-structure.txt」、2000年11月1日 M. Nilsson、「id3v2.4.0-frames.txt」、2000年11月1日
したがって、メディアコンテンツをクライアントデバイスにストリーミングするための新規の方法と装置とに対する要望がある。
別々の図を通して、同じ参照番号が同一要素または機能的に同様の要素を参照する添付図面は、以下の詳細な説明と共に本明細書に組み込まれ、かつ本明細書の一部を形成し、特許請求の範囲に係る発明を含む概念の実施形態をさらに解説し、それらの実施形態の様々な原理と長所とを説明する働きをする。
本内容のいくつかの実施形態による、マルチメディアコンテンツをストリーミングするように構成されたネットワークインフラストラクチャのブロック図である。 本内容のいくつかの実施形態による、マルチメディアコンテンツをストリーミングするための方法を説明する論理フローチャートである。 本内容のいくつかの実施形態による、可変メディアストリーム間で切り替えを行うクライアントデバイスの概略図である。 図4bと共に形成する、本内容のいくつかの実施形態による、マルチメディアコンテンツをストリーミングするための方法を説明する論理フローチャートである。 図4aと共に形成する、本内容のいくつかの実施形態による、マルチメディアコンテンツをストリーミングするための方法を説明する論理フローチャートである。 本内容のいくつかの実施形態による、可変メディアストリーム間で切り替えを行うクライアントデバイスの概略図である。 本内容のいくつかの実施形態による、可変メディアストリーム間で切り替えを行うクライアントデバイスの概略図である。 本内容のいくつかの実施形態による、メディアセグメントファイルの概略図である。
当業者は、図中の要素が単純化と明確化とのために表示され、必ずしも正確な縮小率で描かれていないことを理解するであろう。たとえば、図中のいくつかの要素の寸法は、本発明の実施形態をより良く理解する助けとなるために、他の要素に対して大きくされ得る。加えて、説明および図面は、必ずしも例示された順番を必要とするものではない。特定の動作および/またはステップが特定の発生順序で説明または描かれてよいことがさらに理解される一方、当業者は、そのような順序に関する特異性が実際に必要でないことを理解するであろう。
図面中、装置の構成要素および方法の構成要素は、適切な場合、慣習的な記号によって表わされており、本明細書の説明の恩恵を受ける当業者にとって容易に分かる詳細によって本開示を分かり難くしないために、本発明の実施形態の理解に関する具体的な詳細のみを示している。
一般的に言えば、様々な実施形態に関して、本開示は、クライアントデバイスが、メディアプレゼンテーションをダウンロードしている間に可変ストリーム間で切り替えを行う際に、ネットワークの輻湊を軽減するための方法と装置とを提供する。メディアプレゼンテーションの同じ部分に対応する、異なる可変ストリームからのメディアセグメントのダウンロードを制限すると、ネットワークにかかる負荷を、それがメディアプレゼンテーションをストリーミングしている間、軽減することになる。メディアセグメントの境界と瞬時復号リフレッシュ(IDR)フレームとを、複数の可変ストリームにわたって揃えることによって、インテリジェントサーバは、デバイスに異なる符号化ビットストリーム間で途切れなく切り替えを行わせながら、クライアントデバイスの同時メディアセグメントに対する要求を無効にすることができる。
本明細書の内容によると、サーバによって実行される、クライアントデバイスに複数の可変ストリームからのメディアセグメントを提供するための方法は、クライアントデバイスのために、同じメディアプレゼンテーションの異なる符号化にそれぞれが対応する複数の可変ストリームを特定する可変再生リストファイルを提供するステップと、クライアントデバイスによってダウンロードされた、第1のセットのメディアセグメントのシーケンス番号を追跡するステップであって、第1のセットのメディアセグメントのうちのメディアセグメントが、第1の符号化ビットレートで符号化され、可変再生リストファイルの中で特定される第1の可変ストリームのための、第1の再生リストファイルの中で特定される、追跡するステップと、を備える。方法は、また、クライアントデバイスから、可変再生リストファイルの中で特定される第2の可変ストリームからの、第2のセットのメディアセグメントを特定する、第2の再生リストファイルに対する要求を受信するステップであって、第2のセットのメディアセグメントのうちのメディアセグメントが、第2の符号化ビットレートで符号化されている、受信するステップと、追跡するステップに基づいて、第2の再生リストファイルの中で、第1の可変ストリームからの、クライアントデバイスによってダウンロードされた、メディアセグメントのうちのいずれかと同じシーケンス番号を有する、第2のセットのメディアセグメントの中の少なくとも1つのメディアセグメントを特定するかどうかを決定するステップと、を備える。方法は、さらに、クライアントデバイスに、第2の可変ストリームからの、第2のセットのメディアセグメントを特定する、第2の再生リストファイルを提供するステップを備える。
特定の実施形態では、サーバは、第1の可変ストリームからの、すでにクライアントデバイスによってダウンロードされた、メディアセグメントと同じシーケンス番号を有する、第2の再生リストファイルの中のメディアセグメントの数を特定する。第1の可変ストリームからの、クライアントデバイスによってダウンロードされた、メディアセグメントと同じシーケンス番号を有する、第2の再生リストファイルの中で特定されるメディアセグメントの数は、クライアントデバイスのために使用可能であるネットワーク帯域幅の容量、またはクライアントデバイスのバッファの中に記憶されているメディアコンテンツの量のうちの少なくとも1つに基づいて決定される。
また、本明細書の内容によるものは、クライアントデバイスからの要求を受信し、メディアセグメントをクライアントデバイスに提供するように構成されたインターフェースであって、各メディアセグメントが瞬時復号リフレッシュフレームから始まるグループオブピクチャを備える、インターフェースと、クライアントデバイスに、同じメディアプレゼンテーションの異なる符号化にそれぞれが対応する複数の可変ストリームを特定する可変再生リストファイルを提供し、クライアントデバイスによってダウンロードされた、複数の可変ストリームからの、第1のビットレートで符号化された、第1の可変ストリームに対応する第1の再生リストファイルの中で特定される、第1のセットのメディアセグメントのシーケンス番号のセットを追跡するように構成された処理部と、を備える、ストリーミングされるメディアプレゼンテーションのための符号化ビットレート間でクライアントデバイスを切り替えるための装置である。処理ユニットは、また、クライアントデバイスから、複数の可変ストリームからの、第2のビットレートで符号化された、第2の可変ストリームからの、第2のセットのメディアセグメントを特定する、第2の再生リストファイルに対する要求を受信するように構成され、クライアントデバイスから、複数の可変ストリームからの、第2のビットレートで符号化された第2の可変ストリームからの、第2のセットのメディアセグメントを特定する、第2の再生リストファイルに対する要求を受信する。処理部は、さらに、クライアントデバイスに、第2の可変ストリームからの、第2のセットのメディアセグメントを特定する、第2の再生リストファイルを提供するように構成されている。
さらに、本明細書の内容によるものは、異なる符号化ビットレートに対応するメディアセグメント間でクライアントデバイスを切り替えるための方法を実行するようにコンピュータをプログラムするための、その上に記憶されたコンピュータ可読コードを有する非一時的なコンピュータ可読記憶要素である。方法は、クライアントデバイスに、第1の符号化ビットレートで符号化されたメディアプレゼンテーションに対応する、第1の可変ストリームからの、第1のセットのメディアセグメントを特定する第1の再生リストファイルと、第2の符号化ビットレートで符号化されたメディアプレゼンテーションに対応する、第2の可変ストリームからの、第2のセットのメディアセグメントを特定する第2の再生リストファイルとを提供するステップを備え、各メディアセグメントが、グループオブピクチャを備え、他のメディアセグメントを参照せずに独立して復号可能であり、各メディアセグメントがメディアプレゼンテーションの一部に対応している。方法は、また、第1のセットのメディアセグメントからクライアントデバイスが対応するメディアセグメントをダウンロードした、メディアプレゼンテーションの一部を追跡するステップと、クライアントデバイスから、第2の再生リストファイルに対する要求を受信するステップとを備える。方法は、さらに、第2の再生リストファイルの中で特定されるメディアセグメントから成る第2のセットの中に、第1の再生リストファイルの中で特定される、第1のセットのメディアセグメントからクライアントデバイスが対応するメディアセグメントをダウンロードした、メディアプレゼンテーションの追跡される部分に対応する、1つまたは複数のメディアセグメントを含めるかどうかを決定するステップを備える。
図面を参照すると、特に図1では、本内容による実施形態を実装したネットワークインフラストラクチャを備えるシステムが、100において大まかに示されている。100で示されているものは、メディアソース102と、(HLS処理部106とウェブサーバ108とを含む)HLSサーバ104と、HTTP対応ネットワーク128と、リンクまたは接続136〜144と、3つのクライアントデバイス、すなわち、ノートパソコン130と、携帯電話132と、タブレット134とである。HLS処理部106は、同様に、処理要素110とディスク記憶装置118とを備える。加えて、HLS処理部106(本明細書では単に「処理部」とも呼ばれる)は、メディアエンコーダ112と、ストリームセグメンタ114と、パッケージ生成部(packager)116とを備えるように示され、これらは、実施形態では、HLS処理部106によって実行される機能を論理的に示すものである。限定された数の、システム要素102〜118、システム要素128〜134のみが、説明を容易にするために100に示されているが、追加的なそのような要素をシステム中に含むことができる。さらに、システム100の商用実施形態のために必要な他の要素は、含まれる実施形態の説明を明確にするために、図面から省略されている。
以下に、システム100内の要素の簡単な説明を開始する。一般に、HLSドラフト仕様に準拠して動作するように構成されているHLSサーバ104、およびその複数の構成要素は、残りの図面に関連して以下に詳細に説明する、本開示の実施形態による機能に適応されている。クライアントデバイス130〜134、メディアソース102、およびネットワーク128内のインフラストラクチャ要素もまた、それぞれの機能を実行するように構成されている。本明細書で使用される、「適応された」、「動作可能な」または「構成されている」は、示された要素が、動作可能に結合された、1つまたは複数のメモリデバイス、インターフェース、および/または処理デバイスを使用して実装されていることを意味する。メモリデバイス、インターフェース、および/または処理デバイスは、プログラムされると、これらのシステム要素のための、それらの所望の機能を実装する手段を形成する。
(図示されていないが、システム要素間の図示されている接続136〜144を確立し、維持するために使用される)インターフェースは、システム100の要素間の制御情報、音声メディア、または非音声メディアを含み、本明細書ではメッセージング(たとえば、メッセージ、パッケージ、データグラム、フレーム、スーパーフレームなど)とも呼ぶ信号を伝達するために使用される。特定の要素におけるインターフェースの実装は、要素が接続されるネットワークの特定の種類、すなわち、ワイヤードおよび/またはワイヤレスに依存する。たとえば、クライアントデバイスは、HTTP対応ネットワーク128に繋がるための(ワイヤレス接続を確立するために使用される)ワイヤレスインターフェースを含み、HLSサーバ104は、ネットワーク128に含まれるインフラストラクチャデバイスに接続するための(ワイヤード接続を確立するために使用される)ワイヤードインターフェースを含むことができる。ワイヤードインターフェースの例は、イーサネット(登録商標)、TI、USBインターフェースなどを含む。ワイヤレスインターフェースの例は、ロングタームエボリューション(LTE)、CDMA、GSM(登録商標)、Wi-Fiなどを含むがこれらに限定されないテクノロジーをサポートする、ワイヤレスプロトコルと関連ハードウェアとを含む。
システム100がワイヤレス通信をサポートする場合、インターフェースは、1つまたは複数の標準ワイヤレスインターフェースまたは独自ワイヤレスインターフェースに従って動作可能な、処理構成要素と、変調構成要素と、送受信構成要素とを含む構成要素を備え、処理要素と変調要素と送受信要素との機能のいくつかは、システム要素のメモリデバイス上に記憶されたソフトウェアアプリケーションまたはファームウェアなどのプログラム可能論理を通じて、またはハードウェアを通じて、1つまたは複数の処理デバイスを用いて実行することができる。特定の実施形態では、インターフェースによって維持される接続136〜144は、インターネットプロトコル(IP)接続である。
システム100の要素によって活用される処理デバイス(たとえば、HLS処理部106および処理要素110)は、部分的にハードウェアで実装されてよく、したがって、たとえば、図2から図7を参照して説明するそれらの機能を実行するための、ソフトウェア、ファームウェア論理またはコードを用いてプログラムされてよく、および/または、処理デバイスは、たとえば、状態機械またはASIC(特定用途向け集積回路)として、ハードウェアで完全に実装されてよい。これらのシステム要素によって実装されるメモリ(たとえば、ディスク記憶装置118)は、各要素が機能するために必要な様々な情報の、短期記憶装置および/または長期記憶装置を含むことができる。メモリは、さらに、処理デバイスを、その機能を実行するために必要な論理またはコードを用いてプログラムするための、ソフトウェアまたはファームウェアを記憶することができる。
システム100の要素の詳細説明に再び戻ると、本明細書では同じ意味で「サーバ」と呼ばれる、HLSサーバ104は、メディアコンテンツをクライアントデバイスにストリーミングし、ネットワーク性能を最適化するための、これらの内容を通して説明する方法を管理する。これを達成するために、HLSサーバ104は、本明細書では同じ意味で「コンピュータ」と呼ばれる処理要素110を備え、それは、たとえば、その上に記憶されたコンピュータ可読コードを有する非一時的なコンピュータ可読記憶装置を介してプログラムすることができる。
HLSサーバ104へインターフェース接続しているものは、メディアソース102であり、それは、メディアコンテンツを、接続136を介してHLS処理ユニット106内のメディアエンコーダ112に流す。代替的な実施形態では、メディアエンコーダ112は、HLSサーバ104の外側に置くことができる。メディアソース102は、メディアを特定の形式で流し、その形式は、圧縮(たとえば、ロッシー)または非圧縮(たとえば、ロスレス)のいずれかである。流されたメディアは、それがストリーミングメディアソースによって配信されて(すなわち、ストリーミングされて)いる間に、クライアントデバイスにおいて継続的に受信され、クライアントデバイスによって表示されるメディアである。メディアコンテンツが圧縮されている場合、メディアエンコーダ112は、メディアをある圧縮形式から別の圧縮形式に変換する。メディアコンテンツが圧縮されていない場合、メディアエンコーダ112はメディアストリームを符号化する。特定の実施形態では、メディアソース102から受信するメディアストリームの形式に関係なく、メディアエンコーダ112からの出力ストリームは、MPEG-4メディア圧縮(たとえば、MPEG-4 part 10 Advanced Video Coding (AVC)/H.264 video compression with Advanced Audio Coding (AAC) audio compression)を使用して符号化され、MPEG-2トランスポートストリームコンテナ形式を使用して内包される。しかしながら、このような実施形態は限定するものでなく、他の形式の符号化および/または内包が、本明細書で説明する内容を実装するために使用されてよい。
一実施形態では、メディアエンコーダ112は、それが受信するメディアストリームから、複数の可変ストリームをコード変換または符号化し、各可変ストリームは、異なる符号化ビットレートおよび/または解像度に対応する。本明細書で使用する符号化ビットレートとは、符号化されたメディアストリームまたはメディアファイルの情報密度、特に、再生時間単位当たりのビット数のことを言う。通常、より高い符号化ビットレートは再生品質の向上に対応し、また、ダウンロードするためのより大きな帯域幅および/またはより多くの時間を必要とする、より大きなファイルにも対応する。メディアストリームのための符号化ビットレートは、たとえば、1秒当たりより少ないフレームを符号化すること、フレームサイズを小さくすること、色の数を減らすこと、マルチチャネル音声よりもモノラルで符号化すること、または(復号のためにより大きなクライアント側での処理を必要とし得る)より効率的な圧縮を使用することによって下げることができる。
本明細書で使用する「符号化」という用語は、メディアファイル内またはメディアストリーム内のデータが形式を設定される方法のことを言う。同じコンテンツを表示する2つの可変ストリームは、異なる符号化を有し、それらは異なる符号化ビットレートを有する。同じコンテンツを表示する2つの可変ストリームは、また、符号化ビットレートが同じである、異なる符号化に対応することもできる。これは、たとえば、1つの可変ストリームがより低いレートで表示されるより高い解像度のフレームのために形式設定される一方、他がより高いレートで表示されるより低い解像度のフレームのために形式設定される場合に当てはまり得る。
様々な実施形態について、HLSサーバ、クライアントデバイス130〜134、およびメディアソース102はすべて、メディアエンコーダ112によって生成される可変ストリームの符号化ビットレートを様々な程度で制御する。一実施形態では、たとえば、標準画質のメディアコンテンツがメディアソース102から受信される場合、メディアエンコーダ112は、符号化ビットレートを2メガビット/秒(Mbps)以下に制限する。高画質のメディアコンテンツが受信された時、メディアエンコーダ112は、4Mbpsの符号化ビットレートを有する可変ストリームを生成することができる。別の実施形態では、処理要素110は、メディアエンコーダ112に、本明細書で説明するHLSサーバ104の機能をHLSサーバ104に実行可能にする、符号化ビットレートを有する可変ストリームを生成するように指示する。さらなる実施形態では、HLSサーバ104内のメディアエンコーダ112は、特定の符号化ビットレートを有する可変ストリームを、クライアントデバイス130〜134から受信する要求に応答して、または管理者またはプログラマによって入力されるパラメータに応答して生成する。
ストリームセグメンタ114は、メディアエンコーダ112によって出力される、複数の可変MPEG-2トランスポートストリームを受信し、各可変MPEG-2トランスポートストリームをより短いデュレーション(通常、1秒から10秒の間であるが、この範囲に含まれないデュレーションも可能である)のメディアセグメントファイルから成るシーケンスに分割または区切る。時に当業で「チャンク」と呼ばれるメディアセグメントファイルは、また、本明細書では「メディアセグメント」とも言う。本明細書で使用する「デュレーション」という用語は、クライアントデバイスによって通常の速さ(すなわち、ストリーミングされているプレゼンテーションの意図された再生スピード)で再生される、メディアセグメントファイルまたはメディアストリーム部分の再生時間として定義される。メディアセグメントファイルは、次いで、ストリームセグメンタ114から、メディアセグメントファイルを特定の配信プロトコルのために整えるパッケージ生成部116に渡される。特定の実施形態では、たとえば、配信プロトコルはHTTPプル型の下のHTTP GET要求をサポートする。
システム100は、パッケージ生成部116からのメディアセグメントファイルをディスク記憶装置118の中に、ウェブサーバ108がアクセスし配信するために記憶する。ディスク記憶装置118は、フラッシュメモリ、半導体デバイス、またはその上にデータがデジタル記録される表面層(たとえば、独立の磁気ハードドライブから成る配列)を有する、1つまたは複数の回転盤を備える記憶デバイスである。図1に示す通り、ディスク記憶装置118は、HLSサーバ104のHLS処理部106の内部に位置する。しかしながら、代替的な実施形態は、HLS処理部106の外でのメディアセグメントファイルの記憶を可能にする。考えられる場所は、ウェブサーバ108内、HLSサーバ104の内側でウェブサーバ108の外側、またはHLSサーバ104の外側を含む。加えて、光学式ドライブおよび他の互換性のあるテクノロジーなどの代替デバイスも、メディアセグメントファイルの記憶のために使用することができる。
ウェブサーバ108は、ディスク記憶装置118に記憶されたメディアセグメントファイルをクライアントデバイス130〜134に配信する(すなわち、出力する)。ウェブサーバ108の機能は、ハードウェア(すなわち、物理的サーバ)、ソフトウェア(すなわち、コンピュータプログラム)、またはその2つの組合せとして実装することができる。さらに、物理的ウェブサーバは、HLSサーバ104の内部(図示)または外部のいずれかに置くことができる。120で示す通り、ウェブサーバ108は可変再生リストファイル(本明細書では可変再生リストとも呼ぶ)を、1つまたは複数のクライアントデバイスにそれをアクセス可能にすることによって、発行(すなわち、ホスト)する。一実施形態では、HLSサーバ104の処理部106は、可変再生リストファイルをHLSに適合する形式を有するクライアントデバイスに提供し、メディアセグメントをクライアントデバイスにHTTPを使用して提供するように構成されている。
可変再生リストファイル120は、個別の再生リスト122〜126(本明細書では再生リストファイルとも呼ばれる)を指し示す項目を含む要覧としての役割を果たし、再生リスト122〜126は、同様に、可変ストリームからの個別のメディアセグメントファイルを指し示す項目を含んでいる。本明細書で使用する「ポインタ」は、それによって指し示されているソースにウェブサーバ108を向かわせる手段のことを意味する。ポインタの例は、ユニフォームリソースロケータ(URL)である。ウェブサーバ108は、URLのパス構成要素を、静的要求についてはローカルなファイルシステムソースにマップし、または動的要求についてはプログラム名にマップすることができる。URLの最初の部分は、ドメイン名サーバによってウェブサーバ108のIPアドレスにマップされるドメイン名を備える。URLの残り(パス構成要素)は、クライアントデバイスのためのユーザエージェントによってHTTP GET要求に変換される、ウェブサーバ108のルートディレクトリに対するパスを備える。
システム100は、ウェブサーバ108によって発行される各個別の再生リストを、特定の符号化ビットレートを有する可変ストリームに関連付ける。たとえば、再生リストA122は、60フレーム/秒で高画質テレビ(HDTV)形式(すなわち、1280x720画素)で符号化された可変ストリームからのメディアセグメントファイルを指し示すURLを含むことができる一方、再生リストB124中のURLは、30フレーム/秒でスーパービデオグラフィックスアレイ(SVGA)形式(すなわち、800x600画素)で符号化された可変ストリームからのメディアセグメントファイルを指し示すことができる。再生リストファイルおよび可変再生リストファイルは、また、情報タグを含むことができ、いくつかの実施形態では、情報タグは、記述されている可変ストリームとメディアセグメントファイルとについての情報を伝達するコメントラインをファイル内に備える。他の実施形態では、メタデータが、たとえば、(id3v2.4.0-structure.txtおよびid3v2.4.0-frames.txt(M. Nilsson、2000年11月1日、およびこれ以降の全バージョン)(非特許文献2、3)という非公式の標準文書によって述べる)ID3などのデータコンテナを使用して、メディアセグメントファイル内に埋め込まれる。メタデータコンテナは、ファイルについての情報をファイル自体の中に記憶することを可能にする。
ライブストリーミングに加えて、本明細書で示す内容は、ビデオオンデマンド(VOD)にも適用することができる。VODでは、メディアプレゼンテーション(すなわち、ビデオ)について、完全なセットのメディアセグメントファイルが、クライアントデバイスがそのプレゼンテーションに対する要求(すなわち、デマンド)を行った時に存在する。この完全なセットのメディアセグメントは、プレゼンテーション全体を完全に符号化したものを表わし、個別のセグメントファイルをクライアントデバイスに流すために使用される再生リストの中で特定することができる。ライブストリーミングでは、それに反して、HLSサーバ104は、それがまだプレゼンテーションを受信し、そのためのメディアセグメントファイルを作成している間に、メディアプレゼンテーションに対するクライアントデバイスの要求を受信する。ライブストリーミング処理中の任意の所与の時間では、メディアセグメントファイルは、すでにHLSサーバ104に流されたメディアプレゼンテーションの部分についてのみ利用可能である。ライブで流されているプレゼンテーションのための再生リストファイルは、利用可能なメディアセグメントを指し示す項目のみを含んでいる。特定の実施形態では、HLSドラフト仕様と一致して、ライブストリームのための再生リストファイルは、固定数のメディアセグメント(たとえば、3つのメディアセグメント)についての項目を含んでいる。HLSサーバ104によって作成される、各新しいメディアセグメントのための項目が再生リストに追加されるにつれて、より古いメディアセグメントのための項目は削除される。このようにして、再生リストファイルは、再生リストがストリーミングされているライブメディアプレゼンテーションを追跡するにつれて、固定数の「現在の」メディアセグメントファイルをリアルタイムで「フレームに入れる」、「引き違い窓」を表わしている。
128で示すHTTP対応ネットワークは、クライアントデバイス130〜134をHLSサーバ104に伝達的に結合する。それは、HTTPプロトコルスタックを使用して情報の交換を統制するコンピュータネットワークを表わしている。特定の実施形態では、HTTP対応ネットワーク128は、HTTPと、通信制御プロトコル(TCP)と、IPプロトコルとを、そのアプリケーション層と、トランスポート層と、インターネット層とについて、それぞれ使用する(たとえば、インターネット)。HLSサーバ104は、ネットワークパケット(すなわち、データグラム)を中継して伝える接続138を使用して、データとメッセージとを、クライアントデバイス130〜134に送信し、クライアントデバイス130〜134から受信する。136で示す接続は、HLSサーバ104が、ストリーミングメディアをメディアソース102から受信し、制御信号をメディアソース102へ中継して伝えることを可能にする。
ノートパソコン130、携帯電話132、およびタブレット134は、すべてクライアントデバイスであり、音声ベースのメディアファイルおよび/または映像ベースのメディアファイルの再生をサポートする。クライアントデバイスは記憶機能を有する電子デバイスであり、HLSサーバ104と相互作用してメディアコンテンツをダウンロードし、バッファに格納する。これらの特定のデバイスに加えて、本明細書の内容は、また、メディアファイルをダウンロードし再生することができる、携帯型メディアプレーヤ(PMP)と、ゲーム機と、他の電子デバイスとに適用することができる。一実施形態では、各種類のクライアントデバイスは、機能の異なるセットを有し、それは、画面サイズ、バッファ容量、処理(たとえば、復号)能力、および再生を開始するためにそのバッファの中に記憶されるセグメントの最低数などであるがこれらに限定されない、各種類のクライアントデバイスの再生特性を定義する。
ここで、本明細書の内容に従って、また残りの図面を参照して、システム100の要素の機能の詳細な説明にうつる。図2は、システム100の個別の要素が一緒にどのように動作して、メディアコンテンツを、130〜134で示す1つまたは複数のクライアントデバイスにストリーミングするための方法を実行するのかということを示す論理フローチャートである。特に、図2は、クライアントデバイスが、流されたメディアプレゼンテーションをダウンロードしている間に、符号化ビットレート間で切り替えを行う際に、HLSサーバ104が、ネットワーク128にかかる負荷を軽減するための方法200をどのように実行するかを示している。202では、HLSサーバ104は、複数の可変ストリームを特定する、クライアントデバイス(たとえば、ノートパソコン130)のための可変再生リスト(たとえば、可変再生リスト120)ファイルを提供する。特定の実施形態では、可変再生リスト120をクライアントデバイスに提供するHLSサーバ104は、可変再生リスト120を発行するウェブサーバ108を備える。可変再生リスト120は、特定のクライアントデバイス、クライアントデバイスから成るグループについて特別に発行することができ、またはHLSサーバ104に接続し、HLSサーバ104から流されるコンテンツを受信することができるすべてのクライアントデバイスにアクセス可能にすることができる。
可変再生リスト120によって特定される複数の可変ストリームのうちの各可変ストリームは、同じメディアプレゼンテーションの異なる符号化に対応する。したがって、各可変ストリームは、同じ内容とデュレーション、すなわち、プレゼンテーションの内容とデュレーションとを有する。プレゼンテーションは、たとえば、それがテレビ局またはラジオ局に関連するライブ放送を表示する場合、オープンエンド(すなわち、未定の)デュレーションを有することができ、または、プレゼンテーションが保管されたフィルムやビデオクリップを表示する場合(すなわち、VOD)などでは、プレゼンテーションは既知の有限のデュレーションであることができる。
一実施形態では、可変再生リスト120は、図1の122〜126で示したものなどの、個別の再生リストを特定する。可変再生リスト120中で特定された各可変ストリームについて、クライアントデバイスを対応する再生リストに向かわせるポインタがリストアップされ、ポインタは、今度は、その可変ストリームに属するメディアセグメントのための識別子を備える。一実施形態では、識別子は、URLとユニフォームリソースネーム(URN)とを備えるユニフォームリソースアイデンティファイア(URI)である。URLは、上記で示した通り、メディアセグメントまたはURNによって特定されている他のファイルタイプの位置を指定するポインタとして機能する。
可変再生リスト120の中で特定される可変ストリームから、望ましい符号化をダウンロードするためのクライアント側での選択が行われる。この選択は、たとえば、優先順位、特定の画面解像度に対する要求を指定するユーザ入力、またはクライアント内でのプログラミングからの結果に基づくことができる。本例の目的のために、クライアントデバイスは、第1の符号化ビットレートに対応する第1の可変ストリームを選択する。次いで、クライアントデバイスは、HTTP対応ネットワーク128を使用して、その選択をHLSサーバ104にHTTP GET要求として通信する。
204で、HLSサーバ104は、クライアントデバイスから、第1の再生リストファイルに対する第1の要求としての要求を受信する。第1の再生リストファイルは、可変再生リストファイル120の中の複数の可変ストリームのうちの第1の可変ストリームからの、第1のセットのメディアセグメントに、第1のクライアントデバイスを向ける第1のセットの識別子を提供し、第1のセットのメディアセグメントは第1の符号化ビットレートに対応する。「セット」という用語は、本明細書では、1つまたは複数の要素を有しているとして定義される。図1に示した実施形態では、要求は、HLSサーバ104内に置かれたウェブサーバ108によって受信される。したがって、要求に関連する情報は、処理要素110と、本明細書の内容に従って要求を処理する必要のある他の要素とに内部で通信される。
再生リストファイルによって特定されるメディアセグメントをより詳細に説明するために少しの間図7を見ると、3つの符号化ビットレートを表わすメディアセグメントの概略図が、700において一般的に図示されている。一実施形態では、コンテナと、符号化された映像および音声コンテンツと、場合により暗号化プロトコルとを備えるメディアセグメントは、別々にダウンロードされ、その後正しい順次的順番で再生される、ストリーミングされたメディアプレゼンテーションの一部を表わしている。クライアントデバイスは、メディアセグメントを、それが遠隔で保持されている(すなわち、クライアントデバイスから離れている)場所から、クライアントデバイスによって所有されている記憶装置またはメモリによってそれがローカルに保持される場所に、それをコピーまたは転送することによってダウンロードする。メディアセグメント内の映像情報はフレームから成るシリーズとして符号化され、各フレームは時間におけるスナップショットを表わしている。2つの基本的なフレームの種類がある。他のフレームを参照することなく復号することができる独立フレーム、および前のフレームおよび/または後のフレームを参照することによって復号される従属フレームである。独立フレームとそれに従属するすべてのフレームとを備える、フレームから成るシーケンスは、グループオブピクチャ(GOP)として定義される。各GOPは、それがそれを完全に復号するための全情報を含んでいるという点において自己完結型であり、したがって、他のGOPを参照することなく独立して復号可能である(すなわち、復号することができる)。
より具体的には、図7は、702、704、および706における、それぞれ、高ビットレートストリーム、低ビットレートストリーム、および中ビットレートストリームである、3つの可変ストリームについて、メディアセグメントの同じ部分を示している。各メディアセグメント内で表示されるピクシレーションの密度はその符号化ビットレートに比例し、可変ストリーム702のメディアセグメントで最も高く、可変ストリーム704のメディアセグメントで最も低い。示した各メディアセグメントのデュレーションはその長さに比例する。一実施形態では、各可変ストリームは、その可変ストリームを示し、その可変ストリーム内でのメディアセグメントの相対的順序を定義するシーケンス番号を含むファイル名によって特定される、個別のMPEG-2トランスポートストリーム(.ts)ファイルから成っている。たとえば、可変ストリーム702は、時間インデックスt=t0でメディアセグメント「high-1.ts」(図示せず)から開始し、各連続するメディアセグメントについて、シーケンス番号が1ずつ増加する。シーケンス番号12〜15を有する示された4つのメディアセグメントは、時間インデックスt=t11から時間インデックスt=t15まで再生されるメディアプレゼンテーションの部分にわたっている。通常クライアントデバイスでバッファされているメディアセグメントの再生は連続しており、中断なしに発生する。図7に示すセグメント間の隙間は、各メディアセグメントがIDRフレームから始まるグループオブピクチャを備えることを説明するためだけに含まれている。
各メディアセグメントの先頭のIDRフレームの位置は「IDR」ラベルによって示されている。IDRフレームは、IDRフレームより後のフレームがIDRフレームより前のフレームを参照することができないということを指定する、特別な種類の独立フレームである。IDRフレームは、その受信によりクライアントデバイスが、前のGOPに関連するフレームの入ったその復号バッファをパージすることができるように、タグ付けされている。HLSサーバ104が、本内容に従って、示す通り、IDRフレームを各メディアセグメントの先頭に置き、それらを可変ストリームにわたって揃えることによって、クライアントデバイスは、ストリーミングされたメディアプレゼンテーションを再生している間、プレゼンテーションの同じ部分に対応する、各可変ストリームから1つまたは複数の、重複するメディアセグメントをダウンロードする必要なく、可変ストリーム間で切り替えを行うことができる。
たとえば、高ビットレートの可変ストリーム702を受信しているクライアントデバイスは、ネットワークの輻湊のために、低ビットレートストリーム704に切り替える必要があるかもしれない。クライアントデバイスは、時間インデックスt=t12、t=t13、またはt=t14で、すでにクライアントデバイスによってバッファされたメディアプレゼンテーションの部分に対応する、低ビットレートのメディアセグメントをダウンロードすることなしに、切り替えを行うことができる。その一方、2つの可変ストリーム間でメディアセグメントとIDRフレームとが揃っておらず、むしろ重なっている場合、2つのストリームの再生を同期させ、クライアントデバイスを新しいストリーム中の次のIDRフレームに行かせるために、メディアプレゼンテーションの部分について、重複するコンテンツを有する少なくとも1つのメディアセグメントをダウンロードすることが必要になる。前の例における低ビットレートのメディアセグメントを、たとえば、そのデュレーションの半分の時間前にずらすと、クライアントデバイスがメディアプレゼンテーション中で十分先に進んで、メディアセグメント「low-14.ts」を復号し、低ビットレートの可変ストリーム704を再生し始める前に、クライアントデバイスがメディアセグメント「high-14.ts」をダウンロードし再生することになる。
中ビットレートの可変ストリーム706のメディアセグメントは、702と704とにおける他の2つの可変ストリームからのメディアセグメントの2倍のデュレーションを有するように示されている。クライアントデバイスとHLSサーバ104との間でメッセージをやり取りすることに関連して(平均と比較して)比較的大きな遅延がある場合、メディアセグメントをより長いデュレーションで符号化することの利点がある。HLSサーバ104から「より距離のある」クライアントデバイスでは、データグラムは、より多くの「ウェイポイント」を介して中継されるため、その目的地に到達するまでにより長い期間を費やす。HLSサーバ104は、クライアントデバイスについてのこの伝送遅延を、HLSサーバ104がデータグラムを送信し、返答として確認を受信する間の時間間隔を測定することによって決定する。
メディアプレゼンテーションの一部をより短いデュレーションのメディアセグメントに分割すると、より多くのファイルができる。これにより、これらのファイルを取得するために、第1のクライアントデバイスによってHLSサーバ104に渡される要求がより多く必要になる。複数のファイルに関連する伝達遅延は累積的であるため、短いデュレーションのメディアセグメントをクライアントデバイスに提供することに関連する、より速いビットレートに移行するどのような利点も、より多くの要求を送信する必要性によって無効にされ得る。この理由により、いくつかの実施形態はより長いデュレーションのメディアセグメントを含む。700で示す特定の実施形態では、706における中ビットレートの可変ストリームのメディアセグメントおよびIDRフレームは、それでもやはり、時間インデックスt=t13で可変ストリーム702と可変ストリーム704とのそれらに揃っている。これにより、クライアントデバイスが、揃っているこの時点と他の時点とで、重複するメディアセグメントをダウンロードすることなしに、中ビットレートの可変ストリーム706に切り替わり、またそれから切り替わることが可能になる。
ここで図2に戻ると、HLSサーバ104は、第1の要求に応答して、206でクライアントデバイスに第1の再生リストファイルを提供する。クライアントデバイスが、メディアプレゼンテーションの再生を開始(または継続)するために、第1の再生リストファイルの中で特定される第1の可変ストリームからメディアセグメントをダウンロードする時、HLSサーバ104は、208で、ダウンロードされたメディアセグメントのシーケンス番号を追跡する。本明細書で使用されるシーケンス番号は、可変ストリーム中のメディアセグメントに割り当てられる連番であり、それらの再生の相対的順序を定義する。メディアセグメントは、メディアプレゼンテーションを表わす1つの連続的なファイルの部分であるため、より小さいシーケンス番号を有するメディアセグメントは、プレゼンテーションの最初の方に対応し、プレゼンテーションの後の方に対応する、より大きなシーケンス番号を有するメディアセグメントの前に再生される。本明細書で使用する追跡とは、それによってHLSサーバ104が、クライアントデバイスによってダウンロードされたメディアセグメントのログを取るまたは記録する処理である。一実施形態では、HLSサーバ104は、クライアントデバイスによってダウンロードされた、可変ストリームからのすべてのメディアセグメントの記録を保持している。別の実施形態では、HLSサーバ104は、可変ストリームからの、直近に追跡されるメディアセグメントから成るサブセットのみを保持している。たとえば、HLSサーバ104は、クライアントデバイスのバッファに現在存在している、追跡されるメディアセグメントのシーケンス番号のみを保持している。
いくつかの実施形態では、HLSサーバ104は、メディアセグメントを追跡することができるステートフルサーバである。ステートフルサーバは、クライアントデバイスとの通信相互作用から受信したクライアントデータ(すなわち、状態データ)を保持するサーバである。一実施形態では、HLSサーバ104は、接続されているクライアントデバイス130〜134に、それらのハードウェア構成および/またはソフトウェア構成を問い合わせる。別の実施形態では、HLSサーバ104は、クライアントデバイス130〜134によって送信された要求中に組み込まれた構成情報を受動的に受信する。このクライアントデータは、ある要求から次の要求まで累積的に記憶され、HLSサーバ104によってこれらの要求の処理で使用される。特定の実施形態では、HLSサーバ104は、クライアントデバイスによって保持されている、バッファされたメディアのデュレーション(すなわち、その記憶されている再生時間)を決定し、それは、クライアントデバイスによって受信されたメディアセグメントの合計デュレーションと、それらのメディアセグメントが受信されてから経過した時間との間の差に対応する。記憶されている再生時間を(各メディアセグメントが同じデュレーションを有する場合)ダウンロードされたメディアセグメントのデュレーションで割ることで、HLSサーバ104が、サーバ104によって追跡される直近n個のシーケンス番号に対応する、現在クライアントデバイスのバッファ中にあるメディアセグメントの数nを決定することが可能になる。
210で、HLSサーバ104は、クライアントデバイスから、第2の符号化ビットレートで符号化された第2の可変ストリームからの、第2のセットのメディアセグメントを特定する、第2の再生リストファイルに対する第2の要求を受信する。説明のための一実施形態では、第2の符号化ビットレートは第1の符号化ビットレートよりも低い。より低い符号化ビットレートに対する要求は、たとえば、クライアントデバイスが利用可能なネットワーク帯域幅の減少を検出したこと、またはユーザが特定のメディアプレゼンテーションをストリーミングするためにクライアントデバイスによって使用される資源の量を減らすことを望むことにより生じ得る。
クライアントデバイスがより低い符号化ビットレートを要求していると決定した(212)後、HLSサーバ104は、第2の再生リストファイルの中で、第1のセットのメディアセグメントからクライアントデバイスが対応するメディアセグメントをダウンロードした、追跡される部分以外の、メディアプレゼンテーションの1つまたは複数の部分に対応するメディアセグメントのみを特定する(214)。特定の実施形態では、第2の再生リストファイルは、第2の再生リストファイルに対する要求に応答して、クライアントデバイスのために動的に作成される。これにより、HLSサーバ104が、第2の再生リスト中で、クライアントデバイスによってすでにダウンロードされたメディアプレゼンテーションの部分に対応する、メディアセグメントを特定しないことを確実にする。本明細書で使用する「動的な」という用語は、ある事象(たとえば、第2の再生リストに対する要求)に応答して動作(たとえば、第2の再生リストの作成)が発生することを示している。これにより、その動作が、その事象の時間に存在している条件に基づくこと(たとえば、すでにダウンロードされたメディアプレゼンテーションの部分に対応する、第2の再生リスト中のメディアセグメントを含まないこと)が可能になる。
一実施形態では、第2の符号化ビットレートが第1の符号化ビットレートよりも低い場合、第2の再生リストファイルは、第1の可変ストリームからの、クライアントデバイスによってダウンロードされた、メディアセグメントのシーケンス番号とは異なるシーケンス番号を有するメディアセグメントのみを特定する。さらなる実施形態では、第2の再生リストファイルは、第1の可変ストリームからの、クライアントデバイスによってダウンロードされた、メディアセグメントのうちの最も大きいシーケンス番号を超えるシーケンス番号を有するメディアセグメントのみを特定する。たとえば、メディアプレゼンテーションがVODプレゼンテーションであり、第1の再生リストファイルがメディアプレゼンテーションのためのすべてのメディアセグメントを特定する実施形態では、第2の再生リストファイルは、第1の可変ストリームからの、クライアントデバイスによってダウンロードされた、最後のメディアセグメントのシーケンス番号よりも大きいシーケンス番号を有する、メディアプレゼンテーションの残りの部分のためのメディアセグメントのみを特定する。
第2のセットのメディアセグメントは、第2のセットのメディアセグメントに対応する、ユニフォームリソースロケータから成るセット、または情報タグから成るセットのうちの少なくとも1つを使用して特定される。たとえば、メディアプレゼンテーションがVODプレゼンテーションである一実施形態では、第2の再生リストファイルは、その再生リストファイル内で特定される個別のメディアセグメントを指し示すURLを含む。メディアプレゼンテーションがライブでストリーミングされている別の実施形態では、HLSサーバ104は、第2の再生リストファイルの中で、まだ作成されていないメディアセグメントについて、URLを有さない情報タグを付ける。
216で、HLSサーバ104は、クライアントデバイスに第2の再生リストファイルを提供して、クライアントデバイスが第2の可変ストリームに切り替え、メディアプレゼンテーションを再生し続けることを可能にする。クライアントデバイスが第1の再生リストファイルからのメディアセグメントをダウンロードしている間に、第2の再生リストファイルに対する第2の要求がHLSサーバ104によって受信される(210)、第1の実施形態では、サーバ104は、第2の再生リストファイルを発行する前に、クライアントデバイスがメディアセグメントをダウンロードし終えるまで待つ。第2の実施形態では、HLSサーバ104は、第2の再生リストファイルの中で、クライアントデバイスによってダウンロードされている、第1の再生リストファイルからのメディアセグメントと同じシーケンス番号を有するメディアセグメントを特定する。これは、第2の再生リストファイルの中に現れる最も小さいシーケンス番号である。クライアントデバイスが第2の再生リストファイルを受信すると、クライアントデバイスは、第1の再生リストファイルからのメディアセグメントのダウンロードを中断し、同じシーケンス番号を有する、第2の再生リストファイルからのメディアセグメントをダウンロードし始める。
図3は、300において、本内容のいくつかの実施形態による、メディアプレゼンテーションを再生している間に可変ストリーム間で切り替えを行うクライアントデバイスを説明する概略図を示している。概略図300は、「高」ビットレートで符号化された第1の可変ストリームから、「低」ビットレートで符号化された第2の可変ストリームに切り替えながら、メディアプレゼンテーションの一部を再生しているクライアントデバイス(図示せず)を表わしている。矢印は、302、304、308、310、314、および316でそれぞれ再生されている、メディアセグメントhigh-10.ts、high-11.ts、high-12.ts、high-13.ts、low-14.ts、およびlow-15.tsのための再生の順番を示している。再生されているセグメントの下に表わされているメディアセグメントは、その時間におけるクライアントデバイスのバッファされているコンテンツを表わし、「+」記号の下に表示されているメディアセグメントは、クライアントデバイスに能動的にストリーミングされている(すなわち、クライアントデバイスのバッファに追加されている途中の)ものである。説明の目的のために、2つのメディアセグメントがクライアントデバイスによってバッファされるように示されているが、図2について、ならびに図5および図6についても、バッファされるメディアセグメントの実際の数は変化してよい。特定の実施形態では、バッファされるメディアセグメントの数はパラメータの数に依存し、パラメータには、メディアセグメントのデュレーションと、クライアントデバイスのバッファ容量と、クライアントデバイスへのネットワーク接続の帯域幅とが含まれる。
3つの活動レベルが300に示されている。一番上のレベルは、クライアントデバイスが第1の可変ストリームからの高ビットレートのメディアセグメントを、同じストリームからのメディアセグメントを受信している間に再生していることを表わしている。中間のレベルでは、クライアントデバイスは、そのバッファから高ビットレートのメディアセグメントを再生している最中に、第2の可変ストリームからの低ビットレートのメディアセグメントを受信している。一番下のレベルでは、クライアントデバイスは、第2の可変ストリームからの低ビットレートのメディアセグメントを受信し、再生している。306および312に表示されている「X」記号は、インデントされたレベル間での移行時点を示している。
302では、クライアントデバイスは、high-12.tsをダウンロードし、そのバッファに追加しながら、high-10.tsを再生する。図3についてのこの詳細な説明では、ならびに図5および図6についても同様に、「メディアセグメント」という単語は、特定のメディアセグメントを名前で呼ぶ時には省かれる。これは、簡略化のために行われる。たとえば、メディアセグメントhigh-10.tsは、本明細書では単に「high-10.ts」と呼ばれる。304では、メディアセグメントhigh-10.tsの再生を終えた後、クライアントデバイスは、302ですでにバッファされた、シーケンス中の次のメディアセグメント、high-11.tsを再生し始める。クライアントデバイスが304でhigh-11.tsを再生している最中に、high-13.tsがクライアントデバイスのバッファにストリーミングされている。特定の実施形態では、各メディアセグメントはHTTPを使用してクライアントデバイスに配信される。
移行時点306は、クライアントデバイスが、利用可能なネットワーク帯域幅の減少に応答して、第2の可変ストリームへのその移行を開始した瞬間を表わしている。それは、図2の210において、クライアントデバイスが第2の再生リストファイルを要求する時に対応する。308および310では、クライアントデバイスは、移行時点306より前にそのバッファに記憶された最後の2つのメディアセグメントである、high-12.tsとhigh-13.tsとを再生し続ける。残りの高ビットレートのメディアセグメントを再生している間、クライアントデバイスは、図2の216でHLSサーバ104によって提供された第2の再生リストファイルの中で特定される、低ビットレートのメディアセグメントlow-14.tsとlow-15.tsとをダウンロードし、そのバッファに追加する。第1の可変ストリームの第1の符号化ビットレートが、第2の可変ストリームの第2の符号化ビットレートを超える時、HLSサーバ104内の処理部106は、第2の再生リストファイルの中で、追跡されるシーケンス番号のセットの中の最も大きいシーケンス番号を超えるシーケンス番号を有する、第2の可変ストリームからのメディアセグメントのみを特定するように構成されている。この場合、第2の再生リストファイルの中で特定される最初のメディアセグメントであるlow-14.tsは、14というシーケンス番号を有し、それは、クライアントデバイスがダウンロードした最後の高ビットレートのメディアセグメントのシーケンス番号を1上回る。
移行時点312では、クライアントデバイスは、第1の可変ストリームに対応するすべての高ビットレートのメディアセグメントの入ったバッファを使い尽くし、第2の可変ストリームからの低ビットレートのメディアセグメントを再生し始める。314および316では、クライアントデバイスは、308と310とでそれぞれダウンロードされたlow-14.tsとlow-15.tsとを再生する。314および316では、クライアントデバイスは、また、それぞれlow-16.tsとlow-17.tsとをダウンロードし、後の再生のためにそのバッファに追加する。一実施形態では、クライアントデバイスは、メディアプレゼンテーションの残りについて、第2の可変ストリームからのメディアセグメントをダウンロードし、再生し続ける。別の実施形態では、クライアントデバイスは、メディアプレゼンテーションを再生している間に、別の可変ストリームに再び移行する。特定の実施形態では、クライアントデバイスは、十分なネットワーク帯域幅が回復した後、低ビットレートの可変ストリームから高ビットレートの可変ストリームに移行して戻る。別の実施形態では、クライアントデバイスは、十分なネットワーク帯域幅が回復した後、低ビットレートの可変ストリームから中ビットレートの可変ストリームに移行する。
図4(図4a、4b)は、システム100の個別の要素が、メディアコンテンツを130〜134で示した1つまたは複数のクライアントデバイスにストリーミングするための方法を実行するために、どのように一緒に動作するのかということを示す別の論理フローチャートである。特に、図4は、HLSサーバ104が、メディアプレゼンテーションを再生しているクライアントデバイスをより高い符号化ビットレートを有する可変ストリームに移行させるための方法400を、どのように実行するのかということを示している。402〜408では、HLSサーバ104は、図2について202〜208でそれぞれ説明したのと同じ動作を実行する。すなわち、クライアントデバイスに、異なる符号化ビットレートを有する可変ストリームを特定する可変再生リストを提供するステップ(402)、クライアントデバイスから、第1のビットレートで符号化された第1の可変ストリームからの、第1のセットのメディアセグメントを特定する、第1の再生リストファイルに対する第1の要求を受信するステップ(404)、第1の再生リストをクライアントデバイスに提供するステップ(406)、およびクライアントデバイスによってダウンロードされた、第1の可変ストリームからのメディアセグメントのシーケンス番号を追跡するステップ(408)である。
410では、HLSサーバ104は、クライアントデバイスから、第1の符号化ビットレートよりも高い第2の符号化ビットレートで符号化された、第2の可変ストリームからの、第2のセットのメディアセグメントを特定する、第2の再生リストファイルに対する第2の要求を受信する。より高い符号化ビットレートに対する要求は、たとえば、クライアントデバイスがネットワーク状態の改善を検出したこと、またはユーザが特定のメディアプレゼンテーションについて再生の品質を改善しようとしたことに起因し得る。
クライアントデバイスがより高い符号化ビットレートを要求したと決定した(412)後、HLSサーバ104は、414で、クライアントデバイスに割り当てることができる利用可能なネットワーク帯域幅が閾値帯域幅よりも大きいかどうかを確認する。閾値帯域幅は、固定値、またはプログラムによって、410でクライアントデバイスによって要求された第2の再生リストファイルの中で特定された、メディアセグメントの特定のビットレートに基づいて決定される動的な値であってよい。一実施形態では、システム管理者が固定の閾値帯域幅を設定する。別の実施形態では、処理要素110が、やはりシステム管理者によって設定される特定のパラメータに基づいた、第2の要求されたビットレートの関数として動的な閾値帯域幅を決定する。たとえば、閾値帯域幅は、パラメータとして指定される傾きと基準線(すなわち、y軸の交点)とを有する、第2の要求されたビットレートに対する線形の依存性を有することができる。
414で決定された利用可能なネットワーク帯域幅が閾値帯域幅よりも大きくない場合、HLSサーバ104は、(416で)第2の再生リストファイルの中で、第1のセットのメディアセグメントからクライアントデバイスが対応するメディアセグメントをダウンロードした、追跡される部分以外の、メディアプレゼンテーションの1つまたは複数の部分に対応するメディアセグメントのみを特定する。代替的には、利用可能なネットワーク帯域幅が閾値帯域幅よりも大きい場合、HLSサーバ104は、(418で)第2の再生リストファイルの中で、第1のセットのメディアセグメントからクライアントデバイスが対応するメディアセグメントをダウンロードした、メディアプレゼンテーションの1つまたは複数の追跡される部分に対応するメディアセグメントの数を特定する。一実施形態では、メディアプレゼンテーションの1つまたは複数の追跡される部分に対応する、第2の再生リストファイルの中で特定(418)されたメディアセグメントの数は、メディアプレゼンテーションの1つまたは複数の追跡される部分に対応する、クライアントデバイスによって要求されたメディアセグメントの数よりも小さい。
いくつかの実施形態では、HLSサーバ104は、408で、第1の可変ストリームからダウンロードされたメディアセグメントについて追跡されるシーケンス番号を使用して、同じコンテンツを有する、第2の可変ストリームからのメディアセグメントを決定する。特定の実施形態では、たとえば、第1の可変ストリームと第2の可変ストリームとからのメディアセグメントは、それぞれ704と702とにおける低ビットレートの可変ストリームと高ビットレートの可変ストリームとについて、図7で示した通り同じデュレーションを有し、お互いに揃っている。同じシーケンス番号を有する2つの可変ストリームからのメディアセグメントは、メディアプレゼンテーションの同じ部分に対応し、したがって、同じメディアコンテンツを有する。
これらの実施形態では、利用可能なネットワーク帯域幅が閾値帯域幅よりも小さく、第2の符号化ビットレートが第1の符号化ビットレートよりも高い時、第2の再生リストファイルは、第1の可変ストリームからの、クライアントデバイスによってダウンロードされた、メディアセグメントのシーケンス番号と異なるシーケンス番号を有するメディアセグメントのみを特定する(416)。利用可能なネットワーク帯域幅が閾値帯域幅よりも大きい場合、第2の再生リストファイルは、第1の可変ストリームからの、クライアントデバイスによってダウンロードされた、メディアセグメントと同じシーケンス番号を有するメディアセグメントの数を特定する(418)。特定の実施形態では、第1の可変ストリームからの、クライアントデバイスによってダウンロードされた、メディアセグメントと同じシーケンス番号を有する、第2の再生リストファイルの中で特定(418)されたメディアセグメントの数は、第1の可変ストリームからの、クライアントデバイスによってダウンロードされた、メディアセグメントと同じシーケンス番号を有するメディアセグメントについて要求された数よりも小さい。
一旦HLSサーバ104が第2の再生リストファイルの中でメディアセグメントを特定すると、420で再生リストが発行される。その後、クライアントデバイスは、第2の再生リストファイルの中で特定されたメディアセグメントをダウンロードして、メディアプレゼンテーションの再生をより高い符号化ビットレートへ切り替える処理を継続する。
図5および図6は、それぞれ、本内容のいくつかの実施形態による、低ビットレートの可変ストリームから高ビットレートの可変ストリームへ切り替えを行うクライアントデバイスの概略図500および概略図600である。特に図5は、第2の再生リストファイルの中で特定された第2のセットのメディアセグメントが、クライアントデバイスによってすでにダウンロードされたメディアプレゼンテーションのいかなる部分にも対応しない場合の実施形態を示している。これは、利用可能なネットワークの帯域幅が、図4の414で閾値帯域幅よりも下になった時に当てはまる。
502では、クライアントデバイスは、低ビットレートで符号化された第1の可変ストリームからメディアプレゼンテーションを再生している。クライアントデバイスは、low-12.tsをダウンロードし、すでにlow-11.tsを含んでいるクライアントデバイスのバッファにそれを追加しながら、low-10.tsを再生する。クライアントデバイスがlow-10.tsを再生し終えた時、クライアントデバイスは、504で、low-11.tsを再生し始める一方、low-13.tsをダウンロードし、それをそのバッファに追加する。移行時点506では、クライアントデバイスは高ビットレートの可変ストリームへの移行を開始する。時点506は、図4の410における、クライアントデバイスが第2の再生リストファイルを要求するステップに対応する。508では、クライアントデバイスは、そのバッファの中に残っている低ビットレートのメディアセグメントをまだ再生している間に、高ビットレートの可変ストリームからのメディアセグメントをダウンロードするステップに移行している。クライアントデバイスは、508および510で、それぞれlow-12.tsとlow-13.tsとを再生する一方、high-14.tsとhigh-15.tsとをダウンロードしている。
次の移行時点には512で到達する。ここでは、クライアントデバイスは、低ビットレートの可変ストリームからダウンロードしたメディアセグメントが入ったバッファを使い尽くしており、高ビットレートの可変ストリームからダウンロードしたメディアセグメントを再生し始める。514では、クライアントデバイスは、high-16.tsをダウンロードし、バッファしながら、508でダウンロードされ、バッファされたhigh-14.tsを再生する。514および516では、クライアントデバイスは高ビットレート再生に完全に移行している。
図6に示されている概略図は、第2の可変ストリームの第2の符号化ビットレートが第1の可変ストリームの第1の符号化ビットレートを超えている時に、処理部106が、第2の再生リストファイルの中で、追跡されるシーケンス番号のセット中のシーケンス番号と同じシーケンス番号を有する、第2の可変ストリームからのメディアセグメントの数を特定するように構成されている実施形態に一致している。この実施形態は、クライアントデバイスのユーザにより楽しい再生体験を提供することと、その一方でネットワーク資源(たとえば、帯域幅)のより効率的な使用を促進することとの間の妥協としての役割を果たす。
602では、クライアントデバイスは、low-14.tsをダウンロードし、それをそのバッファに追加しながらlow-10.tsを再生する。同様に、604では、クライアントデバイスは、low-15.tsをダウンロードし、それをそのバッファに追加しながらlow-11.tsを再生する。クライアントデバイスは、606で、第2の再生リストファイルを要求し、高ビットレートの可変ストリームへの移行を開始する。608では、そのバッファからlow-12.tsを再生しながら、クライアントデバイスは、そのバッファ中に記憶されているメディアセグメントlow-14.tsとメディアセグメントlow-15.tsとを、第2の再生リストファイルの中で特定されるメディアセグメントhigh-14.tsとメディアセグメントhigh-15.tsとで置き換える。ここで、第2の可変ストリームからの、追跡されるシーケンス番号のセットの中のシーケンス番号と同じシーケンス番号を有するメディアセグメントの数(すなわち、2)は、追跡されるシーケンス番号のセットの中のシーケンス番号と同じシーケンス番号を有する、第2の可変ストリームからのメディアセグメントについて要求された数(たとえば、3)よりも小さい。
608では、low-12.ts、low-13.ts、low-14.ts、およびlow-15.tsという、4つのメディアセグメントがクライアントデバイスのバッファ中に示されている。low-12.tsが再生されている一方、他の3つの再生はまだ開始していない。クライアントデバイスがより高い符号化ビットレートという形式で再生の品質の改善を要求したことを認識して、HLSサーバ104は、多くの方法で進めることができる。第1の実施形態では、十分なネットワークの帯域幅が利用可能な場合、HLSサーバ104は、クライアントデバイスに、そのバッファ中のすべての低ビットレートのメディアセグメントを、高ビットレートのメディアセグメントに置き換えさせる。HLSサーバ104は、第2の再生リストファイルの中で、追跡されるシーケンス番号のセットの中のシーケンス番号(すなわち、クライアントデバイスのバッファ中の低ビットレートのメディアセグメントのシーケンス番号)と同じシーケンス番号を有する、第2の可変ストリームからのメディアセグメントを特定することによってこれを行う。クライアントデバイスに、そのバッファからすべての低ビットレートのメディアセグメントをパージさせ、置き換えさせることによって、HLSサーバ104は、クライアントデバイスに最高品質の再生体験を提供する。
第2の正反対の実施形態では、利用可能なネットワーク帯域幅が限られており、HLSサーバ104は、ネットワーク資源のより効率的な使用を好む。ここでは、HLSサーバ104は、クライアントデバイスに、そのバッファ中の低ビットレートのメディアセグメントのうちの1つ、すなわちlow-15.tsのみを、その高ビットレートの同等物であるメディアセグメントhigh-15.tsを第2の再生リストファイルの中で特定することによって置き換えさせる。これにより、バッファされたメディアセグメントが置き換えられない、図5に対応する実施形態に対してよりもいくらか早く、クライアントデバイスが高品質な(すなわち、より高ビットレートの)再生に移行することが可能になる。
第3の実施形態は、クライアントデバイスのバッファ中の低ビットレートのメディアセグメントのうちの、すべてではないが1つより多くが、同じメディアコンテンツを含む高ビットレートのメディアセグメントで置き換えられて、以前の2つの間の妥協を提供する。これは、600で示す実施形態である。608では、low-14.tsおよびlow-15.tsが、下向きの矢印で示す通りクライアントデバイスのバッファから削除され、high-14.tsとhigh-15.tsとを第2の可変ストリームからバッファに追加することによって、置き換えられる。
第3の実施形態の特定の変形形態では、処理部106は、第2の可変ストリームからの、追跡されるシーケンス番号のセットの中のシーケンス番号と同じシーケンス番号を有する置換メディアセグメントの数を、クライアントデバイスについて利用可能なネットワーク帯域幅の容量、またはクライアントデバイスのバッファ中に記憶されたメディアコンテンツの量のうちの少なくとも1つに基づいて決定するように構成されている。一変形形態では、クライアントデバイスのバッファから交換されるメディアセグメントの数は、利用可能なネットワーク帯域幅の単調増加関数であり、HLSサーバ104内の処理要素110によって値が求められる。別の変形形態では、交換されるメディアセグメントの数は、処理要素110によってバッファ容量の割合として決定される。たとえば、バッファの容量が60秒であり、各バッファされたメディアセグメントのデュレーションが10秒である場合、3つのメディアセグメントがバッファ容量の50パーセントで交換される。
610では、クライアントデバイスは、612で高ビットレートのメディアセグメントの再生に移行する前に、バッファから置き換えられていない最後の低ビットレートのメディアセグメントlow-13.tsをバッファから再生する。614および616では、移行が完了し、クライアントデバイスは、メディアプレゼンテーションが終わるまで、またはクライアントデバイスが再び可変ストリームを切り替えるまでのいずれかまで、第2の可変ストリームからの高ビットレートのメディアセグメントのダウンロードと再生の両方を継続する。
これらの内容によって開示した実施形態を実装することによって、現在の最先端のメディアストリーミングネットワークに対して大きな利益を実現することができる。クライアントデバイスによってダウンロードされる、メディアプレゼンテーションの同じ部分に対応する、異なる可変ストリームからのメディアセグメントの数を削減または削除することによって、ネットワーク資源に求められる要求を減少させる。これは、メディアセグメント内のIDRフレームを異なる可変ストリームにわたって揃えて、移行時点における再生を同期するために重複するセグメントをダウンロードする必要なしに、これらのストリーム間での途切れのない移行を可能にすることによって、達成することができる。
前述の明細書では特定の実施形態を説明した。しかしながら、当業者は、以下の特許請求の範囲に明記する本発明の範囲から逸脱せずに、様々な修正および変更を行うことができるということを理解するであろう。したがって、明細書および図は、限定的意味というよりも説明的意味とみなされるものであり、すべてのそのような修正は、本内容の範囲内に含まれるよう意図されている。
利益、利点、課題を解決するための手段、および、何らかの利益、利点、もしくは解決するための手段を生じ得るいかなる要素、またはより明白になり得るいかなる要素も、請求の範囲のいずれか一項または全項の、重要な、必須の、または本質的な特徴または要素とは解釈されない。本発明は、本特許出願の係属中になされる補正と、特許にされる特許請求の範囲のすべての均等物とを含んで、添付の特許請求の範囲によってのみ定められる。
さらに、本明細書では、第1および第2、上および下、などの相対的な用語は、ある存在物または動作を別の存在物または動作と区別するためのみに使用され得、必ずしもそのような存在物または動作の間の、実際のそのような関係または順番を要求または暗示していない。「備える」、「備えている」、「有する」、「有している」、「含む」、「含んでいる」、「包含する」、「包含している」という用語、またはそれらの他の変形形態は、非排他的に含めることを意図し、要素の一覧を備え、有し、含み、包含する処理、方法、品物、または装置は、それらの要素のみを含むわけでなく、一覧に明示的に載っていない他の要素、またはそのような処理、方法、品物、または装置に固有の他の要素も含み得る。「…を備える」、「…を有する」、「…を含む」、または「…を包含する」が後に続く要素は、より多くの制約なしに、その要素を備え、有し、含み、包含する処理、方法、品物、または装置の中の追加的な同一の要素の存在を除外しない。「1つ」という用語は、本明細書で明示的に別のことが述べられない限り、1つまたは複数として定義される。「実質的に」、「本質的に」、「近似的に」、「約」という用語、またはそれらの他のバージョンは、当業者によって理解される通り、近いこととして定義され、ある非限定的な実施形態では、その用語は10%以内、別の実施形態では5%以内、別の実施形態では1%以内、および別の実施形態では0.5%以内であると定義される。本明細書で使用する「結合される」という用語は、必ずしも直接でなく、必ずしも機械的でないが、接続されているとして定義される。特定のやり方で「構成されている」デバイスまたは構造は、少なくともそのやり方で構成されているが、記載されていないやり方でも構成されてよい。
いくつかの実施形態が、マイクロプロセッサ、デジタル信号プロセッサ、特注プロセッサおよびフィールドプログラマブルゲートアレイ(FPGA)などの、1つまたは複数の汎用プロセッサまたは専用プロセッサ(または「処理デバイス」)と、特定の非プロセッサ回路と連動して、本明細書で説明した方法および/または装置の機能のうちの一部、ほとんど、または全部を実装するために1つまたは複数のプロセッサを制御する、(ソフトウェアとファームウェアの両方を含む)固有の、記憶されたプログラム命令とから成り得ることが理解されるであろう。代替的に、一部のまたは全部の機能が、記憶されたプログラム命令を有さない状態機械によって、または各機能またはいくつかの機能のある組合せがカスタム論理として実装されている、1つまたは複数の特定用途向け集積回路(ASIC)で実装されてよい。もちろん、2つのやり方の組合せを使用することができる。
さらに、(たとえば、プロセッサを備える)コンピュータを、本明細書で説明し、特許請求される方法を実行するようにプログラムするために、コンピュータ可読コードが記憶されたコンピュータ可読記憶媒体として、実施形態を実装することができる。そのようなコンピュータ可読記憶媒体の例は、ハードディスクと、CD-ROMと、光学式記憶デバイスと、磁気記憶デバイスと、ROM(リードオンリメモリ)と、PROM(プログラム可能リードオンリメモリ)と、EPROM(消去プログラム可能リードオンリメモリ)と、EEPROM(電気的消去プログラム可能リードオンリメモリ)と、フラッシュメモリとを含むが、これらに限定されない。さらに、できる限り大きな努力と、たとえば、利用可能な時間と、現在のテクノロジーと、経済的考慮とによって動機付けられる設計の選択肢の多さにも関わらず、本明細書で開示した概念と原理とによって導かれた時、当業者は、そのようなソフトウェア命令およびプログラムと、ICとを、最小限の実験を用いて容易に生み出すことができると予測される。
読者が本技術的な開示の本質をすばやく確かめることを可能にするために、要約書を提供する。それは、それが特許請求の範囲またはその意味を解釈または限定するために使用されないという理解のもとに提出された。加えて、前述の発明を実施するための形態では、開示を簡素化する目的のために、様々な特徴が様々な実施形態の中でグループ化されていることを理解することができる。この開示の方法は、特許請求の範囲の実施形態が、各請求項の中で明示的に列挙されたものよりも多くの特徴を必要とするという意図を反映しているものとして解釈されない。むしろ、以下の特許請求の範囲が反映する通り、発明の主題は、1つの開示された実施形態のすべての特徴よりも少ないものの中にある。したがって、以下の特許請求の範囲は、本明細書によって、発明を実施するための形態に組み込まれ、各請求項は、別々に請求される主題として独自の働きをしている。
100 システム
102 メディアソース
104 HLSサーバ
106 HLS処理部
108 ウェブサーバ
110 処理要素
112 メディアエンコーダ
114 ストリームセグメンタ
116 パッケージ生成部
118 ディスク記憶装置
120 可変再生リストファイル
122 再生リスト、再生リストA
124 再生リスト、再生リストB
126 再生リスト、再生リストC
128 HTTP対応ネットワーク
130 クライアントデバイス、ノートパソコン
132 クライアントデバイス、携帯電話
134 クライアントデバイス、タブレット
136 リンク、接続
138 リンク、接続
140 リンク、接続
142 リンク、接続
144 リンク、接続
306 移行時点
312 移行時点
506 移行時点
512 移行時点
606 移行時点
612 移行時点
702 可変ストリーム、高ビットレート可変ストリーム
704 可変ストリーム、低ビットレート可変ストリーム
706 可変ストリーム、中ビットレート可変ストリーム

Claims (20)

  1. 複数の可変ストリームからメディアセグメントを提供するための方法であって、
    同じメディアプレゼンテーションの異なる符号化に各々が対応する複数の可変ストリームを特定する可変再生リストファイルをクライアントデバイスに提供するステップと、
    前記可変再生リストファイルに関連する第1の可変ストリームのための第1の再生リストファイルに対応する第1のメディアセグメントのセットを追跡するステップであって、前記第1のメディアセグメントのセットが第1の符号化ビットレートで符号化される、ステップと、
    第2の可変ストリームに対応する第2のメディアセグメントのセットに関連する第2の符号化ビットレートが、前記第1の符号化ビットレートよりも高いことに応答して、
    前記第1のメディアセグメントのセットに対応する第2のメディアセグメントのセットから複数のメディアセグメントに含めるために、前記クライアントデバイスが使用可能であるネットワーク帯域幅の容量に基づき、メディアセグメントの数を決定するステップと、
    前記第1のメディアセグメントのセットの各々に対応する前記第2のメディアセグメントのセットから複数のメディアセグメントを特定する第2の再生リストファイルを前記クライアントデバイスに提供するステップと
    を含む、方法。
  2. 前記第2の符号化ビットレートが前記第1の符号化ビットレートよりも低いことに応答して、
    前記第2のメディアセグメントのセットから前記複数のメディアセグメントを特定する前記第2の再生リストファイルを前記クライアントデバイスに提供するステップであって、前記第2の再生リストファイルが、前記第1のメディアセグメントのセットの最も大きいシーケンス番号を超えるシーケンス番号を有するメディアセグメントのみを特定する、ステップ
    をさらに含む、請求項1に記載の方法。
  3. 前記第2の再生リストファイルについての要求に応答して、前記クライアントデバイスのための前記第2の再生リストファイルを動的に作成するステップ
    をさらに含む、請求項1に記載の方法。
  4. 前記メディアプレゼンテーションが、ビデオオンデマンド・プレゼンテーションであり、前記第1の再生リストファイルが、前記メディアプレゼンテーションに対する全てのメディアセグメントを特定する、請求項3に記載の方法。
  5. 前記第2のメディアセグメントのセットからの前記複数のメディアセグメントが、前記第2のメディアセグメントのセットからの前記複数のメディアセグメントに対応する、ユニフォームリソースロケータのセットまたは情報タグのセットのうちの少なくとも1つを使用して、特定される、請求項1に記載の方法。
  6. 前記第2の再生リストファイルにおいて特定される前記複数のメディアセグメントの数が、前記第1のメディアセグメントのセットにおけるメディアセグメントの数よりも小さい、請求項1に記載の方法。
  7. 前記第2のメディアセグメントのセットから前記複数のメディアセグメントに含めるためにメディアセグメントの前記数を決定するステップが、前記クライアントデバイスのバッファに記憶されたメディアコンテンツの量に基づく、請求項1に記載の方法。
  8. 各メディアセグメントが、瞬時復号リフレッシュフレームから始まるグループオブピクチャを含む、請求項1に記載の方法。
  9. 各メディアセグメントが、ハイパーテキスト転送プロトコルを使用して前記クライアントデバイスに配信される、請求項1に記載の方法。
  10. 各メディアセグメントが、関連するシーケンス番号を有し、
    前記第1のメディアセグメントのセットからの第1のメディアセグメント、および前記第2のメディアセグメントのセットからの第2のメディアセグメントは、前記第1のメディアセグメントが、前記メディアプレゼンテーションの、前記第2のメディアセグメントと同じ部分に対応する場合に、共通のシーケンス番号を有する、請求項1に記載の方法。
  11. 複数の可変ストリームからメディアセグメントを提供するためのシステムであって、
    プロセッサと、
    複数のステップを実行するために前記プロセッサによって実行可能な命令を記憶するコンピュータ可読記録媒体とを備え、前記複数のステップが、
    同じメディアプレゼンテーションの異なる符号化に各々が対応する複数の可変ストリームを特定する可変再生リストファイルをクライアントデバイスに提供するステップと、
    前記可変再生リストファイルに関連する第1の可変ストリームのための第1の再生リストファイルに対応する第1のメディアセグメントのセットを追跡するステップであって、前記第1のメディアセグメントのセットが第1の符号化ビットレートで符号化される、ステップと、
    第2の可変ストリームに対応する第2のメディアセグメントのセットに関連する第2の符号化ビットレートが、前記第1の符号化ビットレートよりも高いことに応答して、
    前記第1のメディアセグメントのセットに対応する第2のメディアセグメントのセットから複数のメディアセグメントに含めるために、前記クライアントデバイスが使用可能であるネットワーク帯域幅の容量に基づき、メディアセグメントの数を決定するステップと、
    前記第1のメディアセグメントのセットの各々に対応する前記第2のメディアセグメントのセットから複数のメディアセグメントを特定する第2の再生リストファイルを前記クライアントデバイスに提供するステップと
    を含む、システム。
  12. 前記命令は、
    前記第2の符号化ビットレートが前記第1の符号化ビットレートよりも低いことに応答して、
    前記第2のメディアセグメントのセットから前記複数のメディアセグメントを特定する前記第2の再生リストファイルを前記クライアントデバイスに提供するステップであって、前記第2の再生リストファイルが、前記第1のメディアセグメントのセットの最も大きいシーケンス番号を超えるシーケンス番号を有するメディアセグメントのみを特定する、ステップ
    をさらに実行するために前記プロセッサにより実行可能である、請求項11に記載のシステム。
  13. 前記命令は、
    前記第2の再生リストファイルについての要求に応答して、前記クライアントデバイスのための前記第2の再生リストファイルを動的に作成するステップ
    をさらに実行するために前記プロセッサにより実行可能である、請求項11に記載のシステム。
  14. 前記メディアプレゼンテーションが、ビデオオンデマンド・プレゼンテーションであり、前記第1の再生リストファイルが、前記メディアプレゼンテーションに対する全てのメディアセグメントを特定する、請求項13に記載のシステム。
  15. 前記第2のメディアセグメントのセットからの前記複数のメディアセグメントが、前記第2のメディアセグメントのセットからの前記複数のメディアセグメントに対応する、ユニフォームリソースロケータのセットまたは情報タグのセットのうちの少なくとも1つを使用して、特定される、請求項11に記載のシステム。
  16. 前記第2の再生リストファイルにおいて特定される前記複数のメディアセグメントの数が、前記第1のメディアセグメントのセットにおけるメディアセグメントの数よりも小さい、請求項11に記載のシステム。
  17. 前記第2のメディアセグメントのセットから前記複数のメディアセグメントに含めるためにメディアセグメントの前記数を決定するステップが、前記クライアントデバイスのバッファに記憶されたメディアコンテンツの量に基づく、請求項11に記載のシステム。
  18. 各メディアセグメントが、瞬時復号リフレッシュフレームから始まるグループオブピクチャを含む、請求項11に記載のシステム。
  19. 各メディアセグメントが、ハイパーテキスト転送プロトコルを使用して前記クライアントデバイスに配信される、請求項11に記載のシステム。
  20. 各メディアセグメントが、関連するシーケンス番号を有し、
    前記第1のメディアセグメントのセットからの第1のメディアセグメント、および前記第2のメディアセグメントのセットからの第2のメディアセグメントは、前記第1のメディアセグメントが、前記メディアプレゼンテーションの、前記第2のメディアセグメントと同じ部分に対応する場合に、共通のシーケンス番号を有する、請求項11に記載のシステム。
JP2018169543A 2012-11-20 2018-09-11 メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置 Active JP6648223B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/681,797 US9537917B2 (en) 2012-11-20 2012-11-20 Method and apparatus for streaming media content to client devices
US13/681,797 2012-11-20

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018008715A Division JP6404505B2 (ja) 2012-11-20 2018-01-23 メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置

Publications (2)

Publication Number Publication Date
JP2019036967A true JP2019036967A (ja) 2019-03-07
JP6648223B2 JP6648223B2 (ja) 2020-02-14

Family

ID=49584779

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2015543068A Active JP6282664B2 (ja) 2012-11-20 2013-10-28 メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置
JP2018008715A Active JP6404505B2 (ja) 2012-11-20 2018-01-23 メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置
JP2018169543A Active JP6648223B2 (ja) 2012-11-20 2018-09-11 メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2015543068A Active JP6282664B2 (ja) 2012-11-20 2013-10-28 メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置
JP2018008715A Active JP6404505B2 (ja) 2012-11-20 2018-01-23 メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置

Country Status (5)

Country Link
US (4) US9537917B2 (ja)
EP (2) EP2923493B1 (ja)
JP (3) JP6282664B2 (ja)
CN (2) CN108600784B (ja)
WO (1) WO2014081530A1 (ja)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1409058A2 (en) 2000-01-28 2004-04-21 William Cook Europe ApS Endovascular medical device with plurality of wires
KR101750048B1 (ko) 2009-11-13 2017-07-03 삼성전자주식회사 변속 재생 서비스 제공 방법 및 장치
KR20110105710A (ko) * 2010-03-19 2011-09-27 삼성전자주식회사 복수의 챕터를 포함하는 콘텐트를 적응적으로 스트리밍하는 방법 및 장치
US20130067346A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation Content User Experience
TWI533678B (zh) * 2014-01-07 2016-05-11 緯創資通股份有限公司 即時轉播同步方法以及使用該方法的系統
US9583015B2 (en) * 2014-05-01 2017-02-28 Pearson Education, Inc. Contemporaneous capture and tagging of media evidence for education evaluation
EP2942971B8 (en) * 2014-05-08 2019-07-17 Icomera AB Method and system for bandwidth constrained media streaming to a moving vehicle
US10686709B2 (en) * 2014-07-14 2020-06-16 Qualcomm Incorporated Methods and apparatus for channel usage indication
US10324733B2 (en) 2014-07-30 2019-06-18 Microsoft Technology Licensing, Llc Shutdown notifications
US9836464B2 (en) 2014-07-31 2017-12-05 Microsoft Technology Licensing, Llc Curating media from social connections
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US9787576B2 (en) 2014-07-31 2017-10-10 Microsoft Technology Licensing, Llc Propagating routing awareness for autonomous networks
US10018844B2 (en) 2015-02-09 2018-07-10 Microsoft Technology Licensing, Llc Wearable image display system
US11086216B2 (en) 2015-02-09 2021-08-10 Microsoft Technology Licensing, Llc Generating electronic components
US9827209B2 (en) 2015-02-09 2017-11-28 Microsoft Technology Licensing, Llc Display system
US10804958B2 (en) * 2015-02-24 2020-10-13 Comcast Cable Communications, Llc Multi-bitrate video with dynamic blocks
US9979765B2 (en) * 2015-05-11 2018-05-22 Apple Inc. Adaptive connection switching
KR101916022B1 (ko) * 2015-10-06 2018-11-07 한국전자통신연구원 세그먼트 기반의 방송 콘텐츠 반복 전송 방법 및 장치
US10499088B1 (en) * 2015-10-20 2019-12-03 Halogen Networks, LLC Live video streaming system and method
US10433023B1 (en) * 2015-10-27 2019-10-01 Amazon Technologies, Inc. Heuristics for streaming live content
CN105915994A (zh) * 2015-11-16 2016-08-31 乐视致新电子科技(天津)有限公司 一种视频播放方法和装置
WO2017092805A1 (en) * 2015-12-02 2017-06-08 Telefonaktiebolaget Lm Ericsson (Publ) Data rate adaptation for multicast delivery of streamed content
EP3384674A1 (en) * 2015-12-04 2018-10-10 Telefonaktiebolaget LM Ericsson (publ) Technique for adaptive streaming of temporally scaling media segment levels
CN105635775B (zh) * 2015-12-30 2019-09-24 惠州Tcl移动通信有限公司 一种移动终端视频播放的节电方法、系统及移动终端
US9894366B2 (en) 2016-01-28 2018-02-13 Arris Enterprises Llc Variant and buffer handling for adaptive bitrate streaming
GB2548789B (en) * 2016-02-15 2021-10-13 V Nova Int Ltd Dynamically adaptive bitrate streaming
US10999614B2 (en) 2016-03-31 2021-05-04 Rovi Guides, Inc. Methods and systems for efficiently downloading media assets
WO2017218522A1 (en) * 2016-06-13 2017-12-21 Arris Enterprises Llc Reduction of startup time in remote hls clients
CN106131610A (zh) * 2016-06-28 2016-11-16 乐视控股(北京)有限公司 在线播放视频的方法、设备及装置
US10200434B1 (en) * 2016-09-12 2019-02-05 Amazon Technologies, Inc. Encoding markers in transport streams
US11856264B2 (en) 2016-11-15 2023-12-26 Google Llc Systems and methods for reducing download requirements
US20180183845A1 (en) * 2016-12-22 2018-06-28 Facebook, Inc. Systems and methods for providing content
CN108574880A (zh) * 2017-03-07 2018-09-25 合网络技术(北京)有限公司 多媒体资源播放方法及装置
EP3393129A1 (en) * 2017-04-21 2018-10-24 Alcatel-Lucent España, S.A. Multimedia content delivery with reduced delay
EP3410728A1 (en) 2017-05-30 2018-12-05 Vestel Elektronik Sanayi ve Ticaret A.S. Methods and apparatus for streaming data
US10785092B2 (en) 2017-07-28 2020-09-22 Skitter, Inc. System and method for providing fault tolerant streaming of segmented content and cache coherency on multi-hosted origin systems
CN109792394B (zh) * 2017-08-15 2021-05-11 谷歌有限责任公司 使用多播的流式带宽的优化利用
US10616666B1 (en) 2018-02-27 2020-04-07 Halogen Networks, LLC Interactive sentiment-detecting video streaming system and method
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
US10728305B2 (en) 2018-07-24 2020-07-28 At&T Intellectual Property I, L.P. Adaptive bitrate streaming techniques
US11089346B2 (en) 2018-07-24 2021-08-10 At&T Intellectual Property I, L.P. Adaptive bitrate streaming techniques
US10728630B2 (en) 2018-07-24 2020-07-28 At&T Intellectual Property I, L.P. Adaptive bitrate streaming techniques
US10728588B2 (en) 2018-07-24 2020-07-28 At&T Intellectual Property I, L.P. Adaptive bitrate streaming techniques
US10986149B2 (en) * 2018-09-17 2021-04-20 Google Llc Methods, systems, and media for delivering manifestless streaming media content
US10582232B1 (en) * 2018-10-31 2020-03-03 Amazon Technologies, Inc. Transcoding frame-synchronous metadata for segmented video delivery
CN111131764B (zh) * 2018-11-01 2021-06-15 腾讯科技(深圳)有限公司 资源兑换视频数据处理方法、计算机设备和存储介质
US10880354B2 (en) * 2018-11-28 2020-12-29 Netflix, Inc. Techniques for encoding a media title while constraining quality variations
US10841356B2 (en) 2018-11-28 2020-11-17 Netflix, Inc. Techniques for encoding a media title while constraining bitrate variations
US10893309B2 (en) * 2018-12-26 2021-01-12 Arris Enterprises Llc Method and apparatus for automatic HLS bitrate adaptation
EP3687176A1 (en) * 2019-01-22 2020-07-29 InterDigital CE Patent Holdings A client and a method for managing, at the client, a streaming session of a multimedia content
US11757965B2 (en) 2019-02-19 2023-09-12 Apple Inc. Low latency streaming media
US11695817B2 (en) * 2019-03-20 2023-07-04 Qualcomm Incorporated Methods and apparatus to facilitate using a streaming manifest including a profile indication
US11128688B2 (en) * 2019-10-16 2021-09-21 Disney Enterprises, Inc. Transcoder conditioning for segment fluidity
GB2603422B (en) * 2019-10-18 2023-10-04 Novi Digital Entertainment Private Ltd System and method for real-time delivery of a target content in a streaming content
US11064194B2 (en) * 2019-10-31 2021-07-13 Western Digital Technologies, Inc. Encoding digital videos using controllers of data storage devices
US11076188B1 (en) * 2019-12-09 2021-07-27 Twitch Interactive, Inc. Size comparison-based segment cancellation
US11438545B2 (en) 2019-12-23 2022-09-06 Carrier Corporation Video image-based media stream bandwidth reduction
US11463651B2 (en) 2019-12-23 2022-10-04 Carrier Corporation Video frame-based media stream bandwidth reduction
CN115152241A (zh) * 2020-02-04 2022-10-04 杜比国际公司 用于媒体内容的自适应播放的方法和设备
CN111356028A (zh) * 2020-03-16 2020-06-30 南京巨鲨显示科技有限公司 流媒体服务实现文件序列点播的方法和装置
JP7438835B2 (ja) * 2020-04-21 2024-02-27 株式会社東芝 サーバ装置、通信システム、プログラムおよび情報処理方法
CN111417031B (zh) * 2020-04-28 2022-05-31 北京金山云网络技术有限公司 文件传输方法、装置以及电子设备
US11153581B1 (en) 2020-05-19 2021-10-19 Twitch Interactive, Inc. Intra-segment video upswitching with dual decoding
JP2023554289A (ja) * 2020-12-16 2023-12-27 ドルビー ラボラトリーズ ライセンシング コーポレイション マルチソースメディア配信システム及び方法
CN112788339B (zh) * 2020-12-30 2023-01-10 北京大数据研究院 视频编码优化方法、装置、系统、介质及终端
CN112822549B (zh) * 2020-12-30 2022-08-05 北京大学 基于分片重组的视频流解码方法、系统、终端及介质
CN113384872A (zh) * 2021-05-12 2021-09-14 网易(杭州)网络有限公司 在微端中处理信息资源的方法、装置、电子设备及存储介质
EP4300916A1 (en) * 2022-06-27 2024-01-03 Streamroot A controller for controlling a player in a peer-to-peer network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080109865A1 (en) * 2006-11-03 2008-05-08 Apple Computer, Inc. Dynamic adjustments of video streams
US20110246621A1 (en) * 2010-04-01 2011-10-06 May Jr William Real-time or near real-time streaming
US20120005368A1 (en) * 2010-06-30 2012-01-05 Cable Television Laboratories, Inc. Adaptive bit rate method and system using retransmission and replacement
US20120263434A1 (en) * 2011-04-14 2012-10-18 Cisco Technology, Inc. Per-Subscriber Adaptive Bit Rate Stream Management Method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473628B2 (en) * 2008-08-29 2013-06-25 Adobe Systems Incorporated Dynamically altering playlists
CN102282804B (zh) 2008-11-24 2015-08-12 瞻博网络公司 自适应网络内容传送系统
KR101233582B1 (ko) * 2008-12-31 2013-02-15 애플 인크. 비-스트리밍 프로토콜을 통해 멀티미디어 데이터를 스트리밍하기 위한 방법
US20100169303A1 (en) * 2008-12-31 2010-07-01 David Biderman Playlists for real-time or near real-time streaming
WO2010135333A1 (en) 2009-05-19 2010-11-25 Beaumaris Networks Inc. Methods, apparatus and computer readable medium for managed adaptive bit rate for bandwidth reclamation
TWI451279B (zh) * 2010-04-07 2014-09-01 Apple Inc 即時或接近即時串流傳輸之內容存取控制
US20120110628A1 (en) 2010-10-27 2012-05-03 Candelore Brant L Storage of Adaptive Streamed Content
CN102790779B (zh) * 2011-05-16 2016-04-13 腾讯科技(深圳)有限公司 一种直播视频资源下载方法和装置
EP2769523A4 (en) * 2011-10-17 2015-07-22 Ericsson Telefon Ab L M ADAPTIVE CONTINUOUS DIFFUSION METHOD, LOCAL STORAGE AND ENHANCED POST-STORAGE QUALITY OF A CONTENT FILE

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080109865A1 (en) * 2006-11-03 2008-05-08 Apple Computer, Inc. Dynamic adjustments of video streams
US20110246621A1 (en) * 2010-04-01 2011-10-06 May Jr William Real-time or near real-time streaming
US20120005368A1 (en) * 2010-06-30 2012-01-05 Cable Television Laboratories, Inc. Adaptive bit rate method and system using retransmission and replacement
US20120263434A1 (en) * 2011-04-14 2012-10-18 Cisco Technology, Inc. Per-Subscriber Adaptive Bit Rate Stream Management Method

Also Published As

Publication number Publication date
US10129317B2 (en) 2018-11-13
CN108600784A (zh) 2018-09-28
US9854021B2 (en) 2017-12-26
JP6282664B2 (ja) 2018-02-21
JP2016502804A (ja) 2016-01-28
US9537917B2 (en) 2017-01-03
USRE49290E1 (en) 2022-11-08
CN105052160A (zh) 2015-11-11
EP3579567B1 (en) 2024-04-10
EP3579567A1 (en) 2019-12-11
CN105052160B (zh) 2018-08-17
EP2923493B1 (en) 2019-09-04
WO2014081530A1 (en) 2014-05-30
CN108600784B (zh) 2020-11-10
EP2923493A1 (en) 2015-09-30
JP2018085764A (ja) 2018-05-31
JP6404505B2 (ja) 2018-10-10
US20180124147A1 (en) 2018-05-03
US20140143439A1 (en) 2014-05-22
US20170163708A1 (en) 2017-06-08
JP6648223B2 (ja) 2020-02-14

Similar Documents

Publication Publication Date Title
JP6648223B2 (ja) メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置
JP6346899B2 (ja) メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置
US10911512B2 (en) Personalized content streams using aligned encoded content segments
US11627350B2 (en) Advanced trick-play modes for streaming video
US9191725B2 (en) Method and apparatus for streaming video
WO2013008867A1 (ja) 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体
US20140337903A1 (en) Seamless trick-mode with decreased latency for live transcode streaming
US10136193B2 (en) Supporting trickplay of streaming DLNA multimedia by HLS access device
TW201644269A (zh) 內容重製系統、內容重製裝置、程式、內容重製方法、及提供內容伺服器
KR101863598B1 (ko) 스트리밍 서비스를 위한 클라이언트의 동작 방법
JP2016059018A (ja) 配信装置、再生装置および配信システム
WO2014171385A1 (ja) サーバ装置、コンテンツ提供方法及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181002

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200115

R150 Certificate of patent or registration of utility model

Ref document number: 6648223

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