图像处理方法及装置与流程

文档序号:12378310阅读:189来源:国知局
图像处理方法及装置与流程

本申请实施例涉及信息处理技术领域,尤其涉及图象处理方法及装置。



背景技术:

相机是集光学、机械、电子一体化的产品。它集成了影像信息的转换、存储和传输等部件,具有数字化存取模式,与电脑交互处理和实时拍摄等特点。光线通过镜头或者镜头组进入相机,通过数码相机成像元件转化为数字信号,数字信号通过影像运算芯片储存在存储设备中。手机中的相机功能更是当代人必备品,实时记录下风景、聚会、自拍,给人们留下很多美好的记忆。

如图1所示,发明人在实现发明过程中发现,现有技术处理图像的方法一般为:在Camera HAL(硬件抽象层)接收到YUV格式的数据数据之后,由Camera HAL将YUV格式的数据转发给Camera Serivce(结构层),相当于Camera Serivce拷贝了一次数据。

在Camera Serivce接收到所述数据之后,由Camera Serivce将YUV格式的数据转发给Camera APP(应用层),相当于Camera APP拷贝了一次数据。

在Camera APP接收到所述数据之后,调用软件编码模块对所述数据进行软件编码得到JPEG(Joint Photographic Experts Group,联合图像专家组)格式的数据。软件编码模块将得到的编码数据传输给Camera APP存储,相当于Camera APP又拷贝了一次数据。

综上可见,在整个图像处理的过程中,多次拷贝数据导致图像处理的效率低。



技术实现要素:

本申请实施例提供一种图像处理方法及装置,用以解决目前由于现有的图像处理技术方法中多次拷贝数据,使得处理图像的效率低的问题。

本申请实施例提供的具体技术方案如下:

一方面,本申请实施例提供一种图像处理方法,所述方法包括:

在硬件抽象层接收到图像数据之后,对所述数据进行编码;

将得到的编码数据传输给结构层,使所述编码数据经由结构层转发给应用层存储。

另一方面,本申请实施例还提供图像处理装置,所述装置包括:

编码模块,用于在硬件抽象层接收到图像数据之后,对所述数据进行编码;

传输模块,用于将得到的编码数据传输给结构层,使所述编码数据经由结构层转发给应用层存储。

本申请实施例有益效果包括:本申请实施例提供图像处理方法及装置。在本申请实施例提供的技术方案中,由于在硬件抽象层接收到图像数据之后,对所述数据进行编码;将得到的编码数据传输给结构层,使所述编码数据经由结构层转发给应用层存储。在这整个图像处理过程中,将编码数据传输给结构层相当于结构层(Camera Serivce)进行了一次数据拷贝,将编码数据由结构层转发给应用层相当于应用层(Camera APP)进行了一次数据拷贝。由于现有技术中进行编码时,均是对数据进行编码后将编码数据输出,而本申请实施例中也是对数据进行编码后将编码数据输出,所以在编码这个环节,相当于拷贝数据的次数是一样的。由此可知,本申请实施例由于Camera APP相对于现有技术少拷贝了一次数据,从而能够提高处理图像的效率。

附图说明

图1为本发明背景技术中所述图像处理方法的示意图;

图2为本申请实施例一中所述图像处理方法的示例性流程图;

图3为本申请实施例一中所述采样方式的示意图;

图4为本申请实施例一中所述设置界面的示意图;

图5为本申请实施例二中所述图像处理方法的示例性流程图;

图6为本申请实施例二中所述图像处理方法的示意图;

图7为本申请实施例三中所述图像处理装置的结构示意图之一;

图8为本申请实施例三中所述图像处理装置的结构示意图之二;

图9为本申请实施例五中提供的执行图像处理方法的电子设备的硬件结构示意图。

具体实施方式

本申请实施例提供图像处理方法及装置。在本申请实施例提供的技术方案中,由于在硬件抽象层接收到图像数据之后,对所述数据进行编码;将得到的编码数据传输给结构层,使所述编码数据经由结构层转发给应用层存储。在这整个图像处理过程中,将编码数据传输给结构层相当于结构层(Camera Serivce)进行了一次数据拷贝,将编码数据由结构层转发给应用层相当于应用层(Camera APP)进行了一次数据拷贝。由于现有技术中进行编码时,均是对数据进行编码后将编码数据输出,而本申请实施例中也是对数据进行编码后将编码数据输出,所以在编码这个环节,相当于拷贝数据的次数是一样的。由此可知,本申请实施例由于Camera APP相对于现有技术少拷贝了一次数据,从而能够提高处理图像的效率。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

如图2所示为本申请实施例提供的图像处理方法的示意图,包括以下步骤:

步骤201:在硬件抽象层接收到图像数据之后,对所述数据进行编码。

步骤202:将得到的编码数据传输给结构层,使所述编码数据经由结构层转发给应用层存储。

为便于理解,下面对本申请实施例提供的图像处理方法,作进一步说明,可包括以下内容:

其中,在一个实施例中,可以采用软件编码的方法对硬件抽象层接收到图像数据进行编码。当然具体实施时,为了提高编码效率,也可以采用采用硬件编码方法对所述数据进行编码。

进一步地,如背景技术所述,所述硬件抽象层接收到的数据为YUV格式的数据。其中,颜色由亮度和色度两个分量表示,其中色度又包括色相(Hue)及饱和度(Saturation)。而YUV是被欧洲电视系统所采用的一种颜色编码方法(属于PAL(Phase Alteration Line,帕尔制)),是PAL和SECAM(SequentielCouleur A Memoire,塞康制)模拟彩色电视制式采用的颜色空间。Y、U、V几个字母不是英文单词的组合词。其中的Y表示明亮度(Luminance或Luma);而“U”和“V”是构成色度的两个分量,描述的是色相及饱和度。

由图1可见,现有技术中Camera Serivce拷贝的是YUV格式的数据,Camera APP拷贝了一次YUV格式的数据和一次JPEG格式的数据。而,YUV格式的数据,数据量较大。由于数据量较大,所以进行数据拷贝时,拷贝的数据量也大,导致处理图像的效率较低。故此,为了提高处理图像的效率,本申请实施例中,步骤201(即在硬件抽象层接收到图像数据之后,对所述数据进行编码)可具体执行为:将所述YUV格式的数据转换为JPEG格式的数据。这样,编码后得到的是JPEG格式的数据。即在进行数据拷贝之前,将所述YUV格式的数据转换为JPEG格式的数据。这样,Camera Serivce拷贝的是JPEG格式的数据,Camera APP拷贝的也是JPEG格式的数据。由于JPEG格式的数据的数据量较小,那么拷贝的数据量也变小。故此,能够进一步提高图像处理的效率。

为便于理解,这里简单介绍一下得到JPEG格式的数据实现的方法。该方法可主要包括数据采集、DCT变换(Discrete Cosine Transform,离散余弦变换)、数据量化和编码四部分内容。其中:

1)、数据采集:

现有技术中对于YUV图像可采用以下三种采样方式:YUV4:4:4和YUV4:2:2,以及YUV 4:2:0采样,它们所代表的意义是Y、U和V三个分量的数据取样比例。其中,YUV4:2:0采样方式中,0并不是代表有一种信号不采样,而是表示每四个Y分量共用一组UV分量,关于其详细原理,可参见现有技术,这里不做赘述。当然,具体实施时,可以根据实际需要采用其他现有技术的采取样比例,本申请实施例对此不做限定。

为了直观的表达上述各采样方式,这里用图3直观地表示这三种采集方式,如图3所示:以黑点表示采样该像素点的Y分量,以空心圆圈表示采用该像素点的UV分量。其中,在YUV 4:4:4采样方式中,每一个Y对应一组UV分量;在YUV 4:2:2采样方式中,每两个Y共用一组UV分量;在YUV 4:2:0采样,每四个Y共用一组UV分量。

由于人类的眼晴对低频的数据比对高频的数据具有更高的敏感度。事实上,人类的眼睛对亮度的改变也比对色度的改变要敏感得多。也就是说,Y分量的数据是比较重要的。既然U分量和V分量的数据比较相对不重要,对于UV分量就可以只取部分数据来处理,以达到增加压缩比例的目的。在JPEG格式的数据中通常采用YUV4:2:2,或YUV 4:2:0方式进行采样。

