图像处理方法、图像处理器、拍摄装置和电子设备论文和设计-胡孔勇

全文摘要

本申请公开了一种图像处理方法、图像处理器、拍摄装置和电子设备。图像处理方法包括:相机基础模块向硬件抽象模块发送拍照请求和预览请求;硬件抽象模块向相机基础模块发送快门通知,并回传拍照帧图像的第一时间戳信息;相机基础模块在回调预览帧图像时,获取预览帧图像的第二时间戳信息;相机基础模块比较第二时间戳信息与第一时间戳信息;和相机基础模块在第二时间戳信息与第一时间戳信息相同时,根据预览帧图像形成缩略图。本申请实施方式的图像处理方法、图像处理器、拍摄装置和电子设备基于拍照帧图像的第一时间戳信息与预览帧图像的第二时间戳信息的匹配,可以实现根据预览帧图像形成的缩略图与拍照帧图像的完全匹配,提升用户体验。

主设计要求

1.一种图像处理方法,应用于图像处理器,其特征在于,所述图像处理器包括硬件抽象模块和应用程序模块,所述应用程序模块包括相机基础模块,所述图像处理方法包括:所述相机基础模块向所述硬件抽象模块发送拍照请求和预览请求;所述硬件抽象模块向所述相机基础模块发送快门通知,并回传拍照帧图像的第一时间戳信息;所述相机基础模块在回调预览帧图像时,获取所述预览帧图像的第二时间戳信息;所述相机基础模块比较所述第二时间戳信息与所述第一时间戳信息;和所述相机基础模块在所述第二时间戳信息与所述第一时间戳信息相同时,根据所述预览帧图像形成缩略图。

设计方案

1.一种图像处理方法,应用于图像处理器,其特征在于,所述图像处理器包括硬件抽象模块和应用程序模块,所述应用程序模块包括相机基础模块,所述图像处理方法包括:

所述相机基础模块向所述硬件抽象模块发送拍照请求和预览请求;

所述硬件抽象模块向所述相机基础模块发送快门通知,并回传拍照帧图像的第一时间戳信息;

所述相机基础模块在回调预览帧图像时,获取所述预览帧图像的第二时间戳信息;

所述相机基础模块比较所述第二时间戳信息与所述第一时间戳信息;和

所述相机基础模块在所述第二时间戳信息与所述第一时间戳信息相同时,根据所述预览帧图像形成缩略图。

2.根据权利要求1所述的图像处理方法,其特征在于,所述预览帧图像包括多个,所述相机基础模块在回调预览帧图像时,获取所述预览帧图像的第二时间戳信息,包括:

所述相机基础模块分别在回调多个所述预览帧图像时,获取与多个所述预览帧图像对应的多个第二时间戳信息;

所述相机基础模块比较所述第二时间戳信息与所述第一时间戳信息,包括:

所述相机基础模块分别比较多个所述第二时间戳信息与所述第一时间戳信息;

所述相机基础模块在所述第二时间戳信息与所述第一时间戳信息相同时,根据所述预览帧图像形成缩略图,包括:

所述相机基础模块根据与所述第一时间戳信息相同的所述第二时间戳信息对应的所述预览帧图像形成所述缩略图。

3.根据权利要求1所述的图像处理方法,其特征在于,所述根据所述预览帧图像形成缩略图,包括:

将所述预览帧图像的纹理数据转化为位图数据以形成所述缩略图。

4.根据权利要求3所述的图像处理方法,其特征在于,所述应用程序模块还包括后台进程服务模块,所述图像处理方法还包括:

所述后台进程服务模块将所述位图数据转化为JPEG数据并传输至存储器中保存。

5.根据权利要求1所述的图像处理方法,其特征在于,所述应用程序模块还包括后台进程服务模块,所述图像处理方法还包括:

所述硬件抽象模块将所述拍照帧图像回传至所述相机基础模块;和

所述后台进程服务模块在对所述拍照帧图像进行算法处理时,将所述预览帧图像的标识信息同步至所述拍照帧图像,所述标识信息用于查找所述缩略图。

6.根据权利要求1所述的图像处理方法,其特征在于,所述图像处理方法还包括:

所述硬件抽象模块在所述拍照请求的个数大于预定值时进行多帧检测并通知所述相机基础模块;

所述相机基础模块从多个所述拍照帧图像中选取参考帧图像;和

所述相机基础模块将所述参考帧图像的所述缩略图作为参考缩略图。

7.一种图像处理器,其特征在于,包括硬件抽象模块和应用程序模块,所述应用程序模块包括相机基础模块;

所述相机基础模块用于向所述硬件抽象模块发送拍照请求和预览请求;

所述硬件抽象模块用于向所述相机基础模块发送快门通知,并回传拍照帧图像的第一时间戳信息;

所述相机基础模块用于在回调预览帧图像时,获取所述预览帧图像的第二时间戳信息;

所述相机基础模块用于比较所述第二时间戳信息与所述第一时间戳信息;

所述相机基础模块用于在所述第二时间戳信息与所述第一时间戳信息相同时,根据所述预览帧图像形成缩略图。

8.根据权利要求7所述的图像处理器,其特征在于,所述预览帧图像包括多个,

所述相机基础模块用于分别在回调多个所述预览帧图像时,获取与多个所述预览帧图像对应的多个第二时间戳信息;

所述相机基础模块用于分别比较多个所述第二时间戳信息与所述第一时间戳信息;

所述相机基础模块用于根据与所述第一时间戳信息相同的所述第二时间戳信息对应的所述预览帧图像形成所述缩略图。

