Patent ID: 12206884

The figures are not to scale. In general, the same reference numbers will be used throughout the drawing(s) and accompanying written description to refer to the same or like parts.

Descriptors “first,” “second,” “third,” etc. are used herein when identifying multiple elements or components which may be referred to separately. Unless otherwise specified or understood based on their context of use, such descriptors are not intended to impute any meaning of priority, physical order or arrangement in a list, or ordering in time but are merely used as labels for referring to multiple elements or components separately for ease of understanding the disclosed examples. In some examples, the descriptor “first” may be used to refer to an element in the detailed description, while the same element may be referred to in a claim with a different descriptor such as “second” or “third.” In such instances, it should be understood that such descriptors are used merely for ease of referencing multiple elements or components.

DETAILED DESCRIPTION

As used herein, the term “media” includes any type of content and/or advertisement delivered via any type of distribution medium. Thus, media includes television programming or advertisements, radio programming or advertisements, movies, web sites, streaming media, etc.

Example methods, apparatus, and articles of manufacture disclosed herein monitor media presentations by media devices. Such media devices may include, for example, Internet-enabled televisions, personal computers, Internet-enabled mobile handsets (e.g., a smartphone), video game consoles (e.g., Xbox®, PlayStation®), tablet computers (e.g., an iPad®), digital media players (e.g., a Roku® media player, a Slingbox®, etc.), etc.

In some examples, media monitoring information is aggregated to determine ownership and/or usage statistics of media device(s), determine the media presented by the media device(s), determine audience ratings, relative rankings of usage and/or ownership of media devices, types of uses of media devices (e.g., whether a device is used for browsing the Internet, streaming media from the Internet, etc.), and/or other types of media device information. In some examples disclosed herein, monitoring information includes, but is not limited to, media identifying information (e.g., media-identifying metadata, codes, signatures, watermarks, and/or other information that may be used to identify presented media), application usage information (e.g., an identifier of an application, a time and/or duration of use of the application, a rating of the application, etc.), and/or user-identifying information (e.g., demographic information, a user identifier, a panelist identifier, a username, etc.).

Audio watermarking is a technique used to identify media such as television broadcasts, radio broadcasts, advertisements (television and/or radio), downloaded media, streaming media, prepackaged media, etc. Existing audio watermarking techniques identify media by embedding one or more audio codes (e.g., one or more watermarks), representing media identifying information and/or an identifier that may be mapped to media identifying information, into an audio and/or video component. In some examples, the watermark is embedded in the audio or video component so that the watermark is hidden. This embedding may be carried out utilizing psychoacoustic masking.

As used herein, the terms “code” and “watermark” are used interchangeably and are defined to mean any information (e.g., an identifier) that may be inserted or embedded in the audio or video of media (e.g., a program or advertisement) for the purpose of identifying the media or for another purpose, such as tuning (e.g., a packet identifying header), copyright protection, etc.

Watermarks can be limited by the size of the payload (e.g., the number of bits of the payload) supported by the watermark encoding technology used to encode the watermark. As more media (e.g., content, advertisement, etc.) is created, the size of the identifier required to uniquely identify the media also increases. For example, some new media identifiers are 64-bits in length. However, in some examples, existing watermarking technologies (e.g., Nielsen Commercial Code Watermarks (NWCC), Critical Band Encoding Technology commercial codes (CBET CC), etc.) may not be sufficiently sized to support large payload sizes large enough to support such lengthy media identifier (and/or other large blocks of data).

Accordingly, methods, apparatus and articles of manufactures disclosed herein adapt existing watermark technologies such that their individual watermark payloads can be combined into a larger overall watermark payload. In some examples disclosed herein, existing watermark technology is adapted such that the individual watermark payloads can be used to bolster one another. In some examples disclosed herein, a first watermark associated with a first watermark technology and a second watermark associated with a second watermark technology are embedded in the same media stream. In some examples disclosed herein, one or more bits of each embedded watermark are used to indicated whether the payloads of the individual watermarks are to be combined, used to bolster one another, or treated separately. In some examples disclosed herein, the alignment of the watermarks associated with different watermark technologies is determined (e.g., aligned over the same time window, etc.). In some examples disclosed herein, the alignment can be used to determine if the watermarks were encoded by the same encoder. In some examples disclosed herein, when the watermarks are out of phase, the watermarks are decoded separately regardless of the leading bits.

FIG.1is a block diagram of an example environment100in which the teachings of this disclosure may be implemented. The example environment100includes an example audience measurement entity102which transmits example watermarks104A,104B to an example watermark encoder106. The example watermark encoder106receives an example media stream108, encodes the watermarks104A,104B into the media stream108and output a resulting example an encoded media stream110to be received by an example media device112. The media presented at the example media device112is detected by an example media meter114, which includes an example watermark decoder116. In the illustrated example ofFIG.1, the watermark decoder116detects the watermarks104A,104B embedded in the encoded media stream110, which the watermark decoder116uses to create a media identifier118. In the illustrated example ofFIG.1, the watermark decoder116transmits the media identifier118to the audience measurement entity102. While the examples ofFIGS.1-7are described with reference to the first watermark104A and the second watermark104B, the example methods, apparatus and articles of manufacture have been disclosed herein can be applied to any number of watermarks.

The example audience measurement entity102(e.g., a media monitoring entity, etc.) determines audience engagement levels for media programming and/or advertisements (e.g., associated with the media stream108, etc.). In the illustrated example, the audience measurement entity102provides (e.g., transmits, etc.) the example watermarks104A,104B to the watermark encoder106. In some examples, when media encoded with the example watermarks104A,104B is presented, the media meter114can detect the embedded watermarks104A,104B and transmit media identification information decoded therefrom (e.g., the media identifier118, etc.) to the audience measurement entity102. The audience measurement entity102can credit media exposure using the media identifier118. In some examples, the audience measurement entity102can be a physical location with associated hardware (e.g., server(s), transceiver(s), etc.). In other examples, the audience measurement entity102can be fully or partially implemented by a cloud service (e.g., Amazon Web Services, etc.).

