專利名稱:變換的數(shù)字信號的誤差減少的處理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及以下申請美國申請第09/186,245號,標(biāo)題為“變換數(shù)字?jǐn)?shù)據(jù)的誤差減少的處理”,發(fā)明人J.Mitchell等人;以及,美國申請第09/186,249號,標(biāo)題為“變換數(shù)字?jǐn)?shù)據(jù)的誤差減少”,發(fā)明人M.Bright等人;這些申請?jiān)诖吮蛔鳛閰⒖嘉墨I(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ù)借助截?cái)嗷蛏崛氲阶罱恼麛?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ù)是典型的,某些程序語言通過截?cái)噙M(jìn)行從浮點(diǎn)轉(zhuǎn)換為整數(shù)。在軟件中實(shí)施接受這種通過截?cái)噙M(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ù)中由于諸如舍入到整數(shù)和在反向變換之后修剪到允許的范圍的操作所產(chǎn)生的不希望的誤差。在一個實(shí)施例中,這種方法包括進(jìn)行變換數(shù)據(jù)的反向變換,從而使所產(chǎn)生的實(shí)域數(shù)據(jù)具有高度精確的值的形式;對這些高精度的值進(jìn)行處理;只在處理階段完成之后才把這種高精度的值轉(zhuǎn)換成整數(shù)并修剪到一個允許的范圍。
本發(fā)明的另一個方面,是提供一種方法,用于處理實(shí)域中的變換編碼數(shù)據(jù),它減少了在反向變換之后轉(zhuǎn)換為整數(shù)和至允許范圍的修剪所產(chǎn)生的不希望的數(shù)據(jù)誤差。在一個實(shí)施例中,該方法包括對變換編碼數(shù)據(jù)進(jìn)行逆量化;對如此產(chǎn)生的變換數(shù)據(jù)進(jìn)行反向變換,從而使所產(chǎn)生的實(shí)域數(shù)據(jù)具有高精度的值的形式;處理這些高精度的值;并只在處理階段完成之后才將處理之后的高精度的值轉(zhuǎn)換成整數(shù)并修剪到一個允許范圍。
本發(fā)明的再一個方面,是提供一種方法,用于處理實(shí)域中的變換編碼數(shù)據(jù)以產(chǎn)生新的變換編碼數(shù)據(jù),它減少了在反向變換轉(zhuǎn)換為整數(shù)和至一個允許范圍的修剪所產(chǎn)生的誤差。在一個實(shí)施例中,該方法包括進(jìn)行變換編碼數(shù)據(jù)的逆量化;對如此產(chǎn)生的變換數(shù)據(jù)進(jìn)行反向變換,從而使所產(chǎn)生的實(shí)域數(shù)據(jù)具有高精度的值的形式;處理這些高精度的值;對產(chǎn)生的高精度的值進(jìn)行正向變換;以及,對新的變換數(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ì)算機(jī)產(chǎn)品和制造品—它包括了體現(xiàn)在其中的具有計(jì)算機(jī)可讀取程序碼裝置的可用介質(zhì),用于使計(jì)算機(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)行JPEGDCT編碼圖象數(shù)據(jù)的實(shí)域處理的一種方法,它呈現(xiàn)了多重產(chǎn)生的問題;圖7(b)是框圖,顯示了用于進(jìn)行JPEGDCT編碼圖象數(shù)據(jù)的實(shí)域處理的系統(tǒng),它呈現(xiàn)了多重產(chǎn)生的問題;圖8(a)給出了JPEG例子的光度量化矩陣;圖8(b)給出了JPEG例子的色度量化矩陣;圖8(c)是實(shí)域舍入如何能夠造成8×8塊DCT編碼數(shù)據(jù)中的顯著誤差的數(shù)值例子;圖8(d)是實(shí)域截?cái)嗳绾文軌蛟斐?×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ù)的減少誤差處理的方法的一個例子;圖11(b)是框圖,顯示了根據(jù)本發(fā)明的用于變換數(shù)據(jù)的減少誤差處理的系統(tǒng)的一個例子;圖12(a)是框圖,顯示了根據(jù)本發(fā)明的用于進(jìn)行隨后跟隨有正向變換的反向變換從而使第三處理無損失的方法的一個例子;圖12(b)是框圖,顯示了根據(jù)本發(fā)明的用于進(jìn)行隨后跟隨有正向變換的反向變換從而使第三處理無損失的系統(tǒng)的一個例子;圖13(a)是框圖,顯示了根據(jù)本發(fā)明的跟隨有正向變換的用于以減少的誤差對變換數(shù)據(jù)進(jìn)行實(shí)域操作的一種方法的一個例子;圖13(b)是框圖,顯示了根據(jù)本發(fā)明的跟隨有正向變換的用于以減少的誤差對變換數(shù)據(jù)進(jìn)行實(shí)域操作的一種系統(tǒng)的一個例子;圖14(a)是框圖,顯示了根據(jù)本發(fā)明的用于對變換編碼數(shù)據(jù)進(jìn)行誤差減少的處理的一種方法的一個例子;圖14(b)是框圖,顯示了根據(jù)本發(fā)明的用于對變換編碼數(shù)據(jù)進(jìn)行誤差減少的處理的一種系統(tǒng)的一個例子;圖15(a)是框圖,顯示了根據(jù)本發(fā)明的用于譯碼和再編碼變換編碼數(shù)據(jù)從而使這種處理無損失的一種方法的一個例子;圖15(b)是框圖,顯示了根據(jù)本發(fā)明的用于譯碼和再編碼變換編碼數(shù)據(jù)從而使這種處理無損失的一種系統(tǒng)的一個例子;圖16(a)是框圖,顯示了根據(jù)本發(fā)明的用于以較少的誤差對變換編碼數(shù)據(jù)進(jìn)行實(shí)域操作的一種方法的一個例子;圖16(b)是框圖,顯示了根據(jù)本發(fā)明的用于以較少的誤差對變換編碼數(shù)據(jù)進(jìn)行實(shí)域操作的一種系統(tǒng)的一個例子;圖17(a)是框圖,顯示了根據(jù)本發(fā)明的一種方法的一個實(shí)施例,其中該方法用于進(jìn)行JPEG編碼的圖象數(shù)據(jù)的實(shí)域處理從而使新的變換編碼數(shù)據(jù)中的不希望的誤差得到減少或消除;圖17(b)是框圖,顯示了根據(jù)本發(fā)明的一種系統(tǒng)的一個實(shí)施例,其中該系統(tǒng)用于進(jìn)行JPEG編碼的圖象數(shù)據(jù)的實(shí)域處理從而使新的變換編碼數(shù)據(jù)中的不希望的誤差得到減少或消除;圖18(a)是顯示了根據(jù)本發(fā)明的一種方法的一個例子的框圖,其中該方法用于以較少的誤差對變換編碼數(shù)據(jù)的實(shí)域操作進(jìn)行多次重復(fù),其中每次重復(fù)都如圖16(a)中所描述的;圖18(b)是顯示了根據(jù)本發(fā)明的一種系統(tǒng)的一個例子的框圖,其中該系統(tǒng)用于以較少的誤差對變換編碼數(shù)據(jù)的實(shí)域操作進(jìn)行多次重復(fù),其中每次重復(fù)都如圖16(b)中所描述的;
圖19(a)顯示了圖8(c)的相同的8×8塊數(shù)值起點(diǎn),其中采用了高精度數(shù)而不是舍入數(shù)作為至正向變換的輸入;圖19(b)顯示了圖8(d)的相同的8×8塊數(shù)值起點(diǎn),其中采用了高精度數(shù)而不是舍入數(shù)作為至正向變換的輸入;圖19(c)顯示了與圖8(f)相同的8×8塊數(shù)值步驟;圖19(d)顯示了在量化之后當(dāng)采用舍入的逆DCT的輸出在修剪之前被輸入到正向變換的數(shù)值結(jié)果。
由參考數(shù)據(jù)處理所引起的問題本發(fā)明提供了減少或消除數(shù)字?jǐn)?shù)據(jù)的處理而引起的誤差的方法、系統(tǒng)和計(jì)算機(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(3)其中ε是在這種變換系數(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)換期間的截?cái)喽氲恼`差的一半。
圖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,對于JPEG來自通過舍入轉(zhuǎn)換為整數(shù)的未量化的正向變換系數(shù)是4(圖8(c)中所示)。對于圖8(a)和8(b)中顯示的量化矩陣,這種大小的誤差小于所有值的一半且將在量化期間消失。然而,對于諸如高質(zhì)量打印或數(shù)字工作室編輯的高質(zhì)量應(yīng)用,量化矩陣值要小得多。在某些情況下,DC(左上角)項(xiàng)小到1,以保存最大的質(zhì)量。此時這些舍入誤差就是顯著的。
來自截?cái)嗟淖畲罂赡苷`差對于各個抽樣來說剛好在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ù)被截?cái)嗟阶罱恼麛?shù)836,這在此情況下意味著各個值被減小到128。正向變換隨后被施加,以產(chǎn)生新的變換域系數(shù)838??梢娝a(chǎn)生的新的變換系數(shù)838與初始的變換系數(shù)832有顯著的不同。這是一種非常不希望的結(jié)果。
在顯示了在轉(zhuǎn)換為整數(shù)時進(jìn)行實(shí)域舍入或截?cái)嗨鶎?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)該理解的是,以上描述的只是舍入(或截?cái)?和/或修剪所引入的誤差的代表性的例子。其他的例子所可能產(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ù)的一種方法的一個示例性實(shí)施例。變換數(shù)據(jù)A 110通過一個反向變換120以產(chǎn)生高精度實(shí)域數(shù)據(jù)130,如圖1(a)所示。如果需要使實(shí)域數(shù)據(jù)通過一個取整數(shù)值輸入的輸出裝置160,或者在由于任何其他的原因的操作之前產(chǎn)生整數(shù)值數(shù)據(jù),則轉(zhuǎn)換成整數(shù)并修剪至允許范圍140的步驟在操作之前進(jìn)行,而不會影響高精度實(shí)域數(shù)據(jù)。實(shí)域數(shù)據(jù)的所希望的操作1110是利用一種方法進(jìn)行的,該方法接受高精度數(shù)據(jù)作為其輸入并產(chǎn)生作為輸出的高精度數(shù)據(jù)1120。這種操作方法1110對數(shù)據(jù)進(jìn)行的處理在原理上與上述圖3中描述的對整數(shù)310進(jìn)行的操作是相同的,但卻是對高精度數(shù)據(jù)進(jìn)行的。如果需要使操作的實(shí)域數(shù)據(jù)被傳送到取整數(shù)值輸入的輸出裝置160,或者需要在操作之后由于任何原因而產(chǎn)生整數(shù)值數(shù)據(jù),則轉(zhuǎn)換至整數(shù)并修剪到一個允許范圍140的步驟在操作之后進(jìn)行,而不會影響處理的數(shù)據(jù)的高精度。
圖11(b)中描述了根據(jù)本發(fā)明的以較少的誤差1105處理變換數(shù)據(jù)的一種系統(tǒng)的一個示例性實(shí)施例。變換數(shù)據(jù)A 115通過一個反向變換器125,以產(chǎn)生高精度實(shí)域數(shù)據(jù)135,如圖1(b)所示。如果需要使實(shí)域數(shù)據(jù)通過一個取整數(shù)值輸入的輸出裝置165,或者由于任何其他原因而需要在操作之前產(chǎn)生整數(shù)值數(shù)據(jù),整數(shù)轉(zhuǎn)換器和修剪器145在操作之前進(jìn)行操作,而不會影響高精度實(shí)域數(shù)據(jù)。操作器1115對實(shí)域數(shù)據(jù)進(jìn)行操作,并接受作為輸入的高精度數(shù)據(jù)和產(chǎn)生作為輸出的高精度數(shù)據(jù)1125。這種操作器1115對數(shù)據(jù)的操作在原理上與文件中描述的對整數(shù)310的操作是相同的,但卻是操作在高精度數(shù)據(jù)上。如果需要使操作的實(shí)域數(shù)據(jù)被傳送到取整數(shù)值輸入的一個輸出裝置165,或者由于任何其他原因而需要在操作之后產(chǎn)生整數(shù)值數(shù)據(jù),整數(shù)轉(zhuǎn)換器和修剪器145在操作之后進(jìn)行工作,而不會對處理的數(shù)據(jù)的高精度有任何影響。
圖12(a)中顯示了本發(fā)明的一個實(shí)施例的一個例子,其中采用了一種方法來進(jìn)行跟隨有正向變換步驟1200的反向變換。變換數(shù)據(jù)A 110通過一個反向變換120以產(chǎn)生高精度實(shí)域數(shù)據(jù)130,如圖1(a)所示。如果需要使實(shí)域數(shù)據(jù)通過取整數(shù)值輸入的輸出裝置160,或者由于任何其他原因而需要產(chǎn)生整數(shù)值數(shù)據(jù),則轉(zhuǎn)換至整數(shù)并修剪至允許范圍140的步驟得到執(zhí)行,而不會影響高精度實(shí)域數(shù)據(jù)。高精度數(shù)據(jù)130被用作至正向變換1210的輸入,該正向變換接收實(shí)值數(shù)據(jù)作為輸入。如果正向變換1210是反向變換的轉(zhuǎn)置,則所產(chǎn)生的變換數(shù)據(jù)A3 1220與作為至反向變換120的輸入的原來變換數(shù)據(jù)A110相同,因?yàn)閬碜陨崛牒托藜舻恼`差未出現(xiàn)在變換數(shù)據(jù)A3中。當(dāng)采用不同的正向變換時,正向變換1210將產(chǎn)生不同的變換數(shù)據(jù)A3 1220。這使得能夠在正向變換輸入中不出現(xiàn)來自舍入和修剪的誤差的情況下進(jìn)行變換之間的轉(zhuǎn)換。
圖12(b)中顯示了本發(fā)明的一個實(shí)施例的一個例子,其中采用了一種系統(tǒng),該系統(tǒng)具有跟隨有正向變換器1200的反向變換器。變換數(shù)據(jù)A 115通過一個反向變換器125以產(chǎn)生高精度實(shí)域數(shù)據(jù)135,如圖1(b)所示。如果需要使實(shí)域數(shù)據(jù)通過取整數(shù)值輸入的輸出裝置165,或者由于任何其他原因而需要產(chǎn)生整數(shù)值數(shù)據(jù),則整數(shù)轉(zhuǎn)換器和修剪器145在不影響高精度實(shí)域數(shù)據(jù)135的情況下進(jìn)行工作。高精度數(shù)據(jù)135被用作至正向變換器1215的輸入,該正向變換器接收實(shí)值數(shù)據(jù)作為輸入。如果正向變換起1215實(shí)施了反向變換的移項(xiàng),則所產(chǎn)生的變換數(shù)據(jù)A3 1225與作為至反向變換器125的輸入的原來變換數(shù)據(jù)A 115相同,因?yàn)閬碜陨崛牒托藜舻恼`差未出現(xiàn)在變換數(shù)據(jù)A3中。當(dāng)采用不同的正向變換器時,正向變換器1215將產(chǎn)生不同的變換數(shù)據(jù)A3 1225。
圖13(a)顯示了用于以較少的誤差1300進(jìn)行變換數(shù)據(jù)的實(shí)域操作的一種方法。這種方法是通過擴(kuò)展圖11(a)中描述的方法1100而形成的。在此情況下,高精度數(shù)據(jù)1120作為輸入被傳送到一個正向變換1210-它接受作為輸入的高精度數(shù)據(jù),以在沒有舍入和/或修剪誤差的情況下產(chǎn)生新的變換數(shù)據(jù)A4 1310。
圖13(b)顯示了用于以較少的誤差1305進(jìn)行變換數(shù)據(jù)的實(shí)域操作的一種系統(tǒng)。這種系統(tǒng)是通過擴(kuò)展圖11(b)中描述的系統(tǒng)1105而形成的。在此情況下,高精度數(shù)據(jù)1125作為輸入被傳送到一個正向變換器1215-它接受作為輸入的高精度數(shù)據(jù),以在沒有舍入和/或修剪誤差的情況下產(chǎn)生新的變換數(shù)據(jù)A4 1315。
圖14(a)中顯示了用于以較少誤差進(jìn)行變換編碼數(shù)據(jù)的實(shí)域操作的一種方法。圖14(a)顯示,整數(shù)變換編碼數(shù)據(jù)B 210被去量化220,且輸出通過一個反向變換120以產(chǎn)生高精度實(shí)域數(shù)據(jù)130,象圖2(a)中一樣。如果需要使實(shí)域數(shù)據(jù)130通過一個取整數(shù)值輸入的輸出裝置160,或者由于任何其他原因而需要在操作之前產(chǎn)生整數(shù)值數(shù)據(jù)150,轉(zhuǎn)換至整數(shù)并修剪至允許范圍140的步驟在操作之前進(jìn)行,而不會影響高精度實(shí)域數(shù)據(jù)130。隨后利用一種方法進(jìn)行實(shí)域數(shù)據(jù)的所希望的操作1110,該方法接受高精度數(shù)據(jù)作為輸入并產(chǎn)生作為高精度數(shù)據(jù)1410作為輸出。對數(shù)據(jù)進(jìn)行這種操作1110的原理與上述圖3中描述的對整數(shù)310的操作相同,但卻是在高精度數(shù)據(jù)上進(jìn)行的。如果需要把經(jīng)過操作的實(shí)域數(shù)據(jù)送到取整數(shù)值輸入的輸出裝置160,或者由于任何其他的原因而在操作之后產(chǎn)生整數(shù)值數(shù)據(jù),則轉(zhuǎn)換到整數(shù)并修剪到允許范圍140的步驟在操作1110之后進(jìn)行,而不影響處理的數(shù)據(jù)1410的高精度。
圖14(b)中顯示了用于以較少誤差進(jìn)行變換編碼數(shù)據(jù)的實(shí)域操作的一種系統(tǒng)。圖14(b)顯示,整數(shù)變換編碼數(shù)據(jù)B 215被輸入去量化器225,且輸出通過一個反向變換器125以產(chǎn)生高精度實(shí)域數(shù)據(jù)135,象圖2(b)中一樣。如果需要使實(shí)域數(shù)據(jù)135通過一個取整數(shù)值輸入的輸出裝置165,或者由于任何其他原因而需要在操作之前產(chǎn)生整數(shù)值數(shù)據(jù)155,整數(shù)轉(zhuǎn)換器和修剪器145在操作之前對數(shù)據(jù)進(jìn)行運(yùn)算,而不會影響高精度實(shí)域數(shù)據(jù)135。隨后利用一種操作器1115進(jìn)行實(shí)域數(shù)據(jù)的所希望的操作,該操作器接受高精度數(shù)據(jù)作為輸入并產(chǎn)生作為高精度數(shù)據(jù)1415作為輸出。該操作器1115的原理與上述圖3中描述的對整數(shù)310的操作相同,但卻是在高精度數(shù)據(jù)上進(jìn)行的。如果需要把經(jīng)過操作的實(shí)域數(shù)據(jù)送到取整數(shù)值輸入的輸出裝置165,或者由于任何其他的原因而在操作之后產(chǎn)生整數(shù)值數(shù)據(jù),則整數(shù)轉(zhuǎn)換器和修剪器145在操作器1115之后對非整數(shù)數(shù)據(jù)1415進(jìn)行運(yùn)算,而不影響處理的數(shù)據(jù)1415的高精度。
圖15(a)中顯示了變換編碼數(shù)據(jù)1500的實(shí)域轉(zhuǎn)換的一種方法的一個示例性實(shí)施例。高精度數(shù)據(jù)130被用作正向變換1210的輸入,而正向變換1210接受實(shí)值數(shù)據(jù)作為其輸入。正向變換1210的輸出被量化1510。根據(jù)所希望的系統(tǒng)實(shí)施,正向變換操作1210可采用不同于反向變換操作120中采用的變換。例如,反向變換120可采用逆DCT變換,而正向變換1210可采用付立葉變換。如果正向變換操作1210是反向變換操作120的反向變換且用在逆量化步驟220和量化步驟1510中的量化值是相同的,所產(chǎn)生的整數(shù)變換數(shù)據(jù)B2 1520與作為至逆量化步驟220的輸入的原來的反向變換數(shù)據(jù)B 210相同。應(yīng)該注意的是,當(dāng)采用不同的正向變換時,正向變換1210將產(chǎn)生不同的整數(shù)變換數(shù)據(jù)B2。類似地,在逆量化220和量化1510中采用不同的量化值也產(chǎn)生了不同的整數(shù)變換數(shù)據(jù)1520。這種方法因而允許在沒有來自舍入和修剪的誤差出現(xiàn)在正向變換1210輸入130中的情況下在變換與量化矩陣之間進(jìn)行轉(zhuǎn)換。
量化矩陣之間的轉(zhuǎn)換可以是粗和細(xì)量化。為了從JPEG國際標(biāo)準(zhǔn)向MPEG國際標(biāo)準(zhǔn)轉(zhuǎn)換數(shù)據(jù),量化可能是粗的。在編輯處理中需要更高質(zhì)量的JPEG獨(dú)立圖象。較粗、更可壓縮的MPEG圖象被用于實(shí)現(xiàn)所希望的帶寬目的。另一方面,在顯著的手動編輯之后的再壓縮JPEG圖象中,量化可以是較細(xì)的,以保存改變。
圖15(b)中顯示了根據(jù)本發(fā)明的變換編碼數(shù)據(jù)1505的實(shí)域轉(zhuǎn)換的一種系統(tǒng)的一個示例性實(shí)施例。高精度數(shù)據(jù)135被用作正向變換器1215的輸入,而正向變換器1215接受實(shí)值數(shù)據(jù)作為其輸入。正向變換器1215的輸出被量化1515。根據(jù)所希望的系統(tǒng)實(shí)施,正向變換操作器1215可采用不同于反向變換操作器125中采用的變換。例如,反向變換器125可采用逆DCT變換,而正向變換器1215可采用付立葉變換。如果正向變換操作器1215產(chǎn)生反向變換操作器125的反向操作和用在逆量化器225和量化器1515中的量化值是相同的,所產(chǎn)生的整數(shù)變換數(shù)據(jù)B2 1525與作為至逆量化器225的輸入的原來的反向變換數(shù)據(jù)B 215相同。應(yīng)該注意的是,當(dāng)采用不同的正向變換時,正向變換器1215將產(chǎn)生不同的整數(shù)變換數(shù)據(jù)B2。類似地,在逆量化器225和量化器1515中采用不同的量化值也產(chǎn)生了不同的整數(shù)變換數(shù)據(jù)1525。這種方法因而允許在沒有來自舍入和修剪的誤差出現(xiàn)在正向變換器1215輸入135中的情況下在變換與量化矩陣之間進(jìn)行轉(zhuǎn)換。
通過把圖14(a)描述的方法1400擴(kuò)展成如16(a)中顯示的形式,可以形成一種用于以減少的誤差1600對變換編碼數(shù)據(jù)進(jìn)行實(shí)域操作的方法。高精度數(shù)據(jù)1410作為輸入被傳送到一個正向變換1210,該正向變換1210接受高精度數(shù)據(jù)作為輸入。來自正向變換的輸出值被量化1510,以產(chǎn)生新的變換編碼數(shù)據(jù)B3 1610。
通過把圖14(b)描述的方法1405擴(kuò)展成如16(b)中顯示的形式,可以形成一種用于以減少的誤差1605對變換編碼數(shù)據(jù)進(jìn)行實(shí)域操作的系統(tǒng)。高精度數(shù)據(jù)1415作為輸入被傳送到一個正向變換器1215,該正向變換器1215接受高精度數(shù)據(jù)作為輸入。來自正向變換器的輸出值被量化1515,以產(chǎn)生新的變換編碼數(shù)據(jù)B3 1615。
圖17(a)顯示了以減少的誤差1700對變換編碼數(shù)據(jù)進(jìn)行實(shí)域操作的一種方法的示例性實(shí)施例。選定的實(shí)施例是用于JPEG編碼圖象的實(shí)域操作的方法,它利用DCT而得到變換編碼。JPEG編碼的圖象數(shù)據(jù)C 710通過一個無損失熵譯碼步驟720而得到譯碼,以產(chǎn)生量化的DCT系數(shù)。這些系數(shù)被去量化730,并被傳送通過一個逆DCT 740以產(chǎn)生高精度實(shí)域數(shù)據(jù)1710。如果需要在操作之前把該圖象傳送到一個取整數(shù)值輸入的顯示裝置758,或者在操作之前由于任何其他的原因而產(chǎn)生整數(shù)值數(shù)據(jù)754,轉(zhuǎn)換至整數(shù)并修剪至一個允許范圍750的步驟在操作1720之前進(jìn)行,而不會影響高精度實(shí)域圖象數(shù)據(jù)1710。圖象的所希望的操作1720隨后利用接受高精度數(shù)據(jù)作為輸入并產(chǎn)生作為輸出的高精度數(shù)據(jù)1730的方法進(jìn)行。如果需要使操作的圖象數(shù)據(jù)被傳送到取整數(shù)值輸入的一個顯示器758,或者由于任何其他的原因而在操作之后產(chǎn)生整數(shù)值圖象數(shù)據(jù)1750,轉(zhuǎn)換至整數(shù)并修剪至允許范圍1740的步驟在操作1720之后進(jìn)行,而不會影響處理的圖象數(shù)據(jù)1730的高精度。高精度圖象數(shù)據(jù)1730作為輸入被傳送到一個正向DCT 1760,該正向DCT接受高精度數(shù)據(jù)作為輸入。來自正向變換1760的輸出值被量化780,以產(chǎn)生新的逆DCT系數(shù)1770。這些系數(shù)1770通過一個無損失熵編碼步驟788而得到編碼,以產(chǎn)生新的JPEG編碼數(shù)據(jù)C2 1780。如果正向和反向變換和該操作系統(tǒng)足夠地準(zhǔn)確因而所引入的誤差小于量化步驟的一半,如上述公式(3)所述的,則完全不會有誤差被引入DCT系數(shù)。
圖17(b)顯示了以減少的誤差1705對變換編碼數(shù)據(jù)進(jìn)行實(shí)域操作的一種系統(tǒng)的示例性實(shí)施例。選定的實(shí)施例是用于JPEG編碼圖象的實(shí)域操作的方法,它利用DCT而得到變換編碼。JPEG編碼的圖象數(shù)據(jù)C 715通過一個無損失熵譯碼器725而得到譯碼,以產(chǎn)生量化的DCT系數(shù)。這些系數(shù)被送到去量化器735,并被傳送通過一個逆DCT器745以產(chǎn)生高精度實(shí)域數(shù)據(jù)1715。如果需要在操作之前把該圖象傳送到一個取整數(shù)值輸入的顯示裝置763,或者在操作之前由于任何其他的原因而產(chǎn)生整數(shù)值數(shù)據(jù)759,轉(zhuǎn)換至整數(shù)并修剪至一個允許范圍755的步驟在操作1725之前進(jìn)行,而不會影響高精度實(shí)域圖象數(shù)據(jù)1715。執(zhí)行圖象的所希望的操作的操作器1725接受高精度數(shù)據(jù)作為輸入并產(chǎn)生作為輸出的高精度數(shù)據(jù)1735。如果需要使操作的圖象數(shù)據(jù)被傳送到取整數(shù)值輸入的一個顯示器763,或者由于任何其他的原因而在操作之后產(chǎn)生整數(shù)值圖象數(shù)據(jù)1755,可選的整數(shù)轉(zhuǎn)換器和修剪器1745在操作器1725的操作之后產(chǎn)生整數(shù)值數(shù)據(jù)1755,而不會影響處理的圖象數(shù)據(jù)1735的高精度。高精度圖象數(shù)據(jù)1735作為輸入被傳送到一個正向DCT器1765,該正向DCT器接受高精度數(shù)據(jù)作為輸入。來自正向DCT器1765的輸出值被量化785,以產(chǎn)生新的逆DCT系數(shù)1775。這些系數(shù)1775通過一個無損失熵編碼步驟793而得到編碼,以產(chǎn)生新的JPEG編碼數(shù)據(jù)C21785。如果正向和反向變換和該操作系統(tǒng)足夠地準(zhǔn)確因而所引入的誤差小于量化步驟的一半,如上述公式(3)所述的,則完全不會有誤差被引入DCT系數(shù)。
圖18(a)中顯示了用于在多個步驟1800中以減少的誤差進(jìn)行變換的轉(zhuǎn)換數(shù)據(jù)的實(shí)域操作的方法,其中操作步驟與正向變換和量化步驟和反向變換和量化步驟是交替進(jìn)行的。一般地,各個操作對數(shù)據(jù)進(jìn)行其他的運(yùn)算。例如,對于數(shù)字工作室編輯,第一種操作可能是對圖象進(jìn)行顏色校正。第二種操作可能是。第二個操作可能是利用彩色圖象組合方法來把彩色校正的圖象與背景合并。第三個操作可能是把強(qiáng)調(diào)加到圖象上。第四個操作可能是把圖象的寬高比從16∶9變成電視的寬高比4∶3。對于圖象的打印,第一個操作可能是把圖象轉(zhuǎn)動90度,以使圖象向著打印方向。第二個操作可能是把幾個獨(dú)立的圖象合并成一個復(fù)合圖象。第三個操作可能是進(jìn)行顏色轉(zhuǎn)換。
如圖18(a)所示,變換編碼數(shù)據(jù)D0 910被去量化和通過一個反向變換920,以產(chǎn)生高精度實(shí)域數(shù)據(jù)1810。如果由于任何的原因而需要產(chǎn)生整數(shù)值數(shù)據(jù),高精度數(shù)據(jù)1810可被轉(zhuǎn)換成整數(shù)并修剪到一個允許范圍1820,而不會影響實(shí)域數(shù)據(jù)1810的高精度。實(shí)域數(shù)據(jù)的所希望的操作1110隨后利用一種方法來進(jìn)行,該方法接受高精度數(shù)據(jù)1810作為輸入并產(chǎn)生作為輸出的高精度數(shù)據(jù)1840。如果希望產(chǎn)生整數(shù)值的這種輸出數(shù)據(jù),高精度數(shù)據(jù)1810可被轉(zhuǎn)換至整數(shù)并修剪到一個允許范圍1830,而不會影響輸出數(shù)據(jù)的高精度。高精度輸出數(shù)據(jù)作為輸入被送到一個正向變換器和量化器1850,以產(chǎn)生新的變換編碼數(shù)據(jù)F1 1860。逆量化和反向變換、操作和正向變換和量化可被重復(fù)多次,而操作1870在每次重復(fù)都不同。在多個步驟之后,產(chǎn)生最后的變換編碼數(shù)據(jù)Fn 1880,其舍入和/或修剪誤差都得到減少或消除。從和轉(zhuǎn)換至整數(shù)并修剪步驟產(chǎn)生的輸出都可借助或不借助一個多路復(fù)用器而被送到一個輸出裝置1890。
圖18(b)中顯示了用于以減少的誤差在多個階段1805進(jìn)行變換編碼數(shù)據(jù)的實(shí)域操作的本發(fā)明系統(tǒng)的一個示例性實(shí)施例,其中操作器的操作是與正向變換器和量化器的操作和逆量化器和反向變換器的操作交替進(jìn)行的。變換編碼數(shù)據(jù)D0 1815被提供到一個逆量化器和反向變換器1819,以產(chǎn)生高精度實(shí)域數(shù)據(jù)1823。如果由于任何理由而需要產(chǎn)生整數(shù)值數(shù)據(jù),高精度數(shù)據(jù)1823可受到整數(shù)轉(zhuǎn)換器和修剪器1827的作用,而不會對實(shí)域數(shù)據(jù)1823的高精度有影響。操作器1115隨后作用在實(shí)域數(shù)據(jù)1823上,以產(chǎn)生所希望的操作并產(chǎn)生作為輸出的高精度數(shù)據(jù)1845。如果希望產(chǎn)生整數(shù)值的這種輸出數(shù)據(jù),高精度數(shù)據(jù)1845可被輸入到整數(shù)轉(zhuǎn)換器和修剪器1835,而不會影響輸出數(shù)據(jù)的高精度。高精度輸出數(shù)據(jù)作為輸入被送到一個正向變換器和量化器1855,以產(chǎn)生新的變換編碼數(shù)據(jù)F1 1865。逆量化和反向變換的、操作和正向變換和量化的步驟可被重復(fù)多次,而操作器1875在每次重復(fù)中都不同。在多次重復(fù)之后,最后的變換編碼數(shù)據(jù)Fn 1885得到產(chǎn)生,其中實(shí)域舍入和/或修剪誤差得到減少或消除。在一個具體實(shí)施例中,來自任何或所有整數(shù)轉(zhuǎn)換器和修剪器模塊的輸出都被提供給輸出裝置1895。對于編碼圖象數(shù)據(jù),輸出裝置可以是一個顯示器或電視機(jī)。對于編碼音頻數(shù)據(jù)輸出裝置可以是一個播放機(jī)和/或錄音機(jī)。
圖19(a)中給出了一個數(shù)值例子,它顯示了本發(fā)明是如何解決多重產(chǎn)生問題的一個方面的。一組變換域系數(shù)822-其中只有一個(常數(shù)或DC項(xiàng))是非零的,受到反向變換的作用,以產(chǎn)生一個實(shí)域數(shù)據(jù)塊824。在此情況下,數(shù)據(jù)由都等于128.5的64個值組成。注意8位數(shù)據(jù)的128JPEG電平的偏移已經(jīng)被施加。隨后施加正向變換,以產(chǎn)生新的變換域系數(shù)1910??梢娦碌淖儞Q系數(shù)1910與初始變換系數(shù)822相同。這是由于在送到正向DCT的數(shù)據(jù)中沒有出現(xiàn)舍入誤差。
圖19(b)中給出了另一個數(shù)值例子,它顯示了本發(fā)明是如何解決多重產(chǎn)生問題的另一方面的。一組變換域系數(shù)832-其中只有一個(常數(shù)或DC項(xiàng))是非零的,受到反向變換的作用,以產(chǎn)生一個實(shí)域數(shù)據(jù)塊834。在此情況下,數(shù)據(jù)由都等于128.875的64個值組成。注意8位數(shù)據(jù)的128JPEG電平的偏移已經(jīng)被施加。隨后施加正向變換,以產(chǎn)生新的變換域系數(shù)1938。可見新的變換系數(shù)1938與初始變換系數(shù)832相同。這是由于在送到正向DCT的數(shù)據(jù)中沒有出現(xiàn)截?cái)嗾`差。
在已經(jīng)顯示了如何利用高精度數(shù)來除去實(shí)域舍入或截?cái)嘣斐傻恼`差之后,我們現(xiàn)在顯示實(shí)域修剪誤差是如何也得到避免的。在圖19(c)顯示了與圖8(f)中相同的數(shù)值起點(diǎn)和前三個步驟。初始量化DCT系數(shù)被顯示在矩陣874中。除了兩個系數(shù)以外的所有系數(shù)都是0;這兩個非零系數(shù)是DC系數(shù)和一個高頻系數(shù)。這些系數(shù)在去量化之后被顯示在矩陣878中。所用的量化矩陣被顯示在圖8(a)中。當(dāng)對這些變換數(shù)據(jù)進(jìn)行逆DCT時,如矩陣882中所示地產(chǎn)生了實(shí)數(shù)據(jù)。顯示在矩陣882中的數(shù)據(jù)已經(jīng)被舍入到整數(shù)但還未被修剪到允許范圍。
圖19(d)顯示了對實(shí)域數(shù)據(jù)進(jìn)行的給出新的舍入變換數(shù)據(jù)1944的正向DCT的結(jié)果。當(dāng)進(jìn)行量化時,新的變換編碼數(shù)據(jù)1948得到產(chǎn)生。在此例子中,變換數(shù)據(jù)的改變沒有大至足以在量化之后在變換編碼數(shù)據(jù)中產(chǎn)生改變的程度。
產(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)生是編輯中需要的,以產(chǎn)生特殊效果的復(fù)合。
彩色圖象組合涉及兩個獨(dú)立的視頻數(shù)據(jù)流。在一個視頻中背景已經(jīng)被獲得。在另一視頻中前景(經(jīng)常是由涉及演員的動作組成)被印在空白的單色(諸如深藍(lán)或黑)背景上。隨后,前景圖象中的空白象素被背景視頻中的象素所代替。由于這些象素要在單個象素級上混頻,這些圖象需要在實(shí)域中結(jié)合。轉(zhuǎn)換為整數(shù)和修剪所引入的誤差對于這種數(shù)字作品室應(yīng)用是非常不希望的。
高端數(shù)字圖形市場有時采用高過100兆象素的數(shù)字圖象。光彩的廣告冊和展臺上的大照片只是這種高質(zhì)量數(shù)字圖象技術(shù)應(yīng)用的兩個例子。高質(zhì)量損失JPEG壓縮有時被用于限制發(fā)送和存儲成本。當(dāng)這樣的圖象被解壓縮和再壓縮以進(jìn)行諸如加強(qiáng)調(diào)光、校正顏色、添加或改變內(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ā)明還可被作為設(shè)備或計(jì)算機(jī)產(chǎn)品而提供。例如,它可以作為包括其中體現(xiàn)有使計(jì)算機(jī)實(shí)施本發(fā)明的方法的計(jì)算機(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ù)的反向變換至實(shí)域,從而形成高精度數(shù);以及操作所述高精度數(shù)以產(chǎn)生一種效果。
2.根據(jù)權(quán)利要求1的方法,進(jìn)一步包括把所述高精度數(shù)轉(zhuǎn)換成整數(shù)并把該整數(shù)修剪到允許范圍,從而形成轉(zhuǎn)換數(shù)據(jù)。
3.根據(jù)權(quán)利要求1的方法,其中該現(xiàn)象是一種圖象。
4.根據(jù)權(quán)利要求1的方法,其中所述效果是兩個數(shù)據(jù)組的彩色圖象組合合并。
5.根據(jù)權(quán)利要求1的方法,其中所述效果是圖象數(shù)據(jù)的顏色校正。
6.根據(jù)權(quán)利要求3的方法,其中所述效果是圖象的90度轉(zhuǎn)動。
7.根據(jù)權(quán)利要求1的方法,其中所述高精度數(shù)是浮點(diǎn)數(shù)。
8.根據(jù)權(quán)利要求1的方法,其中所述高精度數(shù)是包括分?jǐn)?shù)部分的固定精度數(shù)。
9.根據(jù)權(quán)利要求1的方法,其中進(jìn)行的步驟采用了離散余弦反向變換。
10.根據(jù)權(quán)利要求1的方法,其中進(jìn)行的步驟采用了離散子波反向變換。
11.根據(jù)權(quán)利要求1的方法,其中進(jìn)行的步驟采用了離散付立葉反向變換。
12.用于在實(shí)域中對代表一種現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的一種方法,該方法包括對所述變換數(shù)據(jù)反向變換至實(shí)域,從而形成高精度數(shù);以及對所述高精度數(shù)進(jìn)行正向變換。
13.根據(jù)權(quán)利要求12的方法,其中對所述正向變換的反向操作不同于所述反向變換。
14.根據(jù)權(quán)利要求13的方法,其中所述正向變換是離散余弦正向變換且所述反向變換是離散子波反向變換。
15.用于對代表一種現(xiàn)象的變換編碼數(shù)據(jù)進(jìn)行數(shù)字處理的一種方法,該方法包括對所述變換編碼數(shù)據(jù)進(jìn)行逆量化,從而形成變換數(shù)據(jù);進(jìn)行所述變換數(shù)據(jù)的至實(shí)域的一種反向變換,從而形成高精度數(shù);以及對所述高精度數(shù)進(jìn)行操作,以產(chǎn)生一種效果。
16.根據(jù)權(quán)利要求15的方法,進(jìn)一步包括把所述高精度數(shù)轉(zhuǎn)換成整數(shù)并把該整數(shù)修剪到一個允許范圍,從而形成轉(zhuǎn)換數(shù)據(jù)。
17.根據(jù)權(quán)利要求15的方法,其中所述變換編碼數(shù)據(jù)是編碼的音頻數(shù)據(jù)。
18.根據(jù)權(quán)利要求15的方法,其中所述變換編碼數(shù)據(jù)是編碼的圖象數(shù)據(jù)。
19.根據(jù)權(quán)利要求15的方法,其中所述變換數(shù)據(jù)是編碼的視頻數(shù)據(jù)。
20.根據(jù)權(quán)利要求18的方法,其中所述編碼圖象數(shù)據(jù)是按照J(rèn)PEG靜止圖象國際標(biāo)準(zhǔn)格式的。
21.根據(jù)權(quán)利要求19的方法,其中所述編碼視頻是根據(jù)MPEG運(yùn)動視頻國際標(biāo)準(zhǔn)格式的。
22.根據(jù)權(quán)利要求15的方法,其中進(jìn)行的步驟采用了離散余弦反向變換。
23.根據(jù)權(quán)利要求14的方法,其中進(jìn)行的步驟采用了離散子波反向變換。
24.根據(jù)權(quán)利要求15的方法,其中進(jìn)行的步驟采用了離散付立葉反向變換。
25.根據(jù)權(quán)利要求15的方法,其中所述高精度數(shù)是浮點(diǎn)數(shù)。
26.根據(jù)權(quán)利要求15的方法,其中所述高精度數(shù)是包括分?jǐn)?shù)部分的固定精確數(shù)。
27.根據(jù)權(quán)利要求12的方法,進(jìn)一步包括操作所述高精度數(shù)以產(chǎn)生一種效果。
28.用于對代表一種現(xiàn)象的變換編碼數(shù)據(jù)進(jìn)行數(shù)字處理的一種方法,該方法包括對變換編碼數(shù)據(jù)進(jìn)行逆量化,以形成變換數(shù)據(jù);對所述變換數(shù)據(jù)反向變換至實(shí)域,以形成高精度數(shù);對所述高精度數(shù)進(jìn)行一種正向變換,以形成正向變換數(shù)據(jù);以及對所述正向變換的數(shù)據(jù)進(jìn)行量化以形成量化數(shù)據(jù)。
29.根據(jù)權(quán)利要求28的方法,進(jìn)一步包括對所述高精度數(shù)進(jìn)行操作以產(chǎn)生一種效果。
30.根據(jù)權(quán)利要求29的方法,進(jìn)一步包括把所述高精度數(shù)轉(zhuǎn)換成整數(shù)并修剪到一個允許范圍以形成轉(zhuǎn)換數(shù)據(jù)。
31.根據(jù)權(quán)利要求29的方法,進(jìn)一步包括把操作步驟與進(jìn)行正向變換、進(jìn)行量化、進(jìn)行逆量化、以及進(jìn)行反向變換的步驟交替進(jìn)行所希望的次數(shù)。
32.根據(jù)權(quán)利要求31的方法,其中所述變換編碼數(shù)據(jù)是壓縮數(shù)據(jù),且進(jìn)行正向變換、進(jìn)行量化、進(jìn)行逆量化、以及進(jìn)行反向變換的步驟實(shí)施了壓縮/解壓縮循環(huán)。
33.采用根據(jù)權(quán)利要求31的方法以對變換編碼數(shù)據(jù)進(jìn)行再壓縮和解壓縮以進(jìn)行編輯操作的系統(tǒng)。
34.根據(jù)權(quán)利要求29的方法,其中所述變換編碼數(shù)據(jù)是編碼的音頻數(shù)據(jù)。
35.根據(jù)權(quán)利要求29的方法,其中所述變換編碼數(shù)據(jù)是編碼電磁環(huán)境數(shù)據(jù)。
36.根據(jù)權(quán)利要求29的方法,其中所述變換數(shù)據(jù)是編碼的視頻數(shù)據(jù)。
37.根據(jù)權(quán)利要求29的方法,其中該現(xiàn)象是以JPEG標(biāo)準(zhǔn)格式編碼的圖象數(shù)據(jù),進(jìn)一步包括采用無損失熵譯碼對量化的變換系數(shù)進(jìn)行譯碼;以及采用無損失熵編碼對量化的數(shù)據(jù)進(jìn)行編碼,以形成按照J(rèn)PEG標(biāo)準(zhǔn)的數(shù)據(jù)壓縮格式的編碼數(shù)據(jù)。
38.用于在代表現(xiàn)象的實(shí)域中對第一級的變換編碼數(shù)據(jù)進(jìn)行數(shù)字處理的一種系統(tǒng),該系統(tǒng)包括第一逆量化器,用于從所述變換編碼數(shù)據(jù)產(chǎn)生變換數(shù)據(jù);第一反向變換器,用于產(chǎn)生所述變換數(shù)據(jù)至實(shí)域的一種反向變換,從而形成高精度數(shù);第一正向變換器,用于對所述高精度數(shù)進(jìn)行正向變換,從而形成正向變換數(shù)據(jù);以及第一量化器,用于量化所述正向變換數(shù)據(jù)以形成量化數(shù)據(jù)。
39.根據(jù)權(quán)利要求38的一種系統(tǒng),其中正向變換器采用了與反向變換采用的第一種變換類型不同的類型的變換。
40.根據(jù)權(quán)利要求38的系統(tǒng),其中所述正向變換器產(chǎn)生正離散余弦變換且所述反向變換器產(chǎn)生離散子波反向變換。
41.根據(jù)權(quán)利要求38的系統(tǒng),進(jìn)一步包括用于對高精度數(shù)進(jìn)行操作以產(chǎn)生一種效果的操作器。
42.根據(jù)權(quán)利要求38的一種系統(tǒng),其中所述逆量化器和所述量化器采用了相同的量化值。
43.根據(jù)權(quán)利要求41的系統(tǒng),其中只有量化變換數(shù)據(jù)的一個子集產(chǎn)生不同的變換編碼數(shù)據(jù)。
44.根據(jù)權(quán)利要求38的系統(tǒng),其中所述逆量化器和所述量化器采用了至少一個不同的量化值。
45.根據(jù)權(quán)利要求38的系統(tǒng),進(jìn)一步包括無損失熵譯碼器,用于形成變換編碼數(shù)據(jù);以及無損失熵編碼器,用于對量化數(shù)據(jù)進(jìn)行編碼。
46.用于對代表現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的一種系統(tǒng),該系統(tǒng)包括一種反向變換器,用于利用高精度數(shù)對該變換數(shù)據(jù)進(jìn)行進(jìn)行實(shí)域的一種反向變換;以及一個操作器,用于對該高精度數(shù)進(jìn)行操作以產(chǎn)生一種效果。
47.根據(jù)權(quán)利要求46的系統(tǒng),進(jìn)一步包括用于把所述高精度數(shù)轉(zhuǎn)換成整數(shù)的一種轉(zhuǎn)換器以及用于把整數(shù)修剪到一個允許范圍的修剪器。
48.用于對代表一種現(xiàn)象的變換編碼數(shù)據(jù)進(jìn)行數(shù)字處理的一種系統(tǒng),該系統(tǒng)包括一種逆量化器,用于對所述變換編碼數(shù)據(jù)進(jìn)行逆量化以形成變換數(shù)據(jù);一種反向變換器,用于對所述變換數(shù)據(jù)進(jìn)行至實(shí)域的一種反向變換,以形成高精度數(shù);以及一種操作器,用于操作高精度數(shù)以產(chǎn)生一種效果。
49.根據(jù)權(quán)利要求48的一種系統(tǒng),進(jìn)一步包括一種用于把所述高精度數(shù)轉(zhuǎn)換成整數(shù)的轉(zhuǎn)換器和用于把該整數(shù)修剪到一個允許范圍的修剪器。
50.用于在實(shí)域中對代表一種現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的一種系統(tǒng),該系統(tǒng)包括一種反向變換器,用于產(chǎn)生至實(shí)域的變換數(shù)據(jù)的反向變換,以形成高精度數(shù);以及一種正向變換器,用于對高精度數(shù)進(jìn)行正向變換。
51.根據(jù)權(quán)利要求50的一種系統(tǒng),進(jìn)一步包括一個操作器,用于操作高精度數(shù)以產(chǎn)生一種效果。
52.根據(jù)權(quán)利要求41的系統(tǒng),其中量化數(shù)據(jù)形成了其他級的變換編碼數(shù)據(jù)并進(jìn)一步包括另一逆量化器、另一反向變換器、另一操作器、另一正向變換器、以及另一量化器以一起在變換編碼數(shù)據(jù)的該另一級上執(zhí)行與第一級的變換編碼數(shù)據(jù)上所進(jìn)行的相類似的功能。
53.根據(jù)權(quán)利要求52的系統(tǒng),其中第一操作器所產(chǎn)生的效果與另一操作器產(chǎn)生的效果是不同類型的。
54.根據(jù)權(quán)利要求52的系統(tǒng),其中第一逆量化器、第一反向變換器、第一正向變換器、以及第一量化器的功能和所述另一逆量化器、另一反向變換器、另一正向變換器、以及另一量化器的相應(yīng)功能均由同一模塊進(jìn)行。
55.根據(jù)權(quán)利要求2的方法,進(jìn)一步包括提供所述轉(zhuǎn)換數(shù)據(jù)以被一個輸出裝置所使用。
56.根據(jù)權(quán)利要求55的方法,其中該輸出裝置是一個顯示監(jiān)視器。
57.根據(jù)權(quán)利要求55的方法,其中輸出裝置是一個光柵顯示監(jiān)視器。
58.根據(jù)權(quán)利要求1的方法,其中變換數(shù)據(jù)包括頻譜分析的信息。
59.一種制造產(chǎn)品,它包括具有體現(xiàn)在其中的用于對代表一種現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的計(jì)算機(jī)可讀取程序碼裝置的計(jì)算機(jī)可用介質(zhì),所述制造品中的該計(jì)算機(jī)可讀取程序碼裝置包括用于使計(jì)算實(shí)現(xiàn)以下操作的計(jì)算機(jī)可讀取程序碼裝置進(jìn)行所述變換數(shù)據(jù)的至實(shí)域的一種反向變換,以形成高精度數(shù);以及操作所述高精度數(shù)以產(chǎn)生一種效果。
60.根據(jù)權(quán)利要求59的制造產(chǎn)品,所述制造產(chǎn)品中的計(jì)算機(jī)可讀取程序碼裝置進(jìn)一步包括用于使計(jì)算機(jī)把所述高精度數(shù)轉(zhuǎn)換成整數(shù)并把該整數(shù)修剪到一個允許范圍以形成轉(zhuǎn)換數(shù)據(jù)的計(jì)算機(jī)可讀取程序碼裝置。
61.根據(jù)權(quán)利要求59的一種制造產(chǎn)品,其中該現(xiàn)象是一種圖象。
62.一種計(jì)算機(jī)程序產(chǎn)品,它包括具有體現(xiàn)在其中的用于對實(shí)域中代表一種現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的計(jì)算機(jī)可讀取程序碼裝置的計(jì)算機(jī)可用介質(zhì),所述制造產(chǎn)品中的該計(jì)算機(jī)可讀取程序碼裝置包括用于使計(jì)算實(shí)現(xiàn)以下操作的計(jì)算機(jī)可讀取程序碼裝置進(jìn)行所述變換數(shù)據(jù)的至實(shí)域的一種反向變換,以形成高精度數(shù);以及進(jìn)行所述高精度數(shù)的正向變換。
63.根據(jù)權(quán)利要求62的計(jì)算機(jī)程序產(chǎn)品,其中所述正向變換的反向變換不同于所述反向變換。
64.根據(jù)權(quán)利要求62的計(jì)算機(jī)程序產(chǎn)品,其中所述正向變換是離散余弦正向變換,且所述反向變換是離散子波反向變換。
65.可由機(jī)器讀取的一種程序存儲裝置,它可觸地體現(xiàn)了可由機(jī)器執(zhí)行以執(zhí)行對代表一種現(xiàn)象的變換編碼數(shù)據(jù)進(jìn)行數(shù)字處理的方法步驟的指令程序,所述方法步驟包括進(jìn)行所述變換編碼數(shù)據(jù)的逆量化,以形成變換數(shù)據(jù);進(jìn)行所述變換數(shù)據(jù)的至實(shí)域的一種反向變換,以形成高精度數(shù);以及對所述高精度數(shù)進(jìn)行操作以產(chǎn)生一種效果。
66.根據(jù)權(quán)利要求65的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品中的計(jì)算機(jī)可讀取程序碼裝置進(jìn)一步包括把所述高精度數(shù)轉(zhuǎn)換成整數(shù)并把該整數(shù)修剪到一個允許范圍以形成轉(zhuǎn)換數(shù)據(jù)。
67.可由機(jī)器讀取的一種程序存儲裝置,它可觸地體現(xiàn)了可由機(jī)器執(zhí)行以執(zhí)行對代表一種現(xiàn)象的變換編碼數(shù)據(jù)進(jìn)行數(shù)字處理的方法步驟的指令程序,所述方法步驟包括進(jìn)行變換編碼數(shù)據(jù)的一種逆量化以形成變換數(shù)據(jù);進(jìn)行所述變換數(shù)據(jù)的至實(shí)域的一種反向變換,以形成高精度數(shù);進(jìn)行所述高精度數(shù)的一種正向變換,以形成正向變換數(shù)據(jù);以及進(jìn)行所述正向變換數(shù)據(jù)的量化以形成量化數(shù)據(jù)。
68.根據(jù)權(quán)利要求67的可由機(jī)器讀取的程序存儲裝置,所述方法步驟進(jìn)一步包括操作所述高精度數(shù)以產(chǎn)生一種效果。
69.根據(jù)權(quán)利要求67的可由機(jī)器讀取的程序存儲裝置,所述方法步驟進(jìn)一步包括把所述高精度數(shù)轉(zhuǎn)換成整數(shù)并修剪到一個允許范圍以形成轉(zhuǎn)換數(shù)據(jù)。
70.根據(jù)權(quán)利要求67的可由機(jī)器讀取的程序存儲裝置,所述方法步驟進(jìn)一步包括把所述操作步驟與進(jìn)行一種正向變換、進(jìn)行一種量化、進(jìn)行一種逆量化、以及進(jìn)行一種反向變換的步驟交替進(jìn)行所希望的次數(shù)。
71.根據(jù)權(quán)利要求70的可由機(jī)器讀取的程序存儲裝置,其中所述變換編碼數(shù)據(jù)是壓縮數(shù)據(jù),且進(jìn)行一種正向變換、進(jìn)行一種量化、進(jìn)行一種逆量化、以及進(jìn)行一種反向變換的步驟實(shí)施了壓縮/解壓縮循環(huán)。
72.根據(jù)權(quán)利要求67的可由機(jī)器讀取的程序存儲裝置,其中該現(xiàn)象是以JPEG標(biāo)準(zhǔn)格式編碼的圖象數(shù)據(jù),所述方法步驟進(jìn)一步包括采用無損失熵譯碼對量化的變換系數(shù)進(jìn)行譯碼;以及采用無損失熵編碼對量化形成數(shù)據(jù)進(jìn)行編碼,從而形成按照J(rèn)PEG標(biāo)準(zhǔn)數(shù)據(jù)壓縮格式的編碼數(shù)據(jù)。
73.用于在代表一種現(xiàn)象的實(shí)域中對變換數(shù)據(jù)進(jìn)行數(shù)字處理的一種方法,該方法包括進(jìn)行所述變換數(shù)據(jù)進(jìn)行實(shí)域的一種反向變換,以形成高精度數(shù);把該高精度數(shù)轉(zhuǎn)換成整數(shù);以及對該整數(shù)進(jìn)行正向變換以形成正向變換數(shù)據(jù)。
74.根據(jù)權(quán)利要求73的方法,進(jìn)一步包括對該整數(shù)進(jìn)行操作以產(chǎn)生一種效果。
75.根據(jù)權(quán)利要求73的方法,進(jìn)一步包括對變換編碼數(shù)據(jù)進(jìn)行逆量化以形成變換數(shù)據(jù);以及對所述正向變換的數(shù)據(jù)進(jìn)行量化以形成量化數(shù)據(jù)。
76.根據(jù)權(quán)利要求73的方法,進(jìn)一步包括把整數(shù)修剪到一個允許范圍從而形成轉(zhuǎn)換數(shù)據(jù)。
77.根據(jù)權(quán)利要求75的方法,進(jìn)一步包括把操作步驟與進(jìn)行一種正向變換、進(jìn)行一種量化、進(jìn)行一種逆量化、以及進(jìn)行一種反向變換的步驟交替進(jìn)行所希望的次數(shù)。
78.可由機(jī)器讀取的一種程序存儲裝置,它可觸地體現(xiàn)了可由機(jī)器執(zhí)行以執(zhí)行對在實(shí)域中代表一種現(xiàn)象的變換數(shù)據(jù)進(jìn)行數(shù)字處理的方法步驟的指令程序,所述方法步驟包括進(jìn)行所述變換數(shù)據(jù)的至實(shí)域的一種反向變換,以形成高精度數(shù);把該高精度數(shù)轉(zhuǎn)換成整數(shù);以及對該整數(shù)進(jìn)行正向變換以形成正向變換數(shù)據(jù)。
79.根據(jù)權(quán)利要求78的可被機(jī)器讀取的程序存儲裝置,進(jìn)一步包括對該整數(shù)進(jìn)行操作以產(chǎn)生一種效果。
80.根據(jù)權(quán)利要求78的可被機(jī)器讀取的程序存儲裝置,進(jìn)一步包括對變換編碼數(shù)據(jù)進(jìn)行逆量化以形成變換數(shù)據(jù)。
81.根據(jù)權(quán)利要求78的可被機(jī)器讀取的程序存儲裝置,進(jìn)一步包括進(jìn)行所述正向變換的數(shù)據(jù)的量化以形成量化數(shù)據(jù)。
82.根據(jù)權(quán)利要求78的可被機(jī)器讀取的程序存儲裝置,進(jìn)一步包括把整數(shù)修剪到一個允許范圍以形成轉(zhuǎn)換數(shù)據(jù)。
全文摘要
本發(fā)明解決了數(shù)字處理中采用誤差惡化的數(shù)據(jù)的問題。它提供了新穎的變換編碼數(shù)據(jù)的誤差減少的處理的方法、系統(tǒng)和設(shè)備。在變換數(shù)據(jù)的反向變換之后,高精度數(shù)受到操作。轉(zhuǎn)換為整數(shù)和至允許范圍的修剪步驟在操作中的任何階段執(zhí)行,以獲得反向變換的數(shù)據(jù)的整數(shù)表示。諸如用于該數(shù)據(jù)的顯示。然而,包括回到變換域的正向變換的進(jìn)一步的處理是在高精度數(shù)上執(zhí)行的。因此,舍入和修剪誤差不出現(xiàn)在處理的數(shù)據(jù)中。
文檔編號H04N7/32GK1253339SQ9912342
公開日2000年5月17日 申請日期1999年11月3日 優(yōu)先權(quán)日1998年11月4日
發(fā)明者馬丁·詹姆斯·布萊特, 瓊·拉沃恩·米切爾 申請人:國際商業(yè)機(jī)器公司