CN102340657A - 一种视频资源的调度包截取方法及装置 - Google Patents

一种视频资源的调度包截取方法及装置 Download PDF

Info

Publication number
CN102340657A
CN102340657A CN201010228538XA CN201010228538A CN102340657A CN 102340657 A CN102340657 A CN 102340657A CN 201010228538X A CN201010228538X A CN 201010228538XA CN 201010228538 A CN201010228538 A CN 201010228538A CN 102340657 A CN102340657 A CN 102340657A
Authority
CN
China
Prior art keywords
video
frame
scheduling packets
gop
scheduling
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
CN201010228538XA
Other languages
English (en)
Other versions
CN102340657B (zh
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.)
Peking University
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
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 Peking University, Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University
Priority to CN 201010228538 priority Critical patent/CN102340657B/zh
Publication of CN102340657A publication Critical patent/CN102340657A/zh
Application granted granted Critical
Publication of CN102340657B publication Critical patent/CN102340657B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种视频资源的调度包截取的方法及装置,用以解决现有技术中调度包处理效率低的问题。该方法确定视频码流中每个视频帧包含的字节数,判断所有视频帧包含的字节数的和是否大于目标码流包含的字节数,当所有视频帧包含的字节数的和不大于目标码流包含的字节数时,则根据该视频码流中每个视频帧的PSNR,确定平均PSNR最低的GOP,在该GOP中针对未包含在该视频码流中的调度包,选择一个调度包添加到GOP中。由于本申请中通过确定该视频码流中每个GOP的平均PSNR,对平均PSNR最低的GOP添加一个调度包,因此该实现方式较简单,有效的提高了对调度包处理的效率。

Description

