天天看點

deinterlace 隔行 progressive 逐行 3:2pulldown

3:2/2:2 Pull down模式基于逐行掃描技術上進行的,針對以電影膠片為最初拍攝素材媒介的NTSC視訊軟體的一種視訊信号再生技術。大部分的DVD電影和其他以視訊信号媒體記載的電影的播放都是先經過膠片影像到視訊信号的轉換。原來的使用電影膠片拍攝的過程中拍攝速度是24幀/秒。在電影院播放時按每格放2次的原理實作48幀/秒的速率,這就是實作2:2Pull Down對應模式。另外,由于液晶電視正常的螢幕重新整理頻率為60Hz,播放DVD的時候按照第一格分兩場,第二格分三場,第三格分兩場,第四格分三場的順序轉換成60場(30幀)/秒的長度,但由于采用的是隔行掃描技術,這60場都是不完整的262.5線的圖像,而且每第2、3個幀都會出現圖像重疊混淆的情況,使圖像的細節模糊甚至丢失。并且最終的圖像實際清晰度隻有262.5線。在采用3:2 Pull Down逐行掃描技術時,變換後産生的每一個場都是完整的帶有483掃描線的圖像,而且每播放的是60場與圖像幀一樣的完整圖像,沒有任何細節被丢失或模糊化,全程的圖像清晰度均為483線。 

模拟電視時代的3:2/2:2 Pulldown技術

  要想弄清楚24P的問題,我們還要從模拟電視時代說起。電影每秒鐘由24幀圖像組成,在放映的時候,經過技術處理,一般顯示為48Hz或72Hz,是以我們能夠看到動作連貫的畫面。

  在模拟電視時代,電視裡看到的電影則有所不同。在美國、日本以及我國的台灣省,電視是NTSC制式的,每秒鐘掃描頻率是60Hz,而在我國,電視節目是PAL制式的,每秒鐘的掃描頻率為50Hz。這兩種标準,都是隔行掃描的。電影要在電視上播出,需經過一番比較複雜的技術處理。

  以NTSC節目為例,電影的24幅圖像,要配置設定成NTSC電視節目的60幅圖像,電影的第一幅圖像,配置設定到電視節目的1-3幅圖像中,電影的第二幅圖像,分為為電視節目的4、5幅圖像,依此類推,電影的圖像,按3幅-2幅-3幅-2幅的順序交替配置設定到電視節目的60幅圖像當中。這就是我們常說的3:2 Pulldown技術。

deinterlace 隔行 progressive 逐行 3:2pulldown

  對于PAL節目,處理比較簡單,電影的每幅圖像,在電視節目播出時,重複顯示一次,24幅電影圖像,在電視機上以每秒鐘48幅圖像顯示出來,這種技術就成為2:2 Pulldown技術。由于PAL電視節目掃描頻率為50Hz,是以PAL制電視播放的電影,播放速度要比真正電影膠片快4%,伴音的音高略高,但是普通觀衆難以察覺。

     DVD時代的逐行掃描技術

  上面提及的3:2/2:2 Pulldown技術,其實我們忽視了一個環節,電影轉換成電視節目後,還有一個處理為隔行信号的問題,也就是說,模拟電視時代,我們在電視中看到的電影節目,都是經過處理過的隔行掃描信号。進入DVD時代,這種情況發生了改變,逐行掃描技術出現了。

deinterlace 隔行 progressive 逐行 3:2pulldown

DVD時代出現逐行掃描

  DVD屬于10年前的技術,從DVD本身信号的記錄來看,屬于數字技術,但是從DVD和電視機的連接配接看,最初都是AV複合、S端子或色差連接配接,仍屬于模拟技術範疇。帶有HDMI接口的DVD,也是近年來才出現的,而且不算很普及,隻有少數高檔DVD機才具有。

deinterlace 隔行 progressive 逐行 3:2pulldown

