图像编码方法及装置与流程

摘要: 本公开涉及图像编码,尤其涉及一种图像编码方法及装置。背景技术:1、在图像编码的过程中,码率是影响压缩效果的重要指标。若码率过低,虽然压缩率提高,但会导致图像细节...
图像编码方法及装置与流程

本公开涉及图像编码,尤其涉及一种图像编码方法及装置。

背景技术:

1、在图像编码的过程中,码率是影响压缩效果的重要指标。若码率过低,虽然压缩率提高,但会导致图像细节丢失、出现块效应或模糊;若码率过高,虽能保留更多细节,但压缩率降低,可能造成存储或传输资源的浪费。因此,在实际应用中,需要根据编码需求选择合适的码率,在压缩率和视觉质量之间取得平衡。

2、相关技术中,通过切换不同的编码模式,可实现编码过程中的码率调节。不同的编码模式对应不同的编码参数,编码参数可用于控制码率,在切换编码模式后,通过切换后的编码参数对未编码的图像数据进行编码,可使得整幅图像在编码完成后达到预期的码率要求。例如,在编码过程中,若当前码率低于预设值,则切换至高码率模式,反之则切换至低码率模式。

3、然而,上述不同的编码模式,编码参数通常为固定值,难以适应复杂多变的图像内容,容易导致编码后的图像质量过低或码率过高,无法满足对视觉质量和压缩率日益增长的编码需求。

技术实现思路

1、为解决图像编码的灵活性差的问题,本实施例提供了一种图像编码方法及装置。

2、一些实施例中,提供一种图像编码方法,包括:

3、将输入图像分为多个宏块,宏块包括相邻的第一宏块和第二宏块;

4、通过第一编码参数对第一宏块进行编码;

5、在完成第一宏块的编码后,计算编码压力,编码压力为已编码宏块在编码后的实际数据量与预算数据量的累计差值;

6、若编码压力达到压力阈值,计算第一宏块的第一质量参数,根据第一质量参数,通过贝叶斯优化调整第一编码参数,得到第二编码参数,其中,贝叶斯优化的目标函数为宏块的图像质量参数关于编码参数的函数;

7、确定编码压力对应的目标编码模式;

8、通过第二编码参数和目标编码模式对第二宏块进行编码。

9、上述技术方案中的一个技术方案具有如下优点或有益效果:本公开实施例在完成第一宏块的编码后,根据已编码宏块在编码后的实际数据量与预算数据量的累计差值确定编码压力。编码压力用于确定目标编码模式以及触发编码参数的调整。若编码压力过高,则根据编码压力对应的目标编码模式可能会导致图像质量较低。为保障图像质量,通过以图像质量参数关于编码参数的函数作为目标函数,对第一编码参数进行贝叶斯优化,得到第二编码参数,使得根据第二编码参数编码的第二宏块在保持较高图像质量的同时,有效降低编码压力,确保整体编码过程的稳定性和效率。

10、并且,由于第二宏块和第一宏块是相邻宏块,因此,基于第一宏块的第一质量参数,对第一编码参数优化后得到的第二编码参数能够更精准地适应第二宏块的图像内容,提高了图像质量与码率控制的自适应水平,提高了图像编码的灵活性。

11、与现有技术相比,本公开实施例实现了在编码效率与图像质量间的动态平衡,显著提升了编码系统的自适应性和鲁棒性,为高清图像传输提供了可靠保障。

12、一些实施例中,提供一种图像编码方法,通过贝叶斯优化调整第一编码参数,得到第二编码参数,包括:

13、通过第一编码参数和第一图像质量参数优化预训练的高斯过程模型,其中,高斯过程模型用于拟合目标函数;

14、根据优化后的高斯过程模型,通过采集函数对第一编码参数进行调整,得到第二编码参数。

15、上述技术方案中的一个技术方案具有如下优点或有益效果:通过高斯过程模型对目标函数进行拟合,可以精确地预测不同编码参数下可能获得的图像质量,从而指导编码参数的调整,有效避免了盲目调整导致的图像质量波动,提升了编码过程的稳定性和效率。通过预训练模型的应用,进一步增强了编码参数优化的精准度,确保在不同编码场景下均能维持高质量的图像输出。

16、通过预训练模型的应用,进一步增强了编码参数优化的精准度,

