MPEG-4 压缩编码标准
文章转自:http://www.cnblogs.com/CoderTian/p/8477021.html
1.MPEG-4标准概述
- 与MPEG1和MPEG2标准相比,MPEG-4 更加注重多媒体系统的交互性和灵活性,主要应用于可视电话、视频会议等。
- MPEG-4 标准主要包含音视频对象编码工具集和编码对象句法语言两个部分。
- MPEG-4 标准的编码基于对象,便于操作和控制对象,MPEG-4 的对象操作使用户可在终端直接将不同对象进行拼接,得到用户合成图像。
- MPEG-4 具有很好的扩展性,可进行时域和空域的扩展,MPEG-4 可根据带宽和误码率的客观条件,在时域或空域进行扩展。前者指在带宽允许时增加帧率带宽窄时,减少帧率,以达到充分利用带宽;后者指对图像进行采样插值,增加或减少空间分辨率。
- MPEG-4 有多种算法,可根据需要选择,例如区域编码有 DCT、 SADCT、 OWT 等等。
- MPEG-4 为了支持高效压缩、基于内容交互和基于内容分级扩展,以基于内容的方式表示视频数据,引入 AVO(Audio/Video Object)的概念实现基于内容的表示。
2.AVO及数据结构
- VOP(Video Object Plane,视频对象平面)可看作 VO 在某一时刻的表示,即某一帧; GOV(Group of VOPs,视频对象平面组)提供视频流的标记点,标记 VOP 单独解码的时域位置,也即对视频流任意访问的标记;
- VOL(Video Object Layer,视频对象层),用于扩展 VO 的时域和空域分辨率,包含 VO 的三种属性信息;
- VO(Video Object,视频对象)如前所述,为场景中的某个物体,有生命期,由时间上连续的许多帧构成;
- VS(Video Session,视频镜头),一个完整的视频序列由几个 VS 组成。
3.MPEG-4标准构成
MPEG-4 提供自然和合成的音频、视频以及图形的基于对象的编码工具。类似于以前标准,MPEG-4 由若干部分组成, 主要部分为系统、视频和音频。 MPEG-4 码流主要包括基本码流和系统流, 基本码流包括音视频和场景描述的编码流表示,每个基本码流只包含一种数据类型,并通过各自的解码器解码;系统流则指定根据编码视听信息和相关场景描述信息产生交互方式的方法,并描述其交互通信系统。
3.1.系统
MPEG-4 系统把音视频对象及其组合复用成一个场景,提供与场景互相作用的工具,使用户具有交互能力。 MPEG-4 的系统终端模型如下图所示
3.2.音频
3.3.视频
MPEG-4 支持对自然和合成视觉对象的编码。合成的视觉对象包括 2D、 3D 动画和人面部表情动画等。对于静止图像,
MPEG-4 采用零树小波算法(Zerotree Wavelet Algorithm),以提高压缩比,同时还提供多达 11
级的空间分辨率和质量的可伸缩性。对于运动视频对象的编码, MPEG-4 采用了如下图 所示编码框图,以支持对象的编码。
- DC 预测,可选择当前块的前一块或者后一块作为当前 DC 值
- AC 预测, DCT 系数的 AC 预测在 MPEG-4 中是新的。选择用来预测 DC 系数的块也用于预测一行 AC 系数。AC
预测对于具有粗糙纹理、对角边缘或水平以及垂直边缘的块效果不佳。在块级切换 AC 预测的通断是所希望的,但这代价太大,一般在宏块级作出 - 交替水平扫描,这种扫描被添加到 MPEG-2 的两种扫描中。 MPEG-2 的交替扫描在 MPEG-4中被称为交替垂直扫描
- 三维 VLC, DCT 系数编码与 H.263 类似
- 四个运动矢量,允许宏块的四个运动矢量,与 H.263 类似
- 无约束运动矢量,与 H.263 相比,可以使用宽得多的±048 像素的运动矢量范围
- 子图形,子图形基本上是一个传输到解码器的大背景图像,为了显示,编码器传送该图像的一部分并映射到屏幕上仿射映射参数。通过改变映射,解码器可以放大和缩小子图形,以及向左或向右。
- 全局运动补偿,为了补偿由于摄像机运动、摄像机变焦或者大运动物体引起的全局运动,按照下列公式的八参数运动模型进行补偿:
- 四分之一像素运动补偿,主要目的是以小的语法和计算上代价来提高运动补偿的分辨率,得到更精确的运动描述和较小的预测误差。四分之一像素运动补偿只用于亮度像素,色度像素则是用半像素精度运动补偿。
- 形状编码:相对以前标准而言, MPEG-4 第一次引入形状编码的压缩算法。编码的形状信息有两种:二值形状信息(Binary Shape Information)和灰度级形状信息(Grey Scale Shape Information)。二值形状信息为用 0、 1 的方式表示编码 VOP 形状, 0 表示非 VOP 区域, 1 表示 VOP 区域;灰度级形状信息可取值 0~255, 0 表示非 VOP 区域(即透明区域), 1~255 表示透明度不同的区域, 255 表示完全不透明。 灰度级形状信息的引入主要为了使前景物体叠加到背景上时,边界不至于太明显、生硬,进行“模糊”处理。MPEG-4 采用位图法表示这两种形状信息。 VOP 被一个“边框”框住,如下图所示
的形状块,允许进行有损编码,这要通过对边界信息子采样实现,同时允许使用宏块运动矢量作形状块的运动补偿。为了得到语义上更方便的描述,以支持基于内容的操作,
MPEG-4 还引入基于上下文的算术编码。
- 运动估计和运动补偿:类似于以前的压缩标准(MPEG-1、 H.263 等)的三种帧格式: I、 P、 B, MPEG-4 的 VOP 也有三种相应的帧格式: I-VOP、 P-VOP、 B-VOP,表示运动补偿类型的不同。运动估计和补偿可以基于宏块,也可基于块。
- 纹理编码:纹理信息可能有两种:内部编码的 I-VOP 像素值和帧间编码的 P-VOP、 B-VOP 的运动估计残差值。 MPEG-4 采用基于分块的纹理编码, VOP 边框仍分为 16×16 的宏块。
MPEG-4 压缩编码标准的更多相关文章
- 5.MPEG-4 压缩编码标准
1.MPEG-4标准概述 与MPEG1和MPEG2标准相比,MPEG-4 更加注重多媒体系统的交互性和灵活性,主要应用于可视电话.视频会议等. MPEG-4 标准主要包含音视频对象编码工具集和编码对象 ...
- M-JPEG和MPEG-4的区别 M-JPEG VS MPEG
http://blog.sina.com.cn/s/blog_4b357b300100gre9.html M-JPEG VS MPEG http://blog.csdn.net/bluesky_sun ...
- 视频基础知识:浅谈视频会议中H.264编码标准的技术发展
浅谈视频会议中H.264编码标准的技术发展 浅谈视频会议中H.264编码标准的技术发展 数字视频技术广泛应用于通信.计算机.广播电视等领域,带来了会议电视.可视电话及数字电视.媒体存储等一系列应用,促 ...
- 流媒体 5——MPEG声音
1. 听觉系统的感知特性: MPEG声音的数据压缩和编码不是依据波形本身的相关性和模拟人的发音器官的特性,而是利用人的听觉系统的特性来达到压缩声音数据的目的,这种压缩编码称为感知声音编码. 许多科学工 ...
- HTML5视频Video 音频Audio
视频协议 视频格式 Flash HTML5 HTTP flv HTTP f4v HTTP mp4 HTTP m3u8 HTTP webm HTTP ogg RTMP flv RTMP f4v RTMP ...
- 【如何快速的开发一个完整的iOS直播app】(原理篇)
原文转自:袁峥Seemygo 感谢分享.自我学习 目录 [如何快速的开发一个完整的iOS直播app](原理篇) [如何快速的开发一个完整的iOS直播app](播放篇) [如何快速的开发一个完整的 ...
- 各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式
编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放 license收费等 ...
- iOS:app直播---原理篇
[如何快速的开发一个完整的iOS直播app](原理篇) 转载自简书@袁峥Seemygo:http://www.jianshu.com/p/7b2f1df74420 一.个人见解(直播难与易) 直播 ...
- H.264码流结构解析
from:http://wenku.baidu.com/link?url=hYQHJcAWUIS-8C7nSBbf-8lGagYGXKb5msVwQKWyXFAcPLU5gR4BKOVLrFOw4bX ...
随机推荐
- Two PWM outputs from MCU combine to form a monotonic 16-bits DAC
http://www.edn.com/design/analog/4329365/Combine-two-8-bit-outputs-to-make-one-16-bit-DAC
- 深入Delphi下的DLL编程
深入Delphi下的DLL编程 作者:岑心 引 言 相信有些计算机知识的朋友都应该听说过“DLL”.尤其是那些使用过windows操作系统的人,都应该有过多次重装系统的“悲惨”经历——无论再怎样小心, ...
- spring学习之@ModelAttribute运用详解
@ModelAttribute使用详解 1.@ModelAttribute注释方法 例子(1),(2),(3)类似,被@ModelAttribute注释的方法会在此controller每个方法 ...
- ffmpeg的IO操作
ffmpeg 可以通过IO操作将数据读取和存储在文件或网络中 作为数据的读取和写入地址,数据被存放在file,http, ffmpeg 不仅可以编解常用的音视频格式,还可以将数据导入/导出到各种媒介中 ...
- Visual SVN 企业版代码管理平台的建设
通常需要完整的SVN的代码管理平台系统的搭建,需要安装三个文件,Visual SVN server , TortoiseSVN, Visual SVN. Visual SVN server 企业版 ...
- java多线程知识汇总(三)如何选择锁?如何加锁
1.锁,保证的是被锁的代码,一次执行完毕才能被其他线程执行,锁保证了一个线程执行过程中不被其他线程打断.以保证数据的准确性. 2.数据的读写过程,是有冲突的,当一个线程正在读数据,另一个线程正在写同一 ...
- .NET:动态代理的 “5 + 1” 模式
背景 什么叫“动态代理”,代理模式我们都知道,动态代理就是动态生成的代理(采用Emit). 重量级的ORM和IOC产品离不开动态代理,作为开发人员,多数情况不用关注动态代理的内部实现机制,但是了解其一 ...
- UIButton 设置圆角 边框颜色 点击回调方法
UIButton *signBtn = [UIButton buttonWithType:UIButtonTypeCustom]; signBtn.frame = CGRectMake(, , , ) ...
- [翻译] YLGIFImage 高效读取GIF图片
YLGIFImage 高效读取GIF图片 https://github.com/liyong03/YLGIFImage Asynchronized GIF image class and Image ...
- Windows之权限的继承性 累加性 优先性 交叉性及四项基本原则
Windows NT以后的文件,及文件夹共享设置有以下特性:继承性.累加性.优先性.交叉性. 继承性是说下级的目录在没有经过重新设置之前,是拥有上一级目录权限设置的.这里还有一种情况要说明一下 ...