CN115967806B - 一种数据帧编码控制方法、***及电子设备 - Google Patents
一种数据帧编码控制方法、***及电子设备 Download PDFInfo
- Publication number
- CN115967806B CN115967806B CN202310248613.6A CN202310248613A CN115967806B CN 115967806 B CN115967806 B CN 115967806B CN 202310248613 A CN202310248613 A CN 202310248613A CN 115967806 B CN115967806 B CN 115967806B
- Authority
- CN
- China
- Prior art keywords
- data frame
- quantization parameter
- encoded
- value
- jnd
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例提供一种数据帧编码控制方法、***及电子设备,在该方法中,根据待编码数据帧的JND值和待编码数据帧的预编码量化参数,以及JND值和量化参数偏移量之间的对应关系,确定用于调节预编码量化参数的目标量化参数偏移量。由此可知,目标量化参数偏移量的确定,参考了待编码数据帧的JND值,其保证待编码数据帧调整像素值前后,待编码数据帧的视觉感知差异对用户是无感知的。根据当前量化参数和目标量化参数偏移量,确定目标量化参数。采用目标量化参数对待编码数据帧进行编码并解码处理获得的重建数据帧与待编码数据帧之间的视觉感知差异对用户是无感知的,而且通过改变量化参数,降低了对待编码数据帧进行编码处理的编码码率,提升编码效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种数据帧编码控制方法、***及电子设备,本申请还涉及一种编码方法、装置及电子设备,本申请还涉及一种自适应视频帧处理方法、装置及电子设备。
背景技术
随着互联网技术的发展,直播和短视频成为互联网技术中的主要应用之一,在互联网中进行直播和短视频,均需要消耗大量的带宽成本,也就是视频编码。为了节省带宽成本,采用视频编码的方式,挖掘视频帧或图像在空间和时间上的冗余性,在保证视频帧或图像的视觉质量的前提下,控制视频帧或图像在存储和传输过程中所需的量化参数,从而节省带宽成本。
现有技术中,视频编码采用H.266(VVC)标准提升编码效率,但是会使得计算复杂度。
因此,如何控制视频编码是需要解决的问题。
发明内容
本申请实施例提供一种数据帧编码控制方法,以控制视频编码。本申请实施例同时涉及一种数据帧编码控制***、电子设备及计算机存储介质。本申请实施例还涉及一种编码方法、装置及电子设备,本申请实施例还涉及一种自适应视频帧处理方法、装置及电子设备。
本申请实施例提供一种数据帧编码控制方法,包括:确定接收到的待编码数据帧的恰可察觉差异JND值;根据所述待编码数据帧的JND值和预编码量化参数,以及JND值和量化参数偏移量之间的对应关系,确定用于调节所述预编码量化参数的目标量化参数偏移量;根据所述待编码数据帧的预编码量化参数,以及所述目标量化参数偏移量,确定针对所述待编码数据帧的目标量化参数,作为提供给编码器的量化参数。
可选的,所述JND值和量化参数偏移量之间的对应关系,通过如下方式建立:确定所述待编码数据帧的JND值以及预编码量化参数;根据所述JND值以及所述预编码量化参数,确定用于调节所述预编码量化参数的初始量化参数偏移量;根据所述预编码量化参数和所述初始量化参数偏移量,确定第一量化参数;分别采用所述预编码量化参数和所述第一量化参数对所述待编码数据帧进行编码并解码处理,获得对应的重建数据帧;根据所述重建数据帧与所述待编码数据帧之间的编码失真值,建立所述JND值和所述量化参数偏移量之间的对应关系。
可选的,所述分别采用所述预编码量化参数和所述第一量化参数对所述待编码数据帧进行编码并解码处理,获得对应的重建数据帧,包括:采用所述预编码量化参数对所述待编码数据帧进行编码并解码处理,获得第一重建数据帧;采用所述第一量化参数对所述待编码数据帧进行编码并解码处理,获得第二重建数据帧。
可选的,所述根据所述重建数据帧与所述待编码数据帧之间的编码失真值,建立所述JND值和所述量化参数偏移量之间的对应关系,包括:确定所述第一重建数据帧与所述待编码数据帧之间的第一编码失真值;确定所述第二重建数据帧与所述待编码数据帧之间的第二编码失真值;确定所述第一编码失真值和所述第二编码失真值之间的失真差异值;如果所述失真差异值小于或者等于预设的失真差异阈值,则停止执行所述确定用于调节所述预编码量化参数的初始量化参数偏移量的步骤,建立所述JND值与所述初始量化参数偏移量之间的对应关系。
可选的,还包括:如果所述失真差异值大于预设的失真差异阈值,则重复执行根据所述JND值以及所述预编码量化参数,确定用于调节所述预编码量化参数的初始量化参数偏移量的步骤。
可选的,所述确定接收到的待编码数据帧的恰可察觉差异JND值,包括:确定所述待编码数据帧的空域JND值;确定所述待编码数据帧的时域JND值;将所述空域JND值和所述时域JND值进行融合处理,确定所述待编码数据帧的JND值。
可选的,所述确定所述待编码数据帧的空域JND值,包括:根据所述待编码数据帧的亮度值,计算所述待编码数据帧的亮度掩蔽值;根据所述待编码数据帧的对比度值,计算所述待编码数据帧的对比度掩蔽值;根据所述待编码数据帧的亮度掩蔽值和所述待编码数据帧的对比度掩蔽值,确定所述待编码数据帧的空域JND值。
可选的,所述确定所述待编码数据帧的时域JND值,包括:获取所述待编码数据帧的像素值;获取所述待编码数据帧的时域相邻帧的同位像素的像素值,所述同位像素为所述待编码数据帧的相邻数据帧在所述相邻数据帧对应的空域上相同位置的像素;计算所述待编码数据帧的像素值与所述时域相邻帧的同位像素的像素值之间的差值;根据所述待编码数据帧的像素值与所述时域相邻帧的同位像素的像素值之间的差值,确定所述待编码数据帧的时域JND值。
可选的,所述待编码数据帧的时域JND值包括亮度掩蔽值;所述方法还包括:获取待编码数据帧像素的亮度值与所述时域相邻帧的同位像素的亮度值之间的差值;根据所述待编码数据帧像素的亮度值与所述时域相邻帧的同位像素的亮度值之间的差值,确定所述待编码数据帧的亮度掩蔽值。
可选的,还包括:所述编码器通过所述目标量化参数对所述待编码数据帧进行编码处理。
本申请实施例还提供一种编码方法,包括:获取待编码数据帧,根据上述方法确定目标量化参数,根据所述目标量化参数对所述待编码数据帧进行编码处理。
本申请实施例还提供一种自适应视频帧处理方法,包括:确定待处理视频帧的视频资源;如果所述视频资源小于设定值时,根据上述方法,对所述待处理视频帧进行编码处理。
本申请实施例还提供一种数据帧编码控制***,包括:JND值确定单元,用于确定接收到的待编码数据帧的恰可察觉差异JND值;量化参数偏移量确定单元,用于根据所述待编码数据帧的JND值和预编码量化参数,以及JND值和量化参数偏移量之间的对应关系,确定用于调节所述预编码量化参数的目标量化参数偏移量;量化参数确定单元,用于根据所述待编码数据帧的预编码量化参数,以及所述目标量化参数偏移量,确定针对所述待编码数据帧的目标量化参数,作为提供给编码器的量化参数。
本申请实施例还提供一种电子设备,所述电子设备包括处理器和存储器;所述存储器中存储有计算机程序,所述处理器运行所述计算机程序后,执行上述方法。
本申请实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器运行后,执行上述方法。
与现有技术相比,本申请实施例具有如下优点:
本申请实施例提供一种数据帧编码控制方法,包括:确定接收到的待编码数据帧的恰可察觉差异JND值;根据所述待编码数据帧的JND值和预编码量化参数,以及JND值和量化参数偏移量之间的对应关系,确定用于调节所述预编码量化参数的目标量化参数偏移量;根据所述待编码数据帧的预编码量化参数,以及所述目标量化参数偏移量,确定针对所述待编码数据帧的目标量化参数,作为提供给编码器的量化参数。
上述方法,根据待编码数据帧的JND值和待编码数据帧的预编码量化参数,以及JND值和量化参数偏移量之间的对应关系,确定用于调节预编码量化参数的目标量化参数偏移量。由此可知,目标量化参数偏移量的确定,参考了待编码数据帧的JND值,其保证待编码数据帧调整像素值前后,待编码数据帧的视觉感知差异对用户是无感知的。根据当前量化参数和目标量化参数偏移量,确定目标量化参数。采用目标量化参数对待编码数据帧进行编码并解码处理获得的重建数据帧与待编码数据帧之间的视觉感知差异对用户是无感知的。用户通过肉眼观看重建数据帧和待编码数据帧的内容是没有差别的,用户使用两种数据帧的过程中不存在差异。而且通过改变量化参数,降低了对待编码数据帧进行编码处理的编码码率,提升编码效率。
附图说明
图1A为传统的数学信号保真度随着信号值变化程度改变的示意图。
图1B为本申请实施例提供的视觉感知信号保真度对信号值变化程度改变的示意图。
图2为本申请实施例提供的数据帧编码控制方法的场景示意图。
图3为本申请实施例提供的采用数据帧编码控制方法获得的目标量化参数对待编码数据帧进行编码处理的编码效率示意图。
图4为本申请实施例提供的基于JND的编码控制的视频编码和不应用基于JND的编码控制的视频编码的第一对比示意图。
图5为本申请实施例提供的基于JND的编码控制的视频编码和不应用基于JND的编码控制的视频编码的第二对比示意图。
图6为本申请实施例提供的基于JND的编码控制的视频编码和不应用基于JND的编码控制的视频编码的第三对比示意图。
图7本申请第一实施例提供的一种数据帧编码控制方法的流程图。
图8为本申请第一实施例提供的确定JND值的场景示意图。
图9为本申请第一实施例提供的视频帧或图像像素的亮度值与视觉掩蔽值之间的对应关系图。
图10为本申请第一实施例提供的相邻视频帧的同位像素的亮度值的差值与视觉掩蔽值之间的对应关系图。
图11为本申请第一实施例提供的构建数据帧编码控制模型的逻辑框架图。
图12为本申请第二实施例提供的一种数据帧编码控制***的逻辑框架图。
图13为本申请第五实施例中提供的一种电子设备的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请中使用的术语是仅仅出于对特定实施例描述的目的,而非旨在限制本申请。在本申请中和所附权利要求书中所使用的描述方式例如:“一种”、“第一”、和“第二”等,并非对数量上的限定或先后顺序上的限定,而是用来将同一类型的信息彼此区分。
首先,对本申请涉及的概念进行说明:
待编码数据帧:即为编码处理前的原始数据帧,原始数据帧包括原始视频帧或者原始图像。
编码处理:通过压缩技术,将原始数据帧格式的文件转换为另一种数据帧格式的文件。
JND(Just Noticeable Difference/Distortion,恰可察觉差异/失真):人类视觉***的一个重要先验假设,即存在人眼可以感知到的最小视觉信号差异的门限值,表征人眼对于视觉失真的冗余。
恰可察觉差异(JND)值:对待编码数据帧进行像素值调整,调整像素值之后的待编码数据帧和调整像素值之前的待编码数据帧之间的视觉感知失真对于用户是无感知的。
量化参数:量化是把信号的连续取值映射成多个离散的幅值的过程,实现了信号取值多对一的映射,量化可以减小信号的取值范围,以获得较好的压缩效果;量化参数是一种在编码过程中导出量化步长的参数,以控制编码后码流的体积大小和质量,量化参数越小,编码后的码流体积越大,画面质感越高;量化参数越大,编码后的码流体积越小,画面质感越低。
其中,预编码量化参数可以是指对待编码数据帧进行编码处理的量化参数。
第一量化参数可以是指根据JND值和预编码量化参数确定的初始量化参数偏移量,根据预编码量化参数和初始量化参数偏移量确定的量化参数。
量化参数偏移量:用于调整待编码数据帧的量化参数幅度的参数,量化参数偏移量和初始量化参数叠加后获得调整后的量化参数。量化参数偏移量越大,调整后的量化参数越小。
初始量化参数偏移量可以是指在建立JND值和量化参数偏移量之间的对应关系时,根据JND值和预编码量化参数确定的初始量化参数偏移量。
质量评价:衡量数据帧的人眼感知质量,通过主客观的方式对两幅主题内容相同的数据帧信息的变化进行评价。
亮度:数据帧的明暗程度,通常可用灰度值表示,灰度值越小,亮度越低,灰度值越大,亮度越高。
对比度:数据帧的明暗程度,通常可用最大灰度值和最小灰度值的差值表示,差值越小,对比度越低,差值越大,对比度越高。
H.266(VVC)标准:国际视频编码标准。
本申请实施例提供一种数据帧编码控制方法。本申请实施例还提供一种数据帧编码控制***、电子设备及计算机存储介质。在下面的实施例中逐一进行详细说明。
为了便于理解本申请实施例提供的方法及***,在介绍本申请实施例之前,先对本申请实施例的背景进行介绍。
目前,随着互联网技术的发展,直播和短视频成为互联网技术中的主要应用之一,在互联网中进行直播和短视频,均需要消耗大量的带宽成本,也就是视频量化参数。为了节省带宽成本,采用视频编码的方式,挖掘视频帧或图像在空间和时间上的冗余性,在保证视频帧或图像的视觉质量的前提下,控制视频帧或图像在存储和传输过程中所需的量化参数,从而节省带宽成本。
现有技术中,视频编码采用H.266(VVC)标准提升编码效率,但是会使得计算复杂度。
因此,如何控制视频编码是需要解决的问题。
经过上述内容的背景介绍,本领域技术人员可以了解现有技术存在的问题,接下来对本申请的数据帧编码控制方法的应用场景进行详细说明。本申请提供的数据帧编码控制方法可以应用于各种直播或短视频播放传输和保存的应用场景中。例如,在将直播画面或者短视频画面呈现给用户之前,对直播或者短视频的视频帧进行编码处理的过程中,如果直播或者短视频的视频资源不能满足当前直播或短视频所需要的带宽成本,则需要对直播或者短视频的视频帧进行编码处理时,降低编码处理过程中的编码码率。采用上述方法,以基于人眼恰可察觉差异的基础上,通过改变量化参数,降低了对待编码数据帧进行编码处理的编码码率,使得编码处理后的直播画面或者短视频内容呈现给用户时,不影响用户对视频帧画面的主观画质体验的同时,降低了编码处理过程中所需要的带宽成本,提升编码效率。
为了解决上述技术问题,本申请实施例提供一种数据帧编码控制方法,根据待编码数据帧的JND值和待编码数据帧的预编码量化参数,以及JND值和量化参数偏移量之间的对应关系,确定用于调节预编码量化参数的目标量化参数偏移量。由此可知,目标量化参数偏移量的确定,参考了待编码数据帧的JND值,其保证待编码数据帧调整像素值前后,待编码数据帧的视觉感知差异对用户是无感知的。根据当前量化参数和目标量化参数偏移量,确定目标量化参数。采用目标量化参数对待编码数据帧进行编码并解码处理获得的重建数据帧与待编码数据帧之间的视觉感知差异对用户是无感知的。用户通过肉眼观看重建数据帧和待编码数据帧的内容是没有差别的,用户使用两种数据帧的过程中不存在差异。而且通过改变量化参数,降低了对待编码数据帧进行编码处理的编码码率,提升编码效率。
请参考图1A,其为传统的数学信号保真度随着信号值变化程度改变的示意图。传统的视觉信号变化的衡量指标包括峰值信噪比和结构相似性,上述衡量指标用于衡量视觉信号的保真度,也就是失真程度。根据图1A可知,对待编码数据采用传统的编码处理方法进行编码处理的过程中,数学信号保真度随着信号值变化程度的增大而变小。
然而,人眼对于视觉信号失真的感知程度并非图1A所描述的变化状态,人眼对视觉信号值变化的感知程度如图1B所示,其为本申请实施例提供的视觉感知信号保真度对信号值变化程度改变的示意图。由图1B可知,同一个BZ区间是指在图1B中的坐标系x轴从左到右的每一条与x轴平行的横线覆盖的范围,例如图1B中,第一BZ1区间对应的范围为x1到x2之间的范围,第二BZ2区间对应的范围为x2到x3之间的范围。也就是,在同一个BZ区间范围内改变横坐标-信号值时,其对应的纵坐标视觉感知信号保真度的数据是一个固定值,没有变化。这就是处于同一个BZ区间的视觉信号值变化,不会对人眼的视觉感知造成明显的质量下降。换而言之,在同一个BZ区间的视觉信号内容变化,人眼对视觉信号的差异是无感知的,因此,一个BZ区间中的横坐标覆盖的信号范围值为人眼可以感知到的最小视觉信号差异的门限值,可以通过JND(Just Noticeable Difference/Distortion,恰可察觉差异/失真)值进行衡量。
例如,在图1B中,第一BZ1区间对应的横坐标的两个端值分别为x1和x2,其中,x2不属于第一BZ1区间,属于第二BZ2区间,x2对应的纵坐标值y2不等于x1对应的纵坐标值y1。也就是说,在第一BZ1区间,将信号值由x1开始调整,当信号值调整至x2之前,视觉感知信号保真度不变,信号值改变前后的差异值,为人眼可以感知到的最小视觉信号差异的门限值。在第一BZ1区间,如果视频帧的信号值改变前后的差异值小于/>,则视频帧的视觉感知差异对用户是无感知的。
如果将视频帧的信号值由x1调整至x3,x3属于第二BZ2区间的,且x3对应的纵坐标值y2不等于x1对应的纵坐标值y1。因此,信号值由x1调整至x3对视频帧带来的视觉感知差异对用户是有感知的。因此,将视频帧的信号值调整前后的差值维持在同一个BZ区间中,在此基础上,调整待编码视频帧的量化参数,保证用户对视频帧信号差异无感知的情况下,降低编码码率,提升编码效率。
JND包括亮度适应性(luminance adaptation)、对比度适应性(contrastsensitivity function)、以及掩蔽效应(masking effect)。亮度适应性表征人眼对于不同亮度的视觉信号的敏感程度,亮度适应性与视频帧或图像像素的亮度值呈非线性关系。对比度适应性表征人眼对于不同频率的视觉信号的敏感程度,其包括空域对比度和时域对比度。空域对比度包括平坦区域,即低频空域信号,变化缓慢;和纹理区域,即空域高频信号,变化剧烈。时域对比度包括帧间运动缓慢,即低频时域信号;帧间运动剧烈,即高频时域信号。对比度适应性与空域对比度和时域对比度呈非线性关系。掩蔽效应,通常与亮度适应性和对比度适应性结合,表征人眼感知对于视觉信号变化的冗余程度,即视频帧或图像像素值的JND值。
在视频编码领域中,码率和失真是衡量编码效率和编码质量的两个重要质量。视频编码的两种有益效果是,第一种,采用固定的量化参数,对编码后的码流进行解码处理后,获得的重建视频帧或者图像与原始待编码视频帧或原始待编码图像之间的视觉失真程度小于预设的视觉失真阈值。也就是,采用固定的量化参数对视频帧或者图像进行编码处理,此处固定的量化参数可以是小于标准量化参数的固定值,降低编码过程中的编码码率,且可以保证重建视频帧的编码质量。
第二种,基于解码后的重建视频帧或者重建图像与原始待编码视频帧或者原始图像之间的视觉失真小于预设的视觉失真阈值的条件下,重建视频帧或者重建图像在编码过程中所采用的量化参数小于预设的量化参数阈值。也就是,保证重建视频帧的编码质量的条件下,降低待编码视频帧在编码过程中的编码码率。
因此,本申请实施例提供的数据帧编码控制方法,基于解码后的重建数据帧与待编码数据帧的视觉失真差异值小于JND值的条件下,通过改变量化参数,降低对待编码数据帧进行编码处理的编码码率,提升编码效率。以下请参考图2,其为本申请实施例提供的数据帧编码控制方法的场景示意图。
在图2中,首先获取视频源中的视频帧,对视频帧进行编码控制处理,具体是将视频帧输入量化参数控制***,量化参数控制***根据视频帧的JND值,以及视频帧的预编码量化参数,确定用于调节预编码量化参数的目标量化参数偏移量,根据预编码量化参数和目标量化参数偏移量,确定目标量化参数。其中,目标量化参数控制***200包括:JND计算模块201,dQP(delta Quantization Parameter,量化参数偏移量)分析模块202,dQP计算模块203。
JND计算模块201,用于计算待编码数据帧的恰可察觉差异JND值,此处,JND值可以是指,人眼可以感知到的最小视觉信号差异的门限值,表征人眼对于视觉失真的冗余。在本申请实施例中,将所述待编码视频帧的原始像素值调整至所述待编码视频帧的目标像素值,所述待编码视频帧的目标像素值与所述待编码数据帧的原始像素值之间的视觉感知失真值小于人眼可接受视觉感知失真阈值。也就是说,在待编码数据帧的原始像素值的基础上增加JND值或者降低JND值,重建数据帧的视觉失真感知差异对于人眼视觉感知是无变化的。
例如图1B中,将待编码数据帧的像素信号值调节值处于同一个BZ区间时,人眼对于待编码数据帧的像素调节前后的视觉失真感知程度是没有变化的。
在确定待编码数据帧的JND值前提下,调节待编码数据帧进行编码处理所需的量化参数,可以保证人眼对待编码数据帧的像素值变化带来的视觉失真感知程度不变的情况下,通过改变量化参数,降低对待编码数据帧进行编码处理过程中的编码码率,提升编码效率。
JND计算模块201将获取的待编码数据帧的JND值发送至dQP分析模块202,dQP分析模块202用于根据待编码数据帧的JND值,所述待编码数据帧的预编码量化参数,确定用于调节预编码量化参数的目标量化参数偏移量。
具体的,dQP分析模块202构建数据帧编码控制模型,并调节数据帧编码控制模型,将调节完成的数据帧编码控制模型发送给dQP计算模块203。
其中,调节完成的数据帧编码控制模型根据待编码数据帧的JND值以及预编码量化参数QP_enc,(QP,Quantization Parameter, 量化参数),enc(encode,编码),获得用于调节所述预编码量化参数的目标量化参数偏移量dQP_enc(dQP,delta QuantizationParameter,量化参数偏移量)。根据预编码量化参数QP-enc和目标量化参数偏移量dQP_enc,获得目标量化参数QP_enc_opt,QP_enc-opt=QP_enc+dQP_enc。
根据上述方式获取目标量化参数后,采用目标量化参数对待编码数据帧进行编码并解码处理获得目标重建数据帧。采用预编码量化参数对待编码数据帧进行编码并解码处理获得第一重建数据帧。其中,目标重建数据帧与第一重建数据帧之间的视觉感知差异值对用户来说是无感知的,在此基础上,将预编码量化参数调整至目标量化参数,降低了编码过程中的编码码率,节省了编码成本,提升了编码效率。
dQP分析模块202具体通过如下方式构建数据帧编码控制模型,并调节数据帧编码控制模型:
确定所述待编码数据帧的JND值以及预编码量化参数;根据所述JND值以及所述预编码量化参数,确定用于调节所述预编码量化参数的初始量化参数偏移量;根据所述预编码量化参数和所述初始量化参数偏移量,确定第一量化参数。
采用所述预编码量化参数对待编码数据帧进行编码并解码处理,获得第一重建数据帧;采用所述第一量化参数对待编码数据帧进行编码并解码处理,获得第二重建数据帧。
计算所述第一重建数据帧与所述待编码数据帧之间的第一编码失真值;计算所述第二重建数据帧与所述待编码数据帧之间的第二编码失真值;计算所述第一编码失真值和所述第二编码失真值之间的失真差异值;如果失真差异值小于获得等于预设失真差异值,说明初始量化参数偏移量为用于调节所述预编码量化参数的目标量化参数偏移量,第一量化参数为用于处理待编码数据帧的目标量化参数。因此,可以停止调节数据帧编码控制模型。
dQP计算模块203获取调节完成的数据帧编码控制模型,根据JND值和预编码量化参数,获得目标量化参数偏移量,根据预编码量化参数和目标量化参数偏移量,获得目标量化参数,作为提供给编码器的量化参数。
以上即为本申请实施例提供的数据帧编码控制方法的场景实施例的描述。
在数据帧编码控制方法的基础上,本申请实施例还提供一种编码方法,获取待编码数据帧,根据上述数据帧编码控制方法,确定目标量化参数,根据所述目标量化参数对所述待编码数据帧进行编码处理。
具体的,编码器通过目标量化参数对待编码数据帧进行编码并解码处理,获得的目标重建数据帧与待编码数据帧之间的视觉失真差异小于JND值,该过程中,使得用户对数据帧的视觉失真差异无感知的情况下,通过改变量化参数,降低了数据帧编码过程中的编码码率,提升了编码效率。
请参考图3,其为本申请实施例提供的采用数据帧编码控制方法获得的目标量化参数对待编码数据帧进行编码处理的编码效率示意图。
具体的,第一组视频编码,是通过不采用基于JND的编码控制方法获得第一组视频编码。第二组视频编码,是通过采用基于JND的编码控制方法获得的第二组视频编码。在50段测试序列、选取3个不同的编码QP上进行比较两组视频编码在编码过程中的码率节省效率。
请参考图4到图6,其中,图4为本申请实施例提供的基于JND的编码控制的视频编码和不应用基于JND的编码控制的视频编码的第一对比示意图。图5为本申请实施例提供的基于JND的编码控制的视频编码和不应用基于JND的编码控制的视频编码的第二对比示意图。图6为本申请实施例提供的基于JND的编码控制的视频编码和不应用基于JND的编码控制的视频编码的第三对比示意图。
具体的,在图4中,采用在50段测试序列选取第一个编码QP为22,分别获得的第一组视频编码中的第一个视频编码图像和第二组视频编码中的第一个视频编码图像对应的图像示意图。图4中的两个图,左侧图为第一组视频编码中的第一个视频编码图像,右侧图为第二组视频编码中的第一个视频编码图像。在图4中,可以看到,第一组视频编码中的第一个视频编码图像和第二组视频编码中的第一个视频编码图像之间的视觉感知差异对于用户来说是无感知的。用户通过肉眼观看第一组视频编码中的第一个视频编码图像和第二组视频编码中的第一个视频编码图像是没有差别的,不会对用户使用两个图时造成区别差异的影响。但是,相对于第一组视频编码中的第一个视频编码图像,第二组视频编码中的第一个视频编码图像在编码过程中通过改变量化参数,节省了编码码率,提升了编码效率。
在图5中,采用在50段测试序列选取第二个编码QP为27,分别获得的第一组视频编码中的第二个视频编码图像和第二组视频编码中的第二个视频编码图像对应的图像示意图。图5中的两个图,左侧图为第一组视频编码中的第二个视频编码图像,右侧图为第二组视频编码中的第二个视频编码图像。在图5中,可以看到,第一组视频编码中的第二个视频编码图像和第二组视频编码中的第二个视频编码图像之间的视觉感知差异对于用户来说是无感知的。用户通过肉眼观看第一组视频编码中的第二个视频编码图像和第二组视频编码中的第二个视频编码图像是没有差别的,不会对用户使用两个图时造成区别差异的影响。但是,相对于第一组视频编码中的第二个视频编码图像,第二组视频编码中的第二个视频编码图像在编码过程中通过改变量化参数,节省了编码码率,提升了编码效率。
在图6中,采用在50段测试序列选取第三个编码QP为32,分别获得的第一组视频编码中的第三个视频编码图像和第二组视频编码中的第三个视频编码图像对应的图像示意图。图6中的两个图,左侧图为第一组视频编码中的第三个视频编码图像,右侧图为第二组视频编码中的第三个视频编码图像。在图6中,可以看到,第一组视频编码中的第三个视频编码图像和第二组视频编码中的第三个视频编码图像之间的视觉感知差异对于用户来说是无感知的。用户通过肉眼观看第一组视频编码中的第三个视频编码图像和第二组视频编码中的第三个视频编码图像是没有差别的,不会对用户使用两个图时造成区别差异的影响。但是,相对于第一组视频编码中的第三个视频编码图像,第二组视频编码中的第三个视频编码图像在编码过程中通过改变量化参数,节省了编码码率,提升了编码效率。
由图3-图6可知,对于第一组视频编码(通过不采用基于JND的编码控制方法获得第一组视频编码),第二组视频编码(通过采用基于JND的编码控制方法获得的第二组视频编码),在重建数据帧与待编码数据帧之间的视觉失真差异可忽略的情况下,编码码率得到明显降低,平均节省29%。因此,本申请实施例提供的数据帧编码控制方法获得的目标量化参数对待编码数据帧进行编码处理,通过改变量化参数,降低了编码码率,提升编码效率的效果。
本申请实施例提供一种数据帧编码控制方法,包括:确定接收到的待编码数据帧的恰可察觉差异JND值;根据所述待编码数据帧的JND值和预编码量化参数,以及JND值和量化参数偏移量之间的对应关系,确定用于调节所述预编码量化参数的目标量化参数偏移量;根据所述待编码数据帧的预编码量化参数,以及所述目标量化参数偏移量,确定针对所述待编码数据帧的目标量化参数,作为提供给编码器的量化参数。
上述方法,根据待编码数据帧的JND值和待编码数据帧的预编码量化参数,以及JND值和量化参数偏移量之间的对应关系,确定用于调节预编码量化参数的目标量化参数偏移量。由此可知,目标量化参数偏移量的确定,参考了待编码数据帧的JND值,其保证待编码数据帧调整像素值前后,待编码数据帧的视觉感知差异对用户是无感知的。根据当前量化参数和目标量化参数偏移量,确定目标量化参数。采用目标量化参数对待编码数据帧进行编码并解码处理获得的重建数据帧与待编码数据帧之间的视觉感知差异对用户是无感知的。用户通过肉眼观看重建数据帧和待编码数据帧的内容是没有差别的,用户使用两种数据帧的过程中不存在差异。而且通过改变量化参数,降低了对待编码数据帧进行编码处理过程中的编码码率,提升编码效率。
第一实施例
图7为本申请第一实施例提供的一种数据帧编码控制方法的流程图,以下结合图7对本实施例提供的数据帧编码控制方法进行详细描述。
如图7所示,在步骤S701中,确定接收到的待编码数据帧的恰可察觉差异JND值。
本步骤用于接收待编码数据帧,并确定待编码数据帧的JND值,为后续步骤根据JND值和预编码量化参数,确定用于调整预编码量化参数的目标量化参数偏移量提供数据基础。
其中,待编码数据帧包括待编码视频帧或者待编码图像。从视频源中收到视频帧,其中视频源可以是由视频拍摄设备(例如照相机、摄影机等)、或视频存储设备中获取的视频数据,视频帧可以是视频中某一帧的图像、或单张或多张图片。
JND(Just Noticeable Difference/Distortion,恰可察觉差异/失真):人类视觉***的一个重要先验假设,即存在人眼可以感知到的最小视觉信号差异的门限值,表征人眼对于视觉失真的冗余。
恰可察觉差异(JND)值:对待编码数据帧进行像素值调整,调整像素值之后的待编码数据帧和调整像素值之前的待编码数据帧之间的视觉感知失真对于用户是无感知的。
本步骤确定JND值,目的是在对待编码数据帧进行编码并解码获得重建数据帧的过程中,降低目标量化参数时结合了JND值,使用改变后的量化参数对待编码数据帧进行编码并解码处理,基于用户对待编码数据帧的编码解码过程中的视觉失真差异无感知的情况下,降低编码码率,提升编码效率。
所述确定接收到的待编码数据帧的恰可察觉差异JND值,可以通过如下方式实现:
确定所述待编码数据帧的空域JND值;确定所述待编码数据帧的时域JND值;将所述空域JND值和所述时域JND值进行融合处理,确定所述待编码数据帧的JND值。
其中,待编码数据帧的JND值包括空域JND值和时域JND值,计算待编码数据帧的JND值需要考虑空域JND值和时域JND值。
请参考图8,其为本申请第一实施例提供的确定JND值的场景示意图。
在图8中,确定JND采用JND计算单元800对视频帧进行处理,获得视频帧的JND值。具体包括:
所述JND值计算单元包括:空域JND值计算单元801-1,用于获取所述待编码数据帧的空域JND值;时域JND值计算单元801-2,用于获取所述待编码数据帧的时域JND值;JND值决策单元801-3,用于将所述空域JND值和所述时域JND值进行融合处理,获得所述待编码视频帧的JND值。
空域JND值计算单元801-1计算待编码数据帧的空域JND值,将空域JND值发送至JND值决策单元801-3。时域JND值计算单元801-2计算待编码数据帧的时域JND值,将时域JND值发送至JND值决策单元801-3。
所述确定所述待编码数据帧的空域JND值,可以通过如下方式实现:
根据所述待编码数据帧的亮度值,计算所述待编码数据帧的亮度掩蔽值;根据所述待编码数据帧的对比度值,计算所述待编码数据帧的对比度掩蔽值;根据所述待编码数据帧的亮度掩蔽值和所述待编码数据帧的对比度掩蔽值,确定所述待编码数据帧的空域JND值。
具体的,空域JND值计算单元根据待编码数据帧的像素值计算空域JND值。所述待编码数据帧的空域JND值包括亮度掩蔽值和对比度掩蔽值;所述空域JND值计算单元具体用于根据所述待编码数据帧的亮度值,计算所述待编码数据帧的亮度掩蔽值;根据所述待编码数据帧的对比度值,计算所述待编码数据帧的对比度掩蔽值;根据所述待编码数据帧的亮度掩蔽值和所述待编码数据帧的对比度掩蔽值,获得所述待编码数据帧的空域JND值。
其中,亮度掩蔽值是指,在待编码数据帧的原始亮度值的基础上增加该亮度掩蔽值或者减少亮度掩蔽值,获得的待编码数据帧的目标亮度值与原始亮度值相比,用户的人眼对于待编码数据帧的亮度值的变化没有感知。
亮度掩蔽值可以根据待编码数据帧的亮度值与掩蔽值之间的函数关系获得。具体可以参考图9,其为本申请第一实施例提供的视频帧或图像像素的亮度值与视觉掩蔽值之间的对应关系图。由图9可知,亮度值较大或较小的像素,其掩蔽效应越高,即在亮度值小于或等于第一预设亮度值的第一亮度值区间,或者在亮度值大于或等于第二预设亮度值的第二亮度值区间中,随着亮度值在第一亮度值区间或者第二亮度值区间中的增大或者减小,其对应的视觉掩蔽值小于预设的视觉掩蔽值阈值,因此,亮度值的变化越不容易造成视觉失真。在亮度值适中的像素,其掩蔽效应越低,即在亮度值大于第一预设亮度值且小于第二预设亮度值的第三亮度值区间中,在第三亮度值区间中,随着亮度值增大或者减小,其对应的视觉掩蔽值容易大于预设的视觉掩蔽值阈值,因此,亮度值的变化越容易造成视觉失真。
其中,视频帧的亮度值与掩蔽值之间的函数关系可以通过如下方式确定:
将设定尺寸的灰阶图像(例如,64X64,即图像的宽为64,图像的高为64)置于显示设备中心位置,该灰阶图像有一定的亮度值;对该灰阶图像随机添加噪声处理,也就是对该灰阶图像增加/减少其亮度值,如果该灰阶图像产生明显的视觉失真,则将该噪声值作为该亮度值对应的掩蔽值。按照上述方式,遍历尽可能多的亮度值,获得亮度值与掩蔽值之间的函数关系。
对比度包括待编码数据帧的纹理强度、边缘强度、和纹理规则性等等。
对比度掩蔽值是指,在待编码数据帧的原始对比度值的基础上增加该对比度掩蔽值或者减少对比度掩蔽值,获得的待编码数据帧的目标对比度值与原始对比度值相比,用户的人眼对于待编码数据帧的对比度值的变化没有感知。
对比度掩蔽值可以根据待编码数据帧的对比度值与掩蔽值之间的函数关系获得,其可以参考如下公式1表示其函数关系。
式1中,(x,y)表示当前像素的坐标,C(x,y)表示当前像素的对比度掩蔽值,G(x,y)表示当前像素的最大梯度值,W(x,y)表示当前像素的边缘强度,为常数。根据该函数关系,梯度值越大或边缘强度越大的像素,其对比度掩蔽效应越高,即对比度值的变化越不容易造成视觉失真;反之,梯度值越小或边缘强度越小的像素,其对比度掩蔽效应越低,即对比度值的变化越容易造成视觉失真。
梯度值G(x,y)可以通过梯度算子来实现。梯度描述的是视频帧或图像像素值在某个方向上的变化程度,其包括强度和方向两个维度。其中,强度表示的是像素值的变化程度,方向表示的是像素值的空间位置变化趋势。强度值越高,图像越趋向于纹理区域;方向值越统一,图像纹理越趋向于规则。
以上即为空域JND值计算单元根据待编码数据帧的像素值计算空域JND值的详细描述。以下说明时域JND值计算单元计算待编码数据帧的时域JND值。
所述确定所述待编码数据帧的时域JND值,可以通过如下方式实现:
获取所述待编码数据帧的像素值;获取所述待编码数据帧的时域相邻帧的同位像素的像素值,所述同位像素为所述待编码数据帧的相邻数据帧在所述相邻数据帧对应的空域上相同位置的像素;计算所述待编码数据帧的像素值与所述时域相邻帧的同位像素的像素值之间的差值;根据所述待编码数据帧的像素值与所述时域相邻帧的同位像素的像素值之间的差值,确定所述待编码数据帧的时域JND值。
所述待编码数据帧的时域JND值包括亮度掩蔽值;所述方法还包括:获取待编码数据帧像素的亮度值与所述时域相邻帧的同位像素的亮度值之间的差值;根据所述待编码数据帧像素的亮度值与所述时域相邻帧的同位像素的亮度值之间的差值,确定所述待编码数据帧的亮度掩蔽值。
其中,时域相邻帧为按照预先设定的顺序、如编码顺序或者显示顺序确定的与待编码数据帧相邻的时域相邻帧。
同位像素指相邻视频帧在各自空域上相同位置的像素。
亮度掩蔽值通过如下方式确定:
建立相邻视频帧的同位像素的亮度值与待编码数据帧的亮度值的差值与掩蔽值之间的对应关系,如图10所示,其为本申请第一实施例提供的相邻视频帧的同位像素的亮度值的差值与视觉掩蔽值之间的对应关系图。
由图10可知,亮度值的差值较大或者较小的像素,其对应的掩蔽效应越高,即在亮度值的差值小于第一预设亮度差值阈值的第一亮度差值区间,或者亮度值的差值大于第二预设量度差值阈值的第二亮度差值区间中,亮度值的变化对掩蔽效应的影响较小。亮度值的差值适中的像素,其对应的掩蔽效应越低,即在亮度值的差值大于第一预设量度差值阈值且小于第二预设量度差值阈值的第三量度差值区间中,亮度值的变化对掩蔽效应的影响较大,如图10中亮度值的差值大于-100,且小于100的区间里,其对应的视觉掩蔽值偏低,亮度值的差值从左到右增加的过程中,亮度值的差值对应的视觉掩蔽值容易大于预设的视觉掩蔽值阈值,因此,亮度值的变化对掩蔽效应的影响较大。
根据时域相邻帧的同位像素的亮度值与待编码数据帧的亮度值的差值,计算该亮度值的掩蔽值。也就是说,在待编码数据帧的亮度值的基础上,增加该亮度掩蔽值或者减少该亮度掩蔽值,用户对数据帧的亮度值的变化是无感知的。在此基础上,通过改变量化参数,降低数据帧编码过程的编码码率,提升编码效率。
以上即为时域JND值计算单元计算待编码数据帧的时域JND值。
在空域JND值计算单元计算得到空域JND值,时域JND值计算单元计算得到时域JND值之后,JND值决策单元将空域JND值和时域JND值进行融合处理,具体可以参考下述公式2描述融合处理过程。
上述公式2中,(x,y)表示当前像素的坐标,JND(x,y)表示当前像素的JND值,表示当前像素的空域JND值,/>表示当前像素的时域JND值,/>、/>、和/>为常数,/>、/>、和/>为常数可以根据实际情况灵活调整。例如,将一部分待编码数据帧进行编码处理后,对下一部分待编码数据帧进行编码处理前,调整/>、/>、和/>,使得针对不同数据帧的数据内容的变化。
以上即为按照上述方式对待编码数据帧进行融合处理过程的描述。
如图7所示,在步骤S702中,根据所述待编码数据帧的JND值和预编码量化参数,以及JND值和量化参数偏移量之间的对应关系,确定用于调节所述预编码量化参数的目标量化参数偏移量。
本步骤用于确定调整预编码量化参数的目标量化参数偏移量。
所述JND值和量化参数偏移量之间的对应关系,通过如下方式建立:
确定所述待编码数据帧的JND值以及预编码量化参数;根据所述JND值以及所述预编码量化参数,确定用于调节所述预编码量化参数的初始量化参数偏移量;根据所述预编码量化参数和所述初始量化参数偏移量,确定第一量化参数;分别采用所述预编码量化参数和所述第一量化参数对所述待编码数据帧进行编码并解码处理,获得对应的重建数据帧;根据所述重建数据帧与所述待编码数据帧之间的编码失真值,建立所述JND值和所述量化参数偏移量之间的对应关系。
所述JND值和量化参数偏移量之间的对应关系,其可以通过构建并调节数据帧编码控制模型获得,数据帧编码控制模型的构建及训练过程可以参考下述图11的详细描述。最终调节完成的数据帧编码控制模型获得与所述JND值对应的目标量化参数偏移量。目标量化参数偏移量用于调整预编码量化参数,获得目标量化参数。
初始量化参数偏移量可以为初始量化参数偏移量dQP_Pre,第一量化参数可以为第一量化参数QP_Opt。
所述分别采用所述预编码量化参数和所述第一量化参数对所述待编码数据帧进行编码并解码处理,获得对应的重建数据帧,可以通过如下方式实现:
采用所述预编码量化参数对所述待编码数据帧进行编码并解码处理,获得第一重建数据帧;采用所述第一量化参数对所述待编码数据帧进行编码并解码处理,获得第二重建数据帧。
所述根据所述重建数据帧与所述待编码数据帧之间的编码失真值,建立所述JND值和所述量化参数偏移量之间的对应关系,可以通过如下方式实现:
确定所述第一重建数据帧与所述待编码数据帧之间的第一编码失真值;确定所述第二重建数据帧与所述待编码数据帧之间的第二编码失真值;确定所述第一编码失真值和所述第二编码失真值之间的失真差异值;如果所述失真差异值小于或者等于预设的失真差异阈值,则停止执行所述确定用于调节所述预编码量化参数的初始量化参数偏移量的步骤,建立所述JND值与所述初始量化参数偏移量之间的对应关系。
如果所述失真差异值大于预设的失真差异阈值,则重复执行根据所述JND值以及所述预编码量化参数,确定用于调节所述预编码量化参数的初始量化参数偏移量的步骤。
通过如下方式构建数据帧量化参数控制模型:请参考图11进行详细解释,图11为本申请第一实施例提供的构建数据帧编码控制模型的逻辑框架图。
将JND值输入量化参数偏移量分析单元1100,量化参数偏移量分析单元1100根据JND值构建并训练数据帧编码控制模型,获得训练好的 JND-QP-dQP模型。
具体如下:数据帧编码控制模型构建单元1100-1首先构建初始的数据帧编码控制模型,根据所述初始的数据帧编码控制模型、所述待编码数据帧的JND值以及所述待编码数据帧的预编码量化参数,获得用于调节所述预编码量化参数的初始量化参数偏移量。将待编码数据帧的JND值和预编码量化参数QP_Pre作为输入数据,输入初始的数据帧编码控制模型,获得初始的数据帧编码控制模型输出的初始量化参数偏移量dQP_Pre。
此处构建初始的数据帧编码控制模型,根据JND、QP、dQP之间的函数关系进行建立,具体可以参考如下公式3。
上述公式3中,为针对JND的函数,将JND值映射到其他空间;/>为针对QP的函数,将QP值映射到其他空间;/>为针对失真差异值diff(difference,差异)的函数,将diff映射到其他空间;a、b、c、d为常数。
根据上述公式3,通过调节a、b、c、d这四个常数值,计算dQP值,将获取的dQP值发送至预编解码单元中,计算diff值,直到diff值小于预设的失真差异阈值,则停止调节a、b、c、d,获得训练好的数据帧编码控制模型,也就是JND-QP-dQP模型。
预编解码单元1100-2,用于获得对所述预编码量化参数进行调整处理后的第一编码量化参数,以及分别采用所述预编码量化参数和所述第一编码量化参数对所述待编码数据帧进行编码并解码处理,获得重建数据帧。
将所述预编码量化参数根据所述初始量化参数偏移量进行调整,获得第一量化参数;采用所述预编码量化参数对所述待编码数据帧进行编码并解码处理,获得第一重建数据帧;以及采用所述第一量化参数对所述待编码数据帧进行编码并解码处理,获得第二重建数据帧。
具体是,将初始量化参数偏移量dQP_Pre和预编码量化参数QP_Pre叠加处理,获得第一量化参数QP_Opt,QP-Opt=QP_Pre+dQP_Pre。采用预编码量化参数QP_Pre对待编码数据帧进行编码并解码处理,获得第一重建数据帧Image_Pre,采用第一量化参数对待编码数据帧进行编码并解码处理,获得第二重建数据帧Image_Opt。
质量评价单元1100-3,用于获得所述编码数据重建帧与所述待编码数据帧之间的编码失真值,根据所述编码失真值,调节所述初始的数据帧编码控制模型。
结合上述列举实施例,即计算第一重建数据帧和待编码数据帧Image_Org之间的第一编码失真值D_Pre(D,difference,差异)=Image_Org-Image_Pre,计算第二重建数据帧和待编码数据帧之间的第二编码失真值D_Opt =Image_Org-Image_Opt。计算第一编码失真值和第二编码失真值之间的失真差异值DIFF=D_Opt-D_Pre,如果失真差异值小于预设的失真差异阈值,则确定初始量化参数偏移量为目标量化参数偏移量,且初始的数据帧编码控制模型已完成参数调整,得到训练后的数据帧编码控制模型。
以上即为量化参数偏移量分析单元1100构建数据帧编码控制模型的方式。
构建完成的数据帧编码控制模型可以获取与所述JND值对应的目标量化参数偏移量,根据目标量化参数偏移量和预编码量化参数,获得目标量化参数。
根据上述方式获取目标量化参数后,采用目标量化参数对待编码数据帧进行编码并解码处理获得目标重建数据帧。采用预编码量化参数对待编码数据帧进行编码并解码处理获得第一重建数据帧。其中,目标重建数据帧与第一重建数据帧之间的视觉感知差异值对用户来说是无感知的,在此基础上,将预编码量化参数调整至目标量化参数,降低了编码码率,节省了编码成本,提升了编码效率。
如图7所示,在步骤S703中,根据所述待编码数据帧的预编码量化参数,以及所述目标量化参数偏移量,确定针对所述待编码数据帧的目标量化参数,作为提供给编码器的量化参数。
本步骤用于根据确定的目标量化参数偏移量确定针对待编码数据帧的目标量化参数。
其中,目标量化参数,作为提供给编码器的量化参数,在将目标量化参数提供给编码器后,还包括:所述编码器通过所述目标量化参数对所述待编码数据帧进行编码处理。
采用目标量化参数对所述待编码数据帧进行编码处理,还包括进行解码处理,获得重建数据帧。通过上述方式获得重建数据帧的过程,保证用户对重建数据帧与待编码数据帧之间的视觉感知差异是无感知的,通过改变量化参数降低了编码码率,提升编码效率。
本申请实施例提供一种数据帧编码控制方法,包括:确定接收到的待编码数据帧的恰可察觉差异JND值;根据所述待编码数据帧的JND值和预编码量化参数,以及JND值和量化参数偏移量之间的对应关系,确定用于调节所述预编码量化参数的目标量化参数偏移量;根据所述待编码数据帧的预编码量化参数,以及所述目标量化参数偏移量,确定针对所述待编码数据帧的目标量化参数,作为提供给编码器的量化参数。
上述方法,根据待编码数据帧的JND值和待编码数据帧的预编码量化参数,以及JND值和量化参数偏移量之间的对应关系,确定用于调节预编码量化参数的目标量化参数偏移量。由此可知,目标量化参数偏移量的确定,参考了待编码数据帧的JND值,其保证待编码数据帧调整像素值前后,待编码数据帧的视觉感知差异对用户是无感知的。根据当前量化参数和目标量化参数偏移量,确定目标量化参数。采用目标量化参数对待编码数据帧进行编码并解码处理获得的重建数据帧与待编码数据帧之间的视觉感知差异对用户是无感知的。用户通过肉眼观看重建数据帧和待编码数据帧的内容是没有差别的,用户使用两种数据帧的过程中不存在差异。而且通过改变量化参数,降低了对待编码数据帧进行编码处理过程中的编码码率,提升编码效率。
第二实施例
图12为本申请第二实施例提供的一种数据帧编码控制***的逻辑框架图。
以下结合图12对本实施例提供的数据帧编码控制***进行详细描述。其中,第二实施例提供的数据帧编码控制***用于实现第一实施例提供的方法,其具体描述过程可以参考上述场景实施例以及方法实施例的描述,此处不再赘述。
如图12所示,数据帧编码控制***1200(也就是图2中的基于JND的码率控制***)包括:JND值确定单元1201,量化参数偏移量确定单元1202,量化参数确定单元1203。
JND值确定单元1201,用于确定接收到的待编码数据帧的恰可察觉差异JND值;
量化参数偏移量确定单元1202,用于根据所述待编码数据帧的JND值和预编码量化参数,以及JND值和量化参数偏移量之间的对应关系,确定用于调节所述预编码量化参数的目标量化参数偏移量;
量化参数确定单元1203,用于根据所述待编码数据帧的预编码量化参数,以及所述目标量化参数偏移量,确定针对所述待编码数据帧的目标量化参数,作为提供给编码器的量化参数。
第三实施例
在第一实施例提供了数据帧编码控制方法的基础上,本申请第三实施例提供一种编码方法,具体是获取待编码数据帧,根据第一实施例提供的方法确定目标量化参数,根据所述目标量化参数对所述待编码数据帧进行编码处理。
第四实施例
在第三实施例提供的编码方法的基础上,本申请第四实施例提供一种自适应视频帧处理方法,包括:确定待处理视频帧的视频资源;如果所述视频资源小于设定值时,根据第三实施例提供的方法,对所述待处理视频帧进行编码处理。
其中,待处理视频帧的视频资源可以包括如下至少一种视频资源:
处理视频帧的CPU(central processing unit,处理器)的速率,存储视频帧的存储空间范围,传输视频的带宽范围。
例如,当处理视频帧的CPU的速率小于预设速率阈值,导致处理视频帧的速率降低或者造成视频帧处理卡顿的现象,根据第三实施例提供的方法,对所述待处理视频帧进行编码处理。通过该方法处理视频帧,是基于调整后的视频帧与待编码视频帧之间的视觉感知差异对用户是无感知的情况下,在对视频帧进行编码并解码处理时,通过改变量化参数降低对待编码视频帧进行编码并解码处理的编码码率,提升编码效率。
再例如,当存储视频帧的存储空间小于预设空间时,根据第三实施例提供的方法,对所述待处理视频帧进行编码处理。
再例如,当传输视频的带宽小于视频所需的带宽需求时,根据第三实施例提供的方法,对所述待处理视频帧进行编码处理。
第五实施例
与本申请第一实施例、第三实施例和第四实施例的方法相对应的,本申请第五实施例还提供一种电子设备。如图13所示,图13为本申请第五实施例中提供的一种电子设备的示意图。该电子设备,包括:至少一个处理器1301,至少一个通信接口1302,至少一个存储器1303和至少一个通信总线1304;可选的,通信接口1302可以为通信模块的接口,如GSM模块的接口;处理器1301可能是处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。存储器1303可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。其中,存储器1303存储有程序,处理器1301调用存储器1303所存储的程序,以执行本发明第一实施例、第三实施例和第四实施例的方法。
第六实施例
与本申请第一实施例、第三实施例和第四实施例的方法相对应的,本申请第六实施例还提供一种计算机存储介质。所述计算机存储介质存储有计算机程序,该计算机程序被处理器运行,执行第一实施例、第三实施例和第四实施例的方法。
第七实施例
在第三实施例的基础上,本申请第七实施例提供了一种编码装置,包括:待编码数据帧获取单元,用于获取待编码数据帧;目标量化参数确定单元,用于根据第一实施例提供的方法确定目标量化参数;编码处理单元,用于根据所述目标量化参数对所述待编码数据帧进行编码处理。
第八实施例
在第四实施例的基础上,本申请第八实施例提供了一种自适应视频帧处理装置,包括:视频资源确定单元,用于确定待处理视频帧的视频资源;第二编码处理单元,用于如果所述视频资源小于设定值时,根据第三实施例提供的方法,对所述待处理视频帧进行编码处理。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、 输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(Transitory Media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
Claims (14)
1.一种数据帧编码控制方法,其特征在于,包括:
确定接收到的待编码数据帧的恰可察觉差异JND值;
根据所述待编码数据帧的JND值和预编码量化参数,以及JND值和量化参数偏移量之间的对应关系,确定用于调节所述预编码量化参数的目标量化参数偏移量;
根据所述待编码数据帧的预编码量化参数,以及所述目标量化参数偏移量,确定针对所述待编码数据帧的目标量化参数,作为提供给编码器的量化参数;
其中,所述JND值和量化参数偏移量之间的对应关系,通过如下方式建立:
根据所述JND值以及所述预编码量化参数,确定用于调节所述预编码量化参数的初始量化参数偏移量;
根据所述预编码量化参数和所述初始量化参数偏移量,确定第一量化参数;
分别采用所述预编码量化参数和所述第一量化参数对所述待编码数据帧进行编码并解码处理,获得对应的重建数据帧;
根据所述重建数据帧与所述待编码数据帧之间的编码失真值,建立所述JND值和所述量化参数偏移量之间的对应关系。
2.根据权利要求1所述的方法,其特征在于,所述分别采用所述预编码量化参数和所述第一量化参数对所述待编码数据帧进行编码并解码处理,获得对应的重建数据帧,包括:
采用所述预编码量化参数对所述待编码数据帧进行编码并解码处理,获得第一重建数据帧;
采用所述第一量化参数对所述待编码数据帧进行编码并解码处理,获得第二重建数据帧。
3.根据权利要求2所述的方法,其特征在于,所述根据所述重建数据帧与所述待编码数据帧之间的编码失真值,建立所述JND值和所述量化参数偏移量之间的对应关系,包括:
确定所述第一重建数据帧与所述待编码数据帧之间的第一编码失真值;
确定所述第二重建数据帧与所述待编码数据帧之间的第二编码失真值;
确定所述第一编码失真值和所述第二编码失真值之间的失真差异值;
如果所述失真差异值小于或者等于预设的失真差异阈值,则停止执行所述确定用于调节所述预编码量化参数的初始量化参数偏移量的步骤,建立所述JND值与所述初始量化参数偏移量之间的对应关系。
4.根据权利要求3所述的方法,其特征在于,还包括:
如果所述失真差异值大于预设的失真差异阈值,则重复执行根据所述JND值以及所述预编码量化参数,确定用于调节所述预编码量化参数的初始量化参数偏移量的步骤。
5.根据权利要求1所述的方法,其特征在于,所述确定接收到的待编码数据帧的恰可察觉差异JND值,包括:
确定所述待编码数据帧的空域JND值;
确定所述待编码数据帧的时域JND值;
将所述空域JND值和所述时域JND值进行融合处理,确定所述待编码数据帧的JND值。
6.根据权利要求5所述的方法,其特征在于,所述确定所述待编码数据帧的空域JND值,包括:
根据所述待编码数据帧的亮度值,计算所述待编码数据帧的亮度掩蔽值;
根据所述待编码数据帧的对比度值,计算所述待编码数据帧的对比度掩蔽值;
根据所述待编码数据帧的亮度掩蔽值和所述待编码数据帧的对比度掩蔽值,确定所述待编码数据帧的空域JND值。
7.根据权利要求5所述的方法,其特征在于,所述确定所述待编码数据帧的时域JND值,包括:
获取所述待编码数据帧的像素值;
获取所述待编码数据帧的时域相邻帧的同位像素的像素值,所述同位像素为所述待编码数据帧的相邻数据帧在所述相邻数据帧对应的空域上相同位置的像素;
计算所述待编码数据帧的像素值与所述时域相邻帧的同位像素的像素值之间的差值;
根据所述待编码数据帧的像素值与所述时域相邻帧的同位像素的像素值之间的差值,确定所述待编码数据帧的时域JND值。
8.根据权利要求7所述的方法,其特征在于,所述待编码数据帧的时域JND值包括亮度掩蔽值;
所述方法还包括:
获取待编码数据帧像素的亮度值与所述时域相邻帧的同位像素的亮度值之间的差值;
根据所述待编码数据帧像素的亮度值与所述时域相邻帧的同位像素的亮度值之间的差值,确定所述待编码数据帧的亮度掩蔽值。
9.根据权利要求1所述的方法,其特征在于,还包括:
所述编码器通过所述目标量化参数对所述待编码数据帧进行编码处理。
10.一种编码方法,其特征在于,包括:
获取待编码数据帧,根据权利要求1至8任意一项所述的方法确定目标量化参数,根据所述目标量化参数对所述待编码数据帧进行编码处理。
11.一种自适应视频帧处理方法,其特征在于,包括:
确定待处理视频帧的视频资源;
如果所述视频资源小于设定值时,根据权利要求10所述的方法,对所述待处理视频帧进行编码处理;
其中,所述视频资源包括如下至少一种视频资源:
处理视频帧的CPU的速率,存储视频帧的存储空间范围,传输视频的带宽范围。
12.一种数据帧编码控制***,其特征在于,包括:
JND值确定单元,用于确定接收到的待编码数据帧的恰可察觉差异JND值;
量化参数偏移量确定单元,用于根据所述待编码数据帧的JND值和预编码量化参数,以及JND值和量化参数偏移量之间的对应关系,确定用于调节所述预编码量化参数的目标量化参数偏移量,其中,所述JND值和量化参数偏移量之间的对应关系,通过如下方式建立:根据所述JND值以及所述预编码量化参数,确定用于调节所述预编码量化参数的初始量化参数偏移量;根据所述预编码量化参数和所述初始量化参数偏移量,确定第一量化参数;分别采用所述预编码量化参数和所述第一量化参数对所述待编码数据帧进行编码并解码处理,获得对应的重建数据帧;根据所述重建数据帧与所述待编码数据帧之间的编码失真值,建立所述JND值和所述量化参数偏移量之间的对应关系;
量化参数确定单元,用于根据所述待编码数据帧的预编码量化参数,以及所述目标量化参数偏移量,确定针对所述待编码数据帧的目标量化参数,作为提供给编码器的量化参数。
13.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;
所述存储器中存储有计算机程序,所述处理器运行所述计算机程序后,执行权利要求1-11任意一项所述的方法。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器运行后,执行权利要求1-11任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310248613.6A CN115967806B (zh) | 2023-03-13 | 2023-03-13 | 一种数据帧编码控制方法、***及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310248613.6A CN115967806B (zh) | 2023-03-13 | 2023-03-13 | 一种数据帧编码控制方法、***及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115967806A CN115967806A (zh) | 2023-04-14 |
CN115967806B true CN115967806B (zh) | 2023-07-04 |
Family
ID=85899630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310248613.6A Active CN115967806B (zh) | 2023-03-13 | 2023-03-13 | 一种数据帧编码控制方法、***及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115967806B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114189684A (zh) * | 2021-11-04 | 2022-03-15 | 杭州网易智企科技有限公司 | 一种基于jnd算法的视频编码方法、装置、介质及计算设备 |
CN115567712A (zh) * | 2022-09-22 | 2023-01-03 | 华侨大学 | 基于人眼恰可察觉失真的屏幕内容视频编码感知码率控制方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103124347B (zh) * | 2012-10-22 | 2016-04-27 | 上海大学 | 利用视觉感知特性指导多视点视频编码量化过程的方法 |
CN103297773B (zh) * | 2013-05-07 | 2016-05-04 | 福州大学 | 基于jnd模型的图像编码方法 |
AU2015261734A1 (en) * | 2015-11-30 | 2017-06-15 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding video data according to local luminance intensity |
CN107241607B (zh) * | 2017-07-18 | 2020-06-16 | 厦门大学 | 一种基于多域jnd模型的视觉感知编码方法 |
KR20190062284A (ko) * | 2017-11-28 | 2019-06-05 | 한국전자통신연구원 | 인지 특성에 기반한 영상 처리 방법 및 장치 |
CN112825557B (zh) * | 2019-11-20 | 2023-02-24 | 北京大学 | 一种针对于视频编码的自适应感知时空域量化方法 |
CN112738515B (zh) * | 2020-12-28 | 2023-03-24 | 北京百度网讯科技有限公司 | 用于自适应量化的量化参数调整方法和装置 |
-
2023
- 2023-03-13 CN CN202310248613.6A patent/CN115967806B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114189684A (zh) * | 2021-11-04 | 2022-03-15 | 杭州网易智企科技有限公司 | 一种基于jnd算法的视频编码方法、装置、介质及计算设备 |
CN115567712A (zh) * | 2022-09-22 | 2023-01-03 | 华侨大学 | 基于人眼恰可察觉失真的屏幕内容视频编码感知码率控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115967806A (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3001885B1 (en) | Region-of-interest aware video coding | |
US10200687B2 (en) | Sample adaptive offset for high dynamic range (HDR) video compression | |
US10212456B2 (en) | Deblocking filter for high dynamic range (HDR) video | |
US9756326B2 (en) | Video coding method using at least evaluated visual quality and related video coding apparatus | |
US9661327B2 (en) | Encoding video captured in low light | |
KR102185803B1 (ko) | 손실된 비디오 데이터의 조건부 은닉 | |
US8274577B2 (en) | Methods of processing digital image and/or video data including luminance filtering based on chrominance data and related systems and computer program products | |
US10244251B1 (en) | Picture encoding device and picture encoding method | |
US10136133B2 (en) | Rate control adaptation for high-dynamic range images | |
US10757428B2 (en) | Luma and chroma reshaping of HDR video encoding | |
US20030035586A1 (en) | Decoding compressed image data | |
CN111193931B (zh) | 一种视频数据的编码处理方法和计算机存储介质 | |
US20150350641A1 (en) | Dynamic range adaptive video coding system | |
WO2013115972A1 (en) | Video coding using eye tracking maps | |
CN113906762B (zh) | 用于视频压缩的预处理 | |
CN115967806B (zh) | 一种数据帧编码控制方法、***及电子设备 | |
US11102488B2 (en) | Multi-scale metric-based encoding | |
US20180048897A1 (en) | Method and apparatus for coding a video into a bitstream | |
CN112422967B (zh) | 视频的编码方法及装置、存储介质、电子设备 | |
EP2536144A1 (en) | Method and device of lossy compress-encoding an image | |
CN114390290A (zh) | 一种视频处理方法、装置、设备及存储介质 | |
Prangnell | Spatiotemporal Adaptive Quantization for Video Compression Applications | |
KR101533051B1 (ko) | 블록별 양자화 레벨을 이용한 인코딩 방법 및 그 시스템 | |
Monteiro et al. | Perceptual video quality assessment for adaptive streaming encoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |