基本图像分析
在了解了图像的原理之后,我们将介绍图像的类型,图像是以文件的形式存储在硬盘中,还是在网络上传输。
关于文件格式最重要的考虑是压缩方法。我们介绍压缩的分类和应用注意事项。
数字图像的像素(1/2)
这是一个所谓的320 x 200的图形,它的“宽度”有320个像素,“高度”有200条线。
首先解释一下像素。像这个小丑一样的数字图像实际上是一堆小粒子的预演。
每个小颜色代表一种颜色。当这些不同的颜色走到一起,被我们看到的时候,它们脑子里就有了一种含义,于是它们就认出这是一个化妆的小丑。
每个小颜色由一个、两个或三个数字记录,称为一个像素。
数字图像的像素(2/2)
所谓320 x 200的图片,就是320像素宽,200线高的图片。想象一下,那些像素排列成一个长方形,总共有64000个像素。
230 x 200的像素矩形太大了,我们特意缩小到40 x 25的画面。
如果觉得太小看不到,可以放大八倍(八倍宽八倍高)来看。
256色图表
缩小的小丑图片是256色图片,宽40像素,高25像素。每个像素由1到256之间的数字表示。
256色图表
“256色”图片的像素代表的不是颜色,而是色号。以这张小丑图为例,它只用了81种不同的颜色。
灰度地图(1/2)
现在我们来展示一张灰度小丑图。它的宽度是320,高度是200,也就是说还有64000个像素,但这是一张灰度图片,每个像素直接记录了那个位置的灰度亮度。
我们可以观察到,这张“灰度”图片的像素值和“256色”图片的像素值是一样的,计算机只把像素值解释为“亮度”,就导致了这张图片。
灰度图(2/2)
不需要在“灰度”图片中再存储一个色轮,每个像素直接记录那个位置的灰度亮度。因为计算机知道,比如亮度64的RGB亮度是(64,64,64)。为了列出像素值,我们还是只看缩小后的黑白小丑图。
高色彩地图
所谓“高色彩”画面,是指同一画面可以显示的不同颜色不超过65,536种。显然,一张总共只有64000像素的图片,比如小丑图,是不太可能使用这么多不同的颜色的。“高色彩”图片的每个像素应该由两个数字表示,每个数字都在0到255之间。
… ..
全彩色地图
所谓“全彩”画面,是指所有可能的颜色都可以显示在同一个画面中,即255x255x255 * *大约是1600万色。显然,不可能像小丑图那样,对一张总共64000像素的图片使用这么多不同的颜色(每个像素只代表一种颜色)。
…
图像的“数据量”
所谓图像的数据量,就是一幅数字图像在内存中所占的空间。
数据越大,图像在屏幕上看起来就越大,颜色也越丰富,但会占用更多内存。
视觉上,我们认为数字图像有两个维度:宽度和高度。
现在我们应该接受一个新的概念:数字图像其实有三个维度:除了宽度和高度,还有“深度”或“厚度”。
数字图像的数据量就是这三个维度的乘积,也就是体积。
数字图像的深度
决定图像数据量的第三个维度是色彩丰富度,称为深度。
事实上,深度意味着每个像素代表多少个数字。颜色最单调的是“灰度”图,深度为1。
比“灰阶”图像多一点颜色的“256色”图像,理论深度是1,因为每个像素只代表一个数字:色轮上的数字。
但是因为色轮的原因,我们说它的深度是1.01。这是一个我不打算细说的地方。
“高色彩”图的深度是2,“全色彩”图的深度是3。
图像数据量
数字图像的数据量是上述宽、高、深形成的立方体体积,单位是字节(」“字符”或“字节”)。在计算机术语中,1024字节称为“千”字节,记为KB(千字节)。也称为1024 KB,或大约一百万字节是MB(兆字节)。
以一张320 x 200的“灰度”图片为例,其数据量为320 * 200 * 1 = 64000字节,即62.5KB。
以一张320 x 200的“全彩”地图为例,其数据量为320 * 200 * 3 = 192000字节,即187.5KB。
存档和压缩
在这张图像、软件和文件之间关系的示意图中,我们可以看到计算机将数字图像以“文件”的形式存储在磁盘驱动器中,或者在互联网上传输数字图像。
操作系统(OS)负责存储或传输,如MS-Windows 98、ME、XP等。
而负责显示图像的软件,如MS-IE、文件管理器、ACDsee或PhotoImpact,则负责将文件内容转换成像素值,如果遇到“256色”的图像,就要处理色轮。
压缩比
文件通常存储压缩的像素值,而不是像素(和色轮)值。
压缩的过程实际上是根据数学函数将像素值映射到另一个值。
我们在使用计算机的时候,应该已经知道每个文件的性质中都有一个所谓的“文件大小”,也是以字节为单位来衡量的。
压缩后,数字图像通常会变小,即文件大小应小于图像的数据。减速比就是压缩比。
无损压缩和有损压缩(1/2)
无损压缩和破坏性压缩(2/2)
图片格式(1/2)的压缩方法
图像格式的压缩方法(2/2)
图像的呈现
在这个可爱的动画中,我们建议显示器“运行以获取”VRAM中的指令,而不是计算机将指令从VRAM“发送”到显示器。显示器每隔一段时间就去计算机那里获取VRAM中的指令,然后只是在屏幕上扫过不同的颜色。因为扫得快,我们的眼睛感觉画面静止是因为视觉的持续。
像素和光点
像素和光点之间的对应关系通常是1到1,即一个像素对应一个光点。我们来回顾一下微型小丑图。像素和光点正常1:1的时候,真的太小看不出来。例如,如果有必要,软件可以使一个像素对应多个光点。
所谓显示器的“分辨率”,就是每排有几个光点,一排有几个光点。比如显示器上800 x 600的分辨率,每行800个光点,一行600行。
图像媒体
图像原理
图像形式
数字图像介绍
图片的JPEG图像类型探讨
图形压缩和解压缩的JPEG原理探讨
图片的JPEG图像类型探讨(1/3)
目前图像压缩的方法很多,基本上可以分为“无损”和“失真”。比如我们常见的PCX、GIF、TIFF、TGA等格式都是无损图像压缩格式。
他们使用传统的文件压缩原理和技术来处理图像压缩,因此压缩前的原始图像与压缩后的结果完全相同。
至于众所周知的JPEG(联合图像编码专家组),是一种失真的图像压缩格式。
图片的JPEG图像类型探讨(2/3)
JPEG是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)制定的数字图像压缩标准,主要用于静止图像压缩。
JPEC采用失真编码的概念,利用离散余弦变换去除图像数据中有损的重要部分,只保留重要信息,从而达到高压缩比的目的。
虽然JPEC处理的图像会失真,但是JPEG的失真率是可以通过参数控制的。一般来说,当压缩比(即压缩后的体积除以原始数据量)在5%到15%之间时,JPEC仍能保证其应有的图像质量,这是正常无损压缩方法无法比拟的。
图片的JPEG图像类型探讨(3/3)
我们将以阳明山的风景为例,使用不同的JPEC压缩参数(PHOTOIMPACT 5.0 progressive 1024 X 768)进行压缩。压缩结果如图2和图3所示。图2中的图像质量非常接近原图,压缩率达到了65%。至于图3,其压缩比为25%,压缩效果良好,但此时画质已经明显失真。
JPEG100原图100%_ 671K
JPEG65压缩65%_ 341K
JPEG25压缩25% 261K
JPEG原则(1/3)
JPEG是基于人眼对图像中亮度的变化最敏感,远远超过颜色变化的感觉这一原理。所以JPEG存储的不是一点点颜色,而是亮度和颜色的“变化率”。通过还原变化率曲线,可以再现大部分图像,尤其是图像的“感觉”。
对于大多数JPEG压缩类型,第一步是将RGB转换为亮度和色度。最常见的格式是CCIR601,也就是所谓的Y,CB,Cr格式,其中Y代表亮度,CB代表蓝色色度,Cr代表红色色度(也可以用U代表Cb,V代表Cr,也就是所谓的YUV格式)。转换公式如下:
y = 0.299 r+0.587g+0.114B
CB = 0.1687 r–0.3313G+0.5B
Cr = 0.5R–0.4187g–0.0813B
这是一种无失真转换,Y,CB与Cr仍然可以完全转换回R,G与b .
JPEG原理(2/3)
因为人眼对亮度的敏感程度远远超过色度,所以在压缩重建图像时,我们可以多使用Y,减少Cb和Cr。
转换后的值仍然是一点一点的格式。相邻点必须合并,通过DCT(离散余弦变换)变换转换成“变化率”的曲线数据,然后将曲线数字化(这是JPEG失真发生的地方)。
数字化中使用的系数决定了数据损失量和图像质量。这些数字化数据可以通过霍夫曼或其他编码方法压缩,并保存为JPEG文件。恢复步骤正好相反。
首先将JPEG数据解压缩成可变速率的数字曲线,然后通过逆DCT变换重构图像。有些原来的低阶位可能无法重现,所以都补0。
JPEG原理(3/3)
由于Y、CB和Cr的重要性不同,JPEG允许对它们中的每一个赋予不同的权重。例如,对于2x2点矩阵(***4点),最好有4个Y值(**4点),但CB和Cr只记录一个(平均值),因此在RGB模式下需要4x3 = 6544。
至于DCT,其实有点像傅里叶变换,把振幅强度的数据阵列转换成强度变化频率的数据阵列。
JPEG采用线性数字化,即每个DCT转换值除以不同的数字化系数,然后将45放入一个整数中存储。在此过程中,变化率数组的每个元素将根据其频率除以不同的系数。
对于人眼来说,缓慢的变化会比快速的变化更容易被注意到。这个过程将大大减少数据的长度。因此,变化率越大的元素,压缩比就越大。这就是JPEG对于不规则图像(比如电视画面、照片)的优势。
图像媒体
图像原理
图像形式
数字图像介绍
图片的JPEG图像类型探讨
图形压缩和解压缩的JPEG原理探讨
图形压缩和解压缩的JPEG原理探讨
JPEG是压缩和解压缩连续色调图形(如彩色或灰度)的标准。
本标准由ISO/IEC JTC 1/sc 29 WG 10规定。JPEG可应用于许多静态图像的压缩,如研讨会图片、彩色电传、图像数据库、桌面出版系统、多媒体和医疗。
JPEG的基本概念是将图像的块从空间域转换到频率域。一般来说,图像的高频部分的量要比低频部分的量小得多。
因为人的眼睛对空间的高频部分不太敏感,所以高频部分可以通过大量的处理用一个粗糙的图像来表示。由于粗糙图像需要的比特数较少,因此可以大大减少要存储或传递的信息量,而且减少的信息图像确实可以被人的视觉感官所接受。
图像压缩原理
数据压缩方法可分为无损压缩和无损压缩。
无损压缩必须用于数据本身必须在压缩后保留然后恢复的要求。无损压缩有不得失真的限制,所以压缩效果有限。它适用于数字和程序等数据类型。
图像数据的一个特征是空间冗余。
一般来说,同一张图上肯定有某种* * *关联,可能是颜色,可能是几何,也可能是其他特征值。
所谓空间冗余去除,就是识别画面中的重要元素,去除重复的、影响较小的元素。
图像压缩方法概述(1/2)
首先,介绍了一种称为RLE的基本压缩方法。
原则是记录内容细节和数据中重复内容的出现次数。例如,ABCDEABCDEABCDEABODE,我们可以记录ABCDE的四次出现。比直接记录重复的ABCDE更简洁吗?
变长编码的算法相当简单,可以直接使用,也可以和其他压缩方法一起使用。
但变长编码方式可能达不到压缩效果,有时遇到重复性低的数据,压缩后的大小不减反增。
图像压缩方法概述(2/2)
以便理解图像中像素之间的相关性,从而决定使用哪些数据来消除数学变换。
目前,图像压缩中最常用的数学变换是离散余弦变换(DCT)。
利用DCT对图像数据中不太重要的部分进行分析,然后用量化的方法去除,只保留重要的信息,达到高压缩的效果。
失真率可以通过量化参数来控制。当压缩比在5%到15%之间时,该方法仍能保证适当的图像质量。这种压缩方法的发展使得图像媒体的存储和应用更加方便。
不同质量的JPEG压缩
原创
QF=20
QF=50
QF=30
QF=80
QF=10
原始图像和压缩图像的比较
原始图像和压缩图像的比较(续)
原始图像和压缩图像的比较(续)
原始图像和压缩图像的比较(续)
原始图像和压缩图像的比较(续)
原始图像和压缩图像的比较(续)
泰坦尼克号的主观看法
基线JPEG编码
转换为
8×8块
减去
128像素
离散余弦变换;远曲小管;双离合自动变速器
改变
数字转换
锯齿形/
RLC
熵
编码
DPCM
编码
DC系数
交流范围:-1023 ~ 1023
DC范围:0 ~ 2048
JPEG编码器和解码器
8X8
像素
街区
FDCT
编码数据流
联合图像专家组
语法
发电机
无失真压缩
霍夫曼编码
失真压缩
量化处理
倾斜
扫描
量化表
霍夫曼
编码表
FDCT:正向离散变换(正离散余弦变换)
8X8
像素
街区
IDCT
编码数据流
联合图像专家组
语法
发电机
无失真压缩
霍夫曼编码
逆量化
倾斜
扫描
量化表
霍夫曼
编码表
IDCT:逆离散变换(逆离散余弦变换)
JPEG编码模式
为了满足不同通信和存储场合的应用,JPEG提供了两种或四种不同的编码方法:
1,顺序模式。
2、渐进模式(Progressive mode)
3、层级模式(Hierarchical mode)
4、无损耗模式(Losslessmode)
1,顺序模式。
顺序模式编码从左到右和从上到下对图像进行编码。这种顺序模式编码架构简单高效,非常适合大多数应用。该架构只对数据进行一次处理,即所谓的顺序编码模式。这种方法为每个输入数据提供8位分辨率。
顺序编码示例
顺序编码示例
2、渐进模式(Progressive mode)
无论是从模糊的低频图像到清晰的高频图像(即频谱选择法)还是从最高有效位到最低有效位(即连续逼近法)创建图像,渐进模式编码都是通过多次扫描来处理图像。以频谱选择法为例,将图像通过DCT变换到频域,从DCT系数可以立即得到一些带宽。因为DCT只执行一次,因此,以这种方式只有一个空间分辨率。渐进模式对于带宽有限的通道上的图像传输非常有用。用户可以先看到粗略的图像,然后决定是否需要最终的图像。
渐进模式解压缩后的图像呈现方式是先出现模糊的低频图像,再出现清晰的高频图像。这种编码方法满足了许多应用的逐行显示、算术编码和高分辨率(如12位)的要求,算术编码方法比霍夫曼编码方法提供了更好的5-10%的压缩。
此外,该模式还支持顺序编码和8位分辨率。
渐进编码示例
渐进编码示例
3、层级模式(Hierarchical mode)
分层模式的编码方式是先对低空间分辨率的图像进行编码,然后基于这个低分辨率图像对高分辨率图像和低分辨率图像的差值进行编码,得到更高分辨率的编码图像。
同一个图像可以在分级模式下用几种不同的分辨率进行编码,分级模式可以同时满足各种不同容量的设备,这样即使是低成本的设备也可以对这种多分辨率图像进行解码,得到它们所能达到的最佳质量。
相比之下,渐进模式只能使用单一分辨率进行图像重建和显示,而分层模式确实为各种设备提供了更好的强度和分辨率。
分级编码示例
4、无损模式(Lossless Mode)
所谓无失真,就是这种模式可以恢复重建图像。
为了在重建时得到完全相同的图像,无损模式下不使用DCT,因此无损模式的压缩率远低于DCT。
这种模式一般只用于一些需要图像变形的场合,比如重要的医学图像,每个像素的取值范围可以是两位到十六位。
此外,这种处理模式还支持顺序编码,用户可以选择霍夫曼编码或算术编码进行处理。
无损编码
预言者
熵编码器
哈夫曼(名字)
桌子
源图像
压缩数据
无损编码器
亮度和色度(1/2)
虽然JPEG不规划色彩空间,但大多数JPEG应用并不使用RGB表示,而是YCbCr表示;另外,人类视觉系统对色度的敏感度不高。
因此,YCbCr色度意味着我们可以再次子采样以减少信息量,这也是YCbCr被广泛使用的另一个重要原因,如下图所示。
4:4:4格式表示YCbCr的原始完整信息,而色度表示可以通过重采样用4:2:2或4:2:0格式表示。4:2:2格式将原始信息减少到三分之二。
然而,4:2:0格式可以将信息减少3到一半。虽然色度信息量减少了,但对人的视觉神经来说只感觉到细微的差别。
亮度和色度(2/2)
离散余弦变换
为了说明离散余弦变换(DCT)的影响,我们将从一幅图像中取出一个单元块(8×8像素)的亮度数据并将其转换到空间频域,然后从每个像素值中减去128,以便每个像素能够满足DCT算法中的8位运算范围。转换后的二维(2D)系数如下,并且该2D频域的水平轴由表示。左上角代表DC -80的系数值,低频部分包含块的大部分能量,而人眼不太敏感的高频部分通常包含较低的能量。
-2
-4
八
-2
-2
六
12
-2
-4
六
八
-2
-2
四
10
-6
-2
八
-2
四
四
-4
-12
-4
10
2
12
八
-8
24
-2
-2
2
六
-6
四
-80
量化(1/2)
下面列出了JPEG建议的量化矩阵,以便以每秒720X576像素的30帧来处理和显示CCIR-601标准的图像。
这个矩阵的目的是量化亮度,还有一个矩阵是处理色度系数的。
99
103
100
112
98
95
92
七十二个
101
120
121
103
87
七十八
64
四十九个
92
113
104
81
64
55
35
24
77
103
109
六十八
五十六岁
37
22
18
62
80
87
51
29
22
17
14
五十六岁
六十九
57
40
24
16
13
14
55
60
58
26
19
14
12
12
61
51
40
24
16
10
11
16
量化(2/2)
在亮度系数的量化中,每个2D DCT系数除以相对量化矩阵的值,并且在舍入之后,量化的DCT系数被获得如下:
1
1
-1
1
1
1
-1
2
-5
例如,DC系数-80除以其对应值16,得到量化值-5。注意量化后块的高频部分有很多零值,说明人类视觉系统对高频部分不敏感。由于四舍五入的部分在解码时无法重现,这一步将是一个失真的过程。
倾斜扫描(1/2)
量化后,只有块的低频部分具有非零值,以进一步减少存储空间和通信容量的大小。
尽可能把零值放在一起,这样每个零可以用几个零来表示,而不是单独处理。
因此,如下图所示执行对角线扫描,并且沿着增加空间频率的方向扫描该对角线扫描的扫描线。
这样,许多零可以连接在一起,以达到原来的期望。
倾斜扫描(2/2)
在量化系数倾斜扫描的情况下,倾斜扫描只处理AC系数。
也就是说,左上角的DC系数部分被跳过,DC系数部分用它的相邻块按照下面的方式扫描。
字流长度和霍夫曼编码方法
扫描完成后,接下来的工作就是用霍夫曼编码方法混合游程长度,从而优化比特数。首先通过斜扫描处理得到序列的AC系数,得到如下序列如上:0,2,1,-1,0,65438。1, 0, 0, 1, 0, 0,-1, 0,-1, ...0,然后流长度或可变长度编码对此序列进行编码,以进一步减少所需的比特数和编码值。
(字流中零值的数量,下一个非零值的数量)
所以上面的例子可以编码为:(1,2),(0,1),(0,-1),(2,1),(1)。然后使用霍夫曼编码来减少编码的比特数,以表示字流的长度。
霍夫曼编码是从统计学中推导出来的,所以最常用的编码用最少的比特数表示。JPEG提供了一个表格,用于对DC和AC霍夫曼编码的亮度和色度进行处理。另外,在分层模式或无损模式下编码时,可以用算术编码表代替霍夫曼编码表。