《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 基于SOPC的視頻編解碼IP核設計
基于SOPC的視頻編解碼IP核設計
來源:與非網(wǎng)
摘要: 基于SOPC的視頻編解碼IP核的設計[圖],引言SOPC是Altera公司提出的片上可編程系統(tǒng)解決方案,它將CPU、存儲器、I/O接口、DSP模
Abstract:
Key words :
</a>SOPC" title="SOPC">SOPC" title="SOPC">SOPC是Altera公司提出的片上可編程系統(tǒng)解決方案,它將CPU、存儲器、I/O接口、DSP模塊以及鎖相環(huán)的系統(tǒng)設計所必需的模塊集成到一塊FPGA上,構成一個可編程的片上系統(tǒng),使設計的電路在其規(guī)模、可靠性、體積、功耗、功能、上市周期、開發(fā)周期、產品維護以及硬件升級等多方面實現(xiàn)最優(yōu)化。

 

目前在Altera SOPC">SOPC Builder下集成了包括UART、SPI、Ethernet、SDRAM、Flash、DMA等控制器的IP核。此外,用戶也可以根據(jù)系統(tǒng)的需要自己設計或者購買第三方廠商的IP核,通過Avalon總線像搭積木一樣方便地將其捆綁在系統(tǒng)上。IP核是經(jīng)過功能驗證的知識產權核,使用IP 核有以下優(yōu)勢:(1)提高設計性能;(2)降低產品開發(fā)成本;(3)縮短設計周期;(4)設計靈活性強;(5)仿真方便;(6)OpenCore Plus支持無風險應用。

當然本論文所說的IP核功能沒有那么豐富,實際上就是一個功能驗證正確的用戶邏輯,和商業(yè)應用的IP核還有一定的差距。本文的主要工作就是通過硬件描述語言描述了視頻信號的采集,分配,存儲以及色度空間的轉換等邏輯,并且驗證了功能的正確性。

1 視頻編解碼Camera_show原理

嵌入式攝像控制系統(tǒng)除了必要的電源電路以外,還要包括存儲電路、通信電路和下載電路等,所有的設備均與Avalon總線連接,這里主要介紹用戶邏輯接口Camera_show,它完成了模擬視頻數(shù)據(jù)轉化成數(shù)字視頻數(shù)據(jù)并在VGA上顯示的功能,主要包括模擬視頻信號的采集、分配(串并轉換電路完成)、存儲(存儲控制邏輯和片上RAM完成)和色度空間轉換。具體的功能框圖如圖1所示。

基于SOPC的視頻編解碼IP核的設計
圖1 用戶邏輯Camera_show的原理框圖

2 視頻編解碼IP核Camera_Show設計

視頻編解碼IP 核主要完成的功能包含視頻信號的采集、分配、存儲以及色度空間的轉換。模擬視頻信號經(jīng)過ADV7181B后變成了符合ITU-R656的YUV數(shù)字信號,但是要對YUV信號進行處理必須將這三路信號分開并行處理,所以需要采集分配這三路信號,這是2.1的IP核需要實現(xiàn)的功能;由于模擬視頻信號是隔行掃描的,但是CRT顯示器是逐行掃描,如果不加處理那么必然會導致行錯開,所以需要將數(shù)據(jù)進行存儲,通過控制實現(xiàn)隔行變逐行,這是2.2的IP核需要實現(xiàn)的功能;最后經(jīng)過處理的YUV三路數(shù)字信號,需要完成色度空間的轉換變成RGB信號,這是2.3的IP核需要實現(xiàn)的功能。

2.1 YUV信號的采集、分配

在嵌入式攝像控制系統(tǒng)中,ADV7181主要承擔著模擬攝像頭的視頻數(shù)據(jù)進行解碼的任務,將CVBS的等模擬信號轉化成ITU-R656標準的YUV信號。圖2給出了ADV7181的功能框圖。

基于SOPC的視頻編解碼IP核的設計
圖2 ADV7181功能框圖

