数字音视频存储揭秘:如何计算PCM音频与YUV/RGB视频的原始文件大小

PCM音频文件大小计算

让我们先来计算一下PCM(脉冲编码调制)音频文件的大小。

给定参数:

  • 采样率:44,100 Hz (即每秒44,100个样本)
  • 位深度:16 bit (每个样本占16位,即2字节)
  • 声道数:2 (立体声)
  • 时长:假设为1分钟(60秒)

计算公式:

复制代码
文件大小 = 采样率 × 位深度 × 声道数 × 时长

具体计算:

复制代码
44,100 samples/s × 16 bits/sample × 2 channels × 60 s
= 44,100 × 16 × 2 × 60 bits
= 84,672,000 bits

// 这里算出来的是bits,我们要先换算成字节,然后kb,再到mb
// 已知每8bit就是一个字节,故:
84,672,000 ÷ 8 ÷ 1024 ÷ 1024 ≈ 10.09 MB

所以,1分钟的44.1kHz、16bit、立体声PCM音频大约为10.09MB。


RGB和YUV视频文件大小计算

在视频处理中,与音频一样,色深指每个颜色通道(R/G/B)用多少比特(bit)来表示。视频默认是8bit色深,也就是1个字节。当然也有每个分量从8bit增加到10bit(但通常存储为16bit对齐,实际占用2字节)。要计算RGB视频的文件大小,还需要涉及到颜色通道的概念:

1. 像素与颜色通道的关系

  • 一个像素的颜色 由三种基本分量混合而成:红(R)、绿(G)、蓝(B)。
  • 在标准的 RGB 表示中,每个通道(R/G/B)通常用 **1 字节(8 比特)**存储,因此一个像素需要占用:
    1 像素 = R(1字节) + G(1字节) + B(1字节) = 3 字节。

2. 计算一帧 1080P 视频的原始大小

  • 分辨率 1920×1080 :表示一帧有 1920 × 1080 = 2,073,600 个像素。
  • 每个像素 3 字节 :因此一帧的原始数据量为:
    2,073,600 像素 × 3 字节/像素 = 6,220,800 字节 ≈ 6.22 MB。

3. 为什么需要分开存储 R、G、B?

  • 颜色深度:每个通道的 1 字节(256 级)可以表示颜色的强度(如 R=255 表示红色最亮,G=0 表示无绿色)。通过组合三个通道的值,才能得到最终颜色(例如黄色是 R=255, G=255, B=0)。
  • 灵活性:分开存储允许单独处理某个颜色通道(如调色时只增强红色)。

下面说说YUV格式的视频文件大小怎么计算:

YUV444、YUV422、YUV420 是视频编码中常用的 色彩子采样(Chroma Subsampling) 格式,目的是通过减少色度(UV)信息的数据量来压缩视频(人眼对亮度更敏感,对色度不敏感)。下面用直观的方式解释它们的区别:


1. YUV 是什么?

YUV 是一种颜色编码系统,将颜色信息分为:

  • Y(Luma):亮度分量(黑白信息,最重要)。
  • U/V(Chroma):色度分量(颜色信息,可压缩)。

类比:黑白照片(Y) + 彩色滤镜(UV)。


2. 数字的含义(4:4:4、4:2:2、4:2:0)

这些数字表示 色度分量(UV)相对于亮度分量(Y)的采样比例 ,格式为 Y:U:V。

以 4×2 像素块 一共8个像素为例(每行4像素,共2行):

(1) YUV444(无压缩)
  • Y:每个像素独立采样,也就是每个像素都采集一次Y的数据(共 8 个 Y)。
  • U/V:每个像素独立采样,也就是每个像素都采集一次UV的数据(共 8 个 U 和 8 个 V)。
  • 数据量 :Y:U:V = 8:8:8 → 无子采样,等同于 RGB 的原始数据量。
