直播软件开发科普之音视频&流媒体(二)

图像存储格式yuv

直播软件开发中一幅彩色图像的基本要素是什么?

1、宽:一行有多少个像素点。 2、高:一列有多少个像素点,一帧有多少行 3、YUV格式还是RGB格式? 4、一行多少个字节?? 5、图像大小是多少? 6、图像的分辨率多少?

说白了,一幅图像包括的基本东西就是二进制数据,其容量大小实质即为二进制数据的多少。一幅1920x1080像素的YUV422的图像,大小是1920X1080X2=4147200(十进制),也就是3.95M大小。这个大小跟多少个像素点和数据的存储格式有关。

YUV与像素的关系:

YUV格式,与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。并且,YUV不像RGB那样要求三个独立的视频信号同时传输,所以用YUV方式传送占用极少的频宽。

YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交替存储的。

YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。      YUV是利用一个亮度(Y)、两个色差(U,V)来代替传统的RGB三原色来压缩图像。传统的RGB三原色使用红绿蓝三原色表示一个像素,每种原色占用一个字节(8bit),因此一个像素用RGB表示则需要8 * 3=24bit。

如果使用YUV表示这个像素,假设YUV的采样率为:4:2:0,即每一个像素对于亮度Y的采样频率为1,对于色差U和V,则是每相邻的两个像素各取一个U和V。对于单个的像素来说,色差U和V的采样频率为亮度的一半。如有三个相邻的像素,如果用RGB三原色表示,则共需要占用:8 * 3 * 3 = 72bits;如果采用YUV(4:2:0)表示,则只需要占用:8 * 3(Y)+ 8* 3 * 0.5(U)+ 8 * 3 * 0.5(V)= 36bits。只需原来一半的空间,就可以表示原来的图像,数据率压缩了一倍,而图像的效果基本没发生变化。

那么,具体yuv格式所占用的字节数要怎么算呢 ?

YUV图像格式的内存大小

  • 4:4:4 表示色度值(UV)没有减少采样。即Y,U,V各占一个字节,加上Alpha通道一个字节,总共占4字节.这个格式其实就是24bpp的RGB格式了。

  • 4:2:2 表示UV分量采样减半,比如第一个像素采样Y,U,第二个像素采样Y,V,依次类推,这样每个点占用2个字节.二个像素组成一个宏像素.

    • 需要占用的内存:w * h * 2
  • 4:2:0 这种采样并不意味着只有Y,Cb而没有Cr分量,这里的0说的U,V分量隔行才采样一次。比如第一行采样 4:2:0 ,第二行采样 4:0:2 ,依次类推...在这种采样方式下,每一个像素占用16bits或10bits空间.

    • 内存则是:yyyyyyyyuuvv
    • 需要占用的内存:w * h * 3 / 2
  • 4:1:1 可以参考4:2:2分量,是进一步压缩,每隔四个点才采一次U和V分量。一般是第1点采Y,U,第2点采Y,第3点采YV,第4点采Y,依次类推。

 

直播软件开发科普之音视频&流媒体(二)

 

 

帧率、码率与分辨率之间关系

直播软件开发的码率和帧率没有半毛钱关系

码率关系着带宽、文件体积

帧率关系着画面流畅度和cpu消耗

分辨率关系着图像尺寸和清晰度

一个视频文件的大小为5.86M,播放时长为3分7秒

  • 1,该文件对应的码率就是

    • 5.86 * 1024 * 1024 * 8 / (3 * 60 + 7) = 262872.95657754bps
  • 2,10M独享带宽能支撑的同时在线人数

    • 10 * 1024 * 1024 / 262872.95657754 = 39.889078498294
  • 3, 支撑1000人同时在线的系统最少需要的带宽数为

    • 262872 * 1000 / (1024 * 1024) = 250.69427490234M

10min,流量消耗41587KB

41587/10*60 = 69KB/s = 69 * 8 Kb/s = 532Kb/s

那么得到码率就是 532Kb/s


作者:吴德宝AllenWu
链接:https://juejin.im/post/6844903555141238791
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。