由圖可以看到,對于輸入的CVBS等模擬信號經(jīng)過ADV7181B芯片轉換后輸出YUV信號,行同步信號HS,幀同步信號VS。這些就是需要的數(shù)字視頻信號,也就解決了數(shù)字視頻源的問題。圖2給出了YUV信號的組成排列方式,“FF,00,00”作為AV信號的開始,所以需要構造一個檢測電路。注意到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ù)是O和2時,是UV信號,計數(shù)是1和3時是Y信號,完成的實際上是串行信號轉并行信號的過程。以上過程可以用圖3的原理框圖來表示。

基于SOPC的視頻編解碼IP核的設計
圖3 YUV信號的采集、分配原理圖

在硬件描述語言中,完成上述過程還是比較簡單的。例如檢測電路,只要描述一個移位寄存器就可以了,具體代碼如下:

基于SOPC的視頻編解碼IP核的設計

其中的wire變量Y_check就是當檢測到FF,00,00的時候就為1的標志。根據(jù)上文所述,區(qū)分SAV和EAV是根據(jù)XY來決定,區(qū)分奇偶場是根據(jù)XY來區(qū)分,所以只有隨后的信號是SAV的時候,信號分配電路才有效,所以需要描述一段邏輯來判斷,代碼如下:

基于SOPC的視頻編解碼IP核的設計

START信號就是開始信號采集、分配的標志,只有當TD_D=0也就是START= 1時信號分配電路才會工作。串轉并電路代碼如下:

基于SOPC的視頻編解碼IP核的設計

以上代碼完成了圖3的功能,輸入的信號名為TD_D,輸出的三路信號是Cbb,YY,Crr。注意到還有個YPix_clock,實際上是27M的2分頻,這個時鐘非常有用,在下面將詳細闡述。

2.2 YUV信號的存儲

要將視頻信號隔行變逐行,有2 種解決方法:

第1種:將一幀的數(shù)據(jù)存儲下來,根據(jù)奇偶場的不同(區(qū)分可以根據(jù)XY),在寫周期的時候,因為奇場的行之間有偶場的信號,所以寫數(shù)據(jù)的時候需要跳地址寫,根據(jù)行同步信號(或者SAV也可以)來區(qū)分行,換行的時候地址要加額外的720(用來存放夾雜在奇場信號中的偶場信號),直到出現(xiàn)偶場信號(也就是XY=1)地址切換為初始基地址加720,其余的同奇行的處理方法,具體的地址分配表參照圖4。

基于SOPC的視頻編解碼IP核的設計
圖4 地址分配表

在讀周期只需要按照順序讀出就可以了,需要注意的是寫時鐘是13.5M,讀時鐘是27M,而且對于Y、U、V信號要進行分別存儲。

第2種:將一行的數(shù)據(jù)存儲下來,因為1716個時鐘周期剛好等于VGA兩行的時間,所以在這段時間里可以將7加個有效視頻信號讀取2遍,以奇行的信號去取代偶行的信號,達到隔行變逐行的目的。在實現(xiàn)上只要是兩個RAM塊進行乒乓操作就可以了,具體在后文闡述。

比較兩種實現(xiàn)方法,方法1的優(yōu)點在于圖像沒有失真,即奇偶行信號依舊相間在一起,方法2卻不能做到這一點,而且方法1也可以通過乒乓方式提高運行的速度,但是由于讀寫時鐘的不同步,每個存儲空間應當讀2遍。方法2也是讀2遍,但是是每行讀2遍,方法1是一幀數(shù)據(jù)讀2遍。

方法1的缺點在于存儲的數(shù)據(jù)量太大。一幀數(shù)據(jù)僅Y分量就是8bit*720*525=3024000bit=378KB,這個數(shù)據(jù)是不適合在SRAM中操作的,需要使用SDRAM,而操作SDRAM是比較復雜的,所以一般考慮使用方法2,因為它需要很小的空間,而且可以利用FPGA的片內資源就可以實現(xiàn)。當圖像數(shù)據(jù)傳輸很快的時候,人眼基本上是分不清奇偶場信號的,所以方法2是可行的。在講方法2之前,需要了解在流水線操作中經(jīng)常使用的乒乓操作,這是可編程邏輯常用的設計思想和技巧。乒乓操作常常應用于數(shù)據(jù)流控制,典型的乒乓操作如圖5所示。

