當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]摘 要: 采用FPGA作為視頻采集控制和圖像處理芯片,配置NiosII軟核,在FPGA片內(nèi)完成圖像處理和圖像顯示控制,簡化了硬件電路和軟件程序的設(shè)計。在FPGA片內(nèi)編寫視頻采集時序,并配置NiosII控制軟核,模擬視頻數(shù)據(jù)經(jīng)視

摘  要: 采用FPGA作為視頻采集控制和圖像處理芯片,配置NiosII軟核,在FPGA片內(nèi)完成圖像處理和圖像顯示控制,簡化了硬件電路和軟件程序的設(shè)計。在FPGA片內(nèi)編寫視頻采集時序,并配置NiosII控制軟核,模擬視頻數(shù)據(jù)經(jīng)視頻解碼芯片輸出ITU-RBT.656格式數(shù)據(jù)送入FPGA,通過時序控制和NiosII軟核把視頻解碼數(shù)據(jù)依序存儲在SSRAM中,并進行裁剪、交織、顏色處理。
關(guān)鍵詞: 圖像采集;FPGA;NiosII軟核;ITU-RBT.656;DVI

    視頻采集是進行圖像及圖形處理的第一步,目前視頻采集系統(tǒng)一般由FPGA和DSP組成,F(xiàn)PGA作為視頻采集控制芯片,DSP作為圖像處理與成像控制芯片[1]。隨著FPGA技術(shù)的發(fā)展,片內(nèi)的邏輯單元越來越多,片內(nèi)的DSP資源也越來越豐富,因此可直接在FPGA片內(nèi)進行圖像處理。目前Altera公司的FPGA支持NiosII[2]軟核,通過Avalon設(shè)備總線掛接自定義模塊,編寫用戶控制程序。本設(shè)計通過Avalon總線讀取RGB像素值進行像素處理,通過I2C總線初始化視頻解碼芯片和DVI視頻編碼芯片。NiosII是一種可配置片內(nèi)外設(shè)的軟核CPU,采用RISC精簡指令系統(tǒng),流水線處理技術(shù),用戶可自定義Avalon總線外設(shè)構(gòu)成SoC系統(tǒng),支持32 bit存儲寬度,支持DDR2、SSRAM存儲器。結(jié)合項目,采用TVP5146[3]視頻解碼芯片,F(xiàn)PGA采集解碼數(shù)據(jù)并進行隔行轉(zhuǎn)逐行、像素裁剪處理、像素YCrCb轉(zhuǎn)RGB、RGB轉(zhuǎn)灰度等處理后,采用NiosII軟核配置Avalon總線DVI接口從設(shè)備外設(shè),把儲存在SSRAM中的視頻數(shù)據(jù)依次送入DVI編碼芯片SiI178[4],帶有DVI接口的監(jiān)視器接收解碼并顯示采集的視頻數(shù)據(jù)。
