为什么要进行视频压缩?
就拿一个例子来说,720P的视频,假设帧率30fps,三个色彩分量的每个像素点为8bit,那么每一秒的数据量为12807203830=6.64*10^8比特,这还只是一秒的数据量,一部电影少也有90分钟左右,可见原始视频的数据量是非常惊人的,无法直接用于传输或存储,因此需要视频压缩。视频压缩的目的是尽可能去除视频数据的冗余成分,减少表征视频的数据量。
一、视频压缩与编码概述
1、视频
视频的基本单位是图像,视频中完整的图像称为帧(Frame),许多帧按照时间顺序组成的视频称为视频序列(Video Sequence)。视频序列中每一幅图像,都是由NM个像素组成,每个像素都有数值。因此视频序列可以表示为三维矩阵,其中NM这两个维度表示每幅图像的像素值,形成视频的空间域;另一个维度代表视频的时间域。若是彩色视频,则需要三个这样的矩阵,分别代表三个基本的色彩分量或者亮度和色度分量。
美妙播放的帧数称为帧率(Frame Rate),单位为fps(frams per second),要使人眼感受到视频是平滑的,帧率需要达到25-30fps以上。
2、视频压缩与编码
数据压缩通常分为有损压缩和无损压缩。无损压缩是数据经过压缩后,信息并没有损失,经过重建可以完全恢复原始数据。有损压缩是以一定失真为代价,换取更高的压缩比。而引入的失真是人们“察觉不到”或者“可接受”的。用于人类任职的音频、视频和图像就是有损压缩的典型应用。
衡量压缩算法性能优劣的参数是:码率和失真。有损压缩追求在质量损失一定下获得最高的压缩比(即最低的码率),或者码率一定下,视频质量最好。
视频编码和视频压缩在很多地方被认为是等同的,都是指采用预测、变换、量化和熵编码等方式,尽可能减少视频数据的冗余。严格上来说,二者有细微差别,可认为视频压缩是视频编码的目的,视频编码是视频压缩的方式。
二、视频编码标准
在编码器的输出码流中,数据的基本单位是与法院诉,每个语法元素由若干比特组成,表征了某个特定的物理含义。
视频编码标准规定了编码码流的语法语义和解码器,其中语法规定了每个语法元素的组织结构,语义阐述了语法元素的具体含义。
国际上制定视频编码标准的两大组织分别是国际电信联盟电信标准化部门(ITU-T)和国际标准化组织/国际电工委员会(ISO/IEC)。ITU-T制定的标准通常被称为H.26X系列,这一系列广泛应用于基于网络传输的视频通信。ISO/IEC的动态图像专家组(MPEG)制定的MPEG系列,主要用于视频储存、广播电视、流媒体等。
三、H.265/HEVC简介
H.265/HEVC的核心目标是在H.264/AVC High Profile的基础上,将压缩效率提高一倍,也就是在保证相同图像质量的前提下,视频流的码率减少50%。在提高压缩效率的同时,允许编码端适当提高复杂度。
HEVC将支持SVC。
1、编码框架
H.265/HEVC继续沿用混合编码框架,但是几乎在每个模块都引入了新的编码技术。
(1)帧内预测
该模块用于去除图像的空间相关性。通过重构块信息预测当前像素块以去除冗余信息,提高图像的压缩效率,H.265/HEVC支持更多的帧内预测模式。
(2)帧间预测
该模块用于去除图像的时间相关性。通过将已编码的图像作为当前帧的参考图像,获取各个块的运动信息,从而去除冗余。在H.265/HEVC,可采用单向和双向的参考图像进行预测。
(3)变换量化
该模块用于去除频域相关性,对数据进行有损压缩。量化可减小图像编码的动态范围。
(4)去方块滤波
可削弱甚至消除方块效应,提高图像的主观质量和压缩效率。H.265/HEVC延续环内去方块滤波。
方块效应是在视频编码中人眼察觉到的小块边界处不连续的现象,它产生的原因有:离散余弦变换,忽略了块与块之间的相关性;量化时,由于取整方式可能不同,破坏了图像的相关性。
(5)样点自适应补偿(SAO)
一定程度上削弱振铃效应。这是H.265/HEVC新增的一项编码方式。
(6)熵编码
H.265/HEVC采用基于上下文的自适应二进制算术编码进行熵编码,引入了并行处理架构,在速度、压缩率和内存占用等方面得到了改善。
2、特色编码技术
(1)编码单元
H.264/AVC的编码单元是宏块,但宏块有很大的局限性。在H.265/HEVC中采用了编码树单元(CTU)和编码树快(CTB)。一个CTU由一个亮度CTB和两个色度CTB和一些关联的语法元素组成。H.265/HEVC为图像的划分定义了一套全新的分割模式,包括编码单元(CU)、预测单元(PU)和变换单元(TU)。一个CU由一个亮度CB和两个色度CB和关联语法元素组成。一个CTU可以只有一个CU,也可以包含多个CU。每一个CU都有一个区分关联的PU和TU。预测单元PU是帧内预测、帧间预测的基本单元。变换单元TU可采用44~3232大小的离散余弦变换。
(2)改进的帧内预测技术
对于亮度信号,H.265/HEVC共提供了35种帧间预测模式,多种预测模式可以更好地匹配视频中复杂的纹理,得到更好的预测效果。
(3)先进的帧间预测技术
H.265/HEVC引入了新的帧间预测技术,包括运动信息融合技术、先进的运动矢量预测技术以及基础Merge的Skip模式。
(4)RQT技术
RQT技术是基于四叉树结构的自适应变换技术,大块的TU模式能够将能量更好地集中,小块的TU模式能够保存更多的图像细节。
(5)ACS技术
ACS技术包括:对角扫描、水平扫描和垂直扫描。对于帧内预测区域的44和88的TU,根据帧内预测的方向来选择扫描方法;对于帧间预测区域,均采用对角扫描。
(6)SAO技术
H.265/HEVC引入了新的滤波方法:像素自适应补偿技术(SAO)。SAO在去方块滤波器后,用于补偿重构像素值,达到减小振铃效应的目的。SAO分为边缘补偿(EO)和带状补偿(BO)。