一种影片缩略图的压缩方法及压缩装置的制作方法

文档序号:7581440阅读:180来源:国知局
专利名称:一种影片缩略图的压缩方法及压缩装置的制作方法
技术领域
本发明涉及影片缩略图的处理技术领域,尤其涉及一种影片缩略图的压缩方法及 压缩装置。
背景技术
有损压缩,是利用人类对图像或声波中的某些频率成分不敏感的特性,允许压缩 过程中损失一定的信息,虽然不能完全恢复原始数据,但是所损失的部分对理解原始图像 的影响较小,且压缩率较高。有损压缩广泛应用于语音,图像和视频数据的压缩。一般地, 影片缩略图的压缩通常采用基于浮点运算的有损压缩。游程编码,游程编码又称“运行长度编码”或“行程编码”,其基本原理是用一个符 号值或串长代替具有相同值的连续符号(连续符号构成了一段连续的“行程”。行程编码因 此而得名),使符号长度少于原始数据的长度。只在各行或者各列数据的代码发生变化时, 一次记录该代码及相同代码重复的个数,从而实现数据的压缩。无损压缩,是利用数据的统计冗余进行压缩,可完全回复原始数据而不引起任何 失真。常见的无损压缩有LZ77编码压缩或LZ78编码压缩,LZ77或LZ78编码压缩均是基 于滑动窗口字典的单向搜索匹配,匹配的长度取决于滑动窗口的大小。在影片资源管理系统中,影片缩略图的文件数据量大,为了有效节省影片资源管 理系统的空间,需要对影片缩略图进行压缩处理。一般地,现有的对影片缩略图的压缩一般 采用上述三种压缩方式中的任一种,发明人发现,采用上述任一种方案对影片缩略图进行 压缩均存在缺陷
一、基于浮点运算的算法对影片缩略图进行有损压缩,其压缩率较高,但是由于浮点运 算的算法较为复杂,因此采用此方案压缩速率低,易失真,且解码速度慢,不能完全恢复原 始图像;
二、游程编码的压缩率较低,尤其当影片缩略图的色彩较为丰富时,采用此方案的压缩 效果不高,实用性较低;
三、基于LZ77或LZ78编码压缩待无损压缩方案的压缩速度快,且不易失真,但该方案 的压缩率较低,压缩效果不高。

