WO2018126957A1 - 显示虚拟现实画面的方法和虚拟现实设备 - Google Patents

显示虚拟现实画面的方法和虚拟现实设备 Download PDF

Info

Publication number
WO2018126957A1
WO2018126957A1 PCT/CN2017/118907 CN2017118907W WO2018126957A1 WO 2018126957 A1 WO2018126957 A1 WO 2018126957A1 CN 2017118907 W CN2017118907 W CN 2017118907W WO 2018126957 A1 WO2018126957 A1 WO 2018126957A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
window
application
stack
virtual reality
Prior art date
Application number
PCT/CN2017/118907
Other languages
English (en)
French (fr)
Inventor
熊文龙
Original Assignee
北京极维科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 北京极维科技有限公司 filed Critical 北京极维科技有限公司
Priority to CN201780079800.9A priority Critical patent/CN110114746A/zh
Publication of WO2018126957A1 publication Critical patent/WO2018126957A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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

Definitions

  • the present application relates to the field of virtual reality technology, and more particularly, to a method of displaying a virtual reality picture and a virtual reality device.
  • VR technology is a technology that provides users with a 360-degree immersive experience, allowing users to be physically present in an environment.
  • VR technology can construct a virtual three-dimensional scene, such as a hospital, a forest, a family, etc., and then divide the scene into left and right eyes by means of left and right images, so that people can feel the three-dimensional immersion.
  • a virtual three-dimensional scene such as a hospital, a forest, a family, etc.
  • VR can be generally divided into a PC-side VR implemented by a personal computer (PC, Personal Computer) and a mobile terminal VR implemented by combining a mobile terminal.
  • PC personal computer
  • mobile terminal VR implemented by combining a mobile terminal.
  • Most of the current VRs belong to the PC-side VR, and the mobile-side VR is in its infancy.
  • Many applications require developers to re-develop.
  • the massive applications originally developed for the mobile terminal cannot be easily displayed in the VR, and the existing mobile VR is available. In the system, only one application can be run in the foreground.
  • the present application provides a method for displaying a virtual reality picture and a virtual reality device, which can conveniently port an existing application to a virtual reality VR display mode, and enable multiple applications to run in parallel in parallel to improve the user experience.
  • a method for displaying a virtual reality picture comprising: establishing at least two windows in a virtual reality VR interface, at least two windows corresponding to at least two applications, at least two The windows are used to display the display screens of the at least two applications; the at least two task stacks are established, the at least two task stacks are in one-to-one correspondence with the at least two windows, and the first task stack management and the first one of the at least two task stacks are At least one task of the first application corresponding to the window, any one of the at least one task includes a component in a foreground running state, wherein the first task stack corresponds to the first window, and the first task stack is at least two tasks Any one of the stacks in the stack; the components in the foreground running state managed by the at least two task stacks to display the display screen corresponding to the components in the foreground running state on at least two windows.
  • a method for displaying a virtual reality picture by establishing at least two windows, each window is used for displaying a display screen of an application, and each window corresponds to a task stack, and one of the task stacks is in the foreground.
  • a component of the state that not only enables existing applications to be ported to the virtual reality VR presentation module, but also allows multiple applications to be in the foreground.
  • the first one of the at least two tasks includes a first component in a foreground running state, wherein the first task is any one of the at least two tasks; when the first component exits, determining the first Whether the first task corresponding to the component is the last task of the first task stack; if it is determined that the first task is the last task of the first task stack, destroying the first task stack and the first window corresponding to the first task stack Or, if it is determined that the first task is not the last task of the first task stack, the next task of the first task stack is displayed on the first window corresponding to the first task stack.
  • the system resources occupied by the task stack can be released.
  • the second application when detecting that the second application is started, creating an image texture for the display screen of the second application, the second application is any one of the at least two applications; by using the image texture with the second The second window binding corresponding to the application places the image texture on the object model where the second window is located; and displays the display image of the second application on the object model where the second window is located.
  • opening the application is no longer a matter of placing it on the default screen, but placing it on the window created by the invention.
  • the application's screen is not displayed directly on the default screen, but on the textured object model.
  • the display image of the second application updates the image
  • the image updated by the second application is cached into the second window, and the updateable flag bit is set to be true, and the updateable flag bit is used to determine whether to refresh the image.
  • Texture when the updatable flag is true, the texture is refreshed and the updateable flag is updated to false.
  • the third window is activated, and interacts with the third application that is in the foreground running state on the third window, where the third window is at least two Any of the windows.
  • the third window is activated and interacts with the third application that is in the foreground running state on the third window, including: setting a focus variable for the third window; traversing the open window list, searching from the window list A third window having a focus variable, and setting a third window to acquire focus; according to visibility and focus, distributing the interactive event to a third application in the foreground running state on the third window to activate the interactive operation.
  • a virtual reality device comprising means for performing the steps of the first aspect and the methods of the implementations of the first aspect.
  • a virtual reality device comprising a memory and a processor for storing a computer program; the processor for calling and running the computer program from the memory, such that the virtual reality device performs the first aspect and the first aspect Any of the possible ways to achieve this.
  • a computer program product comprising: computer program code, when the computer program code is executed by a processor of the virtual reality device, causing the virtual reality device to perform the first aspect or the first aspect A method in any of the possible implementations.
  • a fifth aspect a computer readable storage medium comprising computer instructions that, when executed on a computer, cause the computer to perform the method of any of the possible implementations of the first aspect or the first aspect .
  • the application creates a window in the virtual reality interface for the application, displays the display screen of the application on the window, and by establishing a hierarchical relationship of the window, not only can the display screen of the application be displayed in the VR interface, but also Multiple application foregrounds can be run in parallel.
  • FIG. 1 is a schematic flowchart of a method of displaying a virtual reality picture according to an embodiment of the present invention
  • FIG. 2 is a display relationship diagram of a native system
  • FIG. 3 is a display relationship diagram in accordance with an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of an activity startup process and an activity startup process in a native system mode according to an embodiment of the present invention
  • FIG. 5 is a schematic diagram of an activity exiting when an activity exits and an activity in a native system mode according to an embodiment of the present invention
  • FIG. 6 is a schematic diagram of a correspondence relationship between an application screen window and a virtual display according to an embodiment of the present invention
  • FIG. 7 is a schematic diagram of an interaction process between an interaction process and a native system mode according to an embodiment of the present invention.
  • FIG. 8 is a schematic block diagram of a virtual reality device according to an embodiment of the present invention.
  • FIG. 9 is a schematic block diagram of a virtual reality system according to an embodiment of the present invention.
  • FIG. 10 is a specific flowchart of the display module 910
  • FIG. 11 is a schematic block diagram of an apparatus for displaying a virtual reality picture according to an embodiment of the present invention.
  • the application mentioned in this application may be an application in a mobile terminal, wherein the type of the mobile terminal is not specifically limited.
  • the mobile terminal may be a terminal device having an Internet access and/or a call function.
  • the mobile terminal can be a mobile phone, a tablet, a head-mounted display (HMD), a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (Personal Digital Assistant). , PDA) and so on.
  • Virtual Reality (VR) technology is a computer simulation system that can create and experience virtual worlds. It uses computer to generate a simulation environment. It is a multi-source information fusion, interactive 3D dynamic vision and entity. System simulation of behavior immerses users in the environment.
  • the virtual reality VR interface mentioned in the present application is a three-dimensional immersive experience established by scenes, objects and characters generated by VR technology, for example, can be produced by 3D software.
  • VR can generally be divided into a PC-side VR implemented in conjunction with a personal computer (PC) and a mobile-side VR implemented in conjunction with a mobile terminal.
  • PC personal computer
  • mobile-side VR implemented in conjunction with a mobile terminal.
  • the mobile VR is in its infancy, and the applications in the mobile VR domain are scarce.
  • the massive applications developed by the mobile terminal cannot be displayed in the VR.
  • Many applications require developers to redevelop or modify, which greatly increases the cost.
  • only one application can be opened in the foreground, for example, the user cannot perform application scenarios such as watching movies and chatting at the same time. Therefore, the embodiment of the present invention focuses on how to enable the application of the mobile terminal to be directly displayed in the VR interface, and at least two applications can be simultaneously opened in the foreground.
  • an application of the mobile terminal is taken as an example for description.
  • the mobile terminal is connected to the VR device.
  • the VR device may be at least one of an eye tracking device, a VR helmet, a VR box, and a mobile intelligent terminal, but is not limited thereto, and any device capable of displaying a VR screen may be It is a VR device.
  • a software program (which may be a system level program of a mobile device or an application level program) is developed for a VR process (hereinafter referred to as a VR system), and a corresponding user display interface is referred to as a VR system desktop.
  • the program that launches the VR system desktop is called the VR system desktop application.
  • the improvement of the hardware performance of the existing mobile device and the limitation of the display screen size, the application displayed on the mobile device is subject to more and more restrictions. Therefore, by VRizing the mobile device system, the VR system can be simultaneously Open multiple applications and place the open applications in the same scene. For example, in a family scene, a video is played on a virtual TV, calendar information is hung on the wall, and a social space is placed in the air. Chat windows, etc., so that users have a better VR experience.
  • FIG. 1 is a schematic flowchart of a method for implementing virtual reality according to an embodiment of the present invention.
  • the method 100 is applied to a virtual reality device and can be executed by a VR system.
  • the method 100 includes steps 110-130, followed by a detailed description of the various steps.
  • At least two applications can be made to be in the foreground running state at the same time.
  • an application in which at least two applications are mobile terminals is taken as an example for description.
  • a mobile terminal includes multiple (one or more) applications, such as a large number of applications on a mobile phone.
  • the VR system is turned on.
  • the VR device and the mobile terminal can be connected based on the user operation, and a VR system desktop is presented on the VR device.
  • the icon of the application in the mobile terminal is displayed on the desktop of the VR system, when the user clicks the corresponding The app's icon opens the app.
  • the system creates at least one virtual display (VD) (ie, an example of a window) in the VR interface for each application, and the VD is used to display the display screen of the application.
  • VD virtual display
  • the display screen of the application is the interface of the application, and the screen on the VD can be freely placed anywhere in the VR interface.
  • At least two VDs correspond to at least two applications, and at least two VDs are used to display a display screen of at least two applications.
  • two VDs are used as an example, and two different applications can be displayed on two VDs.
  • Display screen for example, a VD display WeChat chat interface, a VD display video playback interface; or, two VDs display different display screens of the same application, such as WeChat chat interface and WeChat friends Circle interface.
  • the display screen of each application is displayed to the user on its corresponding VD, and the state between the applications is independent, that is, multiple applications can be in different running states. Among them, these states include, but are not limited to, running, pausing, stopping, and the like.
  • the embodiment of the present invention is described by taking a window as a VD as an example, but the present invention is not limited thereto.
  • the window may also be a virtual screen object created by the SurfaceComposerClinet class that is provided by Android.
  • the method for creating a VD for an application is similar to the prior art, which is not limited by the present invention.
  • the second application when detecting that the second application in the mobile terminal is started, creating an image texture for the display screen of the second application, where the second application is any one of at least two applications in the mobile terminal An application; placing the image texture on the object model on which the second window is located by binding the image texture to the second window corresponding to the second application; displaying the second application on the object model on which the second window is located Display the screen.
  • the specific application screen can also be captured through the PC
  • the embodiment of the present invention is implemented on the mobile device, and the implementation manners of the two are completely different due to the difference of the operating system.
  • a texture object is created for the image of the application through an Open Graphics Library (OpenGL), and the texture object and the embodiment of the present invention are the application
  • OpenGL Open Graphics Library
  • the created texture object is pasted to the specific object model through the VR system desktop application, and is not placed on the default screen (DefaultDisplay) when the application is opened, but is placed in the present invention.
  • the embodiment was created on the VD.
  • the image of the application is not displayed directly on the DefaultDisplay, but on the textured object model.
  • the virtual object in the object model VR scene can be made by 3D software.
  • a texture object may also be created for the application through a multimedia programming interface (Direct eXtension, DX).
  • the display image of the second application updates the image
  • the image updated by the second application is cached into the second window, and the updateable flag is set to true, and the updateable flag is used to determine whether to refresh. Texture; when the updatable flag is true, the texture is refreshed and the updateable flag is updated to false.
  • the at least two task stacks are in one-to-one correspondence with at least two windows, and the first task stack of the at least two task stacks manages at least one task of the first application corresponding to the first window.
  • any one of the at least one tasks includes a component in a foreground running state, wherein the first task stack corresponds to the first window, and the first task stack is any one of the at least two task stacks.
  • multiple applications can be in the state of being running in the foreground at the same time.
  • Display has the following hierarchical relationship:
  • DefaultDisplay->Stack(Multiple)->Task(multiple)->activity(multiple) that is to say, in the default architecture of the native system, one DefaultDisplay contains one or more (more than one) stack (Stack)
  • a Stack contains one or more (more than one) tasks.
  • There is at least one activity in the Task that is, an instance of the component).
  • activity is one of the most basic and most common components of the Android component. It is an application component that provides a screen for users to interact with in order to complete a task.
  • FIG. 2 shows the screen relationship of the native system. It can be seen that the native system has only two stacks by default, one of which is the system stack (HomeStack), the other is the application stack (AppStack), the HomeStack has two Tasks, one is the system desktop application (Launcher Task), another One is the Recent Task.
  • the Launcher Task includes the display of the desktop. In addition to the Launcher Task and the Recent Task, other Tasks in the system are included in the AppStack. Only one activity in each Stack is in the foreground. In this case, multiple programs cannot be run at the same time.
  • FIG. 3 is a schematic flowchart of a display process according to an embodiment of the present invention.
  • VD in order to allow multiple applications to be in a running state at the same time, as described above, multiple VDs are created, one application.
  • the program corresponds to at least one VD, which can be a conventional module of the Android system, reconstructing a new hierarchical relationship according to VD:
  • VD_1 is created for the application_1, VD_1 corresponds to a stack, the stack includes tasks 1, ..., task n; VD_n is created for the application _n, VD_n corresponds to a stack, and the stack includes tasks 1, ..., Task n, that is, each application corresponds to at least one VD, and each VD corresponds to one Stack, and each Stack has an activity in the foreground running state, so that multiple applications can be in the foreground running state at the same time.
  • each task stack manages at least one task of the application corresponding to the task stack, and each task has multiple activities, and only one activity is in the foreground running state.
  • a task stack is a data structure that manages tasks in a manner that stores data related to the task corresponding to the task stack.
  • Display by using at least two components in the foreground running state that are in the foreground running state, display the display screen corresponding to the at least two components in the foreground running state on the at least two windows.
  • the activity (that is, an example of the component) is in the foreground running state, which means that the application corresponding to the activity is also in the foreground running state, and the display screen corresponding to the activity, that is, the display screen of a task in the application corresponding to the activity.
  • the startup process of the activity in the embodiment of the present invention is different from the startup process in the native system mode, as shown in FIG.
  • the task is added to the application stack
  • the method includes:
  • the hierarchical relationship of the VD establishes a Stack on the VD created in step 430, and a non-native Stack is constructed on the VD, and the Stack is not affected by the native Stack (for example, AppStack, HomeStack).
  • the task is added to the corresponding stack.
  • the difference between this step and step 403 in the above native system mode is that the task is added to the corresponding Stack, that is, the Stack established on the VD, not the AppStack. That is to say, a Task can exist on any VD, so that multiple Tasks can be in the running state at the same time.
  • 470 start the activity to return to the state.
  • steps 420-440 are steps that are not found in the native system.
  • each application can be made to correspond to at least one VD, and then multiple applications can be in the foreground running state at the same time.
  • FIG. Figure 5 shows a flow chart of the task exit.
  • the first task of the at least two tasks includes a first activity (ie, an example of the first component) in a foreground running state, where the first task is at least two tasks. Any one of the tasks; when the first activity exits, determining whether the first task corresponding to the first activity is the last task of the first task stack; and when determining that the first task is the last task of the first task stack Destroying the first task stack and the first window corresponding to the first task stack; or, when determining that the first task is not the last task of the first task stack, displaying on the first window corresponding to the first task stack The next task of the first task stack.
  • a first activity ie, an example of the first component
  • embodiments of the present invention support the user's convenient selection and operation of the application they wish to operate by providing the following interactive means.
  • VR interactivity refers to the degree to which a user can manipulate objects in a simulated environment and the degree of natural feedback from the environment.
  • the user and the application interact by detecting the output of the user's virtual reality device or interactive device.
  • the virtual reality device is at least one of an eyeball tracking device, a virtual reality helmet, and a mobile terminal
  • the interaction device is at least one of a helmet, a mouse, a keyboard, and a handle, for example, when the user makes a certain by watching or turning the helmet
  • the application is in an interactive state, the user can operate the application using an interactive device or other interactive device.
  • the third window when it is determined that the gaze point of the user falls on the third window, the third window is activated, and interacts with the third application that is in the foreground running state on the third window, wherein the third window is at least Any of the two windows.
  • each application screen displays an application display screen when the user looks or turns the helmet.
  • the user can activate the application screen and interact with the application running in the foreground on the application screen.
  • the third window is activated and interacts with a third application that is in a foreground running state on the third window, including: setting a focus variable for the third window; traversing the open window list from the window list Finding a third window having a focus variable, and setting a third window to obtain focus; according to visibility and focus, distributing the interactive event to a third application in the foreground running state on the third window to activate the interactive operation.
  • the application screen window there are multiple application screen windows in the VR interface, and the application screen window has a one-to-one correspondence with the VD, as shown in FIG. 6 .
  • the application layer assumes that an application creates n VDs, where n is an integer not less than 1, each VD corresponds to a stack, and at least one task of the application, at the system level, there are multiple application screen windows, Corresponding to a VD, the VD that the user interacts with is the application screen window to which the focus variable is assigned.
  • FIG. 7 illustrates an interaction implementation of a multi-application foreground parallel operation and an interaction in a native system mode according to an embodiment of the present invention.
  • Open application 1 place open application 1 on virtual display 1, set focus to application 1; similarly, open application 2, place open application 2 on virtual display 2, set focus to application 2 ;&; Open application n, place open application n on virtual display n, set focus to application n. Then determine the order in which the application is opened. The default focus corresponds to the application screen window corresponding to the last application.
  • the focus is switched, the focus is set to the VD to which the application screen that needs to be switched belongs, the open application window is traversed according to the VD number, and the window of the application screen running on the top of the stack is found, according to the visibility and the focus. , distribute interactive events.
  • the focus variable in the application screen window management service is set, and then the application screen window management service traverses the open application screen window list. Find the application screen window with the focus variable from the list, set the application screen window to get the focus, and then distribute the interaction event according to the visibility and focus when the interactive event is distributed in the interactive distribution process. Focus on the application to activate interoperable operations.
  • determining a number of the VD where the user's viewpoint is located searching for the application corresponding to the VD according to the number, and performing an interaction operation.
  • the embodiment of the present invention is exemplified by the virtual display module provided by the Android system, but the present invention is not limited thereto.
  • the SurfaceComposerClient class that is provided by the Android system or the virtual display module of the non-Android system may also be used. Create a virtual display and then achieve the same purpose.
  • first”, “second”, “third”, etc. are only for the sake of brevity and convenience, but do not limit the scope of the embodiments of the present invention, for example, “the first window, The second window and the third window are both indicating any one of the plurality of windows in the VR interface.
  • the “first application, the second application, and the third application” are all represented in the plurality of applications. anyone.
  • the existing mobile application can be made all in the VR system desktop with VR.
  • the form is displayed; and it can be technically implemented to support the user's convenient selection and operation of the application that he wants to operate, thereby providing a good user experience.
  • the embodiment of the present invention further provides a virtual reality device.
  • the device 800 includes:
  • the creating module 810 is further configured to establish at least two task stacks, the at least two task stacks are in one-to-one correspondence with the at least two windows, and the first task stack of the at least two task stacks manages the first application corresponding to the first window.
  • At least one task any one of the at least one task includes a component in a foreground running state, wherein the first task stack corresponds to the first window, and the first task stack is any one of the at least two task stacks;
  • the display module is configured to display, by using at least two components in the foreground running state, the display screen corresponding to the at least two components in the foreground running state on the at least two windows.
  • the existing application can be conveniently ported to the VR display mode by modifying the operating system of the mobile terminal.
  • the first one of the at least two tasks includes a first activity (ie, an instance of the first component) in a foreground running state, where the first task is any one of the at least two tasks;
  • the 800 further includes a determining module 830, configured to: when the first activity exits, determine whether the first task corresponding to the first activity is the last task of the first task stack; if it is determined that the first task is the first task The last task of the stack, destroying the first task stack and the first window corresponding to the first task stack; or, if it is determined that the first task is not the last task of the first task stack, corresponding to the first task stack The next task of the first task stack is displayed on the first window.
  • the creating module 810 is further configured to: when detecting that the second application is started, create an image texture for the display screen of the second application, where the second application is in at least two applications in the mobile terminal. Any one of the applications; the display module 820 is specifically configured to: place the image texture on the object model where the second window is located by binding the image texture to the second window corresponding to the second application, and the object in the second window The display of the second application is displayed on the model.
  • the display module 820 is further configured to: when the interface of the second application updates the image, cache the image updated by the second application into the second window, and set the updateable flag bit to be true, and the updateable flag bit Used to determine whether to refresh the texture; when the updatable flag is true, refresh the texture and update the updatable flag to false.
  • the device 800 further includes an interaction module 840, configured to: when determining that the gaze point of the user falls on the third window, activate the third window, and perform the third application that is in the foreground running state on the third window.
  • An interactive operation wherein the third window is any one of at least two windows.
  • the interaction module 840 is specifically configured to: set a focus variable for the third window; traverse the open window list, find a third window having a focus variable from the window list, and set a third window to obtain focus; according to visibility and Focus, the touch event is distributed to the third application in the foreground running state on the third window to activate the interactive operation.
  • Each module or unit in the device 800 is used to perform the operations in the above method 100. Here, in order to avoid redundancy, detailed description thereof will be omitted.
  • the existing mobile application can be all on the VR system desktop. It is displayed in the form of VR; and it can technically support the user to select and operate the application that it wants to operate, thus providing a better user experience.
  • FIG. 9 provides a schematic structural diagram of a virtual reality system 900.
  • System 900 includes a display module 910, a parallel execution module 920, and an interaction module 930. Next, each module will be specifically described.
  • the display module 910 is configured to perform VR processing on the operating system desktop of the mobile device, and paste the display screen of the application on the surface of the virtual object in the VR scene to be placed to form an application screen.
  • the display module 910 is divided into two parts, a production module and a consumption module, the production module creates a VD, opens the application and places it on the VD, so that the application does not directly update to the physical display screen when updating the screen. Up, but update to the VD cache, after the update screen, the production module will set the updateable flag to true.
  • the consumer module creates a texture map through the VR system desktop application and attaches the texture map to the corresponding object model in the scene (ie, the VR interface). Update the texture by detecting the updateable flag bit. If the updateable flag is true, update the cache on the VD to the texture map of the object model, update the updateable flag to false, and then refresh the VR with the updated texture map.
  • the specific flow chart 10 is shown.
  • VD create a VD, that is, create a VD for the application
  • the application updates the screen and caches the picture to the VD;
  • the update flag is true, and then the updateable flag bit is set to detect the updateable flag bit;
  • 1040 Determine the updateable flag bit. If the updateable flag bit is false, return 1035 and continue to detect the updateable flag bit. If the updateable flag bit is true, then next step 1045, update the picture buffered to the VD to the texture. Up and update the flag to false;
  • the parallel running module 920 also referred to as a multi-application foreground parallel running module, is used to implement a technology in which multiple applications are simultaneously running in the foreground, that is, a multi-application foreground parallel running technology.
  • the implementation of the parallel running module 920 is as shown in FIG. 3, that is, a stack is established for each VD, and at least one activity of each VD is in a foreground running state, and an application corresponds to at least one VD, and thus Applications can be in the foreground while running.
  • the parallel running module 920 can perform the methods of FIGS. 3 to 5, and details are not described herein again.
  • the interaction module 930 is configured to flexibly select an application and make it in an interactive state. For example, the user can gaze or turn the helmet to make an application interactive, which can be assisted by devices such as eye tracking or sensors.
  • the interaction module 930 can perform the methods of FIGS. 6-7, and details are not described herein again.
  • FIG. 11 is a schematic structural diagram of an apparatus 1100 for displaying a virtual reality picture according to an embodiment of the present invention.
  • the apparatus 1100 includes a processor 1110 and a memory 1120.
  • the processor 1110 and the memory 1120 are connected by a bus system.
  • the memory 1120 is configured to store instructions
  • the processor 1110 is configured to execute the instructions stored by the memory 1120, so that the device 1100 performs the functions of the foregoing methods or devices.
  • the processor 1110 may be an integrated processor or a separate processor including a central processing unit (CPU) and a graphics processing unit (GPU).
  • the processor 1110 can also be other general purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), off-the-shelf programmable gate arrays (FPGAs) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware. Components, etc.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the memory 1120 can include read only memory and random access memory and provides instructions and data to the processor.
  • a portion of the memory may also include a non-volatile random access memory.
  • the memory can also store information of the device type.
  • the bus system may include a power bus, a control bus, and a status signal bus in addition to the data bus.
  • a power bus may include a power bus, a control bus, and a status signal bus in addition to the data bus.
  • the various buses are labeled as bus systems in the figure.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product.
  • the technical solution of the present application which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present application.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种显示虚拟现实画面的方法和虚拟现实设备(800)。方法包括:在虚拟现实界面中建立至少两个窗口,至少两个窗口对应至少两个应用程序,至少两个窗口用于显示至少两个应用程序的显示画面(110);建立至少两个任务栈,至少两个任务栈与至少两个窗口对应,至少两个任务栈中的第一任务栈管理与第一窗口对应的第一应用程序的至少一个任务,至少一个任务中的任一个任务包括一个处于前台运行状态的组件,第一任务栈与第一窗口对应,第一任务栈是至少两个任务栈中的任意任务栈(120);通过至少两个任务栈中管理的处于前台运行状态的组件,在至少两个窗口上显示至少两个处于前台运行状态的组件对应的显示画面(130)。可以使得多应用程序在VR界面中前台并行运行。

