CN113064684B - 一种虚拟现实设备及vr场景截屏方法 - Google Patents
一种虚拟现实设备及vr场景截屏方法 Download PDFInfo
- Publication number
- CN113064684B CN113064684B CN202110290401.5A CN202110290401A CN113064684B CN 113064684 B CN113064684 B CN 113064684B CN 202110290401 A CN202110290401 A CN 202110290401A CN 113064684 B CN113064684 B CN 113064684B
- Authority
- CN
- China
- Prior art keywords
- image
- virtual reality
- value
- screen capture
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
Abstract
本申请提供一种虚拟现实设备及VR场景截屏方法,所述VR场景截屏方法可以在获取用户输入的截屏控制指令后,在渲染场景中提取未畸变的中间图像,并对中间图像执行裁切,以获得指定宽高比的截屏图像。所述VR场景截屏方法能够截取中间图像的关键区域作为截屏图片,从而使向用户展示的部分在整张图中占据的比例增大,并且向用户展示的部分的距离被拉近,内容更清晰,减小图片与原始画面内容偏差,提高用户体验。
Description
本申请要求在2021年1月18日提交中国专利局、申请号为202110065015.6、发明名称为“一种虚拟现实设备及快捷交互方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及虚拟现实技术领域,尤其涉及一种虚拟现实设备及VR场景截屏方法。
背景技术
虚拟现实(Virtual Reality,VR)技术是通过计算机模拟虚拟环境,从而给人以环境沉浸感的显示技术。虚拟现实设备是一种应用虚拟显示技术为用户呈现虚拟画面的设备。通常,虚拟现实设备包括两个用于呈现虚拟画面内容的显示屏幕,分别对应于用户的左右眼。当两个显示屏幕所显示的内容分别来自于同一个物体不同视角的图像时,可以为用户带来立体的观影感受。
虚拟现实设备在实际使用中可以通过截屏操作将所显示的内容以图片形式输出,从而在显示设备或虚拟现实设备上展示截屏时刻的用户视角画面。虚拟现实设备在截屏操作过程中,通常直接截取屏幕上当前显示的内容作为目标截图。但通过直接截取获得的图片与使用中用户直接观看到的画面存在偏差,影响截图最终质量。例如,虚拟现实设备的光学组件中透镜具有中间厚,边缘薄的结构特点,使得用户观看到的画面存在中心区域显示正常,但在边缘位置存在畸变的问题。
为了避免畸变带来的不适,在设计虚拟现实设备时,需要将屏幕中心的区域可见,屏幕的边缘区域不可见,即导致截图上的内容范围比人眼看到的范围要大。因此,通过直接截取获得屏幕上显示的图片,不仅区域范围大于用户观看的范围,而且在靠近边缘区域时,画面存在畸变,使截屏获得的图片与用户观看到的图片内容偏差较大,影响用户体验。
发明内容
本申请提供了一种虚拟现实设备及VR场景截屏方法,以解决传统截屏方法获得的图片与原始画面内容偏差较大的问题。
第一方面,本申请提供一种虚拟现实设备,包括:显示器和控制器。其中,所述显示器被配置为显示用户界面,其中,所述用户界面包括图像区域和天空盒区域,所述图像区域用于呈现多媒体内容;所述天空盒区域位于图像区域的四周,用于呈现渲染背景内容。所述控制器被配置为执行以下程序步骤:
获取用户输入的用于截屏的控制指令;
响应于所述控制指令,在渲染场景中提取中间图像,所述中间图像为对渲染场景进行图像拍摄获得的未畸变图像;
对所述中间图像执行裁切,以获得指定宽高比的截屏图像。
第二方面,本申请提供一种虚拟现实设备,包括:显示器和控制器。其中,所述显示器被配置为显示用户界面,其中,所述用户界面包括图像区域和天空盒区域,所述图像区域用于呈现多媒体内容;所述天空盒区域位于图像区域的四周,用于呈现渲染背景内容。所述控制器被配置为执行以下程序步骤:
获取用户输入的用于显示截屏图像的播放指令;
响应于所述播放指令,获取所述截屏图像的宽高比;
根据所述截屏图像的宽高比,在虚拟渲染场景中添加显示面板,所述显示面板的宽高比等于所述截屏图像的宽高比;
在所述显示面板上显示所述截屏图像。
第三方面,本申请还提供一种VR场景截屏方法,应用于上述虚拟现实设备,所述VR场景截屏方法包括以下步骤:
获取用户输入的用于截屏的控制指令;
响应于所述控制指令,在渲染场景中提取中间图像,所述中间图像为对渲染场景进行图像拍摄获得的未畸变图像;
对所述中间图像执行裁切,以获得指定宽高比的截屏图像。
由以上技术方案可知,本申请提供的虚拟现实设备及VR场景截屏方法可以在获取用户输入的截屏控制指令后,在渲染场景中提取未畸变的中间图像,并对中间图像执行裁切,以获得指定宽高比的截屏图像。所述VR场景截屏方法能够截取中间图像的关键区域作为截屏图片,从而使向用户展示的部分在整张图中占据的比例增大,并且向用户展示的部分的距离被拉近,内容更清晰,减小图片与原始画面内容偏差,提高用户体验。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中包括虚拟现实设备的显示系统结构示意图;
图2为本申请实施例中VR场景全局界面示意图;
图3为本申请实施例中全局界面的推荐内容区域示意图;
图4为本申请实施例中全局界面的应用快捷操作入口区域示意图;
图5为本申请实施例中全局界面的悬浮物示意图;
图6为本申请实施例中通过状态栏进入快捷中心示意图;
图7为本申请实施例中快捷中心窗口示意图;
图8为本申请实施例中通过按键进入快捷中心示意图;
图9为本申请实施例中开始截屏示意图;
图10为本申请实施例中截屏成功时提示文字窗口示意图;
图11为本申请实施例中直接截取屏幕的结果画面示意图;
图12为本申请实施例中VR场景截屏方法流程示意图;
图13为本申请实施例中VR场景截屏方法结果示意图;
图14为本申请实施例中从渲染场景获取中间图像的流程示意图;
图15为本申请实施例中对中间图像进行裁切的流程示意图;
图16为本申请实施例中判断图像宽高比是否满足预设输出值的流程示意图;
图17为本申请实施例中对中间图像裁切效果图;
图18为本申请实施例中存储截屏图片文件的流程示意图;
图19为本申请实施例中遍历预设存储路径的流程示意图;
图20为本申请实施例中更新数据库流程示意图。
具体实施方式
为使本申请示例性实施例的目的、技术方案和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请中示出的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整技术方案。
应当理解,本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
本说明书通篇提及的“多个实施例”、“一些实施例”、“一个实施例”或“实施例”等,意味着结合该实施例描述的具体特征、结构或特性包括在至少一个实施例中。因此,本说明书通篇出现的短语“在多个实施例中”、“在一些实施例中”、“在至少另一个实施例中”或“在实施例中”等并不一定都指相同的实施例。此外,在一个或多个实施例中,具体特征、结构或特性可以任何合适的方式进行组合。因此,在无限制的情形下,结合一个实施例示出或描述的具体特征、结构或特性可全部或部分地与一个或多个其他实施例的特征、结构或特性进行组合。这种修改和变型旨在包括在本申请的范围之内。
本申请实施例中,所述虚拟现实设备500泛指能够佩戴于用户面部,为用户提供沉浸感体验的显示设备,包括但不限于VR眼镜、增强现实设备(Augmented Reality,AR)、VR游戏设备、移动计算设备以及其它可穿戴式计算机等。本申请部分实施例以VR眼镜为例对技术方案进行阐述,应当理解的是,所提供的技术方案同时可应用于其他类型的虚拟现实设备。所述虚拟现实设备500可以独立运行,或者作为外接设备接入其他智能显示设备,其中,所述显示设备可以是智能电视、计算机、平板电脑、服务器等。
虚拟现实设备500可以在佩戴于用户面部后,显示媒资画面,为用户双眼提供近距离影像,以带来沉浸感体验。为了呈现媒资画面,虚拟现实设备500可以包括多个用于显示画面和面部佩戴的部件。以VR眼镜为例,虚拟现实设备500可以包括外壳、镜腿、光学系统、显示组件、姿态检测电路、接口电路等部件。实际应用中,光学系统、显示组件、姿态检测电路以及接口电路可以设置于外壳内,以用于呈现具体的显示画面;外壳两侧连接镜腿,以佩戴于用户面部。
在使用时,姿态检测电路中内置有重力加速度传感、陀螺仪等姿态检测元件,当用户头部移动或转动时,可以检测到用户的姿态,并将检测到的姿态数据传递给控制器等处理元件,使处理元件可以根据检测到的姿态数据调整显示组件中的具体画面内容。
需要说明的是,根据虚拟现实设备500的类型不同,其所呈现具体画面内容的方式也不同。例如,如图1所示,对于部分轻薄VR眼镜,其内置的控制器一般不直接参与显示内容的控制过程,而是将姿态数据发送给外接设备,如计算机中,由外接设备进行处理,并在外接设备中确定要显示的具体画面内容,再回传给VR眼镜中,以在VR眼镜中显示最终的画面。
在一些实施例中,所示虚拟现实设备500可以接入显示设备200,并与服务器400之间构建一个基于网络的显示系统,在虚拟现实设备500、显示设备200以及服务器400之间可以实时进行数据交互,例如显示设备200可以从服务器400获取媒资数据并进行播放,以及将具体的画面内容传输给虚拟现实设备500中进行显示。
其中,显示设备200可以是液晶显示器、OLED显示器、投影显示设备。具体显示设备类型,尺寸大小和分辨率等不作限定,本领技术人员可以理解的是,显示设备200可以根据需要做性能和配置上一些改变。显示设备200可以提供广播接收电视功能,还可以附加提供计算机支持功能的智能网络电视功能,包括但不限于,网络电视、智能电视、互联网协议电视(IPTV)等。
显示设备200以及虚拟现实设备500还与服务器400通过多种通信方式进行数据通信。可允许显示设备200和虚拟现实设备500通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。示例的,显示设备200通过发送和接收信息,以及电子节目指南(EPG)互动,接收软件程序更新,或访问远程储存的数字媒体库。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。通过服务器400提供视频点播和广告服务等其他网络服务内容。
在进行数据交互的过程中,用户可通过移动终端300和遥控器100操作显示设备200。移动终端300和遥控器100可以与显示设备200之间采用直接的无线连接方式进行通信,也可以采用非直接连接的方式进行通信。即在一些实施例中,移动终端300和遥控器100可以通过蓝牙、红外等直接连接方式与显示设备200进行通信。当发送控制指令时,移动终端300和遥控器100可以直接将控制指令数据通过蓝牙或红外发送到显示设备200。
在另一些实施例中,移动终端300和遥控器100还可以通过无线路由器与显示设备200接入同一个无线网络,以通过无线网络与显示设备200建立非直接连接通信。当发送控制指令时,移动终端300和遥控器100可以将控制指令数据先发送给无线路由器,再通过无线路由器将控制指令数据转发给显示设备200。
在一些实施例中,用户还可以使用移动终端300和遥控器100还可以直接与虚拟现实设备500进行交互,例如,可以将移动终端300和遥控器100作为虚拟现实场景中的手柄进行使用,以实现体感交互等功能。
在一些实施例中,虚拟现实设备500的显示组件包括显示屏幕以及与显示屏幕有关的驱动电路。为了呈现具体画面,以及带来立体效果,显示组件中可以包括两个显示屏幕,分别对应于用户的左眼和右眼。在呈现3D效果时,左右两个屏幕中显示的画面内容会稍有不同,可以分别显示3D片源在拍摄过程中的左相机和右相机。由于用户左右眼观察到的画面内容,因此在佩戴时,可以观察到立体感较强的显示画面。
虚拟现实设备500中的光学系统,是由多个透镜组成的光学模组。光学系统设置在用户的双眼与显示屏幕之间,可以通过透镜对光信号的折射以及透镜上偏振片的偏振效应,增加光程,使显示组件呈现的内容可以清晰的呈现在用户的视野范围内。同时,为了适应不同用户的视力情况,光学系统还支持调焦,即通过调焦组件调整多个透镜中的一个或多个的位置,改变多个透镜之间的相互距离,从而改变光程,调整画面清晰度。
虚拟现实设备500的接口电路可以用于传递交互数据,除上述传递姿态数据和显示内容数据外,在实际应用中,虚拟现实设备500还可以通过接口电路连接其他显示设备或外设,以通过和连接设备之间进行数据交互,实现更为复杂的功能。例如,虚拟现实设备500可以通过接口电路连接显示设备,从而将所显示的画面实时输出至显示设备进行显示。又例如,虚拟现实设备500还可以通过接口电路连接手柄,手柄可以由用户手持操作,从而在VR用户界面中执行相关操作。
其中,所述VR用户界面可以根据用户操作呈现为多种不同类型的UI布局。例如,用户界面可以包括全局界面,AR/VR终端启动后的全局UI如图2所示,所述全局UI可显示于AR/VR终端的显示屏幕中,也可显示于所述显示设备的显示器中。全局UI可以包括推荐内容区域1、业务分类扩展区域2、应用快捷操作入口区域3以及悬浮物区域4。
推荐内容区域1用于配置不同分类TAB栏目;在所述栏目中可以选择配置媒资、专题等;所述媒资可包括2D影视、教育课程、旅游、3D、360度全景、直播、4K影视、程序应用、游戏、旅游等具有媒资内容的业务,并且所述栏目可以选择不同的模板样式、可支持媒资和专题同时推荐编排,如图3所示。
在一些实施例中,推荐内容区域1的顶部还可以设置有状态栏,在状态栏中可以设置有多个显示控件,包括时间、网络连接状态、电量等常用选项。状态栏中包括的内容可以由用户自定义,例如,可以添加天气、用户头像等内容。状态栏中所包含的内容可以被用户选中,以执行相应的功能。例如,用户点击时间选项时,虚拟现实设备500可以在当前界面中显示时间设备窗口,或者跳转至日历界面。当用户点击网络连接状态选项时,虚拟现实设备500可以在当前界面显示WiFi列表,或者跳转至网络设置界面。
状态栏中显示的内容可以根据具体项目的设置状态呈现为不同的内容形式。例如,时间控件可以直接显示为具体的时间文字信息,并在不同的时间显示不同的文字;电量控件则可以根据虚拟现实设备500的当前电量剩余情况,显示为不同的图案样式。
状态栏用于使用户能够执行常用的控制操作,实现快速对虚拟现实设备500进行设置。由于对虚拟现实设备500的设置程序包括诸多项,因此在状态栏中通常不能将所有常用设置选项全部显示。为此,在一些实施例中,状态栏中还可以设置有扩展选项。扩展选项被选中后,可以在当前界面中呈现扩展窗口,在扩展窗口中可以进一步设置有多个设置选项,用于实现虚拟现实设备500的其他功能。
例如,在一些实施例中,扩展选项被选中后,可以在扩展窗口中设置“快捷中心”选项。用户在点击快捷中心选项后,虚拟现实设备500可以显示快捷中心窗口。快捷中心窗口中可以包括“截屏”、“录屏”以及“投屏”选项,用于分别唤醒相应的功能。
业务分类扩展区域2支持配置不同分类的扩展分类。如果有新的业务类型时,支持配置独立TAB,展示对应的页面内容。业务分类扩展区域2中的扩展分类,也可以对其进行排序调整及下线业务操作。在一些实施例中,业务分类扩展区域2可包括的内容:影视、教育、旅游、应用、我的。在一些实施例中,业务分类扩展区域2被配置为可展示大业务类别TAB,且支持配置更多的分类,其图标支持配置,如图3所示。
应用快捷操作入口区域3可指定预装应用靠前显示以进行运营推荐,支持配置特殊图标样式替换默认图标,所述预装应用可指定为多个。在一些实施例中,应用快捷操作入口区域3还包括用于移动选项目标的左向移动控件、右向移动控件,用于选择不同的图标,如图4所示。
悬浮物区域4可以配置为在固定区域左斜侧上方、或右斜侧上方,可配置为可替换形象、或配置为跳转链接。例如,悬浮物接收到确认操作后跳转至某个应用、或显示指定的功能页,如图5所示。在一些实施例中,悬浮物也可不配置跳转链接,单纯的用于形象展示。
在一些实施例中,全局UI还包括位于顶端的状态栏,用于显示时间、网络连接状态、电量状态、及更多快捷操作入口。使用AR/VR终端的手柄,即手持控制器选中图标后,图标将显示包括左右展开的文字提示,选中的图标按照位置自身进行左右拉伸展开显示。
例如,选中搜索图标后,搜索图标将显示包含文字“搜索”及原图标,进一步点击图标或文字后,搜索图标将跳转至搜索页面;又例如,点击收藏图标跳转至收藏TAB、点击历史图标默认定位显示历史页面、点击搜索图标跳转至全局搜索页面、点击消息图标跳转至消息页面。
在一些实施例中,可以通过外设执行交互,例如AR/VR终端的手柄可对AR/VR终端的用户界面进行操作,包括返回按钮;主页键,且其长按可实现重置功能;音量加减按钮;触摸区域,所述触摸区域可实现焦点的点击、滑动、按住拖拽功能。
用户可以通过全局UI界面执行交互操作,并在部分交互模式下,跳转到特定的界面中。例如,为了实现对媒资数据的播放,用户可以通过在全局UI界面中点击任一媒资链接图标,启动播放该媒资链接对应的媒资文件,此时,虚拟现实设备500可以控制跳转至媒资播放界面。
在跳转至特定的界面后,虚拟现实设备500还可以在播放界面的顶部显示状态栏,并依据设定的交互方式执行相应的设置功能。例如,如图6所示,在虚拟现实设备500播放视频媒资时,用户若想要对媒资画面执行截屏操作,可以通过点击状态栏上的扩展选项,调出扩展窗口,并在扩展窗口中点击快捷中心选项,使虚拟现实设备500在播放界面上显示快捷中心窗口如图7所示,最后点击扩展中心窗口中的“截屏”选项,使虚拟现实设备500执行截屏操作,对当前时刻的显示画面以图像方式进行存储。
其中,状态栏可以在虚拟现实设备500播放媒资画面时隐藏,以避免对媒资画面造成遮挡。而当用户执行特定交互动作时,触发显示。例如,在用户未使用手柄执行动作时,可以对状态栏进行隐藏,而在用户使用手柄使用手柄执行动作时,显示状态栏。为此,虚拟现实设备500可以被配置为在播放媒资画面时对手柄中的方位传感器状态或者任一按钮的状态进行检测,当检测到方位传感器的检测值发生变化,或者按钮被按下时,可以控制在播放界面顶部显示状态栏。当检测到方位传感器在设定的时间内没有发生变化,或者按钮没有被按下,则控制在播放界面隐藏状态栏。
可见,上述实施例中,用户可以通过状态栏调出快捷中心,从而在快捷中心窗口中点击相应的选项来完成截屏、录屏以及投屏操作。快捷中心窗口还可以采用其他交互方式调用快捷中心,并显示快捷中心窗口。例如,如图8所示,用户可以通过双击手柄上的home键调用快捷中心窗口。
用户可以在快捷中心窗口中选择任一图标后,启动相应的功能。其中,相应的功能的启动方式,可以根据虚拟现实设备500的实际交互方式确定。例如,如图9所示,用户在调出快捷中心窗口后,可以通过手柄向下移动,使焦点标志移动至在快捷中心窗口的截屏选项上,再通过按下手柄上的“确认/OK”键,启动运行截屏功能。
在执行上述启动运行截屏功能以后,虚拟现实设备500可以从存储器中调用截屏操作程序,并通过运行该截屏程序,对当前显示的画面执行截图。例如,虚拟现实设备500可以通过运行截屏程序,对所有图层的显示内容进行叠加合成,以生成当前显示图案的图片文件。针对生成的图片文件,还可以按照预先设定存储路径进行存储。
由于虚拟现实设备500包括两个显示器,分别对应于用户的左右眼。而在显示部分媒资画面时,为了获得立体的观影效果,两个显示器显示的内容分别对应于3D场景中的左右虚拟播放相机,即在两个显示器中所显示的画面有些许差异。从而在执行截屏操作时,不同的屏幕可以获得不同内容的截屏图片。
为此,虚拟现实设备500可以在执行截屏时,对截屏时刻显示的画面形式进行检测,当检测到用户使用3D模式时,可以对左显示器和右显示器所显示的画面分别执行截屏,即通过一次截屏操作输出两个截屏图片。而由于3D模式下左右两个显示器所显示的内容差异较小,部分用户并不需要2个截屏图片,因此为了节约虚拟现实设备500的存储空间,在部分实施例中,还可以在执行截屏操作时,通过截屏程序指定对两个显示器中的一个显示内容执行截屏,例如指定对左显示器显示的内容执行截屏,从而获得一个截屏图片,并进行存储。
在完成截屏图片的存储后,虚拟现实设备500还可以在显示的界面中显示提示内容,例如,如图10所示,可以在播放界面上浮动显示提示文本窗口(toast窗口),包括文字内容“截屏成功,已保存至××”,其中“××”为具体的保存路径。显然,提示文本窗口会在显示一定时间后自动取消显示,以避免其对播放界面的过度遮挡,如截屏成功后显示提示文本窗口,并在显示2s后消失。
并且,提示文本窗口还可以按照截屏图片的保存进程动态更改具体的提示文字内容。例如,在用户确定执行截屏功能操作后,通过提示文本窗口显示“截屏成功正在保存截屏图片”,而在保存完成后,再通过提示文本窗口显示“已保存至××”。
需要说明的是,由于用户在执行截屏操作时,一般不希望截屏图像中包含快捷中心界面,因此为了能够截取播放的媒资内容,在用户点击截屏图标以后,可以对快捷中心窗口进行隐藏。
在一些实施例中,还可以在截屏操作完成后,在播放界面上显示截屏结果,即在播放界面的上层浮动显示展示窗口,展示窗口中呈现截屏图片,以供用户查看。进一步地,在呈现截屏图片的过程中,还可以在展示窗口中显示一些绘图工具选项,例如,画线工具、椭圆工具、矩形工具、文字工具等,用户可以通过点击这些绘图工具对截屏图片进行遮挡、标注、裁切等处理,以输出更好的截屏图片结果。
可见,在上述实施例中,虚拟现实设备500可以通过快捷中心窗口或者快捷键快速执行截屏操作,以便根据虚拟现实设备500显示的内容保存截屏图片。根据不同的应用场景,截屏操作的截屏对象也可以不同。例如,虚拟现实设备500可以对显示器中显示的内容进行截屏,也可以对渲染场景中的部分区域截屏。
在播放媒资时,虚拟现实设备500可以对媒资画面进行渲染,即在渲染场景中设置显示面板,用于呈现媒资画面内容。再通过添加座椅、音响等虚拟物体,构成虚拟场景,以便根据虚拟场景,输出模拟影院、家庭场景等效果。此时,如果虚拟现实设备500对显示内容进行截屏,则截屏获得的图片中,不仅包括媒资画面,而且包括渲染的虚拟物体画面。
虚拟现实设备500还可以对渲染场景中的显示面板呈现的画面进行截屏,即可以仅对媒资画面内容进行截屏。具体的截屏方法可以是在对渲染场景中的显示面板画面区域执行截屏操作,或者虚拟现实设备500在解析媒资数据后,直接对媒资画面帧数据进行提取,并将提取的帧数据进行复制,从而获得不带有渲染虚拟物品的虚拟物体的画面。
在一些实施例中,虚拟现实设备500还可以对渲染场景中部分区域执行截屏。例如,可以在用户佩戴虚拟现实设备500活动至任一视角时,对当前视角下的显示面板区域和/或附近的渲染画面内容执行截屏,从而获得重点区域或用户设置区域内的截屏画面内容。
基于上述截屏操作,用户可以在佩戴虚拟现实设备500的过程中,通过截屏操作生成截屏图片文件。在一些实施例中,虚拟现实设备500在接收到用户控制指令后,可以直接截取屏幕上当前显示的内容,以生成截屏图片。即虚拟现实设备500可以获取显示程序送入显示器进行显示的图像数据,并保存为图片文件。
但是为了适应光学组件畸变带来的不适,如图10所示,虚拟现实设备500在显示具体画面时,会将屏幕中心的区域设置为可见,屏幕的边缘区域设置为不可见。即实际送入显示器显示的内容比用户直接观看到的内容区域更大。因此虚拟现实设备500在执行截屏后,所获得的图片中内容范围比用户实际观看到的图片画面范围要大,使得直接进行屏幕截取而获得的图片内容与用户观看到的内容偏差较大。截屏图片向用户展示的内容只占据整张图的一小部分,在小屏幕展示时的清晰度差。
为了获得与观看画面偏差较小的截屏图片,在本申请的部分实施例中提供一种虚拟现实设备500,该虚拟现实设备500包括显示器和控制器。其中,所述显示器用于显示用户界面,如图11所示,所述控制器被配置为执行以下程序步骤,以实现VR场景下的截屏操作:
S1:获取用户输入的用于截屏的控制指令。
为了控制虚拟现实设备500开始截屏,用户可以通过预设交互方式,输入截屏控制指令。例如,用户可以通过双击手柄上的home键调出快捷中心窗口,并在快捷中心窗口中点击“截屏”选项,输入截屏控制指令。
用户还可以通过快捷键操作,输入截屏控制指令。快捷键可以根据虚拟现实设备500上的实体按键设置情况进行设定,即不同的虚拟现实设备500可以设置有不同的快捷键组合,用于实现截屏操作。例如,用户可以通过“电源键”和“音量+”的组合键形式,输入截屏控制指令。对于外接手柄等交互设备的虚拟现实设备500,用户也可以通过手柄按键与虚拟现实设备500按键的组合,输入截屏控制指令。
针对部分虚拟现实设备500,用户还可以借助其他交互设备或交互系统完成控制指令的输入。例如,可以在虚拟现实设备500中内置智能语音系统,用户可以通过麦克风等音频输入设备输入语音信息,如“截屏”、“我想留下当前画面”等。智能语音系统通过对用户语音信息进行转化、分析、处理等方式识别语音信息的含义,并根据识别结果生成控制指令,以控制虚拟现实设备500执行截屏操作。
S2:响应于所述控制指令,在渲染场景中提取中间图像。
其中,渲染场景是指由虚拟现实设备500渲染引擎通过渲染程序构建的一个虚拟场景。例如,基于unity 3D渲染引擎的虚拟现实设备500,可以在呈现显示画面时,构建一个unity 3D场景。在unity 3D场景中,可以添加各种虚拟物体和功能控件,以渲染出特定的使用场景。如在播放多媒体资源时,可以在unity 3D场景中添加一个显示面板,该显示面板用于呈现多媒体资源画面。同时,还可以在unity 3D场景中添加座椅、音响、人物等虚拟物体模型,从而营造出影院效果。
为了输出渲染后的画面,虚拟现实设备500还可以在unity 3D场景中设置虚拟相机。例如,虚拟现实设备500可以按照用户双眼的位置关系,在unity 3D场景中设置左眼相机和右眼相机,两个虚拟相机可以同时对unity 3D场景中的物体进行拍摄,从而向左显示器和右显示器分别输出渲染画面。为了获得更好的沉浸感体验,两个虚拟相机在unity 3D场景中的角度可以随着虚拟现实设备500的位姿传感器实时调整,从而在用户佩戴虚拟现实设备500行动时,可以实时输出不同观看角度下的unity 3D场景中的渲染画面。
基于此,在用户输入用于截屏的控制指令后,虚拟现实设备500可以根据截屏控制指令从渲染场景中提取中间图像,即所述中间图像为对渲染场景进行图像拍摄获得的未畸变图像。例如,虚拟现实设备500可以通过提取左眼相机或右眼相机拍摄的图像获取中间图像。
在一些实施例中,为了获取中间图像,虚拟现实设备500还可以在渲染场景中单独设置一个截屏相机,并在用户输入截屏控制指令后,通过截屏相机对渲染场景进行拍摄,以获取中间图像。显然,为了获得与用户观看到的画面具有相同内容的截屏操作结果,截屏相机可以和左眼相机(或右眼相机)一样在unity 3D场景中的拍摄角度,可以随着虚拟现实设备500的位姿传感器实时调整,从而在用户佩戴虚拟现实设备500行动时,可以实时获得与左眼相机(或右眼相机)相同的,不同观看角度下的渲染画面。
S3:对所述中间图像执行裁切,以获得指定宽高比的截屏图像。
由于虚拟现实设备500的左(右)显示器接近正方形,输出到显示器上的图像画面也设置成正方形,即直接进行屏幕截取所获得的图片宽高比为1:1,如1048×1048或者1536×1536的图片。但常规图片分为:普通(720P 1280×720)、高清(1080P 1920×1080)和超高清(4K 3840×2160)的宽高比为16:9。因此,直接进行屏幕截取所获得的图片是正方形的,不符合常规图片的显示比例。
为此,在本实施例中,在获取中间图像之后,还需要按照输出要求,对截屏图片进行执行裁切。例如,当虚拟现实设备500的EyeBuffer设置成1536×1536,截取图像的分辨率也为1536×1536。因此,为了输出宽高比为16:9的截屏图像,虚拟现实设备500会以中间图像的中心区域为基准,在中间图像中裁切一个1280×720的图像区域,作为截屏图像,如图13所示。
可见,在本实施例中,通过从渲染场景中获取中间图像,可以按照未进行畸变处理的rendertexture图像为基准生成截图图像文件。并且通过对中间图像执行裁切,可以去除中间图像中不作为主要内容的边缘区域,使虚拟现实设备500能够输出指定宽高比的截屏图像,不仅符合常规图片的显示比例,而且能够在向用户展示时的相对观看距离被拉近,使呈现给用户观看的内容更清晰。
在截屏获得图像后,虚拟现实设备500还可以将截屏结果呈现给用户。为此,用户可以输入用于播放截屏图像的控制指令时,虚拟现实设备500可以响应于该播放指令,对截屏图像进行播放。虚拟现实设备500会在用户输入播放指令后,跳转到播放界面;或者,在播放界面中,从展示的一个图像的跳转到展示截屏图像的画面。
例如,用户可以在文件列表中点击截屏图像文件的图标,触发虚拟现实设备500对选中的图片进行播放,此时,用户输入的点击图片文件图标动作为用于播放截屏图像的控制指令。由于虚拟现实设备500在显示播放界面时,还可以在播放界面上呈现图片列表、“上一个”、“下一个”等UI交互控件,因此,当用户在播放界面中展示一幅截屏图像画面,通过点击“上一个”、“下一个”UI交互控件,或者点击图片列表中的任一图片图标时,可以切换至显示相邻或选中的图片。此时,用户输入的点击交互控件或图片图标的动作为用于播放截屏图像的控制指令。
另外,用于播放截屏图像的控制指令还可以由控制器通过判断虚拟现实设备500的工作状态自动完成输入。例如,用户在使用虚拟现实设备500进行截屏时,虚拟现实设备500可以在完成截屏后,对截屏结果进行展示。因此,在展示截屏结果时,虚拟现实设备500可以自动输入用于播放截屏图像的控制指令。
在获得用户输入的播放指令后,虚拟现实设备500可以响应于播放指令,对待播放的截屏图像文件进行解析,包括但不限于解压缩、读取像素信息等,以获得截屏图像画面信息。在解析截屏图像文件的过程中,虚拟现实设备500还可以对截屏图像的尺寸相关内容进行读取,获得截屏图像的宽高比。例如,可以读取到截屏图像为超高清(4K 3840×2160)图像,对应的宽高比为16:9。
在读取截屏图像的宽高比以后,虚拟现实设备500还可以根据读取的截屏图像宽高比,调用显示面板。其中,显示面板的宽高比等于截屏图像的宽高比,用于在渲染场景中对截屏图像画面内容进行展示。例如,在读取到截屏图像的宽高比为16:9后,可以在虚拟渲染场景中添加宽高比也为16:9的显示面板。
另外,在添加显示面板的过程中,虚拟现实设备500还可以根据截屏图像的尺寸或分辨率等信息,设置显示面板在渲染场景中的位置。通过设置显示面板的位置,可以使显示面板与虚拟显示相机之间保持合适的距离,在截屏图像显示在显示面板上以后,可以通过渲染场景获得大小合适的虚拟现实画面,从而为用户带来更好的观看体验。
虚拟现实设备500的显示屏幕是由左右两个显示器组成,或者由一个大屏幕的左右两部分组成。因此,为了适应虚拟现实设备500的两部分画面,如图14所示,在一些实施例中,在渲染场景中提取中间图像的步骤中,所述控制器被进一步配置为:
S210:提取所述控制指令的输入时刻;
S220:抓取所述渲染场景中的待渲染视频数据流;
S230:在所述待渲染视频数据流中提取所述输入时刻的画面帧数据,以生成中间图像。
在本实施例中,可以将左显示器和右显示器中的一个所对应显示的内容作为截屏图片。例如,当收到截屏事件后,获取左眼相机(Camera)当前纹理图像(RenderTexture)数据,由于获得的图像数据还未被渲染,即该Texture是没有畸变的单目图像。
在实际应用中,左眼相机和右眼相机会随着用户的佩戴过程,对虚拟场景进行持续拍摄,形成待渲染视频数据流,即所述待渲染视频数据流由左眼虚拟显示相机或右眼虚拟显示相机对渲染场景执行图像拍摄获得。视频数据流可以通过渲染引擎渲染后,输送至左显示器和右显示器进行显示。为了获得中间图像,虚拟现实设备500可以在接收到用户输入的截屏控制指令后,抓取渲染场景中的待渲染视频数据流。
待渲染视频数据流是由多帧图像按时间顺序排列组成的数据,每一帧图像对应一个时刻虚拟相机所拍摄的画面。因此,虚拟现实设备500可以在用户输入截屏控制指令时,记录控制指令的输入时刻,并按照输入时刻对视频数据流中对应帧图像图像进行提取,以获得中间图像。例如,用户在12:32:05:28时刻输入控制指令,则虚拟现实设备500在抓取到对应时间段的视频数据流后,可以按照该输入时刻在视频数据流中进行查找,以获得12:32:05:010时刻的画面帧数据。
显然,由于视频数据流中的画面帧数据是按照一定的帧率间隔排列。例如,对于60Hz帧率的视频数据流,即在1秒时间内具有60帧图像画面。当第一帧画面数据对应的时间为12:32:05:000时,第二帧画面数据对应的时间为12:32:05:017。此时,并没有画面帧数据处在输入时刻12:32:05:010,因此,虚拟现实设备500可以提取距离输入时刻时间最短的图像作为画面帧数据,即第二帧画面数据。
可见,在本实施例中,虚拟现实设备500可以通过渲染场景中左眼相机或右眼相机获取未畸变的画面帧数据作为中间图像,在不影响画面正常显示的情况下,获得未畸变的单目数据,因此可以适应虚拟现实设备500的两部分画面截屏,输出符合常规图片规范的截屏图片文件。
如图15所示,在一些实施例中,为了输出指定宽高比的截屏图片,对所述中间图像执行裁切的步骤中,所述控制器被进一步配置为:
S310:读取所述中间图像的宽度值和高度值;
S320:根据所述宽度值和高度值计算图像宽高比;
S330:如果所述图像宽高比满足预设输出值,将所述中间图像输出为截屏图像;
S340:如果所述图像宽高比不满足预设输出值,按照所述预设输出值对所述中间图像执行裁切。
在获取中间图像后,虚拟现实设备500可以对中间图像的尺寸进行检测,读取中间图像的宽度W和高度H。再根据宽度值和高度值计算中间图像的图像宽高比,即图像宽高比Scale=W/H。
虚拟现实设备500在根据计算获得的图像宽高比与预设的输出值进行对比,以确定图像宽高是否满足预设输出值。例如,用户设定虚拟现实设备500输出的截屏图像规格为宽高比大于或等于16:9的宽屏图片时,预设输出值为16/9。通过对比,当图像宽高比大于或等于16/9时,确定当前中间图像满足输出图片的规格要求,因此可以跳过对中间图像的裁切操作,直接将中间图像输出为截屏图像。
同理,通过对比,当图像宽高比小于16/9时,则确定当前中间图像不满足输出图片的规格要求,需要按照16:9的比例规范,对中间图像进行裁切,去除中间图像中的部分边缘区域,以输出16:9形式的截屏图片。
由于从渲染场景中获得的中间图像内容中,界面UI、显示面板等主要内容画面常处于靠近中部的区域内,而渲染背景、天空盒等画面处于靠近边缘的区域内。因此,在裁切过程中,虚拟现实设备500应在边缘区域的基础上,对各边缘区域进行均匀的裁切,以保留中间图像中的主要画面,避免对中间图像的过度裁切。即如图16所示,在一些实施例中,根据所述宽度值和高度值计算图像宽高比的步骤还包括:
S321:根据所述宽度值计算图像判断值;
S322:对于所述图像判断值与所述高度值;
S323:如果所述图像判断值大于或等于所述高度值,确定所述图像宽高比满足预设输出值;
S324:如果所述图像判断值小于所述高度值,确定所述图像宽高比不满足预设输出值。
在本实施例中,虚拟现实设备500可以根据中间图像的宽度值计算图像判断值,所述图像判断值为宽度值与预设比例系数的乘积。例如,预设比例系数为9/16,则在获取宽度值以后,可以计算图像判断值H1=W×9/16。再将计算获得的图像判断值与高度值进行对比,以确定图像宽高比是否满足预设输出值。
即,当图像判断值H1≥高度值H时,确定图像宽高比满足预设输出值,可以跳过对中间图像的裁切操作,直接将中间图像输出为截屏图像;当图像判断值H1<高度值H时,确定图像宽高比不满足预设输出值,需要按照图像判断值H1、宽度值W以及高度值H对中间图像进行裁切,以输出指定宽高比的截屏图像。
进一步地,如果所述图像判断值小于所述高度值,虚拟现实设备500还可以按照计算获得的图像判断值确定中间图像的裁切位置。即,根据图像判断值和高度值计算裁切高度起始点,所述裁切高度起始点等于图像判断值和高度值之差的1/2;再基于裁切高度起始点,对中间图像执行裁切,以生成截屏图像。其中,生成的截屏图像的宽度等于宽度值,截屏图像的高度等于图像判断值。
例如,虚拟现实设备500读取RenderTexture的宽度W和高度H;计算RenderTexture的宽度的9/16为H1。通过对比,若H1不小于H,则说明RenderTexture的宽高比大于或等于16/9,此时不需要对高度进行裁剪,直接生成宽度为W,高度为H的Texture图像。若H1小于H,说明RenderTexture的宽高比小于16/9,需要对高度进行裁剪,从而生成宽度为W,高度为H1的Texture图像。
如图17所示,虚线的方框表示中间图像的原始区域范围,实线的方框表示裁剪后的部分。可见,在裁切过程中,Texture图像的大小由计算的图像判断值和中间图像原始尺寸确定,裁剪的位置则可以通过计算实线框左上角的起始点为(H-H1)/2,并结合Texture图像的大小确定裁剪位置,最后按照裁剪位置去除中间图像的边缘,保留实线框内的画面,形成最终的截屏图像。
可见,在本实施例中,虚拟现实设备500可以按照设定的输出值对中间图像进行裁切,裁切后的图像不仅符合常规图像的比例规范,而且便于保留图像中的主要内容,避免对图像的过度裁剪,以使输出的截屏图像内容与用户观看到的实际内容偏差更小。
在对中间图像完成裁切后,虚拟现实设备500可以根据截屏图片的用途,对裁切后的中间图像进行保存,以获得截屏图片文件。即如图18所示,在一些实施例中,对所述中间图像执行裁切的步骤后,所述控制器被进一步配置为:
S410:将裁切后中间图像的像素信息输出到纹理图像;
S420:按照预设编码规则将所述纹理图像输出至字节数组;
S430:保存所述字节数组为截屏图片文件。
当虚拟现实设备500对中间图像执行裁切后,可以将裁切后的中间图像像素信息输出到纹理图像。再按照预设编码规则将纹理图像输出至字节数组,从而保存字节数组为截屏图片文件。例如,虚拟现实设备500可将RenderTexture的像素信息输出到Texture中,再将Texture按照jpg的编码输出到byte数组,以利用jpg格式图片的色彩还原性好、适合风景照、体积小等特点获得更适合网络传输和浏览的截屏图片文件。
最后,虚拟现实设备还将截屏图片文件存储在设定的存储路径下,以供后续处理。如播放、网络传输、识别分析等。需要说明的是,为了保存截屏图片文件,虚拟现实设备500还可以内置或外接存储器。即本实施例中,存储截屏图片文件的存储器可以是虚拟现实设备500的内部存储器,也可以是虚拟现实设备500外接设备中的存储器,如显示设备的存储器、服务器等。
由于在截屏过程中,所截取的图片文件会统一保存在一个文件夹中,如Android系统的截图文件放在存储路径为“DCIM/Camera”的文件夹中。因此,为了保证截图保存位置的一致性,如图19所示,在一些实施例中,按照预设编码规则将所述纹理图像输出至字节数组的步骤后,所述控制器被进一步配置为:
S421:遍历当前系统的文件保存路径;
S422:如果所述当前系统中包括预设位置的文件保存路径,保存所述字节数组为截屏图片文件;
S423:如果所述当前系统中不包括预设位置的文件保存路径,在所述预设位置新建文件夹。
在将texture图像信息存储为Byte数组后,虚拟现实设备500可以遍历当前系统的文件保存路径,以确定当前系统中是否存在用于保存截屏图片文件的文件夹。例如,虚拟现实设备500可以对当前系统注册表项中的文件夹名称进行逐一读取,以确定当前系统中是否包含文件路径为“DCIM/Camera”的文件夹。如果当前系统中存在该文件夹,则可以将Byte数组保存为图片文件,完成截屏图片的保存。如果当前系统中不存在该文件夹,则可以新建一个路径为“DCIM/Camera”的文件夹以便用来保存截屏图片文件。
需要说明的是,根据操作系统的不同,用户保存截屏图片文件的路径也不同。因此,在不同的虚拟现实设备500中,也可以预设不同位置的文件保存路径。并且,用户可以根据截屏图片文件的用途不同,自定义文件保存路径,以供用户查看。例如,对于输出至显示设备200中进行显示的截屏图片,可以直接设置文件保存路径为显示设备200的地址,从而在完成截屏操作后,直接按照设置的地址将截屏所获得的图片文件发送给显示设备200。
在一些实施例中,为了使用户能够查看截屏图片文件,如图20所示,在保存所述字节数组为截屏图片文件的步骤后,所述控制器被进一步配置为:
S431:检测所述截屏图片文件的保存进程;
S432:如果所述截屏图片文件完成保存,生成数据库更新指令;
S433:运行所述数据库更新指令,以使所述截屏图片文件能够显示在图片浏览界面中。
虚拟现实设备500在将所述texture图像信息保存为图片文件时,可以通过检测截屏图片文件的保存进程,对保存过程实施监控。当检测到截屏图片文件完成保存后,虚拟现实设备500可以生成数据库更新指令,并运行数据库更新指令,以更新图片浏览界面,使截屏图片文件能够显示在图片浏览界面中。
由于texture图像信息的数据量较大,虚拟现实设备500需要消耗一定的时间才可将数据写入存储空间内,以将texture图像信息保存为图片文件。因此,在虚拟现实设备500开始执行将所述texture图像信息保存为截屏图片文件的过程中,可以实时对截屏文件的保存进度进行检测。并且在完成截屏图片文件的保存后,通知数据库对图片信息进行更新,以便用户可以在图片浏览界面中看到最新的截屏图片。
其中,图片浏览界面也称图片浏览器,是专门为用户进行图片查看的界面。在图片浏览界面中,可以包括多个图片的缩略图图标,当用户选择该图标时,可以打开该图标对应的图片,并在图片展示区域进行放大显示。
为了通知数据库对图片信息的更新,在检测到截屏图片文件完成保存后,可以生成更新指令,并将更新指令应用到数据库管理程序中。数据库管理程序可以在接收到更新指令后,扫描当前存储的图片信息。并将扫描到的图片信息与上一次扫描结果进行对比,从而确定是否有新增的图片文件信息。当存在新增的文件信息时,数据库管理程序可以将新增文件对应的信息按照新增文件的时间顺序,展示在图片浏览器中,以供用户选择查看。
由以上技术方案可知,上述实施例可以通过控制texture图像信息的存储方式,将texture图像信息保存为图片文件。保存图片的路径可与常规截图方式保存的位置相同,并且可以在保存完成后通知数据库更新图片信息,以方便用户查看截屏获取的图片文件。
由于texture图像信息数据量较大,整个保存过程不仅占用系统运算资源,而且保存时间消耗较长,因此如果通过操作系统层面的主线程完成保存过程会引起应用卡顿,影响用户体验。为了改善用户体验,在一些实施例中,虚拟现实设备500可以将保存的过程交给协程执行。例如,在保存截屏图片文件时,可以通过操作系统层向Unity层发送截屏事件,以通知Unity层执行截屏操作。当unity层收到截屏事件后,按照提取指定侧显示器的texture图像信息并将texture图像信息保存为截屏图片文件的流程进行截图,从而减小应用卡顿。
基于上述虚拟现实设备500,在本申请的部分实施例中,还提供一种VR场景截屏方法,该方法可以应用于上述虚拟现实设备500,以实现对所显示画面进行截屏,输出与用户观看画面偏差小的截屏图片结果。如图12所示,所述VR场景截屏方法包括以下步骤:
S1:获取用户输入的用于截屏的控制指令;
S2:响应于所述控制指令,在渲染场景中提取中间图像,所述中间图像为对渲染场景进行图像拍摄获得的未畸变图像;
S3:对所述中间图像执行裁切,以获得指定宽高比的截屏图像。
由以上技术方案可知,上述实施例提供的VR场景截屏方法可以在获取用户输入的截屏控制指令后,在渲染场景中提取未畸变的中间图像,并对中间图像执行裁切,以获得指定宽高比的截屏图像。所述VR场景截屏方法能够截取中间图像的关键区域作为截屏图片,从而使向用户展示的部分在整张图中占据的比例增大,并且向用户展示的部分的距离被拉近,内容更清晰,减小图片与原始画面内容偏差,提高用户体验。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。
Claims (10)
1.一种虚拟现实设备,其特征在于,包括:
显示器,被配置为显示用户界面,所述用户界面包括图像区域和天空盒区域,所述图像区域用于呈现多媒体内容;所述天空盒区域位于图像区域的四周,用于呈现渲染背景内容;
控制器,被配置为:
获取用户输入的用于截屏的控制指令;
响应于所述控制指令,在渲染场景中抓取待渲染视频数据流,以提取中间图像,所述待渲染视频数据流是由左眼虚拟显示相机或右眼虚拟显示相机对所述渲染场景执行图像拍摄获得的,所述中间图像为对渲染过程中的未畸变图像进行图像拍摄获得的;所述未畸变图像用于在畸变后进行三维显示;
获取虚拟现实设备旋转至任一角度时的视角值及所述虚拟现实设备显示屏幕的宽度值和高度值;
根据所述中间图像、所述视角值、所述宽度值和所述高度值计算截屏图像的尺寸。
2.根据权利要求1所述的虚拟现实设备,其特征在于,所述控制器被进一步配置为:
获取用户输入的用于显示截屏图像的播放指令;
响应于所述播放指令,获取所述截屏图像的宽高比;
根据所述截屏图像的宽高比,在虚拟渲染场景中添加显示面板,所述显示面板的宽高比等于所述截屏图像的宽高比;
在所述显示面板上显示所述截屏图像。
3.根据权利要求1所述的虚拟现实设备,其特征在于,在渲染场景中抓取待渲染视频数据流,以提取中间图像的步骤中,所述控制器被进一步配置为:
提取所述控制指令的输入时刻;
在所述待渲染视频数据流中提取所述输入时刻的画面帧数据,以生成中间图像。
4.根据权利要求1所述的虚拟现实设备,其特征在于,所述控制器被进一步配置为:
在所述渲染场景中添加虚拟截屏相机;
在获取所述控制指令后,通过所述虚拟截屏相机对渲染画面执行图像拍摄,以生成中间图像。
5.根据权利要求1所述的虚拟现实设备,其特征在于,所述控制器被进一步配置为:
读取所述中间图像的宽度值和高度值;
根据所述宽度值和高度值计算图像宽高比;
如果所述图像宽高比满足预设输出值,将所述中间图像输出为截屏图像;
如果所述图像宽高比不满足预设输出值,按照所述预设输出值对所述中间图像执行裁切。
6.根据权利要求5所述的虚拟现实设备,其特征在于,根据所述宽度值和高度值计算图像宽高比的步骤中,所述控制器被进一步配置为:
根据所述宽度值计算图像判断值,所述图像判断值为所述宽度值与预设比例系数的乘积;
对于所述图像判断值与所述高度值;
如果所述图像判断值大于或等于所述高度值,确定所述图像宽高比满足预设输出值;
如果所述图像判断值小于所述高度值,确定所述图像宽高比不满足预设输出值。
7.根据权利要求6所述的虚拟现实设备,其特征在于,如果所述图像判断值小于所述高度值,所述控制器被进一步配置为:
根据所述图像判断值和所述高度值计算裁切高度起始点,所述裁切高度起始点等于所述图像判断值和所述高度值之差的1/2;
基于所述裁切高度起始点,对所述中间图像执行裁切,以生成截屏图像,所述截屏图像的宽度等于所述宽度值,所述截屏图像的高度等于所述图像判断值。
8.根据权利要求5所述的虚拟现实设备,其特征在于,对所述中间图像执行裁切的步骤后,所述控制器被进一步配置为:
将裁切后中间图像的像素信息输出到纹理图像;
按照预设编码规则将所述纹理图像输出至字节数组;
保存所述字节数组为截屏图片文件。
9.一种虚拟现实设备,其特征在于,包括:
显示器,被配置为显示用户界面,所述用户界面包括图像区域和天空盒区域,所述图像区域用于呈现多媒体内容;所述天空盒区域位于图像区域的四周,用于呈现渲染背景内容;
控制器,被配置为:
获取用户输入的用于显示截屏图像的播放指令;所述截屏图像是根据中间图像、虚拟现实设备旋转至任一角度时的视角值及所述虚拟现实设备显示屏幕的宽度值和高度值计算尺寸后进行裁切得到的;所述中间图像是在渲染场景中抓取待渲染视频数据流提取的;所述待渲染视频数据流是由左眼虚拟显示相机或右眼虚拟显示相机对所述渲染场景执行图像拍摄获得的,所述中间图像为对渲染过程中的未畸变图像进行图像拍摄获得的;所述未畸变图像用于在畸变后进行三维显示;
响应于所述播放指令,获取所述截屏图像的宽高比;
根据所述截屏图像的宽高比,在虚拟渲染场景中添加显示面板,所述显示面板的宽高比等于所述截屏图像的宽高比;
在所述显示面板上显示所述截屏图像。
10.一种VR场景截屏方法,其特征在于,应用于虚拟现实设备,所述虚拟现实设备包括显示器和控制器,所述VR场景截屏方法包括:
获取用户输入的用于截屏的控制指令;
响应于所述控制指令,在渲染场景中抓取待渲染视频数据流,以提取中间图像,所述待渲染视频数据流是由左眼虚拟显示相机或右眼虚拟显示相机对所述渲染场景执行图像拍摄获得的,所述中间图像为对渲染过程中的未畸变图像进行图像拍摄获得的;所述未畸变图像用于在畸变后进行三维显示;
获取虚拟现实设备旋转至任一角度时的视角值及所述虚拟现实设备显示屏幕的宽度值和高度值;
根据所述中间图像、所述视角值、所述宽度值和所述高度值计算截屏图像的尺寸。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/137060 WO2022151883A1 (zh) | 2021-01-18 | 2021-12-10 | 虚拟现实设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021100650156 | 2021-01-18 | ||
CN202110065015 | 2021-01-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113064684A CN113064684A (zh) | 2021-07-02 |
CN113064684B true CN113064684B (zh) | 2023-03-21 |
Family
ID=76561582
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110097842.3A Active CN114286142B (zh) | 2021-01-18 | 2021-01-25 | 一种虚拟现实设备及vr场景截屏方法 |
CN202110280846.5A Active CN114302214B (zh) | 2021-01-18 | 2021-03-16 | 一种虚拟现实设备及防抖动录屏方法 |
CN202110284754.4A Pending CN114327700A (zh) | 2021-01-18 | 2021-03-17 | 一种虚拟现实设备及截屏图片播放方法 |
CN202110292608.6A Pending CN114327034A (zh) | 2021-01-18 | 2021-03-18 | 一种显示设备及录屏交互方法 |
CN202110290401.5A Active CN113064684B (zh) | 2021-01-18 | 2021-03-18 | 一种虚拟现实设备及vr场景截屏方法 |
CN202110359636.5A Pending CN114296949A (zh) | 2021-01-18 | 2021-04-02 | 一种虚拟现实设备及高清晰度截屏方法 |
CN202110980427.2A Pending CN113655887A (zh) | 2021-01-18 | 2021-08-25 | 一种虚拟现实设备及静态录屏方法 |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110097842.3A Active CN114286142B (zh) | 2021-01-18 | 2021-01-25 | 一种虚拟现实设备及vr场景截屏方法 |
CN202110280846.5A Active CN114302214B (zh) | 2021-01-18 | 2021-03-16 | 一种虚拟现实设备及防抖动录屏方法 |
CN202110284754.4A Pending CN114327700A (zh) | 2021-01-18 | 2021-03-17 | 一种虚拟现实设备及截屏图片播放方法 |
CN202110292608.6A Pending CN114327034A (zh) | 2021-01-18 | 2021-03-18 | 一种显示设备及录屏交互方法 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110359636.5A Pending CN114296949A (zh) | 2021-01-18 | 2021-04-02 | 一种虚拟现实设备及高清晰度截屏方法 |
CN202110980427.2A Pending CN113655887A (zh) | 2021-01-18 | 2021-08-25 | 一种虚拟现实设备及静态录屏方法 |
Country Status (1)
Country | Link |
---|---|
CN (7) | CN114286142B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117398680A (zh) * | 2022-07-08 | 2024-01-16 | 腾讯科技(深圳)有限公司 | 虚拟对象的显示方法、装置、终端设备及存储介质 |
CN115942049A (zh) * | 2022-08-26 | 2023-04-07 | 北京博雅睿视科技有限公司 | 一种面向vr视频的视角切换方法、装置、设备及介质 |
CN115185594B (zh) * | 2022-09-06 | 2023-01-06 | 湖北芯擎科技有限公司 | 基于虚拟显示的数据交互方法、装置、电子设备及介质 |
CN115665461B (zh) * | 2022-10-13 | 2024-03-22 | 聚好看科技股份有限公司 | 一种视频录制方法及虚拟现实设备 |
CN116795316B (zh) * | 2023-08-24 | 2023-11-03 | 南京维赛客网络科技有限公司 | 投屏时小窗口播放场景内画面的方法、系统及存储介质 |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0342690A (ja) * | 1989-07-10 | 1991-02-22 | Konica Corp | 画像形成装置 |
JP5279453B2 (ja) * | 2008-10-31 | 2013-09-04 | キヤノン株式会社 | 画像振れ補正装置、撮像装置及び画像振れ補正方法 |
JP5685079B2 (ja) * | 2010-12-28 | 2015-03-18 | 任天堂株式会社 | 画像処理装置、画像処理プログラム、画像処理方法および画像処理システム |
US8606645B1 (en) * | 2012-02-02 | 2013-12-10 | SeeMore Interactive, Inc. | Method, medium, and system for an augmented reality retail application |
JP2013172418A (ja) * | 2012-02-22 | 2013-09-02 | Nikon Corp | 画像取り扱い装置およびカメラ |
DE112014000441T5 (de) * | 2013-01-15 | 2015-10-15 | David Holz | Dynamische Benutzerinteraktionen für Displaysteuerung und Angepaßte Gesten Interpretation |
CN103293957A (zh) * | 2013-05-22 | 2013-09-11 | 上海新跃仪表厂 | 一种相对动坐标系进行路径规划的卫星姿态机动方法 |
JP6461146B2 (ja) * | 2013-11-12 | 2019-01-30 | ビーエルアールティー ピーティーワイ エルティーディーBlrt Pty Ltd | ソーシャルメディアプラットホーム |
JP6448218B2 (ja) * | 2014-05-12 | 2019-01-09 | キヤノン株式会社 | 撮像装置、その制御方法および情報処理システム |
KR20160034037A (ko) * | 2014-09-19 | 2016-03-29 | 삼성전자주식회사 | 화면 캡쳐를 위한 방법 및 그 전자 장치 |
US10684485B2 (en) * | 2015-03-06 | 2020-06-16 | Sony Interactive Entertainment Inc. | Tracking system for head mounted display |
WO2017039348A1 (en) * | 2015-09-01 | 2017-03-09 | Samsung Electronics Co., Ltd. | Image capturing apparatus and operating method thereof |
CN105704539A (zh) * | 2016-02-15 | 2016-06-22 | 努比亚技术有限公司 | 视频共享装置及方法 |
CN105847672A (zh) * | 2016-03-07 | 2016-08-10 | 乐视致新电子科技(天津)有限公司 | 虚拟现实头盔抓拍方法及系统 |
WO2017156742A1 (zh) * | 2016-03-17 | 2017-09-21 | 深圳多哚新技术有限责任公司 | 一种基于虚拟现实的画面显示方法及相关设备 |
US10043302B2 (en) * | 2016-04-18 | 2018-08-07 | Beijing Pico Technology Co., Ltd. | Method and apparatus for realizing boot animation of virtual reality system |
CN106020482A (zh) * | 2016-05-30 | 2016-10-12 | 努比亚技术有限公司 | 一种控制方法、虚拟现实设备和移动终端 |
CN105959666A (zh) * | 2016-06-30 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种虚拟现实系统中分享3d影像的方法和装置 |
CN106201259A (zh) * | 2016-06-30 | 2016-12-07 | 乐视控股(北京)有限公司 | 一种虚拟现实系统中分享全景影像的方法和装置 |
CN106843456B (zh) * | 2016-08-16 | 2018-06-29 | 深圳超多维光电子有限公司 | 一种基于姿态追踪的显示方法、装置和虚拟现实设备 |
CN106341603A (zh) * | 2016-09-29 | 2017-01-18 | 网易(杭州)网络有限公司 | 用于虚拟现实环境的取景方法、装置以及虚拟现实设备 |
KR102612988B1 (ko) * | 2016-10-20 | 2023-12-12 | 삼성전자주식회사 | 디스플레이 장치 및 디스플레이 장치의 영상 처리 방법 |
CN112132881A (zh) * | 2016-12-12 | 2020-12-25 | 华为技术有限公司 | 一种动态三维图像获取的方法和设备 |
US20180189980A1 (en) * | 2017-01-03 | 2018-07-05 | Black Sails Technology Inc. | Method and System for Providing Virtual Reality (VR) Video Transcoding and Broadcasting |
CN110506419B (zh) * | 2017-02-03 | 2021-12-28 | 华纳兄弟娱乐公司 | 在虚拟现实中渲染扩展视频 |
WO2019037040A1 (zh) * | 2017-08-24 | 2019-02-28 | 腾讯科技(深圳)有限公司 | 基于虚拟现实应用录制视频的方法、终端设备及存储介质 |
CN107678539A (zh) * | 2017-09-07 | 2018-02-09 | 歌尔科技有限公司 | 用于头戴显示设备的显示方法及头戴显示设备 |
CN107590848A (zh) * | 2017-09-29 | 2018-01-16 | 北京金山安全软件有限公司 | 一种图片生成方法、装置、电子设备及存储介质 |
CN108024079B (zh) * | 2017-11-29 | 2021-08-03 | Oppo广东移动通信有限公司 | 录屏方法、装置、终端及存储介质 |
CN108073346A (zh) * | 2017-11-30 | 2018-05-25 | 深圳市金立通信设备有限公司 | 一种录屏方法、终端及计算机可读存储介质 |
CN107957836B (zh) * | 2017-12-05 | 2020-12-29 | Oppo广东移动通信有限公司 | 录屏方法、装置及终端 |
CN108289220B (zh) * | 2018-01-15 | 2020-11-27 | 深圳市奥拓电子股份有限公司 | 虚拟图像处理方法、图像处理系统及存储介质 |
CN108733070A (zh) * | 2018-04-11 | 2018-11-02 | 广州亿航智能技术有限公司 | 无人机控制方法及控制系统 |
CN110599549B (zh) * | 2018-04-27 | 2023-01-10 | 腾讯科技(深圳)有限公司 | 界面显示方法、装置及存储介质 |
CN109002248B (zh) * | 2018-08-31 | 2021-07-20 | 歌尔光学科技有限公司 | Vr场景截图方法、设备及存储介质 |
US10569164B1 (en) * | 2018-09-26 | 2020-02-25 | Valve Corporation | Augmented reality (AR) system for providing AR in video games |
CN109523462A (zh) * | 2018-11-14 | 2019-03-26 | 北京奇艺世纪科技有限公司 | 一种vr视频截屏图像的获取方法及装置 |
TWI700000B (zh) * | 2019-01-29 | 2020-07-21 | 威盛電子股份有限公司 | 全景影片影像穩定方法及裝置與影像穩定演算法評估方法 |
CN110087123B (zh) * | 2019-05-15 | 2022-07-22 | 腾讯科技(深圳)有限公司 | 视频文件制作方法、装置、设备及可读存储介质 |
CN110221795B (zh) * | 2019-05-27 | 2021-10-22 | 维沃移动通信有限公司 | 一种屏幕录制方法及终端 |
CN110304270B (zh) * | 2019-06-03 | 2021-01-05 | 宁波天擎航天科技有限公司 | 用于运载火箭的全方位发射控制方法、装置、计算机设备 |
CN110505471B (zh) * | 2019-07-29 | 2021-09-14 | 青岛小鸟看看科技有限公司 | 一种头戴显示设备及其屏幕采集方法、装置 |
CN110874168A (zh) * | 2019-09-30 | 2020-03-10 | 华为技术有限公司 | 一种显示方法及电子设备 |
CN110975277B (zh) * | 2019-12-18 | 2024-01-12 | 网易(杭州)网络有限公司 | 增强现实游戏中信息处理的方法及装置、介质及电子设备 |
CN112188087B (zh) * | 2020-09-10 | 2021-12-03 | 北京为快科技有限公司 | 一种全景视频的截图方法、装置、存储介质和计算机设备 |
-
2021
- 2021-01-25 CN CN202110097842.3A patent/CN114286142B/zh active Active
- 2021-03-16 CN CN202110280846.5A patent/CN114302214B/zh active Active
- 2021-03-17 CN CN202110284754.4A patent/CN114327700A/zh active Pending
- 2021-03-18 CN CN202110292608.6A patent/CN114327034A/zh active Pending
- 2021-03-18 CN CN202110290401.5A patent/CN113064684B/zh active Active
- 2021-04-02 CN CN202110359636.5A patent/CN114296949A/zh active Pending
- 2021-08-25 CN CN202110980427.2A patent/CN113655887A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN114286142B (zh) | 2023-03-28 |
CN113064684A (zh) | 2021-07-02 |
CN114302214B (zh) | 2023-04-18 |
CN114327034A (zh) | 2022-04-12 |
CN114296949A (zh) | 2022-04-08 |
CN114286142A (zh) | 2022-04-05 |
CN114302214A (zh) | 2022-04-08 |
CN114327700A (zh) | 2022-04-12 |
CN113655887A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113064684B (zh) | 一种虚拟现实设备及vr场景截屏方法 | |
CN110636353B (zh) | 一种显示设备 | |
CN111970456B (zh) | 拍摄控制方法、装置、设备及存储介质 | |
CN112732089A (zh) | 一种虚拟现实设备及快捷交互方法 | |
CN112073798B (zh) | 一种数据传输方法及设备 | |
US11917329B2 (en) | Display device and video communication data processing method | |
CN110730340B (zh) | 基于镜头变换的虚拟观众席展示方法、系统及存储介质 | |
CN114302221B (zh) | 一种虚拟现实设备及投屏媒资播放方法 | |
CN113066189B (zh) | 一种增强现实设备及虚实物体遮挡显示方法 | |
CN112929750B (zh) | 一种摄像头调节方法及显示设备 | |
WO2020248829A1 (zh) | 音视频处理方法及显示设备 | |
WO2022193931A1 (zh) | 一种虚拟现实设备及媒资播放方法 | |
WO2022151882A1 (zh) | 虚拟现实设备 | |
WO2022151883A1 (zh) | 虚拟现实设备 | |
CN115129280A (zh) | 一种虚拟现实设备及投屏媒资播放方法 | |
WO2020248682A1 (zh) | 一种显示设备及虚拟场景生成方法 | |
CN112732088B (zh) | 一种虚拟现实设备及单目截屏方法 | |
CN114286077B (zh) | 一种虚拟现实设备及vr场景图像显示方法 | |
CN114286077A (zh) | 一种虚拟现实设备及vr场景图像显示方法 | |
CN114283055A (zh) | 一种虚拟现实设备及图片显示方法 | |
WO2022111005A1 (zh) | 虚拟现实设备及vr场景图像识别方法 | |
CN114327032A (zh) | 一种虚拟现实设备及vr画面显示方法 | |
CN116126175A (zh) | 一种虚拟现实设备及视频内容展示方法 | |
CN114363705A (zh) | 一种增强现实设备及交互增强方法 | |
CN116266090A (zh) | 一种虚拟现实设备及焦点操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |