首页> 中国专利> 一种移动平台信息的自适应图像缩放方法及其装置

一种移动平台信息的自适应图像缩放方法及其装置

摘要

本发明公开了一种移动平台信息的自适应图像缩放方法及其装置,其方法包括:打开信息编辑界面添加文件时,根据附件最大容量判断当前文件是否能被添加;在该文件能被添加时,根据添加的文件的类型、个数、大小以及附件最大容量、对附件中所有图像进行对应压缩等级的缩放处理;检测附件的剩余容量的大小,在有剩余容量时提示用户可继续添加文件,剩余容量不足时提示用户可删除文件。本发明能根据容量选择对应的压缩等级自适应压缩,充分利用有限空间的同时保持最大的图像精度,满足了用户的需求。

著录项

  • 公开/公告号CN103793928A

    专利类型发明专利

  • 公开/公告日2014-05-14

    原文格式PDF

  • 申请/专利权人 TCL集团股份有限公司;

    申请/专利号CN201410056616.0

  • 发明设计人 田旻;

    申请日2014-02-20

  • 分类号G06T9/00;

  • 代理机构深圳市君胜知识产权代理事务所;

  • 代理人王永文

  • 地址 516001 广东省惠州市鹅岭南路6号TCL工业大厦8楼技术中心

  • 入库时间 2024-02-20 00:11:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-16

    授权

    授权

  • 2015-07-29

    实质审查的生效 IPC(主分类):G06T9/00 申请日:20140220

    实质审查的生效

  • 2014-05-14

    公开

    公开

说明书

技术领域

本发明涉及图像压缩技术,特别涉及一种移动平台信息的自适应图像缩放方法及其装置。  

背景技术

目前操作系统上的信息应用中(如短信、彩信)添加图像的压缩机制非常简单,导致附件内容非常有限。一般彩信中添加的附件内容有三种形式:音频、视频和图像。对于音频和视频,在发送过程中常常不做压缩,因此对于图像的压缩即是彩信附件压缩的主要内容。然而在现有操作系统中,都是在添加一幅图像时触发压缩,添加音频视频文件则不作任何处理,其缺乏定制性和可逆化操作,从而会出现以下问题: 

1、添加附件内容时,若先选择图像时,为了确保图像精度通常选择较大的系数压缩(如进行一级压缩),再添加音频就会很受剩余容量的限制。而若附件中已添加一定容量的音频,再添加图像时为了使图像能添加进去,会自动选择较小的系数压缩(如进行二级压缩)。这样同样的内容在第一种顺序下可能不能正常添加,第二种却可以,即现有的压缩方法收到添加顺序的制约。

假设附件最大容量(以limitation表示)为300K。若附件中先添加图像,保存了图像精度并以一个比较大的系数压缩(如一级压缩,Vresized表示图像压缩后的大小,Vresized≤0.4×limitation),则300K的图像压缩到120K以内。接着添加音频或视频时不会再次触发压缩,若音频为200K,则音频与图像一起的容量和(320K)就会超出设定的附件最大容量(300K),此时则提示添加失败。然而如果先添加音频(200K),再添加图像(300K),则可对图像进行二级压缩(Vresized≤0.2×limitation),300K的图像压缩到60K以内,此时音频与图像一起的容量和(不大于260K)就小于附件最大容量(300K),可以正常添加,不会提示失败。 

2、现有的压缩方法没有可定制操作。例如某图像小于附件最大容量limitation,用户不希望被压缩,以原图发送。但是现有的压缩方法一旦触发了压缩的条件(即添加的内容为图像),则附件中所有的图像都以相同的系数压缩,不能按照用户的需求保留原始图像,使发送的图像的精度大大损失。 

3、删除一些附件内容时使附件可用容量增大,现有的压缩方法中仍以原来的系数压缩附件中的剩余图像,导致图像过度压缩而剩余部分附件容量,不能合理调整压缩系数,不能使图像恢复到合适的精度,不能充分利用剩余空间。 

因而现有技术还有待改进和提高。 

发明内容

鉴于上述现有技术的不足之处,本发明的目的在于提供一种移动平台信息的自适应图像缩放方法及其装置,以解决现有压缩方法不能适当调整压缩系数的问题。 