Description

显示虚拟现实画面的方法和虚拟现实设备
本申请要求于2017年01月04日提交中国专利局、申请号为201710005621.2、申请名称为“一种结合移动终端实现虚拟现实的方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及虚拟现实技术领域,并且更具体地,涉及一种显示虚拟现实画面的方法和虚拟现实设备。
背景技术
虚拟现实(Virtual Reality,VR)技术是一种能够提供给用户360度沉浸式体验的技术,让用户能够身临其境的处在某个环境中。具体地,VR技术可以构建一个虚拟的三维场景,例如医院、森林、家庭等,然后将这个场景分为以左右画面的方式分别由人的左右眼进行观察,让人能够感受到三维立体的沉浸式体验。
按照实现系统平台区分,VR一般可以分为结合个人计算机(PC,Personal Computer)实现的PC端VR和结合移动端实现的移动端VR。目前的大多数VR属于PC端VR,移动端VR处于起步阶段,很多应用程序需要开发者重新开发,原来为移动端开发的海量应用不能方便地在VR中展示,且在现有的移动端VR系统中,前台只能运行一个应用程序。
发明内容
本申请提供一种显示虚拟现实画面的方法和虚拟现实设备,能够方便地将现有应用程序移植到虚拟现实VR展示模式,并且使得多应用程序前台并行运行,提高用户体验。
第一方面,提供了一种显示虚拟现实画面的方法,应用于虚拟现实设备,该方法包括:在虚拟现实VR界面中建立至少两个窗口,至少两个窗口对应至少两个应用程序,至少两个窗口用于显示至少两个应用程序的显示画面;建立至少两个任务栈,至少两个任务栈与至少两个窗口一一对应,至少两个任务栈中的第一任务栈管理与第一窗口对应的第一应用程序的至少一个任务,至少一个任务中的任意一个任务包括一个处于前台运行状态的组件,其中,第一任务栈与第一窗口对应,第一任务栈是至少两个任务栈中的任意一个任务栈;通过至少两个任务栈中管理的处于前台运行状态的组件,以在至少两个窗口上显示处于前台运行状态的组件对应的显示画面。
根据本发明实施例的显示虚拟现实画面的方法,通过建立至少两个窗口,每个窗口用于显示应用程序的显示画面,且每个窗口对应一个任务栈,任务栈中都有一个处于前台运行状态的组件,从而不仅使得现有应用程序移植到虚拟现实VR展示模块,而且还可以使得多个应用程序同时处于前台运行状态。
可选地,至少两个任务中的第一任务包括一个处于前台运行状态的第一组件,其中, 第一任务是至少两个任务中的任意一个任务;当第一组件退出时,确定第一组件对应的第一任务是否为第一任务栈的最后的一个任务;如果确定第一任务是第一任务栈的最后的一个任务,销毁第一任务栈和与第一任务栈对应的第一窗口;或者,如果确定第一任务不是第一任务栈的最后的一个任务,在第一任务栈所对应的第一窗口上显示第一任务栈的下一个任务。
通过销毁任务栈和任务栈对应的窗口,可以释放被任务栈占用的系统资源。
可选地,检测到第二应用程序被启动时,为第二应用程序的显示画面创建图像纹理,第二应用程序为至少两个应用程序中的任意一个应用程序;通过将图像纹理与第二应用程序对应的第二窗口绑定,将图像纹理放置在第二窗口所在的物体模型上;在第二窗口所在的物体模型上显示第二应用程序的显示画面。
通过将纹理与窗口绑定,将创建出来的纹理贴到具体的物体模型上,那么打开应用程序时不再是将其放置到默认屏幕上,而是放置到本发明创建出来的窗口上,这样应用程序的画面就不是直接显示到默认屏幕上,而是显示在贴纹理的物体模型上。
可选地,当第二应用程序的显示画面更新图像时,将第二应用程序更新的图像缓存到第二窗口中,并设置可更新标志位为真,可更新标志位用于确定是否刷新该纹理;当可更新标志位为真时,刷新该纹理,并更新该可更新标志位为假。
可选地,确定用户的注视点落在第三窗口上时,激活第三窗口,并与在第三窗口上处于前台运行状态的第三应用程序进行交互操作,其中,第三窗口是至少两个窗口中的任意一个窗口。
可选地,激活第三窗口,并与在第三窗口上处于前台运行状态的第三应用程序进行交互操作,包括:为第三窗口设置焦点变量;遍历打开的窗口列表,从窗口列表中查找具有焦点变量的第三窗口,且设置第三窗口获取焦点;根据可见性和焦点,将交互事件分发给第三窗口上处于前台运行状态的第三应用程序,以激活可交互性操作。
第二方面,提供了虚拟现实设备,包括用于执行上述第一方面及第一方面的各实现方式的方法中的各步骤的模块。
第三方面,提供了虚拟现实设备,包括存储器和处理器,该存储器用于存储计算机程序;该处理器用于从存储器中调用并运行该计算机程序,使得虚拟现实设备执行第一方面及第一方面的任一种可能实现方式中的方法。
第四方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码被虚拟现实设备的处理器运行时,使得虚拟现实设备执行第一方面或第一方面的任一种可能的实现方式中的方法。
第五方面,提供了一种计算机可读存储介质,包括计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如第一方面或第一方面的任一种可能的实现方式中的方法。
本申请通过为应用程序创建虚拟现实界面中的窗口,将该应用程序的显示画面显示在窗口上,并且通过建立窗口的层级关系,不仅可以使得应用程序的显示画面都在VR界面中显示,还可以使得多应用程序前台并行运行。
附图说明
图1是根据本发明实施例的显示虚拟现实画面的方法的示意性流程图;
图2是原生系统的显示关系图;
图3是根据本发明实施例的显示关系图;
图4是根据本发明实施例的activity启动流程与原生系统模式下的activity启动流程的示意图;
图5是根据本发明实施例的activity退出时与原生系统模式下的activity退出时的示意图;
图6是根据本发明实施例的应用屏幕窗口与虚拟显示器的对应关系的示意图;
图7是根据本发明实施例的交互过程与原生系统模式下的交互过程的示意图;
图8是根据本发明实施例的虚拟现实设备的示意性框图;
图9是根据本发明实施例的虚拟现实系统的示意性框图;
图10是显示模块910的具体流程图;
图11是根据本发明实施例的显示虚拟现实画面的装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请提及的应用程序可以是移动终端中的应用程序,其中移动终端的类型不作具体限定。可选地,在一些实施例中,该移动终端可以是具有上网和/或通话功能的终端设备。例如,该移动终端可以是手机、平板电脑、头盔式显示器(head-mounted displays,HMD)、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、上网本、个人数字助理(Personal Digital Assistant,PDA)等。
需要说明的是,本申请提及的应用程序不限于此,任何要VR化展示的应用程序都适用于本申请,本申请实施例以移动终端中的应用程序为例进行说明。
虚拟现实(Virtual Reality,VR)技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。本申请提及的虚拟现实VR界面,则是由VR技术生成的场景、对象及人物而建立的三维沉浸式体验,如,可以通过3D软件制作而成。
VR一般可以分为结合个人计算机(Personal Computer,PC)实现的PC端VR和结合移动终端实现的移动端VR。目前,移动端VR处于起步阶段,移动端VR领域应用程序匮乏,原来移动端开发的海量应用不能在VR中展示,很多应用程序需要开发者重新开发或者修改,大大增加了成本。此外在现有的VR系统中,只能在前台打开一个应用程序,例如,用户无法做到同时看电影和聊天等应用场景。因此,本发明实施例关注的是如何使得移动终端的应用程序可以直接在VR界面中进行展示,且可以在前台同时打开至少两个应用程序。
在本发明实施例中,以移动终端的应用程序为例进行说明。移动终端与VR设备相连,如,可以通过蓝牙连接,VR设备可以是眼球追踪设备、VR头盔、VR盒子和移动智能终端中的至少一个,但不限于此,任何可以显示VR画面的设备都可以是VR设备。
本发明实施例中开发了一套软件程序(可以是移动设备的系统级程序,或应用级程序) 进行VR化处理的系统(以下简称为VR系统),相应的用户显示界面称为VR系统桌面,启动VR系统桌面的程序称为VR系统桌面应用程序。现有移动设备的硬件性能的提升,以及显示屏幕尺寸的限定,移动设备上显示的应用受到的限制越来越大,因此,通过将移动设备的系统进行VR化,可以使得在VR系统里面同时打开多个应用程序,并且将打开的应用程序都放置在同一个场景中,例如,在一个家庭的场景中,虚拟电视中播放着影视视频,墙壁上挂着日历信息,空中悬空放置着一个社交聊天窗口等,从而使得用户有更好的VR体验。
接下来结合图1对本发明实施例进行详细的描述。图1是根据本发明实施例的一种实现虚拟现实的方法的示意性流程图。该方法100应用于虚拟现实设备,可以由VR系统执行。方法100包括步骤110-130,接下来详细地描述各个步骤。
110,在虚拟现实VR界面中建立至少两个窗口,该至少两个窗口对应至少两个应用程序,该至少两个窗口用于显示该至少两个应用程序的显示画面。
通过本发明的实施例,可以使得至少两个应用程序同时处于前台运行状态。
在本发明实施例中,以至少两个应用程序是移动终端中的应用程序为例进行说明。移动终端包括多个(一个以上)应用程序,比如手机上有海量的应用程序。首先开启VR系统,比如,可以基于用户操作,连接VR设备与移动终端,在VR设备上就呈现出一个VR系统桌面,移动终端中的应用程序的图标会在VR系统桌面显示,当用户点击相应应用程序的图标,即可打开相应的应用程序。当用户打开手机上的应用程序时,系统为每个应用程序创建VR界面中的至少一个虚拟显示器(Virtual Display,VD)(即,窗口的一例),该VD用于显示应用程序的显示画面,具体地,应用程序的显示画面即为应用程序的界面,VD上的画面可以自由的放置在VR界面中的任何地方。
至少两个VD对应至少两个应用程序,至少两个VD用于显示至少两个应用程序的显示画面,具体地,以两个VD为例说明,两个VD上可以显示两个不同应用程序的显示画面,如,一个VD显示微信的聊天界面,一个VD显示视频的播放界面;或者,也可以是,两个VD显示同一应用程序的不同的显示画面,如,微信的聊天界面和微信的朋友圈界面。同样的,两个以上的VD也是如此。每个应用程序的显示画面在其对应的VD上显示给用户,且应用程序之间的状态是独立的,也就是说多个应用程序可以处于不同的运行状态。其中,这些状态包括但不限于运行、暂停、停止等。
需要说明的是,本发明实施例以窗口为VD为例进行说明,但本发明不限于此,例如,窗口也可以是安卓自带的SurfaceComposerClinet类创建出的一个虚拟屏幕对象。
为应用程序创建VD的方法与现有技术相似,本发明对此不作限定。
为应用程序创建VD后,需要将应用程序的显示画面显示在VD上,接下来说明如何将应用程序显示在VD上。
作为一个实施例,检测到移动终端中的第二应用程序被启动时,为该第二应用程序的显示画面创建图像纹理,该第二应用程序为移动终端中的至少两个应用程序中的任意一个应用程序;通过将图像纹理与第二应用程序对应的第二窗口绑定,将图像纹理放置在第二窗口所在的物体模型上;在第二窗口所在的物体模型上显示第二应用程序的显示画面。
具体地,虽然也可以通过PC端抓取具体应用画面,而本发明的实施例是在移动设备实现的,由于操作系统的差异,两者的实现方式完全不一样。可选地,检测到移动终端中 的第二应用程序被启动,具体地,可以是检测中央处理器的运行进程等,具体的检测方式与现有技术类似,本发明不作限定。当检测到移动终端中的第二应用程序被启动时,通过开放式图形接口(Open Graphics Library,OpenGL)为应用程序的画面创建纹理对象,并将该纹理对象和本发明实施例为该应用程序创建出来的VD绑定,将创建出来的纹理对象通过VR系统桌面应用程序贴到具体的物体模型上,在打开应用程序时不再将其放置到默认屏幕(DefaultDisplay)上而是放置到本发明实施例创建出来的VD上。这样应用程序的画面就不是直接显示到DefaultDisplay上,而是显示在贴纹理的物体模型上了。
其中,物体模型VR场景中的虚拟物体,该虚拟物体可以是通过3D软件制作而成。
应理解,创建应用程序的显示画面的图像纹理本发明不作限定,例如,也可以通过多媒体编程接口(Direct eXtension,DX)来为应用程序创建纹理对象。
作为一个实施例,当第二应用程序的显示画面更新图像时,将第二应用程序更新的图像缓存到第二窗口中,并设置可更新标志位为真,可更新标志位用于确定是否刷新纹理;当可更新标志位为真时,刷新纹理,并更新可更新标志位为假。
120,建立至少两个任务栈,该至少两个任务栈与至少两个窗口一一对应,至少两个任务栈中的第一任务栈管理与第一窗口对应的第一应用程序的至少一个任务,该至少一个任务中的任意一个任务包括一个处于前台运行状态的组件,其中,该第一任务栈与第一窗口对应,第一任务栈是至少两个任务栈中的任意一个任务栈。
通过本发明实施例,可以使得多个应用程序同时处于前台运行的状态。
为了更好的理解,首先介绍一下原生系统中的屏幕(Display),在原生的安卓(Android)系统中Display有如下的层级关系:
DefaultDisplay->Stack(多个)->Task(多个)->activity(多个),也就是说,在原生系统默认架构中,一个DefaultDisplay下面包含一个或多个(一个以上)栈(Stack),一个Stack下又包含一个或者多个(一个以上)任务(Task),一个Task里面最少有一个活动(activity)(即,组件的一例)。其中,activity是Android组件中最基本也是最为常见的四大组件之一,它是一个应用程序组件,提供一个屏幕,用户可以为了完成某项任务用来交互。
图2示出了原生系统的屏幕关系。可以看出,原生系统默认情况下只有两个Stack,其中一个是系统栈(HomeStack),另一个是应用栈(AppStack),HomeStack里面有两个Task,一个是系统桌面应用(Launcher Task),另一个是最近应用(Recent Task)。Launcher Task就包括桌面的显示。除了Launcher Task和Recent Task,系统中的其他的Task都包括在AppStack里。每个Stack里面只有一个activity处于前台运行状态。这种情况下,实现不了多个程序同时运行。
本发明实施例提供了一种方法可以使得多个应用程序同时前台并行运行,如图3所示。图3示出了根据本发明实施例的显示过程的示意性流程图,在本发明实施例中,为了让多个应用程序同时处于运行的状态,如上面所述,建立多个VD,一个应用程序与至少一个VD对应,VD可以是Android系统的一个常规模块,根据VD重新构建一套新的层级关系:
VD->Stack(单个)->Task(多个)->activity(多个),也就是说,每个VD上建立一个Stack(即,任务栈的一例),该Stack不受原生Stack(如HomeStack、AppStack)的 影响,每个Stack都有一个activity处于前台运行的状态。
具体地,为应用程序_1创建VD_1,VD_1对应一个栈,栈中包括任务1,……,任务n;为应用程序_n创建VD_n,VD_n对应一个栈,栈中包括任务1,……,任务n,即,每个应用程序对应至少一个VD,每个VD对应一个Stack,每个Stack都有一个activity处于前台运行的状态,从而,多个应用程序就可以同时处于前台运行状态。
也就是说,每个任务栈中都管理着与该任务栈对应的应用程序的至少一个任务,每个任务中有多个activity,只有一个activity是处于前台运行的状态。任务栈是一种数据结构,其管理任务的方式可以是存储与该任务栈对应的应用程序关于该任务的相关数据。
130,通过至少两个任务栈中管理的处于前台运行状态的组件,在至少两个窗口上显示至少两个处于前台运行状态的组件对应的显示画面。
使得activity(即,组件的一例)处于前台运行状态,意味着activity对应的应用程序也处于前台运行状态,activity对应的显示画面,即,activity对应的应用程序中的一个任务的显示画面。activity在本发明实施例中的启动流程和在原生系统模式下的启动流程不一样,见图4。
从图4可以看出,在原生系统中,包括:
401,从桌面启动activity;
402,创建新的任务;
403,任务加入到应用栈中;
404,启动activity到重新返回(Resume)状态。
正如前面所述,在原生系统中,除了Launcher Task和Recent Task,系统中的其他的Task都包括在应用栈里,每个应用栈里面只有一个activity处于前台运行状态,继而只有一个应用程序处于前台运行状态。
在本发明实施例中,包括:
410,从桌面启动activity。该步同原生系统模式下相同。
420,取得要启动的屏幕编号。在VR场景中有多个显示屏,每个显示屏都有对应个编号,用户可以决定应用程序显示在具体哪个显示屏上。
430,创建窗口。即,创建VD。
440,在新的窗口下建立栈。如前面描述的VD的层级关系,在步骤430创建出来的VD上建立一个Stack,VD上构建了一个非原生的Stack,该Stack不受原生Stack(比如,AppStack、HomeStack)的影响。
450,创建新的任务。一个Stack里面可以有一个或多个任务。
460,任务加入到相应的栈中。这一步与上述原生系统模式下的步骤403的区别是,该任务时加入到相应的Stack,即,在VD上建立的Stack,而不是AppStack。也就是说一个Task可以存在于任何一个VD上,这样就可以保证多个Task可以同时处于运行的状态。470,启动activity到重新返回状态。
其中,步骤420-440是在原生系统中没有的步骤,通过为应用程序创建VR系统桌面上的VD,可以使得每个应用程序对应至少一个VD,继而多个应用程序可以同时处于前台运行状态。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应 以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上面示例性的描述了如何将应用程序的显示画面显示在VD上,以及activity启动的情况,接下来结合图5介绍关闭任务时的情况。图5示出了任务退出的流程图。
首先,简单的介绍一下在原生系统模式的情形,在原生系统模式下,任务关闭,直接转到桌面任务,桌面任务总是存在的。
在本发明实施例中,可选地,至少两个任务中的第一任务包括一个处于前台运行状态的第一activity(即,第一组件的一例),其中,第一任务是至少两个任务中的任意一个任务;当第一activity退出时,确定第一activity对应的第一任务是否为第一任务栈的最后的一个任务;当确定第一任务是第一任务栈的最后的一个任务时,销毁第一任务栈和与第一任务栈对应的第一窗口;或者,当确定第一任务不是第一任务栈的最后的一个任务时,在第一任务栈所对应的第一窗口上显示第一任务栈的下一个任务。
通过清除栈和相应的窗口,可以释放被任务栈占用的系统资源。
为了提供良好的用户体验,本发明的实施例通过提供下述交互方式支持用户很方便的选中并操作其想要操作的应用程序。
VR的交互性指的是,用户对模拟环境内物体的可操作程度和从环境得到反馈的自然程度。
可选地,通过检测用户的虚拟现实设备或交互设备的输出来使得用户和应用程序进行交互。
可选地,虚拟现实设备为眼球追踪设备、虚拟现实头盔和移动终端中的至少一个,交互设备为头盔、鼠标、键盘、手柄中的至少一个,如,当用户通过注视或者转动头盔使某个应用程序处于交互状态时,用户就可以使用交互设备或者其它交互设备操作该应用程序。
作为一个实施例,确定用户的注视点落在第三窗口上时,激活第三窗口,并与在第三窗口上处于前台运行状态的第三应用程序进行交互操作,其中,第三窗口是至少两个窗口中的任意一个窗口。
具体地,当VR界面打开时,界面中存在多个打开的应用屏幕(即,窗口的一例),每个应用屏幕上都显示着一个应用程序的显示画面,当用户通过注视或者转动头盔的方式落在某个应用屏幕上时,用户就可以激活该应用屏幕,并对该应用屏幕上前台运行的应用程序进行交互操作。
作为一个实施例,激活第三窗口,并与在第三窗口上处于前台运行状态的第三应用程序进行交互操作,包括:为第三窗口设置焦点变量;遍历打开的窗口列表,从窗口列表中查找具有焦点变量的第三窗口,且设置第三窗口获取焦点;根据可见性和焦点,将交互事件分发给第三窗口上处于前台运行状态的第三应用程序,以激活可交互性操作。
具体地,以窗口为应用屏幕窗口为例,在VR界面中有多个应用屏幕窗口,应用屏幕窗口与VD一一对应,如图6所示。在应用层假设为一个应用程序创建n个VD,其中n为不小于1的整数,每个VD都对应一个栈,及至少一个该应用程序的任务,在系统层,有多个应用屏幕窗口,分别对应一个VD,用户进行交互的VD是被分配焦点变量的应用屏幕窗口。
具体的交互实现如图7所示,图7示出了根据本发明实施例的多应用程序前台并行运 行时的交互实现,以及原生系统模式下的交互。
首先,简单的介绍一下原生系统模式下的交互情况。
打开应用程序1,将打开的应用程序1放置在虚拟显示器1,设置焦点到应用程序1;同理,打开应用程序2,将打开的应用程序2放置在虚拟显示器2,设置焦点到应用程序2;……;打开应用程序n,将打开的应用程序n放置在虚拟显示器n,设置焦点到应用程序n。然后判断应用程序的打开顺序,默认焦点会对应最后一个应用程序所对应的应用屏幕窗口。
在本发明实施例中,切换焦点,将焦点设置到需要切换的应用屏幕所属的VD,根据VD编号,遍历打开的应用屏幕窗口,找到运行在栈顶的应用屏幕的窗口,根据可见性和焦点,分发交互事件。
具体地,正常启动应用后,在调用设置焦点的应用接口时,会设置应用屏幕窗口管理服务中的焦点变量,然后应用屏幕窗口管理服务会遍历打开的应用屏幕窗口列表。从列表中找到有焦点变量的应用屏幕窗口,并把此应用屏幕窗口设置为获取焦点,然后在交互的分发进程中分发交互事件的时候,会根据可见性和焦点,把交互事件分发给需要设置焦点的应用程序,以激活可交互性操作。
可以看出,在本发明实施例中,在多应用程序并行运行模式下,用户可以准确快速地进行交互。
可选地,确定用户的视点所在的VD的编号;根据该编号查找VD对应的应用程序,并进行交互操作。
需要说明的是,本发明实施例以Android系统自带的虚拟显示器模块进行示例性说明,但本发明不限于此,例如,也可以使用Android系统自带的SurfaceComposerClient类或非Android系统的虚拟显示器模块创建出一个虚拟显示器,继而达到相同的目的。
应理解,在本发明实施例中,“第一”、“第二”、“第三”等仅仅为了描述简洁方便,但并不对本发明实施例的范围构成限制,例如,“第一窗口、第二窗口、第三窗口”都是表示VR界面中的多个窗口的任意一个,又如,“第一应用程序、第二应用程序、第三应用程序”都是表示多个应用程序中的任意一个。
在本发明实施例中,通过为应用程序创建窗口,将应用程序显示在窗口上,并且使得多个应用程序同时处于前台运行状态,可以使得现有移动端应用程序全部在VR系统桌面中以VR化的形式展示;且在技术上可以实现支持用户方便的选中并操作其想要操作的应用程序,从而可以提供良好的用户体验。
本发明实施例还提供了一种虚拟现实设备,如图8所示,设备800包括:
810,创建模块,用于在虚拟现实VR界面中建立至少两个窗口,至少两个窗口对应至少两个应用程序,至少两个窗口用于显示至少两个应用程序的显示画面;
创建模块810还用于建立至少两个任务栈,至少两个任务栈与至少两个窗口一一对应,至少两个任务栈中的第一任务栈管理与第一窗口对应的第一应用程序的至少一个任务,至少一个任务中的任意一个任务包括一个处于前台运行状态的组件,其中,第一任务栈与第一窗口对应,第一任务栈是至少两个任务栈中的任意一个任务栈;
820,显示模块,用于通过至少两个任务栈中管理的处于前台运行状态的组件,在至少两个窗口上显示至少两个处于前台运行状态的组件对应的显示画面。
通过本发明的实施例,通过对移动终端的操作系统进行修改,可以方便地将现有应用移植到VR展示模式。
可选地,至少两个任务中的第一任务包括一个处于前台运行状态的第一activity(即,第一组件的一例),其中,第一任务是至少两个任务中的任意一个任务;设备800还包括确定模块830,确定模块830用于:当第一activity退出时,确定第一activity对应的第一任务是否为第一任务栈的最后的一个任务;如果确定第一任务是第一任务栈的最后的一个任务,销毁第一任务栈和与第一任务栈对应的第一窗口;或者,如果确定第一任务不是第一任务栈的最后的一个任务,在第一任务栈所对应的第一窗口上显示第一任务栈的下一个任务。
可选地,创建模块810还用于检测到第二应用程序被启动时,为该第二应用程序的显示画面创建图像纹理,该第二应用程序为移动终端中的至少两个应用程序中的任意一个应用程序;显示模块820具体用于:通过将图像纹理与第二应用程序对应的第二窗口绑定,将图像纹理放置在第二窗口所在的物体模型上,在第二窗口所在的物体模型上显示第二应用程序的显示画面。
可选地,显示模块820还用于:当第二应用程序的界面更新图像时,将第二应用程序更新的图像缓存到第二窗口中,并设置可更新标志位为真,可更新标志位用于确定是否刷新该纹理;当可更新标志位为真时,刷新该纹理,并更新该可更新标志位为假。
可选地,设备800还包括交互模块840,用于:确定用户的注视点落在第三窗口上时,激活第三窗口,并与在第三窗口上处于前台运行状态的第三应用程序进行交互操作,其中,第三窗口是至少两个窗口中的任意一个窗口。
可选地,交互模块840具体用于:为第三窗口设置焦点变量;遍历打开的窗口列表,从窗口列表中查找具有焦点变量的第三窗口,且设置第三窗口获取焦点;根据可见性和焦点,将触摸事件分发给第三窗口上处于前台运行状态的第三应用程序,以激活可交互性操作。
该设备800中各模块或单元分别用于执行上述方法100中的动作,这里,为了避免赘述,省略其详细说明。
在本发明实施例中,通过为应用程序创建窗口,将应用程序的显示画面显示在窗口上,并且使得多个应用程序同时处于前台运行状态,可以使得现有移动端应用程序全部在VR系统桌面中以VR化的形式展示;且在技术上可以实现支持用户方便的选中并操作其想要操作的应用程序,从而可以提供更好的用户体验。
图9提供了一种虚拟现实系统900的示意性结构图。系统900包括显示模块910,并行运行模块920,交互模块930。接下来具体地描述各个模块。
显示模块910,用于对移动设备端的操作系统桌面进行VR化处理,并且将应用程序的显示画面贴在需要放置的VR场景中的虚拟物体的表面上,形成一个应用屏幕。
作为一个实施例,显示模块910分为两部分,生产模块和消费模块,生产模块创建VD,打开应用程序并将其放置到VD上,这样应用程序更新画面的时候不会直接更新到物理显示屏幕上,而是更新到VD的缓存中,更新完画面后,生产模块会设置可更新标志位为真。消费模块通过VR系统桌面应用创建纹理贴图,并将该纹理贴图贴在场景(即,VR界面)中的对应物体模型上。通过检测可更新标志位来更新纹理,如果可更新标志位 为真就将VD上的缓存更新到物体模型的纹理贴图上,并更新可更新标志位为假,然后使用更新后的纹理贴图刷新VR界面中物体模型上的画面。具体流程图10所示。
在生成模块,1005,创建VD,即,为应用程序创建VD;
1010,打开应用程序并将应用程序放置在VD上;
1015,应用程序更新画面,并将画面缓存到VD;
1020,更新标志位为真,然后置位可更新标志位,检测可更新标志位;
1025,使用VR系统桌面应用程序创建一张纹理贴图;
1030,将创建出来的纹理贴到场景中的某个物体模型上;
1035,检测可更新标志位;
1040,判断可更新标志位,如果可更新标志位为假,则返回1035,继续检测可更新标志位,如果可更新标志位为真,则下一步1045,将缓存到VD上的画面更新到纹理上,并更新标志位为假;
1050,使用纹理刷新图像,继而再回到1035,检测可更新标志位。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
并行运行模块920,也称为多应用程序前台并行运行模块,用于实现多应用程序同时处于前台运行的技术,即多应用程序前台并行运行技术。
具体地,并行运行模块920的实现如图3所示,即,为每个VD建立一个Stack,每个VD至少有一个activity处于前台运行的状态,而一个应用程序又对应至少一个VD,这样多个应用程序可以同时处于前台运行的状态。并行运行模块920可以执行图3至图5的方法,此处不再赘述。
交互模块930,用于灵活选择应用程序并使其处于交互状态。例如:用户可以通过眼球注视或转动头盔使某个应用程序处于交互状态,上述技术可通过眼球追踪或传感器等装置辅助实现。交互模块930可以执行图6至图7的方法,此处不再赘述。
图11是根据本发明实施例的一种显示虚拟现实画面的装置1100的结构示意图。
如图11所示,该装置1100包括:处理器1110和存储器1120。其中,处理器1110和存储器1120通过总线系统相连,存储器1120用于存储指令,该处理器1110用于执行该存储器1120存储的指令,使得装置1100执行上述各个方法或设备的功能。
还应理解,在本发明实施例中,该处理器1110可以是包含中央处理单元(Central Processing Unit,CPU)和图形处理单元(Graphics Processing Unit,GPU)的集成处理器或分离的处理器,该处理器1110还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1120可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
该总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (13)

  1. 一种显示虚拟现实画面的方法,其特征在于,应用于虚拟现实设备,所述方法包括:
    在虚拟现实VR界面中建立至少两个窗口,所述至少两个窗口对应至少两个应用程序,所述至少两个窗口用于显示所述至少两个应用程序的显示画面;
    建立至少两个任务栈,所述至少两个任务栈与所述至少两个窗口一一对应,所述至少两个任务栈中的第一任务栈用于管理与第一窗口对应的第一应用程序的至少一个任务,所述至少一个任务中的任意一个任务包括一个处于前台运行状态的组件,其中,所述第一任务栈与所述第一窗口对应,所述第一任务栈是所述至少两个任务栈中的任意一个任务栈;
    通过所述至少两个任务栈中管理的处于前台运行状态的组件,以在所述至少两个窗口上显示至少两个所述处于前台运行状态的组件对应的显示画面。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述至少两个任务中的第一任务包括一个处于前台运行状态的第一组件,其中,所述第一任务是所述至少两个任务中的任意一个任务;
    当所述第一组件退出时,确定所述第一组件对应的所述第一任务是否为所述第一任务栈的最后的一个任务;
    如果确定所述第一任务是所述第一任务栈的最后的一个任务,销毁所述第一任务栈和与所述第一任务栈对应的所述第一窗口;或者
    如果确定所述第一任务不是所述第一任务栈的最后的一个任务,在所述第一任务栈对应的所述第一窗口上显示所述第一任务栈的下一个任务。
  3. 根据权利要求1或2所述的方法,其特征在于,所述在所述至少两个窗口上显示至少两个所述处于前台运行状态的组件对应的显示画面,包括:
    检测到第二应用程序被启动时,为所述第二应用程序的显示画面创建图像纹理,所述第二应用程序为所述至少两个应用程序中的任意一个应用程序;
    通过将所述图像纹理与所述第二应用程序对应的第二窗口绑定,将所述图像纹理放置在所述第二窗口所在的物体模型上;
    在所述第二窗口所在的物体模型上显示所述第二应用程序的显示画面。
  4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    当所述第二应用程序的显示画面更新图像时,将所述第二应用程序更新的图像缓存到所述第二窗口中,并设置可更新标志位为真,所述可更新标志位用于确定是否刷新所述纹理;
    当所述可更新标志位为真时,刷新所述纹理,并更新所述可更新标志位为假。
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
    确定用户的注视点落在第三窗口上时,激活所述第三窗口,并与在所述第三窗口上处于前台运行状态的第三应用程序进行交互操作,其中,所述第三窗口是所述至少两个窗口中的任意一个窗口。
  6. 根据权利要求5所述的方法,其特征在于,所述激活所述第三窗口,并与在所述 第三窗口上处于前台运行状态的第三应用程序进行交互操作,包括:
    为所述第三窗口设置焦点变量;
    遍历打开的窗口列表,从所述窗口列表中查找具有所述焦点变量的所述第三窗口,且设置所述第三窗口获取焦点;
    根据可见性和焦点,将交互事件分发给所述第三窗口上处于前台运行状态的第三应用程序,以激活可交互性操作。
  7. 一种虚拟现实设备,其特征在于,所述虚拟现实设备包括:
    创建模块,用于在虚拟现实VR界面中建立至少两个窗口,所述至少两个窗口对应至少两个应用程序,所述至少两个窗口用于显示所述至少两个应用程序的显示画面;
    所述创建模块还用于建立至少两个任务栈,所述至少两个任务栈与所述至少两个窗口一一对应,所述至少两个任务栈中的第一任务栈用于管理与第一窗口对应的第一应用程序的至少一个任务,所述至少一个任务中的任意一个任务包括一个处于前台运行状态的组件,其中,所述第一任务栈与所述第一窗口对应,所述第一任务栈是所述至少两个任务栈中的任意一个任务栈;
    显示模块,用于通过所述至少两个任务栈中管理的处于前台运行状态的组件,以在所述至少两个窗口上显示至少两个所述处于前台运行状态的组件对应的显示画面。
  8. 根据权利要求7所述的虚拟现实设备,其特征在于,所述至少两个任务中的第一任务包括一个处于前台运行状态的第一组件,其中,所述第一任务是所述至少两个任务中的任意一个任务;
    所述虚拟现实设备还包括确定模块,所述确定模块用于:
    当所述第一组件退出时,确定所述第一组件对应的所述第一任务是否为所述第一任务栈的最后的一个任务;
    如果确定所述第一任务是所述第一任务栈的最后的一个任务,销毁所述第一任务栈和与所述第一任务栈对应的所述第一窗口;或者
    如果确定所述第一任务不是所述第一任务栈的最后的一个任务,在所述第一任务栈所对应的所述第一窗口上显示所述第一任务栈的下一个任务。
  9. 根据权利要求7或8所述的虚拟现实设备,其特征在于,所述创建模块还用于:检测到第二应用程序被启动时,为所述第二应用程序的显示画面创建图像纹理,所述第二应用程序为所述至少两个应用程序中的任意一个应用程序;
    所述显示模块具体用于:
    通过将所述图像纹理与所述第二应用程序对应的第二窗口绑定,将所述图像纹理放置在所述第二窗口所在的物体模型上,在所述第二窗口所在的物体模型上显示所述第二应用程序的显示画面。
  10. 根据权利要求9所述的虚拟现实设备,其特征在于,所述显示模块还用于:
    当所述第二应用程序的显示画面更新图像时,将所述第二应用程序更新的图像缓存到所述第二窗口中,并设置可更新标志位为真,所述可更新标志位用于确定是否刷新所述纹理;
    当所述可更新标志位为真时,刷新所述纹理,并更新所述可更新标志位为假。
  11. 根据权利要求7至10中任一项所述的虚拟现实设备,其特征在于,所述虚拟现 实设备还包括交互模块,用于:
    确定用户的注视点落在第三窗口上时,激活所述第三窗口,并与在所述第三窗口上处于前台运行状态的第三应用程序进行交互操作,其中,所述第三窗口是所述至少两个窗口中的任意一个窗口。
  12. 根据权利要求11所述的虚拟现实设备,其特征在于,所述交互模块具体用于:
    为所述第三窗口设置焦点变量;
    遍历打开的窗口列表,从所述窗口列表中查找具有所述焦点变量的所述第三窗口,且设置所述第三窗口获取焦点;
    根据可见性和焦点,将交互事件分发给所述第三窗口上处于前台运行状态的第三应用程序,以激活可交互性操作。
  13. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,所述程序使得计算机执行如权利要求1-6中任一项所述的方法。
