跳到正文

数据压缩的方式与特点

低頻约 30 分钟6 个术语过去问 3 题

本单元目标

  • 能说明 压缩率 的含义,并能根据压缩前后的量求出它的值。
  • 能按照能否还原、适合哪类数据,区分 无损压缩 和 有损压缩。
  • 能说明 游程编码法 和 哈夫曼编码法 分别利用数据的什么性质来压缩。
术语总表(6 个)
术语一句话定位
ZIP把多个文件合为一个,并用无损压缩缩小体积的文件格式文件格式
圧縮率压缩后的量除以压缩前的量得到的值,越小说明压缩得越多衡量效果的指标
可逆圧縮压缩后的数据能完全恢复原内容的压缩方式方式的类别
非可逆圧縮削去不易察觉的信息以大幅压缩,无法完全恢复原样的压缩方式方式的类别
ランレングス法把同一值的连续替换为“值和个数”的手法无损压缩的手法
ハフマン法出现次数越多的值分配越短码字的手法无损压缩的手法

术语

ZIP 是一种文件格式,它把多个文件合并成一个,并用可以原样还原的方式(无损压缩,可逆圧縮)缩小体积。

把压缩后的数据恢复成原来的形式,叫作 解压缩(伸長,也叫展開)。ZIP 文件解压后,合并前的各个文件会一个比特不差地回来。它不挑内容的种类,文档和程序都能处理,因此常用于一次发送或保存多个文件。

类比就像把好几页文件装进同一个信封,压得薄薄地寄出去。拆开信封,文件一页也不会少。

记法英语的 zip 是“拉上拉链”的意思。想象把散落的东西装进袋子、再拉上拉链的样子。

考点

  • 易混ZIP 是不挑内容的通用无损压缩(可逆圧縮)格式,和照片专用的 JPEG 这类只面向特定数据的格式,在适用范围上有所区别。

压缩率(圧縮率)是用压缩后的数据量除以压缩前的数据量求得、表示压缩效果的值。

压缩前压缩后压缩率
800 KB200 KB200 ÷ 800 = 25%
800 KB600 KB600 ÷ 800 = 75%

这个值用比例或百分比表示,越小说明比原来缩得越多。数据量在压缩前后要用同一种单位来数,比如比特数、字节数或字符数。

类比把被子装进压缩袋,如果厚度变成原来的三分之一,这个三分之一就相当于压缩率。

记法把它理解成“还剩多少”的比例。剩下的越少,说明压得越好。

考点

  • 常考求 压缩率(圧縮率)时,先按约定好的表示规则数出压缩后的量,再除以压缩前的量。
  • 易混“压缩率”(圧縮率)一词有时也指被削减部分所占的比例(1 − 压缩后 ÷ 压缩前)。具体指哪一种,要看该文档给出的定义。

该术语的过去问 1 题 圧縮率

无损压缩(可逆圧縮)是解压后能让压缩前的数据完全恢复原样的压缩方式。

データ圧縮

可逆圧縮

非可逆圧縮

完全に復元できる

例 ZIP PNG GIF

一部情報を捨てる

例 JPEG MP3 MPEG

它不丢弃任何信息,只是把表示方式变短,所以用于改动一个字符都会出问题的文档和程序。不过,正因为没有可以丢弃的信息,能压缩的量是有限的。在图像格式中,PNG 和 GIF 也采用无损压缩。

类比就像折叠伞,收起来变小了,撑开后还是和原来一模一样的形状。

记法日语名称“可逆”拆开读,就是“可以逆向回到原样”。中文的“无损”则直接说明没有损失。

考点

  • 易混是否属于 无损压缩(可逆圧縮),看的是能否还原,而不是数据的种类;图像格式里也有 PNG 这样的无损格式。

该术语的过去问 1 题 可逆圧縮

有损压缩(非可逆圧縮)是削去人不易察觉的信息、大幅减少数据量的压缩方式,解压后也无法完全恢复原样。

  1. 原始数据
  2. 削去不易察觉的细微成分
  3. 大幅缩小的数据
  4. 解压后与原来略有不同

即使解压,丢掉的成分也回不来,得到的数据与原来略有不同。

4 / 4