支援逐行掃描帶HDMI接口的DVD機

  随着逐行掃描DVD的出現,也出現了逐行掃描電視機,這種電視機在接收逐行掃描的電視信号時,以NTSC信号為例,先要将60Hz的隔行電視信号,還原為電影原始的24幅完整圖像,再按3:2 Pulldown的方法,配置設定成60幅逐行掃描圖像顯示出來。

  DVD方面,最初的DVD也是用上述的方法處理逐行掃描信号的。而實際上,DVDCD光牒上記錄的電影信号,可以認為都是24P的。早期的DVD無法直接對24P信号直接處理,還要經過一系列的數模/模數轉換,或者24P-60i-24P-60P的繁瑣過程。後期的DVD,随着晶片技術的發展,逐行掃描DVD可以做到24P-60P的最簡潔處理。

數字高清時代 24P電影時代早該到來了

  高清電影本身可以認為都是1920×1080/24P的。進入高清時代後,和模拟時代最大的不同還由兩個方面,一方面,電視機已經進入全高清時代,具有1920×1080的實體分辨率,也就是常說的Full HD或1080P電視,另一方面,HDMI接口已經普及,信号傳輸已經實作全數字化,進入了真正的數字時代。

  最初的HDMI隻能輸出或輸入1080/50i/60i信号,從技術角度講,隻要電視機的電路足夠好,其效果和1080P是一樣的。再進一步的發展,HDMI已經能夠輸出和接收1080P信号了,其頻率包括50和60Hz。

  但是我們知道,電影原始圖像隻有24P,無論輸出為50P還是60P,都要經過3:2/2:2 Pulldown技術。如果高清播放器材比如藍光播放機的電路不夠好,即使輸出1080P信号,可能不如電路水準高的1080i信号效果好。如果高清播放裝置方面直接輸出電影的24P信号,平闆電視直接接收24P信号後由電視機的電路處理并顯示出來,或許更好。

deinterlace 隔行 progressive 逐行 3:2pulldown

松下藍光DVD播放機DMP-BD30,支援24P信号輸出

  24P信号輸出,首先出現在藍光播放機和HD DVD播放機上,目前已經成為藍光播放機的基本功能。采用8634以上級别晶片的高清播放機,也支援24P輸出,随後24P電視也應運而生。

支援24P電影模式播放的液晶電視和等離子電視

  對于高清播放裝置,輸出24P信号實際對技術的要求更簡單,省略了很多環節。對于平闆電視而言,和1080i信号比,也省略很多電路,24P電影模式播放将成為近期中高端平闆電視的新看點。除了松下近期釋出這幾款平闆電視新品外,已經确認具有24P電影模式播放功能的液晶電視還有索尼的W380A系列和V440A系列;LG的50Y系列;飛利浦的7403系列和5403系列。

  當然,還有很多品牌和型号目前還不能确定是否具有24P電影模式播放功能,我們希望各廠商能夠為我們提供相關資訊,PConline數字家電頻道會以最快速度通報給廣大網友。

首先要看interlace的信号是怎麼得來的,一種是真正的interlace的信号,像一般的電視信号,在錄制的時候就是interlace的,這種信号是不可能完全deinterlace的,也就是說不可能得到完整的progressive的信号,因為丢失的資訊是不可能完全重建的。另一種是,film-based的TC得來的信号,用3:2pulldown/IVTC就可以完全重建progressive的信号。

接下來澄清一個問題:deinterlace 指的是什麼?如果是指把interlace的信号還原成progressive的信号,那麼在對待電影的片源來說就應包括IVTC/3:2pulldown,或者說3:2pulldown是一種deinterlace。一般來說,如何把interlace的信号轉化成progressive的信号呢,有以下基本方法:

line doubling: 每一行都重複一遍,損失一半的垂直分辨率

bob,interpolate:插值的方法。沒有信号的行用相鄰的兩行插值得到。适用于一般的電視信号,比如,用電視卡在計算機上看電視。