所以,在硬件抽象层接收到YUV格式的数据数据之后,若该YUV格式的数据为采用YUV 4:4:4采样方式,那么可以采用YUV4:2:2,或YUV 4:2:0采样方式对该YUV格式的数据进行重采样。

2)、DCT变换:

DCT变换,用于对图像(包括静止图像和运动图像)进行有损数据压缩,从而进一步减少数据量。这是由于离散余弦变换具有很强的"能量集中"特性。大多数的图像的能量都集中在离散余弦变换后的低频部分。而且当图像信号具有接近马尔科夫过程(Markov processes)的统计特性时,DCT变换的去相关性接近于K-L变换(Karhunen-Loeve Transform,变换,霍特林变换),即具有最优的去相关性的性能。

例如,在JPEG中,在MJPEG(Motion Joint Photographic Experts Group,运动图像编码标准)和MPEG(Moving Pictures Experts Group,动态图像编码标准)的各个标准中都使用了DCT变换。

3)、数据量化:

DCT变换后将得到一系列频率系数(包括亮度频率系数和色度频率系数)。具体实施时,可以采用8*8的量化矩阵进行DCT变换,该方法可以参考现有技术,本申请实施例在此不做赘述。将频率系数除以上述8*8量化矩阵的值,取得与商数最近的整数,至此完成量化。当然,具体实施时,可以采用现有技术的其它方法进行量化,本申请实施例对此不做限定。

4)、编码:

可以采用DC(Direct Current component,直流分量)编码也可以采用AC(Alternating Current component,交流分量)编码,其中:

DC编码为DC系数哈夫曼编码。DC是采用差值脉冲编码调制的差值编码法。即,在同一个图像分量中取得每个DC值与前一个DC值的差值来编码。DC采用差值脉冲编码的主要原因是由于在连续色调的图像中,其差值通常比原值小。对差值进行编码所需的位数,会比对原值进行编码所需的位数少许多。例如差值为5,它的二进制表示值为101,如果差值为-5,则先改为正整数5,再将其二进制转换成1的补数即可。所谓1的补数,就是将每个Bit若值为0,便改成1;Bit为1,则变成0。例如,二进制为010,则其补数为101。

AC编码为AC系数哈夫曼编码,具体实现方法可参见现有技术,这里不做赘述。

实现上述四个步骤,即完成一幅图像的JPEG压缩。

进一步地,在一个实施例中,为了使得到的JPEG格式的数据符合预设图像尺寸以及预设压缩比率,从而便于进行存储和查看。本申请实施例中,将所述YUV格式的数据转换为联合图像专家组JPEG格式的数据,可具体包括以下步骤:

步骤A1:获取预设图像尺寸以及预设压缩比率。

其中,在一个实施例中,图像尺寸可以用像素数量表示。例如,智能手机的图像尺寸可包括以下中的至少一种:326*2448、326*1836、2048*1536、2048*1152等,其中,326等数据表示像素个数。其中326*2448的图像数据量约为8M(Megabyte,兆字节);326*1836图像数据量约为12M。故此,设置的预设图像尺寸越大,每张图像占用的存储空间越大,具体实施时,可以根据实际需要设置设图像尺寸。

其中,在一个实施例中,JPEG压缩技术十分先进,它用有损压缩方式去除冗余的图像数据。在获得极高的压缩比率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的磁盘空间得到较好的图像品质。而且JPEG是一种很灵活的格式,具有调节图像质量的功能,允许用不同的压缩比率对文件进行压缩,支持多种压缩级别,压缩比率通常在10:1到40:1之间,压缩比率越大,品质就越低;相反地,压缩比率越小,品质就越好。故此,具体实施时,可以根据实际需求,合理设置预设压缩比率。

步骤A2:根据预设压缩比率,将所述YUV格式的数据转换为所述预设图像尺寸的JPEG格式的数据。

进一步地,在一个实施例中,为了提高用户体验,便于用户根据自身需求,设置预设图像尺寸以及预设压缩比率。本申请实施例中,步骤A1可具体执行为以下步骤B1-步骤B2:

