搜档网
当前位置:搜档网 › MPEG-2 TS 码流编辑的原理与应用

MPEG-2 TS 码流编辑的原理与应用

MPEG-2 TS 码流编辑的原理与应用
MPEG-2 TS 码流编辑的原理与应用

MPEG-2 TS 码流编辑的原理与应用

在当今数字媒体不断发展、新媒体业务不断涌现的前提下,实践证明襁褓中的新媒体只有两种经营方略可供选择:或是购买并集成整套节目,或是低成本深加工新节目,再不可能去按照传统生产模式去自采自编。低成本的节目生产制作与发布,不仅成为数字媒体经营的主要手段,也成为传统媒体“改革工作流程”的重要举措,进而促成了对新型工作母机和简捷快速流程的迫切需求。

在辽宁新媒体多业务综合服务平台上,先于国际和国内应用了MPEG-2传输流快速剪辑编辑系统(以下简称码流快编)。这项由辽宁电视台与深圳奥维迅公司在2003年10月联合开发的新技术,为数字媒体低成本节目的制作、推广和运营提供了高效生产工作母机。尽管担负此项目源代码开发的奥维迅公司出现了经营问题,在技术推广的中间环节发生梗塞,但并不能说明此项技术走到了尽头。回顾3年的应用实践及研发成果,需要的不是扬弃,而是演进的升级,否则就是对可调控资源的莫大浪费。特别是针对第二代信源编解码国标AVS-P2的更新换代,很可能成为多业务内容整合的新一代产品的突破口。

一工作原理

1. 功能目标

码流快编的应用目标是,通过对开放视频的采集,将DVB-S或C的传输流(Transport Stream,TS)节目作为信源,直接进行剪辑处理,再经过人工创意后,整合为新主题内容的新节目,以便直接进入频道集成或编辑频道节目播出,快速实现数据层的内容整合,不仅简捷了采集制作的工作流程,而且为丰富媒体内容资产开辟了一条捷径。因为码流快编的工作流程无需先以解码后的视频记录于磁带,再以磁带上载编辑机,经编辑后再下载成为磁带,再编码复用成为新内容的新节目。即便数字化完成以后,视频数据流仍不能用于经复用的数字传输,还需编码、转码、打包等传输格式化以后,才能在数字信道上传输。而采用码流快编以后,不仅避免了解码后再采样编码所形成的视频损耗,还避免了在1∶1时间的上下载中所造成的效率损耗。更重要的是在视频内容整合中,一次性完成音/视频同步剪切、字幕处理和音/视频数据打包复用等连续作业。所以,它能够提高生产效率60%以上。必要时还可进行节目包装的特技编辑,直接创建数据级和文件级的互联互通内容交换平台,在媒体资产管理下,顺利实现网络化与智能化的节目配送与发布。

由于码流快编是针对以TS为信源的再编辑系统,所以实行“高来高走,低来低走”,或是“高来低走”的应用策略,即高码率对应高码率(包括兼容高清),低码率对应低码率,但码率连续可调,以适应高码率对应低码率的应用。理论和应用都说明,对比源节目和成品节目,经剪切和编辑处理的图像保持了同等的视频质量,成为不劣化图像的创新工作流程和新型工作母机。

2. 设计特征

码流快编的低成本与高效率来自它的主要特征。常规的非线性编辑机是在编码一侧做文章,通过采集编码卡实现视频图像多层多轨的非线性编辑;而码流快编则是在解码一侧下功夫,通过对TS拆包还原为基本码流(Elementary Stream,ES),而后经编辑再封包成为TS,快速实现视频内容整合的业务应用。因而,码流快编除了运用非线性图像处理技术外,最大的特点是运用了MPEG-2和DVB的系统原理,在此基础上进行图像处理的应用开发。

通过图1的系统概念,可以看出码流快编运用了一个逆向思维的方法,利用DVB系统传输的发/收互逆关系,将收端的单节目传输流(SPTS)作为信源,通过ES实现以视频非线性处理的目标功能。这时的解决方案有两个:一是在TS基础上直接进行图像处理的基础开发,实现与常规非编一样的操作界面和编辑习惯,这样虽好,但是没有参照模型以及可利用的技术资源,必须从零开始的重写源代码;二是将TS转码为ES,以ES帧结构和句法格式还原成为符合ITU-R.601建议的原始视频帧,就可以很方便地利用或附加现有的常规非编技术,以无卡站形式实现编辑。码流快编同时采用了两种方案,一方面独立开发新产品系列,以适应于快速发展的数字电视业务需求,另一方面提高系统的兼容性,向后兼容传统非编,有利于在媒体资产管理下实现互联互通和投资保护。图2说明了方案二的ES还原并显示原始视频的GOP帧结构。

通过图2可以认为,既然能够形成IBBP的句法帧,再转换成为全I帧格式并不难。这样一来,就可以利用原有的非线性编辑技术,连续处理长与短GOP、全I帧与IBP帧结构、可变与固定码流的节目素材,实现不同节目格式的快编与混编。由此可见,码流快编的开发技术难点,是结合DVB系统与MPEG-2标准,从译码过程中读出元数据,实现基于解码器的图像处理技术,并能兼容以编码卡为基础的非线性编辑技术。因而被业内称为“第一个吃螃蟹者”。

3. 数据变换

既然要把TS作为节目源进行编辑,就需要将TS包中的数据变换为非线性编辑所能使用的元数据和视频流。它们是以码流快编作为工作母机进行生产的真正原料。

数据变换的第一个过程是拆DVB复用包。如图3所示,DVB的解码流程中分层译出了许多数据信息,如同步字节(Sync Byte)、节目特定信息(Program Specific Information,PSI)中PAT、PMT、NIT等列表、包识别(Packet Identification,PID)、节目时钟基准(Program Clock Reference,PCR)及PTS/DTS(后详解)和业务信息(Service Information,SI)等部分。这些信息不仅与DVB PSI/SI直接相关,与MPEG-2的句法结构也直接相关,它规范地传递了再生码流中音/视频所需的MPEG-2列表数据,通过这些信息的引导,准确进入MPEG-2系统层的进一步译码。

第二个过程是拆MPEG-2系统复用包。MPEG-2系统定义了一个的码流层次化结构句法规则,以便于误码处理、随机搜索以及内容编辑。它自上而下依次分为图像序列层(Video Sequence Layer,VSL)、图像组层(Group of Pictures Layer,GOPL)、图像层(Picture Layer,PL)、像素条层(Slice Layer,SL)、宏块层(Macro block Layer,ML)、像块层(Block Layer,BL)等6个层次,分别赋予每个层次不同的功能。图4说明了MPEG-2 体系的句法结构,通过这种分层排列的结构特征,MPEG-2提高了系统的灵活性和管理效率,使得每一层都可以用来支持一个特定的功能。码流快编大部分应用于VSL、GOPL、PL层,特别是在GOPL,需要在还原时规范翻译PID、PCR、PTS/DTS 等信息,将同步信息、闭合标记、断链标记等数据准确插入GOP图像组,以形成每组GOP 数据流的起点,才能保证图像帧的精确和连续帧的同步接续。