1 視頻采集與DVI成像系統(tǒng)的組成
    視頻采集與DVI成像硬件構(gòu)成如圖1所示。該系統(tǒng)由視頻解碼芯片、FPGA控制芯片、DVI接收編碼芯片、SSRAM和Flash組成。硬件系統(tǒng)分為模擬視頻信號解碼、視頻數(shù)據(jù)采集、圖像處理和DVI編碼顯示3大部分。

    模擬視頻信號解碼由TVP5146芯片組成,該部分主要完成PAL-D制式模擬視頻信號解碼,輸出符合ITU-RBT656[5]且內(nèi)嵌同步字符4:2:2格式數(shù)據(jù)供FPGA采集。TVP5146支持NTSC、PAL、SCEAM、CVBS、S-video制式視頻輸入,具有RGB轉(zhuǎn)換為YCbCr功能。

    視頻數(shù)據(jù)采集部分由FPGA控制芯片、SSRAM、Flash、電源芯片、輔助外圍電路組成。該部分以TVP5146輸出像素時鐘作為FPGA采集時鐘采集解碼后的數(shù)據(jù),在系統(tǒng)時鐘的控制下,交織乒乓存儲于SSRAM芯片,并在幀信號控制下交換存儲體。FPGA采用Altera公司CycloneII系列EP2C35F672[6]芯片,該芯片具有33 216個邏輯單元,內(nèi)部RAM高達484 KB,支持NiosII嵌入式處理器,核心電壓1.2 V,IO電壓3.3 V,具有4個PLL輸入,12個PLL輸出。Altera的FPGA采用SRAM工藝,掉電就會丟失配置數(shù)據(jù),所以外部需要掛接存儲配置數(shù)據(jù)的部件。Altera公司FPGA一般都支持串行被動配置、串行主動配置、JTAG配置,通過跳線選擇配置方式,JTAG配置在調(diào)試時很方便。串行主動配置一般需要Altera公司的專用配置芯片,在系統(tǒng)上電后主動配置芯片。FPGA配置完成后,NiosII從Flash中讀取程序,完成相應(yīng)的功能。TVP5146采用I2C口配置其工作方式,配置的數(shù)據(jù)亦存儲在Flash芯片中。SSRAM采用CY7C1380D,32 bit數(shù)據(jù)位寬,2 MB存儲空間,3.3 V供電,提供高性能3-1-1-1訪問時鐘周期速率,最高頻率達250 MHz。
    圖像處理在FPGA片內(nèi)實現(xiàn),進行YCbCr轉(zhuǎn)RGB、RGB轉(zhuǎn)灰度、線性插值等處理,DVI編碼顯示在DVI接收芯片Si178片內(nèi)完成,在系統(tǒng)時鐘的控制下,依照DVI顯示時序,控制行、場同步信號,依次把RGB像素送入編碼芯片,完成圖像數(shù)據(jù)的編碼和傳輸。Si178具有25~165 M點像素每秒,24 bit模式,I2C編程接口,支持熱插拔,兼容DVI1.0標(biāo)準(zhǔn),3.3 V供電。[!--empirenews.page--]
2 模擬視頻信號解碼
      視頻解碼格式有ITU-RBT.601標(biāo)準(zhǔn)格式和ITU-RBT.656標(biāo)準(zhǔn)格式。ITU-RBT.601標(biāo)準(zhǔn)需要行、場同步信號線,ITU-RBT.656標(biāo)準(zhǔn)無需同步信號線。ITU-RBT.656標(biāo)準(zhǔn)采用8 bit傳輸格式,亮度信號Y和色度信號Cb/Cr交替?zhèn)鬏?。本設(shè)計采用ITU-RBT.656標(biāo)準(zhǔn)。我國電視制式為PAL-D,一幀電視圖像有625行,每行可視像素為720個,因為有行消隱和場消隱,實際可視像素面為720×576,電視圖像傳輸采用奇偶場交替?zhèn)鬏敚酝ǔF媾紙龈鱾鬏?88行。圖2是行同步4:2:2輸出時序圖。

    PAL-D制式一行可視像素有720個,因為采用ITU-RBT.656標(biāo)準(zhǔn),每2個DATACLK時鐘才輸出一個像素,所以,一行可視像素需要1 440個DATACLK時鐘。一行像素輸出完畢后緊接4個行結(jié)束標(biāo)志,然后進入行消隱階段,行消隱階段結(jié)束后,4個字符的開始標(biāo)志表明一行的開始,從4個結(jié)束標(biāo)志到4個開始標(biāo)志,共有288個DATACLK時鐘。這288個DATACLK期間的數(shù)據(jù)不用于顯示,用于同步和消隱,所以對于PAL-D制式,采用ITU-RBT.656標(biāo)準(zhǔn)傳輸一行視頻需要1 728個DATACLK時鐘[7]。
    EAV和SAV分別表示一行有效視頻的結(jié)束和開始,EAV/SAV序列由FF-00-00-XX表示,其中XX是狀態(tài)字,表1為EAV/SAV序列字段位表。

    F場標(biāo)志:F=0是偶場,F(xiàn)=1是奇場;V視頻有無效標(biāo)志:V=0為有效視頻數(shù)據(jù),V=1為無效視頻數(shù)據(jù);H有效視頻結(jié)束起始標(biāo)志:H=0是SAV,H=1是EAV。
    從624行~22行和311行~335行為無效視頻行,此時V=1;從23行~310行和336行~623行為有效視頻行,此時V=0。從1行~312行為偶場,此時F=0;從313行~625行為奇場,此時F=1。
    配置TVP5146使其正確初始化。設(shè)置正常工作模式,視頻選擇輸入口,色度和亮度AGC自動增益,視頻輸入為PAL-D制式625行,解碼輸出格式為10 bit 4:2:2(2倍像素時鐘速率)內(nèi)嵌同步字符,實際10 bit輸出時最低2 bit可丟棄。設(shè)置亮度信號范圍為16~235,色度信號范圍為16~240。配置NiosII軟核,設(shè)置CPU類型為經(jīng)濟型32 bit,CPU時鐘頻率為100 MHz,復(fù)位向量起始地址為Flash,異常向量起始地址為On-chip-ram,設(shè)置PIO線模擬I2C協(xié)議,用于配置TVP5146,配置Avalon-MM三態(tài)橋用于掛接Flash,配置On-chip-ram為32 KB[8],添加一個Avalon從設(shè)備。該從設(shè)備為用戶自定義接口,NiosII軟核可以通過該從設(shè)備口實時訪問轉(zhuǎn)換后的RGB像素,進行圖像處理。