步骤B1:显示设置图像尺寸以及压缩比率的设置界面。

其中,设置界面可以如图4所示。在图4中:设置界面中显示“图像尺寸”和“压缩比率”两个菜单栏。用户可以从该界面中选择自身需要的图像尺寸作为预设图像尺寸,选择自身需要的压缩比率作为预设压缩比率。

当然,具体实施时,为了便于用户操作,解放用户双手,可以采用语音输入的方式,配置预设图像尺寸以及预设压缩比率。例如,在设置界面中可以提供具有语音输入功能的按钮,用户可通过触发该按钮进行语音输入。例如,语音输入“图像尺寸326*2448”,则根据该语音信息将预设图像尺寸配置为326*2448。

步骤B2:根据用户对所述设置界面的操作结果,获得预设图像尺寸以及预设压缩比率。

这样,用户可以通过设置界面对预设图像尺寸以及预设压缩比率进行设置,并将该设置应用于之后拍摄的图像中。例如,用户对于风景图像的图像质量要求较高,可以设置较大的预设图像尺寸和高质量图像对应的预设压缩比率。例如,用户存储空间不足,却又想获得较多的图片。那么用户可以设置较小的预设图像尺寸来减少每张图像的数据量。这样,可以在有限的存储空间,存储较多的图像。

综上所述,在本申请实施例提供的技术方案中,由于在硬件抽象层接收到图像数据之后,对所述数据进行编码;将得到的编码数据传输给结构层,使所述编码数据经由结构层转发给应用层存储。在这整个图像处理过程中,将编码数据传输给结构层相当于Camera Serivce进行了一次数据拷贝,将编码数据由结构层转发给应用层相当于Camera APP进行了一次数据拷贝。由于现有技术中进行编码时,均是对数据进行编码后将编码数据输出,而本申请实施例中也是对数据进行编码后将编码数据输出,所以在编码这个环节,相当于拷贝数据的次数是一样的。由此可知,本申请实施例由于Camera APP相对于现有技术少拷贝了一次数据,从而能够提高处理图像的效率。

此外,在本申请实施例中,由于在进行数据拷贝之前,将所述YUV格式的数据转换为JPEG格式的数据,这样Camera Serivce拷贝的是较少数据量的JPEG格式的数据,应用层Camera APP拷贝的也是较少数据量的JPEG格式的数据。故此,能够进一步提高图像处理的效率。

实施例二

为便于进一步理解本申请实施例提供的图像处理方法,这里以安卓系统的智能终端为例,对该方法做进一步说明。如图5所示,包括以下步骤:

步骤501:智能终端在硬件抽象层接收到YUV格式的数据数据之后,采用硬件编码方法,将所述YUV格式的数据转换为JPEG格式的数据。

步骤502:智能终端将得到的编码数据传输给结构层,使所述编码数据经由结构层转发给应用层存储。

如图6所示,在安卓系统中,步骤501中所述硬件编码方法可具体执行为以下步骤:

步骤C1:在Encode component(编码组件)接收到YUV格式的数据数据之后,将所述数据传输给Kernel V4L2(V4L2内核)进行数据分配。

步骤C2:Kernel V4L2将所述数据传输给Venus hardware(金星的硬件)进行JPEG编码。

步骤C3:Venus hardware将编码后的数据返回给Kernel V4L2。

步骤C4:Kernel V4L2将从Venus hardware接收到的数据返回给Encode component。

步骤C5:Encode component将从Kernel V4L2接收到的数据,传输给Camera Service。

综上所述,在本申请实施例提供的技术方案中,安卓智能终端在硬件抽象层接收到图像数据之后,对所述数据进行编码;将得到的编码数据传输给结构层,使所述编码数据经由结构层转发给应用层存储。由此可见,在这整个图像处理过程中,将编码数据传输给结构层相当于Camera Serivce进行了一次数据拷贝,将编码数据由结构层转发给应用层相当于Camera APP进行了一次数据拷贝。由于现有技术中进行编码时,均是对数据进行编码后将编码数据输出,而本申请实施例中也是对数据进行编码后将编码数据输出,所以在编码这个环节,相当于拷贝数据的次数是一样的。由此可知,本申请实施例由于Camera APP相对于现有技术少拷贝了一次数据,从而能够提高处理图像的效率。

