标题起得没有技术含量,可能想吸引一下眼球吧。下文中的隔/逐行转换所带来的一系列问题并没有展开来说,文章写得有些虎头蛇尾,点到为止吧,挤出点时间写这么多我也不容易了。欢迎朋友们指正交流。转载请注明来处,谢谢。
视频画面看起来连续,其实它是由若干静止的画面组成,当每秒轮换出现的静止画面超过一定数量,在人眼看来便是活动顺畅的视频了。每张(帧)静止视频画面又是由若干连续且紧密的扫描线组成,扫描是由左至右,从上到下进行的。

图1 一帧画面的组成 图2隔行扫描的组成
扫描方式分为逐行扫描与隔行扫描两种。逐行扫描顾名思义,就是将画面由扫描线由左至右,从上到下显示出画面(如图1)。隔行扫描主要用于电视显示领域,为了降低传输带宽而采用的方式。这种方式将一副画面(帧)分为两场,即奇数场和偶数场,一帧范围内先传送完奇数场再传送偶数场(如图2)。目前,世界上大多数广播电视都是以隔行扫描方式传送信号,电影、IT行业和少部分高规格广播电视则选择了逐行扫描方式。大多数基于CRT的显示设备是以隔行扫描方式将画面展现出来的,而平板显示器,投影等都是采用逐行扫描显示画面。
我国电视系统采用的是隔行扫描电视制式,以我国为例,我国采用50场/25帧的PAL制电视系统,每一秒有25张画面(帧),每帧按先后顺序有奇偶两场,那么奇偶两场间的有1/50秒的时间间隔。对于运动物体,摄像机所拍摄的物体位置已经与上一场其所处位置不同。由于视觉暂留效应,人眼将会看到平滑的运动而不是闪动的一场一场的图像。
如图3所示,图3.1为某帧的第一场,图3.2为该帧第二场。

图3.1 第一场

图3.2 第二场
仔细对比这三张图片,我们可以看到,第一场和第二场的时间差造成了两者画面内容有明显的不同。比如,黄色衫运动员的右脚,在画面上第二场比第一场更靠近足球。把第一场和第二场画面不做任何处理直接拼接在一起就成为了完整的一帧画面,如图4所示,画面“毛刺”感很强烈,非常刺眼。
为什么平时我们看电视时没有发现如此糟糕的现象呢?因为,电视机都是针对隔行扫描系统设计的,它们是以场为单位处理和显示图像的,因此观众不会看到“毛刺”。那为什么部分网络视频会有严重的“毛刺”呢?因为PC是以逐行扫描格式输出图像的,电视信号转换到网络视频再输出到显示设备这整个流程中没有任何过程对图像进行恰当的“隔行转逐行”处理,而只是如图4所示的那样直接将两场画面拼在了一起。在PC行业中,这种将连续的两个场不做任何修改直接结合成为一个帧的方式称为“weave”。那么,要解决“毛刺”画面就得手动在上述流程中添加一个恰当的处理步骤。

图4 两场直接组合成(weave方式)的全帧画面
首先,如果手头上得到的是一个已经画面被处理“毛刺”了的视频文件,而又想立刻看到正常的画面,这时可以采用更改播放器设置(也就是对解码端进行适当的调整)的方法。以常用免费的Kmplayer中文版播放软件为例。按“F2”进入播放软件的“参数设置”,选择左边树形栏的“视频处理”下的“反交错”项。默认情况下,右边的状态栏内“反交错模式”置于在“不使用”,改变为任意其它模式都能解决“毛刺”画面的问题,我个人推荐效率和质量都比较好的“线性混合”。这样,我们在显示器上看到的图像如图6。

图5 Kmplayer参数设置

图6 解码端采用“线性混合”模式对视频进行处理后的画面
除了调整解码端,还有一种方法是对视频文件进行一次包含去“毛刺”处理的转码。这里以免费软件WinAVI Video Converter(魔影工厂)简体中文版v2.1.0解决方法为例。选择好要转换的文件和目的格式后点击“转换模式”栏后的“高级…”,将“视频调整”中的“柔化”选项改为“是”,这样,转换出来的视频文件不管用什么播放软件不必更改设置就能看到没有“毛刺”的清爽图像了。

图7 WinAVI 设置
当然,最好的方式还是对源头进行处理,在隔行扫描的电视节目输出成供PC播放的视频文件时可以对非编软件进行相应设置。比如单位所使用的“喜马拉雅”非编软件,输出文件可以选择对电视和PC都兼容性很好的“DVD-MPEG2”格式,其内置图像处理算法已经包含了恰当的隔行转逐行处理方法了。另外,某些其他品牌非编还具有类似“反交错”的高级选项,选择同样可以输出适合电脑端播放的无“毛刺”清爽视频了。这里先不做详细介绍,如有兴趣,可以与我交流