CN104717509B - 一种视频解码方法及装置 - Google Patents
一种视频解码方法及装置 Download PDFInfo
- Publication number
- CN104717509B CN104717509B CN201510150300.2A CN201510150300A CN104717509B CN 104717509 B CN104717509 B CN 104717509B CN 201510150300 A CN201510150300 A CN 201510150300A CN 104717509 B CN104717509 B CN 104717509B
- Authority
- CN
- China
- Prior art keywords
- decoding
- frame
- current video
- video frame
- decoded
- 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
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例提供一种视频解码方法及装置,方法包括:获得当前视频帧的帧类型;根据当前视频帧前N帧中每一帧的解码周期,计算当前视频帧前N帧的平均解码周期T;判断所述平均解码周期T是否大于预设的平均解码周期阈值,如果是,则进一步根据当前视频帧的帧类型确定是否对当前视频帧解码,如果否,则直接确定对当前视频帧解码;在判断得对当前视频帧进行解码的情况下,获得当前视频帧前一帧的解码时间t;判断所述解码时间t是否大于预设的解码时间阈值,如果是,则以简化后的视频流中设置的解码算法对当前视频帧进行解码,如果否,则以视频流中设置的解码算法对当前视频帧进行解码。应用本发明实施例,能够有效地提高智能终端的视频解码速度。
Description
技术领域
本发明涉及视频编解码技术领域,特别是涉及一种视频解码方法及装置。
背景技术
随着多媒体技术的发展,用户可以通过各种智能终端观看自己所需要的视频。然而,在视频播放过程中,当视频解码器的解码能力不足时,会造成视频解码速度下降,进而用户常会遇到视频图像还没有显示出来但是与该视频图像对应的声音却已经播放出来了的情形,即视频图像滞后于声音,影响用户正常观看视频,用户体验差。
发明内容
本发明实施例的目的在于提供一种视频解码方法及装置,以提高智能终端的视频解码速度。
为达到上述目的,本发明实施例公开了一种视频解码方法,包括步骤:
获得当前视频帧的帧类型;
根据当前视频帧前N帧中每一帧的解码周期,计算当前视频帧前N帧的平均解码周期T,其中,所述平均解码周期T用于表示当前播放压力状态;
判断所述平均解码周期T是否大于预设的解码周期阈值,如果是,则进一步根据当前视频帧的帧类型确定是否对当前视频帧解码,如果否,则直接确定对当前视频帧解码;
在判断得对当前视频帧进行解码的情况下,获得当前视频帧前一帧的解码时间t,其中,所述解码时间t用于表示当前解码压力状态;判断所述解码时间t是否大于预设的解码时间阈值,如果是,则以简化后的视频流中设置的解码算法对当前视频帧进行解码,如果否,则以视频流中设置的解码算法对当前视频帧进行解码。
较佳的,所述根据当前视频帧的帧类型确定是否对当前视频帧解码,包括:
在T>解码周期第一阈值的情况下,判断当前视频帧的帧类型是否为非参考帧,如果是,则不对当前视频帧解码,如果否,则直接确定对当前视频帧解码。
较佳的,所述根据当前视频帧的帧类型确定是否对当前视频帧解码,包括:
在解码周期第二阈值<T≤解码周期第三阈值情况下,根据当前视频帧的帧类型,判断是否对当前视频帧进行解码:若当前视频帧为非参考帧,则不对当前视频帧进行解码,若当前视频帧为参考帧,则直接确定对当前视频帧解码;
在T>解码周期第三阈值的情况下,根据当前视频帧的帧类型,判断是否对当前视频帧进行解码:若当前视频帧为非关键帧,则不对当前视频帧进行解码,若当前视频帧为关键帧,则直接确定对当前视频帧解码。
较佳的,所述以简化后的视频流中设置的解码算法对当前视频帧进行解码,包括:
当解码时间第一阈值<t≤解码时间第二阈值时,以简化后的视频流中设置的解码算法对当前视频帧的色度分量进行解码;
当t>解码时间第二阈值时,以简化后的视频流中设置的解码算法对当前视频帧的色度分量和亮度分量进行解码。
较佳的,所述简化后的视频流中设置的解码算法为以下算法中的一种或者几种:
在所述视频流中设置的解码算法的基础上,省略环路滤波处理后,得到的解码算法;
在所述视频流中设置的解码算法的基础上,省略采样点自适应偏移后,得到的解码算法;
在所述视频流中设置的解码算法的基础上,省略子像素插值后,得到的解码算法。
为达到上述目的,本发明实施例公开了一种视频解码装置,包括:
帧类型获得模块,用于获得当前视频帧的帧类型;
平均解码周期计算模块,用于根据当前视频帧前N帧中每一帧的解码周期,计算当前视频帧前N帧的平均解码周期T,其中,所述平均解码周期T用于表示当前播放压力状态;
视频帧解码判断模块,用于判断所述平均解码周期T是否大于预设的解码周期阈值,如果是,则进一步根据当前视频帧的帧类型确定是否对当前视频帧解码,如果否,则直接确定对当前视频帧解码;
解码时间获得模块,用于在视频帧解码判断模块判断得对当前视频帧进行解码的情况下,获得当前视频帧前一帧的解码时间t,其中,所述解码时间t用于表示当前解码压力状态;
视频帧解码模块,用于判断所述解码时间t是否大于预设的解码时间阈值,如果是,则以简化后的视频流中设置的解码算法对当前视频帧进行解码,如果否,则以视频流中设置的解码算法对当前视频帧进行解码。
较佳的,所述视频帧解码判断模块,具体用于:
在T>解码周期第一阈值的情况下,判断当前视频帧的帧类型是否为非参考帧,如果是,则不对当前视频帧解码,如果否,则直接确定对当前视频帧解码。
较佳的,所述视频帧解码判断模块,具体用于:
在解码周期第二阈值<T≤解码周期第三阈值情况下,根据当前视频帧的帧类型,判断是否对当前视频帧进行解码:若当前视频帧为非参考帧,则不对当前视频帧进行解码;若当前视频帧为参考帧,则直接确定对当前视频帧解码;
在T>解码周期第三阈值的情况下,根据当前视频帧的帧类型,判断是否对当前视频帧进行解码:若当前视频帧为非关键帧,则不对当前视频帧进行解码,若当前视频帧为关键帧,则直接确定对当前视频帧解码。
较佳的,所述视频帧解码模块,具体用于:
当解码时间第一阈值<t≤解码时间第二阈值时,以简化后的视频流中设置的解码算法对当前视频帧的色度分量进行解码;
当t>解码时间第二阈值时,以简化后的视频流中设置的解码算法对当前视频帧的色度分量和亮度分量进行解码。
较佳的,所述简化后的视频流中设置的解码算法为以下算法中的一种或者几种:
在所述视频流中设置的解码算法的基础上,省略环路滤波处理后,得到的解码算法;
在所述视频流中设置的解码算法的基础上,省略采样点自适应偏移后,得到的解码算法;
在所述视频流中设置的解码算法的基础上,省略子像素插值后,得到的解码算法。
本发明实施例提供一种视频解码方法及装置。一方面,当视频播放压力大时丢弃一定的视频数据,减少需要解码的视频数据,能够减少整体解码时间,提高整体解码速度;另一方面,当视频解码压力大时采用简化后的解码算法对当前视频帧进行解码,能够减少对当前视频帧解码所需要的运算量,减少当前视频帧的解码时间,提高整体解码速度。这样可以降低智能终端的播放压力和解码压力,能够有效地提高智能终端的视频解码速度,避免视频图像滞后于声音的缺陷。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种视频解码方法的流程示意图;
图2为解码器功能框图;
图3为本发明实施例提供的一种视频解码装置的结构示意图;
图4为本发明中解码周期与解码时间的关系示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,用户可通过观看视频获得大量所需要的信息,享受科技进步带来的便利性。但是,在用户观看视频时会遇到视频图像滞后于声音的问题,这样会影响用户的视觉体验。现有技术中提供的一种解决上述问题的方法:在视频解码过程中,当由于解码压力大而造成视频解码速度慢时,智能终端丢弃一定的视频数据,即对一定视频数据不予解码。然而,采用上述方法固然可以解决视频图像滞后于声音的问题,但是,丢弃视频数据会导致视频不连贯,用户会感到播放过程中存在卡顿现象,同样不能让用户获得好的观看体验。
针对上述情况,本发明实施例提供了一种视频解码方法及装置,其中,上述方法包括:获得当前视频帧的帧类型;根据当前视频帧前N帧中每一帧的解码周期,计算当前视频帧前N帧的平均解码周期T;判断所述平均解码周期T是否大于预设的解码周期阈值,如果是,则进一步根据当前视频帧的帧类型确定是否对当前视频帧解码,如果否,则直接确定对当前视频帧解码;在判断得对当前视频帧进行解码的情况下,获得当前视频帧前一帧的解码时间t;判断所述解码时间t是否大于预设的解码时间阈值,如果是,则以简化后的视频流中设置的解码算法对当前视频帧进行解码,如果否,则以视频流中设置的解码算法对当前视频帧进行解码。
基于上述方法可知,应用本发明实施例提供的方法能够在播放压力大的时候,丢弃一定的视频数据,不对这部分视频数据进行解码,减少解码的视频数据,降低解码压力,提高解码速度。当视频解码压力大的时候,可以采用简化后的视频流中设置的解码算法,这样能够减少解码每一个视频帧所需要的运算量,也能够降低解码压力,提高解码速度。
需要说明的是,本发明以下各个实施例中所涉及到的关键帧可以理解为I帧、非关键帧可以理解为P帧或B帧、参考帧可以理解为I帧或P帧、非参考帧可以理解为B帧。
下面通过具体实施例,对发明内容进行详细说明。
图1为本发明实施例提供的一种视频解码方法的流程示意图,包括如下步骤:
步骤S101:获得当前视频帧的帧类型。
步骤S102:根据当前视频帧前N帧中每一帧的解码周期,计算当前视频帧前N帧的平均解码周期T。
需要说明的是,解码周期为视频流中相邻两个连续视频帧解码开始时间点之间的时间间隔,如图4所示,第1帧解码开始点A与第2帧解码开始点B之间的时间间隔AB即为第一帧的解码周期。
其中,平均解码周期T用于表示当前播放压力状态。
可以理解的,平均解码周期T可以用来表明当前播放压力所处的状态,当T大于某预设阈值时表明此时智能终端所处的解码能力不足导致播放延迟,播放压力大,反之播放压力小。
步骤S103:判断平均解码周期T是否大于预设的解码周期阈值,如果是,执行步骤S104;如果否,执行步骤S105。
其中,预设的解码周期阈值为:
预设的第一时间值,或,与视频文件中所包含的视频帧率f的倒数成正比例关系的第二时间值。
将视频帧率f的倒数表示为帧率时间间隔S,一种具体实现方式中,预设的解码周期阈值可以表示为S*x%,仅用S*x%所表示的时间值来衡量平均解码周期T所代表的播放压力状态。
步骤S104:进一步根据当前视频帧的帧类型确定是否对当前视频帧解码。
在本发明的一种可选实施例中,本步骤可以根据以下方式确定是否对当前视频帧解码:
在T>解码周期第一阈值的情况下,判断当前视频帧的帧类型是否为非参考帧,如果是,则不对当前视频帧解码,如果否,则直接确定对当前视频帧解码。
优选的,解码周期第一阈值可以为S*a%,其中,a=100。当然,这里不对a的具体值做限定,a还可以为120或90等等。具体的,如果T<S*100%,则直接确定对当前视频帧进行解码处理;如果T>S*100%,需要进一步判断当前视频帧的帧类型是否为非参考帧,如果是非参考帧,则不对当前视频帧进行解码处理,如果不是非参考帧,则确定对当前视频帧进行解码处理。
在本发明的另一种可选实施例中,本步骤还可以根据以下方式确定是否对当前视频帧解码:
在解码周期第二阈值<T≤解码周期第三阈值情况下,根据当前视频帧的帧类型,判断是否对当前视频帧进行解码:若当前视频帧为非参考帧,则不对当前视频帧进行解码,若当前视频帧为参考帧,则直接确定对当前视频帧解码;
在T>解码周期第三阈值的情况下,根据当前视频帧的帧类型,判断是否对当前视频帧进行解码:若当前视频帧为非关键帧,则不对当前视频帧进行解码,若当前视频帧为关键帧,则直接确定对当前视频帧解码。
优选的,解码周期第二阈值为S*b%,解码周期第三阈值为S*c%,其中,b=100,c=150。当然,这里不对b或c的具体值做限定,b还可以为90或110等等,c可以为140或160等。需要注意的是,设置恰当的b和c的值,应该能够准确反映当前的播放压力状态,并且应满足b<c。
下面通过几个具体实例对步骤S104进行说明:
实例一:假设,解码周期第一阈值为S*a%,其中,a=150,当前视频帧的为B帧。
在T>S*150%的情况下,根据当前视频帧的帧类型,判断是否对当前视频帧进行解码:由于当前视频帧为B帧,属于非参考帧,则不对当前视频帧进行解码。
实例二:假设,解码周期第二阈值为S*b%,解码周期第三阈值为S*c%,其中,b=100,c=150,当前视频帧的为B帧。
在S*100%<T≤S*150%的情况下,根据当前视频帧的帧类型,判断是否对当前视频帧进行解码:由于当前视频帧为B帧,属于非参考帧,则不对当前视频帧进行解码。
实例三:假设,解码周期第二阈值为S*b%,解码周期第三阈值为S*c%,其中,b=100,c=150,当前视频帧的为P帧。
在T>S*150%的情况下,根据当前视频帧的帧类型,判断是否对当前视频帧进行解码:由于当前视频帧为P帧,属于非关键帧,不对当前视频帧进行解码。
由上述步骤的可选方案可知,根据平均解码周期T与预设的解码周期阈值的关系可知智能终端当前的播放压力大小,当播放压力大时,结合当前视频帧的帧类型,及时做出不对当前视频帧进行解码的决策,丢弃当前视频帧的视频数据,很显然,能够降低当前的解码压力。
步骤S105:直接确定对当前视频帧解码。
步骤S106:在判断得对当前视频帧进行解码的情况下,获得当前视频帧前一帧的解码时间t。
需要说明的是,解码时间为视频流中对当前视频帧进行解码时从解码开始到解码结束的消耗时间,解码时间不大于解码周期,如图4所示,时间点C与时间点D之间的时间间隔CD即为第3帧的解码时间。
其中,所述解码时间t用于表示当前解码压力状态。
可以理解的,解码时间t可以用来表明智能终端当前的解码压力状态,当t大于某预设阈值时表明此时智能终端的解码能力不足,解码压力大,反之,解码压力小。
步骤S107:判断解码时间t是否大于预设的解码时间阈值,如果是,执行步骤S108;如果否,执行步骤S109。
其中,预设的解码时间阈值为:
预设的第三时间值,或,与视频文件中所包含的视频帧率f的倒数成正比例关系的第四时间值。
将视频帧率f的倒数表示为帧率时间间隔S,一种具体实现方式中,预设的解码时间阈值可以表示为S*y%,仅用S*y%所表示的时间值来衡量解码时间t所代表的解码压力状态。
步骤S108:以简化后的视频流中设置的解码算法对当前视频帧进行解码。
其中,简化后的视频流中设置的解码算法可以为以下算法中的一种或几种:在视频流中设置的解码算法的基础上,省略环路滤波处理后,得到的解码算法;在视频流中设置的解码算法的基础上,省略采样点自适应偏移后,得到的解码算法;在视频流中设置的解码算法的基础上,省略子像素插值后,得到的解码算法。
当然,本申请只是以上述为例进行说明,实际应用中简化后的视频流中设置的解码算法不仅限于上述几种。
下面通过几种具体实现方式对步骤S108进行说明。
方式一:
当t>解码时间第一阈值时,以简化后的视频流中设置的解码算法对当前视频帧的色度分量进行解码。
优选的,解码时间第一阈值为S*d%,其中,d=120。当然,这里不对d的具体值做限定,d还可以为110或130等等。具体的,如果t≤S*120%,则以视频流中设置的解码算法对当前视频帧进行解码;如果t>S*120%,则以简化后的视频流中设置的解码算法对当前视频帧的色度分量进行解码。
方式二:
当解码时间第二阈值<t≤解码时间第三阈值时,以简化后的视频流中设置的解码算法对当前视频帧的色度分量进行解码;当t>解码时间第三阈值时,以简化后的视频流中设置的解码算法对当前视频帧的色度分量和亮度分量进行解码。
或者,当t>解码时间第三阈值时,以简化后的视频流中设置的解码算法对当前视频帧的色度分量进行解码。
优选的,解码时间第二阈值可以为S*e%,解码时间第三阈值可以为S*f%,其中,e=80,f=120。当然,这里不对e和f的具体值做限定,e还可以为70或90等等,f还可以为110或130等等。需要注意的是,设置恰当的d和e的值,应该能够准确反映当前的解码压力状态,并且应满足d<e。
下面通过几个具体实例对步骤S108进行说明:
实例一:
如果S*80%<t≤S*120%,则以简化后的视频流中设置的解码算法对当前视频帧的色度分量进行解码;如果t>S*120%,则以简化后的视频流中设置的解码算法对当前视频帧的色度分量和亮度分量进行解码。
实例二:
解码时间第三阈值可以为S*g%,其中,g=80。当然,这里不对g的具体指做限定,g还可以为70或90等等。具体的,如果t>S*80%,则以简化后的视频流中设置的解码算法对当前视频帧的色度分量进行解码。
由上述步骤的可选方案可知,根据解码时间t与预设的解码时间阈值的关系可知智能终端当前的解码压力大小,当解码压力大时,结合当前视频帧的帧类型,及时做出不对当前视频帧进行解码的决策,丢弃当前视频帧的视频数据,很显然,能够降低当前的解码压力。
步骤S109:以视频流中设置的解码算法对当前视频帧进行解码。
为了能够完整清楚地理解本发明方案,下面以一个具体的例子来说明本发明提供的方法:
假设:解码周期第二阈值为S*100%,解码周期第三阈值为S*150%,解码时间第二阈值为S*80%,解码时间第三阈值为S*120%,预设的解码时间阈值为S*90%。
步骤S101:获得当前视频帧的帧类型,为P帧。
步骤S102:根据当前视频帧前N帧中每一帧的解码周期,计算当前视频帧前N帧的平均解码周期T为S*130%。
步骤S103:判断平均解码周期T大于S*100%,因此,执行步骤S104。
步骤S104:进一步根据当前视频帧的帧类型确定是否解码,S*100%<T≤S*150%,并且当前视频帧为参考帧P帧,因此直接确定对当前视频帧解码。
步骤S106:在判断得对当前视频帧解码的情况下,获得当前视频帧前一帧的解码时间t为S*110%。
步骤S107:判断解码时间t大于S*90%,此处,S*80%<t≤S*120%,判断得:执行步骤S108。
步骤S108:由于S*80%<t≤S*120%,因此,以简化后的视频流中设置的解码算法对当前视频帧的色度分量进行解码。
基于上述情况,本发明实施例提供的方法能够根据平均解码周期判断出当前视频播放过程中的播放压力,根据播放压力状态及时做出是否对当前视频帧解码的决策,当播放压力大的时候,不对当前视频帧进行解码;当判断得对当前视频帧解码的情况下,再根据解码时间判断当前的视频解码压力,根据解码压力状态及时做出是否对当前视频帧以简化后的视频流中设置的解码算法进行解码。总而言之,通过本发明实施例提供的方法能够降低当前视频的解码压力,尽量减少不对当前视频帧解码而造成的数据丢失,保证视频播放过程中的连贯性,最重要的,保证视频图像与声音的同步,避免了视频播放过程中的卡顿问题。
为了能够更加清楚地说明简化后的视频流中设置的解码算法能够提高解码速度的原因,需要先简单介绍一下通常的视频解码过程。由图2解码器功能框图可见,在视频解码过程中,编码器输出的码流,需要进行熵解码201、重排序202、反量化203、反变换204处理,参考图像207经过运动估计205、帧内预测206处理,最后还需要经滤波器208滤波,得到重建图像209,这个重建图像就是最后解码输出图像。
在视频的解码过程中需要经过大量的运算才能够得到重建图像,即最后解码器输出的图像。滤波器208的环路滤波的运算量非常大,如果在对当前视频帧进行解码时,省去滤波器208的环路滤波环节,能够大大减少解码过程中的运算量,降低视频解码时间;运动估计206中通常会进行子像素插值,例如,1/2像素插值、1/4像素插值,同样,对视频帧图像进行子像素差值的过程运算量也是非常大的,如果运动估计205过程只保留整像素点的信息而不进行子像素插值,便会减少很多的运算量,减少视频解码时间。最主要的是,基于人眼的视觉特性,人眼对于省去一帧视频帧环路滤波环节或者省去子像素插值环节解码的视频几乎是无法察觉的,对人眼观看效果影响较小。
因此,采用简化后的视频流中设置的解码算法对当前视频进行解码,能够降低解码压力,提高解码速度。由上述可选方案得知,根据解码时间t与预设的解码时间阈值的关系可知智能终端当前的解码压力大小,当解码压力大时,以简化后的视频流中设置的解码算法对当前视频帧进行解码,由于对视频流中设置的解码算法的简化,降低了解码过程中的运算量,降低当前的解码压力,避免视频图像滞后于声音。
图3为本发明实施例提供的一种视频解码装置的结构示意图。该装置包括帧类型获得模块301、平均解码周期计算模块302、视频帧解码判断模块303、解码时间获得模块304、视频帧解码模块305。
其中,帧类型获得模块301,用于获得当前视频帧的帧类型。
平均解码周期计算模块302,用于根据当前视频帧前N帧中每一帧的解码周期,计算当前视频帧前N帧的平均解码周期T。
需要说明的是,解码周期为视频流中相邻两个连续视频帧解码开始时间点之间的时间间隔,如图4所示,第1帧解码开始点A与第2帧解码开始点B之间的时间间隔AB即为第一帧的解码周期。
其中,所述平均解码周期T用于表示当前播放压力状态。
视频帧解码判断模块303,用于判断所述平均解码周期T是否大于预设的解码周期阈值,如果是,则进一步根据当前视频帧的帧类型确定是否对当前视频帧解码,如果否,则直接确定对当前视频帧解码。
解码时间获得模块304,用于在视频帧解码判断模块判断得对当前视频帧进行解码的情况下,获得当前视频帧前一帧的解码时间t。
需要说明的是,解码周期为视频流中相邻两个连续视频帧解码开始时间点之间的时间间隔,解码时间不大于解码周期,如图4所示,第1帧解码开始点A与第2帧解码开始点B之间的时间间隔AB即为第一帧的解码周期。
其中,所述解码时间t用于表示当前解码压力状态。
视频帧解码模块305,用于判断所述解码时间t是否大于预设的解码时间阈值,如果是,则以简化后的视频流中设置的解码算法对当前视频帧进行解码,如果否,则以视频流中设置的解码算法对当前视频帧进行解码。
在本发明实施例中,视频帧解码判断模块303有如下两种可选的实施方式:
可选方式一:在T>解码周期第一阈值的情况下,判断当前视频帧的帧类型是否为非参考帧,如果是,则不对当前视频帧解码,如果否,则直接确定对当前视频帧解码。
可选方式二:在解码周期第二阈值<T≤解码周期第三阈值情况下,根据当前视频帧的帧类型,判断是否对当前视频帧进行解码:若当前视频帧为非参考帧,则不对当前视频帧进行解码;若当前视频帧为参考帧,则直接确定对当前视频帧解码;在T>解码周期第三阈值的情况下,根据当前视频帧的帧类型,判断是否对当前视频帧进行解码:若当前视频帧为非关键帧,则不对当前视频帧进行解码,若当前视频帧为关键帧,则直接确定对当前视频帧解码。
在本发明实施例中,视频帧解码模块305一种可能的实施方式如下:
可选的,当解码时间第一阈值<t≤解码时间第二阈值时,以简化后的视频流中设置的解码算法对当前视频帧的色度分量进行解码;当t>解码时间第二阈值时,以简化后的视频流中设置的解码算法对当前视频帧的色度分量和亮度分量进行解码。
另外,简化后的视频流中设置的解码算法为以下算法中的一种或者几种:在所述视频流中设置的解码算法的基础上,省略环路滤波处理后,得到的解码算法;在所述视频流中设置的解码算法的基础上,省略采样点自适应偏移后,得到的解码算法;在所述视频流中设置的解码算法的基础上,省略子像素插值后,得到的解码算法。
通过本发明实施例提供的装置能够降低当前视频的解码压力,尽量减少不对当前视频帧解码而造成的数据丢失,保证视频播放过程中的连贯性,最重要的,保证视频图像与声音的同步,避免了视频播放过程中的卡顿问题。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关支出参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种视频解码方法,其特征在于,所述方法包括:
获得当前视频帧的帧类型;
根据当前视频帧前N帧中每一帧的解码周期,计算当前视频帧前N帧的平均解码周期T,其中,所述平均解码周期T用于表示当前播放压力状态;
判断所述平均解码周期T是否大于预设的解码周期阈值,如果是,则进一步根据当前视频帧的帧类型确定是否对当前视频帧解码,如果所述平均解码周期T不大于预设的解码周期阈值,则直接确定对当前视频帧解码;
在判断得对当前视频帧进行解码的情况下,获得当前视频帧前一帧的解码时间t,其中,所述解码时间t用于表示当前解码压力状态;判断所述解码时间t是否大于预设的解码时间阈值,如果是,则以简化后的视频流中设置的解码算法对当前视频帧进行解码,如果否,则以视频流中设置的解码算法对当前视频帧进行解码。
2.根据权利要求1所述的方法,其特征在于,所述根据当前视频帧的帧类型确定是否对当前视频帧解码,包括:
在T>解码周期第一阈值的情况下,判断当前视频帧的帧类型是否为非参考帧,如果是,则不对当前视频帧解码,如果否,则直接确定对当前视频帧解码。
3.根据权利要求1所述的方法,其特征在于,所述根据当前视频帧的帧类型确定是否对当前视频帧解码,包括:
在解码周期第二阈值<T≤解码周期第三阈值情况下,根据当前视频帧的帧类型,判断是否对当前视频帧进行解码:若当前视频帧为非参考帧,则不对当前视频帧进行解码,若当前视频帧为参考帧,则直接确定对当前视频帧解码;
在T>解码周期第三阈值的情况下,根据当前视频帧的帧类型,判断是否对当前视频帧进行解码:若当前视频帧为非关键帧,则不对当前视频帧进行解码,若当前视频帧为关键帧,则直接确定对当前视频帧解码。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述以简化后的视频流中设置的解码算法对当前视频帧进行解码,包括:
当解码时间第一阈值<t≤解码时间第二阈值时,以简化后的视频流中设置的解码算法对当前视频帧的色度分量进行解码;
当t>解码时间第二阈值时,以简化后的视频流中设置的解码算法对当前视频帧的色度分量和亮度分量进行解码。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述简化后的视频流中设置的解码算法为以下算法中的一种或者几种:
在所述视频流中设置的解码算法的基础上,省略环路滤波处理后,得到的解码算法;
在所述视频流中设置的解码算法的基础上,省略采样点自适应偏移后,得到的解码算法;
在所述视频流中设置的解码算法的基础上,省略子像素插值后,得到的解码算法。
6.一种视频解码装置,其特征在于,所述装置包括:
帧类型获得模块,用于获得当前视频帧的帧类型;
平均解码周期计算模块,用于根据当前视频帧前N帧中每一帧的解码周期,计算当前视频帧前N帧的平均解码周期T,其中,所述平均解码周期T用于表示当前播放压力状态;
视频帧解码判断模块,用于判断所述平均解码周期T是否大于预设的解码周期阈值,如果是,则进一步根据当前视频帧的帧类型确定是否对当前视频帧解码,如果所述平均解码周期T不大于预设的解码周期阈值,则直接确定对当前视频帧解码;
解码时间获得模块,用于在视频帧解码判断模块判断得对当前视频帧进行解码的情况下,获得当前视频帧前一帧的解码时间t,其中,所述解码时间t用于表示当前解码压力状态;
视频帧解码模块,用于判断所述解码时间t是否大于预设的解码时间阈值,如果是,则以简化后的视频流中设置的解码算法对当前视频帧进行解码,如果否,则以视频流中设置的解码算法对当前视频帧进行解码。
7.根据权利要求6所述的装置,其特征在于,所述视频帧解码判断模块,具体用于:
在T>解码周期第一阈值的情况下,判断当前视频帧的帧类型是否为非参考帧,如果是,则不对当前视频帧解码,如果否,则直接确定对当前视频帧解码。
8.根据权利要求6所述的装置,其特征在于,所述视频帧解码判断模块,具体用于:
在解码周期第二阈值<T≤解码周期第三阈值情况下,根据当前视频帧的帧类型,判断是否对当前视频帧进行解码:若当前视频帧为非参考帧,则不对当前视频帧进行解码;若当前视频帧为参考帧,则直接确定对当前视频帧解码;
在T>解码周期第三阈值的情况下,根据当前视频帧的帧类型,判断是否对当前视频帧进行解码:若当前视频帧为非关键帧,则不对当前视频帧进行解码,若当前视频帧为关键帧,则直接确定对当前视频帧解码。
9.根据权利要求6至8中任一项所述的装置,其特征在于,所述视频帧解码模块,具体用于:
当解码时间第一阈值<t≤解码时间第二阈值时,以简化后的视频流中设置的解码算法对当前视频帧的色度分量进行解码;
当t>解码时间第二阈值时,以简化后的视频流中设置的解码算法对当前视频帧的色度分量和亮度分量进行解码。
10.根据权利要求6至8中任一项所述的装置,其特征在于,所述简化后的视频流中设置的解码算法为以下算法中的一种或者几种:
在所述视频流中设置的解码算法的基础上,省略环路滤波处理后,得到的解码算法;在所述视频流中设置的解码算法的基础上,省略采样点自适应偏移后,得到的解码算法;在所述视频流中设置的解码算法的基础上,省略子像素插值后,得到的解码算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510150300.2A CN104717509B (zh) | 2015-03-31 | 2015-03-31 | 一种视频解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510150300.2A CN104717509B (zh) | 2015-03-31 | 2015-03-31 | 一种视频解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104717509A CN104717509A (zh) | 2015-06-17 |
CN104717509B true CN104717509B (zh) | 2017-09-26 |
Family
ID=53416395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510150300.2A Active CN104717509B (zh) | 2015-03-31 | 2015-03-31 | 一种视频解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104717509B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331820B (zh) * | 2015-06-29 | 2020-01-07 | 成都鼎桥通信技术有限公司 | 音视频的同步处理方法和装置 |
TWI610560B (zh) * | 2016-05-06 | 2018-01-01 | 晨星半導體股份有限公司 | 控制位元流解碼的方法及相關之位元流解碼電路 |
CN107426200B (zh) * | 2017-07-13 | 2020-10-23 | 广州市百果园网络科技有限公司 | 一种多媒体数据处理方法和装置 |
CN107888975B (zh) * | 2017-11-30 | 2020-02-21 | 广州酷狗计算机科技有限公司 | 视频播放方法、装置及存储介质 |
CN110267096A (zh) * | 2019-06-21 | 2019-09-20 | 北京达佳互联信息技术有限公司 | 视频播放方法、装置、电子设备及存储介质 |
CN114390343B (zh) * | 2021-12-31 | 2024-06-14 | 深圳市闪剪智能科技有限公司 | 一种多视频的播放方法及相关设备 |
CN115396729B (zh) * | 2022-08-26 | 2023-12-08 | 百果园技术(新加坡)有限公司 | 视频目标帧确定方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101080006A (zh) * | 2006-05-23 | 2007-11-28 | 中国科学院声学研究所 | 视频播放中视频帧的分级处理方法 |
CN101080007A (zh) * | 2006-05-23 | 2007-11-28 | 中国科学院声学研究所 | 通过解码质量控制降低视频解码复杂度的方法 |
CN101715129A (zh) * | 2009-12-24 | 2010-05-26 | 四川长虹电器股份有限公司 | 视频解码方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8223844B2 (en) * | 2003-11-14 | 2012-07-17 | Intel Corporation | High frequency emphasis in decoding of encoded signals |
-
2015
- 2015-03-31 CN CN201510150300.2A patent/CN104717509B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101080006A (zh) * | 2006-05-23 | 2007-11-28 | 中国科学院声学研究所 | 视频播放中视频帧的分级处理方法 |
CN101080007A (zh) * | 2006-05-23 | 2007-11-28 | 中国科学院声学研究所 | 通过解码质量控制降低视频解码复杂度的方法 |
CN101715129A (zh) * | 2009-12-24 | 2010-05-26 | 四川长虹电器股份有限公司 | 视频解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104717509A (zh) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104717509B (zh) | 一种视频解码方法及装置 | |
CN100515068C (zh) | 视频播放中的静态丢帧方法 | |
CN111918066A (zh) | 视频编码方法、装置、设备及存储介质 | |
CN109640167B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
WO2016110188A1 (zh) | 一种即时视频中的人脸美化方法和电子设备 | |
CN107333027B (zh) | 一种视频图像增强的方法和装置 | |
WO2003030556A1 (en) | Image encoding method and image decoding method | |
CN104104952A (zh) | 一种适应于移动设备存储与播放的音视频处理方法与系统 | |
CN101945281B (zh) | 视频编码的滤波方法及装置 | |
WO2017185609A1 (zh) | 一种视频处理方法及设备 | |
CN108235055A (zh) | Ar场景中透明视频实现方法及设备 | |
CN112448962B (zh) | 视频抗锯齿显示方法、装置、计算机设备及可读存储介质 | |
CN110620924A (zh) | 编码数据的处理方法、装置、计算机设备及存储介质 | |
US20140254688A1 (en) | Perceptual Quality Of Content In Video Collaboration | |
CN110740316A (zh) | 数据编码方法及装置 | |
US10638131B2 (en) | Content providing apparatus, display apparatus, and control method therefor | |
Teslic et al. | Packet-loss error detection system for DTV and set-top box functional testing | |
US8447117B2 (en) | Block-edge detecting method and associated device | |
CN109151342A (zh) | 一种分布式视频显示方法及装置 | |
CN102308319A (zh) | 用于编码数据与三维渲染的系统与格式 | |
CN108600794B (zh) | 一种丢帧率的校正方法、装置及终端 | |
CN105635715A (zh) | 视频格式识别方法及装置 | |
CN101540900A (zh) | 降低视频流中的区块效应的方法 | |
TWI486061B (zh) | 視頻資料處理方法和系統 | |
CN103260025B (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 |