现在位置:首页 » IT技术 »

AVI格式压缩编码算法详解

作者:grooveli ⁄ 时间:2012年05月17日 ⁄ 分类: IT技术 评论:0
      AVI所采用的压缩算法并无统一的标准。也就是说,同样是以AVI为后缀的视频文件,其采用的压缩算法可能不同,需要相应的解压软件才能识别和回放该AVI文件。除了Microsoft公司之外,其他公司也推出了自己的压缩算法,只要把该算法的驱动(Codec)加到Windows系统中,就可以播放用该算法压缩的AVI文件。最新流行的MPEG-4视频也借用AVI的名称,只要机器安装了它的编码解码,也能够实现正常的播放。这些AVI都能够在用Authorware或PowerPiont开发的作品当中正常放映。各种编码Codec所生成的AVI文件的大小和质量是不同的,对系统和硬件要求也不同。

  因此在压缩AVI时,必须根据计算机的软硬件情况,来考虑采用什么Codec算法,否则你的作品中视频放映是难以令人满意的。下面就是对各种常见编码解码Codec的说明。

  常见的视频编码

  1、Cinepak Codec by Radius
  它最初发布的时候是用在386的电脑上看小电影,在高数据压缩率下,有很高的播放速度。利用这种压缩方案可以取得较高的压缩比和较快的回放速度,但是它的压缩时间相对较长。

  2、Microsoft Video 1
  用于对模拟视频进行压缩,是一种有损压缩方案,最高仅达到256色,它的品质就可想而知,一般还是不要使用它来编码AVI。

  3、Microsoft RLE
  一种8位的编码方式,只能支持到256色。压缩动画或者是计算机合成的图像等具有大面积色块的素材可以使用它来编码,是一种无损压缩方案。

  4、Microsoft H.261和H.263 Video Codec
  用于视频会议的Codec,其中H.261适用于ISDN、DDN线路,H.263适用于局域网,不过一般机器上这种Codec是用来播放的,不能用于编码。

  5、Intel Indeo Video R3.2
  所有的Windows版本都能用Indeo video 3.2播放AVI编码。它压缩率比Cinepak大,但需要回放的计算机要比Cinepak的快。

  6、Intel Indeo Video 4和5
  常见的有4.5和5.10两种,质量比Cinepak和R3.2要好,可以适应不同带宽的网络,但必须有相应的解码插件才能顺利地将下载作品进行播放(一般在Windows里已经有了)。适用于装了Intel公司MMX以上CPU的机器(多数奔腾的机器也差不多该进垃圾堆了吧),回放效果优秀。如果一定要用AVI的话,推荐使用5.10,在效果几乎一样的情况下,它有更快的编码速度和更高的压缩比。

  7、Intel IYUV Codec
  使用该方法所得图像质量极好,因为此方式是将普通的RGB色彩模式变为更加紧凑的YUV色彩模式。如果你想将AVI压缩成MPEG-1的话,用它得到的效果比较理想,只是它的块头太大了(恐怕你得考虑一下磁盘空间了)。

  8、Microsoft MPEG-4 Video codec
  常见的有1.0、2.0、3.0三种版本,当然是基于MPEG-4技术的,其中3.0并不能用于AVI的编码,只能用于生成支持“视频流”技术的ASF文件。

  9、DivX - MPEG-4 Low-Motion/Fast-Motion
  实际与Microsoft MPEG-4 Video code是相当的东西(据说就是用Microsoft MPEG-4 Video codec V3.0改的),只是Low-Motion采用的固定码率(Constant Bitrate),Fast-Motion采用的是动态码率(Variable),后者压缩成的AVI几乎只是前者的一半大,但质量要差一些。Low-Motion适用于转换DVD以保证较好的画质,Fast-Motion用于转换VCD以体现MPEG-4短小精悍的优势。

  10、DivX 4.11/4.12/5.0 
  实际上就是DivX,原来DivX是为了打破Microsoft的ASF规格而开发的,现在作者(们)摇身一变成了Divxnetworks公司,所以不断推出新的版本,最大的特点就是在编码程序中加入了1-pass和2-pass的设置,2-pass相当于两次编码,以最大限度地在网络带宽与视觉效果中取得平衡。

  编码的选择

  了解了以上的AVI编码解码算法,那么我们在压缩AVI时,就需要综合考虑播放机器的软硬件环境、文件体积、播放质量、编码时间、兼容性等各种因素,选择最为恰当的一种。我用一组测试数据来对比各种常用编码所生成的文件大小及编码速度和回放质量,供大家在压缩AVI及制作MPEG-4时参考。
  源文件大小5265kb,时间30秒,格式mpg 
  输出文件无音频,码率650k bps(可调整码率的编码),帧率为29.97 
   编码codec        生成文件大小(kb)  编码耗时(秒)  质量 
   none           226490         17      极好 
   cinepak codec by radius  18596       292      差(马赛克时显) 
   intel indeo video r3.2    9860          64      较差 
   intel indeo video 4.5    14402       396     好 
   intel indeo video 5.10    11006      135      好 
   intel iyuv codec      113260          12       与none相当 
   divx mpeg-4 low-motion  2744       17      好 
   divx mpeg-4 fast-motion  1972       17      略差于上种 
   divx 4.12          2522      18      好 
   divx 5.0 pro         2482      19      好 
  从测试数据中我们可以看出传统AVI在文件体积、播放质量、编码时间方面均占优的是Intel Indeo Video 5.10,并且它的兼容性也很好,适用于目前主流的软硬件环境。而基于MPEG-4的AVI文件,要想在作品中正常使用,必须在系统中安装它的Codec,它们在文件大小、播放质量、差别不是太大,如果是我来选择,我会首选DivX 5.0,毕竟它是最新的编码,只要在刻光盘的时候,不要忘记将它的Codec安装程序一起刻进去就行了。综合以上两类AVI,推荐用MPEG-4的AVI,要想在课件中用到DVD这种档次的视频就非它不可。

本文由grooveli原创或编辑,转载请保留链接【AVI格式压缩编码算法详解】http://www.8do8.com/post-58.html
引用地址: http://www.8do8.com/tb.php?sc=f4097c&id=58
本文标签: AVI
上一篇: 小猫用尾巴钓鱼 不是传说是神奇
下一篇:美国发现七彩玉米 外观晶莹剔透犹如琉璃
目前有 0 条评论