CN109918605B - 一种基于内容分发网络的生成动态图片的方法 - Google Patents

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

Info

Publication number
CN109918605B
CN109918605B CN201910172546.8A CN201910172546A CN109918605B CN 109918605 B CN109918605 B CN 109918605B CN 201910172546 A CN201910172546 A CN 201910172546A CN 109918605 B CN109918605 B CN 109918605B
Authority
CN
China
Prior art keywords
picture
cdn
processing
original
picture processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910172546.8A
Other languages
English (en)
Other versions
CN109918605A (zh
Inventor
叶靖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Upyun Technology Co ltd
Original Assignee
Hangzhou Upyun Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Upyun Technology Co ltd filed Critical Hangzhou Upyun Technology Co ltd
Priority to CN201910172546.8A priority Critical patent/CN109918605B/zh
Publication of CN109918605A publication Critical patent/CN109918605A/zh
Application granted granted Critical
Publication of CN109918605B publication Critical patent/CN109918605B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

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

Description

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

Claims (6)

1.一种基于内容分发网络的生成动态图片的方法,其特征在于,包括以下步骤:
1)原始图片通过URI访问,HTTP/HTTPS请求参数包括URI和UserAgent,在HTTP/HTTPS请求的URI上,提取标记字符以及图片处理参数;
2)CDN通过检测HTTP/HTTPS请求的URI,判断URI上是否携带标记字符和图片处理参数,决定请求是否要进行图片处理;
3)如果URI上携带标记字符和图片处理参数,需要进行图片处理,CDN用原始图片和图片处理参数请求图片处理服务;
4)根据图片处理服务的请求,图片处理服务器解析CDN传递过来的原始图片和图片处理参数,按照图片处理参数对原始图片进行图像处理,把处理后得到的动态图片返回给CDN;
图片处理服务器按照图片处理参数对原始图片进行图像处理,具体包括:
a)图片处理服务器对原始图片进行预处理,为按照图片处理参数处理进行准备,得到初始化的数据结构;
步骤a)中,预处理包括分配内存、图片加载到内存、图片处理服务初始化;
b)获取原始图片的元数据;
步骤b)中,元数据包括图片大小、图片长宽、EXIF信息;
c)对原始图片进行解码,得到解码后的图片数据, 存放到步骤a)得到的初始化的数据结构中;
d)根据图片处理参数、步骤b)得到的原始图片的元数据以及步骤c)得到的解码后的图片数据,对原始图片进行旋转、裁剪、缩小或放大、水印、锐化、高斯模糊、质量调整、格式转换中的至少一种处理,得到处理后的图片;
e)对步骤d)得到的处理后的图片进行编码,生成动态图片;
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,key表示参数名称,value表示参数值。
5.根据权利要求1所述的基于内容分发网络的生成动态图片的方法,其特征在于,步骤1)中,所述的图片处理参数包括图片放大、缩小、裁剪、文字水印、图片水印、旋转、锐化、高斯模糊、边框、画布、格式转换中的至少一种。
6.根据权利要求1所述的基于内容分发网络的生成动态图片的方法,其特征在于,步骤4)中,图片处理服务器解析CDN传递过来的原始图片和图片处理参数,按照图片处理参数对原始图片进行图像处理,具体包括:
检查原始图片和图片处理参数是否合法,如果原始图片不合法,或图片处理参数不合法,或原始图片和图片处理参数不合法,图片处理服务器拒绝执行,把错误返回给CDN;
如果原始图片和图片处理参数合法,图片处理服务器按照图片处理参数对原始图片进行图像处理。
CN201910172546.8A 2019-03-07 2019-03-07 一种基于内容分发网络的生成动态图片的方法 Active CN109918605B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910172546.8A CN109918605B (zh) 2019-03-07 2019-03-07 一种基于内容分发网络的生成动态图片的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910172546.8A CN109918605B (zh) 2019-03-07 2019-03-07 一种基于内容分发网络的生成动态图片的方法

Publications (2)

Publication Number Publication Date
CN109918605A CN109918605A (zh) 2019-06-21
CN109918605B true CN109918605B (zh) 2021-09-24

Family

ID=66963722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910172546.8A Active CN109918605B (zh) 2019-03-07 2019-03-07 一种基于内容分发网络的生成动态图片的方法

