【信源编码作业】1. 视音频数据的数据源分析

一、视频数据的数据源

人眼所能感觉到的颜色绝大部分均可以由三种线性无关的颜色按一定比例混合出来,这三种颜色称为三基色。CIE(国际照明委员会,法文 Commission internationale de l’éclairage)对三基色的光的波长和基色单位的规定如下:

  • 波长为 700 nm, 光通量为 1 光瓦的红光作为 1 个红基色单位;
  • 波长为 546.1 nm,光通量为 4.5907 光瓦的绿光作为 1 个绿基色单位;
  • 波长为 435.8 nm,光通量为 0.0601 光瓦的蓝光作为 1 个蓝基色单位。

这便是 RGB 基色系统。

当使用摄影器件拍摄时,首先获取到的也是 RGB 三个通道的数据。但是在电视节目的实际传输中,却更多地使用了 Y,R-Y 和 B-Y 信号,这是为了什么呢?

(一)从 RGB 到 YUV

最早的电视机都是黑白的,而在彩色电视刚上市的一大段时间内,需要一种让市面上的黑白电视也能直接收看彩色电视台所播出的电视节目的方法。为了实现兼容制彩色电视,彩色电视不直接传送 RGB 信号,而是传送由 RGB 线性变换后得到的亮度信号 Y 和两个色差信号 R-Y 和 B-Y。
这样的话黑白电视便可以只播放其中的亮度信号 Y,从而实现兼容。

但这只是其中一个原因,传送 Y、R-Y 和 B-Y 信号不仅仅是为了兼容黑白电视,更重要的是可以节省传送信号的带宽。

根据研究表明,人眼对彩色细节的分辨力比对亮度细节的分辨率要低 4~5 倍,这便体现出了压缩的可能。
根据恒定亮度原理,当使用 Y、R-Y、B-Y 信号时,被传送图像上的每一像素的亮度信息全部由 Y 信号代表,而 R-Y、B-Y 两个色差信号只携带图像的色度信息而不反应亮度,所以可以对 R-Y、B-Y 信号进行大幅压缩,减小码率。
而实际上也是这么做的——在模拟电视中,可以将色差信号带宽降为亮度信号带宽的 1/4~1/5,对于低频(比如 1.3MHz 以下)的图像信号保证能重现出准确的色度,而对于高频(1.3MHz 以上)的图像细节,则只能以黑白细节重现,这一原理称之为混合高频原理,又称为大面积着色原理

那么 U 和 V 信号又是从何而来?

  1. 在 NTSC 制和 PAL 制彩色电视中,为了使色度副载波和亮度信号相加传输时,电视机正常工作,是使用经过压缩后的色差信号对副载波进行正交平衡调制,在 PAL 制中,压缩后的色差信号称为 U、V 信号。
  2. 在数字化的信号中,为了使色差信号的动态范围控制在 ±0.5 之间,需要进行归一化,归一化后的色差信号也称为 U、V 信号。

在下文中重点讨论的是第二点中的数字化 U、V 信号。

(二)YUV 的编码格式

1. YUV 与 RGB 的转换公式

由电视原理可知,亮度和色差信号的构成如下:

Y = 0.2990 R + 0.5870 G + 0.1140 B
R-Y = 0.7010 R - 0.5870 G - 0.1140 B
B-Y = -0.2990 R - 0.5870 G + 0.8860 B

此时 R-Y 信号的动态范围是 ±0.701,B-Y 信号的动态范围是 ±0.886。

如前文所述,需要将其归一化为 U、V 信号,归一化后的色差信号为:

U = 0.564 * B-Y = -0.1684 R - 0.3316 G + 0.5000 B
V = 0.713 * R-Y = 0.5000 R - 0.4187 G - 0.0813 B

此时 U、V 信号的动态范围是 ±0.5。

2. 码电平分配及数字表达式

(1)亮电平信号量化后码电平分配

在对分量信号进行 8 比特均匀量化时,共分为 256 个等间隔的量化级。为了防止信号变动造成过载,在 256 级上端留 20 级,下端留 16 级作为信号超越动态范围的保护带。

(2)色差信号量化后码电平分配

色差信号经过归一化处理后,动态范围为 -0.5-0.5,让色差零电平对应码电平 128,色差信号总共占 225 个量化级。在 256 级上端留 15 级,下端留 16 级作为信号超越动态范围的保护带。

3. 色度格式

