关于视频编码:技术干货-深入浅出理解视频编解码技术

40次阅读

共计 3398 个字符,预计需要花费 9 分钟才能阅读完成。

导读:随着挪动互联网技术的蓬勃发展,视频已无处不在。视频直播、视频点播、短视频、视频聊天,曾经齐全融入了每个人的生存。Cisco 公布的最新报告中写道,到 2022 年,在挪动互联网流量中,视频数据占比将高达 82%。视频为何如此遍及呢?是因为通过视频能方便快捷地获取到大量信息。但与此同时,因为视频数据量十分微小,视频的传输、存储也面临着微小的挑战。从 20 世纪 90 年代以来,数字视频编解码技术迅速倒退,始终是国内外钻研的热点畛域。视频编解码,将是保障用户高品质视频体验的重要技术。

No.1 视频编解码技术及规范

视频编解码技术的次要作用,是 在可用的计算资源内,谋求尽可能高的视频重建品质和尽可能高的压缩比,以达到带宽和存储容量的要求。为何突出“重建品质”?因为视频编码是个有损的过程,用户只能从收到的视频流中解析出“重建”画面,它与原始的画面曾经不同,例如观看低质量视频时常常会碰到的“块”效应。如何在肯定的带宽占用下,尽可能地放弃视频的品质,或者在放弃品质状况下,尽可能地缩小带宽利用率,是视频编码的根本指标。用专业术语来说,即视频编解码规范的“率失真”性能。“率”是指码率或者带宽占用;“失真”是用来形容重建视频的品质。与编码绝对应的是解码或者解压缩过程,是将接管到的或者曾经存储在介质上的压缩码流重建成视频信号,而后在各种设施上进行显示。

视频编解码规范,通常只定义上述的 解码过程。例如 H.264 / AVC 规范,它定义了什么是符合标准的视频流,对每一个比特的程序和意义都进行了严格地定义,对如何应用每个比特或者几个比特表白的信息也有准确的定义。正是这样的严格和准确,保障了不同厂商的视频相干服务,能够很不便地兼容在一起,例如用 iPhone、Android Phone 或者 windows PC 都能够观看同一在线视频网站的同一视频。世界上有多个组织进行视频编码标准的制订工作,国际标准组织 ISO 的 MPEG 小组、国际电信联盟 ITU-T 的 VCEG 小组、中国的 AVS 工作组、Google 及各大厂商组成的凋谢媒体联盟等。

(图 1 视频编码标准及倒退历史)

自 VCEG 制订 H.120 规范开始,视频编码技术一直倒退,先后胜利地制订了一系列满足不同利用场景的视频编码标准,如图 1 所示。VCEG 组织先后制订了 H.120、H.261、H.262(MPEG-2 Part 2)、H.263、H.263+、H.263++。MPEG 也先后制订了 MPEG-1、MPEG-2、MPEG-4 Part 2。以及两个国内组织单干制订的 H.264/AVC、H.265/HEVC、H.266/VVC;中国自主知识产权的 AVS、AVS2、AVS3 视频编码标准;Google 制订的 VP8、VP9;Google、思科、微软、苹果等公司组成的凋谢媒体联盟(AOM)制订的 AV1。这里特地要提一下 H.264/AVC。H.264/AVC 虽有近 20 年历史,但它优良的压缩性能、适当的运算复杂度、优良的开源社区反对、敌对的专利政策、弱小的生态圈等多个方面的因素,仍旧让它放弃着弱小的生命力,特地是在实时通信畛域。像 ZOOM、思科 Webex 等视频会议产品和基于 WebRTC SDK 的视频服务,大多数支流场景都采纳 H.264/AVC。

No.2 混和编码框架

纵观视频规范历史,每一代视频规范都在率失真性能上有着显著的晋升,他们都有一个外围的框架,就是 基于块的混合编码框架 ,如图 2 所示。它是由 J. R. Jain 和 A. K. Jain 在 1979 年的国内图像编码学会(PCS 1979) 上提出了基于块静止弥补和变换编码的混合编码框架。

(图 2 混和编码框架)

咱们一起来对该框架进行拆解和剖析。从摄像头采集到的一帧视频,通常是 YUV 格局的原始数据,咱们将它划分成多个方形的像素块顺次进行解决(例如 H.264/AVC 中以 16×16 像素为根本单元),进行帧内 / 帧间预测、正变换、量化、反量化、反变换、环路滤波、熵编码,最初失去视频码流。从视频第一帧的第一个块开始进行空间预测,因以后正在进行编码解决的图像块和其四周的图像块有相似性,咱们能够用四周的像素来预测以后的像素。咱们将原始像素减去预测像素失去预测残差,再将预测残差进行变换、量化,失去变换系数,而后将其进行熵编码后失去视频码流。

