矢量化编码

2024-08-30

矢量化编码(精选6篇)

矢量化编码 篇1

摘要:本文以老挝留学生为例, 阐述了采集其汉语语音数据的基本原则和基本过程, 同时提出了一种使用微格VQF音频技术 (Transform-domain Weighted I Nterleave Vector Quantization) 和缺陷跟踪机制 (Defect Tracking Mechanism) 来采集数据的方法, 避免了传统语音数据采集过程中的弊端, 使采集到的语音数据准确、规范, 从而提高老挝学生汉语语音习得的效率, 为建立东南亚留学生汉语语音库奠定了坚实的数据基础。

关键词:矢量化编码,缺陷跟踪,语音,数据采集

0 引言

发音在留学生汉语学习及交流中起着举足轻重的作用, 如何对汉语学习者的发音做出科学、有效的评价一直是语音评价研究的热点, 而数字化的语音则是评价的主体和前提基础。近年来, 国内对汉语语音识别、语音评价系统做了大量研究, 主要成果如下:袁毅、吴晨[1]提出了柔性可扩展体系结构非特定人语音识别系统的框架模型, 验证了在该模型指导下所开发出的语音识别系统的实用性和稳定性;施伟[2]提出了对外汉语教学中的发音自动评价系统, 通过分析输入语音数据, 提取语音特征并与参考标准进行匹配比较, 由评分机制根据相似程度大小给出相应的评价;施剑等人[3]提出了一种基于USB2.0 接口芯片ISP1581, 并采用FPGA芯片EP1C3T144 实现麦克风阵列语音数据采集的方法。 就以上研究而言, 大部分停留在理论和实验甚至停滞阶段, 对语音数据的采集原则、方法都未做深入研究, 目前还没有一套针对留学生的、稳定性、扩展性较好的汉语数据采集范程及对应的汉语语音数据采集系统。

另外一方面, 在老挝, 学习汉语者越来越多, 汉语教学在老挝形成不断发展的态势[4]。 本文作者提出的基于老挝留学生发音的汉语语音评价体系[5]是一个全方位衡量和评价老挝留学生汉语语音习得程度和质量高低并且反馈发音指导建议的智能化系统, 可用来提高老挝留学生汉语发音正确率, 使其能更好地掌握汉语发音方式、方法。虽然该体系提供了评价老挝留学生汉语语音的操作机制和基本方法, 但未对语音数据采集做进一步研究, 制约了语音评价系统的开发进程和老挝留学生的汉语语音学习和交流, 本文就针对其汉语语音数据采集原则、过程、基本方法做了探索。

1 数据采集的基本原则

对于老挝留学生来说, 汉语语音数据采集起来较为困难, 它不同于其它领域中的数据采集。首先, 老挝留学生汉语发音偏误类型繁多, 偏误产生过程中带有较多的母语“ 负迁移”现象, 难以数字化;其次, 老挝留学生汉语发音动作, 语声特性以及听感都各具特点。

基于以上原因, 本文认为老挝留学生的汉语语音数据采集应当遵循以下原则:

1.1 科学性原则

科学性原则要求在采集与汉语语音指标相关的数据时, 要有科学的理论作指导, 使语音数据采集过程能够在逻辑结构上严谨、合理, 紧抓汉语发音衡量指标的实质, 并具有针对性的量化语音指标, 尽可能排除主观评价的误差;另外, 科学性原则还要求协调好语音数据采集中各个过程之间的关系:有的过程之间有横向联系, 反映不同侧面的相互制约关系;有的过程之间有纵向联系, 反映不同层次之间的包含关系。

1.2 数据性原则

老挝留学生发音的汉语语音评价体系[5]是利用现代信息技术建立的, 系统中对汉语语音的描述更多的是采用了机器化的数据表格, 语言和程序。 数据性原则是指采集到的汉语语音信息以一定的数据类型、数据格式、存储方式存在于评价系统中。 在这里值得注意的是, 即使是像对老挝留学生语调方面的主观评价也应该通过[5]中的偏误标记形成数据, 以便利用计算机进行相关处理。

1.3 实用性原则

实用性原则是指语音数据采集方法、 过程应具可行性、可操作性和稳定性。即采集方法要客观明确, 采集过程尽可能细化, 语音数据易于采集且准确可靠, 整体操作有规程约束。

1.4 可比性原则

可比性原则是指采集到的语音数据值要保持有效可比, 通过将其与参照值 ( 或标准值) 对比, 清查“ 可疑数据”, 再根据不同的情况, 综合评价采集到的语音数据。

从语言学角度, 可比性原则既指老挝留学生与其他国家留学生在习得汉语语音的层面上可比, 也指老挝留学生在老挝留学生之间习得汉语的层面上可比。

2 VQF技术与缺陷跟踪机制

2.1 VQF技术简介

VQF指的是Twin VQ ( Transform -domain Weighted I Nterleave Vector Quantization) , VQF是一种音频压缩技术。VQF所采用的是一种称为“ 矢量化编码 ( vectorquantization) ”的压缩技术, 其使用范围从电话、AM短波乃至音频CD;从单声道信号到立体声信号, 它都能提供了很好的编码/压缩支持, 它是数字化微格实验的音频支持技术, 可大量运用于不同类型、规格的微格实验室。

本文选用VQF技术的原因在于, 其一, 该技术直接集成于学校数字化微格实验室内, 便于老挝学生实时的使用其录音, 回放功能;其二, VQF具有很强的纠错能力, 学校微格平台特别提供了一个纠错环境来处理数据错误及帧丢失的情况, 该技术先将音频数据矢量化, 然后对音频波形中相类似的波形部分统一与平滑化, 并强化突出听感的部分, 最后对处理后的矢量数据标量化再进行压缩而成, 也即它能很大程度的保证音质, 这也是保证本研究的顺利进行的必要条件之一;其三, 汉语语音数据采集的有效性取决于音频压缩技术的成熟度, 而VQF就能做到, 如:当VQF以44k Hz、80kbit/s的音频采样率压缩汉语单音节词时, 它的音质优于44k Hz、128kbit/s的MP3 格式语音文件, 当VQF以44k Hz、96kbit/s的频率压缩时, 它的音质几乎等于44k Hz、256kbit/s的MP3 格式的语音文件。 经Sound VQ压缩后的语音音频文件在进行回放效果试听时, 和原音频文件几乎一样。

2.2 缺陷跟踪机制

缺陷跟踪主要是完成对缺陷报告的记录、分析和状态更新等管理。一个完善的缺陷跟踪机制对于测试的成功实施是非常重要的。

汉语语音数据采集是一个错综复杂、 数据吞吐量大、环环相扣的软件过程, 除了要对采集数据本身的质量进行控制外, 同时也可以对检查、评估、保存和理解数据进行控制, 以保证采集过程迭代的顺利进行, 这种缺陷跟踪可通过最简单的EXCEL表格和Access数据库来完成 ( 项目研究中使用Excel 2007 版本) 。

在老挝留学生汉语语音数据采集过程中引入缺陷跟踪机制, 有利于确保采集过程和系统设计的一致性;有利于在早期发现问题所在, 降低维护成本, 降低重复劳动;有利于反馈每一个采集环节的异常情况, 及时做出相应调整。

3 数据采集的过程

