掌桥专利:专业的专利平台
掌桥专利
首页

一种图片的处理方法及相关设备

文献发布时间:2024-04-18 19:58:30


一种图片的处理方法及相关设备

技术领域

本申请涉及计算机领域,尤其涉及一种图片的处理方法及相关设备。

背景技术

随着智能手机为代表的终端的流行,现有智能手机和云存储中媒体类文件(特别是图片)的占比普遍较高,且随着相机像素不断增加,图片分辨率越来越高,每张照片占用的存储空间也越来越大。目前,存储空间不足已成为用户更换手机的主要因素之一,降低图片所需的存储空间,提升存储空间使用效率能够极大提升用户体验及黏性。

JPEG(joint photographic experts group,JPEG)是当前使用最广泛的图片标准(图片格式),针对现有的标准JPEG,已经有标准的解码器实现从JPEG的解码到显示的各种技术。随着技术的发展,为了提升存储空间的利用效率,可将JPEG格式的图片文件编码为所需存储空间更小的图片文件,以实现更低的空间占用率。

然而现有技术中,将对JPEG格式的图片文件进行编码后的得到的图片文件进行解码并用于显示等场景中的过程较为死板和繁琐,系统复杂度较高,资源开销较大。

发明内容

针对上述技术问题,本申请实施例提供了一种图片的处理方法及计算机设备,对现有技术中对图片文件进行编码或者解码的过程进行简化,从而使得图片文件的处理过程更加灵活,降低系统复杂度和资源开销。

基于此,本申请实施例提供以下技术方案:

第一方面,本申请实施例首先提供一种图片处理方法(解码过程),用于将编码后的图片文件解码为RBG格式的图片文件,并用于显示。可应用于端侧对图片进行处理,也可应用于云侧对图片进行处理,该方法包括:获取第一图片文件;对该第一图片文件进行算术解码或非对称数字系统解码以得到第一直流系数和第一交流系数;对该第一直流系数和该第一交流系数进行反量化和反离散余弦变换以得到YUV格式的图片文件;将该YUV格式的图片文件转化为RGB格式的图片文件。

上述图片的处理方法,简化了二次解码的过程(即,简化了将第一图片文件解码为JPEG等格式的图片文件的过程),并简化了一次解码的过程(即,简化了将JPEG等格式的图片文件解码为RGB格式的图片文件的过程)。也就是说,在从第一图片文件解码得到RGB格式的图片文件的过程中,跳过了生成JPEG等格式的图片文件的步骤,从而避免了进行不必要的Huffman编码操作和解码操作。通过简化从第一图片文件到RGB格式的图片文件的解码过程,使得对图片文件的处理过程更加灵活,降低系统复杂度和资源开销。

在第一方面的一种可能的实现方式中,该第一图片文件是对第二图片文件进行编码得到的,该第一图片文件的格式与该第二图片文件的格式不同,该第二图片文件的图片格式为JPEG格式,PNG格式或者GIF格式中的任意一种。

在第一方面的一种可能的实现方式中,该第一图片文件存储于存储器中。示例性的,该第一图片文件可以存储于本地的存储器中,也可以存储于云端或者其他电子设备的存储器中。

在第一方面的一种可能的实现方式中,获取第一图片文件具体为,从云端或者其他电子设备接收该第一图片文件。

在第一方面的一种可能的实现方式中,该RGB格式的图片文件用于进行显示。应当理解,除显示以外的其他需要用到RGB格式的图片文件的场景中也可以应用上述方法。而对于编辑、发送等其他需要用到JPEG格式的图片文件的场景中,可采用完整的第二解码过程将第一图片文件解码为JPEG格式的图片文件。

针对不同的应用场景,采用不同的解码方法,能够在保证功能实现的基础上降低系统复杂度,提升系统性能,降低资源利用效率。

在第一方面的一种可能的实现方式中,对该第一直流系数和该第一交流系数进行反量化和反离散余弦变换以得到YUV格式的图片文件的过程,不包括:对该第一直流系数和该第一交流系数进行哈夫曼编码以得到JPEG格式的图片文件;对该JPEG格式的图片文件进行哈夫曼解码以得到第二直流系数和第二交流系数;对该第二直流系数和该第二交流系数进行反量化和反离散余弦变换以得到YUV格式的图片文件。

第二方面,本申请实施例提供一种图片处理方法(编码过程),用于将RGB格式的图片文件编码为所需存储空间更小的图片格式,并用于存储。可应用于端侧设备,也可应用于云侧设备,该方法包括:获取RGB格式的图片文件;将该RGB格式的图片文件转化为YUV格式的图片文件;对该YUV格式的图片文件进行离散余弦变换和量化,以得到第三直流系数和第三交流系数;对该第三直流系数和该第三交流系数进行算术编码或者非对称数字系统编码,以得到第三图片文件,该第三图片文件用于存储于存储器中。