3 視頻圖像數(shù)據(jù)采集
    視頻解碼芯片輸出內(nèi)嵌同步字符8 bit視頻數(shù)據(jù),參照解碼芯片輸出DATACLK時鐘,F(xiàn)PGA采集視頻解碼數(shù)據(jù)。FPGA采集之前先要進行圖像裁剪、交織處理。裁剪處理是為了產(chǎn)生640×480的像素面,交織處理即變隔行視頻數(shù)據(jù)為逐行視頻輸出,即兩場圖像交叉嵌入一個存儲體中,形成一幀。當(dāng)一幀存儲完畢后,切換存儲體,而先前的存儲體內(nèi)容參照系統(tǒng)時鐘,依次像素處理送DVI編碼芯片進行顯示。
3.1 視頻信號采集控制
    視頻輸出信號為內(nèi)嵌同步字符8 bit Y:Cb:Cr=4:2:2輸出,本設(shè)計中視頻信號采集采用狀態(tài)機控制法。視頻信號采集控制狀態(tài)機表示如圖3所示。


    Idel:默認(rèn)空閑狀態(tài)。如果視頻采集標(biāo)志capture置位,則進入Wait State狀態(tài);如果capture不置位,則停留在Idel狀態(tài)。
    Wait State:此時如果收到數(shù)據(jù)0xff,則進入State1,其他情況仍然循環(huán)停留。
    State1:如果此時收到數(shù)據(jù)0x00,則進入State2;收到其他數(shù)據(jù)則進入Error。
    State2:如果此時收到數(shù)據(jù)0x00,則進入New page狀態(tài),否則狀態(tài)返回到Wait State。
    New page:此時視頻處于消隱狀態(tài),如果收到的視頻數(shù)據(jù)vpo[6:5]=01,則正在消隱,轉(zhuǎn)入第一行數(shù)據(jù)接收狀態(tài)First Line,否則跳回Wait State狀態(tài)。
    First Line:如果收到vpo[6:4]=000,表明下一個數(shù)據(jù)即視頻圖像數(shù)據(jù),否則返回到Wait State。
    Chroma blue:正確有效的數(shù)據(jù),如果此時接收到vpo=0xff,則表明數(shù)據(jù)轉(zhuǎn)入End Line,如果收到vpo=0x00,則轉(zhuǎn)入Error狀態(tài)。
    Luma blue:亮度藍色數(shù)據(jù),接收完轉(zhuǎn)入Chroma red狀態(tài)。
    Chroma red:色度紅色數(shù)據(jù),接收完轉(zhuǎn)入Luma red狀態(tài)。
    Luma red:亮度紅色數(shù)據(jù),接收完轉(zhuǎn)入Chroma blue狀態(tài)。
    End Line:如果vpo[6:4]=011,表示奇數(shù)場結(jié)束,偶數(shù)場將要開始,轉(zhuǎn)入New line狀態(tài);如果vpo[6:4]=111,表示一幀數(shù)據(jù)結(jié)束,轉(zhuǎn)入Idle狀態(tài);如果vpo[5:4]=01,表示一行結(jié)束,下一行將要開始,轉(zhuǎn)入New line狀態(tài);否則進入Error狀態(tài)。
    New Line:如果接收到的vpo[5:4]=00,表示有效數(shù)據(jù)接收,轉(zhuǎn)入Chroma blue狀態(tài);否則轉(zhuǎn)到End Line狀態(tài)。[!--empirenews.page--]
    Error:錯誤狀態(tài),ITU-RBT656規(guī)定Y=[16 235] CBCR=[16 240]范圍內(nèi),越此范圍就為錯誤狀態(tài)。如果capture=1,跳轉(zhuǎn)到Wait state狀態(tài),否則停留在Error狀態(tài)。該系統(tǒng)具有自動錯誤恢復(fù)能力。