汉语语音数据采集的主要任务是量化各类发音指标, 为采集和保存语音数据而制定的规程需要并入语音评价的整个过程, 且使其具有操作性。 这就意味着把参与采集的老挝留学生 ( 或者实验员) , 采集方法以及实践定位到语音采集过程中的适当位置, 为随后的分析和比对工作采集和保存语音数据。 以下是数据采集的基本过程:

3.1 规范化语音数据、记录表格以及存储数据的方式

长期以来, 没有形成一套规范的语音数据集, 没有规范的记录表格。在对汉语语音采集研究中, 每个科研团队采集到的语音数据在格式, 取值范围、存储方式上不尽相同, 例如, 有项目组将语音数据定义为小数, 有的定义为整数、指数等等;有的项目组使用数据库技术存储语音数据, 而有的则使用纸质版的语图来存储语音数据。这样一来, 采集到的数据不但在数值上不准确, 不具可比性、操作性, 在存储方式上也不一致, 更不用说用规范的表格来记录了。

鉴于基于老挝留学生发音的汉语语音评价系统是一种信息化的工具, 明智的做法是:在采集语音数据之前, 针对于每一个语音值, 由微格实验室中的计算机专员规定统一的数据类型、数据格式、有效值范围以及规范的记录表格, 并规定使用统一的数据库来存储采集到的数据, 最后将这些规定形成文字说明。 这样做的好处是:便于使用计算机操作和处理语音数据、避免大量重复劳动、提高采集及评价的效率。

3.2 采集数据

一旦前期准备工作完成后, 我们就可以开始采集数据了。采集语音数据的关键在于能对每一个将被量化的语音指标提出问题、并加以解决。例如:影响汉语语音数据的因素是什么? 采集过程中哪里容易出错? 最终想要得到怎样的数据?等等。通常情况下, 留学生汉语语音数据采集的方式都比较单一, 经常忽略因母语造成的语音偏误, 也没有从老挝学生汉语发音的特征出发, 没有实现老挝人之间讲汉语的对比和对照。本文就现行汉语语音数据采集中存在的弊端提出了一种用陷跟踪机制来采集数据的方法, 其原理如图1 所示。

在图1 中, 方框之间的连线表示语音数据采集的流程, 这些方框指明了在采集过程中必须完成的任务:

3.2.1 认可过程

认可过程用以进一步确认待测试的语音指标能否准确的描述老挝留学生在元音发音、辅音发音、声调、语调方面的表现。

3.2.2 分类量化过程

分类量化过程是将已认可的测试指标分类量化为语音数据的过程, 包括:①元音发音指标量化为把“ ü”发成“ u”, 把“ iong”发成“ ong”, 把“ ue”发成“ ie”几种元音偏误产生后对应的元音习得等级[5];②辅音发音指标量化为把部分“ ch、c、L”发成“ x、s、sh”, 发音部分把“ r”发成“ l”, 发音部分把“ f”发成“ p”几种辅音偏误产生后对应的辅音习得等级;③声调指标量化为中平调33 或44, 发阳平调值约为224, 发上声发成半上[21]等声调偏误产生后对应的声调习得等级[6];④语调指标量化为双音节词语格式配合、不能分辨轻声词、不能通过句末的升调来表示疑问等语调偏误产生后对应的语调习得等级[4]。

3.2.3 检查和评估过程

检查过程用以检查和评估语音数据 ( 已量化的语音指标) 的准确性、一致性和有效性, 它是判定语音数据是否准确和规范的重要途径。准确性检查要求语音数据必须是按照规定说明采集的、完整的、在数学上是正确的;一致性检查要求检查者必须充分了解以前记录的语音数据, 通过对比, 检查出异常或不一致的数据;有效性检查要求能够证明用于描述某个语音发音指标的值能真实的反映该指标的数字含义, 确保采集到的语音数据对于汉语发音本身是有效、可靠的。

3.2.4 记录过程

记录过程是把已检查的汉语语音数据记录在事先定义好的表格中, 这些表格可以记录一个语音指标对应的一组数据, 也可以记录多个语音指标对应的多组数据。

语音数据采集中的这四个过程是相辅相成, 相互制约的。 认可过程是执行其它三个过程的前提条件;分类量化过程是语音数据采集的核心环节, 直接决定着数据的准确性;检查过程是语音数据采集的必要环节, 起到了承上启下的作用;记录过程则是对前三个过程的归纳和总结。

随着汉语语音采集过程的深入, 或当语音指标比较复杂时, 我们就会发现要用精细的方法来采集数据。缺陷跟踪就是一种过程细化的机制, 将它运用于语音数据采集的全过程, 它可以让实验员者在发现数据有问题时追述缺陷, 找到在采集过程中遗漏的东西, 有效地保证了语音数据的准确性和规范性, 提高了留学生习得汉语语音的效率。 图1 也即某个汉语语音从输入到处理, 再到输出的缺陷跟踪过程, 例如, 如果某个语音在分类量化后元音指标未能通过检查过程, 则该含有“ 缺陷”的语音数据将会被反馈至语音识别层[5], 进行重新识别或者重新输入。

3.3 存储采集到的语音数据

当采集工作结束后, 我们需要对已采集到的语音数据进行保存。一般说来, 个人计算机数据系统和Excel电子表格对数据保存和分析就足够了。然而, 若干指标量化后形成的语音数据是非常庞大的, 而且这些数据是多目的的, 一个语音数据可能对应着对应一个或者多个测试结果;其次, 数据之间的关系复杂、不容易理顺, 因此需要建立一个或者多个数据库来存储它们供以后使用。

为管理好存储语音数据信息的数据库还应该确认以下内容: ①谁负责录入和维护数据;②谁可以访问数据; ③数据存储在硬盘上什么位置;④基于建立好的数据库, 基于基于老挝留学生发音特征的汉语语音评价系统要具有编辑和检索各类语音数据的机制。

4 结束语

对于留学生来说, 汉语语音学习活动是一项非常复杂的活动, 因而在对其语音指标量化的科研教学评价过程中, 采集到的数据往往过于粗糙, 难以科学地表现老挝留学生汉语发音的本质特征。 为了采集到准确、规范的语音数据, 本文使用了微格中的VQF音频技术采集数据, 设计了科学、有效的数据采集原则及过程, 但使用本文提出的分类量化的采集方法还未完全实现, 有待进一步研究。

本研究前期预测效果显著, 前期效益价值体现在:95%的老挝学生参与了语音数据采集环节, 项目组成功输入语音数据共计15891 条 ( 按单个音节计算) , 其中有效数据13936 条, 占87.69%, 建立了基于老挝留学生发音特征的的汉语语音数据库, 为做语音识别、对比研究奠定了数据技术基础, 预计有很高的使用价值, 为老挝留学生学习汉语提供了一个新的平台。该研究受到了学校及社会老挝学生的关注和一致好评。

参考文献

[1]袁毅, 吴晨.柔性可扩展体系结构非特定人语音识别系统[J].计算机应用研究, 2006 (12) :203-206.

[2]施伟, 谢湘.一种基于语音识别的汉语发音评价系统[C].第七届中文信息处理国际会议[C].2007:032-036.

[3]施剑, 何成林, 杜利民.基于USB2.0的麦克风阵列语音数据采集系统设计[J].计算机工程, 2006:216-218.

[4]邓瑶.老挝汉语初学者语音偏误分析及教学策略-基于昆明学院老挝学生普通话语音学习的调查[J].西南学刊第五辑, 2013:267-274.

