mpeg1、mpeg2和mpeg4标准对比分析和总结
mpeg1、mpeg2和mpeg4标准对比分析和总结
来源 https://blog.csdn.net/SoaringLee_fighting/article/details/83627824
mpeg1、mpeg2和mpeg4标准对比
0、参考
(1). MPEG2、MPEG4、H264的差异和简介
(2). MPEG-2标准总结文档
(3). mpeg1、mpeg2与mpeg4码流结构区别分析
(4). MPEG-2与MPEG-1和H.261、H.264标准技术(工具集)区别分析
(5). JPEG、MPEG-1、MPEG-2和MPEG-4编解码流程对比
1、编解码流程
详细mpeg1,mpeg2和mpeg4的编解码流程可以参考:
JPEG、MPEG-1、MPEG-2和MPEG-4编解码流程对比
MPEG-1标准主要采用基于插值的运动补偿预测+DCT+量化+VLC熵编码的技术;MPEG-2标准在MPEG-1的基础上增加了Scan过程并且码流语法中增加了多种extension,以支持更高分辨率和更多码率的编码。MPEG-4标准主要是面向对象的编码以支持应用的交互性操作。MPEG-4解码器分成了纹理解码、运动解码、形状解码、人脸解码等模块,MPEG-4标准中纹理解码模块,在MPEG-2标准基础上在Quant之后增加了对残差系数进行DC/AC预测过程,进一步降低编码冗余。
2、编码码流结构
编码码流结构可以参考:mpeg1、mpeg2与mpeg4码流结构区别分析
从三种标准的码流分层结构可以看出,MPEG-1和MPEG-2的码流结构非常相似,唯一区别是MPEG-2码流中的Sequence_header后面必须紧跟sequence_extension,否则就是MPEG-1的码流。两者都具有相似的分层结构,从上到下分别包括Sequence、GOP、Picture、Slice、Macroblock和Block,每一层开头都包含一个header,后面紧跟相关数据,每个header的识别都是根据起始码进行判断的。
MPEG-4标准是面向对象的,因而分层结构也是对象相关的,从上到下分别是Visual Object Sequence(VS)、Video Object(VO)、Video Object Layer (VOL)、Group of Video Object Planes (GOV)和 Video Object Plane (VOP),每一层开头都包含一个header,后面紧跟相关数据,每个header的识别都是根据起始码进行判断的。
注意:MPEG-4后来的替代标准H.264的码流结构不同于之前的标准,采用的是nal单元的形式,每个nal中包含相应的头数据和编码数据。
3、参考帧
MPEG-1,MPEG2,MPEG4标准中的P帧只能有一帧参考帧(单参考),B帧可以有两帧参考帧;
H.264可以最多有15帧参考帧,一般情况下选择3-5帧作为参考帧。
4、编码码流的句法和语义
由于MPEG-2标准向下兼容MPEG-1,MPEG-1和MPEG-2标准中的大部分语法和语义是相同的,但是MPEG-1标准不包括序列扩展数据、图像扩展数据和用户扩展数据。
MPEG-4标准是面向对象的,其编码码流的句法和语义与MPEG-1和MPEG-2差异比较大。
5、支持特性对比
MPEG-1支持的特性:(标准I.6)
随机访问
快进或快退(快速搜索)
回放
错误鲁棒性
编辑
MPEG-2支持的特性:(标准Annex D)
支持更高的分辨率和码率:
MPEG-1: 最高大约1.5Mbps
MPEG-2:3Mbps~100Mbps
MPEG-1支持SIF(352x240 for NTSC,352x288 for PAL)格式和CPS(Constrained Parameter Set)中的其他分辨率;
MPEG-2标准支持更高的分辨率,比如D1,720P等。
支持逐行编码和隔行编码;
支持不同的色度采样格式(4:2:0,4:2:2,4:4:4);
支持很大范围内的图像质量。
支持随机访问
快进和快速回放
编辑
支持解码MPEG-1码流
错误复原
MPEG-4支持的特性:(标准 Annex E)
错误复原:GOB重同步、数据分割、可逆VLC
复杂度估计
6、编解码模块细节对比
部分可以参考:MPEG-2与MPEG-1和H.261、H.264标准技术(工具集)区别分析
================= End
mpeg1、mpeg2和mpeg4标准对比分析和总结的更多相关文章
- 前端基本知识(一):W3C标准&&冒泡事件,捕获事件,W3C DOM对象模型,对比分析
W3C标准是万维网联盟, 其他的可以参考万维网版本的更新内容 一.W3C标准 二.W3C DOM事件 三.冒泡事件 四.捕获事件 一.W3C标准 其实网页是由三分部组成:1.结构(structure) ...
- MPEG2、MPEG4、H264的差异
iso(国际标准化组织) MPEG系列 ITU-T(国际电联)h.系列 H.264:iso与ITU联合制定,数据压缩比超牛! MPEG-2简介 MPEG-2制定于1994年,设计目标是高级工业标准的图 ...
- 【miscellaneous】MPEG2、MPEG4、H264的差异
MPEG2.MPEG4.H264的差异 MPEG-2简介 MPEG-2制定于1994年,设计目标是高级工业标准的图象质量以及更高的传输率.MPEG-2所能提供的传输率在3-10Mbits/sec间,其 ...
- Android和Linux应用综合对比分析
原文地址:http://www.cnblogs.com/beer/p/3325242.html 免责声明: 当时写完这篇调查报告,给同事看了后,他觉得蛮喜欢,然后想把这篇文章修改一下,然后往期刊上发表 ...
- AMBA总线协议AHB、APB、AXI对比分析【转】
转自:https://blog.csdn.net/ivy_reny/article/details/56274412 一.AMBA概述 AMBA (Advanced Microcontrolle ...
- Python、R对比分析
一.Python与R功能对比分析 1.python与R相比速度要快.python可以直接处理上G的数据:R不行,R分析数据时需要先通过数据库把大数据转化为小数据(通过groupby)才能交给R做分析, ...
- DICOM:DICOM三大开源库对比分析之“数据加载”
背景: 上一篇博文DICOM:DICOM万能编辑工具之Sante DICOM Editor介绍了DICOM万能编辑工具,在日常使用过程中发现,“只要Sante DICOM Editor打不开的数据,基 ...
- 微软和Google的盈利模式对比分析
一: 微软和Google是世界上最成功科技巨头之一,但他们之间却有着不同的产品和业务,二者的盈利方式也各有不同,本文将分析和探讨的二者盈利模式的异同. 微软的盈利模式 在1975年由大学肄业的Bill ...
- 转: 三大WEB服务器对比分析(apache ,lighttpd,nginx) (2008年的旧文,仅供参考之用)
from: http://www.blogjava.net/daniel-tu/archive/2008/12/29/248883.html 三大WEB服务器对比分析(apache ,lighttp ...
随机推荐
- DevOps时代的软件过程改进探讨 杨振涛 云加社区 今天 作者:杨振涛,腾讯云TVP 本文从Jenkins,DevOps,云原生等视角探讨了软件过程改进在各个时代的挑战和价值,重新审视了SPI在软件开发和交付的效率和质量提升方面的意义
DevOps时代的软件过程改进探讨 杨振涛 云加社区 今天 作者:杨振涛,腾讯云TVP 本文从Jenkins,DevOps,云原生等视角探讨了软件过程改进在各个时代的挑战和价值,重新审视了SPI在软件 ...
- mac上运行shell脚本遇到回车字符错误
今天运行一段其他人给的shell脚本,遇到如下问题,这个脚本的内容如下: dname=\((dirname "\)PWD") mkdir ${dname}"/rom_pu ...
- ubuntu更强大的包管理工具:aptitude
aptitude 与 apt-get 一样,是 Debian 及其衍生系统ubuntu上 一个强大的包管理工具.与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些.apt ...
- LC 516. Longest Palindromic Subsequence
Given a string s, find the longest palindromic subsequence's length in s. You may assume that the ma ...
- osgViewer:: Viewer::advance() osg多线程与智能指针
void ViewerBase::frame(double simulationTime) { if (_done) return; // OSG_NOTICE<<std::endl< ...
- pyenv管理python版本
一.介绍 pyenv 是 Python 版本管理工具. pyenv 可以改变全局的 Python 版本,安装多个版本的 Python, 设置目录级别的 Python 版本,还能创建和管理 virtua ...
- Python 解析式、生成器
标准库datetime datetime模块 对日期.时间.时间戳的处理 datetime类 类方法 today() 返回本地时区当前时间的datetime对象 now(tz=None) 返回当前时间 ...
- jQuery学习三——事件
代码如下: <!DOCTYPE html> <html> <head> <title>jquery事件</title> </head& ...
- orcale11g安装
一.centos7.5安装orcale 安装环境 内存最小1G,推荐2G或者更高 内存为1-2g,swap是内存的1.5倍左右 内存大于2G, swap和内存相等 硬盘最小为30G oracle版本 ...
- DOS与cmd(windows)
dos是计算机的最初期的操作系统,对电脑操作必须输入各种dos命令窗口,可以理解成运行计算机机器内部语言,知道编程吗?其实早期dos命令操作系统就是运行计算机内部的编程命令,因此操作人员都必须具有一定 ...