在本系列前面的帖子中,我们连续梳理了Netflix、YouTube、Beamr、EuclidIQ、Bitmovin、Harmonic、V-Nova及Cisco在CAE(Content Aware Encoding) for ABR方面的一些进展,本文将简要介绍一下编码优化领域的另一位成员—MediaMelon在这方面的技术动态。
本文所要介绍的视频编码技术公司,MediaMelon,总部位于旧金山。它在CAE领域的解决方案,QBR(Quality Bit Rate)技术,通过快速的场景分析、感知质量映射以及缓冲管理等技术可以实现高质量的实时流媒体服务,能够有效降低ABR Streaming的带宽成本,显著改善解码视频的视觉质量,减少视频播放期间的缓冲时间和次数。MediaMelon的QBR技术简单来说就是服务端的per-title码流传输机制。在本系列刚开始的帖子中我们介绍过Netflix的per-title encoding,per-title encoding就是在编码前对源视频文件进行分析预处理以确定最优的bitrate ladder,即分辨率和码率组合。而QBR相当于per-title encoding的后处理,即对per-title码流在分发传输前进行分析处理,使得最终传输的码流片段在码率尽量低的情况下具有最佳的视觉质量。下面将简要介绍QBR技术的大体情况(尚未获得技术细节资料)。
据官网资料介绍,MediaMelon QBR技术具有如下特点:
1. 节省带宽
QBR将视觉质量分析算法与自适应流媒体算法有机结合,以便在简单场景和复杂场景之间更加高效地进行比特分配,而且仅在需要时才使用较高的比特率。在不影响原有观看体验的情况下,MediaMelon宣称可使流媒体的带宽传输成本降低高达35%。
2. 改善视觉质量
QBR中的自适应码率算法将简单场景节省的码率用以改善复杂场景的视觉质量。在播放端,QBR通过获得的内容感知相关信息以及缓冲预测算法,能够减少缓冲时间和次数,提高解码视频整体的视觉质量和用户QoE。
3. 易于集成
使用QBR不需要复杂的系统升级。QBR能够直接利用已有的编码器和播放器,通过添加新的SDK和元数据就能对现有的流媒体应用框架和系统进行升级,进而优化ABR Streaming性能。
4. 标准兼容
QBR能在现有的流媒体传输协议(如MPEG-DASH、HLS以及Smooth Streaming)框架下兼容H.264以及最新的HEVC等主流视频编码标准。
5. 应用广泛
QBR能够在服务端或播放端分别对码流进行优化处理,增强了适用性。以下是两种常见的应用场景:
- Video on Demand
如图1所示,在编码端,QBR对编码的视频流进行分析产生Smart Data,随后与码流一同传输到用户终端。在解码端,QBR利用这些数据指导播放器选择更合适的码流,帮助播放器更好地规划和使用缓冲区,并对码流进行视觉质量优化,有效改善用户的观看体验。
图1 使用QBR技术的VOD应用框架
- Live TV
如图2所示,在编码端,QBR直接对编码后的码流做后处理操作,以提高视频直播的带宽传输性能。
图2 使用QBR技术的Live TV应用框架
如上所述,QBR技术同时适用于VOD和实时直播应用,并且有多种集成模式。图3所示的是一种典型的QBR应用系统。具体而言,首先在服务端添加QBR插件SDK,然后用QBR分析每个编码后的视频文件,并基于视觉内容复杂度创建每个视频流的metadata。同样,在解码端通过SDK的形式将QBR功能集成到播放器中。在视频播放期间,播放器首先请求metadata文件,然后将其解析并集成到播放决策树中。而播放决策树则会根据当前的带宽状况,指导播放器请求对应质量等级的视频流。通过与播放器进行交互,QBR能跟踪并监控整体的性能数据。
图3 常见的QBR应用系统
图4给出了QBR在播放端的应用示意图。其中,左下角为当前码流的场景复杂度随时间变化图,右上角(或图5)为典型的ABR策略播放器依据带宽状况请求码流的示意图,可以看出码流大部分为Medium码率级的码流,播放器并没有根据场景复杂度做出适应性调整。而采用QBR技术的播放器能够根据复杂度变化进行内容自适应调整,如右下角所示,因而整体的带宽性能以及视觉质量更佳。
QBR有两种应用模式 : bitrate和quality,在将QBR SDK集成到播放器后可以进行选择控制。在bitrate模式下,如图4 QBR(a)所示,QBR会在给定带宽下最大限度地提供可接受的视觉质量同时降低带宽的消耗。在简单场景下使用低码率的码流,但在场景复杂度更高时并没有切换到High级别的码流。与传统ABR算法相比,QBR的bitrate模式自适应性增强,能有效节省带宽成本。在quality模式下,如图4 QBR(b)(或图6)所示,播放端在降低码率消耗的同时使得码流的质量最佳。具体来看,QBR既降低了简单场景的码率,又为高复杂度的视频场景选择了较高码率的码流,因此码流整体的视觉质量更高。(注:图4所示的QBR SDK仅能在同一分辨率下选择不同码率的码流,如果有不同分辨率版本的码流:360p,720p和1080p,这项技术将无法正常工作。目前,多分辨率切换处于Beta测试阶段。)
图4 QBR在播放端的应用示意图
图5 传统ABR工作示例
图6 QBR工作示例
下面给出MediaMelon QBR相关测试。测试的关注点在于:QBR是否能有效节省带宽,以及简单场景的码流节省的码率是否会转移到复杂场景。为了便于后续QBR测试,测试前准备了类似如下bitrate ladder:360p@(500/900/1300)Kbps,720p@(1.8/2.6)Mbps,1080p@(4.3/5.7/8.1)Mbps。
- Best Case-Bandwidth Savings
该测试使用的是一个时长2分钟的简单谈话场景片段(1080p),测试QBR是否在比较理想的环境下节省带宽。MediaMelon提供的测试界面如图7所示,可以看到,与ABR default模式相比,QBR在quality模式下获取的码流大小为62.24MB,比ABR default模式117.56MB节省了47.06%。在下方的码率时间曲线中,黄色表示ABR,蓝色表示QBR,QBR所用的码率明显低于ABR模式。由于该视频场景较为简单,码率整体较为平稳。
图7 Best Case测试
另外,使用限流工具Charles Web Debugging Proxy测试并记录在不同带宽条件下请求的码流片段,部分测试结果如表1所示。在15Mbps带宽下,ABR主要请求的是1080p@8.1Mbps片段,而QBR两种模式主要请求的是1080p@4.3Mbps片段。QBR在两种模式下的码率节省均达到了40%多。由于两种模式的结果近似一样,因此在4Mbps带宽下只测试了quality模式。在4Mbps带宽下,ABR主要请求的是720p@2.6Mbps片段,而QBR quality模式主要请求的是720p@1.8Mbps片段,QBR的码率节省达到了29%。此外,VMAF的计算结果显示,8.1Mbps码流的VMAF值为97.09,4.3Mbps码流的VMAF值为96.07,2.6Mbps码流的VMAF值为91.66,1.8Mbps码流的VMAF值为90.88。由于VMAF值相差6以上才会出现可察觉的图像差异,因此ABR和QBR所请求的码流质量基本相同。
表1 使用Charles Proxy的测试结果(Talking Head)
- Worst Case-Bandwidth Savings
该测试选取了场景复杂度较高的电影Zoolander片段,时长为5分钟,测试结果如表2所示。在15Mbps带宽下,QBR在两种模式下的码率节省均达到了18%左右。而在5Mbps带宽下,QBR与ABR的码流大小基本持平。另外,可以看到QBR根据场景复杂度的变化频繁地切换所需要的码流,这样可以保证码流整体质量的平稳一致。
表2 使用Charles Proxy的测试结果(Zoolander)
下面的测试主要关注QBR是否会为高复杂度的场景使用高于平均水平的码率(uplift)。图8给出了MediaMelon测试结果的截图,可以看到在4Mbps带宽下,QBR为高复杂度场景使用的码率相比平均码率增加了24.84%,码率波动较为明显。
图8 MediaMelon测试结果
另外,使用一段由时长30秒的talking head(低复杂度)和时长30秒的ballet(高复杂度)前后组成的混合序列进行测试,测试结果如表3所示。在15Mbps带宽下,QBR相比ABR有38.8%的带宽节省。其中,talking head片段的码率为4.3Mbps,ballet片段的码率为5.7Mbps,由于带宽充足,没有出现uplift。而在ABR中,码率均为8.1Mbps。在4Mbps带宽下,QBR的talking head片段的码率为1.8Mbps,ballet片段的码率为2.6Mbps,而ABR均为1.8Mbps,使得QBR的码率比ABR高出20%左右,此时仍然没有出现uplift。但仔细观察MediaMelon(图8)和之前测试准备的bitrate ladder,MediaMelon给出的都是720p@(0.5-3.8)Mbps,而之前测试使用的是更传统的bitrate ladder,在720p只有1.8和2.6Mbps两个配置,因此提供给QBR的选择太少限制了它的发挥。(注:QBR目前只工作在同一分辨率)
表3 使用Charles Proxy的测试结果(混合序列)