一种基于内容分发网络的生成动态图片的方法技术

技术编号:21432375 阅读:26 留言:0更新日期:2019-06-22 11:58
本发明专利技术公开了一种基于CDN的生成动态图片的方法,包括:在HTTP/HTTPS请求的URI上,添加一个标记字符,以及若干个图片处理参数,CDN检测HTTP/HTTPS请求的完整URI,判断URI上是否携带标记字符和图片处理参数,如果URI上携带标记字符和图片处理参数,CDN用图片和图片处理参数请求图片处理服务,图片处理服务解析CDN传递过来的图片和图片处理参数,按照参数对图片进行图像处理,把处理后的图片返回给CDN。本发明专利技术不需要人工设计同一张图片在多种要求下的多个图片版本,不需要开发设计同类的图片处理服务,提高使用者的设计效率和软件工程效率,提高图片的浏览体验。

【技术实现步骤摘要】
一种基于内容分发网络的生成动态图片的方法
本专利技术涉及图像处理
,具体涉及一种基于内容分发网络的生成动态图片的方法。
技术介绍
CDN(ContentDeliveryNetwork,内容分发网络)是一种互联网内容分发技术,把各类内容从数据中心快速的送达到各类终端。图片是CDN上常见的内容,使用图片一方面面临不同终端对尺寸、方向等要求不一致的问题,另一方面面临版权和自身商业诉求等要求的问题,因此,研究CDN上的动态图片处理具有非常重要的意义。申请公布号为CN108648253A(申请号为201810433574.6)的中国专利技术专利申请公开了一种动态图片的生成方法及装置,所述方法包括:生成目标向量,并采用预测网络对目标向量进行预测,得到前景动态图片、前景遮罩动态图片及后景静态图片;将前景动态图片和前景遮罩动态图片按帧拆分为至少一帧前景静态图片以及对应的前景遮罩静态图片;将第一帧前景静态图片、第一帧前景遮罩静态图片及后景静态图片输入到长短期记忆网络的第一个胞体中,预测生成动态图片的第一帧画面;将第n帧的前景静态图片、对应的前景遮罩静态图片及动态图片的n-1帧的画面输入到长短期记忆网络的第n个胞体中,预测生成动态图片的第n帧画面。该技术方案能够提高动态图片生成的准确率,但是不适用CDN,无法适应将动态图片从数据中心快速的送达到各类终端。
技术实现思路
本专利技术提出了一种基于内容分发网络(CDN)的生成动态图片的方法,能够动态判断CDN上每一个HTTP/HTTPS请求是否需要进行图片处理,能够根据不同的图片处理参数对图片进行图像处理生成新的动态图片。一种基于内容分发网络(CDN)的生成动态图片的方法,包括以下步骤:1)原始图片通过URI访问,HTTP/HTTPS请求参数包括URI和UserAgent,在HTTP/HTTPS请求的URI上,提取标记字符(一个)以及图片处理参数;2)CDN通过检测HTTP/HTTPS请求的URI,判断URI上是否携带标记字符和图片处理参数,决定请求是否要进行图片处理;3)如果URI上携带标记字符和图片处理参数,需要进行图片处理,CDN用原始图片和图片处理参数请求图片处理服务;4)根据图片处理服务的请求,图片处理服务器解析CDN传递过来的原始图片和图片处理参数,按照图片处理参数对原始图片进行图像处理,把处理后得到的动态图片返回给CDN;5)CDN根据HTTP/HTTPS请求的UserAgent决定是否返回webp(即WebP)格式的图片,如果决定返回webp格式的图片,CDN用步骤4)得到的动态图片结合webp格式的图片的参数请求图片处理服务,得到新的动态图片返回给CDN;如果决定不返回webp格式的图片,则将步骤4)得到的动态图片返回给CDN;6)如果URI上不携带标记字符,或不携带图片处理参数,或不携带标记字符和图片处理参数,不需要进行原始图片处理,CDN不请求图片处理服务。步骤5)中,本专利技术通过HTTP/HTTPS请求的UserAgent(用户代理)判断是否返回webp格式的图片,采用webp格式的图片在保证图片质量的前提下,减少70%的图片大小,提高请求响应速度,并且可以节省带宽成本。现有技术中,动态图片需要有两个URI,加载时容易出现获得的动态图片浏览器不支持,造成无法显示,图片采用JPEG,图片较大加载较慢,容易出现卡顿。本专利技术中,只有一个URI,不会出现动态图片浏览器不支持的情形,采用自适应的webp格式的图片,在相同图片质量的前提下,图片更小,加载速度更快。步骤1)中,URI包括原始图片地址、标记字符(一个)和图片处理参数。标记字符使用URI允许的特殊字符,包括!(感叹号)、-(中划线)、_(下划线),使用时选择其中一个作为标记字符。图片处理参数使用URI允许的字符,语法是/key/value,key表示参数名称,value表示参数值;图片处理参数允许一个或多个图片处理参数,多个图片处理参数直接连接在一起。图片处理参数包括图片放大、缩小、裁剪、文字水印、图片水印、旋转、锐化、高斯模糊、边框、画布、格式转换等中的至少一种。步骤4)中,图片处理服务器解析CDN传递过来的原始图片和图片处理参数,按照图片处理参数对原始图片进行图像处理,具体包括:检查原始图片和图片处理参数是否合法,如果原始图片不合法,或图片处理参数不合法,或原始图片和图片处理参数不合法,图片处理服务器拒绝执行,把错误返回给CDN;如果原始图片和图片处理参数合法,图片处理服务器按照图片处理参数对原始图片进行图像处理。图片处理服务器按照图片处理参数对原始图片进行图像处理,具体包括:a)图片处理服务器对原始图片进行预处理,为按照图片处理参数处理进行准备,得到初始化的数据结构;预处理包括分配内存、图片加载到内存、图片处理服务初始化b)获取原始图片的元数据,元数据包括图片大小、图片长宽、exif信息;c)对原始图片进行解码,得到解码后的图片数据,存放到步骤a)得到的初始化的数据结构中;d)根据图片处理参数、步骤b)得到的原始图片的元数据以及步骤c)得到的解码后的图片数据,对原始图片进行旋转、裁剪、缩小或放大、水印、锐化、高斯模糊、质量调整、格式转换等中的至少一种处理,得到处理后的图片;e)对步骤d)得到的处理后的图片进行编码,生成动态图片。本专利技术中,通过先解码,然后处理过程中根据图片处理参数、步骤b)得到的原始图片的元数据以及步骤c)得到的解码后的图片数据,最后进行编码生成动态图片,该方法运行稳定,处理效率高,生成动态图片质量好,在保证图片质量的前提下,能够减少70%的图片大小。图片处理服务,提供图片放大、缩小、裁剪、文字水印、图片水印、旋转、锐化、高斯模糊、边框、画布、格式转换等几十种图片处理参数,为CDN使用者提供不同要求下对图片加工的能力。与现有技术相比,本专利技术具有如下优点:本专利技术不需要人工设计同一张图片在多种要求下的多种图片版本,减少人工设计的图片数量,不需要开发设计同类的图片处理服务,提高使用者的设计效率和软件工程效率,提高图片的浏览体验。附图说明图1为本专利技术基于内容分发网络的生成动态图片的方法的流程示意图。图2为本专利技术中举例的使用的实际不带标记字符和图片处理参数的动态GIF图片;图3为本专利技术中举例的使用的实际带标记字符和图片处理参数的生成动态WebP图片;图4为本专利技术中举例的使用的实际调整图片尺对动态GIF图片进行处理;图5为本专利技术中举例的使用的实际剪辑图片对动态GIF图片进行处理。图6为本专利技术中举例的使用的实际添加图片水印对动态GIF图片进行处理。图7为本专利技术中举例的使用的实际自适应WebP对动态GIF图片进行处理前后的大小对比,其中,图7中(a)为动态GIF图片,图7中(b)为自适应WebP格式图片。具体实施方式如图1所示,本专利技术基于内容分发网络的生成动态图片的方法,一种基于内容分发网络(CDN)的生成动态图片的方法,包括以下步骤:如图1所示,本专利技术基于内容分发网络的生成动态图片的方法,一种基于内容分发网络(CDN)的生成动态图片的方法,包括以下步骤:1)原始图片通过URI访问,HTTP/HTTPS请求参数包括URI和UserAgent,在HTTP/HTTPS请求的URI上,提取标记字符(一本文档来自技高网...

【技术保护点】
1.一种基于内容分发网络的生成动态图片的方法,其特征在于,包括以下步骤:1)原始图片通过URI访问,HTTP/HTTPS请求参数包括URI和UserAgent,在HTTP/HTTPS请求的URI上,提取标记字符以及图片处理参数;2)CDN通过检测HTTP/HTTPS请求的URI,判断URI上是否携带标记字符和图片处理参数,决定请求是否要进行图片处理;3)如果URI上携带标记字符和图片处理参数,需要进行图片处理,CDN用原始图片和图片处理参数请求图片处理服务;4)根据图片处理服务的请求,图片处理服务器解析CDN传递过来的原始图片和图片处理参数,按照图片处理参数对原始图片进行图像处理,把处理后得到的动态图片返回给CDN;5)CDN根据HTTP/HTTPS请求的UserAgent决定是否返回webp格式的图片,如果决定返回webp格式的图片,CDN用步骤4)得到的动态图片结合webp格式的图片的参数请求图片处理服务,得到新的动态图片返回给CDN;如果决定不返回webp格式的图片,则将步骤4)得到的动态图片返回给CDN;6)如果URI上不携带标记字符,或不携带图片处理参数,或不携带标记字符和图片处理参数,不需要进行原始图片处理,CDN不请求图片处理服务。...

