语音编码及信道编码_第1页
语音编码及信道编码_第2页
语音编码及信道编码_第3页
语音编码及信道编码_第4页
语音编码及信道编码_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关于语音编码及信道编码第1页,课件共95页,创作于2023年2月5.1概述5.1.1语音编码语音编码的基本方法可分为波形编码和参量编码两种。波形编码是将时域的模拟语音的(电压)波形信号经过取样、量化、编码而形成的数字语音信号。为了保证数字语音信号解码后的高保真度,取样速率应满足奈奎斯特取样定理,并且量化分层数要足够大。第2页,课件共95页,创作于2023年2月

在选择各种不同的数字语音编码方案时,应考虑以下一些基本要求:①编码速率要低,语音质量要高;②应有较强的抗噪声干扰和抗误码的性能;③编译码时延应在几十毫秒以内;④编译码器复杂度要低,便于大规模集成;⑤功耗要小,以便适应手持机。第3页,课件共95页,创作于2023年2月5.1.2信道编码著名的仙农(Shannon)定理为实现有效和可靠的通信奠定了理论基础。该定理指出:在有噪声的信道环境下,只要信源的信息速率不超过信道容量,就可以找到一种编码方法,使信息的传输速率任意地逼近信道容量,而传输的错误概率任意地逼近于零,或者传输的失真度能够任意地逼近给定的要求。这里指出了信道编码在实现有效和可靠的通信方面的重要作用和地位,并从理论上为信道编码的发展指出了努力方向。第4页,课件共95页,创作于2023年2月

所谓信道编码,就是按一定的规律给待传送的数字序列{d}增加一些多余的码元,称之为监督码元。使不具有规律性的信息序列{d}变换为具有某种规律性的数字序列{c},称之为码序列。经变换后得到的码序列的诸码元与多余码元之间是相关的;接收端的译码器则根据这种相关性来检测和纠正传输过程中产生的差错。第5页,课件共95页,创作于2023年2月

信道编码的方法有许多种,一般可按下列方式分类:

(1)按照信息码元和监督码元之间的约束方式不同,可分为分组码和卷积码。

(2)按照信息码元与监督码元之间的关系又可分为线性码和非线性码。

(3)按照编码后每个码字的结构可分为系统码和非系统码。

(4)按照修正错误的类型不同,可以分为纠正随机错误和纠正突发错误的码。

(5)按照码字中每个码元的取值不同,还可分为二进制码和多进制码等。第6页,课件共95页,创作于2023年2月5.2参量编码和声码器5.2.1参量编码的基本原理

1.语音信号产生人类的发音器官是一个相当复杂的系统。来自肺部的气流通过气管、喉部、声门进入口腔及鼻腔。口腔形成一个声道,并由舌头、下颌和嘴唇的位置决定其形状。第7页,课件共95页,创作于2023年2月

图5-1及图5-2分别示出浊音及清音的频谱。从图中可以看出,浊音的频谱包络有三个峰值处,即共振峰频率。图中的小尖峰点,即基音fp的谐波,能量集中在其附近,相关性较强。清音的频谱包络没有共振峰和小尖峰点存在,时间波形特性没有准周期性。第8页,课件共95页,创作于2023年2月图5-1浊音频谱第9页,课件共95页,创作于2023年2月图5-2清音频谱第10页,课件共95页,创作于2023年2月2.语音发声过程的物理模型根据对发音器官的构造和声音产生的机理的分析,图5-3(a)、(b)、(c)分别示出语音产生过程的机械模型、电路模型以及激励的功率谱和滤波器的频率响应特性。第11页,课件共95页,创作于2023年2月

图5-3语音产生过程的机械和电路模型(a)机械模型;(b)电路模型;(c)激励功率谱和滤波器的频率响应第12页,课件共95页,创作于2023年2月

图5-3语音产生过程的机械和电路模型(a)机械模型;(b)电路模型;(c)激励功率谱和滤波器的频率响应第13页,课件共95页,创作于2023年2月5.2.2线性预测编码(LPC)