[5]陈展.基于老挝留学生发音特征的汉语语音评价体系研究[J].现代语文 (语言研究) 西南学刊, 2015 (3) :81-82.

[6]付国强.老挝学生习得汉语的偏误[J].现代语文, 2013 (11) :114-116.

矢量化编码 篇2

H.264是最新的视频编码标准,是目前图像通信研究领域的一个热点,它综合考虑了编码效率和网络传输,吸收了以往各种编码方案的优点,在语法结构、编码预测算法、数据变换等方面进行了很大的改进,使得其在低码率压缩、抗误码性及网络接入等性能上有了巨大的提高,必将成为视频压缩的重要标准。

现有的视频编码标准采用的都是基于变换的混合编码算法,变换将在空间域内以像素值形式表示的图像信息变换到变换域中,以变换系数的形式加以表示。显然,如果变换选择得当,所得的变换系数之间的相关性要明显小于原像素值之间的相关性,从而达到去除图像冗余度的目的。H.264相比于以前的视频编码标准的一个重要区别就是用4×4整数变换算法取代了传统的DCT变换编码算法,整数变换和量化可以通过16位算术加法运算完成,能够在不影响编码性能的前提下,有效地降低计算复杂度,更利于硬件实现,且避免了编码器和解码器间逆变换的失配问题[1,2]。本文详细分析了H.264的变换及量化的原理,并给出具体的实现方法。

二、H.264变换编码

变换编码是视频编码标准的一项最基本技术,用来消除图像的频域冗余[3],在以往的MEPG-1到MEPG-4及H.261,H.263都采用8×8的DCT作为基本变换。DCT的实质是通过线性变换X=H*x,将一个N维向量x变换为变换系数向量X。DCT的变换核H第k行第n列的元素定义为:

其中k=0,1…N-1,n=0,1...N-1,c0=,ck=1。由于DCT是线性正交变换,因此其反变换为x=HT*X。由于DCT的正反变换采用浮点计算,且H(k,n)的计算结果是无理数,因此在正反变换之间存在无法避免的舍入误差,即存在失配问题。而在帧间预测时,这咱由变换失配引起的舍入误差将被不断积累、放大,这将引起编码性能的迅速下降。

H.264不但在帧间编码使用了预测技术,而且帧内编码也使用了预测技术,因而它对预测残差变换前后的精度是非常敏感的。为了解决DCT变换的舍入误差,解决8x8块分割的变换不精确性,H.264协议标中采用的变换方式主要有3种[3]:(1)4×4的残差变换;(2)4×4的亮度直流系数变换;(3)2×2的色度直流系数变换。如图1所示。

2.1 4×4的残差变换

H.264对残差采用基于4×4块的变换编码,并使用了以整数为基础的空间变换,其优点在于:在编码器中和解码器中允许精度相同的变换和反变换,便于使用简单的定点运算方式,避免了浮点运算舍入问题造成的误差,从而避免了正变换和反变换的“失配”问题;变换的单位由原来8×8的块缩减到4×4块,运动物体的划分更为精确,这样,变换块尺寸的减少可明显减少变换引起的块边缘噪声,而且4×4变换核没有乘法操作,只需进行加法和移位运算,同时,变换比例系数被整合到量化器中,大大提高了运算速度。

设A为4×4的变换矩阵,则DCT变换可以表示为:AY=AXAT,其中:A={aij}(i,j=0,1,2,3),A矩阵中的每系数为:

令,并定义运算符“”表示两个矩阵对应系数相乘,则A可表示为:

其中:d=c/b(≈0.414),为了简化计算,取d=1/2,同时为了保持变换的正交性,对了进行修正,取,对矩阵C中第2行和第4行,以及矩阵CT中的第2列和第4列元素乘以2,相应的修改了矩阵E为Ef,以保持上式成立,得到如下变换公式:

这时C为正变换矩阵,Ef为正变换尺度调整矩阵,H.264将变换的Ef部分融合到量化过程中,变换的实际输出为(CXCT),实现过程中,上式的矩阵乘法运算改造成二次一维整数DCT变换,可以先对图像或其残差块的每行进行一维整数DCT,然后对经行变换的声的每列再应用一维整数DCT,每一次一维整数DCT变换可以采用蝶形快速算法,这样只需通过加法、减法及移位运算就可以完成变换过程。

2.2 4×4的亮度直流系数变换

当宏块的编码在16×16帧内模式下,此时整个16×16块的亮度分量是由相邻象素点预测得到。宏块的16个4×4块的直流分量组成一个4×4直流系数矩阵XD,这个矩阵的变换采用离散哈达马变换,即图1所示的变换2,其正变换公式为:

式中ZD是YD量化后的矩阵,在帧内编码的宏块里,大多数的能量都集中在直流系数上,这种变换有利于进一步去除4×4的亮度直流信号的相关性。

2.3 2×2的色度直流系数变换

一个宏块中,每种色度分量都有4个4X4的块。每个4X4的块都可看作4X4的残留变换。变换后的所有4X4块的直流系数组成2X2的块WD要在量化前做一次离散哈达码变换。其变换公式如下:

三、H.264量化实现

量化是在不降低视觉效果的前提下减少图像编码的长度,减少视觉恢复中不必要的信息,达到数据压缩的目的。H.264采用非均匀量化,支持52种量化步长,每个宏块的量化步长由量化参数QP决定,QP增加1,量化步长增加12.5%,QP增加6时,量化步长则增加1倍。H.264在高量化和低量化上进行了扩展,允许更广泛的量化水平,使得精确的量化成为可能,在码率和图像质量间达到折中。其量化公式如下:

Wij是矩阵(CXCT)中的转换系数,Qstep为量化步长,PF是矩阵Ef中的元素是尺度调整矩阵,取值为a2,ab/2,b2/4,其取值随着系数位置(i,j)的变化而变化,当位置为(0,0)、(2,0)、(0,2)、(2,2)是为a2,(1,1)、(1,3)、(3,1)、(3,3)为b2/4,其它位置为ab/2。为了将除法运算变成移位运算,利用量化步长随量化参数每增加6而增加一倍的性质,可以进一步简化。令qbits=15+floor(QP/6),floor(x)的功能是求不大于x的最大整数。MF=PF*2qbits/Qstep,则Zij=round(Wij×MF/2qbits),进而使用右移运算得到的量化公式如下:

其中f为偏移量,其作用是改善恢复图像的视觉效果,对于帧内预测图像f=2qbits/3而帧间编码宏块f=2qbits/6。MF由QP,QPstep及变换PF计算得出,并设置一个三维静态数组存放。

四、结束语

本文详细分析了H.264标准的变换及量化原理。H.264采用4X4的整数变换,消除了因浮点运算造成的漂移,通过加减及移位运算避免了因乘法运算的巨大运算量,提高了运算速度,并将尺度调整融合到量化过程,使得量化和变换具有更好的效果及更高的压缩效率。

参考文献

[1]T.Wiegand,G.J.Sullivan,G.Bjontegaard.etc.Overview of the H.264/AVC Video Coding Standard.IEEE Trans.Circuits Syst.VideoTechnol.,vol.13,pp.560~576,July2003

[2]毕厚杰,新一代视频压缩编码标准-H.264/AVC.北京:人民邮电出版社.2005

矢量化编码 篇3

