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

专利2022-05-09  23


本公开涉及图像压缩
技术领域
,具体涉及一种图像编码、解码方法及装置。
背景技术
:rgb色彩模式是工业界的一种颜色标准,是通过对红(r)、绿(g)、蓝(b)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,rgb即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是运用最广的颜色系统之一。yuv则是亮度y(灰度值)、色差信号u和v。我们人眼对色彩的亮度信息会比色差信息敏感,没有u、v信息一样可以显示完整的图像,只不过是黑白的。在默认情况下是图像和视频压缩的标准。故在很多场景下需要先将rgb格式的图像转化为yuv格式的图像,因为yuv格式的传输会节省带宽。现有技术中的一些转换方法:y=p11*r p21*g p31*b 16u=p12*r p22*g p23*b 128v=p13*r p32*g p33*b 128(yuv)=(rgb)*p相当于有一个转换矩阵p,其中,上述公式中,因为uv分量有可能是负数,故加128处理。上述计算的过程中,每次计算都会有浮点型数字相乘和相加的过程,每个像素点会有9次乘法和6次加法,对计算机来说,计算量很大。技术实现要素:本公开的目的在于克服现有技术的不足,提供一种图像编码、解码方法及装置,该图像编码方法减少了现有技术中的浮点数相乘的过程,从而大大减少了计算量,提高了计算效率。根据本公开实施例的第一方面,提供一种图像编码方法,该方法包括:获取原始图像,所述原始图像中包含m×n个像素点,其中,m,n均为正整数;在所述原始图像中获取目标像素点的r分量、g分量和b分量;根据所述目标像素点的r分量、g分量和b分量在预设表中查询所述目标像素点的r分量、g分量和b分量各自对应的y分量、u分量和v分量;根据所述目标像素点的r分量、g分量和b分量各自对应的y分量、u分量和v分量,计算目标像素点的yuv。由于rgb转换为yuv的过程中,系数是固定的,而且r分量,g分量,b分量的取值区间是0至255,所以每个固定的r分量,g分量和b分量和固定系数相乘的结果也是固定的。因此,本公开实施例中的图像编码方法,可以通过设置一参数矩阵,存储每个固定的相乘后的结果,仅仅保留加法的运算,而减少了浮点数相乘的过程,从而大大减少了计算量,提高了计算效率。在一个实施例中,所述根据所述目标像素点的r分量、g分量和b分量在预设表中查询所述目标像素点的r分量、g分量和b分量各自对应的y分量、u分量和v分量包括:根据所述目标像素点的r分量在第一预设表中查询所述目标像素点的r分量对应的y分量、u分量和v分量;根据所述目标像素点的g分量在第二预设表中查询所述目标像素点的g分量对应的y分量、u分量和v分量;根据所述目标像素点的b分量在第三预设表中查询所述目标像素点的b分量对应的y分量、u分量和v分量。在一个实施例中,所述根据所述目标像素点的r分量、g分量和b分量各自对应的y分量、u分量和v分量,计算目标像素点的yuv包括:根据所述r分量对应的y分量、g分量对应的y分量、b分量对应的y分量、以及第一计算公式计算目标像素点的y分量;根据所述r分量对应的u分量、g分量对应的u分量、b分量对应的u分量、以及第二计算公式计算目标像素点的u分量;根据所述r分量对应的v分量、g分量对应的v分量、b分量对应的v分量、以及第三计算公式计算目标像素点的v分量。在一个实施例中,所述方法包括:所述第一预设表中包含有r分量与其在y分量投影、r分量与其在u分量投影、以及r分量与其在v分量投影之间的映射关系;所述第二预设表中包含有g分量与其在y分量投影、g分量与其在u分量投影、以及g分量与其在v分量投影之间的映射关系;所述第三预设表中包含有b分量与其在y分量投影、b分量与其在u分量投影、以及b分量与其在v分量投影之间的映射关系。在一个实施例中,所述第一计算公式为:y=ry gy by 16;其中,y为目标像素点的y分量,ry为目标像素点的r分量对应的y分量,gy为目标像素点的g分量对应的y分量,by为目标像素点的b分量对应的y分量;所述第二计算公式为:u=ru gu bu 128;其中,u为目标像素点的u分量,ru为目标像素点的r分量对应的u分量,gu为目标像素点的g分量对应的u分量,bu为目标像素点的b分量对应的u分量;所述第三计算公式为:v=rv gv bv 128;其中,v为目标像素点的v分量,rv为目标像素点的r分量对应的v分量,gv为目标像素点的g分量对应的v分量,bv为目标像素点的b分量对应的v分量。在一个实施例中,所述方法还包括:对所述目标像素点的y分量、目标像素点的u分量、以及目标像素点的v分量分别取整,得到目标像素点的yuv。本公开实施例中的图像编码方法,编码端仅需存储有255×3×3=2295个浮点数,需要使用时查预设表格即可,不需要再做浮点数的乘法运算,从而可以减少计算量。根据本公开实施例的第二方面,提供一种图像编码装置,该图像编码装置包括:第一获取模块,获取原始图像,所述原始图像中包含m×n个像素点,其中,m,n均为正整数;第二获取模块,在所述原始图像中获取目标像素点的r分量、g分量和b分量;第一查询模块,根据所述目标像素点的r分量、g分量和b分量在预设表中查询所述目标像素点的r分量、g分量和b分量各自对应的y分量、u分量和v分量;第一计算模块,根据所述目标像素点的r分量、g分量和b分量各自对应的y分量、u分量和v分量,计算目标像素点的yuv。根据本公开实施例的第三方面,提供一种如上述所述的图像编码方法对应的图像解码方法,所述图像解码方法包括:获取目标像素点的y分量、u分量和v分量;根据所述目标像素点的y分量、u分量和v分量在预设表中查询所述目标像素点的y分量、u分量和v分量各自对应的r分量、g分量和b分量;根据所述目标像素点的y分量、u分量和v分量各自对应的r分量、g分量和b分量,计算目标像素点的rgb。本公开实施例中的图像解码方法,解码端存储有255×3×3=2295个浮点数,通过查预设表格代替浮点数相乘,减少了运算量,节省了了运算时间。在yuv的传输节省了带宽的情况下,尽量保证了时效性。根据本公开实施例的第四方面,提供一种图像解码装置,所述图像解码装置包括:第三获取模块,获取目标像素点的y分量、u分量和v分量;第二查询模块,根据所述目标像素点的y分量、u分量和v分量在预设表中查询所述目标像素点的y分量、u分量和v分量各自对应的r分量、g分量和b分量;第二计算模块,根据所述目标像素点的y分量、u分量和v分量各自对应的r分量、g分量和b分量,计算目标像素点的rgb。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1为本公开实施例提供的一种图像编码系统的示意图。图2为本公开实施例提供的一种图像编码方法的流程图。图3为本公开实施例提供的一种图像编码装置的架构图。图4为本公开实施例提供的一种图像解码方法的流程图。图5为本公开实施例提供的一种图像解码装置的架构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。图1为本公开实施例提供的一种图像编码系统的示意图。如图1所示,该系统包括源端101、采集端102、编码器103、解码器104和显示器105。其中,采集器102从源端101采集画面,也就是原始图像,该原始图像可能是rgb格式,也可以是yuv格式。如果是yuv格式,则直接由编码器103编码后进行传输,发送给解码器104,解码器104进行解码后再将yuv格式还原成rgb格式,然后由显示器105进行显示。本公开实施例所述的图像编码方法应用于图像采集后的格式转换和解码后的格式还原。需要说明的是,本公开实施例中的上述系统是本公开实施例中的图像编码方法和图像解码方法适用的一种场景的举例,本公开实施例中的图像编码方法和图像解码方法也可以适用于任意一种需要对图像进行格式转换的场景,本公开对使用场景并不限制。图2为本公开实施例提供的一种图像编码方法的流程图。如图2所示,该方法包括:步骤101、获取原始图像;所述原始图像中包含m×n个像素点,其中,m,n均为正整数;需要说明的是,如果原始图像是yuv格式,转换流程结束。如果原始图像是rgb格式,执行步骤102。步骤102、在所述原始图像中获取目标像素点的r分量、g分量和b分量;在本步骤中,获取原始rgb图像中第i×j个像素点的r分量值rij,g分量值gij和b分量值bij;其中,1≤i≤m,1≤j≤n。步骤103、根据所述目标像素点的r分量、g分量和b分量在预设表中查询所述目标像素点的r分量、g分量和b分量各自对应的y分量、u分量和v分量;在本步骤中,基于目标像素点的r分量、g分量和b分量,可以在预设表格中依次查询各分量对应的投影。在一个实施例中,所述根据所述目标像素点的r分量、g分量和b分量在预设表中查询所述目标像素点的r分量、g分量和b分量各自对应的y分量、u分量和v分量包括:根据所述目标像素点的r分量在第一预设表中查询所述目标像素点的r分量对应的y分量、u分量和v分量;如表1所示,所述第一预设表中包含有r分量与其在y分量投影、r分量与其在u分量投影、以及r分量与其在v分量投影之间的映射关系;表1为每个rij值分别在y分量的投影rijy、在u分量的投影riju和在v分量的投影rijv。rijrijyrijurijv000010.257-0.1480.43920.514-0.2960.878……………………25465.278-37.592111.50625565.535-37.74111.945表1中,rij表示第i×j个像素点的r分量值,rijy表示第i×j个像素点的r分量值在y分量的投影;riju表示第i×j个像素点的r分量值在u分量的投影;rijv表示第i×j个像素点的r分量值在v分量的投影。根据所述目标像素点的g分量在第二预设表中查询所述目标像素点的g分量对应的y分量、u分量和v分量;如表2所示,所述第二预设表中包含有g分量与其在y分量投影、g分量与其在u分量投影、以及g分量与其在v分量投影之间的映射关系;表2为每个gij值分别在y分量的投影gijy、在u分量的投影giju和在v分量的投影gijv。gij值gijygijugijv000010.504-0.291-0.36821.008-0.582-0.736……………………200100.8-58.2-73.6……………………255128.52-74.205-93.84表2中,gij表示第i×j个像素点的g分量值,gijy表示第i×j个像素点的g分量值在y分量的投影;giju表示第i×j个像素点的g分量值在u分量的投影;gijv表示第i×j个像素点的g分量值在v分量的投影;根据所述目标像素点的b分量在第三预设表中查询所述目标像素点的b分量对应的y分量、u分量和v分量。如表3所示,所述第三预设表中包含有b分量与其在y分量投影、b分量与其在u分量投影、以及b分量与其在v分量投影之间的映射关系。表3为每个bij值分别在y分量的投影bijy、在u分量的投影biju和在v分量的投影bijv。bij值bijybijubijv000010.0980.439-0.07120.1960.878-0.142……………………23322.834102.287-16.543……………………25549.98223.89-18.105表3中,bij表示第i×j个像素点的b分量值,bijy表示第i×j个像素点的b分量值在y分量的投影;biju表示第i×j个像素点的r分量值在b分量的投影;bijv表示第i×j个像素点的b分量值在v分量的投影。根据上述表1至表3中的数据可知,本公开实施例中的得编码端一共仅需存储55×3×3=2295个浮点数,需要查表即可,不需要再做浮点数的乘法运算,可以减少计算量。步骤104、根据所述目标像素点的r分量、g分量和b分量各自对应的y分量、u分量和v分量,计算目标像素点的yuv。在一个实施例中,所述根据所述目标像素点的r分量、g分量和b分量各自对应的y分量、u分量和v分量,计算目标像素点的yuv包括:根据所述r分量对应的y分量、g分量对应的y分量、b分量对应的y分量、以及第一计算公式计算目标像素点的y分量;根据所述r分量对应的u分量、g分量对应的u分量、b分量对应的u分量、以及第二计算公式计算目标像素点的u分量;根据所述r分量对应的v分量、g分量对应的v分量、b分量对应的v分量、以及第三计算公式计算目标像素点的v分量。在一个实施例中,所述第一计算公式为:y=ry gy by 16;其中,y为目标像素点的y分量,ry为目标像素点的r分量对应的y分量,gy为目标像素点的g分量对应的y分量,by为目标像素点的b分量对应的y分量;所述第二计算公式为:u=ru gu bu 128;其中,u为目标像素点的u分量,ru为目标像素点的r分量对应的u分量,gu为目标像素点的g分量对应的u分量,bu为目标像素点的b分量对应的u分量;所述第三计算公式为:v=rv gv bv 128;其中,v为目标像素点的v分量,rv为目标像素点的r分量对应的v分量,gv为目标像素点的g分量对应的v分量,bv为目标像素点的b分量对应的v分量。由于rgb转换为yuv的过程中,系数是固定的,而且r分量,g分量,b分量的取值区间是0至255,所以每个固定的r分量,g分量和b分量和固定系数相乘的结果也是固定的。因此,本公开实施例中的图像编码方法,可以通过设置一参数矩阵,存储每个固定的相乘后的结果,仅仅保留加法的运算,而减少了浮点数相乘的过程,从而大大减少了计算量,提高了计算效率。可选地,所述方法还包括:对所述目标像素点的y分量、目标像素点的u分量、以及目标像素点的v分量分别取整,得到目标像素点的yuv。需要说明的是,本公开实施例中,对根据目标像素点的r分量、g分量和b分量在预设表中查询目标像素点的r分量、g分量和b分量各自对应的y分量、u分量和v分量的顺序,以及对根据所述目标像素点的r分量、g分量和b分量各自对应的y分量、u分量和v分量,计算目标像素点的yuv的顺序不做限制。基于上述图2对应的实施例中所描述的图像编码方法,下述为本公开装置实施例,可以用于执行本公开图像编码方法实施例。图3为本公开实施例提供的一种图像编码装置的架构图。如图3所示,该图像编码装置包括第一获取模块301、第二获取模块302、第一查询模块303、以及第一计算模块304;第一获取模块301用于获取原始图像,所述原始图像中包含m×n个像素点,其中,m,n均为正整数;第二获取模块302用于在所述原始图像中获取目标像素点的r分量、g分量和b分量;第一查询模块303用于根据所述目标像素点的r分量、g分量和b分量在预设表中查询所述目标像素点的r分量、g分量和b分量各自对应的y分量、u分量和v分量;第一计算模块304用于根据所述目标像素点的r分量、g分量和b分量各自对应的y分量、u分量和v分量,计算目标像素点的yuv。图4为本公开实施例提供的一种图像编码方法的流程图。如图4所示,该方法包括:步骤401、获取目标像素点的y分量、u分量和v分量;步骤402、根据所述目标像素点的y分量、u分量和v分量在预设表中查询所述目标像素点的y分量、u分量和v分量各自对应的r分量、g分量和b分量;步骤403、根据所述目标像素点的y分量、u分量和v分量各自对应的r分量、g分量和b分量,计算目标像素点的rgb。基于上述图4对应的实施例中所描述的图像解码方法,下述为本公开装置实施例,可以用于执行本公开图像解码方法实施例。图5为本公开实施例提供的一种图像解码装置的架构图。如图5所示,该图像编码装置包括第三获取模块501、第二查询模块502、以及第二计算模块503;其中,第三获取模块501用于获取目标像素点的y分量、u分量和v分量;第二查询模块502用于根据所述目标像素点的y分量、u分量和v分量在预设表中查询所述目标像素点的y分量、u分量和v分量各自对应的r分量、g分量和b分量;第二计算模块503用于根据所述目标像素点的y分量、u分量和v分量各自对应的r分量、g分量和b分量,计算目标像素点的rgb。下面以像素点i×j对本公开实施例的图像编码和图像解码方法进行示例性说明。例如,像素点i×j的rgb分量为(255,200,233),则其对于的yuv分别为:yij=ry gy by 16=65.535 100.8 22.834 16=205.169uij=ru gu bu 128=-37.74 (-58.2) 102.287 128=134.347vij=rv gv bv 128=111.945 (-73.6) (-16.543) 128=149.802然后对计算结果取整,得到像素点i×j的yuv分量为(205,134,149)。在还原颜色格式时,r=q11(y-16) q12(u-128) q13(v-128)u=q21(y-16) q22(u-128) q23(v-128)r=q31(y-16) q32(u-128) q33(v-128)其中,q为还原系数,还原系数矩阵为转换矩阵的逆矩阵,即:q=p-1。其中,同样的,计算后进行取整,即可还原rgb值,并进行图像显示。可见,解码端也存储有255*3*3个浮点数,通过查表替代浮点数相乘,减少了运算量,节省了了运算时间,在yuv的传输节省了带宽的情况下,尽量保证了时效性。具体的,以1080p分辨率(也就是1920*1080)为例,经过计算机测试,在办公场景下对一帧图像的处理时间如下表所示:方案处理时间现有技术10.932400(ms)-本发明实施例6.384200(ms)ffmpeg7.176500(ms)libyuv8.693800(ms)其中,libyuv是google开源的实现各种yuv与rgb之间相互转换、旋转、缩放的库。ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。通过该表的测试数值可以确定,本公开实施例提供的图像编码方法和图像解码方法处理一帧图像的时间是最短的。具体的,以1080p分辨率(也就是1920*1080)为例,经过计算机测试,在图片场景下对一帧图像的处理时间如下表所示:方案处理时间普通方案11.665200(ms)本发明实施例方案7.128800(ms)ffmpeg8.505900(ms)libyuv9.113300(ms)从测试结果可以看出,在图片场景下,本实施例提供的方案也是最节省时间的。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以预置于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。当前第1页12
转载请注明原文地址:https://doc.8miu.com/read-150048.html

最新回复(0)