为了达到上述目的,本发明采取了以下技术方案: 

一种移动平台信息的自适应图像缩放方法,其包括:

A、打开信息编辑界面添加文件时,根据附件最大容量判断当前文件是否能被添加;

B、在该文件能被添加时,根据添加的文件的类型、个数、大小以及附件最大容量,对附件中所有图像进行对应压缩等级的缩放处理;

C、检测附件的剩余容量的大小,在有剩余容量时提示用户可继续添加文件,剩余容量不足时提示用户可删除文件。

所述的移动平台信息的自适应图像缩放方法,其中,所述步骤A具体包括: 

A1、打开信息编辑界面时初始化被压缩队列和待放大队列;所述被压缩队列为文件被压缩后的队列,用于显示附件中所有文件和发送附件的临时存储;所述待放大队列为未经任何处理的文件队列,用于在删除附件中的文件后缩放图像,或指定图像压缩等级时调用;

A2、添加文件时,判断附件的总容量是否小于预设的附件最大容量:若是,则该文件能添加,执行步骤B;否则,该文件不能添加,提示附件的容量不足;所述附件的总容量即附件中所有文件的大小之和。

所述的移动平台信息的自适应图像缩放方法,其中,所述步骤B具体包括: 

B1、将文件存储在被压缩队列和待放大队列中;

B2、判断添加的文件类型是否为图像,若是则执行步骤B3,否则执行步骤B4;

B3、判断图像的个数大于1,或附件的总容量大于附件最大容量时,按照第一压缩算法压缩被压缩队列中的图像;

B4、判断附件的总容量大于附件最大容量,且文件还能压缩时,按照第二压缩算法压缩被压缩队列中的图像。

所述的移动平台信息的自适应图像缩放方法,其中,所述步骤B4具体包括: 

B41、判断附件的总容量是否大于附件最大容量,若是则执行步骤B42,否则提示用户可继续添加文件;

B42、判断当前附件的压缩等级是否为最后一级,若是则提示用户附件容量不足,建议删除部分文件;否则按照第二压缩算法压缩被压缩队列中的图像。

所述的移动平台信息的自适应图像缩放方法,其中,在所述步骤C之后还包括: 

D、当删除部分文件时,根据当前附件的总容量和附件最大容量调整压缩等级,使图像保持可存放的最大的图像精度。

所述的移动平台信息的自适应图像缩放方法,其中,所述步骤D具体包括: 

D1、当删除部分文件时,从被压缩队列和待放大队列中删除对应的文件;

D2、判断剩余的文件中是否有图像,若有则执行步骤D3;否则提示用户可添加文件;

D3、判断当前图像的压缩等级是否为最高一级;若是则不对图像进行放大,否则按照第三压缩算法缩放图像。

所述的移动平台信息的自适应图像缩放方法,其中,所述步骤B还包括:对用户选择的图像按照用户选择的压缩等级,通过第四压缩算法压缩。 

所述的移动平台信息的自适应图像缩放方法,其中,所述压缩等级包括:零级压缩、一级压缩和二级压缩,所述零级压缩即不压缩,所述一级压缩的公式为:Vresized≤0.4×limitation;所述二级压缩的公式为:Vresized≤0.2×limitation; 

其中, Vresized表示压缩后图像的大小, limitation表示附件最大容量。

所述的移动平台信息的自适应图像缩放方法,其中,所述第一压缩算法具体包括: 

S11、扫描被压缩队列,提取所有未指定压缩等级的图像并存储在图像队列中;

S12、判断所述图像的个数是否小于3且大于0;若是,则执行S13;否则,执行S14;

S13、采用一级压缩,且每个图像的压缩极限为附件最大容量的0.4倍;

S14、采用二级压缩,且每个图像的压缩极限为附件最大容量的0.2倍;

S15、对图像队列中的图像按照对应压缩等级压缩,且将压缩后的图像大小控制在压缩极限内;以图像队列中的压缩结果更新被压缩队列中对应的图像。

所述的移动平台信息的自适应图像缩放方法,其中,所述第二压缩算法具体包括: 

