视频播放方法、视频播放器及对应的播放设备
技术领域
本发明涉及多媒体技术领域,尤其涉及一种视频播放方法、视频播放器及对应的播放设备,如安装有该视频播放器的移动终端和立体观影系统。
背景技术
随着计算机技术与通信技术的快速发展,多媒体视频应用得到了越来越广泛的推广,例如:多媒体视频播放、数字电视、视频通话,通过手机摄像等。然而,传统的二维(2D)视频的显示效果缺乏层次感和立体感,不能满足人们对视频图像逼真感的要求,人们需要在观看视频图像时有身临其境的感觉,因此,三维(3D)视频技术应运而生。
由于3D视频兴起时间短,3D视频格式暂无统一标准,现有常见的3D视频立体格式可分为左右半高、左右全高、上下半宽、上下全宽四类,其中;左右半高指左右格式,且图像宽高显示比例正常,如图1(a);左右全高指左右格式,且图像高被拉伸2倍铺满全屏,如图1(b);上下半宽指上下格式,且图像宽高显示比例正常,如图1(c);上下全宽指上下格式,且图像宽被拉伸2倍铺满全屏1(d)。
现有移动终端视频播放器一般是先对视频进行解码,然后将图像帧数据读进显卡缓存,用显卡(图像处理单元,GPU)进行渲染,显示画面。用现有的移动终端上的常规视频播放器播放常规3D片源时,根据片源自身的立体格式,画面会呈现如图1所示的各种左右眼图像,L表示左眼图像、R表示右眼图像。当然现有3D视频播放器大多具有手动调节显示比例的功能,支持用户根据菜单选项选择宽高比,但是这些视频播放器最多能将1(b)、1(c)和1(d)格式的片源转换为图1(a)形式进行播放。
在特殊应用中,如本申请人在先中国专利申请CN201320838252.2、CN201410103983.1、CN201420126592.7及CN201420126539.7中所涉及的3D观影设备中,通常以手机等可移动设备作为图像发射源,经过光学系统的折射和\或反射成像,实现大视场视频视觉效果。在这些设备中,有的方案采用隔板对图像发射源画面进行了左右眼图像隔断,有的方案采用平面反射镜对图像显示屏发出的光线进行了转折,有的方案用光学透镜对显示图像进行了放大。如果在类似上述3D观影设备中,直接用现有移动终端视频播放器播放现有3D格式视频作为视频源,针对不同设备光学结构的成像情况,显示场景中的影像会发生镜像和\或折射畸变的问题,造成用户无法正常观看;同时由于不同设备的结构差异,可能会有隔板的存在,在有隔断存在时,会将如图1(a)所示的左右眼图像中部区域遮挡,影响视频完整性,严重影响用户体验。
发明内容
本发明的目的是提供一种3D视频播放方法和3D视频播放器,解决现有移动终端播放器运用于上述特殊应用中所存在的缺陷问题,提供一种直接针对现有3D视频数据,实时地进行预处理的播放方法和播放器,使得现有3D视频数据不需要进行离线处理就能用于上述结构的立体观影设备,同时能够达到良好的3D显示效果。
为了实现上述发明目的,本发明提供了一种3D视频播放方法,运用于移动终端上,包括:对原3D视频数据进行解码,并将解码出来的图像帧数据读进移动终端显卡GPU内,其中解码出的每一图像帧包括左右眼图像;根据预设参数,在移动终端GPU内逐帧对图像帧数据进行自适应转换处理,所述自适应转换处理包括:对图像帧数据进行左右眼图像分割处理、镜像处理和畸变处理中的一种或多种处理;将经过自适应转换处理后的图像帧数据在移动终端GPU内进行渲染,呈现视频画面。
优选的,所述畸变处理为桶形畸变处理或枕形畸变处理。
优选的,所述预设参数包括:左右眼图像分割间距、畸变系数。
其中,所述对图像帧数据进行左右眼图像分割处理具体为:调整每一图像帧的左眼图像和右眼图像在显示屏上的显示区域,使左眼图像和右眼图像调整为左右格式,且中部空出空白间距,所述空白间距大于等于所述预设参数中的左右眼图像分割间距。
其中,所述镜像处理具体为:对每一图像帧的左眼图像和右眼图像分别进行镜像。
其中,所述畸变处理具体为:根据畸变系数,对每一图像帧的左眼图像和右眼图像分别进行畸变处理。
优选的,在移动终端GPU对图像帧数据进行自适应转换处理步骤之前,还包括:检测移动终端型号,根据检测到的移动终端型号获取自适应转换处理的预设参数;每个移动终端型号对应一组自适应转换预设参数。
优选的,在移动终端GPU对图像帧数据进行自适应转换处理步骤之前,还包括:检测原3D视频数据立体格式,并根据检测结果调整左右眼图像显示比例,所述3D视频数据的立体格式包括:左右全高,左右半高,上下全宽,上下半宽;当检测到原3D视频数据为左右半高或上下半宽时,对左右眼图像显示比例不做调整;当检测到原3D视频数据为左右全高时,在竖方向上分别对左右眼图像做1/2的尺寸缩小;当检测到原3D视频数据为上下全宽时,在水平向上分别对左右眼图像做1/2的尺寸缩小。
优选的,检测原3D视频数据立体格式步骤可以为下面两种方式:
A:从原3D视频数据属性参数中读取视频数据立体格式。
B:从原3D视频数据中任选一视频帧,将该视频帧沿水平方向和\或竖直方向中线分为两幅图像;将这两幅图像通过特征提取与匹配,判断出原3D视频数据是上下格式还是左右格式;当判断出原3D视频数据是上下格式时,根据左\右空白边框宽度判断原3D视频数据是上下全宽还是上下半宽;当判断出原3D视频数据是左右格式时,根据上\下空白边框宽度判断原3D视频数据是左右全高还是左右半高。
相应的,本发明还提供了一种3D视频播放器,安装于移动终端,包括:
视频解码模块,用于对原3D视频数据进行解码,逐帧获取图像帧数据,并将解码出来的图像帧数据读进移动终端显卡GPU内,其中解码出的每一图像帧包括左右两幅图像;
图像帧处理模块,用于根据预设参数控制移动终端GPU对图像帧数据进行自适应转换处理;所述自适应转换处理包括:对图像帧数据进行左右图像分割处理、镜像处理和桶形畸变处理中的一种或多种处理;
画面显示模块,用于控制移动终端GPU对经过自适应转换处理后的图像帧数据进行渲染,呈现视频画面。
优选的,所述视频播放器还包括存储单元,用于存储控制移动终端GPU对图像帧数据进行自适应转换处理的预设参数。
优选的,所述视频播放器还包括存储单元和终端型号检测模块,所述存储单元用于存储终端型号与自适应转换预设参数的对应关系;所述终端型号检测模块用于检测移动终端型号,根据检测到的移动终端型号在所述存储单元内获取自适应转换处理的预设参数,并将获取的预设参数传递给图像帧处理模块。
优选的,所述3D视频播放器还包括显示比例调整模块,用于检测原3D视频数据立体格式,并根据检测结果调整左右眼图像显示比例。
相应的,本发明还提供了一种移动终端,所述移动终端内安装有上述3D视频播放器。
相应的,本发明还提供了一种立体观影系统,所述立体观影系统包括作为图像发射源的移动终端和带有光学系统的立体观影设备,所述移动终端内安装有上述3D视频播放器;所述移动终端示屏显示的图像经立体观影设备的光学系统转折和\或放大后射入人眼,光学系统对光进行转折指光学系统对光进行折射或反射。
本发明具有如下有益效果:
本发明所提供的视频播放方法及视频播放器,对现有3D格式的视频数据在播放过程中进行实时预处理,使现有3D格式视频数据不需要进行离线处理就能用于特定3D观影设备,如本申请人在先中国专利申请CN201320838252.2、CN201410103983.1、CN201420126592.7及CN201420126807.5中所涉及的3D观影设备,使得用户在使用类似上述特定结构观影设备时,随便下载一个现有3D片源即可,扩大用户便用度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图:
图1(a)为采用常规视频播放器播放左右半高格式3D视频源时的画面显示示意图;
图1(b)为采用常规视频播放器播放左右全高格式3D视频源时的画面显示示意图;
图1(c)为采用常规视频播放器播放上下半宽格式3D视频源时的画面显示示意图;
图1(d)为采用常规视频播放器播放上下全宽格式3D视频源时的画面显示示意图;
图2为本发明实施例3D视频播放方法流程示意图一;
图3为本发明实施例3D视频播放方法流程示意图二;
图4为本发明实施例采用图3流程播放常规3D片源时的画面显示示意图;
图5为本发明实施例3D视频播放器结构示意图一;
图6为本发明实施例3D视频播放器结构示意图二;
图7为本发明实施例3D视频播放器结构示意图三。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明主要针对结合移动设备(手机等)实现3D视频播放的移动设备的外接显示设备,例如本申请人在先中国专利申请CN201320838252.2、CN201410103983.1、CN201420126592.7及CN201420126807.5中所涉及的3D观影设备,由于这些设备存在光学透镜,在实现大视场3D显示效果的同时会产生一定程度的畸变,畸变程度取决于光学结构中透镜的参数规格。另外,根据这类外接显示设备的结构差异,还有可能需要对原视频进行分割并对分割部分分别进行对应的尺度变换,例如,本申请人的在先申请CN201410103983.1所公开的立体观影设备中,在两块透镜中间有隔板,所以需要在原视频图像帧中间留出相应的空白区域,即需要对原显示帧图像进行处理,使分割后的图像显示区域中的左右两块显示画面的中心分别对应左右透镜的光轴。
针对这类特殊应用,常规解决方案为:对片源进行离线格式转换,用户使用上述类型的外接显示设备时,必须下载经过专业人士格式转换后的片源。这种解决方案中,由于片源格式转换需要专业人士进行离线处理,且离线处理图像帧处理会花费较长时间,以普通的电影时长90分钟而言,一部电影需要花费90分钟以上的时间进行处理才能用于这类显示设备上,若采用这种方式,会造成片源匮乏,或者人力成本过高。
针对上述问题和现状,本发明提出一种基于移动设备端的实时处理图像帧的视频播放方法和视频播放器,使得原数据不需要进行离线处理就能用于这类显示系统,同时能够达到良好的3D显示效果。下面结合附图详细介绍本发明技术方案。
参见图2,为本发明实施例3D视频播放方法流程示意图一,所述3D视频播放方法运用于移动终端上,包括如下步骤:
S101:对原3D视频数据进行解码,并将解码出来的图像帧数据读进移动终端显卡GPU内,其中解码出的每一图像帧包括左右眼图像;
S102:根据预设参数,在移动终端GPU内逐帧对图像帧数据进行自适应转换处理,所述自适应转换处理包括:对图像帧数据进行左右眼图像分割处理、镜像处理和畸变处理中的一种或多种处理,所述畸变处理为桶形畸变或枕形畸变,即当外接显示设备上的光学透镜产生枕形畸变时,自适应转换时就需要做相应的桶形畸变;反之当当外接显示设备上的光学透镜产生桶形畸变时,自适应转换时就需要做相应的枕形畸变,以达到畸变校正的效果。
S103:将经过自适应转换处理后的图像帧数据在移动终端GPU内进行渲染,呈现视频画面。
在步骤S102中,自适应转换处理具体要进行哪些处理,决定于本视频播放方法运用于那种具体结构的外接显示设备上,例如将本视频播放方法运用于本申请人在先申请CN201320838252.2方案中的设备上时,由于该设备具有隔断片和光学放大透镜(光学放大镜产生枕形畸变),只需要进行左右眼图像分割和桶形畸变两种处理;而用于本申请人在先申请CN201410103983.1方案中的设备上时,由于该方案具有隔断片、平面反射镜和光学放大透镜,则需要进行左右眼图像分割、镜像和畸变三种处理,参见图3,为针对CN201410103983.1中立体观影设备结构设计的播放处理流程,图3流程中左右眼图像分割、镜像和畸变三种处理的顺序可任意调整,图4为采用图3流程播放正常宽高比3D片源时的画面显示示意图(图4中示意了左右眼图像分割和桶形畸变,镜像效果未很好示意)。
步骤S102中,预设参数包括左右眼图像分割间距和畸变系数,预设参数中左右眼图像分割间距是根据外接显示设备隔断片厚度计算而来;而畸变系数是根据外接显示设备的光学透镜参数预先计算而来。所述对图像帧数据进行左右眼图像分割处理具体为:调整每一图像帧的左眼图像和右眼图像在显示屏上的显示区域,使左眼图像和右眼图像调整为左右格式(当原3D视频数据立体格式为上下格式时,要将其分割调整为左右格式),且中部空出空白间距,所述空白间距大于等于所述预设参数中的左右眼图像分割间距。而所述镜像处理具体为:对每一图像帧的左眼图像和右眼图像分别进行镜像。所述畸变处理具体为:根据畸变系数,对每一图像帧的左眼图像和右眼图像分别进行畸变处理。
由于移动终端(如手机)型号繁多,屏幕尺寸区别较大,自适应转换处理时,针对不同终端转换参数会有区别,因此所述预设参数可以是专门针对一款手机对应的一款外接显示设备专门设定,这种方式,一款外接显示设备的各种手机型号均需要单独的一款播放器,通用性不强。优选的,所述播放方法可设计为用数据文件存储每个移动终端型号与自适应转换预设参数的一一对应关系,在移动终端GPU对图像帧数据进行自适应转换处理步骤之前,首先检测移动终端型号,根据检测到的移动终端型号获取自适应转换处理的预设参数,这种方式对同一款外接显示设备,只需要提供一款通用播放器。
由于现有3D视频源立体格式多样,一般来说包括左右全高,左右半高,上下全宽,上下半宽四类,如图1。为了让用户看见的显示画面比例正常,在画面宽高比不正常时,如图1(b)和图1(d),还需要对左右眼图像宽高比进行调整。调整的方式可以分为手动调整和自动调整,手动调整指在播放器上设置一个选项框,让用户自行选择设置宽高比,这是最常用的方式。
优选的,本发明实施例还提出了一种自动检测原3D视频数据立体格式,根据检测出的结果自动调整左右眼图像显示比例的方法,具体为:在步骤S102之前,首先检测原3D视频数据立体格式,所述3D视频数据立体格式包括:左右全高,左右半高,上下全宽,上下半宽;当检测到原3D视频数据为左右半高或上下半宽时,对左右眼图像显示比例不做调整;当检测到原3D视频数据为左右全高时,在竖方向上分别对左右眼图像做1/2的尺寸缩小;当检测到原3D视频数据为上下全宽时,在水平向上分别对左右眼图像做1/2的尺寸缩小。
本发明实施例中,检测原3D视频数据立体格式步骤又可以为下面两种方式:
方式一:从原3D视频数据属性参数中读取视频数据立体格式,这种方式要求3D视频源制作方必须为3D视频源添加相关属性,当3D视频源有统一标准的时候,这种方式应该是最方便快捷的,例如可用标准规定3D视频属性中必须用00、01、10、11分别表示左右全高、左右半高、上下全宽和上下半宽。
方式二:首先用左右眼图像匹配的方式判断原3D视频数据立体格式为左右格式还是上下格式,匹配时可选用常规特征点提取与匹配方法,如SIFT算法等;当判断出原3D视频数据是上下格式时,根据左\右空白边框宽度判断原3D视频数据是上下全宽还是上下半宽;当判断出原3D视频数据是左右格式时,根据上\下空白边框宽度判断原3D视频数据是左右全高还是左右半高,其中,空白边框指我们常说的视频黑边。例如:当判断出原3D视频数据是上下格式时,将该视频帧左边空白边框或右边空白边框宽度与该图像帧总宽度进线比较,若左边空白边框或右边空白边框宽度大于该图像帧总宽度的四分之一,则判断出原3D视频为上下半宽;若左边空白边框或右边空白边框宽度小于该图像帧总宽度的四分之一,则判断出原3D视频为上下全宽。同理当判断出原3D视频数据是左右格式时,将该视频帧上边空白边框或下边空白边框高度与该图像帧总高度进线比较,若下边空白边框或上边空白边框高度大于该图像帧总高度的四分之一,则判断出原3D视频为左右半宽;若下边空白边框或上边空白边框高度小于该图像帧总高度的四分之一,则可判断出原3D视频为左右全宽。
上述方式二判断左右\上下格式原理为:由于3D视频左右眼图像为具有一定相位差的内容相同的图像,当从原3D视频数据中任选一视频帧(通常排除最前面10帧和最后10帧),将该视频帧沿水平方向和\或竖直方向中线分为两幅图像时,总有一种划分方式可以将左右眼图像划分为两幅图像,若沿水平方向中线划分出来的两幅图像的特征点匹配度较高,则可判断其为上下格式;若沿竖直方向中线划分出来的两幅图像的特征点匹配度较高,则可判断其为左右格式。
上面介绍了本发明实施例3D视频播放方法,下面结合图5至7介绍对应于该方法的3D视频播放器。
参见图5,为本发明实施例3D视频播放器结构示意图一,该3D视频播放器安装于移动终端,包括:视频解码模块1、图像帧处理模块2和画面显示模块3,所述视频解码模块1,用于对原3D视频数据进行解码,逐帧获取图像帧数据,并将解码出来的图像帧数据读进移动终端显卡GPU内,其中解码出的每一图像帧包括左右两幅图像;所述图像帧处理模块2,用于根据预设参数控制移动终端GPU对图像帧数据进行自适应转换处理;所述自适应转换处理包括:对图像帧数据进行左右图像分割处理、镜像处理和桶形畸变处理中的一种或多种处理;所述画面显示模块3,用于控制移动终端GPU对经过自适应转换处理后的图像帧数据进行渲染,呈现视频画面。在本实施例中,预设参数可以直接写入在图像帧处理模块2内。自适应处理中的各种处理方式,具体如何操作,可参见前面3D视频播放方法中的详细介绍,本处不作过多赘述。
参见图6为本发明实施例3D视频播放器结构示意图二,图6与图5的区别在于,所述视频播放器还包括存储单元4,存储单元4用于存储控制移动终端GPU对图像帧数据进行自适应转换处理的预设参数,存储单元独立方便对参数进行修改或更新。
参见图7为本发明实施例3D视频播放器结构示意图三,图7与图6的区别在于,所述视频播放器在图5的基础上增加了存储单元和终端型号检测模块,所述存储单元用于存储终端型号与自适应转换预设参数的对应关系;所述终端型号检测模块用于检测移动终端型号,根据检测到的移动终端型号在所述存储单元内获取自适应转换处理的预设参数,并将获取的预设参数传递给图像帧处理模块,图7结构使视频播放器针对一款外接显示设备的多款终端型号,具有通用性。
优选的,图5至图7所示3D视频播放器结构中,均可以增加一个显示比例调整模块,用于自动检测原3D视频数据立体格式,并根据检测结果调整左右眼图像显示比例。显示比例调整模块具体如何自动工作,亦可参见前面3D视频播放方法中关于如何调整显示比例的详细介绍,本处不作过多赘述。
当然本发明实施例中,显示比例调整模块也可以设置为根据用户输入命令,调整显示比例。
相应的,本发明还提供了一种移动终端,所述移动终端内安装有上述3D视频播放器。
相应的,本发明还提供了一种立体观影系统,所述立体观影系统包括作为图像发射源的移动终端(手机或PAD、MP4等)和带有光学系统的立体观影设备(类似本申请人在先申请CN201320838252.2、CN201410103983.1),移动终端示屏显示的图像经立体观影设备的光学系统转折和\或放大后射入人眼,所述移动终端内安装有本发明公开的3D视频播放器。
本发明所提供的视频播放方法及视频播放器,对现有3D格式的视频数据在播放过程中进行实时预处理,使现有3D格式视频数据不需要进行离线处理就能用于特定3D观影设备,如本申请人在先中国专利申请CN201320838252.2、CN201410103983.1、CN201420126592.7及CN201420126807.5中所涉及的3D观影设备,使得用户在使用类似上述特定结构观影设备时,随便下载一个现有3D片源即可,扩大用户便用度。
本发明实施例中所述模块或单元,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application SpecificIntegratedCircuit,专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。