9.根据权利要求7所述的图像处理器,其特征在于,所述相机基础模块用于将所述预览帧图像的纹理数据转化为位图数据以形成所述缩略图。

10.根据权利要求9所述的图像处理器,其特征在于,所述应用程序模块还包括后台进程服务模块,所述后台进程服务模块用于将所述位图数据转化为JPEG数据并传输至存储器中保存。

11.根据权利要求7所述的图像处理器,其特征在于,所述应用程序模块还包括后台进程服务模块;

所述硬件抽象模块用于将所述拍照帧图像回传至所述相机基础模块;

所述后台进程服务模块用于在对所述拍照帧图像进行算法处理时,将所述预览帧图像的标识信息同步至所述拍照帧图像,所述标识信息用于查找所述缩略图。

12.根据权利要求7所述的图像处理器,其特征在于,

所述硬件抽象模块用于在所述拍照请求的个数大于预定值时进行多帧检测并通知所述相机基础模块;

所述相机基础模块用于从多个所述拍照帧图像中选取参考帧图像;

所述相机基础模块用于将所述参考帧图像的所述缩略图作为参考缩略图。

13.一种拍摄装置,其特征在于,所述拍摄装置包括:

权利要求7至12任意一项所述的图像处理器;和

图像传感器,所述图像传感器与所述图像处理器连接。

14.一种电子设备,其特征在于,所述电子设备包括:

权利要求13所述的拍摄装置;和

壳体,所述拍摄装置与所述壳体结合。

设计说明书

技术领域

本申请涉及图像处理技术领域,更具体而言,涉及一种图像处理方法、图像处理器、拍摄装置和电子设备。

背景技术

相机拍照后一般会有一个缩略图显示在屏幕的左下角或右下角,用户可以通过点击该缩略图进入相册查看对应的大图。目前的相机很难实现缩略图与大图的完全匹配,即很难保证缩略图与大图的内容的一致性,用户体验不佳。

发明内容

本申请实施方式提供一种图像处理方法、图像处理器、拍摄装置和电子设备。

本申请实施方式的图像处理方法应用于图像处理器,所述图像处理器包括硬件抽象模块(Hardware Abstract Layer,HAL)和应用程序模块(APP),所述应用程序模块包括相机基础模块,所述图像处理方法包括:所述相机基础模块向所述硬件抽象模块发送拍照请求和预览请求;所述硬件抽象模块向所述相机基础模块发送快门通知,并回传拍照帧图像的第一时间戳信息;所述相机基础模块在回调预览帧图像时,获取所述预览帧图像的第二时间戳信息;所述相机基础模块比较所述第二时间戳信息与所述第一时间戳信息;和所述相机基础模块在所述第二时间戳信息与所述第一时间戳信息相同时,根据所述预览帧图像形成缩略图。

本申请实施方式的图像处理器包括硬件抽象模块和应用程序模块,所述应用程序模块包括相机基础模块;所述相机基础模块用于向所述硬件抽象模块发送拍照请求和预览请求;所述硬件抽象模块用于向所述相机基础模块发送快门通知,并回传拍照帧图像的第一时间戳信息;所述相机基础模块用于在回调预览帧图像时,获取所述预览帧图像的第二时间戳信息;所述相机基础模块用于比较所述第二时间戳信息与所述第一时间戳信息;所述相机基础模块用于在所述第二时间戳信息与所述第一时间戳信息相同时,根据所述预览帧图像形成缩略图。

本申请实施方式的拍摄装置包括图像处理器和图像传感器,所述图像处理器包括硬件抽象模块和应用程序模块,所述应用程序模块包括相机基础模块;所述相机基础模块用于向所述硬件抽象模块发送拍照请求和预览请求;所述硬件抽象模块用于向所述相机基础模块发送快门通知,并回传拍照帧图像的第一时间戳信息;所述相机基础模块用于在回调预览帧图像时,获取所述预览帧图像的第二时间戳信息;所述相机基础模块用于比较所述第二时间戳信息与所述第一时间戳信息;所述相机基础模块用于在所述第二时间戳信息与所述第一时间戳信息相同时,根据所述预览帧图像形成缩略图。

本申请实施方式的电子设备包括拍摄装置和壳体,所述拍摄装置包括图像处理器和图像传感器,所述图像处理器包括硬件抽象模块和应用程序模块,所述应用程序模块包括相机基础模块;所述相机基础模块用于向所述硬件抽象模块发送拍照请求和预览请求;所述硬件抽象模块用于向所述相机基础模块发送快门通知,并回传拍照帧图像的第一时间戳信息;所述相机基础模块用于在回调预览帧图像时,获取所述预览帧图像的第二时间戳信息;所述相机基础模块用于比较所述第二时间戳信息与所述第一时间戳信息;所述相机基础模块用于在所述第二时间戳信息与所述第一时间戳信息相同时,根据所述预览帧图像形成缩略图。

本申请实施方式的图像处理方法、图像处理器、拍摄装置和电子设备基于拍照帧图像的第一时间戳信息与预览帧图像的第二时间戳信息的匹配,可以实现根据预览帧图像形成的缩略图与拍照帧图像的完全匹配,提升用户体验。

本申请的实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实施方式的实践了解到。

附图说明

本申请的上述和\/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:

图1是本申请某些实施方式的图像处理方法的流程示意图;

图2是本申请某些实施方式的拍摄装置的模块示意图;

图3是本申请某些实施方式的图像处理方法的场景示意图;