接下来,为了能够使后续的图像块能够应用曾经编码过的块进行预测,咱们还要对变换零碎进行反量化、反变换,失去重建残差,再与预测值进行求合,失去重建图像。最初咱们对重建图像进行环路滤波、去除块效应等,这样失去的重建图像,就能够用来对后续图像块进行预测了。依照以上步骤,咱们顺次对后续图像块进行解决。

对于视频而言,视频帧与帧的距离大概只有十到几十毫秒,通常拍摄的内容不会产生激烈变动,它们之间存在十分强的相关性。如图 3 所示,将视频图像宰割成块,在工夫相邻的图像之间进行匹配,而后将匹配之后的残差局部进行编码,这样能够较好地去除视频信号中的视频帧与帧之间的冗余,达到视频压缩的目标。这就是 静止弥补技术,直到明天它依然是视频编解码的核心技术之一。

(图 3 静止预计和静止弥补)

变换编码的核心思想是把视频数据宰割成块,利用正交变换将数据的能量集中到较少几个变换系数上。联合量化和熵编码,咱们能够取得更无效的压缩。视频编码中信息的损失和压缩比的取得,很大水平上来源于 量化模块 ,就是将源信号中的繁多样本映射到某一固定值,造成多到少的映射,从而达到压缩的目标,当然在压缩的过程中就引入了损失。量化后的信号再进行 无损的熵编码,打消信号中的统计冗余。熵编码的钻研最早能够追溯到 20 世纪 50 年代,通过几十年的倒退,熵编码在视频编码中的利用更加成熟、更加精美,充分利用视频数据中的上下文信息,将概率模型预计得更加精确,从而进步了熵编码的效率。例如 H.264/AVC 中的 Cavlc(基于上下文的变长编码)、Cabac(基于上下文的二进制算术编码)。算术编码技术在后续的视频编码标准,如 AV1、HEVC/H.265、VVC/H.266 中也有利用。

视频编码倒退至今,VVC/H.266 作为最新制订的规范,驳回了一系列先进的技术,对混合编码框架的各个局部都进行了优化和改良,使得其率失真性能相比前一代规范,又进步了一倍。例如,VVC/H.266 采纳了 128×128 大小的根本编码单元,并且能够持续进行四叉树划分,反对对一个划分进行二分、三分;色度重量独立于亮度重量,反对独自进行划分;更多更精密的帧内预测方向、帧间预测模式;反对多种尺寸和模式的变换、环内滤波等。VVC/H.266 的制订,指标是对多种视频内容有更好反对,例如屏幕共享内容、游戏、动漫、虚拟现实内容(VR、AR)等。其中也有特定的技术被驳回进规范,例如调色板模式、帧内静止弥补、仿射变换、跳过变换、自适应色彩变换等。

No.3 晋升品质的更多伎俩

视频编解码规范保障了视频的互通性,视频品质的晋升依然有很多能够深入研究的热点问题。如,基于人眼的主观品质的编码优化、基于 AI 的编码优化、内容自适应编码等。基于人眼的主观品质优化,次要利用人眼的视觉个性,将掩蔽效应、对比度灵敏度、注意力模型等与编码相结合,正当调配码率、缩小编码损失引起的视觉不适。AI 在视频编解码畛域的利用,包含将多种人工智能算法,如分类器、反对向量机、CNN 等对编码参数进行疾速抉择,也能够应用深度学习对视频进行编码环外与编码环内的解决,如视频超分辨率、去噪、去雾、自适应动静范畴调整等编码环外解决,达到晋升视频品质的目标;CNN 网络取代编码器中的环路滤波、CNN 进行帧内预测等编码环内解决,升高编码产生的损失之外,能够进一步晋升预测准确度,达到更好的编码成果;此外还有突破传统混合编码框架的深度神经网络编码,如 Nvidia 的 Maxine 视频会议服务,利用深度学习来提取特色,而后对特色进行传输以节俭带宽。内容自适应技术,也可分成两类,一是编码环内依据编码内容调整编码器的参数,二是编码环外依据要编码的内容进行码率、帧率、分辨率等调整。

No.4 结束语

拍乐云 Pano 团队在视频编解码畛域有着丰盛的教训积攒和深刻的技术了解,采纳独有的视频编解码算法,在保障视频品质的同时,高效利用带宽,让用户体验面对面个别的顺畅沟通和超清画质。接入 Pano SDK,企业开发者就能够在本人的利用里轻松实现优异的视频通话能力,再也不用为视频编解码技术的简单而伤神了。

正文完
 0