iOS开发_音视频_YUV

思维导图

YUV

概念

  • 使用 明亮度 和 色度 来指定像素的颜色
    Y:明亮度
    UV:色度(色调、饱和度)
  • Y和UV分量可以分离,没有UV可以正常显示图像,是黑白的

主要采样格式

YUV 4:4:4

  • Y、U、V分量比例相同,每个像素点是8*3bit,和RGB一样,没达到节省带宽作用
  • 假设1280*720的图像:
    存储空间 = (1280 * 720 * 3 * 8 ) / 8 / 1024 / 1024 = 2.63M

YUV 4:2:2

  • Y和UV分量比例为2:1,即10个像素点的话,将采集10个Y分量,5个UV分量
  • 例:
    图像像素:[Y0 U0 V0]、[Y1 U1 V1]、[Y2 U2 V2]、[Y3 U3 V3]
    —> 采样:Y0 U0 Y1 V1 Y2 U2 Y3 V3(U、V分量间隔采集)
    —>映射出的像素点:[Y0 U0 V1]、[Y1 U0 V1]、[Y2 U2 V3]、[Y3 U2 V3](1、2素点共用一个UV分量,3、4共用一个UV分量)
  • 存储空间 = (1280 * 720 * 8 * 2) / 8 / 1024 / 1024 = 1.76M

YUV 4:2:0

  • 扫描一行时,只扫描一种色度分量(U或者V),并且和Y分量比例为2:1
  • 例:
    图像像素:
    [Y0 U0 V0]、[Y1 U1 V1]、[Y2 U2 V2]、[Y3 U3 V3]
    [Y5 U5 V5]、[Y6 U6 V6]、[Y7 U7 V7]、[Y8 U8 V8]
    —> 采样:Y0 U0 Y1 Y2 U2 Y3 Y5 V5 Y6 Y7 V7 Y8
    —>映射出的像素点:(左右相邻相近,上下相邻相近)
    [Y0 U0 V5]、[Y1 U0 V5]、[Y2 U2 V7]、[Y3 U2 V7]
    [Y5 U0 V5]、[Y6 U0 V5]、[Y7 U2 V7]、[Y8 U2 V7]
  • 存储空间 = (1280 * 720 * 8 * 1.5) / 8 / 1024 / 1024 = 1.32M

存储格式

格式

planar 平面格式

  • 指先存储所有像素点的Y分量,然后存储U分量,最后存储V分量
    packed 打包模式
  • 指每个像素点的Y、U、V分量是连续交替存储的

常见采样格式

  • 基于YUV 4:2:2
    • YUYV格式
    • UYVY格式
      YUV 422P格式
  • 基于YUV 4:2:0
    • YUV 420P类型
      • YV12格式
      • YU12格式
    • YUV 420SP类型
      • NV12格式
      • NV21格式

你可能感兴趣的:(iOS开发_音视频_YUV)