《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 嵌入式視頻解碼的實現(xiàn)

嵌入式視頻解碼的實現(xiàn)

2008-06-05
作者:劉東華1,2

  摘 要: 在嵌入式手機開發(fā)平臺上實現(xiàn)視頻解碼" title="視頻解碼">視頻解碼處理的方法。首先介紹視頻解碼在嵌入式平臺上的處理流程,然后具體分析視頻解碼算法中各個關(guān)鍵模塊的實現(xiàn)方法,最后對該平臺上的處理性能進行分析并給出結(jié)論。
  關(guān)鍵詞: 嵌入式平臺 視頻解碼 AVS-M


  視頻業(yè)務(wù)作為下一代移動通信的重要應(yīng)用,已經(jīng)越來越受到重視。目前,很多高端移動通信設(shè)備和智能手機都提供嵌入式操作系統(tǒng),支持第三方的小應(yīng)用程序。因此,在嵌入式手機平臺上開發(fā)視頻應(yīng)用具有很好的前景。但是,由于目前手機平臺資源有限,不能實現(xiàn)復(fù)雜性較高的實時視頻壓縮編碼,所以首先要實現(xiàn)視頻的解碼處理。下面介紹在嵌入式手機平臺上實現(xiàn)視頻解碼處理的方法及相應(yīng)結(jié)果。
1 系統(tǒng)處理流程
  在嵌入式平臺上實現(xiàn)的視頻解碼可以分為系統(tǒng)設(shè)置(包括操作系統(tǒng)初始化等)和視頻解碼處理兩部分。處理流程如圖1所示。
1.1 系統(tǒng)設(shè)置
  完成初始化系統(tǒng),調(diào)用系統(tǒng)程序完成CPU初始化,配置寄存器以確保存儲器訪問正確。對嵌入式操作系統(tǒng)的內(nèi)核進行初始化,以μITRON操作系統(tǒng)為例,調(diào)用vsta_knl和ivsta_knl實現(xiàn)操作系統(tǒng)初始化。初始化過程主要包括:
  (1)設(shè)置終端寄存器和矢量寄存器(VBR)等關(guān)鍵寄存器。
  (2)初始化內(nèi)核工作區(qū)。
  (3)創(chuàng)建初始化定義對象。
  (4)啟動生成的系統(tǒng)初始化程序,包括定時器(timer)、存儲管理單元(MMU)等。
  (5)轉(zhuǎn)向多任務(wù)進程(MultiTasking),并開始第一個任務(wù)。
  由于視頻解碼算法采用C語言實現(xiàn),因此還要完成任務(wù)的配置和初始化等工作以及C語言運行環(huán)境配置等。
  在完成操作系統(tǒng)內(nèi)核初始化之后,程序進入多任務(wù)狀態(tài),其中視頻解碼處理部分作為主任務(wù)開始執(zhí)行。
1.2 視頻解碼處理
  視頻解碼處理部分是整個系統(tǒng)的主任務(wù),其第一步仍然是任務(wù)配置和初始化。首先通過寄存器配置啟動CACHE并初始化,主要完成指令CACHE(IC)、操作數(shù)CACHE(OC)使能以及其他必需的模塊操作。接下來初始化LCD顯示模塊,包括設(shè)置LCD初始化參數(shù)、LCD驅(qū)動參數(shù)及LCD繪圖參數(shù)。RGB轉(zhuǎn)換單元初始化用于使能視頻引擎單元及視頻色彩空間的轉(zhuǎn)換。


  在解碼開始前,先對解碼參數(shù)初始化,包括分配存儲和倒換緩沖區(qū)、初始化查找表等。而后通過解析壓縮的標(biāo)準(zhǔn)視頻數(shù)據(jù)流獲取序列和圖像參數(shù)集及標(biāo)記信息。若解析得到的信息顯示存在一幀圖像數(shù)據(jù),則進入主處理模塊進行圖像解碼;否則釋放資源,任務(wù)結(jié)束。在每一幀圖像解碼完成后,通常得到Y(jié)CbCr格式的數(shù)據(jù),通過RGB轉(zhuǎn)換單元變換成可在LCD顯示的RGB格式的數(shù)據(jù)(后處理),送入相應(yīng)的緩沖區(qū),實現(xiàn)LCD顯示。然后繼續(xù)解析碼流,直到完成整個序列的解碼、顯示。最后釋放資源,任務(wù)結(jié)束。
