CH11_编码技术_第1页
CH11_编码技术_第2页
CH11_编码技术_第3页
CH11_编码技术_第4页
CH11_编码技术_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

1、第十一章 图像的编码技术11.1 研究背景一、信息传输方式发生了很大的改变一、信息传输方式发生了很大的改变通信方式的改变通信方式的改变文字文字+ +语音语音图像图像+ +文字文字+ +语音语音通信对象的改变通信对象的改变人与人人与人人与机器,机器与机器人与机器,机器与机器11.1 研究背景图像的传输与存储中,其数据量的庞大图像的传输与存储中,其数据量的庞大, ,成为一个必须解决的问题成为一个必须解决的问题. .而其中问题最而其中问题最多的,也是最常用的包括了数字视频信号多的,也是最常用的包括了数字视频信号和传真信号。和传真信号。下面我们对其分别进行讨论。下面我们对其分别进行讨论。11.1.1

2、彩色视频数据量分析对于电视画面的分辨率对于电视画面的分辨率640640* *480480的彩色图的彩色图像,每秒像,每秒3030帧,则一秒钟的数据量为:帧,则一秒钟的数据量为: 640640* *480480* *2424* *30=221.12M 30=221.12M 所以播放时,所以播放时,需要需要221Mbps221Mbps的通信回路的通信回路。 11.1.1 彩色视频数据量分析实时传输:实时传输: 在在10M10M带宽网上实时传输的话,带宽网上实时传输的话,需要压缩需要压缩到原来数据量的到原来数据量的0.0450.045。 即即0.36bit/pixel0.36bit/pixel。存储

3、:存储: 1 1张张CDCD可存可存640M640M 如果不进行压缩,如果不进行压缩,1 1张张CDCD则仅可以存放则仅可以存放2.892.89秒的数据。秒的数据。 存存2 2小时的信息则需要压缩到原来数据量小时的信息则需要压缩到原来数据量的的0.0004,0.0004,即:即:0.003bit/pixel0.003bit/pixel。11.1.2 传真数据量分析 如果只传送如果只传送2 2值图像,以值图像,以200dpi200dpi的分的分辨率传输,一张辨率传输,一张A4A4稿纸的数据量为:稿纸的数据量为: 16541654* *23372337* *1=3888768bit 1=38887

4、68bit 按目前按目前14.4K14.4K的电话线传输速率,的电话线传输速率,需要传送的时间是:需要传送的时间是:270270秒(秒(4.54.5分)分)由于通信方式和通信对象的改变带来的最大问由于通信方式和通信对象的改变带来的最大问题是:题是: 给我们带来的一个难题,也给了我们一个机会:给我们带来的一个难题,也给了我们一个机会: 图像通信系统模型图像信息源图像信息源图像预处理图像预处理图像信源图像信源编码编码信道编码信道编码调制调制信道传输信道传输解调解调信道解码信道解码图像信源图像信源解码解码显示图像显示图像11.2 11.2 数据冗余的概念数据冗余的概念我们从一个互动游戏来体会数据冗余

5、我们从一个互动游戏来体会数据冗余的概念。的概念。在下面的例子中,用一种最好的方式在下面的例子中,用一种最好的方式来发送一封电报。来发送一封电报。11.2.1 11.2.1 数据冗余的概念数据冗余的概念你的妻子你的妻子,HelenHelen,将于明天晚上将于明天晚上6 6点零点零5 5分在分在上海上海的虹桥机场接你。的虹桥机场接你。 (23(23* *2+10=562+10=56个半角字符个半角字符) )你的妻子将于明天晚上你的妻子将于明天晚上6 6点零点零5 5分在虹桥机场接你分在虹桥机场接你 (20(20* *2+2=422+2=42个半角字符)个半角字符) HelenHelen将于明晚将于

