本文**
1、什麼是場
在介紹deinterlacer去隔行處理的方法之前,我們有必要提一下關於交錯場和去隔行處理的基本知識。
我們在實際拍攝時,若使用隔行掃瞄的格式作記錄的話,比如標清中的pal制,ntsc制,高畫質中50i,60i等,它們在訊號記錄時,總是會先掃瞄記錄下場(偶數場)訊號,再掃瞄記錄上場(奇數場)訊號;或者相反。如果先記錄下場的,我們就說是下場優先(偶數場優先),反之叫上場優先(奇數場優先)。這樣就導致了上場與下場的影象實際上是有一定時間位移之差的,所以這兩場的影象在空間上是不能完全重合的,尤其在拍攝活動畫面時,活動主體的位置往往會形成梳狀條紋,如圖所示。
圖3-隔行掃瞄影象的奇偶場合並產生梳狀條紋示意圖
3、常見的去隔行處理方法和原理
去隔行處理就是通過一定手段,讓原本因隔行掃瞄形成的交錯幀顯得不再交錯,注意是「顯得不再交錯」而不是「還原」,因為理論上講是無法復原為100%完整畫面的,如此一來,其實去隔行的目的就是最大限度地去交錯,所以兩個概念也往往混稱。
一般情況下,我們常見的去隔行處理方法有以下幾種
(1)、奇偶場直接合併
當畫面中沒有運動的時候,奇數場和偶數場的取樣資訊依然能直接合併為完整的一幀畫面,如圖所示。
圖4-靜止畫面中奇數場與偶數場直接合併為完整的一幀畫面
當然,這種情況少之又少,絕大多數情況下,畫面中總是會有運動(否則就是**了),所以這種模式幾乎不會採用,不過它給我們提供了某種啟示,在隨後的運動遮罩合併模式中得到體現。
(2)、場複製合併
最簡單的一種解決方法就是僅保留單場,拋棄另一場,然後把該單場中的行進行複製組合為新的另一場,最後再合併為一幀。
圖5-場複製模式減少梳狀也帶來鋸齒
這樣方法雖然大大減少梳狀條紋的程度,但同時也會帶來明顯的鋸齒現象,且畫面的有效清晰度大大下降,因僅用了一半行數的畫面資訊。
(3)、內插補點(大多數情況適用)
為了改善場複製模式帶來的鋸齒程度,同時得到相對快捷的處理速度,許多應用軟體都使用內插補點的方法作為標準的去交錯模式。
這種方法首先依然保留單場資訊,然後丟棄另一場,接著通過內插補點的方法建立新的掃瞄線。與場複製不同的時,它更加智慧型,會經過計算保留場相鄰的行間的資訊來建立另一場。
圖6-內插補點方式消除梳狀也較少鋸齒
如此處理,大大減少了場複製模式帶來的鋸齒現象,影象質量大幅提公升。不過畫面的有效資訊依然被抽去了一半。
(4)、場融合
為了增加畫面的有效資訊,可以把內插補點的方法加以延伸,就是分別把原畫面的奇數場使用內插補點得到新畫面,再把原偶數場使用內場補點得到另乙個新畫面,然後再把兩個新得到畫面各取一半合併起來,就便是所謂的場融合方法,也叫奇偶平均合併方法。
圖7-場融合方式保留全部資訊但也帶來重影現象
這種混合奇偶兩個圖場的方法,可以大大降低突兀的鋸齒現象,是去交錯的有效方法之一,而且畫面的有效資訊擴大為全幀畫面資訊。不過***是畫面會因為兩中間幀混合導致畫面模糊,運動劇烈的畫面還會有重影現象。
關於KVM一些概念
kvm kernel virtual machine核心虛擬機器 是乙個linux核心模組,可以用modprobe去載入kvm模組。載入模組後,才能進一步通過其他工具建立虛擬機器。但僅有kvm模組是不行的,因為使用者無法直接控制核心模組去作事情,所以還要有乙個使用者空間的工具才行。這個使用者空間的工...
關於uboot一些概念
u boot的環境變數值得注意的有兩個 bootcmd和bootargs。bootcm bootargs bootargs是環境變數中的重中之重,甚至可以說整個環境變數都是圍繞著bootargs來設定的。bootargs的種類非常非常的多,我們平常只是使用了幾種而已.bootargs非常的靈活,核心...
關於Socket的一些概念
對於 tcp ip 我們還知道 tcp和 udp,前者可以保證資料的正確和可靠性,後者則允許資料丟失。最後,我們還知道,在建立連線前,必須知道對方的 ip位址和埠號。除此,普通的程式設計師就不會知道太多了,很多時候這些知識已經夠用了。最多,寫服務程式的時候,會使用多執行緒來處理併發訪問。我們還知道如...