图4是本申请某些实施方式的图像处理方法的场景示意图;

图5是本申请某些实施方式的图像处理方法的流程示意图;

图6是本申请某些实施方式的图像处理方法的场景示意图;

图7是本申请某些实施方式的图像处理方法的场景示意图;

图8是本申请某些实施方式的图像处理方法的流程示意图;

图9是本申请某些实施方式的图像处理方法的流程示意图;

图10是本申请某些实施方式的图像处理方法的流程示意图;

图11是本申请某些实施方式的图像处理方法的流程示意图;

图12是本申请某些实施方式的拍摄装置的模块示意图;

图13是本申请某些实施方式的算法后处理模块的示意图;

图14是本申请某些实施方式的电子设备的结构示意图;

图15是本申请某些实施方式的电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请的实施方式,而不能理解为对本申请的实施方式的限制。

请参阅图1和图2,本申请实施方式提供一种图像处理方法。图像处理方法应用于图像处理器10。图像处理器10包括硬件抽象模块(Hardware Abstract Layer,HAL)12和应用程序模块(APP)14。应用程序模块14包括相机基础模块(Camera Base)142。图像处理方法包括:

01:相机基础模块142向硬件抽象模块12发送拍照请求和预览请求;

02:硬件抽象模块12向相机基础模块142发送快门通知,并回传拍照帧图像的第一时间戳信息;

03:相机基础模块142在回调预览帧图像时,获取预览帧图像的第二时间戳信息;

04:相机基础模块142比较第二时间戳信息与第一时间戳信息;和

05:相机基础模块142在第二时间戳信息与第一时间戳信息相同时,根据预览帧图像形成缩略图。

请参阅图2,本申请实施方式还提供一种图像处理器10。图像处理器10包括硬件抽象模块12和应用程序模块14。应用程序模块14包括相机基础模块142。本申请实施方式的图像处理方法可由本申请实施方式的图像处理器10实现。例如,相机基础模块142可用于执行01、03、04和05中的方法,硬件抽象模块12可用于执行02中的方法。

也即是说,相机基础模块142可以用于向硬件抽象模块12发送拍照请求和预览请求。硬件抽象模块12可以用于向相机基础模块142发送快门通知,并回传拍照帧图像的第一时间戳信息。相机基础模块142可以用于在回调预览帧图像时,获取预览帧图像的第二时间戳信息。相机基础模块142可以用于比较第二时间戳信息与第一时间戳信息。相机基础模块142可以用于在第二时间戳信息与第一时间戳信息相同时,根据预览帧图像形成缩略图。

本申请实施方式的图像处理方法和图像处理器10基于拍照帧图像的第一时间戳信息与预览帧图像的第二时间戳信息的匹配,可以实现根据预览帧图像形成的缩略图与拍照帧图像的完全匹配,提升用户体验。

目前的相机得到缩略图的方式一般是,从多个预览帧图像中确定一个预览帧图像作为缩略图。例如有四个预览帧图像,则其中一个(一般是第一个)预览帧图像作为缩略图,做不到挑帧处理,即无法根据实际情况从四个预览帧图像进行挑选,例如在第一次拍照时,选择第二个预览帧图像作为缩略图;在第二次拍照时选择第四个预览帧图像作为缩略图。而只能是每次拍照都固定设置第一个预览帧图像作为缩略图、或固定设置第二个预览帧图像、第三个预览帧图像、第四个预览帧图像作为缩略图。上述方式很难实现缩略图与生成的大图的完全匹配,大图与缩略图(即上述第一帧预览图像)显示的内容常常不一致(如图3所示),用户体验不佳。

本申请实施方式中,在用户点击拍照键后,相机基础模块142通过应用程序接口(API)下发拍照请求至硬件抽象模块12,同时还下发预览请求至硬件抽象模块12。其中,拍照请求用于指示与硬件抽象模块12连接的图像传感器20采集图像数据以实现拍照,预览请求用于指示图像传感器20通过硬件抽象模块12回传预览帧图像以生成缩略图供用户查看。当图像传感器20开始采集图像数据时,硬件抽象模块12会将快门通知发送至硬件抽象模块12,并回传拍照帧图像的第一时间戳信息t1。随后,相机基础模块142在回调预览帧图像时,硬件抽象模块12回传预览帧图像的第二时间戳信息t2至相机基础模块142。当相机基础模块142确认第二时间戳信息t2与第一时间戳信息t1相同时,根据预览帧图像形成缩略图。根据预览帧图像形成缩略图可以是直接将预览帧图像作为缩略图,也可以是对预览帧图像进行预定算法处理以形成缩略图。由于拍照帧图像的第一时间戳信息t1与预览帧图像的第二时间戳信息t2相同,因而可以确保根据该预览帧图像形成的缩略图与拍照帧图像完全匹配(如图4所示,图像视角相同,图像内容一致)。

请参阅图5,在某些实施方式中,预览帧图像包括多个。相机基础模块142在回调预览帧图像时,获取预览帧图像的第二时间戳信息(即03),包括:

032:相机基础模块142分别在回调多个预览帧图像时,获取与多个预览帧图像对应的多个第二时间戳信息;

相机基础模块142比较第二时间戳信息与第一时间戳信息(即04),包括:

042:相机基础模块142分别比较多个第二时间戳信息与第一时间戳信息;

相机基础模块142在第二时间戳信息与第一时间戳信息相同时,根据预览帧图像形成缩略图(即05),包括:

