-
2010-09-19 12:17:00
压缩方式是DVR的核心技术,压缩方式很大程度上决定着图像的质量、压缩比、传输效率、传输速度等性能,它是评价DVR性能优劣的重要一环。 随着多媒体技术的发展,相继推出了许多压缩编码标准,目前主要有JPEG/M-JPEG、 H.261/H.263和MPEG等标准。
1、JPEG/M-JPEG
①、JPEG是一种静止图像的压缩标准,它是一种标准的帧内压缩编码方式。当硬件处理速度足够快时,JPEG能用于实时动图像的视频压缩。在画面变动较小的情况下能提供相当不错的图像质量,传输速度快,使用相当安全,缺点是数据量较大。
②、M-JPEG源于JPEG压缩技术,是一种简单的帧内JPEG压缩,压缩图像质量较好,在画面变动情况下无马赛克,但是由于这种压缩本身技术限制,无法做到大比例压缩,录像时每小时约1-2GB空间,网络传输时需要2M带宽,所以无论录像或网络发送传输,都将耗费大量的硬盘容量和带宽,不适合长时间连续录像的需求,不大实用于视频图像的网络传输。
2、H.261/H.263
①、H.261标准通常称为P*64,H.261 对全色彩、实时传输动图像可以达到较高的压缩比,算法由帧内压缩加前后帧间压缩编码组合而成,以提供视频压缩和解压缩的快速处理。由于在帧间压缩算法中只预测到后1帧,所以在延续时间上比较有优势,但图像质量难以做到很高的清晰度,无法实现大压缩比和变速率录像等。
②、H.263的基本编码方法与H.261是相同的,均为混合编码方法,但H.263为适应极低码率的传输,在编码的各个环节上作了改进,如以省码字来提高编码图像的质量,此外,H.263还吸取了MPEG的双向运动预测等措施,进一步提高帧间编码的预测精度,一般说,在低码率时,采用H.263只要一半的速率可获得和 H.261相当的图像质量。
3、MPEG
MPEG是压缩运动图像及其伴音的视音频编码标准,它采用了帧间压缩,仅存储连续帧之间有差别的地方 ,从而达到较大的压缩比。MPEG现有MPEG—1、MPEG—2和MPEG—4三个版本,以适应于不同带宽和图像质量的要求。
①、MPEG—1的视频压缩算法依赖于两个基本技术,一是基于16*16(像素*行)块的运动补偿,二是基于变换域的压缩技术来减少空域冗余度,压缩比相比M-JPEG要高,对运动不激烈的视频信号可获得较好的图像质量,但当运动激烈时,图像会产生马赛克现象。 MPEG-1以1.5Mbps的数据率传输视音频信号,MPEG-1在视频图像质量方面相当于VHS录像机的图像质量,视频录像的清晰度的彩色模式≥240TVL,两路立体声伴音的质量接近CD 的声音质量。 MPEG-1是前后帧多帧预测的压缩算法,具有很大的压缩灵活性,能变速率压缩视频,可视不同的录像环境,设置不同的压缩质量,从每小时 80MB至400MB不等,但数据量和带宽还是比较大。
②、MPEG-2它是获得更高分辨率(720*572)提供广播级的视音频编码标准。MPEG-2作为MPEG-1的兼容扩展,它支持隔行扫描的视频格式和许多高级性能包括支持多层次的可调视频编码,适合多种质量如多种速率和多种分辨率的场合。它适用于运动变化较大,要求图像质量很高的实时图像。对每秒30帧、720*572分辨率的视频信号进行压缩,数据率可达3-10Mbps。由于数据量太大,不适合长时间连续录像的需求。
③、MPEG-4是为移动通信设备在Internet网实时传输视音频信号而制定的低速率、高压缩比的视音频编码标准。 MPEG-4标准是面向对象的压缩方式,不是像MPEG-1和MPEG-2那样简单地将图像分为一些像块,而是根据图像的内容,其中的对象(物体、人物、背景)分离出来,分别进行帧内、帧间编码,并允许在不同的对象之间灵活分配码率,对重要的对象分配较多的字节,对次要的对象分配较少的字节,从而大大提高了压缩比,在较低的码率下获得较好的效果, MPEG-4支持MPEG-1、MPEG-2中大多数功能,提供不同的视频标准源格式、码率、帧频下矩形图形图像的有效编码。
总之,MPEG-4有三个方面的优势:
①、具有很好的兼容性;
②、MPEG-4比其他算法提供更好的压缩比,最高达200:1;
③、MPEG-4在提供高压缩比的同时,对数据的损失很小。所以,MPEG-4的应用能大幅度的降低录像存储容量,获得较高的录像清晰度,特别适用于长时间实时录像的需求,同时具备在低带宽上优良的网络传输能力。4、H.264
H.264 是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像编码专家组)的联合视频组(JVT:joint video team)开发的一个新的数字视频编码标准,它既是ITU-T的H.264,又是ISO/IEC的MPEG-4的第10 部分。1998年1月份开始草案征集,1999年9月,完成第一个草案,2001年5月制定了其测试模式TML-8,2002年6月的 JVT第5次会议通过了H.264的FCD板。目前该标准还在开发之中,预计明年上半年可正式通过。
H.264和以前的标准一样,也是DPCM加变换编码的混合编码模式。但它采用“回归基本” 的简洁设计,不用众多的选项,获得比H.263++好得多的压缩性能;加强了对各种信道的适应能力,采用“网络友好”的结构和语法,有利于对误码和丢包的处理;应用目标范围较宽,以满足不同速率、不同解析度以及不同传输(存储)场合的需求;它的基本系统是开放的,使用无需版权。
在技术上,H.264标准中有多个闪光之处,如统一的VLC符号编码,高精度、多模式的位移估计,基于4×4块的整数变换、分层的编码语法等。这些措施使得 H.264算法具有很的高编码效率,在相同的重建图像质量下,能够比H.263节约50%左右的码率。H.264的码流结构网络适应性强,增加了差错恢复能力,能够很好地适应IP和无线网络的应用。
其实现在多数的什么H.264都是H.263++通过改进后的算法,是压缩率变的小了点!如果是从单个画面清晰度比较,MPEG4有优势;从动作连贯性上的清晰度,H.264有优势!更多相关内容 -
图像压缩标准(包括各种标准)
2009-11-19 10:54:17这是本人亲自制作的图像压缩标准,包括MPEG1,2,4和H.261,3,4,对不同标准的压缩比,码率,带宽要求,像素分辨率,适用环境,系统配置要求都有说明,是非常好的说明文档。 -
运动图像国际压缩标准-整理
2020-05-29 21:06:341. 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. 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带宽效果相当。 -
基于DCT的图像压缩编码算法研究_数字图像处理图像压缩编码
2020-04-21 13:16:43王晓飞 专业班级 通信1001班 指导教师 魏洪涛 工作单位 信息工程学院 题 目: 通信工程应用技术综合训练与实习 初始条件MATLAB软件平台 设计任务与要求: 图像通信之前需要进行数据量压缩编程实现JPEG图像压缩标准的... -
论文研究-基于JPEG标准的静态图像压缩算法概述 .pdf
2019-08-15 14:04:37基于JPEG标准的静态图像压缩算法概述,张元伟,刘彦隆,本文主要论述了基本JPEG标准的编码方法。其中包括采样、离散余弦变换、量化和熵编码等几个主要步骤,最后,用Visual C 编程实现把一� -
基于JPEG标准的静态图像压缩算法概述.doc
2020-08-13 00:13:29基于 JPEG 标准的静态图像压缩算法概述 张元伟 1,刘彦隆 2 太原理工大学信息学院,太原(030024 E-mail: 摘 要 :本文主要论述了基本 JPEG 标准的编码方法其中包括采样离散余弦变换量化 和熵编码等几个主要步骤, 最后, ... -
test.zip常用标准图像测试图像
2019-10-05 17:04:31常用的标准图像测试图,包括256、512彩色图像与灰度图像。 -
嵌入式系统/ARM技术中的一种基于EZW改进算法的图像压缩方法探讨
2020-10-23 11:34:32而JPEG是迄今广为使用的国际压缩标准,但在量化误差较大时会产生方块效应。20世纪80年代在傅里叶变换基础上发展起来的小波变换,有效实现了信号、图像的空频转换,图像经过小波分解后可以去除相关特性,实现能量的... -
JPEG图像压缩算法详解
2019-09-11 08:44:08JPEG压缩算法之前已有很多前辈详细讲解过,我就不在这里画蛇添足了(主要是我懒。。),转载两篇JPEG压缩算法介绍,拼为一篇。侵删。 JPEG图像压缩算法详解 图片压缩有多重要,可能很多人可能并没有一个直观...转载自
http://www.ibm.com/developerworks/cn/linux/l-cn-jpeg/
JPEG压缩算法之前已有很多前辈详细讲解过,我就不在这里画蛇添足了(主要是我懒。。),转载两篇JPEG压缩算法介绍,拼为一篇。侵删。
JPEG图像压缩算法详解
图片压缩有多重要,可能很多人可能并没有一个直观上的认识,举个例子,一张800X800大小的普通图片,如果未经压缩,大概在1.7MB左右,这个体积如果存放文本文件的话足够保存一部92万字的鸿篇巨著《红楼梦》,现如今互联网上绝大部分图片都使用了JPEG压缩技术,也就是大家使用的jpg文件,通常JPEG文件相对于原始图像,能够得到1/8的压缩比,如此高的压缩率是如何做到的呢?
JPEG能够获得如此高的压缩比是因为使用了有损压缩技术,所谓有损压缩,就是把原始数据中不重要的部分去掉,以便可以用更小的体积保存,这个原理其实很常见,比如485194.200000000001这个数,如果我们用485194.2来保存,就是一种“有损”的保存方法,因为小数点后面的那个“0.000000000001”属于不重要的部分,所以可以被忽略掉。JPEG整个压缩过程基本上也是遵循这个步骤:
1. 把数据分为“重要部分”和“不重要部分”
2. 滤掉不重要的部分
3. 保存步骤一:图像分割
JPEG算法的第一步,图像被分割成大小为8X8的小块,这些小块在整个压缩过程中都是单独被处理的。后面我们会以一张非常经典的图为例,这张图片名字叫做Lenna,据说是世界上第一张JPG图片,这张图片自从诞生之日开始,就和图像处理结下渊源,陪伴了无数理工宅男度过了的一个个不眠之夜,可谓功勋卓著,感兴趣的朋友可以在这里了解到这张图片的故事。
步骤二:颜色空间转换RGB->YCbCr
所谓“颜色空间”,是指表达颜色的数学模型,比如我们常见的“RGB”模型,就是把颜色分解成红绿蓝三种分量,这样一张图片就可以分解成三张灰度图,数学表达上,每一个8X8的图案,可以表达成三个8X8的矩阵,其中的数值的范围一般在[0,255]之间。
R > G > B > 不同的颜色模型各有不同的应用场景,例如RGB模型适合于像显示器这样的自发光图案,而在印刷行业,使用油墨打印,图案的颜色是通过在反射光线时产生的,通常使用CMYK模型,而在JPEG压缩算法中,需要把图案转换成为YCbCr模型,这里的Y表示亮度(Luminance),Cb和Cr分别表示绿色和红色的“色差值”。
“色差”这个概念起源于电视行业,最早的电视都是黑白的,那时候传输电视信号只需要传输亮度信号,也就是Y信号即可,彩色电视出现之后,人们在Y信号之外增加了两条色差信号以传输颜色信息,这么做的目的是为了兼容黑白电视机,因为黑白电视只需要处理信号中的Y信号即可。
根据三基色原理,人们发现红绿蓝三种颜色所贡献的亮度是不同的,绿色的“亮度”最大,蓝色最暗,设红色所贡献的亮度的份额为KR,蓝色贡献的份额为KB,那么亮度为(1.1) 根据经验,KR=0.299,KB=0.114,那么
(1.2) 蓝色和红色的色差的定义如下
(1.3) (1.4) 最终可以得到RGB转换为YCbCr的数学公式为
(1.5) YCbCr模型广泛应用在图片和视频的压缩传输中,比如你可以留意一下电视或者DVD后面的接口,就可以发现色差接口。
这是有道理的,还记得我们在文章开始时提到的有损压缩的基本原理吗?有损压缩首先要做的事情就是“把重要的信息和不重要的信息分开”,YCbCr恰好能做到这一点。对于人眼来说,图像中明暗的变化更容易被感知到,这是由于人眼的构造引起的。视网膜上有两种感光细胞,能够感知亮度变化的视杆细胞,以及能够感知颜色的视锥细胞,由于视杆细胞在数量上远大于视锥细胞,所以我们更容易感知到明暗细节。比如说下面这张图Y
Cb
Cr
可以明显看到,亮度图的细节更加丰富。JPEG把图像转换为YCbCr之后,就可以针对数据得重要程度的不同做不同的处理。这就是为什么JPEG使用这种颜色空间的原因。
步骤三:离散余弦变换
这次我们来介绍JPEG算法中的核心内容,离散余弦变换(Discrete cosine transform),简称DCT。
离散余弦变换属于傅里叶变换的另外一种形式,没错,就是大名鼎鼎的傅里叶变换。傅里叶是法国著名的数学家和物理学家,1807年,39岁的傅里叶在他的一篇论文里提出了一个想法,他认为任何周期性的函数,都可以分解为为一系列的三角函数的组合,这个想法一开始并没有得到当时科学界的承认,比如当时著名的数学家拉格朗日提出质疑,三角函数无论如何组合,都无法表达带有“尖角”的函数,一直到1822年拉格朗日死后,傅里叶的想法才正式在他的著作《热的解析理论》一书中正式发表。
金子总会闪光,傅里叶变换如今广泛应用于数学、物理、信号处理等等领域,变换除了它在数学上的意义外,还有其哲学上的伟大意义,那就是,世上任何复杂的事物,都可以分解为简单的事物的组合,而这个过程只需要借助数学工具就可以了。但是当年拉格朗日的质疑是正确的,三角函数的确无法表达出尖角形状的函数,不过只要三角函数足够多,可以无限逼近最终结果。比如下面这张动图,就动态描述了一个矩形方波,是如何做傅里叶分析的。当我们要处理的不再是函数,而是一堆离散的数据时,并且这些数据是对称的话,那么傅里叶变化出来的函数只含有余弦项,这种变换称为离散余弦变换。举个例子,有一组一维数据[x0,x1,x2,…,xn-1],那么可以通过DCT变换得到n个变换级数Fi
(2.1) 此时原始数据Xi可以通过离散余弦变换变化的逆变换(IDCT)表达出来
(2.2) 也就是说,经过DCT变换,可以把一个数组分解成数个数组的和,如果我们数组视为一个一维矩阵,那么可以把结果看做是一系列矩阵的和
(2.3)
举个例子,我们有一个长度为8的数字,内容为50,55,67,80,-10,-5,20,30,经过DCT转换,得到8个级数为287.0,106.3,14.2,-110.8,9.2,65.7,-8.2,-43.9,根据公式2.3把这个数组转换为8个新的数组的和,如果我们使用图像来表达的话,就可以发现DCT转换的有趣之处了
[50,55,67,80,-10,-5,20,30]数组0 [35.9,35.9,35.9,35.9,35.9,35.9,35.9,35.9] 数组1 [26.0,22.1,14.8,5.2,-5.2,-14.8,-22.1,-26.1] 数组2 [3.3,1.4,-1.4,-3.3,-3.3,-1.4,1.4,3.3] 数组3 [-23.0,5.4,27.2,15.4,-15.4,-27.2,-5.4,23.0] 数组4 [1.6,-1.6,-1.6,1.6,1.6,-1.6,-1.6,1.6] 数组5 [9.1,-16.1,3.2,13.6,-13.6,-3.2,16.1,-9.1] 数组6 [-0.8,1.9,-1.9,0.8,0.8,-1.9,1.9,-0.8] 数组7 [-2.1,6.1,-9.1,10.8,-10.8,9.1,-6.1,2.1] 奥妙之处在于,经过DCT,数据中隐藏的规律被发掘了出来,杂乱的数据被转换成几个工整变化的数据。DCT转换后的数组中第一个是一个直线数据,因此又被称为“直流数据”,简称DC,后面的数据被称为“交流数据”,简称AC,这个称呼起源于信号分析中的术语。
在JPEG压缩过程中,经过颜色空间的转换,每一个8X8的图像块,在数据上表现为3个8X8的矩阵,紧接着我们对这三个矩阵做一个二维的DCT转换,二维的DCT转换公式为(2.1) DCT的威力究竟有多大,我们可以做一个实际的测试,比如一个所有数值都一样的矩阵,经过DCT转换后,将所有级数组合成一个新的矩阵
可以看到,经过DCT转换,矩阵的“能量”被全部集中在左上角上的直流分量F(0,0)上,其他位置都变成了0。
在实际的JPEG压缩过程中,由于图像本身的连贯性,一个8X8的图像中的数值一般不会出现大的跳跃,经过DCT转换会有类似的效果,左上角的直流分量保存了一个大的数值,其他分量都接近于0,我们以Lenna左上角第一块图像的Y分量为例,经过变换的矩阵为可以看到,数据经过DCT变化后,被明显分成了直流分量和交流分量两部分,为后面的进一步压缩起到了充分的铺垫作用,可以说是整个JPEG中最重要的一步,后面我们会介绍数据量化。
步骤四:数据量化
经过上一节介绍的离散余弦变换,图像数据虽然已经面目全非,但仍然是处于“可逆”的状态,也就是说我们还没有进入“有损”的那一步。这次我们来玩真的,看一下数据中的细节是如何被滤去的。先来考察一下要对付的问题是什么,经过颜色空间转换和离散余弦变换,每一个8X8的图像块都变成了三个8X8的浮点数矩阵,分别表示Y,Cr,Cb数据,比如以其中某个亮度数据矩阵举例,它的数据如下
我们的问题是,在可以损失一部分精度的情况下,如何用更少的空间存储这些浮点数?答案是使用量子化(Quantization),简称量化。“量子”这个概念来自于物理学,意思是说连续的能量可以看做是一个个单元体的组合,看起来高端大气,其实很简单,比如游戏中在处理角色面朝方向时,一般并不是使用0到2π这样的浮点数,而是把方向分成16个区间,用0到16这样的整数来表示,这样只用4个bit就足够了。JPEG提供的量子化算法如下:(3.1) 其中G是我们需要处理的图像矩阵,Q称作量化系数矩阵(Quantization matrices),JPEG算法提供了两张标准的量化系数矩阵,分别用于处理亮度数据Y和色差数据Cr以及Cb。
标准亮度量化表
标准色差量化表
其中round函数是取整函数,但考虑到了四舍五入,也就是说(3.2) 比如上面数据,以左上角的-415.38为例,对应的量子化系数是16,那么round(-415.38/16)=round(-25.96125)=-26。最终得到的量子化后的结果为
可以看到,一大部分数据变成了0,这非常有利于后面的压缩存储。这两张神奇的量化表也是有讲究的,还记得我们在第一节中所讲的有损压缩的基本原理吗,有损压缩就是把数据中重要的数据和不重要的数据分开,然后分别处理。DCT系数矩阵中的不同位置的值代表了图像数据中不同频率的分量,这两张表中的数据时人们根据人眼对不不同频率的敏感程度的差别所积累下的经验制定的,一般来说人眼对于低频的分量必高频分量更加敏感,所以两张量化系数矩阵左上角的数值明显小于右下角区域。在实际的压缩过程中,还可以根据需要在这些系数的基础上再乘以一个系数,以使更多或更少的数据变成0,我们平时使用的图像处理软件在省城jpg文件时,在控制压缩质量的时候,就是控制的这个系数。
在进入下一节之前,矩阵的量化还有最后一步要做,就是把量化后的二维矩阵转变成一个一维数组,以方便后面的霍夫曼压缩,但在做这个顺序转换时,需要按照一个特定的取值顺序。
这么做的目的只有一个,就是尽可能把0放在一起,由于0大部分集中在右下角,所以才去这种由左上角到右下角的顺序,经过这种顺序变换,最终矩阵变成一个整数数组-26,-3,0,-3,-2,-6,2,-4,1,-3,0,1,5,,1,2,-1,1,-1,2,0,0,0,0,0,-1,-1,0,0,0,0,…,0,0
后面的工作就是对这个数组进行再一次的哈夫曼压缩,已得到最终的压缩数据。步骤五:哈弗曼编码
JPEG压缩的最后一步是对数据进行哈弗曼编码(Huffman coding),哈弗曼几乎是所有压缩算法的基础,它的基本原理是根据数据中元素的使用频率,调整元素的编码长度,以得到更高的压缩比。
举个例子,比如下面这段数据“AABCBABBCDBBDDBAABDBBDABBBBDDEDBD”
这段数据里面包含了33个字符,每种字符出现的次数统计如下
字符 A B C D E 次数 6 15 2 9 1 如果我们用我们常见的定长编码,每个字符都是3个bit。
字符 A B C D E 编码 001 010 011 100 101 那么这段文字共需要3*33 = 99个bit来保存,但如果我们根据字符出现的概率,使用如下的编码
字符 A B C D E 编码 110 0 1110 10 1111 那么这段文字共需要3*6 + 1*15 + 4*2 + 2*9 + 4*1 = 63个bit来保存,压缩比为63%,哈弗曼编码一般都是使用二叉树来生成的,这样得到的编码符合前缀规则,也就是较短的编码不能够是较长编码的前缀,比如上面这个编码,就是由下面的这颗二叉树生成的。
我们回到JPEG压缩上,回顾上一节的内容,经过数据量化,我们现在要处理的数据是一串一维数组,举例如下:①原始数据 35,7,0,0,0,-6,-2,0,0,-9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,…,0
在实际的压缩过程中,数据中的0出现的概率非常高,所以首先要做的事情,是对其中的0进行处理,把数据中的非零的数据,以及数据前面0的个数作为一个处理单元。
①原始数据 35,7,0,0,0,-6,-2,0,0,-9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,…,0
②RLE编码 35 7 0,0,0,-6 -2 0,0,-9 0,0,…,0,8 0,0,…,0 如果其中某个单元的0的个数超过16,则需要分成每16个一组,如果最后一个单元全都是0,则使用特殊字符“EOB”表示,EOB意思就是“后面的数据全都是0”,
①原始数据 35,7,0,0,0,-6,-2,0,0,-9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,…,0
②RLE编码 35 7 0,0,0,-6 -2 0,0,-9 0,0,…,0,8 0,0,…,0 35 7 0,0,0,-6 -2 0,0,-9 0,0,…,0 0,0,8 0,0,…,0 (0,35) (0,7) (3,-6) (0,-2) (2,-9) (15,0) (2,8) EOB * RLE - Run-Length Encoding,即行程编码,对于连续重复出现的字符有很好的压缩率。编码后为(字符出现次数,字符)。
* JPEG 中实际使用的是(字符出现次数 - 1,字符)
其中(15,0)表示16个0,接下来我们要处理的是括号里右面的数字,这个数字的取值范围在-2047~2047之间,JPEG提供了一张标准的码表用于对这些数字编码:
Value Size Bits 0 0 – -1 1 1 0 1 -3,-2 2,3 2 00,01 10,11 -7,-6,-5,-4 4,5,6,7 3 000,001,010,011 100,101,110,111 -15,…,-8 8,…,15 4 0000,…,0111 1000,…,1111 -31,…,-16 16,…,31 5 0 0000,…,0 1111 1 0000,…,1 1111 -63,…,-32 32,…,63 6 00 0000,… …,11 1111 -127,…,-64 64,…,127 7 000 0000,… …,111 1111 -255,…,-128 128,…,255 8 0000 0000,… …,1111 1111 -511,…,-256 256,…,511 9 0 0000 0000,… …,1 1111 1111 -1023,…,-512 512,…,1023 10 00 0000 0000,… …,11 1111 1111 -2047,…,-1024 1024,…,2047 11 000 0000 0000,… …,111 1111 1111 举例来说,第一个单元中的“35”这个数字,在表中的位置是长度为6的那组,所对应的bit码是“100011”,而“-6”的编码是”001″,由于这种编码附带长度信息,所以我们的数据变成了如下的格式。
①原始数据 35,7,0,0,0,-6,-2,0,0,-9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,…,0
②RLE编码 35 7 0,0,0,-6 -2 0,0,-9 0,0,…,0,8 0,0,…,0 35 7 0,0,0,-6 -2 0,0,-9 0,0,…,0 0,0,8 0,0,…,0 (0,35) (0,7) (3,-6) (0,-2) (2,-9) (15,0) (2,8) EOB ③BIT编码 (0,6, 100011) (0,3, 111) (3,3, 001) (0,2, 01) (2,4, 0110) (15,-) (2,4, 1000) EOB 括号中前两个数字分都在0~15之间,所以这两个数可以合并成一个byte,高四位是前面0的个数,后四位是后面数字的位数。
①原始数据 35,7,0,0,0,-6,-2,0,0,-9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,…,0
②RLE编码 35 7 0,0,0,-6 -2 0,0,-9 0,0,…,0,8 0,0,…,0 35 7 0,0,0,-6 -2 0,0,-9 0,0,…,0 0,0,8 0,0,…,0 (0,35) (0,7) (3,-6) (0,-2) (2,-9) (15,0) (2,8) EOB ③BIT编码 (0,6, 100011) (0,3, 111) (3,3, 001) (0,2, 01) (2,4, 0110) (15,-) (2,4, 1000) EOB (0x6,100011) (0x3,111) (0x33,001) (0x2,01) (0x24,0110) (0xF0,-) (0x24,1000) EOB 对于括号前面的数字的编码,就要使用到我们提到的哈弗曼编码了,比如下面这张表,就是一张针对数据中的第一个单元,也就是直流(DC)部分的哈弗曼表,由于直流部分没有前置的0,所以取值范围在0~15之间。
Length Value Bits 3 bits 04
05
03
02
06
01
00 (EOB)000
001
010
011
100
101
1104 bits 07 1110 5 bits 08 1111 0 6 bits 09 1111 10 7 bits 0A 1111 110 8 bits 0B 1111 1110 举例来说,示例中的DC部分的数据是0x06,对应的二进制编码是“100”,而对于后面的交流部分,取值范围在0~255之间,所以对应的哈弗曼表会更大一些
Length Value Bits 2 bits 01
0200
013 bits 03 100 4 bits 00 (EOB)
04
111010
1011
11005 bits 05
12
211101 0
1101 1
1110 06 bits 31
411110 10
1110 11… … … 12 bits 24
33
62
721111 1111 0100
1111 1111 0101
1111 1111 0110
1111 1111 011115 bits 82 1111 1111 1000 000 16 bits 09
…
FA1111 1111 1000 0010
…
1111 1111 1111 1110这样经过哈弗曼编码,并且序列化后,最终数据成为如下形式
①原始数据 35,7,0,0,0,-6,-2,0,0,-9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,…,0
②RLE编码 35 7 0,0,0,-6 -2 0,0,-9 0,0,…,0,8 0,0,…,0 35 7 0,0,0,-6 -2 0,0,-9 0,0,…,0 0,0,8 0,0,…,0 (0,35) (0,7) (3,-6) (0,-2) (2,-9) (15,0) (2,8) EOB ③BIT编码 (0,6, 100011) (0,3, 111) (3,3, 001) (0,2, 01) (2,4, 0110) (15,-) (2,4, 1000) EOB (0x6,100011) (0x3,111) (0x33,001) (0x2,01) (0x24,0110) 0xF0 (0x24,1000) EOB ④哈弗曼编码 100 100011 100 111 1111 1111 0101 001 01 01 1111 1111 0100 0110 1111 1111 001 1111 1111 0100 1000 1010 ⑤序列化 100100011100111111111110101001010111111111010001101111111100111111111010010001010
91 CF FE A5 7F D1 BF CF FA 45
最终我们使用了10个字节的空间保存了原本长度为64的数组,至此JPEG的主要压缩算法结束,这些数据就是保存在jpg文件中的最终数据。
一个JPEG图片实例分析
我们可以打开 JPEG 文件查看里面的内容,即可看到上面的各个标记段:
在头部有 FFD8 ,表示图像的开始;结束部分有 FFD9 ,表示图像的结束。
在中间有两个量化表 DQT 对应的标记 FFDB ;
还有图像大小信息对应的 FFC0
再后面有四个 Haffman 表对应的 FFC4 ;
一般一个 JPEG 文件里会有 2 类 Haffman 表:一个用于 DC 一个用于 AC ,也即实际有 4个表,亮度的 DC,AC 两个,色度的 DC,AC 两个。
然后是图像数据段标记 FFDA;
我们再来看看各个标记的细部,具体分析一下各个部分的含义。
1、图片的识别信息
上面的内容,在标记 FFE0 后,即为长度16。
然后是5字节的 JFIF 标识符号,说明这是一个 JPEG 压缩的文件。
然后是主/次版本号码。下一个为 XY 像素的单位,这里为1,表示单位为点数/英寸。
然后是 XY 方向的像素密度,这里是 96DPI,最后是缩略图有关信息,这里为0。
2、量化表的实例
上面这个内容,FFDB 标记后的长度值为67,接下来的是 QT 信息,占一个字节;
这里是0,表示这个 QT 表编号为0,并且精度是8bit。然后后面就是64个8x8的 QT 表的各个 item 了。
也即第一个 DQT 量化表的内容表示为十进制是:
这个表即为 JPEG 亮度量化表。
第二个量化表的内容为:
这个表的内容即为 JPEG 色度量化表。
当你打开不同的 JPEG 文件,你会看到这两个表可能也是会有区别的。这个主要是使用了不同的量化方式的结果。
3、图像信息段
上面这个内容,FFC0 标记后即是长度,为17;
然后是一个字节的数据精度,通常是为8,代表样本位数。
接下来是图片的高度,占两字节,这里即为8,然后是图片的宽度,也为8,这也就是我们定义的8x8的内容。
然后是 component 的个数,这里是3,表示 YUV。接下来是三组数据,每组数据里,第一个是 component ID,第二个是采样系数,这里 Y 的采样系数为22,说明垂直是2,水平是2。
再后面就是量化表的编号了。
4、Haffman 表的实例
上面这个内容,FFC4 标记后的内容为数据长度,再接着的1字节为 Huffman Table 的信息,低4位是 HT ID 号,第5位是 HT 表类型标记,再高三位是为0。
第一个 DHT 表,00,类型为 DC table,HT ID 号为 0;
第二个 DHT 表,10,类型为 AC table,HT ID 号也为 0;
第三个 DHT 表,01,类型为 DC table,HT ID 号为 1;
第四个 DHT 表,11,类型为 AC table,HT ID 号为 1;
即前两个表为Y亮度分量的 DC/AC 表,后两个为 UV 色度分量的 DC/AC 表。
以第一个表为例,因为长度只有 31,那么 00 后面的 16 字节,即绿色部分:
组号为 1 的组中,代码有 0 个;
组号为 2 的,代码有 1 个;
组号为 3 的代码有 5 个;
组号为 4/5/6/7/8/9 的代码各 1 个。
总共 12 个。
再看后续的数据:
00 01 02 03 04 05 06 07 08 09 0A 0B
即对应:
其他未出现的组号,对应的数据未使用到。也就是说前面提到过的范式 Huffman 编码里,目前只使用部分数据即可,原因是这个 8x8 的图像数据很小。
第二个 DHT 表就更复杂些了,长度有 181。
5、图像数据段
这里 SOS 段,长度为 12,后面所含有的 component 数量为 3 个,也即 Y UV。然后后面是各 component 的编号,及对应所使用的 Huffman 表的 ID 是多少。
在这个段的后面就是所有压缩后的数据。直到结束的问题,即 FFD9,EOI(End Of Image)。
转载自:
http://thecodeway.com/blog/
http://www.ibm.com/developerworks/cn/linux/l-cn-jpeg/
-
图像常用压缩格式
2021-10-25 00:29:531.图像压缩简介 将数据压缩的技术应用在图像上,以减少图像数据中的冗余信息,以便于图像的传输和存储。压缩的通则即是利用资料的一致性,越一致的资料,越能够进行压缩。图像的代表统计特性常用的有傅里叶转换域、...1.图像压缩简介
将数据压缩的技术应用在图像上,以减少图像数据中的冗余信息,以便于图像的传输和存储。压缩的通则即是利用资料的一致性,越一致的资料,越能够进行压缩。图像的代表统计特性常用的有傅里叶转换域、直方图、特征指等。此外也可利用资料的规则性和可预测性来对其作压缩。
常用的图像数据冗余主要有,编码冗余、空间和时间冗余、无关信息。常用的图像压缩技可分为有损压缩和无损压缩。有损压缩会丢弃原数据中的信息,压缩率较高,但无法重建原始的图像,如:DFT(离散傅里叶变换)、DCT(离散余弦变换)、KLT(搭配量化(quantization)与截断(truncation))、4:2:2或4:2:0、多项式曲线的近似(polynomial approximation),常用于细节信息不重要的自然图像等。无损压缩的压缩率较低,但可以重建原来的图像,如:二元编码(binary coding)、霍夫曼编码(Huffman coding)、算术编码(arithmetic coding)、格伦布编码 (Golomb coding),常用于医学图像等。在数字图像中,图像格式是组织和存储图像数据的标准方法,其定义了图像数据的排列方式和所用的压缩方法。图像格式的国际标准是由国际标准化组织(ISO)、国际电工委员会(IEC)和国际电信联盟(ITU-T)批准的。
2.常用图像视频压缩标准
2.0 图像格式
2.1常用图像压缩标准
- 国际支持
名称 组织 描述 二值静止图像 CCITT Group3 ITU-T 通过电话线传输二进制文档的传真方法,支持一维二维行程编码及哈夫曼编码 CCITT Group4 ITU-T CCITT Group3的精简版,只支持二维行程编码 JBIG/JBIG1 ISO/TEC/ITU-T 联合二值图像专家组标准,适用于二值图像的渐进无损压缩。 JBIG2 ISO/TEC/ITU-T JBIG1的后续版本,适用于桌面、互联网和传真应用中的二值图像,所用的压缩方法是基于内容的,对文本和半色调区域使用基于字典的方法,对其他图像内容使用哈夫曼编码或算术编码,该方法可以是无损的或有损的。 连续色调静止图像 JPEG ISO/TEC/ITU-T 针对图像质量的联合图片专家组标准。该标准的有损基线编码系统对图像块变换编码、哈夫曼编码和行程编码使用量化离散余弦变换,是在互联网上常用的图像压缩方法之一 JPEG-LS ISO/TEC/ITU-T 基于自适应预测,上下文建模、和Golomb码的一种无损或接近无损的压缩标准 JPEG-2000 ISO/TEC/ITU-T JPEG的后续版本,使用算术编码和量化离散小波变换。压缩可以是有损的或无损的 - 其他
名称 组织 描述 BMP Microsoft Windows位图。主要用于为压缩图像的一种文件格式 GIF CompuServe 图形交换格式,对1-8位图像使用LZW编码 PDF Adobe Systems Portable Document Format,可移植文档格式,以与设备和分辨率无关的方式来表示二维图像,可左右JPEG等图像格式的容器来使用,某些PDF版本已成为ISO标准 PNG W3C Portable Network Graphics,一种支持无损压缩的位图图形格式。一种说法是 PNG is Not GIF
,GIF当时受专利保护,PNG为替代GIFTIFF Aldus 标记图像文件格式。一种灵活的文件格式,支持各种图像压缩标准,包括JPEG、JPEG-LS,JPEG-2000,JPIG2等 WebP Google WebP通过WebP VP8,使用空间预测和LZW反向引用的一个变体和哈夫曼编码来实现 2.2常用视频压缩标准
- 国际支持
名称 组织 描述 DV IEC 数字视频(Digital Video),是由索尼、松下、JVC等多家厂商联合提出的一种家用数字视频格式,如电子新闻采集和摄像机。为简单编辑目的而单独压缩各帧 H.261 ITU-T 是1990年ITU-T制定的一个视频编码标准,属于视频编解码器,适用于ISDN综合业务数字网络线路的一种双向视频会议标准。设计的目的是能够在带宽为64kbps的倍数的综合业务数字网(ISDN for Integrated Services Digital Network)上传输质量可接受的视频信号 H.262 ITU-T H.262是由ITU-T的VCEG组织和ISO/IEC的MPEG组织联合制定的,所以制定完成后分别成为了两个组织的标准,正式名称是"ITU-T建议H.262"和"ISO/IEC 13818-2"。这两个标准在所有的文字叙述上都是相同的(也许除了封面和标价之外)。大家所熟知的DVD就是采用了该技术。H.262在技术内容上和ISO/IEC的MPEG-2视频标准(正式名称是ISO/IEC 13818-2)一致。 H.263 ITU-T 由ITU-T用于视频会议的低码率影像编码标准。是适用于普通电话解调器的增强型H.261。它的第一版于1995年完成,在所有码率下都优于之前的H.261。之后还有在1998年增加了新的功能的第二版H.263+,或者叫H.263v2,以及在2000年完成的第三版H.263++,即H.263v3。 H.264 ITU-T 又称为MPEG-4第10部分,高级视频编码,是一种面向块,基于运动补偿的视频编码标准。第一版标准的最终草案于2003年5月完成。H.264由于算法优化,可以低于1Mbps的速度实现标清(分辨率在1280P*720以下)数字图像传送; H.265/MPEG-H/HEVC ITU-T/ISO/IEC 高效视频编码,H。264的扩展,通常用于4K视频应用中。H.265则可以实现利用1~2Mbps的传输速度传送720P(分辨率1280*720)普通高清音视频传送。推出时间2013年2月。 MPEG-1 ISO/IEC 一种运动图像专家组标准,用于CD-ROM应用,是MPEG组织制定的第一个视频和音频有损压缩标准,也是最早推出及应用在市场上的MPEG技术,其原来主要目标是在CD光盘上记录影像,后来被广泛应用在VCD光盘。视频压缩算法于1990年定义完成。1992年底,MPEG-1正式被批准成为国际标准。 MPEG-2 ISO/IEC 是“运动图像和相关音频信息的通用编码”的标准。适用于传输速率高达15Mb/s的DVD应用。虽然MPEG-2的效率不如H.264/AVC和H.265/HEVC等新标准,但与现有硬件和软件的向后兼容性意味着它仍在广泛使用,例如在无线数字电视广播和DVD-Video中。在1996年7月最终批准。 MPEG-4 ISO/IEC 由国际标准化组织(ISO)和国际电工委员会(IEC)下属的“动态影像专家组”(Moving Picture Experts Group,即MPEG)制定,第一版在1998年10月通过,第二版在1999年12月通过。MPEG-4格式的主要用途在于网络上流、光盘、语音发送(视频电话),以及电视广播。 MPEG-4AVC ISO/IEC 与H.264相同 - 其他
名称 组织 描述 AVS MII 中国开发的音视频标准,为中国第二代信源编码标准。第三代AVS标准的制定工作已经完成。为了推动AVS标准的开发和推广,华为、TCL、创维等公司成立了中关村视听产业技术创新联盟(简称:AVS产业联盟),致力于AVS标准的开发和推广。 HDV 公司联盟 高清视频、高清电视的DV扩展 M-JPEG 多家公司 Motion JPEG,Motion Joint Photographic Experts Group,其中每一帧图像都分别使用JPEG编码。M-JPEG常用在数字相机和摄像头之类的图像采集设备上,非线性剪辑系统也常用这种格式。QuickTime播放器和包括Mozilla Firefox,Google Chrome,Safari在内许多网页浏览器原生支持M-JPEG Quick-Time Apple Computer 由苹果公司开发的支持DV等其他音视频格式的媒体容器 VC-1
WMV9SMPTE
Microsoft互联网上最通用的视频格式。适用于高清和蓝光高清DVD WebP
VP8Google WebP最初在2010年9月发布,其支持库于2018年4月发布1.0版本。截至2021年5月,已有94%的浏览器支持此格式,Google于2010年9月30日首次公布WebP格式,它派生自影像编码格式VP8[12],被认为是WebM多媒体格式的姊妹项目,是Google在购买On2 参考:
-
基于深度学习的图像压缩
2018-12-30 13:40:06近年来,深度学习在计算机视觉领域已经占据主导地位,不论是在图像识别...说到图像压缩算法,目前市面上影响力比较大的图片压缩技术是WebP和BPG WebP:谷歌在2010年推出的一款可以同时提供有损压缩和无损压缩的图... -
数字图像处理:图像压缩1 基础&无损压缩
2021-11-11 22:24:18• Fundamentals • Image Compression Models • Error-Free Compression • Lossy Compression有损压缩 • Image Compression Standards -
图像压缩之DCT变换
2020-07-31 17:09:34离散余弦变换经常被信号处理和图像处理使用,用于对信号和图像(包括静止图像和运动图像)进行有损数据压缩。这是由于离散余弦变换具有很强的"能量集中"特性:大多数的自然信号(包括声音和图像)的能量都集中在离散余弦... -
数字图像处理——第八章 图像压缩
2021-05-15 13:25:38文章目录8.1 为何要压缩8.1.1 图像信息的度量8.1.2 编码冗余8.1.3 空间和时间(像素)冗余8.1.4 压缩评价方法8.2 基本的压缩方法8.2.1 霍夫曼编码8.2.2 行程编码8.2.3 JPEG编码8.3 数字图像水印8.4 总结 8.1 为何要... -
图像压缩编码和解码原理——阐述了DCT变换的实质
2019-02-24 15:35:06本节介绍图像压缩编码的基本原理,图像数据压缩和解压缩电路的基本结构。它们是看影碟机电路图的基础知识。 一、图像压缩的基本途径 图像的数据量极大,必须对其数据总量大大压缩,才能够存储在直径12cm的光盘... -
基于TMS320C6678的H264图像压缩编码技术研究
2018-07-04 09:40:24首先,论文阐述了图像压缩标准和图像压缩实现技术现状,从多种压缩标准和实现技术中选取x264开源代码加多核DSP模式实现H.264标准的图像压缩。其次,介绍了TMS320C6678的硬件结构、软件编程结构、核间通信模型、并行调度... -
JPEG图像的压缩编码——笔记整理
2022-02-21 14:40:55JPEG压缩标准要点 (1)压缩比可控:编码器的参数中应包括控制压缩比和图像质量的成分。 (2)不受限制:适用于所有的连续色调图像,不应对图像的尺寸、彩色空间和像素纵横比等特性进行限制,也不应对图像的场景内容(如... -
图像评价指标.rar_评价图像在压缩编码方法优劣的指标
2020-12-04 19:29:41本程序包括主程序和调用函数,每一个函数都是经过多次测试,没有出现问题。包括图像信息熵、标准差、平均梯度、均方根误差、空间频率、清晰度、互信息、峰值信噪比 、平均绝对误差:MAE 、结构相似性 -
数字图像处理(六) 图像压缩
2019-11-23 20:32:47本文首发于公众微信号-AI研究订阅号。 本节主要目的是介绍本书所用到的数字图像处理的一些基本概念。来源于东北大学 魏颖教授的模式识别课程笔记。 ... -
BMP位图图像文件—图像信息丰富,几乎不进行压缩
2019-12-29 11:33:57BMP是英文Bitmap(位图)的简写,它是Windows操作...这种格式的特点是包含的图像信息较丰富,几乎不进行压缩,但由此导致了它与生俱生来的缺点--占用磁盘空间过大。所以,目前BMP在单机上比较流行。 简介 BMP(Bit... -
【图像处理】图像&视频压缩编码技术综述
2019-05-10 13:14:44作为通信、介质存贮、数据发行、多媒体计算机等技术的关键环节,图像压缩编码算法的研究是信息技术中最活跃的研究领域之一。尤其是进入21世纪以后,电子技术和通信技术的发展使可视电话、会议电视、数字电视、高清晰... -
视频压缩标准MPEG、H.26X系列制定的历程
2020-04-09 12:15:37其中MPEG是运动图像专家组(Moving Picture Experts Group)的缩写,于1988年成立,是为数字视频/音频制定压缩标准的专家组。 MPEG的核心内容主要包括MPEG视频、MPEG音频和MPEG系统三个部分,MP3音频文件就是MPEG... -
JPEG.BMP图像压缩算法(绝对物超所值)
2009-11-11 15:22:57这里讨论的是灰度图像的压缩不涉及彩色图像。 实现压缩时,输入的图像数据采用一种自定义的格式(com 格式),前四个字节记录图像的宽度和高度,之后就是逐 行的图像数据,图像的开头和结尾没有任何标记。这种格式... -
基于DCT变换的JPEG图像压缩
2020-06-09 10:29:49基于DCT变换的JPEG图像压缩 摘 要:图像和视频通常在计算机中表示会占用非常大的空间,而出于节省硬盘空间的考虑,往往要进行压缩。而随着网络的发展,图像压缩技术越来越被人所重视。DCT变换是图像压缩的一项重要... -
数字图像处理第八章——图像压缩
2019-05-09 03:33:04--图像压缩(一) 背景(二) 编码冗余2.1 霍夫曼码2.2 霍夫曼编码2.3 霍夫曼译码(三)空间冗余(四)不相关的信息(五)JPEG 压缩5.1 JPEG5.2 JPEG 2000(六)视频压缩6.1 MATLAB图像序列和电影6.2 时间冗余和运动... -
基于树形边缘定向正交小波包变换的合成Kong径雷达图像压缩
2021-03-17 04:31:54但是,标准小波变换受其基本函数的空间各向同性的限制,该函数不能完全适应于表示像边缘或纹理之类的图像实体,这意味着基于小波的编码算法对于图像压缩而言是次优的。 本文提出了一种新颖的树状结构的边缘定向正交... -
数字图像处理与Python实现笔记之图像压缩
2020-07-31 11:15:42数字图像处理与Python实现笔记摘要绪论1 数字图像处理基础知识2 彩色图像处理初步3 空间滤波4 频域滤波5 图像特征提取6 图像压缩6.1 图像压缩简介6.2 熵编码技术6.2.1 哈夫曼编码6.2.2 算术编码6.2.3 行程编码6.2.4 ... -
多媒体压缩技术.pptx
2022-06-27 12:41:43了解常见多媒体数据压缩标准,包括音频压缩标准、静态图像压缩标准、运动图像和视频压缩标准等。 了解多媒体数据压缩的必要性、多媒体数据压缩的可能性、数据压缩方法的分类 。 教学进程 多媒体压缩技术 第 7 章 ... -
几种视频压缩标准简介
2017-06-29 10:08:07是由JPEG专家组制订的,其图像格式是对每一帧进行压缩,通常可达到6:1的压缩率,但这个比率相对来说仍然不足。就像每一帧都是独立的图像一样。MJPEG图象流的单元就是一帧一帧的JPEG画片。因为每帧都可任意存取,... -
图像压缩编码原理
2018-01-10 17:23:12为什么要进行图像压缩编码? 1) 在数字分量编码中,按照4:2:2格式对电视信号进行取样、量化、编码后,数据率达27MW/S。 2) 在数字高清晰度电视格式中,取样、量化、编码后的数据率会更大。 3) 电视信号...