當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于ADSP-BF561的H.264編碼器設(shè)計(jì)

摘 要:依據(jù)H.264視頻編碼標(biāo)準(zhǔn),在DSP上完成視頻編碼器的設(shè)計(jì)工作,以實(shí)現(xiàn)高質(zhì)量視頻流的實(shí)時(shí)傳輸。編碼器硬件平臺(tái)選用AD公司的BF561開發(fā)板,圖像采集采用OV7660,利用DMA技術(shù)以達(dá)到更高效的視頻采集和數(shù)據(jù)格式轉(zhuǎn)換。測(cè)試結(jié)果表明,在DSP上實(shí)現(xiàn)實(shí)時(shí)的H.264編碼方案,并且滿足高質(zhì)量、低帶寬傳輸?shù)南到y(tǒng)要求是完全可行的。
關(guān)鍵詞:H.264;編碼器;BF561;嵌入式系統(tǒng)


0 引 言
    互聯(lián)網(wǎng)的帶寬越來越大,基于互聯(lián)網(wǎng)的信息特別是聲音圖像實(shí)時(shí)數(shù)據(jù)的傳輸已經(jīng)成為可能。視頻和音頻數(shù)據(jù)的傳輸正好充分利用了互聯(lián)網(wǎng)帶寬,并達(dá)到了實(shí)時(shí)交流以及進(jìn)行遠(yuǎn)程開會(huì)的可能。視頻會(huì)議系統(tǒng)相比傳統(tǒng)的電話會(huì)議更充分利用了互聯(lián)網(wǎng)資源,從而降低了運(yùn)營(yíng)成本。
    視頻編碼器是視頻會(huì)議系統(tǒng)的主要構(gòu)成部分。目前視頻壓縮標(biāo)準(zhǔn)有H.261、H.263、MPEG4和H.264等。新一代視頻編碼標(biāo)準(zhǔn)H.264與以往標(biāo)準(zhǔn)相比具有壓縮率高,網(wǎng)絡(luò)親和性好,視頻質(zhì)量?jī)?yōu)越等優(yōu)點(diǎn)。H.264引入了許多當(dāng)前視頻編碼中的新技術(shù),使得在相同的重建圖像質(zhì)量下,編碼效率比H.263和MPEG-4高50%左右。因此,視頻編碼器設(shè)計(jì)中采用了H.264編碼標(biāo)準(zhǔn),編碼器主要通過美國(guó)AD公司的BF561 DSP芯片實(shí)現(xiàn)。目前,視頻處理方案也已經(jīng)由前幾年的ASIC方案轉(zhuǎn)向DSP平臺(tái)。在DSP平臺(tái)上進(jìn)行視頻產(chǎn)品開發(fā)有以下幾方面的優(yōu)勢(shì):第一,用戶開發(fā)自由度更大,支持多種個(gè)性化開發(fā),可以適應(yīng)市場(chǎng)不斷提出的新要求,在第一時(shí)間提升產(chǎn)品性能,增強(qiáng)產(chǎn)品的競(jìng)爭(zhēng)能力;第二,DSP處理能力強(qiáng),可以在一個(gè)DSP上同時(shí)實(shí)現(xiàn)多路音、視頻信號(hào)的壓縮處理;第三,開發(fā)周期短,能實(shí)現(xiàn)快速技術(shù)更新和產(chǎn)品換代,各種新出現(xiàn)的快速及優(yōu)化算法可靈活進(jìn)行升級(jí)。


1 BF561介紹
    BF561采用了對(duì)稱雙核的架構(gòu),在一顆BF561芯片內(nèi)部集成了2個(gè)BF533 DSP內(nèi)核,2個(gè)內(nèi)核主頻都可以高達(dá)600 MHz,支持并行處理。BF561處理器的特性保證了其強(qiáng)大的數(shù)字信號(hào)處理能力,并且支持低電壓低電流供電,能夠滿足多功能的數(shù)字消費(fèi)類產(chǎn)品對(duì)于性能、功耗方面的要求。
1.1 DMA介紹
    Blackfin處理器用直接存儲(chǔ)器訪問(DMA)在存儲(chǔ)器之間或存儲(chǔ)器與外設(shè)之間傳送數(shù)據(jù)。DMA控制器可在存儲(chǔ)器和片上外設(shè)(外設(shè)DMA)之間進(jìn)行數(shù)據(jù)傳送,以及在L1/L2/L3存儲(chǔ)器間進(jìn)行數(shù)據(jù)傳送(存儲(chǔ)器DMA或MDMA)。DMA控制器是Blackfin處理器架構(gòu)中的重要組件,完全獨(dú)立于內(nèi)核,不會(huì)進(jìn)行周期挪用,完全無需占用處理器內(nèi)核周期。在理想的應(yīng)用配置中,內(nèi)核只需要設(shè)置DMA控制器,并在數(shù)據(jù)調(diào)用過程中響應(yīng)中斷。
    BF561有3個(gè)獨(dú)立的DMA控制器DMA1,DMA2和IMDMA。DMA1和DMA2控制器各有12個(gè)外設(shè)DMA通道和4個(gè)存儲(chǔ)器DMA通道。IMDMA控制器有4個(gè)存儲(chǔ)器DMA通道。