发明内容
本发明实施例所要解决的技术问题在于,提供一种影片缩略图的压缩方法及压缩 装置,有效地结合有损压缩、游程编码和无损压缩三种压缩方式对影片缩略图进行压缩,其 压缩率较高,压缩速率高、失真度小、解码速度快。为了解决上述技术问题,本发明实施例提供了一种影片缩略图的压缩方法,包 括
对影片缩略图进行有损压缩,获得特定位数的影片缩略图; 对所述特定位数的影片缩略图进行游程编码;
4对游程编码后的影片缩略图进行无损压缩,获得压缩图片。其中,所述影片缩略图为RGB (Red, Green, Blue,红绿蓝)格式的M位bmp位图。其中,所述对影片缩略图进行有损压缩,获得特定位数的影片缩略图,包括 为影片的所有RGB格式的M位bmp位图创建统一调色板和统一头文件;
采用基于逻辑运算的有损压缩算法,对每个RGB格式的M位bmp位图的像素点进行压 缩,获得RGB格式的16位bmp位图。其中,对所述特定位数的影片缩略图进行游程编码,包括 采用矩阵存储方式存储影片的所有RGB格式的16位bmp位图; 对所述矩阵存储的RGB格式的16位bmp位图进行Z字扫描;
根据Z字扫描结果,对所述矩阵存储的RGB格式的16位bmp位图进行游程编码。其中,所述对游程编码后的影片缩略图进行无损压缩,获得压缩图片,包括 根据游程编码后的影片缩略图,双向扫描滑动窗口 ;
判断所述滑动窗口中是否包括与所述游程编码后的影片缩略图相匹配的字符串,如果 判断结果为是,输出五元符号组作为压缩图片,并将所述滑动窗口向后滑动匹配的最长字 符串的长度加1个字符;如果判断结果为否,输出二元符号组作为压缩图片,并将所述滑动 窗口向后滑动1个字符;
重复上述步骤,直至所有的影片缩略图均压缩完成;
其中,所述五元符号组包括编码标志位bit、方向标志位dir、窗口内的偏移off、最大 匹配长度len、下一字符c ;所述二元符号组包括编码标志位bit和当前字符e。其中,所述off采用定长编码,所述Ien采用前缀编码。相应地,本发明实施例还提供了一种压缩装置,包括
有损压缩模块,用于对影片缩略图进行有损压缩,获得特定位数的影片缩略图; 游程编码模块,用于对所述有损压缩模块获得的特定位数的影片缩略图进行游程编
码;
无损压缩模块,用于对所述游程编码模块编码后的影片缩略图进行无损压缩,获得压 缩图片。其中,所述影片缩略图为RGB格式的M位bmp位图,所述有损压缩模块包括
创建单元,用于为影片的所有RGB格式的M位bmp位图创建统一调色板和统一头文
件;
有损压缩单元,用于采用基于逻辑运算的有损压缩算法,对每个RGB格式的M位bmp 位图的像素点进行压缩,获得RGB格式的16位bmp位图。其中,所述游程编码模块包括
存储单元,用于采用矩阵存储方式存储影片的所有RGB格式的16位bmp位图; 扫描单元,用于对所述存储单元存储的RGB格式的16位bmp位图进行Z字扫描; 游程编码单元,用于根据所述扫描单元的Z字扫描结果,对所述矩阵存储的RGB格式的 16位bmp位图进行游程编码。其中,所述无损压缩模块包括
双向扫描单元,用于根据游程编码后的影片缩略图,双向扫描滑动窗口 ; 判断单元,用于判断所述双向扫描单元扫描的所述滑动窗口中是否包括与所述游程编
5码后的影片缩略图相匹配的字符串;
无损压缩单元,用于当所述判断单元判断结果为是时,输出五元符号组作为压缩图片, 并将所述滑动窗口向后滑动匹配的最长字符串的长度加1个字符;当所述判断单元判断结 果为否时,输出二元符号组作为压缩图片,并将所述滑动窗口向后滑动1个字符;
其中,所述五元符号组包括编码标志位bit、方向标志位dir、窗口内的偏移off、最大 匹配长度len、下一字符c ;所述二元符号组包括编码标志位bit和当前字符e。实施本发明实施例,具有如下有益效果
本发明实施例首先采用有损压缩减少影片缩略图的位数,获得特定位数的影片缩略 图,此处有损压缩基于逻辑运算进行,其运算简单,既保证了压缩率,又提高了压缩速率,同 时减小了失真度;然后对该特定位数的影片缩略图进行游程编码,并对游程编码后的影片 缩略图进行无损压缩,比如基于滑动窗口字典的双向搜索匹配,获得最终压缩图片,本发明 实施例在现有的LZ77或LZ78编码压缩进行改进,将常规的单向搜索匹配改进为双向搜索 匹配,提高了压缩率,同时保证了原有的压缩速率和失真度;本发明实施例有效地结合了有 损压缩、游程编码和无损压缩三种压缩方式,有效地节省了影片资源管理系统的空间,提高 了解码速度,使影片缩略图的显示更流畅,提升了用户体验。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。图1为本发明的压缩装置的实施例的结构示意图; 图2为本发明的有损压缩模块的实施例的结构示意图; 图3为本发明的游程编码模块的实施例的结构示意图; 图4为本发明的无损压缩模块的实施例的结构示意图5为本发明的影片缩略图的压缩方法的第一实施例的流程图; 图6为本发明的影片缩略图的压缩方法的第二实施例的流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。请参见图1,为本发明的压缩装置的实施例的结构示意图;所述压缩装置包括 有损压缩模块10,用于对影片缩略图进行有损压缩,获得特定位数的影片缩略图。具体实现中,该有损压缩模块10可以为集成了基于逻辑运算的有损压缩算法的 处理芯片等装置。一般地,原始的影片缩略图为RGB格式的M位bmp位图,所述有损压缩 模块10主要用于将RGB格式的M位bmp位图压缩为RGB格式的16位bmp位图。游程编码模块20,用于对所述有损压缩模块10获得的特定位数的影片缩略图进行游程编码。所述游程编码模块20对所述有损压缩模块10获得的RGB格式的16位bmp位图 进行编码,可以用少量的字节来描述更多的bmp位图数据,达到了进一步压缩的目的,尤其 当各bmp位图的颜色比较单一时,采用游程编码方式可以获得比较好的压缩效果,且游程 编码的编码过程不会失真。无损压缩模块30,用于对所述游程编码模块20编码后的影片缩略图进行无损压 缩,获得压缩图片。具体实现中,所述无损压缩模块30采用基于滑动窗口的自适应字典编码压缩方 式,将已经进行无损压缩的信息(即已经编码过的信息)作为滑动窗口,该滑动窗口的大小 可根据实际需要进行设定。不同于现有的LZ77或LZ78编码压缩的单向搜索匹配方式,本实 施例的无损压缩采用双向搜索匹配方式,当滑动窗口中存在相匹配的字符串时,所述无损 压缩模块30输出五元符号组作为压缩图片,并将所述滑动窗口向后滑动匹配的最长字符 串的长度加1个字符;当滑动窗口中无相匹配的字符串时,所述无损压缩模块30输出二元 符号组作为压缩图片,并将所述滑动窗口向后滑动1个字符。其中,所述五元符号组包括 编码标志位bit、方向标志位dir、窗口内的偏移off、最大匹配长度1 en、下一字符C。其中, 所述二元符号组包括编码标志位bit和当前字符e。本发明实施例有效地结合了有损压缩、游程编码和无损压缩三种压缩方式对影片 缩略图进行压缩,其压缩率较高,压缩速率高、失真度小、解码速度快。为了更清楚的说明本发明,下面将对本发明的压缩装置中的各模块进行详细介 绍。请参见图2,为本发明的有损压缩模块的实施例的结构示意图;所述有损压缩模 块10包括
创建单元101,用于为影片的所有RGB格式的M位bmp位图创建统一调色板和统一头 文件。24位bmp位图包括头文件和调色板;其中,头文件包含bmp位图的类型、显示内 容等信息;调色板为用来调和并搁置新鲜颜料的平整板面。影片的各缩略图(RGB格式的M 位bmp位图)可能包含不同的头文件和调色板,影片资源管理系统需要同时存储各bmp位图 的头文件和调色板,从而浪费了极大的存储空间。所述创建单元101为影片的所有RGB格 式的M位bmp位图创建统一调色板和统一头文件,则影片资源管理系统仅需要存储该统一 调色板和统一头文件,各bmp位图共享该统一调色板和统一头文件,不仅节省了影片资源 管理系统的存储空间,同时大大压缩了 bmp位图的冗余数据。有损压缩单元102,用于采用基于逻辑运算的有损压缩算法,对每个RGB格式的M 位bmp位图的像素点进行压缩,获得RGB格式的16位bmp位图。bmp位图,亦称为点阵图像或绘制图像,是由像素点组成的。RGB格式的M位bmp 位图的每个像素点即为M位(3个字节),由RGB表示,其组织格式为R+G+B(R为8bit,G为 8bit,B为8bit)。所述有损压缩单元102采用基于逻辑运算的有损压缩算法,对M位bmp 位图的每个像素点进行压缩,具体为去除每个像素点中的R的后3位,使其压缩为^Dit ; 去除每个像素点中的G的后2位,使其压缩为6bit ;去除每个像素点中的B的后3位,使其 压缩为^Dit ;经过上述压缩,RGB格式的M位bmp位图的3个字节( 位)的像素点被压缩
7为2个字节(16位)的像素点,其组织格式为R+G+B (R为5bit,G为6bit,B为^it)。比 如颜色为红色的M位bmp位图,其R=Oxff, G=OxOO, B=OxOO,所述有损压缩单元102采用 基于逻辑运算的有损压缩算法进行压缩,其算法为deV_red_C0l0r= ((((B)& 0xf8 > 3) I (((G) & Oxfc ) 3) I (((R) & 0xf8)<< 8));最后,所有的红色的M位bmp位图均为 OxfSOO,即转换为红色的16位bmp位图。需要说明的是,所述有损压缩单元102采用基于 逻辑运算的有损压缩算法进行压缩,运算简单,保证了压缩率;上述压缩过程中,去除每个 像素点中的R的后3位、G的后2位、B的后3位并不会影响该bmp位图的显示,保证了压 缩的低失真度。本发明实施例采用有损压缩减少影片缩略图的位数,获得特定位数的影片缩略 图,此处有损压缩基于逻辑运算进行,其运算简单,既保证了压缩率,又提高了压缩速率,同 时减小了失真度。请参见图3,为本发明的游程编码模块的实施例的结构示意图;所述游程编码模 块20包括
存储单元201,用于采用矩阵存储方式存储影片的所有RGB格式的16位bmp位图。经所述有损压缩模块10压缩后,影片缩略图均为RGB格式的16位bmp位图, 各影片缩略图的规格大小一样,所述存储单元201,则采用矩阵存储方式将影片的所有 RGB格式的16位bmp位图进行存储。比如假设两个RGB格式的16位bmp位图分别为 000001111100000和000000000011111,其中,0和1均表示16位bmp位图的颜色;该两个 RGB格式的16位bmp位图经所述存储单元201存储后,其矩阵如下
000001111100000 000000000011111
扫描单元202,用于对所述存储单元201存储的RGB格式的16位bmp位图进行Z字扫描。依上述例子,所述扫描单元202对所述存储单元201存储的矩阵进行Z字扫描后, 依次得到5个0,5个1,15个0,5个1。游程编码单元203,用于根据所述扫描单元202的Z字扫描结果,对所述矩阵存储 的RGB格式的16位bmp位图进行游程编码。依上述例子,所述游程编码单元203根据所述扫描单元202的Z字扫描结果,采用 颜色加颜色长度的编码方式来描述bmp位图,则所述游程编码单元203编码后的结果为 0#5+1#5+0#15+1#5 ;其中,“#”前面表示bmp位图的颜色,“#”后面表示该颜色的长度。采 用游程编码对RGB格式的16位bmp位图进行编码,可以用少量的字节来描述更多的bmp位 图数据,达到了进一步压缩的目的,尤其当各bmp位图的颜色比较单一时,采用游程编码方 式可以获得比较好的压缩效果,且游程编码的编码过程不会失真。本发明实施例的运算简单,压缩速率高,失真度小。请参见图4,为本发明的无损压缩模块的实施例的结构示意图;所述无损压缩模 块30包括
双向扫描单元301,用于根据游程编码后的影片缩略图,双向扫描滑动窗口 ; 具体实现中,本发明实施例的无损压缩采用基于滑动窗口的自适应字典编码压缩方 式,采用已经进行无损压缩的信息(即已经编码过的信息)作为滑动窗口,该滑动窗口的大
8小可根据实际需要进行设定。不同于现有的LZ77或LZ78编码压缩的单向搜索匹配方式, 本实施例的无损压缩采用双向搜索匹配方式,所述双向扫描单元301则根据游程编码后的 影片缩略图,双向扫描滑动窗口,以实现双向搜索匹配。判断单元302,用于判断所述双向扫描单元301扫描的所述滑动窗口中是否包括 与所述游程编码后的影片缩略图相匹配的字符串;
无损压缩单元303,用于当所述判断单元302判断结果为是时,输出五元符号组作为压 缩图片,并将所述滑动窗口向后滑动匹配的最长字符串的长度加1个字符;当所述判断单 元判断结果为否时,输出二元符号组作为压缩图片,并将所述滑动窗口向后滑动1个字符。具体实现中,所述五元符号组包括编码标志位bit 表明该压缩图片是否经过基 于滑动窗口的字典编码,bit=l,表明已经编码;bit=0,表明未编码;方向标志位dir 表明 该压缩图片进行基于滑动窗口的字典编码压缩时,其滑动窗口的扫描方向,dir=l,表明从 前至后进行扫描,dir=0,表明从后至前进行扫描;窗口内的偏移off 表明最大匹配长度的 字符串在滑动窗口中的偏移位置;最大匹配长度Ien 表明滑动窗口中与所述游程编码后 的影片缩略图相匹配的最长字符串的长度;下一字符C。所述无损压缩单元303当所述判 断单元302判断结果为是时,输出五元符号组(bit,dir, off, len, c)作为压缩图片,并将 所述滑动窗口向后滑动len+Ι个字符。所述off采用定长编码,其编码off需要的位数bitnum=upper_b0und (MAX_ WND_SIZE),其中,MAX_WND_SUE为最大滑动窗口大小。所述Ien采用前缀编码,优 选地,所述Ien采用范式哈夫曼编码,实际应用中,所述Ien还可采用Golomb编码或
/编码等前缀编码方式。所述二元符号组包括编码标志位bit和当前字符e。所述无损压缩单元303当 所述判断单元302判断结果为否时,输出五元符号组(bit,e)作为压缩图片,并将所述滑动 窗口向后滑动1个字符。可以理解的是,所述无损压缩模块30中的各单元重复上述工作,直至所有的影片 缩略图均压缩完成。本发明实施例在现有的LZ77或LZ78编码压缩进行改进,将常规的单向搜索匹配 改进为双向搜索匹配,提高了压缩率,同时保证了原有的压缩速率和失真度。为了更清楚的说明本发明,下面将对所述压缩装置对影片缩略图所执行的压缩方 法进行详细介绍。请参见图5,为本发明的影片缩略图的压缩方法的第一实施例的流程图;所述方 法包括
S101,对影片缩略图进行有损压缩,获得特定位数的影片缩略图。具体实现中,所述SlOl可以由集成了基于逻辑运算的有损压缩算法的处理芯片 等装置执行。一般地,原始的影片缩略图为RGB格式的M位bmp位图,所述SlOl将RGB格 式的M位bmp位图压缩为RGB格式的16位bmp位图。S102,对所述特定位数的影片缩略图进行游程编码。所述S102对所述SlOl获得的RGB格式的16位bmp位图进行编码,可以用少量的 字节来描述更多的bmp位图数据,达到了进一步压缩的目的,尤其当各bmp位图的颜色比较 单一时,采用游程编码方式可以获得比较好的压缩效果,且游程编码的编码过程不会失真。
S103,对游程编码后的影片缩略图进行无损压缩,获得压缩图片。具体实现中,所述S103采用基于滑动窗口的自适应字典编码压缩方式,将已经进 行无损压缩的信息(即已经编码过的信息)作为滑动窗口,该滑动窗口的大小可根据实际需 要进行设定。不同于现有的LZ77或LZ78编码压缩的单向搜索匹配方式,本实施例的无损 压缩采用双向搜索匹配方式,当滑动窗口中存在相匹配的字符串时,所述S103输出五元符 号组作为压缩图片,并将所述滑动窗口向后滑动匹配的最长字符串的长度加1个字符;当 滑动窗口中无相匹配的字符串时,所述S103输出二元符号组作为压缩图片,并将所述滑动 窗口向后滑动1个字符。其中,所述五元符号组包括编码标志位bit、方向标志位dir、窗 口内的偏移off、最大匹配长度len、下一字符C。其中,所述二元符号组包括编码标志位 bit和当前字符e。本发明实施例有效地结合了有损压缩、游程编码和无损压缩三种压缩方式对影片 缩略图进行压缩,其压缩率较高,压缩速率高、失真度小、解码速度快。请参见图6,为本发明的影片缩略图的压缩方法的第二实施例的流程图;所述方 法包括
S201,为影片的所有RGB格式的M位bmp位图创建统一调色板和统一头文件。24位bmp位图包括头文件和调色板;其中,头文件包含bmp位图的类型、显示内 容等信息;调色板为用来调和并搁置新鲜颜料的平整板面。影片的各缩略图(RGB格式的M 位bmp位图)可能包含不同的头文件和调色板,影片资源管理系统需要同时存储各bmp位图 的头文件和调色板,从而浪费了极大的存储空间。所述S201为影片的所有RGB格式的M 位bmp位图创建统一调色板和统一头文件,则影片资源管理系统仅需要存储该统一调色板 和统一头文件,各bmp位图共享该统一调色板和统一头文件,不仅节省了影片资源管理系 统的存储空间,同时大大压缩了 bmp位图的冗余数据。S202,采用基于逻辑运算的有损压缩算法,对每个RGB格式的M位bmp位图的像 素点进行压缩,获得RGB格式的16位bmp位图。bmp位图,亦称为点阵图像或绘制图像,是由像素点组成的。RGB格式的M位bmp 位图的每个像素点即为对位(3个字节),由RGB表示,其组织格式为R+G+B (R为8bit, G为8bit,B为8bit)。所述S202采用基于逻辑运算的有损压缩算法,对M位bmp位图的 每个像素点进行压缩,具体为去除每个像素点中的R的后3位,使其压缩为^it ;去除每 个像素点中的G的后2位,使其压缩为6bit ;去除每个像素点中的B的后3位,使其压缩为 5bit ;经过上述压缩,RGB格式的M位bmp位图的3个字节( 位)的像素点被压缩为2个 字节(16位)的像素点,其组织格式为R+G+B⑶为^it,G为m3it,B为5bit)。比如颜色 为红色的M位bmp位图,其R=Oxff, G=OxOO, B=OxOO,所述S202采用基于逻辑运算的有损 压缩算法进行压缩,其算法为dev_red_C0l0r= ((((B) & 0xf8) 3) | (((G) & Oxfc ) 3) I (((R) & 0xf8)<< 8));最后,所有的红色的对位! 位图均为0xf800,即转换为 红色的16位bmp位图。需要说明的是,所述S202采用基于逻辑运算的有损压缩算法进行 压缩,运算简单,保证了压缩率;上述压缩过程中,去除每个像素点中的R的后3位、G的后 2位、B的后3位并不会影响该bmp位图的显示,保证了压缩的低失真度。本实施例中,S201-S202为上一实施例的SlOl的具体细化步骤。S203,采用矩阵存储方式存储影片的所有RGB格式的16位bmp位图。
经所述S202压缩后,影片缩略图均为RGB格式的16位bmp位图,各影片缩略 图的规格大小一样,所述S203则采用矩阵存储方式将影片的所有RGB格式的16位bmp 位图进行存储。比如假设两个RGB格式的16位bmp位图分别为:000001111100000和 000000000011111,其中,0和1均表示16位bmp位图的颜色;该两个RGB格式的16位bmp 位图经所述S203存储后,其矩阵如下
000001111100000 000000000011111
S204,对所述矩阵存储的RGB格式的16位bmp位图进行Z字扫描。依上述例子,所述S204对所述S203存储的矩阵进行Z字扫描后,依次得到5个 0,5 个 1,15 个 0,5 个 1。S205,根据Z字扫描结果,对所述矩阵存储的RGB格式的16位bmp位图进行游程编码。依上述例子,所述S205根据所述S204的Z字扫描结果,采用颜色加颜色长度的编 码方式来描述bmp位图,则所述S205编码后的结果为0#5+1#5+0#15+1#5 ;其中,“#”前面 表示bmp位图的颜色,“#,,后面表示该颜色的长度。采用游程编码对RGB格式的16位bmp 位图进行编码,可以用少量的字节来描述更多的bmp位图数据,达到了进一步压缩的目的, 尤其当各bmp位图的颜色比较单一时,采用游程编码方式可以获得比较好的压缩效果,且 游程编码的编码过程不会失真。本实施例中,S203-S205为上一实施例的S102的具体细化步骤。S206,根据游程编码后的影片缩略图,双向扫描滑动窗口。具体实现中,本发明实施例的无损压缩采用基于滑动窗口的自适应字典编码压缩 方式,采用已经进行无损压缩的信息(即已经编码过的信息)作为滑动窗口,该滑动窗口的 大小可根据实际需要进行设定。不同于现有的LZ77或LZ78编码压缩的单向搜索匹配方式, 本实施例的无损压缩采用双向搜索匹配方式,所述S206则根据游程编码后的影片缩略图, 双向扫描滑动窗口,以实现双向搜索匹配。S207,判断所述滑动窗口中是否包括与所述游程编码后的影片缩略图相匹配的字 符串,如果判断结果为是,转入S208 ;否则,转入S209。S208,输出五元符号组作为压缩图片,并将所述滑动窗口向后滑动匹配的最长字 符串的长度加1个字符;之后,转入S210。具体实现中,所述五元符号组包括编码标志位bit 表明该压缩图片是否经过基 于滑动窗口的字典编码,bit=l,表明已经编码;bit=0,表明未编码;方向标志位dir 表明 该压缩图片进行基于滑动窗口的字典编码压缩时,其滑动窗口的扫描方向,dir=l,表明从 前至后进行扫描,dir=0,表明从后至前进行扫描;窗口内的偏移off 表明最大匹配长度的 字符串在滑动窗口中的偏移位置;最大匹配长度Ien:表明滑动窗口中与所述游程编码后 的影片缩略图相匹配的最长字符串的长度;下一字符c。所述S208当所述S207判断结果为 是时,输出五元符号组(bit,dir, off, len, c)作为压缩图片,并将所述滑动窗口向后滑动 len+Ι个字符。所述off采用定长编码,其编码off需要的位数bitnum=upper_b0und(MAX_ WND_SIZE)0所述Ien采用前缀编码,优选地,所述Ien采用范式哈夫曼编码,实际应用中,
所述Ien还可采用Golomb编码或算编码等前缀编码方式。
11
S209,输出二元符号组作为压缩图片,并将所述滑动窗口向后滑动1个字符。所述二元符号组包括编码标志位bit和当前字符e。所述S209当所述S207判 断结果为否时,输出五元符号组(bit,e)作为压缩图片,并将所述滑动窗口向后滑动1个字 符。S210,判断是否所有的影片缩略图均完成压缩,如果判断结果为是,则结束;否则, 转入S207。本实施例中,S206-S210为上一实施例的S103的具体细化步骤。本发明实施例有效地结合了有损压缩、游程编码和无损压缩三种压缩方式对影片 缩略图进行压缩,其压缩率较高,压缩速率高、失真度小、解码速度快。通过上述实施例的描述,本发明实施例首先采用有损压缩减少影片缩略图的位 数,获得特定位数的影片缩略图,此处有损压缩基于逻辑运算进行,其运算简单,既保证了 压缩率,又提高了压缩速率,同时减小了失真度;然后对该特定位数的影片缩略图进行游 程编码,并对游程编码后的影片缩略图进行无损压缩,比如基于滑动窗口字典的双向搜索 匹配,获得最终压缩图片,本发明实施例在现有的LZ77或LZ78编码压缩进行改进,将常规 的单向搜索匹配改进为双向搜索匹配,提高了压缩率,同时保证了原有的压缩速率和失真 度;本发明实施例有效地结合了有损压缩、游程编码和无损压缩三种压缩方式,有效地节省 了影片资源管理系统的空间,提高了解码速度,使影片缩略图的显示更流畅,提升了用户体 验。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分游程,是可以 通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质 中,该程序在执行时,可包括如上述各方法的实施例的游程。其中,所述的存储介质可为磁 碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权 利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分游程,并依本发明权 利要求所作的等同变化,仍属于发明所涵盖的范围。
权利要求
1.一种影片缩略图的压缩方法,其特征在于,包括对影片缩略图进行有损压缩,获得特定位数的影片缩略图; 对所述特定位数的影片缩略图进行游程编码; 对游程编码后的影片缩略图进行无损压缩,获得压缩图片。
2.如权利要求1所述的方法,其特征在于,所述影片缩略图为RGB格式的M位bmp位图。
3.如权利要求2所述的方法,其特征在于,所述对影片缩略图进行有损压缩,获得特定 位数的影片缩略图,包括为影片的所有RGB格式的M位bmp位图创建统一调色板和统一头文件; 采用基于逻辑运算的有损压缩算法,对每个RGB格式的M位bmp位图的像素点进行压 缩,获得RGB格式的16位bmp位图。
4.如权利要求3所述的方法,其特征在于,对所述特定位数的影片缩略图进行游程编 码,包括采用矩阵存储方式存储影片的所有RGB格式的16位bmp位图;对所述矩阵存储的RGB格式的16位bmp位图进行Z字扫描;根据Z字扫描结果,对所述矩阵存储的RGB格式的16位bmp位图进行游程编码。
5.如权利要求4所述的方法,其特征在于,所述对游程编码后的影片缩略图进行无损 压缩,获得压缩图片,包括根据游程编码后的影片缩略图,双向扫描滑动窗口 ;判断所述滑动窗口中是否包括与所述游程编码后的影片缩略图相匹配的字符串,如果 判断结果为是,输出五元符号组作为压缩图片,并将所述滑动窗口向后滑动匹配的最长字 符串的长度加1个字符;如果判断结果为否,输出二元符号组作为压缩图片,并将所述滑动 窗口向后滑动1个字符;重复上述步骤,直至所有的影片缩略图均压缩完成;其中,所述五元符号组包括编码标志位bit、方向标志位dir、窗口内的偏移off、最大 匹配长度len、下一字符c;所述二元符号组包括编码标志位bit和当前字符e。
6.如权利要求5所述的方法,其特征在于,所述off采用定长编码,所述Ien采用前缀编码。
7.—种压缩装置,其特征在于,包括有损压缩模块,用于对影片缩略图进行有损压缩,获得特定位数的影片缩略图; 游程编码模块,用于对所述有损压缩模块获得的特定位数的影片缩略图进行游程编码;无损压缩模块,用于对所述游程编码模块编码后的影片缩略图进行无损压缩,获得压 缩图片。
8.如权利要求7所述的压缩装置,其特征在于,所述影片缩略图为RGB格式的对位匕!^ 位图,所述有损压缩模块包括创建单元,用于为影片的所有RGB格式的M位bmp位图创建统一调色板和统一头文件;有损压缩单元,用于采用基于逻辑运算的有损压缩算法,对每个RGB格式的M位bmp 位图的像素点进行压缩,获得RGB格式的16位bmp位图。
9.如权利要求8所述的压缩装置,其特征在于,所述游程编码模块包括存储单元,用于采用矩阵存储方式存储影片的所有RGB格式的16位bmp位图; 扫描单元,用于对所述存储单元存储的RGB格式的16位bmp位图进行Z字扫描; 游程编码单元,用于根据所述扫描单元的Z字扫描结果,对所述矩阵存储的RGB格式的 16位bmp位图进行游程编码。
10.如权利要求9所述的压缩装置,其特征在于,所述无损压缩模块包括 双向扫描单元,用于根据游程编码后的影片缩略图,双向扫描滑动窗口 ;判断单元,用于判断所述双向扫描单元扫描的所述滑动窗口中是否包括与所述游程编 码后的影片缩略图相匹配的字符串;无损压缩单元,用于当所述判断单元判断结果为是时,输出五元符号组作为压缩图片, 并将所述滑动窗口向后滑动匹配的最长字符串的长度加1个字符;当所述判断单元判断结 果为否时,输出二元符号组作为压缩图片,并将所述滑动窗口向后滑动1个字符;其中,所述五元符号组包括编码标志位bit、方向标志位dir、窗口内的偏移off、最大 匹配长度len、下一字符c;所述二元符号组包括编码标志位bit和当前字符e。
全文摘要
本发明实施例公开了一种影片缩略图的压缩方法,包括对影片缩略图进行有损压缩,获得特定位数的影片缩略图;对所述特定位数的影片缩略图进行游程编码;对游程编码后的影片缩略图进行无损压缩,获得压缩图片。本发明实施例还公开了一种压缩装置。本发明有效地结合有损压缩、游程编码和无损压缩三种压缩方式对影片缩略图进行压缩,其压缩率较高,压缩速率高、失真度小、解码速度快。
文档编号H04N1/41GK102088604SQ20111003563
公开日2011年6月8日 申请日期2011年2月10日 优先权日2011年2月10日
发明者唐铭鸿 申请人:深圳创维数字技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1