第三个过程是将拆包后所得数据信息,以规范的装填还原MPEG-2 ES以及元数据,因而装填数据是码流快编的重要技术环节。

(1)装填复用的基本码流包

依据MPEG-2 TS规范结构(如图5所示),复用的基本码流包(Packetized Elementary Stream,PES)是由包头、自适应区的ES特有信息和包数据3部分所组成。由于包头和ES特有信息二者可合成1个数据头,因而可认为1个PES包是由包头和包数据(有效载荷)2个部分所组成。对有线、卫星、地面广播网接收的TS,经过解调和解扰处理后选取包长为188B的SPTS,并从包头中提取相关信息,以PID区别不同SPTS 包,以连续计数器的顺序计对标注PID的TS包重建一个独立分组的PES。根据自适应区中的填充数据,装填到不为TS包整数倍的PES包中,以保证PES变长包的完整性。同时,依据包头及自适应区内的同步字节、原始程序参考时钟(Original Program Clock Reference,OPCR)、PCR等同步和识别信息,提供27MHz的解码同步时钟,装填共同时间基准、独立时间基准、可变包长和有效载荷等数据。

装填成为PES对码流快编具有格外重要的意义,因为PES包内含音/视频的ES以及包括PID的12个包头识别标志,当对PES包的起点不能精确定位、对PES包头标志符不

能准确识别时,就不能保证拆包后再打包的图像无缝接续和声画同步。这是在初期研发过程中遇到并获得突破的技术难点。

(2)装填基本码流

根据MPEG-2规范的PES包结构(如图6),还需进一步装填为连续ES流。ES是指只包含1个信源的数据流,即视频数据流或音频数据流。每个ES由若干个缓存器的特定存取单元(Access Unit,AU)所组成,而每个视频AU或音频AU都是由头部和编码数据的2部分。1个AU相当于编码的1帧视频图像或1个音频帧的取样。PES的包头为恢复ES提供了向导。

对于PES包头,具有ES特有信息的显示时间标记(Presentation Time Stamp,PTS)、解码时间标记(Decode Time Stamp,DTS)标志、基本流时钟基准(Elementary Stream Clock Reference,ESCR)信息标志、基本流速率信息标志、数字存储媒体(Digital Storage Media,DSM)的特技信息标志等等,其中,唯有PTS/DTS标志,是解决视音频同步显示,防止输入缓存器上溢或下溢的关键所在。

在装填过程中,数据定位指示符引导PES还原所包含的视频、音频及所属其它数据流(如同步、数据和数据通道等),包头识别标志的PTS/DTS指示了可变长度包数据的帧同步时间,当区分音/视频和其它数据以后,依据PTS/DTS对视频帧分配给特定的AU。其中尤以独立时间基准是还原ES的同步基础。对于PES包数据,一方面通过扩展标志的数据包计数器,引导恢复数据流,另一方面利用循环冗余校验(Cyclic Redundancy Check,CRC)辅助检测并纠正可能存在的数据包丢失。

4. 精确帧定位

帧定位是精确编辑的基础,而精确的帧定位来自于精确的帧同步。在ES上实现逐帧精确的编辑,首要问题是实现精确帧的同步。

如前所述,装填后的ES变成仅含有1种性质的PES包,或视频ES,或音频ES。以视频为例,图7表明了在PTS/DTS标示的独立同步时间基准指示下,顺序装填再顺序读出,形成连续ES的I1P4B2B3P7B5B6(N=7)GOP组帧顺序。由于PES的数据分组是可变长度的数据包,但它的最大包数据容量为65526Byte。因此,在码流快编中必须为每个AU准备必不可少的缓存空间。

如图7所示,PTS表明图像帧出现在目标解码器(System Target Decoder,STD)的时间,DTS表明将存取单元全部字节从STD的ES解码缓存器移出的时刻。当以PTS/DTS为独立时间基准,定位和标志PES的AU起始点后,对UA依次组成图像帧序为I1P4B2B3P7B5B6 I10B8B9的ES。对于I、P帧而言,PES的图像帧序为I1P4B2B3P7B5B6I10B8B9,应该P4比B2、B3在先,但显示时P4一定要比B2、B3在后,这就必须重新排序。在PTS/DTS时间标志指引下,将P4提前插入数据流,经过缓存器重新排序,重建视频帧序I1B2B3P4B5B6P7B8B9I10。显然,PTS/DTS是表明确定事件或确定信息,并以专用时标形态确定事件或信息的开始时刻。

值得注意的是,虽然在PES中应该每个I、P、B帧的包头都具有一个PTS和DTS,但由于B帧的解码时间和显示时间存在一致性,因而对B帧而言,PTS与DTS具有相同作用,无须DTS,只须PTS。音频数据包也很有特点,虽然它可以含有多个存取单元,但由于它必须按照时间顺序传送,所以音频包头中也不含DTS,只有1个PTS。

由此可见,PTS/DTS不仅直接关联帧定位,而且直接关系到码流快编的帧精确编辑。为此,码流快编的帧定位着重处理以下几个帧序特征:

* 当处理某个含有1个I帧的存取单元时,在其包头文件中应有DTS和PTS,且2个标记之间的时间间隔为1个图像周期,那么在双向编码时的P帧应在I帧之后,在包头文件中就应有1个DTS和1个PTS,而这2个标记之间应存在3个图像周期的间隔,这样才能插入2个B帧。

* 当前处理IPBB时,I帧应延迟1个图像周期,P帧应延迟3个图像周期,而2个B 帧则无需延迟,于是,最后的显示顺序就成为了IBBP帧序。

* 若需要改变GOP结构时,例如在I与P帧之间需要存在更多的B帧,则需调整B帧DTS与PTS之间的时间间隔。

* 当处理IPBB序列后,必在第1个B帧之前先对I和P帧进行解码,但每次只能对一帧图像进行解码,因此需要先解I帧并暂存后,待P帧被解码时,随即读出I帧,而后再读B帧。

* 在处理包头时,对PTS/DTS指示的某图像帧,特殊关注是否只有1个PTS时间标记,是否含有PTS和DTS的2个时间标记,以便快速确认I、P与B帧,以及音频包。

当作为编辑节目源的MPEG-2 TS被拆包以后,以PTS/DTS实现视频帧的精确定位,就能以帧精确的剪切编辑实现码流快编功能,同时,也能以I1P4B2B3P7B5B6I10B8B9帧序显示I1B2B3P4B5B6P7B8B9I10帧序。那么,在此基础上嫁接现成的MPEG-2 IBP 非线性编辑的成熟技术,既不需要高价的采集编码卡,也不需要上下载的转码,从采集、转码、拆包剪切,到特技处理、打包上传,一气呵成地构成了码流快编系统。

二实际应用

考虑到码流快编的兼容性和通用性,以及互联互通网络平台内容交换的需要,系统是在Windows平台上开发应用,系统流程详见图8。

