clear all
format long
symbol='abcd';
pr=[0.1 0.4 0.2 0.3];
seqin='aabccddcd';
codeword=arenc(symbol,pr,seqin);

function arcode=arenc(symbol,pr,seqin) 
%算术编码
%输出:码串
%输入:symbol:字符行向量
%pr:字符出现的概率
%seqin:代编码字符串
high_range=[];
for k=1:length(pr)
    high_range=[high_range sum(pr(1:k))];
end
low_range=[0 high_range(1:length(pr)-1)]
sbidx=zeros(size(seqin))
for i=1:length(seqin)
    sbidx(i)=find(symbol==seqin(i))
end
low=0
high=1
for i=1:length(seqin),
    range=high-low
    high=low+range*high_range(sbidx(i));
    low=low+range*low_range(sbidx(i));
end
arcode=low;

算术编码(matlab)上课实验相关推荐

  1. 算术编码 matlab程序,实验二算术编码及MATLAB实现.doc

    实验二算术编码及MATLAB实现 武夷学院实验报告 课程名称: 多媒体通信技术 项目名称: 算术编码及MATLAB实现 姓名: _专业:__通信工程___ 班级: 学号:____同组成员_无_ 实验准 ...

  2. 算术编码(多媒体实验一)

    算术编码(xdu多媒体实验一) 前言 详细原理 源代码 前言 算术编码(多媒体实验一) sklearn主成分分析pca用python实现(多媒体实验二) BOW图像检索corel数据集(多媒体实验三) ...

  3. 信息论与编码实验报告——MATLAB实现算术编码

    一.实验内容 试用MATLAB编制算术编码算法实现程序. 二.实验过程 2.1 算术编码实现原理 算术编码的算法思想如下: (1)对一组信源符号按照符号的概率从大到小排序,将[0,1)设为当前分析区间 ...

  4. (Matlab源码)Matlab实现算术编码(Arithmetic coding)超级详解(每一段代码都可以看懂)

    1.代码功能 输入:一个字符串 输出: codeword(码值) codeword所占的位数 2.代码框图 3.代码超详解 统计字符串中的字符种类,调用函数,放入数组b中. b=unique(str1 ...

  5. (含Matlab源码)算术编码(arithmetic coding)的underflow问题

    0.文章结构 文章的行文逻辑如下,看官可以根据需要跳读,节省时间. 1.介绍underflow和overflow. 2.underflow问题起源 3.underflow问起探索 4.underflo ...

  6. 算术编码、译码以及matlab实现

    算术编码是一种采用的编码,我们用matlab语言来实现算术码的编码.译码过程. 首先,我们给定研究范围为 2元信号.用{0,1}符号来表示,然后我们假设发送方和接收方都知道符号0出现的概率p(0)和符 ...

  7. 基于MATLAB的算术编码

    1.算术编码简介 算术编码是一种无损数据压缩方法,也是一种熵编码的方法.和其它熵编码方法不同的地方在于,其他的熵编码方法通常是把输入的消息分割为符号,然后对每个符号进行编码.而算术编码是直接把整个输入 ...

  8. 图像压缩编码码matlab实现——算术编码

    clear all clc format long; symbol = ['abcd']; pr = [0.1 0.4 0.2 0.3]; seqin = ['cadacdb']; codeword ...

  9. 算术编码算法的程序实现

    实验目的     本实验通过编程实现简单的算术编码解码过程,加深对视频编码中熵编码原理及过程的理解,锻炼理论与实践相联系的能力. 实验任务 理解算术编码的有关原理,尤其是自适应二元算术编码的原理及编码 ...

最新文章

  1. 关于回答「对极几何与基本矩阵」的几点感悟
  2. 强化学习(十四) Actor-Critic
  3. 现代软件工程系列 学生精彩文章(7) 宝贵的教训
  4. Odoo链接magento纪实
  5. 【报错】解决logstash tracking_column not found in dataset. {:tracking_column=>“updated_time“}问题
  6. /etc/profile
  7. 内燃机设计课设 过量空气系数与温度表对应关系自动查询
  8. iOS 模拟器下载与安装
  9. 【报告分享】2020年K12在线教育行业广告策略用户调研报告(附下载)
  10. 90个面试问题(带答案)
  11. android设置图片亮度分10档,批处理图片同时调整图片亮度批处理图的大小压缩图片裁边(6页)-原创力文档...
  12. Excel学习笔记之基础篇
  13. 纯CSS实现弹幕效果
  14. 小草小草快点长大。。
  15. Python学习笔记 —— 独步天下推导式语法糖
  16. [Android]emulator-5554 offline 问题
  17. 人工智能适合女生学吗?女生学AI
  18. 《方与圆》序人生控制论 第二章 认识自己
  19. vscode左下角git分支不见了(已解决)
  20. 生物育种冲刺产业化 国稻种芯-何登骥:营养多元功能性农业

热门文章

  1. 【技能树】C语言技能树测评
  2. C++ 头文件 iomanip
  3. python-在macOS上安装python库 xlwings失败的解决方式
  4. FPGA多进制数字相位调制( MPSK)
  5. 计算机连接网络被限制,win7 32位旗舰版系统网络连接受限制的解决方法大全
  6. macvim/babun+spf13-vim
  7. 【AIGC】人工智能的新篇章:生成式人工智能对企业的影响和意义
  8. windows延缓写入失败的处理
  9. 急救常识3-窒息--气道异物梗阻
  10. Java中的Map【二】SortedMap接口