0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于PXA27X微處理器開發(fā)平臺(tái)實(shí)現(xiàn)視頻編碼的功能應(yīng)用

電子設(shè)計(jì) ? 來源:現(xiàn)代電子技術(shù) ? 作者:鄒 濤,易 凡 ? 2021-03-17 14:02 ? 次閱讀

隨著人們對消費(fèi)類電子產(chǎn)品(如PDA,MP4,HDTV等)需求不斷增加,特別是對高質(zhì)量高清晰多媒體的要求越來越高,因此視頻質(zhì)量已經(jīng)成為廣大消費(fèi)者關(guān)注的焦點(diǎn)之一。在視頻的格式方面,一些國際組織和大公司分別提出了自己的標(biāo)準(zhǔn),如ISO組織的MPEG一2,MPEG一4,微軟的WMV等。

針對Intel公司的PXA27X處理器(這是一個(gè)包含Intel Wireless MMX技術(shù)基于Intel Xscale的處理器),以XVID MPEG一4為基礎(chǔ),針對MPEG一4在Linux操作系統(tǒng)中實(shí)現(xiàn)視頻的編碼要求。在此首先介紹MPEG一4視頻標(biāo)準(zhǔn),緊接著闡述MPEG-4視頻標(biāo)準(zhǔn)的關(guān)鍵技術(shù)和MPEG一4視頻編碼軟件部分,最后還介紹了優(yōu)化方法和實(shí)際平臺(tái)的測試。

1 MPEG一4是視頻標(biāo)準(zhǔn)

MPEG一4視頻部分是MPEG一4標(biāo)準(zhǔn)的核心內(nèi)容之一。既提供傳統(tǒng)的基于幀的編碼方法又提供基于視頻對象(VO)的編碼方法。在某一時(shí)刻,視頻對象以視頻對象平面(VOP)的形式出現(xiàn),圖1所示為MPEG一4編碼的框架。編碼也主要針對該時(shí)刻視頻對象的形狀、運(yùn)動(dòng)和紋理這三類信息來進(jìn)行。

基于PXA27X微處理器開發(fā)平臺(tái)實(shí)現(xiàn)視頻編碼的功能應(yīng)用

2 MPEG一4視頻編碼關(guān)鍵技術(shù)

MPEG一4視頻基于VOP的編碼就是針對運(yùn)動(dòng)信息、形狀信息和紋理信息等3種信息的編碼技術(shù)。

2.1 形狀編碼

MPEG一4首次引入形狀信息的編碼。VO的形狀信息有2類:二值形狀信息和灰度形狀信息。二值形狀信息用0,1表示VOP的形狀。二值信息的編碼采用基于塊的運(yùn)動(dòng)補(bǔ)償技術(shù),可以無損或有損編碼?;叶刃螤钚畔⒂?~255之間的數(shù)值表示VOP的透明程度。對灰度形狀信息的編碼是分別對二值形狀及像素亮度值進(jìn)行編碼。目前對灰度形狀信息的編碼主要采用基于塊的運(yùn)動(dòng)補(bǔ)償與DCT方法,在不需要形狀信息的應(yīng)用中(譬如基于規(guī)則矩形框幀的視頻編碼),形狀編碼會(huì)被屏蔽掉。這部分編碼是以宏塊為單位進(jìn)行的。

2.2 運(yùn)動(dòng)估計(jì)與補(bǔ)償編碼

類似于現(xiàn)有的編碼標(biāo)準(zhǔn),MPEG一4采用運(yùn)動(dòng)預(yù)測和運(yùn)動(dòng)補(bǔ)償技術(shù)來去除圖像信息中的時(shí)間冗余成分,這些運(yùn)動(dòng)信息的編碼技術(shù)可視為由現(xiàn)有標(biāo)準(zhǔn)向任意形狀的 VOP的延伸。VOP的編碼有3種模式,即幀內(nèi)編碼模式(I—VOP)、幀間預(yù)測編碼模式(P—VOP)和雙向預(yù)測編碼模式(B—VOP)。在MFEG一 4中運(yùn)動(dòng)預(yù)測和運(yùn)動(dòng)補(bǔ)償可以是基于16×16宏塊的,也可以是基于8×8子塊的。為了能適應(yīng)任意形狀的VOP,MPEG一4引入了圖像填充技術(shù)和多邊形匹配技術(shù)。圖像填充技術(shù)利用VOP內(nèi)部的像素值外推VOP外的像素值,以此獲得運(yùn)動(dòng)預(yù)測的參考值。對于標(biāo)準(zhǔn)宏塊,采用傳統(tǒng)的基于塊的運(yùn)動(dòng)估計(jì)和補(bǔ)償技術(shù)。