线性预测分析法可十分精确地估算语音参数,而且速度快,因而获得了广泛的应用。线性预测是指一个语音的抽样值可用该样值以前若干个语音抽样值的线性组合来逼近。如果使二者的差值的平方和达到最小值,则可以决定惟一的一组预测器的加权系数。图5-4为语音产生模型的简化方框图。第14页,课件共95页,创作于2023年2月图5-4语音产生模型的简化方框图第15页,课件共95页,创作于2023年2月图5-5线性预测器及合成滤波器第16页,课件共95页,创作于2023年2月

应用上述线性预测的分析与合成方法的语音编码,称为语音的线性预测编码(LPC)。线性预测编解码器的简化方框图如图5-6所示,图(a)为LPC编码器,图(b)为解码器。第17页,课件共95页,创作于2023年2月图5-6线性预测编码器简化方框图第18页,课件共95页,创作于2023年2月5.2.3规则脉冲激励长期预测LPC编码(RPE-LTP)1.线性预测编码的改进模型上述LPC编解码器能够保证在一定的可懂度条件下,使数码率降低到2.4~4.8kb/s。但也存在如下一些缺点:损失了语音自然度;抗噪声干扰能力差;谱包络的估值可产生很大的失真。产生这些缺点的原因主要是LPC没有将发端的余数(误差)信号送到收端去。第19页,课件共95页,创作于2023年2月

图5-7为几种不同激励语音合成模型的简化方框图。图(a)为一般的LPC声码器;(b)为多脉冲激励线性预测编码(MP-LPC),它使用一个数目有限、幅度和位置可调整的脉冲序列作为激励源;图(c)为码激励线性预测编码(CELP),它使用一个波形的码矢量作为激励源。第20页,课件共95页,创作于2023年2月图5-7不同激励语音合成模型简化方框图第21页,课件共95页,创作于2023年2月

图5-8(b)为合成/分析编码器的工作原理方框图。其中由激励发生器、长时预测、短时预测合成语音,合成语音与原始语音比较得到误差,根据使均方误差最小为最佳的准则,来调整激励和长时及短时预测,并将均方误差为最小时的参数输出。图5-8(a)给出了三种激励源的信号波形:多脉冲激励信号、规则脉冲激励信号和码激励线性预测编码(CELP)的码矢。第22页,课件共95页,创作于2023年2月图5-8合成/分析编码原理方框图第23页,课件共95页,创作于2023年2月(1)多脉冲激励的LPC编码原理。多脉冲激励LPC编码器中的激励发生器产生具有一定位置和幅度的脉冲序列来激励声道。声道由长时延及短时延相关滤波器来模拟,从而合成语音。

(2)规则脉冲激励的LPC编码原理。所谓规则脉冲激励,是指激励脉冲序列中脉冲的相对位置(间隔)不变,而只可改变幅度的激励源。第24页,课件共95页,创作于2023年2月图5-9RPE编码激励源的可能模式第25页,课件共95页,创作于2023年2月2.规则脉冲激励长期预测编解码器

RPE—LTP线性预测编解码器即是具有长期预测的规则脉冲激励的线性预测编解码器。这种RPE-LTP线性预测编码方式已用于泛欧GSM数字蜂房移动通信系统中,并作为GSM标准予以公布。下面分别介绍它的编码器和解码器。第26页,课件共95页,创作于2023年2月1)RPE-LTP线性预测编码器图5-10(a)示出RPE-LTP线性预测编码器的方框图,它由预处理、LPC分析、短时分析滤波、长时预测和规则脉冲激励(RPE)编码5个部分组成。现将其各部分的功能分述如下。第27页,课件共95页,创作于2023年2月图5-10RPE-LTP-LPC编/解码原理方框图第28页,课件共95页,创作于2023年2月图5-10RPE-LTP-LPC编/解码原理方框图第29页,课件共95页,创作于2023年2月(1)预处理。语音信号在预处理部分除去输入信号中的直流分量,并进行高频分量的预加重,以便更好地进行LPC分析。预加重采用一阶FIR滤波器。

(2)LPC分析。LPC分析的主要目的是从预处理后的语音信号(S)中提取LPC参数。