052:相机基础模块142根据与第一时间戳信息相同的第二时间戳信息对应的预览帧图像形成缩略图。

请参阅图2,在某些实施方式中,预览帧图像包括多个。相机基础模块142可用于执行032、042和052中的方法。

也即是说,相机基础模块142可以用于分别在回调多个预览帧图像时,获取与多个预览帧图像对应的多个第二时间戳信息。相机基础模块142可以用于分别比较多个第二时间戳信息与第一时间戳信息。相机基础模块142可以用于根据与第一时间戳信息相同的第二时间戳信息对应的预览帧图像形成缩略图。

具体地,以四个预览帧图像为例,相机基础模块142在回调第一个预览帧图像时,获取与第一个预览帧图像对应的第二时间戳信息t21;相机基础模块142在回调第二个预览帧图像时,获取与第二个预览帧图像对应的第二时间戳信息t22;相机基础模块142在回调第三个预览帧图像时,获取与第三个预览帧图像对应的第二时间戳信息t23;相机基础模块142在回调第四个预览帧图像时,获取与第四个预览帧图像对应的第二时间戳信息t24。相机基础模块142回调多个预览帧图像可以是依次进行的。由于在此之前,拍照帧图像的第一时间戳信息t1已经回传至相机基础模块142,若第一个预览帧图像对应的第二时间戳信息t21与第一时间戳信息t1相同,则相机基础模块142根据第一个预览帧图像形成缩略图(如图6所示),无需再进行剩下的三个预览帧图像对应的第二时间戳信息t22、t23、t24与第一时间戳信息t1的比较。若第一个预览帧图像对应的第二时间戳信息t21与第一时间戳信息t1不同,则相机基础模块142比较第二个预览帧图像对应的第二时间戳信息t22与第一时间戳信息t1;若仍然不同,则相机基础模块142比较第三个预览帧图像对应的第二时间戳信息t23与第一时间戳信息t1;若相同,则相机基础模块142根据第三个预览帧图像形成缩略图(如图7所示),无需再进行第四个预览帧图像对应的第二时间戳信息t24与第一时间戳信息t1的比较。

需要指出的是,预览帧图像的个数不限于为上述示例中的四个,预览帧图像的个数还可以是两个、三个、五个、六个或更多个,在此不作限制。

请参阅图8,在某些实施方式中,根据预览帧图像形成缩略图,包括:

054:将预览帧图像的纹理数据转化为位图数据以形成缩略图。

请参阅图2,在某些实施方式中,相机基础模块142可用于执行054中的方法。

也即是说,相机基础模块142可以用于将预览帧图像的纹理数据转化为位图数据以形成缩略图。

具体地,在上述示例中,当第一个预览帧图像对应的第二时间戳信息t21与第一时间戳信息t1相同时,相机基础模块142将第一个预览帧图像的纹理数据提取出来转化为位图数据以形成缩略图(或直接作为缩略图)。当第三个预览帧图像对应的第二时间戳信息t23与第一时间戳信息t1相同时,相机基础模块142将第三个预览帧图像的纹理数据提取出来转化为位图数据以形成缩略图(或直接作为缩略图)。

在形成缩略图后,相机基础模块142还用于控制缩略图显示。

请参阅图9,在某些实施方式中,应用程序模块14还包括后台进程服务模块(Background Process Service,BGS)144。图像处理方法还包括:

06:后台进程服务模块144将位图数据转化为JPEG数据并传输至存储器中保存。

请参阅图2,在某些实施方式中,应用程序模块14还包括后台进程服务模块144。后台进程服务模块144可用于执行06中的方法。

也即是说,后台进程服务模块144可以用于将位图数据转化为JPEG数据并传输至存储器中保存。

具体地,在相机基础模块142将预览帧图像的纹理数据转化为位图数据后,后台进程服务模块144还可以将位图数据压缩为JPEG数据(或者JPG数据等)并传输至存储器中保存。

另外,相机基础模块142还可以在媒体库(独立于图像处理器10存在)中插入一条无实体文件的关于缩略图的记录,以便后续在需要用到该缩略图时,能够通过媒体库中的该记录查找到对应的缩略图。可以理解,当用户进行多次拍照时,媒体库中会存在多条记录,每条记录对应一个缩略图。

请参阅图10,在某些实施方式中,应用程序模块14还包括后台进程服务模块144。图像处理方法还包括:

07:硬件抽象模块12将拍照帧图像回传至相机基础模块142;和

08:后台进程服务模块144在对拍照帧图像进行算法处理时,将预览帧图像的标识信息同步至拍照帧图像,标识信息用于查找缩略图。

请参阅图2,在某些实施方式中,应用程序模块14还包括后台进程服务模块144。后台进程服务模块144可用于执行07和08中的方法。

也即是说,硬件抽象模块12可以用于将拍照帧图像回传至相机基础模块142。后台进程服务模块144可以用于在对拍照帧图像进行算法处理时,将预览帧图像的标识信息同步至拍照帧图像,标识信息用于查找缩略图。

具体地,硬件抽象模块12将拍照帧图像回传至相机基础模块142,相机基础模块142再将拍照帧图像发送至后台进程服务模块144,后台进程服务模块144可以采用图像处理算法对拍照帧图像进行图像处理,此时,后台进程服务模块144还可以将预览帧图像的标识信息同步至拍照帧图像。例如,当第一个预览帧图像对应的第二时间戳信息t21与第一时间戳信息t1相同时,后台进程服务模块144将根据第一个预览帧图像形成的缩略图的标识信息同步至拍照帧图像;当第三个预览帧图像对应的第二时间戳信息t23与第一时间戳信息t1相同时,后台进程服务模块144将根据第三个预览帧图像形成的缩略图的标识信息同步至拍照帧图像。标识信息用于查找缩略图,每个缩略图都能根据标识信息唯一确定。将预览帧图像的标识信息同步至拍照帧图像,可以保证拍摄帧图像保存后并更新数据库时,还能通过标识信息将拍照帧图像与缩略图关联且一一匹配。

