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-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 的宏块。
转载于:https://www.cnblogs.com/boonya/p/8572071.html
MPEG-4 压缩编码标准相关推荐
- 【转】数字音视频压缩编码标准及H.265的编码优势
在制定数字音视频压缩编码标准的过程中,联合图像专家组(Joint Photographic Experts Group, JPEG).动态图像专家组(Moving Pictures Experts G ...
- 视频压缩编码标准,深入浅出,图文并茂
1 总体介绍思维导图 2 绪论 2.1 信息化与视频通信 信息就是客观世界的描述和分析,它无处不在,无时不在,具有通用性.抽象性.无限性三个特征.地球上的物质资源是有限的.石油.煤等在一定期限总会被开 ...
- H.264/AVC视频压缩编码标准的新进展
H .264/AVC是由ISO/IEC与ITU-T组成的联合视频组(JVT)制定的新一代视频压缩编码标准,于2003年5月完成制订.相对于先前的标准,H.264/AVC无论在压缩效率.还是在网络适应性 ...
- php图片的编码是什么,jpeg是什么图像压缩编码标准
jpeg是面向连续色调静止图像的压缩编码标准:其主要是采用预测编码.离散余弦变换以及熵编码的联合编码方式,以去除冗余的图像和彩色数据,属于有损压缩格式,它能够将图像压缩在很小的储存空间,一定程度上会造 ...
- 《新一代视频压缩编码标准H.264/AVC》
资料:<新一代视频压缩编码标准H.264/AVC> 毕厚杰 有一些超出 音视频encode decode scope 的content,会过滤阅读,本次学习过程更偏向基础概念的理解,ter ...
- 《新一代视频压缩编码标准H.264》
<新一代视频压缩编码标准H.264> NALU: 网络抽象单元 VCL video coding layer 视频编码层 NAL network abstraction l ...
- 笔记:新一代视频压缩编码标准-h.264/AVC
第一章绪论: 信源模型: 1.基于波形的编码.基于波形的编码采用了把预测编码和变化编码组合起来的基于块的混合编码方法. 2.基于内容的编码.mpeg4采用的编码方法即是基于块的混合编码,又有基于内容的 ...
- 音视频方案,音视频扩展内容(RTMP,FFMpeg/H.26*/mpeg*/AVC等标准与协议)(笔记)1,视频格式
视频方案,雷霄骅的专栏- http://blog.csdn.net/leixiaohua1020 > SI, TI ITU-R BT.1788建议使用时间信息(TI,Temporal pe ...
- 数据压缩实验八:MPEG音频压缩编码
一.MPEG编码概述 1.1 关于MPEG 1.1.1 整体框架 多相滤波器组:将PCM样本变换到32个子带的频域信号.如果输入的采样频率为48kHz,那么子带的频率宽度为48kHz/(2*32)=0 ...
最新文章
- stream filter 用法_JDK1.8新特性Stream和Collectors19个常用示例总结
- LSGO代码小组第17周复盘日志
- ORACLE10g安装
- BUUCTF(Pwn) rip
- PHP+AJAX 投票器功能
- 编译linux源码,linux源码树编译
- queryrunner带参数的构造函数和不带参数的构造函数有什么区别_再谈构造函数、原型、原型链之间的关系...
- 八、Mysql 间隙锁(gap 锁)与慢查询
- 心得:调整边缘、叠加模式的妙用
- mysqldump备份过程中都干了些什么
- XZ_iOS iOS13浅色模式/暗黑模式导航栏颜色不自动适配
- C语言数据结构理解语句L = (LNode * )malloc(sizeof(LNode));
- 成绩出来了!700 分也上不了清华,究竟该如何从内卷中走出来!肺腑之言,建议转发给亲戚朋友们!
- iOS开发初学者入门需要学习哪些知识?
- 字节面试算法题:用集合中的数凑小于target的最大数(Java实现,各类用例均通过)
- 【E类】Linux视频课程集
- 故宫买票显示服务器开小差,比春运车票还难抢的故宫灯会 预约系统直接崩溃...
- 网盘限速怎么办? 小编来支招!
- backpressure 背压介绍
- c语言模拟洛伦兹吸引子,洛伦兹吸引子相图的简易实现.pdf
热门文章
- SQA计划和验收测试规程设计
- Swift 导出本地化和导入本地化
- “HTTPS”安全在哪里?
- WAMP显示错误“MSVCR100.dll”缺少安装时
- android x866.0 教程,海尔暴风AmlogicT866平台升级步骤教程
- 路由到另外一个页面_如何在多个页面中,引入一个公共组件
- ReplicaStateMachine分析
- (2)ZYNQ FPGA加载比特流(FPGA不积跬步101)
- (88)FPGA二分频设计,面试必问(十二)(第18天)
- (43)Xilinx RAM IP核配置(四)(第9天)