2020-3-21 12:22 /

1. 概述

一般影片拍摄都是逐行、每秒24帧拍摄的,但是要拿到电视播放的时候,由于播放制式的不同,需要做不同的变换。

对于使用 NTSC 制式的,需要做「胶卷过带」;对于使用 PAL 制式的,需要加快播放速度

胶卷过带的这个操作,最终会使影片变为隔行、每秒30帧的视频,而对于 PAL 所采用的加速会变成隔行、每秒25帧的视频。只有变换成这样的视频才能在对应制式的电视播放。

下面会分别讲这两个过程。

2.过程

2.1 NTSC

首先是 NTSC ,需要播放就要隔行、每秒30帧,而影片是逐行、每秒24帧。这样只要每秒里多6帧,再做逐行变隔行的处理就可以了。但所插入的帧都是和相邻的帧相同的,也就是重复的,容易对影片流畅度造成影响,所以可以把一个帧一分为二,变成两个相同的场,称为上场和下场

上场只有奇数行的画面,下场只有偶数行的画面,这样就变成隔行了。然后要插入的6帧,可以变为插入12个场。一秒有48个场,平均插入,就是每4个场插入1个场,得到60个场,也就是每秒30帧了。这比每4帧插入1帧,肯定会更好。

这只是基础的概念,实际上在插入场的同时每个场的顺序也不再是原来的顺序,这样做的目的是在插入重复的场的同时保持画面流畅。具体不深入。这样的操作又称作 3:2 pulldown

所以变换的过程是一帧分为两场,按奇偶行各取画面一半,在每4场插入1场的同时场的顺序重新排列,得到隔行、每秒30帧的视频。

2.2 PAL

接着是 PAL ,需要播放就要隔行、每秒25帧,而影片是逐行、每秒24帧。只要每秒多1帧,再做隔行处理就可以了。但插帧这样的操作对画面流畅度是有影响的,而且处理起来也很麻烦。

由于帧率相差并不是很大,所以可以把下一秒的第一帧提前到这一秒,这样就变成每秒25帧了,画面也比之前流畅了一帧。

假设某影片长度为 x 秒,帧数是恒定的,每秒都加入下一秒的一帧,最后长度肯定会小于 x 秒。那变换前后相差多少?

利用帧数恒定,可以列出简单式子:24x=25y ,所以变换后的长度y=24/25x ,二者差值为 x - 24/25x = 1/25x = 0.04x ,所以是每一秒都加快了 4% 。因为加速并不明显,所以一般看不出来。

在加速完后再进行隔行的处理,也就是一帧分为两场,按奇偶行各取画面一半,变成隔行。 PAL 的变换比 NTSC 的变换要简单。

讲完过程,讲变换回原来逐行、每秒24帧的方法。

3.还原

从 NTSC 还原又称为 IVTC 。步骤分为两步,场匹配删除重复帧

场匹配是通过运算找出本该是同一帧的两个场,合并为一帧。由于有重复的场的存在,在场匹配之后肯定会有重复的帧。这时隔行已经变为逐行,但仍然是每秒30帧。

接下来的删除重复帧,就是在每秒里找到重复的6帧并删除掉,还原为每秒24帧。这样就完成了 IVTC 了。

注:把隔行变为逐行的操作称为反交错,对于 NTSC 这种,需要进行场匹配来达到反交错的目的。如果拍摄过程本身就是隔行的,那么是不可能做场匹配的,每一帧的画面都是不完整的,这时的反交错就是要么修复每一个不完成的帧,要么就是两帧变一帧来消除交错,同时帧率会减半。

PAL 的还原就简单了,只要做好场匹配,然后视频平均拉长 4% ,就变回原样了。

当然,这只是视频部分,音频部分的话,NTSC 的音频几乎不需要担心音画同步问题,PAL 的话除了注意变速之外也没多大问题。

而用于处理这些变换的工具,一般都是使用 AviSynth 这个工具,搭配其丰富的滤镜,能够很好地完成这些复杂的变换。

4.结尾

以上写的都只是一些最基础的概念,实际上在影片转换成适于电视播放的视频的过程中经常会出现各种各样不同的问题,就拿插入场来说,如果运算不好会出现很大的瑕疵,这样在还原的过程中就需要更多的滤镜来修复遇到的这些问题。

注:实际上,影片帧率为 24000/1001 ,约等于 23.976 ,四舍五入为 24 ;NTSC 的帧率为 30000/1001 ,约等于 29.97 ,四舍五入为 30 ;PAL 帧率才是整数 25 。所以无论是视频还是音频的处理都不可能非常完美,只有多练习积累丰富的经验才能做出优秀的作品。
#1 - 2020-3-21 12:26
(还有很长的路要走)
当年写这个笔记的时候还嫌写得又烂又没有营养,过于基础。然而现在我再去看的话还要停顿思索下才懂。写笔记真的太有必要了,趁热打铁、温故知新。