交錯 反交錯與IVTC 從入門到放棄

2021-08-28 07:18:20 字數 3632 閱讀 6161

網上找到的大多都是神仙討論天書筆記,許多概念也糾纏在一起……

為了更好地說明交錯,得先從傳送影象的原理講起。

在傳送電檢視像的時候,將每幀影象分解為畫素,之後乙個乙個畫素、一行一行順序傳送的方式叫做掃瞄

逐行掃瞄是非常容易理解的掃瞄方式。將這一幀的影象從左至右從上至下掃瞄完成之後,輸出一張完整的影象。掃完第一幀再繼續掃第二幀,如此迴圈。由於每一次輸出的影象都是完整的畫面,所以觀眾**的時候會覺得影象非常穩定細膩。

逐行掃瞄(progressive scan)

但是這樣的掃瞄方式需要有相當大的頻寬來傳送這些電訊號,尤其在早期的時候由於技術限制和成本高昂,很難以實現。

怎麼辦呢?為了減少頻寬,人們採用了隔行掃瞄的方式。

原理是將一幀的這一幅畫面分為兩個場來掃瞄。

完整的一幀 → 奇數行(奇場) → 偶數行(偶場)

隔行掃瞄(interlace scan)

通常有一種誤解是,偶場和奇場是由同一幀的畫面分拆得來的。

實際上,攝像機採集的方式和隔行掃瞄顯示的方式是完全相同的。當攝像機採集影象時,偶場和奇場不是同時採集的

以每秒60場的攝像機為例,偶場的採集在奇場的1/60秒之後進行。

只要影象中沒有出現變化,比如說是靜止的場景,兩個場會補足對方形成完整流暢的畫面。

但我們不是生活在ppt裡,一旦畫面出現變化,交錯(interlace)便出現了。

運動的汽車出現了交錯

記得上**調過兩個場並不是同一幀的畫幅,而是分處不同時間的。

當運動發生時,物體會在第一場處於位置a,而在下一場移動到位置b。此時兩個場不能互相補足對方,畫面上就會有一些交錯。

這個**演示了乙個番茄從左向右的移動過程。由於每乙個場和上乙個場的位置都有細微的不同,交錯便這樣出現了。

以上是一些幫助你更好理解交錯原理的背景知識,接下來我們更進一步。

但還有另一種更常見的情況是,隨著時代發展,如今逐行掃瞄已經漸漸普及。

這種轉換的過程名為telecine,縮寫為tc,中文叫膠卷過帶。

全世界最通用的兩種電視制式為北美+日本為主的ntsc制式(30fps),與中國大陸+香港+歐洲為主的pal制式(25fps)。

全世界電影拍攝的一般幀率都是24fps。

轉換成果如大家所見,也就是常說的5爛2,每5幀裡有2幀是爛的。

3:2 pulldown 下的telecine

上圖是乙個ntsc制式的3:2 pulldown例子。可以看到第1-2幀為交錯的,之後3-4-5是正常的,再接著6-7為交錯,8-9-10為正常,如此每5幀爛2幀的迴圈。

euro pulldown下的telecine

interlaced video

true interlaced video現在仍頻繁出現於大部分的體育賽事、演唱會***,部分電視劇集和一些低成本電影,以及大量的紀錄片和花絮/幕後裡。

除了上文這些常見的interlace與telecine……在處理片源時我們還會遇見非常多的奇葩情況。

比如強行把ntsc制式的碟壓進pal ***裡的,比如片源經過了無數道手的剪輯和壓制之後再次telecine的,比如整體60i系統+正片24p+片尾和特典是24t+24p+30p再內建乙個60i字幕的(沒錯索尼我在說你)

處理這些片源確實會把人逼瘋,對此我也只能說……

相信你一定可以久病成醫的:d

接下來我們進入到實戰階段。使用megui來進行反交錯處理。

但因兩者原理有些許不同,準確來講

在這裡推薦一下deinterlacing algorithms by rebeca sanz serrano,是一篇非常優秀的**,細緻比較了不同的反交錯演算法之間的優劣。

基本邏輯是,先確認交錯種類。

以及勤預覽。每幀每幀檢查效果。

通過觀察是否為非常規律的交錯(例如5爛2)來判斷。

(megui的自動分析偶爾會誤判,不要過分依賴自動分析)

解決辦法:

megui內建濾鏡tivtc

或因megui自帶decomb,可以直接寫telecide() ,例子:

telecide(guide=1,post=false)
telecide(guide=1,show=true)
不同的反交錯濾鏡究竟哪個更好是在壓制界幾十年爭論不息的話題……

下圖是乙個對目前常見的deinterlacing濾鏡的速度與質量比較。

這個測試是msu的發布者做的,所以可以不要管msu :p

如上文所說,yadif以及megui內建的tdeint是常見的快速而低質濾鏡,qtgmc則恰好相反。

還有位於兩者之間的nnedi3。在對yadif效果不滿意時可以嘗試換nnedi3再試試看。

再過問題重重的檔源就需要手動調整了,非我力不能及,歡迎大神們討論如何神仙反交錯。

以及、處理動畫片源又是另乙個世界的事情了……

願天國再也沒有interlace。

封面圖是十八歲剛剛出道時的山本美月,沒什麼特別的含義,只是因為我喜歡:)

(聖經,這一篇不讀不行)

nicky pages' digital solutions (非常全面詳細的乙個介紹,講解交錯與tc)

what is progressive scan 3/2 pulldown? (最清晰地講解掃瞄和telecine的一篇)

(如何判斷交錯的種類)

deinterlacing - videolan wiki (比較詳細地介紹了deinterlacing的不同濾鏡)

如果之後還有力氣大概會再詳細寫寫濾鏡比較,但是寫這篇的工作量已經有點超出我想象了。

kvm安裝centos7 KVM從入門到放棄

在ubuntu16上裝的,qemu,kvm裡裝的ubuntu10,可用。配置網橋部分沒做,ubuntu10可以執行,網路功能暫時沒有嘗試。linux中國 如何在 ubuntu 18.04 伺服器上安裝和配置 kvm zhuanlan.zhihu.com 編譯前,需要把系統裡的config檔案copy...

C 從入門到放棄 基本語法與函式

1.有符號整數 sbyte,short,int,long 無符號整數 byte 8位 ushort,uint,ulong 2.浮點數 float 32位 double,decimal 3.其他 char 16位 bool,string.1.隱式轉換 如 short int 2.顯式轉換 short ...

Android從入門到精通第12章 執行緒與訊息處理

建立執行緒 thread.start thread.sleep 1000 thread.interrupt handler訊息傳遞機制 在新建立的執行緒中操作ui介面。迴圈者looper簡介 android中,乙個執行緒對應乙個looper物件,而乙個looper物件又對應乙個messagequeu...