一种视频资源的调度包截取方法及装置
技术领域
本发明涉及数据处理技术领域,尤其涉及一种视频资源的调度包截取方法及装置。
背景技术
视频资源直观性强,内容丰富,当用户需求视频资源时,可以通过网络资源传输。当视频资源在网络中传输时,由于网络带宽不稳定,并且由于终端的解码播放能力的差异,要求网络中传输的视频资源的视频编码及传输具有可伸缩特性。
可伸缩视频编码(SVC)为高压缩效率标准H.264/AVC发展而来的视频编码方案,SVC可以提供空域、质量和时域的可伸缩性,提供精确到包的码率截断,并且SVC可以提高可伸缩编码效率,以及接近传统定码率视频编码的压缩率。
具体在实现质量的可伸缩性时,将视频资源中的每帧图像都分为可以单独编码的基本层码流,和码率高于该基本层的增强层码流。在基本层采用混合编码的方法,通常码率比较低,可以保证基本的质量要求,并且可以确保解码端具有足够的能力接收并解码该基本层的码流。而每个增强层则通过嵌入式的方式对各增强层变换系数进行分组编码,从而可以使码流基于每一帧的调度包进行截断。
基于以上思想,当前H.264/SVC质量可伸缩性编码中提出了一种多层次编码和提取子流的机制。在SVC的每个图像组(GOP)中采用了层次化B帧的结构,位于不同层上的帧与帧之间具有很强的相关性,因此每个MGS数据包的率失真特性受到本身的编码特性,以及丢包造成的漂移误差的影响。
因此,对于漂移误差可以反映编码器和解码器之间,运动补偿预测点不同步对视频质量的影响。运动补偿采用增强层图像作为原始参考帧进行预测。在解码器端,由于数据包的丢弃造成重建参考帧和原始参考帧失配,从而引起解码误差。由于时间层上逐层的运动补偿和解码重建,从而会造成解码误差的逐步扩散和累积,形成漂移误差。
为了防止漂移误差,SVC中提出了关键帧(key picture)的概念,每两个关键帧之间的视频帧构成一个GOP。在一个GOP中,前一个关键帧的基本层的图像作为后一个关键帧的参考帧,从而可以将漂移误差限制在一个GOP范围内。根据比特流分配方法将目标比特最优的分配给每个MGS视频帧。对于MGS码流可以通过不同增强层对应的调度包提取以达到目标码率。在码流提取时需要考虑的因素分别为:在一个GOP内的漂移误差,以及每帧MGS图像增强层的率失真特性。
目前可以基于模型计算各调度包对码流的影响,但是该算法追求局部质量最高,而对于视频资源很可能存在运动激烈的GOP,以及运动平缓的GOP。如果都采用相同的码率,则运动激烈的GOP的质量会下降。因此需要从全局角度考虑码率的分配,对于运动激烈的部分分配较多的码率,对于运动平缓的部分分配较少的码率,从整体上保证码率的平衡。
针对精细粒度可伸缩性(FGS)包的平缓截取算法,可以基于漂移误差的模型:
E ( ϵ B 2 ) = E ( ϵ H 2 ) + ( p fwd + 1 4 p Btwd ) E ( ϵ A 2 ) + ( p bwd + 1 4 p Btwd ) E ( ϵ C 2 ) + μE ( ϵ A 2 ) E ( ϵ C 2 ) + v
其中,pfwd、pbwd以及pBtwd分别为当前帧B的前向预测、后向预测和双向预测的比例,
Figure BSA00000193394500022
表示各帧的失真,
Figure BSA00000193394500023
表示视频帧H增强层的失真,μ和v是模型参数,需要通过基本层解码和完全增强层解码获得。并且需要基于优先级的模型计算失真,在计算失真时通过牛顿迭代方法计算出要达到该失真时,确定各GOP分配的码率,并根据最优分配原则分配调度包,从而达到目标失真。具体可以根据PSNR(R)=a*R+A-(A-B)/(1+b*R)计算,其中参数a、b、A、B为优先级模型中的参数。
上述过程中漂移误差的模型过于复杂,并且需要在编码时获得原码流中每个B帧对应的前后帧预测的宏块预测比例,并且上述模型中某一帧对于另一帧的参考误差影响,还与另一参考帧的影响相关,因此计算的过程较复杂,影响了包截取的效率。并且在计算优先级的模型时,需要采用迭代的方法,计算量比较大,从而影响了丢包处理的效率。并且上述计算过程只针对FGS编码模式,这也是由于FGS包是可以直接截断的,当分配给某个GOP包的码率不足以容纳一个完整包时,可以按照包的级别进行截断,但是由于调度包是无法截断的,因此上述方法对于MGS编码模式是不适用的。
发明内容
有鉴于此,本发明实施例提供一种视频资源的调度包截取的方法及装置,用以解决现有技术中包处理效率低的问题。
本发明实施例提供的一种视频资源的包截取方法,包括:
确定视频码流中每个视频帧包含的字节数,判断所有视频帧包含的字节数的和是否大于目标码流包含的字节数,其中目标码流包含的字节数根据预设的码率以及视频帧的数量信息确定;
当所有视频帧包含的字节数的和不大于目标码流包含的字节数时,则根据该视频码流中每个视频帧的峰值信噪比PSNR,确定平均PSNR最低的图像组GOP;
在该GOP中针对未包含在该视频码流中的调度包,选择一个调度包添加到所述GOP中。
本发明实施例提供的一种视频资源的调度包截取装置,包括:
判断模块,用于确定视频码流中每个视频帧包含的字节数,判断所有视频帧包含的字节数的和是否大于目标码流包含的字节数,其中目标码流包含的字节数根据预设的码率以及视频帧的数量信息确定;
确定模块,用于当所有视频帧包含的字节数的和不大于目标码流包含的字节数时,则根据该视频码流中每个视频帧的峰值信噪比PSNR,确定平均PSNR最低的图像组GOP:
截取模块,用于在该GOP中针对未包含在该视频码流中的调度包,选择一个调度包添加到所述GOP中。
本发明实施例提供了一种视频资源的调度包截取方法及装置,该方法确定视频码流中每个视频帧包含的字节数,判断所有视频帧包含的字节数的和是否大于目标码流包含的字节数,其中目标码流包含的字节数根据预设的码率以及视频帧的数量信息确定,当所有视频帧包含的字节数的和不大于目标码流包含的字节数时,则根据该视频码流中每个视频帧的峰值信噪比PSNR,确定平均PSNR最低的图像组GOP,在该GOP中针对未包含在该视频码流中的调度包,选择一个调度包添加到所述GOP中。由于本申请中通过确定该视频码流中每个GOP的平均PSNR,对平均PSNR最低的GOP添加一个调度包,因此该实现方式较简单,有效的提高了对调度包处理的效率。
附图说明
图1为本发明实施例提供的针对视频资源的调度包截取过程;
图2为本发明实施例提供的选择一个距离基本层位置最近的,对该调度包所在的视频帧影响最大的调度包的过程;
图3为本发明实施例提供的调度权重数组的确定及保存过程;
图4为本发明实施例提供的漂移误差权重的计算示例;
图5为本发明实施例提供的每个GOP的视频帧对应的调度权重数组的计算过程;
图6为本发明实施例提供的一种视频资源的调度包截取装置结构图。
具体实施方式
下面结合说明书附图,对本发明实施例进行详细说明。
图1为本发明实施例的针对视频资源的调度包截取过程,该过程包括以下步骤:
S101:确定视频码流中每个视频帧包含的字节数,判断所有视频帧包含的字节数的和是否大于目标码流包含的字节数,其中目标码流包含的字节数根据预设的码率以及视频帧的数量信息确定。
在本发明实施例每个视频帧包括基本层,或者,包括基本层和增强层。
S102:当所有视频帧包含的字节数的和不大于目标码流包含的字节数时,则根据该视频码流中每个视频帧的峰值信噪比(PSNR),确定平均PSNR最低的图像组GOP。
由于在一个GOP中包含多个视频帧,而在该视频码流中,针对包含在该视频码流中的每个视频帧,可能包含该视频帧的基本层,或包含该视频帧的基本层和增强层。因此根据包含在该视频码流中的每个视频帧的PSNR,即可确定每个GOP中所有视频帧PSNR的和,根据该和以及该GOP中包含在该视频码流中的视频帧的数量,即可确定每个GOP的平均PSNR。当确定了每个GOP的平均PSNR后,即可确定平均PSNR最低的图像组GOP。
S103:在该GOP中针对未包含在该视频码流中的调度包,选择一个调度包添加到所述GOP中。
对于进行显示的视频资源,为了从全局角度进行分配,使截取获得的视频资源的码率尽量平滑。而对于一个给定的视频码流,其对应的编码方式是确定的,因此在解析出该视频码流中每个视频帧时,可以确定每个视频帧的PSNR。将确定的每个视频帧的PSNR分别进行保存。
由于在本发明实施例中该给定的视频码流中包含的每个视频帧可能包含基本层,或者包含基本层和增强层,而每个视频帧基本层和增强层对应的PSNR值也是确定的,因此每个视频帧的PSNR可以确定。当确定了包含在该视频码流中的每个视频帧的PSNR后,针对每个视频帧分别对应保存其对应的PSNR值。
根据预定的码率值以及视频帧的数量信息,确定目标码流的大小,即确定目标码流包含的字节数。在给定的视频码流中,记录该视频码流包含的每个视频帧包含的字节数,将该所有视频帧包含的字节数的和,与该确定的目标码流包含的字节数进行比较。当所有视频帧包含的字节数的和大于该确定的目标码流包含的字节数时,则该调度包的截取过程结束,该视频码流的码率值满足预定码率值的需求。当该所有视频帧包含的字节数的和不大于该确定的目标码流包含的字节数时,则在该视频码流中确定平均PSNR最低的GOP,在该GOP中针对未包含在该视频码流中的调度包,选择一个调度包分配到该GOP中。
根据每个视频帧的PSNR,在该给定的视频码流中的每个GOP中确定平均PSNR最低的GOP。由于在每个GOP中的视频帧可能为关键帧或层次化B帧,因此可以在该GOP内,根据每个视频帧的PSNR,以及该GOP内包含的视频帧的数量,即可确定该GOP的平均PSNR值。由于每个GOP的平均PSNR值可以确定,因此可以确定平均PSNR最低的GOP。
由于在给定的视频码流中存在平均PSNR最低的GOP,为了进行全局平滑,即对每个GOP的平均PSNR进行平滑。在本发明实施例中为了达到全局平滑的效果,针对该平均PSNR最低的GOP,在该GOP未包含在该视频码流中的调度包中选择一个调度包,将该调度包添加到该GOP中,即添加到该视频码流中。
可以采用为平均PSNR最低的GOP添加一个调度包,即从该GOP未包含在该视频码流的调度包中,选择一个调度包,在该GOP的对应视频帧中增加一层增强层。
在为该平均PSNR最低的GOP选择一个未包含在该视频码流中的调度包时,可以在该GOP未包含在该视频码流的调度包中任意选择一个,将该调度包添加到该GOP的对应视频帧中,或者,为了保证选择的调度包的连续性,也可以在该GOP未包含在该视频码流的调度包中,选择距离基本层位置最近的调度包,将该调度包添加到该GOP的对应视频帧中。
在选择距离基本层位置最近的未包含在该视频码流中的调度包时,可以在该GOP未包含在该视频码流的调度包中,任意选择一个距离基本层位置最近的调度包,将该调度包添加到该GOP的对应视频帧中。或者,也可以选择一个距离基本层位置最近的,未包含在该视频码流中的,对该调度包所在的视频帧影响最大的调度包,将该包添加到所述GOP中的对应视频帧。
图2为本发明实施例提供的选择一个距离基本层位置最近的,未包含在该视频码流中的,对该调度包所在的视频帧影响最大的调度包的过程,该过程针对的是该GOP的每个视频帧内未包含在该视频码流中,距离基本层最近的每个调度包,针对该每个调度包,执行以下步骤:
S201:根据该调度包包含的数据量,以及保存的调度权重数组,确定对该调度包所在视频帧造成的平均均方失真MSE,以及对位于该调度包所在的视频帧时间层之下的各视频帧造成的漂移失真影响。
S202:根据每个调度包本身的PSNR值增益,及该每个调度包对应的对各视频帧造成的漂移失真影响,确定选择的每个调度包的平均PSNR增加值。
S203:根据每个调度包,根据平均PSNR增加值,及该调度包包含的数据量,确定该调度包的PSNR的增加率,选择PSNR的增加率最大值对应的调度包作为对所述调度包所在的视频帧影响最大的调度包。
图3为本发明实施例提供的调度权重数组的确定及保存过程,该过程包括以下步骤:
S301:根据该GOP包含在该视频码流中的每个视频帧的失真下降值,以每个视频帧作为当前帧时,计算该当前帧对应的漂移误差权重值。
S302:根据每个视频帧对应的漂移误差权重值,确定该GOP包含在该视频码流中的每个视频帧对应的调度权重数组。
S303:针对该GOP包含在该视频码流中的每个视频帧,确定该每个视频帧的每个增强层对应的码率-失真数据,并计算每个增强层内每个调度包的码率-失真数据。
S304:根据确定的每个视频帧对应的调度权重数组,及该视频帧每个增强层内每个调度包的码率-失真数据,确定该GOP内每个视频帧的每个调度包对应的调度权重数组,并保存为调度权重数组。
下面详细描述调度权重数组的确定过程,在确定调度权重数组的过程中,针对的都是该GOP包含在该视频码流中的每个视频帧进行的,以下为了简便就不一一说明,简称为视频帧。
在同一个编码增强层中,当不存在漂移误差时,平均均方失真(Mean SquareError,MSE,M)的下降和比特率的上升呈现线性关系。由于在编码增强层中包含多个调度包,每个调度包包含的数据量的大小为
Figure BSA00000193394500081
,其中
Figure BSA00000193394500082
表示第i帧第j层的第k个调度包包含的数据量的大小。为了标识在不存在漂移误差时,某一调度包丢弃时,导致的该调度包所在视频帧的MSE,在本发明中采用建立的分段线性模型。该分段线性模型具体为:
MSE ( R ) = M 0 - ( M 1 - M 0 ) * ( R - R 0 ) / ( R 1 - R 0 ) R 0 &le; R &le; R 1 ; M 1 - ( M 2 - M 1 ) * ( R - R 1 ) / ( R 2 - R 1 ) R 1 < R &le; R 2 ; . . . . . . . . . - - - ( 1 )
上述公式中MSE(R)为当前视频帧的比特数为R时的平均均方失真,R为当前视频帧的比特数,其中该当前视频帧的比特数包括该当前视频帧基本层的比特数和增强层的比特数,M0、R0分别为当前帧只存在基本层时的平均均方失真和比特数,M1和R1为获得第一增强层所有调度包时的平均均方失真和比特数,M2和R2为获得第二增强层所有调度包时的平均均方失真和比特数,依次类推,Mj和Rj为获得第j增强层所有调度包时的平均均方失真和比特数。可以根据相应的平均均方失真MSE和比特数,确定分段线性模型。
由于在SVC中,基本层采用混合编码的方法,增强层通过嵌入式对各增强层变换系数进行分组编码,Mj和Rj数据可以在编码过程中获得。由于上述分段线性模型中存在(M1-M0)和(R1-R0),在进行编码时,可以获取每个Mj和Rj数据,或者在通过解码完全码流时,也可以获取每个Mj和Rj数据。
在获取每个Mj和Rj数据后,计算每个视频帧增强层内每个调度包的码率-失真数据,计算每个增强层内每个调度包的码率-失真数据包括,计算每个增强层内每个调度包的码率-失真斜率
Figure BSA00000193394500091
其中Rj为增强层内所有调度包的比特数的和,Mj为获取该增强层内所有调度包时的MSE,Rj-1为增强层的前一层内所有调度包的比特数的和,Mj-1为获取该增强层前一层内所有调度包时的MSE。
针对每个视频帧,根据每个视频帧的漂移误差权重模型,可以确定当前帧对应的漂移误差权重值,其中漂移误差权重模块的基本公式或原理如下:
&Delta;E ( &epsiv; curr 2 ) = &Delta;E ( &epsiv; Hcurr 2 ) + &mu; curr ( &Delta;E ( &epsiv; fwd 2 ) + &Delta;E ( &epsiv; bwd 2 ) ) - - - ( 2 )
其中,
Figure BSA00000193394500093
以及分别为当前帧的失真下降值(包括当前帧丢包对本帧质量的影响和其他帧丢包对本帧的影响的总失真下降值),前向参考帧的失真下降值以及后向参考帧的失真下降值,具体可通过两次解码获得某个特定截断情况下值。
Figure BSA00000193394500095
为当当前帧的调度包丢包时,对本视频帧的视频引起的质量下降值(不包括其他帧丢包对本帧的影响),具体计算时根据分段线性模型(1),根据数据包的大小来计算确定。这样通过两次实际解码,得到
Figure BSA00000193394500096
Figure BSA00000193394500097
然后根据上述漂移误差权重模型,确定每个视频帧对应的漂移误差权重值μcurr值。
图4为本发明实施例中调度包对当前帧和相关帧影响的示意图,在该图4中,由于视频帧0和视频帧8为最高层,不受其他视频帧的影响,因此其μcurr值为0。
当当前帧为视频帧4时,其前向参考帧为视频帧0,后向参考帧为视频帧8,根据(2),可以计算出视频帧4的μcurr值,其实质是参考帧0和8丢包对当前帧的影响权值。同理,当当前帧为视频帧2时,其前向参考帧为视频帧0,后向参考帧为视频帧4。当当前帧为视频帧6时,其前向参考帧为视频帧4,后向参考帧为视频帧8。同理可知,视频帧1的前向参考帧为视频帧0,后向参考帧为视频帧2;视频帧3的前向参考帧为视频帧2,后向参考帧为视频帧4,视频帧5的前向参考帧为视频帧4,后向参考帧为视频帧6,视频帧7的前向参考帧为视频帧6,后向参考帧为视频帧8,因此根据上述公式可以一一计算每个视频帧为当前帧时,其对应的μcurr值。
根据计算的每帧图像的μcurr值,计算每个调度包的调度权值数组。具体的计算过程包括:
以当前帧的调度权重值为1,其他帧的调度权重值为0,对一个GOP内视频帧对应的调度权重数组FrameWeight进行初始化。
以当前帧所在时间层的下一时间层为开始时间点,逐层计算当前帧对下一时间层每个视频帧的影响。在具体计算当前帧对下一时间层每个视频帧的影响时,根据当前帧的调度权重为两个参考帧调度权重的和,与该当前帧μcurr的积。
如图5所示,在时间层0,对该GOP内视频帧的调度权重数组FrameWeight进行初始化,该调度权重数组FrameWeight中当前帧对应的调度权重值为1,其他帧对应的调度权重值为0。
由于在具体计算过程中,以当前帧所在时间层的下一时间层为开始时间点,因此开始时间点为时间层1对应的时间点。在逐层计算当前帧对下一时间层中每个视频帧的影响时,根据其前一层的参考帧的调度权重值的和,与当前帧的调度权重系数的乘积。
针对时间层1,由于存在9帧图像,第4帧图像的参考帧为第0帧和第8帧,在计算第4帧图像的调度权重值时,根据第4帧图像的参考帧第0帧和第8帧,在时间层0中的调度权重值的和,以及第4帧的调度权重系数的乘积确定,即时间层1中第4帧图像的调度权重值为μ4(1+0),即为μ4
时间层2中第2帧的参考帧为第0帧和第4帧,因此,在计算第2帧图像的调度层权重值时,根据第2帧图像的参考帧第0帧和第4帧,在时间层1中的调度权重值的和,以及第2帧的调度权重系数的乘积确定,即时间层2中第2帧图像的调度权重值为μ2(1+μ4)。
时间层3中第1帧的参考帧为第0帧和第2帧,第3帧的参考帧为第2帧和第4帧,第5帧的参考帧为第4帧和第6帧,第7帧的参考帧为第6帧和第8帧。因此根据时间层2中第0帧,第2帧、第4帧、第6帧和第8帧的调度权重系数,即可确定时间层3中第1帧、第3帧、第5帧和第7帧的调度权重系数。
当确定了每个GOP的视频帧对应的调度权重数组FrameWeight后,可以根据该GOP的调度权重数组FrameWeight以及该调度包的码率-失真斜率确定该GOP内每个视频帧中的每个调度包的调度权重数组。具体可以为根据该GOP的视频帧对应的调度权重数组FrameWeight及该调度包的码率-失真斜率
Figure BSA00000193394500112
的乘积确定。
当确定了该GOP内每个视频帧内每个调度包的调度权重数组后,即可进行调度包的添加,具体的添加过程包括:在该GOP未包含在该视频码流中的调度包内,针对每个视频帧,选择每个视频帧中最底层的调度包,即距离基本层位置最近的且未包含在该视频码流中的调度包,即尚未被调度的调度包,计算该调度包造成的失真对位于该调度包所在的视频帧时间层之下的各视频帧造成的漂移失真影响。例如当该调度包为第N帧内的调度包时,该调度包位于时间层2,第N+1帧位于第1时间层,第N-1帧位于第3时间层,则计算该调度包造成的失真对第1时间层中的第N+1帧的漂移失真影响。
在具体计算调度包造成的失真对位于该调度包所在的视频帧时间层之下的各视频帧造成的漂移失真MSE影响时包括:根据该调度包包含的数据量的大小
Figure BSA00000193394500113
,以及确定的该GOP的调度权重数组FrameWeight确定。具体可以计算两者的积,将两者的积作为该调度包造成的失真对位于该帧时间层之下的各帧造成的漂移失真MSE影响。
在该GOP未包含在该视频码流的调度包内,针对每个视频帧,选择距离基本层位置最近的调度包后,针对该被选择的调度包进行保存,并保存为一个数组,其中该数组中的每个数据为对应的每个调度包的MSE值。根据该保存的数组,以及确定的该调度包造成的失真对位于该调度包所在的视频帧时间层之下的各视频帧造成的漂移失真MSE影响,确定该被选择的调度包的平均PSNR的增加值,具体在确定该平均PSNR的增加值时,可以根据以下公式确定:
incPSNR i j , k = 10 mean ( log 10 ( MSE GOP [ 1 . . gop _ size + 1 ] ) )
- 10 mean ( log 10 ( MSE GOP [ 1 . . gop _ size + 1 ] - MSE i j , k [ 1 . . gop _ size + 1 ] ) )
其中,
Figure BSA00000193394500123
为每个调度包的平均PSNR的增加值,MSEGOP[1,gop_size+1]为当前调度下的包含在该视频码流中的该GOP中每个视频帧的MSE组成的数组,该数组的初始值为该GOP中每个视频帧基本层解码时的MSE,随着调度包的更新不断更新,
Figure BSA00000193394500124
为未包含在该视频码流中距离基本层最近的调度包,造成的失真对位于该调度包所在的视频帧时间层之下的各视频帧造成的整体MSE影响。
根据上述计算的该被选择的调度包的平均PSNR的增加值,以及该选择的每个调度包包含的数据量的大小,确定PSNR的增加率,选择PSNR的增加率最大值对应的调度包,将该调度包添加到该视频码流的对应视频帧内,在确定PSNR的增加率时,根据该被选择的调度包的平均PSNR的增加值,以及该调度包包含的数据量的大小的商确定。即根据
Figure BSA00000193394500125
确定,其中,
Figure BSA00000193394500126
为PSNR的增加率,为该调度包的平均PSNR的增加值。
由于在该视频码流中添加了一个调度包,根据该视频添加该调度包后,继续判断该视频码流所有视频帧包含的字节数的和,是否大于目标码流包含的字节数,当该视频码流中所有视频帧包含的字节数的和不大于目标码流包含的字节数时,继续进行上述过程,即选择平均PSNR最低的GOP,为该GOP添加一个调度包,直到该视频码流所有视频帧包含的字节数的和大于目标码流包含的字节数。
在本发明上述处理过程中,可以针对MGS调度包进行,也可以针对FGS调度包进行,由于无需进行复杂的计算,因此调度包截取的处理的效率明显提高。
图6为本发明实施例提供的一种视频资源的调度包截取装置结构图,该装置包括:
判断模块61,用于确定视频码流中每个视频帧包含的字节数,判断所有视频帧包含的字节数的和是否大于目标码流包含的字节数,其中目标码流包含的字节数根据预设的码率以及视频帧的数量信息确定;
确定模块62,用于当所有视频帧包含的字节数的和不大于目标码流包含的字节数时,则根据该视频码流中每个视频帧的峰值信噪比PSNR,确定平均PSNR最低的图像组GOP:
截取模块63,用于在该GOP中针对未包含在该视频码流中的调度包,选择一个调度包添加到所述GOP中。
所述截取模块63具体用于,
任意选择一个未包含在该视频码流中的调度包,将所述调度包添加到所述GOP中对应的视频帧中;或,
选择一个距离基本层位置最近的未包含在该视频码流中的调度包,将该调度包添加到所述GOP中的对应视频帧。
所述截取模块63具体用于,
任意选择一个距离基本层位置最近的未包含在该视频码流中的调度包;或,
选择一个距离基本层位置最近的,未包含在该视频码流中的,对所述调度包所在的视频帧影响最大的调度包。
所述截取模块63包括:
第一确定单元631,用于针对该GOP的每个视频帧内未包含在该视频码流中,距离基本层最近的调度包,根据该调度包包含的数据量,以及保存的调度权重数组,确定该调度包造成的平均均方失真MSE,以及对位于该调度包所在的视频帧时间层之下的各视频帧造成的漂移失真影响;
第二确定单元632,用于针对每个调度包,根据平均PSNR增加值,及该调度包包含的数据量,确定该调度包的PSNR增加率,选择PSNR的增加率最大值对应的调度包作为对所述调度包所在的视频帧影响最大的调度包。
所述第一确定单元631具体用于:
incPSNR i j , k = 10 mean ( log 10 ( MSE GOP [ 1 . . gop _ size + 1 ] ) )
- 10 mean ( log 10 ( MSE GOP [ 1 . . gop _ size + 1 ] - MSE i j , k [ 1 . . gop _ size + 1 ] ) )
根据上述公式确定每个调度包的平均PSNR增加值,其中,
Figure BSA00000193394500143
为每个调度包的平均PSNR的增加值,MSEGOP[1,gop_size+1]为当前调度情况下包含在该视频码流中的该GOP中每个视频帧的平均均方失真MSE,为未包含在该视频码流中距离基本层最近的调度包,造成的失真对位于该调度包所在的视频帧时间层之下的各视频帧造成的整体MSE影响。
所述第一确定单元631具体用于,
确定该GOP包含在该视频码流中的每个视频帧的失真下降值,以每个视频帧作为当前帧时,计算该当前帧对应的漂移误差权重值,根据每个视频帧对应的漂移误差权重值,确定GOP包含在该视频码流中的每个视频帧对应的调度权重数组,针对该GOP包含在该视频码流中的每个视频帧,确定该每个视频帧的每个增强层对应的码率-失真数据,并计算每个增强层内每个调度包的码率-失真数据,根据确定的每个视频帧对应的调度权重数组,及该视频帧每个增强层内每个调度包的码率-失真数据,确定该GOP内每个视频帧的每个调度包对应的调度权重数组,并保存为调度权重数组。
所述第一确定单元631具体用于,
根据
Figure BSA00000193394500145
确定当前帧对应的漂移误差权重值,其中,
Figure BSA00000193394500146
以及分别为当前帧的失真下降值,前向参考帧的失真下降值以及后向参考帧的失真下降值,
Figure BSA00000193394500148
为当当前帧的调度包丢包时,对本视频帧的视频引起的质量下降值,μcurr为当前帧对应的漂移误差权重值。
所述第一确定单元具体631用于,
根据
Figure BSA00000193394500151
计算每个增强层内每个调度包的码率-失真数据,其中,Rj为增强层内所有调度包的比特数的和,Mj为获取该增强层内所有调度包时的MSE,Rj-1为增强层的前一层内所有调度包的比特数的和,Mj-1为获取该增强层前一层内所有调度包时的MSE。
本发明实施例提供了一种视频资源的调度包截取方法及装置,该方法确定视频码流中每个视频帧包含的字节数,判断所有视频帧包含的字节数的和是否大于目标码流包含的字节数,其中目标码流包含的字节数根据预设的码率以及视频帧的数量信息确定,当所有视频帧包含的字节数的和不大于目标码流包含的字节数时,则根据该视频码流中每个视频帧的峰值信噪比PSNR,确定平均PSNR最低的图像组GOP,在该GOP中针对未包含在该视频码流中的调度包,选择一个调度包添加到所述GOP中。由于本申请中通过确定该视频码流中每个GOP的平均PSNR,对平均PSNR最低的GOP添加一个调度包,因此该实现方式较简单,有效的提高了对调度包处理的效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (16)