In the illustrated example, the encoded watermarks104A,104B are codes that are to be embedded in the media stream108. In some examples, the watermarks104A,104B include payloads, filler information and/or indicator bit(s). In some examples, the payloads can include media identifying information and/or an identifier that may be mapped to media identifying information. In the illustrated example, the first watermark104A is associated with a first watermarking technology (e.g., NWCC, etc.) with an associated encoding schema. As used herein, an “encoding schema” refers to the parameters determining how a watermark (e.g., the watermarks104A,104B) is embedded in a media stream. The parameters of an encoding schema can specify the frequency or frequencies of the media stream in which the watermark is embedded, the encoding rate, the payload size, etc. In the illustrated example, the second watermark104B is associated with a second watermarking technology (e.g., CBET CC, etc.) with an associated second encoding schema. In some examples, the payload of the first watermark104A is a different size (e.g., contains a different number of bits, etc.) than the second watermark104B. In some examples, the payloads of the watermarks104A,104B can be the same size. In some examples, the watermarks104A,104B can be associated with the same watermarking technology but are encoded with different encoding schema. Example data configurations of the watermarks104A,104B are described below in conjunction withFIGS.4A and4B. Example alignments of the watermarks104A,104B are described below in conjunction withFIGS.5A and5B.

The example media stream108is a source of media associated with a media provider. In some examples, the media stream108is associated with a television provider. For example, the media stream can include a television feed (e.g., ESPN, CNN, TNT, etc.) that presents continuous media. In some examples, the media stream108can be associated with any suitable type of media and/or media provider (e.g., a radio feed, a streaming service feed, etc.). In some examples, the media stream108is provided to the watermark encoder106live. In some examples, the media stream108can be provided to the watermark encoder106at a time delay.

The example watermark encoder106embeds the example watermarks104A,104B into the media stream108to create the encoded media stream110. In the illustrated example, the watermark encoder106embeds the first watermark104A into the media stream108according to the first encoding schema and embeds the second watermark104B into the media stream108according to the second encoding schema. In some examples, the watermark encoder106can set the alignment of the first watermark104A and the second watermark104B. In some examples, the watermark encoder106can embed the watermark104A,104B in a manner that allows the watermarks104A,104B to be combined when decoded. In other examples, the watermark encoder106can embed the watermarks104A,104B in a manner that allows the second watermark104B to bolster the first watermark104A.

The example media device112of the illustrated example shown inFIG.1presents the media associated with the encoded media stream110. In some examples, the media device112is capable of directly presenting media (e.g., via a display) while, in other examples, the media device112presents the media on separate media presentation equipment (e.g., speakers, a display, etc.). Thus, as used herein “media devices” may or may not be able to present media without assistance from a second device. Media devices are typically consumer electronics. For example, the media device112of the illustrated example ofFIG.1can be any suitable type(s) and/or number(s) of media device(s). For example, Internet-enabled mobile handsets (e.g., a smartphone, an iPod®, etc.), video game consoles (e.g., Xbox®, PlayStation 3, etc.), tablet computers (e.g., an iPad®, a Motorola™ Xoom™, etc.), digital media players (e.g., a Roku® media player, a Slingbox®, a Tivo®, etc.), smart televisions, desktop computers, laptop computers, servers, etc. may additionally or alternatively be used.

The example media meter114collects media monitoring information. In some examples, the media meter114is associated with the media device112. For example, the media meter114can be directly connected (e.g., physical connections) to the media device112, and/or may be connected wirelessly (e.g., via Wi-Fi, via Bluetooth, etc.) to the media device112to be monitored. In some examples, the media meter114can be an application installed on the media device112. In other examples, the media meter114can be a portable device carried by a user associated with the media device112. In the illustrated example, the media meter114detects watermarks (e.g., with the watermark decoder116) in the encoded media stream110and generates the media identifier118.

The example watermark decoder116decodes and processes the watermarks104A,104B embedded in the encoded media stream110. In some examples, the watermark decoder116can combine the payloads of the watermarks104A,104B. In some examples, the watermark decoder116can use the second watermark104B to bolster the first watermark104A. In some examples, the watermark decoder116can treat the first watermark104A independently from the second watermark104B. In some examples, the watermark decoder116can detect one or more indicator bits of the watermarks104A,104B to determine if the watermarks are to be combined, used to bolster one another, or treated separately. In some examples, the watermark decoder116can further determine how to process the watermarks104A,104B based on the alignment of the watermarks104A,104B relative to each other. In some examples, the watermark decoder116can generate the media identifier based on the first watermark104A and/or the second watermark104B.

The example media identifier118includes information that allows the audience measure entity102to credit the user(s) associated with media device112with exposure to the media presented by the media device112. For example, the media identifier118can include media identifying information (e.g., included in the payloads of the watermark104A,104B, etc.), timestamp(s) and/or user identifying information. In other examples, the media identifier118can include any other suitable information, etc.

FIG.2is a block diagram of an example implementation of the watermark encoder106ofFIG.1. In the illustrated example ofFIG.2, the example watermark encoder106include an example interface202, an example first watermark embedder204, and an example second watermark embedder206. In some examples, the watermark encoder106can be implemented by a single encoding device, system, or a combination of devices located at a media provider and/or the audience measurement entity102.

The example interface202is a network or other communication interface that allows the example watermark encoder106to receive the media stream108(e.g., from a media provider, etc.) and the watermarks104A,104B from the audience measurement entity102(e.g., via a network). In some examples, the example interface202can convert the watermarks104A,104B and/or media stream108into a form usable by the first watermark embedder204and/or second watermark embedder206. In some examples, the interface202can be in continuous communication with the audience measurement entity102. In other examples, the interface202can be in periodic communication or as-needed with the audience measurement entity102.

The example first watermark embedder204embeds the first watermark104A into the media stream108. For example, the first watermark embedder204can encode the first watermark104A in accordance with a first watermark technology with a first encoding schema. For example, the first watermark embedder204can encode the first watermark104A in a first frequency band or bands of the media stream108at a first encoding rate and/or with a first payload size. In some examples, the first watermark embedder204can set one or more indicator bit(s) (e.g., bit(s) of the payload) to indicate if the first watermark104A (or groups of successive first watermarks104A) is(are) to be combined with the second watermark104B (or groups of successive second watermarks104B), bolstered by the second watermark104B (or groups of successive second watermarks104B) or treated independently. In some examples, the first watermark embedder204can detect an indicator bit (e.g., set by the audience measurement entity102) and encode the indicator bit into the payload of the first watermark104A to be embedded into the media stream108.

