WO2022048677A1 - Vr application design method and system based on cloud mobile phone - Google Patents

Vr application design method and system based on cloud mobile phone Download PDF

Info

Publication number
WO2022048677A1
WO2022048677A1 PCT/CN2021/116834 CN2021116834W WO2022048677A1 WO 2022048677 A1 WO2022048677 A1 WO 2022048677A1 CN 2021116834 W CN2021116834 W CN 2021116834W WO 2022048677 A1 WO2022048677 A1 WO 2022048677A1
Authority
WO
WIPO (PCT)
Prior art keywords
design
cloud
rendering
terminal
video stream
Prior art date
Application number
PCT/CN2021/116834
Other languages
French (fr)
Chinese (zh)
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 华为云计算技术有限公司
Publication of WO2022048677A1 publication Critical patent/WO2022048677A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs

Definitions

  • the present application relates to the field of cloud computing technologies, and in particular, to a design method, system, device, and computer-readable storage medium based on a cloud mobile phone.
  • VR is also called virtual environment.
  • VR generates a three-dimensional virtual world through computational simulation, and provides users with a simulation of vision and other senses. When users perform certain actions, they can adjust the virtual world through calculation, so that users feel as if they are in the real world.
  • VR equipment can generate a virtual design environment, and designers can interact with both hands in this virtual design environment. In addition, designers can also perform human-computer interaction with other personnel in the virtual design environment to complete the design collaboratively, which can greatly improve design efficiency and design quality.
  • the above-mentioned virtual design environment supports a limited number of people participating in the design, usually 8 to 10 people, which is difficult to meet business needs.
  • the present application provides a design method and design system based on a cloud mobile phone.
  • a cloud mobile phone set on the network side to render video streams in the cloud
  • the advantages of the cloud mobile phone's computing power that can be elastically scaled can be fully utilized.
  • offloading work such as rendering that consumes a lot of computing power to the cloud phone can reduce the hardware specification requirements of the terminal, save costs, and have high availability.
  • the cloud mobile phone is set on the network side, and the cloud mobile phone on the network side renders the video stream, which can give full play to the advantages of the computing power of the cloud mobile phone and can achieve on-demand rendering.
  • the rendering work that consumes a lot of computing power is offloaded to the cloud phone, which can reduce the hardware specification requirements of the terminal, save costs, and have high availability.
  • the rendering resource refers to a resource for rendering video
  • the rendering resource may be a graphics processing unit (graphics processing unit, GPU).
  • Cloud phones can be implemented through containers in physical servers.
  • the physical server includes software resources and hardware resources.
  • the hardware resources of different physical servers can be virtualized to form a physical resource pool.
  • rendering resources such as GPUs in different physical servers can be virtualized to obtain a rendering resource pool that supports dynamic allocation, flexible scheduling, and cross-domain sharing.
  • the cloud phone can schedule the rendering resources in the rendering resource pool for video stream rendering. Specifically, the cloud phone can obtain a target number of rendering resources from the rendering resource pool according to the running process of the design application, and then the cloud phone can use the rendering resources to render the video stream according to the running process of the design application. In this way, cloud mobile phones can accurately provide rendering resources for rendering based on the consumption of rendering capabilities, and meet various performance requirements.
  • the rendering capabilities of different types of rendering resources may be different.
  • the rendering capabilities of the GPU of the x86 architecture and the GPU of the advanced RISC machine (ARM) architecture are different.
  • the cloud phone can also determine the type and quantity of rendering resources required for rendering according to the running process of the design application, and then obtain the rendering resources of the target type and the target quantity from the rendering resource pool. In this way, the rendering capabilities of different types of rendering resources can be fully utilized to meet the rendering requirements of different business scenarios.
  • the number of rendering resources scheduled by the cloud phone is related to the number of terminals participating in the collaborative design.
  • the cloud phone can obtain a target number of rendering resources from the rendering resource pool according to the design application running process and the number of terminals. In this way, it is possible to support different numbers of users for collaborative design through the elastic scaling of rendering resources.
  • the cloud VR service consumes huge bandwidth resources under the X86 architecture
  • a single user usually needs 50Mbps to 100Mbps of bandwidth resources.
  • bandwidth is reduced, thereby reducing costs and facilitating large-scale commercial use.
  • the cloud phone can generate a cloud rendering instruction stream and a terminal rendering instruction stream according to the design application running process, wherein the cloud rendering instruction stream includes at least one cloud rendering instruction, the terminal rendering instruction stream includes at least one terminal rendering instruction, and the cloud rendering instruction indicates Rendering is performed in the cloud, and client-side rendering instructions are rendered on the client-side.
  • the cloud mobile phone can render the video stream according to the cloud rendering instruction stream to obtain the first rendered video stream.
  • the cloud phone sends the first rendering video stream and the end rendering instruction stream to at least one client.
  • the end-rendering instruction stream is used to instruct at least one client to render a video stream according to the end-rendering instruction stream to obtain a second rendered video stream.
  • At least one client can be specifically configured to combine the first rendered video stream and the second rendered video stream to obtain a third rendered video stream, and then display the design image on the design interface according to the third rendered video stream. This reduces bandwidth, which in turn reduces costs.
  • the cloud phone can generate a cloud rendering instruction stream according to the information that the rendering calculation amount is greater than the calculation amount threshold during the design application running process, and generate the end rendering instruction stream according to the information that the rendering calculation amount is less than or equal to the calculation amount threshold value during the design application running process. In this way, while reducing the bandwidth, it also ensures that the end-side can render the video stream normally, providing users with a better experience.
  • the proportion of background information is usually low, and generally requires more rendering resources. Therefore, the cloud mobile phone can generate a cloud rendering instruction stream according to the background information during the running process of the design application, and according to the design application The action information in the running process generates the end rendering instruction stream. This can effectively reduce bandwidth, thereby reducing costs.
  • the terminal includes a virtual reality terminal or a flat terminal.
  • virtual reality terminals include PC VR terminals and mobile VR terminals, such as VR helmets, VR glasses and other equipment.
  • Flat terminals include devices such as smartphones and tablet computers.
  • the system supports multi-type devices, especially common plane terminals, to participate in collaborative design, meeting the needs of different business scenarios. Moreover, users do not need to configure special equipment, which reduces the cost.
  • the interaction information includes at least one of motion information and location information.
  • the user can trigger the collaborative design through gestures or other physical actions.
  • the virtual reality terminal can obtain the motion information and position information, and provide the above motion information and position information to the cloud phone for rendering to obtain a video stream, thereby realizing Support virtual reality terminals to participate in collaborative design.
  • the interaction information includes an operation instruction.
  • the user can perform design operations through the flat terminal, for example, by touching or stylus touch, and the flat terminal receives the design operation and provides corresponding operation instructions to the cloud mobile phone, so that the cloud mobile phone can perform the operation according to the operation instructions.
  • the video stream is obtained by rendering, so as to support the participation of flat terminals in collaborative design.
  • the at least one client receives the interface data stream sent by the cloud phone, generates a design interface according to the interface data stream, and displays the design interface on the at least one terminal;
  • the cloud phone receives at least one interaction information sent by one or any combination of the at least one client, runs a design application according to the at least one interaction information, and renders a video stream according to the design application running process; wherein the interaction
  • the information comes from a design operation triggered by one of the at least one client or any combination of users through the design interface displayed on the respective terminal being operated;
  • the at least one client receives the video stream, and displays a design picture on the design interface according to the video stream.
  • the cloud phone uses the rendering resource to render the video stream according to the design application running process.
  • the cloud phone obtains a target number of rendering resources from the rendering resource pool according to the design application running process, including:
  • the cloud phone acquires the rendering resources of the target type and the target quantity from the rendering resource pool.
  • the cloud phone obtains a target number of rendering resources from the rendering resource pool according to the design application running process, including:
  • the cloud phone acquires a target number of rendering resources from the rendering resource pool according to the running process of the design application and the number of the terminals.
  • the cloud phone renders the video stream according to the design application running process, including:
  • the cloud mobile phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to the design application running process
  • the at least one client renders a video stream according to the end rendering instruction stream to obtain a second rendered video stream;
  • the at least one client combines the first rendered video stream and the second rendered video stream to obtain a third rendered video stream;
  • a design picture is displayed on the design interface according to the third rendered video stream.
  • the cloud phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to the design application running process, including:
  • the cloud rendering instruction stream is generated according to the information that the rendering calculation amount is greater than the calculation amount threshold during the running process of the design application, and the end rendering instruction stream is generated according to the information that the rendering calculation amount is less than or equal to the calculation amount threshold value during the running process of the design application.
  • the cloud phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to the design application running process, including:
  • the terminal includes a virtual reality terminal or a flat terminal.
  • the interaction information includes at least one of motion information and location information.
  • the interaction information when the terminal includes a flat terminal, includes an operation instruction.
  • the present application provides a design method based on a cloud phone.
  • the method is applied to the first terminal.
  • the first terminal sends a design application start request, and the design application start request is used to instruct to start the design application on the cloud mobile phone
  • the first terminal receives the interface data stream sent by the cloud mobile phone, and generates the above-mentioned design reference according to the interface data stream.
  • Design the interface display the design interface, then the first terminal sends the first interaction information to the cloud mobile phone, receives the video stream obtained by the cloud mobile phone running the design application according to the first interaction information, and rendering the design application according to the running process of the design application.
  • the design interface displays the design screen.
  • the first terminal receives the first rendered video stream rendered by the cloud phone according to the cloud rendering instruction stream, and receives the end rendering instruction stream, wherein the cloud rendering instruction stream and the end rendering instruction stream are based on the cloud phone rendering instruction stream.
  • the first interactive information is obtained by running the design application and rendered according to the running process of the design application. Then, the first terminal renders the video stream according to the end rendering instruction stream, obtains the second rendered video stream, and combines the first rendered video stream and the second rendered video stream to obtain the third rendered video stream. Correspondingly, the first terminal displays the design picture on the design interface according to the third rendered video stream.
  • the present application provides a design method based on a cloud phone.
  • the method is applied to the first terminal.
  • the second terminal receives the interface data stream sent by the cloud mobile phone, generates a design interface referenced by the design according to the interface data stream, and displays the design interface, and then the second terminal sends the second interaction information to the cloud mobile phone, and receives the cloud mobile phone according to the second interaction information.
  • the interactive information runs the design application, and renders the obtained video stream according to the running process of the design application, and displays the design screen on the design interface according to the video stream.
  • the second terminal receives the first rendered video stream rendered by the cloud mobile phone according to the cloud rendering instruction stream, and receives the end rendering instruction stream, wherein the cloud rendering instruction stream and the end rendering instruction stream are based on the cloud phone rendering instruction stream.
  • the second interactive information runs the design application, and is rendered according to the design application running process.
  • the second terminal renders the video stream according to the end rendering instruction stream, obtains the second rendered video stream, and combines the first rendered video stream and the second rendered video stream to obtain the third rendered video stream.
  • the second terminal displays the design picture on the design interface according to the third rendered video stream.
  • the present application provides a design method based on a cloud phone.
  • the method is applied to cloud mobile phones.
  • the cloud phone sends an interface data stream to the first terminal and the second terminal, and the interface data stream is used to generate a design interface, and then the cloud phone receives the first interaction information sent by the first terminal and the second interaction information sent by the second terminal.
  • the first interaction information comes from the design operation triggered by the user of the first terminal through the design interface
  • the second interaction information comes from the design operation triggered by the user of the second terminal through the design interface
  • the cloud mobile phone according to the first interaction information and
  • the second interactive information runs the design application, renders the video stream according to the running process of the design application, and then the cloud mobile phone sends the video stream to the first terminal and the second terminal.
  • the cloud phone renders the video stream according to the design application running process, including:
  • the cloud phone obtains a target number of rendering resources from the rendering resource pool according to the design application running process
  • the cloud phone uses the rendering resource to render the video stream according to the design application running process.
  • the cloud phone obtains a target number of rendering resources from the rendering resource pool according to the design application running process, including:
  • the cloud phone determines the type and quantity of rendering resources required for rendering according to the design application running process
  • the cloud phone obtains a target number of rendering resources from the rendering resource pool according to the design application running process, including:
  • the cloud phone acquires a target number of rendering resources from the rendering resource pool according to the design application running process and the number of the terminals.
  • the cloud phone renders the video stream according to the design application running process, including:
  • the cloud mobile phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to the design application running process
  • the cloud mobile phone sends the video stream to the first terminal and the second terminal, including:
  • the method also includes:
  • the cloud phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to the design application running process, including:
  • the cloud rendering instruction stream is generated according to the background information during the running process of the design application, and the end rendering instruction stream is generated according to the action information during the running process of the design application.
  • the present application further provides a first client.
  • the first client includes various modules for executing the method in the third aspect or any possible implementation manner of the third aspect.
  • the present application further provides a cloud mobile phone.
  • the cloud phone includes various modules for executing the method in the fifth aspect or any possible implementation manner of the fifth aspect.
  • the sixth aspect or any implementation manner of the sixth aspect is implemented by a device corresponding to the third aspect or any implementation manner of the third aspect, and the descriptions in the third aspect or any implementation manner of the third aspect are applicable to the third aspect or any implementation manner of the third aspect.
  • the sixth aspect or any implementation manner of the sixth aspect will not be repeated here.
  • the eighth aspect or any implementation manner of the eighth aspect is implemented by a device corresponding to the fifth aspect or any implementation manner of the fifth aspect, and the description in the fifth aspect or any implementation manner of the fifth aspect is applicable to the eighth aspect Or any implementation manner of the eighth aspect, which is not repeated here.
  • the present application provides a second terminal, where the second terminal includes a processor and a memory.
  • the processor and the memory communicate with each other.
  • the processor is configured to execute the instructions stored in the memory, so that the second terminal executes the method in the fourth aspect or any one of the implementation manners of the fourth aspect.
  • the present application provides a cloud phone, where the cloud phone includes a processor and a memory.
  • the processor and the memory communicate with each other.
  • the processor is configured to execute the instructions stored in the memory, so that the cloud mobile phone executes the method in the fifth aspect or any one of the implementation manners of the fifth aspect.
  • the present application provides a computer-readable storage medium, where an instruction is stored in the computer-readable storage medium, and the instruction instructs a first terminal to execute the third aspect or any implementation manner of the third aspect the method described.
  • the present application provides a computer-readable storage medium, where an instruction is stored in the computer-readable storage medium, and the instruction instructs a second terminal to execute the fourth aspect or any implementation manner of the fourth aspect the method described.
  • the present application provides a computer program product containing instructions, which when run on a cloud mobile phone, enables the cloud mobile phone to execute the method described in the fifth aspect or any one of the implementation manners of the fifth aspect.
  • the present application may further combine to provide more implementation manners.
  • FIG. 1 is a schematic diagram of the system architecture of a design system based on a cloud phone provided by an embodiment of the present application;
  • FIG. 2 is a schematic diagram of a system architecture of a data center according to an embodiment of the present application
  • FIG. 3 is a schematic structural diagram of a design application provided by an embodiment of the present application.
  • 5a to 5e are schematic interface diagrams of a first terminal according to an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a rendering resource pool provided by an embodiment of the present application.
  • FIG. 7a to 7e are schematic interface diagrams of a third terminal according to an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a first terminal according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a second terminal according to an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a server according to an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of a first client according to an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of a second client according to an embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of a cloud mobile phone according to an embodiment of the present application.
  • first and second in the embodiments of the present application are only used for the purpose of description, and cannot be understood as indicating or implying relative importance or implying the number of indicated technical features. Thus, a feature defined as “first” or “second” may expressly or implicitly include one or more of that feature.
  • Cloud phone A cloud service with a mobile phone operating system running on a physical server and a virtual phone function.
  • the cloud service is usually implemented by using a container. The essence is to transfer the application on the mobile phone to the container running in the physical server of the data center.
  • the container isolates different cloud mobile phones from each other without interfering with each other.
  • the cloud mobile phone can install mobile phone applications, these mobile phone applications run in the cloud mobile phone, and the audio and video streams generated during the running process can be sent to the local mobile phone for display and playback.
  • the control commands generated by the local mobile phone according to the audio and video streams displayed and played locally can also be sent to the cloud mobile phone.
  • the cloud mobile phone controls the running state of the application according to the control command.
  • the mobile phone application of the local mobile phone can be transferred to the cloud mobile phone in the data center.
  • the local mobile phone does not need to install a large number of mobile phone applications that consume a lot of hardware resources, such as 2D or 3D games, industry design software, etc. Lightweight.
  • the mobile phone application runs on the cloud mobile phone, the local mobile phone does not require high hardware configuration to allow users to have the opportunity to use mobile phone applications with high hardware configuration requirements, so there is no need to replace the local mobile phone due to higher hardware requirements.
  • the cloud mobile phone can also be implemented by using a virtual machine, which is not limited in this embodiment of the present application.
  • VR virtual reality
  • virtual environment is a virtual world that simulates a three-dimensional space through computing equipment, provides users with a simulation of vision and other senses, and makes users feel as if they are in the real world. Observe things in three-dimensional space. When the user moves, the computing device can immediately perform complex calculations, sending back an accurate 3D image of the world to create a sense of presence.
  • the cloud phone receives at least one interaction information sent by one or any combination of at least one client, runs a design application according to the at least one interaction information, and renders a video stream according to the design application running process; wherein the at least one interaction information comes from A design operation triggered by one or any combination of users in at least one client through the design interface;
  • the cloud phone sends a video stream to at least one client, so that the at least one client displays a design screen on the design interface according to the video stream.
  • the embodiments of the present application utilize the cloud mobile phone to render video streams in the cloud, so that at least one client can display a design screen in the design interface according to the video stream.
  • it can support the online collaborative design of a large number of users; on the other hand, offloading work such as rendering that consumes a lot of computing power to the cloud phone can reduce the hardware specification requirements of the terminal, save costs, and have high availability.
  • the design system of the embodiment of the present application includes a first terminal 21 , a second terminal 22 , a third terminal 23 , and a data center 200 that access the network 150 .
  • the first terminal 21, the second terminal 22, and the third terminal 23 are installed with clients for designing applications, which are the first client, the second client, and the third client, respectively, the first client, the second client, and the The third client establishes a connection with the data center 200 and performs data interaction.
  • the client runs on the terminal, and the actions performed by the client in this embodiment of the present application may be considered to be performed by the terminal running the client.
  • the data center 200 is located on the network side, and a cloud mobile phone resource pool 100 and a cloud mobile phone management node 101 are set in the data center 200 .
  • the cloud mobile phone resource pool 100 includes at least one cloud mobile phone, for example, may include a cloud mobile phone 102, a cloud mobile phone 103, . . .
  • Design applications are installed in at least one cloud phone.
  • design application 1, design application 2, design application 3 and design application 4 are installed in the cloud phone 102
  • design application 5 is installed in the cloud phone 103.
  • Design applications 1 to 5 may be architectural design applications, decoration design applications, integrated circuit design applications, clothing design applications, advertising design applications, and the like.
  • the terminal may be, for example, a VR terminal, such as a PC VR terminal, or a mobile VR terminal such as VR glasses and VR helmets.
  • the terminal may also be, for example, a flat terminal such as a tablet computer, a personal digital assistant, and a notebook computer.
  • the above terminal is provided with a voice collection device and a camera.
  • the first terminal 21 is a VR terminal, such as a VR helmet
  • the second terminal 22 is a flat terminal, such as a large-screen display system used in conference rooms and classrooms
  • the third terminal 23 is a portable flat terminal, such as a smart phone. Example description.
  • At least one user who designs a project forms a user group, for example, user 11 , user 12 , and user 13 in FIG. 1 form a user group.
  • Any user in the user group can use the client running on his terminal.
  • user 11 can start the collaborative design through the first client running on the terminal 21.
  • the cloud mobile phone such as cloud mobile phone 103 generates a interface data stream, and send the interface data stream to the client corresponding to each user of the user group, so that each client of the user group, such as the first client, the second client, and the third client, generates the design interface according to the interface data stream .
  • the cloud phone 103 runs the design application according to the interaction information, such as running the design application 5, and renders the video stream according to the running process of the design application, and then sends the video stream to the client corresponding to each user of the user group, the first client, the second client
  • the terminal and the third client display the design picture in the design interface according to the video stream.
  • FIG. 2 is a schematic diagram of a system architecture of a data center 200 according to an embodiment of the present application.
  • the data center 200 includes a cloud mobile phone management node 101 and a cloud mobile phone resource pool 100 , wherein , the cloud mobile phone resource pool 100 includes a plurality of physical servers 110, 120, .
  • each server in the cloud mobile phone resource pool 100 includes hardware resources and software resources, and the hardware resources include hardware devices common to servers such as network cards, processors, memory, etc., wherein the processors may include a central processing unit (central processing unit). , CPU) and graphics processing unit (graphics processing unit, GPU).
  • a server may include at least one CPU and at least one GPU.
  • FIG. 2 illustrates that a server includes multiple CPUs and multiple GPUs.
  • the software resources include a server operating system, at least one container running on the server operating system, and a cloud mobile phone management node agent module.
  • the cloud mobile phone 102 in FIG. 1 can be implemented by the container 103 in FIG. 2 .
  • the mobile phone operating system is installed in the container 103, and the design applications 1-4 run on the mobile phone operating system; the cloud mobile phone 103 in FIG.
  • the container 102 in FIG. 2 is implemented, and a mobile phone operating system is also installed in the container 102, and the design application 5 runs on the mobile phone operating system.
  • Design applications 1 to 4 and design application 5 are isolated by the container.
  • the cloud mobile phone management agent node agent module implements the full life cycle management of the container, and can be used to monitor and collect the container information of the server, and report the server information to the cloud mobile phone management node 101 in real time.
  • the cloud phone management agent node agent module 1011 on the server 110 can monitor and collect the container information of the server 110, the cloud phone management agent node agent module 1011 receives the cloud phone control command sent by the cloud phone management node 101, and the cloud phone management
  • the proxy node proxy module 1011 can control the working state of the container 102 and the container 103 on the server 110 according to the cloud mobile phone control command.
  • the cloud mobile phone management proxy node proxy module 1012 is also used to receive the cloud mobile phone control command sent by the cloud mobile phone management node 101.
  • the mobile phone management proxy node proxy module 1011 can control the working status of the container 104 and the container 105 on the server 120 according to the cloud mobile phone control command.
  • the cloud phone shares hardware resources and operating systems with other cloud phones on the server in the form of containers.
  • Each container can include the applications required by the cloud phone and the dependent resources required by each application, and the dependent resources required by the application. It can be the core library and system library in the previous content.
  • each cloud phone and other cloud phones share the server's hardware resources and operating system.
  • hardware resources of different servers can be virtualized to form a resource pool.
  • rendering resources such as GPUs of different servers can be virtualized to form a rendering resource pool that supports dynamic allocation, flexible scheduling, and cross-domain sharing.
  • each container does not have its own kernel
  • the application process in the container runs directly on the server's kernel
  • each cloud phone can run directly on the server hardware independently of each other, creating an independent sandbox running environment for applications.
  • the cloud phone management node and the cloud phone management agent node agent module deployed on each server can be implemented based on container management systems such as Kubernetes and Docker.
  • the cloud phone may also be implemented by a virtual machine, which is not limited in this application.
  • FIG. 3 is a schematic structural diagram of a design application according to an embodiment of the present application.
  • the design application 1 includes a design module and a rendering module.
  • the design module is used to construct a model. Taking the construction of a three-dimensional (3D) model as an example, the design module can collect model parameters, process the model parameters, and then map them to construct a 3D model.
  • the rendering module is used to render the video stream according to the 3D model.
  • the video stream includes at least a picture stream (also referred to as an image stream), and the picture stream can be used to generate a design picture, such as a 3D picture of a design object.
  • the design application 1 may also include a speech processing module.
  • the voice processing module is used for receiving the voice of at least one client, and synchronizing the voice of the client to other clients, so as to realize user communication.
  • the audio stream corresponding to the voice may be independent of the above-mentioned picture stream.
  • the cloud phone may send the audio stream and the picture stream to the client respectively.
  • the audio stream corresponding to the voice can also be mixed with the picture stream to render a video stream including the audio stream.
  • the design application 1 may further include a rights management module.
  • the authority management module is used to manage the design authority of each user.
  • the rights management module can provide read and write rights for several users in the user group, or provide read-only rights for users in the user group.
  • the read-write permission means that you can participate in the design
  • the read-only permission means that you can watch the design process, but do not perform design operations.
  • the rights management module is also used to manage and schedule the control rights of users with read and write rights.
  • the user may send a request for obtaining control authority through the client, and the authority management module assigns the control authority to the user in response to the request.
  • the user can perform a "write" operation, specifically a design operation, through the design interface, so as to perform an online collaborative design.
  • the authority management module may provide control authority for one user at the same time, and may also provide control authority for multiple users at the same time, which is not limited in this embodiment of the present application.
  • the above-mentioned rendering module, language processing module, and rights management module may also be independent from the design application, and corresponding functions can be implemented through independent applications.
  • the management and scheduling of control rights can be realized through an independent rights management application.
  • FIG. 4 is an interaction flow chart of a design method based on a cloud phone according to an embodiment of the present application.
  • the design method in an embodiment of the present application includes the following steps:
  • S101 The first client sends a design application startup request to the cloud mobile phone management service node 101.
  • the design application start request includes an identifier of the design application, and is used to start the corresponding design application.
  • the design application launch request may also include a user identification.
  • the user identification includes at least the identification of the user who triggered the start operation of the design application. Further, the user identification may also include identifications of other users participating in the design.
  • the first client may also send the user identification after the design application is launched, or after the design document is opened or created.
  • FIGS. 5 a to 5 b are schematic diagrams of screen display images of the first terminal 21 according to an embodiment of the present application.
  • the user 11 wears the first terminal 21, the first terminal 21 has a head-mounted display device (referred to as a head-mounted display), and the main display interface of the head-mounted display is provided with the first client's icon, the user 11 can trigger the icon of the first client through physical actions, such as gestures, and the first terminal 21 starts the first client in response to the operation, and establishes a connection with the cloud phone management service node 101 .
  • the cloud phone management service node 101 may return a list of applications installed on the cloud phone managed by the cloud phone management service node 101 to the first client, such as an application list including design applications 1 to 7.
  • the first client displays icons of each application in the application list on the cloud mobile phone application management interface according to the application list returned by the cloud mobile phone management service node 101 .
  • the user 11 can trigger the icon of the application through a gesture, thereby triggering the operation of starting the application.
  • the user 11 can trigger the icon of the design application 1 through a gesture, thereby triggering the operation of starting the design application 1 .
  • the first client generates a design application start request, and sends the design application start request to the cloud mobile phone management service node 101 .
  • the design application startup request includes the identifier of the design application, for example, the name of the design application 1 , thereby instructing to start the design application 1 .
  • the design application start request also includes user identifications, for example including identifications of user 11 , user 12 and user 13 .
  • the cloud mobile phone management service node 101 is used to manage at least one cloud mobile phone.
  • the cloud phone management service node 101 stores the correspondence between at least one cloud phone managed by the cloud phone and an application installed on the cloud phone. For example, the corresponding relationship between the cloud phone 102 and the design applications 1 to 4, and the corresponding relationship between the cloud phone 105 and the design application 5.
  • the cloud phone management service node 101 can determine the cloud phone where the design application requested to be started is located according to the design application identifier in the design application startup request and the corresponding relationship between the cloud phone and the application installed on the cloud phone. For example, when the design application requested to be started is the design application 1, the cloud mobile phone management service node 101 may determine that the cloud mobile phone where the design application 1 is located is the cloud mobile phone 102 according to the corresponding relationship.
  • the embodiment of the present application only uses the cloud mobile phone 102 as an example.
  • the cloud mobile phone management service node 101 may also send the design application start request to other cloud mobile phones.
  • the cloud phone management service node 101 may send the design application activation request to the cloud phone 103.
  • S104 The cloud phone 102 starts a design application (for example, design application 1), and generates an instance of the design application.
  • design application for example, design application 1
  • Design applications are applications or software used to implement design functions.
  • the program code of the design application is statically stored in an external memory such as a disk, and when the design application is started, the program code of the design application is loaded into the memory to generate a corresponding process. This process can be viewed as an instance of a design application.
  • the cloud phone 102 allows an instance of the design application to be generated. For this reason, when multiple users need to start the design application for collaborative design, the clients of multiple users can connect to different cloud mobile phones respectively, and obtain the control authority of the corresponding cloud mobile phone, and then start the cloud mobile phone according to the control authority. Design applications, resulting in corresponding instances. In this way, the isolation of instances of design applications is achieved through different cloud phones.
  • the address may specifically be a network address (Internet Protocol address, IP address), and the port may specifically be a communication port or a protocol port.
  • IP address Internet Protocol address
  • the address and port are relevant information used to establish a connection with the instance.
  • the first client, the second client and the third client respectively establish connections with the instance of the design application according to the address and port of the above instance.
  • the instance of the design application may also authenticate the user who requests to access the instance, and after the authentication is passed, establish a connection with the corresponding client. Wherein, the instance of the design application can perform legality verification according to the user ID of the user who requests to access the instance, so as to realize the authentication.
  • the instance of the design application may also be authenticated through a password, a verification code, or other information that can be used to verify an identity, which is not limited in this embodiment of the present application.
  • a design document creation request is used to request the creation of a new design document.
  • the design document may be a blank design document or a design document loaded with a template. In some cases, designing with a template-loaded design document can improve design efficiency.
  • the first client may also request to open an existing design document. For example, for a certain design project, the first client may request to open the most recently saved design document for the design project, so as to continuously design based on the design document.
  • the instance of the design application can return the interface data stream corresponding to the main interface of the design application to the corresponding client, so that the client can generate the design application according to the data stream.
  • Main interface As shown in 1104 in FIG. 5c, the main interface of the design application displays a list of recently used design documents, specifically including document 1 to document N. In addition, the main interface of the design application also displays blank documents and templates.
  • the user can click on any document in the list of design documents to request that the document be opened in order to continue designing based on that document.
  • the user can also click on the blank document or click on any one of the template documents such as Template 1, Template 2, etc., to request the creation of a new design document.
  • S110 The first client, the second client and the third client generate a design interface according to the interface data stream.
  • the user 11 can trigger the icon of the blank document through a gesture to request the creation of a new blank document.
  • the instance of the design application 1 on the cloud phone 102 creates a new blank document according to the request, and generates an interface data flow of the design interface of the design document.
  • the clients of the user 11, the user 12, and the user 13 generate the design interface shown as 1105 in FIG. 5d according to the interface data flow.
  • the design interface includes toolbars, such as menu tools and shape tools.
  • the menu tools include menu keys such as start, insert, and design, and the shape tools include various shortcut shapes.
  • the design interface also includes a blank design area, and users can drag and drop shortcut shapes in the shape tool, such as "room”, “window” and other shapes, to the design area for home improvement design.
  • S111 The first client sends interaction information 1 to the instance of the design application on the cloud phone 102.
  • S112 The second client sends interaction information 2 to the instance of the design application on the cloud phone 102.
  • the third client sends interaction information 3 to the instance of the design application on the cloud phone 102.
  • the user can trigger the design operation through the design interface of the respective client.
  • the user can trigger the design operation in different ways.
  • the terminal is a flat terminal such as a mobile phone, a tablet computer, a notebook computer, a desktop computer, etc.
  • the user can trigger the design operation by means of touch, a keyboard and a mouse, or the like.
  • the terminal is a VR terminal such as a VR helmet, VR glasses, etc.
  • the user can trigger the design operation through body movements (such as gestures, etc.).
  • the client can obtain interaction information according to the design operation triggered by the user.
  • the interaction information may include operation instructions generated based on a user's touch operation or keyboard and mouse operation, such as an operation instruction for adding a wall and an operation instruction for adding a window.
  • the interaction information may include at least one of motion information and position information determined based on the user's body movements.
  • the motion information may include at least one of motion type, motion range, and the like.
  • the position information may include the positions of the feature points, such as the starting position of the finger movement and the ending position of the finger movement.
  • the design information obtained by different clients may be different.
  • the first client obtains the interaction information 1, sends the interaction information 1 to the instance of the design application on the cloud phone 102
  • the second client obtains the interaction information 2
  • the third client obtains the interaction information 2.
  • the client obtains the interaction information 3, and sends the interaction information 3 to the instance of the designed application on the cloud phone.
  • the client may send interaction information to the instance of the design application after obtaining the control authority assigned by the instance of the design application.
  • the client can assign a control permission to a user at the same time, when the user stops the operation, the control permission is released, and the user or other users can request the instance of the design application to assign the control permission again. This can effectively prevent conflicting operations or repeated operations.
  • the client can also assign control permissions to multiple users at the same time, so that multiple users can trigger design operations at the same time, thereby improving design efficiency.
  • the first client, the second client, and the third client send interaction information to an instance of designing an application on the cloud mobile phone 102 for illustration, and other possible implementation manners in the embodiment of the present application , it may also be that some clients send interaction information to the instance of the application designed on the cloud phone 102 .
  • other users such as user 12 and user 13 explain how to design through voice, and user 11 triggers a corresponding design operation according to the voice content.
  • S114 The cloud phone 102 runs the instance of the design application according to the interaction information, and renders the video stream according to the running process of the design application.
  • the instance of the design application on the cloud phone 102 may run the design application according to the interaction information 1, the interaction information 2, and the interaction information 3, for example, an instance of running the design application.
  • different interaction information corresponds to different design application running processes.
  • the cloud phone 102 can perform modeling according to the running process of the design application, and then perform image rendering based on the model information obtained from the modeling, specifically, performing image rendering on consecutive multi-frame images, thereby obtaining a video stream.
  • rendering can be understood as the processing of images to conform to the 3D scene.
  • the camera in the 3D scene is first positioned.
  • a rendering module or a rendering application provides a default camera, which is a camera corresponding to a top view, a front view, a side view, and a perspective view, respectively.
  • the rendering module or rendering application obtains the range to be rendered through the camera, calculates the influence of the light source on the object, and then the rendering module or rendering application calculates the color of the surface of the object according to the material of the object.
  • different types of materials, different properties, and different textures can produce different visual effects.
  • the cloud phone can obtain a target number of rendering resources from the rendering resource pool according to the running process of the design application, and then use the rendering resources to render the video stream according to the running process of the design application.
  • the rendering resource refers to a resource used for image rendering, and may specifically be a processor, such as a graphics processor GPU.
  • the rendering resources (such as GPU) provided by the hardware device (such as a server) where the cloud phone is located can be pooled to form a rendering resource pool, thereby realizing unified scheduling management of rendering resources.
  • the server can virtualize rendering resources such as GPUs to redefine and divide rendering resources, and obtain a rendering resource pool that can support dynamic allocation, flexible scheduling, and cross-domain sharing.
  • the rendering resource pool includes a redefined virtual graphics processing unit (virtual graphics processing unit, vGPU).
  • vGPU virtual graphics processing unit
  • the instance of the design application on the cloud phone (for example, the rendering module in the instance) can select different numbers of vGPUs from the rendering resource pool for rendering according to different rendering objects. For example, for object A, 2*3 vGPUs may be selected from the rendering resource pool for rendering, and for object B, 4*4 vGPUs may be selected from the rendering resource pool for rendering.
  • the running process of the design application can indicate the objects to be rendered, and the cloud phone can determine the number of rendering resources (for example, the target number) required for rendering according to the running process of the design application, obtain the rendering resources of the target number from the rendering resource pool, and then According to the design application running process, use the target number of rendering resources to render the video stream.
  • the number of rendering resources for example, the target number
  • the instance of the design application can also determine the rendering resources required for rendering according to the running process of the design application. The type and quantity of the target, and then get the target type and target number of rendering resources from the rendering resource pool.
  • vGPUs of different colors in Figure 6 represent different types of vGPUs, and an instance of a design application on a cloud phone can obtain a first number of vGPUs of the first type and a second number of vGPUs of the second type according to the running process of the design application vGPU for rendering video streams.
  • the cloud phone may also obtain a target number of rendering resources from the rendering resource pool in combination with the number of terminals according to the design application running process.
  • the cloud phone can obtain more rendering resources for screen rendering to support the online collaborative design of a large number of users.
  • the cloud phone can also obtain the target type and target number of rendering resources from the rendering resource pool in combination with the terminal type, so as to be used for screen rendering.
  • the terminals include mobile phones, tablet computers, desktop computers, VR helmets, VR glasses, etc.
  • the cloud phone can also obtain a set of target types and target number of rendering resources for different types of terminals.
  • Cloud VR services consume huge bandwidth resources under the X86 architecture, a single user usually needs 50Mbps to 100Mbps bandwidth resources.
  • Cloud mobile phones can also use the compatibility of ARM instructions on the device side and the cloud side to reduce bandwidth through device-cloud collaborative rendering. This reduces costs and facilitates large-scale commercial use.
  • the cloud phone splits the rendering process according to the running process of the design application, specifically generating a cloud rendering instruction stream and a terminal rendering instruction stream, and the cloud phone (specifically, an instance of the design application on the cloud phone) according to the cloud rendering instruction stream , call the corresponding rendering resource to render the video stream, and obtain the first rendered video stream.
  • the cloud mobile phone (specifically, the instance of the design application on the cloud mobile phone) sends the first rendering video stream and the terminal rendering instruction stream to at least one client, and the client side of the terminal can call the corresponding rendering resource rendering according to the terminal rendering instruction stream. video stream, thereby obtaining the second rendered video stream.
  • At least one client can combine the first rendered video stream and the second rendered video stream to obtain a third rendered video stream, where the third rendered video stream is a fully rendered video stream. At least one client can display a design picture on the design interface according to the third rendered video stream.
  • the cloud phone (specifically, the instance of the design application on the cloud phone) can generate a cloud rendering instruction stream according to the information that the rendering calculation amount is greater than the calculation amount threshold during the running process of the design application, and according to the design application running process.
  • the information for which the rendering calculation amount is less than or equal to the calculation amount threshold generates a side rendering instruction stream.
  • background information usually consumes a large amount of computation
  • the cloud phone (specifically, the instance of the design application on the cloud phone) can generate a cloud rendering instruction stream according to the background information during the running process of the design application, and according to the running process of the design application
  • the action information in generates a stream of side rendering instructions.
  • S115 The cloud phone 102 sends a video stream to the first client, the second client and the third client.
  • the first client, the second client, and the third client display a design picture on the design interface according to the video stream.
  • the cloud phone 102 can use a set of rendering resources to render the video stream, and distribute the video stream to different clients, such as the first client, the second client and the third client, each client receives the same video stream, so It can be displayed on the same screen on different clients.
  • the first client, the second client, and the third client receive the video stream, and can perform de-IP, decoding, and pre-display processing, and then display the design screen on the design interface.
  • the design screen is specifically the screen presented by the design object. , users can conduct real-time communication on the design screen through the voice call function to achieve collaborative design.
  • the first client, the second client, and the third client receive a video stream, and display a design screen in the design interface shown in 1105 in Fig. 5e according to the video stream.
  • the first client can display the 3D design screen shown in 1106 in FIG. 5e in the design interface shown in 1105 in FIG. 5e according to the video stream.
  • the cloud phone 102 may use multiple sets of rendering resources to render video streams for different types of terminals, respectively, and distribute the video streams to the clients of the corresponding terminals, for example, send video stream 1 to the first client , and send the video stream 2 to the second client and the third client, so that each client can display a corresponding design screen on the design interface according to the video stream received by each client, and perform collaborative design based on the design screen.
  • the embodiments of the present application provide a design method based on a cloud mobile phone.
  • the method is based on the advantage that the computing power of the cloud mobile phone can be elastically scaled, and the cloud mobile phone is used to render the video stream in the cloud, so that at least one client can display the design screen in the design interface according to the video stream.
  • it can support online collaborative design for a large number of users; on the other hand, offloading work such as rendering that consumes a lot of computing power to the cloud phone can reduce the hardware specification requirements of the terminal, save costs, and have high availability.
  • the method can support multiple types of terminals, such as VR terminals such as VR glasses and VR helmets, as well as flat terminals such as mobile phones and tablets, without the need to configure special equipment, which meets the needs of different users and provides users with a better experience.
  • the user can complete the collaborative design by using the mobile terminal, and under the permission of the network conditions, the collaborative design work can be carried out anytime and anywhere.
  • FIG. 4 mainly shows the process of multi-user online collaborative design from the perspective of the first terminal 21 , and then shows the multi-user online coordination from the perspective of other types of terminals such as the second terminal 22 or the second terminal 23 in conjunction with the accompanying drawings. design process. Considering that both the second terminal 22 and the third terminal 23 are flat terminals, the embodiment of the present application uses the third terminal 23 as an example for description.
  • FIGS. 7a to 7e are schematic diagrams of screen display images of the third terminal 23 according to an embodiment of the present application.
  • the icon of the third client is set in the main display interface of the third terminal 23.
  • the third client After the user 13 clicks the icon of the third client, the third client starts and communicates with the cloud mobile phone management service node. 101 A connection is established.
  • the cloud mobile phone management service node 101 may return a list of applications installed on the cloud mobile phone managed by the cloud mobile phone management service node 101 to the third client, such as an application list including design applications 1 to 7.
  • the design application startup request includes the identifier of the design application, for example, the name of the design application 1 , thereby instructing to start the design application 1 .
  • the design application startup request also includes user identifications, for example including identifications of user 13 , user 12 and user 11 .
  • the cloud mobile phone management service node 101 receives the design application start request, and determines the cloud mobile phone where the design application requested to be started is located according to the corresponding relationship between at least one cloud mobile phone managed by the cloud mobile phone and the application installed on the cloud mobile phone. For example, when the design application requested to be started is the design application 1, the cloud mobile phone management service node 101 may determine that the cloud mobile phone where the design application 1 is located is the cloud mobile phone 102 according to the above corresponding relationship.
  • the cloud mobile phone management service node 101 may route the design application start request to the cloud mobile phone 102 .
  • the cloud phone 102 starts the design application according to the design application start request, for example, starts the design application 1 to generate an instance of the design application 1 .
  • the design application startup request includes the identifiers of user 13, user 12, and user 11, the cloud phone 102 can send messages to the first client, the second client, and the third client according to the identifiers of user 13, user 12, and user 11, respectively. Returns the address and port of the instance.
  • the first client, the second client, and the third client establish connections with the instance of the design application 1 according to the address and port of the instance, respectively.
  • the instance of design application 1 can also authenticate the user who requests to access the instance, and after the authentication is passed, establish a connection with the corresponding client.
  • the instance of design application 1 can return the interface data stream corresponding to the main interface of the design application to the corresponding client, so that the client can generate the data stream according to the Design the main interface of the application.
  • the main interface of the design application displays a list of recently used design documents, specifically including document 1 to document N.
  • the main interface of the design application also displays blank documents and templates.
  • User 13 may click on any document in the list of design documents, thereby requesting that the document be opened in order to proceed with the design based on that document.
  • the user can also click on the blank document or click on any one of the template documents such as Template 1, Template 2, etc., to request the creation of a new design document.
  • the main interface of the design application is specifically presented in the interface 1100 of the third client in the form of a window.
  • the interface 1100 of the third client may further include the avatar of the user accessing the instance, as shown in 1101, 1102, and 1103 in Fig. 7c.
  • the interface 1100 of the third client can present the avatars of the preset number of users, and the avatars of other users are represented by ".".
  • the instance of the design application 1 on the cloud phone 102 responds to the design document creation request, creates a new design document, generates the interface data stream of the design interface of the design document, and then returns the interface data stream to the client connected to the instance, so that The client generates the design interface according to the interface data flow.
  • the user 13 can trigger the icon of the blank document through a gesture to request the creation of a new blank document.
  • the instance of the design application 1 on the cloud phone 102 creates a new blank document according to the request, and generates an interface data flow of the design interface of the design document.
  • the clients of the user 11, the user 12, and the user 13 generate the design interface shown as 1105 in FIG. 5d according to the interface data flow.
  • the design interface includes toolbars, such as menu tools and shape tools.
  • the menu tools include menu keys such as start, insert, and design, and the shape tools include various shortcut shapes.
  • the design interface also includes a blank design area, and users can drag and drop shortcut shapes in the shape tool, such as "room”, “window” and other shapes, to the design area for home improvement design.
  • Users can trigger design operations through the design interface of their respective clients.
  • the user 13 can perform a touch operation through the design interface, and the third client can respond to the touch operation of the user 13 to generate an operation instruction, and then send the operation instruction to the instance of the design application 1 on the cloud phone 102 .
  • the instance of the design application on the cloud phone 102 can run the design application according to the interactive information including the operation instruction, perform modeling according to the operation process of the design application, and then perform screen rendering based on the model information obtained from the modeling, specifically, for continuous multi-frame
  • the image is rendered on the screen to obtain a video stream, and the video stream is sent to the third client.
  • the instance of the design application on the cloud phone 102 can also use another set of rendering resources to model according to the interaction information including the operation instructions, and then perform screen rendering based on the model information obtained from the modeling to obtain another video stream.
  • the cloud phone 102 may send the first video stream to the second client and the third client, and send another video stream to the first client.
  • the third client can display the design screen shown in 1106 in FIG. 7e in the design interface shown in 1105 in FIG. 7e according to the first video stream.
  • the second client can display the design screen shown in 1106 in FIG. 7e in the design interface shown in 1105 in FIG. 7e according to the first video stream.
  • FIG. 5e For the design screen displayed by the first client, reference may be made to FIG. 5e, which will not be repeated here.
  • a large number of users including the first user, the second user, and the third user can carry out online collaborative design, and support multiple types of terminals, such as VR glasses, VR helmets and other VR terminals, as well as mobile phones, tablets and other flat terminals, without the need for Configure special equipment to meet the needs of different users and provide users with a better experience.
  • the user can complete the collaborative design by using the mobile terminal, and under the permission of the network conditions, the collaborative design work can be carried out anytime and anywhere.
  • FIG. 8 is a schematic diagram of a hardware structure of a first terminal according to an embodiment of the present application.
  • the first terminal 21 includes a processor 211 , a memory 212 , a communication interface 213 and a bus 214 , the processor 211 , the memory 212 , and the communication interface 213 are respectively connected to the bus 214 , the memory 212 stores program instructions, and the processor 211 executes the program instructions to realize the functions of the first terminal 21 .
  • FIG. 9 is a schematic diagram of the hardware structure of a second terminal according to an embodiment of the present application.
  • the second terminal 22 includes a processor 221, a memory 222, a communication interface 223, and a bus 224.
  • the interfaces 223 are respectively connected to the bus 224
  • the memory 222 stores program instructions
  • the processor 221 executes the program instructions to realize the functions of the second terminal 22 .
  • the first terminal 21 is a VR terminal
  • the second terminal 22 and the third terminal 23 are plane terminals.
  • the hardware structure of the third terminal 23 reference may be made to the hardware structure of the second terminal, which will not be repeated here.
  • FIG. 10 is a schematic diagram of the hardware structure of a server for deploying a cloud mobile phone, such as a server 110 according to an embodiment of the present application.
  • the server 110 includes a processor 1001, a memory 1002, a communication interface 1003, and a bus 1004.
  • the processor 1001 The memory 1002 and the communication interface 1003 are respectively connected to the bus 1004 .
  • the memory 1002 stores program instructions, and the processor 1001 executes the program instructions to implement the functions of the server 110 .
  • the embodiment of the present application also discloses a design method based on a cloud mobile phone.
  • the design method is applied to the first client and specifically includes the following steps:
  • Step 1 the first client sends a design application startup request to the cloud mobile phone management service node 101;
  • Step 2 the first client receives the address and port of the instance of the design application returned by the cloud phone 102;
  • Step 3 The first client establishes a connection with the instance of the design application according to the address and port of the instance;
  • Step 4 the first client sends a design document creation request to the instance of the design application on the cloud phone 102;
  • steps 1 to 4 are an optional implementation manner in which the first client on the first terminal starts a design application on the cloud phone 102 to create a corresponding design document.
  • the first client when the first client establishes a connection with the cloud phone in advance, the first client can directly send a design application start request to the cloud phone 102 and directly send the design to the instance of the design application on the cloud phone 102 Document creation request.
  • Step 5 the first client receives the interface data stream returned by the cloud phone 102;
  • Step 6 The first client generates a design interface according to the interface data flow
  • Step 7 The first client sends interaction information 1 to the cloud phone 102;
  • Step 8 the first client receives the video stream sent by the cloud phone 102;
  • Step 9 The first client displays the design screen on the design interface according to the video stream.
  • FIG. 11 is a schematic diagram of a device structure of a first client according to an embodiment of the present application.
  • the first client includes:
  • the communication module 1102 is used for sending a design application startup request to the cloud mobile phone management service node 101;
  • a connection module 1104 configured to establish a connection according to the address and port of the instance and the instance of the design application;
  • the communication module 1102 is further configured to receive the interface data stream returned by the cloud phone 102;
  • an interface generation module 1106, configured to generate a design interface according to the interface data flow
  • the display module 1108 is configured to display the design picture on the design interface according to the video stream.
  • the connection module 1104 in the first client is an optional module.
  • the communication module 1102 may directly send a design application start request to the cloud phone to start the design application and generate an instance of the design application.
  • the communication module 1102 can also directly send a design document creation request to the instance of the design application to create a design document and generate an interface data stream, so that the first client generates a design interface according to the interface data stream.
  • the first client may further include a rendering module and a confluence module.
  • the communication module 1102 is specifically configured to receive the first rendered video stream rendered by the cloud mobile phone 102 according to the cloud rendering instruction stream, the communication module 1102 is further configured to receive the terminal rendering instruction stream sent by the cloud mobile phone 102, and the rendering module is used to render according to the terminal rendering instruction stream.
  • the instruction stream is rendered to obtain a second rendered video stream, and the confluence module is configured to combine the first rendered video stream and the second rendered video stream to obtain a third rendered video stream.
  • the display module 1108 may display the design screen on the design interface according to the third rendered video stream.
  • Step 1 the second client receives the address and port of the instance of the design application sent by the cloud phone 102;
  • Step 2 The second client establishes a connection with the instance of the design application according to the address and port of the instance;
  • Step 3 the second client receives the interface data stream sent by the cloud phone 102;
  • Step 4 The second client generates a design interface according to the interface data flow
  • Step 5 The second client sends interaction information 2 to the cloud phone 102;
  • Step 7 The second client displays the design screen on the design interface according to the video stream.
  • the video stream sent by the cloud phone 102 received by the second client in step 6 may also be the first rendered video stream obtained by the cloud phone 102 rendering according to the cloud rendering instruction stream, and the second client also receives the video stream sent by the cloud phone 102.
  • the second client can also perform rendering according to the end rendering instruction stream, and obtain the second rendering video stream.
  • the second client may further combine the first rendered video stream and the second rendered video stream to obtain a third rendered video stream.
  • the second client can display the design picture on the design interface according to the third rendered video stream.
  • FIG. 12 is a schematic diagram of a device structure of a second client terminal according to an embodiment of the present application.
  • the second client terminal includes:
  • the communication module 1202 is configured to receive the address and port of the instance of the design application sent by the cloud mobile phone 102;
  • a connection module 1204 configured to establish a connection with the instance of the design application according to the address and port of the instance;
  • the communication module 1202 is further configured to receive the interface data stream sent by the cloud phone 102;
  • an interface generation module 1206, configured to generate a design interface according to the interface data flow
  • the communication module 1202 is further configured to send interaction information 2 to the cloud mobile phone 102;
  • the communication module 1202 is further configured to receive the video stream sent by the cloud mobile phone 102;
  • the display module 1208 is configured to display the design picture on the design interface according to the video stream.
  • connection module 1204 in the second client is an optional module. When a connection is established between the second client and the cloud phone in advance, the second client does not need to perform the step of establishing the connection.
  • the example of the present application also discloses a design method based on a cloud mobile phone.
  • the design method is applied to a cloud mobile phone, and specifically includes the following steps:
  • Step 1 the cloud phone 102 receives the design application startup request routed by the cloud phone management service node 102;
  • Step 2 The cloud phone 102 starts the design application (for example, design application 1), and generates an instance of the design application;
  • design application for example, design application 1
  • Step 3 The cloud phone 102 returns the address and port of the instance to the first client, the second client and the third client;
  • Step 4 The cloud phone 102 establishes connections with the first client, the second client and the third client respectively;
  • Step 5 the cloud phone 102 receives the design document creation request sent by the first client
  • Step 6 The instance of the design application on the cloud phone 102 creates a design document, and generates an interface data stream;
  • steps 1 to 6 are an optional implementation manner in which the cloud mobile phone 102 generates an interface data stream.
  • the cloud phone 102 can directly send a design application startup request, start the design application, and generate an instance of the design application, and the instance of the design application can automatically create a design document , and generate the interface data flow of the corresponding design interface.
  • Step 7 The cloud phone 102 returns the interface data stream to the first client, the second client and the third client;
  • Step 9 The cloud phone 102 runs an instance of the design application according to the interaction information, and renders the video stream according to the design application running process;
  • Step 10 The cloud phone 102 returns the video stream to the first client, the second client and the third client.
  • the cloud phone 102 generates a cloud rendering instruction stream and a terminal rendering instruction stream according to the interaction information.
  • the cloud phone 102 performs rendering according to the above cloud rendering instruction stream to obtain a first rendered video stream.
  • the cloud phone 102 also returns the end rendering instruction stream to the first client, the second client and the third client, so as to instruct the first client, the second client and the third client to perform rendering according to the end rendering instruction stream, and obtain The second renders the video stream.
  • the video stream returned by the cloud mobile phone 102 to the first client, the second client and the third client is specifically the above-mentioned first rendered video stream, the above-mentioned first client, second client and third
  • the three clients may combine the first rendered video stream and the second rendered video stream to obtain a third rendered video stream.
  • FIG. 13 is a schematic diagram of a device structure of a cloud mobile phone according to an embodiment of the present application.
  • the cloud mobile phone includes:
  • an instance generation module 1304 configured to start a design application (for example, design application 1), and generate an instance of the design application;
  • the communication module 1302 is further configured to return the address and port of the instance to the first client, the second client and the third client;
  • connection module 1306, configured to establish connections with the first client, the second client and the third client respectively;
  • the communication module 1302 is further configured to receive a design document creation request sent by the first client;
  • the interface generation module 1308 is used to create a design document and generate an interface data flow
  • the communication module 1302 is further configured to return the interface data stream to the first client, the second client and the third client;
  • the communication module 1302 is also used for the interaction information 1 sent by the first client, the interaction information 2 sent by the second client, and the interaction information 3 sent by the third client;
  • a rendering module 1310 configured to run an instance of the design application according to the interaction information, and render a video stream according to the design application running process;
  • the instance generation module 1304, the connection module 1306, and the interface generation module 1308 are optional modules. In some embodiments, the cloud phone may not execute the steps corresponding to the above modules.
  • the cloud phone further includes an instruction generation module, configured to generate a cloud rendering instruction stream and a terminal rendering instruction stream according to the interaction information.
  • the rendering module is specifically configured to perform rendering according to the cloud rendering instruction stream to obtain the first rendered video stream.
  • the communication module 1302 is further configured to return the end rendering instruction stream to the first client, the second client and the third client, so as to instruct the first client, the second client and the third client to perform rendering according to the end rendering instruction stream , to get the second rendered video stream.
  • the video stream returned by the communication module 1302 to the first client, the second client and the third client is specifically the above-mentioned first rendered video stream, and the above-mentioned first client, second client and third client may The first rendered video stream and the second rendered video stream are combined to obtain a third rendered video stream.
  • FIG. 13 illustrates an example of the first terminal, the second terminal, and the third terminal participating in the collaborative design.
  • the terminals participating in the collaborative design may be the first terminal and the second terminal, or more terminal, which is not limited in this embodiment of the present application.
  • Embodiments of the present application further provide a computer-readable storage medium, where the computer-readable storage medium includes instructions, when the instructions are executed on the computing device, the computing device causes the computing device to execute the first client, the second client, the third client, or the cloud mobile phone method.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be retrieved from a website, computer, training device, or data Transmission from the center to another website site, computer, training facility or data center via wired (eg coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg infrared, wireless, microwave, etc.) means.
  • wired eg coaxial cable, fiber optic, digital subscriber line (DSL)
  • wireless eg infrared, wireless, microwave, etc.
  • the computer-readable storage medium may be any available medium that can be stored by a computer, or a data storage device such as a training device, a data center, or the like that includes an integration of one or more available media.
  • the usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk (SSD)), and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephone Function (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Provided are a design method and design system based on a cloud mobile phone. The design system comprises: a cloud mobile phone and at least one client, wherein the at least one client respectively runs on a terminal and is used for receiving an interface data stream sent by the cloud mobile phone, generating a design interface according to the interface data stream, and displaying the design interface on the terminal where each client is located; the cloud mobile phone is arranged on a network side and is used for receiving at least one piece of interaction information sent by one or any combination of the at least one client, running a design application according to the at least one piece of interaction information, and rendering a video stream according to the running process of the design application; and the at least one client is further used for receiving the video stream, and displaying a design picture on the design interface according to the video stream. A video stream is rendered by a cloud mobile phone on a network side, such that collaborative online design by a large number of users is supported, thereby meeting service requirements.

Description

基于云手机的VR应用设计方法及系统VR application design method and system based on cloud mobile phone 技术领域technical field
本申请涉及云计算技术领域,尤其涉及一种基于云手机的设计方法、系统、设备以及计算机可读存储介质。The present application relates to the field of cloud computing technologies, and in particular, to a design method, system, device, and computer-readable storage medium based on a cloud mobile phone.
背景技术Background technique
在进行工业设计,如建筑设计、装修设计时,设计人员通常是通过电脑完成设计。其中,设计过程中的人机互动主要是基于鼠标与键盘的点击拖拽实现。随着虚拟现实(virtual reality,VR)技术的不断发展,产生新的人机互动方法。When carrying out industrial design, such as architectural design and decoration design, designers usually complete the design through computers. Among them, the human-computer interaction in the design process is mainly based on the click and drag of the mouse and the keyboard. With the continuous development of virtual reality (VR) technology, new human-computer interaction methods have emerged.
VR也称虚拟环境。VR通过计算模拟产生一个三维空间的虚拟世界,向用户提供关于视觉等感官的模拟,用户执行某种或某些动作时,可以通过计算对虚拟世界进行调整,使得用户感觉仿佛身临其境。VR应用到工业设计时,VR设备可以生成虚拟设计环境,设计人员可以在该虚拟设计环境中,通过双手进行人机交互。并且,设计人员还可以和其他人员共同在该虚拟设计环境中进行人机交互,以协同完成设计,如此,可以大幅提升设计效率和设计质量。VR is also called virtual environment. VR generates a three-dimensional virtual world through computational simulation, and provides users with a simulation of vision and other senses. When users perform certain actions, they can adjust the virtual world through calculation, so that users feel as if they are in the real world. When VR is applied to industrial design, VR equipment can generate a virtual design environment, and designers can interact with both hands in this virtual design environment. In addition, designers can also perform human-computer interaction with other personnel in the virtual design environment to complete the design collaboratively, which can greatly improve design efficiency and design quality.
然而,上述虚拟设计环境支持参与设计的人数有限,通常为8至10人,难以满足业务需求。However, the above-mentioned virtual design environment supports a limited number of people participating in the design, usually 8 to 10 people, which is difficult to meet business needs.
发明内容SUMMARY OF THE INVENTION
本申请提供了一种基于云手机的设计方法和设计系统,通过利用设置在网络侧的云手机在云端渲染视频流,可以充分发挥云手机的运算能力能够弹性伸缩的优势,一方面可以实现支持海量用户在线协同设计,另一方面将耗费大量运算能力的渲染等工作卸载到云手机中实现,可以减轻终端的硬件规格需求,节约成本,具有较高可用性。The present application provides a design method and design system based on a cloud mobile phone. By using a cloud mobile phone set on the network side to render video streams in the cloud, the advantages of the cloud mobile phone's computing power that can be elastically scaled can be fully utilized. On the one hand, support for A large number of users collaborate on the design online. On the other hand, offloading work such as rendering that consumes a lot of computing power to the cloud phone can reduce the hardware specification requirements of the terminal, save costs, and have high availability.
第一方面,本申请提供了一种设计系统。该设计系统包括:云手机和至少一个客户端,至少一个客户端分别运行于一个终端,用于接收云手机发送的界面数据流,根据界面数据流生成设计界面,并在各自所在的终端上显示所述设计界面,云手机,用于接收至少一个客户端中的一个或任意组合发送的至少一个交互信息,至少一个交互信息具体来自于至少一个客户端中的一个或者任意组合的用户通过各自所操作的终端上显示的设计界面触发的设计操作,然后云手机根据交互信息运行设计应用,以及根据设计应用运行过程渲染视频流,至少一个客户端还用于接收视频流,根据视频流在设计界面显示设计画面。In a first aspect, the present application provides a design system. The design system includes: a cloud mobile phone and at least one client. At least one client runs on a terminal respectively, and is used to receive the interface data stream sent by the cloud mobile phone, generate a design interface according to the interface data stream, and display it on the respective terminal. The design interface, cloud mobile phone, is used to receive at least one interaction information sent by one or any combination of at least one client, and the at least one interaction information is specifically from one of the at least one client or any combination of users through their respective The design operation triggered by the design interface displayed on the operating terminal, and then the cloud mobile phone runs the design application according to the interactive information, and renders the video stream according to the design application running process. The design screen is displayed.
其中,云手机设置于网络侧,由网络侧的云手机渲染视频流,可以充分发挥云手机的运算能力能够弹性伸缩的优势实现按需渲染,一方面能够实现支持海量用户在线协同设计,另一方面将耗费大量运算能力的渲染等工作卸载到云手机中实现,可以减轻终端的硬件规格需求,节约成本,具有较高可用性。Among them, the cloud mobile phone is set on the network side, and the cloud mobile phone on the network side renders the video stream, which can give full play to the advantages of the computing power of the cloud mobile phone and can achieve on-demand rendering. On the other hand, the rendering work that consumes a lot of computing power is offloaded to the cloud phone, which can reduce the hardware specification requirements of the terminal, save costs, and have high availability.
在一些可能的实现方式中,渲染资源是指用于渲染视频的资源,例如渲染资源可以是 图形处理器(graphics processing unit,GPU)。云手机可以通过物理服务器中的容器实现。该物理服务器包括软件资源和硬件资源。不同物理服务器的硬件资源可以进行虚拟化,形成物理资源池。例如,不同物理服务器中的GPU等渲染资源可以进行虚拟化,得到支持动态分配、灵活调度、跨域共享的渲染资源池。In some possible implementations, the rendering resource refers to a resource for rendering video, for example, the rendering resource may be a graphics processing unit (graphics processing unit, GPU). Cloud phones can be implemented through containers in physical servers. The physical server includes software resources and hardware resources. The hardware resources of different physical servers can be virtualized to form a physical resource pool. For example, rendering resources such as GPUs in different physical servers can be virtualized to obtain a rendering resource pool that supports dynamic allocation, flexible scheduling, and cross-domain sharing.
云手机可以调度渲染资源池中的渲染资源进行视频流渲染。具体地,云手机可以根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,然后云手机根据设计应用运行过程,利用渲染资源渲染视频流。如此,云手机可以实现基于渲染能力消耗,精准提供渲染资源进行渲染,满足多种多样的性能需求。The cloud phone can schedule the rendering resources in the rendering resource pool for video stream rendering. Specifically, the cloud phone can obtain a target number of rendering resources from the rendering resource pool according to the running process of the design application, and then the cloud phone can use the rendering resources to render the video stream according to the running process of the design application. In this way, cloud mobile phones can accurately provide rendering resources for rendering based on the consumption of rendering capabilities, and meet various performance requirements.
在一些可能的实现方式中,不同类型的渲染资源的渲染能力可以是不同的。例如,对于同一渲染对象,x86架构的GPU和高级精简指令集机器(advanced RISC machine,ARM)架构的GPU的渲染能力是不同的。为此,云手机还可以根据设计应用运行过程确定渲染所需的渲染资源的类型和数量,然后从渲染资源池中获取目标类型以及目标数量的渲染资源。如此可以充分利用不同类型的渲染资源的渲染能力,满足不同业务场景的渲染需求。In some possible implementations, the rendering capabilities of different types of rendering resources may be different. For example, for the same rendering object, the rendering capabilities of the GPU of the x86 architecture and the GPU of the advanced RISC machine (ARM) architecture are different. To this end, the cloud phone can also determine the type and quantity of rendering resources required for rendering according to the running process of the design application, and then obtain the rendering resources of the target type and the target quantity from the rendering resource pool. In this way, the rendering capabilities of different types of rendering resources can be fully utilized to meet the rendering requirements of different business scenarios.
在一些可能的实现方式中,云手机调度的渲染资源的数量与参与协同设计的终端的数量相关。为此,云手机可以根据设计应用运行过程以及终端的数量,从渲染资源池中获取目标数量的渲染资源。如此可以实现通过渲染资源的弹性伸缩支持不同数量的用户进行协同设计。In some possible implementations, the number of rendering resources scheduled by the cloud phone is related to the number of terminals participating in the collaborative design. To this end, the cloud phone can obtain a target number of rendering resources from the rendering resource pool according to the design application running process and the number of terminals. In this way, it is possible to support different numbers of users for collaborative design through the elastic scaling of rendering resources.
进一步地,参与协同设计的终端可以包括不同类型的终端。云手机可以针对不同类型的终端分别渲染视频流。因此,云手机还可以根据设计应用运行过程以及终端的类型、数量从渲染资源池中获取目标数量的渲染资源,以便基于该目标数量的渲染资源进行渲染。如此实现精确地提供渲染资源,满足不同业务场景的渲染需求。Further, the terminals participating in the collaborative design may include different types of terminals. The cloud phone can render video streams separately for different types of terminals. Therefore, the cloud phone can also obtain a target number of rendering resources from the rendering resource pool according to the design application running process and the type and quantity of terminals, so as to perform rendering based on the target number of rendering resources. In this way, rendering resources are accurately provided to meet the rendering requirements of different business scenarios.
在一些可能的实现方式中,考虑到X86架构下云VR业务消耗巨大的带宽资源,单用户通常需要50Mbps到100Mbps的带宽资源,云手机还可以利用端侧和云侧的ARM指令的兼容性,通过端云协同渲染降低带宽,从而降低成本,便于规模化商用。In some possible implementations, considering that the cloud VR service consumes huge bandwidth resources under the X86 architecture, a single user usually needs 50Mbps to 100Mbps of bandwidth resources. Through device-cloud collaborative rendering, bandwidth is reduced, thereby reducing costs and facilitating large-scale commercial use.
具体地,云手机可以根据设计应用运行过程生成云渲染指令流和端渲染指令流,其中,云渲染指令流包括至少一个云渲染指令,端渲染指令流包括至少一个端渲染指令,云渲染指令指示在云端进行渲染,端渲染指令在客户端进行渲染。云手机可以根据云渲染指令流渲染视频流,得到第一渲染视频流。接着云手机向至少一个客户端发送第一渲染视频流和端渲染指令流。该端渲染指令流用于指示至少一个客户端根据端渲染指令流渲染视频流,得到第二渲染视频流。对应地,至少一个客户端具体可以用于对第一渲染视频流和第二渲染视频流进行合流,获得第三渲染视频流,然后根据第三渲染视频流在设计界面显示设计画面。如此可以降低带宽,进而降低成本。Specifically, the cloud phone can generate a cloud rendering instruction stream and a terminal rendering instruction stream according to the design application running process, wherein the cloud rendering instruction stream includes at least one cloud rendering instruction, the terminal rendering instruction stream includes at least one terminal rendering instruction, and the cloud rendering instruction indicates Rendering is performed in the cloud, and client-side rendering instructions are rendered on the client-side. The cloud mobile phone can render the video stream according to the cloud rendering instruction stream to obtain the first rendered video stream. Then, the cloud phone sends the first rendering video stream and the end rendering instruction stream to at least one client. The end-rendering instruction stream is used to instruct at least one client to render a video stream according to the end-rendering instruction stream to obtain a second rendered video stream. Correspondingly, at least one client can be specifically configured to combine the first rendered video stream and the second rendered video stream to obtain a third rendered video stream, and then display the design image on the design interface according to the third rendered video stream. This reduces bandwidth, which in turn reduces costs.
在一些可能的实现方式中,考虑到端侧渲染能力通常是有限的。基于此,云手机可以根据设计应用运行过程中渲染计算量大于计算量阈值的信息生成云渲染指令流,根据设计应用运行过程中渲染计算量小于或等于计算量阈值的信息生成端渲染指令流。如此在降低带宽的同时,还保障了端侧能够正常渲染视频流,为用户提供较好的体验。In some possible implementations, considering that end-side rendering capabilities are usually limited. Based on this, the cloud phone can generate a cloud rendering instruction stream according to the information that the rendering calculation amount is greater than the calculation amount threshold during the design application running process, and generate the end rendering instruction stream according to the information that the rendering calculation amount is less than or equal to the calculation amount threshold value during the design application running process. In this way, while reducing the bandwidth, it also ensures that the end-side can render the video stream normally, providing users with a better experience.
在一些可能的实现方式中,背景信息的占比通常较低,一般需要消耗较多的渲染资源,为此,云手机可以根据设计应用运行过程中的背景信息生成云渲染指令流,根据设计应用运行过程中的动作信息生成所述端渲染指令流。如此可以有效降低带宽,从而降低成本。In some possible implementations, the proportion of background information is usually low, and generally requires more rendering resources. Therefore, the cloud mobile phone can generate a cloud rendering instruction stream according to the background information during the running process of the design application, and according to the design application The action information in the running process generates the end rendering instruction stream. This can effectively reduce bandwidth, thereby reducing costs.
在一些可能的实现方式中,所述终端包括虚拟现实终端或平面终端。其中,虚拟现实终端包括PC VR终端和移动VR终端,例如包括VR头盔、VR眼镜等设备。平面终端包括智能手机、平板电脑等设备。该系统支持多类型设备尤其是通用的平面终端参与协同设计,满足了不同业务场景需求。而且无需用户配置专用设备,降低了成本。In some possible implementations, the terminal includes a virtual reality terminal or a flat terminal. Among them, virtual reality terminals include PC VR terminals and mobile VR terminals, such as VR helmets, VR glasses and other equipment. Flat terminals include devices such as smartphones and tablet computers. The system supports multi-type devices, especially common plane terminals, to participate in collaborative design, meeting the needs of different business scenarios. Moreover, users do not need to configure special equipment, which reduces the cost.
在一些可能的实现方式中,所述终端包括所述虚拟现实终端时,所述交互信息包括动作信息和位置信息中的至少一种。具体地,用户可以通过手势或其他肢体动作触发协同设计,相应地,虚拟现实终端可以获得动作信息和位置信息,并向云手机提供上述动作信息和位置信息,以便进行渲染得到视频流,从而实现支持虚拟现实终端参与协同设计。In some possible implementations, when the terminal includes the virtual reality terminal, the interaction information includes at least one of motion information and location information. Specifically, the user can trigger the collaborative design through gestures or other physical actions. Accordingly, the virtual reality terminal can obtain the motion information and position information, and provide the above motion information and position information to the cloud phone for rendering to obtain a video stream, thereby realizing Support virtual reality terminals to participate in collaborative design.
在一些可能的实现方式中,所述终端包括平面终端时,所述交互信息包括操作指令。具体地,用户可以通过平面终端进行设计操作,例如通过触摸或者触控笔触控的方式执行设计操作,平面终端接收该设计操作,向云手机提供相应的操作指令,以便云手机根据该操作指令进行渲染得到视频流,从而实现支持平面终端参与协同设计。In some possible implementations, when the terminal includes a flat terminal, the interaction information includes an operation instruction. Specifically, the user can perform design operations through the flat terminal, for example, by touching or stylus touch, and the flat terminal receives the design operation and provides corresponding operation instructions to the cloud mobile phone, so that the cloud mobile phone can perform the operation according to the operation instructions. The video stream is obtained by rendering, so as to support the participation of flat terminals in collaborative design.
第二方面,本申请提供了一种基于云手机的设计方法。该方法应用于设计系统,该设计系统包括云手机和至少一个客户端,其中,至少一个客户端分别运行于一个终端,云手机设置于网络侧,该方法包括:In a second aspect, the present application provides a design method based on a cloud phone. The method is applied to a design system, the design system includes a cloud phone and at least one client, wherein at least one client runs on a terminal respectively, and the cloud phone is set on the network side, and the method includes:
所述至少一个客户端接收所述云手机发送的界面数据流,根据所述界面数据流生成设计界面,并在所述至少一个终端显示所述设计界面;The at least one client receives the interface data stream sent by the cloud phone, generates a design interface according to the interface data stream, and displays the design interface on the at least one terminal;
所述云手机接收所述至少一个客户端中的一个或者任意组合发送的至少一个交互信息,根据所述至少一个交互信息运行设计应用,以及根据设计应用运行过程渲染视频流;其中,所述交互信息来自于至少一个客户端中的一个或者任意组合的用户通过各自所操作的终端上显示的设计界面触发的设计操作;The cloud phone receives at least one interaction information sent by one or any combination of the at least one client, runs a design application according to the at least one interaction information, and renders a video stream according to the design application running process; wherein the interaction The information comes from a design operation triggered by one of the at least one client or any combination of users through the design interface displayed on the respective terminal being operated;
所述至少一个客户端接收所述视频流,根据所述视频流在所述设计界面显示设计画面。The at least one client receives the video stream, and displays a design picture on the design interface according to the video stream.
在一些可能的实现方式中,所述云手机根据设计应用运行过程渲染视频流,包括:In some possible implementations, the cloud phone renders the video stream according to the design application running process, including:
所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源;The cloud phone obtains a target number of rendering resources from the rendering resource pool according to the design application running process;
所述云手机根据所述设计应用运行过程,利用所述渲染资源渲染视频流。The cloud phone uses the rendering resource to render the video stream according to the design application running process.
在一些可能的实现方式中,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:In some possible implementations, the cloud phone obtains a target number of rendering resources from the rendering resource pool according to the design application running process, including:
所述云手机根据所述设计应用运行过程确定渲染所需的渲染资源的类型和数量;The cloud phone determines the type and quantity of rendering resources required for rendering according to the design application running process;
所述云手机从渲染资源池中获取目标类型以及目标数量的渲染资源。The cloud phone acquires the rendering resources of the target type and the target quantity from the rendering resource pool.
在一些可能的实现方式中,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:In some possible implementations, the cloud phone obtains a target number of rendering resources from the rendering resource pool according to the design application running process, including:
所述云手机根据所述设计应用运行过程以及所述终端的数量从渲染资源池中获取目标数量的渲染资源。The cloud phone acquires a target number of rendering resources from the rendering resource pool according to the running process of the design application and the number of the terminals.
在一些可能的实现方式中,所述云手机根据设计应用运行过程渲染视频流,包括:In some possible implementations, the cloud phone renders the video stream according to the design application running process, including:
所述云手机根据所述设计应用运行过程生成云渲染指令流和端渲染指令流;The cloud mobile phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to the design application running process;
所述云手机根据所述云渲染指令流渲染视频流,得到第一渲染视频流;The cloud mobile phone renders a video stream according to the cloud rendering instruction stream to obtain a first rendered video stream;
所述至少一个客户端接收视频流,根据所述视频流在所述设计界面显示设计画面,包括:The at least one client receives a video stream, and displays a design screen on the design interface according to the video stream, including:
所述至少一个客户端接收所述第一渲染视频流和所述端渲染指令流;The at least one client receives the first rendered video stream and the end rendering instruction stream;
所述至少一个客户端根据所述端渲染指令流渲染视频流,得到第二渲染视频流;The at least one client renders a video stream according to the end rendering instruction stream to obtain a second rendered video stream;
所述至少一个客户端对所述第一渲染视频流和所述第二渲染视频流进行合流,获得第三渲染视频流;The at least one client combines the first rendered video stream and the second rendered video stream to obtain a third rendered video stream;
根据所述第三渲染视频流在所述设计界面显示设计画面。A design picture is displayed on the design interface according to the third rendered video stream.
在一些可能的实现方式中,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:In some possible implementations, the cloud phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to the design application running process, including:
根据设计应用运行过程中渲染计算量大于计算量阈值的信息生成云渲染指令流,根据所述设计应用运行过程中渲染计算量小于或等于所述计算量阈值的信息生成端渲染指令流。The cloud rendering instruction stream is generated according to the information that the rendering calculation amount is greater than the calculation amount threshold during the running process of the design application, and the end rendering instruction stream is generated according to the information that the rendering calculation amount is less than or equal to the calculation amount threshold value during the running process of the design application.
在一些可能的实现方式中,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:In some possible implementations, the cloud phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to the design application running process, including:
根据设计应用运行过程中的背景信息生成云渲染指令流,根据所述设计应用运行过程中的动作信息生成端渲染指令流。The cloud rendering instruction stream is generated according to the background information during the running process of the design application, and the end rendering instruction stream is generated according to the action information during the running process of the design application.
在一些可能的实现方式中,所述终端包括虚拟现实终端或平面终端。In some possible implementations, the terminal includes a virtual reality terminal or a flat terminal.
在一些可能的实现方式中,所述终端包括所述虚拟现实终端时,所述交互信息包括动作信息和位置信息中的至少一种。In some possible implementations, when the terminal includes the virtual reality terminal, the interaction information includes at least one of motion information and location information.
在一些可能的实现方式中,所述终端包括平面终端时,所述交互信息包括操作指令。In some possible implementations, when the terminal includes a flat terminal, the interaction information includes an operation instruction.
第三方面,本申请提供了一种基于云手机的设计方法。该方法应用于第一终端。具体地,第一终端发送设计应用启动请求,该设计应用启动请求用于指示启动云手机上的设计应用,第一终端接收云手机发送的界面数据流,根据该界面数据流生成上述设计引用的设计界面,显示该设计界面,接着第一终端向云手机发送第一交互信息,接收云手机根据第一交互信息运行设计应用,并根据设计应用运行过程渲染所得的视频流,根据该视频流在设计界面显示设计画面。In a third aspect, the present application provides a design method based on a cloud phone. The method is applied to the first terminal. Specifically, the first terminal sends a design application start request, and the design application start request is used to instruct to start the design application on the cloud mobile phone, the first terminal receives the interface data stream sent by the cloud mobile phone, and generates the above-mentioned design reference according to the interface data stream. Design the interface, display the design interface, then the first terminal sends the first interaction information to the cloud mobile phone, receives the video stream obtained by the cloud mobile phone running the design application according to the first interaction information, and rendering the design application according to the running process of the design application. The design interface displays the design screen.
在一些可能的实现方式中,第一终端接收云手机根据云渲染指令流渲染所得的第一渲染视频流,以及接收端渲染指令流,其中,云渲染指令流和端渲染指令流是云手机根据第一交互信息运行设计应用,根据设计应用运行过程渲染所得。接着第一终端根据端渲染指令流渲染视频流,获得第二渲染视频流,并对第一渲染视频流和第二渲染视频流进行合流,得到第三渲染视频流。对应地,第一终端根据第三渲染视频流在设计界面显示设计画面。In some possible implementation manners, the first terminal receives the first rendered video stream rendered by the cloud phone according to the cloud rendering instruction stream, and receives the end rendering instruction stream, wherein the cloud rendering instruction stream and the end rendering instruction stream are based on the cloud phone rendering instruction stream. The first interactive information is obtained by running the design application and rendered according to the running process of the design application. Then, the first terminal renders the video stream according to the end rendering instruction stream, obtains the second rendered video stream, and combines the first rendered video stream and the second rendered video stream to obtain the third rendered video stream. Correspondingly, the first terminal displays the design picture on the design interface according to the third rendered video stream.
第四方面,本申请提供了一种基于云手机的设计方法。该方法应用于第一终端。具体地,第二终端接收云手机发送的界面数据流,根据界面数据流生成设计引用的设计界面,并显示设计界面,然后第二终端向云手机发送第二交互信息,接收云手机根据第二交互信息运行设计应用,并根据设计应用运行过程渲染所得的视频流,根据该视频流在设计界面显示设计画面。In a fourth aspect, the present application provides a design method based on a cloud phone. The method is applied to the first terminal. Specifically, the second terminal receives the interface data stream sent by the cloud mobile phone, generates a design interface referenced by the design according to the interface data stream, and displays the design interface, and then the second terminal sends the second interaction information to the cloud mobile phone, and receives the cloud mobile phone according to the second interaction information. The interactive information runs the design application, and renders the obtained video stream according to the running process of the design application, and displays the design screen on the design interface according to the video stream.
在一些可能的实现方式中,第二终端接收云手机根据云渲染指令流渲染所得的第一渲染视频流,以及接收端渲染指令流,其中,云渲染指令流和端渲染指令流是云手机根据第二交互信息运行设计应用,根据设计应用运行过程渲染所得。接着第二终端根据端渲染指令流渲染视频流,获得第二渲染视频流,并对第一渲染视频流和第二渲染视频流进行合流,得到第三渲染视频流。对应地,第二终端根据第三渲染视频流在设计界面显示设计画面。In some possible implementations, the second terminal receives the first rendered video stream rendered by the cloud mobile phone according to the cloud rendering instruction stream, and receives the end rendering instruction stream, wherein the cloud rendering instruction stream and the end rendering instruction stream are based on the cloud phone rendering instruction stream. The second interactive information runs the design application, and is rendered according to the design application running process. Next, the second terminal renders the video stream according to the end rendering instruction stream, obtains the second rendered video stream, and combines the first rendered video stream and the second rendered video stream to obtain the third rendered video stream. Correspondingly, the second terminal displays the design picture on the design interface according to the third rendered video stream.
第五方面,本申请提供了一种基于云手机的设计方法。该方法应用于云手机。具体地, 云手机向第一终端和第二终端发送界面数据流,该界面数据流用于生成设计界面,然后云手机接收第一终端发送的第一交互信息和第二终端发送的第二交互信息,其中,第一交互信息来自于第一终端的用户通过设计界面触发的设计操作,第二交互信息来自于第二终端的用户通过设计界面触发的设计操作,接着云手机根据第一交互信息和第二交互信息运行设计应用,根据设计应用运行过程渲染视频流,再接着云手机向第一终端和第二终端发送视频流。In a fifth aspect, the present application provides a design method based on a cloud phone. The method is applied to cloud mobile phones. Specifically, the cloud phone sends an interface data stream to the first terminal and the second terminal, and the interface data stream is used to generate a design interface, and then the cloud phone receives the first interaction information sent by the first terminal and the second interaction information sent by the second terminal. , wherein the first interaction information comes from the design operation triggered by the user of the first terminal through the design interface, the second interaction information comes from the design operation triggered by the user of the second terminal through the design interface, and then the cloud mobile phone according to the first interaction information and The second interactive information runs the design application, renders the video stream according to the running process of the design application, and then the cloud mobile phone sends the video stream to the first terminal and the second terminal.
在一些可能的实现方式中,所述云手机根据设计应用运行过程渲染视频流,包括:In some possible implementations, the cloud phone renders the video stream according to the design application running process, including:
所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源;The cloud phone obtains a target number of rendering resources from the rendering resource pool according to the design application running process;
所述云手机根据所述设计应用运行过程,利用所述渲染资源渲染视频流。The cloud phone uses the rendering resource to render the video stream according to the design application running process.
在一些可能的实现方式中,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:In some possible implementations, the cloud phone obtains a target number of rendering resources from the rendering resource pool according to the design application running process, including:
所述云手机根据设计应用运行过程确定渲染所需的渲染资源的类型和数量;The cloud phone determines the type and quantity of rendering resources required for rendering according to the design application running process;
所述云手机从渲染资源池中获取目标类型以及目标数量的渲染资源。The cloud phone acquires the rendering resources of the target type and the target quantity from the rendering resource pool.
在一些可能的实现方式中,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:In some possible implementations, the cloud phone obtains a target number of rendering resources from the rendering resource pool according to the design application running process, including:
所述云手机根据设计应用运行过程以及所述终端的数量从渲染资源池中获取目标数量的渲染资源。The cloud phone acquires a target number of rendering resources from the rendering resource pool according to the design application running process and the number of the terminals.
在一些可能的实现方式中,所述云手机根据设计应用运行过程渲染视频流,包括:In some possible implementations, the cloud phone renders the video stream according to the design application running process, including:
所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流;The cloud mobile phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to the design application running process;
所述云手机根据所述云渲染指令流渲染视频流,得到第一渲染视频流;The cloud mobile phone renders a video stream according to the cloud rendering instruction stream to obtain a first rendered video stream;
所述云手机向所述第一终端和所述第二终端发送所述视频流,包括:The cloud mobile phone sends the video stream to the first terminal and the second terminal, including:
所述云手机向所述第一终端和所述第二终端发送所述第一渲染视频流;sending, by the cloud phone, the first rendered video stream to the first terminal and the second terminal;
所述方法还包括:The method also includes:
所述云手机向所述第一终端和所述第二终端发送所述端渲染指令流,所述端渲染指令流用于指示所述第一终端和所述第二终端渲染视频流,得到第二渲染视频流。The cloud mobile phone sends the end rendering instruction stream to the first terminal and the second terminal, and the end rendering instruction stream is used to instruct the first terminal and the second terminal to render the video stream, and obtain the second Render the video stream.
在一些可能的实现方式中,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:In some possible implementations, the cloud phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to the design application running process, including:
根据设计应用运行过程中渲染计算量大于计算量阈值的信息生成云渲染指令流,根据所述设计应用运行过程中渲染计算量小于或等于所述计算量阈值的信息生成端渲染指令流。The cloud rendering instruction stream is generated according to the information that the rendering calculation amount is greater than the calculation amount threshold during the running process of the design application, and the end rendering instruction stream is generated according to the information that the rendering calculation amount is less than or equal to the calculation amount threshold value during the running process of the design application.
在一些可能的实现方式中,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:In some possible implementations, the cloud phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to the design application running process, including:
根据设计应用运行过程中的背景信息生成所述云渲染指令流,根据所述设计应用运行过程中的动作信息生成所述端渲染指令流。The cloud rendering instruction stream is generated according to the background information during the running process of the design application, and the end rendering instruction stream is generated according to the action information during the running process of the design application.
第六方面,本申请还提供一种第一客户端。该第一客户端包括用于执行第三方面或第三方面任意一种可能实现方式中的方法的各个模块。In a sixth aspect, the present application further provides a first client. The first client includes various modules for executing the method in the third aspect or any possible implementation manner of the third aspect.
第七方面,本申请还提供一种第二客户端。该第二客户端包括用于执行第四方面或第四方面任意一种可能实现方式中的方法的各个模块。In a seventh aspect, the present application further provides a second client. The second client includes various modules for executing the method in the fourth aspect or any possible implementation manner of the fourth aspect.
第八方面,本申请还提供一种云手机。该云手机包括用于执行第五方面或第五方面任 意一种可能实现方式中的方法的各个模块。In an eighth aspect, the present application further provides a cloud mobile phone. The cloud phone includes various modules for executing the method in the fifth aspect or any possible implementation manner of the fifth aspect.
其中,第六方面或第六方面任意一种实现方式是第三方面或第三方面任意一种实现方式对应的装置实现,第三方面或第三方面任意一种实现方式中的描述适用于第六方面或第六方面任意一种实现方式,在此不再赘述。The sixth aspect or any implementation manner of the sixth aspect is implemented by a device corresponding to the third aspect or any implementation manner of the third aspect, and the descriptions in the third aspect or any implementation manner of the third aspect are applicable to the third aspect or any implementation manner of the third aspect. The sixth aspect or any implementation manner of the sixth aspect will not be repeated here.
第七方面或第七方面任意一种实现方式是第四方面或第四方面任意一种实现方式对应的装置实现,第四方面或第四方面任意一种实现方式中的描述适用于第七方面或第七方面任意一种实现方式,在此不再赘述。The seventh aspect or any implementation manner of the seventh aspect is implemented by a device corresponding to the fourth aspect or any implementation manner of the fourth aspect, and the description in the fourth aspect or any implementation manner of the fourth aspect is applicable to the seventh aspect Or any implementation manner of the seventh aspect, which is not repeated here.
第八方面或第八方面任意一种实现方式是第五方面或第五方面任意一种实现方式对应的装置实现,第五方面或第五方面任意一种实现方式中的描述适用于第八方面或第八方面任意一种实现方式,在此不再赘述。The eighth aspect or any implementation manner of the eighth aspect is implemented by a device corresponding to the fifth aspect or any implementation manner of the fifth aspect, and the description in the fifth aspect or any implementation manner of the fifth aspect is applicable to the eighth aspect Or any implementation manner of the eighth aspect, which is not repeated here.
第九方面,本申请提供一种第一终端,所述第一终端包括处理器和存储器。所述处理器、所述存储器进行相互的通信。所述处理器用于执行所述存储器中存储的指令,以使得第一终端执行如第三方面或第三方面的任一种实现方式中的方法。In a ninth aspect, the present application provides a first terminal, where the first terminal includes a processor and a memory. The processor and the memory communicate with each other. The processor is configured to execute the instructions stored in the memory, so that the first terminal executes the method in the third aspect or any one of the implementation manners of the third aspect.
第十方面,本申请提供一种第二终端,所述第二终端包括处理器和存储器。所述处理器、所述存储器进行相互的通信。所述处理器用于执行所述存储器中存储的指令,以使得第二终端执行如第四方面或第四方面的任一种实现方式中的方法。In a tenth aspect, the present application provides a second terminal, where the second terminal includes a processor and a memory. The processor and the memory communicate with each other. The processor is configured to execute the instructions stored in the memory, so that the second terminal executes the method in the fourth aspect or any one of the implementation manners of the fourth aspect.
第十一方面,本申请提供一种云手机,所述云手机包括处理器和存储器。所述处理器、所述存储器进行相互的通信。所述处理器用于执行所述存储器中存储的指令,以使得云手机执行如第五方面或第五方面的任一种实现方式中的方法。In an eleventh aspect, the present application provides a cloud phone, where the cloud phone includes a processor and a memory. The processor and the memory communicate with each other. The processor is configured to execute the instructions stored in the memory, so that the cloud mobile phone executes the method in the fifth aspect or any one of the implementation manners of the fifth aspect.
第十二方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示第一终端执行上述第三方面或第三方面的任一种实现方式所述的方法。In a twelfth aspect, the present application provides a computer-readable storage medium, where an instruction is stored in the computer-readable storage medium, and the instruction instructs a first terminal to execute the third aspect or any implementation manner of the third aspect the method described.
第十三方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示第二终端执行上述第四方面或第四方面的任一种实现方式所述的方法。In a thirteenth aspect, the present application provides a computer-readable storage medium, where an instruction is stored in the computer-readable storage medium, and the instruction instructs a second terminal to execute the fourth aspect or any implementation manner of the fourth aspect the method described.
第十四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示云手机执行上述第五方面或第五方面的任一种实现方式所述的方法。In a fourteenth aspect, the present application provides a computer-readable storage medium, where an instruction is stored in the computer-readable storage medium, and the instruction instructs the cloud mobile phone to execute the above fifth aspect or any implementation manner of the fifth aspect. method described.
第十五方面,本申请提供了一种包含指令的计算机程序产品,当其在第一终端上运行时,使得第一终端执行上述第三方面或第三方面的任一种实现方式所述的方法。In a fifteenth aspect, the present application provides a computer program product including instructions, which, when running on the first terminal, enables the first terminal to execute the third aspect or any one of the implementation manners of the third aspect. method.
第十六方面,本申请提供了一种包含指令的计算机程序产品,当其在第二终端上运行时,使得第二终端执行上述第四方面或第四方面的任一种实现方式所述的方法。In a sixteenth aspect, the present application provides a computer program product including instructions, which, when running on a second terminal, enables the second terminal to execute the fourth aspect or any one of the implementation manners of the fourth aspect. method.
第十七方面,本申请提供了一种包含指令的计算机程序产品,当其在云手机上运行时,使得云手机执行上述第五方面或第五方面的任一种实现方式所述的方法。In a seventeenth aspect, the present application provides a computer program product containing instructions, which when run on a cloud mobile phone, enables the cloud mobile phone to execute the method described in the fifth aspect or any one of the implementation manners of the fifth aspect.
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。On the basis of the implementation manners provided by the above aspects, the present application may further combine to provide more implementation manners.
附图说明Description of drawings
为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。In order to illustrate the technical methods of the embodiments of the present application more clearly, the following briefly introduces the accompanying drawings used in the embodiments.
图1为本申请实施例提供的一种基于云手机的设计系统的系统架构示意图;1 is a schematic diagram of the system architecture of a design system based on a cloud phone provided by an embodiment of the present application;
图2为本申请实施例提供的一种数据中心的系统架构示意图;2 is a schematic diagram of a system architecture of a data center according to an embodiment of the present application;
图3为本申请实施例提供的一种设计应用的结构示意图;3 is a schematic structural diagram of a design application provided by an embodiment of the present application;
图4为本申请实施例提供的一种基于云手机的设计方法的交互流程图;FIG. 4 is an interactive flowchart of a design method based on a cloud phone provided by an embodiment of the present application;
图5a至图5e为本申请实施例提供的一种第一终端的界面示意图;5a to 5e are schematic interface diagrams of a first terminal according to an embodiment of the present application;
图6为本申请实施例提供的一种渲染资源池的示意图;6 is a schematic diagram of a rendering resource pool provided by an embodiment of the present application;
图7a至图7e为本申请实施例提供的一种第三终端的界面示意图;7a to 7e are schematic interface diagrams of a third terminal according to an embodiment of the present application;
图8为本申请实施例提供的一种第一终端的结构示意图;FIG. 8 is a schematic structural diagram of a first terminal according to an embodiment of the present application;
图9为本申请实施例提供的一种第二终端的结构示意图;FIG. 9 is a schematic structural diagram of a second terminal according to an embodiment of the present application;
图10为本申请实施例提供的一种服务器的结构示意图;FIG. 10 is a schematic structural diagram of a server according to an embodiment of the present application;
图11为本申请实施例提供的一种第一客户端的结构示意图;FIG. 11 is a schematic structural diagram of a first client according to an embodiment of the present application;
图12为本申请实施例提供的一种第二客户端的结构示意图;FIG. 12 is a schematic structural diagram of a second client according to an embodiment of the present application;
图13为本申请实施例提供的一种云手机的结构示意图。FIG. 13 is a schematic structural diagram of a cloud mobile phone according to an embodiment of the present application.
具体实施方式detailed description
本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。The terms "first" and "second" in the embodiments of the present application are only used for the purpose of description, and cannot be understood as indicating or implying relative importance or implying the number of indicated technical features. Thus, a feature defined as "first" or "second" may expressly or implicitly include one or more of that feature.
首先对本申请实施例中所涉及到的一些技术术语进行介绍。First, some technical terms involved in the embodiments of this application are introduced.
为了便于理解本申请实施例,首先,对本申请涉及的部分术语进行解释说明。In order to facilitate the understanding of the embodiments of the present application, first, some terms involved in the present application are explained.
云手机(cloud phone):一种在物理服务器中运行的带有手机操作系统,同时具有虚拟手机功能的云服务。该云服务通常利用容器(container)实现,其本质是将手机上的应用转移到数据中心的物理服务器中的容器运行,通过容器使得不同的云手机之间相互隔离,互不干扰。云手机可以安装手机应用,这些手机应用在云手机中运行,运行过程中产生的音视频流可发送至本地手机进行显示及播放。本地手机根据在本地显示和播放的音视频流产生的控制命令也可以发送至云手机,云手机根据控制命令控制应用的运行状态,因此,本地手机的手机应用可转移到数据中心中的云手机运行,本地手机无需安装大量耗费硬件资源的手机应用,例如二维或三维游戏、行业设计软件等,亦无需安装大量的手机应用(可将该些手机应用卸载到云手机中),可以实现本地轻量化。并且,由于手机应用在云手机运行,本地手机无需较高的硬件配置也可以让用户有机会使用具有较高硬件配置需求的手机应用,因此无需因更高的硬件需求而更换本地手机。Cloud phone: A cloud service with a mobile phone operating system running on a physical server and a virtual phone function. The cloud service is usually implemented by using a container. The essence is to transfer the application on the mobile phone to the container running in the physical server of the data center. The container isolates different cloud mobile phones from each other without interfering with each other. The cloud mobile phone can install mobile phone applications, these mobile phone applications run in the cloud mobile phone, and the audio and video streams generated during the running process can be sent to the local mobile phone for display and playback. The control commands generated by the local mobile phone according to the audio and video streams displayed and played locally can also be sent to the cloud mobile phone. The cloud mobile phone controls the running state of the application according to the control command. Therefore, the mobile phone application of the local mobile phone can be transferred to the cloud mobile phone in the data center. To run, the local mobile phone does not need to install a large number of mobile phone applications that consume a lot of hardware resources, such as 2D or 3D games, industry design software, etc. Lightweight. Moreover, since the mobile phone application runs on the cloud mobile phone, the local mobile phone does not require high hardware configuration to allow users to have the opportunity to use mobile phone applications with high hardware configuration requirements, so there is no need to replace the local mobile phone due to higher hardware requirements.
值得注意的是,云手机也可以利用虚拟机实现,本申请实施例对此不作限定。It should be noted that the cloud mobile phone can also be implemented by using a virtual machine, which is not limited in this embodiment of the present application.
虚拟现实(virtual reality,VR):也称虚拟环境,是通过计算设备模拟产生一个三维空间的虚拟世界,提供用户关于视觉等感官的模拟,让用户感觉仿佛身历其境,可以即时、没有限制地观察三维空间内的事物。用户进行位置移动时,计算设备可以立即进行复杂的运算,将精确的三维世界影像传回以产生临场感。Virtual reality (VR): also known as virtual environment, is a virtual world that simulates a three-dimensional space through computing equipment, provides users with a simulation of vision and other senses, and makes users feel as if they are in the real world. Observe things in three-dimensional space. When the user moves, the computing device can immediately perform complex calculations, sending back an accurate 3D image of the world to create a sense of presence.
VR终端:一种具有VR功能的终端。VR终端具体可以分为一体式和分体式两种类型。所谓一体式是指计算和显示功能集成在同一设备,所谓分体式是指计算和显示功能分别由不同设备实现。在一些实现方式中,分体机包括主机盒子和显示设备。主机盒子用于进行 计算以为显示设备提供影像。该主机盒子可以是游戏机等专用设备,或者是个人计算机(personal computer,PC)、智能手机等通用设备。显示设备用于显示主机盒子提供的影像。该显示设备可以是支持VR的头盔、头显、眼镜、手表等可穿戴设备。在一些情况下,也可以将分体机中的显示设备称为VR终端,该VR终端还可以基于主机盒子类型分为PC VR和移动VR。VR terminal: A terminal with VR function. VR terminals can be divided into two types: integrated and split. The so-called integrated type means that the calculation and display functions are integrated in the same device, and the so-called split type means that the calculation and display functions are implemented by different devices respectively. In some implementations, the split machine includes a main box and a display device. The host box is used to perform calculations to provide images to the display device. The host box may be a special device such as a game console, or a general device such as a personal computer (PC), a smart phone, and the like. Display devices are used to display images provided by the host box. The display device may be a wearable device such as a VR-supported helmet, head-mounted display, glasses, and watch. In some cases, the display device in the split machine can also be called a VR terminal, and the VR terminal can also be divided into PC VR and mobile VR based on the main box type.
VR终端可以应用到工业设计领域,从而为设计人员提供新的交互方式。具体地,VR终端可以生成虚拟设计环境,设计人员可以在该虚拟设计环境中,通过双手进行人机交互。并且,设计人员还可以和其他人员共同在该虚拟设计环境中进行人机交互,以协同完成设计,如此,可以大幅提升设计效率和设计质量。然而,上述虚拟设计环境支持参与设计的人数有限,通常为8至10人,难以满足业务需求。VR terminals can be applied to the field of industrial design to provide designers with a new way of interaction. Specifically, the VR terminal can generate a virtual design environment, and in the virtual design environment, designers can perform human-computer interaction with both hands. In addition, designers can also perform human-computer interaction with other personnel in the virtual design environment to complete the design collaboratively, which can greatly improve design efficiency and design quality. However, the above-mentioned virtual design environment supports a limited number of people participating in the design, usually 8 to 10 people, which is difficult to meet business needs.
为了解决上述技术问题,本申请实施例提供一种基于云手机的设计方法及系统,该系统包括云手机和至少一个客户端,至少一个客户端分别运行于一个终端。该方法包括以下步骤:In order to solve the above technical problems, embodiments of the present application provide a design method and system based on a cloud phone, the system includes a cloud phone and at least one client, and the at least one client runs on a terminal respectively. The method includes the following steps:
云手机接收至少一个客户端中的一个或者任意组合发送的至少一个交互信息,根据所述至少一个交互信息运行设计应用,以及根据设计应用运行过程渲染视频流;其中,所述至少一个交互信息来自于至少一个客户端中的一个或者任意组合的用户通过所述设计界面触发的设计操作;The cloud phone receives at least one interaction information sent by one or any combination of at least one client, runs a design application according to the at least one interaction information, and renders a video stream according to the design application running process; wherein the at least one interaction information comes from A design operation triggered by one or any combination of users in at least one client through the design interface;
云手机向至少一个客户端发送视频流,以便至少一个客户端根据视频流在设计界面显示设计画面。The cloud phone sends a video stream to at least one client, so that the at least one client displays a design screen on the design interface according to the video stream.
本申请实施例基于云手机的运算能力可以弹性伸缩的优势,利用云手机在云端渲染视频流,如此,至少一个客户端可以根据视频流在设计界面中显示设计画面。一方面可以实现支持海量用户在线协同设计;另一方面,将耗费大量运算能力的渲染等工作卸载到云手机中实现,可以减轻终端的硬件规格需求,节约成本,具有较高可用性。Based on the advantage that the computing capability of the cloud mobile phone can be elastically scaled, the embodiments of the present application utilize the cloud mobile phone to render video streams in the cloud, so that at least one client can display a design screen in the design interface according to the video stream. On the one hand, it can support the online collaborative design of a large number of users; on the other hand, offloading work such as rendering that consumes a lot of computing power to the cloud phone can reduce the hardware specification requirements of the terminal, save costs, and have high availability.
下文将围绕以上介绍的总体思路对本申请实施例作出详细介绍。The embodiments of the present application will be described in detail below based on the general idea introduced above.
首先请参见图1,图1是根据本申请实施例的设计系统的系统架构示意图。First, please refer to FIG. 1 . FIG. 1 is a schematic diagram of a system architecture of a design system according to an embodiment of the present application.
如图1所示,本申请实施例的设计系统包括接入网络150的第一终端21、第二终端22、第三终端23、以及数据中心200。As shown in FIG. 1 , the design system of the embodiment of the present application includes a first terminal 21 , a second terminal 22 , a third terminal 23 , and a data center 200 that access the network 150 .
第一终端21、第二终端22、第三终端23中安装有设计应用的客户端,分别为第一客户端、第二客户端以及第三客户端,第一客户端、第二客户端以及第三客户端与数据中心200建立连接,并进行数据交互。The first terminal 21, the second terminal 22, and the third terminal 23 are installed with clients for designing applications, which are the first client, the second client, and the third client, respectively, the first client, the second client, and the The third client establishes a connection with the data center 200 and performs data interaction.
值得注意的是,本申请实施例支持的客户端数量可以是任意一个或多个,对应的终端数量也可以是任意一个或多个。图1仅以终端数量为3个进行示例说明。It should be noted that the number of clients supported by this embodiment of the present application may be any one or more, and the corresponding number of terminals may also be any one or more. FIG. 1 only takes the number of terminals as 3 for illustration.
并且,客户端运行在终端上,本申请实施例中客户端执行的动作可以认为是由运行该客户端的终端执行。In addition, the client runs on the terminal, and the actions performed by the client in this embodiment of the present application may be considered to be performed by the terminal running the client.
数据中心200位于网络侧,数据中心200中设置有云手机资源池100和云手机管理节点101。云手机资源池100中包括至少一个云手机,例如可以包括云手机102、云手机103、……。至少一个云手机中安装有设计应用。例如,如图1所示,云手机102中安装 有设计应用1、设计应用2、设计应用3以及设计应用4,云手机103中安装有设计应用5。设计应用1至5可以是建筑设计应用、装修设计应用、集成电路设计应用、服装设计应用、广告设计应用等等。The data center 200 is located on the network side, and a cloud mobile phone resource pool 100 and a cloud mobile phone management node 101 are set in the data center 200 . The cloud mobile phone resource pool 100 includes at least one cloud mobile phone, for example, may include a cloud mobile phone 102, a cloud mobile phone 103, . . . Design applications are installed in at least one cloud phone. For example, as shown in FIG. 1 , design application 1, design application 2, design application 3 and design application 4 are installed in the cloud phone 102, and design application 5 is installed in the cloud phone 103. Design applications 1 to 5 may be architectural design applications, decoration design applications, integrated circuit design applications, clothing design applications, advertising design applications, and the like.
在可选实施例中,终端可例如为VR终端,如PC VR终端,或者是VR眼镜、VR头盔等移动VR终端。在另一实施例中,终端也可例如为平板电脑、个人数字助理、笔记本电脑等平面终端。上述终端设置有语音收集设备和摄像头。图1以第一终端21为VR终端,如VR头盔,第二终端22为平面终端,如应用于会议室、教室的大屏显示系统,第三终端23为便携的平面终端,如智能手机进行示例说明。In an optional embodiment, the terminal may be, for example, a VR terminal, such as a PC VR terminal, or a mobile VR terminal such as VR glasses and VR helmets. In another embodiment, the terminal may also be, for example, a flat terminal such as a tablet computer, a personal digital assistant, and a notebook computer. The above terminal is provided with a voice collection device and a camera. In FIG. 1 , the first terminal 21 is a VR terminal, such as a VR helmet, the second terminal 22 is a flat terminal, such as a large-screen display system used in conference rooms and classrooms, and the third terminal 23 is a portable flat terminal, such as a smart phone. Example description.
在本申请实施例中,针对一个项目进行设计的至少一个用户形成一个用户组,例如图1中的用户11、用户12、用户13形成一个用户组。该用户组中的任意一个用户可以通过运行于其终端上的客户端,如用户11可以通过运行于终端21上的第一客户端启动协同设计,云手机如云手机103响应于该操作,生成界面数据流,并向用户组的各个用户对应的客户端发送界面数据流,如此用户组的各个客户端如第一客户端、第二客户端、第三客户端根据该界面数据流生成设计界面。In this embodiment of the present application, at least one user who designs a project forms a user group, for example, user 11 , user 12 , and user 13 in FIG. 1 form a user group. Any user in the user group can use the client running on his terminal. For example, user 11 can start the collaborative design through the first client running on the terminal 21. In response to this operation, the cloud mobile phone such as cloud mobile phone 103 generates a interface data stream, and send the interface data stream to the client corresponding to each user of the user group, so that each client of the user group, such as the first client, the second client, and the third client, generates the design interface according to the interface data stream .
用户11、用户12、用户13中的至少一个用户可以通过设计界面触发设计操作,例如可以通过手势触发设计操作,或者通过触控、语音控制等方式触发设计操作,客户端如第一客户端、第二客户端、第三客户端中的至少一个客户端根据该设计操作产生交互信息,并向云手机103发送交互信息。At least one of User 11, User 12, and User 13 can trigger the design operation through the design interface, for example, the design operation can be triggered through gestures, or the design operation can be triggered through touch, voice control, etc. At least one of the second client and the third client generates interaction information according to the design operation, and sends the interaction information to the cloud phone 103 .
云手机103根据该交互信息运行设计应用,如运行设计应用5,以及根据设计应用运行过程渲染视频流,然后向用户组的各个用户对应的客户端发送视频流,第一客户端、第二客户端和第三客户端根据该视频流在设计界面中显示设计画面。The cloud phone 103 runs the design application according to the interaction information, such as running the design application 5, and renders the video stream according to the running process of the design application, and then sends the video stream to the client corresponding to each user of the user group, the first client, the second client The terminal and the third client display the design picture in the design interface according to the video stream.
为了充分说明,以下请参见图2,图2是根据本申请实施例的数据中心200的系统架构示意图,如图2所示,数据中心200包括云手机管理节点101和云手机资源池100,其中,云手机资源池100包括多个物理服务器110、服务器120……,物理服务器可以是通用的物理服务器,例如,ARM服务器或X86服务器,本申请实施例不作具体限定。For full explanation, please refer to FIG. 2 below. FIG. 2 is a schematic diagram of a system architecture of a data center 200 according to an embodiment of the present application. As shown in FIG. 2 , the data center 200 includes a cloud mobile phone management node 101 and a cloud mobile phone resource pool 100 , wherein , the cloud mobile phone resource pool 100 includes a plurality of physical servers 110, 120, .
其中,云手机资源池100中的每一个服务器包括硬件资源和软件资源,硬件资源包括网卡、处理器、存储器……等服务器通用的硬件设备,其中,处理器可以包括中央处理器(central processing unit,CPU)和图形处理器(graphics processing unit,GPU)。一个服务器可以包括至少一个CPU以及至少一个GPU。图2以一个服务器包括多个CPU和多个GPU进行示例说明。软件资源包括服务器操作系统、运行在服务器操作系统上的至少一个容器以及云手机管理节点代理模块。具体地,图1中的云手机102可通过图2中的容器103实现,容器103中安装有手机操作系统,设计应用1-4运行在手机操作系统上;图1中的云手机103可通过图2中的容器102实现,容器102中亦安装有手机操作系统,设计应用5运行在手机操作系统上。设计应用1至4和设计应用5通过容器实现隔离。Among them, each server in the cloud mobile phone resource pool 100 includes hardware resources and software resources, and the hardware resources include hardware devices common to servers such as network cards, processors, memory, etc., wherein the processors may include a central processing unit (central processing unit). , CPU) and graphics processing unit (graphics processing unit, GPU). A server may include at least one CPU and at least one GPU. FIG. 2 illustrates that a server includes multiple CPUs and multiple GPUs. The software resources include a server operating system, at least one container running on the server operating system, and a cloud mobile phone management node agent module. Specifically, the cloud mobile phone 102 in FIG. 1 can be implemented by the container 103 in FIG. 2 . The mobile phone operating system is installed in the container 103, and the design applications 1-4 run on the mobile phone operating system; the cloud mobile phone 103 in FIG. The container 102 in FIG. 2 is implemented, and a mobile phone operating system is also installed in the container 102, and the design application 5 runs on the mobile phone operating system. Design applications 1 to 4 and design application 5 are isolated by the container.
云手机管理代理节点代理模块对容器实现全生命周期的管理,并可以用于监控和收集服务器的容器信息,并将该服务器信息实时上报至云手机管理节点101。举例来说,服务器110上的云手机管理代理节点代理模块1011可以监控和收集服务器110的容器信息,云手机管理代理节点代理模块1011接收云手机管理节点101发送的云手机控制命令,云手机管理代理节点代理模块1011可以根据云手机控制命令控制服务器110上的容器102和容器 103的工作状态,云手机管理代理节点代理模块1012还用于接收云手机管理节点101发送的云手机控制命令,云手机管理代理节点代理模块1011可以根据云手机控制命令控制服务器120上的容器104和容器105的工作状态。The cloud mobile phone management agent node agent module implements the full life cycle management of the container, and can be used to monitor and collect the container information of the server, and report the server information to the cloud mobile phone management node 101 in real time. For example, the cloud phone management agent node agent module 1011 on the server 110 can monitor and collect the container information of the server 110, the cloud phone management agent node agent module 1011 receives the cloud phone control command sent by the cloud phone management node 101, and the cloud phone management The proxy node proxy module 1011 can control the working state of the container 102 and the container 103 on the server 110 according to the cloud mobile phone control command. The cloud mobile phone management proxy node proxy module 1012 is also used to receive the cloud mobile phone control command sent by the cloud mobile phone management node 101. The mobile phone management proxy node proxy module 1011 can control the working status of the container 104 and the container 105 on the server 120 according to the cloud mobile phone control command.
云手机以容器的形式与服务器上其他的云手机共享硬件资源和操作系统,每个容器可以包括云手机所需的应用程序和每个应用程序所需的依赖资源,应用程序所需的依赖资源可以是前述内容中的核心库和系统库。其中,每个云手机和其他云手机共享服务器的硬件资源和操作系统。具体地,不同服务器的硬件资源可以通过虚拟化形成资源池。例如,不同服务器的GPU等渲染资源可以通过虚拟化,形成支持动态分配、灵活调度、跨域共享的渲染资源池。The cloud phone shares hardware resources and operating systems with other cloud phones on the server in the form of containers. Each container can include the applications required by the cloud phone and the dependent resources required by each application, and the dependent resources required by the application. It can be the core library and system library in the previous content. Among them, each cloud phone and other cloud phones share the server's hardware resources and operating system. Specifically, hardware resources of different servers can be virtualized to form a resource pool. For example, rendering resources such as GPUs of different servers can be virtualized to form a rendering resource pool that supports dynamic allocation, flexible scheduling, and cross-domain sharing.
换句话说,各个容器没有自己的内核,容器内的应用程序进程直接运行在服务器的内核上,各个云手机可以相互独立地直接运行于服务器硬件上,创造出应用程序的独立沙箱运行环境。In other words, each container does not have its own kernel, the application process in the container runs directly on the server's kernel, and each cloud phone can run directly on the server hardware independently of each other, creating an independent sandbox running environment for applications.
具体实现中,云手机管理节点和部署在每个服务器上的云手机管理代理节点代理模块可以基于Kubernetes、Docker等容器管理系统实现。In the specific implementation, the cloud phone management node and the cloud phone management agent node agent module deployed on each server can be implemented based on container management systems such as Kubernetes and Docker.
在其他实施例中,也可以通过虚拟机实现云手机,本申请对此不做限定。In other embodiments, the cloud phone may also be implemented by a virtual machine, which is not limited in this application.
为了使得本申请的技术方案更加清楚、易于理解,以下请参见图3,图3是根据本申请实施例的设计应用的结构示意图。为了便于描述,图3以设计应用1进行示例说明。如图3所示,设计应用1包括设计模块和渲染模块。其中,设计模块用于构建模型,以构建三维(three dimension,3D)模型为例,设计模块可以采集模型参数,然后对模型参数进行处理,接着进行贴图,从而构建出3D模型。渲染模块用于根据3D模型渲染出视频流。该视频流至少包括画面流(也可以称为图像流),画面流可以用于生成设计画面,如设计对象的3D画面。In order to make the technical solution of the present application clearer and easier to understand, please refer to FIG. 3 below, which is a schematic structural diagram of a design application according to an embodiment of the present application. For ease of description, FIG. 3 uses design application 1 as an example. As shown in FIG. 3 , the design application 1 includes a design module and a rendering module. Among them, the design module is used to construct a model. Taking the construction of a three-dimensional (3D) model as an example, the design module can collect model parameters, process the model parameters, and then map them to construct a 3D model. The rendering module is used to render the video stream according to the 3D model. The video stream includes at least a picture stream (also referred to as an image stream), and the picture stream can be used to generate a design picture, such as a 3D picture of a design object.
在一些可能的实现方式中,设计应用1还可以包括语音处理模块。语音处理模块用于接收至少一个客户端的语音,将该客户端的语音同步至其他客户端,从而实现用户交流。其中,语音对应的音频流可以独立于上述画面流,具体地,云手机可以将音频流和画面流分别发送至客户端。当然,语音对应的音频流也可以和画面流进行混合,渲染得到包括音频流的视频流。In some possible implementations, the design application 1 may also include a speech processing module. The voice processing module is used for receiving the voice of at least one client, and synchronizing the voice of the client to other clients, so as to realize user communication. The audio stream corresponding to the voice may be independent of the above-mentioned picture stream. Specifically, the cloud phone may send the audio stream and the picture stream to the client respectively. Of course, the audio stream corresponding to the voice can also be mixed with the picture stream to render a video stream including the audio stream.
在一些可能的实现方式中,设计应用1还可以包括权限管理模块。该权限管理模块用于管理各用户的设计权限。例如,权限管理模块可以为用户组中的若干用户提供读写权限,或者为用户组中的用户提供只读权限。其中,读写权限是指可以参与设计,只读权限是指可以观看设计过程,但不执行设计操作。In some possible implementations, the design application 1 may further include a rights management module. The authority management module is used to manage the design authority of each user. For example, the rights management module can provide read and write rights for several users in the user group, or provide read-only rights for users in the user group. Among them, the read-write permission means that you can participate in the design, and the read-only permission means that you can watch the design process, but do not perform design operations.
此外,权限管理模块还用于对具有读写权限的用户的控制权限进行管理调度。例如,用户可以通过客户端发送控制权限获取请求,权限管理模块响应于该请求,为用户分配控制权限。如此,用户可以通过设计界面进行“写”操作,具体是进行设计操作,从而进行在线协同设计。需要说明的是,权限管理模块可以在同一时刻为一个用户提供控制权限,也可以在同一时刻为多个用户提供控制权限,本申请实施例对此不作限定。In addition, the rights management module is also used to manage and schedule the control rights of users with read and write rights. For example, the user may send a request for obtaining control authority through the client, and the authority management module assigns the control authority to the user in response to the request. In this way, the user can perform a "write" operation, specifically a design operation, through the design interface, so as to perform an online collaborative design. It should be noted that the authority management module may provide control authority for one user at the same time, and may also provide control authority for multiple users at the same time, which is not limited in this embodiment of the present application.
在一些可能的实现方式中,上述渲染模块、语言处理模块、权限管理模块也可以从设计应用中独立,通过独立的应用实现相应的功能。例如通过独立的权限管理应用实现对控 制权限等进行管理调度。In some possible implementation manners, the above-mentioned rendering module, language processing module, and rights management module may also be independent from the design application, and corresponding functions can be implemented through independent applications. For example, the management and scheduling of control rights can be realized through an independent rights management application.
以下基于图1和图2所介绍的系统架构对本申请实施例涉及的设计方法做出具体说明。The following specifically describes the design method involved in the embodiments of the present application based on the system architecture introduced in FIG. 1 and FIG. 2 .
请参见图4,图4是根据本申请实施例的基于云手机的设计方法的交互流程图,本申请实施例的设计方法包括以下步骤:Please refer to FIG. 4. FIG. 4 is an interaction flow chart of a design method based on a cloud phone according to an embodiment of the present application. The design method in an embodiment of the present application includes the following steps:
S101:第一客户端发送设计应用启动请求至云手机管理服务节点101。S101: The first client sends a design application startup request to the cloud mobile phone management service node 101.
设计应用启动请求包括设计应用的标识,用于启动相应的设计应用。在一些可能的实现方式中,设计应用启动请求还可以包括用户标识。该用户标识至少包括触发设计应用启动操作的用户的标识。进一步地,该用户标识还可以包括参与设计的其他用户的标识。在一些实施例中,第一客户端也可以在设计应用被启动后,或者设计文档被打开或被创建后,再发送用户标识。The design application start request includes an identifier of the design application, and is used to start the corresponding design application. In some possible implementations, the design application launch request may also include a user identification. The user identification includes at least the identification of the user who triggered the start operation of the design application. Further, the user identification may also include identifications of other users participating in the design. In some embodiments, the first client may also send the user identification after the design application is launched, or after the design document is opened or created.
上述设计应用的标识、用户标识是具有唯一性的标识,例如可以是名称、编码等等。例如,设计应用的标识可以是设计应用的名称,用户标识可以是用户的电子邮箱地址。The identifiers and user identifiers of the above-mentioned design applications are unique identifiers, such as names, codes, and the like. For example, the identity of the design application may be the name of the design application, and the user identity may be the user's email address.
为了便于理解,下面可结合图5a至图5b一并参考,其中图5a至图5b为根据本申请实施例的第一终端21的屏幕显示画面示意图。For ease of understanding, reference may be made below in conjunction with FIGS. 5 a to 5 b , wherein FIGS. 5 a to 5 b are schematic diagrams of screen display images of the first terminal 21 according to an embodiment of the present application.
请参见图5a,如图5a所示,用户11佩戴该第一终端21,第一终端21具有头戴式显示设备(简称为头显),头显的主显示界面中设置有第一客户端的图标,用户11可以通过肢体动作,如手势触发第一客户端的图标,第一终端21响应于该操作启动第一客户端,并与云手机管理服务节点101建立连接。云手机管理服务节点101可以向第一客户端返回该云手机管理服务节点101管理的云手机上安装的应用列表,如包括设计应用1至7的应用列表。Referring to FIG. 5a, as shown in FIG. 5a, the user 11 wears the first terminal 21, the first terminal 21 has a head-mounted display device (referred to as a head-mounted display), and the main display interface of the head-mounted display is provided with the first client's icon, the user 11 can trigger the icon of the first client through physical actions, such as gestures, and the first terminal 21 starts the first client in response to the operation, and establishes a connection with the cloud phone management service node 101 . The cloud phone management service node 101 may return a list of applications installed on the cloud phone managed by the cloud phone management service node 101 to the first client, such as an application list including design applications 1 to 7.
接着参见图5b,如图5b所示,第一客户端根据云手机管理服务节点101返回的应用列表在云手机应用管理界面显示应用列表中各应用的图标。用户11可以通过手势触发应用的图标,从而触发启动应用的操作。例如,用户11可以通过手势触发设计应用1的图标,从而触发启动设计应用1的操作。第一客户端响应于用户11的上述操作,生成设计应用启动请求,并向云手机管理服务节点101发送设计应用启动请求。Next, referring to FIG. 5 b , as shown in FIG. 5 b , the first client displays icons of each application in the application list on the cloud mobile phone application management interface according to the application list returned by the cloud mobile phone management service node 101 . The user 11 can trigger the icon of the application through a gesture, thereby triggering the operation of starting the application. For example, the user 11 can trigger the icon of the design application 1 through a gesture, thereby triggering the operation of starting the design application 1 . In response to the above operation of the user 11 , the first client generates a design application start request, and sends the design application start request to the cloud mobile phone management service node 101 .
其中,设计应用启动请求包括设计应用的标识,例如包括设计应用1的名称,由此可以指示启动设计应用1。设计应用启动请求还包括用户标识,例如包括用户11、用户12以及用户13的标识。Wherein, the design application startup request includes the identifier of the design application, for example, the name of the design application 1 , thereby instructing to start the design application 1 . The design application start request also includes user identifications, for example including identifications of user 11 , user 12 and user 13 .
S102:云手机管理服务节点101确定请求启动的设计应用所在的云手机。S102: The cloud phone management service node 101 determines the cloud phone where the design application requested to be started is located.
云手机管理服务节点101用于管理至少一个云手机。云手机管理服务节点101中存储有其管理的至少一个云手机和云手机上安装的应用的对应关系。例如,云手机102和设计应用1至4的对应关系,云手机105和设计应用5的对应关系。The cloud mobile phone management service node 101 is used to manage at least one cloud mobile phone. The cloud phone management service node 101 stores the correspondence between at least one cloud phone managed by the cloud phone and an application installed on the cloud phone. For example, the corresponding relationship between the cloud phone 102 and the design applications 1 to 4, and the corresponding relationship between the cloud phone 105 and the design application 5.
基于此,云手机管理服务节点101可以根据设计应用启动请求中设计应用的标识,以及云手机和云手机上安装的应用的对应关系,确定请求启动的设计应用所在的云手机。例如,请求启动的设计应用为设计应用1时,云手机管理服务节点101可以根据对应关系确定设计应用1所在的云手机为云手机102。Based on this, the cloud phone management service node 101 can determine the cloud phone where the design application requested to be started is located according to the design application identifier in the design application startup request and the corresponding relationship between the cloud phone and the application installed on the cloud phone. For example, when the design application requested to be started is the design application 1, the cloud mobile phone management service node 101 may determine that the cloud mobile phone where the design application 1 is located is the cloud mobile phone 102 according to the corresponding relationship.
S103:云手机管理服务节点101向对应的云手机(例如为云手机102)路由设计应用启动请求。S103: The cloud mobile phone management service node 101 routes the design application start request to the corresponding cloud mobile phone (for example, the cloud mobile phone 102).
具体地,云手机管理服务节点101将接收到的设计应用启动请求,发送至请求启动的设计应用所在的云手机,例如为云手机102。Specifically, the cloud mobile phone management service node 101 sends the received design application start request to the cloud mobile phone where the design application requested to be started is located, such as the cloud mobile phone 102 .
本申请实施例仅仅以云手机102进行示例说明,当请求启动的设计应用为其他设计应用时,云手机管理服务节点101还可以将设计应用启动请求发送至其他云手机。例如,请求启动的设计应用为设计应用5时,云手机管理服务节点101可以将设计应用启动请求发送至云手机103。The embodiment of the present application only uses the cloud mobile phone 102 as an example. When the design application requested to be started is another design application, the cloud mobile phone management service node 101 may also send the design application start request to other cloud mobile phones. For example, when the design application requested to be activated is the design application 5, the cloud phone management service node 101 may send the design application activation request to the cloud phone 103.
S104:云手机102启动设计应用(例如为设计应用1),生成设计应用的一个实例。S104: The cloud phone 102 starts a design application (for example, design application 1), and generates an instance of the design application.
设计应用是用于实现设计功能的应用程序或软件。设计应用未被启动时,设计应用的程序代码静态地存储在磁盘等外存,当设计应用被启动时,设计应用的程序代码被加载至内存,产生相应的进程。该进程可以视为设计应用的一个实例。Design applications are applications or software used to implement design functions. When the design application is not started, the program code of the design application is statically stored in an external memory such as a disk, and when the design application is started, the program code of the design application is loaded into the memory to generate a corresponding process. This process can be viewed as an instance of a design application.
其中,设计应用每被启动一次,产生一个实例。当同一设计应用被启动多次,则产生多个实例。例如,不同用户分别触发启动同一设计应用的操作,则云手机102针对不同用户分别生成该设计应用的实例。需要说明的是,云手机102针对不同用户生成的设计应用的实例相互隔离。Wherein, each time the design application is started, an instance is generated. When the same design application is launched multiple times, multiple instances are generated. For example, if different users respectively trigger operations to start the same design application, the cloud phone 102 respectively generates instances of the design application for different users. It should be noted that the instances of the design application generated by the cloud phone 102 for different users are isolated from each other.
在一些可能的方式中,云手机102允许生成设计应用的一个实例。为此,当多个用户需要启动设计应用进行协同设计时,多个用户的客户端可以分别连接不同的云手机,并获得对应云手机的控制权限,然后根据该控制权限,启动云手机上的设计应用,从而产生相应的实例。如此通过不同云手机实现设计应用的实例的隔离。In some possible ways, the cloud phone 102 allows an instance of the design application to be generated. For this reason, when multiple users need to start the design application for collaborative design, the clients of multiple users can connect to different cloud mobile phones respectively, and obtain the control authority of the corresponding cloud mobile phone, and then start the cloud mobile phone according to the control authority. Design applications, resulting in corresponding instances. In this way, the isolation of instances of design applications is achieved through different cloud phones.
S105:云手机102向第一客户端、第二客户端和第三客户端返回实例的地址和端口。S105: The cloud phone 102 returns the address and port of the instance to the first client, the second client and the third client.
S106:第一客户端、第二客户端和第三客户端根据实例的地址和端口分别和设计应用的实例建立连接。S106: The first client, the second client and the third client respectively establish connections with the instance of the design application according to the address and port of the instance.
针对设计应用的每一个实例,存在一个地址和端口。其中,地址具体可以是网络地址(Internet Protocol address,IP address),端口是具体可以是通信端口、协议端口。地址和端口是用于与实例建立连接的相关信息。For each instance of the designed application, there is an address and port. The address may specifically be a network address (Internet Protocol address, IP address), and the port may specifically be a communication port or a protocol port. The address and port are relevant information used to establish a connection with the instance.
当设计应用启动请求携带用户标识,例如携带用户11、用户12、用户13的标识,则云手机102可以向对应的用户返回实例的地址和端口,具体是向对应的用户的客户端返回实例的地址和端口。例如,云手机102可以向第一客户端、第二客户端和第三客户端返回实例的地址和端口。When the design application startup request carries a user ID, such as the IDs of user 11, user 12, and user 13, the cloud phone 102 can return the address and port of the instance to the corresponding user, specifically to the client of the corresponding user. address and port. For example, the cloud phone 102 may return the address and port of the instance to the first client, the second client, and the third client.
如此,第一客户端、第二客户端和第三客户端分别根据上述实例的地址和端口,与设计应用的实例建立连接。In this way, the first client, the second client and the third client respectively establish connections with the instance of the design application according to the address and port of the above instance.
在一些可能的实现方式中,设计应用的实例还可以对请求接入该实例的用户进行鉴权,鉴权通过后,再与相应的客户端建立连接。其中,设计应用的实例可以根据请求接入该实例的用户的用户标识,进行合法性验证,从而实现鉴权。当然,在其他可能的实现方式中,设计应用的实例还可以通过密码、验证码或者其他可以用于验证身份的信息进行鉴权,本申请实施例对此不作限定。In some possible implementation manners, the instance of the design application may also authenticate the user who requests to access the instance, and after the authentication is passed, establish a connection with the corresponding client. Wherein, the instance of the design application can perform legality verification according to the user ID of the user who requests to access the instance, so as to realize the authentication. Certainly, in other possible implementation manners, the instance of the design application may also be authenticated through a password, a verification code, or other information that can be used to verify an identity, which is not limited in this embodiment of the present application.
S107:第一客户端向云手机102上设计应用的实例发送设计文档创建请求。S107: The first client sends a design document creation request to the instance of the design application on the cloud phone 102.
设计文档创建请求用于请求创建一个新的设计文档。需要说明的是,该设计文档可以是空白设计文档,也可以是加载有模板的设计文档。在一些情况下,利用加载有模板的设计文档进行设计可以提高设计效率。A design document creation request is used to request the creation of a new design document. It should be noted that the design document may be a blank design document or a design document loaded with a template. In some cases, designing with a template-loaded design document can improve design efficiency.
在一些可能的实现方式中,第一客户端也可以请求打开一个已有的设计文档。例如,针对某个设计项目,第一客户端可以请求打开最近一次保存的、针对该设计项目的设计文档,以便基于该设计文档持续进行设计。In some possible implementations, the first client may also request to open an existing design document. For example, for a certain design project, the first client may request to open the most recently saved design document for the design project, so as to continuously design based on the design document.
为了便于理解,下面结合一具体示例进行说明。For ease of understanding, the following description is given with reference to a specific example.
参见图5c,当设计应用的实例鉴权通过后,设计应用的实例可以向对应的客户端返回该设计应用的主界面对应的界面数据流,如此,客户端可以根据该数据流生成设计应用的主界面。如图5c中1104所示,设计应用的主界面展示有最近使用的设计文档列表,具体包括文档1至文档N,此外,设计应用的主界面还展示有空白文档以及模板。Referring to Figure 5c, after the instance of the design application is authenticated, the instance of the design application can return the interface data stream corresponding to the main interface of the design application to the corresponding client, so that the client can generate the design application according to the data stream. Main interface. As shown in 1104 in FIG. 5c, the main interface of the design application displays a list of recently used design documents, specifically including document 1 to document N. In addition, the main interface of the design application also displays blank documents and templates.
用户可以点击设计文档列表中的任一文档,从而请求打开该文档,以便基于该文档继续进行设计。用户也可以点击空白文档或者点击模板1、模板2等模板文档中的任意一个,从而请求创建一个新的设计文档。The user can click on any document in the list of design documents to request that the document be opened in order to continue designing based on that document. The user can also click on the blank document or click on any one of the template documents such as Template 1, Template 2, etc., to request the creation of a new design document.
在图5c的示例中,设计应用的主界面具体可以是以窗口的形式在第一客户端的界面1100中呈现。第一客户端的界面1100还可以包括接入实例的用户的头像,如图5c中1101、1102、1103所示。当设计应用的实例接入的用户数量大于预设阈值时,第一客户端的界面1100可以呈现预设数量的用户的头像,其他用户的头像通过“…”表征。In the example of FIG. 5c , the main interface of the design application may specifically be presented in the interface 1100 of the first client in the form of a window. The interface 1100 of the first client may further include the avatar of the user accessing the instance, as shown in 1101, 1102, and 1103 in Fig. 5c. When the number of users accessed by the instance of the design application is greater than the preset threshold, the interface 1100 of the first client can display the avatars of the preset number of users, and the avatars of other users are represented by "...".
S108:云手机102上设计应用的实例创建设计文档,并生成界面数据流。S108: The instance of the design application on the cloud phone 102 creates a design document and generates an interface data stream.
S109:云手机102向第一客户端、第二客户端和第三客户端返回界面数据流。S109: The cloud phone 102 returns the interface data stream to the first client, the second client and the third client.
S110:第一客户端、第二客户端和第三客户端根据界面数据流生成设计界面。S110: The first client, the second client and the third client generate a design interface according to the interface data stream.
云手机102上设计应用的实例响应于设计文档创建请求,创建新的设计文档,并生成该设计文档的设计界面的界面数据流,然后向与该实例连接的客户端返回界面数据流,以便客户端根据界面数据流,生成设计界面。The instance of the design application on the cloud phone 102 responds to the design document creation request, creates a new design document, generates the interface data stream of the design interface of the design document, and then returns the interface data stream to the client connected to the instance, so that the client can The terminal generates the design interface according to the interface data flow.
为了便于理解,下面以设计应用1为家装设计为例进行说明。For ease of understanding, the following description is given by taking the design application 1 as home improvement design as an example.
参见图5d,用户11可以通过手势触发空白文档的图标,以请求创建一个新的空白文档。云手机102上设计应用1的实例根据该请求创建一个新的空白文档,并生成该设计文档的设计界面的界面数据流。用户11、用户12、用户13的客户端根据该界面数据流,生成图5d中如1105所示的设计界面。Referring to FIG. 5d, the user 11 can trigger the icon of the blank document through a gesture to request the creation of a new blank document. The instance of the design application 1 on the cloud phone 102 creates a new blank document according to the request, and generates an interface data flow of the design interface of the design document. The clients of the user 11, the user 12, and the user 13 generate the design interface shown as 1105 in FIG. 5d according to the interface data flow.
该设计界面中包括工具栏,如菜单工具和形状工具,菜单工具包括开始、插入、设计等菜单键,形状工具包括各种快捷形状。设计界面中还包括空白的设计区域,用户可以将形状工具中的快捷形状如“房间”、“窗户”等形状拖拽至设计区域,以进行家装设计。The design interface includes toolbars, such as menu tools and shape tools. The menu tools include menu keys such as start, insert, and design, and the shape tools include various shortcut shapes. The design interface also includes a blank design area, and users can drag and drop shortcut shapes in the shape tool, such as "room", "window" and other shapes, to the design area for home improvement design.
S111:第一客户端向云手机102上设计应用的实例发送交互信息1。S111: The first client sends interaction information 1 to the instance of the design application on the cloud phone 102.
S112:第二客户端向云手机102上设计应用的实例发送交互信息2。S112: The second client sends interaction information 2 to the instance of the design application on the cloud phone 102.
S113:第三客户端向云手机102上设计应用的实例发送交互信息3。S113: The third client sends interaction information 3 to the instance of the design application on the cloud phone 102.
具体地,用户可以通过各自客户端的设计界面触发设计操作。根据客户端所在终端类型不同,用户可以采用不同方式触发设计操作。例如,终端为手机、平板电脑、笔记本电脑、台式机等平面终端时,用户可以通过触摸或者键鼠等方式触发设计操作。又例如,终端为VR头盔、VR眼镜等VR终端时,用户可以通过肢体动作(如手势等)触发设计操作。Specifically, the user can trigger the design operation through the design interface of the respective client. Depending on the type of terminal where the client is located, the user can trigger the design operation in different ways. For example, when the terminal is a flat terminal such as a mobile phone, a tablet computer, a notebook computer, a desktop computer, etc., the user can trigger the design operation by means of touch, a keyboard and a mouse, or the like. For another example, when the terminal is a VR terminal such as a VR helmet, VR glasses, etc., the user can trigger the design operation through body movements (such as gestures, etc.).
客户端可以根据用户触发的设计操作,获得交互信息。具体地,终端为平面终端时,交互信息可以包括基于用户的触控操作或键鼠操作等生成的操作指令,如添加墙壁的操作指令、添加窗口的操作指令。终端为VR终端时,交互信息可以包括基于用户的肢体动作 确定的动作信息和位置信息中的至少一种。其中,动作信息可以包括动作类型、动作幅度等中的至少一种。位置信息可以包括特征点的位置,如手指移动起始位置,手指移动结束位置。The client can obtain interaction information according to the design operation triggered by the user. Specifically, when the terminal is a flat terminal, the interaction information may include operation instructions generated based on a user's touch operation or keyboard and mouse operation, such as an operation instruction for adding a wall and an operation instruction for adding a window. When the terminal is a VR terminal, the interaction information may include at least one of motion information and position information determined based on the user's body movements. The motion information may include at least one of motion type, motion range, and the like. The position information may include the positions of the feature points, such as the starting position of the finger movement and the ending position of the finger movement.
其中,基于不同用户触发的设计操作不同,不同客户端获得的设计信息可以是不同的。例如,第一客户端获得交互信息1,向云手机102上设计应用的实例发送交互信息1,第二客户端获得交互信息2,向云手机102上设计应用的实例发送交互信息2,第三客户端获得交互信息3,向云手机上设计应用的实例发送交互信息3。Wherein, based on different design operations triggered by different users, the design information obtained by different clients may be different. For example, the first client obtains the interaction information 1, sends the interaction information 1 to the instance of the design application on the cloud phone 102, the second client obtains the interaction information 2, sends the interaction information 2 to the instance of the design application on the cloud phone 102, and the third client obtains the interaction information 2. The client obtains the interaction information 3, and sends the interaction information 3 to the instance of the designed application on the cloud phone.
在一些可能的实现方式中,客户端可以在获得设计应用的实例分配的控制权限后,再向设计应用的实例发送交互信息。在一些实施例中,客户端同一时刻可以为一个用户分配控制权限,当用户停止操作时,该控制权限被释放,该用户或者其他用户可以再次向设计应用的实例请求分配控制权限。如此可以有效防止冲突操作或者重复操作。在另一些实施例中,客户端同一时刻也可以为多个用户分配控制权限,如此可以使得多个用户同时触发设计操作,提高设计效率。In some possible implementations, the client may send interaction information to the instance of the design application after obtaining the control authority assigned by the instance of the design application. In some embodiments, the client can assign a control permission to a user at the same time, when the user stops the operation, the control permission is released, and the user or other users can request the instance of the design application to assign the control permission again. This can effectively prevent conflicting operations or repeated operations. In other embodiments, the client can also assign control permissions to multiple users at the same time, so that multiple users can trigger design operations at the same time, thereby improving design efficiency.
需要说明的是,本申请实施例以第一客户端、第二客户端和第三客户端向云手机102上设计应用的实例发送交互信息进行示例说明,在本申请实施例其他可能的实现方式中,也可以是部分客户端向云手机102上设计应用的实例发送交互信息。例如,其他用户如用户12、用户13通过语音说明如何进行设计,用户11根据语音内容触发相应的设计操作。It should be noted that, in this embodiment of the present application, the first client, the second client, and the third client send interaction information to an instance of designing an application on the cloud mobile phone 102 for illustration, and other possible implementation manners in the embodiment of the present application , it may also be that some clients send interaction information to the instance of the application designed on the cloud phone 102 . For example, other users such as user 12 and user 13 explain how to design through voice, and user 11 triggers a corresponding design operation according to the voice content.
S114:云手机102根据交互信息运行设计应用的实例,以及根据设计应用运行过程渲染视频流。S114: The cloud phone 102 runs the instance of the design application according to the interaction information, and renders the video stream according to the running process of the design application.
具体地,云手机102上设计应用的实例可以根据交互信息1、交互信息2和交互信息3运行设计应用,例如是运行设计应用的实例。其中,不同交互信息对应不同设计应用运行过程。云手机102可以根据设计应用运行过程进行建模,然后基于建模所得的模型信息进行画面渲染,具体是对连续的多帧图像进行画面渲染,从而得到视频流。Specifically, the instance of the design application on the cloud phone 102 may run the design application according to the interaction information 1, the interaction information 2, and the interaction information 3, for example, an instance of running the design application. Wherein, different interaction information corresponds to different design application running processes. The cloud phone 102 can perform modeling according to the running process of the design application, and then perform image rendering based on the model information obtained from the modeling, specifically, performing image rendering on consecutive multi-frame images, thereby obtaining a video stream.
其中,渲染可以理解为对图像进行处理使其符合3D场景。具体地,首先定位3D场景中的摄像机,一般情况下,渲染模块或渲染应用提供有默认的摄像机,分别为与顶视图、正视图、侧视图和透视图对应的摄像机。渲染模块或渲染应用通过摄像机获取需要渲染的范围,计算光源对物体的影响,然后渲染模块或渲染应用根据物体的材质计算物体表面的颜色。其中,材质的类型不同、属性不同、纹理不同均可以产生不同的视觉效果。Among them, rendering can be understood as the processing of images to conform to the 3D scene. Specifically, the camera in the 3D scene is first positioned. In general, a rendering module or a rendering application provides a default camera, which is a camera corresponding to a top view, a front view, a side view, and a perspective view, respectively. The rendering module or rendering application obtains the range to be rendered through the camera, calculates the influence of the light source on the object, and then the rendering module or rendering application calculates the color of the surface of the object according to the material of the object. Among them, different types of materials, different properties, and different textures can produce different visual effects.
考虑到画面渲染过程通常需要大量的复杂计算,云手机可以根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,然后根据设计应用运行过程利用渲染资源渲染视频流。其中,渲染资源是指用于画面渲染的资源,具体可以是处理器,如图形处理器GPU。云手机所在硬件设备(如服务器)提供的渲染资源(如GPU)可以被池化,以便形成渲染资源池,由此实现对渲染资源的统一调度管理。Considering that the screen rendering process usually requires a lot of complex calculations, the cloud phone can obtain a target number of rendering resources from the rendering resource pool according to the running process of the design application, and then use the rendering resources to render the video stream according to the running process of the design application. The rendering resource refers to a resource used for image rendering, and may specifically be a processor, such as a graphics processor GPU. The rendering resources (such as GPU) provided by the hardware device (such as a server) where the cloud phone is located can be pooled to form a rendering resource pool, thereby realizing unified scheduling management of rendering resources.
具体地,服务器可以对渲染资源如GPU进行虚拟化,以重新定义划分渲染资源,得到可以支持动态分配、灵活调度、跨域共享的渲染资源池。参见图6,渲染资源池中包括重新定义的虚拟图形处理器(virtual graphics processing unit,vGPU)。在进行渲染时,云手机上设计应用的实例(例如是实例中的渲染模块)可以根据渲染对象不同,从渲染资源池中选择不同数量的vGPU进行渲染。例如,针对对象A,可以从渲染资源池中选择2*3个vGPU进行渲染,针对对象B可以从渲染资源池中选择4*4个vGPU进行渲染。Specifically, the server can virtualize rendering resources such as GPUs to redefine and divide rendering resources, and obtain a rendering resource pool that can support dynamic allocation, flexible scheduling, and cross-domain sharing. Referring to FIG. 6 , the rendering resource pool includes a redefined virtual graphics processing unit (virtual graphics processing unit, vGPU). When rendering, the instance of the design application on the cloud phone (for example, the rendering module in the instance) can select different numbers of vGPUs from the rendering resource pool for rendering according to different rendering objects. For example, for object A, 2*3 vGPUs may be selected from the rendering resource pool for rendering, and for object B, 4*4 vGPUs may be selected from the rendering resource pool for rendering.
其中,设计应用运行过程可以指示需要渲染的对象,云手机可以根据设计应用运行过程确定渲染所需的渲染资源的数量(例如为目标数量),从渲染资源池中获取目标数量的渲染资源,然后根据设计应用运行过程,利用目标数量的渲染资源渲染视频流。The running process of the design application can indicate the objects to be rendered, and the cloud phone can determine the number of rendering resources (for example, the target number) required for rendering according to the running process of the design application, obtain the rendering resources of the target number from the rendering resource pool, and then According to the design application running process, use the target number of rendering resources to render the video stream.
考虑到不同类型的GPU的渲染能力可以是不同的,例如ARM架构的GPU或x86架构的GPU的渲染能力可以是不同的,设计应用的实例还可以根据设计应用运行过程确定渲染所需的渲染资源的类型和数量,然后从渲染资源池中获取目标类型以及目标数量的渲染资源。例如,图6中不同颜色的vGPU表征不同类型的vGPU,云手机上设计应用的实例可以根据设计应用运行过程,获取第一数量个第一类型的vGPU,以及获取第二数量个第二类型的vGPU,用于渲染视频流。Considering that the rendering capabilities of different types of GPUs may be different, for example, the rendering capabilities of ARM-based GPUs or x86-based GPUs may be different. The instance of the design application can also determine the rendering resources required for rendering according to the running process of the design application. The type and quantity of the target, and then get the target type and target number of rendering resources from the rendering resource pool. For example, vGPUs of different colors in Figure 6 represent different types of vGPUs, and an instance of a design application on a cloud phone can obtain a first number of vGPUs of the first type and a second number of vGPUs of the second type according to the running process of the design application vGPU for rendering video streams.
在一些可能的实现方式中,云手机(具体是云手机上设计应用的实例)还可以根据设计应用运行过程,结合终端的数量从渲染资源池中获取目标数量的渲染资源。终端数量较多时,云手机可以获取较多的渲染资源进行画面渲染,以支持海量用户在线协同设计。In some possible implementation manners, the cloud phone (specifically, an instance of the design application on the cloud phone) may also obtain a target number of rendering resources from the rendering resource pool in combination with the number of terminals according to the design application running process. When the number of terminals is large, the cloud phone can obtain more rendering resources for screen rendering to support the online collaborative design of a large number of users.
进一步地,云手机还可以结合终端的类型从渲染资源池中获取目标类型以及目标数量的渲染资源,以用于画面渲染。例如,终端包括手机、平板电脑、台式机以及VR头盔、VR眼镜等类型时,云手机还可以针对不同类型的终端分别获取一组目标类型以及目标数量的渲染资源。Further, the cloud phone can also obtain the target type and target number of rendering resources from the rendering resource pool in combination with the terminal type, so as to be used for screen rendering. For example, when the terminals include mobile phones, tablet computers, desktop computers, VR helmets, VR glasses, etc., the cloud phone can also obtain a set of target types and target number of rendering resources for different types of terminals.
考虑到X86架构下云VR业务消耗巨大的带宽资源,单用户通常需要50Mbps到100Mbps的带宽资源,云手机还可以利用端侧和云侧的ARM指令的兼容性,通过端云协同渲染降低带宽,从而降低成本,便于规模化商用。Considering that cloud VR services consume huge bandwidth resources under the X86 architecture, a single user usually needs 50Mbps to 100Mbps bandwidth resources. Cloud mobile phones can also use the compatibility of ARM instructions on the device side and the cloud side to reduce bandwidth through device-cloud collaborative rendering. This reduces costs and facilitates large-scale commercial use.
具体地,云手机根据设计应用运行过程对渲染过程进行拆分,具体是生成云渲染指令流和端渲染指令流,云手机(具体是云手机上设计应用的实例)根据所述云渲染指令流,调用相应的渲染资源渲染视频流,得到第一渲染视频流。并且,云手机(具体是云手机上设计应用的实例)向至少一个客户端发送第一渲染视频流和端渲染指令流,端侧的客户端可以根据端渲染指令流,调用相应的渲染资源渲染视频流,从而得到第二渲染视频流。Specifically, the cloud phone splits the rendering process according to the running process of the design application, specifically generating a cloud rendering instruction stream and a terminal rendering instruction stream, and the cloud phone (specifically, an instance of the design application on the cloud phone) according to the cloud rendering instruction stream , call the corresponding rendering resource to render the video stream, and obtain the first rendered video stream. In addition, the cloud mobile phone (specifically, the instance of the design application on the cloud mobile phone) sends the first rendering video stream and the terminal rendering instruction stream to at least one client, and the client side of the terminal can call the corresponding rendering resource rendering according to the terminal rendering instruction stream. video stream, thereby obtaining the second rendered video stream.
至少一个客户端可以对第一渲染视频流和第二渲染视频流进行合流,获得第三渲染视频流,该第三渲染视频流是完全渲染的视频流。至少一个客户端可以根据该第三渲染视频流在设计界面显示设计画面。At least one client can combine the first rendered video stream and the second rendered video stream to obtain a third rendered video stream, where the third rendered video stream is a fully rendered video stream. At least one client can display a design picture on the design interface according to the third rendered video stream.
进一步地,在进行拆分时,云手机(具体是云手机上设计应用的实例)可以根据设计应用运行过程中渲染计算量大于计算量阈值的信息生成云渲染指令流,根据设计应用运行过程中渲染计算量小于或等于计算量阈值的信息生成端渲染指令流。Further, when splitting, the cloud phone (specifically, the instance of the design application on the cloud phone) can generate a cloud rendering instruction stream according to the information that the rendering calculation amount is greater than the calculation amount threshold during the running process of the design application, and according to the design application running process. The information for which the rendering calculation amount is less than or equal to the calculation amount threshold generates a side rendering instruction stream.
例如,背景信息通常需要消耗大量的计算量,云手机(具体是云手机上设计应用的实例)可以根据所述设计应用运行过程中的背景信息生成云渲染指令流,根据所述设计应用运行过程中的动作信息生成端渲染指令流。For example, background information usually consumes a large amount of computation, and the cloud phone (specifically, the instance of the design application on the cloud phone) can generate a cloud rendering instruction stream according to the background information during the running process of the design application, and according to the running process of the design application The action information in generates a stream of side rendering instructions.
S115:云手机102向第一客户端、第二客户端和第三客户端发送视频流。S115: The cloud phone 102 sends a video stream to the first client, the second client and the third client.
S116:第一客户端、第二客户端和第三客户端根据视频流在设计界面显示设计画面。S116: The first client, the second client, and the third client display a design picture on the design interface according to the video stream.
云手机102可以采用一组渲染资源渲染视频流,该将视频流分发至不同的客户端,如第一客户端、第二客户端和第三客户端,各个客户端接收相同的视频流,如此可以实现在不同客户端进行同屏显示。The cloud phone 102 can use a set of rendering resources to render the video stream, and distribute the video stream to different clients, such as the first client, the second client and the third client, each client receives the same video stream, so It can be displayed on the same screen on different clients.
第一客户端、第二客户端和第三客户端接收到视频流,可以进行去IP、解码和显示前 的处理,然后在设计界面显示设计画面,该设计画面具体是设计对象呈现出的画面,用户可以通过语音通话功能针对设计画面开展实时交流,实现协同设计。The first client, the second client, and the third client receive the video stream, and can perform de-IP, decoding, and pre-display processing, and then display the design screen on the design interface. The design screen is specifically the screen presented by the design object. , users can conduct real-time communication on the design screen through the voice call function to achieve collaborative design.
请参见图5e,如图5e所示,第一客户端、第二客户端、第三客户端接收视频流,根据该视频流在如图5e中1105所示的设计界面中,显示设计画面。其中,第一客户端可以根据视频流在如图5e中1105所示的设计界面中,显示如图5e中1106所示的3D设计画面。Referring to Fig. 5e, as shown in Fig. 5e, the first client, the second client, and the third client receive a video stream, and display a design screen in the design interface shown in 1105 in Fig. 5e according to the video stream. The first client can display the 3D design screen shown in 1106 in FIG. 5e in the design interface shown in 1105 in FIG. 5e according to the video stream.
在一些可能的实现方式中,云手机102可以采用多组渲染资源针对不同类型终端分别渲染视频流,将该视频流分发至对应终端的客户端,例如,将视频流1发送至第一客户端,将视频流2发送至第二客户端、第三客户端,如此各个客户端可以根据各自接收的视频流在设计界面显示相应的设计画面,并基于该设计画面进行协同设计。In some possible implementations, the cloud phone 102 may use multiple sets of rendering resources to render video streams for different types of terminals, respectively, and distribute the video streams to the clients of the corresponding terminals, for example, send video stream 1 to the first client , and send the video stream 2 to the second client and the third client, so that each client can display a corresponding design screen on the design interface according to the video stream received by each client, and perform collaborative design based on the design screen.
基于上述内容描述,本申请实施例提供了一种基于云手机的设计方法。该方法基于云手机的运算能力可以弹性伸缩的优势,利用云手机在云端渲染视频流,如此,至少一个客户端可以根据视频流在设计界面中显示设计画面。一方面可以实现支持海量用户在线协同设计;另一方面,将耗费大量运算能力的渲染等工作卸载到云手机中实现,可以减轻终端的硬件规格需求,节约成本,具有较高可用性。Based on the foregoing description, the embodiments of the present application provide a design method based on a cloud mobile phone. The method is based on the advantage that the computing power of the cloud mobile phone can be elastically scaled, and the cloud mobile phone is used to render the video stream in the cloud, so that at least one client can display the design screen in the design interface according to the video stream. On the one hand, it can support online collaborative design for a large number of users; on the other hand, offloading work such as rendering that consumes a lot of computing power to the cloud phone can reduce the hardware specification requirements of the terminal, save costs, and have high availability.
进一步地,该方法可以支持多类型终端,如VR眼镜、VR头盔等VR终端,以及手机、平板等平面终端,无需配置专用设备,满足了不同用户需求,为用户提供更好的体验。并且,用户使用移动终端就能够完成协同设计,在网络条件允许下,可以实现随时随地开展协同设计工作。Further, the method can support multiple types of terminals, such as VR terminals such as VR glasses and VR helmets, as well as flat terminals such as mobile phones and tablets, without the need to configure special equipment, which meets the needs of different users and provides users with a better experience. Moreover, the user can complete the collaborative design by using the mobile terminal, and under the permission of the network conditions, the collaborative design work can be carried out anytime and anywhere.
图4所示实施例主要从第一终端21的角度展示了多用户在线协同设计的过程,接下来结合附图从其他类型终端如第二终端22或第二终端23的角度展示多用户在线协调设计的过程。考虑到第二终端22和第三终端23均为平面终端,本申请实施例以第三终端23为例进行说明。The embodiment shown in FIG. 4 mainly shows the process of multi-user online collaborative design from the perspective of the first terminal 21 , and then shows the multi-user online coordination from the perspective of other types of terminals such as the second terminal 22 or the second terminal 23 in conjunction with the accompanying drawings. design process. Considering that both the second terminal 22 and the third terminal 23 are flat terminals, the embodiment of the present application uses the third terminal 23 as an example for description.
为了便于理解,下面可结合图7a至图7e一并参考,其中图7a至图5e为根据本申请实施例的第三终端23的屏幕显示画面示意图。For ease of understanding, reference may be made below in conjunction with FIGS. 7a to 7e , wherein FIGS. 7a to 5e are schematic diagrams of screen display images of the third terminal 23 according to an embodiment of the present application.
请参见图7a,如图7a所示,第三终端23的主显示界面中设置有第三客户端的图标,用户13点击第三客户端的图标之后,第三客户端启动并与云手机管理服务节点101建立连接。云手机管理服务节点101可以向第三客户端返回该云手机管理服务节点101管理的云手机上安装的应用列表,如包括设计应用1至7的应用列表。Please refer to FIG. 7a. As shown in FIG. 7a, the icon of the third client is set in the main display interface of the third terminal 23. After the user 13 clicks the icon of the third client, the third client starts and communicates with the cloud mobile phone management service node. 101 A connection is established. The cloud mobile phone management service node 101 may return a list of applications installed on the cloud mobile phone managed by the cloud mobile phone management service node 101 to the third client, such as an application list including design applications 1 to 7.
接着参见图7b,如图7b所示,第三客户端根据云手机管理服务节点101返回的应用列表在云手机应用管理界面显示应用列表中各应用的图标。用户13点击应用的图标,可以触发启动应用的操作。例如,用户13点击设计应用1,从而触发启动设计应用1的操作。第三客户端响应于用户13的上述操作,生成设计应用启动请求,并向云手机管理服务节点101发送设计应用启动请求。Next, referring to FIG. 7b, as shown in FIG. 7b, the third client displays icons of each application in the application list on the cloud mobile phone application management interface according to the application list returned by the cloud mobile phone management service node 101. The user 13 clicks on the icon of the application, which can trigger the operation of starting the application. For example, user 13 clicks on design application 1 , thereby triggering an operation to start design application 1 . In response to the above operation of the user 13 , the third client generates a design application start request, and sends the design application start request to the cloud mobile phone management service node 101 .
其中,设计应用启动请求包括设计应用的标识,例如包括设计应用1的名称,由此可以指示启动设计应用1。设计应用启动请求还包括用户标识,例如包括用户13、用户12以及用户11的标识。Wherein, the design application startup request includes the identifier of the design application, for example, the name of the design application 1 , thereby instructing to start the design application 1 . The design application startup request also includes user identifications, for example including identifications of user 13 , user 12 and user 11 .
云手机管理服务节点101接收到设计应用启动请求,根据其管理的至少一个云手机和 云手机上安装的应用的对应关系,确定请求启动的设计应用所在的云手机。例如请求启动的设计应用为设计应用1时,云手机管理服务节点101可以根据上述对应关系,确定设计应用1所在的云手机为云手机102。The cloud mobile phone management service node 101 receives the design application start request, and determines the cloud mobile phone where the design application requested to be started is located according to the corresponding relationship between at least one cloud mobile phone managed by the cloud mobile phone and the application installed on the cloud mobile phone. For example, when the design application requested to be started is the design application 1, the cloud mobile phone management service node 101 may determine that the cloud mobile phone where the design application 1 is located is the cloud mobile phone 102 according to the above corresponding relationship.
接着,云手机管理服务节点101可以向云手机102路由设计应用启动请求。云手机102根据该设计应用启动请求,启动设计应用,例如启动设计应用1,生成设计应用1的一个实例。该设计应用启动请求包括用户13、用户12和用户11的标识时,云手机102可以根据用户13、用户12和用户11的标识,分别向第一客户端、第二客户端、第三客户端返回实例的地址和端口。Next, the cloud mobile phone management service node 101 may route the design application start request to the cloud mobile phone 102 . The cloud phone 102 starts the design application according to the design application start request, for example, starts the design application 1 to generate an instance of the design application 1 . When the design application startup request includes the identifiers of user 13, user 12, and user 11, the cloud phone 102 can send messages to the first client, the second client, and the third client according to the identifiers of user 13, user 12, and user 11, respectively. Returns the address and port of the instance.
第一客户端、第二客户端、第三客户端分别根据实例的地址和端口与设计应用1的实例建立连接。其中,设计应用1的实例还可以对请求接入该实例的用户进行鉴权,鉴权通过后,再与相应的客户端建立连接。The first client, the second client, and the third client establish connections with the instance of the design application 1 according to the address and port of the instance, respectively. Wherein, the instance of design application 1 can also authenticate the user who requests to access the instance, and after the authentication is passed, establish a connection with the corresponding client.
接着参见图7c,当设计应用1的实例鉴权通过后,设计应用1的实例可以向对应的客户端返回该设计应用的主界面对应的界面数据流,如此,客户端可以根据该数据流生成设计应用的主界面。如图7c中1104所示,设计应用的主界面展示有最近使用的设计文档列表,具体包括文档1至文档N,此外,设计应用的主界面还展示有空白文档以及模板。Next, referring to FIG. 7c, after the instance of design application 1 is authenticated, the instance of design application 1 can return the interface data stream corresponding to the main interface of the design application to the corresponding client, so that the client can generate the data stream according to the Design the main interface of the application. As shown in 1104 in FIG. 7c, the main interface of the design application displays a list of recently used design documents, specifically including document 1 to document N. In addition, the main interface of the design application also displays blank documents and templates.
用户13可以点击设计文档列表中的任一文档,从而请求打开该文档,以便基于该文档继续进行设计。用户也可以点击空白文档或者点击模板1、模板2等模板文档中的任意一个,从而请求创建一个新的设计文档。User 13 may click on any document in the list of design documents, thereby requesting that the document be opened in order to proceed with the design based on that document. The user can also click on the blank document or click on any one of the template documents such as Template 1, Template 2, etc., to request the creation of a new design document.
在图7c的示例中,设计应用的主界面具体以窗口的形式在第三客户端的界面1100中呈现。第三客户端的界面1100还可以包括接入实例的用户的头像,如图7c中1101、1102、1103所示。当设计应用的实例接入的用户数量大于预设阈值时,第三客户端的界面1100可以呈现预设数量的用户的头像,其他用户的头像通过“…”表征。In the example of FIG. 7c, the main interface of the design application is specifically presented in the interface 1100 of the third client in the form of a window. The interface 1100 of the third client may further include the avatar of the user accessing the instance, as shown in 1101, 1102, and 1103 in Fig. 7c. When the number of users accessed by the instance of the design application is greater than the preset threshold, the interface 1100 of the third client can present the avatars of the preset number of users, and the avatars of other users are represented by "...".
云手机102上设计应用1的实例响应于设计文档创建请求,创建新的设计文档,并生成该设计文档的设计界面的界面数据流,然后向与该实例连接的客户端返回界面数据流,以便客户端根据界面数据流,生成设计界面。The instance of the design application 1 on the cloud phone 102 responds to the design document creation request, creates a new design document, generates the interface data stream of the design interface of the design document, and then returns the interface data stream to the client connected to the instance, so that The client generates the design interface according to the interface data flow.
为了便于理解,下面以设计应用1为家装设计为例进行说明。For ease of understanding, the following description is given by taking the design application 1 as home improvement design as an example.
参见图7d,用户13可以通过手势触发空白文档的图标,以请求创建一个新的空白文档。云手机102上设计应用1的实例根据该请求创建一个新的空白文档,并生成该设计文档的设计界面的界面数据流。用户11、用户12、用户13的客户端根据该界面数据流,生成图5d中如1105所示的设计界面。Referring to FIG. 7d, the user 13 can trigger the icon of the blank document through a gesture to request the creation of a new blank document. The instance of the design application 1 on the cloud phone 102 creates a new blank document according to the request, and generates an interface data flow of the design interface of the design document. The clients of the user 11, the user 12, and the user 13 generate the design interface shown as 1105 in FIG. 5d according to the interface data flow.
该设计界面中包括工具栏,如菜单工具和形状工具,菜单工具包括开始、插入、设计等菜单键,形状工具包括各种快捷形状。设计界面中还包括空白的设计区域,用户可以将形状工具中的快捷形状如“房间”、“窗户”等形状拖拽至设计区域,以进行家装设计。The design interface includes toolbars, such as menu tools and shape tools. The menu tools include menu keys such as start, insert, and design, and the shape tools include various shortcut shapes. The design interface also includes a blank design area, and users can drag and drop shortcut shapes in the shape tool, such as "room", "window" and other shapes, to the design area for home improvement design.
用户可以通过各自客户端的设计界面触发设计操作。例如,用户13可以通过设计界面执行触控操作,第三客户端可以响应于用户13的触控操作,生成操作指令,然后向云手机102上设计应用1的实例发送该操作指令。Users can trigger design operations through the design interface of their respective clients. For example, the user 13 can perform a touch operation through the design interface, and the third client can respond to the touch operation of the user 13 to generate an operation instruction, and then send the operation instruction to the instance of the design application 1 on the cloud phone 102 .
云手机102上设计应用的实例可以根据该操作指令在内的交互信息运行设计应用,根据设计应用运行过程进行建模,然后基于建模所得的模型信息进行画面渲染,具体是对连续的多帧图像进行画面渲染,从而得到视频流,并向第三客户端发送该视频流。云手机102 上设计应用的实例还可以采用另一组渲染资源,根据操作指令在内的交互信息进行建模,然后基于建模所得的模型信息进行画面渲染,得到另一路视频流。云手机102可以向第二客户端、第三客户端发送第一路视频流,向第一客户端发送另一路视频流。The instance of the design application on the cloud phone 102 can run the design application according to the interactive information including the operation instruction, perform modeling according to the operation process of the design application, and then perform screen rendering based on the model information obtained from the modeling, specifically, for continuous multi-frame The image is rendered on the screen to obtain a video stream, and the video stream is sent to the third client. The instance of the design application on the cloud phone 102 can also use another set of rendering resources to model according to the interaction information including the operation instructions, and then perform screen rendering based on the model information obtained from the modeling to obtain another video stream. The cloud phone 102 may send the first video stream to the second client and the third client, and send another video stream to the first client.
参见图7e,第三客户端可以根据第一路视频流在如图7e中1105所示的设计界面中,显示如图7e中1106所示的设计画面。类似地,第二客户端可以根据第一路视频流在如图7e中1105所示的设计界面中,显示如图7e中1106所示的设计画面。第一客户端显示的设计画面可以参见图5e,在此不再赘述。Referring to FIG. 7e, the third client can display the design screen shown in 1106 in FIG. 7e in the design interface shown in 1105 in FIG. 7e according to the first video stream. Similarly, the second client can display the design screen shown in 1106 in FIG. 7e in the design interface shown in 1105 in FIG. 7e according to the first video stream. For the design screen displayed by the first client, reference may be made to FIG. 5e, which will not be repeated here.
如此,实现了第一用户、第二用户、第三用户在内的海量用户进行在线协同设计,而且支持多类型终端,如VR眼镜、VR头盔等VR终端,以及手机、平板等平面终端,无需配置专用设备,满足了不同用户需求,为用户提供更好的体验。并且,用户使用移动终端就能够完成协同设计,在网络条件允许下,可以实现随时随地开展协同设计工作。In this way, a large number of users including the first user, the second user, and the third user can carry out online collaborative design, and support multiple types of terminals, such as VR glasses, VR helmets and other VR terminals, as well as mobile phones, tablets and other flat terminals, without the need for Configure special equipment to meet the needs of different users and provide users with a better experience. Moreover, the user can complete the collaborative design by using the mobile terminal, and under the permission of the network conditions, the collaborative design work can be carried out anytime and anywhere.
以下请参见图8至图10,图8是根据本申请实施例的第一终端的硬件结构示意图,如图8所示,第一终端21包括处理器211、存储器212、通信接口213以及总线214,处理器211、存储器212、通信接口213分别与总线214连接,存储器212存储有程序指令,处理器211运行程序指令实现上述第一终端21的功能。8 to 10 , FIG. 8 is a schematic diagram of a hardware structure of a first terminal according to an embodiment of the present application. As shown in FIG. 8 , the first terminal 21 includes a processor 211 , a memory 212 , a communication interface 213 and a bus 214 , the processor 211 , the memory 212 , and the communication interface 213 are respectively connected to the bus 214 , the memory 212 stores program instructions, and the processor 211 executes the program instructions to realize the functions of the first terminal 21 .
图9是根据本申请实施例的第二终端的硬件结构示意图,如图9所示,第二终端22包括处理器221、存储器222、通信接口223以及总线224,处理器221、存储器222、通信接口223分别与总线224连接,存储器222存储有程序指令,处理器221运行程序指令实现上述第二终端22的功能。FIG. 9 is a schematic diagram of the hardware structure of a second terminal according to an embodiment of the present application. As shown in FIG. 9 , the second terminal 22 includes a processor 221, a memory 222, a communication interface 223, and a bus 224. The processor 221, the memory 222, the communication The interfaces 223 are respectively connected to the bus 224 , the memory 222 stores program instructions, and the processor 221 executes the program instructions to realize the functions of the second terminal 22 .
其中,第一终端21为VR终端,第二终端22、第三终端23为平面终端。第三终端23的硬件结构可以参见第二终端的硬件结构,在此不再赘述。The first terminal 21 is a VR terminal, and the second terminal 22 and the third terminal 23 are plane terminals. For the hardware structure of the third terminal 23, reference may be made to the hardware structure of the second terminal, which will not be repeated here.
图10是根据本申请实施例的部署云手机的服务器例如是服务器110的硬件结构示意图,如图10所示,服务器110包括处理器1001、存储器1002、通信接口1003以及总线1004,处理器1001、存储器1002、通信接口1003分别与总线1004连接,存储器1002存储有程序指令,处理器1001运行程序指令实现上述服务器110的功能。FIG. 10 is a schematic diagram of the hardware structure of a server for deploying a cloud mobile phone, such as a server 110 according to an embodiment of the present application. As shown in FIG. 10 , the server 110 includes a processor 1001, a memory 1002, a communication interface 1003, and a bus 1004. The processor 1001, The memory 1002 and the communication interface 1003 are respectively connected to the bus 1004 . The memory 1002 stores program instructions, and the processor 1001 executes the program instructions to implement the functions of the server 110 .
本申请实施例还揭示了一种基于云手机的设计方法,该设计方法应用于第一客户端,具体包括以下步骤:The embodiment of the present application also discloses a design method based on a cloud mobile phone. The design method is applied to the first client and specifically includes the following steps:
步骤1:第一客户端发送设计应用启动请求至云手机管理服务节点101;Step 1: the first client sends a design application startup request to the cloud mobile phone management service node 101;
步骤2:第一客户端接收云手机102返回的设计应用的实例的地址和端口;Step 2: the first client receives the address and port of the instance of the design application returned by the cloud phone 102;
步骤3:第一客户端根据实例的地址和端口和设计应用的实例建立连接;Step 3: The first client establishes a connection with the instance of the design application according to the address and port of the instance;
步骤4:第一客户端向云手机102上设计应用的实例发送设计文档创建请求;Step 4: the first client sends a design document creation request to the instance of the design application on the cloud phone 102;
其中,步骤1至步骤4为第一终端上的第一客户端启动云手机102上的设计应用,创建相应的设计文档的一种可选的实施方式。在一些可能的实现方式中,当第一客户端与云手机预先建立连接时,第一客户端可以直接向云手机102发送设计应用启动请求,以及直接向云手机102上设计应用的实例发送设计文档创建请求。Wherein, steps 1 to 4 are an optional implementation manner in which the first client on the first terminal starts a design application on the cloud phone 102 to create a corresponding design document. In some possible implementations, when the first client establishes a connection with the cloud phone in advance, the first client can directly send a design application start request to the cloud phone 102 and directly send the design to the instance of the design application on the cloud phone 102 Document creation request.
步骤5:第一客户端接收云手机102返回的界面数据流;Step 5: the first client receives the interface data stream returned by the cloud phone 102;
步骤6:第一客户端根据界面数据流生成设计界面;Step 6: The first client generates a design interface according to the interface data flow;
步骤7:第一客户端向云手机102发送交互信息1;Step 7: The first client sends interaction information 1 to the cloud phone 102;
步骤8:第一客户端接收云手机102发送的视频流;Step 8: the first client receives the video stream sent by the cloud phone 102;
步骤9:第一客户端根据视频流在设计界面显示设计画面。Step 9: The first client displays the design screen on the design interface according to the video stream.
可选地,步骤8中第一客户端接收云手机102发送的视频流还可以是云手机102根据云渲染指令流进行渲染得到的第一渲染视频流,第一客户端还接收云手机102发送的端渲染指令流,第一客户端还可以根据端渲染指令流进行渲染,得到第二渲染视频流。第一客户端还可以对上述第一渲染视频流和第二渲染视频流进行合流,得到第三渲染视频流。对应地,第一客户端可以根据上述第三渲染视频流在设计界面显示设计画面。Optionally, the video stream sent by the cloud phone 102 received by the first client in step 8 may also be the first rendered video stream obtained by the cloud phone 102 rendering according to the cloud rendering instruction stream, and the first client also receives the video stream sent by the cloud phone 102. The end rendering instruction stream, the first client can also perform rendering according to the end rendering instruction stream to obtain the second rendering video stream. The first client may further combine the first rendered video stream and the second rendered video stream to obtain a third rendered video stream. Correspondingly, the first client can display the design picture on the design interface according to the third rendered video stream.
以下请参见图11,图11是根据本申请实施例的第一客户端的装置结构示意图,如图11所示,第一客户端包括:Please refer to FIG. 11 below. FIG. 11 is a schematic diagram of a device structure of a first client according to an embodiment of the present application. As shown in FIG. 11 , the first client includes:
通信模块1102,用于发送设计应用启动请求至云手机管理服务节点101;The communication module 1102 is used for sending a design application startup request to the cloud mobile phone management service node 101;
所述通信模块1102,还用于接收云手机102返回的设计应用的实例的地址和端口;The communication module 1102 is further configured to receive the address and port of the design application instance returned by the cloud phone 102;
连接模块1104,用于根据实例的地址和端口和设计应用的实例建立连接;A connection module 1104, configured to establish a connection according to the address and port of the instance and the instance of the design application;
所述通信模块1102,还用于向云手机102上设计应用的实例发送设计文档创建请求;The communication module 1102 is further configured to send a design document creation request to the instance of the design application on the cloud phone 102;
所述通信模块1102,还用于接收云手机102返回的界面数据流;The communication module 1102 is further configured to receive the interface data stream returned by the cloud phone 102;
界面生成模块1106,用于根据界面数据流生成设计界面;an interface generation module 1106, configured to generate a design interface according to the interface data flow;
所述通信模块1102,还用于向云手机102发送交互信息1;The communication module 1102 is further configured to send the interaction information 1 to the cloud mobile phone 102;
所述通信模块1102,还用于接收云手机102发送的视频流;The communication module 1102 is further configured to receive the video stream sent by the cloud mobile phone 102;
显示模块1108,用于根据视频流在设计界面显示设计画面。The display module 1108 is configured to display the design picture on the design interface according to the video stream.
其中,第一客户端中的连接模块1104为可选模块。当第一客户端和云手机预先建立连接时,第一客户端无需执行建立连接的步骤。通信模块1102可以直接向云手机发送设计应用启动请求以启动设计应用,生成设计应用的实例。类似地,通信模块1102也可以直接向设计应用的实例发送设计文档创建请求以创建设计文档,生成界面数据流,从而使得第一客户端根据该界面数据流生成设计界面。The connection module 1104 in the first client is an optional module. When a connection is established between the first client and the cloud phone in advance, the first client does not need to perform the step of establishing the connection. The communication module 1102 may directly send a design application start request to the cloud phone to start the design application and generate an instance of the design application. Similarly, the communication module 1102 can also directly send a design document creation request to the instance of the design application to create a design document and generate an interface data stream, so that the first client generates a design interface according to the interface data stream.
可选地,第一客户端还可以包括渲染模块和合流模块。其中,通信模块1102具体用于接收云手机102根据云渲染指令流渲染得到的第一渲染视频流,通信模块1102还用于接收云手机102发送的端渲染指令流,渲染模块用于根据端渲染指令流进行渲染得到第二渲染视频流,合流模块用于对第一渲染视频流和第二渲染视频流进行合流,得到第三渲染视频流。对应地,显示模块1108可以根据第三渲染视频流在设计界面显示设计画面。Optionally, the first client may further include a rendering module and a confluence module. The communication module 1102 is specifically configured to receive the first rendered video stream rendered by the cloud mobile phone 102 according to the cloud rendering instruction stream, the communication module 1102 is further configured to receive the terminal rendering instruction stream sent by the cloud mobile phone 102, and the rendering module is used to render according to the terminal rendering instruction stream. The instruction stream is rendered to obtain a second rendered video stream, and the confluence module is configured to combine the first rendered video stream and the second rendered video stream to obtain a third rendered video stream. Correspondingly, the display module 1108 may display the design screen on the design interface according to the third rendered video stream.
本申请实施例还揭示了一种基于云手机的设计方法,该设计方法应用于第二客户端或者第三客户端,为了便于描述,下面以第二客户端进行示例说明,该方法具体包括以下步骤:The embodiment of the present application also discloses a design method based on a cloud phone, and the design method is applied to the second client or the third client. For the convenience of description, the second client is used as an example for description below, and the method specifically includes the following step:
步骤1:第二客户端接收云手机102发送的、设计应用的实例的地址和端口;Step 1: the second client receives the address and port of the instance of the design application sent by the cloud phone 102;
步骤2:第二客户端根据实例的地址和端口与设计应用的实例建立连接;Step 2: The second client establishes a connection with the instance of the design application according to the address and port of the instance;
其中,第二客户端预先与设计应用的实例建立连接时,第二客户端也可以不执行上述步骤1至步骤2。Wherein, when the second client establishes a connection with the instance of the design application in advance, the second client may not perform the above steps 1 to 2.
步骤3:第二客户端接收云手机102发送的界面数据流;Step 3: the second client receives the interface data stream sent by the cloud phone 102;
步骤4:第二客户端根据界面数据流生成设计界面;Step 4: The second client generates a design interface according to the interface data flow;
步骤5:第二客户端向云手机102发送交互信息2;Step 5: The second client sends interaction information 2 to the cloud phone 102;
步骤6:第二客户端接收云手机102发送的视频流;Step 6: the second client receives the video stream sent by the cloud phone 102;
步骤7:第二客户端根据视频流在设计界面显示设计画面。Step 7: The second client displays the design screen on the design interface according to the video stream.
可选地,步骤6中第二客户端接收云手机102发送的视频流还可以是云手机102根据云渲染指令流进行渲染得到的第一渲染视频流,第二客户端还接收云手机102发送的端渲染指令流,第二客户端还可以根据端渲染指令流进行渲染,得到第二渲染视频流。第二客户端还可以对上述第一渲染视频流和第二渲染视频流进行合流,得到第三渲染视频流。对应地,第二客户端可以根据上述第三渲染视频流在设计界面显示设计画面。Optionally, the video stream sent by the cloud phone 102 received by the second client in step 6 may also be the first rendered video stream obtained by the cloud phone 102 rendering according to the cloud rendering instruction stream, and the second client also receives the video stream sent by the cloud phone 102. The second client can also perform rendering according to the end rendering instruction stream, and obtain the second rendering video stream. The second client may further combine the first rendered video stream and the second rendered video stream to obtain a third rendered video stream. Correspondingly, the second client can display the design picture on the design interface according to the third rendered video stream.
以下请参见图12,图12是根据本申请实施例的第二客户端的装置结构示意图,如图12所示,第二客户端包括:Please refer to FIG. 12 below. FIG. 12 is a schematic diagram of a device structure of a second client terminal according to an embodiment of the present application. As shown in FIG. 12 , the second client terminal includes:
通信模块1202,用于接收云手机102发送的、设计应用的实例的地址和端口;The communication module 1202 is configured to receive the address and port of the instance of the design application sent by the cloud mobile phone 102;
连接模块1204,用于根据实例的地址和端口与设计应用的实例建立连接;A connection module 1204, configured to establish a connection with the instance of the design application according to the address and port of the instance;
所述通信模块1202,还用于接收云手机102发送的界面数据流;The communication module 1202 is further configured to receive the interface data stream sent by the cloud phone 102;
界面生成模块1206,用于根据界面数据流生成设计界面;an interface generation module 1206, configured to generate a design interface according to the interface data flow;
所述通信模块1202,还用于向云手机102发送交互信息2;The communication module 1202 is further configured to send interaction information 2 to the cloud mobile phone 102;
所述通信模块1202,还用于接收云手机102发送的视频流;The communication module 1202 is further configured to receive the video stream sent by the cloud mobile phone 102;
显示模块1208,用于根据视频流在设计界面显示设计画面。The display module 1208 is configured to display the design picture on the design interface according to the video stream.
其中,第二客户端中的连接模块1204为可选模块。当第二客户端和云手机预先建立连接时,第二客户端无需执行建立连接的步骤。The connection module 1204 in the second client is an optional module. When a connection is established between the second client and the cloud phone in advance, the second client does not need to perform the step of establishing the connection.
可选地,第二客户端还可以包括渲染模块和合流模块。其中,通信模块1202具体用于接收云手机102根据云渲染指令流渲染得到的第一渲染视频流,通信模块1202还用于接收云手机102发送的端渲染指令流,渲染模块用于根据端渲染指令流进行渲染得到第二渲染视频流,合流模块用于对第一渲染视频流和第二渲染视频流进行合流,得到第三渲染视频流。对应地,显示模块1208可以根据第三渲染视频流在设计界面显示设计画面。Optionally, the second client may further include a rendering module and a confluence module. The communication module 1202 is specifically used to receive the first rendered video stream rendered by the cloud mobile phone 102 according to the cloud rendering instruction stream, the communication module 1202 is also used to receive the terminal rendering instruction stream sent by the cloud mobile phone 102, and the rendering module is used to render according to the terminal rendering. The instruction stream is rendered to obtain a second rendered video stream, and the confluence module is configured to combine the first rendered video stream and the second rendered video stream to obtain a third rendered video stream. Correspondingly, the display module 1208 may display the design picture on the design interface according to the third rendered video stream.
本申请实例还揭示了一种基于云手机的设计方法,该设计方法应用于云手机,具体包括以下步骤:The example of the present application also discloses a design method based on a cloud mobile phone. The design method is applied to a cloud mobile phone, and specifically includes the following steps:
步骤1:云手机102接收云手机管理服务节点102路由的设计应用启动请求;Step 1: the cloud phone 102 receives the design application startup request routed by the cloud phone management service node 102;
步骤2:云手机102启动设计应用(例如为设计应用1),生成设计应用的一个实例;Step 2: The cloud phone 102 starts the design application (for example, design application 1), and generates an instance of the design application;
步骤3:云手机102向第一客户端、第二客户端和第三客户端返回实例的地址和端口;Step 3: The cloud phone 102 returns the address and port of the instance to the first client, the second client and the third client;
步骤4:云手机102和第一客户端、第二客户端和第三客户端分别建立连接;Step 4: The cloud phone 102 establishes connections with the first client, the second client and the third client respectively;
步骤5:云手机102接收第一客户端发送的设计文档创建请求;Step 5: the cloud phone 102 receives the design document creation request sent by the first client;
步骤6:云手机102上设计应用的实例创建设计文档,并生成界面数据流;Step 6: The instance of the design application on the cloud phone 102 creates a design document, and generates an interface data stream;
其中,步骤1至步骤6为云手机102生成界面数据流的一种可选的实施方式。在一些可能的实现方式中,例如云手机102预先与云手机建立连接时,云手机102可以直接发送设计应用启动请求,启动设计应用,生成设计应用的实例,设计应用的实例可以自动创建设计文档,生成相应设计界面的界面数据流。Wherein, steps 1 to 6 are an optional implementation manner in which the cloud mobile phone 102 generates an interface data stream. In some possible implementations, for example, when the cloud phone 102 establishes a connection with the cloud phone in advance, the cloud phone 102 can directly send a design application startup request, start the design application, and generate an instance of the design application, and the instance of the design application can automatically create a design document , and generate the interface data flow of the corresponding design interface.
步骤7:云手机102向第一客户端、第二客户端和第三客户端返回界面数据流;Step 7: The cloud phone 102 returns the interface data stream to the first client, the second client and the third client;
步骤8:云手机102接收第一客户端发送的交互信息1、第二客户端发送的交互信息2 和第三客户端发送的交互信息3;Step 8: The cloud phone 102 receives the interaction information 1 sent by the first client, the interaction information 2 sent by the second client, and the interaction information 3 sent by the third client;
步骤9:云手机102根据交互信息运行设计应用的实例,以及根据设计应用运行过程渲染视频流;Step 9: The cloud phone 102 runs an instance of the design application according to the interaction information, and renders the video stream according to the design application running process;
步骤10:云手机102向第一客户端、第二客户端和第三客户端返回视频流。Step 10: The cloud phone 102 returns the video stream to the first client, the second client and the third client.
可选地,云手机102根据交互信息生成云渲染指令流和端渲染指令流,在步骤9中,云手机102根据上述云渲染指令流进行渲染,得到第一渲染视频流。云手机102还向第一客户端、第二客户端和第三客户端返回端渲染指令流,以指示第一客户端、第二客户端和第三客户端根据端渲染指令流进行渲染,得到第二渲染视频流。对应地,步骤10中,云手机102向第一客户端、第二客户端和第三客户端返回的视频流具体为上述第一渲染视频流,上述第一客户端、第二客户端和第三客户端可以对第一渲染视频流和第二渲染视频流进行合流,从而得到第三渲染视频流。Optionally, the cloud phone 102 generates a cloud rendering instruction stream and a terminal rendering instruction stream according to the interaction information. In step 9, the cloud phone 102 performs rendering according to the above cloud rendering instruction stream to obtain a first rendered video stream. The cloud phone 102 also returns the end rendering instruction stream to the first client, the second client and the third client, so as to instruct the first client, the second client and the third client to perform rendering according to the end rendering instruction stream, and obtain The second renders the video stream. Correspondingly, in step 10, the video stream returned by the cloud mobile phone 102 to the first client, the second client and the third client is specifically the above-mentioned first rendered video stream, the above-mentioned first client, second client and third The three clients may combine the first rendered video stream and the second rendered video stream to obtain a third rendered video stream.
以下请参见图13,图13是根据本申请实施例的云手机的装置结构示意图,如图13所示,云手机包括:Please refer to FIG. 13 below. FIG. 13 is a schematic diagram of a device structure of a cloud mobile phone according to an embodiment of the present application. As shown in FIG. 13 , the cloud mobile phone includes:
通信模块1302,用于接收云手机管理服务节点102路由的设计应用启动请求;A communication module 1302, configured to receive a design application start request routed by the cloud mobile phone management service node 102;
实例生成模块1304,用于启动设计应用(例如为设计应用1),生成设计应用的一个实例;an instance generation module 1304, configured to start a design application (for example, design application 1), and generate an instance of the design application;
所述通信模块1302,还用于向第一客户端、第二客户端和第三客户端返回实例的地址和端口;The communication module 1302 is further configured to return the address and port of the instance to the first client, the second client and the third client;
连接模块1306,用于和第一客户端、第二客户端和第三客户端分别建立连接;a connection module 1306, configured to establish connections with the first client, the second client and the third client respectively;
所述通信模块1302,还用于接收第一客户端发送的设计文档创建请求;The communication module 1302 is further configured to receive a design document creation request sent by the first client;
界面生成模块1308,用于创建设计文档,并生成界面数据流;The interface generation module 1308 is used to create a design document and generate an interface data flow;
所述通信模块1302,还用于向第一客户端、第二客户端和第三客户端返回界面数据流;The communication module 1302 is further configured to return the interface data stream to the first client, the second client and the third client;
所述通信模块1302,还用于第一客户端发送的交互信息1、第二客户端发送的交互信息2和第三客户端发送的交互信息3;The communication module 1302 is also used for the interaction information 1 sent by the first client, the interaction information 2 sent by the second client, and the interaction information 3 sent by the third client;
渲染模块1310,用于根据交互信息运行设计应用的实例,以及根据设计应用运行过程渲染视频流;a rendering module 1310, configured to run an instance of the design application according to the interaction information, and render a video stream according to the design application running process;
所述通信模块1302,还用于向第一客户端、第二客户端和第三客户端返回视频流。The communication module 1302 is further configured to return video streams to the first client, the second client and the third client.
其中,实例生成模块1304、连接模块1306和界面生成模块1308为可选模块,在一些实施例中,云手机也可以不执行上述模块对应的步骤。The instance generation module 1304, the connection module 1306, and the interface generation module 1308 are optional modules. In some embodiments, the cloud phone may not execute the steps corresponding to the above modules.
可选地,云手机还包括指令生成模块,用于根据交互信息生成云渲染指令流和端渲染指令流。渲染模块具体用于根据云渲染指令流进行渲染,得到第一渲染视频流。通信模块1302还用于向第一客户端、第二客户端和第三客户端返回端渲染指令流,以指示第一客户端、第二客户端和第三客户端根据端渲染指令流进行渲染,得到第二渲染视频流。对应地,通信模块1302向第一客户端、第二客户端和第三客户端返回的视频流具体为上述第一渲染视频流,上述第一客户端、第二客户端和第三客户端可以对第一渲染视频流和第二渲染视频流进行合流,从而得到第三渲染视频流。Optionally, the cloud phone further includes an instruction generation module, configured to generate a cloud rendering instruction stream and a terminal rendering instruction stream according to the interaction information. The rendering module is specifically configured to perform rendering according to the cloud rendering instruction stream to obtain the first rendered video stream. The communication module 1302 is further configured to return the end rendering instruction stream to the first client, the second client and the third client, so as to instruct the first client, the second client and the third client to perform rendering according to the end rendering instruction stream , to get the second rendered video stream. Correspondingly, the video stream returned by the communication module 1302 to the first client, the second client and the third client is specifically the above-mentioned first rendered video stream, and the above-mentioned first client, second client and third client may The first rendered video stream and the second rendered video stream are combined to obtain a third rendered video stream.
图13是第一终端、第二终端、第三终端参与协同设计进行实例说明的,在一些可能的实现方式中,参与协同设计的终端可以是第一终端和第二终端,或者是更多的终端,本申请实施例对此不作限定。FIG. 13 illustrates an example of the first terminal, the second terminal, and the third terminal participating in the collaborative design. In some possible implementations, the terminals participating in the collaborative design may be the first terminal and the second terminal, or more terminal, which is not limited in this embodiment of the present application.
本申请实施例还提供计算机可读存储介质,该计算机可读存储介质包括指令,当指令在计算设备上运行时,使得计算设备执行第一客户端、第二客户端、第三客户端或云手机的方法。Embodiments of the present application further provide a computer-readable storage medium, where the computer-readable storage medium includes instructions, when the instructions are executed on the computing device, the computing device causes the computing device to execute the first client, the second client, the third client, or the cloud mobile phone method.
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。From the description of the above embodiments, those skilled in the art can clearly understand that the present application can be implemented by means of software plus necessary general-purpose hardware. Special components, etc. to achieve. Under normal circumstances, all functions completed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structures used to implement the same function can also be various, such as analog circuits, digital circuits or special circuit, etc. However, a software program implementation is a better implementation in many cases for this application. Based on this understanding, the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that make contributions to the prior art. The computer software products are stored in a readable storage medium, such as a floppy disk of a computer. , U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk, etc., including several instructions to enable a computer device (which may be a personal computer, training device, or network device, etc.) to execute the various embodiments of the application. method.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。In the above-mentioned embodiments, it may be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented in software, it can be implemented in whole or in part in the form of a computer program product.
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地生成按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer may be a general purpose computer, special purpose computer, computer network, or other programmable device. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be retrieved from a website, computer, training device, or data Transmission from the center to another website site, computer, training facility or data center via wired (eg coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that can be stored by a computer, or a data storage device such as a training device, a data center, or the like that includes an integration of one or more available media. The usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk (SSD)), and the like.