S21、扫描被压缩队列,提取所有未指定压缩等级的图像并存储在图像队列中;

S22、判断所述图像的个数是否大于0;若是则执行S23,否则结束;

S23、检测图像队列中图像的压缩等级;

S24、向下一压缩等级压缩图像队列中的图像,以图像队列中的压缩结果更新被压缩队列;

S25、判断被压缩队列中图像的压缩等级是否为二级压缩、或当前附件的总容量是否小于附件最大容量;若已为二级压缩或者当前附件的总容量小于附件最大容量时结束;否则返回S24。

所述的移动平台信息的自适应图像缩放方法,其中,所述第三压缩算法具体包括: 

S31、扫描待压缩队列,提取所有未指定压缩等级的图像并存储在图像队列中;

S32、判断图像的个数是否大于0;若是则执行S33,否则结束;

S33、检测图像队列中图像的压缩等级;

S34、将图像列中的图像向上一压缩等级压缩,以图像队列中的压缩结果更新被压缩队列;

S35、判断附件的总容量是否大于附件最大容量;若是则执行S37,否则执行S36;

S36、判断图像队列中的压缩等级是否为零级压缩,若是则结束,否则返回S34;

S37、将图像队列中的图像向下一压缩等级压缩,以压缩结果更新被压缩队列中的对应图像。

所述的移动平台信息的自适应图像缩放方法,其中,所述第四压缩算法具体包括: 

S41、扫描待放大队列,提取出已指定压缩等级的图像并存储在图像队列中,所述已指定的压缩等级为L1;并在被压缩队列中获取该图像的压缩等级,所述被压缩队列中获得的压缩等级为L2;

S42、判断L1和L2的压缩等级是否相同,若相同则执行S44,否则执行S43;

S43、将待放大队列里取出的已指定压缩等级的图像从零级压缩直接压缩为已指定的压缩等级L1,以压缩结果更新被压缩队列中的对应图像;

S44、判断当前附件的总容量是否大于预设的附件最大容量:若是,则提示指定图像的压缩失败,将原始图像压缩为被压缩队列中获得的压缩等级L2;否则提示指定图像压缩成功。

一种移动平台信息的自适应图像缩放装置,其包括: 

判断模块,用于打开信息编辑界面添加文件时,根据附件最大容量判断当前文件是否能被添加;

压缩模块,用于在该文件能被添加时,根据添加的文件的类型、个数、大小以及附件最大容量,对附件中所有图像进行对应压缩等级的缩放处理;

提示模块,用于检测附件的剩余容量的大小,在有剩余容量时提示用户可继续添加文件,剩余容量不足时提示用户可删除文件。

相较于现有技术,本发明提供的移动平台信息的自适应图像缩放方法及其装置,在打开信息编辑界面添加文件时,先根据附件最大容量判断当前文件是否能被添加。在该文件能添加时,再根据添加的文件的类型、个数大小以及附件最大容量、对附件中所有图像进行对应压缩等级的缩放处理。最后检测附件的剩余容量的大小,在有剩余容量时提示用户可继续添加文件,剩余容量不足时提示用户可删除文件。本发明能根据附件最大容量选择对应的压缩等级自适应压缩图像,解决了现有压缩方法不能适当调整压缩系数的问题。 

附图说明

图1为本发明实施例移动平台信息的自适应图像缩放方法的流程图。 

图2为本发明实施例移动平台信息的自适应图像缩放方法的步骤203中第一压缩算法的流程图。 

图3为本发明实施例移动平台信息的自适应图像缩放方法的步骤204中第二压缩算法的流程图。 

图4为本发明实施例移动平台信息的自适应图像缩放方法的步骤403中第三压缩算法的流程图。 

图5为本发明实施例移动平台信息的自适应图像缩放方法的S200中第四压缩算法的流程图。 

图6为本发明实施例移动平台信息的自适应图像缩放装置的结构框图。 

具体实施方式

本发明提供一种移动平台信息的自适应图像缩放方法及其装置,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。 

本发明实施例提供的移动平台信息的自适应图像缩放方法适用于各种系统,以Firefox OS系统为例,该移动平台信息的自适应图像缩放方法在根据图像的个数进行压缩的基础上,又添加了根据容量进行自适应的缩放过程,使得附件中图像比较少并且图像不是很大时,按照较高的压缩等级(即压缩后图像大小变化不大或很小),尽可能的保持图像原有的精度。当附件中图像比较多,或者图像比较大时,按较低的压缩等级压缩(即压缩后图像大小变得较小),在保持一定精度的情况下尽可能的存放较多的图像。本实施例中压缩等级包括:零级压缩(不压缩),一级压缩(Vresized≤0.4×limitation)和二级压缩(Vresized≤0.2×limitation),其中,Vresized表示压缩后图像的大小, limitation表示附件最大容量;零级压缩的等级最高,二级压缩的等级最低。 

也即是说,本实施例提供的自适应图像缩放方法在判断目前附件的总容量(即附件中所有文件的大小之和)超过附件最大容量时,就依序选择下一压缩等级压缩,直到目前附件的总容量小于附件最大容量或已经依序选择到最低压缩等级。同时,对已经压缩图像可以更改为较高或较低的压缩等级,自适应地调整压缩结果,尽可能利用有限空间同时保持最大的图像精度,以满足用户不同的压缩需求。 

请参阅图1,所述的移动平台信息的自适应图像缩放方法包括: 

S100、打开信息编辑界面添加文件时,根据附件最大容量判断当前文件是否能被添加。

S200、在该文件能被添加时,根据添加的文件的类型、个数、大小以及附件最大容量,对附件中所有图像进行对应压缩等级的缩放处理。 

S300、检测附件的剩余容量的大小,在有剩余容量时提示用户可继续添加文件,剩余容量不足时提示用户可删除文件。 

以Firefox OS系统为例,打开Firefox OS的sms应用,新建一个短信,在附件中开始添加文件。本实施例的改进之处在于,压缩之前,需初始化两个队列来存放需压缩的图像。则所述步骤S100具体包括:打开信息编辑界面时初始化被压缩队列和待放大队列。添加文件时,判断当前附件的总容量是否小于预设的附件最大容量:若是,则该文件能添加,执行步骤B;否则,该文件不能添加,提示附件的容量不足。 

其中,所述被压缩队列是:文件被压缩以后的队列,用于显示附件中的所有文件和发送附件的临时存储,以及后面进一步压缩。待放大队列是:是未经任何处理的文件队列,在删除附件中的文件后缩放图像,或指定某个图像压缩等级时调用。待放大队列和被压缩队列中的文件可能包括图像、视频和音频中的一种或多种。这两种队列实质上是对相同文件进行不同处理后存放的路径,其中,待放大队列中的文件可认为是源文件(即原始文件)的复制品,即与源文件一模一样,用于后续调用。被压缩队列中的文件相当于是源文件被压缩后(视频、音频通常不会被压缩)的文件。本实施例中被压缩队列用户可见,待放大队列用户不可见。 

当添加的文件能压缩时执行步骤S200,其具体包括: 

步骤201、将文件存储在被压缩队列和待放大队列中。

步骤202、判断添加的文件类型是否为图像,若是则执行步骤203,否则执行步骤204。 

由于音、视频不压缩仅图像压缩,因此,不同的附件类型采取不同的压缩方式。 

步骤203、判断图像的个数大于1,或附件的总容量大于附件最大容量时,按照第一压缩算法压缩被压缩队列中的图像。 

请参阅图2,所述第一压缩算法为: 

S11、扫描被压缩队列,提取出所有未指定压缩等级的图像并存储在图像队列中。该所有图像中不包括已指定了压缩等级的图像,压缩处理在图像队列中进行。这样单独提取(相当于复制)需压缩的图像可避免影响被压缩队列中的其他文件(如音、视频、已指定了压缩等级的图像)被同时压缩。

S12、判断所述图像的个数是否小于3且大于0;若是,则执行S13;否则,执行S14; 

S13、采用一级压缩,且每个图像的压缩极限为附件最大容量的0.4倍;

S14、采用二级压缩,且每个图像的压缩极限为附件最大容量的0.2倍;