2.3 紋理編碼

VOP視頻的紋理信息可以表示為亮度成分Y和兩個(gè)色度成分Cr,Cb。幀內(nèi)編碼情況下,紋理信息包含有亮度和色度成分;運(yùn)動(dòng)補(bǔ)償情況下,紋理信息表示經(jīng)過運(yùn)動(dòng)補(bǔ)償后的殘差。紋理編碼的對象可以是幀內(nèi)編碼模式的I—VOP,也可以是幀間預(yù)測編碼模式B—VOP或P—VOP運(yùn)動(dòng)補(bǔ)償后的預(yù)測誤差。在幀內(nèi)編碼模式中,對于完全在VOP內(nèi)的像素塊,采用經(jīng)典DCT方法。對于完全位于VOP之外的像素塊則不進(jìn)行編碼:對于部分在VOP內(nèi),部分在VOP外的像素塊首先采用圖像填充技術(shù)獲得VOP之外的像素值,之后再進(jìn)行DCT編碼。在幀間編碼模式中,為了對B—VOP和P—VOP運(yùn)動(dòng)補(bǔ)償后的預(yù)測誤差進(jìn)行編碼,將那些位于VOP區(qū)域之外的像素值設(shè)為128。紋理編碼過程如圖1所示,DCT變換、量化、掃描及變長編碼,這些過程與現(xiàn)有標(biāo)準(zhǔn)基本相同。

3 MPEG一4是視頻編碼軟件

MPEG一4是軟件編碼是一個(gè)比較大的工程,項(xiàng)目用到的主要函數(shù)有:

mp4_encoder_init:初始化編碼的參數(shù),如視頻大小尺寸、碼流、緩沖大??;

encode_MPEG一4:編碼調(diào)用的總函數(shù),文本是基本層;

encode_pvop_MPEG一4對P幀的VOP的編碼的總函數(shù);

ippiBlockMatcn_Imeger_16x16_MVFAST:運(yùn)動(dòng)搜索MVFAST(Motion Vector Field AdaDtive Search Technique)。

下面是幀間宏塊編碼的函數(shù):

encode_inter_mb_MPEG一4

(1)lookup_uvmv_MPEG一4:查找色度圖像塊的運(yùn)動(dòng)矢量;

(2)ippiComputeTextureErrorBlock_SAD_8u16s:計(jì)算塊殘余的紋理誤差;

(3)encode_block_inter_MPEG一4:DCT變化和量化每塊的系數(shù)。這還得反變化,來重構(gòu)下幀的參考幀;

(4)create_mb_MPEG一4:得到宏塊編碼的信息;

(5)ippiEncodeMV_MPEG一4_8u16s:運(yùn)動(dòng)矢量和紋理殘余的編碼;

(6)ippiEncodeVLCZigzag_Inter_MPEG一4_16slu:zigzig掃描和變長編碼。

IPP的函數(shù)合理使用,可以提高性能。如ip—piBlockMatch_InIeger_16x16_MVFAST這個(gè)函數(shù)就比ippiMotionEstimation_16x16_MVFAST減少3倍時(shí)間。這個(gè)函數(shù)是占正個(gè)系統(tǒng)最多的時(shí)間之一。

4 MPEG一4是視頻編碼優(yōu)化和結(jié)果

