TW402849B - Method and apparatus for switching between data compression modes - Google Patents

Method and apparatus for switching between data compression modes Download PDF

Info

Publication number
TW402849B
TW402849B TW087114207A TW87114207A TW402849B TW 402849 B TW402849 B TW 402849B TW 087114207 A TW087114207 A TW 087114207A TW 87114207 A TW87114207 A TW 87114207A TW 402849 B TW402849 B TW 402849B
Authority
TW
Taiwan
Prior art keywords
data
compression
comparison
length
mode
Prior art date
Application number
TW087114207A
Other languages
English (en)
Inventor
Glen Alan Jaquette
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 TW402849B publication Critical patent/TW402849B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • 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
    • 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/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

40284S 五、铎明說明(i) 技術領域: 本發明係有關無耗損資料壓縮系統,尤係有關藉由比較 各資料壓縮模式之壓縮效率,而在各種資料壓縮模式之間 切換。 發明背景: 由於對資料傳輸及資料儲存容量的需求持續成長,所以 不斷要尋求改良式無耗損資料壓縮技術。如同時讓渡的美 國專利5,6 5 2,8 7 8中所述,在選多種無耗損資料壓縮中, 最實用的一種是基於字典的壓縮技術類型。在這些技術 中,目前最廣泛使用的是提出"L Z 1 ”長度偏移量編碼架構 建議的J . Z i v及A . L c m p e 1所創建之Z i v - L e m p e 1可變長度編 碼程序。LZ 1程序使用在過去原始資料串上的一固定長度 滑動過去記錄框(sliding history window)作為字典。將 相符者編碼成一’'相符長度”及一距離一約定位置之”偏移 量。 因為LZ 1捲動在一固定長度滑動過去記錄框上的原始資 料串,而產生一適應性字典,所以開始時在原始資料中I 別重複的”相符''資料串”較困難,但會變得相當有效率。 一旦將一相符資料串編碼成一”長度”及"偏移量"之後,所 需的解碼程序是迅速且有效.率的,無須預先載入字 典。,8 7 8專利說明了 一種已主導'’適應性無耗損資料壓縮" (Adaptive Loss less Data Compression :簡稱 A L D C )技術 的L Z 1壓縮技術。 戶尸-有的滑動框資料壓縮程序都為一種在壓縮效率中可稱
C:\l23^X54635. ptd 第6頁 _40284.¾__ 五、發明說明(2) 為''起始耗損"及''無冗餘耗損”所困擾。因為每一原始資料 串或區段係以一個空的"字典''作為開始,所以必須以未經 壓縮的原始字組之方式傳送第一個原始符號。同樣地,一 個已被加密或壓縮而缺少顯著冗餘的輸入資料串缺少壓縮 所需的相符,而且也必須以未經壓縮的原始字組之方式傳 送各原始符號。為了識別原始字組,必須在ALi)C下將一位 元加入原始字組,將所得到的字元稱為”文字符號" ("1 i teral"),因而使資料擴展。 只有在以具有顯著冗餘的輸入資料填滿滑動框,而累積 了一個有内容的字典之後,才能找到數目更多的相符子資 料串,因而得以建立編碼效率。 在被稱為” LZ77”的原始LZ 1配置中,所有的原始輸入是 形式為具有長度、偏移量、及一旗標的一個三部分符記之 輸出,其中該旗標是經過壓縮的子資料串之第一字元。諸 如ALDC等技術解決了碰到無冗餘字元時發生的問題,其解 決方式為並不傳送該三部分符記,而是提供並未經過改變 的字元,並在該字元加上一標示,以便指示該字元並未經 過壓縮。將該未經改變的原始字元連同該標示稱為''文字 符號”(π 1 1 teral ")。一種典型的標示是在原始資料串的每 一字組加上一個''零”位元。因此,當碰到一個無冗餘輸入 資料串時,將以一種比原來的LZ 1技術小許多長度的方式 擴展壓縮的資料。然而,諸如ALDC等LZ1技術實際上仍然 必須對每一字組擴展一位元的資料,通常是以一種9/8的 擴展而將這些字組輸出作為文字符號。
C:\123A54635. ptd 第7頁 五、發明說明(3) 因為此一問題,所以目前已設計出一些替代的基於字典 之壓縮技術,而在一些特定的環境中有一些特殊的優點° 其中一個例子是LZ2壓縮技術(亦稱為LZ78、或是稱為LZW 的相關版本)’ LZ2壓縮技術捕擭冗餘’並將這些冗餘保存 在一個作為諸如完整記錄的字典中,其中情形係述於 M. Nelson 所著的’’The Data Compression Book" (M&TPublishing於1991年出版)第277-311頁。因此,擴展 了具有冗餘的機會,但是卻付出擴展字典緩衝器的代價。 在LZ2中,文字符號的擴展可能大於一個位元。 ' 另一種替代方式是在資料擴展有顯著的風險時不壓缩f 料,可將此種方式稱為”通過"模式 ' ("passthrough"mode)。 在碰到一個無冗餘輸入資料串的情形中,實用的方式是 切換到一種第二壓縮技術,該第二壓縮技術可以比在需要 9/8資料擴展的情形下將輸入資料輸出為文字符號之方< 更有效率之方式處理無冗餘輸入資料串。 我們知道在讓渡給Hewlett-Packard公司的專利申*青案 ----------_中’在輸出資料中提供了多位元控制石馬,以
便指示在資料處理技術中的一特殊情形,且此種特殊情开〈 可包括在各種資料壓縮模式之間切換。如果使用此種^ ^ 碼’’則將會因字元的長度而降低壓縮效率。 I 決定作此種切換是否有利是相當困難的。同時讓渡的美 國專利5,5 6 1,8 2 4將一完全長度的資料記錄同時提供給— 壓縮器及一緩衝器。如果經過壓縮的記錄之擴展程度超過
^0284^ 五、發明說明(4) 未經壓縮的記錄,則選擇未經壓縮的記錄及整個後續的記 錄串作為記錄。如果輸入資料混雜有無冗餘輸入資料及冗 餘資料,則使用此種寬鬆的技術將需要較大的緩衝儲存容 量,且效率較差° 一種替代方式可檢查一預定資料長度中經過壓縮的資 料,如果在諸如已輸出了一長串的文字符號之後並未發生 壓縮,則切換壓縮技術。此種方式的困難在於:非常容易 與輸入資料的步調不一致,並在錯誤的時間採用每一技 術。 發明概述: 本發明之一目的在於以高效率在各種無耗損資料壓縮模 式之間切換。 本發明揭示了 一種在各種無耗損資料壓縮模式之間切換 的方法及裝置,且係以至少一個多位元模式切換字元指示 該切換。接收到二進位格式的輸入資料,並在進行中對每 一模式下的輸入資料壓縮效率作出F I F 0決定。該在進行中 之方式可針對每一經過壓縮的代碼字或更多的經過壓縮的 代碼字。進行每一模式下壓縮效率之F I F 0比較,並只有在 該比較指示現有模式的壓縮效率比另一模式高出一臨界值 時,才切換輸入資料的壓縮模式,其中該臨界值係與該多 位元模式切換字元中的位元數直接相關。 可在整個F I F 0長度上累積比較的結果,且只有在累積值 到達臨界值時,才進行切換。可採用多個臨界值,例如, 一臨界值"A"係用於小於整個FIFO長度,而一個較小的臨
C:' 1234X54635. ptd 第9頁
40284S 五、發明說明(5) 界值"B "係用於到達整個F I F 0長度時。 一種或兩種資料壓縮模式可包含一諸如Lempe卜Z i v壓縮 的基於字典之壓縮,用以將輸入資料壓縮成若干可變長度 的符記,並可根據每一可變長度的符記之位元長度而決定 F I F 0壓縮效率。 若要更完整了解本發明,請參照下文中之詳細說明,並 配合各附圖。 附圖簡述: 圖1是習用技術的一滑動框LZ1資料壓縮系統之方塊圖; 圖2是本發明的在各種無耗損資料壓縮模式之間切換的 方法之流程圖; 圖3是在實施圖2所示方法的各種無耗損資料壓縮模式之 間切換的裝置之方塊圖; 圖4A及4B是根據本發明而修改的ALDC及通過資料壓縮模 式之例示輸出碼對照表; 圖5是在ALDCLZ1壓縮模式與通過模式之間切換的裝置之 詳細方塊圖; 圖6是在圖5所示裝置中採用的習用技術ALDCLZ 1C AM資料 壓縮器之方塊圖;以及 圖7、8、及9是用來解說圖5所示裝置的作業之例示輸入 資料情形。 本發明之詳細說明: 請參閱圖1 ,習用技術LZ1壓縮程序將原始符號的一冗餘 子實料串代之以被稱為π滑動框π的同一子資料串較早出現
C:\1234\54635.ptd 第10頁
40284S
五、發明說明(6) 的一指標。當將該指標表示法編 子資料串少的位元時,即發生了 ^成較所取代的原始符號 簡化實例中,該架構採用:—匈2料壓縮。在圖丨所示的 框過去記錄緩衝器(3〇 )、及一 ^有^個字紐容量的潰動 緩衝器(3 2 )。第一個編碼器工:有二個字組容量的預測 出與緩衝器(30 )中相符的最長字疋^預,緩衝器(32)中找 部分的長度是該編碼器所提_ _目f °卩分。該最長相符 器⑽”該相符部分所在的部分,而緩衝 供的符記之另一部分。在圖i令/示 疋该碥碼器所提 入工料串正傳送通過緩衝器(3〇)及(32)。二= 内容下,編碼器的相符部分偵測器在緩衝器(32 )上的兩: 不同偏移量上找到一個"aaa”的相符部分。在偏移量5上發 現第一個相符部分(34 ),並在偏移量1上發現第二個相符 部分(36)。因此,可以一個具有一旗標、長度、及偏移量 ([1,3,5 ]或[1,3,1 ])的符記取代缓衝器(32)中的三個位元 組或字元"aaa"。 需要有該旗標位元來區分一經過編碼的輸出及一文字符 號。因此,經過壓縮的每一資料符記具有一個附加的"1 '1 旗標位元,且作為文字符號的每一位元組具有一個附加的 ” 0 ”旗標位元。 因此,格式為ALDC的每一文字符號對每個8位元的位元 組將輸入資料擴展1個位元,亦即有1 2· 5%的資料擴展。 如前文所述,當碰到一系列的無冗餘資料時,最好是切 換到一個可處理並壓縮或減少資料擴展的替代資料壓縮模
C:\1234\54635.ptd 第11頁 ^02848 五、發明說明(7) 式。 替代資料壓縮模式的一個例子是前文所述的L Ζ 2模式, 例如為L Ζ 2衍生模式的D C L Ζ 3簡而言之1 L Ζ 2將先前發生的 一相符部分字典保存在文件,而將字典擴展到滑動框過去 記錄緩衝器的範圍外。因此,增加了壓縮的潛力。因為無 須搜尋整個過去記錄緩衝器,所以也減少了尋找字典相符 部分的處理時間。然而,一旦採用了該字典的相符部分, 且出現新的輸入資料之後,即降低了 LZ2模式的效率,這 是因為仍然必須連續搜尋該字典。因此,最好是回到 LZ 1 ALDC程序,以便開始尋找輸入資料中之冗餘部分,而 無須持續查詢該字典。 一替代資料壓縮模式可包含上述的"通過”模式。通過模 式時只通過形式為並未改變輸入資料的字組之輸入資料。 我們習知在輸出資料中提供多位元控制碼,以便指示資 料處理技術中的一特殊狀況。此種特殊狀況可包含在各種 資料壓縮模式之間切換。如果使用此種控制碼,則將因字 元的長度而降低壓縮效率。 此外,一控制碼必須不同於來自任何一種資料壓縮模式 之字組或符記,而得以進行正確的解碼。例如,因為通過 模式可讓出現在輸入端的任何位元序列在輸出端上出現, 所以必須為控制碼保留輸出字組。假設通過模式的輸出形 式為包含一個8位元的十六進位位元組之一字組,例如, 可將其中一個字組"FF"保留給控制碼。因此,"FF. 0"可指 示"FF"實際上是一個文字符號,不應將"FF. ◦"視為一控制 im
第12頁 C:\1234\54635.ptd ^0284^ 五、發明說明(8) 碼,而” F F. 1 "則可指示該控制碼。 此外,可將控制碼特殊化,以便指示壓縮模式切換的方 向’或將額外的位元加在控制碼之後以指示其他特殊的資 料處理,例如資訊的另一位元組或部分位元組。 圖2及3示出在各種無耗損資料壓縮模式之間切換的本發 明一實施例。圖3中分別示出兩種資料壓縮模式,亦即”架 構Γ (40)及”架構2" (41 )。其中一種壓縮模式(40)或(41) 可以是諸如基於字典的資料壓縮等任何無耗損資料壓縮, 例如LZ1、LZ2、ALDC等。其他的壓縮模式可包含另一種基 於字典的資料壓縮、同一資料壓縮的另一種版本、一種替( 代性資料壓縮、或主要通過資料而不作改變的一種通過模 式版本。 以至少一個多位元模式切換或"交換"字元指示切換或” 交換"。舉例而言,可使用"FF.】."控制碼作為·,交換"字 元。若再作改良,則可將一位元組或部分位元組加入該控-制碼’以便提供各種控制碼,尤其以某一字元指示自架構 1至架構2的交換,並以另一字元指示自架構2至架構i的交 — 才奐。 在暫存器(4 4 )的輸入端(4 3 )上接收到二進位格式的輸入 資料。係將輸入資料自暫存器(44 )供應到架構1資料歷縮 器(4 0 )及架構2資料壓縮器(4 1 )。每一資料壓縮模式處理 輸入資料,並分別在信號線(45)及(46)上輸出—串代瑪 字。於完成每一代碼字的處理時,分別在信號線(4 7 )及 (4 8〉上指示所輸出的代碼字為有效。
C:\1234\54635.ptd 第13頁
40284S 五、锋明說明(9) 根據本發明,係在進行中作出每一模式下輸入資料的壓 縮效率之F I F 0決定。進行中之方式可針對每一經過壓縮的 代碼字或更多經過壓縮的代碼字,並在一延伸對照範圍中 累積。信號線(4 5 )及(4 6 )上經過壓縮的資料代碼字係分別 儲存在F I F0緩衝器(5 0 )及(5 1 ),且將在輸出資料中使用其 中一個F I F 0緩衝器代碼字。 請再參閱圖2,在步驟(5 4 )中,其中一個資料壓縮架構 是現有模式。在步驟(6 2 )中將後續的代碼字編碼’並在步 驟(6 3 )中以進行中F I F 0的方式測試這些後續代碼字。每一 資料壓縮器(4 0 )及(4 1 )尤其分別將與代碼字長度有關的資 訊供應到比較邏輯電路(5 9 ),以便用F I F 0方式比較在每一 模式下的壓縮效率。 根據本發明,直接的比較並不會造成切換。在各種模式 之間切換時將考慮到切換的潛在成本(以用來指示切換的 附加特殊字元之長度來衡量)。更具體而言,在進行切換 後所得到的節省(以所節省的資料長度來衡量)有可能符合 一個與交換成本直接相關的臨界值之前,並不.根據本發明 而進行模式間之切換。因此,只有在比較後的結果指示現 有模式的壓縮效率比另一模式的壓縮效率高出該臨界值 時,才切換輸入資料的壓縮.模式,其中該臨界值係與多位 元模式切換字元中之位元數直接相關。 因此,比較邏輯電路(5 9 )包含臨界值"A" ( 6 0 )及臨界值 "B"( 6 1 ),用以設定節省的比較基準之臨界值。根據本發 明,可採用與交換成本直接相關的一個或多個臨界值。
C:\1234\54635.ptd 第14頁 _402E4& _ 五、發a月說明(10) 舉例而言,第一臨界值” Λ π可以是總交換成本,該總交 換成本包含用來自現有資料壓縮架構切換到另一資料壓縮 架構的特殊控制字元之長度加上用來切換回去的特殊控制 字元之長度。如果與現有架構的次一代碼字比較’來自另 一架構的經過壓縮的資料之次一代碼字符合或超過臨界值 "Λ ",則值得切換模式,且將進行一交換。例如,如果兩 個特殊控制字元的長度都是1 3位元1則將臨界值'V'設定 在一個等於字元總和的一值,亦即等於2 6。 再舉一個例子,第二臨界值"Β"又可與儲存在F IFO緩衝 器(50)及(51 )的各代碼字的FIFO比較之長度界限(亦即延 伸比較對照範圍)直接相關。因此,如果在進行中對所示 各架構的資料壓縮之比較將有節省,但無法在不耗損代碼 字的情形下持續該比較(因為只有自現有架構的F IF 0緩衝 器(5 0 )或(5 1 )輸出現有架構的第一代碼字,而另一架構的 代碼字耗損了),則可能值得作此交換。該交換可能是值 — 得的,因為如果輸入資料保持與最近碰到的類似,則可能 持續增加節省。因此,將臨界值設定在某一較低值。舉例 而言,可將第二臨界值” B"設定在用來自現有模式切換到 另一模式的特殊控制字元之一半。如果一半的特殊控制字 元長度臨界值在字元長度上不正確,則清除該臨界值。在 最壞的情況下,切換回到現有模式的成本只是特殊控制字 元的長度,但是除非節省的程度也符合或超過其中一個臨 界值,否則將不會切換回去。因此,第二臨界值"B"也是 低成本且有效率的。例如,如果特殊控制字元的長度為1 3
C:\1234\54635.ptd 第15頁
40284S 五、發明說明(ιυ 位元,則臨界值"Β ”的值將為7 ( 1 3的一半再經過捨入)。亦 可使用諸如四分之一等的其他適當值。 請參閱圖2及3 ,第一步驟(6 2 )是用來產生每一資料壓縮 架構(4 0 )及(4 1 )的次一經過壓縮之代碼字,並分別提供在 信號線C 5 6 )及(5 7 )上代碼字長度之指示。圖2及3的簡化圖 並未示出下文中述及的F I F0控制裝置,其中該控制裝置控 制對相同數目的代碼字之比較對照範圍。例如,在進行中 對同一對照範圍的代碼字比較可以是比較7個文字符號代 碼字之1個後向對照。在步驟(6 3 )中,比較器(6 5 )比較代 碼字長度,並將比較值供應到一累積器(6 6 ),而該累積器 (6 6 )在步驟(6 8 )以比較值更新累積器(6 6 )中之任何先前的 累積值。例如,如果先前的累積值是5位元,且步驟(6 3 ) 中之比較結果指示又有一個4位元的節省,則步驟(68)將 累積器(6 6 )更新為一個9位元的值。 比較器(6 5 )及累積器(6 6 )可採取許多替代的形式。一個 方式可以是:與與來自壓縮器(4 1 )的代碼字長度相比時, 一比較器提供來自壓縮器(4 0 )的代碼字長度之正比較值, 且一累積器在發生交換之前自零開始累積各值,而在發生 交換時重定該比較器及累積器。然後重定該比較器,以便 在與來自壓縮器(4 0 )的代碼字長度比較時,提供來自壓縮 器(4 1 )的代碼字長度的反向比較之正比較值。累積器(6 6 ) 將再度被重定成零,並在發生反向交換之前累積自零開始 的正值。 一替代方式為:提供一比較器(6 5 ),而不論預期交換的
C:\1234\54635.ptd 苐16頁
40284S 五、發明說明(12) 方向為何,與來自壓縮器(4 1 )的代碼字長度比較時,該比 較器(6 5 )提供一個來自壓縮器(4 0 )的代碼字長度之正比較 值。當現有模式為來自壓縮器(4 0 )的架構1時' 累積器 (6 6 )將因自零開始遞增,直到發生一交換為止,且當現有 模式為來自壓縮器(4 1 )的架構2時,該累積器將被重定為 最大臨界位準” Λ ”。此種方式較易於實施。 如圖2及3所示,在本發明的一實施例中,累積器(66 )設 有至少一個限制位準(7 0 )。一個限制位準為零,因而只累 積潛在的節省。(因為本系統是在現有模式,所以無須累 積停留在同一模式之潛在節省)。這是前文所述第一種方 式所需的唯一限制位準。 在第二種方式中,與自零遞增同等的第二種遞減的限制 位準是最大臨界位準"A"。因此,必須提供最大臨界位準 "Λ"之第二.限制位準(70)。 如前文所述,提供了兩個臨界值。臨界值” A ”可以是總 交換成本,該總交換成本包含用來自現有資料壓縮架構切 換到另一資料壓縮架構的特殊控制字元之長度加上用來切 換回去的特殊控制字元之長度。當已比較整個F I FO延伸對 照範圍時,即使用第二臨界值"B",並可將該第二臨界值 ” B ”設定為用來自現有模式切換到另一模式的特殊控制字 元之一半。 因此,請參閱圖2及3,步驟(72)操作邏輯電路(75),以 便決定是否已比較了整個F I F 0且在累積器(6 6 )的累積值中 代表整個F I F 0。如果並未比較整個F I.F 0,則在步驟(7 2 )中
C:\123A54635.ptd 第丨7頁 40284s 五、發明說明(13) 為,’否11 ,並在步驟(77 )中使用最大臨界值,,A,,( 6〇 )。如果 已比較了整個FIFO,則在步驟(72 )中為|,是,,,並在步驟( 78 )中使用較小的臨界值B”( 6 1 )。 乂 比較器及控制邏輯電路(8 0 )進行步驟(77)及(78 )。如果 並未比較整個FIFO,比較器及控制邏輯電路(8〇)進行步°驟 (77 ),以便將臨界值"..Γ ( 60 )應用於累積值。如果累積值 小於臨界值” r ,則進行交換將是不符成本的。因二,'本 程序將在步驟(6 2 )回到次一代碼字。如果累積值等於或大 於臨界值"A" ’則在步驟(78)中為"否”,且不應進行'交 換。同樣地’如果尚未比較整個F〖F0,則比較器及控&制邏 輯電路(80 )進行步驟(78 ) ’以便將臨界值” Β,,( δ丨)與累積 值比較。如果累積值小於臨界值"Β",則進行交換將^不 符成本的。因此,本程序在步驟(79 )中重定累積器,並在 步驟(62)諸回到次一代碼字。如果累積值等二或^於臨界 值"Β",則在步驟Π8)中為’’否",且切換壓縮模式的潛在 成本是小的,而且如果輸八資料繼續對另一模式有利,, 可證明是成本較低的。 Μ 、.、σ 1 曰 小 步驟(7 7 )或(7 S )的’否 人w 此仕少驟(84) 中進行該交換。邏輯電路(8 5 )在步驟(84 )中將交換代 插入輸出資料流’且選擇器(86)將次一代碼字輪出規= 壓縮架構切換到另一壓縮架構。一位元打包器(9〇)組人2 連續資料流中之輸出貧料,並在輪出端(9 i )上提供輸:次 料。 ’、月,丨貧 在步驟(9 5 )中,比較益及控制邏輯電路(8 〇 )在必要時重
40284S 五、铎明說明(1Ί) 定累積器及各臨界值。例如·如果使用前文所述的第一方 式下之累積器,則在一切換之後累積器被重定為零,並重 定比較器輸出之累積方向。因此,當比較整個F I F0且進行 交換時,累積器(6 6 )可以只到達一個1 0 (十進位)的值。然 後將累積值重定為零,且比較器重定或累積器重定到用於 比較器(6 5 )的比較代碼字長度之正負號改變。如果使闬上 述的第二方式下之累積器,則在切換到架構2之最大臨界 位準(例如2 6 (十進位))之後,重定該累積器(6 6 ),且臨界 值C 6 0 )及(6 1 )重定為相反位準,例如,臨界值"A"變為零 而非2 6 (十進位),且臨界值” B"變為1 9 (十進位)而非7。 在經過交換及重定之後,先前的其他資料壓縮架構現在 變成現有架構(5 4 ),且再度開始圖2所示之程序。 一個在兩個特定資料壓縮模式之間切換的特定實例係示 於圖4 - 9。 一滑動框資料壓縮架構的實例是述於,878專利的 ALDC-2,並將ALDC-2視為架構1資料壓縮。將通過模式視 為架構2。 雖然本發明可採用任何的字組長度,但是圖4 - 9的實例 係採用一個8位元的位元組之輸入資料字組長度,並向上 輸出用於直接通過的以8位元長度開始的各代碼字。 ,8 7 8專利詳述了一種採用一内容可定址的記憶體 (Content A ddressablc Memory;簡稱CAM)之LZ1 ALDC編 碼器,用以迅速識別輸入資料中之相符子資料串。圖4 A示 出AL DC輸出的細節。係用以一 π 0 "開始的9個位元表示文字
C:\1234\54635.ptd 第19頁 40284^ 五、發明說明(15) 符號的8位元之位元組。可變長度符合符記或代碼(稱為後 向對照值)包含:一個開始的"1 '’、接續的一可變長度符合 長度碼(例如其中0 0"代表一個2位元組的符合長度等)、 及一個1 0位元的符合偏移量(或位置)瑪。因此,在2位元 組長度的最小符合下,後向對照長度為1 3位元,在1 6位元 的未經墨縮的資料中節省了 3個位元。 在本實例中,使用了一個1 3位元的控制碼,該控制碼包 含:一個"1"、代表十六進位位元組” FF "的接續之八個Γ 位元、以及接續的一個四位元代碼。代碼"0 0 1 0 "是控制 碼,用以指示交換到架構2資料壓縮。 在ALDC-2,最壞情況的資料擴展是12. 5%,如果並未發 現任何後向對照,則將發生此種最壞情況的資料擴展,且 輸出所有的資料作為文字符號。並不容許將該控制碼當作 一個有效的符合代碼。在圖4 A中,所引用的節省狀況相對 於在通過模式中輸出相同的資料,而在通過模式(將於後 文中說明)中假設每一位元組需要8位元。 通過模式係示於圖4 B,且除了控制字元以外,輸出未經 改變的資料。選擇位元組"F F"作為控制字元,而資料則變 成"F F"加上一個接續的"(Γ。該控制碼包含:代表十六進 位位元組” F F "的八個” 1"位元、以及接續的一個"1"與四位 元之控制碼。代碼” 0 0 0 1 "是用來指示交換到架構1資料壓 縮之控制碼。 在通過模式中,如果所有的輸入資料是十六進位位元組 的"FFn或同等情形,則最壞情況的資料擴展理論上為
C:\1234\54635.ptd 第20頁 五、發明說明(16) 1 2. 5¾,但是如果處於此種情形,則將交換到架構1 ,並輸 出該資料作為後向對照值。一個基本上在ALDC中無法壓縮 的隨機字組流之平均資料擴展將僅有0. 05¾(假設每隔2 56 個位元組只出現"F F 一次)。對於"F F"資料的特殊情形而 言,架構1及架構2都需要9個位元,因而如果隔離審視該 單一符號時,則一個模式並不會優於另一模式。 一現有 如果輸 式中輸 另一模 先切換 資料 任何額 一模式 照範 應採 果成本 制字元 j - is? 。在取 制字元 個臨界 式切換 在現有實例中,控制碼的長度為1 3位元,因而自 模式切換到另一模式的成本為2 6位元。此即意指: 出一輸入資料流時,在現有模式中輸出比在另一模 出多出2 6位元,則在輸出該資料串之前應交換到該 式.以便節省2 6個位元。縱使需要立即切換回去, 到然後切換回的成本不得多於在現有模式下輸出該 串。因此,臨界值"Λ"被設定為2 6。 同樣地,如果在現有模式中輸出資料串並不會有 外成本(0位元),則應在現有模式下執行。 第三種情形為2 6位元的來回切換成本與停留在同 的0位元間之情形。考慮到在F I F 0長度之外(延伸對 圍)進行資料串的比較能力在硬體上的F IFO限制時, 用成本最低的架構。如前文所述,根據本發明,如 為模式切換控制碼字元之一半,則在一半的特殊控 長度臨界值在字元長度上不正確,將清除該臨界值 壞的情況下,切換回到現有模式的成本只是特殊控 的長度,但是除非節省的程度也符合或超過其中一 值,否則將不會切換回去。因此,如果特殊控制模
第21頁 C:\1234\54635.ptd J0284S____ "i、發明說明(π) 字元的長度為1 3位元,則臨界值"Β”的值應為7 (1 3的—半 再經過捨入)。 在諸如架構2的簡單現有模式下’可視需要而合供# 町冊丨! 除圖3所示實施例之許多元件,以便實施圖5所示之特定― 施例。例如,可將一通過暫存器用於形成ALDC文宝」1實 人干付愛所 用的資料。 請參閱圖5,在暫存器(1 0 1 )的輸入端(1 0 〇 )接收形式為 字組"w"位元寬度之輸入資料。雖然係以串列或平行形$ 接收資料作為輸入資料,但將該資料轉換成平行形式(例 如8位元的寬度)。將輸入資料供應到ALDC壓縮器(1〇2)及 暫存器(105),用以產生等同於ALDC壓縮器作業的輸入資 料之延遲’使通過資料的時序將與A L D C符記的時序相同。 本發明在用來決定ALDC後向對照符記的ALDCCAM陣列與輸 出經過壓縮的字組的位元打包器之間設有一 F I F 0單元及決 定邏輯電路。 在圖5所示實施例中,該F IFO單元儲存壓縮架構之輸 出。在該FIFO單元中示出三個FIFO,其中FIFO暫存器 (1 0 6 )是一個用於未經壓縮的(通過)賁料之8位元字組寬度 及N深度,而F IF 0暫存器(1 〇 7 )是用於偏移位置的U 1 〇位元 寬度及N/2深度(因為最小的後向對照值是針對2個位元 組,所以N / 2有足夠的深度),以及一個用於控制位元的3 位元寬度及N深度之FIFO暫存器(伸展為邏輯暫存器 (1 1 C )、( 1 1 1 )、及(11 2 )。 可以在不脫離本發明的 精神下修改F I F 0長度。例如,如
C:\1234\54635. ptd
第22頁 -_i〇2Ms__ 五、發明說明(18) ' ----- 果採用ALDC-1LZ1壓縮架構作為架構,則暫存器(1〇7)中储 存的位置將只有H9位元的寬度。如果修改控制邏輯電 路’則可改變所儲存的控制位元數。 F I F0的長度"N "決定可在作出一架構交換之前審視的資 料串長度,且F I F 0愈長,所作的決定愈佳。圖5所示之實 例假設F I F 0的長度"N"至少為7個位元組(臨界值"β„ ,亦即 可自AL DC - 2切換到通過模式所需的最小值),或者替代地 至少為26個位元組(臨界值” Λ” ,亦即在FIFO長度考慮來回 切換成本所需的位元組數)。在本質上並無最大的F IF 〇長 度。舉例而言,選擇一特定的FIFO長度π Νπ為32。 圖6示出,8 78專利所述的習用技術基於CAM之礼此壓縮 器。CAM陣列有B個CAM元素,每一CAM元素的寬度為^立 疋。將每一後向對照值分解成信號線(38 0 )上5位元長度的 一位置。寫入-儲存移位暫存器(3 4 0 )識別將被信號線 (310)上輸入的資料蓋寫的次一CAM元素。一通過-儲存移 位暫存器(3 5 0 )在一資料串相符的開始處通過所有的相符 CAM,並只在每一後續相符CAM係接續前一相符CAM時,通 過該後續相符C A Μ。一保留-儲存鎖存器(3 5 5 )儲存前一通 過-儲存移位暫存器的内容,以便在邏輯,,或閘(3 6 5 )的輸 出證明所有的相符CAM串已終止之後,讓分解器(37 〇 )產生 位置b。 請參閱圖5,位置碼b係自ALDC壓縮器經由信號線(38 0 ) 輸出到F I F 0暫存器(1 0 7 ) ’且一有效輸出亦自a L D C的控制 電路而提供給F I F0暫存器(1 80 ),以便提供一個指示伴隨
五、皆明說明(i 9) 位置碼的有效性之位元。邏輯"或.'閘( 3 65 )的輪出亦係經 由信號線(1 1 4 )而提供給本發明的一控制狀態機(·丨i 5 )。控 制狀態機(1 1 5 )接收該邏輯"或•,閘的輸出,並處理該輸 出,而產生一怪變信號(U 7 ),用以將F〖F〇 ( 1 〇 6 ) f各資料 字組所對應的資料串長度·編碼。該恆變信號處於相同狀態 的長度對應於資料串長度。例如,恆變信號” 00 101丨00 〇厂 經由"0 0 ”將一資料串的結束編碼,經由”丨”將一個符合字 組(或文字符號)編碼’經由” 〇"將另一符合字組編碼,經 由"1 1 '將兩個字組後向對照值編碼,且經由"〇 〇 〇 "將三個 字組後向對照值編碼。 計數器(1 2 0 )亦監視控制狀態機(丨i 5 )的一輸出,以便提 供資料串符合長度的計數。計數器(丨2 〇 )之輸出計數是一 查詢表(1 2 1)之輸入位址,而查詢表(丨2 1)提供計數器 (1 2 2 )累積值更新之正負號及大小。例如,當發現一文字 符號時’遠查询表可能得到一個+1的計數指令,且當兩個 計數指令對應於一個2位元組之後向對照值時,將得到一 個0及-3。 計數器(1 2 2 )是一個特殊的向上/向下累積計數器,該 計數器可更新各種大小,並載去低於0或高於臨界值 "Απ (如前文所述,"A”是交換到架構2代碼字的長度(13位 元)加上交換到架構1代碼字的長度(1 3位元),總共有2 6位 元)之計數。兩個比較器(1 2 3 )及(1 2 4 )監視該輸出計數。 比較器(1 2 3 )識別該計數是否大於或等於將交換到架構2之 臨界值"Β"(該臨界值在本實例中是7,為1 3的一半再捨
C:\1234\54635. ptd 第24頁 40284^
五、發明說明(20) 入):且比較器(1 24 )識別該計數是否小於或等於將沿著相 反方向交換到架構1之臨界值"B" ( 2 6 - 7 = 1 9 )。 該輸出計數亦供應到輪出端(1 2 6 ),因而控制狀態機 (1 1 5 )可識別該計數何時到達2 6或〇。 控制狀悲機(1 1 5 )具有三個其他輸出。目前處於架構^模 式時,每當該計數到達26即設定(:1^忧1^3\!61:(127),用以 指示可確認交換到架構2時有可看出的節省;或者目前處 於架構2模式時,每當該計數到達〇,即指示可確認交換 架構1時有可看出的節省。架構(丨28)是試驗性架構,在嗜 架構t 1如同架構切換而輸出一特定的資料位元組。例 士在架構1時架構(1 2 8 )將試驗性預定任何文字符號作 ί μ ί 2的:始戎序列應在輸出之前先改變成架構2。 在此種情形中,如果發現-個並無任何可看出的節省之後 向對照值(經由信號線(丨29)迫使計數器(〗22)之計數為 〇) ’則取㈣試驗性架構交換。得以設定取消信號(13〇) 之方式完成上述程序’該取消信號U30)操作電路(131), 以便取消自現有狀態的任何架構交換,直到該序列的開 :二並=取消的試驗性架構交換將在FiF〇的輸出端 &成.構Q(133)上的轉變。 架構Q( 1 33 )上的轉變通知控制邏輯電路(丨4〇 )決定是否 ί ΐ Γ:广架構交換。如果如電路(135)指示的F 1 F0(11 2 ) -ί ^r^ΓaMct(127)^7t#^''0',' 得到良好的結果。在該實例中,監視兩個 比幸父态(1 2 3 )及(1 2 4 )中之一屮y eh _*_人 ^比較益(用於所指示架構交換
40^84S 五、發明說明(21) 之相關比較器),而且在該比較器有作用時只繼續進行該 切換。 使用這些輸入時,控制邏輯電路(14〇 )依照架構q(133) 的轉變而動作,而接收該轉變,或拒絕該轉變。在接受的 情形中,控制邏輯電路(1 40 )啟動通到位元打包器(' 1 51 )之 inscrt_swap 信號線(150),並將 swap_codeword 及 swap一1 ength信號(用於兩個交換代碼字之長度不同的情 形)分別經由信號線(1 5 2 )及(1 5 3 )而傳送到位元打包器 (151)。控制邏輯電路(1 4 0 )亦改變通到架構多工器(161) 的選擇信號線(160 )之狀態。 在拒絕的情形中(高準則"A"原已不符(無 Cri ter iaMet ),且本比較器所決定的低準則"B”現在也不 符),則啟動一清除信號線,以便在現有狀態所提供的適 當計數(在架構1為0,在架構2為2 6 )時重新啟動計數5| (1 2 2 )(當自F I F 0 ( 1 0 6 )移出該計數所對應的資料時,該計 數即變成無效)’且經由取消信號(1 3〇)而取消試驗性架構 轉變。 控制邏輯電路(1 70 )解譯恨變信號(11 7 )流,並衍生架構 1邏輯電路(1 75)之對照值及文字符號控制信號。在對照值 的情形中’計數器(176)量測資料串長度,且係經由查詢 表(1 7 7 )而找到相符長度碼,其中該查詢表(j 7 7 )輸出一代 碼k、及忒代碼之長度j。架構1邏輯電路(1 7 5 )將k、〕·及 來自F I FOO 〇 7 )之位置b剖析成適當的後向對照值,並經由 11及d 1而輸出該後向對照值。自控制邏輯電路(1 7 0 )到位
C:\1234\54635. ptd 第 26 頁 402€4Θ------ 五、發明說明(22) 元打包器(1 5 1 )的L&D有效信號線(1 7 7 )告知在一後向對照 值中為有效的單一週期= 可將一後向對照值的位置指標輸出到一個Nxb的移位暫 存器,或利用一個1位元有效F I F 0 ( 1 8 0 )將該位置指標縮減 到一個Μ/2Π F0( 107 ),其中該F I F0( 180 )告知哪些f iF(m立 置被佔用,因而可進行選擇性的傳播。控制邏輯電路 (170)的Take信號(181 )優於最後一個FIFO位置之有效位 元’並(在對應於該有效位元的資料被鎖存之後)可蓋寫該 有效位元。 F I F0 (1 0 6 )在一比較器(1 9 0 )的協助下只提供在架構2中 輸出所需的資料,其中該比較器(1 9 0 )檢查該特定位开組 是否正好對應於控制序列(在以十六進位表示的,,FF,,之产 形中)。在架構2中,1 2是8 ( —般情形)、或用於控制序列 的9。d2上的輸出只是FIF0( 106)中的8個位元、或代表批 制序列的9個位元。 位元打包器(1 5 1 )收集各種壓縮代碼字,並將這些代, 字打包成可在壓縮器之外使用的某一匯流排寬度。~例如%, 在架構1中,一特定壓縮符號的長度可以是9位元(在’ 字符號的情形中)、13位元(在ALDC-2模式下的2或3位元文 組後向對照值之情形中)等,但是在該壓縮器之後的、羅7^ 電路可能需要一個2位元組寬度的匯流排。 ^ 舉例而言,圖5所示電路之作業假設下列的起始狀況. 起始壓縮模式是設有一重定過去記錄緩衝器之架構1 ('. 模式)’成本計數器(122)將以0開始,且fifoi的悝變
C:\123A\54635. ptd
40284S 五、發明說明(23) 號(1 1 7 )在所有的位置都是〇。成本計數器2 2 )遞增1,而 指不架構1的每一文字符號在通過資料上的成本。根據後 向對照的位元節省程度(請參閱圖4λ ),一向下計數可以有 各種大小。 5十數為(1 2 2 )被限制在◦或2 6。在沒有成本的情形下(例 如輸出n FF") ’也可以將計數器(丨22 )保持在現有計數^亦 可將該計數重定到〇或2 6。三個f f 〇組的控制位元包 含:Togg 1 e ( 1 1 0 )( —個改變狀態的編碼後匸ΑΜ陣列輸出), 用以指示在ALDC模式中在各輸出事件間之轉绫;
Schme ( 1 11),用以指示在資料進入f I f〇時計數所建議的試 驗性架構("1” =架構1,” 〇 ” =架構2 );以及
Cr i ter i a\let (11 2 ),用以指示符合自動切換準則。 在一替代實施例中,取消了 C r i t e r i a M e t,而將三個控 制信號線減少為兩個,並將此資訊编碼到架構中。次種方 式是可能的,因為架構狀態必然延伸到多個位元,此時可 使用1位元的架構狀態來表示C r i t e r i a M e t,且只要架構 以諸如兩個信號線之方式進行,即可不理會其他的情形:
Scheme 222211111
CriteriaMet 000100000 可合併成: 合併後 221211111 此種合併可節省晶片空間 '但是下文中將說明在觀念上較
C:\1234\54635.ptd 第28頁 402843 五,發明說明(24) 簡單的三個控制信號線。 為簡化說明,將F IF0深度設定在32的層級,稍微大於臨 界值的26計數,但遠小於過去記錄缓衝器(通常為5 12 或1 0 0 0位元組)。 將利用三種情形來說明該作業。在情形Λ中,如圖7所 不’於接收端(1 0 0 )接收到輸入料流M i s s i s s u p p i abcdefghijklmnopqrstuv is her Missis"= 開始時,ALDC架構1必須將第一輸入資料視為一文字符 號。由於起始計數為〇,所以每一文字符號(包括第一個4 位元組π M i ss")出現時將遞增計數器(1 2 2 )的計數,且任何 一個非零的計數都有可能是一資料串的開始,而在出現資 料串時應交換到架構2,因而S c h e m e信號線(1 2 8 )被設定為 "2”。隨後接收到一個3位元組的後向對照(針對” iss")時 將遞減該計數,直到該計數似乎要變成負數為止變 成負數二因為該限制在。此時,已、得“ 對在之前的各文字符號進行試驗性交換 告知的,並使用傳播到F I F0中開> 1込’、構2是被錯疢 短,…言,驗神… 開始武驗性交換的位置之邏 隨後接收到28個文字符號的資料 ^ (1 22 )的計數到達2 6 (該計數並未超、。因而使計數器 被限制),且此時最好是進行空地°過26 ’因為該計數再度 路的正反狀態設定在架構2 (通過} D 將控制邏輯電 2,並且變成一個交換回到架構丨、然後碰到後向對照值 為"Re f 2 ”是一交換回去的潛在M 1潛在開始。請注意’因 $始,所以立即將該,IRef2"
40284^ 五、發明說明(25) 標示為試驗性架構1。上述情形與"R c f 1 "相反,當邏輯電 路仍然將一資料串評估為一到架構2的潛在交換時,接收 到"Ref 1",因而在計數達到0之前,將"Refl1’標視為試驗 性架構2,且在計數到達0時取消該試驗性交換。與"Ref2" 的差異為在控制邏輯電路中之正反狀態。隨後接收到 ” Ref 3” ," Ref 3"與"Ref 2"不同,有足夠的大小以確保切換 回到架構1。 圖8所示之情形B是一個稍微不同的資料串。在此種情形 中,在確保一狀態改變之前,先填滿3 2 F IF 0,並查詢計數 (1 2 3 ),以便決定是否應進行一交換。因為計數為小於 7(決定性臨界值"B”)的"6” ,所以並不執行到架構1的試驗 性交換(且證實了成本6 )。 圖9所示之情形C是一個略微不同的資料串3在此種情形 中,在確保一狀態改變之前,先填滿32FIF0,並查詢計數 (1 23 ),以便決定是否應進行一交換。因為計數為大於 7(決定性臨界值"B")的"11” ,所以執行到架構1的試驗性 交換(且有效成本為所要交換的1 3個位元減掉因交換而節 省的1 1的位元,而得到2個位元之淨成本)。 情形A (圖7 )示出:縱使在計數器(1 2 2 )完全朝向架構 2 (於計數26)偏移,一個6位元組的後向對照即足以迫使架 構切換到架構1。因此,任何後向對照6位元組或更長時, 將迫使切換到架構1。 在所示實例中,係進行在ALDC及通過模式下壓縮效率的 F I F 0比較,且只有在小於全F IF 0長度的情形十比較結果指
C:\i234\54635.ptd 第30頁 40284S_ 五 '發明說明(26) 示現有模式的累積壓縮效率比另一模式的壓縮效率大一個 臨界值” Λ” ,或者在到達全F I F0長度的情形中比另一模式 的壓縮效率大一個臨界值” B"時,才切換輸入資料的壓縮 模式。臨界值” A "及"B ’’與多位元模式切換字元中之位元數 直接相關。 可易於將本發明延伸到多種壓縮技術、或同一技術的各 種版本。例如,可在ALDC-1與ALDC-2之間進行交換,這是 因為壓縮效率的差異由於Λ L D C - 2缓衝器容量較大(1 0位元 相對於9位元)而有時增加且有時降低壓縮效率。 雖然已詳細說明了本發明之較佳實施例,但是我們當了 解,在不脫離下列申請專利範圍所述的本發明範圍下,熟 悉本門技術者可對這些實施例進行各種修改及改造。
C:\1234\54635.ptd 第3丨頁

Claims (1)

  1. 40384¾_ 六、申請專利範圍 1. 一種在各種無耗損資料壓縮模式之間切換之方法,係 由至少一個多位元模式切換字元指示該切換,該方法包含 下列步驟: 接收二進位格式的輸入資料: 在進行中執行在每一該模式下該輸入資料的壓縮效率 之F I F 0決定; 執行在每一該模式下的該等壓縮效率之F I F 0比較;以 及 只有在該比較指示現有模式的該壓縮效率比另一模式 的該壓縮效率大一個臨界值時,才在壓縮該輸入資料的該 等模式之間切換,其中該臨界值係與該多位元模式切換字 元中之位元數直接相關。 2. 如申請專利範圍第1項之方法,其中該等資料壓縮模 式中之一資料壓縮模式包含一個將該輸入資料壓縮成若干 可變長度的符記之Lempc卜Z i v型壓縮;且其中該F I F0壓縮 效率決定步驟包含下列步驟:決定每一該等可變長度的符 記之位元長度。 3. 如申請專利範圍第1項之方法,其中該F I F0比較步驟 包含下列步驟:累積該等壓縮效率之比較值;且其中該切 換步驟包含下列步驟:在該等累積比較值到達該臨界值 時,在該等模式之間切換。 4. 如申請專利範圍第3項之方法,其中係回應該切換步 驟在該等模式之間切換,而將該F I F 0比較步驟之累積值重 定為零。
    C:\1234\54635. ptd 第32頁 4Q284S_ 六、申請專利範圍 5. 如申請專利範圍第3項之方法,其中每一該等資料壓 縮模式都提供一輸出字組或符記,且其中係針對該等資料 壓縮模式之每一該字組或符記進行該F I F 0比較步驟,並累 積比較結果。 6. 如申請專利範圍第5項之方法,其中該臨界值包含兩 個值,一第一較高臨界值係用於輸入資料小於該F I F0長度 時之效率比較,且一第二較低臨界值係用於輸入資料到達 整個該F I F 0長度時之效率比較。 7. 如申請專利範圍第6項之方法,其中該第一較高臨界 值等於該多位元模式切換字元於切換過去及切換回來時的 位元數之總和,且該第二較低臨界值等於該多位元模式切 換字元中的位元數之一半(並捨入成整數)。 8. 如申請專利範圍第3項之方法,其中該等資料壓縮模 式中之一資料壓縮模式包含一個將該輸入資料壓縮成若干 可變長度的符記之Lempe 1 -Z i v壓縮;且其中該F IFO壓縮效 率決定步驟包含下列步驟:決定每一該等可變長度的符記 之位元長度。 9. 如申請專利範圍第8項之方法,其中該等資料壓縮模 式之另一模式包含一通過模式。 1 〇 .如申請專利範圍第9項之方法,其中該通過模式自通 過的文字符號中除去一控制碼符號,以便提供該等至少一 個多位元模式切換字元3 1 1 .如申請專利範圍第9項之方法,其中係由查詢表進行 該Le mpe 1 -Z i v資料壓縮之該F IFO壓縮效率決定步驟。
    C:\1234\54635.ptd 第33頁 40284S 六、申請專利範圍 12.如申請專利範圍第8項之方法,其中該Lem pel-Ziv資 料壓縮模式提供該等輸出符記,且該通過模式提供輸出字 組,且其中係針對該等資料壓縮模式的每一該字組或符記 進行該F I F 0比較步驟。 1 3.如申請專利範圍第1 2項之方法,其中該臨界值包含 兩個值,一第一較高臨界值係用於輸入資料小於或等於該 F I F 0長度時之效率比較,且一第二較低臨界值係用於輸入 資料到達整個該F I F 0長度時之效率比較。 1 4.如申請專利範圍第1 3項之方法,其中該第一較高臨 界值等於該多位元模式切換字元於切換過去及切換回來時 的位元數之總和,且該第二較低臨界值等於該多位元模式 切換字元中的位元數之一半(並捨入成整數)。 1 5. —種在各種無耗損資料壓縮模式之間切換之資料壓 縮裝置,其中係由至少一個多位元模式切換字元指示該切 換,該裝置包含: 一輸入端,用以接收二進位格式的輸入資料; 耦合到該輸入端之一第一無耗損資料壓縮器,用以提 供該輸入資料的一第一資料壓縮; 耦合到該輸入端之一第二無耗損資料壓縮器,用以提 供該輸入資料的一第二資料壓縮; 耦合到該壓縮器之比較邏輯電路,用以在進行中按照 先進先出(F I F0 )的方式比較該第一及該第二無耗損資料 壓縮器在壓縮該輸入資料上的壓縮效率,並將該等效率比 較值與一臨界值比較,其中該臨界值係與該多位元模式切
    C:\1234\54635.ptd 第34頁 —403849-- 六、申請專利範圍 換字元中之位元數直接相關,且該比較邏輯電路於該等效 率比較值超過該臨界值時,提供一信號;以及 耦合到該比較邏輯電路及該等壓縮器之一壓縮輸出選 擇器,用以在該比較邏輯電路提供該信號時自該等壓縮器 中之一壓縮器提供輸出,並在該現有模式下自該壓縮器切 換到該另一壓縮器,且輸出該等至少一個多位元模式切換 字元,而通知在該等壓縮器間之切換。 1 6.如申請專利範圍第1 5項之資料壓縮裝置,其中該比 較邏輯電路又包含一累積器,用以累積每一該效率比較 值,且其中該比較邏輯電路將該累積效率比較值與該臨界 值比較。 1 7.如申請專利範圍第1 6項之資料壓縮裝置,其中在該 比較邏輯電路提供該信號時,將該累積器重定到零。 1 8.如申請專利範圍第1 6項之資料壓縮裝置,其中該第 一無耗損資料壓縮器是一個將該輸入資料壓縮成若干可變 長度的符記之Le mp e卜Z i v型壓縮器;且其中該效率比較邏 輯電路將每一該可變長度的符記之位元長度與該第二無耗 損資料壓縮器壓縮之位元長度比較。 1 9.如申請專利範圍第1 6項之資料壓縮裝置,其中每一 該等資料壓縮模式提供一輸出字組或符記,且其中該比較 邏輯電路針對該等資料壓縮模式之每一該字組或符記進行 該F I F 0比較,.而且該累積器累積該等F I F 0比較的結果。 2 0.如申請專利範圍第1 9項之資料壓縮裝置,其中該臨 界值包含兩個臨界值,一第一較高臨界值係用於輸入資料
    第35頁 C:\123^\54635. ptd 40284S- 六、申請專利範圍 所具有的資料串長度小於或等於該F I F0緩衝器所識別的資 料串長度時之效率比較,且一第二較低臨界值係用於輸入 資料所具有的資料串長度大於該F I F 0緩衝器所識別的資料 串長度時之效率比較。 21.如申請專利範圍第20項之資料壓縮裝置,其中該第 一較高臨界值等於該多位元模式切換字元於切換過去及切 換回來時的位元數之總和,且該第二較低臨界值等於該多 位元模式切換字元中的位元數之一半(並捨入成整數)。 2 2.如申請專利範圍第20項之資料壓縮裝置,其中該第 一無耗損資料壓縮器是一個將該輸入資料壓縮成若干可變 長度的符記之L e m p e 1 - Z i v壓縮器;且其中該效率比較邏輯 電路將每一該可變長度的符記之位元長度與該第二無耗損 資料壓縮器壓縮之對應位元長度比較。 2 3 .如申請專利範圍第2 2項之資料壓縮裝置,其中該等 資料壓縮模式之另一模式包含一通過模式。 24.如申請專利範圍第23項之資料壓縮裝置,其中該通 過資料壓縮自通過的文字符號中除去一控制碼符號,以便 提供該等至少一個多位元模式切換字元。
    C:\1234\54635.ptd 第36頁
TW087114207A 1997-11-19 1998-08-27 Method and apparatus for switching between data compression modes TW402849B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/974,199 US6008743A (en) 1997-11-19 1997-11-19 Method and apparatus for switching between data compression modes

Publications (1)

Publication Number Publication Date
TW402849B true TW402849B (en) 2000-08-21

Family

ID=25521731

Family Applications (1)

Application Number Title Priority Date Filing Date
TW087114207A TW402849B (en) 1997-11-19 1998-08-27 Method and apparatus for switching between data compression modes

Country Status (5)

Country Link
US (1) US6008743A (zh)
JP (1) JP3065591B2 (zh)
KR (1) KR100318780B1 (zh)
MY (1) MY114963A (zh)
TW (1) TW402849B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI784068B (zh) * 2017-10-27 2022-11-21 日商瑞薩電子股份有限公司 資料處理裝置及資料處理方法

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401133B1 (en) * 1998-06-24 2002-06-04 Unisys Corporation System for high speed continuous file transfer processing of data files
US6711709B1 (en) * 1998-06-24 2004-03-23 Unisys Corporation Integrated block checking system for rapid file transfer of compressed data
US6624761B2 (en) * 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
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
US7538694B2 (en) 1999-01-29 2009-05-26 Mossman Holdings Llc Network device with improved storage density and access speed using compression techniques
US6819271B2 (en) 1999-01-29 2004-11-16 Quickshift, Inc. Parallel compression and decompression system and method having multiple parallel compression and decompression engines
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
US6604158B1 (en) 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
US6281816B1 (en) * 1999-08-24 2001-08-28 International Business Machines Corporation Method and apparatus for reducing data expansion during data compression
US6271775B1 (en) * 1999-08-24 2001-08-07 International Business Machines Corporation Method for reducing data expansion during data compression
GB2355161B (en) * 1999-10-05 2001-09-12 3Com Corp Network device incorporating selective compression of stored data packets
US7181608B2 (en) 2000-02-03 2007-02-20 Realtime Data Llc Systems and methods for accelerated loading of operating systems and application programs
US6963882B1 (en) * 2000-10-02 2005-11-08 International Business Machines Corporation Method and apparatus for processing a list structure
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
US9143546B2 (en) 2000-10-03 2015-09-22 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
US6650261B2 (en) * 2001-09-06 2003-11-18 Xerox Corporation Sliding window compression method utilizing defined match locations
US7085020B2 (en) * 2001-11-14 2006-08-01 International Business Machines Corporation Raster data compression apparatus and method
US6577254B2 (en) * 2001-11-14 2003-06-10 Hewlett-Packard Development Company, L.P. Data compression/decompression system
US7420992B1 (en) 2005-03-17 2008-09-02 Packeteer, Inc. Adaptive network traffic compression mechanism including dynamic selection of compression algorithms
US7649909B1 (en) 2006-06-30 2010-01-19 Packeteer, Inc. Adaptive tunnel transport protocol
US8238677B2 (en) * 2008-03-07 2012-08-07 International Business Machines Corporation Adaptive lossless data compression method for compression of color image data
US8489832B1 (en) * 2009-12-10 2013-07-16 Guidance-Tableau, Llc System and method for duplicating electronically stored data
WO2014087497A1 (ja) * 2012-12-05 2014-06-12 株式会社日立製作所 ストレージ装置及びその制御方法
US20150227540A1 (en) * 2014-02-12 2015-08-13 Hitachi, Ltd. System and method for content-aware data compression
GB2524516A (en) * 2014-03-25 2015-09-30 Ibm Hardware compression method finding backward references with multi-level hashes
GB2524515A (en) * 2014-03-25 2015-09-30 Ibm Method to improve compression ratio for a compression engine
US9647684B2 (en) * 2014-10-21 2017-05-09 Huawei Technologies Co., Ltd. Memory-based history search
KR101724124B1 (ko) 2015-12-10 2017-04-06 (주) 솔텍시스템 다차원 배열 데이터 압축 장치 및 방법
CN109857463B (zh) * 2019-01-30 2020-12-01 上海兆芯集成电路有限公司 加速压缩方法以及加速压缩装置
US11803693B2 (en) 2021-06-18 2023-10-31 Microsoft Technology Licensing, Llc Text compression with predicted continuations

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3784737A (en) * 1973-01-12 1974-01-08 United Aircraft Corp Hybrid data compression
US5177480A (en) * 1988-12-07 1993-01-05 British Telecommunications Public Limited Company Data communication having transmitter-controlled mode switching from compressed-to-transparent mode but local synchronous transmitter-controlled and receiver-controlled mode switching from transparent-to-compressed mode
US5373290A (en) * 1991-09-25 1994-12-13 Hewlett-Packard Corporation Apparatus and method for managing multiple dictionaries in content addressable memory based data compression
CA2077271C (en) * 1991-12-13 1998-07-28 David J. Craft Method and apparatus for compressing data
US5455576A (en) * 1992-12-23 1995-10-03 Hewlett Packard Corporation Apparatus and methods for Lempel Ziv data compression with improved management of multiple dictionaries in content addressable memory
JPH088842A (ja) * 1994-06-15 1996-01-12 Philips Electron Nv データ圧縮伝送システム
US5561824A (en) * 1994-10-04 1996-10-01 International Business Machines Corporation Storage management of data for ensuring communication of minimal length data
US5608396A (en) * 1995-02-28 1997-03-04 International Business Machines Corporation Efficient Ziv-Lempel LZI data compression system using variable code fields
US5815097A (en) * 1996-05-23 1998-09-29 Ricoh Co. Ltd. Method and apparatus for spatially embedded coding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI784068B (zh) * 2017-10-27 2022-11-21 日商瑞薩電子股份有限公司 資料處理裝置及資料處理方法

Also Published As

Publication number Publication date
MY114963A (en) 2003-02-28
JP3065591B2 (ja) 2000-07-17
JPH11261423A (ja) 1999-09-24
KR100318780B1 (ko) 2002-02-19
US6008743A (en) 1999-12-28
KR19990044839A (ko) 1999-06-25

Similar Documents

Publication Publication Date Title
TW402849B (en) Method and apparatus for switching between data compression modes
US10846218B2 (en) Methods, devices and systems for compressing and decompressing data
CN108880556B (zh) 基于lz77的无损数据压缩方法、误码修复方法及编码器和解码器
US8456331B2 (en) System and method of compression and decompression
CN108702160B (zh) 用于压缩和解压缩数据的方法、设备和系统
US5473326A (en) High speed lossless data compression method and apparatus using side-by-side sliding window dictionary and byte-matching adaptive dictionary
US6218970B1 (en) Literal handling in LZ compression employing MRU/LRU encoding
US8456332B2 (en) Systems and methods for compression of logical data objects for storage
US7821430B2 (en) Arithmetic decoding apparatus
EP0903866B1 (en) Method and apparatus for data compression
JPH04503421A (ja) テープドライブシステムのための適応データ圧縮装置
US5874908A (en) Method and apparatus for encoding Lempel-Ziv 1 variants
JP2003521189A (ja) より効果的な圧縮を有するデータ圧縮
US6281816B1 (en) Method and apparatus for reducing data expansion during data compression
JPH08307280A (ja) 生データのストリームを圧縮する方法
US6271775B1 (en) Method for reducing data expansion during data compression
WO2001067616A1 (en) Arithmetic decoding of an arithmetically encoded information signal
US6762700B2 (en) NEO method and system for lossless compression and decompression
GB2360915A (en) Run length compression encoding of selected bits of data words
US8615617B1 (en) Lempel ziv compression architecture
US6567019B2 (en) Data processing apparatus and method
EP1488527A1 (en) Method and apparatus for lossless compression and decompression of data
KR100481204B1 (ko) 데이터 문자의 입력 스트림을 코드의 출력 스트림으로 압축시키기 위한 데이터 압축 방법 및 장치
GB2365284A (en) Data compression system which selects compressed output from one of two different compression schemes
JP3351732B2 (ja) 算術符号化装置および方法、算術復号装置および方法、並びに記録媒体

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