事实上就应用层而言,看不出码流快编与常规非编究竟有什么区别。只是对照图8,才能看出常规应用时是以传统磁带记录的内容为节目源,这就需要围绕采集编码卡,设立上下载工作站,通过将模拟节目采集编码为数据流以后,再进行剪切等编辑。因而,目前还需对广泛应用的模拟视频提供接口选项,附加上下载工作站。它的应用界面及其采集参数选项参见图9。图9、10表示数据输入的采集操作界面,显示目标文件格式初始化选项与合成属性,以维系连续应用的工作流程。

经采集所合成的码流格式文件,可以同时转换成为可供交换的各种流格式和连续可调的速率,以适应各种内容编辑的整合策略需求,并可利用网络,对连续生产的其它工作站输送和交换素材,直至包括特技的特殊内容加工。这些交换文件的合成属性以及应用格式选项参见图10。

虽然在码流快编上进行快速编辑并合成文件时,与常规操作不无不同,但是通过对TS文件的快速正、反向搜索,以每一帧的入点、出点的精确定位,进行非线性编辑的剪切操作,制作成为新内容体裁的新文件,却被广电总局主管节目的领导所认可,被称之为“海量空中节目的过滤器”。同时,它还可以根据内容的需要,通过内置的迭加台标、栏目、字幕等字幕软件,直接参与编辑节目内容信息编辑或局部遮盖,并可联立采集工作站,形成生产流水线,进行不同任务种类的专项加工。如图11所示,在时间轨上的不同视频、音频、字幕等,均可按帧精确的快速合成为新节目或新素材。

如图12所示,当合成新节目或素材时,文件格式的也可以根据使用的需要加以选择。如果作为DVB播出节目的成品,则可选择“MPEG-2TS流(DVB格式)”选项;如果需要作为进一步深加工的素材,则可选择“MPEG-2ES流(M2V+MPA)”选项,以素材集的形式存放于共享应用的集中存储。这样编辑后的节目素材或成品,理论上可以保证与节目源完全相同的视频质量。

还值得一提的是,只要在此基础上再增加一块廉价的Matrox-RGX100采集卡,就可以进一步集成无限轨、无限层的第二代非线性编辑技术,成为多格式混编、混排的超级深度特技编辑机,为动漫、游戏等新媒体节目的快速加工创造工具。

三结语

无论码流快编对节目制作的现实意义存在何种褒贬,但在一次数字版权还没有进阶到二次版权法规的时候,它的存在具有特殊重要意义。毕竟能够通过仅12名(前期6人)的人员投入,以低成本、高效率的节目加工,为辽宁电视台提供了18套全省的数字电视节目,而且维系了近3年的节目生产,至今赢得了全省近百万数字电视用户的向往与肯定。试想一下,倘若按照常规作法,只播出1套节目用12个编辑就很可能要“累死人了”。

实践证明,当国外的政治体制和法规观念与国内存在现实差异的时候,国际上不屑一顾的产品并不是国内市场没有需求;当国际与国内市场趋于接轨的时候,对瞬息万变的市场不屑一顾也不是新技术的初衷;当码流快编因某种原因并没有得到推广的时候,不屑一顾地扬弃它的内核就不是实事求是。最恰当的对策是继承技术原理的设计理念,与时俱进地升级新产品,才能获得广电和企业的整体效益。

BMP图像格式详解

BMP格式图像文件详析 首先请注意所有的数值在存储上都是按“高位放高位、低位放低位的原则”,如12345678h放在存储器中就是7856 3412)。下图是导出来的开机动画的第一张图加上文件头后的16进制数据,以此为例进行分析。T408中的图像有点怪,图像是在电脑上看是垂直翻转的。在分析中为了简化叙述,以一个字(两个字节为单位,如424D就是一个字)为序号单位进行,“h”表示是16进制数。 424D 4690 0000 0000 0000 4600 0000 2800 0000 8000 0000 9000 0000 0100*1000 0300 0000 0090 0000 A00F 0000 A00F 0000 0000 0000 0000 0000*00F8 0000 E007 0000 1F00 0000 0000 0000*02F1 84F1 04F1 84F1 84F1 06F2 84F1 06F2 04F2 86F2 06F2 86F2 86F2 ...... BMP文件可分为四个部分:位图文件头、位图信息头、彩色板、图像数据阵列,在上图中已用*分隔。 一、图像文件头 1)1:图像文件头。424Dh=’BM’,表示是Windows支持的BMP 格式。