3.2 圖像剪裁處理
    PAL-D制式視頻在ITU-RBT.656標(biāo)準(zhǔn)下,輸出像素面為720×576大小,而本設(shè)計中要求輸出大小為640×480像素面,所以必須使得行720像素變?yōu)?40個,采用每9個像素丟棄1個像素,因為Y/Cb/Cr是交替輸出的,即Cb-Y-Cr-Y傳輸,每個像素都有亮度數(shù)據(jù)Y,但是色度Cr和Cb是交替的。如果第1個像素是Cb和Y數(shù)據(jù),則第8個像素即為Cr和Y數(shù)據(jù),第9個像素為Cb和Y數(shù)據(jù),現(xiàn)在丟棄第9個像素數(shù)據(jù),先把第10個素的Cr數(shù)據(jù)和第11個像素的Cb交換,這樣就保持了Cb和Cr的交替。視頻中采取每6行可視像素丟棄1行,對于576行可視像素,實際丟棄96行,即變?yōu)閷嶋H可顯示480行。
3.3 圖像交織與存儲處理
    視頻信號采集控制處理后產(chǎn)生行、場、幀、視頻有效標(biāo)志及每場視頻行數(shù)、每行像素點數(shù)。本設(shè)計利用這些信號組合作為存儲地址控制字寫入SSRAM,每2個DATACLK為1個像素數(shù)據(jù),4個DATACLK為2個像素數(shù)據(jù)32 bit,F(xiàn)PGA控制每4個DATACLK寫入一次32 bit數(shù)據(jù)。
    每場視頻可視行為288行,占用2進制位9 bit,奇偶場標(biāo)志1 bit,每行像素有640個,存入SSRAM時按照每2個像素寫入一次,故每行像素為360個寫入次,設(shè)計為9 bit,總共為19 bit,正好占用完19 bit地址線。
    奇偶場標(biāo)志就是上述EAV/SAV狀態(tài)字中的F,電視視頻中,首先傳輸?shù)氖桥紨?shù)場,此時A9=0;其次傳輸?shù)氖瞧鏀?shù)場,此時A9=1。幀控制位frame定義為1 bit,當(dāng)完成一幀的傳輸后就使frame<=frame+1,這樣幀控制位就是0-1-0-1-0-1序列,完成一幀傳輸就翻轉(zhuǎn)一次。幀控制位用來切換存儲體,當(dāng)幀控制位切換在第一片SSRAM上時,偶數(shù)場先存入到SSRAM中,然后奇數(shù)場數(shù)據(jù)嵌入到SSRAM中。
