首页 / 专利库 / 图形技术 / 图像互换格式 / 图像传输控制方法、装置及存储介质和移动终端

图像传输控制方法、装置及存储介质和移动终端

阅读:57发布:2020-05-15

专利汇可以提供图像传输控制方法、装置及存储介质和移动终端专利检索,专利查询,专利分析的服务。并且本 申请 实施例 公开了一种图像传输控制方法、装置及存储介质和移动终端。所述方法包括:确定是否存在待传输图像的 缩略图 信息;若不存在所述缩略图信息,则将所述待传输图像按照设定压缩方式进行压缩,生成目标缩略图信息;将所述目标缩略图信息传输至计算机设备,所述目标缩略图信息用于指示所述计算机设备以缩略图形式显示所述待传输图像。本申请实施例提供的技术方案,实现了各种类型的待传输图像都有对应的缩略图信息,通过将待传输图像的缩略图信息传输至计算机设备端,使得各种类型的待传输图像都可以缩略图的形式在计算机设备上进行显示,大大缩短了用户在大量图片中过滤搜寻目标图片的时间。,下面是图像传输控制方法、装置及存储介质和移动终端专利的具体信息内容。

1.一种图像传输控制方法,其特征在于,包括:
确定是否存在待传输图像的缩略图信息,其中,所述缩略图信息是待传输图像自身携带的属性信息
若不存在所述缩略图信息,则将所述待传输图像按照设定压缩方式进行压缩,生成目标缩略图信息;
将所述目标缩略图信息传输至计算机设备,所述目标缩略图信息用于指示所述计算机设备以缩略图形式显示所述待传输图像;
获取待传输图像的图像类型;
所述确定是否存在待传输图像的缩略图信息包括:
若所述图像类型为第一设定类型,则判断所述待传输图像是否包含缩略图信息;若不包含,则确定不存在待传输图像的缩略图信息;若包含,则判断所包含的缩略图信息是否合法;若合法,则确定存在待传输图像的缩略图信息;若不合法,则确定不存在待传输图像的缩略图信息;
若所述图像类型为第二设定类型,则确定不存在所述待传输图像的缩略图信息;
其中,所述第一设定类型包括联合图像专家小组JPEG类型、数字化新闻采集DNG类型和标签图像文件格式TIFF类型,所述第二设定类型包括可移植网络图形PNG类型、位图BMP类型、图像互换格式GIF类型、可缩放矢量图形SVG类型或者原始图像数据存储格式RAW类型。
2.根据权利要求1所述的方法,其特征在于,所述将所述待传输图像按照设定压缩方式进行压缩,生成目标缩略图信息包括:
获取所述待传输图像的图像信息,所述图像信息包括图像尺寸;
按照设定压缩倍率确定规则,基于所述图像信息确定所述待传输图像的压缩倍率;
按照所述压缩倍率绘制目标画布,生成目标缩略图信息。
3.根据权利要求2所述的方法,其特征在于,所述按照设定压缩倍率确定规则,基于所述图像信息确定所述待传输图像的压缩倍率包括:
获取预先生成的图像尺寸集合与图像压缩倍率的预设对应关系表;
基于所述待传输图像的图像尺寸,确定所述待传输图像对应所属的目标图像尺寸集合;
根据所述目标图像尺寸集合基于所述预设对应关系表,确定所述待传输图像对应的压缩倍率。
4.根据权利要求3所述的方法,其特征在于,还包括:
获取预设图像尺寸参照集合A1、预设图像尺寸参照集合A2、预设图像尺寸参照集合A3、预设图像尺寸参照集合A4、预设图像尺寸参照集合A5,其中所述A1包括集合{(w,h)|int w<=100dp或int h<=100dp},所述A2包括集合{(w,h)|int w<=200dp或int h<=200dp};所述A3包括集合{(w,h)|int w<=400dp或int h<=400dp};所述A4包括集合{(w,h)|int w<=800dp或int h<=800dp};所述A5包括集合{(w,h)|int w<=1600dp或int h<=1600dp},所述w为图像的宽度,所述h为图像的高度;
计算图像尺寸集合B1、图像尺寸集合B2、图像尺寸集合B3、图像尺寸集合B4,其中B1为所述A2和所述A1的差值,B2为所述A3和所述A2的差值,B3为所述A4和所述A3的差值,B4为所述A5和所述A4的差值;
确定图像尺寸集合B1、图像尺寸集合B2、图像尺寸集合B3、图像尺寸集合B4对应的压缩倍率分别为1倍、2倍、4倍和8倍;
生成图像尺寸集合B1、图像尺寸集合B2、图像尺寸集合B3、图像尺寸集合B4与各自压缩倍率的预设对应关系表。
5.根据权利要求4所述的方法,其特征在于,根据所述目标图像尺寸集合基于所述预设对应关系表,确定所述待传输图像对应的压缩倍率包括:
若所述目标图像尺寸集合为B1,则基于所述预设对应关系表确定所述待传输图像对应的压缩倍率为1倍;
若所述目标图像尺寸集合为B2,则基于所述预设对应关系表确定所述待传输图像对应的压缩倍率为2倍;
若所述目标图像尺寸集合为B3,则基于所述预设对应关系表确定所述待传输图像对应的压缩倍率为4倍;
若所述目标图像尺寸集合为B4,则基于所述预设对应关系表确定所述待传输图像对应的压缩倍率为8倍。
6.根据权利要求2所述的方法,其特征在于,所述按照所述压缩倍率绘制目标画布,生成目标缩略图信息包括:
创建初始画布;
根据所述压缩倍率,确定目标宽度和目标高度,并将所述初始画布调整为宽度为所述目标宽度以及高度为所述目标高度的目标画布;
将所述待传输图像整体压缩绘制到所述目标画布,生成目标缩略图信息。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述将所述目标缩略图信息传输至计算机设备包括:
基于媒体传输协议MTP,将所述目标缩略图信息通过getThumbmail函数以对象方式传输至计算机设备。
8.一种图像传输控制装置,其特征在于,包括:
缩略图信息判断模,用于确定是否存在待传输图像的缩略图信息,其中,所述缩略图信息是待传输图像自身携带的属性信息;
缩略图信息生成模块,用于若不存在所述缩略图信息,则将所述待传输图像按照设定压缩方式进行压缩,生成目标缩略图信息;
缩略图信息传输模块,用于将所述目标缩略图信息传输至计算机设备,所述目标缩略图信息用于指示所述计算机设备以缩略图形式显示所述待传输图像;
图像类型获取模块,用于获取待传输图像的图像类型;
所述缩略图信息判断模块具体用于:
若所述图像类型为第一设定类型,则判断所述待传输图像是否包含缩略图信息;若不包含,则确定不存在待传输图像的缩略图信息;若包含,则判断所包含的缩略图信息是否合法;若合法,则确定存在待传输图像的缩略图信息;若不合法,则确定不存在待传输图像的缩略图信息;
若所述图像类型为第二设定类型,则确定不存在所述待传输图像的缩略图信息;
其中,所述第一设定类型包括联合图像专家小组JPEG类型、数字化新闻采集DNG类型和标签图像文件格式TIFF类型,所述第二设定类型包括可移植网络图形PNG类型、位图BMP类型、图像互换格式GIF类型、可缩放矢量图形SVG类型或者原始图像数据存储格式RAW类型。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的图像传输控制方法。
10.一种移动终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一所述的图像传输控制方法。

