镇帖神图:

信源符号:Si={s1,s2,…sq}               码符号集:X={x1,x2,…xr}

码符号(码元):{xj,j=1,2,…r}       是码符号集中的元素,是适合信道传输的。

码字:编码器的输出符号序列wi(i=1,2,…q),与信源符号一一对应。

编码器的作用:是将信源符号集S中的符号si,i=1,2,…q(或者长为N的信源符号序列)变换成由基本符号xj(j=1,2,…r)组成的长为li的一一对应的输出符号序列。

要实现无失真编码,这种映射必须是一一对应的,可逆的。

码的N次扩展码:对离散无记忆信源的N次扩展信源进行编码得到N次扩展码。

设有信源集合S={s1,s2,…sq}经信源编码后,得到代码组C{w1,w2,…wq},wi与si(i=1,2,…q)是一一对应的。

信源S的N次扩展信源为:

码的分类:

1.分组码与非分组码

•分组码:将信源符号集中的每个信源符号si映射成一个固定的码字wi。
•非分组码:

2.按码的长度不同,分为:

•定长码:li=l(i=1,2,…q)
•变长码:

3.按码组中,码字是否有重复,分为:

•奇异码:一组码中有相同的码字。
•非奇异码:一组码中无相同的码字。

非奇异码是分组码能够正确译码的必要条件而非充分条件。

4.按每个码符号xi,i=1,2,…r所占的传输时间是否相同

•同价码:码符号集中,每个码符号xi所占的传输时间相同。
•非同价码:

例:莫尔斯码是非同价码,其码符号:点(.)或划(_)所占的传输时间不相同。

信源编码的目的:

无失真信源码主要针对离散信源,连续信源在量化编码的过程中必然会有量化失真。

信源编码的目的:就是针对信源输出符号序列的统计特性,寻找一定的方法把信源输出符号序列变换为最短的码字序列。

因为信源概率分布的不均匀性和符号之间存在的相关性,使得信源存在冗余度,而实际上传送信源信息只需要传送信源极限熵大小的信息量。

去除冗余度的方法:

1)去除相关性,使编码后码序列中的各个码符号尽可能地相互独立,这一般利用对信源符号序列进行编码而不是对单个信源的符号进行编码而实现的。

2)使编码后各个码符号出现的概率尽可能地相等,而使概率分布均匀化,这可以通过概率匹配的方法,也就是使小概率消息对应长码,大概率消息对应短码。

定长编码的要求:

1.要实现无失真编码,所需的码必须是唯一可译码。

2.若定长编码时非奇异码,则它的任意有限长N次扩展码也一定是非奇异码,即等长非奇异码一定是唯一可译码。

信源存在唯一可译定长码的条件:

若对一个简单信源进行定长编码,则必须满足:

其中,q是信源S的符号个数,r为码符号集中的码符号数,l为定长码码长。

例如:若q=4,进行二元等长编码,即r=2,

含义:rl表示l长的码符号所能提供的码字数,大于或等于信源符号数q时才能实现唯一可译码。

若要实现唯一可译的定长编码,则必须满足:

表明:只有当l长的码符号序列数rl不小于N次扩展信源符号个数qN时,才能存在定长唯一可译码。

定长编码的编码速率和编码效率:

(编码速率):又称为编码信息率,设熵为H(S)的离散无记忆信源,若对信源的长为N的符号序列进行定长编码,设码字是从r个码符号集中选取l个码元构成,定义:

 

下期继续!

