H264/AVC 视频编解码标准介绍

视频编解码标准

视频编解码标准是一套用于指导视频数据压缩和解压缩的技术规范,它们对于视频的存储和传输至关重要。

常见编解码标准有:

  • H.261:由ITU-T发布,是第一个视频压缩编码标准,主要针对ISDN设计,适用于实时编码和解码。
  • H.263:作为H.261的改进版,支持更低的比特率,采用运动补偿、DCT变换、自适应量化和熵编码等技术。
  • H.264/AVC:由ITU-T和ISO/IEC联合制定,是目前使用最广泛的视频编码标准之一,提供高压缩效率和良好的网络适应性。支持多种分辨率和质量级别,广泛应用于视频流媒体、视频会议和数字电视。
  • H.265/HEVC:作为H.264的继任者,提供更高的压缩效率,支持4K和8K视频,适用于高清晰度视频的应用。
  • JPEG:主要用于静态图像的压缩,基于DCT变换和哈夫曼编码,适用于连续色调图像。
  • MJPEG (Motion JPEG):将JPEG算法应用于视频,对视频的每一帧进行独立压缩,适用于非压缩存储和传输。
  • MPEG-1:用于数字存储媒体上的活动图像及其伴音的编码,数码率为1.5Mb/s。
  • MPEG-2:广泛应用于DVD视频、数字电视和一些视频流媒体服务。
  • MPEG-4:提供多种对象的编码,支持流媒体和交互式多媒体应用。
  • AVS (Audio Video coding Standard):中国制定的音视频编解码技术标准,旨在减少对外专利费用的依赖,AVS3标准面向8K视频和5G应用。
  • H.266/VVC (Versatile Video Coding):新一代视频编码标准,提供更高的压缩效率,适用于8K视频和虚拟现实等新兴应用。

H264/AVC 编解码标准

MPEG(Moving Picture Experts Group)和 VCEG(Video Coding Experts Group)已经联合开发
了一个比早期研发的MPEG和H.263性能更好的视频压缩编码标准,这就是被命名为AVC(Advanced
Video Coding)的,也被称为 ITU-T H.264 建议和MPEG-4的第10部分的标准,在这里,就简称
它为H.264/AVC或H.264。这个国际标准已于2003.3正式被ITU-T所通过并在国际上正式颁布。

  1. 编解码框架: 一般有编码框架和解码框架。
  • 编码框架
    在这里插入图片描述
  • 解码框架:可以看到解码框架是编码框架的组成一部分。
    在这里插入图片描述
  1. H.264/AVC的结构
  • 名词解释
    • 场和帧 :视频的一场或一帧可用来产生一个编码图像。通常,视频帧可分成两种类型:连续或隔行视频帧。在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场。显然,这时场内邻行之间的空间相关性较强,而帧内邻近行空间相关性强,因此活动量较小或静止的图像宜采用帧编码方式,对活动量较大的运动图像则宜采用场编码方式。
    • 宏块、片 :一个编码图像通常划分成若干宏块组成,一个宏块由一个16×16亮度像素和附加的一个8×8 Cb 和一个8×8 Cr彩色像素块组成。每个图象中,若干宏块被排列成片的形式。 I 片只包含I宏块,P片可包含P和I宏块,而B片可包含B和I宏块。
  • 档次和级 :H.264 规定了三种档次,每个档次支持一组特定的编码功能,并支持一类特定的应用,如下图:
    在这里插入图片描述
  • 片和片组 :一个视频图像可编码成一个或更多个片,每片包含整数个宏块(MB),即每片至少一个MB,最多时每片包含整个图像的宏块。片组是一个编码图象中若干MB的一个子集,它可包含一个或若干个片。
    在这里插入图片描述
  1. 帧内预测:在帧内预测模式中,预测块P是基于已编码重建块和当前块形成的。
  • 对亮度像素而言,P块用于4×4 子块或者16×16宏块的相关操作。4×4亮度子块有9种可选预测模式,独立预测每一个4×4亮度子块,适用于带有大量细节的图像编码;16×16亮度块有4种预测模式,预测整个16×16亮度块,适用于平坦区域图像编码;色度块也有4种预测模式,类似于16×16亮度块预测模式。如下图是采用帧内预测模式得到的图像:
    在这里插入图片描述
  • 4×4 亮度预测模式
    在这里插入图片描述
    16x16亮度预测模式
    在这里插入图片描述
  1. 帧间预测:H.264 帧间预测是利用已编码视频帧/场和基于块的运动补偿的预测模式
  • 树状结构运动补偿:每个宏块(16×16像素)可以4种方式分割:一个16×16,两个16×8,两个8×16,四个8×8。其运动补偿也相应有四种。而8×8模式的每个子宏块还可以四种方式分割:一个8×8,两个4×8或两个8×4 及4个4×4。这些分割和子宏块大大提高了各宏块之间的关联性。这种分割下的运动补偿则称为树状结构运动补偿。
    在这里插入图片描述
  • 运动矢量:帧间编码宏块的每个分割或者子宏块都是从参考图像某一相同尺寸区域预测而得。两者之间的差异(MV)对亮度成分采用1/4像素精度,色度1/8像素精度。亚像素位置的亮度和色度像素并不存在于参考图像中,需利用邻近已编码点进行内插而得。
  • MV预测 :每个分割MV的编码需要相当数目的比特,特别是使用小分割尺寸时。为减少传输比特数,可利用邻近分割的MV较强的相关性,MV可由邻近已编码分割的MV预测而得。预测矢量MVp基于已计算MV和MVD(预测与当前的差异)并被编码和传送。MVp则取决于运动补偿尺寸和邻近MV的有无。 如下举例:
    在这里插入图片描述
  • B片预测 :B片中的帧间编码宏块的每个子块都是由一个或两个参考图像预测而得。该参考图像在当前图像的前面或者后面。
    在这里插入图片描述
    加权预测 :加权预测是一种用来修正P或B片中运动补偿预测像素方法。H.264中由3中加权预测类型:
    1) P片宏块“explicit”加权预测;
    2) B片宏块“explicit”加权预测;
    3) B片宏块“implicit”加权预测;
  1. SP/SI帧技术(SP片或SI宏块的P宏块) :H.264/AVC为了顺应视频流的带宽自适应性和抗误码性能的要求,又定义了两种新的帧类型:SP帧和SI帧。
  • SP 帧编码的基本原理同P帧类似,仍是基于帧间预测的运动补偿预测编码,两者之间的差异在于SP 帧能够参照不同参考帧重构出相同的图像帧。充分利用这一特性,SP帧可取代了I帧,广泛应用于流间切换(bitstream switching)、拼接(splicing)、随机接入(random access)、快进快退(fast forward, fast backward)以及错误恢复(error recovery)等应用中,同时大大降低了码率的开销。与SP 帧相对应,SI帧则是基于帧内预测编码技术,其重构图像和对SP的重构图像完全相同。应用主要有流间切换拼接(Splicing)与随机接入(Random Access)错误恢复; 如下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  1. 整数变换和量化:变换采用DCT,量化采用均匀量化器。

