11345 29.97 Hz 这种奇葩帧率是怎么来的?


  制作电影或视频的人也许知道,有些影视节目的帧率是 29.97 帧每秒。你也许有想过:这个数字明明这么接近 30,为什么就不能凑个整呢?我在网上试图找寻答案,却发现竟然没有一篇文章能够清晰、完整地梳理出 29.97 这个数字的来历。那么,就由我来考一下古,补上这个空缺吧!当然,作为半个外行,考证出的细节难免有错误或遗漏,欢迎影视、通信等业内人士纠正、补充。

  29.97 Hz 这个帧率,要追溯到 1950 年代美国模拟电视的 NTSC[1]标准。模拟电视在最近十年已经逐渐被数字电视所取代了,但模拟电视带给我们的影响还未消散。NTSC 是模拟电视的三种制式之一,另外两种是 PAL 和 SECAM。三种制式分别由美国、德国和法国提出,它们的使用范围如下图所示。

图 1:三种模拟电视制式在世界上的分布。图片来自:https://upload.wikimedia.org/wikipedia/commons/0/0d/PAL-NTSC-SECAM.svg

  NTSC 制式标准有过两代:第一代是 1941 年制定的,只支持黑白画面,此时的帧率确实是正好的 30 帧每秒。到了 1953 年,又推出了支持彩色画面的第二代标准。在第二代标准的制定过程中,人们发现,为了避免声音信号对彩色画面产生干扰,不得不对第一代标准中已经定好的一些参数进行微调,29.97 Hz 的帧率就是这样微调出来的。

  在这篇文章中,我就来追溯一下 NTSC 黑白及彩色电视标准的制定过程,以及在选取一些参数时的技术考量。你将会看到第一代标准是怎样给第二代标准埋下了坑,第二代标准又是怎样通过「丑陋而又巧妙」的方式避开这个坑的。

一、NTSC 黑白电视标准

1.1 画面标准

  黑白模拟电视的原理大概是这样的:屏幕后面有一个显像管,它可以发射电子束打到屏幕上,形成亮斑。电子束的强度以及它打在屏幕上的位置都是可以控制的。电子束在屏幕上沿水平方向从左扫到右(称为一条「扫描线」),就可以显示出一行画面;从上到下扫描许多行(称为一「场」),就可以在显示出一幅完整的画面来了。

  在实际中,屏幕上的扫描线数,会多于画面在竖直方向的分辨率。这是因为显像管中的电子束不能瞬间从屏幕底部移动回顶部,而是需要一定的时间,这称为「场逆程」;「场逆程」期间的扫描线并不会显示在屏幕上。为了减弱画面的闪烁感,实际电视中还采用了「隔行扫描」技术,也就是在一场中只扫描奇数行,下一场中只扫描偶数行,这样就需要两场才能显示一帧画面。

  NTSC 黑白电视标准制定于 1941 年。其中,与画面有关的参数为:

  ● 帧率为 30 帧每秒,采用隔行扫描,故场频为 30 * 2 = 60 Hz;

  ● 水平扫描线数为 525 条,故行频为 30 * 525 = 15,750 Hz;

  ● 画面上实际可见的扫描线数为 483 行。

  这里,场频 60 Hz 这个数字与美国交流电的频率一致,这样取的好处是可以减少电源杂波的干扰。画面上实际可见的扫描线数(483)对于下文的讨论并不重要,重要的是扫描线的总数(525)。而 525 这个数字的来源就比较复杂了[2]

  首先,扫描线的数量需要是一个奇数。这是为了在隔行扫描的时候,奇数场与偶数场的扫描线正好交错开,组成完整的画面。下面是隔行扫描的原理图,图中两场共有 11 条扫描线(其中 8 条可见),可以看到奇数场的扫描线(c)与偶数场的扫描线(e)是如何交错组成完成画面(g)的。

