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

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ADSP-BF561的H.264編碼器設計

    基于ADSP-BF561的H.264編碼器設計

    作者: 時間:2009-05-22 來源:網絡 收藏

    2.2 數據格式轉換
    視頻采集到的圖像是交織的4:2:2格式的YUV視頻數據,而視頻編碼算法對4:2:O格式的視頻數據進行壓縮。4:2:O格式數據的亮度值緩沖區和色度值緩沖區是分離的,利用MDMA搬移,可以實現亮度緩沖區和色度緩沖區的分離。
    CIF YVYU(4:2:2)格式數據如表1所示,CIF 4:2:O格式數據如表2所示。4:2:2格式圖像一個宏像素中有4個Y分量,2個U分量和2個V分量[8]。4:2:0格式圖像一個宏像素中有4個Y分量,1個U分量和1個V分量。Y,U和V的存儲區是分開的,Y在前,然后是U,最后是V。

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

    把4:2:2格式轉換成4:2:O格式,要保留所有的Y,并取第0,2,4,……行的U和第1,3,5……行的V。采用描述符列表“大”模式的MDMA,需要三對描述符source_y,dest_y,SOurce_u,dest_u,SOUrce_v,dest_v,形成源和目的兩個描述符鏈表,進行Y,U和V的從交織的4:2:2格式的源數據區到Y,U和V分離的目的數據區的搬移。
    當一幀CIF 4:2:2格式數據通過PPI填充到一個Blackfin處理器的視頻幀緩沖區中,產生中斷,在中斷處理子程序中啟動MDMA,分離亮度值和色度值,然后交給H.264進行編碼。

    2.3 H.264編碼
    等待產生一幀4:2:O格式數據后,對這一幀數據執行H.264編碼,之后繼續等待4:2:0格式數據的產生,直至編碼結束。


    3 實驗結果與分析
    實驗中,對攝像頭采集到的圖像編碼,并將壓縮碼流以文件的形式保存在本地存儲器中。編碼結束后,用H.264的解碼器對壓縮碼流解碼,用YUVviewerPlus.exe播放解碼后的視頻文件。
    實驗中,可達到每秒鐘編碼15幀圖像的速度。解碼后的圖像清晰度與在VisualDsp++5.0中用Image Viewer查看的相比,圖像質量基本相同,圖像很清晰。OV7660采集圖像的速度是每秒鐘30幀,編碼器沒有達到實時編碼。
    實驗中,BF561的H.264編碼器沒有達到實時編碼的原因是沒有對H.264開源代碼優化。由于CIF格式圖像數據比較大,需要存儲在外部存儲器中,處理器訪問外部存儲器時間比較長;DCT和運動估計算法函數比較耗時,用C語言實現;程序中有一些輔助函數和打印信息等,從而影響了編碼器的速度口。


    4 結 語
    BF561的H.264編碼器沒有達到實時編碼。未來的工作重點是利用VisualDSP++開發環境的C編譯器,進行代碼優化;充分利用內部存儲空間資源和盡可能通過DMA、高速緩存等減少存儲分配帶來的片內外數據調度對系統性能的影響;對一些系統調用比較頻繁、耗時較多的模塊,如DCT和運動估計等,充分利用BF561的指令集,用匯編語言實現;去掉源程序中不必要的輔助函數和打印信息,以實現基于BF561的H.264編碼器實時編碼。
    隨著消費類電子產品進一步進入普通家庭,應用H.264標準的視頻會議、可視電話以及無人監控系統等也將會得到越來越廣泛的應用。


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 周口市| 县级市| 建瓯市| 武安市| 宝鸡市| 唐海县| 个旧市| 大化| 四平市| 荔浦县| 江口县| 宣汉县| 绵竹市| 公安县| 和林格尔县| 高陵县| 文昌市| 巴中市| 桑日县| 南投市| 新蔡县| 华池县| 蓬溪县| 靖安县| 景洪市| 东源县| 屯昌县| 丰顺县| 县级市| 金沙县| 永靖县| 东方市| 嵊泗县| 迁西县| 炎陵县| 沈阳市| 望城县| 旬邑县| 昌都县| 墨脱县| 静乐县|