新書推薦:
《
1911:危亡警告与救亡呼吁
》
售價:NT$
349.0
《
旷野人生:吉姆·罗杰斯的全球投资探险
》
售價:NT$
345.0
《
笼中王国 : 18世纪法国的珍禽异兽与社会文化
》
售價:NT$
340.0
《
思考的框架3 巴菲特芒格马斯克推崇的思维方式 风靡华尔街的思维训练法 沙恩·帕里什 著
》
售價:NT$
295.0
《
被记忆的西周史(中山大学中珠学术译丛)
》
售價:NT$
690.0
《
森林疗法:拥抱大自然、获得幸福的季节性方法
》
售價:NT$
340.0
《
希腊人(伊恩·莫里斯文明史系列)
》
售價:NT$
845.0
《
亚马逊六页纸 如何高效开会、写作、完成工作
》
售價:NT$
349.0
|
編輯推薦: |
(1)本书是作者长期教学实践的经验总结,内容涵盖多媒体技术的核心原理和关键技术。(2)对原理,采取形象细腻的描写,带给读者全新的阅读体验。对技术,采取应用程序设计方式,详尽介绍音频处理、图像处理、视频处理、网络多媒体等底层方法,引导初学者入门,帮助开发人员突破核心,助力科研人员敲开研究大门。
|
內容簡介: |
本书系统而又深入地介绍了现代多媒体核心技术及应用。全书共12章,主要内容有多媒体技术架构、开发平台、无损数据压缩算法、音频编码原理、音频数据处理方法、数字图像原理与格式、图像处理、数字视频原理与格式、视频编码、视频处理(视频播放、特效、捕获、转码)、运动对象检测与跟踪、网络多媒体协议、传输应用设计等。本书把原理阐述与底层应用设计紧密结合在一起,细致、充分地展现核心原理,注重应用能力培养,案例具有综合 性、启发性、实用性,有较高的学习价值。 本书可作为本科计算机、自动化、电子信息、通信工程、数字媒体、物联网等专业的多媒体技术专业课教材,也适合关注和希望深入研究多媒体底层开发的读者阅读,还可供对多媒体有兴趣的读者自学。
|
關於作者: |
黄东军 工学博士,教授,博士生导师,中南大学信息科学与工程学院,英国格拉斯哥大学访问学者,中国计算机学会高级会员。主要讲授多媒体原理与系统设计计算机网络分布式系统物联网技术导论等课程;主持国家自然科学基金项目和校企合作项目多项;曾获省部级科技进步二等奖、全国大学生信息安全竞赛一等奖(优秀指导教师),多次荣获校级教育教学成果一等奖、指导学生多次获得优秀本科毕业论文一等奖。
|
目錄:
|
目录
第1章绪论
1.1基本概念
1.1.1媒体及其分类
1.1.2多媒体
1.2多媒体的应用
1.2.1大众传媒领域
1.2.2消费电子领域
1.2.3现代教育技术领域
1.2.4多媒体通信领域
1.2.5表演与会展
1.2.6Web应用
1.2.7物联网领域
1.2.8军事领域
1.2.9游戏与软件
1.3体系结构
1.3.1硬件平台层
1.3.2操作系统层
1.3.3应用系统层
思考与练习
第2章编程环境与平台
2.1Win32API编程基础
2.1.1概述
2.1.2Windows程序的运行机制
2.1.3第一个Win32 API程序
2.1.4编程实践: 在窗口过程函数中添加代码
2.2COM组件编程初步
2.2.1组件
2.2.2COM组件
2.3多媒体应用设计面临的挑战
2.4Microsoft Media Foundation
2.4.1基本概念
2.4.2体系结构
2.4.3音视频管道
2.5本书资源的使用及问题解决办法
思考与练习
第3章数字音频基础
3.1声音及其属性
3.1.1声音的概念
3.1.2声音的基本属性
3.2从模拟到数字
3.2.1采样
3.2.2量化
3.2.3编码
3.3数字音频编码
3.3.1PCM编码
3.3.2增量调制编码
3.3.3自适应差分脉冲编码调制
3.3.4子带自适应差分脉冲编码调制
3.3.5基于参数的语音编码
3.4数字音频编码国际标准
3.5本章小结
思考与练习
第4章音频应用程序设计
4.1波形音频文件分析
4.1.1概述
4.1.2RIFF WAVE Chunk
4.1.3Format Chunk
4.1.4Fact Chunk
4.1.5Data Chunk
4.2音频播放程序
4.2.1利用PlaySound函数播放音频文件
4.2.2基于MF Media Session的音频播放
4.3音频转码程序
4.3.1概述
4.3.2函数分析
4.3.3在转码程序中操作音频数据
4.4本章小结
思考与练习
第5章无损数据压缩算法
5.1信息熵编码
5.1.1预备知识
5.1.2香农范诺编码
5.1.3赫夫曼编码
5.1.4算术编码
5.2行程编码
5.3词典编码
5.3.1基本思想
5.3.2LZ77算法
5.3.3LZSS算法
5.3.4LZ78算法
5.3.5LZW算法
5.4本章小结
思考与练习
第6章数字图像基础
6.1数字图像的基本概念
6.1.1图像的一般表示
6.1.2采样与量化
6.1.3像素与位深度
6.1.4分辨率
6.2颜色模型
6.2.1RGB模型
6.2.2RGBA模型
6.2.3HSV模型
6.2.4CMYK模型
6.2.5YUV模型
6.3数字图像的像素格式
6.3.1真彩图像
6.3.2伪彩图像
6.4图像文件格式分析
6.4.1BMP图像
6.4.2GIF图像
6.5图像压缩标准JPEG
6.5.1JPEG有损压缩技术概览
6.5.2JPEG算法的具体处理步骤
6.6本章小结
思考与练习
第7章图像处理与应用程序设计
7.1图形图像开发包
7.1.1GDI
7.1.2Direct2D
7.1.3Windows Imaging Component
7.2位图的基本操作
7.2.1数据结构
7.2.2一个显示位图的基本程序
7.3基于像素的位图操作
7.3.1SetPixel函数
7.3.2图像的倒立显示
7.3.3图像的正立显示
7.3.4分量图像的正立显示
7.3.5灰度图像的正立显示
7.4几个典型的图像处理算法
7.4.1图像滤波
7.4.2浮雕滤镜
7.4.3图像融合
7.5水波纹模拟
7.5.1水波纹模拟算法原理
7.5.2水波纹模拟程序的实现
7.6本章小结
思考与练习
第8章数字视频基础
8.1模拟视频
8.1.1扫描
8.1.2电视制式
8.1.3模拟电视信号的类型
8.2模拟视频的数字化
8.2.1概述
8.2.2数字视频的分辨率格式
8.2.3数字视频的采样格式
8.3计算机系统中的数字视频数据
8.3.1YUV的取值问题
8.3.2YUV视频的存储格式
8.3.3颜色空间和色差采样率的变换
8.4编程实践: 一种YUV文件的显示
8.4.1YUV文件格式分析
8.4.2显示YUV文件的基本程序
8.4.3显示YUV文件的改进程序
8.5本章小结
思考与练习
第9章视频应用程序设计
9.1视频播放
9.1.1基于Media Foundation的视频播放应用概述
9.1.2完整视频播放程序设计
9.2视频特效
9.2.1给视频添加字幕和图标
9.2.2淡入淡出
9.3视频捕获
9.3.1基于Media Foundation的视频捕获概述
9.3.2设备枚举模块示例
9.3.3一个完整的视频捕获程序
9.4运动对象检测与跟踪
9.4.1研究背景
9.4.2概念与定义
9.4.3基本原理
9.4.4算法描述
9.4.5系统实现
9.5本章小结
思考与练习
第10章数字视频编码原理与标准
10.1视频编码算法
10.1.1编码原理
10.1.2编码算法的基本框架
10.2运动搜索算法
10.2.1概述
10.2.2搜索起点的选择
10.2.3匹配准则
10.2.4运动搜索算法
10.3视频编码国际标准
10.3.1H.26x系列标准
10.3.2MPEG系列标准
10.3.3视频编码标准的应用和性能比较
10.4本章小结
思考与练习
第11章网络多媒体基础
11.1网络与分布式系统
11.1.1计算机网络
11.1.2分布式系统
11.1.3分布式多媒体系统
11.2多播
11.2.1IP多播概述
11.2.2多播用户模型
11.2.3IGMP协议
11.2.4IP多播路由协议
11.3多媒体传输协议
11.3.1RTP协议
11.3.2RTCP协议
11.4流媒体技术
11.4.1流媒体技术的特点
11.4.2典型流媒体协议分析
11.5流媒体系统及其应用
11.5.1主要流媒体系统简介
11.5.2流媒体应用系统的组成
11.5.3应用举例
11.6Media Foundation的网络媒体源特性
11.6.1网络源的创建
11.6.2网络源的配置
11.7视频会议系统
11.7.1视频会议系统的构成
11.7.2视频会议系统的应用
11.8本章小结
思考与练习
第12章网络多媒体应用程序设计
12.1WinSock编程基础
12.1.1CS模型
12.1.2客户端设计
12.1.3服务器设计
12.2远程桌面图像的传输
12.2.1屏幕图像捕获
12.2.2桌面图像的网络传输
12.2.3系统应用
12.3本章小结
思考与练习
|
內容試閱:
|
前言
本书理念
多媒体是一门综合性学科,它研究在计算机与网络平台上进行音频、图像和视频等多种媒体的采集、编码、处理、集成、同步、传输和呈现的技术。多媒体的应用领域很广泛,最初是在视听娱乐和大众传媒领域兴起,随着计算机与互联网的快速发展,多媒体已经广泛渗透到工业、交通、通信、管理、军事和教育等众多领域。今天,无论是在PC平台、智能手机上分享图像与视频,还是利用增强虚拟现实系统(enhanced virtual real systems)进行军事模拟训练,或通过视频监控系统检测跟踪运动对象,人们都在充分享受着多媒体技术发展的成果。
作者在高等学校讲授专业多媒体课程有十多年了。在长期教学实践中,作者深切体会到,高校的多媒体技术教学一直受到理论与实践脱节的困扰。表现在教材上,就是大部分教科书都是从国外著作翻译或转述过来的,过于偏向理论描述。客观地讲,这些教材在教学中发挥了积极作用,然而,由于不提供系统的程序和应用设计方面的指导,对原理的解释大多停留在抽象层面,学生虽然接触了很多概念和技术,但还是不能发展出工程实践能力。
当然,学校也不是没有实践性教学,然而无论是深度还是广度,都无法适应数字媒体技术本身的发展。究其原因,除了受实验设备繁多、技术繁杂以及开发工具难用等因素影响以外,作者认为教材与应用系统设计脱节是一个重要原因。
实际上,广大专业教师一直在设法解决上述脱节问题。一方面,一些教师试图在比较偏向原理的教科书中增加实践性内容来改善教材结构,但是这个做法效果有限,因为它没有从根本上改变传统教材以原理为主的特点。另一些长期从事多媒体技术专业教学的老师意识到偏向原理的教材和教学模式的弊端,因此推出了以培养实践能力为主要目标的教材,如《多媒体技术实验教程》《多媒体案例教程》等。这些教材试图大力培养学生的实践动手能力,这是值得称道的。但是,由于学时等条件限制,这些教材又无法系统地阐述原理,而且大都以传授多媒体工具软件(如Photoshop)的使用方法为主,结果使得计算机专业类的多媒体技术教学演变成了技能教育。当然,熟练使用这些工具非常重要,但是,如果一所大学是以培养高级专业技术人才为目标的,就不能以工具性技能教育为主体,而应当构建一种融核心原理和关键技术于一体的教学框架。原理应当深入到核心,关键技术则是核心原理的直接体现,这完全不同于以传授多媒体工具软件使用为主体的教学。
一言以蔽之,作者希望建立一个以核心原理为主线,融知识、技术、标准、平台与应用设计于一体的新型多媒体技术阐述框架。
全书概览
基于上述理念,本教程把原理知识的阐述与更加底层的应用设计紧密结合在一起。基本上,每一个核心原理介绍都会有相关的应用设计与之配套。例如,在介绍了音频编码原理之后,会展示PCM样本合成、音频转码等音频数据处理的程序设计方法; 在介绍了数字图像格式之后,会展示图像显示、滤波、融合、基于图像的自然现象模拟等像素级操作; 在介绍了视频数据格式之后,会展示视频播放、视频特效、视频捕获、YUV视频转码、视频对象检测与跟踪等内容; 在介绍了网络多媒体技术之后,会展示流媒体应用系统搭建、基于套接字的远程桌面图像传输等。可以看出,这些训练不仅展现了核心原理,而且直接触及关键技术,具有综合性和启发性,有较高的学习价值,甚至对科学研究都具有一定的训练意义。只有这样,才能实现培养高级专业技术人才的目标。
全书分为12章。
第1章绪论,介绍多媒体技术的基本概念、应用和技术体系。
第2章编程环境与平台,介绍Win32 API程序的特点和基本设计方法、COM组件编程方法和Microsoft Media Foundation。Microsoft Media Foundation是新一代多媒体开发平台,以取代之前的DirectShow。
第3章数字音频基础,介绍数字音频的基本概念、各种数字音频编码算法及其国际标准。
第4章音频应用程序设计,介绍波形音频文件的格式、音频播放程序设计(包括基于PlaySound 函数的简单播放和基于MF Media Session的复杂播放程序设计)、音频转码程序设计和音频数据处理应用(如混声)。
第5章无损数据压缩算法,介绍几种广泛应用的无损压缩编码算法,包括赫夫曼编码、算术编码、行程编码和词典编码算法。作者在这一章进行了一种新的写作尝试,即对这些算法给出了十分详尽的图形化过程说明,通过举例,将这些算法的循环过程进行了穷尽式描绘,最后还给出了这些算法的伪代码。这些举措的目的是希望为读者带来一种更加轻松的阅读体验,即只要阅读就可以理解内容。
第6章数字图像基础,介绍数字图像的基本概念,包括图像模型、像素、色彩模型、图像分辨率、真彩图像、伪彩图像等。本章的重点是图像数据分析,解析了BMP和GIF两种数字图像格式文件,特别是对BMP格式图像,详尽描述了它的1、4、8、16和24位像素存储模式,并解释了整个位图在内存中的Bottomup(自底向上)放置情形。最后用一节介绍了JPEG静态图像压缩原理。
第7章图像处理与应用程序设计,介绍Windows环境下最常用的图像开发工具GDI和典型的图像处理技术(如正立显示、倒立显示、图像滤波、灰度化、浮雕滤镜、图像融合等)。为了帮助读者进一步理解像素操作的意义,本章还介绍了基于图像的水波纹模拟,该示例展示了图像处理的妙用,并解释了动画原理,程序还揭示了双缓冲技术的应用。
第8章数字视频基础,介绍模拟视频的基本概念、模拟视频到数字视频的转换,尤其是数字视频的采样格式。本章还详细介绍了几乎所有的数字视频格式,包括适用于存储场合的平面格式,以及适用于实时场合的紧凑格式。为了进一步帮助读者理解视频数据流的意义,本章给出了一个解码并显示著名的foreman.yuv视频文件的程序,该程序在一定程度上揭示了解码器和视频播放器的工作原理。
第9章视频应用程序设计,介绍几个典型的视频应用案例,包括视频播放、视频特效、字幕和图标添加、淡入淡出等。本章还详细介绍了基于Media Foundation的视频捕获程序设计,这是一个有很强实用性的应用。最后介绍运动对象检测与跟踪技术。
第10章数字视频编码原理与标准,介绍视频压缩的一般原理、当前流行的H.26x和MPEG系列视频编码国际标准。
第11章网络多媒体基础,介绍网络多媒体的概念和面临的主要挑战、网络多播技术、实时传输协议(RTP)和实时传输控制协议(RTCP)、流媒体技术和流媒体协议、典型视频服务系统的应用。本章还介绍了Media Foundation的网络源特性,这是利用Media Foundation开发桌面多媒体客户端的基础。最后介绍视频会议系统的概念、组件和系统结构。
第12章网络多媒体应用程序设计,主要介绍基于WinSock的多媒体传输技术。首先介绍WinSock编程的基本方法。然后介绍一个基于屏幕捕获与WinSock的远程桌面图像传输与显示系统,该系统包括两部分,一是捕获并发送桌面图像的服务器,另一部分是接收并显示远程图像序列的客户端。该示例展现了较为底层的多媒体传输的基本原理。
总体上,本教程试图系统地提供多媒体核心原理及其关键技术应用的内容。
本书适合的读者群
本书的主要目标是作为本科计算机科学与技术、自动化、电子信息、通信工程、信息安全、数字媒体、物联网工程、软件工程等专业的多媒体技术专业课程教材。
本书也适合关注和深入研究多媒体底层开发的读者阅读,特别适合对多媒体技术有兴趣的读者自学。
如果读者希望全面掌握本书内容,应当具备计算机程序设计、操作系统和计算机网络等方面的基础知识。此外,由于本书以Windows操作系统和Visual Studio平台的 CC为程序设计环境,因此也要求对CC编程语言有基本的了解,并且理解基本的面向对象技术。此外,如果读者了解Windows程序设计方法,特别是对消息驱动机制、回调函数、窗口过程等概念有认识的话,自然是最好不过的事情。但是,即使读者没有这方面的知识也不要紧,因为本书的第2章会简明扼要地介绍Windows程序的基本结构和运行机制。
本书的代码
本书的源代码表现为完整的VC工程文件包,每一个实例程序都是从Visual Studio 2010自动生成的Win32 API应用框架开始,通过添加自定义功能实现的。此外,作者还力求将程序清单中的注释量降到最小,因为我们认为,编写规范、逻辑清晰的程序本身应当具有良好的可读性。
读者可能要问,在众多的开发语言和模式中,为什么本书选择Windows API程序作为基本的实践平台?这当然是因为Windows API程序比较适合本书的需要。本书的主要目标是展示多媒体技术的核心原理,所以,偏向底层开发的Win32 API程序自然是最佳选择,如果进一步考虑到原生桌面应用的广泛性和更高性能的话更是如此。
本书的源程序均在清华大学出版社网站www.tup.com.cn本书页面中提供下载。当然,作者也并不打算更新这些源代码,因为这些程序都是易于理解和使用的,并且具有基础性和稳定性。
致使用本书的教师
随着信息技术与互联网技术的发展,高等教育正经历一场变革。就课堂教学而言,传统的以传授专业知识为主的教学模式正被以培养创新创业能力为核心的互动式、启发式教学所取代。本书所提倡的以核心原理为主线,融知识、技术、标准、平台与应用设计于一体的新型多媒体技术阐述框架,可以看成是顺应这一趋势的某种尝试。
第一,采用本书进行教学,最好要求学生把笔记本电脑带到课堂,教师边讲理论知识,边进行程序案例演示。还可以在课堂上组织小组讨论和协同应用设计。这其实就是一种讲练结合的互动课堂教学模式。当然,有些理论性较强的内容,如无损数据压缩算法、数字视频编码原理与标准、网络多媒体基础等,可能以讲授为主,但也需要结合实际应用加以解释。例如,在讲授字典编码算法的时候,可以用流行的压缩软件(如WinRAR)作为实例,说明字典算法的重要应用(可以研究一下相关软件的配置页面信息)。
在课堂上进行多媒体应用设计是一个挑战。首先,教师需要做好充分的上课准备,对于计划解决的问题及其编程方案,自己都要事先做一遍,确保无误。因为一旦在课堂上陷入某种困局,不仅会让教师难堪,而且也浪费时间。当然,对于有些探索性课题(例如,学生在课堂上突然提出的问题),在恰当控制时间的前提下,教师可以当堂编写程序,或者组织学生尝试解决,并说明允许失败。其次,要注意把时间和精力用在核心技术上。就是说,对于一些比较复杂的应用系统设计,可以采取组装程序的办法,快速搭建应用系统框架,然后在关键部分采取现场编码的方式进行展示。例如,本书第7章介绍有若干典型图像处理算法,课堂演示或组织学生编程实践的时候,可以先把除关键代码以外的辅助性代码通过文本文件发给学生,然后从文本文件中复制各个模块的基本代码(如打开图像文件操作)以便搭建可运行的程序框架,最后集中力量编写核心算法实现代码。实践证明,这种方式能够有效平衡课堂时间限制与编程实践需要之间的矛盾。
第二,除课堂上的讲练结合教学以外,有些内容可以在讲解核心原理并进行展示的基础上,安排学生课后消化吸收。例如本书介绍的一些相对复杂的应用(音频转码、视频捕获、运动对象检测与跟踪等),可以由学生在课后进行深入研究。
第三,教师还需要根据具体学校的培养方案和教学大纲课时限制,合理安排教学进程,做到重点突出,难点讲透。重点和难点以外的其他内容可以安排课后自学。当然,具体教学还需要考虑学生的基础和条件。
下表是以32学时(其中4学时实验)为基准给出的一个教学进程参考。
序号章节课堂讲授重点难点学时课外自学
1第1章绪论
第2章编程环境与平台多媒体的概念、多媒体应用、体系结构; Win32 API程序基础; Microsoft Media Foundation基础Windows程序运行机制2组件编程初步、多媒体应用系统设计面临的挑战、Microsoft Media Foundation音视频管道
2第3章数字音频基础声音及其属性、采样与量化; 数字音频编码; 数字音频编码国际标准PCM非线性编码、增量调制编码、自适应差分脉冲编码调制2
3第4章音频应用程序设计波形音频文件分析; 音频播放程序; 音频转码程序概述、在转码程序中操作音频数据波形音频文件分析; 在转码程序中操作音频数据2音频转码程序结构与函数分析
4第5章无损数据压缩算法算术编码、行程编码; 词典编码算法基本思想、LZ77算法、LZSS算法、LZ78算法、LZW算法算术编码; LZ78算法、LZW算法2信息熵编码的概念、香农范诺编码、赫夫曼编码
5第6章数字图像基础数字图像的基本概念; RGB、RGBA、HSV和YUV彩色模型; 真彩图像、伪彩图像; BMP图像格式HSV模型、YUV模型; BMP图像格式分析2CMYK模型; GIF图像格式分析; 图像压缩标准JPEG
6第7章图像处理与应用程序设计位图显示基本程序; 基于像素的位图操作,倒立与正立显示、分量图像显示、灰度图像显示; 几个典型的图像处理算法,滤波、浮雕滤镜、图像融合; 水波纹模拟程序实现图像的倒立、正立显示; 高斯滤波; 水波纹模拟程序实现4相关数据结构; 图形图像开发包、SetPixel函数、水波纹模拟算法原理
7第8章数字视频基础模拟视频,扫描、电视制式、模拟电视信号的类型; 模拟视频的数字化,数字视频的采样格式; YUV的取值、YCbCr转RGB; YUV文件显示程序设计数字视频的采样格式; YUV的取值、YCbCr转RGB2YUV视频的存储格式; 颜色空间和色差采样率的变换
8第9章视频应用程序设计Media Foundation视频播放程序设计; 基于YUV文件显示程序的淡入淡出特效; 字幕与图标添加4视频捕获程序; 运动对象检测与跟踪原理及应用程序设计
9第10章数字视频编码原理与标准视频编码原理、编码算法的基本框架; 运动搜索算法,搜索起点的选择、匹配准则; H.261、MPEG1、MPEG4运动搜索算法; MPEG42其他H.26x系列标准、MPEG系列标准; 视频编码标准的应用和性能比较
续表
序号章节课堂讲授重点难点学时课外自学
10第11章网络多媒体基础计算机网络、分布式系统、分布式多媒体系统; IP多播概述; RTP协议、RTCP协议; 流媒体技术的特点、典型流媒体协议分析; 主要流媒体系统简介、流媒体应用系统的组成RTP、RTCP协议; 流媒体协议分析4IGMP协议、IP多播路由协议; 流媒体系统应用举例; Media Foundation的网络媒体源特性; 视频会议系统
11第12章网络多媒体应用程序设计桌面屏幕图像捕获,桌面图像的网络传输系统设计桌面图像的网络传输系统设计2WinSock编程基础,CS模型、客户端设计、服务器设计
12实验1流媒体应用系统视频点播系统,视频广播系统编码器与视频服务器的连接; 视频播放HTML页面设计; 编码器、Web服务器配置2
13实验2视频会议系统视频会议终端、MCU组网; 会议呼叫; 会议管理; 系统结构会议管理、MCU的应用2
合计32
致谢
首先,作者要衷心感谢中南大学为本人提供的教学与科研平台。中南大学是一所重视科研与教学,并注意营造良好教学氛围的学校。通过精品教材开放式精品示范课堂教育教学综合改革等项目,学校为广大教师开展教学研究和开发教学资源创造了有利条件。
其次,作者要感谢本校2012、2013级计算机科学与技术、物联网工程、信息安全和2013级软件工程专业的大量本科生,本书的初稿首先在他们当中试用。在两年多的时间里,作者受到了很多学生的热情鼓励并获得了非常有帮助的意见,特别是一些学生帮助作者查找各类编写错误,使作者感受到一种十分有效的群智方法。
作者在创作本书的过程中,参考了一些国内外教材或专著。清华大学林福宗老师编写的《多媒体技术教程》被很多高校采用,本人实际上也是从采用林老师的教材开始多媒体技术专业课程教学的。在此,特别向林福宗老师致以敬意。本书的第2章引用了微软公司的相关技术资料,并且全部程序都是基于Visual Studio设计的。众所周知,微软公司是全球领先的信息技术公司,其致力于软件创新的精神值得钦佩。
最后,作者要衷心感谢清华大学出版社的工作人员,他们热情、周到和细致的工作确保了本书的编辑出版质量。
作者(Email: djhuang@csu.edu.cn)2017年6月于长沙
第5章无损数据压缩算法
前面已经指出,多媒体技术面临的挑战之一是数据量特别大。因此,需要从多方面想办法来克服这一困难。数据压缩就是有效的技术途径。数据压缩可分成两种类型,一种是无损压缩lossless compression,另一种是有损压缩lossy compression。无损压缩是指对压缩后的数据进行重构解压缩得到的数据与原来的数据完全相同。无损压缩主要用于要求重构的数据与原始数据完全一致的场合,例如数据管理领域。而有损压缩是指对压缩后的数据进行重构得到的数据与原来的数据有所不同,但不会导致对原始数据的误解。有损压缩适用于重构数据不一定非要和原始数据完全相同的场合,例如音频、图像和视频数据的压缩。本章介绍几种广泛应用的无损压缩编码技术,包括赫夫曼编码、算术编码、行程编码和词典编码。有损压缩放在图像、视频处理中介绍。5.1信息熵编码5.1.1预备知识1. 信息量的概念
香农Shannon指出,信息量是对不确定性的度量。一个事件越是确定,对人们来说信息量就越小,例如明天太阳将从东方升起中国在太平洋西岸等等,这些事件对我们来说是完全确定的,所以,没有什么信息量。从数学上讲,某一事件发生的可能性越小,即概率越小,则该事件提供的信息量越大; 反之,一个事件发生的概率越大,则该事件包含的信息量就越小。基于这一原理,就能够得到计算信息量的表达式。设某事件的信息量为Ii,该事件发生的概率等于pi,则该事件的信息量与事件概率之间的关系可由式51给出:
Ii=log21pi=-log2pi,0
|
|