音视频基础知识

码率  码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。

  通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件,但是文件体积与取样率是成正比的,所以几乎所有的编码格式重视的都是如何用最低的码率达到最少的失真,围绕这个核心衍生出来的cbr(固定码率)与vbr(可变码率),都是在这方面做的文章,不过事情总不是绝对的,从音频方面来说,码率越高,被压缩的比例越小,音质损失越小,与音源的音质越接近。

码率计算公式  基本的算法是:文件体积=时间X码率/8
这里时间单位是秒,码率除以8,就不用说了。举例,D5的碟,容量4.3G,考虑到音频的不同格式,占用一定的空间,姑且算为600M,视频文件应不大于3.7G,视频长度100分钟(6000秒),计算结果:码率应为4900K。

码率几点原则

  1、码率和质量成正比(废话),但是文件体积也和码率成正比。这是要牢记的。

  2、码率超过一定数值,对图像的质量没有多大影响。

  3、DVD的容量有限,无论是标准的4.3G,还是超刻,或是D9,都有极限。这也是废话,但是就有人记不住或忽略这点,漫天讨论。

视频码率  计算机中的信息都是二进制的0和1来表示,其中每一个0或1被称作一个位,用小写b表示,即bit(位);大写B表示byte,即字节,一个字节=八个位,即1B=8b;前面的大写K表示千的意思,即千个位(Kb)或千个字节(KB)。表示文件的大小单位,一般都使用字节(KB)来表示文件的大小。
Kbps:首先要了解的是,ps指的是/s,即每秒。Kbps指的是网络速度,也就是每秒钟传送多少个千位的信息(K表示千位,Kb表示的是多少千个位),为了在直观上显得网络的传输速度较快,一般公司都使用kb(千位)来表示,如果是KBps,则表示每秒传送多少千字节。1KBps=8Kbps。ADSL上网时的网速是512Kbps,如果转换成字节,就是512/8=64KBps(即64千字节每秒)。

帧率  帧率(Framerate)是用于测量显示帧数的量度。所谓的测量单位为每秒显示帧数(Frames perSecond,简:FPS)或“赫兹”(Hz)。此词多用于影视制作和电子游戏。
由于人类眼睛的特殊生理结构,如果所看画面之帧率高于16的时候,就会认为是连贯的,此现象称之为视觉暂留。这也就是为什么电影胶片是一格一格拍摄出来,然后快速播放的。
而对游戏,一般来说,第一人称射击游戏比较注重FPS的高低,如果FPS<30的话,游戏会显得不连贯。所以有一句有趣的话:“FPS(指FPS游戏)重在FPS(指帧率)。
每秒的帧数(fps)或者说帧率表示图形处理器处理场时每秒钟能够更新的次数。高的帧率可以得到更流畅、更逼真的动画。一般来说30fps就是可以接受的,但是将性能提升至60fps则可以明显提升交互感和逼真感,但是一般来说超过75fps一般就不容易察觉到有明显的流畅度提升了。如果帧率超过屏幕刷新率只会浪费图形处理的能力,因为监视器不能以这么快的速度更新,这样超过新率的帧率就浪费掉了。

 


一、帧率、码流与分辨率

  帧率概念

  一帧就是一副静止的画面,连续的帧就形成动画,如电视图象等。我们通常说帧数,简单地说,就是在1秒钟时间里传输的图片的数,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps(Frames PerSecond)表示。每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象。高的帧率可以得到更流畅、更逼真的动画。每秒钟帧数(fps) 愈多,所显示的动作就会愈流畅。

  码流概念码流(DataRate),是指视频文件在单位时间内使用的数据流量,也叫码率,是他是视频编码中画面质量控制中最重要的部分。同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。

  分辨率概念视频分辨率是指视频成像产品所成图像的大小或尺寸。常见的视像分辨率有352×288,176×144,640×480,1024×768。在成像的两组数字中,前者为图片长度,后者为图片的宽度,两者相乘得出的是图片的像素,长宽比一般为4:3。

