音视频开发

学习音视频解码你应该知道的东西

2016-08-31  本文已影响470人  酷走天涯
让学习成为一种习惯

像素的概念:
比如上面这张图,是有很小的单元组成的,那个最小的单元就称为像素。

将平面图像的各个像素亮度,按照一定的顺序转换成电信号,一个一个传出去,在接受端按照相同顺序在同幅比平面上恢复,由于人眼有视觉惰性,我们会感觉到图像的每个像素点是同时发光的。

1.逐行扫描:一行跟着一行扫描
2.隔行扫描:分两场进行扫描,加入第一场扫描奇数行,第二场就扫描偶数行。相邻两场扫描光栅必须嵌套,以获得最高清晰度.

隔行扫描的优缺点分析:

优点:
a.降低频带宽度
缺点:
a.行间闪烁效应
b.运动边缘锯齿化
c.并行现象

同步的概念: 指发射端和接受端在同一时刻,必须扫描的几何相同的位置。因此必须要求行同步和场同步,行同步要求扫描的起始时刻和终止时刻相同,场同步要求场扫描同频率,每场起始时刻和终止时刻相同。

图像的几何特征:
a.屏幕的比例: 4:3 \ 16:9
b.扫描的线性程度

a.清晰度与分解力
b.图像信号的最高频率
c.扫描行数z
d.图像的亮度层次
e.彩色的非线性失真
f.亮度的非线性失真

垂直分辨率与系统宽带无关,定义了系统解析垂直行的能力

水平分辨率与系统宽带无关,定义了系统解析水平行的能力

包括了 视频信息和同步信息

让学习成为一种习惯

CCIR-601 4:2:2 分量视频格式标准将亮度和色度信号带宽分别指定为5.75MHZ 和 2.75 MHZ 取样频率为13.5 MHZ 和 6.75 MHZ ,8bit 量化,8b/10b 编码,数字化后,生成的总比特率为(13.5 + 6.752)810/8=270Mbit/s
1920
1080 ,24bit/像素 ,30 帧/3,数据率高达1.49

a.图形信息压缩系统根据人类视觉特性和局限性来除视频信号中不必要的数据成分.
b.压缩采用这样的事实,即相同的数据不必要重复和传输
c.图像都包含大量相同的信息
d.同一图片的宽区域内存在数据冗余
f.在一组图片之间也有数据冗余
g.图像中的数字化样本与人类视觉系统感觉到的不相等
h.人眼感觉不到的误差不会影响观众对重现图像的感知质量
I.人类视觉系统会改变或者删除一些样本值

a.高频不易看见
b.很难发现纹理区域的误差,对均匀区域的失真敏感
c.接近边缘的误差很难发现
e.可视阀值随亮度的增加而增加,称为光适应
f.光区域内的误差更难发现
g.对噪声的敏感度在高空间频率时降低
h.50hz 下闪烁效果明显
i.高亮度级别增加闪烁效果
j.低空间频降低眼睛对图像闪烁的敏感度

MPEG-Video 图像压缩技术可以归纳为两个要点:
在空间方向上,图像数据压缩采用JPEG压缩算法来去除冗余信息
时间方向上,图像数据压缩采用移动补偿去除冗余信息
无损压缩:
哈夫曼编码
游程编码
有损压缩:
样本子抽样
差分量脉冲编码调制
DCT 系数的量化和VLC

查看详细的视频编码介绍请访问视频编码
我们重点研究一下 H.26X 系列
特点:侧重网络传输
包括:H.261、H.262、H.263、H.263+、H.263++、H.264(就是MPEG4 AVC-合作的结晶)
H.264/AVC 优点

- 高效压缩:与H.263+和MPEG4 SP相比,减小50%比特率;
- 延时约束方面有很好的柔韧性;
- 容错能力;
- 编/解码的复杂性可伸缩性;
- 解码全部细节:没有不匹配;
- 高质量应用;
- 网络友善。

H264的网络传输
H.264能够在基于RTP/UDP/IP、H.323/M、MPEG-2传输和H.320协议的网络中使用
H.264的RTP封装参考RFC 3550,载荷类型(PT)域未作规定

编码原理

一个图像或者一个视频序列进行压缩,产生码流。
对图像的处理即是:帧内预测编码
其预测值P,是由已编码的图像做参考,经运动补偿得到的。预测图像P和当前帧Fn相减,得到两图像的残差值Dn,Dn在经过转换T,量化Q,去处空间冗余,得到系数X,将X重排(使数据更加紧凑),熵编码(加入运动矢量,一些图像相关得信息),得到nal数据。
对视频序列的处理:帧间预测编码
预测值P,是由当前片中,己编码的宏块预测得到的(亮度4×4或者16×16预测,色度8×8预测)。当前待处理的块,减去预测值P,得残差值Dn,Dn在经过转换T,量化Q,得到系数X,将X重排(使数据更加紧凑),熵编码,得到nal数据

NAL 单元格式

NAL单元由1字节的头,3个定长的字段和一个字节数不定的编码段组成。
头标的语法:NALU类型(5bit)、重要性指示位(2bit)、禁止位(1bit)。
NALU类型:1~12由H.264使用,24~31由H.264以外的应用使用。
重要性指示:标志该NAL单元用于重建时的重要性,值越大,越重要。
禁止位:网络发现NAL单元有比特错误时可设置该比特为1,以便接收方丢掉该单元

|Nal头|Rbsp|Nal头|Rbsp|Nal头|Rbsp|
|---|

NAL Units:

视频数据封装在整数字节的NALU中,它的第一个字节标志该单元中数据的类型。H.264定义了两种封装格式。基于包交换的网络(如H.323系统)可以使用RTP封装格式封装NALU。而另外一些系统可能要求将NALU作为顺序比特流传送,为此H.264定义了一种比特流格式的传输机制,使用start_code_prefix将NALU封装起来,从而确定NAL边界

参数集:

以往视频编解码标准中GOB\GOP\图像等头信息是至关重要的,包含这些信息的包的丢失常导致与这些信息相关的图像不能解码。为此H.264将这些很少变化并且对大量VCL NALU起作用的信息放在参数集中传送。参数集分为两种,即序列参数集和图像参数集。为适应多种网络环境,参数集可以带内传送,也可以采用带外方式传送。
序列的参数集(SPS):包括了一个图像序列的所有信息,
图像的参数集(PPS):包括了一个图像所有片的信息。

上一篇下一篇

猜你喜欢

热点阅读