Various aspects of a wireless communications system are illustrated by way of example, and not by way of limitation, in the accompanying drawings, wherein:
The various illustrative logical blocks, modules, circuits, elements, and/or components described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific
The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations of the invention and is not intended to represent the only configurations in which the invention may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of the invention. However, it will be apparent to those skilled in the art that the invention may be practiced without these specific details. In some instances, well known structures and components are shown in block diagram form in order to avoid obscuring the concepts of the invention.
A subscriber on an access terminal 112 may connect to the packet-based network 108 to access the presentations provided by the content server 104. Multiple base stations 114 are dispersed throughout a geographic region to provide a wireless connection to the access terminal 112. A packet data sewing node (PDSN) 116 is used to establish a network connection with the access terminals 112 and provide a gateway to the packet-based network 108.
The access terminal 112 be a mobile telephone, a personal digital assistant (PDA), a personal or laptop computer, or other device capable of receiving content. The access terminal 112 pay be referred to as a terminal, a device, a handset, a subscriber unit, a subscriber device, a wireless unit, a wireless device, a wireless communications device, a wireless telecommunications device, a wireless telephone, a cellular telephone, a user terminal, user equipment, a mobile station, a mobile unit, a subscriber station, a wireless station, a mobile radio, a radio telephone, or some other terminology. The various concepts described throughout this disclosure are intended to apply all wireless communication devices regardless of their specific nomenclature.
In
At the transmitter unit 202, the content is provided to an encoder 206. The encoder 206 compresses the content using any suitable compression algorithm such as H.264 or the like. A transmit (TX) data processor 208 processes (e.g., turbo encodes, interleaves, and symbol maps) the compressed content to produce a series of data symbols. A symbol modulator 210 multiplexes the data symbols with pilot symbols and provides them to a transmitter 212. The transmitter 212 processes (e.g., converts to analog, amplifies, filters, and frequency upconverts) the symbols and generates a modulated signal, which is transmitted to the access terminal 116.
At the access terminal 112, a receiver 218 processes the modulated signal (e.g., filters, amplifies, and frequency downconverts) to recover the symbols. A symbol demodulator 220 is used to demultiplex the data and pilot symbols and provide estimates of the data symbols to a receive (RX) data processor 222. The RX data processor 222 processes (e.g., symbol demaps, deinterleaves, and turbo decodes) the data symbol estimates to recover the compressed presentation. A decoder 224 decodes the output from the RX data processor 222 to recover the content. A processing component 226 is used to process the content before being presented to a display 228 for viewing by the subscriber.
As used in this disclosure, the term “processing component” is intended to refer to a processing-related entity, either hardware, a combination of hardware and software, software, of software in execution. For example, a processing component, may be, but is not limited to, a process running on a processor, a processor, an object, a thread of execution, and/or a program. In the access terminal 112, the processing component may be a separate component, distributed between multiple components, or integrated into one or more components. In addition, the processing component can execute from various computer readable media having various data structures stored thereon.
The processing component 226 may provide a variety of processing functions. One example involves the placement of advertisements in the various presentations received by the access terminal 112. In this example, each advertisement is broadcast once by the transmitter unit 202 on a dedicated logical channel and cached by the processing component 226. Once cached, the advertisement can be inserted repeatedly into the various presentations at the appropriate times. This approach tends to conserve valuable bandwidth by eliminating the need to reacquire the advertisements. Alternatively, or in addition to, the processing component 226 may cache advertisements embedded in the various presentations.
In one configuration, the advertisements are filtered before being cached to save valuable memory resources. In applications, where memory resources are not a limiting factor, the filters may be applied to the cached advertisements for selective presentation to the display 228 during the various presentations.
The processing component 226 may include one or more filters that allows the access terminal 112 to selectively cache and/of display personalized and customized advertisements. The filters may use a subscriber profile to select the advertisements to insert into the main content of the presentation. Alternatively, or in addition to, the filters may use other filtering criteria to select the advertisements such as the time of day, the channel the being viewed, the subscriber's service provider, and/or the content of the presentation (e.g., sitcom, drama, sporting event, etc.). The time of day, the channel, and the content description of each presentation may be provided by a service guide maintained by the content server 104. The content description may be broadcast to the access terminal 112 as metadata, either on an overhead channel or embedded in the main content.
The subscriber profile may include the demographics of the subscriber. The demographic information may include the subscriber's geographic location, age, gender, occupation, income, hobbies, and the like. The subscriber profile may also include the preferences of the subscriber. The subscriber's preferences may be determined by tracking various e-commerce transactions on the access terminal 116 to determine the purchasing habits of the subscriber, or monitoring the programming selected by the subscriber. The parameters used to define the subscriber's profile for any particular application will depend upon a variety of factors including the performance requirements and the overall design constraints (e.g., limited memory) imposed on the access terminal 116.
The advertisements, whether broadcast on an overhead channel or embedded in the main content of a presentation, may also include metadata. The metadata identifies the advertisement (e.g., Ad1, Ad2, Ad3, . . . ). The metadata may include additional information such as advertisement content and the attributes of the target market for the advertisement. For example, the metadata may indicate the advertisement content is directed to “sporting equipment” and the attributes of the target market is a male adult sports-fan. Each attribute may be a separate tag in the metadata (e.g., <gender: M>, <age; adult>, <preferences; sports>). Alternatively, the attributes may be represented by a bit vector in the metadata. Each bit position in the bit vector may be used to convey information that might otherwise be included in a tag.
The filters implemented by the processing component 226 may use the metadata to select the advertisements to insert in the main content. For example, the processing component 226 may implement a filter that compares the subscriber's profile with the attributes in the metadata for each advertisement and selects the advertisement with the closest match for caching and/or displaying.
In a more sophisticated example, the processing component 226 may be run multiple filters during a presentation. Each filter may be configured to implement a set of rules. In this example, a first advertisement “Ad1” includes metadata indicating that the advertisement content is directed to the sale of “ski equipment” and the target market has the following attributes: <gender: male>, <preferences: outdoors>, <preferences: skiing>. A second advertisement “Ad2” includes metadata indicating that the advertisement content includes a “car chase” and the target market has the following attributes: <age: teenager>, <preferences: sports fan>, <preferences: auto racing>. The set of rules implemented by the first filter in this example can be represented as follows:
The set of rules implemented by the second filter in this example can be represented as follows:
A cueing protocol may be broadcast from the transmitter unit 202 to the processing component 226 to identify where the advertisement should be inserted into the main content of the presentation. The cueing protocol may also include filter information. The filter information may include a filter identifier that is used by the processing component 226 to select a filter. In some configurations, the cueing protocol may include multiple filter identifiers. In these configurations, the processing component 226 uses the first fit, or the best fit, to select the advertisement to cache and/or display. The filtering information may also include filter metadata that may be used by the processing component 226 to add and delete filters, as well as update the set of rule for existing filters.
The cueing protocol may also include metadata related to the specific location of advertisements within the main content of the presentation. For example, each slot within a presentation may have a different value or cost to the advertiser. An advertising slot during halftime of the NFL Superbowl may be more expensive than a slot towards the end of the game. The value of the slot at the end of the game may be different depending on whether the game is close. The metadata in the cueing protocol may also include information related to the content of the presentation just before the advertisement slot (e.g., the preceding main content contains a car chase, ski race, or discussion on California wine). The metadata may be translated by the content server into a filter and broadcast to the access terminal 112 in the cueing protocol as filter metadata. Alternatively, the raw data may be broadcast in the cueing protocol for processing at the access terminal.
An example will useful to illustrate how the processing component 226 may use the cueing protocol, the service guide, the subscriber's profile, and the metadata associated with the advertisements. In this example, the following tags are available to the processing component 226 for an advertising slot:
Although Ad2 and Ad3 match, Ad3 is a better match. Thus, the processing component 226, in this example, would select the advertisement identified as “Ad3” to insert into the main content during the slot in the presentation.
The cueing protocol may include a series of cues that is used by the processing component 226 to identify where in the main content the advertisements should be inserted. In one example, the cueing protocol comprises a series of cues. The first cue is an “event pending” (EP) cue, which prompts the processing component to begin processing an advertisement for placement into the main content of the presentation. The transmitter unit 202 may send multiple EP cues at various times prior to the advertisement. Each EP cue includes a “duration” field which indicates the time remaining before the advertisement. The second cue is an “event notification” (EN) cue. The EN cue is used to prompt the processing component 226 to insert the advertisement into the main content of the presentation. The EN cue also has a duration field that indicates the time of advertisement from start to finish. The third cue is an “event continuing” (EC) cue, which includes a duration field that indicates the time remaining before the completion of the advertisement. The transmitter unit 202 may send multiple EC cues during the presentation of the advertisement, each indicating the time remaining for the advertisement in the duration field. The fourth cue is an “event termination” (ET) cue, which prompts the processing component 226 to terminate the event.
The format of the presentation broadcast by the transmitter unit may vary. For example, the format of the presentation may include a number of blanking intervals dispersed throughout the main content. Turning to
An alternative presentation format is shown in
Turning to
The cueing protocol may be implemented in a variety of ways. In broadcasting systems that deliver content over a packet-based network, the cueing protocol may be broadcast by the transmitter unit using RealTime Transport Protocol (RTP). The cueing protocol may be a modified version of the Brassil/Schulzrinne method, which is well known in the art. Alternatively, the cueing protocol may be a new protocol. The cue packets may be embedded in the RTP stream, either in-band with media packets or as a separate RTP stream. The RTP “Payload Type” indicator may be added to identify cue packets from media packets. For non-real time applications (e.g., media clips), the well-known Synchronized Multimedia Integration Language (SMIL) may be used provide the cueing protocol using “Asynchronous Layer Coding Protocol” (ALC) as the transport layer, which forms the base of the File Delivery over Unidirectional Transport (FLUTE) protocol.
Other methods for broadcasting the cueing protocol over packet-based networks may be implemented. In real-time applications, the cueing protocol may use User Datagram Protocol (UDP) as the transport layer and specify the UDP port number. The same cueing protocol may be used for non-real time content using FLUTE/ALC as the transport layer. Alternatively, UDP may be used as a transport layer for both real-time and non-real-time content. In one configuration of a broadcast system, the cueing information can be specified in the service guide. Those skilled in the art will be readily able to determine the best method of broadcasting the cueing protocol depending on the particular application and the overall design constraints.
Returning to
Default advertisements may also be used when the user is channel surfing to prevent the user from averting advertisements. For example, if a user turns the channel during the presentation of an advertisement and returns before the advertisement slot is over, tile processing component 226 may play a default advertisements using any of the rules discussed above. The processing component 226 may play default advertisements until an ET cue is received. The processing component 226 may also use the EC cues to facilitate the selection of default advertisements.
The various illustrative logical blocks, modules, circuits, elements, and/or components described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic component, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing components, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The methods or algorithms described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. A storage medium may be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
The previous description is provided to enable any person skilled in the art to practice the various embodiments described herein. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments. Thus, the claims are not intended to be limited to the embodiments shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more” All structural and functional equivalents to the elements of the various embodiments described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. §112, sixth paragraph, unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for.”
The present Application for Patent claims priority to Provisional Application No. 60/809,138 entitled “TARGETED ADVERTISEMENT CACHING AND INSERTION IN MOBILE BROADCAST SERVICES” filed May 25, 2006, and assigned to the assignee hereof and hereby expressly incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
60809138 | May 2006 | US |