1. H.264/AVC编码器:

1)H264 编码器特点:

H264并不明确地规定一个编码器如何实现,而是规定了一个编码的视频比特流的句法,和该比特流的解码方法,各个厂家的编码器和解码器在此框架下应能够互通,在实现上具有较大灵活性,而且有利于相互竞争。

2)编码器:

a)编码器采用的仍是变换和预测的混合编码法。输入的帧或场Fn以宏块单位被编码器处理。首先,按帧内或帧间预测编码的方法进行处理。

b)如果采用帧内预测编码,其预测值PRED(图中用P表示)是由当前片中前面已编码的参考图像经运动补偿(MC)后得出,其中参考图像用F’n-1表示。为了提高预测精度,从而提高压缩比,实际的参考图像可在过去或未来(指显示次序上)已编码解码重建和滤波的帧中进行选择。

c)预测值PRED和当前块相减后,产生一个残差块Dn,经块变换、量化后产生一组量化后的变换系数,再经熵编码,与解码所需的一些变信息(如预测模式量化参数、运动矢量等)一起组成一个压缩后的码流。

d)正如上述,为了提高进一步预测用的参考图像,编码器必须有重建图像的功能。因此必须使残差图像经反量化、反变换后得到的Dn’与预测P相加,得到uFn’(未经滤波的帧)。为了去除编码解码环路中产生的噪声,为了提高参考帧的图像质量,从而提高压缩图像性能,设置了一个环路滤波器,滤波后的输出Fn’即重建图像可用作参考图像。


图1H.264编码器


3)H264解码器:
a)由图1可知,由编码器的NAL输出一个压缩后的H264压缩比特流。由图2,经熵解码得到量化后的一组变换系数X,再经反量化、反变换、得到残差Dn’。利用从该比特流中解码出的头信息,解码器就产生一个预测块PRED,它和编码器中的原始PRED是相同的。当该解码器产生的PRED与残差Dn’相加后,就产生uFu’,在经滤波后,最后就得到滤波后的Fn’,这个Fn’就是最后的解码输出图像。

图2H.264解码器

2. H.264/AVC的结构:

1)名词解释

a) 场和帧

视频的一场或一帧可用来产生一个编码图像。在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场。

b)宏块、片:  一个编码图像通常划分成若干宏块组成,一个宏块由一个16×16亮度像素和附加的一个8×8Cb和一个8×8Cr彩色像素块组成。每个图象中,若干宏块被排列成片的形式。
–I片只包含I宏块,P片可包含P和I宏块,而B片可包含B和I宏块。
–I宏块利用从当前片中已解码的像素作为参考进行帧内预测。
–P宏块利用前面已编码图象作为参考图象进行帧内预测,
–一个帧内编码的宏块可进一步作宏块的分割:即16×16、16×8、8×16或8×8亮度像素块(以及附带的彩色像素);如果选了8×8的子宏块,则可再分成各种子宏块的分割,其尺寸为8×8、8×4、4×8或4×4亮度像素块(以及附带的彩色像素)。
–B宏块则利用双向的参考图象(当前和未来的已编码图象帧)进行帧内预测。。

2)档次和级

–H.264规定了三种档次,每个档次支持一组特定的编码功能,并支持一类特定的应用。
–1)基本档次:利用I片和P片支持帧内和帧间编码,支持利用基于上下文的自适应的变长编码进行的熵编码(CAVLC)。主要用于可视电话、会议电视、无线通信等实时视频通信;
–2)主要档次:支持隔行视频,采用B片的帧间编码和采用加权预测的帧内编码;支持利用基于上下文的自适应的算术编码(CABAC)。主要用于数字广播电视与数字视频存储;
–3)扩展档次:支持码流之间有效的切换(SP和SI片)、改进误码性能(数据分割),但不支持隔行视频和CABAC。主要用于网络的视频流,如视频点播
–图3为H.264各个档次具有的不同功能,可见扩展档次包括了基本档次的所有功能,而不能包括主要档次的。每一档次设置不同参数(如取样速率、图像尺寸、编码比特率等),得到编解码器性能不同的级。

图3H.264档次

3)编码数据格式

–H.264支持4:2:0的逐行或隔行视频的编码和解码。

4)参考图像 

–可从一组前面或后面已编码图像中选出一个或两个与当前最匹配的图像作为帧间编码间的参数图像,
–H.264中最多可从15个参考图像中进行选择,选出最佳的匹配图像。
–对于P片中帧间编码宏块可从表“0”中选择参数图像;对于B片中的帧间编码宏块和宏块分割的预测,可从表“0”和“1”中选择参考图像。

5)片和片组  

–一个视频图像可编码成一个或更多个片,每片包含整数个宏块(MB),即每片至少一个MB,最多时每片包含整个图像的宏块。
–设片的目的是为了限制误码的扩散和传输,使编码片相互间是独立的。某片的预测不能以其它片中的宏块为参考图像,这样某一片中的预测误差才不会传播到其它片中去。
–编码片共有5种不同类型,I片、P片、B片外,还有SP片和SI片。其中SP(切换P)是用于不同编码流之间的切换。

图4 片的句法结构

–片组

片组是一个编码图象中若干MB的一个子集,它可包含一个或若干个片。

