《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 嵌入式視頻解碼的實現

嵌入式視頻解碼的實現

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

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


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


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


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


  由表2可知,大多數測試序列基本可以達到實時解碼(15幀/秒)。目前市場上的主流智能手機的主頻在150MHz以上,而視頻格式通常采用QCIF(大小為176×144)或近似大小的視頻格式,遠小于未來的主流視頻格式——QVGA。因此,該嵌入式視頻處理系統可以直接應用于移動終端產品。
參考文獻
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

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 另类色综合 | 久久综合久久久久 | 深爱五月激情 | 99热网站| 久99久精品视频免费观看v | 综合激情在线 | 久久久久久综合成人精品 | 国产小视频网站 | 国产亚洲视频在线观看 | 成人中文字幕一区二区三区 | 日本不卡网| 99热免费观看 | 黄色小视频网址 | 欧美一区网站 | 久久综合狠狠综合久久 | 欧美久久网 | 97视频在线观看视频最新 | 久久亚洲综合 | 国产成在线人视频免费视频 | 久久99久久精品国产只有 | 高清不卡一区二区三区 | 毛片久久 | 毛片免费视频 | 97在线播放 | 免费观看毛片网站 | 四虎亚洲精品 | 久久精品re | 国产欧美日韩不卡在线播放在线 | 一级久久| 黄工厂精品视频在线观看 | 久久青草国产免费观看 | 精品国产一区二区三区不卡 | 免费国产高清精品一区在线 | 精品小视频在线 | 国产精品日韩欧美 | 成人精品一区二区www | 国产网站免费在线观看 | 午夜精品久久久久久久99热浪潮 | 亚洲精品午夜国产va久久 | 欧美高清视频在线观看 | 精品一区二区三区无卡乱码 |