1.2 基于描述符的DMA
    基于描述符的DMA傳送需要存儲(chǔ)于存儲(chǔ)器中的參數(shù)來初始化一個(gè)DMA隊(duì)列。描述符包括所有需對(duì)DMA控制寄存器正常編程的參數(shù)。描述符允許把多個(gè)DMA隊(duì)列鏈接在一起。在基于描述符的DMA操作中,可以對(duì)一個(gè)DMA通道編程,以便在當(dāng)前傳送隊(duì)列完成后,自動(dòng)設(shè)置和啟動(dòng)其他DMA傳送過程。在管理一個(gè)系統(tǒng)的DMA傳送過程時(shí),基于描述符的模型能提供最大的靈活性。
    描述符列表模型分為描述符列表“小”模式和描述符列表“大”模式。在描述符列表“小”模式中,描述段包括一個(gè)16位字段,用以指向下一描述符入口地址的低16位,地址的高16位通過寄存器編程得到且保持不變,限制描述符在存儲(chǔ)器的一個(gè)特定64 KB大小的頁(yè)中。當(dāng)描述符需要跨頁(yè)時(shí),可用能提供32位入口地址的描述符列表“大”模式。


2 H.264視頻編碼器構(gòu)成
    H.264編碼器由視頻采集、數(shù)據(jù)格式轉(zhuǎn)換、H.264編碼3部分組成。視頻采集部分負(fù)責(zé)捕獲圖像,并且將捕獲到的圖像通過PPI接口填充到指定的視頻幀緩沖區(qū)中。數(shù)據(jù)格式轉(zhuǎn)換部分完成將輸入的4:2:2格式的圖像轉(zhuǎn)換成H-264編碼器能夠編碼的4:2:0格式的數(shù)據(jù)。H.264編碼部分負(fù)責(zé)對(duì)4:2:0格式圖像編碼。
    在本視頻編碼器設(shè)計(jì)中,BF561 A核用于運(yùn)行操作系統(tǒng)和協(xié)議棧,而H.264算法在B核實(shí)現(xiàn)。
2.1 視頻采集
    視頻采集是由攝像頭OV7660完成,OV7660是美國(guó)OmniVision公司開發(fā)的一款CMOS彩色圖像傳感器芯片,支持VGA,QVGA,GIF等多種分辨率。視頻輸出格式有Raw RGB,GRB 4:2:2和YUV/YCb-Cr(4:2:2)。在本設(shè)計(jì)中,選擇CIF YVYU(4:2:2)格式,需要設(shè)置其相應(yīng)寄存器COMl=0X00,CLKRC=OX80,COM7=0X30,TSLB=0X05。攝像頭配置完后,打開PPIO將視頻數(shù)據(jù)填充到Blackfin處理器的視頻幀緩沖區(qū)中。采用基于描述符的PPI DMA可以很容易的實(shí)現(xiàn)乒乓緩沖,從而確保不會(huì)覆蓋尚未處理完畢的輸入數(shù)據(jù)。
    乒乓緩沖的原理如圖1所示。

    設(shè)置兩個(gè)CIF 4:2:2幀大小的輸入緩沖區(qū),首先輸入數(shù)據(jù)通過PPI接口填充到4:2:2視頻幀1中,當(dāng)?shù)谝粠瑪?shù)據(jù)填充滿時(shí),處理器對(duì)這幀數(shù)據(jù)進(jìn)行MDMA搬移和壓縮編碼等操作,與此同時(shí),PPI繼續(xù)填充第二個(gè)視頻幀。當(dāng)?shù)诙€(gè)視頻幀填充滿時(shí),處理器處理第二個(gè)視頻幀同時(shí)填充第一個(gè)視頻幀。利用乒乓緩沖,數(shù)據(jù)將源源不斷地填充到兩個(gè)視頻幀中。[!--empirenews.page--]
