使用次分辨率圖像的圖像壓縮的制作方法
【專利摘要】公開了用于使用次分辨率圖像來圖像壓縮和解壓的方法、系統(tǒng)和制品。對圖像進(jìn)行壓縮包括:基于輸入圖像中的統(tǒng)計相似區(qū)域來確定多個熵代碼集;生成包括包含多個熵代碼集的第一次分辨率圖像的一個或多個次分辨率圖像;使用所生成的一個或多個次分辨率圖像來控制包括熵代碼的一個或多個壓縮參數(shù),對輸入圖像進(jìn)行編碼;以及輸出經(jīng)編碼的輸入圖像和所生成的一個或多個次分辨率圖像作為壓縮的熵編碼的圖像文件。對圖像進(jìn)行解壓包括:對圖像文件進(jìn)行分解來訪問經(jīng)編碼的壓縮輸入圖像和關(guān)于多個壓縮參數(shù)中的每一個的相應(yīng)次分辨率圖像;以及使用相應(yīng)次分辨率圖像來控制多個壓縮參數(shù)中的每一個,而對經(jīng)編碼的壓縮輸入圖像進(jìn)行解碼。
【專利說明】使用次分辨率圖像的圖像壓縮
【技術(shù)領(lǐng)域】
[0001]本公開總體上涉及圖像壓縮。
【背景技術(shù)】
[0002]數(shù)字相機(jī)、裝配有相機(jī)的移動電話和手持式設(shè)備以及其他便利的圖像捕捉設(shè)備的廣泛可用性已導(dǎo)致被定期地上載到各種基于web的圖像應(yīng)用上的大量圖像。諸如這些的應(yīng)用凸顯出對提高了效率、質(zhì)量和靈活性的圖像壓縮技術(shù)的持續(xù)需求。
[0003]便攜式網(wǎng)絡(luò)圖形(PNG)格式是用于在諸如因特網(wǎng)的網(wǎng)絡(luò)上存儲并傳送圖像的頻繁使用的格式。也在因特網(wǎng)環(huán)境中頻繁地使用其他圖像格式,諸如圖形交換格式(GIF)、標(biāo)記圖像文件格式(TIFF)和聯(lián)合圖像專家組(JPEG)。PNG和GIF被認(rèn)為是無損壓縮方法,而JPEG是有損壓縮方法。TIFF可以有時使用有損或無損壓縮。這些技術(shù)中的每一個在圖像壓縮時提供了許多益處。然而,這些技術(shù)中的每一個在效率、質(zhì)量或靈活性方面具有弱點(diǎn)。
[0004]因此,期望得到可以被廣泛采用并支持、并且提供超過當(dāng)前可用技術(shù)的改進(jìn)的效率和質(zhì)量的圖像壓縮技術(shù)。
【發(fā)明內(nèi)容】
[0005]公開了用于使用次分辨率圖像的圖像壓縮和解壓的方法、系統(tǒng)和制品。對于圖像壓縮,這些包括:基于輸入圖像中的統(tǒng)計相似區(qū)域來確定多個熵代碼集;生成包括包含多個熵代碼集的第一次分辨率圖像的一個或多個次分辨率圖像;使用所生成的一個或多個次分辨率圖像來控制包括熵代碼的一個或多個壓縮參數(shù),而對輸入圖像進(jìn)行編碼;以及輸出經(jīng)編碼的輸入圖像和所生成的一個或多個次分辨率圖像作為壓縮的熵編碼的圖像文件。
[0006]用于圖像壓縮的另一個實施例包括:從輸入圖像關(guān)于多個壓縮參數(shù)中的每一個生成相應(yīng)次分辨率圖像;使用相應(yīng)次分辨率圖像來控制多個壓縮參數(shù)中的每一個,而對輸入圖像進(jìn)行編碼;以及輸出經(jīng)編碼的輸入圖像和所生成的次分辨率圖像作為壓縮的熵編碼的圖像文件。
[0007]用于圖像解壓的實施例包括:對圖像文件進(jìn)行分解來訪問經(jīng)編碼的壓縮輸入圖像和關(guān)于多個壓縮參數(shù)中的每一個的相應(yīng)次分辨率圖像;使用相應(yīng)次分辨率圖像來控制多個壓縮參數(shù)中的每一個,而對經(jīng)編碼的壓縮輸入圖像進(jìn)行解碼;以及輸出經(jīng)解碼的輸入圖像。
[0008]在下面參考附圖詳細(xì)地描述進(jìn)一步特征和優(yōu)勢,以及各種實施例的結(jié)構(gòu)和操作。注意的是,本發(fā)明并不限于在本文所述的特定實施例。在本文僅出于說明目的提供了這樣的實施例?;谠诒疚陌慕虒?dǎo),另外的實施例將對相關(guān)領(lǐng)域技術(shù)人員顯而易見。
【專利附圖】
【附圖說明】
[0009]將參考本發(fā)明的實施例,其示例可以在附圖中被圖示。這些附圖意在說明而非限制。盡管在這些實施例的情景下一般地描述了本公開,然而,應(yīng)當(dāng)理解的是,這些實施例不是對范圍的限制。[0010]圖1是圖示依據(jù)實施例的圖像壓縮和編碼技術(shù)的流程圖。
[0011]圖2是圖示依據(jù)實施例的在圖1的圖像壓縮和編碼技術(shù)中使用的預(yù)處理技術(shù)的流程圖。
[0012]圖3是圖示依據(jù)實施例的在圖1的圖像壓縮和編碼技術(shù)中使用的空間預(yù)測技術(shù)的流程圖。
[0013]圖4是圖示依據(jù)實施例的在圖1的圖像壓縮和編碼技術(shù)中使用的顏色變換技術(shù)的流程圖。
[0014]圖5是圖示依據(jù)實施例的在圖1的圖像壓縮和編碼技術(shù)中使用的基于初始像素的壓縮技術(shù)的流程圖。
[0015]圖6是圖示依據(jù)實施例的在圖1的圖像壓縮和編碼技術(shù)中使用的用于確定熵代碼的技術(shù)的流程圖。
[0016]圖7是圖示依據(jù)實施例的在圖1的圖像壓縮和編碼技術(shù)中使用的通用圖像編碼技術(shù)的流程圖。
[0017]圖8是依據(jù)實施例的編碼器的框圖。
[0018]圖9是圖示依據(jù)實施例的可以與圖8的編碼器相關(guān)聯(lián)的數(shù)據(jù)的框圖。
[0019]圖10是依據(jù)實施例的壓縮的圖像文件格式的框圖。
[0020]圖11是圖示依據(jù)實施例的圖像解壓和解碼技術(shù)的流程圖。
[0021]圖12是依據(jù)實施例的解碼器的框圖。
[0022]圖13是依據(jù)實施例的計算機(jī)系統(tǒng)。
【具體實施方式】
[0023]雖然在本公開中描述了針對特定應(yīng)用的說明性實施例,然而應(yīng)當(dāng)理解的是,實施例并不限于此。其他實施例是可能的,并且在本文教導(dǎo)的精神和范圍以及實施例將有重大功用的另外領(lǐng)域內(nèi),可以對實施例作出修改。進(jìn)一步,當(dāng)結(jié)合實施例描述特定特征、結(jié)構(gòu)或特性時,應(yīng)認(rèn)為,無論是否明確描述,結(jié)合其他實施例實現(xiàn)這樣的特征、結(jié)構(gòu)或特性在相關(guān)領(lǐng)域技術(shù)人員的知識范圍內(nèi)。
[0024]本公開總體上涉及用于對圖像進(jìn)行壓縮的方法、系統(tǒng)和制品。包括在本文明確公開的那些的實施例實現(xiàn)了無損或近無損圖像壓縮,同時還在處理效率、圖像質(zhì)量和存儲方面取得了巨大優(yōu)勢。在當(dāng)前受歡迎的PNG圖像壓縮和實施例之間的一些差異是說明性的。
[0025]實施例為輸入圖像的具有相似統(tǒng)計量的區(qū)域生成單獨(dú)的熵代碼集。相應(yīng)生成的熵代碼被存儲在次分辨率圖像(即,具有比輸入圖像低的分辨率,因此比輸入圖像小的圖像)中,其然后被用來控制輸入圖像中的像素的熵編碼。通過這樣做,在實施例中,有利地利用了在圖像的二維空間中接近的像素的熵特性。相比之下,PNG對線性存儲器的塊編碼熵,即,圖像被轉(zhuǎn)換成字節(jié)流,然后被熵編碼。在PNG中沒有有效地利用存在于輸入圖像中的二維接近地方的熵特性,因為線性字節(jié)流被熵編碼。此外,通過使用次分辨率圖像來為不同區(qū)域指定熵代碼,實施例能夠在解碼過程期間更有成本有效地改變熵代碼。
[0026]關(guān)于空間預(yù)測也一樣,在實施例中有效地利用在圖像中的二維接近地方發(fā)生的相似性來為每一個矩形塊指定空間預(yù)測器??臻g預(yù)測器被存儲在次分辨率圖像中,該次分辨率圖像然后被用來控制空間預(yù)測。相比之下,PNG為輸入圖像的每一行指定空間預(yù)測器,而沒有特別考慮局部區(qū)域的統(tǒng)計相似性。
[0027]實施例通過使用串色分量預(yù)測器來預(yù)測空間預(yù)測誤差,來利用在不同顏色通道之間的相關(guān)性。實施例使用單獨(dú)熵代碼來對每一個顏色通道進(jìn)行編碼,以有利地使用在輸入圖像內(nèi)的相同顏色的分量之間的相互關(guān)系。PNG將共同熵代碼用于所有顏色通道。
[0028]鑒于PNG定義靜態(tài)的顏色調(diào)色板,實施例介紹了為輸入圖像的區(qū)域局部定義的顏色調(diào)色板。該調(diào)色板使用哈希技術(shù)來動態(tài)地生成,其可以導(dǎo)致改進(jìn)的顏色特性。
[0029]此外,實施例使用次分辨率圖像來控制圖像壓縮和熵編碼的各個方面。次分辨率圖像可以使用與用來存儲輸入圖像的技術(shù)相同的技術(shù)來存儲。
[0030]圖1-7圖示了壓縮方法的實施例的各個方面。圖8-10和13圖示了根據(jù)實施例的系統(tǒng)。
[0031]圖1圖示了依據(jù)實施例的用于圖像壓縮和熵編碼的方法100。該方法可以例如使用如在下面關(guān)于圖8-10和13所述的系統(tǒng)來實現(xiàn)。方法100可以不按照所示的順序發(fā)生,并且可以不要求所有步驟。
[0032]在步驟102,對輸入圖像執(zhí)行預(yù)處理。輸入圖像可以是數(shù)字化的相片或其他數(shù)字圖像。輸入圖像可以在存儲器中被表示為邏輯矩形像素陣列。像素可以是一個或多個字節(jié)。根據(jù)實施例,像素是4字節(jié)并且包括紅色、綠色、藍(lán)色和阿爾法通道。預(yù)處理步驟102可以對輸入圖像的像素進(jìn)行處理,使得在預(yù)處理之后,輸入圖像產(chǎn)生改進(jìn)的壓縮。根據(jù)實施例,可以在步驟102執(zhí)行阿爾法替換、顏色離散化和調(diào)色板選擇。在下面關(guān)于圖2進(jìn)一步描述了預(yù)處理步驟102。
[0033]在步驟104,輸入圖像或更具體地經(jīng)預(yù)處理的輸入圖像經(jīng)受空間預(yù)測。具體地,如本領(lǐng)域技術(shù)人員已知的,空間預(yù)測是指基于一個或多個先前出現(xiàn)的像素來預(yù)測像素。將在預(yù)測值和實際值之間的差記錄在空間預(yù)測的圖像中的像素位置中。此外,存儲所選擇的空間預(yù)測器的次分辨率圖像。
[0034]可以將輸入圖像分成預(yù)先確定大小的矩形區(qū)域(“塊”)。塊可以是任何大小的,諸如16X16像素。在空間預(yù)測、顏色空間變換和熵代碼選擇中可以使用相同或不同大小的塊。
[0035]對于每一個塊中的每一個像素,嘗試空間預(yù)測器集。被嘗試的空間預(yù)測器集可以被預(yù)先配置或可以被動態(tài)地確定。根據(jù)實施例,空間預(yù)測器集包括單獨(dú)像素或在當(dāng)前像素左邊(用語“當(dāng)前像素”用來指當(dāng)前正被處理的像素)的像素和/或是在當(dāng)前像素上方一個或多個行的像素的組合。注意到,根據(jù)圖像中的像素的左-右、上-下處理順序,在當(dāng)前像素左邊或上方的像素在當(dāng)前像素之前被處理。
[0036]為塊選擇的空間預(yù)測器可以是在該塊中的像素的空間預(yù)測值和相應(yīng)實際值之間的差產(chǎn)生最小總和熵的空間預(yù)測器。因此,在實施例中,以對每一個塊局部地優(yōu)化熵的方式來確定空間預(yù)測器。
[0037]在一些實施例中,在為當(dāng)前塊選擇空間預(yù)測器時考慮的標(biāo)準(zhǔn)包括最小化在空間預(yù)測值和實際值之間的差的絕對值,以及偏愛預(yù)先確定的相鄰像素作為預(yù)測器和/或預(yù)測器的部分的偏向。對差的絕對值的最小化可以在圖像全局范圍內(nèi)減少熵。根據(jù)實施例,對絕對值的最小化可以基于為塊內(nèi)的每一個像素最小化差的絕對值或為塊最小化差的總和絕對值。根據(jù)另一個實施例,對絕對值的最小化可以至少部分通過最小化差值的全域計數(shù)的加權(quán)和來實現(xiàn)。該加權(quán)例如可以是相對于大絕對值偏愛小絕對值的指數(shù)或高斯。
[0038]然后,將為每一個塊選擇的空間預(yù)測器記錄在空間預(yù)測器次分辨率圖像中。在下面關(guān)于圖3描述了空間預(yù)測的進(jìn)一步細(xì)節(jié)。
[0039]在步驟106,執(zhí)行輸入圖像的顏色空間變換??梢栽诳臻g預(yù)測之前或之后執(zhí)行輸入圖像的顏色空間變換。在所述實施例中,到顏色空間變換的輸入是包括空間預(yù)測差作為像素值的中間輸入圖像。
[0040]顏色空間變換包括識別并記錄在顏色分量之間的相關(guān)性。例如,將在綠色和紅色、綠色和藍(lán)色以及紅色和藍(lán)色之間的相關(guān)性識別并記錄為顏色相關(guān)因子。因此,最初包括了針對綠色、紅色和藍(lán)色的三個單獨(dú)顏色值的像素可以在顏色變換之后由綠色的原始顏色值和使用紅色和藍(lán)色的相關(guān)因子來確定的值表示。紅色可以被表示為將紅色與綠色相關(guān)聯(lián)的相關(guān)因子,以及藍(lán)色可以被表示為將藍(lán)色與紅色相關(guān)聯(lián)的相關(guān)因子或?qū)⑺{(lán)色與綠色相關(guān)聯(lián)的相關(guān)因子中的一個或多個。
[0041]將相關(guān)因子存儲在次分辨率圖像中。基于相應(yīng)相關(guān)因子,對輸入圖像中的顏色值進(jìn)行改變以包括紅色和藍(lán)色的預(yù)測誤差。在下面關(guān)于圖4進(jìn)一步描述了顏色空間變換。
[0042]在步驟108,執(zhí)行輸入圖像的基于初始像素的壓縮。在此所述的實施例中,到基于初始像素的壓縮的輸入是已經(jīng)受了空間預(yù)測和顏色變換處理的輸入圖像。然而,步驟108可以在方法100的流程的其他位置處執(zhí)行,因此,可以在其他實施例中具有在步驟104和106之前或之后的輸入圖像。
[0043]對于每一個像素,基于初始像素的壓縮操作來插入向后引用、像素或調(diào)色板引用中的一個。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)認(rèn)識到,通過插入向后引用的壓縮以基于字節(jié)的傳統(tǒng)LZ77來執(zhí)行。與LZ77相比,在實施例中,對向后引用的插入基于像素?;谙袼氐膲嚎s使得能夠更好地使用圖像中的二維接近特性來改進(jìn)壓縮。根據(jù)實施例,調(diào)色板(在本文被稱為“新出現(xiàn)的顏色調(diào)色板”)可以在基于像素的壓縮期間被動態(tài)地填充。在下面關(guān)于圖5進(jìn)一步描述了輸入圖像的基于初始像素的壓縮。
[0044]在步驟110,從步驟108輸出的經(jīng)壓縮的輸入圖像經(jīng)受二維局部性變換。二維局部性變換操作來識別經(jīng)壓縮的圖像中的位置信息,并且用表示對應(yīng)二維距離的代碼對該位置信息進(jìn)行編碼。例如,向后引用可以最初在壓縮期間被插入(例如,步驟108)作為像素距離。二維局部性變換可以用針對對應(yīng)二維距離的短代碼替換該像素距離。預(yù)先配置的二維局部性代碼表指定在相應(yīng)短代碼和所選擇的對應(yīng)相對像素距離之間的關(guān)系。根據(jù)實施例,預(yù)先配置的表為在當(dāng)前像素周圍的16X8像素鄰居指定短代碼。這些短代碼通過其歐幾里得距離被安排到當(dāng)前像素。將短代碼用于直接相鄰的區(qū)域例如使能對來自直接在上面的一個或多個在前行的像素的更廉價(就位而言)引用。
[0045]在步驟112,確定熵代碼并且記錄針對熵代碼的次分辨率圖像。為圖像的具有相似統(tǒng)計量的局部區(qū)域(例如,塊或塊集群)確定熵代碼。將熵代碼或?qū)τ脕韺γ恳粋€像素進(jìn)行編碼的熵代碼的引用存儲在被稱為熵次分辨率圖像的次分辨率圖像中。在下面關(guān)于圖6進(jìn)一步描述了熵代碼確定。
[0046]在步驟114,對輸入圖像進(jìn)行熵編碼。根據(jù)實施例,到熵編碼的輸入可以是已經(jīng)受了空間預(yù)測、顏色變換、像素壓縮和二維局部性變換的輸入圖像。
[0047]熵編碼以從左到右且從上到下的方式逐像素對輸入圖像進(jìn)行操作。在圖像的每一個位置處,基于在熵次分辨率圖像中引用的熵代碼來確定熵編碼。如在下面關(guān)于圖6所述,為輸入圖像的每一個塊確定熵代碼集。熵代碼集可以包括針對顏色、距離等的相應(yīng)熵代碼。熵次分辨率圖像可以指定待用于輸入圖像中的對應(yīng)像素的熵代碼集。基于當(dāng)前像素的塊來訪問熵代碼。熵代碼可以基于例如哈夫曼代碼和算術(shù)代碼。
[0048]在步驟116,將熵編碼的壓縮圖像輸出到存儲器、永久性存儲器或傳輸給另一個實體。輸出熵編碼的圖像可以包括形成壓縮的熵編碼的圖像文件,諸如關(guān)于圖10所述的,其包括壓縮的熵編碼的輸入圖像、次分辨率圖像以及解壓來恢復(fù)輸入圖像所需的其他信息。
[0049]圖2圖示了用于對輸入圖像進(jìn)行預(yù)處理的方法200的流程圖。根據(jù)實施例,方法200可以在執(zhí)行上述方法100的步驟102時使用。方法200可以不按照所示的順序發(fā)生,并且可以不要求所有步驟。
[0050]在步驟202,對輸入圖像執(zhí)行阿爾法替換。阿爾法替換是減少輸入圖像中的熵的技術(shù)。阿爾法替換操作來用在圖像中更常出現(xiàn)的阿爾法值替換部分阿爾法值,諸如唯一的阿爾法值或在圖像中很少出現(xiàn)的那些。根據(jù)實施例,例如,對還具有半透明值的特殊顏色值,諸如以諸如PNG、TIFF和GIF的圖像格式出現(xiàn)的那些進(jìn)行處理,來通過將它們校正成包括對應(yīng)的特定半透明值來移除最初包括的半透明值。該過程操作來減少阿爾法通道中的熵。
[0051]可以將任何數(shù)量的像素標(biāo)記為半透明的,從而,使其經(jīng)受阿爾法替換。根據(jù)實施例,半透明不被指定為針對紅色、綠色和藍(lán)色的單獨(dú)顏色值,并且替代地被指定為與對應(yīng)阿爾法值的偏移。使用與阿爾法的偏移來指定半透明的紅色、綠色和藍(lán)色使實施例能夠即使在對于特定RGB三元組存在多個阿爾法時,也保留半透明信息。作為使用偏移來指定阿爾法值的副作用,可以減少阿爾法通道的熵。
[0052]在步驟204,可以執(zhí)行顏色離散化。根據(jù)實施例,顏色離散化和相容性(compatification)操作來封裝(to pack)顏色的動態(tài)范圍,使得預(yù)測將僅或大部分產(chǎn)生如在原始圖像中的那些那樣的顏色值和/或預(yù)測誤差值。這避免或減少了預(yù)測圖像具有比原始圖像更獨(dú)特的符號的需求。
[0053]例如,在沒有顏色離散化和相容性的實施例中,預(yù)測器可以考慮兩個顏色值并且將那兩個考慮的值的平均預(yù)測為像素的預(yù)測顏色。然而,平均值可能不是在原始圖像中任何地方的顏色,因此,預(yù)測信號將引入新的符號。封裝顏色的動態(tài)范圍,使得預(yù)測和/或預(yù)測誤差產(chǎn)生尚未在原始圖像中的新的值的可能性導(dǎo)致了最小化新的符號的添加。因此,在與傳統(tǒng)技術(shù)相比時,預(yù)測的圖像可能已減少了熵。
[0054]在步驟206,可選地,執(zhí)行調(diào)色板選擇。根據(jù)實施例,當(dāng)僅僅少數(shù)顏色需要編碼在圖像中中,才執(zhí)行調(diào)色板選擇。調(diào)色板選擇允許多個像素被封裝入單個像素。
[0055]圖3圖示了用于執(zhí)行空間預(yù)測的方法300。根據(jù)實施例,方法300可以在執(zhí)行上述方法100的步驟104時使用。方法300可以不按照所示的順序發(fā)生,并且可以不要求所有步驟。
[0056]在步驟302,確定空間預(yù)測器。如在上面關(guān)于步驟104所述,所公開的實施例操作來找到空間預(yù)測器,使得最小化塊中的預(yù)測差。在另一個實施例中,可以使用其他標(biāo)準(zhǔn),諸如但不限于:最小化在塊內(nèi)的空間預(yù)測差的熵、最小化空間預(yù)測差的絕對值以及偏好相鄰像素塊的偏向選擇標(biāo)準(zhǔn),以便優(yōu)化對針對塊的局部特性以及可選地針對全局特性的空間預(yù)測器的選擇。[0057]如上所述,為預(yù)測當(dāng)前像素而選擇的像素可以來自任何先前處理的像素位置。根據(jù)實施例,預(yù)先配置的空間預(yù)測器代碼表為多個像素位置和像素組合中的每一個指定代碼。例如,空間預(yù)測器代碼表可以包括用于無預(yù)測的代碼、用于復(fù)制單獨(dú)像素的多個代碼以及用于求兩個或更多個像素的平均值的多個代碼。因此,對當(dāng)前像素的預(yù)測可以基于一個或多個像素。
[0058]基于上述標(biāo)準(zhǔn)中的一個或多個所確定的成本函數(shù)以每塊為基礎(chǔ),選擇用其來對輸入圖像進(jìn)行編碼的空間預(yù)測器。在塊中,所有像素與相同選擇的空間預(yù)測器相關(guān)聯(lián)。
[0059]在步驟304,將為每一個塊所選擇的空間預(yù)測器存儲在空間預(yù)測器次分辨率圖像中。次分辨率圖像中的像素表示輸入圖像中的塊。
[0060]用于存儲壓縮的熵編碼的輸入圖像的相同存儲技術(shù)可以用于存儲相應(yīng)的次分辨率圖像。在下面關(guān)于圖7公開了用于存儲壓縮的熵編碼的圖像,包括用于次分辨率圖像,的通用技術(shù)。
[0061]在步驟306,對輸入圖像(經(jīng)過或沒有經(jīng)過預(yù)處理)進(jìn)行處理來根據(jù)空間預(yù)測器次分辨率圖像對空間預(yù)測進(jìn)行編碼。對于塊中的每一個像素,基于存儲在空間預(yù)測器次分辨率圖像中的對應(yīng)空間預(yù)測器來確定預(yù)測值。然后,將在預(yù)測值和實際值之間的差編碼入像素中。當(dāng)空間預(yù)測前進(jìn)到跨輸入圖像處理像素時,空間預(yù)測器次分辨率圖像為每一個塊控制所應(yīng)用的空間預(yù)測器。
[0062]圖4圖示了用于對圖像的顏色空間變換的方法400。根據(jù)實施例,方法400可以在執(zhí)行上述方法100的步驟106時使用。方法400可以不按照所示的順序發(fā)生,并且可以不要求所有步驟。
[0063]在步驟402,確定顏色相關(guān)性。以塊為基礎(chǔ)確定顏色分量之間的顏色相關(guān)器。對于每一個塊,對像素,或更具體地紅色、綠色、藍(lán)色(RGB)值,進(jìn)行分析來確定它們之間的相關(guān)性。根據(jù)實施例,確定在綠色和紅色、紅色和藍(lán)色以及綠色和藍(lán)色之間的相關(guān)性。顏色相關(guān)器操作來減少紅色和藍(lán)色通道中的熵。例如,通過將紅色表示為該像素中的綠色值的因子,實施例減少了紅色通道中的熵。例如,考慮如在傳統(tǒng)系統(tǒng)中被編碼的、分別具有RGB8:6:2和4:3:0的兩個塊。根據(jù)實施例,可以將該信息編碼為8:X:Y和4:Χ:Y,其中X和Y是對于75%和25%的代碼。因此,顏色變換可以通過利用在相鄰塊之間的顏色關(guān)系來減少紅色和藍(lán)色通道的熵。
[0064]為每一個塊確定常見顏色相關(guān)器集??梢岳缁谄骄蚧谠诋?dāng)前塊中最頻繁出現(xiàn)的顏色值來選擇塊的相關(guān)器。根據(jù)實施例,可以以最小化將紅色和藍(lán)色分量的熵和絕對值相組合的啟發(fā)的方式確定塊的相關(guān)器。例如,可以對塊中的綠色至紅色的所有值進(jìn)行測試,并且可以選擇產(chǎn)生最低啟發(fā)的值。并且,可以對塊中的綠色至藍(lán)色以及紅色至藍(lán)色的所有組合進(jìn)行測試,并且可以選擇具有最低啟發(fā)的組合。此外,在一些實施例中,可以稍微偏愛與來自在當(dāng)前塊之上或左邊的塊的所選擇的相關(guān)器相似的相關(guān)器值供選擇。
[0065]在步驟404,將所選擇的相關(guān)因子存儲在顏色相關(guān)性次分辨率圖像中。在顏色相關(guān)性次分辨率圖像中,每一個像素表示輸入圖像中的塊。次分辨率圖像中的每一個像素分別存儲綠色至紅色、綠色至藍(lán)色和紅色至藍(lán)色的相關(guān)因子??梢砸钥梢允沟弥甘菊蜇?fù)相關(guān)這樣的方式存儲這些因子。
[0066]在步驟406中,在輸入圖像中對顏色變換進(jìn)行編碼?,F(xiàn)將輸入圖像中的紅色和藍(lán)色通道修改成表示顏色相關(guān)性預(yù)測的預(yù)測誤差。具體地,如下所述對顏色預(yù)測進(jìn)行編碼。綠色沒有被預(yù)測,因此,所存儲的值是實際綠色值?;谠陬伾嚓P(guān)性次分辨率圖像中所指定的與當(dāng)前塊相對應(yīng)的綠色至紅色相關(guān)因子從綠色預(yù)測紅色?,F(xiàn)對在基于顏色相關(guān)因子的紅色預(yù)測值與紅色分量的先前編碼的空間預(yù)測誤差之間的差進(jìn)行編碼??梢詮木G色和紅色中的一個或多個預(yù)測藍(lán)色。如果在預(yù)測藍(lán)色值時使用綠色和紅色兩者,則根據(jù)實施例,將綠色至藍(lán)色和紅色至藍(lán)色預(yù)測的平均取作為藍(lán)色分量的預(yù)測值??梢灶A(yù)先配置預(yù)測藍(lán)色的模式。因此,根據(jù)在顏色相關(guān)性次分辨率圖像中所指定的相關(guān)因子來控制對紅色和藍(lán)色通道的編碼。
[0067]圖5圖示了用于對輸入圖像的基于像素的壓縮的方法500。根據(jù)實施例,方法500可以在執(zhí)行方法100的步驟108時使用。步驟502-516圖示了通過以從左到右且從上到下移動模式來遍歷像素對圖像的處理。方法500可以不按照所示的順序發(fā)生,并且可以不要求所有步驟。
[0068]在步驟502,選擇待被處理的下一像素。處理將典型地在左上像素開始。在其他迭代中,選擇隨后像素。所選擇的下一像素被稱為當(dāng)前像素。
[0069]步驟504-508確定可以在對輸入圖像進(jìn)行壓縮的過程中對當(dāng)前像素執(zhí)行的每一個操作的成本。根據(jù)實施例,可以考慮三個單獨(dú)選項:1)插入向后引用;2)插入像素;以及3)插入調(diào)色板條目。
[0070]“向后引用”指示可以在當(dāng)前像素的位置處復(fù)制所指定的一個或多個像素,以便對圖像進(jìn)行壓縮。例如,如果當(dāng)前像素是全部均是顏色C的三個像素的串的開始,并且在當(dāng)前像素之前200個像素的先前處理位置處,存在三個顏色C像素的串,則實施例可以插入指示對匹配當(dāng)前像素的200個像素前的引用的向后引用,并且該3個像素的串的長度在所引用的像素處開始。向后引用通過距離和長度值指定。距離是指從當(dāng)前像素到所引用的像素的距離,以及長度是指自所引用的像素可以被復(fù)制到的當(dāng)前像素的像素數(shù)。
[0071]插入像素是指將當(dāng)前像素插入經(jīng)壓縮的圖像中。在一些情況下,對于像素,這可以是最有成本效益的操作。
[0072]插入調(diào)色板條目是指將索引插入經(jīng)壓縮的圖像中。在一些實施例中,插入調(diào)色板條目還可以包括將對應(yīng)顏色條目插入調(diào)色板。新出現(xiàn)的顏色調(diào)色板在基于像素的壓縮前進(jìn)通過圖像時被動態(tài)地構(gòu)建。在每一個像素位置處,考慮將顏色值插入新出現(xiàn)的調(diào)色板以及將對應(yīng)調(diào)色板索引插入經(jīng)壓縮的圖像的成本??梢灶A(yù)先配置新出現(xiàn)的調(diào)色板的大小。根據(jù)實施例,使表示紅色/綠色/藍(lán)色/阿爾法值的32位整數(shù)與預(yù)先確定的乘數(shù)相乘。基于該大小,來自作為結(jié)果的整數(shù)的某些位被用作為表示新出現(xiàn)的顏色調(diào)色板的陣列的索引。例如,對于新出現(xiàn)的128位大小的調(diào)色板,可以將7位用作索引值。對于來自未經(jīng)壓縮的像素流的每一個顏色值,可以以數(shù)個方式中的一個來確定索引。根據(jù)實施例,基于自上述顏色的字節(jié)表示的預(yù)定義起始位置的7個相鄰連續(xù)位來確定顏色的索引。根據(jù)另一個實施例,可以對顏色值執(zhí)行模操作來確定新出現(xiàn)的調(diào)色板的哈希索引。根據(jù)實施例,可以將一個新出現(xiàn)的顏色調(diào)色板用于輸入圖像。在其他實施例中,可以為相應(yīng)區(qū)域定義單獨(dú)的新出現(xiàn)的調(diào)色板。例如,可以沿著輸入圖像的X軸為每32個像素創(chuàng)建新的新出現(xiàn)的調(diào)色板。
[0073]在步驟504,確定將向后引用插入在當(dāng)前像素處的成本。如上所述,插入向后引用包括插入距像素的距離和長度。長度是指可以從所引用的像素開始被復(fù)制的像素數(shù)。成本包括將距離和長度插入在經(jīng)壓縮的圖像中的與當(dāng)前像素相對應(yīng)的位置處的成本??梢越Y(jié)合不必復(fù)制與來自向后引用的可以在當(dāng)前像素的位置處開始被復(fù)制的像素數(shù)相等的像素數(shù)的成本節(jié)省考慮該插入位的成本。例如,如果向后引用花費(fèi)5個字節(jié)來編碼,并且3個像素的長度被指示,則在大小I個字節(jié)的像素的情況下,向后引用插入的成本將是5-3=2個字節(jié)。根據(jù)另一個實施例,向后引用的成本僅基于插入成本,即,如果向后引用花費(fèi)5個字節(jié)來編碼,則插入成本是5個字節(jié)。
[0074]根據(jù)實施例,選擇最長向后引用。根據(jù)另一個實施例,將可能具有不同距離和長度特性的兩個或更多個向后引用進(jìn)行比較,并且選擇最有成本效益的一個。
[0075]在步驟506,確定將像素插入輸入圖像中的成本。該成本可以被認(rèn)為是插入一個像素的位成本。
[0076]在步驟508,確定插入新出現(xiàn)的調(diào)色板索引的成本。插入新出現(xiàn)的調(diào)色板條目的成本可以被認(rèn)為是索引條目的大小。
[0077]在步驟510,基于在步驟504-508的成本確定,確定最小成本操作,并且將最小成本操作記錄在當(dāng)前像素位置處?;谖怀杀緛泶_定成本。
[0078]在步驟512,確定是否已達(dá)到輸入圖像的最后像素。如果沒有,則為遍歷模式中下一像素重復(fù)步驟502-512。
[0079]如果在步驟512確定當(dāng)前像素是最后像素,則處理前進(jìn)到步驟514。在步驟514,跟蹤回自最后像素的路徑來確定最小成本路徑的反向,以壓縮圖像。
[0080]在步驟514,然后使所確定的路徑反轉(zhuǎn)來產(chǎn)生待執(zhí)行的壓縮操作,以為圖像遍歷壓縮的最小成本路徑。該路徑可以包括在像素位置處編碼向后引用、編碼像素值以及編碼調(diào)色板索引值中的一個或多個。在步驟514結(jié)束,輸入圖像已完成基于像素的壓縮。
[0081]圖6圖不了用于確定熵代碼的方法600。根據(jù)實施例,方法600可以在執(zhí)行上述方法100的步驟112時使用。方法600可以不按照所示的順序發(fā)生,并且可以不要求所有步驟。
[0082]在步驟602,接收圖像以被熵編碼。根據(jù)實施例,所接收的圖像已經(jīng)過了基于像素的壓縮處理。在基于像素的壓縮之前,輸入圖像可能已經(jīng)受了空間預(yù)測和顏色空間變換。然而,方法600適用于其他類型的輸入圖像。
[0083]在步驟604,從輸入圖像確定塊。根據(jù)實施例,確定大小16 X 16的塊。其他塊大小是可能的。
[0084]在步驟606,為各個塊確定統(tǒng)計量。可以為紅色、綠色、藍(lán)色、阿爾法顏色分量、為距離代碼、向后引用長度代碼以及為調(diào)色板哈希值分別確定統(tǒng)計量??梢砸钥梢詫γ恳粋€統(tǒng)計的像素數(shù)進(jìn)行計數(shù)的直方圖形式確定統(tǒng)計量。
[0085]在步驟608,根據(jù)各個塊的統(tǒng)計量的相似性來聚類塊。根據(jù)實施例,執(zhí)行隨機(jī)聚類。隨機(jī)聚類可以通過最初將每一個塊認(rèn)為是集群,然后迭代地任意選擇集群來執(zhí)行。然后,從所選擇的多個集群中找到最相似的集群,并且將所選擇的集群和所找到的集群相組合。該聚類操作可以進(jìn)行,直到集群數(shù)被減少至所確定的閾值集群數(shù)為止。還可以基于成本函數(shù)來確定閾值集群數(shù)。例如,可以對為每一個集群存儲熵代碼的成本建模,其中各個熵代碼的大小取決于塊到集群的分配。在實施例中,例如,隨機(jī)算法操作來將集群數(shù)從大約1000減少到大約50個集群。[0086]在步驟610,精化聚類。該步驟操作來通過將塊(或塊統(tǒng)計量)移動到集群來精化隨機(jī)確定的集群,以便提高在塊及其集群之間的匹配的精度。在該步驟中可以使用諸如k均值算法的聚類算法。根據(jù)另一個實施例,對每一個塊進(jìn)行分析來為其確定最優(yōu)集群并且將其移動到那里,以使最小化待輸出(存儲)的預(yù)期位數(shù)。在每一個移動之后,對統(tǒng)計量進(jìn)行調(diào)整來補(bǔ)償該移動。該操作可以被重復(fù)預(yù)先確定的次數(shù)、或直到待輸出的預(yù)期位數(shù)不斷減少為止,以供所有塊導(dǎo)致精化聚類。
[0087]在步驟612,為每一個集群確定熵代碼。如此,由于集群已將具有相似特性的塊聚組在一起,因此,為每一個相應(yīng)集群的特性明確地確定作為結(jié)果的熵代碼。此外,在每一個集群內(nèi),為綠色、紅色、藍(lán)色、阿爾法和距離分量確定單獨(dú)的熵代碼。在實施例中,可以將相同熵代碼用于綠色、調(diào)色板索引和長度分量。可以使用任何技術(shù)來確定熵代碼,諸如但不限于哈夫曼代碼,其特定于每一個集群以及在每一個集群內(nèi)特定于顏色和距離分量中的每一個。
[0088]在步驟614,確定每一個塊的熵代碼。具體地,熵代碼的集(“熵代碼集”)包括針對紅色、綠色、藍(lán)色、阿爾法顏色分量、針對距離代碼、向后引用長度代碼以及針對調(diào)色板哈希值的單獨(dú)熵代碼。這可以通過識別特定塊所屬的集群來確定。
[0089]在步驟616,將熵代碼集存儲在熵代碼次分辨率圖像中,并且在熵代碼次分辨率圖像中指定應(yīng)用到每一個像素的熵代碼。熵代碼次分辨率圖像例如為輸入圖像中的每一個16X16塊存儲一個像素。熵代碼次分辨率圖像中的每一個像素指定待被應(yīng)用到輸入圖像中的對應(yīng)塊的熵代碼集。例如,可以用對在所存儲的熵代碼集中的對應(yīng)熵代碼集的位置的引用對次分辨率圖像中的像素的綠色分量進(jìn)行更新。熵代碼集可以包括五個單獨(dú)的熵代碼:綠色/像素索引/向后引用長度的熵代碼;以及紅色、藍(lán)色、阿爾法和距離分量的熵代碼。這些熵代碼中的每一個可以使用哈夫曼編碼和行程編碼來分別編寫。
[0090]可以使用在存儲其他次分辨率圖像和經(jīng)壓縮的熵編碼的輸入圖像時使用的相同技術(shù)來存儲熵代碼次分辨率圖像。在下面關(guān)于圖7描述了對圖像的存儲。
[0091]圖7圖示了用于以壓縮和熵編碼形式存儲圖像的方法700。根據(jù)實施例,方法700可以用來存儲經(jīng)壓縮的熵編碼的輸入圖像以及次分辨率圖像(例如,熵次分辨率圖像、顏色相關(guān)性次分辨率圖像和空間預(yù)測器次分辨率圖像)。方法700可以不按照所示的順序發(fā)生,并且可以不要求所有步驟。
[0092]在步驟702,輸入圖像經(jīng)受基于像素的壓縮。示例性基于像素的壓縮,盡管在方面與LZ77相似,被應(yīng)用到像素而不是字節(jié)。圖5圖示了示例性基于像素的壓縮方法。基于像素的壓縮的輸出是具有像素、向后引用和調(diào)色板索引值的像素流。
[0093]在步驟704,來自基于像素的壓縮的輸出經(jīng)受二維局部性變換。二維局部性變換基于二維接近性將在像素距離內(nèi)的距離轉(zhuǎn)換成代碼。在上面關(guān)于上述方法100的步驟110描述了示例性二維變換。
[0094]在步驟706,將輸入圖像分成(例如,16X16像素的)塊并且為每一個塊確定統(tǒng)計量??梢苑謩e為紅色、綠色、藍(lán)色、阿爾法和距離分量收集統(tǒng)計量。還可以為(向后引用的)長度和像素索引值收集統(tǒng)計量。根據(jù)實施例,可以將綠色/長度/像素索引值的統(tǒng)計量相組合。在上面關(guān)于方法600的步驟604-606描述了為塊確定統(tǒng)計量。
[0095]在步驟708,根據(jù)統(tǒng)計量的相似性對塊進(jìn)行聚類,以及在步驟710,對集群進(jìn)行精化來提高在塊和相應(yīng)集群之間的匹配。在步驟712,為集群確定熵代碼。分別關(guān)于方法600的步驟608、610和612描述了對塊的聚類、對集群的精化和為各個集群確定熵代碼。
[0096]在步驟714,存儲熵次分辨率圖像。對熵次分辨率圖像的存儲可以使用與在方法700中定義的相同的存儲技術(shù)。因此,方法700定義圖像的遞歸存儲。在上面關(guān)于方法600的步驟616描述了對熵代碼次分辨率圖像的存儲。
[0097]在步驟716,對輸入圖像進(jìn)行熵編碼。在上面關(guān)于方法100的步驟114描述了對輸入圖像的熵編碼。
[0098]圖8圖示了根據(jù)實施例的編碼器800。編碼器800包括預(yù)處理模塊802、空間預(yù)測器804、顏色空間變換器806、像素壓縮器808、二維局部性變換模塊810、熵代碼生成模塊814、圖像存儲模塊812和經(jīng)壓縮的圖像文件輸出模塊816。
[0099]預(yù)處理模塊802被配置成對圖像進(jìn)行預(yù)處理,以使它們能夠被更好地壓縮。預(yù)處理模塊802可以例如操作來在圖像被壓縮之前減少圖像中的熵。預(yù)處理模塊802包括阿爾法替換映射器822、顏色離散器824和調(diào)色板選擇器826。
[0100]阿爾法替換映射器822被配置成移除或替換所選擇的阿爾法值。根據(jù)實施例,阿爾法替換模塊可以實現(xiàn)方法200的步驟202。
[0101]顏色離散器824被配置成通過為預(yù)測器調(diào)整值的動態(tài)范圍來消除或減少不在原始圖像中的預(yù)測值,而減少作為結(jié)果的熵。根據(jù)實施例,顏色離散器824可以實現(xiàn)方法200的步驟204。
[0102]調(diào)色板選擇器826被配置成通過封裝在數(shù)據(jù)結(jié)構(gòu)中更接近的多個顏色在圖像僅具有少于預(yù)先確定數(shù)量的顏色時減少在相鄰像素之間的聯(lián)合分布的熵。根據(jù)實施例,調(diào)色板選擇器826可以實現(xiàn)方法200的步驟206。
[0103]空間預(yù)測器804被配置成實現(xiàn)空間預(yù)測。例如關(guān)于方法100的步驟104和方法300描述了空間預(yù)測。
[0104]顏色空間變換器806被配置成實現(xiàn)顏色空間變換。例如在上面關(guān)于方法100的步驟106和方法400描述了顏色空間變換。參考RGB顏色模型描述了上述實施例。也可以使用其他顏色模型,諸如但不限于YUV顏色模型。
[0105]像素壓縮器808被配置成執(zhí)行對輸入圖像的基于像素的壓縮。根據(jù)實施例,像素壓縮器808被配置成實現(xiàn)基于像素的壓縮,如關(guān)于方法700的步驟702所述。像素壓縮器808包括向后引用插入模塊832、貪婪壓縮器模塊834、最小成本壓縮器模塊836和調(diào)色板插入模塊838。
[0106]向后引用模塊832操作來確定當(dāng)前像素是否能夠通過引用先前出現(xiàn)的像素來壓縮,并且如果這樣的話,插入距正被引用的像素的像素距離和長度。在上面關(guān)于圖5的步驟504描述了對向后引用的插入。
[0107]調(diào)色板插入模塊838操作來為每一個像素確定索引值,并且同時在其對相應(yīng)像素進(jìn)行處理時動態(tài)地構(gòu)建新出現(xiàn)的顏色調(diào)色板。在為對應(yīng)像素確定引用調(diào)色板條目的索引之后,如果針對向后引用的成本和像素插入的成本的成本比較是有利的,則調(diào)色板插入模塊838可以將該索引插入經(jīng)壓縮的圖像。
[0108]當(dāng)在壓縮過程期間,調(diào)色板插入模塊838被調(diào)用來處理每一個像素時,進(jìn)行對新出現(xiàn)的調(diào)色板的生成。每一個像素可以包括顏色值(例如,RGB或RGBA)。顏色值可以表示對應(yīng)空間預(yù)測和/或顏色變換預(yù)測的誤差。從當(dāng)前像素的值生成哈希索引。根據(jù)實施例,從像素的預(yù)先確定的位位置選擇預(yù)先確定數(shù)量的位。將所選擇的位用作為哈希索引。然后,基于哈希索引將像素(例如,顏色值)插入表中。為每一個顏色確定哈希位置的其他方法是可能的,并且預(yù)期在本公開的范圍內(nèi)。
[0109]最小成本壓縮器836被配置成為輸入圖像確定最小成本壓縮。最小成本壓縮器836在輸入圖像的每一個像素處,在下述一個或多個選項之間進(jìn)行選擇:a)插入向后引用;
b)插入當(dāng)前像素;以及c)插入對調(diào)色板條目的索引。該選擇基于成本分析。圖5描述了可以由最小成本壓縮器836實現(xiàn)來壓縮輸入圖像的方法500。
[0110]貪婪壓縮器模塊834操作來通過在最長向后引用、對像素的復(fù)制以及插入調(diào)色板索引之間進(jìn)行選擇來對輸入圖像進(jìn)行壓縮。在上面分別關(guān)于方法500的步驟504、506和508描述了插入向后引用、對像素的復(fù)制和對調(diào)色板條目的插入的操作。貪婪壓縮器模塊834可以操作為更快的壓縮技術(shù),來在速度比壓縮級別更重要時使用。因此,例如,當(dāng)考慮向后引用時,貪婪壓縮器模塊834可以僅考慮具有最長匹配序列的向后串,用于針對像素插入和調(diào)色板索引插入的成本比較。
[0111]二維變換模塊810被配置成基于二維距離來用更短的代碼替換像素距離的出現(xiàn)。根據(jù)實施例,二維變換模塊810可以實現(xiàn)在上面關(guān)于方法100的步驟110所述的處理。
[0112]熵代碼生成模塊814被配置成為輸入圖像的具有相似統(tǒng)計量的相應(yīng)區(qū)域生成熵代碼。根據(jù)實施例,塊聚類器模塊842為輸入圖像確定預(yù)先確定大小的塊,然后,根據(jù)統(tǒng)計量的相似性對塊進(jìn)行聚類。熵代碼生成模塊814可以為每一個集群生成單獨(dú)的熵代碼,并且為該集群的特性優(yōu)化代碼??梢詾槊恳粋€集群生成熵代碼集。熵代碼生成模塊814被進(jìn)一步配置成生成熵次分辨率圖像來為輸入圖像的每一個塊存儲熵代碼。塊聚類器模塊842可以實現(xiàn)在上面關(guān)于方法600的步驟604-610和/或方法700的步驟706-710所述的處理。熵代碼生成模塊814可以實現(xiàn)在上面關(guān)于方法600的步驟612-616和/或方法700的步驟712-716所述的處理。
[0113]圖像存儲模塊812被配置成存儲經(jīng)壓縮的熵編碼的輸入圖像以及基于輸入圖像所生成的次分辨率圖像中的每一個。根據(jù)實施例,圖像存儲模塊812可以實現(xiàn)在上面關(guān)于方法700所述的處理。如上所述,方法700使用遞歸定義來存儲圖像。例如,步驟714要求使用相同方法700來存儲熵代碼次分辨率圖像。
[0114]經(jīng)壓縮的圖像文件輸出模塊816被配置成例如在基于方法100的處理之后,輸出完全經(jīng)壓縮的熵編碼的輸入圖像到文件中或以被傳輸給另一個實體以供解碼。作為輸出的完全經(jīng)壓縮的熵編碼的輸入圖像包括經(jīng)壓縮的熵編碼的輸入圖像和次分辨率圖像等。在下面圖10中圖示了存儲經(jīng)壓縮的熵編碼的輸入圖像的示例性文件。
[0115]圖9圖示了根據(jù)實施例的在圖像壓縮時的數(shù)據(jù)實體。輸入圖像900是被輸入到編碼器800以被壓縮的未壓縮的圖像。經(jīng)壓縮的熵編碼的圖像904是完全壓縮并熵編碼的輸入圖像。輸入圖像中間格式902 (也被稱為“中間圖像”)是指輸入圖像經(jīng)受的、在未壓縮的輸入圖像和經(jīng)壓縮的熵編碼的圖像之間的圖像格式的數(shù)個中間階段。示例包括來自預(yù)處理模塊802和來自任何其子模塊的輸出、來自空間預(yù)測器804的輸出、來自顏色空間變換器806的輸出、來自像素壓縮器808和任何其子模塊的輸出以及來自二維局部性變換模塊810的輸出。[0116]空間預(yù)測器次分辨率圖像906、顏色相關(guān)性次分辨率圖像908和熵次分辨率圖像910每一個包括針對輸入圖像中的每一個塊(例如,16X16像素區(qū)域)的像素??臻g預(yù)測器次分辨率圖像906存儲為輸入圖像的各個塊所選擇的空間預(yù)測器。顏色相關(guān)性次分辨率圖像908為輸入圖像中的每一個塊存儲顏色相關(guān)因子。熵次分辨率圖像910為輸入圖像的每一個塊存儲對熵代碼集的引用。
[0117]根據(jù)實施例,新出現(xiàn)的調(diào)色板920是哈希表,其中每一個條目包括哈希索引922和調(diào)色板值924。調(diào)色板值924包括顏色。哈希索引922對應(yīng)于使用來自相應(yīng)顏色值中的一個的位來計算的索引。
[0118]二維顏色表930被配置有針對所選擇的像素距離的短代碼。短代碼表示在圖像中的像素位置之間的二維距離。二維代碼表930中的每一個條目可以包括表示在兩個像素之間的像素距離的相對像素距離條目932和表示該距離的短二維代碼936。
[0119]空間預(yù)測器代碼表940被配置有表示多個空間預(yù)測器的代碼。如上所述,空間預(yù)測器可以基于單個像素或者兩個或更多個像素的組合。
[0120]圖10圖示了可以存儲經(jīng)壓縮的熵編碼的圖像904的文件格式1000的內(nèi)容的框圖。圖像格式1000可以用來將經(jīng)壓縮的熵編碼的輸入圖像904存儲在永久性存儲器中。此夕卜,圖像格式1000可以用作為用來將經(jīng)壓縮的熵編碼的輸入圖像904傳輸給另一個實體以便被解壓的格式。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,在文件格式1000中可以包括其他元素。
[0121]圖像大小1002表示圖像文件的大小。大小可以以字節(jié)指定。塊大小1006表示在壓縮過程中使用的塊大小(例如,16X16像素)。調(diào)色板哈希信息1004表示關(guān)于顏色調(diào)色板的信息,包括但不限于:哈希索引大小和調(diào)色板條目。所存儲的熵次分辨率圖像1012、所存儲的顏色相關(guān)性次分辨率圖像1014和所存儲的空間預(yù)測器次分辨率圖像1016是所存儲的相應(yīng)次分辨率圖像。所存儲的熵次分辨率圖像可以包括對熵代碼集1008的引用。例如,該引用可以是從熵代碼集1008識別熵代碼集的整數(shù)。如上所述,可以使用與用來壓縮并存儲輸入圖像的相同的過程以遞歸方式來存儲每一個次分辨率圖像。所存儲的經(jīng)壓縮的熵編碼的輸入圖像1022是經(jīng)壓縮的熵編碼的輸入圖像的位流。
[0122]當(dāng)接收了已使用方法100來被編碼的圖像,例如諸如所存儲的經(jīng)壓縮的熵編碼的輸入圖像1022時,對應(yīng)解碼器可以執(zhí)行步驟116-102中的部分的反轉(zhuǎn)來獲取未壓縮且解碼的輸入圖像。圖11圖示了根據(jù)實施例的執(zhí)行解碼過程的方法1100。
[0123]在步驟1102,對經(jīng)壓縮的熵編碼的圖像文件進(jìn)行處理來獲取經(jīng)壓縮的熵編碼的輸入圖像、經(jīng)壓縮的次分辨率圖像和解壓以恢復(fù)輸入圖像所需的其他信息。經(jīng)壓縮的次分辨率圖像包括熵代碼次分辨率圖像、空間預(yù)測器次分辨率圖像和顏色相關(guān)性次分辨率圖像的壓縮版本。在上面關(guān)于圖10描述了經(jīng)壓縮的熵編碼的圖像文件的內(nèi)容。如上所述,每一個經(jīng)壓縮的次分辨率圖像可能已通過遞歸地使用用來壓縮輸入圖像的相同方法100被存儲。因此,可以分別對每一個經(jīng)壓縮的熵編碼的次分辨率圖像執(zhí)行方法1100來獲取對應(yīng)未壓縮的次分辨率圖像。為了易于描述,在下面參考對輸入圖像的解碼描述了方法1100的步驟。
[0124]在步驟1104,執(zhí)行對熵編碼的輸入圖像的解碼?;陟卮a次分辨率圖像中的對應(yīng)像素來確定在對輸入圖像進(jìn)行編碼時使用的熵代碼。如上所述,熵代碼次分辨率圖像的每一個像素對應(yīng)于輸入圖像中的塊,并且指定用于該塊的熵代碼集。熵代碼次分辨率圖像可以為每一個塊包括對對應(yīng)熵代碼集的引用。熵代碼集可以分別地可用于解碼器,在分解的圖像中或通過單獨(dú)傳輸。通過對熵代碼進(jìn)行解碼,從熵編碼的輸入圖像獲取經(jīng)壓縮的輸入圖像。
[0125]在步驟1106,使二維局部性變換反轉(zhuǎn)。例如,在經(jīng)壓縮的輸入圖像中的包括二維局部性變換代碼的每一個位置處,用對應(yīng)的實際像素距離替換值。二維局部性變換距離代碼可以分別地可用于解碼器,在分解的圖像中、通過單獨(dú)傳輸或通過配置。
[0126]在步驟1108,對經(jīng)壓縮的輸入圖像進(jìn)行解壓。如上所述,在壓縮輸入圖像期間,通過將向后引用、像素或調(diào)色板引用中的一個插入從輸入圖像的左上像素到右下像素的各個像素位置來執(zhí)行基于像素的壓縮。在解壓期間,從左上像素到右下像素遍歷經(jīng)壓縮的輸入圖像,插入來自向后引用的數(shù)據(jù)、像素值或來自顏色調(diào)色板的值。如在上面關(guān)于輸入圖像的初始壓縮所述,當(dāng)解壓過程前進(jìn)通過經(jīng)壓縮的輸入圖像的像素時,構(gòu)建新出現(xiàn)的調(diào)色板。當(dāng)遍歷經(jīng)壓縮的像素位置時,通過填充顏色值的哈希表來動態(tài)地構(gòu)建新出現(xiàn)的調(diào)色板。當(dāng)遇到在經(jīng)壓縮的輸入圖像中已插入調(diào)色板索引的位置時,用來自動態(tài)構(gòu)建的新出現(xiàn)的調(diào)色板的對應(yīng)顏色值來替換其。來自像素解壓步驟1108的輸出是經(jīng)解壓的輸入圖像,其仍然包括對顏色空間變換、空間預(yù)測和編碼器所執(zhí)行的其他預(yù)處理步驟的編碼。
[0127]在步驟1110,對輸入圖像中的顏色空間變換進(jìn)行解碼。編碼的顏色空間變換如上所述基于相應(yīng)相關(guān)因子用紅色和藍(lán)色的預(yù)測誤差來替換了顏色值。相關(guān)因子在顏色相關(guān)性次分辨率圖像中可用。使用存儲在顏色相關(guān)性次分辨率圖像中的相關(guān)因子,解碼過程使顏色值恢復(fù)回到其在沒有顏色相關(guān)性情況下的值。
[0128]在步驟1112,反轉(zhuǎn)在編碼期間執(zhí)行的空間預(yù)測。使用在空間預(yù)測次分辨率圖像中可用的空間預(yù)測器來反轉(zhuǎn)空間預(yù)測。對于每一個像素,用實際對應(yīng)的像素值來替換預(yù)測值、或更精確地,預(yù)測誤差值。
[0129]在步驟1114,反轉(zhuǎn)編碼器所執(zhí)行的一個或多個預(yù)處理步驟。在編碼期間所執(zhí)行的預(yù)處理步驟可以包括例如阿爾法替換、顏色離散化和調(diào)色板選擇中的一個或多個。在上面關(guān)于編碼方法100描述了這些預(yù)處理步驟中的每一個。
[0130]當(dāng)完成方法1100時,獲取了原始輸入圖像的解碼版本。
[0131]圖12圖示了根據(jù)實施例的解碼器1200。解碼器1200包括輸入圖像解碼器1201和圖像文件分解器1202。輸入圖像解碼器1201包括熵解碼器1204、二維變換解碼器1206、像素解壓器1208、調(diào)色板生成器1210、顏色空間變換解碼器1212、空間預(yù)測解碼器1214和預(yù)處理解碼器1216。根據(jù)實施例,解碼器1200執(zhí)行方法1200來對先前使用諸如方法100的過程來編碼的圖像進(jìn)行解碼。
[0132]圖像文件分解器1202操作來將諸如方法100的編碼過程所創(chuàng)建的經(jīng)壓縮的編碼的圖像文件當(dāng)作為輸入,并且提取經(jīng)編碼的壓縮的輸入圖像、次分辨率圖像和協(xié)助對輸入圖像進(jìn)行解碼的其他存儲的組分。圖10圖示了被輸入到圖像文件分解器1202的經(jīng)壓縮的編碼的圖像文件的示例性格式。輸入圖像解碼器1201操作來對經(jīng)編碼的壓縮的輸入圖像進(jìn)行解碼,如下所述。根據(jù)實施例,還使用輸入圖像解碼器1201來對次分辨率圖像中的每一個進(jìn)行解碼。
[0133]熵解碼器1204操作來反轉(zhuǎn)通過編碼過程對經(jīng)壓縮的輸入圖像執(zhí)行的熵編碼。熵解碼過程使用(從經(jīng)壓縮的編碼的圖像文件解碼的)熵次分辨率圖像來為輸入圖像的每一個塊選擇熵代碼。
[0134]二維變換解碼器1206操作來用實際像素距離替換編碼器插入在經(jīng)壓縮的輸入圖像中的二維變換代碼。
[0135]像素解壓器1208操作來反轉(zhuǎn)編碼器所執(zhí)行的初始壓縮。根據(jù)實施例,圖像解壓器將在二維距離代碼已被替換之后的熵解碼的壓縮的圖像當(dāng)作為輸入。在解壓期間,從左上像素到右下像素遍歷經(jīng)壓縮的輸入圖像,插入來自向后引用的數(shù)據(jù)、像素值或來自顏色調(diào)色板的值。
[0136]調(diào)色板生成器1210操作來在對輸入圖像解壓期間動態(tài)地創(chuàng)建顏色調(diào)色板(在上面被稱為“新出現(xiàn)的調(diào)色板”)。如關(guān)于方法1100的步驟1108所述,當(dāng)遍歷經(jīng)壓縮的像素位置時,通過填充顏色值的哈希表來動態(tài)地構(gòu)建新出現(xiàn)的調(diào)色板。
[0137]顏色空間變換解碼器1212操作來將解壓的輸入圖像取作為輸入,并且反轉(zhuǎn)編碼器所插入的顏色空間變換編碼。在對顏色空間變換進(jìn)行解碼時,使用以每塊為基礎(chǔ)存儲在顏色空間次分辨率圖像中的顏色相關(guān)器。在上面關(guān)于方法1100的步驟1110描述了顏色空間解碼。
[0138]空間預(yù)測解碼器1214操作來對在編碼過程期間所編碼的空間預(yù)測進(jìn)行解碼。每一個塊的空間預(yù)測器在空間預(yù)測器次分辨率圖像中可用。
[0139]預(yù)處理解碼器1216操作來反轉(zhuǎn)可能已在編碼過程期間執(zhí)行的任何預(yù)處理步驟,諸如阿爾法替換、顏色離散化和調(diào)色板選擇。預(yù)處理解碼器1216的輸出是完全解碼的輸入圖像。
[0140]圖13圖示了其中可以實現(xiàn)諸如圖1-7中所圖示的編碼方法、圖11中所圖示的解碼方法、編碼器800和/或解碼器1200的實施例的計算機(jī)系統(tǒng)1300。系統(tǒng)1300包括處理器1302,其可以包括用于執(zhí)行指令和用于處理信息,包括像素信息的任何計算機(jī)或電子處理器。處理器1302可以包括能夠處理任何指令序列的任何設(shè)備或是該任何設(shè)備的部分。處理器1302可以包括例如計算機(jī)處理器、在移動設(shè)備中的處理器或其他電子和/或數(shù)字處理器。處理器1302可以例如被包括在計算機(jī)、移動計算設(shè)備、智能手機(jī)、機(jī)頂盒、娛樂平臺、月艮務(wù)器、相機(jī)或其他圖像捕捉設(shè)備、服務(wù)器群、云計算機(jī)等中。
[0141]處理器1302可以通過總線1308連接到存儲器1304。存儲器1304可以包括用來存儲信息以供系統(tǒng)1300使用或由系統(tǒng)1300輸出的易失性存儲器、永久性的、虛擬的或另外。存儲器1304可以包括例如隨機(jī)存取存儲器(RAM)和/或動態(tài)RAM (DRAM)0存儲器1304可以用來存儲任何信息,諸如系統(tǒng)1300的狀態(tài)信息。存儲器1304例如還可以用來存儲系統(tǒng)1300的指令,包括圖像處理模塊112的指令。系統(tǒng)1300可以根據(jù)需要或視情況包括一個或多個處理器1302。
[0142]總線1308可以包括允許在系統(tǒng)1300的各種組件之間的交互的通信基礎(chǔ)結(jié)構(gòu)??偩€1308可以例如在系統(tǒng)1300的組件之間,諸如在處理器1302和存儲器1304之間,載送數(shù)據(jù)??偩€1308可以包括在系統(tǒng)1300的組件之間的無線和/或有線通信介質(zhì),并且可以包括并行、串行或其他拓?fù)浒才拧?br>
[0143]永久性存儲1306可以包括組件,如系統(tǒng)1300用來在某一長時間段內(nèi)(例如,與存儲器1304相比)存儲數(shù)據(jù)的存儲器或其他永久性存儲。永久性存儲1306可以包括如在系統(tǒng)1300中的處理器1302所使用的非易失性主存儲器。永久性存儲1306可以包括例如閃存、硬盤、光盤或其他計算機(jī)可讀介質(zhì)。
[0144]輸入/輸出接口 1310可以包括到鍵盤、鼠標(biāo)、語音命令輸入、顯示器或其他輸入或輸出設(shè)備的接口??梢酝ㄟ^輸入/輸出設(shè)備接口 1310接收配置命令和/或待被壓縮的圖像。
[0145]網(wǎng)絡(luò)接口 1312可以包括到諸如局域網(wǎng)或因特網(wǎng)的網(wǎng)絡(luò)的一個或多個接口。網(wǎng)絡(luò)接口 1312可以包括用于有線或無線連接的接口??梢酝ㄟ^網(wǎng)絡(luò)接口 1312接收配置命令和/或待被壓縮的圖像。
[0146]在上面借助于說明指定功能及其關(guān)系的實現(xiàn)的功能構(gòu)造塊來描述了本發(fā)明。為了便于描述,在本文中任意地限定了這些功能構(gòu)造塊的邊界??梢韵薅ㄌ孢x邊界,只要所指定的功能及其關(guān)系被適當(dāng)?shù)貓?zhí)行。
[0147]特定實施例的前面描述如此充分地揭示了本發(fā)明的一般性質(zhì),使得其他人可以在不背離本發(fā)明的一般概念的情況下,通過應(yīng)用在本【技術(shù)領(lǐng)域】內(nèi)的知識而為各種應(yīng)用容易地修改和/或調(diào)整這樣的特定實施例,而不用進(jìn)行過度實驗。因此,基于在本文中提供的教導(dǎo)和指導(dǎo),這樣的調(diào)整和修改意在在所公開的實施例的等價物的含義和范圍內(nèi)。應(yīng)當(dāng)理解的是,在本文中的措詞或術(shù)語出于描述而非限制的目的,因此本說明書的術(shù)語或措詞應(yīng)當(dāng)由技術(shù)人員根據(jù)所述教導(dǎo)和指導(dǎo)來解釋。
[0148]本發(fā)明的寬度和范圍不應(yīng)當(dāng)受任何上述示例性實施例限制,而是應(yīng)當(dāng)僅根據(jù)所附權(quán)利要求及其等價物來限定。
【權(quán)利要求】
1.一種用于對輸入圖像進(jìn)行壓縮的方法,包括: 基于所述輸入圖像中的統(tǒng)計相似區(qū)域來確定多個熵代碼集; 生成包括包含對所述多個熵代碼集的引用的第一次分辨率圖像的一個或多個次分辨率圖像,其中所述引用中的每一個指示所述熵代碼集中的用來對所述輸入圖像中的對應(yīng)像素進(jìn)行編碼的一個; 使用所生成的一個或多個次分辨率圖像來控制包括熵代碼的一個或多個壓縮參數(shù),而對所述輸入圖像進(jìn)行編碼;以及 至少輸出經(jīng)編碼的輸入圖像和所生成的一個或多個次分辨率圖像作為壓縮的熵編碼的圖像文件。
2.一種用于對輸入圖像進(jìn)行壓縮的方法,包括: 從所述輸入圖像針對多個壓縮參數(shù)中的每一個生成相應(yīng)次分辨率圖像; 使用所述相應(yīng)次分辨率圖像來控制所述多個壓縮參數(shù)中的每一個,而對所述輸入圖像進(jìn)行編碼;以及 至少輸出經(jīng)編碼的輸入圖像和所生成的次分辨率圖像作為壓縮的熵編碼的圖像文件。
3.根據(jù)權(quán)利要求2所述的方法,其中生成相應(yīng)次分辨率圖像包括: 基于所述輸入圖像中的統(tǒng)計相似區(qū)域來確定多個熵代碼集;以及 生成包括對所述多個熵代碼集的引用的第一次分辨率圖像,其中所述引用中的每一個指示所述熵代碼集中的用來對所述輸入圖像中的對應(yīng)像素進(jìn)行編碼的一個。
4.根據(jù)權(quán)利要求3所述的方法,其中確定所述多個熵代碼集包括: 將所述輸入圖像分成多個塊; 為來自所述多個塊的各個塊確定熵統(tǒng)計量; 根據(jù)所確定的熵統(tǒng)計量的相似性對所述多個塊進(jìn)行聚類以形成多個塊集群;以及 為所述多個塊集群中的每一個確定熵代碼。
5.根據(jù)權(quán)利要求4所述的方法,其中所形成的塊集群的數(shù)目基于使所述第一次分辨率圖像的位的大小最小化來確定。
6.根據(jù)權(quán)利要求2所述的方法,其中生成相應(yīng)次分辨率圖像包括: 為所述輸入圖像的各個塊確定被配置成減少預(yù)測的熵的空間預(yù)測器;以及 為所述各個塊生成包括所述空間預(yù)測器的第二次分辨率圖像。
7.根據(jù)權(quán)利要求6所述的方法,其中對所述輸入圖像進(jìn)行編碼包括: 從所述第二次分辨率圖像為所述輸入圖像的各個塊確定所述空間預(yù)測器。
8.根據(jù)權(quán)利要求6所述的方法,其中確定所述空間預(yù)測器進(jìn)一步基于最小化所述塊的編碼成本、所述多個塊的預(yù)測誤差以及朝為相鄰像素選擇的空間預(yù)測器的偏向。
9.根據(jù)權(quán)利要求2所述的方法,其中生成相應(yīng)次分辨率圖像包括: 為所述輸入圖像的各個塊,確定與在所述塊的像素中的兩個或更多個顏色分量之間的相關(guān)性相對應(yīng)的顏色相關(guān)因子;以及 為所述各個塊生成包括所述顏色相關(guān)因子的第三次分辨率圖像。
10.根據(jù)權(quán)利要求9所述的方法,其中為所述塊確定所述顏色相關(guān)因子進(jìn)一步基于: 在綠色分量、紅色分量和藍(lán)色分量的任何兩個之間的相關(guān)性;以及 減少所述塊中的紅色和藍(lán)色通道中的熵。
11.根據(jù)權(quán)利要求9所述的方法,其中對所述輸入圖像進(jìn)行編碼包括: 至少部分使用從所述第三次分辨率圖像訪問的所述顏色相關(guān)因子來確定預(yù)測誤差。
12.根據(jù)權(quán)利要求2所述的方法,其中對所述輸入圖像進(jìn)行編碼包括: 使用單獨(dú)的熵代碼來對紅色、藍(lán)色、綠色和阿爾法通道進(jìn)行編碼。
13.根據(jù)權(quán)利要求2所述的方法,其中對所述輸入圖像進(jìn)行編碼包括: 為所述輸入圖像的一個或多個塊的各個組局部地確定顏色調(diào)色板。
14.根據(jù)權(quán)利要求13所述的方法,其中所述顏色調(diào)色板是使用哈希技術(shù)來動態(tài)地確定的。
15.根據(jù)權(quán)利要求2所述的方法,其中存儲經(jīng)編碼的輸入圖像和所生成的次分辨率圖像的經(jīng)編碼的次分辨率圖像包括使用第一編碼技術(shù)對所述輸入圖像、所述第一次分辨率圖像、所述第二次分辨率圖像和所述第三次分辨率圖像進(jìn)行編碼。
16.根據(jù)權(quán)利要求2所述的方法,其中所述編碼包括: 對于所述輸入圖像中的各個像素,基于相應(yīng)成本,選擇來自下述操作中的一個來生成中間圖像:將向后引用插入到更早出現(xiàn)的像素、插入所述像素或插入來自顏色調(diào)色板條目的索引;以及 確定從所述中間圖像的 第一像素到最后像素的操作的最小成本路徑。
17.根據(jù)權(quán)利要求16所述的方法,其中所述向后引用是以像素來指定的。
18.根據(jù)權(quán)利要求16所述的方法,其中所述向后引用是使用針對二維平面中的距離的預(yù)先確定的距離代碼來指定的。
19.根據(jù)權(quán)利要求16所述的方法,其中所述相應(yīng)成本中的每一個包括針對對應(yīng)操作的輸出位數(shù)。
20.根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括: 用偏移對所述輸入圖像中的具有半透明的紅色、綠色和藍(lán)色值的像素的阿爾法值進(jìn)行調(diào)整。
21.根據(jù)權(quán)利要求20所述的方法,其中替換阿爾法值包括: 對所述輸入圖像中的顏色的動態(tài)范圍進(jìn)行封裝,以減少作為結(jié)果的預(yù)測誤差中的新符號。
22.—種編碼器,包括: 處理器; 耦接到所述處理器的存儲器; 熵代碼生成模塊,所述熵代碼生成模塊被配置成當(dāng)由所述處理器執(zhí)行時,促使所述處理器: 基于輸入圖像中的統(tǒng)計相似區(qū)域來確定多個熵代碼集;以及 生成包括對所述多個熵代碼集的引用的第一次分辨率圖像,其中所述引用中的每一個指示所述熵代碼集中的用來對所述輸入圖像中的對應(yīng)像素進(jìn)行編碼的一個; 圖像存儲模塊,所述圖像存儲模塊被配置成當(dāng)由所述處理器執(zhí)行時,促使所述處理器: 使用各個次分辨率圖像來控制多個壓縮參數(shù)中的每一個,而對所述輸入圖像進(jìn)行編碼;以及 經(jīng)壓縮的圖像文件輸出模塊,所述經(jīng)壓縮的圖像文件輸出模塊被配置成當(dāng)由所述處理器執(zhí)行時,促使所述處理器: 至少輸出經(jīng)編碼的輸入圖像和所生成的第一次分辨率圖像作為壓縮的熵編碼的圖像文件。
23.根據(jù)權(quán)利要求22所述的編碼器,其中所述熵代碼生成模塊被進(jìn)一步配置成當(dāng)由所述處理器執(zhí)行時,促使所述處理器: 將所述輸入圖像分成多個塊; 為來自所述多個塊的各個塊確定熵統(tǒng)計量; 根據(jù)所確定的熵統(tǒng)計量的相似性對所述多個塊進(jìn)行聚類以形成多個塊集群;以及 為所述多個塊集群中的每一個確定熵代碼。
24.根據(jù)權(quán)利要求22所述的編碼器,其中所述經(jīng)壓縮的圖像文件輸出模塊被進(jìn)一步配置成當(dāng)由所述處理器執(zhí)行時,促使所述處理器使用第一編碼技術(shù)來存儲經(jīng)編碼的輸入圖像和所生成的第一次分辨率圖像的經(jīng)編碼的版本。
25.—種包括其上編碼有指令的計算機(jī)可讀存儲介質(zhì)的制品,所述指令當(dāng)由計算設(shè)備執(zhí)行時,促使所述計算設(shè)備執(zhí)行操作,所述操作包括: 基于所述輸入圖像中的統(tǒng)計 相似區(qū)域來確定多個熵代碼集; 生成包括包含對所述多個熵代碼集的引用的第一次分辨率圖像的一個或多個次分辨率圖像,其中所述引用中的每一個指示所述熵代碼集中的用來對所述輸入圖像中的對應(yīng)像素進(jìn)行編碼的一個; 使用所生成的一個或多個次分辨率圖像來控制包括熵代碼的一個或多個壓縮參數(shù),而對所述輸入圖像進(jìn)行編碼;以及 輸出經(jīng)編碼的輸入圖像和所生成的一個或多個次分辨率圖像作為壓縮的熵編碼的圖像文件。
26.一種用于對編碼的輸入圖像進(jìn)行解壓的方法,包括: 對壓縮的熵編碼的圖像文件進(jìn)行分解來訪問經(jīng)編碼的輸入圖像和關(guān)于多個壓縮參數(shù)中的每一個的相應(yīng)次分辨率圖像; 使用所述相應(yīng)次分辨率圖像來控制所述多個壓縮參數(shù)中的每一個,對經(jīng)編碼的輸入圖像進(jìn)行解碼;以及 輸出經(jīng)解碼的輸入圖像。
27.一種解碼器,包括: 處理器; 耦接到所述處理器的存儲器; 圖像文件分解器,所述圖像文件分解器被配置成當(dāng)由所述處理器執(zhí)行時,促使所述處理器: 對壓縮的熵編碼的圖像文件進(jìn)行分解來訪問經(jīng)編碼的壓縮的輸入圖像和關(guān)于多個壓縮參數(shù)中的每一個的相應(yīng)次分辨率圖像;以及 輸入圖像解碼器,所述輸入圖像解碼器被配置成當(dāng)由所述處理器執(zhí)行時,促使所述處理器: 使用所述相應(yīng)次分辨率圖像來控制所述多個壓縮參數(shù)中的每一個,而對經(jīng)編碼的輸入圖像進(jìn)行解碼。
【文檔編號】H04N19/463GK103703779SQ201280036377
【公開日】2014年4月2日 申請日期:2012年11月2日 優(yōu)先權(quán)日:2011年11月3日
【發(fā)明者】于爾基·安特羅·阿拉奎加拉 申請人:谷歌公司