上述图片的处理方法,简化了一次编码的过程(即,简化了将RGB格式的图片文件编码为JPEG等格式的图片文件的过程),并简化了二次编码的过程(即,简化了将JPEG等格式的图片文件编码为所需存储空间更小的图片文件的过程)。也就是说,在从RGB格式的图片文件编码得到所需存储空间更小的图片文件的过程中,跳过了生成JPEG等格式的图片文件的步骤,从而避免了进行不必要的Huffman编码操作和解码操作。通过简化从RGB格式的图片文件到所需存储空间更小的图片文件的解码过程,使得对图片文件的处理过程更加灵活,降低系统复杂度和资源开销。

在第二方面的一种可能的实现方式中,该方法还包括:对第三图片文件进行算术解码或者非对称解码以得到第三直流系数或第三交流系数;对第三直流系数或第三交流系数进行反量化和反离散余弦变换以得到YUV格式的图片文件;将YUV格式的图片文件转化为RGB格式的图片文件。该步骤可用于后续需要将第三图片文件解码得到RGB格式的图片文件的场景中,例如,显示等场景。

在第二方面的一种可能的实现方式中,该方法还包括:对该第三图片文件进行算术解码或者非对称解码以得到该第三直流系数或该第三交流系数;对该第三直流系数或第三交流系数进行哈夫曼编码以得到JPEG格式的图片文件。该步骤可用于后续需要将第三图片文件解码得到JPEG等格式的图片文件的场景中,例如,编辑、发送等场景。

针对不同应用场景的需求,对图片文件采用不同的解码方法,能够在保证功能实现的基础上降低系统复杂度,提升系统性能,降低资源利用效率。

在第二方面的一种可能的实现方式中,该第三图片文件可用于存储于存储器中。示例性的,可该第三图片文件存储于本地的存储器中,也可以存储于云端或者其他电子设备的存储器中。在将第三图片文件存储于云端或者其他电子设备的存储器的场景中,该方法还包括:将该第三图片文件发送至云端或者其他电子设备进行存储。

在第二方面的一种可能的实现方式中,对该第三直流系数和该第三交流系数进行算术编码或者非对称编码,以得到第三图片文件,不包括:对该第三直流系数和该第三交流系数进行哈夫曼编码以得到JPEG格式的图片文件;对该JPEG格式的图片文件进行哈夫曼解码以得到第四直流系数和第四交流系数;对该第四直流系数和该第四交流系数进行算术编码或非对称编码以得到第三图片文件。

本申请实施例第三方面提供一种计算机设备,该计算机设备具有实现上述第一方面、第二方面、第一方面任意一种可能实现方式、或第二方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

本申请实施例第四方面提供一种计算机设备,可以包括存储器、处理器以及总线系统,其中,存储器用于存储程序,处理器用于调用该存储器中存储的程序以执行本申请实施例第一方面或第一方面任意一种可能实现方式的方法。

本申请实施例第四方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面、第二方面、第一方面任意一种可能实现方式、或第二方面任意一种可能实现方式的方法。

本申请实施例第五方面提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面、第二方面、第一方面任意一种可能实现方式、或第二方面任意一种可能实现方式的方法。

本申请实施例第六方面提供了一种芯片,该芯片(如,CPU)包括至少一个处理器和至少一个接口电路,该接口电路和该处理器耦合,至少一个接口电路用于执行收发功能,并将指令发送给至少一个处理器,至少一个处理器用于运行计算机程序或指令,其具有实现如上述第一方面、第二方面、第一方面任意一种可能实现方式、或第二方面任意一种可能实现方式的方法的功能,该功能可以通过硬件实现,也可以通过软件实现,还可以通过硬件和软件组合实现,该硬件或软件包括一个或多个与上述功能相对应的模块。此外,该接口电路用于与该芯片之外的其它模块进行通信,例如,该接口电路可将芯片上处理器得到的伪文件和第二图片文件发送给另一侧设备进行保存。

本申请实施例第二到第六方面能够实现如第一方面所述的有益效果,为避免重复,此处不再进行赘述。

附图说明

图1为本申请实施例提供的一个存储系统架构图;

图2为本申请实施例提供的图片处理方法的一个流程示意图;

图3为本申请实施例提供的图片处理方法的另一个流程示意图;

图4为本申请实施例提供的图片处理方法的另一个流程示意图;

图5为本申请实施例提供的图片处理方法的另一个流程示意图;

图6为本申请实施例提供的图片处理方法的另一个流程示意图;

图7为本申请实施例提供的图片处理方法的另一个流程示意图;

图8为本申请实施例提供的图片处理方法的另一个流程示意图;

图9为本申请实施例提供的图片处理方法的另一个流程示意图;

图10为本申请实施例提供的计算机设备的一种结构示意图;

图11是本申请实施例提供的计算机设备的一种结构示意图;

图12是本申请实施例提供的计算机设备的一种结构示意图。

具体实施方式

下面结合本发明实施例中的附图对本发明实施例进行描述。以下描述中,示出本发明实施例的具体方面或可使用本发明实施例的具体方面的附图。应理解,本发明实施例可在其它方面中使用,并可包括附图中未描绘的结构或逻辑变化。因此,以下详细描述不应以限制性的意义来理解,且本发明的范围由所附权利要求书界定。例如,应理解,结合所描述方法的揭示内容可以同样适用于用于执行所述方法的对应设备或系统,且反之亦然。例如,如果描述一个或多个具体方法步骤,则对应的设备可以包含如功能单元等一个或多个单元,来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元,其中每个都执行多个步骤中的一个或多个),即使附图中未明确描述或说明这种一个或多个单元。另一方面,例如,如果基于如功能单元等一个或多个单元描述具体装置,则对应的方法可以包含一个步骤来执行一个或多个单元的功能性(例如,一个步骤执行一个或多个单元的功能性,或多个步骤,其中每个执行多个单元中一个或多个单元的功能性),即使附图中未明确描述或说明这种一个或多个步骤。进一步,应理解的是,除非另外明确提出,本文中所描述的各示例性实施例和/或方面的特征可以相互组合。

本发明实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。

本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。

首先对本申请实施例提供的图片处理方法所涉及的应用场景进行介绍。在一种可能的实现方式中,本申请实施例提供的图片处理方法可在端侧执行。示例性的,端侧设备可以从自身的存储器或者云端获取第一图片文件,由端侧的处理器对第一图片文件进行解码及其他处理操作,最终得到RGB格式的图片文件用于显示。在一种可能的实现方式中,本申请实施例提供的图片处理方法可在云侧执行。示例性的,云侧设备可以从自身的存储器中获取第一图片文件,由云侧的处理器对第一图片文件进行解码及其他处理操作,最终得到RGB格式的图片文件,再将RGB格式的图片发送给端侧用于显示。在一种可能的实现方式中,本申请实施例提供的图片处理方法可通过端云协同执行。示例性的,云侧设备可以从自身的存储器中获取第一图片文件,并进行一定的处理,再将某个中间过程的结果发送给端侧设备,由端侧设备进行后续处理,并最终生成RGB格式的图片文件用于显示。在一种可能的实现方式中,本申请实施例提供的图片处理方法可应用于家庭存储的场景中,此时,家庭存储可对应于上述云侧存储,其方法类似,不再进行赘述。

其次,对本申请实施例提供的系统架构进行介绍,具体请参阅图1,图1为本发明实施例提供的存储系统架构图。如图1所示,存储系统中包括计算节点11、存储节点12和存储介质13。其中,所述计算节点11和存储节点12可以为物理服务器,或者也可以为虚拟机、容器等基于通用硬件资源抽象的虚拟实体。所述存储介质13例如为固态硬盘(Solid StateDisk,SSD)、硬盘(hard disk drive,HDD)、存储级内存(Storage class memory,SCM)等存储介质,并且,所述存储介质13可以为存储节点本地的存储介质,也可以为与存储节点连接的分布式的存储介质。

计算节点11可对存储节点12进行数据访问,例如写数据、读数据等。具体是,计算节点11可向存储节点12发送写请求以写入数据,该写请求的待写数据例如可以为图片、数据库、文本等各种类型的数据。存储节点12在接收到写请求之后,可通过编码模块121、解码模块121、处理模块123等对写请求所涉及的文件进行处理。编码模块121、伪文件生成模块123、解码模块122可以为软件、硬件或者固件的形式。

为了方便理解,对本申请实施例所涉及的术语进行简单的介绍,由于下列编码过程均为业内通用的编码过程,对其具体的实现方式本申请实施例不再进行赘述。

1.一次编码

本申请实施例中的一次编码是指将RGB格式的图片文件编码为JPEG格式、PNG(Portable Network Graphics,PNG)格式或者GIF(Graphics Interchange Format,GIF)格式等格式的图片文件的过程,一次编码的过程也可称为一次压缩,该过程中主要包括YUV编码、离散余弦变换(Discrete Cosine Transform,DCT)、量化、和哈夫曼编码(Huffman)等过程,下面将对每一个变换过程进行详细的介绍。本申请实施例中不限定将RGB格式的图片文件编码为何种格式的图片文件,本申请实施例中以将RGB格式的图片文件编码为JPEG格式的图片文件为例,对一次编码的过程进行说明。

2.二次编码

本申请实施例中的一次编码是指将JPEG格式、PNG格式或者GIF格式等格式的图片文件编码为所需存储空间更小的格式的图片文件的过程。本申请实施例不限定二次编码后的图片文件的格式,该图片格式可以与一次编码后的图片文件的格式相同,也可以不同,但其所需的存储空间小于一次编码后的图片文件。本申请实施例中以对JPEG格式的图片文件进行二次编码为例,对二次编码的过程进行说明。

