CN103430558A - 用于优化视频流的方法 - Google Patents

用于优化视频流的方法 Download PDF

Info

Publication number
CN103430558A
CN103430558A CN2012800085352A CN201280008535A CN103430558A CN 103430558 A CN103430558 A CN 103430558A CN 2012800085352 A CN2012800085352 A CN 2012800085352A CN 201280008535 A CN201280008535 A CN 201280008535A CN 103430558 A CN103430558 A CN 103430558A
Authority
CN
China
Prior art keywords
bit stream
video
original
collection
optimize
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.)
Pending
Application number
CN2012800085352A
Other languages
English (en)
Inventor
D.哈里森
C.布朗
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.)
WIRELESS PLANET LLC
Great Elm Group Inc
Original Assignee
WIRELESS PLANET LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WIRELESS PLANET LLC filed Critical WIRELESS PLANET LLC
Publication of CN103430558A publication Critical patent/CN103430558A/zh
Pending legal-status Critical Current

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/237Communication with additional data server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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
    • 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

Landscapes

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

Abstract

一种用于优化视频流的方法,包括:在从源服务器所接收的视频容器中检索针对原始比特流的原始参数集;以及将流特定元数据写入到针对视频容器的报头,其中该流特定元数据包括针对原始比特流的原始参数集和针对优化比特流的优化参数集。

Description

