去隔行算法

人的視覺系統對細節的閃爍沒有對大面積閃爍那么敏感,基於這一點,廣播電視標準採用了隔行掃描系統。然而,隔行掃描使許多圖像處理變得複雜了,尤其是對於掃描格式轉換來說。

去隔行就是要把隔行掃描的圖像轉換成逐行掃描的圖像,可以消除或者極大地減少隔行掃描的缺點。

基本信息

基本概念

逐行掃描

逐行掃描方式採用的掃描方式為,每張圖像都是從顯示器的左上角開始,向右移動,一直移動到螢幕的右邊緣停止,然後向下掃描下一行,從左到右進行重複式的掃描。這個過程被重複,一直到整個螢幕被更新一次為止。

隔行掃描

發展電視的早期階段,一般都採用的是叫“隔行掃描”的技術,以減少傳輸圖像時的數據量。這種技術是這樣的,首先傳送奇數行的數據,緊接著傳送的是偶數行的數據,這樣我們在傳送視頻信號的數據量方面將減少一半。隔行掃描時,一傾圖像分為前後兩場,場間間隔時間為喊間間隔時間的一半。即,掃描光柵在前一場(稱奇場或頂場)從左到右,從上往下隔一行掃描一行,直到最後一行,在後一場(稱偶場或底場)按同樣的掃描方式進行。

去隔行

公式1-1 公式1-1
去隔行算法 去隔行算法
去隔行算法 去隔行算法

輸入場只包括圖像的奇數或偶數場,去隔行就是要把“場”轉換位“幀”。這些輸出“幀”和對應的“場”表示的是同一幅圖像,不同的是“幀”包含所有的行。正式地,我們可以表述如公式1-1: 表示象素的空間坐標,n 表示第 n 場,T 代表轉置。 表示輸入場, y mod 2 = n mod 2表示輸入場只有奇數行或者只有偶數行; 表示插值象素。

算法實現

場間插值

公式2-1 公式2-1

一種簡單的場間插值去隔行方法是相鄰兩場直接合併,即直接將輸入 的相鄰兩場(奇場和偶場,或偶場和奇場)合併成一幅完整的頓圖像輸出到螢幕上,這種方法就是我們常說的“編織法(weave) ”。

具體公式如公式2-1:

去隔行算法 去隔行算法
去隔行算法 去隔行算法
去隔行算法 去隔行算法

其中n代表輸入第n場信號, 表示 的後一場信號,輸出信號 表示去隔行處理後完整的傾圖像。

這種直接六並的時域插值方法簡單方便易實現,可以提高圖像靜止區域的垂直清晰度,對閣像的靜止部分來說可以得到非常完美的效果,但對圖像中運動的部分則會產生嚴重的缺陷,如梳狀線條,鋸齒,邊緣閃爍等問題。

圖2-2 相鄰兩場直接合併去隔行效果圖 圖2-2 相鄰兩場直接合併去隔行效果圖

如圖2-2所示,(a)為當前時刻原始輸入的底場(偶場)信號,(b)為後一時刻 的頂場(奇場)信號,將(a)和(b)直接拼接得到巾貞圖像(C)。從上圖可以看出,向左運動的字母出現梳狀現象,而靜止的部分(通常稱之為背景)則能夠得到完美的效果,因此,直接相鄰兩場進行簡單的拼接只適合與靜態圖像的情況。從時間軸上看,當圖像靜止時,偶場相當於顯示該圖像的偶數行,奇場相當於顯示該靜態閣像的奇數行,奇偶場直接簡單拼湊,其實就是將偶數行和奇數行信號進行重組成一幅完整的圖像,所以能夠取得完美的去隔行效果;但是對於運動的圖像而言,每一時刻的原始傾圖像是不同的,故進行隔行下採樣山的場信息的內容都可能是不同的,如果簡年査接合併,便會出現前述的各種圖像缺陷,影響圖像的效果。

場內插值

場內插值(亦成為二維插值)去隔行算法的共同思想是利用單場內與缺失行相鄰兩行(或幾行)通過內插運算還原出缺失行(插補行)的圖像信號,再與當前場的圖像信號進行組合成一個完整圖像的去隔行方法。常見的主要算法有空域線性去隔行算法(包括場內上下行均值插值法,場內雙線性插值法,場內重複插值法等),空域非線性去隔行算法,如基於邊緣角度信息插值法(Edge based Line Average,簡稱ELA算法)。這類方法僅需要幾行高速存儲器(Buffer)空間,而奇偶場合併去隔行算法則需要外部大容量的頓存儲器(Buffer空間不可能有這么大)進行多場的信息進行融合處理,所以場內空域插值去隔行具有算法較簡單,運算也相對比較小的優點,占用系統資源少,同時可以的減少行閃爍現象,對運動圖像不會產生圖像模糊感和梳妝線條現象,提高圖像的畫面質量。不過場內插值算法僅僅利用了單場的空域相關性(單場空域相關信息),沒有利ffl連續場的域相關性,圖像的垂直淸晰度並未很好的提高。

場內線性去隔行算法

公式2-3 公式2-3

