覆盖内容的可见性的测量的制作方法

文档序号:15884373发布日期:2018-11-09 18:34阅读:143来源:国知局
覆盖内容的可见性的测量的制作方法

客户端设备能够渲染网页用于在客户端设备的监测器或屏幕上的显示。客户端设备通常仅在监测器的有限显示区域中显示渲染的网页的部分。网页可能包含一个或多个嵌套元素或框架,诸如视频播放器。视频播放器可能不时地在视频的部分之上显示覆盖内容。在某些情况下,可能期望测量客户端设备是否已经在监测器上显示了覆盖内容项目。



技术实现要素:

至少一个方面针对用于检测计算机显示器中的嵌套框架内的内容的位置的系统。系统能够包括由客户端设备的处理器运行的页面渲染器和由客户端设备的处理器运行并且与页面渲染器通信的元素渲染器。页面渲染器能够被配置为渲染包括客户端设备上的视频块的网页,确定视频块相对于网页的位置,确定客户端设备的视口(viewport)中可见的网页的部分,基于视频块的位置和视口中可见的网页的部分来计算视口中可见的视频块的部分,并将识别视口中可见的视频块的部分的数据递送到元素渲染器。元素渲染器能够被配置为从页面渲染器接收识别视口中可见的视频块的部分的数据,确定覆盖内容项目相对于视频块的位置,通过比较覆盖内容项目的位置和视口中可见的视频块的部分计算视口中可见的覆盖内容项目的部分,以及将视口中可见的覆盖内容项目的部分的识别和时间戳发送到远程服务器以用于记录覆盖内容项目可见性的识别。

在一些实施方式中,视频块能够主持(host)沉浸式视频。在这样的实施方式中,元素渲染器能够被配置为确定覆盖内容项目相对于沉浸式视频的位置,确定视频块中可见的沉浸式视频的部分,以及通过比较覆盖内容项目相对于沉浸式视频的位置、视频块中可见的沉浸式视频的部分、和视口中可见的视频块的部分计算视口中可见的覆盖内容项目的部分。

在一些实施方式中,页面渲染器能够被配置为生成第一识别符并将其发送到远程服务器,并且元素渲染器被配置为生成第二识别符并将其发送到远程服务器,远程服务器基于匹配第一识别符和第二识别符组合来自页面渲染器和元素渲染器的可见性数据。

在一些实施方式中,页面渲染器和元素渲染器能够运行使每个能够识别另一个的指令。

在一些实施方式中,远程服务器能够取决于覆盖内容项目可见性的测量值将可见性事件分类为多个预定分类之一。

在一些实施方式中,如果覆盖内容项目可见性的测量值超过预定阈值,则远程服务器能够记录覆盖内容项目视图。

在一些实施方式中,系统能够包括由处理器运行的可见性计算器,可见性计算器被配置为基于视口中可见的覆盖内容项目的部分计算可见性范围。

在一些实施方式中,系统能够包括被配置为记录页面的外部相对于视口的位置的本地存储设备。

在一些实施方式中,系统能够包括由处理器运行的页面通信器,页面通信器被配置为在页面渲染器与元素渲染器之间通信数据。

在一些实施方式中,系统能够包括外部通信器,外部通信器被配置为向远程服务器发送识别视口中可见的覆盖内容项目的部分的数据和时间戳。

至少一个方面针对检测计算机显示器中的嵌套框架内的内容的位置的方法。方法能够包括由由客户端设备的处理器运行的页面渲染器渲染包括视频块的网页。方法能够包括由页面渲染器确定视频块相对于网页的位置。方法能够包括由页面渲染器确定客户端设备的视口中可见的网页的部分。方法能够包括由页面渲染器基于视频块的位置和视口中可见的网页的部分计算视口中可见的视频块的部分。方法能够包括由页面渲染器向由客户端设备的处理器运行的元素渲染器递送识别视口中可见的视频块的部分的数据。方法能够包括由元素渲染器从页面渲染器接收识别视口中可见的视频块的部分的数据。方法能够包括由元素渲染器确定覆盖内容项目相对于视频块的位置。方法能够包括由元素渲染器通过比较覆盖内容项目的位置和视口中可见的视频块的部分计算视口中可见的覆盖内容项目的部分。方法能够包括由元素渲染器将视口中可见的覆盖内容项目的部分的识别和时间戳发送到远程服务器以用于记录覆盖内容项目可见性的识别。

在一些实施方式中,视频块能够主持沉浸式视频。在这样的实施方式中,方法能够包括由元素渲染器确定覆盖内容项目相对于沉浸式视频的位置。方法能够包括由元素渲染器确定视频块中可见的沉浸式视频的部分。方法能够包括由元素渲染器通过比较覆盖内容项目相对于沉浸式视频的位置、视频块中可见的沉浸式视频的部分、和视口中可见的视频块的部分计算视口中可见的覆盖内容项目的部分。

在一些实施方式中,方法能够包括由页面渲染器生成第一识别符并将其发送到远程服务器;并且由元素渲染器生成第二识别符并将其发送到远程服务器,远程服务器基于匹配第一识别符和第二识别符组合来自页面渲染器和元素渲染器的可见性数据。

在一些实施方式中,方法能够包括由由处理器运行的可见性计算器基于视口中可见的覆盖内容项目的部分计算可见性范围。

在一些实施方式中,方法能够包括由客户端设备的本地存储设备记录页面的外部相对于视口的位置。

在一些实施方式中,方法能够包括由由处理器运行的页面通信器在页面渲染器与元素渲染器之间通信数据。

在一些实施方式中,方法能够包括由由处理器运行的外部通信器将识别视口中可见的覆盖内容项目的部分的数据和时间戳发送到远程服务器。

