教你认识视频压.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
教你认识视频压

教你认识视频压缩 教你认识视频压缩(一) 前言 视频压缩算法通过对视频信号的压缩处理可以极大地降低视频信号的存储和带宽需求,在此基础上尽可能多的获得最佳的图像质量。因此,了解视频压缩算法的基本原理对于嵌入式系统,处理器以及视频应用工具的开发人员来说,是非常必要的,例如在处理器选型以及软件优化的过程中,视频压缩算法的性能开销和存储空间占用就是其中非常关键的因素。 在本文中,我们将着重探讨视频压缩算法的特点和处理流程,我们将对基本的视频压缩算法进行解释,包括静态图像压缩、运动估计、图像去噪, 以及色彩空间转换,同时我们还将讨论视频压缩算法对处理器的性能需求以及由这些需求所带来的一系列影响。 静态图像压缩 视频剪辑也就是我们通常所说的动态图像序列,动态图像序列是由在时间轴上的若干幅静态图片组成的,在动态图像序列中的每一幅图片称之为“帧”。在动态图像的压缩算法中大量的使用了静态图像压缩的算法和技术,例如静态图像压缩标准JPEG。实际上简单的动态图像序列压缩的方法就是将此序列中的每一幅静态图片独立的压缩,忽略掉这些图片在时间上的相关性。在一些视频产品的应用中使用了这种方法,将每一幅图片都用JPEG标准进行压缩,我们称之为“运动JPEG”或者也叫MJPEG。 目前更为先进的视频压缩算法更多的利用了视频序列中连续的静态图像,也就是连续帧之间的时间相关性,利用运动估计和运动补偿算法获得更好的压缩比,当然这些先进的视频压缩算法也同样采用了静态图像压缩里面的一些基本算法,因此我们的讨论就从基于块变换的静态图像算法JPEG开始。 数字图像压缩的基本单元 块变换 在JPEG和大多视频压缩算法中所采用的压缩算法都是“有损压缩”,所谓有损压缩就是指从压缩后的数据中无法完全恢复重构出原始的压缩前图像,有损压缩会丢失掉一部分原始图像的信息,因此,有损压缩算法就需要尽量保证由信息丢失所造成的原始图像和重构图像之间的差异不被人眼所察觉。 对于JPEG和类似的图像压缩算法来说,压缩的第一步需要将图像分割为小块,同时将每个小块进行变换,使之由空域信号变换成为时域信号。这种空域到时域的变换多采用8x8的离散余弦变换(以下称DCT),经过DCT变换之后,8x8的空域像素矩阵变换成为8x8的频域信号矩阵,DCT变换能够完整的保留所有8x8像素块的信息,因此反向离散余弦变换(以下称IDCT)也就能够从8x8频域信号矩阵中完整的恢复原始8x8像素矩阵。DCT变换后的频域信号矩阵中包含原始8x8像素矩阵的低频部分和高频部分,其中低频部分对应图像的重要信息,高频部分对应图像的细节信息,就人眼的特点来说,对于图像低频部分的感知要比对于图像高频部分的感知敏感很多,因此在DCT变换将图像的信息按照其人眼感知的敏感程度分离之后,后续的压缩步骤就是将其低频部分编码更多的比特,从而获得更高的精度,而对其高频部分编码更少的比特数或者不编码比特,从而在保留一定的视觉效果的同时,获得更好的压缩效果。在解码端,再用IDCT变换从频域信号矩阵中恢复出原始8x8像素矩阵。 IDCT变换和DCT变换的运算量基本一致,因此这两种变换对处理器的性能要求也基本类似。一个二维8x8 DCT变换和IDCT变换在典型的DSP平台上需要数百个指令周期完成,视频压缩算法的执行中每秒都需要进行大量的DCT和IDCT运算,以一个MPEG4的解码器为例,在解码分辨率为CIF(352x288),帧率为30fps的视频序列时,需要每秒进行71,280次IDCT运算,在TI TMS320C55x DSP处理器平台上需要占用40MHz的处理性能(不考虑集成DCT加速器),这大概占用了整个视频解码器应用时处理器性能的30%。 由于DCT和IDCT运算的单位都是很小的图像块,因此相对于帧缓存以及图像压缩应用中的其他数据存储来说,其对存储资源的占用几乎可以忽略不计,正是基于其大运算量,低存储占用的特点,DCT和IDCT运算单元特别适合用专用的硬件加速协处理器来实现。 量化 DCT变换后的结果称为DCT系数,正如上文所说,编码器需要对于DCT系数中的重要的低频分量编码更多的比特,对于DCT系数中的次要的高频分量编码更少的比特,这种对系数的编码方法可以通过两步来实现:首先通过量化过程舍去次要的视频信息,然后利用统计学的方法尽可能少的对剩余的重要信息进行比特编码。 量化过程就是将每个DCT系数向若干预设值进行舍入的过程,例如,DCT系数是值介于-1 到1 之间的实数,将其用缩放因子20进行缩放,同时将结果舍入到最近的整数,于是DCT系数便量化成为值介于-20到20之间的整数,共有41个,在理想情况下,为每个DCT系数选择合适的量化因子可以使量化后的DCT系数在向右取整的过程中不至于引入明显的量化噪声。 在解码端,采用与编码端相反的反量化过程,就

文档评论(0)

wcc543543 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档