TW410505B - Method and apparatus for providing improved data compression efficiency for an adaptive data compressor - Google Patents

Method and apparatus for providing improved data compression efficiency for an adaptive data compressor Download PDF

Info

Publication number
TW410505B
TW410505B TW087105113A TW87105113A TW410505B TW 410505 B TW410505 B TW 410505B TW 087105113 A TW087105113 A TW 087105113A TW 87105113 A TW87105113 A TW 87105113A TW 410505 B TW410505 B TW 410505B
Authority
TW
Taiwan
Prior art keywords
data
counter
byte
data byte
patent application
Prior art date
Application number
TW087105113A
Other languages
English (en)
Inventor
David John Craft
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Application granted granted Critical
Publication of TW410505B publication Critical patent/TW410505B/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
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • 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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • 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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

A7 410505 五、發明説明q ) 發明背景 1 .技術領域 本㈣通常與-種用來愿縮資料的方法及裝置有關, 特别疋與tt用來執行可適性(a㈣tive)資料壓縮的方法及 裝置有關,又更特別的是,本發明與_種用來提供針對 適性資料I縮器之改良式資料壓縮效率的方法及裝 關。 , 2.先前技藝之描述 針對種恩縮演算法(compression algorithm)而呈現出打 算被壓縮(資料的型式可以有择大地變化。所以,爲了要 得到一種範圍很廣的資料型式叫較佳壓縮效能,在性質上 就得使大多數的壓縮演算法成爲可適性的。古典的蘭佩爾 -齊夫1型(Lempel-Ziv 1,簡稱LZ_1)和蘭佩爾_齊夫2型 (Lempel-Ziv 2,簡稱LZ_2)壓縮演算法都會具體實施這種 觀念達到某種程度。 經濟部中央標準局員工消费合作社印11 在LZ_ 1情形中’將處理過的每個位元组移到一種最初是 it的歷史緩衝器(history-buffer)。這種歷史緩衝器可以被 想成疋一種遍及位元组(byte-wide)之移位暫存器;並且, 一旦將歷史緩衝器完全填滿,每個新的輸入資料位元組就 會將最舊的資料位元组從歷史緩衝器中移走。將在歷史緩 衝器内的目前内容和輸入資料位元組加以比較,以識別稍 早已經發生之諸輸入資料位元組的任柯匹配字串(strings) 或序列(sequences),它們則仍然保持在歷史緩衝器中。然 後以一種更緊密形式來编碼這種輸入資料序列,因而產生 -4 - 本紙汝尺度適用中國國家#準(CNS ) A4現枋(210X297公犮) Λ7 410505 _______ B7 五、發明説明(2 ) 在歷史緩衝器内之匹配字串的起點和匹配字串的長度,進 而這會形成LZ_1壓縮演算法的基礎。一種LZ_1還原器 (decompressor)會用一種在LZ_1壓縮器内之歷史緩衝器的 相同資料歷史來維持一歷史緩衝器;並且,當解碼一項參 考(reference)時,只會拷貝這些字串作爲它的輸出。 在LZ_2情形中,維持了諸多資料序列之一辭典,而這些 辭典字目(dictionary entries)的參考則構成LZ_2壓縮演算法 的基礎。當輸入資料與諸多辭典字目中之一字目匹配時並 不需要編碼長度,因爲長度也被保持养辭典中。因此,根 據一種LZ_2壓縮演算法的已壓尊輪出資料通常只是由表示 辭典字目的一種數字序列所組成。諸多可適性LZ_2建構例 都會根據輸入資料加以連續地增加一些新的辭典字目。就 像在LZ_1情形中那樣,lZ_2壓縮器和LZ_2還原器都會以 一種相同結構開始並加以維持,雖然在Lz_2情形中,當辭 典填滿時就會使用不同的管理策略。 一—般說來’打算被壓縮之一資料流常被發覺包含諸多相 同字元的序列’一般通稱爲"行程"(runs)。譬如説,可執 行代碼常會包含諸多”〇〇"字元的有效行程。並且,代碼編 澤程式(code compilers)常會產生空資料(null data),以便將 諸多阵列或變數初始化到一已知狀態。此外,資料庫軟體 常會以不是全空白(an bIank)就是全零字元來配置一些資 料爛位此外’二進制位元映_ (binary bitmap)圖像資料 常會包含許多白空間”(whitespaces),典型爲諸多”〇〇"字 元’ ^表示八個像素(pixels)都是全空白。在其它方面,灰 -5- ! I - Γ1 1- I - -^- I - 4^1 - - n 丁 T 1-* (諳先閱讀背面之注貪事項#填寫本頁) 經濟部中央標準局員工消費合作社印製 本紙择尺度適用中國囡家標準(CNs) 八4規招(210;< 297公*) A7 B7 410505 五 '發明説明(3 ) ' 度(grey scale)或彩色圖像資料,特別是,使用每像素一個 位元组方法將它加以编碼’也可能包含諸多長行程的相同 資料位元组。 這種行程可能導致在資料壓縮器内的一些不必要又無效 益的適應。再者,因爲LZ_1中之一歷史緩衝器或在二(2 中之一辭典可能很容易地隨著來自—行程的諸多相同資料 位元組而溢流(overflowed);所以在行程之後,資料壓缩 器需要一會兒來重獲它的最佳壓縮比。因此,提供一種給 予資料壓縮器較佳資料壓縮效率的方绛及裝置應該是想要 的,使得:在發生一行程情況_冬後,資料壓縮器可能會更 迅速地重獲它的最佳壓縮效率。 發明概要 由前述者看來,所以本發明之一目的是:提供—種用來 壓縮資料的改良式方法及裝置。 本發明之另一目的是:提供一種用來執行可適性資料壓 縮的—改良式方法及裝置。 本發明之又一目的是:提供一種用來提供針對可適性資 料壓縮器之較佳資料壓縮效率的改良式方法及裝置。 、 根據本發明之一方法,將一未壓縮資料流發送到—資料 壓縮器單元。但是,在將未壓縮資料流發送到資料壓縮器 單元之前’首先將來自未壓縮資料流之一輸入資料位元^ 和來自未壓縮資料流之一前資_料-体元組加以比齡 ^ 碼"弟一 計數器數値增量’以回應在輸入資料位元組與前資料心、 組之間的一種匹配。在第一計數器數値已經達丨 —預設値 -6- 本故張尺度適用中國國家標準(CNS ) Λ4^枋(210X297公趁) n - ---------- V Γ --,-=4 f請先閲讀背面之注愈事項再填寫本頁j 經濟部中央標準局員工消費合作社印焚 410505 A7 B7 經濟部中央標準局貝工消f合作社印裝 五、發明説明(4 之後,然後將第二計數器赵付祕 数値增量,以回應在輸入資料位 元組與它的前資料位元組之㈣諸多隨後匹配。在輸入資 料位元組之—行程的完成時,最後Μ第| 送到資料壓縮器單元,以代巷件ρ 士 . , 代瞀仃私之—邵份,使得:在未 I縮資料流内發生行程情況之德,咨M 4 . H几足恢’貝枓壓縮器單元能夠很 快地重獲它的最佳壓縮比。 在下列的詳細書面描述中’本發明的所有目Μ,特點, 及優點將會變得顯而易見的。 ' 附圖概述 當連同諸多附圖加以閲讀時士:藉由參考—圖解説明實施 例的下列闡述,就能徹底瞭解:發明本身,以及一種較佳 使用模式,關於它的另外一些目的及優點,其中: 圖la疋,一種資料壓縮器單元之一方塊圖,其中可能將 本發明之一較佳實施例併入; 圖lb是:一種資料還原器單元之一方塊圖,其中可能將 本發明之一較佳實施例併入: 圖2是:根據本發明之一較佳實施例,一種用來提供針 對資料壓縮器單元之改良式壓縮效率的資料前置壓縮器 (pre-compressor)之一方塊圖; 圖3是:根據本發明之一較佳實施例,一種用來提供針 對資料前置壓縮器之改良式資料壓縮效率的方法之一狀態 圖(state diagram);以及 _ 圖4是:根據本發明之一較佳實施例’一種用來提供針 對資料後置壓縮器(post-compressor)之改良式資料歷縮效 本紙乐尺度適用中國®家標準(CNS ) A4峴柢(210X29?公s ) -----------.衣------、玎 (請先M讀背面之注意事項再填寫本頁) 410505 at --------- B7 五、發明説明(5 ) ~~~ — 率的方法之一狀態圖。 一較佳實施例之闡述 可能和諸如:蘭佩爾-齊夫丨型,蘭佩爾_齊夫2型等等的 許多可適性資料壓縮演算法型式共同建構本發明。那些熟 S於此技藝者將會瞭解:可能用硬體或軟體方式來建構本 發明。 現在參考諸多附圖,且特別是圖1 a,繪示有:一種資料 壓縮器單元之一方塊圖,其中可能將本發明之一較佳實施 例併入。如圖所示,將壓縮器單元丨〇耦合到:一控制器 1 1,以及一隨機存取記憶體一内容可定址記憶體 (content-addressable memory,簡稱 CAM) 1 2。在壓縮器單 經濟部中央標準局負工消費合作社印製 I · 1· ^^1 -11 ^^1 — -I - 111 —^1 ' Τ-. "V--Φ (#先閱讀背面之注意事項再填寫本頁) _
元1 0内,可能建構任何型式的可適性壓縮演算法。可適性 壓縮演算法的諸多實例包括:一些古典的演算法,諸如爲 那些熟習於此技藝者所熟知的蘭佩爾-齊夫1型和蘭佩爾_ 齊夫2型;或者一種比較屬於同一時代的演算法,諸如可 適性典4貝失資料壓縮法(Adaptive Lossless Data Compression ’簡稱ALDC),該方法被描述於:由四分之一 英叶卡匣磁帶機標準公司(Quarter-Inch Cartridge Drive Standards, Inc)印行,1994 年 3 月 1 0 日,修訂 A 版的"QIC (四分之一英吋卡匣)發展標準第QIC-154號"文獻中,它的 主題則被併入於此以供參考。和被選定壓縮演算法有關聯 的所有資料結構’諸如:適於-蘭·-佩爾-齊夫1型的歷史緩衝 器或適於蘭佩爾-齊夫2型的辭典,都被維持在RAM/CAM 1 2内。因此’ RAM/C AM 12的最佳尺寸端視壓縮器單元1 〇 -8- 本纸乐尺度適用中國國家標準(CNS ) Λ4規格(2丨0x297公兑) — 4105Ό5 A7 B7 經濟部中央標隼局員工消費合作社印絮 五、發明説明(6 内所使用的壓縮演算法型式而定。在操作期間,首先由壓 縮器單元1 0接收來自資料源1 3之未壓縮資科流。在資料 編碼之後,隨後將已壓縮資料流傳送到資料接收器(data sink) 14 〇 ., 現在參考圖lb ’繪示有:一種資料還原器單元之—方塊 圖’其中可能將本發明之一較佳實施例併入。如圖所示, 將還原器單元1 5耦合到:一控制器1 6,以及_ RAM 17。 與RA_M 12相似,將適於還原器單元〖5的所有資料結構都 維持在RAM Π内,因而RAM Π的尺寸端視壓縮器單元} 〇 内所使用的壓縮演算法型式兩苳在操作期間,首先由還 原器單元1 5接收來自資料源1 9之已壓縮資料流。在資料 解碼之後,隨後將未壓縮資料流從還原器單元15傳送到資 料接收器1 8。 現在參考圖2,圖解説明有:根據本發明之—較佳實施 例,一種用來提供針對圖1 a的壓縮器單元〗〇之改良^壓 縮,率的資料前置壓縮器之一方塊圖。最好是將前置壓縮 器單元2 0耦合在資料源丨3與壓縮器單元丨〇之間。如圖所 示,前置壓縮器單元20包括:第—暫存器22,第二暫存 器23 ’比較器24 ’第一計數器25,第二計數器26,以及 多工器2 1。 在操作期間’首先將來自未壓縮資料流的每個輸入資料 位元組都儲存在第—暫存器22_。來自未壓縮資料流的另 -輸入資料位元組-到達,就將m資料位元组發送到 第二暫存器23。因此,第二暫存器榀枝7十 $伃器2 3保持了來自未壓縮 k紙浪尺度適用申國國家標準(CNS ) A4规桔( !---- - - ^------ T -Ho (請先閱讀背6之注意事項再填寫本頁) 410505 A7 B7 五、發明説明(7 ) —~-~~ -- 資料流之一前(即:緊接在前'j杳Μ ν、- y 系校杜iiu貪枓乜疋組的數値。然後利 用比較器24 ’將儲存在第-暫存器22中的輸人資料位元 組和儲存在第二暫存器23中的前資料位元組加以比較。雖 然最初將第-計數器25重新設定成零;但是,每當儲存在 第一暫存器22中的輸入資料位元組與儲存在第二暫存器 2 3中的前資料位元組之間有—種匹配而由比較器2 4指示 時,就會將第-計數器25增量。在其它方面,若儲存在第 —暫存器22中的輸入資料位元組與儲存在第二暫存器23 中的前資料位元組之間有一種不匹配,則再度將第一計數 益25重新設定。並且,若儲存一第一暫存器2 2中的資料 位το組(即:輸入資料位元組)與儲存在第二暫存器23中的 糾;貝料位元組之間有一種不匹配,則經由多工器2 1將來自 未壓縮資料流的輸入資料位元组發送到壓縮器單元1 〇 ^ 有一個與第一計數器2 5有關聯的預設値;並且,一旦達 到此預設値,將會捨棄來自未壓縮資料流之任何附加的輸 入資料位元組,該位元组則仍然與它來自未壓縮資料流的 ㈤資料位元組匹配。這表示:在未|縮資料流内發生—行 程情況。此時,就一輸入資料位元組與它的前資料位元組 之間的任何匹配情況而言,換成是:將第二計數器2 6增 量。當一輸入資料位元组與它的前資料位元組之間最後發 生了 一種不匹配時,繼不匹配輸入資料位元组之後,將儲 存在第二計數器2 6内的累積計_數:傳遞到壓縮器單元1 〇。 第一計數器2 5的預設値應該是ι相當小的,就大多數的未 壓縮資料流而言,對應於行程長度(run length)爲4的數 -10- 本纸張尺度剌中國财標準(CNS ) (2!Gx 297公龙) (請先閱讀背面之注倉事項再填寫本頁)
、1T 經濟部中央標隼局貝工消资合作社印裝 A7 ___ 410505 — —* -—- __ 五、發明説明(s ) ^,3,被發覺是相當適宜的。因此,只會將來自一未壓 縮資料流的所有資料位元组傳遞到壓縮器單元丨〇,該資料 ’走包含諸多小於預設値爲4的行程;以便根據其中所使用 的壓縮演算法,供進一步處理之用。 因爲大多數的可適性壓縮演算法都是基於字元的,所以 兩個計數'器2 5,2 6的尺寸最好是應該與一字元的相同, 匕典型爲八個位元長。若行程的長度恰好與預設値的相 同,則將一計數値"〇〇"傳遞到壓縮器單元丨〇。若行程比預 設値還長一個位元組,則將一計數値."01',傳遞到壓縮器單 π 1 0等等。若諸多8位元字元皆在使用中,則使用最高値 作爲個"十數連續冬元(count co.ntinuation character)。 現在參考圖3,圖解説明有:根據本發明之一較佳實施 例,一種用來提供針對資料前置壓縮器之改良式資料壓縮 效率的方法之一狀態圖。開始於狀態(〇〇)處,將"可用旗標 "(Available-Flag) ’ ”第一計數器μ,,,第二計數器,,都設定 成零,然後前往狀態(01)。在狀態(〇1)中,前置壓縮器會 等待一輸入"資料位元组|,請求。在狀態(〇2)中,做一個關 於"可用旗標"是否被設定成〇的決定;若是,則前往狀態 (04);若不是,則前往狀態(03)。 在狀態(03)中,將一先前儲存的新"資料位元組"遞送到 壓縮器。在狀態(04)中,從資料源中提取一 ”資料位元組 ”,然後前往狀態(05)。在狀態刊5)中,做一個關於"第— 計數器"是否達到”預設限値,,(Preset Limit)的決定;若 是’則前往狀態(08);若不是’則前往狀態(〇7)。 -11 - 本纸掁尺度適用中囡囡家標準(CNS > Λ4現格( 1 —r n n n I '良 I—1 ___- _I---- 丁 *-° (請先閱讀背面之注意事項再填荇本頁) 經濟部中央標準局貝工消贤合作社印^ 經濟部中央標準局負工消费合作社印製 410505 at --- B7 五、發明説明(9 ) 在狀怨(0 6)中,做一個關於新"資料位元組"是否與”前位 元组相同的決定;若是,則前往狀態(〇g);若不是,則前 往狀態(07)。 在狀態(07)中,將"第一計數器重新設定成零,然後前 往狀態(09)。在狀態(〇8)中,將"第一計數器”増加1 ’然後 前往狀態(09)。在狀態(1 〇)中,將新”資料位元组"遞送到 餐縮器,然後前往狀態(〇 i)。 在狀態(10)中,做一個關於新,,資料位元組η是否與"前位 元組”相词的決定;若是,則前.往狀態(13);若不是,則前 往狀態(11)。在狀態(12)中,將可用旗標_,設定成!,然後 前往狀% (01)。 在狀態(13)中,將·,第二計數値"增加丨’然後前往狀態 (14)。在狀態(14)中,做一個關於"第二計數器,,是否達到 其最大値的決定;若是,則前往狀態(i 5);若不是,則前 往狀態(04)。 在狀態(15)中,將"第二計數器"數値遞送到壓縮器,然 後前往狀態(16)。在狀態(16)中,將"第二計數器"數値重 新設定成”01" ’然後前往狀態(01)。 現在參考圖4,圖解説明有:根據本發明之一較佳實施 例,針對對應之資料後置壓縮器的—種高階狀態圖。開始 於狀,¾ (00)處,將"擴充旗標(Extension-Flag) ’_,第一計數 益","第二計數器》都設定成零-^然後俞往狀態(〇 1)。 在狀態(01)中’等待著來自還原器之—新”&料位元組,, 請求的輸出。在狀態(02)中,做一個關於,,擴充旗標„是否 -12- 本紙張尺度適用中關家縣(CNS ) Λ4· ( 210X297^^7 _1 n -___ _ hi _ - I —I I ^ - n _ ____ T "V 、-0 (請先閱讀背面之注·*$項再填寫本頁) Λ7 B7 410505 五、發明説明(10 ) 被設定成〇的決定:若是,則前往狀態(13);若不是,則 前往狀態(03)。 在狀態(03)中,將-新,,資料位元組,,數値載人到第二計 數器,,。繼(04)中,做一個關於,,第i計數器”是否達 到其最大値的決定;若是’則前往狀態(〇9) 不是,則 前往狀態(05)。 , 在狀(〇5)中,~擴充旗標"重新設定成零,然後前往 狀態(06)。在狀態(06)中’做一個關於"第三計數器"數値 是否爲㈣決定1是,則前往狀態(⑽);若不是,則前 往狀態(07)。在狀態(07)中,爲前”資料位元组„遞送到輸 出,然後前往狀態(〇8)。在狀蟫(〇8)中,將"第二計數器,, 減少1,然後前往狀態(〇6)。 在狀態(09)中,將"擴充旗標,,設定成丨,然後前往狀態 (10)。在狀態(10)中,將前"資料位元組"遞送到輸出,然 後前往狀態(11)。在狀態(1 υ中,將”第二計數器,,減少1 , 然後削往狀態(12)。在狀態(12)中,做一個關於,,第二計數 器'1數値是否大於丨的決定:若是,則前往狀態(1〇);若不 是,則前往狀態(01)。 在狀(13)中,做一個關於’’第一計數器„是否達到"預設 限値11的決定;若是,則前往狀態(〇3);若不是,則前往狀 態(14)。 在狀% (14)中,將新”資料位元组μ數値遞送到輸出,然 後削往狀% (15)。在狀態(15)中,-做一個關於新,,資料位元 組疋否與"前位元組11相同的失定:若是,則前往狀態 -13- 本紙掁尺度適用中國國家栳準(CNts ) Λ4规格(21 ο χϊτΰ^·. (請先閲讀背面之注‘意事項#填窍本頁) -β 經濟部中央標隼局員工消費合作社印犁 A7 B7 輸入到壓縮器 03 02 02 20 A7 -96 FF FF FF FF 00 A2 '3 1 30 30 30 30 01 39 0A 40 40 40 40 05 C3 64 00 00 00 〇〇 FE 32 9B 00 〇〇 00 〇〇 FF 00 8D 20 40 40 40 40 FF 01 20 410505 五、發明説明(n ) (17):若不是,則往狀態(16)。在狀態(16)中,將"第一計 數器"數値重新設定成零,然後前往狀態(01)。在狀態(17) 中’將第一計數器”增加1,然後前往狀態(〇丨)。 表I是·.根據本發明之一較佳實施例,一個圖解説明了 基於輸入資料流而得自前置壓縮器單元2〇之諸結果的實 例。在此實例中’將預設値設定成3並使用一種8位元符號 (一個位元組)。 輸入資料流 C3 02 02 02 A7 96 FF FF FF FF A2 31 30 3〇 30 30 30 39 0A 40 .·(行程爲9) ,, 40 C3 64 00 ,·(行程爲258) .. 〇〇 32 9B 00 .·(行程爲259) .. 〇〇 8D 20 40 .,(行程爲260) 40 20
表I 如已經描述的,本發明提供一種用來提供針對壓縮器單 元之改良式資料壓縮效率的方法及裝置。爲了圖解説明, 雖然遍及整個發明只使用一種壓縮器單元,但是爲那些熟 習於此技藝者所瞭解的是:如所描述的一種前置壓縮器也 必須使用一種對應的後置還原!ί。最好是將這種後置還原 器耦合在圖1 b的還原器單元1 5與資料接收器1 8之間。 後置還原器會執行前置壓縮器的反向操作。將來自還原 器單元的每個資料位元組輸出和它的前資料位元組加以比 14- (紙張尺度璉用中國國家標準(CNS ) A4規柏 —f1·1:-» I » - --^^1 » - I 又- -I ]^i - . t^n J^i (請先閱讀背面之注愈事項再填3t?本頁) 經濟部中央標準局員工消f合作社印製 ^10 5 Ο 5 Α7 -— ------— Β7 五、發明説明(12 ) ~~~ —' 較,並將計數器增量或重新設定。若計數器達到預設値, 則下一資料位元组被視爲一計數,它表示:有多少最近數 値輸出的附加拷貝會構成行程之連續,進而在解碼任何更 夕的已壓縮資料位元組之前就必須拷貝出來。 忒如置壓縮器和後置還原器而言,假如在下一符號上繼 續此計數’就使用最大計數符號値來表示此數値之一計 數,而匕則必須根據相同規則加以處理。以這種方式來使 用諸多計數連績字元會允許編碼任何長度的行程,而對於 長度恰好等於預設臨限値的諸多行程而言,會有一符號之 處罰。 • τ·—一 從硬體的角度看,本發明只窝要:一個額外的暫存器來 保持前資料符號,一個比較器,和一個計數器,以及小量 的控制邏輯電路。實際上,就—種基於内容可定址記憶體 (CAM based)的壓縮器而言,雖然暫存器已經存在於硬體 中,但是無論如何,被用來建構本發明之額外的矽面積是 可忽略不計的。 經濟部中央標準局負工消費合作社印製 (¾先閱讀背面之注意事項再填寫本頁) 此外,本發明可以被應用到任何種類的壓縮演算法,並 且明顯地,對長行程的資料而言,其本身可自行提供相當 可觀的壓搞比(就8位元符號而言,超過250:1)。在諸多通 用可適性壓縮;成算法的情形中,這是一項重要的優點,因 爲:不管輸入資料流是否應該被用來適應壓縮演算法,這 些壓縮演算法通常都會適應^警如説,就一長行程的相同 資料而言,蘭佩爾·齊夫i型演算'法只能獲得大約9〇: 1的最 大壓縮比。 -15- 本紙張尺度ϋ用中國國<標準(CNS ) Λ4現桔(2丨OX29?公# ) ΑΊ410505 Β7五、發明説明(13 ) 雖然參考一較佳實施例而已經特別顯示並描述本發明, 可是那些熟習於此技藝者應會瞭解的是:在不背離本發明 的精神及範圍的前提下,其中可能在形式及細節上做多種 改變。 -, (請先閱讀背面之注意事項再填寫本頁) 經滴部中央標準局員工消費合作社印製 -16- 本紙張尺度適用中國國家標準(CNS ) A4规桔(2!OX 297公怂)

Claims (1)

  1. 第8710M13號專利申請案 申請牟利範圍修正太(89年8 、申請專利範圍 1. 一種用來提供針對資料壓縮器單元之改良式資料壓縮效 率之方法,該方法包括以下步驟: 將來自未壓縮資料流之一輸入資料位元組和一前資料 位疋组加以比較,其中打算由資料壓縮器單元接收該未 壓縮資料流; 將第一計數器數值增量,以回應在該輸入資料位元組 與該前資料位元組之間的一種匹配; 將第二計數器數值增量,以回應該第一計數器數值達 到預叹值’以便指示在該未歷縮資料流内之一行程; 以孩第二計數器數值來代替在該未壓縮資料流内之行 程;以及 將該未壓縮資料流傳送到該資料壓縮器單元,使得: 在該未壓縮資料流内發生該行程情況之後,該資料壓縮 器單元能夠很快地重獲一種最佳壓縮比。 2. 根據申請專利範圍第丨項之方法,其中該方法還包括: 將該第一計數器重新設定,以回應在該輸入資料位元組 與該前資料位元組之間的一種不匹配之一步驟。 3. 根據申請專利範園第丨項之方法,其中將第二計數器數 值增量的步驟還包括:將第二計數器數值増量,以回應 在一輸入資料位元組與一前資料位元组之間的一種隨後 匹配之一步驟。 4. 根據中請專利範圍第3項之方法,其中該方法還包括: 將該輸入資料位元組捨棄之一步驟。 5‘根據申請專利範圍第丨項之方法,其中由一輪入資料位 表紙張尺度逋用中蹕國家梂準(CNS ) A4规格(210X297公釐) 裝----------訂----Γ---線 <請先S讀背面之注意事項再填寫本頁) 經濟部t央標準局貝工消費合作社印製
    第8710M13號專利申請案 申請牟利範圍修正太(89年8 、申請專利範圍 1. 一種用來提供針對資料壓縮器單元之改良式資料壓縮效 率之方法,該方法包括以下步驟: 將來自未壓縮資料流之一輸入資料位元組和一前資料 位疋组加以比較,其中打算由資料壓縮器單元接收該未 壓縮資料流; 將第一計數器數值增量,以回應在該輸入資料位元組 與該前資料位元組之間的一種匹配; 將第二計數器數值增量,以回應該第一計數器數值達 到預叹值’以便指示在該未歷縮資料流内之一行程; 以孩第二計數器數值來代替在該未壓縮資料流内之行 程;以及 將該未壓縮資料流傳送到該資料壓縮器單元,使得: 在該未壓縮資料流内發生該行程情況之後,該資料壓縮 器單元能夠很快地重獲一種最佳壓縮比。 2. 根據申請專利範圍第丨項之方法,其中該方法還包括: 將該第一計數器重新設定,以回應在該輸入資料位元組 與該前資料位元組之間的一種不匹配之一步驟。 3. 根據申請專利範園第丨項之方法,其中將第二計數器數 值增量的步驟還包括:將第二計數器數值増量,以回應 在一輸入資料位元組與一前資料位元组之間的一種隨後 匹配之一步驟。 4. 根據中請專利範圍第3項之方法,其中該方法還包括: 將該輸入資料位元組捨棄之一步驟。 5‘根據申請專利範圍第丨項之方法,其中由一輪入資料位 表紙張尺度逋用中蹕國家梂準(CNS ) A4规格(210X297公釐) 裝----------訂----Γ---線 <請先S讀背面之注意事項再填寫本頁) 經濟部t央標準局貝工消費合作社印製 410505 A8 B8 C8 D8 經濟部中央棣隼局属工消费合作社印氧 六、申請專利範圍 元組與一前資料位元組之間的一種不匹配來指示一行程 的完成。 6. —種用來提供針對資料壓縮器單元之改氣式資料壓縮效 率之方法,該方法包括以下步驟·· 藉著將來自該未壓縮資料流之一輸入資料位元組和一 前資料位元組加以比較來預處理未壓縮資料流,其中打 算由該資料壓縮器單元接收該未壓縮資料流: 將第一計數器數值增量’以回應在該輸入資料位元组 與該前資料位元組之間的一種匹配,以便指示在該未壓 縮資料流内之一行程的開端; 將第二計數器數值増量’以回應該第一計數器數值已 經達到一預設值之後,在一輸入資料位元组與一前資料 位元组之間的一種隨後匹配,以便指示在該未壓縮資料 流内的行程之一剩餘部份; 以該第二計數器數值來代替在該未壓縮資料流内之行 程的剩餘部份;以及 將嵌有該第二計數器數值的未壓縮資料流傳送到該資 料壓缩器單元,使得:在該未壓縮資料流内雖有發生該 行程情況’該資料壓縮器單元也能夠很快地重獲一種最 佳壓縮效率。 7. 根據申請專利範圍第6項之方法,其中該方法還包括: 將該第一計數器重新設定,以回應在該輸入資料位元组 與該前資料位元組之間的一種不匹配之一步驟* 8. 根據申請專利範圍第6項之方法,其中該方法還包括: -2 - 本紙張尺度適用中國國家揉率(CNS ) Α4洗格(2丨0X297公# ) ^ J— (請先«讀背面之注意事項再4寫本頁) 、1T. 線’ 410505 A8 B8 C8 D8 申請專利範圍 將該輸入資料位元组捨棄之一步驟。 9·根據申請專利範圍第6項之方法,其中由-輸入資科位 疋組與-前資料位元组之間的_種不匹配來指示 的完成。 10·種則置壓縮器,用來提供針對資料壓縮器單元之 式資料壓·縮效率,包括: —個比較n ’用來將來自未壓縮資料流之一輸入資料 位元組和一前資料位元組加以比較,其中打算由該資料 壓縮器單元接收該未壓縮資料流; •個第—計數器,用來計數在該輸入資料位元組與該 前資料位元組之間的許多匹&,其中將該第一計數器與 該比較器加以_合; 一個第二計數器,在該第一計數器達到一預設值之 後,用來計數在該輸入資料位元组與該前資料位元组之 間的許多匹配’其中將該第二計數器與該比較器加以耦 合;以及 個傳送器,在該輸入資料位元組之一行程的完成 時,用來將該第二計數器之一數值發送到該資料壓縮器 翅濟部4-央樣率局貝工消费合作,杜印製 單疋,使得:在該未壓縮資料流内發生該行程情況之 後該資料壓縮器單元能夠很快地重獲它的最佳壓縮 比。 11·根據申請專利範圍第10项之前置壓縮器,其中該前置蜃 縮器還包括:用來重新設定該第一計數器,以回應在該 輸入資料位元組與該前資料位元組之間的一種不匹配之 衣紙張尺度遑用中國國家猱车(CNS >八4规格(2〖0><297公釐 410505、申請專利範圍 AB 明 C8 D8 一重新設定裝置。 12. 根據申請專利範圍第1 0項之前置壓縮器,其中該前置壓 縮器還包括:在將該第二計數器增量期間,用來將該輸 入資料位元组捨棄之一裝置》 13. 根據申請專利範圍第10項之前置壓縮器,其中由一輸入 資料位元組與一前資料位元組之間的一種不匹配來指示 一行程的完成3 14. 根據申請專利範圍第10項之前置壓縮器,其中該前置壓 縮器還包括:以該第二計數器數值來代替在該未壓縮資 料流内的行程之一裝置。 裝 訂 : τ 線 <請先聞讀背面之注意事項再填寫本頁) 經濟部中央橾率局貞工消费合作社印— -4 - 本纸張尺度逋用中國圉家揉準(CNS ) A4規格(210X297公釐)
TW087105113A 1997-09-19 1998-04-03 Method and apparatus for providing improved data compression efficiency for an adaptive data compressor TW410505B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/934,335 US5874907A (en) 1997-09-19 1997-09-19 Method and apparatus for providing improved data compression efficiency for an adaptive data compressor

Publications (1)

Publication Number Publication Date
TW410505B true TW410505B (en) 2000-11-01

Family

ID=25465369

Family Applications (1)

Application Number Title Priority Date Filing Date
TW087105113A TW410505B (en) 1997-09-19 1998-04-03 Method and apparatus for providing improved data compression efficiency for an adaptive data compressor

Country Status (8)

Country Link
US (1) US5874907A (zh)
EP (1) EP0903867B1 (zh)
JP (1) JP3065585B2 (zh)
KR (1) KR100300789B1 (zh)
DE (1) DE69833094T2 (zh)
MY (1) MY115600A (zh)
SG (1) SG66494A1 (zh)
TW (1) TW410505B (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0977152A3 (en) * 1998-07-28 2000-12-27 Xerox Corporation Data compression apparatus using matching string
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6604158B1 (en) * 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
DE19962971A1 (de) * 1999-12-24 2001-06-28 Bosch Gmbh Robert Verfahren zur Datenübertragung über ein Bussystem
US20010047473A1 (en) 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
US20030191876A1 (en) * 2000-02-03 2003-10-09 Fallon James J. Data storewidth accelerator
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US7417568B2 (en) * 2000-10-03 2008-08-26 Realtime Data Llc System and method for data feed acceleration and encryption
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
EP2275947B1 (en) * 2001-12-10 2013-05-29 SAP Portals Israel Ltd. Apparatus and method for optimized and secured reflection of network services to remote locations
DE10301362B4 (de) * 2003-01-16 2005-06-09 GEMAC-Gesellschaft für Mikroelektronikanwendung Chemnitz mbH Blockdatenkompressionssystem, bestehend aus einer Kompressionseinrichtung und einer Dekompressionseinrichtung, und Verfahren zur schnellen Blockdatenkompression mit Multi-Byte-Suche
US9614772B1 (en) 2003-10-20 2017-04-04 F5 Networks, Inc. System and method for directing network traffic in tunneling applications
US7103685B1 (en) * 2004-01-16 2006-09-05 Xilinx, Inc. Bitstream compression with don't care values
US8024483B1 (en) 2004-10-01 2011-09-20 F5 Networks, Inc. Selective compression for network connections
US7937510B1 (en) 2005-02-01 2011-05-03 Altera Corporation Lempel Ziv compression architecture
US7109895B1 (en) * 2005-02-01 2006-09-19 Altera Corporation High performance Lempel Ziv compression architecture
US7482954B1 (en) 2005-02-25 2009-01-27 Xilinx, Inc. Bitstream compression for a programmable device
US7783781B1 (en) 2005-08-05 2010-08-24 F5 Networks, Inc. Adaptive compression
US8533308B1 (en) 2005-08-12 2013-09-10 F5 Networks, Inc. Network traffic management through protocol-configurable transaction processing
US8275909B1 (en) * 2005-12-07 2012-09-25 F5 Networks, Inc. Adaptive compression
US7882084B1 (en) 2005-12-30 2011-02-01 F5 Networks, Inc. Compression of data transmitted over a network
US7873065B1 (en) 2006-02-01 2011-01-18 F5 Networks, Inc. Selectively enabling network packet concatenation based on metrics
US8565088B1 (en) 2006-02-01 2013-10-22 F5 Networks, Inc. Selectively enabling packet concatenation based on a transaction boundary
US8417833B1 (en) 2006-11-29 2013-04-09 F5 Networks, Inc. Metacodec for optimizing network data compression based on comparison of write and read rates
US9106606B1 (en) 2007-02-05 2015-08-11 F5 Networks, Inc. Method, intermediate device and computer program code for maintaining persistency
US8238677B2 (en) * 2008-03-07 2012-08-07 International Business Machines Corporation Adaptive lossless data compression method for compression of color image data
GR1008346B (el) * 2013-11-04 2014-11-03 Νικολαος Χρηστου Πετρελλης Μεθοδος και συσκευη παρεμβολης για πιστοτερη αναπαρασταση και συμπιεση σηματος
US11158364B2 (en) 2019-05-31 2021-10-26 Micron Technology, Inc. Apparatuses and methods for tracking victim rows
US11158373B2 (en) * 2019-06-11 2021-10-26 Micron Technology, Inc. Apparatuses, systems, and methods for determining extremum numerical values
US11863209B2 (en) * 2021-08-18 2024-01-02 Pixart Imaging Inc. Integrated circuit and method capable of minimizing circuit area of non-volatile memory circuit

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2396479A1 (fr) * 1977-06-30 1979-01-26 Cit Alcatel Installation de transmission de fac-simile a reduction de redondance
US4679094A (en) * 1986-10-14 1987-07-07 The Associated Press Method for compression and transmission of video information
US5016009A (en) * 1989-01-13 1991-05-14 Stac, Inc. Data compression apparatus and method
JPH088642B2 (ja) * 1989-07-27 1996-01-29 富士通株式会社 網点画像データ圧縮装置
CA2077271C (en) * 1991-12-13 1998-07-28 David J. Craft Method and apparatus for compressing data
US5486826A (en) * 1994-05-19 1996-01-23 Ps Venture 1 Llc Method and apparatus for iterative compression of digital data
US5612693A (en) * 1994-12-14 1997-03-18 International Business Machines Corporation Sliding window data compression using a toroidal bit shift register
KR100254402B1 (ko) * 1994-12-19 2000-05-01 전주범 줄-길이 부호화방법 및 줄-길이 부호화기
US5608396A (en) * 1995-02-28 1997-03-04 International Business Machines Corporation Efficient Ziv-Lempel LZI data compression system using variable code fields
US5627534A (en) * 1995-03-23 1997-05-06 International Business Machines Corporation Dual stage compression of bit mapped image data using refined run length and LZ compression

Also Published As

Publication number Publication date
DE69833094T2 (de) 2006-08-31
SG66494A1 (en) 1999-07-20
KR100300789B1 (ko) 2001-09-22
KR19990029322A (ko) 1999-04-26
JP3065585B2 (ja) 2000-07-17
JPH11145848A (ja) 1999-05-28
EP0903867B1 (en) 2006-01-04
DE69833094D1 (de) 2006-03-30
EP0903867A1 (en) 1999-03-24
MY115600A (en) 2003-07-31
US5874907A (en) 1999-02-23

Similar Documents

Publication Publication Date Title
TW410505B (en) Method and apparatus for providing improved data compression efficiency for an adaptive data compressor
US6154542A (en) Method and apparatus for simultaneously encrypting and compressing data
US5933104A (en) Method and system for compression and decompression using variable-sized offset and length fields
US5406278A (en) Method and apparatus for data compression having an improved matching algorithm which utilizes a parallel hashing technique
TW312771B (zh)
US5229768A (en) Adaptive data compression system
US5608396A (en) Efficient Ziv-Lempel LZI data compression system using variable code fields
US8090027B2 (en) Data compression using an arbitrary-sized dictionary
TWM252197U (en) Apparatus for performing adaptive data compression
EP0650264A1 (en) Byte aligned data compression
JPH0253329A (ja) 圧縮符号化方法及び復号方法
US20100127902A1 (en) Lossless data compression with separated index values and literal values in output stream
EP0903865A1 (en) Method and apparatus for compressing data
JP2001522548A (ja) 損失のないデジタルデータ圧縮方法および圧縮装置
TWI273779B (en) Method and apparatus for optimized lossless compression using a plurality of coders
US20110196849A1 (en) Method and apparatus for compressing and decompressing data records
US7696906B2 (en) LZW data compression algorithm
US7193541B2 (en) Representation of sign in encoding scheme
Anto et al. A Compression System for Unicode Files Using an Enhanced Lzw Method.
Shanmugasundaram et al. Text preprocessing using enhanced intelligent dictionary based encoding (EIDBE)
US20080001790A1 (en) Method and system for enhancing data compression
US7750826B2 (en) Data structure management for lossless data compression
US11967975B1 (en) Method and apparatus for recursive data compression using seed bits
KR20110089308A (ko) 데이터 레코드들의 압축 및 압축해제를 위한 방법 및 장치
JP3603099B2 (ja) データの可逆符号化方法および装置

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent