• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式MPEG-4解碼系統的設計與實現

    嵌入式MPEG-4解碼系統的設計與實現

    作者: 時間:2014-10-19 來源:網絡 收藏

      音頻數模轉換芯片選用Philips公司的UDAl342TS音頻編解碼芯片,將I2S總線輸出的解碼后的數字音頻信號轉換成左右聲道音頻模擬信號輸出。視頻數模轉換芯片選用Philips公司的SAA7129AH數字視頻編碼器,解碼前要通過VW2010的I2C控制函數配置其寄存器。 SAA7129AH將VW2010解碼輸出單元輸出的8位數字Y、C-B、C-R視頻數據變成PAL(NTSC)制式的混合電視廣播信號(CVBS)、適用S端子的Y、C信號或者R、G.、B三原色信號輸出以適應不同場合需要。

    本文引用地址:http://www.czjhyjcfj.com/article/264095.htm

      3 系統軟件設計

      本系統軟件設計主要分為操作系統內核移植、VW2010、PCI橋芯片及網口等系統驅動程序編寫和解碼應用程序的編寫,其體系結構及與硬件的關系如圖4所示。



      操作系統是用戶控制系統的硬件平臺,系統驅動程序采用模塊化形式,向上為用戶層的解碼應用程序提供API函數,向下通過系統硬件API函數控制系統硬件。VW2010驅動模塊采用實時加載方式,其他如網口、I2C和PCI/IDE接口等驅動通用性強,直接編譯入內核。解碼應用程序則實現系統數據流的傳輸和解碼。

      下的驅動開發技術已經發展成熟,Linux內核的定制和移植也很普遍,本文不作詳細的闡述,主要介紹解碼應用程序。

      以IDE硬盤文件解碼為例,解碼程序主要由兩部分組成:主程序和解碼線程程序。解碼線程程序主要控制數據流的傳輸,先從數據源 (IDE接口硬盤)獲取數據流文件,再以塊的方式將數據傳送至W2010進行數據流的解碼,然后在檢測外部中斷信號同時不斷地把文件中的數據以塊的方式寫入VW2010,直到文件終止或者外部信號中斷解碼過程。解碼過程相對獨立。為便于其后臺用使用線程的方式實現,線程的級別要設為最高 [5]。主程序主要進行系統初始化工作,內容包括讀取解碼參數,配置SAA7129的寄存器,啟動并檢查MIPS,開啟VW2010并加載配置文件等。

      如果數據源是從以太網端口輸入,修改相應的配置選項,把對硬盤文件的操作換成對IP數據包的操作,把數據包解成MPEG-4數據流文件,再寫入VW2010。

      VW2010提供了十分齊全的API函數供使用,包括I2C配置、輸入輸出控制、解復用和解碼控制等,在VW2010的驅動模塊加載后可以在C++語言里直接調用,極大方便了軟件程序的編寫。主程序流程圖如圖5所示。



      本文介紹了一種嵌入式MPEG-4視頻流解碼系統,該系統采用硬解碼方式實現IDE接口設備或網絡端口輸入的MPEG-4碼流(ES、PS和 TS)轉換成PAL/NTSC制式的電視信號輸出。系統采用64位MIPS芯片TM-PR4925XB-200作為主控制器,以VW2010作為 MPEG-4解碼芯片;采用嵌入式Linux作為操作系統和模塊化的VW2010驅動程序,解碼應用程序簡單實用,可擴展性強。實驗證明此系統可穩定地對比特率1Mbps~16Mbps的MPEG-4碼流進行解碼,在碼流比特率為2Mbps時,圖像的質量仍與普通DVD效果相似。可廣泛用于IP電視、衛星電視、基于MPEG-4標準的數字電視廣播系統中,應用前景十分廣闊。

    linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

    linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

    linux相關文章:linux教程



    上一頁 1 2 下一頁

    關鍵詞: 嵌入式 MPEG-4 Linux

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 财经| 新和县| 通辽市| 临桂县| 临泉县| 贡觉县| 德庆县| 温宿县| 黎平县| 温州市| 醴陵市| 衡阳市| 肇州县| 赤城县| 桐梓县| 永丰县| 四川省| 赤水市| 府谷县| 茂名市| 富蕴县| 沭阳县| 黑龙江省| 河北省| 伊川县| 沿河| 平乐县| 冷水江市| 明水县| 山东省| 鄂州市| 油尖旺区| 萍乡市| 平陆县| 闸北区| 饶阳县| 阿坝| 中卫市| 嘉禾县| 台北市| 江口县|