何我们可以实现一元压缩方法和matlab中创建一元编码器译码器吗?
12个视图(30天)
显示旧的评论
接受的答案
沃尔特·罗伯森
2021年11月20日
数学,你可以考虑一个文件的字节的Base 256编码整数。例如如果文件包含241字节217(十进制),那么可以认为数学是241 * 256 + 217的表示……无论这个数字恰好是工作。
一元表示的需要,许多副本的一个象征。例如如果该值为19然后一元将19份象征。:::::::::::::::::::或1111111111111111111。数字的序列的结束停止。所代表的值是由计数符号的数量。
纯粹的一元每宇宙只能代表一个数字。代表两个不同的号码你需要马克一元序列之间的边界,这需要第二个符号。
最小的输入图像文件可以是一个字节,这可能代表一个灰度级的像素强度0到255。(或者可以代表一个像素的rgb图像与3位红色的信息,三个绿色,蓝色和两位)。
你不能写出小于8位到文件中,所以输入的字节范围1到8需要至少一个字节输出,并输入字节的值9和需要更多的输出字节代表在一元。因此你不能使用一元编码器压缩任何东西。
例外:如果你输入图像的一个像素值为0,那么这将是空文件的一元编码,这确实是小。这是
只有
情况下,你可以使用一元压缩。