一种倍速播放视频的方法及装置的制造方法_3

文档序号:8286300阅读:来源:国知局
视频帧数与视频解码器的最大解码帧率对应的视频帧数,确定划分视频帧组合片段的基本单位。
[0121]本发明实施例中根据视频播放倍速下每秒需要传输的视频帧数与视频解码器的最大解码帧率对应的视频帧数,确定划分视频帧组合片段的基本单位,可采用如图4B所示的确定方式:
[0122]S2021b:判断视频播放倍速下每秒需要传输的视频帧数,是否达到视频解码器的最大解码帧率对应的视频帧数的设定倍数,若达到,则执行S2022b,否则执行S2023b。
[0123]本发明实施例中判断视频播放倍速下每秒需要传输的视频帧数,是否达到视频解码器的最大解码帧率对应的视频帧数的设定倍数,一般用于判断用户设置的播放倍速为高倍速还是低倍速。该设定倍数可由用户根据实际情况进行设定,例如可将设定倍数设置为8,若视频播放倍速下每秒需要传输的视频帧数,大于视频解码器的最大解码帧率对应的视频帧数的8倍,则可认为是高倍速,若视频播放倍速下每秒需要传输的视频帧数,小于视频解码器的最大解码帧率对应的视频帧数的8倍,则可认为是低倍速。
[0124]S2022b:将播放倍速下每秒需要传输的N个连续的视频帧,作为划分视频帧组合片段的基本单位。
[0125]N为视频播放倍速下每秒需要传输的视频帧数,即N为用户设置的播放倍速与视频原始帧率的乘积得到的数值。例如,用户设置的视频播放倍速为16倍的高倍速,视频原始帧率为30fps,则16倍的播放倍速下,每秒需要传输视频帧数为30*16 = 480帧。
[0126]S2023b:将待播放视频帧中的每一 GOP作为划分视频帧组合片段的基本单位。
[0127]S203:按照所述划分视频帧组合片段的基本单位,将待播放视频中各视频帧组成的视频帧序列划分为至少一个视频帧组合片段。
[0128]本发明实施例中对应视频解码器的最大解码帧率是否满足视频播放倍速的要求,也相应有不同的视频帧选择方式,图5所示为本发明实施例提供的在划分得到的各视频帧组合片段中按照固定帧间间隔分别选择视频帧,得到视频帧集合的实现方法流程图,如图5所示,包括:
[0129]S301:判断视频解码器的最大解码帧率是否满足视频播放倍速要求。
[0130]S302:判断倍速播放类型是快退播放还是快进播放。
[0131]需要说明的是,本发明实施例并不限定S301和S302的执行先后顺序,例如可先执行S301,再执行S302,也可先执行S302,再执行S301。
[0132]本发明实施例中若倍速播放为快进播放,且视频解码器的最大解码帧率满足视频播放倍速要求,则执行S303a,若倍速播放为快退播放,且视频解码器的最大解码帧率满足视频播放倍速要求,则执行S304a。
[0133]S303a:在视频解码器的最大解码帧率满足视频播放倍速要求、且倍速播放为快进播放的情况下,将每个视频帧组合片段中的一个视频帧作为视频帧集合中的视频帧,以得到视频帧集合。
[0134]S304a:在视频解码器的最大解码帧率满足视频播放倍速要求、且倍速播放为快退播放的情况下,根据反向解码顺序以及用于存储视频解码器输出的视频帧的显示缓冲存储空间大小,在划分得到的每个视频帧组合片段中按照固定的帧间间隔分别选择至少一个视频帧,以得到视频帧集合。
[0135]本发明实施例中所述反向解码顺序为各GOP间按照从后向前的顺序解码,GOP内部按照播放顺序解码。
[0136]本发明实施例中若倍速播放为快进播放,且视频解码器的最大解码帧率不满足视频播放倍速要求,则执行S303b,若若倍速播放为快退播放,且视频解码器的最大解码帧率不满足视频播放倍速要求,则执行S304b。
[0137]S303b:在视频解码器的最大解码帧率不满足视频播放倍速要求、且倍速播放为快进播放的情况下,在划分得到的每个视频帧组合片段中按照固定的帧间间隔分别选择至少一个视频帧,以得到视频帧数为视频解码器的最大解码帧率对应帧数的视频帧集合。
[0138]S304b:在视频解码器的最大解码帧率不满足视频播放倍速要求、且倍速播放为快退播放的情况下,根据反向解码顺序以及用于存储视频解码器输出的视频帧的显示缓冲存储空间大小,在划分得到的每个视频帧组合片段中按照固定的帧间间隔分别选择至少一个视频帧,以得到视频帧集合。
[0139]本发明实施例中所述反向解码顺序为各GOP间按照从后向前的顺序解码,GOP内部按照播放顺序解码。
[0140]在快退播放的情况下,需要以GOP为单位反序输出,故即使视频解码器对应于待播放视频的最大解码帧率满足用户设置的视频播放倍速要求,由于存储视频解码器输出的视频帧的显示缓冲存储空间大小是有限的,存储视频帧的显示缓冲存储空间也有可能不能将每一 GOP中的待播放的视频帧序列全部存储,故本发明实施例中为了保证视频快退倍速播放的正常进行,在保证按照反向解码顺序选择视频帧的基础上,还需考虑存储视频解码器输出的视频帧的显示缓冲存储空间大小。
[0141]本发明实施例中根据反向解码顺序以及用于存储视频解码器输出的视频帧的显示缓冲存储空间大小,在划分得到的每个视频帧组合片段中按照固定的帧间间隔分别选择至少一个视频帧,以得到视频帧集合可采用如图6所示的实现方式,如图6所示,包括:
[0142]S3041:判断用于存储视频解码器输出的视频帧的显示缓冲存储空间是否能将每一 GOP中的视频帧全部存储,若显示缓冲存储空间能够将每一 GOP中的视频帧全部存储,则执行S3042,否则执行S3043。
[0143]S3042:在所述显示缓冲存储空间能够将每一 GOP中的视频帧全部存储的情况下,在划分得到的每个视频帧组合片段中选择全部视频帧以得到视频帧集合。
[0144]S3043:在所述显示缓冲存储空间不能将每一 GOP中的视频帧全部存储的情况下,在划分得到的每个视频帧组合片段中,按照固定的帧间间隔选择视频帧以得到视频帧集合,得到的视频帧集合中的视频帧的帧数为所述显示缓冲存储空间能够存储的视频帧数。
[0145]当然,本发明实施例中为保证视频帧的正确解码,在视频帧的显示缓冲存储空间不能将每一 GOP中的待播放的视频帧序列全部存储的情况下,也可在满足选择出的视频帧解码参考关系完整的要求的前提下,选择出帧间间隔较均匀的视频帧,作为视频帧集合;也可选择出每一 GOP中的所有视频帧作为视频帧集合,添加显示控制信息,在进行视频显示输出时,保证每一 GOP中显示输出的帧数不超过显示缓冲存储空间的帧数,丢弃一些视频帧,间隔均匀的显示输出视频帧。
[0146]由于不同帧类型的码流解码规则在不同的视频协议中不尽相同,例如对于I帧码流的解码不需要依赖其他帧的码流,P帧码流的解码需要参考在时间顺序上之前的帧,B帧码流解码需要参考在时间顺序上之前和之后的帧。如果当前待解码的视频帧的参考关系不完整,即需要参考的视频帧对应的视频码流缺失或错误,都会导致当前视频帧解码出现错误或解码失败,故本发明实施例中为保证视频解码器能够对挑选出的视频帧集合中的各视频帧进行正确的解码,则需要在各视频帧组合片段中选择出解码参考关系完整的视频帧,本发明实施例中选择解码参考关系完整的视频帧是指该需要被解码的视频帧以及解码该视频帧需要参考的其他帧都被选择。
[0147]本发明实施例中为实现选择的视频帧集合中的各视频帧的参考关系完整,即保证视频帧集合中的各视频帧都能正确解码,可在得到视频帧以后在视频帧集合中确定不能被解码的视频帧,在不能被解码的视频帧所在的视频帧组合片段中,选择所述不能被解码的视频帧的参考视频帧;将所述参考视频帧加入到所述视频帧集合中。
[0148]本发明实施例中涉及的参考视频帧即指解码某一视频帧时需要参考的视频帧,故不能被解码的视频帧的参考视频帧即指该不能被解码的视频帧能够被解码时所需要参考的视频帧。
[0149]本发明实施例中为实现选择的视频帧集合中的各视频帧的参考关系完整,并能尽量实现选择的各视频帧之间间隔均匀保留大部分场景的目的,可采用如图7所示的视频帧选择方法,如图7所示,包括:
[0150]S501:在划分得到的每一视频帧组合片段中,按照固定的帧间间隔,进行视频帧的初始选择,得到初始选择的视频帧。
[0151]S502:根据初始选择的视频帧的帧类型,判断初始选择的视频帧是否能被解码。若初始选择的视频帧能被解码,则进行S503a,若初始选择的视频帧不能被解码,则进行S503bo
[0152]S503a:将所述初始选择的视频帧作为视频帧集合中的视频帧以得到视频帧集合。
[0153]S503b:在所述初始选择的视频帧所在的视频帧组合片段中,选择所述初始选择的视频帧的参考视频帧,并将所述参考视频帧以及所述初始选择的视频帧作为视频帧集合中的视频帧以得到视频帧集合。
[0154]本发明实施例上述提供的视频帧挑选方法,在每一视频帧组合片段中先按照固定帧间隔选择视频帧,实现视频帧间的间隔均匀,为了保证正确解码,在当前视频帧组合片段中选择的视频帧不能被解码的情况下,在不能被解码的视频帧所在的视频帧组合片段中,选择所述不能被解码的视频帧的参考视频帧,并将所述参考视频帧加入到所述视频帧集合中,实现选择的视频帧集合中的各视频帧的参考关系完整,并能尽量实现选择的各视频帧之间间隔均匀保留大部分场景,实现平滑均匀的播放效果。
[0155]本发明实施例提供的上述实施例,可根据用户设置的视频播放倍速、视频解码器对应待播放视频的最大解码帧率,以及用户设置的倍速播放类型是快进播放还是快退播放,选择相应的视频帧选择方法。
[0156]例如,用户设置的视频播放倍速为16倍的高倍速,视频原始帧率为30fps,则16倍的视频播放倍速下,每秒需要传输视频帧数为30*16 = 480帧,故可将每秒传输的视频帧数480帧作为视频帧组合片段。视频解码器对应于待播放视频的最大解码帧率为60fps,则进行快进倍速播放的视频帧选择的过程中,则需要从480帧中较均匀地挑选出来60帧的视频帧作为视频帧集合中的视频帧,当然,本发明实施例中也需在满足解码参考关系完整的选择方式进行选择,得到帧间间隔较均匀的倍速播放的视频帧。对于快退倍速播放的视频帧选择的过程中,选择方式类似,但是需要保证GOP内部视频帧按照播放时间顺序、各GOP间按照播放时间从后向前的反向解码顺序,按照固定帧间间隔选择视频帧以得到视频帧集入口 ο
[0157]例如用户设置的视频播放倍速为2倍的低倍速,视频原始帧率为30fps,则2倍的视频播放倍速下,每秒需要传输视频帧数为30*2 = 60帧,视频解码器对应于待播放视频的最大解码帧率为30fps,则进行快进倍速播放的视频帧选择的过程中,则可从每个GOP中较均匀地挑选出来一半的视频帧作为视频集合中的视频帧,当然,本发明实施例中也需在满足解码参考关系完整的选择方式进行选择,得到帧间间隔较均匀的倍速播放的视频帧。对于快退倍速播放的视频帧选择的过程中,选择方式类似,但是需要从每一 GOP中内部视频帧按照播放时间顺序、各GOP间按照播放时间从后向前的反向解码顺序,按照固定帧间间隔选择视频帧以得到视频帧集合。
[0158]本发明实施例以下将结合实际应用对上述实施例中根据用户设置的视频播放倍速以及视频解码器对应于待播放视频的最大解码帧率,选择视频帧,得到视频帧集合的过程进行举例说明。
[0159]一、视频解码器对应于待播放视频的最大解码帧率满足用户设置的视频播放倍速要求
[0160]A、倍速播放为快进播放
[0161 ] 将待播放的视频帧序列中的全部视频帧,作为视频帧集合。
[0162]B、倍速播放为快退播放
[0163]由于快退播放过程中,不能将待播放的视频帧序列中的全部视频帧对应的视频码流解码完毕后再反序输出,故需要以每一 GOP为单位,GOP内部视频帧按照播放时间顺序、各GOP间按照播放时间从后向前的顺序,根据视频帧的显示缓冲存储空间,选择倍速播放的视频帧,得到视频帧集合。
[0164]图8所示为快退倍速播放情况下选择倍速播放的视频帧以及反序输出的示意图,图8中以视频帧的显不缓冲存储空间能够将每一 GOP中的待播放的视频帧序列全部存储的情况下,将待播放的视频帧序列中的全部视频帧,作为视频帧集合为例进行说明,视频帧的播放时间顺序为GOP (O)、GOP (I)、GOP (η)和GOP (η+1),快退倍速播放情况下选择倍速播放的视频帧时,以GOP为单位,依次选择GOP (n+1)、GOP (η)、GOP (I)和GOP (O)中的视频帧,视频解码器将每一个GOP中的视频帧对应的视频码流正常解码出来后,按照反向播放时间顺序显示输出解码得到的视频帧。
[0165]本发明实施例中若视频帧的显示缓冲存储空间不能够将每一 GOP中的待播放的视频帧序列全部存储,以图8中待播放视频为例,若GOP
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1