我正在尝试在MATLAB中设计一个简单的jpeg解码器。 我先拍摄一个.jpg图片,然后解码该图片的标题。然后在SOS标头之后解码扫描数据并创建64像素的块
(我的解码扫描数据的顺序:霍夫曼解码,去量化,反曲折,逆DCT,电平移位,钳位和从Ycbcr转换为RGB。)
我已经认为上述解码过程正确无误。我对每个像素为64像素的像素都进行了此处理,并确定了该块的子采样效果。现在我对Y通道以及Cb和Cr通道具有以下结构:(假设我对Cb和Cr通道具有2的子采样)
[16 * 16pixels],[16 * 16pixels],[16 * 16pixels],[16 * 16pixels],[16 * 16pixels],... ...,[16 * 16pixels],[16 * 16pixels]。
上述块数组的长度为imageWidth * imageLength / 256(假设它是可分的)
现在我的问题是:我如何才能从上述块中恢复整个图像,换句话说,我必须如何对上述块进行排序和排列才能拍摄完整的解码图像?