【发明内容】
本发明要解决的技术问题是提供一种可以取得更好显示效果的3D方法和3D显示设备,以解决2D显示和3D显示的共融问题。
一种3D显示方法,应用于3D显示设备中,所述3D显示方法包括:检测是否存在3D显示区域;当存在3D显示区域时,检测所述3D显示区域是否被遮挡;当所述3D显示区域被遮挡时,将被遮挡的所述3D显示区域切换为2D显示模式。
进一步的,上述3D显示设备通过检测所接收的数据源是否为3D格式,检测是否存在3D显示区域。
进一步的,上述3D显示设备通过3D操作系统检测是否存在3D显示区域。
进一步的,上述检测所述3D显示区域是否被遮挡的步骤具体包括:检测3D显示区域是否与其它显示区域存在重叠;如果存在重叠,则根据鼠标、键盘,或者触摸事件检测3D显示区域是否被遮挡。
一种3D显示方法,应用于3D显示设备中,所述3D显示方法包括:检测是否存在3D显示区域;当存在3D显示区域时,检测所述3D显示区域是否被遮挡;当所述3D显示区域被遮挡时,将被遮挡的所述3D显示区域切换为2D显示模式;当所述3D显示区域未被遮挡时,检测是否有3D显示区域被选中;当有3D显示区域被选中时,将被选中的所述3D显示区域切换为2D显示模式或者是保持为3D显示模式。
进一步的,上述方法进一步包括:检测是否存在多个3D显示区域;
当存在多个3D显示区域时,保留部分的3D显示区域处于3D显示模式,另一部分的3D显示区域切换为2D显示模式。
进一步的,上述3D显示设备通过3D操作系统检测是否存在3D显示区域。
进一步的,上述3D显示设备通过检测所接收的数据源是否为3D格式,检测是否存在3D显示区域。
进一步的,上述检测所述3D显示区域是否被遮挡的步骤具体包括:检测3D显示区域是否与其它显示区域存在重叠;当存在重叠,根据鼠标、键盘,或者触摸事件检测3D显示区域是否被遮挡。
进一步的,上述未被选中的3D显示区域与被选中的3D显示区域处于相反的状态。
进一步的,上述方法通过获取鼠标事件,键盘事件,或者是触摸事件判断3D显示区域是否被选中。
一种3D显示设备,包括:显示区域检测模块,用于检测是否存在3D显示区域;遮挡检测模块,用于当存在3D显示区域时,检测所述3D显示区域是否被遮挡;显示模式切换模块,用于当所述3D显示区域被遮挡时,将被遮挡的所述3D显示区域切换为2D显示模式。
进一步的,上述显示区域检测模块通过3D操作系统检测是否存在3D显示区域。
进一步的,上述显示区域检测模块通过检测所接收的数据源是否为3D格式,检测是否存在3D显示区域。
进一步的,上述遮挡检测模块还用于:检测3D显示区域是否与其它显示区域存在重叠;当存在重叠时,根据鼠标、键盘,或者触摸事件检测3D显示区域是否被遮挡。
进一步的,上述未被选中的3D显示区域与被选中的3D显示区域处于相反的状态。
进一步的,上述设备通过获取鼠标事件,键盘事件,或者是触摸事件判断3D显示区域是否被选中。
进一步的,上述3D显示区域被2D显示区域、3D显示区域、工具栏、任务栏,或者是显示设备的边框遮挡。
进一步的,上述3D显示区域为任意形状的多媒体播放窗口,图片窗口,网页窗口。
进一步的,上述2D显示区域为任意形状的多媒体播放窗口,图片窗口,文本窗口,对话框,网页窗口,或者是文件夹窗口。
一种3D显示设备,包括:显示区域检测模块,用于检测是否存在3D显示区域;遮挡检测模块,用于当存在3D显示区域时,检测所述3D显示区域是否被遮挡;显示模式切换模块,用于当所述3D显示区域被遮挡时,将被遮挡的所述3D显示区域切换为2D显示模式;选中检测模块,用于当所述3D显示区域未被遮挡时,检测是否有3D显示区域被选中;显示模式切换模块,还用于当有3D显示区域被选中时,将被选中的所述3D显示区域切换为2D显示模式或者是保持为3D显示模式。
进一步的,上述显示区域检测模块还用于:检测是否存在多个3D显示区域;当存在多个3D显示区域时,保留部分的3D显示区域处于3D显示模式,另一部分的3D显示区域切换为2D显示模式。
进一步的,上述显示区域检测模块通过3D操作系统检测是否存在3D显示区域。
进一步的,上述显示区域检测模块通过检测所接收的数据源是否为3D格式,检测是否存在3D显示区域。
进一步的,上述遮挡检测模块还用于:检测3D显示区域是否与其它显示区域存在重叠;当存在重叠,根据鼠标、键盘,或者触摸事件检测3D显示区域是否被遮挡。
进一步的,上述未被选中的3D显示区域与被选中的3D显示区域处于相反的状态。
进一步的,上述设备通过获取鼠标事件,键盘事件,或者是触摸事件来判断3D显示区域是否被选中。
本发明提供的3D方法和3D显示设备,可解决在实现部分区域的3D显示时,所产生2D显示和3D显示的共融问题。
【具体实施方式】
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本申请文件中,默认采用2D显示模式的显示区域称为2D显示区域。默认采用3D显示模式的显示区域称为3D显示区域,该3D显示区域采用默认的3D显示模式时,称其为显示模式为3D的3D显示区域,如将该3D显示区域的显示模式切换为2D,称其为显示模式为2D的3D显示区域。
3D显示区域可以包含在任意形状的打开的窗口中,可以是窗口中的某个区域,也可以充满整个窗口。窗口的类型包括但不限于多媒体播放窗口、图片窗口、网页窗口等,3D显示区域如可以是这些窗口中的视频播放区域、图像显示区域等。本申请文件中的2D显示区域同样可以包含在任意形状的打开的窗口中,可以是窗口的某个区域,也可以充满整个窗口。窗口的类型除了上述类型外,还可以是文本窗口、对话框、文件夹窗口等其他窗口。窗口关闭或最小化后,其中的2D和3D显示区域不复存在。
在实现本发明的过程中,发明人发现在2D/3D共融的显示环境中,至少存在以下的一些问题:
1)2D显示区域与3D3显示区域之间存在遮挡时的问题
如果3D显示区域被2D显示区域全部遮挡,就会造成遮挡住3D显示区域的2D显示区域分辨率下降,颗粒感比较强;如果3D显示区域的部分区域被2D显示区域遮挡,就会造成遮挡住3D显示区域的2D显示区域分辨率下降,颗粒感比较强,同时未被遮挡的3D显示区域的3D显示效果也会变差,观看者会感觉到不适。
本申请文件中的“遮挡”包括全部遮挡和部分遮挡的情形。
2)3D显示区域与3D显示区域之间存在遮挡时的问题
如果其中一个3D显示区域被其它3D显示区域全部遮挡或部分遮挡,无论是被遮挡的3D显示区域或者是遮挡其它3D显示区域的3D显示区域,其显示效果都将会变差,观看者会感觉到不适。
3)3D显示区域被显示设备边框、非窗口显示对象遮挡时的问题
上述非窗口显示对象是指任务栏、状态栏等不存在于窗口上的显示对象。
当3D显示区域被移动时,3D显示区域就可能被任务栏、状态栏等非窗口显示对象,或者被显示设备边框遮挡。未被遮挡的3D显示区域的3D显示效果也会变差,观看者会感觉到不适。
4)多个3D显示区域同时存在时的问题
当多个3D显示区域同时存在,即使不存被遮挡的3D显示区域,由于不同的3D显示区域的深度信息不同,观看者如果同时观看到具有不同视差信息的3D显示区域,仍然可能会使得观看者感觉到不适。这种不适与3D显示区域之间的距离和多少有关。
发现以上2D/3D共融的显示环境中存在的问题后,发明人认识到,在以上情况,如果可以将3D显示区域的显示模式切换为2D,将有助于消除显示效果下降和观看者的不适。而将3D显示区域的显示模式切换为2D,又会引出何时将3D显示区域的显示模式切换为3D的问题。
基于以上认识,发明人经深入研究,提出了上述问题的具体解决方案,即本发明的2D和3D显示模式切换的方法和显示设备。本发明的显示设备应支持2D-3D间显示模式切换,包括但不限于裸眼3D显示设备,或者眼镜式3D显示设备;该裸眼3D显示设备包括但不限于柱状透镜3D显示设备,狭缝光栅3D显示设备,液晶透镜3D显示设备,双折射光栅3D显示设备,指向性背光3D显示设备。该3D显示设备包括但不限于3D电视,3D显示器,3D笔记本,3D平板电脑,或者3D手机等,只要具有3D显示功能即可,本发明对此不作限定。
在以下的各个实施例中,均需检测是否存在3D显示区域。检测是否存在3D显示区域的方式可以有多种。如,在3D操作系统中,可由3D操作系统自动检测该显示区域是3D显示区域还是2D显示区域,并获得显示区域的坐标。如,在2D操作系统中,当存在3D多媒体播放窗口时,可通过3D播放器检测片源是否为立体片源,如果为立体片源则说明该3D多媒体播放窗口是一个3D显示区域。此外,还可以通过交互式的方式判断,比如可由观看者判断。需要说明的是,以上仅为检测是否存在3D显示区域的方式的举例,本发明并不仅限于上述方式。对于3D显示区域的显示模式,也应予以记录并实时更新。
在以下的各个实施例中,显示设备均可以提供启用或停止相应显示模式切换的功能的选项;此时,需确定所述显示模式切换的功能被启用后,再执行各实施例的显示模式切换方法。
图1所示为本发明3D显示方法第一实施例的流程图。
步骤S101,检测是否存在3D显示区域;当存在3D显示区域时,进入步骤S102,当不存在3D显示区域时,继续进行检测。
检测是否存在3D显示区域的方式可以有多种:
比如,在3D操作系统中,可由3D操作系统自动检测该显示区域是3D显示区域还是2D显示区域,并获得该3D显示区域或者是2D显示区域的坐标。
比如,在2D操作系统中,当判断是否存在3D多媒体播放窗口时,可通过3D播放器检测片源是否为立体片源,如果为立体片源则说明存在3D多媒体播放窗口。该立体片源包括但不限于是左右格式,上下格式,也可以是双文件格式,交错格式,平面图像加深度信息格式(TWODIMENSIONAL PLUS DEPTH,2D+D)。
此外,还可以通过交互式的方式判断,比如可由观看者判断。
需要说明的是,以上仅为检测是否存在3D显示区域的方式的举例,本发明并不仅限于上述方式。
步骤S102,检测3D显示区域是否被选中,如果有进入步骤S103,否则继续检测。
本发明可通过获取鼠标事件,键盘事件,或者是触摸事件来判断3D显示区域是否被选中。比如可通过判断鼠标停留或者点击在3D显示区域,确定是否有3D显示区域被选中,如果鼠标停留或者点击在3D显示区域,则说明该3D显示区域已经被选中。当然本发明还可通过获取其它类型的交互手段,比如甩手机等事件判断3D显示区域是否被选中。
需要说明的是,以上仅为检测3D显示区域是否被选中的方式的举例,本发明并不仅限于上述方式。
步骤S103,将被选中的3D显示区域切换为2D显示模式或者是保持为3D显示模式。同时未被选中的3D显示区域与被选中的3D显示区域处于相反的状态。本实施例所述的相反状态是指,当被选中的3D显示区域被切换为2D显示模式时,未被选中的3D显示区域则处于3D显示模式,反之亦然。
对于存在多个3D显示区域的情形,该多个3D显示区域之间不管是否存在遮挡关系。如果其中一个3D显示区域被选中,则该被选中的3D显示区域保持处于3D显示模式(或切换为2D显示模式),其它未被选中的3D显示区域则切换为2D显示模式(或保持处于3D显示模式)。当然,如果被选中的3D显示区域被另外一个未被选中的3D显示区域遮挡,而且该未被选中的3D显示区域被设置为处于最前端,此时观看者需要将该被遮挡的3D显示区域移动或者设置为位于最前端。
对于2D显示区域与3D显示区域之间所造成的遮挡的情形,如果3D显示区域被2D显示区域遮挡,则可检测该3D显示区域是否被选中,如果被选中则将该3D显示区域切换为2D显示模式或者保持3D显示模式,当该3D显示区域保持为3D显示模式时,则需要同时位于该2D显示区域的前端,以消除该3D显示区域被遮挡的情形。
对于3D显示区域被任务栏、状态栏,或者是显示装置的边框遮挡的情形,可在3D显示区域被选中之后切换为2D显示模式,之后,如果该显示区域不被遮挡,可自动恢复为3D显示模式。
另外,在本实施例中,在步骤S101之前可能不存在3D显示区域,当用户自行将2D显示区域切换为3D显示区域之后,可再开始执行步骤S101。
本实施例,可通过检测是否存在3D显示区域,以及检测3D显示区域是否被选中以解决2D显示和3D显示的共融问题,使得遮挡住3D显示区域的2D显示区域的分辨率不会下降,同时使得未被遮挡的3D显示区域的3D显示效果也不会变差,对观看者的感觉也不会产生影响。
图2所示为本发明3D显示方法第二实施例的流程图。
本实施例的3D显示方法,包括如下步骤:
步骤S201,检测是否存在3D显示区域;当存在3D显示区域时,进入步骤S202,当不存在3D显示区域时,继续进行检测。
检测是否存在3D显示区域的方式可以有多种:
比如,在3D操作系统中,可由3D操作系统自动检测该显示区域是3D显示区域还是2D显示区域,并获得该3D显示区域或者是2D显示区域的坐标。
比如,在2D操作系统中,当判断是否存在3D多媒体播放窗口时,可通过3D播放器检测片源是否为立体片源,如果为立体片源则说明存在3D多媒体播放窗口。该立体片源包括但不限于是左右格式,上下格式,也可以是双文件格式,交错格式,平面图像加深度信息格式。
此外,还可以通过交互式的方式判断,比如可由观看者判断。
需要说明的是,以上仅为检测是否存在3D显示区域的方式的举例,本发明并不仅限于上述方式。
步骤S202,检测3D显示区域是否被遮挡;当3D显示区域被遮挡时,进入步骤S203,当3D显示区域不被遮挡时,继续检测。
本步骤中,3D显示区域被遮挡的情形,包括但不限于如下情形:3D显示区域被2D显示区域遮挡、被3D显示区域遮挡、被工具栏遮挡、被任务栏遮挡,或者是被显示设备的边框遮挡。
检测3D显示区域是否被遮挡的方式可以有多种:
比如,在判断3D显示区域是否被2D显示区域遮挡时,首先得到3D显示区域和2D显示区域的位置及尺寸。比如当该3D显示区域和2D显示区域均为矩形区域时,可获取3D显示区域左上角相对于屏幕左上角的位置和3D显示区域的长和宽。同时,获取2D显示区域左上角相对于屏幕左上角的位置和2D显示区域的长和宽。当2D显示区域左上角的坐标在3D显示区域的范围之内时,即说明3D显示区域与2D显示区域之间存在交叉,但还无法得知二者的遮挡关系,即无法得知是3D显示区域遮挡2D显示区域,还是2D显示区域遮挡3D显示区域;
接下来可通过获取用户的鼠标事件获取二者的遮挡关系,比如可通过判断鼠标最后停留或者点击在3D显示区域还是在2D显示区域,来判断3D显示区域是否被遮挡,如果最后鼠标停留或者点击在2D显示区域,则说明3D显示区域已经被2D显示区域遮挡,反之则未被遮挡。本发明还可通过获取键盘事件或者是触摸事件来判断3D显示区域是否被遮挡。
当然,还可通过操作系统进行检测并判断2D显示区域与3D显示区域之间的遮挡关系,由于该方式主要是借助操作系统完成,所以本发明对此不再赘述。
步骤S203,将被遮挡的3D显示区域切换为2D显示模式。
对于2D显示区域与3D显示区域之间所造成的遮挡的情形,如果3D显示区域被2D显示区域遮挡,则该3D显示区域可自动切换为2D显示模式,就不会对2D显示区域的显示效果造成分辨率下降等影响。
对于存在多个3D显示区域,且该多个3D显示区域之间存在遮挡关系的情形。如果其中一个3D显示区域被遮挡,则该3D显示区域可自动切换为2D显示模式,就不会对其前端的3D显示区域的显示效果造成影响。当然,如果被遮挡的3D显示区域被位于其前端的3D显示区域遮挡,而且该未被选中的3D显示区域被设置为处于最前端,此时观看者需要移动该被遮挡的3D显示区域或者将其设置为位于最前端。
对于3D显示区域被任务栏、状态栏,或者是显示装置的边框遮挡的情形,可在3D显示区域被选中之后切换为2D显示模式,之后,如果该显示区域不被遮挡,可自动恢复为3D显示模式。
当然如果观看者本来是希望被遮挡的3D显示区域保持为3D显示模式,但是该3D显示区域已经切换为2D显示模式,则观看者可通过点击该3D显示区域使其恢复3D显示模式,或者是2D显示区域与3D显示区域之间不存在遮挡关系之后,再恢复为3D显示模式。
另外,在本实施例中,在步骤S201之前可能不存在3D显示区域,当用户自行将2D显示区域切换为3D显示区域之后,可再开始执行步骤S201。
本实施例,可通过检测是否存在3D显示区域,以及检测3D显示区域是否被遮挡以解决2D显示和3D显示的共融问题,使得遮挡住3D显示区域的2D显示区域的分辨率不会下降,同时使得遮挡其它3D显示区域的3D显示区域的3D显示效果也不会变差,对观看者的感觉也不会产生影响,此外即使3D显示区域被任务栏、状态栏,或者是显示装置的边框遮挡之后可自动切换为2D显示模式,同样不会对观看者的感觉造成影响。
图3所示为本发明3D显示方法第三实施例的流程图。
步骤S301,检测是否存在3D显示区域;当存在3D显示区域时,进入步骤S302,当不存在3D显示区域时,继续进行检测。
检测是否存在3D显示区域的方式可以有多种:
比如,在3D操作系统中,可由3D操作系统自动检测该显示区域是3D显示区域还是2D显示区域,并获得该3D显示区域或者是2D显示区域的坐标。
比如,在2D操作系统中,当判断是否存在3D多媒体播放窗口时,可通过3D播放器检测片源是否为立体片源,如果为立体片源则说明存在3D多媒体播放窗口。该立体片源包括但不限于是左右格式,上下格式,也可以是双文件格式,交错格式,平面图像加深度信息格式。
此外,还可以通过交互式的方式判断,比如可由观看者判断。
需要说明的是,以上仅为检测是否存在3D显示区域的方式的举例,本发明并不仅限于上述方式。
步骤S302,检测3D显示区域是否被选中,如果被选中进入步骤S303,否则进入步骤304。
本发明可通过获取鼠标事件,键盘事件,或者是触摸事件来判断3D显示区域是否被选中。比如可通过判断鼠标停留或者点击在3D显示区域,确定是否有3D显示区域被选中,如果鼠标停留或者点击在3D显示区域,则说明该3D显示区域已经被选中。当然本发明还可通过获取其它类型的交互手段,比如甩手机等事件判断3D显示区域是否被选中。
需要说明的是,以上仅为检测3D显示区域是否被选中的方式的举例,本发明并不仅限于上述方式。
步骤S303,将被选中的3D显示区域切换为2D显示模式或者是保持为3D显示模式。同时未被选中的3D显示区域与被选中的3D显示区域处于相反的状态。本实施例所述的相反状态是指,当被选中的3D显示区域被切换为2D显示模式时,未被选中的3D显示区域则处于3D显示模式,反之亦然。
步骤S304,检测是否存在被遮挡的3D显示区域,如果存在进入步骤S305,否则进入步骤S306。
本步骤中,3D显示区域被遮挡的情形,包括但不限于如下情形:3D显示区域被2D显示区域遮挡、被3D显示区域遮挡、被工具栏遮挡、被任务栏遮挡,或者是被显示设备的边框遮挡。
检测3D显示区域是否被遮挡的方式可以有多种:
比如,在判断3D显示区域是否被2D显示区域遮挡时,首先得到3D显示区域和2D显示区域的位置及尺寸。比如当该3D显示区域和2D显示区域均为矩形区域时,可获取3D显示区域左上角相对于屏幕左上角的位置和3D显示区域的长和宽。同时,获取2D显示区域左上角相对于屏幕左上角的位置和2D显示区域的长和宽。当2D显示区域左上角的坐标在3D显示区域的范围之内时,即说明3D显示区域与2D显示区域之间存在交叉,但还无法得知二者的遮挡关系,即无法得知是3D显示区域遮挡2D显示区域,还是2D显示区域遮挡3D显示区域;
接下来可通过获取用户的鼠标事件获取二者的遮挡关系,比如可通过判断鼠标最后停留或者点击在3D显示区域还是在2D显示区域,来判断3D显示区域是否被遮挡,如果最后鼠标停留或者点击在2D显示区域,则说明3D显示区域已经被2D显示区域遮挡,反之则未被遮挡。本发明还可通过获取键盘事件或者是触摸事件来判断3D显示区域是否被遮挡。
当然,还可通过操作系统进行检测并判断2D显示区域与3D显示区域之间的遮挡关系,由于该方式主要是借助操作系统完成,所以本发明对此不再赘述。
步骤S305,将被遮挡的3D显示区域切换为2D显示模式。
步骤S306,检测是否存在多个3D显示区域,如果存在,进入步骤S307,否则结束本次流程。
步骤S307,保留部分的3D显示区域处于3D显示模式,另一部分的3D显示区域切换为2D显示模式。本步骤中的部分的3D显示区域和另一部分的3D显示区域可以是一个也可以是多个,本发明对此不作限定。当然,本实施例优选只保留其中一个3D显示区域处于3D显示模式,其它3D显示区域均切换为2D显示模式。
另外,在本实施例中,在步骤S301之前可能不存在3D显示区域,当用户自行将2D显示区域切换为3D显示区域之后,可再开始执行步骤S301。
本实施例将第一实施例的技术方案和第二实施例的技术方案进行结合,并且第一实施例优先于第二实施例执行,即:
首先检测3D显示区域是否被选中,然后根据检测结果将被选中的3D显示区域切换为2D显示模式或者是保持为3D显示模式,接着检测是否存在被遮挡的3D显示区域,并将被遮挡的3D显示区域切换为2D显示模式,最后如果没有3D显示区域被选中也没有3D显示区域被遮挡,但是存在多个3D显示区域,可通过自动切换部分的3D显示区域为2D显示模式,只保留一个3D显示区域仍处于3D显示模式。
综上所述,本实施例可解决2D显示和3D显示的共融问题,使得遮挡住3D显示区域的2D显示区域的分辨率不会下降,同时使得遮挡其它3D显示区域的3D显示区域的3D显示效果也不会变差,对观看者的感觉也不会产生影响,此外即使3D显示区域被任务栏、状态栏,或者是显示装置的边框遮挡之后可自动切换为2D显示模式,同样不会对观看者的感觉造成影响。而且,还可解决多个相互之间不存在遮挡的3D显示区域,由于视差信息不同所造成的3D显示效果变差的问题。
图4所示为本发明3D显示方法第四实施例的流程图。
本实施例的3D显示方法,包括如下步骤:
步骤S401,检测是否存在3D显示区域;当存在3D显示区域时,进入步骤S402,当不存在3D显示区域时,继续进行检测。
检测是否存在3D显示区域的方式可以有多种:
比如,在3D操作系统中,可由3D操作系统自动检测该显示区域是3D显示区域还是2D显示区域,并获得该3D显示区域或者是2D显示区域的坐标。
比如,在2D操作系统中,当判断是否存在3D多媒体播放窗口时,可通过3D播放器检测片源是否为立体片源,如果为立体片源则说明存在3D多媒体播放窗口。该立体片源包括但不限于是左右格式,上下格式,也可以是双文件格式,交错格式,平面图像加深度信息格式。
此外,还可以通过交互式的方式判断,比如可由观看者判断。
需要说明的是,以上仅为检测是否存在3D显示区域的方式的举例,本发明并不仅限于上述方式。
步骤S402,检测3D显示区域是否被遮挡;当3D显示区域被遮挡时,进入步骤S403,当3D显示区域不被遮挡时,进入步骤S404。
本步骤中,3D显示区域被遮挡的情形,包括但不限于如下情形:3D显示区域被2D显示区域遮挡、被3D显示区域遮挡、被工具栏遮挡、被任务栏遮挡,或者是被显示设备的边框遮挡。
检测3D显示区域是否被遮挡的方式可以有多种:
比如,在判断3D显示区域是否被2D显示区域遮挡时,首先得到3D显示区域和2D显示区域的位置及尺寸。比如当该3D显示区域和2D显示区域均为矩形区域时,可获取3D显示区域左上角相对于屏幕左上角的位置和3D显示区域的长和宽。同时,获取2D显示区域左上角相对于屏幕左上角的位置和2D显示区域的长和宽。当2D显示区域左上角的坐标在3D显示区域的范围之内时,即说明3D显示区域与2D显示区域之间存在交叉,但还无法得知二者的遮挡关系,即无法得知是3D显示区域遮挡2D显示区域,还是2D显示区域遮挡3D显示区域;
接下来可通过获取用户的鼠标事件获取二者的遮挡关系,比如可通过判断鼠标最后停留或者点击在3D显示区域还是在2D显示区域,来判断3D显示区域是否被遮挡,如果最后鼠标停留或者点击在2D显示区域,则说明3D显示区域已经被2D显示区域遮挡,反之则未被遮挡。本发明还可通过获取键盘事件或者是触摸事件来判断3D显示区域是否被遮挡。
当然,还可通过操作系统进行检测并判断2D显示区域与3D显示区域之间的遮挡关系,由于该方式主要是借助操作系统完成,所以本发明对此不再赘述。
步骤S403,将被遮挡的3D显示区域切换为2D显示模式。
步骤S404,检测是否有3D显示区域被选中,如果有,则进入步骤S405,否则进入步骤S406。
本发明可通过获取鼠标事件,键盘事件,或者是触摸事件来判断3D显示区域是否被选中。比如可通过判断鼠标停留或者点击在3D显示区域,确定是否有3D显示区域被选中,如果鼠标停留或者点击在3D显示区域,则说明该3D显示区域已经被选中。当然本发明还可通过获取其它类型的交互手段,比如甩手机等事件判断3D显示区域是否被选中。
需要说明的是,以上仅为检测3D显示区域是否被选中的方式的举例,本发明并不仅限于上述方式。
步骤S405,将被选中的3D显示区域切换为2D显示模式或者是保持为3D显示模式。同时未被选中的3D显示区域与被选中的3D显示区域处于相反的状态。本实施例所述的相反状态是指,当被选中的3D显示区域被切换为2D显示模式时,未被选中的3D显示区域则处于3D显示模式,反之亦然。
步骤S406,检测是否存在多个3D显示区域,如果存在进入步骤S407,否则本流程结束。
步骤S407,保留部分的3D显示区域处于3D显示模式,另一部分的3D显示区域切换为2D显示模式。本步骤中的部分的3D显示区域和另一部分的3D显示区域可以是一个也可以是多个,本发明对此不作限定。当然,本实施例优选只保留其中一个3D显示区域处于3D显示模式,其它3D显示区域均切换为2D显示模式。
另外,在本实施例中,在步骤S401之前可能不存在3D显示区域,当用户自行将2D显示区域切换为3D显示区域之后,可再开始执行步骤S401。
本实施例将第一实施例的技术方案和第二实施例的技术方案进行结合,并且第二实施例优先于第一实施例执行,即:
首先检测3D显示区域是否被遮挡,然后根据检测结果将被遮挡的3D显示区域切换为2D显示模式,接着检测是否存在被选中的3D显示区域,并将被选中的3D显示区域切换为2D显示模式或者保留为3D显示模式,最后如果没有3D显示区域被选中也没有3D显示区域被遮挡,但是存在多个3D显示区域,可通过自动切换部分的3D显示区域为2D显示模式,只保留一个3D显示区域仍处于3D显示模式。
综上所述,本实施例可解决2D显示和3D显示的共融问题,使得遮挡住3D显示区域的2D显示区域的分辨率不会下降,同时使得遮挡其它3D显示区域的3D显示区域的3D显示效果也不会变差,对观看者的感觉也不会产生影响,此外即使3D显示区域被任务栏、状态栏,或者是显示装置的边框遮挡之后可自动切换为2D显示模式,同样不会对观看者的感觉造成影响。而且,还可解决多个相互之间不存在遮挡的3D显示区域,由于视差信息不同所造成的3D显示效果变差的问题。
图5所示为本发明3D显示设备第一实施例的结构图。
一种3D显示设备,包括:显示区域检测模块、选中检测模块,以及显示模式切换模块。
显示区域检测模块,用于检测是否存在3D显示区域;选中检测模块,用于当存在3D显示区域时,检测所述3D显示区域是否被选中;显示模式切换模块,用于当所述3D显示区域被选中时,将被选中的所述3D显示区域切换为2D显示模式或者是保持为3D显示模式。
3D显示设备通过3D操作系统检测是否存在3D显示区域。
显示区域检测模块通过检测所接收的数据源是否为3D格式,检测是否存在3D显示区域。
本实施例中,未被选中的3D显示区域与被选中的3D显示区域处于相反的状态。通过获取鼠标事件,键盘事件,或者是触摸事件来判断3D显示区域是否被选中。
图6所示为本发明3D显示设备第二实施例的结构图。
本实施例的3D显示设备,包括显示区域检测模块、遮挡检测模块、显示模式切换模块。
显示区域检测模块,用于检测是否存在3D显示区域;遮挡检测模块,用于当存在3D显示区域时,检测所述3D显示区域是否被遮挡;显示模式切换模块,用于当所述3D显示区域被遮挡时,将被遮挡的所述3D显示区域切换为2D显示模式。
显示区域检测模块通过3D操作系统检测是否存在3D显示区域;或者通过检测所接收的数据源是否为3D格式,检测是否存在3D显示区域。
遮挡检测模块还用于:检测3D显示区域是否与其它显示区域存在重叠;当存在重叠时,根据鼠标、键盘,或者触摸事件检测3D显示区域是否被遮挡。
未被选中的3D显示区域与被选中的3D显示区域处于相反的状态。本实施例所述的相反状态是指,当被选中的3D显示区域被切换为2D显示模式时,未被选中的3D显示区域则处于3D显示模式,反之亦然。
图7所示为本发明3D显示设备第三实施例的结构图。
一种3D显示设备,包括:显示区域检测模块、遮挡检测模块、选中检测模块,以及显示模式切换模块。
显示区域检测模块,用于检测是否存在3D显示区域;选中检测模块,用于当存在3D显示区域时,检测所述3D显示区域是否被选中;遮挡检测模块,用于当存在3D显示区域时,检测所述3D显示区域是否被遮挡;显示模式切换模块,用于当所述3D显示区域被选中时,将被选中的所述3D显示区域切换为2D显示模式或者是保持为3D显示模式。显示模式切换模块,用于当所述3D显示区域被遮挡时,将被遮挡的所述3D显示区域切换为2D显示模式。
显示区域检测模块通过检测所接收的数据源是否为3D格式,检测是否存在3D显示区域;或者通过3D操作系统检测是否存在3D显示区域。
本实施例中,未被选中的3D显示区域与被选中的3D显示区域处于相反的状态。通过获取鼠标事件,键盘事件,或者是触摸事件来判断3D显示区域是否被选中。
遮挡检测模块还用于:检测3D显示区域是否与其它显示区域存在重叠;当存在重叠时,根据鼠标、键盘,或者触摸事件检测3D显示区域是否被遮挡。
本实施例中,未被选中的3D显示区域与被选中的3D显示区域处于相反的状态。本实施例所述的相反状态是指,当被选中的3D显示区域被切换为2D显示模式时,未被选中的3D显示区域则处于3D显示模式,反之亦然。
在上述实施例中,仅对本发明进行了示范性描述,但是本领域技术人员在阅读本专利申请后可以在不脱离本发明的精神和范围的情况下对本发明进行各种修改。