关键词:多描述视频编码,标量量化,索引分配

0 引言

随着网络技术和多媒体技术的发展,人们对网络服务质量提出了越来越高的要求,主要包括视频的实时传送和接收视频的高质量。然而,网络环境的异构性、网络传输的不可靠性和网络带宽的限制等原因很容易造成传输视频的数据包丢失或者系统延时过长等问题,因此,如何稳定、可靠地传输视频信息是网络传输和视频编码技术的重要问题。

抗误码与错误控制技术通常采用前向纠错编码(FEC)、自动请求重传(ARQ)、联合信源信道编码、错误隐藏和容错编码等。FEC可以纠正一定数量的错误,但当错误数量超过其纠错范围时,FEC的性能会急剧下降;ARQ会增加网络延时,对于那些对实时性要求严格的系统,延时过长就相当于数据包丢失,而且,并不是所有系统和通道都支持ARQ的反馈通道。

为了实现实时、稳健的视频传输和编码,人们提出了一种针对不可靠信道传输的视频编码方法———多描述编码(Multiple Description Coding,MDC)。MDC用多种形式分别描述同一视频流,每一种形式生成一种描述,各描述间存在部分互补的冗余信息,且具有同等重要性和独立性,即每一路描述均可独立编码、解码和重构信息。同时,假设将不同的描述分别置于不同的独立的信道中进行传送,这些信道丢失同一部分图像数据包的可能性很小。因此,源视频的任何一个描述都可以恢复出质量可接受的重构视频,而多个描述联合解码则可以重构出高质量的视频。多描述编码可改善由于信道丢包导致的视觉质量下降,同时也可解决由于反馈重传导致的延时过长问题。

多描述编码具有不需重传、易于实时视频传输的特点,在分包网络、多分布的存储系统、低延时的系统、无优先保护机制或不可靠的Internet、分集通信系统(多天线的无线信道)、混合数字广播、语音编码、图像编码、视频编码等方面有着非常重要的应用价值。

1 多描述编码

多描述编码问题是在1979年9月的Shannon理论研究会上正式提出的。两描述编码的系统框图如图1所示。

图中,信源信号S由MDC编码器编码生成两路描述,即描述1和描述2。这两路描述分别通过两个相互独立的信道(信道1和信道2),在接收端,根据正确接收的码流,选择相应的解码方法。如果经过信道传输后只有描述1(或描述2)被正确接收,系统就选择边缘解码器1(或边缘解码器2)解码,由于各描述间存在独立性,因此可以恢复出质量可接受的视频信号。如果两路描述均有部分数据包丢失或出错,系统将选择中央解码器对码流进行解码,由于各描述间存在冗余,因此可以恢复出一定质量的视频,质量的高低则由信道情况决定,信道条件越差,恢复的视频质量越低。当两路描述均被正确接收时,中央解码器将解码出质量最高的重构视频。

从图1可以看出,为了保证在恶劣信道环境下各描述间仍可以重构出一定质量的视频,各描述都必须包含足够的视频信息,这意味着MDC方法的编码效率要比单描述低许多,但编码效率的损失换来的是对恶劣无线通信环境或网络环境下视频信号的稳健传输。多描述视频编码的难点就在于如何在尽量低的冗余度下使得其失真率也尽量低。

多描述视频编码方法主要有三种:通过对变换系数进行不同变换实现MDC,通过对码流进行不同程度的量化实现MDC以及通过对码流引入相关性实现MDC。

文献[1]提出了一种非平衡多描述视频编码和传输方案,该方法可以产生两个具有不同重要性和质量的描述———高分辨力(High-Resolution,HR)描述和低分辨力(Low-Resolution,LR)描述,并引入“同步帧”来加强HR和LR描述之间的相关性。所谓“同步帧”,即LR编码器重构的I帧,其作用主要是置于HR编码器的帧缓冲区并替代HR编码器当前重构的P帧。文献[2]提出了一种兼容H.264标准的多描述视频编码方法,该方法首先通过空域滤波把原始的视频序列分解为多个具有低空间分辨力的子序列,然后采用H.264编码器对每个子序列进行编码,得到与H.264标准兼容的压缩码流。文献[3]提出了基于CDN的多描述视频编码方法,该方法使用奇偶帧分解、奇偶列分解和奇偶行分解三种方法分别产生多描述码流。实验显示,由于视频序列的时间相关性优于空间相关性,奇偶帧分解多描述方案性能优于奇偶列、奇偶行分解多描述方案。文献[4]提出了提出一种基于方向提升小波变换的多描述可分级视频编码方法,该方法能增强视频编码的容错性和网络自适应性。文献[5]将多描述编码与运动补偿三维小波可扩展视频编码相结合,提出了一种基于运动补偿三维小波的多描述视频编码方法。

基于标量量化的多描述编码方法[6](Multiple Description Scalar Quantization,MDSQ)是最常见的多描述编码方法。其基本思想是对信源进行不同精度的量化,将不同精度的量化结果当作每一种对信源的描述。在接收端,若只得到一个描述,则可重构出粗糙的源信号;若得到多个描述,便可重构出精细的源信号。

1993年,Vaishampayan使用带有渐进特性的多描述标量量化器构造出了第一个实用的多描述编码器[6],如图2所示。它的设计分为索引分配选择以及针对给定的索引分配进行标量量化。实际上,这也相当于利用不同精度的标量量化器分别传输信息。

标量量化是由均匀标量量化器实现的,经标量量化后的原始信息(高斯无记忆信源)用于后面的索引分配。这里的量化是不可逆的压缩过程,因此会引入损失[7]。

MDSQ的索引分配遵循以下规则[8]:建立一个x×x的矩阵,将经量化后的信息从0到x-1方向、从左上到右下、从主对角线向外填入该矩阵。

上述MDSQ采用定长码进行索引分配。为了提高系统的性能,1994年,Vaishampayan在原有基础上进行改进,采用变长码来代替定长码,这种多描述编码器称为受熵约束的MDSQ(ECMDSQ)[9]。但MDSQ与ECMDSQ的编码复杂性较高。2002年,这种方法扩展到两个以上的描述情况[10],它对MDSQ使用需要训练码书的非统一的中央量化器,即通用多描述标量量化器(UMDSQ),可以获得中央和边缘失真之间连续的折中点,能以较低的复杂度实现与ECMDSQ相同的性能较低。2003年,Gavrilescu等提出嵌入式多描述标量量化器[11]。它使用多描述统一标量量化(MDUSQ)以实现在不可靠信道上稳健且渐进地传输,并采用嵌入式的索引分配策略以改善渐进传输信息的率失真性能。后来,Batllo和Vaishampayan还对平方误差失真度量下有记忆信源的多描述量化器的渐进性能进行了分析。

2 基于标量量化的多描述视频编码

本文将标量量化的概念应用于MPEG-2视频编码,在MPEG-2系统框架下,提出了一种基于MDSQ的多描述视频编码方法。

2.1 基于标量量化的多描述视频编码器

本文采用的编码器的简化结构框图如图3所示。

该编码器结构与MPEG-2的编码器结构大体相同,即原始帧org经过帧重排后,与该帧的预测帧pred相减,将得到的残差帧△作为待传送的信息进行DCT变换和量化。其中,I帧的预测帧的值必为128,其余帧的预测帧由参考帧ref与运动矢量(MV)通过运动补偿得到。参考帧ref由残差帧△经反量化和反DCT变换后,与该帧的预测帧pred相加得到。

