安卓系统的移动终端及拍摄方法

文档序号:7988772阅读:218来源:国知局
安卓系统的移动终端及拍摄方法
【专利摘要】本发明公开了一种安卓系统的移动终端及拍摄方法,该移动终端包括一USB接口,用于通过一OTG线与一具有USB接口的第一摄像头相连接,该移动终端还包括:一控制模块,用于控制该第一摄像头采集视频帧;一转换模块,用于获取该第一摄像头采集的视频帧,将该视频帧的视频格式转换为该安卓系统支持的视频格式,并将转换后的视频帧传输至该移动终端的显示屏上进行显示;一拍摄模块,用于控制该第一摄像头截取该显示屏上显示的视频帧。本发明使得安卓系统的移动终端能够支持OTG?camera的功能,实现起来非常方便实用,并且能够支持很多类型的摄像头,从而对移动终端的摄像功能进行了进一步的补充和发展。
【专利说明】安卓系统的移动终端及拍摄方法
【技术领域】
[0001]本发明涉及一种安卓系统的移动终端及拍摄方法,特别是涉及一种具有能够支持OTG camera的安卓系统的移动终端以及一种利用该安卓系统的移动终端实现的拍摄方法。
【背景技术】
[0002]OTG是On-The-Go (—种用于设备连接、数据交换的技术)的缩写,是近年来发展起来的技术,由USB (通用串行总线)协议组织进行公布,主要用于各种不同的设备以及移动终端之间的连接,进行数据交换,OTG camera(摄像头或摄像机)就是把具有USB接口的camera插入到手机的USB接口上,通过手机上的应用软件可以看到摄像头所拍摄的图像,并可以进行拍照,录像等动作。但是,现有的安卓系统的移动终端基本都不支持OTG camera,导致现有的安卓系统的移动终端无法满足实际的应用需要。

【发明内容】

