JP2014506748A - 適応ストリーミングのための様々なビットのビデオストリーム - Google Patents

適応ストリーミングのための様々なビットのビデオストリーム Download PDF

Info

Publication number
JP2014506748A
JP2014506748A JP2013550641A JP2013550641A JP2014506748A JP 2014506748 A JP2014506748 A JP 2014506748A JP 2013550641 A JP2013550641 A JP 2013550641A JP 2013550641 A JP2013550641 A JP 2013550641A JP 2014506748 A JP2014506748 A JP 2014506748A
Authority
JP
Japan
Prior art keywords
encoded
digital video
content
complexity
video content
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
JP2013550641A
Other languages
English (en)
Other versions
JP5840702B2 (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.)
Netflix Inc
Original Assignee
Netflix 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 Netflix Inc filed Critical Netflix Inc
Publication of JP2014506748A publication Critical patent/JP2014506748A/ja
Application granted granted Critical
Publication of JP5840702B2 publication Critical patent/JP5840702B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate 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/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/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64769Control signals issued by the network directed to the server or the client directed to the server for rate control
    • 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
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

コンテンツ配信システムにおいて、デジタルビデオコンテンツのシーン複雑度と他のパフォーマンス要因に基づいて、ビットレートを適用にする技術について説明する。デジタルビデオコンテンツの複雑度マップはデジタルビデオコンテンツ内の異なるシーンの複雑度のレベルを示す。シーン複雑度マップを用いて、コンテンツプレーヤが、ビデオコンテンツのダウンロードに消費される帯域幅を管理して、高いビットレートでエンコードされたビデオストリームから複雑度の高いシーンをダウンロードすることを可能にするために、最も低いビットレートでエンコードされたビデオストリームから最も低いシーン複雑度のシーンをダウンロードする。

Description