以下详细讨论这些以及其它方面和实施方式。前述信息和以下详细描述包括各种方面和实施方式的说明性示例,并且提供用于理解所要求保护的方面和实施方式的性质和特征的概述或框架。附图提供了各种方面和实施方式的说明和进一步理解,并且被合并在本说明书中并组成其部分。

附图说明

附图不旨在按比例绘制。在各种附图中相同的参考标号和标记表示相同的元素。为了清楚的目的,并非每个组件都可以在每个附图中标注。在附图中:

图1是根据说明性实施方式描绘用于覆盖内容的可见性的测量的示例环境的框图;

图2是根据说明性实施方式的网页元素相关于客户端设备的视口的布局的示例表示;

图3是根据说明性实施方式的网页元素相关于客户端设备的视口的布局的示例表示;

图4是根据说明性实施方式的网页元素相关于客户端设备的视口的布局的示例表示;

图5是根据说明性实施方式的网页元素相关于客户端设备的视口的布局的示例表示;

图6是根据说明性实施方式的网页元素相关于客户端设备的视口的布局的示例表示;

图7是示出根据说明性实施方式的测量覆盖内容的可见性的示例方法的流程图;

图8是示出根据说明性实施方式的可用于实施本文中所描述和说明的系统和方法的元素的计算机系统的通用架构的框图。

具体实施方式

本公开一般针对测量计算设备的显示器中的覆盖内容的可见性的系统和方法。覆盖内容能够包括第三方内容,诸如在第一方内容(诸如嵌入式视频)之上显示的图像或视频。嵌入式视频能够显示在由计算设备渲染的网页中的视频播放器或视频块内。计算设备的显示器中可见的渲染的网页的部分能够被称为视口。测量覆盖内容项目是否在视口中可见能够向网页的发布者、覆盖内容的提供者、以及其他人提供有用的信息。然而,测量可见性会带来技术挑战,挑战源于覆盖内容、嵌入式视频、视频播放器、和网页相对于视口的相对位置。本公开描述了克服这些技术挑战的、用于测量可见性的技术。

因为用户对视频内容的高度参与,所以视频内容能够提供用于显示第三方内容的良好平台。第三方内容能够以包括内联内容和覆盖内容的若干格式与第一方内容(例如,主持的视频)一起显示。内联内容能够以类似于传统电视广播期间显示的新闻快讯、紧急广播、或商业广告的方式代替视频内容显示有限的时间段。覆盖内容能够显示在视频内容的顶上。覆盖内容能够包括画中画视频、弹出式通知、或横幅广告。

在一些情况下,可能期望测量客户端设备的视口中的覆盖内容的可见性。然而,因为覆盖内容典型地被传递到埋在跨域内框架(iframe)中的客户端设备,所以难以检测渲染的覆盖内容是否已经实际上在客户端设备的显示器上可见。以下示例能够说明测量第三方内容的可见性的技术挑战。内容发布者能够向客户端设备提供网页或其它在线资源。网页能够包括嵌入式视频播放器或视频块。视频主机可以提供用于视频块中的显示的视频内容。视频内容可以具有或可以不具有与视频块相同的宽高比。如果视频内容的宽高比与视频块不同,则视频块可以包括视频内容以上和以下或任一侧的空或“死空间。作为结果,即使整个视频块不是可见的,整个视频也可能在显示器中可见。因此,内容发布者可能不能够完全准确地确定整个视频是否在显示器中可见。通过扩展,内容发布者可能不能够准确地确定内联内容的可见性,内联内容可能具有不同于视频块和主要视频内容两者的宽高比。在内联内容的情况下,然而,内容发布计算设备能够实现妥协,由此所有主要视频内容和内联内容都集中在视频块中。那样,内容发布者能够应用50%标准:如果视频块的50%在显示器中可见,则那么内联内容或主持的视频的50%可见。50%标准与主持的视频和内联内容的各自宽高比无关。

然而,覆盖内容的可见性可能更难以测量。除了由内联内容展现的死空间问题外,覆盖内容能够从视频内容的中心偏移。这可能导致覆盖内容大部分可见而视频内容的大部分不可见的情形,并且反之亦然。因此,应用于内联内容的50%标准不可以提供覆盖内容可见性的有用测量。因此,核心技术问题是覆盖内容显示在嵌套内框架(iframe)中,并且内部内框架不能确定其相比于显示视口的剩余的状况(estate)。覆盖内容可见性的传统实施方式不考虑覆盖内容本身是否可见,而是考虑整个视频块是否可见。这导致一些边缘情况产生错误的正和错误的负。当覆盖内容不可见时会出现错误的正,但会被记录为好像它是;例如,其中视频块的大部分是可见的,但是覆盖内容的视频块的下部是不可见的。当覆盖内容可见时会出现错误的负,但会被记录为好像它不是;例如,当覆盖内容可见时,但是视频块的大部分滚出显示器。沉浸式视频,也称为“360视频”,能够展现额外的挑战,因为覆盖内容能够位于视频块中当前未显示的沉浸式视频的区域;也就是说,覆盖内容能够位于视频块之外以及视口之外。

以下公开因此展现提供测量的实施例,包括但不限于:

·视频播放器内覆盖内容的可见性测量。

·具有比视频播放器低的分辨率的视频的可见性测量。

·画中画内容的可见性测量。

·沉浸式视频内覆盖内容的可见性测量。

