一种基于图像复杂度的码率控制方法及相关装置与流程

未命名 07-23 阅读:150 评论:0


1.本技术涉及视频编解码技术领域,特别涉及一种基于图像复杂度的码率控制方法及相关装置。


背景技术:

2.未经压缩的视频数据量巨大,通常需要对视频像素数据进行编码压缩以便于视频数据的传输和存储。例如,如图1所示,传感器sensor将采集的bayer数据传输给soc中的isp((image signal processing,图像信号处理)对传感器采集的bayer数据进行后处理,其中,后处理可以包括线性纠正、噪声去除、坏点去除、内插、自动白平衡、自动曝光等等。soc中仅设置有一个isp,同时接入的传感器sensor为多个(例如,在监控和行车的某些应用中可能多大8-10个sensor),sensor传递过来的数据先存储到ddr中,isp再从ddr中读取数据,这个过程中一方面增加了bayer数据的一写一读操作,另一方面导致了ddr存储系统的带宽和内存压力。
3.目前现有的视频编码流程包括预测、变换、码率控制、量化、熵编码等过程。其中,在量化时普遍是采用固定量化值或者固定压缩率的方式来对编码比特数进行控制,没有考虑人眼感知的特性,无法兼顾压缩率和图像效果。
4.因而现有技术还有待改进和提高。


技术实现要素:

5.本技术要解决的技术问题在于,针对现有技术的不足,提供一种基于图像复杂度的码率控制方法及相关装置。
6.为了解决上述技术问题,本技术实施例第一方面提供了一种基于图像复杂度的码率控制方法,所述方法包括:
7.获取待编码图像帧的曝光度及参考图像帧的统计信息,并基于所述曝光度及所述参考图像帧的统计信息计算所述待编码图像帧对应的帧级量化系数;
8.将所述参考图像帧划分为若干局部图像块,并分别获取各局部图像块的块级量化系数,以得到所述待编码图像帧对应的若干块级量化系数;
9.计算所述待编码图像帧中的每个宏块的图像复杂度,并基于各宏块的图像复杂度确定各宏块的宏块级量化系数,以得到待编码图像帧对应的若干宏块级量化系数;
10.基于所述待编码对应的帧级量化系数、若干块级量化系数以及若干宏块级量化系数确定所述待编码帧中的每个宏块的目标量化系数,以控制所述待编码图像帧的编码码率。
11.所述基于图像复杂度的码率控制方法,其中,所述基于所述曝光度及所述参考图像帧的统计信息计算所述待编码图像帧对应的帧级量化系数具体包括:
12.基于所述参考图像帧的统计信息确定所述参考图像帧对应的帧级量化均值;
13.基于所述曝光度确定所述待编码图像帧对应的量化调整因子,并基于所述量化调
整因子和所述帧级量化均值计算帧级量化系数,以得到所述待编码图像帧对应的帧级量化系数;
14.其中,所述量化调整因子的确定过程为:
15.当所述曝光度大于或者等于预设曝光度上限值时,将第一调节值作为所述待编码图像帧的量化调整因子;
16.当所述曝光度小于或者等于预设曝光度下限值时,将第二调节值作为所述待编码图像帧的量化调整因子;
17.当所述曝光度位于所述预设曝光度上限值与所述预设曝光度下限值之间时,将第三调节值作为所述待编码图像帧的量化调整因子,其中,所述第一调节值大于所述第三调节值,所述第三调节值大于所述第二调节值。
18.所述基于图像复杂度的码率控制方法,其中,所述分别获取各局部图像块的块级量化系数具体包括:
19.对于每个局部图像块,计算所述局部图像块的块级量化方差;
20.获取所述局部图像块对应的量化方差阈值序列,并遍历所述量化方差阈值序列;
21.当遍历到目标量化方差阈值时,将所述目标量化方差阈值对应的第一量化系数作为块级量化系数,其中,所述目标量化方差阈值为量化方差阈值序列中大于所述量化方差的最小量化方差阈值;
22.当未遍历到目标量化方差阈值时,将预设的第二量化系数作为块级量化系数,其中,所述第二量化系数大于所述第一量化系数。
23.所述基于图像复杂度的码率控制方法,其中,所述计算所述待编码图像帧中的每个宏块的图像复杂度具体包括:
24.对于所述待编码图像帧中的每个宏块,计算所述宏块的像素均值以及像素和值;
25.基于所述像素和值、所述像素均值以及预设数值,计算所述宏块的图像复杂度,以得到各宏块的图像复杂度。
26.所述基于图像复杂度的码率控制方法,其中,所述基于各宏块的图像复杂度确定各宏块的宏块级量化系数具体包括:
27.对于所述待编码图像帧中的每个宏块,获取所述宏块对应的图像复杂度阈值序列,并遍历所述图像复杂度阈值序列;
28.当遍历到目标图像复杂度阈值时,将所述目标图像复杂度阈值对应的第一预设量化系数作为所述宏块对应的宏块级量化系数,其中,所述目标图像复杂度阈值为图像复杂度阈值序列中大于所述图像复杂度的最小图像复杂度阈值;
29.当未遍历到目标量化方差阈值时,将第二预设量化系数作为所述宏块对应的宏块级量化系数,其中,所述第二预设量化系数大于所述第一预设量化系数。
30.所述基于图像复杂度的码率控制方法,其中,所述参考量化系数包括若干参考量化系数;所述基于所述待编码对应的帧级量化系数、若干块级量化系数以及若干宏块级量化系数确定所述待编码帧中的每个宏块的目标量化系数,以控制所述待编码图像帧的编码码率具体为:
31.对于所述待编码图像帧中的每个宏块,获取所述宏块对应的块级量化系数;
32.计算所述帧级量化系数、获取到的块级量化系数和所述宏块的宏块级量化系数的
和值;
33.将所述和值作为所述宏块的目标量化系数,以控制所述待编码图像帧的编码码率。
34.所述基于图像复杂度的码率控制方法,其中,所述待编码图像帧为bayer格式。
35.本技术实施例第二方面提供了一种基于图像复杂度的码率控制装置,所述装置包括:
36.获取模块,用于获取待编码图像帧的曝光度及参考图像帧的统计信息,并基于所述曝光度及所述参考图像帧的统计信息计算所述待编码图像帧对应的帧级量化系数;
37.划分模块,用于将所述参考图像帧划分为若干局部图像块,并分别获取各局部图像块的块级量化系数,以得到所述待编码图像帧对应的若干块级量化系数;
38.计算模块,用于计算所述待编码图像帧中的每个宏块的图像复杂度,并基于各宏块的图像复杂度确定各宏块的宏块级量化系数,以得到待编码图像帧对应的若干宏块级量化系数;
39.控制模块,用于基于所述待编码对应的帧级量化系数、若干块级量化系数以及若干宏块级量化系数确定所述待编码帧中的每个宏块的目标量化系数,以控制所述待编码图像帧的编码码率。
40.本技术实施例第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的基于图像复杂度的码率控制方法中的步骤。
41.本技术实施例第四方面提供了一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
42.所述通信总线实现处理器和存储器之间的连接通信;
43.所述处理器执行所述计算机可读程序时实现如上任一所述的基于图像复杂度的码率控制方法中的步骤。
44.有益效果:与现有技术相比,本技术提供了一种基于图像复杂度的码率控制方法及相关装置,所述方法包括获取待编码图像帧的曝光度及参考图像帧的统计信息,并基于所述曝光度及所述参考图像帧的统计信息计算所述待编码图像帧对应的帧级量化系数;将所述参考图像帧划分为若干局部图像块,并分别获取各局部图像块的块级量化系数,以得到所述待编码图像帧对应的若干块级量化系数;计算所述待编码图像帧中的每个宏块的图像复杂度,并基于各宏块的图像复杂度确定各宏块的宏块级量化系数,以得到待编码图像帧对应的若干宏块级量化系数;基于所述待编码对应的帧级量化系数、若干块级量化系数以及若干宏块级量化系数确定所述待编码帧中的每个宏块的目标量化系数,以控制所述待编码图像帧的编码码率。本技术通过将待编码图像帧的曝光度与参考图像帧的统计信息相结合确定待编码图像帧的帧级量化系数和块级量化系数,然后再基于宏块确定来计算宏块级图像复杂度,并基于宏块级图像复杂度确定宏块级量化系数,最后将帧级量化系数、块级量化系数与宏块级量化系数相结合来目标量化系数,这样将视觉感受和图像内容相结合来目标量化系数,可以在保证压缩率的同时提高图像效果。
附图说明
45.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员而言,在不符创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1为图像压缩的一个应用场景的示意图。
47.图2为本技术提供的基于图像复杂度的码率控制方法的流程图。
48.图3为帧级量化系数的确定过程的流程示意图。
49.图4为块级量化系数的确定过程的流程示意图。
50.图5为局部图像块的一种划分示意图。
51.图6为量化差值阈值序列的遍历过程的流程示意图。
52.图7为图像复杂度阈值序列的遍历过程的流程示意图。
53.图8为本技术提供的基于图像复杂度的码率控制装载的结构原理图。
54.图9为本技术提供的终端设备的结构原理图。
具体实施方式
55.本技术提供一种基于图像复杂度的码率控制方法及相关装置,为使本技术的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
56.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
57.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
58.应理解,本实施例中各步骤的序号和大小并不意味着执行顺序的先后,各过程的执行顺序以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
59.经过研究发现,未经压缩的视频数据量巨大,通常需要对视频像素数据进行编码压缩以便于视频数据的传输和存储。例如,如图1所示,传感器sensor将采集的bayer数据传输给soc中的isp((image signal processing,图像信号处理)对传感器采集的bayer数据进行后处理,其中,后处理可以包括线性纠正、噪声去除、坏点去除、内插、自动白平衡、自动曝光等等。soc中仅设置有一个isp,同时接入的传感器sensor为多个(例如,在监控和行车的某些应用中可能多大8-10个sensor),sensor传递过来的数据先存储到ddr中,isp再从
ddr中读取数据,这个过程中一方面增加了bayer数据的一写一读操作,另一方面导致了ddr存储系统的带宽和内存压力。
60.目前现有的视频编码流程包括预测、变换、码率控制、量化、熵编码等过程。其中,在量化时普遍是采用固定量化值或者固定压缩率的方式来对编码比特数进行控制,没有考虑人眼感知的特性,无法兼顾压缩率和图像效果。
61.为了解决上述问题,在本技术实施例中,获取待编码图像帧的曝光度及参考图像帧的统计信息,并基于所述曝光度及所述参考图像帧的统计信息计算所述待编码图像帧对应的帧级量化系数;将所述参考图像帧划分为若干局部图像块,并分别获取各局部图像块的块级量化系数,以得到所述待编码图像帧对应的若干块级量化系数;计算所述待编码图像帧中的每个宏块的图像复杂度,并基于各宏块的图像复杂度确定各宏块的宏块级量化系数,以得到待编码图像帧对应的若干宏块级量化系数;基于所述待编码对应的帧级量化系数、若干块级量化系数以及若干宏块级量化系数确定所述待编码帧中的每个宏块的目标量化系数,以控制所述待编码图像帧的编码码率。本技术通过将待编码图像帧的曝光度与参考图像帧的统计信息相结合确定待编码图像帧的帧级量化系数和块级量化系数,然后再基于宏块确定来计算宏块级图像复杂度,并基于宏块级图像复杂度确定宏块级量化系数,最后将帧级量化系数、块级量化系数与宏块级量化系数相结合来目标量化系数,这样将视觉感受和图像内容相结合来目标量化系数,可以在保证压缩率的同时提高图像效果。
62.下面结合附图,通过对实施例的描述,对申请内容作进一步说明。
63.本技术提供的基于图像复杂度的码率控制方法的执行主体可以是一种视频码率控制装置,例如,视频码率控制方法可以由终端设备或服务器或其它处理设备执行,其中,视频码率控制装置可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无线电话、个人数字处理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该视频码率控制方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
64.需要说明的是,在下面实施例的具体描述中,统一使用码率控制装置作为本技术视频码率控制方法的执行主体。
65.本实施例提供了一种基于图像复杂度的码率控制方法,如图2所示,所述方法包括:
66.s10、获取待编码图像帧的曝光度及参考图像帧的统计信息,并基于所述曝光度及所述参考图像帧的统计信息计算所述待编码图像帧对应的帧级量化系数。
67.具体地,所述待编码图像帧可以为视频序列中的一视频帧,也可以是通过传感器采用到的视频数据中的一数据帧。在本实施例中,待编码图像帧为通过传感器采集到的一个bayer格式的数据帧,参考图像帧也为bayer格式的数据帧,其中,参考图像帧可以为待编码图像帧的前一数据帧,参考图像帧携带有统计信息,统计信息包括参考图像帧中的各宏块的目标量化系数以及像素均值等。
68.所述帧级量化系数为基于待编码图像帧的相邻图像整体纹理相似性和待编码图像帧的曝光度确定的,用于反映待编图像帧的视觉感受特性,其中,所述曝光度可以反映待编码图像帧的环境亮度信息,以确定待编码图像帧的图像细节是否容易被人眼分辨,相邻图像整体纹理相似性可以反映待编码图像的时域信息,这样将视觉感受特征和时域信息相
结合来确定帧级量化系数,既有利于码率控制又有利于提高图像效果。
69.在一个实现方式中,基于所述曝光度及所述参考图像帧的统计信息计算所述待编码图像帧对应的帧级量化系数具体包括:
70.s11、基于所述参考图像帧的统计信息确定所述参考图像帧对应的帧级量化均值;
71.s12、基于所述曝光度确定所述待编码图像帧对应的量化调整因子,并基于所述量化调整因子和所述帧级量化均值计算帧级量化系数,以得到所述待编码图像帧对应的帧级量化系数。
72.具体地,所述帧级量化均值指的是参考图像帧中的各宏块的目标量化系数的均值,其中,帧级量化均值的计算公式可以为:
[0073][0074]
其中,pre_frame_qp_avg表示帧级量化均值,mb_num表示参考图像帧所包括的宏块的数量,pre_mb_qpi表示参考图像帧中的第i个宏块的目标量化系数。
[0075]
在获取到帧级量化均值后,可以根据曝光度来对所述帧级量化均值进行调整,提高调整后的帧级量化均值与曝光度相匹配,使得量化后图像保留多的图像细节。换句话说,在获取到帧级量化均值后,基于曝光度确定量化调整因子,并基于量化调整因子对帧级量化均值进行调整,以得到帧级量化系数。
[0076]
所述量化调整因子ae_delta_qp为基于曝光度确定的,其中,量化调整因子与所述曝光度可以呈正相关,即量化调整因子可以基于预设的正相关函数计算得到的;或者是,预先将曝光度划分为若干区间,每个区间对应一量化调整因子,然后基于曝光度所处区间确定待编码图像帧对应的量化调整因子。基于此,所述量化调整因子的确定过程为:
[0077]
当所述曝光度大于或者等于预设曝光度上限值时,将第一调节值作为所述待编码图像帧的量化调整因子;
[0078]
当所述曝光度小于或者等于预设曝光度下限值时,将第二调节值作为所述待编码图像帧的量化调整因子;
[0079]
当所述曝光度位于预设曝光度上限值与预设曝光度下限值之间时,将第三调节值作为所述待编码图像帧的量化调整因子。
[0080]
具体地,预设曝光度上限值和预设曝光度下限值均为预先设置的,通过预设曝光度上限值和预设曝光度下限值划分为三个曝光度区间,三个曝光度区间分别对应三个调节值,分别记为第一调节值、第二调节值和第三调节值,其中,第一调节值大于第三调节值,第三调节值大于第二调节值。
[0081]
在获取曝光度后,可以分别将曝光度与预设曝光度上限值和预设曝光度下限值进行比较,以确定曝光度所处的区间,然后将其所处区间对应的调节值作为量化调整因子。在本实施例中,当曝光度较大时,图像数据的对比度较大,人眼容易分辨图像细节,从而可以将帧级量化均值调大,反之,当曝光度较小时,图像数据的对比度较小,人眼不容易分辨图像细节,从而可以将帧级量化均值调小。因此,第一调节值可以设置为正值,第三调节值可以设置为零,第二调节值可以设置为负值。
[0082]
在获取到量化调整因子后,可以直接计算量化调整因子和所述帧级量化均值的和值,并计算得到的和值作为帧级量化系数pred_frame_qp_。当然,在实际应用中,还可以采
用其他方式计算帧级量化系数,例如,将量化调整因子和所述帧级量化均值进行加权等。
[0083]
s20、将所述参考图像帧划分为若干局部图像块,并分别获取各局部图像块的块级量化系数,以得到所述待编码图像帧对应的若干块级量化系数。
[0084]
具体地,若干局部图像块中的每个局部图像块均为参考图像帧的部分图像,其中,若干局部图像块的图像尺寸可以相同,也可以不相同。在一个典型实现方式中,若干局部图像块中的各局部图像块的图像尺寸均相同,即可以采用将参考图像帧等分的方式来确定若干局部图像块,例如,如图5所示,图中的黑色圆点表示每个局部图像块的左上角坐标,通过5*5个左上角坐标将参考图像帧划分为25个局部块,其中,最右侧和最下方的局部块以参考图像帧的图像边界为局部图像块的边界。
[0085]
进一步,在将参考图像帧划分为若干局部图像块后,还需要记录各局部图像块在参考图像帧中的位置信息,以便于基于该位置信息可以确定待编码图像帧中与该局部图像块对应的图像块,其中,对应指的是各局部图像块在参考图像帧中的位置信息与其对应的图像块在待编码图像块中的位置信息相同。可以理解的是,位置信息为局部图像块在参考图像帧中的位置标识,例如,位置信息为局部图像块的左上顶点的位置坐标以及局部图像块的宽度和高度,或者是,局部图像块的四个顶点的位置坐标,或者是,局部图像块的中心点的位置坐标以及局部图像块的宽度和高度等。
[0086]
在一个实现方式中,所述分别获取各局部图像块的块级量化系数具体包括:
[0087]
s21、对于每个局部图像块,计算所述局部图像块的块级量化方差;
[0088]
s22、获取所述局部图像块对应的量化方差阈值序列,并遍历所述量化方差阈值序列;
[0089]
s23、当遍历到目标量化方差阈值时,将所述目标量化方差阈值对应的第一量化系数作为块级量化系数;
[0090]
s24、当未遍历到目标量化方差阈值时,将预设的第二量化系数作为块级量化系数,其中,所述第二量化系数大于所述第一量化系数。
[0091]
具体地,如图4所示,在划分得到各局部图像块后,分别计算各局部图像块的块级量化方差pre_local_qp_cov,其中,所述块级量化方差为基于各局部图像块的块级量化均值计算得到的。相应的,所述块级量化方差的计算过程可以为:计算局部图像块的块级量化均值,然后基于块级量化均值计算块级量化方差,其中,块级量化均值和块级量化方差的计算公式分别为:
[0092][0093][0094]
其中,pre_local_qp_avg表示局部图像块的块级量化均值,local_qp_num表示局部图像块所包含的宏块数量,local_mb_qpi表示表示第i个宏块的目标量化系数,pre_local_qp_cov表示局部图像块的块级量化方差。
[0095]
进一步,如图4所示,在获取到的各局部图像块的块级量化方差后,可以基于预设的量化方差阈值序列确定各局部图像块对应的块级量化系数pre_local_delta_qp,其中,
各局部图像块对应的量化方差阈值序列可以相同,也可以不相同。在本实施例中,由于每个局部图像块对应的块级量化系数间的波动在预设范围内,从而各局部图像块采用相同的量化方差阈值序列。
[0096]
所述量化方差阈值序列包括若干量化方差阈值,并且各量化方差阈值互不相同。换句话说,量化方差阈值序列可以为一个递增序列,例如,量化方差阈值序列包括量化方差阈值a1、量化方差阈值a2和量化方差阈值a3,其中,量化方差阈值a1、量化方差阈值a2和量化方差阈值a3按照从小到大的顺序构成量化方差阈值序列{a1,a2,a3}。
[0097]
进一步,遍历所述量化方差阈值序列指的是分别将局部图像块的块级量化方差与各量化方差阈值进行比较,以确定目标量化方差阈值;当遍历到目标量化方差阈值时,将目标量化方差阈值对应的第一量化系数作为块级量化系数;反之,当未遍历到目标量化方差阈值时,将预设的第二量化系数作为块级量化系数。其中,所述目标量化方差阈值为量化方差阈值序列中大于所述量化方差的最小量化方差阈值,可以理解的是,目标量化方差阈值小于块级量化方差,并且量化方差阈值序列中的任意量化方差阈值,若该量化方差阈值大于块级量化方差,则该量化方差阈值大于目标量化方差阈值。
[0098]
在一个实现方式中,如图6所示,由于量化方差阈值序列可以通过将量化方差阈值按照从小到大的顺序进行排列形成一个单调递增序列,记为block_rate_th[i],i=0,1,...,block_rate_num,block_rate_num为正整数;然后将块级量化方差pre_local_qp_cov与量化方差阈值block_rate_th[0]进行比较,如果pre_local_qp_cov小于block_rate_th[0],则将block_rate_th[0]对应的第一量化系数block_qp_step[0]作为块级量化系数,如果pre_local_qp_cov大于或者等于block_rate_th[0],则将块级量化方差pre_local_qp_cov与量化方差阈值block_rate_th[1]进行比较,依次类推直至获取到大于pre_local_qp_cov的量化方差阈值block_rate_th[i],或者是遍历完所述量化方差阈值序列;其中,当遍历完所述量化方差阈值序列时,将第二量化系数block_qp_step[n-1]作为块级量化系数,n为第一量化系数和第二量化系数的和。
[0099]
进一步,量化方差阈值序列中的每个量化方差阈值均对应有一个第一量化系数,并且各量化方差阈值对应的第一量化系数互不相同,其中,量化方差阈值与其对应的第一量化系数正相关,即第一量化系数随着量化方差阈值的增大而增大,也就是说,按照从小到大顺序排列而成的量化方差阈值序列对应的第一量化系数序列为单调递增序列。例如,对于量化方差阈值序列block_rate_th[i],i=0,1,...,block_rate_num,block_rate_th[i]对应的第一量化系数小于block_rate_th[i+1]对应的第一量化系数。此外,第二量化系数为预先设置的,并且第二量化系数大于任意一个量化方差阈值对应的第一量化系数。
[0100]
s30、计算所述待编码图像帧中的每个宏块的图像复杂度,并基于各宏块的图像复杂度确定各宏块的宏块级量化系数,以得到待编码图像帧对应的若干宏块级量化系数。
[0101]
具体地,所述宏块为对待编码图像帧进行压缩处理中的最小单位,图像复杂度为基于宏块所包括的各像素的像素值确定的,用于反映宏块所携带的图像信息。其中,图像复杂度可以通过宏块所包括的各像素的像素值加权得到的,也可以为宏块所包括的各像素的像素值的像素均值,还可以是基于宏块所包括的各像素的像素值的像素均值和各像素的像素值的像素和值计算得到的。
[0102]
在一个实现方式中,所述计算所述待编码图像帧中的每个宏块的图像复杂度具体
包括:
[0103]
s311、对于所述待编码图像帧中的每个宏块,计算所述宏块的像素均值以及像素和值;
[0104]
s312、基于所述像素和值、所述像素均值以及预设数值,计算所述宏块的图像复杂度,以得到各宏块的图像复杂度。
[0105]
具体地,像素均值的计算公式可以为:
[0106][0107]
其中,mb_avg表示宏块的像素均值,mb_pixk表示第k个像素的像素值,m表示宏块的像素数量。
[0108]
在获取到宏块的像素均值后,基于所述像素均值、像素均值以及预设数值,计算所述宏块的图像复杂度,其中,图像复杂度的计算公式可以为:
[0109][0110]
其中,mb_t_val表示宏块的图像复杂度,p表示预设数值,如,128等。
[0111]
进一步,宏块量化系数为基于宏块的图像复杂度计算得到的,不同的宏块的图像复杂度可以不相同,这样可以根据图像复杂度自适应调节编码码率。其中,在基于图像复杂度确定宏块级量化系数时,可以通过将图像复杂度与预设的图像复杂度阈值序列进行比较,根据图像复杂度阈值序列对应的第一预设量化系数序列来为各宏块设置宏块级量化系数,以使得图像复杂度高的宏块配置高的宏块级量化系数,图像复杂度低的宏块配置低的宏块级量化系数。
[0112]
在一个实现方式中,所述基于各宏块的图像复杂度确定各宏块的宏块级量化系数具体包括:
[0113]
s321、对于所述待编码图像帧中的每个宏块,获取所述宏块对应的图像复杂度阈值序列,并遍历所述图像复杂度阈值序列;
[0114]
s322、当遍历到目标图像复杂度阈值时,将所述目标图像复杂度阈值对应的第一预设量化系数作为所述宏块对应的宏块级量化系数;
[0115]
s323、当未遍历到目标量化方差阈值时,将第二预设量化系数作为所述宏块对应的宏块级量化系数,其中,所述第二预设量化系数大于所述第一预设量化系数。
[0116]
具体地,所述目标图像复杂度阈值为图像复杂度阈值序列中大于所述图像复杂度的最小图像复杂度阈值,换句话说,目标图像复杂度阈值大于宏块的图像复杂度,且对于除所述目标图像复杂度阈值外的任意大于宏块的图像复杂度的图像复杂度阈值,该目标图像复杂度阈值均小于该图像复杂度阈值。
[0117]
第一预设量化系数和第二预设量化系数均为预先设置的,各图像复杂度阈值均对应有第一预设量化系数,不同图像复杂度阈值对应的第一预设量化系数不相同,其中,当图像复杂度阈值a大于图像复杂度阈值b时,图像复杂度阈值a对应的第一预设量化系数大于图像复杂度阈值b对应的第一预设量化系数,并且对于任一第一预设量化系数,该第一预设量化系数均小于第二预设量化系数。
[0118]
在一个实现方式中,如图7所示,图像复杂度阈值序列为单调递增序列,记为记为mb_rate_th[i],i=0,1,...,mb_rate_num,mb_rate_num为正整数;然后将图像复杂度mb_t_val与图像复杂度阈值mb_rate_th[0]进行比较,如果mb_t_val小于mb_rate_th[0],则将mb_rate_th[0]对应的第一预设量化系数mb_qp_step[0]作为宏块级量化系数,如果mb_t_val大于或者等于mb_rate_th[0],则将mb_t_val与mb_rate_th[1]进行比较,依次类推直至获取到大于mb_t_val的mb_rate_th[i],或者是遍历完所述图像复杂度阈值序列,其中,当遍历完所述图像复杂度阈值序列时,将第二预设量化系数mb_qp_step[mb_rate_num]作为宏块级量化系数mb_delta_qp。
[0119]
s40、基于所述待编码对应的帧级量化系数、若干块级量化系数以及若干宏块级量化系数确定所述待编码帧中的每个宏块的目标量化系数,以控制所述待编码图像帧的编码码率。
[0120]
具体地,在获取到待编码图像帧对应的帧级量化系数、若干块级量化系数和若干宏块级量化系数和参考量化系数后,可以基于待编码图像帧对应的帧级量化系数、若干块级量化系数以及若干宏块级量化系数计算目标量化参数,其中,可以直接将各宏块的宏块级量化系数、其所属的局部图像块的块级量化系数和帧级量化系数的和作为该宏块的目标量化系数,也可以将先基于各块级量化系数确定参考量化系数,然后将各宏块的宏块级量化系数、帧级量化系数和参考块级量化系数的和作为该宏块的目标量化系数等。本实施例通过将用于反映相邻图像纹理信息的帧级量化系数,用于反映相邻图像局部纹理信息的块级量化系数和用于反映宏块级图像复杂度的宏块级量化系数相加来确定宏块的目标量化系数,这样可以根据相邻图像的纹理信息和待编码图像的宏块级图像复杂度自适应调节各宏块的编码码率,使得编码的实际码率尽可能低,同时在基于相邻图的纹理信息确定帧级量化系数时,添加了基于曝光度确定的调节因子,将视觉感受特性添加到量化系数中,可以提高编码图像的图像质量。
[0121]
在一个实现方式中,所述参考量化系数包括若干参考量化系数;所述基于所述待编码对应的帧级量化系数、若干块级量化系数以及若干宏块级量化系数确定所述待编码帧中的每个宏块的目标量化系数,以控制所述待编码图像帧的编码码率具体为:
[0122]
s411、对于所述待编码图像帧中的每个宏块,获取所述宏块对应的块级量化系数;
[0123]
s412、计算所述帧级量化系数、获取到的块级量化系数和所述宏块的宏块级量化系数的和值;
[0124]
s413、将所述和值作为所述宏块的目标量化系数,以控制所述待编码图像帧的编码码率
[0125]
具体地,所述宏块对应的块级量化系数为宏块所处图像块对应的局部图像块对应的块级量化系数,其中,图像块为在待编码图像帧所处的图像位置与局部图像块在参考图像帧中所处的图像位置相同,即图像块的位置信息与局部图像块的位置信息相同。
[0126]
综上所述,本实施例提供了一种基于图像复杂度的码率控制方法及相关装置,方法包括获取待编码图像帧的曝光度及参考图像帧的统计信息,并基于所述曝光度及所述参考图像帧的统计信息计算所述待编码图像帧对应的帧级量化系数;将所述参考图像帧划分为若干局部图像块,并分别获取各局部图像块的块级量化系数,以得到所述待编码图像帧对应的若干块级量化系数;计算所述待编码图像帧中的每个宏块的图像复杂度,并基于各
宏块的图像复杂度确定各宏块的宏块级量化系数,以得到待编码图像帧对应的若干宏块级量化系数;基于所述待编码对应的帧级量化系数、若干块级量化系数以及若干宏块级量化系数确定所述待编码帧中的每个宏块的目标量化系数,以控制所述待编码图像帧的编码码率。本技术通过将待编码图像帧的曝光度与参考图像帧的统计信息相结合确定待编码图像帧的帧级量化系数和块级量化系数,然后再基于宏块确定来计算宏块级图像复杂度,并基于宏块级图像复杂度确定宏块级量化系数,最后将帧级量化系数、块级量化系数与宏块级量化系数相结合来目标量化系数,这样将视觉感受和图像内容相结合来目标量化系数,可以在保证压缩率的同时提高图像效果。
[0127]
基于上述基于图像复杂度的码率控制方法,本实施例提供了一种基于图像复杂度的码率控制装置,如图8所示,所述装置包括:
[0128]
获取模块100,用于获取待编码图像帧的曝光度及参考图像帧的统计信息,并基于所述曝光度及所述参考图像帧的统计信息计算所述待编码图像帧对应的帧级量化系数;
[0129]
划分模块200,用于将所述参考图像帧划分为若干局部图像块,并分别获取各局部图像块的块级量化系数,以得到所述待编码图像帧对应的若干块级量化系数;
[0130]
计算模块300,用于计算所述待编码图像帧中的每个宏块的图像复杂度,并基于各宏块的图像复杂度确定各宏块的宏块级量化系数,以得到待编码图像帧对应的若干宏块级量化系数;
[0131]
控制模块400,用于基于所述待编码对应的帧级量化系数、若干块级量化系数以及若干宏块级量化系数确定所述待编码帧中的每个宏块的目标量化系数,以控制所述待编码图像帧的编码码率。
[0132]
基于上述基于图像复杂度的码率控制方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的基于图像复杂度的码率控制方法中的步骤。
[0133]
基于上述基于图像复杂度的码率控制方法,本技术还提供了一种终端设备,如图9所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(communications interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
[0134]
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
[0135]
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
[0136]
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,u盘、移动
硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
[0137]
此外,上述存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
[0138]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。

技术特征:
1.一种基于图像复杂度的码率控制方法,其特征在于,所述方法包括:获取待编码图像帧的曝光度及参考图像帧的统计信息,并基于所述曝光度及所述参考图像帧的统计信息计算所述待编码图像帧对应的帧级量化系数;将所述参考图像帧划分为若干局部图像块,并分别获取各局部图像块的块级量化系数,以得到所述待编码图像帧对应的若干块级量化系数;计算所述待编码图像帧中的每个宏块的图像复杂度,并基于各宏块的图像复杂度确定各宏块的宏块级量化系数,以得到待编码图像帧对应的若干宏块级量化系数;基于所述待编码对应的帧级量化系数、若干块级量化系数以及若干宏块级量化系数确定所述待编码帧中的每个宏块的目标量化系数,以控制所述待编码图像帧的编码码率。2.根据权利要求1所述基于图像复杂度的码率控制方法,其特征在于,所述基于所述曝光度及所述参考图像帧的统计信息计算所述待编码图像帧对应的帧级量化系数具体包括:基于所述参考图像帧的统计信息确定所述参考图像帧对应的帧级量化均值;基于所述曝光度确定所述待编码图像帧对应的量化调整因子,并基于所述量化调整因子和所述帧级量化均值计算帧级量化系数,以得到所述待编码图像帧对应的帧级量化系数;其中,所述量化调整因子的确定过程为:当所述曝光度大于或者等于预设曝光度上限值时,将第一调节值作为所述待编码图像帧的量化调整因子;当所述曝光度小于或者等于预设曝光度下限值时,将第二调节值作为所述待编码图像帧的量化调整因子;当所述曝光度位于所述预设曝光度上限值与所述预设曝光度下限值之间时,将第三调节值作为所述待编码图像帧的量化调整因子,其中,所述第一调节值大于所述第三调节值,所述第三调节值大于所述第二调节值。3.根据权利要求1所述基于图像复杂度的码率控制方法,其特征在于,所述分别获取各局部图像块的块级量化系数具体包括:对于每个局部图像块,计算所述局部图像块的块级量化方差;获取所述局部图像块对应的量化方差阈值序列,并遍历所述量化方差阈值序列;当遍历到目标量化方差阈值时,将所述目标量化方差阈值对应的第一量化系数作为块级量化系数,其中,所述目标量化方差阈值为量化方差阈值序列中大于所述量化方差的最小量化方差阈值;当未遍历到目标量化方差阈值时,将预设的第二量化系数作为块级量化系数,其中,所述第二量化系数大于所述第一量化系数。4.根据权利要求1所述基于图像复杂度的码率控制方法,其特征在于,所述计算所述待编码图像帧中的每个宏块的图像复杂度具体包括:对于所述待编码图像帧中的每个宏块,计算所述宏块的像素均值以及像素和值;基于所述像素和值、所述像素均值以及预设数值,计算所述宏块的图像复杂度,以得到各宏块的图像复杂度。5.根据权利要求1或4所述基于图像复杂度的码率控制方法,其特征在于,所述基于各宏块的图像复杂度确定各宏块的宏块级量化系数具体包括:
对于所述待编码图像帧中的每个宏块,获取所述宏块对应的图像复杂度阈值序列,并遍历所述图像复杂度阈值序列;当遍历到目标图像复杂度阈值时,将所述目标图像复杂度阈值对应的第一预设量化系数作为所述宏块对应的宏块级量化系数,其中,所述目标图像复杂度阈值为图像复杂度阈值序列中大于所述图像复杂度的最小图像复杂度阈值;当未遍历到目标量化方差阈值时,将第二预设量化系数作为所述宏块对应的宏块级量化系数,其中,所述第二预设量化系数大于所述第一预设量化系数。6.根据权利要求1所述基于图像复杂度的码率控制方法,其特征在于,所述基于所述待编码对应的帧级量化系数、若干块级量化系数以及若干宏块级量化系数确定所述待编码帧中的每个宏块的目标量化系数,以控制所述待编码图像帧的编码码率具体包括:对于待编码图像帧中的每个宏块,获取所述宏块对应的块级量化系数;计算所述待编码图像帧对应的帧级量化系数、获取到的块级量化系数和所述宏块的宏块级量化系数的和值;将所述和值作为所述宏块的目标量化系数,以控制所述待编码图像帧的编码码率。7.根据权利要求1所述基于图像复杂度的码率控制方法,其特征在于,所述待编码图像帧为bayer格式。8.一种基于图像复杂度的码率控制装置,其特征在于,所述装置包括:获取模块,用于获取待编码图像帧的曝光度及参考图像帧的统计信息,并基于所述曝光度及所述参考图像帧的统计信息计算所述待编码图像帧对应的帧级量化系数;划分模块,用于将所述参考图像帧划分为若干局部图像块,并分别获取各局部图像块的块级量化系数,以得到所述待编码图像帧对应的若干块级量化系数;计算模块,用于计算所述待编码图像帧中的每个宏块的图像复杂度,并基于各宏块的图像复杂度确定各宏块的宏块级量化系数,以得到待编码图像帧对应的若干宏块级量化系数;控制模块,用于基于所述待编码对应的帧级量化系数、若干块级量化系数以及若干宏块级量化系数确定所述待编码帧中的每个宏块的目标量化系数,以控制所述待编码图像帧的编码码率。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-7任意一项所述的基于图像复杂度的码率控制方法中的步骤。10.一种终端设备,其特征在于,包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述通信总线实现处理器和存储器之间的连接通信;所述处理器执行所述计算机可读程序时实现如权利要求1-7任意一项所述的基于图像复杂度的码率控制方法中的步骤。

技术总结
本申请公开了一种基于图像复杂度的码率控制方法及相关装置,方法包括获取待编码图像帧的曝光度及参考图像帧的统计信息,基于曝光度及统计信息计算帧级量化系数;基于统计信息获取局部图像块的块级量化系数;基于宏块的图像复杂度确定宏块级量化系数;基于帧级量化系数、块级量化系数及宏块级量化系数确定宏块的目标量化系数,以控制待编码图像帧的编码码率。本申请将待编码图像帧的曝光度与参考图像帧的统计信息结合来确定帧级量化系数和块级量化系数,基于宏块级图像复杂度确定宏块级量化系数,最后将帧级量化系数、块级量化系数与宏块级量化系数相结合,这样将视觉感受和图像内容相结合来目标量化系数,可以在保证压缩率的同时提高图像效果。的同时提高图像效果。的同时提高图像效果。


技术研发人员:蒋雅伦 旷开智
受保护的技术使用者:深圳市欧冶半导体有限公司
技术研发日:2023.03.29
技术公布日:2023/7/22
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