這里是針對Intel公司的PXA27X處理器,MPEG一4計(jì)算量復(fù)雜,特別是運(yùn)動(dòng)搜索,必須對其必要的優(yōu)化,以滿足實(shí)時(shí)編碼的要求。編譯優(yōu)化是靜態(tài)優(yōu)化,優(yōu)化編譯器可以自動(dòng)完成程序段和代碼塊范圍內(nèi)的優(yōu)化問題,但由于對算法的流程很難獲取,所以人工優(yōu)化是不必可少的。可使用內(nèi)聯(lián)函數(shù),Wireless MMX指令編寫,如WLDRD和WMACS,特別在對數(shù)據(jù)處理時(shí),打包指令是必不可少的指令。合理分配指令周期流水線也是重點(diǎn),如WLDRD需要4個(gè)周期,而WUN—PCKEL只需要1個(gè)周期,使用IPP庫函數(shù)將大量節(jié)約開發(fā)時(shí)間和提高性能等,按照實(shí)際的工程的需要編寫指令。當(dāng)然對算法的本身優(yōu)化也不必可少,如運(yùn)動(dòng)搜索,運(yùn)動(dòng)補(bǔ)償算法,將這些函數(shù)優(yōu)化運(yùn)算時(shí)間大量減少。還有對數(shù)據(jù)搬移方面,如何有效應(yīng)用硬件資源也將提高運(yùn)行的性能,如DMA、緩存、寄存器等。

這里的試驗(yàn)平臺(tái)是南望信息產(chǎn)業(yè)有限公司PDA,主頻可達(dá)624 MHz。視頻大?。?80×272)透過大量的試驗(yàn),測試表明MPEG一4編碼可以滿足用戶拍視頻需求,速度可達(dá)到20幀/s,而且有較高的壓縮率,碼流比較低,質(zhì)量也不錯(cuò)。圖3,4為實(shí)際拍攝2幀圖像。

5 結(jié) 語

針對Intel公司的PXA27X微處理器開發(fā)平臺(tái),在Linux操作系統(tǒng)中實(shí)現(xiàn)視頻編碼的功能。但是消費(fèi)類產(chǎn)品對視頻的畫面有更高的要求,同時(shí)由于視頻編碼需要消耗大量的電源,電源的管理仍是視頻開發(fā)的研究重點(diǎn)。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19100

    瀏覽量

    228814
  • 視頻
    +關(guān)注

    關(guān)注

    6

    文章

    1929

    瀏覽量

    72772