(3)短时分析滤波。短时分析滤波的目的在于得出余量信号d。

(4)长时预测。长时预测部分是一个长时预测器环路。第30页,课件共95页,创作于2023年2月(5)规则脉冲激励(RPE)编码。RPF编码部分将长时预测得出的余量信号e进行规则脉冲序列提取及量化编码。第31页,课件共95页,创作于2023年2月2)

RPE-LTP线性预测解码器图5-10(b)为解码器方框图。图中粗体箭头表示收到的编码参数。RPE参数Mc、Mmaxc和Xmc;在解码器中用来重建长时余量信号e′,以供长时预测滤波器产生激励信号d′。短时合成(综合)滤波器将其用来恢复成语音信号S。恢复的语音信号S在后处理部分经去加重后成为解码器最后输出的语音信号S0。第32页,课件共95页,创作于2023年2月5.3矢量和激励线性预测编码(VSELP)5.3.1矢量量化(VQ)编码矢量量化是把信号序列中的每K个样值作为一组,形成空间中的一个K维矢量,再对此矢量进行量化。矢量量化编码是将代表语音的矢量构成一个庞大的码本,发端做线性预测时,是在码本中找出预测误差信号最小所对应的样值组合的地址。第33页,课件共95页,创作于2023年2月

矢量量化编码的关键是建立一个好的码本。对码本的要求是:

(1)码本中的样值组合应与实际语音信号相近;

(2)码本应尽可能的小;

(3)搜索码本的时间短。第34页,课件共95页,创作于2023年2月5.3.2码激励线性预测编码(CELP)

图5-11为CELP的基本原理框图。与图5-8中MP—LPC原理方框图比较,除激励部分不同外,其它部分都是一样的。在激励部分以N个样值为一组,构成一个N维矢量,用一个码字代表。若干个码字组成一定尺寸的码本,收、发端设置同样的码本。第35页,课件共95页,创作于2023年2月图5-11CELP的基本原理方框图第36页,课件共95页,创作于2023年2月

图5-12(a)为码激励线性预测(CELP)编解码器的方框图。在编码器中,基本的分析过程是在码本中根据某些主观的差错判据去搜寻最佳码字(矢量)Ck。在解码器中根据收到的这些信息,合成出原始的语声来,参见图5-12(b)。从图中不难看出,解码器的结构实际上就是编码器的下半部分(即合成部分),其作用原理亦完全相同。第37页,课件共95页,创作于2023年2月图5-12CELP编解码器方框图第38页,课件共95页,创作于2023年2月5.3.3矢量和激励线性预测编码(VSELP)VSELP是矢量和激励线性预测编码(VectorSumExcitedLPC)的缩写,它是矢量量化的一种具体编码方法。美国IS-54标准选用的就是VSELP。它采用的码本为事先确定好的结构,从而避免了全搜索过程,大大减少了寻找最佳码字的时间。这种编码器用两个码本,分别用I及H命名。各由128个40维矢量构成。每一激励信号是由码本I、H及长时预测时延L三者之和所决定,故称矢量和激励。图5-13为VSELP编解码器的方框图。第39页,课件共95页,创作于2023年2月图5-13VSELP编解码器方框图第40页,课件共95页,创作于2023年2月图5-13VSELP编解码器方框图第41页,课件共95页,创作于2023年2月5.4线性分组码5.4.1线性分组码的特点线性分组码是信道编码中最基本的一类码。在线性分组码中,监督码元仅与所在码组中的信息码元有关,且两者之间是通过预定的线性关系联系起来的。第42页,课件共95页,创作于2023年2月

在(n,k)码中,对于k个信息元。有2k种不同的信息组,则有2k个码字分别与之一一对应,每个码字长n。这些码组的集合构成代数中的群,因此又称为群码或块码。它具有下面的性质:

(1)任意两个码字之和(模2和)仍为一个码字,即具有封闭性。

(2)码的最小距离等于非零码的最小重量。第43页,课件共95页,创作于2023年2月5.4.2线性分组码的生成如前面所述,(n,k)线性码中(n-k)个附加的监督码元是由信息码元的线性运算产生的,下面以(7,4)码为例来说明如何构造这种线性分组码。

