运动图像国际压缩标准-整理_图像视频编码的国际标准以及每种图像和视频编码的技术特点-程序员宅基地

技术标签: 机器学习  信息压缩  

1. H.261,H.263,H.264压缩标准原理,框图,特点,应用
2. MPEG-1,MPEG-2,MPEG-4压缩标准原理,框图,特点,应用
3. H.264与MPEG-2两种压缩标准的区别与应用

1. H.261,H.263,H.264压缩标准原理,框图,特点,应用

1.1 H.261

1.1.1 介绍

数字电视会议格式。
解决不同厂商间的产品兼容性问题,推动电视会议系统的发展。

1.1.2 原理

在帧间编码时采用了基于 16x16的宏块和整像素精度的运动估计,帧间预测来消除空域冗余,并使用了运动矢量来进行运动补偿。而在帧内编码时采用了 8x8数据块的DCT离散余弦变换来消除空域的冗余。然后对变换后的系数进行阶梯量化,之后对量化后的变换系数进行Zig-zag扫描,并进行熵编码(使用Run-Level变长编码)来消除统计冗余。这些算法有效地压缩了视频序列在时间和空间上的冗余度,使得 H.261具有较高的压缩比,适用于P*64kbit/s码率(P 取1~30)。
H.261编码时基本的操作单位称为宏块。H.261使用YCbCr颜色空间,并采用4:2:0色度抽样,每个宏块包括16x16的亮度抽样值和两个相应的8x8的色度抽样值.
编码程序设计的码率是能够在40kbps到2Mbps之间工作,能够对CIF和QCIF分辨率的视频进行编码,即亮度分辨率分别是352x288和176x144,色度采用4:2:0采样,分辨率分别是176x144和88x72。

1.1.3 框图

在这里插入图片描述在这里插入图片描述

1.1.4 特点

1)实际的编码算法类似于MPEG算法,但不能与后者兼容。
2)H.261在实时编码时比MPEG所占用的CPU运算量少得多,
为优化带宽占用量,引进了在图像质量与运动幅度之间的平衡折中机制
剧烈运动的图像比相对静止的图像质量要差。
3)恒定码流可变质量编码而非恒定质量可变码流编码。

1.1.5 应用

可以用于ISDN。综合业务数字网(Integrated Services Digital Network,ISDN)是一个数字电话网络国际标准,是一种典型的电路交换网络系统。

1.2 H.263

1.2.1 介绍

用于LAN/IP网络的数字电视会议格式
应用程序视频会议和视频电信有很广泛使用

1.2.2 原理

H.263 视频编码标准是专为中高质量运动图像压缩所设计的低码率图像压缩标准。H.263 采用运动视频编码中常见的编码方法,将编码过程分为帧内编码和帧间编码两个部分。帧内用改进的DCT 变换并量化,在帧间采用1/2 像素运动矢量预测补偿技术,使运动补偿更加精确,量化后适用改进的变长编码表(VLC)地量化数据进行熵编码,得到最终的编码系数。图象被编码为一个亮度信号和两个色差成分(Y,CB和CR)。
与H.261 的p×64K 的传输码率相比,H.263的码率更低,单位码率可以小于 64K,且支持的原始图像格式更多,包括了在视频和电视信号中常见的QCIF,CIF,EDTV,ITU-R 601,ITU-R 709 等等。
H.263的编码速度快,其设计编码延时不超过150ms;码率低,在512 K 乃至 384K 带宽下仍可得到相当满意的图像效果,十分适用于需要双向编解码并传输的场合(如:可视电话)和网络条件不是很好的场合(如:远程监控)。

1.2.3 特点

H.263标准在低码率下能够提供比H.261更好的图像效果,两者的区别有:
1、H.263的运动补偿使用半像素精度,而H.261则用全像素精度和环路滤波;
2、数据流层次结构的某些部分在H.263中是可选的,使得编解码可以配置成更低的数据率或更好的纠错能力;
3、H.263包含四个可协商的选项以改善性能;
4、H.263采用无限制的运动向量以及基于语法的算术编码;
5、采用事先预测和与MPEG中的P-B帧一样的帧预测方法;
6、H.263支持5种分辨率,即除了支持H.261中所支持的QCIF和CIF外,还支持SQCIF、4CIF和16CIF,SQCIF相当于QCIF一半的分辨率,而4CIF和16CIF分别为CIF的4倍和16倍。

1.2.4 应用

桌面环境或室内环境下的会议系统通过Internet或电话线路实现的视频通信电子监视和操作运程医疗(在运程进行医学咨询和诊断)基于计算机的培训与教育在每种应用中,视频信息(也许与音频信息一块儿)被通过电信通讯联接传输,包括网络,电话线路,ISDN和广播的形式。视频有宽频的特征(比如说每秒很多字节)这些,这些应用就需要对视频进行压缩或是进行编码来在传输之前降低带宽值。