S15、对图像队列中的图像按照对应压缩等级压缩,且将压缩后的图像大小控制在压缩极限内;以图像队列中的压缩结果更新被压缩队列。即被压缩队列中的图像按照已压缩后的大小存储。

具体实施时,Firefox OS系统中默认的附件最大容量为300K。若添加的文件不是图像(即附件为音、视频),还需执行步骤204、判断附件的总容量大于附件最大容量,且文件还能压缩时,按照第二压缩算法压缩被压缩队列中的图像。具体为: 

先判断当前附件的总容量是否大于附件最大容量,若不是则提示用户可继续添加文件。若是,则判断当前附件的压缩等级是否为最后一级,若是则提示用户附件容量不足,建议删除部分文件;否则按照第二压缩算法压缩被压缩队列中的图像。请参阅图3,所述第二压缩算法为:

S21、扫描被压缩队列,提取所有未指定压缩等级的图像并存储在图像队列中。

S22、判断所述图像的个数是否大于0;若是则执行S23,若不是则结束。 

S23、检测图像队列中图像的压缩等级。即检测当前的压缩等级L为零级压缩、一级压缩或二级压缩。 

S24、向下一压缩等级压缩图像队列中的图像,以图像队列中的压缩结果更新被压缩队列。即令L=L+1,且用压缩结果更新被压缩队列中的对应图像。 

S25、判断被压缩队列中图像的压缩等级是否为二级压缩、或当前附件的总容量是否小于附件最大容量;若已为二级压缩或者当前附件的总容量小于附件最大容量时结束;否则返回S24。 

在具体实施时,在所述步骤203之后、即按照第一压缩算法压缩被压缩队列中的图像之后还包括:判断当前附件的总容量是否大于附件最大容量,若是,则需按照第二压缩算法再次压缩被压缩队列中的图像。否则即提示用户可继续添加文件。 

压缩完成后,即上述步骤204中通过第二压缩算法压缩后,可检测附件的剩余容量的大小,在有剩余容量时提示用户继续添加文件,剩余容量不足时提示用户可删除文件。 

当用户删除一个或多个文件时,可根据当前附件的总容量和附件最大容量调整压缩等级,使图像保持可以存放的最大的图像精度(即图像的大小最大、且图像的大小之和不超出附件最大容量);其具体包括: 

步骤401、当删除部分文件时,从被压缩队列和待放大队列中删除对应的文件;

步骤402、判断剩余的文件中是否有图像,若有则执行步骤403;否则提示用户可添加文件。

步骤403、判断当前图像的压缩等级是否为最高一级(即零级压缩);若是则不对图像进行放大,否则按照第三压缩算法缩放图像。即调整图像的压缩等级,使图像保持可存放的最大的图像精度。 

请参阅图4,所述第三压缩算法为: 

S31、扫描待压缩队列,提取所有未指定压缩等级的图像并存储在图像队列中。

S32、判断图像的个数是否大于0;若是则执行S33,否则结束。 

S33、检测图像队列中图像的压缩等级。即检测当前的压缩等级L为零级压缩、一级压缩或二级压缩。 

S34、将图像列中的图像向上一压缩等级压缩,以图像队列中的压缩结果更新被压缩队列。即令L=L-1,选择上一个压缩等级,且用压缩结果更新被压缩队列中的对应图像。 

S35、判断附件的总容量是否大于附件最大容量;若是则执行S37,否则执行S36。 

S36、判断图像队列中的压缩等级是否为零级压缩,若是则结束,否则返回S34。 

S37、将图像队列中的图像向下一压缩等级压缩,以压缩结果更新被压缩队列中的对应图像。即令L=L+1。缩放结束。 

应当理解的是,当用户删除一个或多个文件时,附件的总容量必定减少。此时可动态调整图像的压缩等级,使图像的大小变大或变小,对前面已获得的压缩结果进行更改,能更加充分地利用附件的剩余容量,使图像精度保持最佳的情况下进行最适当的压缩;避免图像过度压缩导致剩余容量浪费的情况,解决了现有技术中无法合理调整压缩系数、不能充分利用剩余空间的问题。 

在具体实施时,若用户需保证某图像的清晰度,不需对某图像进行压缩,或对某图像需要大幅度压缩。则可对该图像进行定向压缩,即在步骤S200中,进一步包括,对用户选择的图像按照用户选择的压缩等级,通过第四压缩算法压缩。具体为:判断附件的总容量小于附件最大容量、且图像个数大于0时,弹出被压缩队列,显示所有文件。当用户选择一文件(本实施例中指图像)时,弹出压缩等级列表。所述压缩等级列表中显示:零级压缩(不压缩),一级压缩(图像压缩后的大小小于等于附件最大容量的0.4倍)和二级压缩(图像压缩后的大小小于等于附件最大容量的0.2倍)。当用户选择某一压缩等级后,执行第四压缩算法,即判断被选择的图像是否满足该压缩等级的压缩条件,若满足即可对该图像通过所选压缩等级进行缩放。 

所请参阅图5,述第四压缩算法具体为: 

S41、扫描待放大队列,提取出已指定压缩等级的图像并存储在图像队列中,所述已指定的压缩等级为L1;并在被压缩队列中获取该图像的压缩等级,所述被压缩队列中获得的压缩等级为L2。

应当理解的是,由于待放大队列是未经任何处理的文件队列,其中存储的所有图像的压缩等级为零级压缩。被压缩队列中的压缩等级可更改。用户指定某图像的压缩等级时,仅将该压缩等级L1标记在对应的图像中,此时不会改变待放大队列和被压缩队列中的压缩等级。 

S42、判断L1和L2是否相同,若相同则执行S44,否则执行S43。 

通过上述方法可明确,压缩时在图像队列中进行,被压缩队列中的压缩等级可更改,待放大队列中的图像的压缩等级保持为零级压缩。判断被压缩队列中的压缩等级L2是否与用户指定的压缩等级L1相同,如果相同则不需要压缩,不相同则需更改为用户指定的压缩等级L1。 

S43、将待放大队列里取出的已指定压缩等级的图像从零级压缩直接压缩为已指定的压缩等级L1,以压缩结果更新被压缩队列中的对应图像。 

由于被压缩队列中的图像已被压缩过,以此为基准进行再次压缩可能会影响图像精度。本实施例以待放大队列中提取的图像的压缩等级为基准,压缩成用户指定的压缩等级,相当于对图像进行初始压缩,其获得的压缩效果更好,且不会影响图像的精度。 

S44、判断当前附件的总容量是否大于预设的附件最大容量:若是,则提示指定图像的压缩失败,将原始图像压缩为被压缩队列中获得的压缩等级L2;否则提示指定图像压缩成功。 

按照用户指定的压缩等级压缩,更加合理地考虑了用户的不同需求,能按照用户的需求保留指定图像的大小,避免了指定图像的精度损失。 

基于上述的移动平台信息的自适应图像缩放方法,本发明实施例还相应提供一种图像压缩装置,如图6所示,其包括:依次连接的判断模块10、压缩模块20和提示模块30。所述判断模块10用于打开信息编辑界面添加文件时,根据附件最大容量判断当前文件是否能被添加;压缩模块20在该文件能被添加时,根据添加的文件的类型、个数、大小以及附件最大容量,对附件中所有图像进行对应压缩等级的缩放处理;提示模块30用于检测附件的剩余容量的大小,在有剩余容量时提示用户可继续添加附件,剩余容量不足时提示用户可删除文件。 

综上所述,本发明提供的移动平台信息的自适应图像缩放方法及其装置,结合图像的个数和附件的总容量,在判断目前附件的总容量超过附件最大容量时,就依序选择下一压缩等级压缩,直到目前附件的总容量小于附件最大容量或已经依序选择到最低压缩等级。同时,对已经压缩图像可以更改为较高或较低的压缩等级,自适应地调整压缩结果,尽可能利用有限空间同时保持最大的图像精度,以满足用户不同的压缩需求。该自适应图像缩放方法可以在一定程度上有效的提高图像的精度或增加图像的存放能力,同时还增加了定制和可逆压缩,更加人性化的满足了用户多变的需求。 

可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号