由于色差信号的带宽比亮度信号窄得多,可以通过降低色差信号的取样频率来降低数据量。在数字电视中,对亮度信号和两个色差信号的分量信号有以下几种取样格式:

  • 4:4:4
  • 4:2:2
  • 4:2:0
  • 4:1:1

下面介绍其中最典型的 4:4:4 与 4:2:0 格式:

数字电视中 4:4:4 的取样结构
数字电视中 4:4:4 的取样结构

可以看到,每行像素可以由三种信号组成,分别是 Y、R-Y 和 B-Y,在 4:4:4 取样格式中,亮度信号与每个色差信号的取样频率相同,一般在要求高质量的信号源的情况下采用这种格式。

数字电视中 4:2:0 的取样结构
数字电视中 4:2:0 的取样结构

如上图所示,在 4:2:0 的情况下,每四个像素点(比如图中框选的像素)为一组,取每个像素的亮度信号,以及每组像素的一个 R-Y 和一个 B-Y 信号。在这种取样结构下,能节省 3/4 色度信号的带宽,大幅降低码率。

4. 文件中的数据

在一个 YUV 格式的文件中,并非是按照取样时的 Y1U1V1,Y2U2V2…… 进行数据存储的,而是会先存储所有的 Y 继而存储所有的 U 再存储所有的 V,以包含 8 个像素的 4:2:0 格式 YUV 文件举例如下:

包含 8 个像素的 4:2:0 格式 YUV 文件
包含 8 个像素的 4:2:0 格式 YUV 文件

可以看到,因为进行了色度取样,亮度 Y 个数 = 像素数 = 8,色度 U 个数 = 色度 V 个数 = 像素数/4 =2,并且先存储了 Y1~Y8 继而存储 U1U2,最后是 V1V2。

二、音频数据的数据源

对于音频数据,可以分为三种编码方式:波形编码、参数编码和混合编码。

波形编码是指不利用生成音频信号的任何参数,直接将时间域信号变换为数字代码。波形编码的基本原理是在时间轴上对模拟语音信号按一定的速率抽样,然后将幅度样本分层量化,并用代码表示。
最基本的波形编码方法是 PCM(Pulse Code Modulation,脉冲编码调制)。

参数编码是从语音波形信号中提取生成语音的参数,使用这些参数通过语音生成模型重构出语音,使重构的语音信号尽可能地保持原始语音信号的语意。也就是说,参数编码是把语音信号产生的数字模型作为基础,然后求出数字模型的模型参数,再按照这些参数还原数字模型,进而合成语音。

混合编码是指同时使用两种或两种以上的编码方法进行编码,能同时吸收波形编码高质量与参数编码低编码速率的优点。

本文主要介绍 PCM 编码的音频数据。

(一)PCM 系统

自然界中产生的音频信号均为时间连续、取值连续的模拟信号,PCM 的作用就是通过采样、量化、编码三个步骤将其转换为离散的数字信号,方便之后的处理与存储。

PCM 系统框图
PCM 系统框图

下图是一个模拟信号的 PCM 编码过程:

PCM 编码过程示例
PCM 编码过程示例

如图所示,蓝色箭头表示采样信号,每隔一段时间会对模拟信号进行采样,然后进行量化。在量化的过程中会产生量化误差,根据量化电平数不同,误差大小也不同,精度越高,误差越小。最后根据量化后的值进行编码。

图中采用的是最简单的均匀量化方法,但在实际使用中根据量化范围、量化精度的需求可能采用非均匀量化的方法,比如 A 律 13 折线法等,本文不再展开介绍。最常见的 CD 音频使用的是 44100Hz 的采样频率,16 位量化位数进行采样。

当得到 PCM 编码完成的音频信号后需要写入文件,为了使播放器能够准确识别文件信息,一般不直接往文件中写入 PCM 码字,而是将其存储在播放器能够识别的音频格式中,WAV 格式便是其中一种存储格式。

(二)WAV 格式音频

WAV 遵从资源交换档案格式(RIFF,Resource Interchange File Format)的规则,在文件的前 44 位放置了文件头(header),使播放器能够掌握文件的基本信息,WAV 文件存储结构如下:

WAV 文件结构
WAV 文件结构

可以看到,WAV 内容以区块(chunk)为最小单位,每一区块长度为 4 字节,区块之上则由子区块包裹,子区块没有长度限制,但需要在之前宣告其标签和长度。最开始的 3 个区块标识了文件格式及长度;接着第一个子区块包含8个区块,记录声道数量、采样率等信息;接着第二个子区块才是真正的音频数据,长度则视音频长度而定。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值