Claims (38)

  1. 一种设计系统,其特征在于,包括:云手机和至少一个客户端,其中所述云手机设置于网络侧;A design system, comprising: a cloud mobile phone and at least one client, wherein the cloud mobile phone is arranged on the network side;
    所述至少一个客户端分别运行于一个终端,用于接收所述云手机发送的界面数据流,根据所述界面数据流生成设计界面,并在各自所在的终端上显示所述设计界面;The at least one client runs on a terminal, respectively, for receiving the interface data stream sent by the cloud mobile phone, generating a design interface according to the interface data stream, and displaying the design interface on the respective terminals;
    所述云手机,用于接收所述至少一个客户端中的一个或任意组合发送的至少一个交互信息,根据所述至少一个交互信息运行设计应用,以及根据设计应用运行过程渲染视频流;其中,所述至少一个交互信息来自于所述至少一个客户端中的一个或任意组合的用户通过各自所操作的终端上显示的设计界面触发的设计操作;The cloud phone is configured to receive at least one interaction information sent by one or any combination of the at least one client, run a design application according to the at least one interaction information, and render a video stream according to the design application running process; wherein, The at least one interaction information comes from a design operation triggered by one or any combination of users in the at least one client through a design interface displayed on the respective terminal being operated;
    所述至少一个客户端,还用于接收所述视频流,根据所述视频流在所述设计界面显示设计画面。The at least one client is further configured to receive the video stream, and display a design picture on the design interface according to the video stream.
  2. 根据权利要求1所述的设计系统,其特征在于,所述云手机根据设计应用运行过程渲染视频流,包括:The design system according to claim 1, wherein the cloud phone renders the video stream according to the design application running process, comprising:
    所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源;The cloud phone obtains a target number of rendering resources from the rendering resource pool according to the design application running process;
    所述云手机根据所述设计应用运行过程,利用所述渲染资源渲染视频流。The cloud phone uses the rendering resource to render the video stream according to the design application running process.
  3. 根据权利要求2所述的设计系统,其特征在于,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:The design system according to claim 2, wherein the cloud phone obtains a target number of rendering resources from a rendering resource pool according to a design application running process, comprising:
    所述云手机根据设计应用运行过程确定渲染所需的渲染资源的类型和数量;The cloud phone determines the type and quantity of rendering resources required for rendering according to the design application running process;
    所述云手机从渲染资源池中获取目标类型以及目标数量的渲染资源。The cloud phone acquires the rendering resources of the target type and the target quantity from the rendering resource pool.
  4. 根据权利要求2或3所述的设计系统,其特征在于,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:The design system according to claim 2 or 3, wherein the cloud mobile phone obtains a target number of rendering resources from the rendering resource pool according to the design application running process, including:
    所述云手机根据设计应用运行过程以及所述终端的数量从渲染资源池中获取目标数量的渲染资源。The cloud phone acquires a target number of rendering resources from the rendering resource pool according to the design application running process and the number of the terminals.
  5. 根据权利要求1至4任一项所述的设计系统,其特征在于,所述云手机根据设计应用运行过程渲染视频流,包括:The design system according to any one of claims 1 to 4, wherein the cloud phone renders the video stream according to the design application running process, comprising:
    所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流;The cloud mobile phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to the design application running process;
    所述云手机根据所述云渲染指令流渲染视频流,得到第一渲染视频流;The cloud mobile phone renders a video stream according to the cloud rendering instruction stream to obtain a first rendered video stream;
    所述云手机向所述至少一个客户端发送所述第一渲染视频流和所述端渲染指令流,所述端渲染指令流用于指示所述至少一个客户端根据所述端渲染指令流渲染视频流,得到第二渲染视频流;The cloud phone sends the first rendering video stream and the end rendering instruction stream to the at least one client, where the end rendering instruction stream is used to instruct the at least one client to render a video according to the end rendering instruction stream stream to obtain the second rendered video stream;
    所述至少一个客户端具体用于:The at least one client is specifically used for:
    对所述第一渲染视频流和所述第二渲染视频流进行合流,获得第三渲染视频流;combining the first rendered video stream and the second rendered video stream to obtain a third rendered video stream;
    根据所述第三渲染视频流在所述设计界面显示设计画面。A design picture is displayed on the design interface according to the third rendered video stream.
  6. 根据权利要求5所述的设计系统,其特征在于,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:The design system according to claim 5, wherein the cloud mobile phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to a design application running process, comprising:
    根据设计应用运行过程中渲染计算量大于计算量阈值的信息生成云渲染指令流,根据所述设计应用运行过程中渲染计算量小于或等于所述计算量阈值的信息生成端渲染指令流。The cloud rendering instruction stream is generated according to the information that the rendering calculation amount is greater than the calculation amount threshold during the running process of the design application, and the end rendering instruction stream is generated according to the information that the rendering calculation amount is less than or equal to the calculation amount threshold value during the running process of the design application.
  7. 根据权利要求5所述的设计系统,其特征在于,所述云手机根据设计应用运行过 程生成云渲染指令流和端渲染指令流,包括:The design system according to claim 5, wherein the cloud mobile phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to a design application running process, including:
    根据设计应用运行过程中的背景信息生成所述云渲染指令流,根据所述设计应用运行过程中的动作信息生成所述端渲染指令流。The cloud rendering instruction stream is generated according to the background information during the running process of the design application, and the end rendering instruction stream is generated according to the action information during the running process of the design application.
  8. 根据权利要求1至7任一项所述的设计系统,其特征在于,所述终端包括虚拟现实终端或平面终端。The design system according to any one of claims 1 to 7, wherein the terminal comprises a virtual reality terminal or a plane terminal.
  9. 根据权利要求8所述的设计系统,其特征在于,所述终端包括所述虚拟现实终端时,所述交互信息包括动作信息和位置信息中的至少一种。The design system according to claim 8, wherein when the terminal includes the virtual reality terminal, the interaction information includes at least one of action information and location information.
  10. 根据权利要求8或9所述的设计系统,其特征在于,所述终端包括平面终端时,所述交互信息包括操作指令。The design system according to claim 8 or 9, wherein when the terminal includes a flat terminal, the interaction information includes an operation instruction.
  11. 一种基于云手机的设计方法,其特征在于,应用于设计系统,所述设计系统包括云手机和至少一个客户端,所述至少一个客户端分别运行于一个终端,所述云手机设置于网络侧,所述方法包括:A design method based on a cloud mobile phone, characterized in that it is applied to a design system, the design system includes a cloud mobile phone and at least one client, the at least one client runs on a terminal respectively, and the cloud mobile phone is set on a network side, the method includes:
    所述至少一个客户端接收所述云手机发送的界面数据流,根据所述界面数据流生成设计界面,并在各自所在的终端上显示所述设计界面;The at least one client receives the interface data stream sent by the cloud phone, generates a design interface according to the interface data stream, and displays the design interface on the respective terminals;
    所述云手机接收所述至少一个客户端中的一个或任意组合发送的至少一个交互信息,根据所述至少一个交互信息运行设计应用,以及根据设计应用运行过程渲染视频流;其中,所述至少一个交互信息来自于所述至少一个客户端的一个或者任意组合的用户通过各自所操作的终端上显示的设计界面触发的设计操作;The cloud phone receives at least one interaction information sent by one or any combination of the at least one client, runs a design application according to the at least one interaction information, and renders a video stream according to the design application running process; wherein the at least one A piece of interaction information comes from a design operation triggered by one or any combination of users of the at least one client through a design interface displayed on the terminal operated by them;
    所述至少一个客户端接收所述视频流,根据所述视频流在所述设计界面显示设计画面。The at least one client receives the video stream, and displays a design picture on the design interface according to the video stream.
  12. 根据权利要求11所述的方法,其特征在于,所述云手机根据设计应用运行过程渲染视频流,包括:The method according to claim 11, wherein the cloud phone renders the video stream according to the design application running process, comprising:
    所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源;The cloud phone obtains a target number of rendering resources from the rendering resource pool according to the design application running process;
    所述云手机根据所述设计应用运行过程,利用所述渲染资源渲染视频流。The cloud phone uses the rendering resource to render the video stream according to the design application running process.
  13. 根据权利要求12所述的方法,其特征在于,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:The method according to claim 12, wherein the cloud phone acquires a target number of rendering resources from a rendering resource pool according to a design application running process, comprising:
    所述云手机根据设计应用运行过程确定渲染所需的渲染资源的类型和数量;The cloud phone determines the type and quantity of rendering resources required for rendering according to the design application running process;
    所述云手机从渲染资源池中获取目标类型以及目标数量的渲染资源。The cloud phone acquires the rendering resources of the target type and the target quantity from the rendering resource pool.
  14. 根据权利要求12或13所述的方法,其特征在于,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:The method according to claim 12 or 13, wherein the cloud phone obtains a target number of rendering resources from a rendering resource pool according to a design application running process, comprising:
    所述云手机根据设计应用运行过程以及所述终端的数量从渲染资源池中获取目标数量的渲染资源。The cloud phone acquires a target number of rendering resources from the rendering resource pool according to the design application running process and the number of the terminals.
  15. 根据权利要求11至14任一项所述的方法,其特征在于,所述云手机根据设计应用运行过程渲染视频流,包括:The method according to any one of claims 11 to 14, wherein the cloud phone renders the video stream according to the design application running process, comprising:
    所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流;The cloud mobile phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to the design application running process;
    所述云手机根据所述云渲染指令流渲染视频流,得到第一渲染视频流;The cloud mobile phone renders a video stream according to the cloud rendering instruction stream to obtain a first rendered video stream;
    所述至少一个客户端接收视频流,根据所述视频流在所述设计界面显示设计画面,包括:The at least one client receives a video stream, and displays a design screen on the design interface according to the video stream, including:
    所述至少一个客户端接收所述第一渲染视频流和所述端渲染指令流;The at least one client receives the first rendered video stream and the end rendering instruction stream;
    所述至少一个客户端根据所述端渲染指令流渲染视频流,得到第二渲染视频流;The at least one client renders a video stream according to the end rendering instruction stream to obtain a second rendered video stream;
    所述至少一个客户端对所述第一渲染视频流和所述第二渲染视频流进行合流,获得第三渲染视频流;The at least one client combines the first rendered video stream and the second rendered video stream to obtain a third rendered video stream;
    根据所述第三渲染视频流在所述设计界面显示设计画面。A design picture is displayed on the design interface according to the third rendered video stream.
  16. 根据权利要求15所述的方法,其特征在于,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:The method according to claim 15, wherein the cloud mobile phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to a design application running process, comprising:
    根据设计应用运行过程中渲染计算量大于计算量阈值的信息生成云渲染指令流,根据所述设计应用运行过程中渲染计算量小于或等于所述计算量阈值的信息生成端渲染指令流。The cloud rendering instruction stream is generated according to the information that the rendering calculation amount is greater than the calculation amount threshold during the running process of the design application, and the end rendering instruction stream is generated according to the information that the rendering calculation amount is less than or equal to the calculation amount threshold value during the running process of the design application.
  17. 根据权利要求15所述的方法,其特征在于,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:The method according to claim 15, wherein the cloud mobile phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to a design application running process, comprising:
    根据设计应用运行过程中的背景信息生成所述云渲染指令流,根据所述设计应用运行过程中的动作信息生成所述端渲染指令流。The cloud rendering instruction stream is generated according to the background information during the running process of the design application, and the end rendering instruction stream is generated according to the action information during the running process of the design application.
  18. 根据权利要求11至17任一项所述的方法,其特征在于,所述终端包括虚拟现实终端或平面终端。The method according to any one of claims 11 to 17, wherein the terminal comprises a virtual reality terminal or a plane terminal.
  19. 根据权利要求18所述的方法,其特征在于,所述终端包括所述虚拟现实终端时,所述交互信息包括动作信息和位置信息中的至少一种。The method according to claim 18, wherein when the terminal includes the virtual reality terminal, the interaction information includes at least one of motion information and location information.
  20. 根据权利要求18或19所述的方法,其特征在于,所述终端包括平面终端时,所述交互信息包括操作指令。The method according to claim 18 or 19, wherein when the terminal includes a flat terminal, the interaction information includes an operation instruction.
  21. 一种基于云手机的设计方法,其特征在于,应用于第一终端,所述方法包括:A design method based on a cloud mobile phone, characterized in that, applied to a first terminal, the method comprising:
    所述第一终端发送设计应用启动请求,所述设计应用启动请求用于指示启动云手机上的设计应用;所述第一终端接收所述云手机发送的界面数据流,根据所述界面数据流生成所述设计引用的设计界面,显示所述设计界面;The first terminal sends a design application start request, and the design application start request is used to instruct to start the design application on the cloud phone; the first terminal receives the interface data stream sent by the cloud phone, and according to the interface data stream generating a design interface referenced by the design, and displaying the design interface;
    所述第一终端向所述云手机发送第一交互信息,接收所述云手机根据所述第一交互信息运行所述设计应用,并根据设计应用运行过程渲染所得的视频流,根据所述视频流在所述设计界面显示所述设计画面。The first terminal sends the first interaction information to the cloud mobile phone, receives the video stream obtained by the cloud mobile phone running the design application according to the first interaction information, and rendering the design application according to the running process of the design application. The flow displays the design screen on the design interface.
  22. 一种基于云手机的设计方法,其特征在于,应用于第二终端,所述方法包括:A design method based on a cloud mobile phone, characterized in that, applied to a second terminal, the method comprising:
    所述第二终端接收所述云手机发送的界面数据流,根据所述界面数据流生成所述设计引用的设计界面,显示所述设计界面;The second terminal receives the interface data stream sent by the cloud phone, generates the design interface referenced by the design according to the interface data stream, and displays the design interface;
    所述第二终端向所述云手机发送第二交互信息,接收所述云手机根据所述第二交互信息运行所述设计应用,并根据设计应用运行过程渲染所得的视频流,根据所述视频流在所述设计界面显示所述设计画面。The second terminal sends the second interaction information to the cloud mobile phone, and receives the video stream obtained by the cloud mobile phone running the design application according to the second interaction information, and rendering the design application according to the running process of the design application. The flow displays the design screen on the design interface.
  23. 一种基于云手机的设计方法,其特征在于,应用于云手机,所述方法包括:A design method based on a cloud mobile phone, characterized in that, applied to a cloud mobile phone, the method comprising:
    所述云手机向第一终端和第二终端发送界面数据流,所述界面数据流用于生成设计界面;The cloud phone sends an interface data stream to the first terminal and the second terminal, where the interface data stream is used to generate a design interface;
    所述云手机接收所述第一终端发送的第一交互信息和所述第二终端发送的第二交互信息,所述第一交互信息来自于所述第一终端的用户通过所述设计界面触发的设计操作,所述第二交互信息来自于所述第二终端的用户通过所述设计界面触发的设计操作;The cloud phone receives the first interaction information sent by the first terminal and the second interaction information sent by the second terminal, and the first interaction information is triggered by the user of the first terminal through the design interface The design operation, the second interaction information comes from the design operation triggered by the user of the second terminal through the design interface;
    所述云手机根据所述第一交互信息和所述第二交互信息运行设计应用,根据设计应用运行过程渲染视频流;The cloud phone runs a design application according to the first interaction information and the second interaction information, and renders a video stream according to the design application running process;
    所述云手机向所述第一终端和所述第二终端发送所述视频流。The cloud phone sends the video stream to the first terminal and the second terminal.
  24. 根据权利要求23所述的方法,其特征在于,所述云手机根据设计应用运行过程渲染视频流,包括:The method according to claim 23, wherein the cloud phone renders the video stream according to the design application running process, comprising:
    所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源;The cloud phone obtains a target number of rendering resources from the rendering resource pool according to the design application running process;
    所述云手机根据所述设计应用运行过程,利用所述渲染资源渲染视频流。The cloud phone renders the video stream by using the rendering resource according to the running process of the design application.
  25. 根据权利要求24所述的方法,其特征在于,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:The method according to claim 24, wherein the cloud phone obtains a target number of rendering resources from a rendering resource pool according to a design application running process, comprising:
    所述云手机根据设计应用运行过程确定渲染所需的渲染资源的类型和数量;The cloud phone determines the type and quantity of rendering resources required for rendering according to the design application running process;
    所述云手机从渲染资源池中获取目标类型以及目标数量的渲染资源。The cloud phone acquires the rendering resources of the target type and the target quantity from the rendering resource pool.
  26. 根据权利要求24或25所述的方法,其特征在于,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:The method according to claim 24 or 25, wherein the cloud phone obtains a target number of rendering resources from the rendering resource pool according to the design application running process, comprising:
    所述云手机根据设计应用运行过程以及所述终端的数量从渲染资源池中获取目标数量的渲染资源。The cloud phone acquires a target number of rendering resources from the rendering resource pool according to the design application running process and the number of the terminals.
  27. 根据权利要求23至26任一项所述的方法,其特征在于,所述云手机根据设计应用运行过程渲染视频流,包括:The method according to any one of claims 23 to 26, wherein the cloud phone renders the video stream according to the design application running process, comprising:
    所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流;The cloud mobile phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to the design application running process;
    所述云手机根据所述云渲染指令流渲染视频流,得到第一渲染视频流;The cloud mobile phone renders a video stream according to the cloud rendering instruction stream to obtain a first rendered video stream;
    所述云手机向所述第一终端和所述第二终端发送所述视频流,包括:The cloud mobile phone sends the video stream to the first terminal and the second terminal, including:
    所述云手机向所述第一终端和所述第二终端发送所述第一渲染视频流;sending, by the cloud phone, the first rendered video stream to the first terminal and the second terminal;
    所述方法还包括:The method also includes:
    所述云手机向所述第一终端和所述第二终端发送所述端渲染指令流,所述端渲染指令流用于指示所述第一终端和所述第二终端渲染视频流,得到第二渲染视频流。The cloud phone sends the end-rendering instruction stream to the first terminal and the second terminal, and the end-rendering instruction stream is used to instruct the first terminal and the second terminal to render the video stream to obtain the second terminal. Render the video stream.
  28. 根据权利要求27所述的方法,其特征在于,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:The method according to claim 27, wherein the cloud mobile phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to a design application running process, comprising:
    根据设计应用运行过程中渲染计算量大于计算量阈值的信息生成云渲染指令流,根据所述设计应用运行过程中渲染计算量小于或等于所述计算量阈值的信息生成端渲染指令流。The cloud rendering instruction stream is generated according to the information that the rendering calculation amount is greater than the calculation amount threshold during the running process of the design application, and the end rendering instruction stream is generated according to the information that the rendering calculation amount is less than or equal to the calculation amount threshold value during the running process of the design application.
  29. 根据权利要求27所述的方法,其特征在于,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:The method according to claim 27, wherein the cloud mobile phone generates a cloud rendering instruction stream and a terminal rendering instruction stream according to a design application running process, comprising:
    根据设计应用运行过程中的背景信息生成所述云渲染指令流,根据所述设计应用运行过程中的动作信息生成所述端渲染指令流。The cloud rendering instruction stream is generated according to the background information during the running process of the design application, and the end rendering instruction stream is generated according to the action information during the running process of the design application.
  30. 一种第一客户端,其特征在于,所述第一客户端包括:A first client, characterized in that the first client comprises:
    通信模块,用于发送设计应用启动请求,所述设计应用启动请求用于指示启动云手机上的设计应用;a communication module, configured to send a design application start request, where the design application start request is used to instruct to start the design application on the cloud phone;
    所述通信模块,还用于接收所述云手机发送的界面数据流;The communication module is further configured to receive the interface data stream sent by the cloud mobile phone;
    界面生成模块,用于根据所述界面数据流生成所述设计引用的设计界面;an interface generation module, configured to generate the design interface referenced by the design according to the interface data flow;
    显示模块,用于显示所述设计界面;a display module for displaying the design interface;
    所述通信模块,还用于向所述云手机发送第一交互信息,接收所述云手机根据所述第一交互信息运行所述设计应用,并根据设计应用运行过程渲染所得的视频流;The communication module is further configured to send first interaction information to the cloud mobile phone, and receive a video stream obtained by the cloud mobile phone running the design application according to the first interaction information, and rendering the design application according to the running process of the design application;
    所述显示模块,还用于根据所述视频流在所述设计界面显示所述设计画面。The display module is further configured to display the design picture on the design interface according to the video stream.
  31. 一种第二客户端,其特征在于,所述第二客户端包括:A second client, characterized in that the second client comprises:
    通信模块,用于接收云手机发送的界面数据流;The communication module is used to receive the interface data stream sent by the cloud mobile phone;
    界面生成模块,用于根据所述界面数据流生成设计引用的设计界面;an interface generation module for generating a design interface referenced by the design according to the interface data flow;
    显示模块,用于显示所述设计界面;a display module for displaying the design interface;
    发送模块,用于向所述云手机发送第二交互信息,接收所述云手机根据所述第二交互信息运行所述设计应用,并根据设计应用运行过程渲染所得的视频流;a sending module, configured to send the second interaction information to the cloud mobile phone, and receive the video stream obtained by the cloud mobile phone running the design application according to the second interaction information, and rendering the design application according to the running process of the design application;
    显示模块,用于根据所述视频流在所述设计界面显示所述设计画面。A display module, configured to display the design picture on the design interface according to the video stream.
  32. 一种云手机,其特征在于,所述云手机包括:A cloud mobile phone, characterized in that the cloud mobile phone comprises:
    通信模块,用于向第一终端和第二终端发送界面数据流,所述界面数据流用于生成设计界面;a communication module, configured to send an interface data stream to the first terminal and the second terminal, where the interface data stream is used to generate a design interface;
    所述通信模块,还用于接收所述第一终端发送的第一交互信息和所述第二终端发送的第二交互信息,所述第一交互信息来自于所述第一终端的用户通过所述设计界面触发的设计操作,所述第二交互信息来自于所述第二终端的用户通过所述设计界面触发的设计操作;The communication module is further configured to receive first interaction information sent by the first terminal and second interaction information sent by the second terminal, where the first interaction information comes from the user of the first terminal through the the design operation triggered by the design interface, and the second interaction information comes from the design operation triggered by the user of the second terminal through the design interface;
    渲染模块,用于根据所述第一交互信息和所述第二交互信息运行设计应用,根据设计应用运行过程渲染视频流;a rendering module, configured to run a design application according to the first interaction information and the second interaction information, and render a video stream according to the design application running process;
    所述通信模块,还用于向所述第一终端和所述第二终端发送所述视频流。The communication module is further configured to send the video stream to the first terminal and the second terminal.
  33. 一种第一终端,其特征在于,所述第一终端包括处理器和存储器;A first terminal, characterized in that the first terminal includes a processor and a memory;
    所述处理器用于执行所述存储器中存储的指令,以使得所述第一终端执行如权利要求21所述的方法。The processor is configured to execute the instructions stored in the memory to cause the first terminal to perform the method of claim 21 .
  34. 一种第二终端,其特征在于,所述第二终端包括处理器和存储器;A second terminal, characterized in that the second terminal includes a processor and a memory;
    所述处理器用于执行所述存储器中存储的指令,以使得所述第二终端执行如权利要求22所述的方法。The processor is configured to execute instructions stored in the memory to cause the second terminal to perform the method of claim 22.
  35. 一种云手机,其特征在于,所述云手机包括处理器和存储器;A cloud phone, characterized in that the cloud phone includes a processor and a memory;
    所述处理器用于执行所述存储器中存储的指令,以使得所述云手机执行如权利要求23至29中任一项所述的方法。The processor is configured to execute the instructions stored in the memory, so that the cloud phone executes the method according to any one of claims 23 to 29.
  36. 一种计算机可读存储介质,其特征在于,包括指令,所述指令指示第一终端执行如权利要求21所述的方法。A computer-readable storage medium, characterized by comprising instructions, the instructions instructing the first terminal to execute the method of claim 21 .
  37. 一种计算机可读存储介质,其特征在于,包括指令,所述指令指示第一终端执行如权利要求22所述的方法。A computer-readable storage medium, characterized by comprising instructions, the instructions instructing the first terminal to execute the method of claim 22 .
  38. 一种计算机可读存储介质,其特征在于,包括指令,所述指令指示第一终端执行如权利要求23至29中任一项所述的方法。A computer-readable storage medium, characterized by comprising an instruction, the instruction instructing the first terminal to execute the method according to any one of claims 23 to 29.
