音ノ木坂学院

叶え!みんなの夢――

0%

数字音视频处理复习坑

语音部分

语音技术引言

语音链

  • 想说阶段(语言学层面)->说出阶段(生理学层面)->传输阶段(声学层面)->接受阶段(生理学层面)->理解阶段(语言学层面)
  • “发音-传递-感知”三阶段
  • 语音学:发音语音学,声学语音学,感知语音学

语音产生数字模型

H(z) = U(z)V(z)R(z)
U(z) = G(z)E(z) 单位脉冲通过低通滤波器G的输出单位脉冲Z(激励模型)
V(z) 全极点模型(声道模型)
R(z) 高通滤波器(声道模型)

短时平稳假设(重点)

因为肌肉运动频率相对语音频率来说是缓慢的,所以在一个短时间范围内,其特性基本保持不变,即相对稳定,可以视作一个准稳态过程。基于这种考虑,对语音信号进行分段考虑,每一段称为一帧,一般假设为10~30ms

语音分析

时域分析

特点

  • 简单直观、清晰易懂、运算量小、物理意义明确。
  • 很难反映语音感知特性,且容易受环境变化影响
  • 主要参数为:音量,过零率,音高/基音周期(Pitch)

步骤

  1. 预处理
  2. 音量
  3. 过零率
  4. 端点检测:
    • 目标:检测语音开始和结束的位置
    • 两种检测错误:False Rejection, False Acceptance
  5. 基频

频域分析

特点

  • 具有实际的物理意义和明显的声学特性,且不易受环境变化影响
  • 主要参数为:共振峰(Formant),音高/基音周期
  • 分析方法包括:滤波器组法,傅里叶变化法,线性预测分析法
  • 将语音的对数功率进行反傅里叶变换后得到,可以进一步将声道特性和激励特性有效分开,可以更好地揭示语音的本质特征。主要参数为:MFCC(梅尔倒谱系数)、LPCC(线性预测倒谱系数)

短时傅里叶分析(STFT)
语图就是频谱

MFCC

  1. 对语音进行预加重、分帧和加窗;
  2. 对每一个短时分析窗,通过FFT得到对应的频谱;
  3. 将频谱通过Mel滤波器组得到Mel频谱;
  4. 在Mel频谱上面进行倒谱分析(取对数、做逆变换(实际一般通过DCT,取DCT后第2个到第13个系数作为MFCC系数)),获得Mel频率倒谱系数MFCC,即为该帧的语音特征;
  5. 得到一系列倒谱向量,每个向量就是每帧的MFCC特征向量。之后对语音分类型进行训练和识别。

语音识别

高斯混合模型GMM

弃疗

说话人识别

弃疗

语音编码与合成

三种编码方法与代表算法

  1. 波形编码
    • PCM
      • 线性步长
      • 一般16位表示
      • 可以表示96以上的动态范围
      • 人耳几乎听不到噪音
    • DPCM:差分编码
      • 利用时间轴上信号间的冗余
      • 两个x-位的样本的差比x位要小得多
      • 传输样本间的差分信号,而不是样本的值
  2. 参数编码
    • LPC-10
      • 利用前n(此处为10)个信号值,来预测当前信号值,将声道抽象成一个全极点的传递函数
  3. 混合编码
    • CELP:码激励线性预测编码
      • 用线性预测提取声道参数,用一个包含许多典型的激励矢量的码本作为激励参数,每次编码时都在这个码本中搜索一个最佳的激励矢量,这个激励矢量的编码值就是这个序列的码本中的序号。

音乐部分

音乐基础

  • 音乐的基本要素:音高、音强、音长、音色
  • 音乐的表示方式:乐谱
  • 计算机表示:乐谱版面描述语言 MuTeX、数字乐器接口 MIDI、音频信号表示 PCM/MP3

音乐合成

制作流程
作曲作词 -> 编曲 -> 录音 -> 混音

主要技术

  • 软件编辑:Overture、SONAR、Adobe Audition
  • 语言编程:基于Niquist的音乐合成、OpenAL、Matlab、Flash Action Script
    • Nyquist:基于Lisp;跨平台;设置播放音阶、调节音量、播放时间、声音叠加等
    • OpenAL:跨平台;在来源物体、音效缓冲和收听者中编码;用于音乐制作,游戏电影音效等;初始化、载入wav、设置上述参数、播放音乐
    • MATLAB:读取wav再播放

音乐分析

  • 音乐表现形式:节奏、旋律、和声

节奏识别

分类

  • 基于MIDI的节奏识别
  • 基于真实音频信号的节奏识别

操作

  • 节奏识别框架:音频流输入、激励检测、基本周期分析、后处理
  • 节奏特征提取:时域分析和频域分析

发展方向
交互、可视化

旋律识别

音准评分:旋律评分模块、抢拍与慢拍评分模块、节奏分析模块、演唱情绪分析模块、声音圆润饱满分析模块、语音识别模块

音乐检索

乐纹样例检索

  • 乐纹:可以代表一段音乐重要声学特征的基于内容的紧致数字签名
  • 乐纹的主要特征
    • 鲁棒性:经受严重的音频信号处理后仍可被识别出来
    • 区分性:不同歌曲之间差异较大,同一歌曲不同版本之间差异较小
  • 乐纹提取:时域分析、频域分析
  • 乐纹索引:通过特征点对索引技术构建乐纹库
  • 乐纹查询:链表构建查询结构(PPT中为三重链表)

哼唱检索

  • 旋律表示:三层表示
    • 对哼唱旋律进行基频提取,表示为基于帧的音高序列
    • 综合基频曲线、谐波和能量等信息,将基频序列切分成格式化的音符序列
    • 寻找旋律中的轮廓点,并试图确定数据库中的旋律乐句边界
    • 谁能告诉我Hexo的Markdown怎么加表格呀
    • 旋律表示 | 级别 | 元素 | 表示规模 |
    • 基频序列 | 声学层 | 帧 | 800~900 |
    • 音符序列 | 符号层 | 音符 | 20~40 |
    • 轮廓因子 | 乐句层 | 轮廓极值点 | 8~12 |
  • 旋律特征提取:基频提取、音符切分、轮廓点提取等各级旋律提取结果
  • 旋律查询: 基于轮廓因子的快速检索

视频部分

视频压缩技术基础

颜色

  • 人眼对明度变化最敏感,对颜色变化次之
  • RGB编码含大量无用信息,采用YUV(明度和色度)更好,因为UV的数据量只有Y的1/4(1.00 0.25 0.25)

有损压缩基本思想

  • 向量编码效率高于独立标量编码
  • 一组时序信号的相邻信号之间存在相关性,如果能对其线性变换,使得变换后的结果相关性更小,则编码效率提高
  • DCT是常用方法,能够有效降低向量中各分量之间的相关性

DCT

  • 1D和2D公式见PPT
  • 可以用于去噪或有损压缩

视频压缩技术

英语不好乱翻的

基于动作补偿的压缩

  1. 时间冗余
    • 连续动作的图片中存在空间和时间的冗余
    • I帧:帧内压缩,方法类似JPGE
    • P帧和B帧:使用动作估计和动作补偿。P帧只用到之前的关键帧,而B帧要用到前后关键帧,压缩率更高。
  2. 动作补偿
    1. 首帧作为参考帧,当前帧是目标帧
    2. 寻找目标帧和参考帧中最相近的macroblock
    3. 使用动作向量MV替换

运动向量搜索

  1. 匹配标准
    • MV搜索本质是一个匹配问题
    • i,j∈[-p,p],则搜索范围是(2p+1) * (2p+1)
    • 目标是找到让两个块之间距离最小的(i.j)
  2. 顺序搜索
    • 复杂度太高:O(p^2N^2)
  3. 2D对数搜索
    • 次优方法
    • 沿着最小失真方向搜索,每次移动检查5个搜索点,如果最小失真在中央或者边界,就减少搜索点之间的距离
  4. 分层搜索
    • 3-lever Hierarchical search似乎是最优
  5. 其他方法
    • MV的搜索是视频压缩的关键步骤