関連出願の相互参照
この出願は、2010年12月6日に出願された米国特許出願第12/961,375号、発明の名称「適応ストリーミングのための様々なビットのビデオストリーム」の継続出願である2011年1月21日に出願された米国特許出願第13/011,242の利益を主張する。この関連出願は、ここに完全に援用される。
本発明は、一般的に、デジタルメディアに関するものであり、具体的には適応ストリーミング(最適化配信)による可変ビットのビデオストリームに関連するものである。
従来、デジタルコンテンツ配信システムは、コンテンツサーバー、コンテンツプレーヤ、および、コンテンツプレーヤにコンテンツサーバーを接続する通信ネットワークを備えている。コンテンツサーバーは、コンテンツサーバーからコンテンツプレーヤにダウンロードされるデジタルコンテンツのファイルを格納するように構成される。各デジタルコンテンツファイルは、ユーザーによく知られた「風と共に去りぬ」等の特定の識別タイトルに対応している。デジタルコンテンツファイルには、通常、再生する時間に従った順番で並べられたコンテンツデータが含まれ、オーディオデータ、ビデオデータ、またはその組み合わせで構成される。
コンテンツプレーヤは、ユーザーが再生するために選択しているタイトルの要求に応じて、デジタルコンテンツのファイルをダウンロードして再生するように構成される。デジタルコンテンツファイルを再生する処理には、オーディオおよびビデオデータをエンコードしてオーディオおよびビデオ信号に変換する処理が含まれ、その信号がスピーカーサブシステムとビデオサブシステムを備えた表示システムを駆動する。通常、再生には、「ストリーミング」として知られている技術が用いられ、コンテンツサーバーが順番にコンテンツプレーヤへデジタルコンテンツファイル送信し、コンテンツプレーヤでデジタルコンテンツファイルを構成するコンテンツデータを受信しながらデジタルコンテンツファイルを再生する。通信ネットワーク内での待ち時間と帯域幅の変化を考慮するために、コンテンツバッファーは、実際にコンテンツデータが再生される前に受信したコンテンツデータを待ち行列に入れる。ネットワークの輻輳が発生した際は、それが、コンテンツデータが利用可能な帯域幅の減小につながり、コンテンツバッファーに追加されるコンテンツデータが少なくなり、特定の再生ビットレートで再生をサポートする際に、待ち行列から取り出されるコンテンツデータの流れが滞る可能性がある。しかしながら、ネットワークの帯域幅が高い間は、コンテンツバッファーが補充され、コンテンツバッファーが、通常、再び一杯になるまでは、追加のバッファー時間が加えられる。実用的なシステムでは、コンテンツバッファーに、数秒から1分以上にわたるタイムスパンに対応するコンテンツデータが持ち行列に入る可能性がある。
コンテンツサーバーに格納されている各デジタルコンテンツファイルは、通常、特定の再生ビットレートでエンコードされる。再生を開始する前に、コンテンツプレーヤはコンテンツサーバーで利用可能な帯域幅を測定し、測定された利用可能な帯域幅でサポートすることが可能なビットレートのデジタルコンテンツファイルを選択する。再生品質を最大にするには、通常、測定された帯域幅を超えない最も高いビットレートのデジタルコンテンツファイルを選択する。通信ネットワークは、ビットレートの要求を満たすように、選択したデジタルコンテンツのファイルをダウンロードするのに適した帯域幅を提供することが可能な範囲で、満足がいくように再生が進められる。しかし、実際には、通信ネットワークに接続されている異なる装置が独立したタスクを実行しているので、通信ネットワークの利用可能な帯域幅は常に変化する。
ネットワークの状態の変動に対応するために、タイトル毎に異なるビットレートを持つ複数のビデオストリームが存在する適応ストリーミングを実装するようにしてもよい。ネットワークの状態が変化すると、コンテンツプレーヤは、ネットワークの状況に応じてビデオストリームを切り替えるようにしてもよい。例えば、ビデオデータは、ネットワークの状態が良好なときは、高いビットレートでエンコードされたビデオストリームからダウンロードするようにし、ネットワークの状態が悪化したときには、低いビットレートでエンコードされたビデオストリームから次のビデオデータをダウンロードするようにしてもよい。
可変ビットレート(VBR)技術を用いて、ビデオストリームをエンコードする際に、適応ストリーミングのソリューションを実装すると問題が発生する。VBRビデオストリームでは、帯域幅またはファイルが使用するスペースの使用率を最適化するように、これらのビデオのシーンの複雑度に応じて異なるビデオのシーンをエンコードする。複雑度が高いシーンのビットを「セーブ」するために、複雑度が低いシーンはより低いビットレートでエンコードされる。VBRビデオストリーム全体にわたる平均ビットレートは、そのため、VBRビデオストリーム内の特定のシーンのビットレートを反映しているのではない。これが、適応ストリーミングが実装されたときに問題を引き起こす。なぜなら、平均ビットレートに基づいて、コンテンツプレーヤがエンコード済のビデオストリームを選択するが、エンコード済みのビデオストリームからダウンロードしたビデオデータの特定の部分は、平均ビットレートよりもはるかに高い、またははるかに低いビットレートでエンコードされた可能性がある。このようなシナリオでは、エンコード済みのビデオストリーム間で切り替えが適切にまたは効果的に行うことが出来ず、再生の品質を全体に引き下げる場合がある。
上述で説明したように、この分野で必要とされているものは、デジタルコンテンツのシーンの複雑度に基づいて、コンテンツプレーヤにデジタルコンテンツをダウンロードするための手法である。
本発明の一実施形態では、適応的にデジタルビデオコンテンツをダウンロードする方法について説明する。本発明の方法は、前記デジタルビデオコンテンツに関連付けられたシーン複雑度マップを受信して、前記デジタルビデオコンテンツの1以上の各部分に関連付けられている複雑度のレベルを特定するステップを備える。前記デジタルビデオコンテンツに対応するエンコード済みビデオストリームであって、エンコード済みビデオストリームのそれぞれが、異なるビットレートに関連付けられ、かつ、前記デジタルビデオコンテンツの1以上の各部分に対して前記異なるビットレートでエンコードされたエンコード部分を含む複数のエンコード済みビデオストリームを特定する。1以上の時間窓に亘ってデジタルビデオコンテンツをダウンロードするために利用可能な実際の帯域幅基づいて、1番目の時間窓に対して推定された帯域幅を計算する。前記シーン複雑度マップに基づいて、前記デジタルビデオコンテンツの1番目の部分と前記デジタルビデオコンテンツの2番目の部分に関連する複雑度のレベルを決定する。前記デジタルビデオコンテンツの別の部分の再生中に、前記推定された帯域幅と前記第1の複雑度のレベルと前記第2の複雑度のレベルとに基づいて、前記複数のエンコード済みビデオストリームのうち、前記デジタルビデオコンテンツの前記1番目の部分に対応する第1のエンコード部分をダウンロードする第1のエンコード済みビデオストリームを選択する。再生するために、前記第1のエンコード部分を前記第1のエンコード済みビデオストリームからコンテンツプレーヤ装置に存在するコンテンツのバッファーにダウンロードする。
開示された技術の利点の1つは、ビデオデータの各部分の複雑度のレベルに基づいて異なる一定のビットレートでエンコードされたストリームからビデオデータの複数の部分を選択することによって、様々なビットでエンコードされたストリームが、再生時にコンテンツプレーヤ装置によって動的に生成される。このような技術により、ビデオデータの再生を最適化し、現在の状況とシーンの複雑度に基づいてビデオストリームを最高の品質で再生することが可能になる。
本発明の特徴を詳細に理解することができるように、実施形態と添付された図面を参照して、上記の簡単に要約された発明のより具体的な説明を行う。ただし、添付の図面は、この発明の単に典型的な実施形態を示すものであり、その範囲に制限されるものではなく、本発明は同様に有効な他の実施形態を許容することが可能である。
本発明の1以上の態様を実装するように構成されたコンテンツ配信システムを示す図。 本発明の一実施形態による図1のエンコードサーバーの詳細な図。 本発明の一実施形態による図2の複雑度マップ生成部によって生成されたシーン複雑度マップを示す図 本発明の一実施形態によるビデオスリームエンコード部によって生成された様々なビデオストリームを示す図。 本発明の一実施形態による図1のコンテンツプレーヤの詳細な図。 本発明の一実施形態による、シーンの複雑度に基づいて、複数のビデオストリームの1つから再生する次のシーンを選択するための方法のステップを示すフローチャート。 本発明の一実施形態による、図2の複雑度マップ生成部によって生成されたシーンの複雑度マップ、推定された帯域幅、および選択されたエンコード済みビデオストリームを示す図。 本発明の一実施形態による、シーンの複雑度および推定された帯域幅に基づいて、複数のビデオストリームのうちの1つから生成するエンコード済みビデオストリームを選択するための方法のステップを示すフローチャート。
以下の説明では、本発明をより理解することができるように、多くの具体的な細部について説明する。ただし、本発明は1以上のこれらの具体的な細部でなくとも実施できることは、当業者にとって明らかである。他の例では、本発明が不明瞭になるのを避けるために周知の特徴については説明しない。
図1に、本発明の1つ以上の態様を実装するように構成したコンテンツ配信システム100を示す。図に示すように、コンテンツ配信システム100は、エンコードサーバー102、通信ネットワーク104、コンテンツ配信ネットワーク(CDN)106、およびコンテンツプレーヤ108を備える。
通信ネットワーク104は、ルーターやスイッチ等の複数のネットワーク通信システムを備え、エンコードサーバー102とCDN106とコンテンツプレーヤ108間のデータ通信を容易にするように構成される。当業者であれば、通信ネットワーク104を構築するために、周知のインターネット通信ネットワーク上で展開される技術を含む、多くの技術的に実現可能な技術が存在することを理解されるであろう。
エンコードサーバー102は、適応ストリーミング用のデジタルコンテンツファイルに関連付けられているビデオストリームをエンコードするように構成されたコンピューターシステムである。図2および図3を用いて、適応ストリーミング用のビデオストリームをエンコードするためのエンコードのワークフローについてより詳細に説明する。コンテンツ配信システム100は、1つ以上のエンコードサーバー102を備え、各エンコードサーバー102は、ビデオストリームのエンコードに必要とされる全ての機能を実行するように構成される、または、各エンコードサーバー102は、各ビデオストリームをエンコードするために必要な特定の機能を実行するように構成される。エンコード済みのビデオストリームで構成されているデジタルコンテンツファイルをコンテンツプレーヤ108に配信するために、通信ネットワーク104経由でCDN106によって取り出される。
CDN106は1つ以上のコンピューターシステムで構成され、コンピューターシステムは、コンテンツプレーヤ108からのデジタルコンテンツファイルに対する要求をダウンロードできるように構成される。デジタルコンテンツファイルは、コンピューターシステムにアクセス可能な大容量記憶システム上に置かれるようにしてもよい。大容量記憶システムには、これらに限定されるものではないが、直接接続型ストレージ、ネットワーク接続されているファイルスレージ、または、ネットワーク接続されたブロックレベルのストレージ等で構成されてもよい。デジタルコンテンツファイルは、フォーマットされ、任意の実現可能な技術が用いられた大容量記憶システムに格納される。周知のハイパーテキスト転送プロトコル(HTTP)等のデータ転送プロトコルが、デジタルコンテンツファイルをコンテンツサーバー106から、コンテンツプレーヤ108にダウンロードするために用いられるようにしてもよい。
コンテンツプレーヤ108は、コンピューターシステム、セットトップボックス、携帯電話のようなモバイル装置、または、他の技術的に適したコンピュータープラットフォーム等で構成され、それぞれ、ネットワーク接続機能を有し、かつ、ビデオフレームを表示し音響出力を行うための表示装置とスピーカー装置が接続または装備される。コンテンツプレーヤ108は、適応ストリーミング用に構成され、すなわち、特定の再生ビットレートでエンコードされたビデオストリームの単位でダウンロードされ、それに続くビデオストリームの単位のダウンロードは、通信ネットワーク104内で使われている帯域幅の条件に応じて、異なる再生ビットレートでエンコードされたものに切り替える。通信ネットワーク104内の利用可能な帯域幅が制限されるに従って、コンテンツプレーヤ108は低い再生ビットレートでエンコードされたビデオストリームを選択するようにしてもよい。利用可能な帯域幅が増加するに従って、高い再生ビットレートでエンコードされたビデオストリームを選択するようにしてもよい。
上記の説明では、コンテンツ配信システム100は1つのコンテンツプレーヤ108とCDN106で示されているが、図1の構造は、単に模範的な発明の実施例であることを当業者であれば理解されるであろう。他の実施形態では、任意の数のコンテンツプレーヤ108またはCDN106で構成するようにしてもよい。したがって、いかなる方法において本発明の範囲を図1に制限するものではない。
図2は、本発明の一実施形態による、図1のエンコードサーバー102をより詳細に示す図である。図に示すように、エンコードサーバー102は、中央処理装置(CPU)202、システムディスク204、入出力(I/O)装置用インターフェイス206、ネットワークインターフェース208、相互接続部210およびシステムメモリ212を備えている。
CPU202は、システムメモリ212に保存されたプログラムの命令を取得し実行するように構成する。同様に、CPU202は、アプリケーションデータを格納し、システムメモリ212からアプリケーションデータを取得するように構成する。相互接続部210は、CPU202、システムディスク204、I/O装置用インターフェイス206、ネットワークインターフェース208、およびシステムメモリ212間で行われるプログラム命令とアプリケーションデータ等のデータの送信が容易になるように構成する。I/O装置用インターフェイス206は、I/O装置222から入力データを受け取り、相互接続部210を経由してCPU202へ入力データを送信するように構成する。例えば、I/O装置222は、1つ以上のボタン、キーボード、マウスまたは他のポインティングデバイスで構成されるようにしてもよい。また、I/O装置用インターフェイス206は、CPU202から相互接続部210を介して出力データを受け取り、出力データをI/O装置222に送信するように構成する。ハードディスクドライブやフラッシュメモリ記憶ドライブ等のシステムディスク204は、エンコードされたビデオストリーム等の変化しないデータを格納するように構成する。エンコードされたビデオストリームは、通信ネットワーク104を介してCDN106によって取得することが可能である。ネットワークインターフェース208は、相互接続部210を経由してCPU202に接続され、通信ネットワーク104を介してパケットデータを送受信するように構成する。一実施形態では、ネットワークインターフェース208は、周知の標準のイーサネット(登録商標)に準拠して動作するように構成する。
システムメモリ212には、適応ストリーミングのために、特定のコンテンツのタイトルに関連付けられた1つ以上のビデオストリームをエンコードするための命令を含むソフトウェアが記憶される。図に示すように、これらのソフトウェアは、複雑度マップ生成部214、ビデオストリームエンコード部216、ビデオストリームシーケンスヘッダーインデックス(SHI)生成部218を備える。
特定のビデオストリームに対して、複雑度マップ生成部214は、ビデオストリームを分析して、ビデオストリームの異なる部分(ここでは「シーン」として参照される)の動画コンテンツの複雑度を決定する。複雑なシーンは、通常、著しくフレームからフレームへ変化するシーンで、例えば、アクション映画の車のクラッシュシーンです。逆に、単純なシーンは、通常、フレームからフレームへ変化がないシーンで、例えば、平穏な夜の水域のシーンです。複雑度マップ生成部214は、予め経験に基づいて決定された情報に基づいて、ビデオストリームを分析するようにしてもよい。分析に基づき、複雑度マップ生成部214が、図3を用いて以下により詳細に説明するシーン複雑度マップを生成する。
ビデオストリームエンコード部216は、ビデオストリームを特定の再生ビットレートでエンコードするエンコード操作を実行し、エンコードされたビデオストリームをVC1等の特定の規格に準拠したビデオコードに変換して、適応ストリーミング用に構成する。別の実施形態では、MPEGやH.264等の別の規格に準拠したビデオコードに変換するようにビデオストリームをエンコードすることも可能である。操作において、特定のビデオストリームのために、ビデオストリームエンコード部216は、ビデオストリームを異なる一定のビットレートでエンコードして複数のエンコード済みビデオストリームを生成し、各エンコード済みビデオストリームは、異なる一定のビットレートに対応付けられ、つまり、異なる品質を持つ。ビデオストリームエンコード部216によって生成されたエンコード済みビデオストリームには、写真のグループ(group of photo:GOP、各GOPはビデオデータの複数のフレームで構成される。)の順序が含まれる。
SHI生成部218は、エンコード済みの各ビデオストリームに対応してシーケンスヘッダーのインデックスを生成する。シーケンスヘッダーのインデックスを生成するために、SHI生成部218は、最初に、エンコード済みビデオストリームを検索して、エンコード済みビデオストリーム内の異なる複数のGOPに対応するキーフレームを捜す。キーフレームに含まれるシーケンスヘッダーで指定されたシーケンス開始コードに基づいて、SHI生成部218によってキーフレームの位置を見つけることができる。特定されたキーフレームのそれぞれに対応するGOPに対して、SHI生成部218は、シーケンスヘッダーのインデックス内にスイッチポイントを定義し、そのシーケンスヘッダーのインデックスに、(i)GOPに対応するキーフレームを含むデータパケットを特定するデータパケット番号と、(ii)GOPに対応する再生オフセットが格納される。再び、GOPに対応する再生オフセットは、エンコード済みビデオストリームに収録された連続する複数のGOPの中のそのGOPの位置に基づいて決定される。
エンコードサーバー102は、上記の方法を用いて、同じコンテンツのタイトルに関連付けられるとともに異なる再生ビットレートでエンコードされた複数のエンコード済みビデオストリームを生成する。ここに記載されたエンコード処理によれば、異なるエンコードが行われた複数のビデオストリームに亘って、複数のGOPが同じ再生時間間隔で割り当てられ、かつ、異なるエンコードが行われた複数のビデオストリーム間で対応する複数のGOPに、同じ再生オフセットが割り当てられることが、保証される。したがって、特定のコンテンツのタイトルに関連付けられた一つのエンコード済みビデオストリームに含まれるシーケンスヘッダーに定義された各スイッチポイントに対応するスイッチポイントが、同じコンテンツのタイトルに関連付けられた他のエンコード済みビデオストリームのそれぞれに含まれるシーケンスヘッダーに定義される。
同じコンテンツのタイトルに関連付けられた2つのエンコード済みビデオストリームのシーケンスヘッダーのインデックスに基づいて、コンテンツプレーヤは、シーケンスヘッダーのインデックス内の適切なスイッチポイントを特定して、エンコード済みビデオストリーム間を効率的に切り替えることができる。現在再生中のエンコード済みビデオストリームと新しいエンコード済みビデオストリームを切り替える時に、コンテンツプレーヤ10等のコンテンツプレーヤは、新しいエンコード済みビデオストリームに含まれるシーケンスヘッダーのインデックスを検索して、次に再生するGOPに対応する再生オフセットを規定している特定のスイッチポイントの位置を捜す。コンテンツプレーヤは、そこで、再生するために特定のスイッチポイントで新しいエンコード済みビデオストリームに切り替え、指定されたデータパケットに格納されているGOPをダウンロードする。例えば、エンコード済みビデオストリームに対して各GOPに3秒の再生時間間隔が割り当ててあれば、0秒の再生オフセットが割り当てられている最初のGOPが現在再生されている場合には、次に再生するGOPは3秒の再生オフセットが割り当てられる。このようなシナリオでは、コンテンツプレーヤは、新しいエンコード済みストリームシーケンスのヘッダーを検索して3秒の再生オフセットが規定されている特定のスイッチポイントの位置を捜す。特定のスイッチポイントの位置が一度見つけられると、コンテンツプレーヤは再生するためにスイッチポイントで特定されたデータパケットに格納されているGOPをダウンロードする。
実際には、1つのGOPに複数のシーンまたはシーンの一部が含まれる。便宜上、本発明に関して、エンコード済みビデオストリーム内のGOPではなく、エンコード済みビデオストリーム内の特定のシーンに注目して、以下説明する。コンテンツプレーヤ108等のコンテンツプレーヤが、対応するシーケンスヘッダーのインデックスで定義されたGOPの境界に応じて、異なるエンコードが行われたビデオストリーム間を切り替え、スイッチング処理はGOP内に含まれているシーンの複雑度の量を考慮にいれる。このスイッチング処理は、以下にさらに詳しく説明する。
図3は、本発明の一実施形態において、図2の複雑度マップ生成部214によって生成されたシーン複雑度マップ302を示す。図に示すように、シーン複雑度マップ302は、ビデオストリーム内の異なるシーン304の複雑度のレベルを規定する。例えば、シーン304(0)および304(4)のそれぞれはシーンの複雑度は中程度、シーン304(1)はシーンの複雑度は低く、シーン304(2)および304(3)のそれぞれはシーンの複雑度は高い。また、シーン複雑度マップ302の他の実施形態も、この発明で検討される。別の実施形態では、シーンの複雑度のレベルは、数値ベースかつ/またはより細かい単位であらわされる。本発明の目的のため、シーン複雑度マップ302は、ビデオストリーム内の各シーンの複雑度のレベルを規定し、特定のシーンがビデオストリーム内の特定のフレームに対応する。
図4は、本発明の一実施形態における、ビデオストリームエンコード部216によって生成された異なるエンコードが行われたビデオストリーム404を示す。図に示すように、各エンコード済みのビデオストリーム404は、同じタイトルと関連付けられ、かつ、図3に示すシーン304が複数含まれる。さらに、各エンコード済みのビデオストリーム404は異なるビットレートでエンコードされる。エンコード済みのビデオストリーム404(0)は、エンコード済みのビデオストリーム404(1)のビットレートより低いビットレートでエンコードされる。同様に、エンコード済みのビデオストリーム404(1)は、エンコード済みのビデオストリーム404(2)のビットレートより低いビットレートでエンコードされる。また、図に示すように、各エンコード済みビデオストリーム404内のシーン304毎のビット割り当ては、一定である。例えば、エンコード済みビデオストリーム404(0)内の各シーン304は、ビット割り当て406によって規定されるビットを割り当てる。同様に、エンコード済みビデオストリーム404(1)内の各シーン304は、ビット割り当て408によって特定されるビットを割り当て、エンコード済みのビデオストリーム404(2)内の各シーン304はビット割り当て410によって特定されるビットを割り当てる。重要なのは、ビット割り当て406、408および410は、対応するエンコード済みビデオストリーム404に関連付けられているビットレートによって変わり、ビット割り当て406がビット割り当て408よりも小さく、ビット割り当て408はビット割り当て410よりも小さい。
図5は、本発明の一実施形態における図1のコンテンツプレーヤ108のより詳細な図である。図に示すように、コンテンツプレーヤ108は、これに制限されるものではないが、中央処理装置(CPU)510、グラフィックスサブシステム512、入出力(I/O)装置用インターフェイス514、ネットワークインターフェース518、相互接続部520、メモリサブシステム530を備える。また、コンテンツプレーヤ108に、大容量記憶部516を備えるようにしてもよい。
CPU510は、メモリサブシステム530に格納されたプログラミング命令を取得し実行するように構成される。同様に、CPU510は、メモリサブシステム530内に存在するアプリケーションデータを格納および取得するように構成する。相互接続部520は、CPU510、グラフィックスサブシステム512、I/O装置用インターフェイス514、大容量記憶部516、ネットワークインターフェース518、およびメモリサブシステム530間で、プログラム命令とアプリケーションデータ等のデータの送信が容易になるように構成する。
グラフィックスサブシステム512は、ビデオデータのフレームを生成し、表示装置550へビデオデータのフレームを送信するように構成する。一実施形態では、グラフィックスサブシステム512は、CPU510と共に、集積回路に統合されるようにしてもよい。表示装置550は、表示する画像を生成するために技術的に可能な手段で構成されたものであればよい。例えば、表示装置550は、液晶ディスプレイ(LCD)技術、ブラウン管技術、発光ダイオード(LED)ディスプレイ技術(有機又は無機)を用いたものであってもよい。入出力(I/O)装置用インターフェイス514は、ユーザー用I/O装置552から入力データを受け取り、CPU510へ相互接続部520を経由して入力データを送信するように構成する。例えば、ユーザー用I/O装置552は、1つ以上のボタン、キーボード、マウスまたは他のポインティングデバイスで構成されるようにしてもよい。また、I/O装置用インターフェイス514は、また、電気的なオーディオ出力信号を生成するよう構成されたオーディオ出力部を備える。ユーザー用I/O装置552は、電気的なオーディオ出力信号に応じた音響出力を生成するスピーカーで構成される。別の実施形態では、表示装置550にスピーカーが含まれるようにしてもよい。テレビは、ビデオフレームを表示して音響出力を生成することができる、この分野でよく知られている装置の一例である。ハードディスクドライブやフラッシュメモリ記憶ドライブ等の大容量記憶部516は、変化しないデータを格納するように構成される。ネットワークインターフェース518は、通信ネットワーク150を介してデータのパケットを送受信するように構成する。一実施形態では、ネットワークインターフェース518は、周知の「イーサネット」標準を用いて通信するように構成する。ネットワークインターフェース518はCPU510に相互接続部520を介して接続される。
メモリサブシステム530は、オペレーティングシステム532、ユーザーインターフェイス534、および再生アプリケーション536を構成するプログラミング命令とデータとを備える。オペレーティングシステム532は、ネットワークインターフェース518、大容量記憶部516、I/O装置用インターフェイス514、およびグラフィックスサブシステム512を含むハードウェアデバイスの管理等のシステム管理機能を実行する。また、オペレーティングシステム532は、ユーザーインターフェイス534および再生アプリケーション536に対して、プロセス管理およびメモリ管理のモデルを提供する。ユーザーインターフェイス534は、コンテンツプレーヤ108とユーザーが対話入力を行うためのウィンドウやオブジェクトのメタファ等の特定の構造を提供する。当業者であれば、コンテンツプレーヤ108に組み込むのに適した、周知の様々なオペレーティングシステムとユーザーインターフェイスであればよいことを理解されるであろう。
再生アプリケーション536は、CDN106からネットワークインターフェース518を介してデジタルコンテンツを取得し、グラフィックスサブシステム512を介してデジタルコンテンツを再生するように構成する。グラフィックスサブシステム512は、画像に変換されたビデオ信号を表示装置550に送信するように構成する。通常の操作では、再生アプリケーション536は、特定のタイトルを再生するためにユーザーから要求を受け取る。再生アプリケーション536は、CDN106から要求されたタイトルに関連付けられている異なるエンコードが行われた複数のビデオストリームを特定する。ここで、各エンコード済みビデオストリームは、異なる再生ビットレートでエンコードされている。再生アプリケーション536は、要求されたタイトルに関連付けられたエンコード済みビデオストリームの位置を見つけた後、再生アプリケーションはCDN106から要求されたタイトルに関連付けられている各エンコード済みビデオストリームに対応するシーケンスヘッダーのインデックスをダウンロードする。本明細書で既に説明したよう、エンコード済みビデオストリームに関連付けられたシーケンスヘッダーのインデックスには、デジタルコンテンツファイルに含まれるエンコード済みシーケンスに関連する情報が含まれている。
一実施形態では、再生するためのセットアップ時間が最小になるように、再生アプリケーション536は、要求されたタイトルに関連付けられた最も低い再生ビットレートでエンコードされたエンコード済みシーケンスで構成されるデジタルコンテンツファイルのダウンロードから始める。単に説明のために、デジタルコンテンツファイルは、要求されたタイトルと関連付けられた最も低い再生ビットレートでエンコードされたエンコード済みシーケンスで構成されているものとする。要求されたデジタルコンテンツファイルは、ファーストイン・ファーストアウトの待ち行列になるように構成されたコンテンツバッファー543にダウンロードされる。一実施形態では、ダウンロードされた各データの単位は、ビデオデータの単位またはオーディオデータの単位で構成される。要求されたデジタルコンテンツファイルに関連付けられているビデオデータの単位でコンテンツプレーヤ108にダウンロードされると、ビデオデータの単位でコンテンツバッファー543にプッシュされる。同様に、要求されたデジタルコンテンツファイルに関連付けられたオーディオデータの単位で、コンテンツプレーヤ108にダウンロードされると、オーディオデータの単位でコンテンツバッファー543にプッシュされる。一実施形態では、ビデオデータの単位でコンテンツバッファー543内のビデオバッファー546に格納され、オーディオデータの単位でコンテンツバッファー543内のオーディオバッファー544に格納される。
ビデオデコーダー548は、ビデオバッファー546からビデオデータの単位で読み取り、ビデオデータの単位で固定間隔の再生時間に対応するビデオフレームのシーケンスに変換する。ビデオバッファー546からビデオデータの単位で読み出すことで、効率的にビデオバッファー546(かつ、コンテンツバッファー543から)の待ち行列からビデオデータの単位で取り出される。ビデオフレームのシーケンスは、グラフィックスサブシステム512で処理され、表示装置550に送信される。
オーディオデコーダー542は、オーディオバッファー544からオーディオデータの単位で読み取り、オーディオデータの単位で、一般的にビデオフレームのシーケンスの時間と同期させたオーディオサンプルのシーケンスに変換する。一実施形態では、オーディオサンプルのシーケンスが、オーディオサンプルのシーケンスを電気信号に変換するI/O装置用インターフェイス514に送信される。電気的なオーディオ信号は、それに応じて音響出力を生成するユーザー用I/O装置552内のスピーカーに送信される。
通信ネットワーク150の帯域幅に制限が与えられると、再生アプリケーション536は、複雑度に基づいて、異なる一定のビットレートでエンコードされたビデオストリームからビデオデータの連続した部分をダウンロードするようしてもよい。操作では、再生が開始されると、再生アプリケーション536は、再生するデジタルビデオに関連付けられているシーン複雑度マップ302を受信する。前述で説明したように、シーン複雑度マップ302は、デジタルビデオの異なるシーンの複雑度のレベルを規定する。ダウンロードするビデオデータの次の部分を選択すると、再生アプリケーション536はシーン複雑度マップ302に基づいてビデオデータの一部に含まれるシーンの複雑度のレベルを決定する。シーンの複雑度のレベルと1以上のパフォーマンスの要因とに基づいて、再生アプリケーション536は、ビデオデータのその部分をダウンロードする特定のエンコード済みビデオストリームを決定する。例えば、利用可能な帯域幅が低いシナリオでは、シーンの複雑度が低い場合、再生アプリケーション536は、低いビットレートでエンコードされたビデオストリームから複数のシーンを含むビデオデータの一部をダウンロードする。この方法では、複雑度の高いシーンに対してはより高いビットレートでエンコードされたビデオストリームの後続の部分をダウンロードすることで、再生アプリケーション536によって通信ネットワーク150の帯域幅を効果的に管理することができる。このようなシナリオでは、中程度の複雑度のシーンと比較して低い複雑度のシーンをダウンロードするために低い帯域幅を用いて、複雑度が高いシーンで構成されたビデオデータの部分に対応する中程度または高いビットレートでエンコードされたビデオストリームの部分をダウンロードするのに有利になるように帯域幅を節約する。一方、従来のコンテンツプレーヤは、可変ビットレートのビデオストリームの特定の部分がエンコードされたシーンの複雑度を考慮せず、単に利用可能な帯域幅に基づいて、可変ビットレートでエンコードされたビデオストリームのいずれかを選択していた。
ビデオデータの一部に含まれる複数のシーンの複雑度のレベルは別として、ビデオデータの一部をダウンロードする特定のエンコード済みストリームに影響を与える可能性がある他のパフォーマンス要因には、ビデオデータの後続のシーンの複雑度のレベル、ビデオバッファー546のバッファーサイズ、ビデオコンテンツを表示するエンドユーザーの動作、生成される表示タイプ(高精細、標準画質等)、利用可能なリードタイムが含まれる。通信ネットワーク150の帯域幅の制限と組み合わせて、これらの要因は、ビデオデータのその部分に含まれている複数のシーンの複雑度に基づいて、ビデオデータの各部分をダウンロードする特定のエンコード済みビデオストリームを決定するために用いることができる。このような方法で、異なる一定のビットレートでエンコードされたビデオストリームから、可変ビットレートのビデオストリームが生成される。
別の実施形態では、複雑度の高いシーンを含むビデオデータの部分だけを、高いビットレートでエンコードする。同様に、複雑度が中程度または高いシーンを含むビデオデータの部分だけを、中程度のビットレートでエンコードする。複雑度の低いシーンしか含まないビデオデータの部分は、低いビットレートのみでエンコードする。図4を再び参照すると、ビデオスリームのエンコードされたレベルが中程度のビットレートでは、エンコード後のビデオストリーム404(1)には、シーン304(1)は含まれず、ビデオストリームのエンコードされたレベルが高いビットレートでは、エンコード後のビデオストリーム404(2)には、シーン304(0)、304(1)、および304(4)は含まれない。このような実施形態では、再生アプリケーション536は、高いビットレートでエンコードされたビデオストリームから複雑度が高いシーンを含むビデオデータの部分だけをダウンロードし、低いビットレートでエンコードされたビデオストリームからビデオデータの全ての他の部分をダウンロードするようにしてもよい。
図6は、本発明の一実施形態による、シーンの複雑度に基づいて、複数のビデオストリームの中の1つから再生する次のシーンを選択する方法のフローチャートである。この方法のステップは、図1〜5のシステムと組み合わせて説明されるが、当業者であれば、この方法のステップを、任意の順序で実行するように構成したシステムであっても発明の範囲内であることを理解されるであろう。
ステップ602では、再生アプリケーション536は、再生が開始されているデジタルビデオに関連付けられているシーン複雑度マップ302を受信する。前述で説明したように、シーン複雑度マップ302は、デジタルビデオの異なるシーンの複雑度のレベルを規定する。ステップ604では、再生アプリケーション536が再生するデジタルビデオに関連付けられているエンコード済みビデオストリームの一組を特定する。図3を用いて前述で説明したように、各エンコード済みビデオストリームは異なるビットレートでエンコードされる。
ステップ606では、再生アプリケーション536は、ビデオデータは次の部分に対して、次の部分の含まれているシーンに関連付けられている複雑度のレベルを決定する。複雑度のレベルは、ステップ602で取得したシーン複雑度マップ302に基づいて決定される。ステップ608では、再生アプリケーション536は、1以上のパフォーマンス要因だけでなく決定された複雑度のレベルに基づいて、ビデオデータの次の部分をダウンロードするために特定のエンコード済みビデオストリームを選択する。前述で説明したように、パフォーマンス要因は、帯域幅の制限やコンテンツバッファー543のサイズが含まれる。特定のエンコード済みビデオストリーム選択するために、コンテンツプレーヤ108で実行している再生アプリケーション536は、デジタルビデオコンテンツの別の(前の)部分を再生している間に、ダウンロードするビデオデータの次の部分に対するビデオストリームのエンコードレベル(高い、中程度、または低いビットレート)を動的に決定する。
ステップ610では、再生アプリケーション536は、ビデオデータの再生中に別の時間ステップが発生するかを決定し、そうである場合は、再生アプリケーション536はビデオストリームの別の部分に対してステップ606、608を繰り返す。別の時間ステップがビデオデータの再生中に発生しないときは、すなわち、ビデオコンテンツの再生は終わっている。時間ステップは、一定の間隔(秒またはフレーム)で発生する、あるいは、コンテンツバッファー543が一杯であるか空であるかをトリガーとして発生するようにしてもよい。
開示の技術の利点の1つは、ビデオデータの各部分の複雑度のレベルに基づいて、異なる一定のビットレートでエンコードされたビデオストリームからビデオデータの一部を選択することにより、様々なビットレートでエンコードされたストリームが再生時に動的に生成される。このような技術により、現在の状況とシーンの複雑度に基づいてビデオデータの再生を最適化して、最高の再生品質のビデオストリームを生成することが可能になる。
帯域幅とシーンの複雑度に基づいたビデオストリームの選択
コンテンツプレーヤ108とエンコードサーバー102間の帯域幅の制限に応じて、ダウンロードするビデオストリームの選択を変えるようにしてもよい。場合によっては、コンテンツプレーヤ108によってシーン複雑度マップが用いられ、より低い一定のビットレートでエンコードされたビデオストリームからシーン複雑度のレベルがより低いシーンをダウンロードし、それに続く複雑度のレベルがより高いシーンをより高い一定のビットレートでエンコードされたビデオストリームからダウンロードできるようにする。つまり、あるシーンのためにダウンロードされるエンコード済みのビデオの品質を妥協して(より低いビットレートでダウンロードされる)、それに続くより高いビットレートでエンコードされたシーンについては、エンコード済みのビデオをより高い品質でダウンロードするようにしてもよい。複数のシーンに亘って品質のレベルのバランスをとるために、複雑度が低いシーンと比較して、複雑度が高いシーンはより高いビットレートでダウンロードするようにする。ダウンロードするエンコード済みのビデオのビットレートを選ぶのに用いられるパフォーマンス要因に、品質の低下を耐えられる範囲で最大にすることを考慮するようにしてもよい。例えば、品質の低下を耐えられる範囲で最大にすることが唯一の基準であれば、複雑度の高いシーンは、高/中ビットレートでダウンロードし、低いビットレートでダウンロードしないようにする。
コンテンツプレーヤ108は、コンテンツプレーヤ108とエンコードサーバー102間の実際の帯域幅をサンプリングして、帯域幅を推定することができる。推定された帯域幅は、将来の時間窓に対する実際の帯域幅の見積である。例えば、推定された帯域幅は、ビデオデータの一部または時間窓に対する実際の帯域幅の過去の状態に基づいて決定されたものであってもよい。時間窓の時間長は、単一のフレームほどの大きさ、あるいは、複数のGOPと同じ大きさになるように、固定される、またはプログラムされてもよい。推定された帯域幅は、前の1つ以上の時間窓で帯域幅を実際にサンプルした平均を計算したものであってもよい。また、推定された帯域幅は、時間窓の間に実際にサンプルされた帯域幅を入力とする関数を用いて計算するようにしてもよい。コンテンツプレーヤ108とエンコードサーバー102間の実際の帯域幅は、時間窓の間に何百回、何千回、または、何回サンプリングされてもよい。
帯域幅の見積りの計算に加えて、帯域幅の変動率は、推定した帯域幅に対応する実際の帯域幅の変動率として求められ、推定した帯域幅から偏差値(例えば、標準偏差の数字)で表すようにしてもよい。時間窓内のあらゆる時点で、実際の帯域幅は、ゼロまたはゼロに近いビットレートから高いビットレートまたは高いビットレートよりさらにより高いビットレートまで変化する。特に、衛星で流れるビデオコンテンツでは帯域幅の変動率の幅が大きく、それに応じて偏差値は高くなる。それ以外の場合では、実際の帯域幅の変化が少なく、帯域幅の変動率に対する偏差値は低くなる。新しいストリーミングのセッションの初めに、推定された帯域幅および帯域幅の変動率は前のセッションでの挙動に基づいて値が初期設定されるようにしてもよい。計算された推定された帯域幅に加え、シーンの複雑度および帯域幅の変動率の1つ以上を用いて、ダウンロードする特定の固定ビットレートでエンコードされたビデオストリームを選び、コンテンツプレーヤ108が受け取るデジタルコンテンツの質を最適化する。
図7は、本発明の一実施例における、図2の複雑度マップ生成部214によって生成されたシーンの複雑度マップ700の一例である。また、推定された帯域幅710と選択されたストリーム720、すなわち、様々なビットレートのビデオストリームを生成するために、各シーンに対して選ばれる固定レートのビデオストリームの各部分を図7に示す。
図に示すように、シーン複雑度マップ700はビデオストリーム内の異なるシーン704の複雑度のレベルを規定する。例えば、シーン704(0)、704(4)および704(5)のそれぞれのシーンの複雑度は中程度、シーン704(1)および704(9)のそれぞれのシーンの複雑度は低い、シーン704(2)、704(3)、704(6)、704(7)および704(8)のそれぞれのシーンの複雑度は高い。シーン複雑度マップ700の他の実施形態も、この発明によって考慮される。別の実施形態では、シーン複雑度のレベルは数値ベースおよび/またはより粒度が高くてもよい。ここに記述されている発明の実施形態の目的は、シーン複雑度のマップ700はビデオストリームの各シーンのシーン複雑度のレベルを規定し、特定シーンがビデオストリーム内の特定の一組のフレームに対応する。
上記のように、本発明の一実施委形態では、ビデオストリームエンコーダー216によって、異なるエンコードが行われたビデオストリームが生成される。エンコード済みビデオストリームの各々は同じタイトルに関連付けられ、図7に示されるシーン704が含まれる。更に、各エンコード済みビデオストリームは、異なる固定ビットレート、例えば、低い固定ビットレート、中程度の固定ビットレート、および、高い固定ビットレートでエンコードされる。別の実施形態では、複雑度が高いシーンが含まれているビデオデータの部分だけ高いビットレートでエンコードされる。同様に、複雑度が中程度または高いシーンが含まれているビデオデータの部分だけ中程度のビットレートでエンコードされる。複雑度が低いシーンだけが含まれているビデオデータの部分は、低いビットレートにだけエンコードされる。従って、高いエンコードと中程度のエンコードが行われたデオストリームには、図7で説明されたシーン704の全ては含まれないかもしれない。例えば、高いエンコードと中程度のエンコードが行われたビデオストリームには、シーン704(1)と704(9)は含まれない。
コンテンツプレーヤ108とエンコードサーバー102間の推定された帯域幅710はコンテンツプレーヤ107によって、各時間窓(1つの時間窓が1つのシーン704に対応する)毎に定められる。シーンの複雑度が低いか、中程度か、高いか対応して、各シーンの推定された帯域幅は、それぞれ低く、中程度、高くなるように計算されるようにしてもよい。シーン704(0)に対して推定された帯域幅が中程度であり、シーン704(0)の複雑度が中程度あれば、シーン704(0)は中程度の固定ビットレートでウンロードすることができる。
シーン704(1)に対して推定された帯域幅710が高く、シーン704(1)の複雑度が低ければ、シーン704(1)は、低い固定ビットレートでも、中程度の固定ビットレートでも、高い固定ビットレートでもダウンロードすることができる。シーン704(1)の複雑度は低いので、シーン704(1)は低い固定ビットレートでダウンロードされる(選択されたストリーム720に示すように)。シーン704(1)に対する時間窓の間に追加のエンコード済みのビデオデータをダウンロードするようにして、高い複雑度を持っているシーン704(2)もダウンロードしてもよい。シーン704(2)は、シーン704(1)に対する時間窓の間に高い固定ビットレートでダウンロードされる。
シーン704(2)および704(3)に対して推定された帯域幅710は中程度であり、シーン704(2)および704(3)に対する時間窓の間に、シーン704(3)を高い固定ビットレートでダウンロードしてもよい。シーン704(4)、704(5)、704(6)、704(7)、704(8)、および704(9)に対して推定された帯域幅は中程度である。少なくともシーン704(6)および704(7)を高い固定ビットレートのダウンロードするためには、シーン704(4)および704(5)に対して、低い固定ビットレートエンコードされたビデオストリームが選ばれる(選択されたストリーム720を参照)。シーン704(4)に対する時間窓の間に、シーン704(4)および704(5)のために低い固定ビットレートでエンコードされたビデオストリームがダウンロードされる。シーン704(5)、シーン704(6)、および704(7)に対応する時間窓の間には、シーン704(6)および704(7)のために高い固定ビットレートエンコードされたビデオストリームが選ばれ、ダウンロードされる。シーン704(4)および704(5)をより低いビットレートでダウンロードするのなら、シーン704(6)および704(7)はより高いビットレートでダウンロードするようにしてもよい。
最後に、推定された帯域幅が中程度であれば、中程度の固定ビットレートでエンコードされたビデオストリームがシーン704(8)をダウンロードするために選ばれる。シーン704(9)は複雑度が低いので、低い固定ビットレートでエンコードされたビデオストリームが、シーン704(9)をダウンロードするために選ばれる。シーン704(9)に対する時間窓の残りの帯域幅がそれに続くシーンのビデオストリームをダウンロードするために使用されてもよい。
図8は、発明の一実施形態による、シーンの複雑度および推定された帯域幅に基づいて、複数のビデオストリームの1つから再生するエンコード済みのビデオストリームを選ぶための方法のステップ800を示すフローチャートである。方法のステップ800は、図1〜7のシステムと組み合わせて説明されるが、当業者であれば、任意の順序で実行するように構成したシステムであっても発明の範囲内であることを理解されるであろう。
ステップ802で、再生アプリケーション536は再生が開始されているデジタルビデオに関連付けられているシーン複雑度マップ302を受信する。前述で説明したように、シーン複雑度マップ700は、デジタルビデオの異なるシーンの複雑度のレベルを規定する。ステップ804では、再生アプリケーション536が再生するデジタルビデオに関連付けられているエンコード済みビデオストリームの一組を特定する。図3および図7を用いて前述で説明したように、各エンコード済みビデオストリームは異なる固定ビットレートでエンコードされる。
ステップ806では、再生アプリケーション536は、次の時間窓に対して、エンコードサーバー102からコンテンツレーヤ108にエンコード済みデオストリームをダウンロードするための推定された帯域幅を計算する。推定された帯域幅は1つ以上の前の時間窓における実際の帯域幅に基づいて計算された推定値である。ステップ807では、再生アプリケーション536は次の時間窓に対して、推定された帯域幅に対する実際の帯域幅の変動率を計算する。帯域幅の変動率は、1つ以上の前の時間窓での実際の帯域幅および推定された帯域幅に基づいて計算される。
ステップ808で、再生アプリケーション536は、次の1つ以上の時間窓に対して、シーンに関連付けられている複雑度のレベルを決定する。1つ以上の時間窓ごとに先読みすることで、再生アプリケーション536は、推定された帯域幅に基づいて、複雑度が低いシーンに比較して、複雑度が高いシーンをより高いビットレートでダウンロードすることが可能になるので、いくつかのシーンに亘って品質のレベルのバランスをとることができる。複雑度のレベルは、ステップ802で受信したシーン複雑度マップ700に基づいて決定される。ステップ810では、再生アプリケーション536は、1以上のパフォーマンス要因だけでなく、計算された推定された帯域幅、計算された帯域幅の変動率、および決定された複雑度のレベルに基づいて、ビデオデータの次の部分をダウンロードするための特定のエンコード済みビデオストリームを選択する。パフォーマンス要因には、コンテンツバッファー543のサイズや品質の低下を耐えられる範囲で最大にすることが含まれる。特定のエンコード済みビデオストリーム選択するために、コンテンツプレーヤ108で実行している再生アプリケーション536は、デジタルビデオコンテンツの別の(前の)部分を再生している間に、ダウンロードするビデオデータの次の部分に対するビデオストリームのエンコードレベル(高い、中程度、または低いビットレート)を動的に決定する。
ステップ812では、再生アプリケーション536は、ビデオデータの再生中に別の時間窓が発生するかを決定し、そうである場合は、再生アプリケーション536はビデオストリームの別の部分に対してステップ806、808、および810を繰り返す。別の時間窓がビデオデータの再生中に発生しないときは、すなわち、ビデオコンテンツの再生は終わっている。時間窓は、一定の間隔(秒、フレーム、またはGOP)で発生する、あるいは、コンテンツバッファー543が一杯であるか空であるかをトリガーとして発生するようにしてもよい。
一実施形態では、再生アプリケーション536は、少なくとも低いビットレートエンコードされたビデオストリームが、ビデオバッファー546の最初の部分で利用できるようにするために、1つ以上の時間窓に対して低いビットレートでビデオストリームをダウンロードする。ステップ810で時間窓に対して低いビットレートでエンコードされたビデオストリームが選ばれる時はいつも、データがビデオバッファー546の最初の部分に既にそのデータが格納されているので、再生アプリケーション536は時間窓に対して低いビットレートでエンコードされたビデオストリームはダウンロードしない。ステップ810では、時間窓に対して中程度/高いビットレートのエンコード済みビデオストリームが選択された時は、再生アプリケーション546がビデオバッファー546の二番目の部分へ選択されたエンコード済みビデオストリームをダウンロードする。
開示の技術の利点の1つは、エンコード済みビデオデータをダウンロードするための推定された帯域幅とビデオデータの各部分の複雑度のレベルに基づいて、異なる一定のビットレートでエンコードされたビデオストリームからビデオデータの一部を選択することにより、様々なビットレートでエンコードされたストリームが再生時に動的に生成される。このような技術により、利用可能なダウンロード帯域幅、帯域幅の変動率、およびシーンの複雑度に基づいてビデオデータの再生を最適化して、最高の再生品質のビデオストリームを生成することが可能になる。
本発明の一実施形態は、コンテンツプレーヤ108には、セットトップボックス等の組込型コンピューターのプラットフォームを含む。本発明の別の実施例では、例えば、インターネットのWEBサイトに埋め込まれた実行可能な命令のように、コンピューターシステム内のメモリにダウンロードされるプログラム製品として実装するようにしてもよい。この実施形態では、コンテンツプレーヤ108にはコンピューターシステムが装備されている。
前述では本発明の実施形態を示しているが、基本的な範囲から逸脱することがなく、発明を他のさらなる実施形態で実施することが可能である。例えば、本発明は、ハードウェアまたはソフトウェア、またはハードウェアとソフトウェアの組合せで実装することが可能である。本発明の一実施形態のコンピューターシステムで使用するためのプログラム製品として実装するようにしてもよい。プログラム製品のプログラムは実施形態(ここに記載された方法を含む)の機能を規定し、各種コンピューターの読み取り可能な記憶媒体に記憶することが可能である。説明したコンピューターが読み取り可能な記録媒体は、これに限定されるものではないが:(i)書き込み不可能な記録媒体(例えば、CD−ROMドライブによって読み取り可能なCD−ROMディスク等のコンピューター内の読み取り専用メモリ、フラッシュメモリ、ROMチップ、またはあらゆる種類の不揮発性半導体メモリ)に情報が永久的に格納され:(ii)書き込み可能な記録媒体(例えば、ディスクドライブ内のフロッピー(登録商標)ディスク、またはハードディスクドライブ、またはあらゆる種類のランダムアクセス可能な半導体メモリ)に変更可能な情報が格納される。本発明の機能を指示するコンピューターが読み取り可能な命令を運ぶものであればコンピューター読み取り可能記録媒体は、本発明の実施形態に含まれる。
上記の観点から、請求項に従って本発明の範囲が決定される。