(7,4)码中,每一个长度为4的信息分组经编码后变换成长度为7的码组,我们用C6C5C4C3C2C1C0表示这7个码元,其中C6C5C4C3为信息码元,C2C1C0为监督码元。监督码元可按下面方程组计算:C2=C6+C5+C4C1=C6+C5+C3C0=C6=C4+C3

(5-1)第44页,课件共95页,创作于2023年2月表5-1(7,4)分组码编码表第45页,课件共95页,创作于2023年2月式(5-1)的监督方程可以改写为

C6+C5+C4+C2=0C6+C5+C3+C1=0C6+C4+C3+C0=0(5-2)进一步,写成矩阵形式为(5-3)第46页,课件共95页,创作于2023年2月记作或(5-4)其中C=[C6

C5

C4

C3

C2

C1

C0]

0

=[000]第47页,课件共95页,创作于2023年2月

H称为监督阵,是一个3×7矩阵。注意到H的后三列组成一个3×3阶单位子阵I,H的其余部分用Q表示,则

H=[Q

I]

(5-5)第48页,课件共95页,创作于2023年2月

从线性分组码的性质可知,(n,k)线性码的2k个码字构成n维线性空间中的一个k维子空间,编码的实质就是要在n维线性空间中,找出一组长为n的k个线性无关的矢量g0g1…gk-1,使得每个码字C都可以表示为这k个矢量的线性组合,即

C=mk-1g0+mk-2g1+…+m0gk-1(5-6)

式中,mi∈{0,1},i=0,1,…,k-1。将式(5-6)写成矩阵形式得第49页,课件共95页,创作于2023年2月

式中,mi∈{0,1},i=0,1,…,k-1。将式(5-6)写成矩阵形式得

(5-7)第50页,课件共95页,创作于2023年2月

由此可见,当生成矩阵G确定以后,(n,k)线性码也就完全被确定了。因此,只要找到码的生成矩阵,编码问题也就同样被解决了。在前面的例子中,(7,4)线性码的生成矩阵为

(5-8)第51页,课件共95页,创作于2023年2月

表5-1中的码字均可由它来产生,即

C=[C6

C5

C4

C3]G(5-9)(n,k)线性码的G和H之间有着非常密切的关系。由于生成矩阵G的每一行都是一个码字,所以G的每行都满足式(5-4)的监督方程,即

HCT=0T

或CHT=0(5-10)第52页,课件共95页,创作于2023年2月由式(5-10)得所以或(5-11)由此可得(5-12)第53页,课件共95页,创作于2023年2月5.4.3检错和纠错线性分组码的监督矩阵H与生成矩阵G是紧密联系在一起的,它们之间存在着对偶关系。由生成矩阵G生成的(n,k)线性码,传送后可以用监督矩阵H来检验收到的码字是否满足监督方程,因此有的文献也将H称为码的校验阵。第54页,课件共95页,创作于2023年2月

发送码组C在传输过程中可能发生误码,设接收到的码组为

R=[rn-1

rn-2…r0]则收发码组之差为

E=R-C=[en-1

en-2…e0

](5-13)

其中i=1,2,…,n-1第55页,课件共95页,创作于2023年2月

式(5-13)也可写作

R=C+E(5-14)

在接收端计算

S=RHT=(C+E)HT=CHT+EHT

由于CHT=0,所以

S=EHT(5-15)第56页,课件共95页,创作于2023年2月5.4.4线性分组码的几个重要结论线性分组码的最小距离(或最小重量)直接关系到码的检错和纠错能力。一般情况下,线性分组码有以下一些重要结论:

(1)如果H是(n,k)线性码的监督矩阵,那么存在重量为l的码字的充要条件是,H对应的l列的和为0。例如,前面介绍的(7,4)线性码,它的H矩阵为第57页,课件共95页,创作于2023年2月(2)若线性码(n,k)的最小重量为d,则在H中找不到(d-1)或更少的列,使其相加为0。例如,在上例中,找不到任意两列相加为0,因而(7,4)线性码的最小重量为3。