The example second watermark embedder206embeds the second watermark104B into the media stream108. For example, the first watermark embedder204can encode the second watermark104B in accordance with a second watermark technology with a second encoding schema. For example, the second watermark embedder206can encode the second watermark104B in a second frequency band or bands of the media stream108at a second encoding rate and/or with a second payload size. The second frequency band(s), the second encoding rate and/or the second payload size may be different from the respective first frequency band(s), first encoding rate and/or first payload size. In some examples, the second watermark embedder206can set one or more encoder bit(s) (e.g., bit(s) of the payload) to indicate if the second watermark104B (or groups of successive second watermarks104B) is(are) to be combined with the first watermark104A (or groups of successive first watermarks104A), used to bolster the first watermark104A (or groups of successive first watermarks104A) or treated independently. In some examples, the second watermark embedder206can embed the second watermark104B such that it is aligned with the first watermark104A. In some examples, the first watermark embedder204can communicate with the second watermark embedder206. Once the first watermark embedder204and the second watermark embedder206have embedded the first watermark104A (or groups of successive first watermarks104A) and the second watermark104B (or groups of successive second watermarks104B) into the media stream108, respectively, the watermark encoder106outputs the example encoded media stream110.

While an example manner of implementing the watermark encoder106ofFIG.1is illustrated inFIG.2, one or more of the elements, processes and/or devices illustrated inFIG.2may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. Further, the example interface202, the example first watermark embedder204, the example second watermark embedder206, and/or, more generally, the example watermark encoder106ofFIG.2may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Thus, for example, any of the example interface202, the example first watermark embedder204, the example second watermark embedder206and/or, more generally, the example watermark encoder106could be implemented by one or more analog or digital circuit(s), logic circuits, programmable processor(s), programmable controller(s), graphics processing unit(s) (GPU(s)), digital signal processor(s) (DSP(s)), application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)). When reading any of the apparatus or system claims of this patent to cover a purely software and/or firmware implementation, at least one of the example interface202, the example first watermark embedder204, the example second watermark embedder206is/are hereby expressly defined to include a non-transitory computer readable storage device or storage disk such as a memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-ray disk, etc. including the software and/or firmware. Further still, the example watermark encoder106ofFIG.1may include one or more elements, processes and/or devices in addition to, or instead of, those illustrated inFIG.2and/or may include more than one of any or all of the illustrated elements, processes and devices. As used herein, the phrase “in communication,” including variations thereof, encompasses direct communication and/or indirect communication through one or more intermediary components, and does not require direct physical (e.g., wired) communication and/or constant communication, but rather additionally includes selective communication at periodic intervals, scheduled intervals, aperiodic intervals, and/or one-time events.

FIG.3is a block diagram of an example implementation of the watermark decoder116ofFIG.1. The example watermark decoder116includes an example interface302, an example first watermark detector304, an example watermark detector306, an example indicator identifier308, an example alignment determiner309, an example payload combiner310, an example payload bolsterer312, and an example report generator314.

The example interface302monitors the media device112to monitor the encoded media stream110presented at the media device112. For example, the interface302can be an audio sensor that detects audio emitted by the media device. In some examples, the interface302can be a direct communication (e.g., a wired connection) with the media device112.

The example first watermark detector304detects the first watermark104A embedded in the encoded media stream110. In the illustrated example, the first watermark detector304can detect watermarks encoded with the first watermark technology and according to the first encoding schema. For example, the first watermark detector304can detect watermarks encoded with the first watermark technology according to a first encoding schema, such as the watermark104A, embedded in a first frequency band or bands of the encoded media stream110and with a first encoding rate and/or payload size. Similarly, the example second watermark detector306detects the second watermark104B embedded in the encoded media stream110. For example, the second watermark detector306can detect watermarks encoded with the second watermark technology according to a second encoding schema, such as the watermark104B, embedded in a second frequency band or bands of the encoded media stream110, different than the first frequency band(s) and with a second encoding rate and/or second payload size, different from the first encoding rate and first payload size. In some examples, the first watermark detector304and second watermark detector306may be implemented as a single watermark detector. In such examples, the combined watermark detector detects all watermarks embedded in the encoded media stream110.

The example indicator identifier308determines the value of indicator bit(s) included in the first watermark104A and second watermark104B. For example, the watermarks104A,104B can included bits that indicate whether the watermarks are to be combined, bolstered or treated independently. For example, if the first watermark104A and the second watermark104B both include an indicator bit set to “1” (or another specific value), the indicator identifier308can determine that the watermarks104A,104B are to be combined. For example, if the watermarks104A,104B both include an indicator bit set to “0” (or another specific value), the indicator identifier308can determine the second watermark104B is to be used to bolster the first watermark104A. In some examples, if the watermarks104A,104B have respective indicator bits with different values (e.g., the indicator bit of the first watermark104A is “1” and the indicator bit of the second watermark104B is “0,” etc.), the indicator identifier308can determine the watermarks104A,104B are to be treated independently. In some examples, any other values or combination of values may be used in the indicator bits to identify how the watermarks104A,104B are to be treated by the watermark decoder116. In some examples, the indicator bits may be first bits of the respective watermarks104A,104B and/or bits at other locations in the respective watermarks104A,104B.

The example alignment determiner309determines the alignment of the watermarks104A,104B. For example, the alignment determiner309determines if the watermarks104A,104B are in phase (e.g., recur over the same time period with similar related offsets to each other). In some examples, if the watermarks104A,104B are not aligned, they are treated separately regardless of the values of the indicator bits determined by the indicator identifier308. Example alignments of the watermarks104A,104B are described below in conjunction withFIGS.5A and5B.

The example payload combiner310combines the payloads of the watermarks104A,104B. For example, the payload combiner310can extract the payloads from the watermarks104A,104B and concatenate the extracted payloads to create a combined payload. In other examples, the payload combiner310can combine the payloads of the watermarks104A,104B by any other suitable means (randomly, alternating bits, etc.). In some examples, the combined payload can be processed as a single data structure. In some examples, the payload combiner310can operate if the alignment determiner309determines the watermarks104A,104B are aligned and the indicator identifier308determines the indicator bits of the respective watermarks104A,104B indicate the watermarks104A,104B are to be combined. In some examples, the payload combiner310can operate under any other suitable conditions.

