音视频-- 03 YUV, RGB

768 阅读1分钟

为什么采用YUV,采集源数据

图片采用RGB 一个像素点 RGB 8 + 8 + 8bit

一帧= 3个字节 * 1280*720 /1024 / 1024 = 2.63 M 存储空间

视频为了减少数据量 YUV,选择性丢弃亮度,因为视频能达到每秒60帧上下,不会出现模糊等现象 像素点相邻点 颜色相近,借位丢失的采样率 一个像素点 YUV 8 + 8 + 8

- YUV 4:4:4  2.63M 
- YUV 4:2:2  1.76M
- YUV 4:2:0  1.32M
采集数据

4:2:2 Y颜色度不丢,临近颜色借用UV,采集水平10个像素,10个Y, 5个U/V image.png

4:2:0 上下借位, image.png

image.png

再H264压缩。88G - 873M

黑白 / 彩电 ,一根线 Y 信号, 三根线 Y、U、V

手机屏幕 RGBa

拿到YUV 转码 RGB 展示 YUV<=>RGB 转换公式 比如720p, 1280*720 = 921600 ,92W次的 YUV=>RGB, cpu 是不可能执行 交给GPU, 性能GPU擅长并行运算,cpu串行逻辑运算

Metal

顶点函数, 确定图片图形按钮的位置

片元函数, 片元/像素,计算每一个像素点的值的鼹鼠