说明书全文

图像传输控制方法、装置及存储介质和移动终端

技术领域

[0001] 本申请实施例涉及信息传输控制技术领域,尤其涉及一种图像传输控制方法、装置及存储介质和移动终端。

背景技术

[0002] 手机等移动终端中的功能越来越多,为人们的生活和工作提供了便利,目前大多数手机都支持媒体传输协议(Media Transfer Protocol,MTP),通过该协议实现手机与计算机设备的通信,将手机对应的信息显示在计算机设备端。相关技术,当手机中图像信息传输至计算机设备进行显示的场景下,对于图像传输的控制方法存在缺陷,需要改进。发明内容
[0003] 本申请实施例提供一种图像传输控制方法、装置及存储介质和移动终端,可以合理的控制图像的传输方式,将移动终端中的各类图像以缩略图形式在计算机设备上进行显示。
[0004] 在第一方面,本申请实施例提供了一种图像传输控制方法,包括:
[0005] 确定是否存在待传输图像的缩略图信息;
[0006] 若不存在所述缩略图信息,则将所述待传输图像按照设定压缩方式进行压缩,生成目标缩略图信息;
[0007] 将所述目标缩略图信息传输至计算机设备,所述目标缩略图信息用于指示所述计算机设备以缩略图形式显示所述待传输图像。
[0008] 在第二方面,本申请实施例提供了一种图像传输控制装置,包括:
[0009] 缩略图信息判断模,用于确定是否存在待传输图像的缩略图信息;
[0010] 缩略图信息生成模块,用于若不存在所述缩略图信息,则将所述待传输图像按照设定压缩方式进行压缩,生成目标缩略图信息;
[0011] 缩略图信息传输模块,用于将所述目标缩略图信息传输至计算机设备,所述目标缩略图信息用于指示所述计算机设备以缩略图形式显示所述待传输图像。
[0012] 第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所提供的图像传输控制方法。
[0013] 在第四方面,本申请实施例提供了一种移动终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现如第一方面所提供的图像传输控制方法。
[0014] 本申请实施例在移动终端与计算机设备通过MTP协议通信连接之后,移动终端向计算机设备传输图像信息之前,通过先判断待传输图像是否存在缩略图信息,在待传输图像不存在缩略图信息时,按照设定压缩方式对待传输图像进行压缩生成缩略图信息,将缩略图信息传输至计算机设备,所述缩略图信息用于指示所述计算机设备以缩略图形式显示所述待传输图像,实现了各种类型的待传输图像都有对应的缩略图信息,通过将待传输图像的缩略图信息传输至计算机设备端,使得各种类型的待传输图像都可以缩略图的形式在计算机设备上进行显示,大大缩短了用户在大量图片中过滤搜寻目标图片的时间。附图说明
[0015] 图1是本申请实施例提供的一种移动终端与计算机设备之间的MTP通信连接示意图;
[0016] 图2是本申请实施例提供的一种图像传输控制方法的流程图
[0017] 图3是本申请实施例提供的另一种图像传输控制方法的流程图;
[0018] 图4是本申请实施例提供的图像尺寸集合B1-B4的坐标区域示意图;
[0019] 图5是本申请实施例提供的各类型待传输图像的原图示意图;
[0020] 图6是现有技术中各类图像在计算机设备上的显示示意图;
[0021] 图7是本申请实施例提供的在计算机设备上的显示示意图;
[0022] 图8是本申请实施例提供的另一种图像传输控制方法的流程图;
[0023] 图9是本申请实施例提供的一种图像传输控制装置的结构示意图;
[0024] 图10是本申请实施例提供的一种移动终端的结构示意图;
[0025] 图11是本申请实施例提供的另一种移动终端的结构示意图。

