新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于ADSP-BF5619處理的H.264視頻編碼器設計

        基于ADSP-BF5619處理的H.264視頻編碼器設計

        作者: 時間:2009-12-02 來源:網絡 收藏

        2.1 P幀編碼流程的優化
        由于H.264編碼算法比較龐大,對程序細節上進行優化事實上不能帶來明顯的效率提高,所以應對程序流程本身進行調整。在H.264JM86版本中,I幀、P幀的編碼采用同一模塊,這樣就有大量幀內、幀間宏塊的重復判斷,故使編碼速度受限。Micro_h264編碼軟件模型針對這一缺點進行了,將I幀、P幀的編碼提取出來分別獨立編碼。但是遺憾的是,micro_h264編碼軟件模型對一幀圖像的宏塊進行編碼是按照宏塊在圖像中的光柵掃描順序一一進行的,沒有考慮到宏塊在一幀圖像中的不同位置有著不同的特性,而且對這些宏塊采用統一模式進行編碼,也會產生很多判斷條件,這不但不利于DSP的流水操作,也不利于模塊的優化。本文針對這一個缺點對micro h264的P幀編碼流程進行優化。
        根據宏塊在一幀圖像中位置的不同,可以對不同位置的宏塊分別獨立進行編碼。同時,根據子塊在宏塊中的不同位置,也可以對其進行獨立編碼。
        一幀圖像被分成多個宏塊時,不同位置的宏塊有不同的特性。因此,可以根據宏塊在一幀圖像中的不同位置來對宏塊進行分類,以將具有相同編碼特性的宏塊歸為一類,這樣,可以將幀圖像的宏塊分成五類。圖3所示是其宏塊分類圖。
        通過對宏塊進行分類,可對不同的宏塊調用不同的函數來對其獨立編碼,從而減少很多不必要的判斷,這樣就不會打斷DSP的流水操作,達到提高速度之目的,同時在進行優化時也更具針對性。
        在P幀編碼時,只用了一幀參考幀,并且改進了micro_h264軟件模型所使用的對宏塊編碼模式逐一遍歷的算法,而是采用宏塊編碼模式快速選擇算法。P幀編碼的流程圖如圖4所示。

        本文引用地址:http://www.104case.com/article/166848.htm

        運行平臺的不同,軟件結構也應該根據各自的特點做些調整。較低復雜度的編碼器可將多個不同類宏塊獨立出來單獨,這樣可以省去許多中間的重復判斷,不僅能提高編碼速度,同時程序結構也顯得更為清晰,而且,由于各個模塊的相對獨立,也有利于程序的擴展。雖然這樣在一定程度上增加了代碼量,但卻能有效地提高編碼速度。
        2.2 ADSP-BF561雙核系統的優化
        為了保證編碼器的穩定工作,本文把內核定位在600 MHz,如果能在600 MHz的基礎上實現4CIF格式的實時編碼,那么,提高內核處理頻率就能支持更高質量的4CIF格式的編碼處理。為了實現25幀圖像的實時編碼,每幀需要的時鐘周期數為600 MHz/25=24MHz,即需要在24 MHz時鐘周期數內編碼一幀。大約相當于在6 MHz內進行一幀CIF格式的處理,顯然,如果使用一個核是很難做到實時編碼處理的。本文不同于大多數雙核系統的一個核運行操作系統,而另一個核運行其它軟件的工作方式,是將編碼器放在兩個核內同時進行處理。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 镇江市| 无极县| 东安县| 上栗县| 方山县| 沙洋县| 大足县| 江达县| 鹤庆县| 南丰县| 胶州市| 家居| 墨玉县| 乐业县| 新沂市| 静海县| 防城港市| 曲阜市| 新竹市| 孝昌县| 红河县| 锦州市| 广饶县| 丹棱县| 吉木萨尔县| 柳江县| 巢湖市| 陆河县| 客服| 汪清县| 晋城| 五常市| 廊坊市| 平潭县| 江阴市| 岱山县| 阜新市| 鸡泽县| 广灵县| 普安县| 青州市|