当前位置: 首页 > news >正文

音视频学习(六十七):音视频像素格式

在音视频处理领域,像素格式(Pixel Format)是视频编解码、图像处理和渲染的基础。像素格式决定了图像在内存中的组织方式,不同格式的选择会影响到存储效率、运算复杂度以及最终的画质表现。YUV 系列格式因其兼顾存储效率与图像质量,在视频编解码、硬件加速和传输过程中被广泛采用。尤其是 YUV420 家族和 NV12 格式,在 H.264/H.265 编解码器、GPU 图形接口以及视频处理管线中应用极为普遍。

YUV 色彩模型概述

YUV 的来源

YUV 是一种颜色编码方式,最初用于电视系统。与 RGB 模型不同,YUV 将图像分为 亮度(Y)色度(U、V) 两部分:

  • Y(Luma):表示亮度信息,决定图像的明暗层次;
  • U(Cb):表示蓝色色度偏移;
  • V(Cr):表示红色色度偏移。

人眼对亮度比对色度更敏感,因此在存储或传输时,通常会对 U、V 进行下采样,以减少数据量。

YUV 与 RGB 的关系

YUV 与 RGB 之间可以通过矩阵变换互相转换,常见公式如下(BT.601 标准):

Y=0.299R+0.587G+0.114BU=−0.169R−0.331G+0.500B+128V=0.500R−0.419G−0.081B+128

这种分离方式使得在视频压缩中可以利用人眼对色度的不敏感特性,有效降低码率。

YUV 采样格式分类

根据色度下采样方式,常见的 YUV 采样模式包括:

  1. YUV444:Y、U、V 各自都有完整分辨率,不进行色度下采样。质量最高,但存储开销大。
  2. YUV422:每两个像素共享一组 U、V 分量。数据量减少 1/3。
  3. YUV420:每 2×2 像素块共享一组 U、V 分量。数据量约为 YUV444 的一半。
  4. YUV411/410:更强的下采样,质量损失较大,现代视频编码中较少使用。

其中,YUV420 是现代视频编码的主流格式,因为它在图像质量与存储效率之间取得了良好平衡。

YUV420 系列格式

YUV420 根据 存储方式 的不同,衍生出多种具体格式。主要区别在于 Y、U、V 平面的排列顺序和存储方式

I420(YUV420P)

  • 存储顺序:Y 平面 → U 平面 → V 平面;
  • 每个平面单独存储,属于 Planar(平面型) 格式;
  • 内存布局:
    • Y:W×H 字节;
    • U:W/2×H/2 字节;
    • V:W/2×H/2 字节。

YV12

  • 与 I420 类似,但 U、V 平面顺序互换;
  • 存储顺序:Y 平面 → V 平面 → U 平面。

NV12

  • 存储顺序:Y 平面 → UV 交错平面;
  • 属于 Semi-Planar(半平面型) 格式;
  • 内存布局:
    • Y:W×H 字节;
    • UV:W×H/2 字节,其中 U、V 交错存储(U0V0U1V1…)。

NV21

  • 与 NV12 类似,但交错顺序为 VU;
  • 存储顺序:Y 平面 → VU 交错平面;
  • Android 摄像头 API 常用此格式。

NV12 与 YUV420 的比较

存储结构

  • I420/YV12:三个平面,存取灵活,便于单独处理 U、V 分量;
  • NV12/NV21:两个平面,内存访问更连续,适合硬件加速。

内存占用

假设分辨率为 1920×1080(Full HD):

  • Y:1920×1080 = 2073600 字节;
  • U:960×540 = 518400 字节;
  • V:960×540 = 518400 字节;
  • 总计 ≈ 3 MB(无论是 I420 还是 NV12,占用一致)。

硬件支持

  • NV12:广泛支持于 Intel QuickSync、NVIDIA NVDEC/NVENC、DirectX、VAAPI、FFmpeg;
  • NV21:Android 平台摄像头数据输出常用;
  • I420:软件编解码和跨平台通用。

典型应用场景

  • I420/YV12:图像处理、编解码中间数据、学术研究;
  • NV12:GPU 硬件编解码、Direct3D/OpenGL 渲染;
  • NV21:Android 摄像头数据采集。

优缺点总结

I420

  • 优点:通用性好,格式清晰;
  • 缺点:访存分散,对 GPU 加速不友好。

YV12

  • 优点:与 I420 类似,部分解码器历史兼容;
  • 缺点:V、U 顺序特殊,跨平台支持较弱。

NV12

  • 优点:连续内存布局,GPU 友好,硬件加速广泛支持;
  • 缺点:单独处理 U/V 不如 I420 方便。

NV21

  • 优点:Android 主流格式;
  • 缺点:跨平台兼容性差。

总结

NV12、YUV420 等像素格式作为视频处理中的基础环节,虽然只是底层数据存储方式,但对视频编解码效率、跨平台兼容性和最终渲染效果有着重要影响。随着 GPU 加速和移动端应用的发展,NV12 已成为硬件编解码与渲染的事实标准,而 I420 仍然在跨平台和软件处理场景中不可或缺。未来,随着 HDR、10bit/12bit 色深和 4:4:4 高质量视频的普及,YUV 格式可能会逐步向更高精度和更灵活的存储方式演进,但在高效视频传输与压缩领域,YUV420 家族仍将长期存在。

http://www.dtcms.com/a/418985.html

相关文章:

  • XCSSET新变种:专攻苹果macOS用户,实现窃密+勒索
  • 在线教育网站有什么程序做wordpress加标题
  • LeetCode-Hot100 最小栈实现
  • flutter 详细解读
  • 开县做网站汉中网络推广
  • C# TCP - 串口转发
  • 广州 济南网站建设公司 网络服务江苏网站备案流程图
  • Ceph 分布式存储学习笔记(一):介绍、部署与集群配置(上)
  • 先做他个天猫网站产品外观设计图片
  • Accelerate 与 torchrun 分布式训练LLM对比
  • 建设部网站哪里可以报名考监理员优化优化
  • 农家乐怎么做网站上海app开发网站建设
  • 海口建站价格网站建设的物流
  • Leetcode 26. 删除有序数组中的重复项
  • Linux 的文本编辑器vim食用指南
  • 开发实战:从0到1实现Chrome元素截图插件的完整过程
  • ue编辑器视口鼠标消失的问题
  • 【数据结构】多项式的基本运算
  • 在ubuntu下载企业微信
  • 基于Chrome140的FB账号自动化——需求分析环境搭建(一)
  • MCP:cursor、claude code接入chrome-devtools-mcp。
  • 台风“桦加沙”袭击大,盈电智控物联网漏水检测系统为关键场所筑牢“隐形堤坝”!
  • 北京比较好的互联网公司晋中seo排名
  • 高通平台WiFi学习---深入了解 WLAN host crash调试
  • 在 Ubuntu 上可以用几个常用命令查看系统运行情况(内存、CPU、硬盘占用等
  • 子路由器如何设置 路由器LAN-WAN级联的设置方法
  • 【Ubuntu】请问,『kill -9』跟『kill -15』有区别吗?
  • 科网站建设免费查公司的网站
  • SCDN-保护网站安全的有效方案
  • Go 的跨平台编译详解