二、用码流和时间计算流媒体文件大小

   编码率/比特率直接与文件体积有关。且编码率与编码格式配合是否合适,直接关系到视频文件是否清晰。
在视频编码领域,比特率常翻译为编码率,单位是Kbps,例如800Kbps
其中, 1K=1024 1M=1024K
b 为 比特(bit) 这个就是电脑文件大小的计量单位,1KB=8Kb,区分大小写,B代表字节(Byte)
s 为 秒(second)
p 为 每(per)
以800kbps来编码表示经过编码后的数据每秒钟需要用800K比特来表示。

 
1MB=8Mb=1024KB=8192Kb

   Windows系统文件大小经常用B(字节)为单位表示,但网络运营商则用b(比特),也就是为什么512K速度宽带在电脑上显示速度最快只有约64K的原因,网络运营商宣传网速的时候省略了计量单位。
 
  完整的视频文件是由音频流与视频流2个部分组成的,音频和视频分别使用的是不同的编码率,因此一个视频文件的最终技术大小的编码率是音频编码率+视频编码率。例如一个音频编码率为128Kbps,视频编码率为800Kbps的文件,其总编码率为928Kbps,意思是经过编码后的数据每秒钟需要用928K比特来表示。
 
  了解了编码率的含义以后,根据视频播放时间长度,就不难了解和计算出最终文件的大小。编码率也高,视频播放时间越长,文件体积就越大。不是分辨率越大文件就越大,只是一般情况下,为了保证清晰度,较高的分辨率需要较高的编码率配合,所以使人产生分辨率越大的视频文件体积越大的感觉

 
计算输出文件大小公式:
(音频编码率(KBit为单位)/8 + 视频编码率(KBit为单位)/8)× 影片总长度(秒为单位)=文件大小(MB为单位)

这样以后大家就能精确的控制输出文件大小了。
例:有一个1.5小时(5400秒)的影片,希望转换后文件大小刚好为700M
计算方法如下:
700×8÷5400×1024≈1061Kbps
意思是只要音频编码率加上视频编码率之和为1061Kb,则1个半小时的影片转换后文件体积大小刚好为700M。

至于音频编码率和视频编码率具体如何设置,就看选择的编码格式和个人喜好了,只要2者之和为1061即可。如可以设置为视频编码格式H264,视频编码率900Kbps,音频编码格式AAC,编码率161 Kbps。
与文件体积大小有关的码率是指的平均码率,因此,不论是使用固定比特一次编码方式还是使用二次(多次)动态编码方式,都是可以保证文件大小的。只有使用基于质量编码的方式的时候,文件大小才不可控制。

编码格式有很多种,在技术不断进步的情况下,针对不同的用途,产生了各种编码格式。不同编码格式的压缩率不一样,且有各自的特点,有些在低码率情况下能保持较高的画面质量,但在高码率情况下反而画面质量提示不大,有些适合在高码率情况下保持高清晰度画面,但可能在低码率情况下效果不佳。介绍常见的几种。
RMVB/RM在制定的时候主要考虑的是网络传播,目的在于利用不快的网速传播视觉可以接受的画面质量。因此,RMVB/RM编码格式的特点是较低码率下能获得较好的视频质量

(ffmpeg -g 3 -r 3 -t 10 -b 50k -s qcif -f rv10 /tmp/b.rm 低码率低质量的高压缩转换)

