matlab最简单的代码-Arithmetic_Encoding_-_Decoding_Using_MATLAB:Arithmetic_Enc

时间:2021-05-22 13:27:28
【文件属性】:
文件名称:matlab最简单的代码-Arithmetic_Encoding_-_Decoding_Using_MATLAB:Arithmetic_Enc
文件大小:3KB
文件格式:ZIP
更新时间:2021-05-22 13:27:28
系统开源 matlab最简单的代码Arithmetic_Encoding _-_ Decoding_Using_MATLAB 引言算术编码是用于无损数据压缩的熵编码的一种形式。 通常,每个字符使用固定位数表示字符串,例如单词“ hello there”。 均等概率在最简单的情况下,每个符号出现的概率是相等的。 例如,考虑三个符号A,B和C的集合,每个符号均可能出现。 简单的块编码每个符号需要2位,这很浪费:永远不会使用位变化之一。 也就是说,A = 00,B = 01,并且C = 10,但是未使用11。 一种更有效的解决方案是将这三个符号的序列表示为以3为底的有理数,其中每个数字代表一个符号。 例如,序列“ ABBCAB”可能变为0.011201。在算术编码中,其间隔为[0,1)。 下一步是使用精度足够高的定点二进制数对该三进制数进行编码,例如0.00101100102,这只有10位; 与原始块编码相比,节省了2位。 这对于长序列是可行的,因为存在有效的,就地算法来转换任意精确数字的基数。 定义模型通常,算术编码器可以为任何给定的符号和概率集生成接近最佳的输出(对于概率P的每个符号,最佳值为−l
【文件预览】:
Arithmetic_Encoding_-_Decoding_Using_MATLAB-master
----LICENSE(1KB)
----arttest.m(1KB)
----README.md(3KB)

网友评论