基于BT. 656的電視視頻硬件解碼的分析與實(shí)現
根據ITU2R BT. 656電視視頻編碼原理,通過(guò)硬件解碼的方式將每一幀視頻圖像的有效數據提取出來(lái)后傳送給播放器顯示。同時(shí)在保持視頻不失真的前提下將視頻有效數據按照一定的比例規格進(jìn)行過(guò)濾,最終實(shí)現按比例縮小視頻的目的。
本文引用地址:http://dyxdggzs.com/article/193906.htm這種通過(guò)硬件解碼的處理圖像方式既能按比例縮小視頻尺寸又能節省CPU的占用率,能很好的適應電視系統在手機等小屏幕視窗的數碼產(chǎn)品的需求,具有廣大的市場(chǎng)應用前景。
隨著(zhù)模擬信號數字化的不斷發(fā)展,模擬電視數字化也被廣泛的應用于數字多媒體終端。尤其是監控設備及新興的手機電視終端等,對于視頻的畫(huà)面比例、清晰度、CPU占用率等方面的要求,更加促使人們研究如何將視頻以最少的資源占用率實(shí)現最佳的編碼、傳輸、解碼及播放。模擬視頻信號解碼既是視頻應用的重要部分,又是后級數字信號處理的基礎。國際電信聯(lián)盟組織提出了將模擬視頻信號轉換成數字信號的標準ITU2R BT. 601,而ITU2RBT. 656是數據傳輸接口,可以說(shuō)是BT. 601的一個(gè)傳輸方式。因此,如何將經(jīng)BT. 656 編碼的模擬信號進(jìn)行最為有效地恢復原始圖像并且最大程度地節省CPU占用空間,是視頻解碼技術(shù)的關(guān)鍵。
1 系統分析
視頻解碼是指從來(lái)自外界信號源的數據流中過(guò)濾去其他數據,將一幀完整的有效數據提取出來(lái)傳送給播放器播放的過(guò)程。它既是視頻應用的重要部分,也是上位機進(jìn)行數據處理的基礎。系統采用硬件解碼方式,將已編碼好的外界信號源經(jīng)一系列處理后最終還原出原始視頻圖像,實(shí)現視頻解碼功能。它由外界信號源(如DVD等) 、數據解碼模塊、數據緩存模塊、數據傳輸模塊、顯示模塊(播放器)及控制模塊等部分組成。
數字視頻的信號源是在模擬視頻信號的基礎上經(jīng)過(guò)取樣、量化和編碼形成的,不同的空間垂直分辨率,會(huì )有不同的空間水平分辨率。經(jīng)BT. 656編碼的數據由信號源發(fā)出后經(jīng)數據解碼模塊的篩選,將有效數據放入數據緩存FIFO模塊,然后DMA傳輸模塊按照一定格式將處理好的有效數據傳輸至上位機的緩存(內存空間) ,等數據達到一幀時(shí),上位機便將一幀數據進(jìn)行奇偶穿插放進(jìn)數據緩存FIFO,最后播放器將一幀數據復原為原始圖像呈現在顯示器上進(jìn)行播放。
2 BT. 656的編碼原理
目前世界上有PAL、NTSC、SECAM三種不同制式的模擬電視系統,而這些制式之間不能直接互通。
因此,國際電信聯(lián)盟無(wú)線(xiàn)電通信部門(mén)通過(guò)了ITU2RBT. 601分量數字系統建議。ITU2R BT. 601是“演播室數字電視編碼參數”標準,而ITU2R BT. 656則是ITU2R BT. 601附件A中的數字接口標準,用于主要數字視頻設備(包括芯片)之間采用27 MHz/ s并口或243Mbit/ s串行接口的數字傳輸接口標準。包括對525行和625行接口都通用的信號格式、比特并行接口特性和比特串行接口特性。該接口為在單一信號源與單一終點(diǎn)之間提供單向互連。一幀數據分別包含525行或者625行,對于每一行數據信號編碼成8 bit (或10bit)的形式,包括視頻信號、時(shí)基信號、輔助信號三個(gè)分量。數據的歸屬由時(shí)基信號區分,時(shí)基信號包括SAV和EAV,分別表示數據行的開(kāi)始和結束,由16進(jìn)制的FF 00 00 XY組成4 byte數據。其中FF 00 00為SAV和EAV的數據標志位, XY為時(shí)基信號的信息位。
XY的最高位bit7為固定數據1; F = 0表示偶數場(chǎng), F =1表示奇數場(chǎng); V =0表示該行為有效視頻數據,V =1表示該行無(wú)有效視頻數據; H = 0表示為SAV信號,H =1表示為EAV信號; P3~P0為保護信號,由F、V、H信號計算生成; P3 =V異或H; P2 = F異或H; P1 =F異或V; P0 = F異或V異或H。當時(shí)基信號的V =0時(shí),表明該行為視頻數據;當V =1時(shí),表明該行為輔助數據(當無(wú)輔助數據時(shí),為消隱,一般為10、80交替出現)。將625行(PAL制式)和525行(NTSC制式)電視系統的一幀數據經(jīng)解碼和奇偶穿插后播放器才能把圖像正確地顯示出來(lái)。根據時(shí)基信號SAV和EAV的變化,過(guò)濾去非有效數據,將偶數場(chǎng)有效數據和奇數場(chǎng)有效數據提取出來(lái)放入上位機緩存。而上位機只需將接收到的視頻純有效數據進(jìn)行穿插后放進(jìn)播放器前端的FIFO,即可實(shí)現視頻播放。
3. 硬件解碼設計
常見(jiàn)的電視制式有PAL、NTSC、SECAM,為了實(shí)現數字化處理,必須進(jìn)行A /D轉換,其轉換后的格式通常為ITU2R BT656標準的數字視頻信號,但是此時(shí)的視頻信號包括同步信號和消隱信號,還無(wú)法進(jìn)行處理。
為了真正實(shí)現可處理的有效視頻數據,將Y, Cb, Cr準確的分離出來(lái),要對ITU2R BT656視頻流進(jìn)行解碼,同時(shí)待有效視頻流處理完畢后,再將Y, Cb, Cr和同步信號、消隱信號復合,譯碼。對此,視頻解碼在視頻處理中極其重要。視頻解碼根據有效數據提取的方式的不同,可以分為硬件解碼和軟件解碼。軟件解碼與計算機結合緊密,雖有處理相對方便靈活的優(yōu)點(diǎn),但由于需要處理的數據量相當大, CPU占用率相應較高。而硬件解碼能很大程度上節省CPU占用率,但一幀數據需要800多kbyte,如果要在硬件上完成奇偶穿插后傳輸給上位機幾乎不可能,因此需要上位機對一幀數據進(jìn)行穿插處理。
根據編碼協(xié)議里時(shí)基信號SAV 和EAV中XY信息位F、V 的變化情況,可以確定每一幀數據的第一行( 525行系統FV 由10跳變?yōu)?1, 625系統FV由11跳變?yōu)?1) ,此時(shí)可標記為一幀數據的幀頭,同時(shí)設置一個(gè)計數器,每判斷到一次EAV,計數器加1,計數滿(mǎn)一幀格式所需的行數時(shí)將幀尾的標記告訴上位機,然后計數器清零等待新的一幀數據的開(kāi)始。通常情況下數據是一幀一幀連續傳輸的,進(jìn)行循環(huán)上一次的操作。因此上位機可根據接收到經(jīng)硬件處理過(guò)的數據,可直接得到每一幀有效數據,只需完成判斷到幀頭時(shí)將數據放入內存,判斷到幀尾時(shí),將一幀數據進(jìn)行穿插后傳給播放器播放。經(jīng)計算,一幀數據大概需要800多kB的容量,因此,上位機1M的內存空間已滿(mǎn)足用于對一幀數據的處理。
為達到視頻等比例縮小目的,在對有效數據進(jìn)行篩選的時(shí)候必須嚴格依照數據編碼的格式進(jìn)行篩選,例如: PAL 制式(一幀625行)有效數據共有576行,每行720個(gè)象素,故圖像格式為720 ×576。
現在要生成640 ×480 的圖像格式,則每行需過(guò)濾80個(gè)象素,每幀需過(guò)濾96行,即每一行前后各過(guò)濾40個(gè),奇數域前后各24 行,偶數域前后各24 行。如果要生成的圖像格式要求小于原來(lái)的一半,則需采用每隔一行過(guò)濾一行、每隔一個(gè)象素過(guò)濾一個(gè)象素的方式以保證縮小后的圖像仍能最大限度地與原始圖像保持一致。因此,根據這種方式可生成所需要的任何大小比例的圖像。在實(shí)際測試中,采用VHS TO DVD播放器播放時(shí),BT. 656數據格式電視系統軟件解碼的CPU 占用率在一臺內存為1G, CPU為P4. 0的PC系統上為33 %~40 % ,而同條件下硬件解碼的CPU占用率僅為3 % ~9 % ,效果取得了令人滿(mǎn)意的效果。在試驗中按2∶1比例縮小的畫(huà)面清晰度仍然較高,縮小
后的圖像最大限度地保持了原始圖像的效果,但數據采樣量變?yōu)樵瓉?lái)的一半,以下分別為原始圖像和按2∶1比例縮小后的圖像效果比較。
4 結束語(yǔ)
本文提出了針對BT. 656的電視視頻系統的硬件解碼的方案,難點(diǎn)在于硬件內部對視頻數據進(jìn)行準確地篩選出播放器所需要顯示的有效數據,過(guò)濾其他數據。此方案優(yōu)點(diǎn)在于能大幅度降低視頻處理器的工作量,同時(shí)可以配置硬件完成對視頻數據的按比例縮小功能,可滿(mǎn)足手機電視等小屏幕視窗數碼產(chǎn)品的需求。
評論