6、明晚6 6点在虹桥接你点在虹桥接你 (10(10* *2+6=262+6=26个半角字符)个半角字符)结论:只要接收端不会产生误解,就结论:只要接收端不会产生误解,就可以减少承载信息的数据量。可以减少承载信息的数据量。11.2.1 11.2.1 数据冗余的概念数据冗余的概念n描述语言描述语言1 1) “ “这是一幅这是一幅2 2* *2 2的图像,的图像,图像的第一个像素是红的,图像的第一个像素是红的,第二个像素是红的,第三第二个像素是红的,第三个像素是红的,第个像素是红的,第 四个像素是红的四个像素是红的”。 2 2)“这是一幅这是一幅2 2* *2 2的图的图 像,像,整幅图都是红色的整幅

7、图都是红色的”。由此我们知道,整理图像的描述方法可由此我们知道,整理图像的描述方法可以达到压缩的目的。以达到压缩的目的。11.2.2 11.2.2 图像中的数据冗余图像中的数据冗余图像冗余无损压缩的原理图像冗余无损压缩的原理RGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGB16RGB从原来的从原来的1616* *3 3* *8=284bits8=284bits压缩为:压缩为:(1+3)(1+3)* *8=32bits8=32bits11.2.2 11.2.2 图像中的数据冗余图像中的数据冗余图像冗余有损压缩的原理图像冗余有损压缩的原理363534

8、3434343432 3434333730 3434343434 3434343534 343134 34 34 34 3434 34 34 34 3434 34 34 34 3434 34 34 34 3434 34 34 34 34253411.2.2 11.2.2 图像中的数据冗余图像中的数据冗余实际图像中冗余信息的表现(灰度图)实际图像中冗余信息的表现(灰度图)11.3 11.3 图像中的视觉冗余图像中的视觉冗余图像的视觉冗余图像的视觉冗余 (彩色)(彩色) R G B2488822*2*2=242 =16,777,216(248,27,4)(251,32,15)(248,27,4)(

9、248,27,4)11.4 11.4 图像中数据冗余压缩原理图像中数据冗余压缩原理由于一幅图像存在数据冗余和主观视觉由于一幅图像存在数据冗余和主观视觉冗余,我们的压缩方式就可以从这两方冗余,我们的压缩方式就可以从这两方面着手开展。面着手开展。因为有数据冗余,当我们将图像信息的描述方因为有数据冗余,当我们将图像信息的描述方式改变之后,可以压缩掉这些冗余。式改变之后,可以压缩掉这些冗余。因为有主观视觉冗余,当我们忽略一些视觉不因为有主观视觉冗余,当我们忽略一些视觉不太明显的微小差异,可以进行所谓的太明显的微小差异,可以进行所谓的“有损有损”压缩。压缩。11.5 11.5 图像的压缩编码图像的压缩编

10、码第一代压缩编码第一代压缩编码八十年代以前,主要是根据传统的信源编八十年代以前,主要是根据传统的信源编码方法。码方法。第二代压缩编码第二代压缩编码 八十年代以后,突破信源编码理论,结合八十年代以后,突破信源编码理论,结合分形、模型基、神经网络、小波变换等数分形、模型基、神经网络、小波变换等数学工具,充分利用视觉系统生理心理特性学工具,充分利用视觉系统生理心理特性和图像信源的各种特性。和图像信源的各种特性。11.5 11.5 图像的压缩编码图像的压缩编码像素编码像素编码变换编码变换编码预测编码预测编码位平面编码位平面编码增量调制增量调制熵编码熵编码算术编码算术编码DCTDCT变换变换DPCMDP

11、CM调制调制第一代压缩编码第一代压缩编码其他编码其他编码行程编码行程编码11.5 11.5 图像的压缩编码图像的压缩编码子带编码子带编码模型编码模型编码分层编码分层编码分型编码分型编码第二代压缩编码第二代压缩编码11.6 11.6 行程编码行程编码(RLE(RLE编码编码) )行程编码是一种最简单的,在某些场合行程编码是一种最简单的,在某些场合是非常有效的一种无损压缩编码方法。是非常有效的一种无损压缩编码方法。虽然这种编码方式的应用范围非常有限,虽然这种编码方式的应用范围非常有限,但是因为这种方法中所体现出的编码设但是因为这种方法中所体现出的编码设计思想非常明确,所以在图像编码方法计思想非常明