基于SOPC的視頻編解碼IP核的設計
圖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),周而復始。

乒乓操作的最大特點是,通過“輸入數(shù)據(jù)流選擇單元”和“輸出數(shù)據(jù)流選擇單元”按節(jié)拍、相互配合的切換,將經(jīng)過緩沖的數(shù)據(jù)流沒有時間停頓地送到“數(shù)據(jù)流運算處理模塊”,被運算和處理。把乒乓看成一個整體,站在這個模塊的兩端看數(shù)據(jù),輸入數(shù)據(jù)流和輸出數(shù)據(jù)流都是連續(xù)不斷的,沒有任何停頓,因此非常適合對數(shù)據(jù)流進行流水線式處理。所以乒乓方式常常應用于流水線式算法,完成數(shù)據(jù)的無縫緩沖與處理。

在FPGA里面,使用乒乓操作是面積與速度互換原則的一個體現(xiàn)。

方法2 可以這樣實現(xiàn):在FPGA內部使用Megacore,構造一個雙口的RAM,雙口RAM的輸入輸出信號的硬件描述語言定義如下:

基于SOPC的視頻編解碼IP核的設計

使用的信號包括:數(shù)據(jù)信號data_a,dat_b;讀寫有效信號wren_a,wren_b;地址信號address_a,address_b;時鐘信號clock_a,clock_b;輸出數(shù)據(jù)信號q_a,q_b。可以看到所有的信號都是成對出現(xiàn)的,就是為了進行乒乓方式的數(shù)據(jù)傳輸。分成了兩個RAM區(qū)域,A和B,相當于前面講乒乓方式里的數(shù)據(jù)緩沖模塊1和2。兩個RAM塊是交替著讀寫(由I_a和I_b決定),輸出數(shù)據(jù)流也是由I決定。剛說到寫時鐘是13.5M,讀時鐘是27M,所以clock_a和clock_b必須是讀寫時鐘切換著輸入,而且地址的計數(shù)也不一樣,寫周期時候地址增加的時鐘是13.5M,讀周期地址增加的時鐘是27M。所以每行的數(shù)據(jù)讀了兩遍,相當于隔行變逐行。圖6在Qartus II下RAM的乒乓操作功能仿真圖:

 基于SOPC的視頻編解碼IP核的設計
圖6 RAM的乒乓操作仿真圖 

RAM塊進行乒乓方式操作信號的分配表如下:

基于SOPC的視頻編解碼IP核的設計

最后輸出的DATA信號進入下一級單元,即YUV到RGB的轉換。

2.3 顏色-空間轉換部分設計

為什么要有這個轉換呢?因為不論是電視機還是CRT顯示器,都是使用RGB三基色合成的方法來顯示顏色。用RGB三基色來表示彩色的確很直觀,但是如果把這種方法用作圖像傳輸則絕不是一個好方法。主要是因為:

(1)與黑白圖像不兼容;

(2)占用太多帶寬;

(3)抗干擾能力差。

本系統(tǒng)圖像傳感器輸出YCbCr信號,需要進行到RGB信號的轉換,用于CRT顯示。YCbCr到RGB按照下面公式進行轉換:

R = 1.164 ( Y-16 ) + 1.596 ( Cr-128 );

G = 1.164 ( Y-16 )- 0.813 ( Cr-128 ) - 0.392(Cb-128);

B = 1.164 ( Y-16 ) + 2.017 ( Cb-128 );

觀察上面公式可以發(fā)現(xiàn),轉換均需要乘加運算,并且式子中用到了小數(shù),所以必須要對系數(shù)進行放大。經(jīng)過合理轉化,公式如下:

R = (1/256) * ( 298*Y + 409*Cr - 57065 );

G = (1/256) * ( 298*Y - 100*Cb - 208*Cr + 34718 );

