[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2015501090A - ネットワークを通じてのメディアデータのストリーミングに関するセグメントの特徴のシグナリング - Google Patents

ネットワークを通じてのメディアデータのストリーミングに関するセグメントの特徴のシグナリング Download PDF

Info

Publication number
JP2015501090A
JP2015501090A JP2014532006A JP2014532006A JP2015501090A JP 2015501090 A JP2015501090 A JP 2015501090A JP 2014532006 A JP2014532006 A JP 2014532006A JP 2014532006 A JP2014532006 A JP 2014532006A JP 2015501090 A JP2015501090 A JP 2015501090A
Authority
JP
Japan
Prior art keywords
segment
segments
priority value
computing device
combination
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
JP2014532006A
Other languages
English (en)
Other versions
JP6058677B2 (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2015501090A publication Critical patent/JP2015501090A/ja
Application granted granted Critical
Publication of JP6058677B2 publication Critical patent/JP6058677B2/ja
Expired - Fee Related 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • 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/23439Processing 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 for generating different versions
    • 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/1066Session management
    • H04L65/1083In-session procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/80Responding to QoS
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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/234327Processing 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 decomposing into layers, e.g. base layer and one or more enhancement layers

Landscapes

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

Abstract

映像データがサーバから取り出される。映像データの取り出し中に、クライアントデバイスは、マルチメディアコンテンツの表現のビットレートを示す情報を受信する。さらに、クライアントデバイスは、表現のセグメントに関する優先度値を示す情報を受信する。セグメントは、表現の特定の時間的セクションに対応する。クライアントデバイスは、セグメントに関する優先度値及び推定されるスループットに基づいてセグメントのうちの選択された幾つかを要求する。幾つかの例では、クライアントデバイスは、適応型ストリーミングネットワークプロトコル、例えば、HTTPを通じてのダイナミックアダプティブストリーミング(DASH)、によりセグメントを要求する。

Description

本出願は、ここにおける引用によってその内容全体が組み入れられている米国仮特許出願第61/537,407号(出願日:2011年9月21日)の利益を主張するものである。
本開示は、ネットワークを通じてのメディアデータのストリーミングに関するものである。
通信ネットワークを通じてメディアデータをストリーミングするために数多くの技術が開発されている。これらの技術は、ハイパーテキストトランスファープロトコルストリーミング(HTTPストリーミング)、例えば、HTTPを通じてのダイナミックアダプティブストリーミング(DASH)を含む。DASHでは、マルチメディアコンテンツは様々な異なる方法で符号化され、マルチメディアコンテンツの異なる表現(representation)を生み出す。それらの表現の各々は、一連のセグメントに分割される。セグメントは、マルチメディアコンテンツのサンプルを表現するデータを含む。例えば、各々のセグメントは、マルチメディアコンテンツのサンプルの異なる3秒のシーケンスを表現することができる。セグメントの各々は、異なるユニフォームリソースロケータ(URL)を有することができる。
DASHでは、クライアントデバイスが、マルチメディアコンテンツの様々な表現の特徴を記述するマニフェストファイル(manifest file)を受信する。マニフェストファイルは、表現のセグメントのURLを示す情報を含むことができる。サーバデバイスからマルチメディアコンテンツのデータをストリーミングするときには、クライアントは、要求、例えば、GET要求又は部分的GET要求を経時でサーバに送信する。要求は、マニフェストファイル内で示された特定の表現のセグメントに関するURLを指定する。クライアントデバイスは、サーバデバイスからセグメントを受信すると、それらのセグメントを処理して(例えば、セグメントのコーディングされた映像データを復号及びレンダリングして)セグメントによって表現されるメディアコンテンツのサンプルを提示する。
概して、本開示の技法は、ネットワークを通じてサーバデバイスからクライアントデバイスにマルチメディアコンテンツのデータをストリーミング時のユーザの経験を向上させるための情報を提供すること及び使用することを対象とする。マルチメディアコンテンツの様々な表現が様々なビットレートで符号化される。より高いビットレートの表現は、相対的により高い再生品質を提供することができ、他方、より低いビットレートの表現は、より効率的な帯域幅の利用を提供することができる。コンテンツ準備デバイスが表現を形成する。さらに、コンテンツ準備デバイスは、マルチメディアコンテンツのセグメントに関する優先度をシグナリングする優先度値を生成することができる。幾つかの例では、特定のセグメントに関する優先度値は、クライアントデバイスが相対的により高いビットレートの表現又はより低いビットレートの表現のいずれからセグメントに関するデータを要求すべきかを示す。この方法により、クライアントデバイスは、様々な表現の優先度を記述する情報を入手し、優先度に基づいてマルチメディアコンテンツのセグメントを取り出す表現を決定することができる。
一例では、本開示は、映像データを処理するための方法について説明する。方法は、推定されるスループットを決定することを備える。方法は、推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、それらのセグメントのうちの1つ以上を選択することも備える。表現は、映像データが異なるビットレートで符号化され、セグメントの各々が個々に取り出し可能であり、及びセグメントが表現の特定の時間的セクションに対応することを含む。方法は、1つ以上の選択されたセグメントを処理することも備える。
他の例では、本開示は、推定されるスループットを決定するように構成された1つ以上のプロセッサを備えるコンピューティングデバイスについて説明する。1つ以上のプロセッサは、推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、それらのセグメントのうちの1つ以上を選択するように構成される。表現は、映像データが異なるビットレートで符号化され、セグメントの各々が個々に取り出し可能であり、及びセグメントが表現の特定の時間的セクションに対応することを含む。1つ以上のプロセッサは、1つ以上の選択されたセグメントを処理するようにも構成される。
さらに他の例では、本開示は、推定されるスループットを決定するための手段を備えるコンピューティングデバイスについて説明する。コンピューティングデバイスは、推定されたスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、それらのセグメントのうちの1つ以上を選択するための手段も備える。表現は、映像データが異なるビットレートで符号化され、セグメントの各々が個々に取り出し可能であり、及びセグメントが表現の特定の時間的セクションに対応することを含む。さらに、コンピューティングデバイスは、1つ以上の選択されたセグメントを処理するための手段を備える。
さらに他の例では、本開示は、実行されたときに、推定されるスループットを決定することをプロセッサに行わせる命令を格納するコンピュータによって読み取り可能な記憶媒体について説明する。命令は、推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、それらのセグメントのうちの1つ以上を選択することもプロセッサに行わせる。表現は、映像データが異なるビットレートで符号化され、セグメントの各々が個々に取り出し可能であり、及びセグメントが表現の特定の時間的セクションに対応することを含む。命令は、1つ以上の選択されたセグメントを処理することもプロセッサに行わせる。
さらに他の例では、本開示は、適応型ストリーミングネットワークプロトコルを介して映像データを提供するための方法について説明する。方法は、セグメントに関する優先度値を示す情報を送信することを備える。セグメントの各々は、個々に取り出し可能である。セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応する。マルチメディアコンテンツの表現の各々は、異なるビットレートで符号化された映像データを含む。さらに、方法は、クライアントデバイスからの1つ以上の要求に応答して適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信することを備え、要求されたセグメントは、セグメントのうちの要求によって指定されたそれらである。
さらに他の例では、本開示は、セグメントに関する優先度値を示す情報を送信するように構成された1つ以上のプロセッサを備えるコンピューティングデバイスについて説明する。セグメントの各々は、個々に取り出し可能である。セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応する。マルチメディアコンテンツの表現の各々は、異なるビットレートで符号化された映像データを含む。1つ以上のプロセッサは、クライアントデバイスからの1つ以上の要求に応答して適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信するようにも構成される。要求されたセグメントは、セグメントのうちの要求によって指定されたそれらである。
さらに他の例では、本開示は、セグメントに関する優先度値を示す情報を送信するための手段を備えるコンピューティングデバイスについて説明する。セグメントの各々は、個々に取り出し可能である。セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応する。マルチメディアコンテンツの表現の各々は、異なるビットレートで符号化された映像データを含む。コンピューティングデバイスは、クライアントデバイスからの1つ以上の要求に応答して適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信するための手段も備える。要求されたセグメントは、セグメントのうちの要求によって指定されたそれらである。
さらに他の例では、本開示は、実行されたときに、セグメントに関する優先度値を示す情報を送信することをプロセッサに行わせる命令を格納したコンピュータによって読み取り可能な記憶媒体について説明する。セグメントの各々は、個々に取り出し可能である。セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応する。マルチメディアコンテンツの表現の各々は、異なるビットレートで符号化された映像データを含む。命令の実行は、クライアントデバイスからの1つ以上の要求に応答して適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信することもコンピューティングデバイスに行わせる。要求されたセグメントは、セグメントのうちの要求によって指定されたそれらである。
本開示の1つ以上の態様の詳細が、添付図及び以下の説明において示される。それらの説明と図面から、及び請求項から、本開示において説明される技法のその他の特徴、目的、及び利点が明らかになるであろう。
クライアントデバイスがユーザにメディアコンテンツを提示するためにネットワークを通じてサーバデバイスと通信するシステム例を示す概念図である。 フレームを備える映像例を示した概念図である。 サーバデバイスの構成例を示したブロック図である。 メディアリソースを取り出すための準備をする動作例を示したフローチャートである。 クライアントデバイスの構成例を示したブロック図である。 ユーザにメディアコンテンツを提示するためにクライアントデバイスによって行われる動作例を示したブロック図である。 やって来る期間に関するセグメントの組み合わせを選択するためにクライアントデバイスによって行われる動作例を示したフローチャートである。 やって来る期間に関するセグメントの組み合わせを選択するためにクライアントデバイスによって行われる動作例を示したフローチャートである。 コンピューティングデバイス例を示したブロック図である。
概して、本開示の技法は、ネットワークを通じてマルチメディアコンテンツのデータをストリーミング時のユーザの経験を向上させるための情報を提供すること及び使用することを対象とする。コンテンツ引き渡しシステムのデバイスは、クライアントデバイスの様々な復号能力及びレンダリング能力を提供するためにマルチメディアコンテンツの様々な表現をアセンブルすることができる。例えば、コンテンツ準備デバイスは、様々な画面サイズ、二次元、三次元、又はマルチビューの再生、フレームレート、画面上に提示されるクローズドキャプショニング又はその他のテキストのための様々な言語、様々なプロフィール及び/又はレベルの様々な規格に準拠した復号器、又はその他の特徴を有するデバイスに関する表現を生成することができる。さらに、コンテンツ準備デバイスは、ネットワーク帯域幅の利用可能性の変動に対処するために、同様のコーディング及びレンダリング特性を有する表現の組を様々なビットレートで符号化することができる。このようにして、クライアントデバイスは、クライアントデバイスの復号能力及びレンダリング能力に適する表現の組を決定し、利用可能な量のネットワーク帯域幅を決定し、及び決定された組内の表現のうちの1つからのデータを要求することができる。
本開示の技法により、コンテンツ準備デバイスは、マルチメディアコンテンツの様々な時間的セクションに関する優先度値の形態でクライアントデバイスにヒント情報を提供することができる。例えば、コンテンツ準備デバイスは、各表現の各セグメントに関する、又はマルチメディアコンテンツの時間的セクション(サブセグメント)に関する優先度値を提供することができる。優先度値は、概して、マルチメディアコンテンツの特定の時間的セクションに関するより高い品質の映像データの相対的重要性を示すことができる。さらに加えて又は代替で、優先度値は、高ビットレートの表現からセグメントを選択することと低ビットレートの表現からセグメントを選択することの間の相対的な品質差量を示すことができる。
クライアントデバイスは、マルチメディアコンテンツの特定の時間的セクションに関するセグメントを要求する表現を決定するときに、利用可能な帯域幅量を決定することに加えて、優先度値を解析するように構成することができる。この方法により、クライアントデバイスは、より満足のいくユーザ経験をユーザに提供するように構成することができる。例えば、クライアントデバイスは、複数のやって来る(upcoming)セグメントに関する利用可能なネットワーク帯域幅の量を決定することができる。やって来るセグメントにわたって利用可能であることが決定された帯域幅によって満たすことができる最高のビットレート表現からデータを要求するのではなく、クライアントデバイスは、より低いビットレートの表現から相対的に低い優先度を有するセグメントを要求するように、及びより高いビットレートの表現から相対的に高い優先度を有するセグメントを要求するように構成することができる。この方法により、クライアントデバイスは、本来であれば高優先度の時間的セクションに関して受信される相対的により高い品質の映像データを受信することができ、及び、低優先度の時間的セクションに関するビットレート効率がより高いデータを受信することができる。
添付された図は、本開示において説明される技法の例を示す。添付された図において参照番号によって示される要素は、次の説明における同様の参照番号によって示される要素に対応する。添付された図において、楕円形は、それらの楕円形によって分離された要素と同様の1つ以上の要素が存在することを示す。さらに、添付された図内の重なり合った要素は、1つ以上の同様の要素が存在することを示す。同様の要素に関する参照番号のアルファベットの接尾辞は、それらの要素の特定の数字の存在を示すことは意図していない。本開示では、序数(例えば、“第1の”、“第2の”、“第3の”、等)で始まる要素は、それらの要素が特定の順序を有することは必ずしも示していない。むしろ、該序数は、同様の要素を指し示すために使用されるにすぎない。
図1は、クライアント102がユーザ108にメディアコンテンツのデータを提示するためにネットワーク106を通じてサーバデバイス104と通信するシステム例100を示した概念図である。クライアントデバイス102及びサーバデバイス104は、1つ以上のコンピューティングデバイスをそれぞれ備える。クライアントデバイス102及びサーバデバイス104は、様々なタイプのコンピューティングデバイスを備えることができる。例えば、図1は、クライアントデバイス102をラップトップコンピュータとして例示する。その他の例では、クライアントデバイス102は、デスクトップコンピュータ、タブレットコンピュータ、スマートフォン、テレビのセットトップボックス、車載コンピュータ、ビデオゲームコンソール、パーソナルメディアプレーヤー、又は他のタイプのコンピューティングデバイスを含むことができる。さらに、図1の例は、サーバデバイス104を独立型のサーバデバイスとして例示する。その他の例では、サーバデバイス104は、1つ以上のブレードサーバデバイス、デスクトップコンピュータ、メインフレームコンピュータ、及び/又はその他のタイプのコンピューティングデバイスを備えることができる。
ネットワーク106は、クライアントデバイス102とサーバデバイス104との間の通信を容易にすることができる。ネットワーク106は、一組のコンピューティングデバイスと、それらのコンピューティングデバイス間の通信リンクと、を備えることができる。例えば、ネットワーク106は、ルータと、ブリッジと、キャッシュシステムと、コンテンツ引き渡しシステムと、ファイヤウォールデバイスと、ハブと、その他のタイプの中間ネットワークデバイスと、を含む。幾つかの例では、ネットワーク106は、インターネットを備える。さらに、幾つかの例では、ネットワーク106は、ローカルエリアネットワークを備える。
ネットワーク106は、所定の帯域幅においてクライアントデバイス102とサーバ104との間でデータを送信することができる。例えば、ネットワーク106は、毎秒7メガビット(Mbps)の帯域幅でサーバデバイス104からクライアントデバイス102にデータを送信することができる。所定の帯域幅は、幾つかの状況では変化することができる。例えば、ネットワーク106が高いトラフィックレベルに起因して混雑した場合は、ネットワーク106がサーバデバイス104からクライアントデバイス102にデータを送信することができるレートは、7Mbpsから5Mbpsに低下することがある。この例では、ネットワーク106がサーバデバイス104からクライアントデバイス102にデータを送信することができるレートは、のちに5Mbpsから8Mbps、等に増大することができる。
ユーザは、クライアントデバイス102を様々な目的で使用することができる。例えば、ユーザは、仕事、家庭、娯楽、又はその他の目的のためにクライアントデバイス102を使用することができる。ユーザは、クライアントデバイス102を使用しながらマルチメディアコンテンツ(概してメディアコンテンツとも呼ばれる)を閲覧することができる。例えば、ユーザは、マルチメディアコンテンツを閲覧するのを要求するためにウェブブラウザアプリケーション又はクライアントデバイス102によって実行されるその他のアプリケーションと対話することができる。この例では、マルチメディアコンテンツは、サーバ104によって格納することができる。一例として、ユーザは、マルチメディアコンテンツのハイパーリンクを選択することによってメディアコンテンツを閲覧することを選択することができる。マルチメディアコンテンツは、連続するメディアを含むことができる。連続的メディアは、時間に関する固有の概念を有するメディアであることができる。例えば、メディアコンテンツは、映像ストリーム、音声ストリーム、話声ストリーム、又は他のタイプのメディアを含むことができる。
メディアコンテンツは、時間的シーケンスを備えることができる。DASH規格において定義されている時間的シーケンスは、1つ以上の期間を含むことができる。これらの期間の各々が、メディアコンテンツの時間的セクションである。様々な例において、メディアコンテンツの時間的セクションは、様々な時間の長さを有する。例えば、メディアコンテンツの1つの期間は、10乃至60秒の間の時間の長さに対応することができる。
サーバ104は、各々の期間の複数の表現を格納することができる。それらの表現の各々は、特定の特徴、例えば、クライアントデバイスの様々なコーディング及び又はレンダリング能力及び様々なビットレートでのコーディングに対処する、を有することができる。サーバデバイス104は、共通のコーディング及びレンダリング特徴を有するが異なるビットレートを有する表現の組を格納することができ、該表現の組は、適合化セット(adaptation set)を形成することができる。適合化セットの表現は、様々なビットレートでコーディングすることができる。例えば、メディアコンテンツの期間の第1の表現は、3.0Mbpsのビットレートでコーディングすることができる。この例では、期間の第2の表現は、1.5Mbpsのビットレートでコーディングすることができる。この例では、期間の第3の表現は、毎秒500キロビット(Kbps)のビットレートでコーディングすることができる。
各々の表現は、1つ以上のセグメントに分割される。表現のセグメントの各々は、その表現の異なる時間的セクションに対応する。様々な例では、セグメントは、様々な時間長を有する時間的セクションに対応することができる。例えば、表現のセグメントの各々は、約2秒の再生継続時間を有する表現の時間的セクションに対応することができる。その他の例では、セグメント及び期間は、それよりも短い又は長い再生継続時間を有することができる。
セグメントの各々は、メッセージコンテンツのコーディングされたサンプルのシーケンスを表現するデータを含むことができる。あるセグメントに対応する時間的セクションは、そのセグメントによって表現されるコーディングされたサンプルのシーケンスを含む。例えば、セグメントの各々は、フレーム、スライス、ピクチャグループ、又はその他のコーディングされた映像データのユニットのシーケンスを表現することができる。この例では、映像のフレームが0から始まるフレーム番号値によりインデキシングされる場合は、映像の第1のセグメントは、フレーム番号0乃至74を表現することができ、映像の第2のセグメントは、フレーム番号75乃至149を表現することができ、映像の第3のセグメントは、フレーム番号150乃至224を表現することができ、以下同様である。他の例では、メディアコンテンツが音声ストリームを含む場合は、セグメントの各々は、音声サンプルのシーケンスを表現することができる。クライアントデバイス102は、セグメントによって表現されるサンプルのシーケンスを再生するためにそのセグメント内のデータを使用することができる。
メディアコンテンツが映像データを含む例では、セグメントの各々は、コーディングされたネットワーク抽象化層(NAL)ユニットのシーケンス内に含めることができる。NALユニットは、復号されたときに映像フレームを形成する。それらのフレームの各々は、静止画像を備えることができる。クライアントデバイス102がユーザ108に映像を提示時には、クライアントデバイス102は、高速で次々とユーザ108にフレームを表示する(毎秒25フレーム(fps))。クライアントデバイス102が高速で次々と連続してフレームを表示すると、ユーザ108は、フレーム内のオブジェクトが動いていると知覚することができる。メディアコンテンツが音声ストリームを含む例では、メディアコンテンツは、音声サンプルのシーケンスを含むことができる。クライアントデバイス102が音声ストリームを提示するときには、クライアントデバイス102は、音声サンプルを音波に変換することができる。
DASHの技法により、1つの期間のマルチメディアコンテンツのセグメントは、時間的に整合させることができるが、必ずしも整合されない。セグメントがある期間内で時間的に整合されるときには、その期間に関する表現の各々は、その期間内の同じ時間的セクションに対応するセグメントを含むことができる。すなわち、セグメントが時間的に整合されるときには、期間に関する各表現のn番目のセグメントは、同じ時間的セクションに対応することができる。異なる表現のセグメントを時間的に整合させることができる。例えば、メディアコンテンツは、2つの表現X及びYに関して、mがnに等しくないときに、Xのm番目のセグメントがYのn番目のセグメントと重なり合うことができるかどうかを示すセグメント整合フラグを含むことができる。
説明を容易にするために、本開示は、メディアコンテンツの同じ時間的セクションを表現するセグメントを意味するために用語“セグメントグループ”を使用する。メディアコンテンツの異なる時間的セクションに対応するセグメントは、異なるセグメントグループ内に存在する。すなわち、セグメントグループは、マルチメディアコンテンツのある期間のセグメントが時間的に整合されるときに、その期間の各表現のn番目のセグメントを含むことができる。
本開示の技法により、セグメント、セグメントグループ、又はメディアコンテンツの時間的セクションの各々は、優先度値と関連付けられる。サーバデバイス104は、メディアコンテンツのセグメント、セグメントグループ、又は時間的セクションに優先度値を割り当てることができる。サーバデバイス104は、セグメント又はセグメントグループに関する優先度値を示す情報を含むデータ構造、例えば、マニフェストファイル、セグメントインデックスボックス、コーディングされたメディアストリーム内の他のメタデータボックス、を提供することができる。様々な例において、セグメントは、様々な方法で優先度値と関連付けられる。例えば、各表現の各セグメントに別々の優先度値を割り当てることができる。他の例では、メディアコンテンツの各セグメントグループ又は時間的セグメントに対して別々の優先度値を割り当てることができる。この例では、所定のセグメントグループ内のセグメントの各々(すなわち、メディアコンテンツ内の所定の時間的セクションを表現するセグメントの各々)は、同じ優先度値と関連付けることができる。
優先度値は、概して、特定の時間的セクションにおいてメディアコンテンツのデータの高品質バージョンを取り出す相対的重要性を示すことができる。例えば、高い優先度値は、対応する時間的セクションに関して、クライアントデバイス102が時間的セクションに関するデータの相対的に高い品質のバージョン(例えば、相対的に高いビットレートの表現からのセグメント)を取り出すことを試みるべきであることを示すことができる。他の例として、低優先度値は、対応する時間的セクションに関して、クライアントデバイス102が時間的セクションに関するより低い品質の、ただし帯域幅がより効率的な、データバージョンを取り出すことによってユーザ経験の大きな劣化を生じさせないことを示すことができる。この方法により、優先度値は、クライアントデバイス102が、相対的により高いビットレートの表現から少なくとも幾つかのセグメントを取り出すことができる十分な利用可能な帯域幅が存在するが、最高のビットレートの表現から全セグメントを取り出すことができる十分な利用可能な帯域幅が存在しない状況においてメディアコンテンツの表現からセグメントを選択するために使用することができる情報を提供することができる。
クライアントデバイス102は、例えば、メディアコンテンツに関するマニフェストファイルを取り出すことによって、セグメントと関連付けられた優先度値を示す情報を受信することができる。さらに、クライアントデバイス102は、例えば、メディアコンテンツに関するマニフェストファイルを取り出すことによって、セグメントのビットレートを示す情報を受信することができる。後続して、クライアントデバイス102は、メディアコンテンツの各期間内の各セグメントグループに関するセグメントを選択する選択動作を実施することができる。選択動作中には、クライアントデバイス102は、クライアントデバイス102がサーバ104からセグメントを受信することができる帯域幅を推定することができる。さらに、選択動作中には、クライアントデバイス102は、推定される帯域幅及びセグメント及び/又はセグメントグループに関して関連付けられた優先度値に基づいてセグメントを選択することができる。幾つかの例では、クライアントデバイス102は、推定される帯域幅、セグメントと関連付けられた優先度値、さらには、再生バッファ内の映像データの現在の再生継続時間に基づいてセグメントを選択することができる。例えば、クライアントデバイス102は、やって来る期間に関するセグメントの組み合わせを選択することができる。この例では、セグメントの組み合わせは、やって来る期間内の各セグメントグループからの1つのセグメントを含むことができる。この例では、クライアントデバイス102は、選択されたセグメントの累積ビットレートが推定される帯域幅よりも実質的に大きくならないようなセグメントの組み合わせ内のセグメントを選択することができる。他の例では、クライアントデバイス102は、選択されたセグメントに関する推定される転送時間が選択されたセグメントの再生継続時間プラス再生バッファ内の映像データの再生継続時間以下になるようにセグメントの組み合わせ内のセグメントを選択することができる。この例では、選択されたセグメントに関する推定される転送時間は、選択されたセグメント内の総ビット数及び推定される帯域幅又はその他の推定されたスループットに基づくことができる。さらに、この例では、クライアントデバイス102は、やって来る期間のセグメントグループ内のセグメントの優先度値に基づいてセグメントを選択することができる。推定される帯域幅は、サーバデバイス104がクライアントデバイス102にデータを提供することができる帯域幅の推定値であることができる。
推定される帯域幅、優先度値、そして幾つかの例では、再生バッファ内の映像データの現在の再生継続時間に基づいてセグメントを選択することによって、クライアントデバイス102は、利用可能な帯域幅と比較して表現に関するビットレートのみに基づいて1つの表現を単に選択するのではなく、推定される帯域幅を考慮して向上されたユーザ経験を提供するセグメントを選択することができる。本開示の別の場所で説明されるように、クライアントデバイス102は、優先度値を用いてセグメントを選択することができ及び推定される帯域幅を様々な方法で生成することができる。
クライアントデバイス102は、適応型ストリーミングネットワークプロトコルにより選択されたセグメントを要求することができる。適応型ストリーミングネットワークプロトコルは、選択されたセグメントのビットレートを好適に変更するのを可能にすることができる。様々な例において、クライアントデバイス102は、選択されたセグメントを様々な方法で要求することができる。例えば、クライアントデバイス102は、セグメント要求メッセージをサーバデバイス104に送信することによって選択されたセグメントを要求することができる。セグメント要求メッセージは、HTTP/1.1(RFC2616)において規定されるGET要求又は部分的GET(partial GET)要求を備えることができる。部分的GET要求は、GET要求に類似することができるが、クライアントデバイスは、要求によって指定されたファイルの、部分的GET要求内で指定されたバイト範囲に対応するファイルの連続的なバイト数を取り出すためにGETへの入力パラメータとしてバイト範囲を指定することができる。従って、クライアントデバイス102は、セグメントの1つ以上の個々の動画フラグメントを取り出すために部分的GET要求を出すことができるため、動画フラグメントをネットワークストリーミングのために提供することができる。
クライアントデバイス102が選択されたセグメントを要求するときには、サーバデバイス104は、選択されたセグメントのコピーをクライアントデバイス102に送信することができる。クライアントデバイス102がセグメントのコピーを受信した時点で、クライアントデバイス102は、セグメントによって表現されるサンプルを生成するためにセグメントのコピーを復号及びレンダリングすることができる。クライアントデバイス102は、サンプルを出力することができる。例えば、メディアコンテンツが音声ストリームを含む場合は、クライアントデバイス102は、サンプルを音波に変換することによってサンプルを出力することができる。同様に、メディアコンテンツが映像データを含む場合は、クライアントデバイス102は、サンプルを再構築されたピクチャとして特定のフレームレートで出力することができる。この方法により、セグメント要求メッセージを送信し及びセグメント要求メッセージに応答して受信されたセグメントを処理することによって、クライアントデバイス102は、サーバデバイス104からメディアコンテンツのデータを取り出すことができる。さらに、セグメント要求メッセージを経時で定期的に送信することによってクライアントデバイス102は、サーバデバイス104からメディアコンテンツのデータをストリーミングすることができる。
従って、本開示の技法は、例えば、HTTPを通じてのダイナミック適応型ストリーミング(DASH)によるネットワークストリーミングプロトコル、例えば、HTTPストリーミング、に対して適用可能である。DASHを用いてメディアデータをストリーミングする例では、マルチメディアコンテンツの映像及び又は音声データに関する複数の表現が存在することができる。該表現のマニフェストは、メディアプレゼンテーション記述(MPD)データ構造で定義することができる。メディアの提示は、HTTPストリーミングクライアントデバイス、例えば、クライアントデバイス102、にとってアクセス可能なデータの構造化された集合に対応することができる。HTTPストリーミングクライアントデバイスは、クライアントデバイスのユーザにストリーミングサービスを提示するためにメディアデータ情報を要求してダウンロードすることができる。メディア提示はMPDデータ構造で記述され、MPDの更新を含むことができる。
メディアコンテンツは、1つ以上の期間のシーケンスを含むことができる。期間は、MPD内でPeriod要素によって定義することができる。各期間は、MPDにおいて属性startを有することができる。MPDは、各期間に関するstart属性及びavailableStartTime属性を含むことができる。ライブサービスに関しては、期間のstart属性及びMPD属性availableStartTimeの和が、期間の利用可能性時間をUTCフォーマットで指定することができる。特に、対応する期間内の各表現の第1のメディアセグメント。オンデマンドサービスに関しては、第1の期間のstart属性は0であることができる。その他の期間に関しては、start属性は、対応する期間の開始時間と第1の期間の開始時間との間の時間オフセットを指定することができる。各期間は、次の期間の始めまで、又は、最後の期間の場合はメディアコンテンツの最後まで延長することができる。期間開始時間は正確であることができる。それらは、すべての以前の期間を再生した結果生じる実際のタイミングを反映させることができる。
各期間は、同じメディアコンテンツに関する1つ以上の表現を含むことができる。表現は、音声又は映像データの幾つかの代替の符号化されたバージョンのうちの1つであることができる。表現は、符号化のタイプごとに、例えば、ビットレート、解像度、及び又は映像データ及びビットレートに関するコーデック、言語、及び又は音声データに関するコーデック、ごとに異なることができる。用語表現は、符号化された音声又は映像データのうちでマルチメディアコンテンツの特定の期間に対応し及び特定の方法で符号化されたセクションを意味するために使用することができる。
特定の期間の表現は、MPD内のグループ属性によって示されるグループに割り当てることができる。同じグループ内の表現は、互いに代替であると概してみなされる。例えば、特定の期間に関する映像データの各表現は、同じグループに割り当てることができ、従って、対応する期間に関するマルチメディアコンテンツの映像データを表示するためにいずれの表現も復号のために選択することができる。1つの期間内のメディアコンテンツは、幾つかの例では、グループ0(存在する場合)からの1つの表現、又は各々のゼロでないグループからの多くても1つの表現の組み合わせによって表現することができる。期間の各表現に関するタイミングデータは、その期間の開始時間に関して表すことができる。
表現は、1つ以上のセグメントを含むことができる。各表現は、初期化セグメントを含むことができ、又は、表現の各セグメントは、自己初期化型であることができる。存在するときには、初期化セグメントは、表現にアクセスするための初期化情報を含むことができる。概して、初期化セグメントは、メディアデータは含まない。セグメントは、識別子、例えば、URL、URN、又はユニフォームリソース識別子(URI)によって一意で参照することができる。MPDは、各セグメントに関する識別子を提供することができる。幾つかの例では、MPDは、範囲属性の形でバイト範囲を提供することもでき、それは、URL、URN、又はURIによってアクセス可能なファイル内のセグメントに関するデータに対応することができる。
H.264/AVC(アドバンストビデオコーディング)の例では、コーディングされた映像サンプルは、ネットワーク抽象化層(NAL)ユニットとして編成され、それらは、ビデオテレフォニー、記憶、ブロードキャスト、又はストリーミング、等のアプリケーションに対処する“ネットワークにやさしい”映像表現を提供する。NALユニットは、ビデオコーディングレイヤ(VCL)NALユニット及び非VCL NALユニットに分類することができる。VCLユニットは、コア圧縮エンジンを内蔵することができ、及び、ブロック、マクロブロック、及び/又はスライスレベルデータを含むことができる。その他のNALユニットは、非VCL NALユニットであることができる。幾つかの例では、1つの時間インスタンスにおけるコーディングされたピクチャは、通常はプライマリなコーディングされたピクチャとして提示され、アクセスユニット内に含めることができ、それは、1つ以上のNALユニットを含むことができる。
非VCL NALユニットは、特に、パラメータセットNALユニットと、補助エンハンスメント情報(SEI)NALユニットと、を含むことができる。パラメータセットは、(シーケンスパラメータセット(SPS)内の)シーケンスレベルのヘッダ情報と、(ピクチャパラメータセット(PPS)内の)ピクチャレベルヘッダ情報を含むことができる。パラメータセット(例えば、PPS及びSPS)の場合は、頻繁に変化しない情報は、各シーケンス又はピクチャごとに繰り返す必要がなく、従って、コーディング効率を向上させることができる。さらに、パラメータセットの使用は、重要なヘッダ情報のアウトオブバンド(out−of−band)送信を可能にし、誤りに対する弾力性のために冗長な送信を行う必要がない。アウトオブバンド送信例では、パラメータセットNALユニットは、その他のNALユニット、例えば、SEI NALユニット、と異なるチャネルで送信することができる。
SEI NALユニットは、SEIメッセージを含むことができる。SEIメッセージは、VCL NALユニットからのコーディングされたピクチャを復号するために必要ない情報を含むことができるが、復号、表示、誤り弾力性、及びその他の目的に関連するプロセスにおいて役立つことができる。SEIメッセージは、非VCL NALユニットに含めることができる。SEIメッセージは、幾つかの規格仕様の規範的な部分であり、従って、規格に準拠する復号器の実装に関して常に強制的であるわけではない。SEIメッセージは、シーケンスレベルSEIメッセージ又はピクチャレベルSEIメッセージであることができる。幾つかのシーケンスレベル情報をSEIメッセージ、例えば、SVCの例におけるスケーラビリティ情報SEIメッセージ及びMVCにおけるビュースケーラビリティ情報SEIメッセージ、に入れることができる。これらのSEIメッセージ例は、例えば、動作ポイントの抽出及び動作ポイントの特徴に関する情報を搬送することができる。
各表現は、1つ以上のメディアコンポーネントを含むことができ、各メディアコンポーネントは、1つの個々のメディアタイプ、例えば、音声、映像、又は(例えば、クローズドキャプショニングのために)タイミングが計られたテキスト、の符号化されたバージョンに対応することができる。メディアコンポーネントは、1つの表現内の連続するメディアセグメントの境界を越えて時間的に連続することができる。
数多くの映像コーディング規格と同様に、H.264/AVCは、誤りのないビットストリームに関する構文、意味論、及び復号プロセスを定義し、それらのいずれも一定のプロフィール又はレベルに準拠する。H.264/AVCは符号器を指定していないが、符号器は、生成されたビットストリームが復号器に関する規格に準拠するように保証するタスクが課される。映像コーディング規格に関しては、“プロフィール”は、アルゴリズム、特徴、又はツール、及びそれらに適用される制約事項の部分組に対応する。例えば、H.264によって定義される場合の“プロフィール”は、H.264規格によって指定されるビットストリーム構文全体の部分組である。“レベル”は、ピクチャの解像度、ビットレート、及びブロック処理レートに関連する、復号器リソース消費、例えば、復号器メモリ及び計算、の制限事項に対応する。プロフィールは、profile_idc(プロフィールインジケータ)値を用いてシグナリングすることができ、レベルは、level_idc(レベルインジケータ)値を用いてシグナリングすることができる。
例えば、H.264規格は、所定のプロフィールの構文によって課せられた限界内で、ビットストリーム内の構文要素によって取られた値、例えば、復号されたピクチャの指定されたサイズ、に依存して符号器及び復号器の性能の大きな変動が要求される可能性があることを認識している。H.264規格は、多くの用途では、特定のプロフィール内の構文のすべての仮説的な使用を取り扱うことが可能な復号器を実装することは実際的でも経済的でもないということを認識している。従って、H.264規格は、“レベル”とは、ビットストリーム内の構文要素の値に課せられた制約の指定された組であると定義している。これらの制約は、値に対する単純な限度であることができる。代替として、これらの制約は、値の算術的結合(例えば、ピクチャ幅×ピクチャ高さ×毎秒当たりの復号されたピクチャの数)に対する制約の形をとることができる。H.264規格は、個々の実装が各サポートされるプロフィールに関する異なるレベルをサポートすることをできる旨をさらに規定する。従って、様々なデバイスの復号器によってサポートされる映像コーディング規格の様々なプロフィール及びレベルを考慮するためにメディアコンテンツの様々な表現を提供することができる。
プロフィールに準拠する復号器は、通常は、そのプロフィール内で定義されるすべての特徴をサポートする。例えば、コーディング上の特徴として、Bピクチャコーディングは、H.264/AVCのベースラインプロフィール内ではサポートされず、H.264/AVCのその他のプロフィール内でサポートされる。レベルに準拠する復号器は、レベル内で定義される制限を超えてリソースを要求しないビットストリームを復号可能であるべきである。プロフィール及びレベルの定義は、解釈する上で役立つことができる。例えば、映像送信中には、送信セッション全体にして一対のプロフィールとレベルの定義について交渉して合意することができる。より具体的には、H.264/AVCでは、レベルは、例えば、処理する必要があるマクロブロック(“ブロック”又は“MB”とも呼ばれる)の数、復号されたピクチャバッファ(DPB)サイズ、コーディングされたピクチャバッファ(CPB)サイズ、垂直動きベクトル範囲、2つの連続するMB当たりの動きベクトルの最大数、及びBブロックが8×8ピクセルよりも少ないサブマクロブロックパーティションを有することができるかどうかに対する制限を定義することができる。この方法により、復号器は、復号器がビットストリーム、例えば、マルチメディアコンテンツの特定の表現、を適切に復号することが可能であるかどうかを決定することができる。
図2は、フレーム200A乃至200P(総称して“フレーム200”)を備える映像例を示す概念図である。各々のフレーム200は、この例では静止画像を備える。クライアントデバイス102がフレーム200を次々と連続して提示すると、ユーザ108は、フレーム内のオブジェクトが動いていると知覚することができる。
フレーム200は、サンプルシーケンス202A乃至202D(総称して“サンプルシーケンス202”)に属する。サンプルシーケンス202の各々は、図2の例では別個の行(row)として例示される。サンプルシーケンス202の各々は、マルチメディアコンテンツの各々の時間的セクションに対応することができる。映像の各表現は、サンプルシーケンス202Aを表現するセグメントと、サンプルシーケンス202Bを表現するセグメントと、サンプルシーケンス202Cを表現するセグメントと、サンプルシーケンス202Dを表現するセグメントと、を含むことができる。図2の例では、サンプルシーケンス202は、4つのフレームを各々含む。映像のサンプルシーケンスは、4つよりも多い又は少ないフレームを含むことができることを読者は理解するであろう。
映像の異なるセグメントが異なるタイプのシーンを含むことができる。例えば、図2の例では、映像は、自転車レースを示す。サンプルシーケンス202A及び202Bは、ある人が自転車のペダル漕いでいるシーンを含む。サンプルシーケンス202Cは、解説者が机の前でレースの解説をしているシーンを含む。サンプルシーケンス202Dは、レース上空を旋回しているヘリコプターから見たレースシーンを含む。
幾つかのタイプのシーンでは、各フレームは、前のフレームからほとんど変わらない。説明を容易にするため、本開示は、該シーンを低アクションシーンと呼ぶことができる。その他のタイプのシーンでは、各フレームは、前のフレームと有意に異なる。説明を容易にするため、本開示は、該シーンを高アクションシーンと呼ぶことができる。図2の例では、サンプルシーケンス202Cは、解説者が話をしているという相対的に静止している画像を含む低アクションシーンを表現する。従って、サンプルシーケンス202C内の各フレームは、前のフレームからほとんど変化していない。対照的に、サンプルシーケンス202A及び202Bは、自転車のペダルを漕いでいる人の高速の動きを示す高アクションシーンを含む。従って、サンプルシーケンス202A及び202B内の各フレームは、前のフレームから大きく変化している。
セグメントは、符号化形式を用いて符号化されたデータを含む。例えば、メディアコンテンツが映像である場合は、セグメントは、H.264/AVC形式、VC−2形式、MPEG−4 Part2形式、H.263形式、又は他の映像コーディング形式を用いて符号化されたデータを含むことができる。該符号化形式では、所定の最大歪みレベルで高アクションシーンのフレームを表現するほうが、同じ所定の最大歪みレベルで低アクションシーンのフレームを表現するよりも多いビット数を要求される。換言すると、最大歪みレベルで高アクションシーンを提示するほうがより高いビットレートが要求され、同じ最大歪みレベルで低アクションシーンを提示するにはより低いビットレートで十分であることができる。例えば、所定の最大歪みレベルにおいてサンプルシーケンス202A及び202B内の高アクションシーンを表現するためにより高いビットレートが要求され、所定の最大歪みレベルにおいてサンプルシーケンス202C及び202D内の低アクションシーンを表現するためにはより低いビットレートで十分であることができる。
メディアコンテンツが音声ストリームである例では、セグメントは、MP3形式、フォービス(Vorbis)形式、アドバンストオーディオコーディング(Advanced Audio Coding(AAC))、ウィンドウズメディアオーディオ(Windows Media Audio(WMA))、デジタルスピーチ規格(DSS)、又は他の音声コーディング形式を用いて符号化されたサンプルを表現することができる。該符号化形式では、多くの周波数を表現するサンプルのシリーズを表現するほうが、より少ない周波数を表現するサンプルのシリーズを表現するよりも多くのビット数が要求される。
推定される帯域幅は、サーバデバイス104がどれだけのデータをクライアントデバイス102に転送することができるに関する上限を表すことができる。従って、帯域幅は、再生の中断を生じさせずに最高のビットレートを有するセグメントのみを転送する上で十分に大きくないことがある。例えば、所定の表現内のセグメントの各々は、3秒続くメディアコンテンツの時間的セクションに対応することができ及び3.0Mbpsのビットレートを有することができる。この例では、やって来る期間は、4つのセグメントグループを含むことができる。従って、この例では、やって来る期間は、12秒続く。推定される帯域幅が1.75Mbpsである場合は、これらの12秒中に21.0メガビットをクライアントデバイス102に転送することができる。対照的に、3.0Mbpsのビットレートを有する4つのセグメントが転送される場合は36.0メガビットが転送される。
上述されるように、同じ最大歪みレベルで低アクションシーンよりも高アクションシーンを表現するほうがより高いビットレートを要求することができる。やって来る期間と関連付けられた時間中には限られた量のデータしか転送することができないため、クライアントデバイス102は、組み合わせの中に含めるべきセグメントを選択するためにセグメントに関する推定される帯域幅及び優先度値を使用することができる。組み合わせは、高いビットレートを有する幾つかのセグメントと、より低いビットレートを有する幾つかのセグメントと、を含むことができる。クライアントデバイス102は、高アクションシーンを表現するセグメントがより高いビットレートを有し、低アクションシーンを表現するセグメントがより低いビットレートを有する組み合わせを選択するためにセグメントと関連付けられた優先度値を使用することができる。この方法により、組み合わせ内のセグメントによって表現されるフレームの全体的な歪みレベルを低下させることができる。
例えば、クライアントデバイス102は、組み合わせのセグメントの平均ビットレートが推定される帯域幅以下であるようにやって来る期間のセグメントグループ内のセグメントの組み合わせを選択することができる。他の例では、クライアントデバイス102は、現在再生バッファ内にある映像データの再生継続時間に少なくとも部分的に基づいてセグメントの組み合わせも選択する。この例では、クライアントデバイス102は、選択されたセグメントに関する推定転送時間が、選択されたセグメントの再生継続時間プラス再生バッファ内の映像データの再生継続時間以下であるようにやって来る期間のセグメントグループ内のセグメントの組み合わせを選択することができる。
幾つかの例では、クライアントデバイス102は、特定の状況に応答して再生バッファの長さを長くすることができる。例えば、クライアントデバイス102は、クライアントデバイス102が映像の再生を開始したときに高品質の再生を保証するのに役立てるために映像の開始時に再生バッファの長さを長くすることができる。幾つかの該例では、サーバデバイス104は、再生バッファを長くするようにクライアントデバイス102に命令するためにビットストリーム内にデータを含めることができる。映像の開始時にバッファの長さを長くすることは、高アクションシーンで始まる映像にとって特に有利であることができる。
図3は、サーバデバイス104の構成例を示すブロック図である。図3の例で示されるように、サーバデバイス104は、データ記憶システム300と、セグメンテーションユニット302と、優先度ユニット304と、マニフェスト生成ユニット306と、サーバアプリケーション308と、を備えることができる。幾つかのその他の例では、サーバデバイス104は、図3の例において示されるシステムに加えてのそれらを提供することができる。その他の例では、サーバデバイス104は、図3の例において示される各々のシステムを提供しない。例えば、サーバデバイス104は、セグメンテーションユニット302、優先度ユニット304及びマニフェスト生成ユニット306は提供することができず、代わりに、マルチメディアコンテンツの生成されたセグメント、マルチメディアコンテンツに関するマニフェストファイル、及び優先度値を、サーバデバイス104の外部のコンテンツ準備デバイス又はコンテンツ準備システムから受信することができる。
図3の例において示されるように、データ記憶システム300は、複数のセグメント310及びマニフェストファイル312を格納することができる。幾つかの例では、データ記憶システム300は、セグメント310及びマニフェストファイル312を第3世代パートナーシッププロジェクト(3GPP)ファイル形式で格納することができる。その他の例では、データ記憶システム300は、その他の方法でセグメント310及びマニフェストファイル312を格納することができる。
データ記憶システム300は、データ、例えば、セグメント310及びマニフェストファイル312、を格納する1つ以上のコンピュータ記憶媒体を備えることができる。本開示は、マニフェストファイル312を“ファイル”と呼んでいるが、幾つかの例は、マニフェストファイル312をファイルとして格納しない。例えば、幾つかの例では、マニフェスト生成ユニット308は、マニフェストファイル312のデータを動的に生成する。その他の例では、マルチメディアコンテンツの様々な期間を異なるマニフェストファイルデータと関連付けることができ、それらは、予め生成すること、動的に生成すること、又は、マニフェストファイルの前バージョンの該当する更新の形態で示すことができる。幾つかの例では、マニフェストファイル312は、メディアプレゼンテーション記述(MPD)ファイルである。
図3の例では、データ記憶システム300は、サーバデバイス104のハウジング内に物理的に配置される。その他の例では、データ記憶システム300は、サーバデバイス104のハウジングの部分的外部に又は完全に外部に存在する。例えば、データ記憶システム300は、ネットワーク取り付け記憶(NAS)システム又は直接取り付け記憶(DAS)システムの一部であることができる。
セグメンテーションユニット302は、セグメント310を生成することができる。本開示の別の場所で詳細に説明されるように、セグメンテーションユニット302の様々な例が様々な方法でセグメント310を生成することができる。優先度ユニット304は、優先度値をセグメント310と関連付けることができる。本開示の別の場所で詳細に説明されるように、優先度ユニット304の様々な例が、優先度値を様々な方法でセグメント310と関連付けることができる。マニフェスト生成ユニット306は、マニフェストファイル312を生成することができる。本開示の別の場所で詳細に説明されるように、マニフェスト生成ユニット306の様々な例が様々な方法でマニフェストファイル312を生成することができる。サーバアプリケーション308は、クライアントデバイス、例えば、クライアントデバイス102、から受信された要求に応答することができる。本開示の別の場所で詳細に説明されるように、サーバアプリケーション308の様々な例が、クライアントデバイス102から受信された要求に様々な方法で応答することができる。
サーバデバイス104は、セグメンテーションユニット302、優先度ユニット304、マニフェスト生成ユニット306、及びサーバアプリケーション308を様々な方法で実装することができる。例えば、サーバデバイス104は、サーバデバイス104を実装するコンピューティングデバイスの1つ以上の処理ユニットが一定の命令を実行時にセグメンテーションユニット302、優先度ユニット304、マニフェスト生成ユニット306、及び/又はサーバアプリケーション308を実装することができる。他の例では、サーバデバイス104を実装するコンピューティングデバイスは、セグメンテーションユニット302、優先度ユニット304、マニフェスト生成ユニット306、及び/又はサーバアプリケーション308を実装することをサーバデバイス104に行わせる1つ以上のASICを備えることができる。
セグメント310の各々は、メディアコンテンツ内のサンプルのシーケンスを表現することができる。例えば、メディアコンテンツは、映像データを含むことができる。この例では、セグメント310のうちの1つは、サンプルシーケンス202Aを表現することができ、セグメント310の他の1つは、サンプルシーケンス202Bを表現することができ、以下同様である。他の例では、メディアコンテンツは、音声ストリームであることができる。この例では、セグメント310のうちの1つは、第1の一連の音声サンプルを表現することができ、セグメント310のうちの他の1つは、第2の一連の音声サンプルを表現することができ、以下同様である。
セグメント310は、複数のセグメントグループ314A乃至314N(総称して“セグメントグループ314)”に属することができる。セグメントグループ310のうちの1つ内のセグメント310の各々は、メディアコンテンツの同じサンプルを表現することができる。例えば、メディアコンテンツが図2の映像である場合は、セグメントグループ314A内の各セグメント310は、サンプルシーケンス202A内のフレームを表現することができ、セグメントグループ314N内の各セグメント310は、サンプルシーケンス202B内のフレームを表現することができ、以下同様である。
セグメント310は、複数の表現316A乃至316N(総称して“表現316”)に属することができる。表現316の各々は、異なるビットレートと関連付けることができる。所定の表現内のセグメント310は、所定の表現と関連付けられたビットレートでメディアコンテンツのサンプルを表現することができる。例えば、表現316A内のセグメント310は、3.0Mbpsのビットレートでメディアコンテンツを表現することができる。この例では、表現316N内のセグメント310は、500Kbpsのビットレートでメディアコンテンツを表現することができる。
表現316の各々は、異なるビットレートと関連付けることができるため、各々のセグメントグループ314内のセグメントは、異なるビットレートを有することができる。例えば、セグメントグループ314A内の第1のセグメントは、毎秒3.0メガビット(Mbps)のビットレートを有することができ、セグメントグループ314A内の第2のセグメントは、毎秒1.0Mbpsのビットレートを有することができ、セグメントグループ314A内の第3のセグメントは、毎秒500キロビット(Kbps)のビットレートを有することができ、以下同様である。
セグメントのビットレートは、セグメントが1つの単位の再生時間中に提示されるメッセージコンテンツの時間的セクションを表現するためにどれだけの数のビットを使用するかを示すことができる。例えば、メディアコンテンツの表現が25fpsのフレームレートを有する場合は、その表現のセグメントのビットレートは、セグメントが25フレームを表現するためにどれだけの数のビットを使用するかを示すことができる。
本開示の別の場所で詳細に説明されるように、クライアントデバイス102は、各々のセグメントグループ314から1つのセグメントを選択することができる。例えば、第1のセグメントグループは、セグメントA、B、及びCを含むことができ、第2のセグメントグループは、セグメントD、E、及びFを含むことができ、第3のセグメントグループは、G、H、及びIを含むことができる。この例では、クライアントデバイス102は、第1のセグメントグループからセグメントBを、第2のセグメントグループからセグメントDを、及び第3のセグメントグループからセグメントGを選択することができる。
幾つかの例では、マニフェストファイル312は、セグメント310と関連付けられた優先度値を表す情報を含むことができる。本開示の別の場所で詳細に説明されるように、クライアントデバイス102は、マニフェストファイル312のコピーを受信することができる。幾つかの例では、クライアントデバイス102は、各セグメントグループ314から1つのセグメントを選択するためにマニフェストファイル312によって指定された優先度値及び推定される帯域幅を使用することができる。
代替として、表現316自体は、セグメント310と関連付けられた優先度値を表す情報を含むことができる。例えば、表現のセグメントインデックス(又は“SIDX”)ボックスは、サブセグメントの切り換えを可能にする対応する表現のセグメントに関するインデックスに加えて、対応するセグメントに関する優先度値を提供することができる。この方法により、各表現316は、表現のセグメントに関する優先度値を示す情報を含むセグメントインデックスボックスを含むことができる。
さらに他の例として、優先度ユニット304は、対応するヒント情報を提供するメタデータトラック内の優先度値を示す情報を提供することができる。ISOベースメディアファイル形式及びそれらの拡張(例えば、3GPP)により、メタデータは、映像トラックとまったく同じように、ファイル形式サンプルのシーケンスとして構造化することができる。該トラックは、メタデータトラックと呼ぶことができる。各メタデータサンプルは、メタデータ文として構造化することができる。対応するファイル形式サンプル又はそれの成分サンプルに関して尋ねられる可能性がある様々な質問に対応する、様々な種類の文が存在する。
図4は、取り出しのためにメディアコンテンツのデータを準備する動作例400を示したフローチャートである。サーバデバイス104が動作400を開始した後に、サーバデバイス104は、メディアコンテンツのオリジナルバージョンを受信することができる(402)。サーバデバイス104は、メディアコンテンツのオリジナルバージョンを様々な方法で受信することができる。例えば、サーバデバイス104は、サーバデバイス104に接続されたビデオカメラ又はマイクからの生の音声及び/又は映像データとしてメディアコンテンツのオリジナルバージョンを受信することができる。他の例では、個人は、メディアコンテンツのオリジナルバージョンをサーバデバイス104にアップロードするためにコンピューティングデバイスを使用することができる。この例では、メディアコンテンツのオリジナルバージョンは、既に所定の形式で符号化することができる。さらに他の例では、メディア設計者は、メディアコンテンツのオリジナルバージョンを生成するためにサーバデバイス104で実行する1つ以上のソフトウェアアプリケーションを使用することができる。サーバデバイス104によって行われるとして説明されているが、その他のデバイスも図4の方法を実施するように構成できることが理解されるべきである。例えば、コンテンツ準備デバイス又はコンテンツ準備システムは、図4に関して説明される方法に実質的に準拠する方法を実施するように構成することができる。
メディアコンテンツのオリジナルバージョンを受信後は、セグメンテーションユニット302は、セグメント310を生成することができる(404)。様々な例において、セグメンテーションユニット302は、様々な方法でセグメント310を生成することができる。例えば、セグメンテーションユニット302は、最初に、メディアコンテンツのオリジナルバージョンを1つ以上の期間に分割することができる。次に、セグメンテーションユニット302は、それらの期間の各々に関して複数の組のNALユニットを生成することができる。ある期間に関するNALユニットの各組は、その期間の異なる表現に対応することができる。ある期間に関するNALユニットは、その期間内のフレーム又はその他のサンプルを表現する符号化された映像データを含むことができる。その期間のNALユニットの異なる組は、異なる特徴を有することができる。例えば、NALユニットの異なる組内の映像データは、異なるビットレートでコーディングすることができる。次に、NALユニットの各組に関して、セグメンテーションユニット302は、まとめて期間内のフレーム又はサンプルのシーケンスを表現する映像データを含むNALユニットをカプセル化することによってセグメント310を生成することができる。この方法により、セグメンテーションユニット302は、各表現316に関するセグメント310を生成することができる。メディアコンテンツのオリジナルバージョンが生の映像又は音声データを備える幾つかの例では、セグメンテーションユニット302は、生の映像又は音声データから符号化された映像データを生成することができる。
セグメンテーションユニット302は、ファイルカプセル化規格、例えば、ISOベースメディアファイル形式又はISOベースメディアファイル形式の拡張である3GPPファイル形式、によりセグメント310を生成することができる。ISOベースメディアファイル形式は、メディアの交換、管理、編集、及び提示を容易にする柔軟な、拡張可能な形式での表現のためのタイミングが計られたメディア情報を含むように設計される。ISOベースメディアファイル形式(ISO/IEC 14496−12:2004)は、MPEG−4 Part−12において指定され、それは、時間に基づくメディアファイルに関する一般的構造を定義する。ISOベースメディアファイル形式は、系統内のその他のファイル形式、例えば、H.264/MPEG−4 AVC映像圧縮のためのサポートに関して定義されたAVC映像ファイル形式(ISO/IECV 14496−15)、3GPPファイル形式、SVCファイル形式、及びMVCファイル形式のための基礎として使用される。3GPPファイル形式及びMVCファイル形式は、AVCファイル形式の拡張である。ISOベースメディアファイル形式は、メディアデータのタイミングが計られたシーケンス、例えば、視聴覚提示、のためのタイミング、構造、及びメディア情報を含む。ファイル構造は、オブジェクト指向であることができる。ファイルは、非常に単純に基本的なオブジェクトに分解することができ、及び、オブジェクトの構造は、それらのタイプから暗示することができる。
ISOベースメディアファイル形式(及びその拡張)に準拠したファイルは、“ボックス”と呼ばれる一連のオブジェクトとして形成することができる。ISOベースメディアファイル形式のデータは、ボックス内に入れることができ、従って、その他のデータをファイル内に含める必要はなく、さらに、ファイル内のボックス外にデータが存在する必要がない。これは、指定されたファイル形式によって要求される最初の署名を含む。“ボックス”は、一意のタイプ識別子及び長さによって定義されたオブジェクト指向のビルディングブロックであることができる。典型的には、セグメントは1つのファイルに入れられる。ムービーコンテナ(ムービーボックス)は、ファイルのその他のボックスに関するメタデータを入れることができ、映像及び音声フレームは、メディアデータコンテナ、メディアフラグメント、又はその他の要素の中に入れることができ、及び、その他のファイルで提供することができる。幾つかの例では、セグメント310のうちの1つ以上は、初期化セグメントを備えることができ、それは、ストリームアクセスポイントに対応し、表現の後続するセグメントのための初期化データを含むことができる。代替として、セグメント310は、自己初期化型であることができる。
セグメンテーションユニット302は、データ記憶システム300内にセグメント310を格納することができる(406)。セグメンテーションユニット302の様々な例が様々な方法でセグメント310を格納することができる。例えば、セグメンテーションユニット302は、セグメント310を別個のファイルとして格納することができる。他の例では、セグメンテーションユニット302は、1つ以上のリレーショナルデータベース内にバイナリの大きいオブジェクト(BLOB)としてセグメント310を格納することができる。
セグメンテーションユニット302がセグメント310を生成して格納した後は、優先度ユニット304は、優先度値をセグメント310と関連付けることができる(408)。優先度ユニット304は、様々な方法で優先度値をセグメント310と関連付けることができる。例えば、優先度ユニット304は、別々の優先度値を各セグメント310に割り当てることによって優先度値をセグメント310と関連付けることができる。他の例では、優先度ユニット304は、メディアコンテンツの各セグメントグループに別々の優先度値を割り当てることによって優先度値をセグメント310と関連付けることができる。換言すると、各セグメントグループ314には、別個の優先度値を割り当てることができる。従って、この例では、優先度ユニット304は、所定のセグメントグループ内の各セグメントをその所定のセグメントグループに割り当てられた優先度値と関連付けることができる。
優先度値は、様々な方法で表現することができる。幾つかの例では、優先度ユニット304は、高い優先度値(すなわち、再生品質に差がほとんど又はまったくない)を大きい数字として表現し、低い優先度値(すなわち、品質差が大きい)を小さい数字として表現することができる。例えば、これらの例の一部では、1.0が可能な最高の優先度値であり、0.0が可能な最低の優先度値である。その他の例は、高い優先度値を小さい数字として表現し、低い優先度値を大きい数字として表現することができる。例えば、これらの例の一部では、0.0が可能な最高の優先度値であり、1.0が可能な最低の優先度値である。この方法により、優先度値は、メディアコンテンツのより高いビットレートの表現から特定の時間的セクションに関するセグメントを選択することの相対的重要性を説明することができる。
優先度ユニット304が各々のセグメント310に別々の優先度値を割り当てる例では、優先度ユニット304は、様々な方法で優先度値を割り当てることができる。例えば、優先度ユニット304は、セグメントの優先度値がそのセグメント内の計算された歪みの量と相関するようにセグメント310に優先度値を割り当てることができる。メディアコンテンツが映像である例では、色又は形状の不正確さ、ブロッキネスアーティファクト、リンギングアーティファクト、及びその他の不正確さが、計算された歪み量の増大に貢献する。この例では、優先度ユニット304は、各セグメント310に関して歪み評価プロセスを行うことができる。優先度ユニット304がセグメント310のうちの1つに関して歪み評価プロセスを行うときには、優先度ユニット304は、セグメント内の計算された歪みの量を決定することができる。この例では、優先度ユニット304は、セグメントが小さい量の計算された歪みを有するときに高い優先度値をセグメントに割り当てることができる。対照的に、優先度ユニット304は、セグメントがより大きい量の計算された歪みを有するときにより低い優先度値をセグメントに割り当てることができる。換言すると、セグメント内の計算された歪みの量が多くなるに従い、優先度ユニット304は、漸進的により低い優先度値をセグメントに割り当てることができる。
幾つかの例では、(例えば、セグメンテーションユニット302の)映像符号器は、映像データのフレーム又はスライスのブロックに関する残差値を優先度ユニット304に提供することができる。優先度ユニット304は、セグメント内のピクチャ又はスライスに関する累積的(又は平均の)残差値に基づいて優先度値を割り当てることができる。さらに、又は代替で、人間のオペレータは、優先度ユニット304を用いてセグメントに優先度を割り当てることができる。幾つかの例では、人間のオペレータは、希望される視覚上の品質を達成するためにより高いアクションのシーンにより広い範囲の優先度を割り当てることができ、他方、人間のオペレータは、より低いアクションのシーンに対してはより狭い範囲の優先度を割り当てることができる。幾つかの例では、優先度ユニット304は、セグメントに関するビットレートを、人間のオペレータによって調整することができるピークビットレートで割ることによってセグメントの優先度を割り当てることができる。セグメントに関するビットレートはピークビットレートよりも低いため、セグメントの優先度は、最大値、例えば、1.0、を上限として実効的に設けることができる。幾つかの例では、ピークビットレートは、メディアデータのすべての時間的セクションに関して固定されていない。例えば、より高いアクションのシーンはピークビットレートに関してより高い値を有することができ、より低いアクションのシーンは、ピークビットレートに関してより低い値を有することができる。この方法により、セグメントに関する優先度値は、例えば、優先度ユニット304によって自動的に又は半自動的に割り当てることができる。
以下の表1は、セグメントグループ314内のセグメント310に割り当てられた優先度値例を含む。
Figure 2015501090
図2の例に関して、セグメントグループ314A−314Dは、映像シーケンス202A−202Dにそれぞれ対応することができる。
さらに、優先度ユニット304が優先度値をセグメントに割り当てる例では、優先度ユニット304は、様々な方法で優先度値を割り当てることができる。例えば、メディアコンテンツは映像であることができる。この例では、優先度ユニット304は、視覚品質がセグメントグループ内のより低いビットレートセグメントにおいて低下する度合いに基づいてセグメントグループ内のセグメントに優先度値を割り当てることができる。例えば、優先度ユニット304は、セグメントグループ内のより低いビットレートのセグメントが目に見える形で低下させている視覚品質を有する場合はセグメントグループ内のより高いビットレートのセグメントに対して相対的に高い優先度値を割り当てることができる。逆に、優先度ユニット304は、セグメントグループ内のより低いビットレートのセグメントがより目立たない程度で低下した視覚品質を有する場合はセグメントグループ内のより高いビットレートのセグメントに対して相対的に低い優先度値を割り当てることができる。この方法により、セグメントの優先度値は、人間の神経系統によってセグメント内で感知可能な知覚上の歪みの量と相関させることができる(例えば、クロミナンスよりもルミナンスを優先させる)。その他の例では、優先度ユニット304は、ITU−T勧告BT.500において記述される映像平均意見スコア(VMOS)に基づいてセグメントに優先度値を割り当てることができる。
優先度ユニット304がセグメントグループ314に優先度値を割り当てる他の例では、優先度ユニット304の例は、各々のセグメントグループ314に関する比較動作を行うことができる。この例では、セグメントに関する比較動作中に、優先度ユニット304は、セグメントグループ内の異なるセグメントにおける歪み量を比較することができる。この例では、優先度ユニット304は、歪みレベルがセグメントグループ内のセグメント間で異なる量に基づいてセグメントグループ314内の各セグメントに優先度値を割り当てることができる。この例では、優先度ユニット304は、セグメントグループのセグメント内の歪み量が相対的に大きな量だけ異なるときにセグメントグループ内のより高いビットレートのセグメントに対して相対的に高い優先度値を割り当てることができる。この例では、優先度ユニット304は、セグメントグループのセグメント内の歪み量が相対的に小さい量だけ異なるときにセグメントグループ内のより高いビットレートのセグメントに対して相対的に低い優先度値を割り当てることができる。例えば、歪みは、圧縮されていない映像フレームを圧縮された、従って、歪みを有する映像フレームと比較することによってピーク信号対雑音比(PSNR)で測定することができる。この例では、33dBよりも上のPSNRは、高質であり従って低歪みであるとみなすことができる。28dBよりも低いPSNRは、低質であり従って高歪みであるとみなすことができる。28dB−33dBの間のPSNR値は、中質であり、中歪みであるとみなすことができる。
他の例では、優先度ユニット304は、映像フレーム内部のオブジェクトによって経験される動き量に基づいて優先度値を割り当てることができる。例えば、各映像フレームに関する動きフローフィールドを推定するために光学的フローに基づく動き推定技法を使用することができる。動きフローフィールドは、映像フレームの各空間領域に関する(方向と大きさから成る)動きベクトルから成ることができる。映像の所定の時間的セクションに関する総動き量を示すために映像フレームの時間的セクションに沿った動きベクトルの大きさの総量を使用することができる。
優先度値がセグメント310と関連付けられた後は、マニフェスト生成ユニット306は、マニフェストファイル312を生成する(410)。データ記憶システム300がマニフェストファイル312を格納する(412)。幾つかの例では、マニフェスト生成ユニット306は、優先度ユニット304から優先度値を受信することができる。該例では、マニフェスト生成ユニット306は、マニフェストファイル312がセグメント310と関連付けられた優先度値を指定するような形でマニフェストファイル312を生成することができる。さらに、幾つかの例では、マニフェストファイル312は、セグメント310に関するURLを指定する。本開示の別の場所で説明されるように、クライアントデバイス102は、幾つかの例では、サーバデバイス104からセグメント310を取り出すためにセグメント310に関するURLを使用する。
マニフェストファイル312は、様々な方法でフォーマット化することができる。例えば、マニフェストファイル312は、拡張可能マークアップ言語(XML)文書としてフォーマット化することができる。この例では、マニフェストファイル312は、セグメントに対応するセグメント要素を含むことができる。セグメントに対応するセグメント要素は、セグメントのURLを指定するURL要素及びセグメントと関連付けられた優先度値を指定する優先度要素を含むことができる。
後続して、サーバアプリケーション308は、クライアントデバイス102からマニフェスト要求メッセージを受信することができる(414)。メッセージに応答して、サーバアプリケーション308は、マニフェストファイル312のコピーをクライアントデバイス102に送信することができる(416)。
サーバアプリケーション308がマニフェストファイル312のコピーをクライアントデバイス102に送信後は、サーバアプリケーション308は、クライアントデバイス102から一連のセグメント要求メッセージを受信することができる(418)。セグメント要求メッセージの各々は、1つ以上のセグメント310のコピーを要求することができる。要求されたセグメントは、異なる表現316からのものであることができる。すなわち、クライアントデバイス102から受信されたセグメント要求メッセージは、表現316の異なるそれらのセグメントを指定することができる。サーバアプリケーション308は、セグメント要求メッセージに応答してセグメント310の要求されたコピーをクライアントデバイス102に送信することができる(420)。
この方法により、図4の方法は、適応型ストリーミングネットワークプロトコルを介して映像データを提供するため方法の例を表現することができる。方法は、セグメントに関する優先度を示す情報を送信することを備えることができる。セグメント310の各々は、個々に取り出し可能であることができる。セグメント310は、マルチメディアコンテンツの表現316の特定の時間的セクションに対応することができる。マルチメディアコンテンツの表現316の各々は、異なるビットレートで符号化された映像データを含むことができる。方法は、クライアントデバイス102からの1つ以上の要求に応答して適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信することも含むことができる。要求されたセグメントは、要求によって指定されたセグメント310のうちの幾つかであることができる。
図4の例では、優先度値は、マニフェストファイル内に含められる。その他の例では、優先度値は、マニフェストファイル内の代わりにメディアストリームのメタデータボックス内に含めることができる。幾つかの例では、メタデータボックスは、メディアコンテナ形式の既存のメタデータボックスであることができる。例えば、優先度値は、ISOベースメディアファイル形式(BMFF)を有するMPEG−4規格におけるSIDXボックス内に含めることができる。その他の例では、優先度値は、1つ以上の既存のメディアコンテナ形式に加えられた専用メタデータボックス内に含めることができる。
図5は、クライアントデバイス102の構成例を示すブロック図である。図5の例では、クライアントデバイス102は、制御ユニット500、選択ユニット502、取り出しユニット504、再生バッファ505、レンダリングユニット506、及び出力ユニット508を実装する。クライアントデバイス102は、制御ユニット500、選択ユニット502、取り出しユニット504、再生バッファ505、レンダリングユニット506、及び出力ユニット508を様々な方法で実装することができる。例えば、クライアントデバイス102は、クライアントデバイス102の1つ以上の処理ユニット、例えば、汎用マイクロプロセッサ又はグラフィックス処理ユニット、が特定の命令を実行するときに制御ユニット500、選択ユニット502、取り出しユニット504、レンダリングユニット506、及び/又は出力ユニット508を実装することができる。他の例では、クライアントデバイス102は、制御ユニット500、選択ユニット502、取り出しユニット504、レンダリングユニット506、及び/又は出力ユニット508を実装することをクライアントデバイス102に行わせる1つ以上のASICを備えることができる。様々な例において、クライアントデバイス102は、様々なタイプのコンピュータ記憶媒体を用いて再生バッファ505を実装することができる。
図6は、ユーザ108にメディアコンテンツを提示するためにクライアントデバイス102によって行われる動作例600を示したフローチャートである。クライアントデバイス102が動作600を開始した後に、クライアントデバイス102の制御ユニット500は、サーバデバイス104にマニフェスト要求メッセージを送信することによってマニフェストファイル312を取り出すことができる(602)。幾つかの例では、マニフェスト要求メッセージは、マニフェストファイル312のコピーを要求する。その他の例では、マニフェスト要求メッセージは、メディアコンテンツ一般と関連付けられた経路を指定する。マニフェスト要求メッセージは、様々な方法でフォーマット化することができる。例えば、マニフェスト要求メッセージは、HTTP要求を備えることができる。
制御ユニット500は、メディアコンテンツに関するマニフェストファイル312を格納する(604)。図6の例では、制御ユニット500は、マニフェスト要求メッセージに応答してマニフェストファイル312を受信後にマニフェストファイル312を格納することができる。図6に一致する例では、マニフェストファイル312は、セグメント310と関連付けられた優先度値を指定することができる。この方法により、クライアントデバイス120は、セグメント310と関連付けられた優先度値を受信することができる。さらに、図6に一致する例では、マニフェストファイル312は、セグメント310のURLを指定することができる。
その他の例では、クライアントデバイス102は、セグメント310と関連付けられた優先度値及び/又はセグメント310のURLをその他の方法で受信することを読者は理解するであろう。例えば、クライアントデバイス102は、セグメント310のセグメントインデックスボックスから優先度値を受信することができる。他の例では、クライアントデバイス102は、メディアコンテンツのメタデータトラックから優先度値を受信することができる。
マニフェストファイル312を受信後は、クライアントデバイス102の選択ユニット502は、やって来る期間に関するセグメントの組み合わせを選択することができる(606)。セグメントの組み合わせは、やって来る期間における各セグメントグループからの1つのセグメントを含むセグメントの組である。やって来る期間は、メディアコンテンツの時間的セクションに対応することができる。説明を容易にするため、本書は、やって来る期間の時間的セクション内の時間的セクションに対応するセグメントを含むセグメントグループを、やって来る期間におけるセグメントグループと呼ぶことができる。例えば、セグメントグループ314A及び314Bは、1つのウィンドウ内に存在することが可能であり、セグメントグループ314N及びメディアコンテンツの他のセグメントグループは、他のウィンドウ内に存在することが可能であり、以下同様である。
様々な例において、ウィンドウは、様々な数のセグメントグループを含むことができる。例えば、ウィンドウは、一定の数のセグメントグループを含むことができる。例えば、ウィンドウは、各々が3つのセグメントグループを含むことができる。他の例では、ウィンドウは、各々が4つのセグメントグループを含むことができる。ウィンドウが一定の数のセグメントを含む例では、最後のウィンドウは、一定の数のセグメントグループよりも少ない数を含むことができる。他の例では、ウィンドウは、メディアコンテンツのすべてのセグメントグループを含むことができる。さらに他の例では、ウィンドウは、可変の数のセグメントグループを含むことができる。
選択ユニット502は、やって来る期間に関するセグメントの組み合わせを様々な方法で選択することができる。以下において詳細に説明される図7及び8は、やって来る期間に関するセグメントの組み合わせを選択するために選択ユニット502によって行われる動作例を示す。選択ユニット502は、やって来る期間に関するセグメントの組み合わせを選択するために図7及び8の例で示される以外の動作を行うことができることを読者は理解するであろう。説明を容易にするため、本開示は、選択されたセグメントの組み合わせ内のセグメントを選択されたセグメントと呼ぶことができる。
選択ユニット502がやって来る期間に関するセグメントの組み合わせを選択した後は、クライアントデバイス102の取り出しユニット504は、適応型ストリーミングネットワークプロトコルによりサーバデバイス104から選択されたセグメントを取り出すことができる(608)。取り出しユニット504は、選択されたセグメントをサーバデバイス104から様々な方法で取り出すことができる。例えば、マニフェストファイル312は、セグメント310に関するURLを指定することができる。この例では。取り出しユニット504は、選択されたセグメントに関するURLによって識別されたリソースを要求するセグメント要求メッセージを送信することができる。取り出しユニット504は、セグメント要求メッセージに応答してサーバデバイス104から選択されたセグメントを受信することができる。幾つかの該例では、セグメント要求メッセージは、選択されたセグメントのコピーを要求するHTTPメッセージである。HTTPメッセージは、選択されたセグメントのURLのドメイン名部と関連付けられたコンピューティングデバイスにアドレッシングされる。HTTPメッセージは、選択されたセグメントのURLの経路部分によって示されたリソースを要求することができる。換言すると、取り出しユニット504は、選択されたセグメントのコピーを要求するHTTP要求メッセージを生成するために選択されたセグメントに関するURLを使用することができる。サーバデバイス104が単一のファイル内に複数のセグメント310を格納する例では、HTTP要求メッセージは、HTTPパーシャルゲット(partial get)要求であることができる。
クライアントデバイス102がサーバデバイス104から選択されたセグメントを取り出した時点で、取り出しユニット504は、選択されたセグメントを再生バッファ505に格納することができる(609)。レンダリングユニット506は、再生バッファ505からセグメントを取り出すことができ及び出力ユニット508による出力に適するサンプルを生成するためにセグメントの組み合わせ内のセグメントを復号することができる(610)。例えば、レンダリングユニット506は、映像フレーム又は音声サンプルを生成するために選択されたセグメントを復号することができる。出力ユニット508は、選択されたセグメントによって表現されたサンプルを出力することができる(612)。この方法により、出力ユニット508は、選択されたセグメントを再生することができる。
出力ユニット508が選択されたセグメントによって表現されたサンプルを出力後にメディアコンテンツの再生が終了する場合は(614の“はい”)、動作600は、終了することができる。メディアコンテンツの再生は、様々な理由で終了することが可能である。例えば、メディアコンテンツが映像である場合は、出力ユニット508が映像の最後のフレームを提示した時点でメディアコンテンツの再生が終了することができる。他の例では、メディアコンテンツの再生は、ユーザ108がメディアコンテンツの再生を終了するようにクライアントデバイス102に命令したときに終了することができる。
出力ユニット508が選択されたセグメントによって表現されたメディアを出力後にメディアコンテンツの再生が終了しない場合は(614の“いいえ”)、選択ユニット502は、次のやって来る期間に関するセグメントの組み合わせを選択することができる(606)。次のやって来る期間は、現在のやって来る期間のセグメントグループ内のセグメントに対応するメディアコンテンツの時間的セクションに後続するメディアコンテンツの時間的セクションに対応するセグメントが入ったセグメントグループを含むことができる。メディアコンテンツの再生が終了するまでステップ608、610、612、及び614を繰り返すことができる。
図7は、やって来る期間に関するセグメントの組み合わせを選択するためにクライアントデバイス102によって行われる動作例700を示したフローチャートである。動作700が開始後は、選択ユニット502は、推定される帯域幅を計算することができる(702)。推定される帯域幅は、クライアントデバイス102がネットワーク106を介してサーバデバイス104からデータを受信することができるレートの推定値であることができる。例えば、選択ユニット502は、クライアントデバイス102が0.58Mbpsのレートでサーバデバイス104からデータを受信することができると決定することができる。
選択ユニット502は、推定される帯域幅を様々な方法で計算することができる。例えば、選択ユニット502は、クライアントデバイス102が過去の60秒の間にどれだけの量のデータをサーバデバイス104から受信することができたかに基づいて推定される帯域幅を計算することができる。他の例では、サーバデバイス104は、クライアントデバイス102に帯域幅メッセージを送信することができる。帯域幅メッセージは、サーバデバイス104がクライアントデバイス102にデータを送信する最大レートを示すことができる。この例では、選択ユニット502は、帯域幅メッセージによって示されるレートに少なくとも部分的に基づいて推定される帯域幅を決定することができる。
さらに、選択ユニット502は、該当するセグメントと関連付けられた優先度値をマニフェストファイル312から読み取ることができる(704)。該当するセグメントの各々は、やって来る期間内はセグメントグループ内に存在することができる。例えば、図2の例では、やって来る期間がセグメントグループ314A及び314Bを含む場合は、セグメントグループ314A及び314B内のセグメント310が該当するセグメントであることができる。
その他の例では、選択ユニット502は、該当するセグメントと関連付けられた優先度値をその他のソースから読み取ることができる。例えば、選択ユニット502は、該当するセグメントと関連付けられた優先度値をそれらのセグメントのセグメントインデックスボックスから読み取ることができる。他の例では、選択ユニット502は、該当するセグメントと関連付けられた優先度値をメディアコンテンツのメタデータトラックから読み取ることができる。
さらに、選択ユニット502は、再生バッファ505内の映像データの現在の再生継続時間を決定することができる(705)。幾つかの例では、再生バッファ505内の映像データの現在の再生継続時間は、取り出しユニット504が新しい映像データ(例えば、セグメント)を再生バッファ505に追加しなかった場合にレンダリングユニット506及び出力ユニット508が再生バッファ505に格納された映像データを再生するために経過する時間量であることができる。例えば、レンダリングユニット506及び出力ユニット508は、取り出しユニット504が新しい映像データを再生バッファ505に追加しなかった場合でさえも再生バッファ505からの映像データを10秒間再生し続けることができる。
利用可能な帯域幅を推定後で、該当するセグメントに関する優先度値を読み取った後で、及び再生バッファ505内の映像データの現在の再生継続時間を決定後に、選択ユニット502は、1つ以上の候補の組み合わせを識別することができる(706)。セグメントの組み合わせは、やって来る期間内における各セグメントグループからの1つのセグメントを含むセグメントの組であることができる。
幾つかの例では、選択ユニット502は、セグメントの組み合わせ内のセグメントの累積的ビットレートが推定される帯域幅よりも有意に大きくないときにセグメントの組み合わせを候補の組み合わせして識別することができる。幾つかの例では、セグメントの累積的ビットレートは、セグメントのビットレートの平均である。例えば、セグメント310の各々が3秒に値するサンプルを表現し、やって来る期間が4つのセグメントグループを含む場合は、やって来る期間と関連付けられた時間の量は12秒であることができる。換言すると、やって来る期間の再生継続時間は12秒である。この例では、選択ユニット502は、1.75Mbpsの推定される帯域幅を計算することができる。従って、この例では、クライアントデバイス102は、12秒ごとにサーバデバイス104から約21.0メガビットを受信することができる。さらに、この例では、セグメントA及びBは、第1のセグメントグループに対応し、セグメントC及びDは第2のセグメントグループに対応し、セグメントE及びFは、第3のセグメントグループに対応する。この例では、セグメントA、C、及びEは、3.0Mbpsのビットレートを有し、セグメントB、D、及びFは、1.0Mbpsのビットレートを有する。この例では、利用可能なセグメントの組み合わせは、A−C−E、A−C−F、A−D−E、A−D−F、B−C−E、B−C−F、B−D−E、及びB−D−Fである。しかしながら、セグメントの組み合わせA−C−Eに関する平均ビットレートは、3.0Mbpsである。従って、クライアントデバイス102は、メディアコンテンツの再生を再バッファリングせずに組み合わせA−C−Eを受信するために36.0メガビットを12秒で受信する必要がある。36.0メガビットは、サーバデバイス104が12秒でクライアントデバイス102に転送することができる21.0メガビットよりも大きい。従って、セグメントの組み合わせA−C−Eは、候補の組み合わせでない。残りのセグメントの組み合わせの平均ビットレートは、推定される帯域幅よりも小さいため、残りのセグメントの組み合わせは候補の組み合わせである。
幾つかの例では、選択ユニット502は、セグメントの組み合わせ内のセグメントの平均ビットレートが推定される帯域幅を厳密に超えないときのみにセグメントの組み合わせを候補の組み合わせとして識別することができる。その他の例では、選択ユニット502は、セグメントの組み合わせ内のセグメントの平均ビットレートが推定される帯域幅よりもわずかに大きい場合でもセグメントの組み合わせを候補の組み合わせとして識別することができる。例えば、セグメントの組み合わせは、セグメントの組み合わせ内のセグメントのビットレートの平均が推定される帯域幅よりも10%未満だけ大きいときに候補の組み合わせであることができる。
幾つかの例では、選択ユニット502は、セグメントに関する優先度値、推定される帯域幅、及び再生バッファ505内の映像データの現在の再生継続時間に基づいてセグメントを選択することができる。再生バッファ505は、映像データが再生されるまで映像データを格納することができる。再生バッファ505に映像データを格納することは、一時的なネットワーク帯域幅の低減に起因する映像の再生中の停止を防止することができる。該例では、選択ユニット502は、セグメントの組み合わせ内のセグメントに関する推定転送時間が、セグメントの組み合わせ内のセグメントの再生継続時間プラス再生バッファ505内の映像データの現在の再生継続時間以下であるときにセグメントの組み合わせを候補の組み合わせとして識別することができる。
セグメントの組み合わせ内のセグメントに関する推定転送時間は、推定される帯域幅及び選択されたセグメント内の総ビット数に基づくことができる。例えば、セグメントの組み合わせ内のセグメントに関する推定転送時間は、選択されたセグメント内の総ビット数を推定される帯域幅で割った値と等しいことができる。この例では、セグメント内の総ビット数が36.0メガビットであり、推定される帯域幅が1.75Mbpsである場合は、セグメントに関する推定転送時間は約20.6秒であることができる。この例では、セグメントの再生継続時間は、12.0秒であることができる。従って、この例では、再生バッファ505内の映像データの現在の再生継続時間が8.6秒(すなわち、20.6秒−12.0秒)よりも大きい場合は、選択ユニット502は、セグメントの組み合わせを候補の組み合わせであるとみなすことができる。
幾つかの例では、選択ユニット502は、セグメントの組み合わせに関する推定転送時間がセグメントの組み合わせの再生継続時間プラス再生バッファ505内の映像データの現在の再生継続時間に基づく継続時間以下であるときに候補の組み合わせである。例えば、選択ユニット502は、再生バッファ505内の映像データの現在の再生継続時間全体から所定の時間量を減じることによって継続時間値を生成することができる。この例では、選択ユニット502は、セグメントの組み合わせに関する推定転送時間がセグメントの組み合わせの再生継続時間プラス生成された継続時間値以下であるかどうかを決定することによってセグメントの組み合わせが候補の組み合わせであるかどうかを決定することができる。他の例では、選択ユニット502は、再生バッファ505内の映像データの現在の再生継続時間全体の一部分として同様の継続時間値を生成し、この値を同様の方法で使用することができる。
候補の組み合わせを識別後は、選択ユニット502は、候補の組み合わせの各々に関するサービス品質(QoS)スコアを計算することができる(708)。候補の組み合わせに関するQoSスコアは、候補の組み合わせ内のセグメントと関連付けられた優先度値に基づくことができる。例えば、候補の組み合わせがセグメントA、B、及びCを含む場合は、候補の組み合わせに関するQoSスコアは、セグメントA、B、及びCと関連付けられた優先度値に基づくことができる。
選択ユニット502は、候補の組み合わせに関するQoSスコアを様々な方法で計算することができる。例えば、セグメント310の各々に対して別々の優先度値を割り当てることができる。この例では、選択ユニット502は、所定の候補の組み合わせ内のセグメントに割り当てられた優先度値を合計することによって所定の候補の組み合わせに関するQoSスコアを計算することができる。例えば、所定の候補の組み合わせ内のセグメントに割り当てられた優先度値が1.0、1.0、及び0.8である場合は、所定の候補の組み合わせに関するQoSスコアは、2.8であることができる。他の例では、候補の組み合わせのセグメントと関連付けられた優先度値は、セグメントのPSNR値に基づくことができる。従って、この例では、選択ユニット502は、所定の候補の組み合わせ内のセグメントのPSNR値に基づいて所定の候補の組み合わせに関するQoSスコアを決定することができる。この例では、所定の候補の組み合わせに関するQoSスコアは、所定の候補の組み合わせの全体的なPSNR値に等しいことができる。
他の例では、セグメント310の各々に対して別々の優先度値を割り当てることができる。この例では、選択ユニット502は、所定の候補の組み合わせ内のセグメントに割り当てられた優先度値の幾何平均を計算することによって所定の候補の組み合わせに関するQoSスコアを計算することができる。換言すると、所定の候補の組み合わせ内にnのセグメントが存在する場合は、選択ユニット502は、セグメントに割り当てられた優先度値を乗算してその結果得られた値のn番目のルートをとることによって所定の候補の組み合わせに関するQoSスコアを計算することができる。例えば、所定の候補の組み合わせ内のセグメントに割り当てられた優先度値が0.1、1.0、1.0、及び0.3である場合は、所定の候補の組み合わせに関するQoSスコアは、0.4162であることができる。
さらに他の例では、セグメントグループ314の各々に対して別々の優先度値を割り当てることができる。この例では、選択ユニット502は、セグメント310の各々に関する別々の優先度値を計算するためにセグメントグループ314に割り当てられた優先度値を使用する。様々な例では、選択ユニット502は、セグメント310の各々に関する別々の優先度値を様々な方法で計算するためにセグメントグループ314に割り当てられた優先度値を使用することができる。例えば、選択ユニット502は、所定のセグメントグループに割り当てられた優先度スコアを所定のセグメントのビットレートに乗じることによって所定のセグメントグループ内の所定のセグメントに関する優先度値を計算するために所定のセグメントグループに割り当てられた優先度値を使用することができる。前段落の例を続けると、候補の組み合わせの各々におけるセグメントの各々に関する優先度スコアを計算後は、選択ユニット502は、候補の組み合わせに関するQoSスコアを計算することができる。選択ユニット502は、候補の組み合わせに関するQoSスコアを様々な方法で計算することができる。例えば、選択ユニット502は、候補の組み合わせ内のセグメントに関する優先度値を合計するか、候補の組み合わせ内のセグメントに関する優先度値の幾何平均を計算するか、又は候補の組み合わせに関するQoSスコアを他の方法で計算することによって候補の組み合わせに関するQoSスコアを計算することができる。
幾つかの例では、クライアントデバイス102によって解決される問題の性質は、“ナップサック”問題によって説明することができる。“ナップサック”問題は、Papadimitirou, C., and K. Steiglitz, Combinational Optimization: Algorithms and Complexity, New Jersey: Prentice-Hall, 1982において説明される。概して、この問題は、最大の体積を有する物体を、容量が限られた有限のサイズの“ナップサック”内に入れる最良の方法を決定することであると説明される。本開示の技法に関して、問題は、クライアントデバイス102が次のNの数のセグメントに関する最大の合計の優先度セットを固定されたビン、すなわち、Nのセグメントを取り出すために利用可能であると決定された帯域幅の量、内に入れることを試みることに対応することができる。多くのタイプのナップサック問題は、NP−hardである(ここで、“NP”は、“非決定性多項式時間”のイニシャル)が、擬似多項式時間における幾つかのアルゴリズムは知られている。
候補の組み合わせに関するQoSスコアを計算後は、選択ユニット502は、候補の組み合わせの中から選抜された組み合わせを識別することができる(710)。選択ユニット502は、選抜された組み合わせを様々な方法で識別することができる。例えば、高優先度値が高い数値を有する例では、選抜された組み合わせは、候補の組み合わせのうちのその他の各々の1つに関するQoSスコア以上のQoSスコアを有する。例えば、候補の組み合わせが0.416、0.4695、及び0.221のQoSスコアを有する場合は、選抜された組み合わせは、0.4695のQoSスコアを有する候補の組み合わせであることができる。高優先度値が低い数値を有する例では、選抜された組み合わせは、候補の組み合わせのうちのその他の各々の1つに関するQoSスコア以下のQoSスコアを有することができる。この方法により、選択ユニット502は、セグメントグループ内のセグメントの優先度値及びセグメントシーケンスの追加のリソースグループに属するセグメントの優先度値に少なくとも部分的に基づいてセグメントシーケンスのセグメントグループのうちの1つにおけるセグメント間で所定のセグメントを選択することができる。他の例では、選抜された組み合わせは、最小−最大最適化を介して決定することができ、その目的は、最小のQoSのセグメントを最大化することである。この例では、高い優先度がより高いサービスの品質を示し、候補の組み合わせが0.32、0.40、及び0.4125の最小QoS値を有する場合は、選抜される組み合わせは、0.4125のQoSスコアを有する候補の組み合わせであることができる。
図8は、やって来る期間に関するセグメントの組み合わせを選択するためにクライアントデバイス102によって行われる動作例750を示したフローチャートである。上記の説明は、帯域幅に焦点を合わせている。しかしながら、本開示の技法は、それには限定されない。むしろ、本開示の技法は、推定されるスループットに一般的に適用可能である。スループットは、所定の期間にわたって処理されるデータの量であることができる。ネットワーク106の帯域幅は、やって来る期間にネットワーク106を通じて転送されるデータの量であることができる。図8の例では、推定されるスループットは、やって来る期間に1つ以上のプロセッサによって復号することができる符号化されたメディアデータの量である。
動作750は、幾つかの点が動作700に類似する(図7)。しかしながら、動作750は、ネットワーク帯域幅の代わりに処理容量を使用する。動作750を使用する例では、クライアントデバイス102は、映像データを事前に格納することができ、サーバデバイス、例えば、サーバデバイス104、からデータを転送する必要がない。
動作750が開始後は、選択ユニット502は、やって来る期間に関する推定される利用可能な処理容量を計算することができる(752)。やって来る期間に関する推定される利用可能な処理容量は、クライアントデバイス102がやって来る期間中に復号することができる符号化されたメディアデータの量の推定値であることができる。さらに、選択ユニット502は、該当するセグメントと関連付けられた優先度値をマニフェストファイル312又はその他のソースから読み取ることができる(754)。該当するセグメントの各々は、やって来る期間内のセグメントグループ内に存在することができる。
選択ユニット502は、再生バッファ505内の映像データの現在の再生継続時間を決定することができる(755)。幾つかの例では、再生バッファ505内の映像データの現在の再生継続時間は、取り出しユニット504が新しい復号された映像データ(例えば、セグメント)を再生バッファ505に追加しなかった場合にレンダリングユニット506及び出力ユニット508が再生バッファ505に格納された映像データを再生するために経過する時間量であることができる。利用可能な処理容量を推定後で、該当するセグメントに関する優先度値を読み取り後で、再生バッファ505内の映像データの現在の再生継続時間を決定後に、選択ユニット502は、1つ以上の候補の組み合わせを識別することができる(756)。セグメントの組み合わせは、やって来る期間内における各セグメントグループからの1つのセグメントを含むセグメントの組であることができる。
幾つかの例では、選択ユニット502は、セグメントの組み合わせ内のセグメント内の符号化されたメディアデータの量が推定された利用可能な処理容量(より一般的には推定スループット)よりも有意に大きくないときにセグメントの組み合わせを候補の組み合わせとして識別することができる。幾つかの例では、選択ユニット502は、セグメントの組み合わせ内のセグメント内の符号化されたデータの正規化された量がやって来る期間に関する推定された利用可能な処理容量を厳密に超えないときのみにセグメントの組み合わせを候補の組み合わせとして識別することができる。
幾つかの例では、選択ユニット502は、セグメントに関する優先度値、推定される利用可能な処理容量、及び再生バッファ505内の映像データの現在の再生継続時間に基づいてセグメントを選択することができる。再生バッファ505は、復号された映像データが再生されるまで復号された映像データを格納することができる。再生バッファ505に復号された映像データを格納することは、一時的なネットワーク帯域幅の低減に起因する復号された映像データの再生中の停止を防止することができる。該例では、選択ユニット502は、利用可能な処理容量を考慮した場合のセグメントの組み合わせ内のセグメントを復号する推定時間が、セグメントの組み合わせ内のセグメントの再生継続時間プラス再生バッファ505内の映像データの現在の再生継続時間以下であるときにセグメントの組み合わせを候補の組み合わせとして識別することができる。
候補の組み合わせを識別後は、選択ユニット502は、候補の組み合わせの各々に関するサービス品質(QoS)スコアを計算することができる(758)。候補の組み合わせに関するQoSスコアは、候補の組み合わせ内のセグメントと関連付けられた優先度値に基づくことができる。選択ユニット502は、図7に関して上述される例によって説明される方法で候補の組み合わせに関するQoSスコアを計算することができる。
候補の組み合わせに関するQoSスコアを計算後は、選択ユニット502は、候補の組み合わせの中から選抜された組み合わせを識別することができる(760)。選択ユニット502は、選抜された組み合わせを様々な方法で、例えば、図7に関して上述される方法で、識別することができる。
この方法により、クライアントデバイス102は、推定されるスループットを決定し、推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、セグメントのうちの1つ以上を選択することができる。表現は、映像データは異なるビットレートで符号化されること、各々のセグメントを個々に取り出し可能であること、及びセグメントは、表現の特定の時間的セクションに対応することを含む。クライアントデバイス102は、1つ以上の選択されたセグメントを処理する(例えば、取り出す及び/又は復号する)ことができる。
図9は、コンピューティングデバイス例800のブロック図である。コンピューティングデバイス800は、情報を処理する物理的デバイスである。幾つかの例では、クライアントデバイス102及びサーバデバイス104は、コンピューティングデバイス800に類似する1つ以上のコンピューティングデバイスを備える。
コンピューティングデバイス800は、データ記憶システム802と、メモリ804と、二次的記憶システム806と、処理システム808と、入力インタフェース810と、ディスプレイインタフェース812と、通信インタフェース814と、1つ以上の通信媒体816と、を備える。通信媒体816は、処理システム808、入力インタフェース810、ディスプレイインタフェース812、通信インタフェース814、メモリ804、及び二次的記憶システム806の間でのデータ通信を可能にすることができる。コンピューティングデバイス800は、図9の例において示されるコンポーネントに加えてのそれらを含むことができることを読者は理解するであろう。さらに、幾つかのコンピューティングデバイスは図9の例において示されるすべてコンポーネントを含むわけではないことを読者は理解するであろう。
コンピュータによって読み取り可能な媒体は、処理システム808がデータを読み取ることができる媒体であることができる。用語コンピュータによって読み取り可能な媒体は、コンピュータ記憶媒体及び通信媒体を意味することができる。コンピュータ記憶媒体は、のちの取り出しのためにデータを格納する物理的デバイスを含むことができる。コンピュータ記憶媒体は、非一時的であることができる。例えば、コンピュータ記憶媒体は、伝搬された信号を排他的に備えない。コンピュータ記憶媒体は、揮発性記憶媒体と、非揮発性記憶媒体と、を含むことができる。コンピュータ記憶媒体のタイプ例は、ランダムアクセスメモリ(RAM)ユニット、読み取り専用メモリ(ROM)デバイス、ソリッドステートメモリデバイス、光ディスク(例えば、コンパクトディスク、DVD、BluRayディスク、等)、磁気ディスクドライブ、磁気テープドライブ、及びのちの取り出しのためにデータを格納するその他のタイプのデバイス、を含むことができる。通信媒体は、1つのデバイスが他のデバイスにデータを通信することができる媒体を含むことができる。通信媒体のタイプ例は、通信ネットワークと、通信ケーブルと、無線通信リンクと、通信バスと、1つのデバイスが他のデバイスにデータを通信することができるその他の媒体と、を含むことができる。
データ記憶システム802は、のちの取り出しのためにデータを格納するシステムであることができる。図9の例では、データ記憶システム802は、メモリ804と、二次的記憶システム806と、を備える。メモリ804及び二次的記憶システム802は、のちの取り出しのためにデータを格納することができる。図9の例では、メモリ804は、コンピュータによって読み取り可能な命令818及びプログラムデータ820を格納する。二次的記憶システム806は、コンピュータによって読み取り可能な命令822及びプログラムデータ824を格納する。物理的には、メモリ804及び二次的記憶システム806は、1つ以上のコンピュータ記憶媒体を各々備えることができる。
処理システム808は、データ記憶システム802に結合することができる。処理システム808は、コンピュータによって読み取り可能な命令を読み取って実行することができる。処理システム808によるコンピュータによって読み取り可能な命令の実行は、コンピュータによって読み取り可能な命令によって指示された行動をすることをコンピューティングデバイス800に行わせることができる。例えば、処理システム808によるコンピュータによって読み取り可能な命令の実行は、基本的入力/出力システム、オペレーティングシステム、システムプログラム、アプリケーションプログラムを提供することをコンピューティングデバイス800に行わせることができ、又は、その他の機能を提供することをコンピューティングデバイス800に行わせることができる。他の例では、処理システム808によるコンピュータによって読み取り可能な命令の実行は、サーバデバイス104のセグメンテーションユニット302、優先度ユニット304、マニフェスト生成ユニット306、及び/又はサーバアプリケーション308を提供することをコンピューティングデバイス800に行わせることができる。さらに他の例では、処理システム808によるコンピュータによって読み取り可能な命令の実行は、クライアントデバイス102の制御ユニット500、選択ユニット502、取り出しユニット504、レンダリングユニット506、及び出力ユニット508を提供することをコンピューティングデバイス800に行わせることができる。
処理システム808は、1つ以上のコンピュータによって読み取り可能な媒体からコンピュータによって読み取り可能な命令を読み取ることができる。例えば、処理システム808は、メモリ804及び二次的記憶システム806に格納されたコンピュータによって読み取り可能な命令を読み取って実行することができる。
処理システム808は、1つ以上の処理ユニット826を備えることができる。処理ユニット826は、コンピュータによって読み取り可能な命令を実行する物理的デバイスを備えることができる。処理ユニット826は、コンピュータによって読み取り可能な命令を実行する様々なタイプの物理的デバイスを備えることができる。例えば、処理ユニット826のうちの1つ以上は、マイクロプロセッサ、マイクロプロセッサ内の処理コア、デジタル信号プロセッサ、グラフィックス処理ユニット、汎用グラフィックス処理ユニット、又は、コンピュータによって読み取り可能な命令を実行する他のデバイス又は物理的デバイスを備えることができる。
入力インタフェース810は、コンピューティングデバイス800が入力デバイス828から入力を受信するのを可能にすることができる。入力デバイス828は、ユーザからの入力を受信するデバイスを備えることができる。入力デバイス828は、ユーザからの入力を受信する様々なタイプのデバイスを備えることができる。例えば、入力デバイス828は、キーパッド、タッチ式画面、マウス、マイク、キーパッド、ジョイスティック、ブレーン−コンピュータインタフェースデバイス、又はユーザからの入力を受信する他のタイプのデバイスを備えることができる。幾つかの例では、入力デバイス828は、コンピューティングデバイス800のハウジング内に組み入れることができる。その他の例では、入力デバイス828は、コンピューティングデバイス800のハウジング外に存在することができる。
ディスプレイインタフェース812は、コンピューティングデバイス800が表示装置830上に出力を表示するのを可能にすることができる。表示装置830は、出力を表示するデバイスであることができる。表示装置のタイプ例は、モニタ、タッチ式画面、表示画面、テレビ、及び出力を表示するその他のタイプのデバイスを含むことができる。幾つかの例では、表示装置830は、コンピューティングデバイス800のハウジング内に組み入れることができる。その他の例では、表示装置830は、コンピューティングデバイス800のハウジング外に存在することができる。
通信インタフェース814は、コンピューティングデバイス800が1つ以上の通信媒体を通じてデータを送信及び受信するのを可能にすることができる。通信インタフェース814は、様々なタイプのデバイスを備えることができる。例えば、通信インタフェース814は、ネットワークインタフェースカード(NIC)、無線ネットワークアダプタ、ユニバーサルシリアルバス(USB)ポート、又は、コンピューティングデバイス800が1つ以上の通信媒体を通じてデータを送信及び受信するのを可能にする他のタイプのデバイスを備えることができる。
1つ以上の例では、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらのあらゆる組み合わせにおいて実装することができる。ソフトウェアにおいて実装される場合は、それらの機能は、コンピュータによって読み取り可能な媒体上で1つ以上の命令又はコードとして格納又は送信し、ハードウェアに基づく処理ユニットによって実行することができる。コンピュータによって読み取り可能な媒体は、コンピュータによって読み取り可能な記憶媒体を含むことができ、それは、有形な媒体、例えば、データ記憶媒体、又は、例えば、通信プロトコルによる1つの場所から他へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体を含むことができる。この方法により、コンピュータによって読み取り可能な媒体は、概して、(1)非一時的である有形のコンピュータによって読み取り可能な記憶媒体又は(2)通信媒体、例えば、信号又は搬送波、に対応することができる。データ記憶媒体は、本開示において説明される技法の実装のために命令、コード及び/又はデータ構造を取り出すために1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスすることができるあらゆる利用可能な媒体であることができる。コンピュータプログラム製品は、コンピュータによって読み取り可能な媒体を含むことができる。
一例として、ただし制限することなしに、該コンピュータによって読み取り可能な記憶媒体は、RAM、ROM、EEPROM、CD−ROM又はその他の光学ディスク記憶装置、磁気ディスク記憶装置、その他の磁気記憶デバイス、フラッシュメモリ、又は、希望されるプログラムコードを命令又はデータ構造の形態で格納するために使用することができ及びコンピュータによってアクセス可能であるあらゆるその他の媒体を備えることができる。さらに、いずれの接続もコンピュータによって読み取り可能な媒体であると適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者ライン(DSL)、又は無線技術、例えば、赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合は、該同軸ケーブル、光ファイバケーブル、より対線、DSL、又は無線技術、例えば赤外線、無線、及びマイクロ波、は、媒体の定義の中に含まれる。しかしながら、コンピュータによって読み取り可能な記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又はその他の過渡的な媒体は含まず、非過渡的な有形な記憶媒体が対象となることが理解されるべきである。ここにおいて用いられるときのディスク(disk及びdisc)は、コンパクトディスク(CD)(disc)と、レーザディスク(disc)と、光ディスク(disc)と、デジタルバーサタイルディスク(DVD)(disc)と、フロッピー(登録商標)ディスク(disk)と、ブルーレイディスク(disc)と、を含み、ここで、diskは通常は磁気的にデータを複製し、discは、レーザを用いて光学的にデータを複製する。上記の組合せも、コンピュータによって読み取り可能な媒体の適用範囲に含めるべきである。
命令は、1つ以上のプロセッサ、例えば、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、又はその他の同等の集積回路又はディスクリート論理回路によって実行することができる。従って、ここにおいて使用される場合の用語“プロセッサ”は、上記の構造又はここにおいて説明される技法の実装に適したあらゆるその他の構造を意味することができる。さらに、幾つかの態様では、ここにおいて説明される機能は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内で提供するか、又は結合されたコーデックに組み入れることができる。さらに、それらの技法は、1つ以上の回路又は論理素子内に完全に実装することが可能である。
本開示の技法は、無線ハンドセット、集積回路(IC)又は一組のIC(例えば、チップセット)を含む非常に様々なデバイス又は装置に実装することができる。開示される技法を実施するように構成されたデバイスの機能上の態様を強調するために本開示では様々なコンポーネント、モジュール、又はユニットが説明されているが、異なるハードウェアユニットによる実現を必ずしも要求するものではない。むしろ、上述されるように、様々なユニットは、適切なソフトウェア及び/又はファームウェアと関係させて、コーデックハードウェアユニット内で結合させるか、又は上述される1つ以上のプロセッサを含む相互運用可能なハードウェアユニットの集合によって提供することができる。
様々な例が説明されている。これらの及びその他の例は、以下の請求項によって定義される本発明の適用範囲内である。
本開示の技法は、無線ハンドセット、集積回路(IC)又は一組のIC(例えば、チップセット)を含む非常に様々なデバイス又は装置に実装することができる。開示される技法を実施するように構成されたデバイスの機能上の態様を強調するために本開示では様々なコンポーネント、モジュール、又はユニットが説明されているが、異なるハードウェアユニットによる実現を必ずしも要求するものではない。むしろ、上述されるように、様々なユニットは、適切なソフトウェア及び/又はファームウェアと関係させて、コーデックハードウェアユニット内で結合させるか、又は上述される1つ以上のプロセッサを含む相互運用可能なハードウェアユニットの集合によって提供することができる。
様々な例が説明されている。これらの及びその他の例は、以下の請求項によって定義される本発明の適用範囲内である。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
映像データを処理するための方法であって、
推定されるスループットを決定することと、
前記推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、前記セグメントのうちの1つ以上を選択することであって、前記表現は、映像データが異なるビットレートで符号化されること、前記セグメントの各々は個々に取り出し可能であること、及び前記セグメントは、前記表現の特定の時間的セクションに対応すること、を含むことと、
前記1つ以上の選択されたセグメントを処理することと、を備える、方法。
[C2]
前記推定されるスループットは、通信ネットワークの帯域幅であるC1に記載の方法。
[C3]
適応型ストリーミングネットワークプロトコルにより前記1つ以上の選択されたセグメントを要求することをさらに備えるC2に記載の方法。
[C4]
前記推定されるスループットは、1つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値であるC1に記載の方法。
[C5]
前記セグメントに関する前記優先度値及び前記推定されるスループットに基づいて前記セグメントのうちの1つ以上を選択することは、前記セグメントに関する前記優先度値、前記推定されるスループット、及び追加で、再生バッファ内の映像データの現在の再生継続時間に基づいて前記セグメントのうちの1つ以上を選択することを備えるC1に記載の方法。
[C6]
前記推定されるスループットは、通信ネットワークの推定される帯域幅であり、前記1つ以上の選択されたセグメントに関する推定される転送時間は、前記1つ以上の選択されたセグメントの再生継続時間プラス前記再生バッファ内の前記映像データの前記現在の再生継続時間以下であり、前記1つ以上の選択されたセグメントに関する前記推定される転送時間は、前記推定される帯域幅及び前記1つ以上の選択されたセグメント内の総ビット数に少なくとも部分的に基づくC5に記載の方法。
[C7]
前記1つ以上の選択されたセグメントによって表現されるフレームのシーケンスをレンダリングすることと、
フレームの前記シーケンスを表示装置上で提示することと、をさらに備えるC1に記載の方法。
[C8]
前記方法は、マニフェストファイル及び前記セグメントに関する前記優先度値を示す情報を格納することであって、前記マニフェストファイルは、前記セグメントに関するURLを指定することと、
前記1つ以上の選択されたセグメントを要求するために前記1つ以上の選択されたセグメントに関する前記URLを使用することと、をさらに備えるC1に記載の方法。
[C9]
前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
前記方法は、やって来る期間に関するセグメントの組み合わせを選択することをさらに備え、前記セグメントの組み合わせは、前記やって来る期間内の前記セグメントグループの各々に関する1つのセグメントを含み、
前記1つ以上の選択されたセグメントを処理することは、前記セグメントの組み合わせ内の前記セグメントを復号することを備えるC1に記載の方法。
[C10]
前記セグメントの組み合わせを選択することは、
複数の候補の組み合わせを識別することであって、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくないことと、
前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するQoSスコアを計算することと、
前記前記候補の組み合わせに関する前記QoSスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別することと、を備えるC9に記載の方法。
[C11]
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記候補の組み合わせに関する前記QoSスコアを計算することは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値を合計することによって前記所定の候補の組み合わせに関する前記QoSスコアを計算することを備えるC10に記載の方法。
[C12]
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記候補の組み合わせに関する前記QoSスコアを計算することは、前記所定の候補の組み合わせ内の前記セグメントのピーク信号対雑音比値に基づいて前記所定の候補の組み合わせに関する前記QoSスコアを計算することを備えるC10に記載の方法。
[C13]
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記候補の組み合わせに関する前記QoSスコアを計算することは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値の幾何平均を計算することによって前記所定の候補の組み合わせに関する前記QoSスコアを計算することを備えるC10に記載の方法。
[C14]
前記セグメントの前記優先度値は、前記セグメントにおける計算されたち歪みの量と相関関係にあるC1に記載の方法。
[C15]
前記セグメントの前記優先度値は、人間の神経系統によってセグメント内で認知可能な知覚上の歪みの量と相関関係にあるC1に記載の方法。
[C16]
コンピューティングデバイスであって、
推定されるスループットを決定し、
前記推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、前記セグメントのうちの1つ以上を選択し、及び
前記1つ以上の選択されたセグメントを処理するように構成された1つ以上のプロセッサを備え、前記表現は、映像データが異なるビットレートで符号化されること、前記セグメントの各々は個々に取り出し可能であること、及び前記セグメントは、前記表現の特定の時間的セクションに対応すること、を含む、コンピューティングデバイス。
[C17]
前記推定されるスループットは、通信ネットワークの帯域幅であるC16に記載のコンピューティングデバイス。
[C18]
前記1つ以上のプロセッサは、適応型ストリーミングネットワークプロトコルにより前記1つ以上の選択されたセグメントを要求するようにさらに構成されるC17に記載のコンピューティングデバイス。
[C19]
前記推定されるスループットは、1つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値であるC16に記載のコンピューティングデバイス。
[C20]
前記1つ以上のプロセッサは、前記セグメントに関する前記優先度値、前記推定されるスループット、及び追加で、再生バッファ内の映像データの現在の再生継続時間に基づいて前記セグメントのうちの1つ以上を選択するように構成されるC16に記載のコンピューティングデバイス。
[C21]
前記推定されるスループットは、通信ネットワークの推定される帯域幅であり、前記1つ以上の選択されたセグメントに関する推定される転送時間は、前記1つ以上の選択されたセグメントの再生継続時間プラス前記再生バッファ内の前記映像データの前記現在の再生継続時間以下であり、前記1つ以上の選択されたセグメントに関する前記推定される転送時間は、前記推定される帯域幅及び前記1つ以上の選択されたセグメント内の総ビット数に基づくC16に記載のコンピューティングデバイス。
[C22]
前記1つ以上のプロセッサは、
前記1つ以上の選択されたセグメントによって表現されるフレームのシーケンスをレンダリングし、及び
フレームの前記シーケンスを表示装置上で提示するようにさらに構成されるC16に記載のコンピューティングデバイス。
[C23]
前記コンピューティングデバイスは、マニフェストファイル及び前記セグメントに関する優先度値を示す情報を格納し、前記マニフェストファイルは、前記セグメントに関するURLを指定し、
1つ以上のプロセッサは、前記1つ以上の選択されたセグメントに関する要求を生成するために前記1つ以上の選択されたセグメントに関する前記URLを使用するように構成されるC16に記載のコンピューティングデバイス。
[C24]
前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
前記1つ以上のプロセッサは、やって来る期間に関するセグメントの組み合わせを選択し、及び
前記セグメントの組み合わせ内の前記セグメントを復号するようにさらに構成され、前記セグメントの組み合わせは、前記やって来る期間内の前記セグメントグループの各々に関する1つのセグメントを含むC16に記載のコンピューティングデバイス。
[C25]
1つ以上のプロセッサは、
複数の候補の組み合わせを識別し、
前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するQoSスコアを計算し、及び
前記候補の組み合わせに関する前記QoSスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別するように構成され、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくないC24に記載のコンピューティングデバイス。
[C26]
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記1つ以上のプロセッサは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値を合計することによって前記所定の候補の組み合わせに関する前記QoSスコアを計算するように構成されるC25に記載のコンピューティングデバイス。
[C27]
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記1つ以上のプロセッサは、前記所定の候補の組み合わせ内の前記セグメントのピーク信号対雑音比値に基づいて前記所定の候補の組み合わせに関する前記QoSスコアを計算するように構成されるC25に記載のコンピューティングデバイス。
[C28]
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記1つ以上のプロセッサは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値の幾何平均を計算することによって前記所定の候補の組み合わせに関する前記QoSスコアを計算するように構成されるC25に記載の方法。
[C29]
前記セグメントの前記優先度値は、前記セグメントにおける計算された歪みの量と相関関係にあるC16に記載のコンピューティングデバイス。
[C30]
前記セグメントの前記優先度値は、人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるC16に記載のコンピューティングデバイス。
[C31]
コンピューティングデバイスであって、
推定されるスループットを決定するための手段と、
前記推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、前記セグメントのうちの1つ以上を選択するための手段であって、前記表現は、映像データが異なるビットレートで符号化されること、前記セグメントの各々は個々に取り出し可能であること、及び前記セグメントは、前記表現の特定の時間的セクションに対応すること、を含む手段と、
前記1つ以上の選択されたセグメントを処理するための手段と、を備える、コンピューティングデバイス。
[C32]
前記推定されるスループットは、通信ネットワークの帯域幅であるC31に記載のコンピューティングデバイス。
[C33]
適応型ストリーミングネットワークプロトコルにより前記1つ以上の選択されたセグメントを要求するための手段をさらに備えるC31に記載のコンピューティングデバイス。
[C34]
前記推定されるスループットは、1つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値であるC31に記載のコンピューティングデバイス。
[C35]
前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
前記コンピューティングデバイスは、
やって来る期間に関するセグメントの組み合わせを選択するための手段であって、前記セグメントの組み合わせは、前記やって来る期間内にある前記セグメントグループの各々に関する1つのセグメントを含む手段と、
前記セグメントの組み合わせ内の前記セグメントを要求するための手段と、を備えるC31に記載のコンピューティングデバイス。
[C36]
複数の候補の組み合わせを識別するための手段であって、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくない手段と、
前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するQoSスコアを計算するための手段と、
前記候補の組み合わせに関する前記QoSスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別するための手段と、を備えるC35に記載のコンピューティングデバイス。
[C37]
前記セグメントの前記優先度値は、前記セグメントにおける計算された歪みの量と相関関係にあるC31に記載のコンピューティングデバイス。
[C38]
前記セグメントの前記優先度値は、人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるC31に記載のコンピューティングデバイス。
[C39]
コンピュータによって読み取り可能な記憶媒体であって、
実行されたときに、
推定されるスループットを決定し、
前記推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、前記セグメントのうちの1つ以上を選択し、及び
前記1つ以上の選択されたセグメントを処理することをプロセッサに行わせる命令を格納しており、前記表現は、映像データが異なるビットレートで符号化されること、前記セグメントの各々は個々に取り出し可能であること、及び前記セグメントは、前記表現の特定の時間的セクションに対応すること、を含む、コンピュータによって読み取り可能な記憶媒体。
[C40]
前記推定されるスループットは、通信ネットワークの帯域幅であるC39に記載のコンピュータによって読み取り可能な記憶媒体。
[C41]
適応型ストリーミングネットワークプロトコルにより前記1つ以上の選択されたセグメントを要求することをさらに備えるC40に記載のコンピュータによって読み取り可能な記憶媒体。
[C42]
前記推定されるスループットは、1つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値であるC39に記載のコンピュータによって読み取り可能な記憶媒体。
[C43]
前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
前記命令の実行は、
やって来る期間に関するセグメントの組み合わせを選択し、及び
前記セグメントの組み合わせ内の前記セグメントを要求することを前記コンピューティングデバイスにさらに行わせ、前記セグメントの組み合わせは、前記やって来る期間内にある前記セグメントグループの各々に関する1つのセグメントを含むC39に記載のコンピュータによって読み取り可能な記憶媒体。
[C44]
前記命令の実行は、
複数の候補の組み合わせを識別し、
前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するQoSスコアを計算し、及び
前記候補の組み合わせに関する前記QoSスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別することを前記コンピューティングデバイスに行わせ、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくないC39に記載のコンピュータによって読み取り可能な記憶媒体。
[C45]
前記セグメントの前記優先度値は、前記セグメントにおける計算された歪みの量と相関関係にあるC39に記載のコンピュータによって読み取り可能な記憶媒体。
[C46]
前記セグメントの前記優先度値は、人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるC39に記載のコンピュータによって読み取り可能な記憶媒体。
[C47]
適応型ストリーミングネットワークプロトコルを介して映像データを提供するための方法であって、
セグメントに関する優先度値を示す情報を送信することであって、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含むことと、
クライアントデバイスからの1つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信することであって、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかであることと、を備える、方法。
[C48]
前記優先度値を前記セグメントに割り当てることと、
前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納することと、をさらに備えるC47に記載の方法。
[C49]
前記優先度値を前記セグメントに割り当てることは、前記セグメントの特徴に基づいて前記優先度値を計算することを備えるC48に記載の方法。
[C50]
前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含むC49に記載の方法。
[C51]
前記優先度値を前記セグメントに割り当てることは、前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てることを備えるC49に記載の方法。
[C52]
コンピューティングデバイスであって、
セグメントに関する優先度値を示す情報を送信し、及び
クライアントデバイスからの1つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信するように構成された1つ以上のプロセッサを備え、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含み、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかであるコンピューティングデバイス。
[C53]
前記1つ以上のプロセッサは、
前記優先度値を前記セグメントに割り当て、及び
前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納するように構成されるC52に記載のコンピューティングデバイス。
[C54]
前記1つ以上のプロセッサは、前記セグメントの特徴に基づいて前記優先度値を計算するように構成されるC53に記載のコンピューティングデバイス。
[C55]
前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含むC54に記載のコンピューティングデバイス。
[C56]
前記1つ以上のプロセッサは、前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てるように構成されるC52に記載のコンピューティングデバイス。
[C57]
コンピューティングデバイスであって、
セグメントに関する優先度値を示す情報を送信するための手段であって、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含む手段と、
クライアントデバイスからの1つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信するための手段であって、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかである手段と、を備える、コンピューティングデバイス。
[C58]
前記優先度値を前記セグメントに割り当てるための手段と、
前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納するための手段と、をさらに備えるC57に記載のコンピューティングデバイス。
[C59]
前記セグメントの特徴に基づいて前記優先度値を計算するための手段をさらに備えるC58に記載のコンピューティングデバイス。
[C60]
前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含むC59に記載のコンピューティングデバイス。
[C61]
前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てるための手段を備えるC57に記載のコンピューティングデバイス。
[C62]
コンピュータによって読み取り可能な記憶媒体であって、
コンピューティングデバイスの1つ以上のプロセッサによって実行されたときに、
セグメントに関する優先度値を示す情報を送信し、及び
クライアントデバイスからの1つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信することを前記コンピューティングデバイスに行わせる命令を格納し、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含み、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかである、コンピュータによって読み取り可能な記憶媒体。
[C63]
前記1つ以上のプロセッサによる前記命令の実行は、
前記優先度値を前記セグメントに割り当て、及び
前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納することを前記コンピューティングデバイスに行わせるC62に記載のコンピュータによって読み取り可能な記憶媒体。
[C64]
前記1つ以上のプロセッサによる前記命令の実行は、前記セグメントの特徴に基づいて前記優先度値を計算することを前記コンピューティングデバイスに行わせるC63に記載のコンピュータによって読み取り可能な記憶媒体。
[C65]
前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含むC64に記載のコンピュータによって読み取り可能な記憶媒体。
[C66]
前記1つ以上のプロセッサによる前記命令の実行は、前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てることを前記コンピューティングデバイスに行わせるC62に記載のコンピュータによって読み取り可能な記憶媒体。

Claims (66)

  1. 映像データを処理するための方法であって、
    推定されるスループットを決定することと、
    前記推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、前記セグメントのうちの1つ以上を選択することであって、前記表現は、映像データが異なるビットレートで符号化されること、前記セグメントの各々は個々に取り出し可能であること、及び前記セグメントは、前記表現の特定の時間的セクションに対応すること、を含むことと、
    前記1つ以上の選択されたセグメントを処理することと、を備える、方法。
  2. 前記推定されるスループットは、通信ネットワークの帯域幅である請求項1に記載の方法。
  3. 適応型ストリーミングネットワークプロトコルにより前記1つ以上の選択されたセグメントを要求することをさらに備える請求項2に記載の方法。
  4. 前記推定されるスループットは、1つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値である請求項1に記載の方法。
  5. 前記セグメントに関する前記優先度値及び前記推定されるスループットに基づいて前記セグメントのうちの1つ以上を選択することは、前記セグメントに関する前記優先度値、前記推定されるスループット、及び追加で、再生バッファ内の映像データの現在の再生継続時間に基づいて前記セグメントのうちの1つ以上を選択することを備える請求項1に記載の方法。
  6. 前記推定されるスループットは、通信ネットワークの推定される帯域幅であり、前記1つ以上の選択されたセグメントに関する推定される転送時間は、前記1つ以上の選択されたセグメントの再生継続時間プラス前記再生バッファ内の前記映像データの前記現在の再生継続時間以下であり、前記1つ以上の選択されたセグメントに関する前記推定される転送時間は、前記推定される帯域幅及び前記1つ以上の選択されたセグメント内の総ビット数に少なくとも部分的に基づく請求項5に記載の方法。
  7. 前記1つ以上の選択されたセグメントによって表現されるフレームのシーケンスをレンダリングすることと、
    フレームの前記シーケンスを表示装置上で提示することと、をさらに備える請求項1に記載の方法。
  8. 前記方法は、マニフェストファイル及び前記セグメントに関する前記優先度値を示す情報を格納することであって、前記マニフェストファイルは、前記セグメントに関するURLを指定することと、
    前記1つ以上の選択されたセグメントを要求するために前記1つ以上の選択されたセグメントに関する前記URLを使用することと、をさらに備える請求項1に記載の方法。
  9. 前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
    前記方法は、やって来る期間に関するセグメントの組み合わせを選択することをさらに備え、前記セグメントの組み合わせは、前記やって来る期間内の前記セグメントグループの各々に関する1つのセグメントを含み、
    前記1つ以上の選択されたセグメントを処理することは、前記セグメントの組み合わせ内の前記セグメントを復号することを備える請求項1に記載の方法。
  10. 前記セグメントの組み合わせを選択することは、
    複数の候補の組み合わせを識別することであって、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくないことと、
    前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するQoSスコアを計算することと、
    前記前記候補の組み合わせに関する前記QoSスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別することと、を備える請求項9に記載の方法。
  11. 前記候補の組み合わせは、所定の候補の組み合わせを含み、
    前記候補の組み合わせに関する前記QoSスコアを計算することは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値を合計することによって前記所定の候補の組み合わせに関する前記QoSスコアを計算することを備える請求項10に記載の方法。
  12. 前記候補の組み合わせは、所定の候補の組み合わせを含み、
    前記候補の組み合わせに関する前記QoSスコアを計算することは、前記所定の候補の組み合わせ内の前記セグメントのピーク信号対雑音比値に基づいて前記所定の候補の組み合わせに関する前記QoSスコアを計算することを備える請求項10に記載の方法。
  13. 前記候補の組み合わせは、所定の候補の組み合わせを含み、
    前記候補の組み合わせに関する前記QoSスコアを計算することは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値の幾何平均を計算することによって前記所定の候補の組み合わせに関する前記QoSスコアを計算することを備える請求項10に記載の方法。
  14. 前記セグメントの前記優先度値は、前記セグメントにおける計算されたち歪みの量と相関関係にある請求項1に記載の方法。
  15. 前記セグメントの前記優先度値は、人間の神経系統によってセグメント内で認知可能な知覚上の歪みの量と相関関係にある請求項1に記載の方法。
  16. コンピューティングデバイスであって、
    推定されるスループットを決定し、
    前記推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、前記セグメントのうちの1つ以上を選択し、及び
    前記1つ以上の選択されたセグメントを処理するように構成された1つ以上のプロセッサを備え、前記表現は、映像データが異なるビットレートで符号化されること、前記セグメントの各々は個々に取り出し可能であること、及び前記セグメントは、前記表現の特定の時間的セクションに対応すること、を含む、コンピューティングデバイス。
  17. 前記推定されるスループットは、通信ネットワークの帯域幅である請求項16に記載のコンピューティングデバイス。
  18. 前記1つ以上のプロセッサは、適応型ストリーミングネットワークプロトコルにより前記1つ以上の選択されたセグメントを要求するようにさらに構成される請求項17に記載のコンピューティングデバイス。
  19. 前記推定されるスループットは、1つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値である請求項16に記載のコンピューティングデバイス。
  20. 前記1つ以上のプロセッサは、前記セグメントに関する前記優先度値、前記推定されるスループット、及び追加で、再生バッファ内の映像データの現在の再生継続時間に基づいて前記セグメントのうちの1つ以上を選択するように構成される請求項16に記載のコンピューティングデバイス。
  21. 前記推定されるスループットは、通信ネットワークの推定される帯域幅であり、前記1つ以上の選択されたセグメントに関する推定される転送時間は、前記1つ以上の選択されたセグメントの再生継続時間プラス前記再生バッファ内の前記映像データの前記現在の再生継続時間以下であり、前記1つ以上の選択されたセグメントに関する前記推定される転送時間は、前記推定される帯域幅及び前記1つ以上の選択されたセグメント内の総ビット数に基づく請求項16に記載のコンピューティングデバイス。
  22. 前記1つ以上のプロセッサは、
    前記1つ以上の選択されたセグメントによって表現されるフレームのシーケンスをレンダリングし、及び
    フレームの前記シーケンスを表示装置上で提示するようにさらに構成される請求項16に記載のコンピューティングデバイス。
  23. 前記コンピューティングデバイスは、マニフェストファイル及び前記セグメントに関する優先度値を示す情報を格納し、前記マニフェストファイルは、前記セグメントに関するURLを指定し、
    1つ以上のプロセッサは、前記1つ以上の選択されたセグメントに関する要求を生成するために前記1つ以上の選択されたセグメントに関する前記URLを使用するように構成される請求項16に記載のコンピューティングデバイス。
  24. 前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
    前記1つ以上のプロセッサは、やって来る期間に関するセグメントの組み合わせを選択し、及び
    前記セグメントの組み合わせ内の前記セグメントを復号するようにさらに構成され、前記セグメントの組み合わせは、前記やって来る期間内の前記セグメントグループの各々に関する1つのセグメントを含む請求項16に記載のコンピューティングデバイス。
  25. 1つ以上のプロセッサは、
    複数の候補の組み合わせを識別し、
    前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するQoSスコアを計算し、及び
    前記候補の組み合わせに関する前記QoSスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別するように構成され、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくない請求項24に記載のコンピューティングデバイス。
  26. 前記候補の組み合わせは、所定の候補の組み合わせを含み、
    前記1つ以上のプロセッサは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値を合計することによって前記所定の候補の組み合わせに関する前記QoSスコアを計算するように構成される請求項25に記載のコンピューティングデバイス。
  27. 前記候補の組み合わせは、所定の候補の組み合わせを含み、
    前記1つ以上のプロセッサは、前記所定の候補の組み合わせ内の前記セグメントのピーク信号対雑音比値に基づいて前記所定の候補の組み合わせに関する前記QoSスコアを計算するように構成される請求項25に記載のコンピューティングデバイス。
  28. 前記候補の組み合わせは、所定の候補の組み合わせを含み、
    前記1つ以上のプロセッサは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値の幾何平均を計算することによって前記所定の候補の組み合わせに関する前記QoSスコアを計算するように構成される請求項25に記載の方法。
  29. 前記セグメントの前記優先度値は、前記セグメントにおける計算された歪みの量と相関関係にある請求項16に記載のコンピューティングデバイス。
  30. 前記セグメントの前記優先度値は、人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にある請求項16に記載のコンピューティングデバイス。
  31. コンピューティングデバイスであって、
    推定されるスループットを決定するための手段と、
    前記推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、前記セグメントのうちの1つ以上を選択するための手段であって、前記表現は、映像データが異なるビットレートで符号化されること、前記セグメントの各々は個々に取り出し可能であること、及び前記セグメントは、前記表現の特定の時間的セクションに対応すること、を含む手段と、
    前記1つ以上の選択されたセグメントを処理するための手段と、を備える、コンピューティングデバイス。
  32. 前記推定されるスループットは、通信ネットワークの帯域幅である請求項31に記載のコンピューティングデバイス。
  33. 適応型ストリーミングネットワークプロトコルにより前記1つ以上の選択されたセグメントを要求するための手段をさらに備える請求項31に記載のコンピューティングデバイス。
  34. 前記推定されるスループットは、1つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値である請求項31に記載のコンピューティングデバイス。
  35. 前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
    前記コンピューティングデバイスは、
    やって来る期間に関するセグメントの組み合わせを選択するための手段であって、前記セグメントの組み合わせは、前記やって来る期間内にある前記セグメントグループの各々に関する1つのセグメントを含む手段と、
    前記セグメントの組み合わせ内の前記セグメントを要求するための手段と、を備える請求項31に記載のコンピューティングデバイス。
  36. 複数の候補の組み合わせを識別するための手段であって、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくない手段と、
    前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するQoSスコアを計算するための手段と、
    前記候補の組み合わせに関する前記QoSスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別するための手段と、を備える請求項35に記載のコンピューティングデバイス。
  37. 前記セグメントの前記優先度値は、前記セグメントにおける計算された歪みの量と相関関係にある請求項31に記載のコンピューティングデバイス。
  38. 前記セグメントの前記優先度値は、人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にある請求項31に記載のコンピューティングデバイス。
  39. コンピュータによって読み取り可能な記憶媒体であって、
    実行されたときに、
    推定されるスループットを決定し、
    前記推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、前記セグメントのうちの1つ以上を選択し、及び
    前記1つ以上の選択されたセグメントを処理することをプロセッサに行わせる命令を格納しており、前記表現は、映像データが異なるビットレートで符号化されること、前記セグメントの各々は個々に取り出し可能であること、及び前記セグメントは、前記表現の特定の時間的セクションに対応すること、を含む、コンピュータによって読み取り可能な記憶媒体。
  40. 前記推定されるスループットは、通信ネットワークの帯域幅である請求項39に記載のコンピュータによって読み取り可能な記憶媒体。
  41. 適応型ストリーミングネットワークプロトコルにより前記1つ以上の選択されたセグメントを要求することをさらに備える請求項40に記載のコンピュータによって読み取り可能な記憶媒体。
  42. 前記推定されるスループットは、1つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値である請求項39に記載のコンピュータによって読み取り可能な記憶媒体。
  43. 前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
    前記命令の実行は、
    やって来る期間に関するセグメントの組み合わせを選択し、及び
    前記セグメントの組み合わせ内の前記セグメントを要求することを前記コンピューティングデバイスにさらに行わせ、前記セグメントの組み合わせは、前記やって来る期間内にある前記セグメントグループの各々に関する1つのセグメントを含む請求項39に記載のコンピュータによって読み取り可能な記憶媒体。
  44. 前記命令の実行は、
    複数の候補の組み合わせを識別し、
    前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するQoSスコアを計算し、及び
    前記候補の組み合わせに関する前記QoSスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別することを前記コンピューティングデバイスに行わせ、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくない請求項39に記載のコンピュータによって読み取り可能な記憶媒体。
  45. 前記セグメントの前記優先度値は、前記セグメントにおける計算された歪みの量と相関関係にある請求項39に記載のコンピュータによって読み取り可能な記憶媒体。
  46. 前記セグメントの前記優先度値は、人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にある請求項39に記載のコンピュータによって読み取り可能な記憶媒体。
  47. 適応型ストリーミングネットワークプロトコルを介して映像データを提供するための方法であって、
    セグメントに関する優先度値を示す情報を送信することであって、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含むことと、
    クライアントデバイスからの1つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信することであって、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかであることと、を備える、方法。
  48. 前記優先度値を前記セグメントに割り当てることと、
    前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納することと、をさらに備える請求項47に記載の方法。
  49. 前記優先度値を前記セグメントに割り当てることは、前記セグメントの特徴に基づいて前記優先度値を計算することを備える請求項48に記載の方法。
  50. 前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含む請求項49に記載の方法。
  51. 前記優先度値を前記セグメントに割り当てることは、前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てることを備える請求項49に記載の方法。
  52. コンピューティングデバイスであって、
    セグメントに関する優先度値を示す情報を送信し、及び
    クライアントデバイスからの1つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信するように構成された1つ以上のプロセッサを備え、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含み、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかであるコンピューティングデバイス。
  53. 前記1つ以上のプロセッサは、
    前記優先度値を前記セグメントに割り当て、及び
    前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納するように構成される請求項52に記載のコンピューティングデバイス。
  54. 前記1つ以上のプロセッサは、前記セグメントの特徴に基づいて前記優先度値を計算するように構成される請求項53に記載のコンピューティングデバイス。
  55. 前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含む請求項54に記載のコンピューティングデバイス。
  56. 前記1つ以上のプロセッサは、前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てるように構成される請求項52に記載のコンピューティングデバイス。
  57. コンピューティングデバイスであって、
    セグメントに関する優先度値を示す情報を送信するための手段であって、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含む手段と、
    クライアントデバイスからの1つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信するための手段であって、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかである手段と、を備える、コンピューティングデバイス。
  58. 前記優先度値を前記セグメントに割り当てるための手段と、
    前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納するための手段と、をさらに備える請求項57に記載のコンピューティングデバイス。
  59. 前記セグメントの特徴に基づいて前記優先度値を計算するための手段をさらに備える請求項58に記載のコンピューティングデバイス。
  60. 前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含む請求項59に記載のコンピューティングデバイス。
  61. 前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てるための手段を備える請求項57に記載のコンピューティングデバイス。
  62. コンピュータによって読み取り可能な記憶媒体であって、
    コンピューティングデバイスの1つ以上のプロセッサによって実行されたときに、
    セグメントに関する優先度値を示す情報を送信し、及び
    クライアントデバイスからの1つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信することを前記コンピューティングデバイスに行わせる命令を格納し、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含み、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかである、コンピュータによって読み取り可能な記憶媒体。
  63. 前記1つ以上のプロセッサによる前記命令の実行は、
    前記優先度値を前記セグメントに割り当て、及び
    前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納することを前記コンピューティングデバイスに行わせる請求項62に記載のコンピュータによって読み取り可能な記憶媒体。
  64. 前記1つ以上のプロセッサによる前記命令の実行は、前記セグメントの特徴に基づいて前記優先度値を計算することを前記コンピューティングデバイスに行わせる請求項63に記載のコンピュータによって読み取り可能な記憶媒体。
  65. 前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含む請求項64に記載のコンピュータによって読み取り可能な記憶媒体。
  66. 前記1つ以上のプロセッサによる前記命令の実行は、前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てることを前記コンピューティングデバイスに行わせる請求項62に記載のコンピュータによって読み取り可能な記憶媒体。
JP2014532006A 2011-09-21 2012-09-21 ネットワークを通じてのメディアデータのストリーミングに関するセグメントの特徴のシグナリング Expired - Fee Related JP6058677B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161537407P 2011-09-21 2011-09-21
US61/537,407 2011-09-21
US13/623,589 2012-09-20
US13/623,589 US9445136B2 (en) 2011-09-21 2012-09-20 Signaling characteristics of segments for network streaming of media data
PCT/US2012/056568 WO2013044025A2 (en) 2011-09-21 2012-09-21 Signaling characteristics of segments for network streaming of media data

Publications (2)

Publication Number Publication Date
JP2015501090A true JP2015501090A (ja) 2015-01-08
JP6058677B2 JP6058677B2 (ja) 2017-01-11

Family

ID=47324355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014532006A Expired - Fee Related JP6058677B2 (ja) 2011-09-21 2012-09-21 ネットワークを通じてのメディアデータのストリーミングに関するセグメントの特徴のシグナリング

Country Status (6)

Country Link
US (1) US9445136B2 (ja)
EP (1) EP2759113B1 (ja)
JP (1) JP6058677B2 (ja)
KR (1) KR101614632B1 (ja)
CN (1) CN103814562B (ja)
WO (1) WO2013044025A2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016136470A1 (ja) * 2015-02-27 2016-09-01 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
JP2017069708A (ja) * 2015-09-29 2017-04-06 富士通株式会社 動画像再生装置、動画像配信サーバ、動画像再生方法、動画像配信方法、動画像再生プログラム、及び動画像配信プログラム
JP2017143475A (ja) * 2016-02-12 2017-08-17 日本放送協会 配信管理装置、受信装置、分散処理システム、及びプログラム
JP2017163538A (ja) * 2016-03-02 2017-09-14 パナソニックIpマネジメント株式会社 映像ストリーミング装置、映像編集装置および映像配信システム
WO2018150594A1 (ja) * 2017-02-15 2018-08-23 パナソニック株式会社 端末装置、映像配信装置、映像配信システムおよび映像配信方法
JP2019517174A (ja) * 2016-05-04 2019-06-20 キヤノン株式会社 複数のビデオセグメントから合成ビデオストリームを生成するための方法及び装置
JP2019537897A (ja) * 2016-11-10 2019-12-26 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 配信性能を改善するためのリソースセグメント化
JP2021527356A (ja) * 2018-06-14 2021-10-11 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 360°没入型ビデオを提供するためのタイル選択および帯域幅最適化

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9055136B2 (en) * 2011-10-13 2015-06-09 Qualcomm Incorporated Controlling streaming delay in networks
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
US10397294B2 (en) * 2011-12-15 2019-08-27 Dolby Laboratories Licensing Corporation Bandwidth adaptation for dynamic adaptive transferring of multimedia
US8977704B2 (en) 2011-12-29 2015-03-10 Nokia Corporation Method and apparatus for flexible caching of delivered media
US9401968B2 (en) * 2012-01-20 2016-07-26 Nokia Techologies Oy Method and apparatus for enabling pre-fetching of media
US9392304B2 (en) * 2012-02-29 2016-07-12 Hulu, LLC Encoding optimization using quality level of encoded segments
US9438883B2 (en) 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
WO2013163464A1 (en) * 2012-04-25 2013-10-31 Huawei Technologies Co., Ltd. Systems and methods for controlling client behavior in adaptive streaming
CN104756501B (zh) 2012-08-22 2018-10-30 华为技术有限公司 Mpeg-2传输流中的iso-bmff事件盒承载
KR101473249B1 (ko) * 2012-10-30 2014-12-17 주식회사 케이티 콘텐츠 재생 속도 테이블 생성 서버, 디바이스 및 방법
US20140282792A1 (en) * 2013-03-15 2014-09-18 Cygnus Broadband, Inc. Video streaming with buffer occupancy prediction based quality adaptation
CN104105012B (zh) * 2013-04-03 2018-04-20 华为技术有限公司 流媒体的片段准备方法和装置
US20140372569A1 (en) * 2013-06-14 2014-12-18 Samsung Electronics Co., Ltd. Controlling dash client rate adaptation
US10033658B2 (en) * 2013-06-20 2018-07-24 Samsung Electronics Co., Ltd. Method and apparatus for rate adaptation in motion picture experts group media transport
WO2015007795A1 (en) * 2013-07-16 2015-01-22 Bitmovin Gmbh Apparatus and method for cloud assisted adaptive streaming
US20150030071A1 (en) * 2013-07-24 2015-01-29 Broadcom Corporation Motion vector reuse for adaptive bit rate streaming
US20150032854A1 (en) * 2013-07-24 2015-01-29 Futurewei Technologies Inc. System and method for network-assisted adaptive streaming
EP3860130A1 (en) * 2013-08-16 2021-08-04 bitmovin GmbH Apparatus and method for constant quality optimization for adaptive streaming
JP6327809B2 (ja) * 2013-08-20 2018-05-23 キヤノン株式会社 受信装置、制御方法及びプログラム
US8850055B1 (en) * 2013-09-17 2014-09-30 Google Inc. Intelligently streaming portions of media at higher quality over a limited bandwidth connection
US9661044B2 (en) * 2013-11-08 2017-05-23 Disney Enterprises, Inc. Systems and methods for delivery of localized media assets
WO2015081218A1 (en) * 2013-11-27 2015-06-04 Interdigital Patent Holdings, Inc. Media presentation description
US9330101B2 (en) 2013-12-18 2016-05-03 Microsoft Technology Licensing, Llc Using constraints on media file formats to improve performance
JP6289076B2 (ja) * 2013-12-18 2018-03-07 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
WO2015105327A1 (ko) * 2014-01-08 2015-07-16 한국전자통신연구원 Dash를 사용하는 비디오 재생을 위한 비트 깊이 표현 방법
EP2894870A1 (en) * 2014-01-10 2015-07-15 Thomson Licensing Method for downloading, at a client terminal, an upcoming sequence of segments of a multimedia content, and corresponding terminal
WO2015104149A1 (en) * 2014-01-10 2015-07-16 Thomson Licensing Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
EP3092816A1 (en) * 2014-01-10 2016-11-16 Thomson Licensing Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
WO2015104146A1 (en) * 2014-01-10 2015-07-16 Thomson Licensing Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
EP2894871A1 (en) * 2014-01-10 2015-07-15 Thomson Licensing Method for obtaining a network information by a client terminal configured for receiving a multimedia content divided into segments
WO2015104147A1 (en) * 2014-01-10 2015-07-16 Thomson Licensing Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
JP2015136057A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
EP2897337B1 (en) * 2014-01-21 2022-01-05 Alcatel Lucent Improved playback control device and method for streaming media content
US20150261425A1 (en) * 2014-03-14 2015-09-17 Apple Inc. Optimized presentation of multimedia content
FR3020544A1 (fr) * 2014-04-24 2015-10-30 Orange Transmission et telechargement de contenu decompose en segments de donnees temporels
EP3148196A4 (en) * 2014-05-21 2017-11-15 LG Electronics Inc. Broadcast signal transmitting/receiving method and device
CN104010232B (zh) * 2014-05-23 2017-12-12 惠州Tcl移动通信有限公司 一种智能播放在线视频的方法、系统、播放器及移动终端
US20150350714A1 (en) * 2014-05-29 2015-12-03 Apple Inc. Playback of video on demand
EP3162081B1 (en) * 2014-06-30 2019-09-11 DISH Technologies L.L.C. Adaptive data segment delivery arbitration for bandwidth optimization
US10129312B2 (en) * 2014-09-11 2018-11-13 Microsoft Technology Licensing, Llc Dynamic video streaming based on viewer activity
EP3001633B1 (en) * 2014-09-26 2017-08-16 Alcatel Lucent Server, client, method and computer program product for adaptive streaming of media content to a client
US9794601B2 (en) 2014-10-21 2017-10-17 Cisco Technology, Inc. Dynamic programming across multiple streams
US9509742B2 (en) 2014-10-29 2016-11-29 DLVR, Inc. Configuring manifest files referencing infrastructure service providers for adaptive streaming video
US10142386B2 (en) 2014-10-29 2018-11-27 DLVR, Inc. Determining manifest file data used in adaptive streaming video delivery
US9426089B2 (en) 2014-10-29 2016-08-23 DLVR, Inc. Systems and methods for session-based resource assignment, delivery, performance management and measurement in a networked environment
US10084838B2 (en) 2014-10-29 2018-09-25 DLVR, Inc. Generating and using manifest files including content delivery network authentication data
HUE053609T2 (hu) * 2014-11-07 2021-07-28 Sony Corp Átviteli készülék, átviteli eljárás, vételi készülék és vételi eljárás
US10268698B2 (en) * 2014-11-21 2019-04-23 Adobe Inc. Synchronizing different representations of content
US9686332B1 (en) * 2014-12-19 2017-06-20 Amazon Technologies, Inc. Live stream manifests for on demand content
US10666698B1 (en) 2014-12-19 2020-05-26 Amazon Technologies, Inc. Bit rate selection for streaming media
US10708331B1 (en) * 2014-12-19 2020-07-07 Amazon Technologies, Inc. Generating requests for streaming media
KR102352679B1 (ko) * 2015-03-25 2022-01-18 삼성전자주식회사 다중 경로 전송 제어 프로토콜을 지원하는 디바이스 및 디바이스에서 영상 데이터를 스트리밍으로 수신하는 방법
JP6601068B2 (ja) 2015-09-01 2019-11-06 富士通コネクテッドテクノロジーズ株式会社 通信方法、通信装置及び通信プログラム
JP6601066B2 (ja) * 2015-09-01 2019-11-06 富士通コネクテッドテクノロジーズ株式会社 通信方法、通信装置及び通信プログラム
EP3360332A1 (en) * 2015-10-08 2018-08-15 Tradecast B.V. Client and method for playing a sequence of video streams, and corresponding server and computer program product
WO2017092830A1 (en) * 2015-12-04 2017-06-08 Telefonaktiebolaget Lm Ericsson (Publ) Technique for adaptive streaming of temporally scaling media segment levels
EP3968645A1 (en) 2015-12-11 2022-03-16 InterDigital Madison Patent Holdings, SAS Scheduling multiple-layer video segments
US10291680B2 (en) * 2015-12-23 2019-05-14 Board Of Trustees Of Michigan State University Streaming media using erasable packets within internet queues
CN108476547B (zh) * 2016-01-15 2022-04-29 瑞典爱立信有限公司 传送通信装置、接收通信装置以及由此在网络切片的上下文中执行的方法
US10230812B1 (en) * 2016-01-29 2019-03-12 Amazon Technologies, Inc. Dynamic allocation of subtitle packaging
WO2017175047A1 (en) * 2016-04-07 2017-10-12 Telefonaktiebolaget Lm Ericsson (Publ) Media stream prioritization
US10701415B2 (en) * 2016-05-19 2020-06-30 Arris Enterprises Llc Method and apparatus for segmenting data
US10389785B2 (en) * 2016-07-17 2019-08-20 Wei-Chung Chang Method for adaptively streaming an audio/visual material
CN109792546B (zh) * 2016-09-30 2022-01-04 英国电讯有限公司 从服务器向客户端设备传送视频内容的方法
US10063612B2 (en) * 2016-09-30 2018-08-28 Amazon Technologies, Inc. Request-based encoding for streaming content portions
CN109792545B (zh) * 2016-09-30 2021-12-07 英国电讯有限公司 从服务器向客户端装置传送视频内容的方法
US10595069B2 (en) * 2016-12-05 2020-03-17 Adobe Inc. Prioritizing tile-based virtual reality video streaming using adaptive rate allocation
JP6941694B2 (ja) 2017-06-02 2021-09-29 ヴィド スケール インコーポレイテッド 次世代ネットワークを介した360度ビデオ配信
US10652166B2 (en) * 2017-06-27 2020-05-12 Cisco Technology, Inc. Non-real time adaptive bitrate recording scheduler
KR102649892B1 (ko) * 2017-07-06 2024-03-21 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 분할된 비디오 스트리밍 개념
US10318301B2 (en) * 2017-08-31 2019-06-11 Micron Technology, Inc. Managed multiple die memory QoS
GB201721847D0 (en) * 2017-12-22 2018-02-07 Telecom Paris Tech Priority map for media files
RU2020120328A (ru) * 2017-12-28 2021-12-20 Сони Корпорейшн Устройство обработки информации, способ обработки информации и программа
CN107948206B (zh) * 2018-01-02 2020-11-20 联想(北京)有限公司 一种多媒体数据下载/或上传的方法及系统
CN110111793B (zh) 2018-02-01 2023-07-14 腾讯科技(深圳)有限公司 音频信息的处理方法、装置、存储介质及电子装置
US10623788B2 (en) * 2018-03-23 2020-04-14 At&T Intellectual Property I, L.P. Methods to estimate video playback buffer
US11019123B2 (en) * 2018-06-22 2021-05-25 International Business Machines Corporation Multi-bitrate component sharding
US11196795B2 (en) * 2020-03-25 2021-12-07 Arris Enterprises Llc Method and apparatus for predicting video decoding time
US11425182B1 (en) * 2020-12-30 2022-08-23 Meta Platforms, Inc. Systems and methods for dynamically encoding media streams
US20240314054A1 (en) * 2023-03-15 2024-09-19 Apple Inc. On-device machine learning-based network bandwidth prediction to improve adaptive media streaming performance

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030233464A1 (en) * 2002-06-10 2003-12-18 Jonathan Walpole Priority progress streaming for quality-adaptive transmission of data
JP2005267218A (ja) * 2004-03-18 2005-09-29 Nara Institute Of Science & Technology 情報配信装置、情報配信システムおよび情報配信方法
JP2007158414A (ja) * 2005-11-30 2007-06-21 Matsushita Electric Ind Co Ltd コンテンツ配信システム及びコンテンツ仲介サーバ
JP2011087103A (ja) * 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
EP2360923A1 (en) * 2010-02-24 2011-08-24 Thomson Licensing Method for selectively requesting adaptive streaming content and a device implementing the method
WO2011102791A1 (en) * 2010-02-19 2011-08-25 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for representation switching in http streaming

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446125B1 (en) * 1997-03-28 2002-09-03 Honeywell International Inc. Ripple scheduling for end-to-end global resource management
SE513188C2 (sv) * 1998-03-25 2000-07-24 Ericsson Telefon Ab L M Kvotalgoritm för övervakning av störningsprocesser
JP4965059B2 (ja) * 2001-07-19 2012-07-04 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー ビデオストリームの切り替え
US6880051B2 (en) * 2002-03-14 2005-04-12 International Business Machines Corporation Method, system, and program for maintaining backup copies of files in a backup storage device
US7483487B2 (en) * 2002-04-11 2009-01-27 Microsoft Corporation Streaming methods and systems
US20030236904A1 (en) * 2002-06-19 2003-12-25 Jonathan Walpole Priority progress multicast streaming for quality-adaptive transmission of data
KR100486713B1 (ko) * 2002-09-17 2005-05-03 삼성전자주식회사 멀티미디어 스트리밍 장치 및 방법
SG111978A1 (en) 2002-11-20 2005-06-29 Victor Company Of Japan An mpeg-4 live unicast video streaming system in wireless network with end-to-end bitrate-based congestion control
CA2537280C (en) 2003-08-29 2014-04-01 Rgb Networks, Inc. Advanced, self-balancing video multiplexer system
EP1531626B1 (en) * 2003-11-12 2008-01-02 Sony Deutschland GmbH Automatic summarisation for a television programme suggestion engine based on consumer preferences
US7504968B2 (en) * 2004-02-13 2009-03-17 Hewlett-Packard Development Company, L.P. Media data decoding device
US7818444B2 (en) * 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
KR100631743B1 (ko) 2004-11-26 2006-10-11 삼성전자주식회사 스케일러블 비트스트림의 효율적 전송 방법 및 장치
US9209956B2 (en) * 2005-08-22 2015-12-08 Qualcomm Incorporated Segment sensitive scheduling
US9432433B2 (en) * 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US8606966B2 (en) * 2006-08-28 2013-12-10 Allot Communications Ltd. Network adaptation of digital content
US7640358B2 (en) * 2006-11-09 2009-12-29 Sharp Laboratories Of America, Inc. Methods and systems for HTTP streaming using an intelligent HTTP client
US8576858B2 (en) 2006-12-13 2013-11-05 Viasat, Inc. Multiple transmission paths for hierarchical layers
US8351513B2 (en) 2006-12-19 2013-01-08 Allot Communications Ltd. Intelligent video signal encoding utilizing regions of interest information
US8578045B2 (en) * 2007-02-14 2013-11-05 Microsoft Corporation Adaptive bandwidth utilization
US8379851B2 (en) * 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US8028081B2 (en) * 2008-05-23 2011-09-27 Porto Technology, Llc System and method for adaptive segment prefetching of streaming media
US7949775B2 (en) * 2008-05-30 2011-05-24 Microsoft Corporation Stream selection for enhanced media streaming
US9396024B2 (en) * 2008-10-14 2016-07-19 Vmware, Inc. Online computation of cache occupancy and performance
US20100121974A1 (en) * 2008-11-11 2010-05-13 Einarsson Torbjoem Stepwise probing for adaptive streaming in a packet communication network
CA2759880C (en) * 2009-03-23 2013-09-24 Azuki Systems, Inc. Method and system for efficient streaming video dynamic rate adaptation
US8484368B2 (en) * 2009-10-02 2013-07-09 Disney Enterprises, Inc. Method and system for optimizing download and instantaneous viewing of media files
US9124642B2 (en) * 2009-10-16 2015-09-01 Qualcomm Incorporated Adaptively streaming multimedia
US9294526B2 (en) * 2009-12-28 2016-03-22 Microsoft Technology Licensing, Llc Managing multiple dynamic media streams
US8516147B2 (en) * 2010-02-26 2013-08-20 Simula Innovation Sa Data segmentation, request and transfer method
US8504713B2 (en) * 2010-05-28 2013-08-06 Allot Communications Ltd. Adaptive progressive download
US8190677B2 (en) * 2010-07-23 2012-05-29 Seawell Networks Inc. Methods and systems for scalable video delivery
CN103222276B (zh) * 2010-09-20 2017-04-19 数码士有限公司 将在http流式传输中发生表达切换时实现的处理方法
US9479739B2 (en) * 2010-10-04 2016-10-25 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatuses for adaptive control of streaming
US20120143994A1 (en) * 2010-12-03 2012-06-07 Motorola-Mobility, Inc. Selectively receiving media content
EP2673936B1 (en) * 2011-02-08 2016-11-23 Telefonaktiebolaget LM Ericsson (publ) Method and system for mobility support for caching adaptive http streaming content in cellular networks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030233464A1 (en) * 2002-06-10 2003-12-18 Jonathan Walpole Priority progress streaming for quality-adaptive transmission of data
JP2005267218A (ja) * 2004-03-18 2005-09-29 Nara Institute Of Science & Technology 情報配信装置、情報配信システムおよび情報配信方法
JP2007158414A (ja) * 2005-11-30 2007-06-21 Matsushita Electric Ind Co Ltd コンテンツ配信システム及びコンテンツ仲介サーバ
JP2011087103A (ja) * 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
WO2011102791A1 (en) * 2010-02-19 2011-08-25 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for representation switching in http streaming
EP2360923A1 (en) * 2010-02-24 2011-08-24 Thomson Licensing Method for selectively requesting adaptive streaming content and a device implementing the method

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11627367B2 (en) 2015-02-27 2023-04-11 Sony Corporation Transmitting device, transmitting method, receiving device, and receiving method
JP2022125084A (ja) * 2015-02-27 2022-08-26 ソニーグループ株式会社 受信装置
JPWO2016136470A1 (ja) * 2015-02-27 2017-12-07 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
US10791364B2 (en) 2015-02-27 2020-09-29 Sony Corporation Transmitting device, transmitting method, receiving device, and receiving method
US12058404B2 (en) 2015-02-27 2024-08-06 Sony Group Corporation Transmitting device, transmitting method, receiving device, and receiving method
JP7375857B2 (ja) 2015-02-27 2023-11-08 ソニーグループ株式会社 受信装置
WO2016136470A1 (ja) * 2015-02-27 2016-09-01 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
US10631060B2 (en) 2015-09-29 2020-04-21 Run.Edge Limited Video image reproduction device, video image distribution server, method of reproducing video image and method of distributing video image
JP2017069708A (ja) * 2015-09-29 2017-04-06 富士通株式会社 動画像再生装置、動画像配信サーバ、動画像再生方法、動画像配信方法、動画像再生プログラム、及び動画像配信プログラム
US10631058B2 (en) 2015-09-29 2020-04-21 Run.Edge Limited Video image reproduction device, video image distribution server, method of reproducing video image and method of distributing video image
JP2017143475A (ja) * 2016-02-12 2017-08-17 日本放送協会 配信管理装置、受信装置、分散処理システム、及びプログラム
JP2017163538A (ja) * 2016-03-02 2017-09-14 パナソニックIpマネジメント株式会社 映像ストリーミング装置、映像編集装置および映像配信システム
JP2019517174A (ja) * 2016-05-04 2019-06-20 キヤノン株式会社 複数のビデオセグメントから合成ビデオストリームを生成するための方法及び装置
US11722752B2 (en) 2016-11-10 2023-08-08 Telefonaktiebolaget Lm Ericsson (Publ) Resource segmentation to improve delivery performance
US11558677B2 (en) 2016-11-10 2023-01-17 Telefonaktiebolaget Lm Ericsson (Publ) Resource segmentation to improve delivery performance
JP7061121B2 (ja) 2016-11-10 2022-04-27 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 配信性能を改善するためのリソースセグメント化
JP2019537897A (ja) * 2016-11-10 2019-12-26 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 配信性能を改善するためのリソースセグメント化
WO2018150594A1 (ja) * 2017-02-15 2018-08-23 パナソニック株式会社 端末装置、映像配信装置、映像配信システムおよび映像配信方法
JP7256212B2 (ja) 2018-06-14 2023-04-11 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 360°没入型ビデオを提供するためのタイル選択および帯域幅最適化
JP2021527356A (ja) * 2018-06-14 2021-10-11 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 360°没入型ビデオを提供するためのタイル選択および帯域幅最適化

Also Published As

Publication number Publication date
KR20140063862A (ko) 2014-05-27
EP2759113A2 (en) 2014-07-30
KR101614632B1 (ko) 2016-04-29
EP2759113B1 (en) 2017-01-04
CN103814562B (zh) 2017-03-08
CN103814562A (zh) 2014-05-21
US9445136B2 (en) 2016-09-13
WO2013044025A2 (en) 2013-03-28
US20130103849A1 (en) 2013-04-25
WO2013044025A3 (en) 2013-06-27
JP6058677B2 (ja) 2017-01-11

Similar Documents

Publication Publication Date Title
JP6058677B2 (ja) ネットワークを通じてのメディアデータのストリーミングに関するセグメントの特徴のシグナリング
JP6027291B1 (ja) メディアストリーミング中の適応セット間の切替え
KR101558116B1 (ko) 코딩된 멀티미디어 데이터의 네트워크 스트리밍 동안의 표현들 사이의 전환
JP5937275B2 (ja) ネットワークストリーミングのための失われたメディアデータの置換
JP5953307B2 (ja) クライアント、コンテンツクリエータエンティティ及びそれらがメディアストリーミングする方法
US10375373B2 (en) Method and apparatus for encoding three-dimensional (3D) content
CN110832872B (zh) 使用用于文件格式方框的通用描述符处理媒体数据
JP5859694B2 (ja) コンテンツのプレイアウトをサポートする方法及び装置
TW201830974A (zh) 對於用於串流媒體資料之預取支持之資料發信
CN115943631A (zh) 流式传输包括具有切换集的可寻址资源索引轨道的媒体数据
CN118202345A (zh) Cmaf和dash客户端使用可寻址资源索引轨道和事件进行带宽切换的方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160223

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160523

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161207

R150 Certificate of patent or registration of utility model

Ref document number: 6058677

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

LAPS Cancellation because of no payment of annual fees