博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
回顾各种编码的创新和异同-MEPG2, MPEG4, H.264/AVC以及H.265/HEVC比较(转)
阅读量:6689 次
发布时间:2019-06-25

本文共 1054 字,大约阅读时间需要 3 分钟。

由于工作的需求,我也参与了公司H.265 Decoder 开发工作,现在decoder在Cortex-A9, 1.2G  单个Core, QP = 28, bitrate 1.5mpbs, 720p 能解40fps。在这转载一下这篇主流的视频编解码器简单的总结blog, 写的还不错。

1、宏块匹配像素精度: MPEG2中,运动估计的精度是1/2的像素,通过线性插值实现;

                      H.264/AVC和MPEG4 都可以支持1/4像素的精度.

2、参考帧的数量:     MPEG2,MPEG4的P帧只能有一帧参考帧,B帧可以有两帧参考帧 ,H.264/AVC可以最多有15帧参考帧(创新之处),

                      一般情况下选择3-5帧作为参考帧.

3、滤波器的结构:    插值滤波器不同,在MPEG4里面是简单的线性插值,

                     而H.264/AVC里面是5抽头的滤波器(首次提出环路滤波概念);

                     MPEG2没有环内deblocking工具,MPEG4有deblocking工具,但是属于postprocessing;

                     H.264/AVC有环内deblocking工具.  4、I帧的编码:       MPEG2没有INTRA预测,但是有DC参数预测;MPEG4没有INTRA预测,支持DC预测,

                                     并且支持两个AC参数的预测(这可以理解为早期的帧内预测)。H.264/AVC支持INTRA预测,

                     4*4共有9种模式(这就是H.264的创新之处). 

5、匹配宏块大小的区别:MPEG2最小匹配块尺寸为8*8,MPEG4同样也为8*8,

                       H.264/AVC最小可以到4*4尺寸(创新点,不过复杂度成倍增加)

6、DCT变换的不同:   MPEG系列为8*8的DCT变换,逆变换时会出现漂移现象;

                     H.264/AVC为整数4*4的DCT变换,而且直流系数经过HADMARD变换之后做的DCT变换,

                     整数DCT变换可以防止逆变 换时出现漂移现象.

7、量化之后的编码:  MPEG2/MPEG4则都是基于huffman,并且头部的语法相对比较简单,很少使用变长码; 

                     H.264/AVC提供基于上下文的CAVLC和CABAC(复杂,但是节省码流) 。

8、编码之后的结构:  MPEG2/MPEG4都是分层结构;

                     H.264/AVC则是提供NAL单层结构,提供参数集合的形式

9、量化参数的区别:  MPEG4提供31个量化参数(量化模式:常量化,系统默认量化矩阵,自定义量化矩阵),

                     H.264/AVC提供51个量化参数(量化模式:常量化,量化矩阵,自定义有否还不确定);

 

转自:

 

你可能感兴趣的文章
Canvas - 时钟绘制
查看>>
linux-vsftp
查看>>
modelsim 中如何加载多个对比波形文件
查看>>
Linux内核抢占与中断返回【转】
查看>>
Linux 文件操作监控inotify功能及实现原理【转】
查看>>
linux arm的存储分布那些事之一
查看>>
Spring下redis的配置
查看>>
vs2010在进行数据架构比较时报'text lines should not be null'错误
查看>>
13th_july_scrapy-splash
查看>>
新浪招聘的图片滚动控制JS效果
查看>>
jeecg入门操作—表单界面
查看>>
如何折分字符串技巧讨论-总结
查看>>
第24课 经典问题解析二
查看>>
Material Design 组件之NavigationView
查看>>
【Android】3.13 路径规划功能
查看>>
工作中记录一 list转树
查看>>
spring踩坑
查看>>
Delphi按名字调用方法高级解决方案
查看>>
关于对象与类型
查看>>
转:程序员面试什么最重要
查看>>