jpeg编码器生成错误的亮度值

时间:2015-01-19 12:45:13

标签: java jpeg encoder dct luminance

我目前正在开发基于dct的jpeg编码器,并且遇到了亮度通道的问题。色度值似乎是正确的。

编码程序的几个字。图片基于ycbcr颜色值。 Cb和Cr通道由2进行二次采样。因此SubSampling为4:2:0。 dc和ac系数是dct编码和量化的。分组到8x8块,dc值由delta差异计算,它们是类别,ac值是运行长度编码的。 dc和ac值以yyyycbcr格式交错写入。所有霍夫曼代码似乎都是正确的,像jpeg snoop这样的工具完成解码程序,没有任何坏标记或霍夫曼代码的警告。一切似乎都没问题。图1是ppm格式的原始图片。

读取此图片并将其转换为压缩的jpeg格式。图2显示了压缩后图1的输出。图3显示了具有最大亮度值的图像。所有y通道值在图3中设置为255.任何想法为什么亮度通道能够在图2中生成这样的模式?

picture

0 个答案:

没有答案