1.电视图像的数据率
1.1 ITU-R BT.601标准数据率
按照奈奎斯特()采样理论 , 模拟电视信号经过采样(把连续的时间信号变成离散的时间信号)和量化 (把连续的幅度变成离散的幅度信号)之后 , 数字电视信号的数据量大得惊人 , 当前的存储器和网络都还没有足够的能力支持这种数据传输率 , 因此就要对数字电视信号进行压缩 。为了在PAL、NTSC和SECAM彩色电视制之间确定一个共同的数字化参数 , 早在1982年国际无线电咨询委员会 (CCIR)就制定了演播室质量的数字电视编码标准 , 这就是非常有名的ITU-R BT.601标准 。按照这个标准 , 使用4:2:2的采样格式 , 亮度信号Y的采样频率选择为13.5 MHz/s , 而色差信号Cr和Cb的采样频率选择为6.75 MHz/s , 在传输数字电视信号通道上的数据传输率就达到为270 Mb/s(兆比特/秒)
亮度(Y):
858样本/行×525行/帧×30帧/秒×10比特/样本 ≌ 13.5兆比特/秒(NTSC)
864样本/行×625行/帧×25帧/秒×10比特/样本 ≌ 13.5兆比特/秒(PAL)
Cr (R-Y):
429样本/行×525行/帧×30帧/秒×10比特/样本 ≌ 6.8兆比特/秒(NTSC)
429样本/行×625行/帧×25帧/秒×10比特/样本 ≌ 6.8兆比特/秒(PAL)
Cb (B-Y):
429样本/行×525行/帧×30帧/秒×10比特/样本 ≌ 6.8兆比特/秒(NTSC)
429样本/行×625行/帧×25帧/秒×10比特/样本 ≌ 6.8兆比特/秒(PAL)
总计:
27兆样本/秒×10比特/样本 = 270兆比特/秒
实际上 , 在荧光屏上显示出来的有效图像的数据传输率并没有那么高 ,
亮度(Y): 720×480×30×10 ≌ 104 Mb/s (NTSC)
720×576×25×10 ≌ 104 Mb/s (PAL)
色差(Cr , Cb):2×360×480×30×10 ≌ 104 Mb/s (NTSC)
2×360×576×25×10 ≌ 104 Mb/s (PAL)
总计: ~ 207 Mb/s
如果每个样本的采样精度由10比特降为8比特 , 彩色数字电视信号的数据传输率就降为166 Mb/s 。
2. 数据压缩算法
电视图像本身在时间上和空间上都含有许多冗余信息 , 图像自身的构造也有冗余性 。此外 , 正如前面所介绍的 , 利用人的视觉特性也可对图像进行压缩 , 这叫做视觉冗余 。
电视图像压缩利用的各种冗余信息
种类
内容
目前用的主要方法
统计
空间冗余
像素间的相关性
变换编码 , 预测编码
特性
时间冗余
时间方向上的相关性
帧间预测 , 移动补偿
图像构造冗余
图像本身的构造
轮廓编码 , 区域分割
知识冗余
收发两端对人物的共有认识
基于知识的编码
视觉冗余
人的视觉特性
非线性量化 , 位分配
其他
不确定性因素
MPEG-Video图像压缩技术基本方法和方法可以归纳成两个要点:
① 在空间方向上 , 图像数据压缩采用JPEG(JointGroup)压缩算法来去掉冗余信息 。
② 在时间方向上 , 图像数据压缩采用移动补偿( )算法来去掉冗余信息 。
为了在保证图像质量基本不降低而又能够获得高的压缩比 , MPEG专家组定义了三种图像:帧内图像I(intra) , 预测图像P()和 双向预测图像B() , 这三种图像将采用三种不同的算法进行压缩 。
文章插图
MPEG专家组定义的三种图像
补充:
视频压缩中 , 每帧代表一幅静止的图像 。而在实际压缩时 , 会采取各种算法减少数据的容量 , 其中IPB就是最常见的 。简单地说 , I帧是关键帧 , 属于帧内压缩 。就是和AVI的压缩是一样的 。P是向前搜索的意思 。B是双向搜索 。他们都是基于I帧来压缩数据 。I帧表示关键帧 , 你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面) 。P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别 , 解码时需要用之前缓存的画面叠加上本帧定义的差别 , 生成最终画面 。(也就是差别帧 , P帧没有完整画面数据 , 只有与前一帧的画面差别的数据) 。B帧是双向差别帧 , 也就是B帧记录的是本帧与前后帧的差别(具体比较复杂 , 有4种情况) , 换言之 , 要解码B帧 , 不仅要取得之前的缓存画面 , 还要解码之后的画面 , 通过前后画面的与本帧数据的叠加取得最终的画面 。B帧压缩率高 , 但是解码时CPU会比较累~ 。
- 自媒体素材库——月薪3W+自媒体人都在用的。
- H.264 ,MPEG-2,MPEG-1,H.263,MPEG-4系列
- 全美最适合工作的公司——谷歌,是如何为员工制造幸福的
- x264函数调用关系图 FFMPEG中MPEG-2编解码函数调用关系图MPEG
- 4.2——Node.js的npm和包
- 完 PAJ7620U2手势识别——读取手势数据寄存器数据与LED指示
- 6 PAJ7620U2手势识别——配置手势数据寄存器
- FFmpeg/OpenCV 实现全屏斜体水印
- KuPay:怎么做好数字钱包的核心需求——安全性
- 手摸手学会node框架之一——koa 傻瓜式小白教程