三、熵编码

2024-02-18  本文已影响0人  一亩三分甜

H264H265视频编解码算法文章汇总
1、熵编码概念

2、熵与混乱程度

混乱程度高

image.png

混乱程度低

image.png

3、熵编码

4、熵编码的简单实现------哈夫曼编码(在图像编码MJPEG中用的多,H264中用的少)

5、构建哈夫曼树

image.png image.png

如何构建哈夫曼树呢?将出现频次最低的两个合并生成一个新的节点,依次循环向上合并,最终生成哈夫曼树。如上图所以,可以使用C++中的优先级队列,对所有的Node进行排序。生成了从小到大的优先级队列,顶点为出现频次最小的节点,也就是哈弗曼树中最底层最后的权值最低的节点。

排序之后可以对哈夫曼树进行遍历,左子树+0,右子树+1,生成哈夫曼码字,最终生成一个完整的哈夫曼码字。如果文本文件按照哈夫曼编码,将文本文件中的每一个字符按照码表中的字符进行替换,就实现了哈夫曼编码,若重复出现的字符越多(码字越短),压缩率越高。

须保存哈夫曼编码的码表,因为不同的信源每一个符号分布情况是不一样的,获取码表才能进行还原解码,否则不知道每一个符号的概率和生成的哈夫曼树是什么样的。

image.png
上一篇 下一篇

猜你喜欢

热点阅读