该方案与MPEG-2编码器的不同在于,MPEG-2编码器将残差帧△经熵编码后直接输出,这相当于单描述编码;而笔者提出的多描述编码器的输出是由多个输出描述构成。这里的做法是:首先,找到残差帧△中的每一个系数对应“索引分配”表的两个索引分配号,每一路索引分配号代表一路描述;接着,分别对2个索引分配号进行熵编码,同时,为了保证两路描述均符合MPEG-2码流规定,即可单独解码,需要将这两路熵编码后的索引分配号分别封装成2路MPEG-2标准码流,即在码流的相应位置处加上MPEG-2规定的信息头和信息,并对这些信息按照MPEG-2标准中的规定进行熵编码,这些信息包括运动矢量、宏块信息等。

最后,将封装好的2路码流des1和des2当作编码器生成的两路描述传入信道。

值得注意的是,单描述系统变成多描述系统的过程必然会增加数据量,其数据量的增加与描述路数的多少成正比。为了尽量降低数据量,规定值为0的DCT系数值在“索引分配”表中的2个索引分配号也分别为0。这样,经游程编码后的数据就不会增加太多。图4为本系统所用的“索引分配”表。对于本文采用的“索引分配”表,可以将这张表看作是一个矩阵,其2路索引号分别为该矩阵的行号和列号,但这时的行号和列号可以为负数。

在实现具体方案时,是对经过量化和DCT变换的DCT系数进行多描述编码,将产生的2路数据分别进行熵编码,从而生成2路描述。因为MPEG-2系统中的量化和DCT变换都是有损的,所以两路描述必须在DCT变换后产生,否则会带来损失。而如果在熵编码后再进行多描述编码,则每路描述无法单独解码,若一路数据有错误,解码端就无法正确解码。因为,为了实现可行的多描述视频编码方案,本方案将多描述编码放在DCT变换之后。

2.2 基于标量量化的多描述视频解码器

本文采用的解码器的简化结构框图如图5所示。

首先,分别对接收到的两路描述des1和des2进行熵解码,找到解码后的两路索引分配号,即每一个DCT系数对应的索引分配表的行号和列号。

接着,根据接收情况,选择“索引合成”方式:若接收端只收到1路描述,则根据接收到的描述进行边路索引合成;若收到2路描述,则根据2路描述进行中央索引合成。例如,若只收到第一路描述des1,解码得出其行号为-2,那么,根据图4所示的“索引分配”表,估计出该DCT系数为-3.5,即第二行所有数据的平均;若只收到第二路描述des2,解码得出其列号为-1,那么,根据图2所示,估计得出该DCT系数为-2.5,即第一列所有数据的平均;若收到2路描述des1和des2,解码得出其行号、列号分别为-2和-1,那么,根据图4所示,估计得出该DCT系数为-3.0。

最后,对索引合成后得到的DCT系数值进行反量化、反DCT变换,将恢复出来的残差帧与该帧的预测帧pred相加,得出该帧的参考帧ref。I帧的预测帧pred中的每一个像素值都是128,而其余帧的预测帧pred是由参考帧ref和运动矢量MV决定的。其中,运动矢量MV是从接收码流中直接读出来的。最后,通过帧重排将所有帧的顺序还原为显示顺序。

3 实验结果与分析

为了验证多描述编码的抗误码性能,本文将MPEG-2标准编解码方法(即单描述编码方法)与基于MDSQ的多描述视频编码方法进行了比较。

本文在PC机上对帧率25帧/秒(f/s)、色度采样格式为4∶2∶0的CIF格式序列进行测试,分别选取akiyo,coastguard,foreman和stefan序列的前300帧作为测试序列。单描述编码的MPEG-2编码器采用I-B-B-P的GOP结构,一行宏块组成一个像条(slice),多描述编码器的设置与单描述编码相同,但采用MDSQ生成两路描述码流。为了保证相同的编码效率,对于这4个测试序列,MPEG-2编码码率和两路描述的总码率分别相同,总码率分别为6.83,6.81,6.79和6.81 Mbit/s。

实验中,将单描述码流和多描述码流分别传送到网络信道中传输,传送各个描述的信道是相互独立的。将一个像条封装成一个数据包,并分别设置信道丢包率为0.05,0.10,0.15,0.20,0.25,0.30和0.35,每个丢失的slice都用前向复制的方式对其进行错误隐藏。同时,保证所有序列的第一帧的所有像条不丢失。在各个丢包率下,分别计算MPEG-2标准编解码器重建序列、基于MDSQ的多描述视频编解码器单路描述重建序列以及两路描述重建序列与原始序列的峰值信噪比,其结果如图6所示。

由图6可见,在多描述解码器只接收到描述1或者描述2时,这两路描述经多描述解码器重建的序列的质量很相似。在无误码条件下,它们的质量与经MPEG-2编解码器重建的序列的质量相比,还是有一定差距的,不过这种差距随着丢包率的增加而急剧减小。这是因为在无误码情况下,对单路描述进行“索引合成”后的值是对原始DCT系数的估计,这里存在误差。但是随着丢包率的加大,前向复制方法也会产生误差。在视频内容大多为静止的序列中,如akiyo序列,前向复制产生的误差要比索引合成小;在视频内容大多为运动的序列中,如stefan序列,前向复制产生的误差与索引合成的相当。

由于MPEG-2编码器和多描述编码器的编码效率相同,所以,在多描述解码器同时接收到两路描述时,在无误码的情况下,MPEG-2解码器重建的视频质量必然高于多描述解码器,但是,随着丢包率的增大,后者的重建视频质量将明显优于前者。这是因为,在相互独立的信道中,同一帧相同位置处的像条在2个索引中同时丢失的概率很小。当接收端收到2个描述时,重建序列的质量与原始序列相同;当接收端只收到1个描述时,仍然可以恢复质量可接受的序列。即便如此,单路描述重建序列的质量也比前向复制后的质量高,因为前向复制仅仅只是将前一个参考帧的相同位置处的像条内容复制过来。

4 小结

本文在MPEG-2系统框架中实现了一种基于标量量化的多描述视频编码方案,并进行了大量仿真实验。实验结果表明,在高丢包率下,笔者提出的多描述视频编码方案在重建图像的PSNR方面明显优于传统视频编码方法。这种方法更适合于丢包率高的网络信道。

参考文献

[1]李彬,黄峰,孙立峰,等.一种鲁棒灵活的非平衡多描述视频编码和传输方案[J].计算机学报,2008,31(7):1155-1164.

[2]卓力,王仕宝.一种兼容H.264标准的多描述视频编码方法[J].北京工业大学学报,2008,34(10):1026-1031.

[3]肖方明,郁梅,蒋刚毅.基于CDN的多描述视频编码方法研究[EB/OL].[2010-03-20].http://www.arocmag.com/ch/reader/view_abstract.aspxflag=1&file_no=10969&journal_id=arocmag.

[4]陈锦春,蔡灿辉.基于方向提升小波变换的多描述视频编码[J].计算机工程,2009,35(22):162-164.

[5]卓力,王仕宝,王素玉,等.一种基于运动补偿三维小波的多描述视频编码方法[J].电子学报,2009,37(10):2154-2159.

[6]VAISHAMPAYAN V.Design of multiple description scalar quantizers[J].IEEE Trans.Information Theory,1993,39(3):821-834.