具体实施方式

[0026] 为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0027] 本申请实施例提供的技术方案可适用于移动终端通过媒体传输协议MTP,与计算机设备通信的应用场景。MTP是一个为计算机设备和便携式移动终端之间传输图像、音乐等所制定的协议。MTP的应用分为两种色,一个是作为Initiator,另一个作为Responder。以“Android手机”连接“个人计算机(personal computer,PC)”,PC端为Initiator,手机端为Responder为例,他们的关系如图1所示,在MTP中所有的请求都由Initiator发起。例如,PC请求获取Android手机上的文件数据。Responder手机会处理Initiator的请求;除此之外,Responder也会发送Event事件。
[0028] 图2给出了本申请实施例提供的一种图像传输控制方法的流程图,本实施例的方法可以由图像传输控制装置来执行,该装置可通过硬件和/或软件的方式实现,所述装置可作为移动终端一部分设置在所述移动终端的内部。本申请实施例中所述的移动终端包括但不限定于手机、平板电脑、笔记本或者U盘、移动硬盘等设备。
[0029] 如图2所示,本实施例提供的图像传输控制方法包括以下步骤:
[0030] 步骤101、判断是否存在待传输图像的缩略图信息,若不存在则执行步骤102,若存在则执行步骤104。
[0031] 为便于理解本申请的技术方案,下面给出Android中MTP的框架
[0032] 在Kernel层,USB驱动负责数据交换,而MTP驱动负责和上层进行通信,同时也和USB驱动进行通信。USB驱动负责数据交换,是指Android设备和PC通过USB数据线连接之后,实际的数据交换是经过USB数据线发送给USB驱动的。对于"MTP请求"而言,MTP驱动会从USB驱动中解析出的MTP请求数据,然后传递给上层。而对于上层传来的"MTP反馈",MTP驱动也会将反馈内容打包好之后,通过传递给USB驱动。
[0033] 在JNI层,MtpServer会不断地监听Kernel的消息"MTP请求",并对相应的消息进行相关处理。同时,MTP的Event事件也是通过MtpServer发送给MTP驱动的。MtpStorage对应一个"存储单元";例如,SD卡就对应一个MtpStorage。MtpPacket和MtpEventPacket负责对MTP消息进行打包。android_mtp_MtpServer是一个JNI类,它是"JNI层的MtpServer和Java层的MtpServer"沟通的桥梁。android_mtp_MtpDatabase也是一个JNI类,JNI层通过它实现了对MtpDatabase(Framework层)的操作。
[0034] 在Framework层,MtpServer相当于一个服务器,它通过和底层进行通信从而提供了MTP的相关服务。MtpDatabase充当着数据库的功能,但它本身并没有数据库对数据进行保存,本质上是通过MediaProvider数据库获取所需要的数据。MtpStorage对应一个"存储单元",它和"JNI层的MtpStorage"相对应。
[0035] 在Application层,MtpReceiver负责接收广播,接收到广播后会启动/关闭MtpService;例如,MtpReceiver收到"Android设备和PC连上"的消息时,会启动MtpService。MtpService的作用是提供管理MTP的服务,它会启动MtpServer,以及将本地存储内容和MTP的内容同步。MediaProvider在MTP中的角色,是本地存储内容查找和本地内容同步;例如,本地新增一个文件时,MediaProvider会通知MtpServer从而进行MTP数据同步。
[0036] 可选的,该步骤可以包括:在接收到计算机设备发送的MTP请求时,确定移动终端上的待传输图像(图片)是否存在缩略图信息。其中,所述MTP请求可以为用于获取移动终端上的待传输图像的请求。
[0037] 一般的,有些类型的图像本身携带有缩略图信息,而有些类型的图像自身并不携带缩略图信息。例如,联合图像专家小组(Joint Photographic Experts GROUP,JPEG)类型的图像一般携带有exif格式的缩略图信息,以及数字化新闻采集(Digital  News Gathering,DNG)类型和标签图像文件格式(Tag Image File Format,TIFF)类型的图像也可携带缩略图信息,而可移植网络图形(Portable Network Graphics,PNG)类型、位图(Bitmap,BMP)类型、图像互换格式(Graphics Interchange Format,GIF)类型、可缩放矢量图形(Scalable Vector Graphics,SVG)类型或者原始图像数据存储格式(RAW Image Format,RAW)类型的图像没有携带缩略图信息。对于有缩略图信息的图像,移动终端通过JNI方法,MyMtpDatabase::getObjectInfo,MyMtpDatabase::getThumbnail将信息传输到PC端后,可以在PC端上显示图像的缩略图,而对于不带缩略图信息的图像,在PC端上则不显示缩略图。
[0038] 可选的,在该步骤之前还可以包括以下步骤:获取待传输图像的图像类型;相应的,确定是否存在待传输图像的缩略图信息可以包括:若所述图像类型为第一设定类型,则判断所述待传输图像是否包含缩略图信息;若不包含,则确定不存在待传输图像的缩略图信息;若包含,则判断所包含的缩略图信息是否合法;若合法,则确定存在待传输图像的缩略图信息;若不合法,则确定不存在待传输图像的缩略图信息;若所述图像类型为第二设定类型,则确定不存在所述待传输图像的缩略图信息;其中,所述第一设定类型包括联合图像专家小组JPEG类型、数字化新闻采集DNG类型和标签图像文件格式TIFF类型,所述第二设定类型包括可移植网络图形PNG类型、位图BMP类型、图像互换格式GIF类型、可缩放矢量图形SVG类型或者原始图像数据存储格式RAW类型。
[0039] 在所述待传输图像存在缩略图信息时,可以直接将待传输图像的缩略图信息传输至计算机设备,或者验证所述缩略图信息的合法性,若缩略图信息合法则将缩略图信息传输至计算机设备,若不合法则确定待传输图像不存在缩略图信息,执行步骤102。其中,缩略图信息合法性的验证可以根据预先设定的规则进行验证,例如验证缩略图信息的完整性。
[0040] 步骤102、将所述待传输图像按照设定压缩方式进行压缩,生成目标缩略图信息。
[0041] 若待传输图像不存在缩略图信息,则将所述待传输图像按照设定压缩方式进行压缩,生成目标缩略图信息。可选的,可以利用图形处理函数库skia中提供的图像压缩处理接口getSampledDimensions,将待传输图像按照设定压缩方式进行压缩,生成目标缩略图信息。
[0042] 可选的,该步骤包括:获取所述待传输图像的图像信息,所述图像信息包括图像尺寸;按照设定压缩倍率确定规则,基于所述图像信息确定所述待传输图像的压缩倍率;按照所述压缩倍率绘制目标画布,生成目标缩略图信息。所述图像尺寸包括图像的宽度和长度。
[0043] 可选的,所述按照所述压缩倍率绘制目标画布,生成目标缩略图信息包括:创建初始画布;根据所述压缩倍率,确定目标宽度和目标高度,并将所述初始画布调整为宽度为所述目标宽度以及高度为所述目标高度的目标画布;将所述待传输图像整体压缩绘制到所述目标画布,生成目标缩略图信息。
[0044] 示例性的,给出生成目标缩略图信息的部分实现代码:
[0045] #ifdef VENDOR_EDIT
[0046] //Zequan.Wang@EXP.AD.Usb.Mtp.941877,2017/05/12,Add for surpport picture Thumbnail display
[0047] case MTP_FORMAT_BMP:
[0048] case MTP_FORMAT_PNG:
[0049] {
[0050] //ALOGD("MtpDatabase::getThumbnail FORMAT_BMP/PNG\n");
[0051] if(imageDecode(path.string(),false)){//已经获取到缩略图
[0052] //对当前缩略图进行编解码,skdata就是画布,画布内容就是绘制缩略图decodingBitmap信息
[0053] SkAutoTUnref skdata(SkImageEncoder::EncodeData(decodingBitmap,[0054] SkImageEncoder::kJPEG_Type,SkImageEncoder::kDefaultQuality));
[0055] if(skdata.get()){
[0056] result=malloc(skdata->size());
[0057] if(result){
[0058] //ALOGD("MtpDatabase::getThumbnail FORMAT_BMP/PNG size:%zu\n",skdata->size());
[0059] //将缩略图放到内容result,这个result会通过getThumbnail()给到PC端[0060] memcpy(result,skdata->data(),skdata->size());
[0061] outThumbSize=skdata->size();
[0062] }
[0063] }
[0064] }else{
[0065] ALOGD("MtpDatabase::getThumbnail FORMAT_BMP/PNG-FAIL\n");
[0066] }
[0067] break;
[0068] }
[0069] #endif/*VENDOR_EDIT*/
[0070] 步骤103、将所述目标缩略图信息传输至计算机设备,所述目标缩略图信息用于指示所述计算机设备以缩略图形式显示所述待传输图像。
[0071] 可选的,该步骤可以包括:基于媒体传输协议MTP,将所述目标缩略图信息通过getThumbmail函数以对象方式传输至计算机设备。
[0072] 可选的,在将所述目标缩略图信息传输至计算机设备的同时还可以将待传输图像的原图传输至计算机设备缓存到计算机设备中。
[0073] 步骤104、将所述待传输图像的缩略图信息传输至计算机设备。所述目标缩略图信息用于指示所述计算机设备以缩略图形式显示所述待传输图像。
[0074] 若所述待传输图像存在缩略图信息,可以直接将待传输图像的缩略图信息传输至计算机设备,以在计算机设备上将待传输图像以缩略图形式进行显示。
[0075] 本实施例提供的图像传输控制方法,在移动终端与计算机设备通信连接之后,移动终端向计算机设备传输图像信息之前,通过先判断待传输图像是否存在缩略图信息,在待传输图像不存在缩略图信息时,按照设定压缩方式对待传输图像进行压缩生成缩略图信息,将缩略图信息传输至计算机设备,所述缩略图信息用于指示所述计算机设备以缩略图形式显示所述待传输图像,实现了各种类型的待传输图像都有对应的缩略图信息,通过将待传输图像的缩略图信息传输至计算机设备端,使得各种类型的待传输图像都可以缩略图的形式在计算机设备上进行显示,大大缩短了用户在大量图片中过滤搜寻目标图片的时间,提升了用户体验。
[0076] 图3给出了本申请实施例提供的另一种图像传输控制方法的流程图。如图3所示,本实施例提供的方法包括以下步骤:
[0077] 步骤201、判断是否存在待传输图像的缩略图信息,若不存在则执行步骤202,若存在则执行步骤208。
[0078] 步骤202、获取所述待传输图像的图像信息,所述图像信息包括图像尺寸。
[0079] 步骤203、按照设定压缩倍率确定规则,基于所述图像信息确定所述待传输图像的压缩倍率。
[0080] 其中,在该步骤开始执行对待传输图像的压缩编解码操作,所述编解码操作包括步骤203至步骤206,编解码操作可以通过imageDecode函数实现。该步骤压缩倍率的确定可以通过getSamePleSize(int w,int h)函数来实现,w为待传输图像的宽度,h为待传输图像的高度。
[0081] 可选的,该步骤203包括:获取预先生成的图像尺寸集合与图像压缩倍率的预设对应关系表;基于所述待传输图像的图像尺寸,确定所述待传输图像对应所属的目标图像尺寸集合;根据所述目标图像尺寸集合基于所述预设对应关系表,确定所述待传输图像对应的压缩倍率sampleSize。
[0082] 相应的,还可以包括生成所述预设对应关系表的步骤,即该实施例提供的控制方法还可以包括以下步骤:获取预设图像尺寸参照集合A1、预设图像尺寸参照集合A2、预设图像尺寸参照集合A3、预设图像尺寸参照集合A4、预设图像尺寸参照集合A5,其中所述A1包括集合{(w,h)|int w<=100dp或int h<=100dp},所述A2包括集合{(w,h)|int w<=200dp或int h<=200dp};所述A3包括集合{(w,h)|int w<=400dp或int h<=400dp};所述A4包括集合{(w,h)|int w<=800dp或int h<=800dp};所述A5包括集合{(w,h)|int w<=1600dp或int h<=1600dp},所述w为图像的宽度,所述h为图像的高度;计算图像尺寸集合B1、图像尺寸集合B2、图像尺寸集合B3、图像尺寸集合B4,其中B1为所述A2和所述A1的差值,B2为所述A3和所述A2的差值,B3为所述A4和所述A3的差值,B4为所述A5和所述A4的差值;确定图像尺寸集合B1、图像尺寸集合B2、图像尺寸集合B3、图像尺寸集合B4对应的压缩倍率分别为1倍、2倍、4倍和8倍;生成图像尺寸集合B1、图像尺寸集合B2、图像尺寸集合B3、图像尺寸集合B4与各自压缩倍率的预设对应关系表。
[0083] 需要说明的是,本实施例中仅以预设图像尺寸参照集合A1-A5以及得到的图像尺寸集合B1-B4为例进行了说明,这是因为对于属于集合A5或者B4的图像实际上已经很大了,几乎覆盖了大部分尺寸的图像,另外穷举所有的集合难度较大,但本领域技术人员可以理解的是,还可以包括集合A0{(w,h)|int w<=50dp或int h<=50dp},A6{(w,h)|int w<=3200dp或int h<=3200dp},A7{(w,h)|int w<=6400dp或int h<=6400dp}等,以及可相应计算出B0、B5、B6等,本实施例对此并不进行限制。
[0084] 另外,本实施例针对待传输图像的尺寸设置不同的压缩倍率的原因是:一般计算机设备端默认的缩略图显示在50*50dp-100*100dp,可以保证合适倍率压缩后的待传输图像可以显示的清晰,另一方面通过对待传输图像基于图像尺寸进行合理倍率的压缩,可以避免移动终端与计算机设备端传输过程中的卡顿,以及节省传输过程中占用的资源。
[0085] 其中,dp是虚拟像素,在不同的像素密度的设备上会自动适配,比如:在320x480分辨率,像素密度为160,1dp=1px在480x800分辨率,像素密度为240,1dp=1.5px。计算公式:1dp*像素密度/160=实际像素数。本申请实施例中的压缩倍数为2的幂次倍,这是由图像的存储方式所影响的。
[0086] 其中,集合A2-A1就是集合A2中的元素减去A2和A1的交集A1A2后的元素集合。根据上述内容可知,对于集合B1,其表示100dp
[0087] 其中,对于基于所述待传输图像的图像尺寸,确定所述待传输图像对应所属的目标图像尺寸集合,示例性的,若待传输图像X的宽度w为150,高度为180,那么待传输图像X(150,180)对应所属的目标图像尺寸集合就是B1,若待传输图像Y的宽度为300,高度为300,那么待传输图像Y(300,300)对应所属的目标图像尺寸集合就是B2。
[0088] 可选的,所述根据所述目标图像尺寸集合基于所述预设对应关系表,确定所述待传输图像对应的压缩倍率包括:若所述目标图像尺寸集合为B1,则基于所述预设对应关系表确定所述待传输图像对应的压缩倍率为1倍;若所述目标图像尺寸集合为B2,则基于所述预设对应关系表确定所述待传输图像对应的压缩倍率为2倍;若所述目标图像尺寸集合为B3,则基于所述预设对应关系表确定所述待传输图像对应的压缩倍率为4倍;若所述目标图像尺寸集合为B4,则基于所述预设对应关系表确定所述待传输图像对应的压缩倍率为8倍。
[0089] 如上述示例,在确定了待传输图像X的目标图像尺寸集合为B1之后,则可从预设对应关系表中查找到待传输图像X对应的压缩倍率为1倍;在确定了待传输图像Y的目标图像尺寸集合为B2之后,则可从预设对应关系表中查找到待传输图像Y对应的压缩倍率为2倍。
[0090] 步骤204、创建初始画布。
[0091] 首先创建一个初始画布decodingBitmap。需要说明的是该步骤204也可以在步骤203之前执行,本实施例对此并不进行限制。
[0092] 步骤205、根据所述压缩倍率,确定目标宽度和目标高度,并将所述初始画布调整为宽度为所述目标宽度以及高度为所述目标高度的目标画布。
[0093] 步骤206、将所述待传输图像整体压缩绘制到所述目标画布,生成目标缩略图信息。
[0094] 将所述待传输图像基于压缩倍率进行整体压缩绘制到目标画布中,并生成目标缩略图信息。
[0095] 若缩略图绘制成功,则将绘制好的目标画布以及缩略图信息赋值给getSampledDimensions函数的结果参数result。
[0096] 本实施例通过对待传输图像进行整体压缩,可以使得缩略图信息中包含待传输图像的完整图像信息,相比于现有技术中对图像局部进行采样压缩,避免了导致一些不规则图像在计算机设备端显示不全的问题。
[0097] 步骤207、将所述目标缩略图信息传输至计算机设备,所述目标缩略图信息用于指示所述计算机设备以缩略图形式显示所述待传输图像。
[0098] 对图像进行合理倍率sampleSize压缩之后生成缩略图信息,通过MTP的JNI getObjectInfo,getThumbnail函数传输给PC端。
[0099] 步骤208、将所述待传输图像的缩略图信息传输至计算机设备。
[0100] 若所述待传输图像存在缩略图信息,可以直接将待传输图像的缩略图信息传输至计算机设备。
[0101] 本实施例提供的方法,若待传输图像不存在缩略图信息,那么根据待传输图像的图像尺寸按照设定压缩倍率确定规则确定合适的压缩倍率,并根据该压缩倍率对创建的初始画布的大小进行调整生成目标画布,将待传输图像基于该压缩倍率整体压缩绘制到目标画布上,生成目标缩略图信息,将目标缩略图信息传输至计算机设备中,实现了对待传输图像合理倍率的压缩,使得在计算机设备上可以显示清晰的缩略图,也有效避免了传输过程中的卡顿问题,实现了各种类型和尺寸的待传输图像都可以在计算机设备上以缩略图的形式进行显示。
[0102] 为了更好的说明和理解本申请的技术方案,图5-图7分别给出了本申请实验过程中的示例数据。
[0103] 图5给出了各种类型和尺寸的待传输图像的原图示意图,如图5所示,图a为100dp*100dp,类型为JPEG且带有合法exif缩略图信息的图像,图b为300dp*150dp,类型为PNG的图像,图c为100dp*100dp,类型为JPEG且exif缩略图信息丢失的图像,图d为400dp*600dp,类型为BMP的图像。
[0104] 图6给出了没有采用本申请提供的技术方案进行压缩,通过MTP将图像传输到计算机设备后,在计算机设备上的显示效果。如图6所示,因为图a为带有exif的图像,所以在计算机设备上以缩略图形式进行显示,因为图b为不带有缩略图信息的PNG类型的图像,所以在计算机设备上并未以缩略图形式进行显示,虽然图c为JPEG类型但由于丢失了缩略图信息,所以在计算机设备上并未以缩略图形式进行显示,因为图d为不带有缩略图信息的BMP类型的图像,所以在计算机设备上并未以缩略图形式进行显示。
[0105] 图7给出了采用本申请的技术方案对图像进行合适倍率的压缩之后,通过MTP传输到计算机设备,在计算机设备上的显示效果。如图7所示,因为图a带有exif信息所以无需压缩,且可以缩略图形式进行显示;图b的图形尺寸所对应的集合为B2,因此通过本申请技术方案进行了2倍的压缩变为150dp*75dp,并以缩略图形式进行显示;因为图c丢失了exif信息且图形尺寸对应的集合为B1,所以通过本申请技术方案进行了1倍压缩,并以缩略图形式进行显示;因为图d的图像尺寸对应的集合为B3,所以通过本申请技术方案进行了4倍压缩变为100dp*150dp,并以缩略图形式进行显示。
[0106] 图8给出了本申请实施例提供的另一种图像传输控制方法的流程图。如图8所示,本实施例提供的图像传输控制方法包括以下步骤:
[0107] 步骤301、接收到计算机设备的MTP请求。其中,所述MTP请求为向移动终端获取移动终端中待传输给计算机设备进行显示的图像数据的请求。
[0108] 步骤302、判断待传输图像是否存在缩略图信息,若存在则执行步骤311,若不存在则执行步骤303。
[0109] 步骤303、获取所述待传输图像的图像尺寸。
[0110] 步骤304、获取预先生成的图像尺寸集合与图像压缩倍率的预设对应关系表。
[0111] 步骤305、基于所述待传输图像的图像尺寸,确定所述待传输图像对应所属的目标图像尺寸集合。
[0112] 步骤306、根据所述目标图像尺寸集合基于所述预设对应关系表,确定所述待传输图像对应的压缩倍率。
[0113] 步骤307、创建初始画布。
[0114] 步骤308、根据所述压缩倍率,确定目标宽度和目标高度,并将所述初始画布调整为宽度为所述目标宽度以及高度为所述目标高度的目标画布。
[0115] 步骤309、将所述待传输图像整体压缩绘制到所述目标画布,生成目标缩略图信息。
[0116] 步骤310、将所述目标缩略图信息传输至计算机设备,所述目标缩略图信息用于指示所述计算机设备以缩略图形式显示所述待传输图像。
[0117] 步骤311、将所述待传输图像的缩略图信息传输至计算机设备。
[0118] 本实施例提供的方法,在接收到计算机设备的MTP请求时,判断待传输图像是否存在缩略图信息,若待传输图像不存在缩略图信息,那么根据待传输图像的图像尺寸基于预先生成的图像尺寸集合与图像压缩倍率的预设对应关系表确定合适的压缩倍率,并根据该压缩倍率对创建的初始画布的大小进行调整生成目标画布,将待传输图像基于该压缩倍率整体压缩绘制到目标画布上,生成目标缩略图信息,将目标缩略图信息传输至计算机设备中,实现了对待传输图像合理倍率的压缩,使得在计算机设备上可以显示清晰的缩略图,也有效避免了传输过程中的卡顿问题,实现了各种类型和尺寸的待传输图像都可以在计算机设备上以缩略图的形式进行显示。
[0119] 图9为本申请实施例提供的一种图像传输控制装置的结构示意图,该装置可由软件和/或硬件实现,集成在移动终端中。如图9所示,该装置包括缩略图信息判断模块41、缩略图信息生成模块42和缩略图信息传输模块43。
[0120] 所述缩略图信息判断模块41,用于确定是否存在待传输图像的缩略图信息;
[0121] 所述缩略图信息生成模块42,用于若不存在所述缩略图信息,则将所述待传输图像按照设定压缩方式进行压缩,生成目标缩略图信息;
[0122] 所述缩略图信息传输模块43,用于将所述目标缩略图信息传输至计算机设备,所述目标缩略图信息用于指示所述计算机设备以缩略图形式显示所述待传输图像。
[0123] 本实施例提供的装置,在移动终端与计算机设备通信连接之后,移动终端向计算机设备传输图像信息之前,通过先判断待传输图像是否存在缩略图信息,在待传输图像不存在缩略图信息时,按照设定压缩方式对待传输图像进行压缩生成缩略图信息,将缩略图信息传输至计算机设备,所述缩略图信息用于指示所述计算机设备以缩略图形式显示所述待传输图像,实现了各种类型的待传输图像都有对应的缩略图信息,通过将待传输图像的缩略图信息传输至计算机设备端,使得各种类型的待传输图像都可以缩略图的形式在计算机设备上进行显示,大大缩短了用户在大量图片中过滤搜寻目标图片的时间。
[0124] 可选的,所述缩略图信息生成模块将所述待传输图像按照设定压缩方式进行压缩,生成目标缩略图信息包括:
[0125] 获取所述待传输图像的图像信息,所述图像信息包括图像尺寸;
[0126] 按照设定压缩倍率确定规则,基于所述图像信息确定所述待传输图像的压缩倍率;
[0127] 按照所述压缩倍率绘制目标画布,生成目标缩略图信息。
[0128] 可选的,所述缩略图信息生成模块按照设定压缩倍率确定规则,基于所述图像信息确定所述待传输图像的压缩倍率包括:
[0129] 获取预先生成的图像尺寸集合与图像压缩倍率的预设对应关系表;
[0130] 基于所述待传输图像的图像尺寸,确定所述待传输图像对应所属的目标图像尺寸集合;
[0131] 根据所述目标图像尺寸集合基于所述预设对应关系表,确定所述待传输图像对应的压缩倍率。
[0132] 可选的,所述装置还包括:
[0133] 预设图像尺寸参照集合获取模块,用于获取预设图像尺寸参照集合A1、预设图像尺寸参照集合A2、预设图像尺寸参照集合A3、预设图像尺寸参照集合A4、预设图像尺寸参照集合A5,其中所述A1包括集合{(w,h)|int w<=100dp或int h<=100dp},所述A2包括集合{(w,h)|int w<=200dp或int h<=200dp};所述A3包括集合{(w,h)|int w<=400dp或int h<=400dp};所述A4包括集合{(w,h)|int w<=800dp或int h<=800dp};所述A5包括集合{(w,h)|int w<=1600dp或int h<=1600dp},所述w为图像的宽度,所述h为图像的高度;
[0134] 图像尺寸集合获取模块,用于计算图像尺寸集合B1、图像尺寸集合B2、图像尺寸集合B3、图像尺寸集合B4,其中B1为所述A2和所述A1的差值,B2为所述A3和所述A2的差值,B3为所述A4和所述A3的差值,B4为所述A5和所述A4的差值;
[0135] 压缩倍率确定模块,用于确定图像尺寸集合B1、图像尺寸集合B2、图像尺寸集合B3、图像尺寸集合B4对应的压缩倍率分别为1倍、2倍、4倍和8倍;
[0136] 预设对应关系表生成模块,用于生成图像尺寸集合B1、图像尺寸集合B2、图像尺寸集合B3、图像尺寸集合B4与各自压缩倍率的预设对应关系表。
[0137] 可选的,所述缩略图信息生成模块根据所述目标图像尺寸集合基于所述预设对应关系表,确定所述待传输图像对应的压缩倍率包括:
[0138] 若所述目标图像尺寸集合为B1,则基于所述预设对应关系表确定所述待传输图像对应的压缩倍率为1倍;
[0139] 若所述目标图像尺寸集合为B2,则基于所述预设对应关系表确定所述待传输图像对应的压缩倍率为2倍;
[0140] 若所述目标图像尺寸集合为B3,则基于所述预设对应关系表确定所述待传输图像对应的压缩倍率为4倍;
[0141] 若所述目标图像尺寸集合为B4,则基于所述预设对应关系表确定所述待传输图像对应的压缩倍率为8倍。
[0142] 可选的,所述缩略图信息生成模块按照所述压缩倍率绘制目标画布,生成目标缩略图信息包括:
[0143] 创建初始画布;
[0144] 根据所述压缩倍率,确定目标宽度和目标高度,并将所述初始画布调整为宽度为所述目标宽度以及高度为所述目标高度的目标画布;
[0145] 将所述待传输图像整体压缩绘制到所述目标画布,生成目标缩略图信息。
[0146] 可选的,住装置还包括:
[0147] 图像类型获取模块,用于获取待传输图像的图像类型;
[0148] 所述缩略图信息判断模块具体用于:
[0149] 若所述图像类型为第一设定类型,则判断所述待传输图像是否包含缩略图信息;若不包含,则确定不存在待传输图像的缩略图信息;若包含,则判断所包含的缩略图信息是否合法;若合法,则确定存在待传输图像的缩略图信息;若不合法,则确定不存在待传输图像的缩略图信息;
[0150] 若所述图像类型为第二设定类型,则确定不存在所述待传输图像的缩略图信息;
[0151] 其中,所述第一设定类型包括联合图像专家小组JPEG类型、数字化新闻采集DNG类型和标签图像文件格式TIFF类型,所述第二设定类型包括可移植网络图形PNG类型、位图BMP类型、图像互换格式GIF类型、可缩放矢量图形SVG类型或者原始图像数据存储格式RAW类型。
[0152] 可选的,所述缩略图信息传输模块用于:
[0153] 基于媒体传输协议MTP,将所述目标缩略图信息通过getThumbmail函数以对象方式传输至计算机设备。
[0154] 本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种图像传输控制方法,该方法包括:
[0155] 确定是否存在待传输图像的缩略图信息;
[0156] 若不存在所述缩略图信息,则将所述待传输图像按照设定压缩方式进行压缩,生成目标缩略图信息;
[0157] 将所述目标缩略图信息传输至计算机设备,所述目标缩略图信息用于指示所述计算机设备以缩略图形式显示所述待传输图像。
[0158] 存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
[0159] 当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的图像传输控制操作,还可以执行本申请任意实施例所提供的图像传输控制方法中的相关操作。
[0160] 本申请实施例提供了一种移动终端,该移动终端中可集成本申请实施例提供的图像传输控制装置。图10为本申请实施例提供的一种移动终端的结构示意图。移动终端500可以包括:存储器501,处理器502及存储在存储器501上并可在处理器502运行的计算机程序,所述处理器502执行所述计算机程序时实现如本申请实施例所述的图像传输控制方法。
[0161] 本申请实施例提供的移动终端,实现了各种类型的待传输图像都有对应的缩略图信息,通过将待传输图像的缩略图信息传输至计算机设备端,使得各种类型的待传输图像都可以缩略图的形式在计算机设备上进行显示,大大缩短了用户在大量图片中过滤搜寻目标图片的时间。
[0162] 图11为本申请实施例提供的另一种移动终端的结构示意图,如图11所示,该移动终端可以包括:存储器601、中央处理器(Central Processing Unit,CPU)602(又称处理器,以下简称CPU)、所述存储器601,用于存储可执行程序代码;所述处理器602通过读取所述存储器601中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行:确定是否存在待传输图像的缩略图信息;若不存在所述缩略图信息,则将所述待传输图像按照设定压缩方式进行压缩,生成目标缩略图信息;将所述目标缩略图信息传输至计算机设备,所述目标缩略图信息用于指示所述计算机设备以缩略图形式显示所述待传输图像。
[0163] 所述移动终端还包括:外设接口603、RF(Radio Frequency,射频)电路605、音频电路606、扬声器611、电源管理芯片608、输入/输出(I/O)子系统609、触摸屏612、其他输入/控制设备610以及外部端口604,这些部件通过一个或多个通信总线或信号线607来通信。
[0164] 应该理解的是,图示移动终端600仅仅是移动终端的一个范例,并且移动终端600可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
[0165] 下面就本实施例提供的用于图像传输控制的移动终端进行详细的描述,该移动终端以手机为例。
[0166] 存储器601,所述存储器601可以被CPU602、外设接口603等访问,所述存储器601可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0167] 外设接口603,所述外设接口603可以将设备的输入和输出外设连接到CPU502和存储器601。
[0168] I/O子系统609,所述I/O子系统609可以将设备上的输入输出外设,例如触摸屏612和其他输入/控制设备610,连接到外设接口603。I/O子系统609可以包括显示控制器6091和用于控制其他输入/控制设备610的一个或多个输入控制器6092。其中,一个或多个输入控制器6092从其他输入/控制设备610接收电信号或者向其他输入/控制设备610发送电信号,其他输入/控制设备610可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器6092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
[0169] 触摸屏612,所述触摸屏612是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
[0170] I/O子系统609中的显示控制器6091从触摸屏612接收电信号或者向触摸屏612发送电信号。触摸屏612检测触摸屏上的接触,显示控制器6091将检测到的接触转换为与显示在触摸屏612上的用户界面对象的交互,即实现人机交互,显示在触摸屏612上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
[0171] RF电路605,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路605接收并发送RF信号,RF信号也称为电磁信号,RF电路605将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路605可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
[0172] 音频电路606,主要用于从外设接口603接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器611。
[0173] 扬声器611,用于将手机通过RF电路605从无线网络接收的语音信号,还原为声音并向用户播放该声音。
[0174] 电源管理芯片608,用于为CPU602、I/O子系统及外设接口603所连接的硬件进行供电及电源管理。
[0175] 上述实施例中提供的图像传输控制装置、存储介质及移动终端可执行本申请任意实施例所提供的图像传输控制方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的图像传输控制方法。
[0176] 上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