多媒体通信毕业设计论文(编辑修改稿)内容摘要:
图 22 zigzag 扫描示意图 DCT 将一个 8x8 的数组变换成另一个 8x8 的数组 . 但是内存里所有数据都是线形存放的 , 如果我们一行行的存放这 64 个数字 , 每行的结尾的点和下行开始的点就没有什么关系 , 所以 JPEG 规定按如下 图中的数字顺序依次保存和读17 18 24 47 99 99 99 99 18 21 26 66 99 99 99 99 24 26 56 99 99 99 99 99 47 66 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 取 64 个 DCT 的系数值。 表 33DCT 系数值 这样数列里的相邻点在图片上也是相邻的了。 不难发现,这种数据的扫描、保存、读取方式,是从 8*8 矩阵的左上角开始,按照英文字母 Z的形状进行扫描的,一般将其称之为 Zigzag 扫描排序。 如下图所示: 图 23 z 扫描示意图 DC 系数调制编码 在做 DC 编码之前,还必须对 DC 值进行脉冲差值运算, 88 图像块经过 DCT变换之后得到 的 DC 直流系数有两个特点,一是系数的数值比较大,二是相邻 88图像块的 DC 系数值变化不大。 根据这个特点,才使用了差分脉冲调制编码( DPCM)技术,对相邻图像块之间量化 DC 系数的差值( Delta)进行编码, Delta= DC(0, 0)kDC(0, 0)k1 具体做法是在 Y、 Cb、 Cr 频率系数矩阵中,后一个 88 块的 DC 值减去前一个 88 块的 DC 作为后一个 88 块新的 DC 值,并保留后一个 88 块的 DC 原值,用于后一个 88 块的差值 DC 运算,亦即每次后一个 88 块的 DC 值减去的是第一个 88 块的原来 DC 值, 而不是经运算后的差值。 DC 编码=哈夫曼识别码(或称标志码)+ DC 差值二进制代码 表 3 35 给出了 Y、 Cb Cr 矩阵的 DC 差值 霍夫曼 编码表。 表 34 Y矩阵 DC差值参考表 DC 差值二进制码的码长 Huffman 识别码的码长 Huffman 识别码 0 2 00 1 3 010 2 3 011 3 3 100 4 3 101 5 3 110 6 4 1110 7 5 11110 8 6 111110 9 7 1111110 10 8 11111110 11 9 111111110 表 35 Cb、 Cr矩阵 DC差值参考表 二进制码的码长 Huffman 识别码的码长 Huffman 识别码 0 2 00 1 2 01 2 2 10 3 3 110 4 4 1110 5 5 11110 6 6 111110 7 7 1111110 8 8 11111110 9 9 111111110 10 10 1111111110 11 11 11111111110 系数调制编码 由于 霍夫曼 编码的对象是整数,所以在做 霍夫曼 编码之前 ,还得对量化后的DCT 系数矩阵进行取整。 经过取整以后,每一个 88 块中,有大量的 AC系数的值为 0。 为了把尽可能多的其值为 0 的 AC系数串在一起,以利于第四步的 AC 编码及提高压缩比,还必须把 YcbCr 矩阵中的每一个 88 块中的 64 个元素进行 “Z” 字形排序,这样就可以做到把尽可能多的 0串在一起。 AC 编码的原理和方法跟 DC 相似,所不同的是 AC 编码中多了一项 RLE 压缩编码,前面说到经过量化取整以后,有许多 AC 值为 0,并经过 “Z” 字形排序,把原可能多的 0 串行在一起。 在这里 RLE 压缩编码的就是用一个数值表示为 0的 AC 值 前有几个 AC 值为 0。 例如,在 [M, N]这一组 RLE 编码中, N 表示不为 0的 AC 值, M 则表示在这不为 0的 AC 值, N 之前 0的个数, M最多只能为 15,如果 AC 数据值 N之前有 17 个 AC 值为 0,则先以 [15, 0]代表有 16 个值为 0,再以[1, N]表示 N前有一个值为 0,如果在某个 AC数据值之后(该值不为 0),所有AC 值皆为 0,则这串数据可以用 [0, 0]表示。 做完 RLE 压缩后,再对不为 0的 AC 值进行 霍夫曼 编码,跟 DC 值一样进行,只不过用的是另两张哈夫曼编码表,完整的 AC 编码如图 24: 图 24 完整 AC 编码图 完整的 AC编码码串包括三部分:( 1)的位置记录 “0” 的个数;( 2)的位置为 霍夫曼 识别码;( 3)的位置的 AC 值的二进制代码值这样的一个码串才算是一个完整的 AC 霍夫曼 码串。 将直流元素转换成与上一个之差之后,接下来将 DCT块重新排序成 Zig- Zag序列,再后, JPEG 用一个熵编码机制送出元素,输出带有建立在其中的 RLE,它是编码机制的主要部分,基本上,熵编码输出包括三个单词的序列,不断重复直到块结束,三个单词如下: —— DCT 输出矩阵中,当前元素之前的 连续 0 的个数 —— 后面跟着的幅度值所用的位数 —— DCT 系数的幅度 行程长度和位计数这两个值的组合,形成了输出的代码。 位计数是将幅度可变长度整型编码所使用的位数目。 可变长度整型数编码利用了 DCT 的输出应该由大多数较小的数值所组成的事实,因此我们想用较少的位数目进行编码。 下面是位计数及用这个数目编码的系数幅度: ○ 1 ○ 2 ○ 3 AC 编码码串 位计数 幅度 1 - 1, 1 2 - 3 到- 2, 2 到 3 3 - 7 到- 4, 4 到 7 4 - 15 到- 8, 8 到 15 5 - 31 到- 16, 16 到 31 6 - 63 到- 32, 32 到 63 7 - 127 到- 63, 64 到 127 8 - 255 到- 128, 128 到- 255 9 - 511 到- 256, 256 到 511 10 - 1023 到- 512, 512 到 1023 要注意的是每一个位计数编码高低值的对称序列,中间跳过的值用表中从 1位开始的较小的位计数进行编码。 霍夫曼编码 Huffman 编码过程的几个步骤: l)将信号源的符号按照出现概率递减的顺序排列。 (注意,一定要递减) 2)将最下面的两个最小出现 概率进行合并相加,得到的结果作为新符号的出现概率。 3)重复进行步骤 1 和 2直到概率相加的结果等于 1为止。 4)在合并运算时,概率大的符号用编码 0 表示,概率小的符号用编码 1 表示。 5)记录下概率为 1 处到当前信号源符号之间的 0, l序列,从而得到每个符号的编码。 下面我举个简单例子 : 一串信号源 S= {s1,s2,s3,s4,s5}对应概率为 p= {40, 30, 15, 10,5},(百分率) 按照递减的格式排列概率后,根据第二步,会得到一个新的概率列表,依然按照递减排列,注意:如果遇到相同概率,合并后的 概率放在下面。 最后概率最大的编码为 0,最小的编码为 1,所以,编码结果为: s1=1 s2=00 s3=010 s4=0110 s5=0111 霍夫曼编码的特点: 1 编出来的码都是异字头码,保证了码的唯一可译性。 2 由于编码长度可变。 因此译码时间较长,使得霍夫曼编码的压缩与还原相当费时。 3 编码长度不统一,硬件实现有难度。 4 对不同信号源的编码效率不同,当信号源的符号概率为 2的负幂次方时,达到 100%的编码效率;若信号源符号的概率相等,则编码效率最低。 5 由 于 0与 1的指定是任意的,故由上述过程编出的最佳码不是唯一的,但其平均码长是一样的,故不影响编码效率与数据压缩性能。 限于篇幅原因,在此就不再详述。 JPEG压缩要求 1 达到或接近当前压缩比与图像保真度的技术水平,与原始图像相比,人的视觉难以区分 2 能适用于任何种类的连续色调的图像,且长宽比都不受限制,同时也不受限于景物内容、图像复杂度。 3 压缩以后的数据,对于图像数据的存储来说,节省了存储空间,使得原有的存储设备, 能够用来存储更多的信息。 而对图像的传输而言,则减少了传输率,节省了传输时间,解决 了数据量大和带宽有限的问题。 JPEG解码原理 按照 JFIF 文件格式,将 JPEG 文件相关的字段信息一一读取出来,并进行相应的解析。 例如,图像的宽度、高度、量化表、 Huffman 表、水平 /垂直采样因子等。 一般而言, JFIF 格式文件的读取顺序依次为: SOI 字段; APP0 字段; APPn字段; DQT 字段; SOFO 字段; DHT 字段; SOS 字段;压缩数据字段; EOI 字段; 读取 JPEG 文件相关信息的时候,有两点需要特别注意: 由于 JPEG 中以 0XFF 来做为特殊标记符,因此,如果某个像素的取值为 0XFF,那么实际在保存的时候,是以 0XFF00 来保存的,从而避免其跟特殊标记符 0XFF之间产生混淆。 所以,在读取文件信息的时候,如果遇 0XFF00,就必须去除后面的 00;即,将 0XFF00 当做 0XFF; JPEG 文件中,一个字( 16 位)的存储是采用了 Motorola 格式( bigendian),而不是我们常用的 Intel 格式( littleendian)。 因此,如果需要的话,请在处理之间进行依次高低字节的转换。 在标记码 DHT 之后,包含了一个或者多个 Huffman 表(通常是 4个表)。 对于一 个 Huffman 表而言,它包含了以下三部分内容: 表 ID 和表类型; 1 个字节;仅有 4 个可选的取值, 0X00,0X01,0X10,0X11,分别表示 DC 直流 0 号表, DC 直流 1 号表, AC交流 0号表, AC 交流 1 号表; 不同位数的码字数量;前面提到 ,JPEG 中的 Huffman 编码表是按照编码长度的位数以表格的形式保存的,而且, Huffman 编码表的位数只能是 116位,因此,这里用 16个字节来分别表示 116 位的每种位长的编码在 Huffman 树中的个数。 编码内容;该字段记录了 Huffman 树中各个叶子节点的权重 ,上一个字段(不同位数的码字数量)的 16个数值之和,就是本字段的长度,也就是 Huffman 树中叶子节点的个数。 这里,我们不妨以下面一段 Huffman 表的数据为例来说明情况(均以 16 进制表示): 11 00 02 02 00 05 01 06 01 00 00 00 00 00 00 00 00 00 01 11 02 21 03 31 41 12 51 61 71 81 91 22 13 32 以上数据串中第一行代表了 Huffman 表 ID、表类型、不同位数的码字数量信息; 第一行的第一个字节 0X11 代表了 表的 ID和类型是 AC 交流 1 号表; 第一行的第 2到第 17字节代表了不同位数码字的数量。 即,第 2 个字节 00表示没有位数为 1 的编码;第 3 个和第 4 个字节的 02 表示位数为 2 和位数为 3的编码各有两个;第 5个字节的 00 表示没有位数为 5的编码。 此外,通过这些数据我们发现,此 Huffman 树有 0+2+2+0+5+1+6+1=17 个叶子节点。 第二行为编码的内容,表明 17 个叶子节点按照从小到大的顺序排列,即,权值依次为 0,1,11,2,21,3,31,41... 读取到 Huffman 表的数据之后,就需要构建 Huffman 树了。 其具体规则如下 ( a)第一个编码的数字必定为 0;如果第一个编码的位数为 1,就被编码为 0;如果第一个编码的位数为 2,就被编码为 00;如果第一个编码的位数为 3,就被编码为 000。 ( b)从第二个编码开始,如果它和它前面编码具有相同的位数,则当前编码是它前面的编码加 1;如果它的编码位数比它前面的编码位数大,则当前编码时它前面的编码加 1之后再在后面添加若干个 0,直到满足编码位数的长度为止。 还是以上面的数据为例: 第一行的第 2个字节 00 表示没有位数为 1 的编码; 第。多媒体通信毕业设计论文(编辑修改稿)
相关推荐
新建建筑物 26 : 第二 节 土方开挖和回填工程 一、施工机具 挖掘机、自卸汽车、蛙式打夯机、镐、铁锨、手推车。 二、土方开挖 该工程土方工程采用一台挖土机施工,挖出土方除留足回填土外,用自卸车运离施工现场。 机械挖土方应挖基底标高上 300mm 处,由人工挖土、 清底至基底设计标高。 基坑放坡挖方时应按 1: 放坡。 三、 回填土 本工程室内外回填土采用原土回填,用蛙式打夯机夯实回填土
① 第二层:新近沉积粘性土,褐黄色。 本层厚度约 fk=200kN/m2 ② 第三层:粘性土,褐黄色。 本层厚度约 fk=210 kN/m2 ③ 第四层:中密细砂,浅灰色。 本层厚度约 fk=270 kN/m2 ④ 本次设计分三个部分:建筑设计、结构设计和施工组织设计。 建筑设计 设计任务 根据设计任务书要求完成建筑平面、剖面及立面设计
表 21各主轴转速和每转进给量 各主轴转速 n(r/ min) 各主轴刀具进给量 f(mm∕ r) 备注 Ф 8mm孔 初选切削速度 15 m/ min 初选进给速度 60 mm/ min Ф 6mm孔 2. 3. 2确定切削力 F、切削转矩 M、切削功率 P 根据选择的切削用量,确定切削力,作为选择动力部件及夹具设计的依据:确 定切削转矩,用以确定主轴及其他传动件 (齿轮、传动轴等 )的尺寸
......................................................................45 图 4. 5 呼叫路由模块结合业务的实现 ..............................................................47 图 5. 1 配置 EC 界面 ........................
调整在楔铁上的螺栓,使楔铁上下滑动,带轮调整座在滑道中前后移动即可完成。 有的机构上采用组合调整片来调整排料口的尺寸。 结构参数的选择与计算 为了保证颚式破碎机运动的可靠性和经济性,在设计时必须正确的确定它的结构参数和工作参数,并以此作为计算零件强度的基础。 给矿口与排矿口的尺寸 由于给定最大排料粒度: mmD 210m ax 对于小型破碎机的给矿口宽度 B: mmmmDB 6
耗能量有明显下降,且从本质上来说,该方法相对于控制标准的四通滑阀并没有牺牲跟踪性能 [16]。 中国空军工程大学提出一种基 于预测模型的神经网络自适应控制算法 ,具体由一个神经网络控制器和一个神经网络模型预测器组成,此控制策略对于具有强烈非线性和参数不确定性的气动伺服系统行之有效 [17]。 由于 IPD 控制器的良好性能,作为过程控制,它被广泛应用。 然而,如果被控对象存在时滞,将很难确定