12、确,所以在图像编码方法中都会将其作为一种典型的方法来介绍。中都会将其作为一种典型的方法来介绍。 11.6.1 11.6.1 行程编码的基本原理行程编码的基本原理通过改变图像的描述方式,来实现图通过改变图像的描述方式,来实现图像的压缩。像的压缩。将一行中灰度值相同的相邻像素,用将一行中灰度值相同的相邻像素,用一个计数值和该灰度值来代替。一个计数值和该灰度值来代替。11.6.2 11.6.2 行程编码方法行程编码方法 举例说明:举例说明:a=100,b=1,c=23,d=254a=100,b=1,c=23,d=254 aaaa bbb cc d eeeee fffffff ( (共共2222* *

13、8=176 bits)8=176 bits) 4a3b2c1d5e7f ( (共共1212* *8=96 bits)8=96 bits) 压缩率为:压缩率为:96/176=54.5%96/176=54.5%11.6.3 11.6.3 传真中的行程编码方法传真中的行程编码方法传真件中一般都是白色比较多,而黑色相传真件中一般都是白色比较多,而黑色相对比较少。所以可能常常会出现如下的情对比较少。所以可能常常会出现如下的情况:况: 500W 3b 470w 12b 4w 3b 3000w 上面的行程编码所需用的字节数为:上面的行程编码所需用的字节数为: 因为:因为:204830004096204830

14、004096 所以:计数值必须用所以:计数值必须用12 bit12 bit来表示来表示 11.6.3 11.6.3 传真中的行程编码方法传真中的行程编码方法对于:对于: 600W 3b 570w 12b 4w 3b 3000w 编码为:600,3, 570, 12, 4, 3, 3000 编码位数为:12,12, 12, 12, 12,12,12需要的数据量为:需要的数据量为: 12*7=84 bit 因为只有白或黑,而且排版中一定要留出页边距,因此,因为只有白或黑,而且排版中一定要留出页边距,因此,一般情况下,可以只传输计数值即可。一般情况下,可以只传输计数值即可。 11.6.3 11.6.

15、3 传真中的行程编码方法传真中的行程编码方法现在我们就希望对其进行改善现在我们就希望对其进行改善 既然已经可以预制知白色多黑色少,可以对白色既然已经可以预制知白色多黑色少,可以对白色和黑色的计数值采用不同的位数。和黑色的计数值采用不同的位数。 以这个例子,可以定义:以这个例子,可以定义: 白色:白色:12 bit12 bit,黑色:黑色:4 bit4 bit 11.6.3 11.6.3 传真中的行程编码方法传真中的行程编码方法编码为: 600,3,570,12,4, 3,3000 编码位数为: 12,4,12, 4,12,4,12所需字节数为:所需字节数为: 4 4* *12+312+3* *

16、4=60bit4=60bit 比原来的比原来的RLERLE方式方式120bit120bit减少了减少了60bit,60bit,相当于又相当于又提高了压缩比为提高了压缩比为 60/120=50% 60/120=50% 。 11.7 11.7 二维行程编码方法二维行程编码方法二维行程编码要解决的核心问题是二维行程编码要解决的核心问题是: : 将二维排列的像素,采用某种方式将二维排列的像素,采用某种方式转化成一维排列的方式。之后按照一维转化成一维排列的方式。之后按照一维行程编码方式进行编码。行程编码方式进行编码。11.7 11.7 二维行程编码方法二维行程编码方法如下图所示,是两种典型的二维行程编码

17、的排列如下图所示,是两种典型的二维行程编码的排列方式:方式:(a) (b) 11.7 11.7 二维行程编码方法二维行程编码方法例:例:130130130129134133129130130130130129134133130130130130130129132132130130129130130129130130129129127128127129131 129131 130127128127128127128132132125126129129127129133132127125128128126130131131f=数据量:数据量:6464* *8=512(bit)8=512(bit)1

18、1.7 11.7 二维行程编码方法二维行程编码方法如果按照行扫描的顺序排列的话,数据分布为:如果按照行扫描的顺序排列的话,数据分布为:130,130,130,129,134,133,129,130; 130,130,130,129,134,133,130,130; 130,130,130,129,132,132,130,130;129,130,130,129,130,130,129,129; 127,128,127,129,131,129,131,130;127,128,127,128,127,128,132,132; 125,126,129,129,127,129,133,132;127,1

