這世界或許告訴你們 「如果你 ….. 美麗、聰明,有才能,你就很特別」 但我要告訴你 ………… 「孩子!你很特別 ---- 就是因為你很特別,不需要任何條件。」
#$#%&’()*+images.china-pub.com/ebook3770001-3775000/3770772/ch01.pdf ·...
Transcript of #$#%&’()*+images.china-pub.com/ebook3770001-3775000/3770772/ch01.pdf ·...
书书书
!
!
"
!"#$%&#'%#()*&
+
&,-./#0&-
#$#%&'()*+
本章要点
!
理解模拟现象和离散现象的区别!
!
理解如何用正弦曲线波表示图像和声音!
!
理解如何用正弦曲线波建立给定频率声波的模型!
!
理解正弦函数如何叠加为更复杂的波形!
!
理解采样过疏如何引起失真!
!
理解量化过程中出现的量化误差!
!
理解并应用信噪比的方程!
!
学会根据给定的基本参数计算数字图像"音频和视频文件所需的存储空间!
!
了解常用的存储介质的存储容量!
!
理解数字数据通信的基本概念!
!
理解术语#带宽$的不同用法!
!
了解如何根据给定带宽和通信中不同信号值来估算最大数据率!
!
理解位速率和波特率之间的关系!
!
学会执行游程编码"熵编码和算术编码!
!
熟悉常用的压缩算法和编解码器!
!"!
"
介绍
!"!"!
"
接触本书
你因为某些原因翻开了本书!也许你正在学习一门类似数字媒体或多媒体系统的课
程%需要用到本书&也许你踏足图像"音频或视频处理领域%对工具的工作原理感兴趣&
也许你是数学家"工程师或者物理学家%发现数字媒体能够很好地应用于学科研究&也许
你是音乐家"画家或其他领域的专家%需要数字媒体的辅助%于是想了解更多!如果你总
是被科学和数学吸引%那么你可能对现象的本质感到好奇%并期望通过深刻理解媒体工具
的工作原理来增强你的创造力!
不管是什么原因%我们都假定大多数人对数字媒体产生兴趣的最大动机是创造带来的兴
奋感!数字媒体是由计算机驱动的多媒体%它看得到%听得到%甚至能触碰到%当然它也可
以与人交互!若你开动脑筋%亲自动手制作了图像"声音或动作%则你会感到更加兴奋!正
是这种实现了交流"娱乐或教学的满足感%致使很多人加入数字媒体研究的行列!
出于这个目的%本书选择了数字媒体工作中的特有内容作为主题%即选择色彩模式"
文件压缩"失真频率识别"滤波"变换和创造性编辑!然而%本书将着重阐述数学和算法
流程'很多工具都是基于这些原理构建起来的(%而不是按部就班地介绍相关的应用程序!
我们尝试使原理的解释变得简单直接%并且与实践活动相关联!程序和算法的文字说明%
均有可交互的演示和数学建模练习作为补充说明!我们相信数字媒体所蕴含的科学和最终
1
成果一样吸引人%理解这门科学不仅能增强创造能力%还可以让你的智慧在创造过程中尽
情地发挥!快看看能从本书中发现什么吧)
!"!"#
"
从哪里开始
那么%我们从哪里开始呢* 这本书围绕三种主流媒体%即数字图像"数字音频和数字
视频进行组织%并在最后实现多媒体!每章的主题都取自各种具体的数字媒体应用程序%
如2"(,(3"(
4
"
25#6#
"
7&'-.89,
"
:90&,&('
"
$(9'07(5
+
#
"
;(
+
&%
"
<#-3('
"
=..93,5-,(5
"
7.-3"
和*&5#%,(5
等%但每个主题都将从数学和概念的角度进行介绍!
第>
章包含多种与媒体相关的概念!尤其是%这一章引入了采样和量化的数字化过
程介绍%以备在后续章节的图像和声音等媒体环境中可以进行回顾!本章先介绍模数转
换%然后重点阐述数据通信和数据存储的基本原理%再通过纵览各种压缩方法把媒体的
相关概念串联在一起!本章的最后是一个关于标准和标准化组织的综述!本章附有可交
互的教程%可逐步引导读者使用数学建模工具%在实验中对涉及的概念形成可视化的
认知!
本章资料很多%有些很简单%可以快速浏览过去&有些可以做记号%以后若需要可作
为参考&还有一些较富挑战性%需要学习并经常使用工具才能完全掌握!后续章节在涉及
特定的媒体'图像"音频和视频(应用时%会详细讲解相关知识!
!"#
"
模数转换
!"#"!
"
模拟现象与离散现象
模拟现象是连续的%比如稳定流动的水%图像上的一条线或收音机旋转度盘!在模拟
现象中%点与点之间没有清楚的分界%事实上%在任意两点之间存在无数多的点!相反%
离散现象在点与点之间有明确的分界!如果有一个点'空间上或时间上(和另一个点相邻%
那么它们之间不存在其他的点!水龙头滴下的水珠是离散现象%流出的水是连续的模拟现
象!我们获得的很多感觉都是以模拟形式存在'尽管有些人认为这有待商榷%甚至认为这
是个哲学问题(!一个管弦乐队在现场把音乐以模拟形式展现给我们%即连续的声波!一
个标准的话筒是一个模拟设备%检测并按时序记录声音然后以一个连续的电压变化的波形
进行传递!
将图像"声音和动作的连续现象用离散的形式表示%使其可以被计算机识别%这个过
程称为模数转换!数字数据与模拟数据相比有什么优点呢* 相机"录音机和电视机已经存
在很长的时间了%以前一直没数字化%现在为什么又要改变呢* 为什么商店那么乐意将乙
烯基的唱片专辑换成简单的磁盘呢* 为什么已经有一个完美的模拟照相机还会买一个数码
照相机呢* 是什么原因驱使大家去换一个数字电视呢*
实际上%数字媒体有很多优势!或许看上去模拟数据含有无限值%可以运行地更平滑
和连续%应该在图像"音频和视频中更精确并有较高质量!不过%随着存储介质容量的增
大以及通信通道上数据传输速率的提高%数字图像"音频和视频的分辨率也随之提高!这
意味着现在的数字图片和声音可以有更丰富的表现细节%数字数据在通信上有更大的优
势!与数字数据相比%模拟数据的通信更容易受到噪声的影响%所以在传输过程中它的质
量会受损!通信中%数字数据完全是由?
和>
组成的序列表示%错误纠正策略可以保证数
据能得到正确的接收和解析!此外%数字数据通信比模拟数据通信更加简洁!这显得有点
!
第>
章"
@
有违直觉!直觉上%播放同一电视节目%用?
和>
进行数字编码比使用模拟数据需要的数
据要多得多!事实上%数字数据可以使用极好的压缩算法%在不牺牲质量的前提下%可以
有效地减少数据量!因此%数字有线电视通信可以有效地在多个广播中划分带宽%提供给
用户多样的电视节目和高质量的图像和声音!想知道这些过程如何实现%需要深入了解更
多模数转换"数字数据通信和压缩算法的相关知识!
!"#"#
"
图像和声音数据的函数和波形表示
数字媒体的两个主要媒体是图像和声音%两者结合在一起便能生成视频%从这个意义
上说它们很重要!触觉输出'基于触觉器官(有时候也以数字媒体的形式呈现出来但还没有
得到普及%图像和声音都可以用函数表示而且可以通过曲线形象地表示出来'如果你不需
要重温物理和数学上关于正弦函数曲线的基本知识%可以跳过本节(!
举例来说%声音是一个一维函数%即只有一个输入变量的函数!如果把声音看成一个
连续的模拟现象%那么就可以将其模拟成一个连续函数"
A
#
'
$
(%其中%
$
是时间%
"
是
气压振幅!
表示声音的基本函数形式是正弦曲线%即曲线有正弦波的形状!本书虽假定读者已
掌握了一些三角函数的知识%但还是简略地复习一下正弦函数!假设有一个由顶点%
"
&
"
'
组成的三角形%对任意顶点(
%我们用#
(
表示顶点(
处的角度%一个角可以用
角度测量%缩写成B
%或用弧度测量%缩写成5-0
!角度和弧度之间的换算关系如下
所示!
关键公式
令)
为用弧度测得的某角度值!
*
为用角度测得的同一值!那么
)
*
A
!
>C?
本书所有的角度均采用弧度值表示!
一个弧度值为!
+
D
的角称为直角%如图>E>
中的#
&
!而含有一个直角的三角形称为
图>E>
"
正弦和余弦函数在直
角坐标系中的定义
直角三角形%与直角相对的边称为直角三角形的斜边%它的长
度用+
表示!现在我们考虑三角形中不是直角的那两个角%
如#
'
%它的角度用!
表示%与#
'
相对的边称为#
'
的对边%
它的长度用,
表示%另一条边称为#
'
的邻边%它的长度用-
表示!那么#
'
的正弦和余弦值定义如下,
3&'
'
!
(
.
,
+
+
%(3
'
!
(
.
-
+
+
我们把正弦和余弦统称为正弦函数!
上面的定义给出了小于!
+
D
的角度的正弦和余弦函数%我
们可以在笛卡儿坐标系上将该定义推广到任意大小的角度!在
笛卡儿坐标系中%数值在$
轴上从左到右水平地增长%在"
轴
上从下到上竖直地增长!'
$
%
"
(代表了笛卡儿空间中的一个点%
$
和"
称为该点的坐标%
两轴相交的地方称为原点%即点'
?
%
?
(!考虑一个以原点为圆心"半径为>
的圆%把它称
为单位圆'见图>ED
(!根据勾股定理%单位圆的方程为$
D
F
"
D
A>
!设处在$
轴上点/
的
0"
数字数据的表示与通信
G
坐标为'
>
%
?
(%对单位圆上的任意一个点1
%将点/
"原点和点1
连起来能得到一个角%
图>ED
"
正弦和余弦函数在单位圆中的定义
设这个角的大小为!
!当点1
在单位圆上以
逆时针方向运动时%
!
的值在?
"
D
!
变化%
考虑到当点1
回到它在$
轴上的起始点时%
这个角度可以认为是?
或D
!
%事实上%这个
角度应该是D
!
2
%
2
为点1
绕单位圆运动的
圈数'以逆时针方向运动时%
2
为正&反之%
2
为负(!因为点1
在单位圆上%它的$
坐
标值和"
坐标值分别表示点/
"原点和点1
形成的角的正弦值和余弦值%即3&'
'
!
(
A
"
和%(3
'
!
(
A$
!对于角"
%若"
大于D
!
或小
于?
%即表示为"
A
!
FD
!
2
时%它的正弦函
数和余弦函数值定义如下,
若"
A
!
FD
!
2
且2
为整数时%则
3&'
'
"
(
.
3&'
'
!3
D
!
2
(
.
3&'
'
!
(
%(3
'
"
(
.
%(3
'
!3
D
!
2
(
.
%(3
'
!
(
因此%正弦函数和余弦函数是周期函数%它们的值在一个有规律的模式下循环%如表>E>
所示!
表!$!
"
正弦函数
角的弧度值 角的角度值 角的正弦值 角的弧度值 角的角度值 角的正弦值
? ? ?
!
+
G H? >
+
D
!
+
1 1@ 槡D+D
!
+
H G? 槡H+D
!
+
D I? >
D
!
+
H >D? 槡H+D
H
!
+
1 >H@ 槡D+D
@
!
+
G >@? >
+
D
!
>C? ?
J
!
+
G D>? K>
+
D
@
!
+
1 DD@ 槡K D
+
D
1
!
+
H D1? 槡K H
+
D
H
!
+
D DJ? K>
@
!
+
H H?? 槡K H
+
D
J
!
+
1 H>@ 槡K D
+
D
>>
!
+
G HH? K>
+
D
D
!
HG? ?
我们可以通过一系列的值将图形可视化%图中%
$
轴代表角度值的大小%
"
轴代表角
"
图>EH
"
正弦波和余弦波的图形
度的正弦值%这个形状就代表着正弦曲
线%如图>EH
所示'余弦曲线的形状也在图
中给出(!我们把它称为简单的正弦波%
是为了强调它是一个单一的正弦函数而不
是两个或多个的叠加!
现在%让我们看看正弦函数是如何与
波形相关并最终导致与声音和图像相关的!
把声音作为一个模拟现象以及它的波形形
式都比较容易理解%所以先开始讨论声音!
读者可能熟悉物理现象中的声波概
念%正弦波在数字媒体中是一个重要的抽
象概念%当然对图像也很重要%所以这些内容很有用!首先%声音是一种机械波%机械波
4
第>
章"
J
"
"
C
是通过某种传播媒介中质点的运动产生的%例如空气中分子的运动!因为声音是一种机械
波%所以它就需要某种介质运动传播%声音是不能在真空中传播的!
声波是由振动引起的%想象钢琴中的某一根弦在钢琴中的软头锤击打下开始振动%靠
近这根弦的空气分子开始运动%并通过振动释放出能量!简单地说%想象一个从左向右运
动的单一波%当弦向右振动时%靠近弦的分子被挤压去右边%运动靠近到邻近的分子%在
连锁效应的作用下又影响到了下一个分子并逐渐向外%当分子被挤压靠近到它邻近的分子
时%空气压力开始增高!当钢琴弦运动回左边时%靠近弦的分子有了空间散开并向左运
动%于是这些分子和它们右边分子的压力差开始减小!空气压力的周期性变化'高到底"
高到底--(就通过弦的左右运动传播了出去'如图>E1
所示(!
图>E1
"
气压变化引起的空气分子的振动
如果将上述声波可视化%就会发现空气分子的运动是来回地从左到右%与弦产生的波
形方向一致%这种形式的波称为纵波%即单个质点的运动方向与能量传播方向平行的波!
声音是一种机械纵波!
图>E@
中的声波是声音经过数学抽象后得到的图形%下表给出了单位的前缀定义%图
中表示了空气压力的周期变化!首先%压力随着分子被挤压在一起而升高%即图中的上升
弧所示&然后压力随着分子的分散而减小%即图中的下降弧所示%这些变化是随着时间发
生的%所以图中的$
轴表示时间%
"
轴表示空气压力!
图>E@
"
一个单一频率'
11?LM
(音频的波形表示
关键公式
表!$#
"
数字的前缀
6&..&EA>?
KH
6&%5(EA>?
KG
'-'(EA>?
KI
5"
数字数据的表示与通信
I
当波在时间上重复一个波形%称这种波具有周期性%这个重复的波形称为周期%一个
完整的周期长度称为波长%在声音与空气分子的振动速度一致的情况下%单位时间内一个
周期重复的次数称为频率!声波的频率用周期数每秒表示%或者用赫兹'
LM
(表示!常用
的前缀和频率值如表>ED
和表>EH
所示!
关键公式
表!$%
"
频率或采样速率的缩写
赫兹LM
千赫兹NLM
兆赫兹/LM
秒3
毫秒63
微秒#
3
纳秒'3
>LMA>%
O
%.#
+
3
>NLMA>???LM
>/LMA>??????LM
形成一个完整波形所用的时间称为周期%周期和频率互为倒数!
关键公式
令6
为一个正弦波的周期!
#
为频率!那么
6A>
"
#
和#
A>
"
6
一个波形的高度称为振幅!
用正弦函数来表示一个频率为#
LM
的声波%首先需要将#
转换为角频率%它们之间
的转换公式如下所!
关键公式
令#
为用LM
表示的一个正弦波的频率!
#
为用5-0
"
3
#弧度"秒$表示的等效角频
率!那么
#
AD
!
#
因此%表示一个频率为11?LM
的声波的正弦函数为3&'
'
CC?
!
(%如图>E@
所示!
声音的波形图表示了听觉所无法获知的信息%如图>E@
中完全有规律的波形%说明此
声音是单一音色的%就像一个没有其他泛音的单一音符!波形的振幅与声音的高低相一
致%振幅越大%声音越响亮&而波形的频率与声音的音调相一致%频率越大%声音音调
越高!
旁白%振幅和响度准确说不是一样的东西&振幅是用来测量气压的量!而响度是
对声音的一个主观感觉&然而!这两者是相关联的&一般振幅大的声音!其响度就感
觉更大&
图>E@
给出了与理想的单一频率的音调相一致的简单的波形!单一频率的音调表示为
7
第>
章"
>?
>>
一个正弦函数%也就是说%自然界中极少的声音拥有这么纯的波形%那么大部分复杂的声
音该如何创造和表示呢* 将大量的简单波形组合在一起就有可能生成一个复杂的波形%
图>EG
给出了将音乐音符8
"
P
和Q
整合在一起的结果%这三个波形的整合表现出了三个
音符同时演奏的协调感!
图>EG
"
声波叠加
旁白%傅里叶#
R#-'S-
4
,&3#R(3#
4
"7(95
$是>C
世纪法国数学家!他对周期函数
#即正弦函数和余弦函数$的分析为工程和数字信号处理的进步奠定了基础&
我们可以反过来进行这个过程%也就是说%我们可以把一个复杂的波形用数学方法分
图>EJ
"
灰度图像%平滑的渐变
解为它的频率成分%这种方法叫做傅里叶变换!傅里
叶分析表明%任何周期信号可以分解为无数个正弦波
的叠加%简单的正弦波称为较复杂波的频率成分!可
以使用傅里叶变换把复杂的声波以数字的形式存储%
分辨波的频率成分%并过滤不需要的部分!滤波用来
提高音频的质量或者压缩数字音频文件%这些内容将
在第1
章详细讨论!
在第D
章中%正弦波形也可以用于表示数字图像
中颜色变化的振幅!如图像>EJ
所示的每个点都可以
"
图>EC
"
正弦波对应一条横跨左边
图像的灰度值线
用一个数字表示...它的灰度值!灰度值从?
"
D@@
%
对应着黑"灰"白'想象D@G
个不同的颜色%只不过
它们都表示为数字(!现在假设图像连续的且在图像
的每行"每列都有无数个点!假设灰度值从左至右平
滑地变化%并以有规律的形式增加或减少!现在%在
这个图像上只取水平的一条线上的灰度值!根据灰度
值随空间变化绘制出图>EC
中的正弦波!同样%垂直
方向的值可以绘制成一个一维波形!推而广之%我们
可以在图像上同时沿着$
轴和"
轴方向%取得灰度值
并绘制其波形&灰度值用振幅表示%即用图像上的高
度表示!在这个意义上%图像上的值在空间域内可定
8"
数字数据的表示与通信
>D
>H
义成一个二维波形%如图>EI
'在此图中波形的阴影强化了轮廓%形状是关键(所示%第D
章
图>EI
"
与图>EJ
中的灰度图像对应的二维波形
将涉及更多关于波形图像的概念!
把声音或图像看成波形%强调了数据的
连续性!波在时间和空间平滑变化%在选定
的任意两点间存在无限个点!那么%如何用
计算机捕获这些信息* 需要获取的点无限
多%而这些数据可能多到计算机都无法处
理!因此%数字媒体的首要问题是使用模数
转换的方法将模拟信息转换为离散数据!
与媒介无关%模数转换需要相同的两个
步骤,采样和量化!第一步%采样,选择离
散点来衡量一个连续的现象'称为信号(!如
果是图像%样本点应在空间内均匀分配&如果是声音%样本点应该在时间上均匀地分开!每
单位时间或空间的样本量称为采样率%或者分辨率!第二步%量化,要求每个样本用固定数
量的位表示%称为样本容量%或者称为位深度!位深度限制了每个样本的精确度%本章将给
出数字图像和声音采样和量化的简单例子%然后在第D
章和第1
章中进行更加详细的讨论!
!"#"%
"
采样和失真
如果你有一张像图>E>?
这样的简单图片%你想要沿着水平和垂直方向均匀地取颜色
的样值%以数字的方式记录这张图片!在图>E>>
中%样本区域指定为矩形块%我们称为
样本块!在每个样本块%数码相机检测被拍摄对象的颜色%并把这些信息记录在像素点中
'像素点是图片中元素的简称(!推理可知%你可以假设整个样本块的颜色就是样本的颜
色%从而以样本块中取得的样本为依据重现拍摄到的场景!如果你从如图>E>>
中的块的
中心取样%那么你能正确地重现图片!但是%如果你在每行从左往右只隔块取样呢* 从这
些样本重构%你会误认为你的整张图片是黑色的!这是一个采样过疏的例子!你的抽样率
没跟上图像模式的变化率!数字图像的失真源于采样过疏%并导致图像与原来的图像源不
匹配...图像源可能是被模糊化了或者产生了一个错误的图案!
图>E>?
"
一张有规律的模式的图像""
图>E>>
"
方块表示采样的区域%称为样本块
'它们不是原始图像的一部分(
当你对声波进行采样时%可能会遇到类似的情况!声波可以由如图>E>D
所示的正弦波表
示!这是一个频率为GHJLM
的单音%假如你以每秒JJ?
个样本的速率对这个波进行采样%也
就是JJ?LM
'注意,当描述采样率时%
LM
是每秒采样数%而当描述声波时%
LM
是每秒周期
数(!同样的道理%用样本重构一个正弦波%得到如图>E>H
所示更低频率的波%其中圆圈代
9
第>
章"
表采样点!连接这些圆圈得到的低频波是由过少的采样点重构波形造成的!这显然不是原来
的波%因为从样本重构的波的频率不同于原来的波%所以它听起来也与原来的声音不一样!
图>E>D
"
GHJLM
的声波图像
图>E>H
"
GHJLM
的音频波以JJ?LM
的速率采样
这两个例子说明了过疏采样如何造成失真!在广义上%失真的意思是一个事物以另一
个事物的形式或特征显现!失真在数字图像领域表现为不清晰%或者一个与源图像图案不
同的图像&在文本上%表现为本该光滑的字母边缘锯齿化&在数字音频上%表现为声音中
出现原先不存在的声音频率!
奈奎斯特'
T
OU
9&3,
(定理描述了引起失真的确切原因和性质!它规定了一个指定的空
间或时间频率所需要的采样率!简单地说%奈奎斯特定理规定%为了避免失真出现%使用
的采样频率必须至少是被采样信号频率的两倍!这个定理在音频采样的情况中很容易理
解%因为我们已经习惯于用频率表示声音!在上面的例子中%被采样的声波频率是
GHJLM
!因此%根据奈奎斯特定理%需要的采样率比这个速率的两倍还大&也就是说%采
样率必须大于>DJ1LM
!如果我们每个周期采样两次%并且在波的最大值和最小值处采样%
那么这就可以恢复原波形'但是注意,如果我们每个周期采样两次%但都在?
点处%那么
就无法从样本重构波(!因此%直观地得出每个周期采样必须多于两次!每个周期采样小
于两次必然导致音频失真...也就是说%数字化的音频声音与原来的声音不同!
将奈奎斯特定理应用到单频"一维波形可以概括为以下方程!
关键公式
设#
是一个正弦波的频率!
)
是保证最终数字化波不失真的最低采样率!则
)AD
#
)
称为奈奎斯特频率!
:"
数字数据的表示与通信
旁白%奈奎斯特#
L-55
O
T
OU
9&3,
$是一个物理学家和电子通信工程师&他出生于瑞
典!在美国学习!然后在贝尔实验室工作&
>IDC
年!他提出关于采样率的理论&后来
在>I1I
年!这个理论被克劳德'香农证明和扩展&因为这个原因!这个定理有时称为
奈奎斯特 香农定理&
奈奎斯特定理同样适用于数字图像%这可以通过图>E>?
进行说明!这幅图像以一
定的频率重复一个简单的图案!如果采样率不能跟上重复的速率%那么将不能保证图案
被重现!大多数图像都比这个图案复杂得多%但它们都有一个空间频率!第D
章将更加
详细地阐述空间频率的概念及它与奈奎斯特定理和失真的关系!在数字图像和数字声音
中%过疏采样都将导致失真并且使图像或声音的数字版本看上去或听上去不像原来的模
拟版本!
!"#"&
"
量化!量化误差和信噪比
模数转换的第二个步骤就是量化%我们知道样本必须在离散的时间和空间上抽取%但
是没有考虑到每个样本在计算机中是如何表示的!
对于数字图像%二维图像上的每个样本表示一个离散点的颜色!在数字图像中可以表
示多少种颜色呢* 能表示的颜色的数量取决于每一个样本的位数%即样本大小或位深度
'在图像文件中又称为颜色深度(%如果每一个样本只用>
位%那么只能表示两种颜色%因
为一位只可以表示两个值,
?
和>
&如果采用C
位%则可以表示D
C
AD@G
种颜色'
C
位也用
在灰度中(&如果采用D1
位%则可以表示D
D1
A>GJJJD>G
种颜色!通常%
关键公式
令;
为量化数字样本的位数!那么可以表示的不同值中的最大值<
为
<AD
;
上面定义的#不同值$与色彩等级和声音振幅相对应%在图像处理程序中%可以选择不
同位深度的色彩模式!很明显%位深度越大%数字图像中的色彩变化越精细%但是文件也
会变大!
对于数字音频声%每一个样本代表了声波在离散时间点上的振幅!常用的样本大小为
C
位或>G
位!立体声8*
品质的数字音频的每个样本总共使用HD
位%即每一个立体声道
使用>G
位!立体声8*
的数字音频在两个立体声道上的每个声道的每个样本都是>G
位%
也就是每个样本总共HD
位!
样本大小影响样本值的精确程度!在数字图像中%样本大小影响数字图像的色彩与
它所表示图像的原始色彩间的相近度&在数字声音中%当波形在时间上划分为许多点
时%样本大小影响波形中需要保留的振幅精度%如图>E>1
所示!从图>E>1
中可以看出%
从时间上平均分布的点上获取的样本值%只能取得"
轴上离散量的值!样本值必须取整
为离它最近的离散值!它的实际值与取整值'表示为图中与"
轴平行线上的点(之差称为
量化误差!
所选位深度造成的误差值可以用信噪比'
$&
+
'-.E,(ET(&3#<-,&(
%
$T<
(这个物理量来测
量%在了解$T<
在数字图像和数字声音中的特殊性之前%先来看看基本定义!
信噪比通常可以定义为信号中有意义的内容与附带的噪声的比值!信号可以是任何形
=>
第>
章"
>1
"
"
>G
式的通信...别人告诉你的一些事情"如通过网络传输的数字图像文件"贴在电子公告板
上的一条信息"从盒式磁带中播放的一段音乐--噪声就是这些信息中没有意义的那一部
分!事实上%它干扰了通信中的信息!日常生活中的通信可以用信噪比来描述%如果知道
别人总是说很多没有太多有意义的内容%则可以说这人的信噪比比较低!基于网络的公告
板和讨论组有时被说是$T<
比较低...虽然留言很多但有意义的却很少!从这两个例子
可以看出%噪声由没有意义的词语构成!考虑通过网络传播的数字信号%噪声就是信号的
电力衰减!对盒式磁带中放出的一段音乐来说%噪声的产生可能是由于磁带的损坏或者磁
带机的机械不合格导致的!
图>E>1
"
量化误差
信噪比根据不同的环境有更精确的定义%如果你看到这一术语在不同的地方有不同的
用法%可能会令你感到疑惑%所以让我们从两个主要的用法上来区分它!
!
在模拟数据通信中%信噪比定义为信号的平均功率与噪声的功率的比值!在这个
环境下%将通过网络发送的信号与损坏的信号相比较%这就是该术语的一般用法!
术语$T<
的这种用法适用于特殊的信号%这里$T<
基于一个实时的条件!
!
对数字图像和声音来说%信噪比定义为最大的样本值与最大的量化误差的比值!
在术语的这种用法下%这个比值取决于信号所选的位深度%并不取决于实际的条
件%任何以同样的位深度编码的信号都有相同的信噪比%所以又称为信号 量化噪
声比'
$&
+
'-.E,(EV9-',&M-,&('ET(&3#<-,&(
%
$VT<
(%但必须清楚%在许多的文献
中%信噪比都是这个意思!下面进一步讨论信噪比!'本书后续章节用$VT<
来
表示这种用法以区分$T<
!(
$VT<
的单位为分贝%分贝是一个无量纲的单位%用来描述两个模拟量的相对功率或
强度%分贝'
0#%&W#.
%
0S
(的定义如下,
>0S
.
>?.(
+
'
>?
?
?
(
?
>>"
数字数据的表示与通信
>J
"
"
>C
旁白%
>
分贝等于>
"
>?
贝尔#以亚历山大'贝尔命名$!对于功率分别为?
和?
?
的
两个信号!
>
贝尔的定义为%如果.(
+
>?
#
?
"
?
?
$
A>
!那么这个比值就是>
贝尔&也就是
说?
是?
?
的>?
倍!因为.(
+
>?
#
>?
$
A>
&贝尔在实际应用中被证明是一个比较粗的测量
单位!所以一般采用分贝&
其中%
?
和?
?
分别为两个信号的强度'也可以称为穿过某一表面区域的功率(%单位为瓦特
'
X
(%那么究竟是什么的强度* 这取决于读者对哪一部分感兴趣!分贝也经常用来描述声
音的强度%或许这也是读者最熟悉的一种用法%但是分贝也可以用来测量通信网络中数据
信号的强度"激光器发出的光功率%或者任何一种以瓦特作为单位的功率!注意%分贝是
一个无量纲的单位%因为?
和?
?
的单位都是瓦特%两个单位在除法过程中消去了%最后
只留下一个数值来表示这个比值!
另一种分贝的定义%如下所示,
>0S
.
D?.(
'
+
@
@
(
?
其中%
@
和@
?
为振幅"电势或压力%用伏特'
Y
(来衡量!如果考虑功率?
"电势@
和电阻
A
之间的关系%就会发现这两种对分贝的定义是等价的!
?
.
@
D
A
假设对两个信号来说%
A
是一个常数%那么
>?.(
+
'
>?
?
?
(
?
.
>?.(
+
>?
@
D
A
@
D
?
$
%
&
'
A
.
>?.(
+
'
>?
@
D
@
(
D
?
.
>?.(
+
''
>?
@
@
(
?
(
D
.
D?.(
+
'
>?
@
@
(
?
'考虑.(
+
>?
'
$
D
(
AD.(
+
>?
'
$
((!
因为$VT<
只是一个比值%所以用分贝来衡量!由于$VT<
适用于线性的量化样本%
因此使用上述分贝的第二种定义'因为是测量振幅(则可以很好地诠释$VT<
!首先定义
6-Z
'量化样本值(为最大样本值的量级%采用;
位来进行量化%样本值在KD
;K>
"
D
;K>
K>
的范围内'音频信号是用正弦波形表示的%所以在正"负之间变化(!量级中的最大样本值
为D
;K>
%在样本值的数值范围内%最大量化误差是半个量化等级%于是得到了分母值为>
+
D
'假设凑整被用在了量化中(!那么%
$VT<
.
D?.(
+
'
>?
6-Z
!量化样本值"
6-Z
!量化误差 (
"
.
D?.(
+
'
>?
D
;
B
>
>
#
(
D
上述的说明是为了给读者一个关于$VT<
的直观感受%更简单的定义如下所示!
关键公式
令;
为一个数字媒体文件#如数字音频$的位深度!则信号 量化噪声比#
$VT<
$为
$VT<AD?.(
+
>?
#
D
;
$
信号 量化噪声比与动态范围直接相关!事实上%从数学上来说%它们是同样的值&
直观地从概念上来说%动态范围通常定义为最大振幅的声音'对数字图像来说是颜色(与
给定位深度表示的最小值的比!难道不像上面$VT<
的定义吗* 这就意味着要表达一定
!>
第>
章"
>I
范围的颜色或声音所用的位数越少%要表达的颜色或声音的范围越宽%则越不能表现出
数值之间的微小差别!比如使用H
位表示颜色%那么只能表示D
H
AC
种颜色!因为位深
度太小%所以在量化图像时只能在颜色上得到一个有限的动态范围!如此小的动态范围
造成颜色选择的限制%假如原始图像含有许多的颜色并且这些颜色的范围很大该怎么
办* 若需要不同的蓝色"绿色"红色"黄色"橘色"紫色"黑色和白色%但却只能用刚
提到的每种颜色中的一种色度%那么两种颜色之间的差距相对来说非常大!如果一张相
片中含有成千上万种颜色%在光谱范围上广泛分布%但是只能用仅有的C
种颜色来复制
它%一定会得到很大的舍入误差!相反%如果需要两种颜色之间精细的不同%那么只能
得到一个较窄的颜色范围!这两种选择都表现在图>E>@
中%注意在第二个例子中%舍
入误差相对于狭窄的颜色范围是相同的%这意味着%受位深度影响的动态范围也是相
同的!
图>E>@
"
颜色的动态范围
与测量数字音频中的动态范围的状况相类似%音频文件中一个较小的位深度限制了数
字声音的振幅范围%小的位深度并不适用于管弦乐队演奏含有十分响亮和十分轻柔部分曲
子的数字唱片!为了用一个较小的位深度表现出数值相隔很远的声音振幅%需要一个很大
数值的量化区间%这就增加了与实际信号之间的误差!相比于用一个较大的位深度%用较
小的位深度很多值都会取整到?
!我们在第1
章中更加详细地重温数字音频中$VT<
和动
态范围的概念!
!"%
"
数据存储
进行数字媒体的工作需要处理大量的数据%首先来看看典型的图像"音频和视频文件
的大小%在后面的章节中将对每一种媒体进行详细的说明%表>E1
给出了数字媒体文件大
小的概况%例子中采用了<QS
的色彩模式%即每个像素含有H
字节'
<QS
将在第D
章中进
行详细的说明(%视频文件的帧速率为H?
帧+秒%每一帧为一幅图像%帧的快速显示造成
了运动现象'第G
章将对此进行详细说明(!
0>"
数字数据的表示与通信
D?
表!$&
"
数字图像!音频!视频文件大小举例
数字图像"未压缩# 音频文件"未压缩# 视频文件"未压缩#
分辨率,
>?D1[JGC
总像素,
JCG1HD
颜色模式,
<QS
位每像素,
D1
'
H
字节(
总位数,
>CCJ1HCG
'
DH@IDIG
字节(
文件大小,
D\D@/S
"
样本率,
11\>NLM
"
位深度,
HD
位每样本'两个立体
声道%每个>G
位('
1
字节(
"
分钟数,
>
分钟
"
总位数,
C1GJD???
'
>?@C1???
字节(
"
文件大小,
>
分钟>?\?I/S
"
文件数据传输速率,
>\H@/W
+
$
"
视频尺寸,
JD?[1C?
"
位每像素,
D1
"
帧速率,
H?
帧+秒
"
分钟数,
>
分钟
"
总图像需求,
>1IDIID????
位
"
音频需求,
C1GJD???
'
>?@C1???
字节(
"
总位数,
>@?>1@ID???
'
>CJGCD1???
字节(
"
文件大小,
(
>\JQS
"
文件传输速率,
DHC\G@/W
+
$
'这个结
果并没有考虑色差二次采样%关于二次
采样请参见第G
章(
常用的数据大小的单位缩写在表>E@
中给出%前缀N&.(E
"
6#
+
-E
和+
&
+
-E
有多种不一致的
用法也许会给读者带来困惑%对赫兹来说%
N&.(E
意味着>?
H
A>???
%
6#
+
-E
意味着>?
G
A
>??????
%
+
&
+
-E
意味着>?
I
A>?????????
!但是在数据存储中%
N&.(E
可以是>?
H 也可以是
D
>?
%
6#
+
-E
可以是>?
G 也可以是D
D?
%
+
&
+
-E
可以是>?
I 也可以是D
H?
%这取决于信息来源!制造
商一般会采用>?
的幂使得存储媒体看上去容量大一些&另一方面%许多计算机对文件大小
的计算都采用D
的幂定义!例如%在计算机上%你可以通过点击一个文件来查看它的属性%
它可能会显示HGCG1@G
字节%也可能显示HG??NS
或者H\@D/S
%很明显%
D
的幂用来定义文
件的大小%因为HGCG1@G
+
>?D1
)
HG??
%
HGCG1@G
+
>?1C@JG
)
H\@D
!即使在计算机行业中%
前缀N&.(E
"
6#
+
-E
和+
&
+
-E
的用法也是不一致的%但在大多数情况下%
D
的幂用来表示内存和
文件的大小%
>?
的幂用来表示数据的传输速率!在本书中%若没有特殊说明都将采用这样的
约定!然而%必须注意制造商通常会用N&.(W
O
,#
表示>???
字节%
6#
+
-W
O
,#
表示>??????
字
节%
+
&
+
-W
O
,#
表示>?????????
字节!
关键公式
表"
!$'
千字节]S
兆字节/S
吉字节QS
千位"
]W
兆位"
/W
吉位"
QW
太位"
!W
太字节!S
对于内存和文件大小%有下面的等式,
>
字节AC
位
>]SAD
>?字节A>?D1
字节
>/SAD
D?字节A>?1C@JG
字节
>QSAD
H?字节A>?JHJ1>CD1
字节
>!SAD
1?字节A>?II@>>GDJJJG
字节
4>
第>
章"
D>
表!$(
"
存储介质和它们的容量
存储介质 最大容量
便携式媒体
8* J??/S
*Y*
%标准单面 标准1\JQS
&双层C\@QS
高容量视频*Y* >J
"
DJQS
记忆棒或记忆卡CQS
L*E*Y*
%标准单面 标准>@QS
&双层H?QS
蓝光盘 标准D@QS
&双层@?QS
闪存G1QS
永久媒体
硬盘驱动器>!S
表>EG
列出了编写本书时常用存储媒体的容量%考虑到N&.(E
"
6#
+
-E
和+
&
+
-E
的定义取
决于生产商%读者可以把这些数值当做估
计值!
只需简单的计算就知道计算机的存储器
很快会被未压缩的数字媒体文件所占据%特
别是音频和视频文件%音频文件需要大于
>?/S
每分钟的空间%所以大概J?
分钟就
可以装满一张8*
!对于数字视频来说%情
况更加糟糕%粗略地计算%
>
分钟的数字视
频需要>\@QS
的空间%所以对一张>JQS
的
*Y*
来说%只能存储仅仅>>
分钟的未压缩
视频!很明显%数字媒体文件十分巨大%因
此压缩文件的大小十分重要!在讲解压缩之
前%考虑与数据存储相关的问题%即数据通信!
!"&
"
数据通信
!"&"!
"
数字媒体研究中数据通信的重要性
数据通信是计算机科学和电气工程学科的广泛而深入的研究领域!本章只介绍一些基
本的概念%各种复杂的技术问题由其他文献来阐述!在论述这个主题之前%有必要先了解
数据通信与数字媒体研究的关系!下面是我们关注数据通信问题的动机!
!
数字媒体文件通常非常大%你很少自己保存它们!你用8*
和*Y*
存储它们%通
过电子邮件发送它们%并把它们发到网页上!因此%需要考虑数字数据传输媒体
和通信的方法!
!
声音和视频是基于时间的媒体%需要大量的数据!捕获和传输实时声音和视频要
求数据的传输保持与数据的播放速度相同!因此%捕获和传输数字音频和视频的
关键是带宽和数据率!
!
家庭和办公室通信媒体走向数字化!我们的周围都是手机"数字电缆"数字电视"
高清晰度电视'
L*!Y
(等!要想拓宽数字媒体领域的知识%你需要了解模拟通信
和数字通信的区别%因为在你的家庭和工作环境中它们无处不在!
!"&"#
"
模拟数据通信与数字数据通信的比较
无论数据是模拟形式还是数字形式%信息都需要一个从发送器到接收器的通信通
道!我们每天都使用这些通信通道%像有线电话或移动电话&短波收音机或固定频道
收音机&电缆"地面转播站或卫星电视&有线或无线计算机网络!虽然在使用的时候
你并不需要知道它们%但它们中一部分是数字化的%那么该如何分辨哪些通信是数字
化的*
必须要明确传输介质并不能决定数据是以模拟形式还是数字形式进行通信的%模拟数
据和数字数据都可以通过铜线'电话或计算机网络("同轴电缆'电视机("光纤'高速计算
机网络(和空气'收音机或电视机(传播!铜线"同轴电缆和光纤都需要在发射器和接收器
之间进行物理线连接%通过铜线或同轴电缆%数据转换成电压进行传播&通过光纤%数据
5>"
数字数据的表示与通信
DD
DH
通过波动光束传播&数据也可以通过人造卫星或无线电广播发射的电磁波在空气中传播!
上述的这些传播方法都使用某种形式的模拟波形%但是需要注意到的是%它们都适用于以
模拟或数字形式传播数据!通信形式是模拟的还是电子的%是由数据的表示方法决定的%
而不是传输介质!
那么%模拟方式和数字方式通过网络传播数据有什么不同呢* 模拟电话的传输机制
图>E>G
"
口语#
W((
$的一部分波形
是理解模拟数据传播方法的一个很好的开端%
当声音以电子的方式被捕获时%空气压力的
变化转换为电压的变化!在一个模拟电话中%
话筒采集空气压力的变化并将其转换成电线
中电压的变化%对说出来的单词#
W((
$来说%
电压的升"降如图>E>G
所示%电压的变化是
连续的%就像单词#
W((
$的波形也是连续的
图>E>J
"
基带数字传输!通过离散变化
的电压传输的位
一样!
另一方面%如果单词#
W((
$是数字化的%
那么它被采样并量化%即数据被转换成?
和>
的序列!通过铜线%这些?
和>
会通过电流传
播并以两个离散的电压等级表示%例如%电压
值为KY
可表示为?
位%电压值FY
可表示为
>
位%发送器和接收器的通信是以最初的同步开始的%然后为了发送每个字节%发送装置
在固定的时间内维持了一个稳定的电压值&接收装置依次按均匀的时间间隔接收%并区分
?
和>
%图>E>J
阐明了这种离散的传播形式!上述将电压划分成两个等级的方法称为基带
传输%发送器和接收器之间的通信线路称为基带通道!
基带传输是通过电线和同轴电缆进行的%但是它只在短距离传输中工作得较好%噪声
和衰减导致信号在通信通道的传输中降幅!衰减是信号在时间或空间上的慢慢减弱!基带
传输并不是唯一的%也不是最常用的数据通信方式!另一种选择是调制数据传输'又称为
带通传输(!它是基于缓慢降幅的连续震荡%因此有利于远距离的通信%调制传输使用载
波信号%数据被#写$在载波信号上!
现在%数字媒体中的正弦波形又成为了一个重要的概念!载波信号是一个频率单一的
标准的正弦信号%例如光纤中传播的一束光或空气中传播的无线电波%如图>E>C
所示!
即使没有传输数据%载波还是以一个特征频率传输和振荡!通过调制技术将数据写在载波
信号上!
调制载波的三种基本方法为调幅"调频和调相!在调幅中%当有数字>
传送时%载
波信号的振幅会增大一个固定值&在调频中%频率发生变化&在调相中%相位将发生变
化!这些调制方法如图>E>C
所示%图>E>C
中发送的数字信号为>?>
!必须注意%调制
的信号并不一定是数字化的!载波频率和调制用来传送模拟无线电和电视信号已经有很
长的时间了!
在带通传输中%载波信号加在频带的'称为频道或通道(中间用于通信!发送器和接收
器都知道分配给它们的频道%发送器只使用这些在频道中的频率发送信息%接收器只监听
频道中的通信!
7>
第>
章"
图>E>C
"
调制方法
光纤或电磁波通信%利用载波信号进行带通传输!光不同的颜色通常有不同的频率%
它们在通过光纤通信时可以划分到不同的频带或频道中%各种光谱如图>E>I
所示!
图>E>I
中显示了各种颜色的波长%波长$
和频率#
的关系式为,
$
A,
+
#
%其中%
,
为光在
真空中的传播速度!电磁波也可以划分为不同频带%如图>ED?
所示!模拟信息和数字信
息都可以用光或其他电磁波形式的载波信号进行编码%调制成包含所要发送的信息!
图>E>I
"
可见光的光谱
图>ED?
"
电磁波谱
8>"
数字数据的表示与通信
一个连续震荡的电压也可以作为载波信号%这个事实使得电话系统处理数字数据成为
可能!电话系统通常被设计成以模拟形式进行通信%随着计算机在家庭和办公室中的普
及%它们对网络通信的需求不断上升!随着一种将数字信号通过模拟电话线发送的方法被
发现%电话系统正在逐步适应这种需要%这就是调制解调器的作用!调制解调器这个词代
表调制器和解调器!调制解调器接收来自计算机的数据%然后使用上述的某种调制方法将
?
和>
写入一个连续的振荡电压中&然后在通信的另一端%另一个调制解调器将信号解调
并传给另一台计算机!
工程师研究和改进基带和带通'调制的(通信的技术标准已经很多年了!标准已经制定
出来%从而使得数据能够在世界各地传送!负责开发标准的主要组织有,国际电信联盟
'
=',#5'-,&('-.!#.#%(669'&%-,&(' '&('
%
=!
("电气和电子工程师协会'
='3,&,9,#)(5
P.#%,5&%-.-'0P.#%,5('&%
%
=PPP
(和电气工业协会'
P.#%,5('&%='093,5&#:33(%&-,&('
%
P=:
(!
目前已有许多种通信方法%但是具体细节超出了本书的范围!为了研究数字媒体%需要掌
握的重要概念就是模拟和数字数据以及它们的传送方式之间的本质区别!在数字视频的相
关章节中%我们将更多地讨论关于数据通信的细节%因为视频的数据密集性和时间相关性
使得数据通信成为一个重要课题!
本节讨论的内容贯穿于通信的模拟模式和数字模式%所以为了帮助记忆总结出以下关
键点,
!
模拟数据和数字数据都可以通过铜线"同轴电缆"光纤和自由空间进行传输!传
输介质并不能确定通信是模拟的还是数字的%而数据的形式可以确定!
!
数字数据可以通过基带信号或者带通'例如%调制(信号进行传输!基带信号使用
代表?
和>
的离散脉冲!调制信号使用载波频率和基于周期性改变信号频率"振
幅或者相位的编码数据!
!
模拟数据和数字数据都可以通过一种调制信号来传输!载波信号可以调制成包含
模拟数据或者数字数据!
我们通过比较模拟数据和数字数据是如何传输的来展开讨论%作为对带宽进行讨论的
开始!你将在不同的语境中频繁听到带宽这个术语%而且含意也略有不同!因为图像"音
频和视频文件是很大的%而且在音频和视频中%它们是基于时间的%所以带宽在数字媒体
的学习中非常重要%这些文件创建和传输的速率是至关重要的!
在>\1\H
节中%我们将讨论在三个不同的语境中的三个带宽的定义!这些用法是密切
相关的%但不完全相同%重载这个词会导致混淆!分别讨论这三个不同的定义应该有助于
阐明这些词的用法!
!"&"%
"
带宽
!"&"%"!
"
在数字数据通信中带宽用以描述最大变化速率
带宽这个术语的第一次或许也是最重要的使用'对我们来说(涉及数字数据通信!在这
个背景下%记住我们讨论的是一种离散的?
和>
的传输!该传输可以通过离散脉冲%也就
是在基带数据传输中离散的电压变化来实现!另外%就调制通信而言%数据可以通过载波
信号的频率"振幅或者相位的离散变化来传输!带宽在此语境下所描述的问题就是,信号
改变得多快* 也就是%发送者把信号从电压Y
变为KY
%然后再变回来有多快* 或者说%
就调制传输而言%发送者改变载波信号的幅度'或者频率"相位(有多快* 问题不仅仅在于
发送者一方面!记住%接收者也必须理解这个变化的信号!
9>
第>
章"
D1
"
"
DJ
日常生活的一个例子可能有助于阐明在此背景下使用的带宽概念!如果你想告诉你朋
友什么东西真的很快* 你能讲得多快而仍然清晰* 不要忘记你的朋友还必须跟上你的话%
他必须能够理解!你能讲话的最大速率和你朋友能理解的最大速率就是沟通的带宽!注
意%这与声音的速度没有关系!试试另一个例子!如果你必须将莫尔斯'
/(53#
(密码通过
一个闪烁的手电筒发送出去会怎么样* 你能多快发送这些密码* 你发送这些密码的速度受
限于硬件'手电筒(操作得多快和你的手点击得多快!即使你能尽快地闪烁手电筒%某些时
候看它的人也无法把一个信号与下一个信号区分开来!而且%带宽也与光速无关!问题在
于发送装置和接收装置!
在数据数字通信中%无论电压在铜线或者同轴电缆中传输%光在光纤中传输%还是来
自人造卫星发送频率或振幅不断改变的电磁波%数据信号的变化速率都有一个限制!发送
装置改变它的信号只能那么快%就像我们可以使我们的声带只能那么快一样!传输介质的
物理性能也对信号衰减和错误的产生方式有些影响!在传输的接收端%接收器能多快读取
和正确区分这些信号是有限制的!无论什么传输介质以及怎样设计发送和接收装置%通信
系统总会有一个最大的变化速度!这就是这个系统的带宽!
带宽用周期每秒或者赫兹来衡量!想想这意味着什么!一个具有@???LM
带宽的基带
传输系统可以@???
次每秒的最大速率循环通过其信号'也就是说%它可以@???
次每秒的
最大速率把信号从一个电压水平改变到另一个电压水平%然后再改变回来(!我们可以用
另一种方式来说明,每>
+
@???
秒%系统可以传输两件东西!如果一个电压代表?
%而另一
个电压代表>
%那么这个系统每>
+
@???
秒可以传输一个?
和一个>
!这意味着%它每秒能
传送>????
位!因此%有以下定义,
关键公式
假定一个信号以两种可能的信号级和C
赫兹的带宽发送!那么数据传输速率*
#单
位是位每秒$就是
*ADC
这表示你可以将带宽乘以D
来得到数据传输速率!带宽定义为信号变化的快慢!变化
意味着首先要有一件东西%然后另一件东西...两个不同的信息!那些信息块在此背景
下%就是位!
如果允许多个信号级将会怎么样* 如果允许1
个电压代替D
个电压%将会怎么样* 我
们可以用第一个电压代表??
"第二个电压代表?>
"第三个电压代表>?
以及第四个电压代
表>>
%来代替用一个电压代表?
"而用另一个电压代表>
!通过这种方法%每次电压的变
化将传输两位%而不是一位!允许超过两个信号级从而使每次多于一位可以传输称为多级
编码!概括地说%
关键公式
假定一个信号以2
种可能的信号级和C
赫兹的带宽发送!那么数据传输速率*
#单
位是位每秒$就是
*ADC.(
+
D
#
2
$
关于这个公式的一个例子如图>ED>
所示!传输1
种可能的电压级!最低的级传输是
:>"
数字数据的表示与通信
DC
指传输??
%第二低的级传输?>
%第三低的级传输>?
%而最高级传输>>
!因此%两位同时
传输!
图>ED>
"
信号级的数量所确定的数据传输速率
如果你能简单地在条件允许下通过增加电压级来增加数据%那么为什么没有数以百计
的电压级呢* 原因与硬件的设计有关!电压级越多%硬件需要读取和转换的电压级就越复
杂%而且会有更大的可能出错!因此%电压级的数量通常不会很多!
!"&"%"#
"
用频率定义的信号的带宽
信号的带宽更容易定义!在此背景下%我们讨论以波的形式发送的信号!正如在
>\D\D
节讨论的%任何复杂的周期波形'包括数学的和物理的(都可以分解为简单的正弦波
频率分量!这些频率分量分布范围从某些最小值到某些最大值!而一个信号的带宽在这些
最大的频率分量和最小的频率分量之间是不同的!我们将用术语信号的宽度来避免与术语
带宽的其他用途相混淆!
关键公式
对于可以表示为周期波形的信号!令最高频率分量的频率为#6-Z
!最低频率分量
的频率为#6&'
!那么信号的宽度D
为
DA
#6-Z
K
#6&'
例如%图>EG
底部的复杂波形是由三种频率组成的,
8
波'
DGDLM
("
P
波'
HH?LM
(和Q
波'
HIDLM
(!最高频率分量和最低频率分量之间的差'在这个例子中为>H?LM
(就是这个信
号的宽度'在这个定义中%值得注意的是,我们并没有对这信号所传输数据的性质做任何
假设!它可以是模拟的或者数字的(!
术语带宽的这种用法区别于在前面章节中的用法%不再研究信号在一种传输介质中的
变化的最大速率!相反%在假定一个信号作为一个波形发送的前提下%讨论这个特定信号
的频率范围!在这种情况中%这个信号可能在一个位于频率范围中心的载波信号上传输%
我们称为频道!这种用法的意义在于信号的宽度必须符合它所在的传输频道的宽度!否
则%有些信息就会丢失!例如%高清晰度电视'
L&
+
"*#)&'&,&('!#.#_&3&('
%
L*!Y
(需要
大的带宽从而使电视画面能以H?
帧每秒的速率传输!为了使它成为可能%高清晰度电视
播出频道的带宽必须足够大到能提供L*!Y
信号的带宽!这告诉我们术语带宽关系到频
道的另一个用处!
=!
第>
章"
DI
H?
!"&"%"%
"
用频率定义的通信频道的带宽
当数据通过电波传输时%它们沿着某些特定的频道传输%该频道是频段!发送者在指
定的频段传送%而接收者转到那个频段去接收通信!这些频率范围一起构成了频道的带宽
'我们可以简单地把这叫做频道的宽度%因为它与信号的宽度相关(!在电视和广播的电波
中%联邦通信委员会'
7#0#5-.8(669'&%-,&('8(66&33&('
(分配足够大带宽的频道%满足
通信的类型'见表>EJ
(!例如%给每个调幅'
:/
(广播电台分配>?NLM
的带宽%调频'
7/
(
广播电台D??NLM
的带宽!模拟电视有大约G/LM
的带宽!数字高清晰度电视则要求大约
D?/LM
的带宽!还是带宽的这个术语用法%我们讨论通过给定频率"位于频道中心的载
波信号来传输数据%但是我们没做任何关于被传输数据性质的任何假设!模拟数据和数字
数据都可以通过载波信号发送!然而%不管是数字信号还是模拟信号%调制载波使其包含
数据%将带来系列反应!调制增加了原始载波信号的频率成分量%称为边带%而且这些边
带必须位于指定的频道内!因此%频道的带宽影响能传输的信息的数量!
表!$)
"
广播和电视频段
广播 电视
调幅广播@H@LM
"
>\J/LM
频道DEG @1
"
CC/LM
短波广播@\I/LM
"
DG\>/LM
频道JE>H >J1
"
D>G/LM
民用电台DG\IG/LM
"
DJ\>1>/LM
调频广播CC/LM
"
>?C/LM
'分配D??NLM
的频道(
频道>1ECH L7 1J?
"
CI?/LM
带宽的这个定义增加了许多相关问题!如何为调幅广播"调频广播"电视和数字高清
晰度电视确定一个合适的带宽* 什么使得>?NLM
"
D??NLM
"
G/LM
和D?/LM
各自是它们
合适的大小* 载波信号的调制怎样引起边带* 这些边带的频率是多少* 它们是怎样影响频
道的带宽要求* 这些问题将在第G
章进行更加详细的研究!
!"&"&
"
数据传输速率
!"&"&"!
"
位速率
本节的主要目标是使你对描述数据通信系统和数据传输速率所用的术语有基本的了
解!让我们回到带宽的第一个定义,信号变化的最大速率作为发送信号的通信系统的一个
性质!这一定义与数据传输速率或者位速率密切相关!实际上%带宽经常被随便地当做数
据传输速率或者位速率的同义词%而且这已被广泛地接受!然而%在我们的讨论中%我们
要区分这些术语!带宽用周期每秒'
LM
(来衡量!数据传输速率用位每秒来衡量%更确切
地说%是用千位每秒'
NW
+
3
("千字节每秒'
NS
+
3
("兆位每秒'
/W
+
3
("兆字节每秒'
/S
+
3
("千兆位每秒'
QW
+
3
(或者千兆字节每秒'
QS
+
3
(来衡量!如果用位每秒来衡量的话%数
据传输速率等同于位速率'在>\H
节我们说明N&.(E
"
6#
+
-E
"
+
&'
+
E
在表示存储的用法与这
里不同!一般来说%当它们与数据传输速率相关时%我们用>?
的幂来定义这些术语%这
就是本书中默认的规定(!
带宽和数据传输速率是通过方程式*ADC.(
+
D
2
联系到一起的%其中2
表示能传输的不
同信号值的数量!前面我们没有提及*
表示理论上的数据传输速率%它是一个现实中不可
能达到的最大值!单位时间发送数据的实际数量受通信系统中的噪声的限制!没有信号能
在无限的空间和时间内完全清晰地发送!有些噪声是由电磁干扰造成的!如果有太多的噪
声%那么接收者不能总是正确地翻译信号!有些传输系统比其他的系统对噪声敏感%这会
>!"
数字数据的表示与通信
降低它们实际上可以达到的数据传输速率!
香农定理对数据传输速率和带宽之间的关系进行了改进%它量化了含有噪声的传输系
统所能达到的数据传输速率!根据香农定理%
,AC.(
+
D
'
>FE
+
F
(%
E
表示信号功率%而F
表示噪声功率'注意%
E
+
F
是前面所讨论的信噪比的另一种用法(!对于我们的目的%我们
不需要对信号和噪声进行精确的测量%也不需要对数据传输速率进行精确的计算%但这个
定理有助于我们理解特定数字通信系统描述的数据传输速率!数据传输率源于信号在给定
传输介质中的变化情况%它与系统的信噪比有很大关系!
旁白%克劳德'香农#
8.-90#$"-''('
$#
>I>G
(
D??>
$是美国数学家和电气工程师!
在麻省理工学院接受教育!随后受聘于贝尔实验室&他的工作对信息论有重大贡献&
数据传输速率对数字媒体的三个方面非常重要...传输数据"接收数据和以音频和视
频形式播放数据!因为没人愿意在把图像"声音和视频从一个地方传输到另一个地方的时
候等待一段不合理的时间%所以数据传输速率在数字数据通信中非常重要!
参考表>E1
%它给出了典型的数字图像"音频和视频文件的大小!有了这些文件的大
小%再考虑把一个数字图像"音频或者视频从一台计算机传输到另一台的情形!你或许把
一张图像张贴到你的网页上%然后其他地方的某个人登录你的网页%下载这张图像!这将
会用多长时间* 这取决于这张图像的大小和网络连接的类型!表>EC
列出了一些常见的网
络类型和它们在写本书时典型的数据传输速率!有了这些信息%你就能估计下载一张图像
需要的时间%例如一个D\D@/S
的数字图像'来自表>E1
中的例子(!这个文件会用大于>?
分钟的时间在一个通过DC\CNW
+
3
电话调制解调器连接的网络中传输...对于大多数网络
使用者的耐心来说%这个时间太长了!相反%一个能达到D?/W
+
3
的数据传输速率的有线
调制解调器%不到>
秒就能下载这个图像!
表!$*
"
常见通信链路的数据传输速率
广域网
数据连接类型 数据传输速率
电话调制解调器"
DC\C
"
@GNW
+
3
综合业务数字网'
=$*T
(
"
G1
"
>DCNW
+
3
非对称数字用户环路'
:*$;
(
"
>\@11
"
C\1C/W
+
3
'顺流(
>G
"
G1?NW
+
3
'逆流(
非对称数字用户环路D
'
:*$;D
(
"
?\C
"
H\@/W
+
3
'逆流(%
@
"
>D/W
+
3
'顺流(
非对称数字用户环路DF
'
:*$;DF
(
"
>
"
H\@/W
+
3
'逆流(%
D1/W
+
3
'顺流(
甚高速数字用户环路'
Y*$;
(
"
>D\IG
"
@@\D/W
+
3
'
"
>D/W
+
3
顺流%
@D/W
+
3
逆流或"
DG/W
+
3
对称在>???
尺%
>?/W
+
3
在1???
尺
线缆调制解调器"
D?
"
1?/W
+
3
甚高速数字用户环路D
'
Y*$;D
(
"
@?
"
D@?/W
+
3
局域网
数据连接类型 数据传输速率
令牌网"
>G/W
+
3
以太网'
>?W-3#E
(
"
>?/W
+
3
快速以太网'
>??W-3#E
(
"
>??/W
+
3
光纤分布式数据接口'
7**=
(
"
>??/W
+
3
千兆以太网"
>QW
+
3
无线网络C?D\>>W
"
>>/W
+
3
无线网络C?D\>>
+ "
@1/W
+
3
!!
第>
章"
H>
"
"
HD
'续(
计算机接口
数据连接类型 数据传输速率
串行"
>?
"
DH?NW
+
3
并行"
C/W
+
3
小型计算机系统接口>
'
$8$=>
(
"
>D/W
+
3
小型计算机系统接口D
'
$8$=D
(
"
C?/W
+
3
快宽小型计算机系统接口'快宽$8$=
(
"
>G?/W
+
3
小型计算机系统接口'
$8$=
%各种超版本(
"
HD?
"
D@G?/W
+
3
$S
"
$SD
"
>D
"
1C?/W
+
3
串行数字接口'
$*=
(
"
>1H
"
HG?/W
+
3
火线'
=PPP>HI1
(
"
1??
"
C??/W
+
3
*/::!:
接口"
DG1
"
>?G1/W
+
3
对数字音频和视频文件的传输来说%高速连接更加重要!第一%视频文件比静止的图
像大%以帧形式包含了数以千计的图像和声音!如果下载一个*Y*
格式的视频以便以后
再播放%需要处理一个非常大的文件!第二%数字音频和视频都是基于时间的媒体!如果
想在下载的同时播放音频或者视频传输将会怎么样* 如果是这种情况%通信链路必须足够
快地交付数据%这样才能以合适的速度播放它!例如表>E1
中的音频文件%需要>1>>NW
+
3
的数据传输速率!对于这个音频文件例子%速率将会是DDD@I@NW
+
3
!表>EC
中没有一种数
据连接类型能够提供这种数据传输速率!这就是为什么压缩在数字媒体应用中是那么
重要!
表!$+
"
常见存储设备的数据传输速率"并没有列出所有的项目#
,-
驱动器"光盘#
> >@?NS
+
3
'
>D??NW
+
3
或者>\D/W
+
3
(
D H??NS
+
3
H >D??NS
+
3
1 J\C/S
+
3
-.-
驱动器"数字多功能光盘或者-.-
光盘#
> >\HD/S
+
3
>G D>\?I/S
+
3
因为视频是基于时间的%而且是数据最密集的媒体%所以数据传输速率在采集数字视
频中非常重要!当采集数字视频时%影像和声音将实时出现!影像一般以每秒H?
帧的序
列形式呈现!其中每帧都是由颜色值定义的像素组成的数字图像%通常每个像素H
字节!
声音作为序列采样音频被捕获%通常以11\>NLM
的采样率%每个采样1
字节!声音和图像
合在一起%每秒的数据量如果不压缩%将达到H?/S
以上!数据必须从数字摄像机传送到
计算机%并且以保持与采集的实时运动相同的速率来存储!因此%从相机到计算机的数据
传输速率和硬盘的存储速率是至关重要的!表>EC
给出了在写本书时常用的相机到计算机
的数据传输速率!由于其数据传输高速率%火线'
=PPP>HI1
(是一种用来采集实时数据的
数码摄像机和计算机之间常用的物理连接!
当播放数字8*
或者*Y*
'光盘和数码多功能光盘(时%数据传输速率也是一个问题!
0!"
数字数据的表示与通信
HH
在这种情况中%没有必要通过网络来传输数据!你已经拥有8*
或者*Y*
!但是%这些
8*
或者*Y*
需要有一个适合你的介质的数据传输速率!例如%一个音乐8*
!音乐的每
段旋律都是由音频采样构成的!如果8*
播放器不能足够快地播放这数据%那么它不可能
以一个正确的速度播放音乐!从D?
世纪C?
年代以来%
8*
播放器的速率稳步地提高!最
早的光盘以>D??NW
+
3
的速率播放!之后的一代可以以这个速率的两倍'
D1??NW
+
3
(播放%
这个速率称为D
倍速!接下来的每一代都是基于最初的8*
播放器的速率!当前C
"
@D
倍
的8*
播放器速率从>D??NW
+
3
"
JC??NW
+
3
!同样%第一代*Y*E<a/
的数据传输速率为
>\HD/S
+
3
%并且每一代都以这个原始基准的倍数来衡量!
!"&"&"#
"
波特率
一个与带宽和数据传输速率意思相近的术语就是波特率!与带宽的情况一样%关于波特
的定义也有些混乱%或者说缺乏一致性!关于波特最精确的定义是,#作为发送和接收装置
的一个性质%信号中每秒的变化数量$!这使得波特是一个以周期每秒%也就是赫兹来衡量
的一个性质!在这个定义下%波特率等同于带宽%而不是位速率!与你在本章前面看到的一
样%如果发送装置使用多于一个的信号级'假设2
个信号级(%那么位速率*
%就可以通过方
程式*ADC.(
+
D
2
得出!因此%从波特率转化到位速率%你不得不考虑多少个信号级是可能
的!然而%就像带宽一样%波特率这个术语使用起来也很随意!电话调制解调器的波特率通
常用位每秒%而不是周期每秒来记录!例如%当前的电话调制解调器经常描述为以@GNW
+
3
的波特率'尽管这实际上是它们的位速率(!根据这种混乱情况%以下是需要明白的重点,
!
因为带宽与数字数据通信相关%所以波特率和带宽的意义接近!它们之间的主要
不同是%波特率通常在涉及发送和接收装置时被用到%而带宽在关系到电波频率
时还有其他的意思!
!
一个装置'如调制解调器(有最大的波特率和实际的波特率!实际的波特率就是发
送者和接收者之间对一个特定通信商定的速率!
!
经常提到的波特率实际上是位速率'但位速率通常就是你想知道的%所以没有坏
处(!确切地说%波特率和位速率的关系由方程式*ADC.(
+
D
2
表示!
旁白%波特率是以R\/\P\S-90(,
#
>C1@
(
>I?H
$的名字来命名的&他是一位法国工
程师&他发明了S-90(,
电报代码和第一台电传打字机&
!"'
"
压缩方法
!"'"!
"
压缩的类型
为了保持原始资源的细节%有必要以高分辨率"动态范围广的量化级对图像"声音和
影像进行数字化!这通常需要数以千计或者数以百万计的采样%假设每个采样为D
"
1
字
节%有时候更大!简单地说%数字媒体文件通常很大%它们需要变小%也就是压缩!没有
压缩%不可能尽可能多地存储文件%而且也不能通过网络传输这些文件%这对接收者的耐
心也是考验!另一方面%也不希望在压缩过程中牺牲数字图像"音频文件和视频的质量!
幸运的是%这些数字媒体文件现在可以显著地减小%并且只有很少的或者几乎不被察觉的
质量损失!
压缩算法可以分成两种基本的类型,无损压缩和有损压缩!无损压缩%正像其名字意
味的%在压缩和解压缩的步骤中没有信息的丢失!压缩将文件大小降低到更少的字节!然
4!
第>
章"
H1
后解压缩将数据值精确地还原到它们压缩之前的样子!而有损压缩牺牲了一些信息!然
而%这些算法损失的信息对人们的理解通常不重要!在图像文件中%可能是眼睛难以察觉
的颜色的微妙变化!在声音文件中%可能是人耳难以感知的频率!
除了有损压缩和无损压缩这两种大概的分类外%你还将看到压缩算法的其他类型%包
括基于词典"熵"算术"自适应"感知和差分的压缩方法!基于词典的方法'例如%
;bX
压缩(使用固定长度代码的查找表%在压缩文件中%一种代码可能对应一串字符而不是单
个字符!熵压缩使用字符频率的统计分析%通过用更短的码字对频繁出现的字符进行编码
实现压缩%每个码字对应一个字符!香农 法诺和哈夫曼编码是熵压缩的例子!算术编码
法得益于一个类似的统计分析%但是用单一的码字对一个文件进行编码而不是为每个字符
创造一个单一的码字!自适应方法在压缩文件的过程中获得关于文件性质的信息%然后调
整编码使之反映每一步所学到的东西!
;bX
压缩是自适应方法%因为代码表是在压缩和
解压缩中即时创建的!如果随着压缩过程频率数进行更新而不是事先收集%那么哈夫曼编
码也可以是自适应的!这种方法随着数据的读取而适应数据的性质!差分编码是无损压缩
的一种形式%通过记录相邻值之间的不同而不是数值本身来减少文件的大小!差分压缩可
以应用到数字图像"音频或者视频!接下来%我们将进一步分析无损压缩的H
个算法!其
他方法将在数字图像"音频和视频的相关章节中进行详细研究!
压缩算法的压缩率是原始文件的大小-
与压缩后文件大小C
的比%表示为-cC
!或者%
可以说C
对-
的百分比!例如%对于被压缩到原始大小一半的文件%可以说达到@?d
压
缩%或者说压缩率是Dc>
!
!"'"#
"
游程编码
游程编码'
<9'E;#'
+
,"P'%(0&'
+
%
<;P
(是无损压缩的一个简单例子%应用于图像压
缩!例如%带有\W6
4
后缀的文件'位图图像的一个/&%5(3(),
版本(选择性地使用游程编
码!将图像文件作为一连串连续像素位置'行和列(的颜色值存储!如果文件是<QS
颜色
模式%那么每个像素有H
字节%其中红色"绿色和蓝色通道各一个!如果文件是灰度模
式%那么每个像素只有>
字节!为简单起见%我们以灰度模式的文件为例'可以直接将这
种算法扩展到每个像素H
字节(!因为每个像素位置用>
字节编码%所以它代表D@G
个灰
度值中的一个'因为D
C
AD@G
%所以C
位可以编码D@G
个不同的东西(!因此%一个灰度图
像文件包括一串数字%每个数字都在?
"
D@@
!假定图像大小为>??[>??
%共计>????
个
像素!再假定这些像素以行优先次序存储%这意味着一整行的数值从左到右存储%然后下
一行也是从左到右%以此类推!
很容易想象%在许多图像中有成串的由重复的灰度值组成的行!游程编码不是以单个
的数值来存储>????
个像素中的每一个%而是存储数偶'
,
%
;
(%
,
表示灰度值%
;
表示连
续像素,
的个数!例如%假设在一个>????
个像素的灰度图像中%前D?
个像素是,
D@@D@@D@@D@@D@@D@@D1DD1DD1DD1DDHCDHCDHCDHCDHCDHCD@@D@@D@@D@@
那么这个序列的游程编码是
'
D@@
%
G
("'
D1D
%
1
("'
DHC
%
G
("'
D@@
%
1
(
让我们比较存储这行像素的游程编码所需要的字节数和最初存储它所需要的字节数!在这
个例子中%以字节为单位'可以计算需要多少位%但是在这个例子中使用字节数就足够证
明这个论点(!没有游程编码%
D?
个像素需要
D?
像素[>
字节#像素AD?
字节
5!"
数字数据的表示与通信
H@
HG
为了确定游程编码所需要的字节数%我们首先需要算出存储每个'
,
%
;
(所需要的字节
数!显然%
,
可以用>
字节来存储%因为它的值在>
"
D@@
!现在我们必须考虑;
可能有多
大!在我们的例子中%图像有>????
个像素!有可能所有的>????
个像素都是同一种颜
色%这时;A>????
!为了存储>????
%需要>1
位'
>????
>?
A>??>>>???>????
D
(!因为我
们假定以字节增量来分配内存%所以这意味着我们需要D
字节!
假设游程编码在预处理步骤来扫描图像文件%以决定颜色的最大游程%这里一个游程
就是一串相同的颜色!把最大游程记作)
!尝试取不同值的情况)
!如果最大游程是H??
%
也就是)AH??
会怎么样* 那么你将需要多少位来存储每个'
,
%
;
(中的第二个值* 你可以
用C
位来表示数字?
"
D@@
%对吗* 所以C
位是不够的%因为不能表示像H??
这么大的数
字!可以用I
位来表示从?
"
@>>
的数字%因此I
位是足够的!
I
位需要D
字节!如果你通
过直觉想想%你应该会得到表示?
"
)
之间的数字所需字节数的通用公式CA
.(
+
D
'
)F>
(
C
!
如果需要D
字节来存储'
,
%
;
(中的;
%那么在上面的例子中%游程编码需要>D
字节而不是
D?
字节来编码这串数值!
现在%如果有一个如下序列将会怎么样*
D@@D@@D@@D@@D1HD1?D1DD1DD1DD1>DHCDHCDHJDHJDHJDHJD@@D@@D@@D@@
这个序列的游程编码将是
'
D@@
%
1
("'
D1H
%
>
("'
D1?
%
>
("'
D1D
%
H
("'
D1>
%
>
("'
DHC
%
D
("'
DHJ
%
1
("'
D@@
%
1
(
在这个实例中%游程编码实际上比最初未压缩的图像需要更多的字节...
D1
而不是D?
!
它在具体实现中会有所不同!不是根据;
可能取的最大值来设定位深度%而是先设定
;
的位深度!如果遇到多于;
个相同颜色的连续像素%那么将游程分为块!例如%如果>
字节用来表示每个;
%那么;
的最大值就是D@@
!如果文件中有>???
个连续的白颜色'颜
色值为D@@
(%那么它们可以表示为
'
D@@
%
D@@
("'
D@@
%
D@@
("'
D@@
%
D@@
("'
D@@
%
DH@
(
图>EDD
"
适于使用游程编
码的简单图像
图>EDD
中的图像是使用游程编码图像的很好的例子!不考虑
图像文件的头信息%该图像包括>??[>??A>????
个像素!使用
游程编码%不考虑文件中的头大小%文件需要>?C1
字节!压缩率
是>????
>?C1
%或者大约为Ic>
!这是一个极好的压缩率%但是显然
大多数图像颜色区域不会这么分明%同时颜色区域也会很多'经
过编码文件的大小通过在应用程序中保存为一个S/2
图像得到%
然后观察这个文件的属性(!
游程编码是一种简单的算法%它给出了某些类型的图像可以
接受的结果%而没有质量损失的风险!应该清楚的是%编码过程
中没有信息丢失!在对文件进行编码和解码后%仍然拥有完全相同的性质!经过编码的值
只是以一种更简洁的方式表示出来!在实践中游程编码是稍有不同的%并不完全是用这里
展示的方式操作%但最主要的原理是一样的!
上面给出的第二个关于游程编码的例子说明了编码结果并不一定是得到小的文件!你应
该注意任何无损压缩算法和任何长度的文件!至少存在一种情况!就是算法没有减少输入文
件大小&为什么必然这样呢* 你应该能够用计数参数证明!让我们一起看看这个参数!
!
考虑任意一个要压缩的文件!不管它是图像"音频还是视频文件%它只是一系列位!
7!
第>
章"
HJ
!
考虑有;
位的所有文件%有多少长度是;
的不同文件* 每个位的数值可以是?
或
者>
!长度为;
的文件就有D
; 个!
!
假定一种无损压缩算法可以在输入文件的时候减少这个文件的大小!如果给这种
算法一个长度为'
的文件%那么将生成一个长度*
;K>
的压缩文件!有多少个长
度*
;K>
的不同文件* 这有>
个?
位文件%
D
个>
位文件%
1
个D
位文件等!因
此%有>FDF1F
-
FD
;K>
AD
;
K>
个这样的文件!
!
这个参数的一个关键是我们正在讨论的是无损压缩算法!因为我们正在考虑的这
种算法是无损的%所以不会出现两个长度为;
的文件被压缩为相同的文件'有长
度*
;K>
的文件(这种情况!如果两个文件确实被压缩为相同的文件%那么在解
压缩的时候%怎么能确定这两个原始文件里哪个是最初的文件呢* 在这样的情况
下%有些信息就会丢失%而这种算法就不是无损的!因此%我们要将每个长度为;
的输入文件恰好对应一个长度*
;K>
的压缩文件!
!
我们已经发现了一个矛盾!长度*
;K>
的文件比长度为;
的文件少!这个参数说明对
于任何无损压缩算法和任何输入文件的长度%存在算法不减少输入文件大小的情况!
无损压缩算法应用于不允许数据丢失的情况!例如%对文本和二进制编码的计算机程
序进行压缩的情况!因此无损压缩算法用于像+
M&
4
和%(6
4
5#33
'
^T=
平台(或者4
NM&
4
和
e&'M&
4
'
X&'0(e3
平台(这样的工具中!声音文件不太适合无损压缩!具有相同数值的连续
音频数据是不常见的%因此<;P
对声音并不是非常有效!图像文件是无损压缩更好的选
择!当对图像文件进行编辑时%尽可能地保持原始数据是可行的!因此%有些图像文件格
式提供像;bX
那样的无损压缩%例如2TQ
和!=77
'更多关于图像文件类型的内容见第H
章(!无损压缩还能用做更复杂算法的一个步骤%算法中包括有损压缩!这就像哈夫曼编
码是R2PQ
压缩算法的其中一步!我们将在第H
章中更详细地研究哈夫曼编码和;bX
压缩!
!"'"%
"
熵编码
克劳德/香农'
8.-90#$"-''('
(在信息论方面的研究表明了无损压缩的限制%指出通
过熵编码方法能获得更好的压缩率!熵编码是通过可变字长编码的方式工作%用更少的位
编码那些出现更频繁的字符%同时用更多的位编码那些罕见的字符!下面香农方程给我们
提供一种方式来判断对不同字符的位数选择是否接近最佳!
借用物理学中的术语熵%香农定义信息源的熵,
关键公式
G
是一串字符!
FH
是字符串中第H
个字符的频率#
FH
也可以定义为出现在字符串任
何位置的第H
个字符$!则
I
#
G
$
.
%
.
+
H
FH
.(
+
D
>
F
' (
H
应用香农熵公式%可以根据每个字符出现的频率来确定一串字符中表示每个字符实例所需
平均位数的一个最佳数值!香农证明这是最佳的!你将更清楚地看到%在下面的例子中这
意味着什么!让我们逐步通过这个例子来更充分地理解熵公式!
考虑正好含有D@G
个像素的图像文件%每个像素代表一种不同的颜色!然后每种颜色
8!"
数字数据的表示与通信
HC
HI
的频率就是>
+
D@G
!因此%香农公式减少为
+
D@@
?
>
D@G
.(
+
D
>
>
$
%
&
'
$
%
&
'
D@G
.
+
D@@
?
>
D@G
'
.(
+
D
'
D@G
((
.
+
D@@
?
>
D@G
'
C
(
.
C
这意味着编码每种颜色所需要的平均位数为C
%根据.(
+
D
D@GAC
这个事实说明这是有意义的!
如果有一个图像文件%它的大多数像素都呈现某几种颜色%而其他颜色的像素则很
少%那么对它如何进行熵编码* 例如%如果有一个D@G
像素的图像文件%图像中只有C
种
颜色%它们的频率如表>E>?
所示!
表!$!/
"
颜色频率
颜色 频率 对颜色编码的最佳位数 文件中颜色的相对频率 列%
和列&
的乘积
黑>?? >\H@G ?\HI> ?\@H?
白>?? >\H@G ?\HI> ?\@H?
黄D? H\GJC ?\?JC ?\DCJ
橙@ @\GJC ?\?D? ?\>>>
红@ @\GJC ?\?D? ?\>>>
紫H G\1>@ ?\?>D ?\?J@
蓝D? H\GJC ?\?JC ?\DCJ
绿H G\1>@ ?\?>D ?\?J@
那么香农公式变为
>??
D@G
.(
+
D
D@G
' (
>??
3
>??
D@G
.(
+
D
D@G
' (
>??
3
D?
D@G
.(
+
D
D@G
' (
D?
3
@
D@G
.(
+
D
D@G
' (
@
3
@
D@G
.(
+
D
D@G
' (
@
3
H
D@G
.(
+
D
D@G
' (
H
3
D?
D@G
.(
+
D
D@G
' (
D?
3
H
D@G
.(
+
D
D@G
' (
H
它的重要性是什么* 让我们看下香农方程怎样应用于压缩!单独考虑每项!第一项对应
于黑色!相对于整个文件的大小%每次黑色字符出现在这个文件中时%它传递.(
+
D
D@G
' (
>??
A
>\H@G
位信息%表示相对于整个文件的大小黑色出现多少次!方程中的第三项对应于黄色!
每次黄色出现%它传递.(
+
D
D@G
' (
D?
AH\GJC
位的信息!言外之意%如果通过等同于它们信息内
容的位数来编码每种颜色%这将是最佳编码!也就是说%不可能以更少的位来编码这个文
件!总体上说%用来表示文件中每个字符实例所需平均位数的最小值是D\??G
!这意味着在
一个最佳压缩文件中%用来编码每个字符实例的平均位数不得少于D\??G
!
香农公式的含意是没必要使用相同的位数来表示每种颜色!如果用更少的位来表示那
些在文件中出现更频繁的字符%那么将会得到一个更好的压缩比!算法>\>
%即香农 法诺
'
$"-''('E7-'(
(算法%描述了香农方程用于压缩的一种方式!它尝试通过分配相对较短的
码字给那些使用频繁的字符来实现一个最佳压缩比%反之亦然!
算法"
!"!
9!
第>
章"
1?
该算法采用自上而下递归的方法%每一次递归将字符分成两半%两部分的字符出现频
率近似相同!该算法产生一个编码树%树枝用?
和>
来标记!从根到叶结点遍历%并记录
?
"
>
序列%得出与叶结点相关的字符代码!在我们所列举的例子中%这棵树如图>EDH
所
示!表示颜色的词都简写了%而且频率都在颜色旁边标明!
图>EDH
"
香农 法诺算法应用于压缩的例子
:!"
数字数据的表示与通信
1>
用于压缩的香农 法诺算法通过算法>\>
中描述的方法实现每个字符的理论最小位数!
在这个例子中%颜色将如表>E>>
中所示的那样进行编码!代码的长度为D
"
1
位!在
这个编码中%每个字符的位数与香农方程所确定的最小值D\??G
有多接近* 所有黑色和白
色的字符都以D
位编码%所有黄色和蓝色的字符以H
位编码等!这说明
'
>??
J
D
(
3
'
>??
J
D
(
3
'
D?
J
H
(
3
'
@
J
1
(
3
'
@
J
1
(
3
'
H
J
1
(
3
'
D?
J
H
(
3
'
H
J
1
(
.
@C1
表!$!!
"
应用香农 法诺算法产生的代码
颜色 频率 代码
黑>?? ??
白>?? >?
黄D? ?>?
橙@ ?>>?
红@ >>>?
紫H ?>>>
蓝D? >>?
绿H >>>>
这些颜色需要@C1
位来编码!对于此文件中的D@G
个字符%每个字符实例平均@C1
D@G
A
D\DC
位%这与香农方程给出的每个字符的最小平均位数是接近的!如果我们假定在压缩
前%每个字符是C
位%那么压缩率就是 C
D\DC
%大约H\@c>
!
你也许还想去考虑问为什么熵这个从物理学借来的词被用在信息论和编码的背景下!
目前关于熵这个词的定义在很多时候是混乱的!然而%在大多数情况下%它的更好定义是
事物排列方式的多样性!这里有一个简单的例子!在一对骰子上%你可以通过G
种不同的
方式掷出J
点%而只有一个方法掷出D
点!因此%
J
这个值的熵比D
这个值大!在后来的
定义中%熵是衡量你能产生一个J
的方法数!这怎么涉及香农公式的* 为什么香农用熵这
个术语来描述在一串字符中用来表示每个字符所需要最小平均位数* 你可以通过这种方法
思考!文件大小一定%包含的符号数越多%使用香农公式计算出的熵值越大!因为字符越
多%那些字符就有越多独特的排列方式%所以它具有更大的熵!因此%每个编码字符传递
更多信息%而你需要大量截然不同的编码!
对于我们的目的%更重要的是%当看到术语熵编码涉及数字媒体时%应该明白它的含
意是基于文件或者被编码数据类型的统计分析!该分析可以给出在一个将被编码的实际文
件中每个字符出现的频率!或者%该统计会给出某些字符将会在某类型文件中出现的可能
性!例如%在文本文件中%我们可以预期某些字符将会比其他字符出现得更加频繁!字母
#
在英语文本中频繁出现%而U
和Z
较为少见!两种分析可以用于创建基于熵编码的频率
表!熵编码还意味着可变字长编码!压缩的好处源于使用较短的编码来代替更频繁出现的
字符!
哈夫曼编码是另一种类型的熵编码%它在图像压缩中十分有用!我们将在第H
章中看
到它使用基于可变字长编码的相同统计策略%同时提高香农 法诺算法的压缩率!
!"'"&
"
算术编码
香农 法诺算法的一个缺点是必须单独处理每个字符&每个字符有它自己的编码%而
=0
第>
章"
1D
1H
那些编码必须通过一个整数位来表示!哈夫曼编码有同样的缺点!通过香农公式%我们可
以证明用非整数编码可以获得一种最佳编码!在上面的例子中%如果用>\H@G>
位来编码
黑色和白色%用H\GJC>
位来编码黄色和蓝色%用G\@JC>
位来编码橙色和红色%而用
G\1>@
位来编码紫色和绿色可能%那么可以得到最佳压缩率'通过.(
+
D
>
F
' (
H
给出每个值(!
问题在于使用香农 法诺算法时%因为我们不得不对每个编码使用整数位%所以最佳编码
是不可能的!
算术编码克服了香农 法诺算法的一些缺点!像香农 法诺算法一样%算术编码基于文
件中字符频率的统计分析!但是%不同之处在于%它不是为字符创建一个编码%而是对整
个文件'或者一串字符(进行编码获得更大的压缩率!
在算术编码中%用简单的浮点数对一串字符进行编码!理论上%为了满足压缩的要
求%可以使用任意位数的浮点数%浮点数的位数无限制%即意味着其精度无限制%但这是
不可能的!让我们先把这问题放一边!稍后%我们将给出一张关于算术编码是怎样实现的
草图%但是目前让我们专注于最基本的思想!
算术编码采用与熵编码相同的策略%从输入文件中的一系列的字符和它们的出现频率
开始!假设一个文件包含>??
像素%共@
种颜色,黑'
]
("白'
X
("黄'
f
("红'
<
(和蓝
'
S
(!文件中每种颜色出现的频率在表>E>D
中给出!这些频率用?
"
>
的数字表示%在第
二列中给出!每种颜色字符指定了一个概率区间%大小对应它们出现的频率%在第三列中
给出!
?
"
>
构成概率范围%一个字符对应的部分是一个概率区间!例如%黑色的概率区
间为?
"
?\1
'假定这些是半开区间%例如0
?
%
?\1
((!只要编码器和解码器使用相同的颜色
顺序%那么概率范围内颜色的顺序并不重要!
表!$!#
"
文件中各颜色的频率
颜色 使用像素数计算的各颜色频率 对应字符的概率区间
黑'
]
(
1?
+
>??A?\1 ?
"
?\1
白'
X
(
D@
+
>??A?\D@ ?\1
"
?\G@
黄'
f
(
>@
+
>??A?\>@ ?\G@
"
?\C
红'
<
(
>?
+
>??A?\> ?\C
"
?\I
蓝'
S
(
>?
+
>??A?\> ?\I
"
>\?
现在我们只考虑文件中的前G
个像素来简要说明算法!这些像素有白"黑"黑"黄"
红和蓝等颜色%用字符X
"
]
"
]
"
f
"
<
和S
来表示!算术编码算法通过连续地缩小?
和>
之间'见表>E>H
(的范围来指定一个浮点数给一串字符!在我们的例子中%第一个字符
是X
!这意味着编码整串字符的浮点数将位于分配给X
的概率区间之间%为?\1
"
?\G@
%
如图>ED1
所示的第二步!
表!$!%
"
编码例子问题的数值
范围 概率区间的低值 概率区间的高值 字符
>K?A> ?F>[?\1A?\1 ?F>[?\G@A?\G@
白
?\G@K?\1A?\D@ ?\1F?\D@[?A?\1 ?\1F?\D@[?\1A?\@
黑
?\@K?\1A?\> ?\1F?\>[?A?\1 ?\1F?\>[?\1A?\11
黑
?\11K?\1A?\?1 ?\1F?\?1[?\G@A?\1DG ?\1F?\?1[?\CA?\1HD
黄
?\1HDK?\1DGA?\??G ?\1DGF?\??G[?\CA?\1H?C ?\1DGF?\??G[?\IA?\1H>1
红
?\1H>1K?\1H?CA?\???G ?\1H?CF?\???G[?\IA?\1H>H1 ?\1H?CF?\???G[>A?\1H>1
蓝
>0"
数字数据的表示与通信
11
图>ED1
"
算术编码的例子
第二个字符是]
!在第二步中%范围的大小为?\D@
%位于?\1
"
?\G@
!
]
最初分配的
概率区间为?
"
?\1
!第三步%想要缩小概率范围从而使它位于?\1
"
?\1F?\D@[?\1
!因
此%第三步中它的范围是?\1
"
?\@
!在连续的步骤中%我们依照该字符的大小和位置缩小
这个范围%正如算法>\D
描述的那样!最后一步中%这范围的低值可以作为整个字符串的
编码!我们已经通过只考虑文件中的前G
个像素来简短地说明我们的例子%但是思想是一
样的!
算法"
!"#
!0
第>
章"
1@
解码的过程如下所示!给定一个浮点数%你可以从初始概率范围开始%通过寻找浮点
数适合的概率区间得出编码字符串的第一个字符!假设我们前面例子的最终编码是
?\1H>HJ
!数字?\1H>HJ
适合已分配给X
的概率区间%因此X
是这个编码字符串的第一
个字符!现在通过减去X
概率区间的低值来删除X
区间的缩放比例%并除以X
区间的
大小%得到
'
?\1H>HJ
B
?\1
(+
?\D@
.
?\>D@1C
值?\>D@1C
在]
的概率区间中!因此%减去]
的低范围'
?
(%并除以]
的区间大小
'
?\1
(%得到
?\>D@1C
+
?\1
.
?\H>HJ
这个值还是在]
的概率区间中!
表!$!&
"
例子问题中的解码数值
浮点数!
$代表代码概率区间大约为
!
的字符
字符概率
区间的低值
字符概率
区间的高值
字符概率
区间的大小
?\1H>HJ X ?\1 ?\G@ ?\D@
'
?\1H>HJ
B
?\1
(+'
?\G@
B
?\1
(
.
?\>D@1C ] ? ?\1 ?\1
'
?\>D@1C
B
?
(+'
?\1
B
?
(
.
?\H>HJ ] ? ?\1 ?\1
'
?\H>HJ
B
?
(+'
?\1
B
?
(
.
?\JC1D@ f ?\G@ ?\C ?\>@
'
?\JC1D@
B
?\G@
(+'
?\I
B
?\G@
(
.
?\CI@ < ?\C ?\I ?\>
'
?\CI@
B
?\C
(+'
?\I
B
?\C
(
.
?\I@ S ?\I >\? ?\>
计算过程与算法>\H
的解码程序描述的一样%表>E>1
给出数值!尽管我们的例子效
果很好%小数点后最多有@
位数%但你应该明白更大的字符串将需要非常高精度的算法!
实际上%它的出现使得算术编码在实现时不切实际%但是针对这个问题仍然有解决方法!
算法"
!"%
在实际的算术编码实现时%主要使用整数运算和移位运算%而不需要无限精确的浮点
运算'实际上%根本没有使用任何浮点运算(!这里没有讨论的其他问题已经在各种的实现
中解决了%包括怎样终止输入字符串和怎样加速费时的压缩方法!以下是关于算术编码应
该注意的重要事项,
!
算术编码法是熵编码的一种形式%其中一个符号在压缩字符串中的位数与这个字
符在原始输入字符串中出现的概率是成比例!
!
在算术编码中%将整个输入字符串作为一个值来编码!相比之下%哈夫曼编码'熵
00"
数字数据的表示与通信
1G
1J
编码的另一个例子(对每个符号进行可变字长编码!
!
因为算术编码理论可以对一个字符进行小数位数的编码%所以它比哈夫曼编码更
接近最佳!
!
算术编码可以用做图像R2PQ
压缩中的一个步骤!
!
=S/
和其他公司在算术编码算法上持有专利权!
!"'"'
"
变换编码
到现在为止%我们所看的压缩算法都是无损的!一个数字图像"音频或者视频文件可
以通过这些算法进行压缩%原始数据在解压缩时可以完全重构'不考虑浮点运算导致的舍
入误差(!
无损压缩方法的缺点是它们不是总能充分地压缩%特别是对于大的音频和视频文件!
这就需要有损压缩方法!幸运的是%这些方法丢失的信息对声音或者图像的质量相对不那
么重要!
有损压缩方法通常基于变换编码!它的思想是改变数据的表示方式%从而使声音或视
觉细节不丢失%而丢失的部分则超出了人类的感知范围!数字媒体中最常见的两种变换是
离散余弦变换'
*&3%5#,#8(3,&'#!5-'3)#5
%
*8!
(和离散傅里叶变换'
*&3%5#,#7(95
!5-'3)#5
%
*7!
(!你应该注意它并不是有损变换!
*8!
和*7!
中没有数据损失!然而%
当一个变换用做压缩算法的一步时%为了减少数字文件的大小%可能在以后的步骤中摒弃
多余的或者无关的信息!这就是压缩过程中损失的那部分!
离散余弦变换应用于数字图像%将数据的表示从空间域改变为频域!在本章前面%介
绍了图像频率的概念%在第D
章中将进行更详细的讨论!这里%我们要指出的是%使用
*8!
将图像数据变换为频域可以作为压缩的第一步!一旦你分离出了一个图像的高频分
量%你就可以删除它们!高频分量相当于在一个小的空间内颜色的快速波动%这些变化人
眼很难看到!当该信息被删除时%压缩过程的后面步骤'例如哈夫曼编码(将会更有效!我
们刚才描述的是R2PQ
压缩的基础!
离散傅里叶变换应用于声音%将它从时间域变换为频域!频率分量分离出来后%就可
以确定哪些频率屏蔽或者妨碍了其他频率%进而摒弃这些被屏蔽的频率!通过这种方法%
变换编码接下来是感知编码%而结果将是一个更小的音频文件!
!"'"(
"
压缩标准和编解码器
本章到目前为止%我们已经介绍了压缩方法的类型和概念!实际上%压缩算法通过各
种各样的方式实现%这些方式都在细节上调整和优化了!彼此相互结合的方法很常见%如
R2PQ
和/2PQ
压缩结合了*8!
"可变字长编码和哈弗曼编码用于对图像的压缩!有些
算法被官方委员会标准化从而使得各种各样的实现生成相同格式的文件!如果一个标准化
的算法获得了专利%那么商业公司必须付一些许可费来实现该算法%然后以商业产品卖
掉!标准化压缩算法的两个突出例子是用于数字视频摄录的*Y
和/2PQ
算法家族!算
术编码也是专利涉及的图像压缩算法的一个例子!
压缩算法的具体实现称为编解码器%即压缩+解压缩的简称!因为实时解压缩与这些
基于时间的媒体的初始压缩一样重要%所以编解码器这个词通常用于音频或者视频压缩
'相对于静止图像(!有些编解码器作为共享或者免费软件提供!大多数编解码器是商业产
40
第>
章"
1C
品!编解码器可以嵌入图像"音频或者视频处理程序%或者单独出售和使用!
$(5#'3('
是
编解码器的一种%它嵌入其他环境'例如V9&%N!&6#
(中%除了其他应用程序外%也可以用
于专业级版本中!专业级的$(5#'3('
压缩器实际上是一系列的编解码器%包括/2PQ
和
*Y
压缩以及标准$(5#'3('
编解码器!
对于大多数的编解码器%用户可以按照预期的质量来调整压缩速率%最大到该编解码
器的最大压缩能力!可以根据质量进行选择%可能是一个百分比或从>
"
>?
的比率!另
外%可以选择不同的位速率进行压缩!位速率表示每秒传输的位数!位速率和压缩率成反
比例关系!提高压缩率就会降低位速率!如果数据压缩后有越少量的位%那么每秒需要传
输越少的位来实时播放声音或者视频!较低的位速率使得在较低传输率的设备上播放该媒
体成为可能%如8*E<a/
而不是*Y*
播放器!然而%压缩率越高%与原始未压缩的音频
相比声音质量降低的可能性就越大!幸运的是%压缩算法已经得到改进%它们能够以高速
率压缩音频和视频而不会过度牺牲质量!
表>E>@
列出了标准压缩算法或者专利算法以及流行的编解码器'在写本章时(!这些
算法和编解码器将会在数字音频和数字视频的相关章节进行深入的研究!
表!$!'
"
标准压缩算法和专利压缩算法及编解码器的例子
标准压缩算法和专利压缩算法的例子
算法 源材料 开发商 压缩率%位速率 注释
"
;bX
及其变体 静止图像!
;#6
4
#.
"
b#_
和X#.%"
!
随输入变化
!
同种颜色的大量连续部
分的图像效果最好
!+
&)
文件的最佳压
缩算法
!
,&))
文件的可选压
缩算法
!
优利'
'&3
O
3
(系
统持有;bX
的专
利直到D??H
"
算术编码 静止图像
!
由$"-''('
"
P.&-3
"
R#.&'#N
"
2-3%(
"
<&33-'#'
"
和;-'
+
0('
改进
!
随输入变化
!
通常好于哈弗曼编码
!
已经创建了大量
的变体%多数被
=S/
申请专利
"
/2H
'
/P2QE>
%
音频层$
(
音频
!
由 弗 劳 恩 霍 夫 社 会
'
75-9'"()#5$(%&-.
(学
院发明并申请专利
!
>?c>
或者更大的压缩率
!
通常用于位速率为IG
"
>IDNW
+
3
!
;-6#
是一个开源
的/2H
编 码 器%
提 供 位 速 率 为
>DCNW
+
3
或者更高
的高质量压缩
"
::8
'高级音频编
码&
/2PQED
版本已
更新到/2PQE1
(
音频
!
由杜比'
*(.W
O
(实验室和
其他 开 发 者 共 同 申 请
专利
!
通常以高于/2HD@d
"
1?d
的 压 缩 率 获 得 与
/2H
同等的质量
!
记录的位速率为G1NW
+
3
%同时质量良好
!
当 用 在 苹 果 的
&2(0
中 时 得 到
认可
!
以 大 于>DCNW
+
3
的 位 速 率 用
于<#-.:90&(
"
/2PQE>
%
D
%
1
音频或者视频
!
由=$a
+
=P8
的一个研究
小组开发
!
见=$a
+
=P8 >>>JD
'
/2PQE>
("
=$a
+
=P8
>HC>C
'
/2PQED
("和
=! E! L\D??
'
/2PQE
1
(
!
/2PQE>
为>\@/W
+
3
!
/2PQED
为1/W
+
3
!
/2PQE1
为@NW
+
3
"
>?/W
+
3
!
/2PQJ
和D>
是接下来
的标准
!
标准最初主要是
为了给位定义一
个统一的格式以
及制定同步和复
用的方法
!
通过各种各样的方
式实现编码%例如
*&_
和$(5#'3('
50"
数字数据的表示与通信
1I
'续(
标准压缩算法和专利压缩算法的例子
算法 源材料 开发商 压缩率%位速率 注释
"
*Y
'数字视频( 视频
!
>?
个 公 司 联 合,松
下"索尼"胜利公司"
飞利浦"三洋"日立"
夏普和%汤姆逊多媒
体公司"三菱和东芝
!
通常@c>
!
像R2PQ
和/2PQ
%
使用离散余弦变换
!
摄像机的用户视
频格式%记录在
盒式磁带中
!
在视频被记录时
压缩
!
通过火线传送到
计算机
流行的编解码器的例子
编解码器 源材料 开发商 压缩率%位速率 注释
"
=/::*28/
'互动
式多媒体协会自适应
差分脉冲编码调制(
音频!
苹 果%移 植 到X&'E
0(e3
!
>G
位样本的1c>
压缩
!
内置在V9&%N!&6#
中
!
/-%
和X&'0(e3
版本之间存在某
些不兼容的地方
!
可与=! Q\JDG
和
Q\JDJ :*28/
的
国际标准相比
!
有点过时
"
Y(5W&3
音频
!
非专属性"非专利格
式%由非盈利基金会
开发
!
位速率可与/2H
和
:88
相比%具备良好
的质量
!
一个压缩算法的
族%最成功的一
个是a
++
Y(5W&3
"
7;:8
'自由无损
音频编解码(
音频
!
非专属性"非专利格
式%由非盈利基金会
开发
!
压缩率为>\1c>
"
H\Hc>
!
一 种 无 损 压 缩
算法
"
$(5#'3('
视频!
$(5#'3('/#0&-
!
各种压缩率%包括高
质量的高压缩率
!
在#
4
5(
$版本中有
一组可用的编解
码器
!
标准$(5#'3('
编
解码器是V9&%NE
!&6#
的一部分
!
该组其他编解码
器 提 供/2PQE1
和:Y8
压缩
"
='0#(
视频!
=',#.
%后 来 由;&
+
(3
获得
!
8*
音质压缩'
H@D[
D1?
分 辨 率T!$8
%
>\11/W
+
3
位 速 率(%
可与/2PQE>
相比
!
可以设置压缩质量
!
比8&'#
4
-N
更快的
压缩
!
背景完全静态的
图像的压缩质量
比较好
"
8&'#
4
-N
视频!
最初由$9
4
#56-%<-0&93
开发!
8*
音质压缩
!
最初对D
倍8*E
<a/
比较好
!
压缩比解压缩时
间长
!
可以应用于V9&%NE
!&6#
和X&'0(e3
电影的视频
"
*&_
视频!
*&_
!
记录>?c>
!
压缩视频从而可以通
过*$;
或者线缆调制
解调器下载
!
使用/2PQE1
标准
70
第>
章"
@?
@>
!"(
"
数字媒体的标准和标准化组织
在>\@
节%我们讨论了多媒体算法和数据标准%从而使得应用程序和硬件能够相互通
信!在多媒体的研究中%你将遇到对制定标准的组织和工作小组的引用%因此你需要熟悉
他们的名字和首字母缩略词!有关标准的主题是很复杂的%本书都围绕这个主题!我们只
是想让你熟悉标准的主要类型和主要的标准化组织!如果在工作中你需要知道得更多%你
可以从那里得到!
标准可以分为三种主要类型,专有的"事实的和官方的!专有标准由商业公司建立并
申请专利!他们在其中说明了标准的实现方法%并希望从他们的设计和发明中获利!尽管
有些人认为太多专有标准的存在会导致行业缺乏连贯性和互操作性%从而减缓了行业发
展&但是从另一个角度来看%与更好的专有标准竞争%会产生更新和更好的产品!
;bX
压缩和算术编码是专有标准的范例!
术语事实标准用来描述一种方法或者格式%这些方法在行业内已经被认可但没有任何
官方认可!例如%
!=77
文件被许多人认为是图像文件的事实标准!几乎全部图像处理程
序和操作系统都能处理!=77
文件!
官方标准是由大的产业联盟和政府机构一起开发的!这些组织可以以国家或者国际的
形式存在!你应该熟悉的主要国际标准化组织是国际电信联盟'
=',#5'-,&('-.!#.#%(669E
'&%-,&(' '&('
%
=!
("国际标准化组织'
=',#5'-,&('-.a5
+
-'&M-,&(')(5$,-'0-50&M-,&('
%
=$a
(和国际电工委员会'
=',#5'-,&('-.P.#%,5(,#%"'&%-.8(66&33&('
%
=P8
(!
=!
'以前称为88=!!
(是一个国际组织%是政府和私营部门协调全球电信网络和服务
的组织!它有一些监管权力%例如分配无线电频带!它分为三个部分,
=! E!
用于电信标
准"
=! E<
用于无线通信和=! E*
用于通信发展!这些标准与多媒体最相关的是Q
和L
系列!
Q
系列覆盖语音编码和电话通信!例如%
Q\J??
系列涉及使用像:*28/
方法的模
拟数字电话的编码!
L
系列属于实时数字音频和视频通信的领域!例如%
L\HDH
是一个
声音和视频分组标准'交换网络%例如因特网(!
L\DGD
给出了/2PQ
压缩的标准!
=$a
是一个国际组织%它开发了行业和商业标准%它是由来自各个国家标准组织的代
表组成!美国国家标准协会'
T-,&('-.$,-'0-50='3,&,9,#
%
:T$=
(是代表美国的机构!与
=$a
有密切合作的是=P8
%它制定电气"电子和相关技术的标准!
=$a
和=P8
已经形成了
一个联合委员会%称为=$a
+
=P8R!8>
!而且通过这个委员会%他们开发了信息技术的标
准!例如%
=$a
+
=P8>>>JD
标准定义了/2PQE>
%
=$a
+
=P8>HC>C
定义了/2PQED
!
!")
"
用于数字媒体研究的数学建模工具
本书关注数学"科学和数字媒体背后的算法%从而让你能够更加了解和控制相关工作
环境!随着你通过后面章节的学习%你或许经常发现用曲线图表示函数"可视化波形和用
实际值解决问题是有益的%这样你能自己看到结果%而不只是抽象的讨论!数学建模工具
在这方面很有用!
/:!;:S
是为了实现该目的广泛使用的一种工具!第>
章的在线教程
展示了怎么样使用/!:;:S
对波形建模!即使你不能使用/:!;:S
%你也应该详细学
习该教程%因为它包含了用于对数字声音和图像的波形进行建模的介绍'
a%,-_#
是与
/:!;:S
功能类似的免费软件(!
使用第>
章中的名字"术语和基本概念%你现在应该准备好了更加深入地学习每个媒
80"
数字数据的表示与通信
@D
体!选择你的重点%或者完全囊括%而且不要忘记看在线学习补充材料%包括工作表"练
习"交互演示和教程!
练习
>\
下面的正弦波的频率是多少周期每秒* 它的角频率是多少*
图>ED@
"
正弦波
D\
一个频率为GG?LM
的正弦波%其方程式是什么*
H\
有一个C
位的"多种颜色的区域%它缺少你想看到的从一种颜色到下一种颜色的微妙渐变!这是一种
失真现象还是量化误差* 请解释!
1\
如果你正在记录一个音频文件%而且你期望这个文件的最高频率为>????LM
%那么你可以确保音频不
会失真的最小采样率是多少*
@\>D
位可以表示多少不同的颜色*
G\
不可以用>G
位尽可能广泛地表示颜色范围%对吗* 解释你的答案!
J\
根据计算机科学家使用的千字节"兆字节和千兆字节%
1DJG?>D???
字节等于多少千字节"多少兆字
节和多少千兆字节*
C\
每个样本用C
位来表示的声音文件%其信噪比是多少*
I\
计算>
分钟未压缩视频所需要的字节数%这个视频拥有JD?[@JG
像素+帧"
D@
帧+秒"
H
字节+像素和
立体8*
音质的音频!
>?\
一个拥有H/LM
带宽"使用1
种不同信号级的通信介质%其数据传输速率是多少*
>>\
对以下灰度值序列计算游程编码!解释你的编码策略%并计算压缩率!
D1?D1?D1?D1?D1?D1?D1?DHCDHCDHCDHCDHCDH?DH?DH?DH?DDIDDCDDCDDJDDJDDJDDJDDJDDJ
DDJDDJDDJDDJDDJDDJDDJDDJDDJDDJDDJDDJDDJDDJDDJ
>D\
基于下面的频率表%设计一个图像文件的香农 法诺编码!使用香农熵公式填写下表!然后比较你编
码的每种颜色的平均位数与香农熵公式的最小平均位数!
颜色 频率 编码此颜色的最佳位数 文件中此颜色的相对频率 第%
列和第&
列的结果
黑D??
白>J@
黄I?
橙J@
红J?
紫H@
蓝D?
绿>?
90
第>
章"
@H
>H\
假设有>??
个像素的图像!这个图像的前G
种颜色是X ]fS<f
!基于下面的频率表%设计算术
编码的前G
步!
颜色 相对于文件中总像素数的频率 字符的概率区间
黑'
]
(
1?
+
>??A?\1 ?
"
?\1
白'
X
(
H?
+
>??A?\H ?\1
"
?\J
黄'
f
(
>@
+
>??A?\>@ ?\J
"
?\C@
红'
<
(
>?
+
>??A?\> ?\C@
"
?\I@
蓝'
S
(
@
+
>??A?\?@ ?\I@
"
>\?
>1\
计算机技术正在迅速地变化!在写本书时%表>EC
和表>EI
列出了常见通信线路和存储设备的数据传
输速率!如果有提供更快数据传输速率的新技术可用%相应地更新该表!
>@\
本章描述的算术编码算法在接近计算机有无限精确算法的能力下运行%当然这是不可能的!做一些
研究来找出怎样使得该算法变得实用!
>G\
使用/:!;:S
对数字声音和图像建模%互动教程%在线!
>J\
对声音波形建模%数学建模练习%在线!
>C\
对图像波形建模%数学建模练习%在线!
应用
>\
在下列种类中%列出对数字媒体研究可用的软件,
!
数字图像处理
!
矢量图形
!
数字声音处理
!
数字视频
!
多媒体程序设计
当你购买计算机的时候%它含有哪些软件* 计算机中你能访问的哪些软件可用* 你喜欢什么类型
的多媒体研究* 你需要什么软件来进行研究* 比较每种产品的特点!进行一些网络调查找出什么是可
用的%以及每一个软件的价格!你买得起哪些* 如果有多种软件超出了你的价格范围%看看你能否找
到更便宜的比例缩小的版本%或者免费软件或者共享软件来替代!如果你只想用特定的应用程序%如
果有的话找到它们的试用版!尽管有些时候这些版本不提供整个程序所有的特点%但你通常可以免费
使用一个试用版H?
天!
D\
在以下的种类中%看看你的计算机和其他硬件的规格说明书%从而确定它对数字媒体研究的适应性,
!
内存的大小
!
硬盘空间的大小
!
处理器速度
你的计算机满足最低要求的数字媒体软件吗* 你会用它吗*
H\
随着你对本书的研究%你将学到怎样建立和编辑数字图像"声音和视频!最后的章节将向你介绍多媒
体创作语言%如*&5#%,(5
"
7.-3"
和R-_-
%你可以将图像和声音放一起!一种将你的所学都连在一起的
方法是随着你对本书的研究%开发一个长期项目!这里是一些建议,
!
一个游戏程序'如一字棋"黑白棋"宝石棋"四子棋"金头脑或者单人纸牌(!
!
一个互动教程'如#怎么做长除法$"#怎么更换轮胎$或者不管什么你想教的东西(!
!
你自己互动的履历和你的研究作品文件夹!
!
一个交互式商业网站!
""
计划一个将你在本书中所学的媒体都连在一起的项目!确定你的项目所需要的媒体!只是为了练
习%你可以尽量多地合并各种类型的媒体'数码照片"矢量图形动画"数字音频"
/=*=
和数字视频(!
:0"
数字数据的表示与通信
@1
@@
当你详细学习这些章节中的各种媒体时%开发你的项目所需要的资料!例如%假定如果你正在建立一
个跳棋游戏的游戏程序%当你学习第D
章和第H
章时%建立启动画面的数字图像&学习第1
章和第@
章时%建立数字音频和/=*=
音乐&学习第G
章和第J
章时%建立数字视频!然后在第C
章中%你将
学习怎样用多媒体编辑环境和语言将这些编织在一起!
""
其他练习和应用程序可以在本书或者作者的网站上找到&
参考文献
出版物
网站
=4
第>
章"
@G
"
"
@J