为什么 JPEG 扫描数据使用位长度前缀,如果 Huffman 编码有所谓的 "prefix property"?

Why JPEG scan data uses bit length prefixes if Huffman Coding have so called "prefix property"?

如果霍夫曼编码是 prefix code 为什么 JPEG 的 DC 和 AC 系数被编码为 [长度][位] 对?为什么我们需要长度前缀?

以及为什么我们编码值的长度而不是值本身(如果我错了请纠正我)?

因为您有很长一段时间的零条目。您需要一点零来对零进行编码。然后你会得到零的运行,这出于电气工程原因是不可取的 - 如果你发送相同位的长串,它可能导致发送器和接收器不同步,并且运行也用于 MPEG 中的信号同步。