信息论与编码之信源编码详解相关推荐

  1. javascript中的Base64.UTF8编码与解码详解

    javascript中的Base64.UTF8编码与解码详解 本文给大家介绍的是javascript中的Base64.UTF8编码与解码的函数源码分享以及使用范例,十分实用,推荐给小伙伴们,希望大家能 ...

  2. Android高效率编码-第三方SDK详解系列(一)——百度地图,绘制,覆盖物,导航,定位,细腻分解!...

    Android高效率编码-第三方SDK详解系列(一)--百度地图,绘制,覆盖物,导航,定位,细腻分解! 这是一个系列,但是我也不确定具体会更新多少期,最近很忙,主要还是效率的问题,所以一些有效的东西还 ...

  3. Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能

    Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...

  4. Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送

    Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送, ...

  5. Android高效率编码-第三方SDK详解系列(一)——百度地图,绘制,覆盖物,导航,定位,细腻分解!

    Android高效率编码-第三方SDK详解系列(一)--百度地图,绘制,覆盖物,导航,定位,细腻分解! 这是一个系列,但是我也不确定具体会更新多少期,最近很忙,主要还是效率的问题,所以一些有效的东西还 ...

  6. Base64编码解码原理详解

    Base64编码解码原理详解 1. Base64字符的组成部分 Base64所用字符: 0,1,2 -.9 A,B,C,D-Z a,b,c,d-z + / 对应ASCII: 48,49-58,65,6 ...

  7. 视频编码全角度详解 PDF

    ====================================================================== 视频编码全角度详解.pdf, 清晰度一般,见 上图. 不介 ...

  8. H.264编码基础知识详解

    一.编码基础概念 1.为什么要进行视频编码? 视频是由一帧帧图像组成,就如常见的gif图片,如果打开一张gif图片,可以发现里面是由很多张图片组成.一般视频为了不让观众感觉到卡顿,一秒钟至少需要16帧 ...

  9. hot编码 字符one_详解one-hot编码

    博主原创文章,转载请注明出处 一.什么是one-hot编码? One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位 ...

  10. 直播一:H.264编码基础知识详解

    一.编码基础概念 1.为什么要进行视频编码? 视频是由一帧帧图像组成,就如常见的gif图片,如果打开一张gif图片,可以发现里面是由很多张图片组成.一般视频为了不让观众感觉到卡顿,一秒钟至少需要16帧 ...

最新文章

  1. Tomcat怎样将配置文件放在外部
  2. 引入Redis|tensorflow实现 聊天AI--PigPig养成记(3)
  3. 一个人就需要对象之js中八种创建对象方式
  4. hibernate之HQL传中文参数乱码 解决办法
  5. Java多线程之线程并发库原子性操作类
  6. linux下top命令参数解释
  7. C++对于文件的相关操作 创建、读写、删除代码
  8. 图数据库与关系数据库的实验对比——意大利商会 InfoCamere 案例
  9. mplayer error opening/initializing the selected video_out (-vo) device
  10. hdu 6088 Rikka with Rock-paper-scissors (2017 多校第五场 1004) 【组合数学 + 数论 + 模意义下的FFT】...
  11. python按键精灵找图教程_按键精灵如何找图 按键精灵找图教程
  12. ruby rake学习
  13. Python笔记(21)正则表达式
  14. JavaScript js 实现拖动窗口移动功能
  15. 配置网卡和修改ip地址
  16. vue笔记1 渐进式、 MVVM 框架
  17. 那些忍了很久的话——人工智能盲目跟风该休了
  18. Bacon分解做交错DID数据、代码以及参考文献
  19. Unity 解析视频流数据
  20. 云服务器部署nginx

热门文章

  1. Java 图片URL转Base64编码
  2. DELPHI 字符转16进制、16进制转字符
  3. 先进的分销管理系统(ADMS)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  4. 基于java象棋游戏_基于JAVA技术的中国象棋游戏设计与实现
  5. Java计算器源码java计算器代码java科学计算器代码
  6. matlab 矩形窗汉明窗幅频特性对比
  7. VS2017离线下载及安装方式
  8. python wgs84坐标转换_Python-UTM坐标与经纬度(WGS84)坐标转换
  9. 【Java】JavaWeb概述
  10. 新联想ISG聚焦新IT,全要素推进企业智能化转型