Image processing 在-128到+之间的像素值上操作的DCT;127
为什么在JPEG压缩中,DCT(离散余弦变换)要在像素值-128到127之间运行 在对图像应用DCT之前,为什么要对像素值进行级别偏移(减去128) 每个分量(Y、Cb、Cr)的每个8×8块使用归一化的二维II型离散余弦变换(DCT)转换为频域表示 在计算8×8块的DCT之前,其值从正范围移动到以零为中心的范围。对于8位图像,原始块中的每个条目都在[0255]范围内。从每个条目中减去范围的中点(在本例中为值128),以生成以零为中心的数据范围,从而修改后的范围为[-128,127]Image processing 在-128到+之间的像素值上操作的DCT;127,image-processing,signal-processing,Image Processing,Signal Processing,为什么在JPEG压缩中,DCT(离散余弦变换)要在像素值-128到127之间运行 在对图像应用DCT之前,为什么要对像素值进行级别偏移(减去128) 每个分量(Y、Cb、Cr)的每个8×8块使用归一化的二维II型离散余弦变换(DCT)转换为频域表示 在计算8×8块的DCT之前,其值从正范围移动到以零为中心的范围。对于8位图像,原始块中的每个条目都在[0255]范围内。从每个条目中减去范围的中点(在本例中为值128),以生成以零为中心的数据范围,从而修改后的范围为[-128,127] 此步骤降低了
此步骤降低了随后的DCT处理阶段中的动态范围要求。(除了DCT阶段内动态范围的差异外,该步骤在数学上相当于在执行变换后从DC系数中减去1024–这可能是在某些架构上执行操作的更好方法,因为它只涉及执行一次减法,而不是64次减法).以下是我的理解。。假设没有进行电平偏移,那么如果我们在这个矩阵上进行DCT,DC值(比如说X)将是一个更大的数字,因为所有像素值都是正值。当对图像像素值进行水平偏移时,一些像素值将为负值,而一些像素值将为正值。稍后,当我们对结果矩阵进行DCT时,DC值(比如说Y)现在不会像以前那样是一个更大的数字,即Y
因此,需要进行电平偏移,并且在应用DCT之前,DCT意味着在像素值-128到127之间进行操作。使用范围为0-255的RGB(红、绿、蓝)值对像素进行估值。为了将值集中在0附近,(因为很容易找到值的余弦),我们将其减去128 访问以供参考 或者你可以这样理解。[0255]共有256个值。256/2 = 128. 以0为中心,范围变为[-127127]