1.一种视频资源的调度包截取方法,其特征在于,包括:
确定视频码流中每个视频帧包含的字节数,判断所有视频帧包含的字节数的和是否大于目标码流包含的字节数,其中目标码流包含的字节数根据预设的码率以及视频帧的数量信息确定;
当所有视频帧包含的字节数的和不大于目标码流包含的字节数时,则根据该视频码流中每个视频帧的峰值信噪比PSNR,确定平均PSNR最低的图像组GOP;
在该GOP中针对未包含在该视频码流中的调度包,选择一个调度包添加到所述GOP中。
2.如权利要求1所述的方法,其特征在于,所述选择一个调度包添加到所述GOP中包括:
任意选择一个未包含在该视频码流中的调度包,将所述调度包添加到所述GOP中对应的视频帧中;或,
选择一个距离基本层位置最近的未包含在该视频码流中的调度包,将该调度包添加到所述GOP中的对应视频帧。
3.如权利要求2所述的方法,其特征在于,选择一个距离基本层位置最近的未包含在该视频码流中的调度包包括:
任意选择一个距离基本层位置最近的未包含在该视频码流中的调度包;或,
选择一个距离基本层位置最近的,未包含在该视频码流中的,对所述调度包所在的视频帧影响最大的调度包。
4.如权利要求3所述的方法,其特征在于,选择一个距离基本层位置最近的,未包含在该视频码流中的,对所述调度包所在的视频帧影响最大的调度包包括:针对该GOP的每个视频帧内未包含在该视频码流中,距离基本层最近的调度包,执行以下步骤:
根据该调度包包含的数据量,以及保存的调度权重数组,确定对该调度包所在的视频帧造成的平均均方失真MSE,及对位于该调度包所在的视频帧时间层之下的各视频帧造成的漂移失真影响;
根据每个调度包本身的PSNR值增益,及该每个调度包对应的对各视频帧造成的漂移失真影响,确定每个调度包的平均PSNR增加值;
针对每个调度包,根据平均PSNR增加值,及该调度包包含的数据量,确定该调度包的PSNR增加率,选择PSNR的增加率最大值对应的调度包作为对所述调度包所在的视频帧影响最大的调度包。
5.如权利要求4所述的方法,其特征在于,确定每个调度包的平均PSNR增加值包括:
incPSNR i j , k = 10 mean ( log 10 ( MSE GOP [ 1 . . gop _ size + 1 ] ) )
- 10 mean ( log 10 ( MSE GOP [ 1 . . gop _ size + 1 ] - MSE i j , k [ 1 . . gop _ size + 1 ] ) )
根据上述公式确定每个调度包的平均PSNR增加值,其中,
Figure FSA00000193394400023
为每个调度包的平均PSNR的增加值,MSEGOP[1,gop_size+1]为当前调度情况下包含在该视频码流中的该GOP中每个视频帧的平均均方失真MSE,
Figure FSA00000193394400024
为未包含在该视频码流中距离基本层最近的调度包,造成的失真对位于该调度包所在的视频帧时间层之下的各视频帧造成的整体MSE影响。
6.如权利要求4所述的方法,其特征在于,所述调度权重数组的确定保存包括:
确定该GOP包含在该视频码流中的每个视频帧的失真下降值,以每个视频帧作为当前帧时,计算该当前帧对应的漂移误差权重值;
根据每个视频帧对应的漂移误差权重值,确定GOP包含在该视频码流中的每个视频帧对应的调度权重数组;
针对该GOP包含在该视频码流中的每个视频帧,确定该每个视频帧的每个增强层对应的码率-失真数据,并计算每个增强层内每个调度包的码率-失真数据;
根据确定的每个视频帧对应的调度权重数组,及该视频帧每个增强层内每个调度包的码率-失真数据,确定该GOP内每个视频帧的每个调度包对应的调度权重数组,并保存为调度权重数组。
7.如权利要求6所述的方法,其特征在于,以每个视频帧作为当前帧时,计算该当前帧对应的漂移误差权重值包括:
根据
Figure FSA00000193394400031
确定当前帧对应的漂移误差权重值,其中,
Figure FSA00000193394400032
以及分别为当前帧的失真下降值,前向参考帧的失真下降值以及后向参考帧的失真下降值,
Figure FSA00000193394400034
为当当前帧的调度包丢包时,对本视频帧的视频引起的质量下降值,μcurr为当前帧对应的漂移误差权重值。
8.如权利要求6所述的方法,其特征在于,所述计算每个增强层内每个调度包的码率-失真数据包括:
根据
Figure FSA00000193394400035
计算每个增强层内每个调度包的码率-失真数据,其中,Rj为增强层内所有调度包的比特数的和,Mj为获取该增强层内所有调度包时的MSE,Rj-1为增强层的前一层内所有调度包的比特数的和,Mj-1为获取该增强层前一层内所有调度包时的MSE。
9.一种视频资源的调度包的截取装置,其特征在于,该装置包括:
判断模块,用于确定视频码流中每个视频帧包含的字节数,判断所有视频帧包含的字节数的和是否大于目标码流包含的字节数,其中目标码流包含的字节数根据预设的码率以及视频帧的数量信息确定;
确定模块,用于当所有视频帧包含的字节数的和不大于目标码流包含的字节数时,则根据该视频码流中每个视频帧的峰值信噪比PSNR,确定平均PSNR最低的图像组GOP:
截取模块,用于在该GOP中针对未包含在该视频码流中的调度包,选择一个调度包添加到所述GOP中。
10.如权利要求9所述的装置,其特征在于,所述截取模块具体用于,任意选择一个未包含在该视频码流中的调度包,将所述调度包添加到所述GOP中对应的视频帧中;或,
选择一个距离基本层位置最近的未包含在该视频码流中的调度包,将该调度包添加到所述GOP中的对应视频帧。
11.如权利要求10所述的装置,其特征在于,所述截取模块具体用于,任意选择一个距离基本层位置最近的未包含在该视频码流中的调度包;或,
选择一个距离基本层位置最近的,未包含在该视频码流中的,对所述调度包所在的视频帧影响最大的调度包。
12.如权利要求11所述的装置,其特征在于,所述截取模块包括:
第一确定单元,用于针对该GOP的每个视频帧内未包含在该视频码流中,距离基本层最近的调度包,根据该调度包包含的数据量,以及保存的调度权重数组,确定对该调度包所在的视频帧造成的平均均方失真MSE,以及对位于该调度包所在的视频帧时间层之下的各视频帧造成的漂移失真影响;
第二确定单元,用于针对每个调度包,根据平均PSNR增加值,及该调度包包含的数据量,确定该调度包的PSNR增加率,选择PSNR的增加率最大值对应的调度包作为对所述调度包所在的视频帧影响最大的调度包。
13.如权利要求12所述的装置,其特征在于,所述第一确定单元具体用于:
incPSNR i j , k = 10 mean ( log 10 ( MSE GOP [ 1 . . gop _ size + 1 ] ) )
- 10 mean ( log 10 ( MSE GOP [ 1 . . gop _ size + 1 ] - MSE i j , k [ 1 . . gop _ size + 1 ] ) )
根据上述公式确定每个调度包的平均PSNR增加值,其中,
Figure FSA00000193394400043
为每个调度包的平均PSNR的增加值,MSEGOP[1,gop_size+1]为当前调度情况下包含在该视频码流中的该GOP中每个视频帧的平均均方失真MSE,为未包含在该视频码流中距离基本层最近的调度包,造成的失真对位于该调度包所在的视频帧时间层之下的各视频帧造成的整体MSE影响。
14.如权利要求12所述的装置,其特征在于,所述第一确定单元具体用于,确定该GOP包含在该视频码流中的每个视频帧的失真下降值,以每个视频帧作为当前帧时,计算该当前帧对应的漂移误差权重值,根据每个视频帧对应的漂移误差权重值,确定GOP包含在该视频码流中的每个视频帧对应的调度权重数组,针对该GOP包含在该视频码流中的每个视频帧,确定该每个视频帧的每个增强层对应的码率-失真数据,并计算每个增强层内每个调度包的码率-失真数据,根据确定的每个视频帧对应的调度权重数组,及该视频帧每个增强层内每个调度包的码率-失真数据,确定该GOP内每个视频帧的每个调度包对应的调度权重数组,并保存为调度权重数组。
15.如权利要求14所述的装置,其特征在于,所述第一确定单元具体用于,根据
Figure FSA00000193394400051
确定当前帧对应的漂移误差权重值,其中,
Figure FSA00000193394400052
以及
Figure FSA00000193394400053
分别为当前帧的失真下降值,前向参考帧的失真下降值以及后向参考帧的失真下降值,
Figure FSA00000193394400054
为当当前帧的调度包丢包时,对本视频帧的视频引起的质量下降值,μcurr为当前帧对应的漂移误差权重值。
16.如权利要求14所述的装置,其特征在于,所述第一确定单元具体用于,根据
Figure FSA00000193394400055
计算每个增强层内每个调度包的码率-失真数据,其中,Rj为增强层内所有调度包的比特数的和,Mj为获取该增强层内所有调度包时的MSE,Rj-1为增强层的前一层内所有调度包的比特数的和,Mj-1为获取该增强层前一层内所有调度包时的MSE。
CN 201010228538 2010-07-16 2010-07-16 一种视频资源的调度包截取方法及装置 Expired - Fee Related CN102340657B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010228538 CN102340657B (zh) 2010-07-16 2010-07-16 一种视频资源的调度包截取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010228538 CN102340657B (zh) 2010-07-16 2010-07-16 一种视频资源的调度包截取方法及装置

