CN114157907A - 基于云手机的vr应用设计方法及系统 - Google Patents
基于云手机的vr应用设计方法及系统 Download PDFInfo
- Publication number
- CN114157907A CN114157907A CN202011192384.3A CN202011192384A CN114157907A CN 114157907 A CN114157907 A CN 114157907A CN 202011192384 A CN202011192384 A CN 202011192384A CN 114157907 A CN114157907 A CN 114157907A
- Authority
- CN
- China
- Prior art keywords
- design
- rendering
- cloud
- mobile phone
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013461 design Methods 0.000 title claims abstract description 663
- 238000000034 method Methods 0.000 title claims abstract description 212
- 238000009877 rendering Methods 0.000 claims abstract description 405
- 230000008569 process Effects 0.000 claims abstract description 133
- 230000003993 interaction Effects 0.000 claims abstract description 99
- 238000004891 communication Methods 0.000 claims description 43
- 238000004364 calculation method Methods 0.000 claims description 32
- 230000015654 memory Effects 0.000 claims description 28
- 230000009471 action Effects 0.000 claims description 15
- 230000001960 triggered effect Effects 0.000 claims description 14
- 238000007726 management method Methods 0.000 description 55
- 238000010586 diagram Methods 0.000 description 23
- 239000003795 chemical substances by application Substances 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 9
- 230000002452 interceptive effect Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 239000011521 glass Substances 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 238000005034 decoration Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005057 finger movement Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 210000000697 sensory organ Anatomy 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing 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/44012—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing 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
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
本申请提供了一种基于云手机的设计方法和设计系统,该设计系统包括:云手机和至少一个客户端,至少一个客户端分别运行于一个终端,用于接收云手机发送的界面数据流,根据界面数据流生成设计界面,并在各自所在的终端上显示设计界面,云手机设置于网络侧,用于接收至少一个客户端中的一个或任意组合发送的至少一个交互信息,根据至少一个交互信息运行设计应用,以及根据设计应用运行过程渲染视频流,至少一个客户端,还用于接收视频流,根据视频流在设计界面显示设计画面。通过由网络侧的云手机渲染视频流,实现了支持海量用户协同在线设计,满足了业务需求。
Description
本申请要求于2020年09月07日提交中国国家知识产权局、申请号为202010929143.6、申请名称为“云手机及基于云手机的互动设计方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及云计算技术领域,尤其涉及一种基于云手机的设计方法、系统、设备以及计算机可读存储介质。
背景技术
在进行工业设计,如建筑设计、装修设计时,设计人员通常是通过电脑完成设计。其中,设计过程中的人机互动主要是基于鼠标与键盘的点击拖拽实现。随着虚拟现实(virtual reality,VR)技术的不断发展,产生新的人机互动方法。
VR也称虚拟环境。VR通过计算模拟产生一个三维空间的虚拟世界,向用户提供关于视觉等感官的模拟,用户执行某种或某些动作时,可以通过计算对虚拟世界进行调整,使得用户感觉仿佛身临其境。VR应用到工业设计时,VR设备可以生成虚拟设计环境,设计人员可以在该虚拟设计环境中,通过双手进行人机交互。并且,设计人员还可以和其他人员共同在该虚拟设计环境中进行人机交互,以协同完成设计,如此,可以大幅提升设计效率和设计质量。
然而,上述虚拟设计环境支持参与设计的人数有限,通常为8至10人,难以满足业务需求。
发明内容
本申请提供了一种基于云手机的设计方法和设计系统,通过利用设置在网络侧的云手机在云端渲染视频流,可以充分发挥云手机的运算能力能够弹性伸缩的优势,一方面可以实现支持海量用户在线协同设计,另一方面将耗费大量运算能力的渲染等工作卸载到云手机中实现,可以减轻终端的硬件规格需求,节约成本,具有较高可用性。
第一方面,本申请提供了一种设计系统。该设计系统包括:云手机和至少一个客户端,至少一个客户端分别运行于一个终端,用于接收云手机发送的界面数据流,根据界面数据流生成设计界面,并在各自所在的终端上显示所述设计界面,云手机,用于接收至少一个客户端中的一个或任意组合发送的至少一个交互信息,至少一个交互信息具体来自于至少一个客户端中的一个或者任意组合的用户通过各自所操作的终端上显示的设计界面触发的设计操作,然后云手机根据交互信息运行设计应用,以及根据设计应用运行过程渲染视频流,至少一个客户端还用于接收视频流,根据视频流在设计界面显示设计画面。
其中,云手机设置于网络侧,由网络侧的云手机渲染视频流,可以充分发挥云手机的运算能力能够弹性伸缩的优势实现按需渲染,一方面能够实现支持海量用户在线协同设计,另一方面将耗费大量运算能力的渲染等工作卸载到云手机中实现,可以减轻终端的硬件规格需求,节约成本,具有较高可用性。
在一些可能的实现方式中,渲染资源是指用于渲染视频的资源,例如渲染资源可以是图形处理器(graphics processing unit,GPU)。云手机可以通过物理服务器中的容器实现。该物理服务器包括软件资源和硬件资源。不同物理服务器的硬件资源可以进行虚拟化,形成物理资源池。例如,不同物理服务器中的GPU等渲染资源可以进行虚拟化,得到支持动态分配、灵活调度、跨域共享的渲染资源池。
云手机可以调度渲染资源池中的渲染资源进行视频流渲染。具体地,云手机可以根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,然后云手机根据设计应用运行过程,利用渲染资源渲染视频流。如此,云手机可以实现基于渲染能力消耗,精准提供渲染资源进行渲染,满足多种多样的性能需求。
在一些可能的实现方式中,不同类型的渲染资源的渲染能力可以是不同的。例如,对于同一渲染对象,x86架构的GPU和高级精简指令集机器(advanced RISC machine,ARM)架构的GPU的渲染能力是不同的。为此,云手机还可以根据设计应用运行过程确定渲染所需的渲染资源的类型和数量,然后从渲染资源池中获取目标类型以及目标数量的渲染资源。如此可以充分利用不同类型的渲染资源的渲染能力,满足不同业务场景的渲染需求。
在一些可能的实现方式中,云手机调度的渲染资源的数量与参与协同设计的终端的数量相关。为此,云手机可以根据设计应用运行过程以及终端的数量,从渲染资源池中获取目标数量的渲染资源。如此可以实现通过渲染资源的弹性伸缩支持不同数量的用户进行协同设计。
进一步地,参与协同设计的终端可以包括不同类型的终端。云手机可以针对不同类型的终端分别渲染视频流。因此,云手机还可以根据设计应用运行过程以及终端的类型、数量从渲染资源池中获取目标数量的渲染资源,以便基于该目标数量的渲染资源进行渲染。如此实现精确地提供渲染资源,满足不同业务场景的渲染需求。
在一些可能的实现方式中,考虑到X86架构下云VR业务消耗巨大的带宽资源,单用户通常需要50Mbps到100Mbps的带宽资源,云手机还可以利用端侧和云侧的ARM指令的兼容性,通过端云协同渲染降低带宽,从而降低成本,便于规模化商用。
具体地,云手机可以根据设计应用运行过程生成云渲染指令流和端渲染指令流,其中,云渲染指令流包括至少一个云渲染指令,端渲染指令流包括至少一个端渲染指令,云渲染指令指示在云端进行渲染,端渲染指令在客户端进行渲染。云手机可以根据云渲染指令流渲染视频流,得到第一渲染视频流。接着云手机向至少一个客户端发送第一渲染视频流和端渲染指令流。该端渲染指令流用于指示至少一个客户端根据端渲染指令流渲染视频流,得到第二渲染视频流。对应地,至少一个客户端具体可以用于对第一渲染视频流和第二渲染视频流进行合流,获得第三渲染视频流,然后根据第三渲染视频流在设计界面显示设计画面。如此可以降低带宽,进而降低成本。
在一些可能的实现方式中,考虑到端侧渲染能力通常是有限的。基于此,云手机可以根据设计应用运行过程中渲染计算量大于计算量阈值的信息生成云渲染指令流,根据设计应用运行过程中渲染计算量小于或等于计算量阈值的信息生成端渲染指令流。如此在降低带宽的同时,还保障了端侧能够正常渲染视频流,为用户提供较好的体验。
在一些可能的实现方式中,背景信息的占比通常较低,一般需要消耗较多的渲染资源,为此,云手机可以根据设计应用运行过程中的背景信息生成云渲染指令流,根据设计应用运行过程中的动作信息生成所述端渲染指令流。如此可以有效降低带宽,从而降低成本。
在一些可能的实现方式中,所述终端包括虚拟现实终端或平面终端。其中,虚拟现实终端包括PC VR终端和移动VR终端,例如包括VR头盔、VR眼镜等设备。平面终端包括智能手机、平板电脑等设备。该系统支持多类型设备尤其是通用的平面终端参与协同设计,满足了不同业务场景需求。而且无需用户配置专用设备,降低了成本。
在一些可能的实现方式中,所述终端包括所述虚拟现实终端时,所述交互信息包括动作信息和位置信息中的至少一种。具体地,用户可以通过手势或其他肢体动作触发协同设计,相应地,虚拟现实终端可以获得动作信息和位置信息,并向云手机提供上述动作信息和位置信息,以便进行渲染得到视频流,从而实现支持虚拟现实终端参与协同设计。
在一些可能的实现方式中,所述终端包括平面终端时,所述交互信息包括操作指令。具体地,用户可以通过平面终端进行设计操作,例如通过触摸或者触控笔触控的方式执行设计操作,平面终端接收该设计操作,向云手机提供相应的操作指令,以便云手机根据该操作指令进行渲染得到视频流,从而实现支持平面终端参与协同设计。
第二方面,本申请提供了一种基于云手机的设计方法。该方法应用于设计系统,该设计系统包括云手机和至少一个客户端,其中,至少一个客户端分别运行于一个终端,云手机设置于网络侧,该方法包括:
所述至少一个客户端接收所述云手机发送的界面数据流,根据所述界面数据流生成设计界面,并在所述至少一个终端显示所述设计界面;
所述云手机接收所述至少一个客户端中的一个或者任意组合发送的至少一个交互信息,根据所述至少一个交互信息运行设计应用,以及根据设计应用运行过程渲染视频流;其中,所述交互信息来自于至少一个客户端中的一个或者任意组合的用户通过各自所操作的终端上显示的设计界面触发的设计操作;
所述至少一个客户端接收所述视频流,根据所述视频流在所述设计界面显示设计画面。
在一些可能的实现方式中,所述云手机根据设计应用运行过程渲染视频流,包括:
所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源;
所述云手机根据所述设计应用运行过程,利用所述渲染资源渲染视频流。
在一些可能的实现方式中,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:
所述云手机根据所述设计应用运行过程确定渲染所需的渲染资源的类型和数量;
所述云手机从渲染资源池中获取目标类型以及目标数量的渲染资源。
在一些可能的实现方式中,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:
所述云手机根据所述设计应用运行过程以及所述终端的数量从渲染资源池中获取目标数量的渲染资源。
在一些可能的实现方式中,所述云手机根据设计应用运行过程渲染视频流,包括:
所述云手机根据所述设计应用运行过程生成云渲染指令流和端渲染指令流;
所述云手机根据所述云渲染指令流渲染视频流,得到第一渲染视频流;
所述至少一个客户端接收视频流,根据所述视频流在所述设计界面显示设计画面,包括:
所述至少一个客户端接收所述第一渲染视频流和所述端渲染指令流;
所述至少一个客户端根据所述端渲染指令流渲染视频流,得到第二渲染视频流;
所述至少一个客户端对所述第一渲染视频流和所述第二渲染视频流进行合流,获得第三渲染视频流;
根据所述第三渲染视频流在所述设计界面显示设计画面。
在一些可能的实现方式中,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:
根据设计应用运行过程中渲染计算量大于计算量阈值的信息生成云渲染指令流,根据所述设计应用运行过程中渲染计算量小于或等于所述计算量阈值的信息生成端渲染指令流。
在一些可能的实现方式中,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:
根据设计应用运行过程中的背景信息生成云渲染指令流,根据所述设计应用运行过程中的动作信息生成端渲染指令流。
在一些可能的实现方式中,所述终端包括虚拟现实终端或平面终端。
在一些可能的实现方式中,所述终端包括所述虚拟现实终端时,所述交互信息包括动作信息和位置信息中的至少一种。
在一些可能的实现方式中,所述终端包括平面终端时,所述交互信息包括操作指令。
第三方面,本申请提供了一种基于云手机的设计方法。该方法应用于第一终端。具体地,第一终端发送设计应用启动请求,该设计应用启动请求用于指示启动云手机上的设计应用,第一终端接收云手机发送的界面数据流,根据该界面数据流生成上述设计引用的设计界面,显示该设计界面,接着第一终端向云手机发送第一交互信息,接收云手机根据第一交互信息运行设计应用,并根据设计应用运行过程渲染所得的视频流,根据该视频流在设计界面显示设计画面。
在一些可能的实现方式中,第一终端接收云手机根据云渲染指令流渲染所得的第一渲染视频流,以及接收端渲染指令流,其中,云渲染指令流和端渲染指令流是云手机根据第一交互信息运行设计应用,根据设计应用运行过程渲染所得。接着第一终端根据端渲染指令流渲染视频流,获得第二渲染视频流,并对第一渲染视频流和第二渲染视频流进行合流,得到第三渲染视频流。对应地,第一终端根据第三渲染视频流在设计界面显示设计画面。
第四方面,本申请提供了一种基于云手机的设计方法。该方法应用于第一终端。具体地,第二终端接收云手机发送的界面数据流,根据界面数据流生成设计引用的设计界面,并显示设计界面,然后第二终端向云手机发送第二交互信息,接收云手机根据第二交互信息运行设计应用,并根据设计应用运行过程渲染所得的视频流,根据该视频流在设计界面显示设计画面。
在一些可能的实现方式中,第二终端接收云手机根据云渲染指令流渲染所得的第一渲染视频流,以及接收端渲染指令流,其中,云渲染指令流和端渲染指令流是云手机根据第二交互信息运行设计应用,根据设计应用运行过程渲染所得。接着第二终端根据端渲染指令流渲染视频流,获得第二渲染视频流,并对第一渲染视频流和第二渲染视频流进行合流,得到第三渲染视频流。对应地,第二终端根据第三渲染视频流在设计界面显示设计画面。
第五方面,本申请提供了一种基于云手机的设计方法。该方法应用于云手机。具体地,云手机向第一终端和第二终端发送界面数据流,该界面数据流用于生成设计界面,然后云手机接收第一终端发送的第一交互信息和第二终端发送的第二交互信息,其中,第一交互信息来自于第一终端的用户通过设计界面触发的设计操作,第二交互信息来自于第二终端的用户通过设计界面触发的设计操作,接着云手机根据第一交互信息和第二交互信息运行设计应用,根据设计应用运行过程渲染视频流,再接着云手机向第一终端和第二终端发送视频流。
在一些可能的实现方式中,所述云手机根据设计应用运行过程渲染视频流,包括:
所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源;
所述云手机根据所述设计应用运行过程,利用所述渲染资源渲染视频流。
在一些可能的实现方式中,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:
所述云手机根据设计应用运行过程确定渲染所需的渲染资源的类型和数量;
所述云手机从渲染资源池中获取目标类型以及目标数量的渲染资源。
在一些可能的实现方式中,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:
所述云手机根据设计应用运行过程以及所述终端的数量从渲染资源池中获取目标数量的渲染资源。
在一些可能的实现方式中,所述云手机根据设计应用运行过程渲染视频流,包括:
所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流;
所述云手机根据所述云渲染指令流渲染视频流,得到第一渲染视频流;
所述云手机向所述第一终端和所述第二终端发送所述视频流,包括:
所述云手机向所述第一终端和所述第二终端发送所述第一渲染视频流;
所述方法还包括:
所述云手机向所述第一终端和所述第二终端发送所述端渲染指令流,所述端渲染指令流用于指示所述第一终端和所述第二终端渲染视频流,得到第二渲染视频流。
在一些可能的实现方式中,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:
根据设计应用运行过程中渲染计算量大于计算量阈值的信息生成云渲染指令流,根据所述设计应用运行过程中渲染计算量小于或等于所述计算量阈值的信息生成端渲染指令流。
在一些可能的实现方式中,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:
根据设计应用运行过程中的背景信息生成所述云渲染指令流,根据所述设计应用运行过程中的动作信息生成所述端渲染指令流。
第六方面,本申请还提供一种第一客户端。该第一客户端包括用于执行第三方面或第三方面任意一种可能实现方式中的方法的各个模块。
第七方面,本申请还提供一种第二客户端。该第二客户端包括用于执行第四方面或第四方面任意一种可能实现方式中的方法的各个模块。
第八方面,本申请还提供一种云手机。该云手机包括用于执行第五方面或第五方面任意一种可能实现方式中的方法的各个模块。
其中,第六方面或第六方面任意一种实现方式是第三方面或第三方面任意一种实现方式对应的装置实现,第三方面或第三方面任意一种实现方式中的描述适用于第六方面或第六方面任意一种实现方式,在此不再赘述。
第七方面或第七方面任意一种实现方式是第四方面或第四方面任意一种实现方式对应的装置实现,第四方面或第四方面任意一种实现方式中的描述适用于第七方面或第七方面任意一种实现方式,在此不再赘述。
第八方面或第八方面任意一种实现方式是第五方面或第五方面任意一种实现方式对应的装置实现,第五方面或第五方面任意一种实现方式中的描述适用于第八方面或第八方面任意一种实现方式,在此不再赘述。
第九方面,本申请提供一种第一终端,所述第一终端包括处理器和存储器。所述处理器、所述存储器进行相互的通信。所述处理器用于执行所述存储器中存储的指令,以使得第一终端执行如第三方面或第三方面的任一种实现方式中的方法。
第十方面,本申请提供一种第二终端,所述第二终端包括处理器和存储器。所述处理器、所述存储器进行相互的通信。所述处理器用于执行所述存储器中存储的指令,以使得第二终端执行如第四方面或第四方面的任一种实现方式中的方法。
第十一方面,本申请提供一种云手机,所述云手机包括处理器和存储器。所述处理器、所述存储器进行相互的通信。所述处理器用于执行所述存储器中存储的指令,以使得云手机执行如第五方面或第五方面的任一种实现方式中的方法。
第十二方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示第一终端执行上述第三方面或第三方面的任一种实现方式所述的方法。
第十三方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示第二终端执行上述第四方面或第四方面的任一种实现方式所述的方法。
第十四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示云手机执行上述第五方面或第五方面的任一种实现方式所述的方法。
第十五方面,本申请提供了一种包含指令的计算机程序产品,当其在第一终端上运行时,使得第一终端执行上述第三方面或第三方面的任一种实现方式所述的方法。
第十六方面,本申请提供了一种包含指令的计算机程序产品,当其在第二终端上运行时,使得第二终端执行上述第四方面或第四方面的任一种实现方式所述的方法。
第十七方面,本申请提供了一种包含指令的计算机程序产品,当其在云手机上运行时,使得云手机执行上述第五方面或第五方面的任一种实现方式所述的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。
图1为本申请实施例提供的一种基于云手机的设计系统的系统架构示意图;
图2为本申请实施例提供的一种数据中心的系统架构示意图;
图3为本申请实施例提供的一种设计应用的结构示意图;
图4为本申请实施例提供的一种基于云手机的设计方法的交互流程图;
图5a至图5e为本申请实施例提供的一种第一终端的界面示意图;
图6为本申请实施例提供的一种渲染资源池的示意图;
图7a至图7e为本申请实施例提供的一种第三终端的界面示意图;
图8为本申请实施例提供的一种第一终端的结构示意图;
图9为本申请实施例提供的一种第二终端的结构示意图;
图10为本申请实施例提供的一种服务器的结构示意图;
图11为本申请实施例提供的一种第一客户端的结构示意图;
图12为本申请实施例提供的一种第二客户端的结构示意图;
图13为本申请实施例提供的一种云手机的结构示意图。
具体实施方式
本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
首先对本申请实施例中所涉及到的一些技术术语进行介绍。
为了便于理解本申请实施例,首先,对本申请涉及的部分术语进行解释说明。
云手机(cloud phone):一种在物理服务器中运行的带有手机操作系统,同时具有虚拟手机功能的云服务。该云服务通常利用容器(container)实现,其本质是将手机上的应用转移到数据中心的物理服务器中的容器运行,通过容器使得不同的云手机之间相互隔离,互不干扰。云手机可以安装手机应用,这些手机应用在云手机中运行,运行过程中产生的音视频流可发送至本地手机进行显示及播放。本地手机根据在本地显示和播放的音视频流产生的控制命令也可以发送至云手机,云手机根据控制命令控制应用的运行状态,因此,本地手机的手机应用可转移到数据中心中的云手机运行,本地手机无需安装大量耗费硬件资源的手机应用,例如二维或三维游戏、行业设计软件等,亦无需安装大量的手机应用(可将该些手机应用卸载到云手机中),可以实现本地轻量化。并且,由于手机应用在云手机运行,本地手机无需较高的硬件配置也可以让用户有机会使用具有较高硬件配置需求的手机应用,因此无需因更高的硬件需求而更换本地手机。
值得注意的是,云手机也可以利用虚拟机实现,本申请实施例对此不作限定。
虚拟现实(virtual reality,VR):也称虚拟环境,是通过计算设备模拟产生一个三维空间的虚拟世界,提供用户关于视觉等感官的模拟,让用户感觉仿佛身历其境,可以即时、没有限制地观察三维空间内的事物。用户进行位置移动时,计算设备可以立即进行复杂的运算,将精确的三维世界影像传回以产生临场感。
VR终端:一种具有VR功能的终端。VR终端具体可以分为一体式和分体式两种类型。所谓一体式是指计算和显示功能集成在同一设备,所谓分体式是指计算和显示功能分别由不同设备实现。在一些实现方式中,分体机包括主机盒子和显示设备。主机盒子用于进行计算以为显示设备提供影像。该主机盒子可以是游戏机等专用设备,或者是个人计算机(personal computer,PC)、智能手机等通用设备。显示设备用于显示主机盒子提供的影像。该显示设备可以是支持VR的头盔、头显、眼镜、手表等可穿戴设备。在一些情况下,也可以将分体机中的显示设备称为VR终端,该VR终端还可以基于主机盒子类型分为PC VR和移动VR。
VR终端可以应用到工业设计领域,从而为设计人员提供新的交互方式。具体地,VR终端可以生成虚拟设计环境,设计人员可以在该虚拟设计环境中,通过双手进行人机交互。并且,设计人员还可以和其他人员共同在该虚拟设计环境中进行人机交互,以协同完成设计,如此,可以大幅提升设计效率和设计质量。然而,上述虚拟设计环境支持参与设计的人数有限,通常为8至10人,难以满足业务需求。
为了解决上述技术问题,本申请实施例提供一种基于云手机的设计方法及系统,该系统包括云手机和至少一个客户端,至少一个客户端分别运行于一个终端。该方法包括以下步骤:
云手机接收至少一个客户端中的一个或者任意组合发送的至少一个交互信息,根据所述至少一个交互信息运行设计应用,以及根据设计应用运行过程渲染视频流;其中,所述至少一个交互信息来自于至少一个客户端中的一个或者任意组合的用户通过所述设计界面触发的设计操作;
云手机向至少一个客户端发送视频流,以便至少一个客户端根据视频流在设计界面显示设计画面。
本申请实施例基于云手机的运算能力可以弹性伸缩的优势,利用云手机在云端渲染视频流,如此,至少一个客户端可以根据视频流在设计界面中显示设计画面。一方面可以实现支持海量用户在线协同设计;另一方面,将耗费大量运算能力的渲染等工作卸载到云手机中实现,可以减轻终端的硬件规格需求,节约成本,具有较高可用性。
下文将围绕以上介绍的总体思路对本申请实施例作出详细介绍。
首先请参见图1,图1是根据本申请实施例的设计系统的系统架构示意图。
如图1所示,本申请实施例的设计系统包括接入网络150的第一终端21、第二终端22、第三终端23、以及数据中心200。
第一终端21、第二终端22、第三终端23中安装有设计应用的客户端,分别为第一客户端、第二客户端以及第三客户端,第一客户端、第二客户端以及第三客户端与数据中心200建立连接,并进行数据交互。
值得注意的是,本申请实施例支持的客户端数量可以是任意一个或多个,对应的终端数量也可以是任意一个或多个。图1仅以终端数量为3个进行示例说明。
并且,客户端运行在终端上,本申请实施例中客户端执行的动作可以认为是由运行该客户端的终端执行。
数据中心200位于网络侧,数据中心200中设置有云手机资源池100和云手机管理节点101。云手机资源池100中包括至少一个云手机,例如可以包括云手机102、云手机103、……。至少一个云手机中安装有设计应用。例如,如图1所示,云手机102中安装有设计应用1、设计应用2、设计应用3以及设计应用4,云手机103中安装有设计应用5。设计应用1至5可以是建筑设计应用、装修设计应用、集成电路设计应用、服装设计应用、广告设计应用等等。
在可选实施例中,终端可例如为VR终端,如PC VR终端,或者是VR眼镜、VR头盔等移动VR终端。在另一实施例中,终端也可例如为平板电脑、个人数字助理、笔记本电脑等平面终端。上述终端设置有语音收集设备和摄像头。图1以第一终端21为VR终端,如VR头盔,第二终端22为平面终端,如应用于会议室、教室的大屏显示系统,第三终端23为便携的平面终端,如智能手机进行示例说明。
在本申请实施例中,针对一个项目进行设计的至少一个用户形成一个用户组,例如图1中的用户11、用户12、用户13形成一个用户组。该用户组中的任意一个用户可以通过运行于其终端上的客户端,如用户11可以通过运行于终端21上的第一客户端启动协同设计,云手机如云手机103响应于该操作,生成界面数据流,并向用户组的各个用户对应的客户端发送界面数据流,如此用户组的各个客户端如第一客户端、第二客户端、第三客户端根据该界面数据流生成设计界面。
用户11、用户12、用户13中的至少一个用户可以通过设计界面触发设计操作,例如可以通过手势触发设计操作,或者通过触控、语音控制等方式触发设计操作,客户端如第一客户端、第二客户端、第三客户端中的至少一个客户端根据该设计操作产生交互信息,并向云手机103发送交互信息。
云手机103根据该交互信息运行设计应用,如运行设计应用5,以及根据设计应用运行过程渲染视频流,然后向用户组的各个用户对应的客户端发送视频流,第一客户端、第二客户端和第三客户端根据该视频流在设计界面中显示设计画面。
为了充分说明,以下请参见图2,图2是根据本申请实施例的数据中心200的系统架构示意图,如图2所示,数据中心200包括云手机管理节点101和云手机资源池100,其中,云手机资源池100包括多个物理服务器110、服务器120……,物理服务器可以是通用的物理服务器,例如,ARM服务器或X86服务器,本申请实施例不作具体限定。
其中,云手机资源池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通过容器实现隔离。
云手机管理代理节点代理模块对容器实现全生命周期的管理,并可以用于监控和收集服务器的容器信息,并将该服务器信息实时上报至云手机管理节点101。举例来说,服务器110上的云手机管理代理节点代理模块1011可以监控和收集服务器110的容器信息,云手机管理代理节点代理模块1011接收云手机管理节点101发送的云手机控制命令,云手机管理代理节点代理模块1011可以根据云手机控制命令控制服务器110上的容器102和容器103的工作状态,云手机管理代理节点代理模块1012还用于接收云手机管理节点101发送的云手机控制命令,云手机管理代理节点代理模块1011可以根据云手机控制命令控制服务器120上的容器104和容器105的工作状态。
云手机以容器的形式与服务器上其他的云手机共享硬件资源和操作系统,每个容器可以包括云手机所需的应用程序和每个应用程序所需的依赖资源,应用程序所需的依赖资源可以是前述内容中的核心库和系统库。其中,每个云手机和其他云手机共享服务器的硬件资源和操作系统。具体地,不同服务器的硬件资源可以通过虚拟化形成资源池。例如,不同服务器的GPU等渲染资源可以通过虚拟化,形成支持动态分配、灵活调度、跨域共享的渲染资源池。
换句话说,各个容器没有自己的内核,容器内的应用程序进程直接运行在服务器的内核上,各个云手机可以相互独立地直接运行于服务器硬件上,创造出应用程序的独立沙箱运行环境。
具体实现中,云手机管理节点和部署在每个服务器上的云手机管理代理节点代理模块可以基于Kubernetes、Docker等容器管理系统实现。
在其他实施例中,也可以通过虚拟机实现云手机,本申请对此不做限定。
为了使得本申请的技术方案更加清楚、易于理解,以下请参见图3,图3是根据本申请实施例的设计应用的结构示意图。为了便于描述,图3以设计应用1进行示例说明。如图3所示,设计应用1包括设计模块和渲染模块。其中,设计模块用于构建模型,以构建三维(three dimension,3D)模型为例,设计模块可以采集模型参数,然后对模型参数进行处理,接着进行贴图,从而构建出3D模型。渲染模块用于根据3D模型渲染出视频流。该视频流至少包括画面流(也可以称为图像流),画面流可以用于生成设计画面,如设计对象的3D画面。
在一些可能的实现方式中,设计应用1还可以包括语音处理模块。语音处理模块用于接收至少一个客户端的语音,将该客户端的语音同步至其他客户端,从而实现用户交流。其中,语音对应的音频流可以独立于上述画面流,具体地,云手机可以将音频流和画面流分别发送至客户端。当然,语音对应的音频流也可以和画面流进行混合,渲染得到包括音频流的视频流。
在一些可能的实现方式中,设计应用1还可以包括权限管理模块。该权限管理模块用于管理各用户的设计权限。例如,权限管理模块可以为用户组中的若干用户提供读写权限,或者为用户组中的用户提供只读权限。其中,读写权限是指可以参与设计,只读权限是指可以观看设计过程,但不执行设计操作。
此外,权限管理模块还用于对具有读写权限的用户的控制权限进行管理调度。例如,用户可以通过客户端发送控制权限获取请求,权限管理模块响应于该请求,为用户分配控制权限。如此,用户可以通过设计界面进行“写”操作,具体是进行设计操作,从而进行在线协同设计。需要说明的是,权限管理模块可以在同一时刻为一个用户提供控制权限,也可以在同一时刻为多个用户提供控制权限,本申请实施例对此不作限定。
在一些可能的实现方式中,上述渲染模块、语言处理模块、权限管理模块也可以从设计应用中独立,通过独立的应用实现相应的功能。例如通过独立的权限管理应用实现对控制权限等进行管理调度。
以下基于图1和图2所介绍的系统架构对本申请实施例涉及的设计方法做出具体说明。
请参见图4,图4是根据本申请实施例的基于云手机的设计方法的交互流程图,本申请实施例的设计方法包括以下步骤:
S101:第一客户端发送设计应用启动请求至云手机管理服务节点101。
设计应用启动请求包括设计应用的标识,用于启动相应的设计应用。在一些可能的实现方式中,设计应用启动请求还可以包括用户标识。该用户标识至少包括触发设计应用启动操作的用户的标识。进一步地,该用户标识还可以包括参与设计的其他用户的标识。在一些实施例中,第一客户端也可以在设计应用被启动后,或者设计文档被打开或被创建后,再发送用户标识。
上述设计应用的标识、用户标识是具有唯一性的标识,例如可以是名称、编码等等。例如,设计应用的标识可以是设计应用的名称,用户标识可以是用户的电子邮箱地址。
为了便于理解,下面可结合图5a至图5b一并参考,其中图5a至图5b为根据本申请实施例的第一终端21的屏幕显示画面示意图。
请参见图5a,如图5a所示,用户11佩戴该第一终端21,第一终端21具有头戴式显示设备(简称为头显),头显的主显示界面中设置有第一客户端的图标,用户11可以通过肢体动作,如手势触发第一客户端的图标,第一终端21响应于该操作启动第一客户端,并与云手机管理服务节点101建立连接。云手机管理服务节点101可以向第一客户端返回该云手机管理服务节点101管理的云手机上安装的应用列表,如包括设计应用1至7的应用列表。
接着参见图5b,如图5b所示,第一客户端根据云手机管理服务节点101返回的应用列表在云手机应用管理界面显示应用列表中各应用的图标。用户11可以通过手势触发应用的图标,从而触发启动应用的操作。例如,用户11可以通过手势触发设计应用1的图标,从而触发启动设计应用1的操作。第一客户端响应于用户11的上述操作,生成设计应用启动请求,并向云手机管理服务节点101发送设计应用启动请求。
其中,设计应用启动请求包括设计应用的标识,例如包括设计应用1的名称,由此可以指示启动设计应用1。设计应用启动请求还包括用户标识,例如包括用户11、用户12以及用户13的标识。
S102:云手机管理服务节点101确定请求启动的设计应用所在的云手机。
云手机管理服务节点101用于管理至少一个云手机。云手机管理服务节点101中存储有其管理的至少一个云手机和云手机上安装的应用的对应关系。例如,云手机102和设计应用1至4的对应关系,云手机105和设计应用5的对应关系。
基于此,云手机管理服务节点101可以根据设计应用启动请求中设计应用的标识,以及云手机和云手机上安装的应用的对应关系,确定请求启动的设计应用所在的云手机。例如,请求启动的设计应用为设计应用1时,云手机管理服务节点101可以根据对应关系确定设计应用1所在的云手机为云手机102。
S103:云手机管理服务节点101向对应的云手机(例如为云手机102)路由设计应用启动请求。
具体地,云手机管理服务节点101将接收到的设计应用启动请求,发送至请求启动的设计应用所在的云手机,例如为云手机102。
本申请实施例仅仅以云手机102进行示例说明,当请求启动的设计应用为其他设计应用时,云手机管理服务节点101还可以将设计应用启动请求发送至其他云手机。例如,请求启动的设计应用为设计应用5时,云手机管理服务节点101可以将设计应用启动请求发送至云手机103。
S104:云手机102启动设计应用(例如为设计应用1),生成设计应用的一个实例。
设计应用是用于实现设计功能的应用程序或软件。设计应用未被启动时,设计应用的程序代码静态地存储在磁盘等外存,当设计应用被启动时,设计应用的程序代码被加载至内存,产生相应的进程。该进程可以视为设计应用的一个实例。
其中,设计应用每被启动一次,产生一个实例。当同一设计应用被启动多次,则产生多个实例。例如,不同用户分别触发启动同一设计应用的操作,则云手机102针对不同用户分别生成该设计应用的实例。需要说明的是,云手机102针对不同用户生成的设计应用的实例相互隔离。
在一些可能的方式中,云手机102允许生成设计应用的一个实例。为此,当多个用户需要启动设计应用进行协同设计时,多个用户的客户端可以分别连接不同的云手机,并获得对应云手机的控制权限,然后根据该控制权限,启动云手机上的设计应用,从而产生相应的实例。如此通过不同云手机实现设计应用的实例的隔离。
S105:云手机102向第一客户端、第二客户端和第三客户端返回实例的地址和端口。
S106:第一客户端、第二客户端和第三客户端根据实例的地址和端口分别和设计应用的实例建立连接。
针对设计应用的每一个实例,存在一个地址和端口。其中,地址具体可以是网络地址(Internet Protocol address,IP address),端口是具体可以是通信端口、协议端口。地址和端口是用于与实例建立连接的相关信息。
当设计应用启动请求携带用户标识,例如携带用户11、用户12、用户13的标识,则云手机102可以向对应的用户返回实例的地址和端口,具体是向对应的用户的客户端返回实例的地址和端口。例如,云手机102可以向第一客户端、第二客户端和第三客户端返回实例的地址和端口。
如此,第一客户端、第二客户端和第三客户端分别根据上述实例的地址和端口,与设计应用的实例建立连接。
在一些可能的实现方式中,设计应用的实例还可以对请求接入该实例的用户进行鉴权,鉴权通过后,再与相应的客户端建立连接。其中,设计应用的实例可以根据请求接入该实例的用户的用户标识,进行合法性验证,从而实现鉴权。当然,在其他可能的实现方式中,设计应用的实例还可以通过密码、验证码或者其他可以用于验证身份的信息进行鉴权,本申请实施例对此不作限定。
S107:第一客户端向云手机102上设计应用的实例发送设计文档创建请求。
设计文档创建请求用于请求创建一个新的设计文档。需要说明的是,该设计文档可以是空白设计文档,也可以是加载有模板的设计文档。在一些情况下,利用加载有模板的设计文档进行设计可以提高设计效率。
在一些可能的实现方式中,第一客户端也可以请求打开一个已有的设计文档。例如,针对某个设计项目,第一客户端可以请求打开最近一次保存的、针对该设计项目的设计文档,以便基于该设计文档持续进行设计。
为了便于理解,下面结合一具体示例进行说明。
参见图5c,当设计应用的实例鉴权通过后,设计应用的实例可以向对应的客户端返回该设计应用的主界面对应的界面数据流,如此,客户端可以根据该数据流生成设计应用的主界面。如图5c中1104所示,设计应用的主界面展示有最近使用的设计文档列表,具体包括文档1至文档N,此外,设计应用的主界面还展示有空白文档以及模板。
用户可以点击设计文档列表中的任一文档,从而请求打开该文档,以便基于该文档继续进行设计。用户也可以点击空白文档或者点击模板1、模板2等模板文档中的任意一个,从而请求创建一个新的设计文档。
在图5c的示例中,设计应用的主界面具体可以是以窗口的形式在第一客户端的界面1100中呈现。第一客户端的界面1100还可以包括接入实例的用户的头像,如图5c中1101、1102、1103所示。当设计应用的实例接入的用户数量大于预设阈值时,第一客户端的界面1100可以呈现预设数量的用户的头像,其他用户的头像通过“…”表征。
S108:云手机102上设计应用的实例创建设计文档,并生成界面数据流。
S109:云手机102向第一客户端、第二客户端和第三客户端返回界面数据流。
S110:第一客户端、第二客户端和第三客户端根据界面数据流生成设计界面。
云手机102上设计应用的实例响应于设计文档创建请求,创建新的设计文档,并生成该设计文档的设计界面的界面数据流,然后向与该实例连接的客户端返回界面数据流,以便客户端根据界面数据流,生成设计界面。
为了便于理解,下面以设计应用1为家装设计为例进行说明。
参见图5d,用户11可以通过手势触发空白文档的图标,以请求创建一个新的空白文档。云手机102上设计应用1的实例根据该请求创建一个新的空白文档,并生成该设计文档的设计界面的界面数据流。用户11、用户12、用户13的客户端根据该界面数据流,生成图5d中如1105所示的设计界面。
该设计界面中包括工具栏,如菜单工具和形状工具,菜单工具包括开始、插入、设计等菜单键,形状工具包括各种快捷形状。设计界面中还包括空白的设计区域,用户可以将形状工具中的快捷形状如“房间”、“窗户”等形状拖拽至设计区域,以进行家装设计。
S111:第一客户端向云手机102上设计应用的实例发送交互信息1。
S112:第二客户端向云手机102上设计应用的实例发送交互信息2。
S113:第三客户端向云手机102上设计应用的实例发送交互信息3。
具体地,用户可以通过各自客户端的设计界面触发设计操作。根据客户端所在终端类型不同,用户可以采用不同方式触发设计操作。例如,终端为手机、平板电脑、笔记本电脑、台式机等平面终端时,用户可以通过触摸或者键鼠等方式触发设计操作。又例如,终端为VR头盔、VR眼镜等VR终端时,用户可以通过肢体动作(如手势等)触发设计操作。
客户端可以根据用户触发的设计操作,获得交互信息。具体地,终端为平面终端时,交互信息可以包括基于用户的触控操作或键鼠操作等生成的操作指令,如添加墙壁的操作指令、添加窗口的操作指令。终端为VR终端时,交互信息可以包括基于用户的肢体动作确定的动作信息和位置信息中的至少一种。其中,动作信息可以包括动作类型、动作幅度等中的至少一种。位置信息可以包括特征点的位置,如手指移动起始位置,手指移动结束位置。
其中,基于不同用户触发的设计操作不同,不同客户端获得的设计信息可以是不同的。例如,第一客户端获得交互信息1,向云手机102上设计应用的实例发送交互信息1,第二客户端获得交互信息2,向云手机102上设计应用的实例发送交互信息2,第三客户端获得交互信息3,向云手机上设计应用的实例发送交互信息3。
在一些可能的实现方式中,客户端可以在获得设计应用的实例分配的控制权限后,再向设计应用的实例发送交互信息。在一些实施例中,客户端同一时刻可以为一个用户分配控制权限,当用户停止操作时,该控制权限被释放,该用户或者其他用户可以再次向设计应用的实例请求分配控制权限。如此可以有效防止冲突操作或者重复操作。在另一些实施例中,客户端同一时刻也可以为多个用户分配控制权限,如此可以使得多个用户同时触发设计操作,提高设计效率。
需要说明的是,本申请实施例以第一客户端、第二客户端和第三客户端向云手机102上设计应用的实例发送交互信息进行示例说明,在本申请实施例其他可能的实现方式中,也可以是部分客户端向云手机102上设计应用的实例发送交互信息。例如,其他用户如用户12、用户13通过语音说明如何进行设计,用户11根据语音内容触发相应的设计操作。
S114:云手机102根据交互信息运行设计应用的实例,以及根据设计应用运行过程渲染视频流。
具体地,云手机102上设计应用的实例可以根据交互信息1、交互信息2和交互信息3运行设计应用,例如是运行设计应用的实例。其中,不同交互信息对应不同设计应用运行过程。云手机102可以根据设计应用运行过程进行建模,然后基于建模所得的模型信息进行画面渲染,具体是对连续的多帧图像进行画面渲染,从而得到视频流。
其中,渲染可以理解为对图像进行处理使其符合3D场景。具体地,首先定位3D场景中的摄像机,一般情况下,渲染模块或渲染应用提供有默认的摄像机,分别为与顶视图、正视图、侧视图和透视图对应的摄像机。渲染模块或渲染应用通过摄像机获取需要渲染的范围,计算光源对物体的影响,然后渲染模块或渲染应用根据物体的材质计算物体表面的颜色。其中,材质的类型不同、属性不同、纹理不同均可以产生不同的视觉效果。
考虑到画面渲染过程通常需要大量的复杂计算,云手机可以根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,然后根据设计应用运行过程利用渲染资源渲染视频流。其中,渲染资源是指用于画面渲染的资源,具体可以是处理器,如图形处理器GPU。云手机所在硬件设备(如服务器)提供的渲染资源(如GPU)可以被池化,以便形成渲染资源池,由此实现对渲染资源的统一调度管理。
具体地,服务器可以对渲染资源如GPU进行虚拟化,以重新定义划分渲染资源,得到可以支持动态分配、灵活调度、跨域共享的渲染资源池。参见图6,渲染资源池中包括重新定义的虚拟图形处理器(virtual graphics processing unit,vGPU)。在进行渲染时,云手机上设计应用的实例(例如是实例中的渲染模块)可以根据渲染对象不同,从渲染资源池中选择不同数量的vGPU进行渲染。例如,针对对象A,可以从渲染资源池中选择2*3个vGPU进行渲染,针对对象B可以从渲染资源池中选择4*4个vGPU进行渲染。
其中,设计应用运行过程可以指示需要渲染的对象,云手机可以根据设计应用运行过程确定渲染所需的渲染资源的数量(例如为目标数量),从渲染资源池中获取目标数量的渲染资源,然后根据设计应用运行过程,利用目标数量的渲染资源渲染视频流。
考虑到不同类型的GPU的渲染能力可以是不同的,例如ARM架构的GPU或x86架构的GPU的渲染能力可以是不同的,设计应用的实例还可以根据设计应用运行过程确定渲染所需的渲染资源的类型和数量,然后从渲染资源池中获取目标类型以及目标数量的渲染资源。例如,图6中不同颜色的vGPU表征不同类型的vGPU,云手机上设计应用的实例可以根据设计应用运行过程,获取第一数量个第一类型的vGPU,以及获取第二数量个第二类型的vGPU,用于渲染视频流。
在一些可能的实现方式中,云手机(具体是云手机上设计应用的实例)还可以根据设计应用运行过程,结合终端的数量从渲染资源池中获取目标数量的渲染资源。终端数量较多时,云手机可以获取较多的渲染资源进行画面渲染,以支持海量用户在线协同设计。
进一步地,云手机还可以结合终端的类型从渲染资源池中获取目标类型以及目标数量的渲染资源,以用于画面渲染。例如,终端包括手机、平板电脑、台式机以及VR头盔、VR眼镜等类型时,云手机还可以针对不同类型的终端分别获取一组目标类型以及目标数量的渲染资源。
考虑到X86架构下云VR业务消耗巨大的带宽资源,单用户通常需要50Mbps到100Mbps的带宽资源,云手机还可以利用端侧和云侧的ARM指令的兼容性,通过端云协同渲染降低带宽,从而降低成本,便于规模化商用。
具体地,云手机根据设计应用运行过程对渲染过程进行拆分,具体是生成云渲染指令流和端渲染指令流,云手机(具体是云手机上设计应用的实例)根据所述云渲染指令流,调用相应的渲染资源渲染视频流,得到第一渲染视频流。并且,云手机(具体是云手机上设计应用的实例)向至少一个客户端发送第一渲染视频流和端渲染指令流,端侧的客户端可以根据端渲染指令流,调用相应的渲染资源渲染视频流,从而得到第二渲染视频流。
至少一个客户端可以对第一渲染视频流和第二渲染视频流进行合流,获得第三渲染视频流,该第三渲染视频流是完全渲染的视频流。至少一个客户端可以根据该第三渲染视频流在设计界面显示设计画面。
进一步地,在进行拆分时,云手机(具体是云手机上设计应用的实例)可以根据设计应用运行过程中渲染计算量大于计算量阈值的信息生成云渲染指令流,根据设计应用运行过程中渲染计算量小于或等于计算量阈值的信息生成端渲染指令流。
例如,背景信息通常需要消耗大量的计算量,云手机(具体是云手机上设计应用的实例)可以根据所述设计应用运行过程中的背景信息生成云渲染指令流,根据所述设计应用运行过程中的动作信息生成端渲染指令流。
S115:云手机102向第一客户端、第二客户端和第三客户端发送视频流。
S116:第一客户端、第二客户端和第三客户端根据视频流在设计界面显示设计画面。
云手机102可以采用一组渲染资源渲染视频流,该将视频流分发至不同的客户端,如第一客户端、第二客户端和第三客户端,各个客户端接收相同的视频流,如此可以实现在不同客户端进行同屏显示。
第一客户端、第二客户端和第三客户端接收到视频流,可以进行去IP、解码和显示前的处理,然后在设计界面显示设计画面,该设计画面具体是设计对象呈现出的画面,用户可以通过语音通话功能针对设计画面开展实时交流,实现协同设计。
请参见图5e,如图5e所示,第一客户端、第二客户端、第三客户端接收视频流,根据该视频流在如图5e中1105所示的设计界面中,显示设计画面。其中,第一客户端可以根据视频流在如图5e中1105所示的设计界面中,显示如图5e中1106所示的3D设计画面。
在一些可能的实现方式中,云手机102可以采用多组渲染资源针对不同类型终端分别渲染视频流,将该视频流分发至对应终端的客户端,例如,将视频流1发送至第一客户端,将视频流2发送至第二客户端、第三客户端,如此各个客户端可以根据各自接收的视频流在设计界面显示相应的设计画面,并基于该设计画面进行协同设计。
基于上述内容描述,本申请实施例提供了一种基于云手机的设计方法。该方法基于云手机的运算能力可以弹性伸缩的优势,利用云手机在云端渲染视频流,如此,至少一个客户端可以根据视频流在设计界面中显示设计画面。一方面可以实现支持海量用户在线协同设计;另一方面,将耗费大量运算能力的渲染等工作卸载到云手机中实现,可以减轻终端的硬件规格需求,节约成本,具有较高可用性。
进一步地,该方法可以支持多类型终端,如VR眼镜、VR头盔等VR终端,以及手机、平板等平面终端,无需配置专用设备,满足了不同用户需求,为用户提供更好的体验。并且,用户使用移动终端就能够完成协同设计,在网络条件允许下,可以实现随时随地开展协同设计工作。
图4所示实施例主要从第一终端21的角度展示了多用户在线协同设计的过程,接下来结合附图从其他类型终端如第二终端22或第二终端23的角度展示多用户在线协调设计的过程。考虑到第二终端22和第三终端23均为平面终端,本申请实施例以第三终端23为例进行说明。
为了便于理解,下面可结合图7a至图7e一并参考,其中图7a至图5e为根据本申请实施例的第三终端23的屏幕显示画面示意图。
请参见图7a,如图7a所示,第三终端23的主显示界面中设置有第三客户端的图标,用户13点击第三客户端的图标之后,第三客户端启动并与云手机管理服务节点101建立连接。云手机管理服务节点101可以向第三客户端返回该云手机管理服务节点101管理的云手机上安装的应用列表,如包括设计应用1至7的应用列表。
接着参见图7b,如图7b所示,第三客户端根据云手机管理服务节点101返回的应用列表在云手机应用管理界面显示应用列表中各应用的图标。用户13点击应用的图标,可以触发启动应用的操作。例如,用户13点击设计应用1,从而触发启动设计应用1的操作。第三客户端响应于用户13的上述操作,生成设计应用启动请求,并向云手机管理服务节点101发送设计应用启动请求。
其中,设计应用启动请求包括设计应用的标识,例如包括设计应用1的名称,由此可以指示启动设计应用1。设计应用启动请求还包括用户标识,例如包括用户13、用户12以及用户11的标识。
云手机管理服务节点101接收到设计应用启动请求,根据其管理的至少一个云手机和云手机上安装的应用的对应关系,确定请求启动的设计应用所在的云手机。例如请求启动的设计应用为设计应用1时,云手机管理服务节点101可以根据上述对应关系,确定设计应用1所在的云手机为云手机102。
接着,云手机管理服务节点101可以向云手机102路由设计应用启动请求。云手机102根据该设计应用启动请求,启动设计应用,例如启动设计应用1,生成设计应用1的一个实例。该设计应用启动请求包括用户13、用户12和用户11的标识时,云手机102可以根据用户13、用户12和用户11的标识,分别向第一客户端、第二客户端、第三客户端返回实例的地址和端口。
第一客户端、第二客户端、第三客户端分别根据实例的地址和端口与设计应用1的实例建立连接。其中,设计应用1的实例还可以对请求接入该实例的用户进行鉴权,鉴权通过后,再与相应的客户端建立连接。
接着参见图7c,当设计应用1的实例鉴权通过后,设计应用1的实例可以向对应的客户端返回该设计应用的主界面对应的界面数据流,如此,客户端可以根据该数据流生成设计应用的主界面。如图7c中1104所示,设计应用的主界面展示有最近使用的设计文档列表,具体包括文档1至文档N,此外,设计应用的主界面还展示有空白文档以及模板。
用户13可以点击设计文档列表中的任一文档,从而请求打开该文档,以便基于该文档继续进行设计。用户也可以点击空白文档或者点击模板1、模板2等模板文档中的任意一个,从而请求创建一个新的设计文档。
在图7c的示例中,设计应用的主界面具体以窗口的形式在第三客户端的界面1100中呈现。第三客户端的界面1100还可以包括接入实例的用户的头像,如图7c中1101、1102、1103所示。当设计应用的实例接入的用户数量大于预设阈值时,第三客户端的界面1100可以呈现预设数量的用户的头像,其他用户的头像通过“…”表征。
云手机102上设计应用1的实例响应于设计文档创建请求,创建新的设计文档,并生成该设计文档的设计界面的界面数据流,然后向与该实例连接的客户端返回界面数据流,以便客户端根据界面数据流,生成设计界面。
为了便于理解,下面以设计应用1为家装设计为例进行说明。
参见图7d,用户13可以通过手势触发空白文档的图标,以请求创建一个新的空白文档。云手机102上设计应用1的实例根据该请求创建一个新的空白文档,并生成该设计文档的设计界面的界面数据流。用户11、用户12、用户13的客户端根据该界面数据流,生成图5d中如1105所示的设计界面。
该设计界面中包括工具栏,如菜单工具和形状工具,菜单工具包括开始、插入、设计等菜单键,形状工具包括各种快捷形状。设计界面中还包括空白的设计区域,用户可以将形状工具中的快捷形状如“房间”、“窗户”等形状拖拽至设计区域,以进行家装设计。
用户可以通过各自客户端的设计界面触发设计操作。例如,用户13可以通过设计界面执行触控操作,第三客户端可以响应于用户13的触控操作,生成操作指令,然后向云手机102上设计应用1的实例发送该操作指令。
云手机102上设计应用的实例可以根据该操作指令在内的交互信息运行设计应用,根据设计应用运行过程进行建模,然后基于建模所得的模型信息进行画面渲染,具体是对连续的多帧图像进行画面渲染,从而得到视频流,并向第三客户端发送该视频流。云手机102上设计应用的实例还可以采用另一组渲染资源,根据操作指令在内的交互信息进行建模,然后基于建模所得的模型信息进行画面渲染,得到另一路视频流。云手机102可以向第二客户端、第三客户端发送第一路视频流,向第一客户端发送另一路视频流。
参见图7e,第三客户端可以根据第一路视频流在如图7e中1105所示的设计界面中,显示如图7e中1106所示的设计画面。类似地,第二客户端可以根据第一路视频流在如图7e中1105所示的设计界面中,显示如图7e中1106所示的设计画面。第一客户端显示的设计画面可以参见图5e,在此不再赘述。
如此,实现了第一用户、第二用户、第三用户在内的海量用户进行在线协同设计,而且支持多类型终端,如VR眼镜、VR头盔等VR终端,以及手机、平板等平面终端,无需配置专用设备,满足了不同用户需求,为用户提供更好的体验。并且,用户使用移动终端就能够完成协同设计,在网络条件允许下,可以实现随时随地开展协同设计工作。
以下请参见图8至图10,图8是根据本申请实施例的第一终端的硬件结构示意图,如图8所示,第一终端21包括处理器211、存储器212、通信接口213以及总线214,处理器211、存储器212、通信接口213分别与总线214连接,存储器212存储有程序指令,处理器211运行程序指令实现上述第一终端21的功能。
图9是根据本申请实施例的第二终端的硬件结构示意图,如图9所示,第二终端22包括处理器221、存储器222、通信接口223以及总线224,处理器221、存储器222、通信接口223分别与总线224连接,存储器222存储有程序指令,处理器221运行程序指令实现上述第二终端22的功能。
其中,第一终端21为VR终端,第二终端22、第三终端23为平面终端。第三终端23的硬件结构可以参见第二终端的硬件结构,在此不再赘述。
图10是根据本申请实施例的部署云手机的服务器例如是服务器110的硬件结构示意图,如图10所示,服务器110包括处理器1001、存储器1002、通信接口1003以及总线1004,处理器1001、存储器1002、通信接口1003分别与总线1004连接,存储器1002存储有程序指令,处理器1001运行程序指令实现上述服务器110的功能。
本申请实施例还揭示了一种基于云手机的设计方法,该设计方法应用于第一客户端,具体包括以下步骤:
步骤1:第一客户端发送设计应用启动请求至云手机管理服务节点101;
步骤2:第一客户端接收云手机102返回的设计应用的实例的地址和端口;
步骤3:第一客户端根据实例的地址和端口和设计应用的实例建立连接;
步骤4:第一客户端向云手机102上设计应用的实例发送设计文档创建请求;
其中,步骤1至步骤4为第一终端上的第一客户端启动云手机102上的设计应用,创建相应的设计文档的一种可选的实施方式。在一些可能的实现方式中,当第一客户端与云手机预先建立连接时,第一客户端可以直接向云手机102发送设计应用启动请求,以及直接向云手机102上设计应用的实例发送设计文档创建请求。
步骤5:第一客户端接收云手机102返回的界面数据流;
步骤6:第一客户端根据界面数据流生成设计界面;
步骤7:第一客户端向云手机102发送交互信息1;
步骤8:第一客户端接收云手机102发送的视频流;
步骤9:第一客户端根据视频流在设计界面显示设计画面。
可选地,步骤8中第一客户端接收云手机102发送的视频流还可以是云手机102根据云渲染指令流进行渲染得到的第一渲染视频流,第一客户端还接收云手机102发送的端渲染指令流,第一客户端还可以根据端渲染指令流进行渲染,得到第二渲染视频流。第一客户端还可以对上述第一渲染视频流和第二渲染视频流进行合流,得到第三渲染视频流。对应地,第一客户端可以根据上述第三渲染视频流在设计界面显示设计画面。
以下请参见图11,图11是根据本申请实施例的第一客户端的装置结构示意图,如图11所示,第一客户端包括:
通信模块1102,用于发送设计应用启动请求至云手机管理服务节点101;
所述通信模块1102,还用于接收云手机102返回的设计应用的实例的地址和端口;
连接模块1104,用于根据实例的地址和端口和设计应用的实例建立连接;
所述通信模块1102,还用于向云手机102上设计应用的实例发送设计文档创建请求;
所述通信模块1102,还用于接收云手机102返回的界面数据流;
界面生成模块1106,用于根据界面数据流生成设计界面;
所述通信模块1102,还用于向云手机102发送交互信息1;
所述通信模块1102,还用于接收云手机102发送的视频流;
显示模块1108,用于根据视频流在设计界面显示设计画面。
其中,第一客户端中的连接模块1104为可选模块。当第一客户端和云手机预先建立连接时,第一客户端无需执行建立连接的步骤。通信模块1102可以直接向云手机发送设计应用启动请求以启动设计应用,生成设计应用的实例。类似地,通信模块1102也可以直接向设计应用的实例发送设计文档创建请求以创建设计文档,生成界面数据流,从而使得第一客户端根据该界面数据流生成设计界面。
可选地,第一客户端还可以包括渲染模块和合流模块。其中,通信模块1102具体用于接收云手机102根据云渲染指令流渲染得到的第一渲染视频流,通信模块1102还用于接收云手机102发送的端渲染指令流,渲染模块用于根据端渲染指令流进行渲染得到第二渲染视频流,合流模块用于对第一渲染视频流和第二渲染视频流进行合流,得到第三渲染视频流。对应地,显示模块1108可以根据第三渲染视频流在设计界面显示设计画面。
本申请实施例还揭示了一种基于云手机的设计方法,该设计方法应用于第二客户端或者第三客户端,为了便于描述,下面以第二客户端进行示例说明,该方法具体包括以下步骤:
步骤1:第二客户端接收云手机102发送的、设计应用的实例的地址和端口;
步骤2:第二客户端根据实例的地址和端口与设计应用的实例建立连接;
其中,第二客户端预先与设计应用的实例建立连接时,第二客户端也可以不执行上述步骤1至步骤2。
步骤3:第二客户端接收云手机102发送的界面数据流;
步骤4:第二客户端根据界面数据流生成设计界面;
步骤5:第二客户端向云手机102发送交互信息2;
步骤6:第二客户端接收云手机102发送的视频流;
步骤7:第二客户端根据视频流在设计界面显示设计画面。
可选地,步骤6中第二客户端接收云手机102发送的视频流还可以是云手机102根据云渲染指令流进行渲染得到的第一渲染视频流,第二客户端还接收云手机102发送的端渲染指令流,第二客户端还可以根据端渲染指令流进行渲染,得到第二渲染视频流。第二客户端还可以对上述第一渲染视频流和第二渲染视频流进行合流,得到第三渲染视频流。对应地,第二客户端可以根据上述第三渲染视频流在设计界面显示设计画面。
以下请参见图12,图12是根据本申请实施例的第二客户端的装置结构示意图,如图12所示,第二客户端包括:
通信模块1202,用于接收云手机102发送的、设计应用的实例的地址和端口;
连接模块1204,用于根据实例的地址和端口与设计应用的实例建立连接;
所述通信模块1202,还用于接收云手机102发送的界面数据流;
界面生成模块1206,用于根据界面数据流生成设计界面;
所述通信模块1202,还用于向云手机102发送交互信息2;
所述通信模块1202,还用于接收云手机102发送的视频流;
显示模块1208,用于根据视频流在设计界面显示设计画面。
其中,第二客户端中的连接模块1204为可选模块。当第二客户端和云手机预先建立连接时,第二客户端无需执行建立连接的步骤。
可选地,第二客户端还可以包括渲染模块和合流模块。其中,通信模块1202具体用于接收云手机102根据云渲染指令流渲染得到的第一渲染视频流,通信模块1202还用于接收云手机102发送的端渲染指令流,渲染模块用于根据端渲染指令流进行渲染得到第二渲染视频流,合流模块用于对第一渲染视频流和第二渲染视频流进行合流,得到第三渲染视频流。对应地,显示模块1208可以根据第三渲染视频流在设计界面显示设计画面。
本申请实例还揭示了一种基于云手机的设计方法,该设计方法应用于云手机,具体包括以下步骤:
步骤1:云手机102接收云手机管理服务节点102路由的设计应用启动请求;
步骤2:云手机102启动设计应用(例如为设计应用1),生成设计应用的一个实例;
步骤3:云手机102向第一客户端、第二客户端和第三客户端返回实例的地址和端口;
步骤4:云手机102和第一客户端、第二客户端和第三客户端分别建立连接;
步骤5:云手机102接收第一客户端发送的设计文档创建请求;
步骤6:云手机102上设计应用的实例创建设计文档,并生成界面数据流;
其中,步骤1至步骤6为云手机102生成界面数据流的一种可选的实施方式。在一些可能的实现方式中,例如云手机102预先与云手机建立连接时,云手机102可以直接发送设计应用启动请求,启动设计应用,生成设计应用的实例,设计应用的实例可以自动创建设计文档,生成相应设计界面的界面数据流。
步骤7:云手机102向第一客户端、第二客户端和第三客户端返回界面数据流;
步骤8:云手机102接收第一客户端发送的交互信息1、第二客户端发送的交互信息2和第三客户端发送的交互信息3;
步骤9:云手机102根据交互信息运行设计应用的实例,以及根据设计应用运行过程渲染视频流;
步骤10:云手机102向第一客户端、第二客户端和第三客户端返回视频流。
可选地,云手机102根据交互信息生成云渲染指令流和端渲染指令流,在步骤9中,云手机102根据上述云渲染指令流进行渲染,得到第一渲染视频流。云手机102还向第一客户端、第二客户端和第三客户端返回端渲染指令流,以指示第一客户端、第二客户端和第三客户端根据端渲染指令流进行渲染,得到第二渲染视频流。对应地,步骤10中,云手机102向第一客户端、第二客户端和第三客户端返回的视频流具体为上述第一渲染视频流,上述第一客户端、第二客户端和第三客户端可以对第一渲染视频流和第二渲染视频流进行合流,从而得到第三渲染视频流。
以下请参见图13,图13是根据本申请实施例的云手机的装置结构示意图,如图13所示,云手机包括:
通信模块1302,用于接收云手机管理服务节点102路由的设计应用启动请求;
实例生成模块1304,用于启动设计应用(例如为设计应用1),生成设计应用的一个实例;
所述通信模块1302,还用于向第一客户端、第二客户端和第三客户端返回实例的地址和端口;
连接模块1306,用于和第一客户端、第二客户端和第三客户端分别建立连接;
所述通信模块1302,还用于接收第一客户端发送的设计文档创建请求;
界面生成模块1308,用于创建设计文档,并生成界面数据流;
所述通信模块1302,还用于向第一客户端、第二客户端和第三客户端返回界面数据流;
所述通信模块1302,还用于第一客户端发送的交互信息1、第二客户端发送的交互信息2和第三客户端发送的交互信息3;
渲染模块1310,用于根据交互信息运行设计应用的实例,以及根据设计应用运行过程渲染视频流;
所述通信模块1302,还用于向第一客户端、第二客户端和第三客户端返回视频流。
其中,实例生成模块1304、连接模块1306和界面生成模块1308为可选模块,在一些实施例中,云手机也可以不执行上述模块对应的步骤。
可选地,云手机还包括指令生成模块,用于根据交互信息生成云渲染指令流和端渲染指令流。渲染模块具体用于根据云渲染指令流进行渲染,得到第一渲染视频流。通信模块1302还用于向第一客户端、第二客户端和第三客户端返回端渲染指令流,以指示第一客户端、第二客户端和第三客户端根据端渲染指令流进行渲染,得到第二渲染视频流。对应地,通信模块1302向第一客户端、第二客户端和第三客户端返回的视频流具体为上述第一渲染视频流,上述第一客户端、第二客户端和第三客户端可以对第一渲染视频流和第二渲染视频流进行合流,从而得到第三渲染视频流。
图13是第一终端、第二终端、第三终端参与协同设计进行实例说明的,在一些可能的实现方式中,参与协同设计的终端可以是第一终端和第二终端,或者是更多的终端,本申请实施例对此不作限定。
本申请实施例还提供计算机可读存储介质,该计算机可读存储介质包括指令,当指令在计算设备上运行时,使得计算设备执行第一客户端、第二客户端、第三客户端或云手机的方法。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地生成按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
Claims (38)
1.一种设计系统,其特征在于,包括:云手机和至少一个客户端,其中所述云手机设置于网络侧;
所述至少一个客户端分别运行于一个终端,用于接收所述云手机发送的界面数据流,根据所述界面数据流生成设计界面,并在各自所在的终端上显示所述设计界面;
所述云手机,用于接收所述至少一个客户端中的一个或任意组合发送的至少一个交互信息,根据所述至少一个交互信息运行设计应用,以及根据设计应用运行过程渲染视频流;其中,所述至少一个交互信息来自于所述至少一个客户端中的一个或任意组合的用户通过各自所操作的终端上显示的设计界面触发的设计操作;
所述至少一个客户端,还用于接收所述视频流,根据所述视频流在所述设计界面显示设计画面。
2.根据权利要求1所述的设计系统,其特征在于,所述云手机根据设计应用运行过程渲染视频流,包括:
所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源;
所述云手机根据所述设计应用运行过程,利用所述渲染资源渲染视频流。
3.根据权利要求2所述的设计系统,其特征在于,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:
所述云手机根据设计应用运行过程确定渲染所需的渲染资源的类型和数量;
所述云手机从渲染资源池中获取目标类型以及目标数量的渲染资源。
4.根据权利要求2或3所述的设计系统,其特征在于,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:
所述云手机根据设计应用运行过程以及所述终端的数量从渲染资源池中获取目标数量的渲染资源。
5.根据权利要求1至4任一项所述的设计系统,其特征在于,所述云手机根据设计应用运行过程渲染视频流,包括:
所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流;
所述云手机根据所述云渲染指令流渲染视频流,得到第一渲染视频流;
所述云手机向所述至少一个客户端发送所述第一渲染视频流和所述端渲染指令流,所述端渲染指令流用于指示所述至少一个客户端根据所述端渲染指令流渲染视频流,得到第二渲染视频流;
所述至少一个客户端具体用于:
对所述第一渲染视频流和所述第二渲染视频流进行合流,获得第三渲染视频流;
根据所述第三渲染视频流在所述设计界面显示设计画面。
6.根据权利要求5所述的设计系统,其特征在于,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:
根据设计应用运行过程中渲染计算量大于计算量阈值的信息生成云渲染指令流,根据所述设计应用运行过程中渲染计算量小于或等于所述计算量阈值的信息生成端渲染指令流。
7.根据权利要求5所述的设计系统,其特征在于,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:
根据设计应用运行过程中的背景信息生成所述云渲染指令流,根据所述设计应用运行过程中的动作信息生成所述端渲染指令流。
8.根据权利要求1至7任一项所述的设计系统,其特征在于,所述终端包括虚拟现实终端或平面终端。
9.根据权利要求8所述的设计系统,其特征在于,所述终端包括所述虚拟现实终端时,所述交互信息包括动作信息和位置信息中的至少一种。
10.根据权利要求8或9所述的设计系统,其特征在于,所述终端包括平面终端时,所述交互信息包括操作指令。
11.一种基于云手机的设计方法,其特征在于,应用于设计系统,所述设计系统包括云手机和至少一个客户端,所述至少一个客户端分别运行于一个终端,所述云手机设置于网络侧,所述方法包括:
所述至少一个客户端接收所述云手机发送的界面数据流,根据所述界面数据流生成设计界面,并在各自所在的终端上显示所述设计界面;
所述云手机接收所述至少一个客户端中的一个或任意组合发送的至少一个交互信息,根据所述至少一个交互信息运行设计应用,以及根据设计应用运行过程渲染视频流;其中,所述至少一个交互信息来自于所述至少一个客户端的一个或者任意组合的用户通过各自所操作的终端上显示的设计界面触发的设计操作;
所述至少一个客户端接收所述视频流,根据所述视频流在所述设计界面显示设计画面。
12.根据权利要求11所述的方法,其特征在于,所述云手机根据设计应用运行过程渲染视频流,包括:
所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源;
所述云手机根据所述设计应用运行过程,利用所述渲染资源渲染视频流。
13.根据权利要求12所述的方法,其特征在于,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:
所述云手机根据设计应用运行过程确定渲染所需的渲染资源的类型和数量;
所述云手机从渲染资源池中获取目标类型以及目标数量的渲染资源。
14.根据权利要求12或13所述的方法,其特征在于,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:
所述云手机根据设计应用运行过程以及所述终端的数量从渲染资源池中获取目标数量的渲染资源。
15.根据权利要求11至14任一项所述的方法,其特征在于,所述云手机根据设计应用运行过程渲染视频流,包括:
所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流;
所述云手机根据所述云渲染指令流渲染视频流,得到第一渲染视频流;
所述至少一个客户端接收视频流,根据所述视频流在所述设计界面显示设计画面,包括:
所述至少一个客户端接收所述第一渲染视频流和所述端渲染指令流;
所述至少一个客户端根据所述端渲染指令流渲染视频流,得到第二渲染视频流;
所述至少一个客户端对所述第一渲染视频流和所述第二渲染视频流进行合流,获得第三渲染视频流;
根据所述第三渲染视频流在所述设计界面显示设计画面。
16.根据权利要求15所述的方法,其特征在于,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:
根据设计应用运行过程中渲染计算量大于计算量阈值的信息生成云渲染指令流,根据所述设计应用运行过程中渲染计算量小于或等于所述计算量阈值的信息生成端渲染指令流。
17.根据权利要求15所述的方法,其特征在于,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:
根据设计应用运行过程中的背景信息生成所述云渲染指令流,根据所述设计应用运行过程中的动作信息生成所述端渲染指令流。
18.根据权利要求11至17任一项所述的方法,其特征在于,所述终端包括虚拟现实终端或平面终端。
19.根据权利要求18所述的方法,其特征在于,所述终端包括所述虚拟现实终端时,所述交互信息包括动作信息和位置信息中的至少一种。
20.根据权利要求18或19所述的方法,其特征在于,所述终端包括平面终端时,所述交互信息包括操作指令。
21.一种基于云手机的设计方法,其特征在于,应用于第一终端,所述方法包括:
所述第一终端发送设计应用启动请求,所述设计应用启动请求用于指示启动云手机上的设计应用;所述第一终端接收所述云手机发送的界面数据流,根据所述界面数据流生成所述设计引用的设计界面,显示所述设计界面;
所述第一终端向所述云手机发送第一交互信息,接收所述云手机根据所述第一交互信息运行所述设计应用,并根据设计应用运行过程渲染所得的视频流,根据所述视频流在所述设计界面显示所述设计画面。
22.一种基于云手机的设计方法,其特征在于,应用于第二终端,所述方法包括:
所述第二终端接收所述云手机发送的界面数据流,根据所述界面数据流生成所述设计引用的设计界面,显示所述设计界面;
所述第二终端向所述云手机发送第二交互信息,接收所述云手机根据所述第二交互信息运行所述设计应用,并根据设计应用运行过程渲染所得的视频流,根据所述视频流在所述设计界面显示所述设计画面。
23.一种基于云手机的设计方法,其特征在于,应用于云手机,所述方法包括:
所述云手机向第一终端和第二终端发送界面数据流,所述界面数据流用于生成设计界面;
所述云手机接收所述第一终端发送的第一交互信息和所述第二终端发送的第二交互信息,所述第一交互信息来自于所述第一终端的用户通过所述设计界面触发的设计操作,所述第二交互信息来自于所述第二终端的用户通过所述设计界面触发的设计操作;
所述云手机根据所述第一交互信息和所述第二交互信息运行设计应用,根据设计应用运行过程渲染视频流;
所述云手机向所述第一终端和所述第二终端发送所述视频流。
24.根据权利要求23所述的方法,其特征在于,所述云手机根据设计应用运行过程渲染视频流,包括:
所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源;
所述云手机根据所述设计应用运行过程,利用所述渲染资源渲染视频流。
25.根据权利要求24所述的方法,其特征在于,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:
所述云手机根据设计应用运行过程确定渲染所需的渲染资源的类型和数量;
所述云手机从渲染资源池中获取目标类型以及目标数量的渲染资源。
26.根据权利要求24或25所述的方法,其特征在于,所述云手机根据设计应用运行过程从渲染资源池中获取目标数量的渲染资源,包括:
所述云手机根据设计应用运行过程以及所述终端的数量从渲染资源池中获取目标数量的渲染资源。
27.根据权利要求23至26任一项所述的方法,其特征在于,所述云手机根据设计应用运行过程渲染视频流,包括:
所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流;
所述云手机根据所述云渲染指令流渲染视频流,得到第一渲染视频流;
所述云手机向所述第一终端和所述第二终端发送所述视频流,包括:
所述云手机向所述第一终端和所述第二终端发送所述第一渲染视频流;
所述方法还包括:
所述云手机向所述第一终端和所述第二终端发送所述端渲染指令流,所述端渲染指令流用于指示所述第一终端和所述第二终端渲染视频流,得到第二渲染视频流。
28.根据权利要求27所述的方法,其特征在于,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:
根据设计应用运行过程中渲染计算量大于计算量阈值的信息生成云渲染指令流,根据所述设计应用运行过程中渲染计算量小于或等于所述计算量阈值的信息生成端渲染指令流。
29.根据权利要求27所述的方法,其特征在于,所述云手机根据设计应用运行过程生成云渲染指令流和端渲染指令流,包括:
根据设计应用运行过程中的背景信息生成所述云渲染指令流,根据所述设计应用运行过程中的动作信息生成所述端渲染指令流。
30.一种第一客户端,其特征在于,所述第一客户端包括:
通信模块,用于发送设计应用启动请求,所述设计应用启动请求用于指示启动云手机上的设计应用;
所述通信模块,还用于接收所述云手机发送的界面数据流;
界面生成模块,用于根据所述界面数据流生成所述设计引用的设计界面;
显示模块,用于显示所述设计界面;
所述通信模块,还用于向所述云手机发送第一交互信息,接收所述云手机根据所述第一交互信息运行所述设计应用,并根据设计应用运行过程渲染所得的视频流;
所述显示模块,还用于根据所述视频流在所述设计界面显示所述设计画面。
31.一种第二客户端,其特征在于,所述第二客户端包括:
通信模块,用于接收云手机发送的界面数据流;
界面生成模块,用于根据所述界面数据流生成设计引用的设计界面;
显示模块,用于显示所述设计界面;
发送模块,用于向所述云手机发送第二交互信息,接收所述云手机根据所述第二交互信息运行所述设计应用,并根据设计应用运行过程渲染所得的视频流;
显示模块,用于根据所述视频流在所述设计界面显示所述设计画面。
32.一种云手机,其特征在于,所述云手机包括:
通信模块,用于向第一终端和第二终端发送界面数据流,所述界面数据流用于生成设计界面;
所述通信模块,还用于接收所述第一终端发送的第一交互信息和所述第二终端发送的第二交互信息,所述第一交互信息来自于所述第一终端的用户通过所述设计界面触发的设计操作,所述第二交互信息来自于所述第二终端的用户通过所述设计界面触发的设计操作;
渲染模块,用于根据所述第一交互信息和所述第二交互信息运行设计应用,根据设计应用运行过程渲染视频流;
所述通信模块,还用于向所述第一终端和所述第二终端发送所述视频流。
33.一种第一终端,其特征在于,所述第一终端包括处理器和存储器;
所述处理器用于执行所述存储器中存储的指令,以使得所述第一终端执行如权利要求21所述的方法。
34.一种第二终端,其特征在于,所述第二终端包括处理器和存储器;
所述处理器用于执行所述存储器中存储的指令,以使得所述第二终端执行如权利要求22所述的方法。
35.一种云手机,其特征在于,所述云手机包括处理器和存储器;
所述处理器用于执行所述存储器中存储的指令,以使得所述云手机执行如权利要求23至29中任一项所述的方法。
36.一种计算机可读存储介质,其特征在于,包括指令,所述指令指示第一终端执行如权利要求21所述的方法。
37.一种计算机可读存储介质,其特征在于,包括指令,所述指令指示第一终端执行如权利要求22所述的方法。
38.一种计算机可读存储介质,其特征在于,包括指令,所述指令指示第一终端执行如权利要求23至29中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/116834 WO2022048677A1 (zh) | 2020-09-07 | 2021-09-07 | 基于云手机的vr应用设计方法及系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020109291436 | 2020-09-07 | ||
CN202010929143 | 2020-09-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114157907A true CN114157907A (zh) | 2022-03-08 |
Family
ID=80462201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011192384.3A Pending CN114157907A (zh) | 2020-09-07 | 2020-10-30 | 基于云手机的vr应用设计方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114157907A (zh) |
WO (1) | WO2022048677A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115102997A (zh) * | 2022-06-17 | 2022-09-23 | 麒麟软件有限公司 | 一种远程检测和控制云手机的系统和方法 |
CN115393494B (zh) * | 2022-08-24 | 2023-10-17 | 北京百度网讯科技有限公司 | 基于人工智能的城市模型渲染方法、装置、设备及介质 |
CN115801746B (zh) * | 2022-12-05 | 2023-09-22 | 广州南方智能技术有限公司 | 一种基于分布式的服务器渲染装置及方法 |
CN115665120B (zh) * | 2022-12-28 | 2023-03-21 | 浙江华东工程数字技术有限公司 | 一种云端cad处理方法、系统、计算机设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095828A (zh) * | 2013-01-14 | 2013-05-08 | 上海电力学院 | 基于云渲染的Web3D同步会议系统及实现同步的方法 |
CN108052364A (zh) * | 2017-12-13 | 2018-05-18 | 上海曼恒数字技术股份有限公司 | 一种基于远程操作的图像显示方法、装置、设备及存储介质 |
CN110276821A (zh) * | 2019-06-27 | 2019-09-24 | 深圳市瑞云科技有限公司 | 一种基于云渲染服务器协同建模及cg渲染的系统及方法 |
CN110494196A (zh) * | 2016-12-08 | 2019-11-22 | 数字脉冲私人有限公司 | 用于使用虚拟现实进行协作学习的系统和方法 |
CN110751712A (zh) * | 2019-10-22 | 2020-02-04 | 中设数字技术股份有限公司 | 基于云平台的在线三维渲染技术及系统 |
CN111111158A (zh) * | 2019-12-24 | 2020-05-08 | 广州微算互联信息技术有限公司 | 一种基于云手机的单机游戏联网方法、系统、装置及存储介质 |
CN111433743A (zh) * | 2017-12-12 | 2020-07-17 | 华为技术有限公司 | 一种app远程控制方法及相关设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7996756B2 (en) * | 2007-09-12 | 2011-08-09 | Vistaprint Technologies Limited | System and methods for displaying user modifiable server-rendered images |
CN102685246A (zh) * | 2012-05-29 | 2012-09-19 | 上海家配电子商务有限公司 | 基于云设计的家居设计方法及系统 |
US20180373686A1 (en) * | 2017-06-23 | 2018-12-27 | Customink, LLC | System and method for automating the creation of a renderable design |
CN109361935A (zh) * | 2018-12-24 | 2019-02-19 | 广州微算互联信息技术有限公司 | 图片流视频传输方法与系统 |
CN110264550B (zh) * | 2019-06-19 | 2023-03-21 | 深圳市瑞云科技有限公司 | 一种基于cg实时渲染的烟花汇演效果模拟展示系统及方法 |
-
2020
- 2020-10-30 CN CN202011192384.3A patent/CN114157907A/zh active Pending
-
2021
- 2021-09-07 WO PCT/CN2021/116834 patent/WO2022048677A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095828A (zh) * | 2013-01-14 | 2013-05-08 | 上海电力学院 | 基于云渲染的Web3D同步会议系统及实现同步的方法 |
CN110494196A (zh) * | 2016-12-08 | 2019-11-22 | 数字脉冲私人有限公司 | 用于使用虚拟现实进行协作学习的系统和方法 |
CN111433743A (zh) * | 2017-12-12 | 2020-07-17 | 华为技术有限公司 | 一种app远程控制方法及相关设备 |
CN108052364A (zh) * | 2017-12-13 | 2018-05-18 | 上海曼恒数字技术股份有限公司 | 一种基于远程操作的图像显示方法、装置、设备及存储介质 |
CN110276821A (zh) * | 2019-06-27 | 2019-09-24 | 深圳市瑞云科技有限公司 | 一种基于云渲染服务器协同建模及cg渲染的系统及方法 |
CN110751712A (zh) * | 2019-10-22 | 2020-02-04 | 中设数字技术股份有限公司 | 基于云平台的在线三维渲染技术及系统 |
CN111111158A (zh) * | 2019-12-24 | 2020-05-08 | 广州微算互联信息技术有限公司 | 一种基于云手机的单机游戏联网方法、系统、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022048677A1 (zh) | 2022-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114157907A (zh) | 基于云手机的vr应用设计方法及系统 | |
CN104536802B (zh) | 一种实现应用调用的方法及虚拟机 | |
CN102918490B (zh) | 与在平板计算装置的虚拟桌面内显示的远程应用交互 | |
EP3769509B1 (en) | Multi-endpoint mixed-reality meetings | |
KR101640767B1 (ko) | 이종 수행 환경을 위한 네트워크 기반의 실시간 가상 현실 입출력 시스템 및 가상 현실 입출력 방법 | |
CN106687923B (zh) | 多个设备上的计算环境的呈现 | |
WO2019114185A1 (zh) | 一种app远程控制方法及相关设备 | |
Febretti et al. | Omegalib: A multi-view application framework for hybrid reality display environments | |
KR20140065837A (ko) | 소프트웨어 가상화를 이용하여 소프트웨어 서비스를 제공하기 위한 장치, 시스템 및 그 방법 | |
US20110296043A1 (en) | Managing Shared Sessions in a Shared Resource Computing Environment | |
CN110114746A (zh) | 显示虚拟现实画面的方法和虚拟现实设备 | |
CN103777999A (zh) | 安卓软件模拟方法及装置 | |
CN112221127B (zh) | 一种云游戏的多点控制方法及装置 | |
CN103677970A (zh) | 实现终端本地桌面和远端虚拟桌面合并显示的系统和方法 | |
CN113778583A (zh) | 一种云桌面的本地应用的发布方法、装置、设备和介质 | |
JP2004317583A (ja) | 描画装置 | |
US20210034318A1 (en) | Shared volume computing architecture of a virtual reality environment and related systems and methods | |
CN111135557B (zh) | 用于多屏的交互方法和装置 | |
CN114090188A (zh) | 基于安卓系统虚拟化的实现独立多用户系统的方法及应用 | |
CN115624740A (zh) | 一种虚拟现实设备及其控制方法、装置、系统及互动系统 | |
CN113419650A (zh) | 一种数据移动方法、装置、存储介质及电子设备 | |
KR20000041202A (ko) | 인터넷 3차원 채팅 시스템 | |
US20230122666A1 (en) | Cloud xr-based program virtualizing method | |
Sari et al. | Croquet based Virtual Museum Implementation with Grid Computing Connection | |
Chen et al. | MSA: A Novel App Development Framework for Transparent Multi-Screen Support on Android Apps |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |