前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >进入空间计算时代,腾讯云MPS率先支持空间视频

进入空间计算时代,腾讯云MPS率先支持空间视频

作者头像
腾讯云音视频
发布2024-02-05 11:27:18
4290
发布2024-02-05 11:27:18
举报
文章被收录于专栏:音视频咖
Apple公司于2023年6月5日发布了首款空间计算设备Vision Pro ,已经在24年1月大规模预发售,它也将数字内容无缝融入了真实世界。Vision Pro 可以打造无边际画布,通过空间音频搭配超大屏幕,突破传统显示屏的限制,为用户带来全新的 3D 交互体验,引领行业进入空间计算时代。

图1:Apple VisionPro

为了实现卓越的空间视频效果,空间视频采用了MV-HEVC(Multiview HighEfficiency Video Coding)视频编码标准,传输方案选择了标准的fMP4 in HLS。为了满足潜在的客户对空间视频的需求,腾讯云MPS也迅速打通了从MV-HEVC编码、ISOBMFF(ISO Base Media File Format)容器封装到HLS分发至Vision Pro上播放的完整链路。下面就让我们一起看下腾讯云MPS是如何支持空间视频的。

MV-HEVC编码

目前常用的3D视频内容,大都基于左右视点图像的编码、传输和显示来完成,一般左视点被称为主视角,右视点被称为辅助视角。业界的通常做法是将3D视频以SBS(side by side)的形式,把左右两个视点合并到一帧画面中,再将合并后的序列进行编码,如下图2所示。该方案的不足在于无法利用不同视点间的信息,因此无法消除不同视点之间的冗余信息。

图2:SBS形式的3D视频

针对3D视频尤其是多视点拼接3D视频的特性,JCT-3V标准专家组在2014年发表了适用于3D多视点视频编码的HEVC编码标准扩展:MV-HEVC。该扩展标准通过在NALU Header中引入了新的语法元素:LayerId,通过不同的LayerId来区分不同的视点。LayerId为0的是主视角,也被称为Base Layer,LayerId大于0的为辅助视角,也被称为Secondary Stereo Layer。MV-HEVC标准也在编码过程中引入了Layer间参考模式,从而可以有效消除不同视点间的冗余信息,提升编码效率。同时该标准也对参数集(VPS/SPS/PPS)进行了语法扩展,不同的Layer有着自己的参数集信息。

图3:SBS编码与MV-HEVC编码示意

图4:MV-HEVC视点间预测(Inter Layer模式)

实际上对于空间媒体处理中的空间视频处理、MV-HEVC等编码能力,腾讯布局比较早,早在Vision Pro发布之前,腾讯就已经完成了对MV-HEVC编码的支持以帮助压缩3D视频,平均压缩收益能超20%。

ISOBMFF容器封装扩展

除去编码技术上的支持,容器格式和传输协议也需要更好的升级以满足空间视频的分发支持。空间视频的容器封装方案,基于ISOBMFF标准,对MV-HEVC的支持进行了扩展。下面介绍下核心技术要点。

普通ISOBMFF视频使用Sample Description Box存储解码器参数信息,比如HEVC流就是HEVC Decoder Configuration Record。而在空间视频场景下,我们不仅需要存储主视角的参数信息,还需要辅助视角的参数信息。因此标准新增了存储辅助视角参数信息的L-HEVC Decoder Configuration Record,具体结构如下:

代码语言:javascript
复制
aligned(8) class LHEVCDecoderConfigurationRecord {
    unsigned int(8) configurationVersion = 1;
    bit(4) reserved = ‘1111’b;
    unsigned int(12) min_spatial_segmentation_idc;
    bit(6) reserved = ‘111111’b;
    unsigned int(2) parallelismType;
    bit(2) reserved = ‘11’b;
    bit(3) numTemporalLayers;
    bit(1) temporalIdNested;
    unsigned int(2) lengthSizeMinusOne;
    unsigned int(8) numOfArrays;
    for (j=0; j < numOfArrays; j++) {
        unsigned bit(1) array_completeness;
        bit(1) reserved = 0;
        unsigned int(6) NAL_unit_type;
        unsigned int(16) numNalus;
        for (i=0; i< numNalus; i++) {
            unsigned int(16) nalUnitLength;
            bit(8*nalUnitLength) nalUnit;
        }
    }
}

为了表示当前HEVC流为MV-HEVC,相比普通HEVC视频,HEVC Decoder Configuration Record会多加入一个名为three_dimensional_reference_displays_info的SEI信息,该SEI主要用于保存MV-HEVC左右视角ID等信息。

除了参数信息,扩展标准还在Sample Description Box写入一个名为VideoExtendedUsage的Box,具体结构见下表1。该Box核心成员是StereoViewInformation Box,一个表示是否存在左视角和右视角的Box,在空间视频场景下二者都是存在的。

表1 VideoExtendedUsageBox结构

以上是参数信息层面,标准还规定左右视点的NALU( Network Abstraction Layer Unit )必须放在一起作为一帧数据,也就是说拥有相同的PTS(展示时间戳)和DTS(解码时间戳)。

通过以上技术要点,完成了对MV-HEVC的容器封装支持,同时输出的ISOBMFF视频拥有后向兼容性,即对于不支持MV-HEVC的播放器可以只解析、解码、渲染Base Layer数据,以2D方式显示;而支持了MV-HEVC的播放器可以同时解析、解码、渲染Base Layer和Secondary Stereo Layer数据,提供更为真实优异的3D体验。

HLS分发支持

HLS协议是历史悠久的基于HTTP的自适应码流传输协议,已经被广泛用于视频直播和点播领域。为了支持分发空间视频,在现有HLS标准的基础之上也引入了支持空间视频的特性,具体如下:

1. EXT-X-VERSION为12;

2. Multivariant Playlist中的EXT-X-STREAM-INF新增一个字段:REQ-VIDEO-LAYOUT,当码流为MV-HEVC的时候该字段设置为:REQ-VIDEO-LAYOUT="CH-STEREO";当为普通HEVC流时,该字段无需出现。

腾讯云媒体处理(Media Processing Service,MPS)针对海量多媒体数据,提供了云端转码和音视频处理服务。可以按需将云存储中的视频文件转码为适合在 OTT、PC 或移动端播放的格式,满足在各类平台将视频文件转为不同码率和分辨率的需求。此外,也提供了叠加水印、视频截图、智能封面、智能编辑等媒体处理服务。对于以MV-HEVC为代表的空间视频技术,目前已经支持其私有化部署,公有云方案也即将上线。

想要进一步了解或使用腾讯云媒体处理相关能力,欢迎扫描下方二维码添加音视频小姐姐微信,我们将安排产研同学专门跟进您的需求。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-02-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯云音视频 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
媒体处理
媒体处理(Media Processing Service,MPS)是智能、强大、全面的多媒体数据处理服务,行业支持最全面的音视频编码标准,基于自研编码内核和AI算法,提供音视频转码和增强、媒体智能、质检评测等能力,帮助您提升媒体质量、降低成本,满足各类场景的音视频处理需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档