数据压缩第三周作业:AVI和WAV文件格式分析

一、AVI格式

1.1 AVI格式概述

AVI英文全称为Audio Video Interleaved,即音频视频交错格式,是微软公司于1992年11月推出、作为其Windows视频软件一部分的一种多媒体容器格式。

AVI文件将音频(语音)和视频(影像)数据包含在一个文件容器中,允许音视频同步回放。类似DVD视频格式,AVI文件支持多个音视频流。AVI信息主要应用在多媒体光盘上,用来保存电视、电影等各种影像信息。

1.2 AVI文件格式

AVI文件类型用一个四字符码‘AVI ’来表示。整个AVI文件的结构为:一个RIFF头 + 两个列表(一个用于描述媒体流格式、一个用于保存媒体流数据) + 一个可选的索引块。

大端模式,是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中。
小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。

AVI格式采用小端模式。

1.3 16进制AVI文件分析

1.3.1 RIFF块结构分析

RIFF(Resource Interchange File Format)是由Microsoft提出的一种多媒体文件的存储方式。不同编码的视音频文件可按照RIFF的规则保存。在读取文件时同样根据RIFF的规则解析文件。

RIFF文件的实际数据中,使用了列表(List)和块(Chunk)的形式来组织,列表可以嵌套列表和块。

(1)RIFF”表示字符串(Chunk ID)

(2)RIFF文件大小(数据块的大小)

(3)形式类型或者列表类型“AVI”,”WAVE”

使用VS打开一个AVI文件,可以看到:

数据压缩第三周作业:AVI和WAV文件格式分析_第1张图片

 

根据图中代码分析可知

52 49 46 46  Chunk ID(字符串“ RIFF”)
DE C7 F9 00 Chunk Len (文件大小 )
41 56 49 20  Chunk type( 文件类型“AVI”)
RIFF块大小  = Chunk Len (值)+ 4字节(Chunk ID)+ 4字节(Chunk Len)
 

1.4 回答相关问题

1.音频和视频的数据是如何放置的?交织放置还是连续放置?

答:音视频的数据交织放置。AVI文件的movi LIST包含了交织存放的音频和视频数据块。

用VS打开一个AVI文件,可以看到:

数据压缩第三周作业:AVI和WAV文件格式分析_第2张图片

01wb、00dc交替出现。#wb代表音频数据,#dc代表视频数据。“01wb”表示Stream 1是音频数据;“00dc”表示Stream 0是压缩的视频数据。

2.一个视频帧大约占据多少字节?一个音频数据块大约占用多少字节?

答:截取16进制表示的AVI图像如下:

可以看出,dc代表的视频数据大小为A2 01 00 00 418字节,而wb代表的音频数据大小不确定。

二、WAV格式

2.1 WAV格式概述

WAV英文全称为Waveform Audio File Format,采用RIFF文件格式结构。它通常保存PCM格式的原始音频数据,所以常被称为无损音频。但从严格意义上来讲,WAV文件也可以存储其它压缩格式的音频数据。WAV文件至少由3个块组成:RIFF、fmt和Data。所有基于压缩编码的WAV文件必须要有fact块,其余块都是可选的。fmt、Data和fact块均为RIFF块的子块。

WAV文件采用小端模式存储数据,采用大端模式存储标识符。
大端模式:数据的低位保存在内存的高地址中,数据的高位保存在内存的低地址中。
小端模式:数据的低位保存在内存的低地址中,数据的高位保存在内存的高地址中。

2.2 WAV格式的结构

2.2.1 RIFF块

名称 地址 字节数 端序 内容
ID 0x00 4Byte 大端

“RIFF”(0x56294646)

size 0x04 4Byte 小端 fileSize-8
type 0x08 4Byte 大端 "WAVE"(0x57415645)

2.2.2 FORMAT块

数据压缩第三周作业:AVI和WAV文件格式分析_第3张图片

2.2.3 DATA块

数据压缩第三周作业:AVI和WAV文件格式分析_第4张图片

 2.3 结合16进制wav表示分析wav结构

用VS打开一个wav音频文件。

数据压缩第三周作业:AVI和WAV文件格式分析_第5张图片

 

52 49 46 46 A2  :RIFFF的ASCII码值

38 1C 00: 此WAV文件的数据大小

57 41 56 45 66 6D 74 20 :WAVEfmt的ASCII码值

10 00 00 00:对应十进制数16,表示最后没有附加信息。

01 00 :对应编码格式

02 00 :声道数,2表示此文件为双声道

 

 

 

 

 

你可能感兴趣的:(音视频)