Country Status (1)

Country Link
CN (1) CN109918605B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110442806B (zh) * 2019-08-05 2022-04-26 百度在线网络技术(北京)有限公司 用于识别图像的方法和装置
CN114329262B (zh) * 2021-12-20 2022-07-26 江苏云工场信息技术有限公司 一种基于cdn的动态文档生成方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101699866A (zh) * 2004-01-30 2010-04-28 松下电器产业株式会社 运动图片编码方法和运动图片解码方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2430019A1 (en) * 2000-11-27 2002-05-30 Intellocity Usa, Inc. System and method for providing an omnimedia package
CN104601534A (zh) * 2014-04-28 2015-05-06 贵州格安科技有限公司 Cdn系统图像处理的方法及系统
CN104980417B (zh) * 2014-08-06 2018-12-07 腾讯科技(深圳)有限公司 一种ugc文件分发方法和设备
CN105450837A (zh) * 2014-08-29 2016-03-30 阿里巴巴集团控股有限公司 终端设备适配显示cdn图片的方法及装置
WO2017168215A1 (en) * 2016-03-27 2017-10-05 Aniview Ltd. A system and methods for dynamically generating animated gif files for delivery via the network
CN108153761A (zh) * 2016-12-05 2018-06-12 阿里巴巴集团控股有限公司 访问网络图片、以及响应网络图片访问的方法、装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101699866A (zh) * 2004-01-30 2010-04-28 松下电器产业株式会社 运动图片编码方法和运动图片解码方法

Also Published As

Publication number Publication date
CN109918605A (zh) 2019-06-21

Similar Documents

Publication Publication Date Title
US6654814B1 (en) Systems, methods and computer program products for dynamic placement of web content tailoring
CN100584022C (zh) 将文档、电子邮件附件和地图流传输到无线设备的方法和系统
US10572574B2 (en) Dynamic font subsetting using a file size threshold for an electronic document
US20070016657A1 (en) Multimedia data processing devices, multimedia data processing methods and multimedia data processing programs
US20100218077A1 (en) Modifying a markup language document which includes a clickable image
CN109918605B (zh) 一种基于内容分发网络的生成动态图片的方法
US20160182606A1 (en) Network Based Static Font Subset Management
EP2926275A1 (en) Network based font management for imaging devices
WO2016066147A2 (zh) 一种用于处理图像的方法与设备
US20170168997A1 (en) System and computer-implemented method for incorporating an image into a page of content for transmission from a web-site
CN102831154A (zh) 保存和显示网页的文本输入框中数据的方法和装置
CN112699321A (zh) 一种页面加载方法,计算设备及存储介质
JP2004220260A (ja) ウェブページ閲覧システム及び画像配信サーバ
US11295492B2 (en) Electronic device and server related to rendering of web content and controlling method thereof
US9208250B2 (en) System and method for dynamic modification of web page content to ensure consistent response time
CN112581568B (zh) 动态海报的生成方法、装置、服务器及存储介质
CN111859210A (zh) 图像处理方法、装置、设备及存储介质
JP7515697B2 (ja) 画像サンプル生成方法、テキスト認識方法、装置、電子機器、記憶媒体及びコンピュータプログラム
US20190180484A1 (en) Systems and methods for digital content delivery over a network
CN113382180B (zh) 一种图片处理的方法、计算设备及可读存储介质
US10250405B2 (en) Advertisement management of internet communication with devices on a mobile platform
CN115309563A (zh) 5g消息生成方法、设备、存储介质及产品
CN110110255B (zh) 电子文件处理方法和装置
CN113127123B (zh) 一种窗口效果的生成方法及计算设备
WO2023115589A1 (zh) 一种基于cdn的动态文档生成方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method of generating dynamic pictures based on content distribution network

Effective date of registration: 20211119

Granted publication date: 20210924

Pledgee: Hangzhou High-tech Financing Guarantee Co.,Ltd.

Pledgor: HANGZHOU UPYUN TECHNOLOGY Co.,Ltd.

Registration number: Y2021330002312

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230321

Granted publication date: 20210924

Pledgee: Hangzhou High-tech Financing Guarantee Co.,Ltd.

Pledgor: HANGZHOU UPYUN TECHNOLOGY Co.,Ltd.

Registration number: Y2021330002312