視頻數據壓縮和解壓縮的方法、裝置、設備和系統的製作方法
2023-10-09 00:10:44 1
專利名稱:視頻數據壓縮和解壓縮的方法、裝置、設備和系統的製作方法
技術領域:
本發明涉及計算機技術領域,特別涉及一種視頻數據壓縮和解壓縮的方法、裝置、設備和系統。
背景技術:
隨著多媒體技術和網絡技術的不斷發展,通過網絡進行大量的數據傳輸變得越來越方便。但是,資訊時代帶來了「信息爆炸」,使數據量大增,因此,無論傳輸或存儲都需要對數據進行有效的壓縮。在實際應用中,通常使用圖像壓縮技術對原始視頻數據進行壓縮,以期在數據傳輸中獲得更小的傳輸帶寬或者存儲過程中佔用較少的空間,壓縮數據在送往顯示之前,通過解壓縮技術將壓縮數據轉換為原始視頻數據。本領域中常用的數據壓縮算法是變遊程編碼算法,即把原始視頻數據中連續出現的具有相同的高位灰度值的像素點用高位灰度值和連續長度值的方式來表示,解壓縮則是 壓縮數據的逆過程,把高位灰度值和連續的長度值表示的像素數據換成視頻數據。在實現本發明的過程中,發明人發現現有技術至少存在以下問題變遊程編碼算法在壓縮過程由於只採用了像素點的高位灰度值,忽略了低位數值,雖然增加了編碼的效率,但是丟失了原始視頻中的圖像細節信息,那麼解壓縮後的圖像不能很好地恢復原始圖像中的細節,降低了圖像的品質。
發明內容
為了解決視頻壓縮帶來的丟失圖像細節信息的問題,本發明實施例提供了一種視頻數據壓縮和解壓縮的方法、裝置、設備和系統。所述技術方案如下—方面,提供了一種視頻數據壓縮的方法,所述方法包括獲取視頻數據的圖像中像素點的灰度值;根據所述圖像中像素點的灰度值,對所述圖像中第一灰度值相同的多個連續像素點進行編碼,得到壓縮數據,所述壓縮數據攜帶所述多個連續像素點的灰度值中的第一灰度值、本次壓縮像素點個數以及所述多個連續像素點中第一個像素點的第二灰度值和最後一個像素點的第二灰度值;當所述視頻數據的每一幀圖像均經過壓縮時,結束視頻數據壓縮。根據所述圖像中像素點的灰度值,對所述圖像中第一灰度值相同的多個連續像素點進行編碼,得到壓縮數據,具體包括根據所述圖像中各個像素點的灰度值,確定所述圖像中第一灰度值相同的多個連續像素點,且所述多個連續像素點的個數在擴展位數要求的範圍之內;將所述多個連續像素點編碼為壓縮數據。所述第一個像素點的第二灰度值由所述第一個像素點中的指定位數組成,所述最後一個像素點的第二灰度值由所述最後一個像素點中的指定位數組成。所述壓縮數據還攜帶所述多個連續像素點中的多個中間像素點的第二灰度值。
所述多個中間像素點的第二灰度值由所述中間像素點的灰度值中的指定位數組成。一方面,提供了一種視頻數據解壓縮的方法,所述方法包括獲取視頻數據的壓縮數據,所述壓縮數據攜帶第一灰度值、壓縮像素點個數以及壓縮的多個連續像素點中的第一個像素點的第二灰度值和最後一個像素點的第二灰度值;獲取所述壓 縮數據中第一個像素點和最後一個像素點的灰度值;根據所述壓縮數據中的第一灰度值、壓縮像素點個數、第一個像素點的第二灰度值和最後一個像素點的第二灰度值,獲取所述壓縮的多個連續像素點中其他像素點的灰度值;當所述視頻數據的每一個壓縮數據均經過解壓縮時,結束視頻數據解壓縮。所述獲取所述壓縮數據中第一個像素點和最後一個像素點的灰度值,具體包括根據所述第一灰度值和所述第一個像素點的第二灰度值,計算所述第一個像素點的灰度值;根據所述第一灰度值和所述最後一個像素點的第二灰度值,計算最後一個像素點的灰度值。所述根據所述壓縮數據中的第一灰度值、壓縮像素點個數、第一個像素點的第二灰度值和最後一個像素點的第二灰度值,獲取所述壓縮的多個連續像素點中其他像素點的灰度值,包括計算所述第一個像素點的第二灰度值和所述最後一個像素點的第二灰度值的差值,通過所述差值除以所述壓縮像素點個數,獲得線性插值的增量;根據本次解壓縮中的其他像素點和所述第一個像素點的距離,以及所述線性插值的增量,依次計算所述本次解壓縮中的其他像素點的灰度值。所述壓縮數據還包括多個中間像素點的第二灰度值。所述根據所述壓縮數據中的第一灰度值、壓縮像素點個數、第一個像素點的第二灰度值和最後一個像素點的第二灰度值,獲取所述壓縮的多個連續像素點中其他像素點的灰度值,包括計算所述第一個像素點的第二灰度值和第一個中間像素點的第二灰度值的差值,通過所述差值除以所述第一個像素點和第一個中間像素點包含的壓縮像素點個數,獲得第一線性插值的增量;根據本次解壓縮中的所述第一個像素點和中間像素點之間的像素點與所述第一個像素點的距離、以及所述第一線性插值的增量,依次計算所述本次解壓縮中所述第一個像素點和所述中間像素點之間的像素點的灰度值;計算相鄰的兩個中間像素點的第二灰度值的差值,通過所述差值除以所述相鄰的兩個中間像素點的壓縮像素點個數,獲得中間線性插值的增量;根據本次解壓縮中的所述相鄰的兩個中間像素點之間的像素點與相鄰的兩個中間像素點中位置在前面的像素點的距離、以及所述中間線性插值的增量,依次計算所述相鄰的兩個中間像素點之間的像素點的灰度值;計算最後一個中間像素點的第二灰度值和最後一個像素點的第二灰度值的差值,通過所述差值除以所述壓縮像素點個數,獲得第二線性插值的增量;根據本次解壓縮中的所述最後一個中間像素點和第二個像素點之間的像素點與所述 最後一個中間像素點的距離、以及所述第二線性插值的增量,依次計算所述本次解壓縮中所述最後一個中間像素點和所述第二個像素點之間的像素點的灰度值。一方面,提供了一種視頻數據壓縮的裝置,所述裝置包括獲取模塊,用於獲取視頻數據的圖像中像素點的灰度值;編碼模塊,用於根據所述圖像中像素點的灰度值,對所述圖像中第一灰度值相同的多個連續像素點進行編碼,得到壓縮數據,所述壓縮數據攜帶所述多個連續像素點的灰度值中的第一灰度值、本次壓縮像素點個數以及所述多個連續像素點中第一個像素點的第二灰度值和最後一個像素點的第二灰度值;所述編碼模塊還用於當所述視頻數據的每一幀圖像均經過壓縮時,結束視頻數據壓縮。所述編碼模塊具體用於根據所述圖像中各個像素點的灰度值,確定所述圖像中第一灰度值相同的多個連續像素點,且所述多個連續像素點的個數在長度擴展位數要求的範圍之內;將所述多個連續像素點編碼為壓縮數據。所述第一個像素點的第二灰度值由所述第一個像素點中的指定位數組成,所述最後一個像素點的第二灰度值由所述最後一個像素點中的指定位數組成。所述壓縮數據還攜帶所述多個連續像素點中的多個中間像素點的第二灰度值。所述多個中間像素點的第二灰度值由所述中間像素點的灰度值中的指定位數組成。—方面,提供了一種視頻數據壓縮的設備,所述設備包括處理器;所述處理器用於獲取視頻數據的圖像中像素點的灰度值;所述處理器還用於根據所述圖像中像素點的灰度值,對所述圖像中第一灰度值相同的多個連續像素點進行編碼,得到壓縮數據,所述壓縮數據攜帶所述多個連續像素點的灰度值中的第一灰度值、本次壓縮像素點個數以及所述多個連續像素點中第一個像素點的第二灰度值和最後一個像素點的第二灰度值;所述處理器還用於當所述視頻數據的每一幀圖像均經過壓縮時,結束視頻數據壓縮。所述處理器具體用於根據所述圖像中各個像素點的灰度值,確定所述圖像中第一灰度值相同的多個連續像素點,且所述多個連續像素點的個數在長度擴展位數要求的範圍之內;所述處理器還用於將所述多個連續像素點編碼為壓縮數據。所述第一個像素點的第二灰度值由所述第一個像素點中的指定位數組成,所述最後一個像素點的第二灰度值由所述最後一個像素點中的指定位數組成。所述壓縮數據還攜帶所述多個連續像素點中的多個中間像素點的第二灰度值。所述多個中間像素點的第二灰度值由所述中間像素點的灰度值中的指定位數組成。一方面,提供了一種視頻數據解壓縮的裝置,所述裝置包括獲取模塊,用於獲取視頻數據的壓縮數據,所述壓縮數據攜帶第一灰度值、壓縮像素點個數以及壓縮的多個連續像素點中的第一個像素點的第二灰度值和最後一個像素點的第二灰度值;所述解壓縮模塊還用於獲取所述壓縮數據中第一個像素點和最後一個像素點的灰度值;所述解壓縮模塊還用於根據所述壓縮數據中的第一灰度值、壓縮像素點個數、第一個像素點的第二灰度值和最後一個像素點的第二灰度值,獲取所述壓縮的多個連續像素點中其他像素點的灰度值;判斷模塊,用於當所述視頻數據的每一個壓縮數據均經過解壓縮時,結束視頻數據解壓縮。所述解壓縮模塊具體用於根據所述第一灰度值和所述第一個像素點的第二灰度 值,計算所述第一個像素點的灰度值;所述解壓縮模塊還用於根據所述第一灰度值和所述最後一個像素點的第二灰度值,計算最後一個像素點的灰度值。所述解壓縮模塊具體用於計算所述第一個像素點的第二灰度值和所述最後一個像素點的第二灰度值的差值,通過所述差值除以所述壓縮像素點個數,獲得線性插值的增量;所述解壓縮模塊還用於根據本次解壓縮中的其他像素點和所述第一個像素點的距離,以及所述線性插值的增量,依次計算所述本次解壓縮中的其他像素點的灰度值。所述壓縮數據還包括多個中間像素點的第二灰度值。所述解壓縮模塊具體用於計算所述第一個像素點的第二灰度值和第一個中間像素點的第二灰度值的差值,通過所述差值除以所述第一個像素點和第一個中間像素點包含的壓縮像素點個數,獲得第一線性插值的增量;所述解壓縮模塊還用於根據本次解壓縮中的所述第一個像素點和中間像素點之間的像素點與所述第一個像素點的距離、以及所述第一線性插值的增量,依次計算所述本次解壓縮中所述第一個像素點和所述中間像素點之間的像素點的灰度值;所述解壓縮模塊還用於計算相鄰的兩個中間像素點的第二灰度值的差值,通過所述差值除以所述相鄰的兩個中間像素點的壓縮像素點個數,獲得中間線性插值的增量;所述解壓縮模塊還用於根據本次解壓縮中的所述相鄰的兩個中間像素點之間的像素點與相鄰的兩個中間像素點中位置在前面的像素點的距離、以及所述中間線性插值的增量,依次計算所述相鄰的兩個中間像素點之間的像素點的灰度值;所述解壓縮模塊還用於計算最後一個中間像素點的第二灰度值和最後一個像素點的第二灰度值的差值,通過所述差值除以所述壓縮像素點個數,獲得第二線性插值的增量;所述解壓縮模塊還用於根據本次解壓縮中的所述最後一個中間像素點和第二個像素點之間的像素點與所述最後一個中間像素點的距離、以及所述第二線性插值的增量,依次計算所述本次解壓縮中所述最後一個中間像素點和所述第二個像素點之間的像素點的灰度值。一方面,提供了一種視頻數據解壓縮的設備,所述設備包括處理器;所述處理器用於獲取視頻數據的壓縮數據,所述壓縮數據攜帶第一灰度值、壓縮像素點個數以及壓縮的多個連續像素點中的第一個像素點的第二灰度值和最後一個像素點的第二灰度值;所述處理器還用於獲取所述壓縮數據中第一個像素點和最後一個像素點的灰度值;所述處理器還用於根據所述壓縮數據中的第一灰度值、壓縮像素點個數、第一個像素點的第二灰度值和最後一個像素點的第二灰度值,獲取所述壓縮的多個連續像素點中其他像素點的灰度值;所述處理器還用於當所述視頻數據的每一個壓縮數據均經過解壓縮時,結束視頻數據解壓縮。所述處理器還用於根據所述第一灰度值和所述第一個像素點的第二灰度值,計算所述第一個像素點的灰度值;所述處理器還用於根據所述第一灰度值和所述最後一個像素點的第二灰度值,計算最後一個像素點的灰度值。所述處理器具體用於計算所述第一個像素點的第二灰度值和所述最後一個像素點的第二灰度值的差值,通過所述差值除以所述壓縮像素點個數,獲得線性插值的增量;所述處理器還用於根據本次解壓縮中的其他像素點和所述第一個像素點的距離,以及所述線性插值的增量,依次計算所述本次解壓縮中的其他像素點的灰度值。所述壓縮數據還包括多個中間像素點的第二灰度值。所述處理器具體用於計算所述第一個像素點的第二灰度值和第一個中間像素點的第二灰度值的差值,通過所述差值除以所述第一個像素點和第一個中間像素點包含的壓縮像素點個數,獲得第一線性插值的增量;所述處理器還用於根據本次解壓縮中的所述第一個像素點和中間像素點之間的像素點與所述第一個像素點的距離、以及所述第一線性插值的增量,依次計算所述本次解壓縮中所述第一個像素點和所述中間像素點之間的像素點的灰度值;所述處理器還用於計算相鄰的兩個中間像素點的第二灰度值的差值,通過所述差值除以所述相鄰的兩個中間像素點的壓縮像素點個數,獲得中間線性插值的增量;所述處理器還用於根據本次解壓縮中的所述相鄰的兩個中間像素點之間的像素點與相鄰的兩個中間像素點中位置在前面的像素點的距離、以及所述中間線性插值的增量,依次計算所述相鄰的兩個中間像素點之間的像素點的灰度值;所述處理器還用於計算最後一個中間像素點的第二灰度值和最後一個像素點的第二灰度值的差值,通過所述差值除以所述壓縮像素點個數,獲得第二線性插值的增量;所述處理器還用於根據本次解壓縮中的所述最後一個中間像素點和第二個像素點之間的像素點與所述最後一個中間像素點的距離、以及所述第二線性插值的增量,依次計算所述本次解壓縮中所述最後一個中間像素點和所述第二個像素點之間的像素點的灰度值。另一方面,提供了一種視頻數據壓縮和解壓縮的系統,所述系統包括如上所述的視頻數據壓縮的設備和如上所述的視頻數據解壓縮的設備。本發明實施例提供的技術方案帶來的有益效果是本發明實施例採用的技術方案,在壓縮數據中增加了第一個像素點的第二灰度值和最後一個像素點的第二灰度值,以獲得更多的圖像細節信息,使得在解壓縮時可以較好地還原原始視頻數據,有效降低了存儲空間和佔用帶寬的同時,保證了解壓後的圖像可以獲得更好的圖像質量。
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖I是本發明實施例中提供的一種視頻數據壓縮的方法的流程圖;圖2a是本發明實施例中提供的一種壓縮數據格式的示意圖;圖2b是本發明實施例中提供的一種視頻數據壓縮的方法流程圖; 圖2c是本發明實施例中提供的一種視頻數據壓縮方法的流程圖;圖3a是本發明實施例中提供的一種壓縮數據格式的示意圖;圖3b是本發明實施例中提供的一種視頻數據壓縮的方法流程圖;圖3c是本發明實施例中提供的一種視頻數據壓縮的方法流程圖;圖4a是本發明實施例中提供的一種壓縮數據格式的示意圖;圖4b是本發明實施例中提供的一種視頻數據壓縮的方法流程圖;圖4c是本發明實施例中提供的一種視頻數據壓縮方法的流程圖;圖5是本發明實施例中提供的一種視頻數據解壓縮的方法流程圖;圖6是本發明實施例中提供的一種視頻數據解壓縮的方法流程圖;圖7是本發明實施例中提供的一種視頻數據解壓縮的方法流程圖;圖8是本發明實施例中提供的一種視頻數據壓縮的裝置結構示意圖;圖9是本發明實施例中提供的一種視頻數據壓縮的設備結構示意圖;圖10是本發明實施例中提供的一種視頻數據解壓縮的裝置結構示意圖;圖11是本發明實施例中提供的一種視頻數據解壓縮的設備結構示意圖;圖12是本發明實施例中提供的一種視頻數據壓縮和解壓縮的系統結構示意圖。
具體實施例方式為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方式作進一步地詳細描述。圖I是本發明實施例中提供的一種視頻壓縮的方法流程圖,參見圖1,所述方法包括101 :獲取視頻數據的圖像中像素點的灰度值;其中,所述視頻數據包括多幀圖像數據,每幀圖像數據中包含的像素點的灰度值由RGB三個通道的灰度值組成,在本發明實施例中涉及到的灰度值都是包含了 RGB三個通道的灰度值。102:根據所述圖像中像素點的灰度值,對所述圖像中第一灰度值相同的多個連續像素點進行編碼,得到壓縮數據,所述壓縮數據攜帶所述多個連續像素點的灰度值中的第一灰度值、本次壓縮像素點個數以及所述多個連續像素點中第一個像素點的第二灰度值和最後一個像素點的第二灰度值;其中,所述第一灰度值是由像素點的灰度值的指定高位組成,連續像素點是指在空間位置上具有相鄰關係的像素點,圖像中的像素點按行進行排序。在本發明實施例中,將每幀圖像的壓縮可以分為多次進行,將每幀圖像中具有相同第一灰度值的多個連續像素點進行編碼,如圖像中具有多組具有相同第一灰度值的多個連續像素點,則對該多組連續像素點進行編碼,而對於圖像中不具有相同第一灰度值的像素點,可以分別對其進行編碼,因此每幀圖像需要多次編碼才能壓縮完成。103 :當所述視頻數據的每一幀圖像均經過壓縮時,結束視頻數據壓縮。
對待壓縮的視頻數據中的每一幀圖像均執行步驟102中的壓縮,以得到壓縮後的視頻數據,該壓縮後的視頻數據可以包括多個壓縮數據。本發明實施例中提供的視頻壓縮方法,在壓縮數據中增加了第一個像素點的第二灰度值和最後一個像素點的第二灰度值,以獲得更多的圖像細節信息,使得在解壓縮時可以較好地還原原始視頻數據,有效降低存儲空間和佔用帶寬的同時,保證了解壓後的圖像可以獲得更好的圖像質量。圖2a是本發明實施例中提供的一種壓縮數據格式的示意圖。參照圖2a,所述壓縮數據包括第一灰度值LEVEL、擴展指示、擴展位、壓縮像素點個數、本次壓縮的第一個像素點的第二灰度值s和最後一個像素點的第二灰度值e。其中,第一列LEVEL代表第一灰度值,為8位的RGB三個通道的組合值,第二列為壓縮長度擴展指示,若此列中的數值在1-15之間則說明不做擴展,壓縮在一起的像素點數在0-15的範圍之內,若此列中的數值為0000,後面則用00、01、10、11來表示擴展位,說明壓縮在一起的像素點數可以擴展到8、10、18、22位,壓縮的像素點個數要在擴展位的範圍之內。8位s表示此次壓縮的第一個像素點的第二灰度值,8位e表示此次壓縮的最後一個像素點的第二灰度值,第二灰度值s和e的位數是可選的,但是要保證根據實際的中壓縮的像素點的多少進行合理地調節可以保證較高的壓縮比和解壓縮後獲得較高的圖像質量。圖2b是本發明實施例中提供的一種視頻數據壓縮的方法流程圖,在本實施例中的視頻數據包括多幀RGB (Red Green Blue,紅綠藍)彩色圖像,圖像的RGB三個通道的灰度值位數用m表示,則灰度範圍為0-2~m,以該視頻數據中的一幀圖像的壓縮為例說明視頻數據的壓縮過程。參見圖2b,所述方法包括201 :根據當前幀圖像,獲取該幀圖像的像素點個數;該步驟201是對圖像進行初始化的過程,初始化的數據包括圖像中像素點的總個數,在實際初始化操作過程中,該初始化的數據還包括計數器指針函數,計數器指針函數用於指向將要壓縮的像素點。為使本領域技術人員更好地理解具體的程序運行過程,對所述方法進行具體的舉例描述,參見圖2c,像素點的總個數用參數P_C來表示,P_C根據實際圖像的大小進行初始化,若圖像的大小為1024*1024,則?_0=1048576 ;計數器指針函數Count指向將要壓縮的像素點,初值賦為1,也即是Count=I,每壓縮一個像素點,Count的值加1,用於判斷所述幀圖像中的像素點是否壓縮完成,Cnt為每次編碼的像素點個數,其初始值為1,即Cnt=l。202 :獲取本次編碼的第一灰度值和第一個像素點的第二灰度值;
根據此次編碼的第一個像素點的灰度值,獲取所述第一灰度值、所述第一個像素點的第二灰度值,將所述第一灰度值和第一個像素點的第二灰度值放入此次壓縮數據中。其中,此次編碼的第一灰度值是所述此次編碼的第一個像素點的第一灰度值,第一灰度值具有固定位數(如8位),該第一灰度值由RGB三個通道的灰度值的高位數值組成的,可通過從RGB三個通道的灰度值的高位數值中任意取值組成,具體地,根據所述第一個像素點的RGB各個通道的灰度值,分別從各個通道的灰度值的m位數中取出指定的高位數值,組成所述第一個像素點的第一灰度值,則第一灰度值可以表示成RnlGn2Bn3的形式,用於判斷相鄰像素點是否可以和所述像素點壓縮在一起,所述nl、n2、n3可以取不同的數值,也可以取相同數值。下面是對第一灰度值的舉例說明,其中nl=3,n2=3, n3=2,則有R3=R8 5 ;G3=G8 5 ;
B2=B8 6 ;LEVEL= (R3 5) + (G3 2) +B2 ;其中,R8、G8、B8分別表示8bit的原始視頻數據中的R、G、B分量;R3、G3、B2分別表示 R8、G8、B8 中最高 3bit (即 bill bit5)、3bit、2bit,LEVEL 表示第一灰度值,由 RGB中的指定的高位數據組成,>> 和〈〈分別表示右移和左移,通過右移和左移運算得到第一灰度值。所述第一個像素點的第二灰度值由所述第一個像素點中的指定位數組成,第二灰度值位數是可變的(如4,6,8等),需要根據實際的壓縮的像素點數進行調節,該第二灰度值由RGB三個通道的灰度值的指定位數組成的,可通過從RGB三個通道的灰度值的指定位數值中任意取值組成,具體地,從所述第一個像素點的RGB灰度值的m位數中取出指定位數值作為第一灰度值後,從剩餘的位數值中取指定的高xl, x2, x3位作為所述第一個像素點的第二灰度值,則所述第一個像素點的第二灰度值可以表示成RxlGx2Bx3的形式,具體用於在解壓縮時提高圖像的細節,所述xl,x2,x3可以取不同的數值,也可以取相同數值。下面是對第一個像素點的第二灰度值的舉例說明,其中xl=2,x2=3, x3=3,則有sr2=(R8 3) > >6 ;sg3=(G8 3) 5 ;sb3=(B8 2) 5 ;s=(sr2<<6)+(sg3< >6 ;eg3=(G8 3) > >5 ;eb3=(B8 2) 5 ;e= (er2<<6) + (eg3<<3) +eb3;其中,6^、683、6匕3分別表示從下一個像素點的1 8、68、88中中取出2bit、3bit、3bit作為第二灰度值的分量,e表示最後一個像素點的第二灰度值,由下一個像素點的灰度值通過左移和右移運算結果組成。其中,表I為第一灰度值和第二灰度值位數的選取示意表。以紅色分量R為例,下表所示m=8, nl可取小於8的數,比如3或者2 ;而當nl=3時,xl和yl可在R8-R3中取5、4、3 等。表I
權利要求
1.一種視頻數據壓縮的方法,其特徵在於,所述方法包括獲取視頻數據的圖像中像素點的灰度值;根據所述圖像中像素點的灰度值,對所述圖像中第一灰度值相同的多個連續像素點進行編碼,得到壓縮數據,所述壓縮數據攜帶所述多個連續像素點的灰度值中的第一灰度值、 本次壓縮像素點個數以及所述多個連續像素點中第一個像素點的第二灰度值和最後一個像素點的第二灰度值;當所述視頻數據的每一幀圖像均經過壓縮時,結束視頻數據壓縮。
2.根據權利要求I所述的方法,其特徵在於,根據所述圖像中像素點的灰度值,對所述圖像中第一灰度值相同的多個連續像素點進行編碼,得到壓縮數據,具體包括根據所述圖像中各個像素點的灰度值,確定所述圖像中第一灰度值相同的多個連續像素點,且所述多個連續像素點的個數在長度擴展位數要求的範圍之內;將所述多個連續像素點編碼為壓縮數據。
3.根據權利要求I所述的方法,其特徵在於,所述第一個像素點的第二灰度值由所述第一個像素點中的指定位數組成,所述最後一個像素點的第二灰度值由所述最後一個像素點中的指定位數組成。
4.根據權利要求1-3任一項所述的方法,其特徵在於,所述壓縮數據還攜帶所述多個連續像素點中的多個中間像素點的第二灰度值。
5.根據權利要求4所述的方法,其特徵在於,所述多個中間像素點的第二灰度值由所述中間像素點的灰度值中的指定位數組成。
6.一種視頻數據解壓縮的方法,其特徵在於,所述方法包括獲取視頻數據的壓縮數據,所述壓縮數據攜帶第一灰度值、壓縮像素點個數以及壓縮的多個連續像素點中的第一個像素點的第二灰度值和最後一個像素點的第二灰度值;獲取所述壓縮數據中第一個像素點和最後一個像素點的灰度值;根據所述壓縮數據中的第一灰度值、壓縮像素點個數、第一個像素點的第二灰度值和最後一個像素點的第二灰度值,獲取所述壓縮的多個連續像素點中其他像素點的灰度值; 當所述視頻數據的每一個壓縮數據均經過解壓縮時,結束視頻數據解壓縮。
7.根據權利要求6所述的方法,其特徵在於,獲取所述壓縮數據中第一個像素點和最後一個像素點的灰度值,具體包括根據所述第一灰度值和所述第一個像素點的第二灰度值,計算所述第一個像素點的灰度值;根據所述第一灰度值和所述最後一個像素點的第二灰度值,計算最後一個像素點的灰度值。
8.根據權利要求6所述,其特徵在於,根據所述壓縮數據中的第一灰度值、壓縮像素點個數、第一個像素點的第二灰度值和最後一個像素點的第二灰度值,獲取所述壓縮的多個連續像素點中其他像素點的灰度值,包括計算所述第一個像素點的第二灰度值和所述最後一個像素點的第二灰度值的差值,通過所述差值除以所述壓縮像素點個數,獲得線性插值的增量;根據本次解壓縮中的其他像素點和所述第一個像素點的距離,以及所述線性插值的增量,依次計算所述本次解壓縮中的其他像素點的灰度值。
9.根據權利要求6-8任一項所述的方法,其特徵在於,所述壓縮數據還包括多個中間像素點的第二灰度值。
10.根據權利要求9所述的方法,其特徵在於,所述根據所述壓縮數據中的第一灰度值、壓縮像素點個數、第一個像素點的第二灰度值和最後一個像素點的第二灰度值,獲取所述壓縮的多個連續像素點中其他像素點的灰度值,包括計算所述第一個像素點的第二灰度值和第一個中間像素點的第二灰度值的差值,通過所述差值除以所述第一個像素點和第一個中間像素點包含的壓縮像素點個數,獲得第一線性插值的增量;根據本次解壓縮中的所述第一個像素點和中間像素點之間的像素點與所述第一個像素點的距離、以及所述第一線性插值的增量,依次計算所述本次解壓縮中所述第一個像素點和所述中間像素點之間的像素點的灰度值;計算相鄰的兩個中間像素點的第二灰度值的差值,通過所述差值除以所述相鄰的兩個中間像素點的壓縮像素點個數,獲得中間線性插值的增量;根據本次解壓縮中的所述相鄰的兩個中間像素點之間的像素點與相鄰的兩個中間像素點中位置在前面的像素點的距離、以及所述中間線性插值的增量,依次計算所述相鄰的兩個中間像素點之間的像素點的灰度值;計算最後一個中間像素點的第二灰度值和最後一個像素點的第二灰度值的差值,通過所述差值除以所述壓縮像素點個數,獲得第二線性插值的增量;根據本次解壓縮中的所述最後一個中間像素點和第二個像素點之間的像素點與所述最後一個中間像素點的距離、以及所述第二線性插值的增量,依次計算所述本次解壓縮中所述最後一個中間像素點和所述第二個像素點之間的像素點的灰度值。
11.一種視頻數據壓縮的裝置,其特徵在於,所述裝置包括獲取模塊,用於獲取視頻數據的圖像中像素點的灰度值;編碼模塊,用於根據所述圖像中像素點的灰度值,對所述圖像中第一灰度值相同的多個連續像素點進行編碼,得到壓縮數據,所述壓縮數據攜帶所述多個連續像素點的灰度值中的第一灰度值、本次壓縮像素點個數以及所述多個連續像素點中第一個像素點的第二灰度值和最後一個像素點的第二灰度值;所述編碼模塊,還用於當所述視頻數據的每一幀圖像均經過壓縮時,結束視頻數據壓縮。
12.根據權利要求11所述的裝置,其特徵在於,所述編碼模塊具體用於根據所述圖像中各個像素點的灰度值,確定所述圖像中第一灰度值相同的多個連續像素點,且所述多個連續像素點的個數在長度擴展位數要求的範圍之內;所述編碼模塊還用於將所述多個連續像素點編碼為壓縮數據。
13.根據權利要求11所述的裝置,其特徵在於,所述第一個像素點的第二灰度值由所述第一個像素點中的指定位數組成,所述最後一個像素點的第二灰度值由所述最後一個像素點中的指定位數組成。
14.根據權利要求11-13任一項所述的裝置,其特徵在於,所述壓縮數據還攜帶所述多個連續像素點中的多個中間像素點的第二灰度值。
15.根據權利要求14所述的裝置,其特徵在於,所述多個中間像素點的第二灰度值由3所述中間像素點的灰度值中的指定位數組成。
16.一種視頻數據壓縮的設備,其特徵在於,所述設備包括處理器;所述處理器用於獲取視頻數據的圖像中像素點的灰度值;所述處理器還用於根據所述圖像中像素點的灰度值,對所述圖像中第一灰度值相同的多個連續像素點進行編碼,得到壓縮數據,所述壓縮數據攜帶所述多個連續像素點的灰度值中的第一灰度值、本次壓縮像素點個數以及所述多個連續像素點中第一個像素點的第二灰度值和最後一個像素點的第二灰度值;所述處理器還用於當所述視頻數據的每一幀圖像均經過壓縮時,結束視頻數據壓縮。
17.根據權利要求16所述的設備,其特徵在於,所述處理器具體用於根據所述圖像中各個像素點的灰度值,確定所述圖像中第一灰度值相同的多個連續像素點,且所述多個連續像素點的個數在長度擴展位數要求的範圍之內;所述處理器還用於將所述多個連續像素點編碼為壓縮數據。
18.根據權利要求16所述的設備,其特徵在於,所述第一個像素點的第二灰度值由所述第一個像素點中的指定位數組成,所述最後一個像素點的第二灰度值由所述最後一個像素點中的指定位數組成。
19.根據權利要求16-18任一項所述的設備,其特徵在於,所述壓縮數據還攜帶所述多個連續像素點中的多個中間像素點的第二灰度值。
20.根據權利要求19所述的設備,其特徵在於,所述多個中間像素點的第二灰度值由所述中間像素點的灰度值中的指定位數組成。
21.一種視頻數據解壓縮的裝置,其特徵在於,所述裝置包括壓縮數據獲取模塊,用於獲取視頻數據的壓縮數據,所述壓縮數據攜帶第一灰度值、壓縮像素點個數以及壓縮的多個連續像素點中的第一個像素點的第二灰度值和最後一個像素點的第二灰度值;解壓縮模塊還用於獲取所述壓縮數據中第一個像素點和最後一個像素點的灰度值;所述解壓縮模塊還用於根據所述壓縮數據中的第一灰度值、壓縮像素點個數、第一個像素點的第二灰度值和最後一個像素點的第二灰度值,獲取所述壓縮的多個連續像素點中其他像素點的灰度值;所述解壓縮模塊,還用於當所述視頻數據的每一個壓縮數據均經過解壓縮時,結束視頻數據解壓縮。
22.根據權利要求21所述的裝置,其特徵在於,所述解壓縮模塊具體用於根據所述第一灰度值和所述第一個像素點的第二灰度值,計算所述第一個像素點的灰度值;所述解壓縮模塊還用於根據所述第一灰度值和所述最後一個像素點的第二灰度值,計算最後一個像素點的灰度值。
23.根據權利要求21所述的裝置,其特徵在於,所述解壓縮模塊具體用於計算所述第一個像素點的第二灰度值和所述最後一個像素點的第二灰度值的差值,通過所述差值除以所述壓縮像素點個數,獲得線性插值的增量;所述解壓縮模塊還用於根據本次解壓縮中的其他像素點和所述第一個像素點的距離, 以及所述線性插值的增量,依次計算所述本次解壓縮中的其他像素點的灰度值。
24.根據權利要求21-23任一項所述的裝置,其特徵在於,所述壓縮數據還包括多個4中間像素點的第二灰度值。
25.根據權利要求24所述的裝置,其特徵在於,所述解壓縮模塊具體用於計算所述第一個像素點的第二灰度值和第一個中間像素點的第二灰度值的差值,通過所述差值除以所述第一個像素點和第一個中間像素點包含的壓縮像素點個數,獲得第一線性插值的增量;所述解壓縮模塊還用於根據本次解壓縮中的所述第一個像素點和中間像素點之間的像素點與所述第一個像素點的距離、以及所述第一線性插值的增量,依次計算所述本次解壓縮中所述第一個像素點和所述中間像素點之間的像素點的灰度值;所述解壓縮模塊還用於計算相鄰的兩個中間像素點的第二灰度值的差值,通過所述差值除以所述相鄰的兩個中間像素點的壓縮像素點個數,獲得中間線性插值的增量;所述解壓縮模塊還用於根據本次解壓縮中的所述相鄰的兩個中間像素點之間的像素點與相鄰的兩個中間像素點中位置在前面的像素點的距離、以及所述中間線性插值的增量,依次計算所述相鄰的兩個中間像素點之間的像素點的灰度值;所述解壓縮模塊還用於計算最後一個中間像素點的第二灰度值和最後一個像素點的第二灰度值的差值,通過所述差值除以所述壓縮像素點個數,獲得第二線性插值的增量;所述解壓縮模塊還用於根據本次解壓縮中的所述最後一個中間像素點和第二個像素點之間的像素點與所述最後一個中間像素點的距離、以及所述第二線性插值的增量,依次計算所述本次解壓縮中所述最後一個中間像素點和所述第二個像素點之間的像素點的灰度值。
26.一種視頻數據解壓縮的設備,其特徵在於,所述設備包括處理器;所述處理器用於獲取視頻數據的壓縮數據,所述壓縮數據攜帶第一灰度值、壓縮像素點個數以及壓縮的多個連續像素點中的第一個像素點的第二灰度值和最後一個像素點的第二灰度值;所述處理器還用於獲取所述壓縮數據中第一個像素點和最後一個像素點的灰度值;所述處理器還用於根據所述壓縮數據中的第一灰度值、壓縮像素點個數、第一個像素點的第二灰度值和最後一個像素點的第二灰度值,獲取所述壓縮的多個連續像素點中其他像素點的灰度值;所述處理器還用於當所述視頻數據的每一個壓縮數據均經過解壓縮時,結束視頻數據解壓縮。
27.根據權利要求26所述的設備,其特徵在於,所述處理器具體用於根據所述第一灰度值和所述第一個像素點的第二灰度值,計算所述第一個像素點的灰度值;所述處理器還用於根據所述第一灰度值和所述最後一個像素點的第二灰度值,計算最後一個像素點的灰度值。
28.根據權利要求26所述的設備,其特徵在於,所述處理器具體用於計算所述第一個像素點的第二灰度值和所述最後一個像素點的第二灰度值的差值,通過所述差值除以所述壓縮像素點個數,獲得線性插值的增量;所述處理器還用於根據本次解壓縮中的其他像素點和所述第一個像素點的距離,以及所述線性插值的增量,依次計算所述本次解壓縮中的其他像素點的灰度值。
29.根據權利要求26-28任一項所述的設備,其特徵在於,所述壓縮數據還包括多個中間像素點的第二灰度值。
30.根據權利要求29所述的設備,其特徵在於,所述處理器具體用於計算所述第一個像素點的第二灰度值和第一個中間像素點的第二灰度值的差值,通過所述差值除以所述第一個像素點和第一個中間像素點包含的壓縮像素點個數,獲得第一線性插值的增量;所述處理器還用於根據本次解壓縮中的所述第一個像素點和中間像素點之間的像素點與所述第一個像素點的距離、以及所述第一線性插值的增量,依次計算所述本次解壓縮中所述第一個像素點和所述中間像素點之間的像素點的灰度值;所述處理器還用於計算相鄰的兩個中間像素點的第二灰度值的差值,通過所述差值除以所述相鄰的兩個中間像素點的壓縮像素點個數,獲得中間線性插值的增量;所述處理器還用於根據本次解壓縮中的所述相鄰的兩個中間像素點之間的像素點與相鄰的兩個中間像素點中位置在前面的像素點的距離、以及所述中間線性插值的增量,依次計算所述相鄰的兩個中間像素點之間的像素點的灰度值;所述處理器還用於計算最後一個中間像素點的第二灰度值和最後一個像素點的第二灰度值的差值,通過所述差值除以所述壓縮像素點個數,獲得第二線性插值的增量;所述處理器還用於根據本次解壓縮中的所述最後一個中間像素點和第二個像素點之間的像素點與所述最後一個中間像素點的距離、以及所述第二線性插值的增量,依次計算所述本次解壓縮中所述最後一個中間像素點和所述第二個像素點之間的像素點的灰度值。
31.一種視頻數據壓縮和解壓縮的系統,其特徵在於,所述系統包括如權利要求 16-20任一項所述的視頻數據壓縮的設備和如權利要求26-30任一項所述的視頻數據解壓縮的設備。
全文摘要
本發明公開了一種視頻數據壓縮和解壓縮的方法、裝置、設備和系統,屬於計算機技術領域。所述方法包括在視頻壓縮過程中,壓縮數據中增加了本次編碼的第一個像素點的第二灰度值和最後一個像素點的第二灰度值,同時在解壓縮的時候,利用壓縮數據中的第一個像素點的第二灰度值和最後一個像素點的第二灰度值還原原始視頻數據,通過壓縮算法和線性插值的靈活平衡有效降低了存儲空間和佔用帶寬的同時,保證了解壓縮後的圖像可以獲得更好的圖像質量。
文檔編號H04N11/04GK102984517SQ20121047658
公開日2013年3月20日 申請日期2012年11月21日 優先權日2012年11月21日
發明者魯芳敏, 徐亞鵬 申請人:華為技術有限公司