[發明專利]一種屏幕內容視頻的壓縮方法有效
| 申請號: | 201910022363.8 | 申請日: | 2019-01-09 |
| 公開(公告)號: | CN109743570B | 公開(公告)日: | 2021-07-06 |
| 發明(設計)人: | 施云惠;王元嵩;丁文鵬;尹寶才 | 申請(專利權)人: | 北京工業大學 |
| 主分類號: | H04N19/122 | 分類號: | H04N19/122;H04N19/176;H04N19/51 |
| 代理公司: | 北京思海天達知識產權代理有限公司 11203 | 代理人: | 吳蔭芳 |
| 地址: | 100124 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 屏幕 內容 視頻 壓縮 方法 | ||
1.一種屏幕內容視頻的壓縮方法,基于HEVC框架,對其中基于哈希的幀間預測進行了改進,其特征在于,包括以下步驟:
(1)編碼器在獲取當前編碼幀后,計算當前編碼幀中每個圖像塊的兩個哈希值,即循環冗余校驗碼和局部敏感哈希值,其中循環冗余校驗碼用來在參考幀中匹配與當前編碼塊相同的圖像塊;其中局部敏感哈希值用來在參考幀中匹配與當前編碼塊相似的圖像塊;
(2)根據(1)中生成的哈希值為當前編碼幀生成哈希圖,圖中每個坐標存儲當前編碼幀中以該坐標為左上角的所有圖像塊的哈希值;
(3)根據(2)中生成的哈希圖為當前編碼幀生成哈希表;
(4)按照當前編碼塊的尺寸和在當前編碼幀中的坐標,從(2)中生成的哈希圖獲取當前編碼塊的哈希值;
(5)在參考幀中為當前編碼塊匹配參考塊;
(6)HEVC將步驟(5)在參考幀中為當前編碼塊匹配到的參考塊作為當前編碼塊在參考幀中的運動估計結果,并根據這個結果完成當前編碼塊后續的編碼過程;
其中,所述步驟(1)中:
所述的圖像塊為任意位置的尺寸為8*8,16*16,32*32和64*64的像素塊;
所述的循環冗余校驗碼是由HEVC編碼器的循環冗余校驗碼函數生成的,是一個40位二進制數,
所述的局部敏感哈希值Hash由16位二進制數Hfp和Hlp組成,即
Hash=(Hfp<<16)+Hlp
其中
Hfp由兩個八位二進制數r和c構成,即Hfp=(r<<8)+c
其中,r中第j位二進制數字的計算方式用公式(1)表示
表示異或操作,
c中第i位二進制數字的計算方式用公式(2)表示
其中表示異或操作,
L為二值化矩陣,具體計算方法如下:
首先,提取圖像塊的亮度分量,即Y分量,并將得到的亮度分量矩陣均勻下采樣至8*8尺寸,即得到一個8*8的整數矩陣B;
接下來,計算B中所有數值的平均值Ave,比較矩陣B中每個數值與Ave的大小,如果B中坐標為(i,j)的數值大于Ave,則L矩陣中坐標為(i,j)的值被設定為1;否則,L矩陣中坐標為(i,j)的值被設定為0,i,j為1到8的整數;
Hlp是一個16位二進制數,其計算方法具體如下:
首先,將L逐行掃描到一個64維的向量中;
接下來,定義一個哈希函數的族:即從高斯分布中選擇16個64維隨機向量其中1≤i≤16
最后,利用每個隨機向量得到Hlp的第i個二進制位用公式(4)表示
其中表示向量與向量點乘;
其中,所述步驟(2)中:
所述的圖像塊為任意位置的尺寸為8*8,16*16,32*32和64*64的像素塊,
所述的當前編碼幀的哈希圖是一個矩陣,
其中
所述矩陣的寬度與當前編碼幀的水平像素數相等,矩陣的高度與當前編碼幀的垂直像素數相等;
所述矩陣中的每個位置,存儲以該位置坐標為左上角的圖像塊的哈希值,即循環冗余校驗碼和局部敏感哈希值;
其中,所述步驟(3)中:
所述哈希表共分兩個:
第一個用來儲存當前編碼幀中所有圖像塊位置及其循環冗余校驗碼,第二個用來儲存當前編碼幀中所有圖像塊位置及其局部敏感哈希值,
兩個哈希表結構相同,首先每個哈希表中都包含218個記錄,每個記錄中又存儲一個單向鏈表;
所述的第一個哈希表的生成方法如下:
首先得到這個圖像塊的左上角像素在當前編碼幀中的坐標;
接下來,在哈希圖中按照圖像塊的坐標和尺寸找到這個圖像塊的循環冗余校驗碼;
接下來,根據圖像塊的尺寸決定圖像塊的尺寸碼,所述尺寸碼是一個2位二進制數,當圖像塊尺寸為8*8時,它的尺寸碼是00;當圖像塊尺寸為16*16時,它的尺寸碼是01;當圖像塊尺寸為32*32時,它的尺寸碼是10;當圖像塊尺寸為64*64時,它的尺寸碼是11;
接下來,截取圖像塊循環冗余校驗碼的高16位二進制數值與尺寸碼拼接作為圖像塊應該存儲在哈希表中記錄的索引,其中,所述索引的生成方法如下:將圖像塊的尺寸碼作為索引的高兩位,將圖像塊的循環冗余校驗碼的高16位作為索引的低16位;
接下來,在哈希表中找到索引所對應的記錄并得到記錄中存儲的單向鏈表,并將圖像塊的坐標信息和循環冗余校驗碼的低24位存儲到單向鏈表的尾部;
對當前編碼幀中所有圖像塊進行如上操作,生成第一個哈希表;
所述的第二個哈希表的生成方法如下:
首先得到這個圖像塊的左上角像素在當前編碼幀中的坐標;
接下來,在哈希圖中按照圖像塊的坐標和尺寸找到這個圖像塊的局部敏感哈希值;
接下來,根據圖像塊的尺寸決定圖像塊的尺寸碼,所述尺寸碼是一個2位二進制數,當圖像塊尺寸為8*8時,它的尺寸碼是00;當圖像塊尺寸為16*16時,它的尺寸碼是01;當圖像塊尺寸為32*32時,它的尺寸碼是10;當圖像塊尺寸為64*64時,它的尺寸碼是11;
接下來,用圖像塊局部敏感哈希值的Hfp與尺寸碼拼接作為圖像塊應該存儲在哈希表中記錄的索引,其中,所述索引的生成方法如下:將圖像塊的尺寸碼作為索引的高兩位,將圖像塊的Hfp作為索引的低16位;
接下來,在哈希表中找到索引所對應的記錄并得到記錄中存儲的單向鏈表,并將圖像塊的坐標信息和Hlp存儲到單向鏈表的尾部;
對當前編碼幀中所有圖像塊進行如上操作,生成第二個哈希表;
其中,所述步驟(4)具體如下:
首先得到當前編碼塊左上角在當前編碼幀中的坐標A和當前編碼塊的尺寸;
接下來,在(2)中生成的哈希圖中找到坐標A,并根據當前編碼塊的尺寸找到當前編碼塊的循環冗余校驗碼和局部敏感哈希值;
接下來,為當前編碼塊生成尺寸碼;當前圖像塊尺寸為8*8時,它的尺寸碼是00;當前圖像塊尺寸為16*16時,它的尺寸碼是01;當前圖像塊尺寸為32*32時,它的尺寸碼是10;當前圖像塊尺寸為64*64時,它的尺寸碼是11;
接下來,為當前編碼塊生成在參考幀的第一個哈希表中的索引,其中,所述索引的生成方法如下:將圖像塊的尺寸碼作為索引的高兩位,將圖像塊的循環冗余校驗碼的高16位作為索引的低16位;其中,所述的參考幀由HEVC編碼器中當前編碼幀的參考幀列表中選取;
接下來,為當前編碼塊生成在參考幀的第二個哈希表中的索引,其中,所述索引的生成方法如下:將當前圖像塊的尺寸碼作為索引的高兩位,將當前圖像塊的Hfp作為索引的低16位;
最后,根據生成的索引,在第一個哈希表和第二個哈希表中得到當前編碼塊的哈希值;
其中,所述步驟(5)具體包括:
首先,在參考幀中為當前編碼塊匹配相同的圖像塊,即找到步驟(4)中生成的當前編碼塊在參考幀第一個哈希表中的索引所對應的記錄,并在記錄中的單向鏈表中查找與當前編碼塊的循環冗余校驗碼低24位相同的圖像塊;如果哈希表中存在這樣的圖像塊,則繼續步驟(6);其中,與當前編碼塊相同的圖像塊是指參考幀中與當前編碼塊對應位置像素都相等的圖像塊;
如果無法找到完全相同的圖像塊,則在參考幀中為當前編碼塊匹配相似圖像塊,即找到步驟(4)中生成的當前編碼塊在參考幀第二個哈希表中的索引所對應的記錄,并在記錄中的單向鏈表中查找與當前編碼塊的Hlp相同的圖像塊,如果哈希表中存在這樣的圖像塊,則繼續步驟(6);其中,與當前編碼塊相似的圖像塊是指參考幀中與當前編碼塊對應位置像素超過90%相同的圖像塊,
如果上述兩種情況都不滿足,則在參考幀中為當前編碼塊進行傳統的運動估計,找到參考塊后繼續步驟(6)。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京工業大學,未經北京工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910022363.8/1.html,轉載請聲明來源鉆瓜專利網。
- 內容再現系統、內容提供方法、內容再現裝置、內容提供裝置、內容再現程序和內容提供程序
- 內容記錄系統、內容記錄方法、內容記錄設備和內容接收設備
- 內容服務系統、內容服務器、內容終端及內容服務方法
- 內容分發系統、內容分發裝置、內容再生終端及內容分發方法
- 內容發布、內容獲取的方法、內容發布裝置及內容傳播系統
- 內容提供裝置、內容提供方法、內容再現裝置、內容再現方法
- 內容傳輸設備、內容傳輸方法、內容再現設備、內容再現方法、程序及內容分發系統
- 內容發送設備、內容發送方法、內容再現設備、內容再現方法、程序及內容分發系統
- 內容再現裝置、內容再現方法、內容再現程序及內容提供系統
- 內容記錄裝置、內容編輯裝置、內容再生裝置、內容記錄方法、內容編輯方法、以及內容再生方法