對於當前場的插補行來說,與其相鄰的上下行數據存在著明顯的空間相 關性,利用場內線性插值去隔行算法可以用公式2-3公式描述。

去隔行算法 去隔行算法

其中k,m {...,-1,0,1,. . .},h{k, m)是時空線性濾波器的脈衝回響函式,Uy = (0,1)為垂直方向上的單位向量。h(k,m)的不同取值決定了這是一個時域濾波器,空域濾波器或時空濾波器。

也就是說,若脈衝回響函式為:

去隔行算法 去隔行算法
圖2-4 行複製去隔行 圖2-4 行複製去隔行

此時就是最簡單的行複製去隔行算法,將每一行的信息簡單的 複製一行作為插補出缺行信號,使垂直方的行頻翻倍形成一個完整的幀圖像。相對於相鄰奇偶場直接合併的方法,可以有效的避免運動模糊現象,但是此算法並沒有提高圖像垂直方向的清晰度,而且對斜邊邊緣容易出現明顯的“階梯”或“鋸齒”現象,如圖2-4所示。

若脈衝回響函式改為公式2-5:

公式2-5 公式2-5

此時就變成場內上下兩行的行平均算法,等同於垂直方向固定的放大兩倍的雙線性縮放,它與行複製算法相比,圖像垂直方向的清晰度損失的比較少,可以 稍微改善斜線邊緣的“鍋齒”現象,但是會使圖形斜邊邊緣模糊,此法並不能消除“階梯”和“鍋齒”現象,如圖2-6:

圖2-6 上下兩行均值去隔行效果圖 圖2-6 上下兩行均值去隔行效果圖

場內線性去隔行算法具有數學運算簡單,計算複雜度低以及便於硬體實現等優點;其缺點則會降低圖像直清晰度,尤其是在圖像垂直方向的細節比較豐富時,這種現象特別的明顯。同時,因為這種空域濾波器在時間域上是全通的,因此無法區別基頻和諧波分量,很容易抑制基頻分量中的高頻分量, 或者引進諧波分量,最終導致混滑現象。

場內非線性去隔行算法

由於場內線性去隔行算法非常容易在物體斜邊邊緣處產生“鍋齒”和“階梯”現象,為消除這種現象,研究人員提出了多種場內非線性插值算法,其中目前研究比較多的是基於邊緣的線性平均算法,該算法的核心思想是利用相鄰行像素的方向相關性進行插值,通過檢測圖像中物體的邊緣信息確定邊緣的方向,然後根據邊緣的方向進行平均插值,這種方法使像素在最大相關的方向上進行插值以保護邊緣信息。由於人眼對圖像中物體的邊緣信息是比較敏感的,而通常的場內插值算法在物體的邊緣會形成明顯的“階梯”現象,影響視覺效果感受,因此基於邊緣方向的去隔行算法成為當前研究的一個熱點。這種基於邊緣信息的去隔行算法較好地解了啦物體斜邊處的階梯鍋齒現象問題,但是這種算法中邊緣檢測的方向並不具有必然性,噪聲的影響很可能導致檢測到錯誤的邊界,容易發生誤判邊緣方向。

運動自適應

場間線性去隔行算法對靜止和運動輕微的圖像序列去隔行的效果最好,場內線性去隔行算法對沒有垂直細節的圖像去隔行的效果最好,但是實際的視頻序列中都存在運動同時具有豐富的垂直細節圖像內容。從前面的內容可以知道,對於圖像中的靜止部分相鄰場合併去隔行算法能夠有效的提高垂直方向的清晰度,而對於圖像中的運動部分則容易發生運動模糊現象,但是場內空域插值去隔行技術可以有效的解決運動模糊現象,通過合適的算法(如基於邊緣的線性平均算法),可以很好的解決邊緣銀齒問題,收到比較好的圖像效果。因此,若綜合這兩種插值方法,有可能大幅度的提升圖像質量和畫面效果,這是我們通常說的運動適應去隔行算法。運動自適應去隔行算法中需要解決兩個關鍵問題: —是對運動的準確檢測,以分辨出圖像中運動部分和靜止部分;二是對圖像屮的靜止部分和運動部分同時釆取不同的處理方式。

逐點運動自適應去隔行算法公式2-7::

去隔行算法 去隔行算法
去隔行算法 去隔行算法
去隔行算法 去隔行算法
去隔行算法 去隔行算法

其中為當前場的場內插值的像素值, 為前一場的像素值, 為當前場的像素值,M(X,n)為第n場坐標為X出點運動大小, 是人為設定的閾值(通常需要做大量的實驗得出相對比較合理的閾值)。運動自適應去隔行是根據運動檢測的結果來判斷是按照運動圖像處理還是按照靜止圖像處理,通常對於靜止圖像採用的是場內插值算法,對於運動圖像採用的是場間插值算法。

運動補償

運動補償是對一個連續的視頻序列,通過估計方法來檢測視頻序列中的物體運動矢量,然後在運動軌跡上進行插值的過程。在視頻序列中,只要物體沒有消失,通常假設物體的旋轉或變形也可能被認為是消失了,都可以在相鄰幾場內找到當前場缺失的那部分信息補上,這就是運動補償去隔行的基本原理。