[7]蔡旻,宋建新.常用的多描述编码方法[J].电视技术,2005,29(S1):35-37.

[8]TANYA Y,WOLF,REINGOLD E M.Index assignment for multichannel communication under failure[EB/OL].[2010-03-20].http://citeseerx.ist.psu.edu/viewdoc/summarydoi=10.1.1.22.4001.

[9]VAISHAMPAYAN V,DOMASZEWICZ J.Design of entropy-constrained multiple-description scalar quantizers[J].IEEE Trans.InformationTheory,1994,40(1):245-250.

[10]GAVRILESCU A I,MUNTEANU A,SCHELKENS P.Embedded multiple description scalar quantizers[J].Electronics Letters,2003,39(13):979-980.

矢量化编码 篇4

监控音视频编码是面向安全防范领域的新编码技术, 它的提出和发展一方面源自社会治安防控体系建设对电视监控的市场需求, 另一方面源自现有的音视频编码标准多针对广播电视网络等多媒体领域, 在监控场合直接采用表现出很大的不适应性。我国政府于2008年启动了国家标准《安全防范监控数字视音频编解码技术标准》 (Surveillance Video and Audio Coding, SVAC) 的制定工作, 并于2010年批准公布。目前相关监控产品已在推广中, 这对维护国家安定、保障公民生活安定, 打击预防犯罪具有重要意义[1,2]。

出于应用场合的特殊性, 为更好地对语音信号进行说话人可识别的保护, 减少语音编码失真对表征说话人个体信息的特征参数的影响, SVAC监控音频编码器在前端进行特征参数的提取和量化编码, 这是其与现有语音频编码器的主要差异。

特征参数量化编码后耗用码率较低, 存在一定的量化误差。目前这种误差和语音信号编解码后提取的特征参数误差缺乏定量的对比和分析, 本文对SVAC监控音频编码器的特征参数量化单元进行性能分析, 然后有针对性地设计了新码本。

1 SVAC监控音频编码器

图1是SVAC监控音频编码器的整体框架, 可分为并行的两路:音频编码和特征参数编码。输入信号经采样率转换后, 一路输出给音频编码模块, 利用异常事件器检测到的事件重要性控制编码码率, 另一路输出给特征参数编码模块, 进行特征参数的提取和量化编码。

特征参数编码模块中, 提取梅尔频率倒谱系数 (Mel-Frequency Cepstral Coefficients, MFCC) [3]进行编码, 提供两种编码模式:直接模式和预测模式 (图1的虚线) 。直接编码模式对提取MFCC特征直接量化编码;而预测编码模式则需要对音频编码器的码流进行解码得到重建信号, 对重建信号和原始信号分别提取MFCC特征, 使用重建信号MFCC特征作为原始信号MFCC特征的预测, 最后对预测残差进行量化编码[4,5]。直接编码模式码率为4.8kbps, 预测编码模式码率为3.2kbps。

2 MFCC量化与编码

SVAC音频编码器提取的特征量包括12阶的MFCC系数

i表示帧索引。此外还包括MFCC系数C (0) , 对数能量系数ln E (t) , 以及语音活动检测 (Voice Activity Detection, VAD) 标志位。特征矢量表示如下:

特征矢量y (t) 量化使用分裂的矢量量化[6,7,8]。14个系数 (c (1) ~c (12) , c (0) , ln E) 两个一组, 被分成7组, 每组都用独立的VQ码本进行量化, VAD标志位作为一个独立比特进行传输。矢量量化选择加权欧氏距离为量化失真度量尺度:

qi, i+1j表示码本Qi, i+1j的第j个码字, (Ni, i+1-1) 为码本大小, Wi, i+1为码本Qi, i+1j的加权矩阵, idxi, i+1 (t) 表示量化所得到的码本索引。

针对直接编码和预测编码两种模式, 矢量量化的码表相应分为两组, 这里以预测编码模式为例, 其量化码表分配情况如表1所示。可以统计所有子矢量耗用比特数总和为29, 再加上1个VAD标志位, 最多耗用30bit。码流复用前的识别特征参数打包, 再加上2bit的CRC校验和, 总共32bit, 实现了3.2kbps的特征参数编码 (单帧信号的时长为10ms) 。

3 量化器性能分析

对直接和预测两种模式下SVAC特征参数量化器性能进行测试分析, 实验素材包括多组48k Hz采样、16bit量化的单声道男女人声语音信号。这里只关注c (1) ~c (12) 的量化。

3.1 实验1

实验1关注SVAC直接编码模式下的量化失真和语音信号经中低码率编码后的编码失真对MFCC的影响, 为了方便比较, 语音编码器选择SVAC的语音编码, 码率分别选10.4kbps、16.8kbps和24kbps (其中包括了特征参数耗用的4.8kbps) 。

图2和图3分别是20帧信号的特征参数C3和C10比较曲线, 这里编码码率为10.4kbps。从图可见, 由低码率编解码重建的语音信号提取的MFCC曲线与MFCC真实值偏差较大, 而SVAC的MFCC量化值更接近真实值。其实SVAC编码器为宽带语音编码[9], 对于一些窄带编码器, 语音信号在编码中高频部分被直接截掉, 相应的特征参数也丢失, 这样的失真才更影响后端的识别工作。

再给出定量分析。用标准方差衡量MFCC失真值相对于真实值的误差估计, 定义如下:

其中, 是失真MFCC值, c (i, n) 是真实MFCC值, i是MFCC序号, 1≤i≤12, n代表帧索引, M是样本帧个数, 实验中对多组语音信号取6000个样本帧。

表2是多种情况下MFCC与真实值的误差统计, 相应曲线在图4中给出。可以看出, SVAC的MFCC量化误差明显低于语音信号经编码后的MFCC误差, 尤其码率越低, 编码后的MFCC的失真越严重。考察12个MFCC值, SVAC的C1到C4的量化误差相对大, 接近于24kbps编码时的MFCC失真, 尤其是C2, 误差甚至高于16kbps编码带来的MFCC误差, 这是由其相应码本大小不足引起的。C5到C10误差相对小, 对比各码率段编码带来的失真优势扩大, C10到C11的量化误差又稍微提升。

由实验1得出以下结论:首先, 语音信号编码对其特征参数带来影响, 码率越低失真越严重, SVAC为更好地支持识别工作, 在前端进行特征提取是必然设计。第二, SVAC直接编码模式下部分特征参数量化误差相对较大, 有的甚至超过语音信号编码失真带来的误差, 这导致在前端进行特征提取和编码失去意义。对它们的改进是新量化器的设计方向。

3.2 实验2

实验关注直接编码和预测编码两种模式下MF-CC的误差比较。预测模式编码率分别选10.4kbps、16.8kbps和24kbps。

图5是预测模式下的3种误差与直接模式的误差比较。可以看出, 预测模式中, 语音信号编码率越高, MFCC误差越小, 并且3种码率下的误差与直接模式的误差相近, 特别是24kbps时, 预测模式的误差要略优于直接模式。

下面分析其原因:预测模式的差值编码提高了编码增益, 同时, 码率的降低又增加了量化误差, 相互抵消, 最终整体编码效果应和直接模式接近。

由实验2得出如下结论:SVAC特征参数编码中, 预测模式3.2kbps编码性能与直接模式4.8kbps量化性能相近, 即编码器通过增加复杂度的代价, 获得了更高的增益。