但高码率的情况下反不如其他编码格式。同样是RM/RMVB后缀的文件,其内部编码格式细分还有R8/R9/R10等,但总的来说,上面所说的特点依然是存在的。只是压缩率更高了,因此RMVB没人用在高清编码领域。RMVB追求的是高压缩率,能接受的画面质量,所以经常压缩掉一些不容易注意的细节。初看画面不错,细看就发现画面不锐利,层次不分明,总给人一直模糊的感觉。RMVB/RM后缀文件的音频编码部分同样存在这样的情况,声音压缩率很高,但只是能听,不要奢望达到声音动听的境界。RMVB的流行,一是因为REAL的这种格式适合低速网络的传播,能以较小的文件体积获得可以接受的画面质量。二是随着RMVB的使用,开始出现功能比较完善的转码软件和解决方案,方便了视频爱好者,扩大了影片来源。但随着网速越来越快,H264等更好的编码器出现,同时也因为RMVB不适合高清视频制作,且若对于其他硬件厂家希望支持RMVB/RM格式,就必须向REAL公司支付相当昂贵的专利费,导致很多硬件厂商放弃了对RMVB文件的支持。RMVB的文件已经不是以前那种完全压倒性的优势了。现在网络传播的视频文件已经很多都是AVI、MKV、MP4、3GP等后缀了。其中MKV等多用于高清视频文件,MP4、3GP等多用于手机和便携式设备等领域,AVI则使用范围更加广,不但在高清晰度视频文件中有AVI文件,在便携式设备领域也有AVI使用。
VCD用的视频编码格式为MPEG1,DVD的则为MPEG2,VCD和DVD都主要用于家庭影音播放,而且一般来说,VCD用的MPEG1编码为固定码率编码。DVD可以支持动态码率的MPEG2编码。为了能保证激烈变化画面的时候的清晰度,其默认编码率都比较高,VCD标准编码率为1152Kbps,DVD开放些,根据影片播放时间,常设置为5000Kbps -8000Kbps之间,在不浪费DVD碟容量的前提下尽可能的使用较高的码率获得更高的清晰度。MPEG1和MPEG2在超低码率情况效果不佳,且过分提高码率,画面效果带来的提示也不明显。



-----------------------------------------------------------------------------------------------------------------------------------------------------

1、什么是H.261编码协议

答:H.261是最早出现的视频编码建议,它采用的算法结合了可减少时间冗余的帧间预测和可减少空间冗余的DCT变换的混合编码方法,其输出码率是p× 64kbit/s。p取值较小时,只能传清晰度不太高的图像,适合于面对面的电视电话;p取值较大时(如 p>6),可以传输清晰度较好的会议电视图像。该标准主要针对ISDN电话线的视频会议,可视电话等,ISDN的基本速率为64kbps,可以使用多路复用(p×64kbps)。
2、什么是H.263编码协议?
答: 1996年3月ITU-T制定的H.263标准是一种用于低比特率视频业务中运动图像部分的压缩编码方法。视频编码算法的基本思想是基于ITU-T的 H.261标准,把减少空间冗余的帧内预测法和减少时间冗余的变换编码法结合起来。编码器有运动补偿能力,并有一些功能、编码方法选项。与采用全象素精度和一个环形滤波器的H.261标准的运动补偿比较,H.263标准采用了半象素精度位移估值。除了基本的视频源编码算法外,为了改善性能,它包含4个可选的编码方案:非限制运动矢量,先进预测模式,PB帧模式和基于语法的算术编码。H.263是对原有标准的修订和改进,包括图像格式、总开销和减少方块效应等。尽管这些选项使编码器复杂,但能显著改善图像的质量。
  为了提高编码效率,1997年9月ITU-T又制定了H.263+(H.263的第二版)标准,它是兼容H.263的。H.263+能更好的提高恢复图像的质量和压缩性能,有广阔的应用前景。H.263+在H.263的基础上实施了许多改进,它允许使用更多的图像格式、图像形状和时钟频率。这就增加了 H.263+应用的灵活性。另外,图像大小、形状和时钟频率可以在H.263+的比特流中给出。H.263+在H.263的基础上的另一个重要改进是采用可放缩性,它能提高视频信息在易出错、数据丢失或不同环境中的传输正确率,进一步限制图像