The example payload bolsterer312bolsters the first watermark104A using the second watermark104B. For example, the payload bolster312can extract the payloads from the watermarks104A,104B. In such examples, the payloads of the watermarks104A,104B contain the similar information (e.g., include bits or subset of bits of the same values, etc.) and can be used to verify the integrity of each payload of relative to the other. In some examples, the payload combiner310can operate if the alignment determiner309determines the watermarks104A,104B are aligned and the indicator identifier308determines the respective indicator bits of the watermarks104A,104B indicate the watermarks104A,104B are to be used for bolstering. In other examples, the payload combiner310can operate under any other suitable conditions.

The example report generator314uses the payload output by the payload combiner310or payload bolsterer312to generate the example media identifier118. In some examples, the report generator314can identify the media associated with the encoded media stream110. In some examples, the report generator314can further include the demographic information associated with a user of the media device112. In some examples, the report generator314can generate an error message. For example, the report generator314can generate an error message if the alignment determiner309determines the watermarks104A,104B are not properly aligned and/or if the indicator identifier308determines the indicator bits of the watermarks104A,104B have different values.

While an example manner of implementing the watermark decoder116ofFIG.1is illustrated inFIG.3, one or more of the elements, processes and/or devices illustrated inFIG.3may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. Further, the example interface302, the example first watermark detector304, the example watermark detector306, the example indicator identifier308, the example alignment determiner309, the example payload combiner310, the example payload bolsterer312, the example report generator316, and/or, more generally, the example watermark decoder116ofFIG.3may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Thus, for example, any of the example interface302, the example first watermark detector304, the example watermark detector306, the example indicator identifier308, the example alignment determiner309, an example payload combiner310, the example payload bolsterer312, the example report generator316and/or, more generally, the example watermark decoder116could be implemented by one or more analog or digital circuit(s), logic circuits, programmable processor(s), programmable controller(s), graphics processing unit(s) (GPU(s)), digital signal processor(s) (DSP(s)), application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)). When reading any of the apparatus or system claims of this patent to cover a purely software and/or firmware implementation, at least one of the example interface302, the example first watermark detector304, the example watermark detector306, the example indicator identifier308, the example alignment determiner309, an example payload combiner310, the example payload bolsterer312, the example report generator316, and/or, more generally, the example watermark decoder116ofFIG.3is/are hereby expressly defined to include a non-transitory computer readable storage device or storage disk such as a memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-ray disk, etc. including the software and/or firmware. Further still, the example watermark decoder116ofFIG.1may include one or more elements, processes and/or devices in addition to, or instead of, those illustrated inFIG.3, and/or may include more than one of any or all of the illustrated elements, processes and devices. As used herein, the phrase “in communication,” including variations thereof, encompasses direct communication and/or indirect communication through one or more intermediary components, and does not require direct physical (e.g., wired) communication and/or constant communication, but rather additionally includes selective communication at periodic intervals, scheduled intervals, aperiodic intervals, and/or one-time events.

FIG.4Ais a block diagram of first example payload configuration of an example output400of the watermark encoder ofFIG.2. The example output400includes an example first watermark404and an example second watermark406. The example first watermark404includes an example first indicator bit408and an example first payload410. The example second watermark406includes an example second indicator bit412, an example filler data field414and an example second payload416. In the illustrated example ofFIG.4A, the indicator bits408,412indicate the second watermark406is to be used to bolster the first watermark404.

In the illustrated example ofFIG.4A, the watermarks404,406are data structures that includes a plurality of bits. For example, the watermarks404,406are embedded in a media stream (e.g., the example media stream108) such that when they are decoded (e.g., by the watermark decoder116, etc.) the data can be reproduced (e.g., by the media meter114, etc.). In some examples, the watermarks404,406can correspond to the watermarks104A,104B ofFIG.1, respectively.

In the illustrated example, the values of the indicator bits408,412indicate to a watermark decoder (e.g., the watermark decoder116ofFIG.1) that the first payload410is to be bolstered with the second payload416. Additionally or alternatively, the second payload416can be bolstered with the first payload410. In the illustrated example, the first indicator bit408and the second indicator bit412each have the value of “0” to indicate that the respective watermark payloads410and416are to be used for bolstering each other. In the illustrated example, the first indicator bit408and the second indicator bit412are a single bit in size. In other examples, one or both of the indicator bits408,412can have sizes larger than a single bit (e.g., 2 bits, a byte, etc.). In such examples, the values of the indicator bits408,412can be used to indicate other properties of the first watermark404and/or second watermark406(e.g., the relative position(s) of the second payload416and the filler data field414, etc.). In the illustrated example, the first indicator bit408is the first bit of the first watermark404and the second indicator bit412is the first bits of the second watermark406. In other examples, the indicator bits408,412can have any other suitable position(s) in the watermarks404,406.

In the illustrated example ofFIG.4A, the second watermark406is larger (e.g., contains more bits of data, etc.) than the first watermark406. In some examples, because the second payload416is being used to bolster the first payload410, the extra data of the second payload416is not used in the second watermark406. In such examples, the extra data of the second watermark406is included in the example filler data field414. In some examples, the filler data field414contains extraneous data that is not used to bolster the first payload410. In other examples, the filler data field414can contain any other suitable information. In some examples, the filler data field414can be absent (e.g., be incorporated into the indicator bit412, etc.).

FIG.4Bis a block diagram of a second example payload configuration of an example output417of the watermark encoder ofFIG.2. The example output417includes an example first watermark418and an examples second watermark420. The example first watermark418includes an example first indicator bit422and an example payload410. The example second watermark406includes an example second indicator bit426, and an example second payload428. In the illustrated example ofFIG.4A, the indicator bits422,426indicate the first payload424and the second payload428are to be combined.

In the illustrated example ofFIG.4B, the watermarks418,420are data structures that include a plurality of bits. For example, the watermarks418,420are embedded in a media stream (e.g., the example media stream108) such that when they are decoded (e.g., by the watermark decoder116, etc.) the data of the watermarks418,420can be reproduced (e.g., by the media meter114, etc.). In some examples, the watermarks418,420can correspond to the watermarks104A,104B ofFIG.1, respectively.

