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

编码处理方法、装置、设备及可读存储介质与流程

2022-03-14 04:31:41 来源:中国专利 TAG:


1.本发明涉及通信技术领域,特别是指一种编码处理方法、装置、设备及可读存储介质。


背景技术:

2.在实际的应用中,网络传输的带宽往往是有限的,因此,在涉及到视频的相关业务中,往往需要对视频压缩后的码率进行控制,来合理地利用网络带宽。
3.而对于具有大幅度、高频率的场景变化特性的屏幕内容视频,在场景切换过程中,由于突变帧内容在编码上缺乏参考性,通过传统编码方案对其帧内模式进行编码,需消耗大量比特,容易引起比特失控。


技术实现要素:

4.本发明的目的是提供一种编码处理方法、装置、设备及可读存储介质,以解决现有编码处理需消耗大量比特,且容易引起比特失控的问题。
5.为了解决上述问题,本发明是这样实现的:
6.第一方面,本发明的实施例提供一种编码处理方法,包括:
7.确定第一帧图像,所述第一帧图像为待编码视频中的当前待编码的图像帧;
8.获取所述第一帧图像的复杂度,所述复杂度是根据所述第一帧图像与第二帧图像的灰度直方图差值确定的,所述第二帧图像为所述第一帧图像的前一帧图像;
9.根据所述第一帧图像的复杂度,确定所述第一帧图像在滑动窗口的目标比特数目。
10.第二方面,本发明的实施例提供一种编码处理装置,0包括
11.第一处理模块,用于确定第一帧图像,所述第一帧图像为待编码视频中的当前待编码的图像帧;
12.获取模块,用于获取所述第一帧图像的复杂度,所述复杂度用于表征所述第一帧图像与第二帧图像的差异,所述第二帧图像为所述第一帧图像的前一帧图像;
13.第二处理模块,用于根据所述第一帧图像的复杂度,确定所述第一帧图像在滑动窗口的目标比特数目。
14.第三方面,本发明的实施例提供一种编码设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;所述处理器执行所述程序或指令时实现如上所述的编码处理方法。
15.第四方面,本发明的实施例提供一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的编码处理方法中的步骤。
16.本发明的上述技术方案的有益效果如下:
17.本发明的实施例,将通过确定待编码视频中当前待编码的图像帧,即第一帧图像,来获取该第一帧图像的复杂度,然后进一步根据该复杂度确定第一帧图像在滑动窗口的目
标比特数目,而因复杂度可表征该第一帧图像与该第一帧图像的前一帧图像的差异,更适用于屏幕内容视频的特性,无需消耗较多的资源即可实现对滑动窗口内比特分配的精细化管理。
附图说明
18.图1为本发明实施例的编码处理方法的流程图之一;
19.图2为本发明实施例的编码处理方法的流程图之二;
20.图3为本发明实施例的编码处理方法的应用示意图
21.图4为本发明实施例的编码处理装置的结构图;
22.图5为本发明实施例的编码设备的结构图。
具体实施方式
23.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
24.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
25.在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
26.另外,本文中术语“系统”和“网络”在本文中常可互换使用。
27.在本技术所提供的实施例中,应理解,“与a相应的b”表示b与a相关联,根据a可以确定b。但还应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。
28.如图1所示,本发明实施例的一种编码处理方法,包括:
29.步骤101,确定第一帧图像,所述第一帧图像为待编码视频中的当前待编码的图像帧;
30.步骤102,获取所述第一帧图像的复杂度,所述复杂度用于表征所述第一帧图像与第二帧图像的差异,所述第二帧图像为所述第一帧图像的前一帧图像;
31.步骤103,根据所述第一帧图像的复杂度,确定所述第一帧图像在滑动窗口的目标比特数目。
32.本发明实施例的方法,按照上述步骤101-103,将通过确定待编码视频中当前待编码的图像帧,即第一帧图像,来获取该第一帧图像的复杂度,然后进一步根据该复杂度确定第一帧图像在滑动窗口的目标比特数目,而因复杂度可表征该第一帧图像与该第一帧图像的前一帧图像的差异,更适用于屏幕内容视频的特性,无需消耗较多的资源即可实现对滑动窗口内比特分配的精细化管理。
33.可选地,步骤101包括:
34.根据滑动窗口长度,将当前滑动窗口中的首个帧图像作为第一帧图像;其中,
35.所述滑动窗口长度为预设长度和所述待编码视频中未编码帧数中的最小值。
36.这里,滑动窗口长度是预设长度和待编码视频中未编码帧数中的最小值,即滑动窗口长度n
sw
可以表示为n
sw
=min(sw,pic
left
),sw表示预设长度,pic
left
表示待编码视频中未编码帧数。其中sw可设置为8。如此,在视频编码处理中,会将滑动窗口中的首个帧图像确定为第一帧图像,进行后续处理。
37.假设滑动窗口长度n
sw
=8,则该滑动窗口长度为8个图像帧的长度。此时,滑动窗口对应的图像帧的序号(以图像帧的时间先后排列所得)为1~8,则滑动窗口中的首个帧图像是图像帧1,图像帧1即第一帧图像。
38.当然,随着滑动窗口的滑动,可依次对待编码视频中的图像帧作为第一帧图像进行相同处理,直至待编码视频的编码完成。
39.该实施例中,滑动窗口还设置了对应的比特数目,也可以理解为滑动窗口内的比特数目。在初始化阶段,滑动窗口对应的比特数目t
sw
是通过公式t
sw
=(r
tar
×nsw
)/f计算所得,r
tar
为目标比特率,f为所述待编码视频的帧率。其中,r
tar
是预先设置或定义的。而在第一帧图像编码完成后,t
sw
经通过公式t
sw
=t
swleft
r
left
/f
left
进行更新,t
swleft
为当前第一帧图像编码完成后滑动窗口内剩余的比特数目,r
left
为所述待编码视频中编码剩余的比特数目,f
left
为所述待编码视频中编码剩余的帧数。其中,r
left
的获得依赖于目标比特数与实际消耗比特数。这样,滑动窗口内的比特数目实现了循环更新,第一帧图像始终位于滑动窗口的起始位置。
40.该实施例中,复杂度的衡量可使用帧间亮度差值、dct绝对和亮度直方图、灰度直方图等,但考虑到灰度直方图作为复杂度衡量指标,对屏幕内容视频的小幅度运动容忍度较高,且计算更便捷,可选地,步骤102包括:
41.根据所述第一帧图像与所述第二帧图像的灰度直方图差值,确定所述第一帧图像的复杂度。
42.结合一帧可划分为多个编码单元lcu,可选地,所述根据所述第一帧图像与所述第二帧图像的灰度直方图差值,确定所述第一帧图像的复杂度包括:
43.获取所述第一帧图像的第j个编码单元中像素值为k的像素点数目在所述待编码视频的总像素点中的第一占比,以及所述第二帧图像的第j个编码单元中像素值为k的像素点数目在所述待编码视频的总像素点中的第二占比;
44.按照k的取值,将不同k值对应的所述第一占比和所述第二占比的差值累加,得到第j个编码单元的复杂度;
45.计算所述第一帧图像的全部编码单元的复杂度之和,得到所述第一帧图像的复杂度;
46.其中,k∈[0,l],l为预设阈值,j为大于或等于1的整数。
[0047]
这里,l为预设阈值,如l=255。对于第一帧图像的第j个编码单元,按照上述步骤,其复杂度cj的计算可表示为hj(k)为第一帧图像的第j个编码单元中像素值为k的像素点数目在所述待编码视频的总像素点中的第一占比,h
j-1
(k)为第二帧图像的第j个编码单元中像素值为k的像素点数目在所述待编码视频的总像素点中的第二占比。所以,对于第一帧图像,将全部编码单元的复杂度累加就能够得到第一帧图像的复杂
度ci,ci的计算可表示为n为第一帧图像中的编码单元数。其中,编码单元可以为最大编码单元lcu。
[0048]
这样,通过先计算第一帧图像的编码单元的复杂度,然后将各个编码单元的复杂度累加得到第一帧图像的复杂度,由于各个编码单元的复杂度可并行计算,提高了编码过程的处理效率。
[0049]
以安全上下文约束scc测试序列中的比特码流分析工具bitstreamanalyzer为例,绘制的序列指标曲线中,对于序列中的突变帧,在灰度直方图作为复杂度衡量指标上具有明显的峰值特性,对于连续变化或静止帧,对应的指标值波动较为平缓。使用该指标可以较为精准地反映序列的场景切换特征。
[0050]
另外,由于图像帧可能存在的突变,为针对性地进行处理,可选地,该实施例中,步骤102之后,还包括:
[0051]
根据所述第一帧图像的复杂度,确定所述第一帧图像的帧类型;其中,所述帧类型包括:突变帧、普通帧和静止帧。
[0052]
所述根据所述第一帧图像的复杂度,确定所述第一帧图像的帧类型,包括:
[0053]
通过公式计算,得到计算结果;
[0054]
若计算结果为ji=1,则所述第一帧图像为突变帧;若计算结果为ji=0,则所述第一帧图像为普通帧;若计算结果为ji=0.5,则所述第一帧图像为静止帧;其中,
[0055]ji
为判断帧类型的量化函数,i为所述第一帧图像在所述待编码视频中的帧序号,c
cur
为所述第一帧图像的复杂度,c
pre
为所述待编码视频中已编码帧图像的复杂度之和,n
pre
为所述待编码视频中已编码帧图像的数目。
[0056]
这里,3
×cpre
/n
pre
和0.05
×cpre
/n
pre
分别是第一帧图像是否为突变帧或静止帧的判断阈值。而该实施例中,这两个判断阈值均采用了均值,来更好地反应已经编码的帧的平均复杂度。当然,判断阈值中的系数3和0.05,均是一种较佳实现,也可使用在一定范围内的其它值,在此不再赘述。
[0057]
可选地,如图2所示,步骤103包括:
[0058]
步骤201,根据所述第一帧图像的复杂度,得到所述第一帧图像在滑动窗口的预期比特数目;
[0059]
步骤202,根据所述预期比特数目和所述第一帧图像的帧类型,判断缓冲区的饱和度是否满足预设条件;
[0060]
步骤203,在满足所述预设条件的情况下,将所述预期比特数目作为所述目标比特数目;
[0061]
步骤204,在不满足所述预设条件的情况下,根据所述第一帧图像的帧类型对所述预期比特数目进行调整,若调整后预期比特数目对应的饱和度满足所述预设条件,则将调整后的预期比特数目作为所述目标比特数目。
[0062]
这里,预设条件用于确认缓存区在编码滑动窗口中的每一帧时都为下一帧预留出
足够的编码空间,且确保缓冲空间有余量对连续变化帧和突变帧进行比特补偿。如此,按照步骤201-204,首先会在滑动窗口内根据第一帧图像的复杂度对该第一帧图像进行比特预分配,即可得到预期比特数目;然后,结合该预设比特数目和第一帧图像的帧类型,判断缓冲区的饱和度是否满足预设条件。最终,根据判断结果,在满足预设条件的情况下,将预期比特数目作为目标比特数目;在不满足预设条件的情况下,根据第一帧图像的帧类型对预期比特数目进行调整,若调整后预期比特数目对应的饱和度满足预设条件,则将调整后的预期比特数目作为目标比特数目。这样,第一帧图像在滑动窗口内分配的比特数目将确保缓存区在编码滑动窗口中的每一帧时都为下一帧预留出足够的编码空间,且缓冲空间有余量对连续变化帧和突变帧进行比特补偿,提高了图像质量与资源利用率。
[0063]
可选地,步骤201包括:
[0064]
通过公式计算得到预期比特数目ti;其中,i为所述第一帧图像在所述待编码视频中的帧序号,c
cur
为所述第一帧图像的复杂度,c
sw
为所述滑动窗口中的帧图像的复杂度之和,t
sw
为所述滑动窗口对应的比特数目。
[0065]
由于屏幕内容视频中普遍存在较多突变帧和静止帧,利用第一帧图像的复杂度为其分配比特,即帧级预分配,则能够更准确地在滑动窗口中为突变帧预留出足够的资源进行编码,从而在防止码率失控的基础上提高整个视频序列的质量。
[0066]
可选地,所述预设条件包括补偿门限com(i)和阈值上限th(i);
[0067]
步骤202,包括:
[0068]
通过公式计算缓冲区的饱和度b(i);
[0069]
若com(i)≤b(i)≤th(i),则满足所述预设条件,反之则不满足;
[0070]
其中,r
tar
为目标比特率,f为所述待编码视频的帧率,bs为缓冲区容量;
[0071]ji
为判断帧类型的量化函数;
[0072]
t
i 1
为所述第一帧图像的下一帧图像的预期比特数目。
[0073]
这里,补偿门限com(i)和阈值上限th(i)的建立为第一帧图像的比特分配提供参考依据,使编码更加适配屏幕内容视频的图像特性。其中,当编码器将第一帧图像的编码流输送到缓存区时,缓存区应保证为下一帧预留足够的缓存空间,即这里,t
i 1
为第一帧图像的下一帧在滑动窗口中分得比特数的预测值(即预期比特数目),通过该式保证编码完成第一帧图像后缓存区剩余空间可以满足编码下一帧后的净增长量。如
此,整理后可得即缓冲区的饱和度上限th(i)表示为而考虑到突变帧和内容复杂的普通帧对于比特资源有着更高的需求,在第一帧图像为突变帧或者普通帧时,若此时缓存器饱和度较低可以适当对当前帧进行比特补偿,基于此进行补偿门限com(i)设定,若b(i)小于com(i)则需要对第一帧图像进行比特补偿,因此,b(i)≥com(i)。所以,b(i)所要满足的预设条件为com(i)≤b(i)≤th(i)。
[0074]
在通过公式计算得到b(i),将其与补偿门限com(i)和阈值上限th(i)进行比较后,可在com(i)≤b(i)≤th(i)的情况下,确定b(i)满足预设条件;反之,则不满足预设条件。
[0075]
对于b(i)满足预设条件的情况,如步骤203,第一帧图像在滑动窗口的预期比特数目即为目标比特数目,后续可进入lcu级的编码过程,并使用第一帧图像实际编码比特数对编码完第一帧图像后缓存区实际比特容量与滑动窗口内比特数进行修正,提高下一帧预测的准确性。
[0076]
对于b(i)满足预设条件的情况,如步骤204,需对预期比特数目进行调整,直至调整后预期比特数目对应的饱和度满足该预设条件。
[0077]
该实施例中,根据帧类别设定了不同的调整步长,因此,可选地,步骤204包括:
[0078]
若b(i)小于com(i),则通过公式确定调整后的预期比特数目t
i’;
[0079]
若b(i)大于th(i),则通过公式确定调整后的预期比特数目t
i’。
[0080]
按照上述方式调整后的预期比特数目t
i’,对ti更新后由公式重新获取其对应的饱和度,再基于预设条件进行判断,直至调整后预期比特数目对应的饱和度满足预设条件。
[0081]
该实施例中,可选地,还包括:
[0082]
在确定所述第一帧图像在滑动窗口的目标比特数目之后,通过公式分配所述第一帧图像的第j个编码单元的比特数t(i,j);其中,c
curlcu
为第j个编码单元的复杂度,c
leftcur
为所述第一帧图像中未分配比特的编码单元的复杂度之和,t
left
为所述目标比特数目中未分配的比特数目。
[0083]
如此,可复用第一帧图像的复杂度计算中编码单元的复杂度,在目标比特数目的基础上,分配该第一帧图像的编码单元的比特数,如第j个编码单元的比特数t(i,j),进行lcu级比特分配。
[0084]
综上,进一步的,本发明实施例的方法滑动窗口内的比特分配采用了反馈机制,更加适配屏幕内容编码的特点,针对不同的帧类型,对为其分配的比特资源进行合理规划。当缓存区存储压力较大时,减小当前帧比特分配,减小幅度由帧的类型决定,保证突变帧可以获得更多的比特资源以确保编码质量;当缓存区存储压力较小时,对当前帧适当进行比特补偿。而且,调整步长同样由帧类型决定。对于低延时编码场景,能够达到整体计算复杂度开销较小,极大程度地节省编码时间的目的。在缓存管理方面,将基本管理单元精确到编码中的每一帧,充分利用缓存资源,确保不会出现缓存区的上溢或下溢。
[0085]
具体的,本发明实施例方法的应用,如图3所示:
[0086]
首先确定滑动窗口对应的比特数目,然后进行帧级预分配,得到预期比特数目。之后,利用滑动窗口内帧级比特分配结果(即预期比特数目)作为预测参数,对于编码器以该预期比特数目编码此帧后缓存区的饱和度进行预测。此外,使用帧复杂度作为指标进行分类,将帧类型分为突变帧、静止帧和普通帧三类。由于不同类型的帧对于比特数目和缓存空间的需求不同,因此对应建立不同的阈值判据(即预设条件),使缓存区的工作状态与帧的类别高度适配。当饱和度的预测结果不满足预设条件时,根据帧类型调整比特分配的结果直至满足该预设条件。之后进行lcu级比特分配。
[0087]
如图4所示,本发明实施例的一种编码处理装置,包括:
[0088]
第一处理模块410,用于确定第一帧图像,所述第一帧图像为待编码视频中的当前待编码的图像帧;
[0089]
获取模块420,用于获取所述第一帧图像的复杂度,所述复杂度用于表征所述第一帧图像与第二帧图像的差异,所述第二帧图像为所述第一帧图像的前一帧图像;
[0090]
第二处理模块430,用于根据所述第一帧图像的复杂度,确定所述第一帧图像在滑动窗口的目标比特数目。
[0091]
可选地,所述第一处理模块还用于:
[0092]
根据滑动窗口长度,将当前滑动窗口中的首个帧图像作为第一帧图像;其中,
[0093]
所述滑动窗口长度为预设长度和所述待编码视频中未编码帧数中的最小值。
[0094]
可选地,所述获取模块还用于:
[0095]
根据所述第一帧图像与所述第二帧图像的灰度直方图差值,确定所述第一帧图像的复杂度。
[0096]
可选地,所述获取模块包括:
[0097]
第一获取子模块,用于获取所述第一帧图像的第j个编码单元中像素值为k的像素点数目在所述待编码视频的总像素点中的第一占比,以及所述第二帧图像的第j个编码单元中像素值为k的像素点数目在所述待编码视频的总像素点中的第二占比;
[0098]
第一处理子模块,用于按照k的取值,将不同k值对应的所述第一占比和所述第二占比的差值累加,得到第j个编码单元的复杂度;
[0099]
第二处理子模块,用于计算所述第一帧图像的全部编码单元的复杂度之和,得到所述第一帧图像的复杂度;
[0100]
其中,k∈[0,l],l为预设阈值,j为大于或等于1的整数。
[0101]
可选地,所述装置还包括:
[0102]
第三处理模块,用于根据所述第一帧图像的复杂度,确定所述第一帧图像的帧类型;其中,所述帧类型包括:突变帧、普通帧和静止帧。
[0103]
可选地,所述第三处理模块还用于:
[0104]
通过公式计算,得到计算结果;
[0105]
若计算结果为ji=1,则所述第一帧图像为突变帧;若计算结果为ji=0,则所述第一帧图像为普通帧;若计算结果为ji=0.5,则所述第一帧图像为静止帧;其中,
[0106]ji
为判断帧类型的量化函数,i为所述第一帧图像在所述待编码视频中的帧序号,c
cur
为所述第一帧图像的复杂度,c
pre
为所述待编码视频中已编码帧图像的复杂度之和,n
pre
为所述待编码视频中已编码帧图像的数目。
[0107]
可选地,所述第二处理模块包括:
[0108]
第三处理子模块,用于根据所述第一帧图像的复杂度,得到所述第一帧图像在滑动窗口的预期比特数目;
[0109]
第四处理子模块,用于根据所述预期比特数目和所述第一帧图像的帧类型,判断缓冲区的饱和度是否满足预设条件;
[0110]
第五处理子模块,用于在满足所述预设条件的情况下,将所述预期比特数目作为所述目标比特数目;
[0111]
第六处理子模块,用于在不满足所述预设条件的情况下,根据所述第一帧图像的帧类型对所述预期比特数目进行调整,若调整后预期比特数目对应的饱和度满足所述预设条件,则将调整后的预期比特数目作为所述目标比特数目。
[0112]
可选地,所述第三处理子模块还用于:
[0113]
通过公式计算得到预期比特数目ti;其中,i为所述第一帧图像在所述待编码视频中的帧序号,c
cur
为所述第一帧图像的复杂度,c
sw
为所述滑动窗口中的帧图像
的复杂度之和,t
sw
为所述滑动窗口对应的比特数目。
[0114]
可选地,所述预设条件包括补偿门限com(i)和阈值上限th(i);
[0115]
所述第四处理子模块还用于:
[0116]
通过公式计算缓冲区的饱和度b(i);
[0117]
若com(i)≤b(i)≤th(i),则满足所述预设条件,反之则不满足;
[0118]
其中,r
tar
为目标比特率,f为所述待编码视频的帧率,bs为缓冲区容量;
[0119]ji
为判断帧类型的量化函数;
[0120][0121]
可选地,所述第六处理子模块还用于:
[0122]
若b(i)小于com(i),则通过公式确定调整后的预期比特数目t
i’;
[0123]
若b(i)大于th(i),则通过公式确定调整后的预期比特数目t
i’。
[0124]
可选地,所述装置还包括:
[0125]
第四处理模块,用于在确定所述第一帧图像在滑动窗口的目标比特数目之后,通过公式分配所述第一帧图像的第j个编码单元的比特数t(i,j);其中,c
curlcu
为第j个编码单元的复杂度,c
leftcur
为所述第一帧图像中未分配比特的编码单元的复杂度之和,t
left
为所述目标比特数目中未分配的比特数目。
[0126]
该装置,将通过确定待编码视频中当前待编码的图像帧,即第一帧图像,来获取该第一帧图像的复杂度,然后进一步根据该复杂度确定第一帧图像在滑动窗口的目标比特数
目,而因复杂度可表征该第一帧图像与该第一帧图像的前一帧图像的差异,更适用于屏幕内容视频的特性,无需消耗较多的资源即可实现对滑动窗口内比特分配的精细化管理。
[0127]
本发明实施例装置的实现原理和技术效果与上述方法实施例的类似,本实施例此处不再赘述。
[0128]
如图5所示,本发明实施例的一种编码设备,包括处理器501、存储器502及存储在所述存储器502上并可在所述处理器501上运行的程序或指令;所述处理器502执行所述程序或指令时实现:
[0129]
确定第一帧图像,所述第一帧图像为待编码视频中的当前待编码的图像帧;
[0130]
获取所述第一帧图像的复杂度,所述复杂度用于表征所述第一帧图像与第二帧图像的差异,所述第二帧图像为所述第一帧图像的前一帧图像;
[0131]
根据所述第一帧图像的复杂度,确定所述第一帧图像在滑动窗口的目标比特数目。
[0132]
可选地,所述处理器501还用于实现:
[0133]
根据滑动窗口长度,将当前滑动窗口中的首个帧图像作为第一帧图像;其中,
[0134]
所述滑动窗口长度为预设长度和所述待编码视频中未编码帧数中的最小值。
[0135]
可选地,所述处理器501还用于实现:
[0136]
根据所述第一帧图像与所述第二帧图像的灰度直方图差值,确定所述第一帧图像的复杂度。
[0137]
可选地,所述处理器501还用于实现:
[0138]
获取所述第一帧图像的第j个编码单元中像素值为k的像素点数目在所述待编码视频的总像素点中的第一占比,以及所述第二帧图像的第j个编码单元中像素值为k的像素点数目在所述待编码视频的总像素点中的第二占比;
[0139]
按照k的取值,将不同k值对应的所述第一占比和所述第二占比的差值累加,得到第j个编码单元的复杂度;
[0140]
计算所述第一帧图像的全部编码单元的复杂度之和,得到所述第一帧图像的复杂度;
[0141]
其中,k∈[0,l],l为预设阈值,j为大于或等于1的整数。
[0142]
可选地,所述处理器501还用于实现:
[0143]
根据所述第一帧图像的复杂度,确定所述第一帧图像的帧类型;其中,所述帧类型包括:突变帧、普通帧和静止帧。
[0144]
可选地,所述处理器501还用于实现:
[0145]
通过公式计算,得到计算结果;
[0146]
若计算结果为ji=1,则所述第一帧图像为突变帧;若计算结果为ji=0,则所述第一帧图像为普通帧;若计算结果为ji=0.5,则所述第一帧图像为静止帧;其中,
[0147]ji
为判断帧类型的量化函数,i为所述第一帧图像在所述待编码视频中的帧序号,c
cur
为所述第一帧图像的复杂度,c
pre
为所述待编码视频中已编码帧图像的复杂度之和,n
pre
为所述待编码视频中已编码帧图像的数目。
[0148]
可选地,所述处理器501还用于实现:
[0149]
根据所述第一帧图像的复杂度,得到所述第一帧图像在滑动窗口的预期比特数目;
[0150]
根据所述预期比特数目和所述第一帧图像的帧类型,判断缓冲区的饱和度是否满足预设条件;
[0151]
在满足所述预设条件的情况下,将所述预期比特数目作为所述目标比特数目;
[0152]
在不满足所述预设条件的情况下,根据所述第一帧图像的帧类型对所述预期比特数目进行调整,若调整后预期比特数目对应的饱和度满足所述预设条件,则将调整后的预期比特数目作为所述目标比特数目。
[0153]
可选地,所述处理器501还用于实现:
[0154]
通过公式计算得到预期比特数目ti;其中,i为所述第一帧图像在所述待编码视频中的帧序号,c
cur
为所述第一帧图像的复杂度,c
sw
为所述滑动窗口中的帧图像的复杂度之和,t
sw
为所述滑动窗口对应的比特数目。
[0155]
可选地,所述预设条件包括补偿门限com(i)和阈值上限th(i);
[0156]
所述处理器501还用于实现:
[0157]
通过公式计算缓冲区的饱和度b(i);
[0158]
若com(i)≤b(i)≤th(i),则满足所述预设条件,反之则不满足;
[0159]
其中,r
tar
为目标比特率,f为所述待编码视频的帧率,bs为缓冲区容量;
[0160]ji
为判断帧类型的量化函数;
[0161]
t
i 1
为所述第一帧图像的下一帧图像的预期比特数目。
[0162]
可选地,所述处理器501还用于实现:
[0163]
若b(i)小于com(i),则通过公式确定调整后的预期比特数目t
i’;
[0164]
若b(i)大于th(i),则通过公式确定调整后的预期比特数目t
i’。
[0165]
可选地,所述处理器501还用于实现:
[0166]
在确定所述第一帧图像在滑动窗口的目标比特数目之后,通过公式分配所述第一帧图像的第j个编码单元的比特数t(i,j);其中,c
curlcu
为第j个编码单元的复杂度,c
leftcur
为所述第一帧图像中未分配比特的编码单元的复杂度之和,t
left
为所述目标比特数目中未分配的比特数目。
[0167]
本发明实施例提供的设备,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
[0168]
本发明实施例的一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的编码处理方法中的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0169]
其中,所述处理器为上述实施例中所述的编码设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
[0170]
进一步需要说明的是,此说明书中所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
[0171]
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
[0172]
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
[0173]
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(vlsi)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
[0174]
上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而
不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本发明会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
[0175]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

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

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

相关文献