Publications (2)

Publication Number Publication Date
CN102340657A true CN102340657A (zh) 2012-02-01
CN102340657B CN102340657B (zh) 2013-03-20

Family

ID=45516138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010228538 Expired - Fee Related CN102340657B (zh) 2010-07-16 2010-07-16 一种视频资源的调度包截取方法及装置

Country Status (1)

Country Link
CN (1) CN102340657B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104581168A (zh) * 2015-01-09 2015-04-29 中国科学院声学研究所 一种基于视频质量预测的svc视频传输调度方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005039184A1 (en) * 2003-10-20 2005-04-28 Samsung Electronics Co., Ltd. Bit-rate control method and apparatus for normalizing visual quality
CN101102495A (zh) * 2007-07-26 2008-01-09 武汉大学 一种基于区域的视频图像编解码方法和装置
CN101146229A (zh) * 2007-10-29 2008-03-19 北京大学 一种svc视频fgs优先级调度方法
CN101668197A (zh) * 2009-09-18 2010-03-10 浙江大学 一种基于线性模型的可伸缩性视频编码中的码率控制方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005039184A1 (en) * 2003-10-20 2005-04-28 Samsung Electronics Co., Ltd. Bit-rate control method and apparatus for normalizing visual quality
CN101102495A (zh) * 2007-07-26 2008-01-09 武汉大学 一种基于区域的视频图像编解码方法和装置
CN101146229A (zh) * 2007-10-29 2008-03-19 北京大学 一种svc视频fgs优先级调度方法
CN101668197A (zh) * 2009-09-18 2010-03-10 浙江大学 一种基于线性模型的可伸缩性视频编码中的码率控制方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104581168A (zh) * 2015-01-09 2015-04-29 中国科学院声学研究所 一种基于视频质量预测的svc视频传输调度方法
CN104581168B (zh) * 2015-01-09 2017-08-25 中国科学院声学研究所 一种基于视频质量预测的svc视频传输调度方法

