一種圖像數據壓縮和解壓縮方法、裝置製造方法
2023-10-09 00:14:29 4
一種圖像數據壓縮和解壓縮方法、裝置製造方法
【專利摘要】本發明實施例提供一種數據壓縮和解壓縮方法、裝置,以提升編碼效率和壓縮效率。所述數據壓縮方法包括:將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值,所述像素最小值和像素最大值分別對應於第一量化階的量化階編號和第二量化階的量化階編號;將所述圖像塊每個像素的值映射為第三量化階的量化階編號;對所述像素最小值對應的第一量化階的量化階編號、所述像素最大值對應的第二量化階的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並寫入碼流。本發明實施例提供的方法顯著減少了編碼使用的比特數,大大提升了編碼效率和壓縮效率。
【專利說明】一種圖像數據壓縮和解壓縮方法、裝置
【技術領域】
[0001]本發明涉及圖像處理領域,尤其涉及一種圖像數據壓縮和解壓縮方法、裝置。
【背景技術】
[0002]隨著信息產業的不斷發展,流程工業中的信息量也急劇膨脹。在整個流程工業中所集成的數據採集點數通常有幾千到十幾萬,數據採集間隔要達到秒級,數據量很大。為了確保高效的數據存儲,在一定的精度指標下,應儘量減少數據的存儲,這就需要對數據進行壓縮處理。為了使工業資料庫系統快速、有效地管理數據,提高磁碟存儲效率,需要保證系統具有較高的壓縮率和快速的、高精度的數據解壓,必須進行有效的數據壓縮。
[0003]根據不同的編碼對原始文件數據產生不同的損失效果,可以將數據壓縮技術分為有損壓縮和無損壓縮兩大類,其中,有損壓縮是一種在壓縮損失過程中以損失一定的信息來換取較高壓縮比的壓縮方法。有損壓縮雖然不能完全恢復原始數據,但是這種數據壓縮技術是在損失數據對理解原始數據信息的影響不大的前提下獲取較大的壓縮比。因此,有損壓縮大部分應用於影音、圖像和視頻數據的壓縮,也應用於海量過程數據的壓縮。
[0004]現有的一種應用於圖像壓縮的有損壓縮方法是:將圖像被分成若干圖像數據塊,其中,每個圖像數據塊包含若干像素點;搜索待處理圖像塊像素的最大值和最小值;對於圖像數據塊的每一個像素點,減去最小像素點的值,並且根據量化範圍對應關係,取得差值的量化值;分別對最大值、最小值和每一個像素點的差值的量化值進行編碼。
[0005]本案發明人發現,上述現有技術提供的有損壓縮方法對最大值和最小值沒有進行壓縮,因此,壓縮率仍然較低。
【發明內容】
[0006]本發明實施例提供一種數據壓縮和解壓縮方法、裝置,以提升編碼效率和壓縮效率。
[0007]本發明實施例提供一種圖像數據壓縮方法,所述方法包括:將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值,所述像素最小值和像素最大值分別對應於第一量化階的量化階編號和第二量化階的量化階編號;將所述圖像塊每個像素的值映射為第三量化階的量化階編號,所述第三量化階是以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干量化階中一個量化階;對所述像素最小值對應的第一量化階的量化階編號、所述像素最大值對應的第二量化階的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並寫入碼流。
[0008]本發明實施例提供一種圖像數據解壓縮方法,所述方法包括:根據碼流中圖像塊像素最小值和像素最大值對應的量化階編號,解碼得到圖像塊像素最小值和像素最大值分別對應的第一量化值和第二量化值;根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和第二量化值,獲取以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階;根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號和所述每一第三量化階的邊界值,重構所述圖像塊每個像素以獲取所述圖像塊每個像素的值。
[0009]本發明實施例提供一種圖像數據壓縮裝置,所述裝置包括:量化模塊,用於將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值,所述像素最小值和像素最大值分別對應於第一量化階的量化階編號和第二量化階的量化階編號;映射模塊,用於將所述圖像塊每個像素的值映射為第三量化階的量化階編號,所述第三量化階是以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干量化階中一個量化階;編碼模塊,用於對所述像素最小值對應的第一量化階的量化階編號、所述像素最大值對應的第二量化階的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並寫入碼流。
[0010]本發明實施例提供一種圖像數據解壓縮裝置,所述裝置包括:解碼模塊,用於根據碼流中圖像塊像素最小值和像素最大值對應的量化階編號,解碼得到圖像塊像素最小值和像素最大值分別對應的第一量化值和第二量化值;獲取模塊,用於根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和第二量化值,獲取以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階;重構模塊,用於根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號和所述每一第三量化階的邊界值,重構所述圖像塊每個像素以獲取所述圖像塊每個像素的值。
[0011]從上述本發明實施例可知,由於對圖像塊像素最小值和像素最大值分別進行了量化,而圖像塊每個像素的值也映射為了某種量化階的量化階編號,最後的編碼對象是像素最小值對應的第一量化階的量化階編號、像素最大值對應的第二量化階的量化階編號和圖像塊每個像素的值映射所得量化階編號。與現有技術提供的不對最大值和最小值進行壓縮的有損壓縮方法相比,本發明實施例提供的方法顯著減少了編碼使用的比特數,大大提升了編碼效率和壓縮效率。
【專利附圖】
【附圖說明】
[0012]為了更清楚地說明本發明實施例的技術方案,下面將對現有技術或實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域技術人員來講,還可以如這些附圖獲得其他的附圖。
[0013]圖1是本發明實施例提供的圖像數據壓縮方法流程示意圖;
[0014]圖2a是本發明實施例提供的圖像塊包含的像素示意圖;
[0015]圖2b是本發明實施例提供的將以0和255為端值的量化區間劃分為16個量化階的不意圖;
[0016]圖2c是本發明實施例提供的將以第一量化值80和第二量化值192為端值的量化區間均勻劃分8個量化階的示意圖;
[0017]圖2d是本發明實施例提供的將像素的值映射為量化階編號的示意圖;
[0018]圖3是本發明實施例提供的圖像數據解壓縮方法流程示意圖;
[0019]圖4a是本發明實施例提供的在解碼端解碼得到圖像塊像素最小值和像素最大值分別對應的第一量化值和第二量化值的示意圖;[0020]圖4b是本發明實施例提供的重構圖像塊每個像素的值的示意圖;
[0021]圖4c是本發明實施例提供的壓縮前的像素的值和重構的像素的值對比示意圖;
[0022]圖5是本發明實施例提供的圖像數據壓縮裝置結構示意圖;
[0023]圖6是本發明另一實施例提供的圖像數據壓縮裝置結構示意圖;
[0024]圖7是本發明另一實施例提供的圖像數據壓縮裝置結構示意圖;
[0025]圖8是本發明另一實施例提供的圖像數據壓縮裝置結構示意圖;
[0026]圖9a是本發明另一實施例提供的圖像數據壓縮裝置結構示意圖;
[0027]圖9b是本發明另一實施例提供的圖像數據壓縮裝置結構示意圖;
[0028]圖9c是本發明另一實施例提供的圖像數據壓縮裝置結構示意圖;
[0029]圖10是本發明實施例提供的圖像數據解壓縮裝置結構示意圖;
[0030]圖11是本發明另一實施例提供的圖像數據解壓縮裝置結構示意圖;
[0031]圖12a是本發明另一實施例提供的圖像數據解壓縮裝置結構示意圖;
[0032]圖12b是本發明另一實施例提供的圖像數據解壓縮裝置結構示意圖。
【具體實施方式】
[0033]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域技術人員所獲得的所有其他實施例,都屬於本發明保護的範圍。
[0034]請參閱附圖1,是本發明實施例提供的圖像數據壓縮方法流程示意圖,主要包括步驟S101、步驟S102和步驟S103:
[0035]S101,將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值,所述像素最小值和像素最大值分別對應於第一量化階的量化階編號和第二量化階的量化階編號。
[0036]與現有技術不對圖像中具有最小值的像素和最大值的像素進行壓縮不同,在本發明實施例中,可以將待壓縮的圖像劃分為包含若干像素的獨立處理單元,然後,搜索該獨立處理單元內像素最小值和像素最大值,將像素最小值和像素最大值分別量化為第一量化值和第二量化值。
[0037]作為本發明一個實施例,在將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值時,可以是將圖像塊像素最小值量化為M個量化階(levelsofquantization)中第一量化階的邊界值,將圖像塊像素最大值量化為所述M個量化階中第二量化階的邊界值,其中,M為大於I的自然數。
[0038]以像素使用Sbit (位)表示為例,由於像素使用Sbit表示時,圖像塊像素最小值和像素最大值不會超過2 5 5 (=28 -1),因此,作為本發明一個實施例,在將圖像塊像素最小值量化為M個量化階(levels of quantization)中第一量化階的邊界值,將圖像塊像素最大值量化為所述M個量化階中第二量化階的邊界值時,可以先將以0和255為端值的量化區間均勻劃分為16個量化階,然後,將圖像塊像素最小值量化為這16個量化階中某個量化階的邊界值,該邊界值為第一量化值,將圖像塊像素最大值量化為這16個量化階中另一量化階的邊界值,該邊界值為第二量化值。為了區別和描述的方便,在以下的說明中,將圖像塊像素最小值量化為若干量化階中某個量化階的邊界值所對應的量化階稱為第一量化階,將圖像塊像素最大值量化為若干量化階中另一量化階的邊界值所對應的量化階稱為第二量化階,以下以圖像塊包含4X2個像素為例進行說明。
[0039]如附圖2a所示,圖像塊包含的8個像素的像素值分別為167、154、141、133、181、152、122和86,經搜索,像素最小值為86,像素最大值為181。不妨將以0和255為端值的量化區間劃分為16個量化階,如附圖2b所示,這裡,以0和255為端值的量化區間劃分為的16個量化階,量化階的個數16也可以被稱為量化階次。附圖2b示例的16個量化階的編號依次為0、1、2、3、4、5、6、7、8、9、10、11、12、13、14和15,其中,第0個量化階的邊界值(包括左邊界值和右邊界值)分別為0和16,第I個量化階的邊界值(包括左邊界值和右邊界值)分別為16和32,第2個量化階的邊界值(包括左邊界值和右邊界值)分別為32和48,第3個量化階的邊界值(包括左邊界值和右邊界值)分別為48和64,第4個量化階的邊界值(包括左邊界值和右邊界值)分別為64和80,第5個量化階的邊界值(包括左邊界值和右邊界值)分別為80和96,第6個量化階的邊界值(包括左邊界值和右邊界值)分別為96和112,第7個量化階的邊界值(包括左邊界值和右邊界值)分別為112和128,第8個量化階的邊界值(包括左邊界值和右邊界值)分別為128和144,第9個量化階的邊界值(包括左邊界值和右邊界值)分別為144和160,第10個量化階的邊界值(包括左邊界值和右邊界值)分別為160和176,第11個量化階的邊界值(包括左邊界值和右邊界值)分別為176和192,第12個量化階的邊界值(包括左邊界值和右邊界值)分別為192和208,第13個量化階的邊界值(包括左邊界值和右邊界值)分別為208和224,第14個量化階的邊界值(包括左邊界值和右邊界值)分別為224和240,第15個量化階的邊界值(包括左邊界值和右邊界值)分別為240和255。由於附圖2a示例的圖像塊像素最小值為86,在以左邊界值80和右邊界值96為端值的對應量化階之內,因此,圖像塊像素最小值對應的第一量化階的量化階編號為5 ;同理,附圖2a示例的圖像塊像素最大值為181,在以左邊界值176和右邊界值192為端值的對應量化階之內,因此,圖像塊像素最大值對應的第二量化階的量化階編號為U。
[0040]進一步,可以將附圖2a示例的圖像塊像素最小值量化為第5個量化階的左邊界值80,將附圖2a示例的圖像塊像素最大值量化為第11個量化階的右邊界值192,即附圖2a示例的圖像塊像素最小值所量化成的第一量化值為80,附圖2a示例的圖像塊像素最大值所量化成的第二量化值為192。
[0041]S102,將所述圖像塊每個像素的值映射為第三量化階的量化階編號,所述第三量化階是以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干量化階中一個量化階。
[0042]以第一量化值和第二量化值為端值的量化區間被均勻劃分若干量化階時,所劃分的量化階的數量可以根據圖像數據壓縮的精度要求而定,一般地,如果精度要求越高,即壓縮時損失的信息越少,則劃分的量化階的數量可以劃分得越多,反之,如果精度要求越小,即壓縮時損失的信息越大,則劃分的量化階的數量可以劃分得越少。在本發明實施例中,以第一量化值和第二量化值為端值的量化區間被均勻劃分若干量化階時,所劃分的量化階的數量可以與圖像塊包含的像素數量相等。
[0043]以附圖2a所示的圖像塊和附圖2b所示的第一量化值、第二量化值為例,可以將以第一量化值80和第二量化值192為端值的量化區間均勻劃分8個量化階,8個量化階的量化階編號依次為0、1、2、3、4、5、6和7,如附圖2c所示。這裡,以第一量化值80和第二量化值192為端值的量化區間劃分為的8個量化階,量化階的個數8也可以被稱為量化階次。附圖2c示例的量化階中,第O個量化階的邊界值(包括左邊界值和右邊界值)分別為O和94,第I個量化階的邊界值(包括左邊界值和右邊界值)分別為94和108,第2個量化階的邊界值(包括左邊界值和右邊界值)分別為108和122,第3個量化階的邊界值(包括左邊界值和右邊界值)分別為122和136,第4個量化階的邊界值(包括左邊界值和右邊界值)分別為136和150,第5個量化階的邊界值(包括左邊界值和右邊界值)分別為150和164,第6個量化階的邊界值(包括左邊界值和右邊界值)分別為164和178,第7個量化階的邊界值(包括左邊界值和右邊界值)分別為178和192。具體地,在將圖像塊每個像素的值映射為第三量化階的量化階編號時,若該像素的值落入某個第三量化階的左邊界值和右邊界值界定的範圍之內,則該像素的值就映射為該第三量化階的量化階編號,如附圖2d所示,由於像素值為141的像素的值落入附圖2c示例的8個第三量化階中第4個第三量化階的左邊界值136和右邊界值150界定的範圍之內,因此,像素值為141的像素的值所映射的第三量化階的量化階編號為4,同理,像素值為167的像素的值所映射的第三量化階的量化階編號為6,像素值為154的像素的值所映射的第三量化階的量化階編號為5,像素值為133的像素的值所映射的第三量化階的量化階編號為3,像素值為181的像素的值所映射的第三量化階的量化階編號為7,像素值為152的像素的值所映射的第三量化階的量化階編號為5,像素值為122的像素的值所映射的第三量化階的量化階編號為3,像素值為86的像素的值所映射的第三量化階的量化階編號為0,如附圖2d所示。
[0044]S103,對所述像素最小值對應的第一量化階的量化階編號、所述像素最大值對應的第二量化階的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並寫入碼流。
[0045]經過步驟SlOl和步驟S102,相對於現有技術,編碼像素最小值對應的第一量化階的量化階編號所使用的比特數明顯要少於編碼像素最小值所使用的比特數,編碼像素最大值對應的第一量化階的量化階編號所使用的比特數明顯要少於編碼像素最大值所使用的比特數,編碼圖像塊每個像素的值映射所得量化階編號所使用的比特數也要明顯少於編碼每個像素與最小像素的差值所使用的比特數。以附圖2a至附圖2d為例,使用本發明的方法,對像素最小值86對應的第一量化階的量化階編號5進行編碼只需要4比特(5=0100),對像素最大值171對應的第一量化階的量化階編號11進行編碼也只需要4比特(11=1011);由於附圖2a示例的圖像塊每個像素的值映射所得量化階編號最大值為7。因此,對附圖2a示例的圖像塊每個像素的值映射所得量化階編號進行編碼只需要3比特,對附圖2a示例的圖像塊所有像素的值映射所得量化階編號進行編碼總共需要的比特數為8X3即24比特,換言之,對附圖2a示例的圖像塊像素最小值對應的第一量化階的量化階編號、像素最大值對應的第二量化階的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼使用的比特數為4+4+24即32比特。而使用現有技術,則對附圖2a示例的圖像塊編碼使用的比特數為8+8+24即40比特,兩者相比,本發明實施例提供的方法顯著減少了編碼使用的比特數,大大提升了編碼效率。
[0046]從上述本發明實施例提供的圖像數據壓縮方法可知,由於對圖像塊像素最小值和像素最大值分別進行了量化,而圖像塊每個像素的值也映射為了某種量化階的量化階編號,最後的編碼對象是像素最小值對應的第一量化階的量化階編號、像素最大值對應的第二量化階的量化階編號和圖像塊每個像素的值映射所得量化階編號。與現有技術提供的不對最大值和最小值進行壓縮的有損壓縮方法相比,本發明實施例提供的方法顯著減少了編碼使用的比特數,大大提升了編碼效率和壓縮效率。
[0047]在前述實施例中,將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值時,第一量化階和第二量化階同屬於包含若干量化階的多個量化階中的兩個量化階,例如,第一量化階和第二量化階都屬於包含16個量化階的多個量化階中的兩個量化階。在本發明實施例中,第一量化階和第二量化階也可以屬於不同的多個量化階中的兩個量化階,例如,第一量化階屬於包含J個量化階的多個量化階中的一個量化階,第二量化階屬於包含K個量化階的多個量化階中的一個量化階,這裡,所述J與所述K為大於I且不相等的自然數。
[0048]作為將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值的另一實施例,可以將圖像塊像素最小值量化為J個量化階中第一量化階的邊界值,將圖像塊像素最大值量化為K個量化階中第二量化階的邊界值。例如,以附圖2a所示的包含4X2個像素的圖像塊為例,將圖像塊像素最小值86量化為以0和255為端值的量化區間被均勻劃分的32個第一量化階中一個第一量化階的邊界值,將圖像塊像素最大值181量化為以0和255為端值的量化區間被均勻劃分的16個第二量化階中一個第二量化階的邊界值,這裡,以0和255為端值的量化區間劃分為的32個第一量化階或16個第二量化階,量化階的個數16或32也可以被稱為量化階次。在本實施例中,像素最小值86量化為第一量化值時可以是80,其對應於32個第一量化階的量化階編號為10,像素最大值181量化為第二量化值時可以是192,其對應於16個第二量化階的量化階編號為11。在將所述圖像塊每個像素的值映射為第三量化階的量化階編號之前,進一步,判斷圖像塊像素最小值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最大值被量化成的邊界值對應的二進位數是否相等,或者,判斷圖像塊像素最大值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最小值被量化成的邊界值對應的二進位數是否相等。
[0049]若圖像塊中像素最小值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最大值被量化成的邊界值對應的二進位數不相等,則在上述實施例中,將所述像素最小值對應的第一量化階的量化階編號、所述像素最大值對應的第二量化階的量化階編號和所述圖像塊每個像素的值映射所得量化階編號寫入碼流包括:
[0050]判斷圖像塊像素最小值被量化成的邊界值對應的二進位數進行右移一位移除的是「I」還是「0」;若圖像塊像素最小值被量化成的邊界值對應的二進位數進行右移一位移除的是「1」,則對所述像素最小值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號、所述像素最大值被量化成的邊界值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流;若圖像塊像素最小值被量化成的邊界值對應的二進位數進行右移一位移除的是「0」,則對所述像素最大值被量化成的邊界值對應的量化階編號、將像素最小值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流。
[0051]在上述實施例中,也可以對編碼後的量化階編號寫入碼流的順序不做限定,例如,若圖像塊像素最小值被量化成的邊界值對應的二進位數進行右移一位移除的是「1」,也可以是對所述像素最大值被量化成的邊界值對應的量化階編號、所述像素最小值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流;若圖像塊像素最小值被量化成的邊界值對應的二進位數進行右移一位移除的是「O」,也可以對像素最小值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號、所述像素最大值被量化成的邊界值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流。
[0052]若判斷圖像塊像素最大值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最小值被量化成的邊界值對應的二進位數不相等,則所述將所述像素最小值對應的第一量化階的量化階編號、所述像素最大值對應的第二量化階的量化階編號和所述圖像塊每個像素的值映射所得量化階編號寫入碼流包括:判斷圖像塊像素最大值被量化成的邊界值對應的二進位數進行右移一位移除的是「I」還是「0」;若圖像塊像素最大值被量化成的邊界值對應的二進位數進行右移一位移除的是「1」,則對所述像素最大值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號、所述像素最小值被量化成的邊界值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流;若圖像塊像素最大值被量化成的邊界值對應的二進位數進行右移一位移除的是「0」,則對所述像素最小值被量化成的邊界值對應的量化階編號、將像素最大值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流。
[0053]類似地,也可以對編碼後的量化階編號寫入碼流的順序不做限定,例如,若圖像塊像素最大值被量化成的邊界值對應的二進位數進行右移一位移除的是「 1」,則也可以對所述像素最小值被量化成的邊界值對應的量化階編號、所述像素最大值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流;若圖像塊像素最大值被量化成的邊界值對應的二進位數進行右移一位移除的是「0」,也可以對像素最大值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號、所述像素最小值被量化成的邊界值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流。
[0054]在上述實施例中,實際上是通過數據隱藏技術,提高了像素最大值和像素最小值的量化精度,並提升了編碼效率。
[0055]在上述實施例中,判斷圖像塊中像素最小值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最大值被量化成的邊界值對應的二進位數相等,或者判斷圖像塊像素最大值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最小值被量化成的邊界值對應的二進位數相等,則這種情況下圖像數據壓縮方法與附圖1示例的相同,即將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值包括:將圖像塊像素最小值量化為M個量化階中第一量化階的邊界值,將圖像塊像素最大值量化為所述M個量化階中第二量化階的邊界值,所述M為大於I的自然數。後續進一步的處理過程與附圖1示例的步驟S102和步驟S 103包含的內容相同,這裡不做贅述,可參閱前文。
[0056]對應於附圖1示例的圖像數據壓縮方法,附圖3是本發明實施例提供的圖像數據解壓縮方法流程示意圖,主要包括步驟S301、步驟S302和步驟S303:
[0057]S301,根據碼流中圖像塊像素最小值和像素最大值對應的量化階編號,解碼得到圖像塊像素最小值和像素最大值分別對應的第一量化值和第二量化值。
[0058]由於編碼端和解碼端約定了圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值時使用的量化階次,因此,在解碼端,可以根據碼流中圖像塊像素最小值和像素最大值對應的量化階編號,解碼得到圖像塊像素最小值和像素最大值分別對應的第一量化值和第二量化值。以附圖2a所示的圖像塊為例,像素最小值86和像素最大值181對應的量化階編號分別為5和11,由於量化階次為16,故在解碼端可以解碼得到圖像塊像素最小值和像素最大值分別對應的第一量化值80和第二量化值192,如附圖4a所示。
[0059]S302,根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、圖像塊像素最小值對應的第一量化值和圖像塊像素最大值對應的第二量化值,獲取以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階。
[0060]由於編碼端和解碼端約定了圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次,因此,在解碼端,可以根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和第二量化值。以附圖2a所示的圖像塊為例,像素最小值86對應的第一量化值為80,像素最大值181對應的第二量化值為192,圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次為8,則以所述第一量化值80和第二量化值192為端值的量化區間被均勻劃分8個第三量化階,如附圖4b所示。
[0061]相應於將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值時,第一量化階和第二量化階屬於不同的多個量化階中的兩個量化階這一實施例,在解碼端,在根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和第二量化值,獲取以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階之前,需要判斷所述第一量化值和第二量化值是否相等;若所述第一量化值和第二量化值不相等並且先收到碼流中圖像塊像素最小值對應的量化階編號後收到碼流中圖像塊像素最大值對應的量化階編號,則將所述第一量化值對應的二進位數左移一位並且在末位補「 I 」,若所述第一量化值和第二量化值不相等並且先收到碼流中圖像塊像素最大值對應的量化階編號後收到碼流中圖像塊像素最小值對應的量化階編號,則將所述第一量化值對應的二進位數左移一位並且在末位補「O」。此時,根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和第二量化值,獲取以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階可以是:根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第二量化值和所述第一量化值對應的二進位數左移一位並且在末位補「0」或「I」後對應的十進位數,獲取以所述所述第一量化值對應的二進位數左移一位並且在末位補「0」或「I」後對應的十進位數和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階,具體方法與附圖4b及其對應的文字說明類似,不做贅述。
[0062]若所述第一量化值和第二量化值不相等並且先收到碼流中圖像塊像素最大值對應的量化階編號後收到碼流中圖像塊像素最小值對應的量化階編號,則將所述第二量化值對應的二進位數左移一位並且在末位補「 I 」,若所述第一量化值和第二量化值不相等並且先收到碼流中圖像塊像素最小值對應的量化階編號後收到碼流中圖像塊像素最大值對應的量化階編號,則將所述第二量化值對應的二進位數左移一位並且在末位補「O」。此時,根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和第二量化值,獲取以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階可以是:根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和所述第二量化值對應的二進位數左移一位並且在末位補「0」或「 I 」後對應的十進位數,獲取以所述第二量化值對應的二進位數左移一位並且在末位補「0」或「I」後對應的十進位數和第一量化值為端值的量化區間被均勻劃分的若干所述第三量化階,具體方法與附圖4b及其對應的文字說明類似,不做贅述。
[0063]S303,根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號和所述每一第三量化階的邊界值,重構所述圖像塊每個像素以獲取所述圖像塊每個像素的值。
[0064]具體地,可以取每一個量化階編號所對應第三量化階的左邊界值或右邊界值作為所述每一個量化階編號所對應像素的值。為了進一步提高重構所述圖像塊每個像素時獲取所述圖像塊每個像素的值的精度,也可以取每一個量化階編號所對應第三量化階的兩個邊界值,對所述兩個邊界值的平均值取整,以取整所得的值作為所述每一個量化階編號所對應像素的值。以附圖2d所示為例,像素值為141的像素的值所映射的第三量化階的量化階編號為4,像素值為167的像素的值所映射的第三量化階的量化階編號為6,像素值為154的像素的值所映射的第三量化階的量化階編號為5,像素值為133的像素的值所映射的第三量化階的量化階編號為3,像素值為181的像素的值所映射的第三量化階的量化階編號為7,像素值為152的像素的值所映射的第三量化階的量化階編號為5,像素值為122的像素的值所映射的第三量化階的量化階編號為3,像素值為86的像素的值所映射的第三量化階的量化階編號為0,那麼,在附圖4b示例的8個第三量化階中,量化階編號為4的第三量化階,其兩個邊界值(左邊界值和右邊界值)分別為136和150,則該兩個邊界值的平均值取整為(136+150)/2=143,即在編碼端進行壓縮時,像素值為141的像素在解碼端進行解壓縮時,重構後的像素的值為143,與壓縮前的像素值相差2 ;同理,量化階編號為6的第三量化階,其兩個邊界值(左邊界值和右邊界值)分別為164和178,則該兩個邊界值的平均值取整為(164+178)/2=171,即在編碼端進行壓縮時,像素值為167的像素在解碼端進行解壓縮時,重構後的像素的值為171,與壓縮前的像素值相差2 ;量化階編號為5的第三量化階,其兩個邊界值(左邊界值和右邊界值)分別為150和164,則該兩個邊界值的平均值取整為(150+164) /2=157,即在編碼端進行壓縮時,像素值為154的像素在解碼端進行解壓縮時,重構後的像素的值為157,與壓縮前的像素值相差3 ;量化階編號為3的第三量化階,其兩個邊界值(左邊界值和右邊界值)分別為122和136,則該兩個邊界值的平均值取整為(122+136)/2=129,即在編碼端進行壓縮時,像素值為133的像素在解碼端進行解壓縮時,重構後的像素的值為129,與壓縮前的像素值相差4 ;量化階編號為7的第三量化階,其兩個邊界值(左邊界值和右邊界值)分別為178和192,則該兩個邊界值的平均值取整為(178+192)/2=185,即在編碼端進行壓縮時,像素值為181的像素在解碼端進行解壓縮時,重構後的像素的值為185,與壓縮前的像素值相差4 ;量化階編號為5的第三量化階,其兩個邊界值(左邊界值和右邊界值)分別為150和164,則該兩個邊界值的平均值取整為(150+164)/2=157,即在編碼端進行壓縮時,像素值為152的像素在解碼端進行解壓縮時,重構後的像素的值為157,與壓縮前的像素值相差5 ;量化階編號為3的第三量化階,其兩個邊界值(左邊界值和右邊界值)分別為178和192,則該兩個邊界值的平均值取整為(122+136)/2=129,即在編碼端進行壓縮時,像素值為122的像素在解碼端進行解壓縮時,重構後的像素的值為129,與壓縮前的像素值相差7 ;量化階編號為O的第三量化階,其兩個邊界值(左邊界值和右邊界值)分別為80和94,則該兩個邊界值的平均值取整為(80+94)/2=87,即在編碼端進行壓縮時,像素值為86的像素在解碼端進行解壓縮時,重構後的像素的值為87,與壓縮前的像素值相差1,如附圖4c所示,是附圖2a所示圖像塊在解壓縮後對應像素的值示意圖。對於圖像數據的有損壓縮而言,這些差值是可以接受的。
[0065]請參閱附圖5,是本發明實施例提供的圖像數據壓縮裝置結構示意圖。為了便於說明,僅僅示出了與本發明實施例相關的部分。附圖5示例的圖像數據壓縮裝置包括量化模塊501、映射模塊502和編碼模塊503,其中:
[0066]量化模塊501,用於將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值,所述像素最小值和像素最大值分別對應於第一量化階的量化階編號和第二量化階的量化階編號。
[0067]映射模塊502,用於將所述圖像塊每個像素的值映射為第三量化階的量化階編號,所述第三量化階是以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干量化階中一個量化階。
[0068]編碼模塊503,用於對所述像素最小值對應的第一量化階的量化階編號、所述像素最大值對應的第二量化階的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並寫入碼流。
[0069]需要說明的是,以上圖像數據壓縮裝置的實施方式中,各功能模塊的劃分僅是舉例說明,實際應用中可以根據需要,例如相應硬體的配置要求或者軟體的實現的便利考慮,而將上述功能分配由不同的功能模塊完成,即將所述圖像數據壓縮裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。而且,實際應用中,本實施例中的相應的功能模塊可以是由相應的硬體實現,也可以由相應的硬體執行相應的軟體完成,例如,前述的量化模塊,可以是具有執行前述將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值的硬體,例如量化器,也可以是能夠執行相應電腦程式從而完成前述功能的一般處理器或者其他硬體設備;再如前述的映射模塊,可以是具有執行前述將所述圖像塊每個像素的值映射為第三量化階的量化階編號功能的硬體,例如映射器,也可以是能夠執行相應電腦程式從而完成前述功能的一般處理器或者其他硬體設備(本說明書提供的各個實施例都可應用上述描述原則)。
[0070]附圖5示例的量化模塊501可以包括第一量化單元601,如附圖6所示本發明另一實施例提供的圖像數據壓縮裝置。第一量化單元601用於將圖像塊像素最小值量化為M個量化階中第一量化階的邊界值,將圖像塊像素最大值量化為所述M個量化階中第二量化階的邊界值,所述M為大於I的自然數。
[0071]附圖5示例的量化模塊501也可以包括第二量化單元701,如附圖7所示本發明另一實施例提供的圖像數據壓縮裝置。第二量化單元701用於將圖像塊像素最小值量化為J個量化階中第一量化階的邊界值,將圖像塊像素最大值量化為K個量化階中第二量化階的邊界值,所述J與所述K為大於I且不相等的自然數。
[0072]附圖7示例的圖像數據壓縮裝置還可以包括第一判斷模塊801或第二判斷模塊802,如附圖8所示本發明另一實施例提供的圖像數據壓縮裝置,其中:
[0073]第一判斷模塊801,用於判斷圖像塊像素最小值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最大值被量化成的邊界值對應的二進位數是否相等。
[0074]第二判斷模塊802,用於判斷圖像塊像素最大值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最小值被量化成的邊界值對應的二進位數是否相等。
[0075]若附圖8示例的第一判斷模塊801判斷圖像塊中像素最小值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最大值被量化成的邊界值對應的二進位數不相等,則附圖8示例的編碼模塊503可以包括第一判斷單元901、第一編碼單元902和第二編碼單元903,如附圖9a所示本發明另一實施例提供的圖像數據壓縮裝置,其中:
[0076]第一判斷單元901,用於判斷圖像塊像素最小值被量化成的邊界值對應的二進位數進行右移一位移除的是「 I」還是「0」 ;
[0077]第一編碼單元902,用於若所述判斷單元901判斷圖像塊像素最小值被量化成的邊界值對應的二進位數進行右移一位移除的是「1」,則對像素最小值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號、所述像素最大值被量化成的邊界值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流,或者,對所述像素最大值被量化成的邊界值對應的量化階編號、所述像素最小值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流;
[0078]第二編碼單元903,用於若所述判斷單元901判斷圖像塊像素最小值被量化成的邊界值對應的二進位數進行右移一位移除的是「0」,則對所述像素最大值被量化成的邊界值對應的量化階編號、將像素最小值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流,或者,對像素最小值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號、所述像素最大值被量化成的邊界值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流。
[0079]若附圖8示例的第二判斷模塊802判斷圖像塊像素最大值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最小值被量化成的邊界值對應的二進位數不相等,則附圖8示例的編碼模塊503可以包括第二判斷單元904、第三編碼單元905和第四編碼單元906,如附圖9b所示本發明另一實施例提供的圖像數據壓縮裝置,其中:
[0080]第二判斷單元904,用於判斷圖像塊像素最大值被量化成的邊界值對應的二進位數進行右移一位移除的是「 I」還是「0」 ;
[0081]第三編碼單元905,用於若所述第二判斷單元904判斷圖像塊像素最大值被量化成的邊界值對應的二進位數進行右移一位移除的是「1」,則對所述像素最大值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號、所述像素最小值被量化成的邊界值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流,或者,對所述像素最小值被量化成的邊界值對應的量化階編號、所述像素最大值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流;
[0082]第四編碼單元906,用於若所述第二判斷單元904判斷圖像塊像素最大值被量化成的邊界值對應的二進位數進行右移一位移除的是「0」,則對所述像素最小值被量化成的邊界值對應的量化階編號、將像素最大值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流,或者,對像素最大值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號、所述像素最小值被量化成的邊界值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流。
[0083]若附圖8示例的第一判斷模塊801判斷圖像塊中像素最小值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最大值被量化成的邊界值對應的二進位數相等,或者,第二判斷模塊802判斷圖像塊像素最大值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最小值被量化成的邊界值對應的二進位數相等,則附圖8示例的量化模塊501可以包括第一量化單元601,如附圖9c所示本發明另一實施例提供的圖像數據壓縮裝置。第一量化單元601用於將圖像塊像素最小值量化為M個量化階中第一量化階的邊界值,將圖像塊像素最大值量化為所述M個量化階中第二量化階的邊界值,所述M為大於I的自然數。
[0084]請參閱附圖10,是本發明實施例提供的圖像數據解壓縮裝置結構示意圖。為了便於說明,僅僅示出了與本發明實施例相關的部分。附圖10示例的圖像數據解壓縮裝置包括解碼模塊1001、獲取模塊1002和重構模塊1003,其中:
[0085]解碼模塊1001,用於根據碼流中圖像塊像素最小值和像素最大值對應的量化階編號,解碼得到圖像塊像素最小值和像素最大值分別對應的第一量化值和第二量化值。
[0086]獲取模塊1002,用於根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和第二量化值,獲取以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階,具體方法與附圖4b及其對應的文字說明類似,不做贅述。
[0087]重構模塊1003,用於根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號和所述每一第三量化階的邊界值,重構所述圖像塊每個像素以獲取所述圖像塊每個像素的值。
[0088]需要說明的是,以上圖像數據解壓縮裝置的實施方式中,各功能模塊的劃分僅是舉例說明,實際應用中可以根據需要,例如相應硬體的配置要求或者軟體的實現的便利考慮,而將上述功能分配由不同的功能模塊完成,即將所述圖像數據解壓縮裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。而且,實際應用中,本實施例中的相應的功能模塊可以是由相應的硬體實現,也可以由相應的硬體執行相應的軟體完成,例如,前述的解碼模塊,可以是具有執行前述根據碼流中圖像塊像素最小值和像素最大值對應的量化階編號,解碼得到圖像塊像素最小值和像素最大值分別對應的第一量化值和第二量化值的硬體,例如解碼器,也可以是能夠執行相應電腦程式從而完成前述功能的一般處理器或者其他硬體設備;再如前述的獲取模塊,可以是具有執行前述根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和第二量化值,獲取以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階功能的硬體,例如獲取器,也可以是能夠執行相應電腦程式從而完成前述功能的一般處理器或者其他硬體設備(本說明書提供的各個實施例都可應用上述描述原則)。
[0089]附圖10示例的重構模塊1003可以包括第一取值單元1101或第二取值單元1102,如附圖11所示本發明另一實施例提供的圖像數據解壓縮裝置,其中:[0090]第一取值單元1101,用於取每一個量化階編號所對應第三量化階的兩個邊界值,對所述兩個邊界值的平均值取整,以取整所得的值作為所述每一個量化階編號所對應像素的值;
[0091]第二取值單元1102,用於取每一個量化階編號所對應第三量化階的左邊界值或右邊界值作為所述每一個量化階編號所對應像素的值。
[0092]附圖11示例的圖像數據解壓縮裝置還可以包括判斷模塊1201、第一補位模塊1202和第二補位模塊1203,獲取模塊1002可以包括第一獲取單元1204,如附圖12a所示本發明另一實施例提供的圖像數據解壓縮裝置,其中:
[0093]判斷模塊1201,用於判斷所述第一量化值和第二量化值是否相等。
[0094]第一補位模塊1202,用於若先收到碼流中圖像塊像素最小值對應的量化階編號後收到碼流中圖像塊像素最大值對應的量化階編號並且所述判斷模塊1201判斷所述第一量化值和第二量化值不相等時,將所述第一量化值對應的二進位數左移一位並且在末位補「I」。
[0095]第二補位模塊1203,用於若先收到碼流中圖像塊像素最大值對應的量化階編號後收到碼流中圖像塊像素最小值對應的量化階編號並且並且所述判斷模塊1201判斷所述第一量化值和第二量化值不相等時,將所述第一量化值對應的二進位數左移一位並且在末位補 「O,,。
[0096]第一獲取單元1204,用於根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第二量化值和所述第一量化值對應的二進位數左移一位並且在末位補「0」或「 I 」後對應的十進位數,獲取以所述所述第一量化值對應的二進位數左移一位並且在末位補「0」或「 I」後對應的十進位數和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階,具體方法與附圖4b及其對應的文字說明類似,不做贅述。
[0097]附圖11示例的圖像數據解壓縮裝置還可以包括判斷模塊1201、第三補位模塊1205和第四補位模塊1206,獲取模塊1002可以包括第二獲取單元1207,如附圖12b所示本發明另一實施例提供的圖像數據解壓縮裝置,其中:
[0098]第三補位模塊1205,用於若先收到碼流中圖像塊像素最大值對應的量化階編號後收到碼流中圖像塊像素最小值對應的量化階編號並且所述判斷模塊1201判斷所述第一量化值和第二量化值不相等時,將所述第二量化值對應的二進位數左移一位並且在末位補「I」;
[0099]第四補位模塊1206,用於若先收到碼流中圖像塊像素最小值對應的量化階編號後收到碼流中圖像塊像素最大值對應的量化階編號並且並且所述判斷模塊1201判斷所述第一量化值和第二量化值不相等時,將所述第二量化值對應的二進位數左移一位並且在末位補 「O,,;
[0100]第二獲取單元1207,用於根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和所述第二量化值對應的二進位數左移一位並且在末位補「0」或「 I」後對應的十進位數,獲取以所述第二量化值對應的二進位數左移一位並且在末位補「0」或「I」後對應的十進位數和第一量化值為端值的量化區間被均勻劃分的若干所述第三量化階,具體方法與附圖4b及其對應的文字說明類似,不做贅述。
[0101]需要說明的是,上述裝置各模塊/單元之間的信息交互、執行過程等內容,由於與本發明方法實施例基於同一構思,其帶來的技術效果與本發明方法實施例相同,具體內容可參見本發明方法實施例中的敘述,此處不再贅述。
[0102]本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,比如以下各種方法的一種或多種或全部:
[0103]方法一:將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值,所述像素最小值和像素最大值分別對應於第一量化階的量化階編號和第二量化階的量化階編號;將所述圖像塊每個像素的值映射為第三量化階的量化階編號,所述第三量化階是以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干量化階中一個量化階;對所述像素最小值對應的第一量化階的量化階編號、所述像素最大值對應的第二量化階的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並寫入碼流。
[0104]方法二:根據碼流中圖像塊像素最小值和像素最大值對應的量化階編號,解碼得到圖像塊像素最小值和像素最大值分別對應的第一量化值和第二量化值;根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和第二量化值,獲取以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階;根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號和所述每一第三量化階的邊界值,重構所述圖像塊每個像素以獲取所述圖像塊每個像素的值。
[0105]本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,該程序可以存儲於一計算機可讀存儲介質中,存儲介質可以包括:只讀存儲器(ROM,Read Only Memory)、隨機存取存儲器(RAM,RandomAccess Memory)、磁碟或光碟等。
[0106]以上對本發明實施例提供的一種圖像數據壓縮和解壓縮方法、裝置進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在【具體實施方式】及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
【權利要求】
1.一種圖像數據壓縮方法,其特徵在於,所述方法包括: 將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值,所述像素最小值和像素最大值分別對應於第一量化階的量化階編號和第二量化階的量化階編號; 將所述圖像塊每個像素的值映射為第三量化階的量化階編號,所述第三量化階是以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干量化階中一個量化階; 對所述像素最小值對應的第一量化階的量化階編號、所述像素最大值對應的第二量化階的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並寫入碼流。
2.如權利要求1所述的方法,其特徵在於,所述將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值包括: 將圖像塊像素最小值量化為M個量化階中第一量化階的邊界值,將圖像塊像素最大值量化為所述M個量化階中第二量化階的邊界值,所述M為大於I的自然數。
3.如權利要求1所述的方法,其特徵在於,所述將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值包括: 將圖像塊像素最小值量化為J個量化階中第一量化階的邊界值,將圖像塊像素最大值量化為K個量化階中第二量化階的邊界值,所述J與所述K為大於I且不相等的自然數。
4.如權利要求3所述的方法,其特徵在於,所述將所述圖像塊每個像素的值映射為第三量化階的量化階編號之前還包括: 判斷圖像塊像素最小值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最大值被量化成的邊界值對應的二進位數是否相等;或者 判斷圖像塊像素最大值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最小值被量化成的邊界值對應的二進位數是否相等。
5.如權利要求4所述的方法,其特徵在於,若判斷圖像塊中像素最小值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最大值被量化成的邊界值對應的二進位數不相等,則所述將所述像素最小值對應的第一量化階的量化階編號、所述像素最大值對應的第二量化階的量化階編號和所述圖像塊每個像素的值映射所得量化階編號寫入碼流包括:判斷圖像塊像素最小值被量化成的邊界值對應的二進位數進行右移一位移除的是「I」還是「0」;若圖像塊像素最小值被量化成的邊界值對應的二進位數進行右移一位移除的是「1」,則對所述像素最小值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號、所述像素最大值被量化成的邊界值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流,或者,對所述像素最大值被量化成的邊界值對應的量化階編號、所述像素最小值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流;若圖像塊像素最小值被量化成的邊界值對應的二進位數進行右移一位移除的是「0」,則對所述像素最大值被量化成的邊界值對應的量化階編號、將像素最小值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流,或者,對像素最小值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號、所述像素最大值被量化成的邊界值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流;若判斷圖像塊像素最大值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最小值被量化成的邊界值對應的二進位數不相等,則所述將所述像素最小值對應的第一量化階的量化階編號、所述像素最大值對應的第二量化階的量化階編號和所述圖像塊每個像素的值映射所得量化階編號寫入碼流包括:判斷圖像塊像素最大值被量化成的邊界值對應的二進位數進行右移一位移除的是「I」還是「0」;若圖像塊像素最大值被量化成的邊界值對應的二進位數進行右移一位移除的是「1」,則對所述像素最大值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號、所述像素最小值被量化成的邊界值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流,或者,對所述像素最小值被量化成的邊界值對應的量化階編號、所述像素最大值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流;若圖像塊像素最大值被量化成的邊界值對應的二進位數進行右移一位移除的是「0」,則對所述像素最小值被量化成的邊界值對應的量化階編號、將像素最大值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流,或者,對像素最大值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號、所述像素最小值被量化成的邊界值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流。
6.如權利要求4所述的方法,其特徵在於,若判斷圖像塊中像素最小值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最大值被量化成的邊界值對應的二進位數相等,或者判斷圖像塊像素最大值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最小值被量化成的邊界值對應的二進位數相等,則所述將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值包括: 將圖像塊像素最小值量化為M個量化階中第一量化階的邊界值,將圖像塊像素最大值量化為所述M個量化階中第二量化階的邊界值,所述M為大於I的自然數。
7.一種圖像數據解壓縮方法,其特徵在於,所述方法包括: 根據碼流中圖像塊像素最小值和像素最大值對應的量化階編號,解碼得到圖像塊像素最小值和像素最大值分別對應的第一量化值和第二量化值; 根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和第二量化值,獲取以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階; 根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號和所述每一第三量化階的邊界值,重構所述圖像塊每個像素以獲取所述圖像塊每個像素的值。
8.如權利要求7所述的方法,其特徵在於,所述根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號和所述每一第三量化階的邊界值,重構所述圖像塊每個像素以獲取所述圖像塊每個像素的值包括: 取每一個量化階編號所對應第三量化階的兩個邊界值,對所述兩個邊界值的平均值取整,以取整所得的值作為所述每一個量化階編號所對應像素的值;或者取每一個量化階編號所對應第三量化階的左邊界值或右邊界值作為所述每一個量化階編號所對應像素的值。
9.如權利要求7所述的方法,其特徵在於,所述根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和第二量化值,獲取以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階之前包括:判斷所述第一量化值和第二量化值是否相等;若所述第一量化值和第二量化值不相等並且先收到碼流中圖像塊像素最小值對應的量化階編號後收到碼流中圖像塊像素最大值對應的量化階編號,則將所述第一量化值對應的二進位數左移一位並且在末位補「 I 」,若所述第一量化值和第二量化值不相等並且先收到碼流中圖像塊像素最大值對應的量化階編號後收到碼流中圖像塊像素最小值對應的量化階編號,則將所述第一量化值對應的二進位數左移一位並且在末位補「0」 ;或者 所述根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和第二量化值,獲取以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階之前包括:判斷所述第一量化值和第二量化值是否相等;若所述第一量化值和第二量化值不相等並且先收到碼流中圖像塊像素最大值對應的量化階編號後收到碼流中圖像塊像素最小值對應的量化階編號,則將所述第二量化值對應的二進位數左移一位並且在末位補「 I 」,若所述第一量化值和第二量化值不相等並且先收到碼流中圖像塊像素最小值對應的量化階編號後收到碼流中圖像塊像素最大值對應的量化階編號,則將所述第二量化值對應的二進位數左移一位並且在末位補「0」 ; 所述根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和第二量化值,獲取以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階包括: 根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第二量化值和所述第一量化值對應的二進位數左移一位並且在末位補「0」或「 I 」後對應的十進位數,獲取以所述第一量化值對應的二進位數左移一位並且在末位補「0」或「 I」後對應的十進位數和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階;或者 根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和所述第二量化值對應的二進位數左移一位並且在末位補「0」或「 I 」後對應的十進位數,獲取以所述第二量化值對應的二進位數左移一位並且在末位補「0」或「I」後對應的十進位數和第一量化值為端值的量化區間被均勻劃分的若干所述第三量化階。
10.一種圖像數據壓縮裝置,其特徵在於,所述裝置包括: 量化模塊,用於將圖像塊像素最小值和像素最大值分別量化為第一量化值和第二量化值,所述像素最小值和像素最大值分別對應於第一量化階的量化階編號和第二量化階的量化階編號; 映射模塊,用於將所述圖像塊每個像素的值映射為第三量化階的量化階編號,所述第三量化階是以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干量化階中一個量化階; 編碼模塊,用於對所述像素最小值對應的第一量化階的量化階編號、所述像素最大值對應的第二量化階的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並寫入碼流。
11.如權利要求10所述的裝置,其特徵在於,所述量化模塊包括:第一量化單元,用於將圖像塊像素最小值量化為M個量化階中第一量化階的邊界值,將圖像塊像素最大值量化為所述M個量化階中第二量化階的邊界值,所述M為大於I的自然數。
12.如權利要求10所述的裝置,其特徵在於,所述量化模塊包括: 第二量化單元,用於將圖像塊像素最小值量化為J個量化階中第一量化階的邊界值,將圖像塊像素最大值量化為K個量化階中第二量化階的邊界值,所述J與所述K為大於I且不相等的自然數。
13.如權利要求12所述的裝置,其特徵在於,所述裝置還包括: 第一判斷模塊,用於判斷圖像塊像素最小值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最大值被量化成的邊界值對應的二進位數是否相等;或者 第二判斷模塊,用於判斷圖像塊像素最大值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最小值被量化成的邊界值對應的二進位數是否相等。
14.如權利要求12所述的裝置,其特徵在於,若所述第一判斷模塊判斷圖像塊中像素最小值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最大值被量化成的邊界值對應的二進位數不相等,則所述編碼模塊包括第一判斷單元、第一編碼單元和第二編碼單元; 所述第一判斷單元,用於判斷圖像塊像素最小值被量化成的邊界值對應的二進位數進行右移一位移除的是「 I」還是「0」 ; 所述第一編碼單元,用於若所述第一判斷單元判斷圖像塊像素最小值被量化成的邊界值對應的二進位數進行右移一位移除的是「 1」,則對像素最小值被量化成的邊界值的二進位數進行右移一位後所得值`對應的量化階編號、所述像素最大值被量化成的邊界值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流,或者,對所述像素最大值被量化成的邊界值對應的量化階編號、所述像素最小值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流; 所述第二編碼單元,用於若所述第一判斷單元判斷圖像塊像素最小值被量化成的邊界值對應的二進位數進行右移一位移除的是「0」,則對所述像素最大值被量化成的邊界值對應的量化階編號、將像素最小值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流,或者,對像素最小值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號、所述像素最大值被量化成的邊界值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流;或者 若所述第二判斷模塊判斷圖像塊像素最大值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最小值被量化成的邊界值對應的二進位數不相等,則所述編碼模塊包括第二判斷單元、第三編碼單元和第四編碼單元; 所述第二判斷單元,用於判斷圖像塊像素最大值被量化成的邊界值對應的二進位數進行右移一位移除的是「 I 」還是「 0 」 ; 所述第三編碼單元,用於若所述第二判斷單元判斷圖像塊像素最大值被量化成的邊界值對應的二進位數進行右移一位移除的是「1」,則對所述像素最大值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號、所述像素最小值被量化成的邊界值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流,或者,對所述像素最小值被量化成的邊界值對應的量化階編號、所述像素最大值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流; 所述第四編碼單元,用於若所述第二判斷單元判斷圖像塊像素最大值被量化成的邊界值對應的二進位數進行右移一位移除的是「O」,則對所述像素最小值被量化成的邊界值對應的量化階編號、將像素最大值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流,或者,對像素最大值被量化成的邊界值的二進位數進行右移一位後所得值對應的量化階編號、所述像素最小值被量化成的邊界值對應的量化階編號和所述圖像塊每個像素的值映射所得量化階編號進行編碼並依次寫入碼流。
15.如權利要求12所述的裝置,其特徵在於,若所述第一判斷模塊判斷圖像塊中像素最小值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最大值被量化成的邊界值對應的二進位數相等,或者所述第二判斷模塊判斷圖像塊像素最大值被量化成的邊界值對應的二進位數右移一位後與所述圖像塊像素最小值被量化成的邊界值對應的二進位數相等,所述量化模塊包括: 第一量化單元,用於將圖像塊像素最小值量化為M個量化階中第一量化階的邊界值,將圖像塊像素最大值量化為所述M個量化階中第二量化階的邊界值,所述M為大於I的自然數。
16.一種圖像數據解壓縮裝置,其特徵在於,所述裝置包括: 解碼模塊,用於根據碼流中圖像塊像素最小值和像素最大值對應的量化階編號,解碼得到圖像塊像素最小值和像素最大值分別對應的第一量化值和第二量化值; 獲取模塊,用於根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值`和第二量化值,獲取以所述第一量化值和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階; 重構模塊,用於根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號和所述每一第三量化階的邊界值,重構所述圖像塊每個像素以獲取所述圖像塊每個像素的值。
17.如權利要求16所述的裝置,其特徵在於,所述重構模塊包括: 第一取值單元,用於取每一個量化階編號所對應第三量化階的兩個邊界值,對所述兩個邊界值的平均值取整,以取整所得的值作為所述每一個量化階編號所對應像素的值;或者 第二取值單元,用於取每一個量化階編號所對應第三量化階的左邊界值或右邊界值作為所述每一個量化階編號所對應像素的值。
18.如權利要求17所述的裝置,其特徵在於,所述裝置還包括判斷模塊、第一補位模塊和第二補位模塊,或者,所述裝置還包括判斷模塊、第三補位模塊和第四補位模塊; 所述判斷模塊,用於判斷所述第一量化值和第二量化值是否相等; 所述第一補位模塊,用於若先收到碼流中圖像塊像素最小值對應的量化階編號後收到碼流中圖像塊像素最大值對應的量化階編號並且所述判斷模塊判斷所述第一量化值和第二量化值不相等時,將所述第一量化值對應的二進位數左移一位並且在末位補「 I」 ; 所述第二補位模塊,用於若先收到碼流中圖像塊像素最大值對應的量化階編號後收到碼流中圖像塊像素最小值對應的量化階編號並且並且所述判斷模塊判斷所述第一量化值和第二量化值不相等時,將所述第一量化值對應的二進位數左移一位並且在末位補「0」;所述第三補位模塊,用於若先收到碼流中圖像塊像素最大值對應的量化階編號後收到碼流中圖像塊像素最小值對應的量化階編號並且所述判斷模塊判斷所述第一量化值和第二量化值不相等時,將所述第二量化值對應的二進位數左移一位並且在末位補「 I」 ; 所述第四補位模塊,用於若先收到碼流中圖像塊像素最小值對應的量化階編號後收到碼流中圖像塊像素最大值對應的量化階編號並且並且所述判斷模塊判斷所述第一量化值和第二量化值不相等時,將所述第二量化值對應的二進位數左移一位並且在末位補「0」 ; 所述獲取模塊包括第一獲取單元或者第二獲取單元; 所述第一獲取單元,用於根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第二量化值和所述第一量化值對應的二進位數左移一位並且在末位補「0」或「 I 」後對應的十進位數,獲取以所述第一量化值對應的二進位數左移一位並且在末位補「0」或「I」後對應的十進位數和第二量化值為端值的量化區間被均勻劃分的若干所述第三量化階; 所述第二獲取單元,用於根據碼流中圖像塊每個像素的值映射為第三量化階的量化階編號時所用量化階次、所述第一量化值和所述第二量化值對應的二進位數左移一位並且在末位補「0」或「 I 」後對應的十進位數,獲取以所述第二量化值對應的二進位數左移一位並且在末位補「0」或「I」後對應的十進位數和第一量化值為端值的量化區間被均勻劃分的若干所述第三量化階。
【文檔編號】H04N5/917GK103517022SQ201210222516
【公開日】2014年1月15日 申請日期:2012年6月29日 優先權日:2012年6月29日
【發明者】柯瑞金·康斯坦丁, 宋錦 申請人:華為技術有限公司