在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于TMS320C64x 的MPEG-4實(shí)時(shí)編碼器設(shè)計(jì)與實(shí)現(xiàn)

      基于TMS320C64x 的MPEG-4實(shí)時(shí)編碼器設(shè)計(jì)與實(shí)現(xiàn)

      作者: 時(shí)間:2012-11-01 來源:網(wǎng)絡(luò) 收藏


        首先主機(jī)通過PCI初始化DSP并對(duì)其加載程序;DSP開始運(yùn)行編碼程序,從視頻端口獲取實(shí)時(shí)采集的視頻,如圖1所示。SAA7113輸出BT.656格式的數(shù)字視頻,作為DM642 VPORT的輸入,VPORT輸出YUV(4:2:0)格式的圖像,作為編碼程序的輸入;DSP完成一幀圖像的編碼,通過PCI向主機(jī)發(fā)出中斷;主機(jī)響應(yīng)中斷,從DSP的存儲(chǔ)空間讀取原始圖像數(shù)據(jù)和壓縮后的碼流。主機(jī)程序在VC++環(huán)境下編寫,提供與用戶交互的界面,可對(duì)數(shù)據(jù)進(jìn)行各種處理,包括原始視頻的實(shí)時(shí)播放、保存,壓縮碼流的實(shí)時(shí)解壓播放、保存、回放、網(wǎng)絡(luò)傳輸,從網(wǎng)絡(luò)接收壓縮碼流實(shí)時(shí)解壓回放等。

        需要注意的是原始圖像和壓縮碼流在DSP中的存儲(chǔ)。視頻端口、編碼程序和主機(jī)都要訪問原始圖像,例如在某一時(shí)刻,編碼程序訪問當(dāng)前幀圖像,主機(jī)讀取上一幀圖像,而視頻端口正在輸入下一幀圖像,為了避免訪問沖突,原始圖像在DSP中采用三緩沖區(qū)進(jìn)行管理。壓縮碼流由編碼程序?qū)懭?主機(jī)讀取,所以采用乒乓制進(jìn)行存儲(chǔ)。

      1.3 內(nèi)存分配

        DM642片內(nèi)只有256KB的存儲(chǔ)空間,因此當(dāng)前幀、參考幀和當(dāng)前幀的重建幀都必須放至片外存儲(chǔ)器,壓縮碼流若被主機(jī)讀取,也放至片外。其它數(shù)據(jù)如程序代碼、全局變量、VLC碼表、各編碼模塊產(chǎn)生的中間數(shù)據(jù)等均可放至片內(nèi)。

        由于CPU訪問片外的速度通常要比訪問片內(nèi)慢幾十倍,片外數(shù)據(jù)的傳輸通常成為程序運(yùn)行時(shí)的瓶頸,即使代碼效率很高,流水線也會(huì)因?yàn)榈却龜?shù)據(jù)而被嚴(yán)重阻塞。解決這一問題的有效方法是用EDMA傳送數(shù)據(jù)。程序是逐個(gè)宏塊進(jìn)行編碼的,在編碼當(dāng)前宏塊的同時(shí),EDMA將下一個(gè)宏塊的數(shù)據(jù)、用到的參考幀數(shù)據(jù)由片外傳送至片內(nèi);當(dāng)前宏塊做完運(yùn)動(dòng)補(bǔ)償后,EDMA將重建后的宏塊由片內(nèi)傳送至片外。這樣CPU只對(duì)片內(nèi)數(shù)據(jù)進(jìn)行操作,使得流水線可以順利進(jìn)行,而壓縮碼流按逐個(gè)碼字有時(shí)間間隔地寫入,可由CPU直接寫至片外。

      2 采用預(yù)測技術(shù)的運(yùn)動(dòng)估計(jì)算法

        運(yùn)動(dòng)估計(jì)是編碼中計(jì)算量最大的一部分,占據(jù)整個(gè)編碼時(shí)間的50%以上。各種快速運(yùn)動(dòng)估計(jì)算法也成為近年來研究的熱點(diǎn)。本文通過實(shí)驗(yàn)證明,采用預(yù)測技術(shù)的運(yùn)動(dòng)估計(jì)不但可以大大縮短計(jì)算時(shí)間,而且也有助于提高圖像的質(zhì)量。

        宏塊(Macro Block)的運(yùn)動(dòng)矢量(Motion Vector)在時(shí)間和空間都具有相關(guān)性,預(yù)測的原理就是利用當(dāng)前幀和參考幀內(nèi)相鄰位置宏塊的MV來預(yù)測當(dāng)前宏塊的MV。下面詳述本文所采用的預(yù)測算法。

        (1)確定當(dāng)前宏塊MV的7個(gè)候選值PreMV1~7。
        如圖3所示。PreMV1=(0,0);PreMV4取當(dāng)前宏塊左邊相鄰宏塊的MV值;PreMV5取上邊相鄰宏塊的MV值;PreMV6取右上方相鄰宏塊的MV值;PreMV2=mid{PreMV4, PreMV5, PreMV6},即取三者的中值;PreMV3取參考幀相同位置宏塊的MV值;PreMV7取參考幀右下方相鄰宏塊的MV值。

      圖3 預(yù)測運(yùn)動(dòng)矢量示意圖

        (2)確定篩選候選值的依據(jù)——SAD(絕對(duì)誤差和)的門限值ThreshSAD。

        SAD是確定最佳匹配塊的準(zhǔn)則。門限值ThreshSAD是指這樣一個(gè)值:如果參考幀內(nèi)某一宏塊和當(dāng)前宏塊的SAD小于ThreshSAD,則當(dāng)前宏塊的MV值就可取作二者之間的位移。因此,ThreshSAD就可作為篩選7個(gè)候選值的依據(jù)。
        由于SAD在空間上的相關(guān)性,ThreshSAD由相鄰宏塊的SAD值來確定:
         ThreshSAD=Min{SADleft,SADtop,SADtop_left}
        其中,SADleft、SADtop、SADtop-right分別為MBleft、MBtop、MBtop-right和其對(duì)應(yīng)匹配塊的SAD值,ThreshSAD取三者的最小值。
        (3)從7個(gè)候選值中選出當(dāng)前宏塊的MV值。

        按照PreMV1~7的順序,依次計(jì)算當(dāng)前宏塊和7個(gè)匹配塊的SAD值。如果有SAD值小于ThreshSAD,即停止計(jì)算,選用對(duì)應(yīng)的PreMV作為當(dāng)前宏塊的MV值;如果7個(gè)SAD值均大于ThreshSAD,則采用運(yùn)動(dòng)搜索來確定當(dāng)前宏塊的MV值。該運(yùn)動(dòng)搜索并不以MV=(0,0)為中心,而是以對(duì)應(yīng)SAD值最小的PreMV為中心,搜索采用簡化的菱形算法。

        對(duì)標(biāo)準(zhǔn)視頻序列foreman.cif(352×288)進(jìn)行編碼(碼率300kbps),測得表1所示數(shù)據(jù)。采用預(yù)測的運(yùn)動(dòng)估計(jì)算法利用視頻序列在時(shí)間和空間上的相關(guān)性,無需對(duì)每個(gè)宏塊都進(jìn)行運(yùn)動(dòng)搜索,而且其搜索中心點(diǎn)也同樣利用了相關(guān)信息,搜索算法也可進(jìn)一步簡化,因此大大減少了運(yùn)動(dòng)估計(jì)的計(jì)算量;同時(shí),預(yù)測有助于提高圖像質(zhì)量,直接進(jìn)行快速運(yùn)動(dòng)搜索通常會(huì)帶來局部最小的問題,從而影響圖像質(zhì)量,而PreMV1~7取自位于當(dāng)前宏塊周圍各個(gè)方向的宏塊的MV值,避免陷入局部最小。

      霍爾傳感器相關(guān)文章:霍爾傳感器工作原理


      霍爾傳感器相關(guān)文章:霍爾傳感器原理


      評(píng)論


      相關(guān)推薦

      技術(shù)專區(qū)

      關(guān)閉