Claims (10)

  1. 適応的にデジタルビデオコンテンツをダウンロードする方法において、
    前記デジタルビデオコンテンツに関連付けられたシーン複雑度マップを受信して、前記デジタルビデオコンテンツの1以上の各部分に関連付けられている複雑度のレベルを特定するステップと、
    前記デジタルビデオコンテンツに対応するエンコード済みビデオストリームであって、エンコード済みビデオストリームのそれぞれが、異なるビットレートに関連付けられ、かつ、前記デジタルビデオコンテンツの1以上の各部分に対して前記異なるビットレートでエンコードされたエンコード部分を含む複数のエンコード済みビデオストリームを特定するステップと、
    1以上の時間窓に亘ってデジタルビデオコンテンツをダウンロードするために利用可能な実際の帯域幅基づいて、1番目の時間窓に対して推定された帯域幅を計算するステップと、
    前記シーン複雑度マップに基づいて、前記デジタルビデオコンテンツの1番目の部分に関連する第1の複雑度のレベルと前記デジタルビデオコンテンツの2番目の部分に関連する第2の複雑度のレベルを決定するステップと、
    前記デジタルビデオコンテンツの別の部分の再生中に、前記推定された帯域幅と前記第1の複雑度のレベルと前記第2の複雑度のレベルとに基づいて、前記複数のエンコード済みビデオストリームのうち、前記デジタルビデオコンテンツの前記1番目の部分に対応する第1のエンコード部分をダウンロードする第1のエンコード済みビデオストリームを選択するステップと、
    再生するために、前記第1のエンコード部分を前記第1のエンコード済みビデオストリームからコンテンツプレーヤ装置に存在するコンテンツのバッファーにダウンロードするステップと、
    を備えた方法。
  2. 前記推定された帯域幅と前記第1の複雑度のレベルと前記第2の複雑度のレベルとに基づいて、前記複数のエンコード済みビデオストリームのうち、前記デジタルビデオコンテンツの前記2番目の部分に対応する第2のエンコード部分をダウンロードする第2のエンコード済みビデオストリームを選択するステップをさらに備えることを特徴とする請求項1記載の方法。
  3. 前記第1のエンコード済みビデオストリームに対するビットレートは前記推定された帯域幅より小さく、前記第2のエンコード済みビデオストリームのビットレートは前記推定された帯域幅より大きいことを特徴とする請求項2記載の方法。
  4. 前記選択するステップが、さらに前記コンテンツバッファーの前記サイズに基づいて、前記第1のエンコード部分をダウンロードする第1のエンコード済みビデオストリームを選択することを特徴とする請求項1記載の方法。
  5. 前記選択するステップが、さらに前記デジタルビデオコンテンツの1以上の部分のそれぞれの部分に対する品質の低下を耐えられる範囲で最大にするように、前記第1のエンコード部分をダウンロードする第1のエンコード済みビデオストリームを選択することを特徴とする請求項1記載の方法。
  6. 前記複数のエンコード済みビデオストリームのうち、最も低いビットレートでエンコードされたビデオストリームを前記コンテンツバッファーにダウンロードするステップをさらに備えることを特徴とする請求項1記載の方法。
  7. 1以上の時間窓に亘って前記デジタルビデオコンテンツをダウンロードするために利用可能な実際の帯域幅と前記推定された帯域幅に基づいて、前記1番目の時間窓に帯域幅の変動率の値を算出するステップをさらに備えることを特徴とする請求項1記載の方法。
  8. 前記選択するステップが、さらに前記帯域幅の変動率に基づいて、前記第1のエンコード部分をダウンロードする前記第1のエンコード済みビデオストリームを選択することを特徴とする請求項7記載の方法。
  9. デジタルビデオコンテンツを適応的にダウンロードするコンピューターシステムとして機能させるための命令を格納したコンピューター読み取り可能な記録媒体であって、
    プロセッサに、
    前記デジタルビデオコンテンツに関連付けられたシーン複雑度マップを受信して、前記デジタルビデオコンテンツの1以上の各部分に関連付けられている複雑度のレベルを特定するステップと、
    前記デジタルビデオコンテンツに対応するエンコード済みビデオストリームであって、該エンコード済みビデオストリームのそれぞれが、異なるビットレートに関連付けられ、かつ、前記デジタルビデオコンテンツの1以上の各部分に対して前記異なるビットレートでエンコードされたエンコード部分を含む複数のエンコード済みビデオストリームを特定するステップと、
    1以上の時間窓に亘ってデジタルビデオコンテンツをダウンロードするために利用可能な実際の帯域幅基づいて、1番目の時間窓に対して推定された帯域幅を計算するステップと、
    前記シーン複雑度マップに基づいて、前記デジタルビデオコンテンツの1番目の部分に関連する第1の複雑度のレベルと前記デジタルビデオコンテンツの2番目の部分に関連する第2の複雑度のレベルを決定するステップと、
    前記デジタルビデオコンテンツの別の部分の再生中に、前記推定された帯域幅と前記第1の複雑度のレベルと前記第2の複雑度のレベルとに基づいて、前記複数のエンコード済みビデオストリームのうち、前記デジタルビデオコンテンツの前記1番目の部分に対応する第1のエンコード部分をダウンロードする第1のエンコード済みビデオストリームを選択するステップと、
    再生するために、前記第1のエンコード部分を前記第1のエンコード済みビデオストリームからコンテンツプレーヤ装置に存在するコンテンツのバッファーにダウンロードするステップと、
    を実行させるための命令を格納したコンピューター読み取り可能な記録媒体。
  10. 適応的にデジタルビデオコンテンツをダウンロードするためのシステムであって、
    再生アプリケーションと、コンテンツバッファーと、前記デジタルビデオコンテンツに関連付けられているとともに前記デジタルビデオコンテンツの1以上の各部分に関連付けられた複雑度のレベルを特定するシーン複雑度マップとを格納するメモリ、および、
    前記メモリに接続され、前記再生アプリケーションを実行するように構成するプロセッサを備え、
    前記プロセッサに、
    前記シーン複雑度マップを受信するステップと、
    前記デジタルビデオコンテンツに対応するエンコード済みビデオストリームであって、該エンコード済みビデオストリームのそれぞれが、異なるビットレートに関連付けられ、かつ、前記デジタルビデオコンテンツの1以上の各部分に対して前記異なるビットレートでエンコードされたエンコード部分を含む複数のエンコード済みビデオストリームを特定するステップと、
    1以上の時間窓に亘ってデジタルビデオコンテンツをダウンロードする実際の帯域幅基づいて、1番目の時間窓に対して推定された帯域幅を計算するステップと、
    前記シーン複雑度マップに基づいて、前記デジタルビデオコンテンツの1番目の部分に関連する第1の複雑度のレベルと前記デジタルビデオコンテンツの2番目の部分に関連する第2の複雑度のレベルを決定するステップと、
    前記デジタルビデオコンテンツの別の部分の再生中に、前記推定された帯域幅と前記第1の複雑度のレベルと前記第2の複雑度のレベルとに基づいて、前記複数のエンコード済みビデオストリームのうち、前記デジタルビデオコンテンツの前記1番目の部分に対応する第1のエンコード部分をダウンロードする第1のエンコード済みビデオストリームを選択するステップと、
    再生するために、前記第1のエンコード部分を前記第1のエンコード済みビデオストリームからコンテンツプレーヤ装置に存在するコンテンツのバッファーにダウンロードするステップと、
    を実行させるシステム。
