博客

  • 视频的码率

    视频的码率

    2024年10月8日知名数码自媒体影视飓风发布了一个标题为《清晰度不如四年前!视频模糊是你的错觉吗?》的科普视频,科普了视频平台为了降低流量费用支出。通过降低视频码率,改变编码格式等方式,压缩博主上传的视频画质。在视频中Tim表示,这种压缩视频画质的方法,已经影响了博主的内容表达。

    下面来讲一下视频码率和视频清晰度之间的关系:

    以HD SDI高清视频为例,高清视频的分辨率为1920×1080(1080P),帧率应不低于25fps,10bit采样量化,编码码率为50Mbps,那么未压缩的高清视频一小时文件大小应为22.5GB。

    4K播出系统中节目文件主要以分辨率为3840 X 2160,每秒50帧逐行,编码XAVC Class300,码率500Mbps,MXF封装的文件格式存储,1小时4K节目文件大小约为225GB。

    码率又称为比特率(Bit Rate),比特率描述信息(以比特为单位)从一个地点传送到另一个地点的速率,它衡量了在一定时间内传送了多少信息。视频的比特率一般用Mbps计量,音频的比特率一般用Kbps计量。

    你如果设置了500Mbps的码率,无论是用8bit 4:2:0还是10bit 4:2:2,4K 60P还是4K 120P,这个视频都会有每秒500Mb的数据大小。

    HEVC/AVC只能决定编码的效率,bit depth(8bit 10bit)只能决定色深,色度采样方式(4:2:0 4:2:2)只能决定色彩信息的保留程度。

    虽然视频大小一样,但是其质量是不同的,性能越高的编码器能在同样大小的文件里塞进去更多有效信息。

    在视频分辨率不变的情况下,比特率越高也就是码率越高,视频越清晰。

  • 电视图像的帧率

    电视的运动图像是由一帧一帧的画面组成的,帧数就是在1秒时间内传输的图片的数量,单位为fps。

    根据人类眼睛的视觉残留原理,当所看画面的帧率高于16的时候,就会认为连贯的。帧数越高,画面越流畅,但是与之对应的生成文件越大,需要消耗更多的网络带宽和存储资源。

    I、B、P帧:

    I帧是关键帧,这一帧画面需要完整保留,解码需要本帧画面就可以完成。

    P帧是前向预测编码帧,表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。(也就是差别帧,P帧没有完整画面数据,只有与前一帧的画面差别的数据)

    B帧是双向预测内插编码帧,是双向差别帧,也就是B帧记录的是本帧与前后帧的差别(具体比较复杂,有4种情况),换言之,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。 网络上的电影很多都采用了B帧,B帧压缩率高,但是解码时CPU占用比较高。

    在视频编码中,有一个概念叫做GOP,就是帧分组,两个关键帧之间有多少个编码帧(P帧和B帧),两个关键帧之间帧的多少直接影响到对图像的解码和编码。

    如果两个关键帧之间的帧比较多,那么从P帧和B帧的定义我们知道,解码程序就需要缓冲更多的中间解码帧,内存消耗就会比较多,而且GOP越长,那么B帧的帧数会越来越多,这直接影响到图像失真率,所以,不是GOP越长就会越好。

    那么,如果GOP越短,B帧就会越小,这种情况下图像的失真率就会越小,但是同时压缩率也会越小,对应的比特率就会越大,在网络上传输需要的带宽就会越多,所以,GOP不是越长越好,也不是越短越好,需要找一个合适位置,这个时候就是关键帧发挥作用的关键了。

    I帧与I帧之间的间隔便为GOP。那GOP的大小影响了什么呢,其实就是时延、带宽,清晰度等问题,还有拖拉等问题。