4 新码本设计

对直接编码模式下的特征参数设计新量化码本[10,11]。依据实验1的结果, (C1, C2) 和 (C3, C4) 耗用比特增加2bit, 其它特征参数增加1bit。如直接编码模式下C1和C2在原有的分裂矢量量化中, 码本大小为64, 即耗用6bit, 新码本增加到8bit, 大小为256。

首先确定失真测度, 沿用第3节提及的加权欧氏距离表征误差的度量尺度。每一对特征参数用多组语音信号的20000个样本进行训练, 码本设计采用经典的LBG算法[12], 它是一种递推算法, 从一个事先选定的初始码本开始迭代, 直到系统性能满足要求或不再有明显的改进为止。以欧氏距离计算两个矢量畸变时的LBG算法具体实现步骤如下:

①设定码本和迭代训练参数:训练矢量X的集合为S, 码本尺寸为J, 算法最大迭代次数为L, 畸变改进阈值为δ。

②设定初始化值:初始码本的J个码字的初始值为Y1 (0) , Y2 (0) , …, YJ (0) ;畸变初值D (0) =∞, 迭代次数初值m=∞。

③假定根据最近邻准原则将S分为J个子集S1 (m) , S2 (m) , …, SJ (m) , 即当X∈SJ (m) 时, 下式应成立:d (X, Yl (m-1) ) ≤d (X, Yi (m-1) ) , i, i≠l。d () 为失真测度。

④计算总畸变:。计算畸变改进量ΔD (m) 的相对值。计算新码本的码字。

⑤如果δ (m) <δ, 则转入⑦, 否则转入⑥。

⑥如果m

⑦迭代终止, 输出Y1 (m) , Y2 (m) , …, YJ (m) 作为码本的码字。

LBG算法开始迭代前必须先确定一个初始码本, 这里采用分裂生成法, 步骤如下:

①求出S中全体训练矢量X的质心作为初始码本的码字Y1 (0) 。

②利用一个较小的阈值矢量ε将Y1 (0) 一分为二, 即:

以Y1 (1) '和Y2 (1) '为新的初始码本, 利用LBG算法进行迭代计算, 求得新码本Y1 (1) 和Y2 (1) 。

③重复上面的循环, 即将Y1 (1) 和Y2 (1) 各分裂为二, 得:

再以Y1 (2) '、Y2 (2) '、Y3 (2) '和Y4 (2) '为新的初始码本, 利用LBG算法进行迭代, 求取新质心, 如此继续。设所需码本码字数J=2r, 则共需做r轮上述的循环, 直至聚类完毕, 此时各类的质心就是所需的码字。

图6是利用新码本和旧码本对特征参数直接量化后与其真实值的误差比较曲线, 实验素材和方法同实验1和实验2。可以看出, 用新码本量化, 所有特征参数量化误差减小, C1至C4的改善最明显, 新码本设计收效。

5 结束语

SVAC监控音频编码器在前端提取MFCC进行量化编码, 以防止语音编码失真引起MFCC失真, 影响后端的说话人识别, 而前端MFCC的量化器也存在量化失真, 有必要对两种失真进行统计比较, 为MF-CC量化器的改进方向提供支持。本文对量化器性能进行了实验分析, 得出的结论是:SVAC在前端进行MFCC提取是必然设计, MFCC的预测模式虽然编码码率低, 但编码性能与直接模式相近。同时, 直接编码模式中, 部分MFCC量化误差较大, 本文为此有针对性地设计了新码本。

对新码本设计做出以下说明:本文的量化改进只以减小所有特征参数的量化失真为准则, 考虑它们对识别的不同贡献, 依据其识别权重决定不同的量化策略更为合理, 这是以后的研究方向。

参考文献

[1]陈朝武, 郅晨, 张跃.SVAC标准技术创新及其在视频监控联网系统中的作用[J].警察技术, 2011, 4:62-65.

[2]蔡韶华.关于SVAC标准技术优势及其应用的探析[J].中国安防, 2012, 10:86-88.

[3]Hossan M A, Memon S, Gregory M A.A novel approach for MFCC feature extraction[C].ICSPCS’10 4th Annual IEEE.13-15 Dec.2010:1-5.

[4]Wang Chen, Miao Zhen-jiang, Meng Xiao.Differential MFCC and Vector Quantization Used for Real-Time Speaker Recognition System[C].CISP’08 Congress on, 27-30 May 2008:319-323.

[5]张晶, 范明, 冯文全, 等.基于MFCC参数的说话人特征提取算法的改进[J].语音技术, 2009, 33 (9) :61-64.

[6]李凤莲, 张雪英, 王子中, 等.码书分类重排矢量量化方法及其应用[J].清华大学学报:自然科学版, 2013, 53 (6) :893-897.

[7]Xuan Hou, Research of model of Quantum Learning Vector Quantization Neural Network[C]//Electronic and Mechanical Engineering and Information Technology (EMEIT) , 2011 International Conference on, 2011:3893-3896.

[8]Bouttefroy P L M, Bouzerdoum A, Beghdadi A, et al.Multi-resolution Mean-Shift Algorithm for Vector Quantization[C]//Data Compression Conference (DCC) , 2010:523.

[9]赵力.语音信号处理[M].北京:机械工业出版社, 2009.

[10]陈善学, 张艳, 吴立彬.用于LBG初始码书设计的改进PNN算法[J].重庆邮电大学学报:自然科学版, 2012, 24 (1) :50-54.

[11]Zhou Di, Wang Hong-hui, Zhang Zhuan-xia, et al.Double order hybrid optimum codebook design for speaker recognition[C].Electrical and Control Engineering (ICECE) , 2011 International Conference on, 2011:4464-4467.

矢量化编码 篇5

关键词:多边形编码,Morton码,冗余,拓扑

按照功能来划分,常用的矢量数据结构编码方式[1]有多种,其中多边形矢量编码结构,使边界坐标数据和多边形单元一一对应,各个多边形边界都单独编码和数字化。每个多边形由若干条弧段组成,每条弧段由一列有序的x,y坐标对组成。其文件编码坐标为:x1,y1;x2,y2;x3,y3;xn,yn;x1,y1。这种编码方式的不足在于:相邻多边形的公共边界被数字化和存储两遍,造成数据的冗余且每个多边形自成体系,缺少图形的拓扑关系等等。索引式矢量编码结构采用树状索引,对多边形边界每个节点进行编号并数字化节点,对各个线段进行编号,节点和线段号相联系并用线段和多边形相联系,建立多边形和线段之间的索引文件,但这种方式的不足在于编码表要人工建立,工作量大而且容易出错。

1 基本思路

为了避免相邻多边形的公共边界被数字化和存储两遍,造成数据的冗余和减少人工建立编码表带来的工作量,本文借鉴多边形和索引式矢量编码结构,只建立节点和多边形之间的树状索引,以达到减少数据冗余和增加邻域信息。节点的数字化和存储是利用多边形编码方式和Morton码的原理来完成,Morton码的排列方式如图1所示,用2n×2n表示。

Morton码的计算如图2所示[2]:

这样就可以行列表示二维栅格阵列图形,用Morton码写成二维数组,通过Morton码来确定节点的坐标。图3中给出一个原始的多边形图形,文章中以该多边形图形为例,按照Morton码的原理划分多边形图形,划分后的结果如图4所示:

