回顾各种编码的创新和异同-MEPG2, MPEG4, H.264/AVC以及H.265/HEVC比较[通俗易懂]

回顾各种编码的创新和异同-MEPG2, MPEG4, H.264/AVC以及H.265/HEVC比较[通俗易懂]1、宏块匹配像素精度:MPEG2中,运动估计的精度是1/2的像素,通过线性插值实现;                     H.264/AVC和MPEG4都可以支持1/4像素的精度.2、参考帧的数量:    MPEG2,MPEG4的P帧只能有一帧参考帧,B帧可以有两帧参考帧,H.264/AVC可以最多有15帧参考帧(创新之处),

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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个量化参数(量化模式:常量化,量化矩阵,自定义有否还不确定);

其他小的细节也很多.

大家也可以再往下比较, H.265/HEVC的比较呢? 其实博文里面之前已经有过H.264/AVC和H.265/HEVC的大量比较.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191795.html原文链接:https://javaforall.net

(0)
上一篇 2026年1月25日 上午10:22
下一篇 2026年1月25日 上午11:01


相关推荐

  • Ubuntu 安装 Eclipse IDE

    Ubuntu 安装 Eclipse IDEUbuntu 安装 EclipseIDETh www eclipse org 编辑 gt 编译 gt 链接 gt 运行 1 Other gt IDEandToolsh www eclipse org ide Eclipse 是一个开放源代码的 基于 Java 的可扩展开发平台 就其本身而言 它只是一个框架和一组服务 用于通过插件组件构建开发环境 它能

    2026年3月20日
    2
  • java的rsa加密算法_用java编程实现RSA加密算法

    java的rsa加密算法_用java编程实现RSA加密算法RSA加密算法是目前应用最广泛的公钥加密算法,特别适用于通过Internet传送的数据,常用于数字签名和密钥交换。那么我今天就给大家介绍一下如何利用Java编程来实现RSA加密算法。一、RSA加密算法描述RSA加密算法是1978年提出的。经过多年的分析和研究,在众多的公开密钥加密算法中,RSA加密算法最受推崇,它也被推荐为公开密钥数据加密标准。由数论知识可知,若将一个具有大素数因子的合数进行分解是…

    2022年5月8日
    303
  • Python 图像处理_图像处理的一般步骤

    Python 图像处理_图像处理的一般步骤Python图像处理基础对我个人而言使用Python图像处理意在取代matlab,集中化使用Python环境保证之后在机器学习和OpenCV的使用上具有一致性,虽然从实验室师兄师姐的口中得知Python的图像处理较之matlab相对复杂(应该只是代码量的问题),但我依然觉得学习python环境比较实用和高效。在进行Python图像处理之前,Pillow是不可或缺的实用性工具,pillow是Py

    2022年10月14日
    4
  • 终身会员卡上线三重大优惠![通俗易懂]

    终身会员卡上线三重大优惠!

    2022年1月31日
    72
  • thinkphp—display与fetch区别

    thinkphp—display与fetch区别

    2021年10月28日
    51
  • MapReduce的shuffling理解

    MapReduce的shuffling理解MapReduce 的 shuffling 理解 1 官方图解上图主要分为三个阶段 Map 分割数据 Reduce 聚合数据重点在 Shuffle 面试 Shuffing 包含 partitionspi sort combiner merge shuffling 具体过程如下 1 Map 端 1 InputSplit 分配给 Map2 Map 过程进行处理 Mapper 任务会接收输入分片 然后不断的调用 map 函数 对记录进行处理 处理完毕后 转换为新的 key value key value

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号