2 視頻解碼算法實現(xiàn)
  目前,比較流行的視頻壓縮標(biāo)準(zhǔn)主要有MPEG4和H.264。其中H.264的壓縮效率和圖像質(zhì)量在同等條件下要優(yōu)于MPEG4,同時也更適合移動應(yīng)用。擁有自主知識產(chǎn)權(quán)的移動視頻標(biāo)準(zhǔn)AVS-M" title="AVS-M">AVS-M也在制定。AVS-M與H.264 Baseline在標(biāo)準(zhǔn)框架上有很多相似之處,下面對這兩種標(biāo)準(zhǔn)中采用的關(guān)鍵處理模塊進行分析。
  由于嵌入式移動終端的主頻和存儲資源有限,因此實現(xiàn)視頻解碼的關(guān)鍵在于如何優(yōu)化程序,提高執(zhí)行效率,降低存儲需求。針對嵌入式處理器的特點,考慮到資源的有效利用,在實現(xiàn)視頻解碼過程中應(yīng)采用下列策略:
  (1)優(yōu)化數(shù)據(jù)結(jié)構(gòu)。例如采用合理的數(shù)據(jù)結(jié)構(gòu),提高指針和數(shù)組的尋址效率等。
  (2)改善數(shù)據(jù)處理流程。例如將解碼過程中宏塊的預(yù)測模式、運動矢量的初始化在幀一級實現(xiàn),通過模塊模糊化盡可能減少各個模塊之間數(shù)據(jù)緩存的倒換等。
  (3)充分利用硬件平臺特點。例如提高CACHE命中率、有效利用片上存儲資源、實現(xiàn)軟件流水等。
  以AVS-M為例,對標(biāo)準(zhǔn)視頻序列總線進行測試,得到如表1所示的視頻解碼算法中各部分的處理時間比例。
  在解碼過程中,反量化" title="反量化">反量化/反變換模塊、運動補償模塊和重構(gòu)" title="重構(gòu)">重構(gòu)模塊占用了大部分處理資源,因此這里主要考慮對這三個模塊的處理。


2.1 反量化/反變換
  為降低運算量,H.264基線和AVS-M的變換采用整數(shù)離散余弦的4×4變換,變換矩陣由全部是整數(shù)的核心矩陣和系數(shù)矩陣組成。系數(shù)矩陣與量化過程結(jié)合,變換部分就成為可逆的整數(shù)變換。視頻解碼過程中,從碼流解析出每個4×4塊的量化系數(shù)進行反量化和反變換,生成該4×4數(shù)據(jù)塊的參差矩陣,與預(yù)測矩陣共同重構(gòu)出解碼圖像塊。實現(xiàn)此功能可采取以下策略:
  (1)將4×4量化系數(shù)矩陣用一維數(shù)組來表示,避免在每次取操作數(shù)時兩次尋址,提高尋址效率。
  (2)在同一個模塊實現(xiàn)反量化、反變換和重構(gòu)。整個操作過程均針對存放16個量化系數(shù)的數(shù)組進行,每完成一個運算過程直接更新數(shù)組相應(yīng)的元素,從而避免塊數(shù)據(jù)的倒換。完成該操作后即得到解碼圖像塊。
  (3)將重構(gòu)過程中的兩重4次循環(huán)的內(nèi)循環(huán)打開,實現(xiàn)軟件流水。也可以在整個宏塊的所有4×4塊均完成反量化和反變換后對兩重16次循環(huán)采用軟件流水,這樣可以提高速度,但增加了存儲資源占用。
  (4)反量化過程采用查找表實現(xiàn),降低了運算復(fù)雜性。查找表存入CACHE,可提高訪問速度。
  采用上述方法可大大提高處理速度,同時節(jié)省存儲資源。
2.2 運動補償
  為降低碼率,H.264和AVS-M采用1/4像素精度的亮度插值" title="插值">插值預(yù)測和1/8像素精度的色度插值預(yù)測。插值過程占用了運動補償?shù)拇蟛糠謺r間。因此,在處理運動補償時,應(yīng)采用如下策略:
  (1)并行化處理。視頻處理中,1/2像素插值通過水平FIR濾波器和垂直FIR濾波器實現(xiàn)。對于亮度插值,每個像素點的取值范圍在[0,255],濾波器抽頭系數(shù)在[-63,64]之間,每個插值計算的結(jié)果不會超出[-6630,22950],因此可以用16位運算器實現(xiàn)。而目前采用的嵌入式處理器至少是32位的,因此在每個指令周期可以并行完成至少兩個插值運算,進而大大減少了插值運算時間。
  (2)預(yù)擴展參考圖像邊界。對于幀間預(yù)測,預(yù)測數(shù)據(jù)塊根據(jù)運動矢量在參考圖像中確定預(yù)測參考塊(根據(jù)運動矢量的取值,參考塊數(shù)據(jù)可以是參考像素值,也可以是1/2像素或1/4像素插值結(jié)果)。當(dāng)運動矢量指向的參考樣本超出圖像參考邊界時,需要使用圖像內(nèi)距離該參考樣本最近的整數(shù)樣本代替。如果每次在參考樣本超出邊界時進行判斷和賦值,則會增加判斷次數(shù)并會導(dǎo)致軟件流水中斷。為此,可以預(yù)先將參考圖像根據(jù)邊緣像素值做水平和垂直擴展。參考樣本全在參考圖像外面時,不論運動矢量延伸多大,所得到的預(yù)測塊像素值都是相同的,可以將擴展的寬度設(shè)定為宏塊的寬/高度以確保結(jié)果的正確性。這樣就不再需要判斷,同時解決了軟件流水問題。
  (3)提高CACHE命中率。由于CACHE的存儲空間有限,不可能將參考圖像全部放入CACHE,因此考慮根據(jù)運動矢量的統(tǒng)計特性將最有可能的參考樣本放入CACHE,用以提高命中率。
