基于DCT的图像压缩技术研究与仿真实现_第1页
基于DCT的图像压缩技术研究与仿真实现_第2页
基于DCT的图像压缩技术研究与仿真实现_第3页
基于DCT的图像压缩技术研究与仿真实现_第4页
基于DCT的图像压缩技术研究与仿真实现_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、 2010届毕业生 毕业论文 题 目:基于 DCT 的图像压缩技术研究与仿真实现院系名称:国际学院专业班级:电子信息工程技术 07级 03班学生姓名:梁 岑 学 号 :20073930304指导教师:朱春华 教师职称:讲 师2010 年 5月 10 日摘 要离散余弦变换(Discrete Cosine Transform,简称 DCT 常被认为是对语 音和图像信号进行变换的最佳方法。为了工程上实现的需要,国内外许多学者 花费了很大精力去寻找或改进 DCT 的快速算法。由于近年来 DSP 的发展,加上 专用集成电路设计上的优势,这就牢固地确立 DCT 在目前图像编码中的重要地 位,成为 H.26

2、1、 JPEG 、 MPEG 等国际上公用的编码标准的重要环节。 MATLAB 是 由美国 Math-Works 公司推出的用于数值计算和图形处理的科学计算软件 , 它集 数值分析、矩阵计算、信号处理和图形显示多种功能于一体 , 构成了一个方便的 界面友好的用户环境。 MATLAB 中的图像处理工具箱是许多基于 MATLAB 技术计 算环境的函数包的集合 , 图形功能完备。本文主要讨论了 DCT 变换方法,并讨论了应用 MATLAB 中的图像处理工具箱 中的相关函数和命令来实现离散余弦变换的图像压缩算法的仿真。关键词:离散余弦变换(简称 DCT ; MATLAB ; DCT 变换方法;图像处理

3、; 图像压缩;仿真SummaryDCT (Discrete Cosine Transform, referred to as DCT is often considered the voice and image signals, the best way to transform. The need to work to achieve many national and international scholars to spend a great effort to find or improve the DCT fast algorithm. In recent years the d

4、evelopment of DSP , coupled with the advantages of ASIC design, which firmly established in the current DCT encoded images in an important position, as H.261, JPEG, MPEG and other international standards on the public an important part of the encoding . MATLAB is a U.S. Math-Works Inc. introduced fo

5、r numerical computing and graphics processing in scientific computing software, which combines numerical analysis, matrix computation, signal processing and graphical display multiple functions into one, forming a convenient user friendly interface environment. MATLAB Image Processing Toolbox is the

6、 MATLAB technical computing environment, many based on a function of the set of packages, graphics, fully functional.This paper discusses the DCT transform, and discusses the application of MATLAB Image Processing Toolbox in order to achieve the correlation function and discrete cosine transform ima

7、ge compression algorithm is proved.Keywords : discrete cosine transform (the DCT; MATLAB; DCT transform; image processing;Image compression; simulation目录1 绪论 . 12.5图像压缩的基本模型 . 93 离散余弦变换的 MATLAB 仿真 . 10 3.1离散余弦变换 (DCT. . 10 3.2M ATLAB 的功能 . 11 3.3离散余弦变换的 M ATLAB 仿真 . . 12结 论 . . 14致 谢 . . 15参考文献 . .

8、16附 录 . 171 绪论进入 21世纪,人类已步入信息社会,新信息技术革命使人类被日益增多的 多媒体信息所包围,这也正好迎合了人类对要示提高视觉信息的需求。多媒体 信息主要有三种形式:文本、声音和图像。从信息传输的发展史(电报、电 话、传真、收音机、电视机直至现在的网络可以看出,人们逐渐将信息传输 的重点从声音转向图像,然而图像是三种信息形式中数据量最大的,这给图像 的传输和存储带来了极大的困难。例如,一幅 640×480分辨率的 24位真彩色 图像的数据量约为 900kb ;一个 100Mb 的硬盘只能存储约 l00幅静止图像画 面。对于如此巨大的数字图像数据量,如果不经过压缩

9、,不仅超出了计算机的 存储和处理能力,而且在现有的通信信道的传输速率下,是无法完成大量多媒 体信息实时传输的,数字图像高速传输和存贮所需要的巨大容量已成为推广数 字图像通信和最大障碍。因此,为了存储、处理和传输这些数据,必须进行压 缩。图像压缩之所以能够进行压缩是因为原始图像数据是高度相关的,存在很 大的数据冗余。数字图像包含的冗余信息一般有以下几种:空间冗余、时间冗 余、信息熵冗余、统计冗余、结构冗余、视觉冗余以及知识冗余等。图像压缩 算法就是要在保证图像一定的重建质量的同时,尽可能多的去除这些冗余信 息,以达到对图像压缩的目的。离散余弦变换(DCT 离散余弦变换(DCT 是 N.Ahmed

10、 等人在 1974年提出 的正交变换方法。它常被认为是对语音和图像信号进行变换的最佳方法。由于 近年来数字信号处理芯片(DSP 的发展,加上专用集成电路设计上的优势,这 就牢固地确立离散余弦变换(DCT 在目前图像编码中的重要地位,成为 H.261、 JPEG 、 MPEG 等国际上公用的编码标准的重要环节。在视频压缩中,最 常用的变换方法是 DCT,DCT 被认为是性能接近 K-L 变换的准最佳变换,变换编 码的主要特点有:(1在变换域里视频图像要比空间域里简单。(2视频图像的相关性明显下降,信号的能量主要集中在少数几个变换系 数上,采用量化和熵编码可有效地压缩其数据。(3具有较强的抗干扰能

11、力,传输过程中的误码对图像质量的影响远小于 预测编码。通常 , 对高质量的图像, DMCP 要求信道误码率,而变换编码仅要求 信道误码率。MATLAB 是由美国 Math-Works 公司推出的用于数值计算和图形处理的科学 计算软件 , 它集数值分析、矩阵计算、信号处理和图形显示多种功能于一体 , 构 成了一个方便的界面友好的用户环境。 MATLAB 中的图像处理工具箱是许多基于 MATLAB 技术计算环境的函数包的集合 , 图形功能完备 , 本文主要讨论了图像压缩 的原理并讨论了应用 MATLAB6.5中发布的图像处理工具箱中的相关函数和命令 来实现离散余弦变换的图像压缩算法的仿真。2 图像

12、压缩基本原理及模型2.1 图像压缩基本原理任何压缩机制的基本思想都是除去数据中存在的相关性。所谓相关性 , 就是 能够根据给出的一部分数据来判断出相邻的数据。图像压缩的根本思想就是去 除图像数据中存在的相关性 , 即去除图像数据中能根据其他数据推算得到的数 据。目前 , 图像压缩的方法较多 , 其分类方法视出发点不同也有差异。常见的分 类法有 :(1冗余度压缩法 。该方法的核心是基于统计模型 , 减少或完全去除源数据中的冗余 , 同时保持 信息不变。如把图像数据中出现概率大的灰度级以短码表示 , 概率小的灰度级用 相对长码表示 , 处理的平均码长必然短于未编码压缩前的平均码长。在解码过程 中

13、, 可以根据相应的规则或算法 , 将冗余量插入到图像数据中 , 严格恢复原图像 , 实现编码与解码的互逆。因此 , 冗余编码压缩又称之为无损压缩或无失真压缩 , 通常用于文本文件的压缩。著名的哈夫曼 (Huffman编码、香农 (Shannon编码 就属于这一类。(2熵压缩法。这是一种以牺牲部分信息量为代价而换取缩短平均码长的编码压缩方法。 由于其在压缩过程中允许丢失部分信息 , 所以图像还原后与压缩前不会完全一致 , 故人们将这种压缩称为有损压缩。该压缩机制的优点是可以得到比无损压缩高 得多的压缩比 , 但它只能用于可以用近似数据代替原始数据 , 而这种相近数据又 是容易被压缩的情况。统一的

14、国际标准是不同国家地区和厂商的产品能够相互兼容和协调的基础。有关图像压缩编码已有的国际标准 (或建议 , 如 H.261建议、 JPEG 标准、 MPEG-1、 MPEG-2标准和 H.263标准等 , 涉及到二值图像压缩传真、静态图像传 输、可视电话、会议电视、 VCD 、 DVD 、常规数字电视、高清晰度电视、多媒体 可视通信、多媒体视频点播与传输等应用领域。2.2图像压缩系统流程图基于 DCT 算法的图像压缩是有损的。简单地说 , 它就是把大量的数据简化为 较小的、真正有意义的数据 , 删除只带有极少视觉效果的信息 , 并且根据数据出 现的概率大小选择不同码长的码字来表示。由于人眼对亮度

15、信息比较敏感 , 而对 颜色的反应相对较弱 , 所以可以通过色度空间转化 , 把三基色 (RGB表示的图像转 换为由色度亮度 (YCbCr表示的图像 , 然后对视觉效果影响不大的色度信息进行 二次采样 , 使输入编码器的信息量先减少一半 , 然后对各分量分成 8×8象素块 , 这 些块以特定顺序输入编码器 , 系统流程图如图 2.1所示。图 2.1 基于 DCT 的编码器系统流程图图像编码器的具体工作步骤为 :首先通过前向余弦变换 , 使每块的真正有用 信息集中到块的左上角 , 然后进行量化 , 使数值的精确度减小并使数值较小的数 据变为零 ,Z 形扫描可以增加零游程的长度 , 使哈

16、夫曼编码更有效 , 最后通过哈夫 曼编码得到编码数据流。2.3分析图像压缩的主要模块目前 , 很多原始图像象素都以 RGB 三基色表示 , 通过色度空间转换 , 将 RGB 三基 色图像转换为 CCIR601推荐的彩色空间。这彩色空间由 3个分量 Y(亮度 、 Cb(蓝 色度 、 Cr(红色度 组成 , 分别可由 RGB 三基色以下列关系得到 :Y=0.299R+0.587G+0.114BCb =-0.168 7R-0.331 3G+0.5B+128 Cr =0.5R-0.418 7G-0.081 3B+128同样 , 在解码端可以通过下列关系恢复 RGB 值 : R=Y+1.402(Cr-1

17、28离散余弦变换 (DCT是一种与离散傅立叶变换紧密相关的正交变换 ,8×8的 二维离散余弦变换可以将图像的空间表达式转换到频率域 , 只用少量的数据点来 表达图像 , 用 f(x,y表示 8×8的图像块象素值 ,F(u,v表示二维离散余弦变换后 的值 , 具体表达式如下 :(2.1其反变换如下式 :(2.2其中 ,(+=70701612cos 1612cos , 41, x y v u v y u x y x f C C v u F (+=70701612cos 1612cos , 41, x y v u v u v y u x y x F C C C C y x F(2

18、.3二维离散余弦变换核具有可分离性 , 即可以先对每行进行一维离散余弦变换 , 再对每列进行一维离散余弦变换 , 因此 , 二维离散余弦变换可表示为 :(2.4(2.5 如果 直 接数据压缩中的量化处理 , 不是对 A/D转换量化 , 而是对正交变换后的数据进行 量化处理 , 量化输入值的动态范围很大 , 而量化的输出只能取有限个整数 , 量化后 的数值用较少的比特数便可表示。量化处理总是把一批输入量化到一个输出级 上 , 这样降低了数值的精度 , 但减少了数据量。量化后的数据本来已经可以直接进行游程编码 , 但为了提高游程编码的效率 , 我们必须尽量增加零游程的长度。基于量化后系数的排列特征

19、 , 采用“ Z ”字型 扫描能有效增加零游程的长度。“ Z ”字型扫描轨迹如图 2.2所示 :(=其他情况 当 10u 22v C C v u (+=701612cos , 21, x u u x v x G C v u F (+=701612cos , 21, y u u x v x G C v uG 图 2.2 “ Z ”字形扫描轨迹哈夫曼编码是 1952年由 Huffman 提出的编码方法 , 基本思想是根据源数据符 合出现的概率大小进行编码 , 出现概率大的符号分配越短的码字 , 出现概率越小 的符号分配越长的码字 , 从而达到用尽量少的比特数表示数据源 , 标准哈夫曼编 码步骤如下

20、 :(1统计数据源符号出现的概率 , 得到不同概率的信息符号 ;(2将数据源符号按概率递减顺序排列 ;(3把两个最小概率相加作为新符号的概率 , 并按 (2重排 ;(4重复 (1、 (2,直到概率为 1;(5在每次合并信源时 , 将合并的信源分别赋“ 0”和“ 1” ;(6寻找从每一信源符号到概率为 1处的路径 , 记录路径上的“ 0”和“ 1” ;(7从树根开始写出每一符号的“ 0”、“ 1”。用标准哈夫曼编码对图像进 行编码时效率很高 , 但需要对原始图像扫描两遍 , 第一遍要精确统计出每个像素 值出现的概率 , 第二遍是建立哈夫曼树并编码 , 数据压缩和解压速度较慢 , 因此 , 出现了

21、一种改良的哈夫曼编码 , 它的变长码字不是实时产生而是一个固定的表 , 在编码和解码过程中不用计算符号概率和排序 , 直接查表得到 , 但这个表必须经 过大量的统计工作并精心设计才能达到较高的编码效率。在静态图像压缩国际 标准 (JPEG标准 中 , 专家组已经对大量自然图像进行了统计 , 得到了适合于静态 自然图像编码的哈夫曼表 , 在实际编码过程中 , 我们可直接应用此表进行编码和 解码。2.4图像数据压缩的目图像数据压缩的目的是在满足一定图像质量的条件下,用尽可能少的比特数来表示原始图像,以提高图像传输的效率和减少图像存储的容量,在信息论 中称为信源编码。图像压缩是通过删除图像数据中冗余

22、的或者不必要的部分来 减小图像数据量的技术,压缩过程就是编码过程,解压缩过程就是解码过程。 压缩技术分为无损压缩和有损压缩两大类,前者在解码时可以精确地恢复原图 像 , 没 有 任 何 损 失;后者在解码时只 能近似原图像,不能无失真地恢复原图像。假设有一个无记忆的信源 , 它产生的消息为 ai,1 i N, 其出现的概率是 已知的 , 记为 P(ai。则其信息量定义为 :(2.6由此可见一个消息出现的可能性越小,其信息量就越多,其出现对信息的 贡献量越大,反之亦然。信源的平均信息量称为“熵”,可以表示为:(2.7对上式取以 2为底的对数时,单位为比特(bits (2.8根据香农(Shanno

23、n 无噪声编码定理,对于熵为 H 的信号源,对其进行无 失真编码所可能达到的最低比特数为,这里为一任意小的正数,因此可能达到 的最大压缩比为:(2.9其中 B 是原始图像的平均比特率。在图像压缩中,压缩比是一个重要的衡量指标。可以定义压缩比为:(i Ni i i N i i a P a P a P I a P H log 11=-=(i i a P a I 2log -=(i Ni i a P a P H 21log =-=HB H B C +=max(2.102.5 图像压缩的基本模型图像编码包括两个阶段,前一个阶段就是利用预测模型或正交模型对图像 信号进行变换;后一个阶段是利用已变换信号的

24、统计特性,对其分配适当的代 码来进行编码传输。编码器与解码器的结构分别如图 2.3、 2.4。图 2.3 编码器结构 图 2.4 解码器结构在发送端,输入的原始图像首先经过 DCT 变换后,其低频分量都集中在左上 角,高频分量分布在右下角(DCT 变换实际上是空间域的低通滤波器。由于该 低频分量包含了图像的主要信息,而高频分量与之相比就不那么重要了,所以 可以忽略高频分量,从而达到压缩的目的。将高频分量去掉就要用到量化,这 是产生信息损失的根源。“量化”的主要任务是用有限个离散电平来近似表达(H B 压缩数据的平均比特率原始数据的平均比特率 =C 已抽取出的信息。在此采用均匀量化,通过改变程序

25、中的量化因子 Q 的值以得到 不同压缩比的图像。 Huffman 编码时,首先对经 DCT 变换及量化后的图像收据扫 描一遍,计算出各种像素出现的概率;然后按概率的大小指定不同长度的唯一 码字,由此得到一张 Huffman 表。编码后的图像记录的是每个像素的码字,而码 字与量化后像素值的对应关系记录在码表中。生成的一维字符矩阵即为实际中 要传输的序列,压缩后的图像数据在信道中进行传输。在接收端,接收到的压缩图像数据首先经过 Huffman 译码,通过搜索已生成 的 Huffman 表,根据码字与量化后像素值的对应关系,搜索出与码字对应的像素 值,并转换为二维矩阵。反量化时将以上二维矩阵中的每一

26、个像素值乘以量化 因子 Q 。最后通过 DCT 反变换得到重建图像。3 离散余弦变换的 Matlab 仿真3.1 离散余弦变换 (DCT离散余弦变换(Discrete Cosine Transform,简称 DCT 变换是一种与傅 立叶变换紧密相关的数学运算。在傅立叶级数展开式中,如果被展开的函数是 实偶函数,那么其傅立叶级数中只包含余弦项,再将其离散化可导出余弦变 换,因此称之为离散余弦变换。离散余弦变换(DCT 是 N.Ahmed 等人在 1974年提出的正交变换方法。它常 被认为是对语音和图像信号进行变换的最佳方法。为了工程上实现的需要,国 内外许多学者花费了很大精力去寻找或改进离散余弦

27、变换的快速算法。由于近 年来数字信号处理芯片(DSP 的发展,加上专用集成电路设计上的优势,这就 牢固地确立离散余弦变换(DCT 在目前图像编码中的重要地位,成为 H.261、 JPEG 、 MPEG 等国际上公用的编码标准的重要环节。在视频压缩中,最常用的变 换方法是 DCT,DCT 被认为是性能接近 K-L 变换的准最佳变换,变换编码的主要特 点有:(1在变换域里视频图像要比空间域里简单。(2视频图像的相关性明显下降,信号的能量主要集中在少数几个变换系 数上,采用量化和熵编码可有效地压缩其数据。(3具有较强的抗干扰能力,传输过程中的误码对图像质量的影响远小于 预测编码。通常 , 对高质量的

28、图像, DMCP 要求信道误码率 ,而变换编码仅要求 信道误码率 。DCT 等变换有快速算法,能实现实时视频压缩。针对目前采用的帧内编码加 运动补偿的视频压缩方法的不足 , 我们在 Westwater 等人提出三维视频编码的 基础上 , 将三维变换的结构应用于视频图像压缩 , 进一步实现了新的视频图像 序列的编码方法。3.2 Matlab的功能Matlab 是近几年来在国内外广泛流行的一种科学计算可视化软件 , 其特点是语法 结构简单 , 数值计算高效 , 图形功能完备。 Matlab 之所以成为世界顶尖的科学计 算与数学应用软件 , 是因为它随着版本的升级与不断完善而具有愈来愈强大的功 能。

29、(1数值计算功能 Matlab出色的数值计算功能是使之优于其他数学应用软件的 决定性因素。(2符号计算功能 在数学科学、应用科学和工程计算领域 , 常常会遇到符号计算 问题。 1993年 , MathWorks公司以 Maple 的“内核”作为符号计算功能的“引 擎” , 依靠 Maple 已有的库函数 , 开发出了在 Matlab 环境下实现符号计算功能的系 统组件。(3数据分析功能 在科学计算和工程应用中 , 大量的原始数据和数值计算结果需 要进行分析 , Matlab将这些数据以图形的方式显示出来 , 不仅使数据间的关系清 晰明了 , 而且对于揭示其内在本质往往有着非常重要的作用。(4动

30、态仿真功能 Matlab提供了一个模拟动态系统的交互式程序 SIMULINK, 允 许用户在屏幕上绘制框图来模拟一个系统 , 并能动态地控制该系统。 SIMULINK 采 用鼠标驱动方式 , 能处理线性、非线性、连续、离散等多种系统。(5程序接口功能 Matlab提供了方便的应用程序接口 (API,用户可以在 Matlab 环境下直接调用已经编译过的 C 和 Fortran 子程序 , 可以在 Matlab 和其他应用程序 之间建立客户机 /服务器关系。同样 , 在 C 和 Fortran 程序中 , 也可以调用 Matlab 的 函数或命令 , 使得这些语言可以充分利用 Matlab 强大矩

31、阵运算功能和方便的绘图 功能。(6文字处理功能 Matlab Notebook能成功地将 Matlab 与文字处理系统Microsoft Word集成一个整体 , 为用户进行科学计算、工程设计和文字处理等营 造了一个完美统一的工作环境。3.3 离散余弦变换的 Matlab 仿真利用离散余弦变换 (DCT进行图像压缩 , 首先要将输入的图像分解成 8*8的块 , 然 后对每个块进行二维离散变换 , 最后将变换得到的 DCT 系数进行编码和传送 , 解码 时对每个块进行二维 DCT 反变换。最后再将反变换后的块组合一幅图像 , 对于通 常的图像来说 , 大多数的 DCT 系数的值非常接近于 0,

32、如果舍弃这些接近于 0的值 , 在重构图像时并不会带来图像画面质量的显著下降。所以 , 利用 DCT 进行图像压 缩可以节约大量的存储空间。压缩应该在最合理的近似元图像的情况下使用最 少的系数。按照以上的方法 , 将一幅图像分成 8*8的块进行压缩。其实现方法如 下 :I=imread('lena.bmp'%读取图像I=double(I/255;T=dctmtx(8;B=blkproc(I,8 8,'P1*x*P2',T,T'mask=1 1 1 1 0 0 0 01 1 1 0 0 0 0 01 1 0 0 0 0 0 01 0 0 0 0 0 0 0

33、0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0;B2=blkproc(B,8 8,'P1.*x',mask;I2=blkproc(B2,8 8,'P1*x*P2',T',T;figure;subplot(2,1,1,imshow(I;subplot(2,1,2,imshow(I2; 以 lena 图像为例实验 , 结果如图 3.1所示。图 3.1 压缩前后的图像 (左边为原图像 , 右边为压缩图像 结 论DCT 具有算法简单 , 易于硬件实现等优点 , 从而广泛应用于图像压缩领域,

34、 尤其在较高比特率的传输条件下能取得令人满意的压缩效果。然而,它在低比 特率条件下的“方块效应”成了不容忽视的“瓶颈”缺陷。原因就在于 DCT 处 理的图像是分块进行的 , 块与块边界两边的像素相关性不能去掉 , 从而形成了明 显的方块边界。若将 DCT 变换与其它编码方法(如小波变换、分形等相结 合,会得到更好的效果数据压缩技术的优劣主要是由压缩所能达到的压缩倍数、从压缩后的数据 所能恢复的图像的质量和算法的复杂度、解码的速度等方面来衡量的。基于 DCT 的混合编码技术对于彩色图像的压缩倍数可以达到几十倍甚至上百倍,而 且重建的图像又具有较高的质量,因此得到广泛的应用。用 Matlab 来实

35、现离散 余弦变换的图像压缩,具有方法简单、速度快、误差小的优点,免去了大量的 矩阵计算,大大提高了图像压缩的效率和精度经过近三个月的摸索和学习,在老师的指导和同学的帮助下我完成了此研 究。在研究的实现中我主要做了如下工作:(1掌握图像压缩的原理;(2掌握离散余弦变换;(3学习 MATLAB 的基本操作;(4运用 MATLAB 进行图像压缩仿真。致 谢在本课题的选定、设计、开发过程中和论文撰写期间,朱春华老师一直给 予我耐心的指导、充分的鼓励和真挚的关怀。还有其他老师对我悉心的指导。 正是有了他们无私的付出和热情悉心的指导,才使我收获不匪,在此我表示衷 心的感谢!我还要感谢我们院各教研室的各位老师,正是他们四年来对我的孜 孜教诲,使我有能力完成这样的论文,给我大学三年生活画上一个圆满

温馨提示

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

评论

0/150

提交评论