对象捕获
谷歌的目标是渲染每个用户的新图像 , 这是因为它们应该出现在其他用户的左眼和右眼 。 显然 , 如果可以将相机精确地放置在这些眼睛位置 , 那么捕捉就变得微不足道了 。
遗憾的是 , 这是不可行的 。 一方面 , 这些位置位于显示器的中心附近 , 因而会被遮挡;另一方面 , 用户将会在所有 3 个维度上自由运动 。 新兴的透视显示技术或许能够部分解决这个问题 , 但透明的自动立体显示器还不存在 , 并且无论如何都无法解决观看者的运动问题 。
因此 , 谷歌将捕获传感器放置在显示器的外围 。 由于显示器对着本地用户的角度很大 , 因此捕获视角与需要渲染的眼睛位置相距甚远 。 为了解决这种大视差 , 谷歌使用可见光和近红外(NIR)全局快门图像传感器的组合来重建用户的几何近似值 。
如上图 5 所示 , 传感器分布在三个捕获 pod 中 , 两个在显示器上方 , 一个位于其下方的中墙 。 上方的 pod 可以很好地观察手势以及头部和躯干的侧面 , 同时下方的 pod 又能很好地观察颈部、面部和下巴 。 pod 的体积足够大 , 宽 1.4 m、高 1.0 m 和深 0.9 m , 用于捕捉坐着自然谈话和打手势的用户的头部、躯干、手臂和手 。
3D 脸部追踪
谷歌采用了四个同步的 1280×1024 单色相机 , 它们以 120Hz 运行并配有过滤器来阻挡 NIR 光 。 对于每个捕获的图像 , 谷歌检测面部并定位 34 个面部标志 [FaceDetector 2019] 。 此外 , 他们还将眼睛、嘴巴和耳朵的 2D 位置确定为邻近标志的加权组合 。 为了让四个追踪相机中至少有两个找出这些对象 , 谷歌使用三角测距法(triangulation)来获取它们的 3D 位置 。
视频压缩以及传输
来自 RGBD 捕获 pod 的四种颜色和三种深度流在 GPU 上进行压缩 , 并使用 WebRTC 与追踪的 3D 面部点一起传输 。
通过使用视频压缩技术 , 该研究能够利用现代 GPU 中高度优化的视频编码器和解码器 。 具体来说 , 他们使用四个 NVIDIA GPU 的 NVENC/NVDEC 单元 。 这样一来会有足够的吞吐量处理四种颜色和三种深度流在全分辨率和 60Hz 的帧率 。 颜色和深度流都使用带有 YUV420 chroma 子采样的 H.265 编解码器进行编码 。 颜色流每通道使用 8 位 ,深度流每通道使用 10 位 , 深度数据存储在 Y 亮度(luminance)通道中 , 而 UV chroma 通道设置为 512(灰色) 。 该研究通过省略双向编码 (B) 帧来减少编码和解码延迟 。
渲染
在接收客户端上解压好 3 个深度图和 4 个彩色图像后 , 该研究从本地用户的眼睛位置渲染虚拟远程用户左右透视图 。 它由三个步骤组成:
对于每个 4 色相机 , 通过为每条射线找到与输入深度图融合的表面的第一个交点 , 使用光线投射计算阴影图;
推荐阅读
- Google|谷歌暂缓2021年12月更新推送 调查Pixel 6遇到的掉线断连问题
- 测试|图森未来完成全球首次无人驾驶重卡在公开道路的全无人化测试
- Apple|苹果高管解读AirPods 3代技术细节 暗示蓝牙带宽可能成为瓶颈
- AirPods|苹果谈论AirPods 3:最大榨取蓝牙技术,希望获得“更多带宽”
- Tesla|马斯克也要效仿谷歌Facebook 为特斯拉设立控股母公司?
- 未来|图森未来完成全球首次无人驾驶重卡公开道路全无人测试
- ti|英伟达明年1.5将举办特别活动 游戏相关新情报公开
- Samsung|三星打算对外公开其C-Lab Inside计划的4个新项目
- 最初的|微软指责谷歌“耽误”了Surface Duo安卓11的最后升级期限
- GitHub|小米 12 / Pro / X 系列内核源码已公开,基于 Android 12