博客
关于我
音视频基础知识---像素格式YUV(转)
阅读量:440 次
发布时间:2019-03-06

本文共 1286 字,大约阅读时间需要 4 分钟。

YUV 格式详解

一、YUV 概述

YUV(Yieldable Universal Vision)是一种广泛应用于图像处理和编码的色彩空间表示方法。与 RGB(红、绿、蓝)色彩模型不同,YUV 更注重压缩和传输效率,能够在保持图像质量的同时降低带宽占用。

YUV 的三个分量

  • Y(Luminance 或 Luma):表示明亮度,即灰度值,是信号中携带最多信息的分量。
  • U(Cb)和 V(Cr):表示色度和浓度,分别对应蓝色/红色的成分。
  • YUV 通常用于压缩图像,通过降低色度信息的分辨率来减少数据量。例如,仅含 Y 分量的图像为灰度图像,而完整的 YUV 数据则可以还原出色彩信息。

    YUV 的采样格式

    YUV 采样格式根据数据压缩程度的不同分为多种形式,主要包括以下几种:

    1. YUV 4:4:4

    特点:每个像素同时包含完整的 Y、U 和 V 信息,采样比为 4:4:4。

    • 存储方式:每个像素点独立存储 Y、U、V 三个分量。
    • 优点:与 RGB 格式存储空间相同,直接可用于图像处理。

    2. YUV 4:2:2

    特点:Y 分量与 U 和 V 分量采样比例为 2:1,U 和 V 分量水平间隔采样一像素。

    • 存储方式:每行像素点中包含完整的 Y 分量,以及 U 和 V 分量的交错采样。
    • 优点:存储空间与 YUV 4:4:4 相比减少三分之一,适合网络传输。

    3. YUV 4:2:0

    特点:U 和 V 分量的采样与 Y 分量相比为 2:1,但 U 和 V 分量的行间采样方式不同。

    • 存储方式:每行包含完整的 Y 分量,U 和 V 分量按行间交替采样。
    • 优点:存储空间与 YUV 4:4:4 相比减少一半,是主流采样格式。

    二、YUV 存储格式

    YUV 存储格式分为两种主要形式:平面格式(Planar)和打包格式(Packed)。

    1. 平面格式

    • 特点:将 Y、U 和 V 分量分别存储在不同的数据块中。
      • 例如,YUV420 的存储顺序为:所有 Y 分量 → 所有 U 分量 → 所有 V 分量。
    • 优点:数据结构清晰,便于解码和处理。

    2. 打包格式

    • 特点:将 Y、U 和 V 分量按顺序打包存储,例如 YUYV 格式。
      • 例如,Y0 U0 V0 Y1 U1 V1 Y2 U2 V2... 的顺序。
    • 优点:存储空间利用率高,适合快速处理和传输。

    三、常见 YUV 格式

    1. YUYV

    • 特点:打包格式,每个像素点依次存储 Y、U、V 三个分量。
    • 存储方式:Y0 U0 Y1 V0 Y2 U1 Y3 V1...

    2. UYVY

    • 特点:与 YUYV 相反,首先存储 U 和 V 分量,再存储 Y 分量。
    • 存储方式:U0 Y0 V0 Y1 U1 Y2 V1 Y3...

    3. YUV 422P

    • 特点:平面格式,先存储所有 Y 分量,再存储 U 和 V 分量。
    • 存储方式:Y0 Y1 Y2 Y3 U0 U1 V0 V1...

    通过以上内容可以看出,YUV 格式为图像压缩和传输提供了灵活的解决方案。根据具体需求选择合适的 YUV 格式可以在保证图像质量的同时优化存储和传输效率。

    转载地址:http://hgsyz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现Sigmoid函数算法(附完整源码)
    查看>>
    Objective-C实现similarity search相似性搜索算法(附完整源码)
    查看>>
    Objective-C实现simple binary search简单的二分查找算法(附完整源码)
    查看>>
    Objective-C实现simulated annealing模拟退火算法(附完整源码)
    查看>>
    Objective-C实现SinglyLinkedList单链表算法(附完整源码)
    查看>>
    Objective-C实现SizeBalancedTree大小平衡树(附完整源码)
    查看>>
    Objective-C实现skew heap倾斜堆算法(附完整源码)
    查看>>
    Objective-C实现Skip List跳表算法(附完整源码)
    查看>>
    Objective-C实现slack message松弛消息算法(附完整源码)
    查看>>
    Objective-C实现SlopeOne算法(附完整源码)
    查看>>
    Objective-C实现slow sort慢排序算法(附完整源码)
    查看>>
    Objective-C实现smo算法(附完整源码)
    查看>>
    Objective-C实现strschr函数功能(附完整源码)
    查看>>
    Objective-C实现subset generation子集生成算法(附完整源码)
    查看>>
    Objective-C实现substring函数功能(附完整源码)
    查看>>
    Objective-C实现sum of geometric progression几何级数之和算法(附完整源码)
    查看>>
    Objective-C实现sum of subset子集总和算法(附完整源码)
    查看>>
    Objective-C实现SVM支持向量机算法(附完整源码)
    查看>>
    Objective-C实现sylvester西尔维斯特方程算法(附完整源码)
    查看>>
    Objective-C实现tabu search禁忌搜索算法(附完整源码)
    查看>>