后台进程服务模块144还可用于保存拍照帧图像。具体地,拍照帧图像通过后台进程服务模块144在后台排队保存,用户可在拍照后,立刻点击进入相册查看缩略图(通常情况下,用户拍照后,还需要等待零点几秒的时间以便生成和保存拍照帧图像,此时用户不能关闭或退出拍照界面,也无法执行其他操作),实现快拍,无需长时间等待,同时也不会影响拍照帧图像的保存,用户的操作体验可以得到极大提升。

请参阅图11,在某些实施方式中,图像处理方法还包括:

09:硬件抽象模块12在拍照请求的个数大于预定值时进行多帧检测并通知相机基础模块142;

010:相机基础模块142从多个拍照帧图像中选取参考帧图像;和

011:相机基础模块142将参考帧图像的缩略图作为参考缩略图。

请参阅图2,在某些实施方式中,硬件抽象模块12可用于执行09中的方法,相机基础模块142可用于执行010和011中的方法。

也即是说,硬件抽象模块12可以用于在拍照请求的个数大于预定值时进行多帧检测并通知相机基础模块142。相机基础模块142可以用于从多个拍照帧图像中选取参考帧图像。相机基础模块142可以用于将参考帧图像的缩略图作为参考缩略图。

具体地,当相机基础模块142向硬件抽象模块12发送的拍照请求的个数大于预定值时,硬件抽象模块12需要先进行多帧检测以判断是否属于需要采用多帧处理算法的情况。硬件抽象模块12可以根据感光度信息、陀螺仪的抖动情况、AR场景检测结果(检测场景类型,例如人物、动物、风景等)等判断是否属于需要采用多帧处理算法的情况。例如,当陀螺仪检测到的抖动较大时,硬件抽象模块12判断属于需要采用多帧处理算法的情况。此时,硬件抽象模块12通知相机基础模块142从多个拍照帧图像中选取参考帧图像。在后续采用多帧处理算法进行图像处理时,可以是基于参考帧图像对多个拍照帧图像进行多帧处理,以生成用于显示的一个拍照帧图像。

相机基础模块142选取参考帧图像的依据可以是基于多个拍照帧图像的清晰度。例如,相机基础模块142选取清晰度最高的一个拍照帧图像作为参考帧图像。相机基础模块142选取参考帧图像的依据还可以是基于多个拍照帧图像对应的拍摄装置100的抖动幅度。例如,相机基础模块142选取抖动幅度最小的一个拍照帧图像作为参考帧图像。

以拍照帧图像的个数为三个、每个拍照帧图像对应四个预览帧图像为例,第一个拍照帧图像对应第一个预览帧图像、第二个预览帧图像、第三个预览帧图像、第四个预览帧图像,假设通过前述方式确定为根据第三个预览帧图像形成缩略图;第二个拍照帧图像对应第五个预览帧图像、第六个预览帧图像、第七个预览帧图像、第八个预览帧图像,假设通过前述方式确定为根据第六个预览帧图像形成缩略图;第三个拍照帧图像对应第九个预览帧图像、第十个预览帧图像、第十一个预览帧图像、第十二个预览帧图像,假设通过前述方式确定为根据第九个预览帧图像形成缩略图。若相机基础模块142从第一个拍照帧图像、第二个拍照帧图像和第三个拍照帧图像中选取第二个拍照帧图像作为参考帧图像,则对应将根据第六个预览帧图像形成的缩略图作为参考缩略图,并最终显示该参考缩略图,如此可确保在多帧的情况下,也可以实现缩略图与拍照帧图像的完全匹配,提升用户体验。

请参阅图2,本申请实施方式还提供一种拍摄装置100。拍摄装置100包括上述任一实施方式的图像处理器10和图像传感器20。图像处理器10和图像传感器20连接。图像传感器20可包括图像采集单元(sensor)22和RAW图像数据单元(Image Front-end,IFE)24。图像采集单元22用于接收光线以采集获得图像数据(RAW图像),RAW图像数据单元24用于将图像采集单元22采集的图像数据传输至图像处理器10。其中,RAW图像数据单元24可以对图像采集单元22采集获得的RAW图像进行处理并输出处理后的RAW图像至图像处理器10。

图像处理器10可包括硬件抽象模块12、应用程序模块14和算法后处理模块(Algoprocess service,APS)16。