weave:把兩祯疊加後輸出(一祯的奇數行和下一祯的偶數行疊成完整的一祯,并沒有對每一祯進行處理,其實等與do-nothing,即什麼也沒做。适用于基于電影的DVD,前提用3:2pulldown/IVTC去掉加入的祯。

針對真正的interlaced的信号還有更進階的方法如:

Motion Adaptiveness:運動圖像用bob,靜止圖像用weave。

Motion Compensation:在weave用得多,bob用得少的情況下,估計物體的移動,構造每一祯。這個比較複雜,也比較進階,一兩句說不清楚。

orbitlee提到的各種算法大多是基本算法的演變。

是以,對于film-based 的經TC得來的DVD mpeg2 來說,deinterlace不是問題,DVD有專門的标示用來做3:2pulldown,然後把對應祯疊加得到progressive 24fps的信号,按比例輸出到60、72、85hz的顯示器上。這其中還有winDVD借用的philips的技術:Trimension™ DNM (Digital Natural Motion) ,充分利用重新整理頻率,将24祯再變換成60祯(不是簡單的重複)而是構造新的祯。

對于HDTV,即便是電影,我也不知道是TC的還是真正的interlaced的(一直找不到有關電視台播出的HDTV電影的資料,這是非常關鍵的一點,直接關系到deinterlace),如果是TC的那麼按照DVD一樣處理就行了,有差別的地方是HDTV是流媒體,是否能像DVD那樣找出對應祯進行3:2pulldown(我記得以前看到過有關文章)。如果是truly interlaced,比如,各大電視台的黃金時間節目如CSI(1080i)等,即錄制的時候就是1080i的,那麼,deinterlace的算法就很重要了,在沒有好的算法之前,一般來講會用bob,畫質可能會不如720p。在decoder設定上,truly interlaced 電視信号是不宜用weave的。對于720p的信号,decoder是不應該去處理的,不存在選用bob或weave的問題。這其實還牽扯到另一個問題,1080i和720p哪個更清晰的問題。我個人認為,TC的1080i的信号經過IVTC和deinterlace肯定比720p的要好,不存在什麼每祯540線的問題;而對于實時轉播的電視信号來說,則1080i靜态占優,720p動态占優。

綜上所述,我不認為讨論基于電影(film-based)的用TC生成的NTSC信号的deinterlace有任何意義,任何一種decoder都應該能勝任,至少對DVD來講。我們沒有必要去告訴decoder用weave或bob,decoder應有算法自動識别的,除非對于HDTV的mpeg2不适用。不同的是其他性能,比如它們的容錯性,即在信号有損失的情況下如何進行這個過程,或者在沒有标示的情況下找對應祯的能力。從實驗角度來說,如果是人工生成的标準信号,應該是沒有差別的。對于truely interlaced的NTSC信号,我們也沒啥可做的,用bob就好了。反過來說,如果你用weave出現拉絲,那說明你的片源是trully interlace的,或者,可能是ivtc做得不好,沒有去掉TC加入的祯,那麼decoder就不支援代标示的HDTV的IVTC,也就是說HDTV的IVTC要靠decoder自己去判斷哪些是人為加入的祯。

另外,僅作參考,根據avsforum的fans的經驗和鑒别,Dscaler5和最新的nvidia的decoder對于DVD的mpeg2效果最好。對于後期處理,希望大家能好好利用ffdshow。還是那句話,顯示裝置是大家因該考慮和投資的主要考慮對象,對于沒有好的顯示裝置來說,HDTV的意義并不很大,尤其是花很長時間下載下傳,就更不劃算了,好好優化DVD是正經,比如,如何把720x480的信号最優化地upscale到1280x720的顯示裝置上。等到大家都有好的顯示裝置時,hd-DVD也應該批量化了,到時候花錢買D版就是了。我不太清楚HDTV在現有的軟硬體基礎上有什麼可優化的,請懂得人另開版面讨論,相信會有意思的多。還有就是有個會員提到的買椟還珠的問題,内容比形式更重要

IVTC

幀=Frame / 場=Field / fps=Frame Per Second / Film=電影膠片

電影原本是 24fps 的,在膠卷過帶(Telecine)的時候,NTSC 制會經過 3:2 pulldown 轉為 30fps。

也就是原本 1 2 3 4 四個 Frame,拆成 1o 1e 2o 2e 3o 3e 4o 4e,每個 Frame 拆成奇數掃瞄線組成的奇數圖場(Odd Field)和偶數掃瞄線組成的偶數圖場(Even Field)。重新組合如下(以 Odd Field First 的順序)

    1o 1e - 2o 2e - 2o 3e - 3o 4e - 4o 4e

    [ A ] - [ B ] - [ C ] - [ D ] - [ E ]

每兩個 Field 再重新組合成一個 Frame,就變成 [A][C][D][E] 五張 Frame。這樣由原本的 4 張變成 5 張,4*6 = 24 => 5*6 = 30,就能從 24fps 轉為 30fps。

在電視上看,電視因為是交錯顯示,是以看不到交錯線。但是在計算機上看,計算機螢幕是循序顯示,是以中間的 2o 3e -3o 4e 這兩張 Frame 中的 Field 分别來自不同的 Frame,一起顯示的話就會看到交錯的現象。

    DVD 壓縮的時候,母帶是膠卷過帶(Telecine)後的 30fps,但是我們知道,其實原本的影片是 24fps 的,這 30fps 其實是從 24fps 轉出來的,中間有不必要重複的 Field。這些重複的 Field 會造成交錯,使得每 5 個 Frame 中就有 2 個 Frame 交錯(名言:每五張爛兩張),這些交錯的畫面要壓縮不但浪費空間,而且交錯畫面又難壓縮,會使得壓縮的效果很差。

    是以先進的 DVD 壓縮制程,在壓縮時都會使用 IVTC(inverse telecine,反膠卷過帶),将 30fps 轉回 24fps,這樣壓縮的畫面張數由 30fps 減少為 24fps,少了 20%,等于 Bitrate 增加 20%,而且畫面無交錯容易壓縮,是以壓出來的畫質會好很多。

但是 IVTC 檢出不一定能做到 100%,遇到無法檢出、判斷的部分,Encoder 還是會以原本的 30fps 來壓縮。是以我們會看到有些 DVD,是 Film(24fps)和 NTSC(30fps)混合的 DVD,又叫做 Hybird(混合)的 DVD,這個意思就是說,這張 DVD 内的畫面,是 24fps 無交錯,和 30fps 有交錯兩種型态互相混合的。

    通常 RC1 八大電影公司出的 DVD IVTC 率都很高,幾乎都高達 99% 以上,但是其它的公司出的 DVD 就不一定有這麼高的比例。IVTC 100% 的 DVD 代表這張 DVD 内完全以 24fps 壓縮,那麼在 30fps/60 field/s NTSC 制的電視機上要播放時,要怎麼播放呢?這些 DVD 在壓縮的時候,Encoder 會寫入一個 Flag(旗标)的資訊,叫做 Repeat First Field,簡寫為 RFF。根據這個 RFF,DVD 機播放的時候,就會知道哪些 Field 要重複輸出,利用重複輸出這些 Field,DVD 機就會再播放的時候,做上面提過的 3:2 pulldown 的動作,在播放的同時,将 24fps 轉為 30fps 輸出,這樣就能在電視上正常收看了。

PAL 制則不一樣,膠卷過帶時是采用 2:2 pulldown,也就是仍然輸出原本無交錯的 Frame,但始将播放速度加快 4%,聲音也一起加快 4%,提升為 25fps,是以理論上來說,PAL 很好處理,因為畫面根本無交錯,是以直接壓縮即可。不過我在這裡看到有朋友提到,PAL 的 DVD 還是有些是交錯的,這點我就不明白是為什麼了,可能是制作過程上有問題吧。(譬如說用 DV 去拍的影片,DV 大部分是交錯式拍攝,張張都交錯,是補不回來的)

    DVD2AVI 的 Force Film,所作的處理,和 TMPGEnc 的 IVTC 不一樣。TMPGEnc 的 IVTC 是跑一遍分析畫面的資訊,計算每一張畫面的「奇數掃瞄線和偶數掃瞄線的差異」和「動态」這兩個資訊,藉由這些資料,推測出原本的 24fps 的順序,将畫面反轉回原本的 24fps。因為需要分析、計算這些資料,是以跑第一遍的時候花的時間要比較久。而 DVD2AVI 則完全不一樣,DVD2AVI 是根據上面提到的 RFF 這個旗标的資訊,将重複的 Field 删除掉,直接原封不動的輸出 DVD 内原本儲存的 24fps 的 Frame。因為隻是做這樣的判斷,是以速度很快,存 .d2v 檔時一下子就存好了。所如果這部 DVD 在壓縮時的 IVTC 率很高,Film 的比例高達 95% 以上,内部原本就是儲存 24fps 的形式,這樣才可勾選「Force Film」這個選項。如果該 DVD 的 IVTC 率很低,内部大部分是 30fps 的形式,選「Force Film」輸出,你會得到亂七八糟的結果。是以在使用「Force Film」這個選項之前,必須先用 Preview 預覽一次,讓 DVD2AVI 跑一小段試試看,這部 DVD 的 IVTC 率究竟有多高,如果 Film 的比例很低,那麼就不可以使用 Force Film 輸出。

    另外如果是 PAL 制的 DVD,更不可以開 Force Film,否則 DVD2AVI 會每五張砍掉一張,原本 25fps 會變成 20fps,畫面會錯得離譜。PAL 的畫面就是原本電影無交錯的畫面,不需要做 IVTC,如果你的 PAL DVD 有怪異的交錯,那麼我猜測它的訊源一定是非""正規""的訊源(例如 DV),才會發生這種現象。遇到這種情況你應該作的是 Deinterlace,而不是 IVTC。

DVD2AVI 的 Force Film 和 TMPGEnc 的 IVTC,兩者的作法和使用的時機都不同,使用者要自己判斷該用哪一種方法。如果有人拿 Film 率很低的片子用「Force Film」輸出,得到慘不忍睹的結果,然後怪 DVD2AVI 的 "IVTC" 爛,那真是冤枉了 DVD2AVI 的作者。這些觀念在作者的網頁上都講得很清楚。

節錄當中的一段:

Forced FILM is based on RFF detection and frame decimation/duplication.

NTSC or PAL + Forced FILM ON -> garbage

FILM + Forced FILM ON -> synchronous 23.976 fps flawless FILM (equals to IVTC)

作者說,Force Film 是根據 RFF 旗标偵測和删除重複的 Frame。

NTSC(30fps)或者是 PAL 的訊源,如果開了 Force Film,得到的東西會是 garbage,垃圾。

    Film 的訊源開 Force Film,才會是同步的 23.976fps,無錯誤的 Film 影像(equals to IVTC,等于做 IVTC)

如果片源是翻錄的DVD,MPEG2碼流中沒有 RFF 旗标以供還原為Film ,用DeInterlace也隻是模糊物體的邊緣部分,是否有完美的辦法呢?

    DVD中的資訊将在電視上顯示,是以其記錄的方式是基于場的。不過正規制作的Film->DVD會在原本23.976的MPEG2視訊碼流中加入一些flags(标志),以标志特殊場的方式制定某些場按特定順序重複,以使23.976fps的Film以60場/秒的方式顯示出來。

而以DVD2AVI為代表的IVTC軟體,就是利用這種加入在MPEG2碼流中的flags快速的還原60場的MPEG2為23.976fps的原始Film資訊。

    但是模拟翻錄DVD,顯然将會丢失這些以0/1方式記錄在DVDCD光牒中MPEG2碼流中的flags标志。是以在用DVD2AVI這類軟體打開模拟翻錄的D版DVD中的MPEG2碼流時,不會識别為Film,并判斷此片不需要IVTC!

    但是實際上這樣的D版DVD是否還需要IVTC呢?——進入正題了

    由剛才對于DVD制作過程的描述,我們可以發現,播放一張正版DVD(就拿剛才假設曆時為1/6秒的Film->DVD為例),其出現在Video-OUT模拟視訊線(任以一種)的場應該是以類似這樣的順序排列的:A1 A2 B1 B2 B1 C2 C1 D2 D1 D2

    那麼即使是模拟翻錄,錄制下來的視訊信号也是以:A1 A2 B1 B2 B1 C2 C1 D2 D1 D2 的順序存在的,而其與源DVD的差別是:

    1。以29.976fps記錄

    2。沒有MPEG2碼流中flags以供還原為Film

    3。起點有可能出錯,例如變為 A2 B1 B2 B1 C2 C1 D2 D1 D2

    4。由于播放機與錄機之間的時基誤差(電源、晶振)可能會lost或rapeat的錯誤,例如:A1 A2 B1 B1 B1 C2 C1 D2 D1 D2

    但是,不論有什麼場的差距,模拟翻錄DVD不會自己生出新的畫面,所有畫面仍然是源于最初的film中的A B C D。也正因為如此,IVTC将模拟翻錄的DVD還原為23.976的Film仍然是可能的,其方法就是使用Tmpgenc。

    Tmpgenc不是利用MPEG2中的flags來做IVTC,而是交錯比較各幀和場後,經過比較、判斷場與場之間的差距(拉絲-Flick),判斷決定還原那些特定的場。是以使用Tmpg,即使MPEG2中沒有flags,或者   flags錯誤,隻要來源是Film,就可以很好的還原其為23.976的畫面。

    好處:29.976的畫面中仍會有交錯的場出現,例如 B1 C2 。如果是大運動畫面,B1 C2這一幀就會出現拉絲、橫紋。如果制作時使用DeInterlace(Blend),則會模糊物體的邊緣部分,顯然會不如源Film的畫面清晰亮麗。

    可能的問題1:模拟翻錄時的實際過程比較複雜,但基于場序的傳輸是基本。如果在模拟翻錄時,曾經用一些畫面優化裝置(例如運動補償,也就是模拟的DeInterlace)變動過畫面,那麼使用IVTC也難以還原出清晰亮麗的Film畫面

    可能的問題2:用Tmpgenc打開模拟翻錄的DVD時,無論FieldOrder選擇A或B,用DeInterlace(even-odd)來觀察到“倒退的幀”,出現會變少(目前觀察到的案例不多)。

    關于“倒退的幀”。為什麼會出現倒退的幀呢?如前所述,一張Film->DVD的MPEG2應該以正陽的順序記錄場:A1 A2 B1 B2 B1 C2 C1 D2 D1 D2

如果假設FieldOrder=A時為:A1 A2 B1 B2 B1 C2 C1 D2 D1 D2

DeInterlace(even-odd)時順序出現:A1 A1 | A2 A2 | B1 B1 | B2 B2 | B1 B1 | C2 C2 | C1 C1 | D2 D2 | D1 D1 | D2 D2

那麼FieldOrder=B時則為:A2 A1 B2 B1 C2 B1 D2 C1 D2 D1

DeInterlace(even-odd)時順序出現的是:A2 A2 | A1 A1 | B2 B2 | B1 B1 | C2 C2 | B1 B1 | D2 D2 | C1 C1 | D2 D2 | D1 D1 —— 是以有了“倒退的幀”

繼續閱讀