CN114980208A - 端到端的移动Web 3D渲染计算卸载方法 - Google Patents
端到端的移动Web 3D渲染计算卸载方法 Download PDFInfo
- Publication number
- CN114980208A CN114980208A CN202210551462.7A CN202210551462A CN114980208A CN 114980208 A CN114980208 A CN 114980208A CN 202210551462 A CN202210551462 A CN 202210551462A CN 114980208 A CN114980208 A CN 114980208A
- Authority
- CN
- China
- Prior art keywords
- rendering
- picture
- nodeb
- calculation
- node
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 140
- 238000004364 calculation method Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004891 communication Methods 0.000 claims abstract description 38
- 238000005516 engineering process Methods 0.000 claims abstract description 16
- 230000002776 aggregation Effects 0.000 claims abstract description 10
- 238000004220 aggregation Methods 0.000 claims abstract description 10
- 230000002452 interceptive effect Effects 0.000 claims abstract description 9
- 238000010276 construction Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 14
- 230000003993 interaction Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000001228 spectrum Methods 0.000 claims description 4
- 230000010365 information processing Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims 1
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
- H04W28/09—Management thereof
- H04W28/0958—Management thereof based on metrics or performance parameters
- H04W28/0967—Quality of Service [QoS] parameters
- H04W28/0975—Quality of Service [QoS] parameters for reducing delays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明主要针对于目前虚拟现实渲染计算卸载中存在的问题,结合当前新技术发展,提出了一种端到端的移动Web 3D渲染计算卸载方法。在分布式协同渲染计算服务网络的构建中,通过D2D技术,实现一定距离内移动设备的直接、短距离通信。移动设备进行直接且短距离的连通后,实现移动设备之间的渲染数据交换;客户端节点的Web浏览器呈现3D模型时,通过缓存技术交换呈现计算的中间数据,以降低移动设备的计算压力;为满足实际服务环境,以多个设备为多个不同设备提供计算卸载或渲染输出输出数据共享服务,实现三维模型的协同渲染。在实现用户聚合场景下的渲染计算卸载后,继续实现用户侧移动设备交互呈现。
Description
技术领域
本发明属视频技术领域,涉及一种端到端的移动Web 3D渲染计算卸载方法。
背景技术
3D模型交互,作为一种新型的信息交互模式,相比于2D平面方法,提供了一种更加直观高效的信息呈现方式。随着网络技术的进步和用户终端设备性能的提升,这种交互技术正在变得越来越流行,特别是随着移动AR/VR技术的出现,3D模型交互技术作为一种基础的支撑技术目前已受到了学术界和工业界的广泛关注。
但是,基于App的3D应用解决方案需要用户下载并安装应用程序,同时由于受到可移植性、跨平台性以及信息互操作性的局限,将极大影响其大规模的应用与推广。为此,基于Web的3D应用提供了新的解决方案。浏览器上基于Web的3D应用具有可移植性和通用性,为跨平台共享3D信息提供了基础。
3D模型渲染是应用(如基于Web的移动增强现实/虚拟现实)构建的基础。如何在移动Web浏览器上实现高效地3D模型渲染变得尤为重要。由于JS解释执行的机制,移动Web平台相对于原生App而言,在计算力方面有较大差异。同时,由于Web应用需要从云端下载数据模型,其服务质量也将受到网络波动的影响。然而,3D模型文件相比于文字、图片和动画等2D平面信息呈现元素具有更大的数据量。
传统的针对移动终端计算能力不足所采取的云、移动边缘端运算卸载方法,在蜂窝网络环境下,对复杂交互、大数据量的3D模型渲染计算,带来更大的通信,能源成本,增加了用户的服务延迟。因此,需要一种有效减轻模型初始化渲染和完全渲染数据量方法,减轻基于Web的移动端计算压力。
发明内容
本发明所要解决的技术问题是提供一种端到端的移动Web 3D渲染计算卸载方法,通过与用户移动设备连接带宽更大的其他移动设备进行渲染计算卸载,降低Web 3D渲染计算时延。
为实现上述目的,本发明采用的技术方案是:
一种端到端的移动Web 3D渲染计算卸载方法,包括以下步骤:
步骤1,在分布式协同渲染计算服务网络的构建中,通过D2D技术,在设备与设备之间建立联通,实现一定距离内移动设备的直接、短距离通信,满足用户聚合场景中计算卸载、分散渲染和低延迟通信,减轻服务基站的负荷;
步骤2,移动设备进行直接且短距离的连通后,实现移动设备之间的渲染数据交换,假设两节点为NodeA、NodeB,单个节点作为计算卸载服务器,为另一个单个节点提供渲染计算服务,WebGL通常在画布上逐帧渲染三维模型图像,因此使用逐帧计算卸载来进行协同渲染,NodeA用于帮助NodeB进行渲染和加载,但不显示三维模型,NodeB获得NodeA的渲染计算并显示;
步骤3,在客户端节点的Web浏览器渲染3D模型时,渲染计算的中间数据通过缓存技术进行交换,减轻移动设备的计算压力;在基于缓存的计算资源共享中,使用indexedDB作为协作渲染计算的数据交换容器;NodeA执行屏幕外渲染,并将渲染计算输出数据保存在本地缓存中,以帮助NodeB进行渲染;NodeB通过D2D通信信道获取本地缓存中匹配的图像信息;
步骤4,在实际服务环境中,多个设备为多个不同设备提供计算卸载或渲染输出输出数据共享服务,以实现三维模型的协同渲染;在多设备协同渲染计算卸载的构建过程中,在计算资源共享和计算数据共享两个方面为单个移动设备提供数据服务;为了有效地控制多个移动设备以提供呈现服务,在公共数据连接信道上识别移动设备,并对NodeB侧的多个设备进行排序;
步骤5,在实现用户聚合场景下的渲染计算卸载后,继续实现用户侧移动设备交互呈现。
优选地,所述的在设备与设备之间建立联通的具体包括:在由D2D通信移动设备组成的分散协同渲染计算服务网络中,每个节点都发送和接收信号,并具有自动路由功能,网络参与者共享部分计算资源和数据资源,包括信息处理、存储和网络连接,以上共享资源向网络提供计算服务和数据资源,其他用户无需经过中间实体即可直接访问;在D2D通信网络中,每个节点同时扮演服务器和客户端的角色;移动设备监测到彼此的存在,形成一个虚拟的或真实的群体;移动设备利用D2D的邻近性和数据传递特性,节省频谱资源,扩展虚拟现实应用场景。
优选地,所述NodeA用于帮助NodeB进行渲染和加载,但不显示三维模型,NodeB获得NodeA的渲染计算并显示具体包括:NodeB加载场景和摄像机,记录窗口W_width和W_height,NodeB通过D2D通信信道与NodeA通信,并向NodeA发送3D模型初始化请求三维模型图像;NodeA通过接收消息根据W_width和W_height加载三维模型脱离屏幕;使用读取渲染目标像素工具将屏幕外渲染的像素数据加载到uint8数组实例中,在读取渲染目标像素工具中,x和y用于限制读取的起点,而宽度和高度是三维模型加载的宽度和高度;二进制信息被转换为Base64代码并发送到NodeB;
在接收到Base64代码并将其转换为二进制信息后,NodeB将其转换为uint8clampedarray类型化数组,然后NodeB创建一个新的画布,通过canvas.getContext('2d')方法下载以获得一个2D对象,2D对象具有ctx.putImageData(imagedata,Dx,Dy)函数,此函数允许画布绘制实例类型的imagedata((data,width,height))矩形像素;
NodeB的网络浏览器监视用户交互的位置,并在用户交互后获取相机的位置参数,通过相机控制功能模块OrbitControls.js,缩放、平移和旋转三维模型对象或场景,NodeB的网络浏览器将相机的位置参数以及当前窗口的宽度和高度封装到对象中,并给对象一个记录照片的数字,参数被发送到NodeA,在以与初始化相同的方式呈现后,将二进制信息转换为Base64编码并将获得的相应图像标识包发送到NodeB,NodeB监视图片的获取并检查图片识别,如果图片是下一张要播放的图片,播放同时开始循环,以检查是否获得图片阵列中的下一张图片;否则,它将被保存在具有相应的下标的图片数组中。
优选地,所述NodeA执行屏幕外渲染,并将渲染计算输出数据保存在本地缓存中,以帮助NodeB进行渲染;NodeB通过D2D通信信道获取本地缓存中匹配的图像信息具体包括:客户端节点的Web浏览器呈现3D模型时,通过缓存技术交换呈现计算的中间数据,以降低移动设备的计算压力;NodeA执行屏幕渲染并将渲染输出输出数据保存在本地缓存中,以帮助NodeB渲染;NodeB通过与NodeA的D2D通信通道获取本地缓存中的匹配图像信息;
NodeB加载场景和摄像机,使用D2D通信通道与NodeA通信,发送初始化或用户交互后摄像机的位置参数以及图像的序列识别;该图片的序列标识被定义为:
在渲染计算输出-数据共享过程中,NodeA接收相机的位置参数,打开索引数据库,并查找与相机中的位置参数相匹配的数据,如果发现,接收到的渲染结果数据和相应的图像序列标识将被打包并发送到节点B;NodeB监视图片的采集,并检查图片标识;如果图片是下一张要播放的图片,播放同时开始循环,以检查是否获得图片阵列中的下一张图片;否则,它将被保存在具有相应的下标的图片数组中。
优选地,所述的多个设备为多个不同设备提供计算卸载或渲染输出输出数据共享服务具体包括:NodeB加载场景和摄像,并记录窗口宽度和高度作为渲染计算参数,然后,NodeB与辅助渲染计算节点队列Q(NodeAi,0≤i≤n)进行通信,并初始化发送消息“Ping”和窗口参数(W_width,W_height);
在收到“Ping”和窗口参数后,Q(NodeAi,0≤i≤n)加载场景和摄像机ac-根据窗口参数,并将“helper Ping”和用户ID发送到NodeB,NodeB收到“helper Ping”和用户ID,然后根据收到的顺序将用户ID推入helperArr,并将用户ID的下标索引返回设备;
协同渲染计算卸载:NodeB向Q发送请求,以获取相应的图片信息,图片和设备的相应原理如下:ID为[M%的节点.长度]封装具有接收数字的三维模型渲染的图像信息,并通过屏幕外渲染计算将其发送回NodeB,即, 图像流中的帧(在移动鼠标的过程中的模型的变化体现为图像流的帧切换),NodeB监视图像信息的获取,并检查号码;如果图片是下一个要播放的图像,则播放开始循环,检查是否已获得下一个图片;
协同缓存呈现计算输出数据共享,对于每帧(帧对应于位置Arr阵列中的一个元素),NodeB发送给helperArr中的用户ID,以查询是否有相应的图片;找到查询后,查询结束,并检查图像ID,如果图像是下一个播放,则开始播放,检查图像阵组中的下一帧是否获得图像,否则保存在下标对应的图像阵组中。
优选地,所述的实现用户侧移动设备交互呈现具体包括:图片队列为一个数组,数组内存着收到的所有图片信息以及图片标识,用户端监听图片队列的变化,若此时动画下一帧的图片还没有获得,则根据图片标识在图片队列中检测动画下一帧的图片有无获得,若获得则播放,并检测下下帧的图片有无获得,以此类推;若没有获得,则继续等待监听图片队列的变化,在以上过程中在检测到动画下一帧的图片获得时,则将收到base64编码转化为二进制信息后,将其转化为Uint8ClampedArray类型化数组,然后新建一个画布,通过canvas.getContext('2d')方法获取2D对象,此对象有个ctx.putImageData(imagedata,dx,dy)可以让画布绘制ImageData(data,width,height)实例类型的矩形像素,其中的data即为转化好的Uint8ClampedArray类型化数组,即成功在用户侧显示该图片。
采用上述方法后,本发明有益效果为:
(1)在用户聚合场景下,将执行相同服务的移动设备作为服务节点,执行渲染计算的卸载,构建协同渲染计算网络。
(2)在协同渲染计算网络的计算源和渲染数据共享方面,采用了基于区块链的分散式网络方法,能够保护用户隐私,保证计算和渲染过程的可持续执行。
(3)提出了一种面向协同渲染计算网络的数据请求和计算卸载调度方法,旨在优化渲染计算延迟。
附图说明
图1是本发明实施例的端到端的移动Web 3D渲染计算卸载方法的步骤流程图。
具体实施方式
下面结合附图对本发明作进一步的说明。
参见图1,所示为本发明实施例的端到端的移动Web 3D渲染计算卸载方法的步骤流程图,包括以下步骤:
步骤1,在分布式协同渲染计算服务网络的构建中,通过D2D技术,在设备与设备之间建立联通,实现一定距离内移动设备的直接、短距离通信,满足用户聚合场景中计算卸载、分散渲染和低延迟通信,减轻服务基站的负荷;
步骤2,移动设备进行直接且短距离的连通后,实现移动设备之间的渲染数据交换,假设单个节点作为计算卸载服务器,为另一个单个节点提供渲染计算服务,两节点为NodeA、NodeB,WebGL通常在画布上逐帧渲染三维模型图像,因此使用逐帧计算卸载来进行协同渲染,NodeA用于帮助NodeB进行渲染和加载,但不显示三维模型,NodeB获得NodeA的渲染计算并显示;
步骤3,在客户端节点的Web浏览器渲染3D模型时,渲染计算的中间数据通过缓存技术进行交换,减轻移动设备的计算压力;在基于缓存的计算资源共享中,使用indexedDB作为协作渲染计算的数据交换容器;NodeA执行屏幕外渲染,并将渲染计算输出数据保存在本地缓存中,以帮助NodeB进行渲染;NodeB通过D2D通信信道获取本地缓存中匹配的图像信息;
步骤4,在实际服务环境中,多个设备为多个不同设备提供计算卸载或渲染输出输出数据共享服务,以实现三维模型的协同渲染;在多设备协同渲染计算卸载的构建过程中,在计算资源共享和计算数据共享两个方面为单个移动设备提供数据服务;为了有效地控制多个移动设备以提供呈现服务,在公共数据连接信道上识别移动设备,并对NodeB侧的多个设备进行排序;
步骤5,在实现用户聚合场景下的渲染计算卸载后,继续实现用户侧移动设备交互呈现。
具体应用实例中,在设备与设备之间建立联通的具体包括:在由D2D通信移动设备组成的分散协同渲染计算服务网络中,每个节点都发送和接收信号,并具有自动路由功能,网络参与者共享部分计算资源和数据资源,包括信息处理、存储和网络连接,以上共享资源向网络提供计算服务和数据资源,其他用户无需经过中间实体即可直接访问;在D2D通信网络中,每个节点同时扮演服务器和客户端的角色;移动设备可以监测到彼此的存在,形成一个虚拟或真实的群体;移动设备利用D2D的邻近性和数据传递特性,节省频谱资源,扩展虚拟现实应用场景。
具体应用实例中,NodeA用于帮助NodeB进行渲染和加载,但不显示三维模型,NodeB获得NodeA的渲染计算并显示具体包括:NodeB加载场景和摄像机,记录窗口W_width和W_heigh,t NodeB通过D2D通信信道与NodeA通信,并向NodeA发送3D模型初始化请求三维模型图像;NodeA通过接收消息根据W_width和W_height加载三维模型脱离屏幕;使用读取渲染目标像素工具将屏幕外渲染的像素数据加载到uint8数组实例中,在读取渲染目标像素工具中,x和y用于限制读取的起点,而宽度和高度是三维模型加载的宽度和高度;二进制信息被转换为Base64代码并发送到NodeB;
在接收到Base64代码并将其转换为二进制信息后,NodeB将其转换为uint8clampedarray((8位无符号整数固定数组)类型化数组,然后NodeB创建一个新的画布,通过canvas.getContext('2d')方法下载以获得一个2D对象。2D对象具有ctx.putImageData(imagedata,Dx,Dy)函数,此函数允许画布绘制实例类型的imagedata((data,width,height))矩形像素;
NodeB的网络浏览器监视用户交互的位置,并在用户交互后获取相机的位置参数,通过相机控制功能模块OrbitControls.js,缩放、平移和旋转三维模型对象或场景,NodeB的网络浏览器将相机的位置参数以及当前窗口的宽度和高度封装到对象中,并给对象一个记录照片的数字,参数被发送到NodeA,在以与初始化相同的方式呈现后,将二进制信息转换为Base64编码并将获得的相应图像标识包发送到NodeB,NodeB监视图片的获取并检查图片识别,如果图片是下一张要播放的图片,播放同时开始循环,以检查是否获得图片阵列中的下一张图片;否则,它将被保存在具有相应的下标的图片数组中。
具体应用实例中,所述NodeA执行屏幕外渲染,并将渲染计算输出数据保存在本地缓存中,以帮助NodeB进行渲染;NodeB通过D2D通信信道获取本地缓存中匹配的图像信息具体包括:客户端节点的Web浏览器呈现3D模型时,通过缓存技术交换呈现计算的中间数据,以降低移动设备的计算压力;NodeA执行屏幕渲染并将渲染输出输出数据保存在本地缓存中,以帮助NodeB渲染;NodeB通过与NodeA的D2D通信通道获取本地缓存中的匹配图像信息;
NodeB加载场景和摄像机,使用D2D通信通道与NoDeA通信,发送初始化或用户交互后摄像机的位置参数以及图像的序列识别;该图片的序列标识被定义为:
在渲染计算输出-数据共享过程中,NodeA接收相机的位置参数,打开索引数据库,并查找与相机中的位置参数相匹配的数据,如果发现,接收到的渲染结果数据和相应的图像序列标识将被打包并发送到节点B;NodeB监视图片的采集,并检查图片标识;如果图片是下一张要播放的图片,播放同时开始循环,以检查是否获得图片阵列中的下一张图片;否则,它将被保存在具有相应的下标的图片数组中。
具体应用实例中,多个设备为多个不同设备提供计算卸载或渲染输出输出数据共享服务具体包括:NodeB加载场景和摄像机,并记录窗口宽度和高度作为渲染计算参数,然后,NodeB与辅助渲染计算节点队列Q(NodeAi,0≤i≤n)进行通信,并初始化发送消息“Ping”和窗口参数(W_width,W_height);
在收到“Ping”和窗口参数后,Q(NodeAi,0≤i≤n)加载场景和摄像机ac-根据窗口参数,并将“helper Ping”和用户ID发送到NodeB,NodeB收到“helper Ping”和用户ID,然后根据收到的顺序将用户ID推入helperArr,并将用户ID的下标索引返回设备;
协同渲染计算卸载:NodeB向Q发送请求,以获取相应的图片信息,图片和设备的相应原理如下:ID为M%的节点。长度]封装具有接收数字的三维模型渲染的图像信息,并通过屏幕外渲染计算将其发送回nodeB,即, 图像流中的帧(在移动鼠标的过程中的模型的变化体现为图像流的帧切换),NodeB监视图像信息的获取,并检查号码;如果图片是下一个要播放的图像,则播放开始循环,检查是否已获得下一个图片;
协同缓存呈现计算输出数据共享,对于每帧(帧对应于位置Arr阵列中的一个元素),NodeB发送给helperArr中的用户ID,以查询是否有相应的图片。找到查询后,查询结束,并检查图像ID,如果图像是下一个播放,则开始播放,检查图像阵组中的下一帧是否获得图像,否则保存在下标对应的图像阵组中。
具体应用实例中,实现用户侧移动设备交互呈现具体包括:图片队列为一个数组,数组内存着收到的所有图片信息以及图片标识(及标识着图片为模型动画中第几帧),用户端监听图片队列的变化,若此时动画下一帧的图片还没有获得,则根据图片标识在图片队列中检测动画下一帧的图片有无获得,若获得则播放,并检测下下帧的图片有无获得,以此类推;若没有获得,则继续等待监听图片队列的变化,在以上过程中在检测到动画下一帧的图片获得时,则将收到base64编码转化为二进制信息后,将其转化为Uint8ClampedArray(8位无符号整型固定数组)类型化数组,然后新建一个画布,通过canvas.getContext('2d')方法获取2D的对象,此对象有个ctx.putImageData(imagedata,dx,dy)可以让画布绘制ImageData(data,width,height)实例类型的矩形像素,其中的data即为转化好的Uint8ClampedArray类型化数组,即成功在用户侧显示该图片。
通过以上端到端的移动Web 3D渲染计算卸载方法的技术方案实现的有益效果如下:在用户聚集场景下,一定距离内的移动设备实现直接通信,减轻服务基站的负荷,节省频谱资源和扩展基于移动网络的增强现实(mobile Web augmented reality,MWAR)应用场景;通过将远程服务器的计算压力分配给分散网络中附近的渲染计算节点,可以避免远程服务器承担过多的计算压力。解决了远程中心服务器与场景边缘基站之间通信压力过大的问题;协同渲染计算网络的计算源和渲染数据共享方面,采用了基于区块链的分散式网络方法,能够保护用户隐私,保证计算和渲染过程的可持续执行;本面向协同渲染计算网络的数据请求和计算卸载调度的方法,优化了渲染计算延迟。降低用户聚合场景下MWAR的平均渲染响应延迟,比现有的高级方法具有更低的延迟。
以上所述,仅用以说明本发明的技术方案而非限制,本领域普通技术人员对本发明的技术方案所做的其它修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
Claims (6)
1.一种端到端的移动Web 3D渲染计算卸载方法,其特征在于,包括以下步骤:
步骤1,在分布式协同渲染计算服务网络的构建中,通过D2D技术,在设备与设备之间建立联通,实现一定距离内移动设备的直接、短距离通信,满足用户聚合场景中计算卸载、分散渲染和低延迟通信,减轻服务基站的负荷;
步骤2,移动设备进行直接且短距离的连通后,实现移动设备之间的渲染数据交换,假设两节点为NodeA、NodeB,单个节点作为计算卸载服务器,为另一个单个节点提供渲染计算服务,WebGL通常在画布上逐帧渲染三维模型图像,因此使用逐帧计算卸载来进行协同渲染,NodeA用于帮助NodeB进行渲染和加载,但不显示三维模型,NodeB获得NodeA的渲染计算并显示;
步骤3,在客户端节点的Web浏览器渲染3D模型时,渲染计算的中间数据通过缓存技术进行交换,减轻移动设备的计算压力;在基于缓存的计算资源共享中,使用indexedDB作为协作渲染计算的数据交换容器;NodeA执行屏幕外渲染,并将渲染计算输出数据保存在本地缓存中,以帮助NodeB进行渲染;NodeB通过D2D通信信道获取本地缓存中匹配的图像信息;
步骤4,在实际服务环境中,多个设备为多个不同设备提供计算卸载或渲染输出输出数据共享服务,以实现三维模型的协同渲染;在多设备协同渲染计算卸载的构建过程中,在计算资源共享和计算数据共享两个方面为单个移动设备提供数据服务;为了有效地控制多个移动设备以提供呈现服务,在公共数据连接信道上识别移动设备,并对NodeB侧的多个设备进行排序;
步骤5,在实现用户聚合场景下的渲染计算卸载后,继续实现用户侧移动设备交互呈现。
2.根据权利要求1所述的端到端的移动Web 3D渲染计算卸载方法,其特征在于,所述的在设备与设备之间建立联通的具体包括:在由D2D通信移动设备组成的分散协同渲染计算服务网络中,每个节点都发送和接收信号,并具有自动路由功能,网络参与者共享部分计算资源和数据资源,包括信息处理、存储和网络连接,以上共享资源向网络提供计算服务和数据资源,其他用户无需经过中间实体即可直接访问;在D2D通信网络中,每个节点同时扮演服务器和客户端的角色;移动设备监测到彼此的存在,形成一个虚拟的或真实的群体;移动设备利用D2D的邻近性和数据传递特性,节省频谱资源,扩展虚拟现实应用场景。
3.根据权利要求1所述的端到端的移动Web 3D渲染计算卸载方法,其特征在于:所述NodeA用于帮助NodeB进行渲染和加载,但不显示三维模型,NodeB获得NodeA的渲染计算并显示具体包括:NodeB加载场景和摄像机,记录窗口W_width和W_height,NodeB通过D2D通信信道与NodeA通信,并向NodeA发送3D模型初始化请求三维模型图像;NodeA通过接收消息根据W_width和W_height加载三维模型脱离屏幕;使用读取渲染目标像素工具将屏幕外渲染的像素数据加载到uint8数组实例中,在读取渲染目标像素工具中,x和y用于限制读取的起点,而宽度和高度是三维模型加载的宽度和高度;二进制信息被转换为Base64代码并发送到NodeB;
在接收到Base64代码并将其转换为二进制信息后,NodeB将其转换为uint8clampedarray类型化数组,然后NodeB创建一个新的画布,通过canvas.getContext('2d')方法下载以获得一个2D对象,2D对象具有ctx.putImageData(imagedata,Dx,Dy)函数,此函数允许画布绘制实例类型的imagedata((data,width,height))矩形像素;
NodeB的网络浏览器监视用户交互的位置,并在用户交互后获取相机的位置参数,通过相机控制功能模块OrbitControls.js,缩放、平移和旋转三维模型对象或场景,NodeB的网络浏览器将相机的位置参数以及当前窗口的宽度和高度封装到对象中,并给对象一个记录照片的数字,参数被发送到NodeA,在以与初始化相同的方式呈现后,将二进制信息转换为Base64编码并将获得的相应图像标识包发送到NodeB,NodeB监视图片的获取并检查图片识别,如果图片是下一张要播放的图片,播放同时开始循环,以检查是否获得图片阵列中的下一张图片;否则,它将被保存在具有相应的下标的图片数组中。
4.根据权利要求1所述的端到端的移动Web 3D渲染计算卸载方法,其特征在于:所述NodeA执行屏幕外渲染,并将渲染计算输出数据保存在本地缓存中,以帮助NodeB进行渲染;NodeB通过D2D通信信道获取本地缓存中匹配的图像信息具体包括:客户端节点的Web浏览器呈现3D模型时,通过缓存技术交换呈现计算的中间数据,以降低移动设备的计算压力;NodeA执行屏幕渲染并将渲染输出输出数据保存在本地缓存中,以帮助NodeB渲染;NodeB通过与NodeA的D2D通信通道获取本地缓存中的匹配图像信息;
NodeB加载场景和摄像机,使用D2D通信通道与NodeA通信,发送初始化或用户交互后摄像机的位置参数以及图像的序列识别;该图片的序列标识被定义为:
在渲染计算输出-数据共享过程中,NodeA接收相机的位置参数,打开索引数据库,并查找与相机中的位置参数相匹配的数据,如果发现,接收到的渲染结果数据和相应的图像序列标识将被打包并发送到节点B;NodeB监视图片的采集,并检查图片标识;如果图片是下一张要播放的图片,播放同时开始循环,以检查是否获得图片阵列中的下一张图片;否则,它将被保存在具有相应的下标的图片数组中。
5.根据权利要求1所述的端到端的移动Web 3D渲染计算卸载方法,其特征在于:所述的多个设备为多个不同设备提供计算卸载或渲染输出输出数据共享服务具体包括:NodeB加载场景和摄像,并记录窗口宽度和高度作为渲染计算参数,然后,NodeB与辅助渲染计算节点队列Q(NodeAi,0≤i≤n)进行通信,并初始化发送消息“Ping”和窗口参数(W_width,W_height);
在收到“Ping”和窗口参数后,Q(NodeAi,0≤i≤n)加载场景和摄像机ac-根据窗口参数,并将“helper Ping”和用户ID发送到NodeB,NodeB收到“helper Ping”和用户ID,然后根据收到的顺序将用户ID推入helperArr,并将用户ID的下标索引返回设备;
协同渲染计算卸载:NodeB向Q发送请求,以获取相应的图片信息,图片和设备的相应原理如下:ID为[M%的节点.长度]封装具有接收数字的三维模型渲染的图像信息,并通过屏幕外渲染计算将其发送回NodeB,即, 图像流中的帧(在移动鼠标的过程中的模型的变化体现为图像流的帧切换),NodeB监视图像信息的获取,并检查号码;如果图片是下一个要播放的图像,则播放开始循环,检查是否已获得下一个图片;
协同缓存呈现计算输出数据共享,对于每帧(帧对应于位置Arr阵列中的一个元素),NodeB发送给helperArr中的用户ID,以查询是否有相应的图片;找到查询后,查询结束,并检查图像ID,如果图像是下一个播放,则开始播放,检查图像阵组中的下一帧是否获得图像,否则保存在下标对应的图像阵组中。
6.根据权利要求1所述的端到端的移动Web 3D渲染计算卸载方法,其特征在于,所述的实现用户侧移动设备交互呈现具体包括:图片队列为一个数组,数组内存着收到的所有图片信息以及图片标识,用户端监听图片队列的变化,若此时动画下一帧的图片还没有获得,则根据图片标识在图片队列中检测动画下一帧的图片有无获得,若获得则播放,并检测下下帧的图片有无获得,以此类推;若没有获得,则继续等待监听图片队列的变化,在以上过程中在检测到动画下一帧的图片获得时,则将收到base64编码转化为二进制信息后,将其转化为Uint8ClampedArray类型化数组,然后新建一个画布,通过canvas.getContext('2d')方法获取2D对象,此对象有个ctx.putImageData(imagedata,dx,dy)可以让画布绘制ImageData(data,width,height)实例类型的矩形像素,其中的data即为转化好的Uint8ClampedArray类型化数组,即成功在用户侧显示该图片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210551462.7A CN114980208A (zh) | 2022-05-18 | 2022-05-18 | 端到端的移动Web 3D渲染计算卸载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210551462.7A CN114980208A (zh) | 2022-05-18 | 2022-05-18 | 端到端的移动Web 3D渲染计算卸载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114980208A true CN114980208A (zh) | 2022-08-30 |
Family
ID=82984667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210551462.7A Pending CN114980208A (zh) | 2022-05-18 | 2022-05-18 | 端到端的移动Web 3D渲染计算卸载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114980208A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115379193A (zh) * | 2022-10-24 | 2022-11-22 | 中诚华隆计算机技术有限公司 | 一种三维数据传输方法、系统及芯片 |
CN115914526A (zh) * | 2023-01-09 | 2023-04-04 | 中建三局信息科技有限公司 | 基于云渲染的bim模型可视化方法、装置、设备及介质 |
CN116578299A (zh) * | 2023-07-12 | 2023-08-11 | 成都数默科技有限公司 | 一种基于AngularJS框架的大数据列表实现方法 |
CN116627580A (zh) * | 2023-07-25 | 2023-08-22 | 江苏正泰泰杰赛智能科技有限公司 | 一种网页端的多级缓存的三维模型加载方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266616B1 (en) * | 2001-08-08 | 2007-09-04 | Pasternak Solutions Llc | Method and system for digital rendering over a network |
CN103281345A (zh) * | 2013-02-16 | 2013-09-04 | 赞奇科技发展有限公司 | 基于云计算架构的三维数字模型实时渲染的实现方法及云服务系统 |
CN112804665A (zh) * | 2021-01-13 | 2021-05-14 | 浙江传媒学院 | 基于d2d协同计算网络构建方法 |
-
2022
- 2022-05-18 CN CN202210551462.7A patent/CN114980208A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266616B1 (en) * | 2001-08-08 | 2007-09-04 | Pasternak Solutions Llc | Method and system for digital rendering over a network |
CN103281345A (zh) * | 2013-02-16 | 2013-09-04 | 赞奇科技发展有限公司 | 基于云计算架构的三维数字模型实时渲染的实现方法及云服务系统 |
CN112804665A (zh) * | 2021-01-13 | 2021-05-14 | 浙江传媒学院 | 基于d2d协同计算网络构建方法 |
Non-Patent Citations (5)
Title |
---|
LIANG LI: "Rendering Optimization for Mobile Web 3D Based on Animation Data Separation and On-Demand Loading", 《IEEE ACCESS 》, 11 May 2020 (2020-05-11) * |
李亮: "基于计算卸载的智能电视运动评测系统设计与实现", 《电视技术》, 15 August 2020 (2020-08-15) * |
林引盈;李亮;: "基于智能电视交互计算的移动设备卸载方法的设计与实现", 电视技术, no. 05, 15 May 2020 (2020-05-15) * |
郭煜;: "移动边缘计算中带有缓存机制的任务卸载策略", 计算机应用与软件, no. 06, 12 June 2019 (2019-06-12) * |
高瞻;孙万捷;王杰华;蒋峥峥;: "渲染器与Web服务器耦合实现远程体渲染的交互优化", 中国图象图形学报, no. 03, 16 March 2017 (2017-03-16) * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115379193A (zh) * | 2022-10-24 | 2022-11-22 | 中诚华隆计算机技术有限公司 | 一种三维数据传输方法、系统及芯片 |
CN115914526A (zh) * | 2023-01-09 | 2023-04-04 | 中建三局信息科技有限公司 | 基于云渲染的bim模型可视化方法、装置、设备及介质 |
CN115914526B (zh) * | 2023-01-09 | 2023-07-18 | 中建三局信息科技有限公司 | 基于云渲染的bim模型可视化方法、装置、设备及介质 |
CN116578299A (zh) * | 2023-07-12 | 2023-08-11 | 成都数默科技有限公司 | 一种基于AngularJS框架的大数据列表实现方法 |
CN116578299B (zh) * | 2023-07-12 | 2023-09-08 | 成都数默科技有限公司 | 一种基于AngularJS框架的大数据列表实现方法 |
CN116627580A (zh) * | 2023-07-25 | 2023-08-22 | 江苏正泰泰杰赛智能科技有限公司 | 一种网页端的多级缓存的三维模型加载方法 |
CN116627580B (zh) * | 2023-07-25 | 2023-09-22 | 江苏正泰泰杰赛智能科技有限公司 | 一种网页端的多级缓存的三维模型加载方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114980208A (zh) | 端到端的移动Web 3D渲染计算卸载方法 | |
Qiao et al. | A new era for web AR with mobile edge computing | |
US10110672B2 (en) | Graphic sharing | |
US10810430B2 (en) | Augmented reality with markerless, context-aware object tracking | |
Verbelen et al. | Leveraging cloudlets for immersive collaborative applications | |
US20100134494A1 (en) | Remote shading-based 3d streaming apparatus and method | |
WO2018133692A1 (zh) | 实现增强现实的方法、计算机设备及存储介质 | |
CN109040786B (zh) | 摄像头数据的传输方法、装置、系统及存储介质 | |
Younis et al. | Latency-aware hybrid edge cloud framework for mobile augmented reality applications | |
CN113902866B (zh) | 一种双引擎驱动的数字孪生系统 | |
KR102657674B1 (ko) | 3차원 비디오의 처리 방법, 장치, 판독 가능 저장매체 및 전자기기 | |
CN110740352A (zh) | 显卡透传环境下基于spice协议的差异图像显示方法 | |
CN115989527A (zh) | 用于对增强现实媒体对象执行基于锚点的渲染的方法和装置 | |
Albanese et al. | Gpu-accelerated video transcoding unit for multi-access edge computing scenarios | |
Nurminen et al. | HYDROSYS–A mixed reality platform for on-site visualization of environmental data | |
WO2020063171A1 (zh) | 数据传输方法、终端、服务器和存储介质 | |
CN111641878A (zh) | 三维模型展示方法、装置和电子设备 | |
US20230018087A1 (en) | Data coding method and apparatus, and computer-readable storage medium | |
CN117499712A (zh) | 同步方法、系统及电子设备 | |
CN116503498A (zh) | 一种画面渲染方法和相关装置 | |
CN115761190A (zh) | 基于场景映射的多用户增强现实相片浏览方法及系统 | |
CN112995134B (zh) | 一种三维视频流媒体传输方法与可视化方法 | |
JP2022550004A (ja) | イメージ統合方法及びシステム | |
Yan et al. | Research and implementation of edge computing in web AR | |
KR102548299B1 (ko) | 메타버스 기반 3d 인테리어 꾸미기 영상 기록 서비스 제공 시스템 |
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 |