音视频开发_图像和视频基础名词梳理
最近更新:2024-09-23
|
字数总计:1.1k
|
阅读估时:4分钟
|
阅读量:次
- 1 基础概念
- 什么是像素
- 什么是分辨率
- 什么是位深
- 什么是帧率
- 什么是码率
- 什么是Stride跨距, Padding是什么
- 什么是I帧
- 什么是P帧
- 什么是B帧
- 列举常用视频压缩算法
- 2 RGB与YUV
- 什么是RGB
- 什么是RGB排列
- 什么是YUV
- Why YUV
- 什么是YUV打包(packed)格式
- 什么是YUV平面(planar)格式
- 什么是YUV采样点法,解释YUV 4:4:4、 YUV 4:2:2、 YUV 4:2:0
- 什么是I444、I422、I420、YV12、NV12、NV21数据存储格式
- 为什么从YUV到RGB转换时,解码出错会显示为绿色
1 基础概念
什么是像素
- 图像的基本单位,简称px

什么是分辨率
- 图像(或视频)的分辨率是指图像的大小或尺寸。我们通常用像素表示图像的尺寸。例如2500×2000的照片就是指横向(宽)有2500个像素点,竖向(高)有2000个像素点。
- 常见的分辨率:360P(640x360)、 720P(1280x720)、 1080P(1920x1080)、 4K(3840x2160)、 8K(7680x4320)
什么是位深
- 图像或视频每个颜色通道用几个bit来表示,例如8bit位深的RGB图片。8bit能表示256种颜色,所以可以组成256256256=16,777,216 = 1677万种颜色。
什么是帧率
- 帧率即 FPS(每秒有多少帧画面)
- 由于视觉图像在视网膜的暂时停留,一般图像帧率能达到24帧,我们就认为图像是连续动态的。电影帧率一般是 24fps(帧每秒);电视剧一般是25fps;监控行业常用 25fps;音视频通话常用15fps;
- 帧率越高,画面越流畅,需要的设备性能也越高。
什么是码率
- 视频文件在单位时间内使用的数据流量。比如1Mbps。
- 大多数情况下码率越高 分辨率越高,也就越清晰。但模糊的视频文件大小(码率)也可以很大,分辨率小的视频文件可能也比分辨率大的视频文件清晰。
什么是Stride跨距, Padding是什么
- 指在内存中每行像素所占的空间。为了实现内存对齐每行像素在内存中所占的空间并不一定是图像的宽度。Stride 的值一定不小于图像的宽度值Padding是每一行需要补齐的字节数。
什么是I帧
- I帧不需要参考其他画面而生成, 解码时仅靠自己就重构完整图像
什么是P帧
- 根据本帧与相邻的前一帧(I帧或P帧)的不同点来压缩本帧数据,同时利用了空间和时间上的相关性
什么是B帧
- B 帧图像采用双向时间预测,可以大大提高压缩倍数。
列举常用视频压缩算法
- MPEG2 MPEG阵营; H264 MPEG阵营; H265 MPEG阵营; AVS 中国阵营; VP8 Google阵营; VP9 Google阵营
2 RGB与YUV
什么是RGB
什么是RGB排列

什么是YUV
- “Y”表示明亮度(Luminance或Luma),也就是灰阶值,“U”和“V”表示的则是色度(Chrominance或Chroma)。
Why YUV
- 没有UV信息一样可以显示完整的图像,因而解决了彩色电视与黑白电视的兼容问题;还可以降低色度的采样率而不会对图像质量影响太大,降低了视屏信号传输时对频宽(带宽)的要求。
什么是YUV打包(packed)格式
- 将每个像素点的Y、 U、 V分量交叉排列并以像素点为单元连续的存放在同一数组中,通常几个相邻的像素组成一个宏像素(macro-pixel)

什么是YUV平面(planar)格式
- 使用三个数组分开连续的存放Y、 U、 V三个分量, 即Y、 U、 V分别存放在各自的数组中。

什么是YUV采样点法,解释YUV 4:4:4、 YUV 4:2:2、 YUV 4:2:0
- YUV采用A:B:C表示法来描述Y,U,V采样频率比例
- 4:4:4 表示色度频道没有下采样, 即一个Y分量对应着一个U分量和一个V分量。
- 4:2:2 表示 2:1 的水平下采样,没有垂直下采样,即每两个Y分量共用一个U分量和一个V分量。
- 4:2:0 表示 2:1 的水平下采样, 2:1 的垂直下采样,即每四个Y分量共用一个U分量和一个V分量。

什么是I444、I422、I420、YV12、NV12、NV21数据存储格式
- I444, YUV444P, planar, YYYYYYYY UUUUUUUU VVVVVVVV
- I422, YUV422P, planar, YYYYYYYY UUUU VVVV
- I420, YUV420P, planar, YYYYYYYY UU VV
- YV12, YUV420P, planar, 先存V再存U, YYYYYYYY VV UU
- NV12, YUV420SP, planar, UV打包存, YYYYYYYY UV UV
- NV21, YUV420SP, planar, UV打包存, 先存V再存U, YYYYYYYY VU VU
为什么从YUV到RGB转换时,解码出错会显示为绿色
- 因为解码失败时YUV分量都填为0值,然后根据公式:
1 2 3 4 5 6 7 8
| R = 1.402 * (-128) = -126.598 G = -0.34414*(-128) - 0.71414*(-128) = 44.04992 + 91.40992 = 135.45984 B = 1.772 * (-128) = -126.228
RGB 值范围为[0, 255], 所以最终的值为: R = 0 G = 135.45984 B = 0
|
- 此时只有G分量有值所以为绿色。
2023-08-09
该篇文章被 Cleofwine
归为分类:
音视频