《多媒体技术基础》第3版练习与思考题参考答案林福宗清华大学计算机科学与技术系2008-2-15linfz@mail.tsinghua.edu.cn第1章多媒体技术概要1.1多媒体是什么?多媒体是融合两种或者两种以上媒体的一种人-机交互式信息交流和传播媒体。使用的媒体包括文字、图形、图像、声音、动画和视像(video)。1.2超链接是什么?超链接(hyperlink)是两个对象或元素之间的定向逻辑链接,是一个对象指向另一个对象的指针。建立互相链接的这些对象不受空间位置的限制,可在同一个文件、在不同的文件或在世界上任何一台连网计算机上。1.3超文本是什么?超文本是包含指向其他文档或文档元素的指针的电子文档。与传统的文本文件相比,它们之间的主要差别是,传统文本是以线性方式组织的,而超文本是以非线性方式组织的。这种文本的组织方式与人们的思维方式和工作方式比较接近。1.4无损压缩是什么?无损压缩是用压缩后的数据进行重构(也称还原或解压缩),重构后的数据与原来的数据完全相同的数据压缩技术。无损压缩用于要求重构的数据与原始数据完全一致的应用,如磁盘文件压缩就是一个应用实例。根据当前的技术水平,无损压缩算法可把普通文件的数据压缩到原来的1/2~1/4。常用的无损压缩算法包括哈夫曼编码和LZW等算法。1.5有损压缩是什么?有损压缩是用压缩后的数据进行重构,重构后的数据与原来的数据有所不同,但不影响人对原始资料表达的信息造成误解的数据压缩技术。有损压缩适用于重构数据不一定非要和原始数据完全相同的应用。例如,图像、视像和声音数据就可采用有损压缩,因为它们包含的数据往往多于我们的视觉系统和听觉系统所能感受的信息,丢掉一些数据而不至于对图像、视像或声音所表达的意思产生误解。1.6SGML是什么语言?SGML语言的精华是什么?HTML是什么语言?HTML语言与SGMI语言是什么关系?1
1 《多媒体技术基础》第 3 版 练习与思考题参考答案 林福宗 清华大学计算机科学与技术系 2008-2-15 linfz@mail.tsinghua.edu.cn 第1章 多媒体技术概要 1.1 多媒体是什么? 多媒体是融合两种或者两种以上媒体的一种人-机交互式信息交流和传播媒体。使用的 媒体包括文字、图形、图像、声音、动画和视像(video)。 1.2 超链接是什么? 超链接(hyper link)是两个对象或元素之间的定向逻辑链接,是一个对象指向另一个对象 的指针。建立互相链接的这些对象不受空间位置的限制,可在同一个文件、在不同的文件或 在世界上任何一台连网计算机上。 1.3 超文本是什么? 超文本是包含指向其他文档或文档元素的指针的电子文档。与传统的文本文件相比,它 们之间的主要差别是,传统文本是以线性方式组织的,而超文本是以非线性方式组织的。这 种文本的组织方式与人们的思维方式和工作方式比较接近。 1.4 无损压缩是什么? 无损压缩是用压缩后的数据进行重构(也称还原或解压缩),重构后的数据与原来的数据 完全相同的数据压缩技术。 无损压缩用于要求重构的数据与原始数据完全一致的应用,如磁盘文件压缩就是一个应 用实例。根据当前的技术水平,无损压缩算法可把普通文件的数据压缩到原来的 1/2~1/4。 常用的无损压缩算法包括哈夫曼编码和LZW等算法。 1.5 有损压缩是什么? 有损压缩是用压缩后的数据进行重构,重构后的数据与原来的数据有所不同,但不影响 人对原始资料表达的信息造成误解的数据压缩技术。 有损压缩适用于重构数据不一定非要和原始数据完全相同的应用。例如,图像、视像和 声音数据就可采用有损压缩,因为它们包含的数据往往多于我们的视觉系统和听觉系统所能 感受的信息,丢掉一些数据而不至于对图像、视像或声音所表达的意思产生误解。 1.6 SGML是什么语言?SGML语言的精华是什么?HTML是什么语言?HTML语言与SGML 语言是什么关系?
(1)1986年国际标准化组织(ISO)采用的信息管理标准。该标准定义独立于平台和应用的文本文档的格式、索引和链接信息,为用户提供一种类似于语法的机制,用来定义文档的结构和指示文档结构的标签。(2)SGML的精华是把文档的内容与样式分开处理。(3)HTML是用来创建超文本文档的标记语言,也是创建Web网页用的标记语言。(4)HTML是SGML的一个子集。17有人认为“因特网就是万维网”,这种看法对不对?为什么?(1)不对。(2)因特网是专指全球范围内最大的、由众多网络相互连接而成的、基于TCP/IP协议的计算机网络:万维网是指分布在全世界所有HTTP服务器上互相连接的超媒体文档的集合。1.8组成万维网的4个核心部分是什么?(1)超文本传输协议(HTTP):(2)文档格式标准,包括HTML,XML,XHTML(3)执行HTTP协议的Web浏览器;(4)执行HTTP协议的Web服务器。1.9H.261~H.264和G.711~G.731是哪个组织制定的标准?国际电信联盟(ITU)。1.10MPEG-1,MPEG-2和MPEG-4是哪个组织制定的标准?ISO/IEC,即国际标准化组织(ISO)/国际电工技术委员会(IEC)。1.11因特网标准是哪个组织制定的标准?因特网标准是ISOC(因特网协会或称互联网协会)协调的4个组制定的。ISOC负责协调的4个组:(1)因特网工程特别工作组IETF):(2)因特网体系结构研究部(IAB):(3)因特网工程指导组(IESG):(4)因特网研究特别工作组(IRTF)。1.12HTML和XML语言是哪个组织制定的标准?万维网协会(WorldWideWebConsortium,W3C)。1.13阐述你对数据、内容、信息、知识和智慧的理解。(1)数据(data)是以数字、字符或图像等可读语言或其他记录方法表示的事实、概念或指令,适用于人或自动装置进行通信、解释或处理。数据本身没有意义,通常需要在一定的语义环境中才有意义(2)内容(content)是对数据的描述,(3)信息(information)是对内容的解释,信息是数据的含义(4)知识(knowledge)是在某个感兴趣领域中的事实、概念和关系。(5)智慧(wisdom)是知识累积后产生的洞察力、判断力和发明创造能力。2
2 (1) 1986 年国际标准化组织(ISO)采用的信息管理标准。该标准定义独立于平台和应用的 文本文档的格式、索引和链接信息,为用户提供一种类似于语法的机制,用来定义文档的结 构和指示文档结构的标签。 (2) SGML的精华是把文档的内容与样式分开处理。 (3) HTML是用来创建超文本文档的标记语言,也是创建Web网页用的标记语言。 (4) HTML是SGML的一个子集。 1.7 有人认为“因特网就是万维网”,这种看法对不对?为什么? (1) 不对。 (2) 因特网是专指全球范围内最大的、由众多网络相互连接而成的、基于TCP/IP协议的 计算机网络;万维网是指分布在全世界所有HTTP服务器上互相连接的超媒体文档的集合。 1.8 组成万维网的 4 个核心部分是什么? (1) 超文本传输协议(HTTP); (2) 文档格式标准,包括HTML,XML,XHTML; (3) 执行HTTP协议的Web浏览器; (4) 执行HTTP协议的Web服务器。 1.9 H.261~H.264 和G.711~G.731 是哪个组织制定的标准? 国际电信联盟(ITU)。 1.10 MPEG-1,MPEG-2 和MPEG-4 是哪个组织制定的标准? ISO/IEC,即国际标准化组织(ISO)/ 国际电工技术委员会(IEC)。 1.11 因特网标准是哪个组织制定的标准? 因特网标准是ISOC(因特网协会或称互联网协会)协调的 4 个组制定的。 ISOC负责协调的 4 个组:(1) 因特网工程特别工作组(IETF);(2) 因特网体系结构研究 部(IAB):(3) 因特网工程指导组(IESG);(4) 因特网研究特别工作组(IRTF)。 1.12 HTML和XML语言是哪个组织制定的标准? 万维网协会(World Wide Web Consortium, W3C)。 1.13 阐述你对数据、内容、信息、知识和智慧的理解。 (1) 数据(data)是以数字、字符或图像等可读语言或其他记录方法表示的事实、概念或指 令,适用于人或自动装置进行通信、解释或处理。数据本身没有意义,通常需要在一定的语 义环境中才有意义 (2) 内容(content)是对数据的描述, (3) 信息(information)是对内容的解释,信息是数据的含义。 (4) 知识(knowledge)是在某个感兴趣领域中的事实、概念和关系。 (5) 智慧(wisdom)是知识累积后产生的洞察力、判断力和发明创造能力
第2章无损数据压缩2.1假设(a,b,c)是由3个事件组成的集合,计算该集合的决策量。(分别用Sh,Nat和Hart作单位)。Ho =(log23) Sh1.580 Sh=(log.3) Nat1.098Nat0.477Hart二(log103) Hart=2.2现有一幅用256级灰度表示的图像,如果每级灰度出现的概率均为p(x)=1/256,i=0...·255,计算这幅图像数据的。1H(X)=-p(x)log2p(x)=-256x(xlog2=8(位),256256i=l也就是每级灰度的代码就要用8比特,不能再少了。2.3现有8个待编码的符号mo,,m,它们的概率如练习表2-1所示,计算这些符号的霍夫曼码并填入表中。答案不唯一)练习表2-1待编码符号概率分配的代码代码长度(比特数)mo0.411m,0.200033m,0010.15m,30.10011my0.0701014ms50.0401000m660.03010010m60.010100112.4现有5个待编码的符号,它们的概率见练习表2-2。计算该符号集的:(1)熵:(2)霍夫曼码;(3)平均码长。练习表2-2符号azaasasas概率0.40.20.20.10.1(1) 摘H(a.)=Zp(a,)log2 p(a,)=-0.4× log2(0.4)-2×0.2*log,(0.2)-2×0.1log2(0.1)-=0.4X1.3219+0.4X2.3219+0.2X3.3219=0.5288+-0.9288+0.6644=2.1220(位)(2)编码树和霍夫曼码3
3 第2章 无损数据压缩 2.1 假设 { , , } abc 是由 3 个事件组成的集合,计算该集合的决策量。(分别用Sh,Nat和Hart 作单位)。 H0 = (log23) Sh = 1.580 Sh = (loge3) Nat = 1.098 Nat = (log103) Hart = 0.477 Hart 2.2 现有一幅用 256 级灰度表示的图像,如果每级灰度出现的概率均为 ( ) 1/ 256 i p x = , i = 0, ,255 ,计算这幅图像数据的熵。 2 2 1 1 1 ( ) ( )log ( ) 256 ( log ) 256 256 n i i i H X p x p x = = − = − =8 (位), 也就是每级灰度的代码就要用 8 比特,不能再少了。 2.3 现有 8 个待编码的符号 0 7 m m , , ,它们的概率如练习_表 2-1 所示,计算这些符号的霍 夫曼码并填入表中。答案不唯一)。 练习表 2-1 待编码符号 概率 分配的代码 代码长度(比特数) m0 0.4 1 1 m1 0.2 000 3 m2 0.15 001 3 m3 0.10 011 3 m4 0.07 0101 4 m5 0.04 01000 5 m6 0.03 010010 6 m7 0.01 010011 6 2.4 现有 5 个待编码的符号,它们的概率见练习表 2-2。计算该符号集的:(1) 熵;(2)霍夫 曼码;(3) 平均码长。 练习表 2-2 符号 2 a 1 a 3 a 4 a 5 a 概率 0.4 0.2 0.2 0.1 0.1 (1) 熵 2 1 ( ) ( )log ( ) n i i i i H a p a p a = = − =-0.4× 2 log (0.4)-2×0.2* 2 log (0.2)-2×0.1 2 log (0.1) =0.4×1.3219+0.4×2.3219+0.2×3.3219=0.5288+-0.9288+0.6644=2.1220 (位) (2) 编码树和霍夫曼码
a(0.4)P4(1.0)40.2)g0.2)P3(0.6)aODP2(0.4)0P(0.2)0gO.1练习图2-1编码树编码表符号概率霍夫曼码*码长所需位数a0.4010.4a20.2110.4as30.21010.6a40.110010.44as0.110000.4*代码分配不唯-(3)平均码长L=0.4+0.4+0.6+0.4+.04=2.2(位/符号)2.5使用算术编码生成字符串games的代码。字符g,a,m,e,s的概率见练习表2-3。练习表 2-3符号games概率0.40.20.20.10.11.00.840.7920.77920.777761.0g0.6aa0.4mm0.2ee0.1E[s0.00.760.7760.60.77760.7776练习图2-2games的算术码2.6字符流的输入如练习表2-4所示,使用LZW算法计算输出的码字流。如果对本章介绍的LZW算法不打算改进,并按表2-17所示步骤计算,请核对计算的输出码字流为:(1)(2)(4)(3)(5)(8)(1)(10)(11)*练习表2-4输入位置1|23456|7|89|101112|13|14|151617|.4
4 2 a( )0.4 1 a( )0.2 3 a( )0.2 4 a( )0.1 5 a( )0.1 P2(0.4) P3(0.6) 1P( )0.2 1 1 1 1 0 0 0 0 P4(1.0) 练习图2-1 编码树 编码表 符号 概率 霍夫曼码* 码长 所需位数 2 a 0.4 0 1 0.4 1 a 0.2 11 2 0.4 3 a 0.2 101 3 0.6 4 a 0.1 1001 4 0.4 5 a 0.1 1000 4 0.4 *代码分配不唯一 (3) 平均码长 L = 0.4+0.4+0.6+0.4+.04=2.2(位/符号) 2.5 使用算术编码生成字符串games的代码。字符g, a, m, e, s的概率见练习表 2-3。 练习表 2-3 符号 g a m e s 概率 0.4 0.2 0.2 0.1 0.1 g a m e s 1.0 0.0 0.1 0.2 0.4 0.6 0.6 1.0 0.84 0.76 0.792 0.776 0.7776 0.7792 a m e s 0.77776 0.7776 练习图2-2 games的算术码 2.6 字符流的输入如练习表 2-4 所示,使用LZW算法计算输出的码字流。如果对本章介绍的 LZW算法不打算改进,并按表 2-17 所示步骤计算,请核对计算的输出码字流为: (1) (2) (4) (3) (5) (8) (1) (10) (11) .。 练习表 2-4 输入位置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
输入字符流Ihh输出码字Ih-abc.aaaonObablaLaa练习表2-5步骤位置词典输出码字(1)ab(2)(3)cab1(4)()22(5)ba(2)4(6)abc(4)35cb4(7)(3)57(8)bab(5)610(9)baba(8)711(10)(1)aa813(11)(10)aaa916(12)aaa(11)..*2.7LZ78算法和LZ77算法的差别在哪里?(1)LZ77编码算法的核心是查找从前向缓冲存储器开始的最长的匹配串(2.4.2LZ77算法)。(2)LZ78的编码思想是不断地从字符流中提取新的缀-符串(String),通俗地理解为新“词条”,然后用“代号”也就是码字(CodeWord)表示这个“词条”。这样一来,对字符流的编码就变成了用码字(Codeword)去替换字符流(Charstream),生成码字流(Codestream),从而达到压缩数据的目的。(2.4.4LZ78算法)2.8LZSS算法和LZ77算法的核心思想是什么?它们之间有什么差别?(1)LZSS通过输出真实字符解决了在窗口中出现没有匹配串的问题,但这个解决方案包含有元余信息。(2.4.3LZSS算法)(2)LZ77编码算法的核心是查找从前向缓冲存储器开始的最长匹配串(2.4.2LZ77算法)2.9LZW算法和LZ78算法的核心思想是什么?它们之间有什么差别?(1)LZW算法和LZ78算法的核心思想都是不断地从字符流中提取新的缀-符串(String),通俗地理解为新“词条”,然后用“代号”也就是码字(Codeword)表示这个“词条”。这样一来,对字符流的编码就变成了用码字(Codeword)去替换字符流(Charstream),生成码字流(Codestream),从而达到压缩数据的目的。(2.4.4LZ78算法)(2)在编码原理上,LZW与LZ78相比有如下差别:①LZW只输出代表词典中的缀-符串(String)的码字(codeword)。这就意味在开始时词典不能是空的,它必须包含可能在字符流中出现的所有单个字符,即前缀根(Root)。②由于所有可能出现的单个字符都事先包含在词典中,每个编码步骤开始时都使用一字符前缀(one-characterprefix),因此在词典中搜索的第1个缀-符串有两个字符。③新前缀开始的字符是先前缀-符串(C)的最后一个字符,这样在重构词典时就不需要在码字流中加入额外的字符。(2.4.5LZW算法)5
5 输入字符流 a b a b c b a b a b a a a a a a a . 输出码字 a b - ab c - ba bab a - aa - - aaa 练习表 2-5 步骤 位置 词典 输出码字 (1) a (2) b (3) c 1 1 (4) ab (1) 2 2 (5) ba (2) 3 4 (6) abc (4) 4 5 (7) cb (3) 5 7 (8) bab (5) 6 10 (9) baba (8) 7 11 (10) aa (1) 8 13 (11) aaa (10) 9 16 (12) aaa (11) . . . . . 2.7 LZ78 算法和LZ77 算法的差别在哪里? (1) LZ77 编码算法的核心是查找从前向缓冲存储器开始的最长的匹配串(2.4.2 LZ77 算 法)。 (2) LZ78 的编码思想是不断地从字符流中提取新的缀-符串(String),通俗地理解为新“词 条”,然后用“代号”也就是码字(Code word)表示这个“词条”。这样一来,对字符流的 编码就变成了用码字(Code word)去替换字符流(Charstream),生成码字流(Codestream),从而 达到压缩数据的目的。(2.4.4 LZ78 算法) 2.8 LZSS算法和LZ77 算法的核心思想是什么?它们之间有什么差别? (1) LZSS通过输出真实字符解决了在窗口中出现没有匹配串的问题,但这个解决方案包 含有冗余信息。(2.4.3 LZSS算法) (2) LZ77 编码算法的核心是查找从前向缓冲存储器开始的最长匹配串(2.4.2 LZ77 算法) 2.9 LZW算法和LZ78 算法的核心思想是什么?它们之间有什么差别? (1) LZW算法和LZ78 算法的核心思想都是不断地从字符流中提取新的缀-符串(String), 通俗地理解为新“词条”,然后用“代号”也就是码字(Code word)表示这个“词条”。这 样一来,对字符流的编码就变成了用码字(Code word)去替换字符流(Charstream),生成码字 流(Codestream),从而达到压缩数据的目的。(2.4.4 LZ78 算法) (2) 在编码原理上,LZW与LZ78 相比有如下差别:① LZW只输出代表词典中的缀-符 串(String)的码字(code word)。这就意味在开始时词典不能是空的,它必须包含可能在字符流 中出现的所有单个字符,即前缀根(Root)。② 由于所有可能出现的单个字符都事先包含在 词典中,每个编码步骤开始时都使用一字符前缀(one-character prefix),因此在词典中搜索的 第 1 个缀-符串有两个字符。③ 新前缀开始的字符是先前缀-符串(C)的最后一个字符,这样 在重构词典时就不需要在码字流中加入额外的字符。(2.4.5 LZW算法)