2.3 圖像重構(gòu)
  圖像重構(gòu)過程與反量化/反變換結(jié)合起來實現(xiàn),具體實現(xiàn)參見2.1。
3 測試結(jié)果
  利用上述方法,可以實現(xiàn)嵌入式手機平臺上的視頻解碼。表2給出了在手機開發(fā)平臺上的測試結(jié)果。其中CPU主頻為216MHz,操作系統(tǒng)為μITRON,視頻標(biāo)準(zhǔn)為AVS-M,圖像格式為QVGA,大小為320×240。測試序列選擇具有代表性的標(biāo)準(zhǔn)序列。


  由表2可知,大多數(shù)測試序列基本可以達到實時解碼(15幀/秒)。目前市場上的主流智能手機的主頻在150MHz以上,而視頻格式通常采用QCIF(大小為176×144)或近似大小的視頻格式,遠小于未來的主流視頻格式——QVGA。因此,該嵌入式視頻處理系統(tǒng)可以直接應(yīng)用于移動終端產(chǎn)品。
參考文獻
1 Renesas 32-bit RISC microcomputer SH mobile series SH73182 hardware manual,REJ09B0118-0070Z.RENESAS Corp,2004
2 Renesas 32-bit RISC microcomputer superHTM RISC engine family SH4AL-DSP software manual.REJ09B0002-0150Z.RENESAS Corp,2004
3 Renesas industrial realtime operating system HI7000 /4 series (HI7000/4,HI7700/4,HI7750/4) user′s manual.RENESAS Corp,2003
4 Wiegand T,Sullivan G J,Bjontegaard G et al.Overview of the H.264/AVC video coding standard.IEEE Trans.CircuitsSystem Video Technol,2003;13(7)
5 Draft ITU-T recommendation and final draft international standard of joint video specification(ITU-T Rec.H.264/ISO/IEC 14496-10 AVC.Joint Video Team(JVT) of ISO/IEC MPEG and ITU-T VCEG,JVT-GO50,2003
6 AVS工作組.音視頻編碼 第七部分:移動視頻(草案).北京:AVS工作組,2004

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲午夜精品一区二区三区他趣| 久久免费高清视频| 久久国产直播| 午夜精品久久久久久久99水蜜桃| 日韩一区二区精品视频| 亚洲国产欧美一区二区三区同亚洲 | 亚洲综合三区| 日韩午夜精品视频| 99精品欧美一区二区三区综合在线| 黄色成人av网| 一区二区在线观看av| 激情丁香综合| 狠狠干成人综合网| 黄色工厂这里只有精品| 激情五月综合色婷婷一区二区| 国内外成人免费激情在线视频网站 | 久久精品国产久精国产爱| 亚洲欧美日韩精品久久| 亚洲视频一区在线| 亚洲淫片在线视频| 亚洲欧美大片| 先锋影音国产精品| 久久精品国产2020观看福利| 欧美在线一二三区| 欧美在线观看视频一区二区| 欧美在线黄色| 久久久噜噜噜久久人人看| 久久美女性网| 欧美福利视频| 欧美日韩中文字幕在线| 欧美视频福利| 国产日韩av在线播放| 红桃av永久久久| 亚洲高清不卡一区| 亚洲精品国产精品国自产在线| 亚洲精品久久久蜜桃| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲人人精品| 99国产精品| 亚洲一区二区在| 欧美一区二区精品| 蜜臀99久久精品久久久久久软件| 免费影视亚洲| 欧美系列精品| 国内精品99| 亚洲精品在线视频| 亚洲自拍偷拍色片视频| 久久成人人人人精品欧| 亚洲精品久久久久久久久久久久久| 一区二区三区福利| 久久riav二区三区| 欧美激情一区二区三区全黄| 欧美视频免费看| 国产在线视频欧美| 亚洲精品乱码久久久久久| 亚洲尤物视频网| 亚洲激情在线视频| 亚洲免费一在线| 久久综合色播五月| 国产精品久久久久999| 伊人久久亚洲热| 在线一区二区日韩| 亚洲激精日韩激精欧美精品| 亚洲综合国产激情另类一区| 久久午夜激情| 国产精品进线69影院| 永久久久久久| 亚洲在线免费| 一区二区三区国产在线| 久久久久.com| 欧美性大战久久久久| 激情文学一区| 午夜精品免费视频| 99视频精品全部免费在线| 久久gogo国模啪啪人体图| 欧美日韩一区二区三区免费| 国产亚洲aⅴaaaaaa毛片| 亚洲国产日韩一级| 欧美一级久久久| 中日韩美女免费视频网址在线观看| 久久精品人人做人人综合| 欧美性大战久久久久久久蜜臀| 娇妻被交换粗又大又硬视频欧美| 一区二区三区成人| 亚洲精品永久免费| 久久亚洲国产精品一区二区| 国产精品成人在线| 最新亚洲一区| 亚洲高清视频一区| 欧美一区二区三区视频在线 | 99精品热6080yy久久| 91久久精品一区二区别| 久久国产黑丝| 国产精品久久婷婷六月丁香| 亚洲人成在线播放| 亚洲国产精品日韩| 久久精品日韩| 国产丝袜一区二区三区| 亚洲一二三区精品| 亚洲视频电影在线| 欧美精品色网| 亚洲国产成人精品视频| 欧美一区二区三区在线观看视频| 亚洲欧美日韩一区二区三区在线| 欧美人与禽性xxxxx杂性| 亚洲国内高清视频| 亚洲欧洲日本国产| 免费久久精品视频| 精品不卡一区| 久久精品人人做人人综合| 久久国产日韩欧美| 国产午夜精品视频免费不卡69堂| 中文欧美日韩| 亚洲伊人观看| 国产精品日日摸夜夜摸av| 亚洲视频在线观看免费| 亚洲免费一在线| 国产精品久久久久久久久久免费 | 一区二区三区四区国产精品| 欧美国内亚洲| 亚洲韩国青草视频| 日韩午夜激情av| 欧美精品99| 日韩视频在线播放| 在线视频欧美一区| 欧美视频在线免费| 亚洲色在线视频| 亚洲欧美区自拍先锋| 国产精品久久久久久久第一福利| 中文国产一区| 篠田优中文在线播放第一区| 国产精品男女猛烈高潮激情| 亚洲一区二区三区乱码aⅴ| 香港久久久电影| 国产日韩欧美在线看| 欧美永久精品| 欧美 日韩 国产在线| 亚洲肉体裸体xxxx137| 亚洲天堂av在线免费| 国产精品拍天天在线| 午夜欧美大片免费观看| 久久久精品国产一区二区三区 | 亚洲激情在线观看视频免费| 日韩亚洲欧美一区| 欧美视频在线观看一区| 亚洲综合成人在线| 久久免费视频网站| 亚洲精品欧洲| 亚洲综合第一页| 国产一区二区欧美| 亚洲欧洲日韩在线| 欧美日韩综合网| 欧美一区二区大片| 欧美成人伊人久久综合网| 99精品视频一区二区三区| 午夜精品一区二区三区电影天堂| 国产日本亚洲高清| 亚洲片国产一区一级在线观看| 欧美日韩免费在线| 欧美一级在线视频| 欧美国产91| 亚洲一区区二区| 美女脱光内衣内裤视频久久网站| 亚洲精品视频中文字幕| 午夜一区二区三视频在线观看| 激情视频一区二区| 亚洲永久精品大片| 激情婷婷亚洲| 亚洲一区二区视频在线| 好吊一区二区三区| 中文精品一区二区三区 | 国模 一区 二区 三区| 亚洲精品久久久久| 国产欧美日韩精品专区| 亚洲啪啪91| 国产精品一区二区你懂的| 亚洲日韩欧美视频一区| 国产精品美女诱惑| 亚洲精品影视| 国产欧美日韩精品丝袜高跟鞋| 亚洲精品美女在线观看| 国产日本欧美一区二区三区| 日韩视频一区二区三区在线播放| 国产精品一二三| 日韩亚洲国产精品| 狠狠干综合网| 欧美亚洲一区二区在线| 最近中文字幕日韩精品| 久久狠狠婷婷| 亚洲午夜免费视频| 欧美精品一区二区高清在线观看| 香港成人在线视频| 欧美视频免费在线| 亚洲精品美女久久久久| 国产主播一区二区| 欧美一区二区三区精品电影| 99re热这里只有精品视频| 欧美jizzhd精品欧美巨大免费| 亚洲综合首页| 欧美三级网页|