[0003]本发明要解决的技术问题是为了克服现有技术中安卓系统的移动终端不支持OTGcamera,导致无法满足实际的应用需要的缺陷,提供一种具有能够支持OTG camera的安卓系统的移动终端以及一种利用该安卓系统的移动终端实现的拍摄方法。
[0004]本发明是通过下述技术方案来解决上述技术问题的:
[0005]本发明提供了一种安卓系统的移动终端,其包括一 USB接口,用于通过一 OTG线与一具有USB接口的第一摄像头相连接,其特点在于,该移动终端还包括:
[0006]一控制模块,用于控制该第一摄像头采集视频帧;
[0007]—转换模块,用于获取该第一摄像头采集的视频帧,将该视频帧的视频格式转换为该安卓系统支持的视频格式,并将转换后的视频帧传输至该移动终端的显示屏上进行显示;
[0008]一拍摄模块,用于控制该第一摄像头截取该显示屏上显示的视频帧。
[0009]其中,该第一摄像头即为一 OTG camera,该移动终端的USB接口则能够通过该OTG线与该第一摄像头相连接,该OTG线则是本领域公知的满足OTG技术协议的、并且能够实现设备之间的数据传输的数据线。本发明能够使得该移动终端支持OTG camera的功能,具体为该控制模块能够控制该第一摄像头采集视频帧,该转换模块则能够获取采集的视频帧,并将视频帧的视频格式转换为该安卓系统支持的视频格式,从而才能够在该移动终端的显示屏上进行显示,而该拍摄模块则能够控制该第一摄像头截取该显示屏上显示的视频帧,当然,可以单独截取某一视频帧或者连续截取多个视频帧或者间隔截取多个视频帧,从而就完成了拍照或者摄像的功能。
[0010]该控制模块具体可以通过V4L2模块(Iinux (—种操作系统)中关于视频设备的内核驱动)来实现,该V4L2模块是Iinux平台上的多媒体程序开发框架,仅能运行在Iinux平台上,其中包含有该控制模块,来控制该第一摄像头进行视频帧的采集,这已经属于本领域比较成熟的技术,在此就不再赘述。[0011]该转换模块负责将该视频帧的视频格式从YUV422格式转换为YUV420SP格式(其中,YUV422格式和YUV420SP格式均为视频帧的视频格式),因为该第一摄像头采集的视频帧的视频格式是YUV422格式的,而该安卓系统的移动终端所支持的能够显示在显示屏上的视频帧的视频格式是YUV420SP格式的。因此,通过该转换模块就能够实现视频帧的视频格式的转换,最终也就能够使得转换后的视频帧能够显示在该移动终端的显示屏上。而本领域技术人员也能够根据具体需要,在该转换模块中提供YUV422格式到YUV420SP格式的转换函数就可以实现上述的转换功能,其具体实施在此也就不再赘述。
[0012]该摄像模块则可以通过OTG camera接口来实现,该OTG camera接口用于向该移动终端的摄像服务模块提供操作接口,该摄像服务模块是该移动终端的安卓系统中用来管理摄像的服务模块,该OTG camera接口中则包含有该摄像模块,能够提供摄像所必需的接口,以供该摄像服务模块进行调用,从而通过该摄像模块调用上述接口来控制该第一摄像头截取该显示屏上显示的视频帧,最终实现摄像的功能。
[0013]而上述的该V4L2模块、该转换模块以及该OTG camera接口则可以由该安卓系统的硬件抽象层中的相应功能模块来实现,当然,也可以由其他的软件模块来相应实现。通过上述的硬件抽象层以及各个功能模块,就能够使得该移动终端的安卓系统支持OTG camera的功能,并且实现起来非常方便也很实用,而且该移动终端还可以利用该第一摄像头进行隐蔽拍摄,可以应用到警用方面,并且还能够使得该移动终端支持很多类型的摄像头,从而对该移动终端的摄像功能进行了进一步的补充和发展。
[0014]较佳地,该移动终端还包括一分配模块,用于在该移动终端中为该第一摄像头分配一设备节点,并为该设备节点分配或释放一缓冲区,该缓冲区用于存放该第一摄像头采集的视频帧的数据。
[0015]该分配模块同样属于上述的硬件抽象层,在该第一摄像头与该移动终端相连接后,该分配模块会在/dev (Iinux操作系统下的一个目录,用于储存硬件设备信息,通过其下的目录可以直接访问硬件)这一目录下为该第一摄像头分配一设备节点,并且还为该设备节点分配一缓冲区,该缓冲区则能够存储该第一摄像头采集的视频帧的数据,从而就能够从该缓冲区中取得该第一摄像头所采集到的视频帧的数据,而在该移动终端利用该第一摄像头完成摄像之后,该分配模块还能够释放该缓冲区,并在释放完毕后关闭该设备节点。
[0016]较佳地,该安卓系统为闻通安卓系统。
[0017]较佳地,该转换模块用于将该视频帧的视频格式从YUV422格式转换为YUV420SP格式。
[0018]较佳地,该移动终端还包括一第二摄像头以及一检测模块,该检测模块用于检测该第一摄像头是否通过该OTG线与该移动终端相连接,若是,则调用该控制模块控制该第一摄像头采集视频帧,若否,则调用该控制模块控制该第二摄像头采集视频帧。
[0019]该第二摄像头则为该移动终端自带的摄像头,该移动终端在与该第一摄像头相连接时默认为支持对该第二摄像头进行操作,而该检测模块则能够在检测到该第一摄像头与该移动终端相连接后,调用该控制模块控制该第一摄像头采集视频帧,因而也就保证了该移动终端的安卓系统能够支持OTGcamera,实现了对外接的该第一摄像头的支持和操作。
[0020]本发明的目的在于还提供了一种拍摄方法,其特点在于,其利用上述的移动终端实现,该拍摄方法包括以下步骤:[0021]S1、控制该第一摄像头采集视频帧;
[0022]S2、获取该第一摄像头采集的视频帧,将该视频帧的视频格式转换为该安卓系统支持的视频格式,并将转换后的视频帧传输至该移动终端的显示屏上进行显示;
[0023]S3、控制该第一摄像头截取该显示屏上显示的视频帧。
[0024]较佳地,步骤S1之前还包括一步骤Sltl:在该移动终端中为该第一摄像头分配一设备节点,并为该设备节点分配一缓冲区,该缓冲区用于存放该第一摄像头采集的视频帧的数据,步骤S3之后还包括一步骤S4:释放该缓冲区。
[0025]较佳地,该安卓系统为高通安卓系统。
[0026]较佳地,步骤S2中将该视频帧的视频格式从YUV422格式转换为YUV420SP格式。
[0027]较佳地,该移动终端还包括一第二摄像头,步骤S1为:检测该第一摄像头与该移动终端是否连接,若是,则调用该控制模块控制该第一摄像头采集视频帧,若否,则调用该控制模块控制该第二摄像头采集视频帧。
[0028]本发明的积极进步效果在于:本发明使得安卓系统的移动终端能够支持0TG_camera的功能,并且实现起来非常方便也很实用,而且本发明还可以利用外界的摄像头进行隐蔽拍摄,可以应用到警用方面,并且能够支持很多类型的摄像头,从而对移动终端的摄像功能进行了进一步的补充和发展。
【专利附图】