4 圖像處理和DVI編碼顯示
    視頻采集的圖像已經(jīng)交替存入SSRAM中,當(dāng)一幀存儲完畢,該存儲體就可以進行處理上傳。圖像處理包括Y/Cb/Cr 4:2:2格式轉(zhuǎn)化為Y/Cb/Cr 4:4:4,Y/Cb/Cr轉(zhuǎn)化為RGB格式,可實時RGB像素處理,像素處理后按照行、場同步信號依次送入DVI芯片。
4.1 YCrCb轉(zhuǎn)RGB處理
    首先處理的是Y/Cb/Cr 4:2:2格式轉(zhuǎn)化為Y/Cb/Cr 4:4:4格式,就是對每個像素擴展其色度數(shù)據(jù),使得每個像素為24 bit。其中8 bit為亮度數(shù)據(jù),8 bit為Cr數(shù)據(jù),8 bit為Cb數(shù)據(jù)。
    由YCrCb數(shù)據(jù)轉(zhuǎn)換為RGB數(shù)據(jù)可按照下式:
  R=1.164×(Y-16)+1.596×(Cr-128)
  G=1.164×(Y-16)-0.813×(Cr-128)-0.392×(Cb-128)(1)
  B=1.164×(Y-16)+2.017×(Cb-128)
    實際上FPGA片內(nèi)不能進行小數(shù)運算,因此把需要運算的數(shù)左移9 bit,且運用FPGA片內(nèi)的乘法器宏單元完成。則式(1)變?yōu)槭?2):
    R=596×Y+817×Cr-114 131
    G=596×Y-416×Cr-200×Cb+69 370(2)
    B=596×Y+1 033×Cb-141 787
    這樣得到的RGB信號只需要右移9 bit就可以得到正確的8 bit數(shù)據(jù)位寬度的RGB信號,對RGB像素的處理受NiosII核控制,掛接在NiosII核上的Avalon從設(shè)備有3 bit控制信號,其值從0~7,分別對應(yīng)灰度處理、像素水平線性放大插值處理、水平縮小處理、原三彩色輸出和無定義。
    若進行灰度處理,則按照下式計算:
    Y=0.299×R+0.587×G+0.114×B(3)
    在計算時也需要先左移9 bit,采用3路乘法MULT_
ADD宏單元計算,計算結(jié)果右移9 bit。如果進行水平像素放大,則采取線性插值法,其他圖像處理按照相應(yīng)算法進行。
4.2 視頻數(shù)據(jù)輸出和DVI配置
    DVI輸出刷新頻率為75 Hz,輸出屏幕像素為640×480,查VGA時序表得到在640×480@75 Hz時,水平像素總共為840,垂直像素總共為500,行頻為37.5 kHz,點時鐘頻率為31.5 MHz,這個頻率由FPGA片內(nèi)PLL倍頻得到。配置DVI芯片引腳,設(shè)置IDCK+為像素時鐘31.5 MHz,IDCK-接地,DE表示有效像素數(shù)據(jù)使能,其值在有效行和有效列內(nèi)為高電平,否則為低電平。行、場同步信號由在FPGA片內(nèi)編寫的DVI模塊產(chǎn)生時序控制。通過I2C口配置SiI178芯片,設(shè)置其為正常工作方式,VSYNC、HSYNC為正常輸入狀態(tài),輸入總線為24 bit寬,IDCK+下降沿將數(shù)據(jù)打入DVI編碼芯片。
    系統(tǒng)采用FPGA為主控芯片,通過一片F(xiàn)PGA完成視頻解碼數(shù)據(jù)的采集和圖像處理,并在FPGA片內(nèi)配置NiosII軟核,作為初始化TVP5146和SiI178使用,在圖像處理模塊中掛接Avalon從設(shè)備,YCbCr轉(zhuǎn)換為RGB后可以通過NiosII處理器編寫C算法處理或者通過NiosII的標(biāo)志信號進行處理,處理結(jié)果直接送DVI編碼器。采用乒乓交織算法,保證了圖像不閃爍和無鋸齒現(xiàn)象。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