(3)(n,k)线性码的检错和纠错能力主要由该码的最小码距dmin决定。

第58页,课件共95页,创作于2023年2月①在一个码组内检测e个误码,要求最小码距dmin≥e+1。②在一个码组内纠正t个误码,要求最小码距dmin≥2t+1。③在一个码组内纠正t个误码,同时检测e个误码(e≥t),要求最小码距dmin≥t+e+1。第59页,课件共95页,创作于2023年2月5.5循环码5.5.1循环码的特点循环码是线性分组码的一个重要子类,这类码可以用简单的反馈移位寄存器来实现,易于检错和纠错,是一种很有效的编译码方法。第60页,课件共95页,创作于2023年2月

循环码除了具有线性分组码所具有的特点之外,还具有自己独特的循环性,即循环码C中任意一个码字,经过循环移位后仍然是C中的码字。例如,设(cn-1cn-2…c0)是(n,k)循环码C的一个码字,我们用码多项式C(x)来表示循环码的码字

C(x)=cn-1xn-1+cn-2xn-2+…+c0

(5-16)

该码字循环一次的码多项式是原码多项式C(x)乘x除以xn+1的余式,写作

C1(x)=x·C(x)(模xn+1)

第61页,课件共95页,创作于2023年2月

推广下去,C(x)的i次循环移位Ci(x)是C(x)乘xi除以xn+1的余式,即

Ci(x)=xi·C(x)(模xn+1)

(5-17)

(5-18)第62页,课件共95页,创作于2023年2月

码的生成矩阵一经确定,码也就确定了。这就说明,(n,k)循环码可以由它的一个(n,k)次码多项式g(x)来确定。我们称g(x)为码的生成多项式。

(n,k)循环码的生成多项式g(x)具有下列性质:①g(x)是惟一的(n-k)次码多项式,并且它的次数是最低的。②g(x)是xn+1的因式,即xn+1=h(x)·g(x),这里h(x)称为监督多项式。第63页,课件共95页,创作于2023年2月5.5.2(n,k)循环码的编码循环码的生成主要由码的生成多项式决定,因此,编码的第一步是求出生成多项式g(x),即从xn+1中选一个n-k次因式作为生成多项式,一般可通过查表来完成。有了码的生成多项式g(x)以后,就可以用它来实现编码了。设信息码元(mk-1

mk-2

m0)的多项式为

m(x)=mk-1xk-1+mk-2xk-2+…+m0(5-19)

又设监督码元(rn-k-1

rn-k-2

…r0)的多项式为

r(x)=mn-k-1xn-k-1+rn-k-2xn-k-2+…+r0(5-20)第64页,课件共95页,创作于2023年2月图5–14(7,3)系统循环码的编码器第65页,课件共95页,创作于2023年2月表5-2(7,3)循环码编码器工作过程第66页,课件共95页,创作于2023年2月5.5.3BCH码

BCH码是一类特殊的循环码,它的纠错能力强,能纠正多个随机错误。BCH码的构造方便,编码简单,译码也较易实现,在移动通信的信道环境中已得到广泛的应用。对于任意给定的正整数m和t(t≤2m-1),二元BCH码具有下列参数:码长n=2m-1

监督位数n-k≤mt

最小距离dmin≥2t+1第67页,课件共95页,创作于2023年2月

考虑到ai与(ai)2有相同的极小多项式,因此,BCH码的生成多项式应具如下形式:

g(x)=LCM(m1(x),m3(x),…,m2t-1(x)](5-23)

例5.1构造一个m=3,t=1的BCH码。例5.2构造一个能纠正3个错误,码长为15的BCH码。第68页,课件共95页,创作于2023年2月

求BCH码的生成多项式是一件繁琐的工作,已有现成的表格可供查用。表5–3(略)列出了所有码长不超过255的本原BCH码,表5-4列出了码长不超过73的部分非本原BCH码。两个表中g(x)一栏下的数字是生成多项式系数的八进制表示。第69页,课件共95页,创作于2023年2月表5–4n≤73的部分非本原BCH码第70页,课件共95页,创作于2023年2月5.6交织编码和卷积码5.6.1交织编码的概念首先把信息编成纠错能力为t(或纠突发错误的能力为b)的(n,k)分组码,再将它们排列成如下所示的阵列c11c12

