精华内容
下载资源
问答
  • 课程设计任务书 学生姓名 王晓飞 专业班级 通信1001班 指导教师 魏洪涛 工作单位 信息工程学院 题 目: 通信工程应用技术综合训练与实习 初始条件MATLAB软件平台 设计任务与要求: 图像通信之前需要进行数据量压缩编程...
  • 摘要 摘要 随着科学技术的发展,图像压缩技术越来越引起人们的关注为此从众 多的图像压缩编码标准中选取了基于 DCT 变换的 JPEG 图像压缩编码算法 进行研究并通过对比分析各种软件特性选取了 MATLAB 进行实验仿真 ...
  • 压缩后的图像码流在实际信道中传输时,不可避免地会发生...列举了有噪信道和拥塞网络对DCT编码压缩图像的各种不同影响,并回顾了相应的各种解决方案,包括重同步策略、差错复原、后处理差错掩盖、前处理差错控制等技术
  • 本博客主要是自己看的,看了下面这些...基于DCT的JPEG图像压缩的研究_马媛媛.pdf基于MATLAB的DCT变换在JPEG图像压缩中的应用_李秀敏.pdf基于DCT的JPEG图像压缩编码算法的MATLAB实现_钱裕禄.pdf基于Matlab的JPEG图像压

    本博客主要是自己看的,看了下面这些文章后就会很容易理解JPEG压缩编码的过程。

    书籍:

    1. 多媒体技术基础(第二版)林福宗————5.6  JPEG压缩编码

    论文:

    1. 基于DCT的JPEG图像压缩的研究_马媛媛.pdf
    2. 基于MATLAB的DCT变换在JPEG图像压缩中的应用_李秀敏.pdf
    3. 基于DCT的JPEG图像压缩编码算法的MATLAB实现_钱裕禄.pdf
    4. 基于Matlab的JPEG图像压缩方法研究_吴亚榕.pdf
    5. 基于DCT的JPEG图像压缩及实现_吴术路.pdf
    6. 基于DCT变换的JPEG图像压缩及其MATLAB实现_余秋菊.pdf
    展开全文
  • 利用离散余弦变换和游程编码技术相结合进行地震数据体的压缩研究,指出该技术是一种有损压缩技术。对于不同的松散度、信噪比等的数据其压缩比是不同的。在压缩过程中对层问信息和高频成分有一定的损失,损失的程度与...
  • PAGE II ? ? ? 南京师范大学泰州学院 ? 毕 业 论 文 ? 题 目 基于DCT图像压缩编码算法的研究 ?...要 随着科学技术的发展图像压缩技术越来越引起人们的关注为此从众多的图像压缩编码标准中选取了基于DCT变换的图像压
  • H264 无疑是目前应用最广泛的编码技术。一些比较优秀的开源库x264/openh264, ffmpeg等让人们处理h264编解码变得相对容易。为了能更好地理解和处理h264问题,还是有必要了解相关的原理 H264压缩技术主要采用了以下几...

    Android FFmpeg专题结构

    概述

    H264 无疑是目前应用最广泛的编码技术。一些比较优秀的开源库x264/openh264, ffmpeg等让人们处理h264编解码变得相对容易。为了能更好地理解和处理h264问题,还是有必要了解相关的原理

    H264压缩技术主要采用了以下几种方法对视频数据进行压缩:

    • 帧内预测压缩,解决的是空域数据冗余问题。
    • 帧间预测压缩(运动估计与补偿),解决的是时域数据冗徐问题。
    • 整数离散余弦变换(DCT),将空间上的相关性变为频域上无关的数据然后进行量化。
    • CABAC熵编码, 对量化后的系数进一步的压缩

    经过压缩后的帧分为:I帧,P帧和B帧:

    • I帧:关键帧,采用帧内压缩技术。
    • P帧:向前参考帧,在压缩时,只参考前面已经处理的帧。采用帧音压缩技术。
    • B帧:双向参考帧,在压缩时,它即参考前而的帧,又参考它后面的帧。采用帧间压缩技术。

    两个I帧间的图像序列就称为GOP

    gop.png

    Tip:对目前比较流行的直播和短视频来说,短视频的数据I帧会比较少,因为I帧数据比较大。而直播的话I帧比较多,因为客户端需要一进入直播间就能马上播放,一般是2s左右一个I帧

    宏块

    宏块是编码标准的基本处理单元,通常它的大小也为16x16像素。16X16 的宏块上可以划分出更小的子块。子块的大小可以是 8X16、 16X8、 8X8、 4X8、 8X4、 4X4。这主要看图像细节的丰富程度。比如下面的图片
    37.png

    宏块划分好后,就可以对H264编码器缓存中的所有图片进行分组了

    帧分组(即GOP)

    对于视频数据主要有两类数据冗余,一类是时间上的数据冗余,另一类是空间上的数据冗余。其中时间上的数据冗余是最大的。下面我们就先来说说视频数据时间上的冗余问题。

    为什么说时间上的冗余是最大的呢?假设摄像头每秒抓取30帧,这30帧的数据大部分情况下都是相关联的。也有可能不止30帧的的数据,可能几十帧,上百帧的数据都是关联特别密切的。

    对于这些关联特别密切的帧,其实我们只需要保存一帧的数据,其它帧都可以通过这一帧再按某种规则预测出来,所以说视频数据在时间上的冗余是最多的。

    下面是捕获的一组运动的台球的视频帧,台球从右上角滚到了左下角。
    40.png

    42.png

    通过宏块扫描与宏块搜索可以发现这两个帧的关联度是非常高的。进而发现这一组帧的关联度都是非常高的。因此,上面这几帧就可以划分为一组。其算法是:在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内,我们认为这样的图可以分到一组。

    在这样一组帧中,经过编码后,我们只保留第一帖的完整数据,其它帧都通过参考上一帧计算出来。我们称第一帧为IDR/I帧,其它帧我们称为P/B帧,这样编码后的数据帧组我们称为GOP

    所以如果场景一直没什么变化,则一系列视频帧中I帧的数量会很少。如果场景变换很复杂,一直在场景变换大的场景切换时就会有I帧出现。

    运动估计与运动补偿

    在H264编码器中将帧分组后,就要计算帧组内物体的运动矢量了。还以上面运动的台球视频帧为例,我们来看一下它是如何计算运动矢量的。

    H264编码器首先按顺序从缓冲区头部取出两帧视频数据,然后进行宏块扫描。当发现其中一幅图片中有物体时,就在另一幅图的邻近位置(搜索窗口中)进行搜索。如果此时在另一幅图中找到该物体,那么就可以计算出物体的运动矢量了

    44.png

    运动矢量计算出来后,将相同部分(也就是绿色部分)减去,就得到了补偿数据。我们最终只需要将补偿数据进行压缩保存,以后在解码时就可以恢复原图了。压缩补偿后的数据只需要记录很少的一点数据。如下所示:
    45.png

    现在在电视和投影上经常看到运动补偿(MEMC)的广告,其实并不是什么高深的技术,比如在上面的例子中,就是根据运动矢量,在帧与帧间插入新运动矢量,使得整个GOP中矢量变化更加平滑。

    帧内压缩(这部分也看不懂,后面补充)

    计算残差数据 —>DCT —> CABAC

    帧内预测,计数残差值

    H264的帧内压缩与JPEG很相似。一幅图像被划分好宏块后,对每个宏块可以进行 9 种模式的预测。找出与原图最接近的一种预测模式。

    然后,将原始图像与帧内预测后的图像相减得残差值。

    再将我们之前得到的预测模式信息一起保存起来,这样我们就可以在解码时恢复原图了

    对残差数据进行DCT

    CABAC

    上面的帧内压缩是属于有损压缩技术。也就是说图像被压缩后,无法完全复原。而CABAC属于无损压缩技术

    展开全文
  • 演示应用程序和相关代码,用于教授图像和视频压缩技术的原理和实现。 请参阅随附的用户手册以获取更多信息。 快速开始 从项目根目录中的命令start开始家庭演示屏幕。 要在演示之间进行导航,请使用屏幕工具栏中的...
  • 本节介绍图像压缩编码的基本原理,图像数据压缩和解压缩电路的基本结构。它们是看影碟机电路图的基础知识。  一、图像压缩的基本途径  图像的数据量极大,必须对其数据总量大大压缩,才能够存储在直径12cm的光盘...

    转自:http://blog.csdn.net/wishfly/article/details/52066859

    本节介绍图像压缩编码的基本原理,图像数据压缩和解压缩电路的基本结构。它们是看影碟机电路图的基础知识。

      一、图像压缩的基本途径

      图像的数据量极大,必须对其数据总量大大压缩,才能够存储在直径12cm的光盘上。在实用技术上,可通过以下途径来压缩图像数据的总量。

      1、采用亮度(Y)、色度(C)取样方式

      实用彩色电视技术没有传输、处理红、蓝、绿三基色信号,而传输、处理亮度信号Y和色度信号C。这种处理方法有利于实现彩色电视和黑白电视的兼容,也利于限制彩色电视信号的频带宽度。在数字图像处理技术中,仍然采用传输、处理亮度信号Y和色度信号C的方法。由于人眼晴对亮度信息敏感,对彩色信息不够敏感,因而对Y信号以较高清晰度传送,对C信号以较低清晰度传送。实际作法是这样的:对每个亮度Y像素都进行传送;而将色度C分解为U、V两个色差信号(或写为Cb、Cr、B-Y、R-Y),分别进行传送;对亮度Y实行逐点取样,而对色度C则取样较少。即对应于4个亮度取样点,仅对色度信号取样1个点,即对U、V像素的取样较低,各取1个取样点,这种取样格式称为YUV411格式。

      采用YUV411取样格式后,它的数据总量将比三基色取样量格式时减少一半。若采用三种基色取样方式时,各基色应与亮度信号取样方式一样,即对每个红、绿、蓝色采取逐点取样的方法。采用Y、C传输方式时,取样次数减少一半,传输数码也减少一半。人眼睛对色度的敏感程度较低,利用人眼睛这一生理视觉特性,人们在主观感觉上并没有感到图像清晰度下降。显然,这是压缩图像数据码率的一个得力措施。

      2、将整幅图像分割为小区域进行分割处理

      对图像进行数据处理时,对每帧图像进行分割处理。首先图像横向切成若干条,每一条称为一片,将每一片再纵向切成若干块,称宏块,宏块是图像压缩的基本单位。每个宏块的彩色图像可用1个亮度信号Y和两个色差信号Cb、Cr(即U、V)来表示,或者说,每个宏块分为三层,一层亮度Y,两层色度(各为Cb、Cr),统称为一个宏块。

      由于人眼睛对亮度、色度的主观敏感程度不同,通常把亮度宏块再平均分成4块,每一小块称为像块或区块,详见示意图2.2.1。每个区块可以进一步分割,称为像素或像点,像素是构成图像的最小单位。对于数字图像来说,每一个像素作为一个取样点,有一个对应的取样数值。可以看出,图像分割越细,像素数越多,取样点越多,图像清晰度越高;反之,像素数越少,图像清晰度越低。实际上,对图像压缩处理,就是对图像区块的数据、像素的数据进行压缩处理。

      彩电制式不同,分割图像的具体数据将有所变化。例如PAL制,大多数为625行扫描标准,那么每帧图像被切为18片,每片再切成22个宏块,即每帧图像分成396个宏块;而525行的NTSC制,每帧图像被切为15片,每片再切成22个宏块,即每帧图像分成330个宏块。对亮度信号来说,每个宏块又分为4个区块,每个区块含有8×8=64个像素,则每个宏块含有256个像素。但对两个色差信号来说,宏块像素数等于区块像素数,即像素数是8×8=64个,是亮度像素的1/4。尽管两色差信号的像素较少,清晰度低,但不影响人眼睛的主观感觉。在进行数字图像处理时,按照图中各个8×8方块( 共64块) 编成次序,再按照编号顺序依次处理。也就是说,以8×8像素的方块作基本操作单元,依次处理每个像素(即取样点)的取样数值。

      3、采用帧间和帧内数据压缩技术。

      实用电视每秒钟传送25-30帧画面,使画面变化具有连续感,电视活动图像是由各帧画面差别很小的一系列画面组成的。各帧画面的微小变化主要表现于画面主体部分,画面的背景差别很小。图像是由亮度、色度信息来描述的,在各相邻帧图像内,若分别比较同一相对位置的亮度、色度信号,通常其差别较小。经大量统计发现,在各个像素当中仅有10%以下的像素点的亮度差值变化超过去时2%,而色度差值变化在0.1%以下。在各帧图像中具有大量重复内容,这些重复内容的数据属于多余(冗余)信息,于是,可以通过减少时域冗余信息的方法,即运作帧间数据压缩技术,来减少图像传输的数码率。

      经分析发现,在同一帧画面内也存在相当多的冗余信息。对图像主体部分和眼睛最敏感的部分,应当准确、详细地处理,需要对每个像素点进行精细传输;但对于图像非主体部分和眼睛不敏感的部分,则可以进行粗略地处理,即进行信息数据的压缩处理。于是,可以根据一帧图像内容的具体分布情况,对不同位置可采用不同的数据量来传送,减少传送图像的数据量,使图像数据得到压缩。这种压缩数据的方法,是在同一帧图像的不同空间部位进行数据压缩,称为空间域冗余压缩。例如,有一幅人像画面,其面部和头部的线条清晰度可以不相同,尤其是眼睛、嘴唇部位表情丰富,线条比较精细复杂,是观众最注意的部位,应当用高清晰度传送;而头顶部位和面颊侧面,轮廓变化较少,灰度层次变化较小,观众不太注意这些部位。显然,图像的主要部位,灰度层次变化较大的部位,人眼睛敏感的部位,应当以较大数据量进行精细传送;而那些图像的次要部位,灰度层次变化较小的部位,人眼睛不注意的部位,则可用较少数据量进行粗略传送,甚至于仅仅传送它们的平均亮度信息。

      以下具体讨论数字图像的数据压缩原理。先讨论静止图像的数据压缩技术,即帧内数据压缩技术;然后讨论活动图像的数据压缩技术,即帧间数据压缩技术。

      二、帧内数据压缩技术

      首先对整幅图像进行分割处理,经分割取得最小操作单元。下面按8×8=64个像素组成的区块来计论。每一个像素值都可以按一定规律取样,例如可对亮度各个像素的亮度值取样,若每个像素按8bit量化,则每个区块的总数据量为8bit×64(像素点),即512bit。可见,对全画面各像素量化处理后数据量十分庞大,需要进行数据压缩。通常,经过离散余弦变换,Z字型扫描,可变长度编码等处理过程,可将数据总量进行大量压缩。

      1、离散余弦变换(DCT)编码

      (1) 功能简述

      离散余弦变换简称为DCT(是英Discrete Cosine Transform的缩写词),是一种数字处理方法,经常用于数据处理。DCT是多种数字变换方法的一种,它是把空间域图像变换到频率域进行分析的方法。由于DCT的变换核构成的基向量与图像内容无关,而且变换核是可以分离的,既二维DCT可以用两次一维DCT来完成,使得数学运算难度大大简化,再配以已经发现的其它快速算法,使得DCT编码得到了广泛的应用。将DCT应用于图像数据压缩,可以减少代表图像亮度(或色度)层次数码信息,达到数据压缩的目的。利用DCT不仅可将图像编码,还可以在编码变换过程发现图像细节的位置,以便删去或略去对视觉不敏感的部分,而更加突出视觉的敏感部分,通过选择主要数据来传输、重视图像。

      利用DCT压缩图像数据,主要是根据图像信号在频率域的统计特性。在空间域看来,图像内容千差万别;但在频率域上,经过对大量图像的统计分析发现,图像经过DCT变换后,其频率系数的主要成分集中于比较小的范围,且主要位于低频部分。利用DCT变换揭示出这种规律后,可以再采取一些措施把频谱中能量较小的部分舍弃,尽量保留传输频谱中主要的频率分量,就能够达到图像数据压缩目的。

      (2)规律和特点

      ①时间域信号的频谱

      对于一个随时间变化的波形来说,它是随时间变化的周期信号,它是以一定幅度值为波形的直流平均值,其波形可看成是基波与无数次谐波叠加而成。其基波振幅最大,然后各次谐波振幅逐渐减小。各次谐波叠加次数越高,则合成波形越接近于理想矩形波。此分析方法就是应用日益广泛的频谱分析方法。其中各次正弦波谐波的振幅值经常称为频谱系数,将频谱系数排列起来,可以组成一个系数列。上述事实说明,周期性矩形波可以由时间域 (反映幅度-时间关系)来描述,也可以由频率域(幅度-频率关系)来描述。两者有互相对应的关系。实际上,各种时间域信号都可以由频率域的规律来描述,两种描述方法存在内在的联系,可以互相转换。

      ②空间域信号的频谱系数

      对于各种空间域分布的信号,也可以进行类似的频率变换,即将空间域信号转变为频率域信号。DCT就是其中一种频率分析方法。可参阅图2.2.2来说明DCT变换过程。

      由图像内取出一个区块,分成8×8个像素的64格阵列,即由图(a)转变为图(b)。经过对逐个像素的亮度(或讨论色度)数值取样,并将像素的亮度数值列成矩阵形表格,见图(C)。然后利用离散余弦变换(DCT)可将各空间取样值转变为频率域的数值,这里称为DCT系数。

      对于上述64点阵列来说,可得到64个DCT系数,转换为图(d)矩形阵列表格。它已经将64个点的图像采样值组成的阵列,变为一个直流平均值和63个不同频率余弦波幅值组成的64个点阵列,并称为DCT系数阵列。经过上述变换后,已将空间坐标的数据转换为频率坐标的数据,即DCT频率系数。原有8×8区块的各个像素的数值取样量化后,转变为频率域图像信号的频谱系数,即可用64个频率系数来表述,称它们为64个“正交基信号”,每个基信号对应于64个独立二维空间频率中的一个。这些空间频率是由输入信号的“频谱”组成。所得64个变换系数当中,第一项代表直流分量,即64个空间图像采样值的平均值,其余63个系数代表各基信号的幅度。

      观察图2.3.2(d)数据可发现规律,矩阵左上角的数值较大,而右下角的数值较小,且趋近于零值。于是,可以按照Z字形扫描顺序,将各基信号的DCT系数列成一个表格。Z字形扫描的具体轨迹,如图2.3.2(e)所示。按照此规律将DCT系数排列成数据系列,成为DCT系数编码顺序。经过上述处理后,已将二维数据量转换为一维数据量,该数列第一项是该区块的平均亮度值,后面各项系数的分布和大小可以反映亮度起伏变化的剧烈程度。若系数较大,说明亮度起伏较大,该区域图像轮廓较细致;若数值较小,则说明该区内亮度变化较平缓;若数值为零,表示数列中高频分量数值为零,亮度电平无变化。在实际数据处理过程中,排在后面的系数值基本上都有是零值,或者趋于零值。由63个系数集合及变化情况,可反映出该区块内图像细节情况,即图像清晰度状况。

      图(d)矩阵数值非常具有实用价值。左上角数值较大,它们代表了图像信息的直流成分和低频分量,它是图像信息的主体部分,也是区块内信息的主要部分;而右下角数值较小,它们代表了图像信息的高频分量,其幅值原本就比较小,它主要反映图像的细节部分。人眼睛对图像的亮度信息有较高的相对灵敏度,对图像的彩色信息不够敏感;还有,人眼睛对图像信息的低频分量具有较高的视觉灵敏度。经Z字形字扫描后所形成的数据系列,恰好与人眼睛对图像信息的敏感程度形成良好的对应关系。根据视觉生理的上述规律,可对图像数据进行压缩。

      2、DCT系数的再量化处理

      经过上述DCT处理的频率数据可以进行再处理,进一步压缩数据量。人眼睛对各种频率的敏感程度不同,并可取得统计性灵敏度数值。由此可对每种频率分量设定不同的折算值,将前述经转换得到的DCT系数再次进行折算,以便进一步突出视觉效果影响大的成分,而消弱或忽略视觉效果影响小的成分。这种处理方法称为量化处理,简称Q处理。对于64点阵列的64个系数来说,对应了64种不同频率,可使用64个不同的折算值。通常称这64个折算值为量化表,每个折算值称为量化步长,或称量化值。在64点阵列中,左上角的数据量化值较小,右下角的数据量化值较大。对DCT系数的再量化处理,可利用量化器电路来实现。该电路可将区块的64个系数分别除以量化表中对应位置量化步长,再进行四舍五入取整后,即可得到经过再量化处理的64个数据值。

      经过量化处理后,量化值大的系数值所得商值较小,也就是数据压缩比较大,原图像相应部分的忽略内容较多;量化值小的系数所得商数值较大,也就是数据压缩比较小,原图像相应部分不予忽略或极小忽略。于是,经过量化处理后的DCT系数矩阵,可出现许多零值。一般左上角位置的数据的商数是非0,在右下角位置的数据的商数很小,经四舍五入取整值后可简写为0。在系数矩阵上出现了许多0值,则大大减少了数据量。一方面保留了图像信息的主体部分,另一方面大大压缩了像数据。

      3.可变长度编码(VLC)

      经量化处理的系数矩阵出现了许多0值,若进行Z字形扫描时,后面的系数将也出现连续0的状况。此时,数据传输总量已经明显减少,但码位并未减少,仍为64个系数位。为了进一步压缩数据总量,可采用可变长度编码,并简称VLC(Variable Length Coding)。

      通常,采用两种方法进行可变长度编码。第一种,是根据数据出现的频率,分配以不同长度的码字来代替,对于频繁出现的数据,分配以较短的码字,那些不经常出现的数据,则赋予较长的码字,这样处理后可减少传输的总码率。第二种方法,虽然Z字形扫描使系数列尾部出现多个0个值,但不需要逐位地传输0值,仅需传送表0的“个数”码,待重放时再按规定恢复为0位,以便填满矩阵的64位。例如00000,则可表示为50,在解码时恢复为00000。

      总之,对于静止画面来说,采用离散余弦变换,Z字形扫描、量化处理和可变长度编码等方法,可使图像数据量大大压缩。在数据解码时,先经过可变长度解码,恢复为数据的固定长度;再对系数进行反量化,恢复为原来的DCT频率系数;再经过反向离散余弦变换,恢复为图像的空间坐标数值,即原来图像的数据。

      三、帧间数据压缩技术

      对于活动图像来说,相邻帧的图像具有强烈的相关性。在保存和记录动态图像时,不需要将每一帧图像的全部信息都记录和保存下来,可以将前面第一帧图像全部数据都记录下来,把它看成是静态图像,可用静态图像数据压缩方法来处理。而后面诸帧图像,可以仅记录与前面帧图像有差异的信息。于是,在重放时,利用前面帧图像的数据和后面帧的差异数据,即可恢复出后面帧的图像。这种处理方法省去许多数据。

      1、三种画面

      按照MPEG-1标准,传送的活动画面可分为3种类型。第1种,是场景更换后的第1帧画面,它是一种独立的画面,这种画面采用较高清晰度的逐点取样法进行传送,此画面称为I画面(内码帧,或称帧内编码帧)。该画面信息是由自身画面决定,不必参考其它画面。该画面的数据代表了活动图像的主体内容和背景内容,它是电视画面的基础。第2种,是与I画面相隔一定时间、活动图像主体位置在同一背景上已发生明显变化的画面,此画面称P画面(预测帧,或称前向预测编码帧)。该画面用前面的I画面作为参考画面,该画面不传送背景等重复性信息,仅传送主体变化的差值,这就省略了一部分细节信息,而在重放时依靠帧存储器将I画面的主要部分和P画面的差值进行运算,即可得出新画面的完整内容,它是既有背景又有现时运动主体状态的实际画面。第3种,其情况与P画面相似,用来传送在I、P画面之间的画面,称B画面(双向预测帧,或称双向预测内插编码帧)。该画面仅反映在I、P画面之间的运动主体变化情况,并用位移矢量(或称运动矢量等)表示画面主体移动情况。其信息量更小些。因为在重放它时,既可参考I画面内容,也要参考P画面内容,所以称为双向预测帧。

      将一串连续相关的画面分为I、P、B型后,传输信息量明显减少。在P、B画面当中,几乎不传送反映实物的象素,仅传送其主体移动的差值,其具体的处理方法是采用了区块对比的方法,在两个变化的画面当中,将区块或宏块作为处理单元,将一个画面的宏、区块与参与 画面中邻近范围内的宏、区块进行数值运算对比,寻找与该块最相近、误差最小的区块,找到近似的该区块后,记录该区块在两个画面中的位移值,即为位移矢量以及反映两画面的差值量。若位移矢量坐标变化为0,说明该块没有移动,例如相同的背景景物;若位移矢量值有变化,而区块差值为0,则说明景物有移动,而形状没有变化,例如飞行中的球类和奔驰的车辆等。可见,位移矢量和区块差值可在重放时依靠参考画面得出新画面的完整场景,而传送时却省略了背景和主体内容,只传送代表位移矢量和差值的少量数据,使图像得到大量压缩。

      2、三种画面的连接

      通常,更换场景后的第一帧就是I帧,I帧应当全帧传送。从压缩的程度来看,I画面的压缩量最少;P画面次之,它是以I画面为基础;B画面压缩最多。为了加大压缩比,通常在I帧后面相隔2帧(最多3帧)设置1个P帧,在I、P帧之间都是B帧,在两个P帧之间也是设置2~3帧B帧。B帧传送它与I帧或P帧之间的差值信息,或者P帧与后面P帧或I帧之间的差值信息,或者它与前后I、P帧或P、P帧平均值之间的差值信息。当主体内容变化愈大时,两个I画面之间的帧数值越小;当主体内容变化小时,I面画的间隔可以适当大一些。或者说,B帧、P帧所占比例越大,图像压缩比越高。一般两个I画面相隔13~15帧,相隔帧数不宜再多。

      下面以15帧为例,说明VCD图像帧的排列顺序。I、P、B三种画面的典型设置方式,对NTSC制共约需半秒时间。节目输入顺序是按实际出现顺序排列的,即I、B、B、P、B、B、P、B、B……I、B、B、P……;但为了解码时便于从I、P画面插补得到B画面,在编码录制节目时,将顺序改变了,即按照I、P、B、B……顺序,即改为按原来0、3、1、2、*、5、9、7、8…的画面顺序。解码时先解出0帧、3帧,再由其插补预测计算得出1帧、2帧等等。为此,须在解码器内设置动态存储器,将I、P帧先解码并存储,再计算出各个B帧。不过最后输出时,还是应当按照实际播放顺序重组读出,按正确顺序输出。

      VCD采用的帧间压缩技术标准,对图像编码顺序和各帧间隔是有具体规定的。采用帧压缩技术后,各帧之间的信息冗余量大大减少,图像码率进一步压缩,压缩比可达3-20余倍。

      四、图像压缩编码过程和解压缩过程

      1、编码过程

      这里谈谈VCD所采用MPEG-1标准的编码过程。因为相邻帧画面相同或基本相同,将这种画面群的第1幅画面作为I画面,将它送入编码器。编码器首先将它割裂为许多片、宏块、区块等,将各区块分割为8×8=64点阵列,再进行Z字形描述和DCT变换,将64个亮度(或色度)取样数值变换为64个DCT系数,再对64个系数值分别进行相应的量化,经量化处理后再进行VLC处理,即得到了代表一个区块数据的最短的数码,至此,完成了该画面群第1帧的第1列图像中第1宏块的编码。依次类推,可得到第1帧画面的全部压缩数据编码。原为二维空间的一帧图像信息已经转变为一维空间的串行数据,这些数据被全部存储起来,成为继续进行数据处理的基础。至此,I画面数据处理完毕。

      完成第1帧图像压缩编码后,接着输入第2帧图像。编码器按照相同的方法步骤对第2帧进行压缩编码,得到第2帧数据。此时,编码器不再将第2帧数据进行完整的存储和传送,而是将它与第1帧数据进行比较运算。若运算中发现,两帧间数据差别很小时,说明两帧图像差别不大,仅将其差值存入存储器,而舍掉其大部分重复数据。按照此方法再进行第3、第4帧编码,并进行比较运算,直到找到某一帧,差别较大且超过规定值时,再将此帧数据中与第1帧的差别(包括位移矢量和差值)部分存储起来,并将此帧数据排在第1帧(I帧)后面传送出去,该帧就是P画面。当传送I、P画面后,再传送3、4帧的差别数据,这些画面都是B画面。它们之间的差别不大,是处于I、P之间的画面。按照此程序和方法,可再选出许多组P和B画面。通常,每隔13~15帧后,再设置一个I画面,作为后续画面的参考基准。如遇到较新的场景,将出现一幅不相同的新画面,这幅新出现的画面也作为I画面。

      图2.2.3是MPEG-1图像压缩编码器方框图。代表亮度Y和色度分量CB、CR的二进制数码化信号,首先进入帧改组器(或称帧重排电路),将画面分割为片、宏块、区块。区块经过比较

      运算电路再进入DCT电路、量化器、VLC电路,取得已压缩数据。再将数据送到多路混合器和传输缓冲器。传输缓冲器用于暂存压缩数据,并按照控制指令的先后按时序输出数据。该缓冲器通过调整器(又称为量化自适应器)与量化器相连接。调整器可用来检测缓冲器的缓冲区的数据暂存程度,并根据暂存数据量自动调整量化步长。在编码器内设置有反馈通路,它主要包括反量化器(Q-1)、离散余弦逆变换(IDCT)、相加器以及IPB画面帧存储器等。反馈回路用于预测图像产生,进行画面分类处理(计算、区分并处理IPB画面),主要用于帧间数据压缩编码处理。还有,运动预测和补偿电路可用于运动补偿。

      2、图像解压缩电路方框图

      图像解压缩电路简称为解压电路、解码电路。VCD视盘机内,经过数字信号解调电路(CD-DSP)处理后,输出压缩编码视频数据流,需要经过视频解压缩电路进行数据解压缩,恢复为未压缩的视频信号。解码过程是编码的逆过程,图2.2.4是MPEG-1视频解压缩电路方框图,其电路结构比编码器稍简单一些。

    图2.2.4 MPEG-1视频解压缩电路方框图

      来自CD-DSP电路的压缩编码信号送到输入缓冲器,然后进入去混合电路,将图像的编码模式标志,运动向量(位移矢量)和图像数据分离开,分别送往帧存储器和解压缩主通道电路。

      主通道要处理I、P、B帧数据,这些数据已经按照图像编码系列的规定,以数据封包头标指出,这些数据分别暂存在缓冲存储器的存储区内,根据数据量大小暂存在容量不同的存储器区中。在微处理器控制下,先将I画面数据按序取出,送到VLC(可变长度码解调器),按照ROM存放的可变长度码对照表,逐一将编码时压缩的码位恢复为压缩前的DCT量化值,再将各区块分为64个数据的量化值逐位乘以反量化参数,这些参数位于ROM中存放的64位视觉心理模式量化表的相对位置,重新恢复为DCT频率系数,完成反量化过程。

      经过反量化的数据,再送入IDCT(离散余弦逆变换)电路。这是另一次逆变换,也是通过查表法,将反量化值所代表的各频率余弦分量的幅值进行逆变换,重新恢复为DCT变换前的图像(Y、CB、CR)取样数据,从而取得代表图像压缩前的区块信息。4个区块的信息组成一个宏区块,若干个宏区块组成片,再由若干片组成完整画面的总数据,这就是I帧画面。这些繁重的相加工作都需要在加法器中进行。

      恢复出来的I帧画面数据存入帧存储器。I画面与后续输入的P画面数据相加,可恢复出P画面,P画面也存入帧存储器。然后根据运动矢量和运动后图像差值(即B画面数据),与I、P画面存储数据在加法器中相加,并受编码模式信号的控制,以便决定I、P图像的成分多少,从而恢复出不同前后的B帧画面。经以上处理所得I、P、B各种画面数据都需要存入缓冲存储器,还要根据编码模式的指示及输出制式的帧频要求,按照I、B、B、P、B、B、P、B、B…B、I、B、B、P、B…的正常顺序进行重新编排,按照一定的速度从帧重排电路输出。输出的解压缩数据送到D/A转换器,转变为R、G、B三基色模拟信号。

      通常,在解压缩电路还要辅设视频编码器和调制器。视频编码器可将三基色信号编码为NTSC/PAL制彩色电视信号,并加入同步、消隐、色同步和彩色副载波信号等,以视频模拟全电视信号形式输出。这种输出形式的信号需要输送到电视接收机的AV输入端口。但是,有些老式电视机没有设置AV输入端口,为了适应这种现象,输出的视频全电视信号需要再一次进行高频调制,利用调制器以某个特定频道的RF调幅形式输出电视信号。此时,VCD机需要设置RF输出端口,其输出信号可直接送到电视机的天线输入端口。

    展开全文
  • 基于DCT编码新进展

    2013-05-06 18:22:34
    式零树小波编码以及Said 等人提出的集合分裂等级树编码的成功应用, 使图像及视频信号的压缩编码提高到了新 阶段, 这虽然对传统的DCT 编码提出了挑战, 然而, Xiong 等人利用嵌入式DCT 块变换之间直流系数(DC) 的高度 ...
  • 制定了流行的压缩技术,以深入了解这些方法的实际实现。
  • 本文通过比较 JPEG 编码器来进行图像压缩DWT 压缩DCT 压缩的性能。 小波变换已经出现图像压缩领域的尖端技术。 基于小波的编码提供以更高的压缩比显着提高图像质量。 由于多分辨率特性小波变换,它们已被 JPEG...
  • 基于此,提出了一种基于快速离散余弦变换的嵌入式零树编码实现地形数据压缩与实时粗粒度LOD渲染结合的算法。首先对分块后的地形数据分别进行快速离散余弦变换,然后对得到的系数进行聚类操作,最后对其进行嵌入式零...
  • 北京广播学院电视工程系 教授 郭斌3)量化 DCT系数采用量化(Quantization)进行压缩是1个关键性的运算,因为组合量化和游程长度编码可以提供最大的压缩量,也可以通过量化使编码器输出匹配成1个给定的比特率。...
     
    

    北京广播学院电视工程系 教授 郭斌

    3)量化

        DCT系数采用量化(Quantization)进行压缩是1个关键性的运算,因为组合量化和游程长度编码可以提供最大的压缩量,也可以通过量化使编码器 输出匹配成1个给定的比特率。实际上,自适应量化是实现视觉质量的关键性工具之一,在量化中会减少频率域中描述DCT系数的精度。这一点可从图26基本 MPEG编码器的运动补偿预测编码过程简化电路图看出。用当前帧的原始图像的取样值减去当前帧解码复原值,其差值为:

    fn - fn’= f n - e’n-f*n  =  en+f*n - e’n - f*n = en- e’n = qn        (4)       

        式(4)中qn为量化误差,即量化误差的大小决定了图像恢复的精度。这表明,可以利用调整量化器误差大小来调整量化精度的高低。实际量化如图27所示,是 DCT编码输出的系数块中的每DCT系数除以量化器表中与其系数对应位置上的量化步长。量化步长是1个大于1的值,可根据编码图像的复杂度改变,甚至可对 每个DCT块改变量化矩阵值。根据DCT的结果分析,直流分量DC体现了大多数普通图像的内容,应该用较小的量化步长去分配;交流分量AC只体现了普通图 像所包含频谱中的很少一部分,应该用较大的量化步长去分配。量化的结果如图24所示,量化了的不同频率的频域系数趋向“0”值,而且这些大群的“0”在许 多情况下都是群集在较高频率上。因此,通过一串“0”的个数的编码而不是对每个单独的“0”本身的编码,可以取得附加的压缩效果,这就是游程长度编码 (RLC-Run Length Coding)。

    4)编码

        编码是DCT压缩系统的最后一步。在对64个DCT系数均匀量化后,系数分成为直流(DC)和交流(AC)两个部分。DC系数代表了分量模块的平均亮度, 可采用差值脉冲编码调制(DPCM)进行编码;对AC系数,由于非零的DCT系数大多数集中在矩阵的左上角,在进行编码之前先对量化后的DCT系数进行“ 之”字形扫描,有利于得到一个长的“0”序列,提高编码效率。DCT系数扫描方式有“之”字形和“准之” 字形两种。逐行扫描采用“之”字形传送量化后的DCT系数,隔行扫描采用“准之”字形传送量化后的DCT系数,两种扫描方式如图28所示。

       通过“之”字形扫描,将8×8的像素块转换成为1×64的码组,以便进行游程长度编码(RLC)和可变长度编码(VLC),如图29所示。

     

        为了说明RLC和VLC,这里以图24中的量化输出编码为例,加以说明。量化输出矩阵如图30;量化输出的十进制值出现的概率统计如表3;变长编码如表 4。由表4可见,概率大的得到短编码,概率小的得到长编码。如果将这些编码按照图29中“之”字形扫描后数据流排序排列起来,如图31所示。

     

     

        由图30,31和表3,4可见,原始的8×8像素块要用64×8=512比特,量化和变长编码后要用100比特,高于5:1压缩。经过游程长度编码后,二 进制编码的新数据流为58比特,其压缩比高于8:1。显然,编码是码率压缩的关键,因为编码是对数据流中的每个符号分配一种特定的码值的过程,选择最有效 的码值决定了编码的有效性,从而有效地降低熵值。这里,对DC分量进行DPCM编码以及对AC分量进行变换编码,如DCT,都是为了降低熵值 ;对AC分量进行熵值编码,如RLC和VLC,都是为了减少比特数。

        图32为DPCM编码的例子。由图可见,原数据需要传输75比特的数据,通过DPCM后,只需要传输47比特的数据,压缩比为1.6:1。图33是RLC编码的实例,由图可见,原数据52比特经过RLC后,压缩为16比特,压缩比为3.25:1。(未完待续)

    展开全文
  • 北京广播学院电视工程系 教授 郭斌3)量化 DCT系数采用量化(Quantization)进行压缩是1个关键性的运算,因为组合量化和游程长度编码可以提供最大的压缩量,也可以通过量化使编码器输出匹配成1个给定的比特率。...
  • 等人于1974年提出的离散余弦变换(DCT-Discrete CosineTransform)压缩算法,降低视频信号的空间冗余度(SpatialRedundancy)。因为静态图像和预测误差信号两者具有非常高的空间冗余度,为降低空间冗余度最广泛地...
  • 等人于1974年提出的离散余弦变换(DCT-Discrete CosineTransform)压缩算法,降低视频信号的空间冗余度(SpatialRedundancy)。因为静态图像和预测误差信号两者具有非常高的空间冗余度,为降低空间冗余度最广泛地...
  • 首先,通过使用霍夫曼编码对提取的秘密消息进行压缩,因为压缩后的字符串中的内容将非常难以检测和读取,而且减小了字符串的大小。 霍夫曼代码是将一个符号映射到一个代码字的最佳代码。 对于图像,霍夫曼编码将二...
  • JPEG压缩编码算法原理

    万次阅读 2017-11-16 15:33:12
    本文介绍JPEG压缩技术的原理,对于DCT变换、Zig-Zag扫描和Huffman编码,给出一个较为清晰的框架。 1. JPEG压缩的编解码互逆过程: 编码 解码 2. 具体过程
  • 对于三色大数据点图像压缩传输技术,常用的编码有霍夫曼编码、游程编码等,由于图像像素取值为0~255,不具有规律性,拟采用变换得到易于编码的图像。   步骤一:色彩转换和重采样 利用图片中亮度信息与色度信息...
  • 数字图像信号压缩的编码分析,高玉芳,刘洋,本文主要研究图像压缩编码理论,包括两个部分内容:编码技术和编码流程。在编码技术中,我们详细介绍了预测编码、DCT变换编码、数
  • . . . 实验三 基于 DCT的数字图像压缩及 Matlab 实现 2011 通一 刘一强 一实验原理 图像...在信息论中称 为信源编码 图像压缩是通过删除图像数据中冗余的或者不必要的部分来减小图 像数据量的技术 压缩过程就是编码过程
  • 分析了图像压缩的相关技术,主要针对变换编码中的DCT和小波变换
  • JPEG压缩原理(DCT

    2017-04-10 14:35:29
    本文介绍JPEG压缩技术的原理,对于DCT变换、Zig-Zag扫描和Huffman编码,给出一个较为清晰的框架。 1. JPEG压缩的编解码互逆过程: 编码 解码 2. 具体过程:(这里仅以...
  • 变换编码DCT)基本理解

    千次阅读 2020-03-23 14:20:01
    高频比较少,所以适当的变换可以使图像能量在空间域的分散分布转换为在变换域的相对集中分布,以达到去除冗余的目的,结合量化,“z”扫描和熵编码等其他编码技术,可以获得对图像信息的有效压缩DCT变换的基本...
  • 实验三 基于 DCT 的数字图像压缩及Matlab 实现 一实验...为信源编码图像压缩是通过删除图像数据中冗余的或者不必要的部分来减小图 像数据量的技术压缩过程就是编码过程解压缩过程就是解码过程压缩技术 分为无损压缩
  • 随着科学发展,图像压缩技术越来越被人们所关注。为此从众多的图像编码标准中选取了基于DCT变换的JPEG图像压缩进行研究,并通过对比分析各种软件特性选取MATLAB进行实验仿真。
  • 无损压缩是存档的首选,通常用于医学成像,技术制图,剪贴画或漫画。 有损压缩:有损压缩是一种数据编码方法,它通过丢弃一些数据来压缩数据。 该过程旨在最大程度地减少需要由计算机保存,处理和/或传输的数据量。 ...
  • 图像压缩-从DCT到小波: 纵览

    千次阅读 2013-02-07 19:30:09
    近来兴起的数据密集的基于多媒体的Web应用不但需要信号和图像的更有效的编码方式,而且要求对这些信号做基于 存储和通信技术压缩。静止图像的压缩,已经有ISO(国际标准化组织)和IEC(国际电工技术委员会)建立的...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 170
精华内容 68
关键字:

dct压缩编码技术