亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

壓縮及解壓縮查找表的方法及其相關(guān)裝置的制作方法

文檔序號:2549678閱讀:218來源:國知局

專利名稱::壓縮及解壓縮查找表的方法及其相關(guān)裝置的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及數(shù)據(jù)壓縮與解壓縮的方法及其硬件,特別是涉及一種通過計算查找表(look-uptable)中每一輸出值之間的差值并且記錄所述差值與相關(guān)的指令來做為壓縮后查找表以有效降低查找表的數(shù)據(jù)量的方法與其相關(guān)裝置。
背景技術(shù)
:現(xiàn)有的顯示設(shè)備中,輸入訊號和輸出訊號間呈現(xiàn)一非線性的指數(shù)關(guān)系,如下式所示V:=W其對應(yīng)的函數(shù)為圖1的曲線A(于現(xiàn)有的陰極射線管屏幕中,Y=2.2),為了因應(yīng)顯示器這種非線性關(guān)系的輸出特性,因此會先對畫面進(jìn)行處理,讓畫面最終與輸入顯示設(shè)備的輸入訊號間呈現(xiàn)幾乎完美的線性關(guān)系。因此考慮上述的輸出訊號與輸入訊號間的非線性關(guān)系,通常會將輸入至顯示設(shè)備的影像先作一個反函數(shù)的處理,亦即伽瑪校正(gammacorrection),而這個處理可在畫面產(chǎn)生的時候立刻進(jìn)行,也就是在照相機或攝影機等影像擷取設(shè)備中進(jìn)行所謂的伽瑪編碼(gammaencoding)。因此,在影像擷取裝置中,首先通過感測裝置,將感測到的光線信息及色彩信息(流明值或RGB值)進(jìn)行伽瑪編碼(于對應(yīng)于現(xiàn)有的陰極射線管屏幕的伽瑪編碼Y=1/2.2),其輸出訊號與輸入訊號的關(guān)系如圖1的曲線B所示。經(jīng)過這樣的輸出,再經(jīng)過顯示器的非線性自發(fā)性解碼,以線性關(guān)系來顯示原本所擷取的畫面或影像。然而,在進(jìn)行伽瑪編碼時,輸出訊號的運算在電路實現(xiàn)上有常見的三種選擇(l)硬件運算電路、(2)分段線性內(nèi)插以及(3)利用查找表(look-uptable)。第1種方式需要較復(fù)雜的電路設(shè)計,但使用上較不彈性,因為若于裝置中要以不同伽瑪值來進(jìn)行伽瑪編碼,將會增加電路的復(fù)雜度。第2種方式所采用的分段線性內(nèi)插運算則是將函數(shù)中一部分的取樣值儲存于存儲器內(nèi),其他未記錄的部份則用線性內(nèi)插來計算,如此一來,不需要太復(fù)雜的硬件運算電路即可實現(xiàn),但精確度有限,若要達(dá)到較高的精確度時,又必須作多次的運算或者是記錄更多的取樣值,較為耗時或耗費硬件。對于第3種方式而言,查找表不需通過硬件運算電路來做真實的運算,僅需將對應(yīng)于每一輸入值的輸出值存入一存儲單元中,等到欲進(jìn)行伽瑪編碼時,再依據(jù)每一輸入值于存儲單元中讀取所對應(yīng)的輸出值,由于存儲單元的存取速度與成本相比有較佳的經(jīng)濟(jì)效應(yīng),故利用查找表來做進(jìn)行伽瑪編碼是一常見的方式,但其仍需耗費存儲器成本,且每一組伽瑪查找表僅對應(yīng)一特定伽瑪值,若要具備能以多個伽瑪值來進(jìn)行伽瑪編碼的能力時,須于存儲單元中儲存多組伽瑪查找表,造成必須的存儲器容量的大幅增加。
發(fā)明內(nèi)容因此,為解決使用伽瑪查找表來進(jìn)行伽瑪編碼時會遇到的問題,本發(fā)明便提供一種壓縮與解壓縮伽瑪查找表的方法及其裝置,茲說明如下。由于使用查找表的方式來進(jìn)行伽瑪編碼的裝置(如攝影機)中可能須儲存好幾組對應(yīng)不同伽瑪值(gammavalue)的伽瑪查找表,而當(dāng)該裝置在使用伽瑪查找表時同一時間僅需要一組(對應(yīng)同一伽瑪值)伽瑪查找表,故可將所有的伽瑪查找表于存入該裝置前事先經(jīng)壓縮過后再存入該裝置中的存儲單元,并另外設(shè)計一解碼模塊與一儲存模塊。當(dāng)進(jìn)行伽瑪編碼前,將伽瑪編碼操作中欲使用的伽瑪值所對應(yīng)的查找表由事先存入的存儲單元中取出,此時為壓縮狀態(tài)的伽瑪查找表,經(jīng)過該解碼模塊解壓縮該壓縮后伽瑪查找表并將其存入該儲存模塊,使得該儲存模塊中存有的伽瑪查找表為未經(jīng)壓縮的狀態(tài),因而便可供該裝置進(jìn)行伽瑪編碼用。當(dāng)該裝置欲使用另一個伽瑪值來進(jìn)行伽瑪編碼時,則將該儲存模塊中的數(shù)據(jù)忽略,且自存儲單元中取出該伽瑪值所對應(yīng)的壓縮后伽瑪查找表,再通過解碼模塊處理后存入該儲存模塊中,此時該裝置即可依這個新的伽瑪值來進(jìn)行伽瑪編碼。依據(jù)上述的理念,本發(fā)明首先通過一壓縮方法及相關(guān)裝置將多個查找表壓縮,然后存入用以進(jìn)行伽瑪編碼的裝置中的一存儲單元中(通常為非易失性存儲器),此外,于該裝置中另設(shè)置一解壓縮裝置,該解壓縮裝置中包含有一儲存模塊(用以儲存當(dāng)下欲使用的伽瑪值所對應(yīng)的查找表),依據(jù)使用的需求,并通過該解壓縮裝置與相關(guān)方法將對應(yīng)不同伽瑪值的查找表寫入該儲存模塊。再者,由于伽瑪查找表所對應(yīng)的指數(shù)函數(shù)關(guān)系通常為單調(diào)遞增函數(shù),因此本發(fā)明的主要想法即是通過取出查找表中每一原始輸出值間的差值并利用差值來取代原始輸出值做為壓縮查找表的內(nèi)容以有效降低數(shù)據(jù)量,再于解壓縮過程中依序把差值累加,以還原出原始的查找表。因此,依據(jù)本發(fā)明的實施例,提供一種壓縮查找表的壓縮方法,其中該查找表具有多個輸入值分別對應(yīng)于多個原始輸出值,且該壓縮方法包含有依序計算該查找表中每一輸入值所對應(yīng)的一原始輸出值與下一輸入值所對應(yīng)的一原始輸出值之間一輸出差值,以作為該下一輸入值所對應(yīng)的一輸出差值;依據(jù)表示每一輸出差值所需的最小位數(shù)來決定儲存每一輸出差值的一所需位數(shù);于具有不同所需位數(shù)的兩連續(xù)輸出差值之間插入一數(shù)據(jù)狀態(tài)指令;以及依據(jù)該查找表中該多個輸入值所分別對應(yīng)的多個輸出差值以及至少一數(shù)據(jù)狀態(tài)指令來進(jìn)行一預(yù)定編碼操作,以產(chǎn)生該壓縮后查找表。于較佳實施例中,該數(shù)據(jù)狀態(tài)指令包含有具有相同的所需位數(shù)的連續(xù)輸出差值個數(shù)與該所需位數(shù)的值;該數(shù)據(jù)狀態(tài)指令包含有該所需位數(shù)的值以及用以指示該數(shù)據(jù)狀態(tài)指令為最接近最后一個輸出差值的一數(shù)據(jù)狀態(tài)指令的一特殊數(shù)據(jù)型樣;于一特定數(shù)據(jù)狀態(tài)指令與該特定數(shù)據(jù)狀態(tài)指令的下一數(shù)據(jù)狀態(tài)指令之間,若輸出差值的個數(shù)小于一預(yù)定臨界值以及輸出差值的所需位數(shù)小于緊接該下一數(shù)據(jù)狀態(tài)指令之后一輸出差值的所需位數(shù)時,則刪除該特定數(shù)據(jù)狀態(tài)指令;于一特定數(shù)據(jù)狀態(tài)指令與該特定數(shù)據(jù)狀態(tài)指令的下一數(shù)據(jù)狀態(tài)指令之間,若輸出差值的個數(shù)大于一預(yù)定臨界值,則將至少一新增數(shù)據(jù)狀態(tài)指令插入于該特定數(shù)據(jù)狀態(tài)指令與該下一特定數(shù)據(jù)狀態(tài)指令間的兩特定輸出差值之間。依據(jù)上述的壓縮方法,本發(fā)明另一實施例還提供一種壓縮一查找表以產(chǎn)生一壓縮后查找表的壓縮裝置,該壓縮裝置包含有一差值計算器、一位計算器、一處理模塊以及一編碼模塊。該差值計算器用以依序計算該查找表中每一輸入值所對應(yīng)的一原始輸出值與下一輸入值所對應(yīng)的一原始輸出值之間一輸出差值,產(chǎn)生下一輸入值所對應(yīng)的一輸出差值。該位計算器耦接于該差值計算器,且依據(jù)表示每一輸出差值所需的最小位數(shù)來產(chǎn)生儲存每一輸出差值的一所需位數(shù)。該處理模塊耦接于該位計算器,于具有不同所需位數(shù)的兩連續(xù)輸出差值之間產(chǎn)生一數(shù)據(jù)狀態(tài)指令。該編碼模塊耦接于該處理模塊,且依據(jù)該差值計算器所產(chǎn)生的分別對應(yīng)該多個輸入值的多個輸出差值以及該處理模塊所產(chǎn)生的至少一數(shù)據(jù)狀態(tài)指令來進(jìn)行一預(yù)定編碼操作,產(chǎn)生該壓縮后查找表。于較佳實施例中,上述的位計算器還包含有一位排除單元。該位排除單元用以判斷該最小位數(shù)是否落于一特定數(shù)值范圍并且排除落于該特定數(shù)值范圍內(nèi)的該最小位數(shù)。其中,當(dāng)該最小位數(shù)落于該特定數(shù)值范圍時,該位排除器利用大于該最小位數(shù)的數(shù)值來產(chǎn)生該所需位數(shù)以及當(dāng)該最小位數(shù)未落于該特定數(shù)值范圍時,該位排除器使用該最小位數(shù)來產(chǎn)生該所需位數(shù)。此外,本發(fā)明還提供解壓縮一壓縮后查找表的解壓縮裝置及其相關(guān)方法,以還原通過前述的壓縮方法與相關(guān)裝置所壓縮的查找表。依據(jù)本發(fā)明的另一實施例,提供一種解壓縮一壓縮后的查找表的解壓縮裝置,該壓縮后查找表具有多個編碼后輸出差值以及至少一編碼后數(shù)據(jù)狀態(tài)指令。該解壓縮裝置包含有一解碼模塊,用來依據(jù)該多個編碼后輸出差值以及該至少一編碼后數(shù)據(jù)狀態(tài)指令執(zhí)行一預(yù)定解碼操作,以產(chǎn)生多個輸出差值;一累加模塊,耦接于該解碼模塊,用于逐一累加該多個輸出差值,并輸出每次的累加結(jié)果;一計數(shù)模塊,耦接于該累加模塊,用以于每當(dāng)該累加模塊產(chǎn)生一次累加結(jié)果時進(jìn)行一次計數(shù);以及一儲存模塊,耦接于該累加模塊與該計數(shù)模塊,用于自該計數(shù)模塊接收一計數(shù)結(jié)果,并根據(jù)該計數(shù)結(jié)果將該累加模塊每次的累加結(jié)果儲存于對應(yīng)該計數(shù)結(jié)果的一儲存地址。于較佳實施例中,該累加模塊包含有一算術(shù)邏輯單元以及一寄存器。該算術(shù)邏輯單元用以依序接收該多個輸出差值。該一寄存器耦接于該算術(shù)邏輯單元,用以寄存該算術(shù)邏輯單元的運算結(jié)果,其中該算術(shù)邏輯單元依序?qū)⑺邮盏脑摱鄠€輸出差值與該寄存器所寄存的值進(jìn)行加法運算。依據(jù)上述的解壓縮裝置,本發(fā)明另一實施例提供一種解壓縮一壓縮后查找表來產(chǎn)生一查找表的解壓縮方法,該壓縮后查找表具有多個編碼后輸出差值以及至少一編碼后數(shù)據(jù)狀態(tài)指令,該解壓縮方法包含有取得至少一編碼后數(shù)據(jù)狀態(tài)指令,并依據(jù)該至少一編碼后數(shù)據(jù)狀態(tài)指令進(jìn)行至少一預(yù)定解碼操作以產(chǎn)生至少一編碼后數(shù)據(jù)狀態(tài)指令的解碼結(jié)果;依據(jù)該至少一編碼后數(shù)據(jù)狀態(tài)指令的解碼結(jié)果,對多個編碼后輸出差值進(jìn)行多個預(yù)定解碼操作,以產(chǎn)生多個輸出差值;以及依序累加該多個輸出差值,以作為該查找表中的多個原始輸出值。通過本發(fā)明所揭示的技術(shù),清楚地提供壓縮/解壓縮一伽瑪查找表的方法與相關(guān)裝置。由于伽瑪校正所對應(yīng)的函數(shù)為單調(diào)遞增,因此差值的變化并不復(fù)雜,且記錄差值所占用的空間遠(yuǎn)小于每一原始輸出值所占用的8位空間(由于一般顯示系統(tǒng)采用8位的影像訊號),盡管需要額外增加解壓縮裝置,但多組查找表經(jīng)壓縮后所節(jié)省的存儲單元成本,將得到令人滿意的經(jīng)濟(jì)效益。圖1是現(xiàn)有的伽瑪校正的輸出訊號與輸入訊號之間所對應(yīng)的轉(zhuǎn)換特性示意圖。6圖2是經(jīng)本發(fā)明處理的一伽瑪查找表的部分內(nèi)容的示意圖。圖3是本發(fā)明壓縮方法的一實施例的流程圖。圖4是本發(fā)明壓縮裝置的一實施例的功能方塊圖。圖5是經(jīng)本發(fā)明處理的一伽瑪查找表的部分內(nèi)容的示意圖。圖6是本發(fā)明解壓縮裝置的一實施例的示意圖。圖7是應(yīng)用圖4所示的解壓縮裝置的運算電路的示意圖。圖8是本發(fā)明的解壓縮方法的一實施例的流程圖。附圖符號說明200查找表210、220、230、240、250、510、520、530、540行310400、610650步驟40壓縮裝置41差值計算器42位計算器43儲存模塊44處理模塊45編碼模塊48位排除單元49寄存器410解壓縮裝置412計數(shù)模塊422解碼模塊432儲存模塊442累加模塊7200查找表433、435輸入端口444算術(shù)邏輯單元446寄存器450、511、512、513、514壓縮后查找表500運算電路510非易失性存儲器520輸入單元530輸出單元具體實施例方式請參考圖2,查找表200擷取自一伽瑪查找表的輸入值0029(以16進(jìn)位制表示為001C)與其對應(yīng)的輸出值的部份,且包含將該部份依本發(fā)明的方法進(jìn)行處理的結(jié)果,并以16進(jìn)位制表示。行210代表輸入值001C的部份,行220記錄該伽瑪查找表中對應(yīng)于輸入值001C的多個原始輸出值。接著,依序計算行220中的每一原始輸出值與下一原始輸出值之間的一輸出差值,利用將上述兩值相減得到一輸出差值,并將每一輸出差值紀(jì)錄于行230中。請注意,行220中第一原始輸出值"OA"直接記錄于行230第一字段。于行240中,記錄了欲表示行230中每一字段的值所需的最小位數(shù),顯而易見地,若與行220每一字段需占用8位來相較,以所需的最小位數(shù)來表示的行230的數(shù)據(jù)將使得行230整體數(shù)據(jù)量遠(yuǎn)小于行220。因此,本發(fā)明的主要精神是欲以行230為主的數(shù)據(jù)型態(tài)來取代原始的數(shù)據(jù),簡而言之,僅利用伽瑪查找表中每兩個原始輸出值的輸出差值,來取代伽瑪查找表中原始輸出值。而還原的時候,僅需將輸出差值依序相加,僅可得到伽瑪查找表的原始輸出值。接著,請同時參考行230與行240,若以行230的數(shù)據(jù)型態(tài)來紀(jì)錄時,由于行230中每一輸出差值的數(shù)據(jù)長度不一,故必須用額外的方法來指出每個輸出差值的長度,如此一來,用以還原數(shù)據(jù)的解壓縮裝置才得以正確的識別于數(shù)據(jù)序列中的每一個輸出差值(如0110111101001111—Ol,lOll,llO,lOOl,ll,l),以將其正確的還原。因此,本發(fā)明利用一種數(shù)據(jù)狀態(tài)指令來指出每一輸出差值的數(shù)據(jù)長度。請參考行240,該行對應(yīng)于表示每一輸出差值所需的最小位數(shù),行240的第一字段(對應(yīng)于輸入值OO的輸出差值)所需的最小位數(shù)為4,第二字段(對應(yīng)于輸入值Ol的輸出差值)所需的最小位數(shù)為3,第三字段至第十六字段(對應(yīng)于輸入值02OF)所需的最小位數(shù)為2,因此于此情況下,本發(fā)明將會利用三個數(shù)據(jù)狀態(tài)指令來指出于輸入值00OF所對應(yīng)的輸出差值所成的數(shù)據(jù)序列中,每一數(shù)據(jù)輸出差值的長度。首先,第一個數(shù)據(jù)狀態(tài)指令指出有一個位數(shù)為4的輸出差值,第二個數(shù)據(jù)狀態(tài)指令指出有一個位數(shù)為3的輸出差值,第三個數(shù)據(jù)狀態(tài)指令則指出有連續(xù)十四個位數(shù)為2的輸出差值。第一個數(shù)據(jù)狀態(tài)指令將被放置于數(shù)據(jù)序列中代表行240的第一字段的輸出差值"OA"之前,而第二個數(shù)據(jù)狀態(tài)指令則被放置于第一字段與第二字段的輸出差值"OA"與"04"之間,以及第三個數(shù)據(jù)狀態(tài)指令將會放置于第二字段與第三字段的輸出差值"04"與"03"之間,如此一來,使得用以還原數(shù)據(jù)的解壓縮裝置電路得以正確地識別于數(shù)據(jù)序列中的每一個數(shù)據(jù)狀態(tài)指令。因此,本發(fā)明采用的數(shù)據(jù)狀態(tài)指令將會包含有兩種信息1.具有相同所需位數(shù)的連續(xù)輸出差值的個數(shù),以及2.所需位數(shù)。以上面的例子來說,第一個數(shù)據(jù)狀態(tài)指令中將會記錄有數(shù)值1與數(shù)值4,即代表于數(shù)據(jù)序列中,其后會接著1個4位長的輸出差值,第二個數(shù)據(jù)狀態(tài)指令中會記錄數(shù)值1與數(shù)值3,代表于數(shù)據(jù)序列中,其后會接著1個3位長的輸出差值,而第三個數(shù)據(jù)狀態(tài)指令中則紀(jì)錄著數(shù)值14與數(shù)值2,代表其后有14個同樣是2位長度的輸出差值。—般而言,伽碼查找表的原始輸出值長度為8位,故在每一原始輸出值的長度為8位的前提下,且考慮到輸出差值的長度變動的情形,本發(fā)明于一實施例中將數(shù)據(jù)狀態(tài)指令設(shè)計為67位的長度。請再參考圖2所示的行240,行240中對應(yīng)于輸入值1418的字段,顯示輸入值1418的所需位數(shù)分別為02、01、02、01、02,因此,若以上述的數(shù)據(jù)狀態(tài)指令的運用方式而言,對應(yīng)于輸入值1418的輸出差值間,需要插入四個數(shù)據(jù)狀態(tài)指令。然而,若以前述的數(shù)據(jù)狀態(tài)指令的長度而言,則造成額外增加2428位,然而原本對應(yīng)于輸入值1418的輸出差值總共僅需占用2+1+2+1+2=8位,于此種情況下,數(shù)據(jù)狀態(tài)指令的存在便顯得多余,故本發(fā)明對數(shù)據(jù)狀態(tài)指令的使用必需加入某些限制來避免上述現(xiàn)象的發(fā)生。因此,本發(fā)明將上述的僅需用l位來表示的輸出差值以2位來表示,故對應(yīng)于輸入值1418的輸出差值將全部以2位來表示,雖然多了兩個冗余位,但卻可節(jié)省數(shù)據(jù)狀態(tài)指令所額外占用的位。綜上所述,行250顯示了使用前述手段來修正每一輸出差值的所需位數(shù)的結(jié)果,因此對應(yīng)于輸入值01的輸出差值04,原本的所需位數(shù)為3位,但為了修正上述過多的數(shù)據(jù)狀態(tài)指令而導(dǎo)致額外增加過多位數(shù)的情形,輸入值Ol的輸出差值04將用4位來表示,行240修正的結(jié)果如行250所示。故本發(fā)明利用了數(shù)據(jù)狀態(tài)指令與輸出差值來記錄原本伽瑪查找表中的每一原始輸出值,以有效的將伽瑪查找表進(jìn)行壓縮而降低數(shù)據(jù)量。除了上述為了避免過多數(shù)據(jù)狀態(tài)指令的增加而修正了本發(fā)明中一部分的輸出差值的所需位數(shù),于本發(fā)明的一實施例中還存在一種須修正輸出差值的所需位數(shù)的情形。如前所述,數(shù)據(jù)狀態(tài)指令紀(jì)錄了輸出差值的所需位數(shù),為了使之后的數(shù)據(jù)還原動作可以更便捷,于是數(shù)據(jù)狀態(tài)指令會以較精簡的方式來進(jìn)行編碼,此是通過將數(shù)據(jù)狀態(tài)指令紀(jì)錄所需位數(shù)的格式精簡化,亦即,基本上所需位數(shù)可能包含有17位的各種情形,但事實上輸出差值的所需位數(shù)可能以某幾個位數(shù)出現(xiàn)的機會較為頻繁,因此,為了使解壓縮裝置操作速度更快,于本發(fā)明的一實施例中,數(shù)據(jù)狀態(tài)指令單元所記錄的所需位數(shù)僅包含1、2、3、4以及8位,故于此實施例中,數(shù)據(jù)狀態(tài)指令中的兩個字段,分別包含有一個3位長的字段,用以表示所需位數(shù)的信息,同時利用另外的4位長的字段來表示具有相同的所需位數(shù)的連續(xù)數(shù)據(jù)的個數(shù)。故在本實施例中,每一數(shù)據(jù)狀態(tài)指令的長度皆為7位。然而,于本發(fā)明的另一實施例中,數(shù)據(jù)狀態(tài)指令是采用一種可變長度編碼(variable-lengthcoding)的方法來記錄輸出差值的信息。依據(jù)這種可變長度編碼的精神,最常出現(xiàn)的數(shù)據(jù)將形成最簡短的編碼,例如,一般而言,伽瑪查找表通過本發(fā)明所計算出的輸出差值,最常出現(xiàn)的數(shù)據(jù)長度為1位,因此數(shù)據(jù)狀態(tài)指令中即以0來表示所需位數(shù)為1位的情形。因此,在本實施例中,數(shù)據(jù)狀態(tài)指令利用0來表示所需位數(shù)為1位的情形、利用01來表示所需位數(shù)為2位的情形、利用011來表示所需位數(shù)為3位的情形、利用0111來表示所需位數(shù)為4位的情形以及利用1111來表示所需位數(shù)為8位的情形,而關(guān)于表示具有相同的所需位數(shù)的連續(xù)數(shù)據(jù)的個數(shù)的相關(guān)訊息的編碼方式上,由于所需位數(shù)1與2是最常出現(xiàn)的情形,因此利用5位來表示最多達(dá)32個的相同所需位數(shù)為1或2的連續(xù)數(shù)據(jù),而所需位數(shù)為3、4以及8的情形時,僅利用3位來表示最多達(dá)8個的相同所需位數(shù),故在本實施例中,數(shù)據(jù)狀態(tài)指令的長度為6或7位。以上的編碼方式的原理及其優(yōu)劣應(yīng)為本領(lǐng)域的技術(shù)人員所熟知,故在此不多作贅述。然而,在此欲強調(diào)的是,本發(fā)明所采用的數(shù)據(jù)狀態(tài)指令可以使用可變長度的編碼模式,亦或固定長度的編碼模式,以上變化皆屬本發(fā)明的范疇。再者,仍須強調(diào)的一點是,除了數(shù)據(jù)狀態(tài)指令可以通過可變長度編碼,輸出差值亦可視實際上的需求來進(jìn)行可變長度編碼,其相關(guān)方式應(yīng)為本領(lǐng)域的技術(shù)人員所熟知,在此不多作贅述。由上述的實施例中可知,不論是以可變長度的編碼模式或固定長度的編碼模式,其數(shù)據(jù)狀態(tài)指令所能表示的相同所需位數(shù)的數(shù)據(jù)的最大個數(shù)有限。故本發(fā)明的方法除了包含上述于每一輸出差值間所需位數(shù)變動時插入一數(shù)據(jù)狀態(tài)指令、以較簡化的方式來表示所有可能的所需位數(shù)(如將所需位數(shù)5、6、7的情形視作所需位數(shù)為8)以及視情況刪除過多的數(shù)據(jù)狀態(tài)指令,本發(fā)明為解決數(shù)據(jù)狀態(tài)指令所能表示的相同所需位數(shù)的連續(xù)數(shù)據(jù)的最大個數(shù)有限的問題,于相同所需位數(shù)的連續(xù)數(shù)據(jù)個數(shù)超過數(shù)據(jù)狀態(tài)指令所支持的最大個數(shù)時,會再另行插入一數(shù)據(jù)狀態(tài)指令來表示超過的部分的數(shù)據(jù)狀態(tài),舉例來說,若一查找表經(jīng)前述的計算輸出差值的處理后,輸入值D7至FD(共對應(yīng)38個輸出差值)所對應(yīng)的輸出差值的所需位數(shù)皆為l位,然此時已超過數(shù)據(jù)狀態(tài)指令所能表示的最大個數(shù)(共32個輸出差值),故須于對應(yīng)于輸入值F8(第33個輸出差值)的輸出差值前再加入一數(shù)據(jù)狀態(tài)指令以指出之后的連續(xù)1位長的輸出差值的個數(shù)。然而,請參考圖l,觀察圖1的曲線B,可知曲線B所對應(yīng)的查找表可能于查找表的底部會有相當(dāng)多的輸出差值具有相同的所需位數(shù)(曲線B的右半部較平緩),為解決此問題,于本發(fā)明的另一實施例中,數(shù)據(jù)狀態(tài)指令包含有另一特殊數(shù)據(jù)型樣,該特殊數(shù)據(jù)型樣可指出若對應(yīng)于最后一個輸入值FF的輸出差值和之前的連續(xù)數(shù)個輸出差值皆具有相同的所需位數(shù)時的情形。舉例來說,若一查找表的輸入值C1至FF(共對應(yīng)63個輸出差值)所對應(yīng)的輸出差值皆為1位,則利用上述的特殊數(shù)據(jù)型樣,于對應(yīng)于輸入值C1的輸出差值前加入一數(shù)據(jù)狀態(tài)指令指出直至最后一個的輸出差值為止,所有的輸出差值皆為l位長,如此可省去原本所需插入的數(shù)個數(shù)據(jù)狀態(tài)指令。于本實施例中,該特殊數(shù)據(jù)型樣是將原本用以表示相同所需位的連續(xù)數(shù)據(jù)個數(shù)的5位字段以00000填入來紀(jì)錄上述的現(xiàn)象,于是,于本實施例中,該5位的字段僅可表示最多達(dá)31個(00000不能再用于表示輸出差值的個數(shù))具有相同所需位數(shù)的情形,且亦可表示直至最后一個輸出差值為止所需位數(shù)皆不再變動的情形。應(yīng)注意的是,這種數(shù)據(jù)狀態(tài)指令的特殊數(shù)據(jù)型樣并不限定于所需位數(shù)為1的情形,其它的所需位數(shù)亦可適用。以上述的內(nèi)容為基礎(chǔ),接著請參考圖3,其是依據(jù)本發(fā)明的一實施例的壓縮方法的流程示意圖。如圖3所示,步驟310開始壓縮的流程。于步驟320中,輸入一查找表,該查找表包含有多個輸入值與多個原始輸出值。接著,在步驟330中,依序計算該查找表中每一輸入值所對應(yīng)的一原始輸出值與下一輸入值所對應(yīng)的一原始輸出值之間一輸出差值(相當(dāng)于圖2中由行220得到行230的過程)。于步驟340,計算用以表示每一輸出差值所需的最小位數(shù),舉例來說,若輸出差值為04,則表示該輸出差值所需的最小位數(shù)為3。然而,為精簡之后解壓縮裝置的硬件電路及避免過長的數(shù)據(jù)狀態(tài)指令,故于本實施例中,步驟350會排除數(shù)據(jù)狀態(tài)指令所不支持的所需最小位數(shù)(如將最小位數(shù)5、6、7的情形視作所需位數(shù)為8),并于此步驟350中,將所支持的最小位數(shù)當(dāng)作每一輸出差值對應(yīng)的所需位數(shù)。參考于步驟350中每一輸出差值最終對應(yīng)的所需位數(shù),決定出必須插入數(shù)據(jù)狀態(tài)指令的位置位于哪一個輸出差值之前(于步驟360中)。應(yīng)當(dāng)注意的是,于步驟360中僅標(biāo)記每個數(shù)據(jù)狀態(tài)指令插入的位置,并未決定將數(shù)據(jù)狀態(tài)指令中每一字段的數(shù)值,是因后續(xù)的步驟可能還會對輸出差值的所需位數(shù)進(jìn)行進(jìn)一步的修改。于步驟370中,于一特定數(shù)據(jù)狀態(tài)指令與該特定數(shù)據(jù)狀態(tài)指令的下一數(shù)據(jù)狀態(tài)指令之間,若輸出差值的個數(shù)小于一預(yù)定臨界值以及輸出差值的所需位數(shù)小于緊接該下一數(shù)據(jù)狀態(tài)指令之后一輸出差值的所需位數(shù)時,或者是輸出差值的所需位數(shù)小于緊接該特定數(shù)據(jù)狀態(tài)指令的上一輸出差值的所需位數(shù)時,則視情況刪除該特定數(shù)據(jù)狀態(tài)指令或該下一數(shù)據(jù)狀態(tài)指令,此步驟是移除過多的數(shù)據(jù)狀態(tài)指令并且視數(shù)據(jù)狀態(tài)指令移除的情形來修改相關(guān)的輸出差值所對應(yīng)的所需位數(shù)。舉例來說,請參考圖2所示的查找表中輸入值0004的部分,其對應(yīng)的所需位數(shù)分別為4、3、2、2、2(亦即連續(xù)的輸出差值的所需位數(shù)為4、3、2、2、2),為避免過多的數(shù)據(jù)狀態(tài)指令于壓縮數(shù)據(jù)中占用過多位數(shù),將所需位數(shù)為3的情形修改為所需位數(shù)為4,移除了原本欲插入對應(yīng)輸入值00與輸入值01間的數(shù)據(jù)狀態(tài)指令。然而,于另一實施例中,所需位數(shù)則被修改成后一輸出差值所對應(yīng)的所需位數(shù)(如所需位數(shù)1、2、3、3、3被修改為所需位數(shù)1、3、3、3、3),因此,如何修改所需位數(shù)視前后的所需位數(shù)狀況來判斷。在此欲強調(diào)的是,步驟360與步驟370的順序亦可相互變換,如此并不影響最終的壓縮結(jié)果,亦屬本發(fā)明的范疇。于步驟380中,于一特定數(shù)據(jù)狀態(tài)指令與該特定數(shù)據(jù)狀態(tài)指令的下一數(shù)據(jù)狀態(tài)指令之間(嚴(yán)格來說是數(shù)據(jù)狀態(tài)指令欲插入的位置之間),若輸出差值的個數(shù)大于一預(yù)定臨界值,則將至少一新增數(shù)據(jù)狀態(tài)指令插入于該特定數(shù)據(jù)狀態(tài)指令與該下一特定數(shù)據(jù)狀態(tài)指令間的兩特定輸出差值之間,亦即檢查是否有對應(yīng)相同的所需位數(shù)的輸出差值的連續(xù)個數(shù)超過數(shù)據(jù)狀態(tài)指令所能支持的最大連續(xù)個數(shù)限制(鑒于數(shù)據(jù)狀態(tài)指令的長度限制),若有,則如前所述,于此步驟中另外新增數(shù)據(jù)狀態(tài)指令;若無,則進(jìn)入步驟390中。應(yīng)當(dāng)注意的是,于本發(fā)明的另一實施例中,步驟380還包含有另一動作,該動作是檢查直至最后一個的輸出差值所對應(yīng)的所需位數(shù)為止,于對應(yīng)于相同所需位數(shù)的連續(xù)輸出差值間是否存在必須插入數(shù)據(jù)狀態(tài)指令的記錄,舉例來說,假設(shè)最后兩個數(shù)據(jù)狀態(tài)指令之后緊接著的輸出差值個數(shù)分別為30與15,且兩數(shù)據(jù)狀態(tài)指令所指出的輸出差值的所需位數(shù)皆為1時,則可移除最后一個數(shù)據(jù)狀態(tài)指令,并將其前一個數(shù)據(jù)狀態(tài)指令以前述的特殊數(shù)據(jù)型樣(如將記錄連續(xù)輸出差值個數(shù)的字段以填入00000表示)來表示連續(xù)45個所需位數(shù)為1的輸出差值;若無上述的情形,則進(jìn)入步驟390。于步驟390中,將會依據(jù)前述的需插入數(shù)據(jù)狀態(tài)指令的位置的最終修改標(biāo)記,來觀察每兩個數(shù)據(jù)狀態(tài)指令標(biāo)記間所包含輸出差值個數(shù)以及這些輸出差值的所需位數(shù),依據(jù)此觀察結(jié)果,來正確地產(chǎn)生所述數(shù)據(jù)狀態(tài)指令,并對其進(jìn)行編碼以及對全部的輸出差值編碼,其中,于步驟390中所進(jìn)行的編碼包含有對所述數(shù)據(jù)狀態(tài)指令進(jìn)行可變長度編碼(variable-lengthcoding)操作;而于另一實施例中則對數(shù)據(jù)狀態(tài)指令進(jìn)行固定長度編碼(fixed-lengthcoding)操作。此外,對所述輸出差值進(jìn)行的編碼是以將該輸出差值以所需位數(shù)來表示,例如,圖2的對應(yīng)輸入值01的輸出差值04將以所需位數(shù)為4來表示為0100。完成步驟390后,利用所述編碼后數(shù)據(jù)狀態(tài)指令與編碼后輸出差值作為一壓縮后查找表,進(jìn)入步驟400而結(jié)束流程。因此,依據(jù)上述的壓縮方法,本發(fā)明實施例還提供一種壓縮裝置。請參考圖4,圖示中壓縮裝置40包含有一差值計算器41、一位計算器42、一儲存模塊43、一處理模塊44以及一編碼模塊45。首先,將一查找表中的多個原始輸出值依據(jù)其對應(yīng)輸入值的順序,依序輸入至差值計算器41。差值計算器41依序計算每一原始輸出值與下一原始輸出值間的一輸出差值,并將每次所計算出的輸出差值作為下一輸入值所對應(yīng)的輸出差值。接著,將差值計算器41所產(chǎn)生的所有輸出差值輸入至位計算器42。位計算器42耦接于差值計算器41,且依據(jù)表示每一輸出差值所需的最小位數(shù)來產(chǎn)生表示每一輸出差值的一所需位數(shù)。因此,位計算器42將會同時輸出每一輸出差值與其對應(yīng)的所需位數(shù)。由上述的壓縮方法可知,本發(fā)明會在連續(xù)的輸出差值之間插入數(shù)據(jù)狀態(tài)指令,使得輸出差值得以其所需位數(shù)來表示的,進(jìn)一步以最小可能存儲裝置的空間來儲存每一輸出差值。因此,處理模塊44用于具有不同所需位數(shù)的兩連續(xù)輸出差值之間產(chǎn)生一數(shù)據(jù)狀態(tài)指令。然而,數(shù)據(jù)狀態(tài)指令的插入必須參考多個輸出差值所對應(yīng)的所需位數(shù)間的關(guān)系,故連續(xù)的輸出差值與其對應(yīng)的所需位數(shù)將先被依序儲存于該儲存模塊43,再由該處理模塊44來判斷數(shù)據(jù)狀態(tài)指令插入的位置(于哪兩輸出差值之間),并產(chǎn)生一指令插入標(biāo)記來指出插入的位置。且每一產(chǎn)生的指令插入標(biāo)記會被一并儲存于該儲存模塊43。于此,由位計算器42所輸出的每一輸出差值與其對應(yīng)的所需位數(shù),將會被依序儲存于儲存模塊43,待所有的輸出差值與其對應(yīng)的所需位皆被儲存入儲存模塊43后。處理模塊44便依據(jù)儲存模塊43內(nèi)的數(shù)據(jù)來產(chǎn)生指令插入標(biāo)記。然而,依據(jù)上述的壓縮方法可知,在依據(jù)指令插入標(biāo)記與輸出差值其所需位數(shù)來產(chǎn)生數(shù)據(jù)狀態(tài)指令前,所需位數(shù)與指令插入標(biāo)記仍需可能被適當(dāng)?shù)匦薷?,以進(jìn)一步提升壓縮效率。首先,由圖3代表的實施例可知,步驟350排除數(shù)據(jù)狀態(tài)指令所不支持的所需最小位數(shù)并產(chǎn)生每一輸出差值所對應(yīng)的所需位數(shù)。因此,于本實施例中,位計算器42還包含有一位排除單元48以及一寄存器49以對應(yīng)于步驟350。位排除單元48用以判斷表示一輸出差值的一最小位數(shù)是否為數(shù)據(jù)狀態(tài)指令的格式所支持。因此,當(dāng)該最小位數(shù)未落于數(shù)據(jù)狀態(tài)指令的格式所支持的數(shù)值范圍時(即代表不為數(shù)據(jù)狀態(tài)指令的格式所支持),位排除單元48利用大于該最小位數(shù)的數(shù)值來產(chǎn)生該輸出差值所對應(yīng)的一所需位數(shù)(將最小位數(shù)5、6、7的情形視作所需位數(shù)為8)。此外,當(dāng)該最小位數(shù)落于該數(shù)據(jù)狀態(tài)指令的格式所支持的數(shù)值范圍時(亦即為數(shù)據(jù)狀態(tài)指令的格式所支持),位排除單元48使用該最小位數(shù)來作為該所需位數(shù)。因此,每一輸出差值將會被儲入寄存器49,待位排除器48依據(jù)最小位數(shù)的支持與否來產(chǎn)生所需位數(shù)后,寄存器49內(nèi)的輸出差值才會一并隨著其對應(yīng)的所需位數(shù)傳送至儲存模塊43。但應(yīng)注意的是,排除數(shù)據(jù)狀態(tài)指令所不支持的最小位數(shù)的情形僅為本發(fā)明的一實施例。亦即,于本發(fā)明的其它實施例中,數(shù)據(jù)狀態(tài)指令可支持所有的最小位數(shù)時,因此,于位計算器42中,僅需通過一位計算單元(未示出),直接以每一輸出差值所需的最小位數(shù)來作為其所需位數(shù)即可。同樣地,再度參考圖3所代表的實施例可知,處理模塊44在判斷數(shù)據(jù)狀態(tài)指令插入的位置并產(chǎn)生一指令插入標(biāo)記來指出指令插入的位置的過程中,亦包含下述的操作。首先,處理模塊44要避免插入過多數(shù)據(jù)狀態(tài)指令的情形發(fā)生。因此于一特定數(shù)據(jù)狀態(tài)指令與該特定數(shù)據(jù)狀態(tài)指令的下一數(shù)據(jù)狀態(tài)指令之間,若輸出差值的個數(shù)小于一預(yù)定臨界值以及輸出差值的所需位數(shù)小于緊接該下一數(shù)據(jù)狀態(tài)指令之后一輸出差值的所需位數(shù)時,或者是輸出差值的所需位數(shù)小于緊接該該特定數(shù)據(jù)狀態(tài)指令的上一輸出差值的所需位數(shù)時,處理模塊44將視情況刪除該特定數(shù)據(jù)狀態(tài)指令或該下一數(shù)據(jù)狀態(tài)指令。如上可知,若原本須存在的一數(shù)據(jù)狀態(tài)指令需遭刪除,除了刪除原本的指令插入標(biāo)記外,且輸出差值所對應(yīng)的所需位數(shù)亦需修改。詳細(xì)的修改方法已說明于壓縮方法的段落中,在此不多作贅述。因此,處理模塊44也必須視情況修改一部分儲存于儲存模塊43中的所需位數(shù)與指令插入標(biāo)記,以提高本發(fā)明的壓縮效率。再者,處理模塊44亦需檢查是否有相同的所需位數(shù)的連續(xù)個數(shù)超過數(shù)據(jù)狀態(tài)指令所能支持的最大連續(xù)個數(shù)限制。因此若于一特定數(shù)據(jù)狀態(tài)指令與下一特定數(shù)據(jù)狀態(tài)指令之間(兩數(shù)據(jù)狀態(tài)指令之間的輸出差值理應(yīng)具有相同的所需位數(shù)),若輸出差值的個數(shù)大于該特定數(shù)據(jù)狀態(tài)指令所支持的連續(xù)個數(shù)限制,則將至少一新增數(shù)據(jù)狀態(tài)指令插入于該特定數(shù)據(jù)狀態(tài)指令與該下一數(shù)據(jù)狀態(tài)指令特定間的兩特定輸出差值之間。因此,需額外添加新的指令插入標(biāo)記儲存于儲存模塊43中。此外,于一實施例中,處理模塊44還包含有一操作,該操作是檢查直至最后一個的輸出差值所對應(yīng)的所需位數(shù)為止,于對應(yīng)于相同所需位數(shù)的連續(xù)輸出差值間是否存在指令插入標(biāo)記,若有則移除該指令插入標(biāo)記,并以數(shù)據(jù)狀態(tài)指令所支持的一種特殊數(shù)據(jù)型樣來記錄此種情形。綜上所述,處理模塊44除了最基本的操作,判斷數(shù)據(jù)狀態(tài)指令插入的位置,并產(chǎn)生一指令插入標(biāo)記來指出插入的位置。亦可能包含有"修改已產(chǎn)生的指令插入標(biāo)記與所需位數(shù)"以避免插入過多數(shù)據(jù)狀態(tài)指令、"插入新的指令插入標(biāo)記"以修正所需位數(shù)的連續(xù)個數(shù)超過能支持的最大限制、"移除指令插入標(biāo)記"并以一數(shù)據(jù)狀態(tài)指令的特殊數(shù)據(jù)型樣支持的。處理模塊44在上述三個操作中,于過程中可能多次修改原本儲存于儲存模塊43內(nèi)的指令插入標(biāo)記與所需位數(shù),并且于最后處理完畢,依據(jù)每一指令插入標(biāo)記與所需位數(shù)的相同連續(xù)個數(shù)與所需位數(shù)的值,來產(chǎn)生位于輸出差值間的所有的數(shù)據(jù)狀態(tài)指令,并存入儲存模塊43中。最后,儲存于儲存模塊43的數(shù)據(jù)狀態(tài)指令與輸出差值會被依序輸入編碼模塊45。編碼模塊45會對上述的數(shù)據(jù)進(jìn)行一預(yù)定編碼操作(可能為可變長度編碼或固定長度編碼),最終以產(chǎn)生該壓縮后查找表。請接著參考圖5的圖表,其是對應(yīng)圖3所示的實施例中的壓縮方法的一應(yīng)用例。在本例中,數(shù)據(jù)狀態(tài)指令僅支持所需位數(shù)為1、2、3、4、8的情形,且當(dāng)所需位數(shù)為1、2時,數(shù)據(jù)狀態(tài)指令以5位來表示連續(xù)的輸出差值個數(shù);當(dāng)所需位數(shù)為3、4、8時,數(shù)據(jù)狀態(tài)指令以3位來表示連續(xù)的輸出差值個數(shù)。再者,依據(jù)上述的實施例,數(shù)據(jù)狀態(tài)指令將進(jìn)行可變長度編碼,而分別為0、10、110、1110、1111,而輸出差值則依據(jù)其所需位數(shù),以2進(jìn)位表示。接著,請看行520的第一與第二字段,原本的所需位數(shù)04、03,為了減少數(shù)據(jù)狀態(tài)指令的插入,因此被修改為04、04。因此輸出差值0A、04將分別以4位表示為1010、0100。在同樣的理由下,行520中的第三字段至第七字段的所需位數(shù)02、01、02、02、02將被修改為如行530所示的所需位數(shù)02、02、02、02、02,因此輸出差值03、01、02、03、03則分別以2位表示為11、01、10、11、11。然而,請參考行520的最末兩個字段,由于所需位數(shù)05是數(shù)據(jù)狀態(tài)指令所不支持的情形,因此最末兩個所需位數(shù)將被修改為08、08,依此,最末兩個輸出差值13、88(十六進(jìn)位制)則分別以8位表示為00010011、10001000,分別以修改后的所需位數(shù)來表示的輸出差值如行540所示。通過對所需位數(shù)的修改后,因此數(shù)據(jù)狀態(tài)指令需插入的位置為輸出差值1010之前、輸出差值0100與11間、輸出差值11與00010011間。故上述3個數(shù)據(jù)狀態(tài)指令需包含的信息分別為2個4位的輸出差值(輸出差值1010之前的數(shù)據(jù)狀態(tài)指令)、5個2位的輸出差值(輸出差值0100與11間的數(shù)據(jù)狀態(tài)指令)、2個8位的輸出差值(輸出差值11與00010011間的數(shù)據(jù)狀態(tài)指令)。依此,4位、2位、8位的所需位數(shù)的數(shù)值將分別以可變長度編碼為1110、10、1111。再者,上述的連續(xù)輸出差值的個數(shù)分別為2個、5個、2個,則被編碼為010、00101、010(000為連續(xù)個數(shù)為8個的情形、00000保留來作為一特殊數(shù)據(jù)型樣)。在此需強調(diào)的是,對應(yīng)于2位的連續(xù)個數(shù)5,以5位來編碼的原因為于伽瑪查找表中,輸出差值的所需位數(shù)為2位的機率較頻繁,故以5位來含括可能較多的輸出差值連續(xù)個數(shù),相對而言,4位與8位的輸出差值出現(xiàn)機會較小,故皆以3位含括可能較少的輸出差值連續(xù)個數(shù)。綜上所述,本實施例中,3個數(shù)據(jù)狀態(tài)指令分別為(1110,010)、(10,00101)、(1111,010)。欲強調(diào)的是,本發(fā)明并未特別以某一形式來對數(shù)據(jù)狀態(tài)指令編碼,上述的內(nèi)容僅作說明之用。事實上,以可變長度或固定長度的方式對數(shù)據(jù)狀態(tài)指令與輸出差值進(jìn)行編碼皆屬本發(fā)明的范疇。因此,于權(quán)利要求中,以預(yù)定編碼/解碼操作來表示可變長度編碼/解碼與固定長度編碼/解碼這兩種皆為本發(fā)明范疇所含括的編碼方式。因此,圖5的實施例最終所呈現(xiàn)的數(shù)據(jù)序列將為(1110,010),1010,0100,(10,00101),ll,Ol,10,11,11,(1111,010),00010011,10001000。如此一來,便可供后續(xù)的解壓縮裝置正確地識別每一個輸出差值。此外,在此補充說明,以上述的方式進(jìn)行編碼時,數(shù)據(jù)狀態(tài)指令的特殊型樣為(10,00000)或(0,00000)(分別2位與1位的情形)用以突破數(shù)據(jù)狀態(tài)指令所能表示連續(xù)個數(shù)的限制,但應(yīng)注意的是,此時用以表示所需位數(shù)為1位與2位的數(shù)據(jù)狀態(tài)指令所能表示的最大連續(xù)個數(shù)為31個,因00000已保留為特殊數(shù)據(jù)型樣。因此,依據(jù)上述數(shù)據(jù)狀態(tài)指令與輸出差值的設(shè)定(可變長度或固定長度編碼),于本發(fā)明的一實施例中,提供一種對應(yīng)于上述壓縮方法的解壓縮裝置。請參見圖6,其對應(yīng)前述的壓縮方法的解壓縮裝置410。解壓縮裝置410包含有一計數(shù)模塊412、一解碼模塊422、一儲存模塊432以及一累加模塊442,用以對一壓縮后查找表450進(jìn)行處理。壓縮后查找表450包含有多個編碼后輸出差值以及至少一編碼后數(shù)據(jù)狀態(tài)指令。累加模塊442包含有一算數(shù)邏輯單元444以及一寄存器446,然而,關(guān)于累加模塊442的實施方式僅為說明之用,并非本發(fā)明的限制,累加模塊442亦可由一累加器(accumulator)來加以實施。開始進(jìn)行解壓縮操作時,首先將解碼模塊422設(shè)定在一指令接收模式,于該模式中,解碼模塊422會將接收到之前7個位識別為一數(shù)據(jù)狀態(tài)指令(當(dāng)數(shù)據(jù)狀態(tài)指令是以固定長度編碼),并據(jù)此得知后續(xù)每一個編碼后輸出差值的有效數(shù)據(jù)長度。然而,若以圖5所代表的實施例為例,數(shù)據(jù)狀態(tài)指令是以可變長度的方式進(jìn)行編碼,通過所需位數(shù)分別適當(dāng)?shù)卦O(shè)定,亦可正確地進(jìn)行解碼(如將所需位數(shù)1、2、4、8分別編碼為0、10、110、1110、1111)。而當(dāng)數(shù)據(jù)狀態(tài)指令解碼完后,接著進(jìn)行輸出差值的解碼。舉例來說,若于一數(shù)據(jù)狀態(tài)指令解碼后得知之后的數(shù)據(jù)序列中包含有3個所需位數(shù)為3的輸出差值,則于數(shù)據(jù)序列111101100中可得知,該數(shù)據(jù)序列代表111,101,100的3個編碼后輸出差值,解碼模塊422將會將3個編碼后輸出差值還原成07、05以及04(以十六進(jìn)位制表示)。當(dāng)解碼模塊422每解碼還原出一個輸出差值,會將該個輸出差值存入累加模塊442中,累加模塊442首先于解碼動作開始前,將寄存器446及計數(shù)模塊412的值重置(reset)為0,并且將接收到的每個數(shù)據(jù)輸入至算術(shù)邏輯單元444中與寄存器446所寄存的值進(jìn)行加法運算,接著將每一次算術(shù)邏輯單元444所計算的結(jié)果輸出至儲存模塊432,此結(jié)果即為對應(yīng)于該壓縮后查找表的原始查找表中的原始輸出值。此外,儲存模塊432包含有地址輸入端口433與數(shù)據(jù)輸入端口435,其中地址輸入端口433耦接計數(shù)模塊412,以及數(shù)據(jù)輸入端口435耦接至累加模塊442。計數(shù)模塊412于累加模塊442模塊每輸出一個原始輸出值,即產(chǎn)生一計數(shù)結(jié)果,每一計數(shù)結(jié)果用以指出每一原始輸出值所于儲存模塊432中所對應(yīng)的一儲存地址。當(dāng)每一計數(shù)結(jié)果被輸入至地址輸入端口433時,同時有對應(yīng)的原始輸入值依據(jù)地址輸入端口433上存在的儲存地址由數(shù)據(jù)輸入端口435被寫入至儲存模塊432。因此,于解壓縮過程開始時,解碼模塊422開始于指令接收模式下,將編碼后數(shù)據(jù)狀態(tài)指令解碼,進(jìn)而開始進(jìn)行解碼以得到后續(xù)的多個輸出差值。自對應(yīng)于輸入值OO的原始輸出值開始,利用累加模塊442將每一輸出差值與該原始輸出值相加,依序解壓縮出每一個查找表中的原始輸出值。請參考圖7,圖7是運用本發(fā)明的壓縮與解壓縮方法及裝置來進(jìn)行一伽瑪校正的一運算電路500。運算電路500包含有一非易失性存儲器510、一輸入單元520、一輸出單元530以及圖4所示的解壓縮裝置410。非易失性存儲器510中存有壓縮后伽瑪查找表511、512、513、514分別對應(yīng)于不同的伽瑪值Yl、Y2、y3、y4。倘若運算電路500要進(jìn)行伽瑪值為Yl的伽瑪編碼,首先,解壓縮裝置410會從非易失性存儲器510中讀取壓縮后伽瑪查找表511,且解壓縮其中的多個編碼后輸出差值與編碼后數(shù)據(jù)狀態(tài)指令,使得解壓縮裝置410中的儲存模塊432存有對應(yīng)于伽瑪值Y1的原始伽瑪查找表,通過輸入單元520將一輸入訊號輸入至解壓縮單元410,之后將該訊號與解壓縮單元中的儲存模塊所現(xiàn)存的伽瑪值Yl的原始伽瑪查找表比對,以對該訊號進(jìn)行一指數(shù)函數(shù)的轉(zhuǎn)換(亦即伽瑪編碼),再通過輸出單元530輸出編碼后的該訊號。請再參考圖8,其為本發(fā)明的解壓縮方法的一實施例的示意圖。如圖8所示,其對一壓縮后查找表進(jìn)行解壓縮,該壓縮后查找表包含有多個編碼后輸出差值以及至少一編碼后數(shù)據(jù)狀態(tài)指令。首先,于步驟610中,取得一編碼后數(shù)據(jù)狀態(tài)指令,并對其解碼以產(chǎn)生一指令解碼結(jié)果,對應(yīng)于圖6所示的解碼模塊422所處的指令接收模式。接著,于步驟620中,依據(jù)該指令解碼結(jié)果,對緊接其后的編碼后輸出差值進(jìn)行解碼以得多個輸出差值,并依據(jù)該多個輸出差值從O依次累加,且將每次累加結(jié)果輸出為一原始輸出值。于步驟630中,檢查是否已完成該指令解碼結(jié)果所指出的輸出差值個數(shù),若是,則進(jìn)入步驟640;若否,則返回步驟620。于步驟640中,則檢查是否該壓縮后查找表中所有的數(shù)據(jù)已解碼完成,若是,則進(jìn)入步驟650而結(jié)束流程;若否,則返回步驟610以進(jìn)行繼續(xù)解壓縮的處理。綜上所述,本發(fā)明提供了可用于壓縮/解壓縮伽瑪查找表的方法及相關(guān)裝置,由于伽碼函數(shù)所具有的單調(diào)遞增特性,本發(fā)明的方法可節(jié)省相當(dāng)可觀的存儲器容量。然而,盡管說明書內(nèi)容以伽瑪查找表作為說明,但本領(lǐng)域的技術(shù)人員應(yīng)該了解,本發(fā)明的主要精神是利用原始輸出值間的差值來取代原始查找表所占用的存儲器空間,并利用以累加計算為基礎(chǔ)的裝置來還原,因此本發(fā)明提供的方法與裝置亦可通過適當(dāng)修改以推廣于一般函數(shù)的查找表,仍屬本發(fā)明的范疇。以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明的權(quán)利要求所做的均等變化與修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。1權(quán)利要求一種壓縮一查找表以產(chǎn)生一壓縮后查找表的壓縮方法,該查找表具有多個輸入值分別對應(yīng)于多個原始輸出值,該壓縮方法包含有依序計算該查找表中每一輸入值所對應(yīng)的一原始輸出值與下一輸入值所對應(yīng)的一原始輸出值之間一輸出差值,以作為該下一輸入值所對應(yīng)的一輸出差值;依據(jù)表示每一該輸出差值所需的最小位數(shù)來決定儲存每一該輸出差值的一所需位數(shù);于具有不同所需位數(shù)的兩連續(xù)該輸出差值之間插入一數(shù)據(jù)狀態(tài)指令;以及依據(jù)該查找表中該多個輸入值所分別對應(yīng)的多個該輸出差值以及至少一該數(shù)據(jù)狀態(tài)指令來進(jìn)行一預(yù)定編碼操作,以產(chǎn)生該壓縮后查找表。2.如權(quán)利要求1所述的壓縮方法,其中該數(shù)據(jù)狀態(tài)指令包含有該所需位數(shù)的值以及具有相同的所需位數(shù)的連續(xù)該輸出差值的個數(shù)。3.如權(quán)利要求1所述的壓縮方法,其中該數(shù)據(jù)狀態(tài)指令包含有該所需位數(shù)的值以及用以指示該數(shù)據(jù)狀態(tài)指令是最接近最后一個該輸出差值的一特殊數(shù)據(jù)型樣。4.如權(quán)利要求l所述的壓縮方法,還包含有于一特定數(shù)據(jù)狀態(tài)指令與該特定數(shù)據(jù)狀態(tài)指令的下一數(shù)據(jù)狀態(tài)指令之間,若輸出差值的個數(shù)小于一預(yù)定臨界值以及輸出差值的所需位數(shù)小于緊接該下一數(shù)據(jù)狀態(tài)指令之后一輸出差值的所需位數(shù)時,則刪除該特定數(shù)據(jù)狀態(tài)指令。5.如權(quán)利要求1所述的壓縮方法,其中依據(jù)表示每一輸出差值所需的最小位數(shù)來決定儲存每一輸出差值的一所需位數(shù)的步驟包含有判斷該最小位數(shù)是否落于一特定數(shù)值范圍;當(dāng)該最小位數(shù)落于該特定數(shù)值范圍時,使用大于該最小位數(shù)的數(shù)值來作為該所需位數(shù);以及當(dāng)該最小位數(shù)未落于該特定數(shù)值范圍時,使用該最小位數(shù)來作為該所需位數(shù)。6.如權(quán)利要求1所述的壓縮方法,其中該預(yù)定編碼操作為一可變長度編碼。7.如權(quán)利要求1所述的壓縮方法,其中該查找表為一伽瑪查找表。8.—種壓縮一查找表以產(chǎn)生一壓縮后查找表的壓縮裝置,該查找表具有多個輸入值分別對應(yīng)于多個原始輸出值,該壓縮裝置包含有一差值計算器,用以依序計算該查找表中每一輸入值所對應(yīng)的一原始輸出值與下一輸入值所對應(yīng)的一原始輸出值之間一輸出差值,以產(chǎn)生下一輸入值所對應(yīng)的一輸出差值;一位計算器,耦接于該差值計算器,依據(jù)表示每一該輸出差值所需的最小位數(shù)來產(chǎn)生儲存每一該輸出差值的一所需位數(shù);一處理模塊,耦接于該位計算器,于具有不同所需位數(shù)的兩連續(xù)輸出差值之間產(chǎn)生一數(shù)據(jù)狀態(tài)指令;以及一編碼模塊,耦接于該處理模塊,依據(jù)該差值計算器所產(chǎn)生的分別對應(yīng)該多個輸入值的多個該輸出差值以及該處理模塊所產(chǎn)生的至少一該數(shù)據(jù)狀態(tài)指令來進(jìn)行一預(yù)定編碼操作,以產(chǎn)生該壓縮后查找表。9.如權(quán)利要求8所述的壓縮裝置,其中該處理模塊依據(jù)該所需位數(shù)的值以及具有相同的所需位數(shù)的連續(xù)該輸出差值的個數(shù)來產(chǎn)生該數(shù)據(jù)狀態(tài)指令。10.如權(quán)利要求8所述的壓縮裝置,其中該處理模塊依據(jù)該所需位數(shù)的值以及一特殊數(shù)據(jù)型樣來產(chǎn)生該數(shù)據(jù)狀態(tài)指令,其中該特殊數(shù)據(jù)型樣用以指示該數(shù)據(jù)狀態(tài)指令是最接近最后一個該輸出差值。11.如權(quán)利要求8所述的壓縮裝置,其中該處理模塊還于一特定數(shù)據(jù)狀態(tài)指令與該特定數(shù)據(jù)狀態(tài)指令的下一數(shù)據(jù)狀態(tài)指令之間,若輸出差值的個數(shù)小于一預(yù)定臨界值以及輸出差值的所需位數(shù)小于緊接該下一數(shù)據(jù)狀態(tài)指令之后一輸出差值的所需位數(shù)時,刪除該特定數(shù)據(jù)狀態(tài)指令。12.如權(quán)利要求8所述的壓縮裝置,其中該位數(shù)計算器還包含有一位排除單元,用以判斷該最小位數(shù)是否落于一特定數(shù)值范圍并且排除落于該特定數(shù)值范圍內(nèi)的該最小位數(shù);其中當(dāng)該最小位數(shù)落于該特定數(shù)值范圍時,該位排除器利用大于該最小位數(shù)的數(shù)值來產(chǎn)生該所需位數(shù)以及當(dāng)該最小位數(shù)未落于該特定數(shù)值范圍時,該位排除器使用該最小位數(shù)來產(chǎn)生該所需位數(shù)。13.—種解壓縮一壓縮后查找表來產(chǎn)生一查找表的解壓縮裝置,該壓縮后查找表具有多個編碼后輸出差值以及至少一編碼后數(shù)據(jù)狀態(tài)指令,該解壓縮裝置包含有一解碼模塊,用來依據(jù)該多個編碼后輸出差值以及該至少一編碼后數(shù)據(jù)狀態(tài)指令執(zhí)行一預(yù)定解碼操作,以產(chǎn)生多個輸出差值;一累加模塊,耦接于該解碼模塊,用于逐一累加該多個輸出差值,并輸出每次的累加結(jié)果;一計數(shù)模塊,耦接于該累加模塊,用以于每當(dāng)該累加模塊產(chǎn)生一次累加結(jié)果時進(jìn)行一次計數(shù);以及一儲存模塊,耦接于該累加模塊與該計數(shù)模塊,用于自該計數(shù)模塊接收一計數(shù)結(jié)果,并根據(jù)該計數(shù)結(jié)果將該累加模塊每次的累加結(jié)果儲存于對應(yīng)該計數(shù)結(jié)果的一儲存地址。14.如權(quán)利要求13所述的解壓縮裝置,其中該預(yù)定解碼操作為一可變長度解碼。15.如權(quán)利要求13所述的解壓縮裝置,其中該累加模塊包含有一算術(shù)邏輯單元,用以依序接收該多個輸出差值;以及一寄存器,耦接于該算術(shù)邏輯單元,用以寄存該算術(shù)邏輯單元的運算結(jié)果,其中該算術(shù)邏輯單元依序?qū)⑺邮盏脑摱鄠€輸出差值與該寄存器所寄存的值進(jìn)行加法運算。16.如權(quán)利要求13所述的解壓縮裝置,其中該查找表為一伽瑪查找表。17.—種解壓縮一壓縮后查找表來產(chǎn)生一查找表的解壓縮方法,該壓縮后查找表具有多個編碼后輸出差值以及至少一編碼后數(shù)據(jù)狀態(tài)指令,該解壓縮方法包含有取得至少一編碼后數(shù)據(jù)狀態(tài)指令,并依據(jù)該至少一編碼后數(shù)據(jù)狀態(tài)指令進(jìn)行至少一預(yù)定解碼操作以產(chǎn)生至少一編碼后數(shù)據(jù)狀態(tài)指令的解碼結(jié)果;依據(jù)該至少一編碼后數(shù)據(jù)狀態(tài)指令的解碼結(jié)果,對多個編碼后輸出差值進(jìn)行多個預(yù)定解碼操作,以產(chǎn)生多個輸出差值;以及依序累加該多個輸出差值,以作為該查找表中的多個原始輸出值。全文摘要本發(fā)明提供一種壓縮及解壓縮查找表的方法及其相關(guān)裝置。該壓縮一查找表的方法中該查找表具有多個輸入值分別對應(yīng)于多個原始輸出值。該方法包含有依序計算該查找表中每一輸入值所對應(yīng)的一原始輸出值與下一輸入值所對應(yīng)的一原始輸出值間一輸出差值,以作為該下一輸入值所對應(yīng)的一輸出差值;依據(jù)表示每一輸出差值所需的最小位數(shù)來決定儲存每一輸出差值的所需位數(shù);于具有不同所需位數(shù)的兩連續(xù)輸出差值間插入數(shù)據(jù)狀態(tài)指令;以及依據(jù)該查找表中該多個輸入值所對應(yīng)的多個輸出差值以及數(shù)據(jù)狀態(tài)指令來進(jìn)行編碼,以產(chǎn)生該壓縮后查找表。文檔編號G09G5/06GK101751897SQ20081018439公開日2010年6月23日申請日期2008年12月10日優(yōu)先權(quán)日2008年12月10日發(fā)明者王世華申請人:揚智科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1