基于A(yíng)ltera FPGA高清晰視頻去隔行功能的實(shí)現
引言
開(kāi)發(fā)去隔行算法是為了解決一個(gè)老問(wèn)題:模擬電視的隔行視頻必須進(jìn)行轉換才能在當今數字電視上顯示。
隔行視頻是每秒50/60 連續場(chǎng),每一場(chǎng)只傳送一半的掃描行,這些行顯示在視頻的每一幀中。對于以前采用陰極射線(xiàn)管(CRT) 的顯示技術(shù),隔行視頻是一種基本壓縮方法。
今天,去隔行是重要的視頻處理功能,很多系統都需要它。大部分視頻內容采用了隔行格式,而LCD 或者等離子體等所有新出現的顯示器幾乎都需要逐行視頻輸入。但是,去隔行功能本質(zhì)上非常復雜,沒(méi)有一種算法能夠產(chǎn)生完美的逐行圖像。
背景
在隔行視頻中,一幀視頻被分成兩場(chǎng),一場(chǎng)含有偶數行掃描線(xiàn),一場(chǎng)含有奇數行掃描線(xiàn)。然而,為了能夠在LCD 或者等離子體顯示器上顯示任意的隔行視頻,必須進(jìn)行去隔行處理。所有新出現的顯示器都是逐行的,每一幀被壓縮為一組像素( 例如, 1920 x 1080)。圖1 顯示了一幀中的象素是怎樣組成兩個(gè)場(chǎng)的。每一場(chǎng)都記錄了在時(shí)間上分開(kāi)的象素值。
如果假設每秒30 幀(fps),即每秒60 場(chǎng),那么,第0 場(chǎng)是在時(shí)間“t”,第1 場(chǎng)是在時(shí)間“t + 1/60”。由于在略有不同的時(shí)間間隔上對場(chǎng)進(jìn)行記錄,因此,無(wú)法將兩個(gè)場(chǎng)連起來(lái)為運動(dòng)視頻產(chǎn)生逐行幀。去隔行技術(shù)
之所以復雜,是因為需要估算并補償可能出現的每秒1/60 的運動(dòng)圖像。
基本去隔行技術(shù)
基本上,去隔行是處理隔行幀流,將其轉換為逐行幀流的過(guò)程。兩種基本的去隔行方法通常被稱(chēng)為“單場(chǎng)插值”法和“場(chǎng)合并”法。
采用“單場(chǎng)插值”去隔行法,每一場(chǎng)自己可以變成視頻幀,因此, 29.97-fps 隔行NTSC 剪輯視頻流變成了59.94-fps 的逐行幀。由于每一場(chǎng)只有整個(gè)幀一半的掃描線(xiàn),因此,必須進(jìn)行插值處理來(lái)構成丟失的掃描線(xiàn)。
也可以說(shuō),單場(chǎng)插值去隔行技術(shù)是在空間上將掃描線(xiàn)加倍,每一場(chǎng)的掃描線(xiàn)被加倍。所產(chǎn)生的新行既可以是簡(jiǎn)單的復制前一行( 掃描線(xiàn)復制),也可以是前后行的平均值( 掃描線(xiàn)插值),如圖2 所示。當圖像亮度變化比較平穩時(shí),單場(chǎng)插值去隔行技術(shù)的結果比較好,但是由于該技術(shù)降低了垂直分辨率,因此,圖像變得更柔和。
去隔行場(chǎng)合并技術(shù)涉及到將兩個(gè)場(chǎng)進(jìn)行合并,這兩個(gè)在時(shí)間上分開(kāi)的場(chǎng)形成一個(gè)完整的幀,如圖3 所示。如果在兩場(chǎng)分開(kāi)的1/60 秒內,圖像沒(méi)有運動(dòng)部分( 對于NTSC 視頻),那么,場(chǎng)合并的結果比較好。有時(shí)候,當一對隔行場(chǎng)來(lái)自最初的逐行幀時(shí),場(chǎng)合并算法結果會(huì )非常好。但是,如果有運動(dòng)部分時(shí),會(huì )出現“鋸齒”等假像。

fpga相關(guān)文章:fpga是什么
評論