In the illustrated example, the values of the indicator bits422,426indicate to a watermark decoder (e.g., the watermark decoder116ofFIG.1) that the first payload424is to be combined with the second payload428. In the illustrated example ofFIG.4A, the first indicator bit422and the second indicator bit426each have the value of “1” is included in respective payloads424and428are to be combined. In some examples, the indicator bits422,426can have any other suitable values. In the illustrated example, the first indicator bit422and the second indicator bit426are a single bit in size. In other examples, one or both of the indicator bits422,426can have sizes larger than a single bit (e.g., 2 bits, a byte, etc.). In such examples, the values of the indicator bits422,426can be used to indicate other properties of the first watermark418and/or second watermark420. In the illustrated example, the first indicator bit422is the first bit of the first watermark418and the second indicator bit426is the first bit of the second watermark420. In other examples, the first and second indicator bits422,426can have any other suitable position(s) in the watermarks418,420.

When decoded by a watermark decoder (e.g., the watermark decoder116ofFIG.1, etc.), the first payload424and the second payload428are combined. For example, the payloads424,428can be concatenated. In other examples, the payloads424,428can be combined in any other suitable manner (e.g., randomly, alternating bits, etc.). In some examples, the combined payload is equal in size to the sum of the first payload424and the second payload428. In other examples, one or more of the bits of the first payload424and/or the second payload428can be discarded from the combined payload.

FIG.5Ais a block diagram of an alignment500of an example output of the watermark encoder ofFIG.2. The example alignment500includes an example sequence of first watermarks501which include an example first instance502A, an example second instance502B, and an example third instance502C. The example alignment500further includes an example an example sequence of second watermarks503which include an example first instance504A, and an example second instance504B. In the illustrated example ofFIG.5A, the alignment500occurs in an example time window506. In the illustrated example ofFIG.5A, the example first watermarks501are in the same phase (e.g., in-phase, etc.) as the example second watermarks503such that the first instance502A of the first watermarks501and the first instance504A of the second watermarks503begin at the beginning of the time window506and the third instance502C of the first watermarks501and the second instance504B of the second watermarks503(e.g., the last instances) end at the end of the time window506. The example first watermarks501occur three times within the time window506. The example second watermarks503occur two times within the time window506. In other examples, the watermarks501,503can occur any suitable number of times over the time window506. In some examples, the alignment500(e.g., three instances of the first watermark501and two instances of the second watermark503, etc.) occurs at every duration of the time window506in the media stream.

FIG.5Bis a block diagram of an alignment508of an example output of the watermark encoder ofFIG.2. The example alignment510includes an example sequence of first watermarks509which include an example first instance510A, an example second instance510B, and an example third instance510C. The example alignment508further includes an example sequence of second watermarks511which include an example first instance512A, and an example second instance512B. In the illustrated example ofFIG.5B, the example first watermarks509are not in alignment (e.g., not in-phase, etc.) with the example second watermarks511because the first instance510A of the first watermarks509and the first instance512A of the second watermarks511do not begin at the beginning of the time window506and the third instance510C of the first watermarks509and the second instance512B of the second watermarks511(e.g., the last instances) do not end at the end of the time window506. In this example, a watermark decoder (e.g., the watermark decoder116) would treat the watermarks509,511independently regardless of the indicator bits associated with the first watermark509and/or the second watermark511.

A flowchart representative of example hardware logic, machine readable instructions, hardware implemented state machines, and/or any combination thereof for implementing the watermark encoder106ofFIG.2is shown inFIG.6. The machine readable instructions may be one or more executable programs or portion(s) of an executable program for execution by a computer processor such as the processor812shown in the example processor platform800discussed below in connection withFIG.8. The program may be embodied in software stored on a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a DVD, a Blu-ray disk, or a memory associated with the processor812, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor812and/or embodied in firmware or dedicated hardware. Further, although the example program is described with reference to the flowchart illustrated inFIG.6, many other methods of implementing the example watermark encoder106may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined. Additionally or alternatively, any or all of the blocks may be implemented by one or more hardware circuits (e.g., discrete and/or integrated analog and/or digital circuitry, an FPGA, an ASIC, a comparator, an operational-amplifier (op-amp), a logic circuit, etc.) structured to perform the corresponding operation without executing software or firmware.

A flowchart representative of example hardware logic, machine readable instructions, hardware implemented state machines, and/or any combination thereof for implementing the watermark decoder116ofFIG.3is shown inFIG.7. The machine readable instructions may be one or more executable programs or portion(s) of an executable program for execution by a computer processor such as the processor912shown in the example processor platform900discussed below in connection withFIG.9. The program may be embodied in software stored on a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a DVD, a Blu-ray disk, or a memory associated with the processor912, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor912and/or embodied in firmware or dedicated hardware. Further, although the example program is described with reference to the flowchart illustrated inFIG.7, many other methods of implementing the example watermark decoder116may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined. Additionally or alternatively, any or all of the blocks may be implemented by one or more hardware circuits (e.g., discrete and/or integrated analog and/or digital circuitry, an FPGA, an ASIC, a comparator, an operational-amplifier (op-amp), a logic circuit, etc.) structured to perform the corresponding operation without executing software or firmware.

The machine readable instructions described herein may be stored in one or more of a compressed format, an encrypted format, a fragmented format, a packaged format, etc. Machine readable instructions as described herein may be stored as data (e.g., portions of instructions, code, representations of code, etc.) that may be utilized to create, manufacture, and/or produce machine executable instructions. For example, the machine readable instructions may be fragmented and stored on one or more storage devices and/or computing devices (e.g., servers). The machine readable instructions may require one or more of installation, modification, adaptation, updating, combining, supplementing, configuring, decryption, decompression, unpacking, distribution, reassignment, etc. in order to make them directly readable and/or executable by a computing device and/or other machine. For example, the machine readable instructions may be stored in multiple parts, which are individually compressed, encrypted, and stored on separate computing devices, wherein the parts when decrypted, decompressed, and combined form a set of executable instructions that implement a program such as that described herein. In another example, the machine readable instructions may be stored in a state in which they may be read by a computer, but require addition of a library (e.g., a dynamic link library (DLL)), a software development kit (SDK), an application programming interface (API), etc. in order to execute the instructions on a particular computing device or other device. In another example, the machine readable instructions may need to be configured (e.g., settings stored, data input, network addresses recorded, etc.) before the machine readable instructions and/or the corresponding program(s) can be executed in whole or in part. Thus, the disclosed machine readable instructions and/or corresponding program(s) are intended to encompass such machine readable instructions and/or program(s) regardless of the particular format or state of the machine readable instructions and/or program(s) when stored or otherwise at rest or in transit.