PCT/CN2021/116834 2020-09-07 2021-09-07 Vr application design method and system based on cloud mobile phone WO2022048677A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202010929143.6 2020-09-07
CN202010929143 2020-09-07
CN202011192384.3A CN114157907A (en) 2020-09-07 2020-10-30 VR application design method and system based on cloud mobile phone
CN202011192384.3 2020-10-30

Publications (1)

Publication Number Publication Date
WO2022048677A1 true WO2022048677A1 (en) 2022-03-10

Family

ID=80462201

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/116834 WO2022048677A1 (en) 2020-09-07 2021-09-07 Vr application design method and system based on cloud mobile phone

Country Status (2)

Country Link
CN (1) CN114157907A (en)
WO (1) WO2022048677A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115102997A (en) * 2022-06-17 2022-09-23 麒麟软件有限公司 System and method for remotely detecting and controlling cloud mobile phone
CN115393494A (en) * 2022-08-24 2022-11-25 北京百度网讯科技有限公司 City model rendering method, device, equipment and medium based on artificial intelligence
CN115665120A (en) * 2022-12-28 2023-01-31 浙江华东工程数字技术有限公司 Cloud CAD processing method and system, computer equipment and storage medium
CN115801746A (en) * 2022-12-05 2023-03-14 广州南方智能技术有限公司 Distributed server rendering device and method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090070666A1 (en) * 2007-09-12 2009-03-12 Vistaprint Technologies Limited System and Methods for Displaying User Modifiable Server-Rendered Images
CN102685246A (en) * 2012-05-29 2012-09-19 上海家配电子商务有限公司 Household design method and system based on cloud design
US20180373686A1 (en) * 2017-06-23 2018-12-27 Customink, LLC System and method for automating the creation of a renderable design
CN109361935A (en) * 2018-12-24 2019-02-19 广州微算互联信息技术有限公司 Picture stream video transmission method and system
CN110264550A (en) * 2019-06-19 2019-09-20 深圳市瑞云科技有限公司 A kind of fireworks joint performance effect simulation display systems and method based on CG real-time rendering
CN110751712A (en) * 2019-10-22 2020-02-04 中设数字技术股份有限公司 Online three-dimensional rendering technology and system based on cloud platform

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095828B (en) * 2013-01-14 2016-03-30 上海电力学院 The Web3D synchronous conferencing system played up based on cloud and realize synchronous method
WO2018104921A1 (en) * 2016-12-08 2018-06-14 Digital Pulse Pty. Limited A system and method for collaborative learning using virtual reality
EP3716059A4 (en) * 2017-12-12 2021-06-02 Huawei Technologies Co., Ltd. App remote control method and related devices
CN108052364A (en) * 2017-12-13 2018-05-18 上海曼恒数字技术股份有限公司 One kind is based on remote-operated method for displaying image, device, equipment and storage medium
CN110276821A (en) * 2019-06-27 2019-09-24 深圳市瑞云科技有限公司 A kind of system and method rendered based on cloud rendering server collaborative modeling and CG
CN111111158A (en) * 2019-12-24 2020-05-08 广州微算互联信息技术有限公司 Cloud-mobile-phone-based stand-alone game networking method, system, device and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090070666A1 (en) * 2007-09-12 2009-03-12 Vistaprint Technologies Limited System and Methods for Displaying User Modifiable Server-Rendered Images
CN102685246A (en) * 2012-05-29 2012-09-19 上海家配电子商务有限公司 Household design method and system based on cloud design
US20180373686A1 (en) * 2017-06-23 2018-12-27 Customink, LLC System and method for automating the creation of a renderable design
CN109361935A (en) * 2018-12-24 2019-02-19 广州微算互联信息技术有限公司 Picture stream video transmission method and system
CN110264550A (en) * 2019-06-19 2019-09-20 深圳市瑞云科技有限公司 A kind of fireworks joint performance effect simulation display systems and method based on CG real-time rendering
CN110751712A (en) * 2019-10-22 2020-02-04 中设数字技术股份有限公司 Online three-dimensional rendering technology and system based on cloud platform

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115102997A (en) * 2022-06-17 2022-09-23 麒麟软件有限公司 System and method for remotely detecting and controlling cloud mobile phone
CN115393494A (en) * 2022-08-24 2022-11-25 北京百度网讯科技有限公司 City model rendering method, device, equipment and medium based on artificial intelligence
CN115393494B (en) * 2022-08-24 2023-10-17 北京百度网讯科技有限公司 Urban model rendering method, device, equipment and medium based on artificial intelligence
CN115801746A (en) * 2022-12-05 2023-03-14 广州南方智能技术有限公司 Distributed server rendering device and method
CN115801746B (en) * 2022-12-05 2023-09-22 广州南方智能技术有限公司 Distributed server rendering device and method
CN115665120A (en) * 2022-12-28 2023-01-31 浙江华东工程数字技术有限公司 Cloud CAD processing method and system, computer equipment and storage medium
CN115665120B (en) * 2022-12-28 2023-03-21 浙江华东工程数字技术有限公司 Cloud CAD processing method and system, computer equipment and storage medium