1.3 H.264

1.3.1 介绍

高度压缩数字视频编解码器标准

1.3.2 原理

H.264的基本编码框架类似于H.261的编码框架,其中预测、变换、量化、熵编码等模块没有发生根本变化,但在每一个功能模块中都引入了新的技术,实现更高的压缩性能。算法结构上采用分层处理以适应不同的传输环境,提高传输效率。
包含3个档次:
基本:面向复杂度低、传输延迟小的应用对象
主要:面向运动特性复杂、快速、传输延迟大的应用对象
扩展:面向应用要求更高的对象
主要技术:
(1) 多帧多模式运动预测
可以从当前帧的前几帧中选择一帧作为参考帧对宏块运动预测。
将图像分成1组1616的亮度宏块和两组88的色度宏块,对16x16宏块分解为4种子块,8*8宏块子分解为4种子块。
在这里插入图片描述
多种宏块尺可以更灵活得与图像中物体的运动特性相匹配。尺寸大适用于变化小或平滑区域,尺寸小适用于变化大或细节较多区域。
(2) 整数变换
可分离整数变换,一方面计算比较简单(加法和位移),另一方面,整数变换的反变换还是整数变换,避免舍入误差。
(3) 熵编码
支持两种,上下文适应变长编码(CAVLC),上下文适应二值算术编码(CABAC)。CABAC编码性能好,但计算复杂度高。
(4) 自适应环内消块效应滤波器
消除基于块的编码导致的块状失真

1.3.3 特点

1.更高的编码效率:同H.263等标准的特率效率相比,能够平均节省大于50%的码率。
2.高质量的视频画面:H.264能够在低码率情况下提供高质量的视频图像,在较低带宽上提供高质量的图像传输是H.264的应用亮点。
3.提高网络适应能力:H.264可以工作在实时通信应用(如视频会议)低延时模式下,也可以工作在没有延时的视频存储或视频流服务器中。
4.H.264的编码选项较少:在H.263中编码时往往需要设置相当多选项,增加了编码的难度,而H.264做到了力求简洁的“回归基本”,降低了编码时复杂度。
5.H.264可以应用在不同场合:H.264可以根据不同的环境使用不同的传输和播放速率,并且提供了丰富的错误处理工具,可以很好的控制或消除丢包和误码。
6.错误恢复功能:H.264提供了解决网络传输包丢失的问题的工具,适用于在高误码率传输的无线网络中传输视频数据。
7.较高的复杂度:H.264性能的改进是以增加复杂性为代价而获得的。据估计,H.264编码的计算复杂度大约相当于H.263的3倍,解码复杂度大约相当于H.263的2倍。

1.3.4 应用

H.264能工作在低延时模式以适应实时通信的应用(如视频会议),同时又能很好地工作在没有延时限制的应用,如视频存储和以服务器为基础的视频流式应用。H.264提供包传输网中处理包丢失所需的工具,以及在易误码的无线网中处理比特误码的工具。

2. MPEG-1,MPEG-2,MPEG-4压缩标准原理,框图,特点,应用

2.1 MPEG-1

2.1.1介绍

数字运动视频压缩格式(低端娱乐视频和多媒体)
MPEG-1是MPEG组织制定的第一个视频和音频有损压缩标准。

2.1.2 原理

使用的有关压缩编码技术与H.261基本相同。
逐行扫描图像,H.261中为隔行扫描。
将序列图像分成3种类型编码,I,B,P,多帧联合编码,压缩率达50:1~200:1。
非对称,进行压缩的计算复杂度(硬件)比解压大很多,适用于信号从一个源产生,但需要分配给许多接收者。

2.1.3 特点

随机访问,灵活的帧率、可变的图像尺寸、定义了I-帧、P-帧和B-帧 、运动补偿可跨越多个帧 、半像素精度的运动向量 、量化矩阵、GOF结构 、slice结构 、技术细节、输入视频格式。

2.1.4 应用

主要用于数字媒体上压缩视频数据的存储和提取,在CD-ROM光盘视频(VCD)中得到广泛使用

2.2 MPEG-2

2.2.1 介绍

数字运动视频压缩格式(高端分辨率)
它的正式名称为“基于数字存储媒体运动图像和语音的压缩标准”。与MPEG-1标准相比,MPEG-2标准具有更高的图像质量、更多的图像格式和传输码率的图像压缩标准。MPEG-2标准不是MPEG-1的简单升级,而是在传输和系统方面做了更加详细的规定和进一步的完善。它是针对标准数字电视和高清晰电视在各种应用下的压缩方案,传输速率在3 Mbit/s~10 Mbit/s之间。

2.2.2 原理