PCT/CN2017/118907 2017-01-04 2017-12-27 显示虚拟现实画面的方法和虚拟现实设备 WO2018126957A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201780079800.9A CN110114746A (zh) 2017-01-04 2017-12-27 显示虚拟现实画面的方法和虚拟现实设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710005621.2 2017-01-04
CN201710005621 2017-01-04

Publications (1)

Publication Number Publication Date
WO2018126957A1 true WO2018126957A1 (zh) 2018-07-12

Family

ID=62789202

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/118907 WO2018126957A1 (zh) 2017-01-04 2017-12-27 显示虚拟现实画面的方法和虚拟现实设备

Country Status (2)

Country Link
CN (1) CN110114746A (zh)
WO (1) WO2018126957A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347305A (zh) * 2019-05-30 2019-10-18 华为技术有限公司 一种vr多屏显示方法及电子设备
CN110377260A (zh) * 2019-08-29 2019-10-25 湖北亿咖通科技有限公司 一种多屏显示系统及方法
CN110519628A (zh) * 2019-09-20 2019-11-29 青岛海信移动通信技术股份有限公司 一种画中画显示方法以及显示设备
CN110716780A (zh) * 2019-09-23 2020-01-21 广州视源电子科技股份有限公司 界面的显示方法和装置
CN110851226A (zh) * 2019-11-13 2020-02-28 联想(北京)有限公司 一种控制方法及电子设备
CN112379808A (zh) * 2020-12-01 2021-02-19 腾讯科技(深圳)有限公司 窗口控制方法、装置、设备及介质
CN113689231A (zh) * 2021-07-23 2021-11-23 泰康保险集团股份有限公司 一种业务整合方法、装置、电子设备及可读存储介质
CN114257852A (zh) * 2020-09-25 2022-03-29 华为技术有限公司 基于vr场景的视频预览方法、电子设备和存储介质
WO2023236515A1 (zh) * 2022-06-10 2023-12-14 北京凌宇智控科技有限公司 一种应用程序显示方法、装置及计算机可读存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061549A (zh) * 2019-12-03 2020-04-24 西安闻泰电子科技有限公司 基于安卓的多任务管理方法、智能终端及存储介质
CN111766945B (zh) * 2020-06-05 2023-07-25 维沃移动通信有限公司 界面显示方法及装置
CN114115618B (zh) * 2020-08-28 2022-12-09 荣耀终端有限公司 一种应用窗口显示方法与电子设备
CN114691248B (zh) * 2020-12-25 2024-04-12 华为技术有限公司 显示虚拟现实界面的方法、装置、设备和可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105472441A (zh) * 2015-12-31 2016-04-06 中科创达软件股份有限公司 虚拟现实设备的图像处理方法及装置
CN105892630A (zh) * 2015-11-02 2016-08-24 乐视致新电子科技(天津)有限公司 列表内容显示方法及装置
US20160343315A1 (en) * 2015-05-18 2016-11-24 Oculus Vr, Llc Stacked display panels for image enhancement
CN106201222A (zh) * 2016-08-09 2016-12-07 深圳市金立通信设备有限公司 一种虚拟现实界面的显示方法及终端
CN106250017A (zh) * 2016-07-26 2016-12-21 努比亚技术有限公司 一种移动终端及多任务管理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160343315A1 (en) * 2015-05-18 2016-11-24 Oculus Vr, Llc Stacked display panels for image enhancement
CN105892630A (zh) * 2015-11-02 2016-08-24 乐视致新电子科技(天津)有限公司 列表内容显示方法及装置
CN105472441A (zh) * 2015-12-31 2016-04-06 中科创达软件股份有限公司 虚拟现实设备的图像处理方法及装置
CN106250017A (zh) * 2016-07-26 2016-12-21 努比亚技术有限公司 一种移动终端及多任务管理方法
CN106201222A (zh) * 2016-08-09 2016-12-07 深圳市金立通信设备有限公司 一种虚拟现实界面的显示方法及终端

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3971696A4 (en) * 2019-05-30 2022-07-20 Huawei Technologies Co., Ltd. VR MULTI-SCREEN DISPLAY METHOD AND ELECTRONIC DEVICE
CN110347305A (zh) * 2019-05-30 2019-10-18 华为技术有限公司 一种vr多屏显示方法及电子设备
WO2020238874A1 (zh) * 2019-05-30 2020-12-03 华为技术有限公司 一种vr多屏显示方法及电子设备
US11829521B2 (en) 2019-05-30 2023-11-28 Huawei Technologies Co., Ltd. VR multi-screen display method and electronic device
CN110377260A (zh) * 2019-08-29 2019-10-25 湖北亿咖通科技有限公司 一种多屏显示系统及方法
CN110377260B (zh) * 2019-08-29 2024-01-05 亿咖通(湖北)技术有限公司 一种多屏显示系统及方法
CN110519628A (zh) * 2019-09-20 2019-11-29 青岛海信移动通信技术股份有限公司 一种画中画显示方法以及显示设备
CN110716780A (zh) * 2019-09-23 2020-01-21 广州视源电子科技股份有限公司 界面的显示方法和装置
CN110851226A (zh) * 2019-11-13 2020-02-28 联想(北京)有限公司 一种控制方法及电子设备
CN114257852A (zh) * 2020-09-25 2022-03-29 华为技术有限公司 基于vr场景的视频预览方法、电子设备和存储介质
CN112379808B (zh) * 2020-12-01 2023-08-22 腾讯科技(深圳)有限公司 窗口控制方法、装置、设备及介质
CN112379808A (zh) * 2020-12-01 2021-02-19 腾讯科技(深圳)有限公司 窗口控制方法、装置、设备及介质
CN113689231A (zh) * 2021-07-23 2021-11-23 泰康保险集团股份有限公司 一种业务整合方法、装置、电子设备及可读存储介质
WO2023236515A1 (zh) * 2022-06-10 2023-12-14 北京凌宇智控科技有限公司 一种应用程序显示方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN110114746A (zh) 2019-08-09

