共计 4167 个字符,预计需要花费 11 分钟才能阅读完成。
【关注 融云寰球互联网通信云】次要包含五局部内容:三种罕用的可分级视频编码的特点;WebRTC 采纳的编码器及其利用形式;可分级编码在 WebRTC 中的利用现状;基于可分级编码的指标检测和码率调配形式;AI 和可分级编码联合的利用前景和钻研方向。
三种罕用可分级视频编码的特点
视频图像通过数字化之后数据量十分大,现有的网络和存储设备无奈间接存储原始的视频图像,必须对视频和图像进行压缩,现有的支流压缩视频算法为 H.264,VP8,VP9,HEVC,VVC 等。一方面,从 H.264 到 VVC,编码复杂度越来越高,压缩效率也越来越高;另一方面,传输的网络带宽大小不一,且随时变动,繁多的码流无奈适应多种不同接收端的网络和设施环境。比方 4G 网络和 5G 网络传输带宽不一样,若在 4G 和 5G 网络中传输同一套码流,有可能会导致 5G 网络带宽没有充分利用,最终影响视频的观看成果。
当初视频利用的环境存在多个不同的接收端,解决这个问题能够采纳以下两种技术:联播(Simulcast)和可分级视频编码(SVC)。
如图 1 所示,联播 Simulcast 即同时传输多路码流,不同的码流具备不同的码率,用以传输在不同带宽下的码流。当终端设备处于高带宽的网络环境中,能够传输高码率的视频,以便取得更好的视频观看体验;当终端设备处于低带宽的网络环境中,能够传输低码率的视频,以便缩小视频播放卡顿的景象。然而 Simulcast 反对的码率品种是无限的,难以适应简单的网络环境。针对这个问题,钻研人员提出了可分级视频编码 SVC,视频数据只压缩一次,却能以多个帧率、空间分辨率或视频品质进行解码。比方采纳三层空域可分级和两层时域可分级,能够组合的模式达到六种,和 Simulcast 形式相比,零碎的适应性失去很大晋升。
(图 1 联播 & 可分级)
罕用的可分级编码有三种,别离是:空域可分级(Spatial Scalability)、品质可分级(Quality Scalability)和时域可分级(Temporal Scalability)。
(图 2 可分级编码罕用的三种形式)
空域可分级编码(图 3),即对视频中的每帧图像产生多个不同空间分辨率的图像,解码根本层码流失去的低分辨率图像,如果退出加强层码流到解码器,失去的是高分辨率图像。
(图 3 空域可分级)
品质可分级(图 4),一个可行的做法是,根本层码流编码这一路对原始图像 DCT 变换后进行一次毛糙量化,熵编码后造成根本层码流。毛糙量化后的数据经反量化后造成根本层系数,与原始图像 DCT 变换系数相减造成差值信号,再对此差值信号再进行一次细量化和熵编码生成加强层码流。
(图 4 品质可分级)
时域可分级(图 5),即把视频序列不重叠地宰割成多层,对根本层的帧进行一般的视频编码,提供具备根本工夫分辨率的根本层码流;对加强层则是利用根本层数据对加强层的帧间预测编码,生成加强层数据。
(图 5 时域可分级)
WebRTC 采纳的编码器及其利用形式
WebRTC 反对的编码器包含 VP8,VP9 和 H.264。在用户感触层面, VP8 和 H.264 两种编码器的成果基本上是相似的。VP9 作为 VP8 的下一代编码器,在高清视频压缩方面,比 VP8 和 H.264 成果要好。
如图 6,综合编码器性能和浏览器编码器的反对状况,能够得出如下论断:VP8 和 H.264 编码成果基本一致,个别状况下两者皆可;VP9 次要用在 Google 公司本人的各种视频产品中,其中须要特地指出的是,VP9 反对多种 SVC;HEVC 目前只能在苹果零碎中应用,无奈推广,不倡议应用;AV1 同样太新了,仅仅在 Google 公司的产品中能力很好地反对,临时不举荐。
(图 6 编码器在浏览器中的反对状况)
可分级编码在 WebRTC 中的利用现状
在介绍可分级编码在 WebRTC 中的利用状况之前,先简要介绍下 WebRTC 的通信和组网流程。
如图 7,客户端 A 和客户端 B 通信,能够采纳直连的模式,也能够采纳服务器的模式,在大规模的网络中,都会采纳基于服务器的模式进行转发、信号处理等。
(图 7 WebRTC 简略的流程)
针对多种利用场景具备多个接收端的特点,WebRTC 提供了三种解决方案:Mesh,MCU,SFU。
Mesh 计划(图 8),即多个终端之间两两进行连贯,造成一个网状结构。比方 A、B、C 三个终端进行多对多通信,当 A 想要共享媒体(如音频、视频)时,它须要别离向 B 和 C 发送数据。同样的情理,B 想要共享媒体,就须要别离向 A、C 发送数据,依此类推。这种计划对各终端的带宽要求比拟高。
(图 8 Mesh 计划)
MCU(Multipoint Conferencing Unit)计划(图 9),该计划由一个服务器和多个终端组成一个星形构造。各终端将本人要共享的音视频流发送给服务器,服务器端会将在同一个房间中的所有终端的音视频流进行混合,最终生成一个混合后的音视频流再发给各个终端,这样各终端就能够看到 / 听到其余终端的音视频了。实际上服务器端就是一个音视频混合器,这种计划服务器的压力会十分大。
(图 9 MCU 计划)
SFU(Selective Forwarding Unit)计划(图 10),该计划也是由一个服务器和多个终端组成,但与 MCU 不同的是,SFU 不对音视频进行混流,收到某个终端共享的音视频流后,就间接将该音视频流转发给房间内的其余终端。
(图 10 SFU 计划)
三种网络不同的带宽如图 11 所示。能够看出,SFU 的带宽最大达到了 25mbps,MCU 最小 10mbps。
(图 11 三种不同网络的带宽)
在特点方面,Mesh 计划的灵活性比拟差;MCU 计划须要对码流进行相似转码、合流、分流等操作;SFU 计划服务器的压力小,灵活性更好,受到宽泛欢送。
如图 12 为 Simulcast 模式和 SVC 模式转发形式示意图。从高低两个图能够看出,采纳基于 SVC 的码流调配形式,对于 PC 端而言,具备更大的可修改性。无论采纳哪种组网形式,采纳 SVC 的形式,都会比采纳 Simulcast 的形式具备更好的健壮性。
(图 12 Simulcast 和 SVC 模式转发形式)
反对状况如图 13 所示。从图中能够看出,H.264 仅反对 Simulcast,VP8 反对时域可分级,VP9 则全方位反对 SVC 编码。VP9 是 Google 公司在主推的编解码器,然而在 H.264 编解码器优化方面的推动力度不大,肯定水平上限度了 WebRTC 的利用,比方苹果公司最新出品的 iPhone13 手机自带 H.264 的硬件加速性能,如果采纳 AV1 编码器,尽管能够取得 SVC 的长处,然而无奈进行硬件解码。在 WebRTC 中,Simulcast 是默认通过多线程技术,同时启动多个 OpenH264 编码器, SVC 则是能够调用 OpenH264 进行时域和空域可分级编码。
(图 13 可分级编码在 WebRTC 的反对状况)
基于可分级编码的指标检测和码率调配计划
对于 N 路的 SFU 而言,SFU 必须思考残余 N-1 个终端码率总和。对于大多数视频会议而言,在给定的时域和空域层条件下的码率和总码率比例根本恒定。如图 14 所示。
(图 14 不同层码流分布图)
依据图 14 的景象,将视频静止作为一个次要是掂量指标,对码流进行调配。相干论文具体的计划框架如图 15 所示。
(图 15 SVC 编码器码率调配)
该计划存在两个改良空间:第一个是静止量度的办法采纳的以后帧和前一帧的差,难以精确地反映出视频静止变动的状况。第二个是减少除了静止特色以外的其余特色,以便更好地反映图像视频的变动。拟采纳的解决方案如图 16 所示。
(图 16 拟采纳的解决方案)
在 WebRTC 中,H.264 的编码器采纳思科公司开源的 OpenH264 编码器,OpenH264 可分级编码配置文件展现如下。这个配置文件设置了时域分级层两层。
(图 17 OpenH264 可分级编码配置文件)
SVC 码流的特点是一套码流具备多层构造,在理论应用中,须要对码流进行提取操作。对于时域可分级而言,通过剖析每个 NAL 中的 Temporal ID 对码流进行提取;对于空域可分级而言,通过剖析每个 NAL 中的 Spatial ID 对码流进行提取;对于品质可分级而言,通过剖析每个 NAL 中的 Quality ID 对码流进行提取。
从图 18 中能够看出,OpenH264 的根本层的码流能够间接采纳 AVC 解码器解码,根本层的 SVC_extension_flag 等于 1。
(图 18 可分级编码根本层解码图)
SVC 加强层码流的 NAL 蕴含 SVC 的语法,须要对 SVC 的码流进行转码,可分级编码的参考软件 JSVM 中有专门的转码模块,图 19 为转码过程,能够发现多个 NAL 单元被重写成 AVC 的格局。
(图 19 可分级编码加强层 NAL 层转码)
图 20 为用 JSVM 转换之后的码流解码成果,能够用规范的 AVC 解码器解码。
(图 20 NAL 层转码后的解码图)
AI 和可分级编码联合的利用前景和钻研方向
可分级编码中最频繁应用的办法是空域可分级技术,然而不同分辨率在转换时,品质降落比拟显著。ICME2020 会议上,有学者提出了用于视频编码的超分辨模型,该模型通过提取不同时刻的图像进行特色交融来重建出高分辨率图像。试验结果表明,超分成果有晋升。
(图 21 视频超分辨率结构图)
将该模型用于可分级编码器中,能够无效地改善不同分辨率码流切换的时候,给人带来的不适感。
MPEG5 提出了 Low Complexity Enhancement Video Coding(LCEVC),该编码方式和 H.264 相比,在雷同的 PSNR 下,压缩效率更高。编码器如图 22 所示。其中根本的编码器 Base Encoder 能够选用任意一种现成的编码器,比方 H.264,VP8,VP9 等。
WebRTC 和 LCEVC 互相联合,是将来的一个倒退方向。作为一个新的视频编码标准,其具备几个特色:晋升了根本层编码的压缩能力,具备低编码和解码复杂度,提供了一个额定的特色加强平台等。
从图 22 能够看出,编码复杂度次要在取决于 Base Encoder,在 WebRTC 中宽泛应用的 H.264 如果采纳 LCEVC 的形式进行加强,在复杂度减少的状况下,编码成果会有显著地晋升。一般而言采纳 H.264 编码的 1080P 高帧率的实时体育视频流须要 8Mbps 的最高码率,而采纳 LCEVC 仅仅须要 4.8Mbps。
(图 22 LCEVC 编码器)
鉴于 LCEVC 编码的成果,能够判断,LCEVC 和 WebRTC 联合,将是一个重要的钻研和利用方向。