使用精細(xì)劃分塊匹配的圖像壓縮方法
【專利說(shuō)明】使用精細(xì)劃分塊匹配的圖像壓縮方法
[0001]
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及一種數(shù)字視頻壓縮編碼及解碼系統(tǒng),特別是計(jì)算機(jī)屏幕圖像和視頻的編碼及解碼的方法。
[0003]
【背景技術(shù)】
[0004]圖像的數(shù)字視頻信號(hào)的自然形式是圖像的序列。一幀圖像通常是由若干像素組成的矩形區(qū)域,而數(shù)字視頻信號(hào)就是由幾十幀至成千上萬(wàn)幀圖像組成的視頻圖像序列,有時(shí)也簡(jiǎn)稱為視頻序列或序列。對(duì)數(shù)字視頻信號(hào)進(jìn)行編碼就是對(duì)一幀一幀圖像進(jìn)行編碼。
[0005]最新國(guó)際視頻壓縮標(biāo)準(zhǔn)HEVC (High Efficiency Video Coding)中,對(duì)一巾貞圖像進(jìn)行編碼時(shí),把一幀圖像劃分成若干塊MxM像素的子圖像,稱為“編碼單元(Coding Unit簡(jiǎn)稱⑶)”,以⑶為基本編碼單位,對(duì)子圖像一塊一塊進(jìn)行編碼。常用的M的大小是8,16,32,64。因此,對(duì)一個(gè)視頻圖像序列進(jìn)行編碼就是對(duì)各幀圖像的各個(gè)編碼單元即CU依次進(jìn)行編碼。在任一時(shí)刻,正在編碼中的CU稱為當(dāng)前編碼CU。同樣,解碼時(shí)也是對(duì)各個(gè)編碼單元即⑶依次進(jìn)行解碼,最終重構(gòu)出整個(gè)視頻圖像序列。在任一時(shí)刻,正在解碼中的⑶稱為當(dāng)前解碼CU。當(dāng)前編碼CU或當(dāng)前解碼CU都統(tǒng)稱為當(dāng)前CU。
[0006]為適應(yīng)一幀圖像內(nèi)各部分圖像內(nèi)容與性質(zhì)的不同,有針對(duì)性地進(jìn)行最有效的編碼,一幀圖像內(nèi)各CU的大小可以是不同的,有的是8x8,有的是64x64,等等。為了使不同大小的CU能夠無(wú)縫拼接起來(lái),一幀圖像總是先劃分成大小完全相同具有NxN像素的“最大編碼單元(Largest Coding Unit簡(jiǎn)稱IXU)”,然后每個(gè)IXU再進(jìn)一步劃分成樹狀結(jié)構(gòu)的多個(gè)大小不一定相同的⑶。因此,IXU也稱為“編碼樹單元(Coding Tree Unit簡(jiǎn)稱CTU)”。例如,一幀圖像先劃分成大小完全相同的64x64像素的IXU (N = 64)。其中某個(gè)IXU由3個(gè)32x32像素的⑶和4個(gè)16x16像素的⑶構(gòu)成,這樣7個(gè)成樹狀結(jié)構(gòu)的⑶構(gòu)成一個(gè)CTU。而另一個(gè)IXU由2個(gè)32x32像素的⑶、3個(gè)16x16像素的⑶和20個(gè)8x8像素的⑶構(gòu)成。這樣25個(gè)成樹狀結(jié)構(gòu)的⑶構(gòu)成另一個(gè)CTU。對(duì)一幀圖像進(jìn)行編碼,就是依次對(duì)一個(gè)一個(gè)CTU中的一個(gè)一個(gè)⑶進(jìn)行編碼。
[0007]一個(gè)彩色像素通常有3個(gè)分量(component)組成。最常用的兩種像素色彩格式(pixel color format)是由綠色分量、藍(lán)色分量、紅色分量組成的GBR色彩格式和由一個(gè)亮度(luma)分量及兩個(gè)色度(chroma)分量組成的YUV色彩格式,通稱為YUV的色彩格式實(shí)際包括多種色彩格式,如YCbCr色彩格式。因此,對(duì)一個(gè)⑶進(jìn)行編碼時(shí),可以把一個(gè)⑶分成3個(gè)分量平面(G平面、B平面、R平面或Y平面、U平面、V平面),對(duì)3個(gè)分量平面分別進(jìn)行編碼;也可以把一個(gè)像素的3個(gè)分量捆綁組合成一個(gè)3元組,對(duì)由這些3元組組成的CU整體進(jìn)行編碼。前一種像素及其分量的排列方式稱為圖像(及其⑶)的平面格式(planar format),而后一種像素及其分量的排列方式稱為圖像(及其⑶)的疊包格式(packed format)。像素的GBR色彩格式和YUV色彩格式都是像素的3分量表現(xiàn)格式。
[0008]除了像素的3分量表現(xiàn)格式,像素的另一種常用的現(xiàn)有技術(shù)的表現(xiàn)格式是調(diào)色板索引表現(xiàn)格式。在調(diào)色板索引表現(xiàn)格式中,一個(gè)像素的數(shù)值也可以用調(diào)色板的索引來(lái)表現(xiàn)。調(diào)色板空間中存儲(chǔ)了需要被表現(xiàn)的像素的3個(gè)分量的數(shù)值或近似數(shù)值,調(diào)色板的地址被稱為這個(gè)地址中存儲(chǔ)的像素的索引。一個(gè)索引可以表現(xiàn)像素的一個(gè)分量,一個(gè)索引也可以表現(xiàn)像素的3個(gè)分量。調(diào)色板可以是一個(gè),也可以是多個(gè)。在多個(gè)調(diào)色板的情形,一個(gè)完整的索引實(shí)際上由調(diào)色板編號(hào)和該編號(hào)的調(diào)色板的索引兩部分組成。像素的索引表現(xiàn)格式就是用索引來(lái)表現(xiàn)這個(gè)像素。像素的索引表現(xiàn)格式在現(xiàn)有技術(shù)中也被稱為像素的索引顏色(indexed color)或仿顏色(pseudo color)表現(xiàn)格式,或者常常被直接稱為索引像素(indexed pixel)或仿像素(pseudo pixel)或像素索引或索引。索引有時(shí)也被稱為指數(shù)。把像素用其索引表現(xiàn)格式來(lái)表現(xiàn)也稱為索引化或指數(shù)化。
[0009]其他的常用的現(xiàn)有技術(shù)的像素表現(xiàn)格式包括CMYK表現(xiàn)格式和灰度表現(xiàn)格式。
[0010]YUV色彩格式又可根據(jù)是否對(duì)色度分量進(jìn)行下采樣再細(xì)分成若干種子格式:1個(gè)像素由I個(gè)Y分量、I個(gè)U分量、I個(gè)V分量組成的YUV4:4:4像素色彩格式;左右相鄰的2個(gè)像素由2個(gè)Y分量、I個(gè)U分量、I個(gè)V分量組成的YUV4:2:2像素色彩格式;左右上下相鄰按2x2空間位置排列的4個(gè)像素由4個(gè)Y分量、I個(gè)U分量、I個(gè)V分量組成的YUV4:2:0像素色彩格式。一個(gè)分量一般用I個(gè)8~16比特的數(shù)字來(lái)表示。YUV4:2:2像素色彩格式和YUV4:2:0像素色彩格式都是對(duì)YUV4:4:4像素色彩格式施行色度分量的下采樣得到。一個(gè)像素分量也稱為一個(gè)像素樣值(pixel sample)或簡(jiǎn)單地稱為一個(gè)樣值(sample)。
[0011]編碼或解碼時(shí)的最基本元素可以是一個(gè)像素,也可以是一個(gè)像素分量,也可以是一個(gè)像素索引(即索引像素)。作為編碼或解碼的最基本元素的一個(gè)像素或一個(gè)像素分量或一個(gè)索引像素統(tǒng)稱為一個(gè)像素樣值(sample),有時(shí)也通稱為一個(gè)像素值,或簡(jiǎn)單地稱為一個(gè)樣值。
[0012]在本發(fā)明和本發(fā)明專利申請(qǐng)中,“像素樣值”、“像素值”、“樣值”、“索引像素”、“像素索引”是同義詞,根據(jù)上下文,可以明確是表示“像素”還是表示“一個(gè)像素分量”還是表示“索引像素”或者同時(shí)表示三者之任一。如果從上下文不能明確,那么就是同時(shí)表示三者之任一。
[0013]在現(xiàn)有的預(yù)測(cè)編解碼方式,塊匹配編解碼方式,變換編解碼方式中,為了提高編碼效率,可以把一個(gè)⑶劃分成上下2個(gè)或左右2個(gè)或上下左右4個(gè)相等的預(yù)測(cè)單元(Predict1n Unit簡(jiǎn)稱PU),也可以把一個(gè)⑶劃分成四分之一或十六分之一大小的正方形的變換單兀(Transform Unit簡(jiǎn)稱TU)。
[0014]編碼塊或解碼塊是指一幀圖像中對(duì)其施行編碼或解碼的一個(gè)區(qū)域,包括以下至少一種:最大編碼單元LCU、編碼樹單元CTU、編碼單元CU、CU的子區(qū)域、預(yù)測(cè)單元PU、變換單元TU。
[0015]隨著以遠(yuǎn)程桌面為典型表現(xiàn)形式的新一代云計(jì)算與信息處理模式及平臺(tái)的發(fā)展和普及,多臺(tái)計(jì)算機(jī)之間、計(jì)算機(jī)主機(jī)與智能電視、智能手機(jī)、平板電腦等其他數(shù)字設(shè)備之間及各種各類數(shù)字設(shè)備之間的互聯(lián)已經(jīng)成為現(xiàn)實(shí)并日趨成為一種主流趨勢(shì)。這使得服務(wù)器端(云)到用戶端的實(shí)時(shí)屏幕傳輸成為當(dāng)前的迫切需求。由于需要傳輸?shù)钠聊灰曨l數(shù)據(jù)量巨大,對(duì)計(jì)算機(jī)屏幕圖像必須進(jìn)行高效高質(zhì)量的數(shù)據(jù)壓縮。
[0016]充分利用計(jì)算機(jī)屏幕圖像的特點(diǎn),對(duì)計(jì)算機(jī)屏幕圖像進(jìn)行超高效率的壓縮,也是正在制定中的最新國(guó)際視頻壓縮標(biāo)準(zhǔn)HEVC和其他若干國(guó)際標(biāo)準(zhǔn)、國(guó)內(nèi)標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)的一個(gè)主要目標(biāo)。
[0017]計(jì)算機(jī)屏幕圖像的一個(gè)顯著特點(diǎn)是同一幀圖像內(nèi)通常會(huì)有很多相似甚至完全相同的像素圖樣(pixel pattern)。例如,計(jì)算機(jī)屏幕圖像中常出現(xiàn)的中文或外文文字,都是由少數(shù)幾種基本筆劃所構(gòu)成,同一幀圖像內(nèi)可以找到很多相似或相同的筆劃。計(jì)算機(jī)屏幕圖像中常見的菜單、圖標(biāo)等,也具有很多相似或相同的圖樣?,F(xiàn)有的圖像和視頻壓縮技術(shù)中采用的幀內(nèi)預(yù)測(cè)(intra predict1n)方式,僅參考相鄰的像素樣值,無(wú)法利用一幀圖像中的相似性或相同性來(lái)提高壓縮效率?,F(xiàn)有技術(shù)中的巾貞內(nèi)運(yùn)動(dòng)補(bǔ)償(intra mot1ncompensat1n)方式也稱為巾貞內(nèi)塊復(fù)制(intra block copy)方式,用幾種固定大小(8x8,16x16, 32x32,64x64像素)的塊來(lái)進(jìn)行巾貞內(nèi)塊匹配(intra block matching)編碼,不能達(dá)到具有各種不同大小和形狀的比較精細(xì)的匹配。而另一種現(xiàn)有技術(shù)中的串匹配(stringmatching)方式,雖然能有效找到各種不同大小和形狀的精細(xì)匹配,但卻存在復(fù)雜度、計(jì)算量、存儲(chǔ)器讀寫帶寬都較大等問(wèn)題。
[0018]因此,必須尋求新的編碼工具,既能充分發(fā)掘和利用計(jì)算機(jī)屏幕圖像中存在的相似或相同圖樣,以大幅度提高壓縮效果,又把復(fù)雜度、計(jì)算量、存儲(chǔ)器讀寫帶寬等都控制在較小的范圍內(nèi)。
[0019]
【發(fā)明內(nèi)容】
[0020]本發(fā)明的主要技術(shù)特征是在對(duì)一個(gè)當(dāng)前編碼塊進(jìn)行匹配編碼時(shí),把所述編碼塊分割成很多種不同形狀的精細(xì)劃