TW421926B - Data compression method and apparatus - Google Patents
Data compression method and apparatus Download PDFInfo
- Publication number
- TW421926B TW421926B TW087107322A TW87107322A TW421926B TW 421926 B TW421926 B TW 421926B TW 087107322 A TW087107322 A TW 087107322A TW 87107322 A TW87107322 A TW 87107322A TW 421926 B TW421926 B TW 421926B
- Authority
- TW
- Taiwan
- Prior art keywords
- data stream
- entry
- address
- array
- buffer
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
L 92 0 J -¾¾ A7 B7 五 、發明説明( 經濟部中央標準局貝工消费合作社印奴 本發明範圍 本發明是有關於資料通信及儲存的領域,比舫M W ,、农扯 4 比权特別的 是,本發明與壓縮數位貪料,以及減少儲存資料記憶體的 需求容量有關。 u 本發明的背景 資料壓縮是用來減少表示—段資料的字元數目,例如· 數位化的資料流。經過減少使用字元的數目,資料流^: 儲存於較小容量的記憶體’或是傳輪的較有效率,5如. 較短的時間或使用較少的頻寬。數種不同的方法中之任何 —種或多種方法都可用來壓縮資料。 在選擇資料壓縮方法時有兩種重要的考量,分別是資料 的壓縮度及壓縮的速度。所謂的壓縮度就是用來表示資料 字元之減少量。假如字元的數目只有少量的減少,而此資 料壓縮方法與別的可大量的減少字元數目方法相比,便沒 有什麼好處。,理,一個壓縮方法需要耗費大量的時間^ 資料壓縮與別的只需少許時間的方法相比,也佔不到優 勢。因此,若資料壓縮方法能大量的減少表示資料的字 元,且耗費較少時間,這才會令人接受。 所=,我們所需要的一種資料壓縮的方法和裝置,它需 具有高壓縮度及較少的壓縮資料時間。 本發明總結 上述的或其他的录, 上 4 j . W *求可由一種用來壓縮資料流的方法達 成。資料流的第—^Ft Λ·ν -J* --~ 〆伤讀入一個窗,該窗包含了一個過去 缓衝器及未來缓衝_哭 .益。在未來緩衝器内取出資料流的第四 部份,選出一個旁 ^ * 5丨,且以此索引爲基準,在一指標陣列 4- 本紙乐X度適用中國國家標準_—
裝-- ·· (讀先閏誃背面之注意事^.#填寫本頁J -訂·
•A h • - I i m n n ·
.In ·I — I 經濟部中决標準局男工消费合作社印製 五、發明説明(2) 中選出一個入口。基於指標陣列入口,在—記錄陣列中選 出-個起始入口。此記綠陣列起始入口包含了一個過去緩 衝器位址及記綠降列位址。參考過去缓衝器的起始入口位 址,並從此開始選取資料流的第三部份。在未來緩衝器内 將資料流的第三部份及第二部份做比較。假如資料流的第 三部份與第二部份沒有相同處的話,就在記錄陣列内選取 下一個入口’,基於起始入口的記綠陣列位址,此入口便被 指定爲起始入口。 從選出資料流的第三部份到下—個入口的步驟會一直重 複,直到資料流的第三部份及第二部份有相同處,或者是 記綠陣列内已經沒有任何入口了。如果當記錄陣列内已經 沒有任,入口時,資料流的第二部份就會被窝入輸出檔 案’而讀入窗内的資料流第一部分將增加一個預定數量。 如果當資料流的第三部份及第二部份有相同處時,資料流 第三部份之過去缓衝器位址及長度値,表示了資料流的第 一部伤及第二部份有多少位元组是相同的,將其輸出至輸 出標案’以及讀入窗内的資料流第一部分將增加彼此相同 的位凡组數。本方法的步驟將從選取索引的步驟開始重 複’直到所有的資料流都讀入窗内爲止。 圖表的簡略説明 當討論到與下列相關的圖表時,參煦具聽的詳細敘述, 本發明更多的優點便可明顯地看出,在此不放大圖表的原 因是爲了看得較仔細,像元件;ϋ幾個圖面時,在此可參 考嘱的標示,圖表分別是: 是本壓縮裝置具體化實施例之描述功能方塊圖。 廳 •丨 -5- 度通用中國'CNS) A4 規格(210x297/^j : (請先閱讀背面之注意事¾再填寫本U ) ¥ -13 4 A7
位元的輸入資料流。 ι^ϋ 1 - iT 1 · ο裝— C锖先閱讀背面之注意事^再填寫本頁) i 訂 經濟部中央標準局眞工消费合作社印製 000011001111100000111〇1〇1〇〇〇〇111 Table 1.輸入資料流 在較佳具體貫施例中,寫入輸出樓的第一個字流長度數 字通常是開頭零的數目,在Table 1的例子中,開頭零的個 數就是4。因此,4這個數$就會第—個窝至輸出檔。可了 解的是輸出檔最好也是數位檔I,所以表示4的零和壹之 位凡樣本將會被寫至輸出檔。在這個討論中,所有插迷的 數字取好以此爲艇例來窝入。在輸入資料流的第一個字元 已經由原來的零變成壹,然後零這個數字會被寫入輸出 -6- 本纸張尺度適用中國國家標準(CNS ) A4规格(2〗0X297公釐)'~~~~ ' A7 B7 4 經濟部中央標準局只工消费合作社印製 五、發明説明(4) 樓’表示没有任何零在輸入資料流的開頭。 在開頭零的數目被窝入輸出檔後,壹的數目緊跟著開頭 的零被寫入輸出檔内。在Table !的例子中,在開頭零後壹 的個數是2。因此,2會被窝至輸出樓。接下來的方法將描 述剛才所講的,零與壹的字流長度個數將以一個交替方法 寫至輸出檔。假如零或壹的字流長度超過了 254,就將255 的値窝入輸'出檔,剩餘的數値就記下來,然後寫入輪出 檔。對於很長的字流,會有許多255的數値在剩餘値之前 窝入輸出檔。因此,當要解開輸出檔時,解壓縮常式最好 能辨別在255的下一個數値必須跟255相加,這樣才是正 的字流長度f直。
可了解的是’此方法同樣也可運用於大於及小於長度W 位元的輸入資料流,選擇此長度的裡由是爲了方便於=述 此方法。當Table 1中所有輸入位元流的零與壹經位元方向 的字流長度編碼法處理後,如Table 2所述的輸出檔便被 造出來。 2,2
Table 2輸出檔 字流長度編碼法通常可減少—些輸入資料流的長度,但 對所有型式的資料流並不是一個有效率的壓縮方法。舉個 例子,假如輸入資料流只有少許大於臺的連續零或壹,則 輸出檔長度就不會比輸入資料^^很多,而且處理輪入 料流所需的時間與達成的壓縮ϋ目比並不値得。因此, 較佳具體實施例中,在資料壓縮方法與裝置中,字流長产 編碼法是一個可選擇的第一步驟。從字流長度編碼法得ς 7_ 本紙珉尺皮迺用宁國國家標準(CNS ) Α4規格(210X297公慶). --------「«— (請先閱讀背面之注意事嘎再填寫本I) .丁 -° 1¾ 1¾ 麵濟部中央標毕局1工消贽合作社印t A7 B7 五、發明説明(5) 的輸出檔便當成是壓縮過後的另一個輸入檔。 然後此輸入樓便以修訂的視窗法(sliding window)來壓 縮。本質上,這個方法在資料流内尋找重複相同的字元字 流。在字流長度編碼法的例子中,資料流是用壹和零來表 不°當資料壓縮法的視窗階段的輸入資料流最好也是零和 臺’這些零和壹可表示成其他字元,可讓此方法更容易被 了解。 * 讀入視窗内的輸入資料流最好有兩部分,即過去緩衝器 和未來缓衝器。在較佳具體實施例中的過去緩衝器大小是 512位元組,而未來緩衝器的大小是277位元組。然而,在 其他具體實施例的過去緩衝器和未來缓衝器的大小是可選 擇的。 此窗被指定成爲一個視窗,因爲輸入資料流内所包含的 字疋將比窗内一次所囊括進來的還多。因此,每一次只有 處理輸入資料流的第一部分,且當處理輸入資料流的第— 部分結束後,便寫入輸出檔,然後接下來部份的輸入資料 流便被指定成爲輸入資料流的第—部分,以此方法繼續, 直到所有輸入資料流被處理完畢。這裡所用的專業術語都 疋在描述輸入資料流被讀入視窗内,可了解的是這只是描 述用語,眞正的方法運用可能是以—種或多種方法完成 的。舉個例子而言,在較佳具體實施例中·,全部或部份的 輸=資料流會儲存在記憶體中,而指標器會用來定義輸入 資料流的那一個部份會置放於ϋ緩衝器或未來緩衝器。 爲^了處理輸入資料流的第—部分,儲存於未來緩衝器的 Ρ刀資料流會與儲存於過去緩衝器的部份資料流做比對。 -8 - 本紙k度適用中國) M規格(2ΐ〇χ297公资)~~ '~~ — (讀先閱讀背面之注意事¾再填寫本頁) 訂 42 1 92 6」礒 a? ____ B7 經漪部中央標準局另工消资合作社印掣 五、發明説明(6) 在未來緩衝器中做過比對的部份資料流會指定成爲第二部 价’而在過去緩衝器中做過比對的部份資料流會指定:爲 第三部份。假如發現第二部份與第三部份有相同處的話, 則有兩個數値會寫入成爲一對至輸出資料檔。第一個數値 表示在過去缓衝器内資料流的第三部份之起始位址,而第 二個數値表示第二部份與第三部份彼此相同處的長度。然 後通過視窗力的輸入資料流增加了第二個數値的^元數 目’也就是增加彼此相同處的字元數目。舉個例子,考虞 Table 3所給的資料流,表示在一視窗内的資料流的第 分。爲了此例子的緣故’視窗的大小只用到2 〇個字元。 000000000111111 11112 123456789012345 67890 ABCDBFGHIJKLMNO FGHOL 過去缓衝器八未來缓衝器 A Table 3在視窗大小爲2 0個字元内的輸入資料流 在資料流斷點位置上的朝上箭頭符號表示過去緩衝器與 未來缓衝器的分界點。可了解的是在過去緩衝器與未來缓 衝器之間’輸入資料流在實體上不需要去分割,但是指標 器或其他類似裝置可用來去追蹤那一部分的資料流是在過 去緩衝器,那一部分的資料流是在未來緩衝器。在資料流 之字母資料上面所列的値是表示位址,這將來會討論.的更 周全。最好當資料流被處理過後,窗要沿著資料流滑動, 如此尚未處理過的新資料流部份就會先進入未來緩衝器, 然後經過去缓衝器後增加字元直到出了视窗,也就是窗的 過去緩衝器的末端。 "9 ** 本紙張尺度適邡中國國家標準(CNS ) A4規格(2丨OX297公釐〉 -- (錆先閱讀背面之注意事項#*填窍本頁) bH'
Jne > A7 B7 421 92 6 ^ 五、發明説明(7)
Jit i來緩衝器内以f字元開始的資料流第二部分, 3去?=内找到第三部分與未來缓衝器内第二部分相 同地万是需要的。在姑鈿n i -r- ρπ ^ ^ i. 找相冋地万心刖,在過去缓衝器内幾 個不同的資料流部份可盘第-却 j '、罘一邵分做比較。舉個例子來 説’弟二部分的開頭字元F可與過去緩衝器内的第-個字 凡做比較,A可被指^成爲第三部分。當然,這兩個字元 二不相同^以過去緩衝器肖接下來的資料流部份將選取 成資料流的第三部份,與第二部分做比對。例如:下一個 第三部分可從過去緩衝器内的下_個字元㈣始。同樣地 也無法跟資料流的第二部份相同符合,所以接下來的第三 部分就會被選取〇 、以在過去緩.衝器内選取起始和後續資料流的第三部分之 万法,可大大地減少找到相同部份的所需時間。舉個例 子,起始的第三部分選取過去緩衝器内的開頭第—個字 兀,接下來後續的第三部分在過去緩衝器中每次往後選取 一個做比對,直到找到相同的或到達了過去緩衝器的底 部。然而,以製造幾種索引表來選取起始跟後續的第三部 份會比較有效率。這個方法在後面會詳加討論。 不管以什麼方法找到起始跟後績的第三部份,當在第三 部分與第一部份之間發現有相同的部份,相同第三部分的 起始位址會被記錄起來〆此位址最好是以過去缓衝器起始 位址的偏移量表示,Table 3所述的例子,在過去緩衝器内 符合F的位址是6。這個位址6 U寫入輸出檔之一個輸出 對的第一個數値。寫入的第二個數値是第三部份與第二部 份彼此相同處的長度。所述的例子中,第二部分FGH與第 -10 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) --------「裝—I {請先閣讀背面之注意事現再填寫本頁) 訂 1 經漪部中央枒準局K工消费合作社印繁 經濟部中决楨準局β工消費合作社印製 ^ ^192 6 j A7 ------- B7 五、發明説明(8) 三部份FGH相同,户斤以數値3表示在第三與第二部份有三 個相同字元,以輸出對的第二個數値窝入輸出檔。 可了解的是在過去緩衝器内不只有—個第三部份會與未 缓衝器内的第二部分—致。在這個例子中,需運用一個 方法來決定那-個符合的第三部分是最佳的。當很多的輸 入資料麵份W此決定在這個步驟中處理時,與第二部份 相同處最多字元數目的第三部分當然是最佳的搭配。假如 兩個或多個第三部分都與第二部分具有相同數目的字元的 話,在k佳具體實施例中,最佳搭配的帛三部分,就是以 字元所指的位址中的最小位址爲準。在此方法中,輪出檔 儘量越小越好。在表中所示的例子,第三部份的位址是從 過去缓衝器起始端經過計算後的偏移量。然而,可了解的 是’其他種的位址結構可運用於別的例丨,例%從過去緩 衝器的另一端計算偏移量,比較靠近未來緩衝器。 在此方法中穹發現有相同處時,通過視窗内的輸入資料 流增加了寫入輸出檔的第二個數値之字元數目,也就是第 二與第二部分具有相同處的字元長度。因此,這個輸入資 料流的相同字元數目會增加,在視窗的一端離開過去緩衝 器,這個輸入資科流的相同字元數目會增加,在視窗的另 一端進入未來缓衝器。對於上述所給的例子,第二個數値 是3,所以在經视窗後增加-了資料流,-視窗所持有的資= 流如Table 4所示。 0000000001 1 1 1 11 Π112 123456789012345 67890
DEFGHIJKLMNOFGH OLABD -11 - 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公漤) (請先閱讀背面之注意事項再填寫本頁)
經濟部中央標準局兵工消費合作社印製 421 92 6 Hi A7 B7 五、發明説明(9) 過去緩衝器A未來緩衝器 Table 4在視窗大小爲2 〇個字元内的輸入資料流 儲存在視窗内輸入資料流的新增部份變成已處理過的資 料流之新的第一部分。在未來緩衝器之新的第二部分是以 字母0開始。偏移位址數字會保有它們的位置,而尋找第 二部分與起始或後續的第三部分相同處之程序會重新開 始。在此例子中,過去緩衝器内的第二部分與第三部分是 在位址1 2開始有相同的地方,而所得到的長度是J。因 此,Tables 3跟4所述之第一對値已在Table 5内。 6 , 3 , 12 , 1 Table 5輪出檔 寫入輸出檔内的數値是可以對調的,所以長度便是第— 個寫入的値,而位址便是第二個寫入的値。寫入輸出檔的 値,例如位址及長度値,可如同Table 5所述窝至輸出檔, 但是最好用不同的格式寫入,所選擇的格式要能縮減輪出 檔的大小。例如,可把位址或長度値記號化(i〇kenized)以 取代眞正的數値。使用者最好選擇一個或多個不同輸出檔 編碼法,可使用靜態編碼法或動態編碼法。 在靜態编竭法中,長度與位址値,其中一個或全部會映 射到一個特別且固定的位元序列^此方法的較佳具體實施 例中,只有長度被記號化,而位址被貪入至一個固定長度 九位兀範圍。此長度値以預先γ的表格來對照做編碼, 該表格將記號字元與長度値做關聯。此記號字元長度最好 比長度値還短,而且常出現的長度値最好以最短的記號來 表示,所以輸出樓可儘量的縮小。如果沒有找到相同的地 -12- 本紙张尺度適用中國國家標準(CNS >六4規格(210><297公釐) (請先閲讀背面之注意事¾再填寫本頁) ''裝
、1T A7 421 92 6 4 ______B7__. 五、發明説明(10 ) {請先閱讀背面之注項·再填寫本頁) 方,或者只有一個相同的地方,此編碼器會無符合的位元 组後置放一個二進位的零。對八位元的位元組,就會整個 變成九位元。當輸出檔被解碼時,解碼器經由預先定義的 表格再找出長度記號,而把長度値對應回來。 假如找到相同處的長度大於一以上,則在此較佳具體實 施例中,就使用Table 6所提供的記號表: 符合的長度 長度碼 位移量碼 2-3 10x 九位元碼 4-7 1 ll.Oxx 九位元碼 8-15 111Oxxx 九位元碼 16-31 111lOxxxx 九位元碼 32-277 11111xxxxxxxx 九位元碼
Table 6靜態記號化表 此九位元位移量碼最好以下列方式計算出來: temp =(在未來緩衝器第一個位元組的位址) -(相同一致的位置位址)—1 假如(temp小於〇 ). 然後(位移量碼)=temp + 796 否則(位移量碼)=temp 經濟部中决標準局tK工消t合作社印掣 在此的位址都是過去緩衝器的位址^ _ .用於長度碼中的X是以编碼範圍所提供的長度偏移量來編 碼的。舉個例子,對於在範圍u_5中,12的字串長度將被 編碼成1110100,4的偏移量在範圍内。最後的記號就是在 位移量碼後的長度碼。當壓縮器完成一個壓縮週期,一個 特殊的檔案結尾記號,最好是1111111111111,會被窝入輸 -13- 本紙張尺度適用中國國家標準(CNS ) A4規格(2Ϊ0Χ 297公釐} "~ A7 B7 4 21 92 6 ·— 五、發明説明(11 ) 出檔:這是用來標示輸出檔的尾端。 動態編碼法是根據靜態編碼法 度値編碼不是用靜態預先定義 :基f原理’除了長 ^^1 ---- - ---- -- I (請先閲讀背面之注意事項.再填寫本頁) 流被處理過後,表格格外,也就是指當資料 理過的資料沪的特微极於、s變,但是動態表是以已經處 二的f料泥的特徵做改變。在這個方法中 :出:見:率會被監控’而當所提供的長度值出現; Ϊ二他較少出現機率的長度値’它會在表ί;, —個較短的記號。最好使用—個預先定義的規則集 器決定,而同時提供這個規則集给壓縮 及解壓縮器裝置’所以當壓縮器在窝人輸出槽時,解 壓縮器同時也將對表格做改變,而對起始資料流,輪出 將被解壓縮器%全的改造。使用動態表,這些較常出現的 長度値會被指定一個較小的記號値,既使經資料流的壓縮 法時出現頻率改變了。 、 例如,在此較佳具體實施例中,第二編碼法一開始就使 用上述方法去產生輸出記號。當記號產生了,邏輯線路便 持續追蹤每一梱記號型式有多少個被產生。假如所提供的 記號型式之頻率超過了較少長度碼位元的記號型式時,這 個高頻率的記號型式便採用較少長度碼位元型式的長度 碼。考慮Table 7所提供的記號化表。 經濟部中决標珞局負工消贽合作社印取 型式 符合的長度 長度碼 位移量碼 A 2 100 九位元碼 B 3' 一 101 九位元碼 C 4-7 lllOxx 九位元碼 D 8-15 111Oxxx 九位7〇碼 E 16-31 111ΙΟχχχχ 九位元碼 F 32-277 1111lxxxxxxxx 九位元碼 -14 - 本纸張尺度適用中囤囤家標隼(CMS ) A4规格(210x297公楚) 經 Μ 部 中 標 準 局 Μ χ. 消 合 作 社 印 t 421 92 6」译 A7 ________B7 五、發明説明(12)
Table 7起始組態中的動態編碼表 舉個例子,假如在一個壓縮作業中,E記號型式的個數超 過D記號型式的個數時,將來的E型式及D型式記號會以 Table 8所提供的來編碼: 型式 符合的長度 長度碼 位移量碼 D 8'15 llllOxxx 九位元碼 E 16-31 lllOxxxx 九位元碼
Table 8重組後的動態编碼表 上面已經提供可被使用的特定具體化實施例。然而,可 了解的是這些記號在較佳具體化實施例中可使用的例子。 當然’在使用記號的廣泛觀念·内也可能運用其他的記號來 將長度資料及位移量編碼,而編碼的動態格式也可更改, 只要有好處的話。 在較佳具體化實施例中,壓縮法以現在的方法執行,所 以此方法同時有幾個不同的步骤會發生。例如,提供多個 比較器’將第三和第二部分做比對,在同一時間内不只一 個第三部份可被比對,而相同的地方因此更快速的被發 現。在較佳具體化實施例中使用了四個比較器。 假如在未來缓衝器中每有任何第三部份與第二部分相同 的話,則經視窗後的資料流以特定字元個數增加。那些從 未來緩衝器增加到過去缓$器的字元會寫入輸出檔,而企 圖將新的第二部分與起始或後y三部分做比對的程序會 重複執行。在較佳具體化實施例中,資料流只有增加一個 單獨的字元,而此字元如上述的寫入輸出檔,並且從從未 來緩衝器增加到過去緩衝器。 -15 本紙张尺度適用中國國家標準{ CNS ) A4規格(2lOX297公釐) (請先閲讀背面之:項辱填寫本頁) -、17 421 6 經濟部中央標準局—工消费合作社印焚 五、發明説明(13) 如上面所提示的,壓縮.裝置可使用一個不同方法在資料 流上更快速的操作’比經過去緩衝器,一系列步驟尋找選 定的資料流第三部分快。最好使用有兩個陣列的裝置,在 過去緩衝器中可較快速辨別第三部分,與選定來與未來緩 衝器中的第二部分做比對相同處。此兩個陣列稱爲指標器 -陣列及記綠陣列。 如綱要所示,當資料流的第一部分讀入视窗時,資料流 的第四部分便用來製造一個索引,可用來在指標器陣列内 選擇一個入口。然後此指標器陣列的入口便用來在記錄陣 列中選擇一個起始入口。記錄陣列中的起始入口包含過去 緩衝器中給資料流起始第三部分的位址,跟與資料流的第 二部份做比對用的部份是相同的。記綠陣列中的起始入口 也擁有記綠陣列位址,此位址是指著記錄陣列的下一個入 口,而下一個入口也包含了給下一個的資料流第三部分之 過去緩衝器位祉,。跟與資料流的第二部份做比對用的部 份是相同的。假如以起始入口做參考的第三部分對第二部 分沒有完全相同的地方,或假如想要比對更多的第三部 分,而就要用下一個入口了。在這個方法中,提供了更高 的效率及容易達成。 存取後績的記錄陣列入口個數最好端賴幾個標準的平衡 點。舉個例子’假如到達記綠陣列的尾端,則選取下一個 記錄陣列入口的程序便可停止。同樣,假如在記錄陣列中 的過去緩衝器位址指到了與第q分有相同處的第三部分 時,且長度跟預定値一樣或更大時,則下—個記綠陣列入 口就不用找了。再來’只有記錄陣列入口的預定個數可找 (請先閱讀背面之注意事項'再填寫本頁) .h- r 一 -16- 度適用中國國家標準(CNS ) A4規格(210x^7公釐) 經濟部中央標準局貝工消費合作社尔深 4 2 ί 92 β 五、發明説明(14) 到,在這個時候任何一個第三部分可能已經被找到,而且 有最大的相同長度,可當作是符合的第三部分。在此方法 中可保證不會花很多時間來找符合的第三部分。 爲了讓指標器陣列與記綠陣列有用,它們必須跟著資料 一起下載,然後在壓縮裝置操作時維持。Fig3提供了此程 序的概觀。爲了下載陣列,資料流一次一個位元组漸增地 讀入视窗,先填入未來缓衝器直到它滿了,而且過去緩衝 器内只有一個資料流的位元组。在這個點上,在較佳具體 化貫施例中,第五部分就是位元组較低的四個位元,已經 剛剛被移入過去緩衝器,而在未來緩衝器中的第一位元组 較低的四個位元(下一個加入過去緩衝器的位元組)會被連 結。這個新的八個位元的位元組就是一個指標器,用來在 指標器陣列中查出一個入口 β因此,指標器陣列的大小與 用來形成指標器位元個數有關係。八個位元表示有256個不 樣的數値’ $就是指標器陣列的大小Θ因此,其他具體 化實施例中,可選擇其他指標器陣列的大小,以適當的位 元數去創造指標器。 在較佳具體化實施例中,記綠陣列長度是5 12個入口,因 此在記錄陣列中需要9個位元去指出一個入口。剛剛提過, 過去緩衝器最好大小爲512位元組,而需要9個位元在過去 緩衝器中當作所有位元組的'位址。也可以_選擇其他記錄陣 列和過去緩衝器的大小,並以適當的位址位元數完整地標 示它們的位址。 — 在指標器陣列中指標器所指的入口只是暫時被讀取及餘 存而已 &在指標器陣列中的位置會被記錄陣列中的下— I-------η裝丨| (請先閲讀背面之項·再填寫本頁) 、1Τ
V — -17· 經满部中央標準局負工消费合作社印絜 421 92S」i A7 I------— B7 五、發明説明(15) ~~~ 個可用位址所覆蓋。對於最前面的第一個週期,這是在允 綠陣列中的第—個入口,對於第二個週期,這是第二個i 口,以此類#。下一個可用記綠位址最好以9位元的記數器 得出,並且當啓動壓縮裝置時,將起始値設爲零。在起始 開始或重置後而所有的入口都無效時,在記錄陣列中的預 設啓動値會指出那些是無效的記綠入口。指標器陣列中的 入口會暫時的儲存起來,並與過去缓衝器中第—位元組的 目刖位址和第一位址所含的位元組相連結,再參照記錄陣 列中下一個可用入口的位址,窝入記錄陣列入口,如同窝 入上述指標器陣列一樣e Fig. 2所提供就是連結的記錄陣列 入口之較佳具體化實施例描述。 在此時’記綠陣列中下一個可用入口値會加一,而下一 個資料流位元组會從未來緩衝器加至過去緩衝器,且產生8 位元索引至指標器陣列的程序及下载指標器陣列和記錄陣 列會週期性的重複。無論何時資料流經視窗時會有增量, 心個程序取好用來更新指標器陣列和記綠陣列,且只要當 資料流每一個位元組從未來緩衝器加至過去緩衝器時就要 作一次。 在較佳具體化實施例中’在此方法中下載及更新指標器 陣列和記錄陣列的目的,是爲了在未來緩衝器的資料流第 二部份與過去缓衝器的資料流第三部份之間,提出一個較 好的候選者來做比對。因此,無論何時經視窗後資料流假 如先前沒有發現有相同處’就增加—個位元组,否則增加 先如比對相同的長度位元組個數,而新的資料流位元組便 進入過去緩衝器,最好能運用找出較佳的候選第三部份之 -18- 本紙张尺度適用中國票準(CNS ) A4规格(2i〇X m公釐)-- {請先閱讀背面之:s$項#*填寫本瓦)
、1T 結濟部中央標準局月工消费合作社印製 421 926 J4 A7 —~~----B7 五、發明説明(16) 一 方法。Fig. 4提供了運用指標器陣列和記錄陣列之較佳方法 的流程圖。 首先,資料流第四部份的每一位元組,也就是在未來緩 衝器的第一個兩位元組(下兩個增加至過去缓衝器的位元 組),其較低之4位元連結成一個8位元的索引,可用來索 引指標器陣列的入口。當從這兩個位元組之一個位元組, 使用不同的包元個數,而不同的位元組個數便可使用,這 就疋在較佳具體化實施例中使用此方法的好處。當進行字 流長度編碼法時,許多資料流不會產生大於丨6的數値,這 意思是説通常資料流處理後的零與壹不會超過丨6個字元長 度。因此,位元组的較低四位元便可包含大部分從字流長 度編碼法來的差異化資訊。所以,這些位元都是用來下載 指標器陣列,及創造用來讀取記錄陣列的索引。在其他具 體化實施例中,也可以使用每一個位元組中的五個位元。 在此具體化實裨例中,指標器陣列的大小最好是1〇24個入 口,這個入口數目可用十個位元來定址。 參照索引的指標器陣列入口,可被讀入及檢查其有效 f生s塾縮方法開始或重置時,一個無效的指標器陣列就 會包含已寫入指標器陣列的預設値。假如指標器陣列的入 口含有無效値的話,則沒有任何第三部份候選者存在,而 壓縮法常式將未來缓衝器的第一個位光組-寫入輸出檔,經 視窗資料流增加一個位元組,且創造一個新索引。 铒如參照索引的指標器陣列入口是有效的,則它就是在 1己錄陣列的一個位址,它是基於指標器陣列的入口所挑選 的。這就是起始記綠陣列入口。在記綠陣列中所選出的入 -19- 本紙疾尺度it财ϋ ®家操準(CNS )八4難_ ( 2丨GX297公费) (請先閲讀背面之注意事項再填寫本頁) 訂 經濟部中央#伞局員工消贤合作社印製 Α7 Β7 五、發明説明(订) 、g含了過去緩衝器位址'另一個記綠陣列位址及先前從 過去緩衝器明到的-個位元組的連結。從過去緩衝器的位 一》 作疋個有效性的檢查。假如此位元組與未來緩衝 器的第-個位7C組並不一樣的話,則記錄陣列入口便是無 故的,也就疋指沒有任何第三部份候選者可作比對檢查。 假如起始記錄陣列入口是有效的,則在這個入口的過去 缓衝器位址參照過去緩衝器的候選第三部分。將此位址傳 至比較器單?,在過去缓衝器中查出第三部份,並在未來 緩衝器中與第二部份比對出相同的地方。假如找到相同的 地万,則由比較器單元判斷符合的長度。 起始記錄陣列入口也包含了記錄陣列下-個入口的位 址。此入口也是用來檢查有效性,假如是有效的,參照此 後續入口疋過去缓衝器位址的過去緩衝器第三部分,會以 比較器檢查出與第二部分之相同冑。此後續的入口會被指
Sit: ’而在記綠陣列中找出更多後續的入口之程 續仃。此尋找另一個入口的程序,及將過去緩 第三部分與未來緩衝器的第二部分持續做比較直 j至個較佳的標準被發現。這些標準就如同上面描 細抽刭了七:適當的相同處已 1到了’或者記錄陣列的財人口個數已經辨別出來, 而匕相關的過去緩衝器位趾已經傳至比較-器 =上’不是找到相同處,就是使用了已經找到= 相同處,而壓縮法如同上面所述^持續進行。 7取1 的之所有的輸入資料流都已經增加時,資料流 的愚縮尤元成了。可了解的是爲了讓裝置工作,不能讓未 {請先閱讀背面之注意事1再填寫本頁)
20 - 421 92 6 A7 B7 五、發明説明(18) 來緩衝器及過去緩衝器有填滿的狀態,但是此裝置會 這些緩衝器的部份是否包含有效的-資訊,例如當檔案的大 小被壓縮的比未來緩衝器或過去緩衝器還小時,就很重 要。如上述被記號化的輸出檔案,可用解壓縮器加以解 縮’此解壓縮器使用上述選擇之反順序的壓縮常式在輪 檔上操作。 當本發明的特定具體化實施例經上述詳細的説明後,可 了解的是,本發明同樣也適用於其他不同的應用,正如熟 悉本技藝的人所知曉的。 I.-------ο衣—— f請先閱讀背面之注意事項#*填巧本頁j 經濟部中央標準局負工消費合作社印製
本紙張尺度適用中國國家樣準(CNS ) A#規格(21〇X297公釐)
Claims (1)
- 421 920 ABCD 經濟部中夬標準局員工消費合作社印31 六、申請專利範圍 l 一種用來壓縮一個資料流的方法,包括: 、Ml取資料流的第-部份至視窗内’此視窗擁有一個 過去緩衝器及一個未來缓衝器, b.從未來緩衝器的資料流第四部分選取一個索引, c·根據索引來選取一個入口, d·根據指標器陣列入口來選擇—個起始入口,記錄陣 列起始入,口擁有一個過去緩衝位址及—個記錄陣列位 址, e選定一個從過去緩衝器倬址開始的資料流第三部 刀,而該過去緩衝器位址是參考起始入口的過去緩衝器 位址, f.將資料流的第三部分與未來緩衝器的資料流第二部 分做比較, g_假如資料流的第三部分與第二部分沒有相同處的 話,則根據起始入口的記綠陣列位址來選擇記綠陣列的 下一個入口,然後此入口會被指定爲起始入口, h‘持續重複執行步驟e至g直到資料流第三部分與第 二部分相符合.,或是記錄陣列已沒有任何的入口, 1.假如在記綠陣列中已沒有任何的入口,則將資料 流的第三部分窝入輸-出檔,以預定的數目增加窝入視 窗的資料流第一部分,而 ii.假如資料流的第三部分-與資料流的第二部分有相 同處’則將資料流第三部分的過去緩衝器位址,資料 流第二邵分與第二邵分有多少位元組長度相同輸出至 -22- 本紙張尺度適用中國國家標準(CNS) Λ4规格(210X297公釐) ^ . ('1蘇-- (誇先閲锖背兩之注^|^^項再填寫本頁) 訂 421926 - ABCD 六、申請專利範園 輸出樓’及以位元組相同的個數增#至讀入視窗的資 料洗第一部分,以及 1.此方法從步驟b不斷地重複,直到所有的資料流都 讀入視窗内。 2. 經濟部中央榇準局員工消費合作社印裝 請 先 閱 % 背 面 之 注-意 項* 再 一種用來壓縮=起始資料流的裝置,包括: a. —種位元方向字流長度處理器,以字流長度编碼法 來選擇性壓縮連續的零與壹字流並產生—個處理過的資 料流, b. —種視窗壓縮器,用來選擇性的將起始和處理過資 料流其中之一的第—部分讀入’此視窗壓縮器包括一個 過去缓衝器,擁有位址及5 12位元 >組容量,以及一個未 來緩衝器’擁有位址及277位元組容量, 訂 c. 一種記錄陣列,具有伴隨位址的入口,入口至少有 一部份包含了給其他記錄陣列入口的位址,及一個過去 緩衝器位址,加上未來缓衝器内資料流的第一個位元 組, d —種指標器陣列,具有伴隨位址的入口,入口至少 有一部份包含了記錄陣列内入口其中之一的位址, e‘用來從未來緩衝器中資料流的第—個位元组和第二 個位元組的一部分,創造出一個索引的裝置, f.用來在指標器陣列中選取及讀取具有與索引一致位 址的入口之裝置, g ·用來確認所選擇的指標陣列入〇之有效性的裝置, 而一個無效的指標器陣列位址入口就是一個不具有記錄 23- 本紙張尺度適用中國國家標準(CNS ) A4規格(21 〇 X W7公釐) 92 〇 經濟部中央標準局員工消費合作社印製 Α8 Β8 C8 D8 申請專利範圍 陣列入口其中之一的位址, h.用來在記綠陣列中選取及讀取一個起始陣列之裝 置,此陣列的位址與指標器陣列中,從有效的入口所讀 到之位址一致, ι_用來確認所選擇的記綠陣列起始入口之有效性的裝 置,而一個無效的記錄陣列起始入口就是不具有未來缓 衝器資料流的第一個位元組, j ·用來選擇從過去緩衝器位址開始的一個資料流第三 部分之裝置,此位址包含在有效的記錄陣列起始入口, k. 比較器單元,用來將資料流第三部分與第二部分做 比較,從未來緩衝器的第一位元組開始,判斷第三部分 與第二部分是否相同,並且進一步決定相同的第三部分 與第二邵分之長度,以位元组個數來表示, l. 根據記錄陣列位址用來在記綠陣列中選擇下一個入 口之裝置,此記錄陣列位址包含於起始入口’然後此後 續入口被指定爲起始入口, 用來在元件j至i間不斷操作的裝置,直到至少遇 到一種情況,包括第三部分與第二部份相同處之位无組 個數至少要等於預定値,不能有任何入口在記錄陣列 内,以及至.少預定數量-喲記綠陣列入口已被檢查過了, η.用來選擇那—個第三部分最符合第二部分之裝置, 以標準來做判定,此標準包γ第三部分的長度及位址, 〇.用來將過去缓衝器位址及所選擇的第三部分長度送 到輸出檔的裝置, 24- 本紙張尺度適用中國) A4W ΰ1〇Χ297,^Τ , . ------------Q------------- —Μ____ (請先閲讀背面之,注意事項存填寫本X ) β Q... A8 B8 C8 D8 申請專利範圍 P.運用靜態表及動態表其中之一,選擇記號化長度輸 出至輸出檔的裝置, q. 靜態表是用來將長度記號化,且根據靜態表之預定 順序’此表格不會因資料流内的差異而改變, r. 動態表是根據法則將長度記號化,這些法則會根據 資料流内的差異而改變動態表的預定順序, s·用來增加讀入视窗内資料流第—部份之位元組個數 的裝置,此位元組個數是以發現相同處之長度來決定 的,如果沒有任何相同處則位元組增加個數爲一,持續 進行直到所有的資料流都被壓縮,而 t·用來寫入一個1111111111111的値至輪出檔的裝置。 (請先閲讀背面之注意事1#·填寫本頁} -裝· 訂 經濟部中央標準局員工消費合作社印製 -25 私纸張尺度適用中國國家標準(CNS ) a4規格(210 X 297公釐)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/854,716 US5798718A (en) | 1997-05-12 | 1997-05-12 | Sliding window data compression method and apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
TW421926B true TW421926B (en) | 2001-02-11 |
Family
ID=25319383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW087107322A TW421926B (en) | 1997-05-12 | 1998-07-24 | Data compression method and apparatus |
Country Status (6)
Country | Link |
---|---|
US (1) | US5798718A (zh) |
EP (1) | EP0878914A3 (zh) |
JP (1) | JP3362177B2 (zh) |
KR (1) | KR19980086979A (zh) |
CN (1) | CN1104094C (zh) |
TW (1) | TW421926B (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7190284B1 (en) | 1994-11-16 | 2007-03-13 | Dye Thomas A | Selective lossless, lossy, or no compression of data based on address range, data type, and/or requesting agent |
US6339614B1 (en) * | 1996-12-20 | 2002-01-15 | Intel Corporation | Method and apparatus for quantizing and run length encoding transform coefficients in a video coder |
US6879266B1 (en) | 1997-08-08 | 2005-04-12 | Quickshift, Inc. | Memory module including scalable embedded parallel data compression and decompression engines |
US6822589B1 (en) | 1999-01-29 | 2004-11-23 | Quickshift, Inc. | System and method for performing scalable embedded parallel data decompression |
US6885319B2 (en) * | 1999-01-29 | 2005-04-26 | Quickshift, Inc. | System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms |
US6208273B1 (en) | 1999-01-29 | 2001-03-27 | Interactive Silicon, Inc. | System and method for performing scalable embedded parallel data compression |
US6145069A (en) * | 1999-01-29 | 2000-11-07 | Interactive Silicon, Inc. | Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices |
US7538694B2 (en) | 1999-01-29 | 2009-05-26 | Mossman Holdings Llc | Network device with improved storage density and access speed using compression techniques |
US7129860B2 (en) * | 1999-01-29 | 2006-10-31 | Quickshift, Inc. | System and method for performing scalable embedded parallel data decompression |
US6819271B2 (en) | 1999-01-29 | 2004-11-16 | Quickshift, Inc. | Parallel compression and decompression system and method having multiple parallel compression and decompression engines |
US6320523B1 (en) * | 1999-07-30 | 2001-11-20 | Unisys Corporation | Method and apparatus for reducing the time required for compressing data |
US6188333B1 (en) * | 1999-08-12 | 2001-02-13 | Unisys Corporation | LZW data compression apparatus and method using look-ahead mathematical run processing |
US6515598B2 (en) * | 2000-12-22 | 2003-02-04 | Cilys 53, Inc. | System and method for compressing and decompressing data in real time |
US6744388B1 (en) * | 2002-06-19 | 2004-06-01 | Xilinx, Inc. | Hardware-friendly general purpose data compression/decompression algorithm |
US6667701B1 (en) * | 2002-07-16 | 2003-12-23 | Motorola, Inc. | Variable length decoder |
US7143238B2 (en) * | 2003-09-30 | 2006-11-28 | Intel Corporation | Mechanism to compress data in a cache |
US20070263668A1 (en) * | 2006-05-11 | 2007-11-15 | Lau David K W | System, method and computer program for evaluating the audio quality of a received audio record |
CN1997011B (zh) * | 2006-07-26 | 2011-01-12 | 白杰 | 数据分割方法和数据分割装置 |
NZ549548A (en) * | 2006-08-31 | 2009-04-30 | Arc Innovations Ltd | Managing supply of a utility to a customer premises |
US7511640B2 (en) * | 2007-01-31 | 2009-03-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Digital compression of binary data blocks |
US7486211B2 (en) * | 2007-04-13 | 2009-02-03 | Apple Inc. | Method and system for entropy coding |
US20080259891A1 (en) * | 2007-04-17 | 2008-10-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Multiple packet source acknowledgement |
US7804428B2 (en) | 2008-11-10 | 2010-09-28 | Apple Inc. | System and method for compressing a stream of integer-valued data |
EP2451083A1 (en) | 2010-11-09 | 2012-05-09 | Océ-Technologies B.V. | Method for compressing and decompressing digital data |
CN103270699B (zh) * | 2010-12-28 | 2016-08-10 | 国际商业机器公司 | 用于确定搜索起点的装置和方法 |
US8848250B2 (en) | 2012-10-23 | 2014-09-30 | Kyocera Document Solutions Inc. | Compression of halftoned digital images |
US9384204B2 (en) * | 2013-05-22 | 2016-07-05 | Amazon Technologies, Inc. | Efficient data compression and analysis as a service |
CN104156990B (zh) * | 2014-07-03 | 2018-02-27 | 华南理工大学 | 一种支持特大型数据窗口的无损压缩编码方法及系统 |
US9407287B2 (en) * | 2014-10-21 | 2016-08-02 | Huawei Technologies Co., Ltd. | Parallel history search and encoding for dictionary-based compression |
US9946522B1 (en) * | 2016-12-16 | 2018-04-17 | International Business Machines Corporation | Generating code for real-time stream processing |
CN108845746A (zh) * | 2018-07-13 | 2018-11-20 | 成都东方闻道科技发展有限公司 | 一种答题组件 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1249924B (zh) * | 1962-07-17 | |||
US3739085A (en) * | 1971-07-09 | 1973-06-12 | Addressograph Multigraph | Coding technique |
US4464650A (en) * | 1981-08-10 | 1984-08-07 | Sperry Corporation | Apparatus and method for compressing data signals and restoring the compressed data signals |
US4494108A (en) * | 1981-11-09 | 1985-01-15 | International Business Machines Corporation | Adaptive source modeling for data file compression within bounded memory |
JPH0828053B2 (ja) * | 1983-08-08 | 1996-03-21 | 株式会社日立製作所 | データ記録方法 |
GB2172127B (en) * | 1985-03-06 | 1988-10-12 | Ferranti Plc | Data compression system |
JPS61295765A (ja) * | 1985-06-25 | 1986-12-26 | Hitachi Ltd | ランレングス符号化復号化方式 |
US4626829A (en) * | 1985-08-19 | 1986-12-02 | Intelligent Storage Inc. | Data compression using run length encoding and statistical encoding |
JPH0815263B2 (ja) * | 1986-12-12 | 1996-02-14 | 株式会社日立製作所 | データ圧縮復元方法 |
US4876541A (en) * | 1987-10-15 | 1989-10-24 | Data Compression Corporation | Stem for dynamically compressing and decompressing electronic data |
US4906991A (en) * | 1988-04-29 | 1990-03-06 | Xerox Corporation | Textual substitution data compression with finite length search windows |
US5126739A (en) * | 1989-01-13 | 1992-06-30 | Stac Electronics | Data compression apparatus and method |
US5146221A (en) * | 1989-01-13 | 1992-09-08 | Stac, Inc. | Data compression apparatus and method |
US5003307A (en) * | 1989-01-13 | 1991-03-26 | Stac, Inc. | Data compression apparatus with shift register search means |
US5016009A (en) * | 1989-01-13 | 1991-05-14 | Stac, Inc. | Data compression apparatus and method |
GB2232797B (en) * | 1989-06-16 | 1993-12-08 | Samsung Semiconductor Inc | RAM based serial memory with pipelined look-ahead reading |
US4971407A (en) * | 1989-08-09 | 1990-11-20 | Unisys Corp. | Two stage run and string data compressor providing doubly compressed output |
JP2940948B2 (ja) * | 1989-08-22 | 1999-08-25 | 富士通株式会社 | データ圧縮方式 |
US4988998A (en) * | 1989-09-05 | 1991-01-29 | Storage Technology Corporation | Data compression system for successively applying at least two data compression methods to an input data stream |
US4955066A (en) * | 1989-10-13 | 1990-09-04 | Microsoft Corporation | Compressing and decompressing text files |
US5001478A (en) * | 1989-12-28 | 1991-03-19 | International Business Machines Corporation | Method of encoding compressed data |
US5049880A (en) * | 1990-04-02 | 1991-09-17 | Tektronix, Inc. | Bit-wise run-length encoding for data compression |
US5049881A (en) * | 1990-06-18 | 1991-09-17 | Intersecting Concepts, Inc. | Apparatus and method for very high data rate-compression incorporating lossless data compression and expansion utilizing a hashing technique |
US5051745A (en) * | 1990-08-21 | 1991-09-24 | Pkware, Inc. | String searcher, and compressor using same |
US5473326A (en) * | 1990-12-14 | 1995-12-05 | Ceram Incorporated | High speed lossless data compression method and apparatus using side-by-side sliding window dictionary and byte-matching adaptive dictionary |
US5140321A (en) * | 1991-09-04 | 1992-08-18 | Prime Computer, Inc. | Data compression/decompression method and apparatus |
US5426779A (en) * | 1991-09-13 | 1995-06-20 | Salient Software, Inc. | Method and apparatus for locating longest prior target string matching current string in buffer |
US5155484A (en) * | 1991-09-13 | 1992-10-13 | Salient Software, Inc. | Fast data compressor with direct lookup table indexing into history buffer |
US5455943A (en) * | 1992-10-08 | 1995-10-03 | Salient Software, Inc. | Method and apparatus for finding longest and closest matching string in history buffer prior to current string |
US5260693A (en) * | 1991-10-11 | 1993-11-09 | Spacelabs Medical, Inc. | Method and system for lossless and adaptive data compression and decompression |
US5371499A (en) * | 1992-02-28 | 1994-12-06 | Intersecting Concepts, Inc. | Data compression using hashing |
US5227788A (en) * | 1992-03-02 | 1993-07-13 | At&T Bell Laboratories | Method and apparatus for two-component signal compression |
US5379036A (en) * | 1992-04-01 | 1995-01-03 | Storer; James A. | Method and apparatus for data compression |
US5659713A (en) * | 1992-04-24 | 1997-08-19 | Digital Equipment Corporation | Memory stream buffer with variable-size prefetch depending on memory interleaving configuration |
US5586294A (en) * | 1993-03-26 | 1996-12-17 | Digital Equipment Corporation | Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer |
US5384567A (en) * | 1993-07-08 | 1995-01-24 | International Business Machines Corporation | Combination parallel/serial execution of sequential algorithm for data compression/decompression |
US5521597A (en) * | 1993-08-02 | 1996-05-28 | Mircosoft Corporation | Data compression for network transport |
US5563595A (en) * | 1993-12-23 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for compressing data |
US5525982A (en) * | 1994-04-15 | 1996-06-11 | International Business Machines Corporation | Method and means for character string pattern matching for compression and the like using minimal cycles per character |
US5502439A (en) * | 1994-05-16 | 1996-03-26 | The United States Of America As Represented By The United States Department Of Energy | Method for compression of binary data |
US5572206A (en) * | 1994-07-06 | 1996-11-05 | Microsoft Corporation | Data compression method and system |
-
1997
- 1997-05-12 US US08/854,716 patent/US5798718A/en not_active Expired - Lifetime
-
1998
- 1998-05-12 CN CN98108311A patent/CN1104094C/zh not_active Expired - Fee Related
- 1998-05-12 EP EP98108584A patent/EP0878914A3/en not_active Withdrawn
- 1998-05-12 KR KR1019980017050A patent/KR19980086979A/ko not_active Application Discontinuation
- 1998-05-12 JP JP16910098A patent/JP3362177B2/ja not_active Expired - Fee Related
- 1998-07-24 TW TW087107322A patent/TW421926B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JPH1188192A (ja) | 1999-03-30 |
EP0878914A3 (en) | 1999-03-10 |
CN1200604A (zh) | 1998-12-02 |
CN1104094C (zh) | 2003-03-26 |
KR19980086979A (ko) | 1998-12-05 |
US5798718A (en) | 1998-08-25 |
EP0878914A2 (en) | 1998-11-18 |
JP3362177B2 (ja) | 2003-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW421926B (en) | Data compression method and apparatus | |
JP4261779B2 (ja) | データ圧縮装置および方法 | |
TW312771B (zh) | ||
CA2314939C (en) | Method and apparatus for simultaneously encrypting and compressing data | |
JP3278297B2 (ja) | データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置 | |
JP3778087B2 (ja) | データ符号化装置及びデータ復号装置 | |
EP0903866B1 (en) | Method and apparatus for data compression | |
US7973680B2 (en) | Method and system for creating an in-memory physical dictionary for data compression | |
JPS59231683A (ja) | データ圧縮方法 | |
JPS61242122A (ja) | 文字データ・ストリームの適応的圧縮方法 | |
JP2019036810A (ja) | データ圧縮装置、データ復元装置、データ圧縮プログラム、データ復元プログラム、データ圧縮方法、およびデータ復元方法 | |
JP2004518327A (ja) | 逆進的にストリングを参照する為の識別子を用いたデータ圧縮方法 | |
JPH05241777A (ja) | データ圧縮方式 | |
JPH03204234A (ja) | 圧縮データ復元方法 | |
JPH0779265B2 (ja) | 圧縮データの復号方法 | |
CN114866091A (zh) | 基于划分组参考数的差值编码压缩及解压缩方法 | |
US6762700B2 (en) | NEO method and system for lossless compression and decompression | |
JPH0738447A (ja) | ハフマン符号の符号化でのランレングス抽出方法、ハフマン符号変換方法およびmh符号化処理方法 | |
JPH04280517A (ja) | データ圧縮および復元方式 | |
JP2003273746A (ja) | 可変長符号復号装置 | |
JP3038233B2 (ja) | データ圧縮及び復元装置 | |
Anisimov et al. | Variable length prefix (Δ, k)-codes | |
JPH06251070A (ja) | 単語検索のための電子辞書圧縮方法及び装置 | |
JPH08149016A (ja) | 文字列の符号化方法 | |
KR100268833B1 (ko) | 효율적 면적의 가변길이 부호화 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |