声波三要素:频率、振幅和波形。频率代表音阶的高下,振幅代表响度,波形代表音色。
采样、量化和编码
奈奎斯特定理(采样定理):按比声音最高频率高 2 倍以上的频率对声音进行采样(也称为 AD 转换)。人耳能听到的频率范畴是 20Hz~20kHz,所以采样频率个别为 44.1kHz(1 秒采样 44100 次)。
通常所说的音频的祼数据格式就是脉冲编码调制(Pulse Code Modulation, PCM)数据。形容 PCM 需用到的概念:量化格局(sampleFormat)、采样率(sampleRate)、声道数(channel)。
比特率(以 CD 音质为例,量化格局或称位深度为 16 比特、采样率为 44100,声道数为 2),CD 的数据比特率
44100 16 2 = 1378.125kbps
1 分钟内所占的存储空间:
1378.125 * 60 / 8 / 1024 = 10.09MB
分贝
N= 10 * lg(A1 / A0)
其中 A0 是基准量(或参考量), A1 是被量度量
压缩编码的根本指标之一就是压缩比,压缩算法包含有损压缩和无损压缩。压缩编码算法,如 PCM、WAV(多媒体开发的两头文件、保留音乐和音效素材)、AAC(128Kbit/ s 以下的音频编码,多用于视频中音频轨的编码)、MP3(高比特率下对兼容性有要求的音乐欣赏)、Ogg(比 MP3 更小的码率实现比 MP3 更好的音质,实用语音聊天的音频音讯场景)等。压缩编码的原理是压缩掉冗余信号(耳听觉范围之外的音频信号以及被掩蔽掉的音频信号等),掩蔽掉的音频信号则次要是因为人耳的掩蔽效应,次要体现为频域掩蔽效应与时域掩蔽效应。
三原色光:红光(R)、绿光(G)、蓝光(B)。子像素示意形式
- 浮点示意:取值范畴为 0.0~1.0,比方,在 OpenGL ES 中对每一个子像素点的示意应用的就是这种表达方式。
- 整数示意:取值范畴为 0~255 或者 00~FF,8 个比特示意一个子像素,32 个比特示意一个像素,这就是相似于某些平台上示意图像格式的 RGBA_8888 数据格式。比方,Android 平台上 RGB_565 的示意办法为 16 比特模式示意一个像素,R 用 5 个比特来示意,G 用 6 个比特来示意,B 用 5 个比特来示意。
1280×720 的 RGBA_8888 图像的大小:1280 * 720 * 4 / 1024 / 1024 = 3.516MB
YUV 数据格式,其中“Y”示意亮堂度(Luminance 或 Luma),也称灰阶值;而“U”和“V”示意的则是色度(Chrominance 或 Chroma)。Y 的取值范畴都是 16~235, UV 的取值范畴都是 16~240。YUV 最罕用的采样格局是 4:2:0,即如果某一行是 4:2:0(4Y-2U-0V),那么其下一行就是 4:0:2(4Y-0U-2V)… 对非压缩的 8 比特量化的视频来说,8×4 的一张图片须要占用 48 字节的内存:
1280×720 的视频帧,用 YUV420P 的格局来示意,数据量的大小:
(1280 * 720 * 1 + 1280 * 720 * 0.5) / 1024 / 1024 = 1.318MB
1.318MB * 24fps * 90min * 60s = 166.8GB
YUV 转换到 RGB 的公式
视频压缩应用帧间编码技术能够去除工夫上的冗余信息
- 静止弥补
- 静止示意
- 静止预计
ISO 规范:Motion JPEG 即 MPEG,次要版本:Mpeg1(用于 VCD)、Mpeg2(用于 DVD)、Mpeg4 AVC(以后大多流媒体应用)。
ITU- T 规范:H.261、H.262、H.263、H.264
编码概念
-
IPB 帧
- I 帧:帧内编码帧(intra picture)
- P 帧:前向预测编码帧(predictive-frame)
- B 帧:双向预测内插编码帧(bi-directional interpolated prediction frame)
- H264 中有一个帧称为 IDR 帧,IDR 的英文全称 instantaneous decoding refresh picture
-
PTS 与 DTS
- DTS 次要用于视频的解码,英文全称是 Decoding Time Stamp
- PTS 次要用于在解码阶段进行视频的同步和输入,全称是 Presentation Time Stamp
- GOP(Group Of Picture)两个 I 帧之间造成的一组图片
通常 I 的压缩率是 7(与 JPG 差不多), P 是 20, B 能够达到 50