專利名稱:圖像和視頻的預(yù)測無損編碼的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像和視頻的無損編碼。
背景技術(shù):
無損圖像編碼具有大量的各種各樣的重要應(yīng)用,包括高質(zhì)量的數(shù)碼攝影、電影、圖形等等。它也可應(yīng)用于專業(yè)級視頻編碼,用于在最高可能質(zhì)量設(shè)置上(即無損地)編碼視頻的幀。這些應(yīng)用程序的圖像可具有不同的特征,從而顯示了對設(shè)計(jì)在這些應(yīng)用上可一般應(yīng)用的圖像編/解碼器的困難挑戰(zhàn)。例如,圖形中的圖像具有明顯的邊緣或在色彩上的明顯轉(zhuǎn)變(例如,在文本色和背景色之間、以及在相鄰形狀的邊緣上),而攝影圖像通常是連續(xù)色調(diào)的(即圖像上的色彩是連續(xù)變化的(例如梯度))。
由于圖像特征中的差異,大多數(shù)通用圖像編/解碼器都被設(shè)計(jì)用以壓縮攝影(例如JPEG)或圖形圖像(GIF)。攝影圖像壓縮通常使用如像DCT或小波的去相關(guān)的變換,而圖形圖像壓縮通常使用諸如LZ77或LZ78的基于字符串編/解碼器。一般而言,攝影編/解碼器對圖形作用不佳,因?yàn)閷ψ鳛檗D(zhuǎn)換方法基礎(chǔ)的局部平滑度或DC偏置的假設(shè)在圖形中通常會不成立。相反,圖形編/解碼器則在攝影圖像上表現(xiàn)較差,因?yàn)榉柤箅y以建立好的字典。結(jié)果,現(xiàn)有的用于攝影圖像的圖像編/解碼器沒有為與圖像和視頻編/解碼器的簡便互操作性而設(shè)計(jì),它們也不能有效處理圖形內(nèi)容。
例如,CALIC[如X.Wu,N.Memon和K.Sayood,“用于連續(xù)色調(diào)圖像的基于上下文的適應(yīng)性無損/接近無損的編碼方案”(“A Context-Based Adaptive Lossless/Nearly-Lossless Coding Scheme For Continuous-Tone Images,”)ISO,1995所述],JPEG-LS[如M.J.Weinberger和G.Seroussi,“LOCO-I無損圖像壓縮算法JPEG-LS的原理和標(biāo)準(zhǔn)化”(“The LOCO-I Lossless Image Compression AlgorithmPrinciples and Standardization into JPEG-LS,”)IEEE Trans.Image Processing,卷9,1309-1324頁,2000年8月所述]以及SPIHT[如Said和W.A.Pearlman,“基于層次結(jié)構(gòu)樹上集合劃分的新的快速有效的圖像編/解碼器”(“A New Fast And EfficientImage Codec Based On Set Partitioning In Hierarchical Trees,”)IEEE Trans.OnCircuits and Systems for Video Technology,卷6,第6,243-250頁,1996年6月]是當(dāng)前用于攝影圖像的先進(jìn)技術(shù)水平無損圖像編/解碼器。然而,它們沒有為與圖像和視頻編/解碼器的簡便互操作性而設(shè)計(jì),也不能有效處理圖形內(nèi)容。另一方面,GIF是當(dāng)前先進(jìn)技術(shù)水平的無損圖形編/解碼器。但是,它也不能處理攝影圖像內(nèi)容,也不易集成到視頻編/解碼器中。PTC[如H.S.Malvar,“無小波的快速逐次浮現(xiàn)式圖像編碼”(“Fast Progressive Image Coding Without Wavelets,”)243-252頁,DCC2000所述]是可簡便集成到圖像和/或視頻編/解碼器中的基于宏塊的編/解碼器。然而,對于圖形內(nèi)容它的作用也不是很好。另外,BTPC[如J.A.Robinson,“具有二叉樹預(yù)測編碼的有效通用圖像壓縮”(“Efficient General-Purpose Image CompressionWith Binary Tree Predictive Coding,”)IEEE Transactions on Image Processing,卷6,第4,1997年4月所述]以統(tǒng)一和速度優(yōu)化的設(shè)計(jì)用來處理攝影圖像和圖形圖像,但其壓縮是遠(yuǎn)不夠充分的。
發(fā)明內(nèi)容
預(yù)測無損編碼(PLC)解決了上述提供可一般應(yīng)用于各種各樣圖像和視頻的無損圖像壓縮的問題。在此所示的PLC實(shí)現(xiàn)提供對各種各樣圖像內(nèi)容(象圖像、視頻、圖形)的無損圖形壓縮,其具有與現(xiàn)有無損圖形編/解碼器可比的壓縮效率,并以比大多數(shù)無損圖像編/解碼器更快的運(yùn)行時(shí)復(fù)雜性執(zhí)行。
在此所述的各種預(yù)測無損編碼通過以下至少某些點(diǎn)的組合來獲取這些結(jié)果1在YcoCg色彩空間上操作。該色彩空間改進(jìn)了攝影圖像和圖形圖像內(nèi)容的編碼效率,并還可使用快速、全整數(shù)的過程來執(zhí)行色彩空間到/從流行RGB(紅綠藍(lán))色彩表示的轉(zhuǎn)換。
2在宏塊上操作。這確保預(yù)測無損編碼能簡便地集成到現(xiàn)有的圖像和視頻編/解碼器中,并有益于在硬件和軟件中的規(guī)??勺兊目臻g/時(shí)間實(shí)現(xiàn),例如使用片。
3在宏塊級上使用一個(gè)局部的差分脈沖碼調(diào)制(DPCM)預(yù)測的大集合。這些被設(shè)計(jì)用以優(yōu)化地對來自攝影圖像以及圖形源的圖形數(shù)據(jù)去相關(guān),而不求助于圖像的不規(guī)則采樣或重新掃描(比較J.A.Robinson,“具有二叉樹預(yù)測編碼的有效通用圖像壓縮”(“Efficient General-Purpose Image Compression With Binary TreePredictive Coding,”)IEEE Transactions on Image Processing,卷6,第4,1997年4月;以及X.Wu,N.Memon和K.Sayood,“用于連續(xù)色調(diào)圖像的基于上下文的適應(yīng)性無損/接近無損的編碼方案”(“A Context-Based Adaptive Lossless/Nearly-Lossless Coding Scheme For Continuous-Tone Images,”)ISO,1995)。DPCM也被設(shè)計(jì)用以產(chǎn)生具有零偏差、雙邊拉普拉斯分布的殘差,盡管這些由游程長度GolombRice(RLGR)熵編碼方法進(jìn)行最佳編碼。
4使用游程長度Golomb Rice(RLGR)熵編碼方法來熵編碼各種符號分布。
在一采用這些點(diǎn)組合的實(shí)現(xiàn)中,預(yù)測無損編碼提供所有圖像內(nèi)容(象圖像、視頻和圖形)的無損壓縮,該無損壓縮不僅與CALIC相等并大于包括JPEG-LS、PTC、BTPC等的其它現(xiàn)有格式,而且導(dǎo)致對大多數(shù)圖像內(nèi)容與這些攝影圖像類型編/解碼器相比兩倍或兩倍以上的壓縮,預(yù)測無損編碼還提供比大多數(shù)先進(jìn)技術(shù)的攝影圖像類型編/解碼器快兩倍或兩倍以上的運(yùn)行時(shí)復(fù)雜性。
參照附圖閱讀諸實(shí)施例的以下詳細(xì)描述,本發(fā)明的附加特征和優(yōu)點(diǎn)將變得顯然。
圖1是利用預(yù)測無損編碼的圖像編碼器的框圖。
圖2是示出在圖1編碼器中利用的預(yù)測無損編碼的宏塊和片結(jié)構(gòu)的示圖。
圖3是示出圖1編碼器中DPCM預(yù)測所基于的宏塊中象素鄰域的示圖。
圖4是示出在圖1編碼器中利用的預(yù)測無損編碼中所采用的DPCM預(yù)測模式的示圖。
圖5是列出在圖1編碼器中利用的預(yù)測無損編碼的編碼過程的偽碼列表。
圖6是利用預(yù)測無損編碼的圖像解碼器的框圖。
圖7是用于實(shí)現(xiàn)圖1和圖6PLC編/解碼器的適當(dāng)計(jì)算環(huán)境的框圖。
具體實(shí)施例方式
以下描述涉及預(yù)測無損編碼的實(shí)現(xiàn),該預(yù)測無損編碼組合某些或全部游程長度Golomb Rice(RLGR)熵編碼的混合、多個(gè)DPCM模式、YCoCg色彩空間和宏塊(MB)編碼結(jié)構(gòu),以提供可應(yīng)用于包括攝影圖像(連續(xù)色調(diào))、圖形、以及視頻的各種各樣圖像內(nèi)容中的一種有效和快速編/解碼器。
1.PLC編碼器現(xiàn)在參看圖1,基于預(yù)測無損編碼(PLC)的圖像編碼器100的一說明性示例執(zhí)行圖像數(shù)據(jù)105的編碼或壓縮。輸入到PLC編碼器的該圖像數(shù)據(jù)可以是任意的各種未經(jīng)壓縮的圖像數(shù)據(jù)格式。例如,由所示圖像編碼器處理的一般格式是紅綠藍(lán)(RGB)圖像數(shù)據(jù),諸如攝影圖像或圖形圖像、視頻的幀等等。通常該RGB圖像數(shù)據(jù)被構(gòu)成為圖片元素(象素)的兩維數(shù)組,其中每個(gè)象素被表示為該圖像的紅綠藍(lán)(RGB)色彩樣本。圖像編碼器的可選實(shí)現(xiàn)可使用其它輸入圖像數(shù)據(jù)格式。還應(yīng)理解,可使用預(yù)測無損編碼將該編碼器結(jié)合到視頻編碼器中,用于編碼視頻序列中的幀。
PLC圖像編碼器100通過一組處理器來處理該圖像數(shù)據(jù),包括色彩空間轉(zhuǎn)換器110、宏塊拆分器120、DPCM調(diào)制器130、以及RLGR熵編碼器140。色彩空間轉(zhuǎn)換器110將輸入圖像數(shù)據(jù)的象素從可顯示色彩空間表示轉(zhuǎn)換成YcoCg色彩空間,這改進(jìn)了編碼效率。為了與基于宏塊和片的圖像和視頻編/解碼器兼容,宏塊拆分器120把圖像拆分成宏塊。DPCM編碼器130選擇可用DPCM預(yù)測模式集之一并將其應(yīng)用于每個(gè)獨(dú)立宏塊,這些宏塊產(chǎn)生具有適于RLGR熵編碼的分布的預(yù)測殘差。然后RLGR熵編碼器140對宏塊的預(yù)測殘差進(jìn)行編碼。這產(chǎn)生了圖像數(shù)據(jù)的PLC編碼表示。
1.1 YcoCg色彩空間轉(zhuǎn)換器更具體地,色彩空間轉(zhuǎn)換器110把輸入圖像數(shù)據(jù)的色彩格式轉(zhuǎn)換成YCoCg色彩空間。輸入圖像數(shù)據(jù)的象素通常以可容易顯示的色彩空間格式來表示,諸如紅綠藍(lán)(RGB)色彩空間。YCoCg色彩空間更適于空間有效圖像編碼。已經(jīng)發(fā)現(xiàn)YCoCg對攝影圖像和圖形圖像效果都較好,且根據(jù)編碼增益它比其它色彩變換好。更具體地,YCoCg無損色彩空間與PLC編碼中的RGB色彩空間相比,有約15%的改善。
在RGB格式輸入圖像數(shù)據(jù)的任何編碼之前,完成RGB到Y(jié)CoCg色彩空間的轉(zhuǎn)換。在PLC編碼器100的所示實(shí)現(xiàn)中,色彩空間轉(zhuǎn)換器110使用了在H.S.Malvar和G.J.Sullivan.“YCoCg-RA Color Space With RGB Reversibility and Low DynamicRange,”(“YCoCg-R帶有RGB可逆轉(zhuǎn)性和低動(dòng)態(tài)范圍的色彩空間”)Joint VideoTeam of ISO/IEC MPEG & ITU-T VCEG Doc.JVT-1014,2003年7月的文章中更詳細(xì)描述的RGB到Y(jié)CoCg轉(zhuǎn)換過程,它提供了一種無損地去相關(guān)RGB成為YCoCg色彩空間的方法。通過以下等式(1)中定義的向前轉(zhuǎn)換可影響RGB到Y(jié)CoCg色彩空間的轉(zhuǎn)換。
YC0Cg=141214120-12-1412-14RGB...(1)]]>解碼器600(圖6)可包括返回RGB色彩空間的轉(zhuǎn)換。該轉(zhuǎn)換使用等式(2)中定義的逆操作。
RGB=11-11011-1-1YC0Cg...(2)]]>提升步驟被用以獲取向前和向后的轉(zhuǎn)換,導(dǎo)致快速全整數(shù)轉(zhuǎn)換過程。向前方向的提升步驟由以下給出Co=R-B;x=B+(Co/2);Cg=G-x;Y=x+(Cg/2);而相反方向的則由以下給出x=Y(jié)-(Cg/2);G=x+Cg;B=x-(Co/2);R=Co+B;由此可見,這些提升步驟都可用非??焖俚娜麛?shù)加法、減法和比特移位來實(shí)現(xiàn)。
1.2宏塊編碼宏塊拆分器120將圖像拆分成宏塊(MB),如圖2所示。在圖像編碼器100的一實(shí)現(xiàn)中,每個(gè)MB的尺寸是16×16象素。其它可任選的實(shí)現(xiàn)可使用其它宏塊尺寸。該宏塊結(jié)構(gòu)使得把基于PLC的圖像編碼器插入常用的圖像和視頻編/解碼器可行并簡便。它還使硬件和軟件實(shí)現(xiàn)能夠簡便使用片編碼,其中經(jīng)編碼比特流被分組成片。通常這些片是某個(gè)整數(shù)行的MB。這造就了靈活的存儲器覆蓋區(qū),也輕松促成了空間/時(shí)間的可收縮性(例如通過使用并行或多線程的執(zhí)行單元)。
宏塊拆分器把YCoCg色彩空間的每個(gè)平面都拆分成MB,并單獨(dú)對其編碼。對于每個(gè)單獨(dú)的MB,PLC圖形編碼器100編碼以下的語法元素DPCM模式、MB模式、以及DPCM殘差。
DPCM模式元素標(biāo)識由DPCM調(diào)制器130選擇的DPCM模式,以去相關(guān)該MB中的數(shù)據(jù)。在該實(shí)現(xiàn)中,DPCM調(diào)制器可從8個(gè)可能DPCM模式中進(jìn)行選擇,盡管在其它可任選的PLC編碼器實(shí)現(xiàn)中可使用更多或更少的DPCM模式。宏塊拆分器使用單獨(dú)的RLGR環(huán)境來編碼用于MB的DPCM模式。
對于MB模式元素,宏塊拆分器使用兩個(gè)符號表,帶有獨(dú)立的專用RLGR編碼環(huán)境。該MB模式對以下兩個(gè)事件之一發(fā)出信號a)該MB編碼DPCM值;或者b)該MB是“平”的,因此被跳過。在后面情形中,該事件被視為是從把MB的象素編碼/解碼為DPCM殘差中的提前推出,因?yàn)镈PCM模式元素足以重新產(chǎn)生所有的象素值。該平直(flat)宏塊模式編碼如下進(jìn)行更詳細(xì)描述。
最后,如果未跳過該MB,DPCM殘差在PLC編碼輸出流的MB分段中進(jìn)行編碼。
1.3 DPCM模式DPCM調(diào)制器130選擇更優(yōu)地去相關(guān)MB的DPCM模式,并將其應(yīng)用于當(dāng)前MB以產(chǎn)生用RLGR熵編碼可更好壓縮的DPCM殘差。RLGR熵編碼在其輸入值為零偏移的雙邊拉普拉斯分布時(shí)獲得其最佳編碼性能。例如,所示基于PLC編碼器中的DPCM調(diào)制器130可在8種不同DPCM模式之間切換以去相關(guān)每個(gè)MB。其它可任選的實(shí)現(xiàn)可包括更少或更多的DPCM模式。這些各種不同DPCM模式被設(shè)計(jì)成用以對各種不同MB象素模式產(chǎn)生具有這種優(yōu)化分布的殘差。這使得落入MB內(nèi)的不同主導(dǎo)邊緣方向能夠有效地進(jìn)行編碼。
參看圖3,各種DPCM模式指定使用哪個(gè)象素領(lǐng)域300來預(yù)測該象素的值。更具體地,宏塊每個(gè)象素310的值由一個(gè)或多個(gè)鄰象素320-323的某些組合來預(yù)測。由象素的真實(shí)值減去其預(yù)測值獲取的差值是該象素的DPCM殘差。所示DPCM調(diào)制器130中的8種DPCM模式基于相鄰左象素320、左上象素321、上象素322、以及右上象素323的組合使用預(yù)測。這使得DPCM模式能通過MB應(yīng)用于單獨(dú)、單向的通過或掃描中(即從上到下地掃描MB的行,從左到右地掃描每一行象素)。
圖4陳述用于所示DPCM調(diào)制器130的8種DPCM預(yù)測模式。這些模式被設(shè)計(jì)用以解除各種通用象素模式的相互聯(lián)系而成為具有更適于RLGR熵編碼的符號分布的殘差集。更具體地,這些DPCM預(yù)測模式如下模式0這是“原始”或非DPCM模式,其中單個(gè)象素不經(jīng)任何減法直接進(jìn)行編碼。該模式對于不具M(jìn)B上一致的好預(yù)測器的隨機(jī)或“斑點(diǎn)”類型MB有用。
模式1在此DPCM模式中,在編碼之前從其左邊的緊鄰象素減去象素值。當(dāng)主邊緣是水平走向時(shí),該模式是有效的。
模式2在此DPCM模式中,從其上面的緊鄰象素減去象素值。當(dāng)主邊緣是垂直走向時(shí),該模式是有效的。
模式3在此DPCM模式中,從其左邊和上面的鄰象素的最小值,或者從從其左邊和上面的鄰象素的最大值減去象素值。該模式對穿過當(dāng)前象素位置的斜對角邊緣有用。
模式4在此DPCM模式中,從其上面和右上角的鄰象素的平均值減去象素值。該模式對具有不同方向的斜對角邊緣有用。
模式5在此DPCM模式中,從其左上角的鄰象素減去象素值。該模式對例如圖形內(nèi)容中的對角帶有用。
模式6在此DPCM模式中,調(diào)制器130從其左邊的鄰象素減去其上面和左上鄰象素的差值的同一值。該模式對帶狀水平斜坡有用。
模式7在此DPCM模式中,調(diào)制器130減去左邊和上面鄰象素的平均值。它對在MB中占主導(dǎo)的對角邊緣也有用。
DPCM調(diào)制器測試DPCM預(yù)測模式1到7的每一種(即除了非DPCM模式-模式0)從而可選擇產(chǎn)生更多可壓縮DPCM殘差的那種DPCM模式。DPCM調(diào)制器應(yīng)用相應(yīng)的DPCM模式,并檢查結(jié)果殘差的符號分布。然后DPCM調(diào)制器檢查哪一種預(yù)測模式產(chǎn)生了具有與RLGR熵編碼的理想分布最接近分布的殘差。DPCM調(diào)制器還檢查該最接近分布是否與理想的零偏差、雙邊拉普拉斯分布充分接近。DPCM調(diào)制器選擇帶有宏塊最接近理想分布的DPCM預(yù)測模式,除非它未符合充分閾值。否則,如果帶有宏塊最接近理想分布的DPCM預(yù)測模式不符合充分閾值,則該DPCM調(diào)制器選擇非DPCM模式為缺省模式。
1.4平直MB模式編碼如上所述,基于PLC編碼器100還可用平直MB模式來編碼MB。當(dāng)DPCM模式應(yīng)用于MB所導(dǎo)致的DPCM殘差都為零時(shí),使用平直MB模式。當(dāng)測試DPCM模式以選擇在MB上使用的DPCM模式時(shí),DPCM調(diào)制器還檢查當(dāng)前所測試的DPCM模式是否產(chǎn)生MB的所有零DPCM殘差。當(dāng)確定DPCM模式產(chǎn)生了MB的所有零DPCM殘差時(shí),基于PLC的編碼器100則用平直MB模式來編碼MB-無需進(jìn)一步測試DPCM模式。當(dāng)用平直MB模式編碼時(shí),基于PLC的編碼器100可僅以MB模式和DPCM模式(即跳過編碼DPCM殘差)來編碼輸出比特流中的MB。輸出比特流中MB的平直MB模式和DPCM模式編碼足以解碼MB象素的值。因?yàn)槲淳幋aDPCM殘差,平直MB模式產(chǎn)生用于編碼MB的更大壓縮效率。
1.5多種游程長度Golomb Rice(RLGR)并聯(lián)環(huán)境再參看圖1,使用RLGR熵編碼器140中的RLGR編碼對MB模式、DPCM模式、以及由DPCM調(diào)制器130所產(chǎn)生的DPCM殘差進(jìn)行熵編碼。所示基于PLC編碼器100中的RLGR熵編碼器使用在H.Malvar,“Fast Progressive wavelet coding,”(“快速逐次浮現(xiàn)小波編碼”)Proc.IEEE Data Compression Conference,Snowbird,UT,336-343頁,1999年3-4月的文章中所述的游程長度Golomb Rice編碼過程。該RLGR編碼過程不是真正的一般熵編碼器,諸如自適應(yīng)算術(shù)編碼器。RLGR作出假設(shè)大多數(shù)可能符號是零。因此,如果帶有大多數(shù)可能符號不為零的數(shù)字串被提供給RLGR,RLGR編碼將具較差的編碼性能。如果該輸入來自具有接近于拉普拉斯符號分布的源,則RLGR編碼過程將很好地(很接近熵地)編碼該數(shù)據(jù),且在許多情形中它比自適應(yīng)算術(shù)編碼表現(xiàn)更好。在基于PLC的編碼器100中,DPCM預(yù)測模式被設(shè)計(jì)用以產(chǎn)生RLGR效果最好的普通攝影和圖形圖像內(nèi)容的帶符號整數(shù)(對攝影和圖形圖像)的零偏差雙邊拉普拉斯分布。
所示基于PLC編碼器中的RLGR熵編碼器140對以下的每一個(gè)使用單獨(dú)的RLGR關(guān)聯(lián)環(huán)境a)MB模式(平直或非平直);b)DPCM模式;c)DPCM殘差值(整數(shù)的零偏差雙邊拉普拉斯分布)。在每一個(gè)這些環(huán)境中,RLGR熵編碼器執(zhí)行二進(jìn)制字符串的自適應(yīng)游程長度/Golomb-Rice二進(jìn)制編碼,該二進(jìn)制字符串由來自通過例如用于DPCM殘差值關(guān)聯(lián)環(huán)境的DPCM殘差的獨(dú)立關(guān)聯(lián)環(huán)境所編碼的符號的有效比特形成。對編碼不同符號分布的多種RLGR關(guān)聯(lián)環(huán)境的使用改進(jìn)了熵編碼性能。這是因?yàn)檫m應(yīng)每一種單個(gè)分布及其特有的偏斜度是非常重要的。作為示例,MB模式更可能不都是平直的。相應(yīng)地,其分布也可能偏斜于平直情形。但是,如果內(nèi)容是圖形而不是攝影圖像,則會不同。提供特定的RLGR關(guān)聯(lián)環(huán)境使基于PLC編碼器100中的RLGR熵編碼器能以更高效率適應(yīng)這種單峰分布。在基于PLC編碼器的可選實(shí)現(xiàn)中,可使用更多或更少的RLGR關(guān)聯(lián)環(huán)境。在這種實(shí)現(xiàn)中使用編碼DPCM殘差的附加單獨(dú)RLGR關(guān)聯(lián)環(huán)境可提供更大的熵編碼增益并防止關(guān)聯(lián)環(huán)境變?nèi)?,但是在所示?shí)現(xiàn)中三種單獨(dú)關(guān)聯(lián)環(huán)境可因其實(shí)用性而使用。
當(dāng)由RLGR熵編碼器進(jìn)行熵編碼之后,比特流多路復(fù)用器150將MB的RLGR編碼數(shù)據(jù)組合成輸出比特流195。在使用片編碼的實(shí)現(xiàn)中,比特流多路復(fù)用器將經(jīng)編碼的MB組裝或打包成片。
1.6偽碼列表上述基于PLC編碼器100中執(zhí)行的PLC編碼在圖5所示的偽碼列表500中歸納。在該偽碼列表中,“ImageBand”輸入?yún)?shù)表示來自色彩空間諸坐標(biāo)之一(即Y、Co、或Cg)的圖像數(shù)據(jù)。在圖像到Y(jié)coCg色彩空間的色彩空間轉(zhuǎn)換之后,調(diào)用該P(yáng)LC編碼過程。
2.PLC解碼器現(xiàn)在參看圖6,基于預(yù)測無損編碼(PLC)的圖像解碼器600執(zhí)行由基于PLC圖像編碼器100的PLC編碼所產(chǎn)生的輸出比特流195的解碼。在該基于PLC圖像解碼器600中,比特流多路分解器610首先在比特流中分離出單個(gè)經(jīng)編碼MB、和該MB的經(jīng)編碼MB模式、DPCM模式、以及DPCM殘差。比特流多路分解器向RLGR解碼器620提供該分離數(shù)據(jù)。
RLGR解碼器620解碼每個(gè)MB的經(jīng)RLGR編碼的MB模式、DPCM模式、以及DPCM殘差。該RLGR解碼器620使用在H.Malvar,“Fast Progressive waveletcoding,”(“快速逐次浮現(xiàn)小波編碼”)Proc.IEEE Data Compression Conference,Snowbird,UT,336-343頁,1999年3-4月的文章中所述的RLGR解碼過程。然后RLGR解碼器620向DPCM解調(diào)器630提供經(jīng)解碼數(shù)據(jù)。
DPCM解調(diào)器630在用于該MB的DPCM預(yù)測模式的DPCM殘差上執(zhí)行逆過程,因而恢復(fù)了MB數(shù)據(jù)。對于以平直MB模式編碼的MB而言,該DPCM解調(diào)器630對經(jīng)解碼DPCM預(yù)測模式的所有零殘差執(zhí)行逆過程。
在應(yīng)用了逆向DPCM預(yù)測后,圖像重建器640重新組合MB以重建該圖像。然后色彩空間轉(zhuǎn)換器650執(zhí)行YCoCg色彩空間的逆轉(zhuǎn)換,以將該圖像數(shù)據(jù)轉(zhuǎn)換回RGB圖像。在某些實(shí)現(xiàn)中,可略去該轉(zhuǎn)換,而圖像則仍為YCoCg色彩空間格式。
3.計(jì)算環(huán)境所述基于PLC編碼器100和/或解碼器600(PLC編/解碼器)可在任意各種圖像和視頻處理裝置和計(jì)算裝置上實(shí)現(xiàn),包括各種構(gòu)成要素的計(jì)算機(jī)(個(gè)人、工作站、服務(wù)器、手持式、膝上型、筆記本、或其它可移動(dòng)計(jì)算機(jī))、分布式計(jì)算網(wǎng)絡(luò)和Web服務(wù)、以及圖像和視頻記錄器/播放器/接收器/查看器,作為一些一般示例。基于PLC編/解碼器可在硬件電路中實(shí)現(xiàn),也可在計(jì)算機(jī)或其它計(jì)算環(huán)境中執(zhí)行的編/解碼器軟件780中實(shí)現(xiàn),如圖7所示。
圖7示出了所述技術(shù)可在其中實(shí)現(xiàn)的計(jì)算環(huán)境700(例如計(jì)算機(jī))中適當(dāng)圖像/視頻處理裝置的一般化示例。該環(huán)境700并非旨在提出對本發(fā)明使用或功能性范圍的任何限制,因?yàn)楸景l(fā)明可在不同的通用或?qū)S脠D像/視頻處理環(huán)境中實(shí)現(xiàn)。
參照圖7,計(jì)算環(huán)境700包括至少有關(guān)處理單元710和存儲器720。在圖7中,最基本配置730包括在虛線中。處理單元710執(zhí)行計(jì)算機(jī)可執(zhí)行指令,并可以是真實(shí)或虛擬的處理器。在多處理系統(tǒng)中,多處理單元執(zhí)行計(jì)算機(jī)可執(zhí)行指令以增加處理功效。存儲器720可以是易失性存儲器(例如寄存器、高速緩存、RAM)、非易失性存儲器(例如ROM、EEPROM、閃存等等)、或者兩者的某些組合。存儲器720存儲實(shí)現(xiàn)基于PLC編/解碼器的軟件780。
計(jì)算環(huán)境可具有附加特征。例如,計(jì)算環(huán)境700包括存儲740、一個(gè)或多個(gè)輸入設(shè)備750、一個(gè)或多個(gè)輸出設(shè)備760、以及一個(gè)或多個(gè)通信連接770。諸如總線、控制器、或網(wǎng)絡(luò)的相互連接機(jī)制(未示出)把計(jì)算環(huán)境700的組件相互連接起來。通常,操作系統(tǒng)軟件(未示出)為在計(jì)算環(huán)境700中執(zhí)行的其它軟件提供操作環(huán)境,并協(xié)調(diào)計(jì)算環(huán)境700組件的動(dòng)作。
存儲740可以是可移動(dòng)或不可移動(dòng)的,并包括磁盤、磁帶或磁卡、CD-ROM、CD-RW、DVD、或可用以存儲信息并可在計(jì)算環(huán)境700中訪問的任何其它介質(zhì)。存儲740存儲基于PLC的編/解碼器軟件780的指令。
輸入設(shè)備750(例如作為設(shè)備連接結(jié)構(gòu)100中控制點(diǎn)操作的設(shè)備)可以是諸如鍵盤、鼠標(biāo)、筆、或跟蹤球、語音輸入設(shè)備、掃描設(shè)備的觸摸式輸入裝置,或是向計(jì)算環(huán)境700提供輸入的另一設(shè)備。對于音頻,輸入裝置750可以是聲卡或以模擬或數(shù)字形式接收音頻輸入的類似裝置,或者是向計(jì)算環(huán)境提供音頻樣本的CD-ROM讀取器。輸出設(shè)備760可以是顯示器、打印機(jī)、揚(yáng)聲器、CD刻錄機(jī)、或者向計(jì)算環(huán)境700提供輸出的另一設(shè)備。
通信連接770使能經(jīng)通信介質(zhì)與另一計(jì)算實(shí)體的通信。通信介質(zhì)傳信息,諸如計(jì)算機(jī)可執(zhí)行指令、音頻/視頻或其它介質(zhì)信息、或已調(diào)制數(shù)據(jù)信號的其它數(shù)據(jù)。已調(diào)制數(shù)據(jù)信號是一個(gè)或多個(gè)其特征以在信號中編碼信息的方式設(shè)定或改變的信號。作為示例,而非限制,通信介質(zhì)包括用電子、光學(xué)、RF、紅外、聲學(xué)或其它載體實(shí)現(xiàn)的有線或無線技術(shù)。
宏擴(kuò)展處理和顯示技術(shù)可在計(jì)算機(jī)可讀介質(zhì)的一般環(huán)境中進(jìn)行描述。計(jì)算機(jī)可讀介質(zhì)是在計(jì)算環(huán)境中可訪問的任意可用介質(zhì)。作為示例,而非限制,對于計(jì)算環(huán)境700,計(jì)算機(jī)可讀介質(zhì)包括存儲器270、存儲740、通信介質(zhì)、以及以上的任意組合。
在這里諸技術(shù)可在計(jì)算機(jī)可執(zhí)行指令的一般環(huán)境中進(jìn)行描述,諸如那些包括在程序模塊中,在真實(shí)或虛擬目標(biāo)處理器上計(jì)算環(huán)境中執(zhí)行的指令。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、庫、對象、類、組件、數(shù)據(jù)結(jié)構(gòu)等等。程序模塊的功能性可按各種實(shí)施例所需在程序模塊之間進(jìn)行組合或拆分。程序模塊的計(jì)算機(jī)可執(zhí)行指令可在本地或分布式計(jì)算環(huán)境中執(zhí)行。
為了進(jìn)行表達(dá),詳細(xì)說明書使用類似“確定”、“產(chǎn)生”、“調(diào)整”、以及“應(yīng)用”來描述計(jì)算環(huán)境中的計(jì)算機(jī)操作。這些術(shù)語是對計(jì)算機(jī)所執(zhí)行操作的高度抽象,且不應(yīng)與人所執(zhí)行的動(dòng)作相混肴。對應(yīng)于這些術(shù)語的真正計(jì)算機(jī)操作可取決于實(shí)現(xiàn)而變化。
由于本發(fā)明原理可應(yīng)用的許多可能實(shí)施例,我們聲明本發(fā)明所有實(shí)施例可出自以下權(quán)利要求書和等效方案的范圍和精神。
權(quán)利要求
1.一種用于圖像和視頻介質(zhì)的無損編碼的方法,其特征在于,包括把輸入圖像數(shù)據(jù)拆分成塊部分;對于單個(gè)所述塊部分,選擇多種可用差分脈沖碼調(diào)制(DPCM)預(yù)測模式之一以應(yīng)用于所述塊部分,從而由于所述可用DPCM預(yù)測模式產(chǎn)生更接近于熵編碼器的優(yōu)化符號分布。將所述選定DPCM預(yù)測模式應(yīng)用于所述塊部分;以及熵編碼所述塊部分的DPCM殘差。
2.如權(quán)利要求1所述的方法,其特征在于,還包括將所述輸入圖像數(shù)據(jù)轉(zhuǎn)換成YCoCg色彩空間格式。
3.如權(quán)利要求1所述的方法,其特征在于,所述熵編碼是游程長度GolombRice編碼。
4.如權(quán)利要求1所述的方法,其特征在于,還包括使用游程長度Golomb Rice編碼對為所述塊部分選定的DPCM預(yù)測模式進(jìn)行編碼。
5.如權(quán)利要求1所述的方法,其特征在于,還包括用單獨(dú)的游程長度GolombRice編碼關(guān)聯(lián)環(huán)境來編碼所述DPCM預(yù)測模式和DPCM殘差。
6.如權(quán)利要求1所述的方法,其特征在于,還包括確定所述選定DPCM預(yù)測模式對所述塊部分的應(yīng)用是否產(chǎn)生全零值的DPCM殘差;以及編碼所述塊部分是平直的指示,而不是熵編碼所述塊部分的DPCM殘差。
7.如權(quán)利要求1所述的方法,其特征在于,選擇所述DPCM預(yù)測模式包括確定產(chǎn)生更接近于熵編碼最優(yōu)符號分布的所述DPCM預(yù)測模式是否充分接近于所述熵編碼的最優(yōu)符號分布;以及如果不夠充分接近,在所述熵編碼之前將非DPCM應(yīng)用于所述宏塊。
8.如權(quán)利要求1所述的方法,其特征在于,所述DPCM預(yù)測模式包括被設(shè)計(jì)用以產(chǎn)生塊部分熵編碼的最優(yōu)分布的模式,所述塊部分的圖像內(nèi)容主要是水平主邊緣、垂直主邊緣、斜對角邊緣、帶、以及帶狀水平斜坡。
9.如權(quán)利要求1所述的方法,其特征在于,所述DPCM預(yù)測模式包括第一模式,其中從其左邊相鄰象素減去一象素值;第二模式,其中從其上面相鄰象素減去一象素值;第三模式,其中從其左邊或上面相鄰象素的最小或最大值減去一象素值;第四模式,其中從其上面或右上相鄰象素的平均值減去一象素值;第五模式,其中從其左上相鄰象素減去一象素值;第六模式,其中從其左邊相鄰象素減去象素的左邊和左上相鄰象素之間的差值;第七模式,其中從其左邊和上面相鄰象素的平均值減去象素值。
10.一種提供圖像或視頻介質(zhì)內(nèi)容的預(yù)測無損編碼的介質(zhì)系統(tǒng),其特征在于,所述系統(tǒng)包括一宏塊拆分過程,用于把輸入圖像數(shù)據(jù)分割成宏塊;一多模式差分脈沖碼調(diào)制(DPCM)過程,其在所述輸入圖像數(shù)據(jù)的單個(gè)宏塊部分上操作,以選擇產(chǎn)生所述宏塊的更接近于最優(yōu)游程長度Golomb Rice熵編碼分布的多種DPCM預(yù)測模式之一,并將所述選擇的DPCM預(yù)測模式應(yīng)用于所述宏塊;以及一熵編碼過程,其用于執(zhí)行所述宏塊的DPCM殘差的游程長度Golomb-Rice編碼。
11.如權(quán)利要求10所述的介質(zhì)系統(tǒng),其特征在于,還包括一色彩空間轉(zhuǎn)換過程,其用于在編碼之前將所述輸入圖像數(shù)據(jù)轉(zhuǎn)換成YCoCg色彩空間。
12.如權(quán)利要求10所述的介質(zhì)系統(tǒng),其特征在于,所述DPCM預(yù)測模式包括被設(shè)計(jì)用以產(chǎn)生接近于宏塊的最優(yōu)RLGR熵編碼分布的模式,所述圖像內(nèi)容主要是水平主邊緣、垂直主邊緣、斜對角邊緣、帶、以及帶狀水平斜坡。
13.如權(quán)利要求10所述的介質(zhì)系統(tǒng),其特征在于,所述DPCM預(yù)測模式包括第一模式,其中從其左邊相鄰象素減去一象素值;第二模式,其中從其上面相鄰象素減去一象素值;第三模式,其中從其左邊或上面相鄰象素的最小或最大值減去一象素值;第四模式,其中從其上面和右上相鄰象素的平均值減去一象素值;第五模式,其中從其左上相鄰象素減去一象素值;第六模式,其中從其左邊相鄰象素減去象素的左邊和左上相鄰象素之間的差值;第七模式,其中從其左邊和上面相鄰象素的平均值減去一象素值。
14.一種具有存儲其上的計(jì)算機(jī)可執(zhí)行程序指令的計(jì)算機(jī)可讀存儲介質(zhì),所述指令在計(jì)算機(jī)介質(zhì)處理系統(tǒng)中的執(zhí)行上可操作以執(zhí)行編碼圖像或視頻數(shù)據(jù)的方法,其特征在于,所述方法包括把圖像數(shù)據(jù)轉(zhuǎn)換成YCoCg色彩空間格式;把所述圖像數(shù)據(jù)拆分成宏塊;對于所述數(shù)據(jù)圖像的宏塊,從可用的DPCM預(yù)測模式組中確定哪種模式產(chǎn)生最接近于RLGR編碼最優(yōu)分布的殘差;如果這種經(jīng)確定DPCM預(yù)測模式產(chǎn)生了其分布充分接近所述最優(yōu)分布的殘差,將所述DPCM預(yù)測模式應(yīng)用于所述宏塊;以及對所述宏塊的殘差進(jìn)行RLGR熵編碼。
15.如權(quán)利要求14所述的計(jì)算機(jī)可讀存儲介質(zhì),其特征在于,所述方法還包括確定所述經(jīng)確定DPCM預(yù)測模式在宏塊中的應(yīng)用是否產(chǎn)生了平直殘差;以及如果是,則不對這種宏塊的所述殘差進(jìn)行RLGR熵編碼,而按平直宏塊模式指示來編碼所述宏塊。
16.如權(quán)利要求15所述的計(jì)算機(jī)可讀存儲介質(zhì),其特征在于,所述方法還包括使用與RLGR熵編碼所述殘差分離的RLGR編碼關(guān)聯(lián)環(huán)境,來RLGR熵編碼所述宏塊模式指示。
17.如權(quán)利要求15所述的計(jì)算機(jī)可讀存儲介質(zhì),其特征在于,所述方法還包括確定產(chǎn)生最接近于所述最優(yōu)符號分布的殘差分布的所述DPCM預(yù)測模式是否充分接近于所述最優(yōu)分布;以及如果不夠充分接近,不將所述DPCM預(yù)測模式應(yīng)用于所述宏塊,對所述宏塊進(jìn)行RLGR熵編碼。
18.一種用于解碼圖像或視頻的預(yù)測無損編碼數(shù)據(jù)的方法,其特征在于,包括對于使用單獨(dú)RLGR編碼關(guān)聯(lián)環(huán)境的多個(gè)宏塊的每一個(gè),對宏塊模式、DPCM預(yù)測模式以及DPCM殘差進(jìn)行RLGR熵解碼;當(dāng)一個(gè)宏塊的所述宏塊模式是平直宏塊模式時(shí),使用DPCM解調(diào)來解碼所述宏塊的象素,所述DPCM解調(diào)是全零殘差的所述經(jīng)RLGR解碼的DPCM預(yù)測模式的逆;否則,當(dāng)所述宏塊的DPCM預(yù)測模式是非DPCM預(yù)測模式時(shí),不經(jīng)DPCM解調(diào)來解碼所述宏塊的象素;否則,使用DPCM解調(diào)來解調(diào)所述經(jīng)RLGR解碼的DPCM殘差,所述DPCM解調(diào)是所述經(jīng)RLGR解碼的DPCM預(yù)測模式的逆;以及組裝所述宏塊以形成經(jīng)解碼的圖像數(shù)據(jù)。
19.如權(quán)利要求18所述的方法,其特征在于,包括將所述經(jīng)解碼圖像數(shù)據(jù)從YCoCg色彩空間轉(zhuǎn)換成可顯示的色彩空間格式。
20.一種預(yù)測-無損經(jīng)編碼圖像或視頻的解碼器,其特征在于,包括一游程長度Golomb-Rice(RLGR)熵解碼器,其操作用以解碼宏塊的經(jīng)RLGR編碼的DPCM殘差和DPCM預(yù)測模式;一DPCM解調(diào)器,其用于將所述DPCM預(yù)測模式的逆應(yīng)用于所述DPCM殘差;以及一宏塊重組器,其用于把所述宏塊和其它經(jīng)解碼宏塊組合起來以形成經(jīng)重建圖像的數(shù)據(jù)。
21.如權(quán)利要求20所述的預(yù)測-無損經(jīng)編碼圖像或視頻解碼器,其特征在于,包括一逆向YCoCg轉(zhuǎn)換器,其用于把所述重建圖像從YCoCg色彩空間轉(zhuǎn)換成適于顯示所述圖像的色彩空間。
全文摘要
預(yù)測無損編碼提供對圖像和視頻數(shù)據(jù)中攝影圖像和圖形內(nèi)容的有效無損壓縮。為了現(xiàn)有圖像和視頻編/解碼器的兼容性,預(yù)測無損編碼可在宏塊基礎(chǔ)上操作。預(yù)測無損編碼選擇多種可用差分脈沖碼調(diào)制(DPCM)模式之一并將其應(yīng)用于每個(gè)獨(dú)立宏塊,以產(chǎn)生具有更接近于游程長度Golomb Rice RLGR熵編碼的最優(yōu)分布的DPCM殘差。即使有攝影圖像和圖形圖像內(nèi)容的差異特征,它還是允許進(jìn)行有效的無損熵編碼。
文檔編號G06T1/00GK1684495SQ20051006663
公開日2005年10月19日 申請日期2005年4月15日 優(yōu)先權(quán)日2004年4月15日
發(fā)明者K·慕克吉 申請人:微軟公司