物理是空间与时间的艺术。每一个数字的背后都有一段自然的神奇,每一个公式的背后都是一段自然的美丽。絮絮叨叨的释迦摩尼到底领悟了菩提树的几分?
以下内容以“jackei”(DVD2AVI的作者)的写文为拷贝,以《数字电视技术基础》(惠新标/郑志航着)、《数字电视技术工程手册》(J.C惠特克/K.B本森编)为补充展开细述。本文难度系数:高四^0^。
jackei原文连接:
http://bbs.irradiance.net/txtVersion/boards/animation/M.1022228442.A/PostThreadList.html 先简单看看几个有趣的数字背后的意义,详细解说附后。尽可能少描写电视技术。无兴趣者请PASS本段绿色文字。
1、为什么NTSC制式不是30FPS,而是29.97FPS(精确来说是60FPS(场速率)/1.001)?
这个是避免4.5MHz处的干扰而提出的。NTSC经过调查研究后,于1954年决定从30FPS更改为29.97FPS。因为干扰跳动频率出现在颜色副载波(3.5795MHz)和声音载波(4.5MHz)之间,以及颜色副载波和视频亮度信号的高频之间。通过选择等于4.5MHz的水平频率(Fh=15734.25Hz)286次谐波和等于水平频率的227.5倍的颜色副载波频率可将他们最小化。垂直频率从而变成了Fh/525=29.97Hz。
2、DVD的宽高为什么是720*480而不是其它?
数字化想方设法为了统一NTSC与PAL(13.5MHz的共同采样频率,720*576*50=720*480*60=207360相同的总有效象素),使用ITU-R BT.601标准把影象搞成0与1的DVD。而这个标准与业界square pixel的标准(Industry standard square-pixel)SMPTE 244M并不一致。于是出现了一组有趣的数字720、704、714、702、711等。
3、HDVD的分辨率(1920*1080)与DVD(720*480)有联系吗?
CCIR(国际无线电咨询委员会)的801报告中对高清晰度电视的描述为:“高清晰度电视系统的设计要求是使观看者在图象高度的大约3倍距离处能看到或者接近看到清楚细节的程度。达到视力正常的观看者在原始景物中相同的感觉。”这就意味着,要达到HDTV的要求,需要在现有的电视制式上做如下改进:(1)垂直和水平空间分辨率各提高一倍;(2)改善重现的颜色;(3)色信号和亮度信号分离;(4)宽屏幕,提高宽高比;(5)CD质量的立体声;(6)改进提高时域分解力。HDVD的采样频率是74.25MHz=2.25MHz*33,而DVD的采样频率是13.5MHz=2.25MHz*6,2.25MHz则是525/625行系统扫描频率的最小公倍数频率。
影片通常被记录在35MM电影胶片上,发行后,通过电视电影机用35mm拷贝将胶片转换成标准的NTSC制式、PAL等,随后再复制成VHS磁带或DVD出售。
正文开始:
1、一个重要的概念:Industry standard square-pixel工业标准正方型象素。
很多人对Cory&Resize感到困惑主要的原因一般是这个概念没有深刻理解。其实它的意思是:1:1采集。举个不恰当的例子:给个640象素长的线条让你把他1:1对应着同样用640象素再画出来。不过还是难以理解,这个概念其实是个很抽象的东西,下面我会继续反反复复把这个概念尽量好好分析下。
目前的NTSC制式电视是隔行扫描的。NTSC电视讯号水平扫描线总共525条。扫描一行的时间是63.5556 us(1秒/{525行*29.97FPS}=63.5556微秒)。其中大约有52微秒可利用。其它时间是用来同步以及等待扫描线归位(电子束从右边移到左边)。在采集中如果要维持1:1的取样密度比(1:1采集或者说方型象素采集), 就需要在52.1482us内扫描出640点。因此采样频率必须是(12 + 27/99)MHz。(在视讯规格中, 业界square pixel的标准是SMPTE 244M。SMPTE 244M规定的取样时间是52.1482us(52.1482us x取样频率 = 640)。52.1482us*(12 + 27/99)MHz=640.00063636363636=640。因此,取样频率被定为(12 + 27/99)MHz。Industry standard square-pixel的规定采样频率)
D1, DBTC, DVD, DVB等媒体遵循的却是ITU-R BT.601, ITU-R BT.601规定以13.5MHz为取样频率(为什么以13.5MHz呢?这个……好长,看完就全知道了)。因此ITU-R BT.601在同样长的时间内可以把640采集成13.5MHz * 52.1482us = 704.0007。(换个角度来看(其实还是采样频率做怪)13.5/(12+27/99)=1.1=11:10 。X/640=11/10?于是X=704。所谓的11:10就是来自这里。)
另外:ITU-R BT.601规定的取样时间是53.3333us。比SMPTE 244M标准的52.1482us长。结果53.3333 x 13.5 = 719.99955=720。于是所谓的720就出来了(其实就等于多扫描了16个象素)。也顺便解决了:数字讯源规格之所以定为720左右留下一段空间, 可以避免取样取样画面可能会往左或往右偏时,讯号超出反折。多观察就可以发现, 有许多影片有效画面并不是在正中央。(取样密度相同, 取出来的范围变大。但左右两缘不见得会有讯号, 通常会出现黑边。SMPTE RP 187建议将第2与第716点定为画面左右两缘。 在理想情况下, ITU-R BT.601取样出来的有效画面 (扣除黑边) 应该是714x480。 不过一般都随便搞, 704已经算不错了, 低于700的也不少。)
714的来历:SMPTE RP 187又“建议”取样时间52.8889us (52+8/9),有效画面的横幅714 。13.5 x 52.8889 = 714. 因为52.8889us是传统Analog Component讯源的标准。 Analog Component讯源 (像Betacam SP) 纪录的是历时52.8889us的模拟波形。SMPTE RP187希望数字取样时间能够尽量吻合传统模拟格式, 减少兼容性问题。
还要强调一点,720的产生还有更深远的原因:因为要整合美规NTSC与欧规PAL系统, 减少硬件设计成本(NTSC 525 line x 29.97 Hz (更精确的说法是60/1.001)与 PAL 625 line x 25.00 Hz)。525 x 30 x 1000/1001以及625 x 25的最小公倍数是2.25MHz (2250000Hz)。 最接近而又超越12.27MHz((12 + 27/99)MHz)的是2.25 x 6 = 13.5MHz。而且720*576*50=720*480*60=207360=1440的平方=16的平方*90的平方。这就大大方便了不同格式间视频的传输、存储和节目交换等。再个压缩算法大多以16x16为单位,MPEG2则是典型的。能够让16整除较为理想。720*480也正好满足这个条件。
附带一提, Panasonic mpeg2 encoder (inside DVHS)录下来的是704x480, cable讯源两侧应该看的到的黑边已经被削到快没有了.
这就是Cory&Resize的原理。物理就是这样赋予了数字以美妙。
=========关于SMPTE 244M的部分解析======OP=====
silky (CO2) 的文章中提到:
>不过根据这个网页http://www.uwasa.fi/~f76998/video/conversion/
>因为SMPTE 244M的取样频率取样出来的square pixel很接近square,但不是真正的square。
>如网页上列的D2: “industry standard” 525/59.94 square-pixel video 640*480,pixel aspect ratio是396/395。
>而真正计算机上的square pixel的PAR当然是1:1,所以根据计算,
>在计算机上的转换比例就不会是10/11,而是72/79 = 0.911。
>或是用”推算”出来的取样频率(实际上没有这种设备)12.3MHz/13.5MHz = 0.911。
jackei的回答:将industry standard square-pixel当成真正的1:1是因为业界并不是拿计算机当作视讯基准。用采集卡抓下来的640x480, 320x240的真实比例仍是396/395。
所以 (72/79) / (396/395) = 0.90909090909090909090909090909091 = 10/11
接下来的讨论中需要再明确一个概念,这个概念如果不确定我难以继续分析,对书中数据也就晕了。暂时我是这样理解这个概念 。如果有人有更明确的理由与依据,还请指正,因为以下论证都建立在这个概念上。其实这个概念还是建立在对正方形象素的概念理解上。
方形象素是对水平上采集而言(或者说抽象化,把线的厚度忽略),对于纵轴行数并无影响,采集了483行就是采集了483行,并不涉及方形象素。因此即使实际中采集了483行,为了方便endoce,于是切掉3行,成了480。它也不受方形象素概念的影响。
引jackei的回答:“将industry standard square-pixel当成真正的1:1是因为业界并不是拿计算机当作视讯基准。用采集卡抓下来的640x480, 320x240的真实比例仍是396/395。”根据这句话,SMPTE 244M标准中方形象素的比例仍然不是真正的1:1,应该是396/395。所以,SMPTE 244M标准会把真实的图象象素宽度“638.38383838383838383838383838384”个象素采集成640象素。(640 * 395/396=638.38383838383838383838383838384)。
(或者这样算:真实1:1比例的采样频率/SMPTE 244M采样频率={640/52.1482us}/{12+27/99MHz}=0.99999900568280684948182579932094。 395/396=0.99747474747474747474747474747475。还不如直接采用jackei的回答,直接认为是396/395方便呢~~)
又因为我们的计算机是标准的方形象素。因此,如果我们以ITU-R BT.601标准的704来对应SMPTE 244M标准的640,那么我们就应该用ITU-R BT.601标准的702.22222222222222222222222222222来对应真实的图象象素宽度“638.38383838383838383838383838384”。因为704/640 = X / (640 * 395/396) 于是:x=702.22222222222222222222222222222。
=========关于SMPTE 244M的部分解析======END====
为什么Resize要加滤镜“过滤”高频(画面尺寸重置所带来的一些问题。)? 关于这个问题请先参看下面的几幅图片。先给个结论:如果没有特别需要,请直接做成原始大小。
我们缩小画面的时候,譬如说由 256x256 变成 128x128,我们知道「分辨率」变小了,原本 256x256 画面有很密集,变化很快,空间频率很高的成分,在新的 128x128 这样少数的 pixel 上表现不出来,「分辨」不出来。学术的讲法就是,取样间距变宽,取样点不足,取样频率不够,无法记录取样频率一半以上的高频。这些高频的成分在缩小后的图形会变成以低频的形式出现,造成画面上出现许多原来没有的图形,这个瑕疵我们称为 aliasing,好像有翻译翻为「假频」。
第1个是原图。第2个图是一个有比较明显瑕疵的算法结果,多了好多没有的圈,产生的原因是如上段分析。第3个则是换用一个比较精细的算法后的结果。第4个则是相当完美的一个了(不过滤得越干净,通常也代表画面越模糊)。
看过上边的几个图,应该明白处于放大或者缩小时,所补充出来的象素需要重新计算它的像素值。如何计算,这个算法就需要个方面的考虑。这个 pre-filter(也就是一个 low pass filter)的设计有两个困难。不同种类的 filter 滤除高频的特性不一样,有的会造成画面模糊。如果 filter 的 tap 数越高(计算的像素个数越多),计算越精确,品质当然越好。但是 tap 数太高,会造成另一种瑕疵叫做 ringing effect,所以这个 filter tap 数不能太高。但是如果 tap 数太低,无法良好的滤除高频,又会发生 aliasing 的瑕疵。所以这是一个两难,必须视缩小率来调整最恰当的设计。
常见的有以下几种方法:
1. Nearest neighbor: 最近邻居法,就是很简单的直接拿最靠近的邻居(像素)数值来使用。
2. bilinear: 使用周围 2x2,4 个邻居做垂直、水平的线性内插。
3. bicubic: 使用周围 4x4,16 个邻居来做内插,内插的算式比较复杂,按距离的远近有不同的权重。
另外推荐一个 resize 的王者,叫做 lanczos3。这个 resize 法是一种 decimation filter,本身具有 low pass 的效果,也就是使用 lanczos windowed 的 FIR Low Pass Filter,它的 tap 数会根据缩小率自动变化,在清晰度和 ringing effect/aliasing 等瑕疵之间取得最佳的平衡点。所以 lanczos3 等于自己是一个完美的 low pass filter 根据大家的实验,lanczos3 可以保留最多的细节,而又不会造成太大的压缩困难,所以建议如果码率够的话,用 lanczos3 可以得到最佳的结果。相关讨论,可以看日本的网站或 Doom9。另外,lanczos3 处理放大,效果也很不错。放大缩小都行,所以说它是 resize 的王者。
最后结论:到底我们该怎样做Crop&Resize呢 1、720:简单化,不保持比例直接720*480→640*480,哎,那月亮啥时候被扁啦?←比例变形问题大于5%,开始可见于人眼。
2.、720,如果不切边,保持正确比例,必须加黑边,这样,在640*480全屏下,上下有黑边,可视面积减小。而且,水平与垂直都做变形,会损失更多图象质量。实际上按照标准也不应该有720的全象素的。
3、704:左右切到704,然后704*480→640*480,符合ITU-R BT.601标准的切法,保守又积极。
4、714:因为SMPTE RP 187又“建议”取样时间52.8889us (52+8/9),有效画面的横幅714,有些人喜欢保留全部画面,所以有此切法。但是比例变形问题问题仍然比较突出。如果补黑边,则又有补黑边后的水平与垂直全部变形所带来的图象损失问题。
5、702:因为有人质疑Industry standard square-pixel相对计算机而言并不是真正的正方形象素,704少少被换算成了702。但702的切法意味着人的变胖,个人喜欢鹅蛋脸,所以我宁可704让他瘦瘦的。
6、711:同上原因,有人质疑Industry standard square-pixel相对计算机而言并不是真正的正方形象素,714被换算成711。比例变形问题问题仍然比较突出,如果补黑边,则又有补黑边后的水平与垂直全部变形所带来的图象损失问题。
关于711,这里再拷贝个有趣的问答(2002年):
silky > 网页上说 DVD 的水平有效信息(画面)是 711 pixels 而不是 704。
jackei > 乖乖牌太少了, 天晓得谁会去遵循这个规则.。我看过的片子只有极少数能够完全符合标准, 其它留黑都留了不少。还有些厂商根本不懂 10/11 的规则 (尤其是什么测试片),居然在 720x480 上直接以 1:1 作图, 播放出来就会变瘦。连 WMP, WinDVD, PowerDVD 都没搞清楚, 直接 720x480->640x480, 乱来。
因此,影响比例的还有两个最大的地方:
1)制作人的问题。如果制作人本身不了解11/10的问题,或者没有遵守,而以720的满比例画了一个正圆,那么,切边后自然就不会得到正圆了。
2)我们自己使用的显示器的象素宽高比也不是正方形。比如1024*768的分辨率,计算机屏幕可以任意调整纵长, 谁能保证显示出来的 square pixel 一丝不差?或者可以说没有一个人的显示器宽高比是标准的1024*768。因此,就算拿到了完美的正圆,放出来也绝对是扁的,扁的反而有可能获得正圆的效果^0^
综上:切边时我们并不能明确知道片源的严格的真实的比例。因此我们选择以ITU-R BT.601标准来统一作成704,其实只是一种保守却又积极的折中办法。所以,处于种种考虑,其它的切法只要实际中不出现人眼范围内的暇嵫,都是正确的。例如,EVA-FANS的EVA切边是左8右5,保留全部实际象素,707*480→640*480。不知道有人看出否^0^ 附:
两种制式的简单说明
以下棕色文字即是。这段的理解,熟悉SIN函数与三相电的高三同学应该容易有印象。不明白也无所谓,跳过即可。实际上我特意摘录下这些文字是因为这些概念间关系很紧密。了解越多反而越容易理解。
NTSC制式(以美国国家电视系统委员会(National Television System Committee))的缩写命名。又称为正交平衡调幅同时制。综合人眼的彩色视觉特性、大面积着色原理、频谱交错原理、高频混合原理和正交平衡调幅技术等彩色电视等方面的理论和实验成果,最先创建了兼容性同时制彩色电视。主要参数:场频Fv=59.94Hz;行频Fh=525*Fv/2=15.734kHz。每帧525行。
彩色电视的图象失真有亮度失真、色饱和度失真和色调失真。其中,亮度失真主要影响景物的层次,色饱和毒丝镇改变颜色的深浅程度,而色调失真会造成景物的颜色改变。这三种失真中,人眼对色调的失真最为敏感。NTSC制式中,色度信号的相位失真会带来明显的色调失真。彩色调谐不准确,多径效应及传输系统的非线性等都可能引起相位失真。实践证明,要使人眼感觉不到色调唘畸变,相位失真应该小于±5°。PAL制式彩色电视系统就是为解决相位敏感性而发展起来的。
PAL制式(Phase Alternatino Line)即倒相正交平衡调幅制,它是在对色度信号采用正交平衡调幅的基础上,将其中一个色变分量(Fv分量)进行倒相,在发端周期性的(行频)改变Fv分量的相序,在收端采用平均措施,以减轻传输相位误差带来的影响。从而使NTSC制式饿西哪个为敏感性得到一定程度的改善。
PAL制式克服了NTSC制式相位敏感性的基本原理是:(1)采用逐行倒相正假平衡调幅的色度信号;(2)解调时先经梳状滤波器分离再同步检波;(3)最后利用视觉平均作用补偿小幅度串色引起的彩色偏差。
关于HDVD与DVD的一些关系
ITU-R BT.601(演播室数字电视编码参数)。ITU-R BT.601标准为各种不同制式的电视信号的数字化提供了一个统一的交换平台。625行、50场/秒的一行时间内的亮度抽样点数为864个;525行、60场/秒的NTSC制式为858个。但是他们的有效抽样点数都相同,均为720,这样他们图象的抽样点总数(13.5MHz)和实际有效象素数目(720*575*50=720*480*60)都相同:
ITU-R BT.707中,HDTV的抽样频率是74.25MHz。为了维持1125行、60场的HDTV信号和已经制定的4:2:2数字采样率的简单关系,结果选择了2.25MHz的整数倍作为采样频率。74.25 MHz采样频率=2.25 MHz的33倍,如果考虑1125行、60场的HDTV信号的29.63 us的全部水平扫描时间,这个采样频率可以采样2200个象素,很容易调整到1920象素——这个国际电视委员会确定的HDTV的有效象素。另一方面,74.25MHz的采样频率也便于3.77 us的水平回扫间隔(水平消隐时间)的实际实现。再者,国际遇险求救信号121.5和243MHz上没有谐波干扰,总而言之,74.25MHz是在许多参数中提供了最佳的折中。
13.5MHz正好也是2.25MHz的整数倍6倍。2.25MHz的重要性来自这样一个事实:它是525/625行系统扫描频率的最小公倍数频率。可以保证整个水平周期内的采样数为一个整数(以525/625行分量信号的数字为例,即525行系统为858个采样点。更重要的事实是两个系统都是以720象素定义有效画面时间。
如何正确看电视(以下棕色文字,无意者请PASS)
1) 视角与临场感。
研究表明,人在观看图象时会有这样的体会:当一副清楚的图象呈现在宽的视觉场里时,人眼将不能区分被显示的图象空间和观看者所处的空间,这将使观看者几乎忘记这是由显示产生的图象,而获得逼真的立体视觉,也就是产生临场感,因此,扩展屏幕是产生临场感极为有效的技术手段。(大家做第一排看电影就知道是什么感觉了)
实验表明,只有当视场角超过至少20°时,才能开始获得这种具有临场感表现的心理效果。不过,达到80°~12°时,就趋于饱和。换句话说,超过人眼极限了。没必要啦。目前的电视系统,位于最佳距离7H观看时,水平视角大约只有10°,未来的HDTV水平视角有希望达到20°~30°。
视觉场大小和观看距离也有关。
2)垂直细节和观看距离:
研究表明:高清晰度电视要求的扫描行数决定于人眼视觉系统的频率响应特性,并且是人眼观看图象距离的函数。例子:黑白相间条纹,离的足够远,你就只能看到一片融合在一起的连续亮光,(或者距离一定,行间距越小越难以分辨。比喻不太恰当,将就吧)。但人眼的分辨能力有上限,比如行间距足够小,人眼就是贴着看也看不到。大约是0.1mm。所以超过人眼分辨无意义。也造成设备的昂贵。
为了不能看到扫描线光栅结构,又可以看到图象的全部细节。观看距离必须大于一定的距离。静态光栅(可见行结构)由于电视机屏幕尺寸的增加和质量的改进,观众开始能看到组成一帧图像的各扫描行,许多人对此感到不快,使扫描点单纯地散焦,会产生使水平清晰度同时下降的缺陷,按照NTSC制标准,观众要在图像高度的7倍处(PAL制是6倍)才可以避免看到行结构,在这个距离上,观看者不会有身临其境的感觉,相反是感觉在看"一只盒子中的图画"。
普通电视的宽高比是1.33(4:3),图像的最佳观看距离为6~7倍的屏幕高度,水平/垂直视场角只有10°左右,没有临场感。高清晰度电视采用了与宽银幕电影相同的图像宽高比16:9 ( 1.777 ),在3倍屏幕高度的观看距离上, 水平/垂直视场角达19°/ 33°左右, 具有较强的临场感。
由次公式可以算得,采用1125行的高清晰度电视和525行的普通电视相比,在3倍图象高度距离处观看时,图象质量要高出两级。
垂直细节不可分辨的函数大致关系如下:
视距与图象高度之比例 扫描行数
7.2----------525
6-----------625
4-----------940
3.3----------1125
3-----------1240
2.5----------1480
2-----------1840
3)水平细节和视频带宽
由于人眼中锥状心包接近圆形,其垂直分辨力和水平分辨力接近,因此,对高清晰度电视水平分辨率的要求与垂直分辨率一样。
在决定水平分辨力方面,另一个需要确定的参数是宽高比,前面曾对人眼的视觉临场感进行过讨论,那什么样的宽高比更适合人眼临场感的视觉要求呢?早期拟订电视规范时,选择了4 : 3的宽高比,因为当时35mm影片有同样的宽高比,而且观众对此格式也感到舒适,但今天"宽屏幕"形式很普遍,NHK的研究表明,人们更喜欢5 : 3或甚至2 : 1的宽高比(黄金分割?)。HDTV的画面纵横比近于人类自然视域的画面结构,这种长方形屏幕与现代电影院的电影屏幕非常相近,也避免了现代宽银幕影片转为电视片播出时的画面损失。