JP2013550641A 2011-01-21 2012-01-20 適応ストリーミングのための様々なビットのビデオストリーム Active JP5840702B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/011,242 US8997160B2 (en) 2010-12-06 2011-01-21 Variable bit video streams for adaptive streaming
US13/011,242 2011-01-21
PCT/US2012/022103 WO2012100215A1 (en) 2011-01-21 2012-01-20 Variable bit video streams for adaptive streaming

Publications (2)

Publication Number Publication Date
JP2014506748A true JP2014506748A (ja) 2014-03-17
JP5840702B2 JP5840702B2 (ja) 2016-01-06

Family

ID=46516129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013550641A Active JP5840702B2 (ja) 2011-01-21 2012-01-20 適応ストリーミングのための様々なビットのビデオストリーム

Country Status (8)

Country Link
US (3) US8997160B2 (ja)
EP (1) EP2666098B1 (ja)
JP (1) JP5840702B2 (ja)
KR (1) KR101513119B1 (ja)
AU (1) AU2012207151B2 (ja)
CA (1) CA2825019C (ja)
DK (1) DK2666098T3 (ja)
WO (1) WO2012100215A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016522622A (ja) * 2013-07-19 2016-07-28 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 動的適応型ハイパーテキスト転送プロトコルストリーミングにおけるメタデータ情報のシグナリングおよび搬送
US10284612B2 (en) 2013-04-19 2019-05-07 Futurewei Technologies, Inc. Media quality information signaling in dynamic adaptive video streaming over hypertext transfer protocol

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9060187B2 (en) 2008-12-22 2015-06-16 Netflix, Inc. Bit rate stream switching
US8812662B2 (en) 2011-06-29 2014-08-19 Sonic Ip, Inc. Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
US8745158B2 (en) * 2011-09-30 2014-06-03 Avid Technology, Inc. Application-guided bandwidth-managed caching
US9900630B2 (en) * 2011-11-08 2018-02-20 Comcast Cable Communications, Llc Adaptive content selection
US9716856B2 (en) * 2012-03-07 2017-07-25 Echostar Technologies L.L.C. Adaptive bit rate transcode and caching for off air television programming delivery
US9276989B2 (en) * 2012-03-30 2016-03-01 Adobe Systems Incorporated Buffering in HTTP streaming client
US9042441B2 (en) 2012-04-25 2015-05-26 At&T Intellectual Property I, Lp Apparatus and method for media streaming
JP5928196B2 (ja) * 2012-06-29 2016-06-01 ブラザー工業株式会社 通信システム、端末装置、登録方法、及びプログラム
JP5838925B2 (ja) * 2012-06-29 2016-01-06 ブラザー工業株式会社 通信システム、端末装置、動画の表示方法、及びプログラム
TWI610554B (zh) * 2012-07-10 2018-01-01 Vid衡器股份有限公司 無線傳輸/接收單元中內容切換/品質驅動切換的方法
US9125073B2 (en) * 2012-08-03 2015-09-01 Intel Corporation Quality-aware adaptive streaming over hypertext transfer protocol using quality attributes in manifest file
KR101952632B1 (ko) 2012-08-22 2019-02-27 삼성전자주식회사 사용자 단말 장치 및 그를 이용한 컨텐츠 전송 방법
US9936267B2 (en) 2012-08-31 2018-04-03 Divx Cf Holdings Llc System and method for decreasing an initial buffering period of an adaptive streaming system
JP6270873B2 (ja) * 2013-01-15 2018-01-31 華為技術有限公司Huawei Technologies Co.,Ltd. メディアコンテンツの適応型ストリーミングのための品質情報の使用
JP2016517197A (ja) 2013-03-06 2016-06-09 インターデイジタル パテント ホールディングス インコーポレイテッド ビデオストリーミングに対する電力認識適応
US9674515B2 (en) * 2013-07-11 2017-06-06 Cisco Technology, Inc. Endpoint information for network VQM
US9756101B2 (en) * 2013-08-02 2017-09-05 Pixar Transition points in an image sequence
US9621613B1 (en) * 2013-11-05 2017-04-11 Visualon, Inc. Bitrate adaptation transitioning using key frames
US9634942B2 (en) 2013-11-11 2017-04-25 Amazon Technologies, Inc. Adaptive scene complexity based on service quality
US9582904B2 (en) 2013-11-11 2017-02-28 Amazon Technologies, Inc. Image composition based on remote object data
US9604139B2 (en) 2013-11-11 2017-03-28 Amazon Technologies, Inc. Service for generating graphics object data
US9578074B2 (en) 2013-11-11 2017-02-21 Amazon Technologies, Inc. Adaptive content transmission
US9805479B2 (en) 2013-11-11 2017-10-31 Amazon Technologies, Inc. Session idle optimization for streaming server
US9641592B2 (en) 2013-11-11 2017-05-02 Amazon Technologies, Inc. Location of actor resources
US9374552B2 (en) 2013-11-11 2016-06-21 Amazon Technologies, Inc. Streaming game server video recorder
US9253102B2 (en) * 2013-11-13 2016-02-02 Verizon Patent And Licensing Inc. Time weighted queuing scheduler for machine-to-machine communications
JP2015153252A (ja) * 2014-02-17 2015-08-24 株式会社リコー 通信システム、通信装置及びプログラム
US9955191B2 (en) * 2015-07-01 2018-04-24 At&T Intellectual Property I, L.P. Method and apparatus for managing bandwidth in providing communication services
KR102547320B1 (ko) 2016-02-01 2023-06-23 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
CN114928737B (zh) * 2016-10-12 2023-10-27 弗劳恩霍夫应用研究促进协会 空间不均等流媒体化
US11412311B2 (en) 2017-05-25 2022-08-09 Samsung Electronics Co., Ltd Methods and systems for saving data while streaming video
US10873775B2 (en) * 2017-06-12 2020-12-22 Netflix, Inc. Staggered key frame video encoding
US11394620B1 (en) * 2017-09-20 2022-07-19 Amazon Technologies, Inc. Network pattern matching
US10616640B2 (en) 2017-12-28 2020-04-07 Sling TV L.L.C. Over the top media integration with over the air broadcast media
US11622140B2 (en) * 2018-12-19 2023-04-04 Yahoo Assets Llc Selective streaming of video segments based on buffer data and download rate range
US10827181B1 (en) 2019-05-03 2020-11-03 At&T Intellectual Property I, L.P. Differential adaptive bitrate streaming based on scene complexity
US11108481B2 (en) 2019-09-18 2021-08-31 Sling Media L.L.C. Over-the-air programming integration with over the top streaming services
CN111225254B (zh) * 2020-01-20 2023-04-18 视联动力信息技术股份有限公司 一种视频传输方法、装置、终端设备及存储介质
CN111405319B (zh) * 2020-03-31 2021-07-23 北京达佳互联信息技术有限公司 带宽确定方法、装置、电子设备和存储介质
GB202015327D0 (en) * 2020-09-28 2020-11-11 British Telecomm Adaptive bit rate streaming
US11356725B2 (en) * 2020-10-16 2022-06-07 Rovi Guides, Inc. Systems and methods for dynamically adjusting quality levels for transmitting content based on context
US20230144442A1 (en) * 2021-11-05 2023-05-11 Tencent America LLC Immersive media streaming prioritized by asset complexity

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004153610A (ja) * 2002-10-31 2004-05-27 Kyocera Corp 動画像配信方法、無線端末、動画像配信制御装置、及び動画像配信システム
JP2004274531A (ja) * 2003-03-11 2004-09-30 Shu Company Co Ltd 動画配信システム
JP2007036666A (ja) * 2005-07-27 2007-02-08 Onkyo Corp コンテンツ配信システム、クライアント及びクライアントプログラム
WO2007063901A1 (ja) * 2005-12-01 2007-06-07 Sharp Kabushiki Kaisha 無線通信システム及び無線通信方法
US20080294789A1 (en) * 2007-05-24 2008-11-27 Canon Kabushiki Kaisha Method and device for transmitting data
JP2009543513A (ja) * 2006-07-10 2009-12-03 シメトリコム インコーポレイテッド パケットベースのビデオ放送システムにおける映像複雑度の計算
WO2009149100A1 (en) * 2008-06-06 2009-12-10 Amazon Technologies, Inc. Client side stream switching
WO2010109752A1 (ja) * 2009-03-25 2010-09-30 日本電気株式会社 通信システム
WO2010144521A2 (en) * 2009-06-12 2010-12-16 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129374A1 (en) 1991-11-25 2002-09-12 Michael J. Freeman Compressed digital-data seamless video switching system
US5884037A (en) * 1996-10-21 1999-03-16 International Business Machines Corporation System for allocation of network resources using an autoregressive integrated moving average method
WO2000056021A1 (en) * 1999-03-15 2000-09-21 Vocaltec Communications Ltd. Flow control method and apparatus
US20030014484A1 (en) 2000-11-09 2003-01-16 Arnon Netzer Scheduling in a remote-access server
KR20170128620A (ko) * 2000-10-11 2017-11-22 로비 가이드스, 인크. 매체 콘텐츠 배달 시스템 및 방법
NO315887B1 (no) 2001-01-04 2003-11-03 Fast Search & Transfer As Fremgangsmater ved overforing og soking av videoinformasjon
US7415038B2 (en) * 2001-03-29 2008-08-19 International Business Machines Corporation Method and system for network management providing access to application bandwidth usage calculations
US7274661B2 (en) 2001-09-17 2007-09-25 Altera Corporation Flow control method for quality streaming of audio/video/media over packet networks
US20030112763A1 (en) * 2001-12-17 2003-06-19 Gin Liu Communications channel performance determination for high-speed access
US6910079B2 (en) * 2002-01-25 2005-06-21 University Of Southern California Multi-threshold smoothing
US20030185301A1 (en) 2002-04-02 2003-10-02 Abrams Thomas Algie Video appliance
US7941554B2 (en) * 2003-08-01 2011-05-10 Microsoft Corporation Sparse caching for streaming media
US7844992B2 (en) 2003-09-10 2010-11-30 Thomson Licensing Video on demand server system and method
US20050261837A1 (en) * 2004-05-03 2005-11-24 Smartsignal Corporation Kernel-based system and method for estimation-based equipment condition monitoring
US7480701B2 (en) 2004-12-15 2009-01-20 Microsoft Corporation Mixed-media service collections for multimedia platforms
US20060136981A1 (en) 2004-12-21 2006-06-22 Dmitrii Loukianov Transport stream demultiplexor with content indexing capability
US7908627B2 (en) 2005-06-22 2011-03-15 At&T Intellectual Property I, L.P. System and method to provide a unified video signal for diverse receiving platforms
US7979885B2 (en) 2005-08-11 2011-07-12 Harmonic Inc. Real time bit rate switching for internet protocol television
US8607287B2 (en) 2005-12-29 2013-12-10 United Video Properties, Inc. Interactive media guidance system having multiple devices
US8914529B2 (en) 2007-01-22 2014-12-16 Microsoft Corporation Dynamically adapting media content streaming and playback parameters for existing streaming and playback conditions
US9270944B2 (en) * 2007-02-14 2016-02-23 Time Warner Cable Enterprises Llc Methods and apparatus for content delivery notification and management
US9398346B2 (en) * 2007-05-04 2016-07-19 Time Warner Cable Enterprises Llc Methods and apparatus for predictive capacity allocation
US7802286B2 (en) 2007-07-24 2010-09-21 Time Warner Cable Inc. Methods and apparatus for format selection for network optimization
GB2456026A (en) * 2007-12-26 2009-07-01 Contendo Inc CDN balancing and sharing platform
US7925774B2 (en) * 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US9047236B2 (en) * 2008-06-06 2015-06-02 Amazon Technologies, Inc. Client side stream switching
US9167007B2 (en) * 2008-06-06 2015-10-20 Amazon Technologies, Inc. Stream complexity mapping
US8539092B2 (en) * 2008-07-09 2013-09-17 Apple Inc. Video streaming using multiple channels
TWI373945B (en) * 2008-07-18 2012-10-01 Ubitus Technology Ltd Multimedia streaming transmission system and method thereof
US8396114B2 (en) 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
EP2257073A1 (en) 2009-05-25 2010-12-01 Canon Kabushiki Kaisha Method and device for transmitting video data
CA2711311C (en) * 2009-08-10 2016-08-23 Seawell Networks Inc. Methods and systems for scalable video chunking
US9313512B2 (en) * 2009-11-25 2016-04-12 Vudu, Inc. Multiple bit rate encoding by segments
WO2011075670A1 (en) * 2009-12-18 2011-06-23 Google Inc. Matching encoder output to network bandwidth
US8190677B2 (en) * 2010-07-23 2012-05-29 Seawell Networks Inc. Methods and systems for scalable video delivery
US8773993B2 (en) * 2011-01-31 2014-07-08 Apple Inc. Adaptive bandwidth estimation

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004153610A (ja) * 2002-10-31 2004-05-27 Kyocera Corp 動画像配信方法、無線端末、動画像配信制御装置、及び動画像配信システム
JP2004274531A (ja) * 2003-03-11 2004-09-30 Shu Company Co Ltd 動画配信システム
JP2007036666A (ja) * 2005-07-27 2007-02-08 Onkyo Corp コンテンツ配信システム、クライアント及びクライアントプログラム
WO2007063901A1 (ja) * 2005-12-01 2007-06-07 Sharp Kabushiki Kaisha 無線通信システム及び無線通信方法
JP2009543513A (ja) * 2006-07-10 2009-12-03 シメトリコム インコーポレイテッド パケットベースのビデオ放送システムにおける映像複雑度の計算
US20080294789A1 (en) * 2007-05-24 2008-11-27 Canon Kabushiki Kaisha Method and device for transmitting data
WO2009149100A1 (en) * 2008-06-06 2009-12-10 Amazon Technologies, Inc. Client side stream switching
WO2010109752A1 (ja) * 2009-03-25 2010-09-30 日本電気株式会社 通信システム
WO2010144521A2 (en) * 2009-06-12 2010-12-16 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10284612B2 (en) 2013-04-19 2019-05-07 Futurewei Technologies, Inc. Media quality information signaling in dynamic adaptive video streaming over hypertext transfer protocol
JP2016522622A (ja) * 2013-07-19 2016-07-28 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 動的適応型ハイパーテキスト転送プロトコルストリーミングにおけるメタデータ情報のシグナリングおよび搬送