19、25,128,128,126,130,131,131行程编码为行程编码为: :(3,130),(),(1,129),(),(1,134),(),(1,133),(),(1,129),(),(4,130),),(1,129),(),(1,134),(),(1,133),(),(5,130),(),(1,129),(),(2,132),),(2,130),(),(1,129),(),(2,130),(),(1,129),(),(2,130),(),(2,129),),(1,127),(),(1,128),(),(1,127),(),(1,129),(),(1,131),(),(1,129),),(

20、1,131),(),(1,130),(),(1,127),(),(1,128),(),(1,127),(),(1,128),),(1,127),(),(1,128),(),(2,132),(),(1,125),(),(1,126),(),(2,129),),(1,127),(),(1,129),(),(1,133),(),(1,132),(),(1,127),(),(1,125),),(2,128),(),(1,126),(),(1,130),(),(2,131)数据量为数据量为:46:46* *(3+83+8)=506(bit) (98.83%)=506(bit) (98.83%)11.7

21、11.7 二维行程编码方法二维行程编码方法如果按照列扫描的顺序排列的话,数据分布为:如果按照列扫描的顺序排列的话,数据分布为:130,130,130,129,127,127,125,127; 130,130,130,130,128,128,126,125; 130,130,130,130,127,127,129,128;129,129,129,129,129,128,129,128; 134,134,132,130,131,127,127,126;133,133,132,130,129,128,129,130; 129,130,130,129,131,132,133,131;130,130,1

22、30,129,130,132,132,131行程编码为行程编码为: :数据量为数据量为:42:42* *(3+83+8)=462(bit) (92.03%)=462(bit) (92.03%)(3,130),(),(1,129),(),(2,127),(),(1,125),(),(1,127),(),(4, 130),),(2,128),(),(1,126),(),(1,125),(),(4,130),(),(2,127),(),(1,129),),(1,128),(),(5,129),(),(1,128),(),(1,129),(),(1,128),(),(2, 134),),(1,132)

23、,(),(1,130),(),(1,131),(),(2,127),(),(1,126),(),(2,133),),(1,132),(),(1,130),(),(1,129),(),(1,128),(),(1,129),(),(1,130),), (1,129),(),(2,130),(),(1,129),(),(1,131),(),(1,132),(),(1,133),),(1,131),(),(3,130),(),(1,129),(),(1,130),(),(2,132),(),(1,131)11.7 11.7 二维行程编码方法二维行程编码方法如果按照方式如果按照方式(a)(a)扫描的顺序

24、排列的话,数据分布为:扫描的顺序排列的话,数据分布为:130,130,130,130,130,130,130,130,130;129,129,129,129,130,130,129;127,128,127,129,131,130,132,134,134;133,133,132,130,129,128,127,128,127,128,127,125,126,129,129;127,129,133,132,131,129,130,130;129,130,130,130,129,130,132,132;131,131,130,126,128,128,127,127行程编码为行程编码为: :数据量为数

25、据量为:43:43* *(3+83+8)=473(bit) (94.22%)=473(bit) (94.22%)(7,130),(),(2,130),(),(4,129),(),(2,130),(),(1,129);();(1,127),),(1,128),(),(1,127),(),(1,129),(),(1,131),(),(1,130),(),(1,132),),(2,134),(),(2,133),(),(1,132),(),(1,130),(),(1,129),(),(1,128),),(1,127),(),(1,128),(),(1,127),(),(1,128),(),(1,12

26、7),(),(1,125),),(1,126),(),(2,129),(),(1,127),(),(1,129),(),(1,133),(),(1,132),),(1,131),(),(1,129),(),(2,130),(),(1,129),(),(3,130),(),(1,129),),(1,130),(),(2,132),(),(2,131),(),(1,130),(),(1,126),(),(2,128),),(2,127)11.8 Huffman 11.8 Huffman 编码(熵编码)编码(熵编码)行程编码要获得好的压缩率的前提是,行程编码要获得好的压缩率的前提是,有比较长的相邻像