2.2 數(shù)據(jù)格式轉(zhuǎn)換
    視頻采集到的圖像是交織的4:2:2格式的YUV視頻數(shù)據(jù),而H.264視頻編碼算法對(duì)4:2:O格式的視頻數(shù)據(jù)進(jìn)行壓縮。4:2:O格式數(shù)據(jù)的亮度值緩沖區(qū)和色度值緩沖區(qū)是分離的,利用MDMA搬移,可以實(shí)現(xiàn)亮度緩沖區(qū)和色度緩沖區(qū)的分離。
    CIF YVYU(4:2:2)格式數(shù)據(jù)如表1所示,CIF 4:2:O格式數(shù)據(jù)如表2所示。4:2:2格式圖像一個(gè)宏像素中有4個(gè)Y分量,2個(gè)U分量和2個(gè)V分量[8]。4:2:0格式圖像一個(gè)宏像素中有4個(gè)Y分量,1個(gè)U分量和1個(gè)V分量。Y,U和V的存儲(chǔ)區(qū)是分開的,Y在前,然后是U,最后是V。

    把4:2:2格式轉(zhuǎn)換成4:2:O格式,要保留所有的Y,并取第0,2,4,……行的U和第1,3,5……行的V。采用基于描述符列表“大”模式的MDMA,需要三對(duì)描述符source_y,dest_y,SOurce_u,dest_u,SOUrce_v,dest_v,形成源和目的兩個(gè)描述符鏈表,進(jìn)行Y,U和V的從交織的4:2:2格式的源數(shù)據(jù)區(qū)到Y(jié),U和V分離的目的數(shù)據(jù)區(qū)的搬移。
    當(dāng)一幀CIF 4:2:2格式數(shù)據(jù)通過PPI填充到一個(gè)Blackfin處理器的視頻幀緩沖區(qū)中,產(chǎn)生中斷,在中斷處理子程序中啟動(dòng)MDMA,分離亮度值和色度值,然后交給H.264編碼器進(jìn)行編碼。

2.3 H.264編碼
    等待產(chǎn)生一幀4:2:O格式數(shù)據(jù)后,對(duì)這一幀數(shù)據(jù)執(zhí)行H.264編碼,之后繼續(xù)等待4:2:0格式數(shù)據(jù)的產(chǎn)生,直至編碼結(jié)束。


3 實(shí)驗(yàn)結(jié)果與分析
    實(shí)驗(yàn)中,H.264編碼器對(duì)攝像頭采集到的圖像編碼,并將壓縮碼流以文件的形式保存在本地存儲(chǔ)器中。編碼結(jié)束后,用H.264的解碼器對(duì)壓縮碼流解碼,用YUVviewerPlus.exe播放解碼后的視頻文件。
    實(shí)驗(yàn)中,編碼器可達(dá)到每秒鐘編碼15幀圖像的速度。解碼后的圖像清晰度與在VisualDsp++5.0中用Image Viewer查看的相比,圖像質(zhì)量基本相同,圖像很清晰。OV7660采集圖像的速度是每秒鐘30幀,H.264編碼器沒有達(dá)到實(shí)時(shí)編碼。
    實(shí)驗(yàn)中,基于BF561的H.264編碼器沒有達(dá)到實(shí)時(shí)編碼的原因是沒有對(duì)H.264開源代碼優(yōu)化。由于CIF格式圖像數(shù)據(jù)比較大,需要存儲(chǔ)在外部存儲(chǔ)器中,處理器訪問外部存儲(chǔ)器時(shí)間比較長(zhǎng);DCT和運(yùn)動(dòng)估計(jì)算法函數(shù)比較耗時(shí),用C語言實(shí)現(xiàn);程序中有一些輔助函數(shù)和打印信息等,從而影響了編碼器的速度口。


4 結(jié) 語
    基于BF561的H.264編碼器沒有達(dá)到實(shí)時(shí)編碼。未來的工作重點(diǎn)是利用VisualDSP++開發(fā)環(huán)境的C編譯器,進(jìn)行代碼優(yōu)化;充分利用內(nèi)部存儲(chǔ)空間資源和盡可能通過DMA、高速緩存等減少存儲(chǔ)分配帶來的片內(nèi)外數(shù)據(jù)調(diào)度對(duì)系統(tǒng)性能的影響;對(duì)一些系統(tǒng)調(diào)用比較頻繁、耗時(shí)較多的模塊,如DCT和運(yùn)動(dòng)估計(jì)等,充分利用BF561的指令集,用匯編語言實(shí)現(xiàn);去掉源程序中不必要的輔助函數(shù)和打印信息,以實(shí)現(xiàn)基于BF561的H.264編碼器實(shí)時(shí)編碼。
    隨著消費(fèi)類電子產(chǎn)品進(jìn)一步進(jìn)入普通家庭,應(yīng)用H.264標(biāo)準(zhǔn)的視頻會(huì)議、可視電話以及無人監(jiān)控系統(tǒng)等也將會(huì)得到越來越廣泛的應(yīng)用。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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