信源编码作业一

1. RGB与YUV之间的转换

1)由电视原理可知,亮度和色差信号的构成如下:

Y=0.2990 R+0.5870G+0.1140B

R-Y=0.7010R-0.5870G-0.1140B

B-Y=-0.2990R-0.5870G+0.8860B

为了使色差信号的动态范围控制在0.5之间,需要进行归一化,对色差信号引入压缩系数。归一化后的色差信号为:

U=-0.1684R-0.3316G+0.5B

V=0.5R-0.4187G-0.0813B

2)码电平分配及数字表达式

A.亮电平信号量化后码电平分配

在对分量信号进行8比特均匀量化时,共分为256个等间隔的量化级。为了防止信号变动造成过载,在256级上端留20级,下端留16级作为信号超越动态范围的保护带。

B.色差信号量化后码电平分配

色差信号经过归一化处理后,动态范围为-0.5-0.5,让色差零电平对应码电平128,色差信号总共占225个量化级。在256级上端留15级,下端留16级作为信号超越动态范围的保护带。

3)色度格式

若色差信号的取样频率低于亮度信号的取样频率,就称为图像亚取样。

4:4:4格式:对图像不亚取样,通常用于图像信号源及特殊的高质量视频信号。

4:2:2格式:色差信号U,V的取样频率为亮度信号取样频率的二分之一,在水平方向的取样点数为Y的一半,而在垂直方向则与Y相同。

4:2:0格式:色差信号U,V的取样频率为亮度信号取样频率的四分之一,在水平方向和垂直方向上的取样点数均为Y的一半。

2.WAV数据解析

RIFF(Resource Interchange File Format)用来捕获、编辑和播放音频和视频序列。RIFF数据格式有两种类型:

Chunks:包含4字节的标识符,4字节表示该chunk的大小,以及数据。

Lists:一个chunk的子集,它包含关键字“LIST”,4字节表示该list的大小,4字节标识符,以及数据。

WAV是波形音频文件(Wave Audio),是Windows中用来表示数字化声音的一种标准格式,其文件扩展名为.wav,是一种非常简单的RIFF文件,它的格式类型为"WAVE"。RIFF块包含两个子块,这两个子块的ID分别是"fmt"和"data",其中"fmt"子块由结构PCMWAVEFORMAT所组成,其子块的大小就是sizeof(PCMWAVEFORMAT),数据组成就是PCMWAVEFORMAT结构中的数据。WAVE文件结构如下。

标志符(RIFF)

数据大小

格式类型("WAVE")

"fmt"

Sizeof(PCMWAVEFORMAT)

PCMWAVEFORMAT

"data"

声音数据大小

声音数据

1. 整个WAV文件分成两部分:文件头和数据块.WAV格式文件主要有两种文件头:

1)标准的44字节文件头


以'RIFF'作为标示,然后紧跟着为size字段,该size是整个wav文件大小减去ID和Size所占用的字节数,即FileLen - 8 =Size.然后是Type字段,为'WAVE',表示是wav文件.结构定义如下:

struct RIFF_HEADER

{char szRiffID[4]; //'R','I','F','F'

 DWORD dwRiffSize;

char szRiffFormat[4]; //'W','A','V','E'

};

 以'fmt '作为标示.一般情况下Size为16,此时最后附加信息没有;如果为18则最后多了2个字节的附加信息.主要由一些软件制成的wav格式中含有该2个字节的

 struct WAVE_FORMAT

{ WORD wFormatTag;

WORD wChannels;

DWORD dwSamplesPerSec;

DWORD dwAvgBytesPerSec;

WORD wBlockAlign;

WORD wBitsPerSample;};

 struct FMT_BLOCK

{ char  szFmtID[4]; // 'f','m','t',' '

DWORD  dwFmtSize;

WAVE_FORMAT wavFormat;};


2)58字节文件头

如果不是Windows的标准WAV文件,而是经过了一些软件处理的,往往就是58字节的文件头,如下图所示. 


它比44字节的多了一个fact子块.<fact—ck>储存了关于WAV文件内容的重要信息.该子块定义如下:

Fact Chunk

Fact Chunk是可选字段,一般当wav文件由某些软件转化而成,则包含该Chunk.结构定义如下:

 struct FACT_BLOCK

{ char  szFactID[4]; // 'f','a','c','t'

DWORD  dwFactSize;};

2. "data"子块数据安排方式

"data"子块中装的是真正的声音数据.除非安装其它特殊软件,否则Windows目前仅提供WAVE_FORMAT_PCM一种数据格式,即脉冲编码调制(Pulse Code Modulation).所谓PCM就是将声音等模拟信号变成符号化的脉冲列,再予以记录。PCM信号是由[1]、[0]等符号构成的数字信号,而未经过任何编码和压缩处理。与模拟信号比,它不易受传送系统的杂波及失真的影响。动态范围宽,可得到音质相当好的影响效果。


3.AVI数据解析

AVI(Audio Video Interleave)是微软开发的音频/视频格式。”Interleave“指视频数据和音频数据以交织形式保存在文件中。通常AVI文件包含多个不同类型的音频和视频数据流。AVI是RIFF的子集或特例。所有AVI文件以“RIFF”标识符后跟的标识码“AVI”开始。所有AVI文件包含两个必须的LIST chunk和一个索引chunk。(1)‘hdrl’LIST主要定义数据的格式。它包含主要的AVI格式头。

(2)‘movi’LIST包含实际的音频和视频数据。

(3)‘idxl’chunk需要此chunk以索引文件。

RIFF AVI格式如下。


RIFF xxxx 'AVI'

{LIST xxxx 'hdrl'

{'avih'(<Main AVI Header>)

LIST xxxx 'strl'

{'strh'(<Stream header>)

 'strf'(<Stream format>)

 'strd'(additional header data)

}

}

LIST xxxx 'movi'

{SubChunk1

 Subchunk2...

}

['idxl'<AVIIndex>]

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值