B = (1/256) * ( 298*Y + 516*Cb - 70861 );

用Verilog HDL編寫代碼,實現(xiàn)YUV到RGB的轉化。其中共包括3個模塊跟1個仿真激勵。在模塊const_mult中,主要實現(xiàn)乘法運算,主要代碼如下:

基于SOPC的視頻編解碼IP核的設計

模塊csc.v中,調用const_mult模塊,通過參數(shù)傳遞改變參數(shù)IN_SIZE,OUT_SIZE,CST_MULT的值,然后實現(xiàn)加法運算。

以R = (1/256) * ( 298*Y + 409*Cr - 57065 )為例,主要代碼如下:

基于SOPC的視頻編解碼IP核的設計

用以實現(xiàn)G、B的代碼與上面類似,在此不再贅述。以下代碼實現(xiàn)R_full*1/256功能。

基于SOPC的視頻編解碼IP核的設計

主模塊yuv2rgb實現(xiàn)子模塊的調用,用Modelsim進行了仿真。仿真波形如圖7所示:

基于SOPC的視頻編解碼IP核的設計
圖7 YUV到RGB的轉化仿真圖

3 結論

本文設計了基于SOPC">SOPC的視頻編解碼控制器IP核,根據(jù)自頂向下的設計思想,將IP核進行層次功能劃分,并對IP核的仿真驗證,實現(xiàn)了視頻信號的采集,分配,存儲以及色度空間的轉換。本IP核具有很好的移植性,可以方便的應用到以Nios II為核心的各種需要視頻編解碼控制器功能的嵌入式中。

