The formula in the image is depicting quantization
我想知道是否有人可以帮我理解上述公式中的情况?我应该首先执行x = [c / s1]然后执行s1 * x?
请帮助我理解这一点。
答案 0 :(得分:0)
⌊⌋是地板操作。数字的任何小数部分都会被丢弃,从而将其减小到最大的小于或等于整数。在Python中,这可以通过math.floor()
或任何等效的方式完成。
答案 1 :(得分:0)
简而言之,JPEG的工作原理是将discrete cosine transform应用于图像的8x8像素块,然后quantizing生成8x8矩阵,以便将其压缩为更少的位。
量化是使JPEG有损的原因。不同的量化矩阵导致不同的压缩级别(和解压缩的图像质量)。
您问题中的公式表示JPEG压缩,然后是解压缩。 DCT产生8×8的浮点系数矩阵。然后:
论文的目的在于,当这个过程不止一次(可能具有不同的量化系数)时,这是可检测的,可用于查找已修改的JPEG图像。
P.S。在我看来,作者的符号有点草率。如果我没有弄错的话,JPEG会舍入到最接近的整数,而纸张会使用floor函数,它会向负无穷大舍入。除此之外,论文的主要观点是。
答案 2 :(得分:0)
好的,公式可以表示为
Quantized Value(i, j) = DCT(i, j)/Quantum(i, j)[Rounded-off to the nearest integer]
其中DCT = Discreet Cosine Transform Coefficient和
For every element position in the DCT matrix, a corresponding value in the
quantization matrix gives a **Quantum value** indicating what the step size is
going to be for that element.
and i, j are the row and column of the quantization matrix respectively.
在here中提到Lossy Data Compression
技术的python方式(JPEG
为实例)。您还可以在here中阅读有关公式见解的更多信息(请参阅本文)。
希望它有所帮助...
答案 3 :(得分:0)
您的来源令人困惑。量化只是整数除法的高度计算术语。
你有一个8x8的量化表(Q)。当您将8x8 DCT矩阵(M)量化为值(V)时,您可以
V(n,m)= M(n,m)/ Q(n,m)
JPEG确实执行INTEGER除法,其值为DOWN舍入。
请注意,之后没有乘法,如压缩过程中的示例所示。该论文显然建议了一个确定图像是否被多次压缩的过程。
如果V(n,m)* Q(n,m)!= M(n,m),则之前图像可能尚未被压缩。