视频编解码基础概念


FFMPEG之视频编解码基础



muxer/demuxer

muxer是合并,将视频文件、音频文件和字幕文件合并为某一个视频格式。如,可将a.avi, a.mp3, a.srt用muxer 合并为mkv格式的视频文件。demuxer是拆分这些文件的。


container

指包含数据的文件。容器的类型决定了信息存放的位置。例如AVI,QuickTime。


stream

指一串以时间顺序来串联的数据元素。container中常有多种流,例如音频流,视频流。


frame

流中的数据元素。帧就是影像动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头。 帧由逐行扫 描而得。在隔行扫描中,一帧数据由两场(顶场和低场)组成。


packet

一段数据,它包含了一段可以被解码成方便我们最后在应用程序中操作的原始帧的数据。


DTS

decoding time stamp 解码时间戳。


PTS

presentation time stamp 显示时间戳。


GOP

Group Of Pictures。


I帧   P帧   B帧

简单地说,I帧是关键帧,属于帧内压缩。就是和AVI的压缩是一样的。 P是向前搜索的意思。B是双向搜索。他 们都是基于I帧来压缩数据。

I帧表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画 面)P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义 的差别,生成最终画面。(也就是差别帧,P帧没有完整画面数据,只有与前一帧的画面差别的数据)B帧是双 向差别帧,也就是B帧记录的是本帧与前后帧的差别(具体比较复杂,有4种情况),换言之,要解码B帧,不仅 要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。B帧压缩率 高,但是解码时CPU会比较累。


码率

数据传输时单位时间内传输的数据位数。一般单位是kbps即千比特每秒。码率提高可以提高画面的精度,使画面更加清晰。


帧率

每秒显示帧数。帧率提高可以提高画面的流畅度。


RGB

R红色,G绿色,B蓝色。


YUV

“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V” 表示的则是色度(Chrominance或 Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。“亮度”是透过RGB输入信号来建立的,方法 是将RGB信号的特定部分叠加到一起。“色度”则定义了颜色的两个方面:色调与饱和度,U和V的比值决定色 调,而FFMPEG之视频编解码基础学习札记代表颜色的饱和度。

     Y = 0.299R + 0.587G + 0.114B     U = 0.493 (B – Y)     V = 0.877 (R – Y)


视觉冗余

人类视觉系统对于图像场的任何变化,并不是都能感知的。例如,对于图像的编码和解码处理时,由于压缩或量 化截断引入了噪声而使图像发生了一些变化,如果这些变化不能为视觉所感知,则仍认为图像足够好。事实上人 类视觉系统一般的分辨能力约为26灰度等级,而一般图像量化采用28灰度等级,这类冗余我们称为视觉冗余。 通常情况下,人类视觉系统对亮度变化敏感,而对色度的变化相对不敏感;在高亮度区,人眼对亮度变化敏感度 下降,对物体边缘敏感,内部区域相对不敏感,对整体结构敏感,而对内部细节相对不敏感。将不敏感信息移除 后,人们仍可识别图像。


知识冗余

有许多图像的理解与某些基础知识有相当大的相关性。例如,人脸的图像有固定的结构,嘴的上方有鼻子,鼻子 的上方有眼睛,鼻子位于正面图像的中线上等等。这类规律性的结构可由先验知识和背景知识得到,我们称此类 冗余为知识冗余。


运动评估

在预测帧中寻找最佳匹配块的过程


运动补偿

当前块减去最佳匹配块后得到残差块的过程。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值