專利名稱:實(shí)域誤差的變換域校正的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及以下申請美國申請第09/186,247號,標(biāo)題為“變換數(shù)字?jǐn)?shù)據(jù)的誤差減少的處理”,發(fā)明人M.Bright等人;以及,美國申請第09/186,249號,標(biāo)題為“變換數(shù)字?jǐn)?shù)據(jù)的誤差減少”,發(fā)明人M.Bright等人;這些申請在此被作為參考文獻(xiàn)。
本發(fā)明涉及數(shù)字?jǐn)?shù)據(jù)的變換編碼,更具體地說是涉及變換數(shù)據(jù)的實(shí)域處理。更具體地說,本發(fā)明涉及受到再變換的反向變換數(shù)據(jù)的誤差減少的數(shù)字處理。
變換編碼指的是范圍很寬的一類數(shù)據(jù)編碼,其中所要編碼的各個數(shù)據(jù)塊在得到進(jìn)一步處理之前借助某些數(shù)學(xué)函數(shù)而得到變換。一個數(shù)據(jù)塊可以是所要編碼的數(shù)據(jù)對象的一部分,也可以是整個的數(shù)據(jù)對象。該數(shù)據(jù)通常代表某種現(xiàn)象,例如可以是頻譜分析、圖象、音頻修剪、視頻修剪等。變換功能的選擇,通常反映了所編碼的現(xiàn)象的某些性質(zhì);例如,在音頻、靜止圖象和運(yùn)動圖象編碼中,可以采用付立葉變換或離散余弦變換(DCT),以把數(shù)據(jù)變換成頻率項(xiàng)或系數(shù),從而進(jìn)行分析。如果所要編碼的現(xiàn)象給定,通常信息都集中在少數(shù)幾個頻率系數(shù)中。因此,變換的數(shù)據(jù)經(jīng)常能夠得到比原來的數(shù)據(jù)更為經(jīng)濟(jì)的編碼或壓縮。這意味著變換編碼可被用來壓縮一定類型的數(shù)據(jù),以減小存儲空間或在通信線路上的傳送時間。
變換編碼的一個使用例子,是用于靜止圖象壓縮的聯(lián)合專家組(JPEG)國際標(biāo)準(zhǔn),它由ITU-T Rec T.81(1992)|ISO/IEC 10918-11994,“信息技術(shù)-連續(xù)色調(diào)靜止圖象的數(shù)字壓縮和編碼,部分1要求和指導(dǎo)”所定義。另一個例子是用于運(yùn)動圖象壓縮的運(yùn)動圖象專家組(MPEG)國際標(biāo)準(zhǔn),由ISO/IEC 111721993,“信息技術(shù)-用于以至約1.5Mbits/s的速率進(jìn)行數(shù)字存儲介質(zhì)的運(yùn)動圖象和相關(guān)音頻的編碼”所定義。這種MPEG-1標(biāo)準(zhǔn)同時定義了視頻壓縮(標(biāo)準(zhǔn)的部分2)和音頻壓縮(部分3)的系統(tǒng)。一種更近的MPEG視頻標(biāo)準(zhǔn)(MPEG-2)由ITU-T Rec H.262|ISO/IEC 13818-21996,“信息技術(shù)-運(yùn)動圖象和相關(guān)音頻的類屬編碼-部分2視頻”所定義。一種更新的音頻標(biāo)準(zhǔn)是ISO/IEC 13818-31996“信息技術(shù)-運(yùn)動圖象和相關(guān)音頻的類屬編碼-部分3音頻”所定義。所有三種圖象國際數(shù)據(jù)壓縮標(biāo)準(zhǔn)都采用了對抽樣的8×8塊進(jìn)行DCT以實(shí)現(xiàn)圖象壓縮。圖象的DCT壓縮在此被用來對以下給出的一般概念進(jìn)行說明;一種完整的說明可見于W.B.Pennebaker和J.L.Mitchell在JPEG靜止圖象數(shù)據(jù)壓縮標(biāo)準(zhǔn),Van Nostrand Reinhold紐約,(1993)上的″離散余弦變換(DCT)″第四章。
子波編碼是另一種形式的變換編碼。專門的局部化的基函數(shù)使子波編碼能夠保存邊緣和小的細(xì)節(jié)。變換的數(shù)據(jù)通常被量化以進(jìn)行壓縮。子波編碼被用于FBI的指紋識別。子波編碼是更一般的子頻帶編碼技術(shù)的一個子類。子頻帶編碼采用了濾波器組以把數(shù)據(jù)分解到具體的頻帶上。壓縮是通過對頻率較低的頻帶進(jìn)行比頻率較高的頻帶更細(xì)的量化并同時對頻率較低的頻帶進(jìn)行比頻率較高的頻帶更粗的取樣而實(shí)現(xiàn)的。子波、DCT和其他變換編碼的一個概述,可見于Roy Hoffman,數(shù)字系統(tǒng)的數(shù)據(jù)壓縮,Chapman與Hall紐約,(1997)″擴(kuò)散數(shù)據(jù)的壓縮算法″第五章。
在數(shù)字?jǐn)?shù)據(jù)所代表的任何現(xiàn)象和任何技術(shù)中,變換之前的數(shù)據(jù)被稱為“處于實(shí)域”。在變換進(jìn)行之后,新的數(shù)據(jù)通常被稱為“變換數(shù)據(jù)”或“變換系數(shù)”,且被稱為是“處于變換域”。用于把數(shù)據(jù)從實(shí)域變換到變換域的過程被稱為“正向變換”。把數(shù)據(jù)從變換域變換到實(shí)域的與正向變換反向的數(shù)學(xué)過程被稱為相應(yīng)的“反向變換”。
一般地,正向變換將產(chǎn)生實(shí)值數(shù)據(jù),不一定是整數(shù)。為了實(shí)現(xiàn)數(shù)據(jù)壓縮,變換系數(shù)通過量化處理而被轉(zhuǎn)換成整數(shù)。假定(λi)是從一個數(shù)據(jù)單位的正向變換產(chǎn)生的一組實(shí)值變換系數(shù)。注意一個單位的數(shù)據(jù)可以是一維或兩維的數(shù)據(jù)抽樣塊或者是整個數(shù)據(jù)?!傲炕怠?qi)是編碼處理的參數(shù)?!傲炕儞Q系數(shù)”或“變換編碼數(shù)據(jù)”是由量化函數(shù)Q定義的一系列的值(ai)ai=Q(λi)=|λiqi+0.5----(1)]]>其中|x|表示小于等于x的最大整數(shù)。所產(chǎn)生的整數(shù)隨后被進(jìn)一步編碼或壓縮,并隨后被存儲或發(fā)送。為了譯碼該數(shù)據(jù),量化系數(shù)被乘以量化值,以給出新的由以下公式給定的“去量化系數(shù)”λ’i=qiai(2)去量化(也稱為逆量化)之后的量化處理因而可被描述為“舍入到qi的最近倍數(shù)”。該量化值被適當(dāng)選擇,從而使量化步驟中的信息的損失處于某種指定的范圍內(nèi)。例如,對于音頻或圖象數(shù)據(jù),一種量化級通常是可觀測的數(shù)據(jù)的最小改變。正是量化使得變換編碼能夠?qū)崿F(xiàn)良好的數(shù)據(jù)壓縮比。好的變換選擇使得量化值的選擇能夠顯著地減小所要編碼的數(shù)據(jù)量。例如,為圖象壓縮選擇DCT,因?yàn)樗a(chǎn)生的頻率分量產(chǎn)生對于人的視覺系統(tǒng)來說幾乎是獨(dú)立的響應(yīng)。這意味著與視覺系統(tǒng)不敏感的分量有關(guān)的系數(shù)即高頻分量可用大的量化值進(jìn)行量化而不損失圖象質(zhì)量。與視覺系統(tǒng)更敏感的分量有關(guān)的系數(shù)即低頻分量,則用較小的量化值進(jìn)行量化。
這種反向變換還通常產(chǎn)生非整數(shù)的數(shù)據(jù)。通常譯碼數(shù)據(jù)需要是整數(shù)形式的。例如,用于音頻數(shù)據(jù)重放或圖象數(shù)據(jù)顯示的系統(tǒng)通常接受整數(shù)形式的輸入。因此,變換譯碼器通常包括把來自反向變換的非整數(shù)數(shù)據(jù)借助截斷或舍入到最近的整數(shù)而轉(zhuǎn)換成整數(shù)數(shù)據(jù)的步驟。
對于從譯碼處理輸出的整數(shù)數(shù)據(jù)的范圍通常也有限制,以使該數(shù)據(jù)能夠以給定的位數(shù)得到存儲。因此,譯碼器還經(jīng)常包括一個“修剪”階段,它保證輸出數(shù)據(jù)處于一個可接受的范圍中。如果該可接受的范圍是[a,b],則小于a的所有值都被改變?yōu)閍,且所有大于b的值都被改變成b。
這些舍入和修剪處理經(jīng)常被認(rèn)為是譯碼器的整數(shù)部分,且正是這些造成了譯碼數(shù)據(jù)特別是當(dāng)譯碼數(shù)據(jù)被再編碼時的不準(zhǔn)確。例如,JPEG標(biāo)準(zhǔn)(部分1)規(guī)定源圖象抽樣被定義為精確P位的整數(shù),其值可在0至2*P-1的范圍內(nèi)。譯碼器應(yīng)該從逆DCT(IDCT)以指定的精度重組該輸出。對于基本JPEG編碼P被定義為8;對于其他基于DCT的編碼P可以是8或12。MPEG-2視頻標(biāo)準(zhǔn)在附件A(離散余弦變換)中規(guī)定“至正向變換的輸入和從反向變換的輸出由9位表示”。
對于JPEG,符合的編碼器源圖象測試數(shù)據(jù)和譯碼器基準(zhǔn)測試數(shù)據(jù)是8位/抽樣整數(shù)。即使舍入到整數(shù)是典型的,某些程序語言通過截斷進(jìn)行從浮點(diǎn)轉(zhuǎn)換為整數(shù)。在軟件中實(shí)施接受這種通過截斷進(jìn)行轉(zhuǎn)換為整數(shù),把較大的誤差引入了從反向變換輸出的實(shí)域整數(shù)中。
術(shù)語“高精度”在此指的是存儲至比當(dāng)以整數(shù)的形式存儲值時所用的精度更精確的精度的數(shù)字。高精度值的例子是數(shù)字的浮點(diǎn)或固定點(diǎn)表示考慮到上述有關(guān)由于數(shù)字處理技術(shù)和諸如變換數(shù)據(jù)的反向變換之后的舍入和修剪而造成的不準(zhǔn)確性的問題,本發(fā)明的一個方面提供了一種方法,用于處理實(shí)域中的變換數(shù)據(jù),對處理的數(shù)據(jù)進(jìn)行正向變換,并隨后校正向變換域中的不準(zhǔn)確。這種方法減少了再變換的數(shù)據(jù)中由于諸如舍入到整數(shù)和在反向變換之后修剪到允許的范圍的操作所產(chǎn)生的不希望的誤差。在一個實(shí)施例中,這種方法包括進(jìn)行變換數(shù)據(jù)的反向變換,從而使所產(chǎn)生的實(shí)域數(shù)據(jù)具有高度精確的數(shù)字的形式;把這種高精度的數(shù)轉(zhuǎn)換成整數(shù)并修剪到形成轉(zhuǎn)換數(shù)據(jù)的所允許的范圍;從該高精度數(shù)減去該轉(zhuǎn)換數(shù)據(jù),從而形成高精度差分;對轉(zhuǎn)換的數(shù)據(jù)進(jìn)行處理;對高精度差分進(jìn)行正向變換;對處理之后的轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換;以及,把變換的處理之后的數(shù)據(jù)加到變換之后的高精度差分上,以產(chǎn)生變換域校正實(shí)域再變換數(shù)字?jǐn)?shù)據(jù)。
本發(fā)明的另一個方面是提供一種方法,用于處理實(shí)域中的變換數(shù)據(jù),處理由于轉(zhuǎn)換為整數(shù)和修剪至允許范圍而產(chǎn)生的誤差,對這些誤差進(jìn)行正向變換,對處理數(shù)據(jù)進(jìn)行正向變換,并隨后在變換域中校正這些誤差。在一個實(shí)施例中,用于這種實(shí)域誤差的變換域校正的方法包括對變換數(shù)據(jù)進(jìn)行反向變換,從而使產(chǎn)生的實(shí)域數(shù)據(jù)具有高精度數(shù)的形式;把這種高精度數(shù)轉(zhuǎn)換成整數(shù)并修剪到允許范圍以形成轉(zhuǎn)換數(shù)據(jù);從高精度數(shù)字減去轉(zhuǎn)換數(shù)據(jù)以形成高精度差分;對這種高精度差分進(jìn)行操作以形成處理過的高精度差分;對轉(zhuǎn)換數(shù)據(jù)進(jìn)行操作以形成處理過的轉(zhuǎn)換數(shù)據(jù);對處理之后的高精度差分進(jìn)行正向變換;對處理之后的轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換;以及,把變換的經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù)加到變換之后的經(jīng)過處理的高精度差分上,以產(chǎn)生變換域校正的實(shí)域處理的變換數(shù)字?jǐn)?shù)據(jù)本發(fā)明的另一個方面,是提供一種方法,用于在實(shí)域中處理變換數(shù)據(jù),對在實(shí)域中轉(zhuǎn)換為整數(shù)和修剪至允許范圍所產(chǎn)生的誤差進(jìn)行正向變換,在變換域中對變換的誤差進(jìn)行處理,對經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換,隨后在變換域中校正這些誤差。在一個實(shí)施例中,該方法包括對變換數(shù)據(jù)進(jìn)行反向變換,從而使所產(chǎn)生的實(shí)域數(shù)據(jù)具有高精度數(shù)的形式;把高精度數(shù)轉(zhuǎn)換成整數(shù)并修剪到一個允許的范圍從而形成轉(zhuǎn)換數(shù)據(jù);從高精度數(shù)減去該轉(zhuǎn)換數(shù)據(jù),從而形成高精度差分;對該高精度差分進(jìn)行正向變換;對變換的差分進(jìn)行操作;對轉(zhuǎn)換數(shù)據(jù)進(jìn)行操作;對操作之后的轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換;以及,把經(jīng)過變換的操作之后的轉(zhuǎn)換數(shù)據(jù)加到經(jīng)過操作的變換之后的差分上,以產(chǎn)生新的變換域校正的實(shí)域處理過的變換數(shù)字?jǐn)?shù)據(jù)。
本發(fā)明的再一個方面,是提供一種方法,用于在實(shí)域中對變換編碼數(shù)據(jù)進(jìn)行處理以產(chǎn)生新的變換編碼數(shù)據(jù);它減少了由于轉(zhuǎn)換為整數(shù)和在反向變換之后修剪到允許范圍所產(chǎn)生的誤差。在一個實(shí)施例中,這種方法包括對變換編碼數(shù)據(jù)進(jìn)行逆量化;對如此產(chǎn)生的變換數(shù)據(jù)進(jìn)行反向變換,從而使所產(chǎn)生的實(shí)域具有高精度數(shù)的形式;把高精度數(shù)轉(zhuǎn)換成整數(shù)并修剪到一個允許范圍,從而形成轉(zhuǎn)換數(shù)據(jù);從高精度數(shù)減去該轉(zhuǎn)換數(shù)據(jù),從而形成高精度差分;對高精度差分進(jìn)行正向變換;對如此產(chǎn)生的變換數(shù)據(jù)進(jìn)行量化,從而形成變換編碼誤差數(shù)據(jù);對變換編碼的誤差數(shù)據(jù)進(jìn)行逆量化,從而產(chǎn)生去量化的變換編碼誤差數(shù)據(jù);在實(shí)域中對轉(zhuǎn)換數(shù)據(jù)進(jìn)行處理;對處理的轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換;把去量化的變換編碼誤差數(shù)據(jù)加到變換的經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù)上;以及,對新的變換數(shù)據(jù)進(jìn)行量化。如果在正向和反向變換和處理中的誤差充分地小,在新的量化變換域數(shù)據(jù)中不會產(chǎn)生不希望的誤差。
本發(fā)明的再一個方面是提供一種方法,用于在實(shí)域中對初始高精度誤差進(jìn)行處理以產(chǎn)生新的高精度誤差,這減少了由于轉(zhuǎn)換為整數(shù)和在反向變換之后修剪到允許范圍所產(chǎn)生的誤差。在一個實(shí)施例中,這種方法包括對變換編碼數(shù)據(jù)進(jìn)行逆量化;對如此產(chǎn)生的變換數(shù)據(jù)進(jìn)行反向變換,從而使所產(chǎn)生的實(shí)域數(shù)據(jù)具有高精度數(shù)的形式;把該高精度數(shù)轉(zhuǎn)換成整數(shù)并修剪到一個允許范圍,以形成轉(zhuǎn)換數(shù)據(jù);從高精度數(shù)減去該轉(zhuǎn)換數(shù)據(jù),從而形成高精度差分;對這些高精度差分進(jìn)行操作;對這些經(jīng)過操作的高精度差分進(jìn)行正向變換;對如此產(chǎn)生的變換數(shù)據(jù)進(jìn)行量化,從而形成變換編碼的經(jīng)過操作的誤差數(shù)據(jù);對變換編碼的操作的誤差數(shù)據(jù)進(jìn)行逆量化,從而產(chǎn)生去量化的變換的經(jīng)過操作的誤差數(shù)據(jù);在實(shí)域中對該轉(zhuǎn)換數(shù)據(jù)進(jìn)行處理,對處理的轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換;把去量化的變換的經(jīng)過操作的誤差數(shù)據(jù)加到變換的經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù)上;以及,對新的變換數(shù)據(jù)進(jìn)行量化。
本發(fā)明的再一個方面是提供一種方法,用于在實(shí)域中對編碼數(shù)據(jù)進(jìn)行處理,它減少了數(shù)據(jù)中由于轉(zhuǎn)換為整數(shù)和在反向變換之后修剪至允許范圍所產(chǎn)生的不希望的誤差。在一個實(shí)施例中,該方法包括對編碼數(shù)據(jù)進(jìn)行熵譯碼,從而形成變換編碼數(shù)據(jù);對如此產(chǎn)生的變換數(shù)據(jù)進(jìn)行反向變換,從而使所產(chǎn)生的實(shí)域數(shù)據(jù)具有高精度數(shù)的形式;把高精度數(shù)轉(zhuǎn)換成整數(shù)并修剪到一個允許范圍,從而形成轉(zhuǎn)換數(shù)據(jù);從高精度數(shù)減去該轉(zhuǎn)換數(shù)據(jù),從而形成高精度差分;對這些高精度差分進(jìn)行正向變換;對如此產(chǎn)生的變換數(shù)據(jù)進(jìn)行量化,從而形成變換編碼誤差數(shù)據(jù);對該變換編碼誤差數(shù)據(jù)進(jìn)行熵編碼,從而形成編碼的誤差數(shù)據(jù);對該編碼的誤差數(shù)據(jù)進(jìn)行熵譯碼;對該變換編碼誤差數(shù)據(jù)進(jìn)行逆量化,從而產(chǎn)生去量化的變換誤差數(shù)據(jù);在實(shí)域中對該轉(zhuǎn)換數(shù)據(jù)進(jìn)行處理;對處理的轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換;把去量化的變換誤差數(shù)據(jù)加到變換的經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù)上;對新的變換數(shù)據(jù)進(jìn)行量化;以及,對新的量化數(shù)據(jù)進(jìn)行熵編碼。如果正向和反向變換中和處理的誤差充分地小,在新的量化的變換域數(shù)據(jù)中不會產(chǎn)生不希望的誤差。
本發(fā)明的再一個方面,是提供一種方法,用于在實(shí)域中對編碼數(shù)據(jù)進(jìn)行處理以產(chǎn)生新的編碼數(shù)據(jù),它減少了由于轉(zhuǎn)換為整數(shù)和在反向變換之后修剪到一個允許范圍所產(chǎn)生的誤差。在一個實(shí)施例中,這種方法包括對編碼數(shù)據(jù)進(jìn)行熵譯碼,以形成變換編碼數(shù)據(jù),對該變換編碼數(shù)據(jù)進(jìn)行逆量化;對如此產(chǎn)生的變換數(shù)據(jù)進(jìn)行反向變換,從而使所產(chǎn)生的實(shí)域數(shù)據(jù)具有高精度數(shù)的形式,把該高精度數(shù)轉(zhuǎn)換成整數(shù)并修剪到一個允許范圍上,以形成轉(zhuǎn)換數(shù)據(jù);從該高精度數(shù)減去該轉(zhuǎn)換數(shù)據(jù),從而形成高精度差分;對這些高精度差分進(jìn)行正向變換;對如此產(chǎn)生的變換數(shù)據(jù)進(jìn)行量化,從而形成整數(shù)變換誤差數(shù)據(jù)對該整數(shù)變換誤差數(shù)據(jù)進(jìn)行熵編碼,從而形成編碼誤差數(shù)據(jù);對該編碼誤差數(shù)據(jù)進(jìn)行熵譯碼;對該整數(shù)變換誤差數(shù)據(jù)進(jìn)行逆量化,從而產(chǎn)生去量化的變換誤差數(shù)據(jù);對該去量化的變換誤差數(shù)據(jù)進(jìn)行操作;在實(shí)域中對轉(zhuǎn)換數(shù)據(jù)進(jìn)行處理;對處理之后的轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換;把操作的去量化的變換誤差數(shù)據(jù)加到變換的處理的轉(zhuǎn)換數(shù)據(jù)上;以及,對新的變換數(shù)據(jù)進(jìn)行量化。如果正向和反向變換和處理中的誤差足夠地小,在新的量化變換域數(shù)據(jù)中將不產(chǎn)生不希望的誤差。
對于在此描述的方法,其輸入數(shù)據(jù)不要求是來自單個的數(shù)據(jù)源。因此,本發(fā)明不限于來自單個源的數(shù)據(jù)的實(shí)域處理,而是可應(yīng)用于來自多個源的數(shù)據(jù)的實(shí)域處理,諸如圖象或音頻數(shù)據(jù)的合并。
在背景部分中描述的量化是在諸如JPEG和MPEG的國際圖象數(shù)據(jù)壓縮標(biāo)準(zhǔn)中采用的線性量化。該量化未被要求是線性的。以確定的方式減小變換數(shù)據(jù)電平數(shù)目的所有變換都可被用于本發(fā)明。該量化步驟已經(jīng)借助公式(1)而以數(shù)學(xué)的方式進(jìn)行了描述。實(shí)際的實(shí)施例可采用查詢表或比較序列來實(shí)現(xiàn)類似的結(jié)果。
本發(fā)明的進(jìn)一步的一個方面是提供一種設(shè)備、一種計算機(jī)產(chǎn)品和制造品—它包括了體現(xiàn)在其中的具有計算機(jī)可讀取程序碼裝置的可用介質(zhì),用于使計算機(jī)執(zhí)行本發(fā)明的方法。
從以下結(jié)合附圖對本發(fā)明所進(jìn)行的詳細(xì)描述,本發(fā)明的這些和其他的目的、特征、優(yōu)點(diǎn)將變得顯而易見。在附圖中
圖1(a)是顯示用于執(zhí)行反向變換的一種方法的框圖;圖1(b)是顯示用于執(zhí)行一種反向變換的一種系統(tǒng)的框圖;圖2(a)是顯示用于譯碼變換編碼數(shù)據(jù)的一種方法的框圖;圖2(b)是顯示用于譯碼變換編碼數(shù)據(jù)的一種系統(tǒng)的框圖;圖3是顯示用于變換數(shù)據(jù)的實(shí)域處理的一種方法的框圖;圖4是框圖,顯示了用于進(jìn)行隨后進(jìn)行有正向變換的反向變換的一種方法并顯示了多重產(chǎn)生的問題;圖5是顯示變換編碼數(shù)據(jù)的譯碼和再編碼的一種方法的框圖,并顯示了多重產(chǎn)生的問題;圖6是框圖,顯示了用于進(jìn)行反向變換、實(shí)域數(shù)據(jù)操作和一種正向變換的一種方法,并顯示了多重產(chǎn)生的問題;圖7(a)是框圖,顯示了用于進(jìn)行JPEG DCT編碼圖象數(shù)據(jù)的實(shí)域處理的一種方法,它呈現(xiàn)了多重產(chǎn)生的問題;圖7(b)是框圖,顯示了用于進(jìn)行JPEG DCT編碼圖象數(shù)據(jù)的實(shí)域處理的系統(tǒng),它呈現(xiàn)了多重產(chǎn)生的問題;圖8(a)給出了JPEG例子的光度量化矩陣;圖8(b)給出了JPEG例子的色度量化矩陣;圖8(c)是實(shí)域舍入如何能夠產(chǎn)生8×8塊DCT編碼數(shù)據(jù)中的顯著誤差的數(shù)值例子;
圖8(d)是實(shí)域截斷如何能夠產(chǎn)生8×8塊DCT編碼數(shù)據(jù)中的顯著誤差的數(shù)值例子;圖8(e)是一系列的曲線圖,顯示了實(shí)域修剪如何能造成一維離散余弦變換編碼數(shù)據(jù)中的誤差;圖8(f)和圖8(g)是實(shí)域修剪如何能夠造成8×8塊DCT編碼數(shù)據(jù)中的顯著誤差的一個數(shù)值例子;圖9是框圖,顯示了用于執(zhí)行圖5描述的處理的多次重復(fù)的一種方法,且它呈現(xiàn)了多重產(chǎn)生的問題;圖10是框圖,顯示了進(jìn)行實(shí)域操作的多次重復(fù)的一種方法,且它呈現(xiàn)了多重產(chǎn)生的問題;圖11(a)是框圖,顯示了根據(jù)本發(fā)明的在變換數(shù)據(jù)處理中用于實(shí)域誤差的變換域校正的一種方法的一個例子;圖11(b)是框圖,顯示了根據(jù)本發(fā)明的在變換數(shù)據(jù)處理中用于實(shí)域誤差的變換域校正的一種系統(tǒng)的一個例子;圖12(a)是框圖,顯示了用于根據(jù)本發(fā)明的在變換編碼數(shù)據(jù)的處理中進(jìn)行實(shí)域誤差的變換域校正的一種方法的一個例子;圖12(b)是框圖,顯示了用于根據(jù)本發(fā)明的在變換編碼數(shù)據(jù)的處理中進(jìn)行實(shí)域誤差的變換域校正的一種系統(tǒng)的一個例子;圖13(a)是框圖,顯示了根據(jù)本發(fā)明的用于在編碼數(shù)據(jù)的實(shí)域處理中進(jìn)行實(shí)域誤差的變換域校正從而使得不希望的誤差在新的變換編碼數(shù)據(jù)中得到減少或消除的一種方法的一個示例性實(shí)施例;圖13(b)是框圖,顯示了根據(jù)本發(fā)明的用于在編碼數(shù)據(jù)的實(shí)域處理中進(jìn)行實(shí)域誤差的變換域校正從而使得不希望的誤差在新的變換編碼數(shù)據(jù)中得到減少或消除的一種系統(tǒng)的一個示例性實(shí)施例。
本發(fā)明提供了減少或消除數(shù)字?jǐn)?shù)據(jù)的處理而引起的誤差的方法、系統(tǒng)和計算機(jī)產(chǎn)品。首先,誤差源得到分析和描述。隨后說明本發(fā)明的用于誤差減少和消除的概念。特別應(yīng)該注意的是,以前采用的數(shù)字技術(shù)的數(shù)據(jù)操作和/或處理,使得數(shù)字處理的各種實(shí)施持續(xù)引入誤差。這些多年來采用的技術(shù),使得隨著進(jìn)行更多的處理而不能保持原來數(shù)據(jù)的精度和代表現(xiàn)象的數(shù)據(jù)的持續(xù)惡化。這在處理包含了以前的處理所產(chǎn)生的誤差的數(shù)據(jù)的情況下是特別有害的。這導(dǎo)致了數(shù)據(jù)的繼續(xù)損壞,從而使數(shù)據(jù)隨著對其的處理的增加而變得越來越無用。
本發(fā)明人所理解的這種問題的嚴(yán)重性,已經(jīng)在上面進(jìn)行了描述。應(yīng)該注意的是,在這里所給出的附圖中,可選的步驟經(jīng)常以虛線和/或框來表示。
應(yīng)該注意的是,本發(fā)明的概念在幾乎所有的數(shù)字處理技術(shù)中都是有用的。然而,隨后的描述多涉及的是圖象數(shù)據(jù)。這是由于全世界采用的圖象數(shù)據(jù)壓縮標(biāo)準(zhǔn)的一般可獲得性和持續(xù)使用。這些標(biāo)準(zhǔn)要求把將要描述的誤差引入數(shù)字?jǐn)?shù)據(jù)和連續(xù)地采用和處理包含誤差的數(shù)據(jù)。這些標(biāo)準(zhǔn)的教導(dǎo)基本上說是與本發(fā)明相背離的。因此圖象技術(shù)是描述本發(fā)明的一個非常好的例子。
圖1(a)顯示了一種反向變換方法100。變換域數(shù)據(jù)A 110受到反向變換120的作用,從而產(chǎn)生了高精度的實(shí)值數(shù)據(jù)130。該高精度數(shù)據(jù)130被轉(zhuǎn)換成整數(shù)并被修剪140,以產(chǎn)生整數(shù)實(shí)域數(shù)據(jù)150。在某些情況下,該整數(shù)值數(shù)據(jù)被可選地送到一個輸出裝置160。
圖1(b)是一種反向變換系統(tǒng)105。變換域數(shù)據(jù)A 115受到反向變換器125的作用,而反向變換器125產(chǎn)生高精度實(shí)值數(shù)據(jù)135。高精度數(shù)據(jù)135被輸入整數(shù)轉(zhuǎn)換器和修剪器145,以產(chǎn)生整數(shù)實(shí)域數(shù)據(jù)155。在某些情況下,整數(shù)值數(shù)據(jù)可選地被輸入諸如顯示監(jiān)測器、電視機(jī)、或音頻播放機(jī)的輸出裝置165。
圖2(a)顯示了譯碼變換編碼(即量化)數(shù)據(jù)的方法200。整數(shù)變換編碼數(shù)據(jù)B 210用如上述公式(2)的量化值進(jìn)行了逆量化220。這種去量化步驟的結(jié)果可隨后作為輸入而通過反向變換器120,且譯碼如圖1(a)所示地進(jìn)行。
圖2(b)顯示了用于譯碼變換編碼(即量化)數(shù)據(jù)的系統(tǒng)205。整數(shù)變換編碼數(shù)據(jù)B 215以如上述公式(2)的量化值被輸入逆量化器225。去量化步驟的結(jié)果作為輸入通過反向變換器125,且譯碼如圖1(b)所示地進(jìn)行。
本發(fā)明的一個方面,涉及變換數(shù)據(jù)和變換編碼數(shù)據(jù)的操作。術(shù)語“操作”和“處理”的使用在這里是可互換的。操作可以是為了實(shí)現(xiàn)很多不同的結(jié)果。例如,圖象數(shù)據(jù)經(jīng)常要在打印之前通過縮放和/或轉(zhuǎn)動而進(jìn)行處理。來自兩個源的數(shù)據(jù)可被合并,如在圖象的彩色圖象組合或音頻數(shù)據(jù)的混頻中所進(jìn)行的。數(shù)據(jù)的相互操作通常是編輯或顏色校正所需要的。這種變換數(shù)據(jù)操作通常是對從圖1(a)和/或圖2(a)的變換譯碼產(chǎn)生的整數(shù)實(shí)域數(shù)據(jù)進(jìn)行的。
圖3顯示了對變換數(shù)據(jù)300的一種處理。整數(shù)數(shù)據(jù)150經(jīng)歷了某種形式的操作310。如果這種操作310不產(chǎn)生整數(shù)輸出,操作輸出340再次被轉(zhuǎn)換成整數(shù)并被修剪320。所產(chǎn)生的整數(shù)數(shù)據(jù)330可被存儲、發(fā)送、和/或可選地送到輸出裝置160。由于至整數(shù)140的修剪轉(zhuǎn)換的存儲是在接受整數(shù)輸入150的操作之前進(jìn)行的,所產(chǎn)生的誤差使來自操作340的數(shù)據(jù)輸出包含至少小的不準(zhǔn)確。
應(yīng)該注意的是,在上述的數(shù)據(jù)操作處理中沒有要求輸入數(shù)據(jù)完全來自一個源。例如,很多類型的數(shù)據(jù)操作涉及到來自兩或更多源的數(shù)據(jù)的合并。這包括了諸如音頻數(shù)據(jù)的混頻或圖象的合并。圖中顯示且一般地描述的處理同樣適用于這些類型的操作。因此用于所述的任何處理的“輸入數(shù)據(jù)”實(shí)際上可以來自一個以上的輸入源。
操作之后的數(shù)據(jù)通常需要被再編碼到變換域。所希望的是,當(dāng)對實(shí)域數(shù)據(jù)不進(jìn)行操作時,譯碼和再編碼處理應(yīng)該是無損失的。即,當(dāng)正向變換操作采用了與反向變換變換操作相同的變換類型時,數(shù)據(jù)應(yīng)該產(chǎn)生與初始提供的完全相同的變換域數(shù)據(jù)。然而,轉(zhuǎn)換為整數(shù)和修剪至允許范圍引入了誤差,如圖4中所示。圖4顯示了用作至正向變換裝置410的輸入的整數(shù)數(shù)據(jù)150,它接受整數(shù)值數(shù)據(jù)作為輸入。所產(chǎn)生的變換數(shù)據(jù)A1 420不同于輸入到反向變換的原來的變換數(shù)據(jù)A 110。這是由于轉(zhuǎn)換為整數(shù)和修剪處理140已經(jīng)引入了誤差到處理中。在該過程中在每次重復(fù)之后數(shù)據(jù)的改變所引起的問題,或“產(chǎn)生”的問題,在此被稱為“多重產(chǎn)生問題”。
這種多重產(chǎn)生問題也在圖5中就變換編碼數(shù)據(jù)進(jìn)行了說明。在此新的變換域數(shù)據(jù)420被量化510,以產(chǎn)生新的變換編碼數(shù)據(jù)B1520。重要的是認(rèn)識到量化數(shù)據(jù)只在產(chǎn)生的誤差大于量化階段的一半的情況下才能產(chǎn)生Q(λi+ε)=Q(λi)若|ε|<0.5qi其中ε是在這種變換系數(shù)中產(chǎn)生的誤差。這是由于λi每一個都已經(jīng)是量化值的倍數(shù),因?yàn)樗鼈円呀?jīng)是通過如公式(2)的去量化而產(chǎn)生的。因此,有利的是控制這些誤差,從而使它們足夠地小。當(dāng)誤差足夠小時,新的變換編碼數(shù)據(jù)將與原來的變換編碼數(shù)據(jù)完全相同。通過舍入而轉(zhuǎn)換到整數(shù)的最大可能的誤差,是通過轉(zhuǎn)換期間的截斷而引入的誤差的一半。
圖6顯示了其中圖象操作是在數(shù)據(jù)上進(jìn)行且所產(chǎn)生的修正數(shù)據(jù)隨后再被變換回變換域的情況。整數(shù)數(shù)據(jù)150如圖3所示地得到操作,以產(chǎn)生新的整數(shù)值數(shù)據(jù)610。這些新的整數(shù)值數(shù)據(jù)610被用作至正向變換410的輸入,以產(chǎn)生新的變換數(shù)據(jù)A2 620。上述的沒有任何操作過程的處理在變換數(shù)據(jù)110中改變這一事實(shí),顯示出當(dāng)操作被進(jìn)行時在變換數(shù)據(jù)110中有除了從所希望的操作產(chǎn)生的改變之外的不希望的改變。
體現(xiàn)圖6所示的處理的一種方法的一個例子,被顯示在圖7(a)中。所示的方法700對諸如JPEG編碼圖象數(shù)據(jù)的編碼數(shù)據(jù)進(jìn)行了實(shí)域操作。編碼數(shù)據(jù)C 710受到熵譯碼720,它在JPEG標(biāo)準(zhǔn)中被定義為JPEG編碼數(shù)據(jù)。熵譯碼步驟720把該數(shù)據(jù)解壓縮成了量化的DCT系數(shù)。這些量化系數(shù)得到逆量化730并通過反向變換—它在該系統(tǒng)中是兩維8×8逆DCT 740。所產(chǎn)生的實(shí)值圖象數(shù)據(jù)被舍入成整數(shù)并被修剪750到允許范圍(例如
),以在該允許范圍中產(chǎn)生整數(shù)值的圖象數(shù)據(jù)754。
如果需要在操作之前顯示數(shù)據(jù),例如當(dāng)圖象操作是一種交互過程,圖象能夠可選地被送到一個顯示裝置758。該圖象隨后得到操作762,以產(chǎn)生某些所希望的改變。如果操作的結(jié)果是非整數(shù)數(shù)據(jù),則該圖象數(shù)據(jù)可被轉(zhuǎn)換成整數(shù)并被修剪到例如
的范圍768。以此方式,圖象數(shù)據(jù)772可再次被顯示758。新的實(shí)域圖象數(shù)據(jù)772可被傳送到正向DCT 776且產(chǎn)生的DCT系數(shù)得到量化780,以產(chǎn)生新的量化DCT系數(shù)784。這些系數(shù)784隨后被熵編碼788,以產(chǎn)生新的編碼數(shù)據(jù)C1 792-它們不同于原來的編碼數(shù)據(jù)C 710?,F(xiàn)在新的編碼數(shù)據(jù)C1 792不僅包含所希望的圖象操作762對圖象的改變,而且還包括從轉(zhuǎn)換和修剪階段750和768所產(chǎn)生的誤差。消除或減小這些誤差將是有利的。
體現(xiàn)圖6所示的處理的一種系統(tǒng)的一個例子,被顯示在圖7(b)中。系統(tǒng)705對編碼數(shù)據(jù)進(jìn)行實(shí)域操作。編碼數(shù)據(jù)C 715被輸入熵譯碼器725,后者是在JPEG標(biāo)準(zhǔn)中為JPEG編碼數(shù)據(jù)定義的。熵譯碼器725把數(shù)據(jù)解壓縮成量化DCT系數(shù)。這些量化系數(shù)被輸入逆量化器735且其輸出被傳送到反向變換器,在此系統(tǒng)中是兩維8×8逆DCT器745。所產(chǎn)生的實(shí)值圖象數(shù)據(jù)被舍入成整數(shù)并被修剪755(例如至范圍
),以產(chǎn)生允許范圍內(nèi)的整數(shù)值圖象數(shù)據(jù)759。
如果需要在操作之前顯示該數(shù)據(jù),例如當(dāng)圖象操作是一種交互過程時,該圖象能夠可選地被送到一個顯示器763。圖象受到操作器767的作用,以產(chǎn)生某些所希望的改變。如果操作的結(jié)果是非整數(shù)數(shù)據(jù)則該圖象數(shù)據(jù)可被傳送到另一整數(shù)轉(zhuǎn)換器和修剪器773。以此方式圖象數(shù)據(jù)777可再次得到顯示763。新的實(shí)域圖象數(shù)據(jù)777被傳送到正向DCT器781,且產(chǎn)生的DCT系數(shù)被輸入量化器785,以產(chǎn)生新的量化DCT系數(shù)789。這些系數(shù)789隨后被輸入熵編碼器793,以產(chǎn)生新的編碼數(shù)據(jù)C 797,它們不同于原來的編碼數(shù)據(jù)C715?,F(xiàn)在新的編碼數(shù)據(jù)C1 797不僅包含了所希望的由圖象操作器767進(jìn)行的圖象改變,而且還包含了從整數(shù)轉(zhuǎn)換器和修剪器755和773產(chǎn)生的誤差。
圖8(a)顯示了JPEG例子的8×8DCT亮度塊的亮度量化矩陣804。圖8(b)給出了8×8DCT色度塊的JPEG例子的色度量化矩陣814。圖8(a)中的最小的量化值是10。圖8(b)中的最小的量化值是17。
由于對64個抽樣來說舍入的最大可能的誤差是0.5,來自通過舍入轉(zhuǎn)換為整數(shù)的未量化的正向變換系數(shù)是4(圖8(c)中所示)。對于圖8(a)和8(b)中顯示的量化矩陣,這種大小的誤差小于所有值的一半且將在量化期間消失。然而,對于諸如高質(zhì)量打印或數(shù)字工作室編輯的高質(zhì)量應(yīng)用,量化矩陣值要小得多。在某些情況下,DC(左上角)項(xiàng)小到1,以保存最大的質(zhì)量。此時這些舍入誤差就是顯著的。
來自截斷的最大可能誤差對于各個抽樣來說剛好在1以下。這幾乎是未量化的正向變換系數(shù)中的誤差的兩倍。對于圖8(a)中的量化矩陣,八個量化值對于這種誤差來說小得足夠潛在地改變變換編碼數(shù)據(jù)。
圖8(c)中給出了顯示這種多重產(chǎn)生問題的一個數(shù)值例子。在此例中,所用的變換是如在JPEG靜止圖象壓縮標(biāo)準(zhǔn)中使用的8×8DCT。其中只有一個(常數(shù)或DC項(xiàng))不為零的一組變換域系數(shù)822,受到反向變換作用,以產(chǎn)生實(shí)域數(shù)據(jù)824。在此情況下,數(shù)據(jù)由都等于128.5的64個值組成。注意8位數(shù)據(jù)的128JPEG電平的移動已經(jīng)被施加。實(shí)域數(shù)據(jù)被舍入到最近的整數(shù)826,這在此情況下意味著各個值被舍入到129。正向變換隨后被施加,以產(chǎn)生新的變換域系數(shù)828??梢娝a(chǎn)生的新的變換系數(shù)828與初始的變換系數(shù)822有顯著的不同。這是一種非常不希望的結(jié)果。
如果DC量化值被置于1、2或4,則這種例子也適用于變換編碼數(shù)據(jù)。此時變換系數(shù)822將分別從變換編碼值4、2、或1產(chǎn)生。新的變換系數(shù)828的量化將所產(chǎn)生的DC量化值分別改變至2、4、或8。
圖8(d)中給出了顯示這種多重產(chǎn)生問題的另一個數(shù)值例子。同樣所用的變換是8×8DCT,如在JPEG靜止圖象壓縮標(biāo)準(zhǔn)中采用的。其中只有一個(常數(shù)或DC項(xiàng))不為零的一組變換域系數(shù)832,受到反向變換作用,以產(chǎn)生實(shí)域數(shù)據(jù)834。在此情況下,數(shù)據(jù)由都等于128.875的64個值組成。注意8位數(shù)據(jù)的128的JPEG電平的移動已經(jīng)被施加。實(shí)域數(shù)據(jù)被截斷到最近的整數(shù)836,這在此情況下意味著各個值被減小到128。正向變換隨后被施加,以產(chǎn)生新的變換域系數(shù)838??梢娝a(chǎn)生的新的變換系數(shù)838與初始的變換系數(shù)832有顯著的不同。這是一種非常不希望的結(jié)果。
在顯示了在轉(zhuǎn)換為整數(shù)時進(jìn)行實(shí)域舍入或截斷所導(dǎo)致誤差之后,我們現(xiàn)在顯示實(shí)域修剪如何產(chǎn)生誤差。圖8(e)顯示了實(shí)域修剪850的一個例子。這種例子采用了一維DCT以說明問題。圖8(d)顯示了一個直方圖854,它顯示了構(gòu)成八個抽樣的一個數(shù)據(jù)塊。顯示的該數(shù)據(jù)只有兩個頻率分量一個是恒定的或DC分量,它由虛線表示;另一個是交變的或AC分量,它給出了相對虛線對稱的交變波形。這些分量的幅度即各個DCT系數(shù)是高精度的值。當(dāng)進(jìn)行量化時,這些DCT系數(shù)被舍入到最近的量化電平。直方圖858中顯示了變換域量化之后的數(shù)據(jù)。在所示的例子中,DC系數(shù)具有小的量化值因而量化不會顯著地改變DC電平。所示的AC系數(shù)具有大的量化值,因而受到量化的顯著改變。這種例子顯示了,AC分量的幅度由于量化幾乎增加了一倍。這些量化值反映了例如當(dāng)壓縮色度圖象數(shù)據(jù)時采用的值。因此量化之后代表的數(shù)據(jù)具有帶有負(fù)值的部分。這顯示了在反向變換之后給出實(shí)域負(fù)值的變換域數(shù)據(jù)能夠由不包含負(fù)值的原來實(shí)域數(shù)據(jù)產(chǎn)生。
直方圖862顯示了在實(shí)域修剪之后從圖表858中的數(shù)據(jù)產(chǎn)生的數(shù)據(jù)。實(shí)數(shù)據(jù)的這些負(fù)的部分已經(jīng)被改變?yōu)?。這產(chǎn)生了數(shù)據(jù)增大的DC系數(shù)因而導(dǎo)致了誤差的引入。由于DC系數(shù)的量化值通常都小,這種誤差大得足以造成量化如公式(3)給出的數(shù)據(jù)的改變。
為了進(jìn)一步說明實(shí)域修剪引入的誤差的可能性,在圖8(f)和8(g)中給出了一個數(shù)值例子870。該例子采用了圖5中說明的系統(tǒng)。該例子采用了兩維8×8DCT,就象用于圖象的變換編碼以說明上述問題時一樣。初始的量化DCT系數(shù)在矩陣874中顯示。除了兩個系數(shù)之外的所有系數(shù)都是0;這兩個非零系數(shù)是DC系數(shù)和一個高頻系數(shù)。這些系數(shù),在利用圖8(a)所示的量化矩陣進(jìn)行量化之后,被顯示在矩陣878中,當(dāng)對這些變換數(shù)據(jù)進(jìn)行反向DCT且被加上128的電平移動時,實(shí)數(shù)據(jù)得到產(chǎn)生,如矩陣882所示。矩陣882中所示的該數(shù)據(jù)已經(jīng)被舍入到了整數(shù),但還未被修剪到一個允許范圍??梢娺@些實(shí)數(shù)據(jù)包括幾個負(fù)值。在修剪之后,實(shí)數(shù)據(jù)882產(chǎn)生了修剪的實(shí)數(shù)據(jù),如矩陣886中所示。這些數(shù)據(jù)與882相同,只是各個負(fù)值已經(jīng)被0所代替。隨后對該實(shí)域數(shù)據(jù)進(jìn)行正向DCT,以給出新的舍入變換數(shù)據(jù)890??梢娦碌淖儞Q數(shù)據(jù)與前面的變換數(shù)據(jù)878有顯著不同。當(dāng)量化是利用圖8(a)所示的量化矩陣進(jìn)行時,新的變換編碼數(shù)據(jù)894得到產(chǎn)生。變換數(shù)據(jù)中產(chǎn)生的改變大得足以在量化之后的變換編碼數(shù)據(jù)中產(chǎn)生改變。這是一種非常不希望的結(jié)果。
在很多情況下,數(shù)據(jù)的譯碼、操作和再編碼處理都需要進(jìn)行多次。在這些情況下,這種處理的每一次重復(fù)都被稱為“產(chǎn)生”。上述的由于轉(zhuǎn)換為整數(shù)和修剪到實(shí)域中的一個允許范圍而產(chǎn)生的誤差,隨著多次的重復(fù)的進(jìn)行而累積,并可導(dǎo)致數(shù)據(jù)的顯著惡化。應(yīng)該理解的是,以上描述的只是舍入(或截斷)和/或修剪所引入的誤差的代表性的例子。其他的例子所可能產(chǎn)生的誤差或多或少。
在如圖9所示的譯碼和再編碼的多次產(chǎn)生之后,這種問題通常更為嚴(yán)重。初始的變換編碼數(shù)據(jù)D0 910被去量化和反向變換920,轉(zhuǎn)換成整數(shù)并被修剪到允許范圍930,以產(chǎn)生整數(shù)值的實(shí)域數(shù)據(jù)940。這種實(shí)域數(shù)據(jù)940經(jīng)過正向變換和量化950,以給出新的變換編碼數(shù)據(jù)D1 960。這種整個過程被重復(fù)幾次,且在重復(fù)次數(shù)為某一數(shù)目n之后,最后的變換編碼數(shù)據(jù)Dn 970得到產(chǎn)生。由于各個步驟中的誤差,最后的數(shù)據(jù)Dn 970可能與原來數(shù)據(jù)非常不同了。
圖10中顯示了一種情況,它顯示出由于變換編碼數(shù)據(jù)的實(shí)域操作的多次產(chǎn)生而使這種問題顯著地惡化了。除了圖9所示的步驟之外,對實(shí)域數(shù)據(jù)進(jìn)行了某些形式的操作310,隨后是轉(zhuǎn)換為整數(shù)和修剪320。在正向變換和量化之后,所產(chǎn)生的量化變換系數(shù)101包含了某些誤差,象圖5中那樣。在n次產(chǎn)生之后,最后的變換量化系數(shù)1020可能具有相當(dāng)大的不希望的誤差。
圖11(a)中顯示了在變換數(shù)據(jù)1100的處理中的實(shí)域誤差的一種變換域校正方法的一個示例性的實(shí)施例。變換數(shù)據(jù)A 110通過一種反向變換,以產(chǎn)生高精度實(shí)域數(shù)據(jù)130,如圖1(a)所示。高精度數(shù)據(jù)130被轉(zhuǎn)換成整數(shù)并修剪140,以產(chǎn)生整數(shù)實(shí)域數(shù)據(jù)(即轉(zhuǎn)換數(shù)據(jù))150。在某些情況下,整數(shù)值數(shù)據(jù)可選地被送到輸出裝置160。整數(shù)數(shù)據(jù)150經(jīng)歷了某些形式的操作310。如果這種操作310不產(chǎn)生整數(shù)輸出,操作的輸出340重新被轉(zhuǎn)換成整數(shù)并修剪320。所產(chǎn)生的整數(shù)數(shù)據(jù)330可被存儲、發(fā)送、和/或可選地送到一個輸出裝置160。處理的轉(zhuǎn)換數(shù)據(jù)330被輸入到一個正向變換步驟410-它把整數(shù)數(shù)據(jù)作為輸入并產(chǎn)生作為輸出的變換的處理轉(zhuǎn)換數(shù)據(jù)620。
由于修剪和轉(zhuǎn)換成整數(shù)140的階段140是在接受整數(shù)輸入150的操作之前進(jìn)行的,所產(chǎn)生的誤差使來自轉(zhuǎn)換為整數(shù)之后的操作的數(shù)據(jù)操作至少包含小的不準(zhǔn)確。這種不準(zhǔn)確能夠在變換域中通過從高精度值130中減去110轉(zhuǎn)換數(shù)據(jù)150而得到校正,從而形成高精度誤差1120。這些誤差1120通過一個操作器1130-它接受作為輸入的高精度誤差數(shù)據(jù)。所產(chǎn)生的變換誤差數(shù)據(jù)1160可在操作的變換誤差1174被加到1180變換的處理的轉(zhuǎn)換數(shù)據(jù)620上之前被再次操作1170,以產(chǎn)生變換數(shù)據(jù)A3。
沒有要求操作步驟310、1130和1170中的任何或所有步驟都要出現(xiàn)。如果有未出現(xiàn)的,變換數(shù)據(jù)A3 1190與輸入到反向變換120的原來的變換數(shù)據(jù)A 110相同。這樣是假定正向變換步驟410和1150是反向變換步驟120的反向變換,且由于來自舍入和修剪的誤差未出現(xiàn)在變換數(shù)據(jù)A3 1190中。當(dāng)采用不同的正向變換時,正向變換410和1150產(chǎn)生了不同變換數(shù)據(jù)A3 1190。這使得能夠在不同變換之間進(jìn)行轉(zhuǎn)換,并在變換域中對來自舍入和修剪的誤差進(jìn)行校正。
如果操作步驟310產(chǎn)生了兩個數(shù)據(jù)組的合并,則對于其中正向變換在塊上操作且合并發(fā)生在塊邊界上的實(shí)施例,操作步驟1130或操作步驟1170都用于產(chǎn)生兩組誤差的合并。對于在作為一個塊的整個數(shù)據(jù)上的正向變換,在誤差上的實(shí)域操作1130產(chǎn)生了正向變換1150的單個的數(shù)據(jù)組。
在本發(fā)明的某些實(shí)施例中,相加步驟1180作為一種智能相加而得到實(shí)施。在該智能相加的一種實(shí)施例中,對于變換的處理轉(zhuǎn)換數(shù)據(jù)為不影響將來使用的可容忍的誤差定義了一個閾值。在此實(shí)施例中,只有幅度比定義的閾值大的誤差被加到變換的處理轉(zhuǎn)換數(shù)據(jù)上。替換的智能相加實(shí)施規(guī)則有時也得到使用。所有專門的相加實(shí)施在此都被稱為智能相加。因此對于這些實(shí)施例,不論相加步驟在此是何時表示的,它都是作為采用智能相加的智能相加而得到實(shí)施。
上述的實(shí)施例具有這樣的優(yōu)點(diǎn),即隨后跟有正向變換的傳統(tǒng)的操作(即處理)不受干擾。高精度誤差是在該操作步驟之前產(chǎn)生的,且隨后在傳統(tǒng)處理和正向變換之后被加回到變換的處理數(shù)據(jù)上。
對某些操作,對高精度差分的操作最好是在實(shí)域中進(jìn)行。對于其他操作,變換域是較好的對這些差分進(jìn)行操作的地方。例如,在其中操作步驟310對轉(zhuǎn)換數(shù)據(jù)進(jìn)行90度轉(zhuǎn)動的操作步驟310,則高精度差分也被轉(zhuǎn)動90度。如果操作步驟310合并了兩個數(shù)據(jù)組,諸如在彩色圖象組合方法中,則高精度差分也得到合并以對應(yīng)操作的轉(zhuǎn)換數(shù)據(jù)。對于某些操作,諸如轉(zhuǎn)換數(shù)據(jù)的彩色校正,相應(yīng)的差分?jǐn)?shù)據(jù)可被清除或歸零,因?yàn)檫@些差分不再對應(yīng)于改變的轉(zhuǎn)換數(shù)據(jù)。
圖11(b)中顯示了根據(jù)本發(fā)明的變換數(shù)據(jù)1105的處理中的實(shí)域誤差的一種變換域校正系統(tǒng)的一個示例性實(shí)施例。變換數(shù)據(jù)A115通過一種反向變換器125以產(chǎn)生高精度實(shí)域數(shù)據(jù)135,如圖1(b)所示。整數(shù)轉(zhuǎn)換器和修剪器145作用在高精度數(shù)據(jù)135上,以產(chǎn)生整數(shù)的實(shí)域數(shù)據(jù)155。在某些情況下,整數(shù)值數(shù)據(jù)可選地被送到一個輸出裝置165。操作器1179作用在實(shí)域轉(zhuǎn)換數(shù)據(jù)155上,從而接受作為輸入的整數(shù)數(shù)據(jù)并產(chǎn)生整數(shù)數(shù)據(jù)或高精度數(shù)據(jù)1183作為輸出。這種操作器1179對數(shù)據(jù)進(jìn)行與結(jié)合圖3描述的對整數(shù)的操作相同的處理。處理的轉(zhuǎn)換數(shù)據(jù)1191被輸入一個正向變換器1195-它接受整數(shù)數(shù)據(jù)作為輸入并產(chǎn)生作為輸出的變換的處理轉(zhuǎn)換數(shù)據(jù)1199。由于修剪并轉(zhuǎn)換成整數(shù)145的階段是在接受整數(shù)輸入155的操作之前進(jìn)行的,所產(chǎn)生的誤差通常使轉(zhuǎn)換為整數(shù)1191之后的操作包含至少小的不準(zhǔn)確。這種不準(zhǔn)確能夠在變換域中通過從高精度的值135中減去1115轉(zhuǎn)換數(shù)據(jù)155而得到校正,從而形成高精度誤差1125。這些誤差1125通過一種操作器1135-它接受高精度誤差數(shù)據(jù)作為輸入,以產(chǎn)生新的操作的高精度誤差1145。這種高精度誤差1145被用作至正向變換器1155的輸入。所產(chǎn)生的變換誤差數(shù)據(jù)1159可在操作的變換誤差1167被輸入到一個加法器1171之前與變換的處理轉(zhuǎn)換數(shù)據(jù)1199一起通過另一操作器1163。該加法器的輸出是變換域校正的變換數(shù)據(jù)A3 1175。
未要求操作器1179、1135和1163中的任何或全部都要出現(xiàn)。如果有未出現(xiàn)的,變換數(shù)據(jù)A3 1175與作為至反向變換125的輸入的原來的變換數(shù)據(jù)A115相同。這是假定正向變換器1195和1155執(zhí)行反向變換器125的反向變換操作,且由于來自舍入和修剪的誤差不出現(xiàn)在變換數(shù)據(jù)A3 1175中。正向變換器1195和1155,當(dāng)不同的正向變換得到采用時,產(chǎn)生了不同的變換數(shù)據(jù)A3 1175。這使得能夠進(jìn)行變換之間的轉(zhuǎn)換,并在變換域中對來自舍入和修剪的誤差進(jìn)行校正。
在本發(fā)明的某些實(shí)施例中,加法器1171是以智能加法器的形式實(shí)施的。在智能加法器的一個實(shí)施例中,對于變換的處理轉(zhuǎn)換數(shù)據(jù)為不影響將來使用的可容忍的誤差定義了一個閾值。在此加法器實(shí)施例中,只有幅度比定義的閾值大的誤差被加到變換的處理轉(zhuǎn)換數(shù)據(jù)上。替換的智能加法器的實(shí)施規(guī)則有時也得到使用。所有專門的加法器實(shí)施在此都被稱為智能加法器。因此對于這些實(shí)施例,不論加法器步驟在此是何時使用的,它都是作為智能加法器而得到實(shí)施。
圖12(a)顯示了在變換編碼數(shù)據(jù)1200的處理中的實(shí)域誤差的變換域校正的一種方法。這種方法是通過延伸圖11(a)中描述的方法1100而形成的。在此實(shí)施例中,變換編碼數(shù)據(jù)B 210是形成變換數(shù)據(jù)110的逆量化220。如在圖11(a)中,轉(zhuǎn)換數(shù)據(jù)150能夠利用傳統(tǒng)的整數(shù)處理而得到操作310。在處理之前,轉(zhuǎn)換數(shù)據(jù)150被從來自反向變換120的高精度輸出130中減去,以形成高精度差分1120。高精度差分1120通過操作步驟1130-它接受高精度差分?jǐn)?shù)據(jù)作為輸入,以產(chǎn)生新的操作高精度差分1140。該操作高精度差分1140被輸入到正向變換步驟1150-它接受作為輸入的高精度數(shù)。變換的高精度差分1160得到量化1210,以產(chǎn)生變換編碼誤差數(shù)據(jù)1220。變換編碼誤差數(shù)據(jù)1220類似地具有很多零,因?yàn)楦呔炔罘謹(jǐn)?shù)據(jù)是小的值(對舍入為0.5或更小且對截斷來說小于1.0),除了修剪已經(jīng)在轉(zhuǎn)換數(shù)據(jù)中出現(xiàn)的情況。變換編碼誤差數(shù)據(jù)被逆量化1230,以形成去量化變換誤差數(shù)據(jù)1240。去量化的變換誤差數(shù)據(jù)1240可受到操作1170,以形成操作的去量化變換誤差數(shù)據(jù)1250。從正向變換410輸出的取整數(shù)輸入的處理轉(zhuǎn)換變換數(shù)據(jù)620被加到1180操作的去量化變換誤差數(shù)據(jù)1250上。這種變換域校正的處理轉(zhuǎn)換變換數(shù)據(jù)1260得到量化1270,以形成變換編碼數(shù)據(jù)B2 1280。
根據(jù)所希望的系統(tǒng)實(shí)施,正向變換操作1150和410可采用與反向變換操作120不同的變換。例如,反向變換120可采用逆DCT變換,而正向變換1150和410可采用付立葉變換。如果正向變換操作1150是反向變換操作120的反向變換;正向變換操作410是反向變換操作120的反向變換;逆量化步驟220與量化步驟1270中使用的量化值相同;且,操作310、1130和1170未作什么,則所產(chǎn)生的變換編碼數(shù)據(jù)B2 1280與輸入逆量化步驟220的原來的變換編碼數(shù)據(jù)B210相同。應(yīng)該注意的是,正向變換410,當(dāng)采用不同的正向變換時,將產(chǎn)生不同的變換編碼數(shù)據(jù)B2 1280。類似地,在逆量化220和量化1270中采用不同的量化值也產(chǎn)生不同的變換編碼數(shù)據(jù)1280。這種方法因而允許變換與量化矩陣之間的轉(zhuǎn)換,而沒有來自舍入和修剪的誤差出現(xiàn)在至量化1270的輸入1260中。
應(yīng)該注意的是,量化矩陣之間的轉(zhuǎn)換可以是用于粗或細(xì)量化的。例如,當(dāng)從JPEG國際標(biāo)準(zhǔn)向MPEG國際標(biāo)準(zhǔn)轉(zhuǎn)換數(shù)據(jù)時,量化可能是粗的。在編輯過程中需要更高質(zhì)量的JPEG獨(dú)立圖象。較粗的、更大壓縮的MPEG圖象被用于實(shí)現(xiàn)所希望的帶寬目的。另一方面,在顯著的手動編輯之后對JPEG圖象的再壓縮中,量化可能較細(xì),以保存這些改變。
步驟1210和1230中的術(shù)語“量化”之后的星號,是提醒對這些步驟的量化是最后量化步驟1270的量化的一半是有利的。在此情況下,去量化變換誤差數(shù)據(jù)具有足夠的精度來校正轉(zhuǎn)換數(shù)據(jù)中的實(shí)域誤差。
在一個替換實(shí)施例中,轉(zhuǎn)換數(shù)據(jù)150的操作310和整數(shù)操作轉(zhuǎn)換數(shù)據(jù)330的正向變換410是與減法110平行進(jìn)行的,以產(chǎn)生高精度差分和高精度差分的正向變換1150。在此實(shí)施例中,量化1210和逆量化1230步驟被消除了。變換誤差數(shù)據(jù)1160被直接輸入操作步驟1170。象在圖11(a)中一樣。
形成變換編碼誤差數(shù)據(jù)的變換誤差數(shù)據(jù)的量化,當(dāng)操作是依次進(jìn)行且只有有限的可用存儲器來存儲整數(shù)轉(zhuǎn)換數(shù)據(jù)和高精度差分?jǐn)?shù)據(jù)時,是非常有用的。這種變換編碼誤差數(shù)據(jù)是高度可壓縮的。由于大多數(shù)的系數(shù)是零,64位字能夠有效地以1位的標(biāo)記來存儲零的位置和非零的系數(shù)。根據(jù)選定的量化,非零的系數(shù)能夠作為字節(jié)或兩字節(jié)整數(shù)來跟隨這種64位字。
圖12(b)顯示了變換編碼數(shù)據(jù)的處理中用于實(shí)域誤差的變換域校正的的系統(tǒng)1205。這種系統(tǒng)是通過擴(kuò)展圖11(b)中描述的系統(tǒng)1105而形成的。在此實(shí)施例中,變換編碼數(shù)據(jù)B 215是形成變換數(shù)據(jù)115的逆量化器225。如在圖11(b)中,轉(zhuǎn)換數(shù)據(jù)155能夠利用傳統(tǒng)的整數(shù)處理而得到操作1179。在進(jìn)一步的處理或操作之前,轉(zhuǎn)換數(shù)據(jù)155被從來自反向變換器125的高精度輸出135中減去,以形成高精度差分1125。這種高精度差分1125被送到操作器1135-它接受高精度數(shù)據(jù)作為輸入,以產(chǎn)生新的操作的高精度差分1145。這種操作高精度差分被輸入到正向變換器1155-它接受高精度數(shù)作為輸入。變換的高精度差分1159得到量化1215,以產(chǎn)生變換編碼誤差數(shù)據(jù)1225。變換編碼誤差數(shù)據(jù)1225可能具有很多零,因?yàn)楦呔炔罘謹(jǐn)?shù)據(jù)是小的值(對舍入為0.5或更小且對截斷為1.0或更小),只是轉(zhuǎn)換數(shù)據(jù)中發(fā)生了修剪的地方除外。該變換編碼誤差數(shù)據(jù)受到逆量化1235,以形成去量化的變換誤差數(shù)據(jù)1245。去量化的變換誤差數(shù)據(jù)1245可得到操作1163,以形成操作的去量化的變換誤差數(shù)據(jù)1255。從以整數(shù)作為輸入的正向變換器1195輸出的處理的轉(zhuǎn)換變換數(shù)據(jù)1199被加到1171去量化的變換誤差數(shù)據(jù)1255上。變換域校正的處理轉(zhuǎn)換變換數(shù)據(jù)1265得到量化1275,以形成變換編碼數(shù)據(jù)B2 1285。
根據(jù)所希望的系統(tǒng)實(shí)施,正向變換器1195可采用與反向變換器125不同的變換。例如,反向變換器125可采用逆DCT變換,而正向變換器1195可實(shí)施付立葉變換。如果正向變換器1195執(zhí)行反向變換器125的反向變換;正向變換器1155是反向變換器125的反向變換;逆量化器225與量化器1275中使用的量化值相同;且,操作器1179、1135和1163未作什么,則所產(chǎn)生的變換編碼數(shù)據(jù)B2 1285與輸入逆量化器225的原來的變換編碼數(shù)據(jù)B215相同。應(yīng)該注意的是,正向變換器1195,當(dāng)采用不同的正向變換時,將產(chǎn)生不同的變換編碼數(shù)據(jù)B2。類似地,在逆量化器225和量化器1275中采用不同的量化值也產(chǎn)生不同的變換編碼數(shù)據(jù)1285。這種方法因而允許變換與量化矩陣之間的轉(zhuǎn)換,而沒有來自舍入和修剪的誤差出現(xiàn)在至量化器1275的輸入1265中。
步驟1215和1235中的術(shù)語“量化器”之后的星號,是提醒對這些步驟的量化是最后量化器1275的量化的一半是有利的。在此情況下,去量化變換誤差數(shù)據(jù)具有足夠的精度來校正轉(zhuǎn)換數(shù)據(jù)中的實(shí)域誤差。
在一個替換實(shí)施例中,轉(zhuǎn)換數(shù)據(jù)155的操作器1179和整數(shù)操作轉(zhuǎn)換數(shù)據(jù)1191的正向變換器1195是與操作器1135和高精度差分的正向變換器1155平行進(jìn)行的。在此實(shí)施例中,量化器1215和逆量化器1235被消除了。變換誤差數(shù)據(jù)1159被直接輸入操作器1163。象在圖11(b)中一樣。
形成變換編碼誤差數(shù)據(jù)的變換誤差數(shù)據(jù)的量化,當(dāng)操作是依次進(jìn)行且只有有限的可用存儲器來存儲整數(shù)轉(zhuǎn)換數(shù)據(jù)和高精度差分?jǐn)?shù)據(jù)時,是非常有用的。
圖13(a)中顯示了根據(jù)本發(fā)明的編碼數(shù)據(jù)1300的處理中的一種實(shí)域誤差的變換域校正方法的一個示例性實(shí)施例。選定的實(shí)施例是用于編碼圖象的實(shí)域操作的一種方法,這種編碼是采用諸如JPEG編碼圖象的DCT的變換編碼。編碼數(shù)據(jù)C 710通過無損失熵譯碼步驟720而得到譯碼,以產(chǎn)生量化的DCT系數(shù)。這些系數(shù)得到去量化730并被送到逆DCT740以產(chǎn)生高精度實(shí)域數(shù)據(jù)1310。整數(shù)轉(zhuǎn)換器和修剪器750對高精度數(shù)據(jù)1310進(jìn)行操作,以產(chǎn)生整數(shù)的實(shí)域數(shù)據(jù)754。在某些情況下,整數(shù)值數(shù)據(jù)可選地被送到顯示器758。
操作步驟762對實(shí)域轉(zhuǎn)換數(shù)據(jù)754進(jìn)行操作,并接受整數(shù)數(shù)據(jù)作為輸入并產(chǎn)生整數(shù)數(shù)據(jù)或高精度數(shù)據(jù)作為輸出。如果操作得到的數(shù)據(jù)不是整數(shù),它們在可選地被送到接受整數(shù)值數(shù)據(jù)772的顯示器758之前被轉(zhuǎn)換成整數(shù)并得到修剪678。
減去步驟1314從高精度的值1310減去轉(zhuǎn)換的整數(shù)數(shù)據(jù)754,以形成高精度差分1318。該高精度差分1318被傳送到一個操作步驟1322-它接受高精度差分?jǐn)?shù)據(jù)作為輸入,以產(chǎn)生新的操作的高精度差分1326。這種操作的高精度差分1326被輸入到一個正向變換步驟1330-它接受高精度數(shù)作為輸入。變換的高精度差分1334被量化1338,以產(chǎn)生變換編碼誤差數(shù)據(jù)1342。無損失熵編碼步驟1346壓縮變換編碼誤差數(shù)據(jù)1342。隨后編碼的誤差數(shù)據(jù)1350得到有效的存儲、保存、或發(fā)送。
無損失熵譯碼步驟1354對編碼誤差數(shù)據(jù)1350進(jìn)行譯碼,并輸出量化的變換系數(shù)。這些系數(shù)被去量化(即逆量化)1358,以產(chǎn)生去量化變換誤差數(shù)據(jù)1362。去量化的變換誤差數(shù)據(jù)1362可受到操作1368,以形成操作的去量化變換誤差數(shù)據(jù)1372。
處理的轉(zhuǎn)換數(shù)據(jù)772被輸入到接受整數(shù)數(shù)據(jù)作為輸入的正向DCT776。來自正向DCT 776的輸出值被加到1376操作的去量化變換誤差數(shù)據(jù)1372上,從而形成變換域校正向變換數(shù)據(jù)1380。這種變換域校正向變換數(shù)據(jù)1380得到量化780,以產(chǎn)生新的整數(shù)DCT系數(shù)1384。這些系數(shù)1384通過無損失熵編碼步驟788而得到編碼,以產(chǎn)生新的編碼數(shù)據(jù)C2 1388。
應(yīng)該注意的是,如果正向和逆DCT和操作系統(tǒng)足夠準(zhǔn)確,因而它們引入的誤差比量化步驟的一半小,如上述公式(3)描述的,在DCT系數(shù)中完全不會引入誤差。
圖13(b)中顯示了編碼數(shù)據(jù)的處理中的實(shí)域誤差的變換域校正系統(tǒng)1305的一個本發(fā)明的示例性實(shí)施例。編碼的圖象數(shù)據(jù)C 715受到無損失熵譯碼器725的譯碼,以產(chǎn)生量化的DCT系數(shù)。這些系數(shù)被送到一個逆量化器735且隨后通過一個逆DCT器745,以產(chǎn)生實(shí)域數(shù)據(jù)1315。整數(shù)轉(zhuǎn)換器和修剪器755對高精度數(shù)據(jù)1315進(jìn)行操作,以產(chǎn)生整數(shù)實(shí)域數(shù)據(jù)759。在某些情況下,整數(shù)值數(shù)據(jù)可選地被送到一個顯示器763。減法器1319從轉(zhuǎn)換的整數(shù)數(shù)據(jù)759減去高精度的值1315,從而形成高精度差分1323。
操作器767對實(shí)域轉(zhuǎn)換數(shù)據(jù)759進(jìn)行操作,從而接受整數(shù)數(shù)據(jù)作為輸入并產(chǎn)生整數(shù)數(shù)據(jù)或高精度數(shù)據(jù)作為輸出。如果操作的數(shù)據(jù)不是整數(shù),它們在可選地被送到接受整數(shù)值輸入777的顯示器763之前被轉(zhuǎn)換成整數(shù)并得到修剪773。
減法器1319從高精度的值1315減去轉(zhuǎn)換的整數(shù)數(shù)據(jù)759,從而形成高精度差分1323。該高精度差分1323被傳送到一個操作器1327-它接受高精度差分作為輸入,以產(chǎn)生新的操作的高精度差分1331。該操作的高精度差分1331被輸入正向DCT器1335-它接受高精度數(shù)作為輸入。變換的高精度差分1339得到量化1343,以產(chǎn)生變換編碼誤差數(shù)據(jù)1347。無損失熵的編碼器1351壓縮變換編碼誤差數(shù)據(jù)1347。隨后編碼的誤差數(shù)據(jù)1355得到有效存儲、保存、或發(fā)送。
無損失熵譯碼器1359對編碼的誤差數(shù)據(jù)1355進(jìn)行譯碼并輸出量化的變換系數(shù)。這些系數(shù)被去量化(即逆量化)1363,以產(chǎn)生去量化的變換誤差數(shù)據(jù)1367。去量化的變換誤差數(shù)據(jù)1367可受到操作1373,以形成操作的去量化的變換誤差數(shù)據(jù)1377。
處理的轉(zhuǎn)換數(shù)據(jù)777被輸入正向DCT器781-它接受整數(shù)數(shù)據(jù)作為輸入。從正向DCT器781輸出的值和操作的去量化的變換誤差數(shù)據(jù)1377被輸入到加法器1381。從加法器1381輸出的變換域校正的變換數(shù)據(jù)1385被輸入量化器785,以產(chǎn)生新的整數(shù)DCT系數(shù)1389。這些系數(shù)1389被輸入無損失熵編碼器793,后者產(chǎn)生新的編碼數(shù)據(jù)C2 1393。
在本發(fā)明的一個替換實(shí)施例中,實(shí)施了一種方法,用于在多個步驟對具有實(shí)域誤差的變換編碼數(shù)據(jù)進(jìn)行實(shí)域操作,以正向變換和量化步驟和逆量化步驟和反向變換步驟來交替進(jìn)行轉(zhuǎn)換數(shù)據(jù)的操作和變換域中的誤差的校正?;氐綀D10,其中整數(shù)輸出被傳送到各個正向變換950,從圖11(a)中產(chǎn)生高精度誤差輸入的步驟至使用該高精度輸入并隨后把變換的誤差智能地加到變換的轉(zhuǎn)換數(shù)據(jù)中的正向變換步驟,除去了轉(zhuǎn)換為整數(shù)和修剪產(chǎn)生的誤差。圖12(a)顯示了這種多產(chǎn)生系統(tǒng)的一個循環(huán)。圖13(a)顯示了這種多重產(chǎn)生方法的另一實(shí)施例的一個循環(huán)。
本發(fā)明的另一個替換實(shí)施例實(shí)施了一種系統(tǒng),該系統(tǒng)用于借助多個步驟的變換域校正來進(jìn)行變換編碼數(shù)據(jù)的實(shí)域操作,把減法器、操作器、和加法器與正向變換器和量化器和逆量化和反向變換相交替。參見圖12(b),其中顯示了一種多重產(chǎn)生系統(tǒng)的一個循環(huán)。
一般地,各個操作可對數(shù)據(jù)進(jìn)行另一種操作。例如對于數(shù)字作品室編輯,第一個操作可能是圖象的彩色校正。第二個操作可能是利用彩色圖象組合方法來把彩色校正過的圖象與背景合并。第三個操作可能是把高亮加到圖象上。第四個操作可能是把圖象的寬高比從16∶9變成電視的寬高比4∶3。對于圖象的打印,第一個操作可能是把圖象轉(zhuǎn)動90度,以使圖象向著打印方向。第二個操作可能是把幾個獨(dú)立的圖象合并成一個復(fù)合圖象。第三個操作可能是進(jìn)行顏色轉(zhuǎn)換。對于編碼的圖象數(shù)據(jù)輸出裝置可以是顯示器或電視機(jī)。對于編碼的音頻數(shù)據(jù)輸出裝置可以是播放機(jī)和/或錄音機(jī)。
產(chǎn)生之間的操作的例子包括合并兩或更多的變換編碼數(shù)據(jù)組。對于變換編碼圖象數(shù)據(jù)組,合并可能是需要的,因?yàn)樾枰讯鄠€小的圖象匯集成一個較大的圖象。廣告冊通常由多個單個的圖象組成。今天的最高級的激光打印機(jī)一次能夠打印一頁以上。在此情況下,圖象通常不重疊,而可能沒有同樣的量化,而相對于基準(zhǔn)網(wǎng)格進(jìn)行定位,諸如用于JPEG DCT或取向的8×8塊結(jié)構(gòu)。通過在實(shí)域組成最后的圖象,可對各個子圖象進(jìn)行標(biāo)準(zhǔn)處理。隨后復(fù)合的圖象可得到再壓縮,以在飛擊式打印中作最終的解壓縮。
類似地,數(shù)字編輯可包括要求依次進(jìn)行的若干獨(dú)立操作的特殊效果。數(shù)字電影經(jīng)常采用淡入/淡出特殊效果以進(jìn)行兩個關(guān)鍵場面之間的平穩(wěn)切換。這種特殊效果可跟隨對各個場面的獨(dú)立的處理。因此,解壓縮和再壓縮的多次產(chǎn)生是編輯中經(jīng)常需要的,以產(chǎn)生特殊效果的復(fù)合。
彩色圖象組合涉及兩個獨(dú)立的視頻數(shù)據(jù)流。在一個視頻流中背景已經(jīng)被獲得。在另一視頻流中前景(經(jīng)常是由涉及演員的動作組成)被印在空白的單色(諸如深藍(lán)或黑)背景上。隨后,前景圖象中的空白象素被背景視頻中的象素所代替。由于這些象素要在單個象素級上混頻,這些圖象需要在實(shí)域中結(jié)合。轉(zhuǎn)換為整數(shù)和修剪所引入的誤差對于這種數(shù)字作品室應(yīng)用是非常不希望的。這些誤差通過實(shí)施本發(fā)明而得到減少或消除。
使用本發(fā)明的另一個應(yīng)用例子是在采用有時高過100兆象素的數(shù)字圖象的高端數(shù)字圖形市場。光彩的廣告冊和展臺上的大照片只是這種高質(zhì)量數(shù)字圖象技術(shù)應(yīng)用的兩個例子。高質(zhì)量損失JPEG壓縮有時被用于限制發(fā)送和存儲成本。當(dāng)這樣的圖象被解壓縮和再壓縮以進(jìn)行諸如加高亮光、校正顏色、添加或改變內(nèi)容和圖象標(biāo)頭的改變和修正時,不希望的誤差是一個問題,這種問題可利用本發(fā)明的原理而得到解決。
本發(fā)明的概念的上述例子是圖象和視頻變換數(shù)據(jù)中通??梢姷?。因特網(wǎng)的廣泛使用已經(jīng)顯示了JPEG和MPEG壓縮圖象數(shù)據(jù)的價值。當(dāng)JPEG圖象將要被打印時,需要進(jìn)行諸如標(biāo)度改變或取向改變的修正。另外,在再壓縮之后至另一色空間的變換將使準(zhǔn)備好打印的版本能夠得到存儲。采用本發(fā)明克服了舍入和修剪所傳播的誤差的問題。
音頻編碼數(shù)據(jù)也需要得到解壓縮、與特殊聲音效果混頻、與其他音頻數(shù)據(jù)合并、在實(shí)域中以較少的誤差進(jìn)行編輯和處理。當(dāng)數(shù)據(jù)被存儲在變換域中時,類似的實(shí)施也對其他工業(yè)、商業(yè)、和軍事應(yīng)用中采用數(shù)據(jù)變換和反向變換的數(shù)字處理所進(jìn)行。這些因而是其中本發(fā)明具有高度利用價值的情況的例子。
進(jìn)一步地,應(yīng)該注意的是,本發(fā)明還可被作為設(shè)備或計算機(jī)產(chǎn)品而提供。例如,它可以作為包括其中體現(xiàn)有使計算機(jī)實(shí)施本發(fā)明的方法的計算機(jī)可讀取程序碼裝置的制造品,而得到實(shí)施。
還應(yīng)該注意的是,雖然本發(fā)明的描述是對于具體的步驟設(shè)置而進(jìn)行的,本發(fā)明的原理和概念也適用于和可應(yīng)用于其他的情況。本領(lǐng)域的技術(shù)人員應(yīng)該理解的是,在不脫離本發(fā)明的精神和范圍的前提下,可以對所公布的實(shí)施例進(jìn)行其他的修正。
權(quán)利要求
1.一種用于對代表一種現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的方法,該方法包括對所述變換數(shù)據(jù)進(jìn)行至實(shí)域的反向變換,從而形成高精度數(shù);把所述高精度數(shù)轉(zhuǎn)換成整數(shù)并把該整數(shù)修剪到一個允許范圍,從而形成初始轉(zhuǎn)換數(shù)據(jù);從所述高精度數(shù)減去所述轉(zhuǎn)換數(shù)據(jù),從而形成高精度差分;對所述初始轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換,從而形成變換的轉(zhuǎn)換數(shù)據(jù);對所述高精度差分進(jìn)行正向變換,從而形成變換差分;以及把所述變換的差分加到所述變換的轉(zhuǎn)換數(shù)據(jù)上,從而形成校正的變換數(shù)據(jù)。
2.根據(jù)權(quán)利要求1的方法,其中對于所述正向變換所述初始轉(zhuǎn)換數(shù)據(jù)的所述正向變換的反向變換不同于所述反向變換。
3.根據(jù)權(quán)利要求1的方法,其中所述高精度數(shù)是浮點(diǎn)數(shù)。
4.根據(jù)權(quán)利要求1的方法,其中所述高精度數(shù)是包括一個小數(shù)部分的固定精度的數(shù)。
5.根據(jù)權(quán)利要求1的方法,進(jìn)一步包括對變換編碼數(shù)據(jù)進(jìn)行逆量化以形成變換數(shù)據(jù)。
6.根據(jù)權(quán)利要求5的方法,進(jìn)一步包括對所述校正的變換數(shù)據(jù)進(jìn)行量化以形成量化數(shù)據(jù)
7.根據(jù)權(quán)利要求6的方法,進(jìn)一步包括對編碼數(shù)據(jù)進(jìn)行熵譯碼,以形成變換編碼數(shù)據(jù);以及對量化的數(shù)據(jù)進(jìn)行熵編碼,從而形成編碼數(shù)據(jù)。
8.根據(jù)權(quán)利要求6的方法,其中所述逆量化步驟和所述量化步驟采用了至少一個不同的量化值。
9.用于對代表一種現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的一種方法,該方法包括對所述變換數(shù)據(jù)進(jìn)行至實(shí)域的反向變換,從而形成高精度數(shù);把所述高精度數(shù)轉(zhuǎn)換成整數(shù)并把該整數(shù)修剪到一個允許范圍,從而形成初始轉(zhuǎn)換數(shù)據(jù);從所述高精度數(shù)減去所述轉(zhuǎn)換數(shù)據(jù),從而形成高精度差分;對所述初始轉(zhuǎn)換數(shù)據(jù)進(jìn)行操作,以產(chǎn)生一種效果并形成經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù);對所述初始轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換,從而形成變換的轉(zhuǎn)換數(shù)據(jù);對所述高精度差分進(jìn)行正向變換,從而形成變換的差分;以及把所述變換的差分加到所述變換的轉(zhuǎn)換數(shù)據(jù)上,從而形成校正的變換數(shù)據(jù)。
10.根據(jù)權(quán)利要求9的方法,進(jìn)一步包括對變換編碼數(shù)據(jù)進(jìn)行逆量化,以形成變換數(shù)據(jù)。
11.根據(jù)權(quán)利要求10的方法,進(jìn)一步包括對所述校正的變換數(shù)據(jù)進(jìn)行量化以形成量化數(shù)據(jù)。
12.根據(jù)權(quán)利要求11的方法,進(jìn)一步包括對編碼數(shù)據(jù)進(jìn)行熵譯碼,以形成變換編碼數(shù)據(jù);以及對量化數(shù)據(jù)進(jìn)行熵編碼以形成編碼數(shù)據(jù)。
13.根據(jù)權(quán)利要求9的方法,其中所述效果是圖象數(shù)據(jù)的顏色校正。
14.根據(jù)權(quán)利要求12的方法,其中所述編碼數(shù)據(jù)是編碼音頻數(shù)據(jù)
15.根據(jù)權(quán)利要求12的方法,其中所述編碼數(shù)據(jù)是編碼圖象數(shù)據(jù)。
16.根據(jù)權(quán)利要求12的方法,其中所述編碼數(shù)據(jù)是編碼視頻數(shù)據(jù)。
17.根據(jù)權(quán)利要求15的方法,其中所述編碼圖象數(shù)據(jù)是按照J(rèn)PEG靜止圖象國際標(biāo)準(zhǔn)格式的。
18.根據(jù)權(quán)利要求16的方法,其中所述編碼圖象數(shù)據(jù)是按照MPEG運(yùn)動視頻國際標(biāo)準(zhǔn)格式的。
19.根據(jù)權(quán)利要求12的方法,所述方法的步驟進(jìn)一步包括把所述操作步驟與所述進(jìn)行正向變換、進(jìn)行量化、熵編碼、熵譯碼、進(jìn)行逆量化、和進(jìn)行反向變換的步驟交替進(jìn)行所希望的次數(shù)。
20.根據(jù)權(quán)利要求19的方法,其中所述編碼數(shù)據(jù)是壓縮數(shù)據(jù),且交替的各個步驟實(shí)施了一個壓縮/解壓縮循環(huán)。
21.用于對代表現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的一種方法,該方法包括對所述變換數(shù)據(jù)進(jìn)行至實(shí)域的反向變換,從而形成高精度數(shù);把所述高精度數(shù)轉(zhuǎn)換成整數(shù)并把該整數(shù)修剪至一個允許范圍,從而形成初始轉(zhuǎn)換數(shù)據(jù);從所述高精度數(shù)減去初始轉(zhuǎn)換數(shù)據(jù),從而形成初始高精度差分;對所述初始轉(zhuǎn)換數(shù)據(jù)進(jìn)行操作,以產(chǎn)生一種第一效果,從而形成經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù);對所述經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換,從而形成變換的轉(zhuǎn)換數(shù)據(jù);對所述初始高精度差分進(jìn)行操作,以產(chǎn)生一種第二效果,并形成處理的高精度差分;正向變換所述經(jīng)過處理的高精度差分,以形成變換差分;以及把所述變換的差分加到所述變換的轉(zhuǎn)換數(shù)據(jù)上,從而形成校正的變換數(shù)據(jù)。
22.根據(jù)權(quán)利要求21的方法,其中所述第一種效果是兩個數(shù)據(jù)組的彩色圖象組合合并。
23.根據(jù)權(quán)利要求22的方法,其中所述第二效果是按照兩個數(shù)據(jù)組的彩色圖象組合合并的兩個初始高精度差分的合并。
24.根據(jù)權(quán)利要求21的方法,其中所述第一種效果是圖象數(shù)據(jù)的顏色校正。
25.根據(jù)權(quán)利要求21的方法,其中所述第一種效果是圖象的90度轉(zhuǎn)動且所述第二種效果是所述高精度差分的90度轉(zhuǎn)動。
26.根據(jù)權(quán)利要求21的方法,其中所述高精度數(shù)是浮點(diǎn)數(shù)。
27.根據(jù)權(quán)利要求21的方法,進(jìn)一步包括對變換編碼數(shù)據(jù)進(jìn)行逆量化,以形成變換數(shù)據(jù)。
28.根據(jù)權(quán)利要求27的方法,進(jìn)一步包括進(jìn)行所述校正的變換數(shù)據(jù)的量化以形成量化數(shù)據(jù)。
29.根據(jù)權(quán)利要求28的方法,進(jìn)一步包括對編碼數(shù)據(jù)進(jìn)行熵譯碼以形成變換編碼數(shù)據(jù);對量化數(shù)據(jù)進(jìn)行熵編碼以形成編碼數(shù)據(jù)。
30.根據(jù)權(quán)利要求29的方法,其中所述編碼數(shù)據(jù)是JPEG靜止圖象國際標(biāo)準(zhǔn)格式的。
31.根據(jù)權(quán)利要求29的方法,其中所述編碼視頻數(shù)據(jù)是MPEG運(yùn)動視頻國際標(biāo)準(zhǔn)格式的。
32.根據(jù)權(quán)利要求21的方法,其中處理的高精度差分與初始的高精度差分相同。
33.用于對代表現(xiàn)象的的變換數(shù)據(jù)進(jìn)行數(shù)字處理的一種方法,該方法包括對所述變換數(shù)據(jù)進(jìn)行至實(shí)域的反向變換,從而形成高精度數(shù);把所述高精度數(shù)轉(zhuǎn)換成整數(shù)并把該整數(shù)修剪至一個允許范圍,從而形成初始轉(zhuǎn)換數(shù)據(jù);從所述高精度數(shù)減去初始轉(zhuǎn)換數(shù)據(jù),從而形成高精度差分;對所述高精度差分進(jìn)行正向變換,以形成初始變換差分;對所述初始轉(zhuǎn)換數(shù)據(jù)進(jìn)行操作,以產(chǎn)生一種第一效果,從而形成經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù);對所述經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換,從而形成變換的轉(zhuǎn)換數(shù)據(jù);對所述初始高精度差分進(jìn)行操作,以產(chǎn)生一種第二效果,從而形成處理的高精度差分;把所述處理的變換差分加到所述變換的轉(zhuǎn)換數(shù)據(jù)上,從而形成校正的變換數(shù)據(jù)。
34.根據(jù)權(quán)利要求33的方法,其中所述高精度數(shù)是浮點(diǎn)數(shù)。
35.根據(jù)權(quán)利要求33的方法,進(jìn)一步包括對變換編碼數(shù)據(jù)進(jìn)行逆量化以形成變換數(shù)據(jù)。
36.根據(jù)權(quán)利要求35的方法,進(jìn)一步包括對所述校正的變換數(shù)據(jù)進(jìn)行量化,以形成量化數(shù)據(jù)。
37.根據(jù)權(quán)利要求36的方法,進(jìn)一步包括對編碼數(shù)據(jù)進(jìn)行熵譯碼以形成變換編碼數(shù)據(jù);對量化數(shù)據(jù)進(jìn)行熵編碼以形成編碼數(shù)據(jù)。
38.根據(jù)權(quán)利要求37的方法,其中所述編碼視頻數(shù)據(jù)是按照MPEG運(yùn)動視頻國際標(biāo)準(zhǔn)格式的。
39.根據(jù)權(quán)利要求36的方法,其中操作所述變換差分的步驟包括進(jìn)行所述變換差分的量化以形成量化的差分;對所述量化的差分進(jìn)行逆量化以形成去量化的差分;對所述去量化的差分進(jìn)行操作以產(chǎn)生一種第二效果,從而形成處理的變換差分。
40.根據(jù)權(quán)利要求39的方法,進(jìn)一步包括對量化的差分進(jìn)行熵編碼以形成編碼差分的步驟。
41.根據(jù)權(quán)利要求40的方法,進(jìn)一步包括對編碼差分進(jìn)行熵譯碼以再形成量化差分的步驟。
42.根據(jù)權(quán)利要求39的方法,其中進(jìn)行量化的步驟和進(jìn)行逆量化的步驟采用了第一個量的量化值—它等于用于形成所述校正的變換數(shù)據(jù)的量化的步驟中使用的量化值的一個第二個量的一半。
43.根據(jù)權(quán)利要求36的方法,其中操作所述變換差分的步驟進(jìn)一步包括對所述變換差分進(jìn)行操作以產(chǎn)生一種第二效果并形成操作的變換差分;進(jìn)行操作的變換差分的量化以形成量化差分;以及進(jìn)行所述量化差分的逆量化以形成處理的變換差分。
44.根據(jù)權(quán)利要求43的一種方法,進(jìn)一步包括對量化差分進(jìn)行熵編碼以形成編碼差分的步驟。
45.根據(jù)權(quán)利要求44的方法,進(jìn)一步包括對編碼差分進(jìn)行熵譯碼以再形成量化差分的步驟。
46.根據(jù)權(quán)利要求43的方法,其中進(jìn)行操作的變換差分的量化的步驟和進(jìn)行所述量化差分的逆量化的步驟采用了在進(jìn)行所述校正的變換數(shù)據(jù)的量化的步驟中采用的量化值的一半。
47.根據(jù)權(quán)利要求36的方法,其中操作所述變換差分的步驟進(jìn)一步包括對所述變換差分進(jìn)行操作以產(chǎn)生一種第二效果并形成操作的變換差分;對操作的變換差分進(jìn)行量化,以形成量化差分;進(jìn)行所述量化差分的逆量化,以形成去量化差分;以及對所述去量化差分進(jìn)行操作以產(chǎn)生一種第三效果并形成處理的變換差分。
48.根據(jù)權(quán)利要求47的方法,進(jìn)一步包括對量化差分進(jìn)行熵編碼以形成編碼差分的步驟。
49.根據(jù)權(quán)利要求48的方法,進(jìn)一步包括對編碼差分進(jìn)行熵譯碼以再形成量化差分的步驟。
50.根據(jù)權(quán)利要求47的方法,其中進(jìn)行操作的變換差分的量化的步驟和進(jìn)行量化差分的逆量化的步驟采用了在進(jìn)行校正的變換數(shù)據(jù)的量化的步驟中采用的量化值的一半量的量化值。
51.用于對代表一種現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的一種系統(tǒng),該系統(tǒng)包括一種反向變換器,用于利用高精度數(shù)把所述變換數(shù)據(jù)反向變換到實(shí)域;一種用于把所述高精度數(shù)轉(zhuǎn)換成整數(shù)的轉(zhuǎn)換器和用于把該整數(shù)修剪到一個允許范圍的修剪,以形成初始轉(zhuǎn)換數(shù)據(jù);一個減法器,用于從所述高精度數(shù)減去所述初始轉(zhuǎn)換數(shù)據(jù)以形成高精度差分;一個正向變換器,用于對所述初始轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換以形成變換的轉(zhuǎn)換數(shù)據(jù);一種正向變換器,用于對所述高精度差分進(jìn)行正向變換,以形成變換差分;以及一種加法器,用于把所述變換差分加到所述變換編碼數(shù)據(jù)上以形成校正的變換數(shù)據(jù)。
52.根據(jù)權(quán)利要求51的系統(tǒng),其中正向變換器中采用的把所述初始轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換的第一變換類型不同于反向變換中采用的第二種變換類型。
53.根據(jù)權(quán)利要求51的系統(tǒng),進(jìn)一步包括一種逆量化器,用于對變換編碼數(shù)據(jù)進(jìn)行逆量化以形成變換數(shù)據(jù)。
54.根據(jù)權(quán)利要求53的系統(tǒng),進(jìn)一步包括一種量化器,用于對所述校正的變換數(shù)據(jù)進(jìn)行量化以形成量化數(shù)據(jù)。
55.根據(jù)權(quán)利要求54的系統(tǒng),其中所述逆量化器和所述量化器采用了至少一個不同的量化值。
56.用于對代表一種現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的一種系統(tǒng),該系統(tǒng)包括一種反向變換器,用于利用高精度數(shù)把所述變換數(shù)據(jù)反向變換到實(shí)域;一種用于把所述高精度數(shù)轉(zhuǎn)換成整數(shù)的轉(zhuǎn)換器和用于把該整數(shù)修剪到一個允許范圍的修剪,以形成初始轉(zhuǎn)換數(shù)據(jù);一個減法器,用于從所述高精度數(shù)減去所述初始轉(zhuǎn)換數(shù)據(jù)以形成高精度差分;一種操作器,用于操作所述初始轉(zhuǎn)換數(shù)據(jù)以產(chǎn)生一種效果并形成經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù);一種正向變換器,用于對所述經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換以形成變換的轉(zhuǎn)換數(shù)據(jù);一種正向變換器,用于對所述高精度差分進(jìn)行正向變換,以形成變換差分;以及一種加法器,用于把所述變換差分加到所述變換編碼數(shù)據(jù)上以形成校正的變換數(shù)據(jù)。
57.根據(jù)權(quán)利要求56的一種系統(tǒng),進(jìn)一步包括一種逆量化器,用于對變換編碼數(shù)據(jù)進(jìn)行逆量化以形成變換數(shù)據(jù)。
58.根據(jù)權(quán)利要求57的系統(tǒng),進(jìn)一步包括用于對所述校正的變換數(shù)據(jù)進(jìn)行量化以形成量化數(shù)據(jù)的一種量化器。
59.根據(jù)權(quán)利要求58的系統(tǒng),進(jìn)一步包括用于對編碼數(shù)據(jù)進(jìn)行譯碼以形成變換編碼數(shù)據(jù)的熵譯碼器。
60.根據(jù)權(quán)利要求59的系統(tǒng),進(jìn)一步包括用于對量化數(shù)據(jù)進(jìn)行編碼以形成編碼數(shù)據(jù)的熵編碼器。
61.用于對代表一種現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的一種系統(tǒng),該系統(tǒng)包括反向變換器,用于利用高精度數(shù)把所述變換數(shù)據(jù)反向變換到實(shí)域;一種轉(zhuǎn)換器,用于把所述高精度數(shù)轉(zhuǎn)換成整數(shù)并修剪器該整數(shù)到一個允許范圍,從而形成初始轉(zhuǎn)換數(shù)據(jù);一個減法器,用于從所述高精度數(shù)減去初始轉(zhuǎn)換數(shù)據(jù),從而形成高精度差分;一個操作器,用于對所述初始轉(zhuǎn)換數(shù)據(jù)進(jìn)行操作以產(chǎn)生第一種效果,從而形成經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù);一種正向變換器,用于對所述經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換,從而形成變換的轉(zhuǎn)換數(shù)據(jù);一種操作器,用于對所述高精度差分進(jìn)行操作以產(chǎn)生一種第二效果并形成經(jīng)過處理的高精度差分;一個正向變換,用于對所述經(jīng)過處理的高精度差分進(jìn)行正向變換,以形成變換差分;以及一個加法器,用于把所述變換差分加到所述變換的轉(zhuǎn)換數(shù)據(jù)上從而形成校正的變換數(shù)據(jù)。
62.根據(jù)權(quán)利要求61的系統(tǒng),進(jìn)一步包括用于對變換的轉(zhuǎn)換數(shù)據(jù)進(jìn)行逆量化以形成變換數(shù)據(jù)的逆量化器。
63.根據(jù)權(quán)利要求62的系統(tǒng),進(jìn)一步包括用于對所述校正的變換數(shù)據(jù)進(jìn)行量化以形成量化數(shù)據(jù)的量化器。
64.用于對代表一種現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的一種系統(tǒng),該系統(tǒng)包括一種反向變換器,用于利用高精度數(shù)把所述變換數(shù)據(jù)反向變換到實(shí)域;一種用于把所述高精度數(shù)轉(zhuǎn)換成整數(shù)的轉(zhuǎn)換器和用于把該整數(shù)修剪到一個允許范圍的修剪,以形成初始轉(zhuǎn)換數(shù)據(jù);一個減法器,用于從所述高精度數(shù)減去所述初始轉(zhuǎn)換數(shù)據(jù)以形成高精度差分;一個第一正向變換器,用于對所述高精度差分進(jìn)行正向變換以形成變換差分;第一操作器,用于操作所述初始轉(zhuǎn)換數(shù)據(jù)以產(chǎn)生一種第一效果并形成經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù);第二正向變換器,用于對所述經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換以形成變換的轉(zhuǎn)換數(shù)據(jù);第二操作器,用于對所述變換差分進(jìn)行操作以產(chǎn)生第二效果,從而形成處理的變換差分;以及一種加法器,用于把所述變換差分加到所述變換編碼數(shù)據(jù)上以形成校正的變換數(shù)據(jù)。
65.根據(jù)權(quán)利要求64的系統(tǒng),進(jìn)一步包括用于對變換編碼數(shù)據(jù)進(jìn)行逆量化以形成變換數(shù)據(jù)的第一逆量化器。
66.根據(jù)權(quán)利要求65的系統(tǒng),進(jìn)一步包括用于對所述校正的變換數(shù)據(jù)進(jìn)行量化以形成量化數(shù)據(jù)的第一量化器。
67.根據(jù)權(quán)利要求66的系統(tǒng),其中用于操作所述變換差分的操作器進(jìn)一步包括用于進(jìn)行所述變換差分的量化以形成量化差分的第二量化器;用于進(jìn)行所述量化差分的逆量化以形成量化差分的第二逆量化器;以及用于對所述去量化差分進(jìn)行操作以產(chǎn)生第二效果從而形成處理的變換差分的第三操作器。
68.根據(jù)權(quán)利要求67的系統(tǒng),進(jìn)一步包括用于對量化差分進(jìn)行編碼以形成編碼差分熵編碼器。
69.根據(jù)權(quán)利要求68的系統(tǒng),進(jìn)一步包括用于對編碼差分進(jìn)行熵譯碼以再形成量化差分的熵譯碼器。
70.根據(jù)權(quán)利要求67的系統(tǒng),其中第二量化器和第二逆量化器均采用了第一量化器中使用的量化值的量的一半。
71.根據(jù)權(quán)利要求66的系統(tǒng),其中第二操作器包括一種差分操作器,用于對所述變換差分進(jìn)行操作以產(chǎn)生第二效果并形成操作的變換差分;差分量化器,用于對所述操作的變換差分進(jìn)行量化從而形成量化差分;以及差分逆量化器,用于對所述量化差分進(jìn)行逆量化從而形成處理的變換差分。
72.根據(jù)權(quán)利要求71的系統(tǒng),進(jìn)一步包括用于對量化差分進(jìn)行編碼以形成編碼差分的熵編碼器。
73.根據(jù)權(quán)利要求72的系統(tǒng),進(jìn)一步包括用于對編碼差分進(jìn)行譯碼以形成量化差分的熵譯碼器。
74.根據(jù)權(quán)利要求71的系統(tǒng),其中第二操作器包括一個替換操作器,用于對所述去量化差分進(jìn)行操作以產(chǎn)生第三效果并形成處理的變換差分。
75.一種制造產(chǎn)品,它包括具有體現(xiàn)在其中的用于對代表一種現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的計算機(jī)可讀取程序碼裝置的計算機(jī)可用介質(zhì),所述制造品中的該計算機(jī)可讀取程序碼裝置包括用于使計算實(shí)現(xiàn)以下操作的計算機(jī)可讀取程序碼裝置把所述變換數(shù)據(jù)反向變換到實(shí)域從而形成高精度數(shù);把所述高精度數(shù)轉(zhuǎn)換成整數(shù)并把該整數(shù)修剪到允許范圍從而形成初始轉(zhuǎn)換數(shù)據(jù);從所述高精度數(shù)減去所述初始轉(zhuǎn)換數(shù)據(jù)以形成高精度差分;正向變換所述初始轉(zhuǎn)換數(shù)據(jù)以形成變換的轉(zhuǎn)換數(shù)據(jù);對所述高精度差分進(jìn)行正向變換以形成變換差分;以及把所述變換差分加到所述變換的轉(zhuǎn)換數(shù)據(jù)上從而形成校正的變換數(shù)據(jù)。
76.根據(jù)權(quán)利要求75的制造品,其中所述制造品中的計算機(jī)可讀取程序碼裝置進(jìn)一步包括用于使計算機(jī)執(zhí)行對變換編碼數(shù)據(jù)的逆量化以形成變換數(shù)據(jù)的計算機(jī)可讀取程序碼裝置。
77.根據(jù)權(quán)利要求76的制造品,其中所述制造品中的計算機(jī)可讀取程序碼裝置進(jìn)一步包括用于使計算機(jī)執(zhí)行所述校正的變換數(shù)據(jù)的量化以形成量化數(shù)據(jù)的計算機(jī)可讀取程序碼裝置。
78.根據(jù)權(quán)利要求77的制造品,其中所述制造品中的計算機(jī)可讀取程序碼裝置使計算機(jī)執(zhí)行以下操作對編碼數(shù)據(jù)進(jìn)行熵譯碼以形成變換編碼數(shù)據(jù);以及對量化數(shù)據(jù)進(jìn)行熵編碼以形成編碼數(shù)據(jù)。
79.一種計算機(jī)程序產(chǎn)品,它包括具有體現(xiàn)在其中的用于對實(shí)域中代表一種現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的計算機(jī)可讀取程序碼裝置的計算機(jī)可用介質(zhì),所述制造品中的該計算機(jī)可讀取程序碼裝置包括用于使計算實(shí)現(xiàn)以下操作的計算機(jī)可讀取程序碼裝置把所述變換數(shù)據(jù)反向變換到實(shí)域從而形成高精度數(shù);把所述高精度數(shù)轉(zhuǎn)換成整數(shù)并把該整數(shù)修剪到允許范圍從而形成初始轉(zhuǎn)換數(shù)據(jù);從所述高精度數(shù)減去所述初始轉(zhuǎn)換數(shù)據(jù)以形成高精度差分;對所述初始轉(zhuǎn)換數(shù)據(jù)進(jìn)行操作以產(chǎn)生一種效果并形成經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù);正向變換所述初始轉(zhuǎn)換數(shù)據(jù)以形成變換的轉(zhuǎn)換數(shù)據(jù);對所述高精度差分進(jìn)行正向變換以形成變換差分;以及把所述變換差分加到所述變換的轉(zhuǎn)換數(shù)據(jù)上從而形成校正的變換數(shù)據(jù)。
80.根據(jù)權(quán)利要求79的計算機(jī)程序產(chǎn)品,其中所述計算機(jī)程序產(chǎn)品中的計算機(jī)可讀取程序碼裝置進(jìn)一步包括用于使計算機(jī)執(zhí)行對變換編碼數(shù)據(jù)的逆量化以形成變換數(shù)據(jù)。
81.根據(jù)權(quán)利要求80的計算機(jī)程序產(chǎn)品,其中所述計算機(jī)程序產(chǎn)品中的計算機(jī)可讀取程序碼裝置進(jìn)一步包括用于使計算機(jī)執(zhí)行對所述校正的變換數(shù)據(jù)進(jìn)行量化以形成量化數(shù)據(jù)。
82.可由機(jī)器讀取的一種程序存儲裝置,它可觸地體現(xiàn)了可由機(jī)器執(zhí)行以執(zhí)行對代表一種現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的方法步驟的指令程序,所述方法步驟包括把所述變換數(shù)據(jù)反向變換到實(shí)域,從而形成初始高精度數(shù);把所述初始高精度數(shù)轉(zhuǎn)換到整數(shù)并把該整數(shù)修剪到一個允許范圍編碼從而形成初始轉(zhuǎn)換數(shù)據(jù);從所述初始高精度數(shù)減去所述初始轉(zhuǎn)換數(shù)據(jù)從而形成高精度差分;對所述初始轉(zhuǎn)換數(shù)據(jù)進(jìn)行操作以產(chǎn)生第一效果從而形成經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù);對所述經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換從而形成變換的轉(zhuǎn)換數(shù)據(jù);對所述初始高精度差分進(jìn)行操作以產(chǎn)生第二效果并形成經(jīng)過處理的高精度差分;對所述經(jīng)過處理的高精度差分進(jìn)行正向變換以形成變換差分;以及把所述變換差分加到所述變換的轉(zhuǎn)換數(shù)據(jù)上以形成校正的變換數(shù)據(jù)。
83.可由機(jī)器讀取的一種程序存儲裝置,它可觸地體現(xiàn)了可由機(jī)器執(zhí)行以執(zhí)行對代表一種現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的方法步驟的指令程序,所述方法步驟包括把所述變換數(shù)據(jù)反向變換到實(shí)域,從而形成高精度數(shù);把所述高精度數(shù)轉(zhuǎn)換到整數(shù)并把該整數(shù)修剪到一個允許范圍編碼從而形成初始轉(zhuǎn)換數(shù)據(jù);從所述高精度數(shù)減去所述轉(zhuǎn)換數(shù)據(jù)從而形成高精度差分;對所述初始轉(zhuǎn)換數(shù)據(jù)進(jìn)行操作以產(chǎn)生第一效果從而形成經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù);對所述經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù)進(jìn)行正向變換從而形成變換的轉(zhuǎn)換數(shù)據(jù);對所述高精度差分進(jìn)行操作以產(chǎn)生第二效果并形成經(jīng)過處理的高精度差分;把所述處理的變換差分加到所述變換的轉(zhuǎn)換數(shù)據(jù)上以形成校正的變換數(shù)據(jù)。
84.根據(jù)權(quán)利要求83的可由機(jī)器讀取的程序存儲裝置,所述方法步驟進(jìn)一步包括進(jìn)行變換的轉(zhuǎn)換數(shù)據(jù)的逆量化以形成變換數(shù)據(jù)。
85.根據(jù)權(quán)利要求84的可由機(jī)器讀取的程序存儲裝置,所述方法步驟進(jìn)一步包括進(jìn)行所述校正的變換數(shù)據(jù)的量化以形成量化數(shù)據(jù)。
86.根據(jù)權(quán)利要求85的可由機(jī)器讀取的程序存儲裝置,所述方法步驟進(jìn)一步包括對編碼數(shù)據(jù)進(jìn)行熵譯碼以形成變換的轉(zhuǎn)換數(shù)據(jù);以及對量化數(shù)據(jù)進(jìn)行熵編碼以形成編碼數(shù)據(jù)。
87.根據(jù)權(quán)利要求86的可由機(jī)器讀取的程序存儲裝置,所述方法步驟進(jìn)一步包括把所述操作步驟與所述進(jìn)行正向變換、進(jìn)行量化、熵編碼、熵譯碼、進(jìn)行逆量化、以及進(jìn)行反向變換的步驟交替地進(jìn)行所希望的次數(shù)。
88.根據(jù)權(quán)利要求87的可由機(jī)器讀取的程序存儲裝置,其中所述編碼數(shù)據(jù)是壓縮數(shù)據(jù),且交替的各個步驟實(shí)施了一個壓縮/解壓縮循環(huán)。
全文摘要
本發(fā)明解決了數(shù)字處理中由于采用誤差惡化數(shù)據(jù)而產(chǎn)生的問題。它提供了用于對變換處理、變換編碼、以及編碼數(shù)據(jù)中的實(shí)域誤差的變換域校正。在變換數(shù)據(jù)的反向變換之后,高精度數(shù)被轉(zhuǎn)換成整數(shù)并被修剪到一個允許范圍,從而形成轉(zhuǎn)換數(shù)據(jù)。高精度差分通過從反向變換的高精度輸出中減去轉(zhuǎn)換數(shù)據(jù)而獲得。該差分被再變換回到變換域并被保存。隨后,在經(jīng)過處理的轉(zhuǎn)換數(shù)據(jù)的再變換之后,譯碼差分、去量化差分、或變換差分可被用于變換域中。
文檔編號H04N1/41GK1253338SQ9912342
公開日2000年5月17日 申請日期1999年11月3日 優(yōu)先權(quán)日1998年11月4日
發(fā)明者瓊·拉沃恩·米切爾, 馬丁·詹姆斯·布萊特 申請人:國際商業(yè)機(jī)器公司