CN105075273B - 自适应流式传输技术 - Google Patents

自适应流式传输技术 Download PDF

Info

Publication number
CN105075273B
CN105075273B CN201480010521.3A CN201480010521A CN105075273B CN 105075273 B CN105075273 B CN 105075273B CN 201480010521 A CN201480010521 A CN 201480010521A CN 105075273 B CN105075273 B CN 105075273B
Authority
CN
China
Prior art keywords
bit
bit rate
rate
variation
bit stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480010521.3A
Other languages
English (en)
Other versions
CN105075273A (zh
Inventor
苏野平
潘昊
J·O·诺麦尔
H-J·吴
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.)
Apple Inc
Original Assignee
Apple Computer 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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN105075273A publication Critical patent/CN105075273A/zh
Application granted granted Critical
Publication of CN105075273B publication Critical patent/CN105075273B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/142Detection of scene cut or scene change
    • 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/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • 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/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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/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/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种系统和方法,该系统和方法被呈现用于使由于带宽波动和不同比特率流之间的转变对用户所感知的视频质量的这种突然并且立刻的变化最小化。该方法可包括从包括在比特流中的同步帧场景切换标签来识别比特流的即将到来的比特率变化和最近的场景切换边界。该方法可包括计算在改变该比特率之前是否等待直到所识别的最近的场景切换边界将使得缓冲区降低到低于阈值。当计算出缓冲区未降低到低于该阈值时,该方法可推迟该即将到来的比特率变化直到所识别的最近的场景切换边界。

Description

