第8讲变换编码和矢量量化编码 3.33变换编码 1.变换编码的一般原理 2.DCT变换编码方法 1)DCT变换的基本过程 (2)DCT变换的基本算法 334矢量量化编码 1.ⅴQ编码的基本原理 (1)总体设计目标 (2)量化器设计 (3)VQ编码器设计 2.码本生成的优化算法
第 8 讲 变换编码和矢量量化编码 3.3.3 变换编码 1. 变换编码的一般原理 2. DCT变换编码方法 ⑴ DCT变换的基本过程 ⑵ DCT变换的基本算法 3.3.4 矢量量化编码 1. VQ编码的基本原理 ⑴ 总体设计目标 ⑵ 量化器设计 ⑶ VQ编码器设计 2. 码本生成的优化算法
3.3.3变换编码 预测编码:基于时域分析;用于提高压缩速度/实时压缩 变换编码:基于频域分析;提高压缩比的最有效方法 DCT是JPEG、MPBG和H.261三大压缩标准的核心算法 1.变换编码的一般原理 基本思想: ①原始图像离散化一数据分块处理; 典型子块为8×8 Pixel,块尺寸n≡8 ②子块数据域变换(时域→频域;正交变换一可逆) a.频带能量高度集中在变换域的少数大幅值变换系数上 b.按能量区高/低分配位码多/少,小幅值元素作零处理 ③压缩编码在频域上进行
3.3.3 变换编码 预测编码:基于时域分析;用于提高压缩速度/实时压缩 变换编码:基于频域分析;提高压缩比的最有效方法 DCT是JPEG、MPEG和H.261三大压缩标准的核心算法 1.变换编码的一般原理 基本思想: ① 原始图像离散化 — 数据分块处理; 典型子块为8×8Pixel,块尺寸n≧8 ② 子块数据域变换(时域→频域;正交变换 — 可逆) a.频带能量高度集中在变换域的少数大幅值变换系数上 b.按能量区高/低分配位码多/少,小幅值元素作零处理 ③ 压缩编码在频域上进行
组成原理:正变换一编码,逆变换一解码 输入 正变换 量化器 码器 原始数据 发送端 存储器/信道 轮出 逆变换 解码器 接收端 还原数据 变换方法选择:方法不同,数据压缩比和压缩速度都不一样 ①KLT变换:变换后频域能量高度集中,压缩效果明显; 协方差阵可为对角阵且有最小均方误差,因而解压失真最小 主要缺点:计算复杂,没有通用的变换核和快速算法 ②DCT变换:有接近KLT的优化性能, 又有通用的变换核和快速算法,且计算复杂性适中 因此获得广泛应用.现已将快速DCT算法做成专用压缩芯片
组成原理:正变换-编码,逆变换-解码 变换方法选择:方法不同,数据压缩比和压缩速度都不一样 ① KLT变换:变换后频域能量高度集中,压缩效果明显; 协方差阵可为对角阵且有最小均方误差,因而解压失真最小 主要缺点:计算复杂,没有通用的变换核和快速算法 ② DCT变换:有接近KLT的优化性能, 又有通用的变换核和快速算法,且计算复杂性适中, 因此获得广泛应用.现已将快速DCT算法做成专用压缩芯片
(1)DCT变换的基本过程 正向DCT(FDCT)一编码;逆向DCT(IDCT)一解码 ①数据块分割:信源图像一般划分成n×n个8×8子块变换单元 a.8×8像素块的空间相关性,易于带来显著的压缩效率 b.8×8块的变换计算复杂性适中,易适应PC机的处理能力 C.8×8块的存储结构与位模式对应,易于软硬件实现 一般要求:块尺寸n≥8; 若n<8,会因块间不连续而产生边界效应 ②子块正变换:8×8子块一64个像元一64个DCT系数 ③频域系数量化:增加高频分量的零值, 减少非零低频分量的幅值及其表示范围 ④频域数据编码:采用熵编码算法,改善压缩信号的保真性能
⑴ DCT变换的基本过程 正向DCT(FDCT) 编码;逆向DCT(IDCT) 解码 ① 数据块分割:信源图像一般划分成n×n个8×8子块变换单元 a. 8×8像素块的空间相关性,易于带来显著的压缩效率 b. 8×8块的变换计算复杂性适中,易适应PC机的处理能力 c. 8×8块的存储结构与位模式对应,易于软硬件实现 一般要求:块尺寸n≥8; 若n<8,会因块间不连续而产生边界效应 ② 子块正变换:8×8子块 64个像元 64个DCT系数 ③ 频域系数量化:增加高频分量的零值, 减少非零低频分量的幅值及其表示范围 ④ 频域数据编码:采用熵编码算法,改善压缩信号的保真性能
中中中 8×8子块 信源图 01 8×8子块 还原图 像数据 像数据 f(x, y) FDCT IDCT DCT系数 皇化表 皇化器Q 逆星化器Q1 皇化表 直流系数DC 交流系数AC 绀码表 第码表器 解码器 绍码表 压结图像数据 mIm 数据流
(2)DCT变换的基本算法 设:经8×8子块分割的信源图像为 f(x,y)={B,;i=1,2,…n,j=1,2,…,n} f(x,y)的输入矩阵为f, 用作变换核的变换矩阵为C, C的转置矩阵为Cr, 变换输出的系数矩阵为F 则DCT的算法思想可表述为: ①构造一个正交变换FDCT:F=CfC ②由可逆性定义IDCT:f=CTC 其中,空间域上的f矩阵和变换域上的F矩阵都是n×n方阵; 其8×8展开式为:
⑵ DCT变换的基本算法 设:经8×8子块分割的信源图像为 f(x,y) = { Bi,j∣i=1,2,…n,j=1,2,…,n } f(x,y)的输入矩阵为f, 用作变换核的变换矩阵为C, C的转置矩阵为C T , 变换输出的系数矩阵为F 则DCT的算法思想可表述为: ① 构造一个正交变换FDCT:F=CfCT ② 由可逆性定义IDCT: f=C TFC 其中,空间域上的f矩阵和变换域上的F矩阵都是n×n方阵; 其8×8展开式为:
f(0,0)f(0,1).……(0,7 f(1,0)f(1,1)…(1,7 f J(,0)f(7)……(,7)]8×8 F(00)F(0,1) F(0,7) F(1,0)F(1,1)…F(1,7) F F(,0)F(7,1).F(7,7)
③变换矩阵定义为:C=[C,Jnxn 讨论:导出变换矩阵C一将DCT变换改写成三角函数形式 N-1-1 FDCT: F(u,v)=2/n C(u,v)22 f(x, y) Cos(2x+1)u丌cos(2y+1)w丌 16 (u=0,1 01 f(u, v)=2/n C(u, v) F(u, v) Cos(2x+1)u丌cos(2y+1)丌 IDCT: 16 16 (x=0, 1;y=01,…,n-1) 变换阵C:uv 1/√2 0 1/2×cos(uJ(+1/2)/n)uv≠0 其中,变换因子C可分离为:C(u,v)=C(u)C(v) 其计算值便构成一个n×n变换矩阵,即C=[C,Jm 要满足最优性能,C应接近一个对角阵,以获得最小均方误差
③ 变换矩阵定义为:C=[Ci,j]n×n 讨论:导出变换矩阵C — 将DCT变换改写成三角函数形式 FDCT: IDCT: 变换阵C: 其中,变换因子C可分离为: C(u,v)= C(u)·C(v) 其计算值便构成一个n×n变换矩阵,即 C=[Ci,j]nn 要满足最优性能,C应接近一个对角阵,以获得最小均方误差
(3)DCT快速算法 在JPEG混合编码中,FDCT/IDCT耗时约占整个编码过程的45%; 因此,寻求快速算法具有很大的实用价值 ①蝶形算法:利用FF变换的核函数e-iu/n的周期(n)性, 找到蝶形操作关系,并只进行实部计算; 使得变换运算F(i)的n次乘法操作减少为1og2n次 再通过代数分解等方法,剔除复数运算 ②稀疏矩阵法:将变换核分解成一些稀疏矩阵的积, 使非0元素仅包括两类,一是Cos或Sin函数,二是+1 这样在两矩阵相乘时,±1将相关项的乘法转化为加减运算, 从而降低变换计算复杂性 稀疏矩阵R由±1和0组成
⑶ DCT快速算法 在JPEG混合编码中,FDCT/IDCT耗时约占整个编码过程的45%; 因此,寻求快速算法具有很大的实用价值 ① 蝶形算法:利用FFT变换的核函数e -iu/n的周期(n)性, 找到蝶形操作关系,并只进行实部计算; 使得变换运算F(i)的n次乘法操作减少为log2 n 次 再通过代数分解等方法,剔除复数运算 ② 稀疏矩阵法:将变换核分解成一些稀疏矩阵的积, 使非0元素仅包括两类,一是Cos或Sin函数,二是+1 这样在两矩阵相乘时,+1将相关项的乘法转化为加减运算, 从而降低变换计算复杂性 稀疏矩阵Rn由+1和0组成
3.3.4矢量量化(VQ)编码 矢量量化:在对模拟量进行数字化时,一次量化多个对象元点 (标量量化:一次量化一个对象元点) VQ编码思想:数据分块+最小误差+可变字长 (变换编码)(预测编码)(熵编码) (HVQ)过程层次化—寻求最优VQ结构 80年代以来关注的新技术;HvQ编码的压缩比可高达上千倍 1.VQ编码的基本原理 量化的应用:a.信号数字化过程的A/D转换 b.数据压缩编码中寻求量化点的数据匹配一VQ结构设计
3.3.4 矢量量化(VQ)编码 矢量量化:在对模拟量进行数字化时,一次量化多个对象元点 (标量量化:一次量化一个对象元点) VQ编码思想: 数据分块 + 最小误差 + 可变字长 (变换编码)(预测编码)(熵编码) (HVQ) 过程层次化 寻求最优VQ结构 80年代以来关注的新技术;HVQ编码的压缩比可高达上千倍 1.VQ编码的基本原理 量化的应用:a.信号数字化过程的A/D转换 b.数据压缩编码中寻求量化点的数据匹配 — VQ结构设计