发布网友 发布时间:2023-09-01 04:32
共1个回答
热心网友 时间:2024-03-17 14:52
常用的编码有:Huffm an码、Shannon一Famo码、算术编码等。
一、哈夫曼(Huffm an)编码
将信源符号按概率递减顺序排列;把两个最小的概率加起来,作为新符号的概率;重复步骤直到概率和达到1为止;在每次合并消息时,将被合并的消息赋以1和0或0和1:寻找从每个信源符号到概率为1处的路径,记录下路径上的1和0:对每个符号写出“1”、“0”序列(从码数的根到终节点)。
二、Shannon一Famo码
把符号集分成两个子集,每个子集的概率和相等或近似相等;对第一个子集赋编码"0”,对第二个子集赋编码“1”;重复上述步骤,直到每个子集只包含一个信源符号为止。
三、算术编码
算术编码把一个信源集合表示为实数线上的0到1之间的一个区间。这个集合中的每个元素都要用来缩短这个区间。信源集合的元素越多,所得到的区间就越小,当区间变小时,就需要更多的数位来表示这个区间,这就是区间作为代码的原理。算术编码首先假设一个信源的概率模型,然后用这些概率来缩小表示信源集的区间。
数据编码的目的
数据编码的目的是将数字数据转化成数字信号,以便在数字信道中传输。最常见的数据编码方式有三种:非归零码,曼彻斯特编码,差分曼彻斯特编码。