17、一些实施例中,提供一种图像编码方法,所述高斯过程模型的核函数根据两组编码参数对应的均方误差与最大像素值的比值确定,所述最大像素值为所述输入图像的位深对应的最大像素值。

18、上述技术方案中的一个技术方案具有如下优点或有益效果:由于psnr同样涉及到均方误差的计算,因此,通过在高斯核函数中进行均方误差的计算,使得参数向量的变化能较好地反映psnr的变化,实现了将图像质量与编码参数的有效关联。通过最大像素值将均方误差进行归一化,确保在不同像素值下,参数调整的精准性与适应性,进一步优化压缩率控制,提升编码效率。

19、一些实施例中,提供一种图像编码方法,计算第一宏块的第一图像质量参数,包括:

20、计算第一宏块在编码后的图像与编码前的图像之间的峰值信噪比;

21、计算峰值信噪比的平方根,得到第一图像质量参数。

22、上述技术方案中的一个技术方案具有如下优点或有益效果:峰值信噪比作为衡量图像质量的重要指标,能够直观地反映编码过程对图像质量的保留程度。通过计算编码前后图像的峰值信噪比并取其平方根作为第一图像质量参数,使得编码参数的变化导致的图像质量参数的变化较为缓和,避免参数向量微小的差异导致图像质量参数剧烈变化,影响高斯模型的优化过程,提高了编码参数调整的稳健性,确保图像质量在动态变化中保持稳定,进一步提升了编码系统的整体性能和用户体验。

23、一些实施例中,提供一种图像编码方法,通过采集函数对第一编码参数进行调整,得到第二编码参数,包括:

24、通过采集函数确定第一编码参数对应的候选编码参数;

25、根据优化后的高斯过程模型,确定候选编码参数的目标函数预测值;

26、根据目标函数预测值与目标函数最大值,计算候选编码参数的期望改进值,其中,目标函数最大值为峰值信噪比的平方根的最大值;

27、将最大的期望改进值对应的候选编码参数确定为第二编码参数。

28、上述技术方案中的一个技术方案具有如下优点或有益效果:通过采集函数智能地筛选候选编码参数,并利用优化后的高斯过程模型预测其目标函数值,能够高效地定位到潜在更优的编码参数。通过计算期望改进值,使得调整过程更加聚焦于那些最有可能带来显著图像质量提升的编码参数,从而加速了编码参数的优化进程。此外,将目标函数最大值定义为峰值信噪比的平方根的最大值,为期望改进值的计算提供了明确且合理的基准,进一步保障了编码参数调整的有效性和准确性。

29、一些实施例中,提供一种图像编码方法,第二编码参数包括第一阈值和第二阈值,确定编码压力对应的目标编码模式,包括:

30、将编码压力与第一阈值、第二阈值进行比较,第一阈值小于第二阈值;

31、若编码压力小于或等于第一阈值,确定目标编码模式为最小编码损失的编码模式;

32、若编码压力在第一阈值和第二阈值之间,确定目标编码模式为最小率失真代价的编码模式;

33、若编码压力大于第二阈值,确定目标编码模式为最小编码数据量的编码模式。

34、上述技术方案中的一个技术方案具有如下优点或有益效果:通过将编码压力与预设的第一阈值和第二阈值进行比较,本公开实施例能够灵活地选择适应当前编码压力的编码模式。在编码压力较低时,采用最小编码损失的编码模式,能够最大程度地保留图像的细节和质量。当编码压力适中时,选择最小率失真代价的编码模式,旨在平衡图像质量与编码数据量,确保图像在可接受的失真范围内达到最优的压缩效果。而当编码压力过高时,则切换到最小编码数据量的编码模式,优先减少编码数据量,以应对带宽或存储空间的限制,从而保证了编码过程在不同压力情境下的适应性和灵活性。这种动态调整编码模式的方法,不仅提升了编码效率,还有效增强了编码系统的鲁棒性,使其在各种应用场景中均能表现出色。

35、一些实施例中,提供一种图像编码方法,第二编码参数包括多个编码压力等级对应的缩放系数,确定编码压力对应的目标编码模式,包括:

36、根据编码压力对应的编码压力等级,在第二编码参数的多个缩放系数中确定目标缩放系数;

37、根据目标缩放系数与预算数据量的乘积计算第二宏块在编码后的目标数据量,预算数据量为根据输入图像在编码后的总预算数据量,计算得到的宏块在编码后的平均数据量;