【技术特征摘要】
1.一种基于内容分发网络的生成动态图片的方法,其特征在于,包括以下步骤:1)原始图片通过URI访问,HTTP/HTTPS请求参数包括URI和UserAgent,在HTTP/HTTPS请求的URI上,提取标记字符以及图片处理参数;2)CDN通过检测HTTP/HTTPS请求的URI,判断URI上是否携带标记字符和图片处理参数,决定请求是否要进行图片处理;3)如果URI上携带标记字符和图片处理参数,需要进行图片处理,CDN用原始图片和图片处理参数请求图片处理服务;4)根据图片处理服务的请求,图片处理服务器解析CDN传递过来的原始图片和图片处理参数,按照图片处理参数对原始图片进行图像处理,把处理后得到的动态图片返回给CDN;5)CDN根据HTTP/HTTPS请求的UserAgent决定是否返回webp格式的图片,如果决定返回webp格式的图片,CDN用步骤4)得到的动态图片结合webp格式的图片的参数请求图片处理服务,得到新的动态图片返回给CDN;如果决定不返回webp格式的图片,则将步骤4)得到的动态图片返回给CDN;6)如果URI上不携带标记字符,或不携带图片处理参数,或不携带标记字符和图片处理参数,不需要进行原始图片处理,CDN不请求图片处理服务。2.根据权利要求1所述的基于内容分发网络的生成动态图片的方法,其特征在于,步骤1)中,所述的URI包括原始图片地址、标记字符和图片处理参数。3.根据权利要求1所述的基于内容分发网络的生成动态图片的方法,其特征在于,步骤1)中,所述的标记字符使用URI允许的特殊字符,包括感叹号!、中划线-、下划线_,使用时选择其中一个作为标记字符。4.根据权利要求1所述的基于内容分发网络的生成动态图片的方法,其特征在于,步骤1)中,所述的图片处理参数使用URI允许的字符,语法是/key/value,ke...

【专利技术属性】
技术研发人员:叶靖
申请(专利权)人:杭州又拍云科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1