As mentioned above, the example processes ofFIGS.6-7may be implemented using executable instructions (e.g., computer and/or machine readable instructions) stored on a non-transitory computer and/or machine readable medium such as a hard disk drive, a flash memory, a read-only memory, a compact disk, a digital versatile disk, a cache, a random-access memory and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term non-transitory computer readable medium is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals and to exclude transmission media.

“Including” and “comprising” (and all forms and tenses thereof) are used herein to be open ended terms. Thus, whenever a claim employs any form of “include” or “comprise” (e.g., comprises, includes, comprising, including, having, etc.) as a preamble or within a claim recitation of any kind, it is to be understood that additional elements, terms, etc. may be present without falling outside the scope of the corresponding claim or recitation. As used herein, when the phrase “at least” is used as the transition term in, for example, a preamble of a claim, it is open-ended in the same manner as the term “comprising” and “including” are open ended. The term “and/or” when used, for example, in a form such as A, B, and/or C refers to any combination or subset of A, B, C such as (1) A alone, (2) B alone, (3) C alone, (4) A with B, (5) A with C, (6) B with C, and (7) A with B and with C. As used herein in the context of describing structures, components, items, objects and/or things, the phrase “at least one of A and B” is intended to refer to implementations including any of (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. Similarly, as used herein in the context of describing structures, components, items, objects and/or things, the phrase “at least one of A or B” is intended to refer to implementations including any of (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. As used herein in the context of describing the performance or execution of processes, instructions, actions, activities and/or steps, the phrase “at least one of A and B” is intended to refer to implementations including any of (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. Similarly, as used herein in the context of describing the performance or execution of processes, instructions, actions, activities and/or steps, the phrase “at least one of A or B” is intended to refer to implementations including any of (1) at least one A, (2) at least one B, and (3) at least one A and at least one B.

The program600ofFIG.6includes block602. At block602, the example interface202of the watermark encoder106receives a media stream108to be watermarked. For example, the example interface202can receive a media stream108from a media provider and/or a media broadcaster. In some examples, the media stream can be a live stream (e.g., a sports broadcast, etc.). In some examples, the media stream108can be a pre-recorded media stream (e.g., a movie, a syndicated program, etc.). In such examples, the interface202can receive the media stream108from a memory associated with the watermark encoder106(e.g., the local memory813ofFIG.8, the non-volatile memory816ofFIG.8, the mass storage ofFIG.8, etc.).

At block604, the interface202determines if the encoding will be bolstered with redundant payloads. For example, the interface202can determine if the encoding will be bolstered with redundant payloads by considering an instruction received with the media stream108, an instruction received with the watermark104A, and/or an instruction received with the watermark104B. Additionally or alternatively, the interface202can determine if the encoding will be bolstered with redundant payloads based on a property of the media stream108. If the encoding is to be bolstered with redundant payloads, the process600advances to block606. If the encoding is to be bolstering with redundant payloads, the process600advances at block610.

At block606, the example first watermark embedder204encodes a first watermark in accordance with a first watermark technology band with a first indicator bit. For example, the first watermark embedder204can encode the media stream108with the example first watermark104A in accordance with a first watermark technology (e.g., NWCC, etc.) and an associated encoding schema. In such examples, the first watermark embedder204can embed the first watermark104A in a frequency or frequencies of the media stream108and/or at an encoding rate in accordance with the first encoding schema. In some examples, the first watermark embedder204can set an indicator bit of the first watermark104A (e.g., the indicator bit408ofFIG.4) to a value indicative of watermark bolstering. In other examples, the indicator bit408

At block608, the example second watermark embedder206encodes a second watermark in accordance with a second watermark technology with a second indicator bit, the second watermark time aligned with the first watermark. For example, the second watermark embedder206can encode the media stream108with the example second watermark104B in accordance with a second watermark technology (e.g., CBET watermark, etc.) and an associated encoding schema. In such examples, the second watermark embedder206can embed the second watermark104B in a frequency or frequencies of the media stream108and/or at an encoding rate in accordance with the first encoding schema. In some examples, the second watermark embedder206can set an indicator bit of the second watermark104B (e.g., the indicator bit412ofFIG.4A) to a value indicative of watermark bolstering. In some examples, the second watermark embedder206can embed the watermark104B with the same payload as the first watermark104A. In some examples, the second watermark embedder206can align the second watermark104B with the first watermarks104A such that the watermarks104A,104B are in phase. The process600then ends.

At block610, the interface202determines if the payload is to be split between watermarks and thus, the watermarks are to be combined by the watermark decoder116. For example, the interface202can determine if the watermark payloads will be combined by considering an instruction received with the media stream108, an instruction received with the watermark104A, and/or an instruction received with the watermark104B. Additionally or alternatively, the interface202can determine if the will be combined based on a property of the media stream108. If the payload is to be split between watermarks such that the payloads are to be combined at the watermark decoder116, the process600advances to block612. If watermark encoding is not to be split between watermarks, the process600advances at block616.

At block612, the example first watermark embedder204encodes the first watermark in accordance with the first watermark technology with the first indicator bit having a second value. For example, the first watermark embedder204can encode the media stream108with the example first watermark104A in accordance with a first watermark technology (e.g., NWCC, etc.) and an associated encoding schema. In such examples, the first watermark embedder204can embed the first watermark104A in a frequency or frequencies of the media stream108and/or at an encoding rate in accordance with the first encoding schema. In some examples, the first watermark embedder204can set an indicator bit of the first watermark104A (e.g., the indicator bit408ofFIG.4) to a value indicative of payload combining.

At block614, the example second watermark embedder206encodes the second watermark in accordance with the second watermark technology with the second indicator bit having the second value, the second watermark time aligned with the first watermark. For example, the second watermark embedder206can encode the media stream108with the example second watermark104B in accordance with a second watermark technology (e.g., CBET CC, etc.) and an associated encoding schema. In such examples, the second watermark embedder206can embed the second watermark104B in a frequency or frequencies of the media stream108and/or at an encoding rate in accordance with the second encoding schema. In some examples, the second watermark embedder206can set an indicator bit of the second watermark104B (e.g., the indicator bit412ofFIG.4A) to a value indicative of payload combiner. In some examples, the second watermark embedder206can align the second watermark104B with the first watermarks104A such that the watermarks104A,104B are in phase. The process600then ends.

At block616, the first watermark embedder204and/or the second watermark embedder206embed the first watermark104A and the second watermark104B independently. In other examples, the interface202can transmit an error message indicating that watermarks104A,104B are improperly encoded. The process600then ends.

The program700ofFIG.7includes block702. At block702, the interface302of the watermark decoder116receives the encoded media stream110. For example, the interface302can communicate with and/or monitor the media device112to receive the encoded media stream110. In some examples, the interface302can retrieve the encoded media stream110from a memory associated with the media device112and/or media meter114. In some examples, the interface302can receive only the audio associated with the encoded media stream110. In some examples, the interface302can receive both the audio and video associated with the encoded media stream110.

At block704, the first watermark detector304selects a first watermark104A embedded in the encoded media stream110in accordance with a first watermark technology. For example, the first watermark detector304can be configured to detect watermarks embedded with a first encoding schema (e.g., in a first frequency band or bands of media stream, at a first encoding rate, at first payload size, etc.) associated with the first watermark technology. In some examples, the first watermark detector304can extract the information from the watermark104A (e.g., a payload, an indicator bit, etc.). In some examples, the first watermark detector304can further determine timestamps associated with the first watermark104A. In such examples, the determined timestamps can be used to determine the alignment of the first watermark104A relative to other watermarks embedded in the encoded media stream110.

At block706, the second watermark detector306selects a second watermark104B embedded in the encoded media stream110in accordance with a second watermark technology. For example, the first watermark detector304can be configured to detect watermarks embedded with a second encoding schema (e.g., in a second frequency band of media stream, at a second encoding rate, a second payload size, etc.) associated with the second watermark technology. In some examples, the second watermark detector306can select a watermark104B from a different frequency band or bands than the first watermark detector304. In some examples, the first watermark detector304can extract the information from the watermark104B (e.g., a payload, an indicator bit, filler data structures, etc.). In some examples, the second watermark detector306can further determine timestamps associated with the second watermark104B. In such examples, the determined timestamps can be used to determine the alignment of the second watermark104B relative to other watermarks embedded in the encoded media stream110.

At block708, the alignment determiner309determines if the watermarks104A,104B are aligned (e.g., in phase, etc.). For example, the alignment determiner can compare timestamps associated with the watermarks104A,104B to determine if the watermarks are aligned by determining whether a group of one or more watermarks104A and a group of one or more watermarks104B start and end at the same times (or substantially the same times within an error tolerance) over a time period of the media. In other examples, the alignment determiner309can determine if the watermarks104A,104B are aligned by any other suitable method. If the alignment determiner determines the watermarks are aligned (e.g., the watermarks104A,104B have an alignment500ofFIG.5, etc.), the process700advances block710. If the alignment determiner309determines are not aligned (e.g., the watermarks104A,104B have an alignment508ofFIG.5, etc.), the process700advances to block720.

At block710, the indicator identifier308determines the values of the indicator bits of the first watermarks104A and the second watermark104B. For example, the indicator identifier308can receive the indicator bit(s) of the first watermark104A from the first watermark detector304and the indicator bit(s) of the second watermark104B from the second watermark detector306. In some examples, the indicator identifier308can determine the values of the indicator bits of the watermarks104A,104B by any other suitable means. In some examples, the indicator identifier308can identify the binary value of the indicator bits (e.g., the indicator bits408,412,422,426, etc.).

At block712, the indicator identifier308determines if the indicator bit(s) of the watermarks104A,104B indicate bolstering. For example, the indicator identifier308if the indicator bit(s) of the watermarks104A,104B have the same value (e.g., “0”) which indicate that the payloads of the watermarks104A,104B should be used to bolster each other (e.g., see the output400ofFIG.4A). If the indicator identifier308determines the indicator bit(s) do indicate the watermarks104A,104B are to be used to bolster one another, the process700advances to block714. If the indicator identifier308determines the indicator bit(s) do not indicate the watermarks104A,104B are to be used to bolster one another, the process700advances to block716.

At block714, the payload bolsterer312bolsters the first watermark payload (e.g., the payload410ofFIG.4A) with the second watermark payload (e.g., the payload416ofFIG.4A). For example, the payload bolsterer312can verify the integrity of the first payload410with the second payload416. In some examples, the payload bolsterer312can identify any portions of the first payload that were difficult to decipher due to properties of the encoded media stream110. In such examples, the payload bolsterer312can complete the first payload using redundant portions of the second payload416. The process then advances to block722.

At block716, the indicator identifier308determines if the indicator bit(s) of the watermarks104A,104B indicate payload combination. For example, the indicator identifier308if the indicator bit(s) of the watermarks104A,104B have the same value (e.g., “1”) which indicate that the payloads of the watermarks104A,104B should be combined (e.g., see the output417ofFIG.4A). If the indicator identifier308determines the indicator bit(s) do indicate the watermarks104A,104B are to be to combine, the process700advances to block718. If the indicator identifier308determines the indicator bit(s) do not indicate the watermarks104A,104B are to be combined, the process700advances to block720.

At block718, the payload combiner310combines the first watermark payload (e.g., the first payload424ofFIG.4B) with the second watermark payload (e.g., the second payload428ofFIG.4B). For example, the payload combiner310can concatenate the individual payloads424,428into a combined payload. In some examples, the payload combiner310can use any other suitable method to combine the payloads of the first watermark104A and the second watermark104B. In such examples, the combined payload is equal in size to the sum of the first payload424and the second payload428. In other examples, the combined payload can be any other suitable size (e.g., one or more bits contained in the first payload424and/or second payload428can be discarded, etc.)

At block720, the watermark decoder116treats the first watermark104A and the second watermark104B independently. For example, the watermark decoder116can retrieve the information encoded in the first watermark104A and the second watermark104B independently. In such examples, the watermarks104A,104B could have encoded by entities not working in tandem. In other examples, the first watermarks104A and/or second watermark104B could have erroneously encoded into the media stream108. In some examples, the report generator314can generate an error message indicating the watermarks104A,104B are improperly encoded.

At block722, the report generator314generates the media identifier118. For example, if the payload bolsterer312bolstered the first payload410with the second payload416, the report generator314can retrieve information from the bolstered first payload410of the first watermark104A generate the media identifier. For example, if the payload combiner310combined the first payload410with the second payload416, the report generator314can retrieve information from the combined payload of the first watermark104A generate the media identifier. In some examples, the media identifier118can be used by the audience measurement entity to credit a user associated with the media device112with exposure to the media.

FIG.8is a block diagram of an example processor platform800structured to execute the instructions ofFIG.6to implement the watermark encoder106ofFIGS.1and2. The processor platform800can be, for example, a server, a personal computer, a workstation, a self-learning machine (e.g., a neural network), a mobile device (e.g., a cell phone, a smart phone, 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 gaming console, a personal video recorder, a set top box, a headset or other wearable device, or any other type of computing device.

The processor platform800of the illustrated example includes a processor812. The processor812of the illustrated example is hardware. For example, the processor812can be implemented by one or more integrated circuits, logic circuits, microprocessors, GPUs, DSPs, or controllers from any desired family or manufacturer. The hardware processor may be a semiconductor based (e.g., silicon based) device. In this example, the processor implements the example interface202, the example first watermark embedder204and the example second watermark embedder206.

The processor812of the illustrated example includes a local memory813(e.g., a cache). The processor812of the illustrated example is in communication with a main memory including a volatile memory814and a non-volatile memory816via a bus818. The volatile memory814may 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 memory816may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory814,816is controlled by a memory controller.

The processor platform800of the illustrated example also includes an interface circuit820. The interface circuit820may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), a Bluetooth® interface, a near field communication (NFC) interface, and/or a PCI express interface.

In the illustrated example, one or more input devices822are connected to the interface circuit820. The input device(s)822permit(s) a user to enter data and/or commands into the processor812. The input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.

One or more output devices824are also connected to the interface circuit820of the illustrated example. The output devices824can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display (LCD), a cathode ray tube display (CRT), an in-place switching (IPS) display, a touchscreen, etc.), a tactile output device, a printer and/or speaker. The interface circuit820of the illustrated example, thus, typically includes a graphics driver card, a graphics driver chip and/or a graphics driver processor.

The interface circuit820of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem, a residential gateway, a wireless access point, and/or a network interface to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network826. The communication can be via, for example, an Ethernet connection, a digital subscriber line (DSL) connection, a telephone line connection, a coaxial cable system, a satellite system, a line-of-site wireless system, a cellular telephone system, etc.

The processor platform800of the illustrated example also includes one or more mass storage devices828for storing software and/or data. Examples of such mass storage devices828include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, redundant array of independent disks (RAID) systems, and digital versatile disk (DVD) drives.

The machine executable instructions832ofFIG.6may be stored in the mass storage device828, in the volatile memory814, in the non-volatile memory816, and/or on a removable non-transitory computer readable storage medium such as a CD or DVD.

FIG.9is a block diagram of an example processor platform900structured to execute the instructions ofFIG.7to implement the watermark decoder116ofFIGS.1and3. The processor platform900can be, for example, a server, a personal computer, a workstation, a self-learning machine (e.g., a neural network), a mobile device (e.g., a cell phone, a smart phone, 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 gaming console, a personal video recorder, a set top box, a headset or other wearable device, or any other type of computing device.

The processor platform900of the illustrated example includes a processor912. The processor912of the illustrated example is hardware. For example, the processor912can be implemented by one or more integrated circuits, logic circuits, microprocessors, GPUs, DSPs, or controllers from any desired family or manufacturer. The hardware processor may be a semiconductor based (e.g., silicon based) device. In this example, the processor implements the example interface302, the example first watermark detector304, the example watermark detector306, the example indicator identifier308, the example payload combiner310, the example payload bolsterer312and the example report generator314.

The processor912of the illustrated example includes a local memory913(e.g., a cache). The processor912of the illustrated example is in communication with a main memory including a volatile memory914and a non-volatile memory916via a bus918. The volatile memory914may 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 memory916may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory914,916is controlled by a memory controller.

The processor platform900of the illustrated example also includes an interface circuit920. The interface circuit920may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), a Bluetooth® interface, a near field communication (NFC) interface, and/or a PCI express interface.

In the illustrated example, one or more input devices922are connected to the interface circuit920. The input device(s)922permit(s) a user to enter data and/or commands into the processor912. The input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.

One or more output devices924are also connected to the interface circuit920of the illustrated example. The output devices924can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display (LCD), a cathode ray tube display (CRT), an in-place switching (IPS) display, a touchscreen, etc.), a tactile output device, a printer and/or speaker. The interface circuit920of the illustrated example, thus, typically includes a graphics driver card, a graphics driver chip and/or a graphics driver processor.

The interface circuit920of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem, a residential gateway, a wireless access point, and/or a network interface to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network926. The communication can be via, for example, an Ethernet connection, a digital subscriber line (DSL) connection, a telephone line connection, a coaxial cable system, a satellite system, a line-of-site wireless system, a cellular telephone system, etc.

The processor platform900of the illustrated example also includes one or more mass storage devices928for storing software and/or data. Examples of such mass storage devices928include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, redundant array of independent disks (RAID) systems, and digital versatile disk (DVD) drives.

The machine executable instructions932ofFIG.7may be stored in the mass storage device928, in the volatile memory914, in the non-volatile memory916, and/or on a removable non-transitory computer readable storage medium such as a CD or DVD.

From the foregoing, it will be appreciated that example methods, apparatus and articles of manufacture have been disclosed that allow greater amounts of data to be conveyed by watermarks without increasing the size of an individual watermark's payload. For example, larger available payloads increase the number of unique media identifiers that can be conveyed using watermark technology.

Although certain example methods, apparatus and articles of manufacture 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 of manufacture fairly falling within the scope of the claims of this patent.