Mpeg1数据流具体格式
- 格式:doc
- 大小:54.00 KB
- 文档页数:14
mpeg-1 标准MPEG-1标准。
MPEG-1是一种音频和视频压缩标准,它是由Moving Picture Experts Group (MPEG)制定的。
MPEG-1标准于1993年发布,是数字音频和视频压缩的首个国际标准。
它的出现标志着数字多媒体时代的开始,为数字音频和视频的传输和存储提供了重要的技术支持。
MPEG-1标准主要包括三个部分,音频压缩、视频压缩和多媒体系统。
在音频压缩方面,MPEG-1采用了一种称为Layer I、Layer II和Layer III的压缩技术,其中Layer III又被称为MP3,它成为了数字音乐传输和存储的主流格式。
在视频压缩方面,MPEG-1采用了一种称为MPEG-1视频的压缩技术,它可以将视频压缩到原始大小的100-200分之一。
多媒体系统部分定义了音频和视频的同步传输和存储方法,为多媒体应用提供了统一的标准。
MPEG-1标准的出现对数字音频和视频的发展产生了深远的影响。
首先,MPEG-1标准的制定使得数字音频和视频的传输和存储成为了可能,为数字音乐、数字电视等领域的发展提供了技术支持。
其次,MPEG-1标准的应用推动了数字音频和视频产业的快速发展,为数字多媒体产业的形成奠定了基础。
最后,MPEG-1标准的成功制定为后续的MPEG-2、MPEG-4等标准的制定和发展奠定了基础,为数字多媒体技术的不断进步提供了动力。
然而,随着技术的不断发展,MPEG-1标准在某些方面已经显得有些过时。
首先,MPEG-1标准的压缩比较低,无法满足高清晰度视频的传输和存储需求。
其次,MPEG-1标准的编解码复杂度较高,导致了在一些低性能设备上无法实时解码。
最后,MPEG-1标准在音频和视频的同步传输方面存在一定的局限性,无法满足一些特殊应用的需求。
为了解决这些问题,MPEG组织陆续发布了MPEG-2、MPEG-4等更新的标准,以满足不断发展的数字多媒体技术需求。
同时,随着计算机和网络技术的飞速发展,新的音频和视频压缩标准如AAC、H.264等也相继出现,逐渐取代了MPEG-1标准在一些领域的应用。
MPEG-1数字存储媒体的活动图像和伴音编码标准MPEG-1的正式名称是“信息技术——用于数据速率高达大约1.5 Mbit/s的数字存储媒体的活动图像和伴音编码(Information technology -- Coding of moving pictures and associated audio for digital storage media at up to about 1.5 Mbit/s)”,1992年成为正式标准,标准号ISO/IEC 11172。
MPEG-1由五个部分及若干勘误组成第1部分:系统(Part 1: Systems )Title:CODING OF MOVING PICTURES AND ASSOCIATED AUDIO FOR DIGITAL STORAGE MEDIA AT UP TO ABOUT 1.5 Mbit/s Part 1: System速率在1.5Mbps以内的数字存储媒体运动图像及其伴音编码标准MPEG-1 第一部分系统编码· ISO/IEC 11172-1:1993/Cor 1:1996 第1部分勘误1,1996年· ISO/IEC 11172-1:1993/Cor 2:1999 第1部分勘误2,1999年第2部分:视频(Part 2: Video )Title:CODING OF MOVING PICTURES AND ASSOCIATED AUDIO FOR DIGITAL STORAGE MEDIA AT UP TO ABOUT 1.5 Mbit/s Part 2: Video速率在1.5Mbps以内的数字存储媒体运动图像及其伴音编码标准MPEG-1 第二部分视频编码· ISO/IEC 11172-2:1993/Cor 1:1996 第2部分勘误1,1996年· ISO/IEC 11172-2:1993/Cor 2:1999 第2部分勘误2,1999年第3部分:音频( Part 3: Audio)就是大名鼎鼎的MP3标准)Title:CODING OF MOVING PICTURES AND ASSOCIATED AUDIO FOR DIGITAL STORAGE MEDIA AT UP TO ABOUT 1.5 Mbit/s Part 3: Audio速率在1.5Mbps以内的数字存储媒体运动图像及其伴音编码标准MPEG-1 第三部分音频编码· IS O/IEC 11172-3:1993/Cor 1:1996 第3部分勘误1,1996年第4部分:依从性测试(Part 4: Compliance testing )Title:CODING OF MOVING PICTURES AND ASSOCIATED AUDIO FOR DIGITAL STORAGE MEDIA AT UP TO ABOUT 1.5 Mbit/s Part 4:Compliance testing速率在1.5Mbps以内的数字存储媒体运动图像及其伴音编码标准MPEG-1 第四部分一致性测试· ISO/IEC 11172-4:1995第5部分:软件仿真( Part 5: Software simulation)Title:CODING OF MOVING PICTURES AND ASSOCIATED AUDIO FOR DIGITAL STORAGE MEDIA AT UP TO ABOUT 1.5 Mbit/s Part 5: Software simulation速率在1.5Mbps以内的数字存储媒体运动图像及其伴音编码标准MPEG-1 第五部分软件模拟· ISO/IEC TR 11172-5:1998附录: A\B\C\D\C\F\G第1部分“系统”涉及了数据流组合的问题。
3GP:3GP是一种3G流媒体的视频编码格式,主要是为了配合3G网络的高传输速度而开发的,也是目前手机中最为常见的一种视频格式。
3GP是新的移动设备标准格式,应用在手机、PSP等移动设备上,优点是文件体积小,移动性强,适合移动设备使用,缺点是在PC机上兼容性差,支持软件少,且播放质量差,帧数低,较AVI等传统格式相差很多。
诺基亚提供的PC套件可以很好的支持3GP文件,暴风影音也可播放。
:(MPEG的全名为[Moving Pictures Experts Group],中文译名是动态图像专家组。
MPEG标准MPEG标准主要有以下五个,MPEG-1、MPEG-2、MPEG-4、MPEG-7及MPEG-21等。
(注意,没有MPEG-3,大家熟悉的MP3 只是MPEG Layeur 3)该专家组建于1988年,专门负责为CD建立视和音频标准,而成员都是为视频、音频及系统领域的技术专家。
及后,他们成功将声音和影像的记录脱离了传统的模拟方式,建立了ISO IEC1172压缩编码标准,并制定出MPEG-格式,令视听传播方面进入了数码化时代。
因此,大家现时泛指的MPEG-X版本,就是由ISO(International Organization for Standardization)所制定而发布的视频、音频、数据的压缩标准。
MPEG标准的视频压缩编码技术主要利用了具有运动补偿的帧间压缩编码技术以减小时间冗余度,利用DCT技术以减小图像的空间冗余度,利用熵编码则在信息表示方面减小了统计冗余度。
这几种技术的综合运用,大大增强了压缩性能。
MPEG-1MPEG-1标准于1992年正式出版,标准的编号为ISO/IEC11172,其标题为“码率约为1.5Mb/s用于数字存贮媒体活动图像及其伴音的编码”。
MPEG-2标准于1994年公布,包括编号为13818-1系统部分、编号为13818-2的视频部分、编号为13818-3的音频部分及编号为13818-4的符合性测试部分。
视频格式详解MPEG-1是MPEG组织制定的第一个视频和音频有损压缩标准。
视频压缩算法于1990年定义完成。
1992年底,MPEG-1正式被批准成为国际标准。
MPEG-1是为CD光碟介质定制的的视频和音频压缩格式。
一张70分钟的CD光碟传输速率大约在1.4Mbps。
而MPEG-1采用了块方式的运动补偿、离散馀弦变换(DCT)、量化等技术,并为1.2Mbps传输速率进行了优化。
MPEG-1随后被Video CD采用作为核心技术。
MPEG-1的输出质量大约和传统录像机VCR,信号质量相当,这也许是Video CD在发达国家未获成功的原因。
MPEG-2制定于1994年,设计目标是高级工业标准的图象质量以及更高的传输率。
MPEG-2所能提供的传输率在3-10Mbits/sec间,其在NTSC制式下的分辨率可达720X486,MPEG-2也可提供并能够提供广播级的视像和CD级的音质。
MPEG-2的音频编码可提供左右中及两个环绕声道,以及一个加重低音声道,和多达7个伴音声道(DVD可有8种语言配音的原因)。
由于MPEG-2在设计时的巧妙处理,使得大多数MPEG-2解码器也可播放MPEG-1格式的数据,如VCD。
同时,由于MPEG-2的出色性能表现,已能适用于HDTV,使得原打算为HDTV设计的MPEG-3,还没出世就被抛弃了。
(MPEG-3要求传输速率在20Mbits/sev-40Mbits/sec间,但这将使画面有轻度扭曲)。
除了作为DVD的指定标准外,MPEG-2还可用于为广播,有线电视网,电缆网络以及卫星直播(DirectBroadcastSatellite)提供广播级的数字视频。
MPEG4于1998 年11 月公布,原预计1999 年1月投入使用的国际标准MPEG4不仅是针对一定比特率下的视频、音频编码,更加注重多媒体系统的交互性和灵活性。
MPEG专家组的专家们正在为MPEG-4的制定努力工作。
MPEG-4标准主要应用于视像电话(V ideo Phone),视像电子邮件(Video Email)和电子新闻(Electronic News)等,其传输速率要求较低,在4800-64000bits/sec之间,分辨率为176X144。
DAT文件和MPG文件有什么区别?很多MTV都是.dat 或者是 .mpg格式,用电脑播放软件播放的时候,这两个扩展名好像没有什么区别,互改也没关系。
但是具体刻录到光盘还有点区别,有些可以播放有些不能播放。
到底他们有什么区别?这个问题困扰了我很长的一段时间。
现在终于大体搞明白了,恭喜一下。
先引用网上的一个解释:“首先,.dat 文件和 .mpg 文件都是符合MPEG1压缩标准的音视频数据流(当然也可以没有音频),但是他们的数据分包大小有所区别。
.dat 文件是刻在VCD盘片上的数据,为了方便光盘数据的存取,所以就遵循了VCD刻录的标准,每个数据包的大小为2324个字节,也就是正好一个扇区存储空间的大小。
VCD碟片是由一个或多个音轨组成。
第一个轨道是一个小的2048字节/扇区的数据轨,有一个iso9660文件系统,通常包含Windows VCD播放程序,但可能还有其他信息(例如:图像,文字等等)。
如果有图片,多半是歌曲的目录和制作公司的宣传图片。
第二轨道及之后的轨道是未处理的2324字节/扇区的MPEG(电影)轨,每个扇区包含一个MPEG PS数据包而没有文件系统。
通常我们看到的约600 MB的.dat文件,其实它不是一个文件,这就是所谓的ISO通道,用来使Windows能够处理这样的轨道(Windows根本不允许程序直接访问未处理的设备)。
在播放时,光驱会顺序读取每个扇驱,而形成一个连续的MPEG(电影)数据流。
因此,在Linux下你是不能复制或者播放这些文件。
而 .mpg 文件不是为了刻成VCD盘而准备的数据。
所以数据包可大也可以很小。
常常会遇到这样的情况,整个 .mpg 文件就是一个数据包。
”无疑,上面的解释有道理,至少我认同。
DAT和MPG当然不是同类文件,它们的文件头也是不一样。
用WinHex分别打开正常的dat和mpg文件,察看它们的文件头信息,DAT文件头是以“RIFF….CDXAfmt ”(….为任意字符)开头的,十六进制就是“5249 4646 XXXX XXXX 4344 5841 666D 7420”(XXXX为任意十六进制数值)。
1、无声时代的FLCFLC、FLI是Autodesk开发的一种视频格式,仅仅支持256色,但支持色彩抖动技术,因此在很多情况下很真彩视频区别不是很大,不支持音频信号,现在看来这种格式已经毫无用处,但在没有真彩显卡没有声卡的DOS时代确实是最好的也是唯一的选择。
最重要的是,Autodesk的全系列的动画制作软件都提供了对这种格式的支持,包括著名的3D Studio X,因此这种格式代表了一个时代的视频编码水平。
直到今日,仍旧有不少视频编辑软件可以读取和生成这种格式。
但毕竟廉颇老矣,这种格式已经被无情的淘汰。
2、载歌载舞的AVIAVI——Audio Video Interleave,即音频视频交叉存取格式。
1992年初Microsoft公司推出了AVI技术及其应用软件VFW(Video for Windows)。
在AVI文件中,运动图像和伴音数据是以交织的方式存储,并独立于硬件设备。
这种按交替方式组织音频和视像数据的方式可使得读取视频数据流时能更有效地从存储媒介得到连续的信息。
构成一个AVI文件的主要参数包括视像参数、伴音参数和压缩参数等。
AVI文件用的是AVI RIFF 形式,AVI RIFF形式由字串“AVI”标识。
所有的AVI文件都包括两个必须的LIST块。
这些块定义了流和数据流的格式。
AVI文件可能还包括一个索引块。
只要遵循这个标准,任何视频编码方案都可以使用在AVI文件中。
这意味着AVI有着非常好的扩充性。
这个规范由于是由微软制定,因此微软全系列的软件包括编程工具VB、VC都提供了最直接的支持,因此更加奠定了AVI在PC上的视频霸主地位。
由于AVI 本身的开放性,获得了众多编码技术研发商的支持,不同的编码使得AVI不断被完善,现在几乎所有运行在PC上的通用视频编辑系统,都是以支持AVI为主的。
AVI的出现宣告了PC上哑片时代的结束,不断完善的AVI格式代表了多媒体在PC上的兴起。
说到AVI就不能不提起英特尔公司的Indeo video系列编码,Indeo编码技术是一款用于PC视频的高性能的、纯软件的视频压缩/解压解决方案。
数字视频格式简介MPEG格式MPEG是Motion Picture Experts Group的缩写,它包括了MPEG-1、MPEG-2和MPEG-3。
后又增加了MPEG4、MPEG7,不同版本表示了不同用途和质量,对多媒体通信的发展起到了革命性的推动作用。
MPEG-1(标准代号ISO/IEC11172)制定于1991年底,处理的是标准图像交换格式(standard interchange format,SIF)或者称为源输入格式(Source Input Format,SIF)的电视,是针对1.5Mbps以下数据传输率的数字存储媒质运动图像及其伴音编码的国际标准,这个标准主要是针对当时具有这种数据传输率的CD-ROM和网络开发的,用于在CD-ROM 上存储数字影视和在网络上传输识字影视。
MPEG-1编码时首先把PAL或NTSC数字电视转换成公用中分辨率格式(CIF)的数字电视,这种格式的图像质量相当于家用录象系统(VHS),其分辨率与家用录象系统分辨率相同,只有广播电视空间分辨率的四分之一,即PAL制为352*288(25帧/S),NTSC制为352*240(30帧/S),图像子采样格式为4∶2∶0,此时视像数据传输率减少到30Mbps(PAL和NTSC),然后再将视像数据传输率压缩至1.15Mbps,其视像压缩率为26∶1。
MPEG-1的声音部分称为MPEG-1 Audio(标准代号ISO/IEC 11172-3),其压缩的主要依据是人的耳朵的听觉特性,使用"心理学模型"来取消更多的冗余数据,支持两个声道,采样精度为16位,提供了32KHz、44.1KHz、48KHz三种采样频率,经MPEG编码器编码后相应的数据传输率从32Kbps到348Kbps。
MPEG1现已成为常规视频标准的一个子集,该子集称为CPB流。
MPEG-1相信是大家接触得最多的了,因为它被广泛的应用在VCD的制作和一些视频片段下载的网络应用上面,可以说99%的VCD都是用MPEG-1格式压缩的,(注意VCD2.0并不、是说明VCD是用MPEG-2压缩的)使用MPEG-1的压缩算法,可以把一部120分钟长的电影(未压缩视频文件)压缩到1.2GB左右大小。
常用数据格式汇总数据在计算机科学和信息技术领域中起着重要的作用。
在处理和交换数据时,数据格式的选择和使用对数据的有效性、可靠性和可扩展性有着重要影响。
本文将介绍一些常用数据格式,包括文本格式、二进制格式、标记语言、表格格式、图像格式、音频格式和视频格式。
1.文本格式:文本是最基本的数据格式之一,用来存储和表示字符数据。
最常见的文本格式是纯文本文件,如.txt文件。
纯文本文件只包含普通文本字符,没有特殊的格式化和样式。
其他常见的文本格式包括CSV(逗号分隔值)和JSON(JavaScript对象表示法)。
2.二进制格式:二进制格式用于存储和表示二进制数据。
二进制数据是由0和1组成的比特流,可以表示各种类型的数据,如整数、浮点数和字节。
常见的二进制格式包括二进制文件和字节流。
二进制文件包含二进制数据的文件,如图片、视频和音频文件。
字节流是一种连续的二进制数据流,可以通过网络传输或存储到文件中。
3.标记语言:标记语言用于描述和标记文本内容的结构和样式。
最著名的标记语言是HTML(超文本标记语言),用于创建网页和网页内容的结构。
XML(可扩展标记语言)是一种通用的标记语言,用于描述和传输数据。
其他常见的标记语言包括SGML(标准通用标记语言)和Markdown(轻量级标记语言)。
4.表格格式:表格格式用于组织和表示数据的表格结构。
最常见的表格格式是电子表格格式,如Microsoft Excel和Google Sheets。
电子表格可以包含多个单元格,并支持各种功能,如公式计算、数据排序和筛选。
CSV(逗号分隔值)也是一种常见的表格格式,每行数据用逗号分隔。
5.图像格式:图像格式用于存储和表示图像数据。
最常见的图像格式是JPEG(联合摄影专家组),用于存储压缩的数字图像。
其他常见的图像格式包括PNG(可移植网络图形)和GIF(图形交换格式)。
这些图像格式支持不同的压缩算法和颜色深度,以满足不同的需求。
6.音频格式:音频格式用于存储和表示音频数据。
mpeg1、mpeg2和mpeg4标准对⽐分析和总结mpeg1、mpeg2和mpeg4标准对⽐分析和总结mpeg1、mpeg2和mpeg4标准对⽐0、参考(1).(2).(3).(4).(5).1、编解码流程详细mpeg1,mpeg2和mpeg4的编解码流程可以参考: MPEG-1标准主要采⽤基于插值的运动补偿预测+DCT+量化+VLC熵编码的技术;MPEG-2标准在MPEG-1的基础上增加了Scan过程并且码流语法中增加了多种extension,以⽀持更⾼分辨率和更多码率的编码。
MPEG-4标准主要是⾯向对象的编码以⽀持应⽤的交互性操作。
MPEG-4解码器分成了纹理解码、运动解码、形状解码、⼈脸解码等模块,MPEG-4标准中纹理解码模块,在MPEG-2标准基础上在Quant之后增加了对残差系数进⾏DC/AC预测过程,进⼀步降低编码冗余。
2、编码码流结构编码码流结构可以参考: 从三种标准的码流分层结构可以看出,MPEG-1和MPEG-2的码流结构⾮常相似,唯⼀区别是MPEG-2码流中的Sequence_header后⾯必须紧跟sequence_extension,否则就是MPEG-1的码流。
两者都具有相似的分层结构,从上到下分别包括Sequence、GOP、Picture、Slice、Macroblock和Block,每⼀层开头都包含⼀个header,后⾯紧跟相关数据,每个header的识别都是根据起始码进⾏判断的。
MPEG-4标准是⾯向对象的,因⽽分层结构也是对象相关的,从上到下分别是Visual Object Sequence(VS)、Video Object(VO)、Video Object Layer (VOL)、Group of Video Object Planes (GOV)和 Video Object Plane (VOP),每⼀层开头都包含⼀个header,后⾯紧跟相关数据,每个header的识别都是根据起始码进⾏判断的。
2007—2008学年度第 ( 1 ) 学期音视频技术期末复习一、判断题1、(错)万用表使用完毕转换开关应放在电阻值最大档。
2、(对)示波器可以用来测量电视机场扫描锯齿电流,且必须选择专用档位。
3、(对)扬声器的口径越小,则指向性越宽。
4、(对)扬声器播放250 Hz以下的音频信号时,没有明显的指向性。
5、(错)从倒相式音箱的倒相管发出的声波的位相与前向辐射声波的位相是相反的。
6、(错)封闭式音箱只发出后向辐射声波。
7、(错)扬声器装到音箱上放音,主要是为了改善高音放音质量。
8、(对)双卡录音机只能分别放音,不能同时放音。
9、(错)数字调幅广播采用了MPEG4 AAC和语言编码器,并采用32APSK抑制载波的双边带调制。
10、(对)ATSC制式的数字卫星广播采用R-S为纠错外码,采用卷积/格形码作为内码,但信道调制方式与地面数字电视广播不同。
11、(对)欧洲DVB-T数字电视地面广播采用基于正交频分复用的COFDM信道调制方式。
12、(对)日本采用的数字电视标准是ISDB(综合业务数据广播)。
13、(对)卷积码的解码采用硬判决,而卷积/格形码将编码与调制作为一个整体综合设计,采用软判决进行解码。
14、(错)三种制式的数字电视的信道编码都采用MPEG2,但它们的信源编码是不同的。
15、(对)我国现行数字电视干线采用SDH(同步系列方式)和光纤技术,节目交换采用ATM,干线节点装有ADM(数字分插复用器),重要干线节点还配有DXC(数字交叉连接设备),用户接入采用HFC网。
16、(错)信道编码中,随着码长的的增加,译码错误的概率将按指数规律增大。
17、(错)译码过程就是把数字翻译成某一进制数码的过程。
18、(错)人耳对高频声源的定位能力比低频的定位能力弱。
19、(对)CD机中双声道立体声是从DAC电路输出的。
20、(对)扫频仪可以用来检测图像中放电路的幅频特性曲线。
21、(对)MPEG1音频层3(MP3)的编码方式中采用了MDCT算法,减小了MP1,MP2编码方式中相邻子带的混叠现象。
总觉得晚上好像没有有关Mpeg1数据流具体格式的东西,所以索性我做些贡献吧。
这篇文档里面详细的叙述了Mpeg1规范的比特流结构目录目录MPEG-1流比特层次结构分析总结1.简要介绍Mpeg2.Mpeg-1数据流分析2.1视频序列层(VideoStream)2.2画面组层(GOP)2.3画面层(Pictures)2.4片层(Slice)2.5宏块层(Macroblock)2.6块层(Block)3.加密位置的思考附录MPEG-1流比特层次结构分析总结1.简要介绍MpegMpeg是Motion Picture Expert Group的缩写。
活动图像专家组是在1988年由ISO和IEC联合成立的专家组,负责开发电视图像数据和声音数据的编码,解码和它们的同步等标准。
到目前为止已经开发和正在开发的MPEG标准有很多,主要包括Mpeg-1,Mpeg-2,Mpeg-4,和Mpeg-7.其中的Mpeg-1处理的是标准图像交换格式(standard interchange format,SI F)或者称为源输入格式(Source Input Format,SIF)的电视,将模拟的图像信息,通过编码成为数字图像信息,原始输入可以是NTSC制式352pixels * 240l ines * 30frames/second, PAL制352pixels * 288lines*25frames/second,压缩后的数字图像信息的速率为1.5Mb/s.这个标注是1992年正是的发布的,是针对当时具有这种数据传输速率的CD-ROM和网络而开发的,用于在CD-ROM上存储数字影视和在网络上传输数字影视。
MPEG-1的标准号为ISO/IEC 11172,标准名:“信息技术——用于数据速率大约高达1.5Mb/s的数字存储替的电视图像和伴音编码”本文主要是对Mpeg-1Video数据流的结构进行分析,并将怎样得到Mpeg-1流中的数据部分进行的阐述。
ISO/IEC 11172-22.Mpeg-1数据流分析编码后的视频序列是一个如同计算机网络的OSI模型下的数据序列一样,数据被分成很多层的概念。
视频序列层-画面组层-画面层-片层-宏块层-块层层次的关系很明显,越往后越是底层,越接近实际的数据。
2.1视频序列层(VideoStream)视频序列是以一个序列标题开始,之后可以跟着一个或者多个画面组。
最后以S equence_end_code结束。
紧挨着每一个画面组之前可以有一个序列标题。
也就是说每个画面组,都可以有一个自己的序列标题。
序列标题是一个以sequence_header_code开始,后跟着一系列数据元素的结构。
是视频流中用来解码的重要的参数之一。
其中定义了量化矩阵(load_intra_qu antizer_matrix和 load_non_intra_quantizer_matrix以及可选的intra_quan tizer_matrix和non_intra_quantizer_ matrix)以及其它的一些重要的数据元素,其中量化矩阵是可以在视频流中重复的量化矩阵中变化的,并且在每次变化后,量化矩阵重新定义。
其它的元素必须与第一个序列标题中的值相同。
整个视频序列的结构可以用下面的代码表示:Video_Stream{unsigned int h_size; /* Horiz. size in pixel s. */unsigned int v_size; /* Vert. size in pixel s. */unsigned int mb_height; /* Vert. size in mbloc ks. */unsigned int mb_width; /* Horiz. size in mblo cks. */unsigned char aspect_ratio; /* Code for aspect rat io. */unsigned char picture_rate; /* Code for picture ra te. */unsigned int bit_rate; /* Bit rate. */unsigned int vbv_buffer_size; /* Minimum buffer siz e. */BOOLEAN const_param_flag; /* Contrained paramete r flag. */unsigned char intra_quant_matrix[8][8]; /* Quantization matrix forintracoded frames. */unsigned char non_intra_quant_matrix[8][8]; /* Quanitization matri x fornon intracoded frames. */char *ext_data; /* Extension data. */char *user_data; /* User data. */GoP group; /* Current group of pi ct. */Pict picture; /* Current picture. */Slice slice; /* Current slice. */Macroblock mblock; /* Current macrobloc k. */Block block; /* Current block. */int state; /* State of decodin g. */int bit_offset; /* Bit offset in strea m. */unsigned int *buffer; /* Pointer to next byt e inbuffer. */int buf_length; /* Length of remainin g buffer.*/unsigned int *buf_start; /* Pointer to buffer s tart. */int max_buf_length; /* Max lenght of buffe r. */PictImage *past; /* Past predictive fra me. */PictImage *future; /* Future predictive f rame. */PictImage *current; /* Current frame. */PictImage *ring[RING_BUF_SIZE]; /* Ring buffer of fram es. */} Video_Stream;具体的序列标题的结构的部分是这样的:序列sequence_header{SEQ_START_CODE 0x000001b3; /* 常量 ,作用使用来定位视频序列的序列头 * /unsigned int h_size; /* Horiz. size in pixel s. */unsigned int v_size; /* Vert. size in pixel s. */unsigned int mb_height; /* Vert. size in mbloc ks. */unsigned int mb_width; /* Horiz. size in mblo cks. */unsigned char aspect_ratio; /* Code for aspect rat io. */unsigned char picture_rate; /* Code for picture ra te. */unsigned int bit_rate; /* Bit rate. */unsigned int vbv_buffer_size; /* Minimum buffer siz e. */BOOLEAN const_param_flag; /* Contrained paramete r flag. */unsigned char load_intra_quantizer_matrix;unsigned char intra_quant_matrix[8][8]; /* Quantization matrix f or intracoded frames. 这个结构是可选的,要看load_intra_quanti zer_matrix的值,为真则有这个部分,否则没有,因为intra_quant_matrix是量化表的值,而Sequence_header结构在视频序列中是可重复的,即在每个画面组之前都有可能再次给出一个sequence_header,并且可以在新的sequence_header 中重新定义量化表*/unsigned char load_non_intra_quantizer_matrix;unsigned char non_intra_quant_matrix[8][8]; /* Quanitization matri x for non intracoded frames. 也是可选。
愿意于intra_quant_matrix可选的原因相同。
当load_non_intra_quant_matrix的值为真的时候需要定义。
* /char *ext_data; /* Extension data. */char *user_data; /* User data. */}由上面的分析,可以看出来的是:video_sequence(){next_start_code()do{sequence_header();do{group_of_pictures() ;画面组}while (nextbits()==GROUP_START_CODE)}while(nextbits()==SEQUENCE_HEADER_CODE)SEQUENCE_END_CODE};正是由于视频序列中存在很多开始码,或者称之为定位码、同步码。
用来告诉解码器目前数据的区域信息,所以解码器才可以正确的处理各个数据区的数据,下面就是视频序列中的开始码的罗列:#define SEQ_END_CODE 0x000001b7#define SEQ_START_CODE 0x000001b3#define GOP_START_CODE 0x000001b8#define PICTURE_START_CODE 0x00000100#define SLICE_MIN_START_CODE 0x00000101#define SLICE_MAX_START_CODE 0x000001af#define EXT_START_CODE 0x000001b5#define USER_START_CODE 0x000001b2这些开始码都是一些特殊的32bits的比特序列,在视频码流中不会出现的。