2)2-3:整个文件大小。4690 0000,为00009046h=36934。 3)4-5:保留,必须设置为0。 4)6-7:从文件开始到位图数据之间的偏移量。4600 0000,为00000046h=70,上面的文件头就是35字=70字节。 5)8-9:位图图信息头长度。 6)10-11:位图宽度,以像素为单位。8000 0000,为00000080h=128。 7)12-13:位图高度,以像素为单位。9000 0000,为00000090h=144。 8)14:位图的位面数,该值总是1。0100,为0001h=1。 二、位图信息头 9)15:每个像素的位数。有1(单色),4(16色),8(256色),16(64K色,高彩色),24(16M色,真彩色),32(4096M色,增强

多媒体常见五种图像格式详解

多媒体常见五种图像格式详解 【摘要】:自此互联网以及PC的飞速发展,我们的日常生活已经高度的信息化了,多媒体应用技术也不断地深入到我们的生活中。图像、视频这些最直观的信息无时无刻的充斥着我们的眼球。这时我们需要在繁多的图像种类中辨别以及选择我们所要用到的图像种类来准确完整地传达信息。本文通过对多媒体常见的五种图像格式的详细介绍从而可以深刻的了解图像的格式特点及其应用。 【关键词】:多媒体互联网常见图像格式 一.引言 现在的互联网和多媒体技术的高速发展,多媒体的图形图像以其蕴含的信息量优美直观地显现于人们的视网膜中,给人们以绚丽丰富的视觉效果。但是多媒体图像又因其种类繁多而不能被人们所一一了解,甚至是最常见的图像格式也只是对其格式名略有耳闻。那么,本文将对多媒体常见的图像格式做一番简述,介绍它们的特性和不同点以及其实用性。 二.五种图像格式详解 1、BMP图像 BMP图像,即通常所说的位图(Bitmap),是最早应用于Windows操作系统,也是Windows操作系统中的标准图像文件格式,在Windows环境中运行的图形图像软件都支持BMP图像格式。因而这种格式的图像是最常见最简单的,像我们常用的桌面壁纸一般都是BMP格式图像。 BMP图像文件的文件结构一般认为包括了三部分:表头、调色板和图像像素数据,再细分的话,表头部分有分文件头和位图信息头。表头长度为54个字节,内容包括了BMP文件的类型、文件的大小、位图文件的保留字、位图数据距文件头的偏移量以及位图的尺寸等信息。调色板中有若干个表项相对应地定义一种颜色,从而说明位图中的颜色。只有全彩色BMP图像文件内没有调色板数据,其余不超过256种颜色的图像文件都必须设定调色板信息(电视节目制作中的图形图像格式)。图像像素数据每一个点代表一个像素值,它有着比较独特的记录方式:位图中的像素值是以在扫描行内从左到右、扫描行之间从下到上这样的顺序记录的。 BMP图像文件有下列3个特点:

JPEG图像格式详解

JPEG图像格式详解 JPEG压缩简介 ------------- 1.色彩模型 JPEG的图片使用的是YCrCb颜色模型,而不是计算机上最常用的RGB.关于色彩模型,这里不多阐述.只是说明,YCrCb模型更适合图形压缩.因为人眼对图片上的亮度Y的变化远比色度C的变化敏感.我们完全可以每个点保存一个8bit的亮度值,每2x2个点保存一个Cr Cb值,而图象在肉眼中的感觉不会起太大的变化.所以,原来用RGB模型,4个点需要4x3=12字节.而现在仅需要4+2=6字节;平均每个点占12bit.当然JPEG格式里允许每个点的C值都记录下来;不过MPEG里都是按12bit一个点来存放的,我们简写为YUV12. [R G B]->[Y Cb Cr]转换 ------------------------- (R,G,B都是8bit unsigned) |Y||0.2990.5870.114||R||0| |Cb|=|-0.1687-0.33130.5|*|G|+|128| |Cr||0.5-0.4187-0.0813||B||128| Y=0.299*R+0.587*G+0.114*B(亮度) Cb=-0.1687*R-0.3313*G+0.5*B+128 Cr=0.5*R-0.4187*G-0.0813*B+128 [Y,Cb,Cr]->[R,G,B]转换 ------------------------- R=Y+ 1.402*(Cr-128) G=Y-0.34414*(Cb-128)-0.71414*(Cr-128) B=Y+ 1.772*(Cb-128) 一般,C值(包括Cb Cr)应该是一个有符号的数字,但这里被处理过了,方法是加上了128.JPEG里的数据都是无符号8bit的. 2.DCT(离散余弦变换) JPEG里,要对数据压缩,先要做一次DCT变换.DCT变换的原理,涉及到数学知识,这里我们不必深究.反正和傅立叶变换(学过高数的都知道)是差不多了.经过

JPEG图像格式详解

JPEG图像格式详解 JPEG 压缩简介 ------------- 1. 色彩模型 JPEG 的图片使用的是 YCrCb 颜色模型, 而不是计算机上最常用的 RGB. 关于色彩模型, 这里不多阐述. 只是说明, YCrCb 模型更适合图形压缩. 因为人眼对图片上的亮度 Y 的变化远比色度 C 的变化敏感. 我们完全可以每个点保存一个 8bit 的亮度值, 每 2x2 个点保存一个 Cr Cb 值, 而图象在肉眼中的感觉不会起太大的变化. 所以, 原来用 RGB 模型, 4 个点需要 4x3=12 字节. 而现在仅需要 4+2=6 字节; 平均每个点占 12bit. 当然 JPEG 格式里允许每个点的 C 值都记录下来; 不过 MPEG 里都是按 12bit 一个点来存放的, 我们简写为 YUV12. [R G B] -> [Y Cb Cr] 转换 ------------------------- (R,G,B 都是 8bit unsigned) | Y | | 0.299 0.587 0.114 | | R | | 0 | | Cb | = |- 0.1687 - 0.3313 0.5 | * | G | + |128| | Cr | | 0.5 - 0.4187 - 0.0813| | B | |128| Y = 0.299*R + 0.587*G + 0.114*B (亮度) Cb = - 0.1687*R - 0.3313*G + 0.5 *B + 128 Cr = 0.5 *R - 0.4187*G - 0.0813*B + 128 [Y,Cb,Cr] -> [R,G,B] 转换 ------------------------- R = Y + 1.402 *(Cr-128) G = Y - 0.34414*(Cb-128) - 0.71414*(Cr-128) B = Y + 1.772 *(Cb-128) 一般, C 值 (包括 Cb Cr) 应该是一个有符号的数字, 但这里被处理过了, 方法是加上了 128. JPEG 里的数据都是无符号 8bit 的. 2. DCT (离散余弦变换) JPEG 里, 要对数据压缩, 先要做一次 DCT 变换. DCT 变换的原理, 涉及到数学知识, 这里我们不必深究. 反正和傅立叶变换(学过高数的都知道) 是差不多了. 经过这个变换, 就把图片里点和点间的规律呈现出来了, 更方便压缩.JPEG 里是对每 8x8

图像格式详细解析

YUV格式详解 1.什么是RGB? RGB是红绿蓝三原色的意思,R=Red、G=Green、B=Blue。 2.什么是YUV/YCbCr/YPbPr? 亮度信号经常被称作Y,色度信号是由两个互相独立的信号组成。视颜色系统和格式不同,两种色度信号经常被称作U和V或Pb和Pr或Cb和Cr。这些都是由不同的编码格式所产生的,但是实际上,他们的概念基本相同。在DVD中,色度信号被存储成Cb和Cr (C代表颜色,b代表蓝色,r代表红色)。 3.什么是4:4:4、4:2:2、4:2:0? 在最近十年中,视频工程师发现人眼对色度的敏感程度要低于对亮度的敏感程度。在生理学中,有一条规律,那就是人类视网膜上的视网膜杆细胞要多于视网膜锥细胞,说得通俗一些,视网膜杆细胞的作用就是识别亮度,而视网膜锥细胞的作用就是识别色度。所以,你的眼睛对于亮和暗的分辨要比对颜色的分辨精细一些。正是因为这个,在我们的视频存储中,没有必要存储全部颜色信号。既然眼睛看不见,那为什么要浪费存储空间(或者说是金钱)来存储它们呢? 像Beta或VHS之类的消费用录像带就得益于将录像带上的更多带宽留给黑—白信号(被称作“亮度”),将稍少的带宽留给彩色信号(被称作“色度”)。 在MPEG2(也就是DVD使用的压缩格式)当中,Y、Cb、Cr信号是分开储存的(这就是为什么分量视频传输需要三条电缆)。其中Y信号是黑白信号,是以全分辨率存储的。但是,由于人眼对于彩色信息的敏感度较低,色度信号并不是用全分辨率存储的。 色度信号分辨率最高的格式是4:4:4,也就是说,每4点Y采样,就有相对应的4点Cb和4点Cr。换句话说,在这种格式中,色度信号的分辨率和亮度信号的分辨率是相同的。这种格式主要应用在视频处理设备内部,避免画面质量在处理过程中降低。当图像被存储到Master Tape,比如D1或者D5,的时候,颜色信号通常被削减为4:2:2。

医学图像格式分析与转换

医学图像格式分析与转换 本文分为三个部分——医学图像及其组成、医学图像格式和医学图像的格式转换。本文希望通过对深度学习的相关知识的介绍,最终达到医学图像分析的目的。 医学图像及其组成 由Michele Larobina和Loredana Murino发表的论文,对本文即将展开的讨论来说是一个很好的信息参考。Michele Larobina和Loredana Murino二人是意大利“生物架构和生物成像协会”(IBB)的成员。IBB是意大利“国家研究委员会”的组成部分,同时也是意大利最大的公共研究机构。我们的另一个参考信息资源是一篇题为《Working with the DICOM and NIfTI data standards in R》的论文。 ?什么是医学图像? 医学图像是反映解剖区域内部结构或内部功能的图像,它是由一组图像元素——像素(2D)或立体像素(3D)——组成的。医学图像是由采样或重建产生的离散性图像表征,它能将数值映射到不同的空间位置上。像素的数量是用来描述某一成像设备下的医学成像的,同时也是描述解剖及其功能细节的一种表达方式。像素所表达的具体数值是由成像设备、成像协议、影像重建以及后期加工所决定的。 ?医学图像的组成

医学图像组成医学图像有四个关键成分——像素深度、光度表示、元数据和像素数据。这些成分与图像大小和图像分辨率有关。 图像深度(又称比特深度或颜色深度)是用来编码每个像素信息的比特数。比如说,一个8比特的光栅可以有256个从0到255数值不等的图像深度。 “光度表示”解释了像素数据如何以正确的图像格式(单色或彩色图片)显示。为了说明像素数值中是否存在色彩信息,我们将引入“每像素采样数”的概念。单色图像只有一个“每像素采样”,而且图像中没有色彩信息。图像是依靠由黑到白的灰阶来显示的,灰阶的数目很明显取决于用来储存样本的比特数。在这里,灰阶数与像素深度是一致的。医疗放射图像,比如CT 图像和磁共振(MR)图像,是一个灰阶的“光度表示”。而核医学图像,比如正电子发射断层图像(PET)和单光子发射断层图像(SPECT),通常都是以彩色映射或调色板来显示的。 “元数据”是用于描述图形象的信息。它可能看起来会比较奇怪,但是在任何一个文件格式中,除了像素数据之外,图像还有一些其他的相关信息。这样的图像信息被称为“元数据”,它通常以“数据头”的格式被储存在文件的开头,涵盖了图像矩阵维度、空间分辨率、像素深度和光度表示等信息。

BMP图像格式分析

BMP图像格式分析 BMP图像文件格式是微软公司为其Windows环境设置的标准图像格式,而且 Windows系统软件中还同时内含了一系列支持BMP图像处理的API函数,随着Windows 在世界范围内的不断普及,BMP文件格式无疑也已经成为PC机上的流行图像文件格式。它的主要特点可以概括为:文件结构与PCX文件格式类似,每个文件只能存放一幅图像;图像数据是否采用压缩方式存放,取决于文件的大小与格式,即压缩处理成为图像文件的一个选项,用户可以根据需要进行选择。其中,非压缩格式是BMP图像文件所采用的一种通用格式。但是,如果用户确定将BMP文件格式压缩处理,则Windows设计了两种压缩方式:如果图像为16色模式,则采用RLE4压缩方式,若图像为256色模式,则采用RLE8压缩方式。同时,BMP 图像文件格式可以存储单色、16色、256色以及真彩色四种图像数据,,其数据的排列顺序与一般文件不同,它以图像的左下角为起点存储图像,而不是以图像的左上角为起点;而且BMP图像文件格式中还存在另外一个与众不同的特点,即其调色板数据所采用的数据结构中,红、绿、蓝三种基色数据的排列顺序也恰好与其它图像文件格式相反。总之,BMP图像文件格式拥有许多适合于Windows环境的新特色,而且随着Windows版本的不断更新,微软公司也在不断改进其BMP 图像文件格式,例如:当前BMP图像文件版本中允许采用32位颜色表,而且针对32位Windows 的产生,相应的API 函数也在不断地报陈出新,这些无疑都同时促成了BMP文件格式的不断风靡。但由于BMP文件格式只适合于Windows上的应用软件,而对于DOS环境中的各种应用软件则无法提供相应的支持手段,因此这无疑是阻碍BMP文件格式的流通程度超过PCX文件格式的一个重要因素。 Windows中定义了两种位图文件类型,即一般位图文件格式与设备无关位图文件格式。其中,由于设备无关位图(DIB)文件格式具有更强的灵活性与完整的图像数据、压缩方式等定义。BMP图像文件的结构可以分为如下三个部分:文件头、调色板数据以及图像数据。其中文件头的长度为固定值54个字节;调色板数据对所有不超过256色的图像模式都需要进行设置,即使是单色图像模式也不例外,但是对于真彩色图像模式,其对应的BMP文件结构中却不存在相应调色板数据的设置信息;图像数据既可以采用一定的压缩算法进行处理,也可以不必对图像数据进行压缩处理,这不仅与图像文件的大小相关,而且也与对应的图像处理软件是否支持经过压缩处理的BMP图像文件相关。以下将分别介绍BMP图像文件结构中的这三个重要组成部分。特别值得注意的是:BMP 图像文件结构设计得相当简单,这无疑有利于图像文件的处理速度,但是同时也使得 BMP图像文件格式具有一定的局限性,即一个BMP图像文件只能存储一幅图像。 BMP图像文件的文件头定义 Windows中将BMP图像文件的文件头分成两个数据结构,其中一个数据结构中包含BMP文件的类型、大小和打印格式等信息,称为BITMAPFILEHEADERl另外一个数据结构中则包含BMP文件的尺寸定义等信息,称为BITMAPINFOHEADERl 如果图像文件还需要调色板数据,则将其存放在文件头信息之后。 BITMAPFIlEHEADER数据结构在Windows.h中的定义为: typedef struCttagBITMAPFIlEHEADER { WORD bftype; DWORD bfsiZe: WORD bfReservedl; WORD bgReserved2: DWORD bfoffBits: }BITMAPFILEHEADER; 其中,bfrype在图像文件存储空间中的数据地址为0,数据类型为unsignedchar,内容为固定值“BM”,用于标志文件格式,表示该图像文件为BMP文件。 bfsize的数据地址为2,类型为unsignedlong,它以字节为单位,定义位图文件的大小。 bfReservedl与bfReserved2的数据地址分别为6和8,数据类型则都为unsignedint,二者都是BMP文件的保留字,没有任何意义,其值必须为0. bfoffBits的数据地址为10,数据类型为unsignedlong,它以字节为单位,指示图像数据在文件内的起始地址,即图像数

BMP图片格式详解

BMP图像格式详解 一.简介 BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式。Windows系统内部各图像绘制操作都是以BMP为基础的。Windows 3.0以前的BMP图文件格式与显示设备有关,因此把这种BMP图象文件格式称为设备相关位图DDB(device-dependent bitmap)文件格式。Windows 3.0以后的BMP图象文件与显示设备无关,因此把这种BMP图象文件格式称为设备无关位图DIB(device-independent bitmap)格式(注:Windows 3.0以后,在系统中仍然存在DDB位图,象BitBlt()这种函数就是基于DDB位图的,只不过如果你想将图像以BMP格式保存到磁盘文件中时,微软极力推荐你以DIB格式保存),目的是为了让Windows能够在任何类型的显示设备上显示所存储的图象。BMP位图文件默认的文件扩展名是BMP或者bmp(有时它也会以.DIB或.RLE作扩展名)。 二.BMP格式结构 BMP文件的数据按照从文件头开始的先后顺序分为四个部分: ◆位图文件头(bmp file header):提供文件的格式、大小等信息 ◆位图信息头(bitmap information):提供图像数据的尺寸、位平面数、压缩方式、颜色索 引等信息 ◆调色板(color palette):可选,如使用索引来表示图像,调色板就是索引与其对应的颜色 的映射表 ◆位图数据(bitmap data):图像数据区 BMP图片文件数据表如下:

三.BMP文件头 BMP文件头结构体定义如下: typedef struct tagBITMAPFILEHEADER { UINT16 bfType; //2Bytes,必须为"BM",即0x424D 才是Windows位 图文件 DWORD bfSize; //4Bytes,整个BMP文件的大小 UINT16 bfReserved1; //2Bytes,保留,为0 UINT16 bfReserved2; //2Bytes,保留,为0 DWORD bfOffBits; //4Bytes,文件起始位置到图像像素数据的字节偏移量} BITMAPFILEHEADER; BMP文件头数据表如下:

《数字图像处理》习题参考答案与解析

《数字图像处理》习题参考答案 第1 章概述 1.1 连续图像和数字图像如何相互转换?答:数字图像将图像看成是许多大小相同、 形状一致的像素组成。这样,数字图像可以 用二维矩阵表示。将自然界的图像通过光学系统成像并由电子器件或系统转化为模拟图像(连续图像)信号,再由模拟/数字转化器(ADC)得到原始的数字图像信号。图像的数字化包括离散和量化两个主要步骤。在空间将连续坐标过程称为离散化,而进一步将图像的幅度值(可能是灰度或色彩)整数化的过程称为量化。 1.2 采用数字图像处理有何优点?答:数字图像处理与光学等 模拟方式相比具有以下鲜明的特点: 1.具有数字信号处理技术共有的特点。(1)处理精度高。(2)重现性能好。(3)灵活性高。 2.数字图像处理后的图像是供人观察和评价的,也可能作为机器视觉的预处理结果。 3.数字图像处理技术适用面宽。 4.数字图像处理技术综合性强。 1.3 数字图像处理主要包括哪些研究内容?答:图像处理的任务是将客观世界的景象进 行获取并转化为数字图像、进行增强、变换、 编码、恢复、重建、编码和压缩、分割等处理,它将一幅图像转化为另一幅具有新的意义的图像。 1.4 讨论数字图像处理系统的组成。列举你熟悉的图像处理系统并分析它们的组成和功能。 答:如图1.8,数字图像处理系统是应用计算机或专用数字设备对图像信息进行处理的信息系统。图像处理系统包括图像处理硬件和图像处理软件。图像处理硬件主要由图像输入设备、图像运算处理设备(微计算机)、图像存储器、图像输出设备等组成。软件系统包括操作系统、控制软件及应用软件等。 图1.8 数字图像处理系统结构 图 1

1.5 常见的数字图像处理开发工具有哪些?各有什么特点? 答.目前图像处理系统开发的主流工具为 Visual C++(面向对象可视化集成工具) 和 MATLAB 的图像处理工具箱(Image Processing Tool box)。两种开发工具各有所长且有 相互间的软件接口。 Microsoft 公司的 VC++是一种具有高度综合性能的面向对象可视化集成工具,用它开 发出来的 Win 32 程序有着运行速度快、可移植能力强等优点。VC++所提供的 Microsoft 基础类库 MFC 对大部分与用户设计有关的 Win 32 应用程序接口 API 进行了封装,提高 了代码的可重用性,大大缩短了应用程序开发周期,降低了开发成本。由于图像格式多且 复杂,为了减轻程序员将主要精力放在特定问题的图像处理算法上,VC++ 6.0 提供的动 态链接库 ImageLoad.dll 支持BMP、JPG、TIF 等常用6 种格式的读写功能。 MATLAB 的图像处理工具箱MATLAB 是由MathWorks 公司推出的用于数值计算的有力工具,是一种第四代计算机语言,它具有相当强大的矩阵运算和操作功能,力求使人们摆脱繁 杂的程序代码。MATLAB 图像处理工具箱提供了丰富的图像处理函数,灵活运用这些函数可 以完成大部分图像处理工作,从而大大节省编写低层算法代码的时间,避免程序设计中的重 复劳动。MATLAB 图像处理工具箱涵盖了在工程实践中经常遇到的图像处理手段和算法,如 图形句柄、图像的表示、图像变换、二维滤波器、图像增强、四叉树分解域边缘检测、二值 图像处理、小波分析、分形几何、图形用户界面等。但是,MATLAB 也存在不足之处限制了 其在图像处理软件中实际应用。首先,强大的功能只能在安装有MA TLAB 系统的机器上使用 图像处理工具箱中的函数或自编的 m 文件来实现。其次,MATLAB 使用行解释方式执行代码,执行速度很慢。第三,MATLAB 擅长矩阵运算,但对于循环处理和图形界面的处理不及C++ 等语言。为此,通应用程序接口API 和编译器与其他高级语言(如C、 C++、Java 等)混 合编程将会发挥各种程序设计语言之长协同完成图像处理任务。API 支持 MA TLAB 与外部数 据与程序的交互。编译器产生独立于MATLAB 环境的程序,从而使其他语言的应用程序使用MATLAB。 1.6 常见的数字图像应用软件有哪些?各有什么特点?答:图像应用软件是可直接供 用户使用的商品化软件。用户从使用功能出发,只要了解 软件的操作方法就可以完成图像处理的任务。对大部分用户来说,商品化的图像应用软件无 需用户进行编程,操作方便,功能齐全,已经能满足一般需求,因而得到广泛应用。常用图 像处理应用软件有以下几种: 1.PHOTOSHOP:当今世界上一流的图像设计与制作工具,其优越性能令其产品望尘莫及。PHOTOSHOP 已成为出版界中图像处理的专业标准。高版本的 PHOTOSHOP 支持多达 20 多种图像格式和 TWAIN 接口,接受一般扫描仪、数码相机等图像输入设备采集的图像。PHOTOSHOP 支持多图层的工作方式,只是 PHOTOSHOP 的最大特色。使用图层功能可以很 方便地编辑和修改图像,使平面设计充满创意。利用 PHOTOSHOP 还可以方便地对图像进 行各种平面处理、绘制简单的几何图形、对文字进行艺术加工、进行图像格式和颜色模式 的转换、改变图像的尺寸和分辨率、制作网页图像等。 2.CorelDRAW:一种基于矢量绘图、功能强大的图形图像制作与设计软件。位图式图像是 由象素组成的,与其相对,矢量式图像以几何、色彩参数描述图像,其内容以线条和色块为主。可见,采用不同的技术手段可以满足用户的设计要求。位图式图像善于表现连续、丰富 色调的自然景物,数据量较大;而矢量式图像强于表现线条、色块的图案,数据量较小。 合理的利用两种不同类型的图像表现方式,往往会收到意想不到的艺术效果。CorelDraw是

(完整版)数字图像处理复习题(选择题及相应答案)解析

第一章 1.1.1可以用f(x,y)来表示:(ABD) A、一幅2-D数字图像 B、一个在3-D空间中的客观景物的投影; C 2-D空间XY中的一个坐标的点的位置; D、在坐标点(X,Y)的某种性质F的数值。 提示:注意3个符号各自的意义 1.1.2、一幅数字图像是:(B) A、一个观测系统; B、一个有许多像素排列而成的实体; C、一个2-D数组中的元素 D、一个3-D空间的场景。 提示:考虑图像和数字图像的定义 1.2.2、已知如图1.2.2中的2个像素P和Q,下面说法正确的是:(C) A、2个像素P和Q直接的De距离比他们之间的D4距离和D8距离都短: B、2个像素p和q之间的D4距离为5; C、2个像素p和q之间的D8距离为5; D、2个像素p和q之间的De距离为5。 1.4.2、半调输出技术可以:(B) A、改善图像的空间分辨率; B、改善图像的幅度分辨率; C、利用抖动技术实现; D、消除虚假轮廓现象。 提示:半调输出技术牺牲空间分辨率以提高幅度分辨率 1.4.3、抖动技术可以(D) A、改善图像的空间分辨率; B、改善图像的幅度分辨率; C、利用半输出技术实现; D、消除虚假轮廓现象。 提示:抖动技术通过加入随即噪声,增加了图像的幅度输出值的个数 1.5.1、一幅256*256的图像,若灰度级数为16,则存储它所需的比特数是:(A) A、256K B、512K C、1M C、2M 提示:表达图像所需的比特数是图像的长乘宽再乘灰度级数对应的比特数。1.5.2、图像中虚假轮廓的出现就其本质而言是由于:(A)(平滑区域内灰度应缓慢变化,但当图像的灰度级数不够多时会产生阶跃) A、图像的灰度级数不够多造成的; B、图像的空间分辨率不够高造成; C、图像的灰度级数过多造成的 D、图像的空间分辨率过高造成。 提示:图像中的虚假轮廓最易在平滑区域内产生。 1.5.3、数字图像木刻画效果的出现是由于下列原因所产生的:(A) A、图像的幅度分辨率过小; B、图像的幅度分辨率过大; C、图像的空间分辨率过小; D、图像的空间分辨率过大;

很详细的bitmap图象格式详解!

Bitmaps should be saved in a file that uses the established bitmap file format and assigned a name with the three-character .bmp extension. The established bitmap file format consists of a BITMAPFILEHEADER structure followed by a BITMAPINFOHEADER, BITMAPV4HEADER, or BITMAPV5HEADER structure. An array of RGBQUAD structures (also called a color table) follows the bitmap information header structure. The color table is followed by a second array of indexes into the color table (the actual bitmap data). The bitmap file format is shown in the following illustration. Windows 95, Windows NT 4.0: Replace the BITMAPINFOHEADER structure with the BITMAPV4HEADER structure. Windows 98/Me, Windows 2000/XP: Replace the BITMAPINFOHEADER structure with the BITMAPV5HEADER structure. The members of the BITMAPFILEHEADER structure identify the file; specify the size of the file, in bytes; and specify the offset from the first byte in the header to the first byte of bitmap data. The members of the BITMAPINFOHEADER, BITMAPV4HEADER, or BITMAPV5HEADER structure specify the width and height of the bitmap, in pixels; the color format (count of color planes and color bits-per-pixel) of the display device on which the bitmap was created; whether the bitmap data was compressed before storage and the type of compression used; the number of bytes of bitmap data; the resolution of the display device on which the bitmap was created; and the number of colors represented in the data. The RGBQUAD structures specify the RGB intensity values for each of the colors in the device's palette. The color-index array associates a color, in the form of an index to an RGBQUAD structure, with each pixel in a bitmap. Thus, the number of bits in the color-index array equals the number of pixels times the number of bits needed to index the RGBQUAD structures. For example, an 8x8 black-and-white bitmap has a color-index array of 8 * 8 * 1 = 64 bits, because one bit is needed to index two colors. The Redbrick.bmp, mentioned in About Bitmaps, is a 32x32 bitmap with 16 colors; its color-index array is 32 * 32 * 4 = 4096 bits because four bits index 16 colors. To create a color-index array for a top-down bitmap, start at the top line in the bitmap. The index of the RGBQUAD for the color of the left-most pixel is the first n bits in the color-index array (where n is the number of bits needed to indicate all of the RGBQUAD structures). The color of the next pixel to the right is the next n bits in the array, and so forth. After you reach the right-most pixel in the line, continue with the left-most pixel in the line below. Continue until you finish with the entire bitmap. If it is a bottom-up bitmap, start at the bottom line of the bitmap instead of the top line, still going from left to right, and continue to the top line of the bitmap.

图像格式详细解析

格式详解 .什么是? 是红绿蓝三原色的意思,、、。 .什么是? 亮度信号经常被称作,色度信号是由两个互相独立的信号组成。视颜色系统和格式不同,两种色度信号经常被称作和或和或和。这些都是由不同的编码格式所产生的,但是实际上,他们的概念基本相同。在中,色度信号被存储成和(代表颜色,代表蓝色,代表红色)。 .什么是、、? 在最近十年中,视频工程师发现人眼对色度的敏感程度要低于对亮度的敏感程度。在生理学中,有一条规律,那就是人类视网膜上的视网膜杆细胞要多于视网膜锥细胞,说得通俗一些,视网膜杆细胞的作用就是识别亮度,而视网膜锥细胞的作用就是识别色度。所以,你的眼睛对于亮和暗的分辨要比对颜色的分辨精细一些。正是因为这个,在我们的视频存储中,没有必要存储全部颜色信号。既然眼睛看不见,那为什么要浪费存储空间(或者说是金钱)来存储它们呢? 像或之类的消费用录像带就得益于将录像带上的更多带宽留给黑—白信号(被称作“亮度”),将稍少的带宽留给彩色信号(被称作“色度”)。 在(也就是使用的压缩格式)当中,、、信号是分开储存的(这就是为什么分量视频传输需要三条电缆)。其中信号是黑白信号,是以全分辨率存储的。但是,由于人眼对于彩色信息的敏感度较低,色度信号并不是用全分辨率存储的。 色度信号分辨率最高的格式是,也就是说,每点采样,就有相对应的点和点。换句话说,在这种格式中,色度信号的分辨率和亮度信号的分辨率是相同的。这种格式主要应用在视频处理设备内部,避免画面质量在处理过程中降低。当图像被存储到,比如或者,的时候,颜色信号通常被削减为。

在图中,你可以看到格式的亮度、色度采样分布。就像图中所表示的,画面中每个象素都有与之对应的色度和亮度采样信息。[] 其次就是,就是说,每点采样,就有点和点。在这种格式中,色度信号的扫描线数量和亮度信号一样多,但是每条扫描线上的色度采样点数却只有亮度信号的一半。当信号被解码的时候,“缺失”的色度采样,通常由一定的内插补点算法通过它两侧的色度信息运算补充。 看格式亮度、色度采样的分布情况。在这里,每个象素都有与之对应的亮度采样,同时一半的色度采样被丢弃,所以我们看到,色度采样信号每隔一个采样点才有一个。当着张画面显示的时候,缺少的色度信息会由两侧的颜色通过内插补点的方式运算得到。就像上面提到的那样,人眼对色度的敏感程度不如亮度,大多数人并不能分辨出和颜色构成的画面之间的不同。

解析PNG图像文件

PNG图像文件介绍 PNG图像文件格式 PNG是可携式网络图像(portable network graphics)的英文缩写。PNG是从网络上开始发展的,目的是替代GIF和JPG格式,PNG图像文件格式也是当今游戏中常用的图像资源文件格式了。PNG图像文件支持的图像颜色非常丰富,存储灰度图时可使用16位色深表示,存储真彩色图像时色深更可达到48位之多。 PNG图像文件介绍 与BMP格式相比,PNG格式稍微复杂些。PNG图像支持从0~255级次的多层透明色,使用无损压缩的zlib压缩算法压缩图像数据。通常使用zlib压缩过的图像文件大小比BMP使用的RLE压缩的效果好,BMP的RLE压缩算法只支持压缩8位以下的图像,对于16位以上的真彩色图像不支持图像压缩,PNG使用的zlib压缩算法支持任何色深的图像数据压缩,压缩后的图像数据可以完整还原,相比之下JPG需要牺牲图像质量使用有损压缩来获得大的压缩率。 最后有一点需要注意,PNG图像格式使用Big-Endian顺序存储数据。 PNG图像文件存储结构(1) PNG文件存储结构的格式可以在https://www.sodocs.net/doc/3110147480.html,/TR/REC-png.htm上找到定义。 BMP文件总体上由两部分组成,分别是PNG文件标志和数据块(chunks),如表5-8所示。其中数据块分为两类:关键数据块(critical chunk)和辅助数据块(ancillary chunks)。 表5-8 PNG文件的组成结构 PNG文件标志 数据块(chunks) 1.PNG文件标志 PNG文件标志由8字节数据组成:89 50 4E 47 0D 0A 1A 0Ah,其中50 4E 47对应的ASCII值是"PNG"。 2.数据块(chunks) 紧跟在PNG文件标志后面的数据是数据块(chunks),数据块(chunks)分为两类:关键数据块(critical chunks)和辅助数据块(ancillary chunks)。 关键数据块(critical chunk)在PNG文件中是必须有的,而辅助数据块(ancillary chunks)是可选的。

JPG图片文件结构分析

JPG文件结构分析 2010-04-06 22:32 【转自网络 作者:一 江秋水】 一、简述 JPEG是一个压缩标准,又可分为标准 JPEG、渐进式JPEG及JPEG2000三种: ①标准JPEG:以24位颜色存储单个光栅图像,是与平台无关的格式,支持最高级 别的压缩,不过,这种压缩是有损耗的。此类型图片在网页下载时只能由上而下依序显示图片,直到图片资料全部下载完毕,才能看到全貌。 ②渐进式 JPEG:渐进式JPG为标准JPG的改良格式,支持交错,可以在网页下载时,先呈现出图片的粗略外观后,再慢慢地呈现出完整的内容,渐进式JPG的文件 比标准JPG的文件要来得小。 ③JPEG2000:新一代的影像压缩法,压缩品质更好,其压缩率比标准JPEG高约30%左右,同时支持有损 和无损压缩。一个极其重要的特征在于它能实现渐进传输,即先传输图像的轮廓,然后逐步传输数据,让图像由朦胧到清晰显示。 以一幅24 位彩色图像为例,JPEG的压缩分为四个步骤: ①颜色转换:在将彩色图像进行压缩之前,必须先对颜色模式进行数据转换。转换完成之后 还需要进行数据采样。 ②DCT 变换:是将图像信号在频率域上进行变换,分离出高频和低频信息的处理过程,然后再对图像的高频部分(即图像细 节)进行压缩。首先以象素为单位将图像划分为多个8×8的矩阵,然后对每一个矩阵作DCT 变换。把8×8的象素矩阵变成8×8的频率系数矩阵(所谓频率 就是颜色改变的速度),频率系数都是浮点数。 ③量化:由于下面第四步编码过程中使用的码本都是整数,因此要对频率系数进行量化,将之转换为整 数。数据量化后,矩阵中的数据都是近似值,和原始图像数据之间有了差异,这一差异是造成图像压缩后失真的主要原因。这一过程中,质量因子的选取至为重要。 值选得大,可以大幅度提高压缩比,但是图像质量就比较差,质量因子越小图像重建质量越好,但是压缩比越低。 ④编码:编码是基于统计特性的方 法。

PhotoShop文件格式解析

PSD文件解析 (lzgame整理) 一、PSD文件结构为: 二、PSD文件头信息结构 typedef struct tagPSD_FILE_HEADER { DWORD signature; WORD version; WORD reserved1; WORD reserved2; WORD reserved3; WORD number_of_channels; DWORD height_of_image; DWORD width_of_image; WORD depth; WORD color_mode; 三、PSD颜色映射表,在photoshop中仅有索引色模式和双色调模式有颜色映射表,数据格式如下: 1.4字节(int):颜色映射表三色总颜色数 2.颜色映射表数据区:颜色映射表中保存的颜色数量为“三色总颜色数/3”,在颜色映射表中每个颜色 的RGB三色被分开保存,每个颜色值2字节,依次为R通道数据区、G通道数据区、B通道数据区。 可以计算得到总数据长度为“颜色映射表三色总颜色数 * 2字节”

四、PSD图像资源,起始为4字节的图像资源数量(int),然后为图像资源数据区,图像资源的数据结构为: typedef structtagPSD_IMAGE_RESOURCE{ DWORD signature; WORD UniqueID; BYTE nNameSize; BYTE* name; DWORD nResourceSize; BYTE* data; } psd_ image_resource; 已知资源ID介绍: 1.ID 1005:图像分辨率,共16字节 1)4字节(int):水平分辨率(像素/英寸) 2)2字节(short):画布显示的水平分辨率单位,1:像素/英寸,2:厘米/英寸 3)2字节(short):画布显示的宽度单位, 1:英寸,2:厘米,3:点,4:派卡,5:列 4)4字节(int):垂直分辨率(像素/英寸) 5)2字节(short):画布显示的垂直分辨率单位,1:像素/英寸,2:厘米/英寸 6)2字节(short):画布显示的高度单位, 1:英寸,2:厘米,3:点,4:派卡,5:列 2.ID 1006:Alpha通道的名称列表,以Pascal字符串存储,即通道名称字符串长度(1字节)+ 通道 名称(最大255字节)。可以通过计算名称数量获得总alpha通道数。 3.ID 1007:颜色通道信息 1)10字节:颜色通道对应的颜色值: 2)2字节(short):颜色值使用的颜色空间类型,颜色空间表示了PhotoShop把不同颜色模式转换 为屏幕RGB显示模式的取值方式。 颜色空间类型定义为: typedef enum { psd_color_space_dummy = -1, // 没有颜色空间 psd_color_space_rgb, // RGB颜色空间 psd_color_space_hsb, // HSB颜色空间 psd_color_space_cmyk, // CMYK颜色空间 psd_color_space_pantone, // 潘通颜色空间 psd_color_space_focoltone, // FOCOLTONE颜色空间 psd_color_space_trumatch, // TRUMATCH颜色空间 psd_color_space_toyo, // TOYO ColorFinder颜色 psd_color_space_lab, // LAB颜色空间 psd_color_space_gray, // 灰度颜色空间

相关主题