…c1nc21c22

…c2n…

…cm1cm2

…cmn

第71页,课件共95页,创作于2023年2月5.6.2交织码的生成如果采用的行码是循环码,则可以不用阵列存储器就能实现交织编码。假设(n,k)循环码的生成多项式为g(x),可以证明,交织度为m的交织码(mn,mk)的生成多项式为

gm(x)=g(xm)(5-24)第72页,课件共95页,创作于2023年2月

它的物理意义是在g(x)的各项之间插入m-1个0,显然,g(xm)能够除尽(xm)n+1=xmn+1,因而(mn,mk)码也是循环码,在构造它的编、译码电路时,只要用m级移存器代替原行码编、译码器的每一级即可。第73页,课件共95页,创作于2023年2月

图5-15循环码和交织码的编码器(a)(7,4)循环码编码器;(b)(21,12)交织码编码器第74页,课件共95页,创作于2023年2月5.6.3卷积码

1.卷积码的基本概念下面以一个实例说明卷积码的有关概念。图5-16是一个(2,1,2)卷积码编码器。

卷积码可以有多种不同的表示方法,一般有矩阵法、码树法、状态图法和网格图法等,可根据译码方法的不同而采用不同的表示法。在维特比译码中,用状态图和网格图来描述译码过程较为方便。第75页,课件共95页,创作于2023年2月

图5-16(2,1,2)卷积编码器第76页,课件共95页,创作于2023年2月图5-17(2,1,2)卷积编码的状态第77页,课件共95页,创作于2023年2月图5-18卷积编码的网格图表示第78页,课件共95页,创作于2023年2月2.卷积码的自由距离由于卷积码的线性性质,所有码序列之间的最小汉明距应该等于非0码序列的最小汉明重量,即非零码序列中“1”码的个数。最小自由距离dfree可以借助于网格图,从全零状态出发又回到全零状态的所有非零路径中求得,其中有一条重量最轻的,该最小重量就是自由距离dfree。例如,对图5-18所示的(2,1,2)码而言,可以求得自由距离dfree=5。第79页,课件共95页,创作于2023年2月表5-5Rc=1/2的最大自由距卷积码第80页,课件共95页,创作于2023年2月表5-6Rc=1/3的最大自由距卷积码第81页,课件共95页,创作于2023年2月3.维特比译码如前所述,输入的信息序列经过卷积编码器后,输出的编码序列C可用网格图中某一特定的路径来表示。假设码序列C经过信道传输后,到达译码器时变成序列R,译码器则按最大似然法则力图寻找编码器在网格图上原来走过的路径,使相应的译码序列与接收到的序列之间的汉明距离最小。第82页,课件共95页,创作于2023年2月

维特比译码算法的步骤如下:①在第j(j=ν)个时刻以前,译码器计算所有的长为ν个分支的部分路径值,对进入2νk个状态的每一条路径都保留。②从第ν个时刻开始,对进入每一状态的部分路径进行计算,这样的路径有2k条,挑选具有最大度量值的路径为幸存路径,删去进入该状态的其它路径。第83页,课件共95页,创作于2023年2月③重复步骤②的“加、比、选”操作,若输入接收序列长为(L+ν)k,其中后ν段是人为加入的全0段,则译码一直进行到第(L+ν)个时刻为止。第84页,课件共95页,创作于2023年2月

维特比译码的性能具有如下特点:①在编码效率R和信噪比Eb/N0一定的条件下,误比特率随着自由距离dfree(或编码存储ν)的增加而指数下降。②在R和Eb/N0一定的条件下,软判决译码时,误比特率随着量化电平Q值的增加而下降。③在一定的误比特率下,对某一个码而言,软判决比硬判决可以获得2~3倍的量化增益。第85页,课件共95页,创作于2023年2月5.7格形码

格形码是近十年来编码领域取得的重大进展之一,它的出现,改变了数字通信中传统的调制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论