从图3中可以看出,每个节点所在的行和列,从而可以得出Morton码与多边形对应的关系,如图4所示。节点1对应Morton码为第1行第5列即18;节点2对应Morton码为第4行第6列即27;用同样的计算方法可以计算出所有节点对应的Morton码。将Morton码读入二维数组中

节点坐标值……

利用Morton码对每个节点数字化的时候,如果某个节点之前已经完成过一次数字化就不需要再重复数字化和存储,这样就可以保证每个节点只被数字化一次。再利用索引的方式来表示多边形的拓扑关系,为了减少人工的工作量并且减少出错,只建立节点———多边形之间的树状索引,如图5所示。这样既增加了多边形的邻域信息和图形的拓扑关系,又减少了人工编码出错的几率。

2 结束语

通过结合多边形矢量编码和索引式矢量编码方式的优点,采用了Morton码原理,取长补短,对于计算机图形矢量数据结构的编码提出了一些解法,希望能对矢量数据结构编码有所帮助。

参考文献

[1]闫浩文,等.计算机地图制图原理与算法基础[M].科学出版社,2007.

[2]艾自兴,龙毅.计算机地图制图[M].武汉大学出版社,2005.

[3]谢箐.计算机辅助设计实用教程[M].电力出版社,2006.

矢量化编码 篇6

在多媒体通信中,视频图像数据量最大,视频质量要求最高,与其相关的应用领域最广,随着视频通信应用领域的进一步扩大,视频压缩技术显得越来越重要。笔者研究的编码器是数据压缩技术中最重要的组成部分,所采用的数据压缩技术利用了图像的空间相关性,即DCT(离散余弦变换)变换后的非相关性和统计冗余性[1],采用量化和熵编码技术能够较好地提高编码性能,进行有效的数据压缩。

1数据压缩编码器的功能定义

数据压缩编码器的任务就是对经DCT变换后的DCT矩阵进行量化或编码处理,以达到数据压缩的目的[2]。其主要由量化器、Z扫描电路、游程编码器和可变长编码器4部分组成。各个功能模块流水工作,流水控制就是对各个模块的输出码流序号进行控制。各个模块的具体设计是在MAX+PLUS II软件平台上采用逻辑电路和VHDL语言相结合的方法。本文重点介绍其中量化器的设计。

2量化器的设计

2.1 量化器的功能分析

量化器的功能是接收DCT系数,根据量化矩阵、量化步长及系数特点进行量化,最后输出量化的DCT系数。接收到的DCT系数在与常数16相乘后(可用移位乘法实现),再除以相对应的量化矩阵中的值和量化步长之积,因此需要一个乘法器和除法器来完成相应功能。此外,对于连续输入的DCT系数应设置一个输入缓冲器(设置为可存储8×8的系数块,容量为128b)予以接收存储,以便以后进行量化处理。量化矩阵的存储容量为128b,再加上相应的控制模块,就组成了量化器的总体结构[3]。

为了更好地进行时序控制,笔者在设计中提出了顺序号控制思想,即与量化系数同时输出量化系数的顺序号(1到64,即是以8×8的系数块为单位),这样既可以区别不同的量化系数,又方便以后进行模块的流水控制。

2.2 量化器的结构设计

量化器的总体功能结构见图1。

图1中,输入端的复位和使能信号用来复位/启动量化器;帧内/非帧内信号用来区分读取的数据是帧内还是非帧内的DC系数,以进行不同的处理;量化步长和DCT系数需要输入;最后输出的是量化后的DCT系数及顺序号、符号(输入的DCT系数有正、负之分)。

2.2.1 DCT系数缓冲器

DCT系数缓冲器用来存储DCT系数,这里采用的是先进先出堆栈,其读写信号由量化控制器给出。使用先进先出堆栈的另一个好处是可以同时进行读写操作。

2.2.2 乘法器

DCT变换是将数据域从时域变换到频域,在频域平面上变换系数是二维频域变量u和v的函数。对应于u=0、v=0的系数称为直流分量,即DC系数。对于非帧内DC系数,需要用量化步长乘以量化矩阵作为除数,所以要用到乘法器。在这里量化步长输入后需要经过一个左移一位的电路(相当于乘2),再与量化矩阵和DCT系数相对应的值相乘。这里的量化矩阵设为默认矩阵,可以通过帧内/非帧内标志来选择量化矩阵类型,1代表帧内量化矩阵,0代表非帧内量化矩阵,其控制信号由量化控制器给出。

2.2.3 除法器

除法器是量化器的核心功能模块,能进行除法运算,并将除法结果四舍五入。根据DC系数的特点,有两种除法方式:①对于帧内DC系数的量化,除数固定为8,采用右移三位的除法,因为帧内DC系数的值一般比较大,采用移位除法可大大缩短除法所占用的时钟周期;②对于非帧内DC系数,除数由乘法器给出,除法方式选择和除法控制信号又由量化控制器给出。这里的除法器选用的是MAX+PLUS II中LPM库里的高速DIVIDE器件。

另外,由于DCT系数是有符号的,因此在除法运算之前,要将DCT系数转化为绝对值与符号,运算时采用绝对值,结果与系数符号一起输出。

2.2.4 控制器

控制器的功能为除法选择、控制与计数。其内设计数器,可进行计数控制,范围为0~64,0代表初始状态,1~64分别代表处理的响应DCT系数。根据帧内/非帧内信号形成除法选择标志送入触发器,并向缓冲器输出读写控制信号,每做完一个8×8 DCT系数矩阵的量化,计数器清零,重新开始计数。

量化器的工作过程如下:复位信号有效时,所有内部寄存器清零,使能端有效时,量化器开始工作,量化控制器计数,缓冲器接受DCT系数。如果是帧内DC系数则送入移位寄存器,若是非帧内DC系数,则从量化矩阵中顺序读出数据,与移位后的量化步长相乘,结果与缓冲器读出的DCT系数一起送入除法器继续除法,得出的除法结果经舍入模块最后输出结果。

3软件仿真结果

当逻辑设计完成后,通过MAX+PLUS II可编程逻辑开发环境所提供的仿真工具,对设计模块进行了仿真,以确定设计模块的功能,并验证逻辑关系及定时关系是否满足设计要求。量化器的部分仿真波形见图2[4]。

仿真时所用的时钟周期均为100ns。仿真的目的是检验量化器是否完成对DCT系数量化的功能,通过对帧内DC系数和非帧内DC系数分别测试,经过3个时钟周期的运算和延迟,可以看出量化器输出的数据准确地完成了对输入数据的除法和取整功能。

4结束语

在对数据压缩编码器中量化器的功能及其在整个编码器中的任务进行分析的基础上,设计出量化器的总体结构,并分析了它的工作流程,最后进行了仿真。在具体的调试过程中,充分利用MAX+PLUS II软件的仿真功能,对设计反复验证修改,直到达到理想的结果。

参考文献

[1]马小虎,张明敏,严华明,等.多媒体数据压缩标准及实现[M].北京:清华大学出版社,1996.

[2]钟声.图像压缩技术及应用[J].电子学报,1995,23(10):117-132.

[3]付宇卓.MPEG-2视频编码器模块的结构设计[D].哈尔滨:哈尔滨工业大学,2001:25-27.

上一篇:打造历史复习高效课堂下一篇:智能厨房