基于SOPC的視頻編解碼IP核的設(shè)計
2011/08/23
引言 由圖可以看到,對于輸入的CVBS等模擬信號經(jīng)過ADV7181B芯片轉(zhuǎn)換后輸出YUV信號,行同步信號HS,幀同步信號VS。這些就是需要的數(shù)字視頻信號,也就解決了數(shù)字視頻源的問題。圖2給出了YUV信號的組成排列方式,“FF,00,00”作為AV信號的開始,所以需要構(gòu)造一個檢測電路。注意到SAV和EAV均是FF,00,00開頭但是XY的值不一樣。根據(jù)芯片資料,XY表示的是V,即有用信號與空白信號的分界點,如果V=0則表示的是SAV,否則是EAV 。XY是場信號的區(qū)分標志。0是奇場,1是偶場。
模擬信號的一行是1716個CLOCK,有用信號是1440個CLOCK,在信號采集和分配的過程中,僅需對有用信號進行采集,所以利用檢測到SAV作為一個標志,啟動信號的分配過程是非常有必要的。
由于YUV信號在模擬信號中是交織著的,所以需要一個信號選擇電路。YUV一共是三路信號,設(shè)計一個計數(shù)器進行選擇,計數(shù)是O和2時,是UV信號,計數(shù)是1和3時是Y信號,完成的實際上是串行信號轉(zhuǎn)并行信號的過程。以上過程可以用圖3的原理框圖來表示。
在硬件描述語言中,完成上述過程還是比較簡單的。例如檢測電路,只要描述一個移位寄存器就可以了,具體代碼如下:
在讀周期只需要按照順序讀出就可以了,需要注意的是寫時鐘是13.5M,讀時鐘是27M,而且對于Y、U、V信號要進行分別存儲。
第2種:將一行的數(shù)據(jù)存儲下來,因為1716個時鐘周期剛好等于VGA兩行的時間,所以在這段時間里可以將7加個有效視頻信號讀取2遍,以奇行的信號去取代偶行的信號,達到隔行變逐行的目的。在實現(xiàn)上只要是兩個RAM塊進行乒乓操作就可以了,具體在后文闡述。
比較兩種實現(xiàn)方法,方法1的優(yōu)點在于圖像沒有失真,即奇偶行信號依舊相間在一起,方法2卻不能做到這一點,而且方法1也可以通過乒乓方式提高運行的速度,但是由于讀寫時鐘的不同步,每個存儲空間應(yīng)當讀2遍。方法2也是讀2遍,但是是每行讀2遍,方法1是一幀數(shù)據(jù)讀2遍。
方法1的缺點在于存儲的數(shù)據(jù)量太大。一幀數(shù)據(jù)僅Y分量就是8bit*720*525=3024000bit=378KB,這個數(shù)據(jù)是不適合在SRAM中操作的,需要使用SDRAM,而操作SDRAM是比較復(fù)雜的,所以一般考慮使用方法2,因為它需要很小的空間,而且可以利用FPGA的片內(nèi)資源就可以實現(xiàn)。當圖像數(shù)據(jù)傳輸很快的時候,人眼基本上是分不清奇偶場信號的,所以方法2是可行的。在講方法2之前,需要了解在流水線操作中經(jīng)常使用的乒乓操作,這是可編程邏輯常用的設(shè)計思想和技巧。乒乓操作常常應(yīng)用于數(shù)據(jù)流控制,典型的乒乓操作如圖5所示。
乒乓操作的處理流程描述如下:輸入數(shù)據(jù)流通過“輸入數(shù)據(jù)流選擇單元”,等時地將數(shù)據(jù)流分配到兩個數(shù)據(jù)緩沖模塊。數(shù)據(jù)緩沖模塊可以是任何存儲模塊,比較常用的存儲單元是雙口RAM ( DPRAM ),單口RAM ( SPRAM)和FIFO等。在第一個緩沖周期,將輸入的數(shù)據(jù)流緩存到“數(shù)據(jù)緩沖模塊1”。在第2個緩沖周期,通過“輸入數(shù)據(jù)流選擇單元”的切換,將輸入的數(shù)據(jù)流緩存到“數(shù)據(jù)緩沖模塊2”,與此同時,將“數(shù)據(jù)緩沖模塊1”緩存的第1個周期的數(shù)據(jù)通過“輸出數(shù)據(jù)流選擇單元”的選擇,送到“數(shù)據(jù)流運算處理模塊”被運算處理。在第3個緩沖周期,通過“輸入數(shù)據(jù)流選擇單元”的再次切換,將輸入的數(shù)據(jù)流緩存到“數(shù)據(jù)緩沖模塊1”,與此同時,將“數(shù)據(jù)緩沖模塊2”緩存的第2個周期的數(shù)據(jù)通過“輸出數(shù)據(jù)流選擇單元”的選擇,送到“數(shù)據(jù)流運算處理模塊”被運算處理。如此循環(huán),周而復(fù)始。
乒乓操作的最大特點是,通過“輸入數(shù)據(jù)流選擇單元”和“輸出數(shù)據(jù)流選擇單元”按節(jié)拍、相互配合的切換,將經(jīng)過緩沖的數(shù)據(jù)流沒有時間停頓地送到“數(shù)據(jù)流運算處理模塊”,被運算和處理。把乒乓看成一個整體,站在這個模塊的兩端看數(shù)據(jù),輸入數(shù)據(jù)流和輸出數(shù)據(jù)流都是連續(xù)不斷的,沒有任何停頓,因此非常適合對數(shù)據(jù)流進行流水線式處理。所以乒乓方式常常應(yīng)用于流水線式算法,完成數(shù)據(jù)的無縫緩沖與處理。
在FPGA里面,使用乒乓操作是面積與速度互換原則的一個體現(xiàn)。
方法2 可以這樣實現(xiàn):在FPGA內(nèi)部使用Megacore,構(gòu)造一個雙口的RAM,雙口RAM的輸入輸出信號的硬件描述語言定義如下:
RAM塊進行乒乓方式操作信號的分配表如下:
3、結(jié)論
本文設(shè)計了基于SOPC">SOPC的視頻編解碼控制器IP核,根據(jù)自頂向下的設(shè)計思想,將IP核進行層次功能劃分,并對IP核的仿真驗證,實現(xiàn)了視頻信號的采集,分配,存儲以及色度空間的轉(zhuǎn)換。本IP核具有很好的移植性,可以方便的應(yīng)用到以Nios II為核心的各種需要視頻編解碼控制器功能的嵌入式中。
與非網(wǎng)
視頻應(yīng)急指揮調(diào)度系統(tǒng)實現(xiàn)一鍵式切換操作 2011-08-12 |
移動互聯(lián)網(wǎng)時代 視頻會議誰將“得寵” 2011-08-03 |
運營商發(fā)力視頻 亂象中誰主沉? 2011-07-25 |
大屏觸摸不再浮云,IP電話也“平板”(上) 2011-07-20 |
視頻會議市場群雄爭戰(zhàn) 2011-07-20 |