(XR导航网 2024年07月22日)影音串流正在成为一种越来越流行的通信形式。这种技术形式包含多种模式,例如个人通过社交媒体平台向一个或多个接收者发送流媒体,这通常是直播,但也包括影音录制广播。
随着VR技术的兴起和普及,为头显提供相关的影音串流方法变得十分必要。索尼在名为“Virtual reality streaming system and method”的专利申请中,介绍了一种将视场大于头显视场的摄影头的画面流式传输到头显的VR串流方法。
该方法的一个实施例是使用摄像头捕获宽视场图像,并至少捕获摄像头的方位信息作为extrinsic摄像头参数,并将连续图像以及相应的外部摄像头参数进行流式传输。
同时,接收端接收由摄像头捕获的连续宽视场图像和摄像头的至少对应的方位信息,并接收具有比宽视场图像小的视场的头显的至少方位的指示。然后,将接收到的图像中的相应的预定主要感兴趣区域与至少对应于头显的预定方位的视点对准,并至少基于接收到的摄像头的方位信息和头显的指示方位在头显显示结果。
图1中的系统展示了用于图像捕获(例如摄像头140)和图像显示(例如头显120)的设备,该系统可以支持双向视频聊天。当然,对于单向直播流或类似的直播或录制广播,流源只需要图像捕获,而接收者只需要图像显示。
图2进一步展示了摄像头和头显之间的通信。宽视场摄像头140捕获宽视场图像,其中宽视场可以定义为比随后显示给接收方视场更宽的视场。
在一个实施例中,图2所示的宽视场摄像头可以具有两个180度鱼眼镜头以提供360度视场。此外,可以使用机器学习从单眼图像生成立体图像。可选地,为了利用更多信息,机器学习模型的输入可以包含一个或多个较早的帧。
无论如何,视场图像,无论是单个捕获的图像还是来自多个摄像头的合成图像,都由宽视场摄像头捕获。这个图像可以是单像的,或可以是立体的。宽视场摄像头同时可以包括用于捕获音频的麦克风。
视频和可选的音频随后由VR串流系统10A接收。通过网络将视频流式传输到接收方的VR串流系统10B,接收方1B将获得一个宽视场的图像,并可以使用头显120B环顾四周。
然而,这种安排存在一些问题。首先,视场越宽,传输带宽越大。如果不知道接收用户随后在接收图像中查看的位置,则可能难以有效地进行编码。其次,对于特定直播流,摄像头可能是便携式设备。所以,与一般的固定直播流不同,传输用户的运动可能导致VR用户感到恶心。
索尼的发明旨在解决这些问题。
图3更详细地展示了宽视场摄像头140。所述宽视场摄像头包括状态监视器146。在描述的实施例中,状态监视器包括惯性测量单元“IMU”,例如一个或多个加速度计。除了加速度计之外,还可以使用一个或多个陀螺仪。这样,可以在使用过程中测量宽视场摄像头的位置和方向。
所述状态监视器还可以包括与所述宽视场摄像头有关的数据,例如描述摄像头如何将真实场景映射到捕获图像的变换和畸变数据。因此,可以与摄像头图像同时捕获两个extrinsic参数,并可选地与内在参数一起提供给发送VR串流系统10A。
通常情况下,intrinsic参数是恒定的。extrinsic参数可能是可变的,特别是如果宽视场摄像头是手持的,或安装在车辆上。所以,VR串流系统10A至少接收一次intrinsic参数,并且如果任何参数发生变化,则可以选择性地再次接收它们。
同时,VR串流系统10A接收与当前捕获的图像相对应的extrinsic参数。对于多个摄像头,每个摄像头的extrinsic参数可能不同。状态监视器的惯性测量单元可以与宽视场摄像头内的每个摄像头具有已知的物理关系,从而计算每个摄像头的有效extrinsic参数。此外,为了减少宽视场摄像头的计算负担,相关物理关系可以由摄像头本身或作为相关驱动软件包的一部分提供给传输VR串流系统10A,然后串流系统本身可以根据IMU捕获的extrinsic参数计算每个摄像头的有效extrinsic参数。
然后,VR串流系统10A对图像数据、extrinsic数据和任选的intrinsic数据进行格式化。通常情况下,VR串流系统将图像数据格式化为用于流媒体的单个图像。在这种情况下,“单个图像”可以是单个单镜图像或单个立体图像对,视情况而定。
其中图像是来自多个摄像头的合成图像,任何重叠区域可用于将图像拼接在一起形成合成图像,并可选择使用平均或混合方案从一个摄像头的像素数据过渡到另一个摄像头的像素数据。这可以帮助消除摄像头之间在照明或色彩平衡方面的任何可见的不连续。
VR串流系统可以通过考虑一个或多个因素来压缩图像数据。首先,系统可能会假设宽视场摄像头的正面摄像头是主摄像头,并且摄像头的中心区域是主要感兴趣区域。更一般地说,可以假设在捕获的图像中有一个预期的感兴趣区域,并在压缩期间应该给予优先处理,即保持最高质量。然后,VR串流系统可以使用更宽视场摄像头的intrinsic属性来确定当查看主要感兴趣区域时,扭曲图像中的像素将如何映射到接收方头显内的视图。接下来,图像的压缩可以选择性地遵循类似于注视点图像压缩的压缩方案。对于图像的其他部分,它们可以压缩到更高的程度。压缩量由传输期间的可用带宽或主机服务设置的带宽限制决定。当使用基于假定的主要感兴趣区域的注视点图像压缩方案时,要么可以扩展主要感兴趣区域以耗尽带宽限制,要么可以增加主要感兴趣区域周围区域的压缩图像质量,和/或可以减少主要感兴趣区域外压缩图像质量的下降率,以达到带宽限制。
参考图4说明了两种压缩方法。对于360度合成图像,假设主要感兴趣的区域集中在0度的前摄像头,由以该位置为中心的最高图像质量的平面区域表示。随后,图像质量在该区域的任何一侧下降。
一旦图像根据串流方案压缩并可选地响应一个或多个压缩因子,VR串流系统10A可以将所述或每个图像作为流的一部分传输。通过这种方式,接收系统可以访问图像数据以及宽视场摄像头的位置和方向。
接收系统10B接收流作为一对一直播或一对多广播的一部分或作为来自流主机的录制流的一部分。接收系统同时从头显接收指示其方向和可选位置的信息,以将其作为用户当前观看方向的代理。接收系统还可以为用户建立假定的休息和面向前方的位置和方向,并将其认定为用户的默认视点。例如,这可以建立为用户使用的所有位置中的平均位置或与用户的小运动相关的所有位置中的平均位置,和/或可以是用户在最长时间内保持基本静止的位置。
然后,接收系统可以选择性地旋转接收流或头显的位置/方向坐标,以使用户舒适的正面视点的中心与接收流内容的主要感兴趣区域的中心对齐。因此,即使发送用户在原始传输图像中处于偏离中心的位置,当观看舒适时,它们现在将直接显示给接收用户。
无论如何,接收系统可以任选地仅从接收的图像中提取填充显示设备的视场所需的图像部分。典型的头显视场为90至110度,所以只需要提取捕获图像的一小部分以显示到头显。通过这种方式,通常接收用户可以自动以感兴趣的主要区域为中心查看头显的内容,然后通过移动头部来改变头显的视场来浏览宽视场摄像头允许的场景。可选的是,如果宽视场摄像头不是360度摄像头,则如果用户转动头部的程度使得头显的视场移动到宽视场摄像头的视场之外,则缺失的区域将被填充,例如用黑色空间填充,以便用户意识到他们已经移动到可用的视场之外。
可选地,接收系统可以从流中提取intrinsic信息。intrinsic信息将协助VR串流系统将图像映射到头显,而图像内的任何失真都可以被纠正。如果广角视场摄像头是已知的,则流中可能不需要intrinsic信息,因为接收系统可能已经拥有所述信息。相反,如果广角视场摄像头是未知的,或者如果它能够改变intrinsic参数,如焦点或视场,则信息可能包含在流中,并由接收系统访问。
如前所述,对于特定直播流,摄像头可能是便携式的,而传输动作可能导致随后的VR用户恶心。因此,接收系统可以使用extrinsic数据来计算宽视场摄像头的运动,并在选择接收图像的子集以在头显的视场内显示时对其进行补偿。换句话说,当摄像头上下和/或左右移动时,头显的视点修改为上下和/或左右移动,以抵消摄像头的明显运动,从而稳定视点。请理解,移除所有运动是不可取的。阈值频率最好与行走相关的频率相对应,即高于1.5 Hz至2 Hz之间的值。任选地,发送系统本身可以以类似于上述用于接收系统的方式操作,以从图像中去除此类运动。通过这种方式,由于头显与传输图像区域对齐,所以图像将变得稳定,无需进行任何额外的图像处理。
图5展示了具体的方法流程。
在510中,使用摄像头捕获具有比随后显示给接收方视场更宽视场的宽视场图像。
在520中,捕获作为extrinsic参数的摄像头方向信息。
在530中,流式传输连续图像以及相应的extrinsic参数。
名为“Virtual reality streaming system and method”的索尼专利申请最初在2023年11月提交,并在日前由美国专利商标局公布。