收藏 人收藏

    評論

    相關(guān)推薦

    Intel PXA27x Processor Family Developer's Manual

    Intel PXA27x Processor Family Developer's Manual 共29章!值得一學(xué)!  
    發(fā)表于 11-23 09:56

    基于Intel PXA27X的音頻驅(qū)動(dòng)開發(fā)實(shí)現(xiàn)

    介紹了基于lntel PXA27X微處理器開發(fā)平臺(tái)上使用WM9712L音頻芯片,在Linux操作系統(tǒng)上實(shí)現(xiàn)了音頻系統(tǒng)的軟硬件設(shè)計(jì),以及在Li
    發(fā)表于 03-12 02:40

    基于嵌入式平臺(tái)視頻編碼器實(shí)現(xiàn)

    存儲(chǔ)播放等領(lǐng)域中得到應(yīng)用M。伴隨著效率的提高,算法的復(fù)雜度也提高很多,因此需要研究h.264的壓縮算法和它的嵌入式應(yīng)用。  1 視頻編碼器的硬件設(shè)計(jì)  1.1 pxa255處理器的特點(diǎn)
    發(fā)表于 08-24 08:59

    PXA27x系列嵌入式處理器

    英特爾公司于2003年底推出了性能最為強(qiáng)勁的PXA27x系列嵌入式處理器,PXA27x系列嵌入式處理器基于ARMv5E的Xscale核心,最高頻率可達(dá)624MHz。作為一款性能極其強(qiáng)勁
    發(fā)表于 07-05 14:39

    PXA27x LCD控制有什么特點(diǎn)?

    液晶屏設(shè)計(jì)的好壞直接關(guān)系到智能手機(jī)的整體性能表現(xiàn),然而液晶顯示屏種類繁多,工程師需要針對各種顯示屏的時(shí)序匹配、電源要求以及控制的不同特點(diǎn)進(jìn)行設(shè)計(jì)。本文介紹了PXA27x內(nèi)部集成LCD控制的特點(diǎn)、驅(qū)動(dòng)
    發(fā)表于 11-11 06:04

    如何利用PXA255處理器的Sitsang開發(fā)平臺(tái)實(shí)現(xiàn)紅外模塊的設(shè)計(jì)?

    本文將詳細(xì)講解基于Inte1的PXA255處理器的Sitsang開發(fā)平臺(tái)紅外模塊的設(shè)計(jì),其中包括Linux下的IrDA驅(qū)動(dòng)程序的開發(fā)和基于M
    發(fā)表于 04-27 06:03

    智能手機(jī)LCD驅(qū)動(dòng)電路該怎樣去設(shè)計(jì)?求解

    本文詳細(xì)介紹了一種基于PXA27x處理器的智能手機(jī)中LCD的設(shè)計(jì)與實(shí)現(xiàn)。
    發(fā)表于 06-03 07:16

    在Intel PXA27X平臺(tái)上如何去實(shí)現(xiàn)MPEG-4視頻編碼功能

    在Intel PXA27X平臺(tái)上如何去實(shí)現(xiàn)MPEG-4視頻編碼功能?
    發(fā)表于 06-03 06:15

    基于Intel PXA27x的系統(tǒng)引導(dǎo)程序(Blob)移植與

    隨著嵌入式處理器Intel PXA27x 在各種智能終端上的推廣使用,基于這款處理器的Bootloader(Blob)的設(shè)計(jì)和移植也逐步轉(zhuǎn)向?qū)嶋H應(yīng)用。本文在分析基于PXA27x 的Bl
    發(fā)表于 09-01 14:31 ?13次下載

    應(yīng)用處理器PXA255上的嵌入式Linux系統(tǒng)開發(fā)

    介紹了Intel公司新近推出的一種嵌入式應(yīng)用處理器——Plx舵55,研究了PXA255的開發(fā)平臺(tái)DBPXA255,著重闡述了如何在基于嵌入式應(yīng)用處理
    發(fā)表于 11-06 15:10 ?9次下載

    基于IntelPXA27X的音頻驅(qū)動(dòng)開發(fā)實(shí)現(xiàn)

    摘要:介紹了基于IntelPXA27X微處理器開發(fā)平臺(tái)上使用WM9712L音頻芯片,在Linux操作系統(tǒng)上實(shí)現(xiàn)了音頻系統(tǒng)的軟硬件設(shè)計(jì),以及在
    發(fā)表于 12-23 20:45 ?26次下載

    基于PXA27x的智能手機(jī)LCD驅(qū)動(dòng)電路設(shè)計(jì)

    基于PXA27x的智能手機(jī)LCD驅(qū)動(dòng)電路設(shè)計(jì) 液晶屏設(shè)計(jì)的好壞直接關(guān)系到智能手機(jī)的整體性能表現(xiàn),然而液晶顯示屏種類繁多,工程師需要針對各種顯示屏的時(shí)序匹配、電源
    發(fā)表于 11-12 09:48 ?1586次閱讀
    基于<b class='flag-5'>PXA27x</b>的智能手機(jī)LCD驅(qū)動(dòng)電路設(shè)計(jì)

    基于嵌入式平臺(tái)的H264視頻編碼器實(shí)現(xiàn)

    介紹了基于嵌入式平臺(tái)PXA255的h.264視頻編碼器實(shí)現(xiàn)。在描述了視頻
    發(fā)表于 09-02 16:41 ?87次下載
    基于嵌入式<b class='flag-5'>平臺(tái)</b>的H264<b class='flag-5'>視頻</b><b class='flag-5'>編碼器</b>的<b class='flag-5'>實(shí)現(xiàn)</b>

    針對PXA27X微處理器開發(fā)平臺(tái)進(jìn)行MPEG-4視頻編碼的優(yōu)化

    MPEG一4視頻部分是MPEG一4標(biāo)準(zhǔn)的核心內(nèi)容之一。既提供傳統(tǒng)的基于幀的編碼方法又提供基于視頻對象(VO)的編碼方法。在某一時(shí)刻,視頻對象
    的頭像 發(fā)表于 12-06 08:11 ?2418次閱讀
    針對<b class='flag-5'>PXA27X</b><b class='flag-5'>微處理器</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>平臺(tái)</b>進(jìn)行MPEG-4<b class='flag-5'>視頻</b><b class='flag-5'>編碼</b>的優(yōu)化

    4編碼器在Intel PXA27X平臺(tái)上的實(shí)現(xiàn)

    關(guān)鍵詞:Intel , MPEG , PXA27X , 編碼器 , 平臺(tái) 隨著人們對消費(fèi)類電子產(chǎn)品(如PDA,MP4,HDTV等)需求不斷增加,特別是對高質(zhì)量高清晰多媒體的要求越來越高,因此
    發(fā)表于 12-06 16:23 ?207次閱讀