Similar Documents

Publication Publication Date Title
WO2018126957A1 (zh) 显示虚拟现实画面的方法和虚拟现实设备
JP7476292B2 (ja) 複合現実システムにおいて仮想コンテンツを管理および表示する方法およびシステム
EP4087258A1 (en) Method and apparatus for displaying live broadcast data, and device and storage medium
US10957107B2 (en) Snapping, virtual inking, and accessibility in augmented reality
US11113078B2 (en) Video monitoring
US20180349622A1 (en) Ad hoc target based photograph sharing
WO2022089273A1 (zh) 视频通话的互动方法和装置
US11175791B1 (en) Augmented reality system for control boundary modification
CN113268212A (zh) 投屏方法、装置、存储介质及电子设备
US10698744B2 (en) Enabling third parties to add effects to an application
WO2019080720A1 (zh) 一种合演图谱的展示、提供方法、客户端及服务器
US20230105621A1 (en) Extended reality content navigation
US11107129B1 (en) Dynamic media content for in-store screen experiences
CN114090188A (zh) 基于安卓系统虚拟化的实现独立多用户系统的方法及应用
KR20230137936A (ko) 교차 애플리케이션 가상 현실 설정에서의 적응 가능한개인 사용자 인터페이스
US10740785B2 (en) Splitting and merging advertisements to a plurality of devices
US11948254B2 (en) Parallel presentation platform with extended reality
US11386872B2 (en) Experiencing a virtual object at a plurality of sizes
US20230221797A1 (en) Ephemeral Artificial Reality Experiences
US10930077B1 (en) Systems and methods for rendering augmented reality mapping data
US20220101002A1 (en) Real-world object inclusion in a virtual reality experience
EP3389049B1 (en) Enabling third parties to add effects to an application
CN116360906A (zh) 交互控制方法、装置、头戴显示设备及介质
KR20230171147A (ko) 발표자 참여형 3d 콘텐츠 생성 방법, 장치 및 시스템
CN115730161A (zh) 多媒体内容的显示方法、装置及设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17889938

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17889938

Country of ref document: EP

Kind code of ref document: A1