38、通过多种编码模式对第二宏块进行预编码,得到编码后的数据量预测值;

39、在数据量预测值大于或等于目标数据量的编码模式中,根据编码压力确定目标编码模式。

40、上述技术方案中的一个技术方案具有如下优点或有益效果:通过将编码压力细分为多个等级,并为每个等级分配相应的缩放系数,使得根据编码压力可快速确定缩放系数,进而精确计算目标数据量,确保预编码过程高效且精准。根据目标数据量进行预编码,在数据量预测值大于或等于目标数据量的编码模式中确定编码模式,避免了数据量较小的编码模式成为目标编码模式,保障了编码后的图像质量。

41、一些实施例中,提供一种图像编码方法,通过第二编码参数和目标编码模式对第二宏块进行编码,包括:

42、根据第二编码参数中属于目标编码模式的参数,以及目标数据量,对第二宏块进行编码。

43、上述技术方案中的一个技术方案具有如下优点或有益效果:在编码过程中,充分考虑了目标数据量、第二编码参数以及目标编码模式的综合影响,确保了编码结果的准确性和高效性。

44、一些实施例中,提供一种图像编码装置,包括:

45、图像分块模块,用于将输入图像分为多个宏块,宏块包括相邻的第一宏块和第二宏块;

46、编码压力计算模块,与图像分块模块连接,用于在完成第一宏块的编码后,计算编码压力,编码压力为已编码宏块在编码后的实际数据量与预算数据量的累计差值;

47、贝叶斯优化模块,与编码压力计算模块连接,用于在编码压力达到压力阈值时,计算第一宏块的第一质量参数,根据第一质量参数,通过贝叶斯优化调整第一编码参数,得到第二编码参数,其中,贝叶斯优化的目标函数为图像质量参数关于编码参数的函数;

48、宏块编码模块,分别与贝叶斯优化模块和编码压力计算模块连接,用于通过第一编码参数对第一宏块进行编码,在第一宏块在编码完成后触发贝叶斯优化时,根据编码压力确定目标编码模式,通过第二编码参数和目标编码模式对第二宏块进行编码。

49、上述技术方案中的一个技术方案具有如下优点或有益效果:本公开实施例的图像编码装置,通过各个模块之间的协同工作,实现了对输入图像的高效且高质量的编码。图像分块模块将输入图像分割为多个宏块,为后续编码过程提供了基础。编码压力计算模块实时计算编码压力,为动态调整编码参数以及编码模式的选择提供了依据。贝叶斯优化模块根据编码压力和图像质量参数调整编码参数,确保了编码过程的稳定性和图像质量。宏块编码模块则根据优化后的编码参数和目标编码模式对宏块进行编码,实现了对输入图像的自适应编码。

50、与现有技术相比,本公开实施例实现了在编码效率与图像质量间的动态平衡,显著提升了编码系统的自适应性和鲁棒性,为高清图像传输提供了可靠保障。

51、一些实施例中,提供一种图像编码装置,编码压力计算模块设置有泳池模型,泳池模型包括:

52、进水单元,用于在完成第一宏块的编码后,将第一宏块在编码后的实际数据量增加至当前数据量;

53、排水单元,用于在完成第一宏块的编码后,从当前数据量减去第一宏块的预算数据量,其中,预算数据量为根据输入图像在编码后的总预算数据量,计算得到的宏块在编码后的平均数据量;

54、水位监测单元,分别与进水单元和排水单元连接,用于在进水单元完成当前数据量的增加,以及排水单元完成当前数据量的减少后,根据当前数据量对应的数据量等级,确定当前水位,当前水位表示编码压力。

55、上述技术方案中的一个技术方案具有如下优点或有益效果:泳池模型以直观且动态的方式反映了编码过程中的数据流量和编码压力的变化。进水单元模拟了编码后实际数据量的增加,而排水单元则模拟了根据预算数据量的减少,二者共同作用于当前数据量,形成了编码压力的动态变化。水位监测单元通过监测当前数据量对应的数据量等级,将编码压力具象化为水位,为编码参数的调整和编码模式的选择提供了依据。通过这种动态监测机制,编码系统能够实时响应数据量的波动,确保编码过程的稳定性和图像质量的均衡。泳池模型的应用,不仅提升了编码效率,还增强了系统的自适应能力,进一步优化了高清图像的传输效果。