3.RGB

RGB色彩模式是工业界的一种颜色标准,是通过对红(R,Red)、绿(G,Green)、蓝(B,Blue)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是运用最广的颜色系统之一。在显示场景中用于显示的图片文件通常为RGB格式的图片文件。

4.YUV

YUV,是一种颜色编码方法。常使用在各个视频处理组件中。YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽。YUV是编译true-color颜色空间(color space)的种类,Y'UV、YUV、YCbCr、YPbPr等专有名词都可以称为YUV,彼此有重叠。“Y”表示明亮度(Luminance或Luma),也就是灰阶值,“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。YUV解码是与YUV编码相对应的逆过程。

由于JPEG只支持YUV颜色模式的数据结构,而不支持RGB图像数据结构,所以在将RGB格式的图片文件进行后续编码之前,需要进行YUV编码(对颜色模式进行数据转换)。

5.DCT

DCT变换是将图像信号在频率域上进行变换,分离出高频和低频信息的处理过程。然后再对图像的高频部分(即图像细节)进行压缩,以达到压缩图像数据的目的。首先将图像划分为多个8*8的矩阵。然后对每一个矩阵作DCT变换,变换后得到一个频率系数矩阵,频率系数矩阵中的频率系数都是浮点数。反DCT是与DCT变换相对应的逆过程。

6.量化

量化由于在后续编码过程中使用的码本都是整数,因此需要对变换后的频率系数进行量化,将之转换为整数。反量化是与量化相对应的逆过程。

7.哈夫曼(Huffman)编码

哈夫曼编码是可变字长编码的一种,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,也称之为最佳编码或者霍夫曼编码。哈夫曼解码是与哈夫曼编码相对应的逆过程。

8.算术编码

算术编码是一种无损数据压缩方法,也是一种熵编码的方法。和其它熵编码方法不同的地方在于,其他的熵编码方法通常是把输入的消息分割为符号,然后对每个符号进行编码,而算术编码是直接把整个输入的消息编码为一个数,一个满足(0.0≤n<1.0)的小数n。在给定符号集和符号概率的情况下,算术编码可以给出接近最优的编码结果。使用算术编码的压缩算法通常先要对输入符号的概率进行估计,然后再编码。这个估计越准,编码结果就越接近最优的结果。算术解码是与算术编码相对应的逆过程。

9.非对称数字系统(Asymmetric Numeral Systems,ANS)编码

ANS编码是一个既有AC算法的压缩率又有Huffman算法的压缩速度的无损压缩算法。

随着智能手机为代表的终端的流行,现有智能手机和云存储中媒体类文件(特别是图片)的占比普遍较高,且随着相机像素不断增加,图片分辨率越来越高,每张照片占用的存储空间也越来越大。目前,存储空间不足已成为用户更换手机的主要因素之一,降低图片所需的存储空间,提升存储空间使用效率能够极大提升用户体验及黏性。JPEG(jointphotographic experts group,JPEG)是当前使用最广泛的图片标准(图片格式),然而,JPEG格式的图片文件所需的存储空间较大,存储大量的JPEG格式图片容易导致终端或者云端的存储空间不足的问题。

目前比较流行的现有技术中,主要通过将JPEG格式的图片文件编码为所需存储空间更小的图片文件以起到节约系统存储空间的效果。针对现有的标准JPEG,已经有标准的解码器实现从JPEG的解码到显示的各种技术,而针对JPEG格式的图片文件进行进一步编码后得到的图片文件,通常先将其解码为JPEG格式的图片文件后,再用已有的标准的解码器对JPEG格式的图片文件进行解码,并用于显示等场景中。整个过程较为死板和繁琐,系统复杂度较高,资源开销较大。

具体的,请参阅图2,图2为现有技术中对图片文件进行处理的一个流程示意图。现有技术中,如图2中左侧箭头所示,首先,通过相机拍摄或者社交软件接收等方式获取到原始RGB格式的图片文件后,然后,通过YUV编码将RGB格式的图片文件转换为YUV格式的图片文件,接着对YUV格式的图片文件进行DCT变换和量化,将YUV格式的图片文件转换为直流系数和交流系数,最后,再通过Huffman编码将直流系数和交流系数转换为JPEG格式的图片文件。上述过程为将RGB图片文件转化为JPEG格式的图片文件的一次编码的过程(这里可称为完整的一次编码过程)。

随后,为了节约存储空间,对JPEG格式的图片文件进行二次编码以得到二次编码后的图片文件(图中为X格式的图片文件,X格式代表任意可能的图片格式)。具体的,首先对JPEG格式的图片文件进行Huffman解码以得到支流系数和交流系数,然后,对直流系数和交流系数进行编码以得到二次编码之后的图片文件。可称上述过程为完整的二次编码过程。最终,存储空间中会存储经过二次编码之后的图片文件,而不会存储原始的RGB格式的图片文件和一次编码后的JPEG格式的图片文件,因此,极大的提升了存储空间的使用效率。

当需要将图片文件用于显示时,需要通过图2中右侧箭头所示的过程将其恢复到RGB格式的图片文件。具体的,需要首先将二次编码后得到的图片文件解码得到JPEG格式的图片文件,然后在将JPEG格式的图片文件解码得到RGB格式的图片文件。

具体的,在将二次编码后得到的图片文件解码得到JPEG格式的图片文件的过程中,首先,对二次编码得到的图片文件解码得到直流系数和交流系数,然后,对直流系数和交流系数进行Huffman编码得到JPEG格式的图片文件。可称上述过程为完整的二次解码过程。在将JPEG格式的图片文件解码得到RGB格式的图片文件的过程中,首先,对JPEG格式的图片文件进行Huffman解码以得到直流系数和交流系数,然后,对直流系数和交流系数进行反量化和反DCT变换以得到YUV格式的图片文件,最后,对YUV格式的图片文件进行YUV解码以得到RGB格式的图片文件。可称上述过程为完整的一次解码过程。RGB格式的图片文件可用于进行显示。

现有技术中,在对RGB图片进行编码以得到二次编码后的图片文件的过程中,为了得到JPEG格式的图片文件,对直流系数和交流系数进行了一次Huffman编码,为了得到直流系数和交流系数,又进行了一次Huffman解码以得到直流系数和交流系数。实际上,在不需要JPEG格式的图片文件作为中间输出的场景中,可跳过生成JPEG格式的图片文件的步骤,直接由RGB格式的图片文件编码得到X格式的图片文件。

具体的,请参阅图3,图3为简化后的图片处理过程的流程示意图。如图3所示,在对RGB格式的图片文件进行编码的过程中,首先,对RGB格式的图片文件进行YUV编码以得到YUV格式的图片文件,然后,对YUV格式的图片文件进行DCT变换和量化以得到直流系数和交流系数,最后,直接对直流系数和交流系数进行解码以得到X格式的图片文件。系统可存储X格式的图片文件以提高存储空间的利用效率。对应的,在对X格式的图片文件进行解码的过程中,首先,对X格式的图片文件进行解码以得到直流系数和交流系数,然后,对直流系数和交流系数进行反量化和反DCT变换以得到YUV格式的图片文件,最后,对YUV格式的图片文件进行YUV解码以得到RGB格式的图片文件,RGB格式的图片文件可用于显示。

如图3所示的图片处理流程,删除了现有技术中冗余的Huffman编码和Huffman解码的过程,简化了一次编码过程、二次编码过程、一次解码过程和二次解码过程。通过简化解码和编码过程,能够避免冗余操作,在一定程度上降低资源开销,降低系统复杂度。

基于上述所述背景和发明构思,接下来对本申请实施例提供的图片处理方法进行详细介绍,该图片处理方法对应于图3中右侧的步骤,即,将二次编码得到的文件进行解码以得到RGB格式的图片文件用于显示的过程。该图片处理方法可用于上述的各种应用场景中,这里仅以端侧作为执行主体对方案进行详细的描述,应该理解,其他应用场景中也可以使用,且方法基本相同。具体请参阅图4,图4为本申请实施例提供的图片处理方法的一个流程示意图,具体可以包括如下步骤:

401、获取第一图片文件。

这里的第一图片文件对应于图3中的X格式的图片文件,即,存储的图片文件,第一图片文件可存储于存储器中。本申请实施例不限制第一图片文件的格式,其可以是私有格式,也可以是标准格式。

步骤401中可通过多种可能的实现方式获取该第一图片文件。在一种可能的实现方式中,该第一图片文件可以存储于本地的存储器中,此时,可从本地存储器中获取该第一图片文件。在另一种可能的实现方式中,该第一图片文件可以存储于云端的存储器中,此时,可从云端接收该第一图片文件。在另一种可能的实现方式中,该第一图片文件可以存储于其他电子设备中(例如,独立的存储器或者其他终端设备),此时,可从其他电子设备接收该第一图片文件。

该第一图片文件可能有多种来源。在一种可能的实现方式中,该第一图片文件可通过如图2中左侧箭头所示的过程处理得到,即,该第一图片文件是通过对RGB格式的图片文件进行完整的一次编码得到JPEG等格式的图片文件,再对JPEG等格式的图片文件进行完整的二次编码得到的。在另一种可能的实现方式中,该第一图片文件可通过如图3左侧箭头所示的过程处理得到,即,该第一图片文件是通过对RGB格式的图片文件进行简化的一次编码得到JPEG等格式的图片文件,再对JPEG等格式的图片文件进行简化的二次编码得到的。在另一种可能的实现方式中,该第一图片文件可通过对JPEG等格式的图片文件进行编码得到,本申请实施例对JPEG等格式的图片文件的获取方式不进行限定,示例性的,该JPEG等格式的图片文件可以是通过社交软件等方式获取的,或者是从云端获取的。

