科技魔方

Meta为AR/VR云渲染提出通过渐进下采样帧视频压缩渐进传输图像数据

AR/VR

2023年08月17日

  为了在计算能力有限的移动设备提供高保真度的XR体验,涉及图像渲染的计算密集型操作可以转移到云生态系统中,在云生态系统中,计算成本高昂的计算由高性能服务器执行,将处理后的图像压缩并流式传输到移动设备。然后,移动设备可以进行任何所需的最后调整并显示图像内容。

  限制云渲染成功的主要挑战之一是,它会引入额外的延迟。所以在名为“Progressive transmission of detailed image data via video compression of successive subsampled frames”的专利申请中,Meta提出了一种通过渐进下采样帧的视频压缩来渐进传输详细图像数据的方法。

  图1描绘了一个示例下采样模式。可以将原始输入图像110下采样到4个子帧中。在另一实施例中,可以将原始输入图像110分采样到2个子帧中。在其他实施例中,原始输入图像110可以采样为3、5、6、7、8、9、16、25或其他数量的子帧X。

  在图1的可视化中,所描绘的每一帧是正方形,由像素组成。如果把每一帧看作一个单独的网格,则每一帧中的像素可以通过它们在网格中的位置来识别。

  作为参考,假设每个网格的原点在每一帧的左上角,x坐标向下递增,y坐标向右递增。因此,在原始输入图像110中,像素“1”在坐标(1,1)处,像素64在坐标(8,8)处,像素43在坐标(6,3)处,像素24在坐标(3,8)处。

  在一个实施例中,下采样过程可以首先在水平和垂直方向上每n个像素从原始输入图像110采样像素来创建Z{circumflex over ( )}2较低分辨率图像。Z的典型值可能是2或3。

  在一个实施例中,每个下采样图像可以从不同的像素偏移开始。例如,对于N×N输入图像,Z=2,通过对像素进行采样,可以得到4个次采样图像:

  对于子帧1,在(1, 1), (1, 3), … (1, N−1), (3, 1), (3, 3) … (N−1, N−1)采样。

  对于子帧2,在(1, 2), (1, 4) … (1, N), (3, 2), (3, 4) … (N, N−1)采样;

  对于子帧3,在 (2, 1), (2, 3), … (2, N−1), (4, 1), (4, 3) … (N, N−1)采样;

  对于子帧4,在(2, 2), (2, 4) … (2, N), (4, 2), (4, 4) … (N, N)。

  图1展示了8×8像素图像和Z=2(4个子帧)的上述下采样过程。原始输入图像110的64个像素分割成第一子帧120、第二子帧122、第三子帧124和第四子帧126,每个子帧具有从原始输入图像110采样的16个像素。

  在所描述的实施例中,第一子帧120包括在(1, 1), (1, 3), … (1, N−1), (3, 1), (3, 3) … (N−1, N−1) 采样的像素。像素标记为1、3、5、7、17、19、21、23、33、35、37、39、49、51、53和55。

  第二子帧122包括在(1, 2), (1, 4) … (1, N), (3, 2), (3, 4) … (N, N−1) 采样的像素。像素标记为2、4、6、8、18、20、22、24、34、36、38、40、50、52、54和56。

  第三子帧124包括在(2, 1), (2, 3), … (2, N−1), (4, 1), (4, 3) … (N, N−1) 采样的像素。像素标记为9、11、13、15、25、27、29、31、41、43、45、47、57、59、61和63的像素。

  第四子帧126包括在 (2, 2), (2, 4) … (2, N), (4, 2), (4, 4) … (N, N) 采样的像素。像素标记为10、12、14、16、26、28、30、32、42、44、46、48、58、60、62和64。

  在一个实施例中,任何下采样技术或模式可用于生成多个下采样图像,只要所述多个下采样图像的第一图像的分辨率低于所述原始输入图像110。

  在这些实施例的具体实施例中,例如在图1所描述的实施例中,X子帧的图案互斥,亦即没有重叠像素。在一个实施例中,X次采样图像中的每一个都等于或大约等于R/X的分辨率,其中R是原始输入图像110的分辨率。

  另外,客户端设备必须能够知道或确定云中用于生成X子帧的下采样技术或模式,客户端设备需要所述信息来正确合并或组合图像,以便它可以显示或使用适当的重建图像。所以在客户端设备重建用于显示或使用的任何图像之前,向客户端设备发送指示一个或多个下采样模式或技术的信息。

  在一个实施例中,可使用随机或伪随机编程过程中的一个来生成原始输入图像110的一个或多个下采样图像。例如,可以使用随机数生成器对原始N×N输入图像的Y像素进行采样,从而生成第一低分辨率子帧。

  参照图1中8×8, X=4的情况,可以对随机数生成器进行编程,生成1到64(含64)之间的16个唯一整数。然后可以使用这16个数字来选择原始输入帧110的16个相应像素,从而组成第一子帧120。

  然后,这个第一子帧120可以与随机数生成器的种子一起立即发送到客户端设备。

  可以对随机数生成器进行编程,然后从1到64之间的剩余48个整数中生成接下来的16个唯一整数。然后可以使用对应于下一组整数的原始输入图像110的像素来形成第二子帧122。接下来,可以将第二子帧122发送到客户端设备。

  依此类推第三子帧124和第四子帧126。

  无论是使用随机数生成器在水平和垂直方向上对第n个像素进行采样来生成各种次采样帧,还是以其他方式生成各种次采样帧,都可以将指示所使用的采样模式的信息从云端发送到客户端设备,以便客户端设备可以适当地对次采样帧进行上采样和合并,从而重建越来越好的图像。

  视频编码可以设计用于减少视频的大小或比特率而不影响其质量的过程。通常,视频编码对视频中的顺序帧进行编码。压缩节省是相邻帧相似的结果。但是,Meta介绍的技术不针对编码时间上不同的帧。

  相反,可以将视频编码器重用于对单个图像的下采样进行编码。由于子帧属于同一图像,所以所述帧非常相似,有时甚至比视频的连续帧更相似。子帧的相似性质对于优化视频编码器的压缩能力非常理想。如果所有的子帧都非常相似,则不需要编码太多的信息。

  图2示出在一个实施例中显示渐进下采样传输(PST) 200的示例功能图。在所描述的实施例中,在客户端设备上显示或使用的图像的质量可以随着在客户端设备上解码、上采样和合并附加子帧的时间而改善。

  一个实施例可以包括下采样阶段。其中,在云中将原始输入图像110下采样到第一子帧120、第二子帧122、第三子帧124和第四子帧126中。

  原始输入图像110具有M × N的尺寸,并且每个子帧具有M/2 × N/2的尺寸。重要的是,所描述的PST方法200不要求在第一子帧120进行进一步处理之前生成所有的子帧。

  实际上,只要根据第一采样模式对第一子帧120进行下采样,就可以在服务器对第一子帧120进行编码。

  在一个实施例中,第一子帧120编码为i帧130,然后立即传输到客户端设备。一旦在客户端设备接收到i帧130,则将其解码以重新创建第一子帧120。接下来,可以在客户端设备将第一子帧上采样为上采样帧150。然后,与第一子帧120相对应的上采样帧150可立即在客户端设备的设备显示器上作为输出帧160使用或显示,或以其他方式使用。

  这种PST技术允许在任何其他子帧生成、编码、传输或上采样之前快速使用低分辨率纹理图谱。这允许在客户端设备上从低分辨率纹理集快速生成视频帧,从而在视频环境中实现低延迟。

  特别是,传输不包含原始输入图像110的所有像素信息的帧可能有利于减少诸如处理资源、网络带宽或热容量等资源的初始支出,从而改善所涉及的一台或多台服务器或客户端计算机的功能。

  在一个实施例中,根据与第一采样模式不同的第二采样模式在云中生成第二子帧122。由第二采样模式指定的像素和由第一采样模式指定的像素互斥。仅举例来说,图1中所描述的技术可用于创建第二采样模式。

  在一个实施例中,第二子帧122在云中编码为p帧140并传输到客户端设备,其中使用i帧130对其进行解码以再现第二子帧122。一旦第二子帧122在客户端设备复制,PST方法200就可以以几种不同的方式进行。

  在一个实施例中,一旦在客户端设备再现了第二子帧122,则可以对其进行上采样以创建与第二子帧122对应的上采样帧150。然后可以将对应于第二子帧122的上采样帧150与对应于第一子帧120的上采样帧150组合或合并,从而创建用于在客户端设备上显示或使用的第二输出帧160。

  由于第二输出帧160是使用第一子帧120和第二子帧122的像素信息生成,因此第二输出帧160可能比在较早时间显示的第一输出帧160具有更高的质量,并且因此利用了更多的原始输入帧110的像素信息。在一个实施例中,第二输出帧160随后可在客户端设备上显示或以其他方式使用。

  在一个实施例中,一旦在客户端设备上再现了第二子帧122,则可以将其与在客户端设备上再现的第一子帧120组合或合并,以创建下采样的组合帧。然后可以对下采样组合帧进行上采样以创建第二输出帧160,以便在客户端设备上显示或使用。

  由于第二输出帧160是使用第一子帧120和第二子帧122的像素信息生成的,因此该第二输出帧160可以比在较早时间显示或使用的第一输出帧160具有更高的质量,并且因此利用了更多的原始输入帧110的像素信息。在一个实施例中,第二输出帧160随后可在客户端设备上显示或使用。

  在各种实施例中,下采样图像可以通过实现像素复制、最近邻、双线性插值、双三次插值或其他方法之一的编程过程在客户端设备上进行上采样。

  如上所述,通过解码i帧130和一个或多个p帧140在客户端设备上复制的次采样图像可以在客户端计算设备上合并,然后使用上述方法之一对其进行上采样,以创建用于在客户端设备上显示或使用的输出帧160。

  在其他实施例中,可使用一种或多种方法对下采样图像进行上采样,以创建多个上采样帧150,然后将其合并或组合以创建用于在客户端设备上显示或使用的输出帧160。

  一旦在客户端设备显示或使用第二输出帧160,方法200可以通过以类似的方式合并第三采样帧124来在客户端设备上产生和显示第三输出帧160。第三输出帧160可以具有比第二输出帧160更高的质量。

  值得注意的是,第三子帧124、第四子帧126等不需要按顺序编码和传输。这种处理可以代替并行地进行,因为在一个实施例中,所有p帧140可以相对于i帧130进行编码。

  Meta指出,这种图像并行处理技术是一种创新的技术解决方案。使用硬件加速器特别有效,因为硬件加速器专为视频情景设计,具有并行执行操作的强大能力。

  图3示出用于图像数据的渐进下采样传输(PST)的计算机实现方法。

  计算机实现方法300可以从步骤310开始,其中源计算机可以通过根据第一采样模式对输入图像进行采样来生成第一下采样帧。

  在步骤320中,源计算机可以通过对第一下采样帧进行编码来生成第一编码的下采样帧。

  在步骤330,源计算机可以将第一编码的下采样帧传输到接收设备,以使接收设备显示或以其他方式使用通过解码和上采样第一编码的下采样帧生成的第一输出帧。

  在步骤340,源计算机可以通过根据第二采样模式对输入图像进行采样来生成第二下采样帧。

  在步骤350,源计算机可以通过对第二下采样帧进行编码来生成第二编码的下采样帧。

  在步骤360,源计算机可以将第二编码的下采样帧发送到接收设备,以使接收设备显示或以其他方式使用基于第一编码的下采样帧和第二编码的下采样帧并根据第一采样模式和第二采样模式生成的第二输出帧。

  特定实施例可以重复图3所示方法的一个或多个步骤。

  名为“Progressive transmission of detailed image data via video compression of successive subsampled frames”的专利申请最初在2022年1月提交,并在日前由美国专利商标局公布。

+1

来源:映维网

延展资讯