用于优化视频流的方法
技术领域
本发明涉及一种用于优化视频流的方法以及一种媒体优化***。
背景技术
当通过远程连接(不管是通过网络连接、因特网连接还是以其它方式)将视频内容流式传输至客户端设备时,由于带宽、硬件或其它限制,视频流可能需要优化以允许通过该连接的连续重放。诸如在超文本传输协议(HTTP)渐进式下载(progressive download)中的连续重放允许客户端在整个视频被下载之前开始观看视频流,这对于大视频文件或实况播送的视频流而言可能是尤其有用的。
通常使用与原始视频流不同的速率控制、层次(profile)和/或级别(level)来对优化视频流进行编码。对视频流进行编码包括减少用来表示原始视频中所显示的数字图像的数据量,并且可以包括压缩空间图像以及时间运动补偿。对视频进行编码减少了用于允许视频被连续重放的传输带宽。
发明内容
描述***的实施例。在一个实施例中,该***是媒体优化***。该***包括:接收器,其被配置为在从源服务器接收的视频容器中检索针对原始比特流的原始参数集,其中该原始参数集被存储在存储设备上;以及配置引擎,其被配置为将流特定元数据写入到针对视频容器的报头,其中该流特定元数据包括针对原始比特流的原始参数集和针对优化比特流的优化参数集。还描述***的其它实施例。
还描述计算机程序产品的实施例。在一个实施例中,该计算机程序产品包括用于存储计算机可读程序的计算机可读存储设备,其中该计算机可读程序当被计算机内的处理器执行时使该计算机执行用于优化视频流的操作。该操作包括:在从源服务器接收的视频容器中检索针对原始比特流的原始参数集;以及将流特定元数据写入到针对视频容器的报头,其中该流特定元数据包括针对原始比特流的原始参数集和针对优化比特流的优化参数集。还描述计算机程序产品的其它实施例。
还描述方法的实施例。在一个实施例中,该方法是用于优化视频流的方法。该方法包括:在从源服务器接收的视频容器中检索针对原始比特流的原始参数集;以及将流特定元数据写入到针对视频容器的报头,其中该流特定元数据包括针对原始比特流的原始参数集和针对优化比特流的优化参数集。还描述方法的其它实施例。
根据下列详细描述,本发明的实施例的其它方面和优势将变得显而易见,该详细描述结合附图来进行,并通过本发明的原理的示例而被说明。
附图说明
图1描绘了媒体优化***的一个实施例的示意图。
图2描绘了图1的代理的一个实施例的示意图。
图3描绘了用于通过图1的媒体优化***的数据流的方法的一个实施例的流程图。
图4描绘了用于通过图1的媒体优化***的数据流的方法的一个实施例的流程图。
图5描绘了用于将数据***到视频流中的方法的一个实施例的流程图。
贯穿本说明书,类似的附图标记可以被用来标识类似的元素。
具体实施方式
将容易理解的是,如在本文中一般地描述并且在附图中图示的实施例的组件可以以各种不同的配置被布置和设计。因而,如附图中所表示的各种实施例的下列更详细描述不意图限制本公开的范围,而是仅表示各种实施例。虽然在附图中呈现了实施例的各种方面,但是除非明确指出,否则附图不一定是按比例绘制的。
在不脱离本发明的精神或基本特性的情况下可以以其它特定形式来体现本发明。所描述的实施例在所有方面中都将仅被视为说明性的而非限制性的。本发明的范围因此由所附权利要求而不是由该详细描述来指示。落入权利要求的等同物的含义和范围之内的所有改变将被包含在其范围之内。
贯穿本说明书对特征、优势或类似语言的引用并非暗示可以利用本发明实现的所有特征和优势都应当是或者是在本发明的任何单个实施例中。相反,涉及特征和优势的语言被理解为意味着结合实施例所描述的特定特征、优势或特性被包括在本发明的至少一个实施例中。因而,贯穿本说明书对特征和优势的讨论以及类似语言可以但不一定指代同一实施例。
此外,可以在一个或多个实施例中以任何适当的方式对本发明的所描述特征、优势和特性进行组合。相关领域中的技术人员根据本文中的描述将认识到的是,可以在没有特定实施例的特定特征或优势中的一个或多个的情况下实践本发明。在其它实例中,附加特征和优势可能在特定实施例中被认识到,这些附加特征和优势可以不存在于本发明的所有实施例中。
贯穿本说明书对“一个实施例(one embodiment)”、“实施例(an embodiment)”或者类似语言的引用意味着结合所指示的实施例进行描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因而,贯穿本说明书的短语“在一个实施例中”、“在实施例中”以及类似语言可以但不一定全部指代同一实施例。
虽然在本文中描述了许多实施例,但是所描述的实施例中的至少一些呈现一种用于优化视频流的***和方法。更具体地,该***对使用H.264编解码器来编码的视频流进行优化,使得可以在客户端设备处连续地播放该视频流。该***包括将序列参数集(SPS)和图片参数集(PPS)条目***到高级视频编码(AVC)解码器配置记录(DCR)中。如已知的,SPS包含要被应用于整个视频序列的参数。除其它之外,典型的SPS参数还包括对帧数、图片顺序计数(picture order count)以及解码图片宽度和高度的限制。PPS包含被应用于序列内的一个或多个解码图片的参数。除其它之外,典型的PPS参数还包括使用中的切片组(slice group)的数量以及初始量化器参数。本文中所描述的***提供一种允许对H.264视频内容的连续重放的方式。
DCR是H.264特定网络抽象层(NAL)分组,其被客户端处的播放器和解码器用来读取视频播放器所使用的视频容器中的各个H.264比特流。该***可以假设的是,用来对H.264内容重新编码的编码器能够针对每个比特流指定单独的SPS标识符和PPS标识符,使得客户端能够识别出哪些SPS和PPS条目对应于给定的比特流。虽然本文中所描述的***呈现针对H.264内容的实施例,但是其它实施例可以包括其它类型的视频内容,并且可以根据视频内容的特定格式来修改本文中所描述的***的操作和术语。
图1描绘了媒体优化***100的一个实施例的示意图。在一个实施例中,媒体优化***100包括在源服务器106和客户端108之间的媒体优化器102和视频优化服务器(VOS)104。虽然示出并描述了具有特定组件和功能的媒体优化***100,但是媒体优化***100的其它实施例可以包括更少或更多的组件以实施更少或更多的功能。
在一个实施例中,媒体优化***100使用多个比特流通过网络层(诸如经由超文本传输协议(HTTP))对H.264(或其它)视频内容动态地进行优化。其它实施例可以使用与H.264内容兼容的其它协议。在一个实施例中,媒体优化***100包括代理110。该代理位于客户端和源服务器106之间。该代理被配置为对来自源服务器106的视频流中的视频容器进行拦截。在一个实施例中,该代理包括媒体优化器102和VOS 104。在另一个实施例中,该代理包括比本文中所描述的组件更多或更少的组件。该代理拦截在针对视频流的HTTP响应中的原始视频比特流并且对该比特流执行操作。媒体优化器102可以将原始比特流发送至VOS 104以执行附加的操作,包括对比特流的优化。VOS 104可以将优化比特流返回至媒体优化器102,其然后将优化信号转发至客户端。实时地进行视频的优化,使得在客户端处连续地重放视频流。
每个比特流表示图像的同一序列,但是可以使用不同的速率控制以及可能不同的层次(H.264层次)和级别(H.264)来对每个比特流进行编码。重新编码的H.264内容可以被客户端渐进地观看(HTTP渐进式下载),即客户端能够在整个视频被下载之前开始观看视频。这对于大视频尺寸、高质量视频或实况播送的视频流而言可能是特别有用的。
在一个实施例中,对比特流进行优化包括对比特流重新编码并压缩以减小视频尺寸以及视频流所使用的带宽。媒体优化器102处的以诸如Flash视频、MP4或支持H.264编码的任何视频容器之类的格式的复用器(未示出)对重新编码的压缩H264视频和音频内容进行封装并且以如下这样的方式交织数据:客户端播放器能够以正确的时间顺序正确地理解并重放图像。
可以实施***100的各种实施例。在一个实施例中,客户端从源服务器106请求视频片段(video clip)。在一个实施例中,代理最初向客户端发送未改变的(以其原始形式)视频和音频内容。在已经经过了一段时间之后,VOS 104被发信号以开始压缩或优化内容。可以将信号作为媒体优化***100做出客户端和源服务器106/媒体优化器102之间的连接在此时不具有足够的带宽来支持未改变的视频流的确定的结果进行发送。VOS 104接收该信号并且在下一个关键视频帧处开始压缩内容。从该点起的H.264流实际上是来自原始流的图像的同一序列的不同比特流。
在一个实施例中,本文中所描述的***100覆盖了在复用器级别处允许H264视频内容在客户端处被渐进地重放所需的特定细节。这可以包括将SPS和PPS条目动态地***到AVC DCR中的VOS 104。SPS和PPS条目提供针对特定比特流的信息。在一些实施例中,SPS和PPS条目可以以表格格式,并且VOS 104读取表格中的每个条目以确定与特定比特流有关的比特速率、图像分辨率和/或其它重放信息。
在一个实施例中,当内容被传到VOS 104时,VOS 104首先确定其是否需要将多个SPS和PPS条目动态地注入到AVC DCR中。在一个实施例中,如果为以下情况,则VOS 104将多个SPS和PPS条目注入到AVC DCR中:
1. 所使用的输入容器视频编解码器为H264。
2. 所使用的输出容器视频编解码器为H264。
3. VOS 104配置指示其需要发送多个比特流。
AVC DCR或其它配置记录可以包括指示曾被使用的编解码器的类型的参数。在一个实施例中,VOS 104基于连接的带宽和视频流的尺寸来确定多个比特流需要被发送至客户端。每个比特流可以被优化以使用特定量的带宽,使得比特流覆盖一系列带宽。在另一个实施例中,VOS 104可以基于其它因素来做出确定,所述其它因素诸如是客户端、媒体优化***100和/或源服务器106的硬件限制。在另一个实施例中,媒体优化器102监视与连接有关的参数中的一些或所有以确定是否需要多个比特流,并且向VOS 104指示将使用哪些比特流。VOS 104可以仅创建选自要被使用的可能比特流中的一个优化比特流。
图2描绘了图1的代理110的一个实施例的示意图。所描绘的代理110包括以下更详细描述的能够执行本文中所描述的功能和操作的各种组件。在一个实施例中,在计算机***中实施代理110的组件中的至少一些。例如,代理110的一个或多个组件的功能可以通过存储在计算机存储设备200上并且由处理设备202(诸如CPU)执行的计算机程序指令来实施。代理110可以包括其它组件,诸如磁盘存储驱动器204、输入/输出设备206、接收器208和配置引擎210。代理110的组件中的一些或所有可以被存储在单个计算设备上或者计算设备的网络上。代理110可以包括比本文中所描绘的组件更多或更少的组件。在一些实施例中,代理110可以用来实施如图5中所描绘的本文中所描述的方法。
在一个实施例中,代理110包括接收器208。接收器208被配置为接收对应于原始比特流214的视频容器212。在一个实施例中,接收器208在VOS 104处并且被配置为从媒体优化器102接收视频容器212。视频容器212由媒体优化器102在来自源服务器106的对应于来自客户端108的HTTP请求的HTTP响应中接收。接收器208在视频容器212中检索对应于原始比特流214的原始参数集216。当代理110正在执行本文中所描述的操作时,原始参数集216可以被存储在存储设备中。在一个实施例中,原始参数集216包括针对原始比特流214的原始SPS和PPS条目。
代理110还包括配置引擎210。在一个实施例中,配置引擎210被配置为将流特定元数据222写入到针对视频容器212的报头224。在一个实施例中,报头224是针对H.264视频容器212的AVC DCR。配置引擎210确定可以用于向客户端108的视频流的可能优化比特流218的数量。可能优化比特流218的数量可以与允许向客户端108的连续流同时还提供最佳图像质量所需要的一样多。
流特定元数据222包括对应于原始比特流214的原始参数集216。元数据222还包括针对可能优化比特流218中的每一个的优化参数集220。在一个实施例中,原始参数集216包括原始SPS和PPS条目,并且优化参数集220包括针对可以被使用的可能优化比特流218中的每一个的优化SPS和PPS条目。配置引擎210可以通过分析从原始比特流214检索的原始参数集216来确定可能优化比特流218的数量。在将优化参数集220***到报头224中之后重放的期间,代理110可以根据需要创建优化比特流218,并且然后将该优化比特流218转发至客户端108。
图3描绘了用于通过图1的媒体优化***100的数据流的方法的一个实施例的流程图。特别地,图3的方法示出当没有附加的SPS或PPS条目被注入到数据流中时通过VOS 104的比特流。可以结合图1的媒体优化***100来使用该方法。在其它实施例中,可以结合其它媒体优化***100来使用该方法。
该方法可以至少部分地或完全地在图1的VOS 104中被实施,如下所示。在一个实施例中,VOS 104包括解复用器、解码器、编码器和复用器,每一个均执行该方法的操作中的至少一些。
1. VOS 104写入容器报头数据。这是依赖于格式的。典型地,VOS 104写入容器格式所需要的任何特定报头224。VOS 104然后通过针对该容器212的所有所定义流进行迭代并且写入所需要的流特定元数据222。对于H.264流而言,这意味着写入AVC DCR,其包括一个SPS和PPS条目。
2. VOS 104从源服务器106读取对应于视频容器212的视频内容。
3. 解复用器300从该视频内容提取视频或音频分组并且提取压缩视频内容帧。
4. 解码器302接收压缩输入帧并且输出完全未压缩的缓冲器,其可以包括原始视频内容。
5. 视频编码器304获得未压缩的视频内容并且压缩该内容。以优化方式将输出压缩得比原始帧更多。
6. 复用器306获得压缩视频内容帧并且将其与音频内容进行复用,并且以正确的容器格式(例如,flash视频分组或mp4分组)将复用内容发送至客户端108。
7. 重复操作2-6直至输入数据的结束。
8. VOS 104然后写入依赖于格式的容器尾部(trailer)数据。
图4描绘了用于通过图1的媒体优化***100的数据流的方法的一个实施例的流程图。在媒体优化***100确定其需要执行动态SPS/PPS注入的实施例中,媒体优化***100然后可以决定将多少SPS和PPS条目注入到AVC DCR中。在一个实施例中,媒体优化***100是VOS 104。要被注入的SPS和PPS条目的数量依赖于需要编码或优化的比特流的数量,最低限度地至少两个。图4示出了VOS 104确定其需要将来自原始流的附加SPS和PPS条目注入到输出生成的AVC DCR中的一个实施例。
在该实施例中,存在两个不同的阶段:其中原始输入视频分组被发送的第一阶段,以及其中动态优化视频分组被发送的第二阶段(压缩阶段)。在一个实施例中,动态优化视频分组包含表示图像的同一序列的两个不同的比特流。
1. VOS 104写入容器特定的报头数据。这是依赖于格式的。典型地,VOS 104写入容器格式所需要的任何特定报头224。VOS 104然后通过针对该容器212的所有所定义流进行迭代并且写入所需要的流特定元数据222。对于H.264流而言,这意味着写入AVC DCR,其包括一个SPS和PPS条目。附加地,VOS 104将原始SPS和PPS动态地***到该生成的AVC DCR中。
2. VOS 104从源服务器106读取视频内容。
3. 解复用器300提取视频或音频分组并且提取压缩视频内容帧。
4. 复用器306获得该压缩视频内容帧,将其与音频内容进行复用,并且以正确的容器格式将复用内容发送至客户端108。在本实施例中,该格式是针对flash视频。
5. 重复操作2-4直至VOS 104被发信号以开始压缩阶段,即开始对视频内容重新编码。
6. 当VOS 104被发信号以开始压缩阶段时,VOS 104在下一个关键帧上进入压缩阶段。解码器302接收压缩输入帧并且输出完全未压缩的缓冲器,其可以包括原始视频内容。
7. 视频编码器304获得未压缩视频内容并且压缩该内容。将输出压缩得比原始帧更多。
8. 复用器306获得压缩视频内容帧并且将其与音频内容进行复用,并且以正确的容器格式(例如,flash视频)将复用内容发送至客户端108。
9. 重复操作2、6、7和8直至输入数据的结束。
10. VOS 104然后写入依赖于格式的容器尾部数据。
在该实施例中,如果VOS 104未将原始输入视频容器212的原始SPS和PPS条目动态地***到VOS 104所生成的新报头224的AVC DCR中,则视频的初始部分(未压缩阶段)将不会在客户端108处播放。为了使内容被播放,将原始SPS和PPS条目***到正确的位置中。
图5描绘了用于将数据***到视频流中的方法的一个实施例的流程图。虽然结合图1的媒体优化***100描述了方法500,但是可以利用其它类型的媒体优化***100来实施方法500的实施例。图4的方法提供了关于媒体优化***100何时并且如何将原始SPS和PPS条目动态地***到输出优化的所生成的流中的更多细节。
在一个实施例中,VOS 104执行如以下所描述的方法500的操作中的一些或所有:
1. VOS 104从原始流的AVC DCR中捕获原始SPS和PPS。这在对输入流进行解复用之前完成。对原始SPS和PPS条目进行分析以找出当创建输出H264流编码器时使用的下一个可用标识符。
2. VOS 104写入容器报头数据。这是依赖于格式的。典型地,VOS 104写入容器格式所需要的任何特定报头224。VOS 104然后通过针对该容器212的所定义流进行迭代并且写入所需要的流特定元数据222。对于H.264流而言,这意味着写入AVC DCR,其包括一个SPS和PPS条目。VOS 104可以确保所选择的SPS标识符和PPS标识符当与原始SPS和PPS标识符相结合时是单调正确的。
3. 包括AVC DCR的报头数据被发送至缓冲输出流。
4. VOS 104在容器报头数据被(使用缓冲输入/输出流500)发送至客户端108之前对其进行拦截并且将原始SPS和PPS条目***到新的流的AVD DCR SPS和PPS表格中。每个原始SPS和PPS条目被***在相关SPS和PPS表格中的正确位置中。SPS和PPS表格被键控(key)在SPS标识符和PPS标识符上,并且因而SPS和PPS条目被***到正确的位置中。VOS 104还可以允许具有多于一个SPS和PPS条目的输入流。
媒体优化***100可以依赖于被包括在HTTP代理服务器中。在媒体优化***100的一些实施例中,***100还可以包括用于发信号给VOS 104以开始压缩视频的另一网络元件。这样的操作或附加操作可以由一个或多个单独的软件产品(诸如媒体优化器102上的媒体优化产品)来执行。这可以包括:
1. 在过程启动时,VOS 104监听来自媒体优化器102的HTTP Post请求。
2. 向尚未被贮藏的客户端108发送回视频内容的每个HTTP响应可以被媒体优化器102重定向到VOS 104。VOS 104然后可以向媒体优化器102发送回原始或重新编码的视频内容,该媒体优化器102然后将该内容转发至客户端108。只要HTTP代理服务器是有效的,媒体优化***100就可以运行。
在一个实施例中,VOS 104***针对原始比特流214的原始参数集216,使得在预压缩阶段中的视频将在客户端108上播放,并且该VOS 104***针对优化比特流218中的每一个的优化参数集220,使得针对每个后续压缩阶段的视频将在客户端108上播放。在一些实施例中,该方法包括:从原始比特流214的配置记录中捕获原始参数集216,确定要被使用的可能比特流的数量,以及将针对可能优化比特流218中的每一个的优化参数集220***到报头224中。在一些实施例中,可以使用原始参数集216来确定可能优化比特流218的数量以识别一系列可能/很可能优化参数。在报头224连同流特定元数据222一起已经被写入之后,媒体优化***100可以对原始比特流214进行优化并且将优化比特流218发送至客户端108。被发送至客户端108的优化比特流218可以由到客户端108的连接的当前状态所确定或者由其它/附加因素所确定。
媒体优化***100的实施例包括至少一个处理器,其通过***总线(诸如数据、地址和/或控制总线)被直接或间接地耦合到存储元件。该存储元件可以包括在程序代码的实际执行期间所采用的本地存储器、大容量存储器、以及提供至少一些程序代码的临时存储以便减少在执行期间必须从大容量存储器检索代码的次数的高速缓冲存储器。
还应当注意的是,可以使用存储在计算机可用存储介质上的供计算机执行的软件指令来实施用于方法的操作中的至少一些。作为示例,计算机程序产品的实施例包括用于存储计算机可读程序的计算机可用存储介质,该计算机可读程序当在计算机上被执行时使该计算机执行操作,包括优化视频流的操作。
虽然以特定顺序示出并描述了本文中的(一个或多个)方法的操作,但是每个方法的操作的顺序可以被改变使得可以以相反的顺序来执行特定操作或者使得可以至少部分地与其它操作同时执行特定操作。在另一个实施例中,可以以间歇和/或交替的方式来实施不同操作的指令或子操作。
本发明的实施例可以采用完全硬件实施例、完全软件实施例或者包含硬件和软件元素两者的实施例的形式。在一个实施例中,以软件来实施本发明,所述软件包括但不限于固件、驻留软件、微代码等。
此外,本发明的实施例可以采用可从提供程序代码以供计算机或任何指令执行***使用或者与其结合的计算机可用或计算机可读介质获得的计算机程序产品的形式。为了该描述的目的,计算机可用或计算机可读介质可以是能够包含、存储、通信、传播或传送程序以供指令执行***、装置或设备使用或者与其结合的任何装置。
计算机可用或计算机可读介质可以是电子、磁、光学、电磁、红外或半导体***(或装置或设备),或者传播介质。计算机可读介质的示例包括半导体或固态存储器、磁带、可移除计算机软磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的当前示例包括具有只读存储器的紧致盘(CD-ROM)、读/写紧致盘(CD-R/W)和数字视频盘(DVD)。包括计算机可读存储介质的硬件实施方式也可以或可以不包括瞬时介质。光盘的当前示例包括具有只读存储器的紧致盘(CD-ROM)、读/写紧致盘(CD-R/W)和数字视频盘(DVD)。
输入/输出或I/O设备(包括但不限于键盘、显示器、指示设备等)可以直接或通过中间I/O控制器被耦合到***。附加地,网络适配器也可以被耦合到***以使得数据处理***能够变成通过中间的专用或公共网络被耦合到其它数据处理***或者远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅是一些当前可用类型的网络适配器。
在以上描述中,提供了各种实施例的具体细节。然而,可以利用比所有这些具体细节更少的细节来实践一些实施例。在其它实例中,为简明和清楚起见,以不比实现本发明的各种实施例的细节更多的细节来描述特定方法、过程、组件、结构和/或功能。
虽然已经描述并说明了本发明的特定实施例,但是本发明将不限于这样描述并说明的各部分的特定形式或布置。本发明的范围将由所附于此的权利要求及其等同物所限定。