硬件抽象模块12用于接收RAW图像、将RAW图像转换为YUV图像、及传输RAW图像和\/或YUV图像。硬件抽象模块12可以与图像传感器20连接。具体地,硬件抽象模块12可以包括与图像传感器20连接的缓存单元(buffer queue)122、RAW转RGB处理单元(Bayer ProcessSegment,BPS)124和与应用程序模块14连接的降噪及YUV后处理单元(Image ProcessEngine,IPE)126。缓存单元122用于缓存来自图像传感器20的RAW图像并传输给应用程序模块14或通过应用程序模块14传输给算法后处理模块16。RAW转RGB处理单元124用于将来自缓存单元122的RAW图像转换为RGB图像。降噪及YUV后处理单元126用于处理RGB图像得到YUV图像并将YUV图像传输给应用程序模块14或通过应用程序模块14传输给算法后处理模块16。硬件抽象模块12还可传输图像数据的元数据(metadata),元数据包括3a(自动曝光控制AE、自动聚焦控制AF、自动白平衡控制AWB)信息、图片信息(例如图像宽度、高度)、曝光参数(光圈大小、快门速度和感光度光圈值)等,可以利用元数据辅助实现对RAW图像和\/或YUV图像的拍照后处理(例如包括美颜处理、滤镜处理、旋转处理、水印处理、虚化处理、HDR处理、及多帧处理中的至少一种)。在一个实施例中,元数据包括感光度(ISO)信息,根据感光度信息可以辅助调节RAW图像和\/或YUV图像的亮度,从而实现与调节亮度相关的拍照后处理。

由于硬件抽象模块12不对RAW图像和\/或YUV图像进行拍照后处理(例如只接收RAW图像、将RAW图像转换为YUV图像、及传输RAW图像和\/或YUV图像),拍照后处理的图像处理算法无需在硬件抽象模块12本身的算法架构上做流程截断,只需在外部做兼容,设计难度减小。

在相关技术中,应用程序接口将硬件抽象模块建立成管道(pipeline)的方式,由于管道的创建需要大量的时间和内存,因此在相机启动时需要将相机对应的工作模式用到的所有管道均先创建好,而为了实现各种图像处理算法,一般需要创建大量管道(例如超过三条管道),这会导致相机的启动需要耗费大量的时间,并且占用大量的内存。本申请实施方式的硬件抽象模块12不对RAW图像和\/或YUV图像进行拍照后处理,因此,硬件抽象模块12只需建立少量(例如一条或两条)管道即可,无需建立大量的管道,从而能够节约内存,并且可以使得相机的启动速度变快。

应用程序模块14与硬件抽象模块12连接。应用程序模块14包括相机基础模块142和后台进程服务模块144。

相机基础模块142与硬件抽象模块12连接,具体与降噪及YUV后处理单元126连接。相机基础模块142可以用于根据用户的输入产生控制指令并将该控制指令通过硬件抽象模块12发送给图像传感器20以对图像传感器20的工作进行相应的控制。其中,相机基础模块142可以以64比特位(bit)运行,并且拍照后处理的图像处理算法的静态数据连接库(lib)可以配置为64比特位,以提高运算速度。相机基础模块142接收硬件抽象模块12传输的RAW图像和\/或YUV图像后,可以将RAW和\/或YUV图像传输至后台进程服务模块144进行拍照后处理,也可以将RAW和\/或YUV图像传输至算法后处理模块16进行拍照后处理。具体地,可以是后台进程服务模块144进行一些拍照后处理(例如美颜处理、滤镜处理、旋转处理、水印处理、虚化处理等),算法后处理模块16进行另外一些拍照后处理(例如HDR处理、多帧处理等)。

后台进程服务模块144与相机基础模块142连接。后台进程服务模块144内存储有至少一种图像处理算法(例如包括美颜处理算法、滤镜处理算法、旋转处理算法、水印处理算法及虚化处理算法中的至少一种),后台进程服务模块144用于采用图像处理算法处理RAW图像和\/或YUV图像以实现拍照后处理。由于对RAW图像和\/或YUV图像进行拍照后处理可由后台进程服务模块144实现,从而无需在硬件抽象模块12本身的算法架构上做流程截断,只需在外部做兼容,设计难度减小。并且由于拍照后处理由后台进程服务模块144实现,因此后台进程服务模块144的功能更单一、更聚焦,从而可以达到移植快,扩展新的图像处理算法简单等效果。

在后台进程服务模块144只处理RAW图像(例如图像处理算法针对RAW图像进行处理)时,硬件抽象模块12可以只传输RAW图像(此时可以不需要将RAW图像转换为YUV图像);在后台进程服务模块144只处理YUV图像(例如图像处理算法针对YUV图像进行处理)时,硬件抽象模块12可以只传输YUV图像;在后台进程服务模块144处理RAW图像和YUV图像时,硬件抽象模块12可以传输RAW图像和YUV图像。

后台进程服务模块144包括算法封装单元1442、算法逻辑单元1444和数据回传单元1446。算法封装单元1442用于封装图像处理算法。算法逻辑单元1444包括至少一种图像处理算法。数据回传单元1446用于回传经过拍照后处理的RAW图像和\/或YUV图像至相机基础模块142。

算法后处理模块16通过应用程序模块14与硬件抽象模块12连接,具体通过相机基础模块142与硬件抽象模块12连接。算法后处理模块16内存储有至少一种图像处理算法(例如包括HDR处理算法及多帧处理算法中的至少一种),算法后处理模块16用于采用图像处理算法处理RAW图像和\/或YUV图像以实现拍照后处理。由于对RAW图像和\/或YUV图像进行拍照后处理可由算法后处理模块16实现,从而无需在硬件抽象模块12本身的算法架构上做流程截断,只需在外部做兼容,设计难度减小。并且由于拍照后处理由算法后处理模块16实现,因此算法后处理模块16的功能更单一、更聚焦,从而可以达到移植快,扩展新的图像处理算法简单等效果。

在算法后处理模块16只处理RAW图像(例如图像处理算法针对RAW图像进行处理)时,硬件抽象模块12可以只传输RAW图像(此时可以不需要将RAW图像转换为YUV图像);在算法后处理模块16只处理YUV图像(例如图像处理算法针对YUV图像进行处理)时,硬件抽象模块12可以只传输YUV图像;在算法后处理模块16处理RAW图像和YUV图像时,硬件抽象模块12可以传输RAW图像和YUV图像。

