CN109565606B - 混合源架构中的图像变换 - Google Patents
混合源架构中的图像变换 Download PDFInfo
- Publication number
- CN109565606B CN109565606B CN201780047133.6A CN201780047133A CN109565606B CN 109565606 B CN109565606 B CN 109565606B CN 201780047133 A CN201780047133 A CN 201780047133A CN 109565606 B CN109565606 B CN 109565606B
- Authority
- CN
- China
- Prior art keywords
- image
- cloud service
- cdn
- original image
- transformed
- 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
Links
- 230000009466 transformation Effects 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000000844 transformation Methods 0.000 claims abstract description 7
- 230000004044 response Effects 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 9
- 230000006835 compression Effects 0.000 claims description 3
- 238000007906 compression Methods 0.000 claims description 3
- 238000009877 rendering Methods 0.000 claims description 3
- 238000009826 distribution Methods 0.000 abstract description 13
- 230000008569 process Effects 0.000 abstract description 12
- 230000009977 dual effect Effects 0.000 abstract 1
- 238000003860 storage Methods 0.000 description 31
- 230000015654 memory Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000010454 slate Substances 0.000 description 2
- 208000006992 Color Vision Defects Diseases 0.000 description 1
- 241000593989 Scardinius erythrophthalmus Species 0.000 description 1
- 241000238370 Sepia Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 201000007254 color blindness Diseases 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 201000005111 ocular hyperemia Diseases 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000004753 textile Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2183—Cache memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/10—Image enhancement or restoration by non-spatial domain filtering
-
- G06T5/94—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8146—Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
- H04N21/8153—Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics comprising still images, e.g. texture, background image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20182—Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20201—Motion blur correction
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本文提供了在具有改进的性能特性的混合分发架构中使用的图像变换。混合分发架构通过使用中央云服务和内容分发网络的双源系统向客户提供内容,其使用云服务作为其源。请求由所选择的混合分发架构的源提供的图像的新再现的客户将使得该请求由源处理,并且源可以维护该再现以供将来供应。通过允许客户选择源并让该源处理请求,而不是要求中央服务处理请求,减少了需要传输的数据量,并且对于客户来说提高了内容的提供速度,无论是否修改。
Description
背景技术
当消费图像时,计算设备的用户经常希望图像采用与最初提供的格式不同的格式。例如,具有小显示器的计算设备的用户可能希望缩小尺寸的图像,而具有大显示器的计算设备的用户可能希望增大尺寸的图像。类似地,色盲用户可能希望色彩校正的图像或艺术用户可能希望将效果或叠层应用于图像。计算设备将对原始图像应用各种变换以产生期望的图像,这通常是处理器密集型任务,并且越来越多地通过在与消费内容的计算设备不同的计算设备上提供的图像变换服务来完成。通过使用外部图像变换服务,用户可以节省移动计算设备上的电池寿命,并使用比其设备包括的更强大的图形处理器和软件。然而,使用外部图像变换服务使用带宽在计算设备之间来回传输图像,当内容分发网络(CDN)向用户提供图像时,这可能会加剧,并且必须依赖图像源来处理对图像变换服务的请求。
发明内容
提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式部分中进一步描述。本发明内容不旨在确定所要求保护的主题的所有关键或必要特征,也不旨在帮助确定所要求保护的主题的范围。
本公开涉及减少结合包括云服务和内容分发网络(CDN)的混合源服务架构使用外部图像变换服务来处理客户端设备的图像变换的带宽、时延和存储要求。客户端设备可以从云服务或CDN自由地请求原始图像,并且经由所选择的源来请求对图像进行变换。所选择的源将处理对图像变换服务的请求并将变换后的图像返回到客户端设备,并且可以存储或缓存变换后的图像以供稍后由相同或不同的客户端设备使用。
通过使所选择的源能够处理对图像变换服务的请求,而不是总是依赖于图像源来处理请求,减少了混合架构传输以响应客户端请求所需要的数据量。此外,通过减少需要在架构内传输的数据量,提高了客户端设备接收变换后的图像的速度。
示例被实现为计算机过程、计算系统、或诸如设备、计算机程序产品或计算机可读介质的制品。根据一个方面,该计算机程序产品是计算机系统可读并且编码包括用于执行计算机过程的指令的计算机程序的计算机存储介质。
在下面的附图和描述中阐述了一个或多个方面的细节。通过阅读以下详细描述和对相关附图的回顾,其他特征和优点将是显而易见的。应理解,以下详细描述仅是解释性的,而不是对权利要求的限制。
附图说明
包含在本公开中并构成本公开的一部分的附图示出了各个方面。在图中:
图1示出了利用其可以实践本公开的示例混合架构;
图2示出了使用图像变换服务来响应对图像变换的客户端请求的混合分发架构的组件;
图3是示出在用于使用混合分发架构的云服务时处理来自客户端设备的变换图像的请求的示例方法中涉及的一般阶段的流程图;
图4是示出在用于使用混合分发架构的CDN时处理来自客户端设备的变换图像的请求的示例方法中涉及的一般阶段的流程图;
图5是示出计算设备的示例物理组件的框图;以及
图6A和6B是移动计算设备的框图。
具体实施方式
以下详细描述参考附图。只要可能,在附图中使用相同的附图标记,并且以下描述涉及相同或相似的元件。虽然可以描述示例,但是修改、改编和其他实现方式是可能的。例如,可以对附图中示出的元件进行替换、添加或修改,并且可以通过将阶段替换,重新排序或添加到所公开的方法来修改本文描述的方法。因此,以下详细描述不是限制性的,而是由所附权利要求限定适当的范围。示例可以采用硬件实现方式或完全软件实现方式的形式,或者结合软件和硬件方面的实现方式。因此,以下详细描述不应被视为具有限制意义。
当以HTML(超文本标记语言)或使用参考结构的其他文档而提供图像作为内容资产时,图像将被称为该文档中的元素。虽然参考主要是关于HTML结构给出的,但是本领域普通技术人员将能够将本文提供的教导应用于其他结构化语言,例如XML(可扩展标记语言)、JSON(JavaScript Object Notation)等,并且本公开不限于使用HTML的文档。
在HTML中,<img>标记将元素定义为图像,它有两个必要的属性:source(src)和alternate text(alt)。例如,要为具有“example”的alttext的网页中的图像“example.gif”创建一个保留空间,HTML结构将包含以下文本:<img src=“example.gif”alt=“example”>。根据开发人员使用的HTML版本和消费网页的应用程序,可以在HTML文档中设置图像的各种其他属性,以影响图像向客户端的呈现。例如,可以在<img>标签内定义高度、宽度、hspace和vspace以修改图像的纵横比。
客户端还可以指定附加修改以独立于图像标签中所调出的内容而应用于图像。例如,客户端可以请求将色彩、饱和度、色调或通道滤镜应用于图像、阴影效果、透明效果、三维效果、叠层、变形效果、放大/缩小效果、剪裁效果、质量降低、压缩变化或HTML本身不支持的或由HTML低效(在计算资源支出方面)提供的其他效果。当在结构化文档中本身不支持期望的图像修改效果时,客户端可以在本地执行修改,请求第三方执行修改,或者请求提供图像的服务提供图像的修改版本。当试图使用远程设备来处理修改图像(即,图像提供者或第三方)时,客户端可以在接收图像之前或在接收图像之后指定期望的修改。
图1示出了利用其可以实践本公开的示例混合架构100。如图所示,客户端设备110可操作以将请求传送到云服务120并从云服务120和CDN 130接收包括图像的内容。云服务120与租户设备140通信,通过租户设备140内容提供商可以从云服务120上载或移除内容,并且可以设置如何使该内容对客户端设备110可用。云服务120还与CDN 130通信以基于来自租户设备140的命令来启用或禁用CDN 130作为针对客户端设备的可用内容源。
混合分发架构100利用云服务120和CDN 130来快速地并且比仅仅云服务的解决方案具有更低的开销来向客户端提供所请求的内容,但是还使租户能够比仅仅CDN的解决方案更好地控制对该内容的访问。在共同未决申请US 62/368,739中更详细地描述了用于使得能够使用混合分发架构100的系统和方法。云服务120和CDN 130包括一个或多个计算设备,其被配置为从租户接收内容并经由网络(例如,因特网)与请求它的客户端共享它。云服务120是结构化的服务,其为内容提供集中式的源,源可包括对该内容的访问控制。CDN 130是公共内容提供商,其使用云服务120作为其源并且在比云服务120更广的地理区域上分发内容,从而比云服务120更快地并且以更少的开销而提供内容。使得试图分发内容的租户能够设置哪些内容资产经由云服务120分发以及哪些内容资产由CDN 130分发,并且可以快速启用或禁用CDN 130作为内容资产的可用源,而无需配置内容如何分发在CDN 130中并且对客户的影响最小。
客户端设备110和租户设备140说明了多种计算系统,包括但不限于台式计算机系统,有线和无线计算系统,移动计算系统(例如,移动电话、上网本、平板电脑或板型计算机、笔记本计算机和膝上型计算机),手持设备,多处理器系统,基于微处理器或可编程的消费电子产品,小型计算机,打印机和大型计算机。关于图5、6A和6B更详细地讨论这些计算系统的硬件。客户端设备110由客户操作,客户可以是请求内容的人或自动化系统(例如,“机器人”)。例如,GOOGLE NOWTM或电子助手的实例(可从加利福尼亚州库比蒂诺的苹果公司获得;可从加利福尼亚州山景城的Alphabet公司获得;以及可从华盛顿州雷蒙德市的微软公司获得)可以响应于或预期来自人类用户的查询来请求内容。类似地,租户设备140由租户操作,租户可以是人或自动系统,其提供和管理可供客户请求的内容。在各个方面,租户和客户可以是相同的实体,例如,当开发者发布网页(作为租户)然后通过访问(作为客户)该网页的实时版本来验证网页是否正确显示时。
云服务120存储供租户通过网络(例如,因特网)提供给客户的内容。在各个方面,云服务120可以由租户或由第三方代表租户在租户的方向上操作。云服务120可以是结构化的存储服务或协作工具,其可操作以限制对某些客户可用的内容。例如,租户可以发布公开可用的内容,以便任何潜在客户可以请求和接收该内容,但是租户也可以发布仅对受限制的一组潜在客户可用的内容(例如,对一实体私有,在选定的实体白名单之间共享,根据实体黑名单阻止共享)。例如,一个或多个内容项可以托管在云服务120中,例如ALFRESCOTM(可从乔治亚州亚特兰大的Alfresco软件公司获得),HUDDLE TM(可从英国伦敦的Huddle公司获得),GOOGLE DRIVETM(可从加利福尼亚州山景城的Alphabet公司获得),WORDPRESS TM(可从加利福尼亚州旧金山的Automattic公司获得),(可从华盛顿州雷蒙德市的微软公司获得),但可包括其他企业或个人内容管理系统。
可以根据可以具有各种许可级别的各种“库”、“文件夹”或“站点”在云服务120内组织内容。当接收到对内容的请求时,云服务120将确定请求客户是否与访问所请求内容的适当许可级别相关联,并且可以要求客户端设备110在将所请求的内容发送到客户端设备110之前提供认证(例如,认证令牌、用户名/密码对)。
CDN 130包括以分层结构布置的一系列计算设备。从源(也称为头端)检索内容,并将其缓存在包括CDN 130的逐步较低层的计算设备中,直到内容被缓存在边缘服务器上为止,以便传输到请求该内容的客户端设备110。包括CDN 130的边缘服务器在地理上广泛分布,使得内容可以比单个位于中心的内容源更少地延迟而提供给客户;提高响应内容请求的速度。
当边缘服务器不具有客户端请求的内容时,它将从CDN 130中的下一个更高层请求该内容,该更高层进而可以将请求转发到逐渐更高的层,直到到达内容源,并且内容通过中间服务器链分发以提供给边缘服务器并且被发送到客户端设备110。包括CDN 130的服务器可以由CDN 130的管理员预先填充以预期客户请求或者可以填充以响应客户请求;只有与已经请求给定内容资产的客户通信的那些边缘服务器(以及它们上面的层中的服务器)才会存储给定的内容资产。
包括CDN 130的每个服务器可以将内容缓存不同的时间长度,该时间长度可以由采用CDN 130的租户或CDN 130的管理员配置,以在给定时间长度内没有请求内容项时释放存储资源或遵守内容资产的保留政策。例如,如果在n天内没有客户从第一边缘服务器请求给定内容项,则可以将该内容项标记为在第一边缘服务器上被覆盖,或者可以从第一边缘服务器删除该内容项,但是第二边缘服务器可以独立于第一个边缘服务器在其缓存中维护该内容项。此外,下一个更高层(第一个边缘服务器从其接收内容项)可以保留内容项(n+1)天而无需客户端或边缘服务器请求内容项以减少在从上次请求起n天后再次从边缘服务器请求内容的情况下在CDN 130的层之间传送所需要的数据量。
与云服务120不同,公共可用的CDN 130不需要认证给定客户的许可级别;任何具有托管在CDN 130中的给定统一资源定位符(URL)的知识的请求客户端可以接收与该URL相关联的内容资产。在一些方面,CDN 130可以由租户管理,但是在其他方面可以替代地是由第三方提供的服务以更快地将租户的内容分发给可以分布在多个位置的客户。提供CDN130的各方的示例包括但不限于:马萨诸塞州剑桥的Akamai Techs.公司;亚利桑那州坦佩的Limelight Networks公司;以及布鲁姆菲尔德的Level 3Communications公司。
如将理解的,通过不执行访问控制操作,CDN 130可以以比云服务120更少的开销(例如,不执行认证)来提的内容,因此花费更少的处理资源并且比云服务120更快地向客户端设备110提供内容。然而,内容资产可以花费时间来传播通过CDN 130的各层,并且由于内容资产(隐私或安全策略)的敏感性或其更新频率,因此单个内容资产可能无法从CDN 130获得;CDN 130更适合于租户不介意公开暴露的静态内容资产,而云服务120更适合于动态内容资产或租户不希望公开暴露的内容资产。这里公开的混合系统允许租户定制哪些内容资产可从云服务120和CDN 130中的每一个获得,从而利用每个内容供应系统的优点来提高用于访问内容的系统的效率和速度。
租户可以从租户设备140发信号通知允许经由CDN 130共享存储在云服务120中的哪些内容资产。作为响应,CDN 130使用云服务120作为其源,从该源缓存资产并将资产分配到CDN 130内的适当层。通过向CDN 130发送高速缓存无效请求并且移除作为CDN 130中的给定内容资产的源的云服务120,租户可以从租户设备140发信号通知何时不再允许经由CDN 130共享一个或多个内容资产。
客户端设备110经由web浏览器或根据与内容项相关联的URL请求内容项的其他应用来访问内容。可以理解,web浏览器通常对可以对单个源做出的针对内容的并发请求的数量有限制,并且内容请求通常可以彼此依赖;对检索单个内容资产的速度进行小幅改进会对由许多资产组成的内容项产生很大影响。例如,访问网站作为内容项的客户端可以请求网页本身,其包括网页的HTML源以及诸如JavaScript文件、级联样式表(CSS)、嵌入视频、音频文件、图像等之类的多个设计元素,所有需要从其相关联的源请求,并且这些元素可以进一步指定稍后将需要被请求的其他内容资产(例如,在CSS内指定的图像)以供客户端完全接收内容项目。
对于要在混合架构100中托管并且可经由云服务120或CDN 130由客户端设备110访问的图像,可以向客户端设备110提供图像定义中的可配置URL,该可配置URL可以指向作为云服务120或CDN 130处的内容资产的给定图像。客户端设备110可以接收指向一个源或另一个源的可配置URL,并基于用户或系统偏好和客户逻辑来验证转换后的URL的有效性,是否将URL转换为指向其他源。一旦选择了源,客户端设备110就可以以其原始形式或以修改的形式将该内容项的未来请求寻址到该源。
图2示出了使用图像变换服务210来响应客户对图像变换的请求的混合分发架构100的组件。通过使用具有混合分发架构100中的任一源的图像变换服务210来响应用户对变换后的图像230的请求,租户可以从租户设备140向云服务120提供一个原始图像220并且避免必须基于原始图像220预先产生若干变换后的图像230,客户可能希望或可能不希望这些变换后的图像230。因此,与预先生成变换后的图像相比,由图像变换服务210处理的动态请求可以减少处理资源的花费和存储空间的使用。
图像变换服务210由计算设备(例如,服务器)提供,该计算设备与云服务120和CDN130通信以当内容源缺少请求的图像时处理从客户端设备110转发的图像变换请求。图像变换服务210从客户端设备从其请求修改后的内容资产的源接收请求和原始图像220,并对原始图像220执行所请求的修改以产生变换后的图像230。然后,将变换后的图像230发送回向图像变换服务210提供原始图像220的源,并且源将通过转发变换后的图像230来响应来自客户端设备110的请求。
在客户端设备110(由于用户或系统偏好)请求来自云服务120而不是CDN 130的变换后的图像230的方面中,其中原始图像220也是可用的,云服务120可以指定图像变换服务210将变换后的图像230返回到作为源对于CDN 130而言关联的位置,使得变换后的图像230也可以由CDN 130缓存以供其他客户使用。在其他方面,云服务120可以在云服务120中的非共享位置处从图像变换服务210接收变换后的图像230,并且确定原始图像220也存在于与作为源对于CDN 130而言关联的位置中,并且将变换后的图像230复制或移动到该位置,使得变换后的图像230也可以由CDN 130缓存。
图像变换服务210可以执行客户请求的对原始图像220的各种变换中的一个或多个。客户可以请求的示例变换包括但不限于:应用/移除色彩过滤器,应用/移除饱和度过滤器,应用/移除亮度过滤器,应用/移除颜色通道过滤器,调整透明度,应用/移除阴影效果,应用/移除模糊或像素化效果,应用/移除叠层,软化/锐化原始图像220,调整亮度和对比度,应用/移除艺术效果(例如,纺织图案、粗陶图案、胶片颗粒图案、蜡笔绘画风格、水彩风格、棕褐色调风格、色盲模式、变形效果),调整原始图像220的大小,裁剪原始图像220,为原始图像220提供边框,对原始图像220进行颜色交换,倾斜或旋转原始图像220的透视图,改变图像的压缩率,改变图像的文件格式等。可以理解,变换原始图像220的效果可以应用于所有原始图像220或仅应用于原始图像220的一部分,例如,应用颜色通道过滤器以从照片中移除“红眼”,其中过滤器仅应用于被识别为与眼睛对应的区域。如将进一步理解的,可以使请求包含多个图像(例如,变换视频文件,动画GIF,网页引用的所有图像)并且还可以应用于声音文件。
通过响应客户请求,以及存储或缓存所得到的变换后的图像230,混合分发架构100可以提供并保持任意数量的图像以供供应,并且这些图像将用于至少一个客户。这允许具有类似用例的客户(例如,相同的形状因子查看设备、类似的查看要求)利用来自另一客户的先前请求,使得当源已经包括响应性的变换后的图像230时不需要调用图像变换服务210。它还允许租户提供单个原始图像220,而不必预测该图像的哪些变化对客户有用并且花费处理资源和存储空间来托管原始图像的附加再现(rendition)。
在各个方面,客户端设备110的图像源(即,云服务120和CDN 130)可以将变换阵列维护为数据库结构,该数据库结构识别满足给定请求的要求的给定变换后的图像230,使得源可以识别请求何时要求已经存储或缓存的变换后的图像230。当内容资产基于该源中的资产寿命被添加到源或从源移除时,可以周期性地更新变换阵列。另外,当客户请求将多个变换(例如,应用第一过滤并调整原始图像大小220)应用于单个图像时,变换阵列可用于将变换后的图像230作为中间图像而不是原始图像220提供给图像变换服务210。此外,响应于租户撤销对经由CDN 130共享的给定原始图像220的许可(例如,高速缓存清除命令),CDN130可以使用变换阵列来识别该原始图像220的变换后的图像230再现并且类似地删除或标记以覆盖相关的再现。
图3是示出用于在使用混合分发架构100的云服务120时处理来自客户端设备110的请求以变换图像的示例方法300中涉及的一般阶段的流程图。当图像不能从CDN 130获得或者客户端设备110偏好使用云服务120时,方法300用于混合分发架构。当CDN 130尚未作为客户的内容源启用或者被禁用作为针对给定图像或图像库的客户端的内容源时,也使用方法300。
当云服务120从客户端设备110接收到对变换后的图像230的请求时,方法300开始于操作310。响应于云服务120接收到针对图像变换的请求,在决策320,云服务120确定是否已经存储了变换后的图像230。当云服务120已经存储了变换后的图像230时,方法300进行到操作350,否则,方法300进行到操作330。
在操作330,云服务120将请求和原始图像220转发到图像变换服务210,并且在操作340,云服务120从图像变换服务210接收变换后的图像230。然后,方法300进行到操作350,其中云服务120将变换后的图像230图像发送到客户端设备110。然后,方法300可以结束。
图4是示出用于在使用混合分发架构100的CDN 130时处理来自客户端设备110的变换图像的请求的示例方法400中涉及的一般阶段的流程图。可以理解,在方法400中实现了与云服务120相比减少开销(由于不必执行客户端认证等)以及从CDN 130到客户端的更快的响应时间的益处,使得客户将无缝地接收变换后的图像230;在将请求发送到向客户提供内容的CDN 130之后,CDN 130和云服务120将处理变换而无需进一步的客户输入。
当CDN 130从客户端设备110接收到对变换后的图像230的请求时,方法400开始于操作410。响应于CDN 130接收到针对图像变换的请求,在决策420,CDN 130确定它是否已经缓存了变换后的图像230。当CDN 130已经缓存了变换后的图像230时,方法400进行到操作490以将缓存的变换后的图像230发送到客户端设备110,否则,方法400进行到操作430。
在操作430,CDN 130将对变换后的图像230的请求发送到云服务120,云服务120被设置为CDN 130的源。云服务120通过用指示图像变换服务210应该接收请求的重定向响应(例如,302,303或307HTTP响应)来在操作440处响应CDN 130处理对CDN 130不具有的内容资产的请求。方法400进行到操作450,其中CDN 130从图像变换服务210请求变换后的图像230,图像变换服务210将从CDN 130请求原始图像220。在决策460,CDN 130确定它是否已缓存了原始图像,当CDN 130没有缓存原始图像220时,方法400将进行到操作465,而当CDN130缓存了原始图像220时,将进行到操作470。
响应于确定CDN 130尚未缓存原始图像220,CDN 130将从其源请求原始图像220;操作465处的云服务120。在操作475,云服务120通过将原始图像220发送到CDN 130来响应,以根据CDN的策略在整个CDN 130中进行缓存和分发。然后,方法400将进行到操作470。
在操作470,CDN 130将原始图像220发送到图像变换服务210以根据客户请求进行变换。在操作480,CDN 130从图像变换服务210接收变换后的图像230,并在操作490将变换后的图像230发送到客户端设备110。CDN 130可以缓存变换后的图像230以供稍后分发与它将原始图像220缓存多长时间等效的时间段或基于对变换后的图像230的请求而设定的另一时间段,使得来自客户端设备110或其他客户端设备110的未来请求可以响应于决策420而接收变换后的图像230。方法400可以在操作490之后结束。
虽然已经在与在计算机上的操作系统上运行的应用程序一起执行的程序模块的一般上下文中描述了实现,但是本领域技术人员将认识到,这些方面也可以与其他程序模块一起实现。通常,程序模块包括例程、程序、组件、数据结构和执行特定任务或实现特定抽象数据类型的其他类型的结构。
本文描述的方面和功能可以通过多种计算系统来操作,包括但不限于台式计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板电脑或板型计算机、笔记本计算机和膝上型计算机)、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、小型计算机和大型计算机。
另外,根据一个方面,这里描述的方面和功能在分布式系统(例如,基于云的计算系统)上操作,其中应用功能、存储器、数据存储和检索以及各种处理功能通过分布式计算网络彼此远程操作,例如因特网或内联网。根据一个方面,通过机载计算设备显示器或通过与一个或多个计算设备相关联的远程显示单元显示各种类型的用户界面和信息。例如,在用户界面和各种类型的信息被投影到的墙壁表面上显示和交互各种类型的用户界面和信息。与实现方式实践的多个计算系统的交互包括击键输入、触摸屏输入、语音或其他音频输入、手势输入,其中相关联的计算设备配备有用于捕获和解释用户手势的检测(例如,相机)功能,用于控制计算设备的功能等。
图5-6B和相关描述提供了对其中实践示例的各种操作环境的讨论。然而,关于图5-6B示出和讨论的设备和系统是出于示例和说明的目的,而不是限制用于实践本文所述方面的大量计算设备配置。
图5是示出计算设备500的物理组件(即,硬件)的框图,利用其可以实践本公开的示例。在基本配置中,计算设备500包括至少一个处理单元502和系统存储器504。根据一个方面,根据计算设备的配置和类型,系统存储器504包括但不限于易失性存储设备(例如,随机存取存储器)、非易失性存储设备(例如,只读存储器)、闪存或这些存储器的任何组合。根据一个方面,系统存储器504包括操作系统505和适合于运行软件应用程序550的一个或多个程序模块506。操作系统505例如适合于控制计算设备500的操作。此外,方面结合图形库、其他操作系统或任何其他应用程序来实践,并且不限于任何特定应用程序或系统。该基本配置在图5中由虚线508内的那些组件示出。根据一个方面,计算设备500具有附加特征或功能。例如,根据一个方面,计算设备500包括附加数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。这种附加存储在图5中由可移动存储设备509和不可移动存储设备510示出。
如上所述,根据一个方面,多个程序模块和数据文件存储在系统存储器504中。当在处理单元502上执行时,程序模块506执行包括但不限于图3和图4中所示的方法300和400的一个或多个阶段的处理。根据一个方面,根据示例使用其他程序模块,并且包括诸如电子邮件和联系人应用程序、文字处理应用程序、电子表格应用程序、数据库应用程序、幻灯片演示应用程序绘图或计算机辅助应用程序等之类的应用程序。
根据一个方面,计算设备500具有一个或多个输入设备512,诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等。根据一个方面,还包括诸如显示器、扬声器、打印机等输出设备514。上述设备是示例,可以使用其他设备。根据一个方面,计算设备500包括允许与其他计算设备518通信的一个或多个通信连接516。合适的通信连接516的示例包括但不限于射频(RF)发射器、接收器和/或收发器电路;通用串行总线(USB),并行和/或串行端口。
这里使用的术语计算机可读介质包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构或程序模块的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器504、可移动存储设备509和不可移动存储设备510都是计算机存储介质示例(即,存储器存储)。根据一个方面,计算机存储介质包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字通用光盘(DVD)或其他光学存储器、磁带盒、磁带、磁盘存储或其他磁存储设备或可以用于存储信息并且可以由计算设备500访问的任何其他制品。根据一个方面,任何这样的计算机存储介质是计算设备500的一部分。计算机存储介质不包括载波或其他传播的数据信号。
根据一个方面,通信介质由计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据(诸如载波或其他传输机制)来体现,并且包括任何信息传递介质。根据一个方面,术语“已调制数据信号”描述了具有以对信号中的信息进行编码的方式设置或改变的一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、射频(RF)、红外和其他无线介质的无线介质。
图6A和6B示出了其中可以实现这些方面的移动计算设备600,例如移动电话、智能电话、平板个人计算机、膝上型计算机等。参考图6A,示出了用于实现这些方面的移动计算设备600的示例。在基本配置中,移动计算设备600是具有输入元件和输出元件的手持式计算机。移动计算设备600通常包括显示器605和一个或多个输入按钮610,其允许用户将信息输入到移动计算设备600。根据一个方面,移动计算设备600的显示器605用作输入设备(例如,触摸屏显示器)。如果包括,则可选的侧输入元件615允许进一步的用户输入。根据一个方面,侧输入元件615是旋转开关、按钮或任何其他类型的手动输入元件。在替代示例中,移动计算设备600包含更多或更少的输入元件。例如,在一些示例中,显示器605可以不是触摸屏。在替代示例中,移动计算设备600是便携式电话系统,诸如蜂窝电话。根据一个方面,移动计算设备600包括可选的小键盘635。根据一个方面,可选的小键盘635是物理小键盘。根据另一方面,可选键盘635是在触摸屏显示器上生成的“软”键盘。在各个方面,输出元件包括用于示出图形用户界面(GUI)的显示器605、视觉指示器620(例如,发光二极管)和/或音频换能器625(例如,扬声器)。在一些示例中,移动计算设备600包括振动换能器,用于向用户提供触觉反馈。在又一示例中,移动计算设备600合并输入和/或输出端口,诸如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,HDMI端口)用于向外部设备发送信号或从外部设备接收信号。在又一示例中,移动计算设备600合并外围设备端口640,诸如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,HDMI端口)用于向外部设备发送信号或从外部设备接收信号。
图6B是示出移动计算设备的一个示例的架构的框图。也就是说,移动计算设备600包含用于实现一些示例的系统(即,架构)602。在一个示例中,系统602被实现为能够运行一个或多个应用程序(例如,浏览器、电子邮件、日历、联系人管理器、消息传递客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些示例中,系统602被集成为计算设备,诸如集成的个人数字助理(PDA)和无线电话。
根据一个方面,一个或多个应用程序650被加载到存储器662中并在操作系统664上或与其相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息传递程序等。系统602还包括存储器662内的非易失性存储区域668。非易失性存储区域668用于存储如果系统602断电则不应该丢失的持久信息。应用程序650可以使用非易失性存储区域668中的信息并且和存储信息在非易失性存储区域668中,诸如电子邮件或电子邮件应用程序使用的其他消息等。同步应用程序(未示出)也驻留在系统902上,并被编程为与驻留在主计算机上的相应同步应用程序交互,以使存储在非易失性存储区域968中的信息与存储在主计算机中的相应信息保持同步。应当意识到,可以将其他应用程序加载到存储器962中并在移动计算设备900上运行。
根据一个方面,系统602具有电源670,其被实现为一个或多个电池。根据一个方面,电源670还包括外部电源,例如AC适配器或对电池进行补电或重新充电的电源对接支架。
根据一个方面,系统602包括执行发送和接收射频通信的功能的无线电672。无线电672通过通信运营商或服务提供商促进系统602与“外界”之间的无线连接。在操作系统664的控制下进行去往和来自无线电672的传输。换句话说,无线电672接收的通信可以通过操作系统664传播到应用程序650,反之亦然。
根据一个方面,视觉指示器620用于提供视觉通知和/或音频接口674用于经由音频换能器625产生可听通知。在所示的示例中,视觉指示器620是发光二极管(LED),音频换能器625是扬声器。这些设备可以直接耦合到电源670,使得当被激活时,即使处理器660和其他组件可能关闭以节省电池电量,它们也保持开启由通知机制指示的持续时间。LED可以被编程为无限期地保持开启,直到用户采取行动来指示设备的通电状态。音频接口674用于向用户提供可听信号并从用户接收可听信号。例如,除了耦合到音频换能器625之外,音频接口674还可以耦合到麦克风以接收可听输入,例如以便于电话交谈。根据一个方面,系统602还包括视频接口676,其使得板载相机630的操作能够记录静止图像、视频流等。
根据一个方面,实现系统602的移动计算设备600具有附加特征或功能。例如,移动计算设备600包括附加数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。这种附加存储在图6B中由非易失性存储区域668示出。
根据一个方面,由移动计算设备600生成或捕获并经由系统602存储的数据/信息本地存储在移动计算设备600上,如上所述。根据另一方面,数据存储在设备能经由无线电672或经由移动计算设备600与与移动计算设备600相关联的单独计算设备(例如,例如因特网的分布式计算网络中的服务器计算机)之间的有线连接可访问的任何数量的存储介质上。应当意识到,可以经由无线电672或经由分布式计算网络经由移动计算设备600访问这样的数据/信息。类似地,根据一个方面,根据众所周知的数据/信息传输和存储装置,包括电子邮件和协作数据/信息共享系统,这种数据/信息在计算设备之间容易地传输以用于存储和使用。
例如,以上参考根据各方面的方法、系统和计算机程序产品的框图和/或操作图示描述了实现方式。框中记录的功能/动作可以不按任何流程图所示的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能/动作。
本申请中提供的一个或多个示例的描述和说明不旨在以任何方式限制或限制所要求保护的范围。本申请中提供的方面、示例和细节被认为足以传达所有权并使其他人能够制作和使用最佳模式。实现方式不应被解释为限于本申请中提供的任何方面、示例或细节。无论是组合地还是单独地示出和描述,旨在选择性地包括或省略各种特征(结构上的和方法上的)以产生具有特定特征集的示例。已经提供了本申请的描述和说明,本领域技术人员可以设想落入不脱离更广泛范围的本申请中体现的总体发明构思的更广泛方面的精神内的变型、修改和替换示例。
Claims (9)
1.一种在使用混合分发架构时为客户端提供图像变换的方法,所述混合分发架构至少包括云服务和内容分发网络CDN,其中,所述客户端能够在所述云服务和所述CDN之间选择以取回图像,所述方法包括:
在所述云服务处接收来自客户端设备的针对基于原始图像的变换后的图像的请求;
确定所述云服务是否存储所述变换后的图像;以及
响应于确定所述云服务没有存储所述变换后的图像:
将所述原始图像发送到图像变换服务;以及
根据所述请求,在所述云服务处从所述图像变换服务接收基于所述原始图像的所述变换后的图像;
将所述变换后的图像从所述云服务发送到所述客户端设备;
在所述云服务处确定所述原始图像也存在于与作为源对于所述CDN而言关联的位置中;以及
将所述变换后的图像复制到该位置以使所述变换后的图像被所述CDN缓存。
2.如权利要求1所述的方法,其中,将所述变换后的图像和与所述原始图像相关联的其它变换后的图像一起存储在变换阵列中。
3.如权利要求2所述的方法,还包括:
响应于在所述CDN处从所述云服务接收对所述原始图像的缓存清除命令,标记所述原始图像和所述变换阵列以进行覆写。
4.如权利要求1所述的方法,其中,所述变换服务被配置为:
调整所述原始图像的透明度;
软化所述原始图像;
锐化所述原始图像;
调整所述原始图像的亮度;
调整所述原始图像的对比度;
调整所述原始图像的大小;
裁剪所述原始图像;
为所述原始图像提供边框;
对所述原始图像进行颜色交换;
倾斜所述原始图像的透视图;
改变所述原始图像的压缩率;或者
改变所述原始图像的文件格式。
5.一种用于在使用混合分发架构时向客户端提供图像变换的系统,所述混合分发架构至少包括云服务和内容分发网络CDN,其中,所述客户端能够在所述云服务和所述CDN之间选择以取回图像,所述系统包括:
所述云服务,其托管原始图像;以及
与所述云服务、客户端设备和图像变换服务通信的所述内容分发网络CDN,其中,所述CDN被配置为:
结合所述云服务提供包括所述原始图像的内容资产;以及
缓存所述内容资产以供应给所述客户端设备,而无需对客户端进行认证;并且
其中,所述云服务被配置为:
从所述客户端设备接收对所述原始图像的图像变换的请求;
确定所述云服务是否存储所述变换后的图像;
响应于确定所述云服务没有存储所述变换后的图像:
将所述请求和所述原始图像转发给所述图像变换服务;
根据所述请求接收基于所述原始图像的变换后的图像;将所述变换后的图像发送到所述客户端设备;确定所述原始图像也存在于与作为源对于所述CDN而言关联的位置中;以及
将所述变换后的图像复制到该位置以使所述变换后的图像被所述CDN缓存。
6.如权利要求5所述的系统,其中,所述变换后的图像以及基于所述原始图像的其他变换后的图像由所述CDN在变换阵列中与所述原始图像相关联地进行缓存。
7.一种在云服务处的用于在使用混合分发架构时向客户端提供任意数量的变换后的图像的方法,所述混合分发架构包括所述云服务和内容分发网络CDN,其中,所述CDN使用所述云服务作为原始图像的源,并且所述云服务和所述CDN两者都被配置为向客户端设备提供所述原始图像,所述方法包括:
接收针对来自所述客户端设备的所述原始图像的再现的请求;
确定所述云服务是否缓存了所述再现;
响应于确定所述云服务没有缓存所述再现:
将所述请求发送到图像变换服务;以及
从所述图像变换服务接收所述再现;
将所述再现发送到所述客户端设备;
在所述云服务处确定所述原始图像也存在于与作为源对于所述CDN而言关联的位置中;以及
将所述变换后的图像复制到该位置以使所述变换后的图像被所述CDN缓存。
8.如权利要求7所述的方法,其中,所述再现、所述原始图像以及所述原始图像的其他再现是一起被缓存在变换阵列中的。
9.如权利要求8所述的方法,还包括:
确定中间图像是否被缓存在所述变换阵列中,其中,所述中间图像包括在所述请求中指定的一个或多个变换;
响应于确定所述中间图像被缓存在所述变换阵列中,将所述中间图像发送到所述图像变换服务以根据所述请求而产生所述再现;以及
响应于确定所述中间图像未被缓存在所述变换阵列中,将所述原始图像发送到所述图像变换服务以根据所述请求而产生所述再现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210537130.3A CN114827634A (zh) | 2016-07-29 | 2017-07-20 | 混合源架构中的图像变换 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662368771P | 2016-07-29 | 2016-07-29 | |
US62/368,771 | 2016-07-29 | ||
US15/365,761 US10375196B2 (en) | 2016-07-29 | 2016-11-30 | Image transformation in hybrid sourcing architecture |
US15/365,761 | 2016-11-30 | ||
PCT/US2017/042965 WO2018022399A1 (en) | 2016-07-29 | 2017-07-20 | Image transformation in hybrid sourcing architecture |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210537130.3A Division CN114827634A (zh) | 2016-07-29 | 2017-07-20 | 混合源架构中的图像变换 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109565606A CN109565606A (zh) | 2019-04-02 |
CN109565606B true CN109565606B (zh) | 2022-05-24 |
Family
ID=61010467
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210537130.3A Pending CN114827634A (zh) | 2016-07-29 | 2017-07-20 | 混合源架构中的图像变换 |
CN201780047133.6A Active CN109565606B (zh) | 2016-07-29 | 2017-07-20 | 混合源架构中的图像变换 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210537130.3A Pending CN114827634A (zh) | 2016-07-29 | 2017-07-20 | 混合源架构中的图像变换 |
Country Status (4)
Country | Link |
---|---|
US (3) | US10375196B2 (zh) |
EP (1) | EP3491826B1 (zh) |
CN (2) | CN114827634A (zh) |
WO (1) | WO2018022399A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10375196B2 (en) * | 2016-07-29 | 2019-08-06 | Microsoft Technology Licensing, Llc | Image transformation in hybrid sourcing architecture |
US10922878B2 (en) * | 2017-10-04 | 2021-02-16 | Google Llc | Lighting for inserted content |
CN110619312B (zh) * | 2019-09-20 | 2022-08-23 | 百度在线网络技术(北京)有限公司 | 定位元素数据的增强方法、装置、设备及存储介质 |
CN111696025B (zh) * | 2020-06-11 | 2023-03-24 | 西安电子科技大学 | 基于可重构内存计算技术的图像处理装置及方法 |
US11843682B1 (en) * | 2022-08-31 | 2023-12-12 | Adobe Inc. | Prepopulating an edge server cache |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662454A (zh) * | 2008-08-29 | 2010-03-03 | 阿里巴巴集团控股有限公司 | 互联网中图像处理的方法、装置和系统 |
CN104601534A (zh) * | 2014-04-28 | 2015-05-06 | 贵州格安科技有限公司 | Cdn系统图像处理的方法及系统 |
CN105556931A (zh) * | 2013-09-17 | 2016-05-04 | 辉达公司 | 用于共享专用处理资源的系统和方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7221370B1 (en) * | 2001-01-26 | 2007-05-22 | Palmsource, Inc. | Adaptive content delivery |
KR100571347B1 (ko) * | 2002-10-15 | 2006-04-17 | 학교법인 한국정보통신학원 | 사용자 선호도 기반의 멀티미디어 컨텐츠 서비스 시스템과방법 및 그 기록 매체 |
WO2004083990A2 (en) * | 2003-03-17 | 2004-09-30 | British Telecommunications Public Limited Company | Web content adaption process and system |
US8180920B2 (en) * | 2006-10-13 | 2012-05-15 | Rgb Networks, Inc. | System and method for processing content |
CA2755774C (en) * | 2009-03-19 | 2015-01-06 | Azuki Systems, Inc. | Method for scalable live streaming delivery for mobile audiences |
AU2010328326B2 (en) * | 2009-12-07 | 2016-12-01 | Robert Buffone | System and method for website performance optimization and internet traffic processing |
US8244874B1 (en) * | 2011-09-26 | 2012-08-14 | Limelight Networks, Inc. | Edge-based resource spin-up for cloud computing |
AU2010212287B2 (en) | 2010-08-12 | 2012-03-08 | Brightcove Inc. | Pipelining for massively parallel service architecture |
WO2012088023A2 (en) | 2010-12-20 | 2012-06-28 | Akamai Technologies, Inc. | Methods and systems for delivering content to differentiated client devices |
US8886742B2 (en) * | 2011-01-28 | 2014-11-11 | Level 3 Communications, Llc | Content delivery network with deep caching infrastructure |
US8775648B1 (en) * | 2013-12-30 | 2014-07-08 | Limelight Networks, Inc. | Control systems and methods for cloud resource management |
US20140108941A1 (en) * | 2012-10-17 | 2014-04-17 | Christopher Stephen Joel | Method and Apparatus for Automatically Optimizing the Loading of Images in a Cloud-Based Proxy Service |
US9098477B2 (en) * | 2013-05-15 | 2015-08-04 | Cloudflare, Inc. | Method and apparatus for automatically optimizing the loading of images in a cloud-based proxy service |
CN104243425B (zh) * | 2013-06-19 | 2018-09-04 | 深圳市腾讯计算机系统有限公司 | 一种在内容分发网络中进行内容管理的方法、装置及系统 |
US9219776B2 (en) * | 2013-06-24 | 2015-12-22 | Microsoft Technology Licensing, Llc | Aggregating content from different content sources at a cloud service |
US8892686B1 (en) | 2013-12-19 | 2014-11-18 | Limelight Networks, Inc. | Dynamic content transformation for multiple devices |
US20160127466A1 (en) * | 2014-10-29 | 2016-05-05 | Rosetta Marketing Group, Llc | Methods and systems for providing content data to content consumers |
US10116729B2 (en) * | 2015-10-06 | 2018-10-30 | Verizon Digital Media Services Inc. | Dynamic media transformation service in a CDN |
US10757210B2 (en) * | 2016-04-14 | 2020-08-25 | Zensar Technologies Ltd. | System and a method of direct communication and engagement within an organization |
US10375196B2 (en) * | 2016-07-29 | 2019-08-06 | Microsoft Technology Licensing, Llc | Image transformation in hybrid sourcing architecture |
-
2016
- 2016-11-30 US US15/365,761 patent/US10375196B2/en active Active
-
2017
- 2017-07-20 CN CN202210537130.3A patent/CN114827634A/zh active Pending
- 2017-07-20 EP EP17755309.6A patent/EP3491826B1/en active Active
- 2017-07-20 WO PCT/US2017/042965 patent/WO2018022399A1/en unknown
- 2017-07-20 CN CN201780047133.6A patent/CN109565606B/zh active Active
-
2019
- 2019-07-08 US US16/504,703 patent/US11240337B2/en active Active
-
2021
- 2021-12-21 US US17/558,264 patent/US11632437B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662454A (zh) * | 2008-08-29 | 2010-03-03 | 阿里巴巴集团控股有限公司 | 互联网中图像处理的方法、装置和系统 |
CN105556931A (zh) * | 2013-09-17 | 2016-05-04 | 辉达公司 | 用于共享专用处理资源的系统和方法 |
CN104601534A (zh) * | 2014-04-28 | 2015-05-06 | 贵州格安科技有限公司 | Cdn系统图像处理的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109565606A (zh) | 2019-04-02 |
US11240337B2 (en) | 2022-02-01 |
WO2018022399A1 (en) | 2018-02-01 |
US10375196B2 (en) | 2019-08-06 |
US20180034932A1 (en) | 2018-02-01 |
EP3491826B1 (en) | 2021-08-04 |
EP3491826A1 (en) | 2019-06-05 |
CN114827634A (zh) | 2022-07-29 |
US20190335013A1 (en) | 2019-10-31 |
US20220116471A1 (en) | 2022-04-14 |
US11632437B2 (en) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109565606B (zh) | 混合源架构中的图像变换 | |
US11063888B2 (en) | Shared content item commenting | |
US10277673B2 (en) | Local server for synced online content management system | |
CN109691057B (zh) | 经由私人内容分发网络可交换地取回敏感内容 | |
RU2666302C2 (ru) | Интерфейсы для прикладного программирования для курирования контента | |
US10114602B2 (en) | Dynamic server-side image sizing for fidelity improvements | |
US9628560B2 (en) | Sharing a content item | |
CN109565518B (zh) | 用于可互换的内容取回的方法和系统 | |
US8812849B1 (en) | System and method for controlling the upload of data already accessible to a server | |
US9177009B2 (en) | Generation based update system | |
KR20150115850A (ko) | 특징의 버전 또는 다수의 편집기를 사용하는 공동 작업 | |
CN109074264B (zh) | 一种用于跨程序的用户设置的方法和系统 | |
US20150365497A1 (en) | Providing access to information across multiple computing devices | |
US11080243B2 (en) | Synchronizing virtualized file systems | |
JP7477251B2 (ja) | シングル・ページ・アプリケーションのキャッシャビリティの改善方法、システム、プログラム |
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 |