图 2:隔行扫描原理图,取自百度百科「隔行扫描」页面

  其次,扫描线的数量不能包含比较大的质因数。这是因为,在发射端(电视台)和接收端(电视机)中,都需要用电路来产生频率为场频和行频的周期性信号。为了保证这两个信号的同步,它们是从同一个振荡器发出的高频周期性信号中通过「分频器」降频产生的。以 40 年代的技术水平,分频器输出的频率只能是输入频率的小整数分之一。

  扫描线的数量既然是奇数,就说明它不能包含质因数 2。如果只允许它含有质因数 3、5、7,那么在 400 ~ 700 之间(画面竖直分辨率的合理范围)可选的数就只有如下这些:

NTSC 选择了 525。下面将会看到,525 中包含的质因数 7,就是万恶之源

1.2 传输标准

  除了与画面有关的参数外,NTSC 标准还包括有关信号传输的内容。电视信号是利用无线电频谱中的甚高频(VHF,30 ~ 300 MHz)和超高频(UHF,300 ~ 3000 MHz)频段传输的。信号在从电视台发射出去之前,要进行调制,即通过修饰一个频率处于 VHF 或 UHF 频段内的载波信号,让它携带上画面以及声音的信息;被电视机接收到后,则要进行解调,即把画面和声音信息解码出来。常用的调制方法有调幅(AM)和调频(FM),即让载波的幅度或频率随着要传输的信号变化。

  调制后的信号,会在频谱上占用一段带宽,它一般是关于载波频率对称的一段,其宽度与被传输的信号本身的带宽有关。NTSC 标准选择把画面信号的带宽限制在 4.2 MHz 以内[3](根据奈奎斯特采样定理,这个带宽相当于每行有 4.2 M * 2 / 15,750 ≈ 533 个像素;由于扫描过程存在「行逆程期」,实际会再略少些)。画面信号是采用调幅(AM)的方式调制的,调制后的信号,会在载波频率的两侧各占用 4.2 MHz 的带宽。实际上两侧的内容是对称的,只传输一侧就可以,但受到技术的限制,无法把单侧的频谱清除得干干净净。NTSC 选择完整地传输右边的 4.2 MHz,而左边则只保留 1.25 MHz[3](称为「残留边带调制」),这样画面信号占用的总带宽就是 4.2 + 1.25 = 5.45 MHz。

  声音信号则采用调频(FM)的方式调制。人耳的可听频率范围为 20 kHz,NTSC 选择传输其中 15 kHz 以内的部分。调频时使用的最大频偏为 25 kHz[4]。根据卡森带宽法则,调制后的信号占用的带宽为 2 * (15 + 25) = 80 kHz。注意声音信号带宽的单位是 kHz,而画面信号的带宽单位是 MHz —— 声音信号占用的带宽是远小于画面信号的。

  NTSC 为每个频道分配了 6 MHz 的带宽。画面的载波被放在了 1.25 MHz 的位置(这个位置是相对于频道频率范围的最低端而言的,下同),这样画面信号占用的频率范围就是 0 ~ 5.45 MHz。声音信号的载波则被放在了 5.75 MHz 的位置,声音信号占用的频率范围是 5.67 ~ 5.83 MHz。这种分配方式如下图所示。其中 Luminance 表示黑白画面信号,Audio 表示声音信号,Chrominance 是下面将要讲的彩色电视中的色差信号,可以先忽略。

图 3:NTSC 一个频道 6 MHz 带宽的分配方式。图片来自:http://people.seas.harvard.edu/~jones/cscie129/nu_lectures/lecture8/analog_tv/spec_ntsc_col.gif

  上面的这些频率值,在选取时也都有一定的自由度,只要数量级差不多就行,并不是非要选择这些值。然而正因为如此,画面与声音两个载波的间距 —— 4.5 MHz,就为将来埋下了坑。

二、NTSC 彩色电视标准

  到了 1950 年代,彩色电视出现了。彩色电视的屏幕可以显示红、绿、蓝三种颜色,一幅彩色画面,就可以看成是由红、绿、蓝三幅画面组成的。NTSC 想要制定一套与黑白电视兼容的彩色电视标准,如果分别传输红、绿、蓝三幅画面,就无法与黑白电视兼容。但这个问题比较好解决:把红、绿、蓝三幅画面线性组合一下,就可以得到一幅纯黑白的画面(称为亮度信号),以及两个色差信号。亮度信号与黑白电视兼容,那么下面要做的事情,就是想办法在一个频道的 6 MHz 带宽内,把两个色差信号塞进去。然而黑白电视的画面信号与声音信号已经基本占满了 6 MHz 的带宽。怎么办呢?

  NTSC 首先想到的是能不能缩减色差信号的带宽。很幸运,这是可以做到的:人眼对色差信号的分辨率低于对亮度信号的分辨率[5],所以色差信号并不需要占到 4.2 MHz 的带宽:两个色差信号分别传输 1.5 MHz 和 0.5 MHz 以内的部分就行了。然而在黑白电视标准中,亮度信号与声音信号之间只留下了可怜的 0.22 MHz 的空隙,怎么办呢?

  这就是彩色电视标准中最聪明的地方了!注意到亮度信号中,相邻两行的信号是大同小异的。也就是说,亮度信号可以近似看成一个周期信号,其周期为 15,750 Hz,即行频。周期信号的频谱是梳状的:每隔 15,750 Hz,就有一个尖峰,而峰与峰之间的信号强度则很低。这种性质在调制之后依然保持。所以,调制后的亮度信号,看起来是占满了 5.45 MHz 的带宽,实际上是有很多缝隙的!同样,色差信号也可以近似看成周期为行频的周期信号,其频谱也是梳状的。如果能把两把梳子插到一起,问题不就解决了嘛!

图 4:「梳子对插」法叠加亮度信号(橙)与色差信号(蓝)的频谱。图中横轴中央为色差信号的载波频率;亮度信号的载波在图示范围左边很远处。

  如果接收端是彩色电视机,就可以用「梳状滤波器」把亮度信号和色差信号分离开来,互相干扰不大。如果接收端是老式的黑白电视机,那么色差信号确实会对亮度信号产生干扰。不过,若以亮度信号的载波为基准,色差信号的峰都会落在行频的半整数倍处。这相当于一个基频为行频的一半,且只含奇数次谐波的信号;放到画面上,就是周期为 2 行,且相邻两行的干扰正好相反。只要人不去仔细分辨画面上的每一行像素,这样的干扰就会被人眼的「模糊滤镜」给忽略掉。

  我们再回到图 3。NTSC 彩色电视标准,就把两个色差信号放在了亮度信号比较高频的位置。通过一种叫做「正交幅度调制」(QAM)的技术,可以用同一个载波同时承载两个色差信号。其中一个色差信号(Q)保留了载波左右两侧各 0.5 MHz 的带宽,另一个色差信号(I)采用残留边带调制,保留了载波左侧 1.5 MHz、右侧 0.5 MHz 的带宽。

  剩下的事情,就是为色差信号寻找一个合适的载波频率,使得亮度信号和色差信号的两把「梳子」能够正好对插起来了。用

分别表示亮度信号的载波频率、色差信号的载波频率以及行频,则「梳子对插」要求

的半整数倍。同时,

也是要通过「分频器」产生的,所以它与

之比也不能有太大的质因数。实际制定的标准取了

,其中 455 = 5 * 7 * 13,质因数都不算太大。

  故事到这里,本来就应该有一个圆满的结局了。但还有一个问题:声音信号对色差信号的干扰[6]。从图 3 上看,声音信号与色差信号的频率范围没有重叠,本不应该有干扰的。但是,当传输的信道不是完美的线性时,非线性就会把信号中原有的频率加加减减地进行组合,产生本来不应该有的频率分量(这种现象称为 intermodulation)。其中比较显著的一个,是

表示声音信号的载波频率),即以色差信号的载波频率

为轴,把声音信号的载波频率

翻转过来 —— 这个频率落在了色差信号 I 的范围内,会对它产生干扰。为了让梳状滤波器能够尽可能消除这个干扰,就要让这个干扰落在色差信号频谱的缝隙中,即让

