[發明專利]基于CPU+GPU異構平臺實現HEVC中熵編碼環節的并行處理方法有效
| 申請號: | 201811258709.6 | 申請日: | 2018-10-26 |
| 公開(公告)號: | CN109391816B | 公開(公告)日: | 2020-11-03 |
| 發明(設計)人: | 郭成安;董菁鑫 | 申請(專利權)人: | 大連理工大學 |
| 主分類號: | H04N19/124 | 分類號: | H04N19/124;H04N19/147;H04N19/159;H04N19/172;H04N19/44;H04N19/70;H04N19/91;G06F9/50;G06T1/20 |
| 代理公司: | 大連理工大學專利中心 21200 | 代理人: | 梅洪玉 |
| 地址: | 116024 遼*** | 國省代碼: | 遼寧;21 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 cpu gpu 平臺 實現 hevc 編碼 環節 并行 處理 方法 | ||
1.一種基于CPU+GPU異構平臺實現HEVC中熵編碼環節的并行處理方法,其特征在于:
(1)采用二核或二核以上的CPU和一個GPU卡構成一個CPU+GPU異構計算平臺;
(2)在CPU上設置兩個線程,分別稱為“CPU主線程”和“CPU從線程”;在GPU上設置一個多線程,稱為“GPU多線程”;其中“CPU主線程”負責整個編碼器系統的計算流程控制,也對“CPU從線程”和“GPU多線程”的調度以及CUP與GPU之間的數據信息交流;“CPU從線程”負責實現對前一幀圖像所有待編碼數據的最終熵編碼環節,“GPU多線程”負責實現對當前幀圖像的預測、變換、量化、率失真優化、反量化、反變換、濾波及圖像重構;
(3)對于率失真優化過程中對各個CU數據塊的熵編碼環節,預測、變換、量化環節是由GPU通過“GPU多線程”做并行處理,而且此時是以CU數據塊為單元進行計算,在此過程中用“GPU多線程”對每一個CU數據塊仍按原串行熵編碼算法對該CU數據塊中的各個數據進行編碼,而對不同的CU數據塊進行并行編碼,由此實現CU級的并行熵編碼,提高該環節的計算效率;
上述方法具體包括以下步驟:
步驟1:從T0時刻開始至T1時間內,首先由CPU端的CPU主線程向GPU端傳送視頻序列中的第0幀圖像數據,并向GPU發出調度指令,啟動GPU多線程對第0幀圖像進行預測、變換、量化、率失真優化、反量化、反變換及圖像重構環節的并行計算;在此期間,CPU主線程與GPU端將有多次的信息交流,CPU主線程會根據GPU端返回的信息所反映的當前GPU端上的GPU多線程的任務執行狀況,啟動不同的GPU多線程以完成不同環節的處理任務;
當GPU端中的GPU多線程完成第0幀圖像的重構計算任務后向CPU主線程返回任務結束標志,CPU主線程收到結束標志后,將GPU多線程產生的第0幀的全部待編碼數據傳到CPU中;在此期間CPU從線程處于空閑狀態;
步驟2:從T1時刻開始至T2時間內,CPU主線程啟動CPU從線程由該從線程對第0幀全部待編碼數據進行熵編碼,CPU主線程同時將下一幀(第1幀)圖像數據傳送到GPU端,并啟動GPU端的GPU多線程對第1幀圖像進行預測、變換、量化、率失真優化、反量化、反變換、濾波及圖像重構環節的并行計算;在此期間,CPU主線程與GPU端同樣將有多次的信息交流,CPU主線程會根據GPU端返回的信息所反映的當前GPU端上的GPU多線程的任務執行狀況,啟動不同的GPU多線程以完成不同環節的處理任務;此時CPU主線程與CPU從線程之間也將有信息交流,掌控CPU從線程的任務完成狀況;當GPU端中的GPU多線程完成第1幀圖像的重構計算任務后向CPU主線程返回任務結束標志,CPU主線程收到結束標志后,將GPU多線程產生的第1幀的全部待編碼數據傳到CPU中;
步驟3:從T2時刻開始至T3時間內,CUP端的CUP主線程、CPU從線程以及GPU端的GPU多線程分別進行與在步驟2中完全同樣的操作處理,所不同的是在此步驟里由CPU主線程向GPU端傳送的是第2幀圖像數據、GPU多線程處理的也是該幀數據、CPU主線程啟動CPU從線程對第1幀全部待編碼數據進行熵編碼、CPU主線程最后是將這一時段內由GPU多線程產生的第2幀圖像的全部待編碼數據傳到CPU中;
步驟4:從Tn時刻開始至Tn+1時間內(n=3,4,…,N-1),在該步驟中CUP端的CUP主線程、CPU從線程以及GPU端的GPU多線程所進行的操作處理仍然與在步驟2或步驟3中幾乎同樣的操作處理,不同的是在此步驟里由CPU主線程向GPU端傳送的是第n幀圖像數據、GPU多線程處理的也是新傳過來的這一幀數據、CPU主線程啟動CPU從線程對第n-1幀全部待編碼數據進行熵編碼、以及CPU主線程最后是將這一時段內由GPU多線程產生的第n幀圖像的全部待編碼數據傳到CPU中;在該步驟中由GPU多線程對第n幀圖像所做的預測處理既有可能是幀間預測又有可能是幀內預測,具體為哪一種預測是由事先規定的預測選擇算法來決定;在實際運行過程中,是由CPU主線程根據預測選擇算法決定對當前幀圖像的預測方式,并向GPU發出相應的調度指令,隨之由GPU多線程按指令對當前幀圖像進行相應的幀內預測或者幀間預測運算;其它所有操作則與步驟2或步驟3完全相同;
步驟5:重復步驟4直到TN時刻為止,到TN時刻已對第N-1幀圖像完成除了最終的熵編碼環節以外的全部處理操作,并且已將該幀圖像的全部待編碼數據傳送到了CPU端;
步驟6:在TN時刻,由CPU主線程向CPU從線程發通知由該從線程對第N-1幀的全部待編碼數據進行最終的熵編碼,獲得最后一幀圖像最終壓縮后的碼流數據;至此,對整個視頻圖像序列的編碼過程結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于大連理工大學,未經大連理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811258709.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:用于改進的視頻編碼的參考幀重投影
- 下一篇:紋理數據傳輸方法及裝置