应当理解,上述JPEG等格式的图片文件并不限定于JPEG格式,其还可以是PNG格式或者GIF格式等可以进行二次编码的常见的图片格式。本申请实施例仅以JPEG格式的图片文件为例对图片处理方法进行详细说明。

402、对该第一图片文件进行算术解码或非对称数字系统(ANS)解码以得到第一直流系数和第一交流系数。

403、对该第一直流系数和该第一交流系数进行反量化和反离散余弦变换以得到YUV格式的图片文件。

需要注意的是,步骤403中直接对步骤402得到的第一直流系数和第一交流系数进行反量化和反离散余弦变换以得到YUV格式的图片文件。具体的,现有技术中需要对步骤402得到的第一直流系数和第一交流系数进行Huffman编码以得到JPEG格式的图片文件,然后,再对JPEG格式的图片文件进行Huffman解码以得到第二直流系数和第二交流系数,然后,再对第二直流系数和第二交流系数进行反量化和反离散余弦变换以得到YUV格式的图片文件。步骤403不同于现有技术中的方案,跳过Huffman编码和Huffman解码步骤,直接对步骤402得到的第一直流系数和第一交流系数进行反量化和反离散余弦变换以得到YUV格式的图片文件。

404、将该YUV格式的图片文件转化为RGB格式的图片文件。

步骤404可通过YUV解码过程实现,所得的RGB格式的图片文件可用于进行显示或者供用户进行浏览。

上述图片处理方法简化了解码过程中的冗余步骤,使得解码的过程更加灵活,降低了系统复杂度和资源开销,也在一定程度上提升了图片文件解码的效率。

随着终端功能的多样化发展,用户对图片文件存在多种可能的使用方式,因此,针对不同的使用方式,可以采用不同的方式对图片文件进行处理,以最大程度的提升系统处理效率。请参阅图5,图5以第一图片文件作为起点。在一种可能的实现方式中,用户可能希望将第一图片文件用于显示等场景,需要将第一图片文件转化为RGB格式的图片文件。此时,可采用如图4所示的图片处理方法,通过简化的二次解码过程和简化的一次解码过程将第一图片文件转化为RGB格式的图片文件。在另一种可能的实现方式中,用户可能希望对第一图片文件进行编辑,或者通过微信、微博等社交应用发送该第一图片文件,需要将第一图片文件转化为JPEG等格式的图片文件。此时,可采用完整的二次解码过程,将第一图片文件转化为JPEG等格式的图片文件。

应当理解,上述应用场景仅仅是示例性的,其他应用场景也是可能的。对于需要JPEG等格式的图片文件的应用场景,可采用完整的二次解码过程对第一图片文件进行处理,对于需要RGB格式的图片文件的因公场景,可采用简化的二次解码和简化的一次解码过程对第一图片文件进行处理。

根据不同的用途对图片文件采取不同的处理方式,能够使得系统对图片文件的管理更加灵活,在保证功能实现的前提下,进一步提升系统效率,降低系统复杂度,提升资源的利用率。

基于上述所述背景和发明构思,接下来对本申请实施例提供的另一种图片处理方法进行详细介绍,该图片处理方法对应于图3中左侧的步骤,即,将RGB格式的图片文件进行编码以得到二次编码得到的文件用于存储的过程。该图片处理方法可用于上述的各种应用场景中,这里仅以端侧作为执行主体对方案进行详细的描述,应该理解,其他应用场景中也可以使用,且方法基本相同。具体请参阅图6,图6为本申请实施例提供的图片处理方法的一个流程示意图,具体可以包括如下步骤:

601、获取RGB格式的图片文件。

本申请实施例对获取RGB格式的图片文件的方式不进行限定,示例性的,可通过拍照等采集方式获取RGB格式的图片文件,也可以从云端或者其他电子设备接收RGB格式的图片文件。

602、将该RGB格式的图片文件转化为YUV格式的图片文件。

步骤602可通过YUV编码过程实现。

603、对该YUV格式的图片文件进行离散余弦变换和量化,以得到第三直流系数和第三交流系数。

604、对该第三支流系数和该第三交流系数进行算术编码或者非对称数字系统编码,以得到第三图片文件,所述第三图片文件用于存储与存储器中。

在获取到第三图片文件之后,可以将第三图片文件进行存储,在一种可能的实现方式中,可将第三图片文件存储于本地的存储器中,在另一种可能的实现方式中,可将第三图片文件发送到云端的存储器进行存储,在另一种可能的实现方式中,可将第三图片文件发送到其他电子设备内中进行存储。