27、素的值是相同的。有比较长的相邻像素的值是相同的。熵是指数据中承载的信息量。熵是指数据中承载的信息量。所谓的熵编码是指在完全不损失信息量所谓的熵编码是指在完全不损失信息量前提下最小数据量的编码。前提下最小数据量的编码。11.8.1 Huffman 11.8.1 Huffman 编码的基本原编码的基本原理理为了达到大的压缩率,提出了一种方法为了达到大的压缩率,提出了一种方法就是将在图像中出现频度大的像素值就是将在图像中出现频度大的像素值, ,给给一个比较短的编码,将出现频度小的像一个比较短的编码,将出现频度小的像数值数值, ,给一个比较长的编码。给一个比较长的编码。11.8.1 Huffman 1

28、1.8.1 Huffman 编码的基本原编码的基本原理理例:例: aaaa bbb cc d eeeee fffffff 4 3 2 1 5 7如果不进行特殊的编码,按照图像像素的描述,如果不进行特殊的编码,按照图像像素的描述,需要的数据量为:需要的数据量为: 22*8=176 bits 11.8.1 Huffman 11.8.1 Huffman 编码的基本原编码的基本原理理 aaaa bbb cc d eeeee fffffff 4 3 2 1 5 7 按照熵编码的原理进行编码:按照熵编码的原理进行编码: f=0 e=10 a=110 b=1111 c=11100 d=11101这里的编码规

29、则是长短不一的异字头码这里的编码规则是长短不一的异字头码 11.8.1 Huffman 11.8.1 Huffman 编码的基本原编码的基本原理理由:由: f=0 e=10 a=110 b=1111 c=11100 d=11101 aaaa bbb cc d eeeee fffffff 1011011011011111111111111100111001110110101010100000000 数据量:数据量:7*1+5*2+4*3+3*4+2*5+1*5=56 bit 压缩效率为:压缩效率为:56/176=31 .8%11.8.2 Huffman 11.8.2 Huffman 编码方法编码

30、方法首先求出图像中灰度分布的灰度直方图;首先求出图像中灰度分布的灰度直方图;根据该直方图,对其按照分布概率从小根据该直方图,对其按照分布概率从小到大的顺序进行排列;到大的顺序进行排列;每一次从中选择出两个概率为最小的节每一次从中选择出两个概率为最小的节点相加,形成一个新的节点,构造一个点相加,形成一个新的节点,构造一个称为称为“HuffmanHuffman树树”的二叉树;的二叉树;对这个二叉树进行编码,就获得了对这个二叉树进行编码,就获得了HuffmanHuffman编码码字。编码码字。11.8.2 Huffman 11.8.2 Huffman 编码方法编码方法例如:例如:aaaa bbb c

31、c d eeeee fffffff分布为:分布为: a:4/22 b:3/22 c:2/22a:4/22 b:3/22 c:2/22 d:1/22 e:5/22 f:7/22 d:1/22 e:5/22 f:7/22排序为:排序为: d, c, b, a, e, fd, c, b, a, e, f 1/22 2/22 3/22 4/22 5/22 7/221/22 2/22 3/22 4/22 5/22 7/2211.8.2 Huffman 11.8.2 Huffman 编码方法编码方法cbafe7/227/225/225/224/224/222/222/2210f=11 e=01 a=00

32、b=101 c=1001 d=1000d1/221/223/223/226/226/2222/2222/2213/2213/229/229/223/223/221010101011.8.3 Huffman 11.8.3 Huffman 编码效率编码效率对这个例子,计算出经过对这个例子,计算出经过HuffmanHuffman编码后的编码后的数据为:数据为: 1010101010001001001000100010000111111111101010101010101 共共 7*2+5*2+4*2+3*3+2*4+1*4=53 bit比前面我们给出的编码得到的比前面我们给出的编码得到的5656bi