此外,本申请实施例中,由于在进行数据拷贝之前,将所述YUV格式的数据转换为JPEG格式的数据,这样Camera Serivce拷贝的是较少数据量的JPEG格式的数据,Camera APP)贝的也是较少数据量的JPEG格式的数据。故此,能够进一步提高图像处理的效率。

实施例三

基于相同的发明构思,本申请实施例还提供一种图像处理装置,该装置的图像处理原理与上述图像处理方法的图像处理原理类似。具体的可参见上述方法的内容,这里不做赘述。

如图7所示,为该装置的结构示意图,所述装置包括:

编码模块701,用于在硬件抽象层接收到图像数据之后,对所述数据进行编码;

传输模块702,用于将得到的编码数据传输给结构层,使所述编码数据经由结构层转发给应用层存储。

其中,在一个实施例中,所述编码模块,具体用于:

采用硬件编码方法对所述数据进行编码。

其中,在一个实施例中,所述编码模块,具体用于:

将所述YUV格式的数据转换为JPEG格式的数据。

其中,在一个实施例中,如图8所示,所述编码模块701,具体包括:

获取单元703,用于获取预设图像尺寸以及预设压缩比率;

转换单元704,用于根据预设压缩比率,将所述YUV格式的数据转换为所述预设图像尺寸的JPEG格式的数据。

其中,在一个实施例中,所述获取单元,具体包括:

接收子单元,用于接收设置图像尺寸以及压缩比率的指令;

压缩子单元,用于将所述指令中携带的图像尺寸作为所述预设图像尺寸,将所述指令中携带的压缩比率作为所述预设压缩比率。

综上所述,本申请实施例提供的图像处理装置,由于在编码模块接收到图像数据之后,对所述数据进行编码;传输模块将得到的编码数据传输给结构层,使所述编码数据经由结构层转发给应用层存储。在这整个图像处理过程中,将编码数据传输给结构层相当于Camera Serivce进行了一次数据拷贝,将编码数据由结构层转发给应用层相当于Camera APP进行了一次数据拷贝。由于现有技术中进行编码时,均是对数据进行编码后将编码数据输出,而本申请实施例中也是对数据进行编码后将编码数据输出,所以在编码这个环节,相当于拷贝数据的次数是一样的。由此可知,本申请实施例提供的图像处理装置,由于Camera APP相对于现有技术少拷贝了一次数据,从而能够提高处理图像的效率。

此外,在本申请实施例提供的图像处理装置中,由于在进行数据拷贝之前将所述YUV格式的数据转换为JPEG格式的数据,这样Camera Serivce拷贝的是较少数据量的JPEG格式的数据,Camera APP拷贝的也是较少数据量的JPEG格式的数据。故此,能够进一步提高图像处理的效率。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明

实施例四

本申请实施例四提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的图象处理方法。

实施例五

图9是本申请实施例五提供的执行图像处理方法的电子设备的硬件结构示意图,如图9所示,该电子设备包括:

一个或多个处理器910以及存储器920,图9中以一个处理器910为例。执行图像处理方法的电子设备还可以包括:输入装置930和输出装置940。

处理器910、存储器920、输入装置930和输出装置940可以通过总线或者其他方式连接,图9中以通过总线连接为例。

存储器920作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的图像处理方法对应的程序指令/模块(例如,附图7所示的编码模块701、传输模块702)。处理器910通过运行存储在存储器920中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例图像处理方法。

存储器920可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据图像处理装置的使用所创建的数据等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器920可选包括相对于处理器910远程设置的存储器,这些远程存储器可以通过网络连接至图像处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置930可接收输入的数字或字符信息,以及产生与图像处理装置的用户设置以及功能控制有关的键信号输入。输出装置940可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器920中,当被所述一个或者多个处理器910执行时,执行上述任意方法实施例中的图像处理方法。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本申请实施例的电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子装置。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1