削去的信息再也回不来,但也正因如此才能大幅压缩。它适合轻微劣化不显眼的照片、音频和视频,代表格式有照片的 JPEG、音频的 MP3 和视频的 MPEG。

类比就像把一段长话概括着转告别人。要点能传到,但原来细致的措辞,听的人是还原不出来的。

记法“覆水难收”。就像泼出去的水,被削掉的细节回不来。

考点

  • 常考MP3 是面向音频的压缩格式,采用削去人耳难以听清成分的有损压缩(非可逆圧縮)。
  • 常考MPEG 是压缩视频或音频数据的方式的标准群,通过有损压缩(非可逆圧縮)大幅减少数据量。

该术语的过去问 1 题 非可逆圧縮

「无损压缩」与「有损压缩」的区别

比较点无损压缩有损压缩
关键解压后的数据与原来完全相同与原来略有不同
可压缩的量有限能大幅压缩
适合的数据文档、程序照片、音频、视频
格式示例ZIP、PNGJPEG、MP3

ランレングス法游程编码法

在术语表中打开 ランレングス法

游程编码法(ランレングス法)是把同一值连续出现的部分替换成“值和连续个数”来缩短数据的无损压缩手法。

  1. PPPPPPQQQR (10 个字符)
  2. P 有 6 个,Q 有 3 个,R 有 1 个
  3. P6Q3R1 (6 个字符)

把值和个数依次写下,10 个字符就缩成了 6 个字符。

3 / 3

同一值的连续叫作 游程(ラン),它的长度叫作 游程长度(ランレングス)。像同一颜色大片连续的图像那样游程较长的数据,压缩效果好;而值一个一个交替变化的序列几乎压不小,有时反而会变长。只出现 1 个的值是否也要加上个数等细节写法,由各个方式自行规定。

类比就像在购物清单上不写“橘子、橘子、橘子……”,而是汇总成“橘子 6 个”。

记法run(连续)加上 length(长度),就是“连续的长度”。名字本身就说明了要记录什么。

考点

  • 常考即使是同一幅图像,改变读取像素的方向,连续段的划分也会改变,压缩后的量可能随之不同。
  • 常考用固定比特数记录连续个数的方式中,超过这个比特数所能表示的最大值的连续段,要拆成几段分别记录。

该术语的过去问 1 题 ランレングス法

ハフマン法哈夫曼编码法

在术语表中打开 ハフマン法

哈夫曼编码法(ハフマン法)是给出现次数多的值分配较短的 码字、给出现次数少的值分配较长的码字,从而减少整体数据量的无损压缩手法。

字符出现比例分配的码字
A50%0 (1 比特)
B25%10 (2 比特)
C15%110 (3 比特)
D10%111 (3 比特)

码字(符号)是为了表示某个值而分配的 0 和 1 序列。与所有值都使用同样长度码字的方式相比,出现次数越不均衡,整体就越短。在图中的例子里,每个字符平均只需 1.75 比特,比每个字符都用 2 比特表示时更少。

类比就像把最常打电话的人,存到位数最短的快捷拨号上。

记法摩尔斯电码里,英文中最常用的 E 也只是一个“·”。越常出现就越短,思路完全相同。

考点

  • 易混游程编码法(ランレングス法)着眼于同一值的连续,用个数来汇总;哈夫曼编码法(ハフマン法)着眼于各个值的出现次数,改变码字的长度。

「游程编码法」与「哈夫曼编码法」的区别

比较点游程编码法哈夫曼编码法
关键着眼点同一值的连续各个值的出现次数
改写方式值和连续个数长度与次数相应的码字
压缩效果好的数据同一值长时间连续出现次数很不均衡

要点

  • 把压缩后的数据恢复原样叫作 解压缩,解压后能完全复原的方式叫作 无损压缩。
  • 压缩率 是压缩后的量除以压缩前的量得到的值,越小表示压缩得越多。
  • 照片、音频和视频大多使用 有损压缩 的格式,例如音频的 MP3 和视频的 MPEG。
  • 游程编码法 是把同一值的连续替换成“值和个数”组合的无损压缩手法。
  • 哈夫曼编码法 给出现次数多的值分配短码字,出现次数越不均衡,压缩效果越好。

确认题

从本单元的过去问中选 3 题

开始做确认题

查看这个领域的全部过去问