[發明專利]用于低功耗應用的AVC并行編碼方法有效
| 申請號: | 201310376059.6 | 申請日: | 2013-08-26 |
| 公開(公告)號: | CN103414902A | 公開(公告)日: | 2013-11-27 |
| 發明(設計)人: | 高厚新;諸悅;章旭東;張磊;宣學雷;蔣爾松 | 申請(專利權)人: | 上海富瀚微電子有限公司 |
| 主分類號: | H04N7/26 | 分類號: | H04N7/26 |
| 代理公司: | 上海唯源專利代理有限公司 31229 | 代理人: | 曾耀先 |
| 地址: | 200233 上海市*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 功耗 應用 avc 并行 編碼 方法 | ||
技術領域
本發明屬于視頻編解碼領域,涉及一種低功耗的H.264/AVC并行編碼方法,尤其是涉及二步法編碼、以宏塊行(Marco-Block?Row)為基本單位的編碼并行以及編碼過程方法。
背景技術
H.264/AVC標準以其卓越的圖像壓縮性能已經為業界所接受,然而隨著需要編碼的圖像幅面從CIF上升至D1、720P、1080P甚至4Kx2K(超高清),H.264編碼更高的運算量在一些低功耗要求高的領域就成為一個主要問題。業界降低H.264編碼功耗在算法實現階段采用的手段是通過并行處理來降低編碼過程中的硬件/處理器的時鐘頻率,進而降低硬件運行電壓來降低系統功耗。
參閱圖1所示,由于H.264/AVC編碼過程是一個緊耦合的閉環過程,同一個條帶(Slice)中前面的宏塊如果沒有完成編碼,后面的宏塊則因無相關的中間數據支撐不能啟動編碼,目前H.264/AVC編碼的可采用并行編碼方式主要是GOP(Group?of?Picture)級并行、Slice?level并行以及微結構級并行,前兩者利用編碼過程的不相關進行并行處理,這樣的并行處理帶來的問題是圖像編碼延遲增加,而微結構級的并行則是指在宏塊編碼過程中具體的編碼處理為并行操作。例如運動搜索過程中可以幾種塊模式/幾個搜索點同時運算,進而縮短宏塊的編碼時間,但是這種方式的并行是有限的,因為這種并行度的提升會導致硬件/軟件的復雜度劇增,反而不利編碼功耗的降低,隨著待編碼視頻幅面的增大和幀率的提升,這種并行方式難以為繼,而且基于CPU/GPU的軟件編碼方式也無法同時使用多核資源,制約了硬件資源增加帶來的編碼性能提升,通過提升CPU/GPU的時鐘可以增加編碼器性能,但是會帶來功耗大幅度提升的負面效應。
發明內容
本發明所要解決的技術問題是提供一種在不降低編碼質量的前提下,解決H.264/AVC?Slice編碼過程中前后編碼過程的緊耦合特征,使得H.264/AVC?Slice編碼過程可以并行開展的用于低功耗應用的AVC并行編碼方法。而并行的層次介于Slice和微結構之間,通過這種層次的并行,一方面可以增加并行處理間數據復用,進而降低外部訪問帶寬來實現低功耗的目的,另一方面可以回避微結構并行帶來的復雜度和不必要的算法性能下降。
為實現上述技術效果,本發明公開了一種用于低功耗應用的AVC并行編碼方法,將圖像編碼分兩步進行,第一步實現預測以及語義元素計算,第二步再進行語言元素熵編碼。
所述方法進一步的改進在于,第一步的運動估計、幀內預測、幀間預測、模式判定運算依賴參考圖像和編碼控制信息,得到用來計算熵編碼所必需的所述語言元素,;第二步基于上下文信息完成對語義元素進行熵編碼得到編碼結果。
所述方法進一步的改進在于,所述第一步以宏塊行為單位并行處理,所述第二步以圖像或者條帶為單位并行處理。
所述方法進一步的改進在于,在所述第一步的計算中,一行宏塊的運算倚賴上一行宏塊第一步的運算結果以及所需參考圖像和編碼控制信息。
所述方法進一步的改進在于,每一行宏塊的第一步運算得到的所述語言元素獨立緩沖,作為第二步語言元素熵編碼計算的輸入。
所述方法進一步的改進在于,所述并行處理以圖像中的一行宏塊為基本單元同時進行編碼。
所述方法進一步的改進在于,利用通過相鄰行的宏塊編碼所需要的數據重復的特征,相鄰的多行宏塊同時編碼,同時使用在緩沖區/Cache中相同的參考數據,進而大幅度降低編碼過程對外的數據訪問。
所述方法進一步的改進在于,利用通過行宏塊的并行運算,進而大幅度降低編碼過程時鐘頻率,進而通過降低編碼器供電電壓大幅度降低編碼功耗。
所述方法進一步的改進在于,利用通過行宏塊的并行運算,進而可以更有效的利用CPU/GPU的多核資源,進而降低功耗。
本發明由于采用了以上技術方案,使其具有以下有益效果是:通過采用行宏塊并行編碼不僅可以降低編碼引擎的時鐘頻率要求,進而降低編碼功耗,同時可以大幅度提升編碼過程中的數據復用水平,降低對外的數據訪問帶寬,從另一個層面上也可以降低系統的功耗,滿足低功耗應用的要求。另一方面,獨立的宏塊行運算(第一步)和語言元素熵編碼的復雜度基本不受并行運算影響,算法性能降低以及實現復雜度的增加很少。
附圖說明
圖1是當前的條帶(Slice)編碼過程。
圖2是本發明用于低功耗應用的AVC并行編碼方法的編碼過程。
具體實施方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海富瀚微電子有限公司,未經上海富瀚微電子有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310376059.6/2.html,轉載請聲明來源鉆瓜專利網。