用于测量覆盖内容的可见性的系统可以包括若干组件。(1)页面渲染组件,其能够识别视频块相对于在客户端设备上渲染的网页的位置,识别客户端设备的视口中可见的网页的部分,识别视口中可见的视频块的部分,并将识别视口中可见的视频块的部分的数据递送到内部元素。(2)元素渲染组件,其能够接收数据,识别覆盖内容项目相对于视频块的位置,比较内部元素的位置与视口中可见的视频块的部分以确定视口中可见的内部元素的部分,确定内部元素是否满足可见性阈值,并向记录服务器提供可见性数据。在生成置于沉浸式视频中的覆盖内容的可见性数据的实施例中,元素渲染组件能够识别视频块中可见的沉浸式视频的部分。(3)记录服务器,其能够记录和使用可视性测量数据。

因此,本公开的实施例能够解决与测量在具有有限视口的客户端设备上渲染的网页上的视频块中展现的主持的视频中覆盖内容的可见性相关联的技术问题。

图1是描绘根据说明性实施方式的用于覆盖内容的可见性的测量的示例环境100的框图。环境100能够包括若干计算设备,该若干计算设备包括内容发布者150、视频主机155、内容提供者160、以及经由网络105与一个或多个客户端设备110接口连接的记录服务器165。内容发布者150、视频主机155、内容提供者160、和记录服务器165中的每一个能够包括单独的计算机或服务器、或多个计算机或服务器。在后一种情况下,多个计算机或服务器能够一起驻留(reside)在单个定位(诸如数据中心)中,或跨越多个数据中心延展。在一些实施方式中,内容发布者150、视频主机155、内容提供者160、和记录服务器165的功能能够组合在单个计算系统中;例如,在一些实施方式中,内容发布者150和视频主机155的功能能够由单个共享服务器或数据中心执行。

内容发布者150能够发布包括诸如网站和其它在线文档的在线资源的主要内容,用于由客户端设备110查看和使用。内容发布者150能够在网页中为各种内容提供空间或内框架。例如,网页能够包括用于嵌入流视频的视频块。视频主机155能够提供用于视频块中的显示的流视频。客户端设备110能够从内容发布者150请求主要内容,并且使用浏览器应用渲染用于显示的主要内容。为了检索用于网页的视频块中的显示的视频内容,客户端设备110能够向内容发布者150或视频主机155传送请求。客户端设备110能够响应于请求接收用于视频块中的显示的视频内容。

视频主机155能够提供用于网页的视频块中的显示的流视频。视频主机155能够接收由包括私人或商业或非营利组织的各种实体上传的视频内容。视频主机155能够存储上传的视频并将它们按照命令流到各种站点。视频主机155能够主持其自己的用于显示视频的网站,并且能够额外地向其它独立网站(诸如由内容发布者150提供的那些网站)提供流视频。视频主机155能够经由嵌入式视频播放器、视频块、或由内容发布者150提供的网页中渲染的插件提供视频内容。

内容提供者160能够提供用于与嵌入式视频一起显示的内容项目。内容项目能够包括内联内容和覆盖内容。内联内容能够以与类似于传统电视广播期间显示的新闻快讯、紧急广播、或商业广告的方式代替主持的视频显示有限的时间段。覆盖内容能够显示在嵌入式视频的顶上。覆盖内容能够包括任何合适的内容,诸如画中画视频、弹出式通知、或横幅广告。内容提供者160可以不直接将内容项目提供到客户端设备110。相反,内容提供者160可以将内容项目提供到内容项目分布网络。内容项目分布网络可以从许多不同的内容提供者160接收内容项目。内容项目分布网络可以向许多不同的客户端设备110提供内容项目。内容项目分布网络可以响应于每个请求执行选择过程以确定要提供哪个内容项目。选择过程可以考虑请求、内容项目、嵌入式视频、和其中将显示内容项目的网页的各种特征。在一些实施方式中,内容发布者150、视频主机155、内容提供者160、和记录服务器165的功能能够组合在单个计算系统中;例如,在一些实施方式中,内容发布者150和视频主机155的功能能够由单个共享服务器或数据中心执行。

客户端设备110能够请求并渲染经由网络105接收的网页。网络105能够包括任何计算机网络,包括互联网、广域网、局域网、或移动数据网络。客户端设备110能够包括终端用户计算设备,诸如台式计算机、膝上型计算机、或诸如智能电话或平板电脑的移动计算设备。客户端设备110能够从内容发布者150请求网页。内容发布者150能够返回用于由客户端设备110渲染的网页。网页能够包括用于嵌入式视频的显示的视频块。网页当被渲染时可以引起客户端设备110向视频主机155发送请求以提供用于视频块的视频内容。网页可以额外地引起客户端设备110向内容提供者160发送对与视频内容一起显示的内容项目的请求。客户端设备110能够渲染视频块中的内容项目。

客户端设备110能够包括用于执行系统的操作的若干组件,其中该系统包括页面渲染器120、元素渲染器125、可见性计算器130、页面通信器135、外部通信器140、和存储器145。系统的每个组件可以体现在客户端设备110的硬件、由客户端设备110的处理器运行的软件、或其组合中。

