精华内容
下载资源
问答
  • 有损压缩和无损压缩

    2021-03-04 10:50:50
    常用到的压缩方式分为无损和无损两类 无损压缩 Run-Length Lempel-Ziv Huffman 其他无损压缩算法都是由以上三类衍生出来 有损压缩 对于多媒体文件可以采用有损压缩, 比如jpg, mp3, mp4格式, 删除超越人类分辨力...

    数据压缩

    常用到的压缩方式分为无损和无损两类
    无损压缩

    • Run-Length
    • Lempel-Ziv
    • Huffman

    其他无损压缩算法都是由以上三类衍生出来

    有损压缩
    对于多媒体文件可以采用有损压缩, 比如jpg, mp3, mp4格式, 删除超越人类分辨力极限的信息, 不会影响实际的感官. 比如mp3删除20~20000HZ的波长区段信息可以缩减数据大小.

    展开全文
  • 求助:希望各位大神给提供图片有损压缩和无损压缩的源代码(C++)。我最近在做图片压缩的程序,但是不太会,希望各位大神给点指导。
  • BMP/JPG/PNG/GIF/有损压缩和无损压缩【转载整理】 1.bmp: BMP是windows的标准图像格式,是一种与硬件设备无关的图像文件格式,在Windows环境下运行的所有图像处理软件都支持这种格式。 BMP文件存储数据时,...

    BMP/JPG/PNG/GIF/有损压缩和无损压缩【转载整理】

    1.bmp:

             BMP是windows的标准图像格式,是一种与硬件设备无关的图像文件格式,在Windows环境下运行的所有图像处理软件都支持这种格式。

             BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。

             BMP格式的图像,其优点是不采用任何压缩,无损并且颜色准确,有2色、16色、256色、真彩色各种选择;缺点就是文件占用的空间很大,不支持文件压缩,不适用于 Web 页,不受 Web 浏览器支持。

     

    2.jpg:

             JPG(后缀名也为JPEG)采用高压缩比技术的图像存储格式,是与平台无关的格式,支持最高级别的压缩。因为JPEG是有损压缩格式,所以在对一张JPEG格式的图片反复进行修改保存时,则会让图片失真,品质下降,这种品质下降是累积的。

             JPG最主要的优点是能支持上百万种颜色,从而可以用来表现照片,此外,由于JPG图片使用更有效的有损压缩算法,从而使做网站文件长度更小,下载时间更短。

             但是从长远来看,JPG随着带宽的不断提高和存储介质的发展,它也应该是一种被淘汰的做网站图片格式,因为有损压缩对图像会产生不可恢复的损失,所以经过压缩的JPG的图片一般不适合打印,在备份重要图片时也最好不要使用JPG。

             还有,JPG也不如GIF图像那么灵活,它不支持图形渐进、背景透明,更不支持动画。

     

    3.png:

             PNG是一种比较新的图片格式,是一种位图文件存储格式。PNG格式是无损数据压缩的,PNG格式有8位、24位、32位三种形式,其中8位PNG支持两种不同的透明形式(索引透明和alpha透明),24位PNG不支持透明,32位PNG在24位基础上增加了8位透明通道(32-24=8),因此可展现256级透明程度。

             PNG-8是非常好的GIF格式替代者,在可能的情况下,应该尽可能的使用PNG-8而不是GIF,因为在相同的图片效果下,PNG-8具有更小的文件体积。PNG-8本身也是支持动画的,只是浏览器支持得不好,不像GIF那样受到广泛的支持。

     

    4.GIF:

             GIF是一种色彩效果低、体积小、支持透明的图像文件格式。GIF的原义是“图像互换格式”,GIF文件的数据是一种基于LZW算法的连续色调的无损压缩格式,其压缩率一般在50%左右。

             它不属于任何应用程序,目前几乎所有相关软件都支持它,公共领域有大量的软件在使用GIF图像文件。GIF图像文件的数据是经过压缩的,而且是采用了可变长度等压缩算法,所以GIF的图像深度从lbit到8bit,也即GIF最多支持256种色彩的图像。     

             GIF格式的另一个特点是其在一个GIF文件中可以存多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成一种最简单的动画,一般看的简单的动画效果都是用.gif格式存放。

             GIF分为静态GIF和动画GIF两种,GIF主要分为两个版本GIF89a和GIF87a。

     

    5.有损压缩和无损压缩:

              有损压缩是对图像本身的改变,在保存图像时保留了较多的亮度信息,而将色相和色纯度的信息和周围的像素进行合并,合并的比例不同,压缩的比例也不同,由于信息量减少了,所以压缩比可以很高,图像质量也会相应的下降。

              无损压缩是对文件本身的压缩,和其它数据文件的压缩一样,是对文件的数据存储方式进行优化,采用某种算法表示重复的数据信息,文件可以完全还原,不会影响文件内容,对于数码图像而言,也就不会使图像细节有任何损失。

              有损压缩可以减少图像在内存和磁盘中占用的空间,在屏幕上观看图像时,不会发现它对图像的外观产生太大的不利影响。无损压缩不能减少图像的内存和磁盘中占用的空间,压缩率比较低。

               无损压缩就是可以完全还原的,有损压缩还原后不能和原来的文件一样,有一定的损耗的。

               无损压缩压缩率是受到数据统计冗余度的理论限制,一般为2:1到5:1。有损压缩允许压缩过程中损失一定的信息,虽然不能完全恢复原始数据,但压缩比最高可达200:1甚至更多。

     

    6.参考博文:

          (1)图像的基本有损压缩和无损压缩

          (2)JPG PNG GIF BMP图像格式的区别

     

    展开全文
  • 无损压缩这里基于游长编码算法(利用像素的重复)首先提出一种简单改进算法,即在图像的各通道上进行游长编码,利用各通道像素值得重复性分别进行压缩,一定程度上提高了压缩性,因为两个相邻像素虽然不同,但他们的...

    关键词:5-5-5,5-6-5,游长编码优化,图像压缩、解压

    背景

    有损量化这里介绍从8-8-8到5-5-5和5-6-5的量化压缩原理及其编程实现。无损压缩这里基于游长编码算法(利用像素的重复)首先提出一种简单改进算法,即在图像的各通道上进行游长编码,利用各通道像素值得重复性分别进行压缩,一定程度上提高了压缩性,因为两个相邻像素虽然不同,但他们的某个通道可能会相同,这种方法简单高效,但适应性差,主要利用了图像的空间冗余性;之后,提出压缩前的分块处理,为了减少图像各区域之间的巨大差异造成的重复性被分割削弱,先从二维上将图像分块,再对分块进行空间冗余压缩,也就是更加充分地利用图像的空间冗余性。

    Giuthub源码:https://github.com/jiangxh1992/QuantisationAndCompression

    English Version:http://jiangxh.top/articles/2016-10/compressionEN


    有损量化5-5-5和5-6-5

    压缩对象使图像的RGB通道值,每个值都是0~255之间的数字,分别使用8位保存,因此原始图像每个像素要使用3*8=24位,即‘8-8-8’。这里要将其量化压缩,使用16位来保存24位的信息,因此要损失部分精度,压缩率固定为1.50。

    这里写图片描述
    这里写图片描述
    这里写图片描述

    5-5-5指的是只使用低15位,剩下的一位弃用,这样每个通道一致的都压缩为5位;

    5-6-5则是充分使用了16位,其中G通道占6位,另外两通道各占5位。

    算法原理很简单:

    压缩时5-5-5是将每个通道的二进制值都右移3位(除以8),保留剩下的5位,然后依次放入16位数的低15位;解压时分别将各通道的5位二进制数取出并左移3位,低位补0还原成8位,因此低三位的数据丢失掉了。

    5-6-6和5-5-5同理,只是G通道的二进制数右移2两位(除以4),将剩下的6位和其他两通道的10位一同放入16位二进制数中。解压时同样是低位补0还原为8位。

    算法代码:

    程序背景说明:widthheight指的是导入的图片的尺寸(像素个数),Input是保存三个通道的像素值的数组,这里windows工程存储的三通道顺序为B,G,R,不是R,G,B。

    这里写图片描述

    5-5-5:

    unsigned char *CAppQuantize::Quantize555(int &qDataSize) {
    
        int i, j ;
        unsigned int r, g, b ;
        unsigned short rgb16 ;
    
        qDataSize = width * height * 2 ;
    
        unsigned char *quantizedImageData = new unsigned char[width * height * 2] ;
    
        for(j = 0; j < height; j++) {
            for(i = 0; i < width; i++) {
                b = pInput[(i + j * width) * 3 + 0] ;   // Blue Color Component
                g = pInput[(i + j * width) * 3 + 1] ;   // Red Color Component
                r = pInput[(i + j * width) * 3 + 2] ;   // Green COlor Component
                rgb16 = ((r >> 3) << 10) | ((g >> 3) << 5) | (b >> 3) ;
                quantizedImageData[(i + j * width) * 2 + 0] = rgb16 & 0xFF ;
                quantizedImageData[(i + j * width) * 2 + 1] = (rgb16 >> 8) & 0xFF ;
            }
        }
    
        return quantizedImageData ;
    }
    void CAppQuantize::Dequantize555(unsigned char *quantizedImageData, unsigned char *unquantizedImageData) {
    
        int i, j ;
        unsigned int r, g, b ;
        unsigned short rgb16 ;
    
        for(j = 0; j < height; j++) {
            for(i = 0; i < width; i++) {
                rgb16 = quantizedImageData[(i + j * width) * 2 + 0] | (((unsigned short) quantizedImageData[(i + j * width) * 2 + 1]) << 8) ;
                b = rgb16 & 0x1F;
                g = (rgb16 >> 5) & 0x1F ;
                r = (rgb16 >> 10) & 0x1F ;
                unquantizedImageData[(i + j * width) * 3 + 0] = (b << 3) ;
                unquantizedImageData[(i + j * width) * 3 + 1] = (g << 3) ;
                unquantizedImageData[(i + j * width) * 3 + 2] = (r << 3) ;
            }
        }
    }

    5-6-5:

    unsigned char *CAppQuantize::Quantize565(int &qDataSize) {
    
        int i, j;
        unsigned int r, g, b;
        unsigned short rgb16;
    
        qDataSize = width * height * 2 ;
        unsigned char *quantizedImageData = new unsigned char[width * height * 2] ;
    
        for (j = 0; j < height; j++) {
            for (i = 0; i < width; i++) {
                b = pInput[(i + j * width) * 3 + 0];    // Blue Color Component
                g = pInput[(i + j * width) * 3 + 1];    // Green Color Component
                r = pInput[(i + j * width) * 3 + 2];    // Red Color Component
                rgb16 = ((r >> 3) << 11) | ((g >> 2) << 5) | (b >> 3); // r分量和b分量右移3位,g分量右移2位
    
                quantizedImageData[(i + j * width) * 2 + 0] = rgb16 & 0xFF; // 高8位
                quantizedImageData[(i + j * width) * 2 + 1] = (rgb16 >> 8) & 0xFF;// 低8位
            }
        }
    
        return quantizedImageData ;
    }
    void CAppQuantize::Dequantize565(unsigned char *quantizedImageData, unsigned char *unquantizedImageData) {
    
        int i, j;
        unsigned int r, g, b;
        unsigned short rgb16;
    
        for (j = 0; j < height; j++) {
            for (i = 0; i < width; i++) {
                rgb16 = quantizedImageData[(i + j * width) * 2 + 0] | (((unsigned short)quantizedImageData[(i + j * width) * 2 + 1]) << 8);
                b = rgb16 & 0x1F;   // 保留高5位
                g = (rgb16 >> 5) & 0x3F;// 右移5位后保留高6位
                r = (rgb16 >> 11) & 0x1F;// 右移11位后保留高5位
                unquantizedImageData[(i + j * width) * 3 + 0] = (b << 3); // 左移3位,高位补0
                unquantizedImageData[(i + j * width) * 3 + 1] = (g << 2); // 左移2位,高位补0
                unquantizedImageData[(i + j * width) * 3 + 2] = (r << 3); // 左移3位,高位补0
            }
        }
    }

    通道游长编码无损压缩

    这里写图片描述

    压缩过程:

    压缩后的数据形式是:两个无符号8位二进制数为一组,第一个存储重复的个数,第二个存储通道值。

    分B,G,R三个通道依次进行,对于每个通道从第一个值开始,计算后面相同的值的个数,碰到新的不同值或者重复个数超出了8位数的表示上限,则将之前的重复值和通道值保存到一组压缩后的数据中,并开始下一组同样的计算压缩,直到所有数据全部压缩完。

    解压过程:

    解压也是分三个通道依次解压,由于三个通道的压缩数据都放在了同一个数组,因此先要找到G通道和R通道的开始位置offset_g和offset_r,寻找方法是循环同时累加计算前面通道各像素的重复个数,每当重复个数达到图片像素个数,下一个即时另一个通道的开始了。之后开始解压,每次从各通道取一个值组成一个像素,直到各通道同时取完,解压后的数据就是压缩前的原数据了,实现了图像的无损压缩。

    算法代码:

    无损压缩:

    unsigned char *CAppCompress::Compress(int &cDataSize) {
    
        unsigned char *compressedData ;
        cDataSize = width * height * 3 ;    
    
        // 存储压缩后的数据,最差的情况尺寸也不会到大于cDataSize * 2
        compressedData = new unsigned char[cDataSize * 2];
        // 实际压缩字符长度
        int compressedSize = 0;
    
        // 采用分通道游离的方法,按照每个通道相邻像素的重复性进行压缩
        // 1.b通道
        unsigned short curB = pInput[0];// 第一个像素的b
        unsigned short repeat = 1;// 重复次数
        for (int i = 1; i < cDataSize / 3; i++)
        {
            unsigned short nextB = pInput[i * 3 + 0];// 下一个像素的b
            if (nextB == curB && repeat < 127)
            {
                ++repeat;
                // 如果是最后一个则存储
                if (i == cDataSize / 3 - 1)
                {
                    // 存储最后一个b值组
                    compressedData[compressedSize] = repeat;
                    compressedData[compressedSize + 1] = curB;
                    // 增加编码数据长度
                    compressedSize += 2;
                }
            }
            else
            {
                // 存储上一个b值组
                compressedData[compressedSize] = repeat;
                compressedData[compressedSize + 1] = curB;
                // 增加编码数据长度
                compressedSize += 2;
                // 换下一种b值
                curB = nextB;
                repeat = 1;
                // 如果是最后一个
                if (i == cDataSize / 3 - 1)
                {
                    // 存储最后一个b值
                    compressedData[compressedSize] = 1;
                    compressedData[compressedSize + 1] = curB;
                    // 增加编码数据长度
                    compressedSize += 2;
                }
            }
        }
    
        // 2.g通道
        unsigned short curG = pInput[1];// 第一个像素的g
        repeat = 1;// 重复次数
        for (int i = 1; i < cDataSize / 3; i++)
        {
            unsigned short nextG = pInput[i * 3 + 1];// 下一个像素的g
            if (nextG == curG && repeat <= 127)
            {
                ++repeat;
                // 如果是最后一个则存储
                if (i == cDataSize / 3 - 1)
                {
                    // 存储最后一个g值组
                    compressedData[compressedSize] = repeat;
                    compressedData[compressedSize + 1] = curG;
                    // 增加编码数据长度
                    compressedSize += 2;
                }
            }
            else
            {
                // 存储上一个g值组
                compressedData[compressedSize] = repeat;
                compressedData[compressedSize + 1] = curG;
                // 增加编码数据长度
                compressedSize += 2;
                // 换下一种g值
                curG = nextG;
                repeat = 1;
                // 如果是最后一个
                if (i == cDataSize / 3 - 1)
                {
                    // 存储最后一个g值
                    compressedData[compressedSize] = 1;
                    compressedData[compressedSize + 1] = curB;
                    // 增加编码数据长度
                    compressedSize += 2;
                }
            }
        }
    
        // 3.r通道
        unsigned short curR = pInput[2];// 第一个像素的r
        repeat = 1;// 重复次数
        for (int i = 1; i < cDataSize / 3; i++)
        {
            unsigned short nextR = pInput[i * 3 + 2];// 下一个像素的r
            if (nextR == curR && repeat <= 127)
            {
                ++repeat;
                // 如果是最后一个则存储
                if (i == cDataSize / 3 - 1)
                {
                    // 存储最后一个g值组
                    compressedData[compressedSize] = repeat;
                    compressedData[compressedSize + 1] = curR;
                    // 增加编码数据长度
                    compressedSize += 2;
                }
            }
            else
            {
                // 存储上一个g值组
                compressedData[compressedSize] = repeat;
                compressedData[compressedSize + 1] = curR;
                // 增加编码数据长度
                compressedSize += 2;
                // 换下一种r值
                curR = nextR;
                repeat = 1;
                // 如果是最后一个
                if (i == cDataSize / 3 - 1)
                {
                    // 存储最后一个r值
                    compressedData[compressedSize] = 1;
                    compressedData[compressedSize + 1] = curR;
                    // 增加编码数据长度
                    compressedSize += 2;
                }
            }
        }
    
        // 取出压缩后的纯数据
        cDataSize = compressedSize;
        unsigned char *finalData = new unsigned char[cDataSize];
        for (int i = 0; i < cDataSize; i++)
        {
            unsigned char temp = compressedData[i];
            finalData[i] = temp;
        }
        delete compressedData;
        compressedData = finalData;
    
        return compressedData;
    }

    无损解压缩:

    void CAppCompress::Decompress(unsigned char *compressedData, int cDataSize, unsigned char *uncompressedData) {
    
        // 寻找g通道和r通道在压缩数据数组中的偏移坐标
        int offset_r = 0, offset_g = 0;
        int pixelCount = 0;
        for (int i = 0; i < cDataSize;)
        {
            int curRpeat = compressedData[i];
            pixelCount += curRpeat;
            i += 2;
            if (pixelCount == width*height)
            {
                offset_g = i;// g通道的开始坐标
            }
            if (pixelCount == width*height * 2)
            {
                offset_r = i;// r通道的开始坐标
            }
        }
    
        unsigned int b, g, r;
        int repeat;
        // 1.还原b通道
        for (int i = 0, j = 0; i < width*height, j < offset_g; j += 2)
        {
            // 恢复一组重复的b值
            repeat = compressedData[j];
            for (int p = 0; p < repeat; p++)
            {
                int d = compressedData[j + 1];
                uncompressedData[i * 3 + p*3 + 0] = compressedData[j + 1];
            }
            i += repeat;
        }
    
        // 2.还原g通道
        for (int i = 0, j = offset_g; i < width*height, j < offset_r; j += 2)
        {
            repeat = compressedData[j];
            for (int p = 0; p < repeat; p++)
            {
                int d = compressedData[j + 1];
                uncompressedData[i * 3 + p * 3 + 1] = compressedData[j + 1];
            }
            i += repeat;
        }
    
        // 3.还原r通道
        for (int i = 0, j = offset_r; i < width*height, j < cDataSize; j += 2)
        {
            repeat = compressedData[j];
            for (int p = 0; p < repeat; p++)
            {
                int d = compressedData[j + 1];
                uncompressedData[i * 3 + p * 3 + 2] = compressedData[j + 1];
            }
            i += repeat;
        }
    }

    效果分析:

    最好情况: 算法基于通道像素重复,最好的情况自然是纯色推图像。算法对于颜色比较单调的图像压缩效果较好;

    最差情况: 最差情况是三个通道相邻的两个像素的值都不同,这时候压缩后的数据刚好是原数据的两倍大小,每一个像素各通道值都额外用了一个8位存储重复个数,且重复个数都是1。

    压缩到六十四分之一:
    这里写图片描述

    压缩到三分之一:
    这里写图片描述

    压缩失败:
    这里写图片描述


    空间分割优化

    算法步骤:首先先后对图像进行横向、纵向或者横向、纵向扫描,扫描时对每一行或者每一列计算平均值,当平均值和上一行或者列差值大于阈值时,设置当前行列为一个边界。例如:如果先横向分割,后纵向分割,那么横向分割后将图像分成了几个子图像,之后再对每一个子图像进行同样的纵向分割,即可将图像分成内部类似的子图像区域。之后再对子图像进行空间冗余性压缩。图像分割效果大致如下:
    这里写图片描述

    示例代码:

    type cpp
    

    量化压缩与无损压缩组合

    直接使用该算法对图像压缩,面对色彩变化丰富的图像总是压缩失败的,但如果先对图像进行有损量化,再对量化后的图像进行无损压缩往往可以取得不错的效果。量化实际上是为无损压缩提高了容错性,本来两个通道值相差可能很小,如果能包容这微小的差异那么将大大提高压缩率。下图中打印的三个压缩率依次是:直接压缩的压缩率、有损量化的压缩率、对量化后的图像再进行无损压缩的压缩率。

    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述

    进一步的先进压缩算法

    实际中的图像往往是颜色丰富错综复杂的,仅仅利用空间冗余来进行压缩适应性太低,利用重复性进行游长编码压缩往往不但压缩失败,甚至会使压缩后的图像体积更大,最差的情况如上所说会是原来的两倍。因此为了研究适应性更好的算法就要从更多维度去利用图像本身的重复性(图像的重复性再多维度上是很大的)。

    从另一种程度上图像信息是一种信号信息,图像数据的内在联系不仅仅是相邻像素之间的相似性而已,图像可以向声音信号一样常使用波信号去模拟预测,挖掘图像整体的信息后可以利用已有信息在压缩过程中对未压缩数据进行预测,利用图像的多维度重复性进行进一步的压缩。

    自适应预测熵编码

    。。。

    基于分片的无损压缩方法

    。。。

    展开全文
  • 无损压缩:是对文件本身的压缩,其它数据文件的压缩一样,是对文件的数据存储方式进行优化,采用某种算法表示重复的数据信息,文件可以完全还原,不会影响文件内容,对于数码图像而言,也就不会使图像细节有任何...

    无损压缩:是对文件本身的压缩,和其它数据文件的压缩一样,是对文件的数据存储方式进行优化采用某种算法表示重复的数据信息,文件可以完全还原,不会影响文件内容,对于数码图像而言,也就不会使图像细节有任何损失。

    无损压缩的基本原理是相同的颜色信息只需保存一次。压缩图像的软件首先会确定图像中哪些区域是相同的,哪些是不同的。包括了重复数据的图像(如蓝天) 就可以被压缩,只有蓝天的起始点和终结点需要被记录下来。但是蓝色可能还会有不同的深浅,天空有时也可能被树木、山峰或其他的对象掩盖,这些就需要另外记录。从本质上看,无损压缩的方法可以删除一些重复数据,大大减少要在磁盘上保存的图像尺寸。但是,无损压缩的方法并不能减少图像的内存占用量,这是因为,当从磁盘上读取图像时,软件又会把丢失的像素用适当的颜色信息填充进来。如果要减少图像占用内存的容量,就必须使用有损压缩方法。

    有损压缩:是对图像本身的改变,在保存图像时保留了较多的亮度信息,而将色相和色纯度的信息和周围的像素进行合并,合并的比例不同,压缩的比例也不同,由于信息量减少了,所以压缩比可以很高,图像质量也会相应的下降。 

    有损压缩可以减少图像在内存和磁盘中占用的空间,在屏幕上观看图像时,不会发现它对图像的外观产生太大的不利影响。因为人的眼睛对光线比较敏感,光线对景物的作用比颜色的作用更为重要,这就是有损压缩技术的基本依据。

    1.有损压缩、无损压缩对应的图片文件格式:
    有损压缩格式:JPEG、JPG、WMF、WebP (jpeg、jpg、wmf)

    无损压缩的图片格式:BMP、PCX、TIFF、GIF、TGA、PNG、RAW(bmp、pcx、tiff、gif、tga、png、raw)

    有损压缩详细格式:

    (1)WebP是Google新推出的影像技术,它可让网页图档有效进行压缩,同时又不影响图片格式兼容与实际清晰度,进而让整体网页下载速度加快。

    与JPEG相同,WebP是一种有损压缩利用预测编码技术。但谷歌表示,这种格式的主要优势在于高效率。他们发现,“在质量相同的情况下,WebP格式图像的体积要比JPEG格式图像小40%,美中不足的是,WebP格式图像的编码时间“比JPEG格式图像长8倍”。

    (2)JPEG也是最常见的一种图像格式,是一种有损压缩格式,能够将图像压缩在很小的储存空间,因此容易造成图像数据的损伤。

     JPEG是一种很灵活的格式,具有调节图像质量的功能,允许用不同的压缩比例对文件进行压缩,支持多种压缩级别,压缩比越大,品质就越低;相反地,压缩比越小,品质就越好。

    JPEG格式压缩的主要是高频信息,对色彩的信息保留较好,适合应用于互联网,可减少图像的传输时间,可以支持24bit真彩色,也普遍应用于需要连续色调的图像。

    JPEG格式是目前网络上最流行的图像格式

    JPEG格式的应用非常广泛,特别是在网络和光盘读物上。各类浏览器均支持JPEG这种图像格式,因为JPEG格式的文件尺寸较小,下载速度快

    JPEG 不适用于所含颜色很少、具有大块颜色相近的区域或亮度差异十分明显的较简单的图片。

    3)JPEG2000作为JPEG的升级版,压缩率比JPEG高约30%左右同时支持有损和无损压缩

    JPEG2000和JPEG相比优势明显,且向下兼容,因此可取代传统的JPEG格式。JPEG2000即可应用于传统的JPEG市场,如扫描仪、数码相机等,又可应用于新兴领域,如网路传输、无线通讯等等。

    (4)WMF格式

    WMF(Windows Metafile Format)是Windows中常见的一种图元文件格式,属于矢量文件格式。它具有文件短小、图案造型化的特点,整个图形常由各个独立的组成部分拼接而成,其图形往往较粗糙

    无损压缩详细格式

    (1)BMP

    位图(外语简称:BMP、外语全称:BitMaP)BMP是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。

    BMP 是(Windows 位图) Windows 位图可以用任何颜色深度(从黑白到 24 位颜色)存储单个光栅图像。Windows 位图文件格式与其他 Microsoft Windows 程序兼容。它不支持文件压缩,也不适用于 Web 页。 从总体上看,Windows 位图文件格式的缺点超过了它的优点。为了保证照片图像的质量,请使用 PNG 、JPEG、TIFF 文件。BMP 文件适用于 Windows 中的墙纸。

    BMP 不支持压缩,这会造成文件非常大。

    (2)PCX

    个人电脑交换(外语简称:PCX、外语全称:Personal Computer eXchange [1]  )

    PCX是最早支持彩色图像的一种文件格式,现在最高可以支持256种彩色。PCX设计者很有眼光地超前引入了彩色图像文件格式,使之成为非常流行的图像文件格式。

    PCX是PC机画笔的图像文件格式。PCX的图像深度可选为l、4、8bit。由于这种文件格式出现较早,它不支持真彩色。PCX文件采用RLE行程编码,文件体中存放的是压缩后的图像数据。因此,将采集到的图像数据写成PCX文件格式时,要对其进行RLE编码:而读取一个PCX文件时首先要对其进行 RLE解码,才能进一步显示和处理。

    PCX 不受 Web 浏览器支持

    (3)TIF格式

    标签图像文件格式(中文简称TIF、外语简称TIFF、外语全称:TagImage FileFormat)是由Aldus和Microsoft公司为桌上出版系统研制开发的一种较为通用的图像文件格式。

    TIFF格式灵活易变,它又定义了四类不同的格式:TIFF-B适用于二值图像:TIFF-G适用于黑白灰度图像;TIFF-P适用于带调色板的彩色图像:TIFF-R适用于RGB真彩图像。

    TIFF支持多种编码方法,其中包括RGB压缩、RLE压缩、JPEG压缩等。

    TIFF是现存图像文件格式中最复杂的一种,它具有扩展性、方便性、可改性,可以提供给IBMPC等环境中运行、图像编辑程序。

    (4)GIF格式

    图形交换格式(外语简称:GIF、外语全称:Graphics Interchange Format

    GIF文件的数据,是一种基于LZW算法的连续色调的有损压缩格式。压缩率一般在50%左右,它不属于任何应用程序。几乎所有相关软件都支持它,公共领域有大量的软件在使用GIF图像文件。

    GIF图像文件的数据是经过压缩的,而且是采用了可变长度等压缩算法。所以GIF的图像深度从lbit到8bit,也即GIF最多支持256种色彩的图像

    GIF格式的另一个特点是其在一个GIF文件中可以存多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成一种最简单的动画。

    GIF解码较快,但GIF不支持Alpha透明通道。

    (5)TGA格式

    已标记的图形(外语全称:Tagged Graphics)格式是由美国Truevision公司为其显示卡开发的,文件扩展名为".tga",已被国际上的图形、图像工业所接受。

    TGA的结构比较简单,属于一种图形、图像数据的通用格式,在多媒体领域有很大影响,是计算机生成图像向电视转换的一种首选格式。

    TGA图像格式最大的特点是可以做出不规则形状的图形、图像文件,一般图形、图像文件都为四方形,若需要有圆形、菱形甚至是缕空的图像文件时,TGA可就派上用场了。

     TGA格式支持压缩,使用不失真的压缩算法。是一种比较好的图片格式。

    (6)PNG格式

    便携式网络图形(外语简称PNG、外语全称:Portable Network Graphics),是网上接受的最新图像文件格式。

    PNG能够提供长度比GIF小30%的无损压缩图像文件。它同时提供 24位和48位真彩色图像支持以及其他诸多技术性支持。

    PNG非常新,所以并不是所有的程序都可以用它来存储图像文件,但Photoshop可以处理PNG图像文件,也可以用PNG图像文件格式存储。 

    PNG 支持高级别无损耗压缩,但作为 Internet 文件格式,与 JPEG 的有损耗压缩相比,PNG 提供的压缩量较少。

    PNG 支持 alpha 通道透明度,但作为 Internet 文件格式,PNG 对多图像文件或动画文件不提供任何支持。GIF 格式支持多图像文件和动画文件。

    PNG 支持伽玛校正。

    PNG 支持交错。

    PNG 受最新的 Web 浏览器支持,但较旧的浏览器和程序可能不支持 PNG 文件。

    (7)RAW格式

    RAW中文解释是“原材料”或“未经处理的东西”。RAW文件包含了原图片文件在传感器产生后,进入照相机图像处理器之前的一切照片信息。用户可以利用PC上的某些特定软件对RAW格式的图片进行处理。

    许多图像处理软件可以对照相机输出的RAW文件进行处理。这些软件提供了对RAW格式照片的锐度、白平衡、色阶和颜色的调节。此外,由于RAW拥有12位数据,你可以通过软件,从RAW图片的高光或昏暗区域榨取照片细节,这些细节不可能在每通道8位的JPEG或TIFF图片中找到。

    兼容性不够强仍然是限制RAW格式发展的最大障碍。

    参考:https://baike.baidu.com/item/%E5%9B%BE%E7%89%87%E6%A0%BC%E5%BC%8F/381122?fr=aladdin

    2.有损压缩、无损压缩对应的音频文件格式:

    有损压缩格式:AIFF、MPEG 、MP3、MPEG-4、MIDI、MIDI、WMA

    无损压缩的图片格式:WAV、APE(wav,ape,flac)

    有损压缩

    (1)AIFF(Audio Interchange File Format)格式和AU格式,它们都和WAV非常相像,在大多数的音频编辑软件中也都支持它们这几种常见的音乐格式

    AIFF是音频交换文件格式的英文缩写。是Apple公司开发的一种音频文件格式,被MACINTOSH平台及其应用程序所支持,NETSCAPE浏览器中LIVEAUDIO也支持AIFF格式。

    AIFF是苹果电脑上面的标准音频格式,属于QuickTime技术的一部分。这一格式的特点就是格式本身与数据的意义无关,因此受到了Microsoft的青睐,并据此搞出来WAV格式。

    AIFF虽然是一种很优秀的文件格式,但由于它是苹果电脑上的格式,因此在PC平台上并没有得到很大的流行。不过由于Apple电脑多用于多媒体制作出版行业,因此几乎所有的音频编辑软件和播放软件都或多或少地支持AIFF格式。只要苹果电脑还在,AIFF就始终还占有一席之地。由于AIFF的包容特性,所以它支持许多压缩技术

    (2)MPEG

    MPEG是动态图象专家组的英文缩写。专门负责为CD建立视频和音频压缩标准

    MPEG音频文件指的是MPEG标准中的声音部分即MPEG音频层。

    虽然它是一种有损压缩,但是它的最大优势是以极小的声音失真换来了较高的压缩比。MPEG含有格式包括:MPEG-1MPEG-2、MPEG-Layer3、MPEG-4

    (3)MP3

    Mp3格式诞生于八十年代的德国,所谓的MP3也就是指的是MPEG标准中的音频部分,也就是MPEG音频层。根据压缩质量和编码处理的不同分为3层,分别对应 *.mp1 / *.mp2/ *.mp3 这3种声音文件。需要提醒大家注意的地方是:MPEG音频文件的压缩是一种有损压缩,MPEG3音频编码具有10:1~12:1的高压缩率,同时基本保持低音频部分不失真,但是牺牲了声音文件中12KHz到16KHz高音频这部分的质量来换取文件的尺寸,相同长度的音乐文件,用 *.mp3 格式来储存,一般只有 *.wav 文件的1/10因而音质要次于CD格式或WAV格式的声音文件

    Mp3文件尺寸小,音质好;所以在它问世之初还没有什么别的音频格式可以与之匹敌,因而为*.mp3格式的发展提供了良好的条件。

    Mp3这种格式还是很流行,作为主流音频格式的地位难以被撼动。

    MP3音乐的版权问题也一直找不到办法解决,因为MP3没有版权保护技术,说白了也就是谁都可以用。

    MP3格式压缩音乐的采样频率有很多种

    MP3是到2008年止使用用户最多的有损压缩数字音频格式了。它的全称是MPEG(MPEG:MovingPictureExpertsGroup)AudioLayer-3

    MP3问世不久,就凭这较高的压缩比12:1和较好的音质创造了一个全新的音乐领域,然而MP3的开放性却最终不可避免的导致了版权之争,在这样的背景之下,文件更小,音质更佳,同时还能有效保护版权的MP4就应运而生了。MP3和MP4之间其实并没有必然的联系,首先MP3是一种音频压缩的国际技术标准,而MP4却是一个商标的名称。

    (4)MPEG-4

    MPEG-4标准是由国际运动图像专家组于2000年10月公布的一种面向多媒体应用的视频压缩标准。它采用了基于对象的压缩编码技术

    MPEG-4以其高质量、低传输速率等优点已经被广泛应用到网络多媒体、视频会议和多媒体监控等图像传输系统中。中国内外大部分成熟的MPEG-4应用均为基于PC层面的客户端和服务器模式,应用在嵌入式系统上的并不多,且多数嵌入式MPEG-4解码系统大多使用商业的嵌入式操作系统,如WindowsCE、VxWorks等,成本高、灵活性差。如以嵌入式Linux作为操作系统不仅开发方便,且可以节约成本,并可以根据实际情况进行裁减,占用资源少、灵活性强,网络性能好,适用范围更广。

    (5)MIDI

    MIDI(Musical Instrument Digital Interface)格式被经常玩音乐的人使用,MIDI允许数字合成器和其他设备交换数据。MID文件格式由MIDI继承而来。MID文件并不是一段录制好的声音,而是记录声音的信息,然后再告诉声卡如何再现音乐的一组指令

    MIDI文件每存1分钟的音乐只用大约5~10KBMID文件主要用于原始乐器作品,流行歌曲的业余表演,游戏音轨以及电子贺卡等

    *.mid文件重放的效果完全依赖声卡的档次。*.mid格式的最大用处是在电脑作曲领域。*.mid文件可以用作曲软件写出,也可以通过声卡的MIDI口把外接音序器演奏的乐曲输入电脑里,制成*.mid文件。

    (6)WMA

    WMA (Windows Media Audio) 格式是来自于微软的重量级选手,后台强硬,音质要强于MP3格式,更远胜于RA格式,它和日本YAMAHA公司开发的VQF格式一样,是以减少数据流量但保持音质的方法来达到比MP3压缩率更高的目的,WMA的压缩率一般都可以达到1:18左右

    WMA的另一个优点是内容提供商可以通过DRM(Digital Rights Management)

    WMA的推出,就是针对MP3没有版权限制的缺点而来——普通用户可能很欢迎这种格式,但作为版权拥有者的唱片公司来说,它们更喜欢难以复制拷贝的音乐压缩技术,而微软的WMA则照顾到了这些唱片公司的需求。

    除了版权保护外,WMA还在压缩比上进行了深化,它的目标是在相同音质条件下文件体积可以变的更小(当然,只在MP3低于192KBPS码率的情况下有效,实际上当采用LAME算法压缩MP3格式时,高于192KBPS时普遍的反映是MP3的音质要好于WMA)。

    无损压缩

    (1)WAV

    WAV文件是波形文件,是微软公司推出的一种音频储存格式,主要用于保存Windows平台下的音频源。WAV文件储存的是声音波形的二进制数据,由于没有经过压缩,使得WAV波形声音文件的体积很大

    WAV文件占用的空间大小计算公式是[(采样频率×量化位数×声道数)÷8]×时间(秒),单位是字节(Byte)。理论上,采样频率和量化位数越高越好,但是所需的磁盘空间就更大。

    通用的WAV格式(即CD音质的WAV)是44100Hz的采样频率,16Bit的量化位数,双声道,这样的WAV声音文件储存一分钟的音乐需要10MB左右,占空间太大了,一般不是专业人士(例如专业录音室等需要极高音质的场合)不会选择用WAV来储存声音。

    (2)APE

    APE,最原始的文件(WAV)通常是很大的,比如一盘CD上的音乐,就是700M左右,如果把它分离成每首歌曲,那每首歌曲文件的大小在20——60M。这样大的文件即占用硬盘空间,也不适合在网上进行传递。所以,通常要把这个原始的大文件进行压缩。其压缩方式有多种,可以分为两大类,一类是没有损失的压缩,比如用猴子(monkey.exe)这个软件就可以实现,它可以把这个原始的音乐文件(WAV文件)压缩到原来大小的50——60%,文件格式是APE。

    越来越多的人选择APE格式,网络传播是功不可没的,众多的音乐发烧友在网上交流APE格式音乐。

    (3)FLAC

    FLAC代表 Free Lossless Audio Codec - 免费的无损音频压缩。也就是说音频以FLAC方式压缩不会丢失任何信息。这种压缩与Zip的方式类似,但是FLAC将给你更大的压缩比率,因为FLAC是专门针对音频的特点设计的压缩方式,并且你可以使用播放器播放FLAC压缩的文件,就象通常播放你的MP3文件一样。

    FLAC更看重解码的速度。解码速度快

    FLAC的每个数据帧都包含了解码所需的全部信息。解码当前帧无需参照它前面或后面的数据帧。FLAC使用了同步代码和CRC(类似于MPEG等编码格式),这样解码器在数据流中跳跃定位时可以有最小的时间延迟。可以实现流化

    非常适合于存档应用:FLAC是一个开放的编码格式,并且没有任何数据的损失,你可以将它转换为你需要的任何其他格式。除了每个数据帧的CRC和MD5标记对数据完整性的保障,FLAC(译注:FLAC项目提供的命令行方式编码工具)还提供了一个verify(校验)选项,当使用该选项进行编码的时候,编码的同时就会立即对已编码数据进行解码并与原始输入数据进行比较,一旦发现不同就会退出并且报警提示。

    便于对CD进行备份:FLAC有一个“cue表”metadata数据块用于保存CD的内容列表和所有音轨的索引点。你可以将一张CD保存到一个单一文件,并导入CD的cue表格,这样一个FLAC文件就可以完整地记录整张CD的全部信息。当你的原来的CD损坏的时候,你就可以用这个文件恢复出与原来一模一样的CD副本。

    抗损伤:由于FLAC的帧结构,使得一旦发生数据流的损坏,损失会被限制在受损伤的数据帧之内。一般只是会丢失很短的一个片段。而很多其他无损音频压缩格式在遇到损伤的时候,一个损伤就会造成后面所有数据的丢失。

    3.有损压缩、无损压缩对应的视频文件格式:

    有损压缩格式:MPEG、AVI、ASF、MOV。。。。。

    无损压缩的图片格式:目前在windows操作系统之中也是存在无损压缩的视频,但是其并不是受限于格式限制,比如说MP4这种格式既可以支持高强度的视频压缩也是可以支持无损压缩格式,只不过是我们一般使用的多数都是有损压缩而已。

    有损压缩

    (1)MPEG格式

    MPEG的英文全称为Moving Picture Experts Group,即运动图像专家组格式,家里常看的VCD、SVCD、DVD就是这种格式。

    MPEG文件格式是运动图像压缩算法的国际标准,它采用了有损压缩方法,从而减少运动图像中的冗余信息。MPEG的压缩方法说的更加深入一点就是保留相邻两幅画面绝大多数相同的部分,而把后续图像中和前面图像有冗余的部分去除,从而达到压缩的目的。目前MPEG主要压缩标准有MPEG-1、MPEG-2、MPEG-4、MPEG-7与MPEG-21。

    MPEG-1:这种视频格式的文件扩展名包括mpg、mlv、mpe、mpeg及VCD光盘中的.dat文件等。

    MPEG-2:制定于1994年,这种视频格式的文件扩展名包括.mpg、.mpe、.mpeg、.m2v及DVD光盘上的.vob文件等。

    MPEG-4:制定于1998年,这种视频格式的文件扩展名包括.asf、.mov和Divx、AVI等。

    MPEG-7:MPEG-7并不是一种压缩编码方法,而是一个多媒体内容描述接口标准(Multimedia Content Description Interface)。继MPEG-4之后,要解决的矛盾就是对日渐庞大的图像、声音信息的管理和迅速搜索,MPEG-7就是针对这个矛盾的解决方案。MPEG-7力求能够快速且有效地搜索出用户所需的不同类型的多媒体材料。

    MPEG-21:MPEG-21标准称为多媒体框架(Multimedia Framework),其实就是一些关键技术的集成,通过这种集成环境对全球数字媒体资源进行透明和增强管理,实现内容描述、创建、发布、使用、识别、收费管理、产权保护、终端和网络资源抽取、事件报告等功能。MPEG-21的最终目标是要为多媒体信息的用户提供透明而有效的电子交易和使用环境,将在未来的电子商务活动中发挥重要的作用 [2]  

    (2)AVI

    AVI(Audio Video Interleaved)是音频视频交错的英文缩写,将视频和音频封装在一个文件里,且允许音频同步于视频播放。它于1992年被Microsoft公司推出

    这种视频格式的优点是图像质量好,可以跨多个平台使用;其缺点是体积过大,而且更糟糕的是压缩标准不统一,所以在进行一些AVI格式的视频播放时常会出现由于视频编码问题而造成的视频不能播放或即使能够播放,但存在不能调节播放进度和播放时只有声音没有图像等一些莫名其妙的问题,如果用户在进行AVI格式的视频播放时遇到了这些问题,可以通过下载相应的解码器来解决,与DVD视频格式类似,AVI文件支持多视频流和音频流。

    它对视频文件采用了一种有损压缩方式,但压缩比较高,因此尽管画面质量不是太好,但其应用范围仍然非常广泛。

    (3)ASF格式

    ASF(Advanced Streaming Format)高级流格式是Microsoft为了和现在的Real Player竞争而发展出来的一种可以直接在网上观看视频节目的文件压缩格式。用户可以直接使用Windows自带的Windows Media Player对其进行播放。它使用了MPEG-4的压缩算法,其压缩率和图像质量都很不错。因为ASF是以一种可以在网上即时观赏的视频流格式存在的,所以它的图像质量比VCD差一点,但比同是视频流格式的RAM格式要好 [2]  

    (4)MOV格式

    MOVQuickTime影片格式,它是Apple公司开发的一种音频、视频文件格式,用于存储常用数字媒体类型。当选择QuickTime(w.mov)作为保存类型时,动画将保存为.mov文件。Quick Time原本是Apple公司用于Mac计算机上的一种图像视频处理软件。

    QuickTime提供了两种标准图像和数字视频格式,即可以支持静态的*.PIC和*.JPG图像格式,动态的基于Indeo压缩法的*.MOV和基于MPEG压缩法的*.MPG视频格式。

    QuickTime因具有跨平台(MacOS/Windows)、存储空间要求小等技术特点,而采用了有损压缩方式的MOV格式文件,画面效果较AVI格式要稍微好一些。现在这种格式有些非编软件也可以对它实行处理,其中包括Adobe公司的专业级多媒体视频处理软件After Effect和Premiere等 [2]  

    (5)WMV格式

    WMV(Windows Media Video)是微软推出的一种流媒体格式,它是在ASF格式升级延伸来得。在同等视频质量下,WMV格式的体积非常小,因此很适合在网上播放和传输。

    (6)3GP格式

    3GP是“第三代合作伙伴项目”制定的一种多媒体标准,即一种3G流媒体的视频编码格式,主要是为了配合3G网络的高传输速度而开发的,也是目前手机中最为常见的一种视频格式

    (7)FLV/F4V格式

    FLV是Flash Video的简称,也是一种视频流媒体格式。由于它形成的文件较小、加载速度很快,使得网络观看视频文件成为可能,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好地使用等缺点,应用较为广泛。

    参考:https://baike.baidu.com/item/%E8%A7%86%E9%A2%91%E6%A0%BC%E5%BC%8F/123472?fr=aladdin

    拓展:https://zhidao.baidu.com/question/198672543990974885.html

     

    展开全文
  • 音频有损压缩技术

    2021-03-28 20:47:27
    前言 音频压缩技术的目标在两个点:一是将数据量压缩的越小越好;...音频压缩同时使用消除冗余信息方式的有损压缩和无损压缩技术。 音频冗余信息 音频压缩技术是在保证信号在听觉方面不产生失真的前提下,
  • 有损和无损压缩是两种数据压缩技术。 在本文的此处,您将了解什么是有损和无损压缩,它们的区别和用途。 什么是数据压缩? (What is Data Compression?) 数据压缩是减小任何数据或文件的存储大小,以使其在磁盘上...
  • 常见的图像无损压缩编码方法主要有霍夫曼编码、算术编码、行程编码LZW编码。 以上四种编码都属于统计编码的范畴,消除的是编码冗余,而预测编码消除的是像素间冗余。预测编码的基本思想建立在图像中邻近像素间高度...
  • 有损无损压缩对比

    2016-12-25 19:26:00
    本文为原创文章,转载请保留原出处。 当涉及到减少图片的大小时,你可以选择不同的压缩类型。在今天的文章中,我们将讨论有损和无损压缩两种类型的优缺点。方法没有对错,归根到底是根据不同的...
  • 有损压缩,在台湾、港澳又称作破坏性资料压缩, 常见的声音、图像、视频压缩基本都是有损的。 在多媒体应用中,常见的压缩方法有:PCM(脉冲编码调制 有损压缩 ),预测编码,变换编码,插值外推法,统计编码,...
  • 使用有损压缩学习更好的无损压缩 抽象的 我们利用功能强大的有损图像压缩算法BPG构建无损图像压缩系统。 具体而言,首先将原始图像分解为用BPG相应残差压缩后获得的有损重构。 然后,我们使用基于卷积神经网络的...
  • 与任何有损压缩一样,在压缩率数据失真之间要进行权衡。 LabComp是一种矢量量化技术,可让您根据矢量值选择矢量大小希望允许的最大允许失真。 更新已注意到,使用Burrows Wheelers变换LZ压缩技术可以对量化...
  • 基于LZW算法的数据无损压缩硬件实现,当前数据压缩技术分为有损压缩和无损压缩,算术编码、游程编码、霍夫曼和LZW压缩是传统的数据压缩方法,属于无损数据压缩;而基于小波变换的数据压缩和基于神经网络的编码方式是...
  • 有损压缩算法

    千次阅读 2019-01-17 17:05:10
    当图像直方图相对平坦时,使用无损压缩技术(例如,霍夫曼编码,算术编码,LZW)的图像数据的压缩比较低。对于需要更高压缩比的多媒体应用中的图像压缩,通常采用有损方法。在有损压缩中,压缩图像...
  • 浅谈无损压缩格式之FLAC与APE对比

    千次阅读 2020-03-15 08:35:41
    大家都知道,在音频压缩领域,有两种压缩方式,分别是有损压缩和无损压缩。 我们常见到的MP3、WMA、OGG被称为有损压缩,有损压缩顾名思义就是降低音频采样频率与比特率,输出的音频文件会比原文件小。 另一种音频...
  •  数据压缩技术一般分为有损压缩和无损压缩。无损压缩是指重构压缩数据(还原,解压缩),而重构数据与原来数据完全相同。该方法用于那些要求重构信号与原始信号完全一致的场合,如文本数据、程序和特殊应
  • 数据压缩是指在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率,或按照一定的算法对数据进行重新组织,减少数据的冗余和存储的空间的一种...数据压缩包括有损压缩和无损压缩。 ...
  • 因此,医学影像压缩也在被研究和利用, 图像存档与通讯供应商也提供不同的图像压缩方法,这些方法可以被分为两大类无损(reversible, lossless)压缩和有损(irreversible, lossy)压缩方法。无损压缩通常将图像逐位...
  • JPEG有损压缩过程介绍

    万次阅读 2017-06-04 18:06:33
    一、JPEG压缩是有损压缩,它利用了人的视角系统的特性,使用量化和无损压缩编码相结合来去掉视角的冗余信息和数据本身的冗余信息。JPEG算法框图如图: 二、压缩编码大致分成三个步骤: 1、使用正向离散余弦变换...
  • 它提供3种压缩方法以支持有损和无损压缩。 它还记录压缩的文件,适合个人和团队协作。 如何使用 步骤1:在project的build.gradle档案中: buildscript { repositories { jcenter() } dependencies { ... ...
  • linux 压缩和打包

    2015-03-31 12:02:18
    压缩技术一般分为两种:有损压缩和无损压缩。在linux中一般不允许有数据丢死,所以都是无损压缩。 linux中压缩技术一般可以分为两种: gzipbzip2 gzip gzip是先于bzip2出现的压缩技术,一般的使用方法如下: gzip...
  • matlab有损压缩代码export_fig 一个用于将图形从MATLAB导出为标准图像文档格式的工具箱。 概述 由于需要进行所有设置,并且由于某些怪癖(aka功能错误),以所需的方式(希望它在屏幕上显示)的方式从MATLAB导出...
  • 有两种主要的压缩算法: 有损和无损有损压缩算法通过移除在保真情形下需要大量的数据去存储的小细节,从而使文件变小。在有损压缩里,因某些必要数据的移除,恢复原文件是不可能的。有损压缩主要用来存储图像和音频...
  • 以全分辨率检测维护图像的高信息部分... 注意:您可以使用无损压缩算法(写入)来保存selectedSimplify的简化输出,以使高能部分保持原始(无损),而低能部分保持有损。 这可以提供更有效(选择性有损)的图像压缩。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 737
精华内容 294
关键字:

有损压缩和无损压缩