Mpeg2Jpeg:Save frames in a MPEG file into JPEG files, then enhance them with image average technique, or enlarge them with cubic interpolation.
作者:马健
邮箱:stronghorse@163.net
主页:http://stronghorse.yeah.net
前言
使用说明
一、制作自己的电影连环画
二、制作壁纸
附录A 鸣谢
附录B 版本更新记录
我不知道自己对动漫算不算狂热,但每次在看动画的时候,一看到其中豪华、感人、很Q的画面,我都会忍不住想截下来制成壁纸,永久保存;在看某些经典漫画的OVA时,我也希望能够转换为可以仔细欣赏的静态图片系列,作为漫画收藏的补充。开始时我当然是和大多数人一样,用超级解霸2001进行录像,用Photoshop进行放大。但在尝试过几次后,我发现存在以下问题:
最终我还是决定开发自己的专用工具:
但程序在使用时也有以下限制:
如果您能够提供更好的MPEG解码、图像平滑的算法或源码,或者是发现程序的bug,欢迎与我联系。
注意:
Mpeg2Jpeg是一个Freeware,因此您没有为它付费的义务,也没有使用它的义务,更没有更改它或它的附件的权利;我没有为Mpeg2Jpeg提供服务的义务,也没有为使用Mpeg2Jpeg的后果承担责任的义务。但如果您喜欢它,您可以在不更改任何信息,也不添加、删减任何附件的情况下,出于非商业目的对它进行复制。如果要将它用于商业目的,或在您的网站对它进行转载,请与我联系,否则保留追究一切责任的权利。
如果你用Mpeg2Jpeg制作了精彩壁纸,欢迎与我分享你的得意之作,或交流使用心得。
启动 Mpeg2Jpeg 后,显示出主对话框界面,一般操作过程是:
小知识:MPEG图像流中的三种主要帧类型:
有关MPEG的更多详情参见MPEG.ORG和多媒体技术及应用 — 课程学习。
与豪杰超级解霸的录像功能相比,Mpeg2Jpep的图像抽取功能具有以下长处:
1. 既可以保存为无失真的BMP,又可以保存为高效率的JPEG,并且可以指定隔多少帧存一次,因此节省磁盘空间,适合长时间录像。甚至可以将整部VCD存盘,再逐帧挑选,当然您的硬盘空间必须足够大。
2. 具有现场保存/恢复功能,较长的VCD如果一次存不了,可以先存一部分,保存现场,下次恢复现场后继续保存。
3.
具有自动重新编号功能,在连环画制作完成之后,可以重新编排文件序号。
4. 保存的图像不会象解霸保存的那样出现偏色。
但也有以下不足:
1. 容错能力不如解霸的Direct CD,因此请不要噙着冷笑,怀着虐待的快感,用烂盘来考验本程序的可靠性。
2.
图像平滑能力稍差,至今我也找不到“四分滤波”的算法,看来应该是梁肇星博士的原创了。
3.
读盘部分有点烂,直接读取光盘时慢得令人难以忍受,只能从硬盘读。
4.
没有速度控制,在慢机器上是慢镜头,在快机器上是快镜头。但我想应该不会有人用Mpeg2Jpeg看电影。
“从VCD画面制作壁纸”,相信每一个对动画、CG有兴趣的DIYer都曾有过这样的梦想,但是一般都因以下技术性问题而失败:
为此,Mpeg2Jpeg采用了如下的解决方案:
“图像平均”技术的原理是这样的:
从数字信号的角度来看,MPEG有损压缩造成的碎片、毛刺、色块等,可以看做是在正常信号中混入了随机噪声信号,消除随机噪声信号最简单的方法就是统计平均。具体到这里则是:对屏幕上的一个短暂定格来说,人眼看上去可能是同一幅图像,但对MPEG流来说,却是多幅近似的图像帧,将这些图像帧全部截取下来,然后对它们逐点取平均,生成新的图像,自然就把偏离正常值的噪声过滤掉。平时VCD正常播放时的画面总觉得比静态画面质量好,其实是人眼自然进行了这种平均处理。
从原理上可知,“图像融合技术”具有以下局限:
1. 可以消除或减低MPEG有损压缩算法本身对图像质量造成的影响,但对放大失真无能为力。
2.
从统计角度讲,降噪质量与样本数有关,样本越多降噪效果越好,因此只能处理VCD中的定格镜头。不过现在VCD的采样率一般接近30帧/秒,因此有半秒左右的定格即可采集10多个样本,凑合能用了,当然长一点效果更好。
3. 从实际使用效果看,碟版VCD由于图像比较稳定,因此降噪效果较好;录像带版VCD由于磁带变形等会造成图像不稳定,定格镜头中甚至会出现整体画面轻微漂移,因此融合后图像会比较模糊。
4. 最终融合出来的图像质量,不太可能比正常播放VCD时人眼看到的动态效果更好。
具体操作步骤是:
注意事项:
为了造福对Photoshop不熟悉的兄弟,这里再以英文版Photoshop(兄弟从来不用汉化版本)为例,详细说一下用Photoshop的Automate Batch成批处理图像的步骤:
如果你能够坚持看到这里,没有被吓跑,那么我再告诉你一个tip:我截图时一般是用解霸播放,看到值得一截的地方时先暂停,然后在Mpeg2Jpeg的“当前帧”中输入解霸显示的播放时间,如“0:10:12”,然后点“跳转”按钮跳过去。
本程序的MPEG解码部分采用了Dongge Li 和 Ishwar K. Sethi编制的MDC库,解码后YUV转RGB部分则参考了豪杰公司豪杰超级解霸2.0源代码,JPEG编码部分采用了Independent JPEG Group(独立JPEG小组)发布的JPEG LIB,图像放大部分采用了Intel Image Processing Library (IPL),具体放大算法参见IPL说明书中的附录B部分。
v1.41
图像平均部分改用浮点运算,提高运算精度,减小舍入误差。
v1.40
1. “图像融合”更名为“图像平均”,以符合专业习惯。
2. 为批量放大、图像平均对话框增加参数记忆/恢复功能,使操作更简便。
v1.31
1. “批量放大”增加“x3”选项。
2. 用户如果选择BMP格式,则界面上“JPG质量”项失效。
3. 错误修正:播放时如果选择间隔保存,则程序会因为被0除而退出。
v1.30
1.
增加“批量放大”功能,能够一次将指定目录下的所有图像放大到指定尺寸。
2. 在“图像融合”功能中增加图像放大功能。
3. 引进Intel
Image Processing Library (IPL),完成所有图像放大功能。从此本程序只能在支持MMX指令集的机器上运行。
4. 重写软件说明书。
v1.22
1. 增加对16位色BMP的支持。
2. 补充了“制作壁纸”部分的说明。
v1.21
错误修正:“图像融合”功能不能对32位BMP进行操作。
v1.20
1. 增加了“图像融合”功能,专门用于从VCD、RM、MPEG4制作壁纸。这个技术的来历很偶然:我对用Mpeg2Jpeg制作壁纸一直念念不忘,但是长期以来一直解决不了图像质量问题,前段时间到清华FTP定购漫画刻录碟时,顺便到清华书店去转了一下,看了几本白书,无意间从一本教材上看到用统计平均消除随机噪声的介绍,马上茅塞顿开。
2. 增加对BMP文件的支持。
v1.10
1. 增加了“只保存帧内图像帧”功能。
2. “图像平滑”参数的缺省值从“强”改成了“无”。
v1.01
对mask滤波算法内核进行了优化,稍微加快了存盘速度。
v1.0
提供播放、保存、保存范围指定和现场保存/恢复功能,支持MPEG和JPG格式。