页面渲染器120能够渲染客户端计算设备110上的网页。网页能够包括用于将流视频嵌入到网页中的视频块。渲染的网页的部分或全部能够出现在客户端设备110的视口中。视口表示在客户端设备110的显示器上可见的渲染的内容的范围。页面渲染器120能够确定视频块相对于网页的位置。例如,页面渲染器120能够确定视频块的左上角相关于网页的左上角的x-y坐标中的位置。页面渲染器120能够识别客户端设备的视口中可见的网页的部分。在一些实施方式中,可以通过查询客户端设备或操作系统的显示引擎,或者通过经由浏览器的api查询网络浏览器来完成这些中的任一或两者。例如,在一个这样的实施方式中,页面渲染器可以基于页面渲染指令(例如,html、javascript、xml、样式表等)确定视频块在渲染时处于页面内的指定x-y位置。在相似的实施方式中,页面渲染器可以从网页浏览器请求页面内的视频块的x-y位置或坐标(例如,从40,120到100,220的矩形,指示宽度为60像素并且高度为100像素的块)。页面渲染器也可以从浏览器请求视口的x-y坐标(例如,从0,0到140,180的矩形,指示宽度为140像素并且高度为180像素的视口)。页面渲染器120能够基于视频块的位置和在视口中可见的网页的部分来计算在视口中可见的视频块的部分,诸如通过从另一个减去一组坐标或者确定两组坐标之间的碰撞程度。例如,给定以上坐标,页面渲染器120可以通过计算视频块与视口的坐标之间的差异来确定从40,120到100,180的视频块的顶半部分是可见的。例如,140像素-100像素为正,并且因此,视频块的最右边界在视口的最右范围内。相似地,0像素-40像素为负,所以视频块的最左边界位于视口的最左范围的右侧;0像素-120像素为负并且180像素-120像素为正,指示视频块的最顶边界位于视口范围内;并且180像素-220像素为负,指示视频块的最底边界在下视口范围以下。在其它实施方式中,可以使用其它计算。例如,在一个实施方式中,页面渲染器可以经由api从浏览器确定或接收视频块的第一角落(例如,左上)的坐标和视频块的相对角落(例如,右下)的坐标;和来自视口的相同的第一角落和相对角落的坐标。页面渲染器可以确定视频块的对角角落或坐标之间的线是否与视口的对角角落或坐标之间的线相交(intersect)。如果是这样,则视频块完全显示在视口内。如果不是,则视频块的至少部分不在屏幕上。在进一步的实施方式中,可以将视频块和/或视口分成子块的集合(例如,顶部20%,接下来20%等),并且对于相交可以比较每个子块的角落之间的对角线。这可以允许视频块与视口重叠的多少的有效识别。在其它实施方式中,页面渲染器120可以计算视频块和视口之间的相交的区域。页面渲染器120能够与元素渲染器125通信。页面渲染器120能够因此将识别视口中可见的视频块的部分的数据递送到元素渲染器125。

元素渲染器125能够渲染网页的内部元素;例如,视频块。元素渲染器125能够从页面渲染器接收识别视口中可见的视频块的部分的数据。元素渲染器125能够确定覆盖内容项目相对于视频块的位置。例如,元素渲染器125能够将覆盖内容项目的位置确定为标记覆盖内容项目的角落或边缘相关于视频块的左上角落的定位的一组坐标。元素渲染器125可以使用以上讨论的任何技术来确定覆盖内容项目的位置,包括经由浏览器的api检索坐标等。元素渲染器125能够通过比较覆盖内容项目的位置和识别视口中可见的视频块的部分的数据来计算视口中可见的覆盖内容项目的部分。元素渲染器125能够将视口中可见的覆盖内容项目的部分的识别和时间戳发送到诸如记录服务器165的远程服务器,以用于记录覆盖内容项目可见性的识别。

在一些实施方式中,页面渲染器120能够被配置为生成第一识别符,并将其发送到记录服务器165。元素渲染器125能够被配置为生成第二识别符并将其发送到记录服务器165。记录服务器165能够基于匹配第一识别符和第二识别符来组合来自页面渲染器120和元素渲染器125的可见性数据。以这种方式,记录服务器165能够关联从页面渲染器120和元素渲染器125分开接收的数据。

在一些实施方式中,页面渲染器120和元素渲染器125能够运行使每个能够识别另一个的指令。这能够包括由页面渲染器120生成页面识别符和/或认证的令牌,以及将一个或两者连同识别视口中可见的视频块的部分的数据一起发送到元素渲染器125。以这种方式,元素渲染器125能够确认数据的有效性。

在一些实施方式中,客户端设备110能够包括页面通信器135。页面通信器135能够促进页面渲染器与元素渲染器之间的数据通信。页面通信器135能够执行识别和认证操作,用于保持从页面渲染器120递送到元素渲染器125的数据的完整性。

在一些实施方式中,客户端设备110能够包括外部通信器140。外部通信器140能够将识别视口中可见的覆盖内容项目的部分的数据和时间戳发送到记录服务器165。外部通信器140能够执行识别和认证操作,用于保持发送到记录服务器165的可视性和时间戳数据的完整性。

在一些实施方式中,视频块能够主持沉浸式视频,或者称为“360视频”。能够使用能够捕获图像多个方向并且将它们组合成在每个方向都具有可视性的虚拟视点的特别照相机或技术来获取沉浸式视频。用户能够然后我的在多维空间中移动虚拟照相机方向来导航沉浸式视频。例如,用户能够向左、向右、向上、或向下调整视图。当用户调整视图时,沉浸式视图的视图外部分能够被带入客户端设备110的视口中。以这种方式,用户能够在任何时间控制沉浸式视频的哪部分在视口内可见。包括沉浸式视频的实施方式能够对测量覆盖内容的可见性带展现额外的挑战。具体而言,能够将覆盖内容项目放置在沉浸式视频内的任何点处,并且不必要位于视口中可见的沉浸式视频中的点处。系统因此不得不执行额外的步骤以确定沉浸式视频内的覆盖内容的定位,确定沉浸式视频的哪部分在视频块中是可见的,以及计算视口中可见的覆盖内容项目的部分。

因此,在涉及沉浸式视频的一些实施方式中,元素渲染器125能够被配置为确定覆盖内容项目相对于沉浸式视频的位置,确定视频块中可见的沉浸式视频的部分,以及计算视口中可见的覆盖内容项目的部分。元素渲染器125能够通过比较覆盖内容项目相对于沉浸式视频的位置、视频块中可见的沉浸式视频的部分、和视口中可见的视频块的部分来计算视口中可见的覆盖内容项目的部分。元素渲染器125可以使用以上关于视频块和视口讨论的任何技术。

