[發明專利]HEVC/H.265的DCT變換和反變換的SIMD優化方法有效
| 申請號: | 201410608208.1 | 申請日: | 2014-10-31 |
| 公開(公告)號: | CN104320668B | 公開(公告)日: | 2017-08-01 |
| 發明(設計)人: | 張小云;黎凌宇;高志勇;陳立 | 申請(專利權)人: | 上海交通大學 |
| 主分類號: | H04N19/625 | 分類號: | H04N19/625;H04N19/88;H04N19/436 |
| 代理公司: | 上海漢聲知識產權代理有限公司31236 | 代理人: | 徐紅銀,郭國中 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | hevc 265 dct 變換 simd 優化 方法 | ||
1.一種HEVC/H.265的DCT變換和反變換的SIMD優化方法,其特征在于,包括如下步驟:
第一步,將一維DCT輸入數據從內存裝載進寄存器,視為矢量數據;
第二步,對矢量數據重新排列組合,執行蝶形運算,對輸入數據逐級加減,計算出中間變量矢量;
第三步,如果該一維DCT變換是水平方向變換,直接跳到第五步;
第四步,對中間變量進行右移舍入運算,以限制其位寬;
第五步,將中間變量矢量和對應的系數矢量進行點乘運算;對于計算四個中間變量和相應系數的點乘,直接采用一條指令執行四元矢量點乘便可以完成;對于四個以上中間變量和相應系數的點乘,通過多次的四元矢量點乘完成;對于計算兩個中間變量和相應系數的點乘,采用并行的乘法和加法指令完成;
第六步,將點乘運算的結果進行重新排列組合,執行右移舍入,輸出結果保存至目標內存。
2.根據權利要求1所述的一種HEVC/H.265的DCT變換和反變換的SIMD優化方法,其特征在于,所述第二步中,對輸入數據的并行加減,完成蝶形運算,進行逐級多次的并行加減法,計算出用于點乘計算的中間變量矢量。
3.根據權利要求1所述的一種HEVC/H.265的DCT變換和反變換的SIMD優化方法,其特征在于,所述第四步中,一維DCT變換對中間變量進行舍入預處理,對于豎直方向的一維DCT變換,將中間變量右移舍入使其位寬在16bit內。
4.根據權利要求3所述的一種HEVC/H.265的DCT變換和反變換的SIMD優化方法,其特征在于,所述第四步中,具體的右移計算如式(1):
y=(x+(1<<(MIVO-1)))>>MIVO(1)
其中:x為需要進行右移舍入的數據,MIVO為中間變量最大階數,y是執行完右移舍入后的結果;
同時,輸入變量shift值也要根據MIVO做相應的調整,使其能抵消中間變量的右移舍入,shift值是DCT輸出時需要將數據右移舍入的位數。
5.根據權利要求1所述的一種HEVC/H.265的DCT變換和反變換的SIMD優化方法,其特征在于,所述第六步中,采用并行的加法和右移運算以及數據重組,并行完成對點乘計算結果進行右移舍入操作。
6.根據權利要求5所述的一種HEVC/H.265的DCT變換和反變換的SIMD優化方法,其特征在于,所述第六步中,右移舍入計算如式(2):
式中:x是需要執行右移舍入的數據,y是執行完右移舍入的結果;offset是用于四舍五入的補償值,由右移位數shift推導而來,shift值由DCT變換塊的大小N(4,8,16,32)和數據位寬B(8bit,10bit)推導而來,水平方向horizontal的shift值和N,B有關,而豎直方向vertical的shift值和N有關,根據shift值的不同來判斷一維DCT變換的方向:水平還是豎直;error是執行右移舍入操作產生的最大誤差。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海交通大學,未經上海交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410608208.1/1.html,轉載請聲明來源鉆瓜專利網。