Claims (16)

1.一种用于优化视频流的方法,包括:
在从源服务器接收的视频容器中检索针对原始比特流的原始参数集;以及
将流特定元数据写入到针对视频容器的报头,其中该流特定元数据包括针对原始比特流的原始参数集和针对优化比特流的优化参数集。
2.之前任一项权利要求的方法,其中该原始参数集包括原始序列参数集和原始图片参数集,并且该优化参数集包括优化序列参数集和优化图片参数集。
3.任一项权利要求的方法,进一步包括在检索针对原始比特流的原始参数集之前在代理处对来自源服务器的视频流中的视频容器进行拦截。
4.之前任一项权利要求的方法,进一步包括:
从原始比特流的配置记录中捕获原始参数集;
确定要被使用的可能优化比特流的数量;以及
将针对可能优化比特流中的每一个的优化参数集***到报头中。
5.权利要求4的方法,进一步包括对原始参数集进行分析以确定可能优化比特流的数量。
6.权利要求4的方法,进一步包括基于到客户端设备的连接的带宽和视频流的尺寸和/或客户端设备的硬件或软件限制和/或实施该方法的媒体优化***的硬件或软件限制和/或源服务器的硬件或软件限制来确定要被使用的可能优化比特流的数量。
7.之前任一项权利要求的方法,进一步包括:
在将流特定元数据写入到报头之后对原始比特流进行优化;以及
将优化比特流发送至客户端。
8.之前任一项权利要求的方法,进一步包括使用H.264编解码器对原始比特流和优化比特流进行编码。
9.一种计算机程序产品,包括:
用于存储计算机可读程序的计算机可读存储设备,其中该计算机可读程序当被计算机内的处理器执行时使该计算机实施权利要求1至8中的任一项的方法。
10.一种媒体优化***,包括:
接收器,其被配置为在从源服务器接收的视频容器中检索针对原始比特流的原始参数集,其中该原始参数集被存储在存储设备上;以及
配置引擎,其被配置为将流特定元数据写入到针对视频容器的报头,其中该流特定元数据包括针对原始比特流的原始参数集和针对优化比特流的优化参数集。
11.权利要求10的***,其中使用H.264编解码器来对该视频容器进行编码,其中该原始参数集包括原始序列参数集和原始图片参数集,并且该优化参数集包括优化序列参数集和优化图片参数集。
12.权利要求10或11的***,其中该配置引擎进一步被配置为确定要被使用的可能优化比特流的数量;以及将针对可能优化比特流中的每一个的优化参数集***到报头中。
13.权利要求12的***,其中该配置引擎进一步被配置为对原始参数集进行分析以确定可能优化比特流的数量。
14.权利要求12的***,其中该配置引擎进一步被配置为基于到客户端设备的连接的带宽和视频流的尺寸和/或客户端设备的硬件或软件限制和/或该***的硬件或软件限制和/或源服务器的硬件或软件限制来确定要被使用的可能优化比特流的数量。
15.权利要求10至14中的任一项的***,进一步包括代理,其被配置为对来自源服务器的视频流中的视频容器进行拦截。
16.权利要求15的***,其中该代理进一步被配置为:
在将流特定元数据写入到报头之后将原始比特流优化成优化比特流;以及
将该优化比特流发送至客户端。
CN2012800085352A 2011-02-12 2012-02-10 用于优化视频流的方法 Pending CN103430558A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161442226P 2011-02-12 2011-02-12
US61/442,226 2011-02-12
US201161478420P 2011-04-22 2011-04-22
US61/478,420 2011-04-22
PCT/EP2012/052333 WO2012107570A1 (en) 2011-02-12 2012-02-10 A method for optimizing a video stream

