CN104995657B - 用于调整图像大小的系统和方法 - Google Patents

用于调整图像大小的系统和方法 Download PDF

Info

Publication number
CN104995657B
CN104995657B CN201380073182.9A CN201380073182A CN104995657B CN 104995657 B CN104995657 B CN 104995657B CN 201380073182 A CN201380073182 A CN 201380073182A CN 104995657 B CN104995657 B CN 104995657B
Authority
CN
China
Prior art keywords
seam
image
value
size
conspicuousness
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
CN201380073182.9A
Other languages
English (en)
Other versions
CN104995657A (zh
Inventor
M·达塔尔
H-H·C·廖
V·卡瓦特拉
A·黄
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN104995657A publication Critical patent/CN104995657A/zh
Application granted granted Critical
Publication of CN104995657B publication Critical patent/CN104995657B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/224Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

在一些实例中,图像可具有不与显示该图像的空档相对应的尺寸。例如,图像内容项可具有不与内容项空档相对应的尺寸。可使用缝切割来添加或移除图像的像素,以调整图像的大小。可使用图像的显著性图,该显著性图具有图像的每个像素的显著性分数。可以在缝切割之前、期间和之后使用评价指标,以确定显著内容是否受缝切割的影响。在一些实例中,缝成本阈值可用于缝切割期间的自适应步长。接着可输出调整了大小的图像,例如用于将与资源一起提供的图像内容项。

Description

用于调整图像大小的系统和方法
背景技术
在诸如互联网或其他网络的网络化环境中,第一方内容提供者可提供用于在资源上公开显示的信息,该资源例如是web页面、文档、应用和/或其他资源。第一方内容可包括由第一方提供者经由例如内容服务器提供的用于在互联网上显示的文本、视频和/或音频信息。还可以由第三方内容提供者提供用于与由第一方提供者提供的第一方内容一起在资源上显示的附加的第三方内容。因此,查看资源的人可访问作为资源主题的信息,以及可能与该资源的主题相关或不相关的第三方内容。
发明内容
用于调整图像大小的方法可包括接收关于图像的数据、缝(seam)成本阈值和步长。可基于所述关于图像的数据做出所述图像的显著性图。可基于显著性图为所述图像确定第一缝集合,所述第一缝集合中的每个缝具有低于所述缝成本阈值的显著性成本。可使用第一调整大小的缝的集合调整所述图像的大小以生成第二图像。其所述第一调整大小的缝的集合包括与所述第一缝集合的缝的数量和所述步长之中的最小值相等的缝的数量。可为所述第二图像确定第二缝集合,所述第二缝集合中的每个缝具有低于所述缝成本阈值的显著性成本。可使用第二调整大小的缝的集合调整所述第二图像的大小,以生成调整了大小的图像。所述第二调整大小的缝的集合包括与所述第二缝集合的缝的数量和所述步长之中的最小值相等的缝的数量。可输出用于完成所述调整了大小的图像的显示的显示数据。
计算机可读存储装置可存储指令,当由数据处理器执行该指令时可使得所述数据处理器执行一些操作。所述操作可包括从请求装置接收对于将与资源一起显示的内容项的请求。可选择包括具有数个像素的图像的内容项。可基于梯度显著性值、颜色空间分布显著性值以及标志检测值为每个像素确定显著性分数。可基于显著性分数为所述图像确定平均显著性值。如果所述平均显著性值低于平均阈值,则可基于所述显著性分数为所述图像确定第一缝集合。可基于所述第一缝集合调整所述图像的大小。可为所述第一缝集合确定总的成本值,并且如果所述总的成本值低于最小成本阈值,则输出显示数据以完成将调整了大小的图像显示为内容项。
用于调整第三方内容提供者的图像内容项的大小的系统可包括数据处理器和存储一些指令的计算机可读存储装置,当由所述数据处理器执行该指令时使得所述数据处理器执行多种操作。所述操作可包括接收关于具有数个像素的图像的数据、缝成本阈值和步长。可为所述图像确定显著性图,并且所述显著性图可包括所述图像的每个像素的显著性分数。可基于显著性分数为所述图像确定平均显著性值。如果所述平均显著性值低于平均阈值,则基于所述显著性分数为所述图像确定第一缝集合。所述第一缝集合中的每个缝可具有低于所述缝成本阈值的显著性成本。可基于第一调整大小的缝的集合调整所述图像的大小,以生成第二图像。所述第一调整大小的缝的集合可包括与所确定的第一缝集合的缝的数量和所述步长之中的最小值相等的缝的数量。可为所述第二图像确定第二缝集合。可基于所述第二缝集合调整所述第二图像的大小,以生成调整了大小的图像。可输出用于完成所述调整了大小的图像的显示的显示数据。
附图说明
在附图中,以示例而不是限制的方式示出了本文教导的各个实施方式,其中:
图1是描述经由计算机网络提供信息的示例系统的概览;
图2是用于调整图像内容项的大小的示例过程的流程图;
图3A是示出了示例缝的示例的图像的显著性图的概览;
图3B是移除了示例缝的图3A的示例显著性图的概览;
图4A是平均显著性值可能超过平均阈值的示例图像内容项;
图4B是示出了具有添加的补缺(filler)的图4A的图像内容项的图像的示例;
图4C是示出了具有添加的补缺的图4A的图像内容项的图像的另一个示例;
图5A是可对其应用自适应缝切割(seam carving)的示例的图像内容项;
图5B是示出了对于图5A的图像内容项的图像检测到的文字区域和标志区域的示例;
图5C是示出了可能低于缝成本阈值的关于图5A的图像内容项的图像的数个缝的示例;
图5D是示出了通过复制缝来调整大小之后的关于图5A的图像内容项的第二调整了大小的图像的示例;
图5E是关于图5A的图像内容项的示例的调整了大小的图像;
图5F是示出了可能低于缝成本阈值的关于图5A的图像内容项的图像的数个缝的示例;
图5G是示出了通过复制图5F的缝来调整大小之后的关于图5A的图像内容项的第二调整了大小的图像的示例;
图5H是示出了通过复制图5G的附加缝来调整大小之后的关于图5A的图像内容项的第三调整了大小的图像的示例;
图6A是可对其应用自适应缝切割的另一个示例图像内容项;
图6B是示出了在调整图像的大小时使用的数个确定的缝的关于图6A 的图像内容项的示例的调整了大小的图像;
图6C是省略了确定的缝的关于图6A的图像内容项的示例的调整了大小的图像;
图7A是可对其应用自适应缝切割的另一个示例的图像内容项;
图7B是示出了在调整图像的大小时使用的数个确定的缝的关于图7A 的图像内容项的示例的调整了大小的图像;
图7C是省略了确定的缝的关于图7A的图像内容项的示例的调整了大小的图像;
图8A是可对其应用自适应缝切割的另一个示例的图像内容项;
图8B是示出了在调整图像的大小时使用的数个确定的缝的关于图8A 的图像内容项的示例的调整了大小的图像;
图8C是省略了确定的缝的关于图8A的图像内容项的示例的调整了大小的图像;
图9是示出了可用来实现本文描述和示出的系统和方法的各个元素的计算机系统的总体架构的框图。
部分或全部的所述图示应被视为是用于说明目的的示意图表示。出于示出一个或多个实施方式的目的提供所述图示,应明确理解它们将不被用于限制权利要求的范围或含义。
具体实施方式
下文是对用于在计算机网络上提供信息的方法、设备和系统的与其相关的各个概念及其实施方式的更详细的描述。由于所描述的方面不限于实施方式的任何特定方式,因此可采用众多方式中的任何一种来实现下文中更详细讨论的各个方面。主要出于说明的目的来提供具体实施方式和应用的示例。
在一些实例中,调整内容项(诸如图像和/或视频)的大小可能是有用的。例如,计算装置(如用户装置或请求装置)可经由互联网通过与对应于资源的服务器(如web页面服务器)通信来查看该资源(诸如web页面)。该资源可包括来自第一方提供者的作为资源的主题的内容,以及附加的第三方提供的内容,如广告。在一个实施方式中,响应于接收到访问web页面的请求, web页面服务器可与诸如内容布置系统的数据处理系统通信,以请求用于插入到在计算装置处显示的web页面的渲染(rendering)中的内容项。内容布置系统可选择合适的内容项并且将其提供给web页面服务器,以与web页面一起显示。
在一些实例中,资源的空档(slot)可能具有与所选择的内容项不同的一组尺寸。在这类实例中,调整内容项的大小以符合该空档可能是有用的,例如移除内容项的部分和/或向内容项添加附加的像素。可通过利用诸如缝切割(seam carving)的技术来完成这种大小调整。缝切割基于期望的大小调整来选择内容项的一系列连接的像素,以进行复制和/或移除。对于内容项来说,选择不扭曲内容项的主要或显著内容的缝可能是有用的。例如,内容项可包括背景上的文本内容。缝可被选择以在调整内容项大小的同时保留该文本内容和/或字符间距,从而提供调整了大小的内容项且保留显著内容。在其他实例中,内容项可包括面部,使得面部检测对于保留面部内容来说是有用的。在其他实例中,内容项中可能存在标志,使得保留标志的形状和大小同样是有用的。本文中将更详细地讨论其他显著内容考虑事项。
可通过为每个像素确定显著性分数(即该像素对内容项的内容有多重要)来完成这种显著内容的保留和缝的选择。可确定显著性分数的集合来生成内容项的显著性图。该显著性图可用于确定缝,以用于缝切割和/或用于与一个或多个评价指标一起使用。
可在调整大小过程之前、期间和/或之后使用评价指标,以确定是否继续进行缝切割和/或使用调整了大小的图像。例如,可计算显著性图的显著性分数的平均值。如果显著性分数的平均值低于平均阈值,则可以继续进行缝切割。如果该平均值高于平均阈值,则可选择替换的方法和/或内容项(例如,不调整具有高平均显著性分数的图像内容项的大小,而是显示具有补缺的图像内容项以保留图像内容项的内容可能更好)。
使用显著性图的显著性分数,可通过选择具有低显著性分数像素的缝来选择缝,以调整内容项的大小。在一些实例中,可使用缝成本阈值评价指标,使得所选择的缝具有低于该缝成本阈值的显著性成本。缝的显著性成本可被计算为该缝的每个像素的显著性成本的和。在一些实例中,可使用步长来限制和/或保证在调整内容项大小的迭代过程中选择一定数量的缝。该步长可与缝成本阈值一起使用,使得两者中的最小值或最大值可用于提供自适应调整大小过程。
在进一步的实施方式中,可为添加的和/或移除的缝计算总的成本值评价指标。该总的成本值可用于确定是否使用调整了大小的图像。例如,如果从内容项移除缝的总的成本值超过最大值,则调整了大小的图像可能已经移除和/或添加了太多具有高显著性分数的像素并且潜在地扭曲了内容项的内容。如果移除和/或添加缝的总的成本值低于最小值,则调整了大小的图像可能已经移除和/或添加了具有低显著性分数的像素,并且不太可能扭曲内容项的内容。当然,也可以使用将总的成本值作为评价指标的其他使用和实施方式。
I.示例系统的概述
图1示出了用于经由诸如网络105的计算机网络提供信息的示例系统 100。网络105可包括计算机网络,如互联网、局域、广域、城域或其他区域网络、内部网,以及诸如语音或数据移动电话通信网络的其他计算机网络。系统100还可以包括数据处理系统110。数据处理系统110可包括诸如计算装置的逻辑装置,该逻辑装置具有处理器以经由网络105与例如资源服务器 120、请求装置125和第三方内容提供者115通信。数据处理系统110可包括一个或多个数据处理系统以及一个或多个数据库,其中数据处理系统例如是被配置为处理信息并且向资源服务器120或请求装置125提供内容的内容布置系统130,数据库例如是被配置为存储信息的内容数据库140。在本示例中,内容布置系统130包括调整大小模块135,该调整大小模块135可被配置为根据下文中更详细描述的过程200来调整一个或多个内容项的大小。数据处理系统110可包括服务器,如广告服务器。
请求装置125可包括被配置为经由网络105与其他装置通信的计算装置,如计算机、便携式计算机、台式计算机、智能电话、平板计算机、个人数字助理或者服务器装置。请求装置125可执行软件应用(如web浏览器或其他应用),以通过网络105从其他计算装置获取内容。
资源服务器120可包括计算机,该计算机具有被配置为用以寄载资源(如 web页面或其他资源)的服务器。例如,资源服务器120可以是计算机服务器(如FTP服务器、文件共享服务器、web服务器等)或者服务器的组合(如数据中心、云计算平台等)。资源服务器120可向请求装置125提供资源数据或者其他内容,例如文本文档、PDF文件和其他形式的电子文档。在一个实施方式中,请求装置125可经由网络105访问资源服务器120,以请求访问资源服务器120的资源。
在一个实施方式中,数据处理系统110可经由网络105接收对将与资源一起显示的内容项的请求。在一个实施方式中,资源包括web页面。资源可包括用于显示一个或多个第三方内容项的内容项空档,如资源的指定位置。内容布置处理器130可被配置为接收来自资源服务器120或请求装置125的请求。资源服务器120可包括资源的第一方提供者,其可具有与数据处理器系统110的协议,该协议关于该系统提供内容项以与资源服务器120的一个或多个资源一起显示。请求装置125可以是由用户操作的(由装置标识符表示的)计算装置,例如,当访问资源服务器120的资源时,该计算装置可向数据处理系统110做出对将与资源一起显示的内容的请求。
在一些实例中,资源的内容项空档可具有与所选择的内容项的大小不同的维度大小。例如,内容项空档可以是360x 50像素,而内容项是320x 50 像素。相应地,要在该内容项空档中显示该内容项,可调整内容项的大小和 /或与补缺背景一起显示内容项,以得到填充该内容项空档的内容项。在一些实例中,如果可能,调整内容项的大小可能是有用的。
II.用于调整内容项大小的示例过程
图2示出了用于调整诸如图像的内容项的大小的示例过程200。在一些实施方式中,可由内容布置系统130接收对图像内容项的请求。对内容项的请求可包括对在线广告、商品、促销、优惠券或产品描述的请求。内容布置系统130可从诸如请求装置125的计算装置接收请求。在一些实施方式中,内容布置系统130经由在请求装置125上执行的应用接收请求。例如,在移动装置(如智能电话或平板计算机)上执行的移动应用可做出对内容项的请求。在另一个示例中,web页面可响应于访问该web页面的请求装置125的用户,向内容布置系统130请求内容项。
在一些实施方式中,对内容项的请求可包括可促成对内容项的选择的信息。例如,该信息可包括内容项空档的维度大小、请求装置的IP地址、请求装置的域、关于将与内容项一起显示的资源的数据、与请求装置相关联的历史数据、请求装置的类型(如台式计算机、便携式计算机、智能电话、平板计算机等)、请求装置的一个或多个特征(如,操作系统类型、性能数据、显示分辨率等)、地理位置和/或任何其他数据。
对于本文讨论的系统收集关于用户的个人信息或者可使用个人信息的情况来说,可向用户提供机会以控制程序或特征是否可收集个人信息(例如,关于用户的社交网络、社交行为或活动、用户的偏好、或用户的当前位置的信息),或者控制是否从内容服务器接收或如何从内容服务器接收可能与用户更相关的内容。此外,在存储或使用某些数据之前,可采用一种或多种方式匿名化该数据,使得在生成参数(如人口统计参数)时移除个人可识别信息。例如,可匿名化用户的身份,使得不能针对该用户确定个人可识别信息,或者可以将用户的地理位置概括为获得位置信息的来源(例如,概括到城市、邮政编码或州的级别),使得不能确定用户的具体位置。因此,用户可控制关于他或她的信息如何被收集并且被内容服务器所使用。
可由内容布置系统130选择图像内容项(框204)。在一些实例中,可至少部分基于通过内容项拍卖的一个或多个投标来选择图像内容项。例如,内容布置系统130可向具有多个内容项的在线拍卖提供一个或多个候选内容项,其中,选择与最高投标(例如,对内容提供者115的内容项给出的最高投标价格)或其他因素(诸如最高质量内容项)相关联的内容项,并且提供该内容项以在请求装置125上显示。在一些示例中,内容布置系统130可基于一个或多个因素选择或识别多个候选内容项,所述因素例如关键词、相关性因素、质量因素、点进率或转化率。
调整大小模块135可接收关于所选择的内容项的图像的数据、缝成本阈值和步长(框206)。在一些实施方式中,可在与内容布置系统130相关联的数据库(如数据处理系统110的内容数据库140)中存储关于所选择的内容项的图像的数据。关于图像的数据可包括图像的位图,例如,表示像素网格的矩阵。位图可包括每个像素的位置信息和颜色信息,例如,十六进制值、 RGB值、HSB/HSL值、RGBA值、HSBA/HSLA值和或其他值。可对关于图像的数据使用各种格式,如.BMP、.JPEG、.GIF、.PNG、.GIFF等。
缝成本阈值可以是默认值、由内容布置系统130设置的值和/或由内容提供者115指定的值。在一些实例中,内容布置系统130可利用多个缝成本阈值。例如,如果提供了内容提供者指定的值则可以使用该值,并且如果没有提供内容提供者指定的值则可以使用默认的缝成本阈值。在其他实例中,内容提供者可指定取决于其他因素的缝成本阈值,例如,用于智能电话请求装置的第一缝阈值、用于平板计算机请求装置的第二缝阈值、用于便携式计算机请求装置的第三缝阈值和/或用于台式计算机请求装置的第四缝阈值等。当然,可使用其他缝阈值和/或因素。
步长可以是默认值、由内容布置系统130设置的值和/或由内容提供者 115指定的值。在一些实例中,内容布置系统130可利用多个步长值。例如,可指定最小步长和最大步长,使得对于下文描述的每个缝切割迭代,一定的最小或最大数量的缝被利用。在其他实例中,可以仅使用最小步长或者可以仅使用最大步长。在一些进一步的实施方式中,如果提供了内容提供者指定的一个或多个步长则可以使用该一个或多个步长,并且如果没有提供内容提供者指定的一个或多个步长则可以使用默认的一个或多个步长。在进一步的实例中,内容提供者可指定取决于其他因素的一个或多个步长,例如,用于智能电话请求装置的第一步长、用于平板计算机请求装置的第二步长、用于便携式计算机请求装置的第三步长和/或用于台式计算机请求装置的第四步长等。当然,可使用其他步长和/或因素。
可基于图像的数据和图像的每个像素的显著性分数来确定关于内容项的图像的显著性图(框208)。图3A中示出了一个示例的显著性图300并且将在下文中对其进行更详细地讨论。显著性分数是关于像素的分数,其指示对于图像的内容来说该像素有多重要。例如,图像的前景中的人脸的像素可具有比背景中的墙中的砖的像素更高的显著性分数。在一些实例中,复制和 /或移除具有低显著性分数(即,对于图像来说较不重要)的像素可能更好,使得图像的主要内容得以保留。
每个像素的显著性分数可包括确定该分数的单个值或数个值。例如,可由单个值、由数个不同值的和、由数个不同值的加权平均值和/或其他方式来确定显著性分数。可用于确定显著性分数的值可包括梯度显著性值、颜色空间分布显著性值、文本检测显著性值、面部检测显著性值、标志检测显著性值、背景区域显著性值等。
梯度显著性值可以是基于在垂直和水平方向上的像素之间的强度变化确定的关于像素的值。换句话说,梯度显著性度量像素的颜色如何逐步或快速变化。例如,蓝天背景上的红旗的边缘的像素可具有高梯度显著性值,而红旗内的像素可具有低梯度显著性值。
颜色空间分布显著性值可以是基于图像中的主颜色聚类确定的、与该颜色的像素的空间变化相关的关于像素的值。例如,接近图像前景的对象,如红球,将很可能具有聚集在一起的大量红色像素,而黑色和白色的格子背景可具有较少的相同颜色的像素,并且这些像素可为分散的。相对于格子背景的像素来说,红色且密集排列在一起的像素将很可能具有高颜色空间分布显著性值。
可通过使用光学字符识别(OCR)确定图像内的文本区域来确定文本检测显著性值。相应地,与所识别的文本区域相对应的像素可具有高文本检测显著性值,而图像的其他区域可具有低的或者为零的文本检测显著性值。在一些实施方式中,可使用边界框(bounding box)来识别单词而不是各个字符,从而潜在地保留了字符间距。
可通过使用面部识别检测器确定图像内的面部区域来确定面部检测显著性值。相应地,与所识别的面部区域相对应的像素可具有高面部检测显著性值,而图像的其他区域可具有低的或为零的面部检测显著性值。在一些实例中,可指定围绕所识别的面部区域的缓冲区域,使得围绕面部的像素可具有较高的面部检测显著性值。
可通过使用标志检测器将图像的区域与标志数据库比较来确定标志检测显著性值。相应地,当检测到标志时,与标志相对应的像素的区域可具有高标志检测显著性值,而图像的其他区域可具有低的或为零的标志检测显著性值。在一些实例中,可指定围绕所识别的标志区域的缓冲区域,使得围绕标志的像素可具有较高的标志检测显著性值。
可通过检测在可能指示背景区域的图像的大部分上的主颜色来确定背景区域显著性值。例如,内容项可包括用于内容项的背景的单个颜色或简单颜色方案。识别内容项的这个背景区域对于通过缝切割进行的图像操作来说可能是有用的。例如,如果关于内容项的数据显示多于50%的像素的颜色是白色,则这可能说明这些像素是背景区域的部分。在一些实例中,背景区域的检测可包括确定主颜色像素是连续的或者形成大的聚类(例如,在白色背景上有纯文本的情况可具有用于该背景的基本连续的白色像素)。在一些实施方式中,背景区域显著性值可与像素是背景区域的部分的确定呈负相关 (即,所识别的背景区域的像素具有较低值,并且不是所识别的背景区域的部分的像素具有较高值)。当然,也可以使用其他方法来检测背景区域。
如上文提到的,基于一个或多个显著性值,可确定多个像素中的每个像素的显著性分数。在一些实例中,可为每个显著性值分配加权值,且可确定平均分数并将该平均分数用作每个像素的显著性分数。这些显著性分数可被用于生成与图像的像素相对应的显著性图,如显著性分数的矩阵。图3A示出了关于具有四行和四列像素的示例图像的示例显著性图300,该显著性图 300指示了每个像素的显著性分数。
在一些实施方式中,初始的评价指标可用于确定是否初始进行使用缝切割来调整图像的大小。例如,可以为显著性图确定平均显著性值(框210)。平均显著性值可以是显著性图的所有显著性分数的平均值。使用图3A的显著性图作为示例,平均显著性值可以是每个显著性分数的和(该示例中总数为38)除以显著性分数的数量(16),得到平均显著性值(如2.375)。当然,前述数字仅仅是示例。在一些实例中,显著性分数可具有0(包括0)到255(包括255)的范围,或者任何其他用于显著性分数的范围(例如0(包括0) 到3(包括3);0(包括0)到7(包括7);0(包括0)到15(包括15);0 (包括0)到31(包括31);0(包括0)到63(包括63);0(包括0)到 127(包括127);0(包括0)到511(包括511);0(包括0)到1023(包括1023);0(包括0)到2047(包括2047);0(包括0)到4095(包括4095); 0(包括0)到8191(包括8191);0(包括0)到16383(包括16383);0(包括0)到32767(包括32767);0(包括0)到65535(包括65535)等)。
可将所确定的平均显著性值与平均阈值比较(框212)。例如,对于0(包括0)到255(包括255)的显著性分数的范围来说,平均阈值可以是220。如果平均显著性值等于和/或超过平均阈值,则其可表明图像可能不适合使用缝切割来调整大小(即太多像素被指示为对图像的内容重要)。在此类实例中,可输出替换的图像内容项(框250)。例如,如果内容项具有很多重要的或显著的像素使得所确定的平均显著性值超过了平均阈值,则可添加补缺背景使得内容项的图像保持基本相同,并且补缺背景填充了围绕图像的空缺以填充内容项空档。在其他实例中,可使用替换的方法来调整内容项的大小(例如通过缩放),和/或可选择另一内容项。参考图4A-4C示出和描述了这种可能不适合缝切割并且对其提供了补缺背景的图像内容项的图像的示例。
如果所确定的平均显著性值低于平均阈值和/或没有确定平均显著性值 (即,没有使用平均显著性阈值确定方法),则可以做出对于用于缝切割的缝集合的确定(框214)。可基于在期望的维度上具有穿过图像的最低显著性成本路径的缝来选择缝集合。对于垂直缝来说,可基于显著性图的显著性分数来确定缝,该缝形成沿y轴(如从上到下)具有最低累积的像素显著性分数的路径。应理解,所确定的缝集合中的每个缝不与该确定的缝集合中的另一个缝重叠(例如,每个像素仅可以是该确定的缝集合中的一个缝的部分)。图3A示出了在具有较高显著性分数的像素区域320、330之间的示例的低显著性成本缝310。在本示例中,缝310的显著性成本是2,然而如上文提到的,可以使用其他的数值和范围。对于水平缝来说,可基于显著性图的显著性分数来确定缝,该缝形成沿x轴(如从左到右)具有最低累积的像素显著性分数的路径。
在一些实施方式中,可通过比较图像的大小与所接收到的将于其中示出内容项的内容项空档的维度大小,来做出对要添加和/或从图像移除的像素的总数的确定。例如,内容项空档可以是360像素宽乘50像素高,而所选择的内容项是320像素宽乘50像素高。相应地,可确定需要向所选择的内容项添加40像素。如果每个缝是单个像素宽,则经由缝切割来扩展图像所需要的缝的总数可以是40个缝。在一些实施方式中,缝的宽度可以不止一个像素(如2、3、4、5个像素等),因此缝的总数可以是像素的总数除以缝的像素宽度。在一些实例中,可预定缝的像素宽度(即,预设为一像素宽、两像素宽等)。
在一些实例中,缝成本阈值可用于限制所确定的缝集合中的缝的数量,使得每个缝具有低于缝成本阈值的显著性成本。在图3A所示的示例中,如果缝成本阈值是2,则仅缝310可满足该阈值。如果缝成本阈值是1,则没有缝可以满足该阈值。如果缝成本阈值是3,则可识别出数个缝具有等于和/ 或低于该阈值的显著性成本。如将在下文中更详细描述的,缝成本阈值可用于提供自适应缝切割。
可通过使用调整大小的缝的集合插入和/或删除像素来调整图像的大小 (框216)。图3B示出了移除了示例缝310使得像素区域320、330邻接而缩小图像的图3A的显著性图300。在一些版本中,显著性图300可用于生成调整了大小的图像。例如,显著性图的值可被映射到图像的像素,使得可添加或从图像删除对应的像素。在另一个示例中,显著性图可包括颜色信息与显著性分数(例如,saliency_score、color_information),使得显著性图的操作直接添加或删除相关的像素颜色信息。接着,来自显著性图的颜色信息和位置信息(如行和列)可被用于生成调整了大小的图像。
在一些实例中,调整大小的缝的集合可与所确定的缝集合相对应。例如,如果需要向图像添加或移除5像素并且5个一像素的缝被识别为具有低于缝成本阈值的显著性成本,则调整大小的缝的集合可与所确定的缝集合相同。在其他实例中,调整大小的缝的集合可以是所确定的集合的子集,例如当确定的缝集合超过最大步长的时候;或者调整大小的缝的集合可以是预定的最小数量的最低显著性成本的缝,例如当所确定的缝集合低于最小步长的时候。
在其中所确定的缝集合中没有缝或者所确定的缝集合中的缝低于最小步长的实例中,可将等于最小步长值的最低显著性成本的缝选为调整大小的缝的集合。例如,如果两个缝被识别为具有低于缝成本阈值的显著性成本并且最小步长是5,则包括该确定的缝集合中的两个缝在内的5个最低显著性成本的缝可被用作调整大小的缝的集合。如果还没有达到调整图像大小所需的缝的总数,则过程200可通过多个调整大小的缝的集合来进行迭代,直到图像已被调整为期望的维度大小(框214、216)。
在其中利用了最大步长的实例中,过程200可通过多个调整大小的缝的集合进行迭代,直到图像已被调整为期望的维度大小。例如,如果需要向图像添加40个缝并且最大步长是10个缝,则可在调整图像大小的第一次迭代期间使用来自所确定的100个缝的集合的10个最低显著性成本的缝,以生成第二图像。在一些实施方式中,可能不生成第二图像,但其可由具有添加的或移除的缝的修改的显著性图来表示。接着,过程200可执行第二次迭代,以为第二图像确定具有低于缝成本阈值的显著性成本的第二缝集合(框 214)。接着,可在调整第二图像的大小时使用来自第二确定的缝集合的10 个最低显著性成本的缝(框216)。迭代可重复,直到图像的大小已被调整到期望的维度大小。在一些实例中,第二次迭代中的缝可与来自第一次迭代的缝重叠(尽管在每次迭代内缝不会重叠)。在添加缝的实例中,当通过迭代过程调整图像大小时,可能更频繁地使用最低显著性成本的缝。
一些实施方式可以仅使用最大步长。如果所确定的缝集合中的缝的数量低于最大步长,则可根据低于缝成本阈值的缝的数量和最大步长之中的最小值来选择用于调整大小的缝的集合的缝的数量。例如,如果15个缝被确定为低于缝成本阈值并且最大步长为10,由于步长10是最小值,则将选择所确定的缝集合中的10个最低成本的缝。如果5个缝被确定为低于缝成本阈值并且最大步长为10,根据两者之间的最小值,则将选择所确定的缝集合中的5个缝。接着,该5个缝将被用于调整图像的大小以成为调整了大小的图像或第二图像。如果例如需要添加15个缝来调整图像的大小,则过程200 可从第二图像中确定具有低于缝成本阈值的显著性成本的第二缝集合(框 214)。在当前的示例中,5个初始缝和5个复制的缝(总共10个缝)可被确定为低于缝成本阈值的第二缝集合。因此,就最大步长为10并且所确定的缝集合具有10个缝而言,对于两者来说最小值将是10。因此,第一次迭代使用5个缝并且第二次迭代使用10个缝。相应地,每次迭代期间使用的缝的数量可以是自适应的,并且可基于缝成本阈值和最大步长变化。参考图 5F-5H示出并描述了该自适应缝切割过程的示例。
在调整了图像的大小之后,在一些版本中,可确定总的成本值(框218),并且在调整了所选择的内容项的图像大小之后,该总的成本值可被用作评价指标。总的成本值可以是在调整大小的期间添加的和/或从图像移除的缝的显著性成本的和。如果所确定的总的成本值低于最小成本阈值(框220),则调整了大小的图像可被用于调整了大小的图像内容项,该图像内容项可被输出 (框230)以与资源一起被提供。就是说,如果添加的或者从调整了大小的图像移除的缝具有低的像素的显著性分数,则很可能添加的或移除的缝可能没有明显地影响图像的显著内容,因此可使用调整了大小的图像内容项。
如果所确定的总的成本值不低于最小成本阈值,则可在总的成本值和最大阈值之间做出比较(框222)。如果总的成本值高于最大阈值,则可输出替换的图像内容项(框250)(图4B-4C中示出了其示例)、可选择另一个内容项,和/或对所选择的内容项使用其他的调整大小方法。换句话说,如果添加的或从调整了大小的图像移除的缝具有高的像素的显著性分数,或者如果添加了或移除了太多的平均显著性成本的像素,很可能添加或移除的缝可能已经影响了图像的显著内容,因此替换的图像内容项或者不同的图像内容项可能更好。
如果所确定的总的成本值不低于最小成本阈值并且不高于最大阈值,则在添加或移除的缝的总成本与添加或移除的缝和下一缝集合的总成本除以容差参数之间做出比较(框224)。就是说,对于具有总成本Cn的n个缝来说,做出与2n个缝(即n个缝的集合加上下一次的n个缝)的总成本C2n的比较。如果总成本Cn等于或小于2n个缝的总成本C2n除以容差参数t,即则可输出调整了大小的图像内容项(框230)。该容差参数t可被设置为大于或等于2的任何正数。如果容差参数被设置为大的值,如5或10,则可能输出较少的调整了大小的图像,但输出的调整了大小的图像可具有更好的缝切割结果。如果容差参数被设置为接近2,则可能输出更多的调整了大小的图像。在一些实施方式中,可改变容差参数以微调输出的调整了大小的图像。
举例来说,如果使用5个缝,每个缝具有1、1、2、3、4的显著性成本,并且下一次的5个缝的集合中的每个缝具有4、4、4、5、5的显著性成本,则n个缝的总成本Cn为11并且2n个缝的总成本C2n为33。如果为t选择容差参数3,则n个缝的总成本(Cn=11)等于2n个缝的总成本除以容差参数 t,C2n/3=11。因此,这表明在2n个缝之中,第一次的n个缝具有较低的显著性成本,因此调整了大小的图像内容项可能是有用的。如果n个缝的总成本大于2n个缝的总成本除以容差参数,则这可能表明这n个缝对调整图像内容项的大小没有用,并且可输出替换的图像内容项(框250),图4B-4C 中示出了其示例。
在一些实例中,添加和/或移除缝可造成空缺。可使用孔洞填充或图像修复来填充这样的空缺。在一个实施方式中,可通过选择作为周围像素的平均值的颜色来选择像素,以填充调整了大小的图像中的空缺。在其他实施方式中,可通过使用来自附近的最相似区域的像素来填充空缺。
在一些实施方式中,可独立于接收到对内容项的请求来执行过程200。例如,可以为图像内容项离线执行过程200。在从内容提供者115接收到图像内容项时和/或在任何其他时间,可选择一个或多个尺寸并且可使用过程 200针对那些尺寸来调整图像内容项的大小。在一个实施方式中,可由数据处理系统110从内容提供者115接收图像内容项,并且调整大小模块135可具有尺寸集合,其中将针对该尺寸集合调整图像内容项的大小。可针对尺寸集合使用过程200来调整图像内容项的大小并且可在数据库(如内容数据库 140)中存储输出的调整了大小的图像内容项(框230)。相应地,当为具有尺寸集合中的一个尺寸的内容项空档选择了该图像内容项时,可从内容数据库140中选择调整了大小的图像内容项,以提供给该内容项空档。因此,当接收到对内容项的请求时,内容布置系统130可能不需要执行调整大小,从而允许在其他时间执行该处理。
图4A-4C示出了具有图像410的示例的图像内容项400,图像410可具有超过平均阈值的所确定的平均显著性值,并且对于该图像来说,可使用图 4B-4C的替换的图像内容项,而不是使用过程200的缝切割来调整图像410 的大小。返回参考图2的过程200,可通过例如经由内容项拍卖和/或其他方式来选择图像内容项400(框204)。可与缝成本阈值和步长一起接收关于图像内容项400的图像410的数据(框206)。可基于图像410的每个像素的显著性分数来确定图像410的显著性图(框208)。在本示例中,可基于梯度显著性值、颜色空间分布显著性值、文本检测显著性值、面部检测显著性值、标志检测显著性值和背景区域显著性值的加权平均值来为每个像素分配显著性分数。例如,图像410包括与词语“大管道商店”相对应的文本区域412。相应地,所检测到的文本区域412的像素可具有高的文本检测显著性值。此外,基于线和边的数量,图像410的其他区域可具有高的梯度显著性值。作为这些高显著性值的结果,图像410的每个像素的显著性分数可能高。使用该显著性值,可确定每个像素的显著性分数,并且该显著性分数可用于形成类似于图3A中所示的显著性图。
使用图像410的每个像素的显著性分数,可确定图像410的显著性图的平均显著性值(框210)。例如,在本示例中,图像410的所确定的显著性图的平均显著性分数可以是在0(包括0)到255(包括255)的尺度上的值235。如果使用平均阈值220,则所确定的平均显著性分数与平均阈值之间的比较 (框212)将指示所确定的平均显著性分数超过平均阈值。相应地,可输出替换的图像内容项(框250)。图4B-4C示出了这种替换的内容项的示例。
例如,如果其中将显示内容项的内容项空档具有大于内容项的宽度的维度宽度,则可向图像410添加补缺背景422,以填充围绕图像410的空缺。图4B中示出了该替换图像420的示例。类似地,如果其中将显示内容项的内容项空档具有大于内容项的高度的维度高度,则可在图像410之上和/或之下添加补缺背景,以填充围绕图像410的空缺。
例如,如果其中将显示内容项的内容项空档具有小于内容项的宽度的维度宽度,则可以将图像410在大小上按比例缩小为调整了大小的图像432,以符合较小的维度宽度,并且可添加补缺背景434,以填充围绕调整了大小的图像432的空缺。图4C中示出了该替换图像430的示例。类似地,如果其中将显示内容项的内容项空档具有小于内容项的高度的维度高度,则可将图像410在大小上按比例缩小为调整了大小的图像以适合较小的维度高度,并且可添加补缺背景以填充围绕调整了大小的图像的空缺。
图5A-5H示出了具有图像510的图像内容项500的示例,其中已经对该图像应用了自适应缝切割。图5A示出了具有图像510的示例的图像内容项 500,该图像510包括文本512、514、标志516以及背景518。返回参考图2 的过程200,可通过例如经由内容项拍卖和/或其他方式选择图像内容项500 (框204)。可与缝成本阈值和步长一起接收图像内容项500的图像510的数据(框206)。在本示例中,缝成本阈值可以是50并且最大步长可以是5个缝。缝成本阈值和/或步长可以是默认值、内容提供者所选择的值、内容布置系统130所选择的值和/或可通过任何其他方式来确定。
可基于图像510的每个像素的显著性分数来确定图像510的显著性图 (框208)。在本示例中,可基于梯度显著性值、颜色空间分布显著性值、文本检测显著性值、面部检测显著性值、标志检测显著性值和背景区域显著性值的加权平均值来为每个像素分配显著性分数。例如,参考图5B,图像510 包括与文本“播放”、“最近的”、“新”、“电影”、“发行”和“游戏商店”相对应的所检测到的文本区域520。相应地,与所检测到的文本区域520相对应的像素可具有关于那些像素的高文本检测显著性值。
图像510还包括与所检测到的三角形标志516相对应的所检测到的标志区域522。在一些实施方式中,可通过比较图像的像素与标志数据库来检测标志516。与所检测到的标志区域522相对应的像素可具有关于那些像素的高标志检测显著性值。每个像素还可以具有所确定的其他显著性值,例如梯度显著性值、颜色空间分布显著性值、面部检测显著性值和/或背景区域显著性值。可基于显著性值的加权平均值来确定每个像素的显著性分数。接着,该显著性分数可用于创建图像510的显著性图,例如从0(包括0)到255 (包括255)的值的矩阵,该矩阵具有与应用了显著性分数的图像的像素相对应的行和列。该显著性图可与图3A中提供的示例类似。
使用图像510的每个像素的显著性分数,可确定图像510的显著性图的平均显著性值(框210)。例如,在本示例中,图像510的所确定的显著性图的平均显著性分数可以是在0(包括0)到255(包括255)的尺度上的值100。如果使用平均阈值220,则所确定的平均显著性分数与平均阈值之间的比较 (框212)将指示所确定的平均显著性分数低于平均阈值。相应地,使用缝切割来调整图像的大小可能是有用的,并且可继续进行而不是使用替换的图像内容项,如图4B-4C中所示的那些图像内容项。
可对用于缝切割的缝集合做出确定(框214)。可基于在期望的维度上具有穿过图像510的最低显著性成本路径的缝,来选择缝集合。在本示例中,使用缝成本阈值50来限制所确定的缝集合中的缝的数量,使得每个缝具有低于缝成本阈值50的显著性成本。例如,如图5C所示,6个缝530、532、 534、536、538、540已被识别为具有低于缝成本阈值的缝成本。例如,缝 530、532、534、536、538、540的成本可以分别是0、44、10、15、30和 20。由于本示例的最大步长是5,则在缝切割的初始迭代中将仅使用5个最低显著性成本的缝。相应地,将仅使用530、534、536、538和540。
图5D示出了在第一次迭代调整图像的大小(框216)之后,图像内容项500的示例的第二图像550,该第二图像550示出了缝530、534、536、 538和540以及所复制的缝531、535、537、539和541。如果仅需要添加5 个缝来调整图像内容项500的图像510的大小,则过程200可继续确定添加的和/或移除的缝的总的成本值(框218)。如果,例如,需要10个缝来调整图像的大小,则可对针对第二次迭代的缝切割的第二缝集合做出确定(框 214)。例如,使用来自上文的缝成本以及新添加的复制的缝,低于缝成本阈值的缝为缝530、531、532、534、535、536、537、538、539、540和541,其分别具有对应的缝成本0、0、44、10、10、15、15、30、30、20和20。因此,11个缝具有低于缝成本阈值的缝成本。由于步长被限制为5个缝,对于第二次迭代,具有最低缝成本的5个缝可以是530、531、534、535和536 (或537),其分别具有成本0、0、10、10和15。可复制这5个缝以进一步增加图像的大小(框216)。可继续该迭代过程,直到图像的大小已被调整到期望的维度大小。图5E中示出了在数次迭代之后调整了大小的图像560的示例。
在一些实例中,低于缝成本阈值的缝的数量可能小于最大步长。例如,如图5F所示,如果缝成本阈值是18,则仅有分别具有缝成本0、10和15 的缝530、534和536被确定为在低于缝成本阈值的缝集合中(框214)。相应地,所确定的缝集合的缝的数量(本示例中为3)以及步长(本示例中为 5)之中的最小值可以是将在调整大小的缝的集合中使用的缝的数量。因此,对于缝切割的初始迭代,将仅使用3个缝530、534和536,由于所确定的缝集合中的3个缝是所确定的缝集合和步长之间的最小值。
图5G示出了在第一次迭代调整了图像的大小(框216)之后的图像内容项500的示例的第二图像560,该第二图像560示出了缝530、534和536 以及所复制的缝531、535和537。如果仅需要添加3个缝来调整图像内容项 500的图像510的大小,则过程200可继续确定添加的和/或移除的缝的总的成本值(框218)。如果,例如,需要10个缝来调整图像的大小,则可对针对第二次迭代的缝切割的第二缝集合做出确定(框214)。例如,使用来自上文的缝成本以及新添加的复制的缝,低于缝成本阈值的缝为缝530、531、534、 535、536和537,其分别具有对应的缝成本0、0、10、10、15和15。因此, 6个缝具有低于缝成本阈值的缝成本。由于步长被限制为5个缝,对于第二次迭代来说,具有最低缝成本的5个缝可以是530、531、534、535和536 (或537),其分别具有成本0、0、10、10和15。因此,基于缝成本阈值和步长,第二次迭代中使用的缝的数量已从第一次迭代中使用的3个缝增加到 5个缝。可复制该5个缝以进一步增加图像的大小(框216),如图5H中所示的第三图像570。对于需要添加10个缝的本示例来说,因为仅添加了8 (3+5)个缝,所以需要第三次迭代。相应地,可使用两个最低成本的缝来实现扩展该图像的最后两个缝。如果,例如,需要更多缝,则可继续该过程直到图像大小已被调整为期望的维度大小。
图6A-6C、7A-7C以及8A-8C示出了可使用过程200来调整其大小的图像内容项的图像的另外的示例。例如,图6A示出了另一个示例图像内容项的图像600。在该示例中,图像包括可被检测到的面部,使得该面部的像素可具有高面部检测显著性值。此外,可检测到文本“新服务器启动!”和“游戏X”,使得关于该文本的像素可具有高文本检测显著性值。相应地,当为图像 600确定缝时(如图6B中所示的关于调整了大小的图像610的那些缝),不太可能选择面部和文本的像素用于调整大小期间的缝。图6C示出了没有缝的调整了大小的图像610。
图7A示出了另一个示例的图像内容项的另一个图像700。在该示例中,图像700包括可被检测到的标志“M”,使得关于该标志的像素可具有高标志检测显著性值。此外,还可以检测到可被检测到的文本“新煮好的咖啡。”、“6:00AM–9:00AM”和“整个早上出售!”,使得关于该文本的像素可具有高文本检测显著性值。相应的,当为图像700确定缝时(如图7B中所示的关于调整了大小的图像710的那些缝),不太可能选择关于标志和文本的像素用于调整大小期间的缝。图7C示出了没有缝的调整了大小的图像710。
图8A示出了另一个示例的图像内容项的另一个图像800。在该示例中,图像800包括可被检测到的面部,使得关于面部的像素可具有高标志检测显著性值。此外,还可以检测到该图像的文本“发现达芬奇的蒙娜丽莎的较早版本”,使得关于该文本的像素可具有高文本检测显著性值。相应地,当为图像800确定缝时(如在图8B中所示的关于调整了大小的图像810的那些缝),不太可能选择关于面部和文本的像素用于调整大小期间的缝。图8C示出了没有缝的调整了大小的图像810。
尽管已示出和描述了用于增加图像内容项的图像的维度宽度的一些示例的实施方式,但应理解,过程200可用于增加图像内容项的图像的维度高度、减少图像内容项的图像的维度宽度和/或减少图像内容项的图像的维度高度。此外,应理解,图像内容项被用于示例,并且也可以对其他图像和/或其他媒介使用过程200。
图9示出了根据一些实施方式的、可用来实现本文讨论的任何方法或系统的示例性计算机系统900的总体架构。在一些实例中,可将多个计算机系统900用于本文描述的系统100的一个或多个方面。计算机系统900可用于经由网络105提供信息。计算机系统900包括通信地耦合到存储器925的一个或多个处理器920、一个或多个通信接口905、一个或多个输出装置910 (如一个或多个显示单元)以及一个或多个输入装置915。处理器920可作为一部分包含于数据处理器系统110、内容布置系统130、调整大小模块135、资源服务器120、请求装置125和/或内容提供者115。
在计算机系统900中,存储器925可包括任何计算机可读存储介质,并且可存储计算机指令(如用于针对各自的系统实现本文描述的各个功能的处理器可执行指令),以及与其相关的、因此生成的,或者经由通信接口或输入装置(如果存在)接收的任何数据。处理器920可用于执行在存储器925 中存储的指令,并且在这样做时,还可以按照指令的执行,从存储器读取或者向存储器写入处理的和/或生成的各种信息。
计算机系统900的处理器920还可以通信地耦合到通信接口905或者控制通信接口905,以按照指令的执行发送或接收各种信息。例如,通信接口 905可耦合到有线或无线网络、总线或其他通信装置,并且可因此允许计算机系统900将信息发送给其他装置(例如其他计算机系统)和/或从其他装置接收信息。
例如,可提供计算机系统900的输出装置910,以允许与指令的执行相关的查看或以其他方式感知各种信息。例如,可提供输入装置915,以允许用户在指令执行期间做出手动调节、做出选择、输入数据或各种其他信息,或者以多种方式中的任何一种与处理器交互。在本说明书的结论处提供了可用于本文讨论的各种系统的、与总体计算机系统架构相关的额外信息。
可在数字电子电路中、或者在体现在有形介质上的计算机软件、固件或硬件(包括在本说明书中公开的结构和它们的结构等效物)中,或者在它们的一个或多个的组合中实现本说明书中描述的主题和操作的实施方式。可将本说明书中描述的主题的实施方式实现为在计算机存储介质上编码的、用于由数据处理设备执行或者控制数据处理设备的操作的一个或多个计算机程序,即计算机程序指令的一个或多个模块。计算机存储介质可以是或者被包含于计算机可读存储装置、计算机可读存储基底、随机或顺序存取存储器阵列或装置,或者它们的一个或多个的组合。此外,尽管计算机存储介质不是传播信号,但计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个单独组件或媒介(例如多个CD、盘或其他存储装置),或者被包含于其中。
术语“数据处理设备”、“数据处理系统”或“计算装置”涵盖用于处理数据的任何类型的设备、装置和机器,例如包括可编程处理器、计算机、片上系统或者上述中的多个或组合。设备可包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件,设备还可以包括为上述计算机程序创建执行环境的代码,例如,构成处理器固件、协议堆栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或者它们的一个或多个的组合的代码。设备和执行环境可实现各种各样不同的计算模型架构,如web服务、分布式计算和网格计算架构。
可采用任何形式的编程语言来编写计算机程序(又称作程序、软件、软件应用、脚本或代码),包括编译或解释语言、声明或过程语言,并且可采用任何形式来部署计算机程序,包括作为独立程序或者作为模块、组件、子程序、对象或者适于在计算环境中使用的其他单元。计算机程序可以但不是必须与文件系统中的文件相对应。可将程序存储在保持其他程序或数据的文件的部分中(例如在标记语言文档中存储的一个或多个脚本)、专用于上述程序的单个文件中,或者多个相配合文件(例如存储一个或多个模块、子程序或部分代码的多个文件)中。可将计算机程序部署为在一个计算机上执行,或者在位于一个地点或分布在多个地点上、并且由通信网络互联的多个计算机上执行。
适于执行计算机程序的处理器例如包括:通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将接收来自只读存储器或随机存取存储器或者上述两者的指令和数据。用于根据指令来执行动作的处理器,以及用于存储指令和数据的一个或多个存储装置是计算机的必要元件。通常,计算机还会包括一个或多个大容量存储装置用于存储数据,或者被操作地耦合以便接收来自一个或多个大容量存储装置的数据或向其传输数据或者执行上述两者,该大容量存储装置例如是磁盘、磁光盘或光盘。然而,计算机并不必须具有这样的装置。此外,可将计算机嵌入另一装置,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或者移动存储装置(例如,通用串行总线(USB)闪存驱动器)。适于存储计算机程序指令和数据的装置包括所有形式的非易失性存储器、媒介和存储装置,例如包括:半导体存储装置,例如EPROM、EEPROM和闪存存储装置;磁盘,例如内置硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。可由专用逻辑电路来补充处理器或存储器,或者将处理器或存储器并入其中。
为提供与用户的交互,可在具有用于向用户显示信息的显示装置(例如 CRT(阴极射线管)或LCD(液晶显示)监视器),以及键盘和指示装置(例如鼠标或轨迹球)的计算机上实现本说明书中描述的主题的实施例,其中用户可通过键盘和指示装置向计算机提供输入。也可以使用其他类型的装置提供与用户的交互,例如,提供给用户的反馈可以是任何形式的传感反馈,例如视觉反馈、听觉反馈或触觉反馈;以及来自用户的输入可以是以任何形式接收的,包括声学、语音或触觉输入。此外,计算机可通过将文档发送给由用户使用的装置并且从该装置接收文档来与用户交互;例如,通过响应于从用户的客户机装置上的网页浏览器接收的请求向该web浏览器发送网页。
可在计算系统中实现本说明书中描述的主题的实施例,该计算系统包括:后端组件,例如数据服务器;或者包括中间件组件,例如应用服务器;或者包括前端组件,例如具有图形用户接口或网页浏览器的客户机计算机,其中用户可通过图形用户接口或网页浏览器与本说明书中描述的主题的实现进行交互;或者该后端、中间件或前端组件中的一个或多个的任何组合。可通过任何形式或介质的数字数据通信来互联该系统的组件,例如通信网络。通信网络的例子包括局域网(“LAN”)和广域网(“WAN”)、互联网(例如因特网),和对等网络(例如自组对等网络)。
计算系统可包括客户机和服务器。客户机和服务器通常彼此远离,并且典型地,通过通信网络进行交互。由于计算机程序在各自的计算机上运行且彼此之间具有客户机-服务器关系,从而产生了客户机和服务器之间的关系。在一些实施例中,服务器将数据(例如HTML页面)传输到客户机装置(例如用于向与客户机装置交互的用户显示数据,并且接收来自该用户的用户输入)。可在服务器处接收来自客户机装置的、在该客户机装置处生成的数据 (例如用户交互的结果)。
尽管本说明书包括多个具体的实施细节,但不应将这些理解为对任何发明或者可主张的范围的限制,而是应该理解为是针对特定发明的特定实施方式的特征的描述。还可以在单个实施方式中组合实现在本说明书中的不同实施方式的上下文中描述的某些特征。反过来,也可以在多个实施方式中分别地或在任何适当的子组合中实现在单个实施方式的上下文中描述的各个特征。此外,尽管可能在上文中将特征描述为在某些组合中起作用,并且甚至最初是这样主张的,但在某些情况下可将来自所主张的组合的一个或多个特征从该组合中去除,并且可将所主张的组合定向到子组合或子组合的变形。
类似地,尽管在附图中以特定顺序描述了操作,但不应将此理解为要求按照所示的特定顺序或先后顺序来执行该操作,或者要求执行所有的示出的操作,以达到期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,不应将上文描述的实施例中各种系统组件的独立理解为在所有实施例中要求这种独立,并且应该理解为通常能够在单个软件产品中将所描述的程序组件和系统集成到一起,或者将其打包到多个软件产品。
在某些情况下,多任务处理和并行处理可能是有利的。此外,上文描述的实施方式中的各个系统组件的分离不应被理解为在所有的实施方式中都要求这种分离,并且应理解,一般可在体现在有形介质上的单个软件产品中将所描述的程序组件和系统集成到一起,或者将其封装到多个这样的软件产品内。
本文使用的措辞和术语是用于描述的目的的,并且不应该被看成是限制。本文中使用的“包括”、“由组成”、“具有”、“包含”、“涉及”、“特征是”、“特征在于”及其变型,意在涵盖其后面列举的项目、其等同和额外项目,以及由其后面列举的项目排他地组成的替换的实施方法。在一个实施方式中,本文描述的系统和方法由所描述的元素、行为或组件中的一个、每个多于一个的组合或者全部组成。
对本文提及的系统和方法的实现方式或者元素或行为的任何单数形式的引用还可以涵盖包括这些元素中的数个元素的实施方式,并且对本文的任何实施方式或者元素或行为的任何复数形式的引用还可以涵盖仅包括单个元素的实施方式。采用单数或复数形式的引用并不意在将当前公开的系统或方法、它们的组件、行为或元素限制为单个或多个配置。基于任何信息、行为或元素的对任何行为或元素的引用可包括其中行为或元素至少部分基于任何信息、行为或元素的实施方式。
可将本文公开的任何实施方式与任何其他实施方式或实施例相结合,并且对“实施方式”、“一些实施方式”、“替换的实施方式”、“各种实施方式”、“一个实施方式”等的引用不一定是互相排斥的,并且意在指示结合实施方式描述的特定的特征、结构或特性可包含在至少一个实施方式或实施例中。本文使用的这些术语不一定都指相同的实施方式。可采用与本文公开的方面和实施方式一致的任何方式,将任何实施方式包含地或者排他地与任何其他实施方式相结合。
对“或”的引用可被解释为包含的,使得使用“或”描述的任何术语可指示所描述的术语中的一个、多于一个或全部中的任何一种情况。
当附图、具体实施方式或者任何权利要求中的技术特征后面跟有参考符号时,包括该参考符号仅用于增加附图、具体实施方式和权利要求的可理解性。相应地,包括参考符号和缺乏参考符号都不会对任何权利要求元素的范围有任何限制作用。
可采用其他特定的形式来体现本文描述的系统和方法而不背离其特征。前述实施方式是示例性的,而不是对所描述的系统和方法进行限制。因此,由所附权利要求而不是前述的说明书指示本文描述的系统和方法的范围,并且其中涵盖了在权利要求的等同的含义和范围内的变化。

Claims (20)

1.一种用于调整图像大小的方法,包括:
在数据处理器处接收关于图像的数据、缝成本阈值和步长;
使用所述数据处理器基于所述关于图像的数据为所述图像确定显著性图;
使用所述数据处理器基于所确定的显著性图为所述图像确定第一缝集合,其中,所述第一缝集合中的每个缝具有低于所述缝成本阈值的显著性成本;
基于第一调整大小的缝的集合调整所述图像的大小以生成第二图像,其中,所述第一调整大小的缝的集合包括缝,该缝具有与所述第一缝集合的缝的数量和所述步长中的最小值相等的数量;
使用所述数据处理器为所述第二图像确定第二缝集合,其中,所述第二缝集合中的每个缝具有低于所述缝成本阈值的显著性成本;
基于第二调整大小的缝的集合调整所述第二图像的大小以生成调整了大小的图像,其中,所述第二调整大小的缝的集合包括缝,该缝具有与所述第二缝集合的缝的数量和所述步长中的最小值相等的数量;以及
输出显示数据以完成所述调整了大小的图像的显示。
2.根据权利要求1所述的方法,还包括:
使用所述数据处理器为所述显著性图确定平均显著性值;
其中,如果所述平均显著性值低于平均阈值则调整所述图像的大小。
3.根据权利要求2所述的方法,还包括:
如果所述平均显著性值高于所述平均阈值则输出替换的图像。
4.根据权利要求1所述的方法,还包括:
使用所述数据处理器,为所述第一调整大小的缝的集合和所述第二调整大小的缝的集合确定总的成本值;
其中,如果所述总的成本值低于最小成本阈值则输出用于完成所述调整了大小的图像的显示的显示数据,并且如果所述总的成本值高于最大成本阈值则不输出该显示数据。
5.根据权利要求4所述的方法,还包括:
如果所述总的成本值高于所述最大成本阈值则输出替换的图像。
6.根据权利要求1所述的方法,其中,所述显著性图包括所述图像的每个像素的显著性分数,其中,所述显著性分数基于:
梯度显著性值,
颜色空间分布显著性值,以及
文本检测显著性值。
7.根据权利要求6所述的方法,其中,每个像素的显著性分数还基于面部检测显著性值。
8.根据权利要求7所述的方法,其中,每个像素的显著性分数是梯度显著性值、颜色空间分布显著性值、面部检测显著性值和文本检测显著性值的加权平均值。
9.根据权利要求6所述的方法,其中,每个像素的显著性分数还基于标志检测显著性值。
10.根据权利要求6所述的方法,其中,每个像素的显著性分数还基于背景区域显著性值。
11.根据权利要求1所述的方法,其中,所述图像包括第三方内容项,其中,所述显示数据被输出到请求装置。
12.一种存储指令的计算机可读存储装置,当由数据处理器执行该指令时,使得所述数据处理器执行操作,所述操作包括:
从请求装置接收对于将与资源一起显示的内容项的请求;
选择包括具有多个像素的图像的内容项;
为所述图像的多个像素中的每个像素确定显著性分数,其中,每个像素的显著性分数基于:
梯度显著性值,
颜色空间分布显著性值,以及
标志检测显著性值;
基于所确定的显著性分数为所述图像确定平均显著性值;
如果所述平均显著性值低于平均阈值,则基于所确定的显著性分数为所述图像确定第一缝集合;
基于所述第一缝集合调整所述图像的大小;
为所述第一缝集合确定总的成本值;以及
如果所述总的成本值低于最小成本阈值,则输出显示数据以完成将调整了大小的图像显示为内容项。
13.根据权利要求12所述的计算机可读存储装置,还包括当由所述数据处理器执行时,使得所述数据处理器执行以下操作的指令:
如果所述平均显著性值高于所述平均阈值或者所述总的成本值高于最大成本阈值,则输出替换的图像。
14.根据权利要求12所述的计算机可读存储装置,其中,确定第一缝集合的操作包括:
使用所述数据处理器确定低于缝成本阈值的缝的数量;以及
为所述第一缝集合选择与所确定的低于所述缝成本阈值的缝的数量和步长中的最小值相等的缝。
15.根据权利要求12所述的计算机可读存储装置,其中,基于所述第一缝集合调整所述图像的大小的操作生成第二图像,还包括当由所述数据处理器执行时,使得所述数据处理器执行以下操作的指令:
为所述第二图像确定第二缝集合;以及
使用所述第二缝集合调整所述图像的大小。
16.根据权利要求12所述的计算机可读存储装置,其中,每个像素的显著性分数还基于面部检测显著性值。
17.根据权利要求16所述的计算机可读存储装置,其中,每个像素的显著性分数是梯度显著性值、颜色空间分布显著性值、面部检测显著性值和标志检测显著性值的加权平均值。
18.根据权利要求12所述的计算机可读存储装置,其中,每个像素的显著性分数还基于文本检测显著性值。
19.一种用于调整第三方内容提供者的图像内容项的大小的系统,所述系统包括:
数据处理器;以及
存储指令的计算机可读存储装置,当由所述数据处理器执行该指令时使得所述数据处理器执行操作,所述操作包括:
接收关于具有多个像素的图像的数据、缝成本阈值和步长;
为所述图像确定显著性图,其中,所述显著性图包括所述图像的多个像素中的每个像素的显著性分数;
基于所确定的显著性分数为所述图像确定平均显著性值;
如果所述平均显著性值低于平均阈值,则基于所确定的显著性分数为所述图像确定第一缝集合,其中,所述第一缝集合中的每个缝具有低于所述缝成本阈值的显著性成本;
基于第一调整大小的缝的集合调整所述图像的大小以生成第二图像,其中,所述第一调整大小的缝的集合包括缝,该缝具有与所确定的第一缝集合的缝的数量和所述步长中的最小值相等的数量;
为所述第二图像确定第二缝集合;
基于所述第二缝集合调整所述第二图像的大小,以生成调整了大小的图像;以及
输出显示数据以完成所述调整了大小的图像的显示。
20.根据权利要求19所述的系统,其中,每个像素的显著性分数基于:
梯度显著性值,
文本检测显著性值,
标志检测显著性值,以及
面部检测显著性值;
其中,每个像素的显著性分数是梯度显著性值、文本检测显著性值、标志检测显著性值和面部检测显著性值的加权平均值。
CN201380073182.9A 2013-01-24 2013-11-20 用于调整图像大小的系统和方法 Active CN104995657B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/749,564 US8873887B2 (en) 2013-01-24 2013-01-24 Systems and methods for resizing an image
US13/749564 2013-01-24
PCT/US2013/070988 WO2014116346A1 (en) 2013-01-24 2013-11-20 Systems and methods for resizing an image

Publications (2)

Publication Number Publication Date
CN104995657A CN104995657A (zh) 2015-10-21
CN104995657B true CN104995657B (zh) 2018-10-12

Family

ID=51207728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380073182.9A Active CN104995657B (zh) 2013-01-24 2013-11-20 用于调整图像大小的系统和方法

Country Status (5)

Country Link
US (2) US8873887B2 (zh)
EP (1) EP2948919B1 (zh)
JP (1) JP6266656B2 (zh)
CN (1) CN104995657B (zh)
WO (1) WO2014116346A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6089886B2 (ja) * 2013-03-29 2017-03-08 オムロン株式会社 領域分割方法および検査装置
CN104318514B (zh) * 2014-10-17 2017-05-17 合肥工业大学 基于三维显著度的图像扭曲方法
US10002451B2 (en) * 2015-01-15 2018-06-19 Qualcomm Incorporated Text-based image resizing
US10262229B1 (en) * 2015-03-24 2019-04-16 Hrl Laboratories, Llc Wide-area salient object detection architecture for low power hardware platforms
US10503999B2 (en) 2015-03-24 2019-12-10 Hrl Laboratories, Llc System for detecting salient objects in images
EP3281176A1 (en) * 2015-04-08 2018-02-14 Google LLC Image editing and repair
US9805269B2 (en) * 2015-11-20 2017-10-31 Adobe Systems Incorporated Techniques for enhancing content memorability of user generated video content
CN106803234B (zh) * 2015-11-26 2020-06-16 腾讯科技(深圳)有限公司 图片编辑中的图片显示控制方法及装置
US10293622B2 (en) * 2016-10-25 2019-05-21 Memjet Technology Limited Method of minimizing stitching artifacts for overlapping printhead segments
JP6756406B2 (ja) * 2016-11-30 2020-09-16 日本電気株式会社 画像処理装置、画像処理方法および画像処理プログラム
US10692187B2 (en) * 2017-04-16 2020-06-23 Facebook, Inc. Systems and methods for presenting content
US10311913B1 (en) 2018-02-22 2019-06-04 Adobe Inc. Summarizing video content based on memorability of the video content
US10775977B2 (en) * 2019-01-25 2020-09-15 Google Llc Image display with selective depiction of motion
US12028206B2 (en) 2019-07-19 2024-07-02 Nokia Solutions And Networks Oy Mechanism for reducing logging entries based on content
CN110738598A (zh) * 2019-08-28 2020-01-31 咪咕文化科技有限公司 图像适配方法、电子设备及存储介质
US20220020113A1 (en) * 2020-07-15 2022-01-20 Instasize, Inc. Image resizing using seam carving
US11443420B2 (en) * 2020-12-28 2022-09-13 Applied Materials Israel Ltd. Generating a metrology recipe usable for examination of a semiconductor specimen
EP4318377A1 (en) * 2021-05-24 2024-02-07 Samsung Electronics Co., Ltd. Image processing device and operating method therefor
CN114782682B (zh) * 2022-06-20 2022-09-06 西安道法数器信息科技有限公司 基于神经网络的农业害虫图像智能识别方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101981592A (zh) * 2007-11-30 2011-02-23 三菱电机株式会社 图像和视频的内容感知大小调整

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895552B1 (en) * 2000-05-31 2005-05-17 Ricoh Co., Ltd. Method and an apparatus for visual summarization of documents
US7787664B2 (en) 2006-03-29 2010-08-31 Eastman Kodak Company Recomposing photographs from multiple frames
US20080253685A1 (en) 2007-02-23 2008-10-16 Intellivision Technologies Corporation Image and video stitching and viewing method and system
US7747107B2 (en) * 2007-03-06 2010-06-29 Mitsubishi Electric Research Laboratories, Inc. Method for retargeting images
US20090003712A1 (en) 2007-06-28 2009-01-01 Microsoft Corporation Video Collage Presentation
GB0805493D0 (en) * 2008-03-26 2008-04-30 Sun Chemical Bv A jet ink and ink jet printing process
US8134578B2 (en) * 2008-07-17 2012-03-13 Xerox Corporation Hybrid importance maps for content aware digital image resizing
US8270766B1 (en) 2008-07-31 2012-09-18 Adobe Systems Incorporated Hybrid seam carving and scaling of images with configurable carving tolerance
US8280191B1 (en) * 2008-07-31 2012-10-02 Abode Systems Incorporated Banded seam carving of images with pyramidal retargeting
US8270765B1 (en) * 2008-07-31 2012-09-18 Adobe Systems Incorporated Hybrid seam carving and scaling of images with configurable energy threshold
US8290300B2 (en) * 2008-07-31 2012-10-16 Adobe Systems Incorporated Seam-based reduction and expansion of images with color-weighted priority
WO2010050911A1 (en) 2008-10-29 2010-05-06 Thomson Licensing Method and system for image resizing based on interpolation enhanced seam operations
US8374462B2 (en) 2008-11-14 2013-02-12 Seiko Epson Corporation Content-aware image and video resizing by anchor point sampling and mapping
US8270771B2 (en) * 2008-12-09 2012-09-18 Xerox Corporation Iterative selection of pixel paths for content aware image resizing
US7873211B1 (en) 2009-01-16 2011-01-18 Google Inc. Content-aware video resizing using discontinuous seam carving
US8290297B2 (en) * 2009-01-20 2012-10-16 Mitsubishi Electric Research Laboratories, Inc. Method for editing images and videos
US8274533B2 (en) 2009-02-12 2012-09-25 Xerox Corporation Resizing a digital document image via background content removal
US8963960B2 (en) * 2009-05-20 2015-02-24 Adobe Systems Incorporated System and method for content aware hybrid cropping and seam carving of images
KR20120049245A (ko) * 2009-07-06 2012-05-16 코닌클리케 필립스 일렉트로닉스 엔.브이. 오버레이 그래픽을 갖는 이미지의 리타겟팅
RU2012107416A (ru) * 2009-07-30 2013-09-10 ТП Вижн Холдинг Б.В. Распределенный перенос изображения
US8213745B2 (en) * 2009-10-09 2012-07-03 Eastman Kodak Company Seam carving for image resizing
US8184928B2 (en) 2009-10-20 2012-05-22 Eastman Kodak Company Combining seam carving an image resizing
US9082203B2 (en) * 2009-12-10 2015-07-14 Harris Corporation Image processing system for image resizing based upon operational feedback parameters and related methods
US8483513B2 (en) 2010-01-22 2013-07-09 Corel Corporation, Inc. Method of content aware image resizing
US8494302B2 (en) * 2010-11-11 2013-07-23 Seiko Epson Corporation Importance filtering for image retargeting
US8792744B2 (en) * 2011-10-03 2014-07-29 Board Of Trustees Of Michigan State University Generalized multiscale seam carving framework
US8929615B2 (en) * 2011-11-03 2015-01-06 Facebook, Inc. Feature-extraction-based image scoring
WO2013112064A1 (en) * 2012-01-25 2013-08-01 Intel Corporation Content-aware image resizing using superpixels
US9042648B2 (en) * 2012-02-23 2015-05-26 Microsoft Technology Licensing, Llc Salient object segmentation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101981592A (zh) * 2007-11-30 2011-02-23 三菱电机株式会社 图像和视频的内容感知大小调整

Also Published As

Publication number Publication date
US20150036947A1 (en) 2015-02-05
EP2948919B1 (en) 2019-01-16
US20140205206A1 (en) 2014-07-24
WO2014116346A1 (en) 2014-07-31
EP2948919A4 (en) 2016-12-07
US8873887B2 (en) 2014-10-28
CN104995657A (zh) 2015-10-21
US9424479B2 (en) 2016-08-23
JP2016506000A (ja) 2016-02-25
EP2948919A1 (en) 2015-12-02
JP6266656B2 (ja) 2018-01-24

Similar Documents

Publication Publication Date Title
CN104995657B (zh) 用于调整图像大小的系统和方法
CN109670558B (zh) 使用深度学习的数字图像完成
US10311572B2 (en) Reducing latency in presenting map interfaces at client devices
CN110009721A (zh) 生成由曲线表示的图像的三角网格
US9262853B2 (en) Virtual scene generation based on imagery
US10762669B2 (en) Colorization of vector images
US11605168B2 (en) Learning copy space using regression and segmentation neural networks
EP2996086A1 (en) System, method and computer program product for automatic optimization of 3d textured models for network transfer and real-time rendering
US11200645B2 (en) Previewing a content-aware fill
WO2013055914A2 (en) Systems and methods for creating texture exemplars
CN106202089B (zh) 一种确定图片质量和网页展示的方法及设备
KR102553146B1 (ko) 영상 처리 장치 및 그 동작방법
CN110059066A (zh) spark结合tensorflow进行遥感影像信息提取的方法
CN107918936A (zh) 使用标签跟踪用于分块匹配算法的高频偏移
JP7267068B2 (ja) 学習済みモデル生成装置、プログラム及び学習済みモデル生成システム
US11163504B2 (en) Dividing a spanning region of adjacent sub-images to generate print data
US11429662B2 (en) Material search system for visual, structural, and semantic search using machine learning
US20210295423A1 (en) Automatic clustering and mapping of user generated content with curated content
US10586311B2 (en) Patch validity test
JP5080297B2 (ja) 画像表示装置
KR102594173B1 (ko) 타임 시리즈 데이터 예측을 위한 학습 이미지를 생성하는 방법 및 장치
JP2024039974A (ja) レイアウト支援システム、レイアウト支援装置、情報蓄積装置、レイアウト支援方法、およびレイアウト支援プログラム
KR20240096365A (ko) 다수의 사용자가 뉴럴 래디언스 필드 모델을 생성하고 사용할 수 있는 플랫폼
CN117312416A (zh) 交易展示方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant