【FPGA图像处理实战】- YUV444与YUV422互转

本文转载自:FPGA入门到精通微信公众号

YUV颜色空间在视频图像处理中应用非常广泛,我们做FPGA图像处理需要熟练掌握和理解这个知识点。

本文将详细介绍YUV颜色空间、常见的存储方式以及FPGA实现YUV444与YUV422互转。

一、YUV颜色空间介绍

1、YUV定义

“Y”表示明亮度(Luminance或Luma),即灰值。这是人眼对亮度的敏感程度的体现。在YUV中,亮度信息是最主要的,因此,如果没有U和V信息,只有Y信息,图像仍然可以显示出来,只不过是黑白的。

“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。UV一起描述了色彩的饱和度以及色调。2、YUV数据采样格式

因为人眼对亮度比色度更敏感,色度通道(UV)的采样率可以低于亮度通道(Y),而不会显着降低感知质量。

主流的采样方式有三种,YUV444,YUV422,YUV420。

以黑点表示采样该像素点的Y分量,以空心圆圈表示采用该像素点的UV分量,如下图所示。

01.png

  • 4:4:4 表示不降低色度(UV)通道的采样率。每个 Y 分量对应一组 UV 分量。

  • 4:2:2 表示 2:1 水平下采样,没有垂直下采样。每两个 Y 分量共享一组 UV 分量。

  • 4:2:0 表示 2:1 水平下采样,同时 2:1 垂直下采样。每四个 Y 分量共享一组 UV 分量。

3、YUV的应用与优势

YUV颜色编码方法在音视频领域具有广泛的应用和显著的优势。其优势主要体现在以下几个方面:

(1)节省带宽:由于人眼对亮度(Y分量)的敏感度远高于色度(U和V分量),YUV格式允许在对亮度信息进行高分辨率采样的同时,对色度信息进行较低分辨率的采样。这样可以在不影响画面质量的前提下,大幅减少视频数据的传输带宽。

(2)提高图像质量:YUV格式通过分离亮度和色度信息,可以对亮度分量进行更多的细节表示,从而提高图像的亮度质量。同时,通过优化色度分量的采样和编码,可以在保证视觉效果的基础上,降低数据的存储和传输成本。

(3)兼容性好:YUV格式具有良好的向后兼容性,可以适用于不同年代的电视系统。在从黑白电视向彩色电视过渡的时期,YUV格式可以帮助实现彩色电视与黑白电视的兼容。

(4)应用广泛:YUV格式在视频压缩、图像处理、多媒体传输等领域具有广泛的应用。例如,在数字电视、手机视频、网络视频等领域,YUV格式都发挥着重要作用。同时,YUV格式也是许多视频编解码标准(如H.264、H.265等)的基础。

总之,YUV颜色编码方法在图像质量和数据传输效率方面具有明显优势,广泛应用于音视频领域,为多媒体技术的发展提供了重要支持。

二、YUV存储方式

YUV在存储方式上,通常可分为平面格式(Planar),半平面格式(Semi-Planar)以及打包格式(Packed)。

1、平面格式(Planar)

有三个平面,将一副图像的所有像素的YUV分别存储。

(1)YUV422P

2.png

(2)YU12 (I420)(属于YUV420P)

3.png

(2)YV12(属于YUV420P)

4.png

2、半平面格式(Semi-Planar)

有两个平面,第一个平面存储所有像素点的Y,第2个平面交错存储所有像素点的U和V。

(1)NV12

第2个平面,按照U、V、U、V ... 顺序存储

5.png

(2)NV21

第2个平面,按照U、V、U、V ... 顺序存储

6.png

3、打包格式(Packed)

只有一个平面,每个像素点的Y,U,V是连续交错存储的。

(1)YUYV (V422 / YUY2 / YUNV)格式

7.png

(2)UYVY (Y422 / UYNV)格式

8.png

三、FPGA实现YUV444与YUV422互转

FPGA中实现YUV444与YUV422很简单,重要的是传输数据时序,这里YUV422的传输数据格式是YUYV,如果是UYVY那就不一样。

仿真测试效果

9.png

从两张图像中,可以看到主观上没有差异。

最新文章

最新文章