由於用來補償的這部分圖像是來自於原始場圖像,而運動自適應去隔行的運動部分的缺失信息是“人造”出來的,由此可以看出,運動補償去隔行從理論上來講能提高清晰的圖像。

運動估計(Motion Estimation,簡稱ME)是運動補償去隔行算法的核心部分。理論上,只要運動估計得到的運動矢量能夠保證足夠的準確,則由運動補償還原出來的頓圖像可以以最逼真地保持圖像的原始清晰度。目前,針對運動估計提出了很多方法,如基於快速塊匹配的分析法,光流場估計分析法,貝葉斯方法,像素遞歸法等。但是這些算法並非都適合於實際工程套用,實踐證明,最實用和先進的運動估計和補償方法是基於塊匹配的運動估計與補償算法。也是就目前而言最通用的一種算法,它先將圖像分割成NxM的塊,並假設塊內的各個像素都是做相同的運動;此後,出現了許多種塊匹配搜尋的運動估計方法,如三步搜尋的塊匹配方法,全搜尋的塊匹配運動估計方法實現的運動補償視頻壓縮算法,基於四場圖像的塊匹配運動估計,得到了質量比較高的圖像。

運動估計在視頻壓縮領域雖然套用廣泛,但運動補償去隔行算法中對運動估計有一些特殊要求,運動估計得到的運動矢量場的準確度要求很高,因為它對去隔行結果影響非常的明顯。運動補償去隔行算法的計算複雜度非常高,開發成本高,通常是在晶片上實現,再加上由於DSP的自身的一些特點,在DSP上難以實現。

去隔行技術發展

去隔行就是將隔行圖像的場信號轉換成逐行圖像的幀信號,它是視頻格式轉換技術的關鍵所在。去隔行處理的基本原理是根據圖像信息在時間和空間上的相關性,插出隔行圖像中空缺行的像素值。經過去隔行的操作,改善圖像的顯示效果,解決隔行掃描在逐行顯示器上顯示時出現的問題,使得現有的逐行掃描的平板顯示器可以正常顯示。

現有的去隔行算法技術包括非運動補償和運動補償兩大類。非運動補償算法是最先提出的去隔行算法,由於其算法簡單、易被實現而被廣泛地套用,主要包括線性算法和非線性算法。運動補償算法是最近相對流行的去隔行算法。相對於非運動補償來說,運動補償算法極大的提高了插值圖像的精確度,但同時加大了硬體實現的難度,此種算法僅限於實驗室的研究階段,到上世紀末隨著超大規模技術和去隔行技術不斷的發展,才有基於運動補償類去隔行算法的晶片問世,運動補償類的去隔行算法才逐漸被人們關注。

上個世紀七十年代國外開始採用線性插值的方法進行去隔行,其主要具體實現方法有:雙倍線性法、線性平均法、場複製法和場平均法等。此類濾波器的頻譜特點和理想低通濾波器的非常類似,由不等個數目抽頭的有限長單位衝激回響濾波器組成,算法容易、較易實現,因此被廣泛的套用在視頻處理、圖像縮放等去隔行的場合。但由於頻率空間中隔行信號的頻率分布曲線是有交叉的,低通濾波器造成了插值圖像時間和空間上的交叉,使得圖像出現模糊,因而影響了去隔行後圖像的質量。

八十年代後期,隨著對線性濾波造成的圖像質量退化和對視頻信號時空特性的深入理解,出現了非線性去隔行方法。主要有:邊緣自適應濾波、中值濾波和運動自適應。邊緣自適應算法基於圖像的邊緣信息,降低了低通濾波器造成的在各個方向上的模糊效應,改善了圖像的插值效果。中值濾波器包含了時間和空間兩個不同方向上的自適應。運動自適應濾波是基於圖像中運動的物體而檢測的,很好地解決了線性類濾波器出現的虛像問題。把這三種去隔行方法綜合起來,就是非線性的混合型自適應去隔行算法。同簡單的線性濾波相比,這種混合的自適應濾波改善了去隔行的處理效果,占用的硬體資源並不是太多。甚至有時中值濾波還可極大地縮減硬體資源。因此,視頻格式轉換晶片中大都採用非線性的自適應濾波。

上世紀九十年代,隨著積體電路工藝的發展,運動補償去隔行算法的研究得到全面開展。運動補償算法充分地利用了場內和場間的圖像信息,是去隔行算法中效果最好的一類。它插值出的圖像信息在運動上平滑、自然、無明顯的階梯狀和鋸齒現象,克服了其他兩類算法的鋸齒、運動模糊、圖像模糊等缺點,但此種算法計算複雜、工作量大並且對誤差極其敏感。由於高清和超高清的像素信息量比較大,這就要求運算電路複雜且規模龐大,才能夠計算出較準確的運動矢量,這大大提高了實現成本。所以運動估計和運動補償算法並不適合大規模地套用在普通電視產品中,只有在比較高端的顯示產品中才會看見它們的身影。

相關詞條

熱門詞條

聯絡我們