7.2 全景视频编码支持


7.2 全景视频编码支持

本节摘要:VR与全景视频的难点不在"内容是球面的",而在"球面必须摊平成矩形才能进编码器"。等距柱状投影(ERP)在两极严重过采样,赤道附近又被拉伸,标准编码器对此一无所知。VVC给出的支持分三层:环绕运动补偿处理跨界运动、投影感知的质量分配处理几何失真、子图视口传输处理带宽。本节算清这笔几何账。

第7章第二站。屏幕内容(7.1)做的是减法艺术,全景视频做的是适配艺术——让为平面视频设计的工具箱理解球面。

ERP投影:先算几何账

全景相机采集的球面内容,主流做法用**等距柱状投影(Equirectangular Projection,ERP)**摊平:经度对应横轴、纬度对应纵轴,一张世界地图式的矩形帧。问题随之而来:

  • 两极过采样:经线在极点汇聚,但ERP里每一行都是等宽的——极点附近一小块球面区域被拉成超宽的一行,像素大量冗余;
  • 赤道拉伸:人眼最常注视的赤道带(也是内容主体)在球面上占比最大的区域,单位球面面积的像素反而被摊薄;
  • 水平边界割裂:矩形帧的左右边缘在球面上是同一条经线——一个物体从右边缘移出,应从左边缘进入。但标准编码器把左右边缘当作不相干的画面,物体跨界瞬间,帧间预测(第4章)完全失灵,只能靠残差硬编。

这笔账的结论:直接把ERP帧喂给普通编码器,码率预算被浪费在没人看的极区,而真正重要的赤道区欠粮

环绕运动补偿:缝合左右边界

**环绕运动补偿(Wrap-Around Motion Compensation)**解决跨界问题:当运动矢量指向的参考块超出帧的左/右边界时,解码端按帧宽度对坐标取回绕——参考像素从对侧边界内取。物体跨界运动重新可以被一个MV连续跟踪。

机制上这只是给运动补偿加了一条寻址规则(坐标模帧宽),成本近零,但只对ERP这类"水平闭环"的投影有意义——所以它按需启用,编码器在SPS里声明环绕参数(第8.1节参数集里能看到它的位置)。

环绕运动补偿:缝合左右边界

视口传输:带宽跟着视线走

全景视频的带宽悖论:观众任意时刻只看约六分之一的球面(当前视口),却要为整球传输买单。VVC的基础设施答案在第2.2节已经铺好——子图

  1. 编码端把ERP帧切成规整的子图网格,各子图独立编码;
  2. 播放端按用户头部姿态,请求高分辨率的"注视区子图流"加低分辨率的"周边流"(分层思路,第8章的码流切换与随机访问在此配合);
  3. 切换视口时子图流粒度的切换比整流切换轻得多,延迟可控。

这依赖SEI消息携带的投影元数据(投影类型、视口提示),播放端与编码端据此对齐几何理解。标准提供的是机制(子图+SEI+分层),策略(怎么切、几档分辨率)留给产品——又一个"菜单与点菜"的分层设计。

投影感知的编码策略

几何账的第三笔在编码器策略层(不在语法层):既然两极是冗余区,编码器可以:

  • 对极区行用更大的QP(省下的码率挪给赤道);
  • 或预处理阶段做降采样投影变体(如把极区按更密纬度折叠的紧凑投影);
  • 配合主观质量评估(第9.1节会强调PSNR在全景内容上的失真——均匀PSNR恰恰对应不均匀的主观质量,因为像素的球面权重不同)。

⚠️ 评估陷阱:全景视频的客观指标要用球面均匀采样的PSNR/加权版本(把矩形像素按球面面积加权),直接用平面PSNR会得出"极区画质很好"的假象——而那正是没人看的区域。做全景质量报告时这是第一道专业门槛。

部署形态全景:从采集到播放的完整链路

把零散机制拼成一条真实可跑的部署链路,全景视频的工程全貌才算看清。以一场VR演唱会直播为例(各环节均为业界公开做法的组合,细节随产品而异):

链路全景(示意流程): 采集端:多目相机阵列 → 拼接服务器合成球面 → ERP投影帧 编码端:ERP帧切子图网格(如 8x4)→ 分档编码: 注视区子图走高QP质量档 / 周边子图走低质量档 环绕运动补偿开启(声明在SPS) 投影元数据写入SEI(投影类型、朝向约定) 传输端:子图流按需分发(DASH类协议按视口拉流) 头部姿态回传 → 服务端/边缘预取相邻子图 播放端:按姿态合成当前视口(高分辨率注视区 + 低分辨率周边 + 过渡区平滑混合) 解码侧可用2.2节子图并行机制

这条链路上每一环都有产品级权衡,三处最关键:

其一,子图网格怎么切。切得太粗,视口跨格时整块切换、带宽抖动大;切得太细,子图边界冗余(相邻子图重叠编码)与切换开销上升。常见取舍在几十个子图的量级,且纵向切分要顺着ERP的纬度线——两极方向子图承担的球面面积小,可以合并成大块省语法。

其二,注视区预测要不要做。头部姿态有惯性,回传延迟几十毫秒,播放端可预测下一秒视口提前拉流;预测错的代价是周边区短暂模糊(可接受),而不是黑屏(不可接受)。预测深度 = 网络往返延迟 + 安全余量,这是带宽与体验的又一处跷跷板。

其三,质量指标怎么立。7.2节开头的球面加权PSNR要在验收口径里落实:把矩形像素按其球面面积加权(极区权重低、赤道权重高),否则编码器优化方向会被带偏——曾有团队按平面PSNR优化,结果把码率全灌进了极区,主观体验反而下降,这就是指标立错的直接代价。

两问两答

问:为什么不直接传高分辨率整球,让客户端自己裁视口?
能做,且实现简单——很多第一代产品就这么干。代价是带宽恒定按整球付(约为视口实际需求的数倍),4K以上码率的VR流在多数家庭带宽下跑不动。子图方案把带宽与视口挂钩,是高分辨率VR的唯一经济解,复杂度是必要成本。

问:环绕运动补偿对视口传输有帮助吗?
两者作用在不同层面:环绕补偿改善单流内部的预测效率(左右边界连续性),视口传输解决带宽分配。但它们有交集——当注视区恰好跨在ERP帧的左右边界上时(用户朝向"接缝"方向),环绕补偿让该区域的帧间预测照常工作,子图切换的过渡质量不受接缝拖累。

本节要点回顾

  • ERP三笔账:极区过采样浪费码率、赤道摊薄欠粮、左右边界割裂断帧间预测;
  • 环绕运动补偿:MV越界按帧宽回绕,跨界运动恢复连续,成本近零、按需启用;
  • 子图视口传输:带宽跟着视线走,子图+SEI+分层的组合拳,机制在标准、策略在产品;
  • 质量分配是策略层:QP向赤道倾斜等做法属编码器自由度,SEI携带投影元数据;
  • 评估必须球面加权:平面PSNR在全景内容上会给出系统性误导。

作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U