一种处理预览图像的方法、装置及移动终端的制作方法

文档序号:8002224阅读:150来源:国知局
一种处理预览图像的方法、装置及移动终端的制作方法
【专利摘要】本发明公开了一种处理预览图像的方法、装置及移动终端,其中,该方法包括:接收来自图像传感器的预览图像数据;将预览图像数据传输至缓冲区进行处理,其中,缓冲区为预设的多个缓冲区中的一个,多个缓冲区用于支持并行处理预览图像数据。通过运用本发明,在不改变特效处理算法的基础之上把传统的串行处理方式变为了并行处理方式,预览特效速度明显提升,提高了用户体验,有效解决了实时特效照相预览帧率要求比较高,帧率很低时会造成图像卡顿的问题。
【专利说明】一种处理预览图像的方法、装置及移动终端

【技术领域】
[0001]本发明涉及通讯及移动终端领域,特别是涉及一种处理预览图像的方法、装置及移动终端。

【背景技术】
[0002]近两年智能机逐渐淘汰了原来的功能机,被越来越多的人使用,并且发展速度超过了业界所遵循的摩尔定律。现在的智能机屏幕越来越大,中央处理器(CentralProcessing Unit,简称为CPU)从原来的单核变成了更强大的四核八核、图像传感器(sensor)更是达到了之前专业相机的精度。与此同时,微博开始逐渐取代传统媒体、成为了更流行的一种社交方式,大家开始记录平时生活的精彩瞬间、发送到微博跟其粉丝分享。
[0003]作为终端厂商来说,照相已经成为了提升用户体验、提高品牌知名度的一个关键应用。照相应用从原来的只有拍照功能又增加了很多实时特效和后期照片处理功能。对于增加了实时特效照相预览来讲,帧率要求比较高,帧率很低时就会造成图像卡顿;由于特效处理一般都是通过CPU进行图像处理来实现的,如果特效处理速度慢的话很容易造成预览图像卡住,跟强大的硬件配置很不匹配,并且带来了不好的用户感受。目前很多特效处理算法相对成熟,提升效率的空间有限,因此,很难在处理效率上有所提升。


【发明内容】

[0004]本发明提供了一种处理预览图像的方法、装置及移动终端,用以解决现有技术实时特效照相预览帧率要求比较高,帧率很低时会造成图像卡顿的问题。
[0005]为解决上述技术问题,一方面,本发明提供一种处理预览图像的方法,包括:接收来自图像传感器的预览图像数据;将所述预览图像数据传输至缓冲区进行处理,其中,所述缓冲区为预设的多个缓冲区中的一个,所述多个缓冲区用于支持并行处理所述预览图像数据。
[0006]进一步,所述多个缓冲区的个数与移动终端的CPU同时并行处理任务的个数相同。
[0007]进一步,接收来自图像传感器的预览图像数据之后,还包括:判断所述多个缓冲区中是否存在空闲的缓冲区;如果是,则将所述预览图像数据传输至空闲的缓冲区进行处理;如果否,则等待,直至有空闲的缓冲区时,再将所述预览图像数据传输至空闲的缓冲区进行处理。
[0008]进一步,将所述预览图像数据传输至缓冲区进行处理包括:从所述缓冲区中读取待处理的所述预览图像数据,以对当前图像进行预订特效处理,其中,所述缓冲区与当前处理所述预览图像数据的CPU的内核一对一绑定;将特效处理后的所述预览图像数据进行输出。
[0009]进一步,将所述预览图像数据分配至缓冲区进行处理包括:将每一个所述缓冲区划分为输入子缓冲区和输出子缓冲区;从缓冲区的所述输入子缓冲区中读取待处理的所述预览图像数据,以对当前图像进行预订特效处理,其中,所述缓冲区与当前处理所述预览图像数据的CPU的内核一对一绑定;将特效处理后的所述预览图像数据输出至所述输出子缓冲区,以等待在显示屏上显示特效处理后的预览图像。
[0010]进一步,将所述预览图像数据传输至缓冲区进行处理之后,还包括:按照所述缓冲区输出特效处理后的所述预览图像数据的时间顺序显示预览图像。
[0011]另一方面,本发明还提供一种处理预览图像的装置,包括:接收模块,用于接收来自图像传感器的预览图像数据;处理模块,用于将所述预览图像数据传输至缓冲区进行处理,其中,所述缓冲区为预设的多个缓冲区中的一个,所述多个缓冲区用于支持并行处理所述预览图像数据。
[0012]进一步,所述装置还包括:判断模块,用于判断所述多个缓冲区中是否存在空闲的缓冲区;所述处理模块,还用于在所述多个缓冲区中存在空闲的缓冲区的情况下,将所述预览图像数据传输至空闲的缓冲区进行处理;执行模块,用于在所述多个缓冲区中不存在空闲的缓冲区的情况下,等待,直至有空闲的缓冲区时,再将所述预览图像数据传输至空闲的缓冲区进行处理。
[0013]进一步,所述处理模块包括:第一处理单元,用于从所述缓冲区中读取待处理的所述预览图像数据,以对当前图像进行预订特效处理,其中,所述缓冲区与当前处理所述预览图像数据的CPU的内核一对一绑定;第一输出单元,用于将特效处理后的所述预览图像数据进行输出。
[0014]进一步,所述处理模块包括:划分单元,用于将每一个所述缓冲区划分为输入子缓冲区和输出子缓冲区;第二处理单元,用于从缓冲区的所述输入子缓冲区中读取待处理的所述预览图像数据,以对当前图像进行预订特效处理,其中,所述缓冲区与当前处理所述预览图像数据的CPU的内核一对一绑定;第二输出单元,用于将特效处理后的所述预览图像数据输出至所述输出子缓冲区,以等待在显示屏上显示特效处理后的预览图像。
[0015]再一方面,本发明还提供一种移动终端,包括:上述任一项所述的处理预览图像的
>J-U ρ?α装直。
[0016]本发明设置了多个缓冲区,该多个缓冲区可以支持并行处理预览图像数据,在不改变特效处理算法的基础之上把传统的串行处理方式变为了并行处理方式,预览特效速度明显提升,提高了用户体验,有效解决了实时特效照相预览帧率要求比较高,帧率很低时会造成图像卡顿的问题。