需要注意的是,步骤604中直接对步骤603得到的第三直流系数和第三交流系数进行算术编码或者非对称数字系统编码,以得到第三图片文件。具体的,现有技术中需要对步骤603得到的第三直流系数和第三交流系数进行Huffman编码以得到JPEG格式的图片文件,然后,再对JPEG格式的图片文件进行Huffman解码以得到第四直流系数和第四交流系数,然后,再对第四直流系数和第四交流系数进行算术编码或者非对称数字系统编码以得到第三图片文件。步骤604不同于现有技术中的方案,跳过Huffman编码和Huffman解码步骤,直接对步骤603得到的第三直流系数和第三交流系数进行算术编码或者非对称数字系统编码以得到第三图片文件。

请参阅图7,在一种可能的实现方式中,当第三图片需要被转化为RGB等格式的图片文件时,上述图片处理方法还包括以下步骤:

605、对该第三图片文件进行算术解码或非对称数字系统解码以得到第三直流系数和第三交流系数。

606、对该第三直流系数和该第三交流系数进行反量化和反离散余弦变换以得到YUV格式的图片文件。

607、将该YUV格式的图片文件转化为RGB格式的图片文件。

步骤605-607是可选的,步骤605-607的具体实现方式与步骤402-403的实现方式基本相同,为避免重复,此处不再进行赘述。

示例性的,该第三图片文件需要被转化为RGB等格式的图片文件的场景包括显示等,其他需要使用RGB等格式的图片文件的场景也是可能的。

请参阅图8,在一种可能的实现方式中,当第三图片需要被转化为JPEG等格式的图片文件时,上述图片处理方法还包括以下步骤:

608、对该第三图片文件进行算术解码或非对称数字系统解码以得到第三直流系数和第三交流系数。

609、对该第三直流系数和该第三交流系数进行Huffman编码以得到JPEG格式的图片文件。

步骤608和步骤609是可选的。步骤608的具体实现方式与步骤402的实现方式基本相同,步骤609可通过现有技术中的方案实现,为避免重复,此处不再进行赘述。

示例性的,该第三图片文件需要被转化为JPEG等格式的图片文件的场景包括编辑、通过微信、微博等社交应用进行发送等,其他需要使用JPEG等格式的图片文件的场景也是可能的。

上述图片处理方法简化了编码过程中的冗余步骤,使得编码的过程更加灵活,降低了系统复杂度和资源开销,也在一定程度上提升了图片文件编码的效率。

随着终端功能的多样化发展,用户对图片文件存在多种可能的使用方式,因此,针对不同的使用方式,可以采用不同的方式对图片文件进行处理,以最大程度的提升系统处理效率。请参阅图9,图9以RGB格式的图片文件作为起点。在一种可能的实现方式中,用户可能希望该图片文件进行存储,此时,为了节约存储空间,需要将RGB格式的图片文件编码为所需存储空间更小的X格式的图片文件。此时,可采用如图6所示的图片处理方法,通过简化的一次编码过程和简化的二次编码过程将RGB格式的图片文件转化为X格式的图片文件。在另一种可能的实现方式中,用户可能希望对RGB格式的图片文件进行编辑,或者通过微信、微博等社交应用发送该图片文件,此时,需要将该RGB格式的图片文件转化为JPEG等格式的图片文件。此时,可采用完整的一次编码过程。

根据不同的用途对图片文件采取不同的处理方式,能够使得系统对图片文件的管理更加灵活,在保证功能实现的前提下,进一步提升系统效率,降低系统复杂度,提升资源的利用率。

在上述对应实施例的基础上,为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的计算机设备。该计算机设备可以包括手持终端设备,如,手机、电脑、iPad等,也可以包括智能可穿戴设备,如,智能手环、智能手表、智能心率计等;还可以包括轮式移动设备,如,车辆(如自动驾驶车辆)、飞行器、机器人(如扫地机器人)等,具体本申请对计算机设备的产品形态不做限定,只要能用于实现本申请所述的图片处理方法的电子设备,都可以称为计算机设备。

请参阅图10,图10为本申请实施例提供的计算机设备的一种结构示意图,该计算机设备1000包括:获取模块1003、解码模块1002和处理模块1002,其中,获取模块1001,用于获取第一图片文件;解码模块1002,用于对该第一图片文件进行算术解码或ANS解码以得到第一直流系数和第一交流系数;处理模块1003,用于对该第一直流系数和该第一交流系数进行反量化和反离散余弦变换以得到YUV格式的图片文件;处理模块还用于将该YUV格式的图片文件转化为RGB格式的图片文件。

在一种可能的设计中,该第一图片文件是对第二图片文件进行编码得到的,该第一图片文件的格式与该第二图片文件的格式不同,该第二图片文件的格式为以下任意一种:

JPEG格式,PNG格式或者GIF格式。

在一种可能的设计中,该第一图片文件存储与存储器中。