【附图说明】
[0029]图1为本发明的一较佳实施例的安卓系统的移动终端的结构图。
[0030]图2为本发明的一较佳实施例的拍摄方法的流程图。
【具体实施方式】
[0031]下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
[0032]如图1所示,本发明的安卓系统的移动终端包括一控制模块1、一转换模块2、一拍摄模块3、一分配模块4以及一检测模块5。
[0033]其中该移动终端还自带有一第二摄像头,该移动终端的安卓系统为高通安卓系统,默认只对该第二摄像头进行控制和操作,并且在一固定时间段只能对一个摄像头进行控制和操作。
[0034]而该移动终端还带有一 USB接口,利用该USB接口就能够通过一 OTG线与一具有USB接口的第一摄像头相连接,为了使得该移动终端的安卓系统支持OTG camera的功能,首先应该能够让该第一摄像头与该第二摄像头共存,即该移动终端的安卓系统对该第一摄像头与该第二摄像头均能进行控制,并且能在该第一摄像头与该移动终端相连接后,从对该第二摄像头的控制切换为对该第一摄像头的控制。
[0035]具体步骤为首先定义camera_ops (安卓系统中能够并行访问和控制摄像头的变量)类型的三个变量handlecamera、handleOTGcamera以及handleAndroidcamera,及 camera_ops*handlecamera (控制和操作摄像头的变量)、camera_ops*handl eAndro i dcamera (控制和操作该第 二摄像头的变量)、camera_ops*handleOTGcamera (控制和操作该第一摄像头的变量)。
[0036]在该移动终端开机的时候,该移动终端的摄像服务模块同时加载控制和操作该第一摄像头以及该第二摄像头的两个动态数据库,并初始化handleOTGcamera以及handleAndroidcamera,使得这两个变量分别指向对应的动态数据库所包含的函数。
[0037]该摄像服务模块是该移动终端的安卓系统中用来管理摄像的服务模块,能够提供摄像所必需的接口,以供该摄像服务模块进行调用,其中包含的接口函数举例如下:
[0038]int (*open) O ;打开摄像头
[0039]int Oinit) O ;初始化摄像头
[0040]int Ostartpreview) O ;开始预览摄像头采集的图像
[0041]int Ostoppreview) O ;停止图像的预览
[0042]int (*takepicture) O ;拍照
[0043]int (*startrecording) O ;开始录像
[0044]int Oclose);关闭摄像头
[0045]而该安卓系统调用上述的接口都是通过变量handlecamera来调用的,因此,当该检测模块5检测到该第一摄像头未与该移动终端相连接时,把handl eAndro i dcamera赋值给handlecamera,这样就能够对该第二摄像头进行控制和操作了,而当该检测模块5检测到该第一摄像头通过OTG线与该移动终端相连接时,就会把handleOTGcamera赋值给handlecamera,此时就从对该第二摄像头的控制和操作切换为对该第一摄像头的控制和操作。
[0046]进而,该检测模块5就能够调用该控制模块I控制该第一摄像头采集视频帧,该转换模块2则能够获取该第一摄像头采集的视频帧,将该视频帧的视频格式转换为该安卓系统支持的视频格式,并将转换后的视频帧传输至该移动终端的显示屏上进行显示,最后该拍摄模块3则控制该第一摄像头截取该显示屏上显示的视频帧,从而就实现了拍照或摄像的功能。
[0047]其中,上述的该控制模块1、该转换模块2以及该拍摄模块3都属于该安卓系统的硬件抽象层,其中该硬件抽象层封装有对底层硬件操作的接口,方便了上层应用直接操作底层硬件,而这都属于本领域的公知技术,在此就不再赘述。
[0048]该硬件抽象层主要有三个部分组成,即V4L2模块、该转换模块以及OTG camera接□。
[0049]而该V4L2模块中是Iinux平台上的多媒体程序开发框架,仅能运行在Iinux平台上,该V4L2模块具有如下的接口:
[0050]视频米集接口,控制摄像头或者闻频头;
[0051]视频输出接口,驱动计算机周围的外围视频输出设备(能输出电视信号格式的设备);
[0052]直接传输视频接口,把从视频设备上采集过来的视频直接输入显示设备上,不需要经过CPU (中央处理器)的处理;
[0053]收音机接口,可以直接处理接收过来的音频流。
[0054]该V4L2模块常用的命令如下:
[0055]VID10C_S_FMT:向设备节点设置参数;
[0056]VIDIOC_QUERYCAP:查询设备能力;
[0057]VIDIOC_REQBUFS:向 OTG camera 节点申请缓冲区;[0058]VIDIOC_QUERYBUF:把VIDIOC_REQBUFS中分配的数据缓存转换成物理地址;
[0059]VID10C_STREAM0N:启动设备节点开始工作,获取视频流;
[0060]VID10C_STREAM0FF:停止设备节点,停止视频流的获取;
[0061]VID10C_DQBUF:获取某一个节点对应的视频帧数据;
[0062]VID10C_QBUF:把先前获取的视频帧数据的缓冲区再插入到队列里面。
[0063]该V4L2模块的函数主要是对上面的几个命令的调用实现,具体包括:
[0064]OpenO ;打开 OTG camera 的设备节点;
[0065]Init O ;向OTG camera设备节点申请缓冲区,在本发明中申请了 4个缓冲区,而具体可根据内存空间大小来调整缓冲区的数量;
[0066]Uninit O ;向OTG camera设备节点申请释放先前申请的缓冲区;
[0067]StartStreamingO ;启动设备节点开始工作,获取视频流;
[0068]StopStreamingO ;停止设备节点,停止视频流的获取;
[0069]GrabRawFrame ();从OTG camera设备节点中获取视频巾贞数据;
[0070]GetFrameDone ();把先前获取的视频巾贞数据的缓冲区再插入到队列里面。
[0071]而该V4L2模块中包含有该控制模块1,来控制该第一摄像头进行视频帧的采集,这已经属于本领域比较成熟的技术,在此就不再赘述。
[0072]该转换模块2则负责将该视频帧的视频格式从YUV422格式转换为YUV420SP格式,因为该第一摄像头采集的视频帧的视频格式是YUV422格式的,而该安卓系统的移动终端所支持的能够显示在显示屏上的视频帧的视频格式是YUV420SP格式的。因此,通过该转换模块就能够实现视频帧的视频格式的转换,最终也就能够使得转换后的视频帧能够显示在该移动终端的显示屏上。而本领域技术人员也能够根据具体需要,在该转换模块中提供YUV422格式到YUV420SP格式的转换函数就可以实现上述的转换功能,其具体实施在此也就不再赘述。
[0073]该OTG camera接口则向该移动终端的摄像服务模块提供操作接口,该摄像服务模块是该移动终端的安卓系统中用来管理摄像的服务模块,该OTGcamera接口中则包含有该摄像模块3,能够提供摄像所必需的接口,以供该摄像服务模块进行调用,从而通过该摄像模块调用上述接口来控制该第一摄像头截取该显示屏上显示的视频帧,最终实现摄像的功倉泛。
[0074]通过上述的硬件抽象层以及各个功能模块,就能够使得该移动终端的安卓系统支持OTG camera的功能,并且实现起来非常方便也很实用,而且该移动终端还可以利用该第一摄像头进行隐蔽拍摄,可以应用到警用方面,并且还能够使得该移动终端支持很多类型的摄像头,从而对该移动终端的摄像功能进行了进一步的补充和发展。
[0075]在该第一摄像头与该移动终端相连接时,该分配模块4则能够在该移动终端中为该第一摄像头分配一设备节点,并为该设备节点分配或释放一缓冲区,该缓冲区用于存放该第一摄像头采集的视频帧的数据。
[0076]该分配模块4同样属于上述的硬件抽象层,在该第一摄像头与该移动终端相连接后,该分配模块4会在/dev这一目录下为该第一摄像头分配一设备节点/dev/video4,打开/dev/video4,会返回一个文件句柄fd,后面所有的操作都是通过操作这个文件句柄来控制该第一摄像头。并且,该分配模块4还为该设备节点分配一缓冲区,该缓冲区则能够存储该第一摄像头采集的视频帧的数据,从而就能够从该缓冲区中取得该第一摄像头所采集到的视频帧的数据,而在该移动终端利用该第一摄像头完成摄像之后,该分配模块4还能够释放该缓冲区,并在释放完毕后关闭该设备节点。
[0077]如图2所示,本发明利用本实施例的安卓系统的移动终端实现的拍摄方法包括以下步骤:
[0078]步骤100、在该移动终端中为该第一摄像头分配一设备节点,并为该设备节点分配一缓冲区,该缓冲区用于存放该第一摄像头采集的视频帧的数据。
[0079]步骤101、检测该第一摄像头与该移动终端是否连接,若是,执行步骤102,若否,控制该第二摄像头采集视频帧。
[0080]步骤102、控制该第一摄像头采集视频帧。
[0081]步骤103、获取该第一摄像头采集的视频帧,将该视频帧的视频格式转换为该安卓系统支持的视频格式,并将转换后的视频帧传输至该移动终端的显示屏上进行显示。
[0082]步骤104、控制该第一摄像头截取该显示屏上显示的视频帧,从而实现拍照或者摄像的功能。
[0083]步骤105、释放该缓冲区,至此流程结束。
[0084]虽然以上描述了本发明的【具体实施方式】,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
【权利要求】
1.一种安卓系统的移动终端,其包括一 USB接口,用于通过一 OTG线与一具有USB接口的第一摄像头相连接,其特征在于,该移动终端还包括: 一控制模块,用于控制该第一摄像头采集视频帧; 一转换模块,用于获取该第一摄像头采集的视频帧,将该视频帧的视频格式转换为该安卓系统支持的视频格式,并将转换后的视频帧传输至该移动终端的显示屏上进行显示; 一拍摄模块,用于控制该第一摄像头截取该显示屏上显示的视频帧。
2.如权利要求1所述的移动终端,其特征在于,该移动终端还包括一分配模块,用于在该移动终端中为该第一摄像头分配一设备节点,并为该设备节点分配或释放一缓冲区,该缓冲区用于存放该第一摄像头采集的视频帧的数据。
3.如权利要求2所述的移动终端,其特征在于,该安卓系统为高通安卓系统。
4.如权利要求3所述的移动终端,其特征在于,该转换模块用于将该视频帧的视频格式从YUV422格式转换为YUV420SP格式。
5.如权利要求1-4中任意一项所述的移动终端,其特征在于,该移动终端还包括一第二摄像头以及一检测模块,该检测模块用于检测该第一摄像头是否通过该OTG线与该移动终端相连接,若是,则调用该控制模块控制该第一摄像头采集视频帧,若否,则调用该控制模块控制该第二摄像头采集视频帧。
6.一种拍摄方法,其特征在于,其利用如权利要求1所述的移动终端实现,该拍摄方法包括以下步骤: 51、控制该第一摄像头采集视频帧; 52、获取该第一摄像头采集的视频帧,将该视频帧的视频格式转换为该安卓系统支持的视频格式,并将转换后的视频帧传输至该移动终端的显示屏上进行显示; 53、控制该第一摄像头截取该显示屏上显示的视频帧。
7.如权利要求6所述的拍摄方法,其特征在于,步骤S1之前还包括一步骤Sltl:在该移动终端中为该第一摄像头分配一设备节点,并为该设备节点分配一缓冲区,该缓冲区用于存放该第一摄像头采集的视频帧的数据,步骤S3之后还包括一步骤S4:释放该缓冲区。
8.如权利要求7所述的拍摄方法,其特征在于,该安卓系统为高通安卓系统。
9.如权利要求8所述的拍摄方法,其特征在于,步骤S2中将该视频帧的视频格式从YUV422格式转换为YUV420SP格式。
10.如权利要求6-9中任意一项所述的拍摄方法,其特征在于,该移动终端还包括一第二摄像头,步骤S1为:检测该第一摄像头与该移动终端是否连接,若是,则调用该控制模块控制该第一摄像头采集视频帧,若否,则调用该控制模块控制该第二摄像头采集视频帧。
【文档编号】H04M1/725GK103916580SQ201210594054
【公开日】2014年7月9日 申请日期:2012年12月31日 优先权日:2012年12月31日
【发明者】李敬来 申请人:上海晨兴希姆通电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1