33、tbit的数据的数据量还小,压缩效率为量还小,压缩效率为53/176=30.1%53/176=30.1%。11.8.4 11.8.4 图像压缩中的图像压缩中的Huffman Huffman 编码编码HuffmanHuffman编码在图像压缩中的实现编码在图像压缩中的实现 我们知道,对一幅图像进行编码时,如果我们知道,对一幅图像进行编码时,如果图像的大小大于图像的大小大于256256时,这幅图像的不同的码字时,这幅图像的不同的码字就有可能是很大,例如极限为就有可能是很大,例如极限为256256个不同的码字。个不同的码字。 这时如果采用全局这时如果采用全局HuffmanHuffman编码则压缩效率

34、编码则压缩效率不高。甚至与原来的等长编码的数据量相同。不高。甚至与原来的等长编码的数据量相同。 11.8.4 11.8.4 图像压缩中的图像压缩中的Huffman Huffman 编码编码常用的且有效的方法是: 将图像分割成若干的小块,对每块进行将图像分割成若干的小块,对每块进行独立的独立的HuffmanHuffman编码。例如:分成编码。例如:分成 的子块,就可以大大降低不同灰度值的的子块,就可以大大降低不同灰度值的个数(最多是个数(最多是6464而不是而不是256256)。)。88Huffman编码效率示例8 8* *8 8分块的编码分块的编码效率为效率为47.27%47.27%1616*

35、 *1616分块的编分块的编码效率约为码效率约为61%61%全图的编码效全图的编码效率为率为91.47%91.47%11.9 DCT变换编码问题的提出:问题的提出: 行程编码与行程编码与HuffmanHuffman编码的设计思想编码的设计思想都是基于对信息表述方法的改变,属于都是基于对信息表述方法的改变,属于无损压缩方式。无损压缩方式。 虽然无损压缩可以保证接收方获得的虽然无损压缩可以保证接收方获得的信息与发送方相同,但是其压缩率一定信息与发送方相同,但是其压缩率一定有一个极限。有一个极限。 因此,采用忽略视觉不敏感的部分进因此,采用忽略视觉不敏感的部分进行有损压缩是提高压缩率的一条好的途行有

36、损压缩是提高压缩率的一条好的途径。径。 11.9 DCT变换编码DCTDCT变换编码的设计思想:变换编码的设计思想: DCTDCT变换是希望在接收方不产生误变换是希望在接收方不产生误解的前提下进行一定的信息丢失。解的前提下进行一定的信息丢失。 由前面所讲到的频域变换得到的启由前面所讲到的频域变换得到的启示,就是将低频与高频部分的信息,分示,就是将低频与高频部分的信息,分别按照不同的数据承载方式进行表述。别按照不同的数据承载方式进行表述。11.9 DCT变换编码复习复习DCTDCT变换:变换:=1010222) 12(cos) 12(cos),()()(),(MxNyMNMNcyxyxfccF正

37、变换:正变换:=1010222) 12(cos) 12(cos),()()(),(MNMNcMNyxFccyxf=1)(21xc0=x1,.,2 , 1=Nx逆变换:逆变换:其中:其中:11.9 DCT变换编码DCTDCT变换编码方法:变换编码方法:DCT变换变换DCTDCT逆变换逆变换原图像原图像除以量化系数除以量化系数取整取整1 1)编码过程:)编码过程:2 2)解码过程:)解码过程:压缩图像压缩图像乘以量化系数乘以量化系数取整取整压缩压缩图像图像解压解压图像图像11.9 DCT变换编码Huffman:42bits; 编码效率编码效率32.8%Huffman:16bits;编码效率:编码效

38、率:12.5%=29221714241613141914121216111116C例:例:=56606159586059625759596157586059F原图像为:原图像为:DCTDCT变换变换除以量化系数,取整除以量化系数,取整236.254.51692.47491.56361.05920.17681.17130.78031.76780.43872.251.71251.00310.28030.86780.1768D=15000000000000000D=11.9 DCT变换编码原图原图解压图解压图11.10 11.10 混合编码混合编码设计思想:设计思想: 每一种编码方式都有其擅长的一点,以及每一种编码方式都有其擅长的一点,以及局限的一点,混合编码的思想就是将两种局限的一点,混合编码的思想就

温馨提示

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

评论

0/150

提交评论