我一直在尝试在Matlab上实现JPEG压缩算法。 我实施上遇到问题的唯一部分是霍夫曼编码。我确实将DCT理解为量化和曲折的8x8矩阵。我也理解霍夫曼编码一般是如何工作的。 我不明白的是,在我有一个输出比特流和一个将连续位转换成原始形式的字典之后,我该如何处理输出?如何告诉计算机使用我为其创建的字典翻译输出比特流? 此外,每个8x8矩阵都有自己的输出和字典。如何将所有这些产出合二为一?因为在一天结束时,结果应该是一个图像。 我可能误解了一些步骤,在这种情况下,我为此引起的任何混淆道歉。 任何帮助都会非常受欢迎!
编辑:对不起,我的问题似乎还不够明确。假设我使用内置霍夫曼函数的Matlabs(huffmanenco和huffmandict),我应该如何处理huffmanenco返回的值? 关于输出字符串的部分原因并不清楚,只要霍夫曼编码在其他IDE和编程语言中也是如此。答案 0 :(得分:0)
霍夫曼编码有两种选择。
每个MCU都不能有不同的字典。
你说你有运行长度编码值。你将霍夫曼编码并写入输出流。
编辑:
您需要确保matlab霍夫曼内核编码器与JPEG兼容。霍夫曼编码有不同的方法。
您需要将编码器中的位写入JPEG流。这意味着您需要一个位级I / O例程。加上您需要将压缩数据中的FF值转换为JPEG流中的FF00值。
我建议您获取
的副本显示编码是如何完成的。