也是行频

的半整数倍。

  整理一下:

  ● 色差与亮度信号的载波频率之差

,需要是行频

的半整数倍;

  ● 声音与色差信号的载波频率之差

,也需要是行频

的半整数倍。

两个条件一综合,发现声音与亮度信号的载波频率之差

,需要是行频

的整数倍。但这些数值都是在黑白电视时代都定好了的呀!试除一下看看……

  不是整数!

  看到了吗?扫描线数 525 中的质因数 7,就是万恶之源!

  为了把这个比值凑成整数,就必须调整声音与亮度信号的载波频率之差

,或者调整行频

。调整前者就会造成黑白与彩色两代标准不兼容,使得黑白电视机无法同时接收彩色电视节目的画面与声音,反之亦然。而调整后者则没有这么严重的问题。至此,就只能放弃正好 30 Hz 的帧率了!

  刚刚算出来,声音与亮度信号的载波频率之差

,是行频的 285 又 5/7 倍。NTSC 决定把这个倍数四舍五入成 286,它比 285 又 5/7 多出了千分之一。新的行频为:

而新的帧率,则是行频再除以 525,等于:

色差信号与亮度信号的载波频率之差

,则是:

如图 3 所示。

  把帧率调整成 29.97 Hz 以后,它就不再是交流电频率 60 Hz 的一半了,这其实可能引入电源杂波的干扰。这个问题是怎么解决的,我并没有找到足够的资料。

  如果要用一句话来概括帧率调整成 29.97 Hz 的原因,则是为了减轻信道的非线性造成声音信号干扰色差信号。需要注意的是,有些资料上说是为了减轻干扰而降频。这个说法不能说错,但仿佛暗示着干扰是帧率过高造成的。实际上产生干扰的原因,在于声音与亮度信号的载波频率之差

与帧率之比不是整数;如果这个比值取整时不是「五入」而是「四舍」,那么结果就会是帧率略微升高了。

三、PAL 制式

  PAL 制式于 1962 年产生于德国(西德),它也是中国使用的彩色模拟电视制式。PAL 制式的制定过程中就吸取了 NTSC 制式的教训。它的主要参数如下:

  ● 帧率为 25 帧每秒,采用隔行扫描,故场频为 25 * 2 = 50 Hz;

  ● 水平扫描线数为 625 条,故行频为 25 * 625 = 15,625 Hz;

  ● 画面上实际可见的扫描线数为 576 行;

  ● 每个频道占用的带宽为 8 MHz;

  ● 亮度信号与声音信号的载波频率之差为 6 MHz。

  可以看到,6 MHz 正好是行频 15,625 Hz 的 384 倍,所以 PAL 制式能够直接避免声音信号干扰色差信号的问题,可以使用正好 25 Hz 的帧率。不过,PAL 制式实际使用的色差信号与亮度信号的载波频率之差

为 4.43361875 MHz,它等于行频 15,625 Hz 的 283.75 倍再加 25 Hz[7]。至于它为什么不是行频的半整数倍,我就没有再深究了。

四、29.97 Hz 的帧率产生的影响

  29.97 Hz 的帧率产生的流毒延续至今。一个重要的体现,就是电影的音画不同步问题。

  电影是电视节目的一个重要来源。而拍摄电影时,使用的标准帧率是 24 Hz,即每秒拍 24 张胶片。影视界有一种称为 3:2 pull down 的技术,可以把 4 帧画面拖长成 5 帧,从而适应 NTSC 黑白电视的 30 Hz 帧率。

  NTSC 彩色电视出现后,原来采用 30 Hz 帧率的节目,就被以 29.97 Hz 的帧率播放了。这样微小的速度变化,人是察觉不到的;一部 2 小时的电影,降低帧率后的时长也只是增加了 7.2 秒。但是,如果声音仍然按录制时的原速播放,那么只要几分钟的时间,观众就会明显觉察到声音比画面提前出现,这电影就没法看了。于是,有些电影录制设备就把帧率改成了 24 / 1.001 ≈ 23.976 Hz,这样经过 3:2 pull down 之后,就能按原速在 NTSC 制式的彩电上播放了。

  PAL 制式的彩色电视出现以后,原来使用 24 Hz 帧率拍摄的电影,可以调整成 25 Hz 后播放,不会出现音画不同步的问题。但是,为了适应 NTSC 制式的彩色电视而采用 23.976 Hz 帧率拍摄的电影,就只能调整成 24.975 Hz 的帧率。把这样的电影在 PAL 制式的电视上播放,就会出现相反的音画不同步的问题:这回是画面比声音快了。

