Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 跨浏览器的图像解压缩的一致性如何?_Image Processing - Fatal编程技术网

Image processing 跨浏览器的图像解压缩的一致性如何?

Image processing 跨浏览器的图像解压缩的一致性如何?,image-processing,Image Processing,我一直认为jpg压缩图像中的失真是由压缩过程本身引起的,并且对同一源图像进行解压缩会产生相同的像素,而不管使用的是什么解压缩库。我最近在这一点上受到了挑战。我做了一些测试,并没有观察到变化,但我的测试绝不是详尽无遗的。我对这一主题的研究产生的文章真的超出了我的理解,所以我正在联系专家。如果输入相同的jpg,两个不同的解压器是否可能生成不同的像素数据 理论上 简短回答:没有 长答覆: 甚至根据维基百科()的说法,JPEG是“连续色调静态图像的数字压缩和编码”的标准。它在人类语言中的意思是,经过标准

我一直认为jpg压缩图像中的失真是由压缩过程本身引起的,并且对同一源图像进行解压缩会产生相同的像素,而不管使用的是什么解压缩库。我最近在这一点上受到了挑战。我做了一些测试,并没有观察到变化,但我的测试绝不是详尽无遗的。我对这一主题的研究产生的文章真的超出了我的理解,所以我正在联系专家。如果输入相同的jpg,两个不同的解压器是否可能生成不同的像素数据

  • 理论上
  • 简短回答:没有

    长答覆:

    甚至根据维基百科()的说法,JPEG是“连续色调静态图像的数字压缩和编码”的标准。它在人类语言中的意思是,经过标准化,压缩和解压缩的结果应该是确定的。像素数据方面的确定性。然而,这只是理论,这只是他们应该做的

  • 在实践中
  • 简短回答:理论上是的

    长答覆:

    首先,该标准为jpeg格式定义了一种称为DCT的压缩方法。然而,这是标准。压缩引擎有许多实现和变体。尽管如此,它们仍应从一个jpeg文件中生成相同的像素数据。然而,由于实现差异和/或缺陷,结果像素数据可能不同

    但我们在这里讨论的是在浏览器中显示的图像。浏览器有多种渲染引擎。没有标准定义浏览器的渲染引擎如何渲染jpeg图像。这是一个可能的原因,如果他们被迫调整图像的大小,那么从不同的web浏览器中显示的相同图像中获得不同的最终像素

    这个观点既不是对这个课题广泛研究的结果,也不是实验的结果,所以如果我在某个地方错了,请纠正我

  • 理论上
  • 简短回答:没有

    长答覆:

    甚至根据维基百科()的说法,JPEG是“连续色调静态图像的数字压缩和编码”的标准。它在人类语言中的意思是,经过标准化,压缩和解压缩的结果应该是确定的。像素数据方面的确定性。然而,这只是理论,这只是他们应该做的

  • 在实践中
  • 简短回答:理论上是的

    长答覆:

    首先,该标准为jpeg格式定义了一种称为DCT的压缩方法。然而,这是标准。压缩引擎有许多实现和变体。尽管如此,它们仍应从一个jpeg文件中生成相同的像素数据。然而,由于实现差异和/或缺陷,结果像素数据可能不同

    但我们在这里讨论的是在浏览器中显示的图像。浏览器有多种渲染引擎。没有标准定义浏览器的渲染引擎如何渲染jpeg图像。这是一个可能的原因,如果他们被迫调整图像的大小,那么从不同的web浏览器中显示的相同图像中获得不同的最终像素


    这一观点既不是对该主题进行广泛研究的结果,也不是实验的结果,因此,如果我在某个地方出错,请纠正我。

    造成差异的可能原因是出于优化或其他原因使用了不同的算法。这会导致不同的截断误差和误差累积

    我决不会打赌所有的解码器都是一个像素一个像素地解码的。毕竟,JPEG是有损的,所以解压后的图像无论如何都不同于原始图像,而且几乎不担心再现性

    差异的第二个来源可能是。。。实现中的错误或不准确。有些人很可能会被忽视


    事实上,我希望两个不同的解码器在大多数情况下返回稍微不同的图像!无论如何,许多解码器都基于相同的开源编解码器,可能需要一段时间才能实现不同的实现。

    差异的一个可能原因是出于优化或其他原因使用了不同的算法。这会导致不同的截断误差和误差累积

    我决不会打赌所有的解码器都是一个像素一个像素地解码的。毕竟,JPEG是有损的,所以解压后的图像无论如何都不同于原始图像,而且几乎不担心再现性

    差异的第二个来源可能是。。。实现中的错误或不准确。有些人很可能会被忽视


    事实上,我希望两个不同的解码器在大多数情况下返回稍微不同的图像!无论如何,许多解码器都基于相同的开源编解码器,可能需要一段时间才能满足不同的实现。

    总之,标准的实现可能不一致地符合标准,因此实现之间可能存在一些差异。这是对的吗?这是可能的原因之一,尽管可能性不大。正如我所说,web浏览器中的图像是使用各种渲染引擎渲染的,这些引擎可能会产生不同的最终结果。这是更可能的原因。我不同意大多数说法。解压引擎将不会产生相同的精确值。相反,除非调整大小,“渲染引擎”没有理由改变像素值。非常感谢@YvesDaoust。你说得对。总而言之,标准的实现可能不一致地符合标准,因此实现之间可能存在一些差异。这是对的吗?这是可能的原因之一,尽管可能性不大。正如我所说的那样,web浏览器中的图像是使用不同的ren渲染的