3、什么是H.264(MPEG-4 Part 10) 编码协议?其技术亮点是什么?
  答: H.264是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像编码专家组)的联合视频组(JVT:joint video team)开发的一个新的数字视频编码标准,它既是ITU-T的H.264(MPEG-4 Part 10) ,又是ISO/IEC的MPEG-4的第10 部分。1998年1月份开始草案征集,1999年9月,完成第一个草案,2001年5月制定了其测试模式TML-8,2002年6月的 JVT第5次会议通过了H.264(MPEG-4 Part 10) 的FCD板。
  H.264(MPEG-4 Part 10) 和以前的标准一样,也是DPCM加变换编码的混合编码模式。但它采用“回归基本”的简洁设计,不用众多的选项,获得比H.263++好得多的压缩性能;加强了对各种信道的适应能力,采用“网络友好”的结构和语法,有利于对误码和丢包的处理;应用目标范围较宽,以满足不同速率、不同解析度以及不同传输(存储)场合的需求;它的基本系统是开放的,使用无需版权。
  在技术上,H.264(MPEG-4 Part 10) 标准中有多个闪光之处,如统一的VLC符号编码,高精度、多模式的位移估计,基于4×4块的整数变换、分层的编码语法等。这些措施使得H.264 (MPEG-4 Part 10) 算法具有很的高编码效率,在相同的重建图像质量下,能够比H.263节约50%左右的码率。H.264(MPEG-4 Part 10) 的码流结构网络适应性强,增加了差错恢复能力,能够很好地适应IP和无线网络的应用。
技术亮点:
(1)分层设计
  H.264(MPEG-4 Part 10) 的算法在概念上可以分为两层:视频编码层(VCL:Video Coding Layer)负责高效的视频内容表示,网络提取层(NAL:Network Abstraction Layer)负责以网络所要求的恰当的方式对数据进行打包和传送。在VCL和NAL之间定义了一个基于分组方式的接口,打包和相应的信令属于NAL的一部分。这样,高编码效率和网络友好性的任务分别由VCL和NAL来完成。
(2)高精度、多模式运动估计
H.264(MPEG-4 Part 10) 支持1/4或1/8像素精度的运动矢量。在1/4像素精度时可使用6抽头滤波器来减少高频噪声,对于1/8像素精度的运动矢量,可使用更为复杂的8抽头的滤波器。在进行运动估计时,编码器还可选择“增强”内插滤波器来提高预测的效果。
(3)4×4块的整数变换
  H.264(MPEG-4 Part 10) 与先前的标准相似,对残差采用基于块的变换编码,但变换是整数操作而不是实数运算,其过程和DCT基本相似。这种方法的优点在于:在编码器中和解码器中允许精度相同的变换和反变换,便于使用简单的定点运算方式。也就是说,这里没有“变换误差”。变换的单位是4×4块,而不是以往常用的8×8块。由于用于变换块的尺寸缩小,运动物体的划分更精确,这样,不但变换计算量比较小,而且在运动物体边缘处的衔接误差也大为减小。
(4)统一的VLC
    H.264(MPEG-4 Part 10) 中熵编码有两种方法,一种是对所有的待编码的符号采用统一的VLC(UVLC :Universal VLC),另一种是采用内容自适应的二进制算术编码(CABAC:Context-Adaptive Binary Arithmetic Coding)。CABAC是可选项,其编码性能比UVLC稍好,但计算复杂度也高。UVLC使用一个长度无限的码字集,设计结构非常有规则,用相同的码表可以对不同的对象进行编码。这种方法很容易产生一个码字,而解码器也很容易地识别码字的前缀,UVLC在发生比特错误时能快速获得重同步。
(5)帧内预测
    在先前的H.26x系列和MPEG-x系列标准中,都是采用的帧间预测的方式。在H.264(MPEG-4 Part 10) 中,当编码Intra图像时可用帧内预测。对于每个4×4块(除了边缘块特别处置以外),每个像素都可用17个最接近的先前已编码的像素的不同加权和(有的权值可为0)来预测,即此像素所在块的左上角的17个像素。显然,这种帧内预测不是在时间上,而是在空间域上进行的预测编码算法,可以除去相邻块之间的空间冗余度,取得更为有效的压缩。
(6)面向IP和无线环境
  H.264(MPEG-4 Part 10) 草案中包含了用于差错消除的工具,便于压缩视频在误码、丢包多发环境中传输,如移动信道或IP信道中传输的健壮性。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值