在一些实施方式中,客户端设备110能够包括可见性计算器130。可见性计算器130能够被配置为基于视口中可见的覆盖内容项目的部分来计算可见性范围。在一些实施例中,可见性能够被记录为落入由与可见性百分比相对应的可见性持续时间定义的桶中。例如,被测量为100%可见的覆盖内容可以被记录在180秒的可见性持续时间的桶中,而离屏覆盖内容可以被记录在10秒的可见性持续时间的桶中。为了分析的目的,系统可以将可见性事件记录在许多桶中,但是为了基于覆盖内容可见性的借记和贷记各方的账户的目的,仅将某些桶中的事件计数为“可见”;例如,如果事件落入30秒或更长时间的可见性的桶中,则系统可能仅将事件考虑为“可见”。在一些实施例中,可视性能够基于可见性的其它描述。例如,每个桶可以描述覆盖内容的哪些部分是可见的。整个可见的覆盖内容可以记录在10秒的桶中。仅具有顶部标题文本的覆盖内容可以记录在3秒的桶中。

客户端设备110能够包括存储器145。存储器145能够被实施为驻留在计算机可访问的存储介质(诸如硬盘驱动器、光驱、随机存取存储器、固态驱动器、云储存器等)上的数据库或其它数据结构。存储器145能够存储引起客户端设备110运行本文描述的系统和方法的操作的指令。存储器145能够存储位置和可见性信息。具体而言,存储器145能够存储页面外部相对于视口的位置的记录。

记录服务器165能够接收、记录、和分析从页面渲染器120和元素渲染器125接收的可见性测量数据。记录服务器165能够是由内容发布者150、视频主机155、或内容提供者160采用来维持由客户端设备110显示的覆盖内容项目的记账(account)(即,覆盖内容项目已经出现在客户端设备110的视口中的测量)的第三方服务。

在一些实施方式中,记录服务器165能够取决于覆盖内容项目可见性的测量值将可见性事件分类为多个预定分类之一。操作能够相似于以上对可见性计算器130描述的操作。也就是说,可见性能够被记录为落入由与可见性百分比相对应的可见性持续时间定义的桶中。在一些实施方式中,如果覆盖内容项目可见性的测量超过预定阈值,例如,50%、80%、或100%,则记录服务器165能够记录如所查看的覆盖内容项目。

图2是根据说明性实施方式的网页元素相关于客户端设备110的视口210的布局200和205的示例表示。示例布局显示了客户端设备110的视口210、客户端设备110上渲染的网页215的轮廓、网页中渲染的视频块220的轮廓、和视频块220中渲染的覆盖内容项目225。

布局200显示了其中视口210中可见的覆盖内容项目225但视频块220的大部分离开屏幕的情形。如果可见性的测量基于视频块220的可见性,则这种情形可能导致覆盖内容项目可见性的错误负测量。布局200中的情形可能频繁发生,并且特别是当用户正在使用视频播放器听音乐,但对伴随的视频(其可能通常是静止图像或空白)不感兴趣时。而且,用户可以向下滚动以查看视频块220以下的渲染的网页215的部分以读取关于视频的信息或评论。

布局205显示了其中视频块220的大部分在屏幕上,但是覆盖内容项目225位于视口210的外部并且因此在客户端设备110的显示器上不可见的情形。如果可见性的测量基于视频块220的可见性,则这种情形可能导致覆盖内容项目可见性的错误正测量。

图3是根据说明性实施方式的网页元素相关于客户端设备110的视口210的布局300和305的示例表示。布局300和305显示了视频内容310能够如何占用视频块220的不同的部分;以及当视频内容310具有比视频块220低的分辨率或不同的宽高比时延伸的屏幕的不同部分。这可能导致不准确的可见性测量。为了解决这些不准确性,系统能够实施50%可见性标准。50%标准可能不提供最准确的测量,但它能够为视频内容和变化的宽高比的视频块提供一致的测量。也就是说,如果视频块的50%是可见的,那么视频内容的50%也应该可见。这可能不适用于不同的阈值,诸如75%或25%。

布局300显示了其中视频块220的大部分在视口210外部的情形。集中在视频块220内的视频内容310也大部分在视口210外部。布局305显示了其中视频块220的大部分位于视口210内部的情形。集中在视频块220内的视频内容310也大部分在视口210内部。

然而,布局300和305显示,当视频块220的50%或更多在视口210内时,视频内容310的50%或更多也将在视口210内。只要视频内容310集中在视频块220内,这种关系就将适用。然而,也显而易见的是,25%可见性标准可能产生错误正可见性测量。这是因为如果仅视频块220的25%在视口210中可见,则可能视频内容310中很少且可能没有也在视口210中可见。

因为覆盖内容通常不放置在视频内容310或视频块220的中心,所以50%标准对于准确测量覆盖内容的可见性较少帮助。因此,要求额外的步骤来确定视频块220内的覆盖内容的位置、和视频块220相对于视口210中可见的网页的部分的位置。

图4是根据说明性实施方式的相关于客户端设备110的视口210的网页元素的布局400的示例表示。布局400示出了其中两个视频正在同时播放的情形。也就是说,布局400中的覆盖内容是因例如观看体育事件而流行的类型的画中画视频405。在一些情况下,可能期望测量画中画视频405的可见性。画中画视频405的可见性能够根据本文所讨论的用于覆盖内容的其它类型的技术来测量。

图5是根据说明性实施方式的网页元素相关于客户端设备110的视口210的布局500的示例表示。布局500示出了沉浸式视频505、或“360视频”。在沉浸式视频的情况下,沉浸式视频505的仅部分在视频块视口510中可见。用户能够使用控件515导航到沉浸式视频505的不同的部分。使用控件515,用户能够控制沉浸式视频505的哪部分在视频块视口510中可见。

覆盖内容项目225可以位于沉浸式视频505内的任何处。因此覆盖内容项225可以或可以不在视频块视口510中可见。此外,整个视频块视口510可以不在屏幕视口210中可见。因此,系统可以执行额外步骤来计算覆盖内容项目225、沉浸式视频505、视频块视口510、和屏幕视口210的相关位置。

图6是根据说明性实施方式的网页元素相关于客户端设备的视口的布局600的示例表示。布局600能够示出用于测量客户端设备110的视口210中的覆盖内容项目225的可见性的示例操作。

操作能够在客户端设备110检测视图改变事件时开始,视图改变事件诸如覆盖内容项目225已经被渲染在网页215中的指示或者用户已经滚动通过网页215以带来视口210内的不同的部分的指示。系统能够确定视频块220相关于网页215的位置。系统能够确定视口210相关于页面的位置。系统能够组合两个位置来确定视口210中可见的视频块220的部分605(虚线)。系统能够确定覆盖内容项目225相关于视频块220的位置。系统能够组合覆盖内容项目225的位置与视口210中可见的视频块220的部分605来计算视口210中可见的覆盖内容项目的部分610(虚线)。系统能够存储可见性测量,该可见性测量包括部分610、时间戳、和覆盖内容项目225、网页215、视频块220、和/或客户端设备110的识别符。系统能够将可见性测量发送到记录服务器165。

图7是示出根据说明性实施方式的测量覆盖内容的可见性的示例方法700的流程图。方法700能够检测计算机显示器中嵌套框架内的内容的位置。方法700能够由客户端设备110的页面渲染器120和元素渲染器125运行。方法700能够包括渲染包括视频块的网页(步骤705)。方法700能够包括确定视频块相对于网页的位置(步骤710)。方法700能够包括确定视口中可见的网页的部分(步骤715)。方法700能够包括计算视口中可见的视频块的部分(步骤720)。方法700能够包括将识别视口中可见的视频块的部分的数据递送到元素渲染器125(步骤725)。方法700能够包括在元素渲染器125处接收数据(步骤730)。方法700能够包括确定覆盖内容项目相对于视频块的位置(步骤735)。方法700能够包括计算视口中可见的覆盖内容的部分(步骤740)。方法700能够包括将视口中可见的覆盖内容时间的部分的识别发送到远程服务器(步骤745)。

方法700能够包括渲染包括视频块的网页(步骤705)。页面渲染器120能够在客户端设备110的处理器上运行。页面渲染器120能够渲染包括视频块210的网页。在一些实施方式中,客户端设备110能够存储页面外部相对于视口220的位置。

方法700能够包括确定视频块相对于网页的位置(步骤710)。页面渲染器120能够使用一段可运行代码或脚本来确定视频块225相对于网页215的位置。视频块225的位置能够由相关于网页215的原点的坐标来表示;例如,网页215的左上角。

方法700能够包括确定视口中可见的网页的部分(步骤715)。页面渲染器能够使用一段可运行代码或脚本来确定客户端设备210的视口210中可见的网页215的部分。可见的网页的部分能够由相关于网页215的坐标来表示。坐标能够通过,例如,指定网页215的可见部分的每个外部角落的坐标来标记视口210中可见的网页215的范围。

方法700能够包括计算视口中可见的视频块的部分(步骤720)。页面渲染器120能够基于视频块220的位置和视口220中可见的网页215的部分来计算视口210中可见的视频块220的部分605。

方法700能够包括将识别视口中可见的视频块的部分的数据递送到元素渲染器125(步骤725)。页面渲染器120能够将识别视口210中可见的视频块220的部分605的数据递送到元素渲染器125。

方法700能够包括在元素渲染器125处接收数据(步骤730)。元素渲染器125能够接收识别视口210中可见的视频块220的部分605的数据。在一些实施方式中,页面渲染器120和元素渲染器125能够运行使每个能够识别彼此的指令。在一些实施方式中,客户端设备110能够包括在客户端设备110的处理器上运行的页面通信器135。页面通信器135能够在页面渲染器120与元素渲染器125之间通信数据。

方法700能够包括确定覆盖内容项目相对于视频块的位置(步骤735)。元素渲染器125能够确定覆盖内容项目225相关于视频块220的位置。覆盖内容项目225的位置能够由相关于视频块220的原点的坐标来表示;例如,视频块220的左上角。

在一些实施方式中,方法700能够包括用于测量位于沉浸式视频505中的覆盖内容项目225的可见性的操作。元素渲染器125能够确定覆盖内容项目225相对于沉浸式视频的位置。元素渲染器125能够视频块510中可见的沉浸式视频505的部分。元素渲染器125能够通过比较覆盖内容项目225相对于沉浸式视频505的位置、视频块510中可见的沉浸式视频225的部分、和视口210中可见的视频块510的部分来计算视口510中可见的覆盖内容项目225的部分。

方法700能够包括计算视口中可见的覆盖内容的部分(步骤740)。元素渲染器125能够通过比较覆盖内容项目225的位置和视口210中可见的视频块220的部分605来计算视口中可见的覆盖内容项目225的部分610。在一些实施方式中,客户端设备110能够包括在客户端设备110的处理器上运行的可见性计算器130。可见性计算器130能够基于视口210中可见的覆盖内容项目225的部分610来计算可见性范围。可见性能够被记录为落入由与可见性百分比相对应的可见性持续时间定义的桶中。在一些实施方式中,如果覆盖内容项目可见性的测量超过预定阈值,例如,50%、80%、或100%,则记录服务器165能够记录如所查看的覆盖内容项目。