–在一个片组中,每片的MB按光栅扫描次序被编码,如果每幅图象仅取一个片组,则该图象中所有的MB均按光栅扫描次序被编码。
–还有一种片组,叫灵活宏块次序(FMO),它可用灵活的方法,把编码MB序列映射到解码图象中MB的分配用MB到片组之间的映射来确定,它表示每一个MB属于哪个片组。表1为MB到片组的各种映射类型。

表1MB到片组的映射




转载自:https://blog.csdn.net/u013354805/article/details/51554444

H264视频压缩编码标准简介(一)相关推荐

  1. H264视频压缩编码标准简介(二)

    3. 帧内预测     在帧内预测模式中,预测块P是基于已编码重建块和当前块形成的.对亮度像素而言,P块用于4×4子块或者16×16宏块的相关操作.4×4亮度子块有9种可选预测模式,独立预测每一个4× ...

  2. H264视频压缩编码标准(一)

    1. H.264/AVC编码器: 1)H264 编码器特点: H264并不明确地规定一个编码器如何实现,而是规定了一个编码的视频比特流的句法,和该比特流的解码方法,各个厂家的编码器和解码器在此框架下应 ...

  3. 笔记:新一代视频压缩编码标准-h.264/AVC

    第一章绪论: 信源模型: 1.基于波形的编码.基于波形的编码采用了把预测编码和变化编码组合起来的基于块的混合编码方法. 2.基于内容的编码.mpeg4采用的编码方法即是基于块的混合编码,又有基于内容的 ...

  4. 视频压缩编码标准,深入浅出,图文并茂

    1 总体介绍思维导图 2 绪论 2.1 信息化与视频通信 信息就是客观世界的描述和分析,它无处不在,无时不在,具有通用性.抽象性.无限性三个特征.地球上的物质资源是有限的.石油.煤等在一定期限总会被开 ...

  5. 《新一代视频压缩编码标准H.264》

    <新一代视频压缩编码标准H.264> NALU: 网络抽象单元 VCL  video coding layer       视频编码层 NAL  network abstraction l ...

  6. H.264/AVC视频压缩编码标准的新进展

    H .264/AVC是由ISO/IEC与ITU-T组成的联合视频组(JVT)制定的新一代视频压缩编码标准,于2003年5月完成制订.相对于先前的标准,H.264/AVC无论在压缩效率.还是在网络适应性 ...

  7. 《新一代视频压缩编码标准H.264/AVC》

    资料:<新一代视频压缩编码标准H.264/AVC> 毕厚杰 有一些超出 音视频encode decode scope 的content,会过滤阅读,本次学习过程更偏向基础概念的理解,ter ...

  8. 【转】数字音视频压缩编码标准及H.265的编码优势

    在制定数字音视频压缩编码标准的过程中,联合图像专家组(Joint Photographic Experts Group, JPEG).动态图像专家组(Moving Pictures Experts G ...

  9. 图像压缩编码与JPEG压缩编码标准简介

    在介绍图象的压缩编码之前,先考虑一个问题:为什么要压缩?其实这个问题不用我回答,你也能想得到.因为图象信息的数据量实在是太惊人了.举一个例子就明白了,一张A4(210mm*297mm) 幅面的照片,若 ...

最新文章

  1. linux svn使用方法
  2. AnotherRedisDesktopManager下载地址
  3. 编写一个函数,输入n为偶数时,调用方法求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n...
  4. linux gpt引导分区,linux 引导gpt分区windows及clover
  5. 参加第六届中国制造业MES应用年会
  6. Ubuntu 20.04 安装 CUDA10.0和cudnn7.6
  7. 数据结构上机实践第14周项目2 - 二叉树排序树中查找的路径
  8. bzoj2229: [Zjoi2011]最小割(最小割树)
  9. C++ 循环for 引用 for(string : )
  10. TMS320C64x+ DSP-----Cache 优化
  11. 汉诺塔c++_C语言,递归解决汉诺塔问题
  12. cs用服务器运行,如何搭建自己的CS服务器(插件配置篇)
  13. 关于sip协议-3PCC-SIPP工具相关及报错
  14. ictclas linux 64 java 下载,Ubuntu下ICTCLAS JNI的使用
  15. kubernetes中证书生成
  16. BI可视化分析之Pentaho
  17. blg_统考,打印准考证 网页代码!
  18. MAC OS X 安装Scrapy爬虫工具
  19. ​手机微信可以批量删除好友了!(文末送书)
  20. 五大机器学习微信公众号推荐

热门文章

  1. ORA-39171: 作业出现可恢复的等待
  2. RedisUtil - Redis功能介绍,五种数据类型的使用,Spring和Redis的集成
  3. 分布式面试 - 为什么要进行系统拆分?
  4. 根据用户查进程_Linux中的系统进程管理
  5. 【WPF学习】第四十九章 基本动画
  6. 【git clone 报错】fatal: unable to access ‘https://github.com/zimeng303/React.git/‘: Failed to connect
  7. 【树莓派】树莓派(Debian)- root用户无法使用SSH登录
  8. 【Python】Python库之数据可视化
  9. C#LeetCode刷题之#628-三个数的最大乘积( Maximum Product of Three Numbers)
  10. 某安全服务商发布会总结.md