(2) YUV422(横向压缩)
  • Y:每个像素独立采样(8 个 Y)。
  • U/V :每 横向2像素共用1个UV,也就是2个Y共享一个UV(每行 4 像素 → 2 个 U/V,共 4 个 U 和 4 个 V)。
  • 数据量 :Y:U:V = 8:4:4 → 色度数据减少一半(相比 444)。
(3) YUV420(横向+纵向压缩)
  • Y:每个像素独立采样(8 个 Y)。
  • U/V :每 2×2 像素块共用1个UV也就是4个Y共享一个UV(4 像素 → 1 个 U/V,共 2 个 U 和 2 个 V)。
  • 数据量 :Y:U:V = 8:2:2 → 色度数据减少到 1/4(相比 444)。

3. 直观对比图

格式 亮度(Y) 色度(UV) 数据量(比例)
YUV444 !Y全采样 !UV全采样 8:8:8(100%)
YUV422 !Y全采样 !UV横向2像素共用1个 8:4:4(66%)
YUV420 !Y全采样 !UV2x2像素块共用1个 8:2:2(50%)

4. 为什么需要 YUV 子采样?

  • 人眼特性:对亮度(Y)敏感,对色度(UV)不敏感。
  • 节省带宽 :YUV420 的数据量仅为 RGB 或 YUV444 的 一半,但视觉损失较小。
  • 应用场景 :
    • YUV444:专业视频编辑、医疗影像(需要无损色度)。
    • YUV422:广播电视、高清摄像(平衡质量与带宽)。
    • YUV420:流媒体(H.264/H.265)、网络视频(高效压缩)。

5. 计算数据量(以 1080P 为例)

假设每像素的 Y 占用 1 字节,UV 根据子采样变化:

  • YUV444 :
    1920×1080 × (1 + 1 + 1) = 6,220,800 字节(同 RGB)。
  • YUV422 :
    1920×1080 × (1 + 0.5 + 0.5) = 4,147,200 字节(减少 33%)。
  • YUV420 :
    1920×1080 × (1 + 0.25 + 0.25) = 3,110,400 字节(减少 50%)。

6. 扩展知识

  • YUV 的其他变种:如 YUV411(更激进压缩)、YUV410(极少用)。
  • 与 RGB 的转换:YUV 和 RGB 可以互相转换,但子采样会导致色度信息丢失(不可逆)。
  • 现代编码器:H.264/H.265 默认使用 YUV420,进一步通过 DCT、运动补偿等技术压缩。

附:快速记忆口诀

"Y全有,U和V,看数字怎么分"

  • 4:2:0 → 四像素 共用一个UV。
  • 4:2:2 → 两像素 横向分一个UV。
  • 4:4:4 → 像素 谁也不共享,全保留!
相关推荐
微帧Visionular5 小时前
AI视频单帧清晰,播放时却闪烁,原因是什么?
人工智能·深度学习·音视频
辰辰观影6 小时前
Windows网盘视频播放器推荐:无广告4K HDR怎么选
音视频
2601_966827458 小时前
电视端云盘在线播放怎么选?支持4K HDR的应用推荐
音视频
开开心心就好9 小时前
音频降噪剪辑工具,音量裁剪一键处理
运维·服务器·前端·spring·ocr·音视频·1024程序员节
AI视频工具指南13 小时前
AI视频的声音和画面怎么配合?先分清谁在传递信息
人工智能·aigc·音视频
辰辰观影15 小时前
无广告播放器推荐来啦
音视频
TrueDei15 小时前
GStreamer 使用 valve 分别控制音视频流的暂停与恢复
音视频
一条破秋裤16 小时前
基于 Hi3516CV610 的立定跳远视频测量系统调研与实施方案
arm开发·音视频
2601_9668274516 小时前
视频里的特效字幕怎么翻译?外挂字幕与AI字幕一键处理教程
音视频
八月的雨季 最後的冰吻18 小时前
音视频面试--延迟优化
面试·职场和发展·音视频