发明内容
本发明实施例提出一种双摄像头实现方法及装置,能够通过前后置两个摄像头,实现具有PIP效果的拍照、录像和远程视频。
本发明实施例提供一种双摄像头实现方法,包括:
S1、读取第一摄像头采集的第一数据和第二摄像头采集的第二数据;
S2、将所述第一数据存入第一采集缓存区,将所述第二数据存入第二采集缓存区;
S3、根据采集缓存区与帧缓冲区的映射关系,将所述第一数据映射到第一帧缓冲区,将所述第二数据映射到第二帧缓冲区;
S4、根据帧缓冲区与显示层的对应关系,将所述第一数据显示到第一显示层,将所述第二数据显示到第二显示层;在所述第一显示层与所述第二显示层的重叠区域,使所述第二数据覆盖所述第一数据。
进一步地,所述双摄像头实现方法还包括:
S5、修改采集缓存区与帧缓冲区的映射关系,将所述第二数据映射到第一帧缓冲区,将所述第一数据映射到第二帧缓冲区;
S6、根据帧缓冲区与显示层的对应关系,将所述第二数据显示到第一显示层,将所述第一数据显示到第二显示层;在所述第一显示层与所述第二显示层的重叠区域,使所述第一数据覆盖所述第二数据。
相应地,本发明实施例还提供一种双摄像头装置,包括第一摄像头、第二摄像头、缓存单元、显存单元和显示屏;所述缓存单元包括第一采集缓存区和第二采集缓存区;所述显存单元包括第一帧缓冲区和第二帧缓冲区;所述显示屏包括第一显示层和第二显示层;
所述第一摄像头,用于采集第一数据;
所述第二摄像头,用于采集第二数据;
所述缓存单元,用于将所述第一数据存入所述第一采集缓存区,将所述第二数据存入所述第二采集缓存区;
所述显存单元,用于根据采集缓存区与帧缓冲区的映射关系,将所述第一数据映射到所述第一帧缓冲区,将所述第二数据映射到所述第二帧缓冲区;
所述显示屏,用于根据帧缓冲区与显示层的对应关系,将所述第一数据显示到第一显示层,将所述第二数据显示到第二显示层;在所述第一显示层与所述第二显示层的重叠区域,使所述第一数据覆盖所述第二数据。
进一步地,所述显存单元,还用于修改采集缓存区与帧缓冲区的映射关系,将所述第二数据映射到第一帧缓冲区,将所述第一数据映射到第二帧缓冲区;
所述显示屏,还用于根据帧缓冲区与显示层的对应关系,将所述第二数据显示到第一显示层,将所述第一数据显示到第二显示层;在所述第一显示层与所述第二显示层的重叠区域,使所述第一数据覆盖所述第二数据。
实施本发明实施例,具有如下有益效果:
本发明实施例提供的双摄像头实现方法及装置能够同时打开前后两个摄像头,且两个摄像头采集的数据同时显示在同一显示屏上,实现具有PIP效果的拍照;在同时打开两个摄像头时,进行音视频同步处理和视频压缩处理,实现具有PIP效果的录像,减少后期视频剪辑处理;在录像所需处理的基础上,进行网络传输处理和解码处理,实现具有PIP效果的远程视频,互动方式从单一平面视频跨越到空间内多平面,从而可进行多人、多视角、多场景视频互动。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明提供的双摄像头实现方法的第一实施例的流程示意图,包括:
S1、读取第一摄像头采集的第一数据和第二摄像头采集的第二数据;
S2、将第一数据存入第一采集缓存区,将第二数据存入第二采集缓存区;
S3、根据采集缓存区与帧缓冲区的映射关系,将第一数据映射到第一帧缓冲区,将第二数据映射到第二帧缓冲区;
S4、根据帧缓冲区与显示层的对应关系,将第一数据显示到第一显示层,将第二数据显示到第二显示层;在第一显示层与第二显示层的重叠区域,使第二数据覆盖第一数据。
进一步地,双摄像头实现方法还包括:
S5、修改采集缓存区与帧缓冲区的映射关系,将第二数据映射到第一帧缓冲区,将第一数据映射到第二帧缓冲区;
S6、根据帧缓冲区与显示层的对应关系,将第二数据显示到第一显示层,将第一数据显示到第二显示层;在第一显示层与第二显示层的重叠区域,使第一数据覆盖第二数据。
优选地,第一采集缓存区和第二采集缓存区的个数分别为2n,n≥1。需要说明的是,每个摄像头采集的数据均采用队列的方式缓存在至少两个采集缓存区中,以保证数据能够连续采集。采集缓存区的个数取决于数据处理的需求,如在开启网络视频时,为了保证视频的流畅性,需要开启更多的采集缓存区。
在拍照前,需先对采集的数据进行预览。不同的帧缓冲区中的数据显示在不同的显示层,因此,可以通过配置帧缓冲区的参数来达到不同的预览效果。将显示在第二显示层的帧缓冲区的背景设置为透明,可同时预览第一显示层和第二显示层的数据;改变采集缓存区与帧缓冲区的映射关系,可切换两个摄像头采集的数据所处的显示层;配置帧缓冲区中数据显示的区域大小和位置,可使用户自由设置第一显示层和第二显示层数据重叠的区域大小和位置。
在同时显示第一显示层和第二显示层时,对第一显示层和第二显示层重叠区域的中央区域数据进行直方图均衡处理,让其显示数据不太突兀。且结合重叠区域边缘处的色彩,采用高斯模糊等边缘处理算法对重叠区域边缘数据进行实时处理。
参见图2,是本发明提供的双摄像头实现方法的第二实施例的流程示意图,包括:
S201、根据使用方式分别分配第一摄像头和第二摄像头的采集缓存区的个数。其中,使用方式包括拍照、录像和远程视频。使用方式不同,所需要的采集缓存区个数也不同。
S202、配置采集缓存区与帧缓冲区的映射关系。可以将第一摄像头采集的第一数据默认显示在第一显示层,将第二摄像头采集的数据默认显示在第二显示层。在预览时,若需切换数据到不同显示层,只需改变采集缓存区与帧缓冲区的映射关系即可。
S203、同时打开第一摄像头和第二摄像头。
S204、检测是否有采集数据,若有,则执行步骤S205,若无,则继续检测。
S205、将第一数据缓存在第一采集缓存区,将第二数据缓存在第二采集缓存区。
S206、根据采集缓存区与帧缓冲区的映射关系,将采集缓存区中的数据映射到对应的帧缓冲区,并显示在与帧缓冲区相对应的显示层。
参见图3,是本发明提供的双摄像头装置的第一实施例的结构示意图,包括第一摄像头301、第二摄像头302、缓存单元303、显存单元306和显示屏309;缓存单元303包括第一采集缓存区304和第二采集缓存区305;显存单元306包括第一帧缓冲区307和第二帧缓冲区308;显示屏309包括第一显示层310和第二显示层311;
第一摄像头301,用于采集第一数据;
第二摄像头302,用于采集第二数据;
缓存单元303,用于将第一数据存入第一采集缓存区304,将第二数据存入第二采集缓存区305;第一数据和第二数据均采用队列的方式缓存在至少两个采集缓存区中;
显存单元306,用于根据采集缓存区与帧缓冲区的映射关系,将第一数据映射到第一帧缓冲区307,将第二数据映射到第二帧缓冲区308,其中,通过分别配置所述第一帧缓冲区的参数和所述第二帧缓冲区的参数以实现对应的显示层的显示效果,包括:将显示在第二显示层的帧缓冲区的背景设置为透明,以同时显示第一显示层的数据和所述第二显示层的数据;
显示屏309,用于根据帧缓冲区与显示层的对应关系,将第一数据显示到第一显示层310,将第二数据显示到第二显示层311;在第一显示层310与第二显示层311的重叠区域,使第二数据覆盖第一数据。
进一步地,显存单元306,还用于修改采集缓存区与帧缓冲区的映射关系,将第二数据映射到第一帧缓冲区307,将第一数据映射到第二帧缓冲区308;
显示屏309,还用于根据帧缓冲区与显示层的对应关系,将第二数据显示到第一显示层310,将第一数据显示到第二显示层311;在第一显示层310与第二显示层311的重叠区域,使第一数据覆盖第二数据。
进一步地,双摄像头装置还包括图像处理单元和存储器。
其中,图像处理单元通过两个接口分别与第一摄像头301和第二摄像头302连接,使两个摄像头具有独立的片选信号,可被同时打开。在录像或远程视频时,图像处理单元用于对第一数据和第二数据进行硬编码处理,提高存储空间利用率和网络带宽利用率。存储器用于存储本地拍照录像时采集的第一数据和第二数据。拍照时,将预览时的数据送至图像处理单元进行压缩处理,并将处理后的数据保存成指定格式的图片文件。录像时,图像处理单元中的编码器对采集到的音视频进行同步处理和视频压缩处理,并将压缩编码后的数据保存成视频文件。远程视频时,在录像所需要的基础上添加网络传输处理将用户采集的数据进行传输,且图像处理单元将接收到的数据进行解码处理,将处理后的视频数据显示在显示屏309上,并播放相应的音频数据。
在一个优选的实施方式中,如图4所示,显示屏309中有窗口401,显示屏309的全屏为第一显示层310的显示区域,显示屏309中的窗口401为第二显示层311的显示区域,第一显示层310和第二显示层311的重叠区域即为窗口401中第二显示层311的显示区域。如图5所示,用户可通过自由拖动窗口401所处位置,旋转窗口401方向和改变窗口401大小,来改变重叠区域的位置和大小,以达到用户满意的预览效果。
优选地,第一采集缓存区304和第二采集缓存区305的个数分别为2n,n≥1。需要说明的是,为了保证数据采集的连续,每个摄像头采集的数据至少缓存在两个采集缓存区。第一摄像头301采集的第一数据采用队列的方式缓存在第一采集缓存区A1……和第一采集缓存区Am中,第二摄像头302采集的第二数据采用队列的方式缓存在第二采集缓存区B1……和第二采集缓存区Bm中。
进一步地,第一摄像头301位于双摄像头装置的正面,第二摄像头302位于双摄像头装置的背面。两个摄像头位于装置两侧,可同时采集并显示装置正面拍摄数据和装置背面拍摄数据,实现前后两侧双摄像头的PIP效果。
本发明实施例提供的双摄像头实现方法及装置能够同时打开前后两个摄像头,且两个摄像头采集的数据同时显示在同一显示屏上,实现具有PIP效果的拍照;在同时打开两个摄像头时,进行音视频同步处理和视频压缩处理,实现具有PIP效果的录像,减少后期视频剪辑处理;在录像所需处理的基础上,进行网络传输处理和解码处理,实现具有PIP效果的远程视频,互动方式从单一平面视频跨越到空间内多平面,从而可进行多人、多视角、多场景视频互动。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。