编码将抽样和量化后的信息变为二进制的“0”和“1”。经过了抽样和量化,我们将一切信息都转换为数字信息。

对于文字,不管一共有多少万字,我们将每一个文字对应分配一个编号进行编码,文字就转换成了数字,其实文字本身就是离散的,就是数字信号。

对于声音,我们可以将时间轴上每个时间点的电平值转换为数字。

对于图片,我们将其分为若干个点——像素,每个像素的色彩都用三原色去合成,三原色各自的灰度也可以转换成数字。

视频也就是一些图片和声音的组合体,分别进行编码。

信息经过编码变成了什么样的数字呢?无论是通信设备还是计算机,都是采用二进制编码的,它们都只认识“0”和“1”两个数字,因为基于二进制容易实现存储、运算、传递。

我们想一下,如果隔着几公里远有一个人,这个人身高是 1.6 米还是 1.7 米我们并不好判断,但是“有人”还是“没有人”我们一定看得一清二楚。我们上学的时候都知道判断题比选择题容易做,因为判断题只有两个选项,就算蒙也有 50% 的正确率,而选择题有 4个选项。聪明的人类尚且如此,对于机器我们更不好难为它们了。

机器很容易通过两个差别很大的电平值去表示“0”和“1”,如果要表示十进制 0 ~ 9难度就大了。对于信息的传递,接收端在面临着两个选项的时候是最容易判断的,也就最不容易出错,所以我们最终将所有的信息都用二进制数去表示;信息量越大我们就用越多位数的“0”和“1”去编码,每一个“0”或者“1”叫作 1 个比特(bit),每 8 个比特叫作 1 个字节(Byte,用 B 表示)。

接收端只要逐位地去接收判定这些“0”和“1”,就像做无数道判断题一样,接收设备表示:毫无压力,So Easy !

编码的方式有很多,不同类型的信息都有不同的编码标准,比如常见的 ASCII(英文)、GBK(汉字)、MP3(音频文件)、MP4(视频文件)、BMP(图片文件)等,不胜枚举,我们接触到的所有的文件类型都是一个编码标准。

不同编码的研究方向和侧重点不同,比如像 WAV、PNG 等叫作无损编码,这类编码致力于如何高度地还原信息本身,当然这个“无损”指的是抽样量化之后的,是相对的,也就是在编码的环节不去将信息“再砍一刀”。

还有比如 MP3、JPEG 等叫作压缩编码,这类编码致力于如何用少量的字符去表示信息,网上播放视频的时候,播放器会提示我们根据网络情况选择流畅还是高清,在网速不给力的时候我们宁可牺牲画质来换取流畅度。这些编码对于信息的处理是有失真的,在保证让我们感觉不到或者感觉不强烈的前提下,实现最高的压缩比以方便存储和传递。换句话说,压缩编码让文件变小,减小了网络和硬盘的压力。

这些编码标准如何实现,我们不需要一一了解,我们只需要知道编码之后所有的信息都变成二进制数字就足够了。

编码和解码是对应的,“解铃还须系铃人”说的就是这个意思,一套编码标准就像是一个密码本,用什么方式编的就得用什么方式去解。就像战争时期我们截获了敌军的情报,还要拿到对方的密码本才能够破译,否则这个情报对于我们来说就是天书,就像我们电脑上经常碰到的“文件无法打开”。

--摘自《大话传送网》

来源: 《大话传送网》

内容资源由项目单位提供