在一种可能的设计中,该RGB格式的图片文件用于进行显示

在一种可能的设计中,该获取模块1001,具体用于从云端或者其他电子设备接收该第一图片文件。

在一种可能的设计中,该处理模块不用于:对该第一直流系数和该第一交流系数进行哈夫曼编码以得到JPEG格式的图片文件;对该JPEG格式的图片文件进行哈夫曼解码以得到第二直流系数和第二交流系数;对该第二直流系数和该第二交流系数进行反量化和反离散余弦变换以得到YUV格式的图片文件。

请参阅图11,图11为本申请实施例提供的计算机设备的一种结构示意图,该计算机设备1100包括:获取模块1101、编码/解码模块1102和处理模块1103,其中,获取模块1101,用于获取RGB格式的图片文件;处理模块1103,用于将该RGB格式的图片文件转化为YUV格式的图片文件;处理模块1103,还用于对该YUV格式的图片文件进行离散余弦变换和量化,以得到第三直流系数和第三交流系数;编码/解码模块1102,用于对该第三直流系数和该第三交流系数进行算术编码或者非对称数字系统编码,以得到第三图片文件,该第三图片文件用于存储于存储器中。

在一种可能的设计中,编码/解码模块1102,还用于该第三图片文件进行算术解码或者非对称解码以得到该第三直流系数或该第三交流系数;处理模块1103,还用于对该第三直流系数或第三交流系数进行反量化和反离散余弦变换以得到该YUV格式的图片文件;处理模块1103,还用于将该YUV格式的图片文件转化为RGB格式的图片文件。

在一种可能的设计中,编码/解码模块1102,还用于对该第三图片文件进行算术解码或者非对称解码以得到该第三直流系数或该第三交流系数;编码/解码模块1102,还用于对该第三直流系数或该第三交流系数进行哈夫曼编码以得到JPEG格式的图片文件。

在一种可能的设计中,该计算机设备1100还包括发送模块1104,用于将该图片文件发送至云端或者其他电子设备进行存储。

在一种可能的设计中,编码/解码模块1102,不用于对该第三直流系数和该第三交流系数进行哈夫曼编码以得到JPEG格式的图片文件;对该JPEG格式的图片文件进行哈夫曼解码以得到第四直流系数和第四交流系数;对该第四直流系数和该第四交流系数进行算术编码或非对称编码以得到第三图片文件。

本申请实施例还提供了一种计算机设备,请参阅图12,图12是本申请实施例提供的计算机设备一种结构示意图,为便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该计算机设备1200上可以部署有图10和图11对应实施例中所描述的模块,用于实现图10对应实施例中计算机设备1000的功能和图11对应实施例中计算机设备1100的功能。具体的,计算机设备1200由一个或多个服务器实现,计算机设备1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1222和存储器1232,一个或一个以上存储应用程序1242或数据1244的存储介质1230(例如一个或一个以上海量存储设备)。其中,存储器1232和存储介质1230可以是短暂存储或持久存储。存储在存储介质1230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算机设备1200中的一系列指令操作。更进一步地,中央处理器1222可以设置为与存储介质1230通信,在计算机设备1200上执行存储介质1230中的一系列指令操作。

计算机设备1200还可以包括一个或一个以上电源1226,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1258,和/或,一个或一个以上操作系统1241,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

本申请实施例中,中央处理器1222,用于执行图4和图6对应实施例中的图片的处理方法。例如,中央处理器1222可以用于:获取第一图片文件;对该第一图片文件进行算术解码或非对称数字系统解码以得到第一直流系数和第一交流系数;对该第一直流系数和该第一交流系数进行反量化和反离散余弦变换以得到YUV格式的图片文件;将该YUV格式的图片文件转化为RGB格式的图片文件。再如,中央处理器1222还可以用于:获取RGB格式的图片文件;将该RGB格式的图片文件转化为YUV格式的图片文件;对该YUV格式的图片文件进行离散余弦变换和量化,以得到第三直流系数和第三交流系数;对该第三直流系数和该第三交流系数进行算术编码或者非对称数字系统编码,以得到第三图片文件,该第三图片文件用于存储于存储器中。

需要说明的是,中央处理器1222还可以用于执行与本申请中图4和图6对应的方法实施例中任意一个步骤,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例提供的图片处理装置可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使芯片执行上述图4、图6所示实施例描述的方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。

本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述所示实施例描述中计算机设备所执行的步骤。

另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,固态硬盘(solid statedisk,SSD))等。

相关技术
  • 一种图片处理方法、图片处理装置及终端设备
  • 一种图片处理方法、系统及终端设备
  • 一种图片处理方法及设备
  • 一种图片处理方法及终端设备
  • 一种信息处理方法、区块链节点设备以及相关设备
  • 图片处理方法、文本处理方法、相关设备及存储介质
  • 一种图片处理方法及相关设备
技术分类

06120116502023