MR头显通常包括具有一个或多个追踪摄像头和惯性测量单元(IMU)的定位系统。利用所述传感器,系统可以确定设备相对于周围环境的位置和姿态。来自IMU的数据可用于补充摄像头数据,从而提供更可靠的位置和姿态确定。
在MR场景中进行数字内容的视觉放置或渲染全息图时,头显的位置和姿态都需要由MR系统提供。例如当用户在空间中走动时,MR可以通过SLAM技术计算和确定用户的位置,并可以为MR场景中的虚拟内容提供即时显示校正。
在特定情况下,MR系统可以选择执行远程渲染。其中,全息图最初在远程系统生成或制备,然后通过网络传输到头显。这种类型的远程渲染十分有用,因为它可以帮助减少头显本地执行的处理量,从而提高续航并优化形状参数。
但在远程服务生成图像和头显显示图像之间通常存在时间延迟。例如,如果远程服务基于确定的或预期的姿态生成全息图,然后当全息图显示时,头显已经发生移动,亦即不在所述姿态的位置。这时,头显将需要执行一定的重投影以纠正全息图的姿态,促使其对应于头显的当前真实位置。
尤其是,对于传统系统,深度缓冲的编码和压缩过程通常需要大量的计算资源。一个问题包括远程服务器端在压缩和传输可能非常详细且计算昂贵的彩色图像(全息图),以及通过网络传输的相应深度缓冲方面的效率低下。
作为说明,实际上,视频压缩的一个特点是深度不连续难以编码(深度不连续即相邻深度值之间的深度变化很大)。例如,视频压缩技术通常依赖于相对于彼此可预测的编码值。如果相邻值高度不同、脱节、跳跃或不连续,则会导致编码预测过程花费额外资源来执行编码和压缩过程。本质上,这种高度不相交的位置包含更多必须压缩的信息。
在名为”Depth buffer dilation for remote rendering“的专利申请中,微软就提出了一种用于为远程渲染优化深度缓冲的方法。
微软指出,专利描述的实施例可以提高远程渲染服务和头显之间的彩色图像(全息图)的传输效率,以及提高在头显接收所述彩色图像后的重投影效率。
在一个实施例中,可以生成彩色图像。彩色图像包括第一内容区域、第二内容区域和重叠区域,其中第二内容区域至少部分重叠第一内容区域。
在一个实施例中,为彩色图像生成深度缓冲区。所述深度缓冲包括彩色图像中每个像素的深度值。深度缓冲同时配置为识别或至少区分第一内容区域的第一组深度值、第二内容区域的第二组深度值、以及彩色图像包括的非内容区域的第三组深度值。
执行识别过程,其中所述识别过程涉及识别深度缓冲中的必要深度不连续和非必要深度不连续。
另一方面,非必要深度不连续是位于与非内容区域和第一内容区域或第二内容区域之间的边界相对应的区域的深度缓冲内的深度不连续。在保留必要深度不连续性的同时,在深度缓冲中修改第三组深度值,以消除非必要深度不连续。阻止新的非必要不连续包含在深度缓冲的最终版本中。
在一个实施例中,然后将彩色图像编码到彩色图像视频流中,并且将修改后的缓冲编码到深度缓冲流中。在一个实施例中,彩色图像视频流和深度缓冲流随后发送到远程定位的头显。然后,所述实施例在深度缓冲流中对修改后的深度缓冲进行编码,以通过减少编码的数据量,例如通过消除非必要深度不连续。接下来,将所述深度缓冲流发送到远程定位的设备。
在一个实施例中,头显配置为从远程服务器设备接收彩色图像视频流和深度缓冲流。然后,头显解码彩色图像视频流以生成彩色图像,并且解码深度缓冲流以生成深度缓冲。
所述深度缓冲是一个修改后的深度缓冲(之前对其进行了修改,以消除非必要深度不连续,同时保留必要深度不连续)。在这里,“必要”深度不连续是深度缓冲中对应于第二全息图与第一全息图重叠区域的深度不连续。“非必要”深度不连续是深度缓冲中对应于第一全息图或第二全息图与非内容远平面边界区域的深度不连续。
然后,对于彩色图像中的每个彩色像素,头显确定深度缓冲中包括的相应深度值。头显同时确定其当前位置。使用详细说明头显当前位置的信息以及深度缓冲中包括的深度值,头显可以重投影彩色图像,以促使彩色图像体现的透视能够对应于根据真实头显位置确定的真实透视。
相关专利:Microsoft Patent | Depth buffer dilation for remote rendering
名为”Depth buffer dilation for remote rendering“的微软专利申请最初在2020年2月提交,并在日前由美国专利商标局公布。需要注意的是,这只是一份专利,不确定实际的应用效果。