目录
- 引言
- JPEG XS:低复杂度,低延迟,高质量
- CDI — 云数字接口:云端未经压缩的视频/音频/元数据
- 结论
本次演讲主题为使用 JPEG XS 和 AWS CDI 的云端实时视频,主讲人为来自亚马逊云科技专门从事广播的首席解决方案架构师 Thomas Edwards。
引言
在英国有一个成语 “Horses For Courses”,主要意思是我们应当为客户具体的需求,选择合适的技术方案或者策略。所以有时候我们需要高压缩率,在由带宽限制的条件下,也许是直接面向消费者的视频,延迟也许并不重要。但是有时候可能需要未经过压缩或者轻微压缩的视频,来实现非常高的质量和非常低的延迟。因此我们需要根据实际需求进行衡量。
JPEG XS:低复杂度,低延迟,高质量
首先主讲人介绍了 JPEG XS,JPEG XS 作为一个低复杂度的编解码器,具有非常低的延迟,同时也能够提供非常高的质量。JPEG XS 由国际标准化组织(ISO)和国际电工委员会(IEC)的联合工作小组 JPEG 联合制定,并将 JPEG XS 标准化为 ISO/IEC 21122。
首先 JPEG XS 不是目前在互联网上通用的,使用离散余弦变换的 JPEG,也不是 JPEG 2000。和 JPEG 2000 相同点是 JPEG XS 也是一个小波编解码器。但是 JPEG 2000 编解码器的复杂度是非常之高的,目前 JPEG 2000 确实在高质量的视频压缩方面非常有效,但是他需要 FPGA 硬件支持来实现实时性。JPEG 2000 的软件实现在实时性方面并不实用。这个时候 JPEG XS 的提出是非常有意义的。
JPEG XS 的目标之一就是实现一个低计算复杂度的编解码器,满足在基于 Intel Core i7 硬件基础上实现 4K 60p 的实时性。使用 JPEG XS 需要支付一定的专利费,
当我们查看 JPEG XS 的延迟时。它是硬件实现中的端到端延迟。FPGA 实现可以将延迟低至 32 行。即使直接对比现实世界和软件实现,我们只能观察到大约一帧的延迟。JPEG XS 具有非常低的多代损失,所以如果你压缩然后解压、再次压缩然后解压,进行10个周期,只会观察到小于 1 个 dB 的 PSNR 损失。JPEG XS 在多次压缩解压缩中是非常稳定的。但对于 H.264、HEVC 或者 VVC,他们进行了更高水平的压缩,在一个周期内的压缩是非常高效和高质量的,但是如果向上面一样进行一次又一次的压缩解压缩,伪影会越来越多。
JPEG XS
因此我的个人观点是,JPEG XS 需要每秒 175 Mbps 来提供一个视觉上无损的 HD 视频。如果将其与 JPEG 2000 相比较,这大约是每个像素多了一个比特。而客户有稍微不同的观点,他们是使用 JPEG XS 的网络。他们喜欢 10:1 的压缩,例如,720p60 需要每秒约 110 Mbps 的带宽。对于体育内容,客户对视觉损失更加挑剔,他们倾向于 5:1 的压缩水平。因此对于 720p60 这将需要到 220Mbps 的带宽。更多信息可以从下面这个白皮书中找到:http://ds.jpeg.org/whitepapers/jpeg-xs-whitepaper.pdf
CDI — 云数字接口:云端未经压缩的视频/音频/元数据
然后主讲人介绍了什么是 CDI: CDI 是云数字接口,他在云端提供未压缩的视频、音频和元数据。因此:
- CDI 允许在云端以高水平的可靠性移动未经压缩的多媒体数据;
- 其预期延迟:小于 1 帧;
- 在 GitHub 上有开源的 SDK;
- 它在亚马逊网络服务上通过使用可扩展的可靠数据报协议 SRD 来实现,它在 RF 上运行,作为弹性结构适配器。
进一步主讲人介绍了云端 UDP 以及一个简单的云端网络和 ECMP(Equal-Cost Multi-Path Routing)的相关内容。同时介绍了 SDR(Scalable Reliable Datagram)协议的特性和效果。
CDI 在 SRD 的基础上提供了一个 SDK,并且有 Windows 和 Linux 两个版本。这个 SDK 是作为一个开源项目在 2-clause BSD 许可下提供的。不需要额外的版权费,客户只需为支持 EFA 的 EC2 indtance 使用付费。SDK 用于可用性内部的区域传输,并针对 EC2 配置组进行了优化。为了提高供应商之间的互操作性,SDK 有一个音频/视频/元数据(AVM)层,其样本映射与 ST 2110 相似。
AWS CDI SDK 概念
结论
最后主讲人进行了总结,如果你想获得最低延迟和最高质量的云视频,主讲人建议使用 JPEG XS,它可以在输入和输出云端时进行较轻的压缩。同时,JPEG XS 是一个国际标准,任何人都可以得到,而且它是一个非常友好的编解码器。因此它在云端的软件中也很好用。在 Prem 上,你可能想使用基于软件的编码器,或者你可以使用 FPGA 编码器以获得最低延迟。
另一方面,CDI 是未压缩的视频、未压缩的音频,是云端的辅助数据。它由云网络的设计提供动力,其固有的能力是使 CDI 工作的原因。并且 CDI 是一个开源的 SDK,任何人都可以得到。
结论
附上演讲视频: http://mpvideo.qpic.cn/0bc3tqac2aaabyapn2vzvvqvbhgdfwoaalia.f10002.mp4?dis_k=8491df6bac71923684403b38470d63a3&dis_t=1639721754&vid=wxv_2180669849335627781&format_id=10002&support_redirect=0&mmversion=false