Also Published As

Publication number Publication date
CN102340657B (zh) 2013-03-20

Similar Documents

Publication Publication Date Title
JP6703150B2 (ja) ビデオコンテンツの符号化及び配信のための分散アーキテクチャ
CN100558170C (zh) 具有主动式缓存管理和复杂度控制功能的视频解码方法
CN1314272C (zh) 用于视频编码器的预测方法、装置
CN102186084B (zh) 一种可伸缩视频编码svc的空间增强层码率控制实现方法
JP4358215B2 (ja) 動画像符号化装置及びその方法
KR20100037564A (ko) 예측 모드를 이용한 영상 부호화 장치 및 복호화 장치
CN1476727A (zh) 用于生成具有恒定质量的可缩放编码视频比特流的方法
CN101287112B (zh) 一种自适应码率控制方法
CN103281530A (zh) 基于率失真优化的hevc码率控制方法
US20060159166A1 (en) Use of out of order encoding to improve video quality
US20150172680A1 (en) Producing an Output Need Parameter for an Encoder
CN102316313B (zh) 嵌入式实时视频压缩系统中的低复杂度的比特率控制方法
WO2012069879A1 (en) Method for bit rate control within a scalable video coding system and system therefor
CN104954792B (zh) 一种对p帧序列进行主观视频质量优化编码的方法及装置
KR20120096863A (ko) 고효율 비디오 부호화의 계층적 부호화 구조를 위한 비트율 제어 기법
Chen et al. Burst-aware dynamic rate control for H. 264/AVC video streaming
US9094685B2 (en) Efficient coding complexity estimation for video transcoding systems
CN103237210B (zh) 一种视频编码中比特分配的方法及系统
CN102595115B (zh) 一种中粒度质量可伸缩视频编码优化方法、装置及信息终端
CN102340657B (zh) 一种视频资源的调度包截取方法及装置
KR101285654B1 (ko) 메타 데이터와 미디어 데이터가 분리되어 있는 파일 형식의 멀티미디어 컨텐츠를 프로그래시브 다운로드하기 위한 실시간 트랜스코딩 장치
CN102088608B (zh) 一种基于部分重建的可伸缩视频编码质量优化方法
CN101146229B (zh) 一种svc视频fgs优先级调度方法
MX2015007827A (es) Canales digitales robustos.
CN101895461B (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130320

Termination date: 20190716

CF01 Termination of patent right due to non-payment of annual fee