视频编码基础

文章地址: https://wuyuans.com/2012/01/video_encode_frame

名词解释

媒体:是表示,传输,存储信息的载体,常人们见到的文字、声音、图像、图形等都是表示信息的媒体。
多媒体: 是声音、动画、文字、图像和录像等各种媒体的组合,以图文并茂,生动活泼的动态形式表现出来,给人以很强的视觉冲击力,留下深刻印象
多媒体技术:是将文字、声音、图形、静态图像、动态图像与计算集成在一起的技术。它要解决的问题是计算机进一步帮助人类按最自然的和最习惯的方式接受和处理信息。
流媒体 :流媒体是指采用流式传输的方式在Internet播放的连续时基媒体格式,实际指的是一种新的媒体传送方式,而不是一种新的媒体格式(在网络上传输音/视频等多媒体信息现在主要有下载和流式传输两种方式)。流式传输分两种方法:实时流式传输方式(Realtime streaming)和顺序流式传输方式(progressive streaming)。
多媒体文件:是既包括视频又包括音频,甚至还带有脚本的一个集合,也可以叫容器;
媒体编码:是文件当中的视频和音频所采用的压缩算法。也就是说一个avi的文件,当中的视频编码有可能是A,也可能是B,而其音频编码有可能是1,也有可能是2。
转码 :指将一段多媒体包括音频、视频或者其他的内容从一种编码格式转换成为另外一种编码格式
视频:连续的图象变化每秒超过24帧(Frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面,看上去是平滑连续的视觉效果,这样连续的画面叫做视频
音频 :人类能听到的声音都成为音频,但是一般我们所说到的音频时存储在计算机里的声音
码率:码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps(即,千位每秒)。 通俗一点的理解就是采样率,单位时间内采样率越大精度就越高,处理出来的文件就越接近原始文件,但是文件体积与采样率是成正比的,所以几乎所有的编码格式重视的都是如何用最低的码率达到最少的失真。但是因为编码算法不一样,所以也不能用码率来统一衡量音质或者画质。
:帧就是一段数据的组合,它是数据传输的基本单位。就是影像动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头。 一帧就是一副静止的画面,连续的帧就形成动画,如电视图像等。
帧率:帧率即每秒显示帧数,帧率表示图形处理器处理场时每秒钟能够更新的次数。高的帧率可以得到更流畅、更逼真的动画。一般来说30fps就是可以接受的,但是将性能提升至60fps则可以明显提升交互感和逼真感,但是一般来说超过75fps一般就不容易察觉到有明显的流畅度提升了。如果帧率超过屏幕刷新率只会浪费图形处理的能力,因为监视器不能以这么快的速度更新,这样超过新率的帧率就浪费掉了。
关键帧:相当于二维动画中的原画,指角色或者物体运动或变化中的关键动作所处的那一帧,它包含了图像的所有信息,后来帧仅包含了改变了的信息。如果你没有足够的关键帧,你的影片品质可能比较差,因为所有的帧从别的帧处产生。对于一般的用途,一个比较好的原则是每5秒设一个关键键。但如果时那种实时传输的流文件,那么要考虑传输网络的可靠度,所以要1到2秒增加一个关键帧。
     我们都知道视频是由图片构成的,就像早期的胶片电影一样,一幅幅图片连续播放就形成了视频,在视频中我们管这些图片叫帧。在x264中有三种基本的帧类型:I帧、P帧和B帧。
1. I帧
     I帧(I frame),又称为内部画面(intra picture),I帧通常是每个GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。在MPEG编码的过程中,部分视频帧序列压缩成为I帧;部分压缩成P帧;还有部分压缩成B帧。I帧法是帧内压缩法,也称为“关键帧”压缩法。————百度百科

     也就是说I帧其实是图片编码的,类似于JPEG编码,可以理解为电影中的胶片。而且I帧的生成是没有参考前后帧的,他只是作为参考点而存在,其他类型的帧都是以他为原型经过适当编码而来的。

2. P帧
     P帧由在它前面的P帧或者I帧预测而来,它比较与它前面的P帧或者I帧之间的相同信息或数据,也即考虑运动的特性进行帧间压缩。P帧法是根据本帧与相邻的前一帧(I帧或P帧)的不同点来压缩本帧数据。采取P帧和I帧联合压缩的方法可达到更高的压缩且无明显的压缩痕迹。
     P帧是由前面的帧预测而来的,打个比方,I帧就是父母,P帧相当于孩子,孩子还可以再生孩子,一切的起源肯定是父母,也就是I帧。
这里写图片描述
3.B帧
     B帧法是双向预测的帧间压缩算法。当把一帧压缩成B帧时,它根据相邻的前一帧、本帧以及后一帧数据的不同点来压缩本帧,也即仅记录本帧与前后帧的差值。只有采用B帧压缩才能达到200:1的高压缩。一般地,I帧压缩效率最低,P帧较高,B帧最高。
     一般视频的帧率为23,有的甚至到了30,也就是说一秒钟有23帧的画面,除非那部电影的场面相当动作,不然帧与帧之间的差别会相当小。相比较P帧的前向预测,B帧的前后双向预测所计算出来的值会更小,所以他的体积比P帧小很多,压缩率也最高。

     最后来个总结,I帧是关键帧,是类似于图片形式的存在;P帧是前向预测帧,由前面的帧预测而来;B帧是前后向预测帧,由前一帧和后一帧预测而来。在视频编码中这三种帧都是很重要的,只有把这三种帧合理分配好才能很好的编码视频。如果I帧太多,视频清晰度会相当不错,但体积会比较大;太少也不行,I帧是参考帧,其他两种帧都是间接或直接参考I帧而来的,参考太少的话画面很容易走样,变得模糊。

     就这些了,x264是一个庞大的系统,慢慢学吧,加油!
I、P、B帧特点分析

概念

PTS:Presentation Time Stamp。PTS主要用于度量解码后的视频帧什么时候被显示出来,DTS主要用于视频的解码,在解码阶段使用。
DTS:Decode Time Stamp。DTS主要是标识读入内存中的bit流在什么时候开始送入解码器中进行解码,PTS主要用于视频的同步和输出,在display的时候使用。在没有B frame的情况下,DTS和PTS的输出顺序是一样的.
GOP:两个I frame之间形成一个GOP,在x264中同时可以通过参数来设定bf的大小,即:I 和p或者两个P之间B的数量。
如果有B frame 存在的情况下一个GOP的最后一个frame一定是P.
下面给出一个GOP为15的例子,其解码的参照frame及其解码的顺序都在里面:
这里写图片描述
如上图:I frame 的解码不依赖于任何的其它的帧.而P frame的解码则依赖于其前面的I frame或者P frame.B frame的解码则依赖于其前的最近的一个I frame或者P frame 及其后的最近的一个P frame.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值