这个公式是什么意思?

时间:2017-08-31 16:53:13

标签: python numpy image-processing jpeg quantization

The formula in the image is depicting quantization

我想知道是否有人可以帮我理解上述公式中的情况?我应该首先执行x = [c / s1]然后执行s1 * x?

请帮助我理解这一点。

The paper in question

4 个答案:

答案 0 :(得分:0)

⌊⌋是地板操作。数字的任何小数部分都会被丢弃,从而将其减小到最大的小于或等于整数。在Python中,这可以通过math.floor()或任何等效的方式完成。

答案 1 :(得分:0)

简而言之,JPEG的工作原理是将discrete cosine transform应用于图像的8x8像素块,然后quantizing生成8x8矩阵,以便将其压缩为更少的位。

量化是使JPEG有损的原因。不同的量化矩阵导致不同的压缩级别(和解压缩的图像质量)。

您问题中的公式表示JPEG压缩,然后是解压缩。 DCT产生8×8的浮点系数矩阵。然后:

  • DCT系数矩阵由量化矩阵逐个元素划分。
  • 结果将四舍五入为整数。
  • 然后将整数乘以量化系数。

论文的目的在于,当这个过程不止一次(可能具有不同的量化系数)时,这是可检测的,可用于查找已修改的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.

以下是样本矩阵: enter image description here

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),则之前图像可能尚未被压缩。