在某些实施方式中,硬件抽象模块12可以根据感光度信息、陀螺仪的抖动情况、AR场景检测结果(检测场景类型,例如人物、动物、风景等)等向相机基础模块142发送帧数建议,例如,当陀螺仪检测到的抖动较大时,硬件抽象模块12向相机基础模块142发送的帧数建议可以是:建议较多帧,以更好地实现拍照后处理;当陀螺仪检测到的抖动较小时,硬件抽象模块12向相机基础模块142发送的帧数建议可以是:建议较少帧,以减少数据传输量。也即是说,硬件抽象模块12向相机基础模块142建议的帧数可以与陀螺仪检测到的抖动程度正相关。硬件抽象模块12还可以根据感光度信息、陀螺仪的抖动情况、AR场景检测结果等向相机基础模块142发送算法建议,例如,当陀螺仪检测到的抖动较大时,硬件抽象模块12向相机基础模块142发送的算法建议可以是多帧处理,以根据多帧处理消除抖动;当AR场景检测结果检测的场景类型为人物时,硬件抽象模块12向相机基础模块142发送的算法建议可以是美颜处理,以对人物进行美颜;当AR场景检测结果检测的场景类型为风景时,硬件抽象模块12向相机基础模块142发送的算法建议可以是HDR处理,以形成高动态范围的风景图像。相机基础模块142根据帧数建议和算法建议向硬件抽象模块12发出数据请求,硬件抽象模块12根据该数据请求传输对应的数据至相机基础模块142,相机基础模块142再将数据传输至后台进程服务模块144或算法后处理模块16进行拍照后处理。

图像传感器20进行一次拍摄(曝光成像)后,将拍摄数据(RAW图像)传输给硬件抽象模块12,在后台进程服务模块144或算法后处理模块16接收到与拍摄数据对应的RAW图像和\/或YUV图像后,图像传感器20能够进行下一次拍摄、或图像传感器20能够关闭、或相机基础模块142能够关闭、或相机基础模块142能够退出应用界面。由于拍照后处理由后台进程服务模块144和算法后处理模块16实现,因此在将拍摄数据对应的RAW图像和\/或YUV图像传输给后台进程服务模块144和算法后处理模块16后,只需要后台进程服务模块144和算法后处理模块16就可实现拍照后处理,此时图像传感器20和相机基础模块142可以不参与拍照后处理,因此,图像传感器20能够关闭或执行下一次拍摄,相机基础模块142能够关闭或退出应用界面。如此,拍摄装置100能够实现快拍,并且在后台进程服务模块144和算法后处理模块16进行拍照后处理时可以关闭相机基础模块142或退出应用程序界面,从而在电子设备上进行一些其他操作(例如与拍摄装置100无关的操作,比如浏览网页、看视频、打电话等),从而用户无需花费大量的时间等待拍照后处理的完成,便于用户使用电子设备。

请参阅图12,应用程序模块14可以包括编码单元146,编码单元146用于将YUV图像转换为JPG图像(或者JPEG图像等)。具体地,在后台进程服务模块144和算法后处理模块16处理的是YUV图像时,编码单元146可以直接对YUV图像进行编码以形成JPG图像,从而提高图像的输出速度。在后台进程服务模块144和算法后处理模块16处理的是RAW图像时,后台进程服务模块144和算法后处理模块16可以将处理实现拍照后处理的RAW图像经相机基础模块142回传至硬件抽象模块12,例如回传至RAW转RGB处理单元124,RAW转RGB处理单元124可以用于将后台进程服务模块144和算法后处理模块16处理实现拍照后处理并经相机基础模块142回传的RAW图像转换为RGB图像,降噪及YUV后处理单元126可以将RGB图像转换为YUV图像,该YUV图像可以再次传输至应用程序模块14的编码单元146中以将该YUV图像转换为JPG图像。在某些实施方式中,后台进程服务模块144和算法后处理模块16也可以将处理实现拍照后处理的RAW图像经相机基础模块142回传至缓存单元122,回传的RAW图像经过RAW转RGB处理单元124和降噪及YUV后处理单元126形成YUV图像,再传输至编码单元146以形成JPG图像。在形成JPG图像后,后台进程服务模块144可以用于将JPG图像传输至存储器中保存。

请参阅图13,算法后处理模块16包括逻辑处理调用层164、算法模块接口层166和算法处理层168。逻辑处理调用层164用于与应用程序模块14通信,具体与相机基础模块142通信。算法模块接口层166用于维护算法接口。算法处理层168包括至少一种图像处理算法。算法模块接口层166用于通过算法接口对算法处理层168的图像处理算法进行注册、注销、调用和回调中的至少一种操作。

逻辑处理调用层164可以包括线程队列,算法后处理模块16接收到RAW图像和\/或YUV图像的拍照后处理任务后,可以将拍照后处理任务缓存在线程队列中处理,其中,线程队列可以缓存多个拍照后处理任务,如此,可以通过逻辑处理调用层164实现快拍(即快拍机制)。另外,逻辑处理调用层164也可以接收相机基础模块142发送的初始化(init)、进程(process)等指令,并将对应的指令和数据保存到线程队列中。逻辑处理调用层164根据线程队列中的任务进行具体逻辑的调用(即具体逻辑调用组合)。逻辑处理调用层164还可以将处理获得的缩略图(thumbnail)回传给相机基础模块142进行显示(即缩略图回显)。在本申请的实施方式的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

