闲梦江南梅熟日,夜船吹笛雨萧萧,人语驿边桥。梦里不知身是客,人们在互道晚安时,不忘加一句好梦。VR 虚拟现实技术,意图是带给用户梦境般身临其境的感觉。怀着忐忑激动的心情,兴致冲冲的购买了一套 VR 设备,却在用过几次后扔到角落吃灰,相信不少童鞋有过类似经历。看不清楚,像隔了一层纱?画面模糊,一点也不清晰?视频画面品质不够真实,成为虚拟现实走向造梦空间的最大阻碍。
在爱奇艺有一群追逐梦想的”工匠”,致力于为用户提供身临其境的观影体验,不断创新,反复打磨,利用技术不断加持,在 8K VR 直播方案上做了很多优化,实现了码率降低 75%,端到端挥手延迟降低到 3 秒,移动画面延迟降低到 0 秒,领跑行业的解决方案。
随着 5G 技术的发展,VR 直播将是一个重点的应用项目,5G 价值在于高带宽和低延迟,采用创新“采编播”技术架构,利用 4K/8K 全景拍摄技术构建直播现场影像。通过 5G-CPE 环境实现数据快速传输同步,利用爱奇艺云提供计算能力完成视频编辑转码,最终通过爱奇艺 VR 一体机实现 4K/8K 全景直播。将为用户提供更加沉浸,码率更高的观影体验。
VR 视频多数都是球形模型,观看的时候视野只能看到球形上的局部区域,视野能覆盖的区域取决于 FOV 大小与视野的纵横比,以常见水平方向 90 度视野纵横比 1:1 为例: 当头部不转动,目视正前方,视野中的区域只有整个 VR 视频的 1/8,水平方向 1/4,竖直方向 1/2;最坏的情况下,转动头部方向正对极点,视野中的区域为整个视频区域的 1/4。
8K、12K、16K 分辨率的必要性
VR 设备为了呈现最优显示效果,视野区域能覆盖的像素越高越好,以常见 4K 分辨率视频源为例,视野中只有 1K 左右分辨率的区域,这个 1K 左右的图片呈现出来只能达到普通视频的 720P 效果;为了达到普通视频 1080P 效果,VR 视频源至少需要 8K 分辨率; 考虑到目前 2K、3K 屏成为 VR 设备的标配,对超大分辨率的 VR 视频源需求越来越强烈。
整体流程
爱奇艺 8K 直播整体流程可分为现场采集推流、云端编码、CDN 传输、终端播放 4 个环节。
现场采集推流指技术团队通过 8K 摄像机采集会场 360 度全景信号,编码为码率 80Mbps 的 8K H.265 直播信号,回传到直播云编码服务器。
云端编码对 8K 全景直播信号进行前处理和编码,生产适合传输和终端播放的编码格式。
然后直播云 CDN 传输将已经编码的直播流进行分发到用户最近的边缘服务器。
最后在终端进行 VR 全景直播流的下载解码渲染播放。
8K 分辨率高达 7680x3840,是 1080P 的 16 倍,码率是 60Mbps 到 120Mbps 左右,这对直播从采集到播放的直播链路各环节,都是一次挑战。
技术挑战
首先是码率高,直播流需要从网络下载,码率越高直播视频加载的时间就越长,用户等待的时间就越长,卡顿也会越多。
第二是有效传输利用率低,全景信号拼接使用等距投影,相当于把球体地球仪球面上的点,展开为一幅矩形世界地图。在 VR 设备中,用户看到的图像仅仅是全景视频画面的一个小部分,即使用户没有转动视角,那些视角外的大量图像像素也会被编码传输到终端播放设备,这是极大的浪费。另外,现在主流芯片解码能力还是 4K,更加需要针对 VR 视频设计一套性价比高的涵盖编码、传输、解码的端到端技术方案。
第三是传输延迟大,这和码率高有直接关系。只有在用户头部转动时,零延时切换视野内的画面,才能让用户切身体会到 VR 虚拟现实的空间沉浸感,这就对 8K VR 直播低时延有极高的要求。在降低码率的同时,我们也使用了一些额外技术来降低这类延迟。
解决方案
整体技术方案如下图所示,使用该方案后,码率降低 75%,端到端挥手延迟降低到 3 秒,移动画面延迟降低到 0 毫秒。
使用 VR 设备观看图像时,只会看到一个小矩形的区域。当头部转动时,会移动到另一个尺寸相同的矩形区域。这个矩形区域称为视野(FOV, field-of-view)。视野内的图像画面,我们称为 ROI(region-of-interest)。ROI 决定了用户能体验到的画面品质,ROI 区域外的图像由于用户看不到从而不会带来任何收益。
因此我们在直播编码器前处理环节将完整全景画面分割成 N * N 个子画面(如图示),例如分辨率是 7680x3840 的全景视频画面,切割成 4*4=16 个子画面,每个子画面分辨率 1920x960。用户使用 VR 设备播放的时候,只传输 ROI 的画面,终端也只解码 ROI 的画面。
如下图,16 个子画面是 tile0,tile1,…,tile15,ROI 是{tile0,tile1,tile2,tile4,tile5,tile6,tile8,tile9,tile10},终端只会下载 ROI 对应的码流。
头部转动时画面的延迟称为移动画面延迟(Motion-To-Photon Latency)。头部转动时 ROI 变化,终端缓存的 buffer 不再有效,移动画面延迟对应重新下载新 ROI 下的 buffer 的耗时。通过同时生产一路将完整全景画面缩小后的低质量画面,移动画面延迟优化为 0ms 没有延时。在网络下行差或者网络抖动的时候,播放低质量画面兜底,而一旦高质量 ROI 下载完成,便会优先呈现,保证直播画面清晰度和流畅度。
N * N+1 路画面之间用 PTS 严格同步,为了加快处理速度,直播云开发的并行处理程序能满足 8K60 帧视频的实时分割、编码。解码、画面前处理、编码全部使用硬件加速,每个模块间通过纹理内存传递,无需置换到内存成本,达到单机同时运行 17 路 1080p H.265 编码并发或者 65 路 540p H.265 编码并发。N*N+1 路码流除了 PTS 严格同步,关闭场景检测来严格对齐 I 帧,使用 Closed GOP、1s GOP size 来降低直播延时。
经过编码后的 8K 码流,总码率是 30Mbps 左右,通过直播云就近多点直播树回源、预推,快速分发到终端。由于用户在观看过程中随时可能转动视角,为了降低延时,我们设计了分块同源技术,保障终端设备在播放过程中只需从就近一台 CDN 边缘节点下载数据,极大降低终端设备与 CDN 间建立连接的次数。
目前,爱奇艺已完成多场大型活动 VR 直播项目,包括北京国际电影节、北京世界园艺博览会等。
未来爱奇艺也会在 VR 直播中提供支持环绕杜比全景声音的观赏体验,通过三维空间音效将用户更好的融入到直播现场中。
评论