TW421926B - Data compression method and apparatus - Google Patents

Data compression method and apparatus Download PDF

Info

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
Application number
TW087107322A
Other languages
English (en)
Inventor
Craig Eric Hadady
Original Assignee
Lexmark Int Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lexmark Int Inc filed Critical Lexmark Int Inc
Application granted granted Critical
Publication of TW421926B publication Critical patent/TW421926B/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3086Compression; 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion 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)

  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公釐)
TW087107322A 1997-05-12 1998-07-24 Data compression method and apparatus TW421926B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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