Publications (1)

Publication Number Publication Date
CN103430558A true CN103430558A (zh) 2013-12-04

Family

ID=45774160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012800085352A Pending CN103430558A (zh) 2011-02-12 2012-02-10 用于优化视频流的方法

Country Status (5)

Country Link
US (1) US20140036990A1 (zh)
EP (1) EP2673958A1 (zh)
KR (1) KR20140007893A (zh)
CN (1) CN103430558A (zh)
WO (1) WO2012107570A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105874806A (zh) * 2014-01-03 2016-08-17 汤姆逊许可公司 生成用于视频优化的元数据的方法和设备
CN106664443A (zh) * 2014-06-27 2017-05-10 皇家Kpn公司 根据hevc拼贴视频流确定感兴趣区域

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9774894B2 (en) * 2012-03-13 2017-09-26 Cisco Technology, Inc. Coordinating video delivery with radio frequency conditions
US20170126846A1 (en) * 2015-10-29 2017-05-04 VTX Holdings (Singapore) Pte. Ltd. Network communication system
CN106281217B (zh) * 2016-07-26 2018-09-11 中国石油大学(北京) 一种仿生表面、其制备方法和用途

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050254526A1 (en) * 2004-05-12 2005-11-17 Nokia Corporation Parameter sets update in streaming applications
US7412514B2 (en) * 2000-08-17 2008-08-12 Hoshiko Llc Method and apparatus for improving bandwidth efficiency in a computer network
CN101800902A (zh) * 2009-02-11 2010-08-11 台湾积体电路制造股份有限公司 用于检测错误并恢复视频数据的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412514B2 (en) * 2000-08-17 2008-08-12 Hoshiko Llc Method and apparatus for improving bandwidth efficiency in a computer network
US20050254526A1 (en) * 2004-05-12 2005-11-17 Nokia Corporation Parameter sets update in streaming applications
CN101800902A (zh) * 2009-02-11 2010-08-11 台湾积体电路制造股份有限公司 用于检测错误并恢复视频数据的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105874806A (zh) * 2014-01-03 2016-08-17 汤姆逊许可公司 生成用于视频优化的元数据的方法和设备
CN106664443A (zh) * 2014-06-27 2017-05-10 皇家Kpn公司 根据hevc拼贴视频流确定感兴趣区域

