一种流媒体切片方法及系统的制作方法

文档序号:7867081阅读:759来源:国知局
专利名称:一种流媒体切片方法及系统的制作方法
技术领域
本发明涉及流媒体技术领域,更具体地,涉及一种流媒体无转码切片方法及系统。
背景技术
HLS 协议(HTTP Live Streaming, HLS)是由 Internet 工程任务组(InternetEngineering Task Force, IETF)制定的一种基于HTTP的流媒体通信协议(协议详细内容参见 http://tools. ietf. org/html/draft-pantos-http-live-streaming-08)。近年来,HLS协议在流媒体领域得到了广泛应用,因为该协议采用了 HTTP传输,可以根据网络带宽自适应地调整码率,即允许服务器为同一节目内容存放多个不同码率的多媒体流,终端可根据实际的网络下载速度自适应地调整所要下载的多媒体流的码率,在网络带宽紧张时,终端可通过降低码率实现不间断播放;并且相对于其他流媒体通信协议,HLS协议在服务部署时能够更好地与其他相关技术兼容。
该协议要求服务器为每个节目(比如一部电影)存储一组时长和大小相近的媒体文件,同时为这些媒体文件形成一个m3u8播放列表。在HLS协议中,这些媒体文件被称切片。HLS切片(HLS segments)以文件形式存储于内容分发网络(Content DeliveryNetwork,⑶N)的内容服务器上,终端首先下载m3u8播放列表,再根据播放列表以HTTP方式依次下载每个切片进行播放,即终端根据m3u8播放列表,采用HTTP协议从内容服务器依次下载每个切片进行播放。中央媒资管理系统将流媒体文件通过CDN分发到边缘内容服务器。边缘内容服务器因地制宜地采用通信协议为终端提供流媒体服务,而HLS是边缘内容服务器可采纳的通信协议之一。由于内容服务器通常位于边缘节点,数量多,存储量大,但性能相对较弱。而转码服务的计算量较大,内容服务器不会提供转码服务,因此在内容服务器上部署HLS协议会使用无转码切片来产生HLS播放所需的切片文件。目前有两种方式可生成符合HLS协议的切片文件一种是在转码过程中直接生成符合要求的切片,该方式能对切片时长作较高精度的控制,但需要转码器支持切片功能;另一种是对转码后的文件进行切片,该方式将转码和切片分为两个相互独立模块,使用方便。针对内容服务器不会提供转码服务,中央媒资管理系统采用第二种生成符合HLS协议的切片文件方式,即对转码后的文件进行切片,但该方式对切片精度的控制提出了较高的要求隶属于同一个多媒体流的不同切片的时长应当尽可能地接近。现有两种常用无切码切片方法为第一种方法按时间由小到大依次产生每个切片,每个切片的终点为尚未被切片的ES流中与当前切片起点距离最接近T的随机接入点。第二种方法每个切片(例如第k个)的终点为尚未被切片的ES流中与零点距离最接近kT的随机接入点。T为给定预期切片时长。实践数据表明此两种切片方法生成的切片时长文件大小波动性较大,不符合HLS协议的要求。一方面,切片文件大小波动较大,使得对不同切片文件进行操作所消耗的时间可能相差较多。例如,在包含内容数字版权加密保护技术(Digital Right Management,DRM)的HLS系统中,终端需要对每个切片作解密操作,解密时间通常是切片大小的线性函数,如果切片大小参差不齐,则不同切片的解密用时上下浮动,这对播放器的缓冲机制提出了更高的要求。另一方面,由于每个切片文件的大小可能不相近,则终端在下载切片文件之前无法对切片文件的大小做出较准确的估计,也就是说,终端无法根据某一个切片大小的估计值为所有的切片一次性分配足够大的动态内存空间。如果该已分配的动态内存空间过小,终端需要在动态内存用尽时停止下载,重新开辟新的内存空间,这会对系统运行带来额外的开销。

发明内容
为解决上述现有技术的缺点,本发明的主要目的在于提供一种流媒体切片方法及系统,能够控制所生成的不同切片大小波动幅度至最小,从而使得对不同切片文件进行操作所消耗的时间尽可能相近,进而对终端播放器的缓冲机制的要求降至最低。
本发明的另一目的在于提供一种多媒体切片方法及系统,能够控制所生成的不同切片大小波动幅度至最小,从而能够在下载切片文件之前能对切片文件的大小做出较准确地估计,即终端能够根据生成的最大波动幅度的切片大小,一次性地分配足够大的动态内存空间,避免了在动态内存用尽时停止下载的情形,使得系统运行能够平稳地进行,也就是说,播放能够流畅进行,进而提高了用户观看体验的质量。为达成上述目的,本发明提供一种多媒体切片方法,包括以下步骤
a)解析流媒体ES流,取得PTS及DTS信息,进而得到流媒体ES流的随机切入点的时间戳序列;
b)根据所述随机切入点的时间戳序列及给定预期切片时长,以切片后所得各切片时长与给定预期切片时长的差值序列中的最大值最小为优化目标,通过采用最小最大(minimax)数值优化方法的第一切片计算模型,计算得出流媒体ES流的切片时间戳的最佳序列值;以及
c)依据所述计算得出的切片时间戳的最佳序列值,对流媒体ES流进行切片。上述流媒体切片方法生成的切片符合HLS协议要求。上述ES流为音频ES流,所述音频ES流的随机切入点为每一音频帧的起始样本。上述ES流为视频ES流,所述视频ES流的随机切入点为I帧IDR帧。上述的步骤c)后,还包括以下步骤
d)解析音频流,取得PTS及DTS信息,进而得到音频流的随机切入点的时间戳序列;
e)根据步骤b)取得的ES流的切片时间戳的最佳序列值及步骤d)取得的音频流的随机切入点的时间戳序列,通过与相应视频ES流切片的最佳切片时间戳的序列值最相近原则的第二切片计算模型,计算得出音频流的切片时间戳的最佳序列值;
f)依据所述计算得出的音频流的切片时间戳的最佳序列值,对音频流进行切片;以及
g)将根据步骤c)取得的视频ES流切片及根据步骤f)取得的音频流切片对应进行音视频封装,生成m3u8流媒体文件。上述的步骤d)中,音频流的随机切入点为每一音频帧的起始样本。上述的步骤e)中,所述与相应视频ES流切片的起始时刻最相近原则的第二切片计算模型的数学表达式为
对每个k =1,2,......,依次执行
嫩说二 afS 腿 IKj W - h k-Λ )11Si OT >
根据计算得出的mu,序列值,得到第i个音频流ASi的切片时间戳序列值{
ti, j (mi,j,(!),ti, j (mi, j, l) ti; j (IIli, j,2),......,ti; j (mi, j,Kj) },
其中
{ ti(0),ti(l),ti(2),……,ti(Mi) }:第i个音频流ASi的随机切入点的时间戳,ti(0) = O, ti (Mi) = L,L为音频流的时长
Kj :音频流的切片个数,且等于视频ES流的切片个数
niuk :音频ES流的切片时间戳的序号,属于集合{O,I, 2,……,Mi },对所有k,O彡 k 彡 Kj, mi;J.0 = O, mi;J.KJ = Mi
tj(n J;k):视频流VSj的切片时间戳
ti,j(mi,j,k-i):第k个切片的起始时间戳
ti;J(mi;J,k):第k个切片的结束时间戳
本发明还提供一种多媒体切片系统,该系统包括以下装置
第一解析装置,用以解析流媒体ES流,取得PTS及DTS信息,进而得到流媒体ES流的随机切入点的时间戳序列;
第一切片计算装置,连接于所述第一解析装置,用以根据所述随机切入点的时间戳序列及给定预期切片时长,以切片后所得各切片时长与给定预期切片时长的差值序列中的最大值最小为优化目标,通过采用最小最大数值优化方法的第一切片计算模型,计算得出流媒体ES流的切片时间戳的最佳序列值;以及
第一切片装置,连接于所述第一切片计算装置,用以依据所述计算得出的切片时间戳的最佳序列值,对流媒体ES流进行切片。上述流媒体切片系统生成的切片符合HLS协议要求。上述ES流为音频ES流,所述音频ES流的随机切入点为每一音频帧的起始样本。
上述ES流为视频ES流,所述视频ES流的随机切入点为I帧或IDR帧。上述的流媒体切片系统还包括以下装置
第二解析装置,用以解析音频流,取得PTS及DTS信息,进而得到音频流的随机切入点的时间戳序列; 第二切片计算装置,分别连接于所述第一切片计算装置及第二解析装置,用以根据所述第一切片计算装置得出的ES流的切片时间戳的最佳序列值及第二解析装置取得的音频流的随机切入点的时间戳序列,通过与相应视频ES流切片的最佳切片时间戳的序列值最相近原则的第二切片计算模型,计算得出音频流的切片时间戳的最佳序列值;
第二切片装置,连接于所述第二切片计算装置,用以依据所述计算得出的音频流的切片时间戳的最佳序列值,对音频流进行切片;以及
音视频封装装置,分别连接于所述第一切片装置及第二切片装置,用以将第一切片装置取得的视频ES流切片及第二切片装置取得的音频流切片对应进行音视频封装,生成m3u8流媒体文件。上述的第二切片计算装置中,音频流的随机切入点为每一音频帧的起始样本。上述第二切片计算装置中,所述与相应视频ES流切片的起始时刻最相近原则的第二切片计算模型的数学表达式为
对每个k =1,2,......,依次执行
mKiA=arSmm w - h k-Jt Il
SJ > η\4χΛ
根据计算得出的mu,序列值,得到第i个音频流ASi的切片时间戳序列值{ ti, j (mi,j,(!),ti, j (mi, j, l) ti; j (IIli, j,2),......,ti; j (mi, j,Kj) },
其中
{ ti(0),ti(l),ti(2),……,ti(Mi) }:第i个音频流ASi的随机切入点的时间戳,ti(0) = O, (Mi) = L,L为音频流的时长
Kj :音频流的切片个数,且等于视频ES流的切片个数
niuk :音频ES流的切片时间戳的序号,属于集合{0,I, 2,……,Mi },对所有k,O彡 k 彡 Kj, mi;J.0 = O, mi;J.KJ = Mi
tj(n J;k):视频流VSj的切片时间戳 ti,j(mi,j,k-i):第k个切片的起始时间戳 ti;J(mi;J,k):第k个切片的结束时间戳
本发明针对传统的流媒体切片技术的各种缺陷和缺点,利用流媒体解码所得随机切入点的时间戳序列及给定预期切片时长,通过采用最小最大(minimax)数值优化方法,以切片后所得各切片时长与给定预期切片时长的差值序列中的最大值最小为优化目标,计算得出流媒体ES流的切片时间戳的最佳序列值,并据此进行切片处理,从而能生成符合HLS协议要求的切片文件,即隶属于同一个多媒体流的不同切片的时长尽可能地接近,这使得终端对不同切片文件进行操作所消耗的时间基本相近,降低了播放器的缓冲机制要求;由于不同切片的大小相近,终端在下载切片文件前可对切片文件大小做出较准确的估计,并根据估计值为每个切片一次性分配足够大的动态内存空间,从而保证了系统运行的稳定性,使切片文件的播放变得更为流畅,进而提高用户观看体验的质量。


图I为本发明的流媒体切片方法的流程示意 图2为本发明的纯音频流切片方法的流程示意 图3为本发明的流媒体切片系统的结构框 图4为本发明的第一实施例的专利实施后的切片时长控制 图5为本发明的第二实施例的专利实施后的切片时长控制 图6为本发明的第三实施例的专利实施后的切片时长控制 图7为本发明的第四实施例的专利实施后的切片时长控制图;以及 图8为本发明的第五实施例的专利实施后的切片时长控制图。
具体实施例方式下面结合附图和实施例对本发明作进一步详细说明,但本发明的保护范围并不限于此。图I为本发明的流媒体切片方法的流程示意图,该方法包括以下步骤
在步骤SI中,解析视频基本码流(Elementary Stream, ES),接着进行步骤S2。其中,解析视频ES流,取得演示时间戳(Presentation Time-Stamp,PTS)及解码时间戳(DecodingTime-Stamp, DTS)信息,进而得到视频ES流的随机切入点的时间戳序列,该视频ES流的随机切入点为I中贞或IDR (Instantaneous Decoding Refresh)巾贞,例如视频ES流为H. 264流,则一个IDR帧对应一个随机切入点。终端可以从任何一个随机切入点截取码流开始播放,而不需要对该切入点之前的数据作解码。(一)多媒体流及其包含的视频ES流及音频ES流信息的数学描述如下 记多媒体流为S,S包含J个视频ES流,分别记为VS1, VS2,……VSp包含I个音频ES
流,分别记为AS1, AS2,……AS115记期望的切片时长为T,记S的持续时间为L,通常S中所有ES流的时长也是L (例如,L可能是一部电影的总时长,而其中的音频流和视频流的持续时间通常也是L)。(二)随机切入点的数学描述如下
设一视频基本码流的随机切入点为{ t (O),t(l), t(2),……,t(N) },
其中
每个t (η), I < η < N :相应的随机切入点(random access point)的时间戳(timestamp);
t(0):码流起点; t(N):码流终点;
N :随机切入点的个数。在步骤S2中,采用最小最大(minimax)数值优化方法,计算出视频ES流切片时间戳的最佳序列值,接着进行步骤S3。其中,采用最小最大数值优化方法,是根据随机切入点的时间戳序列及给定预期切片时长,以切片后所得各切片时长与给定预期切片时长的差值序列中的最大值最小为优化目标,通过第一切片计算模型,计算得出视频ES流的切片时间戳的最佳序列值。上述优化目标及第一切片计算模型的数学描述如下
(一)最小最大数值优化方法的优化目标数学描述如下
设视频ES流的切片可用序列为{ t(nQ), t (Ii1), t(n2),......,t (ηκ) },采用最小最大
数值优化方法的优化目标为对任何数值Τ,产生最小最大误差意义下切片时长与T最接近
的切片序列,即产生K和{ nQ, Ii1, n2,......,ηκ},使得 max{ II t (nk) t Ov1) - T III < k < K}最小,
其中
K :切片个数;
{ n0, Ii1, n2,......,ηκ }:切片的序号的集合,它属于随机切入点的序号的集合{0,I,
2,......,N}其中 η。= O, ηκ = N ;
ηκ :随机切入点的序号;t :第k(k彡I)个切片的起始时间戳;
t(nk):第k(k彡I)个切片的终止时间戳,同时也是第k+Ι个切片的起始时间戳,因为本发明切片方法为无转码切片方法,流媒体文件是先由转码器转码,再通过CDN分发到内容服务器,再在内容服务器上采用本发明的切片方法进行切片处理,所以本发明的切片方法不能更改已有的随机切入点,也不能产生新的随机切入点,每个切片必须从某个随机切入点开始。t(nk) t (Iik^1):第 k 个切片的时长;
Il· Il :可以是包含绝对值在内的任何一种范数。(二)通过第一切片计算模型,计算得出视频ES流的切片时间戳的最佳序列值的数学描述如下
设视频ES流共有J个,第j个视频ES流记为VSj, I ^ j ^ J,又记VSj中的所有随机接入点的时间戳为Η」(0), 」(1), 」(2),……,tj(N」)},其中,t」(0)为VSj的起始时刻,tj(Nj)为VS^的结束时刻。对VS^做本发明最优无转码切片的伪代码如下
令 bj(n) = O, Cj (n) =IItj (n) t」(O) T II , kj(n)= I, n = 0, I, 2,......,N」。I)对n= 2,……,Nj,依次执行下列步骤
I.I)对m=l,2,……,n 1,依次执行
如果 max { Il tj (n) t」(m) T II , Cj (m)}〈c」(n),贝丨JCj (n) =max { II t」(n) t」(m) T Il , Cj (m)}kj (n) =kj (m) +1bj(n) =m
2)Kfkj(Nj)
3)令n」,KJ=Nj,对k=K」 I, Kj 2,……,0依次执行 3. I) m=bj (η」,k+1)
3. 2)nJ;k=bj (m)
4)ES流VSj的切片起始时间戳为
Itj (nJ;0), tj (nJ; J , tj (nJ;2),......,t」(nJ;KJ)}。上述伪代码求出的切片个数Kj和切片时间戳tj (nj, k),O彡k彡Kj,使下式最小 max { Il tj (n' J; k) tj (n' J; ^1) T Il : I ^ k ^ K'}(I)
相应的约束条件为
1)n’J; k :任意一种切片方法的切片序号,它属于随机切入点的集合{0,I, 2,......,
NjI ;
2)nj, 0=0,心 K’= Nj ;
即对于任意满足上述约束的切片个数K’和切片时间戳k), 0<k<K’,下式成立
max { Il tj (η j’ k) tj (nJ; ^1) Tl I : I ^ k ^ Kj }
(max { Il tj (n' J; k) tj (n' J; ^1) T I : I ^ k ^ K'} °上述对VSj切片的伪代码的运算复杂度为0(Ν/)。上述计算过程,求得第j个视频ES流VSj的切片起始时间戳为{tj (η」,。),、(n」,……, 」(η」,κ」)},实际操作中,是按顺序依次取j为1,2,…J,求出视频ES流VS^的切片起始时间戳序列。在步骤S3中,对视频ES流进行切片,接着进行步骤S4。其中,依据所述计算得出的切片时间戮的最佳序列值,对视频ES流进行切片。由于多媒体流里包含J个视频ES流,分 别记为VS1,VS2,……VSJ,对这些视频ES流按j为1,2,…J的顺序,依次为每个视频ES流按步骤SI,S2,S3的顺序做解析ES流VSj,求出视频ES流VSj的切片起始时间戳序列,按此切片起始时间戳序列做切片处理。在步骤S4中,解析音频流,接着进行步骤S5。其中,解析音频流,为取得PTS及DTS信息,进而得到音频流的随机切入点的时间戳序列,而音频ES流的随机切入点为每一音频帧的起始样本。在步骤S5中,依据与视频ES流切片的最佳切片时间戳的序列值最相近原则,计算出音频流的切片时间戳的最佳序列值,接着进行步骤S6。其中,根据步骤S2取得的视频ES流的切片时间戳的最佳序列值及步骤S4取得的音频流的随机切入点的时间戳序列,通过与相应视频ES流切片的最佳切片时间戳的序列值最相近原则的第二切片计算模型,计算得出音频流的切片时间戳的最佳序列值。通过第二切片计算模型,计算得出音频流的切片时间戳的最佳序列值的数学描述如下
除了纯音频流外,音频流在切片时以视频流的切片时间戳为基准。记第i个音频流ASi的随机接入点的时间戳为{ \ (O),\(1),ti(2),……,tjMi) }。其中,tJO) = O, (Mi)=L0记音频流ASi WVSj为基准做切片得到的切片时间戳为
{ ^ijJ (mi, j,o) ti, j (mi, j, l) j (IIIi, j,2),......,ti; j (mi, j,Kj) }
其中,
Kj :音频流ASi的切片个数,且等于视频ES流VS^的切片个数;η!。,,音频流ASi的切片时间戳的序号,属于集合{0,I, 2,……,Mi },对所有k,O彡 k 彡 Kj, mi;J.0 = O, mi;J.KJ = Mi
tj(n J;k):视频流VSj的切片时间戳 ti,j(mi,j,k-i):第k个切片的起始时间戳 ti;J(mi;J,k):第k个切片的结束时间戳
音频流ASi以视频ES流VSj的切片时间戳为基准做切片时,对每个k =1,2,……,Kj,依次执行
mKiA = arSmm hj W — iJ k-jt )||
SJ >
根据计算得出的mu,序列值,得到第i个音频流ASi的切片时间戳序列值{
ti, j (mi,j,(!),ti, j (mi, j, l) j (IIli, j,2),......,ti; j (mi, j,Kj) }。在步骤S6中,对音频流进行切片,接着进行步骤S7。其中,依据步骤S5中计算得出的音频流的切片时间戳的最佳序列值,对音频流进行切片。在步骤S7中,将视频ES流切片及音频流切片进行音视频封装,生成m3u8多媒体文件。其中,将根据步骤S3取得的视频ES流切片及根据步骤S6取得的音频流切片对应进行音视频封装,数学描述具体为每个视频ES流与I个音频流组成一个独立的多媒体文件,生成m3u8流媒体文件。而生成的m3u8多媒体文件符合HLS协议要求。本发明的流媒体切片方法,通过分析ES流中的PTS和DTS信息获得随机切入点的时间戳,先对视频流切片,再以视频切片为基准对音频切片,最后做音视频切片封装,产生符合HLS标准的切片文件。该方法以最短路径理论为理论基础,以ES流为实现途径,所产生的切片的时长误差在最小最大准则下是最优的,进而使得不同切片的播放时长尽可能接近,以利于终端流畅播放,并使得生成的切片文件符合现正被大量应用的HLS协议的要求。图2为本发明的本发明的纯音频流切片方法的流程示意图,该方法包括以下步骤 在步骤S21中,解析纯音频流,接着进行步骤S22。在步骤S22中,采用最小最大数值优化方法,计算出音频流切片时间戳的最佳序列值,接着进行步骤S23。在步骤S23中,对音频流进行切片。图3为本发明的流媒体切片系统的结构框图,该系统包括以下装置
第一解析装置,用以解析流媒体ES流,取得PTS及DTS信息,进而得到流媒体ES流的随机切入点的时间戳序列。在本实施例中,ES流为音频ES流时,所述音频ES流的随机切入点为每一音频帧的起始样本;ES流为视频ES流时,所述视频ES流的随机切入点为I帧或IDR帧。第一解析装置为解析器。多媒体流及其包含的视频ES流及音频ES流信息及随机切入点的数学描述,同步骤SI中所述,此处不再赘述。第一切片计算装置,连接于第一解析装置,用以根据随机切入点的时间戳序列及给定预期切片时长,以切片后所得各切片时长与给定预期切片时长的差值序列中的最大值最小为优化目标,通过采用最小最大数值优化方法的第一切片计算模型,计算得出流媒体ES流的切片时间戳的最佳序列值。在本实施例中,上述优化目标及第一切片计算模型的数学描述同步骤S2中所述,此处不再赘述。第一切片装置,连接于第一切片计算装置,用以依据计算得出的切片时间戳的最佳序列值,对流媒体ES流进行切片。在本实施例中,所述的流媒体切片系统还包括以下装置
第二解析装置,用以解析音频流,取得PTS及DTS信息,进而得到音频流的随机切入点的时间戳序列;
第二切片计算装置,分别连接于第一切片计算装置及第二解析装置,用以根据第一切片计算装置得出的ES流的切片时间戳的最佳序列值及第二解析装置取得的音频流的随机切入点的时间戳序列,通过与相应视频ES流切片的最佳切片时间戳的序列值最相近原则的第二切片计算模型,计算得出音频流的切片时间戳的最佳序列值;其中,通过第二切片计算模型,计算得出音频流的切片时间戳的最佳序列值的数学描述同步骤S5,此处不再赘述。第二切片装置,连接于第二切片计算装置,用以依据计算得出的音频流的切片时间戳的最佳序列值,对音频流进行切片;其中,第二切片计算装置中,音频流的随机切入点为每一音频帧的起始样本。音视频封装装置,分别连接于第一切片装置及第二切片装置,用以将第一切片装置取得的视频ES流切片及第二切片装置取得的音频流切片对应进行音视频封装,生成m3u8流媒体文件。具体为每个视频ES流与所有的音频流组成一个独立的多媒体文件,生成m3u8流媒体文件。而生成的m3u8多媒体文件符合HLS协议要求。下面将从理论证明及实施例数据对比两个方面,分别来阐明本发明的流媒体切片方法的步骤S2中所述伪代码求出的切片个数&和切片时间戳k),0^k^Kj,使下式最小
max { Il tj (n' J; k) tj (n' J; ^1) T Il : I ^ k ^ K'}(I)
相应的约束条件为
1)n’J; k :任意一种切片方法的切片序号,它属于随机切入点的集合{0,I, 2,......,
NjI ;
2)nj, 0=0,n、’ K’= Nj ;
(一)理论证明
式(I)的最优解满足下列性质
性质I :对于任意的kp k2, O彡Ii1彡k2彡K」,Ii1以及时间戳tj (n」,k), O ^ k ^ k1;使下式最小
max { Il tj (n,J; k) t」(n,J; ^1) T Il : I 彡 k 彡 K,}(2) 相应的约束条件为
1)切片时间戳序号η’k属于集合{0,I,2,......,η」,kl};
2)n,J;ο = O, η J; κ’ = nJ; kl。证明假设存在k’ i以及时间戳tj (n’ j, k), 0彡k彡k’ i使得下式成立 max { Il tj (n' J;k) tj (n' J ^1) T Il : I ^ k ^ k' J
〈max { Il tj (nJ; k) t」(nJ; ^1) T Il : I 彡 k 彡 kj。由于n’ J;k, ρη」,kl,则下列时间戳
Itj (η0),tj (ηJ,......,tj (n J; k’ j) -t (nJ; kl), t (nJ; kl+1),......,t」(nJ;KJ)}
对应的切片时长最大误差为
max {max Ultj- (n,J;k) t」(n,J; ^1) T I : I ^ k ^ k' J ,max{ Il tj (nJ; k) t」Oij, ^1) T Il Ik1+!彡 k 彡 KjI}
〈max { Il tj (nJ; k) t」(nJ; ^1) T Il : I彡k彡KjI,与假设“最优解”相矛盾。由性质I可递归地得出上述步骤S2中的伪代码的最优性,即由该代码求得的切片个数&和时间戳k),I使得(I)式最小,即在切片时长误差最小最大准则下是最优的。证明当Nj = I时,结论成立。假设当Nj = I, 2,......,N时结论成立,当Nj = N
+ I时,由伪代码步骤2. I以及性质I可知,结论成立。(二)实施例数据对比
以下为本发明的五个实施例。源文件的参数中能够对无转码切片的精确度产生影响的有帧率、GOP长度、I (IDR)帧插入频率等。下列实施例涵盖了这些参数值的不同组合。切片的精确程度采用统计特征描述,以反映本发明在实际应用环境中的效果。图4为本发明的第一实施例的专利实施后的切片时长控制图。第一实施例中转码源文件参数为
时长02:34:24视频编码h. 264
视频参数逐行,profile = high, level = 4. O, GOP长度=50,巾贞率=24. 03fps 音频编码eac3 音频参数采样率=48kHz
切片预期时长10秒。图4给出了采用本发明对该文件切片后得到的前100个切片文件的时长。切片时长的平均值为10. 42秒,标准差为0. 14。图5为本发明的第二实施例的专利实施后的切片时长控制图。第二实施例中转码源文件参数为
时长00:25:33视频编码h. 264
视频参数逐行,profile = baseline, level = 3. I, GOP 长度=75 (在一个 GOP内可以自适应插入I帧),帧率=25fps音频编码aac音频参数采样率=48kHz
切片预期时长10秒。如图5所示,给出了采用本发明对该文件切片后得到的所有切片文件的时长。切片时长的平均值为9. 75秒,标准差为0. 89。图6为本发明的第三实施例的专利实施后的切片时长控制图。第三实施例中转码源文件参数为
时长02:13:33 视频编码h. 264
视频参数逐行,profile = high, level = 4.1,GOP长度不固定,自适应I巾贞插入(I帧出现频率平均每秒I. 08个I帧),帧率=25fps音频编码mp2音频参数采样率=48kHz
切片预期时长10秒。如图6所示,给出了采用本发明对该文件切片后得到的所有切片文件的时长。切片时长的平均值为9. 99秒,标准差为0. 27。由于I帧插入频率较高,所以切片的平均值非常接近预期值(10秒)。图7为本发明的第四实施例的专利实施后的切片时长控制图。第四实施例中转码源文件参数为
时长:01:59:33 视频编码h264
视频参数隔行,profile = high, level = 2. O, GOP 长度 33 土 3,巾贞率=25fps 音频编码mp2 音频参数采样率=48kHz
切片预期时长10秒。图7给出了采用本发明对该文件切片后得到的前200个切片文件的时长。切片时长的平均值为10. 15秒,标准差为0. 41。图8为本发明的第五实施例的专利实施后的切片时长控制图;第五实施例中转码源文件参数为
时长00:12:22视频编码h264
视频参数隔行,profile = main, level = 4.0,GOP长度不固定,自适应I巾贞插入(I帧出现频率平均每秒O. 7个I帧),帧率不固定音频编码mp2音频参数采样率=48kHz
切片预期时长10秒。图8给出了采用本发明对该文件切片后得到的切片文件的时长。切片时长的平均值为10. 03秒,标准差为0. 42。综上,本发明以能够对无转码切片的精确度产生影响的参数值的不同组合所形成的五个源文件分别为第一实施例、第二实施例、第三实施例、第四实施例及第五实施例,对比专利实施前后切片时长平均值、切片时长波动范围及切片时长标准差,具体说明如下
实施本专利技术前,两种常用无切码切片方法为第一种方法按时间由小到大依次产生每个切片,每个切片的终点为尚未被切片的ES流中与当前切片起点距离最接近T的随机 接入点。第二种方法每个切片(例如第k个)的终点为尚未被切片的ES流中与零点距离最接近kT的随机接入点。T为给定预期切片时长。记ES流中视频流VSj的所有随机接入点的时间戳为{ tj (O),tj⑴,tj(2),……,tj(Nj) }则上述两种切片方法的伪代码如下
现有方法I :
1)tj (n j- 0) = O, Kj = O
2)对于k= I, 2,……
2.I) nJ; k = argmin II tj (n) tj (nJ; ^1) T II
η
subject to n 属于{ nJ; ^+1,......,Nj }
2.2)Kj — Kj + I
2.3)如果 Ii = Nj 跳出循环。3)返回{tj(nj,0), tj (n J; , t」(η」,2),......, t」(η」,Kj) }
现有方法2
1)tj (n j- 0) = O, Kj = O
2)对于k= I, 2,……
2.I) η」’ k = argmin I t」(n) - kT I
n
subject to n 属于{ nJ; ^+1,......,Nj }
2.2)Kj — Kj + I
2.3)如果 Ii = Nj 跳出循环。3)返回{tj(nj,0), tj (n J; , t」(η」,2),......, t」(η」,Kj) }
表I五个多媒体源文件实施前后数据对比
权利要求
1.一种流媒体切片方法,其特征是,该方法包括以下步骤 a)解析流媒体ES流,取得PTS及DTS信息,进而得到流媒体ES流的随机切入点的时间戳序列; b)根据所述随机切入点的时间戳序列及给定预期切片时长,以切片后所得各切片时长与给定预期切片时长的差值序列中的最大值最小为优化目标,通过采用最小最大(minimax)数值优化方法的第一切片计算模型,计算得出流媒体ES流的切片时间戳的最佳序列值;以及 c)依据所述计算得出的切片时间戳的最佳序列值,对流媒体ES流进行切片。
2.根据权利要求I所述的流媒体切片方法,其特征是,采用所述流媒体切片方法生成的切片符合HLS协议要求。
3.根据权利要求I所述的流媒体切片方法,其特征是,所述ES流为音频ES流,所述音频ES流的随机切入点为每一音频帧的起始样本。
4.根据权利要求I所述的流媒体切片方法,其特征是,所述ES流为视频ES流,所述视频ES流的随机切入点为I帧或IDR帧。
5.根据权利要求4所述的流媒体切片方法,其特征是,所述的步骤c)后,还包括以下步骤 d)解析音频流,取得PTS及DTS信息,进而得到音频流的随机切入点的时间戳序列; e)根据步骤b)取得的ES流的切片时间戳的最佳序列值及步骤d)取得的音频流的随机切入点的时间戳序列,通过与相应视频ES流切片的最佳切片时间戳的序列值最相近原则的第二切片计算模型,计算得出音频流的切片时间戳的最佳序列值; f)依据所述计算得出的音频流的切片时间戳的最佳序列值,对音频流进行切片;以及 g)将根据步骤c)取得的视频ES流切片及根据步骤f)取得的音频流切片对应进行音视频封装,生成m3u8流媒体文件。
6.根据权利要求5所述的流媒体切片方法,其特征是,所述的步骤d)中,音频流的随机切入点为每一音频帧的起始样本。
7.根据权利要求5所述的流媒体切片方法,其特征是,所述的步骤e)中,所述与相应视频ES流切片的起始时刻最相近原则的第二切片计算模型的数学表达式为 对每个k =1,2,......,依次执行
8.一种流媒体切片系统,其特征是,该系统包括以下装置 第一解析装置,用以解析流媒体ES流,取得PTS及DTS信息,进而得到流媒体ES流的随机切入点的时间戳序列; 第一切片计算装置,连接于所述第一解析装置,用以根据所述随机切入点的时间戳序列及给定预期切片时长,以切片后所得各切片时长与给定预期切片时长的差值序列中的最大值最小为优化目标,通过采用最小最大数值优化方法的第一切片计算模型,计算得出流媒体ES流的切片时间戳的最佳序列值;以及 第一切片装置,连接于所述第一切片计算装置,用以依据所述计算得出的切片时间戳的最佳序列值,对流媒体ES流进行切片。
9.根据权利要求8所述的流媒体切片方法,其特征是,采用所述流媒体切片系统生成的切片符合HLS协议要求。
10.根据权利要求8所述的流媒体切片系统,其特征是,所述ES流为音频ES流,所述音频ES流的随机切入点为每一音频帧的起始样本。
11.根据权利要求8所述的流媒体切片系统,其特征是,所述ES流为视频ES流,所述视频ES流的随机切入点为I帧或IDR帧。
12.根据权利要求11所述的流媒体切片系统,其特征是,所述的流媒体切片系统还包括以下装置 第二解析装置,用以解析音频流,取得PTS及DTS信息,进而得到音频流的随机切入点的时间戳序列; 第二切片计算装置,分别连接于所述第一切片计算装置及第二解析装置,用以根据所述第一切片计算装置得出的ES流的切片时间戳的最佳序列值及第二解析装置取得的音频流的随机切入点的时间戳序列,通过与相应视频ES流切片的最佳切片时间戳的序列值最相近原则的第二切片计算模型,计算得出音频流的切片时间戳的最佳序列值; 第二切片装置,连接于所述第二切片计算装置,用以依据所述计算得出的音频流的切片时间戳的最佳序列值,对音频流进行切片;以及 音视频封装装置,分别连接于所述第一切片装置及第二切片装置,用以将第一切片装置取得的视频ES流切片及第二切片装置取得的音频流切片对应进行音视频封装,生成m3u8流媒体文件。
13.根据权利要求12所述的流媒体切片系统,其特征是,所述的第二切片计算装置中,音频流的随机切入点为每一音频帧的起始样本。
14.根据权利要求12所述的流媒体切片系统,其特征是,所述第二切片计算装置中,所述与相应视频ES流切片的起始时刻最相近原则的第二切片计算模型的数学表达式为根据计算得出的muk序列值,得到第i个音频流ASi的切片时间戳序列值{ti, j (mi,j,(!),ti, j (mi, j, l) j (IIli, j,2),......,ti; j (mi, j,Kj) }, 其中 { ti(0),ti(l),ti(2),……,ti(Mi) }:第i个音频流ASi的随机切入点的时间戳,ti(0) = O, (Mi) = L,L为音频流的时长 Kj :音频流的切片个数,且等于视频ES流的切片个数 niuk :音频ES流的切片时间戳的序号,属于集合{O,I, 2,……,Mi },对所有k,O≤ k ≤ Kj, mi;J.0 = O, mi;J.KJ = Mi tj(n J;k):视频流VSj的切片时间戳 ti,j(mi,j,k-i):第k个切片的起始时间戳 ti;J(mi;J,k):第k个切片的结束时间戳。
全文摘要
本发明涉及一种流媒体切片方法及系统,包括解析流媒体ES 流;根据所得随机切入点的时间戳序列及给定预期切片时长,通过最小最大数值优化方法,以切片后所得各切片时长与给定预期切片时长的差值序列中的最大值最小为优化目标,计算出流媒体ES流切片时间戳的最佳序列值;并据此进行切片处理。本发明提供的方法及系统,能生成符合HLS协议的切片文件,即能使隶属于同一多媒体流的不同切片时长尽可能地接近,进而降低了对终端播放器的缓冲机制的要求;同时保证了系统运行的稳定性,使切片文件的播放更为流畅,提高用户观看体验的质量。
文档编号H04N21/854GK102932670SQ201210501658
公开日2013年2月13日 申请日期2012年11月29日 优先权日2012年11月29日
发明者周少毅, 范钰华, 申青平 申请人:百视通网络电视技术发展有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1