HK1227592B - Method and apparatus to measure and monitor exposure to streaming media - Google Patents
Method and apparatus to measure and monitor exposure to streaming media Download PDFInfo
- Publication number
- HK1227592B HK1227592B HK17101027.6A HK17101027A HK1227592B HK 1227592 B HK1227592 B HK 1227592B HK 17101027 A HK17101027 A HK 17101027A HK 1227592 B HK1227592 B HK 1227592B
- Authority
- HK
- Hong Kong
- Prior art keywords
- media
- metadata
- user
- client device
- request
- Prior art date
Links
Description
相关申请Related applications
本申请要求于2013年10月10日提交的美国临时专利申请序列号61/889,505、于2013年10月11日提交的美国临时专利申请序列号61/890,176、于2013年12月30日提交的美国专利申请序列号14/144,352的益处。美国临时专利申请序列号61/889,505、美国临时专利申请序列号61/890,176和美国专利申请序列号14/144,352通过引用完全结合于此。This application claims the benefit of U.S. Provisional Patent Application Serial No. 61/889,505, filed October 10, 2013, U.S. Provisional Patent Application Serial No. 61/890,176, filed October 11, 2013, and U.S. Patent Application Serial No. 14/144,352, filed December 30, 2013. U.S. Provisional Patent Application Serial No. 61/889,505, U.S. Provisional Patent Application Serial No. 61/890,176, and U.S. Patent Application Serial No. 14/144,352 are hereby incorporated by reference in their entireties.
技术领域Technical Field
本公开总体上涉及测量媒体曝光,并且更特别地,涉及测量到流媒体的曝光的方法和设备。The present disclosure relates generally to measuring media exposure and, more particularly, to methods and apparatus for measuring exposure to streaming media.
背景技术Background Art
近年来,已经提供了具有互联网连接性和从互联网检索媒体的能力的媒体装置。同样地,媒体曝光已经远离传统呈现方法(诸如,广播电视)朝向经由访问互联网以检索用于显示的媒体的消费者装置的呈现改变。In recent years, media devices with internet connectivity and the ability to retrieve media from the internet have been provided. Likewise, media exposure has shifted away from traditional presentation methods (such as broadcast television) toward presentation via consumer devices that access the internet to retrieve media for display.
媒体提供商和/或其它实体(诸如,例如,广告公司、广播网络等)通常对观众成员和/或大众的观看、收听、和/或媒体行为感兴趣。收集并且使用观众成员的媒体使用和/或曝光习惯以及关于观众成员的人口统计数据,以在统计学上确定感兴趣的观众的规模和人口统计。Media providers and/or other entities (such as, for example, advertising agencies, broadcast networks, etc.) are often interested in the viewing, listening, and/or media behavior of audience members and/or the general public. Media usage and/or exposure habits of audience members and demographic data about audience members are collected and used to statistically determine the size and demographics of an audience of interest.
传统上,观众测量实体基于注册的小组成员来确定针对媒体节目和/或广告的观众参与度。也就是说,观众测量实体将同意被监测的人登记到小组中。观众测量实体然后监测那些小组成员,以确定呈现给那些小组成员的媒体(例如,电视节目、无线电节目、电影、DVD等)。以此方式,观众测量实体可以基于收集到的媒体测量数据确定针对不同媒体(例如,内容和/或广告)的曝光度量。Traditionally, audience measurement entities determine audience engagement with media programs and/or advertisements based on registered panelists. That is, the audience measurement entity registers individuals who have consented to be monitored into a panel. The audience measurement entity then monitors those panelists to determine the media (e.g., television programs, radio programs, movies, DVDs, etc.) presented to those panelists. In this way, the audience measurement entity can determine exposure metrics for different media (e.g., content and/or advertisements) based on the collected media measurement data.
发明内容Summary of the Invention
本发明的第一方面提供了一种测量到流媒体的曝光的方法,所述方法包括:A first aspect of the present invention provides a method for measuring exposure to streaming media, the method comprising:
利用处理器检测与在客户端装置处呈现的流媒体关联的ID3标签;detecting, with a processor, an ID3 tag associated with streaming media presented at a client device;
响应于所述ID3标签,将第一请求从所述客户端装置发送到第一互联网域,所述第一请求识别所述流媒体;sending a first request from the client device to a first Internet domain in response to the ID3 tag, the first request identifying the streaming media;
从所述第一互联网域接收重定向消息;以及receiving a redirect message from the first Internet domain; and
响应于所述重定向消息,将第二请求发送到由所述重定向消息指定的第二互联网域,所述第二请求包括识别所述客户端装置的cookie。In response to the redirect message, a second request is sent to a second Internet domain specified by the redirect message, the second request including a cookie identifying the client device.
本发明的第二方面提供了一种测量到流媒体的曝光的设备,所述设备包括:A second aspect of the present invention provides a device for measuring exposure to streaming media, the device comprising:
元数据检索器,所述元数据检索器用于检索与在客户端装置处呈现的媒体关联的元数据,所述元数据位于ID3标签中;a metadata retriever for retrieving metadata associated with media presented at a client device, the metadata being located in an ID3 tag;
元数据发送位置确定器,所述元数据发送位置确定器用于确定发送所述元数据的位置,所述位置基于所述ID3标签的元数据来确定;以及a metadata transmission position determiner, the metadata transmission position determiner being used to determine a position for transmitting the metadata, the position being determined based on the metadata of the ID3 tag; and
发送器,所述发送器用于将请求发送到所述位置,所述请求包括所述元数据和用户识别数据,所述用户识别数据在所述位置处可访问。A sender is configured to send a request to the location, the request including the metadata and user identification data, the user identification data being accessible at the location.
本发明的第三方面提供了一种监测到流媒体的曝光的方法,所述方法包括:A third aspect of the present invention provides a method for monitoring exposure to streaming media, the method comprising:
利用观众测量服务器指示内容提供商将ID3标签嵌入将被流处理的媒体中,所述ID3标签使客户端装置联系所述观众测量服务器;instructing a content provider, using an audience measurement server, to embed an ID3 tag in media to be streamed, the ID3 tag causing a client device to contact the audience measurement server;
在所述观众测量服务器处接收由访问所述标签的客户端装置生成的第一请求,所述第一请求识别所述流媒体;receiving, at the audience measurement server, a first request generated by a client device accessing the tag, the first request identifying the streaming media;
将重定向消息从所述观众测量服务器发送到所述客户端装置;以及sending a redirect message from the audience measurement server to the client device; and
从在所述重定向消息中指定的社交媒体提供商接收所述客户端装置的用户的识别信息。Identification information of a user of the client device is received from a social media provider specified in the redirect message.
本发明的第四方面提供了一种监测到流媒体的曝光的设备,所述设备包括:A fourth aspect of the present invention provides a device for monitoring exposure to streaming media, the device comprising:
元数据指示器,所述元数据指示器用于指示内容提供商将ID3标签嵌入将被流处理的媒体中,所述标签使客户端装置将消息发送到观众测量服务器;a metadata indicator for instructing a content provider to embed an ID3 tag in the media to be streamed, the tag causing the client device to send a message to an audience measurement server;
服务器,所述服务器响应于由访问所述标签的所述客户端装置生成的第一请求,将重定向消息发送到所述客户端装置,所述第一请求识别所述流媒体;以及a server that sends a redirect message to the client device in response to a first request generated by the client device accessing the tag, the first request identifying the streaming media; and
数据接收器,所述数据接收器用于从在所述重定向消息中指定的社交媒体提供商接收所述客户端装置的识别信息。A data receiver is configured to receive identification information of the client device from the social media provider specified in the redirect message.
本发明的第五方面提供了一种测量到流媒体的曝光的方法,所述方法包括:A fifth aspect of the present invention provides a method for measuring exposure to streaming media, the method comprising:
从由媒体提供商获得的媒体提取媒体识别信息;extracting media identification information from media obtained from a media provider;
基于所述媒体识别信息生成识别所述媒体的元数据;generating metadata for identifying the media based on the media identification information;
确定所述元数据将被发送到的数据库所有者的地址;determining an address of a database owner to which the metadata is to be sent;
将所述数据库所有者的地址和所述元数据嵌入ID3标签中;以及embedding the database owner's address and the metadata into an ID3 tag; and
将所述媒体和所述ID3标签发送到客户端装置。The media and the ID3 tag are sent to a client device.
本发明的第六方面提供了一种监测到流媒体的曝光的设备,所述设备包括:A sixth aspect of the present invention provides a device for monitoring exposure to streaming media, the device comprising:
媒体识别器,所述媒体识别器用于从由媒体提供商获得的媒体提取媒体识别信息,所述媒体识别器基于所述媒体识别信息生成识别所述媒体的元数据;a media identifier configured to extract media identification information from media obtained from a media provider, and to generate metadata identifying the media based on the media identification information;
元数据嵌入器,所述元数据嵌入器用于确定所述元数据将被发送到的数据库所有者的地址,所述元数据嵌入器将所述数据库所有者的地址和所述元数据嵌入ID3标签中;以及a metadata embedder for determining an address of a database owner to which the metadata is to be sent, the metadata embedder embedding the address of the database owner and the metadata into an ID3 tag; and
媒体发送器,所述媒体发送器用于将所述媒体和所述ID3标签发送到客户端装置。A media transmitter is configured to transmit the media and the ID3 tag to a client device.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1示出可以用于确定到流媒体的曝光的示例系统。FIG. 1 illustrates an example system that may be used to determine exposure to streaming media.
图2示出可以用于确定到流媒体的曝光的另选示例系统。FIG. 2 illustrates an alternative example system that may be used to determine exposure to streaming media.
图2A示出可以用于确定到流媒体的曝光的另选示例系统。FIG. 2A illustrates an alternative example system that may be used to determine exposure to streaming media.
图3是图1的浏览器的示例实现的框图。3 is a block diagram of an example implementation of the browser of FIG. 1 .
图4是图1的数据库所有者的示例实现的框图。4 is a block diagram of an example implementation of the database owner of FIG. 1 .
图4A是图1的中心设施的示例实现的框图。4A is a block diagram of an example implementation of the central facility of FIG. 1 .
图5是可以由图1、图2和/或图3的示例浏览器显示的示例HLS流的示例实现的框图。5 is a block diagram of an example implementation of an example HLS stream that may be displayed by the example browser of FIG. 1 , FIG. 2 , and/or FIG. 3 .
图6是表示示例机器可读指令的流程图,可以执行这些机器可读指令来实现图1和/或图2的示例服务提供商。6 is a flow diagram representative of example machine-readable instructions that may be executed to implement the example service provider of FIG. 1 and/or FIG. 2 .
图7和图8是表示示例机器可读指令的流程图,可以执行这些机器可读指令来实现图1、图2和/或图3的示例浏览器。7 and 8 are flow diagrams representing example machine-readable instructions that may be executed to implement the example browsers of FIG. 1 , FIG. 2 , and/or FIG. 3 .
图9和图10是表示示例机器可读指令的流程图,可以执行这些机器可读指令来实现图1、图2、图2A和/或图4的示例数据库所有者。9 and 10 are flow diagrams representative of example machine-readable instructions that may be executed to implement the example database owner of FIG. 1 , FIG. 2 , FIG. 2A , and/or FIG. 4 .
图10A是表示由示例数据库所有者记录的印象数据的表。FIG10A is a table representing impression data recorded by an example database owner.
图10B是表示由数据库所有者存储的人口统计信息的表。FIG. 10B is a table representing demographic information stored by the database owner.
图10C是表示由数据所有者发送到中心设施的所聚集的媒体呈现信息的表。FIG. 10C is a table representing aggregated media presentation information sent by data owners to the central facility.
图11是表示示例机器可读指令的流程图,可以执行这些机器可读指令来实现图1、图2、图2A和/或图4A的示例中心设施。11 is a flow diagram representative of example machine-readable instructions that may be executed to implement the example central facility of FIG. 1 , FIG. 2 , FIG. 2A , and/or FIG. 4A .
图12是示例处理器平台的框图,该处理器平台能够执行图6、图7、图8、图9、图10和/或图11的示例机器可读指令以实现图1和/或图2的示例服务提供商、图1、图2、图2A和图3的示例浏览器、图1、图2、图2A和/或图4的示例数据库所有者、和/或图1、图2、图2A和/或图4A的示例中心设施。Figure 12 is a block diagram of an example processor platform capable of executing the example machine-readable instructions of Figures 6, 7, 8, 9, 10 and/or 11 to implement the example service provider of Figures 1 and/or 2, the example browser of Figures 1, 2, 2A and 3, the example database owner of Figures 1, 2, 2A and/or 4, and/or the example central facility of Figures 1, 2, 2A and/or 4A.
只要可能,将贯穿附图和所附编写的说明书使用相同参考标号来表示相同或类似部件。Wherever possible, the same reference numbers will be used throughout the drawings and the accompanying written description to refer to the same or like parts.
具体实施方式DETAILED DESCRIPTION
监测公司期望获得关于用户如何与媒体装置(诸如,智能电话、平板、膝上型计算机、智能电视等)交互的知识。特别地,媒体监测公司想要监测在媒体装置处进行的媒体呈现,以除了其它之外监测到广告的曝光,确定广告效果,确定用户行为,识别与各种人口统计关联的购买行为,确定针对内容的普及率等。监测公司招募专门小组并且收集关于专门小组的人口统计信息。然后,与专门小组联合收集媒体呈现信息。然而,监测公司很难从媒体被呈现给的每个用户(例如,非专门小组)收集详细人口统计信息。在于此公开的示例中,监测公司与拥有人口统计信息的大数据库的数据库所有者(例如,Faceook、Twitter、Experian等)协作,以将媒体监测能力扩展到非专门小组。Monitoring companies desire to gain knowledge about how users interact with media devices (such as smartphones, tablets, laptops, smart TVs, etc.). In particular, media monitoring companies want to monitor media presentations at media devices to, among other things, monitor exposure to advertisements, determine advertising effectiveness, determine user behavior, identify purchasing behavior associated with various demographics, determine popularity for content, and the like. Monitoring companies recruit specialized panels and collect demographic information about the specialized panels. Media presentation information is then collected in conjunction with the specialized panels. However, it is difficult for monitoring companies to collect detailed demographic information from every user to whom media is presented (e.g., a non-specialized panel). In the examples disclosed herein, monitoring companies collaborate with database owners (e.g., Faceook, Twitter, Experian, etc.) that have large databases of demographic information to extend media monitoring capabilities to non-specialized panels.
在于此公开的示例中,使用转码水印识别所呈现的媒体。转码水印被作为元数据(例如,ID3标签)发送,该元数据与媒体的部分关联地发送和/或被作为媒体的部分发送。媒体呈现装置(例如,iPad、智能TV等)提取元数据并且将元数据发送到数据库所有者,连同识别媒体装置和/或媒体装置的用户的信息一起发送到数据库所有者。如果数据库所有者不能识别媒体装置和/或媒体装置的用户,则数据库所有者将媒体装置重定向到不同数据库所有者和/或观众测量实体,使得可以识别媒体装置和/或媒体装置的用户。如果数据库所有者可以识别媒体装置和/或媒体装置的用户,则数据库所有者将与媒体装置和/或媒体装置的用户关联的人口统计信息报告给观众测量实体以用于与媒体和/或识别媒体的元数据的关联。在一些示例中,元数据不被发送到数据库所有者,以防止数据库所有者识别由媒体装置和/或用户访问的媒体。In an example disclosed herein, a transcoded watermark is used to identify the presented media. The transcoded watermark is sent as metadata (e.g., an ID3 tag), which is sent in association with and/or as part of the media. A media presentation device (e.g., an iPad, a smart TV, etc.) extracts the metadata and sends it to a database owner, along with information identifying the media device and/or the user of the media device. If the database owner cannot identify the media device and/or the user of the media device, the database owner redirects the media device to a different database owner and/or an audience measurement entity so that the media device and/or the user of the media device can be identified. If the database owner can identify the media device and/or the user of the media device, the database owner reports demographic information associated with the media device and/or the user of the media device to the audience measurement entity for association with the media and/or the metadata identifying the media. In some examples, the metadata is not sent to the database owner to prevent the database owner from identifying the media accessed by the media device and/or the user.
传统上,观众测量实体(在此也被称为“评级实体”)基于注册的小组成员来确定用于广告和/或媒体节目的人口统计搜索。也就是说,观众测量实体将同意被监测的人登记到小组中。在登记期间,观众测量实体从登记的人接收人口统计信息,使得可以在到那些专门小组的媒体曝光和不同人口统计市场之间形成随后关联。然后,观众测量实体设置和/或获取用户和/或装置标识符,使得与专门小组相关的随后印象可以与专门小组和/或专门小组的人口统计关联。在一些示例中,用户和/或装置标识符是cookies数据或者当与观众测量实体通信时由媒体装置(例如,iPad)使用的另一个标识符。基于用户和/或装置标识符,观众测量实体识别由专门小组提供的人口统计信息。代替提供详细人口统计信息,有时给专门小组提供激励(例如,app、礼品卡、现金、抽彩和/或抽奖的机会等)。因此,具有大型小组有时可能变得成本高昂。Traditionally, audience measurement entities (also referred to herein as "rating entities") determine demographic searches for advertisements and/or media programs based on registered panelists. That is, the audience measurement entity enrolls individuals who consent to being monitored into a panel. During enrollment, the audience measurement entity receives demographic information from the enrolled individuals, enabling subsequent associations to be made between media exposure to those panelists and different demographic markets. The audience measurement entity then sets and/or obtains user and/or device identifiers, enabling subsequent associations between impressions associated with the panelist and/or the panelist's demographics. In some examples, the user and/or device identifier is cookie data or another identifier used by a media device (e.g., an iPad) when communicating with the audience measurement entity. Based on the user and/or device identifier, the audience measurement entity identifies the demographic information provided by the panelist. Instead of providing detailed demographic information, the panelist is sometimes offered incentives (e.g., apps, gift cards, cash, raffle and/or sweepstakes entries, etc.). Consequently, maintaining large panels can sometimes be cost-prohibitive.
为了降低构造和/或维护大型小组的成本,观众测量实体与其它实体协作,以获得与媒体呈现关联的人口统计信息。在此公开的示例方法、设备和/或物品使观众测量实体能够向基于用户注册模型操作的其它实体请求人口统计信息。通过与基于用户注册模型操作的其它实体协作使观众测量实体能够有效地增大用户的小组的规模。To reduce the cost of constructing and/or maintaining large panels, audience measurement entities collaborate with other entities to obtain demographic information associated with media presentations. Example methods, devices, and/or articles disclosed herein enable audience measurement entities to request demographic information from other entities operating based on a user registration model. Collaboration with other entities operating based on a user registration model enables audience measurement entities to effectively increase the size of user panels.
如在此使用的,用户注册模型是用户通过创建账户并且提供关于他们自己的人口统计相关信息预订那些实体的服务的模型。共享与数据库所有者的注册用户关联的人口统计信息使观众测量实体能够接收来自外部源(例如,数据库所有者)的观众测量信息,从而扩展基于他们的人口统计的观众测量的覆盖率、准确性和/或完整性。这样的访问还使观众测量实体能够监测原本未加入观众测量小组的人。As used herein, a user registration model is one in which users subscribe to the services of those entities by creating an account and providing demographically relevant information about themselves. Sharing demographic information associated with registered users of a database owner enables audience measurement entities to receive audience measurement information from external sources (e.g., the database owner), thereby expanding the coverage, accuracy, and/or completeness of their demographically based audience measurements. Such access also enables audience measurement entities to monitor people who would not otherwise be included in the audience measurement panel.
具有识别个体集合的人口统计的数据库的任何实体可以与观众测量实体协作。这样的实体可以被称为“数据库所有者”并且包括诸如无线服务运营商、移动软件/服务提供商、社交网站(例如,Facebook、Twitter、LinkedIn、Google等)、在线零售商网站(例如,Amazon.com、Buy.com等)、和/或保持用户注册记录的任何其它互联网网站(例如,Yahoo!、MSN、Apple iTunes、Experian等)的实体。存在在互联网上操作的许多数据库所有者。数据库所有者向大量订户提供服务。代替提供该服务,订户向数据库所有者注册。作为该注册的一部分,订户提供详细人口统计信息。作为使用所提供的服务(例如,社交网络服务、购物服务、新闻服务等)的一部分,数据库所有者有权设置和/或收集cookies和/或由浏览器存储的其它标识符。Any entity that has a database that identifies the demographics of a collection of individuals can collaborate with an audience measurement entity. Such entities may be referred to as "database owners" and include entities such as wireless service operators, mobile software/service providers, social networking sites (e.g., Facebook, Twitter, LinkedIn, Google, etc.), online retailer websites (e.g., Amazon.com, Buy.com, etc.), and/or any other Internet website that maintains user registration records (e.g., Yahoo!, MSN, Apple iTunes, Experian, etc.). There are many database owners operating on the Internet. Database owners provide services to a large number of subscribers. Instead of providing this service, subscribers register with the database owner. As part of this registration, subscribers provide detailed demographic information. As part of using the provided services (e.g., social networking services, shopping services, news services, etc.), database owners have the right to set and/or collect cookies and/or other identifiers stored by the browser.
数据库所有者将媒体呈现信息和与媒体呈现关联的人口统计信息报告给观众测量实体。在传统的基于专门小组的系统中,专门小组知晓他们正将人口统计信息与观众测量实体共享。然而,在于此公开的示例中,从数据库所有者检索人口统计信息,并且因此带来数据隐私问题(因为用户可能不知道他们的人口统计信息的共享)。为此目的,用户可能同意或阻止在数据库所有者的一部分上的人口统计信息的共享。例如,当创建与数据库所有者的账户时,用户可以被请求允许与其它实体(例如,观众测量实体)共享人口统计信息。The database owner reports media presentation information and demographic information associated with the media presentation to the audience measurement entity. In traditional panel-based systems, the panelists are aware that they are sharing their demographic information with the audience measurement entity. However, in the examples disclosed herein, demographic information is retrieved from the database owner, which therefore raises data privacy issues (because users may not be aware that their demographic information is being shared). To this end, users may consent to or block the sharing of demographic information on the part of the database owner. For example, when creating an account with the database owner, the user may be asked to allow demographic information to be shared with other entities (e.g., the audience measurement entity).
与当登记专门小组时(在请求专门小组以将非常详细的人口统计信息提供给观众测量实体的情况下)接收的人口统计信息进一步相比,由数据库所有者收集的人口统计信息可能不像由观众测量实体收集的人口统计信息那样详尽。例如,数据库所有者可能不请求关于用户的收入、用户的兴趣、用户的民族等的人口统计信息。此外,不同数据库所有者可以请求和/或存储用户的不同信息。例如,社交媒体数据库所有者可能存储关于用户的民族、兴趣、位置等的人口统计信息,而信用报告数据库所有者可能存储关于用户的财务信息(例如,输入、信用评分等)的人口统计信息。Furthermore, the demographic information collected by the database owner may not be as detailed as the demographic information collected by the audience measurement entity, as compared to the demographic information received when registering a panel (where the panel is requested to provide very detailed demographic information to the audience measurement entity). For example, the database owner may not request demographic information about a user's income, a user's interests, a user's ethnicity, etc. Furthermore, different database owners may request and/or store different information about a user. For example, a social media database owner may store demographic information about a user's ethnicity, interests, location, etc., while a credit report database owner may store demographic information about a user's financial information (e.g., input, credit score, etc.).
在于此公开的示例中,数据库所有者将关于用户的人口统计信息结合特定段媒体提供给观众测量实体(例如,美国伊利诺伊州的绍姆堡的Nielsen公司)。在一些示例中,在聚集中提供人口统计信息。在一些示例中,当达到特定段媒体被呈现到的阈值数量的用户时,数据库所有者基于聚集发送人口统计信息。例如,仅当存在与媒体关联的多于一百个用户时,可以提供所聚集的人口统计信息。然而,可以另外地或另选地使用任何其它阈值量的用户。相比之下,当结合人口统计信息识别单个用户时,可以基于个体向评级实体提供人口统计信息。为了任何原因(诸如,例如,数据库所有者的权限内的隐私权法、商务因素、技术限制等),可以由数据库所有者确定是聚集地还是单独地将人口统计信息提供给评级实体。In examples disclosed herein, a database owner provides demographic information about users to an audience measurement entity (e.g., Nielsen Company, Schaumburg, Illinois, USA) in conjunction with a particular segment of media. In some examples, the demographic information is provided in aggregate. In some examples, the database owner sends the demographic information on an aggregate basis when a threshold number of users are presented to a particular segment of media. For example, aggregated demographic information may be provided only when there are more than one hundred users associated with the media. However, any other threshold number of users may be used in addition or alternatively. In contrast, when a single user is identified in conjunction with the demographic information, the demographic information may be provided to the rating entity on an individual basis. Whether the demographic information is provided to the rating entity in aggregate or individually may be determined by the database owner for any reason (such as, for example, privacy laws, business considerations, technical limitations, etc., within the database owner's jurisdiction).
在一些示例中,为了更准确地将媒体呈现与正确人口统计相关联,在此公开的示例方法、设备和/或物品利用位于观众测量实体的记录(例如,专门小组信息)中的用户信息、以及保持具有其账户的用户的记录或配置文件(profile)的一个或更多个数据库所有者处的用户信息。在一些示例中,多个数据库所有者可以将人口统计信息报告给与相同媒体关联的媒体监测实体。多个源(例如,来自观众测量公司的小组的人口统计信息和/或网络服务提供商的注册用户数据)可能有用,因为附加数据使得针对内容和/或广告宣传活动的人口统计度量的准确性提高。在此公开的示例技术使用在线注册数据识别用户的人口统计,以跟踪可归因于与那些用户关联的人口统计的印象(impression)的数量。如在此使用的,印象是指到媒体(例如,内容和/或广告)的曝光。在互联网广告中,印象的数量或者印象计数是广告或广告宣传活动由群体访问的总次数。印象不考虑到相同个体的多次曝光(即,到相同人的两次曝光被计数为两个印象)。相比之下,唯一印象计数消除重复曝光,并且因此仅对每个人的一次曝光进行计数,而不管那个人实际上可能经历曝光多少次。In some examples, to more accurately associate media presentations with the correct demographics, the example methods, devices, and/or articles disclosed herein utilize user information located in the records of an audience measurement entity (e.g., panel information) and user information at one or more database owners that maintain records or profiles of users with accounts. In some examples, multiple database owners can report demographic information to a media monitoring entity associated with the same media. Multiple sources (e.g., demographic information for panels from an audience measurement company and/or registered user data from a network service provider) can be useful because the additional data improves the accuracy of demographic metrics for content and/or advertising campaigns. The example techniques disclosed herein use online registration data to identify the demographics of users in order to track the number of impressions attributable to the demographics associated with those users. As used herein, an impression refers to an exposure to media (e.g., content and/or advertising). In internet advertising, the number of impressions or impression count is the total number of times an ad or advertising campaign is viewed by a group. Impressions do not take into account multiple exposures to the same individual (i.e., two exposures to the same person are counted as two impressions). In contrast, unique impression counting eliminates duplicate exposures and thus counts only one exposure for each person, regardless of how many times that person might actually have experienced the exposure.
如在此使用的,术语“媒体”包括经由任何类型的分布媒体传递的任何类型的内容和/或广告。因此,媒体包括电视节目或电视广告、无线电节目或无线电广告、电影、网站、流媒体等。在此公开的示例方法、设备和物品监测媒体装置处的媒体呈现。这样的媒体装置可以包括例如互联网电视、个人计算机、互联网移动手机(例如,诸如AppleSamsungGalaxy4等的智能电话)、视频游戏控制台(例如,3)、平板计算机(例如,)、数字媒体播放器(例如,媒体播放器、等)等。在一些示例中,媒体监测信息被聚集,以确定媒体装置的所有权和/或使用统计、媒体装置的使用和/或所有权的相对评级、媒体装置的使用类型(例如,装置是否被用于浏览互联网、来自互联网的流媒体等)、和/或其它类型的媒体装置信息。在于此公开的示例中,监测信息包括但不限于媒体识别信息(例如,媒体识别元数据、代码、签名、水印、和/或可用于识别所呈现的媒体的其它信息)、应用程序使用信息(例如,应用程序的标识符、使用应用程序的时间和/或持续时间、应用程序的评级等)、和/或装置和/或用户识别信息(例如,用户名、媒体访问控制(MAC)地址、互联网协议(IP)地址、Apple ID、专门小组标识符、Google ID、任何其它类型的标识符等)。As used herein, the term "media" includes any type of content and/or advertisement delivered via any type of distribution media. Therefore, media includes television programs or television commercials, radio programs or radio advertisements, movies, websites, streaming media, etc. The example methods, devices, and articles disclosed herein monitor media presentations at media devices. Such media devices may include, for example, internet televisions, personal computers, internet mobile phones (e.g., smartphones such as Apple Samsung Galaxy 4, etc.), video game consoles (e.g., 3), tablet computers (e.g., ), digital media players (e.g., media players, etc.), etc. In some examples, media monitoring information is aggregated to determine ownership and/or usage statistics of media devices, relative ratings of usage and/or ownership of media devices, usage types of media devices (e.g., whether the device is used to browse the internet, streaming media from the internet, etc.), and/or other types of media device information. In the examples disclosed herein, the monitoring information includes, but is not limited to, media identification information (e.g., media identification metadata, codes, signatures, watermarks, and/or other information that can be used to identify the presented media), application usage information (e.g., an identifier of the application, the time and/or duration of use of the application, a rating of the application, etc.), and/or device and/or user identification information (e.g., a user name, a media access control (MAC) address, an Internet Protocol (IP) address, an Apple ID, a panel identifier, a Google ID, any other type of identifier, etc.).
诸如平板计算机(例如,AppleAsus TransformerTM等)的媒体装置使用访问、检索、请求和/或呈现媒体(例如,互联网媒体)的app和/或浏览器来呈现媒体。存在诸如例如GoogleMozilla Firefox、AppleDolphin的许多不同浏览器。App和/或浏览器可以通过app商店(诸如,例如,AppleGoogle等)由用户下载。Media devices such as tablet computers (e.g., Apple, Asus Transformer ™ , etc.) use apps and/or browsers to access, retrieve, request, and/or present media (e.g., Internet media) to present media. There are many different browsers such as, for example, Google, Mozilla Firefox, and Apple Dolphin. Apps and/or browsers can be downloaded by users through app stores (such as, for example, Apple, Google, etc.).
媒体装置的操作系统和/或由媒体装置操作的浏览器通常是封闭式平台。也就是说,操作系统和/或浏览器提供可以被访问的有限功能集合。在一些示例中,浏览器可以利用用于共享媒体装置外部的数据的有限功能集合。例如,浏览器可以利用有限用户信息集合(例如,cookies),和/或可以不允许对由装置呈现的媒体的音频和/或视频的编程访问。Cookies可以用于与被访问域(例如,Facebook.com、twitter.com、Nielsen.com等)关联地存储关于媒体装置的用户的信息。例如,用户名可以与特定域关联地存储,显示设置可以与该域关联地被存储等。传统上,cookies具有跨域识别用户的有限使用。例如,当访问域名与cookies匹配的网站时,仅允许浏览器发送cookies。例如,当访问域“abc.com”时,不允许浏览器发送与域“xyz.com”关联的cookies。The operating system of a media device and/or the browser operated by the media device are typically closed platforms. That is, the operating system and/or browser provide a limited set of accessible functionality. In some examples, the browser may utilize a limited set of functionality for sharing data external to the media device. For example, the browser may utilize a limited set of user information (e.g., cookies) and/or may not allow programmatic access to the audio and/or video of the media presented by the device. Cookies can be used to store information about the user of the media device in association with the domain being visited (e.g., Facebook.com, twitter.com, Nielsen.com, etc.). For example, a username can be stored in association with a specific domain, display settings can be stored in association with that domain, etc. Traditionally, cookies have limited use in identifying users across domains. For example, a browser is only allowed to send cookies when visiting a website whose domain name matches the cookie. For example, when visiting the domain "abc.com", the browser is not allowed to send cookies associated with the domain "xyz.com".
虽然可以使用cookies和/或其它标识符来识别到观众测量实体和/或数据库所有者的媒体装置和/或媒体装置的用户,但是适当地识别经由媒体装置呈现的媒体是同等重要的。传统上使用嵌入媒体的音频和/或视频中的代码、签名、水印等来识别媒体。然而,在媒体装置处识别音频和/或视频水印存在困难。例如,一些媒体装置不允许对媒体的音频和/或视频的编程访问,处理音频和/或视频水印可能迅速耗尽媒体装置的电池等。在此公开的示例通过转码来解决该问题。在一些这样的示例中,服务提供商(例如,流媒体提供商)将水印转码成媒体装置容易确定的格式。While cookies and/or other identifiers can be used to identify a media device and/or a user of a media device to an audience measurement entity and/or database owner, it is equally important to properly identify the media presented via the media device. Traditionally, codes, signatures, watermarks, etc. embedded in the audio and/or video of the media are used to identify the media. However, there are difficulties in identifying audio and/or video watermarks at the media device. For example, some media devices do not allow programmatic access to the audio and/or video of the media, processing audio and/or video watermarks may quickly drain the battery of the media device, etc. The examples disclosed herein address this problem through transcoding. In some such examples, a service provider (e.g., a streaming provider) transcodes the watermark into a format that is easily determined by the media device.
在一些示例中,从所呈现的媒体中提取具有第一格式的媒体识别元数据。媒体识别元数据可以指示例如与媒体关联的水印、指示发送媒体呈现的位置的通知的统一资源定位符(URL)(例如,数据库所有者的URL等)。在一些这样的示例中,传输流对应于根据超文本传输协议(HTTP)直播流(HLS)协议发送的运动图像专家组(MEPG)2传输流。在一些示例中,水印是使用第一元数据格式嵌入媒体的音频部分中的音频水印。在一些示例中,具有第一格式的水印被转码成具有第二格式的媒体识别元数据。具有第二格式的媒体识别元数据可以对应于例如水印的文本表示(诸如,64基的十六进制字符串)。在一些示例中,在与媒体关联的元数据传输流中发送媒体识别元数据。In some examples, media identification metadata having a first format is extracted from the presented media. The media identification metadata may indicate, for example, a watermark associated with the media, a uniform resource locator (URL) indicating a notification of the location where the media presentation is sent (e.g., a URL of a database owner, etc.). In some such examples, the transport stream corresponds to a Moving Picture Experts Group (MPEG) 2 transport stream sent according to a Hypertext Transfer Protocol (HTTP) Live Streaming (HLS) protocol. In some examples, the watermark is an audio watermark embedded in an audio portion of the media using the first metadata format. In some examples, the watermark having the first format is transcoded into media identification metadata having a second format. The media identification metadata having the second format may correspond to, for example, a text representation of the watermark (such as a base 64 hexadecimal string). In some examples, the media identification metadata is sent in a metadata transmission stream associated with the media.
在一些公开的示例中,使用HTTP直播流(HLS)将流媒体传递到媒体装置。然而,可以另外地或另选地使用将媒体流处理至媒体装置的任何其它的过去、现在、和/或未来的方法(诸如,例如,HTTP安全(HTTPS)协议)。HLS传输流允许元数据被包括在例如媒体流、计时文本轨道等中和/或与媒体流、计时文本轨道等关联。在一些公开的示例中,媒体装置使用浏览器来显示经由HLS接收的媒体。另外地或另选地,在一些公开的示例中,媒体装置使用媒体呈现器(例如,浏览器插件、app、框架、应用程序编程接口(API)等)来显示经由HLS接收的媒体。In some disclosed examples, HTTP Live Streaming (HLS) is used to deliver streaming media to a media device. However, any other past, present, and/or future method of processing a media stream to a media device (such as, for example, the HTTP Secure (HTTPS) protocol) may be used in addition or alternatively. An HLS transport stream allows metadata to be included in and/or associated with, for example, a media stream, a timed text track, etc. In some disclosed examples, a media device uses a browser to display media received via HLS. Additionally or alternatively, in some disclosed examples, a media device uses a media renderer (e.g., a browser plug-in, an app, a framework, an application programming interface (API), etc.) to display media received via HLS.
在此公开的一些示例方法包括:对被流处理至媒体装置的承载媒体识别元数据的HLS传输流进行解码以得到媒体。一些这样的示例方法还包括:从媒体中提取计量数据和/或从独立计量数据源(例如,与媒体关联发送的计时文本轨道文件、清单文件等)接收计量数据。在一些示例中,除了识别媒体之外,媒体识别元数据可以另外地或另选地识别媒体的源。另外,一些这样的示例方法还包括:对已经伴随有承载媒体的传输流的媒体识别元数据(例如,诸如电子指南(EPG)数据、播放列表数据等)解码。一些这样的示例方法还包括:使用从媒体中提取的计量数据(例如,转码后的水印)来验证媒体识别元数据。Some example methods disclosed herein include decoding an HLS transport stream carrying media identification metadata that is streamed to a media device to obtain the media. Some such example methods also include extracting metering data from the media and/or receiving metering data from an independent metering data source (e.g., a timing text track file, a manifest file, etc. sent in association with the media). In some examples, in addition to identifying the media, the media identification metadata may additionally or alternatively identify the source of the media. In addition, some such example methods also include decoding media identification metadata (e.g., such as electronic guide (EPG) data, playlist data, etc.) that has accompanied the transport stream carrying the media. Some such example methods also include verifying the media identification metadata using metering data extracted from the media (e.g., a transcoded watermark).
在于此公开的示例中,通过检索嵌入经由媒体装置的媒体呈现器呈现的媒体中或者另外与该媒体一起传输的元数据,监测媒体曝光度量。在一些示例中,元数据被存储在文档对象模型(DOM)对象中。DOM是用于以超本文标记语言(HTML)呈现对象并且与对象交互的跨平台和语言无关命名规则。在一些示例中,诸如例如QuickTime播放器的媒体呈现器(例如,媒体插件)表达可以经由JavaScript捕捉的DOM事件。通过捕捉由媒体呈现器触发的DOM事件,可以经由DOM提取元数据。一旦被提取,元数据可以与其它信息(诸如,例如,与装置的用户关联的cookie或其它用户识别数据)组合,并且被发送到例如数据库所有者、和/或用于分析和/或计算从其它装置收集的数据的观众测量实体。In examples disclosed herein, media exposure metrics are monitored by retrieving metadata embedded in or otherwise transmitted with media presented by a media renderer of a media device. In some examples, the metadata is stored in a Document Object Model (DOM) object. The DOM is a cross-platform and language-independent naming convention for presenting and interacting with objects in Hypertext Markup Language (HTML). In some examples, a media renderer (e.g., a media plug-in) such as, for example, QuickTime Player expresses DOM events that can be captured via JavaScript. By capturing DOM events triggered by the media renderer, metadata can be extracted via the DOM. Once extracted, the metadata can be combined with other information (such as, for example, cookies or other user identification data associated with the user of the device) and sent to, for example, a database owner and/or an audience measurement entity for analyzing and/or calculating data collected from other devices.
在一些示例中,元数据以ID3标签格式被存储,但是可以另外地或另选地使用任何其它过去、现在、和/或未来的元数据格式。ID3标签是可以被附加到媒体和/或与媒体关联地发送的元数据容器。在于此公开的示例中,使用ID3v2格式。特别地,媒体识别元数据被存储在ID3标签的私有帧中。然而,可以另外地或另选地使用存储媒体识别元数据的任何其它过去、现在、和/或未来的方式。In some examples, metadata is stored in the ID3 tag format, but any other past, present, and/or future metadata format may be used in addition or alternatively. An ID3 tag is a metadata container that can be attached to media and/or sent in association with the media. In the examples disclosed herein, the ID3v2 format is used. In particular, media identification metadata is stored in a private frame of the ID3 tag. However, any other past, present, and/or future method of storing media identification metadata may be used in addition or alternatively.
在于此公开的示例中,从例如观众测量实体或其它实体向网站开发方提供软件开发工具包(SDK)。SDK帮助利用监测功能来检测(instrument)和/或另外使能网站(例如,媒体网站(诸如,流媒体视频网站)、新闻网站、图像网站、社交媒体网站、在线游戏网站等),监测功能收集监测信息(例如,cookie和/或其它用户或装置标识符、媒体标识符(ID3标签)等)并且将监测信息发送到数据库所有者和/或观众测量实体。特别地,网站开发方使用SDK创建包括媒体监测指令的网站。因此,不是依赖于安装在计算机(例如,平板、膝上型计算机、智能电话等)上的专用监测应用程序,而是用监测指令来检测在此公开的网站,使得浏览器将监测信息发送到数据库所有者和/或监测实体(例如,观众测量实体)。在一些示例中,使用JavaScript指令来实现由SDK提供的监测指令。然而,可以另外地或另选地使用任何其它语言或类型的脚本或指令。监测指令使浏览器能够通知数据库所有者和/或监测实体(例如,观众测量实体)何时呈现网站和/或与网站关联的媒体,通知数据库所有者和/或监测实体(例如,观众测量实体)呈现的是什么媒体和/或网站,通知数据库所有者和/或监测实体(例如,观众测量实体)正在如何(例如,经由平板显示器、经由电视等)呈现网站和/或媒体,通知数据库所有者和/或监测实体(例如,观众测量实体)网站和/或与网站关联的媒体的曝光的持续时间等。在一些示例中,可以通过例如呈现媒体元素(诸如,例如,视频、音频、图像等)来触发媒体监测指令。In examples disclosed herein, a software development kit (SDK) is provided to website developers, for example, from an audience measurement entity or other entity. The SDK helps instrument and/or otherwise enable websites (e.g., media websites (such as streaming video websites), news websites, image websites, social media websites, online gaming websites, etc.) with monitoring functionality that collects monitoring information (e.g., cookies and/or other user or device identifiers, media identifiers (ID3 tags), etc.) and sends the monitoring information to a database owner and/or an audience measurement entity. In particular, website developers use the SDK to create websites that include media monitoring instructions. Thus, rather than relying on a dedicated monitoring application installed on a computer (e.g., a tablet, laptop, smartphone, etc.), the website disclosed herein is instrumented with monitoring instructions, causing the browser to send the monitoring information to the database owner and/or monitoring entity (e.g., an audience measurement entity). In some examples, the monitoring instructions provided by the SDK are implemented using JavaScript instructions. However, any other language or type of script or instruction may be used in addition or alternatively. The monitoring instructions enable the browser to notify the database owner and/or monitoring entity (e.g., an audience measurement entity) when the website and/or media associated with the website is being presented, notify the database owner and/or monitoring entity (e.g., an audience measurement entity) what media and/or website is being presented, notify the database owner and/or monitoring entity (e.g., an audience measurement entity) how the website and/or media are being presented (e.g., via a flat-panel display, via a television, etc.), notify the database owner and/or monitoring entity (e.g., an audience measurement entity) the duration of exposure to the website and/or media associated with the website, etc. In some examples, the media monitoring instructions may be triggered by, for example, the presentation of a media element (such as, for example, video, audio, image, etc.).
在此公开的示例方法、设备和/或物品能够将媒体印象和来自数据库所有者的相应人口统计报告给评级实体(在此也被称为观众测量实体(AME))。以此方式,AME可以跟踪媒体装置上的媒体印象,和/或创建由不同人口统计打破的媒体印象的报告。Example methods, apparatus, and/or articles disclosed herein can report media impressions and corresponding demographics from a database owner to a ratings entity, also referred to herein as an Audience Measurement Entity (AME). In this way, the AME can track media impressions on media devices and/or create reports of media impressions broken down by different demographics.
在此公开的示例方法、设备和物品可以用于使用在互联网上跨不同数据库(例如,不同网站所有者、服务提供商等)分布的用户信息来确定媒体印象、内容印象、广告印象、内容曝光、和/或广告曝光。在此公开的示例方法、设备和物品不仅能够更准确地将互联网媒体曝光与用户(例如,人口统计)信息相关,而且它们还有效地扩展小组规模并且将超出参与监测实体(例如,观众测量实体和/或评级实体)的小组的人的成员扩展到在互联网数据库(诸如,无线服务运营商、移动软件/服务提供商、社交媒体网站(例如,Facebook、Twitter、Google等)、和/或诸如Yahoo!、MSN、Apple iTunes、Experian等的任何其它互联网网站)中注册的人。这样的扩展有效地利用监测实体(例如,观众测量实体)的媒体曝光跟踪能力和非AME实体(诸如,社交媒体和/或其它网站)的数据库,以创建庞大的在人口统计学上准确的小组,其使得到媒体(诸如广告和/或内容(例如,节目))的曝光的精确可靠测量。The example methods, devices, and articles disclosed herein can be used to determine media impressions, content impressions, ad impressions, content exposure, and/or ad exposure using user information distributed across different databases on the Internet (e.g., different website owners, service providers, etc.). The example methods, devices, and articles disclosed herein not only enable more accurate correlation of Internet media exposure with user (e.g., demographic) information, but also effectively expand the size of the panel and expand the membership beyond the panel of people participating in the monitoring entity (e.g., audience measurement entity and/or rating entity) to people registered in Internet databases (e.g., wireless service operators, mobile software/service providers, social media websites (e.g., Facebook, Twitter, Google, etc.), and/or any other Internet website such as Yahoo!, MSN, Apple iTunes, Experian, etc.). Such expansion effectively leverages the media exposure tracking capabilities of the monitoring entity (e.g., audience measurement entity) and the databases of non-AME entities (e.g., social media and/or other websites) to create a large, demographically accurate panel that enables accurate and reliable measurement of exposure to media (e.g., ads and/or content (e.g., programs)).
图1是用于测量到流媒体的曝光的根据本公开的教导构造的示例系统100的视图。图1的示例系统100监测由示例媒体提供商110提供的媒体,以用于经由示例网络150在示例客户端装置160上呈现。示例系统100包括示例服务提供商120、示例浏览器165、第一数据库所有者180、第二数据库所有者182、和观众测量实体的示例中心设施170。虽然图1的所示示例公开了服务提供商120的示例实现,但是可以另外地或另选地使用服务提供商120的其它示例实现,诸如,在美国专利申请序列号13/341,646、美国专利申请序列号13/443,596、美国专利申请序列号13/793,991、美国专利申请序列号13/445,961、美国专利申请序列号13/472,170、美国专利申请序列号13/793,983、美国专利申请序列号13/767,548、美国专利申请序列号13/793,959、美国专利申请序列号13/778,108、美国专利申请序列号61/813,019和/或美国专利申请序列号13/963,737中公开的示例实现,其以引用方式全部结合在此。FIG1 is a diagram of an example system 100 constructed in accordance with the teachings of the present disclosure for measuring exposure to streaming media. The example system 100 of FIG1 monitors media provided by an example media provider 110 for presentation on an example client device 160 via an example network 150. The example system 100 includes an example service provider 120, an example browser 165, a first database owner 180, a second database owner 182, and an example central facility 170 of an audience measurement entity. Although the illustrated example of FIG. 1 discloses an example implementation of the service provider 120, other example implementations of the service provider 120 may additionally or alternatively be used, such as the example implementations disclosed in U.S. patent application serial number 13/341,646, U.S. patent application serial number 13/443,596, U.S. patent application serial number 13/793,991, U.S. patent application serial number 13/445,961, U.S. patent application serial number 13/472,170, U.S. patent application serial number 13/793,983, U.S. patent application serial number 13/767,548, U.S. patent application serial number 13/793,959, U.S. patent application serial number 13/778,108, U.S. patent application serial number 61/813,019, and/or U.S. patent application serial number 13/963,737, all of which are incorporated herein by reference in their entireties.
图1的所示示例的示例媒体提供商110表示能够提供用于在客户端装置160上呈现的媒体的任一个或更多个媒体提供商。由媒体提供商110提供的媒体可以是任何类型的媒体,诸如音频、视频、多媒体、网页等。另外,媒体可以对应于直播(例如,广播)媒体、所存储的媒体(例如,点播内容)等。1 represents any one or more media providers capable of providing media for presentation on a client device 160. The media provided by the media provider 110 may be any type of media, such as audio, video, multimedia, web pages, etc. Additionally, the media may correspond to live (e.g., broadcast) media, stored media (e.g., on-demand content), etc.
图1的所示示例的服务提供商120经由例如网页向客户端装置160提供媒体服务,网页包括到由媒体提供商110提供的媒体的链接(例如,超链接、嵌入式媒体等)。在所示示例中,服务提供商120在将媒体发送到客户端装置160之前,修改由媒体提供商110提供的媒体。在所示示例中,服务提供商120包括示例媒体识别器125、示例转码器130、示例元数据嵌入器135和示例媒体发送器140。1 provides media services to client devices 160 via, for example, a web page that includes links (e.g., hyperlinks, embedded media, etc.) to media provided by media provider 110. In the illustrated example, service provider 120 modifies the media provided by media provider 110 before sending the media to client devices 160. In the illustrated example, service provider 120 includes an example media identifier 125, an example transcoder 130, an example metadata embedder 135, and an example media sender 140.
图1的所示示例的媒体识别器125由逻辑电路(诸如,执行指令的处理器)来实现,但是另外地或另选地它可以由专用集成电路(ASIC)、可编程逻辑器件(PLD)和/或现场可编程逻辑器件(FPLD)、模拟电路和/或其它电路来实现。图1的媒体识别器125从由媒体提供商110获得的媒体中提取计量数据(例如,签名、水印等)。例如,媒体识别器125可以实现由软件开发工具包(SDK)提供的功能,以提取嵌入从媒体提供商110获得的媒体的音频和/或视频中的一个或更多个音频水印、一个或更多个视频(例如,图像)水印等。(例如,媒体可以包括脉码调制(PCM)音频数据或其它类型的音频数据、未压缩视频/图像数据等。)The media identifier 125 of the illustrated example of FIG1 is implemented by logic circuitry (such as a processor that executes instructions), but it may additionally or alternatively be implemented by an application-specific integrated circuit (ASIC), a programmable logic device (PLD) and/or a field-programmable logic device (FPLD), analog circuitry, and/or other circuitry. The media identifier 125 of FIG1 extracts metering data (e.g., signatures, watermarks, etc.) from the media obtained by the media provider 110. For example, the media identifier 125 may implement functionality provided by a software development kit (SDK) to extract one or more audio watermarks, one or more video (e.g., image) watermarks, etc., embedded in the audio and/or video of the media obtained from the media provider 110. (For example, the media may include pulse code modulated (PCM) audio data or other types of audio data, uncompressed video/image data, etc.)
图1的示例媒体识别器125确定(例如,推导、解码、转换等)包括在嵌入媒体中的水印中或者通过该水印识别的计量数据(例如,媒体识别信息、源识别信息等)并且将该计量数据和/或水印本身转换成用于包括在ID3标签中的文本和/或二进制格式和/或用于作为伴随流媒体的元数据(例如,诸如,具有播放列表或电子节目指南)发送的其它数据类型(例如,文本、二进制等)。例如,可以提取代码/水印本身并且将其作为元数据以文本或二进制格式插入例如ID3标签中。因此,包括在ID3标签中的元数据和/或媒体识别元数据可以是代码、水印和/或由代码和/或水印识别的元数据或数据等的文本或二进制表示。另外地或另选地,可以使用水印从本地或远程数据库中检索计量数据。在一些示例中,媒体识别元数据被存储在ID3标签的私有帧中。在一些其它示例中,ID3标签包括监测信息应该被发送到的数据库所有者的位置。The example media identifier 125 of FIG. 1 determines (e.g., derives, decodes, converts, etc.) metering data (e.g., media identification information, source identification information, etc.) included in or identified by a watermark embedded in the media and converts the metering data and/or the watermark itself into a text and/or binary format for inclusion in an ID3 tag and/or other data types (e.g., text, binary, etc.) for transmission as metadata accompanying streaming media (e.g., such as with a playlist or electronic program guide). For example, the code/watermark itself can be extracted and inserted as metadata in a text or binary format, such as within an ID3 tag. Thus, the metadata and/or media identification metadata included in the ID3 tag can be a text or binary representation of the code, watermark, and/or metadata or data identified by the code and/or watermark. Additionally or alternatively, the watermark can be used to retrieve metering data from a local or remote database. In some examples, the media identification metadata is stored in a private frame of the ID3 tag. In some other examples, the ID3 tag includes the location of the database owner to which the monitoring information should be sent.
图1的所示示例的示例转码器130由逻辑电路(诸如,执行指令的处理器)来实现,但是可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,转码器130和媒体识别器125由相同物理处理器实现。在所示示例中,转码器130采用任何合适技术将所接收的媒体转码和/或另外处理成适于流的形式(例如,流格式)。例如,所示示例的转码器130根据HLS协议使用的MPEG4音频/视频压缩将媒体转码。The example transcoder 130 of the illustrated example of FIG1 is implemented by logic circuitry (such as a processor that executes instructions), but may additionally or alternatively be implemented by analog circuitry, ASICs, DSPs, FPGAs, and/or other circuitry. In some examples, the transcoder 130 and the media identifier 125 are implemented by the same physical processor. In the illustrated example, the transcoder 130 transcodes and/or otherwise processes the received media into a form suitable for streaming (e.g., a streaming format) using any suitable technique. For example, the transcoder 130 of the illustrated example transcodes the media according to MPEG4 audio/video compression used by the HLS protocol.
图1的所示示例的元数据嵌入器135由逻辑电路(诸如,执行指令的处理器)来实现,但是可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,转码器130、媒体识别器125和元数据嵌入器135由相同物理处理器来实现。The metadata embedder 135 of the illustrated example of FIG1 is implemented by logic circuitry (such as a processor executing instructions), but may additionally or alternatively be implemented by analog circuitry, ASICs, DSPs, FPGAs, and/or other circuitry. In some examples, the transcoder 130, media identifier 125, and metadata embedder 135 are implemented by the same physical processor.
在所示示例中,元数据嵌入器135将由媒体识别器125确定的元数据嵌入承载流媒体的传输流中。在所示示例中,元数据嵌入器135诸如通过将为二进制和/或其它合适数据格式的元数据编码成能够承载元数据的传输流的一个或更多个数据字段,将元数据嵌入内部元数据通道中。例如,元数据嵌入器135可以将对应于计量元数据的ID3标签元数据插入将根据HLS或其它合适流协议流处理媒体的传输流中。另外地或另选地,元数据嵌入器135可以诸如通过将元数据编码成M3U8或其它数据文件(与将流媒体提供给客户端装置160的传输流相关(例如,包括在传输流中、附着到传输流、在传输流之前被发送等)),将元数据嵌入外部元数据通道中。In the example shown, the metadata embedder 135 embeds the metadata determined by the media identifier 125 into the transport stream carrying the streaming media. In the example shown, the metadata embedder 135 embeds the metadata into an internal metadata channel, such as by encoding the metadata in binary and/or other suitable data formats into one or more data fields of the transport stream capable of carrying the metadata. For example, the metadata embedder 135 may insert ID3 tag metadata corresponding to metering metadata into a transport stream that is to stream the media according to HLS or other suitable streaming protocols. Additionally or alternatively, the metadata embedder 135 may embed the metadata into an external metadata channel, such as by encoding the metadata into an M3U8 or other data file that is associated with (e.g., included in, attached to, sent before, etc.) the transport stream that provides the streaming media to the client device 160.
图1的所示示例的媒体发送器140由逻辑电路(诸如,执行指令的处理器)来实现,但是可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,转码器130、媒体识别器125、元数据嵌入器135和媒体发送器140由相同物理处理器来实现。1 is implemented by logic circuitry (e.g., a processor that executes instructions), but may additionally or alternatively be implemented by analog circuitry, ASICs, DSPs, FPGAs, and/or other circuitry. In some examples, transcoder 130, media identifier 125, metadata embedder 135, and media transmitter 140 are implemented by the same physical processor.
所示示例的媒体发送器140采用任何合适技术来选择媒体和/或将媒体流处理至请求装置(诸如,客户端装置160)。例如,所示示例的媒体发送器140选择已由媒体识别器125识别、由转码器130转码并且经受由元数据嵌入器135进行的元数据嵌入的媒体。然后,媒体发送器140使用HLS或任何其它流协议将媒体流处理至客户端装置160。The media sender 140 of the illustrated example employs any suitable technique to select media and/or stream the media to a requesting device, such as the client device 160. For example, the media sender 140 of the illustrated example selects media that has been identified by the media identifier 125, transcoded by the transcoder 130, and subjected to metadata embedding by the metadata embedder 135. The media sender 140 then streams the media to the client device 160 using HLS or any other streaming protocol.
在一些示例中,媒体识别器125、转码器130和/或元数据嵌入器135准备用于流处理的媒体,而不管是否从客户端装置160接收到请求(例如,在从客户端装置160接收到请求之前)。在这样的示例中,已准备好的媒体被存储在服务提供商120的数据仓库(例如,诸如,闪存、磁媒体、光学媒体等)中。在这样的示例中,当从客户端装置160接收到请求时,媒体发送器140准备用于将已准备好的媒体流处理至客户端装置160的传输流。在其它示例中,媒体识别器125、转码器130和/或元数据嵌入器135响应于从客户端装置160接收的请求准备用于流处理的媒体。In some examples, media identifier 125, transcoder 130, and/or metadata embedder 135 prepare media for streaming regardless of whether a request is received from client device 160 (e.g., before a request is received from client device 160). In such examples, the prepared media is stored in a data repository (e.g., such as flash memory, magnetic media, optical media, etc.) of service provider 120. In such examples, upon receiving a request from client device 160, media transmitter 140 prepares a transport stream for streaming the prepared media to client device 160. In other examples, media identifier 125, transcoder 130, and/or metadata embedder 135 prepares media for streaming in response to a request received from client device 160.
所示示例的示例网络150是互联网。另外地或另选地,可以使用可通信地链接服务提供商120和客户端装置的任何其它网络,诸如,例如,专用网络、局域网(LAN)、虚拟专用网等。网络150可以包括使用任何类型的网络协议的任何数量的公共和/或专用网络。The example network 150 of the illustrated example is the Internet. Additionally or alternatively, any other network that communicatively links the service provider 120 and the client devices may be used, such as, for example, a private network, a local area network (LAN), a virtual private network, etc. The network 150 may include any number of public and/or private networks using any type of network protocol.
图1的所示示例的客户端装置160是能够呈现经由网络150由媒体发送器140提供的流媒体的计算装置。所示示例的示例客户端装置160能够直接呈现媒体(例如,经由显示器),而在其它示例中,客户端装置160在单独媒体呈现设备(例如,扬声器、显示器等)上呈现媒体。因此,如在此使用的,“客户端装置”可以或不可以在没有第二装置帮助的情况下呈现媒体。客户端装置通常是消费者电子装置。例如,所示示例的客户端装置160是诸如Apple的平板,因此,能够直接呈现媒体(例如,经由集成显示器和扬声器)。虽然在所示示例中,示出平板,但是可以另外地或另选地使用任何其它类型和/或数量的客户端装置。例如,可以另外地或另选地使用互联网使能移动手机(例如,智能电话、等)、视频游戏控制台(例如,任一代等)、平板计算机(例如,MotorolaTMXoomTM等)、数字媒体播放器(例如,媒体播放器、a等)、智能电视等。The client device 160 of the illustrated example in FIG1 is a computing device capable of presenting streaming media provided by the media transmitter 140 via the network 150. The example client device 160 of the illustrated example is capable of presenting media directly (e.g., via a display), while in other examples, the client device 160 presents media on a separate media presentation device (e.g., speakers, a display, etc.). Therefore, as used herein, a "client device" may or may not present media without the assistance of a second device. The client device is typically a consumer electronic device. For example, the client device 160 of the illustrated example is a tablet such as an Apple tablet, and thus is capable of presenting media directly (e.g., via an integrated display and speakers). While a tablet is shown in the illustrated example, any other type and/or number of client devices may be used in addition or alternatively. For example, an internet-enabled mobile phone (e.g., a smartphone, etc.), a video game console (e.g., any generation, etc.), a tablet computer (e.g., a Motorola ™ Xoom ™ , etc.), a digital media player (e.g., a media player, a, etc.), a smart television, etc. may also be used in addition or alternatively.
客户端装置(诸如,图1的客户端装置160)传统上包括用于显示媒体的浏览器165。浏览器是用于检索并且显示网站和与网站关联的媒体的应用程序。当检索并且显示网站时,浏览器165可以执行诸如例如JavaScript的脚本。脚本被提供为网站的一部分和/或由网站参考。在一些示例中,由浏览器165执行的脚本使得浏览器与网站的域关联地存储信息。例如,脚本可能使得浏览器165将信息存储为cookie。在一些这样的示例中,每当浏览器检索网站时,cookie就被发送到从其请求网站的位置。然而,仅发送与被请求网站的域关联的cookies。例如,当请求“abc.com”时,不发送针对域“xyz.com”的cookies。有时,当请求在第一位置处的互联网资源(例如,URL)时,浏览器可以从第一位置处的服务器接收浏览器应该将请求重定向到第二位置的响应。在于此公开的示例中,使用超文本传输协议(HTTP)重定向消息来实现响应。然而,可以另外地或另选地使用将浏览器重定向到第二位置的任何其它方式。A client device (such as client device 160 in FIG. 1 ) traditionally includes a browser 165 for displaying media. A browser is an application used to retrieve and display websites and media associated with the websites. When retrieving and displaying a website, browser 165 may execute scripts, such as JavaScript. The scripts are provided as part of the website and/or referenced by the website. In some examples, the scripts executed by browser 165 cause the browser to store information associated with the website's domain. For example, the scripts may cause browser 165 to store information as cookies. In some such examples, each time the browser retrieves a website, cookies are sent to the location from which the website was requested. However, only cookies associated with the domain of the requested website are sent. For example, when requesting "abc.com," cookies for the domain "xyz.com" are not sent. Sometimes, when requesting an internet resource (e.g., a URL) at a first location, the browser may receive a response from the server at the first location indicating that the browser should redirect the request to a second location. In the examples disclosed herein, the response is implemented using a Hypertext Transfer Protocol (HTTP) redirect message. However, any other means of redirecting the browser to the second location may additionally or alternatively be used.
图1的所示示例的示例数据库所有者180、182由具有识别个体集合的人口统计的数据库的实体主管的服务器来实现。服务器与观众测量实体协作以收集并且返回媒体呈现信息和与其关联的人口统计信息。示例数据库所有者180、182包括诸如无线服务运营商、移动软件/服务提供商、社交网站(例如,Facebook、Twitter、LinkedIn、Google等)、在线零售商网站(例如,Amazon.com、Buy.com等)、和/或保持用户注册记录的任何其它互联网网站(例如,Yahoo!、MSN、Apple iTunes、Experian等)的实体。虽然在图1的所示示例中存在两个数据库所有者,但是可以存在任何数量的数据库所有者。数据库所有者180、182为大量用户提供服务。代替提供服务,用户向所有者注册。作为该注册的一部分,用户提供详细的人口统计信息(诸如,例如,他们的家庭邮寄地址、他们的信用评分、他们的民族和/或种族、他们的年龄、他们的年收入等)。作为使用所提供服务(例如,社交网络服务、购物服务、新闻服务等)的一部分,数据库所有者有权设置和/或收集由访问他们的域(例如,Facebook.com域)的浏览器存储的cookies,因此当用户通过从用户装置检索cookies向数据库所有者180、182发送请求时可以识别服务的用户。尽管该示例谈到的是cookies,但是可以采用任何其它类型的用户标识符。The example database owners 180 and 182 of the illustrated example of FIG1 are implemented by servers hosted by an entity that maintains a database that identifies demographic information about a set of individuals. The server collaborates with an audience measurement entity to collect and return media presentation information and associated demographic information. Example database owners 180 and 182 include entities such as wireless service providers, mobile software/service providers, social networking sites (e.g., Facebook, Twitter, LinkedIn, Google, etc.), online retailer websites (e.g., Amazon.com, Buy.com, etc.), and/or any other internet website that maintains user registration records (e.g., Yahoo!, MSN, Apple iTunes, Experian, etc.). While there are two database owners in the illustrated example of FIG1 , any number of database owners may exist. Database owners 180 and 182 provide services to a large number of users. Instead of providing services, users register with the owner. As part of this registration, users provide detailed demographic information (such as, for example, their home mailing address, their credit score, their ethnicity and/or race, their age, their annual income, etc.). As part of using the services offered (e.g., social networking services, shopping services, news services, etc.), the database owner has the right to set and/or collect cookies that are stored by browsers accessing their domain (e.g., the Facebook.com domain) so that users of the services can be identified when the user sends a request to the database owner 180, 182 by retrieving the cookies from the user's device. Although this example discusses cookies, any other type of user identifier can be used.
图1的所示示例的观众测量实体的中心设施170包括接口,以经由网络150从客户端装置160的浏览器165和/或数据库所有者180、182接收所报告的计量信息(例如,元数据)。在所示示例中,中心设施170包括接收包括计量信息的HTTP请求的HTTP接口。另外地或另选地,可以使用接收计量信息的任何其它方法,诸如,例如,HTTP安全协议(HTTPS)、文件传输协议(FTP)、安全文件传输协议(SFTP)等。1 includes an interface for receiving reported metering information (e.g., metadata) from the browser 165 of the client device 160 and/or the database owners 180, 182 via the network 150. In the illustrated example, the central facility 170 includes an HTTP interface for receiving HTTP requests including metering information. Additionally or alternatively, any other method of receiving metering information may be used, such as, for example, HTTP Secure (HTTPS), File Transfer Protocol (FTP), Secure File Transfer Protocol (SFTP), etc.
在所示示例中,中心设施170指示元数据嵌入器135和/或(更一般地)服务提供商120将标签嵌入将被流处理的媒体中。在所示示例中,标签被格式化为ID3标签。例如,标签可以被格式化为JavaScript指令。然而,可以另外地或另选地使用任何其它格式的标签和/或指令。在一些示例中,元数据嵌入器135由观众测量实体提供到服务提供商120。In the example shown, central facility 170 instructs metadata embedder 135 and/or (more generally) service provider 120 to embed tags into the media to be streamed. In the example shown, the tags are formatted as ID3 tags. For example, the tags can be formatted as JavaScript instructions. However, any other format of tags and/or instructions can be used in addition or alternatively. In some examples, metadata embedder 135 is provided to service provider 120 by an audience measurement entity.
在所示示例中,中心设施170存储并且分析从多个不同客户端装置和/或从数据库所有者180、182接收的计量信息。例如,中心设施170可以通过媒体提供商110(例如,通过将与特定媒体提供商110关联的所有计量数据分组)对计量信息进行分类和/或分组。可以另外地或另选地执行计量信息的任何其它处理。在所示示例中,中心设施170与观众测量公司关联并且不涉及将媒体到客户端装置的传递。In the example shown, the central facility 170 stores and analyzes metering information received from a plurality of different client devices and/or from database owners 180, 182. For example, the central facility 170 may categorize and/or group metering information by media provider 110 (e.g., by grouping all metering data associated with a particular media provider 110). Any other processing of the metering information may additionally or alternatively be performed. In the example shown, the central facility 170 is associated with an audience measurement company and is not involved in delivering media to client devices.
尽管以下示例是指观众测量实体,但是任何监测实体都可以充当该角色。图1是用于监测媒体呈现的根据本公开的教导构造的示例系统的框图。在图1的所示示例中,为了跟踪客户端装置160上的媒体印象,观众测量实体(AME)与服务提供商合作或协作,以创建包括监测指令的网站。在所示示例中,AME向服务提供商120提供软件开发工具包(SDK)。图1的示例的SDK是使服务提供商120能够将监测指令结合到发送到客户端装置160的网站中的开发工具的集合(例如,库(例如,动态链接库(DLL)、应用程序编程接口(API)、指令、JavaScript文件等)。在于此公开的示例中,监测指令使得能够识别在客户端装置160处呈现的媒体、以及能够经由与数据库提供商的交互来识别相应用户的用户装置和/或人口统计。Although the following examples refer to an audience measurement entity, any monitoring entity can serve in this role. Figure 1 is a block diagram of an example system constructed in accordance with the teachings of the present disclosure for monitoring media presentations. In the example shown in Figure 1, in order to track media impressions on a client device 160, an audience measurement entity (AME) cooperates or collaborates with a service provider to create a website that includes monitoring instructions. In the example shown, the AME provides a software development kit (SDK) to the service provider 120. The SDK of the example of Figure 1 is a collection of development tools (e.g., libraries (e.g., dynamic link libraries (DLLs), application programming interfaces (APIs), instructions, JavaScript files, etc.) that enable the service provider 120 to incorporate monitoring instructions into a website sent to the client device 160. In the examples disclosed herein, the monitoring instructions enable identification of media presented at the client device 160, and identification of the user device and/or demographics of the corresponding user via interaction with a database provider.
如在此公开的,媒体监测指令包括指令(例如,Java、JavaScript、或任何其它计算机语言或脚本),当由浏览器165和/或(更一般地)客户端装置160执行这些指令时,使得客户端装置160收集和/或另外识别由浏览器165和/或客户端装置160呈现的媒体,并且收集一个或更多个用户标识符166A、166B(例如,cookies)。所示示例的用户标识符166A、166B包括可以由合作方数据库所有者180、182中的相应所有者使用以识别客户端装置160的一个或多个用户并且定位对应于该用户的用户信息的标识符。例如,用户标识符166A、166B可以包括硬件标识符(例如,国际移动设备身份(IMEI))、移动设备标识符(MEID)、媒体访问控制(MAC)地址等)、app商店标识符(例如,GoogleAndroid ID、Apple ID、Amazon ID等)、开放源唯一设备标识符(OpenUDID)、开放装置识别号(ODIN)、登陆标识符(例如,用户名)、电子邮件地址、用户代理数据(例如,应用程序类型、操作系统、软件提供商、软件修订等)、第三方服务标识符(例如,广告服务标识符、装置使用分析服务标识符、人口统计收集服务标识符)、cookies等。在一些示例中,可以使用更少或更多的用户标识符166A、166B。用户标识符166A、166B和媒体识别元数据在请求中被发送到数据库所有者180、182。该请求被称为虚拟请求,因为它实际上不是请求信息(例如,网页),而是用于传送监测信息(例如,用户标识符166A、166B、媒体识别元数据等)的手段。另外,尽管在图1和/或图2中示出仅两个数据库所有者180、182,但是AME可以与任何数量(例如,1个、2个、3个、4个等)的合作方数据库所有者合作,以收集所分布的媒体监测信息。在于此公开的示例中,当例如客户端装置160的用户使用由数据库所有者180、182提供的服务时,数据库所有者180、182收集和/或建立用户标识符166A、166B。As disclosed herein, media monitoring instructions include instructions (e.g., Java, JavaScript, or any other computer language or script) that, when executed by the browser 165 and/or (more generally) the client device 160, cause the client device 160 to collect and/or otherwise identify media presented by the browser 165 and/or the client device 160, and to collect one or more user identifiers 166A, 166B (e.g., cookies). The user identifiers 166A, 166B of the illustrated example include identifiers that can be used by respective ones of the partner database owners 180, 182 to identify one or more users of the client device 160 and locate user information corresponding to the users. For example, user identifiers 166A, 166B may include hardware identifiers (e.g., International Mobile Equipment Identity (IMEI)), mobile equipment identifiers (MEID), media access control (MAC) addresses, etc.), app store identifiers (e.g., Google Android ID, Apple ID, Amazon ID, etc.), open source unique device identifiers (OpenUDID), open device identification numbers (ODIN), login identifiers (e.g., usernames), email addresses, user agent data (e.g., application type, operating system, software provider, software revision, etc.), third-party service identifiers (e.g., advertising service identifiers, device usage analysis service identifiers, demographic collection service identifiers), cookies, etc. In some examples, fewer or more user identifiers 166A, 166B may be used. The user identifiers 166A, 166B and media identification metadata are sent to the database owners 180, 182 in a request. This request is referred to as a virtual request because it is not actually a request for information (e.g., a web page), but rather a means for transmitting monitoring information (e.g., user identifiers 166A, 166B, media identification metadata, etc.). 1 and/or 2 , AME may collaborate with any number (e.g., 1, 2, 3, 4, etc.) of partner database owners to collect distributed media monitoring information. In the examples disclosed herein, when, for example, a user of a client device 160 uses services provided by the database owners 180, 182, the database owners 180, 182 collect and/or establish user identifiers 166A, 166B.
在所示示例中,客户端装置160向服务提供商120请求媒体(线185)。媒体可以是广告、视频、音频、文本、图形、网页、新闻、教育媒体、娱乐媒体、或任何其它类型的媒体。在所示示例中,服务提供商120用媒体回复该请求(线186)。来自服务提供商120(例如,媒体)的回复包括使得浏览器识别到例如第三方的媒体的监测指令。然后,浏览器165通过访问设置在媒体中和/或与媒体关联的媒体ID来显示媒体并且识别媒体。在于此公开的示例中,媒体ID是包括媒体识别元数据、源识别元数据、水印等的ID3标签。奉监测指令之命,浏览器165然后向数据库所有者180发送虚拟请求(线187)。在所示示例中,用户标识符166A(例如,与数据库所有者180关联的cookie)先前已由浏览器165存储。到数据库所有者180的请求(线187)包括用户标识符166A和媒体标识符。在一些示例中,媒体标识符被加密,以防止数据库所有者180、182识别媒体。加密后的媒体标识符随后可以由中心设施170解密。数据库所有者180然后确定其可以基于用户标识符166A识别用户,存储媒体呈现的记录,并且向客户端装置160发送确认(线188)。在随后时间,数据库所有者180将媒体呈现的记录发送到中心设施170(线194),并且依次接收确认消息(线195)。媒体呈现的记录包括媒体识别元数据(其可以被加密)。在一些示例中,记录的媒体识别元数据被格式化为ID3标签。基于所接收的记录,中心设施170和/或(更一般地)AME可以报告针对不同媒体的呈现度量。In the illustrated example, client device 160 requests media from service provider 120 (line 185). The media can be advertisements, video, audio, text, graphics, web pages, news, educational media, entertainment media, or any other type of media. In the illustrated example, service provider 120 responds to the request with the media (line 186). The response from service provider 120 (e.g., the media) includes monitoring instructions that cause the browser to identify the media, for example, from a third party. Browser 165 then displays and identifies the media by accessing a media ID stored in and/or associated with the media. In the example disclosed herein, the media ID is an ID3 tag that includes media identifying metadata, source identifying metadata, a watermark, etc. Following the monitoring instructions, browser 165 then sends a virtual request to database owner 180 (line 187). In the illustrated example, user identifier 166A (e.g., a cookie associated with database owner 180) has been previously stored by browser 165. The request to database owner 180 (line 187) includes user identifier 166A and the media identifier. In some examples, the media identifier is encrypted to prevent the database owners 180, 182 from identifying the media. The encrypted media identifier can then be decrypted by the central facility 170. The database owner 180 then determines that it can identify the user based on the user identifier 166A, stores the record of the media presentation, and sends a confirmation to the client device 160 (line 188). At a later time, the database owner 180 sends the record of the media presentation to the central facility 170 (line 194) and, in turn, receives a confirmation message (line 195). The record of the media presentation includes media identification metadata (which may be encrypted). In some examples, the recorded media identification metadata is formatted as an ID3 tag. Based on the received record, the central facility 170 and/or (more generally) the AME can report presentation metrics for different media.
图2表示可以用于确定到流媒体的曝光的另选示例系统。在图2的所示示例中,浏览器165和/或(更一般地)客户端装置160向服务提供商120请求媒体(线185)。媒体被返回到浏览器165(线186)。奉监测指令之命,浏览器然后将请求和所附用户标识符166A发送到第一数据库所有者180(线187)。在图2的所示示例中,数据库所有者不能够识别与用户标识符166A关联的用户(和/或没有用户标识符包括在请求中)。作为响应,数据库所有者180向浏览器165发送HTTP重定向消息。浏览器165遵从重定向消息并且向第二数据库所有者182发送识别媒体的请求以及与第二数据库所有者182关联地存储的用户标识符166B。第二数据库所有者检查用户标识符166B,与媒体标识符关联地存储用户标识符,并且能够识别与用户标识符166B关联的用户,向浏览器165发送确认(线193)。然后,第二数据库所有者182将与用户关联的媒体监测信息和人口统计信息发送到中心设施(线194),并且从中心设施170接收确认(线195)。FIG2 illustrates an alternative example system that can be used to determine exposure to streaming media. In the example shown in FIG2 , a browser 165 and/or (more generally) a client device 160 requests media from a service provider 120 (line 185). The media is returned to the browser 165 (line 186). Following monitoring instructions, the browser then sends the request and the accompanying user identifier 166A to the first database owner 180 (line 187). In the example shown in FIG2 , the database owner is unable to identify the user associated with user identifier 166A (and/or no user identifier is included in the request). In response, database owner 180 sends an HTTP redirect message to the browser 165. The browser 165 complies with the redirect message and sends a request to identify the media, along with the user identifier 166B stored in association with the second database owner 182, to the second database owner 182. The second database owner examines the user identifier 166B, stores it in association with the media identifier, and is able to identify the user associated with user identifier 166B, sending a confirmation to the browser 165 (line 193). The second database owner 182 then sends the media monitoring information and demographic information associated with the user to the central facility (line 194) and receives confirmation from the central facility 170 (line 195).
图2A表示可以用于确定到流媒体的曝光的另选示例系统。在图2A的所示示例中,代替将第一虚拟请求发送到数据库所有者180(例如,如由图2的线187所示的),图2A的第一虚拟请求被发送到中心设施170(例如,如由图2A的线197所示的)。Figure 2A shows an alternative example system that can be used to determine exposure to streaming media. In the example shown in Figure 2A, instead of sending the first virtual request to database owner 180 (e.g., as shown by line 187 of Figure 2), the first virtual request of Figure 2A is sent to central facility 170 (e.g., as shown by line 197 of Figure 2A).
在图2A的所示示例中,第一请求浏览器165和/或(更一般地)客户端装置160向服务提供商120请求媒体(线185)。媒体被返回到浏览器165(线186)。奉监测指令(例如,由利用媒体发送的ID3标签定位或者承载在ID3标签中的指令)之命,浏览器然后将请求和所附用户标识符166A发送到中心设施170(线197)。在图2的所示示例中,中心设施170不能够识别与用户标识符166A关联的用户(和/或没有用户标识符包括在请求中)。作为响应,中心设施170将HTTP重定向消息发送到浏览器165(线198)。In the example shown in FIG2A , a first requesting browser 165 and/or (more generally) client device 160 requests media from service provider 120 (line 185). The media is returned to browser 165 (line 186). Acting upon monitoring instructions (e.g., instructions located by or carried in an ID3 tag sent with the media), the browser then sends the request and the attached user identifier 166A to central facility 170 (line 197). In the example shown in FIG2 , central facility 170 is unable to identify the user associated with user identifier 166A (and/or no user identifier is included in the request). In response, central facility 170 sends an HTTP redirect message to browser 165 (line 198).
像图2的示例数据库所有者180那样,图2A的示例中心设施170接收来自浏览器165的虚拟请求,并且在一些示例中,用重定向消息回复浏览器165。浏览器165遵从重定向消息并且向数据库所有者182发送识别媒体的请求以及与数据库所有者182关联地存储的用户标识符166B。数据库所有者检查用户标识符166B,与媒体标识符关联地存储用户标识符,并且能够识别与用户标识符166B关联的用户,向浏览器165发送确认(线193)。然后,数据库所有者182将与用户关联的媒体监测信息和人口统计信息发送到中心设施170(线194),并且从中心设施170接收确认(线195)。Like the example database owner 180 of FIG2 , the example central facility 170 of FIG2A receives the virtual request from the browser 165 and, in some examples, responds to the browser 165 with a redirect message. The browser 165 complies with the redirect message and sends a request to the database owner 182 to identify the media and the user identifier 166B stored in association with the database owner 182. The database owner examines the user identifier 166B, stores the user identifier in association with the media identifier, and is able to identify the user associated with the user identifier 166B, sending a confirmation to the browser 165 (line 193). The database owner 182 then sends the media monitoring information and demographic information associated with the user to the central facility 170 (line 194) and receives a confirmation from the central facility 170 (line 195).
虽然在图1、图2和/或图2A的所示示例中,示出仅两个数据库所有者,但是可以另外地或另选地使用任何数量的数据库所有者。此外,虽然在所示示例中,单个数据库所有者记录监测信息,但是多个数据库所有者可以记录这样的信息。记录与关于多个位置处的媒体识别信息的媒体的呈现关联的媒体识别信息和/或人口统计信息可以增加与媒体呈现关联的人口统计信息的准确性,能够记录原本不被记录的监测信息等。While only two database owners are shown in the examples shown in FIG1 , FIG2 , and/or FIG2A , any number of database owners may additionally or alternatively be used. Furthermore, while a single database owner records monitoring information in the examples shown, multiple database owners may record such information. Recording media identification information and/or demographic information associated with the presentation of media related to media identification information at multiple locations may increase the accuracy of demographic information associated with the presentation of media, enable recording of monitoring information that would not otherwise be recorded, and the like.
图3是图1的浏览器165的示例实现的框图。图3的所示示例的浏览器165包括示例媒体呈现器310、示例事件监听器320、示例元数据检索器330、示例元数据转换器340、示例元数据发送位置确定器345、示例发送器350和示例用户识别信息仓库335。FIG3 is a block diagram of an example implementation of the browser 165 of FIG1. The example browser 165 of FIG3 includes an example media renderer 310, an example event listener 320, an example metadata retriever 330, an example metadata converter 340, an example metadata sending location determiner 345, an example sender 350, and an example user identification information repository 335.
图3的所示示例的媒体呈现器310由执行指令的处理器来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在所示示例中,媒体呈现器310与应用程序编程接口(API)交互,以经由客户端装置160显示媒体。虽然在所示示例中,使用API,但是可以另外地或另选地采用任何其它媒体呈现框架。例如,示例媒体呈现器310可以与媒体呈现框架交互。The media renderer 310 of the illustrated example of FIG3 is implemented by a processor that executes instructions, but it can be implemented additionally or alternatively by analog circuits, ASICs, DSPs, FPGAs, and/or other circuits. In the illustrated example, the media renderer 310 interacts with an application programming interface (API) to display media via the client device 160. Although the API is used in the illustrated example, any other media presentation framework can be used additionally or alternatively. For example, the example media renderer 310 can interact with a media presentation framework.
图3的所示示例的示例事件监听器320由逻辑电路(诸如,执行指令的处理器)来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,媒体呈现器310和事件监听器320由相同物理处理器来实现。在所示示例中,示例事件监听器320与JavaScript功能交互,以能够接收和/或监听事件通知。事件通知是浏览器和/或应用程序内的活动的任何通知。当例如加载新网页,呈现媒体、检测用户输入等时,可以触发事件通知。虽然在所示示例中使用JavaScript来监听事件通知,但是可以使用任何其它框架(诸如,例如,ActiveX、Microsoft Silverlight等)来监听事件通知。The example event listener 320 of the illustrated example of Figure 3 is implemented by a logic circuit (such as a processor that executes instructions), but it can be implemented additionally or alternatively by an analog circuit, an ASIC, a DSP, an FPGA and/or other circuit. In some examples, the media presenter 310 and the event listener 320 are implemented by the same physical processor. In the illustrated example, the example event listener 320 interacts with a JavaScript function to be able to receive and/or listen for event notifications. An event notification is any notification of an activity within a browser and/or application. When, for example, a new web page is loaded, media is presented, user input is detected, etc., an event notification can be triggered. Although JavaScript is used to listen for event notifications in the illustrated example, any other framework (such as, for example, ActiveX, Microsoft Silverlight, etc.) can be used to listen for event notifications.
图3的所示示例的元数据检索器330由逻辑电路(诸如,执行指令的处理器)来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,媒体呈现器310、事件监听器320和元数据检索器330由相同物理处理器来实现。在所示示例中,在由事件监听器320检测到事件通知时,元数据检索器330从媒体呈现器310中检索元数据。在所示示例中,元数据检索器330通过使用JavaScript检查媒体呈现器310的文档对象模型(DOM)对象来检索元数据。虽然在所示示例中使用JavaScript来检索DOM对象,但是可以使用任何其它框架(诸如,例如,ActiveX、Microsoft Silverlight等)来检索DOM对象。在一些示例中,元数据检索器330检索关于媒体呈现器310和/或(更一般地)浏览器165的操作信息。所检索的操作信息可以包括例如关于媒体呈现器310是完全可见还是部分可见(例如,媒体呈现器310完全可见,媒体呈现器31050%可见,媒体呈现器310不可见等)的信息,关于媒体呈现器310是在前台还是后台等的信息等。在一些示例中,操作信息被发送到观众测量实体,以能够计算附加媒体呈现度量(例如,用户是否在后台用媒体呈现器310监听流音频等)。The metadata retriever 330 of the illustrated example of FIG3 is implemented by logic circuitry (such as a processor executing instructions), but may also or alternatively be implemented by analog circuitry, an ASIC, a DSP, an FPGA, and/or other circuitry. In some examples, the media renderer 310, the event listener 320, and the metadata retriever 330 are implemented by the same physical processor. In the illustrated example, upon detecting an event notification by the event listener 320, the metadata retriever 330 retrieves metadata from the media renderer 310. In the illustrated example, the metadata retriever 330 retrieves metadata by inspecting the Document Object Model (DOM) object of the media renderer 310 using JavaScript. While JavaScript is used to retrieve the DOM object in the illustrated example, any other framework (such as, for example, ActiveX, Microsoft Silverlight, etc.) may be used to retrieve the DOM object. In some examples, the metadata retriever 330 retrieves information about the operation of the media renderer 310 and/or (more generally) the browser 165. The retrieved operational information may include, for example, information regarding whether the media presenter 310 is fully visible or partially visible (e.g., media presenter 310 is fully visible, media presenter 310 is 50% visible, media presenter 310 is not visible, etc.), information regarding whether the media presenter 310 is in the foreground or background, etc. In some examples, the operational information is sent to an audience measurement entity to enable calculation of additional media presentation metrics (e.g., whether a user is listening to streaming audio with the media presenter 310 in the background, etc.).
图3的所示示例的元数据转换器340由逻辑电路(诸如,执行指令的处理器)来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,媒体呈现器310、事件监听器320、元数据检索器330和元数据转换器340由相同物理处理器来实现。在所示示例中,元数据转换器340将由元数据检索器330检索的元数据转换成用于发送到数据库所有者180、182的格式。例如,元数据转换器340可以对元数据和/或元数据的部分进行加密、解密、压缩、修改等,以例如减少将被发送到数据库所有者180、182的数据量。在一些示例中,元数据转换器340对媒体识别元数据加密,以防止数据库所有者180、182识别媒体。在这样的示例中,数据库所有者180、182与加密后的媒体识别元数据关联地将人口统计信息发送到中心设施170。中心设施170(例如,观众测量实体)将加密后的媒体识别元数据解密,以识别所呈现的媒体。The metadata converter 340 of the illustrated example of FIG3 is implemented by logic circuitry (such as a processor executing instructions), but may also or alternatively be implemented by analog circuitry, an ASIC, a DSP, an FPGA, and/or other circuitry. In some examples, the media renderer 310, the event listener 320, the metadata retriever 330, and the metadata converter 340 are implemented by the same physical processor. In the illustrated example, the metadata converter 340 converts the metadata retrieved by the metadata retriever 330 into a format for transmission to the database owners 180, 182. For example, the metadata converter 340 may encrypt, decrypt, compress, modify, or otherwise modify the metadata and/or portions of the metadata to, for example, reduce the amount of data to be transmitted to the database owners 180, 182. In some examples, the metadata converter 340 encrypts media identification metadata to prevent the database owners 180, 182 from identifying the media. In such examples, the database owners 180, 182 transmit demographic information to the central facility 170 in conjunction with the encrypted media identification metadata. The central facility 170 (eg, an audience measurement entity) decrypts the encrypted media identification metadata to identify the presented media.
图3的所示示例的元数据发送位置确定器345由逻辑电路(诸如,执行指令的处理器)来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,媒体呈现器310、事件监听器320、元数据检索器330、元数据转换器340和元数据发送位置确定器345由相同物理处理器来实现。在所示示例中,元数据发送位置确定器345检查元数据和/或利用元数据发送的信息,以确定发送承载元数据和任何关联用户识别信息(例如,用户标识符166A、166B)的虚拟请求的位置。在所示示例中,元数据作为ID3标签被发送。在一些这样的示例中,ID3标签包括虚拟请求应该被发送到的目的地。在所示示例中,目的地是统一资源定位符(URL),URL包括媒体识别信息以及指定应该发送URL的互联网域(例如,databaseproprietor.com/<media-identifying information>)。然而,在一些示例中,目的地和媒体识别信息被单独发送。在这样的示例中,元数据发送位置确定器345基于目的地和媒体识别信息来确定URL。The metadata transmission location determiner 345 of the illustrated example of FIG3 is implemented by logic circuitry (such as a processor executing instructions), but it may also or alternatively be implemented by analog circuitry, an ASIC, a DSP, an FPGA, and/or other circuitry. In some examples, the media presenter 310, the event listener 320, the metadata retriever 330, the metadata converter 340, and the metadata transmission location determiner 345 are implemented by the same physical processor. In the illustrated example, the metadata transmission location determiner 345 examines the metadata and/or information transmitted using the metadata to determine where to send a virtual request carrying the metadata and any associated user identification information (e.g., user identifiers 166A, 166B). In the illustrated example, the metadata is transmitted as an ID3 tag. In some such examples, the ID3 tag includes a destination to which the virtual request should be sent. In the illustrated example, the destination is a uniform resource locator (URL) that includes media identification information and an internet domain specifying the URL to which the URL should be sent (e.g., databaseproprietor.com/<media-identifying information>). However, in some examples, the destination and media identification information are sent separately. In such an example, the metadata transmission location determiner 345 determines the URL based on the destination and the media identification information.
在一些示例中,不同服务提供商实现监测指令,以指定媒体识别信息将被发送到的目的地(例如,特定数据库所有者)。不同服务提供商可以因此与不同数据库所有者关联。与不同数据库所有者关联可能使得媒体印象的更有效和/或更准确记录和这些印象与人口统计信息的关联。例如,相比于与社交媒体(例如,Facebook、Twitter等)关联的数据库所有者,在金融网站处查看媒体的用户可能更容易通过与金融服务关联的数据库所有者(例如,股票经纪人、征信所、Experian等)被识别。因此,服务提供商可以创建监测指令,以使客户端装置向与将被注释的媒体匹配的特定数据库所有者(例如,Experian)发送虚拟请求。In some examples, different service providers implement monitoring instructions to specify a destination (e.g., a specific database owner) to which media identification information will be sent. Different service providers can therefore be associated with different database owners. Association with different database owners may enable more efficient and/or more accurate recording of media impressions and association of these impressions with demographic information. For example, a user viewing media at a financial website may be more easily identified by a database owner associated with financial services (e.g., a stock broker, credit bureau, Experian, etc.) than by a database owner associated with social media (e.g., Facebook, Twitter, etc.). Thus, a service provider can create monitoring instructions to cause a client device to send a virtual request to a specific database owner (e.g., Experian) that matches the media to be annotated.
在所示示例中,传送媒体识别元数据的ID3标签的目的地字段包括当通过监测指令解释时使得监测指令向指定目的地(例如,URL)发送虚拟请求的目的地字段。在这样的示例中,奉监测指令之命,客户端装置基于ID3标签的目的地字段,确定发送虚拟请求的位置。结合图8的框810和815公开基于ID3标签的目的地字段确定发送虚拟请求的位置的这样的示例。另选地,针对给定服务提供商的监测指令可以引导客户端装置向预定位置发送虚拟请求。也就是说,不是基于ID3标签的目的地字段来确定位置,而是该位置基于监测指令的指令。在一些示例中,指令是由元数据发送位置确定器345实现的JavaScript指令。结合图8的框820和825公开基于监测指令的指令确定发送虚拟请求的位置的示例。In the illustrated example, the destination field of the ID3 tag that conveys media identification metadata includes a destination field that, when interpreted by the monitoring instruction, causes the monitoring instruction to send a virtual request to a specified destination (e.g., a URL). In such an example, the client device, in response to the monitoring instruction, determines the location to send the virtual request based on the destination field of the ID3 tag. Such an example of determining the location to send the virtual request based on the destination field of the ID3 tag is disclosed in conjunction with blocks 810 and 815 of FIG. 8 . Alternatively, the monitoring instruction for a given service provider can direct the client device to send the virtual request to a predetermined location. That is, rather than determining the location based on the destination field of the ID3 tag, the location is based on the instructions of the monitoring instruction. In some examples, the instruction is a JavaScript instruction implemented by the metadata transmission location determiner 345. An example of determining the location to send the virtual request based on the instructions of the monitoring instruction is disclosed in conjunction with blocks 820 and 825 of FIG. 8 .
图3的所示示例的发送器350由逻辑电路(诸如,执行指令的处理器)来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,媒体呈现器310、事件监听器320、元数据检索器330、元数据转换器340、元数据发送位置确定器345和发送器350由相同物理处理器来实现。在所示示例中,发送器350经由例如互联网将媒体识别信息和/或用户识别信息(例如,用户标识符166A、166B)发送到数据库所有者180、182。虽然在所示示例中基本上实时地发送媒体识别信息,但是在一些示例中,媒体识别信息在被发送到数据库所有者180、182之前被存储、高速缓存、和/或缓冲。另外,虽然在所示示例中,媒体识别信息被发送到数据库所有者180、182,但是在一些示例中,媒体识别信息被发送到不同的目的地(诸如,例如,中心设施170)。另外地或另选地,发送器350可以发送浏览器165和/或客户端装置160的用户标识符166A、166B,以使数据库所有者180、182能够使媒体呈现与用户、人口统计等相关联。在一些示例中,媒体识别信息在由发送器350发送之前被加密。对媒体识别信息加密防止数据库所有者180、182访问关于什么媒体被识别的信息。在一些示例中,发送器350将由元数据检索器330检索的操作信息连同媒体识别信息一起发送。The transmitter 350 of the illustrated example of FIG3 is implemented by logic circuitry (such as a processor executing instructions), but it may also or alternatively be implemented by analog circuitry, an ASIC, a DSP, an FPGA, and/or other circuitry. In some examples, the media presenter 310, the event listener 320, the metadata retriever 330, the metadata converter 340, the metadata send location determiner 345, and the transmitter 350 are implemented by the same physical processor. In the illustrated example, the transmitter 350 transmits media identification information and/or user identification information (e.g., user identifiers 166A, 166B) to the database owners 180, 182 via, for example, the Internet. While the media identification information is transmitted substantially in real time in the illustrated example, in some examples, the media identification information is stored, cached, and/or buffered before being transmitted to the database owners 180, 182. Furthermore, while the media identification information is transmitted to the database owners 180, 182 in the illustrated example, in some examples, the media identification information is transmitted to a different destination (such as, for example, the central facility 170). Additionally or alternatively, the sender 350 can send the user identifier 166A, 166B of the browser 165 and/or client device 160 to enable the database owner 180, 182 to associate the media presentation with a user, demographic, etc. In some examples, the media identification information is encrypted before being sent by the sender 350. Encrypting the media identification information prevents the database owner 180, 182 from accessing information about what media is identified. In some examples, the sender 350 sends the operational information retrieved by the metadata retriever 330 along with the media identification information.
所示示例的用户识别信息仓库355由用于存储信息(例如,用户识别信息、cookies等)的存储器来实现。图3的所示示例的示例用户识别信息仓库355可以是用于存储数据的任何装置(诸如,例如,闪存、磁媒体、光学媒体等)。在所示示例中,用户识别信息仓库355由客户端装置160的随机存取存储器来实现。此外,存储在用户识别信息仓库355中的数据可以是任何数据格式(诸如,例如,二进制数据、逗号分隔数据、制表符分隔数据、结构化查询语言(SQL)结构等)。虽然在所示示例中,用户识别信息仓库355被示出为单个数据库,但是用户识别信息仓库355可以由多个数据库来实现,和/或存储在媒体装置的多个存储器位置。在所示示例中,每条用户识别信息与域关联地被存储。当发送请求(例如,图1的线187的虚拟请求)时,仅发送与目的地域关联的用户识别信息。The user identification information repository 355 of the illustrated example is implemented by a memory for storing information (e.g., user identification information, cookies, etc.). The example user identification information repository 355 of the illustrated example of FIG. 3 can be any device for storing data (such as, for example, flash memory, magnetic media, optical media, etc.). In the illustrated example, the user identification information repository 355 is implemented by random access memory of the client device 160. Furthermore, the data stored in the user identification information repository 355 can be in any data format (such as, for example, binary data, comma-delimited data, tab-delimited data, Structured Query Language (SQL) structures, etc.). Although the user identification information repository 355 is shown as a single database in the illustrated example, the user identification information repository 355 can be implemented by multiple databases and/or stored in multiple memory locations of a media device. In the illustrated example, each piece of user identification information is stored in association with a domain. When a request is sent (e.g., the virtual request of line 187 of FIG. 1 ), only the user identification information associated with the destination domain is sent.
图4是图1、图2和/或图2A的数据库所有者180、182的示例实现的框图。图4的所示示例的数据库所有者180、182包括HTTP服务器410、用户注册数据接收器420、人口统计信息数据库430、用户ID比较器440、元数据处理器450、元数据数据库460和元数据发送器470。FIG4 is a block diagram of an example implementation of the database owners 180, 182 of FIG1 , FIG2 , and/or FIG2A . The database owners 180, 182 of the illustrated example of FIG4 include an HTTP server 410, a user registration data receiver 420, a demographic information database 430, a user ID comparator 440, a metadata processor 450, a metadata database 460, and a metadata transmitter 470.
图4的所示示例的HTTP服务器410由执行指令的处理器来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在所示示例中,示例HTTP服务器410接收来自浏览器165的请求,该请求包括例如用户标识符166A、166B和/或由浏览器165识别的媒体识别信息(其可以被加密)。图4的示例HTTP服务器410利用HTTP确认消息和/或HTTP重定向消息响应来自浏览器165的请求。虽然在所示示例中,HTTP服务器410使用HTTP协议进行通信,但是可以另外地或另选地使用任何其它协议(诸如,例如,HTTP协议、FTP协议等)。The example HTTP server 410 of FIG4 is implemented by a processor that executes instructions, but it can also or alternatively be implemented by analog circuits, ASICs, DSPs, FPGAs, and/or other circuits. In the example shown, the example HTTP server 410 receives a request from the browser 165, which includes, for example, user identifiers 166A, 166B and/or media identification information (which can be encrypted) recognized by the browser 165. The example HTTP server 410 of FIG4 responds to the request from the browser 165 using an HTTP confirmation message and/or an HTTP redirect message. Although in the example shown, the HTTP server 410 uses the HTTP protocol for communication, any other protocol (such as, for example, the HTTP protocol, the FTP protocol, etc.) can also or alternatively be used.
图4的所示示例的用户注册数据接收器420由执行指令的处理器来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,用户注册数据接收器420和HTTP服务器410由相同物理处理器来实现。在所示示例中,示例用户注册数据接收器420接收来自客户端装置160的用户的注册数据。注册数据可以包括例如人口统计信息、用户名、地理信息、和/或与用户关联的任何其它信息。在所示示例中,用户注册数据接收器420经由HTTP服务器410接收来自用户的注册信息。也就是说,经由网络(诸如,例如,互联网)接收注册信息。然而,可以以任何其它方式接收用户信息。例如,可以经由电话呼叫、传真发送、手动输入等接收用户注册数据,图4的所示示例的用户注册数据接收器420将用户注册数据存储在人口统计信息数据库430中。The user registration data receiver 420 of the illustrated example of FIG4 is implemented by a processor that executes instructions, but it may also or alternatively be implemented by analog circuits, ASICs, DSPs, FPGAs, and/or other circuits. In some examples, the user registration data receiver 420 and the HTTP server 410 are implemented by the same physical processor. In the illustrated example, the example user registration data receiver 420 receives registration data from a user of the client device 160. The registration data may include, for example, demographic information, user name, geographic information, and/or any other information associated with the user. In the illustrated example, the user registration data receiver 420 receives the registration information from the user via the HTTP server 410. In other words, the registration information is received via a network (such as, for example, the Internet). However, the user information may be received in any other manner. For example, the user registration data may be received via a telephone call, fax transmission, manual input, etc., and the user registration data receiver 420 of the illustrated example of FIG4 stores the user registration data in the demographic information database 430.
所示示例的人口统计信息数据库430由用于存储用户注册数据(例如,与用户关联的人口统计信息)的存储器来实现。图4的所示示例的示例人口统计信息数据库430可以是用于存储数据的任何装置(诸如,例如,闪存、磁媒体、光学媒体等)。在所示示例中,人口统计信息数据库430由数据库所有者180、182的随机存取存储器来实现。此外,存储在人口统计信息数据库430中的数据可以是任何数据格式(诸如,例如,二进制数据、逗号分隔数据、制表符分隔数据、结构化查询语言(SQL)结构等)。虽然在所示示例中,人口统计信息数据库430被示出为单个数据库,但是人口统计信息数据库430可以由多个数据库来实现,和/或存储在数据库所有者180、182的多个存储器位置。The demographic information database 430 of the illustrated example is implemented by a memory for storing user registration data (e.g., demographic information associated with a user). The example demographic information database 430 of the illustrated example of FIG. 4 can be any device for storing data (such as, for example, flash memory, magnetic media, optical media, etc.). In the illustrated example, the demographic information database 430 is implemented by random access memory of the database owner 180, 182. Furthermore, the data stored in the demographic information database 430 can be in any data format (such as, for example, binary data, comma-delimited data, tab-delimited data, Structured Query Language (SQL) structures, etc.). Although the demographic information database 430 is shown as a single database in the illustrated example, the demographic information database 430 can be implemented by multiple databases and/or stored in multiple memory locations of the database owner 180, 182.
图4的所示示例的用户ID比较器440由执行指令的处理器来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,示例用户ID比较器440、示例HTTP服务器410和示例用户注册数据接收器420由相同物理处理器来实现。在所示示例中,用户ID比较器440经由HTTP服务器410接收来自浏览器165的虚拟请求(例如,图1的线187的虚拟请求)。虚拟请求可以包括用户标识符168A、166B。因此,用户ID比较器440检查该请求以确定是否存在用户标识符,和/或如果存在,则确定是否可以使用用户标识符来确定用户ID。如果不能识别用户(例如,用户标识符是未知的或者不存在),则用户ID比较器440向HTTP服务器410信号发送浏览器165应该被重定向到不同位置(例如,数据库所有者182、中心设施170)。如果能够识别用户,则用户ID比较器440将媒体识别元数据(其可以被加密)和用户ID传输到元数据数据库460。The user ID comparator 440 of the illustrated example of FIG4 is implemented by a processor that executes instructions, but it can also or alternatively be implemented by analog circuits, ASICs, DSPs, FPGAs, and/or other circuits. In some examples, the example user ID comparator 440, the example HTTP server 410, and the example user registration data receiver 420 are implemented by the same physical processor. In the illustrated example, the user ID comparator 440 receives a virtual request (e.g., the virtual request of line 187 of FIG1 ) from the browser 165 via the HTTP server 410. The virtual request may include user identifiers 168A and 166B. Therefore, the user ID comparator 440 checks the request to determine whether the user identifier is present, and/or, if present, whether the user identifier can be used to determine the user ID. If the user cannot be identified (e.g., the user identifier is unknown or does not exist), the user ID comparator 440 signals the HTTP server 410 that the browser 165 should be redirected to a different location (e.g., database owner 182, central facility 170). If the user can be identified, the user ID comparator 440 transmits the media identification metadata (which may be encrypted) and the user ID to the metadata database 460 .
图4的所示示例的元数据处理器450由执行指令的处理器来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,元数据处理器450、示例HTTP服务器410、示例用户注册数据接收器420和示例用户ID比较器440由相同物理处理器来实现。在所示示例中,元数据处理器450与媒体识别元数据(其可以被加密)关联地将由用户ID比较器440识别的用户ID存储在元数据数据库460中。The metadata processor 450 of the illustrated example of FIG4 is implemented by a processor that executes instructions, but it may also or alternatively be implemented by analog circuits, ASICs, DSPs, FPGAs, and/or other circuits. In some examples, the metadata processor 450, the example HTTP server 410, the example user registration data receiver 420, and the example user ID comparator 440 are implemented by the same physical processor. In the illustrated example, the metadata processor 450 stores the user ID identified by the user ID comparator 440 in a metadata database 460 in association with the media identification metadata (which may be encrypted).
元数据数据库460由用于存储经由虚拟请求(例如,由图1的线187表示的请求)从浏览器接收的媒体识别元数据的存储器来实现。图4的所示示例的示例元数据数据库460可以由用于存储数据的任何装置(诸如,例如,闪存、磁媒体、光学媒体等)来实现。在所示示例中,元数据数据库460由数据库所有者180、182的随机存取存储器来实现。此外,存储在元数据数据库460中的数据可以是任何数据格式(诸如,例如,二进制数据、逗号分隔数据、制表符分隔数据、结构化查询语言(SQL)结构等)。虽然在所示示例中,元数据数据库460被示出为单个数据库,但是元数据数据库460可以由多个数据库来实现,和/或存储在数据库所有者180、182的多个存储器位置。此外,虽然在所示示例中,元数据数据库460和人口统计信息数据库430被实现为单独数据库,但是示例元数据数据库460和示例人口统计信息数据库430可以使用单个(即,相同)数据库来实现。Metadata database 460 is implemented by a memory for storing media identification metadata received from a browser via a virtual request (e.g., the request represented by line 187 in FIG. 1 ). The example metadata database 460 of the illustrated example of FIG. 4 can be implemented by any device for storing data, such as, for example, flash memory, magnetic media, optical media, etc. In the illustrated example, metadata database 460 is implemented by random access memory of database owners 180, 182. Furthermore, the data stored in metadata database 460 can be in any data format, such as, for example, binary data, comma-delimited data, tab-delimited data, Structured Query Language (SQL) structures, etc. Although metadata database 460 is shown as a single database in the illustrated example, metadata database 460 can be implemented by multiple databases and/or stored in multiple memory locations of database owners 180, 182. Furthermore, although metadata database 460 and demographic information database 430 are implemented as separate databases in the illustrated example, example metadata database 460 and example demographic information database 430 can be implemented using a single (i.e., identical) database.
图4的所示示例的元数据发送器470由执行指令的处理器来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,示例元数据发送器470、示例HTTP服务器410、示例用户注册数据接收器420、示例用户ID比较器440和示例元数据处理器450由相同物理处理器来实现。在所示示例中,元数据发送器470将与(由媒体识别元数据识别的)媒体被呈现给的用户关联的人口统计信息发送到中心设施170。在所示示例中,当已经向阈值数量的用户呈现媒体时,元数据发送器470发送人口统计信息和关联的媒体识别元数据(其可以被加密)。同样地,跨媒体被呈现给的多个用户聚集人口统计信息。然而,在一些示例中,以个体为基础发送人口统计信息。在所示示例中,元数据发送器470向中心设施170发送数据,而不管中心设施170是否已经请求了数据。然而,在一些示例中,中心设施170可以请求元数据发送器470发送数据。The example metadata transmitter 470 of FIG. 4 is implemented by a processor executing instructions, but it may also or alternatively be implemented by analog circuitry, an ASIC, a DSP, an FPGA, and/or other circuitry. In some examples, the example metadata transmitter 470, the example HTTP server 410, the example user registration data receiver 420, the example user ID comparator 440, and the example metadata processor 450 are implemented by the same physical processor. In the example shown, the metadata transmitter 470 transmits demographic information associated with the user to whom the media was presented (identified by the media identification metadata) to the central facility 170. In the example shown, when the media has been presented to a threshold number of users, the metadata transmitter 470 transmits the demographic information and the associated media identification metadata (which may be encrypted). Similarly, the demographic information is aggregated across the multiple users to whom the media was presented. However, in some examples, the demographic information is transmitted on an individual basis. In the example shown, the metadata transmitter 470 transmits data to the central facility 170 regardless of whether the central facility 170 has requested the data. However, in some examples, the central facility 170 may request the metadata transmitter 470 to transmit the data.
图4A是图1、图2和/或图2A的中心设施170的示例实现的框图。图4A的所示示例的中心设施170包括HTTP服务器171、用户注册数据接收器421、人口统计信息数据库431、用户ID比较器441、元数据处理器451、元数据数据库461和元数据指示器480和数据接收器481。FIG4A is a block diagram of an example implementation of the central facility 170 of FIG1 , FIG2 , and/or FIG2A . The central facility 170 of the illustrated example of FIG4A includes an HTTP server 171, a user registration data receiver 421, a demographic information database 431, a user ID comparator 441, a metadata processor 451, a metadata database 461, a metadata indicator 480, and a data receiver 481.
图4A的所示示例的HTTP服务器171由执行指令的处理器来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在所示示例中,示例HTTP服务器171接收来自浏览器165的请求,该请求包括例如用户标识符166A、166B和/或由浏览器165识别的媒体识别信息(其可以被加密)。图4A的示例HTTP服务器171利用HTTP确认消息和/或HTTP重定向消息响应来自浏览器165的请求。虽然在所示示例中,HTTP服务器171使用HTTP协议进行通信,但是可以另外地或另选地使用任何其它协议(诸如,例如,HTTP协议、FTP协议等)。The example HTTP server 171 of FIG4A is implemented by a processor that executes instructions, but it can also or alternatively be implemented by analog circuits, ASICs, DSPs, FPGAs, and/or other circuits. In the example shown, the example HTTP server 171 receives a request from the browser 165, which includes, for example, user identifiers 166A, 166B and/or media identification information (which can be encrypted) recognized by the browser 165. The example HTTP server 171 of FIG4A responds to the request from the browser 165 using an HTTP confirmation message and/or an HTTP redirect message. Although in the example shown, the HTTP server 171 uses the HTTP protocol for communication, any other protocol (such as, for example, the HTTP protocol, the FTP protocol, etc.) can also or alternatively be used.
图4A的所示示例的用户注册数据接收器421由执行指令的处理器来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,用户注册数据接收器421和HTTP服务器171由相同物理处理器来实现。在所示示例中,示例用户注册数据接收器421从客户端装置160的用户接收注册数据。注册数据可以包括例如人口统计信息、用户名、地理信息、和/或与用户关联的任何其它信息。在所示示例中,用户注册数据接收器420经由HTTP服务器171接收来自用户的注册信息。也就是说,经由网络(诸如,例如,互联网)接收注册信息。然而,可以按任何其它方式接收用户信息。例如,可以经由电话呼叫、传真发送、手动输入等来接收用户注册数据,图4A的所示示例的用户注册数据接收器421将用户注册数据存储在人口统计信息数据库431中。The user registration data receiver 421 of the illustrated example of FIG4A is implemented by a processor that executes instructions, but it can also or alternatively be implemented by analog circuits, ASICs, DSPs, FPGAs, and/or other circuits. In some examples, the user registration data receiver 421 and the HTTP server 171 are implemented by the same physical processor. In the illustrated example, the example user registration data receiver 421 receives registration data from a user of the client device 160. The registration data may include, for example, demographic information, user name, geographic information, and/or any other information associated with the user. In the illustrated example, the user registration data receiver 420 receives the registration information from the user via the HTTP server 171. In other words, the registration information is received via a network (such as, for example, the Internet). However, the user information can be received in any other manner. For example, the user registration data can be received via a telephone call, fax transmission, manual input, etc., and the user registration data receiver 421 of the illustrated example of FIG4A stores the user registration data in the demographic information database 431.
所示示例的人口统计信息数据库430由用于存储用户注册数据(例如,与用户关联的人口统计信息)的存储器来实现。图4A的所示示例的示例人口统计信息数据库431可以是用于存储数据的任何装置(诸如,例如,闪存、磁媒体、光学媒体等)。在所示示例中,人口统计信息数据库431由中心设施170的随机存取存储器来实现。此外,存储在人口统计信息数据库431中的数据可以是任何数据格式(诸如,例如,二进制数据、逗号分隔数据、制表符分隔数据、结构化查询语言(SQL)结构等)。虽然在所示示例中,人口统计信息数据库431被示出为单个数据库,但是人口统计信息数据库431可以由多个数据库来实现,和/或存储在中心设施170的多个存储器位置。The demographic information database 430 of the illustrated example is implemented by a memory for storing user registration data (e.g., demographic information associated with a user). The example demographic information database 431 of the illustrated example of FIG. 4A can be any device for storing data (such as, for example, flash memory, magnetic media, optical media, etc.). In the illustrated example, the demographic information database 431 is implemented by random access memory of the central facility 170. Furthermore, the data stored in the demographic information database 431 can be in any data format (such as, for example, binary data, comma-delimited data, tab-delimited data, Structured Query Language (SQL) structures, etc.). Although the demographic information database 431 is shown as a single database in the illustrated example, the demographic information database 431 can be implemented by multiple databases and/or stored in multiple memory locations of the central facility 170.
图4A的所示示例的用户ID比较器441由执行指令的处理器来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,示例用户ID比较器441、示例HTTP服务器171和示例用户注册数据接收器421由相同物理处理器来实现。在所示示例中,用户ID比较器441经由HTTP服务器411接收来自浏览器165的虚拟请求(例如,图2A的线197的虚拟请求)。虚拟请求可以包括用户标识符168A、166B。因此,用户ID比较器441检查请求以确定是否存在用户标识符,和/或如果存在,则确定是否可使用用户标识符来确定用户ID。如果不能识别用户(例如,用户标识符是未知的或者在请求中不存在),则用户ID比较器441向HTTP服务器171信号发送浏览器165应该被重定向到不同位置(例如,数据库所有者182、中心设施170)。如果能够识别用户,则用户ID比较器441将媒体识别元数据(其可以被加密)和用户ID传送到元数据数据库461。The user ID comparator 441 of the illustrated example of FIG4A is implemented by a processor that executes instructions, but it may alternatively or alternatively be implemented by analog circuits, ASICs, DSPs, FPGAs, and/or other circuits. In some examples, the example user ID comparator 441, the example HTTP server 171, and the example user registration data receiver 421 are implemented by the same physical processor. In the illustrated example, the user ID comparator 441 receives a virtual request (e.g., the virtual request of line 197 of FIG2A ) from the browser 165 via the HTTP server 411. The virtual request may include user identifiers 168A and 166B. Therefore, the user ID comparator 441 examines the request to determine whether the user identifier is present, and/or, if present, determines whether the user identifier can be used to determine the user ID. If the user cannot be identified (e.g., the user identifier is unknown or not present in the request), the user ID comparator 441 signals the HTTP server 171 that the browser 165 should be redirected to a different location (e.g., database owner 182, central facility 170). If the user can be identified, the user ID comparator 441 transmits the media identification metadata (which may be encrypted) and the user ID to the metadata database 461 .
图4A的所示示例的元数据处理器451由执行指令的处理器来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,元数据处理器451、示例HTTP服务器171、示例用户注册数据接收器421和示例用户ID比较器441由相同物理处理器来实现。在所示示例中,元数据处理器451与媒体识别元数据(其可以被加密)关联地将用户ID比较器441识别的用户ID存储在元数据数据库461中。The metadata processor 451 of the illustrated example of FIG4A is implemented by a processor that executes instructions, but it may also or alternatively be implemented by analog circuits, ASICs, DSPs, FPGAs, and/or other circuits. In some examples, the metadata processor 451, the example HTTP server 171, the example user registration data receiver 421, and the example user ID comparator 441 are implemented by the same physical processor. In the illustrated example, the metadata processor 451 stores the user ID identified by the user ID comparator 441 in a metadata database 461 in association with the media identification metadata (which may be encrypted).
元数据数据库461由用于存储经由虚拟请求(例如,由图2A的线197表示的请求)从浏览器接收的媒体识别元数据的存储器来实现。此外,示例元数据数据库461存储经由数据接收器481从数据库所有者180、182接收的人口统计信息和元数据。图4A的所示示例的示例元数据数据库461可以由用于存储数据的任何装置(诸如,例如,闪存、磁媒体、光学媒体等)来实现。在所示示例中,元数据数据库461由中心设施170的随机存取存储器来实现。此外,存储在元数据数据库461中的数据可以是任何数据格式(诸如,例如,二进制数据、逗号分隔数据、制表符分隔数据、结构化查询语言(SQL)结构等)。虽然在所示示例中,元数据数据库461被示出为单个数据库,但是元数据数据库461可以由多个数据库来实现,和/或存储在中心设施170的多个存储器位置。此外,虽然在所示示例中,元数据数据库461和人口统计信息数据库431被实现为单独数据库,但是示例元数据数据库461和示例人口统计信息数据库431可以使用单个(即,相同)数据库来实现。Metadata database 461 is implemented by memory for storing media identification metadata received from a browser via a virtual request (e.g., the request represented by line 197 in FIG. 2A ). Furthermore, example metadata database 461 stores demographic information and metadata received from database owners 180 , 182 via data receiver 481 . The example metadata database 461 of the illustrated example of FIG. 4A can be implemented by any device for storing data, such as, for example, flash memory, magnetic media, optical media, etc. In the illustrated example, metadata database 461 is implemented by random access memory of central facility 170 . Furthermore, the data stored in metadata database 461 can be in any data format, such as, for example, binary data, comma-delimited data, tab-delimited data, Structured Query Language (SQL) structures, etc. Although metadata database 461 is shown as a single database in the illustrated example, metadata database 461 can be implemented by multiple databases and/or stored in multiple memory locations of central facility 170 . Furthermore, although in the illustrated example, the metadata database 461 and the demographic information database 431 are implemented as separate databases, the example metadata database 461 and the example demographic information database 431 may be implemented using a single (ie, the same) database.
图4A的所示示例的元数据指示器480由执行指令的处理器来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,元数据指示器480、示例元数据处理器451、示例HTTP服务器171、示例用户注册数据接收器421和示例用户ID比较器441由相同物理处理器来实现。在所示示例中,示例中心设施170的示例元数据指示器480指示元数据嵌入器135和/或(更一般地)服务提供商120将标签嵌入将被流处理的媒体中。在所示示例中,元数据嵌入器135指示元数据嵌入器135将标签格式化为ID3标签。标签将使客户端装置(例如,浏览器165和/或(客户端装置160))将消息发送到中心设施170。The example metadata indicator 480 of FIG4A is implemented by a processor executing instructions, but it may also or alternatively be implemented by analog circuitry, an ASIC, a DSP, an FPGA, and/or other circuitry. In some examples, the metadata indicator 480, the example metadata processor 451, the example HTTP server 171, the example user registration data receiver 421, and the example user ID comparator 441 are implemented by the same physical processor. In the example shown, the example metadata indicator 480 of the example central facility 170 instructs the metadata embedder 135 and/or (more generally) the service provider 120 to embed a tag in the media to be streamed. In the example shown, the metadata embedder 135 instructs the metadata embedder 135 to format the tag as an ID3 tag. The tag will cause a client device (e.g., browser 165 and/or (client device 160)) to send a message to the central facility 170.
图4A的所示示例的数据接收器481由执行指令的处理器来实现,但是它可以另外地或另选地由模拟电路、ASIC、DSP、FPGA和/或其它电路来实现。在一些示例中,数据接收器481、示例元数据处理器451、示例HTTP服务器171、示例用户注册数据接收器421和示例用户ID比较器441由相同物理处理器来实现。图4A的所示示例的示例数据接收器481接收来自数据库所有者180、182的元数据和人口统计信息。图5是可以由图3的示例媒体呈现器310显示的示例HLS流500的示例实现的框图。在图5的所示示例中,HLS流500包括清单510和三个传输流。在所示示例中,清单510是描述到客户端装置的可用传输流的.m3u8文件。然而,可以另外地或另选地使用任何其它过去、现在、和/或未来的文件格式。在所示示例中,客户端装置响应于显示HLS元素的指令来检索清单510。The data receiver 481 of the example shown in FIG4A is implemented by a processor that executes instructions, but it can also or alternatively be implemented by analog circuits, ASICs, DSPs, FPGAs, and/or other circuits. In some examples, the data receiver 481, the example metadata processor 451, the example HTTP server 171, the example user registration data receiver 421, and the example user ID comparator 441 are implemented by the same physical processor. The example data receiver 481 of the example shown in FIG4A receives metadata and demographic information from the database owners 180, 182. FIG5 is a block diagram of an example implementation of an example HLS stream 500 that can be displayed by the example media renderer 310 of FIG3. In the example shown in FIG5, the HLS stream 500 includes a manifest 510 and three transport streams. In the example shown, the manifest 510 is a .m3u8 file that describes the available transport streams to the client device. However, any other past, present, and/or future file formats may be used in addition or alternatively. In the example shown, the client device retrieves the manifest 510 in response to an instruction to display the HLS element.
HLS是自适应格式,因为尽管多个装置检索相同清单510,但是根据一个或更多个因素可以显示不同传输流。例如,具有不同带宽可用性(例如,高速互联网连接、低速互联网连接等)和/或不同显示能力(例如,诸如手机的小尺寸屏幕、诸如平板和/或膝上型计算机的中等大小屏幕、诸如电视的大尺寸屏幕)的装置选择用于它们的显示和/或带宽能力的合适传输流。在一些示例中,具有小屏幕和有限带宽的手机使用低分辨率传输流。另选地,在一些示例中,具有大屏幕和高速互联网连接的电视使用高分辨率传输流。随着装置的能力改变(例如,装置从高速互联网连接转移到低速互联网连接),装置可以切换到不同传输流。HLS is an adaptive format because, although multiple devices retrieve the same manifest 510, different transport streams may be displayed depending on one or more factors. For example, devices with different bandwidth availability (e.g., high-speed Internet connection, low-speed Internet connection, etc.) and/or different display capabilities (e.g., small screens such as mobile phones, medium-sized screens such as tablets and/or laptops, large screens such as televisions) select an appropriate transport stream for their display and/or bandwidth capabilities. In some examples, a mobile phone with a small screen and limited bandwidth uses a low-resolution transport stream. Alternatively, in some examples, a television with a large screen and a high-speed Internet connection uses a high-resolution transport stream. As the capabilities of a device change (e.g., a device moves from a high-speed Internet connection to a low-speed Internet connection), the device can switch to a different transport stream.
在图5的所示示例中,示出高分辨率传输流520、中等分辨率传输流530和低分辨率传输流540。在所示示例中,每个传输流520、530和/或540表示关联媒体的一部分(例如,5秒、10秒、30秒、1分钟等)。因此,高分辨率传输流520对应于媒体的第一部分,第二高分辨率传输流521对应于媒体的第二部分,第三高分辨率传输流522对应于媒体的第三部分。同样地,中等分辨率传输流530对应于媒体的第一部分,第二中等分辨率传输流531对应于媒体的第二部分,以及第三中等分辨率传输流532对应于媒体的第三部分。另外,低分辨率传输流540对应于媒体的第一部分,第二低分辨率传输流541对应于媒体的第二部分,以及第三低分辨率传输流542对应于媒体的第三部分。尽管针对每个分辨率在图5的所示示例中示出了三个传输流,但是可以另外地或另选地使用表示媒体的任何数量的相应部分的任何数量的传输流。In the example shown in FIG5 , a high-resolution transport stream 520, a medium-resolution transport stream 530, and a low-resolution transport stream 540 are shown. In the example shown, each transport stream 520, 530, and/or 540 represents a portion of the associated media (e.g., 5 seconds, 10 seconds, 30 seconds, 1 minute, etc.). Thus, the high-resolution transport stream 520 corresponds to the first portion of the media, the second high-resolution transport stream 521 corresponds to the second portion of the media, and the third high-resolution transport stream 522 corresponds to the third portion of the media. Similarly, the medium-resolution transport stream 530 corresponds to the first portion of the media, the second medium-resolution transport stream 531 corresponds to the second portion of the media, and the third medium-resolution transport stream 532 corresponds to the third portion of the media. Furthermore, the low-resolution transport stream 540 corresponds to the first portion of the media, the second low-resolution transport stream 541 corresponds to the second portion of the media, and the third low-resolution transport stream 542 corresponds to the third portion of the media. Although three transport streams are shown for each resolution in the example shown in FIG5 , any number of transport streams representing any number of corresponding portions of the media may additionally or alternatively be used.
在所示示例中,每个传输流520、521、522、530、531、532、540、541和/或542包括视频流550、551、552、音频流555、556、552和元数据流560、561、562。视频流550、551和/或552包括根据与视频流关联的传输流的分辨率以不同分辨率与媒体关联的视频。音频流555、556和/或557包括与媒体关联的音频。元数据流560、561和/或562包括元数据(诸如,例如,与媒体关联的ID3标签)。In the example shown, each transport stream 520, 521, 522, 530, 531, 532, 540, 541, and/or 542 includes a video stream 550, 551, 552, an audio stream 555, 556, 552, and a metadata stream 560, 561, 562. The video stream 550, 551, and/or 552 includes video associated with the media at different resolutions depending on the resolution of the transport stream associated with the video stream. The audio stream 555, 556, and/or 557 includes audio associated with the media. The metadata stream 560, 561, and/or 562 includes metadata (such as, for example, an ID3 tag associated with the media).
在于此公开的示例中,ID3标签被格式化为ID3v2标签。然而,可以另外地或另选地使用任何其它类型和/或格式的元数据和/或元数据容器。在所示示例中,媒体识别信息被存储在ID3标签的私有帧中。然而,媒体识别信息可以被存储在任何其它位置。所示示例的媒体识别信息包括通过图1和/或图2的媒体识别器125识别的目的地域名和音频水印的文本版本。在所示示例中,音频水印以64基加密格式被存储。然而,水印可以按任何其它方式被存储。此外,虽然在所示示例中,ID3标签包括目的地域名和音频水印,但是在ID3标签中可以另外地或另选地包括任何其它信息(诸如,例如,媒体提供商110的标识符、服务提供商120的标识符、中心设施170的标识符等)。In the examples disclosed herein, the ID3 tag is formatted as an ID3v2 tag. However, metadata and/or metadata containers of any other type and/or format may be used in addition or alternatively. In the example shown, media identification information is stored in a private frame of the ID3 tag. However, media identification information may be stored in any other location. The media identification information of the example shown includes a destination domain name and a text version of an audio watermark identified by the media identifier 125 of Figures 1 and/or 2. In the example shown, the audio watermark is stored in a 64-base encrypted format. However, the watermark may be stored in any other manner. Furthermore, although in the example shown, the ID3 tag includes a destination domain name and an audio watermark, any other information (such as, for example, an identifier of the media provider 110, an identifier of the service provider 120, an identifier of the central facility 170, etc.) may be included in addition or alternatively in the ID3 tag.
虽然在图1、图2、图2A、图3、图4和/或图4A中示出实现图1、图2和/或图2A的示例服务提供商120、图1、图2和/或图3的示例浏览器165、图1、图2、图2A和/或图4A的示例中心设施170、和/或图1、图2、图2A和/或图4的示例数据库所有者180、182的示例方式,但是可以按任何其它方式组合、划分、重新布置、省略、消除和/或实现图1、图2、图2A、图3、图4和/或图4A中示出的元件、处理和/或装置中的一个或更多个。另外,图1、图2和/或图2A的示例媒体标识符125、示例转码器130、示例元数据嵌入器135、示例媒体发送器140和/或(更一般地)示例服务提供商120;图1、图2、图2A和/或图3的示例媒体呈现器310、示例事件监听器320、示例元数据检索器330、示例元数据转换器340、示例元数据发送位置确定器345、示例发送器350、示例用户识别信息仓库355、和/或(更一般地)示例浏览器165;图1、图2、图2A和/或图4A的示例HTTP服务器171、示例用户注册数据接收器421、示例人口统计信息数据库431、示例用户ID比较器441、示例元数据处理器451、示例元数据数据库461、示例元数据指示器480和示例数据接收器481和/或(更一般地)示例中心设施170;和/或图1、图2、图2A和/或图4的示例HTTP服务器410、示例用户注册数据接收器420、示例人口统计信息数据库430、示例用户ID比较器440、示例元数据处理器450、示例元数据数据库460、示例元数据发送器470和/或(更一般地)示例数据库所有者180、182可以由硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,图1、图2和/或图2A的示例媒体识别器125、示例转码器130、示例元数据嵌入器135、示例媒体发送器140和/或(更一般地)示例服务提供商120;图1、图2、图2A和/或图3的示例媒体呈现器310、示例事件监听器320、示例元数据检索器330、示例元数据转换器340、示例元数据发送位置确定器345、示例发送器350、示例用户识别信息仓库355和/或(更一般地)示例浏览器165;图1、图2、图2A和/或图4A的示例HTTP服务器171、示例用户注册数据接收器421、示例人口统计信息数据库431、示例用户ID比较器441、示例元数据处理器451、示例元数据数据库461、示例元数据指示器480、示例数据接收器481和/或(更一般地)示例中心设施170;和/或图1、图2、图2A和/或图4的示例HTTP服务器410、示例用户注册数据接收器420、示例人口统计信息数据库430、示例用户ID比较器440、示例元数据处理器450、示例元数据数据库460、示例元数据发送器470和/或(更一般地)示例数据库所有者180、182中的任一个可以由一个或更多个模拟或数字电路、逻辑电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)和/或现场可编程逻辑器件(FPLD)来实现。当读取涵盖纯软件和/或固件实现的本专利的设备或系统权利要求中的任一个时,图1、图2和/或图2A的示例媒体识别器125、示例转码器130、示例元数据嵌入器135、示例媒体发送器140和/或(更一般地)示例服务提供商120;图1、图2、图2A和/或图3的示例媒体呈现器310、示例事件监听器320、示例元数据检索器330、示例元数据转换器340、示例元数据发送位置确定器345、示例发送器350、示例用户识别信息仓库355和/或(更一般地)示例浏览器165;图1、图2、图2A和/或图4A的示例HTTP服务器171、示例用户注册数据接收器421、示例人口统计信息数据库431、示例用户ID比较器441、示例元数据处理器451、示例元数据数据库461、示例元数据指示器480和示例数据接收器481和/或(更一般地)示例中心设施170;和/或图1、图2、图2A和/或图4的示例HTTP服务器410、示例用户注册数据接收器420、示例人口统计信息数据库430、示例用户ID比较器440、示例元数据处理器450、示例元数据数据库460、示例元数据发送器470和/或(更一般地)示例数据库所有者180、182在此被明确限定为包括存储软件和/或固件的有形计算机可读存储装置或存储盘(诸如,存储器、数字视频盘(DVD)、光盘(CD)、蓝光盘等)。另外,除了或者代替图1、图2、图2A、图3、图4和/或图4A中示出的那些之外,图1、图2和/或图2A的示例服务提供商120、图1、图2、图2A和/或图3的示例浏览器165、图1、图2、图2A和/或图4A的示例中心设施170、和/或图1、图2、图2A和/或图4的示例数据库所有者180、182可以包括一个或更多个元件、处理和/或装置,和/或可以包括所示元件、处理和装置中的任一个或全部中的多于一个。Although example manners of implementing the example service provider 120 of Figures 1, 2, and/or 2A, the example browser 165 of Figures 1, 2, and/or 3, the example central facility 170 of Figures 1, 2, 2A, and/or 4A, and/or the example database owners 180, 182 of Figures 1, 2, 2A, and/or 4 are shown in Figures 1, 2, 2A, 3, 4, and/or 4A, one or more of the elements, processes, and/or devices shown in Figures 1, 2, 2A, 3, 4, and/or 4A may be combined, divided, rearranged, omitted, eliminated, and/or implemented in any other manner. 1 , 2 , and/or 2A , the example media identifier 125, the example transcoder 130, the example metadata embedder 135, the example media sender 140, and/or (more generally) the example service provider 120; the example media renderer 310, the example event listener 320, the example metadata retriever 330, the example metadata converter 340, the example metadata sending location determiner 345, the example sender 350, the example user identification information repository 355, and/or (more generally) the example browser 165 of FIG. 1 , 2 , 2A , and/or 3 ; the example HTTP server 171, the example user registration data receiver 421, the example demographic information data The library 431, the example user ID comparator 441, the example metadata processor 451, the example metadata database 461, the example metadata indicator 480 and the example data receiver 481 and/or (more generally) the example central facility 170; and/or the example HTTP server 410, the example user registration data receiver 420, the example demographic information database 430, the example user ID comparator 440, the example metadata processor 450, the example metadata database 460, the example metadata transmitter 470 and/or (more generally) the example database owners 180, 182 of Figures 1, 2, 2A and/or 4 can be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Thus, for example, the example media identifier 125 of Figures 1, 2, and/or 2A, the example transcoder 130, the example metadata embedder 135, the example media sender 140, and/or (more generally) the example service provider 120; the example media renderer 310 of Figures 1, 2, 2A, and/or 3, the example event listener 320, the example metadata retriever 330, the example metadata converter 340, the example metadata sending location determiner 345, the example sender 350, the example user identification information repository 355, and/or (more generally) the example browser 165; the example HTTP server 171 of Figures 1, 2, 2A, and/or 4A, the example user registration data receiver 421, the example demographic information database 431, the example user ID comparator 441, the example metadata The processor 451, the example metadata database 461, the example metadata indicator 480, the example data receiver 481 and/or (more generally) the example central facility 170; and/or any of the example HTTP server 410, the example user registration data receiver 420, the example demographic information database 430, the example user ID comparator 440, the example metadata processor 450, the example metadata database 460, the example metadata transmitter 470 and/or (more generally) the example database owners 180, 182 of Figures 1, 2, 2A and/or 4 can be implemented by one or more analog or digital circuits, logic circuits, programmable processors, application specific integrated circuits (ASICs), programmable logic devices (PLDs) and/or field programmable logic devices (FPLDs). When reading any of the device or system claims of this patent covering pure software and/or firmware implementations, the example media identifier 125, example transcoder 130, example metadata embedder 135, example media sender 140 and/or (more generally) example service provider 120 of Figures 1, 2, 2A and/or 3; the example media renderer 310, example event listener 320, example metadata retriever 330, example metadata converter 340, example metadata sending location determiner 345, example sender 350, example user identification information warehouse 355 and/or (more generally) example browser 165 of Figures 1, 2, 2A and/or 3; the example HTTP server 171, example user registration data receiver 421, example demographic information database of Figures 1, 2, 2A and/or 4A 431, the example user ID comparator 441, the example metadata processor 451, the example metadata database 461, the example metadata indicator 480 and the example data receiver 481 and/or (more generally) the example central facility 170; and/or the example HTTP server 410, the example user registration data receiver 420, the example demographic information database 430, the example user ID comparator 440, the example metadata processor 450, the example metadata database 460, the example metadata transmitter 470 and/or (more generally) the example database owners 180, 182 of Figures 1, 2, 2A and/or 4 are expressly defined herein as including a tangible computer-readable storage device or storage disk (such as, a memory, a digital video disk (DVD), a compact disk (CD), a Blu-ray disk, etc.) that stores software and/or firmware. In addition, in addition to or in place of those shown in Figures 1, 2, 2A, 3, 4 and/or 4A, the example service provider 120 of Figures 1, 2 and/or 2A, the example browser 165 of Figures 1, 2, 2A and/or 3, the example central facility 170 of Figures 1, 2, 2A and/or 4A, and/or the example database owners 180, 182 of Figures 1, 2, 2A and/or 4 may include one or more elements, processes and/or devices, and/or may include more than one of any or all of the elements, processes and devices shown.
在图6、图7、图8、图9、图10和/或图11中示出表示用于实现图1、图2和/或图2A的示例服务提供商120、图1、图2、图2A和/或图3的示例浏览器165、图1、图2、图2A和/或图4A的示例中心设施170、和/或图1、图2、图2A和/或图4的示例数据库所有者180、182的示例机器可读指令的流程图。在这些示例中,机器可读指令包括用于由处理器(以下结合图12论述的示例处理器平台1200中示出的处理器1212)执行的程序。该程序可以在存储在有形计算机可读存储介质(诸如,CD-ROM、软盘、硬驱动器、数字视频盘(DVD)、蓝光盘、或与处理器212关联的存储器)的软件中具体实现,但是整个程序和/或其部分可以另选地由除了处理器1212之外的装置来执行和/或在固件或专用硬件中具体实现。另外,尽管参照图6、图7、图8、图9、图10和/或图11中示出的流程图描述了示例程序,但是可以另选地使用实现图1、图2和/或图2A的示例服务提供商120、图1、图2、图2A和/或图3的示例浏览器165、图1、图2、图2A和/或图4A的示例中心设施170、和/或图1、图2、图2A和/或图4的示例数据库所有者180、182的许多其它方法。例如,可以改变这些框的执行顺序,和/或可以改变、消除或组合所描述的框中的一些。Flowcharts representing example machine-readable instructions for implementing the example service provider 120 of FIG. 1 , FIG. 2 , and/or FIG. 2A , the example browser 165 of FIG. 1 , FIG. 2 , FIG. 2A , and/or FIG. 3 , the example central facility 170 of FIG. 1 , FIG. 2 , FIG. 2A , and/or FIG. 4A , and/or the example database owners 180 , 182 of FIG. 1 , FIG. 2 , FIG. 2A , and/or FIG. 4 are shown in FIG. 6 , FIG. 7 , FIG. 8 , FIG. 9 , FIG. 10 , and/or FIG. 11 . In these examples, the machine-readable instructions comprise a program for execution by a processor (e.g., the processor 1212 shown in the example processor platform 1200 discussed below in conjunction with FIG. 12 ). The program may be embodied in software stored on a tangible computer-readable storage medium (e.g., a CD-ROM, floppy disk, hard drive, digital video disk (DVD), Blu-ray disk, or memory associated with the processor 212), but the entire program and/or portions thereof may alternatively be executed by a device other than the processor 1212 and/or embodied in firmware or dedicated hardware. 6, 7, 8, 9, 10, and/or 11, many other methods of implementing the example service provider 120 of FIG. 1, 2, and/or 2A, the example browser 165 of FIG. 1, 2, 2A, and/or 3, the example central facility 170 of FIG. 1, 2, 2A, and/or 4A, and/or the example database owners 180, 182 of FIG. 1, 2, 2A, and/or 4 may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the described blocks may be changed, eliminated, or combined.
如以上所述的,可以使用存储在有形计算机可读存储介质(诸如,硬盘驱动器、闪存、只读存储器(ROM)、光盘(CD)、数字视频盘(DVD)、高速缓存、随机存取存储器(RAM)和/或在任何持续时间(例如,延长时间段、永久地、简短实例、暂时缓冲、和/或高速缓存信息)内存储信息的任何其它存储装置或存储盘)上的编码指令(例如,计算机和/或机器可读指令)来实现图6、图7、图8、图9、图10和/或图11的示例处理。如在此使用的,术语有形计算机可读存储介质被明确限定为包括任何类型的计算机可读存储装置和/或存储盘并且不包括传播信号和传输媒体。如在此使用的,“有形计算机可读存储介质”和“有形机器可读存储介质”被可交换地使用。另外地或另选地,可以使用存储在非暂时计算机和/或机器可读介质(诸如,硬盘驱动器、闪存、只读存储器、光盘、数字视频盘、高速缓存、随机存取存储器和/或在任何持续时间(例如,延长时间段、永久地、简短实例、暂时缓冲、和/或高速缓存信息)内存储信息的任何其它存储装置或存储盘)上的编码指令(例如,计算机和/或机器可读指令)来实现图6、图7、图8、图9、图10和/或图11的示例处理。如在此使用的,术语非暂时计算机可读存储介质被明确限定为包括任何类型的计算机可读存储装置和/或存储盘并且不包括传播信号和传输媒体。如在此使用的,当短语“至少”被用作在权利要求的前序部分中的过渡术语时,它以与术语“包括”开放结束相同的方式开放结束。As described above, the example processes of Figures 6, 7, 8, 9, 10, and/or 11 can be implemented using coded instructions (e.g., computer and/or machine-readable instructions) stored on a tangible computer-readable storage medium (such as a hard drive, flash memory, read-only memory (ROM), compact disk (CD), digital video disk (DVD), cache, random access memory (RAM), and/or any other storage device or storage disk that stores information for any duration (e.g., for an extended period of time, permanently, for a brief instance, temporarily buffered, and/or cached information). As used herein, the term tangible computer-readable storage medium is expressly defined to include any type of computer-readable storage device and/or storage disk and excludes propagating signals and transmission media. As used herein, "tangible computer-readable storage medium" and "tangible machine-readable storage medium" are used interchangeably. Additionally or alternatively, the example processes of Figures 6, 7, 8, 9, 10, and/or 11 may be implemented using coded instructions (e.g., computer and/or machine readable instructions) stored on a non-transitory computer and/or machine readable medium (such as a hard drive, flash memory, read-only memory, optical disc, digital video disc, cache, random access memory, and/or any other storage device or storage disk that stores information for any duration (e.g., for an extended period of time, permanently, for a brief instance, temporarily buffered, and/or cached information). As used herein, the term non-transitory computer readable storage medium is expressly defined to include any type of computer readable storage device and/or storage disk and excludes propagating signals and transmission media. As used herein, when the phrase "at least" is used as a transition term in the preamble of a claim, it is open ended in the same manner as the term "comprising" is open ended.
图6是表示示例机器可读指令600的流程图,可以执行这些可读指令来实现图1和/或图2的示例服务提供商120。图6的示例机器可读指令600的执行开始于服务提供商120的媒体识别器125接收来自媒体提供商110的媒体(框610)。在所示示例中,在媒体被广播(例如,直播)时接收媒体。然而,在一些示例中,由媒体识别器215存储和/或高速缓存媒体。FIG6 is a flow diagram representing example machine-readable instructions 600 that can be executed to implement the example service provider 120 of FIG1 and/or FIG2. Execution of the example machine-readable instructions 600 of FIG6 begins with the media identifier 125 of the service provider 120 receiving media from the media provider 110 (block 610). In the example shown, the media is received as it is being broadcast (e.g., live). However, in some examples, the media is stored and/or cached by the media identifier 215.
所示示例的媒体识别器215然后识别媒体(框620)。媒体识别器215通过从媒体中提取计量数据(例如,签名、水印等)来识别媒体。基于所提取的计量数据,媒体识别器215生成元数据(框630)。在所示示例中,以ID3格式生成元数据。然而,可以另外地或另选地使用任何其它元数据格式。另外,在所示示例中,基于所提取的计量数据来生成元数据。然而,在一些示例中,可以通过使用所提取的计量数据中的一些或全部询问外部源来生成元数据。The media identifier 215 of the illustrated example then identifies the media (block 620). The media identifier 215 identifies the media by extracting metering data (e.g., signatures, watermarks, etc.) from the media. Based on the extracted metering data, the media identifier 215 generates metadata (block 630). In the illustrated example, the metadata is generated in the ID3 format. However, any other metadata format may additionally or alternatively be used. Furthermore, in the illustrated example, the metadata is generated based on the extracted metering data. However, in some examples, the metadata may be generated by querying an external source using some or all of the extracted metering data.
然后,由服务提供商120的转码器130对媒体转码(框640)。在所示示例中,媒体被转码成可以经由HTTP直播流(HLS)发送的MPEG2传输流。服务提供商120的元数据嵌入器135将元数据嵌入媒体中(框650)。在一些示例中,元数据在被嵌入媒体中之前被加密。在所示示例中,元数据被嵌入媒体的元数据通道中。然而,在一些示例中,元数据可以被嵌入可以与媒体关联的辅助数据文档、文件等中。例如,元数据可以被嵌入清单文件(例如,M3U8文件)中、与媒体关联的文本跟踪中等。The media is then transcoded by the transcoder 130 of the service provider 120 (block 640). In the example shown, the media is transcoded into an MPEG2 transport stream that can be sent via HTTP Live Streaming (HLS). The metadata embedder 135 of the service provider 120 embeds the metadata in the media (block 650). In some examples, the metadata is encrypted before being embedded in the media. In the example shown, the metadata is embedded in a metadata channel of the media. However, in some examples, the metadata may be embedded in an auxiliary data document, file, etc. that may be associated with the media. For example, the metadata may be embedded in a manifest file (e.g., an M3U8 file), a text track associated with the media, etc.
然后,由服务提供商120的媒体发送器140发送媒体(框660)。在所示示例中,使用HTTP直播流(HLS)发送媒体。然而,可以另外地或另选地使用用于发送(例如,广播、单播、多播等)媒体的任何其它格式和/或协议。The media is then sent by the media sender 140 of the service provider 120 (block 660). In the example shown, the media is sent using HTTP Live Streaming (HLS). However, any other format and/or protocol for sending (e.g., broadcast, unicast, multicast, etc.) media may additionally or alternatively be used.
图7是表示示例机器可读指令700的流程图,可以执行这些可读指令来实现图1、图2和/或图3的示例浏览器165。图7的示例机器可读指令700的执行开始于浏览器165被实例化(例如,通过由客户端装置160加载)。然后,浏览器165的媒体呈现器310开始通过例如加载用于经由客户端装置160呈现的显示对象开始呈现媒体(框710)。在所示示例中,显示对象是对象。然而,可以另外地或者另选地使用任何其它类型的显示对象。FIG7 is a flow diagram representing example machine-readable instructions 700 that can be executed to implement the example browser 165 of FIG1 , FIG2 , and/or FIG3 . Execution of the example machine-readable instructions 700 of FIG7 begins when the browser 165 is instantiated (e.g., by being loaded by a client device 160). The media renderer 310 of the browser 165 then begins rendering media by, for example, loading a display object for presentation via the client device 160 (block 710). In the example shown, the display object is an object. However, any other type of display object may additionally or alternatively be used.
浏览器165的事件监听器320开始监听事件(框720)。在所示示例中,事件监听器320监听由媒体呈现器210触发的JavaScript事件。然而,在一些示例中,事件监听器320监听任何其它事件(诸如,例如,媒体改变事件、用户交互事件(例如,当用户点击对象时)、显示事件(例如,页面加载)等)。如果事件监听器320没有检测到事件,则事件监听器320继续监听事件,直到例如浏览器165被关闭,加载不同网页等为止。The event listener 320 of the browser 165 begins listening for events (block 720). In the example shown, the event listener 320 listens for JavaScript events triggered by the media renderer 210. However, in some examples, the event listener 320 listens for any other events, such as, for example, media change events, user interaction events (e.g., when a user clicks on an object), display events (e.g., page load), etc. If the event listener 320 does not detect an event, the event listener 320 continues to listen for events until, for example, the browser 165 is closed, a different web page is loaded, etc.
如果事件监听器320检测到事件,则浏览器165的元数据检索器330检索元数据(框730)。在所示示例中,事件监听器320将事件对象传递到检查事件对象以检索元数据的元数据检索器330。然而,在一些示例中,事件监听器320传递对象(例如,媒体呈现器310显示对象)的标识符,该标识符指示元数据检索器330从其检索元数据的对象。在所示示例中,元数据检索器330检查文档对象模块(DOM)对象来检索元数据。然而,在一些示例中,元数据检索器330检查例如计时文本跟踪、HLS媒体的元数据流等来检索元数据。在所示示例中,元数据被格式化为ID3标签。然而,可以另外地或另选地使用任何其它格式的元数据。在一些示例中,元数据检索器330检索关于媒体呈现器310和/或(更一般地)浏览器165的操作信息。所检索的操作信息可以包括例如关于媒体呈现器310是完全可见还是部分可见(例如,媒体呈现器310完全可见,媒体呈现器31050%可见,媒体呈现器310不可见等)的信息、关于媒体呈现器310是在前台还是后台的信息等。If the event listener 320 detects an event, the metadata retriever 330 of the browser 165 retrieves the metadata (block 730). In the example shown, the event listener 320 passes the event object to the metadata retriever 330, which examines the event object to retrieve the metadata. However, in some examples, the event listener 320 passes an identifier of an object (e.g., a media renderer 310 display object) that indicates the object from which the metadata retriever 330 retrieves metadata. In the example shown, the metadata retriever 330 examines a document object module (DOM) object to retrieve metadata. However, in some examples, the metadata retriever 330 examines, for example, a timed text track, a metadata stream of HLS media, etc. to retrieve metadata. In the example shown, the metadata is formatted as an ID3 tag. However, any other format of metadata may be used in addition or alternatively. In some examples, the metadata retriever 330 retrieves information about the operation of the media renderer 310 and/or (more generally) the browser 165. The retrieved operation information may include, for example, information about whether the media presenter 310 is fully visible or partially visible (for example, the media presenter 310 is fully visible, the media presenter 310 is 50% visible, the media presenter 310 is not visible, etc.), information about whether the media presenter 310 is in the foreground or the background, etc.
然后,浏览器165的元数据转换器340将元数据转换成用于由浏览器165的发送器330使用的格式(框740)。在所示示例中,将元数据从二进制数据格式转换成文本格式。在一些示例中,对元数据进行语法分析,以识别元数据(例如,类型、艺术家、歌名、唱片名、发送站/服务站等)中的感兴趣部分(例如,字段、片段等)。在一些示例中,元数据转换器340对元数据加密。对元数据加密防止第三方(例如,数据库所有者)识别媒体,同时仍然允许记录印象以用于与人工统计关联。在所示示例中,元数据转换器340在将元数据发送到数据库所有者180、182之前,将时间戳添加到元数据中。加时间戳(例如,记录发生事件的时间)使得能够进行所呈现的媒体和/或向呈现装置的用户呈现媒体的时间的准确识别和/或关联。The metadata converter 340 of the browser 165 then converts the metadata into a format for use by the sender 330 of the browser 165 (block 740). In the illustrated example, the metadata is converted from a binary data format to a text format. In some examples, the metadata is parsed to identify interesting portions (e.g., fields, segments, etc.) of the metadata (e.g., genre, artist, song title, album title, shipping station/service station, etc.). In some examples, the metadata converter 340 encrypts the metadata. Encrypting the metadata prevents third parties (e.g., database owners) from identifying the media while still allowing the recording of impressions for correlation with manual statistics. In the illustrated example, the metadata converter 340 adds a timestamp to the metadata before sending it to the database owners 180, 182. Adding a timestamp (e.g., recording the time at which an event occurred) enables accurate identification and/or correlation of the presented media and/or the time at which the media was presented to the user of the presentation device.
在一些示例中,元数据在由发送器发送之前可以不经历转换(例如,元数据可以按由元数据检索器330检索它的格式被发送)。在这样的示例中,数据库所有者180、182和/或中心设施170通过例如将元数据转换成不同格式,对元数据进行语法分析以识别元数据中的感兴趣部分,将元数据解密等来转换元数据。通过数据库所有者180、182和/或中心设施170转换元数据有助于所呈现的媒体与识别将向谁呈现媒体的标识符的关联。在一些示例中,数据库所有者180、182和/或中心设施170在接收时给元数据加时间戳。给元数据加时间戳使得能够进行所呈现的媒体和/或向呈现装置的用户呈现它的时间的准确识别和/或关联。In some examples, the metadata may not undergo conversion before being sent by the sender (e.g., the metadata may be sent in a format in which it is retrieved by metadata retriever 330). In such examples, database owner 180, 182 and/or central facility 170 converts the metadata by, for example, converting the metadata to a different format, parsing the metadata to identify interesting portions of the metadata, decrypting the metadata, etc. Converting the metadata by database owner 180, 182 and/or central facility 170 facilitates associating the presented media with an identifier that identifies the person to whom the media will be presented. In some examples, database owner 180, 182 and/or central facility 170 timestamps the metadata upon receipt. Timestamping the metadata enables accurate identification and/or association of the presented media and/or the time it was presented to a user of a presentation device.
然后,浏览器165的元数据发送位置确定器345确定元数据应该被发送到的位置(框750)。在所示示例中,基于包括在ID3标签中的域名来确定位置。然而,可以另外地或另选地使用确定发送元数据的位置的任何其它方式。以下,结合图8公开用于确定发送元数据的示例处理。The metadata transmission location determiner 345 of the browser 165 then determines the location to which the metadata should be transmitted (block 750). In the illustrated example, the location is determined based on the domain name included in the ID3 tag. However, any other means of determining the location to which the metadata should be transmitted may additionally or alternatively be used. An example process for determining the location to transmit metadata is disclosed below in conjunction with FIG8 .
然后,发送器350将元数据发送到由元数据发送位置确定器345识别的位置(框750)。在所示示例中,使用HTTP Post请求来发送元数据。然而,可另外地或另选地使用发送数据和/或元数据的任何其它方法。例如,可以使用文件传输协议(FTP)指令、HTTP获取请求、异步JavaScript和可扩展标记语言(XML)(AJAX)消息等来发送元数据。在一些示例中,元数据不被发送到数据库所有者180、182和/或中心设施170。例如,元数据可以被发送到客户端装置160的显示对象,以用于向用户显示。在所示示例中,元数据被实时发送(例如,流处理)到数据库所有者180、182。然而,在一些示例中,可以在将元数据发送到数据库所有者180、182之前的时间段内,存储(例如,高速缓存、缓冲等)元数据。在一些示例中,发送器350发送由元数据检索器330从媒体呈现器310检索的操作数据。发送操作信息使观众测量实体能够计算附加媒体呈现度量(例如,用户是否在后台利用媒体呈现器310监听流音频等)。The sender 350 then sends the metadata to the location identified by the metadata send location determiner 345 (block 750). In the illustrated example, the metadata is sent using an HTTP Post request. However, any other method of sending data and/or metadata may additionally or alternatively be used. For example, the metadata may be sent using File Transfer Protocol (FTP) instructions, HTTP Get requests, Asynchronous JavaScript and Extensible Markup Language (XML) (AJAX) messages, etc. In some examples, the metadata is not sent to the database owners 180, 182 and/or the central facility 170. For example, the metadata may be sent to a display object on the client device 160 for display to the user. In the illustrated example, the metadata is sent in real time (e.g., streamed) to the database owners 180, 182. However, in some examples, the metadata may be stored (e.g., cached, buffered, etc.) for a period of time before being sent to the database owners 180, 182. In some examples, the sender 350 sends operational data retrieved from the media renderer 310 by the metadata retriever 330. Sending the operational information enables the audience measurement entity to calculate additional media presentation metrics (eg, whether the user is listening to streaming audio in the background using the media presenter 310, etc.).
图8是表示示例机器可读指令800的流程图,可以执行这些可读指令来实现图1、图2和/或图3的示例浏览器165。图8的示例流程图表示图3的元数据发送位置确定器345确定经由例如虚拟请求(例如,图1的线187)发送元数据和/或用户标识符数据的目的地的处理。图8的示例机器可读指令800的执行开始于元数据发送位置确定器345确定包括在由图3的元数据检索器330识别的ID3标签中的元数据是否识别发送元数据的位置(框810)。在一些示例中,ID3标签包括指定元数据被应该发送的位置的URL。URL可以识别例如优选数据库所有者180、182。如果ID3标签包括指定元数据应该被发送的位置的URL(框810),则元数据发送位置确定器345使用由元数据识别的位置(例如,URL)(框815)以确定虚拟请求的目的地。FIG8 is a flow diagram representing example machine-readable instructions 800 that can be executed to implement the example browser 165 of FIG1 , FIG2 , and/or FIG3 . The example flow diagram of FIG8 illustrates the process by which the metadata send location determiner 345 of FIG3 determines a destination for sending metadata and/or user identifier data, for example, via a virtual request (e.g., line 187 of FIG1 ). Execution of the example machine-readable instructions 800 of FIG8 begins with the metadata send location determiner 345 determining whether metadata included in an ID3 tag identified by the metadata retriever 330 of FIG3 identifies a location to send metadata (block 810). In some examples, the ID3 tag includes a URL specifying a location to which the metadata should be sent. The URL can identify, for example, a preferred database owner 180, 182. If the ID3 tag includes a URL specifying a location to which the metadata should be sent (block 810), the metadata send location determiner 345 uses the location (e.g., URL) identified by the metadata (block 815) to determine the destination for the virtual request.
然而,在一些示例中,ID3标签不识别发送元数据的位置。如果ID3标签不识别发送元数据的位置(框810),则示例元数据发送位置确定器345确定服务提供商是否识别发送元数据的位置(框820)。在一些示例中,服务提供商120在实现与由浏览器165实现的监测指令关联的SDK时,指定元数据应该被发送元到的数据库所有者。在这样的示例中,元数据发送位置确定器345使用由服务提供商识别的位置(框825)以确定虚拟请求的目的地。However, in some examples, the ID3 tag does not identify a location to send metadata. If the ID3 tag does not identify a location to send metadata (block 810), the example metadata send location determiner 345 determines whether the service provider identifies a location to send metadata (block 820). In some examples, the service provider 120, when implementing an SDK associated with monitoring instructions implemented by the browser 165, specifies a database owner to which the metadata should be sent. In such examples, the metadata send location determiner 345 uses the location identified by the service provider (block 825) to determine the destination of the virtual request.
在一些示例中,元数据和服务提供商都不能识别元数据应该被发送的位置(框810、820)。在这样的示例中,元数据发送位置确定器345使用默认位置来发送元数据(框830)以确定虚拟请求的目的地。默认位置可以是例如优选数据库所有者,诸如,例如,Facebook、Twitter、Experian等。在一些示例中,默认位置可以是中心设施170。图8的示例机器可读指令800然后终止,并且图3的发送器350继续经由虚拟请求发送与目的地关联的元数据和用户标识符(图7的框760)。In some examples, neither the metadata nor the service provider can identify the location to which the metadata should be sent (blocks 810, 820). In such examples, the metadata send location determiner 345 uses a default location to send the metadata (block 830) to determine the destination of the virtual request. The default location can be, for example, a preferred database owner such as, for example, Facebook, Twitter, Experian, etc. In some examples, the default location can be the central facility 170. The example machine-readable instructions 800 of FIG. 8 then terminate, and the sender 350 of FIG. 3 continues to send the metadata and user identifier associated with the destination via the virtual request (block 760 of FIG. 7).
图9是表示示例机器可读指令900的流程图,可以执行这些机器可读指令来实现图1、图2、图2A和/或图4的示例数据库所有者180、182。在一些示例中,可以执行图9的所示示例的示例指令900来实现图1、图2、图2A和/或图4的示例中心设施170。图9的示例机器可读指令900的执行开始于图4的数据库所有者180的HTTP服务器410接收来自浏览器的虚拟请求(例如,图1的虚拟请求187)(框910)。虚拟请求包括媒体识别元数据,并且可以另外包括用户识别数据(诸如,例如,用户标识符166A、166B)。基于接收到的用户标识符和/或不存在用户标识符,用户ID比较器440确定用户标识符166A、166B是否识别数据库所有者180已知的用户(框920)。为了进行这样的确定,用户ID比较器440可以询问人口统计信息数据库430以确定是否可以使用与cookie 166A、166B关联的用户标识符和/或任何其它信息以识别用户。如果不能使用cookie数据来识别用户(框920),则用户ID比较器440确定浏览器165应该被定向到的下一跳位置(框930)。下一跳位置可以是例如不同数据库所有者182、中心设施170等。例如,在图2的所示示例中,数据库所有者A 180不能识别用户,并且因此将数据库所有者B 182识别为下一跳位置。使用下一跳位置,HTTP服务器410将重定向消息发送到浏览器165以识别下一跳位置(框940)。再此参照图2,由线191表示重定向消息。在一些示例中,浏览器165可以被定向到多个数据库所有者(例如,第一数据库所有者将浏览器重定向到第二数据库所有者,第二数据库所有者将浏览器重定向到第三数据库所有者等)。FIG9 is a flow diagram representing example machine-readable instructions 900 that can be executed to implement the example database owners 180, 182 of FIG1 , FIG2 , FIG2A , and/or FIG4 . In some examples, the example instructions 900 of the illustrated example of FIG9 can be executed to implement the example central facility 170 of FIG1 , FIG2 , FIG2A , and/or FIG4 . Execution of the example machine-readable instructions 900 of FIG9 begins when the HTTP server 410 of the database owner 180 of FIG4 receives a virtual request (e.g., virtual request 187 of FIG1 ) from a browser (block 910). The virtual request includes media identification metadata and may additionally include user identification data (such as, for example, user identifiers 166A, 166B). Based on the received user identifiers and/or the absence of a user identifier, the user ID comparator 440 determines whether the user identifiers 166A, 166B identify a user known to the database owner 180 (block 920). To make such a determination, user ID comparator 440 may query demographic information database 430 to determine whether the user identifier and/or any other information associated with cookies 166A, 166B can be used to identify the user. If the cookie data cannot be used to identify the user (block 920), user ID comparator 440 determines the next hop location to which browser 165 should be directed (block 930). The next hop location may be, for example, a different database owner 182, a central facility 170, or the like. For example, in the example shown in FIG2 , database owner A 180 cannot identify the user and therefore identifies database owner B 182 as the next hop location. Using the next hop location, HTTP server 410 sends a redirect message to browser 165 to identify the next hop location (block 940). Referring again to FIG2 , the redirect message is represented by line 191. In some examples, browser 165 may be directed to multiple database owners (e.g., a first database owner redirects the browser to a second database owner, the second database owner redirects the browser to a third database owner, and so on).
如果可以使用用户标识符数据来识别用户(框920),则用户ID比较器440确定用户标识符(框950)。然后,元数据处理器450将接收到的元数据和关联的用户标识符存储在元数据数据库460中(框960)。在所示示例中,元数据处理器450存储媒体识别元数据(例如,ID3标签)和用户标识符。当存储元数据和用户标识符时,元数据处理器450可以以与例如图10A的表1070类似的方式来存储印象记录。在一些示例中,元数据处理器450存储时间戳,以有助于识别媒体的呈现时间。If the user identifier data can be used to identify the user (block 920), user ID comparator 440 determines the user identifier (block 950). Metadata processor 450 then stores the received metadata and the associated user identifier in metadata database 460 (block 960). In the example shown, metadata processor 450 stores media identification metadata (e.g., ID3 tags) and the user identifier. When storing metadata and user identifiers, metadata processor 450 may store impression records in a manner similar to, for example, table 1070 of FIG. 10A. In some examples, metadata processor 450 stores a timestamp to help identify the time the media was presented.
然后,HTTP服务器410将确认消息发送到请求客户端(框970)。发送确认消息通知请求客户端(例如,浏览器165)不需要关于虚拟请求采取进一步动作。在一些示例中,即使数据库所有者180能够识别用户,数据库所有者180也发送指示浏览器165联系第二数据库所有者182的重定向消息。这样的重定向可以使可以存储不同各类型的人口统计数据(例如,金融数据、地理数据等)的不同数据库所有者收集可以由单个数据库所有者收集的人口统计数据的较大数据集合。HTTP server 410 then sends a confirmation message to the requesting client (block 970). Sending the confirmation message notifies the requesting client (e.g., browser 165) that no further action is required regarding the virtual request. In some examples, even if database owner 180 is able to identify the user, database owner 180 sends a redirect message instructing browser 165 to contact second database owner 182. Such redirection can enable different database owners, which may store different types of demographic data (e.g., financial data, geographic data, etc.), to collect a larger set of demographic data that could be collected by a single database owner.
图10是表示示例机器可读指令1000的流程图,可以执行这些机器可读指令1000来实现图1、图2、图2A和/或图4的示例数据库所有者180、182。图10的示例机器可读指令1000的执行开始于元数据处理器450选择存储在与阈值数量的用户(例如,20个用户、100个用户等)关联的元数据数据库460中的元数据(框1010)。可以以与例如图10A的示例表1070中示出的印象记录类似的方式将印象数据格式化。然后,元数据处理器450确定与所选择的元数据关联的用户标识符(框1020)。基于所识别的用户标识符,元数据处理器450聚集与所识别的用户标识符关联的人口统计信息(框1030)。可以以与例如图10B的示例表1080中示出的人口统计信息类似的方式存储人口统计信息。由元数据发送器470将所聚集的人口统计信息与所选择的元数据(例如,ID3标签)关联地发送到中心设施170(框1040)。可以以与例如图10C的示例表1089类似的格式,将所聚集的人口统计信息和媒体标识符发送到中心设施。然后,元数据处理器450确定满足用于发送到中心设施170的阈值要求的附加元数据是否被存储在元数据数据库中(框1050)。如果存在附加元数据,则元数据处理器选择元数据(框1010)。如果不存在附加元数据,则处理终止。虽然在图10的所示示例中,人口统计信息独立于来自中心设施170的请求被发送到中心设施170,但是在一些示例中,中心设施170可以向数据库所有者180请求与特定元数据关联的人口统计信息。FIG10 is a flow diagram representing example machine-readable instructions 1000 that may be executed to implement the example database owners 180, 182 of FIG1 , FIG2 , FIG2A , and/or FIG4 . Execution of the example machine-readable instructions 1000 of FIG10 begins with the metadata processor 450 selecting metadata stored in the metadata database 460 associated with a threshold number of users (e.g., 20 users, 100 users, etc.) (block 1010). The impression data may be formatted in a manner similar to the impression record shown, for example, in the example table 1070 of FIG10A . The metadata processor 450 then determines a user identifier associated with the selected metadata (block 1020). Based on the identified user identifier, the metadata processor 450 aggregates demographic information associated with the identified user identifier (block 1030). The demographic information may be stored in a manner similar to the demographic information shown, for example, in the example table 1080 of FIG10B . The aggregated demographic information is sent to the central facility 170 by the metadata transmitter 470 in association with the selected metadata (e.g., ID3 tags) (block 1040). The aggregated demographic information and media identifiers may be sent to the central facility in a format similar to, for example, the example table 1089 of FIG. 10C . The metadata processor 450 then determines whether additional metadata that meets the threshold requirements for transmission to the central facility 170 is stored in the metadata database (block 1050). If additional metadata exists, the metadata processor selects the metadata (block 1010). If no additional metadata exists, the process terminates. Although in the illustrated example of FIG. 10 , the demographic information is sent to the central facility 170 independently of a request from the central facility 170, in some examples, the central facility 170 may request demographic information associated with specific metadata from the database owner 180.
图10A是表示由示例数据库所有者180记录的印象数据的表1070。示例表1070包括用于存储媒体标识符(例如,ID3标签)的第一列1071、用于存储用户标识符的第二列1072、用于存储时间戳的第三列1073。虽然在所示示例中示出三列,但是可以另外地或另选地使用用于存储任何其它信息的任何其它列(诸如,例如,用于存储客户端装置的互联网协议地址的列、用于存储服务提供商标识符的列等)。10A is a table 1070 representing impression data recorded by an example database owner 180. The example table 1070 includes a first column 1071 for storing a media identifier (e.g., an ID3 tag), a second column 1072 for storing a user identifier, and a third column 1073 for storing a timestamp. Although three columns are shown in the illustrated example, any other columns for storing any other information may additionally or alternatively be used (such as, for example, a column for storing an Internet Protocol address of a client device, a column for storing a service provider identifier, etc.).
在图10A的所示示例中,示例表1070包括印象数据的第一行1074、印象数据的第二行1075、印象数据的第三行1076、印象数据的第四行1077、以及印象数据的第五行1078。然而,可以另外地或另选地存储任何其它数量的记录。例如,示例表可以包括对应于一万个所记录的印象的一万行数据。在图10A的所示示例中,第一示例行1074识别出第一媒体被呈现给第一用户(例如,媒体0001被呈现给用户A)。第二示例行1075识别出第一媒体被呈现给第二用户。第三示例行1076识别出第一媒体被呈现给第三用户。第四示例行1077识别出第二媒体被呈现给第一用户。第五示例行1078识别出第二媒体被呈现给第四用户。在一些示例中,媒体标识符(例如,媒体0001)被加密,使得数据库所有者可以确定媒体标识符对应于相同媒体,但是不能确定媒体的身份。In the example shown in FIG10A , example table 1070 includes a first row 1074 of impression data, a second row 1075 of impression data, a third row 1076 of impression data, a fourth row 1077 of impression data, and a fifth row 1078 of impression data. However, any other number of records may be stored additionally or alternatively. For example, the example table may include ten thousand rows of data corresponding to ten thousand recorded impressions. In the example shown in FIG10A , first example row 1074 identifies that a first piece of media was presented to a first user (e.g., media 0001 was presented to user A). Second example row 1075 identifies that the first piece of media was presented to a second user. Third example row 1076 identifies that the first piece of media was presented to a third user. Fourth example row 1077 identifies that a second piece of media was presented to the first user. Fifth example row 1078 identifies that the second piece of media was presented to a fourth user. In some examples, media identifiers (e.g., media 0001) are encrypted, allowing a database owner to determine that the media identifiers correspond to the same piece of media, but not the identity of the media.
图10B是表示由数据库所有者180存储的人口统计信息的表1080。示例表1080包括存储用户标识符(例如,图10A的第一列1072的用户标识符)的第一列1082、存储第一人口统计信息(例如,年龄)的第二列1083、以及存储第二人口统计信息(例如,收入)的第三列1085。虽然在图10B的所示示例中,存在存储人口统计信息的两列,但是可以另外地或另选地使用存储任何其它信息的任何其它数量的列。例如,可以使用存储其它人口统计信息(例如,种族、邮寄地址、性别等)的附加列。另外地或另选地,可以使用存储用户信息(例如,用户账户创建日期、“最近被访问”日期、用户偏好等)的列。FIG10B is a table 1080 representing demographic information stored by the database owner 180. The example table 1080 includes a first column 1082 storing a user identifier (e.g., the user identifier of the first column 1072 of FIG10A ), a second column 1083 storing first demographic information (e.g., age), and a third column 1085 storing second demographic information (e.g., income). Although in the example shown in FIG10B , there are two columns storing demographic information, any other number of columns storing any other information may additionally or alternatively be used. For example, additional columns storing other demographic information (e.g., race, mailing address, gender, etc.) may be used. Additionally or alternatively, columns storing user information (e.g., user account creation date, "last visited" date, user preferences, etc.) may be used.
在所示示例中,示出四个用户记录。第一用户记录1085表示用户A。第二用户记录1086表示用户B。第三用户记录1087表示用户C。第四记录1087表示用户D。虽然在图10B的所示示例中示出四个用户记录,但是可以另外地或另选地使用任何其它数量的记录。例如,数据库所有者可以存储分别与五万个用户关联的五万条记录。In the example shown, four user records are shown. A first user record 1085 represents user A. A second user record 1086 represents user B. A third user record 1087 represents user C. A fourth record 1088 represents user D. Although four user records are shown in the example shown in FIG10B , any other number of records may additionally or alternatively be used. For example, a database owner may store 50,000 records each associated with 50,000 users.
图10C是表示由数据库所有者180发送到中心设施170的所聚集的媒体呈现信息的表1089。如结合图10描述的,数据库所有者聚集人口统计信息(例如,与图10A的示例表1070的媒体印象数据关联的图10B的示例表1080的人口统计信息)。示例表1089表示示出与多种人口统计和不同媒体标识符关联的多个印象的所聚集的人口统计数据。FIG10C is a table 1089 representing aggregated media presentation information sent by database owner 180 to central facility 170. As described in conjunction with FIG10 , the database owner aggregates demographic information (e.g., the demographic information of example table 1080 of FIG10B associated with the media impression data of example table 1070 of FIG10A ). Example table 1089 represents aggregated demographic data showing multiple impressions associated with various demographics and different media identifiers.
图10C的示例表1089包括表示媒体标识符的第一列1090。示例表1089包括表示被暴露到由20岁以下的第一列1090的媒体标识符识别的媒体的用户的数量的计数(例如,总和)的第二列。示例表1089包括表示被暴露到由在20岁至40岁之间的第一列1090的媒体标识符识别的媒体的用户的数量的计数(例如,总和)的第三列。示例表1089包括表示暴露到40岁至60岁之间的第一列1090的媒体标识符识别的媒体的用户的数量的计数(例如,总和)的第四列。示例表1089包括表示暴露到60岁以上的第一列1090的媒体标识符识别的媒体的用户的数量的计数(例如,总和)的第五列。虽然在所示示例中,年龄以20岁的范围被划分,但是可以使用任何其它范围(例如,1岁、2岁、5岁、10岁等)。The example table 1089 of FIG10C includes a first column 1090 representing media identifiers. The example table 1089 includes a second column representing a count (e.g., a sum) of the number of users exposed to media identified by the media identifiers in the first column 1090 who are under the age of 20. The example table 1089 includes a third column representing a count (e.g., a sum) of the number of users exposed to media identified by the media identifiers in the first column 1090 who are between the ages of 20 and 40. The example table 1089 includes a fourth column representing a count (e.g., a sum) of the number of users exposed to media identified by the media identifiers in the first column 1090 who are between the ages of 40 and 60. The example table 1089 includes a fifth column representing a count (e.g., a sum) of the number of users exposed to media identified by the media identifiers in the first column 1090 who are over the age of 60. Although age is divided into 20-year ranges in the example shown, any other ranges (e.g., 1, 2, 5, 10, etc.) can be used.
在图10C的所示示例中,示例表1089包括表示暴露到由年收入低于四万美金的第一列1090的媒体标识符识别的媒体的用户的数量的计数(例如,总和)的第六列。示例表1089包括表示暴露到年收入在四万美金和八万美金之间的第一列1090的媒体标识符识别的媒体的用户的数量的计数(例如,总和)的第七列。示例表1089包括表示暴露到年收入高于八万美金的第一列1090的媒体标识符识别的媒体的用户的数量的计数(例如,总和)的第八列。虽然在所示示例中,收入以四万美金的范围被划分,但是可以另外地或另选地使用任何其它范围和/或划分。此外,虽然在图10C的所示示例中,针对年龄和收入的人口统计信息被聚集,但是可以另外地或另选地聚集任何其它人口统计信息。另外,虽然单独示出了年龄和收入,但是其它组合是可以的(例如,年收入在4万-6万的40-60岁的人)。In the example shown in FIG10C , example table 1089 includes a sixth column representing a count (e.g., a sum) of the number of users exposed to media identified by the media identifiers in first column 1090 whose annual income is less than $40,000. Example table 1089 includes a seventh column representing a count (e.g., a sum) of the number of users exposed to media identified by the media identifiers in first column 1090 whose annual income is between $40,000 and $80,000. Example table 1089 includes an eighth column representing a count (e.g., a sum) of the number of users exposed to media identified by the media identifiers in first column 1090 whose annual income is greater than $80,000. Although in the example shown, income is divided into a range of $40,000, any other ranges and/or divisions may be used in addition or alternatively. Furthermore, although in the example shown in FIG10C , demographic information for age and income is aggregated, any other demographic information may be aggregated in addition or alternatively. Additionally, although age and income are shown separately, other combinations are possible (eg, people aged 40-60 with an annual income of 40,000-60,000).
图11是表示示例机器可读指令1100的流程图,可以执行这些机器可读指令来实现图1和/或图2的示例中心设施170。图11的示例机器可读指令1100的执行开始于中心设施170接收来自数据库所有者180、182的元数据(其可以被加密和/或被格式化为ID3标签)和与元数据关联的人口统计信息(框1110)。在所示示例中,示例中心设施170的数据接收器481接收来自数据库所有者180、182的元数据,而不首先向数据库所有者请求这样的数据。也就是说,数据库所有者180、182根据它们自身将关联的人口统计信息发送到中心设施170。然后,示例中心设施170的元数据处理器451确定来自附加数据库所有者的数据是否应该在继续之前被接收(框1120)。例如,虽然示例中心设施170的数据接收器481可能已经接收到来自单个数据库所有者的数据,但是接收来自多个数据库所有者的元数据和人口统计信息可能得到与所呈现媒体关联的人口统计曝光的更准确报告。在一些示例中,与人口统计信息关联地接收的媒体识别元数据可以被加密。在这样的示例中,元数据处理器451将加密后的媒体识别元数据解密,以使得能够识别媒体。FIG11 is a flow diagram representing example machine-readable instructions 1100 that can be executed to implement the example central facility 170 of FIG1 and/or FIG2. Execution of the example machine-readable instructions 1100 of FIG11 begins with the central facility 170 receiving metadata (which may be encrypted and/or formatted as an ID3 tag) and demographic information associated with the metadata from database owners 180, 182 (block 1110). In the illustrated example, the data receiver 481 of the example central facility 170 receives the metadata from the database owners 180, 182 without first requesting such data from the database owners. That is, the database owners 180, 182 send the associated demographic information to the central facility 170 on their own initiative. The metadata processor 451 of the example central facility 170 then determines whether data from additional database owners should be received before continuing (block 1120). For example, while the data receiver 481 of the example central facility 170 may have received data from a single database owner, receiving metadata and demographic information from multiple database owners may result in a more accurate report of the demographic exposure associated with the presented media. In some examples, the media identification metadata received in association with the demographic information may be encrypted. In such an example, the metadata processor 451 decrypts the encrypted media identification metadata to enable identification of the media.
如果已经从足够数量的数据库所有者接收到数据(框1120),则元数据处理器451聚集来自数据库所有者的人口统计数据(框1130)。然后,元数据处理器451基于元数据和所聚集的人口统计信息来生成媒体呈现报告(框1140)。If data has been received from a sufficient number of database owners (block 1120), the metadata processor 451 aggregates demographic data from the database owners (block 1130). The metadata processor 451 then generates a media presentation report based on the metadata and the aggregated demographic information (block 1140).
图12是示例处理器平台1000的框图,该处理器平台1000能够执行图6、图7、图8、图9、图10和/或图11的指令来实现图1和/或图2的示例服务提供商120、图1、图2、图2A和/或图3的示例浏览器165、和/或图1、图2和/或图4的示例数据库所有者180、182。处理器平台1200可以是例如服务器、个人计算机、移动装置(例如,手机、智能电话、诸如iPadTM的平板)、个人数字助理(PDA)、互联网设备、DVD播放器、CD播放器、数字录像机、蓝光播放器、游戏控制台、个人录像机、机顶盒、或任何其它类型的计算装置。12 is a block diagram of an example processor platform 1000 capable of executing instructions of FIG6, FIG7, FIG8, FIG9, FIG10, and/or FIG11 to implement the example service provider 120 of FIG1 and/or FIG2, the example browser 165 of FIG1, FIG2, FIG2A, and/or FIG3, and/or the example database owners 180, 182 of FIG1, FIG2, and/or FIG4. The processor platform 1200 may be, for example, a server, a personal computer, a mobile device (e.g., a cell phone, a smartphone, a tablet such as an iPad ™ ), a personal digital assistant (PDA), an internet appliance, a DVD player, a CD player, a digital video recorder, a Blu-ray player, a game console, a personal video recorder, a set-top box, or any other type of computing device.
所示示例的处理器平台1200包括处理器1212。所示示例的处理器1212是硬件。例如,处理器1212可以由来自任何期望系列或制造商的一个或更多个集成电路、逻辑电路、微处理器或控制器来实现。The processor platform 1200 of the illustrated example includes a processor 1212. The processor 1212 of the illustrated example is hardware. For example, the processor 1212 may be implemented by one or more integrated circuits, logic circuits, microprocessors, or controllers from any desired family or manufacturer.
所示示例的处理器1212包括本地存储器1213(例如,高速缓存)。所示示例的处理器1212经由总线1218与包括易失性存储器1214和非易失性存储器1216的主存储器通信。易失性存储器1214可以由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其它类型的随机存取存储器装置来实现。非易失性存储器1216可以由闪存和/或任何其它期望类型的存储器装置来实现。由存储器控制器来控制对主存储器1214、1216的访问。The processor 1212 of the illustrated example includes a local memory 1213 (e.g., a cache). The processor 1212 of the illustrated example communicates with a main memory including a volatile memory 1214 and a non-volatile memory 1216 via a bus 1218. The volatile memory 1214 can be implemented by synchronous dynamic random access memory (SDRAM), dynamic random access memory (DRAM), RAMBUS dynamic random access memory (RDRAM), and/or any other type of random access memory device. The non-volatile memory 1216 can be implemented by flash memory and/or any other desired type of memory device. Access to the main memories 1214 and 1216 is controlled by a memory controller.
所示示例的处理器平台1200还包括接口电路1220。接口电路1220可以由任何类型的接口标准(诸如,以太网接口、通用串行总线(USB)、和/或PCI Express接口)来实现。The processor platform 1200 of the illustrated example also includes an interface circuit 1220. The interface circuit 1220 may be implemented by any type of interface standard, such as an Ethernet interface, a Universal Serial Bus (USB), and/or a PCI Express interface.
在所示示例中,一个或更多个输入装置1222连接到接口电路1220。输入装置1222允许用户将数据和命令输入到处理器1212中。输入装置可以由例如音频传感器、麦克风、相机(静止或视频)、键盘、按钮、鼠标、触摸屏、跟踪板、跟踪球、等点和/或语音识别系统来实现。In the example shown, one or more input devices 1222 are connected to the interface circuit 1220. The input devices 1222 allow a user to enter data and commands into the processor 1212. The input devices may be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, buttons, a mouse, a touch screen, a trackpad, a trackball, an isochronous point, and/or a voice recognition system.
一个或更多个输出装置1224还连接到所示示例的接口电路1220。输出装置1224可以例如由显示装置(例如,发光二极管(LED))、有机发光二极管(OLED)、液晶显示器、阴极射线管(CRT)、触摸屏、触觉输出装置、发光二极管(LED)、打印机和/或扬声器)来实现。因此,所示示例的接口电路1220通常包括图形驱动器卡、图形驱动器芯片或图形驱动器处理器。One or more output devices 1224 are also connected to the interface circuit 1220 of the illustrated example. Output device 1224 can be implemented, for example, by a display device (e.g., a light emitting diode (LED)), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube (CRT), a touch screen, a tactile output device, a light emitting diode (LED), a printer, and/or a speaker. Therefore, the interface circuit 1220 of the illustrated example typically includes a graphics driver card, a graphics driver chip, or a graphics driver processor.
所示示例的接口电路1220还包括通信装置(诸如,发送器、接收器、收发器、调制解调器和/或网络接口卡),以有助于经由网络1226(例如,以太网连接、数字用户线(DSL)、电话线、同轴电缆、蜂窝电话系统等)与外部机器(例如,任何种类的计算装置)进行数据交换。The interface circuitry 1220 of the illustrated example also includes communication devices (such as transmitters, receivers, transceivers, modems, and/or network interface cards) to facilitate data exchange with an external machine (e.g., any type of computing device) via a network 1226 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, a coaxial cable, a cellular telephone system, etc.).
所示示例的处理器平台1200还包括用于存储软件和/或数据的一个或更多个大容量存储装置128。这样的大容量存储装置1228的示例包括软盘驱动器、硬盘驱动器、光盘驱动器、蓝光盘驱动器、RAID系统和数字视频盘(DVD)驱动器。The processor platform 1200 of the illustrated example also includes one or more mass storage devices 128 for storing software and/or data. Examples of such mass storage devices 1228 include floppy disk drives, hard disk drives, optical disk drives, Blu-ray disk drives, RAID systems, and digital video disk (DVD) drives.
图6、图7、图8、图9、图10和/或图11的编码指令1232可以被存储在大容量存储装置1228中、易失性存储器1214中、非易失性存储器1216中、和/或诸如CD或DVD的可移动有形计算机可读存储介质上。The encoded instructions 1232 of Figures 6, 7, 8, 9, 10 and/or 11 may be stored in the mass storage device 1228, in the volatile memory 1214, in the non-volatile memory 1216, and/or on a removable tangible computer-readable storage medium such as a CD or DVD.
根据以上内容,应该理解,以上公开的方法、设备和物品能够监测媒体呈现并且使由一个或更多个数据库所有者提供的人口统计信息与媒体呈现关联。特别地,响应于检测到媒体呈现,由客户端装置将媒体识别元数据(其可以被加密和/或被格式化为ID3标签)和用户识别信息被发送到数据库所有者。数据库所有者聚集与所呈现媒体关联的人口统计信息(基于用户识别信息),并且将人口统计信息和媒体识别信息报告给音频测量实体。Based on the above, it should be understood that the methods, devices, and articles disclosed above are capable of monitoring media presentations and associating demographic information provided by one or more database owners with the media presentations. Specifically, in response to detecting a media presentation, media identification metadata (which may be encrypted and/or formatted as an ID3 tag) and user identification information are sent by a client device to the database owner. The database owner aggregates demographic information associated with the presented media (based on the user identification information) and reports the demographic information and media identification information to an audio measurement entity.
虽然在此已经公开了特定示例方法、设备和物品,但是本专利的覆盖范围不限于此。相反,本专利覆盖完全落入本专利的权利要求的范围内的所有方法、设备和物品。Although certain example methods, apparatus, and articles have been disclosed herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus, and articles fairly falling within the scope of the claims of this patent.
Claims (28)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US61/889,505 | 2013-10-10 | ||
| US61/890,176 | 2013-10-11 | ||
| US14/144,352 | 2013-12-30 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1227592A1 HK1227592A1 (en) | 2017-10-20 |
| HK1227592B true HK1227592B (en) | 2020-05-08 |
Family
ID=
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11197046B2 (en) | 2013-10-10 | 2021-12-07 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11197046B2 (en) | 2013-10-10 | 2021-12-07 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12184913B2 (en) | Methods and apparatus to measure exposure to streaming media | |
| US12010380B2 (en) | Methods and apparatus to measure exposure to streaming media | |
| AU2014331927A1 (en) | Methods and apparatus to measure exposure to streaming media | |
| CN104488277B (en) | Method and apparatus for monitoring media presentation | |
| US20140244828A1 (en) | Methods and apparatus to measure exposure to streaming media | |
| US11563991B2 (en) | Methods and apparatus to monitor a media presentation | |
| US20130268623A1 (en) | Methods and apparatus to measure exposure to streaming media | |
| HK1227592B (en) | Method and apparatus to measure and monitor exposure to streaming media | |
| HK1227592A1 (en) | Method and apparatus to measure and monitor exposure to streaming media | |
| AU2012272872B8 (en) | Methods and apparatus to measure exposure to streaming media | |
| HK1208292B (en) | Methods and apparatus to monitor media presentations |