H.261

概述

  • 包含I帧和P帧
  • I帧是独立图像(Inter-Frame)
  • P帧从前一个P帧或I帧预测而来
  • P帧包含了时间冗余去除,而I帧只包括空间冗余去除
  • 为了避免编码错误,视频每秒都会出现数次I帧

编码方式

  1. Y通道分成16 * 16的块,Cb和Cr分成8 * 8的块。
  2. 对每一个8 * 8的块使用DCT、量化、锯齿扫描、熵编码
  3. 对目标帧里的所有小块,用上述搜索方式生成MV
  4. 生成预测后,产生一个差别块用来测量预测错误
  5. 对每个8 * 8的块都使用DCT、量化、锯齿扫描和熵编码
  6. 如果找不到好的匹配,则这一帧会编码成I帧?

MPEG-1

  • 使用I、P、B帧
  • View: I BBP BBP BBI
  • Encode: I PBB PBB IBB

MPEG-2

  • 隔行扫描
  • 分层编码
  • 非线性量化

MPEG-4

  • 基于对象的编码

视频镜头检测及关键帧提取

视频结构化

  1. 帧:视频流中的基本组成单元,
    • 每一帧均可看做一个独立图像
    • 视频流数据就是由连续图像帧构成的
  2. 镜头:摄像机拍下的不间断帧序列,是视频数据流进一步结构化的基础结构层
    • 镜头是对视频流进行处理的最小物理单元,视频帧是视频流的基本单元,干改了少许的语义内容
    • 同一组镜头中的图像帧之间的特征保持稳定,因此如果相邻图像帧之间的特征发生了明显变化则认为发生了镜头变化,需要对视频数据切分
  3. 关键帧:可以代表镜头内容的图像
    • 切分出镜头后,关键帧用来代表各镜头的特征,进行进一步的结构化
    • 关键帧数目一般远小于镜头包含的图像帧数目。短视频最简单的提取方法就是镜头的第一帧和最后一帧
  4. 场景:语义上相关和时间上相邻的若干镜头组成一个场景。场景是视频所蕴含的高层抽象概念和语义的表达。
    • 由于镜头是由关键帧组成的,所以场景可以使用属于这个场景的若干镜头所对应的关键帧来表示
  5. 组:介于物理镜头和语义场景之间的结构

视频特征

  1. 之前介绍的图像特征都是静态特征
  2. 相邻视频帧特征将剑,就是特征一阶差分,体现了视频的动态变化

镜头边缘检测算法

  1. 绝对帧间差法:见实验
  2. 图像像素差法:先统计两幅图像对应响度变化超过阈值的像素点的个数,将变化的像素点个数与第二个预定的阈值比较,如果超过范围则认为镜头边界
  3. 图像数值差法:比较相邻图像帧中所有对应像素点的特征差别,分成若干个子块区域,在这些区域中分别比较对应像素的差别
  4. 颜色直方图法:用直方图的交
  5. 双阈值法

渐变镜头的数学模型

推导镜头渐变过程中视频帧灰度均值或方差的公式并说明其特点,给出利用这些特点进行渐变镜头检测的思路

关键帧提取算法

  1. 基于镜头边界法:切分得到镜头中的第一幅图像和最后一幅图像作为镜头关键帧
  2. 基于颜色特征法:当前帧与最后一个关键帧比较,如果有较多特征发证改变,则为新关键帧
  3. 基于运动分析法:摄像机运动造成的显著运动,分为焦距变化和角度变化
  4. 基于聚类的关键帧提取(掌握概念即可):一般用k-means

镜头的时间特征

镜头的空间特征

视频结构化

视频目录生成构造的主要步骤

  1. 镜头边缘检测
  2. 关键帧提取
  3. 时空特征提取
  4. 时间可适性成组
  5. 场景结构构造

视频时序结构图构造的主要步骤

  1. 视频解码
  2. 视频切分
  3. 关键帧提取
  4. 视频聚类分析
  5. 构造时序图
  6. 按照时序图浏览