Also Published As

Publication number Publication date
EP2666098B1 (en) 2019-08-28
CA2825019C (en) 2016-08-02
EP2666098A1 (en) 2013-11-27
JP5840702B2 (ja) 2016-01-06
US20150201226A1 (en) 2015-07-16
US8997160B2 (en) 2015-03-31
US20180220174A1 (en) 2018-08-02
US9930385B2 (en) 2018-03-27
US10972772B2 (en) 2021-04-06
KR101513119B1 (ko) 2015-04-22
US20120141089A1 (en) 2012-06-07
WO2012100215A1 (en) 2012-07-26
KR20130101585A (ko) 2013-09-13
EP2666098A4 (en) 2015-04-22
AU2012207151B2 (en) 2015-07-30
DK2666098T3 (da) 2019-11-11
CA2825019A1 (en) 2012-07-26

Similar Documents

Publication Publication Date Title
JP5840702B2 (ja) 適応ストリーミングのための様々なビットのビデオストリーム
JP5684920B2 (ja) 適応ストリーミングのための様々なビットのビデオストリーム
US10326810B2 (en) Parallel streaming
US9781183B2 (en) Accelerated playback of streaming media
AU2012207151A1 (en) Variable bit video streams for adaptive streaming
US20150229873A1 (en) Adaptive streaming for digital content distribution

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140729

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141029

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20141106

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141201

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20141208

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150129

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151111

R150 Certificate of patent or registration of utility model

Ref document number: 5840702

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250