Also Published As

Publication number Publication date
KR20140007893A (ko) 2014-01-20
EP2673958A1 (en) 2013-12-18
US20140036990A1 (en) 2014-02-06
WO2012107570A1 (en) 2012-08-16

Similar Documents

Publication Publication Date Title
US8291104B2 (en) Scalable video coding (SVC) file format
JP4392442B2 (ja) FlexMuxストリームをストリーム形成、受信及び処理する装置及び方法
US8812735B2 (en) Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server
US8886896B2 (en) Storage format for media streams
JP7052070B2 (ja) メディアファイルのネットワーク再生方法、装置及び記憶媒体
US8401370B2 (en) Application tracks in audio/video containers
JP6969013B2 (ja) メディアファイルの同期再生方法、装置及び記憶媒体
CN113661692B (zh) 接收媒体数据的方法、装置和非易失性计算机可读存储介质
CN103430558A (zh) 用于优化视频流的方法
US20090007208A1 (en) Program, data processing method, and system of same
CN103051941B (zh) 一种在移动平台上播放本地视频的方法和***
GB2593897A (en) Method, device, and computer program for improving random picture access in video streaming
CN102819851B (zh) 一种有声图片的计算机实现方法
CN112165653B (zh) 一种视频播放方法、装置及设备
US9070403B2 (en) Processing of scalable compressed video data formats for nonlinear video editing systems
KR101603976B1 (ko) 동영상 파일 결합 방법 및 그 장치
US11973820B2 (en) Method and apparatus for mpeg dash to support preroll and midroll content during media playback
US20240251008A1 (en) Auxiliary mpds for mpeg dash to support preroll and midrolls and their playback using w3c mse/eme
US20230224557A1 (en) Auxiliary mpds for mpeg dash to support prerolls, midrolls and endrolls with stacking properties
KR20240107164A (ko) 미디어 컨테이너 파일 및 스트리밍 매니페스트에서의 픽처인픽처에 대한 시그널링
CN113784150A (zh) 视频数据发布方法、装置、电子设备及存储介质
KR101656102B1 (ko) 컨텐츠 파일 생성/제공 장치 및 방법
WO2007128957A1 (en) Method and apparatus for processing digitally encoded data in stream to retrieve data portion located externally
GB2437101A (en) Method and apparatus for processing digitally encoded data streams

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20131204