TW402849B - Method and apparatus for switching between data compression modes - Google Patents
Method and apparatus for switching between data compression modes Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- 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
-
- 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/3088—Compression; 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)
- 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頁
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI784068B (zh) * | 2017-10-27 | 2022-11-21 | 日商瑞薩電子股份有限公司 | 資料處理裝置及資料處理方法 |
Families Citing this family (32)
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)
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 |
-
1997
- 1997-11-19 US US08/974,199 patent/US6008743A/en not_active Expired - Lifetime
-
1998
- 1998-08-27 TW TW087114207A patent/TW402849B/zh not_active IP Right Cessation
- 1998-09-30 MY MYPI98004491A patent/MY114963A/en unknown
- 1998-10-07 KR KR1019980041820A patent/KR100318780B1/ko not_active IP Right Cessation
- 1998-11-18 JP JP10327675A patent/JP3065591B2/ja not_active Expired - Fee Related
Cited By (1)
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 |