变换:变换编码将图像时域信号变换成频域信号,在频域中图像信号能量大部分集中在低频区域,相对时域信号,码率有较大的下降。H.264 对图像或预测残差采用了4×4整数离散余弦变换技术,避免了以往标准中使用的通用8×8离散余弦变换逆变换经常出现的失配问题
量化:量化过程在不降低视觉效果的前提下减少图像编码长度,减少视觉恢复中不必要的信息。H.264采用标量量化技术,它将每个图像样点编码映射成较小的数值。
在这里插入图片描述

  1. 熵编码:成的码流可以经解码无失真地恢复出原数据。熵编码是建立在随机过程的统计特性基础上的。CAVLC和CABAC两种熵编码方法。
  • CAVLC:CAVLC(基于上下文自适应的可变长编码)中,通过根据已编码句法元素的情况动态调整编码中使用的码表,取得了极高的压缩比。
  • CABAC: CABAC(基于上下文的自适应二进制算术熵编码)的思想是用0到1的区间上的一个数来表示一个字符输入流,它的本质是为整个输入
    流分配一个码字,而不是给输入流中的每个字符分别指定码字。
  1. 码率控制:H.264 编码器采用了基于 Lagrangian 优化算法的编码控制模型,其编码性能相较于以往的所有编码标准有了重大提高。
  • 代价函数
    在这里插入图片描述
  • 码率模型
    在这里插入图片描述
  1. 去块滤波
  • H.264/MPEG-4 AVC视频编码标准中,在编解码器反变换量化后图像会出现方块效应。其产生的原因有两个。最重要的一个原因是基于块的帧内和帧间预测残差的DCT变换。变换系数的量化过程相对粗糙,因而反量化过程恢复的变换系数带有误差,会造成在图像块边界上的视觉不连续。第二个原因来自于运动补偿预测。运动补偿块可能是从不是同一帧的不同位置上的内插样点数据复制而来。因为运动补偿块的匹配不可能是绝对准确的,所以就会在复制块的边界上产生数据不连续。当然,参考帧中存在的边界不连续也被复制到需要补偿的图像块内。
  • 在视频编解码器中加入去方块滤波器的方法有两种:后置滤波器和环路滤波器。后置滤波器只处理编码环路外的显示缓冲器中的数据,所以它不是标准化过程中的规范内容,在标准中只是可选项。相反,环路滤波器处理编码环路中的数据。在编码器中,被滤波的图像帧作为后续编码帧运动补偿的参考帧;在解码器中,滤波后的图像输出显示。这要求所有与本标准一致的解码器采用同一个滤波器以与编码器同步。
  • 20
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
H.264是一种广泛使用的视频解码标准,也被称为MPEG-4 Part 10或AVC。它是一种基于帧的压缩方法,可以将视频压缩到较小的大小,以便更轻松地存储和传输。 H.264码器将原始视频数据转换为压缩的比特流,该比特流可以被传输到解码器进行解码并还原为原始视频数据。H.264解码器将压缩的比特流解码视频帧,并将这些帧合并成完整的视频。 为了展示H.264解码的结果,我们可以使用一些视频播放器或工具,如VLC,FFmpeg等。这些工具可以打开H.264比特流或已经码的视频文件,并播放或转换成其他格式。在播放过程中,我们可以观察视频的质量、帧率、码率等信息。 在分析H.264解码结果时,我们可以关注以下几个方面: 1. 视频质量:视频质量是最直接的指标,它可以用来评估视频码器的性能。观察视频的清晰度、锐度、颜色饱和度等可以帮助我们判断视频的质量。 2. 帧率:帧率是指视频中每秒钟的图像数量。帧率越高,视频越流畅,但也需要更高的比特率来支持更高的图像质量和帧率。 3. 码率:码率是指视频的压缩比率,也就是每秒钟传输的比特数。更高的码率可以提供更高的视频质量和帧率,但也会导致更大的文件大小。 4. 码速度:码速度是指码器将原始视频数据转换为压缩比特流的速度。更快的码速度可以帮助我们更快地生成压缩视频数据,从而提高效率。 综上所述,H.264作为一种广泛使用的视频解码标准,可以提供高效的视频压缩和传输方案。通过观察视频质量、帧率、码率和码速度等指标,我们可以更好地了解H.264解码的性能和优化方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Codec Conductor

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值