Also Published As

Publication number Publication date
CN114157907A (en) 2022-03-08

Similar Documents

Publication Publication Date Title
WO2022048677A1 (en) Vr application design method and system based on cloud mobile phone
US11785056B2 (en) Web browser interface for spatial communication environments
US9813463B2 (en) Phoning into virtual communication environments
USRE46309E1 (en) Application sharing
TWI533198B (en) Communicating between a virtual area and a physical space
KR101640767B1 (en) Real-time virtual reality input/output system and method based on network for heterogeneous environment
CN103095828B (en) The Web3D synchronous conferencing system played up based on cloud and realize synchronous method
US20220319139A1 (en) Multi-endpoint mixed-reality meetings
US20110296043A1 (en) Managing Shared Sessions in a Shared Resource Computing Environment
WO2019114185A1 (en) App remote control method and related devices
CN112221127B (en) Multi-point control method and device for cloud game
CN104007986A (en) Cross-system remote real-time interaction technology
US20210034318A1 (en) Shared volume computing architecture of a virtual reality environment and related systems and methods
JP2023524930A (en) CONFERENCE PROCESSING METHOD AND SYSTEM USING AVATARS
CN114885199B (en) Real-time interaction method, device, electronic equipment, storage medium and system
KR20000041202A (en) Three dimensional system in internet
US20230122666A1 (en) Cloud xr-based program virtualizing method
US12008209B2 (en) Virtual space management system and method for the same
US20230339816A1 (en) Visual Communications
Turjya et al. 1 Technologies That
KR20230127613A (en) Practical education system based on metabus
CN112035047A (en) Cross-platform multi-person online interaction method, system and storage medium
Sari et al. Croquet based Virtual Museum Implementation with Grid Computing Connection
CN115624740A (en) Virtual reality equipment, control method, device and system thereof, and interaction system
Encarnação Challenges and frontiers of computer graphics: a vision for an applied research agenda

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: 21863739

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: 21863739

Country of ref document: EP

Kind code of ref document: A1