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