Avi2Jpeg: 1. Capture pictures from AVI stream into JPG or BMP files, then enhance them with image average technique, or enlarge them with bi-cubic interpolation. 2. Show the bitrate curve of video stream.
作者:马健
邮箱:stronghorse@163.net
主页:http://stronghorse.yeah.net
FAQ
使用说明
一、截图
二、批量放大
三、图像平均
四、选项(option)
五、码率曲线(Bitrate)
附录A 鸣谢
附录B 版本更新记录
Q:Avi2Jpeg是什么?
A:这个软件有两个主要功能:
1、截取AVI(包括标准非压缩AVI,及用DivX、XDiv压缩的AVI)中的画面,并可用内嵌的图像平均、高精度放大工具获得大尺寸的画面。
2、显示AVI的码率曲线,计算总体平均码率及视频流的码率统计特征量,为洗牌提供依据。
Q:Avi2Jpeg在截图方面与其它截图工具有何不同?
A:目前能够从AVI截到图的工具包括:
1、超级解霸、PowerDVD等播放软件。这些软件在播放流媒体时也能截图,但一次只能截一张,不能连续截,因此在截图的时候需要眼疾手快。而Avi2Jpeg可以按指定的频率连续截图,然后在截出的一堆图中慢慢挑,或者用图像平均功能合成一张高质量的图。而且这些软件截出来的都是BMP,而Avi2Jpeg可以选择保存为JPG,并且可以指定JPG的质量系数。
2、HyperSnap等通用截屏软件。这些软件相当于扩展了的Print
Screen键,完全是站在旁观者的立场上,抓取播放窗口中的内容,因此对播放过程完全无法控制,边截图播放器边哗哗往后放,一秒截不了几张图,漏截是必然的,说起来还不如用播放器截图来得方便、有效。而Avi2Jpeg彻底抛弃截屏技术,能够调用解码内核,逐帧解码AVI文件,因此不存在漏截的问题,保证每一帧图像都能被截出来。
3、VirtualDub、NanDub等AVI编辑软件。这些软件的“Save image
sequence”功能可以将整部AVI逐帧解开,然后保存成一堆BMP文件,不过你不觉得这样太恐怖了吗?至少我的硬盘经不起这样的折腾。当然也可以用这些编辑软件定位到合适的帧,然后用截屏工具或Print
Screen键截屏,不过这样还不如用播放器截图。Avi2Jpeg从NanDub、Windows
Media Player中借鉴了一些定位功能,因此可以方便地定位到AVI文件的任何地方,然后设置截图的起始帧、结束帧,还可以指定是连续截还是跳跃截,结果是BMP还是JPG等,完全不是VD和ND所能比拟的。
Q:Avi2Jpeg显示的码率曲线有什么用?
A:有以下作用:
1、通过计算视频流的平均码率,可以估计压缩时在codec中设定的码率。
2、可以从曲线形状评估AVI片源的质量,为洗牌提供依据。
Q:为什么从码率曲线能看出片源质量?如何看?
A:mpeg是针对“运动图像”的压缩算法,一般在关键帧后,会有一系列非关键帧。对于碟版片源的动画片来说,画面都很稳定,这样非关键帧只需要很少的数据就能存储与关键帧之间的差异,即非关键帧需要的码率很小。如果片源质量不好,画面经常漂移、模糊,则非关键帧需要大量数据存储与关键帧之间的差异,即分配给非关键帧的码率也很大。举个例子:片中人物在说话,只有嘴在动,其它不动,这时如果画面稳定,只需要记录嘴动的部分就行了;如果画面晃来晃去,就需要记录整个画面的运动;如果画面上颜色也变来变去,还不时出现胶片麻点,则这些东东也需要数据记录。
从上面的说明可以看出,如果一条码率曲线出现一个高峰,然后掉下来,过一会再来一个高封,再掉下来,周而复始,剧烈振荡,则片源质量是好的。如果曲线振荡不激烈,基本上是在均值上下波动,则片源质量不怎样。
Q:Avi2Jpeg在使用时有什么限制?
A:Avi2Jpeg的限制包括:
1、如果源AVI文件是用DivX等压缩的,在使用前,系统中必须先安装相应的codec插件,并保证它们工作正常。最简单的方法就是用Windows
Media Player播放欲截取的AVI,如果WMP不能正常播放,本程序也不可能截出什么来。
2、由于采用Intel
Image Processing Library (IPL)完成图像放大功能,本程序只能在支持MMX指令集的机器上运行。不过现在还有不支持MMX的机器吗?怀疑ing……
3、计算码率的时候,如果文件太短,计算结果可能会不准,因此请不要用长度在5分钟以下的文件进行尝试。
Q:我需要为使用、转载Avi2Jpeg付费吗?
A:Avi2Jpeg是一个“友情软件”(Friendware),用户在承诺不用于商业目的,也不对文件及其附件进行任何更改的条件下,不需要为使用该软件负任何费用,最多是在动漫讨论区看到我发帖子灌水时,进去捧个人场,作为友情回报,或者在年节时发个email问声好(所以叫“友情软件”)。我承诺绝不在程序中暗藏任何商业广告、木马,但不承诺为使用Avi2Jpeg的后果承担任何责任。如果您需要将它用于商业目的,或加入您的网站,请与我联系,否则保留追究一切责任的权利。如果您能提供更好的数字图像处理算法或源码,或者是发现程序的bug,欢迎与我联系。
如果你用WMPCam制作出了精彩壁纸,欢迎与我分享你的得意之作,或交流使用心得。
一般操作过程是:
我自己截的时候,一般是先用Windows Media Player version 6.4播放AVI,看到好的画面时,先用鼠标点击播放窗口,暂停播放,看一下当前的播放时间,然后到Avi2Jpeg中,拖动滑动杆定位,再开始截。定位的时候如果需要快进、快退,一般点“Prev key frame”和“Next Key frame”,“Next frame”也用,但是很少用“Prev frame”,因为逆向解码实在是太慢了。
具体操作步骤是:
“图像平均”技术的原理是这样的:
从数字信号的角度来看,产生媒体流时有损压缩造成的碎片、毛刺、色块等,可以看做是在正常信号中混入了随机噪声信号,消除随机噪声信号最简单的方法就是统计平均。具体到这里则是:对屏幕上的一个短暂定格来说,人眼看上去可能是同一幅图像,但对媒体流来说,却是多幅近似的图像帧,将这些图像帧全部截取下来,然后对它们逐点取平均,生成新的图像,自然就把偏离正常值的噪声过滤掉。平时正常播放时的画面总觉得比静态画面质量好,其实是人眼自然进行了这种平均处理。
从原理上可知,“图像融合技术”具有以下局限:
1.
可以消除或减低有损压缩算法本身对图像质量造成的影响,但对放大失真无能为力。
2.
从统计角度讲,降噪质量与样本数有关,样本越多降噪效果越好,因此只能处理定格镜头。
3.
从实际使用效果看,碟版动画由于图像比较稳定,因此降噪效果较好;录像带版动画由于磁带变形等会造成图像不稳定,定格镜头中甚至会出现整体画面轻微漂移,因此融合后图像会比较模糊。
4.
最终融合出来的图像质量,不太可能比正常播放时人眼看到的动态效果更好。
具体操作步骤是:
注意事项:
在主界面工具条中点“Option”按钮,即可弹出Option对话框。
1、录象选项(Record Option)
Record every X frames项指定录象间隔,X=0表示连续录下每一帧,X=1表示隔一帧录一次,以次类推。确实为0。
Save as JPEG表示录象时的文件类型。如果此选项被选中,则录象时截下来的图片都保存为JPG文件,否则保存为BMP文件。缺省为不选中,以免在放大、平均、编辑过程中因为JPG的有损压缩而造成质量下降。
JPEG quality表示JPG文件的质量系数。此值越大,保存的JPG文件质量越好,文件也越大,反之亦然。
2、设置图片浏览器(Viewer)
在截图、放大、平均过程中都少不了用图像浏览器查看图像,如果对系统默认的浏览器感到不满意,可以在Option对话框中,点击Viewer后面的“...”按钮,选择合适的图像浏览器(我一般是选ComicsViewer),然后点OK即可。
一般步骤:
显示处理的码率曲线波动得越厉害,表示片源质量越好;如果波动集中在均值附近,表示片源质量不怎么样。
各统计特征量的说明:
再重复一遍:统计结果的可信度与样本容量有关,因此计算码率的时候,如果文件太短,计算结果可能会不准,因此请不要用长度在5分钟以下的文件进行尝试。
本程序的的JPEG编码部分采用了Independent JPEG Group(独立JPEG小组)发布的JPEG LIB,图像放大部分采用了Intel Image Processing Library (IPL),具体放大算法参见IPL说明书中的附录B部分。
Version 1.04
新增功能:打开AVI文件后,在播放窗口的标题栏上显示AVI文件的总码率、每妙帧数。计算公式为:总码率=文件长度÷播放时间。这个数一般比压缩时在DivX中设置的码率数大,原因很简单:这个数包括了视频和音频的码率数,而在DivX中设置的仅仅是视频码率。
新增功能:计算、显示AVI文件的码率曲线。
Version 1.03
新增功能:批量放大的时候,可以选择目标文件的类型。
功能修正:对PNG文件格式进行提速,虽然生成的文件会稍大一点,但是还是值得的。
Version 1.02
增加对PNG文件格式的支持,不过速度出乎意料的慢。
Version 1.01
图像平均部分改用浮点运算,提高运算精度,减小舍入误差。
Version 1.00
1、增加“Period Record”按钮。
2、更正在Windows XP下定位不准的问题。
3、更正超长AVI不显示时间的问题。
4、更正文件或目录带有空格时,用ComicsViewer显示不正确的问题。
Verion 0.00beta
1、提供AVI的截取功能。
2、提供图像平均、批量放大功能。