五、总结

  NTSC 为了保证黑白与彩色电视标准的兼容性而对帧率进行的千分之一的微调,让人们在许多场合白费了无数脑细胞。但技术的进化就像生物的进化,不可能在最初的时候就把一切都设计得天衣无缝,进化的结果往往带有许多不完美,这也是自然的规律吧。

  在写作本文的过程中,我看过的以下内容对我有帮助:

Why is TV 29.97 frames per second? - standupmaths - YouTubeWhy do we have 29.97 frame rates, and not just 30?? - GlydeckThe 29.97 frames per NTSC standard - Physics Forums

但看了一圈之后,发现其实还是维基百科写得最详尽:

NTSC - Wikipedia

查看知乎讨论
为什么蜜蜂死亡之前会一直摸肚子?(为什么蜜蜂死前会吐舌头)
上一篇
为什么太阳系只有土星有行星环?
下一篇
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

相关推荐

  • 苹果手机各个功能介绍,iphone必须关闭的十个功能

    1、关闭蓝牙。现在已经很少有人用蓝牙传输文件了,而且iPhone与安卓的蓝牙并不兼容,所以,可以在设置中,关闭蓝牙功能。2、关闭通知功能。关于APP推送,无非也就是一些更新提醒,关了也不会有什么影响,还能多省点电。3、关闭自动调节亮度功能。一般来说,可以将屏幕亮度在15%-30%之间,在强光环境中,在进行手动调整就可以了。4、禁止后台刷新。在设置—通用中,关闭后台自动刷新功能,也可以对省电起到一点...

  • 高德打车怎么设置途经地,高德如何添加途经路线

    1、点击高德地图APP界面底部的“导航”按钮,进入导航模式。2、点击右下角的“路线”,进入路线设定页面,根据要求输入起点、终点进行路线规划。3、点击“添加途经点”,弹出添加途经点页面,点击右上角,可以添加或者删除途经点,乘客可以手动输入要添加的途经点。4、当添加完途经点时,点击“确定”按钮,即可添加途经路线。此时地图会显示出这条路线上所有的途经点,以及当前途经点的地点信息。怎么设计高德地图设置要经...

  • 高中必修二物理知识点总结,高一物理必修2重点知识点归纳

    您好,1.运动学-位移、速度、加速度的概念及计算方法-相关运动的分析方法,如相对运动和抛体运动-牛顿运动定律及其应用2.力学-力的概念及种类,如重力、弹力、摩擦力等-牛顿第一、二、三定律及其应用-力的合成与分解-能量、功、动能定理、功率的概念及计算方法-动量、冲量定理及其应用3.热学-温度、热量、热能的概念及计量单位-热传递的方式及其特点,如传导、对流、辐射-热力学第一、二定律及其应用,如热机效率...

  • 为什么蜜蜂死亡之前会一直摸肚子?(蜜蜂死亡)

    这不是摸肚子。这是昆虫肢体无法协调运动的表现。我不清楚原因——但我很确定这极其常见。随便找一只在地上躺了一段时间翻不过来的昆虫,它大概率都会有这种症状。它们的六肢颤动或挥动,但始终无法翻身。即使把它们...

  • 浮点运算是什么?(excel浮点运算误差怎么解决)

    浮点运算区别于定点运算。float operation per second,即 flops,每秒可支持的浮点运算数,经常成为衡量一个设备计算能力的指标。浮点,浮点,这个点是什么,为什么又浮着?答:这...