- 5
- 0
- 约1.11万字
- 约 9页
- 2020-09-03 发布于天津
- 举报
.
简单短序列的算术编码的 MATLAB实现
正确实现的算术编码算法压缩能力 Shannond 定理描述的理论极限,是目前已知的压缩能力
最强的无损压缩算法。
不过,由于算术编码算法的实现比较复杂, 使用它作为默认压缩算法的应用程序还相当少。
在 Unix 平台上非常流行的 bzip2(这个工具有命令行模式的 Windows 版本 )使用的就是经过修
改的算术编码算法。
目前为止还没有使用算术编码作为默认压缩算法的 Windows 应用程序, WinRAR 和
WinIMP 能够支持 bzip2 的解压。除此之外,在最新的 JPEG 标准中也用到了经过修改的算
术编码压缩算法,但 JPEG 所用的那种算法受专利保护,因此使用时必须获得授权。
在之后的文章会很好的研究这个算法的实现:
现在给出一个简单的实例:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 算术编码过程实例 ssbm.m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
about={...
本实例说明:
字符串不能太长,程序不加判断,请注意溢出;
本实例只限定少数字符串 a b c d e ;
实例只是说明一下算术编码过程。 };
disp(about);
str=input( 请输入编码的字符串 ( 本程序仅仅是一个实例, 请仅
输入 a b c d e ):);
l=0;r=1;d=1;
%初始间隔
%程序限定字符为: a、b、c 、d、e
p=[0.2 0.3 0.1 0.15 0.25];
%字符的概率分布, sum(p)=1
n=length(str);
.
.
disp(a b c d e)
disp(num2str(p))
for i=1:n
switch str(i)
case a
m=1;
case b
m=2;
case c
m=3;
case d
m=4;
case e
m=5;
otherwise
error( 请不要输入其它字符! );
end
%判断字符
pl=0;pr=0;
for j=1:m-1
pl=pl+p(j);
您可能关注的文档
最近下载
- 2026开封市第三届职业技能大赛汽车技术(世赛选拔)项目技术工作文件.pdf VIP
- 站用交直流电源系统技术规范第3部分:直流电源系统.pdf VIP
- 2024年初级会计职称《经济法基础》精讲课件.pptx VIP
- 2025年湖南机电职业技术学院单招职业技能测试题库及参考答案.docx VIP
- 2025年浙江机电职业技术学院单招(语文)测试试卷.docx VIP
- 泰国和中国合同模板(3篇).docx VIP
- 2025年湖南机电职业技术学院单招职业技能测试题库参考答案.docx VIP
- (2026春新版)人教版二年级数学下册《第三单元 万以内数的认识》教案.docx VIP
- 四年级小学下书法设计教案.doc VIP
- 烟气余热利用的热管式换热器设计(毕业论文).docx VIP
原创力文档

文档评论(0)