自适应流式传输技术
优先权要求
本专利申请要求于2013年2月27日提交的美国临时申请61/769,944的优先权,该专利申请全文以引用方式并入本文。
背景技术
自适应流式传输技术被设计为在异构和动态计算机网络上流式传输多媒体数据。随着互联网成长,已开发出附加协议、安全设备和带宽管理工具。一些设备和工具诸如防火墙和代理服务器利用不同视频传输协议来进行阻碍或干扰。作为结果,基于超文本传输协议(HTTP)的视频流协议已日益流行以确保视频数据成功传输到能观看标准HTTP通信量的用户并且可被用户查看。基于HTTP的视频流式传输协议也不需要专门服务器软件并且与允许标准HTTP通信量的任何防火墙和代理服务器兼容。自适应流式传输支持不同比特率的若干另选视频流。客户端视频播放器已被配置为在不同流之间选择和/或切换以选择给定最佳比特率网络状况。在过去,比特流切换只发生在同步帧上。
播放器还包括比特流缓冲区以在一旦由播放器接收时临时存储流式传输的视频数据。缓冲区允许流式传输的视频数据被解码,不存在网络带宽波动引起的抖动。如果网络带宽足够地降低,则比特流缓冲区可能最终被耗尽。为了防止这一点,播放器已被配置为切换到将减小缓冲区被耗尽的可能性的较低比特率流。一些播放器还使用网络带宽估计器来决定带宽何时增大到足以支撑至较高比特率流的切换。带宽波动和不同比特率流之间的转变造成对用户所感知的视频质量的突然且立刻可注意到的变化。
需要使由于带宽波动和不同比特率流之间的转变对用户所感知的视频质量的这种突然且立刻的变化最小化。
附图说明
为了可理解本发明的特征,以下描述了许多附图。然而,需注意,附图仅示出了本发明的特定实施例并且因此不应理解为对其范围的限制,本发明可涵盖其他相同效果的实施例。
图1示出了适用于与本发明一起使用的视频分发系统的简化框图。
图2是根据本发明的实施例的具有集成编码服务器和分发服务器的系统的简化框图。
图3示出根据本发明的实施例的在场景切换期间实现比特率变化的示例性过程。
图4示出了根据本发明的实施例的用于逐步切换的示例性过程。
图5示出根据本发明的实施例的用于基于视频数据中的标记信息来调节比特流速率的过程。
图6示出根据本发明的实施例的用于在为编码器提供播放器缓冲区大小时优化编码的示例性过程。
具体实施方式
本发明的实施例提供用于使由于带宽波动和不同比特率流之间的转变对用户所感知的视频质量的这种突然且立刻的变化最小化的系统和方法。本文所讨论的技术中的每个技术都可独自使用或者与本文所讨论的其他技术中的一个或多个技术一起使用。
图1示出了适用于与本发明一起使用的视频分发系统100的简化框图。系统100可包括分发服务器系统110和包含视频播放器120的经由通信网络130连接的客户端设备。分发服务器110可包括存储各种视频内容项(例如,电影、电视节目和其他运动画面内容)以用于由客户端播放器设备120下载的存储系统115。
分发服务器110可将视频内容项的若干副本存储作为编码视频流,每个视频流以相应比特率、帧速率和帧大小进行编码。视频流被解析为编码视频的多个“块”、段,该编码视频表示预先确定持续时间的视频内容。图1的实例示出了以相应比特率(分别为4Mb/s、2Mb/s和500Kb/s)编码的三个编码视频比特流A、B和C,其中每个块代表5秒的源视频。分发服务器110还可存储索引文件145,本文称为“清单”文件,其使编码视频流与视频内容项相关联并且将每个编码视频流的块与其他视频流的对应块相关。
在分发服务器110接收针对视频内容项的请求时,服务器110可将来自清单文件145的数据提供至客户端设备120。配备有表示编码视频流的不同数据速率的信息,客户端设备120可识别视频流中的一个视频流或比特率中的一个比特率以用于视频递送。设备的递送带宽的识别可基于对网络130中可用带宽的估计和/或对客户端设备120处的可用的处理或显示能力的估计以解码所接收的数据。作为响应,分发服务器110可以指定的数据速率从存储装置115检索数据块,可从所检索的块构建信道流并且可将信道流140传输到客户端设备120。
在分发服务器110随时间将其块递送到客户端设备120时,客户端设备120可以不同数据速率请求视频内容项的递送。例如,客户端设备120可修改其网络带宽的估计和/或本地处理或显示能力。作为应答,分发服务器110可检索与不同数据速率对应的块并且将它们构建成信道流。客户端设备120可在递送会话期间重复地请求不同的数据速率,并且因此,被递送到客户端设备120的信道流140可包括从各个视频编码流得到的块。
清单文件可包括可被表示为元数据的不同句法成分。例如,句法成分针对每个流可包括每个流是否包含具有不同分辨率的块的指示。播放器因此可决定在块开始时是否要更新视频分辨率信息。
在另一实例中,对于每个流,清单文件可包括指示所有块的第一帧是否为同步帧的数据。播放器因此可决定在不同流之间切换时要切换的帧或块。
在又一实例中,针对每个流和/或块,清单文件可包括指示所识别的同步帧是否也为场景切换的一部分的数据。播放器因此可决定推迟或延迟在流之间进行切换直到在所识别的同步帧处出现下一个场景切换。
在另一实例中,对于每个流和/或块,清单文件可包括指示流或块的视觉质量的数据。播放器因此可在流之间进行切换以实现最佳视觉体验,例如通过使平均视觉质量最大化和/或使视觉质量跳变最小化。
在另一实例中,对于每个流和/或块,清单文件可包括对块中的其比特率和/或比特数的指示。播放器可根据每个块中的块比特率和/或所识别的比特数来确定其缓冲和切换行为。
在另一实例中,对于每个流和/或块,清单文件可包括指示块的分辨率的数据。播放器因此可基于块的分辨率来决定是否应更新视频分辨率。
在另一实例中,对于每个块,清单文件可包括指示从块开始或在块之后播放流的剩余部分所需带宽的数据。播放器因此可基于该数据来决定切换到哪个流。
在另一实例中,对于每个流和/或块,清单文件可包括指示在同步帧开始时的初始缓冲状况的数据。缓冲状况可指示在给定预先确定的缓冲区大小和网络带宽的情况下解码和/或开始回放之前应缓冲的比特数。可选择比特数以避免可能在回放期间引起中断的比特流缓冲区下溢。播放器因此可决定在存在随机存取事件时缓冲的量。
在另一实例中,对于每个块,清单文件可包括指示其第一帧是否为同步帧的数据。播放器因此可决定在不同流之间进行切换时要切换的帧或块。
在另一实例中,对于每个块,清单文件可包括指示在处理该块之后播放器应当切换到的流的数据。
图2示出了根据本发明的实施例的示例性视频编码和分发系统。如在图2中所示,系统200可包括集成编码服务器210和分发服务器250。
编码服务器210可包括缓冲存储设备215、预处理器220、编码引擎225、参数选择器230、质量估计器235和目标比特率估计器240。缓冲存储设备215可存储典型地来自相机或存储设备的输入视频,该输入视频被发送到预处理器220和/或参数选择器230。
预处理器220可向视频施加视频处理操作。例如,预处理器220可改变视频序列的大小和/或帧速率。预处理器220还可包括适合的存储装置,使得在编码服务器210生成序列的各个编码版本时可对公共视频序列重复执行参数选择器230所选择的大小和/或帧速率修改。
编码引擎225可向由预处理器220输出的视频序列施加数据压缩操作。编码引擎225可根据包括编码标准的MPEG、H.263、H.264和HEVC系列的常用视频编码协议中的任一个视频编码协议来操作。编码引擎225可向视频序列的不元素施加编码参数,包括例如编码模式选择,诸如是否将输入帧编码为I-帧、P-帧或B-帧和/或量化参数,该量化参数将要在帧内施加的一个或多个量化参数识别为编码视频数据。
参数选择器230可生成提供至预处理器220和/或编码引擎225的参数数据以控制其操作。参数选择器230例如可使得预处理器220改变输出到编码引擎225的数据的大小和/或帧速率。参数选择器230可将编码模式和/或量化参数施加于编码引擎225。参数选择器230可基于从目标比特率估计器240所接收的比特率估计以及基于源视频的复杂度估计来选择编码参数。
质量估计器235可估计由编码引擎所输出的编码视频数据的质量。可基于在解码期间可能出现的期望或测量误差来估计该质量。质量估计器235可输出表示编码视频数据的质量的量化估计的数字数据。
目标比特率估计器240可基于要由分发服务器250支持的数据速率来生成视频段的比特率估计。
在操作期间,目标比特率估计器240可向视频序列分配比特率,并且基于由分发服务器250所提供的数据速率和块大小估计来选择刷新速率。响应于由目标比特率估计器240所选择的比特率并且基于视频序列自身的分析,参数选择器230可针对预处理器220和/或编码引擎225来选择操作参数。例如,参数选择器230可使得预处理器220调节视频序列的帧大小(或分辨率)。参数选择器230还可选择编码模式和对视频序列内的帧的量化参数。编码引擎225可通过运动补偿预测技术来处理输入视频并且输出表示输入视频序列的编码视频数据。
质量估计器235可评估编码视频数据并且估计根据所选择参数的而编码的视频序列的质量。质量估计器235可确定编码质量是否满足与由分发服务器250所设置的比特率相关联的预先确定的量化阈值。如果质量估计器235确定编码满足该阈值,则质量估计器235可确认该编码。通过对比,如果质量估计器235确定编码不满足与目标比特率相关联的足够的质量阈值,则质量估计器235可修改由参数选择器230施加的编码参数并且可使得预处理器220和编码引擎225重复对源视频的操作。
一旦参数选择器230选择满足由质量估计器235所建立的质量度量的一组处理和编码参数,则编码服务器210可前进到由分发服务器250所支持的下一个比特率。同样,参数选择器230和质量估计器235可递归地操作选择参数、将其应用到预处理操作和编码、估计由此获得的编码视频数据的质量以及修改参数直到满足质量要求为止。
场景切换标签
视频序列可包括不同场景、相机角度和背景。场景切换可包括这些不同场景、角度或背景之间的转变。例如,在将被广播的采访期间,第一相机可定位在被采访者身上以及第二相机定位在采访者身上。场景切换可在视频被采访者和采访者的图像之间进行切换时出现。由于比特流切换引起对用户所感知的视频质量变化可能在这些场景切换期间或者在场景切换边界处不那么可见。
编码器(例如,编码服务器210)可识别并且随后对也为场景切换的同步帧加标签。标签可被插入到清单文件中,该清单文件可被至少部分地传输到播放器270以使得即将到来的场景切换的识别能够先于播放器270。播放器270可使用加标签的同步帧信息来选择何时在不同比特流速率之间转变。例如,播放器270可使用加标签的同步帧信息以允许比将以其他方式允许用于未加标签的同步帧更大的比特流速率转变。
图3示出在本发明的实施例中的场景切换期间实现比特率变化的示例性过程300。
在框31中,可识别视频比特率流中的即将到来的速率变化。即将到来的变化可通过网络状况或带宽的变化、播放器处可用缓冲区大小的变化、将被传输的数据的变化、或保证所选择的比特率流的速率变化的另一事件来识别。
一旦即将到来的速率变化已被识别,则在框32中,最近的场景切换边界可从所包括的同步帧场景切换标签被识别为将要传输给播放器的所选择比特率流的一部分。在一些实例中,这些场景切换标签可包括在传输到播放器的清单文件数据中。在另一实施例中,播放器可分析所接收到的视频序列(例如,缓冲区中所存储的视频序列)以确定场景变化。
在框33和34中,可确定播放器处的剩余缓冲区是否足以实现比特率变化的推迟,直到达到框32中所识别的最近的场景切换边界。如果播放器中的剩余缓冲区针对所需的推迟超过阈值直到达到框32中所识别的最近的场景切换边界,则剩余缓冲区可能是足够的。阈值可以是时间阈值,诸如视频数据的至少x秒、数量阈值,诸如视频数据的至少y个比特或者至少z个百分比、或者其他类型的阈值。
如果剩余缓冲区被确定为足够,则在框35中,比特率变化可能被推迟直到达到包含框32中所识别的最近的场景切换边界的同步帧。
如果剩余缓冲区被确定为不足,则在框36中,可在达到包含框32中所识别的最近的场景切换边界的同步帧之前进行第一比特率变化。在一些实例中,框36中的第一比特率变化可被选择为确保播放器处的剩余缓冲区足以实现比特率变化的推迟必要的最小比特率变化直到达到框32中所识别的最近的场景切换边界。在其他实例中,框36中的比特率变化可被设置为预先确定的速率变化量或者比特率变化可被限制以便不超过预先确定的量。
在框37中,如果需要,实现框31中所识别的速率变化所需要的第二或任何另外比特率变化可在包含框32中所识别的最近的场景切换边界的同步帧处实现。
逐步切换
在过去,在可用网络带宽突然掉线时,播放器通过立即切换到与带宽掉线对应的较低比特率流来作出响应。高带宽掉线造成比特率的极大降低,这使得可由正观看播放器中的视频的用户立即注意到的突然质量下降。在一些实施例中,可能发生比特率的分级降低以避免用户不喜欢的突然质量下降。
在经缓冲的视频数据下降到低于预先确定的阈值之前,分级比特率降低可出现在较早开始减小比特率时。比特率降低随后可在预先确定时段扩散,使得不同于一次明显可注意到的比特率下降,比特率随时间增量地减小。这种技术也可应用于由于可用带宽的增大而造成比特率增大时。
图4示出了根据本发明的实施例的用于逐步切换比特率的示例性过程。
在框41中,可识别网络带宽变化。网络带宽变化可通过将网络带宽变化与阈值进行比较来识别。网络带宽变化可使用网络诊断工具来识别,该网络诊断工具包括检测网络性能问题、检测调包、跟踪路由器、交换机、服务器和其他设备的响应时间、和/或分析网络性能和通信量的应用程序。阈值可为在实现逐步切换之前的预先确定的最小带宽变化值。可选择阈值,使得只有在原始比特率与新目标比特率之间进行切换时存在至少预先确定数量的中间比特率用于转变的情况下才实现逐步切换。
在框42中,新目标比特率可从清单文件中指定或从其他源获得的多个可用比特率流识别。来自可用比特率流的能够针对网络带宽的变化提供最高质量的比特率可被识别为目标比特率。不同算法和标准可确定哪个流能针对带宽变化提供最高质量。例如,在一些情况下,可选择针对带宽变化的最接近用于视频流式传输的可用带宽的比特率。在其他实例中,可识别针对网络带宽变化允许对所选择的流进行预先确定的缓冲的比特率。其他标准可用于其他实例中。
一旦在框42中已识别目标比特率,则在框43中可识别原始比特率和目标比特率之间的可用比特率中的至少一个可用比特率。在框43中所识别的一个或多个比特率可用于转变计划目的。
在框44中,原始比特率可在达到目标比特率之前随时间在框43中的所识别的比特率中的每个比特率之间增量地这种增量转变可以一个或多个预先确定的速率出现。在一些实例中,可选择转变速率,使得从原始比特率转变到目标比特率的周期在框43中的中间比特率中的每个中间比特率之间均匀划分。在其他实例中,转变速率可根据中间比特率而变化。例如,从原始比特率到第一中间比特率的第一转变可伴随较慢出现的至其他中间比特率的随后转换较快地发生,或者反之亦然。不同格式和标准可提供对转变速率的选择和/或转变速率如何变化。
即将到来的段信息标签
视频流中的每个段根据包含在该段中的视频数据的复杂度可与和其他段相比不同数量的比特位一起编码。如果播放器能够事先了解不同比特流的段的即将到来的瞬时比特率,则播放器可更准确地决定可流畅地回放哪一个比特率。对于视频点播应用,这可通过向播放器传输标签或其他指示符来完成,诸如#比特标签,其指示由比特流的即将到来的段所使用的比特数。不同段的即将到来的瞬时比特率还可从媒体数据的每个段的字节偏移量导出。给定关于即将到来的段的该比特信息,播放器可在给定当前缓冲状态和网络状况的情况下更准确地计算最高可承受速率比特流。该标签信息可存储在清单文件中并且随后被传输到播放器。
除了了解每个即将到来的段的比特数之外,在其他实施例中,视频回放质量可利用有关编码视频数据的视觉质量特性的附加信息更精确地加以控制。可基于在将视频数据编码成段时在编码器处执行的误差计算来估计该视觉质量信息。误差计算可表示为在编码和图像压缩过程期间丢失的视觉信息量。通常,在编码期间丢失的以及在解码期间不可恢复的信息越多,则在解码期间的误差越大并且解码图像的质量越差。
质量标签或其他质量指示符,诸如#质量标签也可传输到播放器。该质量指示符可基于编码期间的所计算的误差或其他标准来指示即将到来的比特流段的相对估计质量。例如,根据针对编码期间质量由估计器计算的段的误差诸如均值误差,质量指示符可包括排名从0到10(或其他比例)的质量。在一些情况下,质量信息也可存储在清单文件中。
播放器随后可使用质量信息通过推迟和/或加速比特率变化来规划比特率变化,从而确保在切换期间的流畅的质量转变。播放器还可基于由播放器所接收的质量信息在解码期间优化所缓冲的视频数据的质量。
图5示出根据本发明的实施例的用于基于视频数据中的加标签的信息来调节比特流速率的过程。示例性比特流51可包括提供有关即将到来的视频段53的加标签的信息的元数据52。可根据在比特流51中提供的加标签的信息来调节比特流速率。
比特流51可包括编码成一个或多个段53的视频数据以及包含有关视频数据和/或比特流51的信息的元数据52,在一些情况下,元数据可从清单文件获得。在图5所示的实例中,比特流51包括元数据52,该元数据包含针对四个视频段53中的每个视频段的编号为从1到4的#比特和#质量标签,以及针对四个段53中的每个段的经编码的视频数据。尽管包含有关四个段53中的每个段的标签信息的元数据52被示为在四个视频段53中的每个视频段之前,但是在一些情况下,元数据52可被分割,使得紧接在段1之前传输用于段1的元数据标签信息,紧接在段2之前传输用于段2的元数据标签信息,紧接在段3之前传输用于段3的元数据标签信息,以此类推。在其他实施例中,也可使用用于传输元数据52的其他序列。
在编码期间,编码器可识别视频段53中的每个视频段中的比特数并且包括元数据52中的通过比特流51传输到解码器的针对每个段53的所识别的比特数。编码器可计算或以其他方式识别误差或与段53中的每个段相关联的其-他编码质量指示符,并且包括在元数据52中通过比特流51传输到解码器的针对每个段53的编码质量指示符。
在框55中,可识别比特流51的至少一个即将到来的视频段53的比特数。比特数可通过作为比特流51的一部分传输到播放器的元数据52来识别。
在框56中,可基于在框55中所识别的即将到来的段比特数、播放器的当前缓冲状态、网络状况和/或由带宽估计器所确定的可用带宽来计算最高可承受未来比特流速率。
在框57中,可基于在框56中所计算的最高比特流速率以及在框55中所识别的即将到来的比特数来调节比特流速率。调节比特流速率可包括转变为具有不同比特流速率的比特流。不同比特流速率可在清单文件中被识别。播放器还可基于所识别的即将到来的比特数来调节比特流速率。
在框58中可基于在比特流51的至少一个即将到来的段53中的所识别比特质量来调节比特流速率。在至少一个即将到来的段中的比特质量可通过作为比特流51的一部分传输到播放器的元数据52来识别。调节比特流速率可包括转变为具有不同比特流速率的比特流。不同比特流速率可在清单文件中被识别。
如上所述,播放器随后可使用在框55中所识别的即将到来的比特数和/或在即将到来的至少一个段53中的比特质量来通过推迟和/或加快比特率变化来规划比特率变化以确保切换期间的流畅的质量转变。播放器还可基于由播放器所接收的即将到来的比特数和/或质量信息在解码期间优化经缓冲的视频数据的质量。
编码技术
如果编码器提供有关于播放器的比特流缓冲区的大小的信息,则编码也可得到优化。通过了解播放器的缓冲区大小,编码器能够更好地分配比特位以避免缓冲区下溢。例如,编码比特率在导向忙碌部分的静态部分中可被慢慢变低,使得更多的比特可被分配给忙碌部分,从而在忙碌部分的回放期间减小用户的所感知的质量的降低。
编码器还可被配置为考虑编码期间播放器切换逻辑部件的影响。例如,如果编码器能够以有效方式准确编码短时忙碌部分(例如,以低于预先确定的阈值的误差进行编码),则该部分可被加标签以指示允许比特率变化和/或优选出现在该部分处。类似地,如果某一部分尤其复杂或者难以准确编码(例如,以等于或高于预先确定的阈值的误差进行编码),则该部分可被加标签一指示不允许比特率变化和/或不优选出现在该部分处。
图6示出根据本发明的实施例的用于在为编码器提供播放器缓冲区大小时优化编码的示例性过程。
在框61中,可识别视频播放器的缓冲区信息。视频播放器的缓冲区信息可指示缓冲区的总体大小和/或具有数据的缓冲区的量(例如,缓冲区中的x秒的视频数据、缓冲区中的y比特的数据、缓冲区为满的百分比和/或其他类型的阈值)。缓冲区信息可基于从播放器提供给编码器的数据和/或基于对编码器端处缓冲区信息进行的估计来识别。
在一些情况下,其中视频播放器可具有可变缓冲区大小,视频播放器可在通信网络上将其缓冲区大小信息传输到编码器。在一些实例中,编码器可提供有一个或多个缓冲区大小并且可通过从所提供的一个或多个缓冲区大小选择缓冲区大小来初始地识别播放器的缓冲区大小。在其中存在多于一个可用缓冲区大小的情况下,编码器可提供有用于选择缓冲区大小的一个或多个标准。该标准可包括但不限于播放器版本、播放器正运行的设备类型、比特流长度和/或大小、发送到播放器的数据和/或其他标准。
在框62中,可基于在框61中所识别的缓冲区大小来调节正传输到播放器的比特流的编码速率。可进行调节以减小缓冲区下溢或缓冲区溢出。可调节缓冲区下溢,使得数据流内容的回放不会由于缓冲区以比缓冲区内容由播放器所消耗的速率更慢的速率接收数据而造成中断。可调节缓冲区溢出,使得数据流内容的回放不会由于缓冲区以比缓冲区内容由播放器所消耗的速率更快的速率接收数据而造成中断。
在框63中,可调节编码速率以通过降低比特流的导向直到忙碌部分的静态部分中的比特率来减小缓冲区下溢。例如,如上所述,编码比特率在导向忙碌部分的静态部分中可被慢慢变低,使得更多的比特可被分配给忙碌部分,从而在忙碌部分的回放期间减小用户的所感知的质量的降低。
在框64中,可调节编码速率以在针对比特流的静态部分将比特率降低到最大可承受速率的同时通过以较高不可承受速率编码比特流的短时忙碌部分来减小缓冲区下溢。例如,编码比特率在导向静态部分的忙碌部分中可被慢慢增大,使得更少的比特可被分配给静态部分,从而在静态部分的回放期间减小用户的所感知的质量的提高。这可减小忙碌部分中的质量降低,其中以增大静态部分中的质量降低为代价用户更可能注意到,而在给定固定缓冲大小的情况下用户可能不太注意。
在框65中,可调节编码速率以通过以较高比特率编码比特流来减小缓冲区溢出。可逐渐进行调节以避免用户不喜欢的突然质量变化。在一个实施例中,可缓慢增加导向静态部分的忙碌部分中的编码比特率,同时静态部分的编码比特率可保持不变。这可增加忙碌部分中的质量。
启动行为
当初始选择视频流以传输到播放器处并且在播放器处播放时,可能存在很小带宽或没有带宽历史记录,可根据该带宽历史记录进行对可用带宽的可靠估计。带宽估计通常在获得启动比特流的段之后制定初始带宽估计。不同于盲选可用比特流中的一个可用比特流并且随后在制定可用带宽的初始估计时切换该流,则网络的上一次已知的良好状态和/或可用带宽可提供对可用带宽的初始估计。通过使用上一次已知良好状态的可用带宽,播放器可初始选择使启动时间最小化的比特率。
在其他实例中,播放器或与播放器相关联的另一应用诸如互联网浏览器可在用户选择视频流之前优先探测可用带宽。例如,播放器可在播放器初始执行之后以及视频流启动之前探测可用带宽。在其他实例中,播放器或与播放器相关联的其他应用可探测可用带宽,同时用户在进行选择之前搜索视频流,使得播放器具有对可用带宽的最当前的估计。
在一些应用中,上文所述的模块可提供为集成软件系统的元件,其中块可提供作为计算机程序的单独的元件。例如,可使用可存储指令或指令集的非暂态计算机可读存储介质或制品来实现一些实施例,如果由处理器执行,该指令或指令集可使得处理器根据所公开的实施例执行一种方法。本发明的其他应用可实施为专用硬件和软件部件的混合系统。
示例性方法和计算机程序指令可实施在非暂态机器可读存储介质上。此外,服务器或数据库可包括配置为存储机器可执行程序指令的机器可读介质。本发明的实施例的特征可以硬件、软件、固件、或其组合实现并且用于系统、子系统、部件或其子部件。“机器可读存储介质”可包括可存储信息的任何介质。机器可读存储介质的实例包括电子电路、半导体存储设备、ROM、闪存存储器、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、或任何电磁或光存储设备。
应当理解,在任何实际具体实施的发展中(如在任何开发项目中),必须要作出许多决定以实现开发者的特定目标(例如符合与系统和商务相关的约束条件),并且这些目标将在不同具体实施之间变化。还应当理解,此类开发工作可能是复杂的且费时的,但尽管如此,对于受益于本公开的数字视频捕获、处理和分发领域的那些普通技术人员而言,这仍然是他们的日常工作。
尽管本文所示和所述的过程包括一系列步骤,但是应当理解,本公开的不同实施例不限于所示的步骤顺序,有些步骤可以不同次序出现,一些步骤与本文所示和所述之外的其他步骤同时出现。此外,并非所有所示的步骤要求实现根据本发明的方法。此外,应当理解,所述过程可与本文所示和所述的装置和系统相关联以及与未示出的其他系统相关联地实现。
应当理解,以上描述旨在是示例性的而非限制性的。例如,可彼此结合地使用上述实施例。在回顾以上描述时,很多其他的实施例对于本领域的技术人员而言将是显而易见的。因此应当参考所附权利要求与连同此权利要求被授权的等同范围的完整范围来确定本发明的范围。

Claims (50)

1.一种用于自适应流式传输的方法,包括:
在比特流的第一编码表示的渲染期间,当确定要发生比特率变化时,查看描述所述比特流的不同编码表示的清单文件,所述比特流的不同编码表示各自具有相应的比特率,其中每个编码表示的段与其他编码表示的对应段相关联,并且其中所述清单文件包括共同应用于所述不同编码表示的在时间上同时发生的段的场景切换标签;
从包括在接收所述比特流之前接收的所述清单文件中的同步帧场景切换标签来识别最近的场景切换边界;
计算在改变所述比特率之前等待直到所识别的场景切换边界是否将使得比特流宿处的缓冲区越过阈值;以及
当计算出所述缓冲区不会越过所述阈值时,检索所述第一编码表示的从当前回放位置直到最近的场景切换边界的一个或多个段,并且之后检索所述比特流的第二编码表示的在所述最近的场景切换边界以后的一个或多个段。
2.根据权利要求1所述的方法,其中当计算出所述缓冲区会越过所述阈值时,检索所述第二编码表示的在所述最近的场景切换边界之前的一个或多个段。
3.根据权利要求2所述的方法,其中检索所述第二编码表示的在所述最近的场景切换边界之前的一个或多个段包括检索第三编码表示的一个或多个段,所述第三编码表示具有在所述第一编码表示的比特率和所述第二编码表示的比特率之间的中间比特率。
4.根据权利要求1所述的方法,其中当计算出所述缓冲区会越过所述阈值时,检索第三编码表示的从所述当前回放位置直到在检索所述第二编码表示的所述一个或多个段之前的一个或多个段,所述第三编码表示的比特率低于所确定的即将到来的比特率变化的比特率。
5.根据权利要求1所述的方法,其中基于网络状况的变化来确定要发生的比特率变化。
6.根据权利要求1所述的方法,其中基于缓冲区充满度的变化来确定要发生的比特率变化。
7.根据权利要求1所述的方法,其中基于缓冲区充满度的变化和网络带宽的变化来确定要发生的比特率变化。
8.根据权利要求1所述的方法,还包括:
识别网络带宽的变化超过阈值;
从所述比特流的多个可选择的比特率来识别与所识别的网络带宽变化对应的目标比特率;
识别原始比特率和所述目标比特率之间的至少一个可选择的比特率;以及
从所述原始比特率增量地转变通过所述至少一个可选择的比特率直到达到所述目标比特率。
9.根据权利要求8所述的方法,其中在表示场景切换的同步帧处转变至所述目标比特率。
10.根据权利要求9所述的方法,其中在表示所述场景切换的最近的同步帧之前转变至所述至少一个可选择的比特率。
11.根据权利要求8所述的方法,其中在表示场景切换的同步帧处转变至所述目标比特率和可选择的比特率中的每一者。
12.根据权利要求1所述的方法,还包括:
识别包括多个段的所述比特流的即将到来的段中的比特数;
基于所识别的比特数、经缓冲的视频数据量以及可用网络带宽来计算最高可承受比特流速率;以及
基于所计算的最高比特流速率和所识别的即将到来的比特数来调节比特流速率。
13.根据权利要求12所述的方法,还包括:
从与所述比特流相关联的质量标签检索即将到来的段的质量指示符,所述质量指示符基于编码期间所计算的误差来指示每个即将到来的段的相对估计质量;以及
基于相应段之间的质量指示符的差异来调节比特流速率变化的定时以使视频质量的变化流畅。
14.根据权利要求13所述的方法,其中所述比特流的每个段包括具有针对后续段中的比特数以及所述后续段的质量的信息的元数据标签。
15.根据权利要求12所述的方法,其中所述比特流的每个段包括具有针对后续段中的比特数的信息的元数据标签。
16.根据权利要求12所述的方法,其中在所述比特流的表示场景切换的同步帧处调节所述比特率。
17.根据权利要求12所述的方法,其中经由至少一个中间比特率来增量地调节所述比特率。
18.根据权利要求1所述的方法,还包括:
识别包括多个段的所述比特流中的即将到来的比特率变化;
识别视频比特流的即将到来的段的质量指示符,所述质量指示符基于编码期间的所计算的误差来指示每个即将到来的段的相对估计质量;以及
基于相应段之间的质量指示符的差异来调节所述比特率变化的定时以使视频质量的变化流畅。
19.根据权利要求18所述的方法,其中从与所述视频比特流相关联的质量标签来识别所述段的所述质量指示符。
20.根据权利要求18所述的方法,其中当所述段的所述质量指示符高于预先确定的阈值时,减小所述比特流的所述比特率。
21.根据权利要求1所述的方法,还包括:
识别所述缓冲区的大小;以及
以第一比特率来接收传输的比特流中的视频数据的第一部分;
以第二比特率来接收所述比特流中的紧接在所述第一部分之后的视频数据的第二部分;以及
基于所识别的缓冲区大小来选择所述第一比特率和所述第二比特率以防止缓冲区下溢。
22.根据权利要求21所述的方法,其中所述第一比特率低于所述第二比特率。
23.根据权利要求22所述的方法,其中所述视频数据的所述第一部分对应于所述视频数据的静态部分,并且所述视频数据的所述第二部分对应于所述视频数据的忙碌部分。
24.根据权利要求21所述的方法,还包括提供与所述视频数据的所述部分相关联的标签以指示在哪些部分中允许所述比特率的转变。
25.根据权利要求24所述的方法,其中所述视频数据的具有低于预先确定的阈值的编码误差的一部分包括指示在所述部分中允许所述比特率的转变的标签。
26.一种用于自适应流式传输的设备,包括:
用于在比特流的第一编码表示的渲染期间,当确定要发生比特率变化时,查看描述所述比特流的不同编码表示的清单文件的装置,所述比特流的不同编码表示各自具有相应的比特率,其中每个编码表示的段与其他编码表示的对应段相关联,并且其中所述清单文件包括共同应用于所述不同编码表示的在时间上同时发生的段的场景切换标签;
用于从包括在接收所述比特流之前接收的所述清单文件中的同步帧场景切换标签来识别最近的场景切换边界的装置;
用于计算在改变所述比特率之前等待直到所识别的场景切换边界是否将使得比特流宿处的缓冲区越过阈值的装置;以及
用于当计算出所述缓冲区不会越过所述阈值时,检索所述第一编码表示的从当前回放位置直到最近的场景切换边界的一个或多个段,并且之后检索所述比特流的第二编码表示的在所述最近的场景切换边界以后的一个或多个段的装置。
27.根据权利要求26所述的设备,还包括用于当计算出所述缓冲区会越过所述阈值时检索所述第二编码表示的在所述最近的场景切换边界之前的一个或多个段的装置。
28.根据权利要求27所述的设备,其中检索所述第二编码表示的在所述最近的场景切换边界之前的一个或多个段包括检索第三编码表示的一个或多个段,所述第三编码表示具有在所述第一编码表示的比特率和所述第二编码表示的比特率之间的中间比特率。
29.根据权利要求26所述的设备,还包括用于当计算出所述缓冲区会越过所述阈值时检索第三编码表示的从所述当前回放位置直到在检索所述第二编码表示的所述一个或多个段之前的一个或多个段的装置,所述第三编码表示的比特率低于所确定的即将到来的比特率变化的比特率。
30.根据权利要求26所述的设备,其中基于网络状况的变化来确定要发生的比特率变化。
31.根据权利要求26所述的设备,其中基于缓冲区充满度的变化来确定要发生的比特率变化。
32.根据权利要求26所述的设备,其中基于缓冲区充满度的变化和网络带宽的变化来确定要发生的比特率变化。
33.根据权利要求26所述的设备,还包括:
用于识别网络带宽的变化超过阈值的装置;
用于从所述比特流的多个可选择的比特率来识别与所识别的网络带宽变化对应的目标比特率的装置;
用于识别原始比特率和所述目标比特率之间的至少一个可选择的比特率的装置;以及
用于从所述原始比特率增量地转变通过所述至少一个可选择的比特率直到达到所述目标比特率的装置。
34.根据权利要求33所述的设备,其中在表示场景切换的同步帧处转变至所述目标比特率。
35.根据权利要求34所述的设备,其中在表示所述场景切换的最近的同步帧之前转变至所述至少一个可选择的比特率。
36.根据权利要求33所述的设备,其中在表示场景切换的同步帧处转变至所述目标比特率和可选择的比特率中的每一者。
37.根据权利要求26所述的设备,还包括:
用于识别包括多个段的所述比特流的即将到来的段中的比特数的装置;
用于基于所识别的比特数、经缓冲的视频数据量以及可用网络带宽来计算最高可承受比特流速率的装置;以及
用于基于所计算的最高比特流速率和所识别的即将到来的比特数来调节比特流速率的装置。
38.根据权利要求37所述的设备,还包括:
用于从与所述比特流相关联的质量标签检索即将到来的段的质量指示符的装置,所述质量指示符基于编码期间所计算的误差来指示每个即将到来的段的相对估计质量;以及
用于基于相应段之间的质量指示符的差异来调节比特流速率变化的定时以使视频质量的变化流畅的装置。
39.根据权利要求38所述的设备,其中所述比特流的每个段包括具有针对后续段中的比特数以及所述后续段的质量的信息的元数据标签。
40.根据权利要求37所述的设备,其中所述比特流的每个段包括具有针对后续段中的比特数的信息的元数据标签。
41.根据权利要求37所述的设备,其中在所述比特流的表示场景切换的同步帧处调节所述比特率。
42.根据权利要求37所述的设备,其中经由至少一个中间比特率来增量地调节所述比特率。
43.根据权利要求26所述的设备,还包括:
用于识别包括多个段的所述比特流中的即将到来的比特率变化的装置;
用于识别视频比特流的即将到来的段的质量指示符的装置,所述质量指示符基于编码期间的所计算的误差来指示每个即将到来的段的相对估计质量;以及
用于基于相应段之间的质量指示符的差异来调节所述比特率变化的定时以使视频质量的变化流畅的装置。
44.根据权利要求43所述的设备,其中从与所述视频比特流相关联的质量标签来识别所述段的所述质量指示符。
45.根据权利要求43所述的设备,其中当所述段的所述质量指示符高于预先确定的阈值时,减小所述比特流的所述比特率。
46.根据权利要求26所述的设备,还包括:
用于识别所述缓冲区的大小的装置;以及
用于以第一比特率来接收传输的比特流中的视频数据的第一部分的装置;
用于以第二比特率来接收所述比特流中的紧接在所述第一部分之后的视频数据的第二部分的装置;以及
用于基于所识别的缓冲区大小来选择所述第一比特率和所述第二比特率以防止缓冲区下溢的装置。
47.根据权利要求46所述的设备,其中所述第一比特率低于所述第二比特率。
48.根据权利要求47所述的设备,其中所述视频数据的所述第一部分对应于所述视频数据的静态部分,并且所述视频数据的所述第二部分对应于所述视频数据的忙碌部分。
49.根据权利要求46所述的设备,还包括用于提供与所述视频数据的所述部分相关联的标签以指示在哪些部分中允许所述比特率的转变的装置。
50.根据权利要求49所述的设备,其中所述视频数据的具有低于预先确定的阈值的编码误差的一部分包括指示在所述部分中允许所述比特率的转变的标签。
CN201480010521.3A 2013-02-27 2014-02-26 自适应流式传输技术 Active CN105075273B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361769944P 2013-02-27 2013-02-27
US61/769,944 2013-02-27
PCT/US2014/018702 WO2014134177A2 (en) 2013-02-27 2014-02-26 Adaptive streaming techniques

Publications (2)

Publication Number Publication Date
CN105075273A CN105075273A (zh) 2015-11-18
CN105075273B true CN105075273B (zh) 2019-03-26

Family

ID=50277378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480010521.3A Active CN105075273B (zh) 2013-02-27 2014-02-26 自适应流式传输技术

Country Status (7)

Country Link
US (1) US9992499B2 (zh)
EP (1) EP2949123A2 (zh)
KR (1) KR101716071B1 (zh)
CN (1) CN105075273B (zh)
AU (1) AU2014223523B2 (zh)
TW (1) TWI561062B (zh)
WO (1) WO2014134177A2 (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9560392B2 (en) * 2012-09-07 2017-01-31 Google Inc. Dynamic bit rate encoding
US9419737B2 (en) 2013-03-15 2016-08-16 Concio Holdings LLC High speed embedded protocol for distributed control systems
US10165028B2 (en) * 2014-03-25 2018-12-25 Intel Corporation Context-aware streaming of digital content
JP6419848B2 (ja) * 2014-06-30 2018-11-07 ディッシュ テクノロジーズ エル.エル.シー.DISH Technologies L.L.C. 帯域幅最適化のための適応的データセグメント配信調停
GB2528039A (en) * 2014-07-01 2016-01-13 Canon Kk Method for identifying objects across time periods and corresponding device
EP2993910A1 (en) * 2014-09-04 2016-03-09 Thomson Licensing Method and client terminal for receiving a multimedia content split into at least two successive segments, and corresponding computer program product and computer-readable medium.
CN105096373B (zh) * 2015-06-30 2020-04-28 华为技术有限公司 一种媒体内容渲染的方法、用户设备及系统
US10021438B2 (en) 2015-12-09 2018-07-10 Comcast Cable Communications, Llc Synchronizing playback of segmented video content across multiple video playback devices
US10652298B2 (en) * 2015-12-17 2020-05-12 Intel Corporation Media streaming through section change detection markers
KR101716082B1 (ko) * 2016-04-12 2017-03-14 연세대학교 산학협력단 영상의 화질을 평가하는 방법 및 장치
KR101780782B1 (ko) * 2016-07-08 2017-09-21 엔트릭스 주식회사 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치
CN106254873B (zh) * 2016-08-31 2020-04-03 广州市网星信息技术有限公司 一种视频编码方法及视频编码装置
US10743004B1 (en) 2016-09-01 2020-08-11 Amazon Technologies, Inc. Scalable video coding techniques
US10743003B1 (en) 2016-09-01 2020-08-11 Amazon Technologies, Inc. Scalable video coding techniques
EP3520420B1 (en) * 2016-09-30 2022-11-02 British Telecommunications public limited company Viewer importance adaptive bit rate delivery
US11044507B2 (en) 2016-09-30 2021-06-22 British Telecommunications Public Limited Company Viewer importance adaptive bit rate delivery
CN115037917A (zh) * 2016-10-12 2022-09-09 弗劳恩霍夫应用研究促进协会 空间不均等流媒体化
EP3337174B1 (en) * 2016-12-14 2021-04-07 Alcatel-Lucent España Method and device for transmission of content
US10425683B2 (en) * 2017-05-31 2019-09-24 Netflix, Inc. Temporal placement of a rebuffering event
US10652166B2 (en) * 2017-06-27 2020-05-12 Cisco Technology, Inc. Non-real time adaptive bitrate recording scheduler
US10630562B2 (en) * 2017-10-17 2020-04-21 Rovi Guides, Inc. Systems and methods for improving quality of service while streaming code-agnostic content by editing manifest files
WO2019078930A1 (en) * 2017-10-17 2019-04-25 Rovi Guides, Inc. SYSTEMS AND METHODS FOR IMPROVING QUALITY OF SERVICE DURING CONTINUOUS DIFFUSION OF CODE AGNOSTIC CONTENT
US10601686B2 (en) 2017-10-17 2020-03-24 Rovi Guides, Inc. Systems and methods for improving quality of service while streaming code-agnostic content
JP7346459B2 (ja) 2018-02-06 2023-09-19 フェニックス リアル タイム ソリューションズ, インコーポレイテッド ライブイベントの共有可能な視点をライブストリーミングすることによる、ローカル体験のシミュレーション
US10728630B2 (en) * 2018-07-24 2020-07-28 At&T Intellectual Property I, L.P. Adaptive bitrate streaming techniques
US10728305B2 (en) * 2018-07-24 2020-07-28 At&T Intellectual Property I, L.P. Adaptive bitrate streaming techniques
US11871052B1 (en) * 2018-09-27 2024-01-09 Apple Inc. Multi-band rate control
CN109819336B (zh) * 2019-01-31 2020-12-04 湖南快乐阳光互动娱乐传媒有限公司 一种基于播放缓存大小分片下载的方法及系统
US11431775B2 (en) * 2019-11-20 2022-08-30 W.S.C. Sports Technologies Ltd. System and method for data stream synchronization
US11503099B2 (en) * 2020-03-31 2022-11-15 Google Llc Methods, systems, and media for selecting video formats for adaptive video streaming
JP7565733B2 (ja) 2020-09-24 2024-10-11 日本放送協会 ストリーム送出装置、ストリーム生成装置、及びプログラム
US11375286B1 (en) * 2020-12-30 2022-06-28 Western Digital Technologies, Inc. Pre-fetch of data using seek intervals
US11632413B1 (en) * 2022-07-18 2023-04-18 Rovi Guides, Inc. Methods and systems for streaming media content
US12063260B2 (en) 2022-08-31 2024-08-13 Rovi Guides, Inc. Intelligent delivery and playout to prevent stalling in video streaming

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7885340B2 (en) 1999-04-27 2011-02-08 Realnetworks, Inc. System and method for generating multiple synchronized encoded representations of media data
US6275536B1 (en) 1999-06-23 2001-08-14 General Instrument Corporation Implementation architectures of a multi-channel MPEG video transcoder using multiple programmable processors
JP2003515986A (ja) * 1999-11-23 2003-05-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Mpegビデオ・ストリームの継ぎ目を生じないスイッチング
US20040125877A1 (en) 2000-07-17 2004-07-01 Shin-Fu Chang Method and system for indexing and content-based adaptive streaming of digital video content
SG146434A1 (en) 2000-11-29 2008-10-30 British Telecomm Transmitting and receiving real-time data
JP4965059B2 (ja) * 2001-07-19 2012-07-04 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー ビデオストリームの切り替え
US7274661B2 (en) * 2001-09-17 2007-09-25 Altera Corporation Flow control method for quality streaming of audio/video/media over packet networks
FI115418B (fi) * 2001-09-20 2005-04-29 Oplayo Oy Adaptiivinen mediavirta
US6996183B2 (en) * 2001-09-26 2006-02-07 Thomson Licensing Scene cut detection in a video bitstream
US6959042B1 (en) 2001-10-01 2005-10-25 Cisco Technology, Inc. Methods and apparatus for measuring compressed video signals and applications to statistical remultiplexing
JP2005506807A (ja) 2001-10-25 2005-03-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ解析を用いてオープンで柔軟なシステムの予測可能性を補助する方法
GB2395387B (en) * 2002-11-13 2005-02-16 Motorola Inc Video streaming device and method of control for switchable video streams
FI116016B (fi) 2002-12-20 2005-08-31 Oplayo Oy Puskurointijärjestely
US7406176B2 (en) 2003-04-01 2008-07-29 Microsoft Corporation Fully scalable encryption for scalable multimedia
US8214516B2 (en) 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
CA2669153A1 (en) 2006-11-15 2008-05-22 Qualcomm Incorporated Systems and methods for applications using channel switch frames
US7962640B2 (en) 2007-06-29 2011-06-14 The Chinese University Of Hong Kong Systems and methods for universal real-time media transcoding
US7802286B2 (en) 2007-07-24 2010-09-21 Time Warner Cable Inc. Methods and apparatus for format selection for network optimization
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7860996B2 (en) 2008-05-30 2010-12-28 Microsoft Corporation Media streaming with seamless ad insertion
ES2624910T3 (es) * 2008-06-06 2017-07-18 Amazon Technologies, Inc. Conmutación de secuencia de lado de cliente
KR101033442B1 (ko) * 2008-06-12 2011-05-09 주식회사 몬도시스템즈 영상 처리 시스템에서 비트 레이트를 제어하는 장치 및방법
EP2338278B1 (en) 2008-09-16 2015-02-25 Intel Corporation Method for presenting an interactive video/multimedia application using content-aware metadata
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US8219711B2 (en) 2008-11-24 2012-07-10 Juniper Networks, Inc. Dynamic variable rate media delivery system
US8370520B2 (en) 2008-11-24 2013-02-05 Juniper Networks, Inc. Adaptive network content delivery system
US8781305B2 (en) 2008-12-02 2014-07-15 Microsoft Corporation Media streaming with smooth fast-forward and rewind
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
US8311115B2 (en) 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
US8909806B2 (en) 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
CN102498715B (zh) * 2009-05-19 2015-09-30 宝美瑞思网络有限公司 带宽回收用受管理自适应比特率的方法、装置
IT1398195B1 (it) 2009-06-25 2013-02-14 St Microelectronics Srl "procedimento e sistema per la distribuzione di contenuti informativi, relativo prodotto informatico"
US8205004B1 (en) 2009-06-26 2012-06-19 Adobe Systems Incorporated Multi-bit-rate streaming delivery
US8566393B2 (en) 2009-08-10 2013-10-22 Seawell Networks Inc. Methods and systems for scalable video chunking
US8392748B2 (en) 2009-10-06 2013-03-05 Microsoft Corporation Reliable media streaming
US9237387B2 (en) 2009-10-06 2016-01-12 Microsoft Technology Licensing, Llc Low latency cacheable media streaming
US20120179833A1 (en) 2010-06-02 2012-07-12 Onmobile Global Limited Method and apparatus for adapting media
CN101895748B (zh) 2010-06-21 2014-03-26 华为终端有限公司 一种编解码方法以及编解码装置
US8190677B2 (en) 2010-07-23 2012-05-29 Seawell Networks Inc. Methods and systems for scalable video delivery
US8677428B2 (en) * 2010-08-20 2014-03-18 Disney Enterprises, Inc. System and method for rule based dynamic server side streaming manifest files
WO2012078640A2 (en) 2010-12-06 2012-06-14 The Regents Of The University Of California Rendering and encoding adaptation to address computation and network bandwidth constraints
US9088835B2 (en) 2010-12-17 2015-07-21 Thomson Licensing Method for adjusting depth or view of three-dimensional streaming video
US20130170561A1 (en) 2011-07-05 2013-07-04 Nokia Corporation Method and apparatus for video coding and decoding
WO2013028565A1 (en) * 2011-08-19 2013-02-28 General Instrument Corporation Encoder-aided segmentation for adaptive streaming
US9843844B2 (en) * 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US8996712B2 (en) * 2012-01-17 2015-03-31 Wideorbit Inc. Systems, methods and articles to provide content in networked environment
US8325821B1 (en) 2012-02-08 2012-12-04 Vyumix, Inc. Video transcoder stream multiplexing systems and methods
US9571827B2 (en) 2012-06-08 2017-02-14 Apple Inc. Techniques for adaptive video streaming

Also Published As

Publication number Publication date
WO2014134177A3 (en) 2014-10-23
WO2014134177A2 (en) 2014-09-04
KR20150110734A (ko) 2015-10-02
CN105075273A (zh) 2015-11-18
US20140241415A1 (en) 2014-08-28
TW201448570A (zh) 2014-12-16
EP2949123A2 (en) 2015-12-02
US9992499B2 (en) 2018-06-05
KR101716071B1 (ko) 2017-03-13
AU2014223523A1 (en) 2015-09-03
TWI561062B (en) 2016-12-01
AU2014223523B2 (en) 2016-11-17

Similar Documents

Publication Publication Date Title
CN105075273B (zh) 自适应流式传输技术
US9654815B2 (en) Advertising detection in adaptive bitrate streaming
CN109792545B (zh) 从服务器向客户端装置传送视频内容的方法
US10432982B2 (en) Adaptive bitrate streaming latency reduction
USRE48360E1 (en) Method and apparatus for providing trick play service
US9571827B2 (en) Techniques for adaptive video streaming
US9253233B2 (en) Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
CN105814900B (zh) 用于在自适应流播环境中管理相邻频道的系统和方法
US9197685B2 (en) Systems and methods for fast video startup using trick play streams
CN109792547B (zh) 将视频内容从服务器传送至客户端设备的方法
KR102054654B1 (ko) 트릭-플레이 재생 동안 오디오 콘텐트를 제공하기 위한 방법들 및 시스템들
EP2853075A1 (en) Content-specific identification and timing behavior in dynamic adaptive streaming over hypertext transfer protocol
US11647252B2 (en) Identification of elements in a group for dynamic element replacement
US11563990B2 (en) Method and apparatus for automatic HLS bitrate adaptation
US20190253738A1 (en) Method for processing encoded data, method for receiving encoded data, devices, and associated computer programs
CN107148779B (zh) 一种传送媒体内容的方法
CN113132806B (zh) 一种播放终端及其节目播放方法
CN103222277A (zh) 基于用于确定内容质量的多个元素的自适应流传输的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant