一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于场景变动的智能码率控制优化方法与流程

2022-05-08 05:29:01 来源:中国专利 TAG:


1.本发明涉及视频编解码技术领域,尤其涉及一种基于场景变动的智能码率控制优化方法。


背景技术:

2.视频编码在实际使用中,由于现实网络带宽限制,通常都有固定的码率上限。特别是在无线移动网络条件下,对码率的限制条件更高,所以通常限定码率编码。在视频监控领域,对视频实时性要求比较高。经常会出现画面前景出现大量变动,变化强度非常高,而且持续时间较长的情况,当画面变化趋于稳定后,画面总是会出现拖影,甚至会出现长时间无法消失的现象。
3.目前主要的处理方案有如下几种:
4.a.增加带宽上限;显著增加硬件成本,性价比较低;
5.b.设置编码码控为变码率,减小固定i帧间隔;此方法在带宽充裕时,可以较快的消除残影。但是存在两方面的问题,第一是固定i帧间隔,还是存在画面变动结束时未及时刷i帧,静止画面出现残影影响视觉感受;第二,画面变化较多时,由于i帧增多,导致码率进一步无法控制,残影更明显的问题;
6.c.强制将编码qp上限调低;码控可能无法有效控制,导致实际网络中丢帧;
7.d.优化码控算法;通用码控算法钳制条件较多,难以显著为此特定场景优化效果。


技术实现要素:

8.鉴于目前视频编解码技术领域存在的画面变动稳定后总是会出现拖影的技术问题,本发明提供一种基于场景变动的智能码率控制优化方法,根据编码内部运动矢量进行场景变动判断,并智能控制i帧间隔,可以有效的降低在特定场景码率,且人眼不会感受到明显的拖影现象。
9.为达到上述目的,本发明的实施例采用如下技术方案:
10.一种基于场景变动的智能码率控制优化方法,所述方法包括以下步骤:
11.获取视频图像;
12.对视频编码进行运动估计;
13.进行前景变动检测获得检测结果;
14.根据检测结果评估动态i帧设置点。
15.依照本发明的一个方面,所述进行前景变动检测包括:使用p帧帧间预测运动矢量来判断前景变动。
16.依照本发明的一个方面,所述进行前景变动检测包括:获得当前图像的横向运动强度和纵向运动强度,当横向运动强度和纵向运动强度均大于强运动权值时,则判断为当前图像前景变动较强,当横向运动强度和纵向运动强度均小于弱运动权值时,则判断为当前图像前景运动弱。
17.依照本发明的一个方面,所述横向运动强度为一帧中所有块的横向运动矢量总和与一帧中横向运动矢量块数目的比值,所述纵向运动强度为一帧中所有块的纵向运动矢量总和与一帧中纵向运动矢量块数目的比值。
18.依照本发明的一个方面,所述方法还包括:设置i帧间隔最小值。
19.依照本发明的一个方面,所述i帧间隔最小值设置为25。
20.依照本发明的一个方面,所述进行前景变动检测获得检测结果包括:判断当前图像是否处于正在变动状态或趋于静止状态。
21.依照本发明的一个方面,所述根据检测结果评估动态i帧设置点包括以下步骤:在图像处于正在变动状态时使用p帧编码,在图像处于趋于静止状态时使用i帧编码刷新。
22.依照本发明的一个方面,所述根据检测结果评估动态i帧设置点包括以下步骤:第一帧默认编码帧类型为i帧;后续每帧的帧类型设置情况根据前一帧的编码运动矢量信息确定。
23.依照本发明的一个方面,所述方法包括以下步骤:
24.根据初始值判断是否设置当前帧为i帧;
25.若设置当前帧为i帧,则计数i帧之后编码帧累计值,用于限制i帧间隔的最小范围;
26.设置判断值判断是否存在前景较强运动;
27.设置判断值判断是否存在前景变动趋于平缓;
28.设置判断值判断下一帧是否设置i帧;
29.若不是设置当前帧为i帧,则设置当前帧为p帧。
30.本发明实施的优点:
31.根据编码内部运动矢量进行场景变动判断,并智能控制i帧间隔,可以避免额外的场景变动检测算法造成硬件资源消耗;
32.基于场景变化,调整i帧间隔,可以有效的降低在特定场景(比如编码码流画面前景变化较长时间强烈,码控vbr无法压制且会导致编码帧过大丢帧问题,码控为cbr时又会导致严重拖影)码率,且人眼不会感受到明显的拖影现象;
33.通过这种方法检测到场景变化起始点,然后在接近停止时,强制设置i帧刷新,避免出现残影。同时在后续的编码中持续使用p帧编码,以此控制码率。该算法使用两个限制条件来区分图像变化或者静止,以准确的检测图像变化或者静止程度,从而准确的判断设置i帧的位置,及时消除残影,不影响人眼感受,同时保证码率的有效控制。
附图说明
34.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1为本发明所述的一种基于场景变动的智能码率控制优化方法流程图;
36.图2为本发明所述的运动估计示意图。
具体实施方式
37.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
38.本实施例所涉及的相关科学术语解释及参考资料如下:
39.(1)码控(码率控制);
40.视频编码中由于通信信道带宽有限,控制每帧图像编码输出的比特数,并在总比特数一定的限制下使得图像失真最小。常用的方式有调节帧率,调节图像大小,调节量化参数等方式。
41.(2)码控模式;
42.通常有cbr和vbr。cbr是固定码率控制,目标是将码率固定在一个恒定值;vbr是可变码率控制,可以允许码率在一定幅度波动,能够获得更平滑的视频质量。
43.(3)帧类型;
44.i帧:不依赖其他帧可以完整解码;
45.p帧:使用帧间预测,依赖前面的i帧和p帧;
46.b帧:b帧是双向差别帧,也就是b帧记录的是本帧与前后帧的差别,依赖i/p帧。解码较复杂,会产生延时,通常实时性较高场景不适用b帧。
47.(4)场景变换;
48.场景包含前景和背景。
49.前景:固定的镜头中存在运动物体;
50.背景:画面镜头运动导致画面整体变化或者镜头固定除了视频主体外其他区域整体出现变动;
51.本实施例是基于固定背景中前景大幅度变动造成的拖影现象进行优化。
52.(5)帧间预测;
53.帧间预测有两个重要概念:运动估计与运动补偿。运动估计就是寻找当前编码的块在已编码图像中的最佳对应块,并且计算出对应块的偏移(即运动矢量)。假设当前帧为p,参考帧为pr,当前编码块为b,在pr中寻找与b的最佳匹配块,这个过程即为运动估计。如图2所示,b
*
与b在在图像中的缩表位置相同。运动矢量(mv,motionvector)就是br左上角坐标(xr,yr)减去b
*
左上角坐标(x,y)等于(x
r-x,y
r-y)。br块就是b块的参考块,br的像素值就作为b块像素的预测值。由于视频的时间冗余很大,只要参考帧的参考块选取的合适,需要编码的残差值将会很小。然后运动矢量被编码到码流中,解码端可以通过这些信息解码出原图像。运动补偿则是根据解码的运动矢量和帧间预测方法,求得当前帧的估计值的过程。运动估计和运动补偿技术是消除运动图像时间冗余的关键方法。
54.如图1所示,一种基于场景变动的智能码率控制优化方法,所述方法包括以下步骤:
55.步骤s1:获取视频图像;
56.通过视频监控设备,例如监控摄像头获取视频图像。
57.步骤s2:对视频编码进行运动估计;
58.通过帧间预测来对视频编码进行运动估计。
59.步骤s3:进行前景变动检测获得检测结果;
60.所述进行前景变动检测包括:使用p帧帧间预测运动矢量来判断前景变动。
61.获得当前图像的横向运动强度和纵向运动强度,当横向运动强度和纵向运动强度均大于强运动权值时,则判断为当前图像前景变动较强,当横向运动强度和纵向运动强度均小于弱运动权值时,则判断为当前图像前景运动弱。所述横向运动强度为一帧中所有块的横向运动矢量总和与一帧中横向运动矢量块数目的比值,所述纵向运动强度为一帧中所有块的纵向运动矢量总和与一帧中纵向运动矢量块数目的比值。
62.在本实施例中,设置i帧间隔最小值,所述i帧间隔最小值设置为25。
63.步骤s4:根据检测结果评估动态i帧设置点。
64.判断当前图像是否处于正在变动状态或趋于静止状态。
65.在图像处于正在变动状态时使用p帧编码,在图像处于趋于静止状态时使用i帧编码刷新。第一帧默认编码帧类型为i帧;后续每帧的帧类型设置情况根据前一帧的编码运动矢量信息确定。
66.在本实施例中,具体包括以下步骤:
67.根据初始值判断是否设置当前帧为i帧;
68.若设置当前帧为i帧,则计数i帧之后编码帧累计值,用于限制i帧间隔的最小范围;
69.设置判断值判断是否存在前景较强运动;
70.设置判断值判断是否存在前景变动趋于平缓;
71.设置判断值判断下一帧是否设置i帧;
72.若不是设置当前帧为i帧,则设置当前帧为p帧。
73.在实际应用中,有如下具体实施例:
74.(1)视频帧中有着高移动变化的区域比移动慢或者静止的区域mv值大,预测编码宏块中运动矢量的大小与视频帧中前景移动变化强度有一定的正比例关系。基于此规律,抽象出一个视频前景平均运动强度计算方式:
75.横向运动强度:averagemove
x
=一帧中所有块的横向mv总和/一帧中横向mv块数目;
76.纵向运动强度:averagemovey=一帧中所有块的横向mv总和/一帧中纵向mv块数目;
77.当averagemove
x
》strongmovethreshold且,
78.averagemovey》strongmovethreshold,认为前景运动较强;
79.当averagemove
x
《weakmovethreshold且,
80.averagemovey《weakmovethreshold,认为前景运动弱,接近无明显运动;
81.实验得出强运动权值strongmovethreshold=2,弱运动权值weakmovethreshold=1时有较好效果。
82.(2)i帧间隔最小值限制;
83.为了避免短时间内大量的i帧消耗过多带宽,i帧需要有一个最小间隔范围。同时为了防止大量的图像变动导致马赛克残影等,测试发现人眼在1s范围内的图像大量运动马
赛克感官视觉感受不明显我们将i帧间隔时间最低限制在1s;视频监控领域帧率设置一般是fps为25或者30,所以将i帧间隔最小值设置为25;
84.(3)根据前景变动检测算法评估动态i帧设置点;
85.由于p帧可以通过帧间预测的方式大量消除冗余,我们在运动较为剧烈的时候使用p帧编码,可以很好的控制码率。同时尽量提高人眼视觉感受,在运动趋于平缓时需要及时插入i帧,消除瞬时码率不足导致的拖影等;
86.(4)第一帧默认编码帧类型为i帧,后续每帧的帧类型设置情况,根据前一帧的编码mv信息的前景变动检测算法和动态i帧算法确定,具体步骤如下:
87.1.设置初始值:
88.a)计数framecount=0;//计数i帧之后编码帧累计值,用于限制i帧间隔的最低范围30
89.b)设置scenechangeflag=0;//是否存在前景较强运动
90.c)设置changefinishflag=0;//是否前景较强运动趋于平缓
91.d)设置setkeyframeflag=0;//下一帧是否设置i帧
92.2.每帧算法处理步骤:
93.a)编码开始前:
94.i.如果setkeyframeflag==1
95.1.设置当前帧为i帧;
96.2.计数framecount=0;//计数i帧之后编码帧累计值,用于限制i帧间隔的最低范围30
97.3.设置scenechangeflag=0;//是否纯在前景较强运动
98.4.设置changefinishflag=0;//是否前景较强运动趋于平缓
99.5.设置setkeyframeflag=0;//下一帧是否设置i帧
100.ii.否则设置当前帧为p帧,framecount =1
101.b)编码mv产生后(i帧mv=0):
102.i.如果scenechangeflag==1,根据前景变动检测算法,检测图像前景运动是否趋于平缓,如果前景变动趋于平缓,changefinishflag设置为1;
103.ii.如果scenechangeflag==0,根据前景变动检测算法,检测图像是否出现较强运动,如果出现较强运动,设置scenechangeflag=1;
104.iii.如果scenechangeflag==1而且changefinishflag=1而且framecount》=25,设置setkeyframeflag=1。
105.在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
106.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
107.类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
108.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
109.此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
110.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
111.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域技术的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献