方法700能够包括将视口中可见的覆盖内容时间的部分的识别发送到远程服务器(步骤745)。元素渲染器125能够将视口210中可见的覆盖内容项目225的部分610的识别和时间戳发送到记录服务器165以用于记录覆盖内容项目可见性的识别。在一些实施方式中,页面渲染器120能够生成第一识别符并将其发送到记录服务器165;并且元素渲染器125能够生成第二识别符并将其发送到记录服务器165。记录服务器165能够基于匹配第一识别符和第二识别符来组合来自页面渲染器120和元素渲染器125的可见性数据。

在一些实施方式中,记录服务器165能够取决于覆盖内容项目可见性的测量值将可见性事件分类为多个预定分类之一。例如,如果覆盖内容项目可见性的测量值超过预定阈值,例如,50%、80%、或100%,则记录服务器165能够记录覆盖内容项目视图。

图8是示出根据(包括内容发布者150、视频主机1555、内容提供者160、记录服务器165、和客户端设备110及其组件,组件包括页面渲染器120、元素渲染器125、可见性计算器130、页面通信器135、外部通信器140、和存储器145的)说明性实施方式的可以用于实施本文描述和示出的系统和方法的元素的计算机系统800的通用架构的框图。计算机系统800能够用于经由网络105提供信息;例如,用于经由网络105提供用于在客户端设备110上的显示的内容。计算机系统800包括一个或多个通信接口805、一个或多个输出设备810(例如,一个或多个显示单元)、一个或多个输入设备815(例如,一个或多个触摸屏、小键盘、麦克风等)或通信地耦合到至少一个存储器825的一个或多个处理器820。

存储器825能够包括计算机可读存储介质,并且能够存储诸如用于实施本文描述的操作的处理器可运行指令的计算机指令。内容发布者150、视频主机1555、内容提供者160、记录服务器165、和客户端设备110或每个的组件能够包括存储器825以存储从其它设备接收的数据。至少一个处理器820能够运行存储在存储器825中的指令并且能够依据指令的运行从存储器读取或向存储器写入处理的或生成的信息。

处理器820能够通信地耦合到或控制至少一个通信接口805,以依据指令的运行发送或接收信息。例如,通信接口805能够耦合到有线或无线网络、总线、或其它通信装置,并且能够允许计算机系统800向其它设备(例如,其它计算机系统)发送信息或从其它设备接收信息。一个或多个通信接口805能够促进环境100的组件之间的信息流动。在一些实施方式中,通信接口805能够(例如,经由硬件组件或软件组件)提供作为到计算机系统800的至少一些方面的访问门户的网站。通信接口805的示例包括用户接口。

输出设备810能够允许关于指令的运行来查看或感知信息。输入设备815能够允许用户在指令的运行期间进行手动调整、做出选择、输入数据或其它信息、或者以各种方式中的任一种与处理器交互。

以上描述了内容项目分布网络可以执行选择过程以确定响应于请求要提供哪个内容项目。在一些实施方式中,选择过程可以考虑由内容提供者160或与内容提供者160相关联的代理报价的、用于内容项目的显示的补偿。报价可以视向客户端设备110提供内容项目的内容项目分布网络而定。报价可以视确认内容项目已经在客户端设备110上可见而定。

本文描述的主题和操作能够在数字电子电路中、或者在计算机软件、固件、或硬件中实施,包括在本说明书中公开的结构及其结构等同物、或其中的一个或多个的组合。本说明书中描述的主题能够被实施为编码在计算机存储介质上的、用于由数据处理装置运行或控制数据处理装置的操作的一个或多个计算机程序,例如,计算机程序指令的一个或多个模块。程序指令能够编码在人工生成的传播信号上,例如,机器生成的电信号、光、或电磁信号,信号被生成来编码用于到合适的接收器装置的发送、用于由数据处理系统或装置的运行的信息。计算机存储介质能够是计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或者其中的一个或多个的组合,或者可以被包括在其中。尽管计算机存储介质不是传播信号,但是计算机存储介质能够是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也能够是一个或多个分离的物理组件或介质(例如,多个cd、磁盘、或其它存储设备),或者能够被包括在其中。本说明书中描述的操作能够被实施为由数据处理装置对存储在一个或多个计算机可读存储设备上的或从其它源接收的数据执行的操作。

对于本文所讨论的系统收集关于用户的个人信息或可以利用个人信息的情形,可以向用户提供机会,以控制程序或特征是否可以收集个人信息(例如,关于用户的社交网络、社交动作或活动、用户的偏好、或用户的定位的信息),或以控制是否或如何从内容服务器或可能与用户更相关的其它数据处理系统接收内容。另外,某些数据在存储或使用之前可以以一种或多种方式匿名,以便当生成参数时移除个人可识别信息。例如,用户的身份可以是匿名的,以便不能为用户确定个人可识别信息,或者可以在获得定位信息(例如城市、邮政编码、或州级)处概括用户的地理定位,以便不能确定用户的具体定位。因此,用户可以控制如何收集关于他或她的信息并如何由内容服务器使用。

术语“数据处理系统”或“计算设备”、“模块”、“引擎”或“组件”涵盖用于处理数据的装置、设备、和机器,包括例如可编程处理器、计算机、片上系统、或前述的多个或组合。装置能够包括专用逻辑电路,例如fpga(fieldprogrammablegatearray,现场可编程门阵列)或asic(applicationspecificintegratedcircuit,专用集成电路)。除了硬件之外,装置也能够包括为所讨论的计算机程序创建运行环境的代码,例如,组成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机、或其组合的代码。装置和运行环境能够实现各种不同的计算模型基础设施,诸如web服务、分布式计算和网格计算基础设施。客户端设备110或其组件能够包括或共享一个或多个数据处理装置、系统、计算设备、或处理器。