此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美成人精品不卡视频在线观看| 欧美视频一区二| 99re6热在线精品视频播放速度| 久久99伊人| 午夜精品视频网站| 亚洲桃色在线一区| 一本色道久久综合狠狠躁篇怎么玩| 亚洲高清激情| 亚洲免费大片| 亚洲电影视频在线| 亚洲电影有码| 亚洲高清精品中出| 99国产精品| 在线视频精品一区| 亚洲伦理一区| 最新日韩中文字幕| 亚洲欧洲一区二区天堂久久| 影视先锋久久| 亚洲第一级黄色片| 亚洲黄色成人| av成人毛片| 一区二区三区四区蜜桃| 中文日韩在线| 亚洲制服欧美中文字幕中文字幕| 亚洲视频在线观看免费| 亚洲淫片在线视频| 新狼窝色av性久久久久久| 欧美一区二区私人影院日本 | 亚洲婷婷综合色高清在线 | 一区二区日韩欧美| 亚洲午夜久久久久久久久电影院| 亚洲一区二区三区777| 亚洲图片欧美一区| 欧美在线观看一区二区| 久久综合国产精品| 欧美精品日韩精品| 国产精品国产福利国产秒拍| 国产性色一区二区| 红桃视频国产精品| 最新中文字幕亚洲| 一区二区三区日韩欧美| 亚洲在线免费| 久久精品二区亚洲w码| 99pao成人国产永久免费视频| 亚洲影院污污.| 久久久久久久激情视频| 欧美第十八页| 欧美午夜欧美| 国产在线视频欧美一区二区三区| 亚洲电影自拍| 亚洲视频精选| 亚洲成色777777女色窝| 99视频精品在线| 欧美一区二区三区免费视频| 狂野欧美性猛交xxxx巴西| 欧美日韩极品在线观看一区| 国产精品综合不卡av| 亚洲大片一区二区三区| 一区二区三区高清| 亚洲电影第1页| 亚洲一区亚洲| 蜜桃久久av一区| 在线视频欧美日韩| 午夜亚洲激情| 欧美成人免费va影院高清| 国产精品久久中文| 在线看片一区| 一区二区三区日韩欧美精品| 久久国产黑丝| 中文高清一区| 99视频在线观看一区三区| 性色av一区二区三区在线观看| 欧美不卡在线| 国产精品99一区二区| 亚洲国产精品va在线看黑人动漫| 亚洲视频每日更新| 亚洲精品久久久久久久久久久久 | 亚洲国产精品一区二区三区| 亚洲综合第一页| 一区二区不卡在线视频 午夜欧美不卡' | 蜜臀a∨国产成人精品| 欧美性做爰毛片| 亚洲国内高清视频| 久久er99精品| 香港成人在线视频| 欧美视频日韩视频| 亚洲第一福利社区| 久久精品国产久精国产思思| 亚洲欧美成人综合| 欧美xart系列高清| 国产一区观看| 亚洲欧美bt| 亚洲视频免费在线| 欧美日本在线观看| 在线欧美一区| 久久国产手机看片| 午夜精品福利一区二区三区av| 欧美日韩国产亚洲一区| 在线观看欧美日韩国产| 欧美淫片网站| 欧美中文字幕在线视频| 欧美日韩在线精品一区二区三区| 亚洲高清资源综合久久精品| 久久经典综合| 久久精品噜噜噜成人av农村| 国产精品久99| 一区二区不卡在线视频 午夜欧美不卡'| 亚洲精品中文字| 免费看的黄色欧美网站| 国内在线观看一区二区三区| 欧美一级午夜免费电影| 欧美亚洲一区在线| 国产精品免费aⅴ片在线观看| 99视频精品全国免费| 一区二区三区国产盗摄| 欧美精品九九99久久| 亚洲激情自拍| 日韩一级片网址| 欧美精品精品一区| 亚洲日本中文字幕| 亚洲免费观看高清完整版在线观看熊 | 国模一区二区三区| 欧美在线播放| 久久夜色精品亚洲噜噜国产mv| 国内精品久久久久国产盗摄免费观看完整版| 午夜国产精品影院在线观看| 欧美中文字幕在线| 国产在线一区二区三区四区 | 久久精品一二三| 免费成人高清视频| 亚洲国产另类精品专区| 日韩亚洲国产欧美| 欧美性一区二区| 午夜精品久久久久久久| 久久精品久久99精品久久| 激情综合激情| 亚洲美女电影在线| 欧美午夜视频网站| 亚洲嫩草精品久久| 久久综合国产精品| 亚洲人成免费| 亚洲淫片在线视频| 国产日韩一区二区三区| 久久成人18免费观看| 免费视频一区二区三区在线观看| 亚洲福利视频三区| 99热免费精品| 国产精品色午夜在线观看| 欧美有码在线观看视频| 欧美成人自拍| 一区二区三区高清不卡| 久久精品国产亚洲aⅴ| 亚洲电影在线播放| 亚洲一区视频在线| 国内精品嫩模av私拍在线观看| 亚洲精品久久久久久久久久久久| 欧美日韩在线观看一区二区| 欧美亚洲在线播放| 蜜臀av国产精品久久久久| 一区二区高清在线观看| 久久精品视频在线| 91久久香蕉国产日韩欧美9色| 亚洲欧美日韩国产| 在线观看日韩| 亚洲欧美日韩区| 激情综合色丁香一区二区| 亚洲香蕉网站| 一区二区亚洲精品| 亚洲综合电影一区二区三区| 狠狠色综合色综合网络| 亚洲天堂成人在线观看| 国产综合欧美| 亚洲淫性视频| 亚洲电影一级黄| 午夜精品成人在线| 亚洲黄色影片| 久久精品国产亚洲aⅴ| 亚洲精品一区二区在线| 久久精品亚洲精品| 在线一区二区三区四区五区| 久久蜜桃资源一区二区老牛| 99国产精品私拍| 久久中文字幕一区二区三区| 中文一区二区| 欧美大片91| 性感少妇一区| 欧美日韩综合视频| 亚洲国内精品| 国产亚洲精品高潮| 亚洲影视九九影院在线观看| 亚洲国产免费看| 久久激情五月丁香伊人| 亚洲最新在线| 女女同性女同一区二区三区91| 亚洲女ⅴideoshd黑人| 欧美日本在线播放| 91久久精品国产91久久性色tv| 国产欧美韩日| 亚洲一区二区三区在线| 亚洲国产日韩在线|