Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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
Compression 压缩图像文件格式(jpeg、PNG、gif)的原始形式是什么?_Compression_Image Compression_Information Theory - Fatal编程技术网

Compression 压缩图像文件格式(jpeg、PNG、gif)的原始形式是什么?

Compression 压缩图像文件格式(jpeg、PNG、gif)的原始形式是什么?,compression,image-compression,information-theory,Compression,Image Compression,Information Theory,正如我们所知,jpeg、PNG、gif都是压缩文件格式,我的问题是,我们为这些压缩算法提供的原始输入源是什么,以及图像数据在转换为这些文件格式之前以何种形式存储。 PNG通常是无损的,但它对位/像素的数量有限制。GIF也被证明是无损的,但获得大量颜色更为复杂。这些格式仍然是压缩的,但使用的压缩不会丢失数据 JPEG是有损的。如果保存为JPEG格式,则无法还原为其他格式而不丢失一些清晰度。通过将数据表示为方程,它可能变得非常小,但随着近似值变得更差,它可能开始看起来“模糊” 还有其他图像格式,如T

正如我们所知,jpeg、PNG、gif都是压缩文件格式,我的问题是,我们为这些压缩算法提供的原始输入源是什么,以及图像数据在转换为这些文件格式之前以何种形式存储。

PNG通常是无损的,但它对位/像素的数量有限制。GIF也被证明是无损的,但获得大量颜色更为复杂。这些格式仍然是压缩的,但使用的压缩不会丢失数据

JPEG是有损的。如果保存为JPEG格式,则无法还原为其他格式而不丢失一些清晰度。通过将数据表示为方程,它可能变得非常小,但随着近似值变得更差,它可能开始看起来“模糊”

还有其他图像格式,如TIFF、RAW和BMP,它们通常不进行任何压缩,尽管它们实际上更像容器,技术上可以包含压缩数据,但通常不进行压缩

原始的未压缩数据取决于生成它的内容。photoshop文件将另存为PSD,但内部可能在内存中以不同的方式表示。每台数码相机可能有不同的内部存储器布局方式,光电传感器倾向于将传感器中的1对1映射到一组位的存储器位置

然而,常见的模式是,图像的每个像素存储为3(有时为4)个颜色值,每个值介于8到16位之间。这3个值可以表示红色、绿色和蓝色,或者表示色调、饱和度和颜色。对于设计,它可以是CMYK(青色、品红、黄色和黑色)。也可能有一个alpha值。每个颜色通道使用超过16位是不寻常的,最常见的是使用8位。大多数人认为使用12位是全色的,但在32位甚至64位机器上,这并不能很好地对齐。尽管如此,数字视频信号有时使用12位,因为当连续广播时,颜色值不需要放入文字中

不同的格式将以不同的顺序进行。通常是第一行,但有些格式从底部行开始,有些从顶部开始


所以,真正的答案是,这取决于特定的压缩机在寻找什么。大多数保存为JPEG或PNG的软件都会接受多种格式,最常见的可能是32位/像素,每个RGB(红色、绿色、蓝色)有8个字节,一个是未使用的或alpha。它需要图像的宽度和高度,因此图像数据应为宽度*高度*4字节。通常传入一个定义的常量,告诉它字节顺序:RBGA、ARGB、BGR、RGB等。

我没有涉及非全色图像。当然,在某些情况下会有调色板和较低的位/像素。