【专利附图】

【附图说明】
[0017]图1是本发明实施例中处理预览图像的方法的流程图;
[0018]图2是本发明实施例中处理预览图像的装置的结构框图;
[0019]图3是本发明实施例中处理预览图像的装置的优选结构框图;
[0020]图4是本发明实施例中处理预览图像的装置的处理模块的一种结构框图;
[0021]图5是本发明实施例中处理预览图像的装置的处理模块的另一种结构框图;
[0022]图6是本发明优选实施例中特效处理预览图像数据的流程图;
[0023]图7是本发明优选实施例中特效处理预览图像数据的工作流向示意图。

【具体实施方式】
[0024]为了解决现有技术实时特效照相预览帧率要求比较高,帧率很低时会造成图像卡顿的问题,本发明提供了一种处理预览图像的方法、装置及移动终端,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
[0025]基于上述问题,本实施例提供了一种处理预览图像的方法,该方法的流程如图1所示,包括步骤S102至步骤S104。
[0026]步骤S102,接收来自图像传感器的预览图像数据。
[0027]当采用实时特效来拍照时,需要在屏幕上呈现采用了特效之后的预览图像,以使得用户方便拍照。图像传感器负责采集预览图像数据(即未经处理的原始图像数据),随后将上述预览图像数据进行处理进而得到预览图像。
[0028]步骤S104,将预览图像数据传输至缓冲区进行处理,其中,缓冲区为预设的多个缓冲区中的一个,多个缓冲区用于支持并行处理预览图像数据。
[0029]本实施例设置了多个缓冲区,该多个缓冲区可以支持并行处理预览图像数据,在不改变特效处理算法的基础之上把传统的串行处理方式变为了并行处理方式,有效解决了实时特效照相预览帧率要求比较高,帧率很低时会造成图像卡顿的问题。
[0030]缓冲区的个数可以根据CPU同时并行处理任务的能力相当,如果CPU并行处理任务的个数为4 (通常为4核手机),可以设置缓冲区的数量少于或等于4个,但较为理想的情况下,可以将设置缓冲区的个数设置为4个,并将每个缓冲区都与一个CPU独立处理任务的内核进行绑定。例如,双核手机则设置两个缓冲区。现在的移动终端都具有较大的内存,因此缓冲区设置较多也不会对移动终端的性能构成威胁。这种设计方式可以让每个CPU都参与处理,处理速度明显提升。
[0031]接收来自图像传感器的预览图像数据之后,如果直接送至某一缓冲区,可能该缓冲区正在处理任务,因此,还可以判断多个缓冲区中是否存在空闲的缓冲区;如果当前存在空闲的缓冲区,则将预览图像数据传输至空闲的缓冲区进行处理;如果当前没有空闲的缓冲区,则将该预览图像数据排队等待,直至有空闲的缓冲区时再对预览图像数据进行处理。
[0032]将预览图像数据传输至缓冲区进行处理的过程可以包括:从CPU对应的缓冲区中读取待处理的预览图像数据,以对当前图像进行预订特效处理;直接将特效处理后的预览图像数据进行输出。
[0033]按照上述的方法对预览图像数据进行处理会存在一种情况,即处理过程较快,上一个处理后的数据正在显示,导致此时输出的数据可能无法显示。基于上述考虑,将预览图像数据分配至空闲的缓冲区进行处理时,还可以将每一个缓冲区划分为输入子缓冲区和输出子缓冲区,其中,输入子缓冲区用于存储待处理的预览图像数据,输出子缓冲区用于存储已处理的预览图像数据。此时,从输入子缓冲区中读取待处理的预览图像数据,以对当前图像进行预订特效处理;将特效处理后的预览图像数据输出至输出子缓冲区,以等待在显示屏上显示特效处理后的预览图像。
[0034]不论通过上述哪种方法对预览图像数据进行处理,都可以加快处理速度。通过上述方法处理预览图像数据后,按照缓冲区输出特效处理后的预览图像数据的时间顺序显示预览图像。
[0035]本发明实施例还提供了一种处理预览图像的装置,其结构如图2所示,包括:接收模块10,用于接收来自图像传感器的预览图像数据;处理模块20,与接收模块10耦合,用于将预览图像数据传输至缓冲区进行处理,其中,缓冲区为预设的多个缓冲区中的一个,多个缓冲区用于支持并行处理预览图像数据。
[0036]接收模块10接收到预览图像数据后,如果直接送至某一缓冲区,可能该缓冲区正在处理任务,无法处理该任务。因此,本实施例还提供了一种优化后的装置,其结构如图3所示,还包括:
[0037]判断模块30,与接收模块10耦合,用于判断多个缓冲区中是否存在空闲的缓冲区;处理模块20,还与判断模块30耦合,还用于在多个缓冲区中存在空闲的缓冲区的情况下,将预览图像数据传输至空闲的缓冲区进行处理;执行模块40,与判断模块30和处理模块20耦合,用于在多个缓冲区中不存在空闲的缓冲区的情况下,等待,直至有空闲的缓冲区时,再将预览图像数据传输至空闲的缓冲区进行处理。
[0038]图4给出了上述任意一个装置中处理模块20的一种优选结构框图,包括:第一处理单元202,用于从对应的缓冲区中读取待处理的预览图像数据,以对当前图像进行预订特效处理,其中,缓冲区与当前处理预览图像数据的中央处理器CPU的内核一对一绑定;第一输出单元204,与第一处理单元202耦合,用于将特效处理后的预览图像数据进行输出。
[0039]图5给出了上述任意一个装置中处理模块20的另一种优选结构框图,包括:划分单元206,用于将每一个缓冲区划分为输入子缓冲区和输出子缓冲区;第二处理单元208,与划分单元206耦合,用于从对应缓冲区的输入子缓冲区中读取待处理的预览图像数据,以对当前图像进行预订特效处理,其中,缓冲区与当前处理预览图像数据的中央处理器CPU的内核一对一绑定;第二输出单元210,与第二处理单元208耦合,用于将特效处理后的预览图像数据输出至输出子缓冲区,以等待在显示屏上显示特效处理后的预览图像。
[0040]本实施例还提供了一种移动终端,该移动终端包括上述任一项的处理预览图像的
>J-U ρ?α装直。
[0041]优选实施例
[0042]本优选实施例在不改动特效处理算法库的基础上,通过多线程并行进行特效处理的方法,有效改善了照相特效处理速度,提升了照相应用的用户体验。
[0043]图6示出了本优选实施例的总流程图,从Sensor传递过来的预览图像数据作为输入,读取Sensor的预览图像数据进行特效处理,特效处理完成之后把数据送给显示部分(Display)进行显示。
[0044]本优选实施例的移动终终端为四核手机,采用的技术方案如下:实施过程中,为从sensor传递过来的预览图像数据分配缓冲区进行特效处理,缓冲区分配的最大数目为四个;从四个缓冲区中找到一个空闲的,把sensor数据搬移到该缓冲区中。如果四个缓冲区状态都不是空闲的,则等待,直到有一个缓冲区为空闲状态。其中,各个缓冲区与和CPUCORE (核心)都是绑定的,绑定的缓冲区包括四个工作线程、输入、输出子缓冲区的绑定。
[0045]当有空闲的缓冲区时,从绑定的输入子缓冲区中读取数据到工作线程中进行特效处理;特效处理完成之后把数据搬移到输出子缓冲区中;从输出子缓冲区中找到最早的数据并且把数据送到Display去渲染。
[0046]下面结合图7对上述过程进行进一步说明。从Sensor传递过来的原始图像数据作为输入,从四个缓冲区寻找一个空闲的缓冲区,并且记录好时间戳再搬移到缓冲区中,接着和与该缓冲区绑定的工作线程开始进行特效处理;在特效处理的过程中,如果Sensor有数据送来,继续选择一个空闲的缓冲区,如果没有空闲的缓冲区,则等待;处理完成之后会把处理好的数据放入到输出子缓冲区中,并等待绑定的缓冲区是否有新数据过来;不断提取输出子缓冲区当中最早的数据然后发送给Display去渲染。
[0047]使用串行处理方式进行处理,如果每帧数据花费时间为100ms,一秒只有10帧,用户明显感觉图像很卡;使用本发明提供的方案之后在四核智能机上每秒可以达到20多帧,预览很流畅。上述方法解决了现在所采用的串行技术方案使得照相预览时的特效处理速度很慢,图像经常卡住不动的问题,预览特效速度明显提升,大大提升了用户的使用感觉,使用户更乐于拍照、记录丰富精彩的生活。
[0048]尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
【权利要求】
1.一种处理预览图像的方法,其特征在于,包括: 接收来自图像传感器的预览图像数据; 将所述预览图像数据传输至缓冲区进行处理,其中,所述缓冲区为预设的多个缓冲区中的一个,所述多个缓冲区用于支持并行处理所述预览图像数据。
2.如权利要求1所述的方法,其特征在于,所述多个缓冲区的个数与移动终端的中央处理器CPU同时并行处理任务的个数相同。
3.如权利要求1所述的方法,其特征在于,接收来自图像传感器的预览图像数据之后,还包括: 判断所述多个缓冲区中是否存在空闲的缓冲区; 如果是,则将所述预览图像数据传输至空闲的缓冲区进行处理; 如果否,则等待,直至有空闲的缓冲区时,再将所述预览图像数据传输至空闲的缓冲区进行处理。
4.如权利要求1至3中任一项所述的方法,其特征在于,将所述预览图像数据传输至缓冲区进行处理包括: 从所述缓冲区中读取待处理的所述预览图像数据,以对当前图像进行预订特效处理,其中,所述缓冲区与当前处理所述预览图像数据的中央处理器CPU的内核一对一绑定; 将特效处理后的所述预览图像数据进行输出。
5.如权利要求1至3中任一项所述的方法,其特征在于,将所述预览图像数据分配至缓冲区进行处理包括: 将每一个所述缓冲区划分为输入子缓冲区和输出子缓冲区; 从所述缓冲区的所述输入子缓冲区中读取待处理的所述预览图像数据,以对当前图像进行预订特效处理,其中,所述缓冲区与当前处理所述预览图像数据的中央处理器CPU的内核一对一绑定; 将特效处理后的所述预览图像数据输出至所述输出子缓冲区,以等待在显示屏上显示特效处理后的预览图像。
6.如权利要求1所述的方法,其特征在于,将所述预览图像数据传输至缓冲区进行处理之后,还包括: 按照所述缓冲区输出特效处理后的所述预览图像数据的时间顺序显示预览图像。
7.—种处理预览图像的装置,其特征在于,包括: 接收模块,用于接收来自图像传感器的预览图像数据; 处理模块,用于将所述预览图像数据传输至缓冲区进行处理,其中,所述缓冲区为预设的多个缓冲区中的一个,所述多个缓冲区用于支持并行处理所述预览图像数据。
8.如权利要求7所述的装置,其特征在于,还包括: 判断模块,用于判断所述多个缓冲区中是否存在空闲的缓冲区; 所述处理模块,还用于在所述多个缓冲区中存在空闲的缓冲区的情况下,将所述预览图像数据传输至空闲的缓冲区进行处理; 执行模块,用于在所述多个缓冲区中不存在空闲的缓冲区的情况下,等待,直至有空闲的缓冲区时,再将所述预览图像数据传输至空闲的缓冲区进行处理。
9.如权利要求7或8所述的装置,其特征在于,所述处理模块包括: 第一处理单元,用于从所述缓冲区中读取待处理的所述预览图像数据,以对当前图像进行预订特效处理,其中,所述缓冲区与当前处理所述预览图像数据的中央处理器CPU的内核一对一绑定; 第一输出单元,用于将特效处理后的所述预览图像数据进行输出。
10.如权利要求7或8所述的装置,其特征在于,所述处理模块包括: 划分单元,用于将每一个所述缓冲区划分为输入子缓冲区和输出子缓冲区; 第二处理单元,用于从所述缓冲区的所述输入子缓冲区中读取待处理的所述预览图像数据,以对当前图像进行预订特效处理,其中,所述缓冲区与当前处理所述预览图像数据的中央处理器CPU的内核一对一绑定; 第二输出单元,用于将特效处理后的所述预览图像数据输出至所述输出子缓冲区,以等待在显示屏上显示特效处理后的预览图像。
11.一种移动终端,其特征在于,包括:权利要求7至10中任一项所述的处理预览图像的装置。
【文档编号】H04M1/725GK104284076SQ201310290387
【公开日】2015年1月14日 申请日期:2013年7月11日 优先权日:2013年7月11日
【发明者】马树贤 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1