音视频基础视频基础理论
Posted 一二三o-0-O
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了音视频基础视频基础理论相关的知识,希望对你有一定的参考价值。
【音视频基础】视频基础理论
图像基本概念
图像
- 视频是由一组图像组成,为了传输被压缩,最终在显示设备上显示;
- 图像是由像素组成,像素是由RGB组成;
-
RGB即三原色(红、绿、蓝),可以混合成世界上所有的颜色。具体RGB值表示如下图所示:
- 彩色图像中每个点,有R、G、B三个分量组成;以RGB24为例,图像像素数据的存储方式如下:
从图中可以看出,RGB24一次存储了每个像素点的R、G、B信息。
- 与RGB类似的还有BGR格式,可以互相转换。转换方式可以自己写转换程序,也可以使用有swscale相关的ffmpeg库。
- RGB
- 彩色图像中每个点,有R、G、B三个分量组成;以RGB24为例,图像像素数据的存储方式如下:
-
分辨率表示横向的像素点个数与纵向的像素点个数
-
位深:每一个像素占用的位数;最常见的是24位-RGB888,每个颜色都是8位;还有32位-RGBA,A表示alpha(透明度)。
-
屏幕
-
一个像素是三个发光二极管组成,可以展示一组RGB值,如下图所示:
-
屏幕上的每个像素由三个发光二极管组成,整个屏幕即可表示为下图:
-
图像与屏幕的关系就是:图像是数据,屏幕是显示设备,图像数据经过驱动程序让屏幕显示图像。
-
表示屏幕质量的指标:
- PPI(pixels per inch):每英寸的像素数
- DPI(Dots pen inch):每英寸的点数,基本上DPI=PPI
- PPI>300就属于视网膜级别,人眼区分不出来,认为是一体的
图像码流如何计算?
要求的平滑度越高,帧率就越大;要求的清晰度越高,分辨率就越大
分辨率
- 分辨率即是:X轴的像素个数 * Y轴的像素个数
- 常见的宽高比16:9以及4:3
- 16:9的分辨率有360P(640360)、720P(1280720)、1K(1080P 19201080)、2K(1440P,25601440)、4K(4096*2160;如今大多显示器都是用此宽高比
- 4:3常见的是640*480;旧有的老电视机会采样这个宽高比
帧率
- 帧率是:每秒钟采集/播放图像的个数。
- 动画的帧率是:25帧/s
- 常见的帧率是:15帧/s,30帧/s,60帧/s
- 实时通信一般是15帧/s(帧率越大,占用的传输带宽就越大)
- 录课一般30帧/s能够满足需求
- 电影一般是60帧/s
码流计算
- 未编码的RGB码流 = 分辨率(宽*高)*3(Byte)*25(fps)
- 例如:1280720325=69120000 约69兆Byte/s;码流是以位为单位的,则69M8=552Mbit/s
图像显示
- 图像显示的三种情况
-
图像大小等于显示区域大小
-
图像小于显示区域(拉伸/留白)
-
图像大于显示区域(缩小/截断)
-
YUV
YUV格式
- 相关实验表明,人眼对亮度敏感而对色度不敏感。因而可以将亮度信息和色度信息分离,并对色度信息采用更“狠”一点的压缩方案,从而提高压缩效率。
- YUV(也称YCbCr)格式中,Y只包含亮度信息,而UV只包含色度信息。
- 主要的采样格式有YUV4:2:0、YUV4:2:2和YUV4:4:4。
- YUV444:与RGB88同等概念
- YUV422:每一行来说,隔一行有个U/V,数据量:1280720 +21280/2720=21280*720,数据量减少了2/3。
- YUV420:应用最广泛的格式,播放器必须支持
- 为什么使用YUV? 显示器从黑白显示器演变过来的,为了和以前格式兼容以及YUV存储的数据比RGB要少很多。
RGB与YUV的转换
-
RGB与YUV关系:RGB用于屏幕图像的展示,YUV用于采集与编码。
-
YUV转RGB:
- R = Y + 1.140*v
- G = Y - 0.394U -0.581v
- B = Y + 2.032*u
-
RGB转YUV
- Y = 0.299R + 0.587G + 0.114*B
- U = -0.147R - 0.289G + 0.436*B = 0.492(B-Y)
- V = 0.615R - 0.515G - 0.100B = 0.877*(R-Y)
-
4:2:0并不意味着只有Y、Cb两个分量,而没有Cr分量。它实际指的是每行扫描线来说,只有一种色度分量,它以2:1的抽样率存储。相邻的扫描行存储不同的色度分量,也就是说,如果一行是4:2:0的话,下一行就是4:0:2,再下一行是4:2:0…以此类推
YUV存储
- 以YUV420P为例,图像像素数据的存储方式如图所示。
从图中可以看出,YUV420P首先存储整张图像的Y信息,然后存储整张图像的U信息,最后存储了整张图像的V信息。
YUV查看工具
可以使用YUV Player Deluxe查看视频像素数据:
参考资料
【1】雷神博客
【2】李超:音视频基础+ffmpeg原理
以上是关于音视频基础视频基础理论的主要内容,如果未能解决你的问题,请参考以下文章