Zstandard
Zstandard(或Zstd)是由Facebook的开发的一个无损数据压缩算法。该名称也指其C语言的參考實作}-。第1版的实现于2016年8月31日发布为自由软件 特色 设计Zstandard的目的是提供一个类似于DEFLATE算法的压缩比,但更快,特别是解压缩快的算法。它的压缩级别从负5级(最快)到22级(压缩速度最慢,但是压缩比最高)可以-{zh-cn:调节;zh-tw:調整}-。 zstd套件里面有压缩和解压缩的并行(多线程)实…
共 45 篇文章
Zstandard(或Zstd)是由Facebook的开发的一个无损数据压缩算法。该名称也指其C语言的參考實作}-。第1版的实现于2016年8月31日发布为自由软件 特色 设计Zstandard的目的是提供一个类似于DEFLATE算法的压缩比,但更快,特别是解压缩快的算法。它的压缩级别从负5级(最快)到22级(压缩速度最慢,但是压缩比最高)可以-{zh-cn:调节;zh-tw:調整}-。 zstd套件里面有压缩和解压缩的并行(多线程)实…
ZIP文件格式是一种数据压缩和文档储存的文件格式,原名Deflate,发明者为菲尔·卡茨(),他于1989年1月公布了该格式的相關资料。ZIP通常使用后缀名“”,它的MIME格式为。目前,ZIP格式属于几种主流的压缩格式之一,其竞争者包括RAR格式以及开放源码的7z格式。从性能上比较,RAR及7z格式较ZIP格式压缩率较高,而7-Zip由于提供了开源的压缩工具而逐渐在更多的领域得到应用。Microsoft从Windows ME操作系统开…
截斷二進制編碼()是一種適用於擁有均勻分布特性的符號的熵編碼方式。當符號個數不為2的整數次方時,比起使用普通固定長度的二元編碼,採用截斷二進制編碼能縮短平均碼長。 編碼方式 令n個符號,s\in \left\{ {0,1,2,3...(n-1)}\right\},2^ \leq n\leq 2^ { },k=\lfloor {log_2 n} \rfloor 。 當n不為2的整數次方,以k+1個進行位元固定二元編碼時,會有m個未使用之碼…
LHA是一種檔案壓縮電腦軟體,也是此壓縮格式的名稱,其對應的副檔名有.lha及.lzh。發明人為日本業餘程式設計師吉崎榮泰(),在日本仍是常見的壓縮格式之一。 歷史 擔任內科醫師的吉崎榮泰利用業餘時間,在計算機科學家奧村晴彥所發明的演算法之基礎上開發了名為LHarc的檔案壓縮軟體及壓縮格式,1988年首次於網路上公開。1990年左右全面改寫程式,並改名為LHA。原本是要命名為LH,但是因為和MS-DOS的內部指令loadhigh的縮寫相…
LEB128(Little Endian Base 128)是一种支持将任意大的整数编码到变长字节流的可变长度编码。DWARF调试文件格式以及WebAssembly中所有整数字面量的二进制编码都使用了 LEB128。 编码格式 LEB128格式与可变长度数量(VLQ) 格式非常相似;两者的主要区别在于,LEB128采用小端序,而可变长度数量采用大端序。两者都允许将小数字存储在单个字节中,同时还允许对任意长度的数字进行编码。LEB128有…
'是一种专有檔案格式,用于数据压缩与归档打包,开发者为(,拉丁轉寫:Yevgeny Lazarevich Roshal),RAR的全名是「Roshal AR*chive」,即“罗谢尔的归档”之意。首个公开版本RAR 1.3发布于1993年。 尤金·羅謝爾于1972年3月10日生于俄罗斯。毕业于俄罗斯车里雅宾斯克工业大学(Chelyabinsk Technical University,今),也是FAR文件管理器的作者。他开发了压缩和解压…
JBIG是一種無損圖像的壓縮標準,從,由ISO/IEC standard 11544 ITU-T recommendation T.82所標準化而來。 外部連結 * [http://www.cl.cam.ac.uk/~mgk25/jbigkit/ JBIG-KIT] – a free C implementation of the JBIG encoder and decoder
FreeArc是一个自由、开源的文件归档器。Beta版0.666于2010年发布。后续版本“FreeArc Next”处在开发阶段,0.11版本已于2016年10月发布。“Next”版本提供32位和64位版本,适用于Windows和Linux操作系统,并包含Zstandard支持。 算法 FreeArc按文件类型自动使用LZMA、、TrueAudio、Tornado和算法。它还使用多种过滤器来进一步改进压缩率,包括REP(找到间隔高达1…
在信息论中,夏農–菲諾–以利亞碼是算術編碼的先導,其機率被用於決定碼字。 演算法描述 給定一離散隨機變數 X ,令 p(x) 為 X=x 發生之機率。 定義 :\bar F(x) = \sum_{x_i 演算法如下: :對每個 X 中的 x, ::令 Z 為 \bar F(x) 之二次展開 ::令 x 之編碼長度 L(x)=\left\lceil \log_2 \frac {1}{p(x)} \right\rceil + 1 ::選定 …
斐波那契編碼(Fibonacci coding)是一種僅使用兩種符號(0和1)表達數值的。這種編碼是基於斐波那契數來表達整數的一個例子。這種編碼皆以「11」為結尾,並且在結尾之前不會出現連續2個1。 斐波那契編碼與齊肯多夫表述法密切相關。齊肯多夫表述法是一種基於齊肯多夫定理的进制系統,並且也具有不連續使用兩個1的特性。特定整數的斐波那契編碼正是數字順序顛倒的齊肯多夫表述法,並在末尾附加了一個額外的“1”。 定義 對於一個數字N\!,若d…
适应性霍夫曼编码(),又称动态霍夫曼编码(),是基於霍夫曼编码的技术。它允许在符号正在传输时构建代码,允许一次编码并适应数据中变化的条件,即随着数据流的到达,动态地收集和更新符号的概率(频率)。一遍扫描的好处是使得源程序可以实时编码,但由于单个丢失会损坏整个代码,因此它对传输错误更加敏感。 在霍夫曼編碼中,有個缺點是除了壓縮後的資料外,它還得傳送機率表給解碼端,否則解碼端無法正確地做解碼的工作。如果想要壓縮好一點,必須有更多的統計資料,…
非破壞性資料壓縮(Lossless Compression),是指資料經過壓縮後,資訊不被破壞,還能完全恢復到壓縮前的原樣。相比之下,破壞性資料壓縮只允許一個近似原始資料進行重建,以換取更好的壓縮率。 非破壞性壓縮在許多應用程式中使用。例如,ZIP和gzip。 非破壞性壓縮通常用於嚴格要求「經過壓縮、解壓縮的資料必須與原始資料一致」的場合。典型的例子包括文字檔、程式執行檔、程式原始碼。有些圖片檔案格式,例如PNG和GIF,使用的是非破壞…
Brotli是一个Jyrki Alakuijala和开发的开源数据压缩程序库。Brotli基于LZ77算法的一个现代变体、霍夫曼编码和二阶。 在Chrome、Opera和Firefox中,它已被用于加速万维网的传输速度。类似Google的压缩算法zopfli,brotli这个名字来自瑞士的烘培产品。 演变 Brotli最初发布于2015年,用于网络字体的离线压缩。Google软件工程师在2015年9月发布了包含通用无损数据压缩的Brot…
霍夫曼編碼(),又譯為哈夫曼编码、赫夫曼编码,是一種用於无损数据压缩的熵編碼(權編碼)演算法。由美國計算機科學家大衛·霍夫曼於1952年發明。 簡介 在计算机资讯处理中,霍夫曼編碼使用變長編碼表對源符號(如文件中的一個字母)進行編碼,其中變長編碼表是通過一種評估來源符號出現機率的方法得到的,出現機率高的字母使用較短的編碼,反之出現機率低的則使用較長的編碼,這便使編碼之後的字符串的平均長度、期望值降低,從而達到無損壓縮數據的目的。 例如,…
*'(TAK)是一種無損音質的音樂編解碼器。不但具有近似於Monkey's Audio的高壓縮比,也擁有接近FLAC的解碼速度。不過就目前來說,支援的軟體極少,僅有像是foobar2000與Winamp等知名音樂播放軟體配合使用外掛程式才能播放。 特色 媲美APE的高壓縮比 接近FLAC的編碼與解碼速度 支援串流媒体(流媒体) 支援多线程的編碼(1.0.3以後的版本) 具有錯誤容忍(單一bit的錯誤不會影響超過250ms) 具有錯誤偵測…
差分编码(),又稱增量編碼,是指在序列式資料之間以形式儲存或傳送資料的方式(相對於儲存傳送完整檔案的方式)。通常應用於目標檔案和參考檔案之間存在高度冗餘的情況,使壓縮後檔案大小比僅使用目標檔案壓縮小,可以提高網路和磁碟資源的使用效率。 差異儲存在稱為「delta」或「diff」的不連續檔案中。由於改變通常很小(平均佔全部大小的2%),差分編碼能大幅減少資料的重複。一連串獨特的delta檔案在空間上要比未編碼的相等檔案有效率多了。 差分編…
在数据压缩的领域里,香农-法诺编码()是一种基于一组符号集及其出現的或然率(估量或测量所得)构建前缀码的技术。其名稱来自于克劳德·香农和羅伯特·法諾。在编码效率上,它并不能与霍夫曼编码一样实现编码(code word)长度的最低期望;然而,与霍夫曼编码不同的是,它确保了所有的编码长度在一个理想的理论范围{-\log} P(x)之内。。法诺则在不久以后独立地以技术报告形式将其发布。 香农-法诺编码不应该与香农编码混淆,后者的编码方法用于证…
前置碼(),又譯前綴碼、前缀编码,是一種編碼系統。這種編碼系統通常是可变长度编码,在其中的每個碼字,都具備「前置性質」(prefix property),也就是說,在編碼中的每個碼字,都不能被其他碼字當成前置部位。舉例而言,編碼字 {9, 55} 具備了前置性質,但編碼字 {9, 5, 59, 55} 就不具備,因為其中的“5”是“59”及“55”的前置字。這也被稱為無首碼的代碼(,PFC,無前綴碼)。虽然哈夫曼编码只是派生的前缀码中众…
格倫布編碼()是一種無失真資料壓縮方法,由數學家所羅門·格倫布在1960年代提出。其優點為易於編碼與解碼,另外對於擁有機率分布為幾何分佈G(p),p=0.5,的資料,格倫布編碼是最佳的前綴碼,且能無限逼近該資料的熵,目前廣泛用於無損影像壓縮。 編碼的建立 令輸入值為正整數n,參數值為正整數 M,輸出值格倫布碼為 c,其中 c 由兩種編碼組合而成, c=(u,b),u:一进制編碼,b:截斷二進制編碼。 計算 u 與 b。 q= \left…
範式霍夫曼編碼()是一種特殊的霍夫曼編碼,最早由Schwartz(1964)所提出。 資料的編解碼運作方式中,以霍夫曼編碼來舉例,編解碼器的其中一方必須要知道霍夫曼樹的結構資訊,以便還原。所以其中一方必須儲存或傳輸霍夫曼樹。傳統的霍夫曼編碼使用樹狀模型編碼,給出現機率或頻率較高的符號(Symbol)較短的編碼,以提高壓縮率。但是這個方式造成兩個極大的缺點,第一,每一個樹的節點都要儲存有關它的父節點與子節點等等相關資訊,如果符號集合的數量…