專利名稱::?jiǎn)我晃黄矫娴膲嚎s系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明是有關(guān)數(shù)據(jù)壓縮,特別是單一位平面的數(shù)據(jù)壓縮。
背景技術(shù):
:現(xiàn)今的電子裝置(例如電視機(jī)、數(shù)字視頻影碟(DVD)播放器、計(jì)算機(jī))通常會(huì)于屏幕上重迭顯示出額外的消息,此稱為屏幕上顯示(OSD)。0SD提供給使用者對(duì)于電子裝置更多的功能或控制選擇,例如頻道或音量調(diào)整。0SD的顯示有文字(character)及圖標(biāo)(graphic)兩種模式。此兩種模式的數(shù)據(jù)皆儲(chǔ)存于存儲(chǔ)器中,例如只讀存儲(chǔ)器(ROM)。由于OSD數(shù)據(jù)是以圖像的方式來(lái)儲(chǔ)存,因此所需存儲(chǔ)器容量較大且成本高。為了可以有效儲(chǔ)存OSD數(shù)據(jù),因此需要使用圖像壓縮技術(shù)來(lái)降低數(shù)據(jù)的冗余(redundancy)。鑒于一般圖像當(dāng)中相鄰的像素通常具有相同的亮度值,因此,串長(zhǎng)(run-length)編碼是通常用來(lái)進(jìn)行圖像壓縮的編碼方法之一。串長(zhǎng)編碼是由亮度值以及相同亮度值的像素?cái)?shù)量(亦即,串長(zhǎng))所組成。例如,如果連續(xù)十二個(gè)像素皆具有亮度值為150,則可以經(jīng)串長(zhǎng)編碼成為二字節(jié)碼(150,2)。因此,其壓縮率為6(=12字節(jié)/2字節(jié))。即使串長(zhǎng)編碼有助于一般圖像的壓縮,然而,對(duì)于小尺寸圖像(例如OSD),串長(zhǎng)編碼的數(shù)據(jù)壓縮效果并不好,還可能造成數(shù)據(jù)的擴(kuò)充(expand)。鑒于此,因此亟需提出一種有效壓縮技術(shù),用以壓縮特定圖像,特別是0SD圖像。
發(fā)明內(nèi)容鑒于上述,本發(fā)明的目的之一為增進(jìn)圖像(例如0SD圖像)顯示的效能。根據(jù)本發(fā)明實(shí)施例的單一位平面的壓縮系統(tǒng)及方法,以串長(zhǎng)(run-length)編碼器來(lái)壓縮圖像的第一區(qū)塊,其至少包含圖像的第一像素列;并以差距量(offset)編碼器來(lái)壓縮圖像的第二區(qū)塊,其包含異于第一像素列的多個(gè)像素列。本發(fā)明提供了一種單一位平面的壓縮系統(tǒng),包含串長(zhǎng)編碼器,用以壓縮圖像的第一區(qū)塊,其中該第一區(qū)塊至少包含該圖像的第一像素列;及差距量編碼器,用以壓縮該圖像的第二區(qū)塊,其中該第二區(qū)塊包含異于該第一像素列的多個(gè)像素列。本發(fā)明還提供了一種單一位平面的壓縮方法,包含以串長(zhǎng)編碼來(lái)壓縮圖像的第一區(qū)塊,其中該第一區(qū)塊至少包含該圖像的第一像素列;及以差距量編碼來(lái)壓縮該圖像的第二區(qū)塊,其中該第二區(qū)塊包含異于該第一像素列的多個(gè)像素列。圖1顯示本發(fā)明實(shí)施例之一的數(shù)據(jù)切割裝置及方法。圖2A例示文字才莫式的0SD字形(font)。圖2B例示圖標(biāo)模式的0SD圖像(icon)。圖3顯示針對(duì)圖2所產(chǎn)生的編碼進(jìn)行解碼的裝置及方法。圖4A顯示本發(fā)明實(shí)施例的(圖l)編碼器的裝置及方法,用以對(duì)前景區(qū)域的第一非全零像素列進(jìn)行編碼。圖4B顯示本發(fā)明實(shí)施例的(圖3)解碼器的裝置及方法,用以將霍夫曼編碼位串解碼,以還原產(chǎn)生前景區(qū)域的第一非全零像素列。圖5A顯示本發(fā)明實(shí)施例的(圖l)編碼器的裝置及方法,用以對(duì)第一非全零像素列之后的其它非全零像素列進(jìn)行編碼。圖5B顯示本發(fā)明實(shí)施例的二維差距量(offset)編碼的流程圖。圖5C顯示一個(gè)二維差距量編碼的例子。圖5D顯示本發(fā)明實(shí)施例的(圖3)解碼器的裝置及方法,用以將霍夫曼編碼位串加以解碼,以還原產(chǎn)生前景區(qū)域中第一非全零像素列之后的其它非全零像素列。8向量量化9單一位平面10分析圖像11分離為多個(gè)區(qū)域12A背景區(qū)域12B前景區(qū)域120A上半部背景121A下半部背景120B第一非全零像素列121B其它非全零像素列122A、123A、122B、123B編碼器124A、125A、124B、125B編碼表222A、223A、222B、223B解碼器224A、225A、224B、225B解碼表220A上半部背景221A下半部背景220B第一非全零像素列221B其它非全零像素列21結(jié)合區(qū)塊20單一位平面19結(jié)合單一位平面18VQ解碼器41串長(zhǎng)編碼43霍夫曼(Huffman)編碼430串長(zhǎng)編碼的統(tǒng)計(jì)432霍夫曼(Huffman)編碼表434霍夫曼(Huffman)編碼器41B串長(zhǎng)解碼43B霍夫曼(Huffman)解碼432B霍夫曼(Huffman)編碼表434B霍夫曼(Huffman)解碼器51二維差距量(offset)編碼510-1512二維差距量(offset)編碼步驟53霍夫曼(Huffman)編碼530差距量編碼的統(tǒng)計(jì)532霍夫曼(Huffman)編碼表534霍夫曼(Huffman)編碼器53B霍夫曼(Huffman)解碼532B霍夫曼(Huffman)編碼表534B霍夫曼(Huffman)解碼器51B二維差距量(offset)解碼516差距量解碼器517前一像素列具體實(shí)施例方式圖1顯示本發(fā)明實(shí)施例之一的數(shù)據(jù)切割(segmentation)裝置及方法。在本實(shí)施例中,是針對(duì)屏幕上顯示(OSD)圖像進(jìn)行切割,然而,本發(fā)明實(shí)施例也可以適用于其它圖像。先對(duì)此0SD圖像進(jìn)行前置處理,例如向量量化(vectorquantization,VQ)8,又稱為區(qū)塊JM匕(blockquantization)或才羊式匹酉己量化(patternmatchingquantization),其使用編碼表(codebook/codetable/lookup-table)的方式來(lái)對(duì)數(shù)據(jù)進(jìn)行編碼,使其從多維度向量空間成為低維度向量空間。接著,向量量化(VQ)8的輸出被分離為多個(gè)單一位平面(bit-plane)9。每一個(gè)單一位平面是由相同有效位所組成。例如,對(duì)于一個(gè)5位的圖像,可以分離為五個(gè)單一位平面;其每一像素的亮度值為"O"或"l",如圖2A或圖2B所示。第一單一位平面是由最高有效位(MSB)所組成,而第五單一位平面則由最低有效位(LSB)所組成。如圖1所示,對(duì)單一位平面圖像進(jìn)行分析或掃描(方塊IO),以判定像素列的像素值是否全部為零("0")。接下來(lái),于方塊11中,根據(jù)該分析接果將圖像分離為多個(gè)區(qū)域(area)或片段(segment),使得每一個(gè)區(qū)域具有相同或類似的特性(例如統(tǒng)計(jì)特性)。在本實(shí)施例中,0SD圖像被分離為背景區(qū)域12A及前景區(qū)域12B。其中,背景區(qū)域12A在本實(shí)施例中是定義為包含全零(all-zero)像素列的區(qū)域,或者,每一像素列的所有像素值皆相同,例如皆為零("0");前景區(qū)域12B在本實(shí)施例中是定義為非全零(non-all-zero)像素列的區(qū)域,或者,每一像素列的部分像素值(例如"1")異于其它像素值(例如"0")。圖2A例示文字模式的0SD字形(font),圖2B則例示圖標(biāo)模式的0SD圖像(icon)。在這些圖例中,背景區(qū)域12A包含兩個(gè)不連續(xù)部分一上半部背景120A及下半部背景121A,其皆包含全零(all-zero)像素列。至于前景區(qū)域12B則包含多個(gè)連續(xù)的非全零(non-a11-zero)像素列;該前景區(qū)域12B至少包含第一區(qū)塊(其至少包含第一非全零像素列120B,位于前景區(qū)域12B的第一列)以及第二區(qū)塊(其包含第一非全零像素列120B之后的其它非全零像素列121B,直到前景區(qū)域12B的最后一列)。接下來(lái),使用個(gè)別的編碼器122A、123A、122B、123B來(lái)分別對(duì)上半部背景120A、下半部背景121A、第一非全零像素列120B、其它非全零像素列121B進(jìn)行編碼。這些編碼器122A-123B彼此可以是不同的,也可以是部分不同。通過(guò)適當(dāng)?shù)剡x擇適合的編碼技術(shù),使得個(gè)別的區(qū)塊數(shù)據(jù)可以有效地編碼。編碼器122A-123B的有效程度通常視個(gè)別特定應(yīng)用的最佳壓縮比、壓縮時(shí)間或者兩者的折衷來(lái)決定。另外,可以選擇使用輔助編碼表124A、125A、124B、125B,用以配合或加速編碼器122A-123B的編碼。這些編碼表124A-125B可以包含統(tǒng)計(jì)消息,例如圖像出現(xiàn)的頻率。編碼器122A-123B的輸出位串則儲(chǔ)存于一或多個(gè)存儲(chǔ)器裝置(例如只讀存儲(chǔ)器(ROM)),而儲(chǔ)存的數(shù)據(jù)將于后續(xù)被讀取并顯示于顯示裝置(例如電視屏幕或液晶顯示器)。圖3顯示針對(duì)圖2所產(chǎn)生的編碼進(jìn)行解碼的裝置及方法。之前儲(chǔ)存于存儲(chǔ)器裝置的位串l-4被讀取出來(lái),并分別輸入至解碼器222A、223A、222B、223B,其是使用和第二圖編碼相對(duì)應(yīng)的解碼技術(shù)。另外,可以選擇使用輔助解碼表224A、225A、224B、225B,用以配合或加速解碼器222A-223B的解碼。位串1-4經(jīng)解碼器222A-223B的解碼后,分別還原產(chǎn)生上半部背景220A、下半部背景221A、第一非全零像素列220B、其它非全零像素列221B。經(jīng)解碼的區(qū)塊220A-221B通過(guò)方塊21予以結(jié)合后,形成單一位平面(方塊20)。所有單一位平面經(jīng)由方塊19加以結(jié)合后,進(jìn)行VQ解碼18,其是執(zhí)行圖1的向量量化(VQ)8的相對(duì)應(yīng)解碼。圖4A顯示本發(fā)明實(shí)施例的編碼器122B(圖l)裝置及方法,用以對(duì)前景區(qū)域12B的第一非全零像素列120B進(jìn)行編碼。第一非全零像素列120B經(jīng)串長(zhǎng)編碼41后,形成單一位平面串長(zhǎng)編碼。由于單一位平面僅含有像素值"0"或"1",因此使用串長(zhǎng)編碼于個(gè)別的單一位平面時(shí),可以省略掉像素值。接著,再進(jìn)行霍夫曼(Huffman)編碼43。在霍夫曼(Huffman)編碼43中,首先收集串長(zhǎng)編碼的出現(xiàn)(/發(fā)生)頻率(或其統(tǒng)計(jì)特性)(430);接著,根據(jù)此統(tǒng)計(jì)特性產(chǎn)生霍夫曼(Huffman)編碼表432。在霍夫曼(Huffman)編碼表432中,較常出現(xiàn)的串長(zhǎng)編碼被賦予較短編碼,而較罕出現(xiàn)的串長(zhǎng)編碼被賦予較長(zhǎng)編碼?;舴蚵?Huffman)編碼器434則根據(jù)霍夫曼(Huffman)編碼表432進(jìn)行編碼,形成霍夫曼編碼的位串。圖4B顯示本發(fā)明實(shí)施例的解碼器222B(圖3)裝置及方法,用以將霍夫曼編碼位串加以解碼,以還原產(chǎn)生前景區(qū)域12B的第一非全零像素列120B。在霍夫曼(Huffman)解碼43B中,霍夫曼(Huffman)解碼器434B根據(jù)霍夫曼(Huffman)編碼表432B進(jìn)行解碼。接著,經(jīng)霍夫曼解碼的位串由串長(zhǎng)解碼器41B再作進(jìn)一步解碼,因而還原得到前景區(qū)域12B的第一非全零像素列120B。圖5A顯示本發(fā)明實(shí)施例的編碼器123B(圖l)裝置及方法,用以對(duì)第一非全零像素列120B之后的其它非全零像素列121B(直到前景區(qū)域12B的最后一列)進(jìn)行編碼。單一位平面的區(qū)塊首先由二維差距量(offset)51進(jìn)行編碼。圖5B顯示本發(fā)明實(shí)施例的二維差距量(offset)編碼的流程圖,圖5C則顯示一個(gè)編碼例子。在步驟51G中,于前一像素列中決定出第一位置bl。在本實(shí)施例中,此第一位置bl是定義為第一個(gè)出現(xiàn),且(l)與目標(biāo)(或目前)像素值(或顏色)相異,(2)位于目標(biāo)像素的右方,且(3)位于像素值(顏色)轉(zhuǎn)換處。例如,圖5C所示的位置bl即為第一位置,因?yàn)槠湎袼刂?"l"(白色))與目標(biāo)(或目前)像素值("0"(黑色))相異,位于目標(biāo)像素的右方,且位于像素值轉(zhuǎn)換處(由"0"轉(zhuǎn)換為"1")。在步驟511中,于目前像素列決定出第二位置al。在本實(shí)施例中,此第二位置al是定義為欲編碼像素(亦即,緊接于經(jīng)編碼的目標(biāo)像素右邊的像素)之后第一個(gè)像素值(顏色)轉(zhuǎn)換處。例如,圖5C所示的位置al即為第二位置,因?yàn)槠湮挥谟幋a像素之后第一個(gè)像素值(顏色)轉(zhuǎn)換處(由'T,轉(zhuǎn)換為"0")。于步驟512中,決定位置al與位置bl的差距量(offset)。在本實(shí)施例中,差距量是定義為自位置bl至位置al的橫向距離。例如,在圖5C中,自位置bl至位置al的距離(或差距量)為"-2"。繼續(xù)參閱圖5A,接著將差距量編碼再進(jìn)行霍夫曼(Huffman)的編碼53。類似于圖4A,在霍夫曼(Huffman)編碼53中,首先收集差距量編碼的出現(xiàn)(/發(fā)生)頻率(或其統(tǒng)計(jì)特性)(530);接著,根據(jù)此統(tǒng)計(jì)特性產(chǎn)生霍夫曼(Huffman)編碼表532。在霍夫曼(Huffman)編碼表532中,較常出現(xiàn)的差距量編碼^皮賦予較短編碼,而較罕出現(xiàn)的差距量編碼被賦予較長(zhǎng)編碼?;舴蚵?Huffman)9編碼器534則根據(jù)霍夫曼(Huffman)編碼表532進(jìn)行編碼,形成霍夫曼編碼的位串。圖5D顯示本發(fā)明實(shí)施例的解碼器223B(圖3)裝置及方法,用以將霍夫曼編碼位串加以解碼,以還原產(chǎn)生前景區(qū)域12B中第一非全零像素列120B之后的其它非全零像素列121B(直到前景區(qū)域12B的最后一列)。在霍夫曼(Huffman)解碼53B中,霍夫曼(Huffman)解碼器534B根據(jù)霍夫曼(Huffman)編碼表532B進(jìn)行解碼。接著,經(jīng)霍夫曼解碼的位串則進(jìn)行差距量解碼51B,.用以還原得到前景區(qū)域12B中第一非全零像素列12OB之后的其它非全零像素列121B。差距量解碼51B是由差距量解碼器516配合可儲(chǔ)存前一像素列數(shù)據(jù)的儲(chǔ)存區(qū)域517來(lái)完成差距量解碼。根據(jù)上述的實(shí)施例,通過(guò)切割方式而得以增進(jìn)編碼的效能。再者,OSD圖像(例如圖2A、圖2B所示者)的前景區(qū)域12B還可以再作進(jìn)一步編碼,以進(jìn)一步增進(jìn)OSD的顯示效能。本發(fā)明實(shí)施例適用于OSD圖像或與其尺寸相當(dāng)?shù)膱D像,然而也可適用于其它尺寸的圖像壓縮。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用以限定本發(fā)明的權(quán)利要求范圍;凡其它未脫離本發(fā)明所揭示的精神下所完成的等效改變或修飾,均應(yīng)包含在上述的權(quán)利要求范圍內(nèi)。權(quán)利要求1.一種單一位平面的壓縮系統(tǒng),包含串長(zhǎng)編碼器,用以壓縮圖像的第一區(qū)塊,其中該第一區(qū)塊至少包含該圖像的第一像素列;及差距量編碼器,用以壓縮該圖像的第二區(qū)塊,其中該第二區(qū)塊包含異于該第一像素列的多個(gè)像素列。2.根據(jù)權(quán)利要求1所述單一位平面的壓縮系統(tǒng),還包含霍夫曼編碼器,用以將該串長(zhǎng)編碼的第一區(qū)塊作進(jìn)一步編碼。3.根據(jù)權(quán)利要求1所述單一位平面的壓縮系統(tǒng),還包含霍夫曼編碼器,用以將該差距量編碼的第二區(qū)塊作進(jìn)一步編碼。4.根據(jù)權(quán)利要求1所述單一位平面的壓縮系統(tǒng),其中上述的差距量編碼器是根據(jù)前一像素列來(lái)對(duì)目前像素列進(jìn)行編碼。5.根據(jù)權(quán)利要求4所述單一位平面的壓縮系統(tǒng),其中上述的差距量編碼器執(zhí)行以下步驟于該前一像素列中決定出第一位置,其中該第一位置是定義為第一個(gè)出現(xiàn),且與該目前像素列的目前像素值相異,并位于該目前像素的右方,且位于像素值轉(zhuǎn)換處;于該目前像素列中決定出第二位置,其中該第二位置是定義為欲編碼像素之后的第一個(gè)像素值轉(zhuǎn)換處,其中該欲編碼像素為緊接于該目前像素的右邊;及決定該第一位置與該第二位置之間的橫向差距量。6.根據(jù)權(quán)利要求1所述單一位平面的壓縮系統(tǒng),還包含串長(zhǎng)解碼器,用以將該串長(zhǎng)編碼的第一區(qū)塊進(jìn)行解碼。7.根據(jù)權(quán)利要求2所述單一位平面的壓縮系統(tǒng),還包含霍夫曼解碼器,用以將該霍夫曼編碼的第一區(qū)塊進(jìn)行解碼。8.根據(jù)權(quán)利要求1所述單一位平面的壓縮系統(tǒng),還包含差距量解碼器,用以將該差距量編碼的第二區(qū)塊進(jìn)行解碼。9.根據(jù)權(quán)利要求3所述單一位平面的壓縮系統(tǒng),還包含霍夫曼解碼器,用以將該霍夫曼編碼的第二區(qū)塊進(jìn)行解碼。10.—種單一位平面的壓縮方法,包含以串長(zhǎng)編碼來(lái)壓縮圖像的第一區(qū)塊,其中該第一區(qū)塊至少包含該圖像的第一像素列;及以差距量編碼來(lái)壓縮該圖像的第二區(qū)塊,其中該第二區(qū)塊包含異于該第一像素列的多個(gè)像素列。11.根據(jù)權(quán)利要求IO所述單一位平面的壓縮方法,還包含步驟,以霍夫曼編碼將該串長(zhǎng)編碼的第一區(qū)塊作進(jìn)一步編碼。12.根據(jù)權(quán)利要求10所述單一位平面的壓縮方法,還包含步驟,以霍夫曼編碼將該差距量編碼的第二區(qū)塊作進(jìn)一步編碼。13.根據(jù)權(quán)利要求IO所述單一位平面的壓縮方法,其中上述的差距量編碼是根據(jù)前一像素列來(lái)對(duì)目前像素列進(jìn)行編碼。14.根據(jù)權(quán)利要求13所述單一位平面的壓縮方法,其中上述的差距量編碼包含以下步驟于該前一像素列中決定出第一位置,其中該第一位置是定義為第一個(gè)出現(xiàn),且與該目前像素列的目前像素值相異,并位于該目前像素的右方,且位于像素值轉(zhuǎn)換處;于該目前像素列中決定出第二位置,其中該第二位置是定義為欲編碼像素之后的第一個(gè)像素值轉(zhuǎn)換處,其中該欲編碼像素為緊接于該目前像素的右邊;及決定該第一位置與該第二位置之間的橫向差距量。15.根據(jù)權(quán)利要求IO所述單一位平面的壓縮方法,還包含步驟,以串長(zhǎng)解碼將該串長(zhǎng)編碼的第一區(qū)塊進(jìn)行解碼。16.根據(jù)權(quán)利要求11所述單一位平面的壓縮方法,還包含步驟,以霍夫曼解碼將該霍夫曼編碼的第一區(qū)塊進(jìn)行解碼。17.根據(jù)權(quán)利要求IO所述單一位平面的壓縮方法,還包含步驟,以差距量解碼將該差距量編碼的第二區(qū)塊進(jìn)行解碼。18.根據(jù)權(quán)利要求12所述單一位平面的壓縮方法,還包含步驟,以霍夫曼解碼將該霍夫曼編碼的第二區(qū)塊進(jìn)行解碼。全文摘要一種單一位平面的壓縮系統(tǒng)。以串長(zhǎng)(run-length)編碼器來(lái)壓縮圖像的第一區(qū)塊,其至少包含圖像的第一像素列。以差距量(offset)編碼器來(lái)壓縮圖像的第二區(qū)塊,其包含異于第一像素列的多個(gè)像素列。文檔編號(hào)G06T5/00GK101516007SQ20081013578公開日2009年8月26日申請(qǐng)日期2008年7月14日優(yōu)先權(quán)日2008年2月22日發(fā)明者陳瀅如申請(qǐng)人:奇景光電股份有限公司