香农-范诺编码

✍ dations ◷ 2025-11-08 21:10:47 #香农-范诺编码

在数据压缩的领域里,香农-范诺编码(英语:Shannon–Fano coding)是一种基于一组符号集及其出现的或然率(估量或测量所得)构建前缀码的技术。其名称来自于克劳德·香农和罗伯特·范诺。在编码效率上,它并不能与霍夫曼编码一样实现编码(code word)长度的最低期望;然而,与霍夫曼编码不同的是,它确保了所有的编码长度在一个理想的理论范围 log P ( x ) {displaystyle {-log }P(x)} 之内。这项技术是香农于1948年,在他介绍信息理论的文章“通信数学理论”中提出的。范诺则在不久以后独立地以技术报告形式将其发布。 香农-范诺编码不应该与香农编码混淆,后者的编码方法用于证明Shannon's noiseless coding theorem,或与Shannon–Fano–Elias coding(又被称作Elias coding)一起,被看做算术编码的先驱。

香农-范诺编码将符号从最大可能性到最少可能性排序,并将排列好的信源符号分为两大组,使两组的概率和接近,并各赋予一个二进制符号“0”和“1”。只要有符号剩余,就以同样的过程重复这些步骤以此确定这些代码的连续编码数字。依次下去,直至每一组的只剩下一个信源符号为止。当一组已经仅剩余一个符号,显然,这意味着这一符号的编码是完整的,也不会成为任何其他符号的代码前缀。

香农-范诺编码能够产生相对高效的可变长度编码;对于每一个比特位而言,当两个较小的集合具有恰好相等的概率时,这一方法就能最有效地利用这一位编码的信息。然而,香农-范诺并不总是产生最优的前缀码:例如对概率{0.35,0.17,0.17,0.16,0.15},香农-范诺算法就无法给出理想的编码。出于这个原因,香农-范诺编码几乎从不被使用。

Shannon-Fano编码树是基于一个符号和对应频率的列表建立的。实际的算法很简单:

这个例子展示了一组字母的香农编码结构(如图a所示)这五个可被编码的字母有如下出现次数:

从左到右,所有的符号以它们出现的次数划分。在字母B与C之间划定分割线,得到了左右两组,总次数分别为22、17,这样就把两组的差别降到最小。通过这样的分割,A与B同时拥有了一个以0为开头的编码,C、D、E的前缀则为1,如图b所示。随后,在树的左半边,于A、B间建立新的分割线,这样A就成为了编码为00的叶子节点,B的编码为01。经过四次分割,得到了一个树形编码。如下表所示,在最终得到的树中,拥有最大频率的符号被两位编码,其他两个频率较低的符号被三位编码。

根据A,B,C两位编码长度,D,E的三位编码长度,最终的平均码字长度是

香农-范诺编码算法并非总能得到最优编码。1952年, David A. Huffman提出了一个不同的算法,这个算法可以为任何的可能性提供出一个理想的树。香农-范诺编码是从树的根节点到叶子节点所进行的的编码,霍夫曼编码算法却是从相反的方向,暨从叶子节点到根节点的方向编码的。

用以上Shannon - Fano例子所使用的分析,即:

首先将D、E合并,它们频率和为11(图a至图b)。接下来概率最低的一组是B(7)和C(6),所以将他们作为左右子树组成新的根结点BC。在剩下的三个节点中,BC(13)和DE(11)的频率和最低,因此组成新的二叉树BE。最后将仅剩的两个节点合并,并分别为它们分配前缀0和1。这样所有的节点都成为了唯一一个编码树的叶节点。

这个例子中,A的编码长度是1比特,其余字符是3比特。

结果是

相关

  • 内科学人体解剖学 - 人体生理学 组织学 - 胚胎学 人体寄生虫学 - 免疫学 病理学 - 病理生理学 细胞学 - 营养学 流行病学 - 药理学 - 毒理学内科学是临床医学的专科,几乎是所有其
  • 阿发师阿发师(1969年9月26日-),本名施建发,台湾厨师,青青餐厅专任主厨。
  • 电子取景器电子取景器(EVF,Electronic ViewFinder)是一种将镜头捕捉的画面投射到其上的电子显示设备。其上显示的图像用于帮助使用者进行场景的构图与拍摄。与数码相机上常见的Live View
  • 若望·桑多瓦尔·伊尼格斯若望·桑多瓦尔·伊尼格斯(西班牙语:Juan Sandoval Íñiguez;1933年3月28日-)是墨西哥籍天主教司铎级枢机及瓜达拉哈拉总教区荣休总主教。桑多瓦尔·伊尼格斯于1933年3月28日在
  • 安平姓安平,是中国历史上的罕见姓氏。战国时期,齐国的田单抵抗燕国有功,封爵为安平君,后代以安平为姓。现代无此姓。
  • 旺达·塞克丝旺达·塞克丝(英语:Wanda Sykes,1964年3月7日-)是一位美国作家,女演员。她曾凭借《The Chris Rock Show》赢得1999年艾美奖。2004年,《娱乐周刊》评选她为全美国25个最有趣的人之一
  • 文纶文纶(1779年10月7日-?年?月?日),原名阿勒京阿,字贶之、药阶,号如亭,满洲正蓝旗人,嘉庆16年进士。
  • 埃丽卡·埃伦尼克埃丽卡·埃伦尼克(英语:Erika Eleniak,1969年9月29日-),美国《花花公子》玩伴女郎,前模特和女演员,以饰演《霹雳游龙》()中的Shauni McClain广为人知。曾主演《ET外星人》。
  • 耶律宗政耶律宗政(1003年-1062年),契丹名耶律查哥,又作耶律宗懿,为契丹(辽朝)皇族,辽圣宗的弟弟耶律隆庆的儿子,母齐国王妃萧氏。开泰五年(1016年)十月,以他为中山郡王。同年十二月,父亲耶律隆庆逝世。辽圣宗逼他娶继母秦晋国王妃萧氏为妻,萧氏亦是他的表姐。耶律宗政以“违卜”拒绝了这桩婚事,以致无子。太平四年(1024年)六月,耶律查哥任保静军节度使。九年(1029年),封为潞王。辽兴宗重熙五年(1036年)四月,耶律查哥为南府宰相,十九年(1050年)十二月,耶律查哥为南院大王。二十一年(1052年),
  • 2007年飓风卡伦飓风卡伦(英语:Hurricane Karen)是2007年大西洋飓风季形成的第11场获得命名的风暴和第4场飓风。系统由热带东大西洋的大规模东风波发展而成,属于佛得角型飓风。风暴曾短暂达到萨菲尔-辛普森飓风等级下的一级飓风强度,然后就因风切变增多缓慢减弱。卡伦自始至终远离陆地,所以没有造成任何破坏或人员伤亡。2007年9月21日,一股东风波离开非洲西海岸进入大西洋。东风波内的雷暴活动很零散,还包含大范围的低气压区,组织结构杂乱无章。系统向西移动,从佛得角以南海域经过,其深层对流逐渐增长,弧形的带状特征也变