计算机程序(也称为程序、软件、软件应用、应用、脚本、或代码)能够以任何形式的编程语言编写,该编程语言包括编译或解释语言、声明或过程语言,并且能够以任何形式部署,该形式包括作为独立程序或作为模块、组件、子线程、对象、或适用于计算环境中的使用的其它单元。计算机程序能够对应于文件系统中的文件。计算机程序能够被存储在保存其它程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的部分中、专用于所讨论的程序的单个文件中、或者多个协调的文件(例如,存储一个或多个模块、子程序、或代码的部分的文件)中。计算机程序能够被部署为在一台计算机或多台计算机上运行,这些计算机位于一个站点或跨越多个站点分布并由通信网络互连。

本说明书中描述的过程和逻辑流程能够由运行一个或多个计算机程序的一个或多个可编程处理器(例如,内容发布者150、视频主机1555、内容提供器160、记录服务器165、和客户端设备110)执行,以通过对输入数据操作并生成输出来执行动作。处理和逻辑流程也能够由专用逻辑电路(例如,fpga(现场可编程门阵列)或asic(专用集成电路))执行,并且装置也能够被实施为专用逻辑电路。

本文描述的主题能够在计算系统中实施,计算系统包括后端组件(例如,作为数据服务器)、或者包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有通过其用户能够与本说明书中描述的主题的实施方式交互的图形用户界面或网页浏览器的客户端计算机)、或者一个或多个这样的后端、中间件、或前端组件的组合。系统的组件能够由数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(localareanetwork,“lan”)和广域网(wideareanetwork,“wan”)、互联网络(例如,互联网)、和对等网络(例如,特设对等网络)。

环境100或系统800能够包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络(例如,网络105)交互。客户端和服务器的关系凭借运行在各个计算机上并且彼此具有客户端-服务器关系的计算机程序产生。在一些实施方式中,服务器将数据(例如,html页面)发送到客户端设备(例如,用于向与客户端设备交互的用户显示数据并从用户接收用户输入的目的)。能够在服务器处从客户端设备100接收(例如,由记录服务器165接收)在客户端设备110处生成的数据(例如,用户交互的结果)。

尽管在附图中以特定次序描绘了操作,但是这样的操作不要求以所显示的特定次序或以顺序次序执行,并且所有示出的操作不要求被执行。本文描述的动作可以以不同的次序执行。

各种系统组件的分离不要求在所有实施方式中的分离,并且所描述的程序组件能够被包括在单个硬件或软件产品中。例如,页面渲染器120、元素渲染器125、可见性计算器130、页面通信器135、外部通信器140、或存储器145能够是单个模块、具有一个或多个处理电路的逻辑设备、或客户端设备110的一个或多个服务器的部分。

现在已经描述了一些说明性实施方式,显而易见的是,前述内容是说明性的而非限制性的,已经以示例的方式展现。具体而言,虽然本文展现的示例中的许多涉及方法动作或系统元素的特定组合,但那些动作和那些元素可以以其它方式组合以实现相同的目标。关于一个实施方式所讨论的动作、元素和特征不旨在被排除在其它实施方式或实施方式中的相似的角色之外。

本文使用的措辞和术语是为了描述的目的,并且不应被认为是限制。在本文中“包括”、“包括”、“具有”、“包含”、“涉及”、“特征为”、“特征在于”及其变化的使用意在涵盖其后列出的项目、其等同物、和额外的项目、以及由其后排外地列出的项目组成的替代实施方式。在一个实施方式中,本文描述的系统和方法由所描述的元素、动作、或组件中的一个、多于一个的每个组合、或者所有组成。

本文以单数提及的系统和方法的实施方式或元素或动作的任何引用也可以包含包括多个这些元素的实施方式,并且以复数对本文的任何实施方式或元素或动作的任何引用也可以包含仅包括单数元素的实施方式。以单数或复数形式的引用并不旨在将目前公开的系统或方法、其组件、动作、或元素限制为单数或复数配置。对基于任何信息、动作或元素的任何动作或元素的引用可以包括其中动作或元素至少部分基于任何信息、行为、或元素的实施方式。

本文中公开的任何实施方式可以与任何其它实施方式或实施例组合,并且对“实施方式”、“一些实施方式”、“替代实施方式”、“各种实施方式”、“一个实施方式”等的引用不必要相互排斥的并且旨在指示关于实施方式描述的特定特征、结构、或特性可以被包括在至少一个实施方式或实施例中。本文使用的这样的术语不必要都指的是相同的实施方式。任何实施方式可以以与本文公开的方面和实施方式一致的任何方式包含地或排他地与任何其它实施方式组合。

对“或”的引用可以被解释为包含性的,以便使用“或”描述的任何术语可以指示描述的术语中的单个、多于一个、和所有中的任何一个。对术语的联合列表中的至少一个的引用可以被解释为包含或以指示描述的术语的单个、多于一个和所有中的任何一个。例如,对“‘a’和‘b’中的至少一个”的引用能够包括仅‘a’、仅‘b’、以及‘a’和‘b’两者。

在附图、详细描述、或任何权利要求中的技术特征后接着是参考记号的情况下,已经包括参考记号以增加附图、详细描述、和权利要求的可理解性。因此,参考记号或它们的缺失都不会对任何权利要求元素的范围产生任何限制影响。

本文描述的系统和方法可以以其它特定形式体现而不脱离其特征。前述实施方式是说明性的而非限制所描述的系统和方法。本文描述的系统和方法的范围因此由所附权利要求而不是前述描述来指示,并且落入权利要求的等同物的含义和范围内的改变被包含在其中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1