新聞中心

        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.104case.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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 集安市| 上饶县| 阿勒泰市| 航空| 民勤县| 青河县| 吉安市| 普宁市| 迁安市| 鹤壁市| 长乐市| 宁德市| 南川市| 通许县| 安吉县| 兴安盟| 若羌县| 聂荣县| 英山县| 青浦区| 文成县| 垣曲县| 山阳县| 鹰潭市| 普陀区| 革吉县| 延寿县| 江孜县| 新巴尔虎左旗| 尼勒克县| 县级市| 梅州市| 和静县| 康平县| 色达县| 海晏县| 汽车| 墨江| 曲周县| 林西县| 大庆市|