專利名稱:變換數(shù)字?jǐn)?shù)據(jù)的誤差減少的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及以下申請美國申請第09/186,247號,標(biāo)題為“變換數(shù)字?jǐn)?shù)據(jù)的誤差減少的處理”,發(fā)明人M.Bright等人;以及,美國申請第09/186,245號,標(biāo)題為“實域誤差的變換域校正”,發(fā)明人J.Mitchell等人;這些申請在此被作為參考文獻(xiàn)。
本發(fā)明涉及數(shù)字?jǐn)?shù)據(jù)的變換編碼,更具體地說是涉及變換數(shù)據(jù)的實域處理。更具體地說,本發(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ì);例如,在音頻、靜止圖象和運動圖象編碼中,可以采用付立葉變換或離散余弦變換(DCT),以把數(shù)據(jù)變換成頻率項或系數(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)”所定義。另一個例子是用于運動圖象壓縮的運動圖象專家組(MPEG)國際標(biāo)準(zhǔn),由ISO/IEC 111721993,“信息技術(shù)-用于以至約1.5Mbits/s的速率進(jìn)行數(shù)字存儲介質(zhì)的運動圖象和相關(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ù)-運動圖象和相關(guān)音頻的類屬編碼-部分2視頻”所定義。一種更新的音頻標(biāo)準(zhǔn)是ISO/IEC 13818-31996“信息技術(shù)-運動圖象和相關(guān)音頻的類屬編碼-部分3音頻”所定義。所有三種圖象國際數(shù)據(jù)壓縮標(biāo)準(zhǔn)都采用了對抽樣的8×8塊進(jìn)行DCT以實現(xiàn)圖象壓縮。圖象的DCT壓縮在此被用來對以下給出的一般概念進(jìn)行說明;一種完整的說明可見于W.B.Pennebaker和J.L.Mitchell在JPEG靜止圖象數(shù)據(jù)壓縮標(biāo)準(zhǔn),VanNostrand Reinhold紐約,(1993)上的″離散余弦變換(DCT)″第四章。
子波編碼是另一種形式的變換編碼。專門的局部化的基函數(shù)使子波編碼能夠保存邊緣和小的細(xì)節(jié)。變換的數(shù)據(jù)通常被量化以進(jìn)行壓縮。子波編碼被用于FBI的指紋識別。子波編碼是更一般的子頻帶編碼技術(shù)的一個子類。子頻帶編碼采用了濾波器組以把數(shù)據(jù)分解到具體的頻帶上。壓縮是通過對頻率較低的頻帶進(jìn)行比頻率較高的頻帶更細(xì)的量化并同時對頻率較低的頻帶進(jìn)行比頻率較高的頻帶更粗的取樣而實現(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ù)被稱為“處于實域”。在變換進(jìn)行之后,新的數(shù)據(jù)通常被稱為“變換數(shù)據(jù)”或“變換系數(shù)”,且被稱為是“處于變換域”。用于把數(shù)據(jù)從實域變換到變換域的過程被稱為“正向變換”。把數(shù)據(jù)從變換域變換到實域的與正向變換反向的數(shù)學(xué)過程被稱為相應(yīng)的“反向變換”。
一般地,正向變換將產(chǎn)生實值數(shù)據(jù),不一定是整數(shù)。為了實現(xiàn)數(shù)據(jù)壓縮,變換系數(shù)通過量化處理而被轉(zhuǎn)換成整數(shù)。假定(λi)是從一個數(shù)據(jù)單位的正向變換產(chǎn)生的一組實值變換系數(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,因為所產(chǎn)生的頻率分量產(chǎn)生對于人的視覺系統(tǒng)來說幾乎是獨立的響應(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)行從浮點轉(zhuǎn)換為整數(shù)。在軟件中實施接受這種通過截斷進(jìn)行轉(zhuǎn)換為整數(shù),把較大的誤差引入了從反向變換輸出的實域整數(shù)中。
術(shù)語“高精度”在此指的是存儲至比當(dāng)以整數(shù)的形式存儲值時所用的精度更精確的精度的數(shù)字。高精度值的例子是數(shù)字的浮點或固定點表示。
鑒于上述所描述的問題,即由數(shù)字處理技術(shù)和在變換數(shù)據(jù)的逆變換后所出現(xiàn)的四舍五入及修剪所產(chǎn)生的不精確性,本發(fā)明的一個方面是提供一個用于處理實域中的變換數(shù)據(jù)的方法。該方法減少了由于在逆變換后四舍五入為整數(shù)和修剪為允許的范圍而在數(shù)據(jù)中所產(chǎn)生的不希望的誤差。在一個實施例中,該方法包括將所述變換數(shù)據(jù)進(jìn)行逆變換以使所產(chǎn)生的實域數(shù)據(jù)是高精度數(shù)字格式;將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi);從所述高精度數(shù)字減去所述轉(zhuǎn)換數(shù)據(jù)修剪為整數(shù)以形成高精度差分;操作所述轉(zhuǎn)換和修剪后的整數(shù);及將所述高精度差分加到所述處理的整數(shù)上以在處理階段完成后形成操作的高精度數(shù)字。
本發(fā)明的一個方面是提供一種在實域中處理變換編碼數(shù)據(jù)的方法,通過在逆變換后將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi)減少在數(shù)據(jù)中所產(chǎn)生的不希望的誤差。在一個實施例中,該方法包括對變換編碼數(shù)據(jù)執(zhí)行逆量化,將所產(chǎn)生的數(shù)據(jù)進(jìn)行逆變換以使所產(chǎn)生的實域數(shù)據(jù)是高精度數(shù)字格式;將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi);從所述高精度數(shù)字減去所述轉(zhuǎn)換數(shù)據(jù)修剪為整數(shù)以形成高精度差分;操作所述轉(zhuǎn)換和修剪后的整數(shù);及將所述高精度差分加到所述處理的整數(shù)上以在處理階段完成后形成操作的高精度數(shù)字。
本發(fā)明的一個方面是提供一種在實域中處理變換編碼數(shù)據(jù)以產(chǎn)生新變換編碼數(shù)據(jù)的方法,通過在逆變換后轉(zhuǎn)換為整數(shù)并將修剪到允許的范圍內(nèi)減少所產(chǎn)生的不希望的誤差。在一個實施例中,該方法包括對變換編碼數(shù)據(jù)執(zhí)行逆量化,將所產(chǎn)生的數(shù)據(jù)進(jìn)行逆變換以使所產(chǎn)生的實域數(shù)據(jù)是高精度數(shù)字格式;將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi);從所述高精度數(shù)字減去所述轉(zhuǎn)換數(shù)據(jù)修剪為整數(shù)以形成高精度差分;操作所述轉(zhuǎn)換和修剪后的整數(shù);及將所述高精度差分加到所述處理的整數(shù)上以在處理階段完成對處理的高精度數(shù)字進(jìn)行正向變換;并對新的變換數(shù)據(jù)進(jìn)行量化后形成操作的高精度數(shù)字。如果正向和逆變換及處理中的誤差足夠地小,則在新的量化變換域數(shù)據(jù)中不會出現(xiàn)不希望的誤差。
本發(fā)明的另一個方面是提供一種在實域中處理變換編碼數(shù)據(jù)以產(chǎn)生新變換編碼數(shù)據(jù)的方法,通過在逆變換后轉(zhuǎn)換為整數(shù)并將修剪到允許的范圍內(nèi)減少所產(chǎn)生的不希望的誤差。在一個實施例中,該方法包括將所述變換數(shù)據(jù)進(jìn)行逆變換以使所產(chǎn)生的實域數(shù)據(jù)是高精度數(shù)字格式;將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi);從所述高精度數(shù)字減去所述轉(zhuǎn)換數(shù)據(jù)修剪為整數(shù)以形成高精度差分;操作所述轉(zhuǎn)換和修剪后的整數(shù);操作這些高精度差分;及將所述高精度差分加到所述處理的整數(shù)上以在處理階段完成后形成操作的高精度數(shù)字。
本發(fā)明的另一個方面是提供一種處理實域中的變換編碼數(shù)據(jù)的方法,通過在逆變換后將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi)減少在數(shù)據(jù)中所產(chǎn)生的不希望的誤差。在一個實施例中,該方法包括對變換編碼數(shù)據(jù)執(zhí)行逆量化,將所產(chǎn)生的數(shù)據(jù)進(jìn)行逆變換以使所產(chǎn)生的實域數(shù)據(jù)是高精度數(shù)字格式;將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi);從所述高精度數(shù)字減去所述轉(zhuǎn)換數(shù)據(jù)修剪為整數(shù)以形成高精度差分;操作所述轉(zhuǎn)換和修剪后的整數(shù);操作這些高精度差分;及將所述高精度差分加到所述處理的整數(shù)上以在處理階段完成后形成操作的高精度數(shù)字。
本發(fā)明的另一個方面是提供一種處理實域中的變換編碼數(shù)據(jù)以產(chǎn)生新變換編碼數(shù)據(jù)的方法,通過在逆變換后轉(zhuǎn)換為整數(shù)并將修剪到允許的范圍內(nèi)減少所產(chǎn)生的不希望的誤差。在一個實施例中,該方法包括對變換編碼數(shù)據(jù)執(zhí)行逆量化,將所產(chǎn)生的數(shù)據(jù)進(jìn)行逆變換以使所產(chǎn)生的實域數(shù)據(jù)是高精度數(shù)字格式;將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi);從所述高精度數(shù)字減去所述轉(zhuǎn)換數(shù)據(jù)修剪為整數(shù)以形成高精度差分;操作所述轉(zhuǎn)換和修剪后的整數(shù);及將所述高精度差分加到所述處理的整數(shù)上以在處理階段完成對處理的高精度數(shù)字進(jìn)行正向變換;并對新的變換數(shù)據(jù)進(jìn)行量化后形成操作的高精度數(shù)字。如果正向和逆變換及處理中的誤差足夠地小,則在新的量化變換域數(shù)據(jù)中不會出現(xiàn)不希望的誤差。
本發(fā)明另一個方面在于提供一個在實域中的初始高精度數(shù)字和處理的變換整數(shù)數(shù)據(jù)之間進(jìn)行選擇的方法,通過在逆變換后轉(zhuǎn)換為整數(shù)并將修剪到允許的范圍內(nèi)減少所產(chǎn)生的不希望的誤差。在一個實施例中,該方法包括將所述變換數(shù)據(jù)進(jìn)行逆變換以使所產(chǎn)生的實域數(shù)據(jù)是高精度數(shù)字格式;將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi);從所述高精度數(shù)字減去所述轉(zhuǎn)換數(shù)據(jù)修剪為整數(shù)以形成高精度差分;操作所述轉(zhuǎn)換和修剪后的整數(shù);在操作的整數(shù)和高精度數(shù)字之間進(jìn)行選擇以在處理階段完成后形成操作的高精度數(shù)字。
本發(fā)明另一個方面在于提供一個在實域中的初始高精度數(shù)字和處理的變換整數(shù)數(shù)據(jù)之間進(jìn)行選擇的方法,通過在逆變換后轉(zhuǎn)換為整數(shù)并將修剪到允許的范圍內(nèi)減少所產(chǎn)生的不希望的誤差。在一個實施例中,該方法包括將所述變換數(shù)據(jù)進(jìn)行逆變換以使所產(chǎn)生的實域數(shù)據(jù)是高精度數(shù)字格式;將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi);從所述高精度數(shù)字減去所述轉(zhuǎn)換數(shù)據(jù)修剪為整數(shù)以形成高精度差分;操作所述轉(zhuǎn)換和修剪后的整數(shù);操作高精度數(shù)字以形成操作的高精度數(shù)字;及在操作的整數(shù)和操作的高精度數(shù)字之間進(jìn)行選擇以在處理階段完成后形成操作的高精度數(shù)字。
對于在此描述的方法,其輸入數(shù)據(jù)不要求是來自單個的數(shù)據(jù)源。因此,本發(fā)明不限于來自單個源的數(shù)據(jù)的實域處理,而是可應(yīng)用于來自多個源的數(shù)據(jù)的實域處理,諸如圖象或音頻數(shù)據(jù)的合并。
在背景部分中描述的量化是在諸如JPEG和MPEG的國際圖象數(shù)據(jù)壓縮標(biāo)準(zhǔn)中采用的線性量化。該量化未被要求是線性的。以確定的方式減小變換數(shù)據(jù)電平數(shù)目的所有變換都可被用于本發(fā)明。該量化步驟已經(jīng)借助公式(1)而以數(shù)學(xué)的方式進(jìn)行了描述。實際的實施例可采用查詢表或比較序列來實現(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)點將變得顯而易見。在附圖中
圖1(a)是顯示用于執(zhí)行反向變換的一種方法的框圖;圖1(b)是顯示用于執(zhí)行一種反向變換的一種系統(tǒng)的框圖;圖2(a)是顯示用于譯碼變換編碼數(shù)據(jù)的一種方法的框圖;圖2(b)是顯示用于譯碼變換編碼數(shù)據(jù)的一種系統(tǒng)的框圖;圖3是顯示用于變換數(shù)據(jù)的實域處理的一種方法的框圖;圖4是框圖,顯示了用于進(jìn)行隨后進(jìn)行有正向變換的反向變換的一種方法并顯示了多重產(chǎn)生的問題;圖5是顯示變換編碼數(shù)據(jù)的譯碼和再編碼的一種方法的框圖,并顯示了多重產(chǎn)生的問題;圖6是框圖,顯示了用于進(jìn)行反向變換、實域數(shù)據(jù)操作和一種正向變換的一種方法,并顯示了多重產(chǎn)生的問題;圖7(a)是框圖,顯示了用于進(jìn)行JPEG DCT編碼圖象數(shù)據(jù)的實域處理的一種方法,它呈現(xiàn)了多重產(chǎn)生的問題;圖7(b)是框圖,顯示了用于進(jìn)行JPEG DCT編碼圖象數(shù)據(jù)的實域處理的系統(tǒng),它呈現(xiàn)了多重產(chǎn)生的問題;圖8(a)給出了JPEG例子的光度量化矩陣;
圖8(b)給出了JPEG例子的色度量化矩陣;圖8(c)是實域舍入如何能夠產(chǎn)生8×8塊DCT編碼數(shù)據(jù)中的顯著誤差的數(shù)值例子;圖8(d)是實域截斷如何能夠產(chǎn)生8×8塊DCT編碼數(shù)據(jù)中的顯著誤差的數(shù)值例子;圖8(e)是一系列的曲線圖,顯示了實域修剪如何能造成一維離散余弦變換編碼數(shù)據(jù)中的誤差;圖8(f)和圖8(g)是實域修剪如何能夠造成8×8塊DCT編碼數(shù)據(jù)中的顯著誤差的一個數(shù)值例子;圖9是框圖,顯示了用于執(zhí)行圖5描述的處理的多次重復(fù)的一種方法,且它呈現(xiàn)了多重產(chǎn)生的問題;圖10是框圖,顯示了進(jìn)行實域操作的多次重復(fù)的一種方法,且它呈現(xiàn)了多重產(chǎn)生的問題;圖11(a)是根據(jù)本發(fā)明對變換數(shù)據(jù)進(jìn)行減少誤差處理的方法的實施例的方框圖。
圖11(b)是根據(jù)本發(fā)明對變換數(shù)據(jù)進(jìn)行減少誤差處理的系統(tǒng)的實施例的方框圖。
圖12(a)是根據(jù)本發(fā)明對變換數(shù)據(jù)進(jìn)行減少誤差處理的方法的實施例的方框圖,其中該處理包括對高精度差分進(jìn)行處理。
圖12(b)是根據(jù)本發(fā)明對變換數(shù)據(jù)進(jìn)行減少誤差處理的系統(tǒng)的實施例的方框圖,其中該處理包括對高精度差分進(jìn)行處理。
圖13(a)是根據(jù)本發(fā)明具有減少的誤差的對變換編碼后的數(shù)據(jù)進(jìn)行實域操作處理的方法的實施例的方框圖,然后再編碼到變換域。
圖13(b)是根據(jù)本發(fā)明具有減少的誤差的對變換編碼后的數(shù)據(jù)進(jìn)行實域操作處理的系統(tǒng)的實施例的方框圖,然后再編碼到變換域。
圖14(a)是根據(jù)本發(fā)明對具有減少的誤差的對變換編碼后的數(shù)據(jù)進(jìn)行實域操作處理的方法的實施例的方框圖,其中該方法包括對高精度差分進(jìn)行處理,然后再編碼到變換域。
圖14(b)是根據(jù)本發(fā)明具有減少的誤差的對通過進(jìn)行再編碼到變換域后的變換編碼后的數(shù)據(jù)進(jìn)行實域操作處理的系統(tǒng)的實施例的方框圖,其中該處理包括對高精度差分進(jìn)行處理,然后再編碼到變換域。
圖15(a)是示出根據(jù)本發(fā)明用于對編碼的圖像數(shù)據(jù)進(jìn)行實域處理的方法的實施例的方框圖,從而使得減少或消除新的變換編碼后的數(shù)據(jù)中所不希望的誤差。
圖15(b)是示出根據(jù)本發(fā)明用于對編碼的圖像數(shù)據(jù)進(jìn)行實域處理的系統(tǒng)的實施例的方框圖,從而使得減少或消除新的變換編碼后的數(shù)據(jù)中所不希望的誤差。
圖16(a)是示出根據(jù)本發(fā)明用于對編碼的圖像數(shù)據(jù)進(jìn)行實域處理的方法的實施例的方框圖,從而使得減少或消除新的變換編碼后的數(shù)據(jù)中所不希望的誤差,其中該處理包括對高精度差分進(jìn)行處理。
圖16(b)是示出根據(jù)本發(fā)明用于對編碼的圖像數(shù)據(jù)進(jìn)行實域處理的系統(tǒng)的實施例的方框圖,從而使得減少或消除新的變換編碼后的數(shù)據(jù)中所不希望的誤差,其中該處理包括對高精度差分進(jìn)行處理。
圖17(a)是示出根據(jù)本發(fā)明對變換數(shù)據(jù)進(jìn)行減少誤差處理的方法的實施例的方框圖,該方法包括在操作的高精度數(shù)和操作的轉(zhuǎn)換的數(shù)據(jù)之間進(jìn)行選擇。
圖17(b)是示出根據(jù)本發(fā)明對變換數(shù)據(jù)進(jìn)行減少誤差處理的系統(tǒng)的實施例的方框圖,該處理包括在操作的高精度數(shù)和操作的轉(zhuǎn)換的數(shù)據(jù)之間進(jìn)行選擇。
圖18(a)是根據(jù)本發(fā)明具有減少的誤差的具有減少的誤差變換編碼后的數(shù)據(jù)進(jìn)行實域操作處理的方法的實施例的方框圖,其中該方法包括在操作的高精度數(shù)和操作的轉(zhuǎn)換的數(shù)據(jù)之間進(jìn)行選擇,然后再編碼到變換域。
圖18(b)是根據(jù)本發(fā)明具有減少的誤差的對變換編碼后的數(shù)據(jù)進(jìn)行實域操作處理的系統(tǒng)的實施例的方框圖,其中該系統(tǒng)包括在操作的高精度數(shù)和操作的轉(zhuǎn)換的數(shù)據(jù)之間進(jìn)行選擇,然后再編碼到變換域。
由參考數(shù)據(jù)處理所引起的問題本發(fā)明提供了減少或消除數(shù)字?jǐn)?shù)據(jù)的處理而引起的誤差的方法、系統(tǒng)和計算機(jī)產(chǎn)品。首先,誤差源得到分析和描述。隨后說明本發(fā)明的用于誤差減少和消除的概念。特別應(yīng)該注意的是,以前采用的數(shù)字技術(shù)的數(shù)據(jù)操作和/或處理,使得數(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ù)據(jù)130。該高精度數(shù)據(jù)130被轉(zhuǎn)換成整數(shù)并被修剪140,以產(chǎn)生整數(shù)實域數(shù)據(jù)150。在某些情況下,該整數(shù)值數(shù)據(jù)被可選地送到一個輸出裝置160。
圖1(b)是一種反向變換系統(tǒng)105。變換域數(shù)據(jù)A 115受到反向變換器125的作用,而反向變換器125產(chǎn)生高精度實值數(shù)據(jù)135。高精度數(shù)據(jù)135被輸入整數(shù)轉(zhuǎn)換器和修剪器145,以產(chǎn)生整數(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ù)語“操作”和“處理”的使用在這里是可互換的。操作可以是為了實現(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ù)據(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ù)據(jù)通常需要被再編碼到變換域。所希望的是,當(dāng)對實域數(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ù)B1 520。重要的是認(rèn)識到量化數(shù)據(jù)只在產(chǎn)生的誤差大于量化階段的一半的情況下才能產(chǎn)生Q(λi+ε)=Q(λi)若|ε|<0.5qi(3)其中ε是在這種變換系數(shù)中產(chǎn)生的誤差。這是由于λi每一個都已經(jīng)是量化值的倍數(shù),因為它們已經(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中改變這一事實,顯示出當(dāng)操作被進(jìn)行時在變換數(shù)據(jù)110中有除了從所希望的操作產(chǎn)生的改變之外的不希望的改變。
體現(xiàn)圖6所示的處理的一種方法的一個例子,被顯示在圖7(a)中。所示的方法700對諸如JPEG編碼圖象數(shù)據(jù)的編碼數(shù)據(jù)進(jìn)行了實域操作。編碼數(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ù)據(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ù)據(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ù)據(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ù)據(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ù)據(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(左上角)項小到1,以保存最大的質(zhì)量。此時這些舍入誤差就是顯著的。
來自截斷的最大可能誤差對于各個抽樣來說剛好在1以下。這幾乎是未量化的正向變換系數(shù)中的誤差的兩倍。對于圖8(a)中的量化矩陣,八個量化值對于這種誤差來說小得足夠潛在地改變變換編碼數(shù)據(jù)。
圖8(c)中給出了顯示這種多重產(chǎn)生問題的一個數(shù)值例子。在此例中,所用的變換是如在JPEG靜止圖象壓縮標(biāo)準(zhǔn)中使用的8×8DCT。其中只有一個(常數(shù)或DC項)不為零的一組變換域系數(shù)822,受到反向變換作用,以產(chǎn)生實域數(shù)據(jù)824。在此情況下,數(shù)據(jù)由都等于128.5的64個值組成。注意8位數(shù)據(jù)的128JPEG電平的移動已經(jīng)被施加。實域數(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項)不為零的一組變換域系數(shù)832,受到反向變換作用,以產(chǎn)生實域數(shù)據(jù)834。在此情況下,數(shù)據(jù)由都等于128.875的64個值組成。注意8位數(shù)據(jù)的128的JPEG電平的移動已經(jīng)被施加。實域數(shù)據(jù)被截斷到最近的整數(shù)836,這在此情況下意味著各個值被減小到128。正向變換隨后被施加,以產(chǎn)生新的變換域系數(shù)838。可見所產(chǎn)生的新的變換系數(shù)838與初始的變換系數(shù)832有顯著的不同。這是一種非常不希望的結(jié)果。
在顯示了在轉(zhuǎn)換為整數(shù)時進(jìn)行實域舍入或截斷所導(dǎo)致誤差之后,我們現(xiàn)在顯示實域修剪如何產(chǎn)生誤差。圖8(e)顯示了實域修剪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ù)值的部分。這顯示了在反向變換之后給出實域負(fù)值的變換域數(shù)據(jù)能夠由不包含負(fù)值的原來實域數(shù)據(jù)產(chǎn)生。
直方圖862顯示了在實域修剪之后從圖表858中的數(shù)據(jù)產(chǎn)生的數(shù)據(jù)。實數(shù)據(jù)的這些負(fù)的部分已經(jīng)被改變?yōu)?。這產(chǎn)生了數(shù)據(jù)增大的DC系數(shù)因而導(dǎo)致了誤差的引入。由于DC系數(shù)的量化值通常都小,這種誤差大得足以造成量化如公式(3)給出的數(shù)據(jù)的改變。
為了進(jìn)一步說明實域修剪引入的誤差的可能性,在圖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ù)據(jù)得到產(chǎn)生,如矩陣882所示。矩陣882中所示的該數(shù)據(jù)已經(jīng)被舍入到了整數(shù),但還未被修剪到一個允許范圍??梢娺@些實數(shù)據(jù)包括幾個負(fù)值。在修剪之后,實數(shù)據(jù)882產(chǎn)生了修剪的實數(shù)據(jù),如矩陣886中所示。這些數(shù)據(jù)與882相同,只是各個負(fù)值已經(jīng)被0所代替。隨后對該實域數(shù)據(jù)進(jìn)行正向DCT,以給出新的舍入變換數(shù)據(jù)890。可見新的變換數(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ù)和修剪到實域中的一個允許范圍而產(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ù)據(jù)940。這種實域數(shù)據(jù)940經(jīng)過正向變換和量化950,以給出新的變換編碼數(shù)據(jù)D1960。這種整個過程被重復(fù)幾次,且在重復(fù)次數(shù)為某一數(shù)目n之后,最后的變換編碼數(shù)據(jù)Dn 970得到產(chǎn)生。由于各個步驟中的誤差,最后的數(shù)據(jù)Dn 970可能與原來數(shù)據(jù)非常不同了。
圖10中顯示了一種情況,它顯示出由于變換編碼數(shù)據(jù)的實域操作的多次產(chǎn)生而使這種問題顯著地惡化了。除了圖9所示的步驟之外,對實域數(shù)據(jù)進(jìn)行了某些形式的操作310,隨后是轉(zhuǎn)換為整數(shù)和修剪320。在正向變換和量化之后,所產(chǎn)生的量化變換系數(shù)101包含了某些誤差,象圖5中那樣。在n次產(chǎn)生之后,最后的變換量化系數(shù)1020可能具有相當(dāng)大的不希望的誤差。
現(xiàn)在將參考圖11(a)描述處理具有降低的誤差的變換數(shù)據(jù)的方法1100的實施例。變換數(shù)據(jù)‘A’110通過逆變換120以生成高精度的實域數(shù)據(jù)130,如圖1(a)所示。高精度數(shù)據(jù)130被轉(zhuǎn)換為整數(shù)并進(jìn)行修剪(140)以生成整數(shù)實域數(shù)據(jù)(即轉(zhuǎn)換數(shù)據(jù))150。在一些情況下,選擇性地將整數(shù)值數(shù)據(jù)發(fā)送到輸出設(shè)備160。整數(shù)數(shù)據(jù)150進(jìn)行一些形式的操作(310)。如果該操作310不產(chǎn)生整數(shù)輸出,則操作輸出340被再次轉(zhuǎn)換為整數(shù)并進(jìn)行修剪(320)。結(jié)果整數(shù)數(shù)據(jù)330可以被存儲、發(fā)送、及/或選擇性地輸出給輸出設(shè)備160。
由于在接受整數(shù)輸入150的操作之前進(jìn)行修剪和轉(zhuǎn)換為整數(shù)140的步驟,結(jié)果的誤差導(dǎo)致操作340的數(shù)據(jù)輸出包括至少小的不精確性。可以通過從高精度數(shù)字130中提取(1110)轉(zhuǎn)換的數(shù)據(jù)150及形成高精度的差分1120來消除這種不精確性。該差分1120可以反過來加到操作輸出340上以形成操作的高精度數(shù)字1140,其中由于修剪及轉(zhuǎn)換為整數(shù)所導(dǎo)致的誤差可以被減少或消除。
在本發(fā)明的一些實施例中,加法步驟1130是作為一個智能加法部分來實現(xiàn)的。這些實施例認(rèn)為大小大于0.5以進(jìn)位及/或1.0以舍位的高精度差分標(biāo)識數(shù)據(jù)已經(jīng)被修剪。這樣當(dāng)對應(yīng)于修剪的數(shù)據(jù)的處理轉(zhuǎn)換數(shù)據(jù)不再具有所允許范圍內(nèi)的極值時,加法步驟智能地只保持處理的轉(zhuǎn)換數(shù)據(jù)。這時,智能加法部分不把高精度差分加到轉(zhuǎn)換數(shù)據(jù)上。在智能加法部分的一個替換實施例中,加法步驟定義一個不影響處理的高精度數(shù)字的將來應(yīng)用的允許誤差閥值。在該替換的加法實施例中,只有大小大于預(yù)定閥值的誤差被加到處理的轉(zhuǎn)換數(shù)據(jù)上。有時也使用另一個替換的智能加法實現(xiàn)規(guī)則。所有這些可替換的具體的加法實現(xiàn)在這里被作為智能加法。這樣對于這些實施例,只要在這里標(biāo)識一個加法步驟,它就作為智能加法而實現(xiàn)。
上述實施例的優(yōu)點在于常規(guī)的操作(即處理)不被打擾。在操作步驟之前生成高精度差分,然后在常規(guī)處理之后反過來加到處理數(shù)據(jù)上。在范圍的極值處修剪步驟生成轉(zhuǎn)換數(shù)據(jù)。如果處理的轉(zhuǎn)換數(shù)據(jù)不在極值處,則智能加法步驟采用轉(zhuǎn)換數(shù)據(jù),而不反過來加上大小大于0.5時進(jìn)行進(jìn)位、大于1時進(jìn)行舍位的差分。
現(xiàn)在將參考圖11(b)描述根據(jù)本發(fā)明處理變換數(shù)據(jù)的具有降低的誤差的系統(tǒng)的實施例1105。變換數(shù)據(jù)‘A’115通過逆變換器125以生成高精度的實域數(shù)據(jù)135,如圖1(b)所示。整數(shù)轉(zhuǎn)換器和修剪器145對高精度數(shù)據(jù)135進(jìn)行操作以生成整數(shù)實域數(shù)據(jù)155。在一些情況下,選擇性地將整數(shù)值數(shù)據(jù)發(fā)送到輸出設(shè)備165。操作器1115操作實域轉(zhuǎn)換數(shù)據(jù)155將整數(shù)數(shù)據(jù)作為輸入并生成整數(shù)數(shù)據(jù)或高精度數(shù)據(jù)1175作為輸出。該操作器1115與圖3所示的操作整數(shù)310一樣對數(shù)據(jù)執(zhí)行相同的處理。操作之后,加法器將操作數(shù)據(jù)1175加到高精度差分1125上以形成操作高精度數(shù)字1145。如果必須將操作的實域數(shù)據(jù)通過接收整數(shù)值輸入的輸出設(shè)備165,則在操作確保了整數(shù)數(shù)據(jù)1195之后整數(shù)轉(zhuǎn)換器和修剪器1185進(jìn)行操作。
在本發(fā)明的一些實施例中,加法器1135是作為一個智能加法器來實現(xiàn)的。這些實施例認(rèn)為大小大于0.5以進(jìn)位及/或1.0以舍位的高精度差分標(biāo)識數(shù)據(jù)已經(jīng)被修剪。這樣當(dāng)對應(yīng)于修剪的數(shù)據(jù)的處理轉(zhuǎn)換數(shù)據(jù)不再具有所允許范圍內(nèi)的極值時,加法器智能地只保持處理的轉(zhuǎn)換數(shù)據(jù)。這時,智能加法器不把高精度差分加到轉(zhuǎn)換數(shù)據(jù)上。在智能加法器的一個替換實施例中,定義一個不影響處理的高精度數(shù)字的將來應(yīng)用的允許誤差閥值。在該替換的加法實施例中,只有大小大于預(yù)定閥值的誤差被加到處理的轉(zhuǎn)換數(shù)據(jù)上。有時也使用另一個替換的智能加法實現(xiàn)規(guī)則。所有這些可替換的具體的加法器實現(xiàn)在這里被作為智能加法器。這樣對于這些實施例,只要在這里標(biāo)識使用一個加法器,它就作為智能加法器而實現(xiàn)。
圖12(a)描述具有降低的誤差的操作變換數(shù)據(jù)的方法1200的實施例。該方法通過擴(kuò)展于圖11(a)中所描述的方法1100來形成。在該實施例中,高精度差分1120傳遞給操作步驟1210,該步驟將高精度差分?jǐn)?shù)據(jù)接受為輸入以生成新的操作高精度差分1220。加法步驟1230使用操作高精度差分1220將其反加到來自于常規(guī)操作步驟310的輸出上以形成處理的高精度輸出1240。
例如,在一個實施例中,在操作步驟310對轉(zhuǎn)換數(shù)據(jù)執(zhí)行90度旋轉(zhuǎn),接著高精度差分也被旋轉(zhuǎn)90度。如果操作步驟310例如通過彩色圖像組合方法將兩個數(shù)據(jù)組合并,則需要對應(yīng)于操作的轉(zhuǎn)換數(shù)據(jù)合并高精度差分。對于一些操作例如轉(zhuǎn)換數(shù)據(jù)的顏色校正,由于差分不再對應(yīng)于改變的轉(zhuǎn)換數(shù)據(jù),對應(yīng)的差分?jǐn)?shù)據(jù)可以被清除或清零。
圖12(b)描述具有降低的誤差的操作變換數(shù)據(jù)的系統(tǒng)1205的實施例。該系統(tǒng)通過修改于圖11(b)中所描述的系統(tǒng)1105來形成。在該實施例中,高精度差分1125傳遞給操作器1215,它將高精度差分?jǐn)?shù)據(jù)接受為輸入以生成新的操作高精度差分1225。加法器1235使用操作高精度差分1225將其反加到來自于常規(guī)操作器1165的輸出上以形成處理的高精度輸出1245。
圖13(a)描述具有降低的誤差的用于處理變換編碼數(shù)據(jù)的方法1300的實施例。圖13(a)示出將整數(shù)變換編碼數(shù)據(jù)‘B’210進(jìn)行逆量化220并將輸出通過一個逆變換120生成高精度實域數(shù)據(jù)130,如圖2(a)和11(a)所述。使用處理高精度數(shù)據(jù)1140作為正向變換1310的輸入,它接受實際值數(shù)據(jù)作為輸入。正向變換1310的輸出被量化1320。根據(jù)所希望的系統(tǒng)實施,正向變換操作1310可以使用不同于逆變換操作120中的逆變換。例如逆變換120可以使用逆DCT變換而正向變換1310可以使用付立葉變換。如果正向變換操作1310是逆變換操作120的逆操作,則結(jié)果整數(shù)變換數(shù)據(jù)‘B1’1330與原始整數(shù)變換數(shù)據(jù)‘B’210相同,該原始數(shù)據(jù)是逆量化步驟220的輸入;在逆量化步驟所使用的量化值與在量化步驟1320的量化值相同;操作310什么也不做。注意在使用不同的正向變換時,正向變換1310將產(chǎn)生不同的整數(shù)變換數(shù)據(jù)‘B1’1330。相同地,在逆量化220和量化1320中使用不同的量化值也產(chǎn)生不同的整數(shù)變換數(shù)據(jù)1330。該方法允許在變換和量化矩陣之間進(jìn)行轉(zhuǎn)換而不會出現(xiàn)在正向變換1310的輸入中因舍入及修剪所引起的誤差。
注意量化矩陣之間的轉(zhuǎn)換可以是粗略或精細(xì)的量化。例如當(dāng)將數(shù)據(jù)從JPEG國際標(biāo)準(zhǔn)轉(zhuǎn)換為MPEG國際標(biāo)準(zhǔn)時,量化可能是粗略的。在編輯處理期間需要質(zhì)量較高的JPEG獨立圖像。越粗略,壓縮性越好,MPEG圖像用于獲得所希望的帶寬對象。另一方面,在大量手工編輯之后再次壓縮JPEG圖像時,為了保留變化可能量化地更細(xì)。
圖13(b)描述具有降低的誤差的用于處理變換編碼數(shù)據(jù)的系統(tǒng)1305的實施例。圖13(b)示出將整數(shù)變換編碼數(shù)據(jù)‘B’215輸入逆量化器225并將輸出通過一個逆變換器125生成高精度實域數(shù)據(jù)135,如圖2(b)和11(b)所述。使用處理高精度數(shù)據(jù)1145作為正向變換器1315的輸入,它接受實際值數(shù)據(jù)作為輸入。正向變換器1315的輸出輸出給量化器1325。根據(jù)所希望的系統(tǒng)實施,正向變換器1315可以使用不同于逆變換器125中的逆變換。例如逆變換器125可以使用逆DCT變換而正向變換器1315可以使用付立葉變換。如果正向變換器1315是逆變換器125的逆操作,則結(jié)果整數(shù)變換數(shù)據(jù)‘B1’1335與原始整數(shù)變換數(shù)據(jù)‘B’215相同,該原始數(shù)據(jù)是逆量化器225的輸入;在逆量化器所使用的量化值與在量化器1325的量化值相同;操作器1165什么也不做。注意在使用不同的正向變換時,正向變換器1315將產(chǎn)生不同的整數(shù)變換數(shù)據(jù)‘B1’。相同地,在逆量化器225和量化器1325中使用不同的量化值也產(chǎn)生不同的整數(shù)變換數(shù)據(jù)1335。該方法允許在變換和量化矩陣之間進(jìn)行轉(zhuǎn)換而不會出現(xiàn)在正向變換1315的輸入1145中因舍入及修剪所引起的誤差。
圖14(a)描述具有降低的誤差的用于處理變換編碼數(shù)據(jù)的方法1400的實施例。該方法通過擴(kuò)展在圖13(a)中所描述的方法1300來形成。在該實施例中,高精度差分1120傳遞給操作步驟1210,該步驟將高精度差分?jǐn)?shù)據(jù)接受為輸入以生成新的操作高精度差分1220。加法步驟1230使用操作高精度差分1220將其反加到來自于常規(guī)操作步驟310的輸出上以形成處理的高精度輸出1240。處理的高精度數(shù)據(jù)1240作為正向變換1310的輸入,它接受實際值數(shù)據(jù)作為輸入。正向變換1310的輸出被量化1320以形成變換編碼數(shù)據(jù)‘B2’1410。
圖14(b)描述具有降低的誤差的用于處理變換編碼數(shù)據(jù)的系統(tǒng)1405的實施例。該系統(tǒng)通過擴(kuò)展在圖13(b)中所描述的系統(tǒng)1305來形成。在該實施例中,高精度差分1125傳遞給操作器1215,它將高精度差分?jǐn)?shù)據(jù)接受為輸入以生成新的操作高精度差分1225。加法器1235使用操作高精度差分1225將其反加到來自于常規(guī)操作器1165的輸出上以形成處理的高精度輸出1245。處理的高精度數(shù)據(jù)1245作為正向變換器1315的輸入,它接受實際值數(shù)據(jù)作為輸入。正向變換器1315的輸出被傳遞到量化器1325以形成變換編碼數(shù)據(jù)‘B2’1415。
現(xiàn)在將參考圖15(a)描述根據(jù)本發(fā)明實域操作變換編碼數(shù)據(jù)的具有降低的誤差的方法的實施例1500。所選擇的實施例是用于實域操作編碼圖像的方法,這些圖像是使用DCT進(jìn)行變換編碼的,例如為JPEG編碼圖像。由無損熵譯碼步驟720對編碼數(shù)據(jù)‘C’710進(jìn)行譯碼以生成量化DCT系數(shù)。這些系數(shù)被進(jìn)行逆量化730并通過逆DCT740以生成高精度的實域數(shù)據(jù)1510。整數(shù)轉(zhuǎn)換器和修剪器750對高精度數(shù)據(jù)1510進(jìn)行操作以生成整數(shù)實域數(shù)據(jù)754。在一些情況下,選擇性地將整數(shù)值數(shù)據(jù)發(fā)送到顯示器758。減法步驟1520從轉(zhuǎn)換整數(shù)數(shù)據(jù)754減去高精度數(shù)字1510形成高精度差分1530。操作步驟762操作實域轉(zhuǎn)換數(shù)據(jù)754將整數(shù)數(shù)據(jù)作為輸入并生成整數(shù)數(shù)據(jù)或高精度數(shù)據(jù)1580作為輸出。操作之后,加法步驟1540將操作數(shù)據(jù)1580加到高精度差分1530上以形成操作高精度數(shù)字1550。如果必須將操作的實域數(shù)據(jù)通過接收整數(shù)值輸入的輸出設(shè)備758或由于某種原因在操作之后生成整數(shù)值圖像數(shù)據(jù)772,則在操作762之后執(zhí)行轉(zhuǎn)換為整數(shù)和修剪為允許范圍的操作步驟768。
高精度圖像數(shù)據(jù)1550作為輸入傳遞給正向DCT1560,它接受高精度數(shù)據(jù)作為輸入。來自于正向DCT1560的輸出值被進(jìn)行量化780以生成新的整數(shù)DCT系數(shù)。在無損熵編碼步驟將這些系數(shù)編碼788以生成新的編碼數(shù)據(jù)‘C2’1570。如果正向和逆DCT及操作系統(tǒng)已足夠精確從而它們所引入的誤差小于量化步驟的一半,如在上述的等式(3)所描述的那樣,則根本不會向DCT系數(shù)引入誤差。
現(xiàn)在將參考圖15(b)描述根據(jù)本發(fā)明實域操作變換編碼數(shù)據(jù)的具有降低的誤差的系統(tǒng)的實施例1505。所選擇的實施例是用于實域操作編碼圖像的系統(tǒng),這些圖像是使用DCT進(jìn)行變換編碼的。由無損熵譯碼器725對編碼數(shù)據(jù)‘C’715進(jìn)行譯碼以生成量化DCT系數(shù)。這些系數(shù)被發(fā)送到逆量化器735并通過逆DCT745以生成高精度的實域數(shù)據(jù)1515。整數(shù)轉(zhuǎn)換器和修剪器755對高精度數(shù)據(jù)1515進(jìn)行操作以生成整數(shù)實域數(shù)據(jù)759。在一些情況下,選擇性地將整數(shù)值數(shù)據(jù)發(fā)送到顯示器763。減法器1525從轉(zhuǎn)換整數(shù)數(shù)據(jù)759減去高精度數(shù)字1515形成高精度差分1535。操作器767操作實域轉(zhuǎn)換數(shù)據(jù)759將整數(shù)數(shù)據(jù)作為輸入并生成整數(shù)數(shù)據(jù)或高精度數(shù)據(jù)1585作為輸出。操作之后,加法器1545將操作數(shù)據(jù)1585加到高精度差分1535上以形成操作高精度數(shù)字1555。如果必須將操作的實域數(shù)據(jù)通過接收整數(shù)值輸入的顯示器763或由于某種原因在操作之后生成整數(shù)值圖像數(shù)據(jù)777,則在操作767之后整數(shù)轉(zhuǎn)換器和修剪器773對整數(shù)轉(zhuǎn)換數(shù)據(jù)1585進(jìn)行操作。操作的高精度圖像數(shù)據(jù)1555作為輸入傳遞給正向DCT器1565,它接受高精度數(shù)據(jù)作為輸入。來自于正向DCT1565的輸出值被傳遞給量化器785以生成新的整數(shù)DCT系數(shù)。在無損熵編碼器793將這些系數(shù)編碼以生成新的編碼數(shù)據(jù)‘C2’1575。
圖16(a)描述具有降低的誤差的用于處理編碼數(shù)據(jù)的方法1600的實施例。該方法通過擴(kuò)展在圖15(a)中所描述的方法1500來形成。在該實施例中,高精度差分1530傳遞給操作步驟1610,該步驟將高精度差分?jǐn)?shù)據(jù)接受為輸入以生成新的操作高精度差分1620。加法步驟1630使用操作高精度差分1620將其反加到來自于常規(guī)操作步驟7620的輸出上以形成處理的高精度輸出1640。處理的高精度數(shù)據(jù)1640作為正向變換1560的輸入,它接受實際值數(shù)據(jù)作為輸入。正向變換1560的輸出被量化780以形成變換編碼數(shù)據(jù)‘B2’。變換編碼數(shù)據(jù)被傳遞給熵編碼步驟788以生成編碼數(shù)據(jù)‘C3’1650。
圖16(b)描述操作具有降低的誤差的用于處理編碼數(shù)據(jù)的系統(tǒng)1605的實施例。該系統(tǒng)通過擴(kuò)展在圖15(b)中所描述的系統(tǒng)1505來形成。在該實施例中,高精度差分1535傳遞給操作器1615,它將高精度差分?jǐn)?shù)據(jù)接受為輸入以生成新的操作高精度差分1625。加法器1635使用操作高精度差分1625將其反加到來自于常規(guī)操作器1585的輸出上以形成處理的高精度輸出1645。處理的高精度數(shù)據(jù)1645作為正向DCT器1565的輸入,它接受實際值數(shù)據(jù)作為輸入。正向變換器1565的輸出被傳遞到量化器785,它輸出變換編碼數(shù)據(jù)。變換編碼數(shù)據(jù)傳遞給熵編碼器793以生成編碼數(shù)據(jù)‘C3’1655。
圖17(a)示出用于對變換數(shù)據(jù)執(zhí)行實域操作的具有降低的誤差的方法1700。在該實施例中,高精度數(shù)字130被傳遞給操作步驟1710,它接受高精度數(shù)字作為輸入,以生成新的操作高精度數(shù)字1720。選擇步驟1730在操作的高精度數(shù)字1720和常規(guī)的操作步驟310的輸出340之間進(jìn)行選擇以形成處理高精度輸出1740。
如果常規(guī)的操作步驟310對轉(zhuǎn)換數(shù)據(jù)執(zhí)行90度旋轉(zhuǎn),則高精度數(shù)字也需要被旋轉(zhuǎn)90度。如果常規(guī)操作步驟310例如通過彩色圖像組合方法將兩個數(shù)據(jù)組合并,則在操作步驟1710需要對應(yīng)于操作的轉(zhuǎn)換數(shù)據(jù)合并高精度數(shù)字??商鎿Q地,可以跳過操作步驟,并且選擇步驟1730可以從數(shù)據(jù)組中選擇與處理的轉(zhuǎn)換數(shù)據(jù)最近的高精度值。如果在轉(zhuǎn)換為整數(shù)和修剪步驟140沒有任何高精度值轉(zhuǎn)換為處理的轉(zhuǎn)換數(shù)據(jù),則處理的轉(zhuǎn)換數(shù)據(jù)以高精度輸出。對應(yīng)一些操作例如轉(zhuǎn)換數(shù)據(jù)的顏色校正,由于高精度數(shù)據(jù)不再與處理的轉(zhuǎn)換數(shù)據(jù)接近,則總能選擇處理轉(zhuǎn)換數(shù)據(jù)。
圖17(b)示出用于對變換數(shù)據(jù)執(zhí)行實域操作的具有降低的誤差的系統(tǒng)1705。在該實施例中,高精度數(shù)字1115被傳遞給操作器1715,它接受高精度數(shù)字作為輸入,以生成新的操作高精度數(shù)字1725。選擇器1735在操作的高精度數(shù)字1725和常規(guī)的操作器1165的輸出之間進(jìn)行選擇以形成處理高精度輸出1740。
圖18(a)描述具有降低的誤差的用于處理變換編碼數(shù)據(jù)的方法1800的實施例。圖18(a)示出將整數(shù)變換編碼數(shù)據(jù)‘B’210進(jìn)行逆量化220并將輸出通過一個逆變換120生成高精度實域數(shù)據(jù)130,如圖17(a)所述。使用處理高精度數(shù)據(jù)1740作為正向變換1310的輸入,它接受實際值數(shù)據(jù)作為輸入。正向變換1310的輸出被量化1320。根據(jù)所希望的系統(tǒng)實施,正向變換操作1310可以使用不同于逆變換操作120中的逆變換。例如逆變換120可以使用逆DCT變換而正向變換1310可以使用付立葉變換。如果正向變換操作1310是逆變換操作120的逆操作,則結(jié)果整數(shù)變換數(shù)據(jù)‘B3’1810與原始整數(shù)變換數(shù)據(jù)‘B’210相同,該原始數(shù)據(jù)是逆量化步驟220的輸入;在逆量化步驟220所使用的量化值與在量化步驟1320的量化值相同;操作310什么也不做。注意在使用不同的正向變換時,正向變換1310將產(chǎn)生不同的整數(shù)變換數(shù)據(jù)‘B3’1810。相同地,在逆量化220和量化1320中使用不同的量化值也產(chǎn)生不同的整數(shù)變換數(shù)據(jù)1810。該方法允許在變換和量化矩陣之間進(jìn)行轉(zhuǎn)換而不會出現(xiàn)在正向變換1310的輸入1740中因舍入及修剪所引起的誤差。
圖18(b)描述具有降低的誤差的用于處理變換編碼數(shù)據(jù)的系統(tǒng)。圖18(b)示出將整數(shù)變換編碼數(shù)據(jù)‘B’215輸入逆量化器225并將輸出通過一個逆變換器125生成高精度實域數(shù)據(jù)1115,如圖17(b)所述。使用處理高精度數(shù)據(jù)1145作為正向變換器1315的輸入,它接受實際值數(shù)據(jù)作為輸入。正向變換器1315輸出給量化器1325。根據(jù)所希望的系統(tǒng)實施,正向變換器1315可以使用不同于逆變換器125中的逆變換。例如逆變換器125可以使用逆DCT變換而正向變換器1315可以使用付立葉變換。如果正向變換器1315是逆變換器125的逆操作,則結(jié)果整數(shù)變換數(shù)據(jù)‘B2’1815與原始整數(shù)變換數(shù)據(jù)‘B’215相同,該原始數(shù)據(jù)是逆量化器225的輸入;在逆量化器所使用的量化值與在量化器1325的量化值相同;操作器1165什么也不做。注意在使用不同的正向變換時,正向變換器1315將產(chǎn)生不同的整數(shù)變換數(shù)據(jù)‘B1’。相同地,在逆量化器225和量化器1325中使用不同的量化值也產(chǎn)生不同的整數(shù)變換數(shù)據(jù)1815。該方法允許在變換和量化矩陣之間進(jìn)行轉(zhuǎn)換而不會出現(xiàn)在正向變換1315的輸入1745中因舍入及修剪所引起的誤差。
已經(jīng)描述了本發(fā)明,圖18(a)中的具體實施例用于說明在圖8(c)中的舍入誤差如何不會出現(xiàn)在正向DCT的實際輸入中。在矩陣824中給出了高精度數(shù)字的矩陣。舍入后轉(zhuǎn)換的數(shù)據(jù)在矩陣826中給出。選擇步驟1730為每個矩陣位置選擇高精度值128.5,因為129轉(zhuǎn)換值是128.5的四舍五入版本。由于在高精度數(shù)字中沒有四舍五入誤差,因此具有正規(guī)化常量JPEG協(xié)議的正向DCT精確地返回矩陣822中的原始值。如果高精度數(shù)字與轉(zhuǎn)換數(shù)據(jù)不同而在正向DCT之前將差分加到數(shù)據(jù)上則得到相同的結(jié)果。
圖18(a)所例示的方法用于說明在圖8(d)中的修剪誤差如何不會出現(xiàn)在正向DCT的實際輸入中。在矩陣824中給出了高精度數(shù)字的矩陣。舍去后轉(zhuǎn)換的數(shù)據(jù)在矩陣836中給出。選擇步驟1730為每個矩陣位置選擇高精度值128.875,因為128轉(zhuǎn)換值是128.875的舍去版本。由于在高精度數(shù)字中沒有舍去誤差,因此具有正規(guī)化常量JPEG協(xié)議的正向DCT精確地返回矩陣832中的原始值。如果高精度數(shù)字與轉(zhuǎn)換數(shù)據(jù)不同而在正向DCT之前將差分加到數(shù)據(jù)上則得到相同的結(jié)果。
圖18(a)所例示的方法用于說明在圖8(f)和圖8(g)中的修剪(clip)誤差如何不會出現(xiàn)在正向DCT的實際輸入中。在矩陣882中給出了未修剪值的矩陣。修剪后轉(zhuǎn)換的數(shù)據(jù)在矩陣886中給出。選擇步驟1730選擇未修剪值,因為未修剪轉(zhuǎn)換值位于范圍(0)的極值處。由于正向DCT的輸入中沒有修剪誤差,因此具有正規(guī)化常量JPEG協(xié)議的正向DCT精確地返回矩陣878中的原始值。如果高精度數(shù)字與轉(zhuǎn)換數(shù)據(jù)不同而在正向DCT之前將差分加到數(shù)據(jù)上則得到相同的結(jié)果。
在本發(fā)明的一個替換實施例中,提供一種通過多個步驟對變換編碼數(shù)據(jù)執(zhí)行實域操作并具有降低的誤差的方法,這些步驟包括將減法、操作和加法步驟與正向變換和量化步驟及逆量化和逆變換步驟交替執(zhí)行。反過來參考圖10,代替通過整數(shù)輸出執(zhí)行每個正向變換950,從圖17(a)的在高精度數(shù)字和處理轉(zhuǎn)換數(shù)據(jù)之間進(jìn)行選擇1730以形成處理高精度數(shù)字輸入到正向變換步驟消除了轉(zhuǎn)換為整數(shù)及修剪所產(chǎn)生的誤差。圖18(a)例示了這種多生成系統(tǒng)的一個循環(huán)。圖13(a)示出多生成方法的一個循環(huán)的另一個實施例。圖14(a)例示了包括操作高精度誤差的操作步驟的多生成方法的一個循環(huán)的另一個實施例。
在本發(fā)明的另一個替換實施例中,提供一種通過多個步驟對變換編碼數(shù)據(jù)執(zhí)行實域操作并具有降低的誤差的系統(tǒng)。用正向變換器和量化器及逆量化器及逆變換器替換減法器,操作器和加法器。圖13(b)示出一個多生成系統(tǒng)的一個循環(huán)。圖14(b)示出包括對高精度差分進(jìn)行操作的操作器的一個多生成系統(tǒng)的一個循環(huán)的另一個實施例。圖18(b)示出包括在處理的高精度數(shù)字和處理的轉(zhuǎn)換數(shù)據(jù)之間進(jìn)行選擇以形成處理的高精度輸入從而進(jìn)行正向變化的選擇器的多生成系統(tǒng)的一個循環(huán)的另一個實施例。
一般來說,每個操作可以執(zhí)數(shù)據(jù)執(zhí)行另一個操作。例如數(shù)字工作室編輯,第一個操作可以對圖像進(jìn)行色彩校正,第二操作可以使用彩色圖像組合法將已經(jīng)進(jìn)行了色彩校正了的圖像與背景進(jìn)行組合。第三操作可以為圖像增加高亮顯示。第四操作可以將圖像進(jìn)行裁剪將其從電影的寬高比16∶9轉(zhuǎn)換為電視的寬高比4∶3。如果大于圖像,第一操作可以將圖像旋轉(zhuǎn)90度以使圖像面向打印方向。第二操作可以將幾個獨立的圖像合并為一個組合圖像。第三操作可以進(jìn)行彩色轉(zhuǎn)換。對于編碼圖像數(shù)據(jù),輸出設(shè)備可以是一個顯示器或電視。對于編碼聲頻數(shù)據(jù)輸出設(shè)備可以是一個播放器和/或記錄器。
在生成之間進(jìn)行操作的例子包括將兩個或多個變換編碼數(shù)據(jù)組進(jìn)行組合。對于變換編碼圖像數(shù)據(jù)組,由于多個小的圖像需要集成為一個大點的圖像,因此需要組合操作。折疊式的廣告小冊子一般由多個單獨的圖片組成。當(dāng)今的高端激光打印機(jī)一次打印兩頁以上。這些情況下,圖像通常不疊加,但不進(jìn)行相同的量化,相對于8*8塊結(jié)果的參照網(wǎng)格進(jìn)行定位,以進(jìn)行JPEG DCT,或定向。通過在實域中將最終圖像進(jìn)行組合,可以對每個子圖像進(jìn)行標(biāo)準(zhǔn)化處理。接著可以將組合圖像進(jìn)行再壓縮以供進(jìn)行飛擊式打印時進(jìn)行最終的解壓縮。
相似的,數(shù)字編輯可以包括許多要求串行地執(zhí)行幾個獨立操作的特殊效果。數(shù)字電影通常使用談入/談出的特技效果以在兩個關(guān)鍵場景之間進(jìn)行過渡。這種特技可以跟在對每個場景進(jìn)行獨立處理之后。這樣,在編輯時通常需要產(chǎn)生多次解壓縮和再壓縮以產(chǎn)生特技的組合。
彩色圖像組合涉及兩個獨立的視頻數(shù)據(jù)流。在一個視頻流中可以抓取背景。在另一個視頻流中,通常組成涉及運動角色的動作的前景是相對于例如深藍(lán)或黑色背景等純色背景拍攝而成的。接著,用背景視頻象素替換前景圖像的空白像素。由于像素是在單像素級上進(jìn)行混合的,因此需要在實域中對圖像進(jìn)行組合。對于這種數(shù)字工作室應(yīng)用,由轉(zhuǎn)換為整數(shù)及進(jìn)行修剪所引入的誤差是最不希望的。通過實施本發(fā)明可以減少或消除這些誤差。
本發(fā)明另一個應(yīng)用例子是應(yīng)用在使用有時超過100M像素的數(shù)字圖像的高端數(shù)字圖像示出。平滑的廣告小冊子及大的圖片交易展臺背景幕是使用這種高質(zhì)量數(shù)字圖像的兩個例子。高質(zhì)量的有損JPEG壓縮有時用于使傳輸和存儲成本降低。當(dāng)這種圖像進(jìn)行解壓縮和再壓縮以進(jìn)行改變和變更時,例如增加高亮顯示,校正顏色,增加或改變文本及圖像裁剪時,其間所不希望的誤差通過本發(fā)明的使用可以解決。
上述本發(fā)明的概念的例子用于圖像和視頻變換數(shù)據(jù)。因特網(wǎng)的廣泛使用展示了JPEG和MPEG壓縮圖像數(shù)據(jù)的價值。當(dāng)要打印JPEG圖像時,可能需要改變變量或改變定位等的操作。另外變換到另一個顏色空間然后再壓縮將使得要存儲圖像的準(zhǔn)備打印版本。本發(fā)明的使用克服了在進(jìn)行四舍五入和修剪時所傳播的誤差。
聲頻編碼數(shù)據(jù)也需要以減少的誤差進(jìn)行解壓縮,與特殊的聲音效果進(jìn)行混合,與其他聲頻數(shù)據(jù)進(jìn)行組合,在實域中進(jìn)行編輯和處理。對于其他的工業(yè)、商業(yè)和軍事應(yīng)用,如果他們要對存儲在實域中并標(biāo)識一種現(xiàn)象的數(shù)據(jù)進(jìn)行變換和逆變換數(shù)字處理,也執(zhí)行相似的處理。因此在應(yīng)用于其他有代表性的應(yīng)用中時本發(fā)明也能發(fā)揮很大的效果。
另外,本發(fā)明可以作為一個裝置或計算機(jī)產(chǎn)品。例如,可以作為一個制造產(chǎn)品,它包括計算機(jī)可以使用的介質(zhì),該介質(zhì)具有嵌入其中的計算機(jī)可讀程序代碼裝置以是計算機(jī)執(zhí)行本發(fā)明的方法。
注意雖然參照具體的步驟描述了本發(fā)明,本發(fā)明的目的和概念適用于其他布局。對于本領(lǐng)域技術(shù)人員來說,在不偏離本發(fā)明思想和范圍的條件下可以對所公開的實施例進(jìn)行其他修改。
權(quán)利要求
1 用于數(shù)字地處理表示一種現(xiàn)象的變換數(shù)據(jù)的方法,該方法包括將所述變換數(shù)據(jù)進(jìn)行逆變換到實域以形成初始高精度數(shù)字;將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi)以形成初始轉(zhuǎn)換數(shù)據(jù);從所述初始高精度數(shù)字減去所述轉(zhuǎn)換數(shù)據(jù)以形成高精度差分;操作所述初始轉(zhuǎn)換數(shù)據(jù)以產(chǎn)生一個效果并形成處理的轉(zhuǎn)換數(shù)據(jù);及將所述高精度差分加到所述處理的轉(zhuǎn)換數(shù)據(jù)上以形成處理的高精度數(shù)字。
2 根據(jù)權(quán)利要求1所述的方法,其中所述加法步驟包括智能地進(jìn)行相加。
3 根據(jù)權(quán)利要求1所述的方法,其中所述加法步驟包括只有當(dāng)所述處理的轉(zhuǎn)換數(shù)據(jù)處于所允許的范圍內(nèi)的極值處時才將大小大于1的所述高精度差分加到所述處理的轉(zhuǎn)換數(shù)據(jù)上。
4 根據(jù)權(quán)利要求1所述的方法,其中該現(xiàn)象是一個圖像。
5 根據(jù)權(quán)利要求4所述的方法,其中所述效果是兩個數(shù)據(jù)組的彩色圖像組合。
6 根據(jù)權(quán)利要求4所述的方法,其中所述效果是圖像數(shù)據(jù)的顏色校正。
7 根據(jù)權(quán)利要求4所述的方法,其中所述效果是圖像的90度旋轉(zhuǎn)。
8 根據(jù)權(quán)利要求1所述的方法,其中所述初始高精度數(shù)字是包括小數(shù)部分的固定精度數(shù)字。
9 根據(jù)權(quán)利要求1所述的方法,其中執(zhí)行逆變換的步驟包括使用逆離散余弦變換。
10 根據(jù)權(quán)利要求1所述的方法,其中進(jìn)一步包括對所述處理的高精度數(shù)字執(zhí)行正向變換以形成處理的變換數(shù)據(jù)。
11 根據(jù)權(quán)利要求10所述的方法,其中所述正向變換的逆操作不同于所述逆變換。
12 根據(jù)權(quán)利要求11所述的方法,其中所述正向變換是正向離散余弦變換,并且所述逆變換是逆離散子波變換。
13 根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括對變換編碼數(shù)據(jù)進(jìn)行逆量化以形成變換數(shù)據(jù)。
14 根據(jù)權(quán)利要求10所述的方法,進(jìn)一步包括對變換編碼數(shù)據(jù)進(jìn)行逆量化以形成變換數(shù)據(jù);對所述處理的變換數(shù)據(jù)進(jìn)行量化以形成處理的量化數(shù)據(jù)。
15 根據(jù)權(quán)利要求14所述的方法,進(jìn)一步包括熵譯碼編碼的數(shù)據(jù)以形成變換編碼數(shù)據(jù);及熵編碼處理的量化數(shù)據(jù)。
16 根據(jù)權(quán)利要求15所述的方法,其中所述編碼數(shù)據(jù)是編碼音頻數(shù)據(jù)。
17 根據(jù)權(quán)利要求15所述的方法,其中所述編碼數(shù)據(jù)是編碼圖像數(shù)據(jù)。
18 根據(jù)權(quán)利要求15所述的方法,其中所述編碼數(shù)據(jù)是編碼視頻數(shù)據(jù)。
19 根據(jù)權(quán)利要求17所述的方法,其中所述編碼圖像數(shù)據(jù)是JPEG靜態(tài)圖像國際標(biāo)準(zhǔn)格式。
20 根據(jù)權(quán)利要求18所述的方法,其中所述編碼視頻數(shù)據(jù)是MPEG動態(tài)圖像國際標(biāo)準(zhǔn)格式。
21 用于數(shù)字地處理表示一種現(xiàn)象的變換數(shù)據(jù)的方法,該方法包括將所述變換數(shù)據(jù)進(jìn)行逆變換到實域以形成初始高精度數(shù)字;將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi)以形成初始轉(zhuǎn)換數(shù)據(jù);從所述初始高精度數(shù)字減去所述初始轉(zhuǎn)換數(shù)據(jù)以形成高精度差分;操作所述初始轉(zhuǎn)換數(shù)據(jù)以產(chǎn)生一個第一效果以形成處理的轉(zhuǎn)換數(shù)據(jù);及操作所述高精度差分以產(chǎn)生一個第二效果以形成處理的高精度差分;將所述處理的高精度差分加到所述處理的轉(zhuǎn)換數(shù)據(jù)上以形成處理的高精度數(shù)字。
22 根據(jù)權(quán)利要求21所述的方法,其中所述加法步驟包括只有當(dāng)所述處理的轉(zhuǎn)換數(shù)據(jù)處于所允許的范圍內(nèi)的極值處時才將大小大于1的所述高精度差分加到所述處理的轉(zhuǎn)換數(shù)據(jù)上。
23 根據(jù)權(quán)利要求21所述的方法,其中所述第一效果是兩個數(shù)據(jù)組的彩色圖像組合。
24 根據(jù)權(quán)利要求23所述的方法,其中所述第二效果是根據(jù)兩個數(shù)據(jù)組的彩色圖像組合合并兩個高精度差分。
25 根據(jù)權(quán)利要求21所述的方法,其中所述第一效果是圖像數(shù)據(jù)的顏色校正。
26 根據(jù)權(quán)利要求21所述的方法,其中所述第一效果是圖像的90度旋轉(zhuǎn),所述第二效果是所述高精度差分的90度旋轉(zhuǎn)。
27 根據(jù)權(quán)利要求21所述的方法,其中所述高精度數(shù)字是浮點數(shù)字。
28 根據(jù)權(quán)利要求21所述的方法,其中執(zhí)行逆變換的步驟包括使用逆離散子波變換。
29 根據(jù)權(quán)利要求21所述的方法,其中進(jìn)一步包括對所述處理的高精度數(shù)字執(zhí)行正向變換以形成處理的變換數(shù)據(jù)。
30 根據(jù)權(quán)利要求29所述的方法,其中所述正向變換的逆操作不同于所述逆變換。
31 根據(jù)權(quán)利要求30所述的方法,其中所述正向變換是正向離散余弦變換,并且所述逆變換是逆離散子波變換。
32 根據(jù)權(quán)利要求21所述的方法,進(jìn)一步包括對變換編碼數(shù)據(jù)進(jìn)行逆量化以形成變換數(shù)據(jù)。
33 根據(jù)權(quán)利要求29所述的方法,進(jìn)一步包括對變換編碼數(shù)據(jù)進(jìn)行逆量化以形成變換數(shù)據(jù);對所述處理的變換數(shù)據(jù)進(jìn)行量化以形成處理的量化數(shù)據(jù)。
34 根據(jù)權(quán)利要求33所述的方法,進(jìn)一步包括熵譯碼編碼的數(shù)據(jù)以形成變換編碼數(shù)據(jù);及熵編碼處理的量化數(shù)據(jù)。
35 根據(jù)權(quán)利要求34所述的方法,其中所述編碼數(shù)據(jù)是編碼視頻數(shù)據(jù)。
36 根據(jù)權(quán)利要求34所述的方法,其中所述編碼圖像數(shù)據(jù)是JPEG靜態(tài)圖像國際標(biāo)準(zhǔn)格式。
37 根據(jù)權(quán)利要求35所述的方法,其中所述編碼視頻數(shù)據(jù)是MPEG動態(tài)圖像國際標(biāo)準(zhǔn)格式。
38 用于數(shù)字地處理表示一種現(xiàn)象的變換數(shù)據(jù)的方法,該方法包括將所述變換數(shù)據(jù)進(jìn)行逆變換到實域以形成初始高精度數(shù)字;將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi)以形成初始轉(zhuǎn)換數(shù)據(jù);操作所述初始轉(zhuǎn)換數(shù)據(jù)以產(chǎn)生一個效果并形成處理的轉(zhuǎn)換數(shù)據(jù);及在所述高精度數(shù)字和所述處理的轉(zhuǎn)換數(shù)據(jù)之間進(jìn)行選擇,以形成處理的高精度數(shù)字。
39 根據(jù)權(quán)利要求38所述的方法,其中所述選擇步驟包括,如果處理的轉(zhuǎn)換數(shù)據(jù)不同于由所述高精度數(shù)字形成的轉(zhuǎn)換數(shù)據(jù),則選擇所述處理的轉(zhuǎn)換數(shù)據(jù)。
40 根據(jù)權(quán)利要求38所述的方法,其中該現(xiàn)象是一個圖像。
41 根據(jù)權(quán)利要求38所述的方法,其中所述初始高精度數(shù)字是浮點數(shù)字。
42 根據(jù)權(quán)利要求38所述的方法,其中執(zhí)行逆變換的步驟包括使用逆離散付立葉變換。
43 根據(jù)權(quán)利要求38所述的方法,其中進(jìn)一步包括對所述處理的高精度數(shù)字執(zhí)行正向變換以形成處理的變換數(shù)據(jù)。
44 根據(jù)權(quán)利要求43所述的方法,進(jìn)一步包括對變換編碼數(shù)據(jù)進(jìn)行逆量化以形成變換數(shù)據(jù)。
45 根據(jù)權(quán)利要求44所述的方法,進(jìn)一步包括對所述處理的變換數(shù)據(jù)進(jìn)行量化以形成處理的量化數(shù)據(jù)。
46 根據(jù)權(quán)利要求45所述的方法,進(jìn)一步包括熵譯碼編碼的數(shù)據(jù)以形成變換編碼數(shù)據(jù);及熵編碼處理的量化數(shù)據(jù)。
47 根據(jù)權(quán)利要求46所述的方法,其中該現(xiàn)象是用JPEG標(biāo)準(zhǔn)格式編碼的圖像數(shù)據(jù)以形成編碼數(shù)據(jù)。
48 根據(jù)權(quán)利要求46所述的方法,其中所述編碼數(shù)據(jù)是編碼音頻數(shù)據(jù)。
49 根據(jù)權(quán)利要求46所述的方法,其中所述編碼數(shù)據(jù)是編碼圖像數(shù)據(jù)。
50 根據(jù)權(quán)利要求46所述的方法,其中所述編碼數(shù)據(jù)是編碼視頻數(shù)據(jù)。
51 根據(jù)權(quán)利要求50所述的方法,其中所述編碼視頻數(shù)據(jù)是MPEG動態(tài)圖像國際標(biāo)準(zhǔn)格式。
52 根據(jù)權(quán)利要求38所述的方法,其中執(zhí)行逆變換的步驟使用逆離散余弦變換。
53 根據(jù)權(quán)利要求34所述的方法,進(jìn)一步包括操作步驟與正向變換,執(zhí)行量化,熵編碼,熵譯碼,執(zhí)行逆量化,及逆變換交替執(zhí)行所希望的次數(shù)。
54 根據(jù)權(quán)利要求53所述的方法,其中所述編碼數(shù)據(jù)是壓縮數(shù)據(jù),執(zhí)行正向變換,執(zhí)行量化,熵編碼,熵譯碼,執(zhí)行逆量化,及執(zhí)行逆變換的步驟實現(xiàn)一個壓縮/解壓縮循環(huán)。
55 使用權(quán)利要求53中的方法的系統(tǒng),用于對編碼數(shù)據(jù)進(jìn)行再壓縮和解壓縮,以進(jìn)行編輯操作。
56 用于數(shù)字地處理表示一種現(xiàn)象的實域中的第一級變換編碼數(shù)據(jù)的系統(tǒng),該系統(tǒng)包括第一逆量化器,用于從所述變換編碼數(shù)據(jù)生成變換數(shù)據(jù);第一逆變換器,用于將所述變換數(shù)據(jù)進(jìn)行逆變換到實域以形成高精度數(shù)字;第一轉(zhuǎn)換器和修剪器,用于將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi)以形成轉(zhuǎn)換數(shù)據(jù);第一操作器,用于操作所述轉(zhuǎn)換數(shù)據(jù)以產(chǎn)生一個效果并形成處理的轉(zhuǎn)換數(shù)據(jù);及第一選擇器,用于在所述高精度數(shù)字和所述處理的轉(zhuǎn)換數(shù)據(jù)之間進(jìn)行選擇,形成處理的高精度數(shù)字;第一正向變換器,用于將所述處理的高精度數(shù)字進(jìn)行變換以形成正向變換數(shù)據(jù);及第一量化器,用于將所述正向變換數(shù)據(jù)進(jìn)行量化以形成量化數(shù)據(jù)。
57 根據(jù)權(quán)利要求56所述的系統(tǒng),其中正向變換器使用不同于由逆變換器所使用的第一變換類型的一種不同的變換類型。
58 根據(jù)權(quán)利要求56所述的系統(tǒng),其中所述正向變換器產(chǎn)生正向離散余弦變換,并且所述逆變換器產(chǎn)生逆離散子波變換。
59 根據(jù)權(quán)利要求56所述的系統(tǒng),其中所述逆量化器和所述量化器使用相同的量化值。
60 根據(jù)權(quán)利要求56所述的系統(tǒng),其中所述逆量化器和所述量化器使用至少一個不相同的量化值。
61 根據(jù)權(quán)利要求56所述的系統(tǒng),進(jìn)一步包括第一熵譯碼器,用于形成變換編碼數(shù)據(jù);及第一熵編碼器,用于編碼量化的數(shù)據(jù)。
62 用于數(shù)字地處理表示一種現(xiàn)象的變換數(shù)據(jù)的系統(tǒng),該系統(tǒng)包括逆變換器,用于使用高精度數(shù)字將所述變換數(shù)據(jù)進(jìn)行逆變換到實域;轉(zhuǎn)換器,用于將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù),及修剪器,用于將整數(shù)修剪到允許的范圍內(nèi);減法器,用于從所述初始高精度數(shù)字減去所述轉(zhuǎn)換數(shù)據(jù)以形成高精度差分;操作器,用于操作所述轉(zhuǎn)換數(shù)據(jù)以產(chǎn)生一個效果形成處理的轉(zhuǎn)換數(shù)據(jù);及加法器,用于將所述高精度差分加到所述處理的轉(zhuǎn)換數(shù)據(jù)上以形成處理的高精度數(shù)字。
63 根據(jù)權(quán)利要求62所述的系統(tǒng),進(jìn)一步包括一個正向變換器,用于將所述處理的高精度數(shù)字進(jìn)行變換以形成正向變換數(shù)據(jù)。
64 根據(jù)權(quán)利要求63所述的系統(tǒng),進(jìn)一步包括一個逆量化器,用于對所述變換編碼數(shù)據(jù)進(jìn)行逆量化以形成變換數(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ù);及無損熵編碼器,用于編碼量化的數(shù)據(jù)。
67 根據(jù)權(quán)利要求56所述的系統(tǒng),其中量化的數(shù)據(jù)形成另一級變換編碼數(shù)據(jù)并進(jìn)一步包括另一個逆量化器,另一個逆變換器,另一個轉(zhuǎn)換器和修剪器,另一個操作器,另一個選擇器,另一個正向變換器,及另一個量化器,象對于第一級變換編碼數(shù)據(jù)所執(zhí)行的操作一樣對于另一級變換編碼數(shù)據(jù)執(zhí)行相似的操作。
68 根據(jù)權(quán)利要求67所述的系統(tǒng),其中由第一操作器所產(chǎn)生的效果不同于由所述另一個操作器所產(chǎn)生的效果。
69 根據(jù)權(quán)利要求67所述的系統(tǒng),其中由相同的模塊執(zhí)行第一逆量化器,第一逆變換器,第一轉(zhuǎn)換器和修剪器,第一操作器,第一選擇器,第一正向變換器,第一量化器的功能,及另一個逆量化器,另一個逆變換器,另一個轉(zhuǎn)換器和修剪器,所述另一個選擇器,另一個正向變換器,及另一個量化器的各個功能。
70 根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括提供所述轉(zhuǎn)換數(shù)據(jù)以供一個輸出設(shè)備使用。
71 根據(jù)權(quán)利要求70所述的方法,其中輸出設(shè)備是一個顯示監(jiān)視器。
72 根據(jù)權(quán)利要求70所述的方法,其中輸出設(shè)備是一個光柵顯示監(jiān)視器。
73 根據(jù)權(quán)利要求1所述的方法,其中變換數(shù)據(jù)包括頻譜分析信息。
74 一種制造產(chǎn)品,包括計算機(jī)可以使用的介質(zhì),該介質(zhì)具有嵌入其中的計算機(jī)可讀程序代碼裝置,用于數(shù)字地處理表示一種現(xiàn)象的變換數(shù)據(jù),所述制造產(chǎn)品中的計算機(jī)可讀程序代碼包括計算機(jī)可讀程序代碼裝置,用于使計算機(jī)產(chǎn)生如下效果將所述變換數(shù)據(jù)進(jìn)行逆變換到實域以形成初始高精度數(shù)字;將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi)以形成初始轉(zhuǎn)換數(shù)據(jù);從所述初始高精度數(shù)字減去所述轉(zhuǎn)換數(shù)據(jù)以形成高精度差分;操作所述初始轉(zhuǎn)換數(shù)據(jù)以產(chǎn)生一個效果并形成處理的轉(zhuǎn)換數(shù)據(jù);及將所述高精度差分加到所述處理的轉(zhuǎn)換數(shù)據(jù)上以形成處理的高精度數(shù)字。
75 根據(jù)權(quán)利要求74所述的制造產(chǎn)品,其中該現(xiàn)象是一個圖像。
76 根據(jù)權(quán)利要求74所述的計算機(jī)程序產(chǎn)品,其中所述計算機(jī)程序產(chǎn)品中的計算機(jī)可讀程序代碼進(jìn)一步包括計算機(jī)可讀程序代碼裝置,用于使計算機(jī)產(chǎn)生如下效果即對所述處理的高精度數(shù)字執(zhí)行正向變換。
77 根據(jù)權(quán)利要求76所述的計算機(jī)程序產(chǎn)品,其中所述正向變換的逆操作不同于所述逆變換。
78 根據(jù)權(quán)利要求76所述的計算機(jī)程序產(chǎn)品,其中所述正向變換是正向離散余弦變換,并且所述逆變換是逆離散子波變換。
79 一種機(jī)器可以讀取的程序存儲設(shè)備,有形地包括機(jī)器可以執(zhí)行的指令程序,以執(zhí)行數(shù)字地處理表示一種現(xiàn)象的變換數(shù)據(jù)的方法步驟,所述方法步驟包括將所述變換編碼數(shù)據(jù)進(jìn)行逆量化以形成變換數(shù)據(jù);將所述變換數(shù)據(jù)進(jìn)行逆變換到實域以形成初始高精度數(shù)字;將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi)以形成初始轉(zhuǎn)換數(shù)據(jù);從所述初始高精度數(shù)字減去所述初始高精度數(shù)字以形成高精度差分;操作所述初始轉(zhuǎn)換數(shù)據(jù)以產(chǎn)生一個效果并形成處理的轉(zhuǎn)換數(shù)據(jù);及將所述高精度差分加到所述處理的轉(zhuǎn)換數(shù)據(jù)上以形成處理的高精度數(shù)字。
80 根據(jù)權(quán)利要求79所述的程序存儲設(shè)備,所述方法步驟包括對所述處理的高精度數(shù)字執(zhí)行正向變換以形成正向變換數(shù)據(jù);對所述正向變換數(shù)據(jù)進(jìn)行量化以形成量化數(shù)據(jù)。
81 根據(jù)權(quán)利要求80所述的機(jī)器可以讀取的程序存儲設(shè)備,所述方法步驟進(jìn)一步包括使用熵譯碼對編碼數(shù)據(jù)進(jìn)行譯碼以形成變換編碼數(shù)據(jù);及使用熵編碼對量化數(shù)據(jù)進(jìn)行編碼以形成編碼數(shù)據(jù)。
82 根據(jù)權(quán)利要求81所述的機(jī)器可以讀取的程序存儲設(shè)備,所述方法步驟進(jìn)一步包括將所述減法,操作和增加步驟與執(zhí)行正向變換,執(zhí)行量化,熵編碼,熵譯碼,執(zhí)行逆量化,及執(zhí)行逆變換的步驟交替執(zhí)行,并執(zhí)行所希望的次數(shù)。
83 根據(jù)權(quán)利要求82所述的機(jī)器可以讀取的程序存儲設(shè)備,其中所述編碼數(shù)據(jù)是壓縮數(shù)據(jù),執(zhí)行正向變換,執(zhí)行量化,熵編碼,熵譯碼,執(zhí)行逆量化,及執(zhí)行逆變換的步驟實現(xiàn)一個壓縮/解壓縮循環(huán)。
84 根據(jù)權(quán)利要求81所述的機(jī)器可以讀取的程序存儲設(shè)備,其中該現(xiàn)象是用JPEG標(biāo)準(zhǔn)格式所編碼的圖像數(shù)據(jù)。
全文摘要
本發(fā)明提供了一種用于降低處理變換編碼數(shù)據(jù)的誤差的方法,系統(tǒng)和設(shè)備。其中將所述變換數(shù)據(jù)進(jìn)行逆變換到實域以形成初始高精度數(shù)字,將所述初始高精度數(shù)字轉(zhuǎn)換為整數(shù)并將整數(shù)修剪到允許的范圍內(nèi)以形成初始轉(zhuǎn)換數(shù)據(jù),從所述初始高精度數(shù)字減去所述轉(zhuǎn)換數(shù)據(jù)以形成高精度差分,操作所述初始轉(zhuǎn)換數(shù)據(jù)以產(chǎn)生一個效果并形成處理的轉(zhuǎn)換數(shù)據(jù),及將所述高精度差分加到所述處理的轉(zhuǎn)換數(shù)據(jù)上以形成處理的高精度數(shù)字。
文檔編號G06T9/00GK1253337SQ9912342
公開日2000年5月17日 申請日期1999年11月3日 優(yōu)先權(quán)日1998年11月4日
發(fā)明者馬丁·詹姆斯·布萊特, 瓊·拉沃恩·米切爾 申請人:國際商業(yè)機(jī)器公司