###音视频通信:
采集、编码、前后处理、传输、解码、缓冲、渲染
###视频部分
视频封装格式:avi、WMA、MPEG、Matroska、Real Video、QuickTime File Format、Flash Video
视频文件格式:avi、WMA、MP4、MKV、RM RMVB、MOV、FLV
封装格式分析工具:Elecard Format Analyzer,
##视频像素数据:
常见的像素格式:RGB24、RGB32、YUV420P、YUV422P、YUV444P
压缩编码中一般使用的是YUV格式的像素数据,最常见的是YUV420P
视频像素数据体积很大
YUV格式像素数据查看工具:YUV Player
###视频H264格式
I帧:I帧(Intra-coded picture, 帧内编码帧,常称为关键帧)包含一幅完整的图像信息,属于帧内编码图像,不含运动矢量,在解码时不需要参考其他帧图像。
因此在I帧图像处可以切换频道,而不会导致图像丢失或无法解码。I帧图像用于阻止误差的累积和扩散。在闭合式GOP中,每个GOP的第一个帧一定是I帧,且当前GOP的数据不会参考前后GOP的数据。
IDR帧:IDR帧(Instantaneous Decoding Refresh picture, 即时解码刷新帧)是一种特殊的I帧。当解码器解码到IDR帧时,会将DPB(Decoded Picture Buffer,指前后向参考帧列表)清空,
将已解码的数据全部输出或抛弃,然后开始一次全新的解码序列。IDR帧之后的图像不会参考IDR帧之前的图像,因此IDR帧可以阻止视频流中的错误传播,同时IDR帧也是解码器、播放器的一个安全访问点。
P帧:P帧(Predictive-coded picture, 预测编码图像帧)是帧间编码帧,利用之前的I帧或P帧进行预测编码。
B帧:B帧(Bi-directionally predicted picture, 双向预测编码图像帧)是帧间编码帧,利用之前和(或)之后的I帧或P帧进行双向预测编码。B帧不可以作为参考帧。
B帧具有更高的压缩率,但需要更多的缓冲时间以及更高的CPU占用率,因此B帧适合本地存储以及视频点播,而不适用对实时性要求较高的直播系统。
GOP(Group Of Pictures, 图像组)是一组连续的图像,由一个I帧和多个B/P帧组成,是编解码器存取的基本单位。
GOP结构常用的两个参数M和N,M指定GOP中两个anchor frame(anchor frame指可被其他帧参考的帧,即I帧或P帧)之间的距离,N指定一个GOP的大小。例如M=3,N=15,GOP结构为:IBBPBBPBBPBBPBB
###时间戳:
DTS(Decoding Time Stamp, 解码时间戳),表示压缩帧的解码时间
PTS(Presentation Time Stamp, 显示时间戳),表示将压缩帧解码后得到的原始帧的显示时间
音频中DTS和PTS是相同的。视频中由于B帧需要双向预测,B帧依赖于其前和其后的帧,因此含B帧的视频解码顺序与显示顺序不同,即DTS与PTS不同。
当然,不含B帧的视频,其DTS和PTS是相同的。下图以一个开放式GOP示意图为例,说明视频流的解码顺序和显示顺序
###音频部分:
模拟信号数字化过程:抽样、量化、编码
采样率:每秒从连续信号中提取并组成离散信号的采样个数,单位(HZ)8KHZ:电话;44.1KHZ:CD;48kHZ:DVD
量化位数:通常是16bit
通道个数:常见的有立体声和单声道,环绕立体声
大多数格式的pcm样本数据使用整形表示,而在一些对精度要求高的应用方面,使用浮点类型表示
pcm数据格式:
8位:单声道、双声道
16位:单声道、双声道(高8位,低8位)
playback:如何把用户空间的应用程序发货来的PCM数据,转化为人耳可以辨别的模拟音频
capture:把mic拾取得到的模拟信号,经过采样、量化,转化为PCM信号送回给用户空间的应用程序。
音频编码:将pcm流压缩为音频码流,从而降低音频的数据量。
语音编码分为三种类型:波形编码、声编码、混合编码
编码格式:G711 AAC G726
音频采样数据查看工具:Adobe Audition
噪声的产生:电磁辐射干扰、设备内部的电路噪声、接地不良
g711是一种由国际电信联盟制定的一套语音压缩标准,主要用于电话语音通信,而人声最大频率一般在3.4kHz,
所以只要以8k的采样频率对人声进行采样,就可以保证完全还原原始声音。
g711a-law:将一个13bit的pcm样本压缩成一个8bit的pcm样本。
g711mu-law:将一个14bit的pcm样本压缩成一个8bit的pcm样本。
AAC音频文件的每一帧由ADTS Header和AAC Audio Data组成
Opus编码器 是一个有损声音编码的格式,由互联网工程任务组(IETF)进来开发,适用于网络上的实时声音传输,标准格式为RFC 6716。
Opus 格式是一个开放格式,使用上没有任何专利或限制
本文深入探讨了视频编码中的H264标准,包括I帧、IDR帧、P帧和B帧的区别,以及GOP(Group of Pictures)的组织结构。同时,讲解了音频采样、量化、编码过程,以及音频编解码中的关键概念如DTS和PTS。重点介绍了YUV格式在压缩中的应用和工具,以及视频和音频文件格式及其分析工具。

被折叠的 条评论
为什么被折叠?