不同档次:
在这里插入图片描述
利用了图像中的两种特性:空间相关性和时间相关性。
可以用于电视播放,支持隔行扫描
使用的有关压缩编码技术与H.261基本相同。
主要用于场景变化很快的情况,规定每过15帧图编一次帧

2.2.3 特点

支持图像分辨率高,可用相对较少的存储空间来存储视、音频信息,并能较好的恢复。支持包括高速运动在内的活动图像。

2.2.4 应用

MPEG-2标准特别适用于广播质量的数字电视的编码和传送,被用于无线数字电视、DVB(Digital Video Broadcasting,数字视频广播)、数字卫星电视、DVD(Digital Video Disk,数字化视频光盘)等技术中。

2.3 MPEG-4

2.3.1 介绍

稳健的运动视频低码率压缩格式
MPEG-4与MPEG-1和MPEG-2有很大的不同。MPEG-4不只是具体压缩算法,它是针对数字电视、交互式绘图应用(影音合成内容)、交互式多媒体(WWW、资料撷取与分散)等整合及压缩技术的需求而制定的国际标准。
MPEG-4标准将众多多媒体应用集成于一个完整框架内,旨在为多媒体通信及应用环境提供标准算法及工具,从而建立起一种能被多媒体传输、存储、检索等应用领域普遍采用的统一数据格式。

2.3.2 原理

MPEG-4的编码理念是:MPEG-4标准同以前标准的最显著的差别在于它是采用基于对象的编码理念,即在编码时将一幅景物分成若干在时间和空间上相互联系的视频音频对象,分别编码后,再经过复用传输到接收端,然后再对不同的对象分别解码,从而组合成所需要的视频和音频。这样既方便我们对不同的对象采用不同的编码方法和表示方法,又有利于不同数据类型间的融合,并且这样也可以方便的实现对于各种对象的操作及编辑。
MPEG-4包含了MPEG-1及MPEG-2的绝大部分功能及其他格式的长处,并加入及扩充对虚拟现实模型语言(VRML,Virtual Reality Modeling Language)的支持,面向对象的合成文件(包括音效,视频及VRML对象),以及数字版权管理(DRM)及其他交互功能。而MPEG-4比MPEG-2更先进的其中一个特点,就是不再使用宏区块做视频分析,而是以视频上个体为变化记录,因此尽管视频变化速度很快、码率不足时,也不会出现方块画面。

2.3.3 特点

1.提供了基于内容的多媒体数据访问工具,如索引、超级链接、上下载、删除等。
2.更高的编码效率
3.提供了易出错环境的鲁棒性,来保证其在许多无线和有线网络以及存储介质中的应用
4.引入视觉对象目标(分层目标区域)的概念

2.3.4应用

因特网视音频广播,无线通信,静止图像压缩,电视电话,计算机图形动画与仿真,电子游戏

3. H.264与MPEG-2两种压缩标准的区别与应用

H.264的压缩率为MPEG-2的2倍以上(3M的MPEG-2质量相当于1.4M的H.264的图像质量)。
H.264与MPEG-2的不同还存在于纠错编码块中,H.264的纠错编码为内容自适应可变长度码(CAVLC)和内容自适应二进制算法编码(CABAC),能提高纠错能力。而MPEG-2为霍夫曼编码。
H.264还加入了MPEG-2没有的环路滤波器,有降低噪声的效果。H.264的整数变换以4×4像素块为单位,已比原来的8×8像素块的块噪声少,画质得到了进一步提高。

H.264与MPEG-2的主要技术对比如下表所述:
在这里插入图片描述
带宽的占用
MPEG-2协议
1.8.192Mbit/s:分辨力为720×576,每秒25帧,图像清晰,色彩鲜明,画面逼真,层次感强,图像剧烈运动时马赛克效应不可察觉(在一般会议室环境照度下),为数字地面广播级图像。
2.6.144Mbit/s:分辨力为720×576,每秒25帧,图像清晰,色彩较鲜明,画面逼真,层次感较强,图像剧烈运动时马赛克效应偶可察觉(在一般会议室环境照度下)。
3.4.096Mbit/s:分辨力为720×576,每秒25帧,图像清晰度和色彩鲜明度较以上两种速率略有下降,画面较逼真,层次感一般,图像剧烈运动时马赛克效应刚可察觉(在一般会议室环境照度下)。
4.在2M以下的带宽下基本不可用。
上面的结论就是:如果要达到比较好的效果,MPEG-2产品需要至少到6M。

H.264协议
H.264在低带宽下有了长足的进步,可以达到的效果是:256k即可基本商用,1M带宽即可达到高端商用客户需求,2M带宽可以达到支持动态4CIF图像效果,和MPEG-2协议8M带宽效果相当。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_32591065/article/details/106432783

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签