算法模块接口层166用于调用算法接口,调用命令也可以保存到线程队列中,算法处理层168在接收到线程队列的调用命令时,即可解析调用命令的参数获得需要调用的图像处理算法。算法模块接口层166对图像处理算法进行注册时,可以在算法处理层168中新增一种图像处理算法;算法模块接口层166对图像处理算法进行注销时,可以删除算法处理层168中一种图像处理算法;算法模块接口层166对图像处理算法进行调用时,可以调用算法处理层168中一种图像处理算法;算法模块接口层166对图像处理算法进行回调时,可以将算法处理后的数据和状态回传给相机基础模块142。其中,可以采用统一接口实现图像处理算法的注册、注销、调用、回调等操作。算法处理层168中的每一种图像处理算法都是独立的,如此可以方便对图像处理算法实现注册、注销、调用、回调等操作。

请参阅图12,在某些实施方式中,图像处理器10还可包括相机服务模块18。硬件抽象模块12通过相机服务模块18与应用程序模块14连接,具体通过相机服务模块18与相机基础模块142连接。相机服务模块18对RAW图像和\/或YUV图像进行封装并将封装后的RAW图像和\/或YUV图像传输至相机基础模块142、及将相机基础模块142回传的RAW图像传输至硬件抽象模块12。如此,通过相机服务模块18对图像进行封装,可以提高图像传输的效率,并且能够提高图像传输的安全性。在图像处理器10包括相机服务模块18时,图像处理器10中的数据(图像、元数据等)传输的路径可以进行适应性调整,即硬件抽象模块12和相机基础模块142之间传输的数据均需要通过相机服务模块18。例如,硬件抽象模块12向相机基础模块142传输RAW图像和\/或YUV图像时,硬件抽象模块12先将RAW图像和\/或YUV图像传输至相机服务模块18,相机服务模块18对RAW图像和\/或YUV图像进行封装并将封装后的RAW图像和\/或YUV图像传输至相机基础模块142。又例如,硬件抽象模块12向相机基础模块142传输元数据时,硬件抽象模块12先将元数据传输至相机服务模块18,相机服务模块18对元数据进行封装并将封装后的元数据传输至相机基础模块142。又例如,硬件抽象模块12向相机基础模块142传输帧数建议时,硬件抽象模块12先将帧数建议传输至相机服务模块18,相机服务模块18对帧数建议进行封装并将封装后的帧数建议传输至相机基础模块142。又例如,硬件抽象模块12向相机基础模块142传输算法建议时,硬件抽象模块12先将算法建议传输至相机服务模块18,相机服务模块18对算法建议进行封装并将封装后的算法建议传输至相机基础模块142。当然,在某些实施方式中,硬件抽象模块12可将感光度信息、陀螺仪的抖动情况、AR场景检测结果等传输至相机服务模块18,相机服务模块18根据感光度信息、陀螺仪的抖动情况、AR场景检测结果等获得帧数建议和\/或算法建议,再将帧数建议和\/或算法建议传输至相机基础模块142。

请参阅图14和图15,本申请实施方式还提供一种电子设备1000。电子设备1000包括上述任意一种实施方式的拍摄装置100和壳体200。电子设备1000可以是手机、平板电脑、笔记本电脑、智能手环、智能手表、智能头盔、智能眼镜等。

拍摄装置100与壳体200结合。壳体200可以作为电子设备1000的功能元件的安装载体。壳体200可以为功能元件提供防尘、防摔、防水等保护,功能元件可以是显示屏、拍摄装置100、受话器等。其中,在一个实施方式中,壳体200包括主体210和可动支架220,可动支架220在驱动装置的驱动下可以相对于主体210运动,例如可动支架220可以相对于主210体滑动,以滑入主体210(例如图14的状态)或从主体210滑出(例如图15的状态)。部分功能元件可以安装在主体210上,另一部分功能元件(例如拍摄装置100)可以安装在可动支架220上,可动支架220运动可带动该另一部分功能元件缩回主体210内或从主体210中伸出。在另一个实施方式中,壳体200上开设有采集窗口,拍摄装置100与采集窗口对准安装以使拍摄装置100能够通过采集窗口接收外界光线以形成图像。

在本说明书的描述中,参考术语“某些实施方式”、“一个例子中”、“示例地”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

尽管上面已经示出和描述了本申请的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型。

设计图

图像处理方法、图像处理器、拍摄装置和电子设备论文和设计

相关信息详情

申请码:申请号:CN201910578213.5

申请日:2019-06-28

公开号:CN110177215A

公开日:2019-08-27

国家:CN

国家/省市:44(广东)

授权编号:授权时间:主分类号:H04N 5/232

专利分类号:H04N5/232

范畴分类:39C;

申请人:OPPO广东移动通信有限公司

第一申请人:OPPO广东移动通信有限公司

申请人地址:523860 广东省东莞市长安镇乌沙海滨路18号

发明人:胡孔勇

第一发明人:胡孔勇

当前权利人:OPPO广东移动通信有限公司

代理人:张润

代理机构:11201

代理机构编号:北京清亦华知识产权代理事务所(普通合伙)

优先权:关键词:当前状态:审核中

类型名称:外观设计

标签:;  ;  ;  ;  ;  ;  

图像处理方法、图像处理器、拍摄装置和电子设备论文和设计-胡孔勇
下载Doc文档

猜你喜欢